姿态检测模型的训练方法和数字人的驱动方法、装置与流程

文档序号:32168973发布日期:2022-11-12 06:05阅读:43来源:国知局

1.本技术涉及人工智能技术领域,尤其涉及一种姿态检测模型的训练方法和数字人的驱动方法、存储介质、计算机设备。


背景技术:

2.在播放音频数据的同时,同步驱动虚拟数字人做出匹配的、合理的、有效的动作的动画展示方式,一直是学术界的研究热点,并被广泛应用于影视动画、互动游戏以及互动娱乐等场景下。虚拟数字人的内容场景呈现需要多方面的技术支持,而为了保证虚拟数字人的驱动效果,需要准确确定目标对象的姿态,而传统技术中为了准确确定姿态往往需要动作捕捉系统的辅助,现有的动作捕捉系统搭建流程繁杂且价格昂贵,佩戴设备也十分不便。因此,传统技术中的姿态检测技术存在着成本较高、不易操作的问题。


技术实现要素:

3.本技术的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中进行姿态检测时动作捕捉系统带来的成本较高、不易操作的技术缺陷。
4.第一方面,本技术提供了一种姿态检测模型的训练方法,训练方法包括:获取包含预设对象的训练图像、预设对象的第一关键点坐标以及预设对象的关键点热图;将训练图像输入初始姿势检测模型,以利用初始姿势检测模型中的坐标回归模块得到预设对象的预测关键点坐标,并利用初始姿势检测模型中的热图生成模块得到预测关键点热图;以缩小第一关键点坐标与预测关键点坐标之间的差异、关键点热图与预测关键点热图之间的差异为目标,对初始姿势检测模型进行训练,以得到姿态检测模型。
5.在其中一个实施例中,训练图像为三维图像,第一关键点坐标为三维坐标,获取包含预设对象的训练图像、预设对象的第一关键点坐标的方式包括以下方式中的至少一种:基于开源姿态训练集,得到训练图像和第一关键点坐标;基于三维引擎生成训练图像并获取第一关键点坐标;通过三维重建模型对二维姿态图像进行重建得到训练图像并获取第一关键点坐标;利用三维姿态增强算法对原始三维姿态图像进行图像增强,得到训练图像并获取第一关键点坐标。
6.第二方面,本技术提供了一种数字人的驱动方法,驱动方法包括:获取包含目标对象的检测图像;利用姿态检测模型对检测图像进行检测,以确定目标对象的姿态信息;姿态检测模型是通过上述任一实施例中的训练方法得到的;根据姿态信息改变数字人的姿态。
7.在其中一个实施例中,姿态信息包括第二关键点坐标,将检测图像输入姿态检测模型,确定目标对象的姿态信息包括:将检测图像输入姿态检测模型,并利用姿态检测模型的坐标回归模块得到第二关键点坐标。
8.在其中一个实施例中,获取包含目标对象的检测图像包括:获取视频流中的待处理帧图像;从待处理帧图像中确定对象区域,并根据对象区域从待处理帧图像中得到检测图像。
9.在其中一个实施例中,从待处理帧图像中确定对象区域包括:在待处理帧图像为视频流的第一帧的情况下,利用对象检测模型确定待处理帧图像的对象区域;在待处理帧图像为视频流的第一帧以外的帧的情况下,利用前一帧待处理帧图像对应的第二关键点坐标确定待处理帧图像的对象区域。
10.在其中一个实施例中,数字人包括多个骨骼点,第二关键点坐标与各骨骼点一一对应;根据姿态信息改变数字人的姿态包括:根据人体动力链,将骨骼点分类为父节点和子节点;根据父节点对应的第二关键点坐标控制父节点运动;在子节点对应父节点运动完成后,根据子节点对应的第二关键点坐标控制子节点运动。
11.在其中一个实施例中,根据父节点对应的第二关键点坐标控制父节点运动包括:将父节点对应的第二关键点坐标转换为骨骼旋转角度,根据骨骼旋转角度控制父节点运动;根据子节点对应的第二关键点坐标控制子节点运动包括:将子节点对应的第二关键点坐标转换为骨骼旋转角度,根据骨骼旋转角度控制子节点运动。
12.第三方面,本技术提供了一种数字人的驱动装置,驱动装置包括:检测图像获取模块,用于获取包含目标对象的检测图像;姿态确定模块,利用姿态检测模型对检测图像进行检测,以确定目标对象的姿态信息;姿态检测模型是通过上述任一实施例中的训练方法得到的;姿态改变模块,用于根据姿态信息改变数字人的姿态。
13.第四方面,本技术提供了一种计算机设备,包括:一个或多个处理器,以及存储器;存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,执行如上述任一实施例中的训练方法或任一实施例中的驱动方法的步骤。
14.从以上技术方案可以看出,本技术实施例具有以下优点:本技术提供的姿态检测模型训练方法、数字人的驱动方法、存储介质以及计算机设备,结合坐标和热图的方式对初始姿态检测模型进行训练,常规的坐标回归方式训练速度很快但空间泛化能力不强,而热图方式精度很高但训练速度较慢,本实施例结合这两种方式进行训练,同时兼顾了精确性和训练速度。并且,最终得到的姿态检测模型所需要的输入是图像,不需要依赖动作捕捉系统,只需普通的摄像头和计算机设备即可实现,便于各类用户使用。
附图说明
15.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
16.图1为本技术一个实施例提供的姿态检测模型的训练方法的流程示意图;图2为本技术一个实施例提供的数字人的驱动方法的流程示意图;图3为本技术另一个实施例提供的数字人的驱动方法的流程示意图;图4为本技术又一个实施例提供的数字人的驱动方法的流程示意图;图5为本技术一个实施例提供的计算机设备的内部结构图。
具体实施方式
17.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
18.第一方面,本技术提供了一种姿态检测模型的训练方法,请参阅图1,训练方法包括步骤s102至步骤s106。
19.s102,获取包含预设对象的训练图像、预设对象的第一关键点坐标以及预设对象的关键点热图。
20.可以理解,训练图像中应包含具有一定姿态的预设对象,如具有一定姿态的人体。而在计算机视觉领域,为了评估某个对象的姿态,会定义预设对象身体上某些可以决定物体姿态的节点作为关键点,以人体为例,可以选择四肢、躯干的关节点以及头部的五官等作为关键点,在各关键点之间连线构成的模型即可用来体现人体的姿态。目前不同的计算模型可能会使用不同的关键点定义方式,其中,较为常见的是将人体鼻子,左眼,右眼,左耳,右耳,左肩,右肩,左胳膊肘,右胳膊肘,左手腕,右手腕,左臀,右臀,左膝,右膝,左脚踝,右脚踝这17个节点定义为关键点。而预设对象的第一关键点坐标,即是在训练过程中,选择任意一种关键点定义方式对预设对象的进行关键点定义所得到的各关键点的坐标。第一关键点坐标在本实施例中可以为二维坐标也可以为三维坐标,本实施例中不做限定。
21.而关键点热图指的是在采用与第一关键点坐标相同的关键点定义方式得到的关键点后,计算出各关键点的热图(heatmap),热图是一个高斯分布的概率区域,越接近区域中心,则表示该位置的点是关键点的概率越高。生成关键点热图的方式可以为根据以对应关键点坐标为中心、具有预设方差的高斯/正态分布概率函数得到的,也可采用其他生成热图的方式生成关键点热图,本实施例中不做限定。
22.s104,将训练图像输入初始姿势检测模型,以利用初始姿势检测模型中的坐标回归模块得到预设对象的预测关键点坐标,并利用初始姿势检测模型中的热图生成模块得到预测关键点热图。
23.具体而言,初始姿势检测模型是本实施例中的训练对象,其内包括坐标回归模块和热图生成模块。将训练图像输入初始姿势检测模型后,坐标回归模块会预测该训练图像中预设对象各关键点的坐标,即坐标回归模块可输出预测关键点坐标。而热图生成模块会预测该训练图像中预设对象各关键点对应的热图,即热图生成模块可输出预测关键点热图s106,以缩小第一关键点坐标与预测关键点坐标之间的差异、关键点热图与预测关键点热图之间的差异为目标,对初始姿势检测模型进行训练,以得到姿态检测模型。
24.具体而言,在训练过程中,本实施例结合了热图和坐标回归两种方式对初始姿势检测模型进行训练,调整初始姿势检测模型中模型参数的方向是希望坐标回归模块输出的预测关键点坐标与第一关键点坐标之间的差异,以及热图生成模块输出的预测关键点热图与关键点热图之间的差异逐渐变小。可以通过根据上述两种差异构建第一损失函数,以缩小第一损失函数的值为目标调整初始姿态检测模块的模型参数,以实现对初始姿态检测模块。训练的过程可以是使用多个训练图像在步骤s102至步骤s106之间循环,直至满足第一结束条件才视为训练结束,得到预测效果较好的姿态检测模型。第一结束条件可以为循环
次数达到第一预设次数或者第一损失函数的值小于第一预设阈值等。训练结束后的姿态检测模型可用于进行对预设对象同类的对象进行姿态信息检测,即将包含待检测对象的图像输入姿态检测模型,姿态检测模型即可输出待检测对象的姿态信息。
25.基于本实施例中的训练方法,结合坐标和热图的方式对初始姿态检测模型进行训练,常规的坐标回归方式训练速度很快但空间泛化能力不强,而热图方式精度很高但训练速度较慢,本实施例结合这两种方式进行训练,同时兼顾了精确性和训练速度。并且,最终得到的姿态检测模型所需要的输入是图像,不需要依赖动作捕捉系统,只需普通的摄像头和计算机设备即可实现,便于各类用户使用。
26.在其中一个实施例中,训练图像为三维图像,第一关键点坐标为三维坐标。目前有许多模型进行姿态检测时是基于二维图像输出的二维坐标,使用二维坐标驱动的虚拟数字人立体感较差,而使用三维坐标驱动的虚拟数字人更能还原三维运动效果,真实感更强。但由于三维的训练图像较少,本实施例提供了多种拓展用于训练的三维图像的数量的方法,以及对应的在三维图像上获取第一关键点坐标的方式。即获取包含预设对象的训练图像、预设对象的第一关键点坐标的方式包括以下方式中的至少一种:方式1:基于开源姿态训练集,得到训练图像和第一关键点坐标。例如,mpii human pose数据集、human3.6m数据集、surreal数据集等等。这些数据集中包括许多三维的训练图像,并且已标注出图像中人体的第一关键点坐标。因此,从开源姿态训练集中可获取到训练图像和各训练图像对应的第一关键点坐标。
27.方式2:基于三维引擎生成训练图像并获取第一关键点坐标。三维引擎是封装有图形算法,可用于三维场景以及三维对象的编辑、生成、渲染等的图形工具。常见的三维引擎包括ue(unreal engine,虚幻)系列引擎、unity系列引擎等等。具体而言,可以利用三维引擎通过构造不同的场景环境,加载不同的人物、服饰、肤色,添加不同的材质,使用不同的光影和拍摄角度,最终随机渲染出不同含有人体的图像,并且在渲染时保留人体关键点的信息。以这种方式合成出训练图像并根据保留的人体关键点的信息得到第一关键点坐标。
28.方式3:通过三维重建模型对二维姿态图像进行重建得到训练图像并获取第一关键点坐标。具体而言,三维重建模型可以将二维图像重建得到三维图像,利用二维图像中人体关节的位置去预测三维图像中人体关节的位置,再根据三维图像中人体关节的位置重建出三维的训练图像。最后再从重建出的图像中采取指定部位的三维坐标,即可得到第一关键点坐标。三维重建模型可包括smpl(skinned multi-person linear)模型、openmvg(open multiple view geometry)模型等等。
29.方式4:利用三维姿态增强算法对原始三维姿态图像进行图像增强,得到训练图像并获取第一关键点坐标。精确的三维姿态标注往往需要一些复杂的仪器配合,这就导致了开源数据集大都是室内场景,而受室内和场地限制,收集到的动作姿态是有局限的,而三维姿态增强算法可以对三维图像进行数据增强,即根据输入的三维图像,合理改变三维图像中人体的姿势,输出与输入的三维图像不同的三维图像。原始三维姿态图像可以是利用上述三种方法中的一种得到的。目前较为成熟的三维姿态增强算法为poseaug算法。
30.本技术还提供了一种数字人的驱动方法,请参阅图2,驱动方法包括步骤s202至步骤s206。
31.s202,获取包含目标对象的检测图像。
32.可以理解,目标对象即为驱动虚拟数字人同步动作的对象,如在互动娱乐场景下,目标对象可以为主播,而观众可在直播中看到主播对应的虚拟数字人形象,该虚拟数字人形象随着主播的运动而运动。在互动游戏场景下,目标对象可以为玩家,玩家做出动作,在游戏中的虚拟数字人形象随着玩家的运动而运动,从而可以和游戏场景中的其他虚拟对象进行交互。另外,目标对象与训练姿态检测模型时的预设对象具有类似的身体结构,可保证姿态检测模型的姿态预测准确性。
33.s204,利用姿态检测模型对检测图像进行检测,以确定目标对象的姿态信息。姿态检测模型是通过上述任一实施例中的训练方法得到的。
34.关于姿态检测模型的相关说明可参照上文。
35.s206,根据姿态信息改变数字人的姿态。
36.在确定目标对象的姿态信息后,即确定了目标对象各个肢体的具体位置、角度等,而数字人应模仿目标对象的动作,根据姿态信息即可控制数字人的肢体执行相应的动作,以使数字人具备与目标对象匹配的姿态。
37.基于本实施例中的驱动方法,使用姿态检测模型对目标对象的姿态信息进行检测,由于姿态检测模型结合坐标和热图的方式进行训练,具备较高精确度,姿态检测模型所输出的姿态信息可以准确驱动数字人形成与目标对象匹配的姿态。并且,姿态检测模型所需要的输入是图像,不需要依赖动作捕捉系统,只需普通的摄像头和计算机设备即可实现,便于各类用户使用。
38.在其中一个实施例中,姿态信息包括第二关键点坐标,将检测图像输入姿态检测模型,确定目标对象的姿态信息包括:将检测图像输入姿态检测模型,并利用姿态检测模型的坐标回归模块得到第二关键点坐标。具体而言,第二关键点坐标指的是在姿态检测模型的使用过程中,目标对象的各关键点的坐标。一般而言,在驱动数字人运动时,利用各关键点的坐标即可实现,而不需要使用热图。但是在训练初始姿态检测模型为了保证训练效果,加入了热图生成模块,热图生成模块处理速度较慢,且将占据一定的计算资源,不利于保证驱动数字人的实时性。因此,本实施例在使用姿态检测模型的阶段,剥离热图生成模块的相关网络结构,仅使用姿态检测模型中的坐标回归模块,得到检测图像中目标对象的第二关键点坐标,并利用第二关键点坐标来驱动数字人。使用本实施例中的方式可减小计算量,从而降低对计算机设备计算能力的要求,使得在一些中低端的移动终端上也可顺利使用。
39.在其中一个实施例中,请参阅图3,驱动方法包括步骤s302至步骤s306。
40.s302,获取视频流中的待处理帧图像。
41.可以理解,在许多使用场景中,虚拟人是通过动态的视频展现的,因此用于驱动数字人的图像应该是一个视频流中的帧图像,这些帧图像需要进行图像检测,因此称为待处理帧图像。视频流可以通过任意图像采集设备获取,如专门的摄像机、台式计算机的外接摄像头、移动终端上的摄像头等。
42.s304,从待处理帧图像中确定对象区域,并根据对象区域从待处理帧图像中得到检测图像。
43.可以理解,由于各待处理视频帧中除了目标对象还可能包括许多其他对象,如目标对象所处环境中的装饰物、家具等等,这些对象将干扰姿态检测模型进行检测。因此,本实施例对各待处理帧图像进行对象检测,识别待处理帧图像中目标对象所处的对象区域,
例如目标对象为人体,则识别待处理帧图像中的人体区域。在确定出对象区域后,根据对象区域对待处理帧图像进行裁剪,裁剪后所得到的检测图像即基本由目标对象占据,干扰对象不多,可加快处理速度。
44.s306,将检测图像输入姿态检测模型,并利用姿态检测模型的坐标回归模块得到第二关键点坐标。
45.s308,根据姿态信息改变数字人的姿态。
46.关于步骤s306与步骤s308的说明可参照上文。
47.在其中一个实施例中,请参阅图4,驱动方法包括步骤s402至步骤s412。
48.s402,获取视频流中的待处理帧图像。
49.步骤s402的说明可参照上文。
50.s404,判断待处理帧图像是否为视频流的第一帧。
51.可以理解,对象检测模型指的是可以从图像中框选出对象区域的模型。由于视频流中目标对象的位置不固定,每帧都需确认对应的对象区域,但是对每个待处理帧图像均使用人体检测模型进行检测将耗时较长。而考虑到在已知目标对象的第二关键点坐标后,目标对象在待处理帧图像中的位置即基本可以确定,例如通过对第二关键点坐标做适量的放大,即可根据从放大后的各第二关键点坐标确定人体区域的顶点坐标。使用该种方式可减少使用人体检测模型。但是,当待处理帧图像为视频流的第一帧时,还没有得到过目标对象的第二关键点坐标,因此无法使用上述方式确定出人体区域,而本实施例针对该情况,当待处理帧图像为视频流的第一帧时,使用对象检测模型来获取待处理帧图像中目标对象的对象区域。而当待处理帧图像为视频流的第一帧以外的帧时,由于视频帧之间的间隔较短,目标对象的位移较小,因此可以基于上述方式,利用前一帧得到的第二关键点坐标进行对象区域的确定。该方式仅在第一帧使用了对象检测模型,其余帧都可使用处理速度较快的方式确定对象区域,大大加快了整体流程。
52.s406,在待处理帧图像为视频流的第一帧的情况下,利用对象检测模型确定待处理帧图像的对象区域。
53.s408,在待处理帧图像为视频流的第一帧以外的帧的情况下,利用前一帧待处理帧图像对应的第二关键点坐标确定待处理帧图像的对象区域。
54.s410,根据对象区域从待处理帧图像中得到检测图像。
55.s412,将检测图像输入姿态检测模型,并利用姿态检测模型的坐标回归模块得到第二关键点坐标。
56.s414,根据姿态信息改变数字人的姿态。
57.步骤s410至步骤s414的说明可参照上文。
58.在其中一个实施例中,对象检测模型可以为一个深度学习模型。以目标对象为人体为例,采集开源人体检测数据集,利用成熟的人体检测算法(如yolo系列算法)标注人体检测数据集中的图像,获得训练集。利用该训练集对初始对象检测模型进行训练,在训练结束后得到对象检测模型。如驱动方法的执行主体为移动终端,可以基于适用于移动端网络结构搭建初始对象检测模型,如mobilenetv3,还可基于适用于移动端网络结构对卷积层的通道数、卷积模块数、全连接层神经元数做进一步的精细化裁剪,使得训练完成后的对象检测模型更适用于移动终端。
59.在其中一个实施例中,对于对象检测模型和姿态检测模型,为了更好的适用于移动终端,可以将对象检测模型和姿态检测模型所使用的数据格式进行转换,使转换后的数据格式与适用于移动终端的推理框架匹配,例如tnn推理框架。
60.在其中一个实施例中,目标对象对应的虚拟数字人可以是基于三维引擎渲染得到的。例如,根据真人的具体形象,用maya,3dmax等软件将其人体结构,肤色,纹理,材质,服饰以三维网格模型的形式绘制出来。并将网格模型顶点进行区域划分,将各个区域对应的关键点定义为骨骼点,并将各区域的网格模型进行骨骼绑定,用于肢体驱动。
61.在其中一个实施例中,数字人包括多个骨骼点,每个骨骼点可带动与其绑定的网格模型一起运动,第二关键点坐标与各骨骼点一一对应。根据姿态信息改变数字人的姿态包括以下步骤:(1)根据人体动力链,将骨骼点分类为父节点和子节点。
62.可以理解,人体动力链用于反映各骨骼点之间的动力关系,即某些骨骼点可以独立运动而不影响其他骨骼点,而某些骨骼点运动将带动与其存在动力关系的骨骼点一起运动。例如,手掌运动将不会影响手臂,而手臂可以带动手掌一起运动。这里的父节点指的是可带动其他节点运动的骨骼点,而子节点指的是被父节点带动的骨骼点。由此可见,父节点和子节点之间存在对应关系。进一步地,可以将数字人躯干部分的节点定义为父节点,四肢和头部部分的节点定义为子节点。
63.(2)根据父节点对应的第二关键点坐标控制父节点运动。
64.(3)在子节点对应父节点运动完成后,根据子节点对应的第二关键点坐标控制子节点运动。
65.即本实施例中的控制思路是父节点先运动,当父节点运动完毕后才到子节点运动。如此,数字人展现出来的动态才与真实人类的更为匹配,加强了真实感。
66.在其中一个实施例中,根据父节点对应的第二关键点坐标控制父节点运动包括:将父节点对应的第二关键点坐标转换为骨骼旋转角度,根据骨骼旋转角度控制父节点运动。根据子节点对应的第二关键点坐标控制子节点运动包括:将子节点对应的第二关键点坐标转换为骨骼旋转角度,根据骨骼旋转角度控制子节点运动。许多三维引擎在控制人体网格模型运动时,常常是通过控制骨骼点旋转实现的,因此,本实施例对父节点或子节点的控制均按照这一实现方式,将第二关键点坐标转换为骨骼旋转角度,以控制骨骼点运动。
67.在其中一个实施例中,为了将该驱动方法应用于移动终端,需要根据移动终端所使用的操作系统,使用预设的计算机语言将上述任一实施例中的驱动方法进行封装。以安卓系统为例,可以使用c++编程实现并将姿势检测模型、人体检测模型封装成第一安卓sdk(software development kit,软件开发工具包)。再将用于构建数字人对应的三维网格模型的三维引擎,也封装打包为第二安卓sdk。最后,在使用时,编写安卓应用程序,调用安卓的摄像头采集功能采集视频流。利用ndk技术调用第一安卓sdk,输入视频流,输出第二关键点坐标。再调用第二安卓sdk根据第二关键点坐标进行肢体驱动并在前端ui(userinterface,用户界面)展示,达到虚拟数字人跟目标对象同步运动的效果。
68.本技术还提供了一种数字人的驱动装置,驱动装置包括检测图像获取模块、姿态确定模块以及姿态改变模块。其中,检测图像获取模块用于获取包含目标对象的检测图像。姿态确定模块用于利用姿态检测模型对检测图像进行检测,以确定目标对象的姿态信息。
姿态检测模型是通过上述任一实施例中的训练方法得到的。姿态改变模块用于根据姿态信息改变数字人的姿态。
69.在其中一个实施例中,检测图像获取模块包括帧图像提取单元和对象区域确定单元。帧图像提取单元用于获取视频流中的待处理帧图像。对象区域确定单元用于从待处理帧图像中确定对象区域,并根据对象区域从待处理帧图像中得到检测图像。
70.在其中一个实施例中,姿态信息包括第二关键点坐标。姿态确定模块用于将检测图像输入姿态检测模型,并利用姿态检测模型的坐标回归模块得到第二关键点坐标。值得一提的是,这里的姿态确定模块是驱动装置中软件或硬件模块,而坐标回归模块是姿态检测模型这一深度学习模型中的网络结构,二者虽然都名为模块,但实质上有一定区别。
71.在其中一个实施例中,对象区域确定单元用于判断待处理帧图像是否为视频流的第一帧,并在待处理帧图像为视频流的第一帧的情况下,利用对象检测模型确定待处理帧图像的对象区域。以及在待处理帧图像为视频流的第一帧以外的帧的情况下,利用前一帧待处理帧图像对应的第二关键点坐标确定待处理帧图像的对象区域。
72.在其中一个实施例中,驱动装置还包括格式转换模块。格式转换模块用于将对象检测模型和姿态检测模型所使用的数据格式进行转换,使转换后的数据格式与适用于移动终端的推理框架匹配。
73.在其中一个实施例中,驱动装置还包括数字人建立模块。数字人建立模块用于基于三维引擎渲染得到的目标对象对应的虚拟数字人网格模型,并将网格模型顶点进行区域划分,将各个区域对应的关键点定义为骨骼点,并将各区域的网格模型进行骨骼绑定,用于肢体驱动。
74.在其中一个实施例中,数字人包括多个骨骼点,每个骨骼点可带动与其绑定的网格模型一起运动,第二关键点坐标与各骨骼点一一对应。姿态改变模块包括节点分类单元和运动控制单元。节点分类单元用于根据人体动力链,将骨骼点分类为父节点和子节点。运动控制单元用于根据父节点对应的第二关键点坐标控制父节点运动以及在子节点对应父节点运动完成后,根据子节点对应的第二关键点坐标控制子节点运动。
75.关于数字人的驱动装置的具体限定可以参见上文中对于数字人的驱动方法的限定,在此不再赘述。上述数字人的驱动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
76.本技术提供了一种存储介质,其特征在于:存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一实施例中的训练方法或任一实施例中的驱动方法的步骤。
77.本技术提供了一种计算机设备,包括:一个或多个处理器,以及存储器;存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,执行如上述任一实施例中的训练方法或任一实施例中的驱动方法的步骤。
78.示意性地,如图5所示,图5为本技术实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一移动终端。参照图5,计算机设备300包括处理组件
302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的训练方法或驱动方法。
79.计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(i/o)接口305。计算机设备300可以操作基于存储在存储器301的操作系统,例如安卓、ios或类似。计算机设备300还可包括一个图像采集组件,可通过该图像采集组件采集目标对象的视频流。
80.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
81.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
82.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
83.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1