APP下载

一种融合软注意力机制的DenseNet-SSD 检测算法

2022-09-07吴松林张国伟卢秋红施建壮

现代计算机 2022年13期
关键词:精确度卷积特征提取

吴松林,张国伟,,卢秋红,黄 威,施建壮

(1.上海电力大学自动化工程学院,上海 200090;2.上海合时智能科技有限公司,上海 200040)

0 引言

随着人工智能时代的到来,无人车已然成为当前技术的热点。精准的环境感知是无人车中最重要的技术之一,目标识别感知与无人车的地图构建,甚至路径规划紧密相连,当前,随着机器视觉与深度学习的发展,这一技术取得了巨大进步。

传统的目标检测主要是通过特征候选区域对目标进行特征提取,再进行分类识别,随着深度学习在人工智能领域的发展,各种目标检测算法日益得到人们的重视并取得了较好的发展,且逐步取代了传统的检测方法。在目标检测领域的算法目前大致分为两类:一是以Fast R-CNN、R-CNN、SPP-NET等为标志的两阶段(two-stage)目标检测算法,此类方法虽然检测精度较高,但速度较慢,且对硬件设备等要求较高,在产品中的设备部署亦存在较大困难;二是以SSD(single shot detector)和YOLO为代表的一阶段(one-stage)检测算法,此类方法直接在输入数据上进行回归分类,速率较快,精确度相对于二阶段算法有所下降。在基于深度学习的目标检测算法中,由于SSD算法在检测速度上的优势,其在工业生产中得到了广泛的应用,该算法设计上整体借鉴了YOLO 算法与Faster-RCNN 的锚框设计,在保证运行速度的情况下,相对提高了其精度。

传统的SSD 目标检测方法在大型环境下的无人车工作时,目标检测识别的精确度以及实时性的效果较差,主要有以下两点不足:

(1)细节信息与小特征提取的语义信息不足:基础层特征提取网络在特征提取过程中提取的目标信息相对不足,且存在信息丢失,在目标识别过程中如果目标信息较少,则会大幅度减弱算法的准确性;

(2)特征提取层的空间信息不足:在大型场景下的目标检测时,不同的空间维度代表不同的特征信息,在复杂且存在重叠区域的空间维度上,会使得检测算法的鲁棒性下降。

针对上述问题,本文在SSD 网络模型的基础上做了以下改进:

(1)提出一种DenseNet 网络模型作为SSD网络的基础特征提取层,使得改进后的神经网络具有更加具体且丰富的语义与细节信息;

(2)在特征提取基础层与额外层结合软注意力机制,赋予其空间域与通道域注意力,从而使得网络能够有效地进行目标信息的筛选,提高网络模型的鲁棒性;

(3)对SSD 网络引进反卷积操作,增加目标感受野,训练过程中采用迁移学习的方式,提高训练模型的效率。

1 主要工作

1.1 传统SSD网络

传统SSD网络是以VGG-16为特征提取的基本网络,并增加级联卷积层,利用anchor 设计理念,实现了端到端的检测方法。首先,传统的网络模型舍弃了VGG-16 的FC7 层,并将FC6、FC7 层设计为Conv6、Conv7 卷积层;其次,为了提取不同尺度特征图,在网络末端添加了Conv8_2、Conv9_2、Conv10_2、Conv11_2等多个级联层;最后通过生成锚框,对目标进行回归预测,采用非极大值抑制的算法对目标进行多尺度检测。其模型结构如图1所示。

图1 传统SSD网络模型

1.2 改进特征提取网络

