Pascal Voc数据集详解 以Voc2012为例

Pascal VOC网址:http://host.robots.ox.ac.uk/pascal/VOC/ 

一. VOCdevkit文件夹

数据集下载后解压得到一个名为VOCdevkit的文件夹,该文件夹结构如下:

.
└── VOCdevkit     #根目录
    └── VOC2012   #不同年份的数据集,这里只下载了2012的,还有2007等其它年份的
        ├── Annotations        #存放xml文件,与JPEGImages中的图片一一对应,解释图片的内容等等
        ├── ImageSets          #该目录下存放的都是txt文件,txt文件中每一行包含一个图片的名称,末尾会加上±1表示正负样本
        │   ├── Action
        │   ├── Layout
        │   ├── Main
        │   └── Segmentation
        ├── JPEGImages         #存放源图片
        ├── SegmentationClass  #存放的是图片,分割后的效果,见下文的例子
        └── SegmentationObject #存放的是图片,分割后的效果,见下文的例子

文件目录一览:

1.  Annotation文件夹

其中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>  #通道数
    </size>
    <segmented>0</segmented> #可否用于语义分割任务,1表示可以,也就是这张图片在SegmentationClass/Object里面有
    <object>  #检测的目标,如果有多个会有多个<object>标签
        <name>person</name> #目标类别
        <pose>Unspecified</pose> #拍摄角度
        <truncated>0</truncated> #是否被截断, 0表示完整  
        <difficult>0</difficult> #目标是否难以识别, 0表示容易识别
        <bndbox>  #bounding-box, 包含左下角和右上角xy坐标
            <xmin>174</xmin>
            <ymin>101</ymin>
            <xmax>349</xmax>
            <ymax>351</ymax>
        </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.  ImageSets文件夹

各个文件夹中存放的是各种用途的TXT文件。例如在Main文件夹下有名为aeroplane_train.txt的文件,顾名思义是用于飞机类别的训练数据。该txt的具体内容如下,其中±1表示的是正负样本:

①Action:存放的是人的动作。共10个动作标签,分别是:jumping、phoning、playinginstrument、reading、ridingbike、ridinghorse、running、takingphoto、usingcomputer、walking。

标签内容格式:2011_003279 1 1 (第一个1表示图中包含的人数。第二个表示图中人的动作状态是否满足:jumping,-1代表不跳)

②Layout:存放的是具有人体部位的数据(人的head、hand、feet等)

 

③Main:存放的是图像物体识别的数据,总共分为20类(算背景就是21类),包含了20个分类的***_train.txt(存放训练集的图片编号,每一个class的train数据都有5717个)、 ***_val.txt(存放验证集的图片编号,每一个class的val数据都有5832个) 和 ***_trainval.txt(存放以上两者的完全合并集,每一个class有5717+5832=11540个) 。

- 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

(要保证train和val两者没有交集,也就是训练数据和验证数据不能有重复,在选取训练数据的时候 ,也应该是随机产生的)

④Segmentation:存放的是可用于分割的图片的编号。

3.  JPEGImages文件夹

包含了PASCAL VOC所有的图片,包含训练图片和测试图片,共有17125张。图片均以“年份_编号.jpg”格式命名。图片的尺寸大小不一,所以在后面训练的时候需要对图片进行resize操作。

图片的像素尺寸大小不一,但是横向图的尺寸大约在500*375左右,纵向图的尺寸大约在375*500左右,基本不会偏差超过100。(在之后的训练中,第一步就是将这些图片都resize到300*300或是500*500,所有原始图片不能离这个标准过远,具体resize方式可以看最下面github链接里data.py。)

4.  SegmentationClass文件夹

共2913张图片,每一张图片都对应JPEGImages里的相应编号的图片。图片的像素颜色共有20种,对应20类物体。

5.  SegmentationObject文件夹

同样包含了2913张图片,图片编号都与SegmentationClass文件夹里面的图片编号相同。这里和Class里面图片的区别在于,这是针对Object的。

在Class里面,一张图片里如果有多架飞机,那么会全部标注为红色;而在Object里面,同一张图片里面的飞机也会被不同颜色标注出来。

注:参考了诸多资料后的统一整理,感谢大家的共同贡献,让学习更简单。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值