[ROS] YOLO

何を学習するのか?

ROS上でYOLOの画像処理をする方法を学びます。

ROS用のYOLOをインストール

今回は
leggedrobotics/darknet_ros: YOLO ROS: Real-Time Object Detection for ROS を試してみます。
ここの記載の通りインストールします。

YOLO weights ファイルを用意

cd catkin_workspace/src/darknet_ros/darknet_ros/yolo_network_config/weights/
wget http://pjreddie.com/media/files/yolov2.weights
wget http://pjreddie.com/media/files/yolov2-tiny.weights
wget http://pjreddie.com/media/files/yolov3-tiny.weights
wget http://pjreddie.com/media/files/yolov3.weights

USBカメラの映像をROS経由でYOLO処理

UVC Web Camの映像をROSでPublish

以下の記事を参考にします。
[ROS] UVC Web Cam – yoshimax::tech

$ rosrun uvc_camera uvc_camera_node
$ rostopic list
/image_raw

darknet_rosの設定ファイル

catkin_ws2/src/darknet_ros/darknet_ros/config/ros.yaml
subscribers:

  camera_reading:
    topic: /camera/rgb/image_raw
    queue_size: 1

actions:

  camera_reading:
    name: /darknet_ros/check_for_objects

publishers:

  object_detector:
    topic: /darknet_ros/found_object
    queue_size: 1
    latch: false

  bounding_boxes:
    topic: /darknet_ros/bounding_boxes
    queue_size: 1
    latch: false

  detection_image:
    topic: /darknet_ros/detection_image
    queue_size: 1
    latch: true

image_view:

  enable_opencv: true
  wait_key_delay: 1
  enable_console_output: true

subscribers:

  camera_reading:
    topic: /image_raw
    queue_size: 1

darknet rosを起動

$ roslaunch darknet_ros darknet_ros.launch 

darknet rosのtopicsを確認

$ rostopic list

leggedrobotics/darknet_ros: YOLO ROS: Real-Time Object Detection for ROS

結果画像を取得する

/darknet_ros/detection_image

結果矩形リストを取得

$ rostopic echo /darknet_ros/bounding_boxes
---
header: 
  seq: 12448
  stamp: 
    secs: 1597231005
    nsecs: 917540574
  frame_id: "detection"
image_header: 
  seq: 1061
  stamp: 
    secs: 1597231005
    nsecs: 709638306
  frame_id: "camera"
bounding_boxes: 
  - 
    probability: 0.413102269173
    xmin: 188
    ymin: 387
    xmax: 438
    ymax: 480
    id: 64
    Class: "mouse"
  - 
    probability: 0.446936011314
    xmin: 303
    ymin: 141
    xmax: 640
    ymax: 340
    id: 66
    Class: "keyboard"
---

参考サイト

UVC Web Camの映像をROSでPublishします。

leggedrobotics/darknet_ros: YOLO ROS: Real-Time Object Detection for ROS
ROSでdarknetを動かしてみた。 – Qiita

投稿者: yoshimax

Software Engineer #Unity #iOS