宋青松 张超 田正鑫 陈禹 王兴莉
摘 要:针对自然场景中交通标志识别问题涉及的识别准确率和实时性改善需求,提出了一种改进的基于多尺度卷积神经网络(CNN)的交通标志识别算法.首先,通过图像增强方法比选实验,采用限制对比度自适应直方图均衡化方法作为图像预处理方法,以改善图像质量.然后,提出一种多尺度CNN模型,用于提取交通标志图像的全局特征和局部特征.进而,将组合后的多尺度特征送入全连接SoftMax分类器,实现交通标志识别.采用德国交通标志基准数据库(GTSRB)测试了所提算法的有效性,测试结果表明,算法在GTSRB基准数据集上获得98.82%的识别准确率以及每幅图像0.1 ms的识别速度,本文算法具有一定的先进性.
关键词:模式识别系统;交通标志识别;多尺度卷积神经网络;SoftMax分类器
中图分类号:TP391.4 文献标志码:A
Abstract:In view of the improvement requirements for accuracy and realtime performance of traffic sign recognition in natural scenes, an improved traffic sign recognition algorithm was proposed based on a multiscale Convolutional Neural Network (CNN). At first, the comparison experiments on image enhancement methods was carried out, and contrast limited adaptive histogram equalization method was chosen as the preprocessing method to improve the image quality. Then, one kind of multiscale CNN model was proposed to extract global and local features of the traffic sign images. Finally, the traffic signs were recognized after the combined multiscale features were put into a fully connected SoftMax classifier. The effectiveness of the proposed algorithm was examined on the benchmark datasetthe German Traffic Sign Recognition Benchmark (GTSRB). The examination results show that the proposed algorithm can achieve 98.82% recognition accuracy and realtime processing with 0.1 ms per image on GTSRB dataset, which verified its superiority to some extent.
Key words:pattern recognition systems;traffic sign recognition;multiscale convolutional neural network;SoftMax classifier
交通標志识别是智能交通系统的重要组成部分,同时交通标志识别是基于自然场景的识别,识别性能极易受到光照、天气、运动模糊、旋转倾斜、人为损坏等因素的影响.
在交通标志识别算法中,传统算法有随机森林、支持向量机(Support Vector Machine,SVM)、线性判别分析(Linear Discriminant Analysis,LDA)等[1-4].以上方法,首先人工提取特征,如HOG特征(Histogram of Orientated Gradient,HOG)、Haar特征、SIFT特征(Scaleinvariant feature transform,SIFT)、LBP特征(Local Binary Pattern,LBP)等[5-8],之后利用特征进行分类.大部分算法使用单一的特征进行识别,但单一特征难以充分描述标志的所有信息.文献[3,9]使用组合特征进行分类,将多种独立的特征联合起来,多种特征优势互补,在分类中取得了不错的效果.无论单一特征还是多特征组合都是基于人工提取的特征.近年来随着深度学习的兴起,很多分类方法不再通过人工选取的特征进行分类,而是将彩色图像或者灰度图像直接输入到卷积神经网络(Convolutional Neural Network,CNN),通过CNN学习生成特征,此类特征在交通标志分类问题应用中往往能够改善分类性能[10-12].
文献[12]提出了一种多列CNN组合的模型,共有25列CNN,每一列最后一层都使用了一个全连接的SoftMax分类器,最终得到25列网络输出的平均值作为该图像的最终分类结果.文献[13]通过旋转、平移、缩放等方法扩充了训练集,然后将灰度图像直接输入到CNN当中,使用批量归一化算法和支持向量机分类器加快收敛速度,缩短了训练时间.这些算法在德国交通标志基准数据库(German Traffic Sign Recognition Benchmark,GTSRB)中均取得了较高的识别率;但是在算法中,文献[12]训练多个CNN,而文献[13]将数据集扩增了3.9倍,都增加了训练的时间;并且以上方法使用的均为最后一层卷积层的特征进行分类,特征尺度单一.多尺度特征在人脸识别、图像分割等应用中表现出一定的优越性[14],但在交通标志分类中的应用还有待进一步研究.
本文提出一种改善的基于多尺度CNN的交通标志识别算法,首先开展图像预处理方法比选实验研究,改善图像质量;然后,设计多尺度CNN模型与方法,提取多尺度特征;最后,使用SoftMax分类器实现对交通标志的识别分类.为便于与典型的交通标志识别算法作横向比较,基于GTSRB基准数据库开展了算法性能对比实验.
1 GTSRB基准数据库
波鸿大学在2011年神经网络国际联合会议(IJCNN 2011)上,公布了由INIRTCV组织建立的德国交通标志数据库(GTSRB),并且举办了交通标志识别大赛,从而为横向比较各种典型的交通标志识别算法提供了基准数据库[15].GTSRB数据库中的交通标志图像全部从自然场景中采集得到,共有5大类43小类标志,51 839幅图像分为训练集和测试集两部分,其中训练集39 209幅,测试集12 630幅.43小类交通标志如图1所示.
GTSRB数据库中交通标志图像来源于车载高清摄像头拍摄的视频,交通标志图像是以“Track”为单位,每一幅图像含有且仅有一个交通标志,一个“Track”由包含同一类交通标志的、分辨率从小到大的一组30幅图像组成.每一类交通标志都包含在至少9个“Track”中,如图2所示.
2 算法设计
2.1 图像预处理
鉴于GTSRB数据库中交通标志图像质量参差不齐这一事实,首先开展图像预处理方法比选实验研究,减弱环境因素的影响,改善图像质量.预处理方法比选实验涉及图像尺寸归一化、图像对比度增强两部分.
2.1.1 尺寸归一化
GTSRB数据库中每幅图像中都包含约占全图面积10%的非交通标志区域,并且明确标注了该区域的位置.基于该标注可以直接分割出完整的交通标志.但是,如图2所示,实际采集交通标志识别的过程中,随着摄像头与交通标志之间的距离变化,归属同一个“Track”的图像分辨率在15×15到222×193像素之间变化,有必要首先作尺寸归一化处理.
统计GTSRB数据库中所有圖像分辨率大小,得到分辨率分布的中位数是41×40.插值方法是图像尺寸变换的关键.双线性插值法计算量适中,并且能够保持灰度连续.综合运算量和图像特征尽可能保留两方面考虑,本文使用双线性插值法,将所有交通标志图像尺寸归一化为32×32像素.
2.1.2 图像增强
图像增强通常通过改变对比度改善图像质量,直方图修正是常用的一种图像增强方法,能够有效避免直接灰度变换图像增强方法涉及的最优参数取值难以确定这一问题.使用直方图均衡化、限制对比度自适应直方图均衡化两种方法对图像增强开展比选实验.两种方法作用的效果如图3所示.
限制对比度自适应直方图均衡化方法通过裁剪限幅实现,裁剪阈值取0.01.从图3中的第1、2和第3行可以看出,直方图均衡化后的图像背景噪声增多,前景交通标志和背景对比区分不明显;而限制对比度自适应均衡化方法导致的背景噪声增大不明显,前景交通标志和背景对比区分明显.从第4、第5行可以看出,限制对比度自适应均衡化方法能够进一步突出图像细节,在第4行警告标志中,前景三角形标志与背景对比区分更显著,第5行信号灯提示标志中,不同信号灯对比区分更明显.因此,限制对比度自适应直方图均衡化优于直方图均衡化,采用前者进行图像增强.
2.2 多尺度卷积神经网络
CNN已经被证实在多个图像识别任务中表现出良好的特征表征能力.与常规的人工特征提取方法相比,CNN可以直接作用于彩色图像,进行特征提取.与常规神经网络相比,CNN使用局部感受野和权值共享机制,极大地降低了训练参数的数量,CNN使用池化技术能够有效降低特征维度,并改善泛化性能.通常CNN由输入层、卷积层、池化层、全连接层、输出层等组成,全连接层基于最后一个池化层的输出实现分类,特征尺度是单一的.Sermanet等[10]在基于CNN的分类中使用了全局和局部两种不同尺度的特征,相对于单一尺度CNN,多尺度CNN将每一池化层的输出都输入到末端全连接层中用于分类,取得了良好效果.
针对交通标志识别问题,归属同一大类(如警告标志、限速标志等)交通标志的小类之间的区别,主要在于图像中心区域的局部图案间的差异.实现交通标志的准确分类,需要全局特征(以区分大类)和边缘、角点等局部特征相互组合,这一需求与多尺度CNN具有的多尺度特征融合内在特性相吻合.因此,本文提出一种多尺度CNN模型用于交通标志分类,将每一个池化层的输出都施加到后端全连接层,以改善识别性能.
多尺度CNN结构如图4所示.输入的是经过预处理的交通标志RGB图像.CNN包含三层卷积层,第一卷积层使用32个5×5的卷积核,卷积跨度为1,权重正则项使用L2正则,系数为1×10-5;第二卷积层使用64个5×5的卷积核,其他参数与第一层相同.第三卷积层使用128个5×5的卷积核.三层最大池化层窗口均为2×2,跨度为2.第二池化层的特征经过窗口为4×4、跨度为4的最大池化后与第三池化层特征连接,第一池化层的特征做同样的操作并连接.将得到的多尺度特征串联,得到3 584维的特征,输入到全连接层(神经元个数为256);全连接层后接SoftMax输出层(神经元个数为43).
3 实验与分析
实验使用的计算机配置为I57500处理器,主频3.4 GHz,内存为8 G,Nvidia GeForce 1050Ti显卡,显存为2 G.基于GTSRB基准数据库测试算法有效性,算法实现基于Keras框架和TensorFlow开源库.
3.1 多尺度CNN参数
针对卷积核大小,全连接层神经元个数,权重初始化方式,激活函数、优化器,Dropout参数以及分类器等开展比选实验研究,最终确定卷积核大小为5×5,全连接层神经元个数256,权重初始化方式采用glorot uniform,使用ReLU作为激活函数,损失函数使用交叉熵损失,优化器使用Adam梯度下降算法,初始学习率为0.001,Dropout参数确定为0.5,SoftMax分类器进行分类.在训练时,使用EarlyStopping停止准则,设置参数为60次;此外,在训练时还使用了动态的学习率,防止训练时错过最小值点,当验证集的损失连续10次不降低时,将学习率减小5倍,最小学习率设置为1×10-6;设置minibatch的大小为128,最大训练次数为1 000,验证集大小为训练集的25%.
1)卷积核尺寸.卷积神经网络的卷积核尺寸通常分别设置为3×3, 5×5,7×7.本文对此进行比选实验,结果如表1所示,表明采用5×5的卷积核,虽然训练时间相对较长,但识别准确率最高,损失最小.
2)全連接层神经元个数.开展了全连接层神经元个数比选实验,将神经元个数分别设置为128、256和512,实验结果如表2所示.全连接层神经元个数为256时损失最小,识别准确率最高.
3)权重初始化方式.常用的初始化方式有glorot normal[16],glorot uniform,he normal[17],he uniform等方法,对算法性能的影响如表3所示.采用glorot uniform作为权重初始化的模型不仅训练时间相对较短,而且损失最低,识别准确率也最高,因此模型权重初始化方式采用glorot uniform.
4)激活函数.不合适的激活函数会导致梯度饱和、梯度消失等现象.尝试使用了Sigmoid、Tanh、ReLU[18]、LReLU、PReLU[17] 5种激活函数,实验结果如表4所示.
由表4可知,使用ReLU作为激活函数,虽然每次迭代的训练时间最长,但得到的损失最小,且识别准确率最高,因此使用ReLU激活函数.
5)优化方法选择.常用的优化方法有SGD、Adagrad[19]、Adadelta[20]、RMSprop以及Adam[21],对算法性能的影响如表5所示.
发现在所有优化方法中,虽然Adam每次迭代使用的时间最长,但是该方法训练的网络模型损失最小,识别准确率最高,因此使用Adam作为优化方法.
6)Dropout参数设置.深度神经网络训练过程中,引入Dropout机制通常可以改善模型的泛化能力.本文开展了Dropout参数比选实验,结果如表6所示,表明所提网络模型中涉及的三层卷积层和最后一层全连接层每层的Dropout参数全部设置为0.5,损失最小,准确率最高.
7)分类器选择.网络模型训练时,使用SoftMax作为分类器,并得到SoftMax的分类准确率.网络模型训练完成后将整个训练集上,网络全连接层的256维特征,用于SVM分类器的训练.同时比较不同的核函数,对SVM分类器分类效果的影响.SVM分类器的训练时间,准确率以及SoftMax分类器的准确率如表7所示,实验结果表明SoftMax分类器的准确率更高.
3.2 实验结果
多尺度CNN各项参数设置如3.1节所述,实际训练次数为437次,训练总用时4 029 s,训练过程中,训练集和验证集的损失变化曲线与识别准确率变化曲线如图5所示.
由图5(a)可知,训练初期训练集和验证集的损失不断在减小,在第377次迭代验证集损失取得最小值,训练集损失仍然不断降低,但是验证集损失连续60次迭代不降低,由于设置EarlyStopping参数为60,所以在第437次迭代停止训练.从图5(b)可以看到,训练集和验证集的识别准确率在训练前期不断上升,在后期训练集识别准确率仍然不断提高,但是验证集的识别准确率却呈现降低趋势.基于以上分析,本文算法在第377次迭代取得最好的训练结果,将第377次训练得到的模型用于测试集的测试.
对于测试集的12 630幅图像,识别准确率为98.82%,损失为0.067 3,测试用时1.295 s,平均每幅图像0.1 ms,本文算法满足交通标志识别系统对实时性、准确性的要求.
为了验证多尺度CNN相比于单一尺度CNN的优越性,在相同参数下,分别使用本文算法和单一尺度CNN方法对交通标志进行识别,结果如表8所示.单一尺度的CNN没有使用浅层的特征,只通过堆积卷积和池化,使用最后一层提取到的特征进行分类.
从表8中可以看出,由于本文方法使用了多种尺度的特征,因此参数数量比单一尺度CNN多28%,训练时每次迭代的时间也要多1 s.虽然本文方法的训练时间要远远大于单一尺度CNN方法,但是两者在识别12 630幅图像的时间上相差无几,因此在实际应用中并不会产生影响,而且本文方法的损失要低于单一尺度CNN方法,说明本文网络模型的泛化性能更好,对交通标志的特征表达能力更强.本文方法得到98.82%的识别准确率也要比单一尺度CNN高出0.44%,说明本文使用的多尺度CNN比使用单一尺度CNN在交通标志识别上具有一定的优越性.
如表9所示,虽然本文方法的正确识别率低于文献[12]中多列神经网络组合的正确率,但是本文方法在更低配置上的训练时间远远低于文献[12]的37 h,并且本文方法的正确率高于文献[12]单列神经网络最优的识别率;本文方法的正确识别率与人类识别率98.84%相差无几;本文在训练时间和准确率上均优于文献[14]中的CNN和SVM的方法;而使用随机森林、SVM和LDA对HOG特征进行分类的方法正确率普遍偏低.
本文方法通过使用图像预处理和多尺度CNN方法改善了训练速度慢、识别率低的问题,能够基于较差的硬件配置,花费更少的训练时间,获得较好的识别正确率.
4 结 论
为改善自然场景中交通标志的识别效率,提出一种改进的基于多尺度CNN的交通标志识别算法.通过图像预处理方法比选实验,选取限制对比度自适应直方图均衡化方法用于图像增强,图像质量得到改善.提出一种多尺度CNN模型,优化了CNN权重初始化方式、激活函数、优化器等参数取值方案,用于提取交通标志图像的全局特征和局部特征.基于GTSRB数据库的测试结果表明,算法取得了98.82%的识别准确率和识别每幅图像仅需0.1 ms的实时性能,具有一定的先进性.
参考文献
[1] BOI F,GAGLIARDINI L.A support vector machines network for traffic sign recognition[C]//International Joint Conference on Neural Networks.Washington DC: IEEE Computer Society,2011:2210-2216.
[2] WANG G,REN G,WU Z,et al.A hierarchical method for traffic sign classification with support vector machines[C]//The 2013 International Joint Conference on Neural Networks (IJCNN).Washington DC: IEEE Computer Society,2013:1-6.
[3] TANG S,HUANG L L.Traffic sign recognition using complementary features[C]//2013 2nd IAPR Asian Conference on Pattern Recognition (ACPR).Washington DC: IEEE Computer Society,2013:210-214.
[4] SUGIYAMA M.Local fisher discriminant analysis for supervised dimensionality reduction[C]//Proceedings of the 23rd International Conference on Machine Learning.New York: ACM,2006: 905-912.
[5] DALAL N,TRIGGS B.Histograms of oriented gradients for human detection[C]//IEEE Conference on Computer Vision & Pattern Recognition.Washington DC: IEEE Computer Society,2005:886-893.
[6] VIOLA P,JONES M.Rapid object detection using a boosted cascade of simple features[C]//Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Washington DC: IEEE Computer Society,2001:511-518.
[7] LOWE D G.Distinctive image fearures from scaleinvariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[8] OJALA T,HARWOOD I.A comparative study of texture measures with classification based on feature distributions[J].Pattern Recognition,1996,29(1):51-59.
[9] ZHU Y,WANG X,YAO C,et al.Traffic sign classification using twolayer image representation[C]//2013 20th IEEE International Conference on Image Processing (ICIP).Washington DC: IEEE Computer Society,2013:3755-3759.
[10]SERMANET P,LECUN Y.Traffic sign recognition with multiscale convolutional networks[C]//The 2011 International Joint Conference on Neural Networks (IJCNN).Washington DC: IEEE Computer Society,2011:2809-2813.
[11]DAN C,MEIER U,MASCI J,et al.Multicolumn deep neural network for traffic sign classification[J].Neural Networks,2012,32(1):333-338.
[12]CIRESAN D,MEIER U,MASCI J,et al.A committee of neural networks for traffic sign classification[C]//The 2011 International Joint Conference on Neural Networks (IJCNN).Washington DC: IEEE Computer Society,2011: 1918-1921.
[13]王曉斌,黄金杰,刘文举.基于优化卷积神经网络结构的交通标志识别[J].计算机应用,2017,37(2):530-534.
WANG X B,HUANG J J,LIU W J.Traffic sign recognition based on optimized convolutional neural network architecture[J].Journal of Computer Applications,2017,37(2): 530-534.(In Chinese)
[14]LONG J,SHELHAMER E,DARRELL T.Fully convolutional networks for semantic segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition.Washington DC: IEEE Computer Society,2015:3431-3440.
[15]NAMOR A F D D,SHEHAB M,KHALIFE R,et al.The German traffic sign recognition benchmark: A multiclass classification competition[C]//International Joint Conference on Neural Networks.Washington DC: IEEE Computer Society,2011:1453-1460.
[16]GLOROT X,BENGIO Y.Understanding the difficulty of training deep feedforward neural networks[C]//Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics (AISTATS 2010).Washington DC: IEEE Computer Society,2010:249-256.
[17]HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition.Washington DC: IEEE Computer Society,2016:770-778.
[18]KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems 25 (NIPS 2012),Neural Information Processing Systems Foundation,Inc,2012:1097-1105.
[19]DUCHI J,HAZAN E,SINGER Y.Adaptive subgradient methods for online learning and stochastic optimization[J].Journal of Machine Learning Research,2011,12(7):2121-2159.
[20]ZEILER M D.ADADELT A: An adaptive learning rate method[EB/OL]. (2017520).http://arxiv.org/abs/1212.5701,arXiv preprint.
[21]KINGMA D P,BA J.Adam: A method for stochastic optimization[C]// Proceedings of the 3rd International Conference on Learning Representations.New York: ACM,2015:1-15.