按照前面三篇文章的顺序标注好数据后,现在需要将数据集进行划分,包括train,test,trainval,val等四个部分,也就是生成ImageSets文件夹中的主文件夹中的四个的txt文件。四个TXT文件中都只包含对应图像的名称,不包含扩展名。内容如下
说明一下这四个文件的对应关系,即总的数据集分为trainval和test,在trainval又划分成train和val,所以我们需要根据自己数据情况来设置对应的比例。根据这个比例对XML文件进行划分得到对应的TXT文件来处理标注数据。下面贴出我制作时参考的大佬源码,写下来记录一下。
python版
import os
import random
trainval_percent = 0.66
train_percent = 0.5
xmlfilepath = 'Annotations'
txtsavepath = 'ImageSets\Main'
total_xml = os.listdir(xmlfilepath)
num=len(total_xml)
list=range(num)
tv=int(num*trainval_percent)
tr=int(tv*train_percent)
trainval= rando