GithubHelp home page GithubHelp logo

zsh1234567 / retinanet_tensorflow_rotation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from detectionteamucas/retinanet_tensorflow_rotation

0.0 1.0 0.0 55.47 MB

Focal Loss for Dense Rotation Object Detection

License: MIT License

Python 97.41% Makefile 0.01% C++ 0.05% Cuda 2.52%

retinanet_tensorflow_rotation's Introduction

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.

Performance

DOTA1.0

Model Backbone Training data Val data mAP Model Link Anchor Reg. Loss Angle Range lr schd Data Augmentation GPU Image/GPU Configs
RetinaNet ResNet50_v1 600->800 DOTA1.0 trainval DOTA1.0 test 63.18 model H smooth L1 90 1x No 1X GeForce RTX 2080 Ti 1 cfgs_res50_dota_v4.py
RetinaNet ResNet50_v1 600->800 DOTA1.0 trainval DOTA1.0 test 64.10 - H smooth L1 180 1x No 1X GeForce RTX 2080 Ti 1 cfgs_res50_dota_v15.py
RetinaNet ResNet50_v1 600->800 DOTA1.0 trainval DOTA1.0 test 62.76 model R smooth L1 90 1x No 1X GeForce RTX 2080 Ti 1 cfgs_res50_dota_v1.py
RetinaNet ResNet50_v1 600->800 DOTA1.0 trainval DOTA1.0 test 68.65 - R iou-smooth L1 90 1x No 1X GeForce RTX 2080 Ti 1 cfgs_res50_dota_v5.py

Notice:
Due to the improvement of the code, the performance of this repo is gradually improving, so the experimental results in configuration files are for reference only.
This repo has basically stopped updating, please refer to new repo for the latest progress.

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_v1, resnet101_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/label_dict.py     
(3) Add data_name to $PATH_ROOT/data/io/read_tfrecord.py 

2、Make tfrecord
For DOTA dataset:

cd $PATH_ROOT\data\io\DOTA
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=.

3

4

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

retinanet_tensorflow_rotation's People

Contributors

yangxue0827 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.