OAK-D-Lite Object Detection YOLOv7 転移学習をしてみた。
単純に下記ページの YOLOv7 tutorial を実行するだけ。
docs.luxonis.com/software/ai-inference/training
結論から先に言えば、うまくできました。
OAK-D Lite で、動きました。
ただし、サンプルは、google colaboratory と、Google Drive を使っています。
おんちゃんも当初は、お同じにしていましたが、どうも、Google Drive への保存が良くわからなくて、学習結果が消えてしまいました。
結局、ubuntu 22.04 PC 上で、実行しました。
1. PC環境
Ubuntu Mate 22.04
GPU: GeForce GTX 1070
Python 3.10
virtualenv
OAK-D Lite
2. 手順
$ cd
$ python3 -m pip install virtualenv --user
$ python3 -m virtualenv torch_env
$ source ~/torch_env/bin/activate
(troch_env) xxx@xxx:~$
$ python -m pip install --upgrade pip
あとは、PyTorch のインストールをします。
https://github.com/WongKinYiu/yolov7 の環境を、そのまま使用します。
$ cd ~/Documents/Visualstudio-torch_env
$ git clone https://github.com/WongKinYiu/yolov7.git
$ cd yolo7
$ python -m pip install -r requirements.txt
$ python -m pip install notebook
これで、pytorch GPU も、OK です。
ただし、
Ubuntu 22.04 Tensorflow GPU Install. でシステム側にインストールした、
cudnn か、なにかのライブラリーと競合するようで、
~/.bashrc の記述の、LD_LIBRARY_PATH を取ります。
# add for libcudnn8
#export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/home/nishi/usr/local/share/TensorRT-8.6.1.6/lib:$LD_LIBRARY_PATH
OAK-D-Liteの最近のブログ記事
OAK-D-Lite を ROS2 Humble で、再度試してみた。
以前、OAK-D-Lite を試して、サンプルプログラムがさんざんだったので、ほったらかしていたのですが、
あれから、2年ほどたって、少しは、改善されたのか、確認のため試してみました。
以前より、改善されたみたいぞね!!。
github に公開しちょります。
tosa-no-onchan / depthai_ros_my
電源容量に注意。
USB 3.x ケーブルを使って、USB3.x ポートを使ってください。
by nishi 2024.9.9
depthai-core examples を試す。
depthai-core/examples に、プログラムサンプルが色々有るので、ビルドして試してみました。
1. 先に、depthai-ros のインストールが必要です。
depthai-ros のインストールは、Jetson Nano 2G ROS Oak-D-Lite を参照して下さい。
2. depthai-ros のインストール後に、Examples をビルドします。
ビルド方法は、luxonis/depthai-core の Running examples にあります。
$ cd ~/local/oakd-lite/depthai-core
$ rm -rf build
$ mkdir build
$ cd build
$ cmake .. -D'DEPTHAI_BUILD_EXAMPLES=ON'
$ cmake --build .
一応簡単にビルド出来ました。
build/examples に、作成されます。
3. Jeston Nano 2G の rtabmap_ros で、将来使えそうな、
StereoDepth/rgb_depth_aligned.cpp を試してみました。
これを参考にして、 ROS で、depth データと、中央の RGB カメラの rgb データを、同期してpublish するnodelet を作れば、
rtabmap_ros でそのまま使えそうです。
fps も設定できる様です。
fps=15 位で、軽量に実現できれば、 Jeston Nano 2G and rtabmap_ros で使えそうです。
注1) fps の設定は、今は、未対応みたいです。自分でプログラムで押さえないといけないみたいです。
デフォルトだと、30[Hz] になります。
注2) RGB 画像と、Depth 画像が完全に一致していません。Rtabmap_ros で使う時、この誤差がすこし問題になりそうです。
Jetson Nano 2G ROS rtabmap_ros with Oak-D-Lite
いよいよ本題の、rtabmap_ros で、Oak-D-Lite(depthai) を使って見ることにします。
自作 Turtlebot3(foxbot_core3) に組み込んで、確認してみます。
1. 環境:
自作 Turtlebot3(foxbot_core)
1) SBC
Jetson Nano 2G
ros: melodic
arduino: ESP32
2) リモートPC
Ubuntu Mate 18.04
ros: melodic
2. 処理の流れ。
1) SBC での処理。
i) depthai_examples の stereo_node.launch の、stereo_publisher node の部分を動かして、
/stereo_publisher/stereo/depth を publish させます。
ii) rtabmap_ros で、上記、 /stereo_publisher/stereo/depth を取り込んで、3D-Map をpublish させる。
2) リモートPC の Rviz で動作を確認します。
Jetson Nano 2G ROS Oak-D-Lite
やっと、OAK-D-Lite を購入できたので、
Jetson Nano 2G の ROS(Melodic) で、Oak-D-Lite(depthai-ros) を使えるようにしてみました。
参考は、 luxonis /
depthai-ros です。
環境:
1) 実行 SBC
Jetson Nano 2G: jetpack4 (ubuntu 18.04 相当)
OpenCV4.1.1
注) OpenCV4.x が必要とのことです。
Jetson Nano 2G OpenCV4.1.1 Build を参考にして下さい。
Ubuntu 18.04 は、OpenCV3.2 です。
後、他のROSパッケージも、OpenCV4.x 対応にしないと行けないので、下記を参考にして下さい。
自作 Turtlebot3 自立走行に向けたプログラム。#5
2) Rviz の確認用 リモートPC
Ubuntu Mate 18.04
ROS:melodic
注) こちらにも、同じように、depthai-core、 depthai-ros をインストールします。
但し、OpenCV3.2 なので、完全にはインストール出来ませんが、Rviz での確認に必要になります。