基于加权密集连接卷积网络的快速交通标志检测

2020-05-13 10:00邵毅明屈治华邓天民宋晓华
交通运输系统工程与信息 2020年2期
关键词:交通标志密集卷积

邵毅明,屈治华,邓天民,宋晓华

(重庆交通大学交通运输学院,重庆400074)

0 引言

交通标志检测技术作为无人驾驶系统的重要环节,为智能车的行车导航和驾驶决策提供了有效信息.复杂交通环境下交通标志的准确定位和实时检测对提高车辆的行驶安全,保障道路交通顺畅起到了至关重要的作用[1-2],对其研究具有重要的理论价值和应用价值.

在计算机视觉和人工智能领域,以卷积神经网络为代表的深度学习算法在目标检测、识别、跟踪等方面相比于传统机器学习算法优势明显,从训练数据集中通过端到端的学习获取图像特征,避免了复杂繁琐的人工特征提取阶段,在一些特定任务中其结果甚至超越了人类的能力[3].现有深度学习目标检测算法可分为两类:一类是双阶段检测器,代表性的算法有Faster RCNN[4],RNN[5]等,此类算法普遍存在网络参数和计算量过大的问题,需要占用大量存储空间对网络进行保存,难以满足实际应用中对算法实时性的要求;另一类是端到端的单阶段目标检测器,主要研究算法有YOLO[6],SDD[7],此类方法可直接利用输入图片,在图片各个位置同时回归得到目标的回归边界框坐标和分类,相比前者在运算效率上得到提升,但算法利用全连接层中的全局特征进行训练,检测精度较低.对于实际场景中的交通标志检测任务,目前算法难以达到检测精度和时间效率间的相互平衡,高精度网络普遍包含大量网络参数和计算量,在训练过程中需要占用大量存储空间,对硬件设备提出了较高要求[8-9].

本文兼顾算法检测精度与实时性需求,提出一种基于MobileNet和CBAM的轻量化动态加权密集连接网络,对检测效率较高的YOLOv2框架进行改进,通过引入动态加权层对密集连接卷积网络中的所有卷积层特征施加不同权重,并在训练过程中动态更新,实现所有网络层间的信息传递,使网络能够对不同深度的特征信息进行高效利用,降低训练过程中因梯度消失造成的网络收敛困难问题.利用MobileNet和CBAM模块对密集连接网络中的卷积和池化操作进行优化,在确保检测精度的前提下对网络进行压缩,实现实时性检测要求.

1 轻量化动态加权密集连接卷积网络

1.1 密集连接卷积网络

密集连接卷积网络对传统卷积网络模型中的连接方式进行改进,采用跨层连接方式对网络中所有特征维度相同的卷积层进行两两互连,使各层特征能够在输入层和输出层间高速传递[10].随着网络的传播,按照特征图维度大小将网络划分为若干密集块,各密集块间的特征图尺寸依次减小,但每个密集块内的特征图尺寸保持一致.图1为一个3层密集连接的密集块示意图.

图1 密集块示意图Fig.1 Dense block diagram

可以看出,每个卷积层的输入与前面所有层的输出并联粘接,实现多层特征融合,最大限度的利用图像的有效特征以达到更好的检测精度.密集块中各层特征间关系满足

式中:x0为输入特征图;xm为第m层的输出特征图;矩阵[x0,x1,…,xm-1]为第0,1,…,m-1层输出特征图的并联粘接,其粘接后的结果将作为第m层的输入;Hm(·)代表对第m层进行非线性变化,通常包括批量标准化、ReLU激活和卷积操作.

各不同特征维度的密集块间通过过渡层进行连接,构成密集连接卷积网络的主体.过渡层由一个卷积层和最大池化层构成,主要作用是减少前一密集块输出特征的维数和尺寸,实现跨通道特征融合,同时增加非线性特征,实现特征图的极致利用.

1.2 动态加权密集连接

在密集连接卷积网络中,密集块内当前层特征和前面所有卷积特征通过平等关系进行跨层并联,但我们认为网络中每一层卷积操作的作用是不同的,相比于低层网络提取的信息,深度信息在目标检测过程占据着更重要的位置,因此密集块内各层的卷积特征在并联时应有主次区分,即当前层特征起主导作用,前序卷积特征起辅助作用.因此,本节提出一种动态加权密集连接的特征跨层连接方法,综合利用图像的多维浅层特征,通过对不同特征图施加不同权重比例,在训练过程中对其进行自我动态调节,使网络可以更加高效的对特征信息进行利用,在避免对密集连接机制造成影响的同时,实现图像特征的多维传递,并且进一步降低网络的计算量,提高运行效率.则密集块中第i层特征图施加的权重值wi可定义为

式中:N为密集块中共有的卷积层数;μ为各连接层的权重系数,在训练开始阶段对μ随机赋予[0,1]的初始值;ej为第j层权重的对数值,可看出越深的卷积层所占据的特征权重值越大.

为保证加权准确性,在多维权重训练过程中采用交叉熵损失函数作为目标函数,通过随机梯度下降(SGD)的方式进行迭代训练,使加权过程更有利于损失函数的降低,实现在训练过程中对不同特征图的自适应动态加权.增强融合特征的连接强度,减少冗余信息,以提高检测精度.图2为一个改进后的3层动态加权密集块结构示意图,改进过后的特征间关系表示为

图2 动态加权密集块Fig.2 Dynamically weighted dense block

1.3 轻量化网络结构

2017年Google在TensorFlow深度学习框架下提出MobileNet概念[11],MobileNet是一种面向移动端的卷积神经网络模型,采用深度可分解式卷积方式将标准卷积分为两个部分,大幅降低模型的计算量和生成模型过程中所需的存储空间,增强模型实用性.图3为标准卷积过程和MobileNet的深度可分解卷积过程示意图.

图3 标准卷积核和深度可分解卷积核对比Fig.3 Comparison of standard convolution kernel and deep decomposed convolution kernel

MobileNet将标准卷积运算中滤波器滤波过程和特征维度整合过程进行分解:首先,对大小为DF×DF×M输入特征图每一个通道的二维切面,使用二维卷积核进行分通道卷积运算,卷积核的大小为Dk×Dk×1,共需要M个卷积核,经过可分解卷积操作后得到的输出特征图为DG×DG×M;之后,为将之前生成的特征图串联成新的输出特征,保证输出的完整性,采用N个大小为1×1×M的卷积核进行逐点点积来调整特征映射的通道数,生成一个线性组合输出,则可分解卷积操作的计算成本表示为Dk⋅Dk⋅M⋅DF⋅DF+M⋅N⋅DF⋅DF.

2 基于加权密集连接的交通标志快速检测网络

本文选用YOLOv2框架[12]进行改进,结合动态加权密集连接网络和MobileNet-CBAM模块提出一种轻量级交通标志检测网络,其整体网络架构如图4所示.

图4 整体网络结构Fig.4 Overall network structure

过多的卷积和池化结构会造成图像特征在传递过程中的逐层丢失,使后续网络无法对低分辨率图像的高效信息进行提取.因此,保留YOLOv2结构的前3个卷积层和2个池化层来获取图像的底层特征,通过连接两个动态加权密集块结构实现多层特征的有效结合,兼顾图像的深层语义信息和底层语义信息.为改善网络计算成本,提高检测效率,使用MobileNet轻量化网络代替密集块内的Hm(⋅)卷积操作,为保证特征跨层连接的有效性,在不改变密集块基础结构的同时,对MobileNet结构进行一定修改,其结构如图5所示.由于跨连接操作通过将前序卷积特征融合生成当前卷积层新的输入特征,后续卷积层的输入通道数将不断增加,为实现特征间高效传递,需对通道数量较大的特征进行降维.首先,使用一个1×1大小的卷积层对图像进行处理,降低特征通道数,减少后续操作的计算量;之后,采用可分离卷积提取图像特征;最后,使用1×1线性卷积恢复特征维度,避免非线性变换对特征的破坏.此外,为尽可能地保留图像细节特征,采用空间频率注意力模块(CBAM)[13]对过渡层中的池化操作进行替换,CBAM选用图像的最大池化信息作为平均池化的互补信息进行结合,使用通道注意力模块和空间注意力模块从两个单独维度推断特征图的注意力图,减少了池化过程中的信息丢失,提升对小尺度目标检测的敏感性.

图5 改进后的轻量化网络结构Fig.5 Modified lightweight network structure

3 实验过程及结果讨论

3.1 实验数据集

选取德国交通标志检测数据集(GTSDB)对所提算法的检测精度和计算成本进行评价.GTSDB数据集[14]包含43类共900张真实车辆驾驶环境下的高清交通标志场景图像,含有大量不良光照、遮挡、运动模糊等不利条件下的交通标志样本,几乎涵盖了现实场景中的各类情况.将其分为训练样本600张,包含846个交通标志;测试样本300张,包含360个交通标志;每幅图像分辨率归一化为680 pixel×400 pixel,部分样本如图6所示.

图6 部分样本示意图Fig.6 Schematic diagram of partial samples

3.2 网络训练

