简介
官网:PASCAL
PASCAL VOC挑战赛 (The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛,PASCAL全称:Pattern Analysis, Statical Modeling and Computational Learning,是一个由欧盟资助的网络组织。PASCAL VOC挑战赛主要包括以下几类:图像分类(Object Classification),目标检测(Object Detection),目标分割(Object Segmentation),行为识别(Action Classification) 等。
很多优秀的计算机视觉模型比如分类,定位,检测,分割,动作识别等模型都是基于PASCAL VOC挑战赛及其数据集上推出的,尤其是一些目标检测模型(比如大名鼎鼎的R-CNN系列,以及后面的YOLO,SSD等)
PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge。
本文以PASCAL VOC 2007 和 2012 为例简要介绍VOC数据集。
数据集
数据集分类
PASCAL VOC数据集共有4大类,vehicle ,household, animal, person,20小类,下图中黑色加粗字体所示
数据集主要关注分类和检测任务
- 从2007年开始,PASCAL VOC每年的数据集都是这个层级结构
- 总共四个大类:vehicle,household,animal,person
- 总共20个小类,预测的时候是只输出图中黑色粗体的类别
- 数据集主要关注分类和检测,也就是分类和检测用到的数据集相对规模较大。关于其他任务比如分割,动作识别等,其数据集一般是分类和检测数据集的子集。
数据量
VOC 2007
训练集,验证集,测试集划分情况:
- PASCAL VOC 2007 数据集分为两部分:训练和验证集trainval,测试集test ,两部分各占数据总量的约 50%。其中trainval 又分为训练集和测试集,二者分别各占trainval的50%。
- 每张图片中有可能包含不只一个目标object。
VOC 2012
训练集,验证集数据统计:
test部分没有公布
对比
VOC 2007 与 2012 数据集及二者的并集 数据量对比:
黑色字体所示数字是官方给定的,由于VOC2012数据集中 test 部分没有公布,因此红色字体所示数字为估计数据,按照PASCAL 通常的划分方法,即 trainval 与test 各占总数据量的一半。
目录结构
以VOC 2012为例:
VOCdevkit
└── VOC2012
├── Annotations 所有的图像标注信息(XML文件)(后面展开讲)
├── ImageSets
│ ├── Action 人的行为动作图像信息(VOC 2007没有此部分)
│ ├── Layout 人的各个部位图像信息
│ │
│ ├── Main 目标检测分类图像信息
│ │ ├── train.txt 训练集
│ │ ├── val.txt 验证集
│ │ ├── trainval.txt 训练集+验证集
| | └── test.txt 测试集(VOC 2012的test.txt未公开,
| | VOC 2007的test.txt需要单独下载测试集才有)
│ │
│ └── Segmentation 目标分割图像信息(子目录结构同上)
│
├── JPEGImages 所有图像文件
├── SegmentationClass 语义分割png图(基于类别)
└── SegmentationObject 实例分割png图(基于目标)
注意,test.txt
、train.txt
、val.txt
和trainval.txt
文件里记录的是对应标注文件的索引,每一行对应一个索引信息。
详细信息
Annotations
Annotations文件夹中存放的是xml格式的标签文件,每一个xml文件都对应于JPEGImages文件夹中的一张图片。
标注信息格式
<annotation>
<folder>VOC2012</folder> //文件夹名(不重要)
<filename>2007_000392.jpg</filename> //文件名,可在JPEGImages文件夹下找到对应文件
<source> //图像来源(不重要)
<database>The VOC2007 Database</database> //数据集来源(不重要)
<annotation>PASCAL VOC2007</annotation> //标注者(不重要)
<image>flickr</image> //图片来源(不重要)
</source>
<size> //图像尺寸(长宽以及通道数)
<width>500</width> //图片宽度
<height>332</height> //图片长度
<depth>3</depth> //channel信息
</size>
<segmented>1</segmented> //是否用于分割(在图像物体识别中01无所谓)
<object> //检测到的物体(可能不止一个)
<name>horse</name> //物体类别
<pose>Right</pose> //拍摄角度(不重要)
<truncated>0</truncated> //是否被截断(0表示完整)
<difficult>0</difficult> //目标是否难以识别(0表示容易识别)
<bndbox> //bbox信息(包含左下角和右上角xy坐标)
<xmin>100</xmin> //标注框左上角横坐标
<ymin>96</ymin> //标注框左上角纵坐标
<xmax>355</xmax> //标注框右下角横坐标
<ymax>324</ymax> //标注框右下角纵坐标
</bndbox>
</object>
<object> //该图片中第二个物体标注信息
<name>person</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>198</xmin>
<ymin>58</ymin>
<xmax>286</xmax>
<ymax>197</ymax>
</bndbox>
</object>
</annotation>
ImageSets
ImageSets存放的是每一种类型的challenge对应的图像数据。
在ImageSets下有四个文件夹:Action、Layout、Main、Segmentation
- Action下存放的是人的动作(例如running、jumping等等),用来执行行为识别(Action Classification)任务(不详细展开);
- Layout下存放的是具有人体部位的数据(人的head、hand、feet等等),用于 person layout任务(不详细展开);
- Segmentation下存放的是可用于分割的数据。用于分割任务(不详细展开);
- Main下存放的是图像物体识别的数据,总共分为20类。
Main文件夹下包含了20个分类的***_train.txt、***_val.txt和***_trainval.txt。
(如果补充了test集的话还有20个类的***_test.txt)
这些txt中的内容都差不多,一行中前一个数字代表图像名称(不带后缀),后面的1代表正样本,-1代表负样本。
_train中存放的是训练使用的数据,每一个class的train数据都有5717个。
_val中存放的是验证结果使用的数据,每一个class的val数据都有5823个。
_trainval将上面两个进行了合并,每一个class有11540个。
需要保证的是train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的。
在整个数据集的test、train、val、trainval文件中不包括正负样本一说。
JPEGImages
JPEGImages文件夹中包含了PASCAL VOC所提供的所有的图片信息,包括了训练图片和测试图片。
这些图像都是以“年份_编号.jpg”格式命名的。(voc 2007命名格式不带有年份)
图片的像素尺寸大小不一,但是横向图的尺寸大约在500*375左右,纵向图的尺寸大约在375*500左右,基本不会偏差超过100。(在之后的训练中,第一步就是将这些图片都resize到300*300或是500*500,所有原始图片不能离这个标准过远。)
这些图像就是用来进行训练和测试验证的图像数据。
SegmentationClass和SegmentationObject
这两个文件夹下保存了物体分割后的图片,在物体识别中没有用到,在这里不做详细展开。
参考链接:
PASCAL VOC 数据集格式https://blog.csdn.net/qq_32799915/article/details/76528187
PASCAL VOC数据集分析https://blog.csdn.net/zhangjunbob/article/details/52769381
PASCAL VOC数据集标注格式https://zhuanlan.zhihu.com/p/78591268
目标检测数据集PASCAL VOC详解https://zhuanlan.zhihu.com/p/362044555文章来源:https://www.toymoban.com/news/detail-751463.html
PASCAL VOC2012数据集介绍https://blog.csdn.net/qq_37541097/article/details/115787033文章来源地址https://www.toymoban.com/news/detail-751463.html
到了这里,关于毕设杂记:PASCAL VOC数据集(目标检测)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!