作者:SFXiang
首发:AI算法修炼营
精选作品,第一时间送达
论文地址: https://arxiv.org/pdf/2004.04...
代码地址: https://github.com/YudeWang/SEAM
图像级弱监督语义分割是一个具有挑战性的问题,近年来已得到深入研究。大多数弱监督语义分割的解决方案都利用类激活特征图(CAM)。但是,由于完全监督和弱监督之间的差距并且CAM只能发现目标最具判别力的部分,所以利用CAM作为监督信息训练出的语义分割网络始终与真正的ground truth作为监督信息的网络存在较大差距。
在本文中,我们提出了一种自我监督的等变量注意机制(SEAM),以发现更多的有效信息并缩小CAM和ground truth之间的差距。具体的方法是基于这样的观察,即等方差是在完全监督的语义分割中的隐式约束,其像素级标签在数据增强期间与输入图像进行相同的空间变换。但是,这种约束在通过图像级监督训练的CAM上消失了。因此,提出了对来自各种变换图像的CAM预测进行一致性正则化的方法,以提供用于网络学习的自我监督。此外,提出了一种像素相关模块(PCM),该模块利用上下文外观信息并通过其相似的邻近像素来完善当前像素的预测,从而进一步提高CAM的一致性。在PASCAL VOC 2012数据集上进行的大量实验表明,在相同级别的监督下,所提出的方法优于最新方法。
01
Introduction
语义分割是一项基础的计算机视觉任务,其目的是预测图像的像素级分类结果,由于近年来深度学习研究的蓬勃发展,语义分割模型的性能取得了长足的进步。但是,与其他任务(例如分类和检测)相比,语义分割需要收集既费时又昂贵的像素级类标签。近年来,许多研究者致力于进行弱监督语义分割(WSSS)的研究,例如图像级分类标签,涂抹和边界框,试图实现与完全监督方法相当的分割性能。本文着重于通过图像级分类标签(Image-level)进行语义分割。
据我们所知,大多数先进的弱监督语义分割方法都基于类激活特征图(CAM)实现的,这是一种通过图像分类标签定位对象的有效方法。但是,CAM通常仅覆盖对象的最有区别的部分,并且在背景区域中通常激活不正确,这可以分别概括为目标激活不足和背景激活过度。此外,如图1所示,当通过仿射变换来增强图像时,生成的CAM不一致。
这些现象的根本原因全监督和弱监督语义分割之间的监督差距,并且使用分类网络得到的CAM终究还是和ground truth之间有着不可逾越的鸿沟,因为终究分类和分割之间还是有着本质的矛盾。
图1.不同比例输入图像生成的CAM的比较。(a)常规CAM。(b)SEAM预测的CAM,在不同尺度上重新缩放后更加一致。
在本文中,提出了一种自监督等变注意力机制(Self-supervised Equivariant Attention Mechanism,SEAM),以缩小上述监督差距。
SEAM对来自各种变换图像的CAM应用一致性正则化,以提供用于网络学习的自我监督。为了进一步提高网络预测的一致性,SEAM引入了像素相关模块(PCM),该模块可以捕获每个像素的上下文外观信息并通过学习的亲和力关注图来修改原始CAM ,从而在不同的分支对原始CAM和改进后的CAM进行规范化。SEAM由具有等变交叉正则化(ECR)损失的孪生网络实现。
本文主要贡献
- 提出了一种自我监督的等变注意机制(SEAM),将等变正则化与像素相关模块(PCM)结合在一起,以缩小完全监督和弱监督语义分割之间的监督差距。
- 具有等变交叉正则化(ECR)损失的孪生网络体系结构设计
- 将PASCAL VOC 2012进行的实验表明,算法仅使用图像级注释即可实现最先进的性能。
02
具体算法
图2:SEAM的孪生网络结构。SEAM是等变正则化(ER)和像素相关模块(PCM)的结合。经过特殊设计的损失,修订后的CAM不仅在仿射变换中保持一致,而且还非常适合物体轮廓
分类和分割函数的属性是不同的。分割函数更倾向于等变性,然而分类任务更多地关注不变性,尽管分类函数的不变性主要是由合并操作引起的,但是没有等变约束,这使得在网络学习过程中几乎不可能达到分割函数的相同目标。应该整合其他的调节器,以缩小完全和弱监督学习之间的监督差距。
自我注意(Self-attention)是一种广泛接受的机制,可以显着提高网络逼近能力。它通过捕获上下文特征相关性来修订特征图,这也符合大多数WSSS方法的思想,即使用像素的相似性来细化原始激活图。
2.1 等变正则化
在进行数据增强的时候 ,会用到各种仿射变换。在全监督的情况下,由于会同时给ground truth做数据增强,这就隐式的给网络加上了等变化的约束,使得其在各种尺度下的分割都保持一定的一致性。
此处F(·)表示网络,而A(·)表示任何空间仿射变换,例如重新缩放,旋转,翻转。
但是,弱监督的监督信息只有分类标签,原图做了仿射变化之后,分类标签不可能做同样的变化,这样就失去了原有的隐式约束,导致了图1所展示的问题。所以作者引入了孪生网络(Siamese Network)。
何为孪生网络?就是两个结构一模一样,而且共享权值的网络。它会衡量两个输入的相似程度。孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。
所以,为了将正则化集成到原始网络上,将网络扩展为共享权重的孪生结构。一个分支在网络输出上应用转换,另一个分支在网络前馈之前,通过相同的变换扭曲图像。对来自两个分支的输出激活图进行正则化,以确保CAM的一致性。两个网络的的输入分别是原图和经过仿射变换之后的图,通过孪生网络的映射,形成新的表示,然后再设计Loss使得这两个表示尽可能的小,也就是loss尽可能的小,从而显性的给网络加上前面所提到的等变约束。
2.2 像素相关模块(PCM)
尽管等变正则化为网络学习提供了额外的监督,但仅通过经典卷积层很难实现理想的等方差。自我注意是捕获上下文信息并细化逐像素预测结果的有效模块。整合方程式给出的经典自我注意模块。 为了通过上下文信息进一步细化原始CAM,在网络末端提出了一个像素相关模块(PCM),以集成每个像素的低级特征。
图3:PCM模块结构。其中H,W,C / C1 / C2分别表示特征图的高度,宽度和通道数量。
PCM的结构是指自我注意机制的核心部分,在等变正则化的监督下进行了一些修改和训练。并使用余弦距离来评估像素间特征相似度。同时以归一化特征空间中的内积来计算当前像素与其他像素之间的亲和力关系。ReLU激活相似性以抑制负值。最终CAM是原始CAM具有标准化相似性的加权总和。
与传统的self-attention相比,1)PCM消除了多余的跳跃连接,以保持与原始CAM相同的激活强度(可能是觉得原始的CAM加上反而增加更多的错误信息)。2)此外,由于另一个网络分支为PCM提供像素级别的监控,其准确性不如ground truth情况,因此通过删除嵌入函数φ和g来减少参数,以避免在不准确的监控中过拟合。3)激活函数没有用sigmoid而是用的Relu,并将ReLU激活函数与L1归一化一起使用,以掩盖不相关的像素并生成在相关区域更平滑的亲和力注意图。总而言之,它通过学习上下文关系修正了原始的CAM模块。
2.3 SEAM的Loss设计
SEAM的loss一共分为三个,其中cls分类损失用于粗略定位对象,ER损失用于缩小像素级和图像级监控之间的差距。ECR损失用于将PCM与网络集成在一起,以便对各种仿射变换做出一致的预测。
- 分类损失 :
这个就是正常的多标签分类函数,论文中使用的是multi-label soft margin loss。具体操作就是特征图经过全局平均池化后与分类标签计算损失,这是网络能够完成分类任务以及进行CAM操作的基础。也就是这个损失函数是基础损失,与评价两个输入的相似度无关
- 等变正则化损失
这个是一个原图的CAM与仿射变换后图像的CAM之间相似度的指标。评价的标准选用1范数。具体来说,如下:
A表示仿射变换,即,将原图的CAM经过仿射变换之后与仿射变换后图像的CAM求一范数。当然,该值越小越好。
- 等变交叉正则化
这同样是一个评价相似度的指标。对象变为求:1)原图经过PCM修正后的的CAM与仿射变换后图像的CAM的一范数;2)原图的CAM与仿射变换后图像经过PCM修正后的CAM的一范数。具体如下:
同样,这项指标也是越小越好。
03
实验
消融实验:
作者使用训练得到修正后的CAM,去训练了CVPR2018一篇论文 [2] 的框架,并与其他框架对比:
参考文献:
[1] CVPR2016\_Learning Deep Features for Discriminative Localization
[2] Jiwoon Ahn and Suha Kwak. Learning pixel-level semantic affinity with image-level supervision for weakly supervised semantic segmentation. In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.
[3] CVPR2018\_Revisiting Dilated Convolution: A Simple Approach for Weakly- and Semi-Supervised Semantic Segmentation
[4] https://zhuanlan.zhihu.com/p/...
推荐阅读
更多机器学习、深度学习、计算机视觉、自动驾驶、机器人等领域最新最前沿的科技请关注微信号AI算法修炼营。
LO V3在Anchor-based目标检测领域的地位类似,非常推荐大家读一下原文!有关其在3D location和姿态估计等任务的应用,大家感兴趣可以自行学习。