1. 引言
无人驾驶技术在信息获取方面包括道路识别与检测 [1]、行人检测 [2]、车辆检测 [3] 以及交通标志检测等。这些信息的获取是无人车辆能够有效地模拟人类进行车辆驾驶的重要信息支撑。
交通标志检测是道路信息提取的重要分支之一。近年来,交通标志的识别越来越受到人们的重视,甚至被认为是智能车辆的一个非常重要的特征。交通标志包含大量有用的信息,这些信息可能会因驾驶疲劳或寻找地址而被驾驶员忽略。这些司机在危险天气驾驶时也可能不太注意交通标志。因此,采取提高行车安全性、完善自动检测和路标识别系统等措施,对降低道路死亡人数具有重要意义。从数据的角度来说,交通标志检测属于图像检测与识别的范畴;从方法的角度来说,交通标志检测当前主要依托于深度学习算法 [4]。
相对于其它的车辆行驶外部环境信息,交通标志是唯一一种专门为道路行驶而设置的标志性信息。它用于提醒驾驶员行车速度限制、道路的导向、路况等道路信息。与道路场景中其它的物体不同,道路场景中所出现的交通标志,通常是驾驶员或者自主行车系统必须捕捉的信息,该类信息的缺失会产生一系列严重后果。因此,交通标志是自主行车系统或者辅助驾驶系统必须快速、高效、准确检测和识别的信息。由于交通标志在设计的过程中具有已定义的形状、颜色、符号,因此,交通标志的检测与识别在算法上有其特殊性,交通标志的检测和识别必须利用这些特殊性优化其检测和识别算法。
交通标志识别系统主要包括三个阶段:定位、检测和分类。在检测阶段出现任何虚警的情况下,分类阶段的性能都会较低;这是因为分类器通常不训练虚警。道路标志有许多区别特征,根据这些特征对其进行分类。根据其形状和颜色,主要分为五类:警告标志(红色三角形)、禁止标志(红色圆形)、保留标志(矩形蓝色)、强制标志(圆形蓝色)和临时标志(黄色三角形)。
本文综述了近年来一些有效的交通标志检测与分类方法。第一部分呈现了交通标志检测方法,将其分为三类:基于颜色的方法、基于形状的方法和基于学习的方法。第二部分重点介绍了交通标志分类方法,首先介绍了基于手工特征的学习方法,然后介绍了深度学习方法。第三部分整理了不同的公共交通标志检测和分类数据集。第四部分总结并描述了未来的研究方向。
2. 交通标志检测
我们可以将检测或定位方法分为三类:基于颜色的方法、基于形状的方法和基于学习的方法。
2.1. 基于颜色的方法
为了提高交通标志的可识别性,交通标志在设计的过程中通常会定义成醒目的颜色,使得交通标志与环境背景具有较强的可区分性。交通标志常常被设计为红色、白色、蓝色、黄色等。基于颜色的交通标志检测通常首先进行基于颜色的图像分割,然后将分割后的感兴趣区域送入分类器,继而判定其是否为交通标志。
文献 [5] 提出了一种基于红色分量的交通标志感兴趣区域提取算法,该算法将原始图像转移到RGBN空间,利用图像的红色特征和灰度特征提取感兴趣区域。文献 [6] 在亮度信息与色度信息分离的HSB颜色空间中,使用色度信息来检测交通标志,去除了因光线或雾霾天气的影响,取得了不错的检测效果。文献 [7] 中使用基于HIS颜色空间的彩色图像分割算法,利用该算法对彩色图像进行分割处理,将该算法应用到交通标志的检测中。文献 [8] 对图像进行灰度拉伸和噪声滤出的预处理,然后利用改进的K-means聚类算法对彩色图像进行颜色分割。文献 [9] 提出了一种HOG特征和SVM的交通标志检测方法。该方法首先通过统计交通标志的颜色阈值后对其图像进行阈值分割,去除了大量干扰,然后利用最大稳定极值区域算法对连通区域进行检测。一些研究者 [10] 使用YCbCr色彩空间,或者 [11] 使用YUV色彩空间。
2.2. 基于形状的方法
形状是交通标志的另一个重要特征。基于形状检测是交通标志检测的一种重要的途径。现有的大多数算法使用颜色分割来发现感兴趣的位置和及其包含的像素,由像素距离组合成形状。利用连通分量法、分割与合并法、边缘检测法、聚类法以及基于颜色信息的相似性度量方法对像素进行组合最终形成交通标志的形状信息,用于检测阶段的特征建模。
文献 [12] 利用基于形状的方法,综合考虑三角形、圆形和正方形的形状,利用连通分量进行形状识别,去除图像中没有交通标志的图形。文献 [13] 提出了一种基于视觉注意机制和形状特征的交通标志检测方法。首先进行图像预处理,然后采用自底向上的视觉注意模型,提取图像的颜色,亮度,方向等初级特征,将其线性组合得到显著图,得到交通标志的感兴趣域,实现交通标志的粗检测;在此基础上,根据交通标志的几何特征描述进一步检测感兴趣区域中的图形形状,实现交通标志的细检测。
2.3. 基于学习的方法
上述的交通标志的检测方法具有一定的检测效果,但它们具有共同的缺点,那就是在光照变化、遮挡、扭曲以及尺度变化时往往并不能完全奏效。光照变化会导致形状的边缘信息模糊,造成边缘无法闭合。尺度变化以及扭曲也会让形状的表达不太稳定。这类方法存在的问题是图像检测和分类所面临的普遍性问题,这些问题往往可以通过机器学习算法获得优化。
文献 [14] 采用了复杂的级联的分类器进行交通标志检测,每一个检测器是基于Harr小波的分类器,而这些分类器采用的是AdaBoost分类算法。文献 [15] 在文献 [14] 的基础上改进,用于检测矩形的交通标志。这个检测器通过1000张左右的低质量交通标志图像进行训练。文献 [16] 提出了一种基于显著性检测的级联分类器。显著性区域也就是更靠谱的置信度更高的区域,或者从数学上说,概率更大的区域。每一个分类器对显著性区域进行分类,继而最终检测出其是否为交通标志。每一级检测器的输入为上一级检测器的输出,也就是上一级检测器检测出的感兴趣区域,即显著性区域。在分类器中同样采用AdaBoost分类算法。为了克服多类的问题,研究者还提出了基于随机森林的纠错输出码(Error Correcting Output Codes, Forest-ECOC)分类策略。这个方法的思路是在ECCO框架下,通过集成多个分类树,形成分类森林。通过这种策略,达到了较好的分类效果。文献 [17] 采用级联卷积神经网络(Cascaded Convolutional Neural Networks, CCNNs)进行交通标志检测,与基于LBP特征的并通过AdaBoost分类器进行分类的方法相比,明显的降低了假正样本区域的数量。
3. 交通标志分类
交通标志的检测主要解决的问题是检测图像的某区域是否包含交通标志图像。通常采用的方法是先对交通场景图进行区域推荐,通过分类器对推荐区域判断其是否为交通标志,属于图像检测的范畴。交通标志的识别是对检测阶段认定为交通标志的图像区域进行分类,进一步判断其是具体的哪一种交通标志,是禁止右转还是限速80,属于图像分类的范畴。
3.1. 基于手工特征的学习方法
文献 [18] 使用不同大小的HOG特征以及距离变换来评估K-d树以及随机森林的性能,结果表明随机森林在应对变换方面比K-d树鲁棒性强。在采用HOG特征作为分类特征的情况下,随机森林的分类准确率为97.2%,通过距离变换特征进行分类,随机森林的准确率为81.8%,K-d树的分类准确率分别提高了92.9%和67%。文献 [19] 对比了人类与机器学习的交通标志识别能力;他们还展示了线性判别分析(Linear Discriminant Analysis, LDA)的线性分类器的结果,发现LDA的分类性能与特征表达有着很大的关系。通过实验,该算法在HOG2上取得最好的结果,其分类准确率为95.68%,而以HOG1作为分类特征,分类准确率为93.18%,以HOG3作为分类特征,分类准确率为92.34%。文献 [20] 采用加速鲁棒特征描述符(Speeded Up Robust Feature Descriptor, SURF)作为分类特征,通过人工神经网络(Artificial Neural Network, ANN)作为分类器用于对交通标志分类。他们自己创建了包含200张图片的数据库,这些图片是在孟加拉国的高速路上,在不同的天气,不同的光照情况下获取的。算法的最终分类准确率为97%。
3.2. 深度学习方法
传统的手工特征表达能力有限,而且对专家知识具有很强的依赖性,因此,即使在数据库规模很大的情况下,也难以做到良好的可分性。为了克服这个问题,并且推进分类和识别的性能,往往采用深度特征。
文献 [21] 提出了一种基于注意的卷积池神经网络(ACPNN),在特征映射中引入注意机制,获得关键特征,并用卷积池代替最大池,提高了恶劣环境下的识别精度。具有注意机制和卷积池结构的ACPNN对外界噪声具有很强的鲁棒性,在这种情况下保持了分类性能。提出的ACPNN在德国交通标志识别基准上进行了验证。文献 [22] 提出了一种改进的基于多特征融合和增强的单点检测SSD算法MF-SSD,用于交通标志识别。首先,将底层特征融合为高层特征,提高SSD中小目标的检测性能。然后通过增强有效信道特征和抑制无效信道特征来增强不同信道中的特征以检测目标。该算法在国内实时交通标志中取得了良好的效果。利用德国交通标志识别基准(GTSRB)数据集对MF-SSD算法进行了评价。实验结果表明,MF-SSD算法在检测小交通标志方面具有优势。与现有方法相比,该方法在复杂交通环境下具有更高的检测精度、更高的效率和更好的鲁棒性。文献 [23] 提出了一种基于神经网络NIN模型,其增加了MLP结构,用全局平均池层代替全连接层,同时用ELU函数代替ReLU校正单元。利用德国交通标志数据集(GTSRB)进行分类识别研究。结果表明,该算法在GTSRB基准数据集上的识别准确率达到98.31%以上,能有效地解决过拟合和梯度离散问题。文献 [24] 提出了一种基于YOLO的交通标志识别算法,并将其与CNN进行了扩展。文献 [25] 提出了一个基于卷积神经网络(CNN)的TSDR框架。我们的模块化方法包括一个基于CNN的挑战分类器、增强网络、一个用于图像增强的编码器–解码器CNN体系结构和两个单独的用于符号检测和分类的CNN体系结构。文献 [26] 提出了一种新的交通标志检测网络(tsignet),该网络通过学习尺度感知和上下文丰富的特征来有效地检测和识别野生环境中被遮挡的小型交通标志。
4. 公开数据集
本文整理了这一领域较为常用的交通标志公开数据集,检测数据集如表1所示,分类数据集如表2所示。
![](Images/Table_Tmp.jpg)
Table 1. Public dataset for traffic sign detection
表1. 交通标志检测公开数据集
![](Images/Table_Tmp.jpg)
Table 2. Public dataset for traffic sign classification
表2. 交通标志分类公开数据集
5. 总结
本文综述了近年来一些有效的交通标志检测与分类方法。检测方法分为三类:基于颜色的是按颜色空间分类的,基于形状的,基于学习的是包括深度学习的方法。
交通标志由于不同的国家交通法律法规不同,因此不同国家的交通标志在类别和图像表达方面往往有着很大的区别,当交通标志检测方法应用于具体的国家时,需要构建该国的图像数据库以进行针对应用的算法训练。目前,拥有该数据库的国家并不多见。因此,构建国别针对性的交通标志数据库,研究该领域的知识迁移技术是该领域需要关注的方向。
深度学习算法的高性能处理平台的依赖以及车载平台的计算资源受限也为该领域的发展提出了挑战。因此,研究基于小规模的数据训练、基于弱处理的精简深度网络是未来无法避免的研究方向。
基金项目
国家自然科学基金(61671470);国家重点研发项目(2016YFC0802900)。