为保证实验对比的有效性,实验环境均采用:Intel core i7-8700K CPU@4.30 GHz,32 G内存,显存为NVIDIA GeForce GTX1080Ti,实验操作系统为Ubuntu-16.04,TensorFlow深度学习框架.定义交并比(IoU)大于0.5的交通标志为正确检测,最小批尺寸设为128,动量为0.8,衰减系数为0.000 5,初始学习率为0.001,学习率的衰减系数设置为0.1,学习率的调整方式为分步式降低,分别在迭代次数为40 000和60 000时乘上衰减系数,总迭代次数为80 000次.

3.3 实验结果及分析

为验证本文算法对交通标志检测的准确性和时效性,构建多种检测网络从算法检测精度、模型大小和计算成本等方面对算法性能进行对比.A~D算法均选用YOLOv2框架,区别在于A算法采用包含19层卷积层和5层池化层的Darknet结构作为特征提取器,B网络只使用4层卷积层和2层最大池化层,之后通过连接动态加权密集块对图像特征进行提取,C网络采用CBAM模块对B网络中的池化层进行替换,D为本文所提出的轻量化动态密集链接网络,统计结果如表1所示.

表 1 不同网络结构检测性能对比Table 1 Comparison of detection performance of different network structures

(1)对比A和B网络可知,B算法的检测精度提高了4.92%,主要是由于原网络采用过深的卷积和池化层,造成特征在传递过程中丢失严重,且深层网络中过低的分辨率导致图像特征难以提取,加权密集块通过特征跨层连接更能够兼顾图像的各层语义信息,通过端到端的学习对各特征权重进行自适应调节,传递了更多的有用信息.

(2)对比B和C网络可知,CBAM模块使用通道注意力和空间注意力实现特征的三维表达,通过聚合平均池化特征和最大池化特征,实现图像全局信息和局部细节特征的互补,有效降低池化操作对图像特征的破坏;通过计算量的对比可看出,CBAM模块的加入对网络总体的计算量和参数变化影响很小,可在忽略计算成本的前提下有效提高2.6%的算法检测精度.

(3)D网络采用轻量化MobileNet对网络进行压缩,整体模型尺寸为18.3 MB,对比C网络减少了88.9%,同时模型的检测精度仍可达到96.14%.相比于传统算法A,所提算法在检测精度和计算效率上都有了很大的提升,证明所提出的动态加权密集连接网络和CBAM结构可有效提高网络对图像特征的表征能力,提高目标检测精度,且MobileNet轻量级网络可明显改善网络的运行效率,实现交通标志的实时高效检测.

为进一步验证本文算法对于交通标志检测的有效性,选取多种主流检测算法对网络的检测精度和效率进行对比分析,统计结果如表2所示.

表2 不同检测算法性能比较Table 2 Performance comparison of different detection algorithms

可看出,相比主流深度学习网络Faster RCNN和Haar+Adaboost,本文算法在检测精度上同样具有一定优势,同时检测速度可达到139 frame/s,网络参数量和计算量远小于上述算法,可以满足目标实时检测需求.对比轻量级网络ShuffleNet和SqueezeNet,本文算法的检测精度为96.14%,分别提升了14.27%和9.20%.因此,本文算法在检测精度和时间效率方面达到了更好的平衡,在确保轻量级网络检测效率的前提下,有效降低了网络的漏检和误检率.

本文算法和YOLOv2算法对于交通标志的部分检测结果如图7所示,可发现YOLOv2对于小尺度目标存在部分漏检现象,结合表1统计和图7(b)~(d)可以看出,本文算法对于边缘均存在少许遮挡、不良光照、倾斜等条件下的交通标志仍具有较高精度的目标回归框,算法鲁棒性强,能够实现复杂交通环境下交通标志的快速精准检测.

图7 部分检测结果示意图Fig.7 Schematic diagram of partial test results

4 结论

本文提出了一种高精度快速交通标志检测网络,利用轻量化网络MobileNet的低延时、低能耗优点,有效提升算法对于高分辨率图像检测的实用性;在对网络进行压缩的基础上,提出动态加权密集连接结构,充分融合各卷积层特征,采用CBAM模块最大限度降低池化操作造成的特征丢失;在可忽略计算成本的前提下有效增强网络对图像特征的表达能力,构建可用在实际车载系统中的交通标志检测模型.实验基于GTSDB数据集,探讨和分析了不同结构检测算法的精度和时间效率.结果表明,本文网络可在保持低损失的前提下,有效减少网络规模和计算资源,提升目标检测效率.

猜你喜欢
交通标志密集卷积
基于双向特征融合的交通标志识别
耕地保护政策密集出台
基于3D-Winograd的快速卷积算法设计及FPGA实现
密集恐惧症
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
交通标志小课堂
全球导航四大系统密集发射卫星
欧盟等一大波家电新标准密集来袭