R2CNN_HEAD (The paper is under review.): Position Detection and Direction Prediction for Arbitrary-Oriented Ships via Multiscale Rotation Region Convolutional Neural Network
https://github.com/DetectionTeamUCAS soon and be evaluated in common data sets (VOC pascal, icdar). Stay tuned!
Some popular new re-implementation detectors (Faster-RCNN, FPN, R2CNN, RRPN, R-DFPN etc) will be upload inA Tensorflow implementation of FPN or R2CNN detection framework based on FPN.
You can refer to the papers R2CNN Rotational Region CNN for Orientation Robust Scene Text Detection or Feature Pyramid Networks for Object Detection
Other rotation detection method reference R-DFPN, RRPN and R2CNN
If useful to you, please star to support my work. Thanks.
R-DFPN
CitingIf you find R-DFPN useful in your research, please consider citing:
@article{yangxue_r-dfpn:http://www.mdpi.com/2072-4292/10/1/132
Author = {Xue Yang, Hao Sun, Kun Fu, Jirui Yang, Xian Sun, Menglong Yan and Zhi Guo},
Title = {{R-DFPN}: Automatic Ship Detection in Remote Sensing Images from Google Earth of Complex Scenes Based on Multiscale Rotation Dense Feature Pyramid Networks},
Journal = {Published in remote sensing},
Year = {2018}
}
Configuration Environment
ubuntu(Encoding problems may occur on windows) + python2 + tensorflow1.2 + cv2 + cuda8.0 + GeForce GTX 1080
If you want to use cpu, you need to modify the parameters of NMS and IOU functions use_gpu = False in cfgs.py
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/R2CNN_HEAD_FPN_Tensorflow.git
Make tfrecord
The image name is best in English.
The data is VOC format, reference here
data path format ($R2CNN_HEAD_ROOT/data/io/divide_data.py)
VOCdevkit
VOCdevkit_train
Annotation
JPEGImages
VOCdevkit_test
Annotation
JPEGImages
Clone the repository
cd $R2CNN_HEAD_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 $R2CNN_HEAD_ROOT/output/res101_trained_weights/*.rar
2、put images in $R2CNN_HEAD_ROOT/tools/inference_image
3、Configure parameters in $R2CNN_HEAD_ROOT/libs/configs/cfgs.py and modify the project's root directory
4、
cd $R2CNN_HEAD_ROOT/tools
5、image slice
python inference.py
6、big image
cd $FPN_ROOT/tools
python demo.py --src_folder=.\demo_src --des_folder=.\demo_des
Train
1、Modify $R2CNN_HEAD_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 $R2CNN_HEAD_ROOT/data/pretrained_weights
3、
cd $R2CNN_HEAD_ROOT/tools
python train.py
Test tfrecord
cd $R2CNN_HEAD_ROOT/tools
python test.py
eval
cd $R2CNN_HEAD_ROOT/tools
python eval.py
Summary
tensorboard --logdir=$R2CNN_HEAD_ROOT/output/res101_summary/