PSANet:2018年CVPR。
论文地址:
《PSANet: Point-wise Spatial Attention Network for Scene Parsing》
论文部分
引文
作为较早引入Attention机制的模型之一,PSANet对位置相关的注意力机制进行了一些探索。
那几年大多数论文都会谈到几个事情:
一是模型的感受野问题,使用堆叠卷积层增加感受野的方案虽然可行,但效果有限,或是使用空洞卷积的方式来增大感受野,但这种操作也会忽略一些信息。
二是上下文信息很难被有效结合起来。
三作者也对常用的卷积进行了一个思考,作者认为使用卷积的这种方式,信息流总被约束在一个局部范围,从而限制了复杂场景下,忽略掉局部与全局的关系。
因此,作者通过PSANet做了两个改进,来解决这些问题。
亮点
一是:作者通过自适应学习一个注意力掩码,将特征映射上的每个位置与其他位置联系起来,来缓和这种局部邻域约束。
二是:设计了双向的信息流传播路径,也就是每个位置都与其他位置相关,同时两个位置能够互相通信,互相影响。
模型结构
模型的Decode Head如上图,模型的上下两条分支是完全对称的。作者称上一层的分支为Collect分支,下一层的分支为Distribute分支。
Point-wise Spatial Attention
PSA的核心思想为如何计算Point-wise Spatial Attention。
首先,定义backbone的输出为X。由于两个分支相同,作者这里只考虑Collect分支。X先经过一个卷积来调整通道数,以减小计算量。得到大小为H×W×C的特征图,称为x。这个x用一个1×1的卷积层卷积得到大小为H×W×(2H-1)(2W-1)的新特征图,Hc。每一个i位置,都是1×1×(2H-1)(2W-1),可以重塑为(2H-1)×(2W-1),而起作用的只有其中一部分,如下图a中的虚线部分。这样就得到了两个Hc和Hd。
得到了上述Hc和Hd之后,进一步生成Attention Map Ac和Ad。
信息流双向融合
作者提出的这个信息流双向融合是论文中比较有意思的地方。对于两个位置的点 i 和 j。i 位置的融合特征Zi是 i 和 j 位置的映射。也就是 i 和 j 互相影响。