掌桥专利:专业的专利平台
掌桥专利
首页

一种模型重建方法、装置、设备及存储介质

文献发布时间:2023-06-19 16:06:26



相关申请的交叉引用

本申请要求2022年02月28日提交新加坡知识产权局的新加坡专利申请10202202013R的优先权,该申请的全部内容通过引用并入本文。

技术领域

本公开实施例涉及图像处理领域,尤其涉及一种模型重建方法、装置、设备及存储介质。

背景技术

针对待重建对象的模型重建技术或者动作捕捉技术往往需要使用昂贵的光学器材,且待重建对象需要在特定的关节点(关键点)处设置特质反光球,以便光学器材的采集,不仅设备成本较高,也难以得到完整的三维模型。

发明内容

本公开实施例提供一种模型重建方法、装置、设备及存储介质。

第一方面,提供一种模型重建方法,包括:

获取待重建对象对应的多个视角的扫描图像;

基于所述多个视角的扫描图像确定所述待重建对象的第一三维关键点信息;

基于所述待重建对象的第一三维关键点信息对初始参数化模型进行调整,得到表征所述待重建对象的真实体态的目标参数化模型。

在一些实施例中,所述扫描图像包括纹理图像,所述基于所述多个视角的扫描图像确定所述待重建对象的第一三维关键点信息,包括:

获取所述多个视角中每一所述视角对应的相机参数和纹理图像;

对每一所述视角的纹理图像进行二维关键点检测,得到每一所述视角的纹理图像对应的二维关键点信息;

基于每一所述视角对应的相机参数和每一所述视角的纹理图像对应的二维关键点信息,确定所述待重建对象的第一三维关键点信息。

在一些实施例中,所述基于每一所述视角对应的相机参数和每一所述视角的纹理图像对应的二维关键点信息,确定所述待重建对象的第一三维关键点信息,包括:

基于每一所述视角的纹理图像对应的二维关键点信息,确定每一二维关键点在每一所述视角的纹理图像中的位置信息;

针对每一所述二维关键点,基于所述二维关键点在每一所述视角的纹理图像中的位置信息和每一所述视角的相机参数,确定所述二维关键点对应的三维关键点在世界坐标系中的位置信息;所述第一三维关键点信息包括每一所述二维关键点对应的三维关键点在世界坐标系中的位置信息。

在一些实施例中,所述扫描图像包括深度图像,所述方法还包括:

基于所述多个视角的扫描图像,在世界坐标系构建所述待重建对象的三维点云数据;

基于所述三维点云数据构建所述待重建对象的第一网格模型;

基于所述第一网格模型和所述多个视角的扫描图像,确定所述待重建对象的第一网格模型的表面纹理。

在一些实施例中,所述基于所述多个视角的扫描图像,在世界坐标系构建所述待重建对象的三维点云数据,包括:

获取所述多个视角中每一所述视角对应的相机参数;

针对每一所述视角,基于所述视角对应的扫描图像中的纹理图像和深度图像,确定多个扫描像素点中每一所述扫描像素点的纹理信息和深度信息;基于所述视角对应的相机参数和每一所述扫描像素点的纹理信息和深度信息,生成所述视角对应的点云集合,所述点云集合包括每一所述扫描像素点在世界坐标系中的位置信息;

基于每一所述视角对应的点云集合构建所述待重建对象的三维点云数据。

在一些实施例中,所述扫描图像包括纹理图像;所述基于所述第一网格模型和所述多个视角的扫描图像,确定所述待重建对象的第一网格模型的表面纹理,包括:

针对所述第一网格模型中任意一个模型三角面,将所述模型三角面投影至至少一个所述视角的纹理图像中,确定所述模型三角面在每一所述纹理图像中对应的投影三角面和所述投影三角面的纹理信息;基于每一所述投影三角面的纹理信息确定所述模型三角面的纹理信息;

基于所述第一网格模型中每一所述模型三角面的纹理信息,生成所述第一网格模型的表面纹理。

在一些实施例中,所述将所述模型三角面投影至至少一个所述视角的纹理图像中,确定所述模型三角面在每一所述纹理图像中对应的投影三角面和所述投影三角面的纹理信息,包括:

针对每一所述视角,在世界坐标系中基于所述模型三角面的模型顶点坐标和所述视角的相机参数,确定所述视角中所述模型三角面的模型顶点坐标对应的投影三角面的投影顶点坐标;

基于所述视角中投影三角面的投影顶点坐标在所述视角对应的纹理图像中确定所述投影三角面和所述投影三角面的纹理信息。

在一些实施例中,所述扫描图像还包括深度图像;所述基于所述视角中投影三角面的投影顶点坐标在所述视角对应的纹理图像中确定所述投影三角面和所述投影三角面的纹理信息,包括:

基于所述模型三角面的模型顶点坐标和所述视角的相机参数,生成所述投影三角面中每一投影像素点对应的重建深度信息;

基于所述深度图像中的每一扫描像素点的深度信息,确定所述投影三角面中每一投影像素点对应的原始深度信息;

基于所述投影三角面中每一投影像素点对应的重建深度信息和原始深度信息,确定所述投影三角面中的有效像素点;所述有效像素点的重建深度信息和原始深度信息之间的距离小于预设的深度距离阈值;

基于所述纹理图像和所述投影三角面中的有效像素点,确定所述投影三角面的纹理信息。

在一些实施例中,所述基于所述待重建对象的第一三维关键点信息对初始参数化模型进行调整,得到表征所述待重建对象的真实体态的目标参数化模型,包括:

基于所述第一三维关键点信息构建目标能量函数;所述目标能量函数用于确定所述初始参数化模型与所述待重建对象的真实体态的差异;所述目标能量函数至少包括第一能量函数,所述第一能量函数用于表征所述初始参数化模型对应的第二三维关键点信息与所述第一三维关键点信息之间的差异;

通过最小化所述目标能量函数调整所述初始参数化模型,得到所述目标参数化模型。

在一些实施例中,通过以下方式构建所述第一能量函数:

基于所述初始参数化模型的初始模型参数,确定所述初始参数化模型对应的第二网格模型;

基于所述第二网格模型确定所述初始参数化模型对应的第二三维关键点信息;

基于所述第一三维关键点信息与所述第二三维关键点信息之间的三维关键点距离,构建所述第一能量函数。

在一些实施例中,所述目标能量函数还包括以下至少之一:第二能量函数和第三能量函数;其中,所述第二能量函数用于表征所述初始参数化模型对应的第二网格模型与所述目标对象对应的第三网格模型之间的差异;所述第三能量函数用于约束所述初始参数化模型中三维关键点的旋转角度。

在一些实施例中,所述目标能量函数包括所述第二能量函数;所述方法还包括:获取待重建对象对应的第三网格模型;所述第三网格模型用于表征所述待重建对象的体型特征;

通过以下方式构建所述第二能量函数:

