基于多头注意力机制的交通标志识别算法制造技术

技术编号:37149184 阅读:17 留言:0更新日期:2023-04-06 22:03
提出了基于多头注意力机制的交通标志识别算法,解决标准YOLOv5算法在复杂环境下交通标志易漏检、误检的问题;通过引入多头自注意力的思想,提出C3

【技术实现步骤摘要】
基于多头注意力机制的交通标志识别算法


[0001]该专利技术属于图像识别领域,尤其涉及基于多头注意力机制的交通标志识别算法,该算法在通用标准数据集上表现出优秀的检测性能。

技术介绍

[0002]随着机动车数量增加造成了很多社会问题难以解决,其中最严重的道路交通事故对人们的生命财产安全构成严重威胁;为解决近年来因汽车泛滥所造成的各类社会问题,有关领域的研究人士也开始关注智慧交通系统(Intelligent Transportation System,ITS)的研究;通过提前检测与识别交通标志有关信息,驾驶员可以获得当前路况的有效信息,从而对驾驶方式进行规范,减小交通事故频次;高级驾驶辅助系统(Advanced Driver Assistance System,ADAS)作为ITS系统的关键组成部分,用于定位和辨认路面上的交通标志,为司机提供额外的辅助信号,以增强行车安全;目前大多数研究提升了交通标志检测准确率,而忽视了模型计算量与参数量,难以部署在移动端;且现阶段识别算法易受到天气、光线、遮挡、拍摄角度与拍摄稳定性等外界条件干扰,影响检测性能;
[0003]深度学习的概念最早出现于20世纪中期,由于其鲁棒性与检测性能高于传统算法,正成为目标检测领域的首选算法;目前,基于深度学习的目标检测模型主要可分成两类:一类是基于区域建议的两阶段目标检测算法,例如:R

CNN目标检测算法,该算法首先得到感兴趣的区域,然后对感兴趣的区域进行微调和分类,得到最终的检测框;还有一类是YOLO系列、SSD系列等单阶段目标检测算法,这种算法能够直接利用端到端的网络获取图像信息,来判断图片上目标的类别和位置信息;相比之下,单阶段目标检测算法有着极快的检测速率,但是定位和识别精度较低;两阶段目标检测算法定位和识别精度高但是速度稍慢一些;
[0004]由于交通标志检测与识别是小目标检测的一部分,小目标在进行特征提取时其特征图包含有限的语义信息,缺乏纹理、形状和颜色等外观信息;经过卷积神经网络多次下采样后,目标区域的分辨率进一步降低,特征信息逐渐减少;当特征信息减少时,深层网络表达小目标的能力变弱,识别难度增加;
[0005]近年来,注意力机制与目标检测结合的算法大大提升了目标检测模型的检测精度;注意力机制设计的思想主要是对不同特征的权重进行重构,用重构后的权重与图像的特征图相乘,从而增强图片中关键信息;然后经过反复训练,更新重构后的权重,从而让模型学习到数据集中需要被关注的目标具有哪些特征,并对其进行增强;
[0006]为了解决复杂环境中检测与识别交通标志精度不高的问题,本专利在YOLOv5的基础上,通过在模型的主干网络中引入注意力机制,突出交通标志区域的有用信息,去除背景等无关信息,提高交通标志目标检测与识别任务的准确率;本专利技术设计的算法在通用数据集中表现出优异的性能,也可将此改进的注意力算法嵌入到其他模型中,具有较好的泛化性。

技术实现思路

[0007]本专利技术提出了基于多头注意力机制的交通标志识别算法,通过引入C3

MHSA模块,提升了YOLOv5算法的检测性能;
[0008]为了实现上述目的,本专利技术采取如下的技术解决方案:
[0009]步骤一、下载交通标志检测领域通用基准数据集TT100K;下载基准数据集TT100K,编写程序将公开数据集TT100K的标签文件转换为YOLOv5的标签格式,使TT100K数据集可被原始目标检测算法YOLOv5作为输入数据源;
[0010]TT100K为清华

