一篇CVPR2021上的论文,用于弱监督分割及半监督分割
论文标题:
Anti-Adversarially Manipulated Attributions for Weakly and Semi-Supervised Semantic Segmentation(AdvCAM)
作者信息:
代码地址:
https://github.com/jbeomlee93/AdvCAM
论文链接:
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9578556
Abstract
作者提出了一种叫CAM的生成方法叫AdvCAM。它采用了和adversarial attack相反的方式,使得的图像的更多的非discriminative的区域,也参与到图像的分类中,进而产生更完整的CAM。此外作者还设计了新的regularization 方法来抑制与目标对象无关的区域(产生CAM),并限制已经得分较高的区域(产生CAM)。
Introduction
(现有方法及其优缺点)弱监督学习具有较少的标注成本。现有的大多数方法,都依赖于从训练过的分类器中获得map(CAM)。这类map中包含了分类器所注意到的区域,但是这类区域(discriminative region)太小了,不能代表目标整体大小。
有些方法通过处理一些图像和特征去扩展这个discriminative区域 (作者的方法属于此类)。
另一个思路擦除(erasure),通过删除原本的discriminative区域,迫使分类器找到其他的discriminative区域。擦除是有效的方法,但它需要修改网络,通常通过添加额外的层或者训练方法。
(作者的方法介绍)adversarial attack是通过图像的扰动,将它推过决策边界以改变分类结果。作者方法正好相反,它的目的是找到一个扰动,将被操纵的图像推离决策边界。具体操作叫adversarial climbing,让图像通过增加扰动原理决策边界,获得更好的决策分数,该类相关的非鉴别区域逐渐参与分类,从而使被操纵图像的CAM识别出更多的物体区域。
这种可能导致不相关的区域一起激活,如背景或其他对象的部分区域。作者通过引入正则化来解决这些问题,抑制其他类的分数,并限制已经有高分的discriminative区域的分数。(这里的分数指CAM的激活值)。
作者的方法是一种后处理手段,可以用来提高现有方法的性能,通用性很强。
3. Proposed Method
3.1Preliminaries
(先介绍了一下adversarial attack)adversarial attack就是说,对于一个神经网络
N
N
NN
NN,找个一个扰动
n
n
n,使得下列公式成立:
典型的做法是网络的输出对x求导,然后用x减掉(figure1 a):
(然后又介绍了一下CAM)即各个通道特征图在权重下的加权和,权重一般由全局平均池化得到:
CAM弥合了图像级和像素级注释之间的桥梁。然而,由CAM获得的区域通常比目标对象的全部范围要小得多,因为较小的鉴别区域为分类提供了足够的信息。
3.2. AdvCAM
3.2.1 Adversarial Climbing
Adversarial Climbing操纵图像以提高图像的分类分数,本质上让更多的目标区域参与分类器识别。和adversarial attack完全相反,计算公式如下:
式子中,
t
t
t是adversarial step index,
y
c
y_c
yc是图像在神经网络输出的
c
c
c类别上的得分。作者定义了一个localization map
A
A
A 来展示迭代的结果(不知道这个是干啥的):
3.2.2 How can Adversarial Climbing Improve CAMs?
目标分类的分数和CAM之间是通过全局平均池化之间联系的,即:
作者提出的adversarial climbing具体是如何改善CAM的,作者从这两个角度给出了分析:
**(1)Can non-discriminative features be enhanced?😗*作者首先解答了该方法是否能更好的提升non-discriminative区域的CAM值。先给出了判断是discriminative区域还是non-discriminative区域的定义,根据最开始(迭代次数为0的)CAM值进行定义,discriminative region:
non-discriminative region:
定义了反映region变化的比率(和最开始做对比):
通过实验(figure2)可以看到无论是discriminative区域还是non-discriminative区域,他们的
s
j
i
s^i_j
sji都是在变大,其中non-discriminative区域的增大更快,即会产生更密集的CAM。
(2)Are those enhanced features class-relevant from a
human point of view? 作者还讨论了这种提高的特征是否符合人类的认知。在adversarial attack中,如果这个神经网络的loss landscape是急剧下降的(shapely curved),则更容易attack。反之如果其loss landscape相对平坦(或者让它变平坦),神经网络就会获得很高的鲁棒性。而在这个意义上的鲁棒性,被相关文献证明和人类的特征感知是一致的。
作者认为受Adversarial Climbing 的模型对 curvature of loss的很小,并对训练过的分类器的loss landscape进行了可视化,并验证了上述结论。
3.3. Regularization
经过Adversarial Climbing会导致一些错误类别的激活,或者已经是discriminative 的区域的CAM的得分会更高(这并不是作者希望的),作者在两个方面使用正则化方法进行抑制。
**(1)Suppressing Other Classes:**有些经常伴生存在的物体会相互增加分类的logit值,易导致错误分类,作者加了正则化,以减少除c之外的所有类的logit值。
**(2)Restricting High Attributions:**作者发现原本discriminative 的区域的得分继续增高会带来一些问题,它会抑制其他区域参与神经网络的分类决策,也会降低其他区域的标准化得分。作者通过引入一个迭代第t-1轮次的mask来实现正则化抑制,具体公式如下:
位于mask位置的得分将被抑制,使M对应区域的CAM值被迫等于
C
A
M
(
x
0
)
CAM(x^0)
CAM(x0),限制效果见figure 2和 figure 4:
整个的正则化过程可以用如下公式表示:
公式7的后两项为作者添加的正则化项。
3.4. Training Segmentation Networks
对于弱监督学习,作者使用得到的CAM作为伪标签真来训练DeepLab-v2,在ImageNet数据集上进行预训练。对于半监督学习,作者使用CCT 方法,用作者生成的掩模替换原本由IRN生成的。
Experiments