UCAS-AOD遥感旋转目标检测数据集——基于YOLOv8obb,map50已达96.7%

1.UCAS-AOD简介

1.1数据说明

遥感图像,又名高分辨率遥感图像。遥感图像的分类依据是根据成像的介质不同来进行分类的。UCAS-AOD (Zhu et al.,2015)用于飞机和汽车的检测,包含飞机与汽车2类样本以及一定数量的反例样本(背景),总共包含2420幅图像和14596个实例。论文中特别提到了目标检测的方向健壮性,所以在数据集标注过程中作者对数据进行了一定程度的筛选,使得图像中的物体方向分布均匀,数据集具体内容如下:

|----|------|------|------|------|------|
| 内容 | 飞机图像 | 飞机实例 | 汽车图像 | 汽车实例 | 反例图像 |
| 数量 | 1000 | 7482 | 510 | 7114 | 910 |

数据集中目标为航拍图像下的飞机和车辆,使用Google Earth软件在全球部分区域中截取的图像。

1.2数据格式

数据集分为CAR、PLANE、NEG三个文件,CAR、PLANE为正例图像,NEG为反例图像。正例图像以P+数字序号命名,反例图像以N+数字序号命名,所有图像为PNG格式,尺寸为1280x659和1372x941。UCAS-AOD采用HBB(horizontal bounding box)的标注方法,图像的groundtruth采用txt格式保存,以图像的同名文档方式存储。对于整理好的txt文档数据,每列的属性如下:

复制代码
x1,y1,x2,y2,x3,y3,x4,y4,theta,x,y, width,height

其中,x1,y1,x2,y2,x3,y3,x4,y4为旋转矩形框四个顶点,theta为倾斜角。

2.UCAS-AOD数据处理****

2.1处理成如下格式

python 复制代码
x1 y1 x2 y2 x3 y3 x4 y4 class class_index

​处理代码如下:

python 复制代码
import os

# 输入和输出文件夹路径
input_folder_path = 'label'
output_folder_path = 'txt'

# 遍历labels文件夹下所有txt文件
for filename in os.listdir(input_folder_path):
    if filename.endswith('.txt'):
        input_file_path = os.path.join(input_folder_path, filename)
        output_file_path = os.path.join(output_folder_path, filename)

        # 打开原始文件并创建一个新文件用于写入修改后的数据
        with open(input_file_path, 'r') as input_file, open(output_file_path, 'w') as output_file:
            for line in input_file:
                # 在这里你可以对每一行的内容进行处理
                # 例如,将每一行的数据以制表符分割并转换为浮点数列表
                data = [float(value) for value in line.strip().split('\t')]

                # 仅保留每行数据的前8个数
                data = data[:8]

                # 将处理后的数据写入新文件
                output_line = '\t'.join(map(str, data)) + '\tPLANE' + '\t1\n'
                output_file.write(output_line)

        print(f"数据已保存到 {output_file_path}")

分别以CAR和PLANE为例,得到:

python 复制代码
276.3971  91.25021  291.1375  38.23406  330.8891  49.28647  316.1486  102.3026  CAR  0
254.0147  168.3054  253.027  124.0611  314.917  122.6796  315.9046  166.9239  PLANE  1

2.2进行obb格式的转换

python 复制代码
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb('C:\myyolo\ultralytics-main\dataobb')
#关于dataobb文件下的目录可参考https://blog.csdn.net/qq_41301570/article/details/135540398

以上面CAR和PLANE为例,转换后的结果如下:

python 复制代码
0 0.215935 0.138468 0.227451 0.0580183 0.258507 0.0747898 0.246991 0.155239
1 0.198449 0.255395 0.197677 0.188257 0.246029 0.18616 0.2468 0.253299

2.3进行训练

如果你不想浪费时间进行数据的处理,可私戳获取数据集​!!!

2.4进行验证

最后:

小编会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!

相关推荐
智驱力人工智能7 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
工程师老罗7 小时前
YOLOv1 核心结构解析
yolo
Lun3866buzha8 小时前
YOLOv10-BiFPN融合:危险物体检测与识别的革新方案,从模型架构到实战部署全解析
yolo
Katecat996639 小时前
YOLOv8-MambaOut在电子元器件缺陷检测中的应用与实践_1
yolo
光泽雨9 小时前
检测阈值 匹配阈值分析 金字塔
图像处理·人工智能·计算机视觉·机器视觉·smart3
sali-tec9 小时前
C# 基于OpenCv的视觉工作流-章22-Harris角点
图像处理·人工智能·opencv·算法·计算机视觉
工程师老罗9 小时前
YOLOv1 核心知识点笔记
笔记·yolo
学电子她就能回来吗10 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
光羽隹衡11 小时前
计算机视觉——Opencv(图像拼接)
人工智能·opencv·计算机视觉
神筆&『馬良』12 小时前
Foundation_pose在自己的物体上复现指南:实现任意物体6D位姿检测(利用realsense_D435i和iphone_16pro手机)
目标检测·ubuntu·机器人·视觉检测