其他分享
首页 > 其他分享> > cv中的注意力机制论文:CBAM and BAM 阅读理解

cv中的注意力机制论文:CBAM and BAM 阅读理解

作者:互联网

BAM:
https://blog.csdn.net/xiewenrui1996/article/details/105760359

Abstract

我们提出了卷积-块-注意力-模块(CBAM),这是一种用于前馈卷积神经网络的简单而有效的注意力模块。 给定一个中间特征图,我们的模块会沿着两个独立的维度(通道和空间)依次推断注意力图,然后将注意力图与输入特征图相乘以进行自适应特征细化。 由于CBAM是轻量级的通用模块,因此可以将其无缝集成到任何CNN架构中,而开销却可以忽略不计,并且可以与基础CNN一起进行端到端训练。 我们通过在ImageNet-1K,MS COCO检测和VOC 2007检测数据集上进行的广泛实验来验证CBAM。
我们的实验表明,使用各种模型在分类和检测性能方面的持续改进,证明了CBAM的广泛适用性。 该代码和模型将公开提供。
关键字:对象识别,注意力机制,门控卷积

1 Introduction

卷积神经网络(CNN)凭借其丰富的表示能力,极大地推动了视觉任务的性能[1,2,3]。 为了提高CNN的性能,最近的研究主要研究了网络的三个重要因素:深度,宽度和基数。
到目前为止,从LeNet架构[4]到残差样式网络[5,6,7,8],对于丰富的表示,网络已经变得更加深入。 VGGNet [9]显示,具有相同形状的堆叠块可以得出合理的结果。 遵循相同的精神,ResNet [5]将残留块的相同拓扑与跳过连接堆叠在一起,以构建一个非常深的体系结构。 GoogLeNet [10]表明宽度是提高模型性能的另一个重要因素。 Zagoruyko和Komodakis [6]提出基于ResNet架构来增加网络的宽度。 他们表明,在CIFAR基准测试中,宽度增加的28层ResNet可以胜过具有1001层的极深的ResNet。 Xception [11]和ResNeXt [7]提出来增加网络的基数。 他们凭经验表明,基数不仅节省了参数的总数,而且还比其他两个因素(深度和宽度)具有更强的表示能力。
除了这些因素,我们还将研究体系结构设计的另一个方面,即注意。 注意的重要性已在先前的文献中进行了广泛的研究[12,13,14,15,16,17]。 注意不仅可以告诉我们关注的重点,还可以改善利益的表示。 我们的目标是通过使用注意力机制来提高表示能力:关注重要特征并抑制不必要的特征。 在本文中,我们提出了一个新的网络模块,名为“卷积块注意模块”。 由于卷积运算通过将跨通道和空间信息融合在一起来提取信息特征,因此我们采用我们的模块来强调沿这两个主要维度(通道和空间轴)的有意义的特征。 为此,我们依次应用频道和空间关注模块(如图1所示),以便每个分支机构都可以分别学习在频道和空间轴上参加的“内容”和“位置”。 结果,我们的模块通过学习要强调或抑制的信息来有效地帮助信息在网络内流动。
在ImageNet-1K数据集中,通过插入我们的微型模块,揭示了CBAM的功效,我们从各种基准网络中获得了更高的精度。
我们使用grad-CAM [18]可视化训练有素的模型,并观察到CBAM增强网络比其基准网络更正确地关注目标对象。 然后,我们进行用户研究,以定量评估模型的可解释性。 我们表明,使用CBAM可以同时实现更好的性能和更好的可解释性。 考虑到这一点,我们推测性能提升来自准确的关注和无关杂波的降噪。 最后,我们验证了MS COCO和VOC 2007数据集上目标检测的性能改进,证明了CBAM的广泛适用性。 由于我们已经精心设计了轻巧的模块,因此在大多数情况下,参数和计算的开销可以忽略不计。

Contribution

我们的主要贡献是三方面:
1.我们提出了一个简单而有效的注意力模块(CBAM),该模块可广泛应用于提高CNN的表示能力。
2.我们通过广泛的消融研究验证了我们的注意力模块的有效性。
3.我们证实,通过插入我们的轻量级模块,在多种基准(ImageNet-1K,MS COCO和VOC 2007)上,各种网络的性能都得到了极大的提高。在这里插入图片描述
图1:CBAM概述。 该模块具有两个连续的子模块:通道和空间。 中间特征图通过我们的模块(CBAM)在深度网络的每个卷积块上进行自适应调整。2

