Chainer Implementation of Mask R-CNN. (Training code to reproduce the original result is available.)
Clone or download
Latest commit fa49166 Oct 26, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
chainer_mask_rcnn Fix for flake8 Oct 25, 2018
examples Add img_file arg Oct 26, 2018
tests ROIAlign2D's sampling_ratio must be >= 0 Jun 16, 2018
.gitignore Release to pypi Apr 3, 2018
.gitmodules Add custom dataset example Jun 13, 2018
.travis.yml Use hacking Oct 25, 2018
LICENSE Add LICENSE Apr 4, 2018
MANIFEST.in Include package_data Jun 17, 2018
README.md Update README.md Aug 3, 2018
requirements.txt Use latest fcn to install instances_valminusminival2014.json.zip Oct 18, 2018
setup.cfg Fix for flake8 Jul 29, 2018
setup.py 0.5.13 Aug 1, 2018

README.md

chainer-mask-rcnn

PyPI version Python Versions Build Status

Chainer Implementation of Mask R-CNN.

Features


Fig 1. Mask R-CNN, ResNet50, 8GPU, Ours, COCO 31.4 mAP@50:95

COCO Results

Model Implementation N gpu training mAP@50:95 Log
Mask R-CNN, ResNet50 Ours 8 31.5 - 31.8 Log
Mask R-CNN, ResNet50 Detectron 8 31.4 (30.8 after copied) Log
FCIS, ResNet50 FCIS 8 27.1 -

Inference

# you can use your trained model
./demo.py logs/<YOUR_TRAINING_LOG> --img <IMAGE_PATH_OR_URL>

# COCO Example: Mask R-CNN, ResNet50, 31.4 mAP@50:95
cd examples/coco
LOG_DIR=logs/20180730_081433
mkdir -p $LOG_DIR
pip install gdown
gdown https://drive.google.com/uc?id=1XC-Mx4HX0YBIy0Fbp59EjJFOF7a3XK0R -O $LOG_DIR/snapshot_model.npz
gdown https://drive.google.com/uc?id=1fXHanL2pBakbkv83wn69QhI6nM6KjrzL -O $LOG_DIR/params.yaml
./demo.py $LOG_DIR

# copy weight from caffe2 to chainer
cd examples/coco
./convert_caffe2_to_chainer.py  # or download from https://drive.google.com/open?id=1WOEtVnxqYdHl35pAyIcp-H0HtTjI-l3V
./demo.py logs/R-50-C4_x1_caffe2_to_chainer --img https://raw.githubusercontent.com/facebookresearch/Detectron/master/demo/33823288584_1d21cf0a26_k.jpg
./demo.py logs/R-50-C4_x1_caffe2_to_chainer --img https://raw.githubusercontent.com/facebookresearch/Detectron/master/demo/17790319373_bd19b24cfc_k.jpg


Fig 2. Mask R-CNN, ResNet50, 8GPU, Copied from Detectron, COCO 31.4 mAP@50:95

Installation & Training

Single GPU Training

# Install Chainer Mask R-CNN.
pip install opencv-python
pip install .

# Run training!
cd examples/coco && ./train.py --gpu 0

Multi GPU Training

# Install OpenMPI
wget https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.gz
tar zxvf openmpi-3.0.0.tar.gz
cd openmpi-3.0.0
./configure --with-cuda
make -j4
sudo make install
sudo ldconfig

# Install NCCL
# dpkg -i nccl-repo-ubuntu1404-2.1.4-ga-cuda8.0_1-1_amd64.deb
dpkg -i nccl-repo-ubuntu1604-2.1.15-ga-cuda9.1_1-1_amd64.deb
sudo apt update
sudo apt install libnccl2 libnccl-dev

# Install ChainerMN
pip install chainermn

# Finally, install Chainer Mask R-CNN.
pip install opencv-python
pip install .

# Run training!
cd examples/coco && mpirun -n 4 ./train.py --multi-node

Testing

pip install flake8 pytest
flake8 .
pytest -v tests