【论文阅读--WSOL】Spatial-Aware Token for Weakly Supervised Object Localization

文章目录

  • 方法
  • 实验
  • Limitation

论文:https://arxiv.org/abs/2303.10438
代码:https://github.com/wpy1999/SAT/blob/main/Model/SAT.py

方法

【论文阅读--WSOL】Spatial-Aware Token for Weakly Supervised Object Localization_第1张图片
这篇文章的方法应该属于FAM这一类。

  1. 额外添加的一个spatial token,从第10-12层开始,利用其得到的attn map (对hea求mean–B, 1, 1, N+2) 作为visual cue去指出oject region,作用方式为将attn map 点乘到 attn weights(B, h, N+2, N+2)

  2. attn map得到的方式:不同与attn weights 是经过softmax,它这里是经过Sigmoid的。至于为什么,可能是Sigmoid后得到的map 激活更完整吧

  3. 最后的localization map是将前面L层的attn map求mean。虽然这种方法可以最大限度地捕获分类网络中的定位信息,但是从图像级标签获得的像素级监督是稀疏和不平衡的。为了补偿和加强这种监督,我们设计了批量区域损失和归一化损失。

    1. Bach Area Loss

      L b a = ∣ ∑ b B ∑ i H ∑ j W ( λ − M b ( i , j ) B × H × W ) ∣ \mathcal{L}_{b a}=\left|\sum_{b}^{B} \sum_{i}^{H} \sum_{j}^{W}\left(\lambda-\frac{M_{b}(i, j)}{B \times H \times W}\right)\right| Lba= bBiHjW(λB×H×WMb(i,j))

      让激活区域更紧致,这类Loss这WSOL和WSSS很常见。

      where λ is a sparse area supervision with prior knowledge.The λ is set to 0.25 and 0.35 on CUB-200 and ImageNet.

    2. Normalization Loss

      L norm  = 1 H × W ∑ i H ∑ i W M ∗ ( i , j ) ( 1 − M ∗ ( i , j ) ) \mathcal{L}_{\text {norm }}=\frac{1}{H \times W} \sum_{i}^{H} \sum_{i}^{W} M^{*}(i, j)\left(1-M^{*}(i, j)\right) Lnorm =H×W1iHiWM(i,j)(1M(i,j))

      增强前-背景的区分度。应该会使得前景的激活响应更强,背景的激活响应更弱。

      在计算这个loss之前先用高斯滤波对loc map处理,增强局部一致性。(那为什么batch area loss之前 不先用高斯滤波处理??)

  4. 分类就跟之前transformer-based的方法一样,将patch token 变回feature map的形式,经过一层3x3 conv 后接avgpooling

注意:这篇文章的定位仅依赖于spatial token 带来的 attn map,不同与一些之前transformer-based的方法将attn map 与 semantic map 耦合。

实验

现有方法对比

在ImageNet上的消融,四幅图对应四种情况

【论文阅读--WSOL】Spatial-Aware Token for Weakly Supervised Object Localization_第2张图片
area loss 和 normalization loss 效果我比较关注;

不同backone下验证

【论文阅读--WSOL】Spatial-Aware Token for Weakly Supervised Object Localization_第3张图片

为什么要额外加一个spatial token 而不直接利用原有的cls token?

文章里从优化角度解释

Limitation


在ImageNet上应该会有更多困难的情况。

你可能感兴趣的:(弱监督目标定位,论文阅读,深度学习,弱监督目标定位,弱监督)