Feature Pyramid Networks for Object Detection
https://github.com/DetectionTeamUCAS
Recommend an improved version of FPN๏ผA Tensorflow implementation of FPN detection framework.
You can refer to the paper Feature Pyramid Networks for Object Detection
Rotation detection method baesd on FPN reference R2CNN, RRPN and R2CNN_HEAD and R-DFPN
If useful to you, please star to support my work. Thanks.
Configuration Environment
ubuntu(Encoding problems may occur on windows) + python2 + tensorflow1.2 + cv2 + cuda8.0 + GeForce GTX 1080
You can also use docker environment, command: docker pull yangxue2docker/tensorflow3_gpu_cv2_sshd:v1.0
Installation
Clone the repository
git clone https://github.com/yangxue0827/FPN_Tensorflow.git
Make tfrecord
The data is VOC format, reference here
data path format ($FPN_ROOT/data/io/divide_data.py)
โโโ VOCdevkit
โย ย โโโ VOCdevkit_train
โย ย โโโ Annotation
โย ย โโโ JPEGImages
โ โโโ VOCdevkit_test
โย ย โโโ Annotation
โย ย โโโ JPEGImages
cd $FPN_ROOT/data/io/
python convert_data_to_tfrecord.py --VOC_dir='***/VOCdevkit/VOCdevkit_train/' --save_name='train' --img_format='.jpg' --dataset='ship'
Demo
1ใUnzip the weight $FPN_ROOT/output/res101_trained_weights/*.rar
2ใput images in $FPN_ROOT/tools/inference_image
3ใConfigure parameters in $FPN_ROOT/libs/configs/cfgs.py and modify the project's root directory
4ใimage slice
cd $FPN_ROOT/tools
python inference.py
5ใbig image
cd $FPN_ROOT/tools
python demo.py --src_folder=.\demo_src --des_folder=.\demo_des
Train
1ใModify $FPN_ROOT/libs/lable_name_dict/***_dict.py, corresponding to the number of categories in the configuration file
2ใdownload pretrain weight(resnet_v1_101_2016_08_28.tar.gz or resnet_v1_50_2016_08_28.tar.gz) from here, then extract to folder $FPN_ROOT/data/pretrained_weights
3ใ
cd $FPN_ROOT/tools
python train.py
Test tfrecord
cd $FPN_ROOT/tools
python $FPN_ROOT/tools/test.py
here)
eval(Not recommended, Please refercd $FPN_ROOT/tools
python ship_eval.py
Summary
tensorboard --logdir=$FPN_ROOT/output/res101_summary/
Graph
Test results
airplane
sar_ship
ship
Note
This code works better when detecting single targets, but not suitable for multi-target detection tasks. Recommend improved code: https://github.com/DetectionTeamUCAS/FPN_Tensorflow.