Skip to content

huangzsdy/faster-rcnn-resnet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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-50 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

About

ResNet Implementation for Faster-rcnn

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 91.4%
  • C 3.3%
  • Shell 2.9%
  • Cuda 1.7%
  • MATLAB 0.6%
  • C++ 0.1%