Need help with CSL_RetinaNet_Tensorflow?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Thinklab-SJTU
134 Stars 27 Forks Apache License 2.0 23 Commits 1 Opened issues

Description

Code for ECCV 2020 paper: Arbitrary-Oriented Object Detection with Circular Smooth Label

Services available

!
?

Need anything else?

Contributors list

# 28,611
Tensorf...
Jupyter...
Python
dota
23 commits

Arbitrary-Oriented Object Detection with Circular Smooth Label

License arXiv

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.

Pipeline

2

Circular Smooth Label

5

Latest Performance

DOTA1.0 (Task1)

| Model | Backbone | Training data | Val data | mAP | Model Link | Anchor | Label Mode | Reg. Loss| Angle Range | lr schd | Data Augmentation | GPU | Image/GPU | Configs |
|:------------:|:------------:|:------------:|:---------:|:-----------:|:----------:|:-----------:|:-----------:|:-----------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|
| CSL | ResNet50v1d 600->800 | DOTA1.0 trainval | DOTA1.0 test | 67.38 | Baidu Drive (g3wt) | H | Gaussian (r=1, w=10) | smooth L1 | 180 | 2x | × | 3X GeForce RTX 2080 Ti | 1 | cfgsres50dota_v45.py | | CSL | ResNet50v1d 600->800 | DOTA1.0 trainval | DOTA1.0 test | 68.73 | Baidu Drive (3a4t) | H | Pulse (w=1) | smooth L1 | 180 | 2x | × | 2X GeForce RTX 2080 Ti | 1 | cfgsres50dota_v41.py |

Notice:
Due to the improvement of the code, the performance of this repo is gradually improving, so the experimental results in other configuration files are for reference only.
Please refer to new repo for the latest progress.

Visualization

1

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

Download Model

Pretrain weights

1、Please download resnet50_v1, resnet101_v1 pre-trained models on Imagenet, put it to data/pretrained_weights.
2、(Recommend) Or you can choose to use a better backbone, refer to gluon2TF.
* Baidu Drive, password: 5ht9.
* Google Drive

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  
                    --s (visualization, optional)
                    --ms (multi-scale test, optional)

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

Object Heading Detection

  • OHD-SJTU: Download from here.
  • OHDet: The blue border in the bounding box represents the predicted head of the object. More detail trfer to here.

6

Citation

If this is useful for your research, please consider cite.

@article{yang2020arbitrary,
    title={Arbitrary-Oriented Object Detection with Circular Smooth Label},
    author={Yang, Xue and Yan, Junchi},
    journal={European Conference on Computer Vision (ECCV)},
    year={2020}
    organization={Springer}
}

@article{yang2020on, title={On the Arbitrary-Oriented Object Detection: Classification based Approaches Revisited}, author={Yang, Xue and Yan, Junchi and He, Tao}, year={2020} }

@inproceedings{xia2018dota, title={DOTA: A large-scale dataset for object detection in aerial images}, author={Xia, Gui-Song and Bai, Xiang and Ding, Jian and Zhu, Zhen and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei}, booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}, pages={3974--3983}, year={2018} }

Reference

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.