获取所述第二网格模型对应的第二模型顶点集合和所述第三网格模型对应的第三模型顶点集合;所述第二模型顶点集合包括所述第二网格模型中各第二模型顶点的三维坐标;所述第三模型顶点集合包括所述第三网格模型中各第三模型顶点的三维坐标;

基于各所述第三模型顶点的三维坐标和各所述第二模型顶点的三维坐标,在所述第三模型顶点集合中确定每一所述第二模型顶点对应的第一距离,在所述第二模型顶点集合中确定每一所述第三模型顶点对应的第二距离;

基于所述每一所述第二模型顶点对应的第一距离和每一所述第三模型顶点对应的第二距离,构建所述第二能量函数。

在一些实施例中,所述目标能量函数包括所述第三能量函数;通过以下方式构建所述第三能量函数:

获取至少一个所述三维关键点的旋转阈值;所述旋转阈值包括所述三维关键点在每一旋转轴对应的旋转范围;

基于至少一个所述三维关键点的旋转阈值构建所述第三能量函数。

在一些实施例中,所述扫描图像还包括深度图像;所述基于每一所述视角对应的相机参数和每一所述视角的纹理图像对应的二维关键点信息,确定所述待重建对象的第一三维关键点信息,包括:

基于每一所述视角的纹理图像对应的二维关键点信息,确定每一二维关键点在每一所述视角的纹理图像中的位置信息;

针对每一所述视角,基于每一所述二维关键点在所述视角的纹理图像中的位置信息、所述视角的深度图像和相机参数,确定所述视角中每一所述二维关键点在世界坐标系中的中间三维关键点信息;

针对每一所述二维关键点,基于所述二维关键点在每一所述视角对应的中间三维关键点信息,确定所述二维关键点对应的三维关键点在世界坐标系中的位置信息;所述第一三维关键点信息包括每一所述二维关键点对应的三维关键点在世界坐标系中的位置信息。

在一些实施例中,所述方法还包括:

获取预设的动作集合;所述动作集合包括多个预设动作和每一所述预设动作对应的第二三维关键点信息;

将目标三维关键点信息对应的预设动作确定为所述待重建对象的真实动作;所述目标三维关键点信息与所述待重建对象的第一三维关键点信息匹配。

第二方面,提供一种模型重建装置,包括:

获取模块,用于获取待重建对象对应的多个视角的扫描图像;

确定模块,用于基于所述多个视角的扫描图像确定所述待重建对象的第一三维关键点信息;

调整模块,用于基于所述待重建对象的第一三维关键点信息对初始参数化模型进行调整,得到表征所述待重建对象的真实体态的目标参数化模型。

第三方面,提供一种模型重建设备,包括:存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法中的步骤。

第四方面,提供一种计算机存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述方法中的步骤。

在本公开实施例中,通过获取该待重建对象在多个视角的扫描图像,可以确定该待重建对象的第一三维关键点信息,相比于传统技术中需要在待重建对象的关键点位置设置反光球等装置的方法,本公开不需要设置反光球即可通过多视角的扫描图像确定该带重建对象的三维关键点信息,不仅便于实施,并且使用的扫描设备成本更低;同时,基于得到的待重建对象的第一三维关键点信息对初始参数化模型进行调整,得到目标参数化模型,可以实现三维关键点到参数化模型之间的转换,得到的目标参数化模型也可以体现待重建对象的真实体态。

附图说明

图1为本公开实施例提供的一种模型重建方法的流程示意图;

图2为本公开实施例提供的一种模型重建方法的流程示意图;

图3为本公开实施例提供的一种模型重建方法的流程示意图;

图4为本公开实施例提供的一种模型重建方法的流程示意图;

图5为本公开实施例提供的一种模型重建方法的流程示意图;

图6为本公开实施例提供的一种模型重建方法的流程示意图;

图7为本公开实施例提供的一种模型重建装置的组成结构示意图;

图8为本公开实施例提供的一种模型重建设备的硬件实体示意图。

具体实施方式

下面将通过实施例并结合附图具体地对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

需要说明的是:在本公开实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述目标的顺序或先后次序。另外,本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。

1)图像坐标系:图像坐标系是以相机采集到的图像的左上顶点为原点,建立的以毫米或像素点为单位的坐标系。图像坐标系的x轴与y轴为采集到的图像的长宽方向。

2)相机坐标系:相机坐标系是以相机的聚焦中心为原点,以光轴为z轴建立的三维直角坐标系。其中,相机坐标系的x轴与采集到的图像的图像坐标系的x轴平行,相机坐标系的y轴与采集到的图像的图像坐标系的y轴平行。

3)世界坐标系:世界坐标系能够描述相机在现实世界中的位置,同样还能够描述相机采集到的图像中的物体在现实世界中的位置。可以通过相机在世界坐标系中的位姿,将相机坐标系转换为世界坐标系。通常,该世界坐标系的x轴水平指向正东方向,y轴水平指向正北方向,z轴竖直向上。

4)RGB图像(其中,R代表Red,即红色;G代表Green,即绿色;B代表Blue,即蓝色):指根据RGB色彩模式得到的图像。RGB色彩模式是工业界的一种颜色标准,是通过对红、绿、蓝三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。

5)深度图像(Depth Map):在三维计算机图形中,深度图是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道。其中,深度图类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离。

6)RGBD图像(其中,R代表Red,即红色;G代表Green,即绿色;B代表Blue,即蓝色;D代表Depth,即深度):RGBD图像是由RGB图像和深度图组成的,由于RGB图像和深度图是配准的,因而像素点之间具有一对一的对应关系。故可以将RGB图像和深度图中的像素点进行组合生成RGBD图像。

7)SMPL模型:一种参数化的人体模型,该模型由SMPL参数驱动,SMPL参数中包括形态(shape)参数β以及姿态(pose)参数θ。其中,形态参数包含表征人体的高矮胖瘦、头身比例等10个参数;姿态(pose)参数包含24个关节点对应的72个参数。

本公开实施例提供一种模型重建方法,能够基于扫描图像完成对待重建对象的模型重建,成本较低。本公开实施例提供的模型重建方法应用于电子设备。

下面说明本公开实施例提供的电子设备的示例性应用,本公开实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端(以下简称终端),也可以实施为服务器。

参见图1,图1是本公开实施例提供的模型重建方法的一个可选的流程示意图,将结合图1示出的步骤进行说明。

S101、获取待重建对象对应的多个视角的扫描图像。

在一些实施例中,可以在真实场景中设置多个扫描设备,每一扫描设备可以得到一个视角的扫描图像。需要说明的是,在对该待重建对象进行模型重建的过程中,多个扫描设备需要同时扫描该待重建对象,以得到该多个视角的扫描图像。

