This is a repository that I forked from yangxue0827/R2CNN_HEAD_FPN_Tensorflow,which serves for my graduation project.
I'd like to start my graduation project based on this paper and this code repository. So I'm going to make some own changes to this repository in future 6 months.
If there is any offence, I'll delete this repository as soon as possible.
If you want to find the official version code repository of paper "Position Detection and Direction Prediction for Arbitrary-Oriented Ships via Multitask Rotation Region Convolutional Neural Network",please go to yangxue0827/R2CNN_HEAD_FPN_Tensorflow
The following is original text:
R2CNN_HEAD (The paper is under review.): Position Detection and Direction Prediction for Arbitrary-Oriented Ships via Multiscale Rotation Region Convolutional Neural Network
Recommend improved code: https://github.com/DetectionTeamUCAS
A 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.
Some relevant achievements based on this code.
@article{[yang2018position](https://ieeexplore.ieee.org/document/8464244),
title={Position Detection and Direction Prediction for Arbitrary-Oriented Ships via Multitask Rotation Region Convolutional Neural Network},
author={Yang, Xue and Sun, Hao and Sun, Xian and Yan, Menglong and Guo, Zhi and Fu, Kun},
journal={IEEE Access},
volume={6},
pages={50839-50849},
year={2018},
publisher={IEEE}
}
@article{[yang2018r-dfpn](http://www.mdpi.com/2072-4292/10/1/132),
title={Automatic ship detection in remote sensing images from google earth of complex scenes based on multiscale rotation dense feature pyramid networks},
author={Yang, Xue and Sun, Hao and Fu, Kun and Yang, Jirui and Sun, Xian and Yan, Menglong and Guo, Zhi},
journal={Remote Sensing},
volume={10},
number={1},
pages={132},
year={2018},
publisher={Multidisciplinary Digital Publishing Institute}
}
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
Clone the repository
git clone https://github.com/yangxue0827/R2CNN_HEAD_FPN_Tensorflow.git
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'
cd $PATH_ROOT/libs/box_utils/
python setup.py build_ext --inplace
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
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
cd $R2CNN_HEAD_ROOT/tools
python test.py
eval(Not recommended, Please refer here)
cd $R2CNN_HEAD_ROOT/tools
python eval.py
tensorboard --logdir=$R2CNN_HEAD_ROOT/output/res101_summary/