近期用到无人机UAVDT,需要在yolo上进行训练,下载后分为多目标和单目标两种,本次使用多目标数据进行训练,即对UAV-benchmark-MOTD_v1.0中的xx_gt_whole.txt真值文件进行修改。
查看了几篇修改过程:将UAVDT数据集格式转成VOC、YOLO格式(最终版)_uavdt数据集没标签-CSDN博客
都要先转换成COCO再到VOC最后再到yolo,不太适用于我,于是根据他们的教程进行修改,以下是我的转换过程:
1.处理数据集中的图像和相应的ground truth标签,将xx_gt_whole.txt按照图像文件的顺序保存到相应的目录中。生成目录如下:
def process_dataset(data_path):
data_num = 0
for name in os.listdir(data_path):
# print('name:', name)
data_num += 1
img_path = os.path.join(data_path, name)
gt_path = os.path.join(data_path.replace('UAV-benchmark-M', 'UAV-benchmark-MOTD_v1.0/GT'), name + '_gt_whole.txt')
save_gt_path = os.path.join(data_path, name, 'gt')
photo_count = 0
for file_name in os.listdir(img_path):
_, extension = os.path.splitext(file_name)
if extension.lower() in ['.jpg', '.jpeg', '.png', '.gif', '.bmp']:
photo_count += 1
print("Total photos:", photo_count)
if not os.path.exists(save_gt_path):
os.makedirs(save_gt_path)
with open(gt_path, 'r') as file:
lines = file.readli