ResNet Implementation for Faster-rcnn
Switch branches/tags
Nothing to show
Clone or download
Latest commit aba743e Apr 28, 2018
Permalink
Failed to load latest commit information.
data init Feb 19, 2017
experiments init Feb 19, 2017
lib init Feb 19, 2017
models fixed bug: change res4bf to res4f Apr 2, 2017
tools init Feb 19, 2017
.gitignore add ignore file Feb 19, 2017
LICENSE init Feb 19, 2017
README.md fix typo Apr 28, 2018

README.md

Faster-RCNN-ResNet

This code extends py-faster-rcnn by adding ResNet implementation and Online Hard Example Mining.

This is a ResNet Implementation for Faster-RCNN. The faster rcnn code is based on py-faster-rcnn. The ohem code is based on ohem. To reduce the memory usage, we use batchnorm layer in Microsoft's caffe

Modification

  1. The caffe-fast-rcnn we use is a little different from the one py-faster-rcnn use, it uses the batchnorm layer from Microsoft's caffe to reduce the memory usage.
  2. Using the in-place eltwise sum within the PR
  3. To reduce the memory usage, we also release a pretrained ResNet-101 model in which batchnorm layer's parameters is merged into scale layer's, see tools/merge_bn_scale.py form more detail.
  4. Use Online-Hard-Example-Mining while training.

Installation

The usage is similar to py-faster-rcnn.

  1. Clone this repository
git clone https://github.com/Eniac-Xie/faster-rcnn-resnet.git

We'll call the directory that you cloned faster-rcnn-resnet ROOT

  1. Clone the modified caffe-fast-rcnn
cd $ROOT/
git clone https://github.com/Eniac-Xie/caffe-fast-rcnn.git
  1. Build Cython module
 cd $ROOT/lib/
 make
  1. Build Caffe
 cd $ROOT/caffe-fast-rcnn
 make all -j8
 make pycaffe

Result

training data test data ohem mAP@0.5
Faster-RCNN, ResNet-101 VOC 07+12 trainval VOC 07 test False 78.78%
Faster-RCNN, ResNet-101 VOC 07+12 trainval VOC 07 test True 79.44%

Testing

Download faster-rcnn-resnet weights from:

faster-rcnn-resnet without ohem (BaiduYun)

faster-rcnn-resnet without ohem (OneDrive)

faster-rcnn-resnet with ohem (BaiduYun)

faster-rcnn-resnet with ohem (OneDrive)

then you can do as follow:

 cd $ROOT/
 sh experiments/scripts/train_resnet101_bn_scale_merged_0712_end2end.sh
 make

or

 cd $ROOT/
 sh experiments/scripts/train_resnet101_bn_scale_merged_0712_end2end_ohem.sh
 make

Training

Download resnet-101 pretrained model, note that we use a modified version in which batchnorm layer's parameters is merged into scale layer's, you can download the model from Baidu Yun or OneDrive

then you can do as follow:

 cd $ROOT/
 sh experiments/scripts/train_resnet101_bn_scale_merged_0712_end2end.sh

or

 cd $ROOT/
 sh experiments/scripts/train_resnet101_bn_scale_merged_0712_end2end_ohem.sh