Google 포토에서 전환 중인데 Shotwell의 기능이 정말 마음에 들었습니다. 하지만 사진을 관리하는 방식 때문에 얼굴 감지/인식은 나에게 매우 중요합니다. 나는 보았다이 블로그 게시물분명히 어떻게 해야 하는지 보여주지만, 제가 이 분야의 전문가가 아니기 때문에 매우 모호한 IMO입니다. 나는 그 일을 시도했지만 meson build
내가 수동으로 설치한 수많은 종속성이 있었고(어쩌면 그렇게 해서는 안 됐을 수도 있지 않을까?) 그 중 하나가 내 적절한 시스템을 망쳤습니다(소프트웨어 앱에서 다른 모든 소프트웨어를 제거하여 문제를 해결했습니다. 불필요한 패키지와 종속성을 제거하는 dist-upgrade 수행).
이 작업을 수행하는 데 대한 자세한 단계별 가이드가 있습니까? 저는 Shotwell을 정말 좋아하지만~ 해야 하다얼굴 감지 기능이 있습니다(베타 버전인 것은 알고 있지만 작동한다는 것을 증명하는 비디오를 봤습니다).
(digitKam을 사용할 수 있다는 것을 알고 있지만정말샷웰처럼요!)
답변1
당신이 할 수 있는 일은 다음과 같습니다:
# 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
참고: 내 게시물은 WIP이므로 편집이 허용됩니다.
업데이트: 저는 희망을 잃고 있습니다. opencv를 설치하는 방법과 OpenFace에서 언급된 DNN 모델을 얻는 방법을 알 수 없습니다.
답변2
이는 해결 방법에 가깝지만~이다Shotwell의 Unstable flatpak을 설치하면 몇 가지 간단한 단계만으로 얼굴 기능이 작동하도록 할 수 있습니다(지금은 행복하게 사용하고 있기 때문에 알고 있습니다!).
단계:
- 플랫허브 설치
- 공식으로 이동Shotwell 구축 및 설치페이지
- "불안정 설치" 버튼을 클릭하세요.
- 현재 페이지의 URL(링크)을 복사합니다(버튼을 클릭한 후). 글을 쓰는 시점을 기준으로 링크는 다음과 같습니다: "https://gitlab.gnome.org/GNOME/shotwell/raw/master/platpak/org.gnome.Shotwell.unstable.platpakref"
- 터미널을 시작하고 실행합니다.
flatpak install https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakref
(Sudo 관리자 권한이 필요할 수 있습니다. 분명히 sudo 비밀번호를 입력할 필요가 없었으며 를 입력하여 설치 프롬프트를 수락해야 합니다y
.) - 기다리다... (인내심은 미덕이다:-))
- 응용 프로그램 표시 버튼을 클릭하고 "(불안정한) Shotwell"을 클릭합니다.
- 짜잔! 일부 이미지를 가져오고, 단일 이미지를 선택하고, 성공의 영광을 누려 보세요. 하단 표시줄에 새로운 "얼굴" 옵션이 있습니다. (참고: 불안정한 버전을 설치했을 때 안정 버전이 제거되어 이제 Unstable Shotwell만 남습니다. 하지만 적어도 얼굴 인식 기능은 있습니다!!!)
참고: 물론 이 기능은 아직 WIP이므로 Shotwell은 커튼이 얼굴(또는 문)이라고 생각할 수 있으며 사진 라이브러리를 스캔하고 자동으로 얼굴에 태그를 지정하는 확실한 옵션이 없습니다. - 적어도 거기엔 있어요!