图像识别—基于深度学习的交通标志识别

摘要

智能交通系统(ITS),包括无人驾驶汽车,尽管在道路上,但已逐渐成熟。如何消除各种环境因素的干扰,实现准确高效的交通标志检测与识别,是一个关键技术问题。然而,传统的视觉对象识别主要依赖于视觉特征提取,例如颜色和边缘,这具有局限性。卷积神经网络(CNN)被设计用于基于深度学习的视觉对象识别,它成功地克服了传统对象识别的缺点。在本文中,我们基于我们的交通标志识别(TSR)数据集实施了一项评估YOLOv5最新版本性能的实验,该实验通过与SSD(即单镜头多盒检测器)的全面比较,揭示了深度学习中的视觉对象识别模型如何适用于TSR,这是本文的目标。本项目中的实验使用了我们自己的数据集。根据实验结果,YOLOv5在以下方面达到了97.70%[email protected]对于所有类别,SSD在相同期限内获得90.14%的mAP。同时,在识别速度方面,YOLOv5也优于SSD。

1. 引言

近年来,随着人工智能(AI)的爆发,车辆辅助驾驶系统更新了以前的驾驶模式。通过获取实时路况信息,系统及时提醒驾驶员进行准确操作,从而防止因驾驶员疲劳导致的车祸。除了辅助驾驶系统,自动驾驶汽车的发展还需要从数字图像中快速准确地检测交通标志。

交通标志识别(TSR)是在给定特定分类的情况下,从数字图像或视频帧中检测交通标志的位置[25]。TSR方法基本上利用了交通标志的形状和颜色等视觉信息。然而,传统的TSR算法在实时测试中面临着缺点,例如容易受到驾驶条件的限制,包括照明、摄像机角度、障碍物、行驶速度等。实现多目标检测非常困难,因为识别速度慢,容易错过视觉目标[6]。

随着计算机硬件的不断改进,人工神经网络的局限性得到了很好的缓解,这使得机器学习进入了发展的黄金时期。深度学习是一种机器学习方法[7]。深度神经网络模型在处理信息时模拟我们人类大脑的神经结构。使用该神经网络模型从道路图像中提取有效特征比传统的TSR算法要好得多,这有可能提高算法的鲁棒性和通用性[22]。

TSR的研究成果不仅避免了交通事故,保护了驾驶员,而且有助于高效、准确地检查道路上的交通标志,从而减少了不必要的人力和资源。此外,它还为无人驾驶和辅助驾驶提供技术支持。因此,基于深度学习的研究工作具有巨大的意义,对我们的日常生活非常宝贵。

在本文中,我们主要研究如何实现基于深度学习的准确、实时的TSR模型。我们的贡献在于三个方面。首先,我们收集并增强样本图像,以形成我们的交通标志的新数据集,该数据集包含8个类别的2182幅图像。其次,关于YOLOv5的最新版本,我们实施了我们的实验,并基于我们的数据集评估了TSR性能。关键指标和参数为进一步探索和开发提供了一些重要参考。最后,我们对YOLOv5和SSD之间的TSR性能进行了详细的比较。我们还分析并证明了这两种深度学习模型的优缺点。

我们在第2节中回顾了文献,第3节描述了我们的方法。第4节展示了我们的结果。我们的结论和未来工作将在第5节中介绍。

2. 文献综述 

TSR一直是近年来研究的热点。为此,研究了TSR以检测图像复杂场景中的交通标志区域和非交通标志区域,TSR旨在提取通过交通标志图案表示的特定特征[20]。现有的TSR方法基本上分为两类:一类基于传统方法,另一类与深度学习方法相关。

基于给定图像的颜色和形状的TSR方法的主要步骤是提取候选区域中包含的视觉信息,捕获和分割图像中的交通标志,并通过模式分类正确标记标志[21]。虽然TSR需要用于提高识别精度的颜色和形状信息。交通标志的照明变化或颜色褪色以及交通标志的变形和遮挡问题仍然是未解决的问题[14]。传统的机器学习方法通常选择特定的视觉特征,并利用这些特征对交通标志的类别进行分类。具体特征包括Haar样特征、HOG特征、SIFT特征等[3]。

传统的TSR方法基于模板匹配,需要提取和利用交通标志的不变和相似视觉特征,匹配算法用于模式分类。需要很好地指定这些方法的特征表示,这是一个难以精确描述视觉特征的问题,因为交通标志的变化[17,24]。

神经网络、贝叶斯分类器、随机森林和支持向量机(SVM)被用作分类器。然而,传统机器学习方法的性能取决于指定的特征,它们很容易丢失关键特征。此外,对于不同的分类器,需要相应的特征描述信息。因此,传统的机器学习方法具有局限性,它们的实时性能相对而言不具有可比性。

