Python C Shell Cuda Matlab C++
Switch branches/tags
Nothing to show
Clone or download
Xiaolong Wang
Xiaolong Wang downloads
Latest commit 2a7bb96 Nov 3, 2017
Permalink
Failed to load latest commit information.
data commit message Apr 11, 2017
experiments commit message Apr 11, 2017
lib update protobuf Apr 21, 2017
models/pascal_voc commit message Apr 11, 2017
python_utils commit message Apr 11, 2017
tools commit message Apr 11, 2017
LICENSE commit message Apr 11, 2017
README.md downloads Nov 3, 2017
copy_model.h commit message Apr 11, 2017
train.sh commit message Apr 11, 2017

README.md

A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection

By Xiaolong Wang, Abhinav Shrivastava, and Abhinav Gupta

Introduction

This is a Caffe based version of A-Fast-RCNN (arxiv_link). Although we originally implement it on torch, this Caffe re-implementation is much simpler, faster and easier to use.

We release the code for training A-Fast-RCNN with Adversarial Spatial Dropout Network.

License

This code is released under the MIT License (refer to the LICENSE file for details).

Citing

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

@inproceedings{WangCVPR17afrcnn,
    Author = {Xiaolong Wang and Abhinav Shrivastava and Abhinav Gupta},
    Title = {A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection},
    Booktitle = {Conference on Computer Vision and Pattern Recognition ({CVPR})},
    Year = {2017}
}

Disclaimer

This implementation is built on a fork of the OHEM code (here), which in turn builds on the Faster R-CNN Python code (here) and Fast R-CNN (here). Please cite the appropriate papers depending on which part of the code and/or model you are using.

Results

| Approach                       | training data           | test data         | mAP
| Fast R-CNN  (FRCN)             | VOC 07 trainval         | VOC 07 test       | 67.6
| FRCN with adversary            | VOC 07 trainval         | VOC 07 test       | 70.8

Note: The reported results are based on the VGG16 network.

Installation

Please follow the exact installation and download the VOC data as the Faster R-CNN Python code (here).

Usage

To run the code, one can simply do,

./train.sh

It includes 3-stage of training:

./experiments/scripts/fast_rcnn_std.sh  [GPU_ID]  VGG16 pascal_voc

which is used for training a standard Fast-RCNN for 10K iterations, you can download my model and logs for this step.

./experiments/scripts/fast_rcnn_adv_pretrain.sh  [GPU_ID]  VGG16 pascal_voc

which is a pre-training stage for the adversarial network, you can download my model and logs for this step.

./copy_model.h

which is used to copy the weights of the above two models to initialize the joint model.

./experiments/scripts/fast_rcnn_adv.sh  [GPU_ID]  VGG16 pascal_voc

which is joint training of the detector and the adversarial network, you can download my model and logs for this step.