融合视觉机制和多尺度特征的小目标检测算法*

2024-02-28 03:09武德彬刘笑楠刘振宇
电讯技术 2024年2期
关键词:浅层深层卷积

武德彬,刘笑楠,刘振宇,杨 娜

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

0 引 言

随着深度学习的快速发展,目标检测技术已经在交通、医疗等各领域取得了显著的成果。近年来基于深度学习的目标检测技术在卷积神经网络的基础上不断发展,整体上可以分为有锚框与无锚框两大类,其中有锚框的目标检测算法包括两阶段目标检测算法如R-CNN[1]、Fast-RCNN[2]、Faster-RCNN[3]和单阶段目标检测算法如SSD[4]、YOLO[5-6]系列。单阶段目标检测算法相较于两阶段目标检测算法检测速度更快,但检测精度较低。而无锚框的目标检测算法包括CornerNet[7]等。

在目标检测过程中,图像中的小目标所占像素小,特征不明显,易受背景及噪声影响,导致检测精度不好,如何提高小目标的检测精度一直是目标检测技术的研究热点。虽然SSD算法通过多尺度特征图预测在速度与精度上有所提高,但是由于信息传递是单向的,未充分利用各特征层之间关系,其对小目标检测效果依然不理想,为此研究者们对其进行了大量的改进[8-14]。

原始SSD算法虽然能利用多尺度特征图检测不同大小的目标,但是浅层特征层缺少细节语义信息,检测时会存在误检漏检的问题,现有的改进方法还存在忽略深层特征层传递到浅层特征层造成小目标语义信息损失的问题。为了弥补这种小目标信息弱化的问题,本文提出一种融合视觉机制和改进的PANet[15](Path Aggregation Network)多尺度特征提取的视觉特征融合SSD目标检测算法,简称为VFF-SSD(Vision Feature Fusion SSD)。该方法旨在强化浅层特征的同时,提高对小目标的检测能力。VFF-SSD网络在SSD基础上引入RFB-S视觉机制,使浅层特征层的感受野增大,增强特征提取能力。在前4个特征层使用改进PANet特征融合网络进行多尺度特征融合,使深层特征层的特征信息能够传递到浅层特征层,以增强浅层特征层的语义信息;利用深层特征增强模块在后3个特征层对深层特征层进行特征增强,增强深层特征的细节信息;最后在每一个预测特征层的最后添加CBAM[16](Convolutional Block Attention Module)注意力机制,以提高关键信息的权重,加强对重要信息的学习能力。

1 SSD算法

SSD(Single Shot MultiBox Detector)目标检测算法以VGG16为主干网络,利用多尺度特征层进行分类和定位,并将Fc6和Fc7分别转换成卷积层,用于提取浅层特征层。该算法分别在大小为38×38,19×19,10×10,5×5,3×3,1×1并命名为Conv4_3,Fc7,Conv8_2,Conv9_2,Conv10_2和Conv11_2的6个不同尺度特征层上进行检测,利用浅层特征层检测小目标,深层特征层检测大目标。整体检测过程为,首先输入图像,经过SSD算法对位置与类别进行预测后输出候选框,然后通过NMS非极大值抑制得到最终检测的预测框和类别。其结构示意图见图1。

图1 SSD结构示意图

在原始SSD算法中,每个输出特征层都是直接输出结果,使得浅层特征层缺乏特征的语义信息,从而导致SSD算法在目标检测以及小目标检测任务上检测效果不佳。因此,针对上述问题,本文提出一种改进的融合网络增强SSD浅层特征层之间的关系,以提高对目标的检测能力。

2 VFF-SSD算法

本文所提出的网络模型如图2所示。该网络结合了RFB-S视觉机制、改进PANet多尺度特征融合模块、深层特征增强模块和注意力机制模块,通过RFB-S视觉机制提高浅层网络的感受野,再利用PANet特征融合模块丰富语义信息,从而增强浅层特征层的特征提取能力,并在此基础上加入深层特征增强模块和注意力机制,加强上下文信息及关键信息的提取,使模型在小目标检测上的性能获得显著提高。本文算法将7个特征层命名为Conv4_3,Conv5_3,Fc7,Conv8_2,Conv9_2,Conv10_2和Conv11_2,除Conv5_3以外的其余6个特征层对应特征图像素大小分别为(38,38),(19,19),(10,10),(5,5),(3,3)和(1,1),从而生成尺度不同的6个特征图。首先,在Conv4_3和Fc7特征层先使用RFB-S结构扩大感受野,增强特征提取能力。其次,为了丰富浅层特征层的语义信息,将Conv4_3,Conv5_3,Fc7,Conv8_2 4个特征层输入到改进PANet多尺度特征融合模块中。然后,将Conv9_2,Conv10_2,Conv11_2 3个特征层输入到深层特征增强模块中旨在提高深层特征层特征的表征能力,有助于确定目标的位置信息和分类信息。接着,将6个特征层提取到的特征图分别使用CBAM注意力机制模块,将关键信息权重加在原特征图中,从而提高对重要信息的学习能力。最后,使用NMS非极大值抑制筛选预测框,得到最终的预测结果。