在一些实施例中,该多个扫描设备可以预先固定于扫描支架上,在对该待重建对象进行扫描的过程中,该扫描支架中的多个扫描设备可以围绕在该待重建对象周围,以从不同视角获取该多个视角的扫描图像。例如,在该扫描设备为4个的情况下,可以分别设置于该待重建对象的正前方、正后方、正左方和正右方;在该扫描设备为8个的情况下,可以分别设置于该待重建对象的正前方、正后方、正左方、正右方、左前方、右前方、左后方和右后方。当然,也可以设置多层的扫描设备,进而从更加全面的视角获取待重建对象的扫描图像。其中,可以按照不同高度设置多层扫描设备,例如,在该待重建对象为人的情况下,可以在腿部高度设置第一层扫描设备,该第一层扫描设备可以从多个视角扫描待重建对象的腿部图像;还可以在躯干高度设置第二层扫描设备,该第二层扫描设备可以从多个视角扫描待重建对象的躯干图像;还可以在头部高度设置第三层扫描设备,该第三层扫描设备可以从多个视角扫描待重建对象的头部图像。

在一些实施例中,该待重建对象可以为人、动物、植物、车辆等。

在一些实施例中,每一视角对应的扫描图像可以包括多个扫描像素点,每一扫描像素点包括颜色通道和深度通道。以该扫描设备为RGBD相机为例,该扫描图像包括每一扫描像素点的红、绿、蓝三个颜色通道和每一扫描像素点的深度通道。

S102、基于所述多个视角的扫描图像确定所述待重建对象的第一三维关键点信息。

其中,该第一三维关键点信息为世界坐标系下该待重建对象对应的多个三维关键点和每一三维关键点的三维坐标。

在一些实施例中,可以基于任一视角对应的扫描图像确定该视角对应的二维关键点的二维坐标和深度信息,结合该视角对应的相机参数,可以将位于扫描图像的图像坐标系的二维关键点的二维坐标转换为世界坐标系下的该二维关键点对应的三维关键点的三维坐标。

在一些实施例中,可以基于至少两个视角对应的扫描图像,确定每一视角中各二维关键点的二维坐标,结合各视角对应的相机参数,可以得到世界坐标系下各二维关键点对应的三维关键点的三维坐标。

S103、基于所述待重建对象的第一三维关键点信息对初始参数化模型进行调整,得到表征所述待重建对象的真实体态的目标参数化模型。

在一些实施例中,该初始参数化模型为预设的参数化模型,该参数化模型是有参数驱动的三维模型。以待重建对象为人为例,对应的参数化模型可以为SMPL、DMPL,SMPL+H和SMPL-x。为例便于说明本公开,以下实施例将以该参数化模型为SMPL为例进行说明。

在一些实施例中,该初始参数化模型为基于初始模型参数确定的人体模型。其中,模型参数包括形态(shape)参数以及姿态(pose)参数。该形态参数包含表征人体的高矮胖瘦、头身比例等10个参数;姿态参数包含24个关节点对应的72个参数(每个关节点对应的参数使用一个三维旋转向量表示,因此共包含24×3个参数)。其中,通过调整该初始模型参数,使得调整后的模型参数对应的参数化模型对应的第二三维关键点信息与该第一三维关键点信息之间的差距满足预设条件,将该调整后的参数化模型确定为表征所述待重建对象的真实体态的目标参数化模型。

其中,该第二三维关键点信息为世界坐标系下该参数化模型对应的多个三维关键点和每一三维关键点的三维坐标,通过计算每一三维关键点在第一三维关键点信息中的三维坐标和第二三维关键点信息中的三维坐标之间的距离,确定该第二三维关键点信息与该第一三维关键点信息之间的差距。

在本公开实施例中,通过获取该待重建对象在多个视角的扫描图像,可以确定该待重建对象的第一三维关键点信息,相比于传统技术中需要在待重建对象的关键点位置设置反光球等装置的方法,本公开不需要设置反光球即可通过多视角的扫描图像确定该带重建对象的三维关键点信息,不仅便于实施,并且使用的扫描设备成本更低;同时,基于得到的待重建对象的第一三维关键点信息对初始参数化模型进行调整,得到目标参数化模型,可以实现三维关键点到参数化模型之间的转换,得到的目标参数化模型也可以体现待重建对象的真实体态。

参见图2,图2是本公开实施例提供的模型重建方法的一个可选的流程示意图,基于图1,图1中的S102可以包括S201至S203,将结合图2示出的步骤进行说明。

S201、获取所述多个视角中每一所述视角对应的相机参数和纹理图像。

其中,每一视角对应的扫描图像可以包括用于表征所述待重建对象的视觉特征的纹理图像。以该扫描图像为RGBD图像为例,若该扫描图像的尺寸为800*600,即该扫描图像包括480000个扫描像素点,每一扫描像素点包括红、绿、蓝三个颜色通道和深度通道,其中,该扫描图像中的纹理图像包括每一扫描像素点的红、绿、蓝三个颜色通道;该扫描图像中的深度图像包括每一扫描像素点的深度通道。

其中,该相机参数包括相机内参和相机外参,相机内参用于确定扫描图像中每一扫描像素点在相机坐标系中的三维坐标,相机外参用于将扫描像素点在相机坐标系中的三维坐标转换为世界坐标系中的三维坐标。

S202、对每一所述视角的纹理图像进行二维关键点检测,得到每一所述视角的纹理图像对应的二维关键点信息。

在一些实施例中,可以采用预设的二维关键点检测模型对每一视角的纹理图像进行检测,得到每一视角的纹理图像对应的二维关键点信息。其中,每一视角的纹理图像对应的二维关键点信息包括所述纹理图像中待重建对象的多个二维关键点,和每一二维关键点在所述纹理图像中的位置信息。其中,该位置信息可以为该二维关键点在所述纹理图像中的二维坐标。

S203、基于每一所述视角对应的相机参数和每一所述视角的纹理图像对应的二维关键点信息,确定所述待重建对象的第一三维关键点信息。

在一些实施例中,可以通过步骤S2031至S2032实现上述基于每一所述视角对应的相机参数和每一所述视角的纹理图像对应的二维关键点信息,确定所述待重建对象的第一三维关键点信息。

S2031、基于每一所述视角的纹理图像对应的二维关键点信息,确定每一二维关键点在每一所述视角的纹理图像中的位置信息。

在一些实施例中,针对每一视角的纹理图像,可以基于该纹理图像中的二维关键点信息确定该待重建对象的每一二维关键点在该纹理图像中的位置信息。例如,待重建对象对应N个二维关键点,每一纹理图像的二维关键点信息可以包括每一二维关键点的二维坐标,即包括P1、P2至PN中每一二维关键点的二维坐标。

S2032、针对每一所述二维关键点,基于所述二维关键点在每一所述视角的纹理图像中的位置信息和每一所述视角的相机参数,确定所述二维关键点对应的三维关键点在世界坐标系中的位置信息;所述第一三维关键点信息包括每一所述二维关键点对应的三维关键点在世界坐标系中的位置信息。

