Home

Awesome

pytorch-mask-rcnn

A pytorch implementation of Mask RCNN detection framework based on

This project supports single-GPU training of ResNet101-based Mask R-CNN (without FPN support). The purpose is to support the experiments in MAttNet, whose REFER dataset is a subset of COCO training portion. Thus our pre-trained model takes COCO_2014_train_minus_refer_valtest + COCO_2014_valminusminival images for training.

Prerequisites

Preparation

  1. First of all, clone the code with refer API:
git clone --recursive https://github.com/lichengunc/mask-faster-rcnn
  1. Prepare data:
git clone https://github.com/cocodataset/cocoapi data/coco
git clone https://github.com/lichengunc/refer data/refer
python tools/make_coco_minus_refer_instances.py

Compilation

As pointed out by ruotianluo/pytorch-faster-rcnn, choose the right -arch to compile the cuda code:

GPU modelArchitecture
TitanX (Maxwell/Pascal)sm_52
GTX 960Msm_50
GTX 1080 (Ti)sm_61
Grid K520 (AWS g2.2xlarge)sm_30
Tesla K80 (AWS p2.xlarge)sm_37

Compile the CUDA-based nms and roi_pooling using following simple commands:

cd lib
make

Training

Run by (notime as extra/tag)

./experiments/scripts/train_mask_rcnn_notime.sh 0 refcoco res101 notime

Checking the training process by calling tensorboard, and check it at server.cs.unc.edu:port_number

tensorboard --logdir tensorboard/res101 --port=port_number

Evaluation

Run by (notime as extra/tag)

./experiments/scripts/test_mask_rcnn_notime.sh 0 refcoco res101 notime

Detection Comparison:

DetectionAPAP50AP75
Faster R-CNN34.153.736.8
Our Mask R-CNN35.855.338.6

Segmentation Comparison:

SegmentationAPAP50AP75
Original Mask R-CNN32.754.234.0
Our Mask R-CNN30.752.332.4

Pretrained Model

We provide the model we used in MAttNet for mask comprehension.

Download and put the downloaded .pth and .pkl files into output/res101/coco_2014_train_minus_refer_valtest+coco_2014_valminusminival/notime

Demo