深度学习利用多层神经网络自动提取和学习视觉对象的特征,这对于图像处理具有优势[29]。CNN模型是TSR最流行的深度学习方法之一。TSR算法基于区域建议,也称为两阶段检测算法,其核心思想是选择性搜索[10],其优点是检测和定位性能出色,但成本是大量计算和高性能计算硬件。

CNN模型封装了R-CNN、Fast R-CNN和Faster R-CNN。Faster R-CNN结合了边界框回归和对象分类,采用端到端的方法检测视觉对象,这不仅提高了对象检测的准确性,还提高了对象识别的速度。道路标志通常是从驾驶员的角度检测的,本文中,我们从卫星图像的角度来观察标志。在[24]中,对输入图像采用引导图像滤波,以去除图像伪影,如雾和霾。处理后的图像被导入到所提出的网络中用于模型训练。

同时,基于回归的TSR算法,也称为单级检测算法[1]。这种TSR算法消除了区域建议网络(RPN)的思想,直接在网络中进行回归和分类。你只看一次(YOLO)和单镜头多盒探测器(SSD)属于单级类别。

视觉目标检测包括两个任务,即分类和定位。在YOLO出现之前,这两项任务在视觉目标检测方面是不同的。在YOLO模型中,目标检测被简单地转换为回归问题。此外,YOLO遵循用于视觉对象检测的神经网络的端到端结构,该结构通过一个图像输入同时获得预测边界框的坐标、目标的置信度和目标所属类别的概率[18]。

2020年,发布了三个YOLO版本,即YOLOv4、YOLOv5和PP-YOLO[17,24]。YOLOv4发布时,它被认为是更快、更准确的实时对象检测模型,它继承了Darknet,并基于Microsoft COCO数据集获得了独特的平均精度(AP),同时基于特斯拉V100实现了快速检测速度。与YOLOv3相比,AP和FPS(即每秒帧数或视频帧速率)得到了有效改善。

YOLOv5于2020年发布。关于YOLOv5对TSR的性能的研究成果很少。然而,使用YOLOv5进行了检测苹果的实验,以与YOLOv3的性能进行比较[11]。实验结果表明YOLOv5的性能优于之前的模型。YOLOv5的检测精度提高了4.30%。此外,对苹果采摘进行了类似的实验[26]。通过比较YOLOv3和YOLOv4,改进YOLOv5s模型的可比结果分别为14.95%和4.74%,令人满意。

SSD是众所周知的,因为它已经被提出[16]。同时,SSD模型已经被改进并用于检测各个领域的视觉对象。最近,使用改进的SSD模型基于CTSD数据集实施了实验,结果精度达到94.40%,召回率达到92.60%[9]。此外,还对SSD和YOLOv2之间的交通标志识别进行了比较[4]。考虑了GTSRB数据集。总体而言,SSD的准确度比YOLOv2低21.00%,后者比SSD模型快16.00%。

3. 方法

3.1 YOLOv5

YOLO系列型号已更新至YOLOv5。视觉对象检测的准确性继续更新;回归一直是其核心思想。在这个实验中,我们将YOLOv5的最新版本作为NZ-TSR模型之一。YOLOv5算法的结构与YOLOv4非常相似。整个网络模型分为四个部分:输入、主干、颈部和预测层。图1中详细显示了YOLOv5的网络结构。

在输入部分,YOLOv5和YOLOv4都使用马赛克方法来增强输入数据。该算法需要将输入图像归一化为固定大小,图像的标准大小为608×608×3。此外,网络训练基于初始锚框,通过将其与实际注释框进行比较并迭代更新网络模型参数来获得预测框[23]。

主干部分包括聚焦模块和CSP模块[19]。聚焦模型的关键步骤是通过切片操作压缩输入图像的高度和宽度。拼接图像以将图像尺寸信息(即,宽度和高度)集成到信道信息中以增加输入信道。在CSP模块方面,YOLOv5中设计了CSP模块的两个分支,即CSP1_X和CSP2_X[13]。其中,CSP1_X模块主要用于骨干网络,CSP2_X主要用于颈部网络。

YOLOv5中的颈部模仿YOLOv4,采用FPN+PAN结构。特征金字塔网络(FPN)从上到下工作,并利用上采样操作来传递和融合信息,以获得预测的特征图[8]。相反,PAN(路径聚合网络)是从下到上的特征金字塔。

在预测部分,与YOLOv4不同,YOLOv5使用GIoU_Loss作为损失函数,这有效地解决了边界框不重合的问题[12]。

GIoU计算为

图像识别—基于深度学习的交通标志识别_第1张图片

 其中C表示任意边界框A和B的最小框,封闭A和B。之后,计算面积C的比率,并从A和B的IoU中减去。因此,GIoU损失推导为

