Estou migrando do Google Fotos e gostei muito dos recursos do Shotwell. No entanto, a detecção/reconhecimento de rosto é muito importante para mim devido à forma como gerencio minhas fotos. eu viesta postagem do blogisso aparentemente mostra como fazer, mas é muito vago, IMO, já que não sou exatamente um especialista nessa área. Eu tentei fazer isso, meson build
mas havia uma tonelada de dependências que instalei manualmente (talvez não fosse para fazer isso?) E uma delas bagunçou meu sistema apt (acabei de consertar isso removendo todos os outros softwares do aplicativo Software e fazendo um dist-upgrade que removeu pacotes e dependências desnecessários).
Existe um guia mais passo a passo para fazer isso? Eu realmente gosto de Shotwell, mas eudevetem o recurso de detecção de rosto (sei que está em beta, mas vi um vídeo que prova que funciona).
(Eu sei que poderia usar o digiKam, masrealmentecomo Shotwell!)
Responder1
Aqui está o que você pode fazer:
# 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
Nota: minha postagem é WIP e edições serão aceitas.
Atualização: estou perdendo as esperanças, não consigo descobrir como instalar o opencv e como obter os modelos DNN mencionados do OpenFace.
Responder2
Esta é mais uma solução alternativa, maséÉ possível fazer com que o recurso de rostos funcione em algumas etapas simples, instalando o flatpak instável do Shotwell (eu sei porque estou feliz em usá-lo agora!).
Passos:
- Instalar Flathub
- Ir para oficialConstrução e instalação da Shotwellpágina
- Clique no botão que diz "Instalar instável"
- Copie o URL (link) da página atual (depois de clicar no botão). No momento em que este artigo foi escrito, o link era: "https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakref"
- Abra seu terminal e execute
flatpak install https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakref
(você pode precisar de direitos de administrador do sudo - aparentemente não precisei digitar minha senha do sudo - e você precisará aceitar o prompt de instalação digitandoy
) - Espere... (Paciência é uma virtude:-))
- Clique no botão Mostrar aplicativos e clique em "(Instável) Shotwell"
- Voilá! Importe algumas imagens, selecione uma única imagem e aproveite a glória do seu sucesso - uma nova opção "Faces" na barra inferior (Nota: quando instalei a versão instável, ela removeu a versão estável, então agora só tenho o Unstable Shotwell - mas pelo menos há detecção de rosto, sim!!!)
Observação: claro, como esse recurso ainda é um WIP, o Shotwell pode pensar que sua cortina é um rosto (ou, nesse caso, sua porta) e não há opções óbvias para digitalizar sua biblioteca de fotos e marcar rostos automaticamente, mas ei - pelo menos está aí!