Awesome
Feature Pyramid Network on caffe
This is the unoffical version Feature Pyramid Network for Feature Pyramid Networks for Object Detection https://arxiv.org/abs/1612.03144
results
FPN(resnet50)-end2end result is implemented without OHEM and train with pascal voc 2007 + 2012 test on 2007
merged rcnn
mAP@0.5 | aeroplane | bicycle | bird | boat | bottle | bus | car | cat | chair | cow |
---|---|---|---|---|---|---|---|---|---|---|
0.788 | 0.8079 | 0.8036 | 0.8010 | 0.7293 | 0.6743 | 0.8680 | 0.8766 | 0.8967 | 0.6122 | 0.8646 |
diningtable | dog | horse | motorbike | person | pottedplant | sheep | sofa | train | tv |
---|---|---|---|---|---|---|---|---|---|
0.7330 | 0.8855 | 0.8760 | 0.8063 | 0.7999 | 0.5138 | 0.7905 | 0.7755 | 0.8637 | 0.7736 |
shared rcnn
mAP@0.5 | aeroplane | bicycle | bird | boat | bottle | bus | car | cat | chair | cow |
---|---|---|---|---|---|---|---|---|---|---|
0.7833 | 0.8585 | 0.8001 | 0.7970 | 0.7174 | 0.6522 | 0.8668 | 0.8768 | 0.8929 | 0.5842 | 0.8658 |
diningtable | dog | horse | motorbike | person | pottedplant | sheep | sofa | train | tv |
---|---|---|---|---|---|---|---|---|---|
0.7022 | 0.8891 | 0.8680 | 0.7991 | 0.7944 | 0.5065 | 0.7896 | 0.7707 | 0.8697 | 0.7653 |
framework
megred rcnn framework
Network overview: link
shared rcnn
Network overview: link
the red and yellow are shared params
about the anchor size setting
In the paper the anchor setting is Ratios: [0.5,1,2],scales :[8,]
With the setting and P2~P6, all anchor sizes are [32,64,128,512,1024]
,but this setting is suit for COCO dataset which has so many small targets.
But the voc dataset targets are range [128,256,512]
.
So, we desgin the anchor setting:Ratios: [0.5,1,2],scales :[8,16]
, this is very import for voc dataset.
usage
download voc07,12 dataset ResNet50.caffemodel
and rename to ResNet50.v2.caffemodel
cp ResNet50.v2.caffemodel data/pretrained_model/
- OneDrive download: link
In my expriments, the codes require ~10G GPU memory in training and ~6G in testing. your can design the suit image size, mimbatch size and rcnn batch size for your GPUS.
compile caffe & lib
cd caffe-fpn
mkdir build
cd build
cmake ..
make -j16 all
cd lib
make
train & test
shared rcnn
./experiments/scripts/FP_Net_end2end.sh 1 FPN pascal_voc
./test.sh 1 FPN pascal_voc
megred rcnn
./experiments/scripts/FP_Net_end2end_merge_rcnn.sh 0 FPN pascal_voc
./test_mergercnn.sh 0 FPN pascal_voc
0 1 is GPU id.
TODO List
- all tests passed
- evaluate object detection performance on voc
- evaluate merged rcnn version performance on voc
feature pyramid networks for object detection
Lin, T. Y., Dollár, P., Girshick, R., He, K., Hariharan, B., & Belongie, S. (2016). Feature pyramid networks for object detection. arXiv preprint arXiv:1612.03144.