2.1 RFB-S视觉机制

RFB-S视觉机制结构与RFB结构一样都是受启发于人的视觉感知系统,利用群体感受野来模拟人类视网膜,能够突出视网膜中心区域目标的重要性[14]。这种视觉机制结构是利用多分支卷积与空洞卷积来实现的。而在整个网络的浅层网络引入这种视觉机制,可以获取不同尺寸的特征,并且扩大感受野,从而提高网络的检测能力。本文所采用的RFB-S结构如图3所示。

图3 RFB-S结构示意图

RFB-S结构采用的多分支结构中,每个分支都分别采用不同大小的卷积核来得到不同比例的感受野,并且还运用了直连结构。而相对于RFB结构,RFB-S结构分支更多而且卷积核大小更小,并结合空洞卷积增加浅层特征层的感受野,获取更多的上下文信息。RFB-S结构在没有增加复杂计算量的情况下提高了感受野的范围,使网络在轻量化的同时获得具有高判别性的特征,使整个结构更加接近人类的视网膜模型。

2.2 改进PANet多尺度特征融合模块

针对原始SSD算法浅层特征层仅包含单层语义信息,导致没有足够的全局信息的问题,本文使用改进PANet多尺度特征融合模块将浅层特征层的位置信息与经过多次卷积的深层特征层的细节语义信息进行特征融合,使浅层特征层能够通过反向路径获取更多的语义信息,从而在确定小目标位置的基础上提高对小目标的分类能力。改进PANet模块结构如图4所示,先将4个原始特征图分别经过卷积核大小为3的卷积,进行初步的特征提取,将卷积后的Conv8_2进行上采样和3×3卷积向浅层特征层Conv4_3进行反向传递,并依次与卷积后的Fc7和Conv4_3进行Concat通道拼接;再使用1×1卷积进行平滑特征,最终得到Conv4_3的特征层。与原始PANet不同的是,为了加快浅层信息的传播效率,将Conv4_3最终的特征图进行空洞卷积下采样,达到扩大感受野提取细节信息的作用,并向Conv8_2层传递信息,在Fc7与Conv8_2特征层进行Concat特征融合,并进行1×1卷积平滑生成对应的最终特征图。使用改进PANet多尺度特征融合模块可以将深层特征层的语义信息传递到浅层特征层,并且将浅层特征层的信息有效传递到深层特征层,达到特征反复提取的目的。通过增强小目标的细节特征表达能力,增加了浅层特征层对小目标检测的优势。

图4 PANet多尺度特征融合模块

2.3 深层特征增强模块

为了增强深层特征的细节信息,提高检测的准确性,本文采用了深层特征增强模块,如图5所示。首先,由于Conv11_2,Conv10_2,Conv9_2都包含丰富的细节语义信息,所以先使用3×3卷积提取局部上下文信息。其次,将卷积后的Conv11_2上采样并卷积与卷积后的Conv10_2进行特征融合,将融合后的图像继续进行上采样与卷积,然后与卷积后的Conv9_2进行特征融合。最后,将Conv10_2和Conv9_2两层得到的特征图经过1×1卷积平滑。使用深层特征增强模块旨在获得更全面的上下文信息,增强特征之间的关系。这种结构解决了局部模糊的问题并有利于对目标更好地分类。

图5 深层特征增强模块

2.4 注意力机制

本文所使用的CBAM注意力机制主要分为通道和空间注意力两部分,将每一层经过平滑卷积后的特征图先后经过上述两部分,如图6所示。

图6 CBAM注意力机制结构示意图

通道注意力模块如图7所示,将输入的特征图同时进行全局平均池化与全局最大池化,再将得到的结果送入一个共享网络,并将两个特征图按照像素求和合并,经过激活函数产生一个权重结果,最后将权重结果和输入图像相乘得到缩放后的新特征图。

图7 通道注意力结构示意图

空间注意力模块如图8所示。首先,通过平均池化和最大池化减少通道数。其次,将得到的两个特征图拼接融合在一起,然后再经过激活函数得到新的权重结果。最后,将这个权重结果与通道注意力生成的新结果相乘,得到最后缩放的特征图。

图8 空间注意力结构示意图

3 实验与分析

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

为测试本文算法的性能,在编译环境为torch-1.8.0、torchvision-0.9.0、python3.8,Windows10操作系统,显卡为NVIDIA GeForce RTX3060的条件下进行实验。

实验采用PASCAL VOC开放数据集中的PASCAL VOC2007和PASCAL VOC2012数据集的训练集进行模型训练。两个训练数据集均包括20个类别,共16 651张图片。使用PASCAL VOC2007test中4 952张图片进行模型测试,具体类别如表1所示。

表1 数据集类别

实验使用的评价标准是所有类别的平均精度值(Mean Average Precision,mAP)和单类别平均精度(Average Precision,AP),其定义式如下:

(1)

(2)

式(1)和(2)中:P表示准确率;R表示召回率;N表示数据集总类别数。