腾讯实验室制作的带有标签的道路图片,均为车辆行驶过程中拍摄,数据集中包含大量小目标,对于高级驾驶辅助系统识别难度较高,可用于检测本方法对高级驾驶辅助系统的提升效果;同时因为TT100K数据集是各种自然环境中的样本图像的集合,所以一些图像中的路标会失真、褪色、模糊,并且类似于背景颜色,因此该数据可以更客观的评价一个交通标志检测模型在真实场景中的适应能力;该数据集的另一个好处是该数据集是一个方便用户进行下载和使用版权开源的数据集,全数据集含有交通标志图片9176张,交通标志24721个,共包括221个类别,图片的尺寸为2048
×
2048;考虑到数据集类别的数据量不均衡,本实验选取45个数据集中数据量较多的类别进行识别,并使用自制程序随机将数据集按8:2划分,其中7262张图像将被使用作为训练集,1914张作为测试集,训练集与测试集生成的列表文件分别存放于tt100k_train_bEnh与tt100k_test_bEnh文件中;
[0011]步骤二、对现有数据集数据进行增强;数据增强可增加训练数据数量,同时提高算法鲁棒性,使算法对不同场景下的交通标志进行准确检测;YOLOv5使用mosaic方法对输入数据进行单次数据增强,而本方法使用开源工具箱OpenCV对数据进行预增强,将预增强后的图片存储在指定文件夹,后续步骤中使用网络进行训练时,可对预增强的数据使用默认mosaic方法进行二次增强,二次增强的数据叠加了更复杂的情况,可进一步增加网络鲁棒性,并防止过拟合现象的发生;本方法使用自制程序对数据集进行预增强,编写程序使用公开工具箱OpenCV对公开数据集TT100K内的图片进行数据增强操作,数据增强的类型包括旋转、裁切、翻转、调整色彩、位置变换、添加噪声与拼接,分别读取tt100k_train_bEnh与tt100k_test_bEnh文件,对列表中的图片进行增强,数据增强后可在文件夹中生成图片,增强后的训练集与测试集生成的列表文件分别存放于tt100k_train与tt100k_test文件中,数据集包含以上增强效果,使增强后的图片更具多样性,与实际情况更接近;数据增强是克服训练数据不足的有效手段,可以避免网络过度拟合,提高数据集的大小和质量;因为数据增强后的数据集比原始数据集更复杂,增强后的数据集包含原始数据集的信息,同时包含原始数据集所没有的信息与数据量;
[0012]使用本专利所提方法进行预增强后,再由目标检测算法YOLOv5默认的mosaic方法进行二次数据增强,可生成更多数量的图片,同时这些图片经过了两次数据增强,使用经过两次增强后的数据集作为网络的训练集,可有效增强网络的鲁棒性,虽然由于部分增强后的数据较为相似,YOLOv5无法获得与增强后的数据集图片数量成正比的训练效果,但仍可获得远大于原始数据集的信息量,增强YOLOv5训练的准确性,防止YOLOv5训练发生过拟合现象;
[0013]步骤三、使用标准目标检测算法YOLOv5网络训练与检测公开数据集TT100K中交通标志;下载标准目标检测算法YOLOv5 v6.0,新建Anaconda虚拟环境,切换至标准YOLOv5目
录,执行命令pip install安装requirements内的依赖软件;为通用数据集新建数据集属性文件tt100k,将步骤二中生成的列表文件tt100k_train与tt100k_test的路径填入train与test属性中,并在nc本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于多头注意力机制的交通标志识别算法,包含以下步骤:步骤一、下载交通标志通用公开数据集TT100K;通过网络下载交通标志通用公开数据集TT100K,通用公开数据集可更好的说明本算法对交通标志检测性能的综合提升;编写程序对公开数据集TT100K的标签文件进行处理,使其兼容YOLOv5的标签格式;TT100K为清华