在一些实施例中,针对每一个二维关键点,利用该二维关键点在每一视角的位置信息(即二维坐标)和该视角的相机参数(内参和外参)进行三角化处理,得到该二维关键点对应的三维关键点在世界坐标系中的位置信息(即三维坐标)。

例如,针对任意一个二维关键点,如P1,获取该P1在每一视角对应的位置信息(X1,Y1)和每一视角对应的相机参数,其中,至少需要获取两个视角的位置信息和相机参数以确定P1对应的三维关键点在世界坐标系中的位置信息,并且,视角越多,得到的三维关键点在世界坐标系中的位置信息越准确。基于上述方法,可以得到每一二维关键点对应的三维关键点在世界坐标系中的位置信息,进而得到该第一三维关键点信息。

在另一些实施例中,还可以通过步骤S2033至S2034实现上述基于每一所述视角对应的相机参数和每一所述视角的纹理图像对应的二维关键点信息,确定所述待重建对象的第一三维关键点信息。

S2033、基于每一所述视角的纹理图像对应的二维关键点信息,确定每一二维关键点在每一所述视角的纹理图像中的位置信息。

在一些实施例中,针对每一视角的纹理图像,可以基于该纹理图像中的二维关键点信息确定该待重建对象的每一二维关键点在该纹理图像中的位置信息。例如,待重建对象对应N个二维关键点,每一纹理图像的二维关键点信息可以包括每一二维关键点的二维坐标,即包括P1、P2至PN中每一二维关键点的二维坐标。

S2034、针对每一所述视角,基于每一所述二维关键点在所述视角的纹理图像中的位置信息、所述视角的深度图像和相机参数,确定所述视角中每一所述二维关键点在世界坐标系中的中间三维关键点信息。

在一些实施例中,针对每一个二维关键点,先基于该二维关键点在每一视角的位置信息(即二维坐标)和每一视角对应的深度图像,可以确定该二维关键点在每一视角对应的深度数据。针对每一视角,基于该二维关键点的深度数据、该视角的位置信息(即二维坐标)和该视角的相机参数(内参和外参),可以确定该视角中该二维关键点在世界坐标系中的中间三维关键点信息(即三维坐标)。

S2035、针对每一所述二维关键点,基于所述二维关键点在每一所述视角对应的中间三维关键点信息,确定所述二维关键点对应的三维关键点在世界坐标系中的位置信息;所述第一三维关键点信息包括每一所述二维关键点对应的三维关键点在世界坐标系中的位置信息。

在一些实施例中,在得到每一二维关键点在每一视角对应的中间三维关键点信息之后,针对每一二维关键点,在世界坐标系中确定一个目标三维坐标,使得该目标三维坐标与该二维关键点在每一视角对应的中间三维关键点信息之间的距离之和最小,将该目标三维坐标作为该二维关键点对应的三维关键点在世界坐标系中的位置信息。其中,可以将该目标三维坐标设为O,多个视角的中间三维关键点信息设为N

例如,针对任意一个二维关键点,如P2,获取该P2在每一视角对应的位置信息(X2,Y2)和每一视角对应的深度图像,可以得到该P2在每一视角对应的深度数据。针对每一视角,基于该视角的深度数据、位置信息(X2,Y2)和相机参数,可以确定P2在每一视角对应的中间三维关键点信息(X’,Y’,Z’)。结合每一视角对应的中间三维关键点信息(X’,Y’,Z’)可以确定该P2对应的三维关键点在世界坐标系中的位置信息。基于上述方法,可以得到每一二维关键点对应的三维关键点对应的三维关键点在世界坐标系中的位置信息,进而得到第一三维关键点信息。

在一些实施例中,在得到所述待重建对象的第一三维关键点信息之后,还可以确定该待重建对象的真实动作,所述方法还包括:

获取预设的动作集合;所述动作集合包括多个预设动作和每一所述预设动作对应的第二三维关键点信息;将目标三维关键点信息对应的预设动作确定为所述待重建对象的真实动作;所述目标三维关键点信息与所述待重建对象的第一三维关键点信息匹配。

在一些实施例中,预先设置多个预设动作,并保存每一预设动作对应的第二三维关键点信息,该第二三维关键点信息包括多个第二三维关键点和各第二三维关键点的三维坐标。在得到该第一三维关键点信息之后,可以基于该第一三维关键点信息中每一三维关键点的三维坐标在该动作集合中进行匹配,得到该目标三维关键点信息,将该目标三维关键点信息对应的预设动作确定为所述待重建对象的真实动作,进而完成对该待重建对象的动作识别。

参见图3,图3是本公开实施例提供的模型重建方法的一个可选的流程示意图,基于以上任意实施例,所述方法还可以包括S301至S303,将结合图3示出的步骤进行说明。

S301、基于所述多个视角的扫描图像,在世界坐标系构建所述待重建对象的三维点云数据。

其中,该扫描图像包括每一扫描像素点的红、绿、蓝三个颜色通道和深度通道。

在一些实施例中,可以通过步骤S3011至S3013实现上述基于所述多个视角的扫描图像,在世界坐标系构建所述待重建对象的三维点云数据。

S3011、获取所述多个视角中每一所述视角对应的相机参数。

其中,该相机参数包括相机内参和相机外参,相机内参用于确定扫描图像中每一扫描像素点在相机坐标系中的三维坐标,相机外参用于将扫描像素点在相机坐标系中的三维坐标转换为世界坐标系中的三维坐标。

S3012、针对每一所述视角,基于所述视角对应的扫描图像中的纹理图像和深度图像,确定多个扫描像素点中每一所述扫描像素点的纹理信息和深度信息;基于所述视角对应的相机参数和每一所述扫描像素点的纹理信息和深度信息,生成所述视角对应的点云集合,所述点云集合包括每一所述扫描像素点在世界坐标系中的位置信息。

其中,可以根据该深度图像确定每一扫描像素点的深度信息,该深度信息是深度通道的值。

在一些实施例中,针对每一所述视角,可以基于每一扫描像素点在该扫描图像中的位置信息、深度信息和该视角对应的相机参数,确定每一扫描像素点对应的扫描点在世界坐标系中的位置信息。

S3013、基于每一所述视角对应的点云集合构建所述待重建对象的三维点云数据。

在一些实施例中,在采集该待重建对象的多视角扫描图像之前,即各个视角中均未出现任何待重建对象的情况下,先获取多个视角对当前真实场景的扫描图像,并构建场景的三维点云数据。

在得到每一所述视角对应的点云集合之后,即得到每一所述视角对应的包括待重建对象在内的场景对应的点云集合之后,可以直接融合每一视角对应的点云集合,并去除融合后的点云集合中该场景的三维点云数据,进而得到该待重建对象的三维点云数据。

