loog

Opencv AI Kit を試すその2

August 19, 2021

ドキュメントが更新されて居たので、セットアップからやり直してみました。

なお、今回は Jetson Xavier NX でテストします。

Python3.7 です。

デバイスの認識

$ lsusb 
Bus 002 Device 002: ID 0bda:0489 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 13d3:3549 IMC Networks 
Bus 001 Device 006: ID 03e7:2485  
Bus 001 Device 002: ID 0bda:5489 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

うーん、、、名前が出てません。

ドキュメント

https://docs.luxonis.com/en/latest/pages/tutorials/first_steps/

セットアップ

$ git clone https://github.com/luxonis/depthai.git
$ cd depthai
$ python3 -m venv myvenv
$ source myvenv/bin/activate
$ pip install -U pip
$ python3 install_requirements.py

ここで、Python3.7 向けの build済み opencv が無いという問題が発生しました。

そこで、下記を利用して opencv 4.5.0 を build します。

https://github.com/AastaNV/JEP/tree/master/script

$ pip3 install opencv-python

デモスクリプトを動かす

$ python depthai_demo.py
 ...
WARNING: Usb rules not found

Set rules: 
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules 
sudo udevadm control --reload-rules && sudo udevadm trigger 
Disconnect/connect usb cable on host!

$ echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
$ sudo udevadm control --reload-rules && sudo udevadm trigger

(USB指し直し)

$ python depthai_demo.py
mobilenet-ssd_openvino_2021.4_6shave

初回起動時に mobilenet-ssd_openvino_2021.4_6shave.blob をダウンロードしていました。

ssd – single shot detection なので、深度だけじゃなくて、モノの認識もしていますね。

モデルを変えてみる

face-detection に変えてみましょう。

$ python3 depthai_demo.py -cnn face-detection-retail-0004
face-detection-retail-0004_openvino_2021.4_6shave

face-detection-retail-0004_openvino_2021.4_6shave.blob がダウンロードされました。

チュートリアルには、以下のモデルが使用できると書いてあります。

NamePurposeFPSLinks
deeplabv3p_personPeople segmentation22.1Usage
face-detection-adas-0001Face detection6.4Usage
face-detection-retail-0004Face detection26.7Usage
mobilenet-ssdObject detection (20 classes)22.3Usage
pedestrian-detection-adas-0002People detection5.6Usage
person-detection-retail-0013People detection9.4Usage
person-vehicle-bike-detection-crossroad-1016People, vehicle and bike detection5.7Usage
yolo-v3Object detection (80 classes)1.6Usage
tiny-yolo-v3Object detection (80 classes)26.2Usage
vehicle-detection-adas-0002Vehicle detection5.5Usage
vehicle-license-plate-detection-barrier-0106License plate detection27.8Usage
Available models