CMX & CMnext
CMX
之前的多模态相关的框架有的问题:很多都是根据卷积构建的,没有办法保存上下文相关性;并且很多时候引入额外的模态噪声也会多,会对分割造成影响;对于不同的模态,很多模块没有办法把不同的感知一般化。
这篇工作基于 Transformer,构建了一个双流的结构,并且引入了两个模块:CM-FRM和FFM。解决了上述问题
CM-FRM
这个模块是对于每个阶段,并行的两个流做出矫正,主要是为了校准引入 X 带来的不确定性和噪声,具体流程如下:
Channel-wise:从通道层面上,这里做的是一个类似于通道注意力的东西:首先对两个模块都进行 Max 和 Avg 池化,并且把得到的特征 concat 在一起,形成一个attention向量。这里和之前提到的通道注意力有一点不同:他还同时保存了 maxpool 的信息,是为了得到更多的特征(可能也是因为噪声在特征中特别突出?)接下来经过 MLP 和 sigmoid 激活函数得到两部分的权值:$W^C_{RGB}$ 和 $W_{X}^C$。接下来为了修正两个阶段,我们直接用对应通道的去乘他们的信息,此处得到第一部分的校正信息 $RGB^{C},X^{C}$。
Spatial-wise:通道层面上更侧重于全局特征的校正,我们还要考虑噪声也就是空间方面的矫正:这里我们把乘完的特征矩阵 concat 并且用一个 1x1 的卷积层+relu+1x1卷积层嵌入起来。
最后分割成两边通道的权值映射,但是这里注意一下,我们是互相矫正的,也就是得到第二部分矫正信息:
$$
RGB^S = W_X^S\times X_{in}\
X^S = W_{RGB}^S\times RGB_{in}
$$最后汇总矫正信息,也就是
Feature Fusion
这部分聚焦于如何把特征融合起来,分成 Stage 1 和 2,stage 1 的话是在单独的通道上开始做的,stage 2 是把两个通道融合起来,我们可以看一下:
- 先以 RGB 为例,首先经过一个 channel embedding,这里的话是把 $H\times W \times C$ 的信息扁平到 $N\times C$ ,然后线性嵌入生成两个向量:一个用于残差链接,一个用于注意力交互。在注意力交互部分,用的是一种比较高效的交叉注意力计算方法:他先用 $K^T\times V$ 算出来全局注意力向量 $G$,然后再用 $QG$ 去计算新的注意力结果。这里他就是这么干的,实际上把复杂度降到了 $O(dk\times dv)$,输出是两个通道的 G 和 Q 相乘。接下来就shortcut一下。这么设计我觉得很有道理的是用这个交叉注意力,并且计算效率很高。
- 接下来 stage 2,这边值得注意的是利用了一个 DWconv 3x3 的层,这里的意思是周围像素的情况应该也要参与到分割中,其实我不知道为什么,但是我觉得在卷积层里这么加是有助于增大感受野?(虽然前面transformer感受野很大了,但是我觉得卷积层里这么搞一下的话,可能是因为多模态本身的特点)
CMNext
Motivation
作者做了一个比较有意思的实验,我们在 RGB+X 的任务中,如果把 X 替换成 LiDAR 的叠加,效果不一定好:
作者认为,这里是因为 LiDAR 没有对齐导致分割性能的下降,也意味着过去的框架没有办法发挥多模态数据潜力,并且方法的鲁棒性不强,其实我们通过看 CMX 的方法也能get到,交叉注意力的部分实际上是在假设两边的信息都是准确,然后互相校正。如果传感器有噪声那就容易引入负面影响。
Method
这篇论文运用了双分支构架:RGB 部分用的是多头自注意力去处理,对于多种多模态信息,我们使用 Self-Query hub 进行分析,这也是本文主要创新点。
Encoder:首先把图像分辨率分成$\frac{1}{4},\frac{1}{8},\frac{1}{16}$分辨率的下采样。
SQ-hub:本文最重要的模块,想法是对于多模态,我们要选出来最有贡献的一个模态。对于每个模态的特征 $f^m$,然后用 3x3 DW-CONV 计算 $\hat{f}^m$ ,再用 sigmoid 和 1x1 conv 计算出特征图 $Q^m$,现在定义特征图分数是 $p^m = f^m + Q^m · \hat f^m$ ,在所有模态里面取最大的分数 $p^m$ 就完成了我们的特征选择,得到的特征矩阵 $f^q$ 就是我们丢到下一个模块 PPX。
PPX:另一个同样重要的模块:经过一个 7x7 的 DW-conv 之后,通过三路并行的池化(这里 pool size 选择 3,7,11,是实验的经验结论)相加并进行残差链接,最后得到信息是通过一个 FFN 过的 1x1 卷积,加上之前的 SE 模块来得到最后的特征,并且送到最后的 FRM & FFM 来进行
CMX & CMnext