APP下载

基于轻量型卷积神经网络的交通标志识别

2020-01-05龙曼仪李茂军张辉刘芾

计算技术与自动化 2020年4期
关键词:图像增强卷积神经网络

龙曼仪 李茂军 张辉 刘芾

摘   要:针对卷积神经网络在交通标志识别实时性不好,对设备硬件要求过高的缺点,提出了一种具有实时性,高精度的基于轻量型卷积神经网络的改进网络。一方面引入深度可分离卷积和激活函数Mish,加快网络的训练和识别速度,降低对硬件设备的要求;另一方面通过对网络架构及层次的改进,同时合理改变卷积核的大小和数目,加强图片特征的表达与传递。在BelgiumTSC交通标志数据集上的实验结果表明,改进后网络明显提高了网络训练速度,同时识别精度也略高于原网络,验证了改进方法的有效性。通过与其他模型相比,该模型能够更快速准确完成交通标志识别任务,验证了该方法的可行性。

关键词:卷积神经网络;交通标识;图像增强;深度可分离卷积;激活函数

中图分类号:TP183                                       文献标识码A

Traffic Sign Recognition Based on Lightweight

Convolutional Neural Network

LONG Man-yi1,LI Mao-jun1 ,ZhANG Hui2,LIU Fu1

(1. College of Electrical and Information Engineering,Changsha University

of Science and Technology,Changsha,Hunan 410114,China

2. College of Robotics,Hunan University,Changsha,Hunan 410114,China)

Abstract:Aiming at the shortcomings of convolutional neural network in the recognition of traffic signs that the real-time performance is not good,and the equipment hardware requirements are too high,a real-time and high-precision improved network based on lightweight convolutional neural network is proposed. Separate convolution and activation function Mish,speed up the network training and recognition speed,reduce the requirements for hardware equipment;on the other hand,through the improvement of the network architecture and level,while reasonably changing the size and number of convolution kernels,the expression of image features and transfer. The experimental results on the BelgiumTSC traffic sign dataset show that the improved network significantly increases the network training speed,and the recognition accuracy is slightly higher than the original network,which verifies the effectiveness of the method in this paper. Compared with other models,this model can complete the task of traffic sign recognition more quickly and accurately,which verifies the feasibility of this method.

Key words:convolutional neural network;traffic sign;image processing;depth separable convolution;activation function

交通標志识别是自动驾驶汽车高级驾驶员辅助系统的重要功能,它能够从图像中识别交通标志,预计类别,来给车辆提供道路上的交通信息,以防违章及出现事故[1-2]。早期交通标志识别是通过其颜色空间对图像划分阈值进行分类,主要是通过特征提取以及分类器选择两步作为研究[3-4],但随着2012年AlexNet在图像识别上崭露头角,部分学者渐渐开始将研究重点转移到神经网络[5]。Sermanet等人提出多尺度CNN应用于交通标志识别任务,得到了很高的准确率[6]。Ciresan等人使用多列深度卷积神经网络MCDNN(Multi-Column Deep Neural Network)在GTSRB(German Traffic Sign Benchmark)数据集上获得99%的准确率,但是运算量大,网络计算速度较慢[7]。尽管前两者准确率较高,但其实际可应用性不强,要求较好的硬件设备。传统卷积神经网络结构复杂,识别较慢,会导致无法应用到实际场景中检测交通标志。因此网络模型选取了层数较少的轻量型网络LeNet-5[8]作为基层网络进行改进,并利用了Mobile Net[9]中提出的深度可分离卷积,减少了参数量和计算量,为了提高信息传递效率,加强特征的传递,将原降采样层替换为卷积层,加深网络,并将卷积核尺寸修改为3×3。通过自对比实验,验证了改进网络改进的有效性,通过在BelgiumTSC数据集上训练和测试,得到了比较好的结果。

1   基于轻量级的卷积神经网络模型

1.1   改进深度可分离卷积

在传统的卷积计算过程中,每一步的计算都会考虑所有通道对应区域的计算,产生大量的参数并且加大计算量。而Mobile Net网络提出了深度可分离卷积,将常规卷积分成逐通道卷积(Depthwise Convolution,DC)和逐点卷积(Pointwise Convolution,PC),先对每一通道的区域进行卷积计算,然后进行通道间的信息交互,实现了将通道内卷积和通道间卷积完全分离。

