融合双重注意力机制的目标检测模型研究

2023-03-17 07:28武德彬刘笑楠刘振宇
无线电工程 2023年3期
关键词:浅层尺度注意力

武德彬, 刘笑楠, 刘振宇, 洪 军

(沈阳工业大学 信息科学与工程学院, 辽宁 沈阳 110870)

0 引言

近年来,随着深度学习的快速发展,基于深度学习的目标检测技术日益成熟并应用在实际场景中。主要可以分为以 Single Shot MultiBox Detector(SSD)[1],YOLO[2-3]系列为代表的一阶段目标检测和以Faster R-CNN[4]为代表的二阶段目标检测算法。 其中,SSD 算法尽管可以生成多尺度特征,但是整个单向卷积的过程造成每种尺度缺乏相应的语义特征信息,从而导致传统SSD 算法对于普通的目标检测以及小目标检测效果都不理想,故许多研究者针对SSD 算法存在的问题提出了改进。

针对传统SSD 算法未充分利用各特征层之间关系的问题,Li 等[5]提出了利用多尺度特征融合的手段增强了SSD 算法浅层特征层之间的联系,从而提高SSD 算法对目标的检测能力。 Fu 等[6]使用ResNet-101 网络作为主干网络并结合转置卷积进行特征融合,以提高检测目标的准确率。 通过利用特征金字塔网络(Feature Pyramid Network,FPN)[7]进行多尺度特征融合,吴鹏飞等[8]提出了一种高准确率的改进SSD 算法。 为了不引入大量参数和过多计算量,叶召元等[9]提出了一种高效特征融合方式改进传统SSD 算法。 此外,也有研究者使用注意力机制加强关键信息的权重,从而增强目标检测能力。许光宇等[10]通过在深层网络层引入空间通道注意力机制增强了深层特征层的语义信息,进一步提高获取目标细节与空间位置信息的能力。 而李本高等[11]采取融合特征金字塔和残差注意力机制的方式,提高特征图的表征能力,充分利用上下文信息以提高对目标特征信息的提取能力。 李琳等[12]、李杰等[13]以及刘笑楠等[14]使用改进的特征融合方式,以提高算法检测能力。

虽然上述方法在一定程度上解决了传统SSD 算法目标检测效果不够好的问题,但是最深层特征层已经具备充足的语义信息,而将最深层特征层的语义信息进行上采样与浅层特征层特征信息进行融合会造成特征信息模糊的问题,从而导致检测效果提升不显著的情况。 故根据上述问题,本文提出了一种Dual Attention Single Shot MultiBox Detector(DA-SSD)算法,引入一种新的融合策略——并行残差特征金字塔网络(Parallel Residual Feature Pyramid Network,PRFPN),通过使用这种融合策略对浅层特征层进行浅层语义信息增强。 此外,还提出了一种双重注意力机制(Dual Attention Mechanism,DAM),将通道注意力机制与空间注意力机制混合使用,从而加强算法对目标关键特征信息及空间位置信息的获取,进一步加强了改进算法对目标的检测效果。

1 SSD 算法

传统SSD 算法网络结构如图1 所示,以VGG16作为主干特征提取网络,在将其Fc6 和Fc7 两个特征层替换为卷积层之后,继续添加4 个卷积层Conv8_2,Conv9_2,Conv10_2 和Conv11_2,加 上VGG16 中的Conv4_3 共7 个不同尺度的特征图。然后将除Fc6 层外的6 个特征层进行多尺度特征检测,在生成一定数量的先验框之后通过使用非极大值抑制筛选符合要求的预测框,最终得到目标预测框和类别信息。

图1 SSD 算法网络结构Fig.1 SSD algorithm network structure

2 DA-SSD 算法

原始SSD 算法浅层特征层包含大量空间位置信息,但是缺乏特征语义信息,而深层特征层经过大量卷积后包含丰富的语义信息,但由于SSD 算法检测过程是单向的,故浅层特征层对目标检测效果不够好。 而本文提出的DA-SSD 模型可以有效解决上述问题,其结构如图2 所示。

图2 DA-SSD 算法网络结构Fig.2 DA-SSD algorithm network structure

在原始SSD 算法的基础上,首先将特征图输入大小设为300 pixel×300 pixel,并分为38×38,19×19,10×10,5×5,3×3,1×1 共6 个尺度的特征层。 其次,为了避免深层特征信息在上采样过程中造成信息损失,将Conv4_3,Fc7,Conv8_2 三个特征层输入到PR-FPN 多尺度特征提取网络中,通过建立中间层与浅层特征层不同尺度的特征信息关系,在保留深层与中间层语义信息的同时,增强了浅层特征层对目标的检测能力。 然后,为了进一步增强浅层特征层对语义信息的获取,以及深层特征层的语义信息和空间位置信息,在6 个特征层后使用DAM 注意力机制加强每个特征层对关键信息的学习。 最后,输出多尺度特征图到检测器中,经过非极大值抑制获得最终的预测框以及类别信息。

