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

检测模型的训练方法、装置、设备及存储介质与流程

2022-11-19 08:37:48 来源:中国专利 TAG:


1.本发明涉及机器视觉技术领域和神经网络模型训练技术领域,尤其涉及一种检测模型的训练方法、装置、计算机设备及计算机可读存储介质。


背景技术:

2.在工业机器视觉的自动化检测方案中,通过采集需要进行目标检测的对象的图像,然后基于机器视觉对需要进行目标检测的对象进行目标检测,其中,目标检测可以是基于深度学习的神经网络模型。神经网络模型的训练需要准确的的正负训练样本,这里是需要对训练样本进行标签分配。而相关技术方案中,对训练样本进行标签分类的相关技术方案中,其对应的正负样本准确性不够,从而导致基于相应的标签进行训练所得到的模型检测准确度不足。


技术实现要素:

3.基于此,有必要针对上述问题,提出了一种检测模型的训练方法、装置、计算机设备及计算机可读存储介质。
4.在本发明的第一部分,提供了一种检测模型的训练方法,所述方法包括:根据检测模型,计算至少一个训练样本的分类特征和定位特征;根据对所述训练样本的真实标注的目标框对所述检测模型对应的所有锚点框进行筛选,获取筛选之后的锚点框集合;针对筛选之后的锚点框集合,基于分类特征和定位特征,分别计算对应的分类特征损失值和定位特征损失值;分别确定分类特征损失值和定位特征损失值对应的至少一个锚点框,并确定分类特征损失值和定位特征损失值对应的至少一个锚点框的交集;对所述交集中的训练样本分配正样本标签,获取正样本集合;基于所述正样本集合,计算模型训练的损失值,根据损失值对检测模型进行迭代更新,对检测模型的参数进行更新。
5.可选的,所述根据对所述训练样本的真实标注的目标框对所述检测模型对应的所有锚点框进行筛选,获取筛选之后的锚点框集合的步骤,还包括:针对所述训练样本的真实标注的目标框,根据公式对所述检测模型对应的所有锚点框进行筛选,确定筛选之后的锚点框集合,其中,
其中,表示判断第i 1个锚点框的中心是否位于第j 1个真实标注的目标框的内部;表示判断第i 1个锚点框的中心是否位于第j 1个真实标注的目标框扩展的邻域内部;&操作表示和的结果都为1的时候,结果为1,其他情况下均为0,结果为1的anchor点会加入到中。
6.可选的,所述针对筛选之后的锚点框集合,基于分类特征和定位特征,分别计算对应的分类特征损失值和定位特征损失值的步骤,还包括:针对筛选之后的锚点框集合中的每一个锚点框:基于分类特征、所述检测模型的训练所采用的损失函数、所述训练样本的真实标注的标签集合,计算分类特征损失值;基于定位特征、所述目标框对应的损失函数、所述训练样本的真实标注的目标框标签集合,计算定位特征损失值。
7.可选的,所述基于分类特征、所述检测模型的训练所采用的损失函数、所述训练样本的真实标注的标签集合,计算分类特征损失值的步骤,还包括:根据公式计算分类特征损失值,其中,为分类特征损失值,为所述检测模型的训练所采用的损失函数,为所述训练样本的真实标注的标签集合,为锚点框的分类特征;m为筛选之后的锚点框集合中的锚点框的数量;所述基于定位特征、所述目标框对应的损失函数、所述训练样本的真实标注的目标框标签集合,计算定位特征损失值的步骤,还包括:根据公式计算定位特征损失值,其中,为定位特征损失值,为所述目标框对应的损失函数,为所述训练样本的真实标注的目标框标签集合,为锚点框的定位特征;可选的,所述分别确定分类特征损失值和定位特征损失值对应的至少一个锚点
框,并确定分类特征损失值和定位特征损失值对应的至少一个锚点框的交集的步骤,还包括:对所述分类特征损失值进行排序得到分类特征损失值序列,在所述分类特征损失值序列中确定排序在前的第一预设数量个的分类特征损失值对应的第一锚点框,将确定的至少一个第一锚点框确定为与所述分类特征损失值对应的至少一个锚点框;对所述定位特征损失值进行排序得到定位特征损失值序列,在所述定位特征损失值序列中确定排序在前的第一预设数量个的定位特征损失值对应的第二锚点框,将确定的至少一个第二锚点框确定为所述定位特征损失值对应的至少一个锚点框。
8.可选的,所述分别确定分类特征损失值和定位特征损失值对应的至少一个锚点框,并确定分类特征损失值和定位特征损失值对应的至少一个锚点框的交集的步骤,还包括:确定与所述分类特征损失值对应的至少一个锚点框与所述定位特征损失值对应的至少一个锚点框的交集;将确定的交集中的训练样本作为正样本集合。
9.可选的,所述基于所述正样本集合,计算模型训练的损失值,根据损失值对检测模型进行迭代更新,对检测模型的参数进行更新的步骤,还包括:基于所述正样本集合,计算模型训练的损失值;根据所述计算得到的损失值对所述检测模型进行反向传播,对所述检测模型的参数进行更新;在所述计算得到的损失值小于预设的损失阈值的情况下,或,在基于计算得到的损失值对所述检测模型进行反向传播的迭代次数达到预设的迭代次数阈值的情况下,完成对所述检测模型的训练。
10.在本发明的第二部分,提供了一种检测模型的训练装置,所述装置包括:特征计算模块,用于根据检测模型,计算至少一个训练样本的分类特征和定位特征;第一筛选模块,用于根据对所述训练样本的真实标注的目标框对所述检测模型对应的所有锚点框进行筛选,获取筛选之后的锚点框集合;损失值计算模块,用于针对筛选之后的锚点框集合,基于分类特征和定位特征,分别计算对应的分类特征损失值和定位特征损失值;第二筛选模块,用于分别确定分类特征损失值和定位特征损失值对应的至少一个锚点框,并确定分类特征损失值和定位特征损失值对应的至少一个锚点框的交集;标签分配模型,用于对所述交集中的训练样本分配正样本标签,获取正样本集合;模型更新模块,用于基于所述正样本集合,计算模型训练的损失值,根据损失值对检测模型进行迭代更新,对检测模型的参数进行更新。
11.在本发明的第三部分,提供了一种计算机设备,所述计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序;所述处理器用于根据所述计算机程序执行如上述第一方面所述的检测模型的训练方法的步骤。
12.在本发明的第四部分,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行如上述第一方面所述的检测模型的训练方法的步骤。
13.采用本发明实施例,具有如下有益效果:采用了上述检测模型的训练方法、装置、计算机设备及计算机可读存储介质之后,
在对检测模型进行训练的过程中,根据检测模型,计算至少一个训练样本的分类特征和定位特征;根据对所述训练样本的真实标注的目标框对所述检测模型对应的所有锚点框进行筛选,获取筛选之后的锚点框集合;针对筛选之后的锚点框集合,基于分类特征和定位特征,分别计算对应的分类特征损失值和定位特征损失值;分别确定分类特征损失值和定位特征损失值对应的至少一个锚点框,并确定分类特征损失值和定位特征损失值对应的至少一个锚点框的交集;对所述交集中的训练样本分配正样本标签,获取正样本集合;基于所述正样本集合,计算模型训练的损失值,根据损失值对检测模型进行迭代更新,对检测模型的参数进行更新。也就是说,通过本实施例,可以准确的对训练样本进行标签分配,获取正负样本的集合,从而可以提高检测模型训练的准确性,提高检测模型的目标检测的准确度。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.其中:图1为一个实施例中一种检测模型的训练方法的流程示意图;图2为一个实施例中一种检测模型的训练方法的流程示意图;图3为一个实施例中一种检测模型的训练装置的结构示意图;图4为一个实施例中运行上述检测模型的训练方法的计算机设备的结构示意图。
具体实施方式
16.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
17.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
18.在本实施例中,提供了一种检测模型的训练方法,该方法的执行可以是在工业场景,例如在产品线,通过在产品线上设置摄像头来采集产品线上的产品的图像,然后基于图像识别来对相应的产品是否存在缺陷来完成对产品的缺陷检测,以将良品与次品进行区分。
19.在本实施例中,检测模型的训练方法方法的实现可以是基于与采集待检测产品的图像的摄像头连接的计算机设备,该计算机设备可以是产品线的控制设备,也可以是与产
品线连接的服务器,在本实施例中不做限定。
20.在本发明实施例中,提供了一种检测模型的训练方法,可以准确的对训练样本进行标签分配,获取正负样本的集合,从而可以提高检测模型训练的准确性,提高检测模型的目标检测的精度。
21.其中,检测模型可以是任意的神经网络模型或卷积神经网络模型,可以用于进行目标检测,例如可以是工业应用场景中对玻璃、布匹等目标进行缺陷检测的工业机器视觉检测的检测模型。在使用检测模型之前,首先需要对检测模型进行训练,以提高检测模型的目标检测的准确度。
22.在基于深度学习的目标检测方法中,标签分配是为了获取检测模型训练的正负样本,以获取足够的对检测模型进行训练的训练样本,从而方便后续对检测模型进行损失值计算和检测模型的参数更新。在相关技术方案中,标签分配均是基于iou(intersection over union)与预设的一个阈值之间的大小比较来进行样本的正负样本的标签分配。但是,在基于iou的标签分配以及模型训练方法中,对正负样本的分配置信度较低,从而导致检测模型的精度不足。
23.在一个具体的实施例中,如图1所示,给出了上述检测模型的训练方法的流程示意图,其中,该检测模型的训练方法包括如图1所示的步骤s101-s106:步骤s101:根据检测模型,计算至少一个训练样本的分类特征和定位特征。
24.在本实施例中,检测模型可以对需要进行目标检测的对象进行目标检测,以确定该对象对应的检测目标。
25.在通过检测模型对需要进行检测的对象进行目标检测时,首先需要计算需要进行目标检测的对象的特征,然后该计算得到的特征来进一步进行目标检测。
26.在检测模型的训练过程中,首先需要获取一个或多个训练样本,然后确定每一个训练样本对应的标签,然后基于训练样本和对应的标签来对检测模型进行训练。
27.在本步骤中,在检测模型的训练过程中,首先需要根据检测模型分别计算每一个训练样本的分类特征和定位特征,其中,分类特征用标识,定位特征用标识。
28.步骤s102:根据对所述训练样本的真实标注的目标框对所述检测模型对应的所有锚点框进行筛选,获取筛选之后的锚点框集合。
29.在本实施例中,针对每一个训练样本,为了对训练样本进行目标检测,需要对训练样本进行标注,确定对应的真实标注的目标框。
30.对于检测模型的训练,在模型训练的过程中,为了确定每一个样本或对象中对应的特征,需要确定其对应的一个或多个锚点框(anchor)。
31.在本步骤中,需要基于对所述训练样本的真实标注的目标框对所述检测模型对应的所有anchor对应的锚点框进行筛选,以获取筛选之后的锚点框集合。其中,n表示检测模型中设定的anchor总数,表示第n个anchor,t表示当前的所有训练样本对应的所有的标注
数据总数,表示第t个真实标注的目标框,m表示筛选后的anchor总数,表示筛选后的第m个anchor。
32.具体筛选的过程如下:针对所述训练样本的真实标注的目标框,根据公式对所述检测模型对应的所有锚点框进行筛选,确定筛选之后的锚点框集合,其中,且表示判断第i 1个锚点框的中心是否位于第j 1个真实标注的目标框的内部;表示判断第i 1个锚点框的中心是否位于第j 1个真实标注的目标框扩展的邻域内部;&操作表示和的结果都为1的时候,结果为1,其他情况下均为0,结果为1的anchor点会加入到中。
33.步骤s103:针对筛选之后的锚点框集合,基于分类特征和定位特征,分别计算对应的分类特征损失值和定位特征损失值。
34.针对筛选之后的锚点框集合中的每一个锚点框,分别计算每一个锚点框的分类特征和定位特征对应的分类特征损失值和定位特征损失值。
35.具体的,对于筛选之后的锚点框集合,基于分类特征、所述检测模型的训练所采用的损失函数、所述训练样本的真实标注的标签集合,计算分类特征损失值。其中,根据公式计算分类特征损失值,其中,为所述检测模型的训练所采用的损失函数,为所述训练样本的真实标注的标签集合,为锚点
框的分类特征;m为筛选之后的锚点框集合中的锚点框的数量。
36.对于筛选之后的锚点框集合,基于定位特征、所述目标框对应的损失函数、所述训练样本的真实标注的目标框标签集合,计算定位特征损失值。其中,根据公式计算定位特征损失值,其中,为所述目标框对应的损失函数,为所述训练样本的真实标注的目标框标签集合,为锚点框的定位特征。
37.步骤s104:分别确定分类特征损失值和定位特征损失值对应的至少一个锚点框,并确定分类特征损失值和定位特征损失值对应的至少一个锚点框的交集。
38.为了确定正样本对应的锚点框,这里需要进一步的对锚点框进行筛选。
39.其中,对所述分类特征损失值进行排序得到分类特征损失值序列,在所述分类特征损失值序列中确定排序在前的第一预设数量个的分类特征损失值对应的第一锚点框,将确定的至少一个第一锚点框确定为与所述分类特征损失值对应的至少一个锚点框。其中,至少一个锚点框的计算公式为:。
40.对所述定位特征损失值进行排序得到定位特征损失值序列,在所述定位特征损失值序列中确定排序在前的第一预设数量个的定位特征损失值对应的第二锚点框,将确定的至少一个第二锚点框确定为所述定位特征损失值对应的至少一个锚点框。其中,至少一个锚点框的计算公式为:。
41.然后进一步的确定与所述分类特征损失值对应的至少一个锚点框与所述定位特征损失值对应的至少一个锚点框的交集,即:其中,交集即为训练样本中的正样本,为这些锚点框分配正样本标签,也就是说,这些锚点框对应的训练样本即为正样本集合。
42.步骤s105:对所述交集中的训练样本分配正样本标签,获取正样本集合。
43.也就是说,通过上述步骤s101-s105即可确定训练样本中的正样本,其余的样本即为负样本,从而可以完成对训练样本的正负样本标签的分配,得到多个分配有标签的训练样本,完成对训练样本的标签的自动分配。
44.步骤s106:基于所述正样本集合,计算模型训练的损失值,根据损失值对检测模型进行迭代更新,对检测模型的参数进行更新。
45.基于所述正样本集合,计算模型训练的损失值;这里,可以是分别计算每一个训练样本的损失值,也可以是计算当前批次的所有训练样本的损失值。然后可以进一步的基于该计算得到的损失值对检测模型进行反向传播,然后对检测模型的参数进行更新,以得到更新之后的检测模型。也就是说,通过上述基于训练样本的标签自动分配以及模型训练过程,可以完成对检测模型的一次训练迭代。其中,如果在计算得到的损失值小于预设的损失阈值的情况下,或,在基于计算得到的损失值对所述检测模型进行反向传播的迭代次数达到预设的迭代次数阈值的情况下,完成对所述检测模型的训练。也就是说,在检测模型训练满足上述迭代次数或损失值对应的预设条件的情况下,终止对检测模型进行的模型训练,完成了对检测模型的训练;然后即可利用该训练完成的检测模型对需要进行目标检测的对象进行检测,以得到该对象的目标检测结果,例如,缺陷检测的目标检测结果。
46.具体的,请参见图2,给出了上述检测模型的训练方法的过程示意图。
47.进一步的,请参见图3,提供了一种检测模型的训练装置,其中,如图3所示,上述检测模型的训练装置包括:特征计算模块101,用于根据检测模型,计算至少一个训练样本的分类特征和定位特征;第一筛选模块102,用于根据对所述训练样本的真实标注的目标框对所述检测模型对应的所有锚点框进行筛选,获取筛选之后的锚点框集合;损失值计算模块103,用于针对筛选之后的锚点框集合,基于分类特征和定位特征,分别计算对应的分类特征损失值和定位特征损失值;第二筛选模块104,用于分别确定分类特征损失值和定位特征损失值对应的至少一个锚点框,并确定分类特征损失值和定位特征损失值对应的至少一个锚点框的交集;标签分配模型105,用于对所述交集中的训练样本分配正样本标签,获取正样本集合;模型更新模块106,用于基于所述正样本集合,计算模型训练的损失值,根据损失值对检测模型进行迭代更新,对检测模型的参数进行更新。
48.在一个可选的实施例中第一筛选模块102还用于:针对所述训练样本的真实标注的目标框,根据公式对所述检测模型对应的所有锚点框进行筛选,确定筛选之后的锚点框集合,其中,
其中,表示判断第i 1个锚点框的中心是否位于第j 1个真实标注的目标框的内部;表示判断第i 1个锚点框的中心是否位于第j 1个真实标注的目标框扩展的邻域内部;&操作表示和的结果都为1的时候,结果为1,其他情况下均为0,结果为1的anchor点会加入到中。
49.在一个可选的实施例中,损失值计算模块103还用于:针对筛选之后的锚点框集合中的每一个锚点框:基于分类特征、所述检测模型的训练所采用的损失函数、所述训练样本的真实标注的标签集合,计算分类特征损失值;基于定位特征、所述目标框对应的损失函数、所述训练样本的真实标注的目标框标签集合,计算定位特征损失值。
50.在一个可选的实施例中,损失值计算模块103还用于:根据公式计算分类特征损失值,其中,为分类特征损失值,为所述检测模型的训练所采用的损失函数,为所述训练样本的真实标注的标签集合,为锚点框的分类特征;m为筛选之后的锚点框集合中的锚点框的数量;根据公式计算定位特征损失值,其中,为定位特征损失值,为所述目标框对应的损失函数,为所述训练样本的真实标注的目标框标签集合,为锚点框的定位特征。
51.在一个可选的实施例中,第二筛选模块104还用于:对所述分类特征损失值进行排序得到分类特征损失值序列,在所述分类特征损失值序列中确定排序在前的第一预设数量个的分类特征损失值对应的第一锚点框,将确定的至少一个第一锚点框确定为与所述分类特征损失值对应的至少一个锚点框;对所述定位特征损失值进行排序得到定位特征损失值序列,在所述定位特征损失值序列中确定排序在前的第一预设数量个的定位特征损失值对应的第二锚点框,将确定的至少一个第二锚点框确定为所述定位特征损失值对
应的至少一个锚点框。
52.在一个可选的实施例中,第二筛选模块104还用于:确定与所述分类特征损失值对应的至少一个锚点框与所述定位特征损失值对应的至少一个锚点框的交集;将确定的交集中的训练样本作为正样本集合。
53.在一个可选的实施例中,模型更新模块106还用于:基于所述正样本集合,计算模型训练的损失值;根据所述计算得到的损失值对所述检测模型进行反向传播,对所述检测模型的参数进行更新;在所述计算得到的损失值小于预设的损失阈值的情况下,或,在基于计算得到的损失值对所述检测模型进行反向传播的迭代次数达到预设的迭代次数阈值的情况下,完成对所述检测模型的训练。
54.图4示出了一个实施例中实现上述检测模型的训练方法的计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述方法。本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
55.采用了上述检测模型的训练方法、装置、计算机设备及计算机可读存储介质之后,在对检测模型进行训练的过程中,根据检测模型,计算至少一个训练样本的分类特征和定位特征;根据对所述训练样本的真实标注的目标框对所述检测模型对应的所有锚点框进行筛选,获取筛选之后的锚点框集合;针对筛选之后的锚点框集合,基于分类特征和定位特征,分别计算对应的分类特征损失值和定位特征损失值;分别确定分类特征损失值和定位特征损失值对应的至少一个锚点框,并确定分类特征损失值和定位特征损失值对应的至少一个锚点框的交集;对所述交集中的训练样本分配正样本标签,获取正样本集合;基于所述正样本集合,计算模型训练的损失值,根据损失值对检测模型进行迭代更新,对检测模型的参数进行更新。也就是说,通过本实施例,可以准确的对训练样本进行标签分配,获取正负样本的集合,从而可以提高检测模型训练的准确性,提高检测模型的目标检测的精度。
56.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
57.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例
中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
58.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献