常规卷积计算,输入图像大小为DF × DF的M通道图像,用DK × DK大小的卷积核进行卷积,得到输出的特征图为DI × DI的N通道图像,那么标准的卷积核的计算量为DF × DF × DK × DK × M × N。

对于深度可分离卷积,是将逐通道卷积和逐点卷积两步中的计算量相加。深度卷积部分使用的是一个大小为DK × DK × 1的卷积核进行特征提取,计算量为DF × DF × DK × DK × M。逐点卷积部分是利用N个1 × 1的点卷积对通道间的信息进行融合,实现通道间的信息传递并且控制了通道数量,计算量为DF × DF × M × N,因此深度可分离卷积的计算量为DF × DF × DK × DK × M + DF × DF × M × N。

深度可分离卷积与传统卷积的计算量之比为:

■=

■ + ■     (1)

N≥1且DK≥1,深度可分离卷积极大的减少了参数量,加快了计算过程。改进网络中采用的卷积核大小为5 × 5,因此卷积部分的参数量和计算量可以减小到原来的1/25。例图1为改进后卷积神经网络C3卷积层的改进过程。

在深度可分离卷积中,为了更好的提取特征,减少参数间依存关系,缓解由于卷积层数加深可能引起的过拟合发生。在每经过一个Depthwise Convolution和Pointwise Convolution的输出都会经过ReLU非线性激活函数的处理,以加强非线性表达能力。同时为了加快网络的收敛速度,防止梯度爆炸,提高模型的精度,会在激活函数前加BN层(Batch Normalization)。但是考虑到ReLU可能会使神经网络的一部分处于“死亡”状态,会使神经元信息丢失。MobileNet中深度可分离卷积部分在Depthwise Conv模块后选择Leaky ReLU代替ReLU作为激活函数,当输入 时,保持一个很小的梯度,使神经元能够在非激活状态下也能够有一个非零梯度更新参数,避免“死亡”,在Pointwise Conv后选择利用h-swish函数作为激活函数,来解决网络层数增加造成梯度消失及过拟合等问题[11]。改进网络选择DigantaMisra提出的Mish函数替代ReLU函数,与ReLU函数和swish函数相比,Mish激活函数每一点更加平滑,允许更好的信息深入神经网络,负值的时候允许较小的负梯度流入,保证信息不会中断,从而得到更好的准确性和泛化能力。实验结果表明,当网络层次加深时,Mish激活函数能够保持更好的训练稳定性,在平均准确率和峰值准确率方面也有了全面的提高[10]。

Mish激活函数的表达式如式(2):

f(x) = x·tanh(ζ(x))       (2)

ζ(x) = ln(1 + ex)       (3)

能够实现运算精度和运算速度的兼容。优化后的深度可分离卷积如图2所示:

1.2   改进的卷积神经网络

交通标志识别在行驶过程种会受很多方面的影响,如泥渍,树枝遮挡,车速过快导致标志采取模糊,雾霾天气导致标志不能完整显示,尽管一般的交通标志已经采用了抗氧化反折射的材料,但还是随着时间的推移不可避免的出现颜色变化的现象,这使得基于颜色分割的识别方式并不可靠。因此如何快速高质量的对交通标志进行识别,是研究的重点。其改进后的网络结构图如图3所示,符号 前数字为特征图大小,符号 后为特征图个数。

原神经网络输入图像是32 × 32单通道的灰度图,但是交通标志在32 × 32的尺度下难以分辨,因此这里将网络改成了64 × 64的输入。同时考虑到交通标志的背景以及构成会比手写数字要复杂得多,因此增加了每层卷积核的个数,原本的網络卷积层数较浅,特征提取比较粗糙,若运用在结构复杂的交通标志识别上,准确率不高。因此将原来第二层和第四层卷积核为2 × 2,步长为2的降采样层改为卷积核大小为2 × 2,步长为2 的卷积层。卷积层能够提取的特征越精细,那么输入图片能够被识别的可能性就越大,识别精度越高。改进后的网络不包括输入层一共有八层,包括五个卷积层,一个池化层,一个全连接层以及最后的输出层,其中输入为64×64大小的灰度图像。为了提取更多的信息,这里适当的增加了卷积核的个数。最后通过softmax分类器,输出62个交通标志类别的概率。

表1为改进后卷积神经网络每层对应的卷积核大小(Kernel Size),步长(Stride),和特征图大小(Feature map size)及个数(Feature map number)。

卷积层与池化层输出特征图维度的计算公式为:

Y = ■ + 1      (4)

X:输入的维度,W:卷积核大小,stride:步长,pad:扩充边缘。

关于第i层卷积层的计算,设xlj代表的是第l层中存在的第j个特征图,其表达式如下:

xlj = f■xl-1j    *klij + blj    (5)

其中xl-1j    为第l-1层存在的第 个特征图,Mj为输入特征图集合,k为卷积核,b为偏置参数,f()为选择的激活函数,*代表卷积运算。

其中池化层采用最大池化,假如输入特征映射组为x∈RM × N × D,对于其中每个特征映射Xd,将其划分为很多区域Yd    m,n,1≤m≤M′,1≤n≤N′这些区域可重叠可不重叠。采用最大池化则取一个区域内所有神经元的最大值,公式如式(6):

Yd    m,n = ■xi        (6)

其中xi为区域内Rdk內每个神经元的激活值。

对每一个输入特征映射Xd的M′ × N′个区域进行子采样,得到池化层的输出特征映射Yd = {Yd    m,n},1≤m≤M′,1≤n≤N′。

2   实验过程及结果

2.1   数据集准备

BelgiumTSC交通标志数据集的图像已经截取好且清晰度较好,数据集包括了各个方位的图片,在实验初期更适合网络的训练。因此选用BelgiumTSC交通标志数据集作为实验数据进行对比实验。

BelgiumTSC是比利时一个公开的交通标志数据集,共有62种不同类型的交通标志,包含3773个训练样本和2032个测试样本,图片大小为 64 × 64。数据集中的62类图片均为行驶车辆从真道路场景拍摄到所得,涵盖了不同天气、背景、污损程度、光照条件的交通标志。图4为BelgiumTSC交通标志数据集分布直方图。

但是从BelgiumTSC交通数据集各类交通标志的分布直方图来看,它的各类交通标志分布并不均匀。增强机器学习鲁棒性的最直观的一个策略就是使用更多的数据来训练模型,即数据集增强。因此本次实验对训练集中数据量较少的类别进行数据扩充,随机采用了加入随机高斯噪声、亮度调整、平移三种数据增强策略,经裁剪和扩充后,训练数据集达到21076张,新的数据集在扩充之后均衡性得到了提升,扩增后的BelgiumTSC数据集分布直方图如图5所示。实验采用扩增后的BelgiumTSC数据集进行训练,其中随机抽取80%为训练集,20%为测试集。

交通标志数分布情况

2.2   实验过程及结果

实验平台为Windows(64 bit)操作系统,12GB内存,采用tensorflow深度学习框架,软件环境为pycharm。

训练期间参数的设置:本模型采用Adam优化器,学习率采用衰减的方式,初始学习率设置为学习率为10-3;每一千次降低一次学习率,降低比例为原来的0.1倍。

为了防止训练过程中过拟合,权重衰减项为0.0005,动量为0.9。由于LeNet-5网络在迭代5500已经趋于稳定,因此这里将迭代次数设置为5500。与softmax激活函数相对应的loss函数(损失函数),在此为交叉熵损失函数:

L = ■■-■yic log(pic)    (7)

其中:N为样本的总数,M为类别的数量,yic为指示变量(0或1),如果该类别和样本 的类别相同就是1,否则是0,pic为观测样本i属于类别c的预测概率。图6为交通标志识别流程。

如图7为传统LeNet-5网络与改进后的卷积神经网络的准确率曲线以及损失曲线图。由图7中准确率曲线可以看到,两个网络在迭代3000次左右都趋于稳定,之后逐渐趋于1,没有出现过拟合现象,说明网络得到了充分的训练,改进后的卷积神经网络准确度有了明显的提升。从损失曲线图来看,网络在训练了150次左右,逐渐收敛,训练平稳后改进后网络损失值更小,准确度更高。说明基于卷积神经网络的改进是快速而有效的。

关于改进后的卷积神经网络部分交通标志识别结果如图8,其中图8选取了准确率比较低的几种情况。BelgiumTSC交通数据集一共有62个小类。从图8的检测结果来看,在特殊环境下,标志牌表面模糊,部分遮挡,曝光过度等对模型识别准确率有一定的影响,但并未造成图片误识。图片a由于标志遮挡,造成图片准确率比较低,测试图片准

确率为86.73%。图片b由于强光反射造成曝光过度,但由于其标志线条并没有因为被强光改变,没有造成识别错误,准确率较低,为89.05%。图片c由于原始图片采集速度过快,造成了图片模糊,准确率为83.47%。大部分类别图片在清晰度,曝光度都正常的情况下,其准确率都在95%以上。通过观察数据集发现,准确率比较低的类别可能存在以下不同的情况。原数据集图片比较少且图片光线较暗的类别如类11,类60等,数据集中图片类型角度比较单一,网络能够学习的特征较少,造成测试集准确率比较低。类别51,其所含的交通标志结构特征比较复杂,学习难度相对大,类别47,类别48,类别49的相似度极大也可能造成图片误识。实验过程中错误分类的图片,大都是曝光过度,过于模糊等肉眼比较难以分辨的图片。在正常情况下,少量噪声和光照污染不会影响图片的识别结果。总结来说,改进后的卷积神经网络在准确度和性能上来说都有了一定程度的提升。

2.3   自对比实验

为了验证深度可分离卷积和卷积层与全连接层的连接对实验结果的有效性,因此进行了自对比实验。为了验证深度可分离卷积只对改进网络的速度有效,并不会影网络模型的准确度,因此将深度可卷积分离与常规卷积进行对比,即设定改进条件一,即保持在改进卷积神经网络的基础上,将卷积层改为常规卷积,设定只采用改进条件一为对比模型一。设定改进条件二为在改进卷积神经网络的基础上,将卷积层C2和C4还原为降采样层,验证其特征传递的有效性,此为对比模型二。实验中关于其他的超参数设定一致。

關于对比实验结果如表2,从实验结果来看,引入深度可分离卷积降低了网络训练负担,训练时间由50 min减少到了35 min,测试耗时也相对应的减少了,同时也验证了其改进并不会影响到准确率,而增加的卷积层对准确度有一定的提升作用。网络识别精度由97.5%提升到了98.7%,尽管网络的加深会导致计算量的增加,但从对比实验来看,在未引入深度可分离卷积时,训练时间为50分钟,同时加深网络和深度可分离卷积,网络的训练时间明显降低,因此验证了本网络的相关改进是有效的。

2.4   算法实验结果比较

为了客观的验证改进网络的有效性,因此基于相同的数据集将改进网络模型与其他交通标志识别算法的结果进行比较,表3列举了不同算法在BelgiumTSC数据集上进行实验的准确率及训练耗时,随机抽取八十张图片进行测试的耗时,以及模型大小的对比。

表3包含七种相关交通标志识别模型的运行时间和所占内存大小。从表中数据可以看出,改进的卷积神经网络,在识别准确率上高达98.72%,仅略低于VGG16网络的98.93%和MCDNN网络的99.52%;网络模型训练时长为35分钟,高于MobileNetV3网络的20分钟和ShuffNet网络的30分钟,这是因为网络层数的不断加深,虽然网络精度会逐渐提高,但是对应的网络训练时长也会增加;在数据集上的测试速度为3秒,明显优于表中LeNet-5网络的10秒,VGG16网络的12秒,MCDNN网络的15秒,表明了深度可分离卷积有效的加快了识别速率;在内存占用比上为7.6/MB,相比于表中VGG16网络的129/MB,MCDNN网络的153/MB减小了十倍左右。从整体性能来说,改进网络的性能高于表中其他网络,实时性和准确率满足辅助驾驶系统交通识别的要求,同时降低了算法对运行平台设备的硬性要求。

3   结   论

