1.本发明属于无人驾驶视觉检测技术领域,具体地说,本发明涉及植入动态
类别权重的
损失函数计算方法。
背景技术:
2.日常生活、生产领域广泛应用到深度学习框架完成视觉、自然语言、规划、决策等任务。模型训练在深度学习框架中尤为重要,因为它预测能力好坏是决定深度学习框架能否成功应用落地的关键因素。模型的训练过程由多个过程完成,包括图像预处理、深度模型提取特征和预测、损失函数计算、解析器(optimizer)解析、学习率调整计划(lr-scheduler)更新学习率等几部分组成。本专利创新的内容在损失函数模块,下面主要介绍损失函数的发展现状。
3.损失函数是用来度量模型的预测值f(x)与真实值y差异程度的运算函数。通常使用l(y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。
4.损失函数主要分为两类:1、传统的损失函数数学计算方式,比如:用于回归问题的距离度量损失函数,将输入的数据映射到基于距离度量的特征空间,比如:均方误差损失函数、l2损失函数、l1损失函数等;用于分类问题的概率分布度量损失函数,将样本间的相似性转化为随机出现的可能性,比如:交叉熵损失函数,归一化(softmax)损失函数等;用于检测、分割任务的形状位置度量的损失函数,将目标与预测值位置大小的差异计算,比如:c-iou损失函数,s-iou损失函数。
5.2、基于传统损失函数进行改进,增加各个类别的权重植入到传统损失函数计算输出最终的损失值,比如为了解决难易样本不均衡问题的focal-loss。
6.现有损失函数计算方式普遍存在的问题:一、传统的损失值(loss)数学计算方式是在模型的预测结果和标签之间基于距离度量、概率度量或者位置形状度量计算损失值,在训练过程没有根据实际类别正确率的表现进行指导性的加权计算。
7.二、增加类别尺度权重计算损失值(loss)方法,模型训练未开始前根据各个类别数量的比例设置损失函数加权的系数。它设置的是一个初始的固定值,随着训练的开展实际各个类别的正确率差异已经严重偏离了最初的样本数量的比例系数,所以不能精准指导各个类别正确率的差异和各类别训练损失函数中各自比例之间的关系。
8.植入动态类别权重的损失函数计算方法,主要功能是实时动态地计算各类目标类别权重,将这个权重植入损失函数计算。它是预先根据标签信息将目标标记为n类,根据验证集中各类类别正确率表现,计算出各类别的权重,然后每相隔固定训练轮数,将这个权重植入到损失函数计算的过程。这种方法更加贴合模型训练的实际情况,能够对损失函数中各类类别权重的调整做到实时、精准,从而实现对模型收敛速度加快和模型训练各类别准确率提升。
技术实现要素:
9.本发明提供植入动态类别权重的损失函数计算方法,以解决上述背景技术中存在的技术问题。
10.为了实现上述目的,本发明采取的技术方案为:植入动态类别权重的损失函数计算方法,具体包括以下
步骤,步骤s1:模型训练前将目标按照尺度标记为n类;步骤s2:模型运行验证集时通过各个尺度类别正确率表现计算出各自的类别权重;步骤s3:模型训练过程定期将步骤s2计算得出的各类别类别权重植入到损失函数加权计算。
11.优选的,所述步骤s1具体包括以下步骤,步骤s1.1:根据数据集的标签信息统计视觉检测需要检测目标的尺度大小情况,使用聚类的方法对目标的尺度数据分成n类,然后根据这n个类别尺度的信息,设置n-1个阈值;阈值是类别间的分类基准线,每个阈值有2个维度分别对应输入图像宽度方向和高度方向,为了避免分类基准线因为输入图像的尺度大小改变而发生改变,阈值应设置为图像尺度的相对尺寸;步骤s1.2:目标尺度的宽度、高度方向与步骤s1.1设置的阈值两个方向值比较,将目标划分为n类,在模型读取目标信息生成的数字矩阵增加一列数字编号作为步骤s1.1目标分类的标记信息,然后将数字矩阵送入模型进行提取特征。
12.优选的,所述步骤s2具体包括以下步骤,步骤s2.1:按照步骤s1中的分类类别逐类与模型预测值进行正确度量计算;在yolov5检测算法中:通过计算位置差异度量的iou值与预设的判定标准进行比对生成布尔值,同时类别差异度量值与预设的判定标准比对生成布尔值,当两个信息布尔值都为正时,判定模型预测目标是预测正确,反之预测不正确;步骤s2.2:通过累加的方式统计所有批次中按照步骤s2.1各个尺度类别预测正确的目标数;步骤s2.3:将各个类别预测正确的目标数除以各个类别标签数量得出召回率r,将各个类别预测正确的目标数除以各个类别预测数量得出精确率p;按照f1scroe = p*r/(p+r),计算出各个类别f1系数值;按照下面公式进行各个类别f1系数值的反向映射和归一化操作得出各个类别类别权重值;;;
其中:f1(i)
‑‑
第i类别的f1 score数值; size_weights(i)
‑‑
第i类别的权重数值。
13.优选的,所述步骤s3具体包括以下步骤,步骤s3.1:按照步骤s1中的分类信息逐类与损失函数计算,得出各类别初始损失值;在yolov5检测算法中:损失函数的计算由三部分组成:位置差异度量的diou计算、类别概率差异度量的bce计算和前景背景概率差异度量的bce计算;需要逐个类别使用数据集中的标签信息与模型预测值进行位置差异度量的diou loss计算、进行类别概率差异度量bce loss计算和图像前景背景置信度概率差异度量bce loss计算;步骤s3.2:损失函数的计算是以批次为单位开展的,我们将步骤s3.1得到批次内各个样本类别的损失值乘以步骤s2.2中得到的各自类别类别权重,得到各个样本的损失值,然后计算该批次内所有样本损失值的均值作为该批次损失值的输出;步骤s3.3:模型训练时在固定数量的训练轮数范围内植入到损失函数的各类别类别权重保持不变,超过固定范围训练轮数后更新步骤s2得到的类别权重植入到损失函数加权计算;本方法中经过验证得出固定数量设置10个轮次数更新步骤s2得到的各类别类别权重值得到了比较好的效果。
14.优选的,模型训练过程不断重复步骤s2和步骤s3,根据步骤s2中得到的各类别类别权重值,将各类别类别权重植入到损失函数计算更新各类别在损失值中的权重,实现了模型训练过程实时动态更新各类别类别权重,实时微调模型训练过程。
15.采用以上技术方案的有益效果是:1、本发明的植入动态类别权重的损失函数计算方法,基于yolov5检测算法应用在工厂园区中行人检测项目进行收益对比实验。
16.模型基于yolov5-p6框架,darknet53作为基础网络框架,使用0.3倍概率copy-past,0.8概率masico的数据增强,和使用multi-scale作为基础网络框架。数据集采用工厂园区经过高精度标注行样本1.2万张,共包含2.6万个行人样本.输入图像尺寸采用704*704像素。经过消融实验对比使用本专利的方法相对yolov5-p6模型 map提升3.2%,达到最高的93.5%,模型在350个轮次达到收敛状态相对与yolov5-p6模型前前150个轮次,大大节省训练时间。
附图说明
17.图1是本发明的植入动态类别权重的损失函数计算方法流程简图;图2是消融实验数据图。
具体实施方式
18.下面对照附图,通过对实施例的描述,对本发明的具体实施方式作进一步详细的说明,目的是帮助本领域的技术人员对本发明的构思、技术方案有更完整、准确和深入的理解,并有助于其实施。
19.如图1至图2所示,本发明是植入动态类别权重的损失函数计算方法,具体包括以
下步骤,步骤s1:模型训练前将目标按照尺度标记为n类;步骤s2:模型运行验证集时通过各个尺度类别正确率表现计算出各自的类别权重;步骤s3:模型训练过程定期将步骤s2计算得出的各类别类别权重植入到损失函数加权计算。
20.所述步骤s1具体包括以下步骤,步骤s1.1:根据数据集的标签信息统计视觉检测需要检测目标的尺度大小情况,使用聚类的方法对目标的尺度数据分成n类,然后根据这n个类别尺度的信息,设置n-1个阈值;阈值是类别间的分类基准线,每个阈值有2个维度分别对应输入图像宽度方向和高度方向,为了避免分类基准线因为输入图像的尺度大小改变而发生改变,阈值应设置为图像尺度的相对尺寸;步骤s1.2:目标尺度的宽度、高度方向与步骤s1.1设置的阈值两个方向值比较,将目标划分为n类,在模型读取目标信息生成的数字矩阵增加一列数字编号作为步骤s1.1目标分类的标记信息,然后将数字矩阵送入模型进行提取特征。
21.所述步骤s2具体包括以下步骤,步骤s2.1:按照步骤s1中的分类类别逐类与模型预测值进行正确度量计算;在yolov5检测算法中:通过计算位置差异度量的iou值与预设的判定标准进行比对生成布尔值,同时类别差异度量值与预设的判定标准比对生成布尔值,当两个信息布尔值都为正时,判定模型预测目标是预测正确,反之预测不正确;步骤s2.2:通过累加的方式统计所有批次中按照步骤s2.1各个尺度类别预测正确的目标数;步骤s2.3:将各个类别预测正确的目标数除以各个类别标签数量得出召回率r,将各个类别预测正确的目标数除以各个类别预测数量得出精确率p;按照f1scroe = p*r/(p+r),计算出各个类别f1系数值;按照下面公式进行各个类别f1系数值的反向映射和归一化操作得出各个类别类别权重值;;;其中:f1(i)
‑‑
第i类别的f1 score数值; size_weights(i)
‑‑
第i类别的权重数值。
22.所述步骤s3具体包括以下步骤,步骤s3.1:按照步骤s1中的分类信息逐类与损失函数计算,得出各类别初始损失
值;在yolov5检测算法中:损失函数的计算由三部分组成:位置差异度量的diou计算、类别概率差异度量的bce计算和前景背景概率差异度量的bce计算;需要逐个类别使用数据集中的标签信息与模型预测值进行位置差异度量的diou loss计算、进行类别概率差异度量bce loss计算和图像前景背景置信度概率差异度量bce loss计算;步骤s3.2:损失函数的计算是以批次为单位开展的,我们将步骤s3.1得到批次内各个样本类别的损失值乘以步骤s2.2中得到的各自类别类别权重,得到各个样本的损失值,然后计算该批次内所有样本损失值的均值作为该批次损失值的输出;步骤s3.3:模型训练时在固定数量的训练轮数范围内植入到损失函数的各类别类别权重保持不变,超过固定范围训练轮数后更新步骤s2得到的类别权重植入到损失函数加权计算;本方法中经过验证得出固定数量设置10个轮次数更新步骤s2得到的各类别类别权重值得到了比较好的效果。
23.模型训练过程不断重复步骤s2和步骤s3,根据步骤s2中得到的各类别类别权重值,将各类别类别权重植入到损失函数计算更新各类别在损失值中的权重,实现了模型训练过程实时动态更新各类别类别权重,实时微调模型训练过程。
24.以下用具体实施例对具体工作方式进行阐述:实施例1:本发明的植入动态类别权重的损失函数计算方法,基于yolov5检测算法应用在工厂园区中行人检测项目进行收益对比实验。
25.模型基于yolov5-p6框架,darknet53作为基础网络框架,使用0.3倍概率copy-past,0.8概率masico的数据增强,和使用multi-scale作为基础网络框架。数据集采用工厂园区经过高精度标注行样本1.2万张,共包含2.6万个行人样本.输入图像尺寸采用704*704像素。经过消融实验对比使用本专利的方法相对yolov5-p6模型 map提升3.2%,达到最高的93.5%,模型在350个轮次达到收敛状态相对与yolov5-p6模型前前150个轮次,大大节省训练时间。
26.以上结合附图对本发明进行了示例性描述,显然,本发明具体实现并不受上述方式的限制,只要是采用了本发明的方法构思和技术方案进行的各种非实质性的改进;或未经改进,将本发明的上述构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。
技术特征:
1.植入动态类别权重的损失函数计算方法,其特征在于:具体包括以下步骤,步骤s1:模型训练前将目标按照尺度标记为n类;步骤s2:模型运行验证集时通过各个尺度类别正确率表现计算出各自的类别权重;步骤s3:模型训练过程定期将步骤s2计算得出的各类别类别权重植入到损失函数加权计算。2.根据权利要求1所述的植入动态类别权重的损失函数计算方法,其特征在于:所述步骤s1具体包括以下步骤,步骤s1.1:根据数据集的标签信息统计视觉检测需要检测目标的尺度大小情况,使用聚类的方法对目标的尺度数据分成n类,然后根据这n个类别尺度的信息,设置n-1个阈值;阈值是类别间的分类基准线,每个阈值有2个维度分别对应输入图像宽度方向和高度方向,为了避免分类基准线因为输入图像的尺度大小改变而发生改变,阈值应设置为图像尺度的相对尺寸;步骤s1.2:目标尺度的宽度、高度方向与步骤s1.1设置的阈值两个方向值比较,将目标划分为n类,在模型读取目标信息生成的数字矩阵增加一列数字编号作为步骤s1.1目标分类的标记信息,然后将数字矩阵送入模型进行提取特征。3.根据权利要求1所述的植入动态类别权重的损失函数计算方法,其特征在于:所述步骤s2具体包括以下步骤,步骤s2.1:按照步骤s1中的分类类别逐类与模型预测值进行正确度量计算;在yolov5检测算法中:通过计算位置差异度量的iou值与预设的判定标准进行比对生成布尔值,同时类别差异度量值与预设的判定标准比对生成布尔值,当两个信息布尔值都为正时,判定模型预测目标是预测正确,反之预测不正确;步骤s2.2:通过累加的方式统计所有批次中按照步骤s2.1各个尺度类别预测正确的目标数;步骤s2.3:将各个类别预测正确的目标数除以各个类别标签数量得出召回率r,将各个类别预测正确的目标数除以各个类别预测数量得出精确率p;按照f1scroe = p*r/(p+r),计算出各个类别f1系数值;按照下面公式进行各个类别f1系数值的反向映射和归一化操作得出各个类别类别权重值;;;其中:f1(i)
‑‑
第i类别的f1 score数值; size_weights(i)
‑‑
第i类别的权重数值。4.根据权利要求1所述的植入动态类别权重的损失函数计算方法,其特征在于:所述步
骤s3具体包括以下步骤,步骤s3.1:按照步骤s1中的分类信息逐类与损失函数计算,得出各类别初始损失值;在yolov5检测算法中:损失函数的计算由三部分组成:位置差异度量的diou计算、类别概率差异度量的bce计算和前景背景概率差异度量的bce计算;需要逐个类别使用数据集中的标签信息与模型预测值进行位置差异度量的diou loss计算、进行类别概率差异度量bce loss计算和图像前景背景置信度概率差异度量bce loss计算;步骤s3.2:损失函数的计算是以批次为单位开展的,我们将步骤s3.1得到批次内各个样本类别的损失值乘以步骤s2.2中得到的各自类别类别权重,得到各个样本的损失值,然后计算该批次内所有样本损失值的均值作为该批次损失值的输出;步骤s3.3:模型训练时在固定数量的训练轮数范围内植入到损失函数的各类别类别权重保持不变,超过固定范围训练轮数后更新步骤s2得到的类别权重植入到损失函数加权计算;本方法中经过验证得出固定数量设置10个轮次数更新步骤s2得到的各类别类别权重值得到了比较好的效果。5.根据权利要求1所述的植入动态类别权重的损失函数计算方法,其特征在于:模型训练过程不断重复步骤s2和步骤s3,根据步骤s2中得到的各类别类别权重值,将各类别类别权重植入到损失函数计算更新各类别在损失值中的权重,实现了模型训练过程实时动态更新各类别类别权重,实时微调模型训练过程。
技术总结
本发明公开了植入动态类别权重的损失函数计算方法,具体包括以下步骤,步骤S1:模型训练前将目标按照尺度标记为N类;步骤S2:模型运行验证集时通过各个尺度类别正确率表现计算出各自的类别权重;步骤S3:模型训练过程定期将步骤S2计算得出的各类别类别权重植入到损失函数加权计算;模型基于yolov5-p6框架,darknet53作为基础网络框架,使用0.3倍概率copy-past,0.8概率masico的数据增强,和使用multi-scale作为基础网络框架。数据集采用工厂园区经过高精度标注行样本1.2万张,共包含2.6万个行人样本.输入图像尺寸采用704*704像素。经过消融实验对比使用本专利的方法相对yolov5-p6模型MAP提升3.2%,达到最高的93.5%,模型在350个轮次达到收敛状态相对与yolov5-p6模型前前150个轮次,大大节省训练时间。大大节省训练时间。大大节省训练时间。
技术研发人员:
左志华 姜文娟 徐礼成 姚斌 张海超
受保护的技术使用者:
山东五征集团有限公司
技术研发日:
2022.09.06
技术公布日:
2022/11/18