All Projects → DetectionTeamUCAS → Retinanet_tensorflow_rotation

DetectionTeamUCAS / Retinanet_tensorflow_rotation

Licence: mit
Focal Loss for Dense Rotation Object Detection

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Retinanet tensorflow rotation

Core
Open source Dota 2 data platform
Stars: ✭ 1,266 (+358.7%)
Mutual labels:  dota
open dota api
Ruby client for Dota 2 from OpenDotaAPI
Stars: ✭ 19 (-93.12%)
Mutual labels:  dota
listen-bot
a dota related discord bot
Stars: ✭ 23 (-91.67%)
Mutual labels:  dota
Dota imba
Repo for the development of Dota IMBA, a mod for Valve's Dota 2.
Stars: ✭ 120 (-56.52%)
Mutual labels:  dota
R2cnn Plus Plus tensorflow
This is a tensorflow implementation of R2CNN++: Multi-Dimensional Attention Based Rotation Invariant Detector with Robust Anchor Strategy.
Stars: ✭ 208 (-24.64%)
Mutual labels:  dota
LegionTD-Reborn
A custom game mode inspired by Legion TD for DotA 2
Stars: ✭ 34 (-87.68%)
Mutual labels:  dota
Web
React web interface for the OpenDota platform
Stars: ✭ 889 (+222.1%)
Mutual labels:  dota
dotapatch
Dota 2: Changelog formatted as it should be.
Stars: ✭ 11 (-96.01%)
Mutual labels:  dota
Rrpn faster Rcnn tensorflow
A tensorflow re-implementation of RRPN: Arbitrary-Oriented Scene Text Detection via Rotation Proposals.
Stars: ✭ 243 (-11.96%)
Mutual labels:  dota
dotaUpdatesBot
A telegram bot for dota2 updates
Stars: ✭ 24 (-91.3%)
Mutual labels:  dota
Mobile
React Native apps for viewing Dota 2 data on Android/iOS
Stars: ✭ 134 (-51.45%)
Mutual labels:  dota
D Optimizer
Make Dota 2 fps great again
Stars: ✭ 161 (-41.67%)
Mutual labels:  dota
yolov5 obb
yolov5 + csl_label.(Oriented Object Detection)(Rotation Detection)(Rotated BBox)基于yolov5的旋转目标检测
Stars: ✭ 1,105 (+300.36%)
Mutual labels:  dota
Foda
You are at FODA source code. Play now for free
Stars: ✭ 92 (-66.67%)
Mutual labels:  dota
dotacard
You are at FODA artwork repository. Play now for free
Stars: ✭ 22 (-92.03%)
Mutual labels:  dota
Schedulebot
A Discord bot that makes scheduling easy
Stars: ✭ 44 (-84.06%)
Mutual labels:  dota
Fortify
Dota Underlords data platform
Stars: ✭ 14 (-94.93%)
Mutual labels:  dota
Dota-2-Chat-Wheel-Soundboard
A Soundboard that plays Chat Wheel Sounds (from The International 7 Compendium) over ingame voice.
Stars: ✭ 14 (-94.93%)
Mutual labels:  dota
Dota2WebApi
A Dota 2 Web API for Liquipedia
Stars: ✭ 24 (-91.3%)
Mutual labels:  dota
SteamBuff Market-WalletBalance
饰品筛选倒余额 比例自定义 已适配buff c5game igxe
Stars: ✭ 66 (-76.09%)
Mutual labels:  dota

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.

We also recommend a tensorflow-based rotation detection benchmark, which is led 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_v1d 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_v1d 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_v1d 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_v1d 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

Test

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

Notice: In order to set the breakpoint conveniently, the read and write mode of the file is' a+'. If the model of the same #VERSION needs to be tested again, the original test results need to be deleted.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].