论文链接:https://arxiv.org/pdf/1811.11721.pdf
国内镜像:https://xxx.itp.ac.cn/pdf/1811.11721.pdf


FCN由于固定的几何结构,它们天生局限于局部的接受域和短距离的上下文信息。
全图像依赖提供了有用的上下文信息,有利于视觉理解问题。

  • 基于空洞卷积的方法从周围的几个像素点收集信息,实际上并不能生成密集的上下文信息
    Rethinking atrous convolution for semantic image segmentation
    Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution,and fully connected crfs
    Context contrasted feature and gated multiscale aggregation for scene segmentation
  • 基于池化的方法以非自适应的方式聚合上下文信息,所有图像像素都采用同构的上下文信息,不能满足不同像素需要不同上下文依赖的要求
    Pyramid scene parsing network
    Context encoding for semantic segmentation
  • 基于注意力的方法需要生成巨大的attention map来测量每个像素对之间的关系,它们在时间和空间上的复杂性都是O((H×W)×(H×W))
    Psanet: Pointwise spatial attention network for scene parsing
    Non-local neural networks
    Long short-term memory-networks for machine reading
    Attention is all you need
主要优势:
  1. GPU内存友好。与non-local block相比,提出的周期性交叉注意模块需要11×更少的GPU内存使用
  2. 计算效率高。周期的交叉注意力在计算全图依赖时,与non-local block相比减少了85%的FLOPs
  3. SOTA

用连续稀疏注意力代替non-local networks中的单层稠密注意力。
使用了两个连续的、十字交叉的注意力模块,其中每个位置只有(H+W - 1)的稀疏连接。
分解策略大大降低了时间和空间复杂度,从O((H×W)×(H×W))减少到O((H×W)×(H+W−1))

CCNet vs. Non-Local vs. GCN

【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
在上下文信息聚合方面,GCN只有中心点才能感知到所有像素点的上下文信息。Non-local Network和CCNet保证一个像素在任何位置都能从所有像素中感知上下文信息。GCN可将方形卷积运算分解为与CCNet相关的水平和垂直的线性卷积运算,CCNet采用纵横交叉的方式获取上下文信息,比水平-垂直分离方式更有效。
CCNet的提出是为了模仿Non-local Network,通过一个更有效、更高效的递归交叉注意模块获取密集的上下文信息,其中不相似的特征得到的注意权重较低,而高注意权重的特征是相似的


网络设计

整体架构:

【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
首先用CNN提取特征,得到特征图X;
对于给定的X,使用卷积层来获得降维的特征图H;
然后,将特征图H输入到交叉注意模块中,生成新的特征图H’,H’为其交叉路径中的每个聚合了上下文信息的像素;
为了获得更丰富、更密集的上下文信息,再次将H’输入到十字交叉注意模块中,输出H”。如此,特征图H’‘中的每个位置实际上收集了所有像素的信息;前后两个交叉的注意力模块共享相同的参数,避免添加过多的额外参数
然后,concat H’’ 和X,紧跟一个或多个卷积层,bn层和**层;
最后,将融合的特征送入segmentation layer,来预测标签。

Criss-Cross Attention

【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
输入特征图HH,分别用两个1x1卷积生成特征图QQKK{Q,K}RC×W×H\{Q, K\}\in \mathbb{R}^{C^{'} \times W \times H}CC^{'}小于CC,减小维度。

Affinity operatioin
di,u=QuΩi,uT d_{i,u}=Q_{u} \Omega_{i,u}^T
其中,QuQ_{u}是特征图QQuu点处的向量,QuRCQ_{u} \in \mathbb{R}^{C^{'}}Ωu\Omega_{u}是特征图KK上与uu点同行同列的一组向量,ΩuR(H+W1)×C\Omega_{u} \in \mathbb{R} ^{(H+W-1) \times C^{'}}Ωi,uRC\Omega_{i,u} \in \mathbb{R}^{C^{'}}Ωu\Omega_{u}的第ii个元素。

动图如下
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
此时,DR(H+W1)×W×HD\in\mathbb{R}^{(H+W-1)\times W \times H}。接着对DDchannel维做softmax,即可得到attention map A

用1x1卷积生成特征图VVVRC×H×WV \in \mathbb{R}^{C \times H \times W}

Aggregation operation
Hu=iΦuAi,uΦi,u+Hu H_{u}^{'}=\sum _{i \in |\Phi_{u}|} A_{i,u} \Phi_{i,u}+H_{u}
其中,Φu\Phi_{u}是特征图VV上与uu点同行同列的一组向量,ΦuR(H+W1)×C\Phi_{u} \in \mathbb{R}^{(H+W-1)\times C}

动图如下
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation

Recurrent Criss-Cross Attention (RCCA)

在第一个循环中,交叉注意以从CNN模型中提取的feature maps H作为输入,输出feature maps H’,其中H和H ‘形状相同;
在第二次循环中,交叉注意以特征图H’为输入,以特征图H’'为输出。
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
一次CCA仅能捕捉到同行同列的信息,两次就可以捕获到全图其他所有点的信息了。

Ai,x,yA_{i,x,y}与点xx^{'}yy^{'}间的权重用公式表示为:
Ai,x,y=f(A,x,y,x,y)A_{i,x,y}=f(A,x,y,x^{'},y^{'})
则两次CCA的信息传递如下:
Hu[f(A,ux,θy,θx,θy)f(A,ux,uy,ux,θy)+f(A,θx,uy,θx,θy)f(A,ux,uy,θx,uy)] H_{u}^{''} \leftarrow [f(A,u_{x},\theta_{y},\theta_{x},\theta_{y}) \cdot f(A^{'},u_{x}, u_{y},u_{x},\theta_{y})+f(A,\theta_{x},u_{y},\theta_{x},\theta_{y}) \cdot f(A^{'},u_{x},u_{y},\theta_{x},u_{y})]


实验结果

【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation

Cityscapes

【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation

ADE20K

【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation

COCO

【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation

相关文章:

  • 2021-03-31
  • 2021-06-07
  • 2022-12-23
  • 2021-07-06
  • 2021-08-10
  • 2021-10-29
  • 2021-06-14
猜你喜欢
  • 2021-08-31
  • 2021-12-11
  • 2021-05-13
  • 2021-04-15
  • 2021-07-30
相关资源
相似解决方案