2.1 PR-FPN 多尺度特征融合网络

对比原SSD 算法,添加了PR-FPN 多尺度特征融合网络,结构如图3 所示。 首先,将Conv4_3,Fc7,Conv8_2 三个特征层分别进行3×3 卷积进行多尺度特征提取。 其次,将卷积后的Conv8_2 特征图进行2 次双线性插值上采样和3×3 卷积,并与卷积后的Conv4_3 和Fc7 特征图进行Concat 特征通道拼接,构成多尺度特征融合。 然后,将融合后的特征图构成一个自下向上的Concat 拼接路径,旨在加强中间层的上下文信息。 通过将在Conv8_2 层融合的新特征图直接再与Conv4_3 层构成Add 直连结构,进一步加强浅层特征层的语义信息,并生成3 个新特征图。 接着,为了增强多尺度特征融合的语义信息,将最初经过3×3 卷积的Conv4_3,Fc7,Conv8_2 特征图与3 个新特征图构成Add 残差直连结构。 最后,将3 个通过Add 后的新特征图进行1×1 卷积平滑特征,生成最终的3 个新特征图。

图3 PR-FPN 结构Fig.3 PR-FPN structure

2.2 DAM 双重注意力机制

为了进一步加强浅层特征层的特征语义信息、中间层的全局上下文语义信息以及深层特征层对细节信息的获取,使用一种双重注意力机制DAM 增强对上述信息的学习,具体结构如图4 所示。

图4 DAM 双重注意力机制结构Fig.4 DAM Structure with dual attention mechanism

该结构分为3 条注意力分支,其中2 条为通道注意力,一条为空间注意力的分支。 在图4 上方的通道注意力分支中,首先,将原特征图x进行全局平均池化(AvgPool)提取全局语义信息并把通道中的特征大小压缩为[1,1],得到Sa。 其次,通过使用2 个全连接层建立通道间的关系,生成一个权重值[1,1,c],得到Sf。 最后,将生成的权重值归一化并加权到原始特征图的每一个通道的特征上,即原始特征图乘以权重值得到Sc,从而生成对关键语义信息加权的新特征图。 表达式如下:

在中间的通道注意力分支中,首先,将原特征图x分别进行全局最大池化(MaxPool)和AvgPool,目的是进行维度的压缩并获取全局语义信息。 然后,将特征输入到多层感知机MLP 中,分别得到通道特征信息Mmax和Mavg。 接着,将2 种池化后的特征参数相加并经过Sigmoid 激活函数归一化,得到一个特征信息权重M。 最后,将得到的权重与原特征图进行加权相乘,提高关键语义信息的权重Mc。 整个过程可表达为:

而下方的空间注意力则是先将原特征图x分别经过MaxPool 和AvgPool,并进行Concat 特征通道拼接,旨在从通道维度对特征图进行空间上的处理,获取空间位置信息,得到特征图M。 然后,通过卷积融合特征信息并使用Sigmoid 激活函数对空间域的权重归一化。 最后,将空间域权重与原特征图相乘得到新特征图Ms:

然后,将得到的2 个新特征图Mc和Ms加权相加,再与上方的通道注意力分支得到的新特征图Sc加权相加并使用LeakyReLU 激活函数加快训练收敛速度,该函数相比ReLU 函数可以保存更多的特征信息。 最终得到经过DAM 双重注意力机制的新特征图。

3 实验与分析

3.1 实验环境、实验数据集及评价指标

本文实验所使用的实验环境为:显卡为NVIDIA GeForce RTX3060,显存为12 GB,编译环境为python3.8,所使用的框架为pytorch1.8.0。

算法使用的实验数据集为官方发布的PASCAL VOC2007 和PASCAL VOC2012 数据集,共涵盖飞机、自行车、鸟、船、瓶子、公交车、小轿车、猫、椅子、牛、餐桌、狗、马、摩托车、人、植物、羊、沙发、火车和电视这20 个类别。 训练所采用2 个数据集的trainval 部分,共16 551 张图片,并在PASCAL VOC 2007test 数据集4 952 张图片上进行测试。

实验采用平均精度均值(mean Average Precision,mAP)评价检测精度和单类别平均检测精度(Aerage Precision,AP)作为评价指标:

式中,P为不同阈值下的检测精度;r为阈值大小;N为类别总数量。

3.2 训练过程及分析

实验采用SGD 优化器进行训练,batch size 设为16,训练116 个周期共迭代120 000 次。 将初始学习率设为0.001,权重衰减参数设为0.000 5。 学习率在第80 000 次下降为0.000 1,在100 000 次下降为0.000 01。 DA-SSD 算法与SSD 算法训练损失曲线如图5 所示,可以发现DA-SSD 损失值不但低于原始SSD 算法,并且收敛速度快于原始SSD 算法。

图5 损失函数曲线Fig.5 Loss function curve

3.3 实验结果及分析

