COCO(Microsoft COCO: Common Objects in Context)论文阅读笔记
以下为我总结出的论文各部分的主要内容,某些地方可能夹带着一些自己的理解和思考。
摘要
-
该论文/该数据集的目的
推动目标识别领域的技术突破
-
数据集概要
- 320k张图片,250万个实例,91种实例类型
- 标注类型:实例分割
- 该数据集的主要创新:实例是放在natural context中的,并且语境有很多种而非人为定义的背景中,看Fig1就懂这一点创新了
-
本文工作
- 制作该数据集
- 统计分析该数据集,并与其它3个数据集做比较
- 使用DPM,提供该数据集的目标检测和实例分割的baseline,并分析其performance
引言
-
场景理解包含的任务
- 图像分类:识别目标的种类
- 定位:定位2D或3D目标
- 确定目标和场景的属性
- 描述物体间的关系
- 提供场景的语义描述
-
该数据集解决场景理解中3个核心研究问题
- 检测非图标的目标。图标型目标,比如百度搜到的那种自行车,绝大多数都是背景很空,中间放了个自行车;自然型目标,比如人在骑自行车,停车场中的自行车,背景、语义的差异是极大的。可以看Fig.2
- 对象之间的上下文推理,即上面第4个任务
- 目标的精确2D定位,即上面第2个任务中的实例分割
-
假设存在的问题并在该数据集上证明
现在的视觉识别系统识别图标型目标的能力相当好,但识别自然场景中的目标的能力却不好
-
一个观点
理解目标的空间位置关系,将成为场景分析的核心部分
-
数据集里的图片怎么来的?
- 搜索两个目标
- 搜索场景
-
在标注时,分步进行,由于标注工作的不确定性在每个阶段中做了很多权衡
-
和其它数据集的区别,详见Fig.5
- 和ImageNet对比,COCO有更少类别,但每个类别有更多实例,更有利于目标的定位
- 和ImageNet、VOC、SUN相比,该数据集每个类别都有更多实例,更关键的是每张图中实例更多,有利于学习目标间的关系
- 和ImageNet相比、VOC相比,该数据集每张图里的实例更多;SUN一张图里的实例则比该数据集高,但整体上数据集中的实例更少。
相关工作
该数据集依次解决3个问题:
- 图像分类
- 目标检测
- semantic scene labeling
图像分类
-
图像分类做什么
给出二进制标签,指出图片中是否包含某目标,见Fig1(a)
-
进展
- MNIST、COIL等数量少,甚至只有一种类别
- CIFAR-10 and CIFAR-100,类别多了些,但还很少且是入门级别entry-level,和人类认知相差很多
- ImageNet突然实现数量和类别(both entry-level and fine-grained)的大增长
目标检测
-
目标检测做什么
识别并定位某物体,典型的定位方式是矩形框,见Fig.1(b)
-
发展
- 人脸识别,先是各种临时数据集,后来出现了更复杂的
- 行人识别,Caltech Pedestrian Dataset
- 基础目标识别,2005到2012年多年努力,VOC数据集
语义分割
-
语义分割做什么
确定图片里每个像素属于什么类别,即使是“背景”,见Fig.1(c)
-
发展
很难标注,比如草、街道;有室内和室外的数据集;有些数据集还有深度信息(什么意思?没懂)
- SUN数据集,长尾现象(类别数量不平衡,比如wall有20213个,但boat只有349个)
- 该数据集(COCO)保证每个类别有大量实例
其它视觉数据集
- Middlebury datasets,立体视觉,多视图立体,光流
- Berkeley Segmentation Data Set(BSDS500),分割,边缘检测
图片收集
如何选择目标的类别以及候选图片
常见目标类别
-
对类别的要求
- 所有类别中有代表性的那些类别
- 和现实应用相关
- 高频出现以保证数据集数据多
-
其它类别
是否要包括stuff、thing,是否要包括细粒度(Fine-grained)、对象部分(object-part)
-
thing:很容易区分和标注,比如person、chair。该数据集中做了标注
-
stuff:没有明显边界,比如sky、street、grass。
该数据集中没有标注,stuff包含了重要的上下文信息,对其标注是有益的,这一点可以改进
-
-
类别细分度
- 例:牧羊犬是狗,狗也是哺乳动物
- 为使方案可行,并且保证每个类别有大量实例,该数据集的类别选择entry-level,入门级别,即人们普遍使用的类别,dog、chair、person
-
对象部分
预计将包含对象部分类别,比如face、hands、wheels,它们有益于现实应用
-
确定类别
- PASCAL VOC+a subset of the 1200 most frequently used words that denote visually identifiable objects
- 让4到8岁的小孩说出他们在室内外看到的物体
- 合著者投票5级制投票,考虑是否常用、现实应用价值、与其它类别的差异程度
- 根据投票结果选择,同时保证每个类别实例数量均匀且充足。为保证向后兼容,VOC的所有类别都被包含了
- 最终得到91个类别
非图标图片收集
-
将图片分为3类
- iconic object images,通过谷歌和必应图片搜索可以很方便地找到
- iconic scene images
- non-iconic images,目标是主要收集这些图片
-
收集non-iconic images,两个策略
-
像VOC一样,从Flickr中收集,其中的图片有可以搜索的原数据和关键词
-
成对搜索类别,比如dog + car,搜索结果一般都是non-iconic images,甚至图片里不只这两个类别
还有scene/object category pairs
如果找不到足够的图片,就单独搜索类别然后筛选出non-iconic images
-
图片标注
如何标注收集到的图片
- 标注pipeline,见Fig3
- 类别标注
- 实例定位
- 实例分割
- 对于众包任务,标注人员,来自Amazon’s Mechanical Turk (AMT),用户接口见附录
- 提高标注质量
- 类别标注和实例定位这两个阶段的标注人员增加到8个
- 增加一个阶段验证实例分割的标注结果
类别标注
-
类别标注做什么
确定图片里有哪些类别,Fig3(a),大致标出位置
-
类别标注怎么做
-
分级/分步:把91个类别分为11个父类
只需标出图片里有哪些类别,比如有多个dog,标出一个即可。
- 给定图像,向标注人员依次显示每组类别,并要求其指示是否存在该父类的实例。
- 如果某标注人员负责从父类(比如动物)中确定存在实例,则对于存在的每个下属类别(狗,猫等),工作人员必须将类别的图标拖到该类别的一个实例上的图像上。
-
共8个标注人员负责这项工作,如果有任何标注人员指出该类别,则认为该类别存在(提高recall);误报将在后续阶段处理。
-
-
类别标注耗时多久
这个阶段耗时20000工时
实例定位
-
实例定位做什么
基于上一步类别标注的结果,标注图像中对象类别的所有实例,大致位置,如果有多个dog,都要标注出来。Fig3(b)
-
实例定位怎么做
- 标注人员在上一个阶段中找到的特定类别的每个实例的顶部放置一个叉号
- 标注人员可以用放大镜去找到小的实例
- 每个工作人员被要求为每个图像标记最多10个给定类别的实例。
-
实例定位耗时多久
每个图像由8名工人标记,总计约10,000个工时
实例分割
-
实例分割做什么
基于上一步实例定位的结果,
-
实例分割怎么做
- 修改了Bell等人开发的用户接口,
- 如果在图像中已经对其他实例进行了分割,则将这些分割显示给工作人员。
- 工作人员还可能指示图像中没有给定类别的对象实例(这意味着来自上一阶段的假肯定标签),或者所有对象实例都已被分割。
- 为最小化成本,每个实例仅有一名标注人员分割
- 初步标注出的质量不高,所以训练标注人员,标注人员和标注结果的质量提高了
- 要求多个工作人员(3至5名)判断每个标注,并表明其是否与实例完全匹配。质量不高的标注将被丢弃,并将相应的实例添加回未标注的对象池中。
- 一些批准的工人总是生成差劲的标注;从这些工人那里获得的所有工作都被丢弃
- 如果实例很密集,比如人群、一车香蕉,就会标注为一个“crowds”(出于评估目的,标记为crowds的区域将被忽略,并且不会影响探测器的得分)
-
实例分割耗时多久
- 22 worker hours per 1,000 segmentations.
标注性能分析
- 10个标注人员和7个专家标注对比(其实是合著者)
- Ground Truth根据专家的标注确定,10个标注人员的recall更高,见Fig4(a)
- 测评中recall更关键,因为错误标注可以在之后去掉
- 大多数标注人员具有很高的precision;这些标注人员通常会完成更多工作,见Fig4(b)
Caption Annotation
- 为每张图片提供5个说明注释,这一版本的数据集不久后发布
数据统计
和ImageNet, PASCAL VOC 2012, and SUN进行对比
- 各自特点
- ImageNet:类别多且很多是细粒度的
- SUN:关注场景类型及其中的常见目标
- VOC:主要应用于自然图片的目标检测
- COCO:自然图片中的目标检测和分割
- 其它内容就是Fig5,以及前面引言INtroduction里对数据集本身的描述
- Fig5
- 每个类别的实例的数量,比较均匀
- 每张图片里的类别的数量,ImageNet和VOC多数只有1或2个类别,而COCO多数有1-6个类别
- 每张图片里的实例的数量,SUN最多,ImageNet和VOC多数是1-2个,COCO多数是1-5个
- 类别数量VS实例数量,越靠右上角越复杂
- 实例在图片中的占比(尺寸维度),几个数据集差不多,50%以上的目标都不超过图片尺寸的10%
数据集划分
为更快发行数据集,COCO被分成大致等量的两部分
- 第一部分,2014公开,82783训练,40504验证,40775测试
- 第二部分,2015公开,165,482 train, 81,208 val, and 81,434 test images.
- 训练和验证的标注会公开,但测试集的标注不会公开
算法分析
目标框检测
- 从COCO中选55k张图片,根据分割标注进行tight-fitting得到矩形框
- 在COCO和VOC上测试数据集
- 测试两个模型:DPMv5-P和DPMv5-C。P指在PascalVOC2012上训练的。C指在COCO(5000正样本,10000负样本)上训练的,使用默认设置训练COCO的模型。
- 两个模型在两个数据集上进行测试,在COCO上的性能都比在VOC上的性能低(见Table1),指出COCO包含更多难的图片。
- 关于训练集对性能的影响的结论:文中指出在训练过程中包含困难(非图标)图像可能并不总是有帮助,如果该模型不够丰富,无法捕获此类外观可变性,则此类示例可能会充当噪声并污染学习的模型。
我们的数据集允许探索此类问题。 - 一个结论:根据实验,模型在MS COCO的总体性能要低得多。这些观察结果支持两个假设:1)MS COCO比PASCAL VOC困难得多,并且2)在有更多训练数据的情况下,在MS COCO上训练的模型可以更好地推广到更容易的数据集,例如PASCAL VOC。
基于检测框生成分割
- 对每个类别,学习其像素级掩码,方式是将训练得到的实例(框)对齐,然后平均,见Fig7
通过分割评估检测
- 现在有分割标注,通过tight-fitting得到矩形框1,以预测(检测)的分割tight-fitting得到的矩形框2和矩形框1的交并比应大于等于0.5为标准,见Fig8
- 结论
- 即使预测和标签的真实边界框重叠得很好,预测的分割也可能无法恢复对象细节,见Fig9左
- Fig9中的结论没怎么看懂,大概是说即使标注及其矩形框IOU很大,也还是难以预测
- Fig9右,在COCO上测试,正确预测的平均交并比也都不高,基本不超0.5,这一点也不是很懂
讨论
又强调了一些东西
- over 70,000 worker hours
- non-iconic images of objects in natural environments and varied viewpoints.
- rich contextual information
未来展望/方向:
- 现在没有标注stuff,未来可以标注
附录
- detailed descriptions of the AMT user interfaces
- the full list of OBJECT & SCENE CATEGORIES
作者:@臭咸鱼
转载请注明出处:https://www.cnblogs.com/chouxianyu/
欢迎讨论和交流!