{"id":16277558,"url":"https://github.com/mgonzs13/mmdetection_ros","last_synced_at":"2026-03-06T01:36:12.779Z","repository":{"id":139750457,"uuid":"503456566","full_name":"mgonzs13/mmdetection_ros","owner":"mgonzs13","description":"ROS 2 wrap for MMDetection (https://github.com/open-mmlab/mmdetection)","archived":false,"fork":false,"pushed_at":"2023-06-05T15:15:37.000Z","size":15059,"stargazers_count":15,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T08:43:00.659Z","etag":null,"topics":["instance-segmentation","object-recognition","panoptic-segmentation","pytorch","ros2"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgonzs13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-14T17:25:38.000Z","updated_at":"2025-01-16T13:10:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"00e43f40-2ef7-4469-b579-ecc67312ef6b","html_url":"https://github.com/mgonzs13/mmdetection_ros","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mgonzs13/mmdetection_ros","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgonzs13%2Fmmdetection_ros","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgonzs13%2Fmmdetection_ros/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgonzs13%2Fmmdetection_ros/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgonzs13%2Fmmdetection_ros/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgonzs13","download_url":"https://codeload.github.com/mgonzs13/mmdetection_ros/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgonzs13%2Fmmdetection_ros/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275658691,"owners_count":25504776,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-17T02:00:09.119Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["instance-segmentation","object-recognition","panoptic-segmentation","pytorch","ros2"],"created_at":"2024-10-10T18:55:25.322Z","updated_at":"2025-09-17T20:31:37.732Z","avatar_url":"https://github.com/mgonzs13.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mmdetection_ros\n\nROS 2 wrap for [MMDetection](https://github.com/open-mmlab/mmdetection). Object detection, instance segmentation and panoptic sementation are supported.\n\n## Table of Contents\n\n1. [Installation](#installation)\n2. [Nodes](#nodes)\n3. [Usage](#usage)\n4. [Demo](#demo)\n\n## Installation\n\n```shell\n# Ubuntu 20.04 CUDA 10.1\n$ pip3 install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html\n$ pip3 install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.8.0/index.html\n$ pip3 install mmcv mmdet\n$ cd ~/ros2_ws/src\n$ git clone https://github.com/mgonzs13/mmdetection_ros.git\n$ cd ~/ros2_ws\n$ rosdep install --from-paths src -r -y --ignore-src\n$ colcon build\n```\n\n## Nodes\n\n### MmDetectionNode\n\nThis node run MMDetection.\n\n#### Subscribers\n\n- `image_raw` (type `sensor_msgs/msg/Image`) - Input images to feed to the detector\n\n#### Publishers\n\n- `detections` (type `mmdetection_msgs/msg/Detections`) - Detections found in the image (boxes and masks)\n\n#### Services\n\n- `enable` (type `std_srvs::srv::SetBool`) - Enable/disable the detector\n\n#### Parameters\n\n- `config` - a path to a file describing a network\n- `weights` - a path to a file with weights/checkpoints for the given network\n- `device` - device to use (GPU/CPU)\n- `threshold` - minimum probability of a detection to be published\n- `detection.nms_threshold` - Non-maximal Suppression threshold - controls filtering of overlapping boxes\n\n### VisualizationNode\n\nThis node publish the resulting image after applying the detections.\n\n#### Subscribers\n\n- `image_raw` (type `sensor_msgs/msg/Image`) - Input images to feed to the detector\n- `detections` (type `mmdetection_msgs/msg/Detections`) - Detections found in the image (boxes and masks)\n\n#### Publishers\n\n- `result_image` (type `sensor_msgs/msg/Image`) - Output image after applying detections\n\n#### Parameters\n\n- `alpha` - alpha factor to apply in masks\n- `thickness` - thickness for line drawing\n\n## Usage\n\n```shell\n$ ros2 launch mmdetection_bringup mmdetection.launch.py\n```\n\n### Launch configuration\n\n- `network_config` - Network configuration file (.py)\n- `weights` - Weights (checkpoints) file (.pth)\n- `device` - Device to use (GPU/CPU)\n- `enable` - Wheter to start darknet enabled\n- `threshold` - Minimum probability of a detection to be published\n- `publish_result_image` - Whether to publish result images with detections\n- `show_debug_image` - Whether show image with the detections\n- `input_image_topic` - Name of the input image topic\n- `namespace` - Namespace for the nodes\n\n## Demo\n\n```shell\n$ ros2 run usb_cam usb_cam_node_exe\n```\n\n```shell\n$ wget https://download.openmmlab.com/mmdetection/v2.0/yolox/yolox_tiny_8x8_300e_coco/yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth\n$ ros2 launch mmdetection_bringup mmdetection.launch.py network_config:=~/ros2_ws/src/mmdetection_ros/mmdetection_bringup/config/yolox/yolox_tiny_8x8_300e_coco.py weights:=yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth\n```\n\n### Examples\n\n- yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth\n  ![Object Detection](./docs/yolox.gif)\n\n- yolact_r50_1x8_coco_20200908-f38d58df.pth\n  ![Instance Segmentation](./docs/yolact.gif)\n\n- panoptic_fpn_r50_fpn_1x_coco_20210821_101153-9668fd13.pth\n  ![Panoptic Segmentation](./docs/panoptic.gif)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgonzs13%2Fmmdetection_ros","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgonzs13%2Fmmdetection_ros","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgonzs13%2Fmmdetection_ros/lists"}