理论说明
其他方法的不足:
-
之前的方法使用多层特征融合、LSTM、graph来获取特征依赖的方法效率低
-
如果嵌入的上下文是已经探索过的(就是经过了不少卷积层吧),重要的、显眼的物体特征影响会不显眼的物体的特征,从而影响识别
在卷积,池化的过程中,不显眼的特征逐渐被显眼的特征取代,所以下手的话要在最开始的地方下手?
DANet优点:
-
作者的方法能有选择性的融合不起眼的物体的相似特征,让这个特征更明显,以此来避免显眼的物体的影响
不起眼的物体的单独的力量是渺小的,可能也不突出,但是经过全部特征加权求和之后,所有的不起眼的物体的特征都会变得显眼。
但是,那些salient物体的特征也会更显眼啊?如此的话环境的影响似乎变淡 了,因为相似的物体少
不同的特征都在不同的channel上,每个通道管一些特征,加注意力后这些特征会更明显? -
检测不同的尺度需要的特征是一样的,作者的方法从全局的角度适应性的融合任何scale的相似特征
作者的网络中没有类似多尺度的东西,只是用两个注意力模组就获得了很好的结果,到底为什么还不知道
方法说明
作者将这两个注意力模块加到了处理场景分割的网络中,网络流程为:
- 图片先经过RseNet处理,在最后两个ResNet block中,移除下采样,使用空洞卷积,这样就能保留更多细节,并且不增加额外参数
- 然后将这些特征送到两个平行的注意力模组中处理,将两个注意力模组的内容融合,进一步提高特征的表示,来得到更精确的结果
- 融合的特征送入膨胀FCN中,整个网络结束。
两个注意力模块分别在位置和通道上起作用,注意力模块的操作分三步进行:
- 生成一个通道(位置)注意力矩阵来给特征的任意两个通道(位置)的空间关系建模
- 然后让原来的特征和注意力矩阵做矩阵乘法
- 残差(加上原本的特征x)
通道可以看作特定类的响应。
注意力模组公式:
设定输入到注意力模组的特征是 A ∈ R C × H × W A \in R^{C\times H \times W} A∈RC×H×W:
x j i = e x p ( A i ⋅ A j ) ∑ i = 1 C e x p ( A i ⋅ A j ) x_{ji} = \frac{exp(A_i \cdot A_j)}{\sum^C_{i=1} exp(A_i \cdot A_j)} xji=∑i=1Cexp(Ai⋅Aj)exp(Ai⋅A