最近一直在忙着搞各种杂活
好久没有认真的读文章了
之前做的是 SOD,因为transformer的兴起,就想试试它在SOD里的效果。因为论文审稿意见下来,拖了很久,一直没有实现,现在先读一下这篇paper,找找感觉。
paper: https://arxiv.org/pdf/2104.12099.pdf
摘要:近年来,基于CNN架构的海量显著性检测方法取得了很好的效果。或者,我们从无卷积的序列到序列的角度重新考虑这项任务,并通过对长期依赖关系进行建模来预测显著性,这不能通过卷积来实现。具体地说,我们开发了一种新的基于纯transformer的统一模型,即Visual Saliency Transformer(VST),用于RGB和RGB-D显著目标检测(SOD)。它将图像块作为输入,并利用transformer在图像块之间传播全局上下文。除了视觉 transformer(ViT)中使用的传统transformer架构之外,我们还利用多级令牌融合(multi-level token fusion),并在transformer框架下提出了一种新的令牌上采样方法(token upsample),以获得高分辨率的检测结果。通过引入与任务相关的令牌和一种新颖的补丁-任务注意机制,我们还开发了一个基于令牌的多任务解码器,可以同时执行显著性和边界检测。实验结果表明,我们的模型在RGB和RGB-D SOD基准数据集上的性能都优于现有的最新结果。最重要的是,我们的整个框架不仅为SOD领域提供了一个新的视角,而且为基于transformer器的密集预测模型提供了一个新的范例。
❀ 问题: 显著性检测需要全局信息,以往利用全连接层,全局池化层,非局部模块都只作用于某些特定的层,无法从根本上获得全局上下文和全局对比(因为CNN-based的结构没有改变)。
❀ 解决: 提出了一种新的基于纯transformer的RGB和RGB-D SOD的统一模型,称为可视化显著性transformer。将每个图像分割为patches。出现了两个问题:
- 如何基于纯transformer执行密集预测任务;
- VIT通常将图像标记为非常粗略的尺度。如何使vit适应SOD的高分辨率预测要求也是不清楚的。
Contributions:
- 首次从序列到序列建模的新角度,设计了一种新的基于纯transformer架构的RGB和RGB-D SOD的统一模型;
- 设计了一种多任务transformer解码器,通过引入与任务相关的标记和补丁-任务-注意,联合进行显著性和边界检测;
- 提出了一种新的基于transformer框架的token上采样方法;
- 提出的VST模型在RGB和RGB-D SOD基准数据集上都获得了最先进的结果,这证明了它的有效性和基于transformer的SOD模型的潜力。
二、Proposed Method
以 T2T-ViT作为backbone
---------------------------Encoder---------------------------
**T2T : **
❀ 有一个patch 标号的序列T’(长度为l,之前层的);
❀ T2T模块由两个步骤组成,重构(re-structurization)和软分割(soft split);
❀ 用T2T对T’进行局部结构信息建模,生成新的标号序列。
重构(re-structurization)
首先使用transformer层对T’0进行变换, 获得新的标号序列T;
用公式表示为:
T = M L P ( M S A ( T ′ ) ) . T=MLP(MSA(T'))\,. T=MLP(MSA(T′)).
这里MSA和MLP分别代表来自原始transformer中的多头自注意力机制和多层感知器。然后,T被reshape成2D图像I。按照图,我理解的是,把patch都按原图的形状放置了,然后选了2*2的才尺寸来打开(接在一起,这属于soft split),再经过transformer layer。
软分割(soft split)
在重构步骤之后,I被分割成具有s个重叠的k×k块,也就是上图中reshape后的结果。然后,将图像补丁展开为一系列标号 T 0 T_0 T0,序列的长度 l 0 l_0 l