计算机视觉注意力机制

注意力机制,就是对学习到的feature进行权重分配,以得到我们最关注的区域特征(包括空域,时域以及通道信息)


1 Transformer

参考https://zhuanlan.zhihu.com/p/48508221
a self-attention
在self-attention中,每个输入特征input feature会通过卷积得到3个不同的向量,它们分别是Query向量,Key向量和Value向量
计算机视觉注意力机制
得到的输出output如上公式,具体过程如下:
计算机视觉注意力机制
b multihead attention
计算机视觉注意力机制

2 Nonlocal

主要思想也很简单,CNN中的 convolution单元每次只关注邻域 kernel size 的区域,就算后期感受野越来越大,终究还是局部区域的运算,这样就忽略了全局其他片区(比如很远的像素)对当前区域的贡献。

所以 non-local blocks 要做的是,捕获这种 long-range 关系:对于2D图像,就是图像中任何像素对当前像素的关系权值;对于3D视频,就是所有帧中的所有像素,对当前帧的像素的关系权值。

对于输入x和输出y的关系,其中y与x大小一致:
计算机视觉注意力机制
其中f函数采用Embedded Gaussian
计算机视觉注意力机制
整个流程如下:
计算机视觉注意力机制
其中为了减少参数,对phi和g里面的H*W采用maxpool降低2倍