** * Dieser Artikel ist für den Ubuntu-Container (ubuntu_openvino_2020R3.tar) von AE2100. ** </ font>
――Dieser Artikel enthält eine Erläuterung der Einstellungen für den OKI AI-Edge-Computer "AE2100".
"Können Sie eine Person mit einer Hundemaske identifizieren? AI Edge Computer" AE2100 "Great Experiment" ist auf YouTube verfügbar. Guck dir das mal bitte an! !! Dieses Mal möchte ich ein Beispielprogramm ausführen, das Objekte auf die gleiche Weise wie den Inhalt dieses Videos erkennt.
Dieser Artikel, der zum dritten Mal in der Ubuntu-Version erscheint, hat fast den gleichen Inhalt wie "Lassen Sie uns das OpenVINO-Beispiel auf dem OKI AI-Edge-Computer" AE2100 "(3) ausführen".
Die Containerversion von AE2100 lautet "ubuntu_openvino_2020R3.tar".
Was Sie diesmal brauchen, ist eine Webkamera mit USB 2.0-Verbindung. In diesem Artikel haben wir "Logitech HD Webcam C270n" verwendet, um den Vorgang zu überprüfen.
Es wird davon ausgegangen, dass VcXsrv gemäß dem ersten Artikel der Ubuntu-Version auf dem Windows-PC installiert wurde. Lassen Sie uns das OpenVINO-Beispielprogramm auf der Ubuntu-Containerversion (1) des OKI AI-Edge-Computers "AE2100" ausführen.
[Siehe den vorherigen Artikel (Ubuntu Version 2). ](Https://qiita.com/TWAT/items/e7cd34f8c97f895c39b2#demos%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89%E9%96%8B%E7% 99% BA% E7% 92% B0% E5% A2% 83% E5% 81% B4)
Aktivieren Sie die virtuelle Python-Umgebung.
# cd /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader
# source /opt/intel/openvino/bin/setupvars.sh
# source /opt/intel/openvino/deployment_tools/model_optimizer/venv/bin/activate
Laden Sie die Modelldatei herunter. Das diesmal verwendete Modell ist ein Modell namens "ssd_mobilenet_v2", in dem MS COCO-Daten (80 Klassen) gelernt wurden.
(venv)# python3 downloader.py --name ssd_mobilenet_v2_coco
Die IR-Konvertierung der heruntergeladenen Modelldatei wird durchgeführt.
(venv)# python3 converter.py --name ssd_mobilenet_v2_coco --precisions FP16
Verschieben Sie die für die Ausführung erforderlichen Dateien in den Ordner.
# cd
# mkdir object_detection_demo
# cd object_detection_demo
# cp /root/omz_demos_build/intel64/Release/object_detection_demo_ssd_async ./
# cp /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/public/ssd_mobilenet_v2_coco/FP16/* ./
Bereiten Sie außerdem eine Etikettendatei vor, die zum Zeitpunkt der Erkennung angezeigt werden soll. Erstellen Sie eine Datei mit dem Namen "ssd_mobilenet_v2_coco.labels" und schreiben Sie den folgenden Inhalt. Es gibt 91 Zeilen, aber die Anzahl der erkannten Klassen beträgt 80 Klassen ohne "Hintergrund" und "no_label".
ssd_mobilenet_v2_coco.labels
background
person
bicycle
car
motorcycle
airplane
bus
train
truck
boat
traffic_light
fire_hydrant
no_label
stop_sign
parking_meter
bench
bird
cat
dog
horse
sheep
cow
elephant
bear
zebra
giraffe
no_label
backpack
umbrella
no_label
no_label
handbag
tie
suitcase
frisbee
skis
snowboard
sports_ball
kite
baseball_bat
baseball_glove
skateboard
surfboard
tennis_racket
bottle
no_label
wine_glass
cup
fork
knife
spoon
bowl
banana
apple
sandwich
orange
broccoli
carrot
hot_dog
pizza
donut
cake
chair
couch
potted_plant
bed
no_label
dining_table
no_label
no_label
toilet
no_label
tv
laptop
mouse
remote
keyboard
cell_phone
microwave
oven
toaster
sink
refrigerator
no_label
book
clock
vase
scissors
teddy_bear
hair_drier
toothbrush
Überprüfen Sie die vorbereitete Datei.
# ls
object_detection_demo_ssd_async ssd_mobilenet_v2_coco.mapping
ssd_mobilenet_v2_coco.bin ssd_mobilenet_v2_coco.xml
ssd_mobilenet_v2_coco.labels thread.info
Auf Teerfeile härten.
# cd ..
# tar cvf object_detection_demo.tar object_detection_demo
Melden Sie sich mit TeraTerm bei AE2100 an und übertragen Sie die obige TAR-Datei per Drag & Drop auf AE2100.
Schließen Sie Ihre Webkamera an den USB-Anschluss des AE2100 an. Melden Sie sich anschließend mit TeraTerm beim Host-Betriebssystem des AE2100 an und überprüfen Sie, ob das Gerät mit dem Befehl lsusb erkannt wird. Wenn Sie es erkennen können, sollte es als "Bus 001-Gerät 005: ID 046d: 0825 Logitech, Inc. Webcam C270" ausgegeben werden.
root@ae2100:~# lsusb
Bus 001 Device 002: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
Bus 001 Device 004: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 003: ID 03e7:f63b Intel
Bus 004 Device 002: ID 03e7:f63b Intel
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 2c42:5114
Bus 001 Device 005: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Erstelle / dev / video0.
root@ae2100:~# mknod /dev/video0 c 81 0
root@ae2100:~# chmod 666 /dev/video0
root@ae2100:~# chown root.video /dev/video0
Starten Sie den Container. Fügen Sie zu diesem Zeitpunkt "--device = / dev / video0: / dev / video0" zum Argument hinzu, damit die Webkamera aus dem Container verwendet werden kann.
root@ae2100:~# docker run --device /dev/dri --device=/dev/video0:/dev/video0 --device=/dev/ion:/dev/ion -v /var/tmp:/var/tmp --name ubuntu-openvino -d ubuntu:openvino_2020R3 /sbin/init
Kopieren Sie die Datei vom Host in den Container.
root@ae2100:~# docker cp object_detection_demo.tar ubuntu-openvino:/root/
Betritt den Container.
root@ae2100:~# docker exec -it ubuntu-openvino /bin/bash
Teer extrahieren.
# cd
# tar xvf object_detection_demo.tar
[Siehe den vorherigen Artikel (Ubuntu Version 2). ](Https://qiita.com/TWAT/items/e7cd34f8c97f895c39b2#%E4%BE%9D%E5%AD%98%E3%83%91%E3%83%83%E3%82%B1%E3%83 % BC% E3% 82% B8% E3% 81% AE% E3% 82% A4% E3% 83% B3% E3% 82% B9% E3% 83% 88% E3% 83% BC% E3% 83% ABae2100 % E5% 81% B4)
Legen Sie die OpenVINO-Umgebungsvariablen fest.
# source /opt/intel/openvino/bin/setupvars.sh
Geben Sie die IP-Adresse des Windows-PCs an, der das Ziel für die Fensteranzeige ist.
# export DISPLAY=192.168.100.101:0.0
Versuchen Sie nun, "object_detection_demo_ssd_async" auszuführen, nachdem Sie bereit sind.
# cd /root/object_detection_demos
# ./object_detection_demo_ssd_async -i cam -m ssd_mobilenet_v2_coco.xml -d HDDL
Als das Stofftier projiziert wurde, wurde es als "teddy_bear" klassifiziert.
Als ich die Vase reflektierte, die ich hatte, wurde sie als "Vase" klassifiziert. Du hast recht!
Drücken Sie die Tabulatortaste im Fenster, um zwischen asynchroner Verarbeitung (Async) und synchroner Verarbeitung (Sync) zu wechseln.
Bei der asynchronen Verarbeitung (Async) wird die Ausführungsrahmenrate verbessert.
Drücken Sie die Taste "Esc", um den Vorgang abzuschließen.
Dieses Mal habe ich eine Webkamera an den AE2100 angeschlossen und versucht, die Objekterkennung in Echtzeit unter der Ubuntu-Version durchzuführen.
Da AE2100 / OpenVINO verschiedene Beispielanwendungen enthält Versuch es bitte!
Recommended Posts