MoADNet: Mobile Asymmetric Dual-Stream Networks for Real-Time and Lightweight RGB-D Salient Object Detection
paper:https://ieeexplore.ieee.org/abstract/document/9789193
动机
尽管已有许多优秀的RGB-D SOD技术被提出,但它们大多关注性能增强,而缺乏对移动设备上实际部署的关注。
解决方案
在本文中,我们提出了移动非对称双流网络(MoADNet),用于实时和轻量级RGB-D SOD。
1.首先,受到RGB和深度模式之间固有差异的启发,我们观察到深度图可以用比RGB图像更少的通道表示。因此,我们设计了基于MobileNetV3的非对称双流编码器。
补充:这句话的意思是,深度图像可以使用比RGB图像更少的通道来表示。这是因为深度图像与RGB图像不同,不需要表示颜色信息,而只需表示距离信息。RGB图像包含红色、绿色和蓝色三个通道,每个通道都包含一个像素点的颜色信息。而在深度图像中,每个像素点代表的是距离摄像头的距离值,因此只需要一个通道就可以表示。这也就意味着,相对于RGB图像,深度图像可以用更少的数据来表示,从而减少计算和存储开销。
疑问??这种不对称是怎么设计的?动机是什么?
在后文提到:前人使用对称双流网络从RGB图像和深度图中提取特征。然而,这两种模式传达了不同的信息。RGB图像包含丰富的颜色和纹理特征,深度图提供空间位置和粗略形状。这两种模式之间的内在差异启发了我们开发非对称双流网络来进行特征提取。
RGB:MobileNetV3-Large,Depth:MobileNetV3-Small
2.其次,我们开发了一种倒置瓶颈跨模态融合(IBCMF)模块来融合多模态特征,该模块采用倒置瓶颈结构来补偿轻量化主干中的信息丢失。
3.第三,我们提出了自适应atrous空间金字塔(A2SP)模块来加速推理,并通过适当选择解码器中的多尺度特征来保持推理的性能。(这个模块可以理解为上下文提取模块,用于更好的表达特征的表示)
IBCMF
1.为什么设计这个模块?
轻量级主干提取代表性特征的能力低。
2.怎么设计的?
受[47]的启发,采用channel expansion 来补偿轻量级骨干中的信息损失。我们首先在低级阶段扩大融合前的channel数量。随后,减少这些channel,以促进逐元素操作。由于该过程与反向瓶颈结构[47]具有相同的精髓,我们将此组件命名为反向瓶颈跨模态融合( IBCMF)模块。
1)Channel Alignment: 由于我们的目标是设计非对称双流编码器,不同支路的输出可能有不一致的形状。我们使用Pointwise Convolution Conv1×1(·)使RGB和深度流的输出具有相同的通道尺寸,
补充:Pointwise Convolution也被称为 1×1 卷积,是指卷积核大小为 1×1 的卷积操作。Pointwise Convolution 是一种非常轻量级的卷积操作,其本质上就是一种线性变换,可以有效地将通道之间的信息进行整合和变换。
与传统卷积不同,Pointwise Convolution 在空间上不进行滑动窗口卷积,而是在通道维度上进行乘加运算。因此,它可以非常高效地实现通道数的变换和压缩。同时,由于 Pointwise Convolution 的计算量较小,其计算速度也比较快,因此常常被用于轻量化网络设计中。
Pointwise Convolution 主要应用在两个方面:特征融合和特征变换。
具体来说:
特征融合:在深度学习中,我们经常需要将不同尺度的特征进行融合,这时可以使用 Pointwise Convolution 实现通道数的增加或者减少,从而实现特征融合。
特征变换:有时候我们需要对特征进行维度变换,例如将一个高-dimensional 的特征张量映射到 low-dimensional 的嵌入空间中。此时可以使用 Pointwise Convolution 实现通道数的变换,然后将变换得到的特征进行池化或者全局平均池化,从而得到 low-dimensional 的嵌入特征。
总之,Pointwise Convolution 具有计算量小、速度快、通道信息整合等优势,在轻量化网络设计中常常被用于提高网络的性能和效率。
Channel Alignment这样设计有什么好处?在文中作者这样描述的:(1)可以将不同形状的特征图对齐到同一维度。(2)在主干网的底层阶段,特征由少量的通道表示。通道对齐操作可以增加融合前的通道数量。这样,会有更多的频道特性参与融合,进一步提升性能。(3)在主干的高级阶段,特征通常包含大量的通道。在将这些特性输入解码器之前,通道缩减是不可避免的。通道对准操作使信道变化更加普遍,避免了一次急剧减小所造成的信息损失。
2)Feature Fusion:将这些特征串联起来进行跨模态交互,
在此之后,我们可以得到两个连接的权重
CSP表示通道分离操作。
在对齐通道数量后,我们利用注意机制来选择代表性特征。增强的特性可以表示为:
SA表示shuffle attention (SA) module
补充:Shuffle Attention (SA) 模块是一种用于图像分类和目标检测任务的注意力机制模块,它可以有效地提取图像中不同区域之间的重要性信息,并帮助模型更好地进行物体辨识。
SA 模块的核心思想是将空间上相邻的特征图位置打乱,然后再对每个特征点进行全局池化,这样可以使得特征图中的每个输出点都能够看到相互独立的内容。具体来说,SA 模块的操作步骤如下:
- 输入特征 x 的尺寸为B×C×H×W,其中 B 为 batch size,C 为通道数,H 和 W 分别为特征图的高度和宽度。
- 将输入特征 x 分成若干个小块,每个小块的大小为 k×k,并打乱每个小块内的元素顺序。
- 对每个小块内的元素进行全局平均池化,得到该小块内的特征表示。
- 将所有的小块内的特征表示拼接起来,并通过一个 1x1 卷积层进行非线性变换,得到最终的特征表示。
与其他注意力机制不同的是,SA 模块并没有计算 query 和 key 之间的相似度,而是直接从局部特征块中提取信息。
总之,SA 模块通过打乱输入特征图的位置、全局池化和特征拼接等操作,可以帮助模型更好地利用图像中不同区域之间的重要性信息,从而提高图像分类和目标检测任务的性能表现。
Shuffle Attention (SA) 模块和空间注意力(Spatial Attention)在注意力机制的实现方式上有着一定的区别。
空间注意力是一种经典的注意力机制,其思想是通过对输入图像的不同位置进行加权,让模型更关注重要的信息。具体来说,空间注意力通常会引入两个关键变量:query 和 key,计算它们之间的相似度,并利用 softmax 函数将相似度转换成权重,最终将这些加权后的特征图进行池化或者卷积。
相比于空间注意力,Shuffle Attention 模块则更加关注特征图中不同区域之间的关联性,其核心思想是将空间上相邻的特征图位置打乱,然后对每个小块内的元素进行全局平均池化,从而得到该小块内的特征表示。这样可以使得特征图中的每个输出点都能够看到相互独立的内容,进而提取出更全面、更准确的特征。
因此,Shuffle Attention 模块与传统的空间注意力模块有着明显的区别。SA 模块通过对特征图中的位置重新排列并进行全局池化等操作,强调了特征图中不同区域之间的相互独立性,能够更好地挖掘不同区域之间的关联性。而空间注意力则更加注重不同位置之间的权重计算,能够更好地提取重要的信息。
总之,在实际应用中,选择何种注意力机制取决于具体任务的需求以及特征图中不同区域之间的关联程度。
更多参考:【CV中的Attention机制】ShuffleAttention_sa注意力机制_*pprp*的博客-CSDN博客
特征融合过程可以表示为:
3)Channel Projection: 通过3次ReLU激活的3×3卷积来减少通道的数量。因此,IBCMF模块的最终输出为:
三个连续的3×3卷积,为简便起见省略ReLU激活。这种尝试带来了两个好处。首先,减少特征通道的数量有利于内存的使用和计算的消耗。第二,相同数量的通道简化了元素操作。在此之后,我们最终可以得到融合后的feature map。
自适应Atrous空间金字塔(A2SP)模块
1.为什么设计这个模块?
ASPP由于并行卷积层[16],它们也降低了GPU推理速度,增加了参数数量。
2.怎么设计的?
由于来自不同编码器阶段的特征映射具有不同的分辨率,在解码器中使用相同的扩展速率和内核大小来处理特征映射是不合理的。一些高级阶段的特征映射可以用更少的扩张卷积和更小的内核尺寸来表示。为了加快推理速度和减少参数,我们开发了一个自适应Atrous空间金字塔(A2SP)模块,如图5所示。
为了有效地利用多尺度特征,我们首先自适应地将通过扩张卷积提取的多尺度信息串联起来。假设这些丰富特征在第i阶段表示为,则可计算为:
最后,我们通过1*1卷积将输出特征的维数恢复到与输入相同的维数。则在第i阶段,A2SP模块的最终输出为:
解码器
密集连接。在每个连接中,feature map被适当2,4,8上采样,以保持相同的分辨率。
显著性头
其中Si是第i阶段的预测显著性映射,Upraw(·)表示将特征映射上采样到输入数据的原始大小。请注意,该单元仅在训练阶段使用,而在测试时省略。因此,在不增加任何额外推理成本的情况下,可以提高性能,这与本文设计实时轻量级模型的目标一致。