[深度学习从入门到女装]CCNet: Criss-Cross Attention for Semantic Segmentation

论文地址:CCNet: Criss-Cross Attention for Semantic Segmentation

一篇来自华科的语义分割论文

使用了criss-cross方法来改进attention模块,原本的non-local attention模块是要使用整个feature map来进行attention的构成,需要O((H*W)*(H*W))时间和空间来进行,很消耗空间和时间,本文就想到,使用两次criss-cross也就是十字形式的attention组合,可以达到non-local的效果,但是只是用了O((H*W)*(H+W-1))的空间时间

如上图所示为一个criss-cross attention block

每一次的criss-cross的模块如上图所示

首先是将feature mapX使用一层conv减少通道数到H,然后将H分别使用三个1*1卷积,分别得到Q,K,V,将Q和K使用affinity的方法得到attention 模块

也就是将Q上的每个channel维度上的vector与其在K上的位置的横纵方向上的所有vector进行矩阵相乘运算,再使用softmax对channel维度上进行权重平均,最后再使用V来融合得到最终的attention map,然后与H进行相加,得到最终输出

这样的criss-cross模块重复两次,share相同的权重,最终就可以达到non-local的效果

发布了164 篇原创文章 · 获赞 36 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/py184473894/article/details/100108785