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 Indigo/kinetic
- TensorFlow 1.3+
- Keras 2.0.8+
- Numpy, skimage, scipy, Pillow, cython, h5py
- I only test code on Python 2.7, it may work on Python3.X.
- see more dependency and version details in requirements.txt
- Clone this repository to your catkin workspace, build workspace and source devel environment
$ cd ~/.catkin_ws/src
$ git clone https://github.com/qixuxiang/mask_rcnn_ros.git
$ cd mask_rcnn_ros
$ python2 -m pip install --upgrade pip
$ python2 -m pip install -r requirements.txt
$ cd ../..
$ catkin_make
$ source devel/setup.bash
- Run mask_rcnn node
$ rosrun mask_rcnn_ros mask_rcnn_node
There is a simple example launch file using RGB-D SLAM Dataset.
$ sudo chmod 777 scripts/download_freiburg3_rgbd_example_bag.sh
$ ./scripts/download_freiburg3_rgbd_example_bag.sh
$ roslaunch mask_rcnn_ros freiburg3_rgbd_example.launch
Then RViz window will appear and show result like following:
-
If you have installed Anaconda|Python, Please delete or comment
export PATH=/home/soft/conda3/bin:$PATH
in you~/.bashrc
file. -
When you run the code, please wait for a moment for the result because there will be delay when play bag file and process the images.
-
Welcome to submit any issue if you have problems, and add your software system information details, such as Ubuntu 16/14,ROS Indigo/Kinetic, Python2/Python3, Tensorflow 1.4,etc..