Home

Awesome

RON: Reverse Connection with Objectness Prior Networks for Object Detection

RON is a state-of-the-art visual object detection system for efficient object detection framework. The code is modified from py-faster-rcnn. You can use the code to train/evaluate a network for object detection task. For more details, please refer to our CVPR paper.

***There is also a tensorflow re-implementation of RON at RON_Tensorflow, thanks @HiKapok!

Citing RON

If you find RON useful in your research, please consider citing:

@inproceedings{KongtCVPR2017,
    Author = {Tao Kong, Fuchun Sun, Anbang Yao, Huaping Liu, Ming Lu, Yurong Chen},
    Title = {RON: Reverse Connection with Objectness Prior Networks for Object Detection},
    Booktitle = {IEEE Conference on Computer Vision and Pattern Recognition},
    Year = {2017}
}

PASCAL VOC detection results

MethodVOC 2007 mAPVOC 2012 mAPInput resolution
Fast R-CNN70.0%68.4%1000*600
Faster R-CNN73.2%70.4%1000*600
SSD30072.1%70.3%300*300
SSD50075.1%73.1%500*500
RON32074.2%71.7%320*320
RON38475.4%73.0%384*384

MS COCO detection results

MethodTraining dataAP(0.50-0.95)Input resolution
Faster R-CNNtrainval21.9%1000*600
SSD500trainval35k24.4%500*500
RON320trainval23.6%320*320
RON384trainval25.4%384*384

Note: SSD300 and SSD500 are the original SSD model from SSD.

RON Installation

  1. Clone the RON repository

    git clone https://github.com/taokong/RON.git
    
    
  2. Build Caffe and pycaffe

    cd $RON_ROOT/
    git clone https://github.com/taokong/caffe-ron.git
    cd caffe-ron
    make -j8 && make pycaffe
    *this version use CUDNN for efficiency, so make sure that "USE_CUDNN := 1" in the Makefile.config file.
    
  3. Build the Cython modules

    cd $RON_ROOT/lib
    make
    
  4. installation for training and testing models on PASCAL VOC dataset

    3.0 The PASCAL VOC dataset has the basic structure:

     $VOCdevkit/                           # development kit
     $VOCdevkit/VOCcode/                   # VOC utility code
     $VOCdevkit/VOC2007                    # image sets, annotations, etc.
     
    

    3.1 Create symlinks for the PASCAL VOC dataset

     cd $RON_ROOT/data
     ln -s $VOCdevkit VOCdevkit2007
     ln -s $VOCdevkit VOCdevkit2012
    
  5. Test with PASCAL VOC dataset

    Now we provide two models for testing the pascal voc 2007 test dataset. To use demo you need to download the pretrained RON model, please download the model manually from BaiduYun(Google Drive), and put it under $data/RON_models.

    4.0 The original model as introduced in the RON paper:

     ./test_voc07.sh
     # The final result of the model should be 74.2% mAP.
     
    

    4.1 A lite model we make some optimization after the original one:

     ./test_voc07_reduced.sh
     # The final result of the model should be 74.1% mAP.
    
  6. Train with PASCAL VOC dataset

   Please download ImageNet-pre-trained VGG models manually from BaiduYun(Google Drive), and put them into $data/ImageNet_models. Then everything is done, you could train your own model.

5.0 The original model as introduced in the RON paper: 

    ./train_voc.sh
    
5.1 A lite model we make some optimization after the original one:

    ./train_voc_reduced.sh