沈阳理工大学信息科学与工程学院 中国科学院沈阳自动化研究所机器人学国家重点实验室 秦丽娟
沈阳理工大学信息科学与工程学院 闫昊男
随着城市交通流量日益增大,交通管制难度也不断增大。拥堵、路况复杂等因素,不仅对交通管制形成严峻挑战,作为驾驶员来说,也是压力倍增。针对这种形式,相关人员陆续着手研发智能交通系统(TSI),TSI自诞生以来,在缓解交通拥堵和强化交通管制方面发挥着越来越重要的作用,TSI的应用越来越广泛。不管是无人驾驶技术,还是智能辅助驾驶系统,都对TSI有着不同的程度的依赖和需求;同时,日新月异的信息技术和大数据处理,也让TSI面临着新的挑战。交通标识物的识别研究,是TSI当中最重要的一个研究方向,且变得越来越重要。本文基于SVM网络的变形,优化出一种基于卷积神经网络一对多SVM交通标志物识别算法,其次,在交通标志物检测方面,在的卷积神经网络基础上,结合深度学习对检测算法做出优化和改进。测试结果表明,这两种优化方式在识别的准确率上都有良好的表现。
交通标志物是指一类包含着丰富交通信息的的指示标志,作为道路交通的重要组成部分,为驾驶员提供大量指示信息,避免交通事故发生,从而保护人身财产安全,发挥着巨大的作用。在交通管理过程中,交通标志物起到引导、限制、警告等作用,是保障道路交通安全、顺畅的重要措施。然而,受到交通环境的日趋复杂、光照条件的变化、植被障碍物遮挡等因素的影响,对交通标识的清晰辨别形成挑战,加上认为因素如疲劳驾驶、粗心大意等影响,更加剧了交通标识的识别难度。故基于深度学习的交通标志识别,在辅助驾驶及无人驾驶技术的研究方面,起着越来越大的作用。
目前,交通标志检测与识别技术的理论基础已经很成熟,但是目前的研究成果还无法在实际生活中广泛应用。当前的系统存在识别率和时间无法同时兼顾的问题,并且一个系统只能应用于一个国家。如果识别率高,则检测时间将较长;如果检测时间短,则识别率将较低。
因此,可以相信,在学者们的不断努力下,将在这两者直接取好平衡点,交通标志检测与识别系统将很快投入实际应用。
随着人工神经网络研究的不断深入,科学家提出了一种全新的无监督学习方式,即深度学习,其目的是为模拟人脑进行学习分析的神经网络。其特征是该网络能通过组合低层特征形成抽象的高层特性,以表示其事物的属性特征,从而发现数据分布规律的函数模型。
交通标志识别及检测的关键在于交通标志图像的特征分析,其内涵为利用图像的不变特征,达到实现面向同一场景而变形较大的图像识别,此识别的图像获取途径主要又两种:即人工提取和机器自动学习。人工设计提取的方法,在交通标志识别方面的应用已经得到推广;但是,人工设计提取的方法,往往需要非常复杂的设计和计算,且非常耗时。
深度学习是机器学习的一个新方向,从本质角度看,深度学习首先需要完成多层次机器学习模型的构建过程,通过大量的数据统计和运算,从训练数据中学习更能刻画数据内在信息的特征,经过分类和判断,并对目标进行预测。
交通标志的颜色、尺寸、形状均是特定的,并且满足有关设计规定的要求;不同的组合代表着不同的含义。道路环境图像的采集由车载图像信息采集装置实现,先后经形态分解和图像分割两个处理过程,达到实现交通标志检测的目的,而交通标志的检测是交通标志识别的第一步。
检测的任务是从采集的图像中将候选区域分割出来,判断已分割区域内是否包含交通标志,若是,则挑选出来。经过检测阶段获得的位置区域和分类阶段赋予的标签是对应的,若检测过程出现错误,则无法得到正确的分类结果。综上,影响交通标志识别系统有效性与准确率的直接因素是检测结果是否准确,影响交通标志识别系统实时性的关键因素是检测速率。
检测任务过程主要包括交通标志的特征和SVM分类,分类框架如图1所示:
图1 SVM分类框架图
本文的交通标志检测是在传统卷积神经网络(CNN)模型上,结合深度学习而采用的一种深度神经网络(DNN),因深度神经网络架构包含多个阶段,下一阶段输入量通常选择上一阶段获得的输出结果,依此类推进行堆叠。现阶段,通常采用图2所示的分阶段DNN架构进行无监督训练。
第一阶段的输入是网络参数矩阵A1,该矩阵由训练小尺寸图像获得,第二阶段的输入是A1经卷积和映射得到的结果,对其进行训练后得到A2,根据图2发现,每一个阶段训练过程包含的环节数均为两个,一是采用归一化方式处理数据,先将输入的每一行数据进行正交归一,避免输入数据中存在的具有较大相关性的集中数据对训练结果造成影响,对改善后续以梯度为基础的学习阶段是有利的,二是求解网络参数矩阵,采用的方法是循环迭代法。通过堆叠各个阶段抽取特征的过程是逐层进行的,可有效扩展本次设计所选择的DNN架构,使其突破两段式的局限。同时,每一个阶段采用独立的方式训练各个模块,网络训练过程更简单。
图2 分阶段DNN架构
深度学习通过无监督分阶段训练后,分别导出第一阶段和第二阶段的特征映射矩阵,以32×32的灰度图像为例,特征的提取过程具体步骤为第一阶段特征提取→第二阶段特征提取→特征向量分析;
假设第一阶段特征映射窗口大小为16×16,池化策略分别为3×3、6×6、12×12的块聚集,窗口滑动步长为两个像素,总共包括81个16×16的块,记为Bi,其中,i=1,2,3,4···,81,采用归一化的方式对各个Bi进行处理,采用一维向量的方式表示各个二维矩阵,下面以第一阶段进行分析,若用Ci表示块向量,则经过映射获取的矩阵大小是256×256,并将Ci映射为特征向量函数ƒⅰ,维数是256维,其中i表示块号,分别是1至81之间的整数。
其次,由于上述得到的块特征向量ƒⅰ共81个,分别采取3×3的块聚集池化,得到9个聚集块的特征向量gƒ1(ƒ1=1,2,····,9);采取同样方法,对81个块特征向量ƒⅰ采取6×6和12×12的块聚集池化,分别得到4个聚集块的特征向量gƒ2和1个聚集块的特征向量g。
在第一阶段提取的结果上,将9×9个大小为16×16的块组成一个大块,池化策略为2×2的块聚集,令第二j阶段包含n2个大块,第к个大块与高维特征向量uк相对应,是组合81个特征向量ƒⅰ得到的,维数均为256维,接着将uк输入到第二阶段,并进行对应的特征提取过程,大块序列号к=1,2,··,n2。对uк进行PCA降维后,得到300维特征向量,Vк,再通过特征映射矩阵将Vк映射为第二阶段特征向量ƒк,其中,第二阶段的特征映射矩阵为300×300的二维矩阵,ƒк为300维向量。
一个32×32尺寸的交通标志图像特征向量ƒ便是由第一和第二阶段的特征向量联合得来得。其中,ƒ1描述的是全局信息,g描绘的是局部区域信息。图像的特征ƒ为3884维向量。
针对SVM多分类问题,有两种形式可供选择,一种是一对多,构造超平面的对象是某一样本与剩余样本,输出结果是,即最优分类超平面参数,数量共k个。另一种是一对一形式。对于待分类样本xtest,使用判别函数直接断定其属于k类中的某一类,相比较一对一SVM多分类法,一对多的SVM多分类法构造超平面耗时,但由于决策平面数少,分类速度反而更快,
我国的交通标志主要分为禁止、警告、指示、施工、限速等标志。本文交通标志实验数据包括了如图3所示城市道路环境中50种常见交通标志,每类交通标志有多达280个训练样本,其测试样本则多达1100多个。
图3 城市交中常见的50类交通标志样本
图3中的交通标志样本采集自同一个城市,不同光照条件、天气状况下的视频。交通标志检测算法提取了感兴趣区域(交通标志)图像。分辨率皆维持在30×30~150×150之间。按照前文所说的提取方法,给每一个标志图像提取了7768维特征向量。
采用SVM分类法,对图中标志通过j距离阈值决策法来判定归类,实验所设置的阈值为t=1.1,两者的相似率高达99.5%。为进一步测试本文交通标志特征提取方法的有效性,进行1类对49类的SVM多分类,构造超平面的对象是某一小类样本与剩余小类样本(共49个),输出结果是最优分类超平面参数。将尚未分类的样本使用辨别函数之间进行判断,总共50类的总平均正确率为99.6%。
结论:本文基于深度学习框架自动学习对不同阶段进行处理,并输出特征映射矩阵,接着以此为基础将交通标志图像的第一阶段特征和第二阶段特征提取出来,并将其联合输出作为交通标志的特征;最后使用支持向量机进行交通标志分类,实验结果表明,此分类和检测方法对交通标志的识别具有非常有效的泛化性,且能准确识别交通标志。