资源算法RetinaNet_Tensorflow_Rotation

RetinaNet_Tensorflow_Rotation

2020-02-18 | |  48 |   0 |   0

Focal Loss for Dense Rotation Object Detection

Abstract

This repo is based on Focal Loss for Dense Object Detection, and it is completed by YangXue.

This is the baseline work of R3Det, paper link: R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object.

Performance

More results and trained models are available in the MODEL_ZOO.md.

DOTA1.0

ModelBackboneTraining dataVal datamAPGPUImage/GPUAnchorReg. Losslr schdData AugmentationConfigs
RetinaNet (baseline)ResNet50_v1d 600->800DOTA1.0 trainvalDOTA1.0 test62.221X GeForce RTX 2080 Ti1Hsmooth L11xNocfgs_res50_dota_v4.py
RetinaNet (baseline)ResNet50_v1d 600->800DOTA1.0 trainvalDOTA1.0 test62.798X GeForce RTX 2080 Ti1Hsmooth L12xNocfgs_res50_dota_v8.py
RetinaNet (baseline)ResNet101_v1d 600->800DOTA1.0 trainvalDOTA1.0 test64.191X GeForce RTX 2080 Ti1Hsmooth L11xNocfgs_res101_dota_v9.py
RetinaNet (baseline)ResNet152_v1d 600->800DOTA1.0 trainvalDOTA1.0 test65.798X GeForce RTX 2080 Ti1Hsmooth L12xNocfgs_res152_dota_v12.py












RetinaNet (baseline)ResNet50_v1d 600->800DOTA1.0 trainvalDOTA1.0 test61.941X GeForce RTX 2080 Ti1Rsmooth L11xNocfgs_res50_dota_v1.py
RetinaNet (baseline)ResNet50_v1d 600->800DOTA1.0 trainvalDOTA1.0 test62.258X GeForce RTX 2080 Ti1Rsmooth L12xNocfgs_res50_dota_v10.py
RetinaNetResNet50_v1d 600->800DOTA1.0 trainvalDOTA1.0 test68.651X GeForce RTX 2080 Ti1Riou-smooth L11xNocfgs_res50_dota_v5.py












R3DetResNet50_v1d 600->800DOTA1.0 trainvalDOTA1.0 test65.738X GeForce RTX 2080 Ti1H + Rsmooth L12xNo-
R3Det*ResNet50_v1d 600->800DOTA1.0 trainvalDOTA1.0 test67.208X GeForce RTX 2080 Ti1H + Rsmooth L12xNo-
R3DetResNet101_v1d 600->800DOTA1.0 trainvalDOTA1.0 test71.698X GeForce RTX 2080 Ti1H + Rsmooth L13xYes-
R3DetResNet152_v1d 600->800DOTA1.0 trainvalDOTA1.0 test72.818X GeForce RTX 2080 Ti1H + Rsmooth L14xYes-
R3Det*ResNet152_v1d 600->800DOTA1.0 trainvalDOTA1.0 test73.748X GeForce RTX 2080 Ti1H + Rsmooth L14xYes-












R3Det++ResNet50_v1d 600->800DOTA1.0 trainvalDOTA1.0 test68.548X GeForce RTX 2080 Ti1H + Rsmooth L12xNo-
R3Det++ResNet152_v1d 600->800DOTA1.0 trainvalDOTA1.0 test74.418X GeForce RTX 2080 Ti1H + Rsmooth L14xYes-
R3Det++ResNet152_v1d MSDOTA1.0 trainvalDOTA1.0 test76.564X GeForce RTX 2080 Ti1H + R + moresmooth L16xYes-

R3Det*: R3Det with two refinement stages
The performance of all models comes from the source paper.

Visualization

1

2

My Development Environment

docker images: docker pull yangxue2docker/yx-tf-det:tensorflow1.13.1-cuda10-gpu-py3
1、python3.5 (anaconda recommend)
2、cuda 10.0
3、opencv(cv2)
4、tfplot 0.2.0 (optional)
5、tensorflow 1.13

IoU-smooth L1 Loss

SCRDet: Towards More Robust Detection for Small, Cluttered and Rotated Objects (ICCV2019)

1

2

Download Model

Pretrain weights

1、Please download resnet50_v1resnet101_v1 pre-trained models on Imagenet, put it to data/pretrained_weights.
2、(Recommend in this repo) Or you can choose to use a better backbone, refer to gluon2TF.

Compile

cd $PATH_ROOT/libs/box_utils/cython_utils
python setup.py build_ext --inplace (or make)

cd $PATH_ROOT/libs/box_utils/
python setup.py build_ext --inplace

Train

1、If you want to train your own data, please note:

(1) Modify parameters (such as CLASS_NUM, DATASET_NAME, VERSION, etc.) in $PATH_ROOT/libs/configs/cfgs.py
(2) Add category information in $PATH_ROOT/libs/label_name_dict/lable_dict.py     
(3) Add data_name to $PATH_ROOT/data/io/read_tfrecord.py

2、Make tfrecord
For DOTA dataset:

cd $PATH_ROOTdataioDOTA
python data_crop.py
cd $PATH_ROOT/data/io/  
python convert_data_to_tfrecord.py --VOC_dir='/PATH/TO/DOTA/' 
                                   --xml_dir='labeltxt'
                                   --image_dir='images'
                                   --save_name='train' 
                                   --img_format='.png' 
                                   --dataset='DOTA'

3、Multi-gpu train

cd $PATH_ROOT/tools
python multi_gpu_train.py

Eval

cd $PATH_ROOT/tools
python test_dota.py --test_dir='/PATH/TO/IMAGES/'  
                    --gpus=0,1,2,3,4,5,6,7

Tensorboard

cd $PATH_ROOT/output/summary
tensorboard --logdir=.


Reference

1、https://github.com/endernewton/tf-faster-rcnn
2、https://github.com/zengarden/light_head_rcnn
3、https://github.com/tensorflow/models/tree/master/research/object_detection
4、https://github.com/fizyr/keras-retinanet


上一篇:tensorflow_retinanet

下一篇:esri_retinanet

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...