-
SSD(Single Shot MultiBox Detector)による物体検出
-
Nodelet実装による高速化
-
50Hzでカメラ画像を入力した場合
SSD Node
average rate: 12.962 min: 0.050s max: 0.088s std dev: 0.00711s window: 77
SSD Nodelet
average rate: 49.889 min: 0.015s max: 0.027s std dev: 0.00243s window: 49
(上に戻る)
ここで,本レポジトリのセットアップ方法について説明します.
(上に戻る)
正常動作のため,以下の必要な環境を整えてください.
System | Version |
---|---|
Ubuntu | 20.04 (Focal Fossa) |
ROS | Noetic Ninjemys |
Python | 3.8 |
Note
Ubuntu
やROS
のインストール方法に関しては,SOBITS Manualに参照してください.
(上に戻る)
- ROSの
src
フォルダに移動します.$ roscd # もしくは,"cd ~/catkin_ws/"へ移動. $ cd src/
- 本レポジトリをcloneします.
$ git clone https://github.com/TeamSOBITS/ssd_nodelet
- レポジトリの中へ移動します.
$ cd ssd_nodelet/
- 依存パッケージをインストールします.
$ bash install.sh
- パッケージをコンパイルします.
$ roscd # もしくは,"cd ~/catkin_ws/"へ移動. $ catkin_make
(上に戻る)
$ roslaunch ssd_nodelet camera_720p_16_9.launch
# 他に
# camera_1080p_16_9.launch camera_480p_16_9.launch camera_720p_16_9.launch
# camera_1080p_3_2.launch camera_480p_3_2.launch camera_720p_3_2.launch
※以下のようなエラーが発生した場合
[ERROR] [1663911409.917317256]: Permission denied opening /dev/bus/usb/001/002
次のコードを実行してください
sudo chmod o+w /dev/bus/usb/001/002
$ roslaunch ssd_nodelet face_detect.launch <- face detect mode
$ roslaunch ssd_nodelet object_detect.launch <- object detect mode
$ roslaunch ssd_nodelet face_detect_pose.launch <- face detect mode
$ roslaunch ssd_nodelet object_detect_pose.launch <- object detect mode
トピック名 | 型 | 意味 |
---|---|---|
/ssd_object_detect/detect_result | sensor_msgs/Image | 出力画像(検出結果) |
/ssd_object_detect/object_name | sobits_msgs/StringArray | 検出物体の名前のリスト |
/ssd_object_detect/object_rect | sobits_msgs/BoundingBoxes | 検出物体のバウンディングボックス情報 |
トピック名 | 型 | 意味 |
---|---|---|
/ssd_object_detect/object_pose | sobits_msgs/ObjectPoseArray | 検出物体の位置 |
トピック名 | 型 | 意味 |
---|---|---|
/camera/rgb/image_raw | sensor_msgs/Image | 入力画像 |
/ssd_object_detect/detect_ctrl | std_msgs/Bool | 検出のオンオフ |
トピック名 | 型 | 意味 |
---|---|---|
/camera/depth/points | sensor_msgs/PointCloud2 | 入力点群 |
パラメータ名 | 型 | 意味 |
---|---|---|
/ssd_object_detect/ssd_nodelet/ssd_img_show_flag | bool | 検出画像の描画をするか |
/ssd_object_detect/ssd_nodelet/ssd_execute_default | bool | 起動時に検出を開始するか |
/ssd_object_detect/ssd_nodelet/ssd_pub_result_image | bool | /detect_resultをパブリッシュをするかどうか |
/ssd_object_detect/ssd_nodelet/ssd_image_topic_name | string | 入力画像のトピック名 |
/ssd_object_detect/ssd_nodelet/ssd_in_scale_factor | double | Caffeで扱うBlob形式の変換時のスケールパラメータ |
/ssd_object_detect/ssd_nodelet/ssd_confidence_threshold | double | 検出結果リストに追加される結果の信頼度の閾値 |
/ssd_object_detect/ssd_nodelet/ssd_prototxt_name | double | string |
/ssd_object_detect/ssd_nodelet/ssd_caffemodel_name | string | caffeモデルファイルパス |
/ssd_object_detect/ssd_nodelet/ssd_class_names_file | string | 検出する物体名リストファイルパス |
/ssd_object_detect/ssd_nodelet/object_specified_enabled | bool | 特定の物体のみ検出を行うか |
/ssd_object_detect/ssd_nodelet/specified_object_name | string | 検出する特定の物体名(物体ラベルにない名前は却下されます) |
パラメータ名 | 型 | 意味 |
---|---|---|
/ssd_object_detect/ssd_nodelet/use_tf | bool | tfによる座標登録するか |
/ssd_object_detect/ssd_nodelet/target_frame | string | 基準座標フレーム名 |
/ssd_object_detect/ssd_nodelet/ssd_cloud_topic_name | string | 入力点群のトピック名 |
(上に戻る)
- ドキュメンテーションの充実
現時点のバッグや新規機能の依頼を確認するためにIssueページ をご覧ください.
(上に戻る)
- 1.0: OSS (2023-11-14)
- READMEの充実
(上に戻る)