YOLO V3: ROSで使う (darknet_ros)

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
  • 自分のオブジェクトを検出する方法
    • ウェイト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
    • launchファイルを必要があれば修正する
      • $ cd ~/catkin_ws/src/darknet_ros/darknet_ros/launch
      • yolo_v3.launchの13行目yolov3.yamlを先ほどコピーしたwrs.yamlに変更する。
  • 実行方法
    •  カメラの起動
      • USB Camera
        • $ roslaunch usb_cam usb_cam-test.launch
      • RealSense D435
        • $ roslaunch realsense2_camera rs_camera.launch
    • darknet_ros起動
      • $ roslaunch darknet_ros yolo_v3.launch

以上

 

 

コメント

タイトルとURLをコピーしました