/yolov5_obb

yolov5 + csl_label.(Oriented Object Detection)(Rotation Detection)(Rotated BBox)基于yolov5的旋转目标检测

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Yolov5 for Oriented Object Detection

图片 train_batch0.jpg results.png

The code for the implementation of “Yolov5 + Circular Smooth Label”.

Results and Models

The results on DOTA_subsize1024_gap200_rate1.0 test-dev set are shown in the table below. (password: yolo)

Model
(download link)
Size
(pixels)
TTA
(multi-scale/
rotate testing)
OBB mAPtest
0.5
DOTAv1.0
OBB mAPtest
0.5
DOTAv1.5
OBB mAPtest
0.5
DOTAv2.0
Speed
CPU b1
(ms)
Speed
2080Ti b1
(ms)
Speed
2080Ti b16
(ms)
params
(M)
FLOPs
@640 (B)
yolov5m [baidu/google] 1024 × 77.3 73.2 58.0 328.2 16.9 11.3 21.6 50.5
yolov5s [baidu] 1024 × 76.8 - - - 15.6 - 7.5 17.5
yolov5n [baidu] 1024 × 73.3 - - - 15.2 - 2.0 5.0
Table Notes (click to expand / **点我看更多**)
  • All checkpoints are trained to 300 epochs with COCO pre-trained checkpoints, default settings and hyperparameters.
  • mAPtest dota values are for single-model single-scale on DOTA(1024,1024,200,1.0) dataset.
    Reproduce Example:
python val.py --data 'data/dotav15_poly.yaml' --img 1024 --conf 0.01 --iou 0.4 --task 'test' --batch 16 --save-json --name 'dotav15_test_split'
python tools/TestJson2VocClassTxt.py --json_path 'runs/val/dotav15_test_split/best_obb_predictions.json' --save_path 'runs/val/dotav15_test_split/obb_predictions_Txt'
python DOTA_devkit/ResultMerge_multi_process.py --scrpath 'runs/val/dotav15_test_split/obb_predictions_Txt' --dstpath 'runs/val/dotav15_test_split/obb_predictions_Txt_Merged'
zip the poly format results files and submit it to https://captain-whu.github.io/DOTA/evaluation.html
  • Speed averaged over DOTAv1.5 val_split_subsize1024_gap200 images using a 2080Ti gpu. NMS + pre-process times is included.
    Reproduce by python val.py --data 'data/dotav15_poly.yaml' --img 1024 --task speed --batch 1
  • [2022/1/7] : Faster and stronger, some bugs fixed, yolov5 base version updated.

Installation

Please refer to install.md for installation and dataset preparation.

Getting Started

This repo is based on yolov5.

And this repo has been rebuilt, Please see GetStart.md for the Oriented Detection latest basic usage.

Acknowledgements

I have used utility functions from other wonderful open-source projects. Espeicially thank the authors of:

More detailed explanation

想要了解相关实现的细节和原理可以看我的知乎文章:

有问题反馈

在使用中有任何问题,建议先按照install.md检查环境依赖项,再按照GetStart.md检查使用流程是否正确,善用搜索引擎和github中的issue搜索框,可以极大程度上节省你的时间。

若遇到的是新问题,可以用以下联系方式跟我交流,为了提高沟通效率,请尽可能地提供相关信息以便我复现该问题。

  • 知乎(@略略略
  • 代码问题提issues,其他问题请知乎上联系

关于作者

  Name  : "胡凯旋"
  describe myself:"咸鱼一枚"