一种数字人驱动方法及装置、电子设备和存储介质与流程

未命名 08-15 阅读:81 评论:0


1.本技术涉及计算机与图像处理领域,尤其涉及一种数字人驱动方法及装置、电子设备和存储介质。


背景技术:

2.数字人已经成为游戏,动画和电影领域等不可或缺的工具,如何高效准确驱动数字人是被普遍关注的技术问题。
3.在相关技术中,可以通过动捕设备获取真人的全部动作信息,直接驱动虚拟空间中的数字人按照真人的动作信息运动。但是动捕设备成本和使用复杂度极高。
4.在另一些相关技术中,通过单目相机采集真人的视频数据,并在视频数据中提前人体关键点位置,获取各关键点的动作信息,以通过各关键点的动作信息实现数字人的驱动。但是这种方法只采用了单目相机,获取的视频数据视角单一,在实际应用过程中位于摄像头盲区的关键点无法被捕捉到,造成数字人驱动过程中位于摄像头盲区的关键点的动作信息与其他关键点不一致,在视觉上表现为数字人的抖动、关节旋转错位、部分位置丢失。


技术实现要素:

5.本技术实施例提供一种数字人驱动方法,能够能够解决数字人在驱动过程中的抖动明显、关节旋转错位和易丢失的问题。
6.为达到上述目的,本技术实施例采用如下技术方案:第一方面,提供一种数字人驱动方法,该方法包括:通过多个视频采集设备在真实三维空间中采集多个视角的视频数据;其中,视频数据中包括目标人物;确定目标人物的关键点的第一坐标;其中,第一坐标为关键点在视频数据中视频帧的二维坐标;根据第一坐标确定映射关系;其中,映射关系为关键点与虚拟三维空间中虚拟关键点的对应关系;根据映射关系与第一坐标计算第二坐标;其中,第二坐标为虚拟关键点在虚拟三维空间中的三维坐标;基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值;基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动。
7.结合第一方面,在另一种可能的实现方式中,通过多个视频采集设备在真实三维空间中采集多个视角的视频数据之后,方法还包括:在视频数据中检测目标人物;在检测到目标人物的情况下,确定目标人物的关键点;在无法检测到目标人物的情况下,数字人保持待机姿态。
8.结合第一方面,在另一种可能的实现方式中,根据第一坐标确定映射关系,包括:根据关键点的第一坐标确定第一参数矩阵;其中,第一参数矩阵用于指示真实三维空间中的位置点从第一坐标系转化到第二坐标系的转换关系,第一坐标系为真实三维空间中以目标人物的中心为原点的三维坐标系,第二坐标系为真实三维空间中以视频采集设备的光心为原点的三维坐标系;获取第二参数矩阵;其中第二参数矩阵用于指示真实三维空间中的位置点从第二坐标系转化到第三坐标系的转换关系,三坐标系为以视频数据的视频帧的图
像中心为原点的坐标系;将第一参数矩阵与第二参数矩阵的乘积矩阵作为映射关系。
9.结合第一方面,在另一种可能的实现方式中,根据关键点的第一坐标计算第一参数矩阵,包括:根据关键点的第一坐标确定初始第一参数矩阵;获取关键点的第三坐标;其中,第三坐标为关键点在真实三维空间中的三维坐标;根据第三坐标与初始第一参数矩阵计算第一坐标预测值;基于第一坐标预测值与第一坐标,确定第一损失值;基于第一损失值迭代更新初始第一参数矩阵直至第一损失值小于第一预设阈值时,将最新更新的初始第一参数矩阵确定为第一参数矩阵。
10.结合第一方面,在另一种可能的实现方式中,基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值之前,方法包括:获取至少一组样本数据;样本数据包括样本视频中样本人物的关键点的样本坐标和样本旋转值;样本坐标为样本人物的关键点在样本视频中视频帧的二维坐标;基于初始关键点旋转模型对样本人物的关键点的样本坐标处理,得到预测旋转值;基于预测旋转值与样本旋转值,确定第二损失值;基于第二损失值迭代更新初始关键点旋转模型直至第二损失值小于第二预设阈值时,将最新更新的初始关键点旋转模型确定为关键点旋转模型。
11.结合第一方面,在另一种可能的实现方式中,样本人物的关键点的样本坐标和样本旋转值的数据格式为四元数格式。
12.结合第一方面,在另一种可能的实现方式中,基于关键点旋转模型对第二坐标处理,以得到关键点在虚拟三维空间中的旋转值之后,基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动之前,方法还包括:对虚拟关键点在虚拟三维空间中的旋转值做平滑处理。
13.第二方面,提供一种数字人驱动设备,该数字人驱动设备具有实现上述第一方面的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
14.第三方面,提供一种数字人驱动装置,该数字人驱动装置包括视频采集模块,用于通过多个视频采集设备在真实三维空间中采集多个视角的视频数据;其中,视频数据中包括目标人物;第一坐标确定模块,用于确定视频采集模块采集的视频数据中的目标人物的关键点的第一坐标;其中,第一坐标为关键点在视频数据中视频帧的二维坐标;映射关系确定模块,用于根据第一坐标确定模块确定的第一坐标确定映射关系;其中,映射关系为关键点与虚拟三维空间中虚拟关键点的对应关系;第二坐标计算模块,用于根据映射关系确定模块确定的映射关系与第一坐标模块确定的第一坐标计算;其中,第二坐标为虚拟关键点在虚拟三维空间中的三维坐标;第二坐标处理模块,用于基于关键点旋转模型对第二坐标计算模块计算得到的第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值;数字人驱动模块,用于基于第二坐标处理模块处理得到的在虚拟三维空间中的旋转值驱动数字人运动。
15.第四方面,提供了一种数字人驱动设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该第一设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该第一设备执行如上述第一方面中任一项提供的数字人驱动方法。
16.第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项提供的数字人驱
动方法。
17.第六方面,提供了一种包含指令的计算机程序产品,当其在数字人驱动设备上运行时,使得数字人驱动设备可以执行上述第一方面中任一项提供的数字人驱动方法。
18.第七方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持数字人驱动设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存数字人驱动设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
19.基于本技术实施例提供的技术方案,首先,通过多个视频采集设备在真实三维空间中对目标人物采集多个视角的视频数据,以解决在视频数据视角单一的情况下,目标人物的部分关键点由于无法被检测到,导致的数字人在驱动过程中的抖动明显、关节错位和易丢失的问题;其次,确定目标人物的关键点的第一坐标,根据第一坐标确定映射关系,该映射关系为关键点与虚拟三维空间中虚拟关键点的对应关系,即确定映射关系的过程为视频采集设备的标定位置过程,可见,本技术方案在无标定板的前提下通过多视角视频数据中目标人物的关键点的第一坐标完成了标定,减少了标定板的铺设成本;最后,根据映射关系与第一坐标计算第二坐标,基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值,基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动,通过关键点旋转模型对第二坐标的处理同时得到所有关键点的旋转值,提高了数字人驱动效率。
20.综上,一方面,本技术提供的技术方案能够解决在视频数据视角单一的情况下,目标人物的部分关键点由于无法被检测到,导致的数字人在驱动过程中的抖动明显、关节错位和易丢失的问题;另一方面,本技术提供的技术方案能够在无标定板的前提下通过多视角视频数据中目标人物的关键点的第一坐标完成了标定,减少了标定板的铺设成本;再一方面,本技术提供的技术方案能够提高数字人驱动的效率。
附图说明
21.图1为世界坐标系、相机坐标系和图像坐标系的位置关系示意图;图2为本技术实施例提供的一种数字人驱动设备的软件架构示意图;图3本技术实施例提供的一种数字人驱动方法的流程示意图一;图4本技术实施例提供的一种数字人驱动方法的流程示意图二;图5本技术实施例提供的一种数字人驱动方法的流程示意图三;图6本技术实施例提供的一种数字人驱动方法的流程示意图四;图7本技术实施例提供的一种数字人驱动方法的流程示意图五;图8本技术实施例提供的一种数字人驱动方法的流程示意图六;图9本技术实施例提供的一种数字人驱动方法的流程示意图七;图10为本技术实施例提供的另一种数字人驱动方法的实例示意图;图11为本技术实施例提供的另一种数字人驱动方法的无源标定过程示意图;图12为本技术实施例提供的另一种数字人驱动方法的训练iknet过程示意图;图13为本技术实施例提供的另一种数字人驱动设备的结构示意图;图14为本技术实施例提供的又一种数字人驱动设备的结构示意图。
具体实施方式
22.为使本技术的目的和实施方式更加清楚,下面将结合本技术实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
23.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
24.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
25.本技术中术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
26.本技术中术语
“ꢀ
和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本技术中字符
“ꢀ
/”,一般表示前后关联对象是一种
“ꢀ
或”的关系。
27.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
28.基于本技术描述的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术所附权利要求保护的范围。此外,虽然本技术中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
29.首先,对本技术涉及的名词进行如下解释:关键点:指人体上的特定点,通常表示为二维图像上的坐标或三维空间中的坐标。可以分为人脸关键点例如眼睛、鼻子、嘴巴等面部特征的一些特定部位;身体姿态关键点例如脖子、肩膀、手肘、腕部、腰部、膝盖和脚踝等部位;手部关键点例如手指、手掌和手腕等部位。下文实施例中的关键点若无特殊说明通常指身体姿态关键点。
30.多目相机:镜头数量大于1的相机。
31.相机标定:相机标定是指确定相机内参和相机外参的过程,通过相机标定,可以将图像坐标映射到三维世界坐标系中。
32.世界坐标系:一个三维直角坐标系,以其为基准可以描述相机与待测物体的相对空间位置。参照图1所示,世界坐标系o
w-x
wywzw
通常以待测物体的中心为原点,世界坐标系可以根据实际情况自由确定,世界坐标系确定后其位置与角度在后续过程中无法改变。
33.相机坐标系:一个三维直角坐标系,以其为基准可以描述相机与待测物体的相对空间位置。参照图1所示,相机坐标系o
c-xcyczc通常以相机镜头的光心为原点,相机坐标系的位置与角度随着相机的镜头的位置与姿态变化。
34.图像坐标系:一个二维直角坐标系,参照图1所示,图像坐标系o-xy通常以光轴与像面的交点为原点,即以图像的中心点为原点,x轴与y轴分别与像面的两边平行。
35.ik:即inverse kinematics,逆向运动学,指通过使用计算父关节的位移和运动方向,从而将所得信息继承给其子关节的一种物理运动方式。也就是通过定位骨骼链中较低的骨骼,使较高的骨骼旋转,从而设置关节的姿态,根据末端子关节的位置移动来计算得出每个父关节的旋转。
36.fk:即forward kinematics,正向运动学,指通过父级带动子级来实现运动的一种物理运动方式,即根据父关节的旋转来计算得出每个子关节的位置。
37.iknet:即inverse kinematics,逆向运动学网络,一种输入子关节位置输出父关节旋转的网络。
38.savgol算法:即savitzky-golay算法,是一种数字信号处理中常用的平滑化数据的算法。具体而言,savgol算法可以对原始数据进行多项式拟合,并对该拟合曲线进行平滑化,从而消除原始数据中的噪声和震荡。
39.hrnet:即high-resolution net,高分辨率网络,是一种基于深度学习的神经网络模型,可用于处理图像任务。具体hrnet采用多个分辨率的信息来进行特征提取,并通过联合这些信息的方式来生成更有表现力的特征表示。大量实验证明hrnet在关键点检测、姿态估计和人体分割等任务上取得了最先进的效果。同时,hrnet也可以应用到其他需要具有高分辨率空间特征细节的图像处理任务中。
40.pnp算法:即perspective-n-point算法,是计算机视觉中的一种姿态估计算法。该算法可以通过已知目标物体在三维空间中的坐标点和对应的像素点,来求解相机的位姿(位置和方向)以及目标物体与相机之间的空间关系。
41.lm算法:levenberg-marquardt算法,是一种使用于非线性最小二乘问题的优化算法。它结合了高斯-牛顿方法和梯度下降法的优点,可以有效地解决数值计算中的非线性参数估计问题。
42.相机外参:相机外参是指描述相机在三维空间中的位置和方向的参数,通常包括相机的旋转矩阵和平移向量。
43.相机内参:相机内参是指相机的内部参数,用于描述相机光学系统的基本配置和特性。相机内参通常存储在相机的元数据中,并且可以被应用程序或计算机视觉算法访问获取并使用。
44.bundle adjust优化方法:即光束法平差优化方法,该方法利用最小二乘法,通过调整相机位姿和三维点云坐标,使得重新投影到图像平面上的点与原图像中的对应点之间误差最小,从而得到更准确的相机位姿和三维点云坐标。
45.欧几里得距离:即euclidean distance,又称欧式距离,是在n维空间中两个点之
间的距离。一般的,在n维空间中,点a(x1,x2,...xn)与点b(y1,y2,...yn)之间的欧几里得距离d可以通过以下公式计算:;其中,xi为点a在n维空间中第i维的坐标值,yi为点b在n维空间中第i维的坐标值,d为a、b两点之间的欧几里得距离。
46.adam优化算法:即adaptive moment estimation算法,是一种常用的自适应学习率优化方法,用于高效地训练深度神经网络。它是一种通过计算梯度的一阶矩(均值)和二阶矩(方差的无偏估计),并结合之前参数更新量的自适应学习率方式来调整每个参数的学习率的优化方法。
47.随着人们对数字化体验的需求日益增长,使用数字化角色(例如虚拟助手)的趋势也在加速。在这个数字时代,数字人一直是一个引人注目的话题,数字人可以是虚拟角色、人形机器人或任何带有语音、视觉、触觉和行动能力的数字实体,被广泛应用于医疗保健、金融服务、工业自动化、客户服务等多个领域。
48.相关技术中,驱动数字人与真人的同步运动是通过采集真人人体关键点的运动信息来实现的。具体为首先通过单目相机采集真人人体的姿态数据,其次进行关键点检测确定关键点的位置,然后通过关键点获取全身的动作信息,最后根据全身的动作信息实时驱动数字人。
49.但是,上述方案只采用了单目相机,获取的视频数据视角单一,在实际应用过程中位于摄像头盲区的关键点无法被捕捉到,造成数字人驱动过程中位于摄像头盲区的关键点的动作信息与其他关键点不一致,在视觉上表现为数字人的抖动、关节旋转错位、部分位置丢失。同时由于单目相机的视角单一,数字人驱动设备在三维空间中的真人背对镜头的情况下仍然会将真人的背面作为正面,导致了数字人运动方向与真人运动方向不一致,因此位于真实三维空间中的真人必须时刻面向单目相机的镜头,导致活动范围与动作受限。
50.若采用多目相机,多目相机的复杂标定问题会大大提高人力成本,同时多目相机的标定需要铺设标定板,带来不必要的经济成本。
51.在另一些相关技术中,可以直接给位于真实三维空间中的真人穿戴动捕设备,数字人驱动设备直接根据动捕设备实时获取的动作信息驱动数字人运动。但是动捕设备成本和使用复杂度极高。
52.针对上述问题,本技术实施例提出了一种数字人驱动方法,首先,通过多个视频采集设备在真实三维空间中对目标人物采集多个视角的视频数据,以解决在视频数据视角单一的情况下,目标人物的部分关键点由于无法被检测到,导致的数字人在驱动过程中的抖动明显、关节错位和易丢失的问题;其次,确定目标人物的关键点的第一坐标,根据第一坐标确定映射关系,该映射关系为关键点与虚拟三维空间中虚拟关键点的对应关系,即确定映射关系的过程为视频采集设备的标定位置过程,可见,本技术方案在无标定板的前提下通过多视角视频数据中目标人物的关键点的第一坐标完成了标定,减少了标定板的铺设成本;最后,根据映射关系与第一坐标计算第二坐标,基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值,基于虚拟关键点在虚拟三维空间中的旋转
值驱动数字人运动,通过关键点旋转模型对第二坐标的处理同时得到所有关键点的旋转值,提高了数字人驱动效率。
53.图2示出了可以应用本技术实施例的一种数字人驱动方法及装置的示例性应用空间的系统架构的示意图。
54.如图2所示,本技术提供的技术方案所应用的系统架构200可以包括至少一个终端设备、互联网204和服务器205。图2中以终端设备包括终端设备201、终端设备202、终端设备203为例进行说明,实际中终端设备可以更多或更少。互联网204用以在终端设备201、终端设备202、终端设备203和服务器205之间提供通信链路的介质。互联网204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备201、终端设备202、终端设备203可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图2中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器205可以是多个服务器组成的服务器集群等。
55.本技术实施例提供的数字人驱动方法可以在服务器205执行,例如,服务器205可以通过多个视频采集设备在真实三维空间中采集多个视角的视频数据,确定目标人物的关键点的第一坐标,根据第一坐标确定映射关系,根据映射关系与第一坐标计算第二坐标,基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值,基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动。本技术实施例所提供的数字人驱动方法也可以由终端设备执行,本技术实施例所提供的数字人驱动方法还可以由终端设备与服务器205共同执行,本实施例中对此不做特殊限定。
56.本技术所涉及的视频数据可以为经用户授权或者经过各方充分授权的数据。
57.以下实施例中的方法可以在具有上述硬件结构和软件结构的数字人驱动设备中实现。以下对本技术实施例提供的数字人驱动方法进行说明。
58.参照图3所示,本技术实施例提供一种数字人驱动方法,应用于数字人驱动设备,数字人驱动设备具备接收视频数据与图像处理的功能,该数字人驱动设备可以为上述实施例中的服务器105或者其中的部分,该方法可以包括s310-s360:在执行s310之前,数字人驱动设备首先在虚拟三维空间中生成数字人。
59.s310、通过多个视频采集设备在真实三维空间中采集多个视角的视频数据。
60.其中,视频数据中包括目标人物,视频采集设备可以是单目相机,多个视频采集设备即多个单目相机。
61.在一些示例中,目标人物位于真实三维空间中的采集区域内,视频采集设备可以在采集区域内从各个视角采集包含目标人物的视频数据。
62.在一些示例中,视频采集设备也可以是多目相机,在满足可以采集各个视角包含目标人物的视频数据的前提下,本技术不对视频采集设备的类型与数量做具体限定。
63.在一些示例中,在视频采集设备开始采集视频数据之后,目标人物可能在运动过程中离开视频采集设备的采集区域,或者目标人物在视频采集设备开始采集视频数据之后目标人物还未进入采集区域,此时需要对数字人的姿态位置进行初始化。基于此,结合图3、参照图4所示,在s310之后,执行s410至s430。
64.s410、在视频数据中检测目标人物。
65.在一些示例中,数字人驱动设备可以通过网络传输或usb传输等方式获取视频采集设备采集的视频数据,该视频数据可以具有彩色,视频分辨率为720p、1080p、2k或4k,视频帧率为30帧,视频的音频码率为128kb/s,音频采样率为44100hz等属性。
66.在一些示例中,数字人驱动设备在获取视频采集设备采集的视频数据之后,利用图像分割算法来检测视频数据中是否存在目标人物。具体的,首先,数字人驱动设备根据视频采集设备采集的视频数据获取视频数据的视频帧的图像作为原始图像,并将原始图像转换为黑白灰度图像,以便更容易地分离原始图像中的目标人物和背景;其次,使用边缘检测算法识别黑白灰度图像中的边缘特征;再次,将边缘特征进行二值化,得到二值化图像;然后,使用轮廓发现算法从二值化图像中提取出目标人物轮廓和其他轮廓;最后,过滤其他轮廓得到目标人物轮廓。
67.s420、在检测到目标人物的情况下,确定目标人物的关键点。
68.在一些示例中,数字人驱动设备在视频数据中检测到目标人物的情况下,使用hrnet检测目标人物的关键点,关键点为目标人物一些主要的关节部位,如脖子、肩膀、手肘、腕部、腰部、膝盖和脚踝等21个关键点。hrnet检测目标人物的关键点的具体过程包括:首先,将检测到目标人物的视频数据的视频帧的图像输入至hrnet,以进行特征提取,在不同的特征层中获取不同分辨率和尺度的特征图;其次,将多个特征层中提取的特征图以及原始的图像组成一个金字塔,通过多个尺度的特征图之间相互交互、共享信息,获取更全面、更具有代表性和多样性的特征图;然后,利用上述提取到的特征图,在每个特征图中分别输出关键点坐标的概率矩阵;最后,将预测的关键点坐标输出到原始的视频数据的视频帧的图像中,可以通过连线或圆圈等方式表示关键点之间的连接关系。
69.可以理解的是,数字人驱动设备在检测目标人物的关键点时,除hrnet之外还可以采用其他关键点检测算法,例如关键点的亲和力场(openpose)算法或快速人体姿态估计(fastpose)算法等其他算法。本技术对数字人驱动设备在检测目标人物的关键点的算法不做具体限制。
70.s430、在无法检测到目标人物的情况下,数字人保持待机姿态。
71.在一些示例中,数字人驱动设备在无法检测到目标人物的情况下,即无法检测到目标人物的关键点位置以及后续的关键点运动信息,此时需要将数字人的姿态初始化为待机姿态,例如垂直站定的姿态。
72.可以理解的是,待机姿态还可以是出垂直站定以外的其他姿态,用户可以根据实际需求自定义待机姿态,本技术对待机姿态不做具体限制。
73.在上述s410至s430提供的技术方案中,数字人驱动设备在虚拟三维空间中生成数字人之后,获取视频采集设备采集的视频数据并检测视频数据中是否存在目标人物,在检测到目标人物的情况下,继续检测目标人物的关键点位置,在无法检测到目标人物的情况下,数字人驱动设备使虚拟三维空间中的数字人保持待机姿态,避免了数字人驱动设备在无法检测到目标人物时,数字人因没有接收到动作信息受到其他因素干扰而引起的抖动问题。可见,该技术方案能够提高数字人姿态的稳定性。
74.s320、确定目标人物的关键点的第一坐标。
75.其中,第一坐标为关键点在视频数据中视频帧的二维坐标,具体的第一坐标可以为关键点在图像坐标系中的二维坐标。
76.在一些示例中,确定图像坐标系,以视频数据中视频帧的图像中心为原点,向右x轴正方向,向下为y轴正方向作为图像坐标系为例,确定每个关键点在图像坐标系上的坐标作为第一坐标。
77.s330、根据第一坐标确定映射关系。
78.其中,映射关系为关键点的第一坐标与虚拟三维空间中虚拟关键点的三维坐标的对应关系,虚拟三维空间中数字人的虚拟关键点与真实三维空间中目标人物的关键点一一对应,例如真实三维空间中目标人物的腰部存在一个关键点,对应的虚拟三维空间中数字人的腰部也存在一个虚拟关键点。
79.在一些示例中,以视频采集设备为相机为例,映射关系可以通过相机外参与相机内参决定。具体的,由于相机外参与相机内参用于指示关键点的第一坐标与真实三维空间中关键点的三维坐标的对应关系,若将前述的对应关系用于虚拟三维空间,则可以得到相机外参与相机内参用于指示关键点的第一坐标与虚拟三维空间中虚拟关键点的三维坐标的对应关系,即此时映射关系可以由相机内参与相机外参决定。在这种情况下,确定映射关系的过程即为相机标定的过程。基于此,结合图3、参照图4所示,s330包括s510至s530。
80.s510、根据关键点的第一坐标确定第一参数矩阵。
81.其中,第一参数矩阵用于指示真实三维空间中的位置点从第一坐标系转化到第二坐标系的转换关系,第一坐标系为真实三维空间中以目标人物的中心为原点的三维坐标系,即世界坐标系,第二坐标系为真实三维空间中以视频采集设备的光心为原点的三维坐标系,即相机坐标系。
82.在一些示例中,以视频采集设备为相机为例,以第一坐标为头部、脊柱、双脚四个位置的关键点的第一坐标为例,以定映射关系的过程即为相机标定的过程为例。获取目标人物的头部、脊柱、双脚在真实三维空间中的三维坐标,通过lm算法根据四个关键点的第一坐标与在真实三维空间中四个关键点的的三维坐标求出相机在世界坐标系下的旋转和平移向量,即相机外参,作为第一参数矩阵。
83.由于s510中确定第一参数矩阵的过程仅涉及头部、脊柱、双脚四个关键点,而数字人驱动设备在s420中可通过hrnet确定21个关键点,可见s510由于涉及的关键点不够全面可能会导致第一参数矩阵的结果不够精确。基于此,结合图5、参照图6所示,为了得到更精确的第一参数矩阵,s510可以包括s610至s650。
84.s610、根据关键点的第一坐标确定初始第一参数矩阵。
85.在一些示例中,可以将s510中根据头部、脊柱、双脚四个位置的关键点的第一坐标确定的第一参数矩阵作为初始第一参数矩阵。该初始第一参数矩阵由于涉及的关键点不够全面,需要进一步优化。
86.s620、获取关键点的第三坐标。
87.其中,第三坐标为关键点在真实三维空间中的三维坐标。
88.在一些示例中,以位于真实三维空间中的目标人物中心为原点,建立世界坐标系。在世界坐标系中确定目标人物各关键点的三维坐标作为第三坐标。
89.s630、根据第三坐标与初始第一参数矩阵计算第一坐标预测值。
90.在一些示例中,以第一参数矩阵为相机外参为例,以初始第一参数矩阵为初始相机外参为例,以第三坐标为关键点在真实三维空间中的三维坐标为例。由于初始相机外参
用于指示真实三维空间中的位置点从世界坐标系转化到相机坐标系的转换关系,因此数字人驱动设备可以首先获取相机内参和畸变参数,再通过相机外参、畸变参数、相机内参与第三坐标计算关键点在第一坐标预测值。具体计算参照公式如下:;其中,u、v为第一坐标预测值,a为相机内参矩阵,π为畸变参数矩阵,tw为相机外参矩阵,xw、yw、zw为第三坐标的坐标值。
91.s640、基于第一坐标预测值与第一坐标,确定第一损失值。
92.在一些示例中,计算第一坐标预测值与第一坐标的欧式距离,作为第一损失值。
93.s650、基于第一损失值迭代更新初始第一参数矩阵直至第一损失值小于第一预设阈值时,将最新更新的初始第一参数矩阵确定为第一参数矩阵。
94.在一些示例中,以视频数据时长为3s,帧率为30帧,关键点个数为21为例,以第一预设阈值为20mm为例,数字人驱动设备可以获得3
×
30
×
21=1890组关键点坐标数组,使用bundle adjust算法进行第一损失值迭代更新初始第一参数矩阵,bundle adjust的优化函数具体如下:;其中u是关键点的第一坐标,c是相机外参,x是世界坐标系下的第三坐标,优化方向是使该优化函数最小化,即世界坐标系下的3d坐标通过外参的重投影变换,与图像坐标系下的2d关键点误差最小化。经过n轮优化后对单帧图像2d关键点使用相机外参求得3d坐标,对3d坐标重投影后与2d关键点计算欧式距离,距离小于20mm认为优化结束。将优化结束后的初始第一参数矩阵作为第一参数矩阵。
95.在上述s610至s650提供的技术方案中,根据关键点的第一坐标确定初始第一参数矩阵,获取关键点的第三坐标,根据第三坐标与初始第一参数矩阵计算第一坐标预测值,基于第一坐标预测值与第一坐标,确定第一损失值,基于第一损失值迭代更新初始第一参数矩阵直至第一损失值小于第一预设阈值时,将最新更新的初始第一参数矩阵确定为第一参数矩阵。可见,该技术方案能够通过对初始第一参数矩阵的多次迭代修正使得第一参数矩阵更为精确,解决了初始第一参数矩阵由于涉及的关键点不够全面导致的准确性低的问题。
96.s520、获取第二参数矩阵。
97.其中,第二参数矩阵用于指示真实三维空间中的位置点从第二坐标系转化到第三坐标系的转换关系,三坐标系为以视频数据的视频帧的图像中心为原点的坐标系。
98.在一些示例中,第二参数矩阵包括视频采集设备的内参矩阵与畸变参数矩阵。数字人驱动设备可以通过有线或无线的方式获取视频采集设备的内参矩阵与畸变参数矩阵作为第二参数矩阵。
99.可以理解的是,s510与s520在逻辑上没有先后顺序,数字人驱动设备可以先执行s510再执行s520,也可以先执行s520再执行s510,还可以同时执行s510与s520,本技术实施
例对s510与s520的执行顺序不做具体限制。
100.s530、将第一参数矩阵与第二参数矩阵的乘积矩阵作为映射关系。
101.在上述s510至s530提供的技术方案中,根据关键点的第一坐标确定第一参数矩阵,即外参矩阵,获取第二参数矩阵,将第一参数矩阵与第二参数矩阵的乘积矩阵作为映射关系。可见,该技术方案能够在无标定板的前提下通过关键点的第一坐标完成了标定,减少了标定板的铺设成本。
102.s340、根据映射关系与第一坐标计算第二坐标。
103.其中,第二坐标为虚拟关键点在虚拟三维空间中的三维坐标。
104.在一些示例中,根据映射关系与第一坐标计算第二坐标,具体公式如下:;其中,u、v为第一坐标的坐标值,t为映射关系矩阵,xv、yv、zv为第二坐标的坐标值。
105.s350、基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值。
106.在一些示例中,采用已经训练好的关键点旋转模型,对第二坐标进行处理,以得到虚拟关键点在虚拟三维空间中的旋转值,关键点旋转模型可以是一种iknet,具体过程包括:确定所有关键点的层次结构,将最子级的关键点首先移动至该最子级关键点的第二坐标的位置,然后按照层次结构由低到高的顺序将所有关键点移动至关键点对应的第二坐标的位置,计算所有关键点相较于初始状态的旋转值。
107.结合图3、参照图7所示,在s350之前,数字人驱动设备执行s710至s740。
108.s710、获取至少一组样本数据。
109.其中,样本坐标为样本人物的关键点在样本视频中视频帧的二维坐标。
110.在一些示例中,确定样本图像坐标系,以样本视频数据中视频帧的图像中心为原点,向右x轴正方向,向下为y轴正方向作为图像坐标系为例,确定样本人物每个关键点在样本图像坐标系上的坐标作为样本坐标。
111.s720、基于初始关键点旋转模型对样本人物的关键点的样本坐标处理,得到预测旋转值。
112.在一些示例中,初始关键点旋转模型可以是一种iknet,具体过程包括:确定所有样本关键点的层次结构,将最子级的样本关键点首先移动至该最子级样本关键点的样本坐标的位置,然后按照层次结构由低到高的顺序将所有样本关键点移动至样本关键点对应的样本坐标的位置,计算所有样本关键点相较于初始状态的预测旋转值。
113.在一些示例中,样本人物的关键点的样本坐标和样本旋转值的数据格式为四元数格式。基于此,结合图7、参照图8所示,在s720之后执行s810至s830。
114.s810、对预测旋转值进行归一化处理。
115.在一些示例中,通过最小-最大缩放法对预测旋转值进行归一化处理,具体可以参照一下公式:
;其中,x为归一化处理之前的预测旋转值,为归一化处理之后的预测旋转值,为预测旋转值中的最小值,为预测旋转值中的最大值。
116.可以理解的是,归一化处理方法并不局限于最小-最大缩放法,还可以是标准分数法或其他方法,本技术对归一化处理所采用的方法不做具体限制。
117.s820、将归一化处理后的预测旋转值编码为向量。
118.在一些示例中,将归一化处理后的预测旋转值输入至iknet卷积网络编码器,编码为1x512维变量。可以理解的是,本技术对此处编码后向量的维度不做具体限制。
119.s830、将所述向量解码为四元数格式的预测旋转值。
120.在一些示例中,将1x512维的变量作为输入输入至iknet卷积网络解码器来解码。该iknet卷积网络解码器将该1x512维向量转化为一个多通道的特征图。接着基于这些特征图,通过一系列的卷积和池化操作,得到多个四元数形式的预测旋转值。
121.在上述s810至s830提供的技术方案中,对预测旋转值进行归一化处理,将归一化处理后的预测旋转值编码为向量,将所述向量解码为四元数格式的预测旋转值。可见,该技术方案采用了四元数而非矩阵或欧拉角的格式描述旋转值,相较于矩阵,四元数的存储与调用更方便,因为四元数只需要4个值就可以描述一个旋转值,而描述同样的旋转值矩阵需要9个值。因此采用四元数描述旋转值,可以减少数字人驱动设备的存储压力。
122.s730、基于预测旋转值与样本旋转值,确定第二损失值。
123.在一些示例中,数字人驱动设备可以将预测旋转值与样本旋转值的四元数cosin距离作为第二损失值。四元数cosin距离的具体公式如下:;其中,为预测旋转值与样本旋转值四元数cosin距离,为样本旋转值,q为预测旋转值。
124.在另一些示例中,数字人驱动设备可以将预测旋转值与样本旋转值的四元数欧式距离作为第二损失值。
125.在又一些示例中,数字人驱动设备还可以将预测旋转值与样本旋转值的四元数归一化损失值作为第二损失值。可以理解的是,本技术对于确定第二损失值的方式不做具体限制。
126.s740、基于第二损失值迭代更新初始关键点旋转模型直至第二损失值小于第二预设阈值时,将最新更新的初始关键点旋转模型确定为关键点旋转模型。
127.在一些示例中,将第二损失值进行反向传播,反向传播四元数cosin距离、四元数l2距离、四元数归一化损失和3d坐标l2距离等损失函数中的一种或多种,对模型中各组件的参数计算梯度,使用adam优化器更新模型中各组件参数。
128.可以理解的是,在通过s710至s740得到关键点旋转模型之后,可以根据一帧的视频数据,即一张视频帧图像上的关键点的第一坐标驱动数字人运动。
129.在上述s710至s740提供的技术方案中,获取至少一组样本数据,基于初始关键点
旋转模型对样本人物的关键点的样本坐标处理,得到预测旋转值,基于预测旋转值与样本旋转值,确定第二损失值,基于第二损失值迭代更新初始关键点旋转模型直至第二损失值小于第二预设阈值时,将最新更新的初始关键点旋转模型确定为关键点旋转模型。可见,该技术方案能够提高关键点旋转模型的精度,保证了数字人与目标人物同步运动时的精度。
130.结合图3、参照图9所示,在执行s360之前,执行s910。
131.s910、对虚拟关键点在虚拟三维空间中的旋转值做平滑处理。
132.在一些示例中,采用savgol算法对旋转值做平滑处理,具体过程包括:首先,将旋转值表示为一个时间序列,每个时间点对应一个旋转值;其次,根据实际需求确定savgol滤波器的参数:窗口大小、多项式阶数和导数阶数;然后,对旋转值进行滤波操作,并得到平滑后的时间序列;最后,将平滑后的时间序列重新组合成旋转值,得到平滑后的旋转值。
133.在上述s910提供的技术方案中,对虚拟关键点在虚拟三维空间中的旋转值做平滑处理,可以减少噪声、消除数据尖刺,提高数字人驱动设备驱动数字人时的动作稳定性。
134.s360、基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动。
135.在上述s310至s360提供的技术方案中,首先,通过多个视频采集设备在真实三维空间中对目标人物采集多个视角的视频数据,以解决在视频数据视角单一的情况下,目标人物的部分关键点由于无法被检测到,导致的数字人在驱动过程中的抖动明显、关节错位和易丢失的问题;其次,确定目标人物的关键点的第一坐标,根据第一坐标确定映射关系,该映射关系为关键点与虚拟三维空间中虚拟关键点的对应关系,即确定映射关系的过程为视频采集设备的标定位置过程,可见,本技术方案在无标定板的前提下通过多视角视频数据中目标人物的关键点的第一坐标完成了标定,减少了标定板的铺设成本;最后,根据映射关系与第一坐标计算第二坐标,基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值,基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动,通过关键点旋转模型对第二坐标的处理同时得到所有关键点的旋转值,提高了数字人驱动效率。
136.可见,一方面,本技术提供的技术方案能够解决在视频数据视角单一的情况下,目标人物的部分关键点由于无法被检测到,导致的数字人在驱动过程中的抖动明显、关节错位和易丢失的问题;另一方面,本技术提供的技术方案能够在无标定板的前提下通过多视角视频数据中目标人物的关键点的第一坐标完成了标定,减少了标定板的铺设成本;再一方面,本技术提供的技术方案能够提高数字人驱动的效率。
137.为了更清楚的说明本技术实施例提供的技术方案,以视频采集设备为多个单目相机为例,以第一参数矩阵为相机外参矩阵、第二参数矩阵为相机内参为例,以关键点选择模型为iknet为例,本技术提供的数字人驱动方法可以包括如图10所示的过程,具体可以包括:1、多个单目相机采集视频流。
138.例如,搭建多个单目相机,n为相机数量,n大于2,目标人物位于多个单目相机采集范围内,做先垂直站立(待机姿态)等待相机标定(获取第一参数)。在目标人物垂直站立之后,多个单目相机开始采集视频流,每个单目相机的视角不同,分别输出采集范围内目标人物的单人动作视频数据,视频数据的音频码率为128kb/s,音频采样率为44100hz。
139.2、人体检测。
140.例如,首先,数字人驱动设备根据多个单目相机采集的视频数据获取视频数据的视频帧的图像作为原始图像,并将原始图像转换为黑白灰度图像,以便更容易地分离原始图像中的目标人物和背景;其次,使用边缘检测算法识别黑白灰度图像中的边缘特征;再次,将边缘特征进行二值化,得到二值化图像;然后,使用轮廓发现算法从二值化图像中提取出目标人物轮廓和其他轮廓;最后,过滤其他轮廓得到目标人物轮廓。
141.3、在检测到目标人物的情况下,进行关键点检测。
142.例如,对于每个单目相机采集的视频数据的每一个视频帧,通过hrnet算法,计算出人体的21个2d关键点,输出为2d关键点的2d坐标(第一坐标),形状为nx21x2。
143.4、在无法检测到目标人物的情况下,输出全部为0关节旋转角,使得数字人静止。
144.例如,在3过程中没有检测到目标人物的轮廓的情况下,数字人驱动设备输出全部为0关节旋转角,使得数字人静止。
145.5、在多个单目相机相机存在标定信息的情况下,直接读取多个单目相机的内外参。
146.例如,在多个单目相机相机存在标定信息(第一参数矩阵与第二参数矩阵)的情况下,数字人驱动设备通过有限或无线手段直接访问各单目相机的存储模块获取标定信息。
147.6、在多个单目相机相机不存在标定信息的情况下,进行无源标定。
148.例如,无源标定的过程参照图11所示,具体的,首先,数字人驱动设备根据以上某一帧提取的2d关键点的2d坐标(第一坐标),根据相机出厂预设的内参和畸变系数(第二参数矩阵),内参数据形状为3x3,畸变系数形状为1x5,基于solvepnp算法,使用lm优化求解,求得每个相机粗略的位置和旋转(初始第一参数矩阵),其中位置向量形状为1
×
3,旋转向量形状为1
×
3;其次,获取更多视频流中的帧,约3s,90帧,提取每个帧中人体21个关节的2d坐标,开始相机精确参数优化,数据形状为n
×
90
×
21
×
2,变换为n
×
1809
×
2,共1809组数据;最后,使用bundle adjust算法优化以上提取的相机粗略位置和旋转,使用lm优化算法,每次随机取500组数据,共迭代20次,迭代到重投影误差(第一损失值)小于20mm(第一预设阈值),获得精确相机内参(第二参数矩阵)和外参(第一参数矩阵),完成无源标定。
149.7、三角化算法得到关键点的三维坐标。
150.例如,通过hrnet提取21个关节点的2d关键点坐标(第一坐标),数据形状为nx21x2,通过三角化算法获得人体21个关节的3d坐标(第三坐标),数据形状为nx21x3。
151.8、将关键点的3d坐标输入至iknet,得到四元数格式的关节旋转角。
152.例如,参照图12所示,将关键点的3d坐标输入至iknet,得到四元数格式的关节旋转角的具体过程包括:(1)使用动捕设备采集的成对的人体3d关键点(样本坐标)和关节旋转角数据(样本旋转值),其中每帧人体3d关键点的数据形状为1x21x3,将该数据进行归一化到0-1之间。
153.(2)将该数据输入iknet卷积网络编码器,编码为1x512维变量。
154.(3)使用上述1x512维变量,输入iknet卷积网络解码器,输出21个关节的关节旋转角,格式为四元数,输出数据形状为1x21x4。
155.(4)将模型输出的四元数旋转值(预测旋转值)与动捕设备采集的四元数(样本旋转值)对比,计算四元数cosin距离,四元数l2距离,四元数归一化损失共三个损失函数(第二损失值)。
156.(5)通过fk前向动力学算法,将模型输出的21关节点四元数转换为3d关键点,形状为1x21x3,计算与输入3d关键点的3d坐标l2距离。
157.(6) 进行反向传播过程,反向传播四元数cosin距离,四元数l2距离,四元数归一化损失,3d坐标l2距离共四个损失函数,对模型中各组件的参数计算梯度,使用adam优化器更新模型中各组件参数。
158.(7) 模型训练过程包含若干轮次,每个轮次均执行上述模型训练过程,直到达成训练终止条件,完成模型的训练。
159.9、采用savgol平滑算法对关节旋转角进行平滑处理。
160.例如,首先,将旋转值表示为一个时间序列,每个时间点对应一个旋转值;其次,根据实际需求确定savgol滤波器的参数:窗口大小、多项式阶数和导数阶数;然后,对旋转值进行滤波操作,并得到平滑后的时间序列;最后,将平滑后的时间序列重新组合成旋转值,得到平滑后的旋转值。
161.10、数字人驱动设备驱动数字人运动。
162.上述主要从方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
163.本技术实施例可以根据上述方法示例对数字人驱动设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
164.参照图13所示,本技术实施例提供一种数字人驱动装置,该数字人驱动装置可以包括视频采集模块131、第一坐标确定模块132、映射关系确定模块133、第二坐标计算模块134、第二坐标处理模块135和数字人驱动模块136。
165.具体的,视频采集模块131,用于通过多个视频采集设备在真实三维空间中采集多个视角的视频数据;其中,视频数据中包括目标人物;第一坐标确定模块132,用于确定视频采集采集模块采集的视频数据中的目标人物的关键点的第一坐标;其中,第一坐标为关键点在视频数据中视频帧的二维坐标;映射关系确定模块133,用于根据第一坐标确定模块确定的第一坐标确定映射关系;其中,映射关系为关键点与虚拟三维空间中虚拟关键点的对应关系;第二坐标计算模块134,用于根据映射关系确定模块确定的映射关系与第一坐标模块确定的第一坐标计算;其中,第二坐标为虚拟关键点在虚拟三维空间中的三维坐标;第二坐标处理模块135,用于基于关键点旋转模型对第二坐标计算模块计算得到的第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值;数字人驱动模块136,用于基于第二坐标处理模块处理得到的在虚拟三维空间中的旋转值驱动数字人运动。
166.在一种可能的实现方式中,通过多个视频采集设备在真实三维空间中采集多个视角的视频数据之后,数字人驱动装置还包括:在视频数据中检测目标人物;在检测到目标人
物的情况下,确定目标人物的关键点;在无法检测到目标人物的情况下,数字人保持待机姿态。
167.在一种可能的实现方式中,根据第一坐标确定映射关系,映射关系确定模块133具体用于:根据关键点的第一坐标确定第一参数矩阵;其中,第一参数矩阵用于指示真实三维空间中的位置点从第一坐标系转化到第二坐标系的转换关系,第一坐标系为真实三维空间中以目标人物的中心为原点的三维坐标系,第二坐标系为真实三维空间中以视频采集设备的光心为原点的三维坐标系;获取第二参数矩阵;其中第二参数矩阵用于指示真实三维空间中的位置点从第二坐标系转化到第三坐标系的转换关系,三坐标系为以视频数据的视频帧的图像中心为原点的坐标系;将第一参数矩阵与第二参数矩阵的乘积矩阵作为映射关系。
168.在一种可能的实现方式中,根据关键点的第一坐标计算第一参数矩阵,映射关系确定模块133具体用于:根据关键点的第一坐标确定初始第一参数矩阵;获取关键点的第三坐标;其中,第三坐标为关键点在真实三维空间中的三维坐标;根据第三坐标与初始第一参数矩阵计算第一坐标预测值;基于第一坐标预测值与第一坐标,确定第一损失值;基于第一损失值迭代更新初始第一参数矩阵直至第一损失值小于第一预设阈值时,将最新更新的初始第一参数矩阵确定为第一参数矩阵。
169.在一种可能的实现方式中,于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值之前,数字人驱动装置还包括:获取至少一组样本数据;样本数据包括样本视频中样本人物的关键点的样本坐标和样本旋转值;样本坐标为样本人物的关键点在样本视频中视频帧的二维坐标;基于初始关键点旋转模型对样本人物的关键点的样本坐标处理,得到预测旋转值;基于预测旋转值与样本旋转值,确定第二损失值;基于第二损失值迭代更新初始关键点旋转模型直至第二损失值小于第二预设阈值时,将最新更新的初始关键点旋转模型确定为关键点旋转模型。
170.在一种可能的实现方式中,样本人物的关键点的样本坐标和样本旋转值的数据格式为四元数格式。
171.在一中可能的实现方式中,基于关键点旋转模型对所述第二坐标处理,以得到所述虚拟关键点在虚拟三维空间中的旋转值之后,基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动之前,数字人驱动装置还包括:对虚拟关键点在虚拟三维空间中的旋转值做平滑处理。
172.应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
173.例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
174.在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个asic,或,一个或多个dsp,或,一个或者多个fpga,或这些集成电路形式中至少两种的组合。
175.再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如cpu或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统soc的形式实现。
176.在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例的数字人驱动方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
177.在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例的数字人驱动方法。
178.参照图14所示,本技术实施例还提供一种数字人驱动设备,包括通信器141,被配置为通过多个视频采集设备在真实三维空间中采集多个视角的视频数据;其中,视频数据中包括目标人物;处理器142,与通信器耦接,被配置为确定目标人物的关键点的第一坐标;其中,第一坐标为关键点在视频数据中视频帧的二维坐标;根据第一坐标确定映射关系;其中,映射关系为关键点与虚拟三维空间中虚拟关键点的对应关系;根据映射关系与第一坐标计算第二坐标;其中,第二坐标为虚拟关键点在虚拟三维空间中的三维坐标;基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值;基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动。
179.在一种可能的实现方式中,通过多个视频采集设备在真实三维空间中采集多个视角的视频数据之后,处理器142,被配置为在视频数据中检测目标人物;在检测到目标人物的情况下,确定目标人物的关键点;在无法检测到目标人物的情况下,数字人保持待机姿态。
180.在一种可能的实现方式中,根据第一坐标确定映射关系,处理器142,被配置为根据关键点的第一坐标确定第一参数矩阵;其中,第一参数矩阵用于指示真实三维空间中的位置点从第一坐标系转化到第二坐标系的转换关系,第一坐标系为真实三维空间中以目标人物的中心为原点的三维坐标系,第二坐标系为真实三维空间中以视频采集设备的光心为原点的三维坐标系;获取第二参数矩阵;其中第二参数矩阵用于指示真实三维空间中的位置点从第二坐标系转化到第三坐标系的转换关系,三坐标系为以视频数据的视频帧的图像中心为原点的坐标系;将第一参数矩阵与第二参数矩阵的乘积矩阵作为映射关系。
181.在一种可能的实现方式中,根据关键点的第一坐标计算第一参数矩阵,处理器142,被配置为根据关键点的第一坐标确定初始第一参数矩阵;获取关键点的第三坐标;其中,第三坐标为关键点在真实三维空间中的三维坐标;根据第三坐标与初始第一参数矩阵计算第一坐标预测值;基于第一坐标预测值与第一坐标,确定第一损失值;基于第一损失值迭代更新初始第一参数矩阵直至第一损失值小于第一预设阈值时,将最新更新的初始第一参数矩阵确定为第一参数矩阵。
182.在一种可能的实现方式中,基于关键点旋转模型对第二坐标处理,以得到虚拟关
键点在虚拟三维空间中的旋转值之前,处理器142,被配置为获取至少一组样本数据;样本数据包括样本视频中样本人物的关键点的样本坐标和样本旋转值;样本坐标为样本人物的关键点在样本视频中视频帧的二维坐标;基于初始关键点旋转模型对样本人物的关键点的样本坐标处理,得到预测旋转值;基于预测旋转值与样本旋转值,确定第二损失值;基于第二损失值迭代更新初始关键点旋转模型直至第二损失值小于第二预设阈值时,将最新更新的初始关键点旋转模型确定为关键点旋转模型。
183.在一种可能的实现方式中,样本人物的关键点的样本坐标和样本旋转值的数据格式为四元数格式。
184.在一种可能的实现方式中,将第二坐标输入至关键点旋转模型,以输出各虚拟关键点在虚拟三维空间中的旋转值之后,基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动之前,处理器142,被配置为对虚拟关键点在虚拟三维空间中的旋转值做平滑处理。
185.本技术实施例还提供一种数字人驱动设备,该数字人驱动设备可以包括:显示屏、存储器和一个或多个处理器。该显示屏、存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,数字人驱动设备可执行上述方法实施例中数字人驱动设备执行的各个功能或者步骤。
186.例如,本技术实施例还提供一种芯片,该芯片可以应用于上述数字人驱动设备或服务器。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从数字人驱动设备的存储器接收并执行计算机指令,以实现以上方法实施例中的方法。
187.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令(或称为指令)。当计算机程序指令被数字人驱动设备执行时,使得数字人驱动设备可以实现如上述的数字人驱动方法。
188.本技术实施例还提供一种计算机程序产品,包括如上述数字人驱动设备运行的计算机指令,当计算机程序产品在数字人驱动设备中运行时,使得数字人驱动设备实可以现如上述的数字人驱动方法。
189.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
190.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
191.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
192.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
193.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
194.以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种数字人驱动方法,其特征在于,所述方法包括:通过多个视频采集设备在真实三维空间中采集多个视角的视频数据;其中,所述视频数据中包括目标人物;确定所述目标人物的关键点的第一坐标;其中,所述第一坐标为所述关键点在所述视频数据中视频帧的二维坐标;根据所述第一坐标确定映射关系;其中,所述映射关系为所述关键点与虚拟三维空间中虚拟关键点的对应关系;根据所述映射关系与所述第一坐标计算第二坐标;其中,所述第二坐标为所述虚拟关键点在虚拟三维空间中的三维坐标;基于关键点旋转模型对所述第二坐标处理,以得到所述虚拟关键点在虚拟三维空间中的旋转值;基于所述虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动。2.根据权利要求1所述的数字人驱动方法,其特征在于,所述通过多个视频采集设备在真实三维空间中采集多个视角的视频数据之后,所述方法还包括:在所述视频数据中检测所述目标人物;在检测到所述目标人物的情况下,确定所述目标人物的关键点;在无法检测到所述目标人物的情况下,所述数字人保持待机姿态。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一坐标确定映射关系,包括:根据所述关键点的所述第一坐标确定第一参数矩阵;其中,所述第一参数矩阵用于指示所述真实三维空间中的位置点从第一坐标系转化到第二坐标系的转换关系,所述第一坐标系为所述真实三维空间中以所述目标人物的中心为原点的三维坐标系,所述第二坐标系为真实三维空间中以所述视频采集设备的光心为原点的三维坐标系;获取第二参数矩阵;其中,所述第二参数矩阵用于指示所述真实三维空间中的位置点从第二坐标系转化到第三坐标系的转换关系,所述第三坐标系为以所述视频数据的视频帧的图像中心为原点的坐标系;将所述第一参数矩阵与所述第二参数矩阵的乘积矩阵作为所述映射关系。4.根据权利要求3所述的方法,其特征在于,所述根据所述关键点的所述第一坐标计算第一参数矩阵,包括:根据所述关键点的所述第一坐标确定初始第一参数矩阵;获取所述关键点的第三坐标;其中,所述第三坐标为所述关键点在所述真实三维空间中的三维坐标;根据所述第三坐标与所述初始第一参数矩阵计算第一坐标预测值;基于所述第一坐标预测值与所述第一坐标,确定第一损失值;基于所述第一损失值迭代更新所述初始第一参数矩阵直至所述第一损失值小于第一预设阈值时,将最新更新的所述初始第一参数矩阵确定为所述第一参数矩阵。5.根据权利要求1所述的方法,其特征在于,所述基于关键点旋转模型对所述第二坐标处理,以得到所述关键点在虚拟三维空间中的旋转值之前,所述方法包括:获取至少一组样本数据;所述样本数据包括样本视频中样本人物的关键点的样本坐标
和样本旋转值;其中,所述样本坐标为所述样本人物的关键点在所述样本视频中视频帧的二维坐标;基于初始关键点旋转模型对所述样本人物的关键点的样本坐标处理,得到预测旋转值;基于所述预测旋转值与所述样本旋转值,确定第二损失值;基于所述第二损失值迭代更新所述初始关键点旋转模型直至所述第二损失值小于第二预设阈值时,将最新更新的所述初始关键点旋转模型确定为所述关键点旋转模型。6.根据权利要求5所述的方法,其特征在于,所述样本人物的关键点的样本坐标和样本旋转值的数据格式为四元数格式。7.根据权利要求1所述的方法,其特征在于,所述基于关键点旋转模型对所述第二坐标处理,以得到所述虚拟关键点在虚拟三维空间中的旋转值之后,基于所述虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动之前,所述方法还包括:对所述虚拟关键点在虚拟三维空间中的旋转值做平滑处理。8.一种数字人驱动装置,其特征在于,所述装置包括:视频采集模块,用于通过多个视频采集设备在真实三维空间中采集多个视角的视频数据;其中,所述视频数据中包括目标人物;第一坐标确定模块,用于确定所述视频采集模块采集的视频数据中的所述目标人物的关键点的第一坐标;其中,所述第一坐标为所述关键点在所述视频数据中视频帧的二维坐标;映射关系确定模块,用于根据所述第一坐标确定模块确定的所述第一坐标确定映射关系;其中,所述映射关系为所述关键点与虚拟三维空间中虚拟关键点的对应关系;第二坐标计算模块,用于根据所述映射关系确定模块确定的所述映射关系与所述第一坐标模块确定的所述第一坐标计算;其中,所述第二坐标为所述虚拟关键点在虚拟三维空间中的三维坐标;第二坐标处理模块,用于基于关键点旋转模型对所述第二坐标计算模块计算得到的所述第二坐标处理,以得到所述虚拟关键点在虚拟三维空间中的旋转值;数字人驱动模块,用于基于所述第二坐标处理模块处理得到的所述在虚拟三维空间中的旋转值驱动数字人运动。9.一种电子设备,其特征在于,包括:处理器;存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的数字人驱动方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述计算机可读存储介质中的指令由数字人驱动设备的处理器执行时,使得所述数字人驱动设备能够执行如权利要求1-7任一项所述的数字人驱动方法。

技术总结
本申请实施例公开了一种数字人驱动方法及装置、电子设备和存储介质,涉及计算机与图像处理技术领域,能够解决数字人在驱动过程中的抖动明显、关节旋转错位和易丢失的问题。具体方案包括:通过多个视频采集设备在真实三维空间中采集多个视角的视频数据,确定目标人物的关键点的第一坐标,根据第一坐标确定映射关系,根据映射关系与第一坐标计算第二坐标,基于关键点旋转模型对第二坐标处理,以得到虚拟关键点在虚拟三维空间中的旋转值,基于虚拟关键点在虚拟三维空间中的旋转值驱动数字人运动。动。动。


技术研发人员:司马华鹏 栾锦泰 范宏伟 李佳斌 姜皓 屈奇勋
受保护的技术使用者:南京硅基智能科技有限公司
技术研发日:2023.07.12
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