Skip to content

TeamSOBITS/yolov8_ros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JP | EN

Contributors Forks Stargazers Issues

YOLOv8 ROS

目次
  1. 概要
  2. セットアップ
  3. 実行・操作方法
  4. マイルストーン
  5. 変更履歴
  6. 参考文献

概要

How to Train Ultralytics YOLOv8 models on Your Custom Dataset in Google Colab

YOLOv8のROS用パッケージ sensor_msgs/Image型の画像データをSubscribeすることでYOLOv8による物体検出の推論を行います.

(上に戻る)

セットアップ

ここで,本レポジトリのセットアップ方法について説明してください.

環境条件

System Version
Ubuntu 20.04 (Focal Fossa)
ROS Noetic Ninjemys
Python 3.7~
Pytorch 1.7~

インストール方法

  1. ROSのsrcフォルダに移動します.
    $ cd ~/catkin_ws/src/
  2. 本レポジトリをcloneします.
    $ git clone https://github.com/TeamSOBITS/yolov8_ros.git
  3. レポジトリの中へ移動します.
    $ cd yolov8_ros
  4. 依存パッケージをインストールします.
    $ bash install.sh
  5. パッケージをコンパイルします.
    $ cd ~/catkin_ws/
    $ catkin_make

(上に戻る)

実行・操作方法

YOLOv8

  • ROSの画像のみで推論
roslaunch yolov8_ros yolov8.launch

Note

launch内のweights,image_topic_nameをweightファイルや使用するカメラのTopic名に書き換える

  • ROSの画像にTF(3次元情報)もつけて出力
roslaunch yolov8_ros yolov8_with_tf.launch

Note

画像のみでの推論と同様にlaunch内のweights,image_topic_nameをweightファイルや使用するカメラのTopic名に書き換える. また,3次元化するための点群名point_cloud_nameをカメラのTopic名に書き換える. base_frame_nameはもしカメラ単体で使う場合は存在するフレーム名にする.

Published Topics

  • ROSの画像のみで推論する場合
/yolov8/detect_list (sobits_msgs/StringArray): 検出物体一覧
/yolov8/detect_poses (sobits_msgs/ObjectPoseArray): 検出物体の画像におけるピクセル座標
/yolov8/objects_rect (sobits_msgs/BoundingBoxes): 検出物体のBoundingBox情報
/yolov8/detect_result (sensor_msgs/Image): 結果画像
  • ROSの画像にTF(3次元情報)もつけて出力する場合
/yolov8_bbox_to_tf/object_poses (sobits_msgs/ObjectPoseArray): 物体の3次元座標
/yolov8_bbox_to_tf/object_cloud (sensor_msgs/PointCloud2): 物体にかかる点群

Service Server

  • ROSの画像のみで推論する場合
/yolov8/run_ctr (sobits_msgs/RunCtrl): 推論のON/OFFを切り替える(True/False)
  • ROSの画像にTF(3次元情報)もつけて出力する場合
/yolov8_bbox_to_tf/run_ctr (sobits_msgs/RunCtrl): 3次元化(TF化)のON/OFFを切り替える(True/False)

Scripts

detect_ros.py: YOLOv8実行用プログラム
pub_usb_cam.py: PC内蔵カメラ映像をPublishするプログラム
publish_image.py: Enterキーを押下ごとに画像をPublishするプログラム
train_yolov8.py: yolov8を用いて学習します データセットを作って、5行目のdata引数にデータセットのパスを渡してください epoch=500, batch=4, imagesize=640で学習します

sobits_msgsについて

sobits_msgsは,SOBITSの独自のメッセージ型です.
検出結果やClass名も合わせたBoundingBoxなどがあります.
sobits_msgsの詳細について,TeamSOBTIS/sobits_msgs をご覧ください.

(上に戻る)

参考文献

(上に戻る)

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •