Awesome
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.