2 Related Work

Network engineering.
“网络工程”一直是最重要的视觉研究之一,因为精心设计的网络可确保各种应用中的显着性能提升。 自大规模CNN成功实施以来,已经提出了多种架构[19]。
一种直观而简单的扩展方法是增加神经网络的深度[9]。 Szegedy等。 文献[10]介绍了一种使用多分支架构的深层Inception网络,其中每个分支都是经过仔细定制的。 虽然由于梯度传播的困难而导致深度的单纯增加已经达到饱和,但是ResNet [5]提出了一种简单的身份跳过连接来缓解深度网络的优化问题。 基于ResNet架构,已经开发了各种模型,例如WideResNet [6],Inception-ResNet [8]和ResNeXt [7]。 WideResNet [6]提出了一种残差网络,该网络具有更多的卷积滤波器和更小的深度。 PyramidNet [20]是WideResNet的严格概括,其中网络的宽度逐渐增加。 ResNeXt [7]建议使用分组卷积,并表明增加基数会导致更好的分类准确性。 最近,黄等人。 [21]提出了一种新的架构,DenseNet。 它将输入要素与输出要素迭代地串联在一起,从而使每个卷积块都能从所有先前的块中接收原始信息。 尽管大多数最新的网络工程方法主要针对深度[19,9,10,5],宽度[10,22,6,8]和基数[7,11]这三个因素,但我们将重点放在另一个方面: 注意”,这是人类视觉系统的好奇面之一。
Attention mechanism.
众所周知,注意力在人类感知中起着重要的作用[23,24,25]。 人类视觉系统的一个重要特性是不会立即处理整个场景。 取而代之的是,人类利用一连串的部分瞥见,并选择性地专注于突出部分,以便更好地捕获视觉结构[26]。
最近,已经有一些尝试[27,28]并入注意处理以提高大规模分类任务中CNN的性能。 [27]提出了使用编码器-解码器样式注意模块的剩余注意网络。 通过细化特征图,网络不仅性能良好,而且对于嘈杂的输入也很健壮。 代替直接计算3d注意图,我们分解了分别学习频道注意和空间注意的过程。 用于3D特征图的单独注意力生成过程具有较少的计算和参数开销,因此可以用作现有的基础CNN架构的即插即用模块。
更接近我们的工作,胡等。 [28]介绍了一个紧凑的模块来利用渠道间的关系。 在其“挤压和激励”模块中,他们使用全局平均池化功能来计算渠道注意。 但是,我们表明这些是次优功能,目的是推断良好的频道关注度,因此我们建议也使用最大池化功能。 他们还错过了对空间的关注,这在[29]中所示的决定“聚焦”的位置上起着重要作用。 在我们的CBAM中,我们基于有效的体系结构同时利用了空间注意和信道注意,并通过经验验证了两者的使用优于仅使用信道注意的方法[28]。 此外,我们从经验上证明我们的模块在检测任务(MS-COCO和VOC)中有效。 尤其是,仅通过将模块放在VOC2007测试集中现有的单发检测器[30]之上,我们就可以实现最先进的性能。
同时,BAM [31]采用了类似的方法,将3D注意图推断分解为通道和空间。 他们将BAM模块放置在网络的每个瓶颈,而我们插入每个卷积模块。

3 Convolutional Block Attention Module(通用可用模块!!!)—>复现他

给定一个中间特征图F∈RC×H×W作为输入,CBAM依次推导一维通道注意图M c∈RC×1×1和二维空间注意图M s∈R 1×H×W如图1所示。 总体关注过程可以概括为:在这里插入图片描述
其中⊗表示逐元素相乘。 在乘法过程中,注意值会相应地广播(复制):频道注意值是沿空间维度广播的,反之亦然。 F’'是最终的改进后的输出。 图2描绘了每个注意力图的计算过程。 下面介绍每个注意模块的详细信息。

**Channel attention module.**通道注意力模块

我们通过利用特征的通道间关系来生成通道注意图。 由于特征图的每个通道都被视为特征检测器[32],因此通道注意集中于“对于输入图像而言有意义的”。 为了有效地计算频道注意力,我们 迄今为止,为汇总空间信息,通常采用平均池化在这里插入图片描述

图2:每个注意子模块图。 如图所示,通道子模块通过共享网络使用最大池输出和平均池输出。 空间子模块利用沿通道轴汇集的相似两个输出,并将它们转发到卷积层。

周等人建议使用它来有效地了解目标对象的范围,Hu等。 [28]在他们的注意力模块中采用它来计算空间统计量。 除了先前的工作,我们认为最大池化收集了关于独特对象特征的另一个重要线索,以推断出更精细的通道注意。 因此,我们同时使用平均池和最大池功能。 我们凭经验证实,利用这两种功能可以大大提高网络的表示能力,而不是单独使用它们(请参阅第4.1节),这表明了我们设计选择的有效性。 我们在下面描述详细的操作。

我们首先通过使用平均池和最大池操作来汇总特征图的空间信息,生成两个不同的空间上下文描述符:F c avg和F c max,分别表示平均池特征和最大池特征。 然后将这两个描述符转发到共享网络以生成我们的频道注意图在这里插入图片描述
。 共享网络由具有一个隐藏层的多层感知器(MLP)组成。 为了减少参数开销,将隐藏的激活大小设置为在这里插入图片描述
,其中r是缩小率。 将共享网络应用于每个描述符后,我们使用逐元素求和合并输出特征向量。 简而言之,频道关注度的计算公式为:在这里插入图片描述
其中σ表示sigmoid 激活函数,W 0∈R C / r×C,W 1∈R C×C / r。 请注意,两个输入均共享MLP权重W 0和W 1,并且ReLU激活函数后跟W 0。

Spatial attention module 空间注意力模块

我们通过利用要素之间的空间关系来生成空间注​​意图。 与频道注意不同,空间关注的重点是“哪里”是信息部分,是对频道注意的补充。 为了计算空间注意力,我们首先沿通道轴应用平均池和最大池操作,并将它们连接起来以生成有效的特征描述符。 沿通道轴应用合并操作显示出在突出显示信息区域方面是有效的[34]。 在级联特征描述符上,我们应用卷积层以生成空间注​​意力图M s(F)∈R H×W,该图对强调或抑制的位置进行编码。 我们在下面描述详细的操作。
我们通过使用两个池化操作来聚合特征图的通道信息,生成两个二维图:F savg∈R 1×H×W和F smax∈R 1×H×W。
每个表示通道中的平均池特征和最大池特征。 然后通过标准卷积层将它们连接起来并进行卷积,从而生成我们的2D空间注意图。 简而言之,空间注意力的计算公式为:在这里插入图片描述
其中σ表示S型函数,f 7×7表示卷积运算,滤波器大小为7×7。

Arrangement of attention modules.

给定一个输入imge图像,通道channel和空间spatial这两个注意力模块分别计算互补的注意力,分别关注“什么”和“何处”。 (想说什么??没冥明白哦)考虑到这一点,可以并行或顺序放置两个模块。
我们发现顺序串联排列比并行并联排列提供更好的结果。 对于顺序过程的安排,我们的实验结果表明,通道优先级比空间优先级略好。 我们将在Sec中讨论有关网络工程的实验结果。

4 Experiments 消融实验

在这里插入图片描述

图3:在ResNet中集成了ResBlock的CBAM [5]。 此图显示了将模块集成到ResBlock中时的确切位置。 我们在每个块的卷积输出上应用CBAM。
在这里插入图片描述
在这里插入图片描述

56 总结结论

我们介绍了卷积块注意模块(CBAM),这是一种提高CNN网络表示能力的新方法。 我们将注意力集中的特征细化与两个独特的模块(通道和空间)结合使用,在保持较小复杂度的同时,实现了可观的性能改进。
对于channels关注,我们建议同时使用最大合并功能和平均合并功能,从而产生比SE更好的注意力[28]。
我们通过利用spatital注意力来进一步提高性能。 我们的最终模块(CBAM)学习有效强调或压抑和压制中间特征的内容和位置。 为了验证其有效性,我们使用各种最新模型进行了广泛的实验,并确认了CBAM在三个不同的基准数据集:ImageNet1K,MS COCO和VOC 2007上均优于所有基准。此外,我们还对模块的外观进行了可视化 准确推断给定的输入图像。 有趣的是,我们观察到我们的模块促使网络正确地关注目标对象。 我们希望CBAM成为各种网络体系结构的重要组成部分。

标签:卷积,CBAM,我们,注意,模块,BAM,cv,注意力
来源: https://blog.csdn.net/weixin_45032769/article/details/110092923