py-RFCN-priv
py-RFCN-priv is based on py-R-FCN-multiGPU, thanks for bharatsingh430's job.
Disclaimer
The official R-FCN code (written in MATLAB) is available here.
py-R-FCN is modified from the offcial R-FCN implementation and py-faster-rcnn code, and the usage is quite similar to py-faster-rcnn.
py-R-FCN-multiGPU is a modified version of py-R-FCN, the original code is available here.
py-RFCN-priv also supports soft-nms.
caffe-priv supports convolution_depthwise, roi warping, roi mask pooling, bilinear interpolation, selu.
New features
py-RFCN-priv supports:
- Label shuffling (only single GPU training).
- PIXEL_STD.
- Anchors outside image (described in FPN).
- ceil_mode in pooling layer .
- Performing bilinear interpolation operator accoording to input blobs size.
- 2017/07/31: support LargeMarginSoftmax and cpu forward psroipooling.
- 2017/08/04: add Deeplab and PSPNet support.
- 2017/08/10: add Deform psroipooling by lzx1413.
- 2017/08/18: add ROIAlign support.
- 2017/08/27: add Axpy layer for Senet support.
- 2017/09/04: add Focal loss
Installation
-
Clone the py-RFCN-priv repository
git clone https://github.com/soeaver/py-RFCN-priv
We'll call the directory that you cloned py-RFCN-priv into
PRIV_ROOT
-
Build the Cython modules
cd $PRIV_ROOT/lib make
-
Build Caffe and pycaffe
cd $RFCN_ROOT/caffe-priv # Now follow the Caffe installation instructions here: # http://caffe.berkeleyvision.org/installation.html # cp Makefile.config.example Makefile.config # If you're experienced with Caffe and have all of the requirements installed # and your Makefile.config in place, then simply do: make all -j && make pycaffe -j
Note: Caffe must be built with support for Python layers!
# In your Makefile.config, make sure to have this line uncommented WITH_PYTHON_LAYER := 1 # Unrelatedly, it's also recommended that you use CUDNN USE_CUDNN := 1 # NCCL (https://github.com/NVIDIA/nccl) is necessary for multi-GPU training with python layer USE_NCCL := 1
How to install nccl
git clone https://github.com/NVIDIA/nccl.git cd nccl sudo make install -j sudo ldconfig
License
py-RFCN-priv and caffe-priv are released under the MIT License (refer to the LICENSE file for details).
Citing
If you find R-FCN or soft-nms useful in your research, please consider citing:
@article{dai16rfcn,
Author = {Jifeng Dai, Yi Li, Kaiming He, Jian Sun},
Title = {{R-FCN}: Object Detection via Region-based Fully Convolutional Networks},
Journal = {arXiv preprint arXiv:1605.06409},
Year = {2016}
}
@article{1704.04503,
Author = {Navaneeth Bodla and Bharat Singh and Rama Chellappa and Larry S. Davis},
Title = {Improving Object Detection With One Line of Code},
Journal = {arXiv preprint arXiv:1704.04503},
Year = {2017}
}