OpenCV3.1に付属するDNNを試してみたいと思いVisual Studio 2015 community をインストールした後にOpenCV3.1とopencv-contributionをセットアップしてみました。
GitHubからOpenCV3.1とcontributionをダウンロード
Dドライブにopencv31というフォルダを作り、そのフォルダにopencv,opencv_contrib-masterをコピー
また、buildしたファイルを格納する空のフォルダOpenCV31buildを作る
CMakeを起動し、opencv\sources フォルダを指定、buildフォルダは作成した空のフォルダOpenCV31build を指定。
configure をクリック
compilerはVisual Studio 2015を指定、Finishをクリック
しばらく待つ。
BUILD_EXAMPLES をチェック
OPENCV_EXTRA_MODULES_PATH にopencv_contrib-master\modules を指定しconfigureをクリック
BUILD_LIBPROTOBUF_FROM_SOURCES がチェックされていないことを確認
opencv_dnn_BUILD_TORCH_IMPORTER をチェック
configure をクリック後generateをクリック
cmakeでの作業は完了し、OpenCV31buildにはたくさんのファイルが生成される
Visual Studio 2015 community を起動し、OpenCV31build フォルダのOpenCV.sln をオープン
メニューからビルド>バッチビルドをクリック
現れたダイアログからINSTALL debugとINSTALL Release をチェックしビルドをクリック
コーヒーを飲みながらビルドの終了を待つ
ビルド後にフォルダOpenCV31Buildの容量を確認すると約13GBもある。
libフォルダを確認すると
dnn関連のlibも生成されていることを確認
環境変数でD:\opencv31\OpenCV31build\install\x86\vc14\bin にパスをとおしておく
ビルド時にいくつかエラーがでてきたが、今後プログラム時に何か不都合がでてきたらその都度考えることにする。
Visual Studio 2015 でDNN(deep neural network)のサンプルを動かしてみます。
追加のインクルードディレクトリを指定
追加のライブラリディレクトリを指定
caffe model を取り込んで同じディレクトリにあるスペースシャトルの画像を認識するプログラムです。
引数なしで実行するとスペースシャトルの画像を使い、引数にJPG画像を指定するとその画像を認識しようとします。引数なして実行すると、高確率でスペースシャトルと判定していることがわかります。
Deep learningのcaffe modelはネット上に利用できるものがいくつかありいろいろと応用可能です