LoginSignup
3
3

More than 3 years have passed since last update.

OpenVINO IEPlugin.load()の実行時エラーの解決策

Posted at

はじめに

OpenVINOのハンズオンを受講したので、自宅のPCでも動作させようとしたときにハマったのでメモします。
ハンズオンはRaspberry Pi + Neural Compute Stickで行いました。(IntelCPUが必要なため)
このサイトOpenVINOで始めるディープラーニングを参考にして手順通りに進めましたが、リアルタイム顔検出で実行時エラーに悩みました。
同じようにハマっている人の少しでも解決になればと思います。

OpenVINOとは

OpenVINOは、エッジにおける視覚アプリケーションでコンピュータビジョンやディープラーニング推論を容易に実現するためのツールキットです。
OpenVINO ツールキット

動作環境

  • MacBook Pro 2018
  • macOS 10.14.6
  • OpenVINO 2019 R3.1
  • Python 3.7.3

実行時エラー

OpenVINOのライブラリでエラーが発生しています。
StackOverflowなどで検索しましたが、どれも解決しませんでした。

{'data': <openvino.inference_engine.ie_api.InputInfo object at 0x1054d3578>}
<openvino.inference_engine.ie_api.IEPlugin object at 0x1054d34a8>
Traceback (most recent call last):
  File "sample.py", line 19, in <module>
    exec_net = plugin.load(network=net)
  File "ie_api.pyx", line 547, in openvino.inference_engine.ie_api.IEPlugin.load
  File "ie_api.pyx", line 557, in openvino.inference_engine.ie_api.IEPlugin.load
RuntimeError: Unsupported primitive of type: PriorBoxClustered name: fc7_mbox_priorbox

エラーが発生している箇所は、plugin.load()です。
モデルファイルのパスも正しく、ファイルも存在します。(何度も確認しました)
PCではFP32版を使用してくださいと記述がありましたが、FP16版にしてもエラーは変わりませんでした。

# モデルの読み込み 
net = IENetwork(model='FP32/face-detection-retail-0004.xml', weights='FP32/face-detection-retail-0004.bin')
exec_net = plugin.load(network=net)

解決策

CPUを使用するときは、add_cpu_extension()で追加ライブラリが必要でした。

# ターゲットデバイスの指定 
plugin = IEPlugin(device="CPU")
plugin.add_cpu_extension('/opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libcpu_extension.dylib')

パスは環境に合わせて設定してください。
手順通りに環境構築していれば、上記のパスになると思います。

参考

MacBookで内臓カメラを使用するには、下記を参考にしました。
Mac内蔵カメラの動画をpythonでキャプチャ

cap = cv2.VideoCapture(0)

おわりに

OpenVINOの実行時エラーが解決でき、カメラを使用したリアルタイム認識ができるようになりました。
まずは用意されているモデルを利用して、いろいろと試してみたいと思います。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3