Based on DOTA_devkit.
Add some modules to trans DOTA annotation format to YOLO annotation format.
Add some files for every demo.
DOTA.py
Load image, and show the bounding oriented box.
ImgSplit.py
Split image and the label.
ResultMerge.py
Merge the detection result annotation txt.
dota_×_evaluation_task×.py
Evaluate the detection result annotation txt.
YOLO_Transformer.py
Trans DOTA format to YOLO(OBB or HBB) format.
Draw_DOTA_YOLO.py
Picture the YOLO_OBB labels(after augmented).
Same as DOTA_devkit. Then:
$ pip install -r requirements.txt
想要了解这几个函数实现的细节和原理可以看我的知乎文章;
DOTA遥感数据集以及相关工具DOTA_devkit的整理(踩坑记录);
DOTA数据格式转YOLO数据格式工具(cv2.minAreaRect踩坑记录);
DOTA.py
$ python DOTA.py
ImgSplit.py
$ python ImgSplit_multi_process.py
ResultMerge.py
$ python ResultMerge.py
dota_v1.5_evaluation_task1.py
change the path with yours.
detpath = r'/.../evaluation_example/result_classname/Task1_{:s}.txt'
annopath = r'/.../evaluation_example/row_DOTA_labels/{:s}.txt'
imagesetfile = r'/.../evaluation_example/imgnamefile.txt'
$ python dota_v1.5_evaluation_task1.py
YOLO_Transform.py
$ python YOLO_Transform.py
DOTA format: poly classname diffcult
To
YOLO HBB format: classid x_c y_c width height —— def dota2Darknet()
longside format: classid x_c y_c longside shortside Θ Θ∈[0, 180) —— def dota2LongSideFormat()
Draw_DOTA_YOLO.py
1.Run YOLO_Transformer.py to get the YOLO_OBB_labels first.
2.then augment YOLO_OBB_labels and visualize it:
$ Draw_DOTA_YOLO.py
在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流
感谢以下的项目,排名不分先后
Name : "胡凯旋"
describe myself:"咸鱼一枚"