论文地址:https://drive.google.com/file/d/1ysATpf5SKPRegyGDpYsJSngM0_I09XWk/view
源码地址:https://github.com/iCVTEAM/CTDNet
说明:本博客并非单纯对英文文献进行翻译,更多是加入个人实践中的认知与理解,更多是从算法实践落地角度去思考。个人才疏学浅,难免有错漏之处,敬请谅解。
1 引言
1.1 解释
该论文是2021年ACM MM会议的oral文章,由北航和鹏城实验室提出。
- 显著性目标检测(salient object detection,SOD),是分割出图像中视觉最显著的目标或者区域。可以简单理解为前景/背景分割。
- 编码器-解码器架构(Encoder-Decoder Architecture)是目前图像分割领域最常用的网络架构,如FCN,SegNet等。在Encoder中,特征图尺寸逐渐变小,提取更高层次的语义信息;在Decoder中,特征图尺寸逐渐变大,恢复细节信息。
2 发展现状
- 作为一种有效的预处理技术,SOD广泛应用于计算机视觉的下游任务,如图像检索、图像跟踪、图像分割。
- 早期的SOD算法大多数基于人工特征,现在的SOD算法主要基于CNN。依靠强大的特征表达能力,SOD获得巨大进步。具体可参考2022年TPAMI的文章《Salient Objects in Clutter》,个人认为里面对SOD算法总结非常好。
论文地址:https://ieeexplore.ieee.org/abstract/document/9755062 - 目前的SOD算法,U-Shape结构使用最广泛且性能较好。U-Shape在解码器中逐渐恢复高分辨特征,通过top-down路径和横向连接的方式。
3 主要问题
- 大多数SOD方法不能在效率和性能上获得较好的平衡。目前大多数模型不断增加网络的深度和宽度,以获取更好的性能,导致巨大的计算开销,推理速度较慢。这些方法通常需要强大的主干网络和复杂的解码器。因此,这些模型很难在资源有限的环境下使用。
- 另外,U-shape结构存在很多不足,因此有较大提升空间。
a) 复杂的U-shape结构由于底层特征较大分辨率,增加了计算复杂度,降低速度。
b) 在下采样过程中,造成空间信息丢失,很难仅通过层级特征的合并恢复。
c) 在top-down路径上,高层特征的语义信息会被逐渐稀释,全局上下文信息也会被忽略,可能导致欠分割结果。
4 拟解决问题、主要思路、创新点
4.1 拟解决问题
构建轻量化的、快速的、同时有较好性能的SOD模型。
4.2 主要思路
- 抛弃传统的U-shape结构,在解码器部分,提出语义上下文、空间细节、边界信息分别处理,达到速度和准确性的较好平衡。
- 提出高效的、高性能的互补三边解码器CTD,包括语义路径、空间路径、边界路径三个分支,用于显著性检测。这些分支取自编码器的不同阶段,设计用于解决语义信息的稀释,空间信息的丢失,边界信息的损失。
- 为了让这三个分支特征互补,提出三个具体的融合模块。
a) 特征融合模型FFM,用于融合语义路径和边界路径的特征。
b) 交叉聚合模块CAM,用于融合语义路径和空间路径的特征。
c) 边界细化模块BRM,用于融合边界特征。
完整的网络结构如下图:
4.3 主要创新点
- 提出了一种新型的、高效的互补三边解码器CTD,分开处理语义上下文信息、空间细节、边界信息。
- 设计三个具体的融合模块,通过“粗糙、精细、更精细”策略逐渐融合他们的信息,这较大提升了区域的准确性和边界的质量。
- 提出的模型在5个基础数据集上表现优于SOTA,而且在速度和准确性上得到了更好的平衡。
性能对比图如下:
5 具体算法流程
5.1 输入、输出
输入:单帧RGB图像;
输出:分割掩膜图,与输入图像大小一致,值域为0.0~1.0;
示例如下:
5.2 编码器
主干网络使用ResNet-50,或者ResNet-18(轻量化)。
5.3 解码器(核心)
包括三个分支:语义路径、空间路径、边界路径。这三个路径共享编码器,并且取自编码器的不同阶段。
5.3.1 语义路径
- 首先,我们嵌入全局平均池化到backbone网络的尾部,能够提供最大的全局信息感受野,应用了通道注意力机制;
- 然后,我们通过1x1卷积限制通道数为64,为了减少计算量。
- 最后,提出FFM模块有效得融合GAP的上采样和最后两个阶段的特征。
- 语义路径得到准确的目标定位,粗糙的边界;
5.3.2 空间路径
- 空间路径由编码器的E3(1/8分辨率)得到;
- SAM模块使用空间注意力机制,获取丰富的空间细节;
- 空间路径得到较为精细的目标边界;
5.3.3 边界路径
- 边界路径由编码器的E2(1/4分辨率)得到;
- 使用高层语义的定位信息作为指导,使用边界图作为强监督,增强显著性目标的边界特征。
- 边界路径可以让目标的边界更加清晰;
5.4 融合模块
5.4.1 FFM
使用相乘运算融合两个特征,而不是相加或者拼接。因为相乘运算可以避免冗余信息,抑制背景噪声。
5.4.2 CAM
通过特征的上采样、下采样、交叉融合,得到强有力的特征表达。
5.4.3 BRM
使用高层的语义定位信息,得到准确的目标边缘。使用边界图作为目标边缘的强监督,增强显著性目标的边界特征。
5.5 损失函数:
使用二值交叉熵和IOU损失,其中边界图只使用BCE计算损失。
6 为什么CTDNet算法能在精度和速度上得到平衡?
6.1 更快速
- 轻量化的backbone,使用ResNet-18;
- 不使用最底层的特征,只使用stride={4,8,16,32}的最后四个阶段的特征;
- 特征通道数限制在64;
- 融合模块使用相乘运算,而不是相加或者拼接。
6.2 更准确
- 综合考虑了网络的语义信息、空间信息、边界信息。这也是精度和速度上确得平衡的关键,可参考BiSeNet系列,还有2023年CVPR的PIDNet,个人认为思路是一致的。
- 不同方式、更好地融合不同层级的特征信息;
- 使用了目标边界作为辅助监督;
- 使用了通道注意力和空间注意力机制;