CCNet: Criss-Cross Attention for Semantic Segmentation论文读书笔记

CCNet: Criss-Cross Attention for Semantic Segmentation读书笔记

Criss-Cross Network(CCNet):

作用:

用来获得上下文信息,具体来说,对于每一个像素,CCNet中的criss-cross注意模块把水平和竖直方向上的语义信息聚合起来,对局部特征图中的每一个像素的交叉路径上获取所有像素的上下文信息。使用两个连续的交叉注意模块,其中每个模块对于特征图中的每个位置只有稀疏的连接(H+W−1),通过连续叠加两个交叉的注意力模块,它可以从所有像素中收集上下文信息,且这两个循环交叉注意模块具有相同的参数。

Non-local module 和criss-cross attention module的区别:

在这里插入图片描述
两者都把具有空间大小为H×W的输入特征分别送入能够产生attention maps(上面的分支)和adapted feature maps(下分支),之后权重和被用来获取上下文信息。与non-local模块采用的稠密连接不同,在criss-cross attention模块中,特征图像中的每一个位置(蓝色的)稀疏的与其他在相同行和相同列上的像素稀疏的连接,导致the predicted attention map只含有W+H-1个权重,而non-lacal模块需要H×W个参数。为了达到捕获全图依赖项(full-image dependencies)的目标,对交叉注意模块进行了简单的循环操作。
特别的,the local features首先被送入第一个criss-cross attention module里,用来在水平和竖直方向上采集上下文信息。之后,通过把从第一个criss-cross attention module里出来的produced feature map送入另外一个里面,从criss-cross 路径中获得的附加上下文信息最终使每个像素捕获全图像依赖。对循环criss-cross模块共享参数。

CCNet网络架构

在这里插入图片描述
对于语义分割网络,使用用ImageNet预训练的ResNet-101网络作为backbone,为了保留更多的细节和有效的产生稠密特征图,我们去掉了最后两个下采样层,在subsequent卷积网络中用了空洞卷积,导致扩大输出特征图像X的宽和高为输入特征图像的1/8,即output stride = 8.
一个输入图像通过深度卷积网络之后,产生了大小为H×W的特征图像X,给定X,首先使用卷积层得到维数缩减后的特征图像H,之后,特征图像H被送入criss-cross attention模块产生新的特征图像H1,H1把每个像素在其criss-cross路径上的上下文信息聚合起来,由于只有水平和竖直方向上的上下文信息,不足以应用于语义分割,所以为了获得更加丰富的和稠密的上下文信息,我们把H1送到criss-cross注意力模块中,产生了特征图H2,H2中的每一个像素都把所有像素的信息都聚合起来了。两个criss-cross注意力模块共享权重。这两个criss-cross注意力模块叫做recurrent criss-cross注意力模块(RCCA).
之后,我们把稠密上下文特征H2和local representation feature X结合起来,他们之后接了一个或几个具有批归一化的卷积层和激活用来feature fusion。最后,the fused特征被送到分割层用来产生最终的分割结果。

Criss-Cross Attention

在这里插入图片描述
在获得了特征图像Q和K之后,我们进一步通过Affinity operation操作产生注意力图像A((H+W-1)×W×H),在特征图像Q中的每一个位置u,我们可以获得一个向量在这里插入图片描述
同时,我们可以从K中和u位置相同的行和列获得特征向量在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

RCCA

尽管一个交叉注意可以在水平和竖直方向上捕获上下文信息,一个像素和他周围不在criss-cross path上的像素之间是没有连接的。为了解决这个问题,提出了RCCA。该模块可以展开成R循环,在第一个循环里,从CNN得到的特征图像H作为交叉注意的输入,特征图像H1作为输出,H和H1大小一致。在第二个循环里,H1是输入,H2是输出。R=2即可能够从所有像素中获取全图上下文信息,生成具有密集和丰富上下文信息的新特征图。
由于我们只在意空间维度上的上下文信息而不是通道维度上的,具有1×1滤波器的卷积层可以被视为相同的连接(the identical connection)。
在这里插入图片描述
在这里插入图片描述
<-是add-to 操作。
对于两者不在同一行或者同一列的,下图显示了上下文信息在空间维度上的传播路径
在这里插入图片描述
在这里插入图片描述
总的来说,我们的RCCA模块弥补了交叉注意的不足,不能从所有像素中获取密集的上下文信息
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值