编者按:西汉刘安的《淮南子·说山训》中有这样一段话:
“见一叶落,而知岁之将暮;
睹瓶中之冰,而知天下之寒.”
这两句话显示了人见微而知著的能力,人对这个世界的认知,是在对周围世界的不断探索过程中逐步形成的。从第一次张开双眼观察这个世界,到对这个世界的每一次发问,我们在父母的监督之下成长,整个学习过程也是伴随着外部反馈的大量监督信息。
我们一直试图让机器像人一样学习,因此,在目标检测分类任务中,我们为机器提供了海量的有监督数据,使得机器在某些特定领域甚至取得了远超人类的能力。
然而,对于语义分割任务,大量的像素级别的标注意味着无法想象的人工成本,与之相对应,人对视野内目标的语义分割,也无需以精细到像素级别的监督信息为保障,而只需以弱监督作为辅助。因此,学术界衍生出了针对弱监督的语义分割这一前沿方向。
今天,来自美国伊利诺伊大学香槟分校的魏云超博士,将以一片叶子作为“种子点”出发,带着大家深度学习,直至扩散出整幅图像中秋色的mask。
文末,大讲堂提供文中提到参考文献的下载链接。
本报告主要是针对弱监督视觉语义分割问题来介绍一下近两年来的一些工作。
对于语义分割,目前大家用到最多的就是这种全卷积网络。在全监督训练的情况下,我们需要给定训练图片及其对应的像素级标注的mask。然而这种像素级的mask往往很难获取。
比如,我们如果要在ImageNet上做语义分割的话,其标注的工作量会非常大。具体地,ImageNet上大概包括了2万类别,如果每一类我们只标100张图片用于训练的话,最终则需要标二百万的训练图片。如果标注一张图片需要五分钟,则一个人大概需要标注19年才能完成。因此大规模图像的全监督语义分割往往在数据标注上需要耗费大量的时间和金钱。
因此我们考虑对于语义分割任务能否采用一些相对于像素级标注更容易获取的标注作为监督信息。这里我们给出了四种简单的标注方式,包括物体框、线条、点以及图像标签。我们称这些比像素级mask更容易获取的监督方式为弱监督。一般来讲,在这些弱监督信息中图像级的标签最容易获取。ruo
所以我们接下来的工作也都是围绕如何利用图像级的标签作为监督信息,最终实现像素级别的分类。实现这一目标的关键是如何构建训练图像中图像标签和像素之间的关联,即自动的推断出物体在图像中的位置。进而实现弱监督的物体定位或语义分割等任务。
这是我们根据近两年在弱监督学习上的一些工作,主要探索了如何有效构建图像语义标签和像素之间的关联。这些工作在弱(半)监督的语义分割或定位等任务上都取得了当时最好的性能。
首先是最早在PR上面一篇文章,我们提出了一种Proposal-based的方法来构建图像标签跟语义之间的关联。
这篇文章的思路是训练一个多标签的分类网络,进而利用该网络对图片产生的proposal进行分类,最后将那些在某个类别上confidence比较高的proposal映射回原来的图片,从而获得语义标签和localization的关联。我们利用这种粗糙的localization图作为监督信息训练语义分割网络。
我们利用了当时提出的Hypotheses-CNN-Pooling网络,训练了用于判别proposal类别的分类网络。最后利用那些高confidence的proposal生成物体的定位图。虽然这个工作当时取得了比较高的分割性能,但有两个明显的缺点。首先,该方法需要对所有的proposal都做一次分类,因此会有较高的时耗。其次,直接将proposal内的像素点作为物体区域会引入很多false positive像素,比如属于背景的像素。
为了克服proposal-based方法的缺点,我们在2017年提出了一种Simple to Complex的方法。
这个方法基于了一个有意思的观察。我们发现Internet上的图片可以大致分为两种,即简单图片和复杂图片。简单图片主要是指图片中的物体类别单一并且背景比较干净;复杂图片主要是指图片中物体类别语义多样并且背景非常杂乱。我们发现对于简单图片,可以通过显著性检测技术有效地获取包含前背景信息显著图。
从上面的图中可以看出,在显著图上像素值越高,其同语义的关联性就越大。因此在知道简单图片语义标签的情况下,我们很容易通过显著图构建语义标签跟像素点的关系。
基于这样的观察,我们提出了一种self-paced的Simple to Complex训练框架。我们首先从网络上下载大量的简单图片,然后通过显著性检测技术去获取其对应的显著图。进而利用显著图和语义标签作为监督信息去训练一个Initial的分割网络。特别地,在利用显著图作为监督信息的情况下每个pixel会以不同的概率属于物体或者背景。比如属于 “马” 的某个像素点可能以0.9和0.1的概率分别属于前景物体 “马” 和背景。在Initial网络训练完成后,其对简单图片已经具备了一定的分割能力,进而我们利用该网络预测出所有简单图片的masks,并利用这些masks训练一个Enhanced语义分割网络。最后我们通过Enhanced网络预测更多复杂图片的masks,并训练出一个更好的语义分割网络,即Powerful DCNN。
这个是我们构建的Flickr-Clean 简单图像库及部分图片对应显著图。可以看出通过显著图构建像素和语义之间关系的方式是很有效的。
通过左边的表格可以看出,Initial, Enhanced和Powerful网络对图像的语义分割能力在不断增强。通过右边的结果图也可以看出分割效果变得越来越好。这个方法虽然很简单,但在Pascal VOC上比当时最好的性能高出十个百分点。然而这个方法也有两个很明显的缺点:1)必须收集大量的简单图片,否则很难训练出一个性能较高的Initial网络并不断提高;2)训练样本多,训练时间长。
鉴于这些不足,我们希望可以发现一种不依赖于简单的图片的方法,并可以达到较高的语义分割性能。于是我们在2017年提出了Adversarial Erasing。
2016年发表在CVPR上的一篇文章(CAM)发现,分类网络可以通过Top-down的方式定位出图片上的哪些区域对物体分类的贡献较大,而这些区域往往属于对应语义的物体。然而,CAM方法的主要问题在于它只能发现最具判别力的一些物体区域(比如狗的头部),这些区域往往属于目标物体的某个part并且分布稀疏。这同语义分割需要定位完整物体的目标并不一致。
为了定位较为完整的物体,我们提出了一种Adversarial Erasing的方法。该方法的motivation主要是通过不断擦除物体上最具判别力的一些区域,使得分类网络发现更多的物体的其它区域。如左图所示,我们首先将包含狗的图片输入分类网络中,通过训练可以获得属于狗的最具判别力的区域,即狗的头部。进而我们将狗的头部从图片中擦除掉,并将擦除后的图片输入分类网络进行再训练。网络会寻找其它的证据使得图片可以被正确分类,进而找到狗的胸部。重复此操作,狗的脚部也可以进一步被发现。最后通过融合擦除掉的区域就可以获得物体的整个区域。右图给出了更多示例以及最后通过融合擦除区域获得的整个物体区域。
由于最终的目标是语义分割,我们最后把mining出的物体区域生成了图像的mask并用于训练语义分割网络,这部分在本文不做过多介绍,具体细节可以参阅paper。
Adversarial Erasing方法没有用到任何额外数据,并在VOC12上获得了 55. 7的mIoU值。虽然这篇工作用更简单的方式(相对Simple to Complex) 获得了更高的性能,但也存在两个明显的问题:1)需要多次训练分类网络,时耗较高;2)对于每张训练图片很难确定何时停止擦除操作。我们在文章中采用通过观察分类网络收敛的loss值的方式来决定擦除的次数,但该方法很难保证所有训练图片都能达到最好的擦除效果。
针对Adversarial Erasing的两个缺点,我们进一步提出了一种Adversarial Complementary Learning的方法,并被CVPR 2018录用。首先我们发现Network-in-Network中提出的Global Avg Pooling (GAP) + Classification Loss的方式就可以获得跟CAM方法中完全一样的物体定位图 (如右图所示),我们在文章里也给出了数学证明。有了这个前提,我们就可以很容易的将Adversarial Erasing的思想嵌入到训练过程中。
这是我们Adversarial Complementary Learning的框架图。我们首先利用一个分类网络来发现一些物体的判别区域,进而将这些区域从中间的特征图中擦除。我们将擦除后的特征图输入到另外一个分支中进行训练,进而获得同第一个分支互补的物体定位图。最后,我们将从两个分支获得物体定位图合并起来获得最终的结果。
这是我们在ImageNet上的实验结果。可以看出不同的分类器定位的区域是具有互补性的,并且最后融合出了我们想要的结果。通过我们的定位图生成的物体框相比CAM方法也更加准确。
我们的方法在ImageNet上达到了最好的定位性能。同时也测试了在Pascal VOC测试了语义分割结果,性能相比Adversarial Erasing提升了3.1个百分点(55.7->58.8)。
我们在今年的CVPR上也发表了另外一篇相关的文章,通过一种更简单的方式获得了更好的定位结果。物体的某个区域之所以会被highlight出来,其实是因为这部分特征的判别力较强。如果这部分判别力较强的特征可以transfer到物体的其它区域,那么其它判别力较弱的区域也有可能被highlight出来。我们发现这个想法可以很容易的通过加宽卷积(dilated convolution)的方式实现。如上图所示,在输入的特征图上只有鸟的头部判别力最强(绿圈内的区域),随着dilation rate的提升越来越多的距离判别区域较远的物体区域都被成功的highlight。
基于这个观察,我们在分类网络中引入了四种dilation rate不同的分支进行分类训练。从左图可以看出,不同的分支可以定位出了不同的物体区域,并最终融合出一个非常完整的物体定位图。如果把定位图应用于语义分割,我们需要通过一个threshold将物体区域从定位图中取出。右图对比了我们的方法跟CAM的对比,可以看出我们的方法无论对小物体还是大物体都可以很好定位,因此threshold也更容易选取。
基于生成的物体定位图,我们尝试训练了弱监督和半监督的语义分割网络。其中半监督是指一部分图像的masks是通过人工标定的,而另外一部分仅利用了图像级的标签。
我们对比了在不同设定下的分割图结果,可以看出随着人工标定图片的增多,效果也在一步步提升。同时,在弱监督的设定下,我们的方法在Pascal VOC上也获得了更高的分割性能(58.8->60.8)。在仅利用1400多张人工标注图的情况下性能可以进一步提升到68.5。该结果非常逼近全监督(1万张人工标注图)情况下的分割结果。
在今年的AAAI上,我们发表了另外一种半监督语义分割的文章。
在上个工作中提到的半监督方式可以被定义为In-category的半监督。In-category是指如果训练某个类的分割网络,则必须标定一些属于此类的图片。但在大规模类别的情况下(如ImageNet中的2万类),少量的标注仍会耗费大量的时间。因此,我们在这个工作中提出了一种Cross-category的半监督方法。Cross-category是指只有一小部分的类别具有人工标注的masks,而大部分类别都只有图像的标签。我们的目标是将在少量类别上学习到的分割能力迁移到大量的类别上。
在这个工作中我们提出了一种Transferable Semi-supervised Network,主要包括了Label Transfer Network和Prediction Transfer Network。
对于Label Transfer Network,我们首先利用有人工标注的图片训练了一个class-agnostic的前背景分割网络。进而通过CAM的方法找到每个类别在图片上最具判别力的种子点。最后我们通过self-diffusion的算法,将种子点在class-agnostic的分割图上扩散出属于不同类别物体的整个区域,从而获得包含语义信息的mask。
为了使得预测的mask更接近于人工标注的mask,我们又提出了Prediction Transfer Network。P-Net利用mask上pixel的语义信息,将输入图片encode成跟语义数目一致的图片数量(如Pascal VOC上为21),并concat到一起作为input。我们利用GAN的思想训练出discriminator,用于判断哪些input是通过真实mask生成。最后我们固定P-Net的参数并对预测的mask给定假的标签,使得预测的mask尽可能逼近人工标注的mask。我们在Pascal VOC上仅用到了10个类别的人工标注mask,并在20个类上获得了64.6的分割性能。
我们最终的目的是希望该方法可以实现大规模类别的语义分割,因此也在ImageNet上做了实验。上图是在部分类别上的分割结果。虽然没有任何人工标注信息,可以看出我们的方法仍然可以获得令人满意的分割结果。
我们所有的工作都是围绕如何生成高质量的物体定位图开展的。这些物体定位图进而可以服务于语义分割或检测等任务。如何更高效的定位复杂场景内的物体、确定不同物体之间的边界是我们后续探索的目标。
文中提到参考文献的下载链接为:
链接: https://pan.baidu.com/s/1x82GXb7KwI_jNHWzZrCY9Q 密码: 1d3p