rosbagで保存したイメージデータをyoloで物体検出した作業のメモ。上と下の写真はつくばチャレンジ実験走行で探索対象を検出したときのスクリーンショット。マネキンもpersonと検出するので実験走行に使える。。。
環 境
- Ubuntu16.04, ROS Kinetic, Cuda 8.0, OpenCV3.2
インストール
cd catkin_ws/src
git clone --recursive https://github.com/leggedrobotics/darknet_ros.git
cd ..
catkin_make -DCMAKE_BUILD_TYPE=Release
重みのダウンロード
- cd ~/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights/
- wget http://pjreddie.com/media/files/yolo-voc.weights
- wget http://pjreddie.com/media/files/tiny-yolo-voc.weights
- wget http://pjreddie.com/media/files/yolo.weights
- wget http://pjreddie.com/media/files/tiny-yolo.weights
- wget http://pjreddie.com/media/files/yolo9000.weights
設 定
- モデルの変更
- catkin_ws/src/darknet_ros/darknet_ros/launch/darknet_ros.launchの以下の行のyolo_voc.yamlを好きなネットワークモデル(つまり、yolo.yaml, tiny_yolo.yaml, yolo9000.yaml)に変更する。
- <rosparam command=”load” ns=”darknet_ros” file=”$(find darknet_ros)/config/yolo_voc.yaml”/>
- トピック名の変更
- catkin_ws/src/darknet_ros/darknet_ros/config/ros.yamlのトピック名を必要があれば変更する。特にcamera_readingのトピック名は変更しなければならないと思う。私の場合はサブスクライバだけ次のように/image_rawに変更した。
- subscribers:
camera_reading:
topic: /image_raw
queue_size: 1
実行方法
- roscore
- rosbagの再生
- rosbag play bagfile.bag
- roslaunch darknet_ros darknet_ros.launch
終わり
コメント