All Projects → Thinklab-SJTU → Csl_retinanet_tensorflow

Thinklab-SJTU / Csl_retinanet_tensorflow

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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Csl retinanet tensorflow

Universenet
Object detection. EfficientDet-D5 level COCO AP in 20 epochs. SOTA single-stage detector on Waymo Open Dataset.
Stars: ✭ 128 (-8.57%)
Mutual labels:  object-detection
Paz
Hierarchical perception library in Python for pose estimation, object detection, instance segmentation, keypoint estimation, face recognition, etc.
Stars: ✭ 131 (-6.43%)
Mutual labels:  object-detection
Copy Paste Aug
Copy-paste augmentation for segmentation and detection tasks
Stars: ✭ 132 (-5.71%)
Mutual labels:  object-detection
Color Tracker
Color tracking with OpenCV
Stars: ✭ 128 (-8.57%)
Mutual labels:  object-detection
Object Localization
Object localization in images using simple CNNs and Keras
Stars: ✭ 130 (-7.14%)
Mutual labels:  object-detection
Tf2 Yolov4
A TensorFlow 2.0 implementation of YOLOv4: Optimal Speed and Accuracy of Object Detection
Stars: ✭ 133 (-5%)
Mutual labels:  object-detection
Pick Place Robot
Object picking and stowing with a 6-DOF KUKA Robot using ROS
Stars: ✭ 126 (-10%)
Mutual labels:  object-detection
Wsddn
Weakly Supervised Deep Detection Networks (CVPR 2016)
Stars: ✭ 138 (-1.43%)
Mutual labels:  object-detection
Make Sense
Free to use online tool for labelling photos. https://makesense.ai
Stars: ✭ 2,087 (+1390.71%)
Mutual labels:  object-detection
Yolov5 ncnn android
YOLOv5 C++ Implementation on Android using NCNN framework
Stars: ✭ 136 (-2.86%)
Mutual labels:  object-detection
Centernet Tensorflow
CenterNet: Objects as Points in Tensorflow
Stars: ✭ 129 (-7.86%)
Mutual labels:  object-detection
Object detection demo
How to train an object detection model easy for free
Stars: ✭ 130 (-7.14%)
Mutual labels:  object-detection
Mxnet.sharp
.NET Standard bindings for Apache MxNet with Imperative, Symbolic and Gluon Interface for developing, training and deploying Machine Learning models in C#. https://mxnet.tech-quantum.com/
Stars: ✭ 134 (-4.29%)
Mutual labels:  object-detection
Robust Detection Benchmark
Code, data and benchmark from the paper "Benchmarking Robustness in Object Detection: Autonomous Driving when Winter is Coming" (NeurIPS 2019 ML4AD)
Stars: ✭ 128 (-8.57%)
Mutual labels:  object-detection
Psconv
[ECCV 2020] PSConv: Squeezing Feature Pyramid into One Compact Poly-Scale Convolutional Layer
Stars: ✭ 138 (-1.43%)
Mutual labels:  object-detection
Swa object detection
SWA Object Detection
Stars: ✭ 128 (-8.57%)
Mutual labels:  object-detection
2d detection
TensorFlow implementation of SqueezeDet, trained on the KITTI dataset.
Stars: ✭ 132 (-5.71%)
Mutual labels:  object-detection
Deep Learning For Tracking And Detection
Collection of papers, datasets, code and other resources for object tracking and detection using deep learning
Stars: ✭ 1,920 (+1271.43%)
Mutual labels:  object-detection
Centernet
Codes for our paper "CenterNet: Keypoint Triplets for Object Detection" .
Stars: ✭ 1,750 (+1150%)
Mutual labels:  object-detection
Domain Adaptive Faster Rcnn Pytorch
Domain Adaptive Faster R-CNN in PyTorch
Stars: ✭ 135 (-3.57%)
Mutual labels:  object-detection

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 ResNet50_v1d 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 cfgs_res50_dota_v45.py
CSL ResNet50_v1d 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 cfgs_res50_dota_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.

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/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].