本文算法DA-SSD 与一些主流算法的性能比较如表1 所示,输入为300 pixel×300 pixel。 可以发现DA-SSD 算法检测精度达到了79. 0%,超过表中其余所示算法。 相较于两阶段目标检测算法Faster R-CNN[4]在VGG16 和ResNet-101 两种不同主干网络下的检测精度远远领先。 同时也远超过单阶段目标检测算法YOLOv1[2]和YOLOv2[3]的检测精度。对比原始SSD[1]算法,DA-SSD 算法检测精度提高1.8%。 此外,DA-SSD 算法检测也超过了大部分SSD 改进算法。 其中,虽然DSSD 算法[6]采用Res-Net-101 深层网络作为主干网络,但是网络越深特征信息也会有一定损失。 而FSSD[5],RSSD[13]和文献[9]以及文献[15]尽管采用了不同的特征融合策略,但是根据实验结果进一步证明了本文算法特征融合策略的有效性。 文献[10]虽然采用了一种空间通道注意力机制,但是仍未考虑各特征层之间的上下文信息联系,而DA-SSD 算法在引入DAM 双重注意力机制的同时,使用PR-FPN 增强特征层之间的联系,故本文算法检测效果优于该文献提出的算法。 文献[11]虽然采用了残差注意力和融合模块,但是本文算法检测能力更强。

表1 在PASCAL VOC2007 测试集本文方法与其他方法对比Tab.1 Comparison of this method with other methods on PASCAL VOC2007 test set

为验证PR-FPN 多尺度特征融合网络的有效性,本文将该方法与FPN,PANet 以及文献[16-17]中的MFFM 多尺度融合策略进行实验对比,如表2所示。 可以看出相较于表中算法,PR-FPN 多尺度特征融合网络的检测性能最好。

表2 不同特征融合网络算法检测性能对比Tab.2 Comparison of detection performance of different feature fusion network algorithms 单位:%

本文还进行了消融实验,证明PR-FPN 多尺度特征提取网络和DAM 双重注意力机制的有效性,如表3 所示。 首先,在使用PR-FPN 多尺度特征提取网络增强浅层语义信息特征提取能力后,检测精度较原始SSD 算法提高了1. 8%。 然后,为了增强6 个特征层对通道语义信息和空间位置信息获取的能力,在此基础上添加DAM 双重注意力机制,检测精度提高到79.0%,进而证明了算法的有效性。

表3 消融实验Tab.3 Ablation experiment单位:%

此外,实验还将原始SSD 算法的计算量与参数量进行对比,如表4 所示。 虽然参数量与计算量都有所提高,但是根据性能对比实验,本文算法有显著的提高。 综上考虑,本文算法具有良好的检测性能。

表4 算法参数对比Tab.4 Comparison of algorithm parameters

为了进一步证明DA-SSD 算法的有效性,实验还将Faster R-CNN,SSD,DSSD 以及文献[9-11]与文献[18]进行数据集单类别精度比较,如表5 所示。 可以发现,DA-SSD 相较于其他比较算法有船、公交车、椅子、牛以及沙发5 个类别检测精度最优。而相较于原始SSD 算法,DA-SSD 算法共17 个类别相较于原算法有所提高,检测性能明显优于原始SSD 算法。

表5 单类别精度比较Tab.5 Single class accuracy comparison 单位:%

续表

3.4 定性结果分析

为了验证DA-SSD 算法的检测性能,将原始SSD 算法与DA-SSD 算法检测进行定性结果分析,选取了4 张目标为不同种类的图片进行可视化检测,如图6 所示。 可以发现,DA-SSD 算法较原始SSD 算法的检测效果有显著提升,原算法未检测出来的盆栽、牛和公交车,以及误检为牛的羊,通过使用DA-SSD 算法不仅都可以检测出,而且检测的类别信息正确,检测概率也有一定的提升。

图6 定性结果分析Fig.6 Qualitative analysis of results

4 结束语

针对原始SSD 未充分利用特征层之间的关系且获取特征信息能力不够好的问题,提出了DASSD 改进算法。 通过将浅层与中间层特征层输入到PR-FPN 多尺度特征提取网络,增强浅层特征层的语义信息,以及中间层的上下文信息。 为了获取更多通道语义信息和空间位置信息,使用DAM 双重注意力机制加强上述信息的提取。 在PASCAL VOC 2007test 数据集上的实验表明,DA-SSD 算法相较于原始SSD 算法检测精度显著提高。 下一步拟进一步提高算法的检测能力,并更大程度避免漏检、误检的问题。

猜你喜欢
浅层尺度注意力
让注意力“飞”回来
浅层换填技术在深厚软土路基中的应用
基于浅层曝气原理的好氧颗粒污泥的快速培养
财产的五大尺度和五重应对
“扬眼”APP:让注意力“变现”
浅层地下水超采区划分探究
A Beautiful Way Of Looking At Things
宇宙的尺度
包气带浅层地热容量计算方法商榷
9