Weakly Supervised Object Localization(WSOL)模型概述

WSOL

弱监督目标定位是一种仅使用图像级标签,而不包含位置注释的目标定位方法。常规WSOL的局限在于仅能定位目标区分性最大的区域,而不是整个目标。

CAM

Class Activation Mapping机制

这是一个基于分类训练的CNN网络,最左边是输入,中间是很多卷积层,在最后一层卷积层之后接的是全局平均池化层(GAP),最后接一层softmax,得到输出。我们刚刚说过,GAP就是把特征图转换成特征向量,每一层特征图用一个值表示,所以如果这个特征图的深度是512,那么这个特征向量的长度就是512。我们的输出是Australian terrier,澳大利亚梗。我们用Australian terrier这个类对应的权重乘上特征图对应的层,用热力图归一化,即下面一排热力图:W1蓝色层+W2红色层+…+Wn*绿色层=类激活映射(CAM),所以说CAM是一个加权线性和。通常来说,最后一层卷积层的大小是不会等于输入大小的,所以我们需要把这个类激活映射上采样到原图大小,再叠加在原图上,就可以观察到网络得到这个输出是关注图片的哪个区域了。这也就是说可以是任意输入图片的大小和卷积层的深度。
参考:https://www.cnblogs.com/luofeel/p/10400954.html
论文:Learning deep features for discrimi-nativelocalization
CAM可以实现特征响应空间分布的定位和跟踪,但是也倾向于突出目标最具区分性的部分,降低了定位精度。

HaS

"Hide-and-Seek"的弱监督的框架,其实是一种数据扩增的方法。没有对现有算法做改变,也没有引入新的数据,而是对数据进行随机遮挡,遮挡了最可区分的部分会迫使网络去学习次最可区分的部分,甚至较弱区分能力的部分。
虽然随机遮挡有效快速但是不能有效擦除最具区分性的部分。

RAN

Attention Module

Example architecture of the proposed network for ImageNet.

Bottom-up Top-down的结构首先通过一系列的卷基和pooling,逐渐提取高层特征并增大模型的感受野,之前说过高层特征中所激活的Pixel能够反映Attention所在的区域,于是再通过相同数量的up sample将feature map的尺寸放大到与原始输入一样大,这样就将Attention的区域对应到输入的每一个pixel上,我们称之为Attention map。
接下来就要把Soft Mask Branch与Trunk Branch的输出结合起来,Soft Mask Branch输出的Attention map中的每一个pixel值相当于对原始feature map上每一个pixel值的权重,将Soft Mask Branch与Trunk Branch输出的feature map进行element-wised的乘法,就得到了一个weighted Attention map。但是无法直接将这个weighted Attention map输入到下一层中,因为Soft Mask Branch的激活函数是Sigmoid,输出值在(0,1)之间,作者在得到了weighted Attention map之后又与原来Trunk Branch的feature map进行了一个element-wised的操作,这就和ResNet有异曲同工之妙。
RAN算法利用3D self-attention map提高了分类模型的精度。然而,由于未经任何压缩的原始特征图被用于注意提取,参数开销很大。
参考链接:https://blog.csdn.net/wspba/java/article/details/73727469

SE

