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仿真......希望能帮到你!

相关推荐
CoovallyAIHub2 小时前
破局红外小目标检测:异常感知Anomaly-Aware YOLO以“俭”驭“繁”
深度学习·算法·计算机视觉
Mrliu__3 小时前
Opencv(十六) : 图像边缘检测
人工智能·opencv·计算机视觉
Hcoco_me16 小时前
YOLO目标检测学习路线图
学习·yolo·目标检测
dotphoenix17 小时前
在wsl ubuntu下安装,训练,验证,导出,部署YOLO的完整例子
yolo
千里飞刀客20 小时前
aruco位姿检测
人工智能·opencv·计算机视觉
XINVRY-FPGA20 小时前
XCVU9P-2FLGC2104I Xilinx AMD Virtex UltraScale+ FPGA
嵌入式硬件·机器学习·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
wuk9981 天前
MATLAB双树复小波变换(DTCWT)工具包详解
人工智能·计算机视觉·matlab
CoovallyAIHub1 天前
只改一个后缀,环境冲突全消失?这个“.onnx”魔法文件做到了
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
国产芯片“突围战”:从硬件追赶到生态繁荣,应用落地加速
深度学习·算法·计算机视觉
巫婆理发2222 天前
卷积神经网络(卷积+池化+全连接)
深度学习·计算机视觉·cnn