图像识别—基于深度学习的交通标志识别_第2张图片

图1 YOLOv5结构示意图 

 3.2 SSD

第一部分是基本特征提取网络,该网络采用无dropout层、FC8和softmax分类层的VGG-16网络。它将普通VGG网络中的全连接层FC6和FC7替换为卷积层Conv6和Conv7[16]。第二部分新增了Conv8、Conv9、Conv10、Conv11四个卷积层。每个卷积层利用1 × 1卷积核进行降维,然后利用3 × 3卷积核进行特征提取[27]。 

SSD模型的损失函数由定位损失(Lloc)和置信度损失(Lconf)[5]两部分组成。整个损失函数是局部化损失和置信度损失的加权和,如式(3)所示。

图像识别—基于深度学习的交通标志识别_第3张图片

 图2 SSD网络结构图

 其中N表示预测框中的正实例数,c为预测分类的置信度,l为使用所提模型的预测框,g为grand truth的标记框,α为定位损失和置信度损失[28]的权重系数。

 置信度损失函数(Lconf) 采用softmax 损失[2],输入是每个分类c的置信度,Lconf在公式(4)中表示。

图像识别—基于深度学习的交通标志识别_第4张图片

 定位损失函数(Lloc)采用平滑L1损失[28]作为预测框(l)的参数,标记框(g)为grand truth。它还包括中心坐标位置(x, y),宽度w和高度h。所以 Lloc计算如式(6)所示。

图像识别—基于深度学习的交通标志识别_第5张图片

 其中为与默认检测框相关的标记框偏移量,为模型输出的预测框。因此,SSD模型输出的预测盒并不是预测盒的直接坐标,而是预测盒的偏移量与检测盒有关。

4 实验

 4.1 数据收集

在本次实验中,我们选取了8类具有较高认知度和重要安全意义的交通标志。由于道路上的交通标志稀少,我们收集的是交通标志图像而不是驾驶视频。我们把他们分成两组,这两组都是用我们的手机摄像头从我们城市的街道上拍摄的。

我们的数据集由2182张交通标志图像组成,这些图像被标记为“禁止掉头”(271张图像),“道路颠簸”(329张图像),“道路工程”(294张图像),“注意儿童穿越”(176张图像),“前方人行横道”(313张图像),“让路”(317张图像),“停止”(286张图像)和“禁止进入”(196张图像),如表1所示。

4.2 数据集增强

对于我们数据集中的原始数据,一些图像是在景观视图中捕获的。首先,我们使用JPEG autootate软件将图像旋转到人像方向。在此之后,由于超高清图像的训练时间太长,我们在保持相同的宽高比的情况下调整了图像的大小。因此,我们将数据集中的所有图像归一化为1128 × 2016和1536 × 2048。

YOLOv5中用于模型训练的图像注释需要标签信息。在本文中,我们使用了标签工具Labellmg。特别是,我们需要转换适合YOLO的格式,因为默认格式是为PascalVOC设计的。每个标签由五个参数组成:分类指数、中心点坐标(x, y)、宽度w, w≥x≥1和高度h, h≥y≥1。一旦所有标签工作完成,我们将数据集中的所有图像按8:2的比例分组为训练测试集和测试数据集。我们将图像和相应的注释文件分别放入文件夹中。

表1 我们的数据集概要

图像识别—基于深度学习的交通标志识别_第6张图片

 与YOLOv5相比,SSD模型中用于训练的数据集需要VOC2007格式。因此,在Labellmg中,我们采用了默认格式。图像标签信息以.xml文件的形式存储在指定的文件夹中。xml文件包含标签类、坐标、宽度和高度。正式的VOC2007数据集包括注解文件夹、ImageSets文件夹、JPEGImages文件夹、SegmentationClass文件夹和SegmentationObject文件夹。

对于我们实验中的SSD数据集,我们定义训练-验证数据集的样本数为总样本数的80.00%,测试数据集的样本数为20.00%,训练数据集和验证数据集的样本数分别为64.00%和16.00%。

 4.3 实现

为了基于我们自己的数据集,使用YOLOv5和SSD实现TSR实验,我们使用了具有强大GPU支持的谷歌协作实验室(Colab)平台。我们的软硬件关键配置以及实验参数如表2所示。

一旦实验环境完全设置好,我们需要将谷歌Drive挂载到Colab并访问准备好的数据集。实验参数YOLOv5为图3(a)左侧所示,SSD为图3(b)右侧所示。

4.4 实验结果

YOLOv5模型在结果中具有良好的可视化功能。首先,我们可视化地显示其对我们数据集的最终识别结果,如图5所示。从图4可以看出,我们YOLOv5实验中观测到的TSR值非常准确。

