Traffic sign detection algorithm based on pyramid multi-scale fusion
-
摘要: 为了解决传统交通标志检测算法针对小目标交通标志检测时存在误检与漏检的问题,提出了一个基于金字塔多尺度融合的交通标志检测算法;为了提高算法对交通标志的特征提取能力,引入ResNet残差结构搭建算法的主干网络,并增加网络浅层卷积层数,以提取较小尺度交通标志目标更准确的语义信息;基于特征金字塔结构的思想,在检测结构中引入4个不同预测尺度,增强深层和浅层特征融合;为了进一步提高算法检测精度,引入GIoU损失函数定位交通标志的锚点框,利用k-means算法对交通标志标签信息进行聚类分析并生成更精准的先验框;为了验证算法的泛化性与解决试验所用数据集TT100K的类间不平衡问题,增强与扩充了数据集。试验结果表明:本文算法的精确率、召回率与平均精度均值分别达到了86.7%、89.4%与87.9%,与传统目标检测算法相比有显著提高;多尺度融合检测机制、GIoU损失函数与k-means的引入能够不同程度提高算法的检测性能,使算法检测精确率分别提升4.7%、1.8%与1.2%;提出算法针对不同尺度交通标志检测时均有更优越的性能表现,在TT100K数据集中的(0, 32]、(32, 96]与(96, 400]尺度下的检测召回率分别达到90%、93%与88%;与YOLOv3相比,提出算法在不同天气、噪声与几何变换等干扰下均能实现对交通标志的正确定位与分类,证明了提出算法具有良好的鲁棒性与泛化性,适用于道路交通标志检测。Abstract: In order to address the problems of misdetection and missing detection for small target traffic signs in traditional traffic sign detection algorithms, a traffic sign detection algorithm based on pyramidal multi-scale fusion was proposed. To improve the feature extraction capability of the algorithm for traffic signs, the residual structure of ResNet was adopted to build the backbone network of the algorithm, and, the number of shallow convolutional layers of the backbone network was increased to extract more accurate semantic information of smaller scale traffic signs. Based on the idea of feature pyramid network, four different prediction scales were introduced in the detection network to enhance the fusion between deep and shallow features. To further improve the detection accuracy of the algorithm, the GIoU loss function was introduced to localize the anchor boxes of traffic signs. Meanwhile, the k-means algorithm was introduced to cluster the traffic sign label information and generate more accurate prior bounding boxes. In order to verify the generalization of the algorithm and solve the problem of inter-class imbalance of TT100K data set used in the experiment, the data set was enhanced and expanded. Experimental results show that the accuracy, recall and average accuracy of the proposed algorithm are 86.7%, 89.4% and 87.9%, respectively, significantly improving compared with traditional target detection algorithms. The adoption of multi-scale fusion detection mechanism, GIoU loss function and k-means improves the detection performance of the algorithm to different degrees, and its precision improves by 4.7%, 1.8% and 1.2%, respectively. The algorithm has better performance in the detection of traffic signs under different scales, and its recall rate is 90%, 93% and 88% under the scales of (0, 32], (32, 96] and (96, 400] in TT100K dataset, respectively. Comparing with YOLOv3, the proposed algorithm can correctly locate and classify traffic signs under the interference of different weather, noise and geometric transformation, which proves that the proposed algorithm has good robustness and generalization, and is suitable for road traffic sign detection. 7 tabs, 18 figs, 30 refs.
-
0. 引言
近年来,为了提高驾驶的安全性,许多研究人员和机构开始致力于开发智能交通系统[1]。交通标志检测系统是智能交通系统中的一个重要组成部分,该系统通过算法和传感器检测前方道路交通标志并及时地向驾驶人反馈从而尽可能提高驾驶安全,因此,有效提高道路交通标志的检测精度和检测效率是现阶段的研究热点。
目前,交通标志检测算法主要分为两类,一是传统检测算法,二是基于深度学习的检测算法。传统交通标志检测算法首先分割出感兴趣区域,其次采用特征提取方法(如:方向梯度直方图[2]和局部二值模式等)获取交通标志特征信息,最后结合机器学习算法判断交通标志类别。Piccioli等[3]对实时道路中交通标志图像进行边缘检测,再根据交通标志形状特征在图像中进行定位; 梁敏健等[4]采用伽玛校正方法提取标志的方向梯度直方图特征,并利用Softmax分类器对交通标志进行分类。然而,交通标志的颜色形状特征易受外界环境因素影响发生变化,因此,传统检测算法大多误检率高,算法泛化能力较差,对交通标志特征的提取能力有限。
深度学习的出现为交通标志的检测提供了新的思路。目前,深度学习在交通标志检测领域已经取得重大成果,不同于传统的检测算法,深度学习下的交通检测算法通过构建卷积神经网络CNN(Convolutional Neural Network)[5]来学习交通标志目标特征[6],再利用网络训练的方式将交通标志数据样本和标签文件送入网络的输入端,通过变换网络层的组合和改变卷积核尺度等方法对图像进行特征提取。网络参数的不断演化使算法能够学习不同交通标志之间的变换关系,避免手工提取特征误差较大的情况。
基于深度学习的交通标志检测算法主要分为基于候选区域网络的算法和基于回归的算法两类。前者先通过检索物体的大概位置来确定感兴趣区域,再利用特征提取网络对目标的坐标和具体类别进行判断。这类算法的典型代表有R-CNN[7]、Fast R-CNN[8]和Faster R-CNN[9]等。Zhu等[10]利用候选区域网络对交通标志进行检测与分类,但往往无法提取深层次的特征信息; Liang等[11]采用带有横向连接的深层特征金字塔网络(Feature Pyramid Network,FPN)[12]获取的交通标志语义特征更加敏感丰富; 周苏等[13]对PVANet网络[14]中的浅层、深层特征提取层和HypeNet层(多层特征信息融合层)进行改进,获得较高的检测精度。虽然这类算法能提高检测精度,但网络结构复杂,算法实时性较差。
基于回归的交通标志检测算法能够在一个网络内实现交通标志图像输入到分类结果输出的整个过程,检测速度上更占优势。这一类算法的典型代表有YOLO(You Only Look Once)系列[15-17]和SSD系列(Single Shot Multi-Box Detector)[18-19]等。Rajendran等[20]以YOLOv3作为检测网络,并搭载CNN分类器构建交通标志检测算法以提高检测速度,并在德国交通标志集(German Traffic Sign Detection Benchmark, GTSDB)[21]上验证了算法的性能; Zhang等[22]提出了MSA_YOLOv3算法,该算法采用Mixup技术[23]对数据集进行图像增强,并引入金字塔多尺度池化层使模型能够更有效地学习交通标志目标的底层特征信息; Wu等[24]在YOLOv3算法中引入DarkNet19[16]作为分类网络,并基于交通标志特征对GTSDB数据集进行数据增强。基于回归的检测算法的检测速度有所提升,但这类算法对于较小尺度交通标志的检测效果仍不够理想。
为了有效提高交通标志目标检测算法的检测精度和泛化能力等,本文提出了基于金字塔多尺度融合的交通标志检测算法(Traffic Sign Detection Based on Feature Pyramid Network, FPN-TSD); 首先采用ResNet残差结构[25]搭建算法的特征提取网络,并加深网络层数提取交通标志细节特征; 借鉴特征金字塔结构的思想搭建多尺度检测结构,增强交通标志语义信息表征能力; 为进一步提高算法定位准确性,引入广义交并比(Generalized Intersection over Union, GIoU)[26]作为损失函数来优化目标预测框与真实框的位置关系,同时,采用k-means算法聚类分析交通标志标签信息得到更精准的先验框; 对试验所用数据集清华-腾讯100K (Tsinghua-Tencent 100K, TT100K)[10]进行增强与扩充,以增强算法的泛化性,增加数据样本多样性。
试验证明,与不同主流检测算法相比,本文算法在不同评价指标上均表现出更优越的检测性能,并在一定程度上解决了传统检测算法的漏检与误检问题。同时,TT100K数据集中(0, 32]和(32, 96]两类尺度下的试验结果也证明本文算法能够较为出色的完成各类尺度交通标志的检测任务。
1. FPN-TSD交通标志检测算法整体架构
1.1 FPN-TSD算法的特征提取网络
首先,为满足交通标志这类较小尺度目标在检测时的精度要求,算法的特征提取网络应具备较强的特征挖掘能力; 其次,为保证算法训练过程中不出现梯度消失等问题,算法需具备较高的鲁棒性; 此外,道路交通标志在室外易受环境因素影响发生形变或褪色[27],因此,算法还需具备一定的泛化能力。基于上述分析,本文构建了一个基于回归的FPN-TSD交通标志检测算法。首先通过算法的深层特征提取网络获取交通标志目标的细节特征,再利用算法的多尺度预测网络实现交通标志的定位与分类。
借鉴YOLOv3[17]的思想,FPN-TSD算法的特征提取网络引入ResNet[25]残差结构来进行搭建,如图 1所示。图 1中:x为输入特征; F(x)为经过权重层卷积后得到的图像。在此基础上,结合Network in Network中的1×1卷积层在常规3×3卷积层后做多特征图通道的整合与约减,因此,该特征提取网络由多个残差模块组成,每个残差模块中包含多个3×3和1×1卷积核。此外,加深特征提取网络层数,使算法获取的交通标志语义信息更加丰富。综上,构建出FPN-TSD算法的特征提取网络DarkNet-57,网络结构如图 2所示。
1.2 FPN-TSD算法的检测分支结构
道路交通标志由于采样距离较远导致其尺度普遍较小,因此,交通标志目标的浅层特征信息表征时容易丢失。为了改善检测效果,本文借鉴了特征金字塔网络结构(Feature Pyramid Network, FPN)[12]的思想搭建算法的检测结构。
传统的图像特征提取结构通常只对末端卷积层输出的特征图进行特征提取,忽略了浅层特征图的语义信息。而特征金字塔结构中除了侧向连接还加入了自顶而下的连接,使浅层特征中融入更多深层特征图的语义特征,增强了浅层特征图表达能力,提高算法对小目标的检测能力。
为了使算法能够获取小目标交通标志的细节特征,本文利用特征提取网络DarkNet-57结合FPN构建算法的检测结构,实现交通标志的多尺度检测,网络结构如图 3所示。
由于浅层特征图中具有更多的目标位置信息,在检测较小尺度交通标志目标时更具优势,因此,FPN-TSD算法将图 3中4种不同来源的特征图进行融合,方式如下:首先,利用算法特征提取网络中语义信息最为丰富的底层13×13尺度特征图的输出作为基础,并在不改变其尺度的前提下调整通道维度作为多尺度结构的第1层; 其次在该特征图的基础上采用双线性插值法完成3次二倍上采样,从而获得26×26、52×52与104×104的特征图,分别作为算法特征金字塔结构的第2~4层; 最后,在13×13、26×26、52×52与104×104特征图上独立进行预测输出,将4个不同输出结果融合得到最终检测结果。此时,检测结果中包含了丰富的交通标志样本特征信息。
综上所述,FPN-TSD算法中基于FPN的多尺度检测结构可以解决交通标志目标在图像中尺度参差导致细节特征难以提取的问题,优化了算法的检测性能。
1.3 FPN-TSD算法的输出特征结构
交通标志目标的高度与宽度相近,本文利用k-means算法[28]对数据集中交通标志目标的标签信息进行聚类分析,以得到更精准的交通标志先验预测框。
k-means采用距离作为相似性评价指标,假设数据之间的相似度与它们之间的欧式距离成反比,即2个目标间欧式距离越近,其相似度就越大。k-means算法工作原理如下:首先,随机选取k个给定数量的初始聚类中心; 其次,计算每个聚类对象到聚类中心的距离,再根据距离远近分配聚类对象为k个群; 最后,利用迭代使目标间距离变小,群间距离变大,在进行到第m次迭代时,仅计算上一次迭代中样本点到最近聚类中心的距离,并决定类簇(同类数据点的集合)的分组,重复迭代过程直到损失函数达到最小值停止迭代,此时聚类完成。
以图 4为例:图 4(a)为一簇初始样本点,首先,在图 4(b)中随机给定2个点作为聚类中心,即k=2;其次,计算出各个样本点到聚类中心的欧氏距离来决定类簇的分组; 最后计算分类后样本的中心点,如图 4(c)所示; 重复以上过程,直至得到图 4(d)的聚类结果,即视为聚类完成。
利用k-means对FPN-TSD算法所有训练样本的标签文件进行聚类分析,产生了12个不同尺度和比例的先验框,每个先验框都包含了位置信息(中心坐标)、大小信息(长和宽)、置信度信息与交通标志类别信息。将其按照大小顺序分配给13×13、26×26、52×52与104×104这4个尺度特征图,分别对应的先验框尺度如表 1所示。
表 1 各尺度特征图对应锚点框尺度Table 1. Anchor box scales of each scale feature map特征图尺度 先验框尺度 13×13 (3, 4)、(5, 5)、(5, 10) 26×26 (6, 7)、(8, 9)、(11, 12) 52×52 (12, 23)、(14, 15)、(19, 20) 104×104 (25, 27)、(36, 38)、(62, 64) 在FPN-TSD算法中,主干网络输出的特征图维度为N[(o+j+w+h)+T+Z),其中,N为特征图的先验框数,特征图的每个单元格都需检测N个交通标志目标; o、j、w、h分别为先验框在图像中的4个位置坐标; T为置信度,是先验框中存在待检测目标的概率; Z为标签类别的数目。FPN-TSD算法的输出特征结构如图 5所示,D为待检测数据集中每个类别的概率。
1.4 FPN-TSD算法的损失函数
IoU(Intersection over Union)是比较2个任意形状之间相似度的最常用指标,定义为预测边界和实际边界交集的面积与两者并集的面积的比值,简称交并比,用yIoU表示。交并比常用来评价检测算法性能并衡量预测结果的精确度,即
yloU=S1S2 (1) 式中:S1为预测框与真实框像素点交集的面积; S2为预测框与真实框像素点并集的面积。
预测框与真实框重叠区域面积越大,yIoU越大,边界框预测越精准。
在实际目标检测中,若预测框与真实框的像素点无重叠区域,如图 6所示,红色矩形框为真实框,绿色矩形框为预测框。图 6(b)中两框间距离显然比图 6(a)中距离更近,但根据定义,2种情况下yIoU均为0,因此,IoU作为损失函数并不能反映两框间的距离,并且yIoU为零时无梯度回传,无法进行训练学习。
为了解决上述问题,Rezatofighi等[26]提出了广义交并比(Generalized Intersection over Union, GIoU),克服了IoU在边界框像素点间无交集下的不足,并具有尺度不变性、非负性和对称性。此外,GIoU也关注预测框与真实框间的非重叠情况,如图 7所示。
GIoU计算方法为
yGloU=yloU−C−S2C (2) 式中:C为同时包含预测框和真实框所围成的最小闭合框的面积,即图 7中黑色矩形框包围区域。
当预测框与真实框像素点完全重合时,yIoU=1,而两框像素点无交集时,yIoU=0,因此,yIoU的取值范围为[0, 1]。而yGIoU具有对称性,取值范围为[-1, 1],因此,当两框的像素点完全重合时,yGIoU=1,但是当2个边界框无重叠且距离无限远时,最小包围框C的面积趋于无穷大,此时yGIoU=-1。这种取值区间的对称性使它比IoU能够更好地反映边界框的重叠和非重叠情况。
将GIoU作为边界框回归损失时,损失函数LGIoU为
LGloU=1−yGloU (3) 由式(3)可知:yGIoU值越大,LGIoU值越小,网络越会朝着预测框与真实框像素点重叠度较高的方向优化,同时边界框的回归收敛效果就越好。
FPN-TSD交通标志检测算法的整体结构如图 8所示:CL+BNL+LR模块(Convolutional Layer+Batch Normalization Layer+Leaky ReLU)构成了整个网络的基础; 算法的输入每经过一个Unit模块(2个CL+BNL+LR模块+1个残差连接Res),特征图的宽和高变为原来的一半。算法检测流程如下:输入图像经过特征提取网络的第1个Unit4模块后,得到尺度为104×104的特征图,输入到第2个Unit8模块后特征图的尺度变为52×52,再送入第3个Unit8中得到26×26的特征图,经过最后一个Unit4模块得到的特征图为13×13,4个检测尺度融合后得到表征能力更强的交通标志语义信息。最后,利用GIoU损失函数优化4个尺度特征图中的目标框并根据k-means聚类分析后得到的先验框尺度进行检测并输出检测结果。
2. 试验设计
2.1 试验数据集
本文算法在TT100K交通标志数据集[10]上进行训练学习。由于FPN-TSD算法针对道路交通标志进行设计搭建,相比于COCO[29]与VOC[30]公共数据集,仅包含交通标志数据样本的TT100K数据集更适用于验证算法性能。
TT100K由清华大学和腾讯公司根据10万个腾讯街景图联合创建。数据集涵盖了各种不同光照与天气条件,交通标志类别数多达221类,总共包含图像约26 349个,其中包括6 107个训练集图像和3 073个测试集图像,每个数据样本的分辨率均为2 048×2 048。
TT100K数据集类别如图 9所示,其中“w”为首的标志为警告类(Warning)标志,“p”为首的标志为禁止类(Prohibitory)标志,“i”为首的标志为指示类(Indication)标志,不同标志在3个类别中用不同编号一一对应,其中禁止和指示类中带星号的类别可根据不同的数值对应不同类别。
由于TT100K数据集中类别较多,不同类别的样本量也存在差异,这种类间不平衡问题会对试验结果产生影响,因此,本试验选用了交通标志数据量较多的45个类别进行训练与检测,试验选用的标志如表 2所示。
表 2 试验所用交通标志Table 2. Traffic signs utilized in experiment分类 标志 警告类 wo、w13、w32、w55、w57、w59 禁止类 pn、pne、pg、po、p3、p5、p6、p10、p11、p12、p19、p23、p26、p27、pr40、ph4、ph4.5、ph5、pm20、pm30、pm55 指示类 io、ip、i2、i4、i5、il60、il80、il100 本文对TT100K数据集利用不同图像增强方法进行扩充,从而提高算法泛化性,在一定程度上解决了数据集中交通标志类别间不平衡的问题。本文采用的图像增强方法分别为增强对比度、添加噪声、加雨处理、加雾处理与随机几何变换,增强后的数据样本如图 10所示。扩充后试验所用的数据集包含10 365个交通标志图像,其中包括2 143个测试集图像和8 222个训练集图像。
2.2 评价指标
本文采用了不同算法评价指标来对算法性能进行试验对比分析,如精确率P、召回率R、平均精度均值ˉB、准确率A、精确率-召回率曲线(P-R曲线)与每秒传输帧数Q。针对预测值和真实值不同的组合,所有数据样本都可划分为真正例V1、真反例V2、假正例V3与假反例V4。这4个指标构成了混淆矩阵,如表 3所示。
表 3 混淆矩阵Table 3. Confusion matrix真实值 预测值 结果 正例 正例 真正例 正例 反例 假反例 反例 正例 假正例 反例 反例 真反例 真正例表示真实值是正例并且模型判断也为正例,假反例则表示真实值是正例而模型误判为负例(该项可被理解为漏报),假正例表示真实值是负例然而模型判断为正例(该项可被理解为错报),真反例表示真实值是负例且模型判断也为负例。
算法的评价指标根据混淆矩阵进行计算。准确率A表示被预测正确的交通标志样本数在所有交通标志样本数中所占比例,精确率P表示检测结果中预测正确的交通标志样本数在所有预测交通标志样本数中所占比例,召回率R表示检测结果中预测正确的交通标志样本数在所有真实交通标志样本数中所占比例,即
A=V1+V2V1+V2+V3+V4 (4) P=V1V1+V3 (5) R=V1V1+V4 (6) 绘制精确率-召回率(P-R)曲线能够直观地展示算法检测性能。P-R曲线所围成的面积为平均精度B,B越大,算法性能越好。若数据集中交通标志样本个数为U,平均精度均值ˉB的计算方法为
ˉB=BU (7) 此外,每秒传输帧数Q是衡量算法检测速度的重要指标。
3. 试验结果分析
3.1 试验环境
试验在Linux环境下的Ubuntu16.04操作系统中进行,试验设备所配置的GPU为NVIDIA Quadro P4000,显存为8 GB,同时安装CUDA10.1和cudnn7.6.5以支持GPU运行。
3.2 试验设置
在算法进行训练时,将网络单次读取图像个数设置为16,并等分为8组送入网络参与训练,以减轻内存占用的压力。为充分学习样本特征,将最大迭代次数设为9.0×104。学习率决定权重的更新速度,学习率越大,更新速度越快,过快易越过最优值,反之,更新速度慢,算法训练效率低,因此,首先将学习率设为1.0×10-3,随着迭代次数的增加,在7.2×104和8.0×104次时将学习率依次降低为1.0×10-4和1.0×10-5,充分提高算法学习效率。记录算法训练参数并绘制算法训练的平均损失曲线,如图 11所示,可知:随着迭代次数的增加,平均损失先大幅降低,再逐渐减缓下降速度,在7.2×104次迭代时由于学习率的调整,损失再次小幅度降低,最终趋于稳定。
3.3 算法检测性能对比分析
3.3.1 算法P-R曲线对比分析
为了验证本文算法的检测性能,将FPN-TSD算法与Faster R-CNN[9]、YOLOv3[17]与Zhu等的算法[10]进行试验对比。首先,将TT100K中交通标志数据样本按照MS COCO数据集[29]对检测目标大小的定义,划分为(0, 32]、(32, 96]与(96, 400]3种尺度,占比分别约为41.6%、49.1%与9.0%。将上述4个不同算法在3种尺度下进行试验,试验结果如表 4所示。同时,为了更直观地验证算法性能,分别绘制出上述算法在3种尺度下的P-R曲线,如图 12所示。
表 4 三种尺度交通标志下四种算法检测结果Table 4. Detection results of four algorithms under three scales of traffic signs由于FPN-TSD算法借鉴特征金字塔网络结构[12]搭建的多尺度检测网络能够充分学习较小尺度交通标志目标的特征信息,提高算法的检测精度,因此,表 4中(0, 32]和(32, 96]尺度下本文算法的精确率与召回率较其他主流检测方法均有大幅提升。同时,据图 12(a)、(b)可知:FPN-TSD算法在这2种尺度下的P-R曲线也能够完全包围其他3种算法,证明本文算法针对较小尺度交通标志目标检测时具有较为优越的性能表现。
此外,图 12(c)中本文算法在较大尺度(96, 400]绘制出的P-R曲线与Zhu等[10]的算法和YOLOv3算法[17]相比,所围成面积差值较小,较难直观验证本文算法的性能。但据表 4可知:在该尺度下本文算法的召回率相比上述2种算法分别提高了0.02与0.04,精确率分别提高了0.03与0.07。综上所述,FPN-TSD算法在3种不同尺度交通标志目标的检测上均表现出更为优越的检测性能。
3.3.2 算法实时性对比分析
为了验证算法的检测实时性,将本文算法与Faster R-CNN[9]、YOLOv3[17]与Zhu等[10]的算法的每秒传输帧数进行对比分析,结果如表 5所示。据表 5可知:Zhu等[10]的算法与Faster R-CNN[9]均为两阶段算法,网络结构复杂,检测实时性较差; 本文算法针对小交通标志目标构建了4种不同尺度的检测网络并加深了特征提取网络层数,增加了算法计算量,因此,Q值较YOLOv3[17]有0.3帧的差值,但是与不同主流算法相比,本文算法仍然能够较好兼顾检测准确性与实时性。
3.3.3 算法消融试验对比分析
为了更好地理解FPN-TSD算法的内部网络结构,验证不同结构模块对算法检测性能的提升效果,进行了算法消融对比试验。试验对比的算法1为YOLOv3算法[17]; 算法2为仅引入金字塔多尺度特征融合改进方式的FPN-TSD算法; 算法3为仅采用GIoU损失函数[26]改进方式的FPN-TSD算法; 算法4为仅采用k-means算法[28]改进的FPN-TSD算法; 算法5为本文提出的完整的FPN-TSD算法。将以上算法在TT100K数据集上训练并对比分析,结果如表 6所示。
表 6 消融试验结果对比Table 6. Comparison of ablation test results算法 P/% R/% ˉB /% 1 81.1 84.3 83.6 2 85.8 86.1 86.7 3 82.9 84.6 84.8 4 82.3 85.8 84.3 5 86.7 89.4 87.9 据表 6可知:与算法5相比,算法2~4的P值、R值与ˉB值均有不同程度的下降,算法3舍弃了多尺度预测机制,因此,该算法无法提取到交通标志目标丰富的细节特征信息; 算法2未引入GIoU边界框损失函数,各项性能指标与YOLOv3相比虽均有提高,但该算法的损失函数无法对边界框不重叠的情况进行优化,检测性能与算法5相比仍然略有不足; 算法4中引入的k-means算法能够对试验所用数据集的标签文件聚类分析,从而学习到更精准的交通标志目标锚点框位置信息,其精确率、召回率与平均检测精度均值与YOLOv3算法相比分别提高了1.2%、1.5%与0.7%,但各项指标与算法5相比仍具有一定差距; 最后,综合本文引入的所有结构模块的算法5的P值、R值与ˉB值分别达到86.7%、89.4%与87.9%,较消融试验所对比的几种算法均有显著提升,验证了本文算法具有较为优越的检测性能。
3.3.4 算法检测准确率试验结果对比分析
将FPN-TSD算法与YOLOv3[17]、Faster R-CNN[9]、Zhu等[10]、Liang等[11]、Zhang等[22]和Wu等[24]的算法在TT100K数据集下进行试验并对比分析上述算法在每个标志类别下的准确率,结果如表 7所示。虽然Zhu等[10]和Liang等[11]的算法在部分类别取得了较高的准确率,但是FPN-TSD算法针对较小尺度交通标志目标进行设计,在绝大多数类别的检测中更好地展现算法的性能优势。
表 7 算法准确率对比Table 7. Accuracy comparison of algorithms算法 i2 i4 i5 il100 il60 il80 io ip p10 p11 p12 p19 p23 p26 p27 Faster R-CNN[9] 0.44 0.46 0.45 0.41 0.57 0.62 0.41 0.39 0.45 0.38 0.60 0.59 0.65 0.50 0.79 YOLOv3[17] 0.85 0.92 0.93 0.96 0.89 0.89 0.85 0.88 0.83 0.88 0.82 0.83 0.89 0.89 0.90 Zhu等[10]的算法 0.72 0.83 0.92 1.00 0.91 0.93 0.76 0.87 0.78 0.89 0.88 0.53 0.87 0.82 0.78 Liang等[11]的算法 0.90 0.92 0.94 0.93 0.98 0.94 0.86 0.90 0.89 0.90 0.94 0.75 0.93 0.89 0.98 MSA_YOLOv3[22] 0.85 0.84 0.92 0.85 0.95 0.89 0.85 0.90 0.74 0.72 0.78 0.73 0.82 0.81 0.83 Wu等[24]的算法 0.41 0.62 0.93 0.89 0.79 0.93 0.81 0.81 0.75 0.80 0.90 0.86 0.84 0.85 0.74 本文算法 0.92 0.94 0.94 0.97 0.92 0.94 0.88 0.93 0.91 0.93 0.92 0.89 0.98 0.91 0.88 算法 pl120 p5 p6 pg ph4 ph4.5 ph5 pl100 p3 pl20 pl30 pl40 pl5 pl50 pl60 Faster R-CNN[9] 0.67 0.57 0.75 0.80 0.67 0.58 0.51 0.68 0.48 0.51 0.43 0.52 0.53 0.39 0.53 YOLOv3[17] 0.92 0.91 0.83 0.87 0.75 0.75 0.58 0.94 0.79 0.77 0.83 0.91 0.84 0.88 0.82 Zhu等[10]的算法 0.98 0.95 0.87 0.91 0.82 0.88 0.82 0.98 0.91 0.96 0.94 0.96 0.94 0.94 0.93 Liang等[11]的算法 0.96 0.91 0.90 0.93 0.94 0.80 0.78 0.98 0.81 0.90 0.92 0.91 0.92 0.90 0.95 MSA_YOLOv3[22] 0.80 0.77 0.72 0.92 0.82 0.83 0.63 0.88 0.81 0.75 0.74 0.74 0.78 0.72 0.76 Wu等[24]的算法 0.93 0.92 0.82 0.94 0.64 0.92 0.76 0.89 0.86 0.76 0.68 0.90 0.86 0.83 0.91 本文算法 0.98 0.96 0.95 0.93 0.87 0.90 0.87 0.95 0.93 0.93 0.96 0.97 0.94 0.96 0.97 算法 pl70 pl80 pm20 pne pm55 pn pm30 po pr40 w13 w32 w55 w57 w59 wo Faster R-CNN[9] 0.81 0.52 0.61 0.47 0.61 0.37 0.61 0.37 0.75 0.33 0.54 0.39 0.48 0.39 0.37 YOLOv3[17] 0.81 0.90 0.79 0.94 0.78 0.91 0.80 0.70 0.82 0.69 0.81 0.77 0.89 0.61 0.51 Zhu等[10]的算法 0.95 0.95 0.91 0.93 0.60 0.92 0.81 0.84 0.76 0.65 0.89 0.86 0.95 0.75 0.52 Liang等[11]的算法 0.98 0.92 0.98 0.97 0.86 0.90 0.97 0.81 0.79 0.90 0.91 0.89 0.90 0.68 0.50 MSA_YOLOv3[22] 0.79 0.72 0.76 0.96 0.71 0.83 0.67 0.76 0.85 0.70 0.91 0.79 0.85 0.73 0.53 Wu等[24]的算法 0.81 0.95 0.85 0.93 0.96 0.76 0.55 0.55 0.90 0.91 0.82 0.92 0.91 0.85 0.47 本文算法 0.94 0.97 0.93 0.98 0.83 0.94 0.98 0.89 0.91 0.72 0.93 0.93 0.91 0.89 0.55 3.4 算法检测结果定性分析
为了更加直观地对比验证算法检测性能,将FPN-TSD与YOLOv3[17]在TT100K数据集上的检测结果进行定性对比分析,如图 13~18所示。图 13是在未进行数据增强的原始TT100K数据集下的检测结果,据图 13(b)可知:YOLOv3[17]检测结果中出现了对pl50标志的误检与对pn、p27标志的漏检问题,而FPN-TSD算法解决了上述问题,表现出良好的检测性能。
如图 14(a)所示,雾天条件下待检测图像清晰度下降,交通标志的定位与分类难度增加,YOLOv3仅正确检测到1个标志,如图 14(b)所示。FPN-TSD算法实现了对数据样本中所有标志的正确定位与分类,其中包括图 14(c)中最左侧被部分遮挡的标志i4,证明GIoU损失函数能够优化算法对交通标志锚点框定位的准确性。
图 15(a)是添加高斯噪声后的数据样本,噪声使标志图像上存在遮挡和干扰,影响算法检测效果,因此,据图 15(b)可知YOLOv3对检测到的pl70标志误检为ph4标志,而图 15(c)中FPN-TSD算法对数据集图像中3个标志均正确识别与分类,证明FPN-TSD算法的DarkNet-57特征提取网络在噪声干扰下也能通过深层网络获取到丰富的交通标志的语义特征,因此,检测性能极少受到噪声影响。
图 16(a)是雨天条件下的待检测图像,密集的雨水也会对检测造成一定干扰; 图 16(b)表明YOLOv3在雨滴干扰下仅能正确检测到pl70标志; 而图 16(c)中本文算法仍能够正确检测每个标志以及被部分遮挡的pn标志。虽然本文算法对pl50标志的检测不够精确,但相比YOLOv3检测时存在的漏检问题,本文算法利用多尺度融合的检测网络在试验中表现出更优越的检测能力。
图 17、18是两组对原数据集图像进行随机几何变换后的检测结果对比。2组试验结果中,YOLOv3均出现漏检与误检问题,而FPN-TSD算法利用GIoU损失函数与k-means算法对锚点框位置进行优化,使算法精确率较YOLOv3明显提升。试验结果表明,即使待检测图像经过几何变换后交通标志的特征发生改变,FPN-TSD算法依然能够对图像中目标进行精确定位分类,展现出算法的优越性能。
综上所述,根据6组不同图像增强处理下的试验结果图的对比分析,验证了FPN-TSD算法能够利用自身网络良好的特征提取能力和目标框定位准确性解决传统检测网络的误检和漏检等问题,验证了本文算法良好的泛化性和鲁棒性,能够较为出色的完成道路交通标志的检测任务。
4. 结语
(1) 针对道路交通场景复杂,交通标志尺度较小特征难以提取的问题,搭建了一个基于金字塔多尺度融合的FPN-TSD交通标志检测算法。借鉴残差结构的思想搭建算法主干网络,并加深特征提取阶段的网络层,构建出算法特征提取网络DarkNet-57。与传统检测算法相比,本文算法能够获取更精准的交通标志目标语义信息。
(2) 以特征金字塔网络结构为基础,在本文算法中搭建多尺度特征融合的检测网络。将检测网络中4个不同检测尺度自下而上进行有效的特征融合,使平均精度均值达到86.7%,有效增强了算法对交通标志目标的检测能力。
(3) 引入GIoU损失函数提高对目标框的定位精度,采用k-means算法根据TT100K数据集进行聚类分析生成适用于交通标志目标检测的先验框尺度。消融试验结果表明,GIoU损失函数与k-means算法的引入使本文算法的平均精度均值分别提高了1.2%和0.7%,证明上述2种方法能够有效提升算法的检测性能。
(4) 与YOLOv3算法相比,FPN-TSD算法的精确率、召回率与平均精度均值分别有5.6%、5.1%与4.3%的提升。与其他主流检测算法相比,本文算法在TT100K数据集各类别交通标志下的检测精度也有明显提升,验证了算法具有良好的鲁棒性。
(5) 本文算法虽然提高了检测精度,但同时也增加了一定网络参数量,因此,后续研究中仍需针对算法检测速度进一步改进与提升,以保证检测效率。
-
表 1 各尺度特征图对应锚点框尺度
Table 1. Anchor box scales of each scale feature map
特征图尺度 先验框尺度 13×13 (3, 4)、(5, 5)、(5, 10) 26×26 (6, 7)、(8, 9)、(11, 12) 52×52 (12, 23)、(14, 15)、(19, 20) 104×104 (25, 27)、(36, 38)、(62, 64) 表 2 试验所用交通标志
Table 2. Traffic signs utilized in experiment
分类 标志 警告类 wo、w13、w32、w55、w57、w59 禁止类 pn、pne、pg、po、p3、p5、p6、p10、p11、p12、p19、p23、p26、p27、pr40、ph4、ph4.5、ph5、pm20、pm30、pm55 指示类 io、ip、i2、i4、i5、il60、il80、il100 表 3 混淆矩阵
Table 3. Confusion matrix
真实值 预测值 结果 正例 正例 真正例 正例 反例 假反例 反例 正例 假正例 反例 反例 真反例 表 4 三种尺度交通标志下四种算法检测结果
Table 4. Detection results of four algorithms under three scales of traffic signs
表 5 四种算法检测实时性对比
Table 5. Detection speed comparison of four algorithms
表 6 消融试验结果对比
Table 6. Comparison of ablation test results
算法 P/% R/% ˉB /% 1 81.1 84.3 83.6 2 85.8 86.1 86.7 3 82.9 84.6 84.8 4 82.3 85.8 84.3 5 86.7 89.4 87.9 表 7 算法准确率对比
Table 7. Accuracy comparison of algorithms
算法 i2 i4 i5 il100 il60 il80 io ip p10 p11 p12 p19 p23 p26 p27 Faster R-CNN[9] 0.44 0.46 0.45 0.41 0.57 0.62 0.41 0.39 0.45 0.38 0.60 0.59 0.65 0.50 0.79 YOLOv3[17] 0.85 0.92 0.93 0.96 0.89 0.89 0.85 0.88 0.83 0.88 0.82 0.83 0.89 0.89 0.90 Zhu等[10]的算法 0.72 0.83 0.92 1.00 0.91 0.93 0.76 0.87 0.78 0.89 0.88 0.53 0.87 0.82 0.78 Liang等[11]的算法 0.90 0.92 0.94 0.93 0.98 0.94 0.86 0.90 0.89 0.90 0.94 0.75 0.93 0.89 0.98 MSA_YOLOv3[22] 0.85 0.84 0.92 0.85 0.95 0.89 0.85 0.90 0.74 0.72 0.78 0.73 0.82 0.81 0.83 Wu等[24]的算法 0.41 0.62 0.93 0.89 0.79 0.93 0.81 0.81 0.75 0.80 0.90 0.86 0.84 0.85 0.74 本文算法 0.92 0.94 0.94 0.97 0.92 0.94 0.88 0.93 0.91 0.93 0.92 0.89 0.98 0.91 0.88 算法 pl120 p5 p6 pg ph4 ph4.5 ph5 pl100 p3 pl20 pl30 pl40 pl5 pl50 pl60 Faster R-CNN[9] 0.67 0.57 0.75 0.80 0.67 0.58 0.51 0.68 0.48 0.51 0.43 0.52 0.53 0.39 0.53 YOLOv3[17] 0.92 0.91 0.83 0.87 0.75 0.75 0.58 0.94 0.79 0.77 0.83 0.91 0.84 0.88 0.82 Zhu等[10]的算法 0.98 0.95 0.87 0.91 0.82 0.88 0.82 0.98 0.91 0.96 0.94 0.96 0.94 0.94 0.93 Liang等[11]的算法 0.96 0.91 0.90 0.93 0.94 0.80 0.78 0.98 0.81 0.90 0.92 0.91 0.92 0.90 0.95 MSA_YOLOv3[22] 0.80 0.77 0.72 0.92 0.82 0.83 0.63 0.88 0.81 0.75 0.74 0.74 0.78 0.72 0.76 Wu等[24]的算法 0.93 0.92 0.82 0.94 0.64 0.92 0.76 0.89 0.86 0.76 0.68 0.90 0.86 0.83 0.91 本文算法 0.98 0.96 0.95 0.93 0.87 0.90 0.87 0.95 0.93 0.93 0.96 0.97 0.94 0.96 0.97 算法 pl70 pl80 pm20 pne pm55 pn pm30 po pr40 w13 w32 w55 w57 w59 wo Faster R-CNN[9] 0.81 0.52 0.61 0.47 0.61 0.37 0.61 0.37 0.75 0.33 0.54 0.39 0.48 0.39 0.37 YOLOv3[17] 0.81 0.90 0.79 0.94 0.78 0.91 0.80 0.70 0.82 0.69 0.81 0.77 0.89 0.61 0.51 Zhu等[10]的算法 0.95 0.95 0.91 0.93 0.60 0.92 0.81 0.84 0.76 0.65 0.89 0.86 0.95 0.75 0.52 Liang等[11]的算法 0.98 0.92 0.98 0.97 0.86 0.90 0.97 0.81 0.79 0.90 0.91 0.89 0.90 0.68 0.50 MSA_YOLOv3[22] 0.79 0.72 0.76 0.96 0.71 0.83 0.67 0.76 0.85 0.70 0.91 0.79 0.85 0.73 0.53 Wu等[24]的算法 0.81 0.95 0.85 0.93 0.96 0.76 0.55 0.55 0.90 0.91 0.82 0.92 0.91 0.85 0.47 本文算法 0.94 0.97 0.93 0.98 0.83 0.94 0.98 0.89 0.91 0.72 0.93 0.93 0.91 0.89 0.55 1. Anchor box scales corresponding to feature maps of different scales
2. Traffic signs utilized in the experiment
3. Confusion matrix
4. Detection results of four algorithms at three scales of traffic signs
5. Detection speed comparison among four algorithms
6. Comparison of ablation experiment results
7. Accuracy comparison among algorithms
-
[1] 马永杰, 马芸婷, 程时升, 等. 基于改进YOLOv3模型与Deep-SORT算法的道路车辆检测方法[J]. 交通运输工程学报, 2021, 21(2): 222-231. https://www.cnki.com.cn/Article/CJFDTOTAL-JYGC202102022.htmMA Yong-jie, MA Yun-ting, CHENG Shi-sheng, et al. Road vehicle detection method based on improved YOLOv3 model and deep-SORT algorithm[J]. Journal of Traffic and Transportation Engineering, 2021, 21(2): 222-231. (in Chinese) https://www.cnki.com.cn/Article/CJFDTOTAL-JYGC202102022.htm [2] DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//IEEE. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2005: 886-893. [3] PICCIOLI G, DE MICHEL E, PARODI P, et al. Robust method for road sign detection and recognition[J]. Image and Vision Computing, 1996, 14(3): 209-223. doi: 10.1016/0262-8856(95)01057-2 [4] 梁敏健, 崔啸宇, 宋青松, 等. 基于HOG-Gabor特征融合与Softmax分类器的交通标志识别方法[J]. 交通运输工程学报, 2017, 17(3): 151-158. doi: 10.3969/j.issn.1671-1637.2017.03.016LIANG Min-jian, CUI Xiao-yu, SONG Qing-song, et al. Traffic sign recognition method based on HOG-Gabor feature fusion and Softmax classifier[J]. Journal of Traffic and Transportation Engineering, 2017, 17(3): 151-158. (in Chinese) doi: 10.3969/j.issn.1671-1637.2017.03.016 [5] DENG Li, ABDEL-HAMID O, YU Dong. A deep convolutional neural network using heterogeneous pooling for trading acoustic invariance with phonetic confusion[C]//IEEE. 2013 IEEE International Conference on Acoustics, Speech and Signal Processing. New York: IEEE, 2013: 6669-6673. [6] 马永杰, 程时升, 马芸婷, 等. 卷积神经网络及其在智能交通系统中的应用综述[J]. 交通运输工程学报, 2021, 21(4): 48-71. https://www.cnki.com.cn/Article/CJFDTOTAL-JYGC202104006.htmMA Yong-jie, CHENG Shi-sheng, MA Yun-ting, et al. Review of convolutional neural network and its application in intelligent transportation system[J]. Journal of Traffic and Transportation Engineering, 2021, 21(4): 48-71. (in Chinese) https://www.cnki.com.cn/Article/CJFDTOTAL-JYGC202104006.htm [7] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//IEEE. 27th IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2014: 580-587. [8] GIRSHICK R. Fast R-CNN[C]//IEEE. 28th IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2015: 1440-1448. [9] REN Shao-qing, HE Kai-ming, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. doi: 10.1109/TPAMI.2016.2577031 [10] ZHU Zhe, LIANG Dun, ZHANG Song-hai, et al. Traffic- sign detection and classification in the wild[C]//IEEE. 29th IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2016: 2110-2118. [11] LIANG Zhen-wen, SHAO Jie, ZHANG Dong-yang, et al. Traffic sign detection and recognition based on pyramidal convolutional networks[J]. Neural Computing and Applications, 2020, 32(11): 6533-6543. doi: 10.1007/s00521-019-04086-z [12] LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//IEEE. 30th IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2017: 2117-2125. [13] 周苏, 支雪磊, 刘懂, 等. 基于卷积神经网络的小目标交通标志检测算法[J]. 同济大学学报(自然科学版), 2019, 47(11): 1626-1632. doi: 10.11908/j.issn.0253-374x.2019.11.012ZHOU Su, ZHI Xue-lei, LIU Dong, et al. A convolutional neural network-based method for small traffic sign detection[J]. Journal of Tongji University (Natural Science), 2019, 47(11): 1626-1632. (in Chinese) doi: 10.11908/j.issn.0253-374x.2019.11.012 [14] HONG S, ROH B, KIM H, et al. PVANet: lightweight deep neural networks for real-time object detection[EB/OL]. (2016-12-09)[2022-07-02]. https://arxiv.org/abs/1611.08588. [15] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]// IEEE. 29th IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2016: 779-788. [16] REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//IEEE. 30th IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2017: 7263-7271. [17] REDMON J, FARHADI A. YOLOv3: an incremental improvement[R]. Ithaca: Cornell University, 2018. [18] LIU Wei, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector[C]//Springer. 14th European Conference on Computer Vision. Berlin: Springer, 2016: 21-37. [19] FU Cheng-yang, LIU Wei, RANGA A, et al. DSSD: Deconvolutional single shot detector[J]. arXiv, 2017: 20200017371. [20] RAJENDRAN S P, SHINE L, PRADEEP R, et al. Real-time traffic sign recognition using yolov3 based detector[C]//IEEE. 10th International Conference on Computing, Communication and Networking Technologies. New York: IEEE, 2019: 1-7. [21] STALLKAMP J, SCHLIPSING M, SALMEN J, et al. The German traffic sign recognition benchmark: A multi-class classification competition[C]//IEEE. 2011 International Joint Conference on Neural Networks. New York: IEEE, 2011: 1453-1460. [22] ZHANG Hui-bing, QIN Long-fei, LI Jun, et al. Real-time detection method for small traffic signs based on YOLOv3[J]. IEEE Access, 2020, 8: 64145-64156. doi: 10.1109/ACCESS.2020.2984554 [23] ZHANG Hong-yi, CISSE M, DAUPHIN Y N, et al. Mixup: beyond empirical risk minimization[EB/OL]. (2018-04-27)[2022-07-02]. https://arxiv.org/abs/1710.09412. [24] WU Yi-qiang, LI Zhi-yong, CHEN Ying, et al. Real-time traffic sign detection and classification towards real traffic scene[J]. Multimedia Tools and Applications, 2020, 79(25/26): 18201-18219. [25] HE Kai-ming, ZHANG Xiang-yu, REN Shao-qing, et al. Deep residual learning for image recognition[C]//IEEE. 29th IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2016: 770-778. [26] REZATOFIGHI H, TSOI N, GWAK J Y, et al. Generalized intersection over union: A metric and a loss for bounding box regression[C]//IEEE. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2019: 658-666. [27] 高涛, 刘梦尼, 陈婷, 等, 等. 结合暗亮通道先验的远近景融合去雾算法[J]. 西安交通大学学报, 2021, 55(10): 78-86. https://www.cnki.com.cn/Article/CJFDTOTAL-XAJT202110009.htmGAO Tao, LIU Meng-ni, CHEN Ting, et al. A far and near scene fusion defogging algorithm based on the prior of dark-light channel[J]. Journal of Xi'an Jiaotong University, 2021, 55(10): 78-86. (in Chinese) https://www.cnki.com.cn/Article/CJFDTOTAL-XAJT202110009.htm [28] ŽALIK K R. An efficient k'-means clustering algorithm[J]. Pattern Recognition Letters, 2008, 29(9): 1385-1391. doi: 10.1016/j.patrec.2008.02.014 [29] LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO: common objects in context[C]//Springer. 13th European conference on computer vision. Berlin: Springer, 2014: 740-755. [30] EVERINGHAM M, VAN L, CHRISTOPHER W, et al. The pascal visual object classes (VOC) challenge[J]. International Journal of Computer Vision, 2010, 88(2): 303-338. -