详解 VOC 数据集

article/2025/10/30 5:57:30

本视频配套视频链接:https://www.bilibili.com/video/BV1ZL4y1p7Cz/

我们先来介绍一个经典的数据集:VOC 数据集。Visual Object Class 的首字母缩写,它的官方地址为 http://host.robots.ox.ac.uk/pascal/VOC/。

虽然现在大家更倾向于使用我们后面要介绍的 COCO 数据集,但 VOC 数据集也很重要,大家经常可以在一些论文中看到它的身影。

你会发现之前很多的数据集都是伴随着比赛的出现。比赛举办方提供训练数据集图片和训练数据集的标注给参赛者,同时还会提供不带标注信息的测试数据集图片给参赛者。当然,这些测试数据集图片的标注信息是在比赛举办方手中。然后,参赛者拿着带标注信息的训练数据集去捣鼓,然后用捣鼓的模型去预测不带标注信息的测试数据集,将预测出来的标注信息按照比赛方规定的形式提交给比赛方。比赛方之后会比较参赛者提交的预测结果和自己手上的标注结果,进而计算出参赛者提交数据的正确率,最后给各个参赛者的预测结果进行排名。

VOC 数据集也是伴随着比赛出现的,因为这个比赛在 2012 年就停办了,所以数据集更新的年份也就终止于 2012 年。

file

可以看到上图,存在从 2005 年 - 2012 年的比赛,每年的比赛都提供了相应年份的数据集。这样一看,VOC 数据集其实包括了从 2005 - 2012 年,8 年的数据集。8 份数据集,我们该如何选择哪一个年份的数据集。

先给大家一个结论,我们再来说说为什么选择这些年份的数据集。

结论就是,大家更多使用的是 2007 和 2012 年的数据集。至于原因,让我娓娓道来。

file

2005 年的时候,VOC 比赛举办方提供了 VOC 2005 数据集,这个时候的数据集只有 4 种目标类别,数据集数量大约只有 1500 张左右。这个时候,VOC 2015 数据集无论是从数据集的图片数量还是目标的种类上来说,都是相对较少的。到了 2006 年,VOC 2006 数据集有了 10 种类别,数量也有了 2600 张左右。

但是,到了 2007 年,VOC 2007 数据集一下子有了 20 种类别,同时数据集数量也一下子提升到了 9900 张左右。

file

VOC 2007 数据集是一个巨大的转折点。这个时候的数据集无论是从数据量的规模还是目标的类别都能够满足绝大多数模型的训练要求。所以,大家会发现很多模型都采用了 VOC 2007 数据集来训练网络模型。

然而到了 2008 年,VOC 比赛方又开始搞事情了。他们重新制作数据集,所以 VOC 2008 数据集有 20 个类别,图片数量为 4000 张左右。可以发现比 VOC 2007 数据集少得多。之后 2009 - 2012 年都是在 2008 年数据集的基础上不断的进行数量上的扩充,到了 2012 年,数据集的图片数量高达 11000 张。

所以,可想而知,VOC 2012 数据集对广大科研工作者是很有吸引力的。

下面一张图,很好地说明了 VOC 各年份数据集的变化。

file

上图中,不同的颜色代表数据集的内容,比如 05 年和 06 年的颜色是不一样的,说明 05 年和 06 年数据集的内容是完全不一样的。可以看到 05 - 07 年,是一个阶段,这个时候,每个年份数据集的内容都是不一样的。但是从刚才的介绍中可以发现,07 年数据集,无论是从图片数量还是种类上都是占优的,所以这个 05 - 07 年,VOC 2007 数据集顺利胜出。

而从 08 - 12 年,又是一个新的阶段,08 年,VOC 数据集重新建立了新的数据集,然后每年都在这个数据集的基础上,不断进行扩充。到了 11/12 年,数据集数量还是种类都到了顶峰。大家注意,11 年 和 12 年,数据集图片数量还是类别都是一样的,但是 12 年在 11 年的基础上对标注进行了一些优化改进。大家更习惯喜欢 12 年数据集。

所以,综上,大家应该明白了为什么大家更喜欢使用 2007 和 2012 年的数据集。

土堆教程,配套 目标检测入门实战系列 视频教程


http://chatgpt.dhexx.cn/article/MRdhmCNr.shtml

相关文章

测试报告编写,测试结果编写

测试报告,就是向整个团队告诉你的测试情况,以及发现一些问题说明。 所以: 第一步,先告诉别人,你的测试结果,测试结果只有两种,测试通过/测试未通过。 第二步,写出这个需求的提测的…

软件测试项目测试报告总结

测试计划概念:就在软件测试工作实施之前明确测试对象,并且通过资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试。 需求挖掘的6个方面: 1、输入方面 2、处理方面 3、结果输出方面 4、性能需求…

稳定性测试-几点总结

混合场景业务比例: 稳定性测试一般基于混合场景进行压测,业务比例由项目组人员给出。(最好基于线上业务调用量情况进行统计,但大部分系统没有该数据,那就由他们自己拍脑袋吧) PS: JMeter控制业务比例用 th…

测试总结报告模板

1. 编写目的 [简述本报告的目的。例如:本测试报告为XX项目的测试总结报告,目的在于总结测试阶段的测试及分析测试结果,描述系统是否符合需求(或达到XX功能目标),同时对软件质量进行相关的评估,…

性能测试结果分析结果

在做性能测试的时候,在使用LR或者jmeter等一些性能测试工具测试执行结束后,首先要做的是判断采集到的结果数据是否真实有效。多数的性能测试场景都要迭代的进行测试,因此很多测试结果本身就不能反应问题,深入分析这样的结果没啥意…

主观评价测试

一、静物测试 1.测试目的:测试IPC在室内正常照度场景下的效果 2.测试设备:色温照度计,激光红外测距仪 3.测试环境:在不同色温环境下A,TL84 CWF D65对静物场景测试图卡和人物进行拍摄,观察图像和人物效果&#xff08…

测试总结的重要性

测试总结很重要,包括项目整理的总结、个人的总结、小组的总结;做项目总结,是为了梳理整个过程,明确问题和找到原因,改进整个流程和推进项目状态越来越好。 自己目前所做的是项目的总结,会针对三方做一个总结&#xff0…

测试总结该怎么写...

最近参与了几次面试,面试者的简历中都会提及:需求或者版本测试结束后会进行版本总结,而不仅仅是提供一份测试报告。 于是特意追问了一下,总结中都包含什么内容,答复上基本都是围绕此次测试过程中发现的BUG数量以及修复…

如何分析测试结果和评估测试工作的质量

软件测试中每一项测试活动都会产生测试结果,通过测试结果来评估产品的质量体现了测试的目的和价值。而通过测试结果评估测试工作本身的质量也非常重要,能让我们及时发现测试中存在的问题,并及时改正,是测试工作进行持续改进的基础…

测试报告怎么写?

测试报告是一份描述软件的测试过程、测试环境、测试范围、测试结果的文档,用来分析总结系统存在的风险以及测试结论。 (1)测试过程测试过程需要对测试人员、测试时间、测试地点、测试版本等信息进行描述。其他测试过程中发生的关键信息均可在…

评测报告的结论如何写?

背景 最近组内同学开始编写评测报告,报告中的结论中存在以下几种情况: 1.结论是一大段文字,像散文一样 2.评测数据结果中存在多个数据维度,将所有的数据结果都罗列到结论中,主要信息不突出 3.只是将评测数据罗列到…

【Linux】syscall系统调用原理及实现

一、什么是系统调用 系统调用 跟用户自定义函数一样也是一个函数,不同的是 系统调用 运行在内核态,而用户自定义函数运行在用户态。由于某些指令(如设置时钟、关闭/打开中断和I/O操作等)只能运行在内核态,所以操作系统…

Syscall的实现

1. How does syscall works 2. Kernel定义一个系统调用的表sys_call_table,这个表定义了每个系统调用的: 系统调用号NR_xxx 及其对应的系统调用的处理函数, 系统调用号对应sys_call_table[]数组的下标, 数组项的值保存系统调用的处理函数, 如下: 3. 如下,…

system call——系统调用

1. 系统调用 系统调用是操作系统提供的有效服务界面,一般使用高级语言编写,如c和c,对于特定的较为底层的任务,则使用汇编语言指令。 2. API和系统调用 API,应用程序接口,提供应用程序与开发人员基于某软件…

syscall 系统调用

转自:http://blog.csdn.net/b02042236/article/details/6136598 5.1.5 如何使用系统调用 如图5.2所示,用户应用可以通过两种方式使用系统调用。第一种方式是通过C库函数,包括系统调用在C库中的封装函数和其他普通函数。 图5.2 使用系统调用…

linux下syscall函数

NAME syscall - 间接系统调用 SYNOPSIS #define _GNU_SOURCE #include <unistd.h> #include <sys/syscall.h> /* For SYS_xxx definitions */ int syscall(int number, ...); DESCRIPTION …

#Java干货分享:这五个网站能打通你的任督二脉,让你技术大增

现如今的程序员可是一个需要时刻学习的职业&#xff0c;尤其是目前非常火热的Java&#xff0c;作为应用最为广泛的语言&#xff0c;在这一点上体现得尤其强烈。今天分享一些网站资源给大家学习&#xff0c;希望能够为你提供帮助&#xff01; 1、GitHub 这个网站不用多说&…

redis 技术分享

1、是什么 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 2、应用场景 2.1 特点 Redis 与其他 key - …

IT技术视频分享

Hadoop 初级/中级/高级视频 需要的加入115046170QQ群