基于yolov5交通标志检测识别模型训练方法及系统
技术领域
1.本发明涉及交通标志识别技术领域,尤其涉及一种基于yolov5交通标志检测识别模型训 练方法及系统。
背景技术:2.在智能交通发展的今天,自动驾驶技术领域取得了许多突破性成果,例如,智能视觉系 统在短短几年时间便在识别效果上实现了质的飞跃。技术的突破让越来越多的原型智能车能 够走出实验室,在真实道路环境中进行测试,逐渐向实际应用迈进。交通标志用来向车辆、 行人传递指示信息,是保证交通线路的流畅性和安全性关键因素。因而,准确迅速地对交通 标志进行识别是实现自动驾驶安全性保障的关键环节。对于交通标志识别这种任务,更多地 需要部署在边缘和移动设备中,这对边缘设备的计算力和内存来说都是一个挑战,所以兼顾 准确性和实时性的交通标志检测算法成为首选。
3.目前基于卷积神经网络的目标检测算法的发展大致分为两个方向:基于候选区域的 two-stage检测器和基于回归的one-stage检测器。two-stage检测器一般具有速度慢精度高的 特点,one-stage检测器一般具有速度快精度低的特点。尽管基于候选区域的二阶段目标检测 方法r-cnn系列取得了非常好的检测结果,但由于交通标志识别要求比较高的精度和速度,该 系列算法在速度方面离实时效果还比较遥远。与r-cnn系算法不同的是,以ssd为代表的一阶 段算法的网络模型参数相对较少,在实时性上表现优越,但是在准确性上有点差强人意。
4.针对上述这种情况,本发明提出了一种基于yolov5交通标志检测识别模型训练方法及系 统,能够有效地对现有技术进行改进,克服其不足。
技术实现要素:5.针对现有技术的不足,本发明提供了一种基于yolov5交通标志检测识别模型训练方法及 系统,以解决现有技术存在的以上问题,其具体方案如下:
6.第一方面,本发明提供了一种基于yolov5交通标志检测识别模型训练方法,所述方法包 括:
7.步骤1:获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注有边界框 的信息和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处理,包括 采用随机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色直方图均 衡化增强对比度,将数据集划分为训练集、测试集和验证集;
8.步骤2:获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增强、禁止 fliplr数据增强;
9.步骤3:修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors 锚框,所述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标的检测 层和加入cbam卷积注意力模块,所述网络模型的prediction部分对应添加针
对小目标的检测 头,生成目标训练模型;
10.步骤4:通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设置参数训 练;
11.步骤5:通过测试指标进行参数优化条件返回步骤4,直到完成模型参数性能优化后,保 存生成的交通标志图像模型;
12.步骤6:基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的检测位置 和识别分类。
13.优选地,所述步骤1包括:
14.s21.将获取的tt100k交通标志数据集进行随机平移、缩放、裁剪处理的任意一种方法扩 充数据集,缩小不同标志类间的数据比例;
15.s22.将新的数据集格式转为pascal voc标记的xml格式,再将pascal voc标记格式转为yolo标记的txt格式,xml格式转为txt格式如下:
[0016][0017]
其中x是目标中心点的横坐标/图片总宽度,是目标中心点的纵坐标/图片总高度,是目 标框的宽度/图片总宽度,是目标框的高度/图片总高度;
[0018]
s23.对新的数据集图片采用去噪、彩色直方图均衡化进行图像增强,以获取所述新的交 通标志数据集以及每一个标志图片对应的txt标签。
[0019]
优选地,所述方法还包括:
[0020]
在检测网络模型中修改neck部分和prediction部分,得到修改后的网络模型;
[0021]
在所述检测网络模型中计算新的数据集下的anchors锚框,基于修改的anchors锚框,面 向小目标的标志,提高待检测目标的属性特征;
[0022]
在所述检测网络模型中添加针对小目标的检测层和cbam卷积注意力模块,加入的目标检 测层和卷积注意力模块,提高模型对小目标的感受范围和注意力;
[0023]
在所述检测网络模型中添加针对小目标的检测头,加入的目标检测头,提取对待测目标 的位置和信息类。
[0024]
优选地,初次训练所述网络模型时,参数训练采用sgd+momentum的优化算法,学习率 采用余弦退火策略动态调整,设置动量参数、轮次、批次、权重衰减系数、初始学习率、权 重和结果的保存权重。
[0025]
优选地,所述方法包括:
[0026]
检测指标为map指标和recall指标,并根据所述检测指标结果的优良对参数调优,对待 测目标图像进行检测和识别,得到待测目标图像的交通标志检测和识别结果;
[0027]
其中,所述识别模型包括如下单元:
[0028]
图像采集单元,用于采集交通标志图像,将所述交通标志图像进行图像增强和扩充数据 集,得到新的交通标志图像数据集的图片以及对应标签,将所述新的交通标志图像分为训练 集、测试集和验证集;
[0029]
模型加载单元,用于获取基于yolov5的网络模型,对所述网络模型进行修改,在
neck 部分添加针对小目标的检测层和加入卷积注意力模块,在prediction部分添加针对小目标的 检测头生成新的目标训练模型;
[0030]
模型设置单元,用于根据修改后的网络模型进行参数设置和优化调节;
[0031]
模型训练单元,用于通过所述训练集对所述目标训练模型进行训练,并通过所述测试指 标对训练后的所述目标训练模型进行测试;
[0032]
模型生成单元,用于通过测试集对网络模型进行测试后保存所述网络模型及训练产生的 权重生成交通标志图像模型;
[0033]
模型识别单元,用于对待测目标图像进行交通标志的检测和识别。
[0034]
第二方面,本发明提供了一种基于yolov5交通标志检测识别模型训练系统,所述系统包 括:
[0035]
获取模块,用于获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注 有边界框的信息和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处 理,包括采用随机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色 直方图均衡化增强对比度,将数据集划分为训练集、测试集和验证集;
[0036]
增强模块,用于获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增 强、禁止fliplr数据增强;
[0037]
调优模块,用于修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors锚框,所述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标 的检测层和加入cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标 的检测头,生成目标训练模型;
[0038]
配置模块,用于通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设 置参数训练;
[0039]
迭代模块,用于通过测试指标进行参数优化条件返回配置模块对目标模型进行再加载与 参数训练再配置,直到完成模型参数性能优化后,保存生成的交通标志图像模型;
[0040]
输出模块,用于基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的 检测位置和识别分类。
[0041]
第三方面,本发明提供了一种基于yolov5交通标志检测识别模型训练设备,所述设备包 括:
[0042]
通信总线,用于实现处理器与存储器间的连接通信;
[0043]
存储器,用于存储计算机程序;
[0044]
处理器,用于执行所述计算机程序以实现如下步骤:
[0045]
获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注有边界框的信息 和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处理,包括采用随 机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色直方图均衡化增 强对比度,将数据集划分为训练集、测试集和验证集;
[0046]
获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增强、禁止fliplr 数据增强;
[0047]
修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors锚框,所 述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标的检测
层和加入 cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标的检测头,生成 目标训练模型;
[0048]
通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设置参数训练;
[0049]
通过测试指标进行参数优化条件返回对目标模型进行再加载与参数训练再配置,直到完 成模型参数性能优化后,保存生成的交通标志图像模型;
[0050]
基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的检测位置和识别 分类。
[0051]
有益效果:本发明的基于yolov5交通标志检测识别模型训练方法及系统,通过基于 yolov5的网络模型进行交通标志检测识别模型训练,在保证目标检测速度和不大幅增加模型 参数量的基础上提升模型对交通标志牌检测的准确率。
附图说明
[0052]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附 图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,附图中的实 施例不构成对本发明的任何限制,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可以根据这些附图获得其他的附图。
[0053]
图1是本发明基于yolov5交通标志检测识别模型训练方法一实施例流程示意图。
[0054]
图2是本发明基于yolov5交通标志检测识别模型训练系统一实施例结构示意图。
[0055]
图3是本发明基于yolov5交通标志检测识别模型训练设备一实施例结构示意图。
具体实施方式
[0056]
下面结合附图与实施例对本发明技术方案作进一步详细的说明,这是本发明的较佳实施 例。应当理解,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;需要说 明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
[0057]
本发明实施例技术方案的主要思想:获取交通标志数据集,所述数据集包括若干训练图 像,且所述图像标注有边界框的信息和实际所述分类;根据不同标志类间的数据比例,对数 据集进行图像增强处理,包括采用随机平移、缩放、裁剪的方法扩充数据集,对扩充后的数 据集图片去噪和彩色直方图均衡化增强对比度,将数据集划分为训练集、测试集和验证集; 获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增强、禁止fliplr数据 增强;修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors锚框, 所述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标的检测层和加 入cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标的检测头,生 成目标训练模型;通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设置 参数训练;通过测试指标进行参数优化条件返回步骤4,直到完成模型参数性能优化后,保存 生成的交通标志图像模型;基于生成的模型面向实际场景识别待测标志的信息,即输出目标 标志的检测位置和识别分类。
[0058]
为了更好的理解上述的技术方案,下面将结合说明书附图以及具体的实施方式对上述技 术方案进行详细的说明。
[0059]
实施例一
[0060]
本发明一实施例提供了一种基于yolov5交通标志检测识别模型训练方法,如图1所示, 该数据处理方法具体可以包括如下步骤:
[0061]
s101,获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注有边界框 的信息和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处理,包括 采用随机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色直方图均 衡化增强对比度,将数据集划分为训练集、测试集和验证集;
[0062]
具体地,所述步骤s101可以包括如下步骤:
[0063]
s21.将获取的tt100k交通标志数据集进行随机平移、缩放、裁剪处理的任意一种方法扩 充数据集,缩小不同标志类间的数据比例;
[0064]
s22.将新的数据集格式转为pascal voc标记的xml格式,再将pascal voc标记格式转为 yolo标记的txt格式,xml格式转为txt格式如下:
[0065][0066]
其中x是目标中心点的横坐标/图片总宽度,是目标中心点的纵坐标/图片总高度,是目 标框的宽度/图片总宽度,是目标框的高度/图片总高度;
[0067]
s23.对新的数据集图片采用去噪、彩色直方图均衡化进行图像增强,以获取所述新的交 通标志数据集以及每一个标志图片对应的txt标签。
[0068]
s102,获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增强、禁止 fliplr数据增强;
[0069]
s103,修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors锚 框,所述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标的检测层 和加入cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标的检测头, 生成目标训练模型;
[0070]
s104,通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设置参数训 练;
[0071]
s105,通过测试指标进行参数优化条件返回步骤4,直到完成模型参数性能优化后,保存 生成的交通标志图像模型;
[0072]
s106,基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的检测位置 和识别分类。
[0073]
在一个可选实施例中,所述方法还可以包括:首先在检测网络模型中修改neck部分和 prediction部分,得到修改后的网络模型;其次在所述检测网络模型中计算新的数据集下的 anchors锚框,基于修改的anchors锚框,面向小目标的标志,提高待检测目标的属性特征; 然后在所述检测网络模型中添加针对小目标的检测层和cbam卷积注意力模块,加入的目标检 测层和卷积注意力模块,提高模型对小目标的感受范围和注意力;最后在所述
检测网络模型 中添加针对小目标的检测头,加入的目标检测头,提取对待测目标的位置和信息类。
[0074]
在本发明实施例中,初次训练所述网络模型时,参数训练可以采用sgd+momentum的优 化算法,学习率采用余弦退火策略动态调整,设置动量参数、轮次、批次、权重衰减系数、 初始学习率、权重和结果的保存权重。
[0075]
在本发明实施例中,所述方法可以包括:检测指标为map指标和recall指标,并根据所述 检测指标结果的优良对参数调优,对待测目标图像进行检测和识别,得到待测目标图像的交 通标志检测和识别结果;
[0076]
检测指标为map指标和recall指标,并根据所述检测指标结果的优良对参数调优,对待 测目标图像进行检测和识别,得到待测目标图像的交通标志检测和识别结果;
[0077]
所述检测指标为map指标和recall指标的步骤如下:
[0078]
步骤m1:计算单个类别的准确率p,其公式如下:
[0079][0080]
其中,p代表单个类别的准确率,tp代表单个类别被模型预测为正的正样本数,fp代表 单个类别被模型预测为正的负样本数;
[0081]
步骤m2:计算单个类别的召回率,其公式如下:
[0082][0083]
其中,recall代表召回率,fn代表单个类别被模型预测为负的负样本数;
[0084]
步骤m3:计算每个类别的平均精度ap,其公式如下:
[0085][0086]
其中,ap代表每个类别的平均精度,将召回率作为横坐标、准确率作为纵坐标,绘制出 准确率-召回率(p-r)曲线图,曲线所围成的面积称就是平均精度(ap)的大小;
[0087]
步骤m4:根据所得每个类别的平均精度,计算所有类别的平均精度map,其公式如下:
[0088][0089]
其中,map代表所有类的平均精度,classes代表类别数。
[0090]
所述识别模型具体包括如下单元:
[0091]
图像采集单元,用于采集交通标志图像,将所述交通标志图像进行图像增强和扩充数据 集,得到新的交通标志图像数据集的图片以及对应标签,将所述新的交通标志图像分为训练 集、测试集和验证集;
[0092]
模型加载单元,用于获取基于yolov5的网络模型,对所述网络模型进行修改,在neck 部分添加针对小目标的检测层和加入卷积注意力模块,在prediction部分添加针对小目标的 检测头生成新的目标训练模型;
[0093]
模型设置单元,用于根据修改后的网络模型进行参数设置和优化调节;
[0094]
模型训练单元,用于通过所述训练集对所述目标训练模型进行训练,并通过所述测试指 标对训练后的所述目标训练模型进行测试;
[0095]
模型生成单元,用于通过测试集对网络模型进行测试后保存所述网络模型及训练产生的 权重生成交通标志图像模型;
[0096]
模型识别单元,用于对待测目标图像进行交通标志的检测和识别。
[0097]
实施例二
[0098]
本发明一实施例提供了一种基于yolov5交通标志检测识别模型训练系统,如图2所示, 该信息处理系统具体可以包括如下模块:
[0099]
获取模块,用于获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注 有边界框的信息和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处 理,包括采用随机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色 直方图均衡化增强对比度,将数据集划分为训练集、测试集和验证集;
[0100]
具体地,所述获取模块可以包括:将获取的tt100k交通标志数据集进行随机平移、缩放、 裁剪处理的任意一种方法扩充数据集,缩小不同标志类间的数据比例;将新的数据集格式转 为pascal voc标记的xml格式,再将pascal voc标记格式转为yolo标记的txt格式,xml格式转 为txt格式如下:
[0101][0102]
其中x是目标中心点的横坐标/图片总宽度,是目标中心点的纵坐标/图片总高度,是目 标框的宽度/图片总宽度,是目标框的高度/图片总高度;对新的数据集图片采用去噪、彩色 直方图均衡化进行图像增强,以获取所述新的交通标志数据集以及每一个标志图片对应的txt 标签。
[0103]
增强模块,用于获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增 强、禁止fliplr数据增强;
[0104]
调优模块,用于修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算 anchors锚框,所述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标 的检测层和加入cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标 的检测头,生成目标训练模型;
[0105]
配置模块,用于通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设 置参数训练;
[0106]
迭代模块,用于通过测试指标进行参数优化条件返回配置模块对目标模型进行再加载与 参数训练再配置,直到完成模型参数性能优化后,保存生成的交通标志图像模型;
[0107]
输出模块,用于基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的 检测位置和识别分类。
[0108]
在一个可选实施例中,还可以首先在检测网络模型中修改neck部分和prediction部分, 得到修改后的网络模型;其次在所述检测网络模型中计算新的数据集下的anchors锚框,基于 修改的anchors锚框,面向小目标的标志,提高待检测目标的属性特征;然后在
所述检测网络 模型中添加针对小目标的检测层和cbam卷积注意力模块,加入的目标检测层和卷积注意力模 块,提高模型对小目标的感受范围和注意力;最后在所述检测网络模型中添加针对小目标的 检测头,加入的目标检测头,提取对待测目标的位置和信息类。
[0109]
在本发明实施例中,初次训练所述网络模型时,参数训练可以采用sgd+momentum的优 化算法,学习率采用余弦退火策略动态调整,设置动量参数、轮次、批次、权重衰减系数、 初始学习率、权重和结果的保存权重。
[0110]
在本发明实施例中,可以先检测指标为map指标和recall指标,并根据所述检测指标结果 的优良对参数调优,对待测目标图像进行检测和识别,得到待测目标图像的交通标志检测和 识别结果;
[0111]
检测指标为map指标和recall指标,并根据所述检测指标结果的优良对参数调优,对待 测目标图像进行检测和识别,得到待测目标图像的交通标志检测和识别结果;
[0112]
所述检测指标为map指标和recall指标的步骤如下:
[0113]
步骤m1:计算单个类别的准确率p,其公式如下:
[0114][0115]
其中,p代表单个类别的准确率,tp代表单个类别被模型预测为正的正样本数,fp代表 单个类别被模型预测为正的负样本数;
[0116]
步骤m2:计算单个类别的召回率,其公式如下:
[0117][0118]
其中,recall代表召回率,fn代表单个类别被模型预测为负的负样本数;
[0119]
步骤m3:计算每个类别的平均精度ap,其公式如下:
[0120][0121]
其中,ap代表每个类别的平均精度,将召回率作为横坐标、准确率作为纵坐标,绘制出 准确率-召回率(p-r)曲线图,曲线所围成的面积称就是平均精度(ap)的大小;
[0122]
步骤m4:根据所得每个类别的平均精度,计算所有类别的平均精度map,其公式如下:
[0123][0124]
其中,map代表所有类的平均精度,classes代表类别数。
[0125]
所述识别模型具体包括如下单元:
[0126]
图像采集单元,用于采集交通标志图像,将所述交通标志图像进行图像增强和扩充数据 集,得到新的交通标志图像数据集的图片以及对应标签,将所述新的交通标志图像分为训练 集、测试集和验证集;
[0127]
模型加载单元,用于获取基于yolov5的网络模型,对所述网络模型进行修改,在neck 部分添加针对小目标的检测层和加入卷积注意力模块,在prediction部分添加针对小目标的 检测头生成新的目标训练模型;
[0128]
模型设置单元,用于根据修改后的网络模型进行参数设置和优化调节;
[0129]
模型训练单元,用于通过所述训练集对所述目标训练模型进行训练,并通过所述测试指 标对训练后的所述目标训练模型进行测试;
[0130]
模型生成单元,用于通过测试集对网络模型进行测试后保存所述网络模型及训练产生的 权重生成交通标志图像模型;
[0131]
模型识别单元,用于对待测目标图像进行交通标志的检测和识别。
[0132]
实施例三
[0133]
本发明一实施例提供了一种基于yolov5交通标志检测识别模型训练系统,如图3所示, 该信息处理系统具体可以包括如下模块:
[0134]
通信总线,用于实现处理器与存储器间的连接通信;
[0135]
存储器,用于存储计算机程序;存储器可能包含高速ram存储器,也可能还包含非不稳 定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器可选的可以包含至 少一个存储装置。
[0136]
处理器,用于执行上述计算机程序以实现如下步骤:
[0137]
获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注有边界框的信息 和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处理,包括采用随 机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色直方图均衡化增 强对比度,将数据集划分为训练集、测试集和验证集;
[0138]
具体地,所述步骤s101可以包括如下步骤:
[0139]
将获取的tt100k交通标志数据集进行随机平移、缩放、裁剪处理的任意一种方法扩充数 据集,缩小不同标志类间的数据比例;
[0140]
将新的数据集格式转为pascal voc标记的xml格式,再将pascal voc标记格式转为yolo 标记的txt格式,xml格式转为txt格式如下:
[0141][0142]
其中x是目标中心点的横坐标/图片总宽度,是目标中心点的纵坐标/图片总高度,是目 标框的宽度/图片总宽度,是目标框的高度/图片总高度;
[0143]
对新的数据集图片采用去噪、彩色直方图均衡化进行图像增强,以获取所述新的交通标 志数据集以及每一个标志图片对应的txt标签。
[0144]
获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增强、禁止fliplr 数据增强;
[0145]
修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors锚框,所 述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标的检测层和加入 cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标的检测头,生成 目标训练模型;
[0146]
通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设置参数训练;
[0147]
通过测试指标进行参数优化条件返回步骤4,直到完成模型参数性能优化后,保存生成的 交通标志图像模型;
[0148]
基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的检测位置和识别 分类。
[0149]
在一个可选实施例中,所述方法还可以包括:首先在检测网络模型中修改neck部分和 prediction部分,得到修改后的网络模型;其次在所述检测网络模型中计算新的数据集下的 anchors锚框,基于修改的anchors锚框,面向小目标的标志,提高待检测目标的属性特征; 然后在所述检测网络模型中添加针对小目标的检测层和cbam卷积注意力模块,加入的目标检 测层和卷积注意力模块,提高模型对小目标的感受范围和注意力;最后在所述检测网络模型 中添加针对小目标的检测头,加入的目标检测头,提取对待测目标的位置和信息类。
[0150]
在本发明实施例中,初次训练所述网络模型时,参数训练可以采用sgd+momentum的优 化算法,学习率采用余弦退火策略动态调整,设置动量参数、轮次、批次、权重衰减系数、 初始学习率、权重和结果的保存权重。
[0151]
在本发明实施例中,所述方法可以包括:检测指标为map指标和recall指标,并根据所述 检测指标结果的优良对参数调优,对待测目标图像进行检测和识别,得到待测目标图像的交 通标志检测和识别结果;
[0152]
所述检测指标为map指标和recall指标的步骤如下:
[0153]
步骤m1:计算单个类别的准确率p,其公式如下:
[0154][0155]
其中,p代表单个类别的准确率,tp代表单个类别被模型预测为正的正样本数,fp代表 单个类别被模型预测为正的负样本数;
[0156]
步骤m2:计算单个类别的召回率,其公式如下:
[0157][0158]
其中,recall代表召回率,fn代表单个类别被模型预测为负的负样本数;
[0159]
步骤m3:计算每个类别的平均精度ap,其公式如下:
[0160][0161]
其中,ap代表每个类别的平均精度,将召回率作为横坐标、准确率作为纵坐标,绘制出 准确率-召回率(p-r)曲线图,曲线所围成的面积称就是平均精度(ap)的大小;
[0162]
步骤m4:根据所得每个类别的平均精度,计算所有类别的平均精度map,其公式如下:
[0163][0164]
其中,map代表所有类的平均精度,classes代表类别数。
[0165]
其中,所述识别模型具体包括如下单元:
[0166]
图像采集单元,用于采集交通标志图像,将所述交通标志图像进行图像增强和扩充数据 集,得到新的交通标志图像数据集的图片以及对应标签,将所述新的交通标志图像分为训练 集、测试集和验证集;
[0167]
模型加载单元,用于获取基于yolov5的网络模型,对所述网络模型进行修改,在neck 部分添加针对小目标的检测层和加入卷积注意力模块,在prediction部分添加针对小目标的 检测头生成新的目标训练模型;
[0168]
模型设置单元,用于根据修改后的网络模型进行参数设置和优化调节;
[0169]
模型训练单元,用于通过所述训练集对所述目标训练模型进行训练,并通过所述测试指 标对训练后的所述目标训练模型进行测试;
[0170]
模型生成单元,用于通过测试集对网络模型进行测试后保存所述网络模型及训练产生的 权重生成交通标志图像模型;
[0171]
模型识别单元,用于对待测目标图像进行交通标志的检测和识别。
[0172]
本实施例中的处理器可能是一种集成电路芯片,具有信号处理能力。在实现过程中,上 述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的 处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门 阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以 实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。上述处理器可以是微处理 器或者上述处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可 以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件 模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储 器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信 息,结合其硬件完成上述方法的步骤。
[0173]
实施例四
[0174]
本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机 程序被处理器执行时实现上述的训练方法。
[0175]
综上所述,本发明实施例提供的一种基于yolov5交通标志检测识别模型训练方法及系统, 通过基于yolov5的网络模型进行交通标志检测识别模型训练,在保证目标检测速度和不大幅 增加模型参数量的基础上提升模型对交通标志牌检测的准确率。
[0176]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动 作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据 本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说 明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0177]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用 软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。该计算机程序产 品包括一个或多个计算机指令。在计算机上加载或执行该计算机程序指令时,全部或部分地 产生按照本技术实施例该的流程或功能。该计算机可以为通用计算机、专用计算机、计算机 网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个 计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令
可以从一个网 站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站 站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取 的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。 该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介 质。半导体介质可以是固态硬盘。
[0178]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算 法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件 还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每 个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范 围。
[0179]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可 以参见其他实施例的相关描述。
[0180]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置 和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0181]
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过 其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分, 仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结 合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的 相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信 连接,可以是电性,机械或其它的形式。
[0182]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部 件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元 上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0183]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个 单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以 采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0184]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以 存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对 现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该 计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人 计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前 述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储 器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0185]
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图 来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以 及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、 专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过 计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多 个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0186]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工 作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制 造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定 的功能。
[0187]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或 其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编 程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多 个方框中指定的功能的步骤。
[0188]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者 操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这 种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排 他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而 且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有 的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括 所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0189]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参 照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以 对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
技术特征:1.一种基于yolov5交通标志检测识别模型训练方法,其特征在于,所述方法包括:步骤1:获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注有边界框的信息和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处理,包括采用随机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色直方图均衡化增强对比度,将数据集划分为训练集、测试集和验证集;步骤2:获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增强、禁止fliplr数据增强;步骤3:修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors锚框,所述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标的检测层和加入cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标的检测头,生成目标训练模型;步骤4:通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设置参数训练;步骤5:通过测试指标进行参数优化条件返回步骤4,直到完成模型参数性能优化后,保存生成的交通标志图像模型;步骤6:基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的检测位置和识别分类。2.根据权利要求1所述的方法,其特征在于,所述步骤1包括:s21.将获取的tt100k交通标志数据集进行随机平移、缩放、裁剪处理的任意一种方法扩充数据集,缩小不同标志类间的数据比例;s22.将新的数据集格式转为pascal voc标记的xml格式,再将pascal voc标记格式转为yolo标记的txt格式,xml格式转为txt格式如下:其中x是目标中心点的横坐标/图片总宽度,是目标中心点的纵坐标/图片总高度,是目标框的宽度/图片总宽度,是目标框的高度/图片总高度;s23.对新的数据集图片采用去噪、彩色直方图均衡化进行图像增强,以获取所述新的交通标志数据集以及每一个标志图片对应的txt标签。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在检测网络模型中修改neck部分和prediction部分,得到修改后的网络模型;在所述检测网络模型中计算新的数据集下的anchors锚框,基于修改的anchors锚框,面向小目标的标志,提高待检测目标的属性特征;在所述检测网络模型中添加针对小目标的检测层和cbam卷积注意力模块,加入的目标检测层和卷积注意力模块,提高模型对小目标的感受范围和注意力;在所述检测网络模型中添加针对小目标的检测头,加入的目标检测头,提取对待测目标的位置和信息类。4.根据权利要求1所述的方法,其特征在于,初次训练所述网络模型时,参数训练采用
sgd+momentum的优化算法,学习率采用余弦退火策略动态调整,设置动量参数、轮次、批次、权重衰减系数、初始学习率、权重和结果的保存权重。5.根据权利要求1所述的方法,其特征在于,所述方法包括:检测指标为map指标和recall指标,并根据所述检测指标结果的优良对参数调优,对待测目标图像进行检测和识别,得到待测目标图像的交通标志检测和识别结果;所述检测指标为map指标和recall指标的步骤如下:步骤m1:计算单个类别的准确率p,其公式如下:其中,p代表单个类别的准确率,tp代表单个类别被模型预测为正的正样本数,fp代表单个类别被模型预测为正的负样本数;步骤m2:计算单个类别的召回率,其公式如下:其中,recall代表召回率,fn代表单个类别被模型预测为负的负样本数;步骤m3:计算每个类别的平均精度ap,其公式如下:其中,ap代表每个类别的平均精度,将召回率作为横坐标、准确率作为纵坐标,绘制出准确率-召回率(p-r)曲线图,曲线所围成的面积称就是平均精度(ap)的大小;步骤m4:根据所得每个类别的平均精度,计算所有类别的平均精度map,其公式如下:其中,map代表所有类的平均精度,classes代表类别数;所述识别模型包括如下单元:图像采集单元,用于采集交通标志图像,将所述交通标志图像进行图像增强和扩充数据集,得到新的交通标志图像数据集的图片以及对应标签,将所述新的交通标志图像分为训练集、测试集和验证集;模型加载单元,用于获取基于yolov5的网络模型,对所述网络模型进行修改,在neck部分添加针对小目标的检测层和加入卷积注意力模块,在prediction部分添加针对小目标的检测头生成新的目标训练模型;模型设置单元,用于根据修改后的网络模型进行参数设置和优化调节;模型训练单元,用于通过所述训练集对所述目标训练模型进行训练,并通过所述测试指标对训练后的所述目标训练模型进行测试;模型生成单元,用于通过测试集对网络模型进行测试后保存所述网络模型及训练产生的权重生成交通标志图像模型;模型识别单元,用于对待测目标图像进行交通标志的检测和识别。6.一种基于yolov5交通标志检测识别模型训练系统,其特征在于,所述系统包括:
获取模块,用于获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注有边界框的信息和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处理,包括采用随机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色直方图均衡化增强对比度,将数据集划分为训练集、测试集和验证集;增强模块,用于获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增强、禁止fliplr数据增强;调优模块,用于修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors锚框,所述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标的检测层和加入cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标的检测头,生成目标训练模型;配置模块,用于通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设置参数训练;迭代模块,用于通过测试指标进行参数优化条件返回配置模块对目标模型进行再加载与参数训练再配置,直到完成模型参数性能优化后,保存生成的交通标志图像模型;输出模块,用于基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的检测位置和识别分类。7.一种基于yolov5交通标志检测识别模型训练设备,其特征在于,所述设备包括:通信总线,用于实现处理器与存储器间的连接通信;存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如下步骤:获取交通标志数据集,所述数据集包括若干训练图像,且所述图像标注有边界框的信息和实际所述分类;根据不同标志类间的数据比例,对数据集进行图像增强处理,包括采用随机平移、缩放、裁剪的方法扩充数据集,对扩充后的数据集图片去噪和彩色直方图均衡化增强对比度,将数据集划分为训练集、测试集和验证集;获取基于yolov5的网络模型,对所述网络模型输入端启用mosaic数据增强、禁止fliplr数据增强;修改基于yolov5的网络模型,对所述网络模型利用k均值算法重新计算anchors锚框,所述网络模型基本保留backbone部分和neck部分,在neck部分添加针对小目标的检测层和加入cbam卷积注意力模块,所述网络模型的prediction部分对应添加针对小目标的检测头,生成目标训练模型;通过所述训练集对所述目标模型进行加载和采用sgd+momentum的形式设置参数训练;通过测试指标进行参数优化条件返回对目标模型进行再加载与参数训练再配置,直到完成模型参数性能优化后,保存生成的交通标志图像模型;基于生成的模型面向实际场景识别待测标志的信息,即输出目标标志的检测位置和识别分类。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的方法。
技术总结本发明公开一种基于Yolov5交通标志检测识别模型训练方法及系统,该方法对获取的交通标志数据集进行Yolov5交通标志检测识别模型训练、迭代处理,最后获得识别模型的训练序列。优点:在保证目标检测速度和不大幅增加模型参数量的基础上提升模型对交通标志牌检测的准确率。确率。确率。
技术研发人员:王涛 刘承堃 程瑞 徐奇
受保护的技术使用者:桂林电子科技大学
技术研发日:2022.04.29
技术公布日:2022/11/1