在另一些实施例中,在去除融合后的点云集合中该场景的三维点云数据之后,还需要进行去噪处理,消除其中的噪声点,得到该待重建对象的三维点云数据。

S302、基于所述三维点云数据构建所述待重建对象的第一网格模型。

在一些实施例中,可以利用基于屏幕空间的泊松表面重建(Screened PoissonSurface Reconstruction,SPSR)方法对该三维点云数据进行表面重建,得到该待重建对象的第一网格模型。

S303、基于所述第一网格模型和所述多个视角的扫描图像,确定所述待重建对象的第一网格模型的表面纹理。

在一些实施例中,可以通过步骤S3031至S3033实现上述基于所述多个视角的扫描图像,在世界坐标系构建所述待重建对象的三维点云数据。

S3031、针对所述第一网格模型中任意一个模型三角面,将所述模型三角面投影至至少一个所述视角的纹理图像中,确定所述模型三角面在每一所述纹理图像中对应的投影三角面和所述投影三角面的纹理信息;基于每一所述投影三角面的纹理信息确定所述模型三角面的纹理信息。

其中,以该第一网格模型中的任意一个模型三角面△ABC为例,获取至少一个视角的相机参数,以第一视角进行说明,基于该第一视角的相机参数,将该模型三角面△ABC的三个模型顶点(A、B、C)分别转换至相机坐标系,再转换至该第一视角的扫描图像(纹理图像)中的投影三角面的三个投影顶点(D、E、F),并得到每一投影顶点的投影顶点坐标,得到的三角面△DEF为该模型三角面△ABC投影至第一视角得到的投影三角面。由此,可以基于该投影三角面△DEF在扫描图像(纹理图像)中位置,确定该投影三角面△DEF的纹理信息。基于上述方法,可以得到该模型三角面△ABC在每一视角中对应的投影三角面△DEF的纹理信息。

在一些实施例中,针对任意一个模型三角面,可能存在一些视角不会观测到该模型三角面的表面纹理,因此,在将该模型三角面投影至至少一个所述视角的纹理图像中之前,需要对多个视角进行筛选,去除多个视角中的无效视角,得到上述至少一个视角。其中,去除无效视角的方法包括:基于每一视角的相机参数,确定每一视角的视角向量;基于该模型三角面的顶点信息,确定该模型三角面的朝向向量,该朝向向量垂直于该模型三角面,且指向该模型三角面的纹理展示方向;确定该视角向量和该朝向向量之间的角度,在该角度小于预设阈值的情况下,将该视角确定为无效视角。该预设阈值可以设置为90度,其中,在该视角向量和该朝向向量之间的角度为180度的情况下,表示该视角是垂直观察该模型三角面,在该角度逐渐减小,直至该视角向量和该朝向向量之间的角度为90度的情况下,表示该视角刚好无法观察到该模型三角面,在该视角向量和该朝向向量之间的角度为0度至90度的情况下,表示该视角无法观察到该模型三角面。

在一些实施例中,在得到该模型三角面在每一视角中对应的投影三角面的纹理信息之后,可以基于每一视角对应的角度确定每一视角对应的投影三角面的纹理置信度,其中,视角对应的角度越大,纹理置信度越高。基于每一视角对应的纹理置信度,对每一视角对应的投影三角面的纹理信息进行加权求和,得到该模型三角面的纹理信息。

S3032、基于所述第一网格模型中每一所述模型三角面的纹理信息,生成所述第一网格模型的表面纹理。

其中,基于上述方法依次确定所述第一网格模型中每一所述模型三角面的纹理信息,进而可以组成该第一网格模型的表面纹理。

基于本公开实施例,可以基于多视角采集到的扫描图像完成对第一网格模型的表面纹理进行还原;同时,由于每一个模型三角面的纹理信息可以由至少一个视角的扫描图像确定,提高了模型三角面的纹理信息的真实程度,进而从整体上提升了第一网格模型的表面纹理的真实程度。

参见图4,图4是本公开实施例提供的模型重建方法的一个可选的流程示意图,基于图3,图3中的S3031可以包括S401至S402,将结合图4示出的步骤进行说明。

S401、针对每一所述视角,在世界坐标系中基于所述模型三角面的模型顶点坐标和所述视角的相机参数,确定所述视角中所述模型三角面的模型顶点坐标对应的投影三角面的投影顶点坐标。

在一些实施例中,以该第一网格模型中的任意一个模型三角面△ABC为例,获取至少一个视角的相机参数,以第一视角进行说明,基于该第一视角的相机参数,将该模型三角面△ABC的三个模型顶点(A、B、C)分别转换至相机坐标系,再转换至该第一视角的扫描图像(纹理图像)中的投影三角面的三个投影顶点(D、E、F),并得到每一投影顶点的投影顶点坐标,得到的三角面△DEF为该模型三角面△ABC投影至第一视角得到的投影三角面。

S402、基于所述视角中投影三角面的投影顶点坐标在所述视角对应的纹理图像中确定所述投影三角面和所述投影三角面的纹理信息。

在一些实施例中,可以基于该投影三角面△DEF的三个投影顶点(D、E、F)在扫描图像(纹理图像)中投影顶点坐标,确定该投影三角面△DEF的纹理信息。基于上述方法,可以得到该模型三角面△ABC在每一视角中对应的投影三角面△DEF的纹理信息。

为了避免重建的第一网络模型中的模型三角面与真实的待重建对象差距过大,即局部凹陷或凸起等问题导致纹理重建错误,在对每一模型三角面进行纹理重建的过程中需要进行校验,以避免获取到错误的纹理信息的情况。在一些实施例中,可以基于该视角对应的深度图像,确定该投影三角面中每一投影顶点的原始深度信息,基于每一投影顶点的原始深度信息;基于该视角的相机参数,和模型三角面中每一模型顶点的模型顶点坐标,确定每一模型顶点对应的投影顶点的重建深度信息,基于每一模型顶点对应的重建深度信息和原始深度信息,确定该视角的投影三角面的纹理信息是否可以用于确定该模型三角面的纹理信息。

在一些实施例中,针对每一投影顶点,基于该投影顶点的原始深度信息和重建深度信息,确定该投影顶点的深度距离;在每一投影顶点的深度距离满足预设精度条件的情况下,该视角的投影三角面的纹理信息可以用于确定该模型三角面的纹理信息;在每一投影顶点的深度距离不满足预设精度条件的情况下,该视角的投影三角面的纹理信息不可以用于确定该模型三角面的纹理信息,在计算该模型三角面的纹理信息的过程中,不考虑该视角的投影三角面的纹理信息。其中,该预设精度条件可以为每一投影顶点的深度距离均小于预设的深度距离阈值;该预设精度条件还可以为每一投影顶点的深度距离的平均值小于预设的深度距离阈值,本公开对此不作限定。

