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
        • ウェブカメラを使う場合は、サブスクライブするカメラ画像のトピック名の変更が必要。
        • この例では次のように変更。
          camera_reading:
          topic: /usb_cam/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
      • ここでは修正しなかった。
  • 実行方法
    • カメラの起動
      • roscore
      • roslaunch usb_cam usb_cam-test.launch
    • darknet_ros起動
      • roslaunch darknet_ros yolo_v3.launch

以上

 

 

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください