2018 CVPR之语义分割:CCNet: Criss-Cross Attention for Semantic Segmentation
简述:
目前主流基于FCN框架的语义分割网络方法均存在以下两个主要局限性:其一为这些网络天然局限于局部捕获能力以及短程上下文信息;其二则未能显著提升模型在复杂场景下的表现能力。针对上述问题,在现有研究中尚未找到一种既能有效捕捉长程依赖关系又能在复杂场景下保持较高准确率的方法。为此,我们提出了一种名为CCNet的新方法。该方法通过引入两个交叉注意力模块(Cross-attention模块),实现了对Cityscapes、ADE20K和MSCOCO等基准数据集的超越。
问题或相关工作:
CCNet具有两大核心优势:其一在于计算复杂度较低(仅(H+W−1)个元素),其二在于采用了递归机制,在单像素尺度上捕获全局上下文信息(CCNet采用递归方式)。
模型:
CCNet框架解析:输入图像经过网络处理后首先以ResNet-101为基础构建骨干网络(backbone),并修改其后两组卷积层(stage)采样率设为1,并引入空洞卷积扩大感受野宽度;最终生成特征图X,并将其尺寸缩减至原图尺寸的八分之一;随后通过一次全局信息压缩层对特征图X进行降维处理得到H;接着将H代入一个双向交叉注意力模块(criss-cross attention module)生成H';此时H'中的每一个像素点均能够整合同一行与同一列位置上的全局上下文信息;随后再对H'施加一个结构相同但参数一致的双向交叉注意力模块生成最终特征图H'';在此过程中,H''中的每一个像素点均捕获到了整个图像域内的全局语义关联关系;最后将原始特征图X与经过两次双向交叉注意力处理后的特征图H''进行级联连接模块融合这两者的信息输出分割结果。

其中criss-cross module结构如下:

其中分为两大类:其一是Affinity(即关联性),其二是Aggregation(即聚合)。其中,Affinity的具体表达式及其详细说明如下:


Aggregation的表达式及其具体具体操作如下:


通过一个criss-cross层的处理后输出稀疏数据。然而,在连续经过两个这样的criss-cross层之后输出的数据则发生了变化并变为稠密(dense)。从图中左上角到右下角只需两步就能理解其工作原理。


实验:通过不同模型对COCO等标准数据集进行评估后发现, CCNet的表现能够显著超越现有方法


在本分析中作为白色圆形标记来表示那些被误判为具有关键难点区域的实例

下图中间两幅是RCCA中R = 1、R = 2时的像素级注意图(pixel-wise attention maps)

