在做目标检测时,有些代码库采用的是yolo的txt格式,有些则采用的是voc的xml格式,下面提供了一个脚本,可以自动将voc格式的数据集转化为yolo格式的数据集。
voc格式
voc格式的数据集为以下格式,其中Main文件夹里面的txt文件是按比例划分好的训练、验证和测试集,文件里面的每一行代表一张图片(若没有提前划分,可以使用voc数据集划分脚本来划分):
VOC2007
|__Annotations
|__JPEGImages
|__ImageSets
|__Main
|__train
|__val
|__test
|__trainval
yolo格式
yolo格式下一般分为images和labels文件夹,在这两个文件夹里面又包含有train,val(以及test)文件夹,如下面所示:
转换脚本
1. xml转txt
接下来采用脚本,自动将voc格式转化为yolo格式,设置好xml文件的路径和要保存的txt文件路径,执行后便可以转换。(转换后原xml文件依旧存在)
import os
import glob
import xml.etree.El