web-dev-qa-db-fra.com

Comment installer Shotwell avec détection de visage dans Bionic Beaver 18.04 LTS

Je passe de Google Photos et j'ai vraiment aimé les fonctionnalités de Shotwell. Cependant, la détection/reconnaissance des visages est très importante pour moi en raison de la façon dont je gère mes photos. J'ai vu ce billet de blog qui montre apparemment comment le faire, mais c'est très vague IMO car je ne suis pas exactement un expert dans ce domaine. J'ai essayé de faire le meson build mais il y avait une tonne de dépendances que j'ai installées manuellement (ce n'était peut-être pas censé faire ça?) et l'une d'elles a gâché mon système apt (j'ai fini par corriger cela en supprimant tous les autres logiciels dans l'application logicielle et en faisant un dist-upgrade qui a supprimé les paquets et les dépendances inutiles).

Existe-t-il un guide plus détaillé pour le faire? J'aime beaucoup Shotwell mais je dois avoir la fonction de détection de visage (je sais que c'est en version bêta, mais j'ai vu une vidéo qui prouve que ça marche).

(Je sais que je pourrais utiliser digiKam mais j'ai vraiment comme Shotwell!)

5
Riyaad Azad

Il s'agit plus d'une solution de contournement, mais il est possible de faire fonctionner la fonction visages en quelques étapes simples en installant le flatpak instable de Shotwell (je sais parce que je l'utilise avec plaisir en ce moment!).

Pas:

  1. Installer Flathub
  2. Allez à la page officielle Construction et installation de Shotwell
  3. Cliquez sur le bouton qui dit "Installer instable"
  4. Copiez l'URL (lien) de la page en cours (après avoir cliqué sur le bouton). Au moment de la rédaction, le lien est: " https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakref "
  5. Allumez votre terminal et exécutez flatpak install https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakref (vous aurez peut-être besoin des droits d'administrateur de Sudo - je n'ai apparemment pas eu à saisir mon mot de passe Sudo - et vous devrez accepter l'invite d'installation en tapant y)
  6. Attendez ... ( La patience est une vert :-))
  7. Cliquez sur le bouton Afficher les applications et cliquez sur "(instable) Shotwell"
  8. Voila! Importez quelques images, sélectionnez une seule image et profitez de la gloire de votre succès - une nouvelle option "Visages" dans la barre inférieure (Remarque: lorsque j'ai installé la version instable, elle a supprimé la version stable, donc maintenant je n'ai que Shotwell instable - mais au moins il y a la détection de visages !!!)

Remarque: Bien sûr, puisque cette fonctionnalité est toujours un WIP, Shotwell pourrait penser que votre rideau est un visage (ou d'ailleurs, votre porte), et il n'y a pas d'options évidentes pour numériser votre photothèque et étiqueter automatiquement les visages, mais bon - au moins c'est là!

3
Riyaad Azad

Voici ce que vous pourriez faire:

# Downloads will be our workspace
cd ~/Downloads

# prepare the terrain by removing unwanted divs
Sudo apt remove shotwell gir1.2-gexiv2-0.11 -y
# install dependencies (takes about 30 mins to complete)
Sudo apt install unzip meson valac libgphoto2-dev libgudev-1.0-dev \
libgee-0.8 libgtk-3-dev gir1.2-gexiv2-0.10 libgexiv2-2 libwebkit2gtk-4.0 \
libgstreamer1.0-0 libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev \
gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc \
gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 \
gstreamer1.0-qt5 gstreamer1.0-pulseaudio libraw-dev build-essential \
build-essential checkinstall cmake pkg-config yasm gfortran gstreamer1.0-tools \
libjpeg8-dev libpng-dev software-properties-common libjasper1 libtiff-dev \
libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev \
libv4l-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev \
libtbb-dev qt5-default libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev \
libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev \
libavresample-dev x264 v4l-utils libprotobuf-dev protobuf-compiler \
libgoogle-glog-dev libgflags-dev libgphoto2-dev libeigen3-dev libhdf5-dev \
doxygen python3-dev python3-pip \
-y
# install one package via pip
Sudo -H pip3 install -U pip numpy
# continue install now that pip deps are met
Sudo apt -y install python3-testresources

# python virtualenv creation
cd
python3 -m venv opencv-4.1.0-py3
source ~/opencv-4.1.0-py3/bin/activate
# now install python libraries within this virtual environment
pip install wheel numpy scipy matplotlib scikit-image scikit-learn ipython dlib
# quit virtual environment
deactivate

# some post install
cd /usr/include/linux
Sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~/Downloads

# fulfill opencv 4.1 dependency by building from source
# this won't work yet, working off of :
# https://www.learnopencv.com/install-opencv-4-on-ubuntu-18-04/
Sudo apt build-dep opencv
cd ~/Downloads
wget -O opencv-4.1.0.Zip https://github.com/opencv/opencv/archive/4.1.0.Zip
unzip -q opencv-4.1.0.Zip
cd opencv-4.1.0/build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D OPENCV_PYTHON3_INSTALL_PATH=~/opencv-4.1.0-py3/lib/python3.5/site-packages \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
make -j4
make install
cd build
cmake ..
cmake --build . --config Release
# still need to move built binary to usable space and declare it system-wide

# No idea how to do DNN models
# !!!

# fulfill exiv2 0.27 dependency by building from source
Sudo apt build-dep exiv2
cd ~/Downloads
wget https://www.exiv2.org/builds/exiv2-0.27.1-Source.tar.gz
tar xf exiv2-0.27.1-Source.tar.gz
cd exiv2-0.27.1-Source/
cmake .
make
Sudo make install

# fulfill libgexiv2-dev 0.12 dependency by building from source
Sudo apt build-dep libgexiv2-dev
cd ~/Downloads
wget http://ftp.gnome.org/pub/GNOME/sources/gexiv2/0.12/gexiv2-0.12.0.tar.xz
tar xf gexiv2-0.12.0.tar.xz
cd gexiv2-0.12.0/
meson build
cd build
Sudo meson install

# final build of shotwell with face detection
Sudo apt build-dep shotwell
cd ~/Downloads
wget https://gitlab.gnome.org/nma83/shotwell/
\-/archive/wip/faces/shotwell-wip-faces.tar.gz
tar xzf shotwell-wip-faces.tar.gz
cd shotwell-wip-faces
meson configure -Dface-detection=true
meson build
cd build
Sudo meson install

Remarque: mon message est WIP et les modifications seront acceptées.

Mise à jour: je perds espoir, je n'arrive pas à comprendre comment obtenir une installation d'opencv et comment obtenir les modèles DNN mentionnés d'OpenFace.

3
tatsu