TSR交通标识识别方法

2018-11-12 17:30:16 ADAS 1001

        交通标识包含丰富的道路交通信息,为驾驶员提供警示、指示等辅助信息,对减轻驾驶员的驾驶压力、降低道路的交通压力、减少交通事故的发生率起着重要的辅助作用。如果完全依靠驾驶员注意和发现交通标识并做出正确的反应,难免会增加驾驶员的负担,加速疲劳,严重地可能导致交通事故。图1给出了部分交通标识图。

图1 部分交通标识图

        交通标识识别Traffic Sign Recognition, TSR主要是通过安装在车辆上的摄像机采集道路上的交通标识信息,传送到图像处理模块进行标识检测和识别,并根据识别结果做出不同的应对措施。交通标识识别可以及时地向驾驶员传递重要的交通信息(例如限速、禁止超车等),并指导驾驶员做出合理的反应,从而减轻了驾驶压力,缓解城市交通压力,有利于道路交通安全。因此,精确高效且实时的交通标识识别是未来驾驶的趋势所在。


目前交通标识识别方法分为两个主要步骤:

1、检测步骤

        根据交通标识的颜色、形状特征,从采集的图像中,寻找和定位包含交通标识的候选区域;

2、识别步骤

        识别步骤:利用模式识别或者分类器对检测的候选区域进行识别,获取交通标识的类别信息。


        现有交通标识识别的检测算法最常用的方法包括颜色分割、形状检测以及利用局部特征信息设计分类器等方法。在颜色分割方面,常用的颜色空间包括:RGB空间、HSI空间、HSV空间、LAB空间、YCbCr空间、LUV空间等。在形状检测方面,常用的方法包括:Hough变换检测特定形状、基于图像梯度方向信息的几何模型等。

        现有交通标识识别的识别算法常用的方法包括模板匹配法、基于机器学习的方法等。模板匹配法是将待识别图像的大小进行归一化,缩放为与图像样本库中模板一样的大小,再将待识别的图像与样本库中所有的模板进行比较,选择符合最佳匹配原则的样本作为最后的识别结果,然而该方法易受图像的清晰度、大小变化和光照变化的影响。基于机器学习的方法是通过SVM分类器BP神经网络Adaboost级联分类器等对标签的交通标识进行训练,然后根据训练好的模型对候选区域进行扫描,以便检测候选区域中的交通标识并进行分类。


        交通标识识别算法主要包括:采用架构的卷积神经网络对大量的标签的交通标识样本图像进行训练,获得训练好的交通标识识别模型;采用快速的交通标识检测算法定位交通标识的候选区域;最后利用训练好的交通标识识别模型对候选区域进行识别,输出识别结果。


        卷积神经网络(Convolutional Neural Network,简称为CNN)是深度学习模型之一,其主要由卷积层(Convolutions Layer)下采样层(Subsampling layer)全连接层(Full connection)等构成。其中,下采样层又称为池化层(Pooling Layer)。图2给出了卷积神经网络的模型图。

图2 卷积神经网络的模型图

        卷积神经网络被认为是第一个真正成功的采用多层层次结构的具有鲁棒性的深度学习方法。在卷积神经网络中,局部感知区域被当作层次结构中的底层的输入数据,信息通过前向传播经过网络中的各个层,在每一层中都由过滤器构成,以便能够获得观测数据的一些显著特征。因为局部感知区域能够获得一些基础的特征,比如图像中的边界和角落等,因此卷积神经网络对位移、拉伸和旋转具有鲁棒性。卷积神经网络中层次之间的紧密联系和空间信息使得其特别适用于图像的处理和理解,并且能够自动的从图像中抽取出丰富的相关特性。图3给出了卷积神经网络识别输入图像的过程图。

图3 卷积神经网络识别输入图像的过程图

        交通标识识别算法一方面采用了基于卷积神经网络的训练和识别方法,极大地提高了交通标识识别的准确率;另一方面通过快速的交通标识检测算法定位交通标识的候选区域,极大地减少了识别所需要的时间。图4给出了3幅交通标识识别的识别结果图像。

图4 交通标识识别的识别结果图像

        目前,基于卷积神经网络的交通标识识别算法能够识别43类交通标识,识别准确率≥97%,算法所需运行时间≤40ms与其他公司的嵌入式算法不同,将交通标识识别算法在芯片上实现了智能硬化。含有交通标识识别硬化算子的芯片可以实现直接在相机端进行实时处理,提高了运算速率,节约了运算时间和成本。