提出了一种轻量型交通标志识别模型,对卷积神经网络的识别精度和速度性能从两个方面提出改进。一方面通过改进网络结构,加深网络层,利用卷积层替换降采样层,另一方面结合深度可分离卷积,大大减小网络计算量,提高网络的识别速度。在扩充后的BelgiumTSC交通数据集实验结果表明,改进后的网络相对于原网络在识别精度和速度性能上都有所提升,同时还降低了设备的占用内存,各项性能均优于原网络。应用在实际的自动驾驶中,为满足实际的道路交通情况,要求网络对小目标的交通标志有更强的识别性,后期可以考虑引入Faster-RCNN中anchor的思想,以及重新设置IOU的阈值来增大对小目标的交通标识检测率。

参考文献

[1]    童英,杨会成. 基于改进卷积神经网络的实时交通标志检测方法[J]. 激光与光电子学进展,2019,56(07)123-129.

[2]    马永杰,李雪燕,宋晓凤. 基于改进深度卷积神经网络的交通标志识别[J]. 激光与光电子学进展,2018,55(12):250-257.

[3]    徐岩,韦镇余. 一种改进的交通标志图像识别算法[J]. 激光与光电子学进展,2017,54(02):124-131.

[4]    汪贵平,盛广峰,黄鹤,等. 基于改进LeNet-5网络的交通标志识别方法[J]. 科学技术与工程,2018,18(34):78-84.

[5]    KRIZHEVSKY A,SUTSKEVER I,HINTON G E. Imagenet classification with deep convolutional neuralnetworks [C]//Advances in Neural Information Processing Systems,2012:1097-1105.

[6]    SERMANET P,LECUN Y. Traffic sign recognition with multiscale convolutional networks [C]//International Joint Conference ference on Neural Networks,2011:2809-2813.

[7]    CIRESAN D,MEIER U,MASCI J. Multi-column deep neural network for traffic sign classification[J].  Neural Networks,2012,32:333-338.

[8]    LECUN Y,BOTTOU L. Gradient-based learning applied to document recognition[J].  Proceedings of the IEEE,1998,86(11):2278-2324.

[9]    HOWARD A. Searching for mobile NetV3[C].2019 IEEE/CVF International Conference on Computer Vision(ICCV),Seoul,Korea(South),2019:1314-1324.

[10]  MISR A D. Mish:a self regularized non monotonic neural activation Function[J]. arXiv preprint arXiv:1908.08681,2019.

[11]  魯寒凝. 基于HOG特征的交通标志检测与识别算法研究[D].西安:长安大学,2015.

[12]  于雅洁. 基于DNN技术的交通标志识别方法研究[D].沈阳工业大学,2016.

[13]  SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[J].  arXivpreprint arXiv:1409.15562014.

[14]  ZHANG X,ZHOU X,LIN M,et al. An extremely efficient convolutional neural network for mobile devices[J].  arXiv preprint arXiv:1707.01083.

[15] SANDLER M,HOWARDA,ZHU M. MobileNetv2:inverted residuals and linear bottlenecks. [C]// IEEE Conference on Computer Vision and Pattern Recognition,2018:4510-4520.

[16]  HUANG G,LIU Z,MAATEN LVD. Densely connected convolutional networks. [C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2017:2261-2269.

[17]  VEIT A,WILBER M J,BELONGIES. Residual networks behave like ensembles of relatively shallow networks.[C]// Neural Information Processing Systems,2016,10(2):550-558.

[18]  LI Jia,WANG Zeng-fu. Real-time traffic sign recognition based on efficient CNNs in the wild[J]. IEEE Transactions on Intelligent Transportation Systems,2019,20(3):975-984.

[19]  NATARAJAN S,ANNAMRAJUA K,BARADKAR C S. Traffic sign recognition using weighted multi- convolutional neural network[J]. IET Intelligent Transport Systems,2018,12(10):1396-1405.

[20]  STALLKAMP J,SCHLIPSINGM,SALMEN J. The German traffic sign recognition benchmark:a multi-class classification competition[C]//2011 International Joint Conference on Neural Networks,2011:1453-1460.

猜你喜欢

图像增强卷积神经网络
基于非下采样剪切波变换与引导滤波结合的遥感图像增强
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
基于双树四元数小波变换的图像降噪增强
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
图像增强技术研究
基于卷积神经网络的树叶识别的算法的研究
雾天图像增强中Retinex算法的细节信息优化
环形稀疏孔径结构的研究