基于改进的DSSD的小目标检测算法研究

2022-06-29 12:32杨朝晨陈佳悦刘梦尼
计算机技术与发展 2022年6期
关键词:卷积精度注意力

杨朝晨,陈佳悦,邢 可,刘梦尼,高 涛

(1.长安大学 信息工程学院,陕西 西安 710064;2.西北大学 信息科学与技术学院,陕西 西安 710127)

0 引 言

随着人工智能技术的飞速发展,目标检测(object detection)已成为计算机图像处理中一个重要研究课题,在智能交通[1]、人脸识别[2]、智能图像检索[3]等领域发挥着重要作用。

传统的目标检测算法采用穷举策略使得模型产生过多冗余窗口,导致模型检测速度缓慢,面对庞大数据集时过程繁琐,且对于复杂场景泛化性能差,无法有效处理由于不同姿势、遮挡等引起的非线性变化,在特征识别上有着难以弥补的劣势,进而难以有效提高分类水平。

近年来,深度学习凭借其优异的特征提取能力被广泛应用于目标检测领域。目前,基于深度学习的目标检测算法可大致分为两类:第一类为基于候选区域的两阶段算法,如以RCNN[4]、Fast R-CNN[5]和Faster R-CNN[6]等为代表的一系列目标检测框架,这类算法准确度较高,但速度较慢;第二类为基于端到端模型的一阶段算法,典型代表有SSD[7]、YOLOv3[8]、DSSD[9]等,这类方法利用回归思想,通过卷积网络预测回归边框及分类概率,无需预先提取候选网络,直接对图像中的目标进行位置预测和类别判断,较二阶段算法准确度略低,但检测速度更快,实时性更高。

然而在实际情况中,图像中的小目标分辨率低,图像模糊,携带信息较少,使得其特征表达能力弱,算法对小目标的检测不敏感,误检率或漏检率较高。针对以上问题,一些学者对普通目标检测算法做出了改进。郑浦等[10]采用多尺度特征融合的方式,增强浅层特征表达能力对小目标进行检测。刘顺民等[11]使用特征金字塔替代多尺度特征层,充分融合了底层和高层的信息。赵文清等[12]通过将改进的分段比例惩罚因子NMS算法和连续比例惩罚因子NMS算法相结合以提高检测性能。马跃等[13]设计了一种融合结构用以丰富特征图细节信息和语义信息。

上述研究均使用完整特征图作为特征输入,然而在实际分类任务中,并非所有特征对特征识别的作用程度都是相同的。因此,针对算法对小目标敏感性较低的问题,该文提出了一种改进的DSSD算法,引入注意力机制突出局部重点区域,在通道维度上增加权重分量进行加权求和表示信息相关度,并将图片中的空间域信息做对应空间变换,有利于前景小目标的特征学习。

1 算法介绍

1.1 SSD网络

SSD(single shot multibox detector)模型是一种基于回归的高精度、强实时性的目标检测算法,其主要设计思想是利用不同尺度的特征图进行目标的检测和识别。网络框架分为基础网络和附加网络两部分。基础网络使用改进的VGG16网络进行特征提取,附加网络新增四层级联卷积层以获得高维特征图用于目标检测。在网络模型进行训练时,预测框会以先验框为基准,通过softmax分类和边界回归来获得真实目标的位置,多尺度特征图共同参与目标检测有利于提升目标检测的精确度。

1.2 DSSD模型

SSD模型检测速度较快,对大目标检测精度较高,但对小目标不敏感,漏检或误检率较高。DSSD模型此基础上进行了改进,主要是采用ResNet101代替VGG16作为主干网络,其中ResNet101的Conv3_x卷积层与其后4层级联卷积层共同构成DSSD模型的特征层;特征层与5层反卷积层共同构成反卷积模块以扩大模型在小尺度上的高层特征信息,有效改善了小目标的检测能力;并引入预测模块提升检测精度,DSSD模型结构如图1所示。

图1 DSSD模型结构

1.2.1 反卷积模块

为了得到更多的检测信息,DSSD模型引入反卷积层组成反卷积模块,反卷积模块结构如图2所示。

DM模块里的需要反卷积的高层特征图(图中以A表示)、SSD的卷积低层特征图(图中以B表示)和最后得到的融合后的卷积图(图中以C表示)与DSSD的沙漏结构中的对应位置如图所示。融合后的特征图C送入预测模块中,作为下一级DM模块要反卷积的特征图再进行下一级的DM模块操作。至于2 H和2 W经过一系列的padding=1,stride=1的3*3卷积后仍保持2 H*2 W的特征图尺寸。

图2 反卷积模块结构

1.2.2 预测模块

DSSD模型在特征层和反卷积模块之间又加入了预测模块,该模块在SSD预测模块的基础上增加了一个残差学习单元,进一步提高模型的精确度。预测模块结构如图3所示。

图3 反卷积模块结构

2 CBAM+DSSD算法

虽然DSSD模型的预测模块提取更深维度的特征用于分类和回归,网络整体构成不对称的“沙漏”结构,充分利用了上下文信息和层的特征,从而在小目标和密集目标的检测率上有很大的提高。但上述均使用完整特征图作为特征输入,然而在实际分类任务中,并非所有特征对特征识别的作用程度都是相同的。因此,为了突出对特征识别有效的信息并抑制作用小或无效的信息,一些研究引入了注意力机制。

2.1 CBAM混合注意力机制

CBAM(convolutional block attention module)[14]是一种简单有效的混合注意力模块。通过将注意力过程分为两个独立的部分,通道注意力模块和空间注意力模块,沿着空间和通道两个维度依次推断出注意力权重,然后与原特征图相乘来对特征进行自适应调整,其网络结构如图4所示。

图4 CBAM模型结构

为了汇总空间特征,通道注意力模块采用了全局平均池化和最大池化两种方式来分别利用不同的信息。输入是一个H×W×C的特征F,先分别进行一个空间的全局平均池化和最大池化得到两个1×1×C的通道描述。接着将它们分别送入一个两层的神经网络,第一层神经元个数为C/r,激活函数为Relu,第二层神经元个数为C。这个两层的神经网络是共享的。然后,再将得到的两个特征相加后经过Sigmoid激活函数得到权重系数Mc。最后,拿权重系数和原来的特征F相乘即可得到缩放后的新特征。

在通道注意力模块之后再引入空间注意力模块,给定一个H×W×C的特征F,分别进行一个通道维度的平均池化和最大池化得到两个H×W×1的通道描述,并将这两个描述按照通道拼接在一起。然后经过一个7×7的卷积层,激活函数为Sigmoid,得到权重系数Ms。最后,拿权重系数和特征F相乘即可得到缩放后的新特征。

2.2 模型结构

本实验采用优化后的DSSD模型,引入CBAM混合注意力机制,在保证检测速度的同时,提高了检测精度,改进的模型结构如图5所示。

图5 改进的DSSD模型结构

在图5中,反卷积模块中各卷积层既具有良好的浅层特征表征能力,又具有深层特征语义信息,故在反卷积模块引入CBAM注意力机制。由于CBAM模块属于轻量级模块,不会带来大量复杂参数,故对改进的DSSD模型检测速度基本没有影响,且一定程度上提高了网络整体检测精度和对小目标的检测精度。

3 实验设置、结果与分析

3.1 实验环境与评价指标

实验使用的深度学习框架为pytorch,计算机操作系统为Ubuntu16.04,显卡型号为NVIDIA Quadro P5000。

采用平均精度(average precision,AP)和平均精度均值(mean average precision,mAP)作为模型检测性能的评价指标,其计算过程如下:按照目标检测模型预测结果对样本进行排序,针对逐个样本将置信度作为划分正负样本的阈值,计算查准率(Precision)和召回率(Recall),绘制P-R(Precision and Recall)曲线,将PR曲线上召回率相同的点记为一组,共分为n组,AP的计算公式如下:

(1)

其中,Pi表示第i组的最大精度值,N表示该类别在测试集中的所有实例个数。

最后计算各个类别AP值的均值即为mAP。AP和mAP越高,目标检测模型的性能越好。

3.2 实验数据集

实验采取2个通用数据集,分别为PASCAL VOC2007和PASCAL VOC2012数据集。PASCAL VOC[15]数据集是一个包含Person、Bird、Cat、Cow、Dog、Horse、Sheep、Aero-plane、Bicycle、Boat、Bus、Car、Motorbike、Train、Bottle Chair、Table、Plant、Sofa、Monitor等20个类别物体的目标检测数据集。该文使用PASCAL VOC2007和PASCAL VOC2012的trainval部分共16 551张图片作为训练集,使用PASCAL VOC2007的test部分作为测试集。

3.3 模型训练参数

通过一系列的调参实验后总结出了最适合该模型训练的相关网络超参数,具体如下:训练模型过程中采用Momentum优化算法,动量衰减项为0.9,权重衰减因子设定为0.000 1,步长设定为120 000,batch size为16。学习率为动态的即初始学习率为0.001,前500步学习率为0.000 1,500步后学习率为0.001,80 000步后学习率下降为原来的0.1倍,调整至0.000 1,100 000步后学习率调整为0.000 01。当模型构建完成及参数确定后进行MFF-SSD网络模型的训练,网络模型训练的全过程被记录在图6中。

图6 模型训练损失值

由图6可知:损失值在前5 000步迅速下降;5 000至21 000左右时损失值逐渐趋于稳定状态;21 000步后损失值趋于稳定。

3.4 实验结果与分析

利用训练好的网络对测试集进行检测,网络对VOC2007 test部分的检测精度如表1所示。可以看出所提算法对每个类别的识别精度都有一定程度的提升。

表1 不同算法各个类别目标检测精度对比结果 %

表2是不同模型在VOC2007数据集上的实验结果,对比DSSD和所提方法的实验结果可知,在平均检测时间略微提升的情况下,所提方法得到了比DSSD更优的实验精度,证明了算法的有效性。

表2 VOC2007测试集上测试结果

4 结束语

针对当前DSSD模型没有考虑小目标特点及特征图通道和空间之间的关系的问题,通过引入CBAM混合注意力模块,设计了一个针对小目标检测任务的改进DSSD模型。相比于原DSSD模型,设计的新目标检测模型在实验精度提升1.3%情况下,基本没有增加模型的参数量,检测速度无明显降低。实验的训练和推理过程仍旧是在高性能计算机上进行,下一步将考虑将检测模型进一步简化,在保证精度的同时降低检测速度。

猜你喜欢
卷积精度注意力
基于不同快速星历的GAMIT解算精度分析
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
基于深度卷积网络与空洞卷积融合的人群计数
近似边界精度信息熵的属性约简
卷积神经网络概述
电力系统短期负荷预测方法与预测精度
A Beautiful Way Of Looking At Things
浅谈ProENGINEER精度设置及应用