网络模型配件 Dual Attention Network for Scene Segmentation 学习笔记

目录

Motivation

Position attention module

Channel attention module


在目前的场景分割任务中,为了能够捕获丰富的上下文信息,提高分割结果的准确度,常见的方法大多是对顶端feature map进行不同尺度的特征提取,最后整合到一起,典型的例如ASPP方法;而在这篇论文中,作者提出了一种别样的思路,与scSE有着异曲同工之妙:通过探索空间与通道中各自的内部相关性,捕获丰富的上下文信息。

  • Motivation

作者针对现在的场景分割模型中,对于容易混淆的物体,或者拥有各种不同表现形式的同一物体,难以正确识别的问题,提出了一种类似scSE,与常见多尺度特征提取不同的解决办法——position attention module and channel attention module。前者根据feature map中任意一点与其他所有点之间的相关性,通过加权和,将每个点与其的相关性的乘积组合起来,增强位置信息之间的联系,而后者也是基于同样的思考,根据任意通道与其他通道的相关性,通过加权和,将每个通道与其的相关性的乘积组合起来,增强通道信息之间的联系,最后将两个模型产生的feature map逐元素相加,得到最终的结果。

作者认为他们引入了一种自注意机制,可以捕获在空间和通道上的视觉特征依赖性,从而提高分割结果的精确度。

网络模型配件 Dual Attention Network for Scene Segmentation 学习笔记_第1张图片

上图是整个模型的Overview,可以理解为增强ResNet分割结果的一个网络模型配件,它对源自ResNet顶端的feature map进行处理,平行输入到position attention module和channel attention module中进行处理,在输入两者之前,会经过一个普通的卷积层,主要作用是将feature map的通道数降低;经过两个attention map后,得到的两个结果进行逐元素相加,最后通过一个卷积层,输出预测图。

  • Position attention module

网络模型配件 Dual Attention Network for Scene Segmentation 学习笔记_第2张图片

上图是position attention module的图解。对于输入的C\times H\times W的feature map,首先通过带有BN和ReLU的普通卷积层,生成\left \{ B,C,D \right \}\in \mathbb{R}^{C\times H\times W},然后将它们reshape成\mathbb{R}^{C\times N},这里N= H\times W,之后用转置后的BC进行矩阵乘积,得到的结果\mathbb{R}^{N\times N}通过一个softmax分类器,最终得到S\in \mathbb{R}^{N\times N},即为空间spatial attention map:

上面的公式是spatial attention map中每一个元素的数学表达式,s_{ji}的意义是第i个位置对第j个位置影响程度,因为这里有N= H\times W,所以在S\in \mathbb{R}^{N\times N}中,一个位置由二维表示,变成了一维表示。

之后我们将S转置后与D进行矩阵乘积,得到的结果再乘以一个尺度系数,最后reshape回\mathbb{R}^{C\times H\times W},与最初的feature map A逐元素相加,得到输出结果E\in \mathbb{R}^{C\times H\times W}

\alpha在这里是尺度系数,初始值设为0,通过学习逐渐增大,可以从公式中看出,最终结果里的每一个位置的数值,都是在原始数值的基础上,增加了一个其他位置对该位置影响程度的加权和。

  • Channel attention module

网络模型配件 Dual Attention Network for Scene Segmentation 学习笔记_第3张图片

这是channel attention module的图解,与position attention module的思路基本是一致的,区别在于,最初的A不在通过带有BN和ReLU的普通卷积层,而是直接平行输入,应用到模型之中去,A经过reshape和reshape加上转置进行矩阵相乘,通过一个softmax,最后得到X\in \mathbb{R}^{C\times C},之后将XA进行矩阵相乘,得到的结果乘以一个尺度系数\beta,最后与原图A逐元素相加,得到最终结果E\in \mathbb{R}^{C\times H\times W}

网络模型配件 Dual Attention Network for Scene Segmentation 学习笔记_第4张图片

上面两个公式分别是X\in \mathbb{R}^{C\times C}E\in \mathbb{R}^{C\times H\times W}中,每个元素的数学表达式。

将两个模型产生的结果进行逐元素相加,最后通过一个卷积层,输出预测图,就是整体模型的思路。

作者认为,它们的模型可以附加在很多网络模型的后面,能够显著提高模型效果,却不会增加过多的参数。

你可能感兴趣的:(网络模型配件 Dual Attention Network for Scene Segmentation 学习笔记)