LoginSignup
1
4

More than 3 years have passed since last update.

RaspberryPi と Movidius ではじめる OpenVINO 深層学習入門2

Last updated at Posted at 2020-01-09

RaspberryPi と Movidius ではじめる OpenVINO 深層学習2

OpenVINO をはじめて利用する方向けの、基礎的な説明やインストールについては、以下の記事をご参照下さい。
RaspberryPi と Movidius ではじめる OpenVINO 深層学習入門

この記事では、https://download.01.org/opencv/2019/open_model_zoo/R3/のサンプルが色々とありますので、RaspberryPi と Movidiusの環境で動作させる方法の例を解説します。

今回試したもの以外にも色々と用意されていますので、試しに動かしてみてください。

各サンプルの解説ページはこちら(2020/01/08時点):
https://docs.openvinotoolkit.org/latest/usergroup1.html

各サンプルのモデルダウンロード先はこちら(2020/01/08時点):
https://download.01.org/opencv/2019/open_model_zoo/R3/20190905_163000_models_bin/

person-vehicle-bike-detection-crossroad-0078を試す

交差点で、人、車、バイク(自転車)を認識するサンプルです。
person-vehicle-bike-detection-crossroad-0078

OpenVINO用の作業ディレクトリ"~/OpenVINO"配下にディレクトリ"person-vehicle-bike-detection-crossroad-0078"を作成

pi@raspberrypi:~ $ cd ~/OpenVINO
pi@raspberrypi:~/OpenVINO $ mkdir person-vehicle-bike-detection-crossroad-0078 && cd person-vehicle-bike-detection-crossroad-0078

Object Detection(物体検出) サンプルをビルドします

pi@raspberrypi:~/OpenVINO/face-detection $ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=armv7-a" /opt/intel/openvino/deployment_tools/inference_engine/samples

最後に以下が表示され、ビルドファイルが作成できたことを確認します。

-- Build files have been written to: /home/pi/OpenVINO/person-vehicle-bike-detection-crossroad-0078

make します。
少し時間がかかります。

pi@raspberrypi:~/OpenVINO/person-vehicle-bike-detection-crossroad-0078 $ make -j2 object_detection_sample_ssd

トレーニング済のモデルをダウンロードします

pi@raspberrypi:~/OpenVINO/person-vehicle-bike-detection-crossroad-0078 $ wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R3/20190905_163000_models_bin/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.bin
pi@raspberrypi:~/OpenVINO/person-vehicle-bike-detection-crossroad-0078 $ wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R3/20190905_163000_models_bin/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml

テストします

テストのために、交差点の画像ファイル kudanshita_sample.bmp を用意しました
置き場所は~/OpenVINO/person-vehicle-bike-detection-crossroad-0078ディレクトリ内

pi@raspberrypi:~/OpenVINO/person-vehicle-bike-detection-crossroad-0078 $ ./armv7l/Release/object_detection_sample_ssd -m person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD -i /home/pi/OpenVINO/person-vehicle-bike-detection-crossroad-0078/kudanshita_sample.bmp

実行例:

pi@raspberrypi:~/OpenVINO/person-vehicle-bike-detection-crossroad-0078 $ ./armv7l/Release/object_detection_sample_ssd -m person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD -i /home/pi/OpenVINO/person-vehicle-bike-detection-crossroad-0078/kudanshita_sample.bmp
[ INFO ] InferenceEngine: 
    API version ............ 2.1
    Build .................. custom_releases/2019/R3_cb6cad9663aea3d282e0e8b3e0bf359df665d5d0
    Description ....... API
Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     /home/pi/OpenVINO/person-vehicle-bike-detection-crossroad-0078/kudanshita_sample.bmp
[ INFO ] Loading Inference Engine
[ INFO ] Device info: 
    MYRIAD
    myriadPlugin version ......... 2.1
    Build ........... 30677
[ INFO ] Loading network files:
    person-vehicle-bike-detection-crossroad-0078.xml
    person-vehicle-bike-detection-crossroad-0078.bin
