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

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram