双支路注意力特征融合的卷积稀疏编码目标检测

2024-04-23 04:35杨昶楠张振荣郑嘉利曲勃源
计算机工程与设计 2024年4期
关键词:注意力卷积编码

杨昶楠,张振荣+,郑嘉利,曲勃源

(1.广西大学 计算机与电子信息学院,广西 南宁 530004;2.广西大学 广西多媒体通信与网络技术重点实验室,广西 南宁 530004)

0 引 言

目前,计算机视觉技术愈发成熟,深度学习模型在数据集上的表现也更加卓越[1-4],然而在实际应用中,视觉模型并不能很好适应复杂多变的实地场景,如在各种的噪音干扰下,模型性能会出现较为严重的退化现象[5,6]。

为了能够解决目标检测模型对于噪音敏感的问题,相关研究结果表明[7-10]可以引入稀疏建模(sparse moding)与卷积相融合的方式来得到改善。其核心思想是:基于图像信息的可稀疏性和噪音的稀疏性。通过构建可学习的稀疏字典[11]将图像信息与噪音区分开,过滤掉噪音后就能保留有效的图像信息从而完成重构。Sun等[12]构造了宽窄两种专门的稀疏字典互补网络做到了显著减少可学习参数的数量的同时不会导致网络性能的损失。Xili Dai等[13]提出的SD-Net,将稀疏编码封装到了传统卷积网络的隐式层中[14],实现了稀疏建模与卷积层的有效融合,极大节省了训练成本。上述方法都验证了稀疏编码处理噪声数据的独特优势,但还未能在更复杂的目标检测任务中验证稀疏编码的潜力。

为了更好地提升稀疏编码在检测任务上的性能,本文在CenterNet[15]的基础上提出了一种注意力机制与卷积稀疏编码(convolutional sparse coding,CSC)相结合的目标检测框架。本文主要贡献如下:①针对卷积稀疏编码的缺点专门设计了一种新的双支路注意力特征融合(double branch attention feature fusion,DBAFF)模块,该模块分别对传统卷积后的特征信息和卷积稀疏编码后的特征信息进行加权融合,实现互补学习,有效提高检测精度。②在SD-Net的基础上,对卷积稀疏编码去噪模块进行了改进:使用空洞卷积替代传统卷积,保证分辨率的同时扩大了感受野。本文与其它方法相比,检测精度更高,并且能保持较低的复杂度。

1 本文方法

1.1 DBAFFNet框架

为了使去噪模块提取的图像特征更好地转变为有效信息,基于CenterNet的结构,在去噪模块前后两条支路里嵌入了DBAFF模块将去噪特征与原始模糊特征相结合,解决双模态之间的语义信息不一致的问题,还能进行互补学习,获取更好的细节。如图1所示,展示了双支路注意力特征融合网络DBAFFNet的主要结构。

图1 DBAFFNet结构

该网络包含了3个主体部分,分别为卷积稀疏编码去噪模块(CSC)、双支路注意力特征融合模块(Fusion)和残差块(Resblock)。本框架的特点是在输入处分出两条支路,一条支路与原网络一致,另一条经过卷积稀疏编码去噪模块,输出维度一致的特征图,最终两条支路汇入DBAFF模块中实现特征融合。

1.2 去噪模块

稀疏表示的含义是用尽可能少的字典原子(Atom)就可以完整表达原信号。为了能达到少量(稀疏)的效果,基向量(字典)都应该是过完备[16]的,且这些过完备向量一般不具备正交等性质。图2描述了三维图像稀疏表达过程。基向量A=[a1,…,aM], 也被称为字典;稀疏表达系数z=[z1,…,zM], 称为输入样本的编码。

图2 稀疏表达

本模块参考了SD-Net中使用Fista迭代算法[16]的卷积稀疏编码层(CSC)。其核心思想是将稀疏建模以神经网络的隐式层的形式引入,基于此,该隐式层权重参数可跟随神经网络的训练得到动态更新,并且该层的输出就是稀疏编码的解决方案。其目标函数如式(1)所示

(1)

其中,conv.A(·) 为卷积算子[13],可由Pytorch库实现。λ是稀疏约束系数,由于过完备字典的原因,会有无穷种方式(线性组合)能够对输入信号进行表示,因此使用过完备字典时必须有稀疏约束。本文的稀疏约束系数设置为0.1。

本模块还将传统卷积替换为5×5、膨胀率为3的空洞卷积[17]。更大卷积核意味着可以获得更多的信息,但也增大了训练难度。而空洞卷积在不增加参数和模型复杂度的条件下,扩大了卷积核的感受野,可以检测分割大目标,又能更准确地定位目标,还能保证分辨率。本文使用的5×5大小,膨胀率3的空洞卷积在参数上比原方法7×7卷积更小,但是却等效于传统13×13卷积核,有效提升了去噪模块提取信息的能力。

1.3 双支路注意力特征融合(DBAFF)模块

为了改善单一去噪模块不够稳定的缺陷,本文提出了DBAFF模块,实现了去噪图像与原图像双支路特征的融合,便于后续的目标检测。其结构如图3所示,包含了通道增强模块(channel enhancement model,CEM)和空间增强模块(spatial enhancement model,SEM)。其中CEM主要是针对去噪模块进行的一种注意力机制改善,使其能更好地关注稀疏化后的特征信息。SEM则是对原图像特征Fn和去噪图像特征Fd的特征融合,获得融合特征图Ffuse, 改善了稀疏编码后语义丢失的问题。基于此,可以使检测模型在噪音数据集上获得更好的训练,并且在干净数据集上也能表现出优良的性能。接下来分别对CEM和SEM的结构进行说明。

图3 DBAFF模块结构

(1)通道增强模块

由于过完备字典中字典原子个数远大于特征维度,如图3所示,即列数远大于行数,也就说明字典里包含了更多其它维度的信息,也就造成卷积稀疏编码层的输出特征会倾向分布在更广的维度中。而在CNN中特征的每一个通道(维度)都代表着一个专门的检测器,所以需要一种机制来关注什么样的特征是有意义的。受Wang等[18]工作的启发,本文提出了改进的高效通道注意力(improved efficient channel attention,IECA)机制。其结构如图3中的CEM所示。与ECA[18]不同的是,添加了全局最大池化层的支路,更关注纹理信息,有利于对象的检测。并且在多层感知机(MLP)部分将激活函数由Relu改为PRelu。这是由于Relu激活函数会剔除小于零的特征值[19],造成语义丢失,所以改用PRelu来给这部分小于零的特征信息加上一个可学习的系数,以保留有用的信息,更有利于模型的学习。

通道增强模块单元具体实现步骤如下:

经过去噪模块后会生成特征图Fd∈C×H×W, 先沿空间维度分别使用最大池化(Maxpool)和平均池化(Avgpool),然后分别经过一个改进的多层感知机(P-MLP),通过自适应的一维卷积捕获不同通道之间的信息,然后将两边输出的特征逐点相加,再经过sigmoid激活函数获得通道注意权重,最后再与特征图Fd做逐元素乘法,就实现了通道注意力机制,得到融合特征图Mc。 上述过程可用式(2)、式(3)表达

F′d=fprelu(fbn(fconv(Avgpool(Fd)+Maxpool(Fd))))

(2)

Mc=σ(F′d)

(3)

(2)空间增强模块

Hu等[20]的工作表明了通过搭建通道之间的相互依赖性可以提高网络的表达质量,选择性强调特征信息的同时抑制无用的特征,但是这类方法忽略了空间位置信息的重要性。Woo等[21]的工作将通道注意力和空间注意力串联起来,能做到通道和空间两者兼顾,进一步提高了网络性能,但是此类方法无法捕捉图像信息的长距离依赖关系[22]。为了使原图像和去噪图像两模态获得更好的特征互补学习,加入了空间增强模块SEM。如图3中的SEM部分所示。受坐标注意力(coordinate attention,CA)机制[23]启发,设计了空间位置信息融合进通道注意力的机制,将通道注意力分解为并行的两个分别基于图像长(H)、宽(W)的特征编码,由此获得特征图沿一个空间方向的长距离依赖关系,有效地将空间信息保留在通道注意力中,并且仅增加了极少的计算开销。本文模块与CA机制不同之处在于:①将全局平均池化替换为了全局最大池化。这是由于本模块添加在特征网络的浅层,需要保留主要特征,突出前景,获取目标的纹理信息。②先将两个空间方向的特征融合获得特征图Fz, 再使用sigmoid函数加权用于自适应选择双模态中的有效信息。

具体步骤分为3个部分:

(1)空间信息嵌入。由于要从两种变换沿空间方向进行聚合特征,于是需将原图像特征Fn∈C×H×W和去噪图像特征Fd融合获得Ft, 然后分别在长、宽方向对融合特征进行最大池化,即使用尺寸为(H,1)或(1,W)的池化核(pooling kernel)分别沿着水平坐标和垂直坐标对每个通道(c)进行编码。从而能够捕捉两个方向的距离依赖关系。公式如下

(4)

(5)

(2)生成融合注意力。空间信息嵌入之后,获得两个方向的特征向量,之后通过拼接(concat)操作,具体来说,就是使每一特征的信息量保持不变但描述图像的通道数增加了,从而获得更丰富的语义信息;再通过1×1卷积降维、BN层和PRelu激活函数来减少模型复杂度,获得特征Ftmp∈C×1×(H+W); 随后通过分离操作再获得两个方向的特征向量,分别经过自适应的1×1卷积还原特征向量维度,最后再通过逐元素乘法得到与原图像特征、去噪图像特征维度大小一致的特征图Fz∈C×H×W。 具体操作如下

Ftmp=fprelu(fbn(fconv([hc,wc])))

(6)

(7)

(3)最优特征信息选择。使用sigmoid函数对特征Fz加权,生成注意力权值特征图Fatt和1-Fatt, 通过与原图像特征Fn和去噪图像特征Fd进行逐元素点积操作,由此可以自适应选择更优的特征信息,剔除无用信息,具体操作如下

Fatt=σ(Fz)

(8)

(9)

最后,双模态的最终融合特征Ffuse可由下式获得

Ffuse=Fk+FL

(10)

2 实验与分析

2.1 数据集和评价指标

(1)数据集

VOC-Noisy数据集:在PASCAL VOC数据集[24]基础上使用Skimage库添加3种合成噪音,分别是高斯(gaus-sian)、泊松(poisson)、散斑(speckle)。VOCN-tr是在VOC07+VOC12的训练分割(共16 551张图片)基础上抽取其中的2/3的数据图片添加随机强度的随机噪音(类型限定为上述3种之内)作为训练集;VOCN-te是在VOC07的测试分割(共4952张图片)基础上随机抽取其中的1/3添加固定强度的噪音,有3个子集:VOCN-te-G、VOCN-te-P、VOCN-te-S,分别对应3种噪音类型。评估时取3种噪音的平均值。数据集样本示例如图4所示。

图4 添加了噪音的数据集样本

(2)评价指标

2.2 实验环境与训练参数

本文的实验均在一台搭载了Intel i7-13700K CPU和一块NVIDIA GTX3090 GPU的深度学习服务器上进行。操作系统为Windows10,采用Pytorch深度学习框架,所用的依赖库及驱动包括了numpy1.20.2、CUDA11.6和CUDNN11.x等。总训练轮次(epoch)设置为100;批量大小(batch size)设置为16;输入图像大小设置为512×512;使用余弦退火的优化策略;优化器选用的是Adam且初始学习率为0.005,动量为0.92。在数据增强上,采用了仿射变换warpAffine,对原图中进行裁剪,然后缩放到512×512的大小。

2.3 消融实验

为了探究DBAFF模块对于整个检测网络的影响,本节在VOC-Noisy数据集上以不同种类注意力机制和DBAFF模块中不同组件所起作用这两个方面来对本文方法的先进性进行综合评估。

(1)不同种类注意力机制组件对目标检测结果影响

表1中将本文方法与SE注意力机制、ECA注意力机制、CBAM注意力机制这3种主流方法作对比。具体步骤为:在SDNet-CenterNet的框架基础上,保留DBAFF中的SEM模块,将CEM模块分别替换为SE模块、ECA模块;随后保留CEM模块将SEM模块替换为CBAM模块。可以看出,DBAFF模块比使用全连接加权的SE性能提升了6%,比只使用全局平局池化的ECA性能提升了5%,说明了CEM模块能更好地处理去噪后的稀疏特征信息。而相比于CBAM模块,性能更是提升了9%,说明了双支路融合且嵌入空间信息的SEM模块能比CBAM获得更全面的图像空间信息,进而提高了检测精度。

表1 不同注意力机制对于目标检测结果的影响

(2)DBAFF模块中单组件对目标检测结果的影响

为了进一步探究DBAFF模块中单组件对性能的影响,见表2。仅CEM单元的模型使用级联方式替代SEM实现双支路融合,与DBAFF(SEM+CEM)相比,性能下降了3%以上,下降最为严重,说明了SEM对于双模态的融合有重要的作用。而在仅包含SEM单元的变体模块中,虽然FPS有所提升,但是精度上与DBAFF(SEM+CEM)相比依然有所差距,特别是在mAP50中低了0.7个百分点,说明了CEM模块在融合前对于去噪图像的处理,有助于保留更多的语义信息。

表2 融合模块单个组件对目标检测结果的影响

2.4 与其它方法的性能比较

本节在VOC-Noisy数据集和VOC原数据集上制定了3种不同的训练策略用于验证本文方法的有效性:直接数据集训练(Direct);单一去噪模块训练(Denosing);去噪模块与本文DBAFF模块联合训练(Union)。具体见表3。为了全面比较,本节用VOC-te测试集来验证在VOC-Nosiy数据集上训练的网络;用VOC07测试集来验证在原VOC数据集上训练的网络。

表3 不同算法基于3种策略分别在VOC-Nosiy、VOC数据集上性能比较

表3中详细给出了在两种数据集中3种策略下检测性能的状况,可以看出本文的算法在噪音测试集VOCN-te中获得了最高的mAP50、mAP75和mAP。在噪音数据中,对比直接训练,本文方法性能比原网络提高了16%以上;对比单一去噪网络,本文方法性能提高了10%以上;而在原数据集中,可以看出单一去噪网络的性能对比原网络都发生了一定的退化,这表明了卷积稀疏编码的去噪模块会丢失一部分语义信息。而本文方法有效弥补了这一缺陷,在原数据集上的性能基本没有变化,甚至在mAP50指标上还比原网络提高了0.2个百分点。

2.5 与其它方法复杂度比较

为了进一步探索DBAFF算法性能,表4中对Faster-RCNN、YOLOv3、SSD、原CenterNet网络、单一去噪CenterNet+SDNet网络和本文CenterNet+DBAFF网络进行算法复杂度和检测速度比较。

表4 在网络参数、计算复杂度、检测速度和mAP50方面性能的比较

由表4可以看出,SSD算法属于轻量级算法,在参数量和计算复杂度上都表现出了最好的效果,但是在检测性能上就较为落后;Faster-RCNN是二阶段算法,在检测精度上还有一定优势,但计算太过复杂,并且检测速度最低。本文算法在参数量上与原网络差别不大,但是检测速度上提高了1帧,性能也得到较大的提高,也验证双特征融合的注意力机制是轻量级的,并不会过度增加模型的复杂度。在实用部署中,通过硬件优化还能获得进一步的提升。

2.6 可视化比较

如图5所示,本文对比了原网络、单一去噪网络和本文方法的实际检测效果。如图5(a)中,在高斯噪声的影响下对比原网络和单一去噪网络,可以看出本文方法能够更精准地识别更远端的轿车等小目标且保持了更高的mAP指数。如图5(b)、图5(c)中,在泊松和散斑噪声影响下,对于一些位置大量重合的目标,原网络与单一去噪网络都未能识别,而本文方法依旧可以精准定位。这些都表明了本方法在对加性噪声的干扰下具有更好的鲁棒性。

图5 与原网络、单一去噪网络在VOC-Nosiy数据集上的比较

3 结束语

本文针对卷积稀疏编码的目标检测网络性能不够理想的问题,提出了结合原图像和去噪图像双支路特征融合的注意力机制DBAFF。在特征提取过程中,利用注意力融合机制,分别将去噪网络通道上的特征和原图像的空间上的特进行互补学习,有效弥补了去噪网络中丢失的有用信息,进一步提高检测精度。实验结果表明,本文方法在加性噪声的干扰下,对于小目标和重合目标的检测表现出了更优秀的性能。未来的研究工作是致力于网络轻量化,将其移植入嵌入式平台,进一步应用到实践当中。

猜你喜欢
注意力卷积编码
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
从滤波器理解卷积
Genome and healthcare
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things