• Stars
    star
    279
  • Rank 147,523 (Top 3 %)
  • Language
    Python
  • Created over 7 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Region-based FCN implemented with PyTorch

This is a PyTorch implementation of R-FCN for object detection. This project is mainly based on faster_rcnn_pytorch

For details about R-FCN please refer to the paper R-FCN: Object Detection via Region-based Fully Convolutional Networks by Jifeng Dai, Yi Li, Kaiming He, Jian Sun.

Installation

  1. Clone the this repository

    git clone https://github.com/PureDiors/pytorch_RFCN.git
  2. Build the Cython modules for nms and the psroi_pooling layer

    cd faster_rcnn_pytorch/faster_rcnn
    ./make.sh

The psroi pooling layer is defined in the folder faster_rcnn/psroi_pooling, and the whole detection network is implemented in faster_rcnn/rfcn.py.

Training on Pascal VOC 2007

Follow this project (TFFRCNN) to download and prepare the training, validation, test data and the VGG16 model pre-trained on ImageNet.

Since the program loading the data in faster_rcnn_pytorch/data by default, you can set the data path as following.

cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007

The speed for training the rfcn with VGG16 on a Nvidia Titan X(Pascal) is 4.9 fps, and 12 fps for testing.

You can set some hyper-parameters in train.py and training parameters in the .yml file.

Training with TensorBoard

With the aid of Crayon, we can access the visualisation power of TensorBoard for any deep learning framework.

To use the TensorBoard, install Crayon (https://github.com/torrvision/crayon) and set use_tensorboard = True in faster_rcnn/train.py.

Evaluation

Set the path of the trained model in test.py.

cd faster_rcnn_pytorch
mkdir output
python test.py