doi :10.3969/j.issn.1001-893x.2021.01.012
引用格式:陈昌川,王海宁,赵悦,等.一种基于深度学习的交通标志识别算法[J].电讯技术,2021,61(1):76-82.[CHEN Changchuan,WANG Haining,
ZHAO Yue,et al.A novel traffic sign recognition algorithm based on deep learning[J].Telecommunication Engineering,2021,61(1):76-82.]
一种基于深度学习的交通标志识别新算法
陈昌川1,王海宁∗∗
1,赵㊀悦1,王延平1,李连杰2,李㊀奎1,张天骐1
(1.重庆邮电大学通信与信息工程学院,重庆400065;2.山东大学信息科学与工程学院,山东青岛266237)
摘㊀要:针对特定场景交通标志精度低与识别速度慢的问题,基于交通标志边缘信息与卷积神经网
络,提出了一种交通标志图像识别T -YOLO 算法㊂该算法基于YOLOv2算法检测思想,融合残差网络㊁卷
积层填充0等结构,下采样舍弃池化层改用卷积层,并提取边缘信息与上采样以提升精度,设计7层特征提取网络以缩短识别速度,随后使用Softmax 函数归一化实现多分类,并采用批量归一化㊁多尺度训练等方法缩短训练时间㊂实验表明,该算法真实有效,图形处理单元(Graphic Process-ing Unit ,GPU )平台上最快检测速度13.69ms /frame ,每帧缩短9.51ms ,最高平均准确率97.3%,提高7.1%,满足实时高精度识别要求㊂与其他算法相比,该算法在交通标志识别速度与精度方面均有大幅提高,更加适用于现实场景,更贴近车载嵌入式系统㊂
关键词:智能交通系统;车载嵌入式系统;交通标志识别;深度学习;T -YOLO ;多尺度训练;残差网络
开放科学(资源服务)标识码(OSID
):
扫描二维码听独家语音释文与作者在线交流享本刊专属服务
中图分类号:TN911.73;TP391.4㊀㊀文献标志码:A㊀㊀文章编号:1001-893X (2021)01-0076-07
A Novel Traffic Sign Recognition Algorithm Based on Deep Learning
CHEN Changchuan 1
,WANG Haining 1
,ZHAO Yue 1
,WANG Yanping 1
,LI Lianjie 2
,LI Kui 1
,ZHANG Tianqi 1
(1.School of Communication and Information Engineering,Chongqing University of Posts and Telecommunications,Chongqing 400065,China;
2.School of Information Science and Engineering,Shandong University,Qingdao 266237,China)
Abstract :For the problem of low accuracy and slow recognition speed of traffic signs in specific scenes,a T -YOLO algorithm for traffic sign image recognition is proposed based on the edge information of traffic signs and convolutional neural network(CNN).The algorithm is based on the detection idea of YOLOv2al-gorithm,which integrates residual network and convolutional layer with 0structure.At the same time,the down sampling discards the pooling layer and uses the convolutional layer instead of the pooling layer.Edge information is extracted and the upper sampling is used to improve the accuracy.A 7-layer feature extrac-tion network is designed to shorten the recognition speed.Then,the Softmax function is used to realize multi -classification,batch normalization and multi -scale training are used to shorten the training time.The experimental results show that the algorithm is real and effective.On graphic processing unit(GPU)plat-form,the fastest detection speed is 13.69ms /frame(shorten 9.51ms per frame),the highest average accura-cy rate is 97.3%(improved 7.1%),which meets the requirements of real -time and high -precision recogni-tion.Compared with other algorithms,this algorithm has greatly improved the speed and accuracy of traffic sign recognition,which makes it more suitable for real scenes and closer to vehicle embedded systems.
Key words :intelligent transportation system;vehicle embedded system;traffic sign recognition;deep lea
rn-ing;T -YOLO;multi -scale training;residual network
67㊃第61卷第1期2021年1月
电讯技术
Telecommunication Engineering
Vol.61,No.1
January,2021
∗∗∗收稿日期:2020-04-24;修回日期:2020-06-30
基金项目:国家自然科学基金资助项目(61671095,61702085,61701065,61771067);重庆市研究生教育教学改革研究重点项目
(yjg192019)
通信作者:wanghaining_cqupt@163
0㊀引㊀言
交通标志识别是交通道路运输的重要组成部分[1-2],但受多种因素干扰,如下雨天㊁标志牌老化等,为保证道路安全,既要考虑识别的精度也要确保识别速度,因此实际应用中要求实现实时高精度识别㊂目前关于交通标志识别已有多种方法㊂由于标识牌特有的形状与颜,有学者提出基于彩空间识别方法[3],或根据形状特征识别交通标志[4],或采用彩与形状特征融合[5]识别,或者通过颜空间提取感兴趣区域[6],随后使用支持向量机(Sup-port Vector Machine,SVM)进行分类[7-9]㊂然而这些方法存在一定弊端:采用彩或形状识别算法存在大量误检,当交通标志所处背景与其颜或形状相近,往往会将背景错误识别成交通标志;再者,通过颜和形状对特殊情况下交通标志很难提取,例如下雨天㊁大雾天㊁遮挡等情况,进而导致精度偏低;使用颜或形状提取图像候选区域随后使用SVM分类的方法对于类别过多交通标志,很难做到正确分类,存在通用性偏低问题㊂近年来由于卷积神经网络(Convolutional Neural Network,CNN)的兴起,为解决精度低的问题,又有学者提出将CNN应用在交通标志检测与识别㊂Lee[10]等人基于SSD(Single Shot Multibox Detector)算法[11]构建的CNN算法同时估计交通标志位置与边界,在基于VGG16模型下最高平均准确率(Mean Average Precision,mAP)达到88.4%㊂Filatov[12]基于交通标志边缘,通过形态学运算与Canny算法处理待检测图像得到交通标志轮廓,随后送入CNN模型进行判断,实现交通标志识别㊂但对于使用CNN检测方法,通过提取大量目标候选区域送入分类网络进行判断和识别[13-18],虽然保证一定的精度与通用性,但不针对交通标志特定场景,网络设计复杂,
提取候选区域图像均要送入网络判断与识别,需要大量计算导致识别速度慢,且精度受限无法进一步提升㊂
本文从交通标志牌边缘信息出发,基于深度学习YOLOv2算法检测思想,提出一种T-YOLO检测算法㊂该算法自行搭建网络结构,融合残差网络㊁下采样操作舍弃通用池化层而改用卷积层,设计7层特征提取网络,解决检测速度慢问题,缩短检测速度;针对交通标志特定场景,提出卷积层四周填充0提取边缘信息与上采样方法,卷积层填充0提高识别精度,上采样方法解决算法无法定位小目标问题提升定位准确度,进一步提高识别精度;随后采用Softmax函数归一化0~1,产生目标概率可能值,实现多分类识别,解决SVM分类器通用性偏低问题;通过批量归一化㊁多尺度训练等训练方法,增强了算法的鲁棒性㊂实验表明,相比于同期交通标志识别算法,所提算法在检测速度与平均准确度上均达到最优;相比于YOLOv2,所提算法平均准确率提高7.1%,检测速度缩短每帧9.51ms,整体性能都得到了提高㊂
1㊀T-YOLO算法
1.1㊀T-YOLO算法结构
如图1所示,T-YOLO算法首先将图像归一化同一尺度,整幅待检测图像被划分成SˑS个网格,每个网格负责检测目标图像中心点是否落在该网格,对于目标图像中心点落在的网格,Pr(object)=1,否则Pr(object)=0㊂通过人为设定的anchor锚点,产生定量个数预测框,每个预测框会产生坐标信息(x,y,w, h)
和置信度(confidence)㊂x㊁y为相对该网格左上角坐标偏移值,w㊁h为该预测框宽与高,置信度为边界框包含目标的可能性Pr(object)与边界框准确度IOU (Intersection over Union)的乘积,如公式(1);同时,每个预测框还会产生一个固定的类别C㊂
confidence=Pr(object)ˑIOU truth pred㊂(1)式中:IOU truth pred代表真实框与预测框比值,当IOU truth pred 越接近1,代表预测框越接近真实框;当比值接近0,则表示预测框越偏离真实框
图1㊀T-YOLO算法检测示意图
交通标志边缘含有丰富的彩对比信息与线条鲜明形状信息,可以提高识别准确度㊂为此,T-YO-LO算法采用卷积层均四周填充0,提取边缘信息,
㊃77㊃
第61卷陈昌川,王海宁,赵悦,等:一种基于深度学习的交通标志识别新算法第1期
以提升检测精度㊂再者,交通标志图像不同于一般图像,单纯采用池化层作为下采样操作,边缘信息将被丢失,因此,T -YOLO 算法对于下采样操作不采用池化层,而改用卷积层,通过3ˑ3的卷积核,设置步长为2,进行图像下采样(见图2),确保边缘信息不会被丢失,进而提升检测精度㊂深度越深的网络层,参数初始化一般接近0,在训练过程中,随着迭代次数增加,网络更新浅层参数,而进一步导致梯度消失,产生梯度爆炸等现象,从而导致无法收敛,损失率增加,而残差网络能解决梯度消失与梯度爆炸等现象,进而使得模型收敛㊂为此,T -YOLO 算法在特征提取结构后加入残差网络,用以防止模型过拟合㊂图3为引入残差网络结构示意图
图2㊀
补零下采样
图3㊀残差网络示意图
神经网络训练是个复杂过程,只要前面几层发生微小变化,这种微小变化就会在后面几层不断放大,形成大变化,一旦网络输入数据分布发生改变,那么网络层势必要去适应学习这个新数据分布,这将极大影响训练速度㊂为此,T -YOLO 算法在每个卷积层中均加入批量归一化操作(Batch Normaliza-tion,BN),加速训练模型的收敛速度㊂
首先到最小batch,假设最小batch 中输入数
据为x ,β是由输入x 构成的集β={x 1,x 2, ,x m },求得最小batch 中的均值与平方差,并将其归一化操作,进而产生了一种从原始数据到训练数据的映射表达式,如公式(2)所示:
μβ=1m ðm
i =1x i
σ2β=1m ðm
i =1(x i -u β
)2^x i =
x i -μβσ2β+ε
y i =γ^x i +φʉBN γ,φ(x i )ìî
í
ïïïïïïïïï
ï㊂(2)
如图4所示,T -YOLO 对图像粗略特征提取采用7层卷积层,缩短模型特征提取速度,随后送入后
续残差网络与上采样继续进行细节特征提取㊂T -YOLO 算法为解决无法准确定位小型目标图像问题引入上采样操作,如图5所示,通过融合残差网络的输出与输入并上采样,解决识别小型目标问题,以提升精度㊂最终生成全连接采用Softmax 函数归一化㊂相比于SVM 分类器采用超平面将图像进行0与1分类,Softmax 函数产生目标概率值,可以实现多目标的分类,解决了
SVM 分类器通用性偏低问题㊂
图4㊀7层特征提取网络
87㊃leonline 电讯技术㊀㊀㊀㊀2021年
图5㊀T -YOLO 网络示意图
1.2㊀T -YOLO 检测算法
针对目标检测,T -YOLO 算法将待检测图像划分成56ˑ56个网格,每个网格会检测是否包含目标图像区域,对于区域性包含目标图像的网格通过算术求得网格中心值,进而确定目标中心点落在的网格㊂对于检测到目标中心点网格将会截取并产生系列事先设定大小的预选框图像,截取图像送入神经网络进行判断与识别㊂本文将网格中输出预选框图像个数设置为5个,并采用k 均值聚类算法(k -means)求解事先设定预选框大小,随机选取k 个对象作为初始聚类中心,然后计算目标中的点与聚类中心距离,并将每次产生的对象分配给距离它最近中心点,每分配一个样本,聚类中心点将会重新计算,然后继续聚类,直到所有样本都被计算完成,最终产生所有的聚类点,选取其中聚类最多的5个矩形框的点作为预选框㊂
因此,含有交通标志目标中心点的网格将会产生(5+3)ˑ5个预选框图像,该网格产生的40个预选框图像均要送入T -YOLO 神经网络进行判断识别㊂图6为T -YOLO 网络检测流程图
图6㊀算法检测流程图
同时,为了使模型更具通用性提高模型鲁棒性,
T -YOLO 网络采用多尺度训练方式,每隔10轮调整一次输入图像分辨率,进而使得模型对于不同分辨率图像均能做到有效的识别与定位㊂
2㊀实验效果与算法对比
2.1㊀数据集预处理及训练
本文选取数据集是Zhang [19-20]等人公开的中国
交通标志检测数据集(CSUST Chinese Traffic Sign
Detection Benchmark,CCTSDB),丰富的数据集有助于提高模型平均准确率,同时可以加速模型训练时收敛,降低损失率㊂为了使得训练集更加丰富,包含不同场景情况下图像,采用旋转㊁调整饱和度㊁调整亮度三种混合方式增强数据集㊂按照5ʒ1的比例划分训练集与测试集,分别为15000张与3000张
图片,并将数据集划分为警告㊁强制㊁禁止三类㊂
本文实验硬件配置如表1所示,并在上面搭配所需的软件环境Ubuntu16.04㊁CUDA10.1㊁Cudnn7.5㊁Opencv3.4.3,同时根据数据集的特点,一并参考YOLOv2的参数配置㊂T -YOLO 算法的参数配置见表2,在1~30000次迭代设置学习率大小
0.001,然后随着迭代次数的累计,依次调整学习率,直到损失率保持稳定㊂
表1㊀硬件配置
设备名称型号数量/个
CPU
W -2133
1GPU RTX 2080Ti
2固态硬盘三星256GB 1内存金士顿16GB 2机械硬盘
西部1TB
1主板  C.Z370AK PLUS
1
97㊃第61卷陈昌川,王海宁,赵悦,等:一种基于深度学习的交通标志识别新算法第1期
表2㊀T-YOLO参数配置
名称参数值备注Learning Rate0.001学习率
Epoch60000迭代次数
Batch Size64批次处理大小
Subdivisions16子批次处理大小
NMS0.45非极大值阈值
Threshold0.5置信度阈值2.2㊀算法对比
为了验证T-YOLO算法准确性与可靠性,在基于硬件平台GPU RXT2080Ti与CPU Intel(R) Xeon(R)W-2133和软件平台Ubuntu16.04㊁opencv3.4.3的基础上,将测试集3000张图片送入不同网络,图片大小为1024pixelˑ768pixel,并选取平均准确率(mAP)㊁平均召回率(Average Recall, AR)㊁GPU检测速度(ms/frame)作为验证指标㊂AR 计算公式如公式(3)所示:
AR=1iði i TP TP+FN㊂(3)式中:TP代表真正正样本,FP代表假正样本,FN代表假负样本,i代表类别㊂算法对比见表3㊂从表3可以看出,T-YOLO算法无论是在平均准确率还是在检测速度上都达到最优效果,相比于YOLOv2算法, T-YOLO算法在平均准确度上提高7.1%,检测速度每帧缩短了4.9ms;相比于Faster R-CNN算法,T-YOLO算法在速度上提高124倍,精度提高3.8%;相比于传统算法HOG+SVM,检测精度提高13%㊂
车标志识别图表3㊀算法对比
算法mAP/%AR/%GPU检测速度/
(ms㊃frame-1) T-YOLO97.391.319.31
YOLOv290.289.223.23
YOLOv392.090.434.21
SSD91.288.133.41 HOG+SVM84.374.8
Faster R-CNN93.587.22351.31
同样,为了验证T-YOLO算法鲁棒性,采用不同分辨率输入图像进行测试㊂采用224pixelˑ224pixel㊁320pixelˑ320pixel㊁416pixelˑ416pixel㊁512pixelˑ512pixel㊁608pixelˑ608pixel五种分辨率图像,将原始图像按照等比例方式缩放到上述分辨率固定尺度,对于空出像素区域填充黑像素0,分别验证各个分类的准确率以及平均准确率㊁检测速度三个指标,结果如图7和图8所示㊂从图7可以看出,对于图片大小为224pixelˑ224pixel的图像识别准确率较低,这是由于交通标志图像大都为低分辨图像,如果采用更低分辨率图像,交通标志图像会变小,所以导致平均准确率偏低;从图像大小为320pixelˑ320pixel往上,平均准确率越来越高,结果如图7和图8所示㊂从图7与图8可以看出对于低分辨率的图像,检测速度比较快,但对应的平均准确率低,对于224pixelˑ224pixel图像,GPU上检测速度达到13.69ms/frame,随着分辨率不断提高,检测耗时也增加
图7㊀
不同分辨率图像准确率
图8㊀不同分辨率图像检测速度
2.3㊀T-YOLO算法检测效果对比
交通标志往往悬挂在高空或道路两旁,从人视觉或汽车视觉内观察到的基本为小型目标图像与中型目标图像;再者,对于交通安全,能尽早准确无误地将远方交通标志检出,可以减少不必要的损失,避免进一步的人员伤亡㊂从图9(a)可看出,YOLOv2算法针对于小型目标图像检测,对小型目标定位很不准确,进而很难检测出;同样可以看出,由于采用池化层作为下采样操作丢失边缘信息,对于遮挡目标很难检测出㊂从图9(b)可看出,T-YOLO算法可
㊃08㊃