windows10でdlib(C++、Python3.x)とimglab(C++)が使えるようにする

More than 1 year has passed since last update.

windows10PC何台かに、dlibが使えるように環境構築しました。途中、つっかかったり警告やエラーもあったので備忘録として記載しておきます。

基本的には下記サイトの通り進めれば大丈夫だと思います。

http://www.learnopencv.com/install-dlib-on-windows/


Cmakeのエラーが出たら

https://stackoverflow.com/questions/41514379/cmake-error-during-installation-of-dlib-on-windows

こちらを参照するとC++ 2015 Build Toolsを入れるといいと書いてあります。

そこで

http://landinghub.visualstudio.com/visual-cpp-build-tools

こちらからC++ 2015 Build Toolsをインストールしてみました。

そしたら、「既にRedistributionがインストールされているので一部完了できませんでした」という旨のポップアップがVisual Studioセットアップに表示されました。

Visual Studio2015や2017が共存していたので思い切ってVisual Studio関連を一旦全てアンインストールしてからを再度構築する事にしました。


Visual Studio関連の再セットアップ

・Visual Studio2017のアンインストール方法

https://docs.microsoft.com/ja-jp/visualstudio/install/uninstall-visual-studio

・Visual Studio2015のアンインストール方法

http://heetnote.com/vsuninst/

さらに、私の場合はRedistributionに関するポップアップが出ていたので、

windowsのシステム設定「プログラムの追加と削除」から"Microsoft Visual C++ 20** Redistributable"はすべて手動アンインストールしました。

・C++ 2015 Build Toolsのインストール

http://landinghub.visualstudio.com/visual-cpp-build-tools

・Visual Studio2015のインストール

https://www.visualstudio.com/ja/vs/older-downloads/

Visual Studio Dev Essentials に登録し、サインインします。

その上で、「以前のバージョンをお使いになりたいですか?」の"2015 Visual Studio 2015 およびその他の製品"という項目の「ダウンロード」リンクから「Visual Studio Community 2015 with Update 3」を選んでダウンロードします


dlibライブラリのC++用ビルドコマンドについて

http://www.learnopencv.com/install-dlib-on-windows/

こちらのStep 5: Build Dlib libraryには

cmake -G "Visual Studio 14 2015 Win64" -DJPEG_INCLUDE_DIR=..\dlib\external\libjpeg -DJPEG_LIBRARY=..\dlib\external\libjpeg -DPNG_PNG_INCLUDE_DIR=..\dlib\external\libpng -DPNG_LIBRARY_RELEASE=..\dlib\external\libpng -DZLIB_INCLUDE_DIR=..\dlib\external\zlib -DZLIB_LIBRARY_RELEASE=..\dlib\external\zlib -DCMAKE_INSTALL_PREFIX=install ..

とありますが、PCにCUDA-Toolkitがインストールされていないとエラーになります。

CUDA-Toolkitが無い場合は-DDLIB_USE_CUDA=OFF というオプションを加えます

参考

https://taktak.jp/2017/07/07/%E9%96%8B%E7%99%BA%E3%83%A1%E3%83%A2-%E3%81%9D%E3%81%AE72-dlib%E3%82%92cuda%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%97%E3%81%A6%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B/

cmake -G "Visual Studio 14 2015 Win64" -DJPEG_INCLUDE_DIR=..\dlib\external\libjpeg -DJPEG_LIBRARY=..\dlib\external\libjpeg -DPNG_PNG_INCLUDE_DIR=..\dlib\external\libpng -DPNG_LIBRARY_RELEASE=..\dlib\external\libpng -DZLIB_INCLUDE_DIR=..\dlib\external\zlib -DZLIB_LIBRARY_RELEASE=..\dlib\external\zlib -DCMAKE_INSTALL_PREFIX=install -DDLIB_USE_CUDA=OFF ..


dlib examplesのexeファイルのあるディレクトリ

http://www.learnopencv.com/install-dlib-on-windows/

こちらのStep 7: Build Dlib examples によると、

dlib-19.6\examples\build\Release

に実行形式ファイルがあると書かれてますが、私の環境だと

dlib-19.6\examples\Release

にありました。


Pythonでdlibを利用

http://www.learnopencv.com/install-dlib-on-windows/

こちらのStep 9: Install Dlib’s Python module (Only Anaconda 3)でバージョン指定がありますが、公式

https://anaconda.org/menpo/dlib

の通り

> conda install -c menpo dlib

でよいかと思います。


imglabのビルド

http://tadaoyamaoka.hatenablog.com/entry/2016/09/27/225124

こちらの記事だと、imglabはデフォルトのままだとPNG_SUPPORTが有効になっていないようなので

dlib-19.6\dlib\image_saver\save_png.hに下記を記載してPNG_SUPPORTを有効にしておきます。

#ifndef DLIB_PNG_SUPPORT

#define DLIB_PNG_SUPPORT
#endif

そして

dlib-19.6\tools\imglab\README.txtの手順の「cmake ..」を「cmake -G "Visual Studio 14 2015 Win64" ..」に変更し実行します

> cd dlib/tools/imglab

> mkdir build
> cd build
> cmake ..
> cmake --build . --config Release
> sudo make install

これでdlib-19.6\tools\imglab\build\Releaseにimglab.exeが出来上がります。

使い方は以下等参考にします

http://tadaoyamaoka.hatenablog.com/entry/2016/09/21/184955

ちなみに

http://tadaoyamaoka.hatenablog.com/entry/2016/09/27/225124

こちらの方法でdlibのJPEG_SUPPORTを有効にする事は私の環境ではできませんでした...