姿态检测方法、神经网络模型的训练方法、装置及设备与流程

文档序号:26751973发布日期:2021-09-25 02:46阅读:87来源:国知局
姿态检测方法、神经网络模型的训练方法、装置及设备与流程

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.第三方面,本公开实施例提供了一种姿态检测装置,包括:第一获取单元,用于获取包含目标主播的肢体部位的视频图像帧;姿态检测单元,用于通过姿态检测模型对所述视频图像帧中的所述目标主播进行姿态检测,得到姿态检测结果,其中,所述姿态检测模型为利用目标样本图像及对应的训练标签进行监督训练得到,所述目标样本图像包含待检测的肢体部位样本,所述训练标签基于所述肢体部位样本的肢体特征点的监督类型及所述肢体特征点对应的初始训练标签进行调整得到;生成单元,用于在得到所述目标主播的姿态检测结果之后,根据所述姿态检测结果生成所述目标主播所对应的虚拟主播的姿态触发信号;控制单元,用于根据所述姿态触发信号控制所述虚拟主播执行相应的触发动作。
28.第四方面,本公开实施例提供了一种神经网络模型的训练装置,包括:第一获取单元,用于获取初始训练样本;所述初始训练样本中包含样本图像和该样本图像中所包含的目标对象的肢体部位的肢体特征点的初始训练标签;修正处理单元,用于基于待训练网络模型的检测任务在所述肢体部位中确定待检测部位;并对所述样本图像进行处理,得到包含所述待检测部位的目标样本图像;确定单元,用于确定所述肢体特征点的监督类型,并基于所述监督类型修正所述初始训练标签,以根据修正之后的初始训练标签确定所述目标样
本图像的训练标签;训练单元,用于通过所述目标样本图像和所述训练标签,对所述待训练网络模型进行有监督训练。
29.第五方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
30.第六方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
31.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
32.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
33.图1示出了本公开实施例所提供的一种神经网络模型的训练方法的流程图;图2示出了本公开实施例所提供的一种神经网络模型的训练方法中,确定所述肢体特征点的监督类型,并基于所述监督类型修正所述初始训练标签的具体流程图;图3示出了本公开实施例所提供的一种姿态检测方法的流程图;图4示出了本公开实施例所提供的一种姿态检测装置的示意图;图5示出了本公开实施例所提供的一种神经网络模型的训练装置的示意图;图6示出了本公开实施例所提供的一种计算机设备的示意图;图7示出了本公开实施例所提供的另一种计算机设备的示意图。
具体实施方式
34.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
35.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
36.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至
少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
37.经研究发现,一般情况下,需要针对特定场景采集特定的图像,在采集到特定的图像之后,还需要对特定的图像进行标注,从而根据标注之后的特定图像来训练对应的神经网络。然而,针对特定场景确定特定训练样本的方式,浪费了大量的人力进行图像标注,且采用上述方式确定出的训练样本可复用性低。因此,采用上述所描述的神经网络的训练方法增大了网络训练的成本。
38.基于上述研究,本公开提供了一种神经网络模型的训练方法。在本公开实施例中,在获取到待训练网络模型后,可以通过该待训练网络模型的检测任务确定目标对象的待检测部位。之后,可以基于该待检测部位对样本图像进行处理,从而得到满足该待训练网络模型的训练要求的目标样本图像,即包含待检测部位的目标样本图像。通过确定肢体特征点的监督类型,并根据该监督类型修正初始训练标签,可以得到与该待训练网络模型的训练过程相匹配的训练标签,从而根据该相匹配的训练标签和目标样本图像对该待训练网络模型进行训练。
39.通过上述描述可知,本公开技术方案在确定出待训练网络模型之后,通过对初始训练样本中的样本图像和初始训练标签进行修正处理,得到目标样本图像和训练标签的方式,可以实现初始训练样本的复用,以使初始训练样本可以同时用于多个不同的待训练网络模型的训练过程,进而通过节省数据标注成本的方式降低神经网络的训练成本。在训练得到姿态检测模型之后,姿态检测模型对视频图像帧中的目标主播进行姿态检测,进而根据姿态检测结果控制虚拟主播执行相应触发动作的方式,可以实现自动的通过目标主播的姿态检测结果在视频直播界面上触发展示虚拟主播的相应部位执行相应触发操作。同时,通过确定待检测的肢体部位的姿态检测结果对虚拟主播进行触发,还可以实现自动的通过目标主播的姿态检测结果在视频直播界面上触发展示虚拟主播的相应部位执行相应触发操作,进而实现触发虚拟主播执行与主播的肢体产生动作关联的动作,从而提高实际互动效果。
40.为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络模型的训练方法进行详细介绍,本公开实施例所提供的神经网络模型的训练方法的执行主体一般为具有一定计算能力的计算机设备。在一些可能的实现方式中,该神经网络模型的训练方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
41.参见图1所示,为本公开实施例提供的一种神经网络模型的训练方法的流程图,所述方法包括步骤s101~s107,其中:s101:获取初始训练样本;所述初始训练样本中包含样本图像和该样本图像中所包含的目标对象的肢体部位的肢体特征点的初始训练标签。
42.目标对象可以为真实人体、虚拟人体、以及其他能够进行肢体检测的对象。目标对象的肢体部位可以为该目标对象的全身肢体部位,或者,部分肢体部位(例如,上半身肢体部位)。
43.在本公开实施例中,可以设置样本图像中所包含的目标对象的肢体部位能够满足大部分肢体检测任务。假设,目标对象为真实人体,那么肢体部位可以为该目标对象的完整上半身肢体部位(例如,头部,双臂,上肢躯干,手部),还可以为该目标对象的完整全身肢体
部位(例如,头部,双臂,上肢躯干,手部,腿部和脚部)。
44.这里,肢体特征点的初始训练标签可以理解为:肢体特征点在样本图像中的位置信息和/或肢体类别信息(例如,该肢体关键点属于手部关键点),以及该肢体特征点在每个训练任务中的监督学习状态(例如,需要进行监督学习的特征点,或者,不需要进行监督学习的特征点)。
45.在本公开实施例中,初始训练样本的数量可以为多组。这里,可以基于目标对象的对象类型,和/或,目标对象的肢体部位确定多组初始训练样本。每个初始训练样本包含对应的样本标签,该样本标签可以用于指示对应目标对象的对象类型和/或目标对象的肢体部位。
46.例如,目标对象可以为人,除此之外,还可以为除了人之外其他能够进行肢体识别的对象,例如,仿真虚拟机器人。
47.具体实施时,可以基于“人”设置至少一组初始训练样本,例如,基于“人”的全身肢体部位设置一组初始训练样本,还可以基于“人”的上半身肢体部位设置一组初始训练样本。
48.在本公开实施方式中,通过设置多组初始训练样本,可以丰富训练样本的样本内容,从而使得该初始训练样本能够满足更加丰富的训练场景。
49.s103:基于待训练网络模型的检测任务在所述肢体部位中确定待检测部位;并对所述样本图像进行处理,得到包含所述待检测部位的目标样本图像。
50.这里,待训练网络模型的检测任务可以用于指示该待训练网络模型所需要进行检测的肢体部位(即,上述待检测部位)。之后,就可以根据该待检测部位对初始训练样本中的样本图像进行处理。例如,可以对该样本图像进行截取处理,得到包含待检测部位的目标样本图像。
51.在初始训练样本的数量为多组的情况下,在对样本图像进行处理之前,可以执行以下步骤:基于检测任务确定目标对象的对象类型,并基于每组初始训练样本的样本标签,在多组初始训练样本中确定与目标对象的对象类型相匹配的初始训练样本。在确定出相匹配的初始训练样本的数量为多组的情况下,还可以基于检测任务确定目标对象的待检测部位,进而,在相匹配的多组初始训练样本中确定包含该待检测部位的初始训练样本,并对确定出的包含待检测部位的初始训练样本中的样本图像进行处理。
52.通过上述处理方式,可以从多组初始训练样本中确定出与待训练网络模型相匹配的初始训练样本,在根据该相匹配的初始训练样本进行网络模型的训练时,可以提高目标样本图像和训练标签的确定效率,并提高目标样本图像和训练标签准确率,从而能够得到训练精度较高的网络模型。
53.步骤s103中,对样本图像进行处理可以理解为:对样本图像进行遮挡处理,和/或,对样本图像进行裁剪处理。其中,遮挡处理可以理解为遮挡样本图像中除待检测部位之外的其他部位;裁剪处理可以理解为对样本图像中的待检测部位进行裁剪。
54.s105:确定所述肢体特征点的监督类型,并基于所述监督类型修正所述初始训练标签,以根据修正之后的初始训练标签确定所述目标样本图像的训练标签。
55.这里,可以基于待训练网络模型的检测任务和/或待检测部位确定每个肢体特征
点的监督类型。监督类型用于指示在对待训练网络模型进行训练的过程中,是否需要对肢体特征点进行监督学习。
56.若该肢体特征点不属于待检测部位,那么该肢体特征点的监督类型可以确定为非监督类特征点。若该肢体特征点属于待检测部位,那么该肢体特征点的监督类型可以确定为监督类特征点。
57.在确定出监督类型之后,就可以确定出在待训练网络模型的训练过程中,需要进行监督学习的肢体特征点。在基于监督类型修正初始训练标签之后,就可以得到用于对待训练网络模型进行训练的目标样本图像的训练标签。
58.s107:通过所述目标训练样本和训练标签对所述待训练网络模型进行有监督训练。
59.在一个可选的实施方式中,在通过目标训练样本和训练标签,对待训练网络模型进行有监督训练之后,还可以基于目标训练样本和训练标签构建一组新的初始训练样本,此时,还可以为该新的初始训练样本添加样本标签,例如,该样本标签可以用于指示该新的初始训练样本所对应目标对象的对象类型,和/或,该新的初始训练样本中所包含的目标对象的肢体部位的部位信息。
60.通过创建新的初始训练样本,可以对初始训练样本进行扩充,从而使得该初始训练样本能够满足更加丰富的训练需求,同时,能够提高初始训练样本和对应训练任务的匹配度,从而进一步加快神经网络的训练速度。
61.在本公开实施例中,通过对初始训练样本中的样本图像和初始训练标签进行修正处理,得到目标样本图像和训练标签的方式,可以实现初始训练样本的复用,以使初始训练样本可以同时用于多个不同的检测任务,进而通过节省数据标注成本的方式降低神经网络的训练成本。
62.针对上述步骤s101,在一个可选的实施方式中,可以通过以下所描述的方式获取初始训练样本,具体包括如下过程:首先,创建样本库,在该样本库中包含多个样本数据集,且每个样本数据集包含对应的样本标签,该样本标签用于指示每个样本数据集所对应的检测任务。
63.这里,样本库中的每个样本数据集即为上述过程中所描述的每组初始训练样本。这里,样本标签通过指示每个样本数据集所对应的检测任务,来确定每个样本数据集所对应目标对象的对象类型,和/或,该样本数据集中所包含的目标对象的肢体部位的部位信息。
64.之后,可以根据待训练网络模型的检测任务,从样本库中查找相对应的样本数据集作为初始训练样本。
65.例如,在该样本库中可以包含用于进行肢体检测的样本数据集a。为了提高样本数据集的复用程度,可以设置样本数据集a中的样本图像包含目标对象的全部肢体部位(上述检测部位),以及设置样本数据集a中包含该全部肢体部位的肢体关键点(也即,上述特征点)。
66.在从样本库中查找到初始训练样本之后,就可以根据待训练网络模型对应的检测任务,对选择出的初始训练样本中的样本图像进行处理,得到目标样本图像。之后,可以确定针对当前时刻待训练网络模型,选择出的初始训练样本中每个肢体特征点的监督类型,
并基于该监督类型对肢体特征点的初始训练标签进行修正,从而得到目标训练样本的训练标签。
67.在一个可选的实施方式中,上述初始训练样本中的样本图像为对原始图像执行目标操作之后确定的图像,其中,原始图像为在场景复杂度不满足预设复杂要求的场景下采集到的包含目标对象的至少一个肢体部位的图像,所述目标操作包括以下至少之一:背景替换操作、调整图像亮度的操作、调整图像曝光度的操作、添加反光图层的操作。
68.在本公开实施例中,可以获取待训练网络模型的应用场景,进而,基于该应用场景确定与之相匹配的目标操作的操作类型;之后,基于该操作类型对原始图像执行相应的目标操作,得到样本图像。
69.通过基于应用场景确定与之相匹配的目标操作的操作类型的方式,可以使得初始训练样本中的样本图像能够更加接近待训练网络模型的真实应用场景,从而可以提高待训练网络模型的处理精度。
70.具体实施时,为了提高样本图像中所包含每个肢体部位的完整度,以及提高样本图像的清晰度,可以设置在简单背景(即,场景复杂度不满足预设复杂要求的场景)下采集原始图像,例如,可以在绿幕背景下采集包含目标对象的至少一个检测部位的原始图像。例如,可以采集至少一张包含目标人体的全部肢体部位的原始图像。
71.这里,简单场景可以理解为绿幕背景,或者,不包含或者包含数量减少的其他物体的任意一种背景下的场景。简单来说,上述简单场景可以理解为不会对目标对象的任意肢体部位进行遮挡,且能够对目标对象的各个肢体部位进行准确识别的场景。
72.在采集到原始图像之后,可以确定原始图像中的背景图像,并确定多个预设背景图像,从而通过多个预设背景图像对每张原始图像中的背景图像进行替换,得到初始训练样本中的样本图像。
73.在对原始图像中的背景图像进行替换时,可以确定多个预设背景图像,其中,每个预设背景图像可以为包含多种元素的复杂背景图像。然后,按照多个预设背景图像对原始图像中的背景图像进行替换,得到初始训练样本中的样本图像。
74.假设,原始图像的数量为1万,多个预设背景图像的数量为10个,那么通过10个预设背景图像对每个原始图像进行背景替换,可以得到10万个样本图像。如果多个预设背景图像的数量为100个,那么可以得到100万个样本图像。因此,通过上述处理方式还可以通过较低的成本,在较短的时间内获得海量训练样本,以提升模型鲁棒性。
75.这里,多个预设背景图像包含多种类型,其中,预设背景图像的类型与待训练网络模型的应用场景相关联。
76.为了提高待训练网络模型的处理精度,可以根据该网络模型的应用场景,确定与该应用场景相匹配的多个预设背景图像。
77.考虑到不同应用场景下,图像中所包含的背景元素可能是不相同的,因此,为了提高待训练网络模型的训练精度,可以根据待训练网络模型的应用场景,选择与该应用场景相匹配的预设背景图像进行原始图像的背景替换。
78.假设,待训练网络模型的应用场景为直播场景,考虑到直播场景的特殊性,可以在预设背景图像中选择与该直播场景相匹配的背景图像进行背景替换。这里,与直播场景相匹配的背景图像可以理解为模拟现实中的直播场景所构建的包含多种直播元素的复杂背
景图像。
79.举例来说,待训练网络模型的应用场景为直播场景,该待训练网络模型的检测任务为对主播(目标对象)的半身肢体动作进行捕捉。
80.在直播场景中,复杂的背景会影响对主播半身肢体动作的捕捉,因为主播的肢体部位被画面边缘截断时,背景图像中一些跟主播的衣服颜色、肤色相近,或者肢体形状相似的物体会影响对主播肢体动作的捕捉。因此,在真实直播场景中,直播背景往往是复杂多变的,这时捕捉画面将会极度不稳定,从而将严重影响网络模型的处理精度。此时,可以获取包含多种直播元素的复杂背景图像,并基于该复杂背景图像替原始图像的背景图像,从而得到样本图像。
81.在本公开实施例中,通过对原始图像进行背景替换,可以实现通过较低的成本,在较短的时间内获得海量训练样本,以提升模型鲁棒性。上述实施方式中,通过与待训练网络模型的应用场景相匹配的背景图像与原始图像进行背景替换,可以使得初始训练样本中的样本图像能够更加接近待训练网络模型的真实应用场景,从而可以提高待训练网络模型的处理精度。
82.在本公开实施例中,除了可以按照上述所描述的方式对原始图像执行背景替换操作之外,还可以对原始图像执行以下至少一种目标操作(也即图像增强操作):调整图像亮度的操作、调整图像曝光度的操作、添加反光图层的操作。
83.具体实施时,可以根据待训练网络模型的应用场景,确定与之相匹配的图像增强操作。通过该处理方式,可以使得初始训练样本中的样本图像能够更加接近待训练网络模型的真实应用场景,从而可以提高待训练网络模型的处理精度。
84.举例来说,在直播场景下,除了复杂的背景之外,光照也是影响肢体检测性能的一个重要影响因素。例如,光线强弱,玻璃反光等也会影响到网络模型的检测性能。因此,在真实直播场景中,背景往往是复杂多变的,如背景中有与主播肤色相近的毛绒玩具、反光的玻璃墙面、昏暗或曝光的拍摄环境,这时捕捉到的画面将会极度不稳定。
85.基于此,在本公开实施例中,可以首先采集至少一张包含目标对象的至少一个肢体部位的原始图像。例如,可以采集至少一张包含目标人体的全部肢体部位的原始图像。
86.之后,对采集到的原始图像进行以下至少之一图像增强操作:调整图像亮度的操作、调整图像曝光度的操作、添加反光图层的操作;处理之后就可以得到样本图像。
87.上述实施方式中,通过对原始图像进行调整图像亮度、调整图像曝光度以及添加反光图层中的至少一种图像增强处理,可以提高样本图像的背景复杂度;通过基于待训练网络模型的应用场景确定与之相匹配的图像增强操作,可以使得样本图像能够更加贴近真实的应用场景,以提高待训练网络模型的处理精度。
88.在一个可选的实施方式中,针对上述步骤s103,对所述样本图像进行处理,得到包含所述待检测部位的目标样本图像,具体包括如下过程:步骤s1031,对所述样本图像中的目标检测部位进行图像遮挡处理,得到所述目标样本图像;其中,所述目标检测部位为所述肢体部位中除所述待检测部位之外的其他部位。
89.和/或步骤s1032,对所述样本图像中位于目标区域内的图像进行图像裁剪处理,裁剪得到包含所述待检测部位的目标样本图像;所述目标区域为所述样本图像中包含所述待检测
部位的图像区域。
90.在本公开实施例中,首先确定待训练网络模型的检测任务,其中,该检测任务用于指示该待训练网络模型所需要进行检测的待检测部位的部位信息。
91.这里,部位信息可以为每个待检测部位的部位名称、部位编码、部位数量等信息,以及每个待检测部位的完整度需求。其中,完整度需求可以包含以下至少之一:要求完整、要求不完整、在要求不完整的情况下肢体不完整的程度。
92.例如,检测任务为对目标人体的上半身肢体进行检测,此时,待检测部位包含以下部位:上身躯干、手臂、头部和手部。
93.在确定出待检测部位的部位信息之后,可以根据该部位信息对样本图像进行图像遮挡处理和/或图像裁剪处理。
94.具体实施时,可以通过指定颜色的图像(例如,黑色图像)对目标检测部位进行图像遮挡处理,得到目标样本图像;和/或,对样本图像中位于目标区域内的图像进行图像裁剪处理,裁剪得到包含所述待检测部位的目标样本图像。
95.应理解的是,针对初始训练样本来说,要求该初始训练样本能够满足相同类型的检测任务的多种任务需求。其中,相同类型的检测任务可以理解为:检测任务均为肢体检测;不同检测任务的多种任务需求可以理解为:对不同的类型的肢体部位进行肢体检测。
96.假设,检测任务为肢体检测任务,那么该初始训练样本中应当包含目标人体的全部肢体部位,从而使得该初始训练样本能够满足相同类型的检测任务的多种任务需求。
97.上述实施方式中,通过对样本图像进行图像遮挡处理和/或图像裁剪处理,可以在不重新采集样本图像的基础上,得到与检测任务相匹配的样本图像,从而实现样本图像的复用,以降低神经网络的训练时间和训练成本。
98.在一个可选的实施方式中,如图2所示,针对上述步骤s105,确定所述肢体特征点的监督类型,并基于所述监督类型修正所述初始训练标签,具体包括如下过程:步骤s1051,确定所述肢体特征点的特征信息,其中,所述特征信息用于指示对应肢体特征点和所述目标样本图像之间的位置关系,和/或,用于指示对应肢体特征点是否为待检测部位的特征点;步骤s1052,基于所述特征信息,确定所述肢体特征点的监督类型;步骤s1053,在基于所述监督类型确定所述肢体特征点的初始训练标签满足修正条件的情况下,基于所述监督类型修正所述初始训练标签。
99.在本公开实施例中,在按照上述内容所描述的方式对样本图像进行图像遮挡处理和/或图像裁剪处理,得到目标样本图像之后,其实是从样本图像中删除了该检测任务所不需要进行检测的肢体部位,也即,不需要进行监督学习的肢体部位。此时,还需要对该检测任务所不需要进行监督学习的肢体部位的肢体特征点的初始训练标签进行修正。
100.在对初始训练标签进行修正时,可以确定肢体特征点的特征信息,进而根据该特征信息确定该肢体特征点是否为需要进行监督学习的肢体特征点。
101.在本公开实施例中,按照肢体特征点的特征信息,可以将肢体特征点的监督类型确定为以下几种类型:类型一:肢体特征点为监督类特征点,且该肢体特征点位于目标样本图像内。
102.类型二:肢体特征点为监督类特征点,且该肢体特征点位于目标样本图像外。
103.针对该类型二,可以理解为该肢体特征点并未包含在目标样本图像内,但是,需要进行监督学习的肢体特征点。
104.例如,待检测部位为人体的上半身(头部、上身躯干、两个手臂和两个手部)。由于在对样本图像进行图像遮挡处理和/或图像裁剪处理时,手部的部分部位可能被遮挡和/或裁剪。但是,被遮挡和/或被裁剪的手部部位依然为需要进行检测的肢体部位。此时,被遮挡和/或被裁剪的手部部位所对应的肢体特征点的类型即为上述类型二。
105.类型三:肢体特征点为非监督类特征点,且该肢体特征点位于目标样本图像外。
106.在基于上述特征信息确定出每个肢体特征点的监督类型之后,就可以基于监督类型确定肢体特征点的初始训练标签是否满足修正条件。
107.具体实施时,如果判断出肢体特征点的监督类型为上述类型二或者类型三,则确定肢体特征点的初始训练标签满足修正条件。此时,就可以监督类型修正该肢体特征点的初始训练标签。如果判断出肢体特征点的监督类型为类型一,则确定肢体特征点的初始训练标签不满足修正条件。
108.在本公开实施例中,在确定出肢体特征点的初始训练标签满足修正条件的情况下,对初始训练标签进行修正的目的是为了对初始训练样本中的初始训练标签进行处理,从而得到能够对待训练网络模型进行训练的训练标签。
109.上述实施方式中,通过确定肢体特征点的监督类型,并基于该监督类型对肢体特征点的初始训练标签进行修正的方式,可以保留需要进行监督的肢体特征点的初始训练标签,同时还可以提高初始训练样本中初始训练标签的利用率。
110.在现有的神经网络的训练过程中,在进行数据标注时,只能标注画面中可见的肢体特征点的位置信息。然而,在本公开技术方案中,通过监督类型对肢体特征点的初始训练标签进行修正的方式,不仅可以监督学习位于目标样本图像内的肢体特征点,还可以监督学习位于目标样本图像之外且需要进行监督学习的肢体特征点。在基于修正之后的初始训练标签(即,训练标签)和目标样本图像对待训练网络模型进行训练时,就可以实现通过该网络模型对未包含在图像中的部分肢体部位的肢体特征点进行预测。
111.在一些姿态识别的场景中,由于待识别目标的部分肢体可能未包含在待识别图像中,此时,通过现有训练方式训练得到的网络模型对该待识别图像中待识别目标进行姿态识别时,可能会出现由于无法识别到完整的肢体特征点,从而导致姿态识别失败的问题。然后,在采用本公开技术方案中确定出的修正之后的初始训练标签和目标样本图像,对待训练网络模型进行训练时,可以对未包含在图像中的部分肢体部位的肢体特征点进行预测,从而实现待检测目标的姿态识别。因此,通过本公开技术方案进行训练之后的网络模型的鲁棒性更强,且识别过程更加稳定。
112.基于肢体特征点的类型信息,可以确定未包含在处理之后的样本图像中的肢体特征点是否为需要进行检测的特征点。在根据该类型信息对肢体特征点的初始训练标签进行修正时,可以提高初始训练标签的准确性,从而,进而提高了待训练网络模型的训练精度。
113.下面,将具体介绍对肢体特征点的初始训练标签进行修正的修成过程。
114.在一个可选的实施方式中,上述步骤s1053,在基于所述监督类型确定所述肢体特征点的初始训练标签满足修正条件的情况下,基于所述监督类型修正所述初始训练标签,包括如下过程:
在确定出肢体特征点的监督类型为上述类型二的情况下,将所述肢体特征点的初始训练标签修正为第二初始训练标签。
115.具体实施时,在根据所述初始训练标签确定出所述肢体特征点位于所述目标样本图像之外,且属于待检测部位的特征点的情况下,将所述肢体特征点的初始训练标签修正为第二初始训练标签;所述第二初始训练标签用于表征该肢体特征点为位于所述目标样本图像之外的监督类特征点。
116.在本公开实施例中,上述待训练网络模型的一个应用场景可以为对不包含完整检测部位的图像进行检测,从而得到完整检测部位的特征点。
117.例如,一张图像中包含上半身肢体部位,且在该图像中包含部分手部部位,此时,该待训练网络模型可以对该上半身肢体部位进行肢体检测。具体地,可以对包含在该图像中的肢体部位进行肢体检测,还可以对未包含在该图像中且需要进行检测的肢体部位进行肢体检测,从而得到肢体特征点,其中,该肢体特征点包含未包含在该图像中的手部的特征点。
118.此时,在对该待训练网络模型进行训练时,需要构建包含不完整检测部位的样本图像,例如,包含不完整上半身肢体部位的样本图像。然而,针对该样本图像,需要设置未包含在样本图像中需要进行检测的肢体部位的肢体特征点的初始训练标签。
119.在此情况下,可以确定肢体特征点是否为待训练网络模型所需要进行处理的待检测部位的特征点。如果是,则需要将该肢体特征点的初始训练标签修改为第二初始训练标签,表征该肢体特征点为未包含目标样本图像中的监督类特征点。
120.举例来说,在获取到初始训练样本之后,可以对初始训练样本中的样本图像进行图像遮挡处理或者图像裁剪处理,得到不包含完整上半身肢体的样本图像。此时,被遮挡或者被裁剪的肢体部位未包含在该处理之后的样本图像中。然而,该被遮挡或者被裁剪的肢体部位是待训练网络模型所需要进行检测的肢体部位。因此,需要对初始训练样本中该样本图像的初始训练标签进行修正,具体修正过程为:将初始训练标签中被遮挡或者被裁剪的肢体部位所对应的肢体特征点(肢体特征点)的初始训练标签修改为第二初始训练标签,以通过该第二初始训练标签表征肢体特征点为未包含目标样本图像中的监督类特征点。
121.上述实施方式中,通过上述所描述的初始训练标签的修正方式,可以使初始训练样本可以同时用于多个不同的检测任务,进而通过节省数据标注成本的方式降低神经网络的训练成本。进一步地,在采用本公开技术方案中确定出的修正之后的初始训练标签和目标样本图像,对待训练网络模型进行训练时,可以对未包含在图像中的部分肢体部位的肢体特征点进行预测,从而实现待检测目标的姿态识别。因此,通过本公开技术方案进行训练之后的网络模型的鲁棒性更强,且识别过程更加稳定。
122.在另一个可选的实施方式中,上述步骤s1053,在基于所述监督类型确定所述肢体特征点的初始训练标签满足修正条件的情况下,基于所述监督类型修正所述初始训练标签,包括如下过程:在确定出肢体特征点的监督类型为上述类型三的情况下,将所述肢体特征点的初始训练标签修正为第一初始训练标签。
123.具体实施时,在根据所述监督类型确定出所述肢体特征点位于所述目标样本图像之外,且不是所述待检测部位的特征点情况下,将所述肢体特征点的初始训练标签修正为
第一初始训练标签;所述第一初始训练标签用于表征该肢体特征点为位于所述目标样本图像之外的非监督类特征点。
124.举例来说,待训练网络模型用于对上半身人体肢体部位进行肢体检测。初始训练样本的样本图像中包含完整人体肢体(即,上半身人体肢体部位和下半身人体肢体部位)。
125.此时,需要对样本图像进行裁剪,得到包含完整或者不完整上半身人体肢体部位的样本图像。其中,上半身人体肢体部位的肢体特征点即为上述指定特征点。
126.此时,需要将样本图像中不属于待检测部位的肢体特征点的初始训练标签进行修正,例如,修正下半身人体肢体检测部位的肢体特征点的初始训练标签。
127.这里,可以将肢体特征点的初始训练标签设置为第一初始训练标签,用于表征该肢体特征点为位于目标样本图像之外的非监督类特征点。
128.在一个可选的实施方式中,可以将该肢体特征点的位置信息修改为(0,0),其中,(0,0)表示该肢体特征点为目标样本图像左上角的点。除此之外,还可以删除该肢体特征点的位置信息,并为该肢体特征点添加相应的标识信息,以通过该标识信息指示该肢体特征点位于目标样本图像之外。
129.上述实施方式中,通过上述所描述的初始训练标签的修正方式,可以使初始训练样本可以同时用于多个不同的检测任务,进而通过节省数据标注成本的方式降低神经网络的训练成本。
130.针对上述步骤s107,在待检测部位为多个的情况下,通过所述目标样本图像和所述训练标签,对所述待训练网络模型进行训练,具体包括如下过程:步骤s1051,通过所述待训练网络模型对所述目标样本图像进行图像处理,得到所述目标样本图像中每个待检测部位的位置信息;步骤s1052,基于多个所述待检测部位中第一部位和第二部位的位置信息,以及所述训练标签,确定用于约束所述第一部位和第二部位之间的位置差异的目标损失函数的函数值,其中,所述第一部位和所述第二部位为具有关联关系的待检测部位;步骤s1053,根据所述目标损失函数的函数值调整所述待训练网络模型的模型参数,以通过调整之后的模型参数对所述待训练网络模型进行训练。
131.在本公开实施例中,在按照上述所描述的方式得到目标训练样本和训练标签之后,就可以通过待训练网络模型对目标训练样本进行图像处理,得到各个待检测部位的位置信息。
132.为了提高待训练网络模型的处理精度,还可以基于待检测部位中的第一部位和第二部位的位置信息,以及训练标签确定目标损失函数。其中,该目标损失函数用于约束第一部位和第二部位之间的位置差异。
133.具体地,可以计算第一部位的位置信息和第二部位的位置信息之间的差值,并基于该差值和训练标签构建目标损失函数。然后,计算目标损失函数的函数值满足对应约束条件时,待训练网络模型的模型参数的最优解。进而,根据该最优解对待训练网络模型进行训练。
134.这里,第一部位和第二部位可以为具有联动关系的检测部位。例如,第一部位在第二部位的带动下进行移动,或者,第二部位在第一部位的带动下进行移动。假设,第一部位为手部,那么第二部位可以为手腕部位。第一部位可以手腕部位,第二部位可以为小臂部
位。此处不再一一列举。
135.在本公开实施例中,针对不相同的第一部位和第二部位可以设置不同的约束条件。例如,可以根据第一部位和第二部位的部位类型设置对应的约束条件。
136.上述实施方式中,通过第一部位和第二部位的位置信息之间的位置差异构建目标损失函数的方式,可以减少第一部位和第二部位之间位置差异较大的现象,从而提高待训练网络模型的处理精度。
137.参见图3所示,为本公开实施例提供的一种姿态检测方法的流程图,所述方法包括步骤s301~s307,其中:s301:获取包含目标主播的肢体部位的视频图像帧;s303:通过姿态检测模型对所述视频图像帧中的所述目标主播进行姿态检测,得到姿态检测结果,其中,所述姿态检测模型为利用目标样本图像及对应的训练标签进行监督训练得到,所述目标样本图像包含待检测的肢体部位样本,所述训练标签基于所述肢体部位样本的肢体特征点的监督类型及所述肢体特征点对应的初始训练标签进行调整得到;s305:在得到所述目标主播的姿态检测结果之后,根据所述姿态检测结果生成所述目标主播所对应的虚拟主播的姿态触发信号;s307:根据所述姿态触发信号控制所述虚拟主播执行相应的触发动作。
138.在本公开实施例中,在获取到视频图像帧之后,通过姿态检测模型对目标主播进行姿态检测,进而根据姿态检测结果控制虚拟主播执行相应触发动作的方式,可以实现自动的通过目标主播的姿态检测结果在视频直播界面上触发展示虚拟主播的相应部位执行相应触发操作,进而实现触发虚拟主播执行与主播的肢体产生动作关联的动作,从而提高实际互动效果。同时,通过确定待检测的肢体部位的姿态检测结果对虚拟主播进行触发,还可以实现虚拟主播中对应触发部位的精准触发,从而满足用户的丰富触发需求。同时,在本公开技术方案中,通过基于肢体部位样本的肢体特征点的监督类型及肢体特征点对应的初始训练标签进行调整得到训练标签,可以通过对初始训练标签的复用来训练得到姿态检测模型,通过该方式可以节省数据标注成本,并加快数据标注的速度。
139.在直播场景中的情况下,复杂的背景会影响对主播半身肢体动作的捕捉,因为主播(即,上述目标对象)的肢体部位被画面边缘截断时,背景图像中一些跟主播的衣服颜色、肤色相近,或者肢体形状相似的物体会影响对主播肢体动作的捕捉。因此,在真实直播场景中,直播背景往往是复杂多变的,这时捕捉画面将会极度不稳定,从而将严重影响网络模型的处理精度。
140.在本公开实施例中,通过上述所描述的神经网络模型的训练方法,构建目标训练样本和训练标签的方式,可以得到更加接近真实的直播场景的样本图像。在根据该目标训练样本和训练标签训练得到姿态检测模型之后,可以得到处理精度较高的姿态检测模型。在根据该姿态检测模型检测目标主播的肢体部位时,可以得到更加准确的姿态检测结果。
141.在本公开实施例中,在得到目标主播的姿态检测结果之后,可以根据该姿态检测结果生成触发虚拟主播执行相应触发动作的姿态触发信号,以触发虚拟主播执行相应的触发动作。
142.由于在根据该姿态检测模型检测目标主播的肢体部位时,可以得到更加准确的检测结果,因此,在根据该姿态检测结果触发虚拟主播执行相应的触发动作时,可以实现准确
的控制虚拟主播执行相应的触发动作。
143.在一个可选的实施方式中,通过姿态检测模型对所述视频图像帧中的所述目标主播进行姿态检测,得到姿态检测结果,具体包括如下过程:(1)、在所述视频图像帧中检测目标框体,其中,所述目标框体用于框选所述视频图像帧中所述目标对象的肢体部位;(2)、通过所述姿态检测模型对所述视频图像帧中位于所述目标框体内的图像进行姿态检测,得到所述姿态检测结果。
144.在本公开实施例中,在获取到视频图像帧之后,可以在视频图像帧中检测目标框体。其中,该目标框体为用于框选目标对象的肢体部位的框体。
145.这里,若视频图像帧中包含多个对象,则需要在多个对象中确定目标对象。在一个可选的实施方式中,可以在检测到视频图像帧中包含多个对象的情况下,将多个对象中位于画面最前方的对象确定为目标对象。在另一个可选的实施方式中,可以确定每个对象的框体,然后,将确定出的多个框体中,面积最大的框体确定为目标框体,并将该目标框体所框选的对象确定为目标对象。
146.在确定出目标框体之后,就可以通过采用上述所描述的神经网络模型的训练方法训练之后得到的姿态检测模型对位于该目标框体内的图像进行姿态检测,得到姿态检测结果。
147.上述实施方式中,通过检测包含目标对象的目标框体,并对位于该目标框体内的图像进行姿态检测,可以提高姿态检测结果的准确性。
148.在一个可选的实施方式中,上述步骤:通过姿态检测模型对所述视频图像帧中的所述目标对象进行姿态检测,得到姿态检测结果,具体包括如下过程:(1)、在所述视频图像帧中未检测到所述目标对象的部分指定肢体部位的情况下,对所述视频图像帧进行处理,得到目标图像;所述目标图像中包含用于对该部分指定肢体部位进行姿态检测的区域。
149.对视频图像帧进行处理,得到目标图像的过程可以描述如下:在视频图像帧中截取包含待检测部位的子图像,基于部分指定肢体部位的肢体类型信息和/或肢体尺寸信息,对该子图像进行边缘填补,得到包含用于对该部分指定肢体部位进行肢体检测的填补区域的目标图像。
150.(2)、通过所述姿态检测模型对所述目标图像进行姿态检测,得到所述目标主播的姿态检测结果。
151.在一个可选的实施方式中,该姿态检测模型能够对包含不完整的指定肢体部位进行姿态检测。
152.因此,在检测到视频图像帧中未检测到完整的指定肢体部位的情况下,可以确定该视频图像帧中不包含部分指定肢体部位(例如,缺少部分手部)。此时,可以对视频图像帧进行边缘填补处理,得到包含该部分指定部位的检测区域(即,上述填补区域)的目标图像。
153.在一个可选的实施方式中,可以对该视频图像帧进行边缘填补处理,以在该视频图像帧的边缘增加黑色区域,从而得到目标图像。
154.在对视频图像帧进行边缘填补处理,得到目标图像之后,就可以通过该姿态检测模型对目标图像进行姿态检测,得到目标对象的姿态检测结果。
155.上述实施方式中,在视频图像帧中未检测到目标对象的部分指定肢体部位的情况下,通过对视频图像帧进行边缘填补处理,得到目标图像,以根据该目标图像进行姿态检测的方式,可以实现在视频图像帧中不包含完整的指定肢体部位的情况下,依然可以对该视频图像帧进行姿态检测,得到准确的姿态检测结果。
156.在一个可选的实施方式中,上述步骤:基于所述肢体部位样本的肢体特征点的监督类型及所述肢体特征点对应的初始训练标签进行调整得到所述训练标签,包括:(1)、确定所述肢体特征点的监督类型;(2)、基于所述监督类型修正所述初始训练标签,以根据修正之后的初始训练标签确定所述目标样本图像的训练标签。
157.这里,可以基于待训练的姿态检测模型确定每个肢体特征点的监督类型。监督类型用于指示在对待训练的姿态检测模型进行训练的过程中,是否需要对肢体特征点进行监督学习。
158.若该肢体特征点不属于待检测部位,那么该肢体特征点的监督类型可以确定为非监督类特征点。若该肢体特征点属于待检测部位,那么该肢体特征点的监督类型可以确定为监督类特征点。
159.在确定出监督类型之后,就可以确定出在待训练的姿态检测模型的训练过程中,需要进行监督学习的肢体特征点。在基于监督类型修正初始训练标签之后,就可以得到用于对待训练的姿态检测模型进行训练的目标样本图像的训练标签。
160.在一个可选的实施方式中,上述步骤:确定所述肢体特征点的监督类型,具体包括如下步骤:首先,确定所述肢体特征点的特征信息,其中,所述特征信息用于指示对应肢体特征点和所述目标样本图像之间的位置关系,和/或,用于指示对应肢体特征点是否为待检测部位的特征点;其次,基于所述特征信息,确定所述肢体特征点的监督类型;并在基于所述监督类型确定所述肢体特征点的初始训练标签满足修正条件的情况下,基于所述监督类型修正所述初始训练标签,得到所述训练标签。
161.在本公开实施例中,在对初始训练标签进行修正时,可以确定肢体特征点的特征信息,进而根据该特征信息确定该肢体特征点是否为需要进行监督学习的肢体特征点。
162.在本公开实施例中,按照肢体特征点的特征信息,可以将肢体特征点的监督类型确定为以下几种类型:类型一:肢体特征点为监督类特征点,且该肢体特征点位于目标样本图像内。
163.类型二:肢体特征点为监督类特征点,且该肢体特征点位于目标样本图像外。
164.针对该类型二,可以理解为该肢体特征点并未包含在目标样本图像内,但是,需要进行监督学习的肢体特征点。
165.类型三:肢体特征点为非监督类特征点,且该肢体特征点位于目标样本图像外。
166.在基于上述特征信息确定出每个肢体特征点的监督类型之后,就可以基于监督类型确定肢体特征点的初始训练标签是否满足修正条件。
167.具体实施时,如果判断出肢体特征点的监督类型为上述类型二或者类型三,则确定肢体特征点的初始训练标签满足修正条件。此时,就可以监督类型修正该肢体特征点的
初始训练标签。如果判断出肢体特征点的监督类型为类型一,则确定肢体特征点的初始训练标签不满足修正条件。
168.在本公开实施例中,在确定出肢体特征点的初始训练标签满足修正条件的情况下,对初始训练标签进行修正的目的是为了对初始训练样本中的初始训练标签进行处理,从而得到能够对待训练的姿态检测模型进行训练的训练标签。
169.上述实施方式中,通过确定肢体特征点的监督类型,并基于该监督类型对肢体特征点的初始训练标签进行修正的方式,可以保留需要进行监督的肢体特征点的初始训练标签,同时还可以提高初始训练样本中初始训练标签的利用率。
170.本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的ar效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。
171.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
172.基于同一发明构思,本公开实施例中还提供了与姿态检测方法对应的姿态检测装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述神经网络模型的训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
173.参照图4所示,为本公开实施例提供的一种姿态检测装置的示意图,所述装置包括:第一获取单元41、姿态检测单元42、生成单元43、控制单元44;其中:第一获取单元41,用于获取包含目标主播的肢体部位的视频图像帧;姿态检测单元42,用于通过姿态检测模型对所述视频图像帧中的所述目标主播进行姿态检测,得到姿态检测结果,其中,所述姿态检测模型为利用目标样本图像及对应的训练标签进行监督训练得到,所述目标样本图像包含待检测的肢体部位样本,所述训练标签基于所述肢体部位样本的肢体特征点的监督类型及所述肢体特征点对应的初始训练标签进行调整得到;生成单元43,用于在得到所述目标主播的姿态检测结果之后,根据所述姿态检测结果生成所述目标主播所对应的虚拟主播的姿态触发信号;控制单元44,用于根据所述姿态触发信号控制所述虚拟主播执行相应的触发动作。
174.一种可能的实施方式中,姿态检测单元42,还用于:在所述视频图像帧中检测目标框体,其中,所述目标框体用于框选所述视频图像帧中所述目标主播的肢体部位;通过所述姿态检测模型对所述视频图像帧中位于所述目标框体内的图像进行姿态检测,得到所述姿态检测结果。
175.一种可能的实施方式中,姿态检测单元42,还用于:在所述视频图像帧中未检测到所述目标主播的至少部分指定肢体部位的情况下,对所述视频图像帧进行处理,得到目标
图像;所述目标图像中包含用于对该至少部分指定肢体部位进行姿态检测的区域;通过所述姿态检测模型对所述目标图像进行姿态检测,得到所述目标主播的姿态检测结果。
176.一种可能的实施方式中,该装置还用于:确定所述肢体特征点的监督类型;基于所述监督类型修正所述初始训练标签,以根据修正之后的初始训练标签确定所述目标样本图像的训练标签。
177.一种可能的实施方式中,该装置还用于:确定所述肢体特征点的特征信息,其中,所述特征信息用于指示对应肢体特征点和所述目标样本图像之间的位置关系,和/或,用于指示对应肢体特征点是否为待检测部位的特征点;基于所述特征信息,确定所述肢体特征点的监督类型;并在基于所述监督类型确定所述肢体特征点的初始训练标签满足修正条件的情况下,基于所述监督类型修正所述初始训练标签,得到所述训练标签。
178.基于同一发明构思,本公开实施例中还提供了与神经网络模型的训练方法对应的神经网络模型的训练装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述神经网络模型的训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
179.参照图5所示,为本公开实施例提供的一种神经网络模型的训练装置的示意图,所述装置包括:第二获取单元51、修正处理单元52、确定单元53、训练单元54;其中,第一获取单元51,用于获取初始训练样本;所述初始训练样本中包含样本图像和该样本图像中所包含的目标对象的肢体部位的肢体特征点的初始训练标签;修正处理单元52,用于基于待训练网络模型的检测任务在所述肢体部位中确定待检测部位;并对所述样本图像进行处理,得到包含所述待检测部位的目标样本图像;确定单元53,用于确定所述肢体特征点的监督类型,并基于所述监督类型修正所述初始训练标签,以根据修正之后的初始训练标签确定所述目标样本图像的训练标签;训练单元54,用于通过所述目标样本图像和所述训练标签,对所述待训练网络模型进行有监督训练。
180.通过上述描述可知,本公开技术方案在确定出待训练网络模型之后,通过对初始训练样本中的样本图像和初始训练标签进行修正处理,得到目标样本图像和训练标签的方式,可以实现初始训练样本的复用,以使初始训练样本可以同时用于多个不同的待训练网络模型的训练过程,进而通过节省数据标注成本的方式降低神经网络的训练成本。
181.一种可能的实施方式中,在所述待检测部位为多个的情况下,训练单元,还用于:通过所述待训练网络模型对所述目标样本图像进行图像处理,得到所述目标样本图像中每个待检测部位的位置信息;基于多个所述待检测部位中第一部位和第二部位的位置信息,以及所述训练标签,确定用于约束所述第一部位和第二部位之间的位置差异的目标损失函数的函数值,其中,所述第一部位和所述第二部位为具有关联关系的待检测部位;根据所述目标损失函数的函数值调整所述待训练网络模型的模型参数,以通过调整之后的模型参数对所述待训练网络模型进行训练。
182.一种可能的实施方式中,确定单元,还用于:确定所述肢体特征点的特征信息,其中,所述特征信息用于指示对应肢体特征点和所述目标样本图像之间的位置关系,和/或,用于指示对应肢体特征点是否为待检测部位的特征点;基于所述特征信息,确定所述肢体特征点的监督类型;在基于所述监督类型确定所述肢体特征点的初始训练标签满足修正条
件的情况下,基于所述监督类型修正所述初始训练标签。
183.一种可能的实施方式中,确定单元,还用于:在根据所述监督类型确定出所述肢体特征点位于所述目标样本图像之外,且不是所述待检测部位的特征点情况下,将所述肢体特征点的初始训练标签修正为第一初始训练标签;所述第一初始训练标签用于表征该肢体特征点为位于所述目标样本图像之外的非监督类特征点。
184.一种可能的实施方式中,确定单元,还用于:在根据所述初始训练标签确定出所述肢体特征点位于所述目标样本图像之外,且属于待检测部位的特征点的情况下,将所述肢体特征点的初始训练标签修正为第二初始训练标签;所述第二初始训练标签用于表征该肢体特征点为位于所述目标样本图像之外的监督类特征点。
185.一种可能的实施方式中,所述样本图像为对原始图像执行目标操作之后确定的图像,其中,所述原始图像为在场景复杂度不满足预设复杂要求的场景下采集到的包含目标对象的至少一个肢体部位的图像,所述目标操作包括以下至少之一:背景替换操作、调整图像亮度的操作、调整图像曝光度的操作、添加反光图层的操作。
186.一种可能的实施方式中,修正处理单元,还用于:对所述样本图像中的目标检测部位进行图像遮挡处理,得到所述目标样本图像;其中,所述目标检测部位为所述肢体部位中除所述待检测部位之外的其他部位;和/或,对所述样本图像中位于目标区域内的图像进行图像裁剪处理,裁剪得到包含所述待检测部位的目标样本图像;所述目标区域为所述样本图像中包含所述待检测部位的图像区域。
187.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
188.对应于图1中的姿态检测方法,本公开实施例还提供了一种计算机设备600,如图6所示,为本公开实施例提供的计算机设备600结构示意图,包括:处理器61、存储器62、和总线63;存储器62用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当所述计算机设备600运行时,所述处理器61与所述存储器62之间通过总线63通信,使得所述处理器61执行以下指令:获取包含目标主播的肢体部位的视频图像帧;通过姿态检测模型对所述视频图像帧中的所述目标主播进行姿态检测,得到姿态检测结果,其中,所述姿态检测模型为利用目标样本图像及对应的训练标签进行监督训练得到,所述目标样本图像包含待检测的肢体部位样本,所述训练标签基于所述肢体部位样本的肢体特征点的监督类型及所述肢体特征点对应的初始训练标签进行调整得到;在得到所述目标主播的姿态检测结果之后,根据所述姿态检测结果生成所述目标主播所对应的虚拟主播的姿态触发信号;根据所述姿态触发信号控制所述虚拟主播执行相应的触发动作。
189.对应于图1中的神经网络模型的训练方法,本公开实施例还提供了一种计算机设备700,如图7所示,为本公开实施例提供的计算机设备700结构示意图,包括:处理器71、存储器72、和总线73;存储器72用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬
盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换,当所述计算机设备700运行时,所述处理器71与所述存储器72之间通过总线73通信,使得所述处理器71执行以下指令:获取初始训练样本;所述初始训练样本中包含样本图像和该样本图像中所包含的目标对象的肢体部位的肢体特征点的初始训练标签;基于待训练网络模型的检测任务在所述肢体部位中确定待检测部位;并对所述样本图像进行处理,得到包含所述待检测部位的目标样本图像;确定所述肢体特征点的监督类型,并基于所述监督类型修正所述初始训练标签,以根据修正之后的初始训练标签确定所述目标样本图像的训练标签;通过所述目标样本图像和所述训练标签,对所述待训练网络模型进行有监督训练。
190.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的神经网络模型的训练、姿态检测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
191.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的神经网络模型的训练、姿态检测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
192.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
193.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
194.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
195.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
196.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件
产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
197.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1