YOLO V3をROSで使うためにコードを書こうと思ったが、すでにdarknet_rosがV3に対応している。darknet_rosのインストール、設定法と使い方のメモ。
- 参考サイト
- インストール
$ cd ~/catkin_ws/src
$ git clone --recursive git@github.com:leggedrobotics/darknet_ros.git
- SSH keyを設定しないとクローンできない。上のgithubのREADME.mdではSSH keyの設定方法としてここにリンクが張られている。その方法で概ね良いが、bitbucketの設定でSSH keyを設定するように書いているが、クローンするのはgithubなので、githubの自分のアカウントにSSH keyを設定する。方法は検索するとすぐ見つかります。
- $ cd ..
- ビルド
- $ catkin_make -DCMAKE_BUILD_TYPE=Release
- ウェイトのダウンロード
- yolov2-tiny.weightsとyolov3.weightsはcatkin_makeすると自動的にダウンロードするようにCMakeList.txtに書かれている。その他のウェイトのダウンロード方法は以下のファイルを参照。
- $ ~/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights/how_to_download_weights.txt
- yolov2-tiny.weightsとyolov3.weightsはcatkin_makeすると自動的にダウンロードするようにCMakeList.txtに書かれている。その他のウェイトのダウンロード方法は以下のファイルを参照。
- 自分のオブジェクトを検出する方法
- ウェイトwrs_10000.weightsと設定ファイルwrs_test.cfgを次のディレクトリに保存する。これらのファイルは学習で使ったもの。
- $ catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights/
- $ catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/cfg/
- 次のROS用の設定ファイルを修正する。
- catkin_ws/src/darknet_ros/darknet_ros/config/ros.yaml
- ウェブカメラを使う場合は、サブスクライブするカメラ画像のトピック名の変更が必要。
- この例ではusb_cameraの場合は次のように変更。
camera_reading:
topic: /usb_cam/image_raw
queue_size: 1 - Realsense D435の場合は次のように変更
camera_reading:
topic: /camera/color/image_raw
queue_size: 1
- $ cd ~/catkin_ws/src/darknet_ros/darknet_ros/config
- $ cp yolov3.yaml wrs.yaml
- wrs.yamlの内容を変更する。この例では以下にした。yolo_model:config_file:
name: wrs_test.cfg
weight_file:
name: wrs_10000_0415.weights
threshold:
value: 0.3
detection_classes:
names:
– onigiri
– sandwich
- catkin_ws/src/darknet_ros/darknet_ros/config/ros.yaml
- launchファイルを必要があれば修正する
- $ cd ~/catkin_ws/src/darknet_ros/darknet_ros/launch
- yolo_v3.launchの13行目yolov3.yamlを先ほどコピーしたwrs.yamlに変更する。
- ウェイトwrs_10000.weightsと設定ファイルwrs_test.cfgを次のディレクトリに保存する。これらのファイルは学習で使ったもの。
- 実行方法
- カメラの起動
- USB Camera
$ roslaunch usb_cam usb_cam-test.launch
- RealSense D435
$ roslaunch realsense2_camera rs_camera.launch
- USB Camera
- darknet_ros起動
- $ roslaunch darknet_ros yolo_v3.launch
- カメラの起動
以上
コメント