APP下载

基于深度学习的交通标志检测方法研究

2018-11-21武林秀李厚杰贺建军

大连民族大学学报 2018年5期
关键词:交通标志标志卷积

武林秀,李厚杰,贺建军,陈 璇

(大连民族大学 信息与通信工程学院,辽宁 大连 116605)

交通标志检测是交通标志识别系统的重要组成部分,准确的交通标志检测对交通标志识别至关重要,研究交通标志检测算法有着重要的现实意义和理论价值。近十几年来,许多学者提出了比较有效的算法,通常分为基于标志颜色的标志检测、基于标志形状的标志检测以及基于机器学习的标志检测[1]。基于颜色模型的检测算法通常采用彩色空间对图像进行分割,只要通过少量运算,就能够去除大量的非感兴趣区域,因此具有良好的实时性。但只通过颜色信息进行标志检测受光照、天气的影响较大[2-4]。基于标志形状的检测算法也可以将交通标志从复杂背景中有效的提取出来,通常采用Hough变换检测圆形和直线,检测效果显著。但由于其计算量大影响了实施性并且由于形状单一(如三角形、菱形、圆形)使得检测情况受限[5-6]。基于传统机器学习的标志检测方法具有检测精度高、路况变化反应及时的优点,但传统机器学习的特征依赖人工设计,在设计过程中需要研究人员具备相当丰富的经验,因此也存在一定的局限性[7]。

随着深度学习技术的发展,基于深度学习的目标检测算法得到了深入的研究,在计算机视觉领域的受到了广泛关注。相对于传统机器学习而言,深度学习模型能够自动提取特征,无需人工设计,避免了人工设计特征的局限性。

本文基于Faster R-CNN深度学习框架和VGG16卷积神经网络,提出了一种交通标志检测算法,算法在德国交通标志检测数据集(German Traffic Sign Detection Benchmark,GTSDB)上进行了验证,取得较好的检测效果。

1 Faster R-CNN算法框架

Faster R-CNN[8]是2016年Ross Girshick团队在R-CNN[9]和Fast R-CNN[10]的基础上提出的一种基于建议区域网络(Region Proposal Network,RPN)的深度学习框架通用目标检测算法。算法的主要思想是设计了提取建议区域的RPN网络,用卷积神经网络来生成建议窗口,并且将生成建议区域的卷积神经网络与用作分类的卷积神经网络共享卷积层参数,使得算法不再依赖单独生成建议窗口的模块。由于RPN代替了Selective Search的方法并且与检测网络共享全图的卷积特征,然后将RPN网络产生的建议区域进行分类与边框回归计算,使得区域建议用时非常短,同时大幅减少了检测网络花费的时间。

将图片以及图片中检测目标的类别与边界坐标输入到Faster R-CNN模型中后,用深度卷积神经网络模型对图像进行特征提取,把最后的卷积层提取的特征图输入RPN做区域建议的预测,再将预测后的建议区域边框映射到特征图上,直接在特征图上提取对应区域的深层特征并采用Softmax对提取到的特征预测类别,从而达到目标分类与边界回归的目的。算法框架如图1[8]。

图1 Faster R-CNN 框架

2 基于Faster R-CNN的交通标志检测算法

Faster R-CNN在PASCAL VOC数据集上可以达到世界先进的目标检测率,人类、动物、交通工具等20类目标都可以被检测出来,这些目标一般在一幅图像中占据很大的比例。但是本文检测的目标是交通标志,目标较小并且在图中占据的比例也很小。为了能够使Faster R-CNN目标检测算法对标志有效定位和检测,算法中对交通图像归一化尺寸进行了设计。基于Faster R-CNN深度学习模型的标志检测算法如下:

步骤1:将数据集中图片输入给卷积神经网络(本文应用VGG16网络),网络经过前向传播到共享卷积层的最后一层,将卷积特征图输入RPN网络中,继续前向传播到非共享卷积层得到高维特征图;