考虑到传统SSD 算法中特征提取模块获得的语义信息不足和VGG 网络中缺少细节信息、鲁棒性不强等问题,本文参考目标检测器DSOD的替换规则,利用具有隐含监督、特征重复利用的轻量型DenseNet 网络代替VGG-16,为了提高DenseNet 网络的显存利用效率,提高算法运行速度,本文采用有3 个稠密块(dense block)连接的稠密网络,并对于Densenet网络Pooling层采用3 × 3的卷积核,在引入软注意力机制与反卷积后能够保证通道数减少的同时避免池化操作造成的信息丢失。DenseNet 网络结构如图2 所示,输入通过Dense block 后,本文为了避免网络稠密造成的通道数上升的问题,在Feauter map 每次拼接时进入两个1×1 卷积核进行降维处理,然后送入池化层,之后进入下一个稠密层,网络中每一层都建立起了与前面层的连接,使特征图进行如图3所示方式的重复利用,网络中误差信号可以很容易地传播到较早的层,提高了特征提取网络的有效性。

图2 Densenet网络流程图

图3 特征图重复利用

1.3 融合混合域软注意力模块

上节中改进的特征提取网络在包含更多的语义信息以及细节特征的同时仍会存在一些干扰特征,这些干扰特征不但会使算法整体效率降低,而且会加大模型的计算复杂度。传统SSD 模型在进行目标检测时使用Conv4_3 等模块(如图1)产生的6 个不同感受野的特征图,这种方法并没有考虑到网络特征图中的重点特征信息,因此本文引进了一种空间域与通道域混合的软注意力机制。

注意力机制的提出主要是依据生物视觉特性,主要分为空间域、通道域、混合域。Jaderberg 等提出的Transformer Networks 是一种典型的空间域注意力机制,这一机制优先将注意力更多地聚焦在关键信息中,摒弃其中的非关键性或无用信息,从而使神经网络有选择性地聚焦信息,将输入网络的原始图像变换至另一空间且保留关键信息,该模型如图4所示。

图4 Transformer Networks模型

该机制忽略了通道域中的信息,将每个通道域中的信息特征按照同等权重处理,使得空间域变换方法局限在了图片特征提取阶段,在模型网络中的其他网络层应用作用不大。而通道域注意力机制则未考虑到空间域信息,对通道内的信息流直接全局平均池化,通道内的局部信息则完全忽略,因此,考虑到本文算法主要面向实际产品的需求,本文算法融合了一种软注意力机制,该软注意力机制包含通道注意力机制(channel attention module,CAM)和空间域注意力机制(spatial attention module, SAM),且相互独立,这种架构可以有效地节约网络模型参数和网络计算力,并且可以作为独立的模块设置于网络中。

混合域软注意力机制是一种有效的轻量级模块,额外开销可以忽略不计,在通道域和空间域两个维度推断出注意力权重,然后与原特征图相乘,从而对特征进行自适应调整。其中,通道域注意力模块CAM 设计结构如图5所示。在此模块中,改进特征提取层后的SSD模型的输入特征图F经过最大池化层(MaxPool)、平均池化(AvgPool)后生成两个特征图FF,其中表示输入模型的第层特征图,如公式(1)、公式(2)所示:

图5 通道域注意力机制CAM

紧接着特征图信息会传入一个两层神经网络中,通过Relu 激活函数学习不同通道之间的非线性特征,然后通过加和操作聚集两个神经网络中的不同通道特征信息,最后利用Sigmoid激活函数产生通道的权值集合,该过程如公式(3)所示:

公式(3)中CA()即通道域注意力函数(chanel attention),()代表激活函数Sigmoid,FCR()表示全连接层和激活函数Relu,从而生成最终的通道域注意力特征图。公式(1)、(2)、(3)整合后即为该模块整个过程,如公式(4)所示:

通道域注意力机制主要注重于各个通道之间的语义特征信息,为了提取出空间域信息,本文主要利用网络中浅层特征图中丰富的空间信息与通道信息,加强了对特征图中的空间依赖关系,通过对关键区域的特性加权,有选择性地聚焦关键特征,空间域注意力模块SAM 如图6所示。

图6 空间域注意力机制SAM

