1.本技术涉及机器学习、计算机视觉和计算机图形学技术领域,尤其涉及一种实时驱动方法、装置及设备。
背景技术:2.目前,远程社交交互系统的核心技术涉及实时三维重建技术、二维或三维数据的编解码及传输技术、沉浸式渲染显示技术等。三维重建涉及的具体数据为描述三维几何的顶点数据描述、面片数据描述、纹理数据描述,其中顶点数据描述涉及顶点位置、顶点法线、顶点颜色。在没有成熟高效高保真的三维数据压缩技术的前提下,基于动态三维重建的方案,模型重建质量对云端传输及最终显示端成像有重要影响。而动态三维重建的体素分辨率越高,数据量会爆炸性增长,以目前理想的网络带宽下也难以进行实时传输。
3.另外,通过“预模板+实时姿态检测”的方案,先处理预先构建的三维建模的人体或人脸模型,并将模型保存在渲染端,再利用2d或3d人体姿态检测算法实时传输模型的运动姿态信息。这样可以降低传输的链路压力,是目前实现三维应用内容的产品落地的可行性方案。
4.但是,现有的基于“预模板+实时姿态检测”的方案中,基于有标记的方法,精度高但是系统复杂不易推广,基于无标记的方法,系统简单但是精度低,并且驱动效果差。并且现有的基于预模板的方法,都是十分简单的三维模型,顶点数和面片数极少,识别稳定性差、精度低,驱动效果不真实、容易动作畸形和“穿帮”,而且只能检测固定的驱动数据类型,如人体通用的骨架信息。所以,如何在保证较好的模型实时驱动的质量、动作真实度以及渲染质量的同时,又能够降低传输压力成为重要的研究问题。
技术实现要素:5.本发明提供了一种实时驱动方法、装置及设备,以实现在保证较好的模型实时驱动的质量、动作真实度以及渲染质量的同时,降低传输压力。
6.第一方面,本发明提供了一种实时驱动方法,应用于采集端,包括:
7.通过预置的多个相机获取目标对象的同一帧的实时图像;
8.根据所述多个相机的坐标标定关系,利用获取的同一帧的实时图像构建当前帧对应的人体三维点云数据;
9.将所述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,所述运动信息包括所述人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
10.将获取的人体参数模型的运动信息传输到渲染端。
11.本发明还提供另一种实时驱动方法,应用于渲染端,包括:
12.接收采集端传输的人体参数模型的运动信息,其中,所述人体参数模型的运动信息为将目标对象的人体三维点云数据与人体参数模型进行拟合得到,包括所述人体参数模
型上预先定义的各运动节点对应的顶点坐标和方向;
13.根据所述人体参数模型的运动信息,及预先获取的所述人体参数模型与待驱动模型的运动绑定关系,对所述待驱动模型进行实时驱动。
14.第二方面,本发明提供了一种实时驱动装置,包括:
15.图像采集模块,用于通过预置的多个相机获取目标对象的同一帧的实时图像;
16.点云数据构建模块,用于根据所述多个相机的坐标标定关系,利用获取的同一帧的实时图像构建当前帧对应的人体三维点云数据;
17.运动信息确定模块,用于将所述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,所述运动信息包括所述人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
18.数据传输模块,用于将获取的人体参数模型的运动信息传输到渲染端。
19.此外,本发明还提供了另一种实时驱动装置,该装置包括:
20.数据接收模块,用于接收采集端传输的人体参数模型的运动信息,其中,所述人体参数模型的运动信息为将目标对象的人体三维点云数据与人体参数模型进行拟合得到,包括所述人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
21.实时驱动模块,用于根据所述人体参数模型的运动信息,及预先获取的所述人体参数模型与待驱动模型的运动绑定关系,对所述待驱动模型进行实时驱动。
22.第三方面,本发明提供了一种实时驱动设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实时驱动方法中任一项所述的步骤。
23.第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述实时驱动的方法。
24.上述方法,能够实现高精度且无标记运动捕捉,并且实现快速的、合理的自动化运动匹配,使得捕捉的目标对象的运动数据更能贴合被驱动模型,避免“穿帮”和“滑步”现象,进一步降低了驱动成本和时间,并提高了驱动的质量。
附图说明
25.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
26.图1为本发明实施例提供的一种实时驱动方法应用场景的示意图;
27.图2为本发明实施例提供的一种实时驱动方法的流程图;
28.图3为本发明实施例提供的一种实时驱动方法所需的采集区域的示意图;
29.图4为本发明实施例提供的一种人体三维点云数据与人体参数模型拟合方法的流程图;
30.图5为本发明实施例提供的一种人体参数模型上运动节点形成的可视化示意图;
31.图6为本发明实施例提供的另一种实时驱动方法的流程图;
32.图7为本发明实施例提供的一种人体参数模型与待驱动模型拟合方法的流程图;
33.图8为本发明实施例提供的一种实时驱动装置的示意图;
34.图9为本发明实施例提供的另一种实时驱动装置的示意图;
35.图10为本发明实施例提供的一种实时驱动设备的示意图;
36.图11为本发明实施例提供的另一种实时驱动设备的示意图。
具体实施方式
37.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
38.基于动态实时三维重建技术实现远程三维重建社交系统的方式为:预先将离线重建好的三维模型传输到渲染终端,接下来每一帧利用rgb相机或运动捕捉系统(光学、imu传感器等),进行人体的姿态提取,传输到渲染端,实时驱动预先重建好的模型,这种方法为“预模板+实时人体姿态驱动”的实时三维重建。这种基于预模板的人体三维重建,是预先利用静态三维重建或动画师建模,构建少端点、少面片的精简模型,预存在显示渲染终端。接着,在采集端利用姿态传感器或rgb相机等进行实时的人体2d或3d姿态提取,将姿态结果通过云端传输到显示渲染终端,再根据姿态数据和蒙皮算法,实时驱动预存的人体三维模型,达到实时重建的效果。
39.但这种方法中采集端利用姿态传感器或rgb相机等进行实时的人体2d或3d姿态提取时,仅是提取人体骨骼关键点的位置来进行人体姿态的提取,这种方法识别稳定性差、精度低,造成驱动效果不真实、容易动作畸形和“穿帮”。
40.为解决上述问题,本发明实施例提供了一种实时驱动方法,能够实现高精度且无标记运动捕捉,并且实现快速的、合理的自动化运动匹配,使得捕捉的目标对象的运动数据更能贴合被驱动模型,避免“穿帮”和“滑步”现象,进一步降低了驱动成本和时间,并提高了驱动的质量。
41.如图1所示,本发明实施例提供了一种实时驱动方法的应用场景,包括采集端101,云端102和渲染端103。
42.采集端101通过多个相机实时采集目标对象的人体参数实时的图像数据,根据采集到的实施图像数据,确定目标对象的人体三维点云数据,并与人体参数模型进行拟合后确定人体参数模型的运动信息,并将上述人体参数模型的运动信息传输到云端;
43.云端102接收采集端上传的人体参数模型的运动信息,并将该运动信息传输给渲染端;
44.渲染端103接收该运动信息,并结合预先获取的所述人体参数模型与待驱动模型的运动绑定关系,对待驱动模型进行实时的驱动,上述渲染端可以配置在智能手机、平板电脑、台式机、笔记本电脑、智能电视以及vr头显设备等能够具备rgb和depth数据采集和处理功能的设备中。
45.实施例1
46.如图2所示,本发明实施例提供一种实时驱动方法,应用于采集端,包括以下步骤:
47.步骤201,通过预置的多个相机获取目标对象的同一帧的实时图像;
48.在一些实施例中,上述多个相机指3个或3个以上的rgbd相机,用于实时的采集和处理目标对象的rgb和depth数据。
49.具体实施中,在通过预置的多个相机获取目标对象的实时图像前,还需要预先搭建采集环境,即将上述多个相机配置在固定位置形成一个采集区域,图3为以3个rgbd相机为例搭建的一个采集区域的示意图。
50.并且,本发明实施例中还预先完成多个相机之间的标定,即确定多个相机之间的位置关系,为了达到高精度的标定结果,首先利用张正友标定法对多相机之间进行标定,得到整个rgbd系统的标定初值,然后利用基于ba优化的icp算法在标定初值的基础得到高精度的标定结果。
51.在完成采集环境的搭建并完成相机标定后,当确定目标对象进入采集区域后,通过配置的多个相机采集目标对象的实时图像,并获取同一帧的实时图像。
52.步骤202,根据所述多个相机的坐标标定关系,利用获取的同一帧的实时图像构建当前帧对应的人体三维点云数据;
53.上述同一帧的实时图像中包括预置的多个相机获取的不同视角的同一帧的实时图像,需要注意的是,上述进行人体三维点云数据构建所使用的实时图像为各视角对应的部分拼接得到的人体三维点云数据。
54.在一些实施例中,根据所述多个相机的坐标标定关系,利用获取的同一帧的实时图像构建当前帧对应的人体三维点云数据,包括:
55.根据不同视角的相机获取的同一帧实时图像,得到各视角的部分人体三维点云数据,根据所述多个相机的坐标标定关系,将所述各视角的部分人体三维点云数据融合到同一空间内,得到当前帧对应的人体三维点云数据。
56.上述同一空间是指统一的世界坐标系,人体参数模型和待驱动模型也位于该世界坐标系中。
57.步骤203,将所述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,所述运动信息包括所述人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
58.本发明实施例中预先建立了人体参数模型,通过改变其参数即可对该人体参数模型的形体和姿态进行更改。
59.在一些实施例中,如图4所示,当上述当前帧为第一帧时,将上述人体三维点云数据与人体参数模型进行拟合,获取上述人体参数模型的运动信息,包括:
60.利用骨骼点检测算法提取人体三维点云数据的骨骼关键点,并与人体参数模型对应的骨骼关键点进行刚性拟合;
61.从上述实时图像的二维图像数据中获取人体的运动特征参数,并作为刚性拟合后人体参数模型的初始运动特征参数;
62.利用上述初始运动特征参数,将上述刚性拟合后的人体参数模型与上述人体三维点云数据进行非刚性拟合,确定上述非刚性拟合后人体参数模型的运动信息。
63.在一些实施例中,上述利用骨骼点检测算法提取人体三维点云数据的骨骼关键点的方式,可以为直接利用3d人体骨骼点检测算法直接提取出人体三维点云数据的3d骨骼关键点,还可以为先获取人体全身的二维图像,利用2d的骨骼点检测算法,确定2d的骨骼点,然后根据映射关系确定人体三维点云数据的3d骨骼关键点。
64.在获取人体三维点云数据的骨骼关键点,和人体参数模型对应的骨骼关键点后,
利用上述两者的骨骼关键点,确定由人体参数模型向人体三维点云数据变换所需的缩放系数和刚性变换关系,并根据该缩放系数和刚性变换关系,将人体参数模型状变为第一状态的人体参数模型。
65.然后,通过rgbd相机获取多个视角中的目标对象的rgb图像(二维图像),并根据该多个视角中rgb图像,分别确定各个视角下的运动特征参数,并对各个视角下的运动特征参数求均值,获取最终的目标对象的运动特征参数。其中,上述运动特征参数包括姿态参数和形体参数。
66.以上述目标对象的运动特征参数pt作为人体参数模型的初始值,即进行非刚性拟合时人体参数模型的运动特征参数,基于该运动特征参数,利用icp算法将上述人体参数模型与上述人体三维点云数据进行非刚性拟合,首先建立能量函数,利用高斯-牛顿等优化方法,优化人体参数模型的一组姿态参数和形体参数,并使得能量函数达到最小值,获取能量函数达到最小值时人体参数模型对应的姿态参数和形体参数,并利用smpl模型,将人体参数模型转变为人体三维点云数据的形态,具体的:
67.loss能量函数定义为:
68.e
loss
=e
sdata
+e
reg
69.其中,e
sdata
为数据项,用于衡量参考体中参数化人体模型点云与三维点云的对应点对之间的匹配对齐程度,匹配对齐程度越大,e
sdata
越小,e
reg
为smpl模型中的骨骼点铰链关系中的正则项。
70.smpl模型如下:
71.m(β,θ)=w(t
p
(β,θ),j(β),θ,ω)
72.t
p
(β,θ)=t+bs(β)+b
p
(θ)
73.其中β为体型参数,θ为姿态参数,w为蒙皮函数,bs(β)为不同体型的人通过体型参数构建的线性函数,bp(θ)为不同姿态体态的人通过运动姿态参数对人体体型构成影响的函数,t为平均人体体型参数,j(θ)为预测不同关节点位置的函数,ω为混合权重,tp(β,θ)为中间变量。
74.并且,在进行非刚性拟合后,将非刚性拟合后的人体参数模型对应的运动特征参数进行保存,以便后续的使用。
75.在一些实施例中,当上述当前帧图像为除第一帧外的其他任一帧时,将上述人体三维点云数据与人体参数模型进行拟合,获取上述人体参数模型的运动信息,包括:
76.将上述人体三维点云数据与上一帧非刚性拟合后的人体参数模型进行非刚性拟合,获取当前帧非刚性拟合后的人体参数模型的运动信息。
77.在一些实施例中,如果当前帧图像为除第一帧外的其他任一帧时,将上述人体三维点云数据与人体参数模型进行拟合的过程中不再需要进行基于骨骼关键点的刚性变换,仅需要以上一帧非刚性拟合后的人体参数模型的运动特征参数pt作为人体参数模型的初始值,进行人体三维点云数据与人体参数模型进行非刚性拟合,非刚性拟合的具体步骤与上述第一帧非刚性拟合的步骤一致,此处不再赘述。
78.步骤204,将获取的人体参数模型的运动信息传输到渲染端;
79.采集端在获取人体参数模型的运动信息后,通过云端将上述运动信息传输给渲染端。
80.上述方法,利用在人体参数模型上预先设定运动节点的方法,将传统的运动捕捉仅为人体骨骼点的方式,扩展到更高维的运动空间中,使得本发明的方法可以驱动顶点数更高、面片数更高的模型,而且驱动效果更加平滑、真实,还可以有效的提高重建模型具有外层衣物的情况。
81.并且,人体参数模型进行拟合的方法,可以有效地提高拟合的效率,达到实时性的需求,并且拟合过程具有时域的连贯性,能够保证驱动效果的平滑。
82.上述步骤203中,人体参数模型上预先定义的各运动节点根据以下任一或任多方法确定:
83.从多个采样点中选取第一采样点,将所述第一采样点作为所述人体参数模型的运动节点;
84.从多个采样点中选取第二采样点,并从所述第二采样点周围选取多个顶点,将选取的多个顶点的中心点作为所述人体参数模型的运动节点;
85.所述采样点为对所述人体参数模型的多个顶点按照预设比率进行均匀采样后获取的。
86.上述人体参数模型的多个顶点是指位于人体参数模型表面的多个顶点。
87.采样时,对初始化的人体参数模型的多个顶点利用均匀采样算法进行空间均匀采样,采样的预设比率可以根据需求进行设定,例如,设置为1:10,其中,初始化的人体参数模型的姿态可以根据需求进行设定,比如设定为t pose。
88.在一些实施例中,运动节点的定义方法可以为:一是采用直接从采样点中提取的方法,此方法可应用于如胸前、后背等不易被遮挡的部位;二是通过从选取的采样点周围再选取多个顶点,如4-8个,再对多个顶点求中心点的方法来定义运动节点,此方法可应用于如腋窝等容易被遮挡的部位,利用上述方法采样后形成的可视化图像如图5所示,图中各个点代表定义出的运动节点,各个点之间的连线代表运动节点之间的连接关系,即各个运动节点的位置关联关系。
89.在定义运动节点后,将上述运动节点构成的运动节点图以文件形式进行保存,后续使用时可以直接沿用,无需在进行重新定义。
90.如图6所示,本发明实施例还提供一种实时驱动方法,应用于渲染端,包括以下步骤:
91.步骤601,接收采集端传输的人体参数模型的运动信息,其中,上述人体参数模型的运动信息为将目标对象的人体三维点云数据与人体参数模型进行拟合得到,包括人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
92.在一些实施例中,渲染端通过云端接收采集端坐标传输的人体参数模型的运动信息。
93.步骤602,根据上述人体参数模型的运动信息,及预先获取的所述人体参数模型与待驱动模型的运动绑定关系,对所述待驱动模型进行实时驱动。
94.在一些实施例中,利用lbs蒙皮或者dqs蒙皮的方法来实现对待驱动模型的驱动。
95.在一些实施例中,所述人体参数模型与待驱动模型的运动绑定关系根据以下方法获取:
96.利用骨骼点检测算法提取待驱动模型的骨骼关键点,并与人体参数模型对应的骨
骼关键点进行刚性拟合;
97.将所述刚性拟合后的人体参数模型与上述待驱动模型进行非刚性拟合,确定所述人体参数模型与待驱动模型的运动绑定关系。
98.上述待驱动模型一般为mesh结构,包含顶点、面片、纹理信息等。
99.如图7所示,人体参数模型与待驱动模型进行运动匹配的大体过程分为刚性拟合和非刚性拟合两部分,首先提取待驱动模型的骨骼关键点,例如,将待驱动模型正面投影得到全身的二维图像,利用2d的骨骼点检测算法得到2d的骨骼点,然后根据映射关系得到3d的骨骼点,并与人体参数模型对应的骨骼关键点进行刚性拟合,得到由人体参数模型到待驱动模型的缩放系数,以及刚性变换关系。将人体参数模型通过缩放系数和刚性变换关系变向待驱动模型方向进行变换,然后将变换后人体参数模型的与待驱动模型进行非刚性拟合,确定所述人体参数模型与待驱动模型的运动绑定关系。
100.上述非刚性拟合的具体构成同上述人体参数模型与目标对象的人体三维点云数据进行非刚性拟合的方法相同,此处不再赘述。
101.需要注意的是,上述人体参数模型、待驱动模型和人体三维点云数据都是建立在统一的世界坐标系中。
102.实施例2
103.以下对执行上述实时驱动方法的装置进行说明。
104.请参阅图8,本发明实施例提供一种实时驱动装置,该装置包括:
105.图像采集模块801,用于通过预置的多个相机获取目标对象的同一帧的实时图像;
106.点云数据构建模块802,用于根据所述多个相机的坐标标定关系,利用获取的同一帧的实时图像构建当前帧对应的人体三维点云数据;
107.运动信息确定模块803,用于将所述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,所述运动信息包括所述人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
108.数据传输模块804,用于将获取的所述人体参数模型的运动信息传输到渲染端。
109.可选的,上述人体参数模型上预先定义的各运动节点根据以下任一或任多方法确定:
110.从多个采样点中选取第一采样点,将所述第一采样点作为所述人体参数模型的运动节点;
111.从多个采样点中选取第二采样点,并从所述第二采样点周围选取多个顶点,将选取的多个顶点的中心点作为所述人体参数模型的运动节点;
112.所述采样点为对所述人体参数模型的多个顶点按照预设比率进行均匀采样后获取的。
113.可选的,运动信息确定模块803用于当所述当前帧为第一帧时,将所述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,包括:
114.利用骨骼点检测算法提取人体三维点云数据的骨骼关键点,并与人体参数模型对应的骨骼关键点进行刚性拟合;
115.从所述实时图像的二维图像数据中获取人体的运动特征参数,并作为刚性拟合后人体参数模型的初始运动特征参数;
116.利用所述初始运动特征参数,将所述刚性拟合后的人体参数模型与所述人体三维点云数据进行非刚性拟合,确定所述非刚性拟合后人体参数模型的运动信息。
117.可选的,运动信息确定模块803用于当所述当前帧图像为除第一帧外的其他任一帧时,将所述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,包括:
118.将所述人体三维点云数据与上一帧非刚性拟合后的人体参数模型进行非刚性拟合,获取当前帧非刚性拟合后的人体参数模型的运动信息。
119.可选的,点云数据构建模块802用于根据所述多个相机的坐标标定关系,利用获取的同一帧的实时图像构建当前帧对应的人体三维点云数据,包括:
120.根据不同视角的相机获取的同一帧实时图像,得到各视角的部分人体三维点云数据,根据所述多个相机的坐标标定关系,将所述各视角的部分人体三维点云数据融合到同一空间内,得到当前帧对应的人体三维点云数据。
121.请参阅图9,本发明实施例还提供一种实时驱动装置,该装置包括:
122.数据接收模块901,用于接收采集端传输的人体参数模型的运动信息,其中,所述人体参数模型的运动信息为将目标对象的人体三维点云数据与人体参数模型进行拟合得到,包括所述人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
123.实时驱动模块902,用于根据所述人体参数模型的运动信息,及预先获取的所述人体参数模型与待驱动模型的运动绑定关系,对所述待驱动模型进行实时驱动。
124.可选的,上述人体参数模型与待驱动模型的运动绑定关系根据以下方法获取:
125.利用骨骼点检测算法提取待驱动模型的骨骼关键点,并与人体参数模型对应的骨骼关键点进行刚性拟合;
126.将所述刚性拟合后的人体参数模型与所述待驱动模型进行非刚性拟合,确定所述人体参数模型与待驱动模型的运动绑定关系。
127.实施例3
128.在介绍了本发明示例性实施方式的实时驱动方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的设备。
129.所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
130.在一些可能的实施方式中,根据本发明的设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本发明各种示例性实施方式的实时驱动方法中的步骤。
131.下面参照图10来描述根据本发明的这种实施方式的设备1000。图10显示的设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
132.如图10所示,设备1000以通用设备的形式表现。设备1000的组件可以包括但不限于:上述至少一个处理器1001、上述至少一个存储器1002、连接不同系统组件(包括存储器1002和处理器1001)的总线1003,其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行以下步骤:
133.通过预置的多个相机获取目标对象的同一帧的实时图像;
134.根据所述多个相机的坐标标定关系,利用获取的同一帧的实时图像构建当前帧对应的人体三维点云数据;
135.将所述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,所述运动信息包括所述人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
136.将获取的人体参数模型的运动信息传输到渲染端。
137.总线1003表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
138.存储器1002可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)10021和/或高速缓存存储器10022,还可以进一步包括只读存储器(rom)10023。
139.存储器1002还可以包括具有一组(至少一个)程序模块10024的程序/实用工具10025,这样的程序模块10024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
140.设备1000也可以与一个或多个外部设备1004(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与设备1000交互的设备通信,和/或与使得该设备1000能与一个或多个其它设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1005进行。并且,设备1000还可以通过网络适配器1006与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1006通过总线1003与用于设备1000的其它模块通信。应当理解,尽管图中未示出,可以结合设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
141.可选的,所述人体参数模型上预先定义的各运动节点根据以下任一或任多方法确定:
142.从多个采样点中选取第一采样点,将所述第一采样点作为所述人体参数模型的运动节点;
143.从多个采样点中选取第二采样点,并从所述第二采样点周围选取多个顶点,将选取的多个顶点的中心点作为所述人体参数模型的运动节点;
144.所述采样点为对所述人体参数模型的多个顶点按照预设比率进行均匀采样后获取的。
145.可选的,上述处理器用于当所述当前帧为第一帧时,将所述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,包括:
146.利用骨骼点检测算法提取人体三维点云数据的骨骼关键点,并与人体参数模型对应的骨骼关键点进行刚性拟合;
147.从所述实时图像的二维图像数据中获取人体的运动特征参数,并作为刚性拟合后人体参数模型的初始运动特征参数;
148.利用所述初始运动特征参数,将所述刚性拟合后的人体参数模型与所述人体三维点云数据进行非刚性拟合,确定所述非刚性拟合后人体参数模型的运动信息。
149.可选的,所述处理器用于当所述当前帧图像为除第一帧外的其他任一帧时,将所
述人体三维点云数据与人体参数模型进行拟合,获取所述人体参数模型的运动信息,包括:
150.将所述人体三维点云数据与上一帧非刚性拟合后的人体参数模型进行非刚性拟合,获取当前帧非刚性拟合后的人体参数模型的运动信息。
151.可选的,所述处理器用于根据所述多个相机的坐标标定关系,利用获取的同一帧的实时图像构建当前帧对应的人体三维点云数据,包括:
152.根据不同视角的相机获取的同一帧实时图像,得到各视角的部分人体三维点云数据,根据所述多个相机的坐标标定关系,将所述各视角的部分人体三维点云数据融合到同一空间内,得到当前帧对应的人体三维点云数据。
153.在一些可能的实施方式中,本发明实施例还提供另一种实时驱动设备,可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本发明各种示例性实施方式的实时驱动方法中的步骤。
154.下面参照图11来描述根据本发明的这种实施方式的设备1100。图11显示的设备1100仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
155.如图11所示,设备1100以通用设备的形式表现。设备1100的组件可以包括但不限于:上述至少一个处理器1101、上述至少一个存储器1102、连接不同系统组件(包括存储器1102和处理器1101)的总线1103,其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行以下步骤:
156.接收采集端传输的人体参数模型的运动信息,其中,所述人体参数模型的运动信息为将目标对象的人体三维点云数据与人体参数模型进行拟合得到,包括所述人体参数模型上预先定义的各运动节点对应的顶点坐标和方向;
157.根据所述人体参数模型的运动信息,及预先获取的所述人体参数模型与待驱动模型的运动绑定关系,对所述待驱动模型进行实时驱动。
158.总线1103表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
159.存储器1102可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)11021和/或高速缓存存储器11022,还可以进一步包括只读存储器(rom)11023。
160.存储器1102还可以包括具有一组(至少一个)程序模块11024的程序/实用工具11025,这样的程序模块11024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
161.设备1100也可以与一个或多个外部设备1104(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与设备1100交互的设备通信,和/或与使得该设备1100能与一个或多个其它设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1105进行。并且,设备1100还可以通过网络适配器1106与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1106通过总线1103与用于设备1100的其它模块通信。应当理解,尽管图中未示出,可以结合设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
162.可选的,所述人体参数模型与待驱动模型的运动绑定关系根据以下方法获取:
163.利用骨骼点检测算法提取待驱动模型的骨骼关键点,并与人体参数模型对应的骨骼关键点进行刚性拟合;
164.将所述刚性拟合后的人体参数模型与所述待驱动模型进行非刚性拟合,确定所述人体参数模型与待驱动模型的运动绑定关系。
165.在一些可能的实施方式中,本发明提供的一种实时驱动方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的一种实时驱动方法中的步骤。
166.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
167.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。