PASCAL VOC DATASET

Posted wind-chaser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PASCAL VOC DATASET相关的知识,希望对你有一定的参考价值。

       PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge。该挑战的主要目的是识别真实场景中一些类别的物体。在该挑战中,这是一个监督学习的问题,训练集以带标签的图片的形式给出。这些物体包括20类:

Person: person
Animal: bird, cat, cow, dog, horse, sheep
Vehicle: aeroplane, bicycle, boat, bus, car, motorbike, train
Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor

        该挑战主要包括三类任务:分类(classification),检测(detection),和分割(segmentation) 所有的标注图片都有Detection需要的label, 但只有部分数据有Segmentation Label。
        VOC2007中包含9963张标注过的图片, 由train/val/test三部分组成, 共标注出24,640个物体。

VOC2007的test数据label已经公布, 之后的没有公布(只有图片,没有label)。 对于检测任务,VOC2012的trainval/test包含08-11年的所有对应图片。

trainval有11540张图片共27450个物体。 对于分割任务, VOC2012的trainval包含07-11年的所有对应图片, test只包含08-11。trainval有 2913张图片共6929个物体。

在这里采用PASCAL VOC2012作为例子。下载地址为:点击打开链接。

下载完之后解压,可以在VOCdevkit目录下的VOC2012中看到如下的文件夹:

技术图片

JPEGImages
JPEGImages文件夹中包含了PASCAL VOC所提供的所有的图片信息,包括了训练图片和测试图片。一共9963张图片。

技术图片

这些图像都是以“编号.jpg”格式命名的。

图片的像素尺寸大小不一,但是横向图的尺寸大约在500375左右,纵向图的尺寸大约在375500左右,基本不会偏差超过100。(在之后的训练中,第一步就是将这些图片都resize到300300或是500500,所有原始图片不能离这个标准过远。)
这些图像就是用来进行训练和测试验证的图像数据。

Annotations

Annotations文件夹中存放的是xml格式的标签文件,每一个xml文件都对应于JPEGImages文件夹中的一张图片。

技术图片

 

 1 <annotation>
 2     <folder>VOC2007</folder>                           
 3     <filename>000xxx.jpg</filename>                               //文件名
 4     <source>                                                           //图像来源(不重要)
 5         <database>The VOC2007 Database</database>
 6         <annotation>PASCAL VOC2007</annotation>
 7         <image>flickr</image>
 8     </source>
 9     <size>                                               //图像尺寸(长宽以及通道数)                        
10         <width>500</width>
11         <height>332</height>
12         <depth>3</depth>
13     </size>
14     <segmented>1</segmented>                                   //是否用于分割(在图像物体识别中01无所谓)
15     <object>                                                           //检测到的物体
16         <name>horse</name>                                         //物体类别
17         <pose>Right</pose>                                         //拍摄角度
18         <truncated>0</truncated>                                   //是否被截断(0表示完整)
19         <difficult>0</difficult>                                   //目标是否难以识别(0表示容易识别)
20         <bndbox>                                                   //bounding-box(包含左下角和右上角xy坐标)
21             <xmin>100</xmin>
22             <ymin>96</ymin>
23             <xmax>355</xmax>
24             <ymax>324</ymax>
25         </bndbox>
26     </object>
27     <object>                                                           //检测到多个物体
28         <name>person</name>
29         <pose>Unspecified</pose>
30         <truncated>0</truncated>
31         <difficult>0</difficult>
32         <bndbox>
33             <xmin>198</xmin>
34             <ymin>58</ymin>
35             <xmax>286</xmax>
36             <ymax>197</ymax>
37         </bndbox>
38     </object>
39 </annotation>

ImageSets

ImageSets存放的是每一种类型的challenge对应的图像数据。在ImageSets下有四个文件夹:

技术图片

 


Layout下存放的是具有人体部位的数据(人的head、hand、feet等等,这也是VOC challenge的一部分)
Main下存放的是图像物体识别的数据,总共分为20类。
Segmentation下存放的是可用于分割的数据。

  • 在这里主要考察Main文件夹。技术图片

Main文件夹下包含了20个分类的***_train.txt、***_val.txt和***_trainval.txt。
这些txt中的内容都差不多如下:

技术图片

前面的表示图像的name,后面的1代表正样本,-1代表负样本。
_train中存放的是训练使用的数据,每一个class的train数据都有2501个。
_val中存放的是验证结果使用的数据,每一个class的val数据都有2510个。
_trainval将上面两个进行了合并,每一个class有5011个。
需要保证的是train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的。
---------------------
REF:https://blog.csdn.net/zw__chen/article/details/82856231

以上是关于PASCAL VOC DATASET的主要内容,如果未能解决你的问题,请参考以下文章

PASCAL-VOC2012数据集(vocdevkitVocbenchmark_release)详细介绍

PASCAL-VOC2012数据集(vocdevkitVocbenchmark_release)详细介绍

text pascal voc aug

python pascal voc 2012数据集

Pascal VOC & COCO数据集介绍及相互转换

Pascal voc 2012行人数据集