制作VOC格式数据集的train.txt、val.txt文件

文章目录[隐藏]

一、前言

在以前的文章中已经聊过 VOC数据集的组织结构VOC格式数据集转yolo(darknet)格式

当我们按照组织结构将自己的图片和xml标注文件放在指定文件夹下之后,在转换时我们还需要使用到VOC格式数据集中的train.txt、val.txt文件,这两个文件分别保存的是用来训练和验证的图片的名称,注意,仅仅是图片名。

二、txt生成程序

在程序中只需要设置好数据集文件夹的路径即可,也即saved_path变量,最后会在ImageSets/Main路径下生成所需的txt文件!!!

import os
from glob import glob
from sklearn.model_selection import train_test_split

#1.标签路径

saved_path = "./helmetVOC/"                #保存路径

#2.创建要求文件夹
if not os.path.exists(saved_path + "ImageSets/Main/"):
    os.makedirs(saved_path + "ImageSets/Main/")
    

#3.split files for txt
txtsavepath = saved_path + "ImageSets/Main/"
ftrainval = open(txtsavepath+'/trainval.txt', 'w')
ftrain = open(txtsavepath+'/train.txt', 'w')
fval = open(txtsavepath+'/val.txt', 'w')

total_files = glob(saved_path + "Annotations/*.xml")

total_files = [i.split("/")[-1].split(".xml")[0] for i in total_files]

for file in total_files:
    ftrainval.write(file + "\n")

#split
train_files,val_files = train_test_split(total_files,test_size=0.15,random_state=42)

#train
for file in train_files:
    ftrain.write(file + "\n")
#val
for file in val_files:
    fval.write(file + "\n")

ftrainval.close()
ftrain.close()
fval.close()

版权声明:本文为CSDN博主「耐心的小黑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39507748/article/details/116463494

耐心的小黑

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Yolo(3)(项目)Yolo v3 目标检测(85分类)

目录 基础理论 一、 读取文件 二、神经网络初始化 1、搭建神经网络 2、GPU加速 三、打开摄像头、按帧读取图像 四、向神经网络输入 五、获取神经网络输出 1、获取各层名称 2、获取输出层名称 3、获取输出层图像&#xff