简介
PASCAL VOC挑战赛 (The PASCAL Visual Object Classes) 是一个世界级的计算机视觉挑战赛PASCAL(Pattern Analysis, Statical Modeling and Computational Learning),是一个由欧盟资助的网络组织
官网:The PASCAL Visual Object Classes Homepage (ox.ac.uk)
PASCAL VOC挑战赛主要包括以下几类:
- 图像分类(Object Classification)和目标检测(Object Detection)
- 目标分割(Object Segmentation):实例分割、语义分割
- 动作识别(Action Classification)
- 人体布局检测(Person Layout)
PASCAL VOC 2007 类别
训练、验证、测试数据统计
VOC 2007 数据分布:VOC2007 Database Statistics (ox.ac.uk)
VOC 2012 数据分布:VOC2012 Database Statistics (ox.ac.uk)
数据集文件结构
标注文件内容
目标检测(以2007_000323.xml 为例)
首先在 Main
目录中,读取对应的txt文件。比如使用 train.txt
中的数据进行训练,那么读取该txt文件,解析每一行,每一行对应一个标签文件的索引。接着通过索引在 Annotations
文件夹下找到对应的标注文件(.xml)
- filename:通过该字段能够在 JPEGImages 文件夹中能够找到对应的图片
- size:记录了对应图像的宽、高以及channel信息
- object:每个object代表一个目标
- name:该目标的名称
- pose:目标的姿势(朝向)
- truncated:目标是否被截断(目标是否完整)
- difficult:该目标的检测难易程度(0代表简单,1表示困难)
- bndbox:记录了该目标的边界框信息
语义分割(以2007_000323.png 为例)
首先在 Segmentation
目录中,读取对应的txt文件。比如使用 train.txt
中的数据进行训练,那么读取该txt文件,解析每一行,每一行对应一个图像的索引。根据索引在 SegmentationClass
目录中找到相应的标注图像(.png)
- 在语义分割中对标注图像(.png)用PIL的Image.open()函数读取时,默认是P模式,即一个单通道的图像
- 在背景处的像素值为0,目标边缘处用的像素值为255(训练时一般会忽略像素值为255的区域),目标区域内根据目标的类别索引信息进行填充
- 例如,人对应的目标索引是15,所以目标区域的像素值用15填充
下面给出在Pascal VOC数据集中各目标类别名称与类别索引对应关系:
注:不是全物体分割(full segmentation)!
实例分割(以2007_000032.png 为例)
首先在 Segmentation
目录中,读取对应的txt文件。比如使用 train.txt
中的数据进行训练,那么读取该txt文件,解析每一行,每一行对应一个图像的索引。根据索引在 SegmentationObject
文件夹中找到相应的标注图像(.png)
- 在实例分割中对应的标注图像(.png)用PIL的Image.open()函数读取时,默认是P模式,即一个单通道的图像
- 在背景处的像素值为0,目标边缘处或需要忽略的区域用的像素值为255 (训练时一般会忽略像素值为255的区域)。目标区域内的像素值是按照 .xml 文件中对应目标顺序排列的
- 例如,“飞机”排在第1位,像素值为1;“人(黄色)”排在第3位,像素值为3
注:不是全物体分割(full segmentation)!
————————————————
参考CSDN原文链接: