LoginSignup
3
6

More than 3 years have passed since last update.

OpenVINO+Movidius事始め(たぶん最新版)

Last updated at Posted at 2019-04-06

0.あいさつ

今年のゴールデンウィークは10連休みたいですが、うちの学校は初日と最終日が学校で8連休になるらしいです。改元の関係でうんぬんと言っていたのですが理由になってないだろそれ...

おはようございます
RHEMS技研荒木です

今回はOpenVINOをインストール→サンプルを実行するうえで詰まったところが多々あったのでまとめます

参考にしたサイト
https://software.intel.com/en-us/articles/OpenVINO-Install-Linux
https://qiita.com/ammo0613/items/a9bb3b7f20dc02a8d758

いずれもOpenVINOのアップデートにともない若干手順等が変わっています

1.環境構築

自分はMacBookProでVirtualBoxにUbuntu16.04をいれて行いました
なので今回の記事はUbuntuで環境を作る人向けになります

まずOpenVINOのインストーラーをダウンロードします
https://software.intel.com/en-us/openvino-toolkit/choose-download
今回はUbuntuなのでLinux版をダウンロードします
スクリーンショット 2019-04-06 11.53.37.png
Register&Downloadをクリック
すると以下のページに飛びます
スクリーンショット 2019-04-06 11.55.01.png
フォームに必要事項を入力します
スクリーンショット 2019-04-06 11.58.25.png
Linuxを選択します
僕はFullPackage版をダウンロードしました
FullPackage版で問題ないと思います

cd ダウンロード
ls
 l_openvino_toolkit_p_2018.4.420
tar -zxf l_openvino_toolkit_p_2018.4.420.tgz
cd l_openvino_toolkit_p_4.420

ダウンロードしたファイルがあるところまで移動して解凍したのち、解凍したフォルダに移動します

 ./install_GUI.sh

移動したらシェルを実行します
するとインストーラーが立ち上がります
スクリーンショット 2019-04-06 13.04.32.png
全部NEXTで大丈夫です

インストールが完了したら環境変数を追加します

source intel/openvino/bin/setupvars.sh

これはOpenVINOをつかう場合毎回実行しないといけません
今後エラー吐いたら大体これです、マジで。
なのでbashrcに追加します

nano .bashrc

モデルオプティマイザーをあれやこれやします

cd intel/computer_vision_sdk/deployment_tools/model_optimizer/install_prerequisites
sudo ./install_prerequisites.sh

最後です
以下らを実行すると環境が出来上がります

cd intel/computer_vision_sdk/deployment_tools/demo
sudo ./demo_squeezenet_download_convert_run.sh

バーってターミナルが流れて最後にSuccessesfulyがあれば環境が出来上がっています

今回はMovidiusを使いたいので追加の設定をします
Movidiusはrootユーザーでないと使えないみたいなのでユーザーアカウントでも使えるようにします

cat <<EOF > 97-usbboot.rules
SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
EOF

sudo cp 97-usbboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo ldconfig
rm 97-usbboot.rules

これでユーザーからMovidiusを使えるようになりました

3.サンプル実行

先人に習ってWebカメラを使うサンプルを実行してOpenVINOに触れたいと思います
というかデフォでついてくるサンプルはWebカメラを使うサンプルしかなかったです

cd ~/inference_engine_samples/intel64/Release
./human_pose_estimation_demo -h
InferenceEngine: 
    API version ............ 1.4
    Build .................. 17328

human_pose_estimation_demo [OPTION]
Options:

    -h                         Print a usage message.
    -i "<path>"                Required. Path to a video. Default value is "cam" to work with camera.
    -m "<path>"                Required. Path to the Human Pose Estimation model (.xml) file.
    -d "<device>"              Optional. Specify the target device for Human Pose Estimation (CPU, GPU, FPGA or MYRIAD is acceptable). Default value is "CPU".
    -pc                        Optional. Enable per-layer performance report.
    -no_show                   Optional. Do not show processed video.
    -r                         Optional. Output inference results as raw values.

必須になるのはカメラのパスと使用するモデルです
またオプションとしてCPUかGPUかMovidius(MYRIAD)が選択できます、デフォルトはCPUです
あとのオプションはおそらく使うことはないと思います

 ./human_pose_estimation_demo -i /dev/video0 -m /home/USER/intel/computer_vision_sdk/deployment_tools/intel_models/human-pose-estimation-0001/FP16/human-pose-estimation-0001.xml -d MYRIAD

モデル等のパスは相対パスでもいいらしいのですが、自分はうまく行かなかったので絶対パスにしました
Movidiusを使う場合はFP16、CPU・GPUを使う場合はFP32のモデルを使わないとコアダンプが出るので注意しましょう
Movidiusで実行すると、
スクリーンショット 2019-04-06 22.32.45.png
CPUで実行すると、
スクリーンショット 2019-04-06 22.45.16.png
こんな感じです
体の姿勢を出力してくれます
Movidiusを使ってもなおFPSが満足に出ないのは仕方のないことだと思います
並列させるとどのくらい早くなるのか試してみたいですね
CPUのほうがFPSが出るのはなんかなんとも言えない気持ちになります
Movidius2が無印に比べ8倍すごいらしいのでどの程度変わるか楽しみですね

4.さいごに

いかがでしたでしょうか
おそらく環境構築の記事では最新になるとおもいます(2019/04/07現在)
詰まった場合はコメントもらえると対処できるとおもいます

拙い記事でしたが最後まで読んでいただきありがとうございました

3
6
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
6