This is a ROS package of Mask R-CNN algorithm for object detection and segmentation.
The package contains ROS node of Mask R-CNN with topic-based ROS interface.
Most of core algorithm code was based on Mask R-CNN implementation by Matterport, Inc.
This repository doesn't contain code for training Mask R-CNN network model.
If you want to train the model on your own class definition or dataset, try it on the upstream reposity and give the result weight to model_path parameter.
- ROS kinetic
- TensorFlow 1.3+
- Keras 2.0.8+
- Numpy, skimage, scipy, Pillow, cython, h5py
-
~input: stringTopic name of the input RGB image.
Default:
'/camera/rgb/image_raw' -
~model_path: stringPath to the HDF5 model file. If the model_path is default value and the file doesn't exist, the node automatically downloads the file.
Default:
$ROS_HOME/mask_rcnn_coco.h5 -
~visualization: boolIf true, the node publish visualized images to
~visualizationtopic. Default:true -
~class_names: string[]Class names to be treated as detection targets. Default: All MS COCO classes.
-
~result: mask_rcnn_ros/ResultResult of detection. See also
Result.msgfor detailed description. -
~visualization: sensor_mgs/ImageVisualized result over an input image.
- Clone this repository to your catkin workspace
- Build workspace and source devel environment
- Run mask_rcnn node
$ rosrun mask_rcnn_ros mask_rcnn_node
There is a simple example launch file using RGB-D SLAM Dataset.
$ ./scripts/download_freiburg3_rgbd_example_bag.sh
$ roslaunch mask_rcnn_ros freiburg3_rgbd_example.launchThen RViz window will appear and show result like following:
