1引言
现代社会经济发展迅速,汽车给人类带来了很大的便利,自动驾驶、无人驾驶也逐步进入商业应用,交通标志识别对行车安全至关重要,因此必须解决交通标志的识别问题。然而交通标志识别容易受到天气变化、遮挡、光照强度变化等影响,这给无人驾驶的应用带来了很大的安全风险。针对交通标志所处环境的复杂性,设计一个准确率高、实时性能好、鲁棒性强的交通标志识别系统至关重要。
交通标志识别系统分为交通标志检测和交通标志识别,而交通标志检测常见的方法有基于颜的方法、基于形状的方法、基于多特征融合的方法和基于深度学习的方法。基于深度学习的方法具有较明显的优势。交通标志识别常用的方法有基于模板匹配的方法、基于
交通标志识别方法综述
伍晓晖1,田启川1,2
1.北京建筑大学电气与信息工程学院,北京100044
2.北京建筑大学建筑大数据智能处理方法研究北京市重点实验室,北京100044
摘要:交通标志识别对于车辆安全行驶具有重要作用,特别是针对存在光照变化和遮挡的情况,准确性高
、实时性好的交通标志自动识别亟需解决。对交通标志的检测和交通标志的识别分别进行了综述,给出了它们的原理、步骤、特点和性能,以及进行算法研究常用的交通标志数据库。相比于传统的特征检测和识别方法,采用深度学习有助于解决光照变化、部分遮挡等情况下的交通标志识别难题,是今后自动驾驶和无人驾驶性能提升的主要途径。
关键词:交通标志检测;交通标志识别;深度学习
文献标志码:A中图分类号:TP391doi:10.3778/j.issn.1002-8331.1911-0006
伍晓晖,田启川.交通标志识别方法综述.计算机工程与应用,2020,56(10):20-26.
WU Xiaohui,TIAN Qichuan.Survey of traffic sign recognition.Computer Engineering and Applications,2020,56(10):20-26.
Survey of Traffic Sign Recognition
WU Xiaohui1,TIAN Qichuan1,2
1.School of Electrical and Information Engineering,Beijing University of Civil Engineering and Architecture,Beijing
100044,China
2.Beijing Key Laboratory of Intelligent Processing for Building Big Data,Beijing University of Civil Engineering and Archi-tecture,Beijing100044,China
Abstract:Traffic sign recognition plays an important role in safe driving,especially under the condition of illumination change and occlusion.Automatic recognition of traffic signs with high accuracy and high real-time performance needs to be resolved.This paper reviews the detection of traffic sign and the recognition of traffic sign.And the principles,steps, characteristics and performances of the algorithms are introduced,as well as the common traffic sign databases for algo-rithm research.Compared with traditional detection and recognition methods,deep learning algorithms is helpful to solve the difficult problems of traffic sign recognition under the condition of illumination change and partial occlusion,which is the main way to improve the performance of automatic driving and unmanned driving in the future.
Key words:traffic sign detection;traffic sign recognition;deep learning
基金项目:北京市教育委员会科技发展计划面上项目(No.KM201410016016);北京建筑大学科学研究基金(No.00331614021);北京建筑大学研究生创新项目;北京高等学校高水平人才交叉培养“实培
计划”支持项目。
机器学习的方法、基于深度学习的方法。从准确率方面来说,基于深度学习的交通标志识别率更高一些。
本文分别从交通标志检测与交通标志识别两方面进行阐述,分析其包含的算法的原理、步骤、特点和性能;对公开的交通标志数据库进行了罗列和说明;相比传统的交通标志检测与识别算法,深度学习算法有助于解决光照变化、部分遮挡等情况下的交通标志识别难题;分析基于深度学习的交通标志检测和识别需要解决的问题,并对其未来的发展趋势进行了展望。
2交通标志检测方法
交通标志的检测是交通标志识别系统中的关键技术。本文根据交通标志检测的发展历程,将典型的检测方法分为四大类:基于颜的方法、基于形状的方法、基于多特征融合的方法和基于深度学习的方法。
2.1基于颜的交通标志检测
现在国外应用最广的是德国交通标志数据库,本文仅例举了中国和德国交通标志示例。中国和德国的有些交通标志仅存在细微差别,但是还有一些交通标志具有完全不同的表示形式,例如警告标志。中国的警告标志是黑边框黄内层,而德国的警告标志是红边框白内层,红视觉感强烈,而黄调相对来说会更加温和。将检测与识别方法应用于交通标志应该考虑到这些细节。
中国的交通标志颜主要有红、黄和蓝,如图1所示。
德国的交通标志颜主要有红、黑和蓝,如图2所示。
颜是交通标志的基本属性,学者们一开始便使用颜信息来检测交通标志。
(1)RGB 颜模型方法
相机采集到的图像一般是RGB 图像,直接在RGB 图像上进行颜分割会减少计算量。Benallal 等人[1]发现从日出到日落的光照条件下,RGB 各分量之间的差
B i -R i ≥ΔBR ,则像素是蓝;其余像素是白或黑。
RGB 颜空间对光照变化比较敏感,但是光照变化对RGB 各分量之间的差异影响较小。直接对相机采集到的RGB 图片进行分割,可以减少计算量,从而极大地提高速度,满足算法实时性要求。算法也存在一定的缺点:当交通标志所处的环境比较复杂时,交通标志可能会和背景噪声混合在一起,算法不能达到良好的检测效果。
(2)HSI 颜模型方法
HSI 颜空间由美国彩学家Munseu 在1915年提出,用调、饱和度和强度三分量来描述图像,从而使图像表示更接近于人类的视觉感知。朱双东等人[2]利用HSI 颜空间对光照不太敏感的特点,将RGB 彩交通标志图像转换到HSI 彩空间,再进行阈值分割,但是去噪效果不理想。HSI 颜空间中的S 空间(彩饱和度空间)可以消除光照对图像的影响,申中鸿等人[3]在交通标志图像S 空间的灰度直方
图信息的基础上,用倒溯组内标准差法来选取全局图像分割阈值,实验结果表明该方法比HIS 空间彩判断法和迭代阈值法分割效果更好。HSI 颜空间具有光照不变等特性,因此鲁棒性好,但是将RGB 转换到HSI 颜空间具有一定的计算量,需要借助硬件处理来提高实时性。
2.2基于形状的交通标志检测
中国的交通标志形状主要有三角形、圆形和矩形,如图3所示。
德国的交通标志形状主要有三角形、圆形和矩形,如图4所示。
形状检测最常见的方法是使用某种形式的霍夫变
换[4]。方向梯度直方图(Histogram of Oriented Gridients ,HOG )是检测形状的可接受选择之一[5],其表示梯度图像的方向。在HOG 中,基本思想是将图像划分为单元格并在该单元格内累积边缘方向的直方图。最后,生成特征以通过组合直方图条目来描述对象。HOG 变换法具有旋转缩放不变性的优点,但运算量太大。Paulo 等人[6]首先通过将Harris 角点检测器应用于感兴趣的区域,然图1
中国交通标志颜示例
图2
德国交通标志颜示例
图3
中国交通标志形状示例
图4
德国交通标志形状示例
最后将模板与DT图像匹配。许少秋等人利用边缘信息来检测形状[8],首先使用离散曲线演变方法滤除边缘噪声,然后分解边缘曲线并且移除与边缘无关的部分,最后用正切函数描述形状与模板进行匹配。算法具有较强的鲁棒性,但计算过程较为繁琐。谷明琴等人针对车辆行驶环境中难以检测的交通标志[9],计算边缘转向角这样尺度不变性的形状特征,用无参数形状检测子来检测图像中的圆形、三角形和矩形等,检测率达到95%以上。
2.3基于多特征融合的交通标志检测
交通标志颜和形状都有特殊的规定,易受到环境的影响,仅仅依靠单种特征可能导致交通标志检测失败。因此将颜和形状等多特征融合的方法更有利于交通标志检测,从而提高交通标志检测算法的准确率。
汤凯等人提出一种颜特征、形状特征和尺度特征的多特征协同方法[10],采用支持向量机(Support Vector Machine,SVM)对融合特征分类获得检测结果。此方法对提取的闭合轮廓曲率直方图链码进行尺度归一化处理,但是小尺度曲率直方图易受到边缘噪声的影响,会使尺度较小的交通标志难以检测。常发亮等人提出一种基于高斯颜模型和HOG与SVM结合的快速交通标志检测算法[11],比单独使用高斯颜模型检测效果
有所提升,但是高维的HOG描述子增加了SVM分类器训练的难度。沙莎等人提出一种多通道融合的交通标志检测方法[12],结合RGB和HIS颜通道的信息,对交通标志进行分割。算法结合RGB和HIS彩空间的分割结果,弥补了对HIS空间中S空间分割造成交通标志信息缺失的缺点,提高了交通标志检测的准确率。
1998年Itti等人模仿灵长类动物早期视力特性,提出一种视觉注意系统[13],在复杂的自然环境中可以快速地检测到交通标志。之后,很多学者在此基础上提出交通标志图像显著性目标检测算法。刘芳等人提出一种基于自底向上和自顶向下相结合的视觉注意机制的交通标志检测方法[14]。根据两种注意模型提取颜、亮度、朝向、形状特征,生成显著图,从中到交通标志区域,但是检测速度特别慢,无法满足实时应用的要求。
由于文献[13]生成的显著图分辨率低,保留的空间频率范围有限,Achanta等人提出图像显著性的频率调
谐方法[15]。该算法提高了图像检测的准确率和实时性,比传统颜分割方法滤除图像噪声的能力更强,定位图像更精准。余超超等人[16]首先采用文献[15]的频率调谐显著性分割方法,然后设定轮廓周长阈值来过滤干扰,接着用凸壳处理方法滤除高维信息,最后用傅里叶描述子分析轮廓,并与标准数据库进行比对来检测交通标志。此方法鲁棒性强,满足交通标志检测实时性要求,
会弥补单个特征的不足,提高交通标志的检测准确率。
2.4基于深度学习的交通标志检测
深度学习完全不同于前面的方法,它通过训练和学习来提取特征,从而实现交通标志的检测。
基于候选区域提取的目标检测算法检测精度高,RCNN(Regions with CNN features)就是由Girshick等人提出的一种基于候选区域的目标检测算法[17],它包含丰富的特征层次结构,用于精确的对象检测和语义分割,通过使用深度卷积神经网络(Convolutional Neural Network,CNN)对对象提议进行分类,实现了出的对象检测精度。但是,因为它重复提取并存储每个候选区域的特征,花费了大量的计
算时间和存储资源。同时RCNN使用区域拉伸将每个候选区域统一成227×227的尺寸,影响CNN提取特征的质量,降低了检测精度。He等人提出了空间金字塔汇集网络(SPP-Net)[18]。SPP-Net 不再单独提取每个候选区域的特征,而是计算整个输入图像的卷积特征映射,再在特征图上取出对应于不同候选区域的特征,处理速度比RCNN提高了24~102倍。为消除网络的固定大小约束,SPP-Net在最后一个卷积层后添加一个空间金字塔池化层(Spatial Pyramid Pooling,SPP),SPP合并特征并生成固定长度的输出,然后将其输入到全连接层(或其他分类器)中,提升了CNN提取特征的质量。SPP-Net也有明显的缺点,它的训练是多阶段的,而不是端到端的方法。Fast RCNN实现了在共享卷积特征上训练的端到端检测[19],并提高了准确性和速度。Fast RCNN训练非常深的VGG16网络比RCNN快9倍,与SPPnet相比倍,并在PASCAL VOC2012上实现了更高的mAP。与SPP-Net不同,Fast RCNN把SPP层替换成RoI Pooling层。RoI Pooling层是SPP层的一个特例,将不同尺度的特征图下采样到一个固定的尺度。此外,Fast RCNN将候选区域分类损失和位置回归损失统一在同一个框架中,实现多任务损失函数,降低了训练所需的存储空间。Faster RCNN引入了一个区域候选网络(Region Proposal Network,RPN)[20],替换了Fast RCNN采用的选择性搜索方法,它与检测网络共享全图像卷积特征,从而实现了几乎无成本的区域提议。为了将RPN与Fast RCNN对象检测网络统一起来,引入了一种训练方案,该方案在区域提议任务的微调和物体检测的微调之间交替,同时保持提议的固定。FPN(Feature Pyramid Network)在特征金字塔上使用RPN网络提取候选区域[21],通过将深层特征与浅层特征相融合,在特征金字塔的多个尺度上进行预测,从而加强了浅层特征图的语义,提高了小目标的检测精度。
为了提高检测速度,Redmon等人提出YOLO网络,
[22]
交通警告标志框位置中的对象类别和偏移[23],采用多尺度特征图预测,在不同尺度的特征图上直接提取预设数目default box进行预测,比YOLO网络检测更快,而且精度更高。
为获取位置更精确的检测边界框,Jiang等人提出IoU-Net网络[24],使用网络训练IoU(Intersection-over-Union)分支,提取每个边界框的定位置信度,从而提升了定位的精度。还提出PrRol-Pooling,解决了Faster RCNN中Rol Pooling取整运算时一定程度丢失位置信息的问题。但是IoU-Net网络还存在一定的局限性:IoU与常用的损失没有强相关性;如果两个对象不重叠,则IoU 值始终为零且无法优化,并且不会反映两个形状彼此之间的距离;IoU无法准确区分两个对象的对齐方式。为此,Rezatofighi等人提出用GIoU(Generalized Intersection over Union)损失函数作为边界框回归分支的损失[25],可以提升2%~14%的准确度。
卷积神经网络结构复杂,参数太多,会导致无法应用到实际场景中检测交通标志。因此Aghdam等人[26]提出一种轻量级的卷积神经网络,该网络使用膨胀卷积实现滑动窗口方法,使用数据集中的统计信息来加快网络前向传播的速度,在德国交通标志检测数据库(German Traffic Sign Detection Benchmark,GTSDB)上测试得到99.89%的精确度,在NVIDIA GTX980GPU
硬件上运行每秒可以检测定位37.72张高分辨率图像。
交通标志会被树木、建筑物、旁边行驶的车辆等遮挡,且交通标志还会被其他交通标志遮挡,这给交通标志定位带来一定的挑战。为了解决检测目标被遮挡的问题,Wang等人提出Repulsion Loss来约束检测器的推荐区域[27]。Repulsion Loss包括两部分:缩小提案与其指定目标之间的距离的吸引项;使目标与周围的非目标对象保持距离的排斥项。Repulsion Loss的计算公式为:L=L Attr+α×L RepGT+β×L RepBox
其中,L Attr是吸引项,需要一个预测框接近其指定目标,L RepGT是排斥项,直接惩罚预测框移动到其他地面真实物体,L RepBox是排斥项,要求每个预测框远离具有不同指定目标的其他预测框。具有Repulsion Loss的检测器不仅显著提高了遮挡情况下的检测精度,也使得检测结果对非极大值抑制(Non-Maximum Suppression,NMS)阈值的敏感性降低。
基于深度学习的交通标志检测方法通过训练大数据来学习特征,具有很强的特征表达能力,不容易受到光照、遮挡等与交通标志无关的外界因素的影响,比传统的交通标志检测方法泛化能力更强,准确率更高。
3交通标志识别方法
3.1基于模板匹配的交通标志识别
模板匹配广泛应用于模式识别领域中,它的算法较为简单。将预先已知的小模板在大图像中平移来搜索子图像,通过一定的算法在大图像中到与模板最匹配(相似)的目标,确定其坐标位置[28]。为了减少传统模板匹配算法的计算量,提高算法的运行效率,唐琎等人提出一种快速的模板匹配算法[29]。一开始取较少的点参与模板匹配,通过相关系数的比较来逐步增加参与匹配的点的数目,记录已运算过的像素并保存步长变化前的运算结果,保证不进行重复计算。冯春贵等人提出一种改进的模板匹配方法对限速标志进行识别[30]。首先将交通标志与传统模板进行匹配,如果匹配不成功,再抽取限速标志字符的边缘信息,最后用边缘模板匹配限速标志,与传统模板匹配算法相比较,识别率由80.95%提高到95.24%。
3.2基于机器学习的交通标志识别
基于模板匹配的方法的识别结果易受到图像扭曲、遮挡、损坏等影响,难以兼顾计算量和鲁棒性的要求,
因此基于机器学习的交通标志识别是一种比较流行的方法。目前的算法主要是采用“人工提取特征+机器学习”,即提取一些能够表示或描述交通标志信息的特征,再结合机器学习算法进行识别。常用的人工提取特征有尺度不变特征变换(Scale Invariant Feature Trans-form,SIFT)、ORB(Oriented Fast and Rotated BRIEF)特征、Gabor小波特征和方向梯度直方图(HOG)特征。常用的机器学习分类器有支持向量机(SVM)、BP(Back Propagation)神经网络、极限学习机(Extreme Learning Machine,ELM)和最近邻算法(K-Nearest Neighbor,K NN)。
胡晓光等人[31]提出使用SIFT方法提取标志的局部特征,然后使用SVM进行训练得到分类模型,在采集的测试影像集上的识别率为93%,在Intel Core2Q6600系统上平均识别时间为0.44s。文献[32]发现SIFT算法特征获取时间较长,带来很大的计算负担,于是提出ORB算法,经实验对比发现,它的计算速度比SIFT快100倍。胡月志等人采用基于ORB全局特征与最近邻的交通标志快速识别算法[33],在公开的德国交通标志识别数据库(German Traffic Sign Recognition Benchmark,GTSRB)上测试,一个交通标志的平均识别时间为2ms,算法识别准确率达到91%。对比文献[31,33]实验结果发现,ORB特征提取的识别率略低于SIFT特征提取的识别率,但是实时性却远远超过了后者。
谷明琴等人[34]提出用Gabor小波提取交通标志特征,用线性支持向量机来分类交通标志,在GTSDB数据集上测试,识别率达到95.6%。甘露等人[35]用Gabor滤
据库上的识别率为97.68%,比单独采用HOG特征识别率提高了0.57%,比单独采用Gabor特征识别率提高了0.14%,识别每张图片耗时0.08ms。分析文献[34-36]发现,类别单一的特征提取具有一定的局限性,不能很好地描述交通标志的特征,基于特征融合的算法能够提高交通标志的识别率。文献[36]对线性判别分析(Linear Discriminant Analysis,LDA)、SVM、softmax三种分类器性能进行了比较,对于高维度Gabor特征,softmax分类器识别率比其他两种分类器更高,识别时间更短,实验结果表明LDA、SVM分类器更适合低维度特征识别。
2004年Huang等人[37]提出简单高效单隐层前馈神经网络学习算法——极限学习机(ELM)。ELM算法比BP网络、SVM学习得更快,且具有良好的泛化能力。徐岩等人提出一种基于PCA(Principal Component Analysis)-HOG和极限学习机模型的交通标志识别算法[38],在GTSRB数据库上测试,识别率可达97.69%,耗时0.16ms 便可识别一张交通标志。徐岩等人在文献[38]的基础上,融合ELM和AdaBoost分类器识别交通标志[39],在GTSRB数据库上识别率为99.12%,单张交通标志的识别时间为7.1ms。实验结果表明,分类器融合的分类算法能够使识别效果更好,还能提高模型的泛化能力和鲁
棒性,而识别时间也变长。
3.3基于深度学习的交通标志识别
深度学习具有强大的特征学习能力,深度卷积神经网络(CNN)是深度学习在计算机视觉上应用最广的
模型之一。深度卷积神经网络不需要设计手工特征,输入模型的图像通过监督学习来完成特征提取和分类,识别率高于AdaBoost和SVM等传统算法。
Sermanet等人[40]提出多尺度CNN应用于交通标志识别任务,达到99.17%的准确率。Ciresan等人[41]使用多列深度卷积神经网络(Multi-Column Deep Neural Network,MCDNN)在GTSRB数据集上获得99.46%的准确率,但是运算量大,在系统Core i7950(3.33GHz)4个GTX580型显卡的GPU上训练具有25列的MCDNN需要37h,单张图片的识别时间为690ms。尽管前两个网络的准确度很高,但它们的计算效率不高,需要在硬件上进行大量的乘法运算,采用的激活函数计算效率也不高,Aghdam等人[42]为减少计算量,选用线性整流函数(Rectified Linear Unit,ReLU)激活函数,然后将两个中间卷积池化层划分成两组,使得中间层的参数数量减半。网络模型去除了神经网络冗余参数,同时也提高了交通标志识别的准确率和实时性,算法的识别率提高到99.51%。Jin等人[43]提出了一种铰链损失随机梯度下降(Hinge Loss Stochastic Gradient Descent,HLSGD)方
GPU,3.3GHz)上的训练时间大约为7h。
文献[43]的准确率已经比较高,但是需要学习大量的参数,训练时间还是比较长。为此,Natarajan等人[44]提出一种低复杂度的加权组合的4个并行的CNN网络来识别交通标志,在GTSRB数据集上的准确率为99.59%,当在NVIDIA980Ti GPU系统上运行时,可在10ms内识别出交通标志图像。Li等人[45]使用具有不对称内核的高效且强大的CNN作为分类器,用1×n卷积和n×1卷积替换n×n卷积,减少了内核参数,并且降低了卷积的运算量,分类效果好,在GTSRB数据集上准确率为99.66%,在NVIDIA GTX1080GPU系统(单个GPU,2GB内存)上每张交通标志图像的识别时间为0.26ms。
LeNet-5网络是一个7层的神经网络,网络模型较为简单,对交通标志这种多类别的图像分类识别,准确率不高,因此研究者通过增加网络的深度来提高准确率。汪贵平等人[46]在传统LeNet-5卷积神经网络的基础上引入Inception卷积模块组,改变卷积核的大小和数目,并且增加网络的深度,引入批量归一化算法来防止随着网络层次加深而引起的过拟合和梯度消失等问题。改进的LeNet-5网络在BelgiumTSC交通标志数据集上的识别率为98.51%。
基于深度学习的交通标志识别方法通过训练大数据来学习特征,比采用人工设计特征的传统方法更有优势,准确率明显提升。该算法有助于解决光照变化、部分遮挡等情况下的交通标志识别难点问题。
4交通标志的数据库
为了满足交通标志检测与识别研究的需要,研究机构和学者们采集了交通标志数据库。交通标志数据库
在交通标志识别系统中起了非常重要的作用,它是衡量和比较交通标志识别系统算法优劣的基础。2011年以前公开的交通标志数据库是较小规模的数据库,随着深度学习的兴起,大规模的交通标志数据库开始出现。为学者今后研究算法所需数据库提供参考,列出了一些流行并且公开可用的交通标志数据库,如表1所示。
这些公开的交通标志数据库由摄像机在各种光照条件下、标志形状变化以及遮挡等条件下拍摄的,交通标志样本种类较为丰富,其中BTSD数据库和Lisa数据库包含视频。研究人员常用GTSDB和GTSRB数据库来进行交通标志的检测与识别。
5分析与展望
本文对交通标志检测与识别方法进行了详细的介绍和分析,由于人工提取特征具有一定的主观性且难以
发布评论