Press "Enter" to skip to content

目标检测与分割任务的公开数据集介绍

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

目标检测与分割backbone模型通常在公开数据集上预训练,如vgg19, resnet, mobilenet, efficientnet, YOLO等,而下游任务的标签类别有部分可能是与公开数据集重复。如果了解公开数据集的标签类别,对于减少下游任务的标注工作量有帮助。

 

目标检测:PASCAL VOC 数据集简介

 

PASCAL VOC挑战赛 (The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛,PASCAL全称:Pattern Analysis, Statical Modeling and Computational Learning,是一个由欧盟资助的网络组织。

 

很多优秀的计算机视觉模型比如分类,定位,检测,分割,动作识别等模型都是基于PASCAL VOC挑战赛及其数据集上推出的,尤其是一些目标检测模型(比如大名鼎鼎的R-CNN系列,以及后面的YOLO,SSD等)

 

PASCAL VOC从2005年开始举办挑战赛,每年的内容都有所不同,从最开始的分类,到后面逐渐增加检测,分割,人体布局,动作识别(Object Classification 、Object Detection、Object Segmentation、Human Layout、Action Classification)等内容,数据集的容量以及种类也在不断的增加和改善。该项挑战赛催生出了一大批优秀的计算机视觉模型(尤其是以深度学习技术为主的)。

 

标签类别

 

PASCAL VOC 数据集的20个类别及其层级结构:

 

从2007年开始,PASCAL VOC每年的数据集都是这个层级结构

总共四个大类:vehicle,household,animal,person
总共20个小类,预测的时候是只输出图中黑色粗体的类别
数据集主要关注分类和检测,也就是分类和检测用到的数据集相对规模较大。关于其他任务比如分割,动作识别等,其数据集一般是分类和检测数据集的子集。

VOC2007与VOC2012联合使用的注意事项

 

分割任务的数据集变化略有不同:

VOC 2012用于分类和检测的数据包含 2008-2011年间的所有数据,并与VOC2007互斥。
VOC 2012用于分割的数据中train+val包含 2007-2011年间的所有数据,test包含2008-2011年间的数据,没有包含07年的是因为07年的test数据已经公开了。

目前广大研究者们普遍使用的是 VOC2007和VOC2012数据集,因为二者是互斥的,不相容的。

 

论文中针对 VOC2007和VOC2012 的具体用法有以下几种:

只用VOC2007的trainval 训练,使用VOC2007的test测试。
只用VOC2012的trainval 训练,使用VOC2012的test测试,这种用法很少使用,因为大家都会结合VOC2007使用。
使用 VOC2007 的 train+val 和 VOC2012的 train+val 训练,然后使用 VOC2007的test测试,这个用法是论文中经常看到的 07+12 ,研究者可以自己测试在VOC2007上的结果,因为VOC2007的test是公开的。
使用 VOC2007 的 train+val+test 和 VOC2012的 train+val训练,然后使用 VOC2012的test测试,这个用法是论文中经常看到的 07++12 ,这种方法需提交到VOC官方服务器上评估结果,因为VOC2012 test没有公布。
先在 MS COCO 的 trainval 上预训练,再使用 VOC2007 的 train+val、 VOC2012的 train+val 微调训练,然后使用 VOC2007的test测试,这个用法是论文中经常看到的 07+12+COCO 。
先在 MS COCO 的 trainval 上预训练,再使用 VOC2007 的 train+val+test 、 VOC2012的 train+val 微调训练,然后使用 VOC2012的test测试 ,这个用法是论文中经常看到的 07++12+COCO,这种方法需提交到VOC官方服务器上评估结果,因为VOC2012 test没有公布。

数据集数量统计

 

VOC2017

 

 

VOC2012

 

 

VOC 2007 与 2012 的对比

 

 

标注信息

 

标注信息是用 xml 文件组织的如下:

 

<annotation>
    <folder>VOC2007</folder>
    <filename>000001.jpg</filename>
    <source>
        <database>The VOC2007 Database</database>
        <annotation>PASCAL VOC2007</annotation>
        <image>flickr</image>
        <flickrid>341012865</flickrid>
    </source>
    <owner>
        <flickrid>Fried Camels</flickrid>
        <name>Jinky the Fruit Bat</name>
    </owner>
    <size>
        <width>353</width>
        <height>500</height>
        <depth>3</depth>
    </size>
    <segmented>0</segmented>
    <object>
        <name>dog</name>
        <pose>Left</pose>
        <truncated>1</truncated>
        <difficult>0</difficult>
        <bndbox>
            <xmin>48</xmin>
            <ymin>240</ymin>
            <xmax>195</xmax>
            <ymax>371</ymax>
        </bndbox>
    </object>
    <object>
        <name>person</name>
        <pose>Left</pose>
        <truncated>1</truncated>
        <difficult>0</difficult>
        <bndbox>
            <xmin>8</xmin>
            <ymin>12</ymin>
            <xmax>352</xmax>
            <ymax>498</ymax>
        </bndbox>
    </object>
</annotation>

filename :文件名
source,owner:图片来源,及拥有者
size:图片大小
segmented:是否分割
object:表明这是一个目标,里面的内容是目标的相关信息
name:object名称,20个类别
pose:拍摄角度:front, rear, left, right, unspecified
truncated:目标是否被截断(比如在图片之外),或者被遮挡(超过15%)
difficult:检测难易程度,这个主要是根据目标的大小,光照变化,图片质量来判断 difficult 标签示例:图中白色虚线,被标记为 difficult。

 

MS COCO数据集简介

 

MS COCO (Microsoft COCO: Common Objects in Context) 是微软构建的一个数据集,其包含 detection, segmentation, keypoints等任务。

 

COCO中的图片包含了自然图片以及生活中常见的目标图片,背景比较复杂,目标数量比较多,目标尺寸更小,因此COCO数据集上的任务更难,对于检测任务来说,现在衡量一个模型好坏的标准更加倾向于使用COCO数据集上的检测结果。

 

任务分类

 

Image Classification:分类需要二进制的标签来确定目标是否在图像中。早期数据集主要是位于空白背景下的单一目标,如MNIST手写数据库,COIL household objects。在机器学习领域的着名数据集有CIFAR-10 and CIFAR-100,在32*32影像上分别提供10和100类。最近最着名的分类数据集即ImageNet,22,000类,每类500-1000影像。

 

Object Detection:经典的情况下通过bounding box确定目标位置,期初主要用于人脸检测与行人检测,数据集如Caltech Pedestrian Dataset包含350,000个bounding box标签。PASCAL VOC数据包括20个目标超过11,000图像,超过27,000目标bounding box。最近还有ImageNet数据下获取的detection数据集,200类,400,000张图像,350,000个bounding box。由于一些目标之间有着强烈的关系而非独立存在,在特定场景下检测某种目标是是否有意义的,因此精确的位置信息比bounding box更加重要。

 

Semantic scene labeling:这类问题需要pixel级别的标签,其中个别目标很难定义,如街道和草地。数据集主要包括室内场景和室外场景的,一些数据集包括深度信息。其中,SUN dataset包括908个场景类,3,819个常规目标类(person, chair, car)和语义场景类(wall, sky, floor),每类的数目具有较大的差别(这点COCO数据进行改进,保证每一类数据足够)。

 

Other vision datasets:一些数据集如Middlebury datasets,包含立体相对,多视角立体像对和光流;同时还有Berkeley Segmentation Data Set (BSDS500),可以评价segmentation和edge detection算法。

 

COCO数据集格式

 

COCO有5种类型的标注,分别是:物体检测、关键点检测、实例分割、全景分割、图片标注,都是对应一个json文件。json是一个大字典,都包含如下的关键字:

 

{
    "info" : info,
    "images" : [image], 
    "annotations" : [annotation], 
    "licenses" : [license],
}

 

其中 images 对应的是一个list,对应了多张图片。list的每一个元素是一个字典,对应一张图片。格式如下:

 

info{
    "id" : int, 
    "width" : int, 
    "height" : int, 
    "file_name" : str, 
    "license" : int, 
    "flickr_url" : str, 
    "coco_url" : str, 
    "date_captured" : datetime,
}

 

annotations定义实例分割和图像分类的标签

 

annotation{
    "id" : int, 
    "image_id" : int, 
    "category_id" : int, 
    "segmentation" : RLE or [polygon], 
    "area" : float, 
    "bbox" : [x,y,width,height], 
    "iscrowd" : 0 or 1,
}
categories[{
    "id" : int, 
    "name" : str, 
    "supercategory" : str,
}]

 

统计信息

 

MSCOCO总共包含91个类别,每个类别的图片数量如下:

 

 

与其它数据集比较

 

PASCAL和ImageNet中,每张图片上的类别或者实例数量普遍都很少。 以PASCAL为例:有多于70%的图片上都只有一个类别,而多于50%的图片上只有一个实例或者目标。PASCAL数据集平均每张图片包含1.4个类别和2.3个实例目标,ImageNet也仅有1.7和3.0个。

 

COCO数据集平均每张图片包含 3.5个类别和 7.7 个实例目标,仅有不到20%的图片只包含一个类别,仅有10%的图片包含一个实例目标。

 

COCO数据集不仅数据量大,种类和实例数量也多。从这角度来说 SUN 数据集这两个指标更高一点,但是这个数据集在目标检测里面并不常用。

 

结论:

图片大多数来源于生活中,背景更复杂
每张图片上的实例目标个数多,平均每张图片7.7个
小目标更多
评估标准更严格

参考资料

目标检测数据集PASCAL VOC详解
目标检测数据集MSCOCO详解

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。