VOC数据集

概述

Pascal VOC2012作为基准数据之一,在对象检测、图像分割网络对比实验与模型效果评估中被频频使用,但是如果没有制作过此格式的数据集就会忽略很多细节问题,今天我们一起来从头到尾扒一扒Pascal VOC2012 数据集各种细节问题。

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

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

图像分类与检测

分类:在测试图像预测是否为二十个分类之一,正确分类

检测:在测试图像上预测二十个分类对象的有无与位置信息

图像分割

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

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

1. 行为识别数据:预测图像中人的行为动作

2. Person Layout标注,检测人与其各个身体组成部分,如果手、脚、头等

数据集结构与描述

Pascal VOC2012的文件结构如下:

Annotations 标注文件XML

里面是图像对应的XML标注信息描述,每张图像有一个与之对应同名的描述XML文件,XML前面部分声明图像数据来源,大小等元信息,举例如下:

上面表示图像对应路径为VOC2012/JPEGImages/2007_000033.jpg,来自flickr网站上,大小为WxHxC=500x366x3,是三通道的彩色图像,其中segmented为1有分割标注,0表示没有分割标注。后面的是对象检测的每个BOX标签信息极其描述信息,图示如下:

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

-name表示对象类别

-pose表示采用是从什么视角,常见的有Left、Right、Frontal、rear,

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

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

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

ImageSets 不同功能的图像文件名称列表

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

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

val.txt 表示验证集数据

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

test.txt表示测试集数据

Pascal VOC2012 Main中统计的训练、验证、验证与训练、测试图像如下:

可以看出训练图像有5717张,目标数13609个。

在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

JPEGImages 原始的图像文件

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

SegmentationClass

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

SegmentationObject

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

性能评价

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

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

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

标注制作

我喜欢用的制作VOC2012数据集的标注工具为labelImg

简单好用,自动生成VOC2012 Annotation XML文件。

更多数据标注与数据集制作工具参考之前的文章:

十个最常用深度学习图像/视频数据标注工具

参考资料

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值