web-dev-qa-db-ja.com

Bionic Beaver 18.04 LTSに顔検出付きShotwellをインストールする方法

私はGoogleフォトから移行しており、Shotwellの機能が本当に気に入りました。ただし、写真の管理方法のため、顔検出/認識は私にとって非常に重要です。私は このブログの投稿 を見て、どうやったかを明らかに示していますが、私はこの分野の専門家ではないので、あいまいなIMOです。 meson buildしかし、手動でインストールした依存関係がたくさんあり(多分そうするはずではなかったのでしょうか?)、そのうちの1つがaptシステムをめちゃくちゃにしました(ソフトウェアアプリの他のすべてのソフトウェアを削除し、不要なパッケージと依存関係を削除したdist-upgrade)。

これを行うためのより詳細なガイドはありますか?私は本当にShotwellが好きですが、顔検出機能を持っている必要があります(ベータ版であることはわかっていますが、動作することを証明するビデオを見ました)。

(私はdigiKamを使用できることを知っていますが、私は本当にShotwellが好きです!)

5
Riyaad Azad

これはより多くの回避策ですが、ショットウェルの不安定なフラットパックをインストールすることで、いくつかの簡単な手順で顔機能を機能させることができます(私は知っています)私は今それを幸せに使っているからです!)。

手順:

  1. フラットハブのインストール
  2. 公式 Shotwellのビルドとインストール ページに移動
  3. 「Install Unstable」と書かれたボタンをクリックしてください
  4. 現在のページのURL(リンク)をコピーします(ボタンをクリックした後)。執筆時点でのリンクは次のとおりです。 " https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakref "
  5. 端末を起動してflatpak install https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakrefを実行します(Sudo管理者権限が必要な場合があります-どうやらSudoパスワードを入力する必要がなかったため、yと入力してインストールプロンプトを受け入れる必要があります)。
  6. 待って...( 忍耐は美徳です :-))
  7. [アプリケーションの表示]ボタンをクリックし、[(不安定)Shotwell]をクリックします
  8. 出来上がり!いくつかの画像をインポートし、単一の画像を選択して、栄光を浴びます-下部バーの新しい「Faces」オプション(注:不安定なバージョンをインストールすると、安定したバージョンが削除されたため、不安定なショットウェルしかありません-しかし、少なくとも顔検出はそうです!!!)

注:もちろん、この機能はWIPであるため、Shotwellはカーテンを顔(または、ドア)であると見なす可能性があり、写真ライブラリをスキャンして顔に自動的にタグを付ける明白なオプションはありませんが、 -少なくともそれはあります!

3
Riyaad Azad

これがあなたができることです:

# 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をインストールする方法や、言及されているDNNモデルをOpenFaceから取得する方法がわかりません。

3
tatsu