图中的Ftr是传统的卷积结构,X和U是Ftr的输入(C'xH'xW')和输出(CxHxW),这些都是以往结构中已存在的。SENet增加的部分是U后的结构:对U先做一个Global Average Pooling(图中的Fsq(.),作者称为Squeeze过程),输出的1x1xC数据再经过两级全连接(图中的Fex(.),作者称为Excitation过程),最后用sigmoid(论文中的self-gating mechanism)限制到[0,1]的范围,把这个值作为scale乘到U的C个通道上, 作为下一级的输入数据。这种结构的原理是想通过控制scale的大小,把重要的特征增强,不重要的特征减弱,从而让提取的特征指向性更强。
SE只使用一维通道自关注图就提高了分类模型的精度。这样,与RAN相比,SE可以显著减少注意提取的参数开销,但是,参数开销仍然不容忽视。
参考链接:https://www.jianshu.com/p/59fdc448a33f

CBAM

通道注意力

CA

一张图片经过几个卷积层会得到一个特征矩阵,这个矩阵的通道数就是卷积层核的个数。那么,一个常见的卷积核经常达到1024,2048个,并不是每个通道都对于信息传递非常有用了的。因此,通过对这些通道进行过滤,也就是注意,来得到优化后的特征。
主要思路就是:增大有效通道权重,减少无效通道的权重。
在通道维度上进行全局的pooling操作,再经过同一个mlp得到权重,相加作为最终的注意力向量。这里非常像SENet,SENet采用的是平均值的pooling,通过对比实验,证实max pooling提高了效果。
空间注意力
SA

作者认为通道注意力关注的是:what,然而空间注意力关注的是:Where。同样适用了avg-pooling和max-pooling来对信息进行评估,使用一个7*7的卷积来进行提取。注意权重都通过sigmoid来进行归一化。
CBAM

Convolutional Block Attention Module(CBAM)利用1D channel 和 2D spatial self-attention maps, 提高了分类器的精度。他们使用辅助卷积层计算spatial self-attention map,计算出的self-attention map被应用到输入特征图中,以奖励信息区域。同样,该方法使用重要度图来奖励信息区域。

参考链接:https://www.jianshu.com/p/2eb15b577120

ADL

ADL(Attention-based Dropout Layer)机制利用self-attention机制处理模型特征图,该方案包含两个关键部分:
(1)隐藏模型中的区分性最大区域以捕捉目标整体范围
(2)突出信息区域来提高模型识别能力


ADL block diagram

''Attention-based Dropout Layer'',self-attention map由输入特征图的信道平均池生成。基于self-attention map,我们用阈值法得到一个drop mask,用sigmoid激活得到一个importance map,drop maskim和portance map在每一轮的迭代中被随机选择,然后应用到输入特征图中。
ADL有两个超参数,drop_rate和γ。drop_rate代表drop_mask被使用的频率,而γ控制被drop区域的大小。


Drop mask and self-attention map at each layer of VGG-GAP

在lower-level层中,self-attention map包括一般性特征,而分类级的特征在higher-level层中。
首先,ADL可以独立的被用到每层卷积特征图中,因而可以插入现有分类模型的多层特征图中,以提高定位精度;其次,ADL不需要额外的超参数,也就是插入时不需要overheads;此外,ADL可以有效地擦除最具区分性的区域,而不用额外的分类器、再训练、或是前向后向反馈。
Qualitative evaluation results ofVGG-GAP on CUB-200-2011 and ImageNet-1k

左侧是输入图像,中间是热力图,右侧是输入图像和热力图的交叠。红框是groud truth,绿框是测试结果。

Current WSOL SOTA

ACoL

CAM存在两个问题:
1)过度依赖那些对分类有帮助的明显的特征
2) 无法密集地去预测目标物体
针对以上问题有两个典型做法:
一是对map图中那些明显的区域erase掉,然后将erase掉的特征再去做分类,这样通过多个分类器就会获得多个多个明显区域,通过融合获得最后的结果,缺陷是得训练多个分类器
二是随机遮挡图像中的明显区域,让网络去学习更多的显著区域,但是随机遮挡并不是很有效。

蓝色为CAM,红色为ACoL

ACoL首先对CAM进行了改进,从上面的计算过程可以看到,CAM的需要反过来才能计算定位图,所以作者针对这个进行了优化,在GAP之前加了一个1*1 的卷积层直接就生成了定位图,同时直接丢给GAP,然后直接分类。
An illustration of the proposed ACoL method

再者,ACoL将两个辅助分类器并行地添加到主干特征抽取器中,以查找目标对象最具鉴别能力的部分。首先通过A分类器获得感兴趣的区域,然后将这个区域遮挡,将遮挡后的map图送个分类器B来获得互补的感兴趣区域,整合两个分类器的结果获得最终的感兴趣区域。
为了能够使得训练端到端,作者证明了目标定位图可以直接从最后一个卷积层的类特定特征图中选择得到,而不需要一个后处理的过程来解决。
和Adversarial erasing (AE)的区别
1.将两个分类器整合成一个网络,而不是多个分立的网络
2.AE需要不断迭代的产生map,他必须forward network多次,但是本文只用一次
3.AE采用CAM来产生localisation map图,因此需要分为两步哈,本文只用一步, 参考Learning Deep Features for Discriminative Localization.
参考链接:https://blog.csdn.net/u013548568/java/article/details/80709930
论文链接:https://arxiv.org/abs/1804.06962

SPG

Learning process of Self-produced guidance

SPG是一种利用目标和背景的空间分布的WSOL方法,利用该分布作为辅助监督,分类器可以学习对象的整体范围。
给定一张图片,先根据分类网络生成attention maps,然后根据attention maps的置信度将其分成object、background和undifined regions三部分Seed,其中具有medium confidence的undefined regions意味着这部分区域需要使用中间层的特征来弄清楚。SPG就是由这三部分seeds作为监督信息的multi-stage像素级目标检测。
参考链接:https://zhuanlan.zhihu.com/p/41508276
论文链接:https://arxiv.org/abs/1807.08902?context=cs.CV

你可能感兴趣的:(Weakly Supervised Object Localization(WSOL)模型概述)