三维重建方法、装置、电子设备及存储介质与流程

文档序号:31877361发布日期:2022-10-21 22:05阅读:144来源:国知局
三维重建方法、装置、电子设备及存储介质与流程

1.本发明涉及多媒体智能分析技术领域,更具体地说,涉及一种三维重建方法、装置、电子设备及存储介质。


背景技术:

2.随着元宇宙概念的深入人心,虚拟形象设计吸引越来越多人的关注。
3.现阶段,虚拟形象设计需要输入对象的一段视频或者多张图片,然后对该对象的不同部位分开建模,以人体为例,头部和肢体分开建模,流程很长、工序复杂,效率极低。


技术实现要素:

4.有鉴于此,为解决上述问题,本发明提供一种三维重建方法、装置、电子设备及存储介质,技术方案如下:
5.一种三维重建方法,其特征在于,所述方法包括:
6.获取目标对象的正面图像,并对所述正面图像进行姿态估计得到三维模型和相机参数,所述三维模型中包含所述目标对象的姿态参数和形状参数;
7.根据所述三维模型、所述相机参数、以及所述正面图像中的可见像素,重建所述目标对象的纹理图,并对所述目标对象的纹理图进行填充;
8.将填充后的所述目标对象的纹理图融合至所述三维模型中得到三维重建模型。
9.优选的,所述获取目标对象的正面图像,包括:
10.获取所述目标对象在t型姿势或a型姿势下全身的正面图像。
11.优选的,所述根据所述三维模型、所述相机参数、以及所述正面图像中的可见像素,重建所述目标对象的纹理图,包括:
12.基于所述相机参数将所述三维模型投影至所述正面图像中,以确定所述可见像素与所述三维模型中顶点的对应关系;
13.获取所述三维模型中与所述可见像素具有对应关系的顶点在指定纹理图中的坐标;
14.基于所获取的坐标确定所述可见像素在所述指定纹理图中的纹理像素值,以将所述可见像素的纹理像素值构成所述目标对象的纹理图。
15.优选的,所述对所述目标对象的纹理图进行填充,包括:
16.在所述目标对象的纹理图中对所述可见像素进行语义分析,得到所述可见像素的语义信息;
17.按照所述可见像素的语义信息将所述目标对象的纹理图划分为多个纹理区域,每个纹理区域对应一种语义信息、且任意两个纹理区域的语义信息不同;
18.分别对每个纹理区域进行纹理填充,并按照每个纹理区域在所述目标对象的纹理图中的位置对填充后的多个纹理区域进行拼接。
19.优选的,所述方法还包括:
20.获取目标动作的姿态参数;
21.将所述目标动作姿态参数赋值给所述三维重建模型的姿态参数,以驱动所述三维重建模型执行所述目标动作。
22.一种三维重建装置,所述装置包括:
23.姿态估计模块,用于获取目标对象的正面图像,并对所述正面图像进行姿态估计得到三维模型和相机参数,所述三维模型中包含所述目标对象的姿态参数和形状参数;
24.纹理重建填充模块,用于根据所述三维模型、所述相机参数、以及所述正面图像中的可见像素,重建所述目标对象的纹理图,并对所述目标对象的纹理图进行填充;
25.模型重建模块,用于将填充后的所述目标对象的纹理图融合至所述三维模型中得到三维重建模型。
26.优选的,用于获取目标对象的正面图像的所述姿态估计模块,具体用于:
27.获取所述目标对象在t型姿势或a型姿势下全身的正面图像。
28.优选的,用于根据所述三维模型、所述相机参数、以及所述正面图像中的可见像素,重建所述目标对象的纹理图的所述纹理重建填充模块,具体用于:
29.基于所述相机参数将所述三维模型投影至所述正面图像中,以确定所述可见像素与所述三维模型中顶点的对应关系;获取所述三维模型中与所述可见像素具有对应关系的顶点在指定纹理图中的坐标;基于所获取的坐标确定所述可见像素在所述指定纹理图中的纹理像素值,以将所述可见像素的纹理像素值构成所述目标对象的纹理图。
30.一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有应用程序,所述处理器调用所述存储器存储的应用程序,所述应用程序用于实现所述的三维重建方法。
31.一种存储介质,所述存储介质存储有计算机程序代码,所述计算机程序代码执行时实现所述的三维重建方法。
32.相较于现有技术,本发明实现的有益效果为:
33.本发明提供一种三维重建方法、装置、电子设备及存储介质,对于目标对象的正面图像,首先对该正面图像进行姿态估计得到三维模型和相机参数,该三维模型中包含该目标对象的姿态参数和形状参数;进而根据三维模型、相机参数、以及正面图像中的可见像素,重建目标对象的纹理图,并对该目标对象的纹理图进行填充,进一步,将填充后的目标对象的纹理图融合至三维模型中得到三维重建模型。基于本发明,只需上传一张正面图像即可实现正面图像中目标对象的三维重建模型的构建,以此重建目标对象的虚拟形象,能够显著提升短视频制作、虚拟形象制作等场景下的虚拟形象设计效率。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
35.图1为本发明实施例提供的三维重建方法的方法流程图;
36.图2为本发明实施例提供的tpose示意图;
37.图3为本发明实施例提供的apose示意图;
38.图4为本发明实施例提供的三维重建方法的部分方法流程图;
39.图5为本发明实施例提供的三维重建方法的另一部分方法流程图;
40.图6为本发明实施例提供的三维重建装置的结构示意图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
43.参见图1,图1为本发明实施例提供的三维重建方法的方法流程图,该三维重建方法包括如下步骤:
44.s10,获取目标对象的正面图像,并对正面图像进行姿态估计得到三维模型和相机参数,三维模型中包含目标对象的姿态参数和形状参数。
45.本发明实施例中,目标对象的正面图像为至少包含目标对象头部的图像,且在该图像中包含目标对象正面,以目标对象为人来举例,该正面图像则为包含人脸正面的人体照片。
46.当然,在一些场景下,目标对象还可以为动物、卡通形象等,本发明实施例对此不做限定,为方便理解,后续将以目标对象为人来举例说明,可以理解的是,对于本发明实施例未提及的其他对象也在本发明的保护范围内。在一些实施例中,虚拟形象常以一个完整的躯体,包含目标对象从头部到脚部的全部部位,继续以目标对象为人来举例,此时可以上传一张全身的人体正面图像。
47.对此,步骤s10“获取目标对象的正面图像”具体可以采用如下步骤:
48.获取目标对象在t型姿势或a型姿势下全身的正面图像。
49.也就是说,本发明实施例中,用户上传的全身的人体正面图像是目标对象在t型姿势(即tpose)或a型姿势(即apose)下全身的正面图像,其中,tpose即人体摆成类似于t型的姿态,apose即人体摆成类似于a字的姿态,这是由于在tpose或apose两种姿势下人体的部位基本没有重合的部分,部位之间界限清晰,便于后续的三维重建。
50.参见图2,图2为本发明实施例提供的tpose示意图,在tpose这一姿势下目标对象两手左右伸开保持水平、两腿垂直地面站立、两脚平行;参见图3,图3为本发明实施例提供的apose示意图,在apose这一姿势下目标对象双手伸直垂下、掌心向内、两腿垂直站立、两脚平行。
51.另外,对于目标对象的正面图像,本发明实施例可以采用基于优化的方法或者基于神经网络的方法来进行其进行姿态估计,确定目标对象在正面图像中的姿态参数和形状参数,以此得到在相应姿态和形状下的三维(three dimensional,3d)模型,此外,在基于优化的方法或者基于神经网络的方法进行姿态估计的过程中,还可以确定相机参数。
52.为方便理解,继续以目标对象为人来举例,相应的三维模型即人体模型,以下对基
于优化的方法和基于神经网络的方法进行简单说明:
53.1)基于优化的方法。该方法将人体表示为一种参数化的人体模型,例如smpl、smplx等。通过最小化人体模型投影到图像上的点与已知人体关键点的误差,得到每张图片的最优模型参数。该方法的优点是重建精度高,缺点是速度较慢。
54.2)基于神经网络的方法。该方法利用神经网络回归出人体模型的参数(姿态参数和形状参数)和相机参数。该方法速度较快,可以满足具体的项目应用。
55.本发明实施例中,优选的采用基于神经网络的方法,人体模型可以采用smpl模型。smpl模型中包含10d的shape参数(即形状参数),控制人体的高矮胖瘦;也包含75d的pose参数(即姿态参数),代表着root点(即人体的根节点,控制人体的整体运动)的位置及24个关节点的角度(每个角度有3个自由度)。而相机参数包括相机内参和相机外参,内参一般采用一个预设值、而相机外参包括相机的位置、朝向(即旋转矩阵),这可以在神经网络推理过程中计算出来。
56.也就是说,三维模型中可以包含目标对象在拍摄正面图像时的姿态参数和形状参数。其中,姿态参数可以表示目标对象的根节点的位置、以及各关节点的角度,形状参数则可以表示目标对象的高矮胖瘦的形态,对此,通过三维模型中目标对象的姿态参数和形状参数可以准确地在三维空间中描述目标对象。
57.s20,根据三维模型、相机参数、以及正面图像中的可见像素,重建目标对象的纹理图,并对目标对象的纹理图进行填充。
58.纹理图也称uv图,uv这里是指uv纹理贴图坐标的简称,其定义了图像上每个点的位置的信息,u和v分别是图像在显示器水平、垂直方向上的坐标,取值一般都是0~1。uv图中每个点与三维模型是相互联系的,可以决定表面纹理贴图的位置,也就是uv图中每一个点可以精确对应到模型物体的表面,用以构建立体的物体,例如人脸纹理图像可用于生成三维人脸。
59.本发明实施例中,可见像素即正面图像中属于目标对象的像素,其是可见的。
60.对于三维模型,该三维模型在生成时即与指定纹理图建立映射关系,也就是说,三维模型中各顶点具有相应的uv值,基于该uv值就可以确定在指定纹理图中相应位置处的像素值,该像素值即纹理像素值,由此就可以确定三维模型中各顶点对应的纹理像素值。
61.基于此,基于相机参数在将三维模型投影到正面图像后,就可以确定正面图像中可见像素与三维模型中顶点的对应关系,从而基于该对应关系确定可见像素对应的纹理像素值,这就可以基于可见像素重建目标对象的纹理图。
62.具体实现过程中,步骤s20中“根据三维模型、相机参数、以及正面图像中的可见像素,重建目标对象的纹理图”,可以采用如下步骤,方法流程图如图4所示:
63.s2011,基于相机参数将三维模型投影至正面图像中,以确定可见像素与三维模型中顶点的对应关系。
64.本发明实施例中,可以基于相机参数将三维模型投影到正面图像中,以此确定三维模型中各顶点在正面图像中的投影位置,对于各顶点来说,正面图像中位于其投影位置处的像素即为与其对应的像素。基于此,对于正面图像中的可见像素来说,即可以确定三维模型中与其对应的顶点。
65.s2012,获取三维模型中与可见像素具有对应关系的顶点在指定纹理图中的坐标。
66.本发明实施例中,在确定可见像素在三维模型中对应的顶点后,可以根据该顶点的uv值即可确定在指定纹理图中的坐标,从而定位指定纹理图中相应位置处的纹理像素值,由此可以将可见像素的纹理像素值构成目标对象的纹理图。
67.s2013,基于所获取的坐标确定可见像素在指定纹理图中的纹理像素值,以将可见像素的纹理像素值构成目标对象的纹理图。
68.为方便理解,继续以目标对象为人来举例。对于所获得的全身的人体正面图像,在一些场景下可以对该正面图像进行抠图,以获得人在正面图像中的头部区域和肢体区域(肢体可以包括颈部、躯干和四肢),进一步,基于头部区域和肢体区域各自的可见像素可以分别重建头部的纹理图和肢体的纹理图。当然,还可以从正面图像中抠图得到较头部区域和肢体区域更细粒度的区域,再分区域重建各自区域的纹理图,本发明实施例对此不做限定。
69.另外,对于目标对象的纹理图,由于其是基于正面图像中可见像素所估计出的,对于目标对象被遮挡或者未在正面图像中展示的部位则无法体现,从而导致目标对象的纹理图中部分纹理的缺失,因此,本发明实施例还进一步对目标对象的纹理图进行纹理填充,即纹理修复。
70.在一些场景下,直接对整张目标对象的纹理图进行纹理填充会导致纹理修复的效果不好,对此,本发明实施例对目标对象的纹理图进行分块填充。一些场景下,可以预先标注区域信息,比如标注头部、颈部、躯干和四肢各属于一个区域,因此基于该区域信息可以将目标对象的纹理图进行划分得到多个纹理区域,再按照纹理区域进行纹理填充和拼接,以此完成纹理修复。
71.为智能化解决虚拟形象重建过程中纹理填充的问题,本发明实施例步骤s20中“对目标对象的纹理图进行填充”,可以采用如下步骤,方法流程图如图5所示:
72.s2021,在目标对象的纹理图中对可见像素进行语义分析,得到可见像素的语义信息。
73.本发明实施例中,对于目标对象的纹理图,在该纹理图中可以对可见像素进行语义分析,得到可见像素的语义信息,继续以目标对象为人来举例,该语义信息可以表征所属像素对应的人体部位,该人体部位可以包含头部、颈部、躯干和四肢这四个基础部位,还可以进一步包含每个基础部位下的细粒度部位,比如头部可以细分为脸部和头发,本发明实施例对此不做限定。实际应用中可以采用基于sparsing的方法来进行语义分析。
74.s2022,按照可见像素的语义信息将目标对象的纹理图划分为多个纹理区域,每个纹理区域对应一种语义信息、且任意两个纹理区域的语义信息不同。
75.本发明实施例中,对于可见像素,可以根据其语义信息将进行聚类,即将具有相同语义信息的像素聚类至一个区域。进而,依据可见像素在目标对象的纹理图中的位置,按照聚类结果可以将目标对象的纹理图划分为多个区域,该区域即为纹理区域。由此,目标对象的纹理图中每个纹理区域即对应一个语义信息、且任意两个纹理区域之间的语义信息有所区别。
76.s2023,分别对每个纹理区域进行纹理填充,并按照每个纹理区域在目标对象的纹理图中的位置对填充后的多个纹理区域进行拼接。
77.本发明实施例中,在确定目标对象的纹理图中各纹理区域后,可以分别对各纹理
区域进行纹理填充,对于各纹理区域进行纹理填充时可以采用inpainting的方法来实现。
78.在将目标对象的纹理图中所有纹理区域填充完毕后,可以按照纹理区域在目标对象的纹理图中的位置对填充后的所有纹理区域进行拼接,即纹理区域在填充前后的纹理图中的位置相一致,以此获得的填充后的目标对象的纹理图。
79.s30,将填充后的目标对象的纹理图融合至三维模型中得到三维重建模型。
80.本发明实施例中,通过姿态估计所获得的三维模型没有纹理,而纹理图中包含三维模型中各顶点的纹理像素值,对此可以将填充后的目标对象的纹理图中各像素的纹理像素值赋值给三维模型中相应的顶点,以此完成填充后的目标对象的纹理图融合至三维模型中,从而完成虚拟形象的重建,得到三维重建模型。继续以目标对象为人来举例,三维模型重建模型即为人体重建模型。
81.在此基础上,为实现对虚拟形象的驱动,本发明实施例在上述三维重建方法的基础上,还可以包括如下步骤:
82.获取目标动作的姿态参数;将目标动作姿态参数赋值给三维重建模型的姿态参数以驱动三维重建模型执行目标动作。
83.本发明实施例中,目标动作为预设动作,其可以为指定的动作序列中的一个动作,还可以利用人体姿态估计算法从视频中估计得来,本发明实施例对此不做限定,举例来说,目标动作可以为动作库中的跑步动作、跳跃动作、或者跳舞动作等。将目标动作的姿态参数赋值给三维重建模型的姿态参数,即在步骤s10姿态估计所获得三维模型所包含的姿态参数,这就可以实现目标动作的姿态参数迁移至三维重建模型中,从而实现目标动作向三维重建模型的迁移,三维重建模型即可以执行该目标动作,进而实现虚拟形象的驱动。
84.继续以目标对象为人来举例,通过姿态估计可以获得人体模型,该人体模型可以采用smpl模型,其中包含75d的姿态参数,该姿态参数表示目标对象的在拍摄正面图像时根节点的位置、以及24个关节点的角度。并且,由于人体重建模型是将填充后的目标对象的纹理图融合至三维模型中所得到的,因此,人体重建模型所包含的目标对象的姿态参数和形状参数与人体模型所包含的目标对象的姿态参数和形状参数是相同的。对此,目标动作的姿态参数也为75d的向量,其中包含目标对象在进行该目标动作时根节点的位置、以及24个关节点的角度,将目标动作的姿态参数赋值给人体重建模型的姿态参数,就可以实现目标动作向人体重建模型的迁移,人体重建模型就可以执行该目标动作,实现虚拟形象的驱动。
85.继续以目标对象为人来举例,假设目标动作为跳舞动作,在将跳舞动作的姿态参数赋值给人体重建模型中的姿态参数后,可以实现跳舞动作向人体重建模型的迁移,驱动人体重建模型执行该跳舞动作。
86.基于本发明实施例提供的三维重建方法,可以通过一张正面图像实现虚拟形象的重建和驱动,上传一张全身的正面图像可以自动重建出包含头部和肢体的虚拟形象,实现人物的建模和实时驱动,在短视频制作和虚拟形象制作方面可以发挥重要作用,具有很强的娱乐性和商业价值。
87.基于上述实施例提供的三维重建方法,本发明实施例则对应提供执行上述三维重建方法的装置,该装置的结构示意图如图6所示,包括:
88.姿态估计模块10,用于获取目标对象的正面图像,并对正面图像进行姿态估计得到三维模型和相机参数,三维模型中包含目标对象的姿态参数和形状参数;
89.纹理重建填充模块20,用于根据三维模型、相机参数、以及正面图像中的可见像素,重建目标对象的纹理图,并对目标对象的纹理图进行填充;
90.模型重建模块30,用于将填充后的目标对象的纹理图融合至三维模型中得到三维重建模型。
91.可选的,用于获取目标对象的正面图像的姿态估计模块10,具体用于:
92.获取目标对象在t型姿势或a型姿势下全身的正面图像。
93.可选的,用于根据三维模型、相机参数、以及正面图像中的可见像素,重建目标对象的纹理图的纹理重建填充模块20,具体用于:
94.基于相机参数将三维模型投影至正面图像中,以确定可见像素与三维模型中顶点的对应关系;获取三维模型中与可见像素具有对应关系的顶点在指定纹理图中的坐标;基于所获取的坐标确定可见像素在指定纹理图中的纹理像素值,以将可见像素的纹理像素值构成目标对象的纹理图。
95.可选的,用于对目标对象的纹理图进行填充的纹理重建填充模块20,具体用于:
96.在目标对象的纹理图中对可见像素进行语义分析,得到可见像素的语义信息;按照可见像素的语义信息将目标对象的纹理图划分为多个纹理区域,每个纹理区域对应一种语义信息、且任意两个纹理区域的语义信息不同;分别对每个纹理区域进行纹理填充,并按照每个纹理区域在目标对象的纹理图中的位置对填充后的多个纹理区域进行拼接。
97.可选的,上述三维重建装置还包括:
98.模型驱动模块,用于获取目标动作的姿态参数;将目标动作姿态参数赋值给三维重建模型的姿态参数,以驱动三维重建模型执行目标动作。
99.需要说明的是,本发明实施例中各模块的细化功能可以参见上述三维重建方法实施例对应公开部分,在此不再赘述。
100.基于上述实施例提供的三维重建方法,本发明实施例还提供一种电子设备,电子设备包括:至少一个存储器和至少一个处理器;存储器存储有应用程序,处理器调用存储器存储的应用程序,应用程序用于实现三维重建方法。
101.基于上述实施例提供的三维重建方法,本发明实施例还提供一种存储介质,存储介质存储有计算机程序代码,计算机程序代码执行时实现三维重建方法。
102.以上对本发明所提供的一种三维重建方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
103.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
104.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵
盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
105.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1