S2-CCNet 论文解读

CCNet :Criss-Cross(纵横交错的,十字交叉的)

对于每一个像素,通过Criss-Cross Attention模块,在像素十字交叉的路径上获取周围像素的上下文信息。进一步重复操作,recurrent=2,捕获到相对精准分割信息。

1、介绍

在这里插入图片描述
图(a)是当前的,也就是原先的方法,参数有 H × W H × W H×W个。
图(b)是本文的方法,采用像素纵横交叉的区域,聚合出更加有效的信息。

优点:
(1)减少GPU内存,降低空间复杂度。
(2)采用recurrent=2,明显提高性能,得到更加精准有效的分割信息。

3、方法

首先介绍网络的总体框架,然后介绍在水平和垂直方向捕获信息的Criss-Cross Attention模块。最后为了捕获全局上下文信息,采用递归交叉注意模块,the Recurrent Criss-Cross Attention,R=2。

3.1、整体
在这里插入图片描述

  1. 输入图像,经过深层卷积网络生产特征图 X = H × W X = H × W X=H×W,为了保留更多细节,高效生成密集的特征图,本文去掉最后两个下采样操作,并在后续卷积层使用扩张卷积,将特征图 X X X的大小增大到原图的1/8。

  2. 得到特征图 X X X后,利用卷积层得到降维的特征映射 H H H,然后将特征映射 H H H送入Criss-Cross Attention模块,生成新的特征映射 H ′ H^′ H

  3. 再将 H ′ H^′ H送入Criss-Cross Attention模块,生成新的特征映射 H ′ ′ H^{''} H。两个Criss-Cross Attention模块参数共享,避免过多参数。本文把R=2的双层模块称为递归交叉注意模块(the Recurrent Criss-Cross Attention)。

  4. 然后将特征 H ′ ′ H^{''} H和局部表示特征 X X X连接,再接一个或多个卷积层,进行批处理规范化和特征融合激活,最后将融合后的特征输入分割层,生成最终的分割图。

3.2、Criss-Cross Attention
在这里插入图片描述

在这里插入图片描述

  1. 特征 H H H(空间向量 C × W × H C × W × H C×W×H C C C是通道数, W W W H H H是大小)经过两个卷积核为 1 × 1 1×1 1×1的卷积层,分别生成两个特征映射 Q Q Q K K K,特征大小为 C ′ × W × H C^′ × W × H C×W×H

  2. 获得特征图 Q Q Q K K K后,通过关联操作进一步生成特征图 A A A,特征大小为 ( H + W − 1 ) × W × H (H+W-1) × W × H (H+W1)×W×H。以特征图中的某一元素 u u u为例, H u H_u Hu经过两个卷积生成 Q u Q_u Qu Ω u \Omega_u Ωu D D D Q u Q_u Qu Ω u \Omega_u Ωu的关联操作后的结果,再接一个softmax层生成特征映射 A A A
    在这里插入图片描述

同理特征 H H H经过另一个 1 x 1 1x1 1x1卷积生成特征图 V V V u u u在特征图 V V V上映射的特征向量为 Φ u \Phi_u Φu。再由以上特征向量聚合生成 H u ′ H'_u Hu

3.3、Recurrent Criss-Cross Attention

尽管纵横交错的注意力模块可以在水平和垂直方向捕捉长程上下文信息,像素和周围像素之间的关联仍然很稀疏。获取密集的上下文信息有助于语义分割。为了达到这个目的,我们在上面描述的交叉注意模型的基础上引入了递归的交叉注意。

当前纵横交错的注意力模块可以展开成R循环。在第一个循环中,cross -cross attention模块以CNN模型提取的输入feature maps H和输出feature maps H′,其中H和H′的形状相同。在第二个循环中,交叉注意模块采用输入feature maps H′和输出feature maps H″。如图2所示,递归交叉注意模块有两个循环(R=2),足够从所有像素中获取长期依赖关系,生成具有密集丰富上下文信息的新feature map 。

A A A A ′ A^′ A分别作为循环1和循环2中的注意映射。因为我们感兴趣的只有在上下文信息传播在空间维度而不是在频道维度,卷积与 1 × 1 1×1 1×1层过滤器可以认为相同的连接。另外,从位置 x 0 x_0 x0, y 0 y_0 y0到权重 A i A_i Ai, x x x, y y y的映射函数定义为 A i A_i Ai, x x x, y = f ( A , x , y , x 0 , y 0 ) y = f(A,x,y,x_0,y_0) y=f(A,x,y,x0,y0)

对于任何在特征映射 H ′ ′ H^{''} H上的位置元素 u u u和特征映射 H H H上的位置元素 θ \theta θ,如果R=2, u u u θ \theta θ相同的行和列就有关系:
H u ′ ′ ← [ f ( A , u , θ ) + 1 ] ⋅ f ( A ′ , u , θ ) ⋅ H θ H_u^{''} \leftarrow [f(A,u,\theta)+1]\cdot f( A' ,u,\theta) \cdot H_\theta Hu[f(A,u,θ)+1]f(A,u,θ)Hθ
另一个情况是,u和θ不相同的行和列。图4为上下文信息在空间维度上的传播路径:
H u ′ ′ ← [ f ( A , u x , θ y , θ x , θ y ) ⋅ f ( A ′ , u x , u y , u x , θ y ) + f ( A , θ x , u y , θ x , θ y ) ⋅ f ( A ′ , u x , u y , θ x , u y ) ] ) ⋅ H θ 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) ]) \cdot H_\theta 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θ
在这里插入图片描述
总的来说,我们的递归交叉注意模块弥补了交叉注意模块不能从所有像素中获取最密集的文本信息的不足。与交叉注意模块相比,递归交叉注意模块(R = 2)没有带来额外的参数,并且可以以较小的计算增量的代价获得更好的性能。递归交叉注意模块也是一个自包含模块,可以在任何阶段插入任何CNN架构,并以端到端方式进行优化。

4、实验

我们对城市景观和ADE20K采用平均IoU(类交叉对联合的平均值),对COCO采用标准COCO度量平均精度(AP)。

5、结论

本文提出了一种用于语义分割的纵横交错网络(CCNet),该网络自适应地捕获纵横交错路径上的长程上下文信息。为了获得密集的上下文信息,我们引入了递归交叉注意模块,它从所有像素聚集上下文信息。消融实验表明,周期性的纵横交错注意力能够以更低的计算成本和存储成本获取密集的长期上下文信息。我们的CCNet在两个语义分割数据集(即城市景观,ADE20K和实例分割数据集,即COCO。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吕同学吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值