在一些实施例中,可以通过步骤S4021至S4024实现上述基于所述视角中投影三角面的投影顶点坐标在所述视角对应的纹理图像中确定所述投影三角面和所述投影三角面的纹理信息。

S4021、基于所述模型三角面的模型顶点坐标和所述视角的相机参数,生成所述投影三角面中每一投影像素点对应的重建深度信息。

其中,可以基于该模型三角面的模型顶点坐标和所述视角的相机参数,确定该视角对应的投影三角面中每一投影顶点的投影顶点坐标和重建深度信息;基于每一投影顶点的投影顶点坐标,可以确定该投影三角面中的所有投影像素点(包括投影顶点)和每一投影像素点在该扫描图像(纹理图像)中的位置信息(即二维坐标),结合每一投影顶点的重建深度信息,可以通过线性计算得到每一投影像素点的重建深度信息。例如,若存在两个投影顶点的深度信息分别为8和10,这两个投影顶点中的唯一一个投影像素点的深度信息为9。

S4022、基于所述深度图像中的每一扫描像素点的深度信息,确定所述投影三角面中每一投影像素点对应的原始深度信息。

其中,基于投影三角面中每一投影像素点在深度图像中的位置信息,可以获取每一投影像素点对应的原始深度信息。

S4023、基于所述投影三角面中每一投影像素点对应的重建深度信息和原始深度信息,确定所述投影三角面中的有效像素点;所述有效像素点的重建深度信息和原始深度信息之间的距离小于预设的深度距离阈值。

其中,针对每一投影像素点,可以确定该投影像素点的重建深度信息和原始深度信息之间的距离,在该距离小于预设的深度距离阈值的情况下,将该投影像素点确定为有效像素点;在该距离大于或等于预设的深度距离阈值的情况下,将该投影像素点确定为无效像素点。需要说明的是,针对一个视角下的投影三角面,可以存在全部的投影像素点均为有效像素点,也可以存在全部的投影像素点均为无效像素点,还可以存在部分投影像素点为有效像素点且另一部分投影像素点为有效像素点。

S4024、基于所述纹理图像和所述投影三角面中的有效像素点,确定所述投影三角面的纹理信息。

其中,基于该投影三角面中各有效像素点的位置信息,在该纹理图像中获取每一有效像素点的像素信息(如上述举例中的RGB三个通道的值),进而可以得到该投影三角面的纹理信息。

参见图5,图5是本公开实施例提供的模型重建方法的一个可选的流程示意图,基于上述任一实施例,以基于图1为例,图1中的S103可以更新为S501至S502,将结合图5示出的步骤进行说明。

S501、基于所述第一三维关键点信息构建目标能量函数;所述目标能量函数用于确定所述初始参数化模型与所述待重建对象的真实体态的差异;所述目标能量函数至少包括第一能量函数,所述第一能量函数用于表征所述初始参数化模型对应的第二三维关键点信息与所述第一三维关键点信息之间的差异。

在一些实施例中,在获取到该初始参数化模型之后,可以基于该初始参数化模型对应的姿态参数确定该初始参数化模型对应的第二三维关键点信息。其中,该第二三维关键点信息与该第一三维关键点信息中包括的三维关键点数量和关键点对应的关节信息相同。需要说明的是,在该姿态参数与该第一三维关键点的三维关键点数量和关键点对应的关节信息不相同的情况下,可以通过预设的转换方法,将该姿态参数转换为格式相同的第二三维关键点信息,以便于初始参数化模型与该第一网格模型之间的比对。

在一些实施例中,可以通过步骤S5011至S5013实现上述第一能量函数的构建。

S5011、基于所述初始参数化模型的初始模型参数,确定所述初始参数化模型对应的第二网格模型。

S5012、基于所述第二网格模型确定所述初始参数化模型对应的第二三维关键点信息。

S5013、基于所述第一三维关键点信息与所述第二三维关键点信息之间的三维关键点距离,构建所述第一能量函数。

其中,可以通过公式(1)构建所述第一能量函数:

其中,θ为姿态参数,β为形态参数,t为平移参数,

S502、通过最小化所述目标能量函数调整所述初始参数化模型,得到所述目标参数化模型。

在一些实施例中,可以通过调整该初始参数化模型的初始模型参数,使得调整后的参数化模型的三维关键点信息与第一三维关键点信息对齐,进而得到与该第一网格模型更加相似的目标参数化模型。其中,调整过程使用的目标能量函数的值越小,表示得到的目标参数化模型与该第一网络模型越相似。

在一些实施例中,在该目标能量函数对应的能量值最小的情况下,判定当前模型参数对应的参数化模型为该目标参数化模型,保存该当前模型参数作为该目标参数化模型的模型参数。

校准在本实施例中,该目标能量函数仅包括该第一能量函数。通过对该第一能量函数的构建,可以使得到的目标参数化模型的三维关键点与第二网格模型的三维关键点更加贴近,进而从骨骼角度重建该待重建模型,得到对应的目标参数化模型。

在一些实施例中,所述目标能量函数还包括以下至少之一:第二能量函数和第三能量函数;其中,所述第二能量函数用于表征所述初始参数化模型对应的第二网格模型与所述目标对象对应的第三网格模型之间的差异;所述第三能量函数用于约束所述初始参数化模型中三维关键点的旋转角度。

其中,在所述目标能量函数包括所述第二能量函数的情况下,参见图6,图6是本公开实施例提供的模型重建方法的一个可选的流程示意图,基于上述任一实施例,以基于图1为例,图1还可以包括S601、图1中的S103可以更新为S602至S603,将结合图6示出的步骤进行说明。

S601、获取待重建对象对应的第三网格模型;所述第三网格模型用于表征所述待重建对象的体型特征。

在一些实施例中,该第三网格模型为通过高精度的扫描设备对该待重建对象进行整体扫描得到的网格模型。该扫描设备可以通过扫描该待重建对象的表面点云,进而得到该待重建对象的网格模型。其中,该扫描设备可以为Artec Eva三维扫描仪。

S602、基于所述第一三维关键点信息和所述第三网格模型构建目标能量函数;所述目标能量函数用于确定所述初始参数化模型与所述待重建对象的真实体态的差异。

其中,所述目标能量函数至少包括第一能量函数和第二能量函数,所述第一能量函数用于表征所述初始参数化模型对应的第二三维关键点信息与所述第一三维关键点信息之间的差异;所述第二能量函数用于表征所述初始参数化模型对应的第二网格模型与所述目标对象对应的第三网格模型之间的差异。

在一些实施例中,在该目标能量函数同时包括该第一能量函数和第二能量函数的情况下,可以获取第一能量函数对应的第一权重和该第二能量函数对应的第二权重。基于该第一权重、第二权重、第一能量函数和第二能量函数构建该目标能量函数。

在一些实施例中,可以通过步骤S6021至S6023实现上述第一能量函数的构建。

S6021、基于所述初始参数化模型的初始模型参数,确定所述初始参数化模型对应的第二网格模型。

