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

图像样本数据增强训练方法、装置及电子设备与流程

2022-06-08 20:26:53 来源:中国专利 TAG:


1.本公开涉及人工智能领域,尤其涉及计算机视觉、图像识别和深度学习技术领域,具体而言,本公开提供了一种图像样本数据增强训练方法、装置及电子设备。


背景技术:

2.随着人工智能技术的发展,基于深度学习的人体姿态估计技术被越来越多地应用到人体动作分类等场景,同时随着各种深度学习算法的改进和实现,对于人体关键点的估计精度也越来越高,但是在实际的人体姿态估计的过程中也会遇到一些困难样本难以解决。例如,人体截断、人体遮挡重叠等干扰场景,会大大减弱深度学习算法的性能。
3.在现有技术中,通过现有的方式获取到的困难样本数量较少,容易样本和困难样本的训练不均衡,无法提升模型解决困难样本的能力。


技术实现要素:

4.本公开提供了一种图像样本数据增强训练方法、装置及电子设备。
5.根据本公开的一方面,提供了一种图像样本数据增强训练方法,包括:获取待训练样本,其中,待训练样本由多张图像组成,多张图像至少包含目标对象的姿态信息,并采用待训练样本对预设的关键点模型进行训练,并获取训练结果对应的第一损失值,从而根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,其中,预设队列中存储有待训练样本中的至少部分训练样本,进而计算目标队列所包含的至少一个训练样本的第二损失值,并根据第二损失值从目标队列中确定至少一个候选训练样本,最后在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本。
6.可选的,上述获取待训练样本,包括:获取预设设置的随机数,并在随机数小于随机数阈值时,从训练样本库中获取待训练样本,从而在随机数大于或等于随机数阈值时,从目标队列中获取待训练样本。
7.可选的,上述采用待训练样本对预设的关键点模型进行训练,并获取训练结果对应的第一损失值,包括:对待训练样本进行编辑操作,得到编辑后的待训练样本,并采用编辑后的待训练样本对预设的关键点模型进行训练,得到训练结果,从而基于预设的损失函数计算训练结果对应的第一损失值。
8.可选的,上述根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,包括:在第一损失值大于或等于第一阈值时,存储待训练样本至预设队列中,得到目标队列。
9.可选的,图像样本数据增强训练方法还包括:在存储待训练样本至预设队列中,得到目标队列之后,确定目标队列所包含的至少一个训练样本的第四损失值,并根据第四损失值的大小对目标队列所包含的至少一个训练样本进行排序。
10.可选的,图像样本数据增强训练方法还包括:在存储待训练样本至预设队列中,得
到目标队列之后,获取目标队列的队列长度,并在队列长度达到长度阈值时,停止向目标队列中存储待训练样本。
11.可选的,上述从目标队列中获取待训练样本,包括:获取目标队列所对应的队列长度,并在队列长度小于预设长度时,从目标队列中随机获取待训练样本,从而在队列长度大于或等于预设长度时,将目标队列划分为多个样本块,并根据多个样本块的样本概率从目标队列中确定目标样本块,得到待训练样本,其中,每个样本块包含至少一个子训练样本,样本概率表征了多个样本块被选中的概率。
12.可选的,上述将目标队列划分为多个样本块,包括:获取目标队列所包含的至少一个训练样本的第五损失值,并按照第五损失值的大小,将目标队列所包含的至少一个训练样本划分为多个样本块。
13.可选的,上述根据多个样本块的样本概率从目标队列中确定目标样本块,得到待训练样本,包括:获取多个样本块所对应的样本概率,并根据样本概率从多个样本块中确定目标样本块,从而从目标队列中获取目标样本块所包含的子训练样本,得到待训练样本。
14.可选的,上述图像样本数据增强训练方法包括:在计算目标队列所包含的至少一个训练样本的第二损失值之后,在当前训练样本对应的第二损失值小于第二阈值时,记录至少一个训练样本对应的解决次数,并在解决次数大于预设次数时,从目标队列中删除当前训练样本。
15.可选的,上述图像样本数据增强训练方法包括:在确定该候选训练样本为目标训练样本之前,获取至少一个候选训练样本的关键点坐标,其中,关键点坐标用于表征目标对象的姿态信息,并根据关键点坐标计算得到第一热力图,从而基于预设的关键点模型对至少一个候选训练样本进行预测,得到第二热力图,进而根据第一热力图以及第二热力图得到第三损失值。
16.可选的,上述图像样本数据增强训练方法,包括:在根据第一热力图以及第二热力图得到第三损失值之后,在第三损失值大于或等于第三阈值时,确定该候选训练样本为目标训练样本。
17.可选的,上述图像样本数据增强训练方法,包括:在确定该候选训练样本为目标训练样本之后,基于目标训练样本对预设的关键点模型进行训练,得到目标关键点模型,并基于目标关键点模型对目标图像中的目标对象进行关键点识别,得到识别结果,从而根据识别结果确定目标对象的姿态。
18.根据本公开的另一方面,提供了一种图像样本数据增强训练装置,包括:获取模块,用于获取待训练样本,其中,待训练样本由多张图像组成,多张图像至少包含目标对象的姿态信息;训练模块,用于采用待训练样本对预设的关键点模型进行训练,并获取训练结果对应的第一损失值;更新模块,用于根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,其中,预设队列中存储有待训练样本中的至少部分训练样本;计算模块,用于计算目标队列所包含的至少一个训练样本的第二损失值,并根据第二损失值从目标队列中确定至少一个候选训练样本;确定模块,用于在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本。
19.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指
令被至少一个处理器执行,以使至少一个处理器能够执行上述的图像样本数据增强训练方法。
20.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的图像样本数据增强训练方法。
21.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述的图像样本数据增强训练方法。
22.在本公开实施例中,采用根据第一损失值对预设队列中的训练样本进行更新的方式,通过获取待训练样本,其中,待训练样本由多张图像组成,多张图像至少包含目标对象的姿态信息,并采用待训练样本对预设的关键点模型进行训练,并获取训练结果对应的第一损失值,从而根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,其中,预设队列中存储有待训练样本中的至少部分训练样本,进而计算目标队列所包含的至少一个训练样本的第二损失值,并根据第二损失值从目标队列中确定至少一个候选训练样本,最后在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本。
23.由上述内容可知,由于本公开通过计算待训练样本训练后的第一损失值,并根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,因此,当待训练样本中存在困难样本时,本公开可通过第一损失值对待训练样本中的困难样本进行筛选,并且加入到目标队列中,从而实现了从待训练样本中确定困难样本的效果。另外,本公开通过计算目标队列所包含的至少一个训练样本的第二损失值,可获取目标队列中的困难样本的训练效果,从而根据第二损失值从目标队列中确定至少一个候选训练样本,由于候选训练样本是基于第二损失值得到的,因此,可保证候选训练样本的质量。此外,由于本公开最终是通过在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本,因此,本公开实现了对训练过程中产生的困难样本动态提高训练次数,并得到目标训练样本,从而解决了现有技术中困难样本与容易样本的训练不均衡的问题,进而实现了提升目标关键点模型的泛化能力以及解决人体截断、拥挤等复杂场景的能力的效果。
24.由此可见,本公开实现了对训练过程中产生的困难样本动态提高训练次数的目的,从而实现了提升目标关键点模型的泛化能力以及解决人体截断、拥挤困难等复杂场景的能力的效果,进而解决了现有技术中困难样本与容易样本的训练不均衡的问题。
25.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
26.附图用于更好地理解本方案,不构成对本公开的限定。其中:
27.图1是根据本公开实施例的图像样本数据增强训练方法的流程图;
28.图2是根据本公开实施例的待训练样本的获取方法流程图;
29.图3是根据本公开实施例的第三损失值的确定方法流程图;
30.图4是根据本公开实施例的目标图像的示意图;
31.图5是根据本公开实施例的图像样本数据增强训练装置的结构示意图;
32.图6是根据本公开的实施例的示例电子设备的示意性框图。
具体实施方式
33.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
34.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
35.此外,还需要说明的是,本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
36.实施例1
37.根据本公开实施例,提供了一种图像样本数据增强训练方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
38.图1是根据本公开第一实施例的图像样本数据增强训练方法的流程图,如图1所示,该方法包括如下步骤:
39.步骤s102,获取待训练样本。
40.在步骤s102中,待训练样本由多张图像组成,多张图像中至少包含目标对象的姿态信息。例如,待训练样本可以是图像数据集,目标对象可以是人体,其中,姿态信息至少包括:人体的头部、鼻子、颈、左眼、左耳、右眼、右耳、左肩、左肘、左腕、右肩、右肘、右腕、胸、左髋以及右髋上半身等人体关键点,另外,目标对象还可以是其他具有姿态信息的对象,例如,猫、狗、机器人以及运动的机械设备等对象。
41.在一种可选的实施例中,电子设备可通过设置随机数,并基于随机数来从训练样本库中选择待训练样本,例如,如果随机数大于随机数阈值,则从第一存储区域中获取待训练样本;如果随机数不大于随机数阈值,则从第二存储区域中获取待训练样本。其中,第一存储区域和第二存储区域为两个不同的存储训练样本的区域。可选的,第一存储区域可以为训练样本库,第二存储区域可以为目标队列。
42.在另一种可选的实施例中,存储在存储区域中的样本具有唯一的样本标识,电子设备可对每个样本的样本标识进行归一化处理,得到每个样本所对应的样本标识数值。然后,电子设备再基于随机数从存储区域中选出样本标识数值与该随机数之间的差值最小的样本,并将该样本作为待训练样本。
43.步骤s104,采用待训练样本对预设的关键点模型进行训练,并获取训练结果对应
的第一损失值。
44.在步骤s104中,预设的关键点模型可以是一种可用于训练人体关键点的神经网络模型,例如,电子设备可通过使用公开数据集对人体关键点模型进行训练,训练结束后,得到预设的关键点模型。另外,在得到预设的关键点模型之后,电子设备可将待训练样本进行编辑操作,然后通过预设的关键点模型进行训练,并且计算第一损失值。
45.在一种可选的实施例中,在基于待训练样本对关键点模型进行训练之前,电子设备可对待训练样本进行数据增强处理,并使用增强后的待训练样本对关键点模型进行训练。例如,电子设备对待训练样本进行图像旋转、缩放、剪切等操作,以实现待训练样本的数据增强。在使用增强后的待训练样本对关键点模型进行训练之后,电子设备可计算关键点模型所对应的损失值,即可得到第一损失值。
46.需要注意到的是,通过计算第一损失值,可以判断关于待训练样本的训练效果,从而可实现从待训练样本中识别出困难样本的效果。
47.步骤s106,根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列。
48.在步骤s106中,预设队列中存储有待训练样本中的至少部分训练样本,预设队列是单独创建的一个样本队列,可用于存储第一损失值大于或等于第一阈值的待训练样本。同时,预设队列还可以记录待训练样本的图片名字、框、关键点的采样点、数据增强矩阵参数以及第一损失值的大小等信息。另外,更新操作可以是将至少一个训练样本以结构体的形式进行存储,插入至预设队列中的操作。
49.需要注意到的是,由于本公开通过计算待训练样本训练后的第一损失值,并根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,因此,当待训练样本中存在困难样本时,本公开可通过第一损失值对待训练样本中的困难样本进行筛选,并且加入到目标队列中,从而实现了从待训练样本中确定困难样本的效果。
50.步骤s108,计算目标队列所包含的至少一个训练样本的第二损失值,并根据第二损失值从目标队列中确定至少一个候选训练样本。
51.在步骤s108中,电子设备可对目标队列中包含的至少一个训练样本继续进行训练,并在训练后计算得到新的损失值,即第二损失值,并基于第二损失值,与第二阈值进行比较,根据比较结果,从目标队列中确定至少一个候选训练样本。
52.需要注意到的是,由于候选训练样本是基于第二损失值得到的,因此,可保证候选训练样本的质量,进而提升神经网络模型的训练效果。
53.步骤s110,在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本。
54.在步骤s110中,电子设备可基于热力图来计算候选训练样本所对应的损失值(即第三损失值),并在第三损失值大于或等于第三阈值时,确定该候选训练样本为目标训练样本。其中,目标训练样本可用于训练预设的关键点模型,以得到目标关键点模型。
55.需要注意到的是,在上述过程中,本公开通过对训练过程中产生的困难样本动态提高训练次数,并得到目标训练样本,从而解决了现有技术中困难样本与容易样本的训练不均衡的问题,进而实现了提升神经网络模型的泛化能力以及解决人体截断、拥挤困难等复杂场景的能力的效果。
56.基于上述步骤s102至步骤s110的内容可知,由于本公开通过计算待训练样本训练后的第一损失值,并根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,因此,当待训练样本中存在困难样本时,本公开可通过第一损失值对待训练样本中的困难样本进行筛选,并且加入到目标队列中,从而实现了从待训练样本中确定困难样本的效果。另外,本公开通过计算目标队列所包含的至少一个训练样本的第二损失值,可获取目标队列中的困难样本的训练效果,从而根据第二损失值从目标队列中确定至少一个候选训练样本,由于候选训练样本是基于第二损失值得到的,因此,可保证候选训练样本的质量。此外,由于本公开最终是通过在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本,因此,本公开实现了对训练过程中产生的困难样本动态提高训练次数,并得到目标训练样本,从而解决了现有技术中困难样本与容易样本的训练不均衡的问题,进而实现了提升神经网络模型的泛化能力以及解决人体截断、拥挤困难等复杂场景的能力的效果。
57.由此可见,本公开实现了对训练过程中产生的困难样本动态提高训练次数的目的,从而实现了提升神经网络模型的泛化能力以及解决人体截断、拥挤困难等复杂场景的能力的效果,进而解决了现有技术中困难样本与容易样本的训练不均衡的问题。
58.实施例2
59.根据本公开实施例,还提供了一种图像样本数据增强训练方法的实施例。
60.具体的,在对图像样本进行数据增强之前,电子设备需要获取待训练样本,其中,电子设备可基于随机数来获取待训练样本。具体的,电子设备可通过如图2所示的方式来获取待训练样本,由图2可知,该方法包括如下步骤:
61.步骤s202,获取预设设置的随机数;
62.步骤s204,在随机数小于随机数阈值时,从训练样本库中获取待训练样本;
63.步骤s206,在随机数大于或等于随机数阈值时,从目标队列中获取待训练样本。
64.可选的,电子设备可预先建立随机数生成机制,并通过该机制随机生成随机数。此外,电子设备还可以预先自定义随机数阈值,并基于随机数阈值来获取待训练样本。例如,随机数阈值ps设置为0.5,如果当前随机数小于0.5时,则电子设备将从训练样本库中获取待训练样本;如果当前随机数大于或等于0.5时,则电子设备从目标队列中获取待训练样本。
65.需要注意到的是,在现有技术中,通常通过对人体姿态所在的人体框进行拉伸、旋转、随机截取、信息丢失以及增加随机噪声等方法制造困难样本进行训练,但是产生的困难样本的数量很少,训练次数也很少,因此,容易样本和困难样本的训练不均衡,无法提升模型解决困难样本的能力。
66.而在本技术中,由于设置了随机数,而随机数的设置保证了困难样本与容易样本之间的样本平衡,因此,容易样本可从训练样本库中得到,困难样本可从目标队列中得到,从而解决了现有技术中的容易样本和困难样本训练不均衡的问题。
67.在一种可选的实施例中,在获取到待训练样本之后,电子设备即可基于待训练样本对关键点模型进行训练。具体的,电子设备对待训练样本进行编辑操作,得到编辑后的待训练样本,并采用编辑后的待训练样本对预设的关键点模型进行训练,得到训练结果,然后基于预设的损失函数计算训练结果对应的第一损失值。
68.可选的,编辑操作可以是对待训练样本进行平移、旋转以及缩放等操作,例如,将一张图像进行多次平移以及旋转,从而得到该张图像对应的多张图像。另外,预设的损失函数可以是常规的损失值计算方式,从而电子设备在使用编辑后的待训练样本对预设的关键点模型进行训练,得到训练结果后,计算训练结果对应的第一损失值,其中,第一损失值越大,说明预测的效果越差。
69.需要说明的是,对待训练样本进行编辑操作能够扩充待训练样本,增加了待训练样本的数量,提升了预设的关键点模型的训练效果。
70.进一步的,在得到第一损失值之后,电子设备可根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列。具体的,在第一损失值大于或等于第一阈值时,电子设备存储待训练样本至预设队列中,得到目标队列。
71.可选的,第一阈值可由操作人员在电子设备中自定义设置,当第一损失值大于或等于第一阈值时,说明对应的待训练样本可视为困难样本,即该待训练样本可能存在人体截断或者人体遮挡重叠等干扰,在这种情况下,电子设备可记录该待训练样本的图片名字、框、关键点的采样点、数据增强矩阵参数以及第一损失值的大小,并且会以结构体的形式存储至预设序列中。
72.需要说明的是,通过第一损失值,获取目标队列,从而能够从待训练样本中筛选得到困难样本。
73.更进一步的,在将待训练样本存储至预设队列,得到目标队列之后,电子设备还可对目标队列中的训练样本进行排序。具体的,电子设备确定目标队列所包含的至少一个训练样本的第四损失值,并根据第四损失值的大小对目标队列所包含的至少一个训练样本进行排序。
74.可选的,目标队列中可以包含多个训练样本,每个训练样本对应的损失值不同,其中,第四损失值可以为每个训练样本在经过预设的关键点模型预测之后的损失值。电子设备可以根据第四损失值的大小对目标队列中的训练样本进行排序,例如,按照从大到小的顺序排序,即损失值大的训练样本排在损失值小的训练样本之前。
75.需要说明是的,根据第四损失值的大小对目标队列中的训练样本进行排序,可以进一步的区分目标队列中的训练样本所对应的困难程度,第四损失值越大的训练样本,其预测效果越差,因此,可有针对性的对此类训练样本进行训练,从而动态提高了对训练过程中产生的困难样本进行训练的次数,避免了现有技术中困难样本与容易样本的训练不均衡的问题。
76.在另一种可选的实施例中,在存储待训练样本至预设队列中,得到目标队列之后,电子设备还可获取目标队列的队列长度,并在队列长度达到长度阈值时,停止向目标队列中存储待训练样本。
77.可选的,在训练刚开始时,目标队列中不存在待训练样本,随着训练启动,目标队列中的待训练样本的数量逐步增加,即预设的关键点模型所预测效果不好的待训练样本都被选择出来并存储至目标队列中,但是,为了防止目标队列无限增长,电子设备可设置长度阈值,从而当目标队列的队列长度达到长度阈值之后,电子设备将停止插入待训练样本至目标队列中的操作。
78.由上述内容可知,长度阈值的设置避免了目标队列无限增长的问题,保证了训练
过程的稳定性。
79.在一种可选的实施例中,在随机数大于或等于随机数阈值时,电子设备从目标队列中获取待训练样本,电子设备还可获取目标队列所对应的队列长度,并在队列长度小于预设长度时,从目标队列中随机获取待训练样本,从而在队列长度大于或等于预设长度时,将目标队列划分为多个样本块,并根据多个样本块的样本概率从目标队列中确定目标样本块,得到待训练样本,其中,每个样本块包含至少一个子训练样本,样本概率表征了多个样本块被选中的概率。
80.可选的,电子设备可以通过目标队列所对对应的队列长度提升目标队列中的样本的训练概率,从而提高目标队列中的困难样本的训练次数。例如,电子设备可根据具体的训练任务设置预设数目n以及预设长度2n,在此前提下,如果目标队列的队列长度小于2n,则电子设备可随机从目标队列中选取待训练样本进行训练;如果目标队列的队列长度大于或等于2n,则电子设备将目标队列所包含的至少一个训练样本按照第五损失值的大小,从大到小划分为n个样本快,其中,第五损失值为训练样本对应的损失值,每个样本块中有n个训练样本,并且每个样本块设置为固定大小的被选中概率pn,即样本概率。
81.进一步地,所有样本块对应的样本概率相加为1,具体的可由下述公式进行表示:
[0082][0083]
在上式中,pn表示第n个样本所对应的样本概率,n表示上式的预设数目。
[0084]
可选的,每一个样本概率之间还存在大小关系,具体的可由下述公式进行表示:
[0085]
p1》p2》
……
pn[0086]
其中,p1表示第1个样本所对应的样本概率,p2表示第2个样本所对应的样本概率,pn表示第n个样本所对应的样本概率。
[0087]
由上述内容可知,第一个样本块中的训练样本所对应的第五损失值的均值最大,也就是第一个样本块中的包含的训练样本是效果最差的训练样本,因此被选取加入训练的概率最大,从而提高了困难样本的训练次数。
[0088]
进一步的,在将目标队列划分为多个样本块之后,电子设备获取多个样本块所对应的样本概率,并根据样本概率从多个样本块中确定目标样本块,然后从目标队列中获取目标样本块所包含的子训练样本,得到待训练样本。
[0089]
可选的,被选中的样本块中的所有样本,其被选中的概率相同,即在同一个样本块内,可随机筛选一个子训练样本加入模型训练。该选择训练机制可保证效果越差的样本,被选中的概率越大,同时电子设备还保留之前的普通训练方式,即电子设备在每次选择样本训练的时候,当随机数大于随机数阈值时,则从目标队列中选择训练样本进行训练。
[0090]
由上述内容可知,样本概率的设置保证了预测效果越差的训练样本,被选中进行再次训练的概率越大,并且在提高困难样本训练次数的同时,电子设备仍然遵循随机数与随机数阈值的关系选取训练样本,从而保证了困难样本和容易样本之间的训练迭代次数均衡性。
[0091]
实施例3
[0092]
根据本公开实施例,还提供了一种图像样本数据增强训练方法的实施例。
[0093]
具体的,在对图像样本进行数据增强之前,电子设备首先获取待训练样本,然后采用待训练样本对预设的关键点模型进行训练,并获取训练结果对应的第一损失值,然后再根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,并计算目标队列所包含的至少一个训练样本的第二损失值,进而根据第二损失值从目标队列中确定至少一个候选训练样本,在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,即可确定该候选训练样本为目标训练样本。
[0094]
在计算目标队列所包含的至少一个训练样本的第二损失值之后,在当前训练样本对应的第二损失值小于第二阈值时,电子设备记录至少一个训练样本对应的解决次数,并在解决次数大于预设次数时,从目标队列中删除当前训练样本。
[0095]
可选的,如果当前训练样本对应的第二损失值小于第二阈值,则电子设备将记录对应的解决次数,例如,每次解决一个困难样本,则解决次数加1。电子设备还可设置固定的迭代次数,每次训练样本完成固定的迭代次数之后,电子设备都会遍历目标队列中的训练样本,当一个训练样本的解决次数大于预设次数时,则说明该训练样本作为困难样本已经被解决,即该训练样本已经可被视为非困难样本,因此,电子设备将该训练样本从目标队列中删除。
[0096]
需要注意到的是,通过记录解决次数以及设置预设次数,可及时将已解决的困难样本从目标队列中删除,从而节约了计算资源,提高了计算效率。
[0097]
进一步的,在确定了至少一个候选训练样本之后,电子设备即可在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本。而在确定该候选训练样本为目标训练样本之前,电子设备还可基于热力图确定第三损失值。如图3所示,该过程可以包括如下步骤:
[0098]
步骤s302,获取至少一个候选训练样本的关键点坐标,其中,关键点坐标用于表征目标对象的姿态信息;
[0099]
步骤s304,根据关键点坐标计算得到第一热力图;
[0100]
步骤s306,基于预设的关键点模型对至少一个候选训练样本进行预测,得到第二热力图;
[0101]
步骤s308,根据第一热力图以及第二热力图得到第三损失值。
[0102]
可选的,电子设备可根据候选样本的采样点中的关键点坐标生成第一热力图,其中,具体的计算过程可参见下述公式:
[0103][0104]
在上式中,y
xyc
表示第一热力图,x和y分别表示采样点的横坐标和纵坐标所对应的变量,表示对候选样本中的所有采样点的x坐标的均值,表示对候选样本中的所有采样点的y坐标的均值,表示对候选样本中的所有采样点所对应的方差。
[0105]
进一步地,当电子设备基于预设的关键点模型对至少一个候选训练样本进行预测时,可得到对应的第二热力图,进而电子设备可根据下述公式计算第一热力图与第二热力图之间的第三损失值。
[0106][0107]
在上式中,lc表示第三损失值,n表示候选训练样本的样本数量,表示第一热力图,cn表示第二热力图。
[0108]
需要说明的是,基于第一热力图与第二热力图所得到的第三损失值,可确定候选训练样本的困难程度,从而可有针对性的选取候选训练样本作为目标训练样本,提高了训练效率。
[0109]
另外,在第三损失值大于或等于第三阈值时,电子设备即可确定该候选训练样本为目标训练样本。
[0110]
可选的,当第三损失值大于或者等于第三阈值时,说明对应的候选训练样本为困难样本,可将其确定为目标训练样本,以训练预设的关键点模型。
[0111]
需要注意到的是,第三阈值的设置可实现对候选训练样本的进一步筛选,从而得到目标训练样本,节约了计算资源。
[0112]
在一种可选的实施例中,在确定该候选训练样本为目标训练样本之后,电子设备可基于目标训练样本对预设的关键点模型进行训练,得到目标关键点模型,并基于目标关键点模型对目标图像中的目标对象进行关键点识别,得到识别结果,从而根据识别结果确定目标对象的姿态。
[0113]
需要注意到的是,电子设备在得到目标关键点模型之后,可通过目标关键点对目标图像中的目标对象进行关键点识别,例如,在图4所示的目标图像中,目标图像中的目标对象是一个奔跑的运动员,目标关键点可对运动员的五官、左肩、左肘、左腕、右肩、右肘以及右腕等关键点进行识别,从而得到识别结果,并且基于识别结果可确定运动员为奔跑的姿态。
[0114]
通过上述过程可知,由于在目标训练样本的训练过程中,对困难样本进行了动态提高训练次数,因此,最终生成的目标关键点模型具有良好的泛化能力以及解决人体截断、人体拥挤等复杂场景的能力。
[0115]
由上述内容可知,由于本公开通过计算待训练样本训练后的第一损失值,并根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,因此,当待训练样本中存在困难样本时,本公开可通过第一损失值对待训练样本中的困难样本进行筛选,并且加入到目标队列中,从而实现了从待训练样本中确定困难样本的效果。另外,本公开通过计算目标队列所包含的至少一个训练样本的第二损失值,可获取目标队列中的困难样本的训练效果,从而根据第二损失值从目标队列中确定至少一个候选训练样本,由于候选训练样本是基于第二损失值得到的,因此,可保证候选训练样本的质量。此外,由于本公开最终是通过在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本,因此,本公开实现了对训练过程中产生的困难样本动态提高训练次数,并得到目标训练样本,从而解决了现有技术中困难样本与容易样本的训练不均衡的问题,进而实现了提升神经网络模型的泛化能力以及解决人体截断、拥挤等复杂场景的能力的效果。
[0116]
由此可见,本公开实现了对训练过程中产生的困难样本动态提高训练次数的目
的,从而实现了提升神经网络模型的泛化能力以及解决人体截断、拥挤困难等复杂场景的能力的效果,进而解决了现有技术中困难样本与容易样本的训练不均衡的问题。
[0117]
实施例4
[0118]
根据本公开的实施例,本公开还提供了一种图像样本数据增强训练装置的实施例,图5是根据本公开第二实施例的图像样本数据增强训练装置的结构示意图,如图5所示,上述图像样本数据增强训练装置,包括:获取模块501、训练模块502、更新模块503、计算模块504以及确定模块505,其中:
[0119]
获取模块501,用于获取待训练样本,其中,待训练样本由多张图像组成,多张图像至少包含目标对象的姿态信息;训练模块502,用于采用待训练样本对预设的关键点模型进行训练,并获取训练结果对应的第一损失值;更新模块503,用于根据第一损失值对预设队列所包含的至少一个训练样本进行更新,得到目标队列,其中,预设队列中存储有待训练样本中的至少部分训练样本;计算模块504,用于计算目标队列所包含的至少一个训练样本的第二损失值,并根据第二损失值从目标队列中确定至少一个候选训练样本;确定模块505,用于在任意一个或多个候选训练样本对应的第三损失值满足预设条件时,确定该候选训练样本为目标训练样本。
[0120]
可选的,上述获取模块包括:第一获取模块、第二获取模块以及第三获取模块。其中,第一获取模块,用于获取预设设置的随机数;第二获取模块,用于在随机数小于随机数阈值时,从训练样本库中获取待训练样本;第三获取模块,用于在随机数大于或等于随机数阈值时,从目标队列中获取待训练样本。
[0121]
可选的,上述训练模块包括:编辑模块、第一训练模块以及第一计算模块。其中,编辑模块,用于对待训练样本进行编辑操作,得到编辑后的待训练样本;第一训练模块,用于采用编辑后的待训练样本对预设的关键点模型进行训练,得到训练结果;第一计算模块,用于基于预设的损失函数计算训练结果对应的第一损失值。
[0122]
可选的,上述更新模块包括:存储模块,用于在第一损失值大于或等于第一阈值时,存储待训练样本至预设队列中,得到目标队列。
[0123]
可选的,图像样本数据增强训练装置还包括:第一确定模块以及排序模块。其中,第一确定模块,用于确定目标队列所包含的至少一个训练样本的第四损失值;排序模块,用于根据第四损失值的大小对目标队列所包含的至少一个训练样本进行排序。
[0124]
可选的,图像样本数据增强训练装置还包括:第四获取模块以及停止模块。其中,第四获取模块,用于获取目标队列的队列长度;停止模块,用于在队列长度达到长度阈值时,停止向目标队列中存储待训练样本。
[0125]
可选的,上述第三获取模块还包括:第五获取模块、第六获取模块以及划分模块。其中,第五获取模块,用于获取目标队列所对应的队列长度;第六获取模块,用于在队列长度小于预设长度时,从目标队列中随机获取待训练样本;划分模块,用于在队列长度大于或等于预设长度时,将目标队列划分为多个样本块,并根据多个样本块的样本概率从目标队列中确定目标样本块,得到待训练样本,其中,每个样本块包含至少一个子训练样本,样本概率表征了多个样本块被选中的概率。
[0126]
可选的,上述划分模块包括:第七获取模块以及第一划分模块。其中,第七获取模块,用于获取目标队列所包含的至少一个训练样本的第五损失值;第一划分模块,用于按照
第五损失值的大小,将目标队列所包含的至少一个训练样本划分为多个样本块。
[0127]
可选的,上述划分模块包括:第八获取模块、第二确定模块以及第九获取模块。其中,第八获取模块,用于获取多个样本块所对应的样本概率;第二确定模块,用于根据样本概率从多个样本块中确定目标样本块;第九获取模块,用于从目标队列中获取目标样本块所包含的子训练样本,得到待训练样本。
[0128]
可选的,图像样本数据增强训练装置还包括:记录模块以及删除模块。其中,记录模块,用于在当前训练样本对应的第二损失值小于第二阈值时,记录至少一个训练样本对应的解决次数;删除模块,用于在解决次数大于预设次数时,从目标队列中删除当前训练样本。
[0129]
可选的,图像样本数据增强训练装置还包括:第十获取模块、第二计算模块以及预测模块。其中,第十获取模块,用于获取至少一个候选训练样本的关键点坐标,其中,关键点坐标用于表征目标对象的姿态信息;第二计算模块,用于根据关键点坐标计算得到第一热力图;预测模块,用于基于预设的关键点模型对至少一个候选训练样本进行预测,得到第二热力图,并根据第一热力图以及第二热力图得到第三损失值。
[0130]
可选的,图像样本数据增强训练装置还包括:第三确定模块,用于在第三损失值大于或等于第三阈值时,确定该候选训练样本为目标训练样本。
[0131]
可选的,图像样本数据增强训练装置还包括:第二训练模块、识别模块以及第四确定模块。其中,第二训练模块,用于基于目标训练样本对预设的关键点模型进行训练,得到目标关键点模型;识别模块,用于基于目标关键点模型对目标图像中的目标对象进行关键点识别,得到识别结果;第四确定模块,用于根据识别结果确定目标对象的姿态。
[0132]
实施例5
[0133]
根据本公开的实施例,本公开还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的图像样本数据增强训练方法
[0134]
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0135]
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0136]
设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如
因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0137]
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如图像样本数据增强训练方法。例如,在一些实施例中,图像样本数据增强训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的图像样本数据增强训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像样本数据增强训练方法。
[0138]
实施例6
[0139]
根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的图像样本数据增强训练方法。
[0140]
实施例7
[0141]
根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述的图像样本数据增强训练方法。
[0142]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0143]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0144]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0145]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0146]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0147]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0148]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0149]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献