一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分级目标检测方法及装置与流程

2021-12-17 19:48:00 来源:中国专利 TAG:


1.本技术涉及导航技术领域,尤其涉及一种分级目标检测方法及装置。


背景技术:

2.从交通场景中自动地检测交通场景中的各种不同大小的目标(例如,交通标志)是车辆自动驾驶的首要处理步骤。快速、准确地检测交通场景中的各种不同大小的目标,能够为自动驾驶车辆的自动导航提供准确的环境信息,是实现安全驾驶的关键。
3.相关技术在对大小不一的目标进行检测时,常常融合浅层和深层特征,对大中小不同目标带有信息冗余,且融合时相互干扰,带入部分背景无效噪声数据使得目标无法达到最优检测效果。


技术实现要素:

4.为解决或部分解决相关技术中存在的问题,本技术提供一种分级目标检测方法及装置,能够对大中小不同尺寸的目标都达到最优检测效果。
5.本技术第一方面提供一种分级目标检测方法,所述方法包括:向分级yolov5网络模型输入训练集,其中,所述分级yolov5网络模型在yolov5网络模型的基础上去除3个预测分支的信息交互功能,所述分级yolov5网络模型的3个预测分支直接输出检测结果;通过分级yolov5网络模型的3个预测分支分别对训练集中的不同尺寸大小的标注框进行预测,分别获得所述分级yolov5网络模型3个预测分支各自的预测输出;根据所述分级yolov5网络模型3个预测分支各自的预测输出,分别计算所述分级yolov5网络模型3个预测分支各自的损失函数值;如果所述分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成所述分级yolov5网络模型的训练;向完成训练的分级yolov5网络模型输入包含目标的图像,以使所述完成训练的分级yolov5网络模型进行目标检测。
6.优选的,所述如果所述分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成所述分级yolov5网络模型的训练之前,还包括:根据分级yolov5网络模型3个预测分支各自的在一次迭代的一个周期的学习次数,分别完成所述分级yolov5网络模型3个预测分支在一次迭代的训练。
7.优选的,所述根据分级yolov5网络模型3个预测分支各自的在一次迭代的一个周期的学习次数,分别完成所述分级yolov5网络模型3个预测分支在一次迭代的训练之前,还包括:根据所述分级yolov5网络模型3个预测分支各自的损失函数值,分别确定所述3个
预测分支各自的在所述一次迭代的一个周期的学习次数。
8.优选的,所述通过分级yolov5网络模型的3个预测分支分别对训练集中的不同尺寸大小的标注框进行预测,分别获得所述分级yolov5网络模型3个预测分支各自的预测输出,包括:将所述训练集中的不同尺寸大小的标注框拆分为3类:小标注框类、中等标注框类、大标注框类;通过分级yolov5网络模型的小目标预测分支、中等目标预测分支、大目标预测分支分别对小标注框类的标注框、中等标注框类的标注框、大标注框类的标注框进行预测,分别获得所述小目标预测分支对所述小标注框类的标注框的预测输出、所述中等目标预测分支对所述中等标注框类的标注框的预测输出,所述大目标预测分支对所述大标注框类的标注框的预测输出。
9.优选的,所述将所述训练集中的不同尺寸大小的标注框拆分为3类:小标注框类、中等标注框类、大标注框类,包括:采用聚类算法根据所述训练集中的不同尺寸大小的标注框聚类得到3个聚类中心框;根据所述3个聚类中心框,确定将所述训练集中的不同尺寸大小的标注框拆分为3类的边界线;根据所述确定的边界线,将所述训练集中的不同尺寸大小的标注框拆分为3类:小标注框类、中等标注框类、大标注框类。
10.本技术第二方面提供一种分级目标检测装置,所述装置包括:第一输入模块,用于向分级yolov5网络模型输入训练集,其中,所述分级yolov5网络模型在yolov5网络模型的基础上去除3个预测分支的信息交互功能,所述分级yolov5网络模型的3个预测分支直接输出检测结果;预测输出模块,用于通过分级yolov5网络模型的3个预测分支分别对所述第一输入模块输入的训练集中的不同尺寸大小的标注框进行预测,分别获得所述分级yolov5网络模型3个预测分支各自的预测输出;损失计算模块,用于根据所述预测输出模块获得的分级yolov5网络模型3个预测分支各自的预测输出,分别计算所述分级yolov5网络模型3个预测分支各自的损失函数值;训练完成模块,用于如果所述损失计算模块获得的分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成所述分级yolov5网络模型的训练;第二输入模块,用于向所述训练完成模块确定的完成训练的分级yolov5网络模型输入包含目标的图像,以使所述完成训练的分级yolov5网络模型进行目标检测。
11.优选的,所述装置还包括:训练模块,用于根据分级yolov5网络模型3个预测分支各自的在一次迭代的一个周期的学习次数,分别完成所述分级yolov5网络模型3个预测分支在一次迭代的训练。
12.优选的,所述装置还包括:学习次数计算模块,用于根据所述损失计算模块获得的分级yolov5网络模型3个预测分支各自的损失函数值,分别确定所述3个预测分支各自的在所述一次迭代的一个周
期的学习次数。
13.本技术第三方面提供一种电子设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
14.本技术第四方面提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
15.本技术提供的技术方案可以包括以下有益效果:本技术的技术方案,分级yolov5网络模型的3个预测分支的结构独立、特征独立、输出独立、损失函数值独立,且3个预测分支各分支独立训练,通过分级yolov5网络模型的3个预测分支分别对大中小不同尺寸的目标进行检测,分级yolov5网络模型的3个预测分支能够直接输出检测结果,避免3个预测分支预测的相互干扰,能够对大中小不同尺寸的目标都达到最优检测效果。
16.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
17.通过结合附图对本技术示例性实施方式进行更详细地描述,本技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本技术示例性实施方式中,相同的参考标号通常代表相同部件。
18.图1是本技术实施例示出的分级目标检测方法的流程示意图;图2是本技术实施例示出的分级目标检测方法的分级yolov5网络模型的结构示意图;图3是本技术实施例示出的分级目标检测方法的另一流程示意图;图4是本技术实施例示出的分级目标检测装置的结构示意图;图5是本技术实施例示出的分级目标检测装置的另一结构示意图;图6是本技术实施例示出的电子设备的结构示意图。
具体实施方式
19.下面将参照附图更详细地描述本技术的实施方式。虽然附图中显示了本技术的实施方式,然而应该理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
20.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
21.应当理解,尽管在本技术可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,
在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
22.相关技术yolov5网络模型对大中小目标的检测,向yolov5网络模型输入含有大目标a、中等目标b和小目标c的图像,输入图像经过yolov5网络模型的卷积神经网络后得到不同层次的语义特征f1、f2和f3。
23.f1为浅层特征,和原图尺度相比8倍下采样,该层次特征每个像素包含的信息量为原图中虚线框101大小范围的总和,f1浅层特征对小目标c的信息表达最为全面,但对大中目标a、b则信息表达不足。
24.f2为中层特征,和原图尺度相比16倍下采样,该层次特征每个像素包含信息量为原图中虚线框102大小范围的总和,f2层特征对中等目标b的信息表达最为全面,但对大目标a则信息表达不足,对小目标c信息过表达,包含很多除目标c以外的背景信息。
25.f3为深层特征,和原图尺度相比32倍下采样,该层次特征每个像素包含信息量为原图中虚线框103大小范围的总和,f3层特征对大目标a的信息表达最为全面,但对目标b、c信息过表达,包含很多除目标以外的背景信息。
26.yolov5网络模型为了提高对大中小不同尺寸目标的目标检测能力,将f1、f2和f3不同尺度的信息融合,综合回归不同尺寸目标的检测结果,对总体检测结果进行loss反向传播,优化模型。
27.对于大目标a,f1和f2增加信息冗余;对于中等目标b,f1增加信息冗余,f3特征的加入会引入很多背景的干扰信息;对于小目标c,f2和f3引入背景干扰。因此,相关技术yolov5网络模型对大中小目标检测,无法对大中小不同尺寸的目标都达到最优检测效果。
28.针对上述问题,本技术实施例提供一种分级目标检测方法,能够对大中小不同尺寸的目标都达到最优检测效果。
29.以下结合附图详细描述本技术实施例的技术方案。
30.实施例一:图1是本技术实施例示出的分级目标检测方法的流程示意图;图2是本技术实施例示出的分级目标检测方法的分级yolov5网络模型的结构示意图。
31.参见图1,一种分级目标检测方法,包括:在步骤s101中,向分级yolov5网络模型输入训练集,其中,分级yolov5网络模型在yolov5网络模型的基础上去除3个预测分支的信息交互功能,分级yolov5网络模型的3个预测分支直接输出检测结果。
32.在一种实施方式中,如图2所示,分级yolov5网络模型包括主干网络20、3个预测分支:小目标预测分支201、中等目标预测分支202、大目标预测分支203。分级yolov5网络模型在yolov5网络模型基础上去除3个预测分支的信息交互功能,分级yolov5网络模型的3个预测分支的结构独立、特征独立、输出独立、损失函数值独立,且3个预测分支各分支独立训练,3个预测分支的输出信息不进行相互交互,可以直接输出检测结果。
33.在步骤s102中,通过分级yolov5网络模型的3个预测分支分别对训练集中的不同尺寸大小的标注框进行预测,分别获得分级yolov5网络模型3个预测分支各自的预测输出。
34.在一种实施方式中,可以根据训练集中标注框的尺寸,将不同尺寸大小的标注框通过标注框的分界线拆分为3类:小标注框类、中等标注框类、大标注框类。通过分级yolov5网络模型的小目标预测分支对小标注框类的标注框进行预测输出,获得小目标预测分支预测输出的预测框;通过中等目标预测分支对中等标注框类的标注框进行预测输出,获得中等目标预测分支预测输出的预测框;通过大目标预测分支对大标注框类的标注框进行预测输出,获得大目标预测分支预测输出的预测框。
35.在步骤s103中,根据分级yolov5网络模型3个预测分支各自的预测输出,分别计算分级yolov5网络模型3个预测分支各自的损失函数值。
36.在一种实施方式中,根据分级yolov5网络模型的小目标预测分支预测输出的预测框、拆分后的小标注框类的标注框,计算小目标预测分支的损失函数值;根据分级yolov5网络模型的中等目标预测分支预测输出的预测框、拆分后的中等标注框类的标注框,计算中等目标预测分支的损失函数值;根据分级yolov5网络模型的大目标预测分支预测输出的预测框、拆分后的大标注框类的标注框,计算大目标预测分支的损失函数值。
37.在步骤s104中,如果分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成分级yolov5网络模型的训练。
38.在一种实施方式中,如果分级yolov5网络模型3个预测分支的损失函数值即小目标预测分支的损失函数值、中等目标预测分支的损失函数值和大目标预测分支的损失函数值三个损失函数值的其中最大值小于设定损失阈值时,可以确定完成分级yolov5网络模型的训练;和/或,如果对分级yolov5网络模型的循环迭代训练次数达到设定迭代次数,也可以确定完成分级yolov5网络模型的训练。
39.在步骤s105中,向完成训练的分级yolov5网络模型输入包含目标的图像,以使完成训练的分级yolov5网络模型进行目标检测。
40.本技术实施例示出的分级目标检测方法,分级yolov5网络模型的3个预测分支的结构独立、特征独立、输出独立、损失函数值独立,且3个预测分支各分支独立训练,通过分级yolov5网络模型的3个预测分支分别对大中小不同尺寸的目标进行检测,分级yolov5网络模型的3个预测分支能够直接输出检测结果,避免3个预测分支预测的相互干扰,能够对大中小不同尺寸的目标都达到最优检测效果。
41.实施例二:图3是本技术实施例示出的分级目标检测方法的另一流程示意图。图3相对于图1更详细描述了本技术的方案。
42.在步骤s301中,获取包括采用不同尺寸大小的标注框对多张图像不同尺寸大小的目标进行正确标注的训练集。
43.在一种实施方式中,图像中包含不同尺寸大小的目标,可以采用不同尺寸大小的标注框对多张图像不同尺寸大小的目标进行正确标注,获得包括多张正确标注图像的训练集。采用不同尺寸大小的标注框对多张图像不同尺寸大小的目标进行正确标注时,可以对多张图像的目标进行分类和标注。
44.在步骤s302中,向分级yolov5网络模型输入训练集,其中,分级yolov5网络模型在yolov5网络模型的基础上去除3个预测分支的信息交互功能,分级yolov5网络模型的3个预
测分支直接输出检测结果。
45.该步骤可以参见步骤s101的描述,此处不再赘述。
46.在步骤s303中,采用聚类算法根据训练集中的不同尺寸大小的标注框聚类得到3个聚类中心框。
47.在一种实施方式中,可以采用k

means聚类算法,根据训练集不同尺寸大小的标注框,聚类得到3个聚类中心框:小目标聚类中心框boxess、中等目标聚类中心框boxesm、大目标聚类中心框boxesl。
48.在步骤s304中,根据3个聚类中心框,确定将训练集中的不同尺寸大小的标注框拆分为3类的边界线。
49.在一种实施方式中,将训练集中的不同尺寸大小的标注框拆分为3类的边界线包括第一边界线split
sm
、第二边界线split
ml
。可以根据小目标聚类中心框boxess、中等目标聚类中心框boxesm、大目标聚类中心框boxesl的高和宽,分别确定第一边界线split
sm
、第二边界线split
ml

50.第一边界线split
sm = mean(max(boxess.w,boxess.h),min(boxesm.w,boxesm.h));第二边界线split
ml = mean(max(boxesm.w,boxesm.h),min(boxesl.w, boxesl.h))。
51.式中,boxess.w是小目标聚类中心框的宽,boxess.h是小目标聚类中心框的高,boxesm.w是中等目标聚类中心框的宽,boxesm.h是中等目标聚类中心框的高,max(boxess.w,boxess.h)是取boxess.w、boxess.h两者的最大值,min(boxesm.w,boxesm.h)是取boxesm.w、boxesm.h两者的最小值,boxesl.w是大目标聚类中心框的宽,boxesl.h是大目标聚类中心框的高,max(boxesm.w,boxesm.h)是取boxesm.w、boxesm.h两者的最大值,min(boxesl.w, boxesl.h)是取boxesl.w、boxesl.h两者的最小值,mean是指取两者的平均值。
52.在步骤s305中,根据确定的边界线,将训练集中的不同尺寸大小的标注框拆分为3类:小标注框类、中等标注框类、大标注框类。
53.在一种实施方式中,对训练集中每张图像(样本)的每个标注框,根据第一边界线split
sm
和第二边界线split
ml
,将训练集中每张图像的不同尺寸大小的标注框,拆分为三类小标注框类targets类、中等标注框类targetm类和大标注框类targetl类。假设图像中目标的标注框的最窄边为x,如果x≤split
sm
,则与x对应的标注框属于targets类;如果split
sm
<x<split
ml
,则与x对应的标注框属于targetm类;如果x≥split
ml
,则与x对应的标注框属于targetl类。
54.在步骤s306中,根据拆分为3类的标注框,分别采用聚类算法生成分级yolov5网络模型3个预测分支各自的锚框。
55.在一种实施方式中,根据属于targets类的标注框,采用k

means聚类算法,生成小目标预测分支branchs的锚框anchors,小目标预测分支branchs的锚框anchors包括3个锚框;根据属于targetm类的标注框,采用k

means聚类算法,生成中等目标预测分支branchm的锚框anchors,中等目标预测分支branchm的锚框anchors包括3个锚框;根据属于targetl类的标注框,采用k

means聚类算法,生成大目标预测分支branchl的锚框anchors,大目标预测分支branchl的锚框anchors包括3个锚框。
56.branchs anchors = [boxess1.w,boxess1.h,boxess2.w,boxess2.h,boxess3.w,boxess3.h];branchm anchors = [boxesm1.w,boxesm1.h,boxesm2.w,boxesm2.h,boxesm3.w,boxesm3.h];branchl anchors = [boxesl1.w,boxesl1.h,boxesl2.w,boxesl2.h, boxesl3.w,boxesl3.h]。
[0057]
在一种实施方式中,锚框的生成步骤包括:s3061:给定k个聚类中心点(wj,hj),j取1,2,...,k,其中(wj,hj)是原有锚框的宽和高。
[0058]
s3062:计算每个标注框到每个聚类中心点的距离d,根据距离最近的原则,将标注框分配给“距离d”最近的聚类中心对应的簇中。
[0059]
s3063:所有标注框分配完毕以后,根据每个簇中所有标注框的宽和高的平均值,重新计算每个簇的聚类中心点。
[0060]
s3064:重复s3062和s3063这两个步骤,直到聚类中心点的位置变化小于设定阈值,生成锚框。
[0061]
在一种具体实施方式中,k的取值为3。
[0062]
在步骤s307中,通过分级yolov5网络模型的3个预测分支,分别对3类标注框进行预测,分别获得分级yolov5网络模型3个预测分支各自的预测输出。
[0063]
在一种实施方式中,可以通过分级yolov5网络模型的小目标预测分支、中等目标预测分支、大目标预测分支分别对小标注框类的标注框、中等标注框类的标注框、大标注框类的标注框进行预测,分别获得小目标预测分支对小标注框类的标注框的预测输出、中等目标预测分支对中等标注框类的标注框的预测输出,大目标预测分支对大标注框类的标注框的预测输出。
[0064]
在一种具体实施方式中,小目标预测分支branchs根据其锚框anchors,对属于targets类的标注框进行预测输出,获得小目标预测分支预测输出的预测框detects;中等目标预测分支branchm根据其锚框anchors,对属于targetm类的标注框进行预测输出,获得中等目标预测分支预测输出的预测框detectm;大目标预测分支branchl根据其锚框anchors,对属于targetl类的标注框进行预测输出,获得大目标预测分支预测输出的预测框detectl。
[0065]
在一种具体实施方式中,分级yolov5模型的主干网络对训练集中属于targets类的标注框采用8倍下采样获得小目标特征,对属于targetm类的标注框采用16倍下采样获得中等目标特征,对属于targetl类的标注框采用32倍下采样获得大目标特征。小目标预测分支branchs根据其三个锚框anchor对属于targets类标注框的小目标特征进行预测输出,预测输出小目标的预测框detects;中等目标预测分支branchm根据其三个锚框anchor对属于targetm类标注框的中等目标特征进行预测输出,预测输出中等目标的预测框detectm;大目标预测分支branchl根据其三个锚框anchor对属于targetl类标注框的大目标特征进行预测输出,预测输出大目标的预测框detectl。
[0066]
在步骤308中,根据分级yolov5网络模型3个预测分支各自的预测输出,分别计算分级yolov5网络模型3个预测分支各自的损失函数值。
[0067]
在一种实施方式中,损失函数loss包括采用diou_loss(distance_iou_loss)的位置损失函数、采用focal loss的分类损失函数。diou_loss在iou和giou的基础上,考虑边界框中心点距离的信息,收敛速度更快。focal loss降低容易分类的样本对损失函数的影响,注重较难分类的样本的训练。根据分级yolov5网络模型3个预测分支各自预测前的targets类的标注框、targetm类的标注框和targetl类的标注框,预测后的预测输出detects、detectm和detectl,以及损失函数,分别独立计算分级yolov5网络模型3个预测分支各自的损失函数值loss。小目标预测分支的损失函数值losss=f(targets,detects);中等目标预测分支的损失函数值lossm=f(targetm,detectm);大目标预测分支的损失函数值lossl=f(targetl,detectl)。
[0068]
在步骤s309中,根据分级yolov5网络模型3个预测分支各自的损失函数值,分别确定3个预测分支各自的在一次迭代的一个周期的学习次数。
[0069]
在一种实施方式中,在使用同一个训练集对分级yolov5网络模型3个独立的预测分支进行独立训练时,3个独立的预测分支的损失函数值大小不一。预测分支的损失函数值越大,采用训练集相同样本对该独立预测分支的训练难度越大,训练学习的次数越大,即在使用同一个训练集对分级yolov5网络模型3个独立预测分支进行训练时,3个独立预测分支在一次迭代的一个epoch的学习次数应当是不同的。在一次迭代的一个epoch中,可以根据输入分级yolov5网络模型的训练集,3个独立预测分支的损失函数值,分别计算3个独立预测分支在一次迭代的一个epoch的学习次数。
[0070]
小目标预测分支的学习次数trains:trains=round(softmax(losss,lossm,lossl)[0]*10,0)=round(*10,0);中等目标预测分支的学习次数trainm:trainm=round(softmax(losss,lossm,lossl)[1]*10,0)=round(*10,0);大目标预测分支的学习次数trainl:trainl=round(softmax(losss,lossm,lossl)[2]*10,0)=round(*10,0)。
[0071]
需要说明的是,在round(x,0)中,如果x小于1,则令round(x,0)=1。例如,trainl=round(softmax(losss,lossm,lossl)[2]*10,0)=round(0.02*10,0)=round(0.2,0)=1。
[0072]
在一种实施方式中,epoch可以理解为“周期”,一次迭代的一个周期(epoch)就是把整个训练集使用一遍。例如,训练集一共有1000个样本,每个样本依次用来训练分级yolov5网络模型,当这1000个样本都被用过一遍之后,就说完成了一次迭代的一个周期的分级yolov5网络模型训练学习。可以根据分级yolov5网络模型小目标预测分支的损失函数值、中等目标预测分支的损失函数值、大目标预测分支的损失函数值,分别计算分级yolov5
网络模型小目标预测分支、中等目标预测分支、大目标预测分支在一次迭代的一个epoch的学习次数。
[0073]
在步骤s310中,根据分级yolov5网络模型3个预测分支各自的在一次迭代的一个周期的学习次数,分别完成分级yolov5网络模型3个预测分支在一次迭代的训练。
[0074]
在一种实施方式中,分级yolov5网络模型一次迭代的epoch可以是一个或多个,一次迭代的每个epoch的学习次数可以相同,也可以不同。由于分级yolov5网络模型3个预测分支的结构独立、特征独立、损失函数值独立、训练次数独立,在一次迭代的每个epoch,3个预测分支分开独立训练学习,3个预测分支可以根据各自在一次迭代的一个epoch的学习次数,独立反向传播各自的损失函数值,分别更新3个预测分支各自的参数,完成3个预测分支各自的在一次迭代的每个epoch的学习次数,完成一次迭代的每个epoch,完成一次迭代的训练。
[0075]
在步骤s311中,判断分级yolov5网络模型3个预测分支的损失函数值的最大值是否小于设定损失阈值或循环迭代训练的次数是否达到设定迭代次数;如果是,执行步骤s312;如果否,执行步骤s303。
[0076]
在一种实施方式中,可以对分级yolov5网络模型3个预测分支的损失函数值的最大值和/或循环迭代训练的次数进行判断,如果分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,执行步骤s312;如果分级yolov5网络模型3个预测分支的损失函数值的最大值大于或等于设定损失阈值或循环迭代训练的次数没有达到设定迭代次数,执行步骤s303,继续对分级yolov5网络模型进行迭代训练,直至分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数。
[0077]
在步骤s312中,确定完成分级yolov5网络模型的训练。
[0078]
在一种实施方式中,如果分级yolov5网络模型3个预测分支的损失函数值即小目标预测分支的损失函数值、中等目标预测分支的损失函数值和大目标预测分支的损失函数值三个损失函数值的其中最大值小于设定损失阈值时,可以确定完成分级yolov5网络模型的训练;和/或,如果对分级yolov5网络模型的循环迭代训练次数达到设定迭代次数,也可以确定完成分级yolov5网络模型的训练。
[0079]
可以理解的,在分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和循环迭代训练的次数达到设定迭代次数两个条件中的任一个条件满足时,确定完成分级yolov5网络模型的训练;也可以在分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和循环迭代训练的次数达到设定迭代次数两个条件都满足时,确定完成分级yolov5网络模型的训练。
[0080]
在步骤s313中,向完成训练的分级yolov5网络模型输入包含目标的图像,以使完成训练的分级yolov5网络模型进行目标检测。
[0081]
本技术实施例示出的分级目标检测方法,分级yolov5网络模型的3个预测分支的结构独立、特征独立、输出独立、损失函数值独立,且3个预测分支各分支独立训练,通过分级yolov5网络模型的3个预测分支分别对大中小不同尺寸的目标进行检测,分级yolov5网络模型的3个预测分支能够直接输出检测结果,避免3个预测分支预测的相互干扰,能够对大中小不同尺寸的目标都达到最优检测效果。
[0082]
进一步地,本技术实施例示出的分级目标检测方法,采用聚类算法根据训练集中的不同尺寸大小的标注框聚类得到3个聚类中心框;根据3个聚类中心框,确定将训练集中的不同尺寸大小的标注框拆分为3类的边界线;根据确定的边界线,将训练集中的不同尺寸大小的标注框拆分为3类:小标注框类、中等标注框类、大标注框类,使得分级yolov5网络模型3个预测分支能够获取各自的最优锚框,能最大包含所在尺寸的标注框,分级yolov5网络模型3个预测分支能够相应地、准确地对3类标注框进行预测输出,更利于分级yolov5网络模型的训练学习,提高分级yolov5网络模型的训练效率。
[0083]
实施例三:与前述应用功能实现方法实施例相对应,本技术还提供了一种分级目标检测装置、电子设备及相应的实施例。
[0084]
图4是本技术实施例示出的分级目标检测装置的结构示意图。
[0085]
参见图4,一种分级目标检测装置,包括第一输入模块401、预测输出模块402、损失计算模块403、训练完成模块404、第二输入模块405。
[0086]
第一输入模块401,用于向分级yolov5网络模型输入训练集,其中,分级yolov5网络模型在yolov5网络模型的基础上去除3个预测分支的信息交互功能,分级yolov5网络模型的3个预测分支直接输出检测结果。
[0087]
预测输出模块402,用于通过分级yolov5网络模型的3个预测分支分别对第一输入模块401输入的训练集中的不同尺寸大小的标注框进行预测,分别获得分级yolov5网络模型3个预测分支各自的预测输出。
[0088]
损失计算模块403,用于根据预测输出模块402获得的分级yolov5网络模型3个预测分支各自的预测输出,分别计算分级yolov5网络模型3个预测分支各自的损失函数值。
[0089]
训练完成模块404,用于如果损失计算模块403获得的分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成分级yolov5网络模型的训练。
[0090]
第二输入模块405,用于向训练完成模块404确定的完成训练的分级yolov5网络模型输入包含目标的图像,以使完成训练的分级yolov5网络模型进行目标检测。
[0091]
本技术实施例示出的技术方案,分级yolov5网络模型的3个预测分支的结构独立、特征独立、输出独立、损失函数值独立,且3个预测分支各分支独立训练,通过分级yolov5网络模型的3个预测分支分别对大中小不同尺寸的目标进行检测,分级yolov5网络模型的3个预测分支能够直接输出检测结果,避免3个预测分支预测的相互干扰,能够对大中小不同尺寸的目标都达到最优检测效果。
[0092]
实施例四:图5是本技术实施例示出的分级目标检测装置的另一结构示意图。
[0093]
参见图5,一种分级目标检测装置,包括第一输入模块401、预测输出模块402、损失计算模块403、训练完成模块404、第二输入模块405、学习次数计算模块501、训练模块502。
[0094]
第一输入模块401,用于获取包括采用不同尺寸大小的标注框对多张图像不同尺寸大小的目标进行正确标注的训练集;向分级yolov5网络模型输入训练集,其中,分级yolov5网络模型在yolov5网络模型的基础上去除3个预测分支的信息交互功能,分级yolov5网络模型的3个预测分支直接输出检测结果。
[0095]
预测输出模块402,用于采用聚类算法根据第一输入模块401输入的训练集中的不同尺寸大小的标注框聚类得到3个聚类中心框;根据3个聚类中心框,确定将训练集中的不同尺寸大小的标注框拆分为3类的边界线;根据确定的边界线,将训练集中的不同尺寸大小的标注框拆分为3类:小标注框类、中等标注框类、大标注框类;根据拆分为3类的标注框,分别采用聚类算法生成分级yolov5网络模型3个预测分支各自的锚框;通过分级yolov5网络模型的3个预测分支,分别对3类标注框进行预测,分别获得分级yolov5网络模型3个预测分支各自的预测输出。
[0096]
损失计算模块403,用于根据预测输出模块402获得的分级yolov5网络模型3个预测分支各自的预测输出,分别计算分级yolov5网络模型3个预测分支各自的损失函数值。
[0097]
学习次数计算模块501,用于根据损失计算模块403获得的分级yolov5网络模型3个预测分支各自的损失函数值,分别确定3个预测分支各自的在一次迭代的一个周期的学习次数。
[0098]
训练模块502,用于根据学习次数计算模块501确定的分级yolov5网络模型3个预测分支各自的在一次迭代的一个周期的学习次数,分别完成分级yolov5网络模型3个预测分支在一次迭代的训练。
[0099]
训练完成模块404,用于判断损失计算模块403获得的分级yolov5网络模型3个预测分支的损失函数值的最大值是否小于设定损失阈值或循环迭代训练的次数是否达到设定迭代次数;如果损失计算模块403获得的分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成分级yolov5网络模型的训练;如果分级yolov5网络模型3个预测分支的损失函数值的最大值大于或等于设定损失阈值或循环迭代训练的次数没有达到设定迭代次数,执行预测输出模块402、损失计算模块403、学习次数计算模块501、训练模块502、训练完成模块404,继续对分级yolov5网络模型进行迭代训练,直至训练完成模块404判断分级yolov5网络模型3个预测分支的损失函数值的最大值小于设定损失阈值和/或循环迭代训练的次数达到设定迭代次数,确定完成分级yolov5网络模型的训练。
[0100]
第二输入模块405,用于向训练完成模块404确定的完成训练的分级yolov5网络模型输入包含目标的图像,以使完成训练的分级yolov5网络模型进行目标检测。
[0101]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
[0102]
图6是本技术实施例示出的电子设备的结构示意图。
[0103]
参见图6,电子设备60包括存储器601和处理器602。
[0104]
处理器602可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0105]
存储器601可以包括各种类型的存储单元,例如系统内存、只读存储器(rom)和永久存储装置。其中,rom可以存储处理器602或者计算机的其他模块需要的静态数据或者指
令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器601可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器601可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd

rom,双层dvd

rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro

sd卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
[0106]
存储器601上存储有可执行代码,当可执行代码被处理器602处理时,可以使处理器602执行上文述及的方法中的部分或全部。
[0107]
此外,根据本技术的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本技术的上述方法中部分或全部步骤的计算机程序代码指令。
[0108]
或者,本技术还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本技术的上述方法的各个步骤的部分或全部。
[0109]
以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献