该网络中,首先输入的特征图经过BN 层和ReLu 层,然后通过最大池化和平均池化得到×的特征图,将得到的两个特征图进行Concat(通道拼接)操作,之后在本文中经过一个6 × 6 的卷积层得到注意力矩阵,将其送入到Sigmoid函数中得到M,其运算过程见式(5)。

本文中,空间域与通道域先进行并联操作,再进行串联,其网络模型如图7所示。

由图7 可知,本文中输入特征图F先经过CAM,SAM1 进行通道域和空间域的并行操作,再与输入特征像素加和,由公式(4)和公式(5)可知两模块输出分别为MF)、MF),则图中断点线部分操作可表示为公式,其中⊙表示逐元素相乘,之后串联通过SAM2并与E加和后输出最终结果D,如式(6)和式(7)所示:

图7 混合域模型

混合域注意力机制旨在通道域和空间域两个维度推断出注意力权重,通过对空间域注意力模块的并联叠加,学习任意两个特征之间的联系,加深了特征图关键位置与语义信息间的表达能力。

1.4 改进后的网络总体结构

传统SSD 网络在特征提取层之后采用逐层卷积的形式进行特征图的传播。在检测过程中,尺寸大的特征图具有的感受野往往较小,而感受野较大的特征图尺寸往往较小,所以本文为了能够对感受野较大的特征图进行尺寸放大,增加DenseNet 稠密连接网络特征的重利用,引进反卷积操作,如图8 所示,为通道数,、分别为输入特征图高、宽。该模块的输入输出关系为公式(8),反卷积输入输出尺寸的关系为式(9)。其中代表输出尺寸(size of output),代表输入尺寸(size of input),代表填充(padding),代表步长(strides)。

图8 反卷积操作

改进后的总体网络架构如图9所示。

图9 改进后网络总体模型

2 实验结果与分析

2.1 实验平台与参数设置

本实验采用Windows系统,使用PyCharm 专业版编译器通过SSH 远程连接mist 云服务器,采用RTX3090 显卡,24 G 显存,实验框架为Pytroch1.9.0,Opencv4,CUDA11.4深度学习框架。

本文中优化方法采用SGD 随机梯度下降法,学习率初始设置为0.00025,权值衰减为0.0002,避免过拟合现象的发生,动量为0.6,模型的batchSizes 大小为18,迭代次数为20000,网络中反卷积层的设置如表1所示。采用预训练得到的权值进行迁移学习训练,提高收敛效率。

表1 反卷积层参数设置

2.2 数据集与评价指标

2.2.1 数据集

本文采用的数据集为PACAL VOC2012+2007,并划分为训练集、验证集、测试集,且对训练数据集进行数据增强。VOC 数据集包含21 个类别(包含1 个背景类),其中训练集为VOC2012,VOC2007,共包含大约16000 张数据集图像,验证集为VOC2012 中的eval 数据;测试集为VOC2007,共包含约5000张图像。

2.2.2 评价指标

本文采用精确度和召回率(precision-recall)关系和平均精度均值(mean average precision,mAP)作为模型评价指标。其中Precision 和Recall 计算公式分别为式(10)和式(11),TR 表示预测与标签匹配一致,FR 表示预测目标为背景,Fn表示将背景误判为检测目标。

平均精度均值表示所有类别的平均精度(average precision,AP)的均值,其计算方法如式(12)所示,V表示成功预测的正确数量。如果真实框与预测框的交并比(intersertion-overunion,IOU)大于0.5,则认为检测结果正确。

2.3 实验结果

为了验证本文1.2 节所提特征提取网络与1.3 节所提软注意力模块算法的有效性,本文将特征提取网络Resnet、VGG16 与本文所述替代特征提取网络做对比,进行算法效果评估,结果如表2所示。实验结果表明本文所提改进特征提取网络能够使得检测精确度提升,且加强特征图的重利用能够有效应对梯度消失问题。融合混合域注意力机制后,算法可以通过注意力自适应的分配权重优化特征图,提升鲁棒性,算法的平均准确率有了进一步提高。

