VOC2007、2012数据集音速下载及训练、验证、测试集划分使用说明(附代码)

文末有代码

VOC数据集音速下载教程

你还在苦苦地寻找voc数据集的资源吗,你还在骂骂咧咧地到别人博客里付费下载voc数据集吗?看了这篇,妈妈再也不用担心你下载voc数据集了!

这种方式不局限于下载数据集哦,我用来下CUDA的时候也挺管用,虽然没有下voc数据集那么快,但是至少比直接在官网上下载快得多,我想应该也适用于下载其他东西

官方voc数据集地址

对准要下载的数据集右击–>复制链接
在这里插入图片描述
如果你迅雷已经打开了它会自动弹出下载界面,下载即可。在这里插入图片描述
如果下载界面没有打开…

把刚才复制的链接手动粘贴到迅雷里,然后搜索,下载即可。
在这里插入图片描述
音速下载中,速度不会降…
在这里插入图片描述

训练、验证、测试集的划分使用

在这里我只是大致地介绍下voc2007数据集里面与目标检测任务相关的内容(2012一样),重点是划分。

下载完的数据集下压有如下内容,其中Annotations存放的XML文件,即框的信息,物体类别等。ImageSets里面的Main存放着txt文件,即图片的id,这个很重要!JPEGImages里面就是图片了。
在这里插入图片描述

这些大家都应该有所了解了。

剩下来就是扔进网络训练了,扔之前得有训练和验证集,测试集预测阶段才用。很多博客都是用一段的代码先给数据集生成存放id的txt文件(Main文件夹里),然后再把整合标签信息(XML文件),最后生成一个train.txt、val.txt如下图:
在这里插入图片描述

前面是图片的绝对路径,后面是框的信息以及分类,框的信息和分类为一组,一组5个数字,几个框就几个数字。

其实,VOC数据集已经帮我们把训练、验证、测试集分好了,就在Main文件夹里面,我们不要,不要自行分类,虽然说是打乱再随机分,但是万一运气不好把某一类的图片全放到验证、测试集里面去呢,虽然概率不大,但是训练效果总不会很好。

如下图所示,作者已经在ImageSets/Main里面给我们划分好了训练、验证集了,也就是说ID有了,我们只需要生成图片路径+标签信息那个文件夹就行了。
在这里插入图片描述

如果是自己制作数据集的话就要生成包含id的txt文本,然后整合标签信息生成最终的文件拿去训练、验证和测试。

大家训练voc数据集可以把2007、2012两个合并起来,因为它们数量不多。在Windows系统里如果想把两个txt文件合起来可以用这行python代码,使用type关键字

import os
os.system("type 2007_train.txt 2012_train.txt  > train.txt")

在Linux系统下则执行下面代码,使用cat关键字

import os
os.system("cat 2007_train.txt 2012_train.txt  > train.txt")

voc数据集使用代码提取码:djqx

这两个代码不长,自己读一遍会对它的作用更深刻,以后就难忘了。相信对于作为程序员的你来说这都不算事儿~~~

觉得有用的话点个赞呗。

  • 19
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要分配VOC2007数据集训练数据集验证数据集的比例,可以按照以下步骤操作: 1. 确定训练集和验证集的比例:根据你的需求,确定训练集和验证集的比例。一般来说,常见的比例是将数据集的大约80%用作训练集,剩余的20%用作验证集。 2. 创建文件列表:在YOLOv5的目录下,有一个名为`data`的文件夹,其中包含了数据集的配置文件。在该目录下,创建两个空白文本文件,分别命名为`train.txt`和`val.txt`,用于存储训练集和验证集的图像路径。 3. 随机分配数据:按照确定的比例,随机将图像路径分配到训练集和验证集中。可以使用Python等编程语言来实现这一步骤。以下是一个示例代码: ```python import os import random dataset_dir = 'data/images' # VOC2007图像文件夹路径 train_ratio = 0.8 # 训练集比例 image_files = os.listdir(dataset_dir) random.shuffle(image_files) train_count = int(train_ratio * len(image_files)) train_files = image_files[:train_count] val_files = image_files[train_count:] # 将训练集图像路径写入train.txt文件 with open('data/train.txt', 'w') as f: for file in train_files: f.write(os.path.join(dataset_dir, file) + '\n') # 将验证集图像路径写入val.txt文件 with open('data/val.txt', 'w') as f: for file in val_files: f.write(os.path.join(dataset_dir, file) + '\n') ``` 这段代码将随机分配VOC2007数据集中的图像路径到训练集和验证集,并将路径分别写入`train.txt`和`val.txt`文件中。 4. 更新数据集配置文件:在YOLOv5的`data`文件夹中的配置文件(例如`voc.yaml`)中,将训练集和验证集的路径文件更新为相应的文件路径。 通过以上步骤,你可以根据需要分配VOC2007数据集训练数据集验证数据集的比例。请注意,确保路径文件中的图像路径与实际图像文件相匹配,并按照YOLOv5的要求进行设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值