Pascal VOC(VOC 2012、VOC 2007) 数据集的简介

2024-04-17 22:20
文章标签 数据 2012 简介 2007 pascal voc

本文主要是介绍Pascal VOC(VOC 2012、VOC 2007) 数据集的简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、数据集介绍

       PascalVOC(2005~2012)数据集是PASCAL VOC挑战官方使用的数据集。该数据集包含20类的物体。每张图片都有标注,标注的物体包括人、动物(如猫、狗、岛等)、交通工具(如车、船飞机等)、家具(如椅子、桌子、沙发等)在内的20个类别。每个图像平均有2.4个目标,所有的标注图片都有目标检测需要的标签。

       VOC2007 与 VOC2012

  • VOC2007:包含9963张标注过的图片, 由train/val/test三部分组成, 共标注出24,640个物体。 VOC2007的test数据label已经公布, 之后的没有公布(只有图片,没有label)。
  • VOC2012:是VOC2007数据集的升级版,一共有11530张图片。对于检测任务,VOC2012的trainval/test包含08-11年的所有对应图片。 trainval有11540张图片共27450个物体。 对于分割任务, VOC2012的trainval包含07-11年的所有对应图片, test只包含08-11。trainval有 2913张图片共6929个物体。    

       VOC2012数据集分为20类,包括背景为21类,分别如下:
       人:人
       动物:鸟、猫、牛、狗、马、羊
       车辆:飞机、自行车、船、巴士、汽车、摩托车、火车
       室内:瓶、椅子、餐桌、盆栽植物、沙发、电视/监视器

二、文件夹介绍

    Pascal VOC2012数据集包括五个文件夹:

1. Annotation文件夹

        Annotation:存放xml格式的标注信息,​一个xml文件对应一张图片,里面通过标签包围数据,如: 

具体解释如下:

<annotation><folder>VOC2012</folder><filename>2007_000027.jpg</filename>  <!-- 对应的图片名字 --><source><database>The VOC2007 Database</database><annotation>PASCAL VOC2007</annotation><image>flickr</image></source><size>		             <!-- 对应图片的尺寸和通道数  --><width>486</width>   <!--宽  --><height>500</height> <!-- 高 --><depth>3</depth>     <!-- 通道数为3,表示为彩色 --></size><segmented>0</segmented>	<object>	                 <!-- 图片里面的对象信息  --><name>person</name>		 <!-- 这里对象为:人  --><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult> <!-- 表示是否为难以训练的数据,0表示不是  --><bndbox>		        <!-- 真实框的坐标信息,通常为左上角和右下角坐标  --><xmin>174</xmin>	<!-- 左上角x坐标 --><ymin>101</ymin>	<!-- 左上角y坐标 --><xmax>349</xmax>    <!-- 右下角x坐标 --><ymax>351</ymax>    <!-- 右下角y坐标 --></bndbox><part>		            <!-- 人的组成部分,比如头、手、脚  --><name>head</name>	<!-- 这里是人的部位:头 --><bndbox>	        <!-- 头的边界框信息  --><xmin>169</xmin><ymin>104</ymin><xmax>209</xmax><ymax>146</ymax></bndbox></part><part>                  <!-- 人的组成部分,比如头、手、脚  --><name>hand</name>   <!-- 这里是人的部位:手 --><bndbox>            <!-- 手的边界框信息  --><xmin>278</xmin><ymin>210</ymin><xmax>297</xmax><ymax>233</ymax></bndbox></part><part><name>foot</name><bndbox><xmin>273</xmin><ymin>333</ymin><xmax>297</xmax><ymax>354</ymax></bndbox></part><part><name>foot</name><bndbox><xmin>319</xmin><ymin>307</ymin><xmax>340</xmax><ymax>326</ymax></bndbox></part></object>
</annotation>

2. JPEGImages文件夹

     JPEGImages:存放所有图片,包括训练图片和测试图片。命名格式为:2007_000032.jpg

3. ImageSets文件夹

    ImageSets:存放每一种任务对应的数据,其又划分为四个文件夹

(1) Action文件夹:

      存放人体动作的txt文件,比如跳跃、打电话、读书等。而每个动作又分三类为训练集、训练的验证集和测试集。

       内容案例如下,每列数字分别表示:图像ID、人数、动作状态

  • 图像ID(如 2011_003285):这是图像的唯一标识符,用于在数据集中定位特定的图像。
  • 人数(如 1,2,3,4):这一列表示在对应图像中检测到的人数。例如,1 表示图像中有一个人,2 表示图像中有两个人,以此类推。
  • 动作状态(如 -1):这一列表示图像中对应的人的动作状态是否满足action文件所列举的10个动作标签之一(如jumping, phoning, playing instrument等)。通常,正数(如1)表示满足某个动作标签,而-1表示不满足或未标注。
 (2) Layout文件夹

      存放人体部位的txt文件,同样又分为训练集、训练的验证集和测试集。

(3) Main文件夹

       存放类别信息的txt文件,是最重要的文件夹,里面是图像检测的数据,共20个类别,同样又分为训练集、训练的验证集和测试集。

       内容如下,第一列是对应的图片名字,第二列表示这个对象是否出现在该图像中,1表示出现,-1表示没有出现。

​ 注意,在Main文件夹下,有两个最重要的txt文件,分别为train.txt和val.txt。这两个文件夹是总的划分,即相当于机器学习中的训练集和测试集的划分一样,需要保证两者数据不交叉。而这个文件也是我们后面训练需要用到的文件。

(4) Segmentation文件夹

       存放分割训练的txt文件,分别为图像分割用到的训练、训练的验证集和测试集。这里对应的不仅仅是图片名字,还对应了分割文件夹下的分割图片。

4. SegmentationClass文件夹

    SegmentationClass:语义分割任务中用到的label图片。

5. SegmentationObject文件夹

    SegmentationObject:实例分割任务用到的label图片,即图像分割(即同一类别也要区分颜色)后的图像,如:

总结:

       对数据了解后,才好对数据进行处理,例如需要对数据进行增强或其他处理。

这篇关于Pascal VOC(VOC 2012、VOC 2007) 数据集的简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913015

相关文章

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创