本文已获得“深度学习大讲堂”授权转载。
“天街小雨润如酥,草色遥看近却无。”
从韩愈的这两句诗可以看出,人对图像内容的语义理解,并不依赖于细粒度监督信息做辅助。
与之相比,在机器学习领域,现阶段的语义分割任务,则依赖于大量的精细标注数据。互联网,作为最为丰富的数据源,吸引着相关从业人员的目光,然而要想利用这些数据,则面临着巨大的标注压力。
因此,引发了两点思考:第一,能否结合关键词信息作辅助,从web中直接学习知识,而不需要精细的人工标注呢?第二,能否利用类别无关的线索,在标注少量类别的数据集上训练好后,将其泛化到其他所有类别物体呢?
本文中,来自南开大学的程明明教授,将从这两点展开介绍目前的研究进展。
文末提供文中算法代码及参考文献的下载链接。
传统像素级语义理解方法,通常需要大量精细标注的图像训练。上图所示的是ADE20K数据集中的一个例子,该数据集包含21万个精细标注的物体的图像,是由Antonio教授的母亲花了很长时间标注的。
Antonio教授曾在CVML2012上开玩笑的说:“我的母亲标注了这样一个优质的数据集,真希望我有更多的母亲”。这是一句玩笑话,但也说明了构建数据集的重要性,以及构建它所需时间和精力之大。
回顾我们的成长过程,从小到大,我们的父母从未给我们做过如此精细的标注,去帮助我们识别和认知周围的世界。通常的学习方式是,父母给我们看一朵花并告诉我们这是朵花,然后我们就能很轻易的知道哪些区域、哪些像素对应着这朵花。那么我们是怎样利用这些信息,学习到每个像素所代表的语义内容呢?同时,这样一种信息能否帮我们更好的去理解图像的内容,对图像进行精细的语义理解?
我们的研究内容就是怎样去利用类似机制移除对精细标注信息的依赖。在生活中,当我们想要了解一种我们不熟悉的物体时,比如一种水果,通常我们只需要在网上搜索一下,观察几张图片,就能对这种水果有充分的认识,并能轻松识别对应目标及目标区域。能不能让计算机拥有从web中直接学习知识的能力,而不需要精细的人工标注呢?
可以帮助像素级语义理解的相关的工作有很多,比如说显著性物体检测:给定一张图像,发现并找到图像中的显著性物体,这些信息是很关键的。举个例子,当我们使用关键词在网上检索图像的时候,通常检索的图像和关键词之间有很强的相关性,通过显著性目标检测,我们可以假设检测结果对应的显著性区域语义信息就是其关键词,当然这种假设是存在噪声或者说错误的。
除了显著性目标(saliency)检测以外,还有图像的边缘检测,图像的过分割(over segmentation)等信息。这些信息都是类别无关的,可以从很少的数据集中训练出一个很好的通用模型。如边缘检测,我们可以从只有500个数据的BSD数据集中训练出一个很好的边缘检测模型。边缘能够很好描述物体的边界,从而能够减少对精细标注的依赖。同样的,过分割以及显著性检测也有同样的效果。一个直接的想法就是能否利用这些类别无关的线索(cues),在标注少量类别的数据集上训练好后,将其泛化到其他所有类别物体呢?哪怕是我们没有见过的物体,在不知道该物体类别的情况下,我们也能找到该物体所对应的区域。
沿着这个想法,有了我们的第一个工作:显著性物体检测,该工作发表在2017 CVPR以及2018 TPAMI上。下面我们介绍下该工作。
该工作的核心思想是以多尺度Deeply Supervised的方式,把不同尺度的信息融合起来,从多个尺度去检测显著性物体的区域。由于CNN中底层的特征和高层特征分别更擅长做细节描述和全局定位,而不够全面,因而难以获得高质量的分割结果。我们通过将顶层信息往下传递的方式去丰富底层的信息,这样既能够很好的定位又能保持细节。
这里是一些示例结果。我们的重点不是想说明怎样去做显著性物体检测,而是想传达一个重要的信息,即通过显著性物体检测,我们能够将图像中的显著性物体分割得很好。这个发现能帮助机器直接从web学习像素级语义分割。
上图展示了我们的方法在不同场景下的检测结果,可以看到,即使在对比度很低、物体很复杂的情况下,我们的显著性物体检测方法仍能很好地找到物体的区域。
同时,在常见的数据集里面,我们算法的Fβ性能指标都超过了90%。为了验证算法的泛化能力,我们在不同数据集之间进行交叉验证,实验结果表明,我们的显著性目标检测方法,能够从少量类别标注(如1000类)的数据中学到类别无关的工具,而这种工具在不知道物体的类别的情况下,也能很好的将其从图像中分割出来。
该方法也存在一些不足,例如,在场景特别复杂(如摩托车)或者显著性物体特别含糊(如猫的右半边)的情况下,我们的方法也会失败。
前文提到,我们的方法在多个数据集上的Fβ性能均能超过90%,能够很好的定位出显著性物体。上图是我们这个工作的一个应用,它被应用于华为手机的智能拍照:在拍照的过程中自动找到前景目标,使得相机能够实现大光圈拍照。而传统大光圈拍照需要用到单反相机(额外物理负担)来得到前清后虚、虚实结合的艺术效果。
另外一个很重要的类别无关信息是边缘检测。边缘有助于定位物体的位置。如上图所示,在不知道动物具体类别的情况下,只需知道图像中有动物(关键词级别的label),我们就能找到动物所对应的区域。下面我们介绍发表在CVPR 2017上的工作(RCF)。
RCF的核心思想是利用丰富的多尺度的特征去检测自然图像中的边缘。在早期分类任务中,中间层往往被忽略掉了,后来人们通过1x1卷积层对中间层加以利用。但这些工作只使用了每个stage的最后一个卷积层,实际上每个卷积层对于最终结果都是有用的。RCF将所有卷积层通过1x1卷积层进行融合。这种融合有效的提升了边缘检测的效果。
举个例子,在图像中的稻草区域,传统的方法如canny算子等在这些区域都会有非常高的响应,但RCF能够很好的抑制掉这些响应。还有如沙发,茶几等人都很难观测到边缘的区域,RCF都能鲁棒的检测到边缘,其结果甚至比原图结构看的更清晰。这给我们实现直接从Web中学习提供了一个基础。
作为计算机视觉最早开始研究的问题之一,边缘检测经历了50多年的发展,但RCF是第一个能够做到实时检测,同时性能超过伯克利数据集上的人工标注的工作。当然这并不意味着RCF超过了人类,只要给人足够的时间仔细思考,人能标注的更好,但RCF无疑算是取得了重大突破。而且训练如此强大的边缘检测模型,仅仅使用了一个含有500张图像的数据集,这对于我们直接从Web学习是非常有启发的。
好的过分割结果,能够有效的辅助像素级语义理解(特别是在人工标注数据少的情况下)。过分割(over segmentation)也是一种重要的类别无关的信息,上图的过分割结果虽然形似语义分割(semantic segmentation),但又有本质的区域。在语义分割中,每一个像素都有明确的语义标签,因此我们可以通过神经网络去学习每个像素具体的语义信息。而过分割只是将图像划分成很多不同的区域,每个区域对应一个标签。这些标签没有确定的语义信息,因此给定一幅图像,我们无法确定每个图像能产生多少的区域,也不能确定每个图像能产生多少标签(100, 1000 或1000?),这个问题给学习带来了很多大的困难。下面介绍我们发表在IJCAI2018上的工作。
我们的方法并不直接把像素和标注对应起来,而是先将图像进行超像素化,以提高计算速度,然后提取超像素的卷积特征,再将每个超像素的特征pooling为固定长度的向量,最后学习每两个超像素之间的距离。当超像素之间的距离小于一个阈值的时候将其合并(merge)。相比传统方法,我们的方法简单、有效,取得了很好的结果,且能实时处理(50fps/s)。这也给直接从互联网学习像素级语义理解提供了支撑。
有了上述提到的类别无关的底层视觉知识后,我们可以对图像做很多有意思的分析。例如,我们使用关键词在互联网上检索图像,通过显著性目标检测,可以检测出物体在图像中大概的位置,然后通过边缘、过分割等信息可以进一步精确物体的区域信息。最终可以生成proxy groundtruth(GT),这种GT不是人工标注的,是我们用自动化的方法对互联网图像GT的一种猜测。这种猜测很可能覆盖了关键词在图像中对应的区域,当然这些区域中会存在很多误差。例如对上图中的自行车进行分割时,我们的方法往往把人也标记出来了,因为通常自行车是和人一起出现的。
那么怎么去剔除掉这些误差呢?
整个方法的流程如下:1利用关键词检索得到大量图像;2利用底层视觉知识,得到图像对应proxy GT;3利用NFM去除proxy GT中的噪声区域对训练过程的影响;4最终通过SSM部分得到语义分割结果。
NFM(Noise Filtering Module):噪声滤波模块,给定输入图像,利用图像级的标注以及相应的heuristic map,过滤图像Proxy GT中的噪声区域。
上图中红色区域为识别出来的噪声区域。
NFM作为一种辅助训练的方法,只在测试阶段使用。
我们通过实验,分别验证了底层视觉知识的重要性。实验分为两类,Weak表示图像只有一个关键词级别的标注,WebSeg则表示图像没有任何人工标注。实际上,底层视觉知识有很多类,我们这里只展示了3类,分别是Saliency object Detection(sal),Edge,Attention(att)。Attention是一种自顶向下的信息,需要有关键词级别的标注信息,由于WebSeg没有使用任何人工标注,所以在WebSeg的实验中没有attention。
同样,我们还验证了NFM的有效性。可以看出,NMF能够提升IoU准确度。
在训练过程中,训练的数据可以分为三类,D(S):图像内容简单,每个图像有一个人工审核过的图像级标注;D(C):图像内容复杂,每个图像有多个审核过的图像级标注;D(W):图像内容不定,每个图像有一个未经审核的标注。
上表中列出了不同训练集组合对应的不同性能。
使用CRF能进一步提高结果的精度。
上图是我们的实验结果,从左至右,分别可以看出NFM以及CRF的重要性。总体而言,我们的方法能直接从Web图像中学习并得到很好的语义分割的结果。
上表是在PASCAL 2012上的实验结果,在使用了大量的底层视觉知识后,我们方法平均IOU能达到63%,相比于去年CVPR上最好结果的58%有着很大的提升。
另一很有意义的结果是,在不使用显式人工标注的情况下,我们仍然能取得57%的结果。这一结果实际上超过了CVPR 2017中很多弱监督的方法。事实上,弱监督信息的标注也是很花费时间和精力的,相比而言,我们的方法则无需要任何人工标注。在直接让机器从Web学习像素级语义分割这个方向上,我们只是进行了初步的尝试,但它能在PASCAL VOC这个量级的数据集上能超过CVPR 2017大部分弱监督的结果,是很令人兴奋的。长远来看,这是一个很有意义的研究方向。
总结整个报告,我们提出了一个很有意义且很有挑战性的视觉问题:即在没有人工标注的情况下,怎样直接从Web中学习语义分割。同时我们还提出了一种在线的噪声滤波机制,让CNN学习如何剔除Web学习结果中的噪声区域。整个工作的目的在于:降低或移除像素级语义理解任务对精细标注数据的依赖性。
我们目前只是触及了纯web式监督学习领域的皮毛,后续还有很多值得研究的工作,例如:
1. 怎样把图像有效利用起来,目前的工作,对Web图像不分好坏直接处理,没有做更多的学习,我们要思考是否能够通过学习的方式提升web图像的使用效率;
2. 又或者是否可以把底层视觉知识和其对应的关键词关联起来,如Salient Object Detection,之前是没有与其对应的标注联系起来的,这种相关性能否进一步提升结果?
3. 以及,提升类别无关的底层视觉知识本身的性能,如边缘检测、过分割等;
4. 此外还有其他一些纯粹的Web监督的任务。
我们还做了许多与底层视觉知识相关的工作,如Over-segmentation。
Salient-Instance Segmentation,也是一种类别无关的信息,虽不知道物体类别,但它能把显著的instance分割出来。
另外,我们的工作都有相应的源代码,欢迎大家来使用。
参考文献链接:
https://pan.baidu.com/s/1Qtb11J4lfAw6wscPMMiOGg
密码: d7f3
作者简介:
程明明2012年博士毕业于清华大学,之后在英国牛津从事计算机视觉研究,并于2014年回国任教,现为南开大学教授,国家“万人计划”青年拔尖人才,中科协青年人才托举工程入选者。其主要研究方向包括:计算机图形学、计算机视觉、图像处理等。已在IEEE PAMI, ACM TOG等CCF-A类国际会议及期刊发表论文30余篇。相关研究成果受到国内外同行的广泛认可,论文他引7000余次,最高单篇他引2000余次。其研究工作曾被英国《BBC》,《每日电讯报》,德国《明镜周刊》,美国《赫芬顿邮报》等权威国际媒体撰文报道。
深度学习大讲堂是由中科视拓运营的高质量原创内容平台,邀请学术界、工业界一线专家撰稿,致力于推送人工智能与深度学习最新技术、产品和活动信息!