一种基于YOLOv5改进的雨天环境交通标志识别检测
来源:用户上传
作者:王旭
摘 要:文章提出一种基于YOLOv5改进的雨天环境交通标志识别检测方法。首先采用渐进递归网络(PRN)对摄像头采集到的画面进行去雨处理;其次通过加深网络深度,提取更深层次的小目标特征;然后在减少残差网络深度以减少计算量的基础上,加快模型检测的速度;最后以控制下采样倍数的方式解决小型目标难以识别的问题,并且引入K-means++先验框到模型。实验结果表明,YOLOv5改进模型的F1-score为0.923,AP@0.5为0.96,mAP@0.5:0.95位为0.759,且FPS高达71,能够很好地满足实时检测的需求。
关键词:交通标志识别;YOLOv5;渐进递归网络;雨天
中图分类号:TP391.4 文献标识码:A文章编号:2096-4706(2022)20-0071-06
An Improved Traffic Sign Recognition and Detection on Rainy Environment Based on YOLOv5
WANG Xu
(College of Computer Science and Technology, Taiyuan Normal University, Jinzhong 030619, China)
Abstract: This paper presents an improved traffic sign recognition and detection method on rainy environment based on YOLOv5. Firstly, Progressive Recursive Network (PRN) is used to remove rain from the images collected by the camera. Secondly, through deepening the depth of the network, the deeper small target features are extracted. Then on the basis of reducing the residual network depth to reduce the amount of computation, the speed of model detection is accelerated. Finally, the problem that small targets are difficult to recognize is solved by the method of controlling the lower sampling multiple, and the K-means++ prior box is introduced into the model. The experimental results show that the F1-score of YOLOv5 improved model is 0.923, AP@0.5 is 0.96, mAP@0.5:0.95 bit is 0.759, and FPS is up to 71, which can well meet the requirements of real-time detection.
Keywords: traffic sign recognition; YOLOv5; Progressive Recursive Network; a rainy day
0 引 言
交通酥臼侗鹗浅鞘兄悄芙煌ㄏ低持幸桓龇浅V匾的环节,其中交通标志的种类高达上百种,按语义可以划分为警告、指示、禁令、和道路标志四种。所以,实现高效率和高精确度的交通标志识别对无人驾驶和智能驾驶来说至关重要。当天气环境恶劣时,比如雨天,车载摄像头采集的信息会因为视觉效果差而产生很大的噪声,从而导致识别明显精度降低。因此,目前的交通标志识别应用研究仍然具有很大的挑战。
目标检测问题,它主要是解决从图像中获取物体类型以及位置关系,其位置通常要用一个框来标注出来。目标检测有两种算法:一种是one-stage,它将目标检测问题转换成回归问题,直接通过主干网络给出位置信息和类别信息,网络的准确度低,但是速度快,其代表算法有如YOLO[1]算法系列;另一种是two-stage,主要通过一个卷积神经网络来完成目标检测过程,其主要训练两个部分,第一步训练RPN网络,第二步训练目标区域检测的网络,网络的准确度高,但是检测速度慢,其代表算法有R.Girshick et ald等人在2014年提出的R-CNN算法[2]。文献[3]提出了一种基于YOLOv5模型的交通标志识别方法,采用融入了遗传学习算法和K-means聚类算法,并且引入了stem模块和ShufflenetV2的基础单元网络,在保持精度不降的情况下,提高了识别速度,但是依然不满足实时性的要求;文献[4]通过消减特征金字塔深度、限制最高下采样倍数,以及引入数据增强和全局非极大值抑制来改进YOLOv5网络,进而实现高效的识别交通标志,但是识别的种类还是较少。
因此,为了提高雨天天气下交通标志识别的性能,本文针对YOLOv5网络进行改进研究。首先,采用雨天图像处理技术将视频进行去雨化处理;其次,在原始YOLOv5网络中增加网络深度,控制下采样倍数,来提高小目标检测精度,并且适配残差网络深度,加快模型检测速度;最后,通过实验和对比实验验证模型的性能。
1 去雨算法及YOLOv5算法分析
nlc202211211608
1.1 去雨算法分析
图像去雨算法一直是计算机视觉的研究重点。去雨算法目前主要分为两大类,一类是基于视频的去雨算法,它通过分析连续帧之间图像的差异,根据时空关系对雨条纹进行检测,从而达到去雨效果;一类是基于单幅图像的去雨算法,它包含基于稀疏编码和字典学习的去雨算法和基于深度学习的去雨算法两种。基于稀疏编码和字典学习的去雨算法在遇到图像中的雨水和背景非常接近的时候,就很难去除干净。所以本文采用的是基于深度学习的去雨算法。
在基于深度学习的去雨算法研究中,文献[5]利用注意力机制可以缓解梯度消失和模型退化的优点,结合多尺度通道混洗深度可分离卷积实现网络轻量化设计,显著的提高网络的运行效率;文献[6]将两种类型的残差块网络相结合,用于提取有雨图像的深层信息,有效的提升了图像的清晰度,但是运行效率较低。本文考虑交通标识识别的实时性,基于Dongwei[2]提出的多阶段解决问题的思路,构建了简单的PRN(Progressive Residual Network)模型,用与对雨天图像进行深度学习和处理。
由于雨天交通图像的数据比较少,本文通过Photoshop软件对图像进行处理,如图1所示,然后将增强后的图像输入到PRN模型中,得到去雨后的图像如图2所示。
1.2 YOLOv5 算法原理
YOLO算法的全Q为“You Only Look Once”,它是一种将回归问题运用到目标检测上的方法。该方法首先通过卷积神经网络(CNN)将图像划分为多个网格,然后对每一个网格的可能的种类和边界进行预测。此外,YOLO算法还可以对网格中是否存在对象进行预测,并在训练中通过将边界框重合而获取“置信度”小于阈值的边界框。目前为止,YOLO算法的改进已经发展到第五代,即YOLOv5算法。
YOLOv5的网络结构如图3所示,主要是由三部分组成,分别为Backbone、Neck和Head。
Backbone,译作骨干网络,它的主要作用是进行特征提取。Backbone包含Focus、Conv、Bottleneck、C3以及SPP等多个模块,如图4所示。Focus模块的主要作用是进行切片操作,类比于临近下采样。Focus对图像每隔一个像素取一个值,然后就变成四张图像,然后拼接起来,再进行卷积操作,从而得到没有信息丢失的下采样特征图。Conv模块的主要作用是对输入图像进行卷积、BN和激活函数操作。Bottleneck模块的主要作用是先将通道数减小再扩大,然后根据shortcut参数设置来判断是否需要进行残差链接,最后用add进行特征融合,使得融合后的特征不变。C3模块是对残差特征进行学习的主要模块,其结构分为两支,一支使用多个Bottleneck堆叠和3个标准卷基层;另一支仅经过一个卷积模块,最后两支进行concat操作。SPP模块又称空间金字塔池化,它首先通过一个标准卷积模块将输入通道减半,其次进行三种不同尺寸的最大池化操作,最后将池化结果和未池化操作的数据进行concat拼接合并。
Neck的主要作用是对图像特征进行混合和组合,生成特征金字塔,其核心结构为FPN(特征金字塔)和PAN(路径聚合网络)。FPN首先需要在卷积神经网络中提取提取特征图构建特征金字塔,随后自顶向下利用上采样操作融合特征金字塔的特征图。但是FPN只是自顶向下地将高层的语义信息传递回浅层的特征图,缺少目标的位置信息。PAN是对FPN结构的一个补充,它在FPN结构的基础上加入了一个自底向上的金字塔,而自底向上的结构通过将浅层丰富的位置信息映射叠加到深层特征来进行特征融合,准确的保留了空间信息。FPN与PAN两者相互结合,充分实现了网络上下信息流的融合,提升网络的检测能力。
Head的主要作用是对图像特征进行预测,应用锚定框,生成带有类概率、对象得分和边界框的最终输出向量。
2 YOLOv5算法改进
2.1 Backbone改进
Backbone的主要作用是在不同图像的细粒度上通过聚合形成图像特征。在YOLOv5网络中,由于小目标所占像素很少,经过Backbone多次卷积后,容易导致对其提取得到的特征不明显。
针对这一问题,本文提出的YOLOv5改进算法,在初始Backbone基础上,为小目标检测专门增加几个特征提取层,旨在继续对特征图像进行上采样处理,使得特征图继续扩大。然后连接Neck层,以此获取小目标更明显的特征图,实现对小目标检测进行检测的目的。改进后的Backbone如图5所示。
2.2 特征金字塔改进
交通标志识别任务主要以小目标检测为主,YOLOv5算法中的特征金字塔采用PAN与FPN相结合的结构。其中,PAN自底向上传达信息,主要传递强定位特征。FPN与PAN相反,FPN自顶向下将高层信息通过上采样进行融合和传递,主要传递强语义特征。由于其感受野较大,提取的特征比较抽象,导致很容易丢失细节信息,所以YOLOv5算法中的特征金字塔容易将小目标淹没,因此并不适合交通标志识别。
由于增加FPN和PAN的深度可以增强细节信息和定位信息,因此,本文对YOLOv5算法中FPN与PAN结构进行了改进,增加了4、8、16、32倍的下采样和上采样,改进后的FPN和PAN结构如图6所示。
2.3 残差网络深度适配
残差网络的主要作用是解决由于网络层数太深所产生的链式求导连乘因子项太多而导致的梯度爆炸和梯度消失问题,以及网络的退化问题。随着网络深度的加深,精度也会随之因为饱和而导致再下降的问题。此外,随着残差网络的深度加深,也会产生许多额外的计算开销,从而影响检测的速度。Bottleneck作为残差网络的核心,它的深度适配需要根据不同的检测目标做出相应的调整。针对小目标检测,在实验过程中,通过不断测试,分别在改进后的Backbone的第7层上和改进后的Neck的第21层适配一个Bottleneck就可以获得一个非常好的检测结果,并且还可以有效减少计算开销。
nlc202211211608
2.4 初始锚框获取
YOLOv5算法在训练之前需要手动给出初始锚框,然后通过训练基于训练数据输出预测框,这意味着初始锚框的选择对于网络的训练过程以及训练结果是一个非常重要的影响因素。为了能够更客观的获取初始锚框,本文使用了改进的K-means++聚类算法,将算法中的欧拉距离评价指标改成IOU评价指标。改进后初始锚框椋
- [ 11,12, 15,16, 20,21 ] # P3/4
- [ 25,26, 31,33, 38,40 ] # P4/8
- [ 49,50, 63,65, 93,92 ] # P5/16
- [ 96,68, 86,152, 180,137] # P6/32
3 试验结果与分析
3.1 实验平台
实验环境配置如表1所示。
3.2 数据集描述
本文采用的数据集是中国交通标志数据集TT100K。TT100K从中国5个不同城市的10个区域,采用高清摄像头多角度拍摄获取,代表性较强。从TT100K中筛选的45种交通标志如图7所示。45种交通标志的数量分布情况如图8所示。
3.3 评价指标
3.3.1 模型精度评价指标
本文采用的模型精度评价指标为:F1-score,mAP@0.5和mAP@0.5:0.95。
F1-score基于精确率(P)和召回率(R)的调和平均定义。而P和R则根据混淆矩阵中其真实类别与模型预测类别中真正例(true positive),假正例(false positive),真反例(true negative),假反例(false negative)计算的,其混淆矩阵如表2所示。
精确率(P)的定义为所有预测值为正例的样本里,真实值为正例的样本所占比例,计算见式(1):
召回率(R)的定义为所有真实值为正例的样本里,预测值为正例的样本所占比例,计算见式(2):
F1-score是结合精确率和召回率,作为一个综合的评价指标,它尽可能的考虑精确率(召回率)高的情况下,召回率(精确率)也尽可能的高。计算见公式(3):
评价指标AP@0.5与mAP@0.5:0.95的计算都与AP有关。AP@0.5是混淆矩阵IOU的阈值取0.5 的情况,用于衡量算法在每个类别上的好坏。计算见式(4):
式中pi为每一个类别的概率,n 为总类别数。
mAP@0.5为所有类别上AP@0.5值的平均值,mAP@0.5的值越高代表在高召回率下模型的精确度越高,模型也更好。mAP@0.5的计算如式(5)所示:
mAP@0.5:0.95指IOU的阈值从0.5按照0.05的步长增长到0.95时所有mAP@0.5的平均值。mAP@0.5:0.95的值越大,表示模型的预测框和真实框越逼近,检测效果越好。mAP@0.5:0.95的计算见式(6):
3.3.2 模型检测速度评价指标
FPS是指每秒传输的帧数,每秒帧数越多,流畅度越高。通常,要想人眼可接受的帧数是30FPS。计算见式(7):
3.4 试验结果与分析
3.4.1 YOLOv5改进模型性能实验
为测试本文所提出的改进后的YOLOv5模型的性能,本文通过将YOLOv5s模型和文献[4]提出的YOLOv5改进模型与本文所给的YOLOv5改进模型进行了对比实验,实验结果如表3所示。
实验结果显示,本文提出的YOLOv5改进模型在整体评价指标上都有显著的提升,相比于YOLOv5s模型,在分类数将近两倍的情况下,mAP@0.5:0.95提升了9.5%,这表明模型的预测框和实际框精度大幅提升;F1-score提升了8.4%,这表明模型预测更多类别的精确度有显著提升。相比于文献[7]提出的的YOLOv5改进模型,在比原来25个分类数又增加15个分类数的情况下,F1-score和mAP在也有将近1%的提升,同时将FPS提升了40%,意味着该模型能够更好的满足实时性需求。
3.4.2 雨天环境下模型性能测试实验
为验证雨天环境下改进后YOLOv5模型的鲁棒性,本次实验首先将一千张交通图像通过Photoshop进行雨条纹处理,然后将得到的图像输入到改进后的PRN模型中进行去雨处理,最后将结果输入到改进后的YOLOv5模型中进行测试,实验结果如表4所示。
由实验数据可知,图像进行雨天条纹增强后,经过本文模型处理识别后,F1-score以及mAP并没有明显的下降,说明改进后的模型具备在雨天恶劣天气下提取特征的能力,可以克服雨天雨纹引起的精度下降的问题。
4 结 论
去雨算法PRN模型和改进YOLOv5模型,在一定程度上解决了雨天交通标志识别的精确度低,速度慢的问题;首先,增加网络深度,解决了小目标特征提取的信息丢失问题;其次,通过调整backbone中残差网络的深度,减少计算量,加快模型检测速度;最后,限制下采样倍数,以此来解决小目标难识别的问题;针对雨天,提出PRN模型进行结合,在一定程度上解决了雨天雨痕干扰对图像的干扰。对比其他模型,本文模型有着更高的精确度和速度。但是,本文依然存在一些缺陷,雨天图像处理效果并不好,面对现实中的雨痕,PRN模型并不能很好的处理;对于实际交通标志中上百种类别,40种的数量还是较少,模型可以进行进一步的扩展。在接下来的实验中,我们将会针对这几点进行改进。
参考文献:
[1] REDMON J,DIVVALA S,GIRSHICK R,et al. You Only Look Once: Unified,Real-Time Object Detection [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).IEEE,2016:379-387.
[2] GIRSHICK R,DONAHUE J,DARRELL T,et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation [C]//IEEE Conference on Computer Vision & Pattern Recognition. IEEE Computer Society,2014:580-587.
[3] 李志刚,张娜.一种轻量型YOLOv5交通标志识别方法 [J].电讯技术,2022,62(9):1201-1206.
[4] 尹靖涵,瞿绍军,姚泽楷,等.基于YOLOv5的雾霾天气下交通标志识别模型 [J].计算机应用,2022,42(9):2876-2884.
[5] 柴国强,王大为,芦宾,李竹.基于注意机制的轻量化稠密网络单幅图像去雨 [J/OL].北京航空航天大学学报:1-8[2022-02-28].DOI:10.13700/j.bh.1001-5965.2021.0294.
[6] 江智呈,李志伟,陈晨,等.基于多尺度前馈结构的单幅图像去雨算法 [J].激光与光电子学进展,2022,59(12):244-255.
[7] 韩冉,曾广淼,王荣杰.基于残差块网络的图像去雨算法 [J].仪器仪表学报,2021,41(8):175-182.
作者简介:王旭(1997―),男,汉族,安徽合肥人,硕士在读,研究方向:智能数据研究与应用。
nlc202211211608
转载注明来源:https://www.xzbu.com/1/view-15442411.htm