Instance Segmentation Demoの実行(Windows編)

OpenVINO 2020.2に入っているInstance Segmentation Demoを実行してみましょう。

デモのフォルダは以下になります。

C:\Program Files (x86)\IntelSWTools\openvino\inference_engine\demos\python_demos\instance_segmentation_demo

実行の前に

サンプルを実行する前に、READMEファイルを確認しておきましょう。オプションスイッチや実行例が記載されています。

モデル

今回は以下のモデルを利用しました。(instance_segmentation_demoフォルダにある、models.txtで利用するモデルがわかります。)

  • instance-segmentation-security-????

モデルをダウンロードします。モデルの保存先(-o)は適時読み替えてください。

cd C:\Program Files (x86)\IntelSWTools\openvino\inference_engine\demos\python_demos\instance_segmentation_demo

python downloader.py --list "C:\Program Files (x86)\IntelSWTools\openvino\inference_engine\demos\python_demos\instance_segmentation_demo\models.lst" -o C:\Users\ユーザ名\Documents\Intel\OpenVINO\openvino_models

コマンドを実行すると、ダウンロードが始まります。

Webカメラ、または、動画ファイル

今回のデモの入力は、Webカメラ、または、動画ファイル(avi)です。どちらかを用意しておきましょう。

なお、動画の変換(mp4 -> avi)はffmpegを利用しました。以下のコマンドで変換する事が出来ます。

ffmpeg -i 変換元.mp4 変換先.avi

実行

環境変数の設定をしていない場合は、コマンドラインで以下を実行します。

C:¥Program Files (x86)¥IntelSWTools¥openvino¥bin¥setupvars.bat

以下のコマンドでInstance Segmentation Demoを実行します。
モデルの格納先等は適時読み替えてください。

python instance_segmentation_demo.py -m C:\Users\ユーザ名\Documents\Intel\OpenVINO\openvino_models\intel\instance-segmentation-security-0010\FP16\instance-segmentation-security-0010.xml --labels coco_labels.txt -i 0 --delay 1

オプションとして、-m でモデル、–labels でラベル(デモフォルダ内にあるもの)、-iはカメラ0番目、–delay 1msを指定しています。

実行結果

コマンドを実行すると、ウィンドウが表示されます。–delayを指定しない場合は、何かキーを押すと動画がキャプチャされます。

Personとcarが表示されています。
猫のふーちゃんとタンタンも、それぞれcatとして表示されました。

使用モデルについて

instance-segmentation-security-0010、instance-segmentation-security-0050の2つのモデルを試してみたところ、0050のFP16-INT8、FP32-INT8が早く処理されたように見えました。動画の左上の時間に注目してみてください。

instance-segmentation-security-0050, FP16 500ms-600msくらいですね。
instance-segmentation-security-0050, FP16-Int8 400ms前半
instance-segmentation-security-0050, FP32 こちらも400ms前半

Instance Segmentation Demoの実行、如何だったでしょうか。いろいろと試してみてくださいね。

デバイス指定(-d)について

readmeやヘルプにはデバイス指定が可能とありますが、実際はCPUのみ実行可能でした。(GPU,MYRIADを指定するとエラーになりました。)

https://software.intel.com/en-us/forums/intel-distribution-of-openvino-toolkit/topic/831534

/opt/intel/openvino/deployment_tools/open_model_zoo/demos/README.md に、デモの概要とサポートしているデバイスが記載されています。ここを確認すると、instance-segmentation-security-xxxxは、CPUとHETERO:FPGA,CPUがサポートである事がわかります。

GPUやNCS2などで実行したい場合にエラーになったけど、何だか分からないなあという場合は、まずはここから確認するのも良いかもしれません。