表2 不同特征提取网络的检测结果 单位:%

在1.4 节中,本文为了进一步提高网络小感受野特征的检测率,为算法融入了反卷积模块,此模块能在一定程度上消除池化操作对特征图的影响,加入反卷积操作后本文整体算法分别与SSD+VGG16,SSD+Resnet 等一阶段算法和Faster RNN 二阶段算法做对比,表3 为各个算法的Precision-recall 关系。由表3 可以看出,本文算法在加入反卷积模块后相比未加入反卷积精确度提高了0.3%,召回率提高了0.2%;相比于传统的SSD 算法精确度提高了2.1%,召回率提高了4.7%,且精确率和召回率更加接近,这一指标能够提高算法的平均精确率;与基于Resnet的SSD网络相比,本文算法精确度和召回率均有所提高;与二阶段算法Faster RNN 相比本文算法精确度提高了0.2%,召回率提高了2.4%,且二者差值有了明显缩小,Faster RNN二者差值为2.9%,本文算法仅存在0.5%的差值,进一步提高了算法的鲁棒性。

表3 各个算法的Precision-recall关系 单位:%

图10 为算法改进前后各个类别的平均精确度对比。

图10 改进前后算法mAP对比

由图10 可以看出,本算法相对原始SSD 算法有较大的提高,加入了注意力机制以及反卷积模块后,网络对小尺寸特征识别和具有较小感受野的大尺寸目标检测精确度有显著提高,对于鸟类的检测平均精确度由原来的77.6%上升至92.5%,这主要是由于DenseNet 网络的特征重利用有效地解决了目标特征丢失问题,以及注意力机制对重点特征的权重增加,摒弃了其中的非关键性或无用信息,从而使神经网络有选择性地聚焦信息并输入网络的原始图像。

图11、图12 分别为改进算法前后的可视化对比图。由左侧图可知,算法改进前并没有检测到大尺寸小感受野的卡车,改进后的算法对大尺寸小感受野的卡车检测得分达到了79%,有效提高了算法的精确性;在右侧图中,对于小特征的远处人物由于特征网络得到的语义信息以及细节信息不足,原算法并没有感受到远方关键特征,改进后算法的混合域注意力机制对重点特征的权重增加,且经过反卷积模块消除特征损失,对远方小特征目标检测得分达到82%。与改进前对比可知,算法改进后对具有小感受野的大尺寸目标以及小特征目标,检测效果明显提升。

图11 改进前后可视化效果对比

图12 改进后可视化效果图

表4为本文算法与传统SSD算法的平均精确度mAP 的对比,由对比可知,本文算法的平均精确度为86.4%,比传统SSD 的平均精确度提高了7.8%,有效提高了算法的检测精确性和鲁棒性。

表4 改进前后算法比较 单位:%

3 结语

针对传统SSD 算法提取目标特征的细节信息与小特征提取的语义信息不足,且存在信息丢失,以及特征提取层的空间信息缺乏等问题,本文通过使用DenseNet 网络改进传统算法的特征提取层,进行特征重利用,增强目标的细节以及语义信息;引入混合域软注意力空间模型,在通道域以及空间域对特征进行学习,从而自适应地分配权重,对关键性信息进行重点关注学习,优化特征图;同时增加反卷积层,进一步减少池化层对特征的影响,使得算法整体鲁棒性、精确度得以提升。实验结果表明,本文算法与原算法相比其精确度、召回率得到显著提高,且二者差值得以显著缩小,平均精确度比原算法提高了7.8%,且混合域网络模型为即插即用型的轻量化模型,实用价值较高。但实验中发现,本算法虽然只利用了DenseNet网络前3层,在中间层虽已优化通道数,通道数量仍相对较大,但在可接受范围内。

猜你喜欢

精确度卷积特征提取
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
放缩法在递推数列中的再探究
卷积神经网络概述
基于曲率局部二值模式的深度图像手势特征提取
数形结合
近似数1.8和1.80相同吗