ドキュメントが更新されて居たので、セットアップからやり直してみました。
なお、今回は 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.blob
をダウンロードしていました。
ssd – single shot detection なので、深度だけじゃなくて、モノの認識もしていますね。
モデルを変えてみる
face-detection に変えてみましょう。
$ python3 depthai_demo.py -cnn face-detection-retail-0004
face-detection-retail-0004_openvino_2021.4_6shave.blob
がダウンロードされました。
チュートリアルには、以下のモデルが使用できると書いてあります。
Name | Purpose | FPS | Links |
---|---|---|---|
deeplabv3p_person | People segmentation | 22.1 | Usage |
face-detection-adas-0001 | Face detection | 6.4 | Usage |
face-detection-retail-0004 | Face detection | 26.7 | Usage |
mobilenet-ssd | Object detection (20 classes) | 22.3 | Usage |
pedestrian-detection-adas-0002 | People detection | 5.6 | Usage |
person-detection-retail-0013 | People detection | 9.4 | Usage |
person-vehicle-bike-detection-crossroad-1016 | People, vehicle and bike detection | 5.7 | Usage |
yolo-v3 | Object detection (80 classes) | 1.6 | Usage |
tiny-yolo-v3 | Object detection (80 classes) | 26.2 | Usage |
vehicle-detection-adas-0002 | Vehicle detection | 5.5 | Usage |
vehicle-license-plate-detection-barrier-0106 | License plate detection | 27.8 | Usage |