[ INFO ] Preparing input blobs
[ INFO ] Batch size is 1
[ INFO ] Preparing output blobs
[ INFO ] Loading model to the device
[ INFO ] Create infer request
[ WARNING ] Image is resized from (640, 480) to (1024, 1024)
[ INFO ] Batch size is 1
[ INFO ] Start inference
[ INFO ] Processing output blobs
[0,1] element, prob = 0.998047    (9,304)-(38,386) batch id : 0 WILL BE PRINTED!
[1,1] element, prob = 0.97998    (395,304)-(439,392) batch id : 0 WILL BE PRINTED!
[2,1] element, prob = 0.974121    (44,306)-(73,386) batch id : 0 WILL BE PRINTED!
[3,1] element, prob = 0.96875    (478,306)-(530,406) batch id : 0 WILL BE PRINTED!
[4,1] element, prob = 0.602051    (0,306)-(24,380) batch id : 0 WILL BE PRINTED!
[5,1] element, prob = 0.384521    (170,306)-(181,336) batch id : 0
[6,1] element, prob = 0.283936    (572,308)-(580,332) batch id : 0
[7,1] element, prob = 0.224854    (593,311)-(599,330) batch id : 0
[8,1] element, prob = 0.185547    (602,310)-(608,329) batch id : 0
[9,1] element, prob = 0.183594    (370,309)-(380,328) batch id : 0
[10,1] element, prob = 0.169434    (99,351)-(116,393) batch id : 0
[11,1] element, prob = 0.159546    (550,315)-(557,330) batch id : 0
[12,1] element, prob = 0.148193    (128,300)-(159,339) batch id : 0
[13,1] element, prob = 0.141724    (543,316)-(549,330) batch id : 0
[14,1] element, prob = 0.140137    (533,316)-(540,330) batch id : 0
[15,1] element, prob = 0.135376    (581,311)-(586,327) batch id : 0
[16,1] element, prob = 0.130005    (222,312)-(244,336) batch id : 0
[17,1] element, prob = 0.122803    (160,309)-(167,326) batch id : 0
[18,1] element, prob = 0.121155    (409,262)-(420,298) batch id : 0
[19,1] element, prob = 0.119385    (508,317)-(518,334) batch id : 0
[20,1] element, prob = 0.115723    (202,304)-(210,330) batch id : 0
[21,1] element, prob = 0.115112    (54,308)-(86,389) batch id : 0
[22,1] element, prob = 0.11377    (399,303)-(430,356) batch id : 0
[23,1] element, prob = 0.113464    (192,308)-(197,325) batch id : 0
[24,1] element, prob = 0.110657    (182,309)-(187,326) batch id : 0
[25,1] element, prob = 0.108093    (163,307)-(173,330) batch id : 0
[26,1] element, prob = 0.104553    (217,309)-(234,333) batch id : 0
[27,1] element, prob = 0.1026    (244,311)-(266,337) batch id : 0
[28,1] element, prob = 0.102173    (153,309)-(161,327) batch id : 0
[29,1] element, prob = 0.102173    (210,303)-(220,333) batch id : 0
[30,1] element, prob = 0.100403    (235,312)-(255,337) batch id : 0
[31,1] element, prob = 0.100159    (368,300)-(385,326) batch id : 0
[32,1] element, prob = 0.0998535    (248,299)-(263,331) batch id : 0
[33,1] element, prob = 0.0993042    (543,309)-(554,330) batch id : 0
[34,1] element, prob = 0.098938    (430,304)-(459,344) batch id : 0
[35,1] element, prob = 0.0982666    (146,305)-(162,331) batch id : 0
[36,1] element, prob = 0.0973511    (-1,304)-(13,368) batch id : 0
[37,1] element, prob = 0.0964355    (523,313)-(529,328) batch id : 0
[38,1] element, prob = 0.0963135    (205,306)-(215,332) batch id : 0
[39,1] element, prob = 0.0942993    (240,287)-(249,310) batch id : 0
[40,1] element, prob = 0.0934448    (433,302)-(482,352) batch id : 0
[41,1] element, prob = 0.0922241    (303,311)-(327,337) batch id : 0
[42,1] element, prob = 0.0916138    (389,294)-(405,317) batch id : 0
[43,1] element, prob = 0.0914917    (596,309)-(604,330) batch id : 0
[44,1] element, prob = 0.0913086    (126,280)-(142,330) batch id : 0
[45,1] element, prob = 0.0912476    (391,296)-(399,312) batch id : 0
[46,1] element, prob = 0.0909424    (219,310)-(228,327) batch id : 0
[47,1] element, prob = 0.0905762    (295,312)-(318,338) batch id : 0
[48,1] element, prob = 0.090332    (271,282)-(279,308) batch id : 0
[49,1] element, prob = 0.0889282    (422,305)-(447,345) batch id : 0
[50,1] element, prob = 0.0883179    (400,304)-(407,319) batch id : 0
[51,1] element, prob = 0.0881958    (496,313)-(516,340) batch id : 0
[52,1] element, prob = 0.0870972    (620,311)-(627,328) batch id : 0
[53,1] element, prob = 0.0866699    (487,301)-(503,343) batch id : 0
[54,1] element, prob = 0.0862427    (413,288)-(419,302) batch id : 0
[55,1] element, prob = 0.0861816    (409,253)-(418,281) batch id : 0
[56,1] element, prob = 0.0861206    (38,294)-(54,333) batch id : 0
[57,1] element, prob = 0.0859375    (250,285)-(265,307) batch id : 0
[58,1] element, prob = 0.0858154    (511,314)-(518,328) batch id : 0
[59,1] element, prob = 0.0847778    (284,252)-(305,308) batch id : 0
[60,1] element, prob = 0.0844727    (67,318)-(97,391) batch id : 0
[61,1] element, prob = 0.0844116    (373,291)-(379,301) batch id : 0
[62,1] element, prob = 0.0841064    (476,304)-(493,343) batch id : 0
[63,1] element, prob = 0.0839233    (410,272)-(418,291) batch id : 0
[64,1] element, prob = 0.0838013    (292,295)-(297,309) batch id : 0
[65,1] element, prob = 0.0837402    (411,278)-(418,297) batch id : 0
[66,1] element, prob = 0.0836182    (202,305)-(207,322) batch id : 0
[67,1] element, prob = 0.0835571    (250,302)-(260,322) batch id : 0
[68,1] element, prob = 0.083313    (213,308)-(220,327) batch id : 0
[69,1] element, prob = 0.0825806    (86,336)-(103,382) batch id : 0
[70,1] element, prob = 0.0822144    (391,291)-(398,302) batch id : 0
[71,1] element, prob = 0.0819702    (239,290)-(250,322) batch id : 0
[72,1] element, prob = 0.0819092    (290,284)-(298,308) batch id : 0
[73,1] element, prob = 0.0817871    (259,282)-(269,308) batch id : 0
[74,1] element, prob = 0.0817871    (460,304)-(468,318) batch id : 0
[75,1] element, prob = 0.0817871    (483,308)-(513,350) batch id : 0
[76,1] element, prob = 0.081665    (565,310)-(574,330) batch id : 0
[77,1] element, prob = 0.0811157    (382,291)-(388,301) batch id : 0
[78,1] element, prob = 0.0809937    (530,302)-(541,331) batch id : 0
[79,2] element, prob = 0.0658569    (314,448)-(377,478) batch id : 0
[80,2] element, prob = 0.0534668    (240,237)-(311,272) batch id : 0
[81,2] element, prob = 0.051239    (128,301)-(159,339) batch id : 0
[ INFO ] Image out_0.bmp created!
[ INFO ] Execution successful

[ INFO ] This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool

処理前のビットマップ画像(kudanshita_sample.bmp):

Qiitaで表示するために、Jpeg形式に変換しています
kudanshita_sample.jpg

処理後のビットマップ画像(out_0.bmp):

Qiitaで表示するために、Jpeg形式に変換しています
(遠くの方は認識できていませんが、手前の歩行者は認識できています)
out_0.jpg

1
4
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
1
4