代码:https://github.com/Karl1109/SCSegamba
这个工作主要解决沥青路面、混凝土和金属等结构中的裂缝分割问题(crack segmentation)。作者指出:在低对比度图像中,裂纹区域不规则,经常受到周围区域和阴影的影响,这对现有的视觉状态空间模型(VSSM)的扫描策略提出了挑战。
为了实现高分割质量和低计算量之间的平衡,作者提出了SCSegamba网络,总体架构如下图所示。关键模块为: Structure-Aware Visual State Space block (SAVSS) 和 Multi-scale Feature Segmentation head (MFS). 可以看出,输入图像划分为patch,然后依次输入4个SAVSS block处理,中间进行下采样,得到F1,F2,F3,F4四个特征。四个特征输入于MFS融合,使用MLP得到最终的分割结果。
为了降低计算量,论文中反复使用了一个Gated Boottleneck Convolution模块,结构如下图所示。主要有两个特点:1、bottleneck结构可以降低参数量。2、门控机制,可以增强模型捕捉细节的能力。
Structure-Aware Visual State Space block (SAVSS) 的结构如下图所示,可以看出来和VSSM基本类似,不同之处主要有两点:1、扫描的路径,作者构建了diagnal snake scanning;2、Pixel Attention-guided Fusion (PAF) ,来自作者另外一个论文,是很常见的两分支特征融合方法。
SAVSS 解决的关键问题是“适应裂纹的方向”。如下所示,作者指出常用的4种扫描方法(图中红线)在对角线之间缺乏连续性,限制了对裂纹方向的敏感性。因此,做者提出了Diagnal snake扫描方法(图中绿色),可以更好地捕捉复杂的裂纹纹理特征(个人感觉这个有些牵强,或者举的例子并没有很好的证明这一点)。
Multi-scale Feature Segmentation head (MFS) 结构也非常简单,使用 MLP+ Dynamic upsampling 分别处理 F1,F2,F3,F4 ,将其尺寸恢复,然后使用 GBC + MLP 处理,得到分割结果。 其中,Dynamic upsampling 来自论文“Learning to upsample by learning to sample”。
实验方面可以参考作者论文,这里不过多介绍。