为了说明本文方法小目标检测的性能,实验将目标面积小于32 pixel×32 pixel的物体归为小目标,大于96 pixel×96 pixel的归为大目标,介于两者之间的归为中等目标,采用IOU=0.5∶0.05∶0.95 10个阈值(0.5~0.95,以0.05为步长)的PmAs检测小目标的平均精度。

3.2 实验超参数设置及分析

本文使用SGD优化器进行120 000次迭代,Batch size设为16,共训练116个周期。初始学习率设为0.001,权重衰减参数设为0.000 5。在迭代80 000次学习率下降为0.000 1,在迭代100 000次学习率下降为0.000 01。将VFF-SSD算法与SSD算法的训练损失进行比较,结果如图9所示,可见VFF-SSD算法的训练损失低于SSD算法,证明了本文改进算法的有效性。

图9 训练损失图

3.3 实验结果及分析

3.3.1 VOC2007测试集目标检测性能检测对比

为了说明本文方法目标检测性能,将本文方法应用于PASCAL VOC2007test数据集并将实现结果与近年流行的目标检测算法的检测精度进行比较,实验结果如表2所示。从表2可以看出,本文的改进算法相对于Faster RCNN[3]在两种骨干网络下取得了更好的检测结果,分别提高了7.9%和4.7%;相对于同为单阶段目标检测算法的YOLOv1[5]和YOLOv2[6]有显著提升,分别提高了17.7%和7.4%;相较于原始SSD算法检测精度提高3.9%,而与其他研究者们对原始SSD算法改进的DSSD[17]、RSSD[18]、文献[9]、文献[10]也有一定的优势,说明VFF-SSD方法在输入尺寸为300 pixel的情况下,检测精度具有明显的优势,较其他输入分辨率较大的目标检测方法检测效果也有一定的提高。

表2 在PASCAL VOC2007测试集本方法与其他方法对比(IOU=0.5)

3.3.2 小目标检测性能评估

为了进一步说明本文方法对小目标检测的性能,实验使用相应的评价指标PmAs对实验结果进行评估,并与两种主干网络下的两阶段目标检测算法Faster RCNN、两种主干网络下的SSD算法进行比较,实验结果如表3所示。由表3可以发现,本文提出的VFF-SSD算法对小目标的检测精度达到17.2%,远高于其他算法,相较于原始SSD算法有显著提升,提高6.6%,证明了本文改进算法对小目标检测有明显的优势。虽然VFF-SSD算法对浅层特征进行反复特征提取导致算法计算量有一定增加,但是该算法对小目标的检测性能提升显著,整体看该算法对小目标效果良好,可以应用到实际场景中。

表3 算法性能比较

3.3.3 单类别实验结果及分析

实验还将数据集中20个类别检测精度与4种流行算法以及传统SSD算法进行了单类别比较,结果如表4所示。从表4中可以发现,VFF-SSD算法有18个类别物体的检测精度超过其他对比算法,尤其是像杯子、植物、飞机等这种在图片中所占像素比低的小目标,而其他类别检测精度与几种算法最优的检测精度相差甚微;与传统SSD算法相比,VFF-SSD算法20个类别检测精度均超过原始SSD算法。根据表中数据,本文改进算法对远景小目标有良好的检测精度,对近景目标检测精度有待加强。综上,VFF-SSD算法对小目标检测有显著的优势。

表4 单类别精度比较

3.3.4 定性结果分析

相应的检测结果可视化,如图10所示。从图10可以明显看出,本文提出的改进算法相较于SSD算法可以有效地解决小目标漏检的问题。通过对比发现,原始SSD算法未检测出的牛和羊、错检的羊、密集的小车、密集重叠的人,经过VFF-SSD算法都可以被检测出来,更进一步证明增强浅层语义信息与加强深层特征融合能够提高模型对小目标的检测能力。

图10 定性结果分析

4 结束语

针对原始SSD算法对小目标检测精度不高以及漏检错检的问题,本文提出一种利用RFB-S视觉机制增强浅层网络感受野并结合改进PANet加强浅层网络语义信息提取,利用深层特征增强模块进行深层网络特征增强,同时使用CBAM注意力机制加强对关键信息学习的VFF-SSD改进算法。在PASCAL VOC2007test数据集上使用两种评价指标进行评估,分别得到检测精度有效提高,尤其对小目标的mAP达到17.2%,较原SSD算法提高了6.6%。

下一步工作拟解决小目标漏检错检问题以及提高小目标检测能力问题,研究如何在不减少精度的情况下将模型进行轻量化。

猜你喜欢
浅层深层卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
浅层换填技术在深厚软土路基中的应用
基于浅层曝气原理的好氧颗粒污泥的快速培养
考虑各向异性渗流的重力坝深层抗滑稳定分析
从滤波器理解卷积
SAM系统对TDCS数据的优化处理与深层应用
基于傅里叶域卷积表示的目标跟踪算法
浅层地下水超采区划分探究
包气带浅层地热容量计算方法商榷
对“医患失去信任”的深层忧虑