1. 概述

Pascal VOC 数据集_Pascal

Pascal VOC2012数据集主要是针对视觉任务中监督学习提供标签数据,它有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

主要有四个大类别,分别是人、常见动物、交通车辆、室内家具用品。主要为图像分类对象检测识别图像分割三类任务服务。

1.1 图像分类与检测

分类:在测试图像预测是否为二十个分类之一,正确分类。
检测:在测试图像上预测二十个分类对象的有无与位置信息。
Pascal VOC 数据集_Pascal _02

1.2 图像分割

分割:对每个对象与类别生成像素级别的分割标签,确定像素是为目标20个分类或者背景。
Pascal VOC 数据集_Pascal _03

1.3 行为识别、人体Layout分析

此外Pascal VOC还提供一些很有意思的标注数据包括行为识别人体Layout分析等。

行为识别数据:预测图像中人的行为动作
Pascal VOC 数据集_Pascal _04
Person Layout标注,检测人与其各个身体组成部分,如果手、脚、头等
Pascal VOC 数据集_Pascal _05

2. 数据集结构与描述

Pascal VOC2012的文件结构如下:
Pascal VOC 数据集_Pascal _06
Pascal VOC 数据集_Pascal _07

2.1 Annotations

里面是图像对应的XML标注信息描述,每张图像有一个与之对应同名的描述XML文件,XML前面部分声明图像数据来源大小等元信息,举例如下:
Pascal VOC 数据集_Pascal _08
上面表示图像对应路径VOC2012/JPEGImages/2007_000033.jpg,来自flickr网站上,大小WxHxC=500x366x3,是三通道的彩色图像,其中segmented为1有分割标注,0表示没有分割标注。
后面的是对象检测的每个BOX标签信息极其描述信息,图示如下:

Pascal VOC 数据集_Pascal _09
其中每个object标签是表示单独的box信息与对象描述,一张图像可以有多个object标签(boxes),

-name表示对象类别

-pose表示采用是从什么视角,常见的有LeftRightFrontalrear

-truncated 是否被标记为截断,0表示没有,1表示是

-difficult是否被标记为很难识别对称,0表示不是,1表示是

-bndbox标签描述box框在图像上的位置

2.2 ImageSets

里面是标注类别的每个文件列表信息Action中是所有具有Action标注信息图像文件名的txt文件列表,Layout中的txt文件表示包含Layout标注信息的图像文件名列表,Main文件夹中包含20个类别每个类别一个txt文件,每个txt文件都是包含该类别的图像文件名称列表,Segmentation则是包含语义分割信息图像文件的列表。

train.txt表示是的训练数据集合

val.txt 表示验证集数据

trainval.txt表示训练与验证集数据

test.txt表示测试集数据

Pascal VOC2012 Main中统计的训练、验证、验证与训练、测试图像如下:
Pascal VOC 数据集_Pascal _10
可以看出训练图像有5717张,目标数13609个。

main中针对每个类别都有个三个文件,分别为:
CLASSNAME_train.txt
CLASSNAME_val.txt
CLASSNAME_trainval.txt

CLASSNAME = aeroplane为例,main中的三个文件分别为:
aeroplane_train.txt
aeroplane_val.txt
aeroplane_trainval.txt

每个类别txt文件里面的内容格式为:图像文件名 + 空格 + 标记
aeroplane_train.txt中的举例如下:

2008_000290 0

2008_000291 1

2008_000297 -1
其中2008_0002902008_0002912008_000297表示三张图像文件名

0 表示图像中包含aeroplane对象但是难识别样本

1 表示图像中包含aeroplane

-1 表示图像中不包含aeroplane

2.3 JPEGImages

所有的原始图像文件,格式必须是JPG格式,这个要特别注意!如果你打算使用VOC2012格式生成数据,那么原始图像格式在采样时候请用JPG格式保存,避免后期生成使用tensorflow工具生成的时候出错。

2.4 SegmentationClass

所有分割的图像标注,分割图像安装每个类别标注的数据

2.5 SegmentationObject

所有分割的图像标注,分割图像安装每个类别每个对象不同标注的数据

3 性能评价

对象检测类任务的性能评价是基于AP/AR 根据精度召回曲线计算mAP,相关阅读参考之前的文章即可:

详解对象检测网络性能评价指标mAP计算

图像分割类任务的性能评价是基于图像的平均分割精度,即20个类别与背景类别的分割计算得到:
Pascal VOC 数据集_Pascal _11

参考

https://www.sohu.com/a/333069232_823210
https://blog.csdn.net/Sandwichsauce/article/details/87925282