文章目录
- 一.PASCAL数据集简介
 - 1.图像分割
 
一.PASCAL数据集简介
Pascal VOC2012数据集主要是针对视觉任务中监督学习提供标签数据,它有四个大类别,可以细分为二十个小类别:
- 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
 
主要有四个大类别,分别是人、常见动物、交通车辆、室内家具用品。主要为图像分类、对象检测识别、图像分割三类任务服务。
1.图像分割
图像分割:对每个对象与类别生成像素级别的分割标签,确定像素是为目标20个分类或者背景。
 

Pascal VOC2012的文件结构如下:
 

- Annotations:里面是图像对应的XML标注信息描述,每张图像有一个与之对应同名的描述XML文件,XML前面部分声明图像数据来源,大小等元信息
 - ImageSets: 里面是标注类别的每个文件列表信息 
  
- Action:是所有具有Action标注信息图像文件名的txt文件列表
 - Layout:中的txt文件表示包含Layout标注信息的图像文件名列表
 - Main:文件夹中包含20个类别每个类别一个txt文件,每个txt文件都是包含该类别的图像文件名称列表
 - Segmentation:则是包含语义分割信息图像文件的列表
 
 - JPEGImages: 所有的原始图像文件,格式必须是JPG格式,这个要特别注意!如果你打算使用VOC2012格式生成数据,那么原始图像格式在采样时候请用JPG格式保存,避免后期生成使用tensorflow工具生成的时候出错。
 - SegmentationClass: 所有分割的图像标注,分割图像安装每个类别标注的数据
 - SegmentationObject: 所有分割的图像标注,分割图像安装每个类别每个对象不同标注的数据
 
ImageSets中的main中针对每个类别都有三个文件夹,分别为:
- CLASSNAME_train.txt
 - CLASSNAME_trainval.txt
 - CLASSNAME_val.txt
 
以CLASSNAME = aeroplane为例,main中的三个文件分别为:
- aeroplane_train.txt
 - aeroplane_trainval.txt
 - aeroplane_val.txt
 
每个类别txt文件里面的内容格式为:图像文件名 + 空格 + 标记,以aeroplane_train.txt中的举例如下:
- 2008_000290 0
 - 2008_000291 1
 - 2008_000297 -1
 
其中2008_000290、2008_000291、2008_000297表示三张图像文件名
- 0 表示图像中包含aeroplane对象但是难识别样本
 - 1 表示图像中包含aeroplane
 - -1 表示图像中不包含aeroplane
 
<?xml version="1.0" encoding="utf-8"?>
<annotation>
    <folder>VOC2007</folder>
    <filename>test100.mp4_3380.jpeg</filename>
    <size>
        <width>1280</width>
        <height>720</height>
        <depth>3</depth>
    </size>
    <object>
        <name>gemfield</name>
        <bndbox>
            <xmin>549</xmin>
            <xmax>715</xmax>
            <ymin>257</ymin>
            <ymax>289</ymax>
        </bndbox>
        <truncated>0</truncated>
        <difficult>0</difficult>
    </object>
    <object>
        <name>civilnet</name>
        <bndbox>
            <xmin>842</xmin>
            <xmax>1009</xmax>
            <ymin>138</ymin>
            <ymax>171</ymax>
        </bndbox>
        <truncated>0</truncated>
        <difficult>0</difficult>
    </object>
    <segmented>0</segmented>
</annotation>
 
在这个xml例子中:
- bndbox是一个轴对齐的矩形,它框住的是目标在照片中的可见部分;
 - truncated表明这个目标因为各种原因没有被框完整(被截断了),比如说一辆车有一部分在画面外;occluded是说一个目标的重要部分被遮挡了(不管是被背景的什么东西,还是被另一个待检测目标遮挡);
 - difficult表明这个待检测目标很难识别,有可能是虽然视觉上很清楚,但是没有上下文的话还是很难确认它属于哪个分类;标为difficult的目标在测试成绩的评估中一般会被忽略。
 



