腾讯实验室制作的通用交通标志公开数据集,包含了大量交通标志,根据距离远近不同在图片上的大小也不同,因为数据集均为车辆行驶过程中拍摄,且因交通标志架设高度较高或位于道路两侧,图片中小目标的数量较多,对高级辅助系统识别交通标志造成了一定困难;同时由于数据集中的图片为实际拍摄,处于室外自然环境中,故有一些交通标志样本会出现因环境因素导致的失真、褪色、模糊等干扰判断的情况,对交通标志识别算法提出了更高的要求,故该数据集可以更客观的评价交通识别算法对真实场景下交通标志的检测能力;全数据集含有交通标志图片9176张,交通标志24721个,共包括221个类别,图片的尺寸为2048
×
2048;考虑到数据集类别的数据量不均衡,本实验选取45个数据集中数据量较多的类别进行识别,并使用自制程序随机将数据集按8:2划分,其中7262张图像将被使用作为训练集,1914张作为测试集,训练集与测试集生成的列表文件分别存放于train_tt100k_beforeEnh与test_tt100k_beforeEnh文件中;步骤二、对现有数据集数据进行增强;本算法需要使用数据集进行训练,使用训练后的结果对不同场景下交通标志进行检测;数据量较多有助于算法提升鲁棒性,使算法适应由于环境、光线等改变造成的干扰;本方法应用开源工具箱OpenCV对原始数据集进行预增强,将预增强后的图片存储在指定文件夹,使用YOLOV5网络进行训练时,可对预增强的数据使用YOLOV5默认的mosaic方法进行二次增强,二次增强的数据叠加了更复杂的情况,可进一步增加网络鲁棒性,并防止过拟合现象的发生;使用本方法进行数据预增强的类型包括拼接、调整色彩、翻转、位置、变换裁切、添加噪声与旋转,分别读取train_tt100k_beforeEnh与test_tt100k_beforeEnh文件,对列表文件中的每个图片文件进行增强,新建train_tt100k与test_tt100k文件,存储预增强后的训练集与测试集生成的列表,使用预增强可使训练集与测试集的图片更具多样性,与实际情况更接近,预增强后的数据可提高数据集的大小和质量,也可以避免网络过度拟合;因为数据增强后的数据集比原始数据集更复杂,增强后的数据集包含原始数据集的信息,同时包含原始数据集所没有的信息与数据量;步骤三、使用标准目标检测算法YOLOv5网络训练与检测公开数据集TT100K中交通标志;下载标准目标检测算法YOLOv5v6.0,新建Anaconda虚拟环境,切换至标准YOLOv5目录,安装依赖软件,搭建环境;创建公开交通标志数据集配置属性文件tt100k,将步骤二中生成的列表文件train_tt100k与test_tt100k的具体路径填入train与test属性中,步骤二中选择了45类交通标志文件,故nc中填入45,在names中填入每个类别的名称;下载预训练权重文件yolov5s6;根据精度要求与硬件环境配置设置输入参数img为608,batch为16,epochs为100,同时加载数据集属性文件tt100k与预训练权重文件yolov5s6,开始训练;训练过程中各层权重文件W1会被程序自动保存,W1为网络训练过程中的阶段性结果,可复现网络阶段性训练的结果;训练结束后,载入最佳权重文件W
b
,对列表test_tt100k中的文件进行检测,
使用目标检测标准指标mAP与Recall对检测结果进行评价;1)构建YOLOv5网络模型,载入预训练权重文件yolov5s6,载入网络各层预训练权重;YOLOv5由四个部分连接组成,分别是:(1)输入预处理:通过使用马赛克数据增强来提升算法的检测和识别精度;(2)特征提取网络:使用CSPDarkNet作为主干网络,使用CNN网络对图像特征进行提取的网络结构;(3)特征融合:使用FPN+PAN的网络结构,对特征提取网络得到的浅层特征及深层特征进行融合,提升网络的定位与识别性能;(4)输出处理:计算损失函数,并进行反向传播,同时使用NMS(Non Maximum Suppression)算法删除多余预测框,对目标进行预测;下载标准目标检测算法YOLOv5v6.0,新建Anaconda虚拟环境,切换至标准YOLOv5目录,安装依赖软件,搭建环境;创建公开交通标志数据集配置属性文件tt100k,将步骤二中生成的列表文件train_tt100k与test_tt100k的具体路径填入train与test属性中,步骤二中选择了45类交通标志文件,故nc中填入45,在names中填入每个类别的名称;下载预训练权重文件yolov5s6,对网络参数进行初始化,程序开始训练;2)从输入预处理部分输入图片数据,经过特征提取网络与特种融合部分,对图片中的特定区域进行特征提取,此部分将输出三个尺度的预测特征图,每种尺度拥有多个预测框,包括预测物体的位置信息Pb
n
与分类概率信息CP
i
;数据输入后,进入YOLOv5的数据增强部分;YOLOv5使用mosaic方法对图片进行增强,并将增强后的图片缩放为指定大小;增强后的数据进入特征提取网络,YOLOv5使用的特征提取网络为CSPDarkNet网络,此网络拥有较高的特征提取效率,可在降低算法复杂度的同时压缩内存使用率...

【专利技术属性】
技术研发人员:刘翔熊召新王桂宝
申请(专利权)人:陕西理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1