opencv_dnn:環境構築:openvino

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
opencv_dnn:環境構築:openvino [2019/06/10 02:14] – [Install] babaopencv_dnn:環境構築:openvino [2019/07/30 17:26] (現在) – [opencv自前でmake] baba
行 9: 行 9:
 を参照してください。上記リンクに示されている通り、demoを動かすところまでを確認しましょう。 を参照してください。上記リンクに示されている通り、demoを動かすところまでを確認しましょう。
  
 +===== opencv自前でmake =====
 +openvinoのバージョンに合わせて、opencvを自前でmakeできます。手順は ubuntu と同じでOKです。
 +sampleのビルドもできます。実際にbackendを inference engineに変更すると 2倍弱くらいでobject_detectionが動くことが
 +確認できます。
 +  * opencvをopenvinoでbuild: https://github.com/opencv/opencv/wiki/Intel%27s-Deep-Learning-Inference-Engine-backend
 ===== Frameworkの作成 ===== ===== Frameworkの作成 =====
 うまく行っていません。 うまく行っていません。
 +<WRAP center round important 60%>
 +OpenVINOを含んだopencv2.frameworkを作成しようとしていますが。うまく行っていません。だれか助けて。
 +</WRAP>
 +
    * https://github.com/opencv/opencv/wiki/Intel%27s-Deep-Learning-Inference-Engine-backend のページに従い cmakeのコンパイルオプションを追加する。ただしosxの build_framework.py ではなく、 ios/build_framework.py に修正すべき記述がある。    * https://github.com/opencv/opencv/wiki/Intel%27s-Deep-Learning-Inference-Engine-backend のページに従い cmakeのコンパイルオプションを追加する。ただしosxの build_framework.py ではなく、 ios/build_framework.py に修正すべき記述がある。
  
 <file> <file>
-ef getCMakeArgs(self, arch, target):+def getCMakeArgs(self, arch, target):
  
         args = [         args = [
行 40: 行 49:
         return args         return args
 </file> </file>
 +
 +これでビルドは成功するが、実際にframeworkを読み込みませて、object_detectionやってみたところ、
 +  ndefined symbols for architecture x86_64:
 +  "InferenceEngine::Builder::MVNLayer::setAcrossChannels(bool)", referenced from:
 +      cv::dnn::MVNLayerImpl::initInfEngine(std::__1::vector<cv::Ptr<cv::dnn::dnn4_v20190122::BackendWrapper>, 
 + なるエラーが100個以上でる。これはdnnモジュールでもvino側にあるライブラリなので、そっちを参照すればよい。
 +
 +Xcodeの Link Binary with Library に inference_engineのlibを渡してみた。
 +{{ :opencv_dnn:環境構築:スクリーンショット_2019-06-11_9.15.12.png?direct&300 |}}
 +
 +ビルドは上手くいくが、実行すると
 +  dyld: Library not loaded: @rpath/libcpu_extension.dylib
 +
 +となる。これは dylib からの参照先に @rpath があるため、これで見つからずにロードできないとのこと。そもそも絶対パスで入っていれば
 +間違いないのだけれど、intelからはバイナリでしか配布されていないので、困る。
 +
 +install_name_tool を利用するとこの @rpath ごと変更できるとのことで、やってみたけど修正できなかった。
 +
 +<file>
 +bugle-1831:test baba$ otool -L libinference_engine.dylib 
 +libinference_engine.dylib:
 + @rpath/libinference_engine.dylib (compatibility version 0.0.0, current version 0.0.0)
 + @rpath/libtbb.dylib (compatibility version 0.0.0, current version 0.0.0)
 + /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.4)
 + /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.200.5)
 +bugle-1831:test baba$ install_name_tool -change @rpath/libinference_engine.dylib /opt/intel//openvino_2019.1.133/deployment_tools/inference_engine/lib/opt/intel//openvino_2019.1.133/deployment_tools/inference_engine libinference_engine.dylib 
 +bugle-1831:test baba$ otool -L libinference_engine.dylib 
 +libinference_engine.dylib:
 + @rpath/libinference_engine.dylib (compatibility version 0.0.0, current version 0.0.0)
 + @rpath/libtbb.dylib (compatibility version 0.0.0, current version 0.0.0)
 + /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.4)
 + /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.200.5)
 +</file>
 +
 +opencv側のMakefileをじっくり見るしかなし。。
 + --- //[[baba@tmu.ac.jp|Tetsuaki Baba]] 2019/06/11 09:13//
  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/attic/opencv_dnn/環境構築/openvino.1560100448.txt.gz
  • 最終更新: 2019/06/10 02:14
  • by baba