蒋翼浓 张世义
(重庆交通大学机电与车辆工程学院)
汽车保有量增加会带来交通隐患,其部分原因是因为驾驶员及车辆未能良好地识别交通标志信息。通过一些技术手段为驾驶员提供良好的交通信息并辅助其做出判断,可降低交通事故率;同时,作为环境感知的重要部分,交通标志识别能为行驶车辆提供良好的交通标志信息,并提升驾驶体验。基于这2点,研究交通标志的识别是具有现实意义和理论意义的。可将交通标志识别技术分为二大类,分别为传统检测方法与基于深度学习的方法。
常见的颜色空间有RGB、LAB、HSV等。RGB模型与人的视觉系统密切相关[1],即所有颜色都是R红、G绿和B蓝不同比例的组合,优点是直观、易理解,但其变量之间相关性太强;LAB模型更侧重于感知均匀性,L代表亮度,A的正负代表红色与绿色,B的正负代表黄色与蓝色,特点是可以分别调整色彩和明度信息;HSV为非线性模型[2],H代表极角,S代表饱和度,V代表明度,在机器视觉和图像处理领域运用较多的是HSV颜色空间,能更直观地表达色调、鲜艳程度和明暗程度,更有利于进行颜色对比。此外,各种模型之间可进行相互转化。
对经过颜色分割后的图像进行边缘检测,以获取每个连接通道的边缘轮廓特征,再利用针对交通标志自身所具有的形状特点所设计的算法,用以检测具有该特征的轮廓,同时把检测到的区域定义为感兴趣区域,以便于特征提取与分类器分类[3]。
1张图片中像素灰度值发生急剧变化的区域称之为图像边缘。简单来说,边缘检测就是将图像中的边缘像素点连接起来以构成封闭区域,从而使标志易于从背景中区分出来。
交通标志及其他图像识别的关键就在于用快速且具鲁棒性的算法或模型将图像中有效描述检测目标的信息提取出来,并且利用该信息与其他图像进行区分,此过程就是特征提取。如2010年和2011年在ImageNet Large Scale Visual Recognition Challenge赛事中的获胜团队,使用SIFT、LBP等算法手动提取特征,再将其用于分类器分类,取得了28.2%的错误率[4]。传统特征提取的方法有HOG、LBP、SIFT等[5]。SIFT(尺度不变特征变换)用物体上存在着的一些与物体相关且与大小及旋转方向无关的局部点表征物体,可以减少光照、噪声等对物体识别的影响;HOG(方向梯度直方图)利用梯度描述局部目标的形状,同时使用此特征捕获图片的轮廓信息;LBP(局部二值模式)以中心像素的灰度值作为阈值而得到对应的二进制编码来表示局部纹理特征。特征提取后,利用分类器对其进行分类。如贝叶斯分类器、支持向量机、神经网络分类器和Adaboost等。
早期的目标检测算法大多是基于人工特征来构建的,尽管运用了大量复杂的特征表示以及网络加速器,但在速度和精度上仍达不到要求。得益于计算机硬件、软件的提升,2014年之后,涌现了大量基于深度学习的算法,在交通标志的识别检测领域又迈出了一大步。
One-stage模型将边框的定位问题转化为回归问题。通过主干网络给出类别和位置信息,不使用RPN(Region Proposal Network)网络,因此速度更具优势[6],但由于其正负候选框的比例不均匀,精度相较于2阶段算法会损失很多[7]。One-stage算法主要包括OverFeat、YOLO系列以及SSD系列等。
1)Overfeat。文献[8]于2013年发布了Overfeat模型(同时也是1种特征提取器)。提出了1个使用卷积神经网络进行分类、定位及检测的集成框架,展示了如何在ConvNet中有效地实现多尺度检测和滑动窗口方法;同时引入了1种新的学习方法,即通过预测目标边界来进行定位,对边框进行积累从而增加检测置信度,使用同1个共享网络处理不同的任务。
2)YOLO系列。YOLO系列将目标检测定义为单一的回归问题,运用单个神经网络预测边框和类别概率[9],如图1所示。
图1 示例
a.YOLOv1。其实现步骤为:首先将输入图像划分为S×S的网格[10],每个网格负责预测B个Bounding Box,每个Bounding Box包含5个值(x、y、w、h、c),x、y、w、h包含了与中心坐标及所在网格高宽相关的信息,c代表置信度,此外C为该试验下选用的数据集所具有的类别总数,最后得到S×S×(5×B+C)的tensor。图2示出YOLOv1目标检测流程。
图2 YOLOv1目标检测流程
b.YOLOv2/YOLO9000[11]。使用Darknet-19作为预训练网络,并将分类数据和检测数据一起进行训练。同时借鉴了RCNN中的Anchor机制,使得该算法能够预测超过1 000个框,同时可检测9 000种目标类别。
c.YOLOv3[12]。YOLOv3模型相比于YOLOv2做出了以下改进:利用多尺度预测(FPN)[13];用Darknet-53替代Darknet-19作为其基础分类网络;不再使用softmax作为候选框进行分类,分类损失采用二分类交叉损失熵。其精度与SSD相当,且速度快了3倍。所有代码可在https://pjreddie.com/yolo/上下载。
3)SSD。文献[14]提出SSD模型。将边界框的输出离散为具有不同比率和大小的默认框。预测时,网络对默认框中存在的对象类进行打分,并调整默认框以更好地匹配其形状[15]。此外,该模型结合了通过多种方法得到的多重特征图的预测结果,能更好地处理大小不同的对象。对于300×300的输入,该模型能达到72.1%的mAP(平均精度均值),对于500×500的输入,能达到了75.1%的mAP。
Two-stage系列算法的训练过程分为2部分:产生候选区域(region proposals)并训练RPN网络;训练目标区域检测的网络。其算法准确度较One-stage更高,但实时性较差。典型代表是以R-CNN为代表的系列算法。
1)R-CNN。其算法可分为4个步骤:生成候选区;利用CNN卷积神经网络进行特征提取;将学习到的特征传递至SVM分类器进行分类;利用回归手段进行修正。
2)Fast R-CNN。Fast R-CNN是基于R-CNN和SPPnet的,其创新之处在于设计了感兴趣区域(Region of Interest,ROI)。Fast R-CNN具有2个输出,1个负责分类,1个负责回归。在VOC2007测试集上,mAP达到了70%。
3)Faster R-CNN。区域候选网络(region proposal network,RPN)的提出可以很好地解决候选框的选择问题。此外,该网络能将CNN提取的特征进行权值共享。
除了以上提及的具有代表性的目标检测模型,在深度学习的不断发展过程中,有大量学者做出了改进。但仍存在以下问题:a.暴露外时间过长,导致标志颜色脱落、破损[16];b.恶劣天气如雨雪和雾霾等均会对所采集的图像造成影响且数据较难获取;c.行车中获取的图像存在抖动和歪斜;d.部分算法速度快但鲁棒性差,部分算法稳定性好但不能满足实时性的要求。下面列举一些当前在交通标志识别领域取得突破的研究。
文献[17]于2019年基于回归思想,对原SSD模型添加了“特征融合模块”,增加了网络模型中小尺度卷积核的数量,并设计了一个“6块结构的ResNet残差网络”,在模型中构建残差学习单元,以“角度变换”的方式对数据集进行扩容,将数据集图片转换为“YUV颜色空间”。在GTSRB数据集上达到了99.72%的测试精度。
文献[18]于2018年结合颜色分割及卷积神经网络,提出了改进的交通标志检测及识别系统。对非天空区域采用了单尺度Retinex去暗光处理以增加其实时性;利用阈值判定去除背景区域。
文献[19]于2019年利用基于图像关键点MCT特征的Adaboost检测算法,采用尺度不变特征变换对图像中的关键点进行特征提取,并基于MCT特征对其建立弱分类器。对图像候选区进行检测的同时保留图像的轮廓特征,采用滑动窗口进行搜索运算,有效缩短训练时间且进一步提升了算法的检测效率。该算法能够有效分割与交通标志相似的背景区域,召回率为93.16%,高于HOG+SVM算法3.59%。
文献[20]于2020年使用K-means聚类重新计算Anchor值的大小,更新后的YOLOv4算法处理1张图片的平均时间为52.72 ms。对禁止标识、行人通过标识、前进标识及限速标识进行了识别,其mAP值能够达到98.9%。
针对于雾霾天气下获取的图像质量较低且难以识别的情况,文献[21]于2020年提出了1种先对图像进行去雾霾处理后进行交通标志识别的方法。利用IRCNN算法和多通道卷积神经网络进行去雾霾处理,并利用SVM分类器和Resnet算法进行识别。
由于现有的交通标志检测方法通常局限于1组预定义的交通标志,文献[22]于2016年利用区域提议网络来检测中文交通标志,利用微调技术和CNN模型进行训练和评估,并在大小为640×480的33个视频序列对模型进行测试。该模型符合实时性的要求并达到了≥99%的检测精度。
文献[23]于2017年运用交通标志库存自动化管理技术解决大规模交通标志类别的检测和识别问题。在交通标志的研究领域中,大多数只专注于交通标志识别问题,而忽略了交通标志的库存管理问题。交通标志类间差异很大,类内差异很小。提出一种基于Mask R-CNN的检测和识别模型及基于集合和外观失真的数据增强技术,建立了一个新的交通标志数据集—DFG交通标志数据集,此数据集同改进的代码一起公开发表。
文献[24]于2018年提出CTF方法,通过聚集语义信息来学习特征,从根本上提高了D-patch的对抗性,对于遮挡问题更具鲁棒性且更利于进行对抗性的训练。该算法最大化减少了传统目标检测中滑动窗口的使用,并且依赖于颜色变化来寻找交通标志存在可能性更高的区域。在GTSRB数据集上达到了100%的正确率,在韩国交通标志数据集上的表现比之前的模型提高了2.2%。
文献[25]于2019年提出了1种新的图像表示和选择局部特征的方法,即1种基于彩色图像信息距离变换的一种前向特征提取技术。首先,该模型可实时处理输入的视频序列,并从公开可用的模板标志图像中进行特征提取,这比数据驱动的方法(如AdaBoost)更容易训练;其次,对于每个模板进行单独处理。
文章从交通标志的识别检测技术出发,分别介绍了传统方法和基于深度学习的方法,重点介绍了当前基于深度学习的交通标志检测方法,并进行了一定的梳理。得益于计算机硬件的快速发展、算法算力的提高以及大数据的应用,基于深度学习的交通标志检测识别方法发展迅速。
现阶段学者更加注重于创建轻量化的网络结构来实现对交通标志的检测,如将YOLOv3网络结构中的Resnet53残差网络用DenseNet的密集串联结构代替,将原来的3个尺度融合并删除一个最小尺度检测的网络结构,在保证检测率的同时提升检测速度[26]。为满足低功耗、低时延的要求,设计轻量化神经网络加速器[27]。从技术类别来看,1阶段算法需要寻找更为可靠的方法滤除网络模型中的冗余信息,在保证速度的同时提高精度;对于2阶段算法,需更注重于寻找更加优秀的主干网络来提取更具学习能力的特征、优化区域提议网络以完成精准筛选区域以及优化网络结构以提升其速度。从全局来看,在图片输入阶段,可利用更加优良的传感器获取图像信息,利用数据增强等手段对输入数据进行预处理;在输出阶段,可利用多尺度融合[28-32],结合浅层特征和深度特征等手段处理提取的特征信息。此外,寻找将不同数据源和数据结构结合在一起的方法,以建立更强大的视觉模型也是下一步发展的趋势。总而言之,交通标志的识别检测始终在实时性和精确性之间寻找权衡。