步骤2:卷积特征图经过RPN网络生成建议区域框与各个区域的得分,采用非极大值抑制策略将得分大于0.7与得分小于0.3的建议区域传给RoI池化层;

步骤3:把建议区域框与高维特征图输入RoI池化层进行特征提取;

步骤4:将提取的特征传入全连接层,输出该区域的分类得分与回归后的边界区域(bounding-box)。

本文算法的网络框架结构如图2。

图2 交通标志检测的网络结构图

在算法中,RPN的训练过程采用端到端(end-to-end)的方式[11]。使用反向传播和随机梯度下降的优化方式,损失函数是分类误差和回归误差的联合损失,如式(1)

(1)

(2)

式中:x和y表示建议区域的中心点坐标;w和h表示区域的宽度和高度;变量x表示预测边界框;xα表示anchor框;x*表示真实目标的边界框(变量y、w、h同理)。

3 实验与分析

本文算法在GTSDB上训练Faster R-CNN模型,该数据集有900张PPM格式的图像,其中训练图像600张,测试图像300张,图像大小全部为1 360×800 px,全部在自然场景下拍摄。数据集中共有1 213个交通标志,其中训练集占852个,测试集占361个。图像中标志分为禁止、警告、指示与其它四种类别,且每张图像均有交通标志坐标的详细标签。每张图像中的交通标志在0到6个之间,标志的大小从16×16 px到128×128 px不等。

实验采用python语言版本的TensorFlow深度学习系统在Intel® Xeon(R)CPU E5-2660 v4和NVIDIA® Tesla® P40 GPU的Ubuntu 16.04系

统配置下实现。

在学习模型训练时,应用了公开在ImageNet数据集上训练好的VGG16网络分类模型作为预训练模型,对RPN网络和Fast R-CNN共享网络层的参数进行初始化。充分考虑了算法时间开销和检测性能。实验中,对输入图像的归一化尺寸大小设定为原始图像尺寸的1.5倍。初始学习率设置为0.001,在50 000次迭代后,将学习率减小10倍,继续迭代20 000次停止训练。

本文的评价指标采用平均正确率AP(Average Precision)来评估交通标志检测的性能,计算方法如式(3)。其中p为查准率(precision),表示检出区域中交通标志的数量占检出区域总个数的百分比;r为查全率(recall),表示检出区域数量占交通标志总个数的百分比。以查准率为横坐标,查全率为纵坐标可绘制出p-r曲线,AP即该曲线下面积,

(3)

交通标志检测的实验结果如图3。四种类别的平均正确率都达到了90%以上,其中警告、指示和其它三种类别的AP值都达到了99%以上。实验中检测一张图像的平均时间约为0.8 s。

图3 查准率对GTSDB测试集的各类别AP结果

本文算法对各种天气和光照变化环境下的标志检测具有良好的稳健性,图4(a)~(d),分别显示了晴天、雨天、光照强和光照弱四种情况下良好的检测结果。图5(a)~(c)表明了本文算法对运动模糊、小尺寸标志、标志遮挡以及标志污损等复杂自然环境的标志检测具有良好的鲁棒性。

(a)晴天 (b)雨天 (c)光照强 (d)光照弱

(a)运动模糊 (b)小标志 (c)部分遮挡 (d)污损标志

4 结 语

本文提出的交通标志检测算法,利用了深度学习技术,能够自动特征提取,并利用了区域建议网络,实现了端到端的训练方式。算法在GTSDB数据集上进行了测试和验证,取得了较好的检测效果,并对不同光照、运动模糊、标志遮挡以及标志污损等复杂自然环境的标志检测具有良好的鲁棒性。

猜你喜欢

交通标志标志卷积
基于双向特征融合的交通标志识别
多功能标志杆的使用
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
认标志
首都的标志是只熊
基于傅里叶域卷积表示的目标跟踪算法
交通标志小课堂
医改进入新阶段的重要标志
我们欢迎你!