S6022、基于所述第二网格模型确定所述初始参数化模型对应的第二三维关键点信息。

S6023、基于所述第一三维关键点信息与所述第二三维关键点信息之间的三维关键点距离,构建所述第一能量函数。

在一些实施例中,可以通过步骤S6024至S6026实现上述第二能量函数的构建。

S6024、获取所述第二网格模型对应的第二模型顶点集合和所述第三网格模型对应的第三模型顶点集合;所述第二模型顶点集合包括所述第二网格模型中各第二模型顶点的三维坐标;所述第三模型顶点集合包括所述第三网格模型中各第三模型顶点的三维坐标。

S6025、基于各所述第三模型顶点的三维坐标和各所述第二模型顶点的三维坐标,在所述第三模型顶点集合中确定每一所述第二模型顶点对应的第一距离,在所述第二模型顶点集合中确定每一所述第三模型顶点对应的第二距离。

S6026、基于所述每一所述第二模型顶点对应的第一距离和每一所述第三模型顶点对应的第二距离,构建所述第二能量函数。

其中,可以通过公式(2)构建所述第二能量函数:

其中,VH为所述第三网格模型对应的第三模型顶点集合,VS为所述第二网格模型对应的第二模型顶点集合,vH为第三模型顶点集合中的任意一个模型顶点,vS为第二模型顶点集合中的任意一个模型顶点;

S603、通过最小化所述目标能量函数调整所述初始参数化模型,得到所述目标参数化模型。

在一些实施例中,在所述目标能量函数包括所述第三能量函数的情况下,通过以下方式构建所述第三能量函数:获取至少一个所述三维关键点的旋转阈值;所述旋转阈值包括所述三维关键点在每一旋转轴对应的旋转范围;基于至少一个所述三维关键点的旋转阈值构建所述第三能量函数。

其中,可以通过公式(3)构建所述第三能量函数:

其中,旋转范围可以包括关键点的旋转角的上限和下限,

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

理解和建模人体是计算机视觉和计算机图形学研究领域长期存在的问题,也是动画、游戏、增强现实和虚拟现实等众多应用的基础技术。随着3D传感器的发展,近年来深度相机或低功率激光雷达已在移动设备上流行起来。

个人数据采集过程通过两个独立的系统,一个人体扫描系统和一个姿态捕捉系统。姿态捕捉系统可以包括多个视角的扫描设备。其中该扫描设备包括但不限于是为深度相机和激光雷达。其中,上述多个扫描设备设置在所述构建在预设的框架上。该姿态捕捉系统可以包括多个Kinect设备,多个Kinect设备可以从不同角度提供同步的RGB图像和深度图像(对应上述扫描图像包括的纹理图像和深度图像),用于3D重建。所有的扫描设备都连接到一台有控制程序的计算机上,以实现同步扫描和数据处理。人体扫描系统有一个ArtexEva 3D扫描仪,一个旋转显示架和一个运行扫描程序的计算机。这种硬件组合允许360度的全身扫描。两个系统分别运行,支持两人同时进行数据采集。

在模型重建之前,需要获取每一扫描设备的相机参数,即相机内参和相机外参。在人物对象位于该数据采集装置的采集区域的情况下,可以通过该数据采集装置中的多个扫描设备采集从多个视角采集针对该人物对象的扫描图像。其中,可以基于预设的采集频率获取针对该人物对象的扫描图像序列,以完成对该人物对象的完整动作捕捉。

例如,以一个时刻t的采集情况为例,在该时刻t,上述多个扫描设备可以同时采集该人物对象的扫描图像,得到该时刻t对应的一组扫描图像,该组扫描图像可以从多个视角提供该人物对象的姿态信息和纹理信息。

在一些实施例中,以该扫描设备为RGBD设备为例,得到的深度图像可以为RGBD图像,该RGBD图像包括RGB图像和深度图像,由于RGB图像和深度图像是配准的,即该RGB图像中的每一像素点均对应该深度图像中的一个像素点(像素点之间具有一对一的对应关系)。例如,以该RGB图像中像素点A1为例,该像素点A1在该深度图像中存在对应的像素点A2,该像素点A2中的像素值表征真实场景中扫描设备与人物对象中的该像素点A1之间的距离。

图7为本公开实施例提供的一种模型重建装置的组成结构示意图,如图7所示,模型重建装置700包括:

获取模块701,用于获取待重建对象对应的多个视角的扫描图像;

确定模块702,用于基于所述多个视角的扫描图像确定所述待重建对象的第一三维关键点信息;

调整模块703,用于基于所述待重建对象的第一三维关键点信息对初始参数化模型进行调整,得到表征所述待重建对象的真实体态的目标参数化模型。

在一些实施例中,所述确定模块702,还用于:

获取所述多个视角中每一所述视角对应的相机参数和纹理图像;

对每一所述视角的纹理图像进行二维关键点检测,得到每一所述视角的纹理图像对应的二维关键点信息;

基于每一所述视角对应的相机参数和每一所述视角的纹理图像对应的二维关键点信息,确定所述待重建对象的第一三维关键点信息。

在一些实施例中,所述确定模块702,还用于:

基于每一所述视角的纹理图像对应的二维关键点信息,确定每一二维关键点在每一所述视角的纹理图像中的位置信息;

针对每一所述二维关键点,基于所述二维关键点在每一所述视角的纹理图像中的位置信息和每一所述视角的相机参数,确定所述二维关键点对应的三维关键点在世界坐标系中的位置信息;所述第一三维关键点信息包括每一所述二维关键点对应的三维关键点在世界坐标系中的位置信息。

在一些实施例中,所述模型重建装置700还包括纹理模块,所述纹理模块用于:

基于所述多个视角的扫描图像,在世界坐标系构建所述待重建对象的三维点云数据;

基于所述三维点云数据构建所述待重建对象的第一网格模型;

基于所述第一网格模型和所述多个视角的扫描图像,确定所述待重建对象的第一网格模型的表面纹理。

在一些实施例中,所述纹理模块,还用于:

获取所述多个视角中每一所述视角对应的相机参数;

针对每一所述视角,基于所述视角对应的扫描图像中的纹理图像和深度图像,确定多个扫描像素点中每一所述扫描像素点的纹理信息和深度信息;基于所述视角对应的相机参数和每一所述扫描像素点的纹理信息和深度信息,生成所述视角对应的点云集合,所述点云集合包括每一所述扫描像素点对应的扫描点在世界坐标系中的位置信息;

基于每一所述视角对应的点云集合构建所述待重建对象的三维点云数据。

在一些实施例中,所述扫描图像包括纹理图像;所述纹理模块,还用于:

针对所述第一网格模型中任意一个模型三角面,将所述模型三角面投影至至少一个所述视角的纹理图像中,确定所述模型三角面在每一所述纹理图像中对应的投影三角面和所述投影三角面的纹理信息;基于每一所述投影三角面的纹理信息确定所述模型三角面的纹理信息;