在表3中,我们声明了“Road bump”,“Cross walk”,“Give way”,a和“No entry”的精度。“无u型转弯”获得的最低精度为0.94。在查全率方面,有近8个类的查全率都在90.00%以上,这表明YOLOv5在我们的数据集中具有良好的TSR性能。因此,毫无疑问,对于平均平均精度,“No U-turn”获得高达99.50%,其他类别都在97.00%左右。这表明YOLOv5模型能够在我们的数据集中实现对NZ-TSR的完全准确的预测。 

最后,我们数据集中YOLOv5的所有具体评价指标如图5所示。其中,第二列和第三列分别是视觉目标检测和分类的训练数据集和验证数据集的损失函数的平均值。该值越小,模型的识别性能越好。

表2 实验的关键配置和环境参数

图像识别—基于深度学习的交通标志识别_第7张图片

 图像识别—基于深度学习的交通标志识别_第8张图片

图3 YOLOv5与SSD实验参数(a) YOLOv5 (b) SSD

通常,评价实验结果最方便、最直接的方法是准确性。在本文中,我们使用PR曲线来演示模型的TSR性能的精确率和召回率之间的权衡。

 在图6中,我们看到SSD实验中八个类的[email protected]结果。总体而言,几乎所有类别的TSR准确率均接近90.00%。其中,“Give way”的TSR性能最好,最终平均精度高达97.06%。但是,“注意儿童过马路”的平均精度很低,只有78.32%。其原因是该特定类的实例数量比其他类要少。

SSD所有实验结果汇总如表4所示。结果表明,SSD模型除“观察儿童穿越”外,具有较好的结果。换句话说,对于SSD模型,数据集包含的实例越多,预测就越准确。

4.5 比较

在我们的数据集中对YOLOv5和SSD进行综合比较后,我们直观地看到YOLOv5和SSD得到的所有八个类的平均精度分别为0.98和0.90。从各类的准确率来看,YOLOv5的实验结果除“Road works”外均优于SSD。当检测量较大时,YOLOv5对“禁止掉头”、“注意儿童过路”和“让路”的检测效果显著,达到0.99,接近100.00%的检出率。在SSD实验中,“Road works”的识别精度最高,为0.98。在样本量较少的“儿童过路警戒”中,精度仅为0.78。最后,在我们数据集的TSR精度方面,YOLOv5和SSD都表现出了很好的能力,但YOLOv5表现得更好一些。

对于TSR效率,在测试数据集中相同数量的图像下,YOLOv5仅花费15 s,而SSD需要129 s。YOLOv5的TSR速度为30帧/秒,比SSD的3.49帧/秒快了近10倍。因此,YOLOv5在TSR效率方面也优于SSD。

图4 YOLOv5的TSR结果

 

表3 数据集YOLOv5实验结果

图像识别—基于深度学习的交通标志识别_第9张图片

5 结论和未来工作

本项目旨在探讨基于交通标志数据集的TSR的准确性和速度。因此,在本文中,我们选择了YOLO系列算法的最新版本YOLOv5来评估其性能。此外,我们还确定了YOLOv5和SSD之间哪个型号更适合TSR。在本实验中,我们采用自定义的交通标志数据集,包含2182张交通标志图像,包括8类。然后,我们在具有很强计算能力的谷歌Colab平台上实现了一个精心设计的实验。此外,我们还通过使用我们的评估指标来分析和比较两个模型的性能。

图像识别—基于深度学习的交通标志识别_第10张图片

图5 :我们数据集中YOLOv5的所有具体评价指标

图像识别—基于深度学习的交通标志识别_第11张图片

图6 SSD实验中8个类别的精度-召回曲线

表4 我们数据集的SSD实验结果

图像识别—基于深度学习的交通标志识别_第12张图片

从实验结果来看,YOLOv5算法对所有类别的准确率均达到97.70%,每个类别的平均准确率均超过90.00%。因此,SSD的总体精度为90.14%。但对于样本较少的类,其识别率仅为78.32%。因此,YOLOv5在识别精度上优于SSD。此外,从识别速度来看,YOLOv5比SSD快30帧/秒,SSD只有3.49帧/秒。我们认为YOLOv5更适合实时交通环境下的TSR。

未来,我们会继续扩展我们的数据集,以涵盖所有类别的交通标志。同时,更多的新开发的视觉目标识别模型,如Mask R-CNN, CapsNet和Siamese神经网络。利用胶囊神经网络(CapsNet)对一类具有空间关系的交通标志进行了有效识别。与众所周知的深度神经网络相比,胶囊网络处理视觉对象之间的拓扑关系。此外,在未来的[15]中,我们将采用专业的评估指标,从多个方面评估我们的模型的性能。

你可能感兴趣的:(深度学习,人工智能,计算机视觉,图像处理,目标检测)