基于所述第一网格模型中每一所述模型三角面的纹理信息,生成所述第一网格模型的表面纹理。

在一些实施例中,所述纹理模块,还用于:

针对每一所述视角,在世界坐标系中基于所述模型三角面的模型顶点坐标和所述视角的相机参数,确定所述视角中所述模型三角面的模型顶点坐标对应的投影三角面的投影顶点坐标;

基于所述视角中投影三角面的投影顶点坐标在所述视角对应的纹理图像中确定所述投影三角面和所述投影三角面的纹理信息。

在一些实施例中,所述扫描图像还包括深度图像;所述纹理模块,还用于:

基于所述模型三角面的模型顶点坐标和所述视角的相机参数,生成所述投影三角面中每一投影像素点对应的重建深度信息;

基于所述深度图像中的每一扫描像素点的深度信息,确定所述投影三角面中每一投影像素点对应的原始深度信息;

基于所述投影三角面中每一投影像素点对应的重建深度信息和原始深度信息,确定所述投影三角面中的有效像素点;所述有效像素点的重建深度信息和原始深度信息之间的距离小于预设的深度距离阈值;

基于所述纹理图像和所述投影三角面中的有效像素点,确定所述投影三角面的纹理信息。

在一些实施例中,所述调整模块703,还用于:

基于所述第一三维关键点信息构建目标能量函数;所述目标能量函数用于确定所述初始参数化模型与所述待重建对象的真实体态的差异;所述目标能量函数至少包括第一能量函数,所述第一能量函数用于表征所述初始参数化模型对应的第二三维关键点信息与所述第一三维关键点信息之间的差异;

通过最小化所述目标能量函数调整所述初始参数化模型,得到所述目标参数化模型。

在一些实施例中,所述调整模块703,还用于:

基于所述初始参数化模型的初始模型参数,确定所述初始参数化模型对应的第二网格模型;

基于所述第二网格模型确定所述初始参数化模型对应的第二三维关键点信息;

基于所述第一三维关键点信息与所述第二三维关键点信息之间的三维关键点距离,构建所述第一能量函数。

在一些实施例中,所述目标能量函数还包括以下至少之一:第二能量函数和第三能量函数;其中,所述第二能量函数用于表征所述初始参数化模型对应的第二网格模型与所述目标对象对应的第三网格模型之间的差异;所述第三能量函数用于约束所述初始参数化模型中三维关键点的旋转角度。

在一些实施例中,所述目标能量函数包括所述第二能量函数;所述调整模块703,还用于:获取待重建对象对应的第三网格模型;所述第三网格模型用于表征所述待重建对象的体型特征;

所述调整模块703,还用于:

获取所述第二网格模型对应的第二模型顶点集合和所述第三网格模型对应的第三模型顶点集合;所述第二模型顶点集合包括所述第二网格模型中各第二模型顶点的三维坐标;所述第三模型顶点集合包括所述第三网格模型中各第三模型顶点的三维坐标;

基于各所述第三模型顶点的三维坐标和各所述第二模型顶点的三维坐标,在所述第三模型顶点集合中确定每一所述第二模型顶点对应的第一距离,在所述第二模型顶点集合中确定每一所述第三模型顶点对应的第二距离;

基于所述每一所述第二模型顶点对应的第一距离和每一所述第三模型顶点对应的第二距离,构建所述第二能量函数。

在一些实施例中,所述目标能量函数包括所述第三能量函数;所述调整模块703,还用于:

获取至少一个所述三维关键点的旋转阈值;所述旋转阈值包括所述三维关键点在每一旋转轴对应的旋转范围;

基于至少一个所述三维关键点的旋转阈值构建所述第三能量函数。

在一些实施例中,所述扫描图像还包括深度图像;所述确定模块702,还用于:

基于每一所述视角的纹理图像对应的二维关键点信息,确定每一二维关键点在每一所述视角的纹理图像中的位置信息;

针对每一所述视角,基于每一所述二维关键点在所述视角的纹理图像中的位置信息、所述视角的深度图像和相机参数,确定所述视角中每一所述二维关键点在世界坐标系中的中间三维关键点信息;

针对每一所述二维关键点,基于所述二维关键点在每一所述视角对应的中间三维关键点信息,确定所述二维关键点对应的三维关键点在世界坐标系中的位置信息;所述第一三维关键点信息包括每一所述二维关键点对应的三维关键点在世界坐标系中的位置信息。

在一些实施例中,所述确定模块702,还用于:

获取预设的动作集合;所述动作集合包括多个预设动作和每一所述预设动作对应的第二三维关键点信息;

将目标三维关键点信息对应的预设动作确定为所述待重建对象的真实动作;所述目标三维关键点信息与所述待重建对象的第一三维关键点信息匹配。

以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。

需要说明的是,本公开实施例中,如果以软件功能模块的形式实现上述的模型重建方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本公开各个实施例方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本公开实施例不限制于任何目标的硬件和软件结合。

图8为本公开实施例提供的一种模型重建设备的硬件实体示意图,如图8所示,该模型重建设备800的硬件实体包括:处理器801和存储器802,其中,存储器802存储有可在处理器801上运行的计算机程序,处理器801执行程序时实现上述任一实施例的方法中的步骤。

存储器802存储有可在处理器上运行的计算机程序,存储器802配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及模型重建设备800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。

处理器801执行程序时实现上述任一项的模型重建方法的步骤。处理器801通常控制模型重建设备800的总体操作。

本公开实施例提供一种计算机存储介质,计算机存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如上任一实施例的模型重建方法的步骤。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开存储介质和设备实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。

上述处理器可以为目标用途集成电路(Application Specific IntegratedCircuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable LogicDevice,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本公开实施例不作具体限定。

上述计算机存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“本公开实施例”或“前述实施例”或“一些实施例”意味着与实施例有关的目标特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“本公开实施例”或“前述实施例”或“一些实施例”未必一定指相同的实施例。此外,这些目标的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。

在未做特殊说明的情况下,模型重建设备执行本公开实施例中的任一步骤,可以是模型重建设备的处理器执行该步骤。除非特殊说明,本公开实施例并不限定模型重建设备执行下述步骤的先后顺序。另外,不同实施例中对数据进行处理所采用的方式可以是相同的方法或不同的方法。还需说明的是,本公开实施例中的任一步骤是模型重建设备可以独立执行的,即模型重建设备执行上述实施例中的任一步骤时,可以不依赖于其它步骤的执行。

在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本公开所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本公开所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本公开所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、模型重建设备、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

在本公开实施例中,不同实施例中相同步骤和相同内容的说明,可以互相参照。在本公开实施例中,术语“并”不对步骤的先后顺序造成影响。

以上所述,仅为本公开的实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

技术分类

06120114702980