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

三维人体重建方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:32:36


三维人体重建方法、装置、设备及存储介质

技术领域

本公开涉及图像处理技术,具体涉及一种三维人体重建方法、装置、设备及存储介质。

背景技术

三维人体重建是计算机视觉与计算机图形学领域的重要问题。重建出来的人体数字模型在很多领域有着重要应用,如人体测量、虚拟试衣、虚拟主播、游戏角色自定义设计、虚拟现实社交等。其中,如何将真实世界中的人体投射到虚拟世界中得到三维人体数字模型是一种重要问题。然而,三维人体的数字化重建是很复杂的,需要扫描者围绕扫描目标进行多角度无死角的连续扫描;并且,重建结果存在着局部重建效果不够精细的问题。

发明内容

有鉴于此,本公开实施例至少提供一种三维人体重建方法、装置、设备及存储介质。

第一方面,提供一种三维人体重建方法,所述方法包括:

基于目标人体的单张人体图像进行人体几何重建,得到所述目标人体的三维网格模型;

基于所述目标人体的单张人体图像,对所述目标人体的局部部位进行局部几何重建,得到所述局部部位的三维网格模型;

将所述局部部位的三维网格模型与所述目标人体的三维网格模型进行融合,得到初始三维模型;

根据所述初始三维模型和所述单张人体图像,进行所述目标人体的人体纹理的重建,得到所述目标人体的三维人体模型。

在一个例子中,所述基于目标人体的单张人体图像进行人体几何重建,得到所述目标人体的三维网格模型,包括:通过第一深度神经网络分支对所述目标人体的单张人体图像进行三维重建,得到第一人体模型;通过第二深度神经网络分支对所述单张人体图像中的局部图像进行三维重建,得到第二人体模型;其中,所述局部图像包括所述目标人体的局部区域;将所述第一人体模型和第二人体模型进行融合,得到融合人体模型;对所述融合人体模型进行网格化处理,得到所述目标人体的三维网格模型。

在一个例子中,所述第一深度神经网络分支包括:全局特征子网络和第一拟合子网络;所述第二深度神经网络分支包括:局部特征子网络和第二拟合子网络;所述通过第一深度神经网络分支对所述目标人体的单张人体图像进行三维重建,得到第一人体模型,包括:通过所述全局特征子网络对所述单张人体图像进行特征提取,得到第一图像特征;通过所述第一拟合子网络基于所述第一图像特征得到所述第一人体模型;所述通过第二深度神经网络分支对所述单张人体图像中的局部图像进行三维重建,得到第二人体模型,包括:通过所述局部特征子网络对所述局部图像进行特征提取,得到第二图像特征;通过所述第二拟合子网络基于所述第二图像特征以及所述第一拟合子网络输出的中间特征,得到所述第二人体模型。

在一个例子中,所述基于所述目标人体的单张人体图像,对所述目标人体的局部部位进行局部几何重建,得到所述局部部位的三维网格模型,包括:对所述目标人体的单张人体图像进行特征提取,得到第三图像特征;根据所述第三图像特征、以及所述局部部位的三维拓扑模板,确定所述局部部位的三维网格模型。

在一个例子中,所述将所述局部部位的三维网格模型与所述目标人体的三维网格模型进行融合,得到初始三维模型,包括:根据所述目标人体的单张人体图像,获得所述局部部位的多个关键点;确定所述多个关键点在所述目标人体的三维网格模型上对应的第一模型关键点的信息,以及,确定所述多个关键点在所述局部部位的三维网格模型上对应的第二模型关键点的信息;基于所述第一模型关键点的信息和所述第二模型关键点的信息,将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型。

在一个例子中,所述基于所述第一模型关键点的信息和所述第二模型关键点的信息,将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型,包括:基于所述第一模型关键点的信息和所述第二模型关键点的信息,确定所述目标人体的三维网格模型与所述局部部位的三维网格模型间的坐标变换关系;根据所述坐标变换关系,将所述局部部位的三维网格模型变换到所述目标人体的三维网格模型的坐标系下;在变换后的坐标系下将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型。

在一个例子中,所述单张人体图像包括:目标人体的正面纹理和背景图像;所述根据所述初始三维模型和所述单张人体图像,进行所述目标人体的人体纹理的重建,得到所述目标人体的三维人体模型,包括:对所述单张人体图像进行人体分割,得到第一分割掩码、第二分割掩码和目标人体的正面纹理;其中,所述第一分割掩码对应所述正面纹理的掩码区域,所述第二分割掩码对应于目标人体的背面纹理的掩码区域;将所述正面纹理、所述第一分割掩码和第二分割掩码,输入纹理生成网络,得到所述目标人体的所述背面纹理;基于所述背面纹理和正面纹理,得到所述目标人体对应的带有纹理的三维人体模型。

在一个例子中,所述纹理生成网络的训练,包括如下处理:根据辅助正面纹理、第三分割掩码和第四分割掩码,训练辅助纹理生成网络,其中,所述第三分割掩码对应目标人体的掩码区域,所述第四分割掩码对应所述目标人体的背面纹理的掩码区域;在所述辅助纹理生成网络训练完成之后,基于所述目标人体的正面纹理、所述第一分割掩码和所述第二分割掩码,训练所述纹理生成网络,其中,所述辅助正面纹理比所述正面纹理的分辨率低,所述纹理生成网络的网络参数包括:训练完成的所述辅助纹理生成网络的至少部分网络参数。

在一个例子中,所述目标人体的局部部位是所述目标人体的人脸;和/或,所述单张人体图像是RGB图像。

在一个例子中,所述方法还包括:在所述基于目标人体的单张人体图像进行人体几何重建时,还得到所述目标人体的人体骨骼结构;在所述得到目标人体的三维人体模型之后,还基于所述三维人体模型和所述人体骨骼结构,确定用于驱动所述三维人体模型的蒙皮权重。

第二方面,提供一种三维人体重建装置,所述装置包括:

整体重建模块,用于基于目标人体的单张人体图像进行人体几何重建,得到所述目标人体的三维网格模型;

局部重建模块,用于基于所述目标人体的单张人体图像,对所述目标人体的局部部位进行局部几何重建,得到所述局部部位的三维网格模型;

融合处理模块,用于将所述局部部位的三维网格模型与所述目标人体的三维网格模型进行融合,得到初始三维模型;

纹理重建模块,用于根据所述初始三维模型和所述单张人体图像,进行所述目标人体的人体纹理的重建,得到所述目标人体的三维人体模型。

在一个例子中,所述整体重建模块,在用于得到所述目标人体的三维网格模型时,包括:通过第一深度神经网络分支对所述目标人体的单张人体图像进行三维重建,得到第一人体模型;通过第二深度神经网络分支对所述单张人体图像中的局部图像进行三维重建,得到第二人体模型;其中,所述局部图像包括所述目标人体的局部区域;将所述第一人体模型和第二人体模型进行融合,得到融合人体模型;对所述融合人体模型进行网格化处理,得到所述目标人体的三维网格模型。

在一个例子中,所述局部重建模块,具体用于:对所述目标人体的单张人体图像进行特征提取,得到第三图像特征;根据所述第三图像特征、以及所述局部部位的三维拓扑模板,确定所述局部部位的三维网格模型。

在一个例子中,所述融合处理模块,具体用于:根据所述目标人体的单张人体图像,获得所述局部部位的多个关键点;确定所述多个关键点在所述目标人体的三维网格模型上对应的第一模型关键点的信息,以及,确定所述多个关键点在所述局部部位的三维网格模型上对应的第二模型关键点的信息;基于所述第一模型关键点的信息和所述第二模型关键点的信息,将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型。

在一个例子中,所述融合处理模块,在用于基于所述第一模型关键点的信息和所述第二模型关键点的信息,将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型时,包括:基于所述第一模型关键点的信息和所述第二模型关键点的信息,确定所述目标人体的三维网格模型与所述局部部位的三维网格模型间的坐标变换关系;根据所述坐标变换关系,将所述局部部位的三维网格模型变换到所述目标人体的三维网格模型的坐标系下;在变换后的坐标系下将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型。

在一个例子中,所述纹理重建模块,具体用于:对所述单张人体图像进行人体分割,得到第一分割掩码、第二分割掩码和目标人体的正面纹理;其中,所述第一分割掩码对应所述正面纹理的掩码区域,所述第二分割掩码对应于目标人体的背面纹理的掩码区域;将所述正面纹理、所述第一分割掩码和第二分割掩码,输入纹理生成网络,得到所述目标人体的所述背面纹理;基于所述背面纹理和正面纹理,得到所述目标人体对应的带有纹理的三维人体模型。

在一个例子中,所述装置还包括:模型训练模块,用于进行所述纹理生成网络的训练,包括:根据辅助正面纹理、第三分割掩码和第四分割掩码,训练辅助纹理生成网络,其中,所述第三分割掩码对应所述辅助人体图像中目标人体的掩码区域,所述第四分割掩码对应所述目标人体的背面纹理的掩码区域;在所述辅助纹理生成网络训练完成之后,基于所述目标人体的正面纹理、所述第一分割掩码和所述第二分割掩码,训练所述纹理生成网络,其中,所述辅助正面纹理比所述正面纹理的分辨率低,所述纹理生成网络的网络参数包括:训练完成的所述辅助纹理生成网络的至少部分网络参数。

第三方面,提供一种电子设备,该设备包括:存储器、处理器,所述存储器用于存储计算机可读指令,所述处理器用于调用所述计算机指令,实现本公开任一实施例所述的方法。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的方法。

第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开任一实施例所述的方法。

本公开实施例提供的三维人体重建方法、装置、设备及存储介质,通过将目标人体的局部部位进行局部几何重建,并将该局部几何重建得到的局部部位的三维网格模型与目标人体的三维网格模型进行融合,使得目标人体的三维网格模型中的局部部位更加清晰、精细和准确,提高了局部部位的重建效果;并且,该方法是依据目标人体的单张人体图像进行重建,也简化了用户的配合成本,使得三维人体重建更加简便。

附图说明

为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了本公开至少一个实施例提供的一种三维人体重建的流程图;

图2示出了本公开至少一个实施例提供的人体重建的网络结构图;

图3示出了本公开至少一个实施例提供的模型融合示意图;

图4示出了本公开至少一个实施例提供的纹理重建的示意图;

图5示出了本公开至少一个实施例提供的蒙皮权重的确定示意图;

图6示出了本公开至少一个实施例提供的另一种人体重建的网络结构图;

图7示出了本公开至少一个实施例提供的纹理生成的原理示意图;

图8示出了本公开至少一个实施例提供的纹理生成网络的训练示意图;

图9示出了本公开至少一个实施例提供的一种人体图像的示意图;

图10示出了本公开至少一个实施例提供的一种三维人体重建装置的结构图;

图11示出了本公开至少一个实施例提供的一种三维人体重建装置的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本公开一个或多个实施例中的技术方案,下面将结合本公开一个或多个实施例中的附图,对本公开一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。

三维人体重建在很多领域有着重要应用,包括但不限于如下的应用场景:

例如,可以通过三维人体重建,增强一些虚拟现实应用场景的真实感。比如,虚拟试衣、虚拟云会议、虚拟课堂等。

又例如,可以将通过三维人体重建得到的三维人体模型,导入到游戏数据里,完成个性化人物角色的生成。

再例如,目前制作科幻电影需要用到绿幕、动捕等多种科技技术,硬件设备昂贵、整体流程耗时繁杂。通过三维人体重建得到虚拟的三维人体模型,可以简化流程,节省资源。

不论何种应用场景,三维人体重建都存在着如下的需求:一方面,尽可能的简化用户的操作成本,比如,需要用户配合进行多角度的扫描,将使得用户提供较多的配合,对用户来说体验不好。另一方面,尽可能的得到精度更高的三维人体模型,比如,在诸如虚拟云会议、或者AR虚拟交互场景下,对三维人体重建得到的三维人体模型有着更高的真实感和沉浸感的需求。

为了解决上述问题,本公开实施例提供了一种三维人体重建方法,该方法旨在基于用户的一张照片来进行该用户的三维人体重建,简化用户的配合成本,并且达到较高精度的重建效果。

请参见图1所示,图1示出了本公开至少一个实施例提供的一种三维人体重建的流程图。该方法可以包括:

在步骤100中,基于目标人体的单张人体图像进行人体几何重建,得到所述目标人体的三维网格模型。

其中,目标人体即三维人体重建的基础用户。例如,对用户小张进行三维人体重建,小张可以称为目标人体,而重建得到的三维人体模型也是以小张的身体为基础得到,与小张的体态、样貌、服装和发型等都具有较高的相似性。

所述的单张人体图像是该目标人体的一张人体图像。本公开实施例对该人体图像的采集方式、格式没有特殊要求,在一个示例性的方式中,该单张人体图像可以是目标人体的一张全身人体正面照片。又例如,该单张人体图像可以是RGB彩色图像。这种RGB格式的图像的获得成本较低,比如,在图像采集时不需要使用景深摄像头等成本较高的设备,普通的拍摄设备就可以采集得到。

本步骤中,可以基于目标人体的单张人体图像进行人体几何重建,得到三维网格模型,该三维网格模型即一个表示人体几何形状的三维网格Mesh,该网格包括若干顶点和面。

在一个示例中,本实施例还可以将上述重建得到的三维网格Mesh与预先存储的一个参数化人体模型进行姿态和体型的对齐拟合。具体的,该参数化人体模型包括一个人体表面的mesh以及一组骨骼结构,它们是由一组姿态、体型参数控制的,人体的骨骼位置和表面形状会随着参数的改变而变化。通过将本步骤重建得到的三维网格Mesh与该参数化人体模型进行几何对齐后,就得到了本步骤重建得到的三维网格Mesh对应的骨骼结构。该骨骼结构将用于后续步骤中蒙皮权重的计算。

请结合参见图2,示例了一种基于单张人体图像重建获取三维网格模型的方式。如图2所示,可以将目标人体的单张人体图像21输入第一深度神经网络分支22进行三维重建。在一个示例性的实施方式中,该第一深度神经网络分支22可以包括全局特征子网络221和第一拟合子网络222。

其中,可以通过全局特征子网络221对单张人体图像21进行特征提取,得到该单张人体图像21的高层图像特征,可以将该高层图像特征称为第一图像特征。例如,该全局特征子网络221可以是一个HourGlass卷积网络。该第一图像特征输入到第一拟合子网络222,该第一拟合子网络222可以依据第一图像特征对三维空间的每一个体素块是否属于目标人体的内部进行预测。例如,该第一拟合子网络222可以是一个多层感知机结构。该第一拟合子网络222输出得到第一人体模型,该第一人体模型已经得到了位于目标人体内部的各三维体素块。

接着,可以继续对该第一人体模型进行网格化处理,例如,该网格化处理可以是对该模型在体素空间应用MarchingCubes算法,得到目标人体的三维网格模型。

在步骤102中,基于所述目标人体的单张人体图像,对所述目标人体的局部部位进行局部高清几何重建,得到所述局部部位的三维网格模型。

步骤100中重建得到的目标人体的三维网格模型,有可能在目标人体的局部部位是模糊的。例如,该局部部位可以是人脸也可以是其他局部部位,如手部等需体现细节特征的部位,上述三维网格模型在目标人体的脸部细节上较为模糊,而脸部却是通常用户较为关注的区域,因此,本步骤可以对目标人体的局部部位单独进行几何重建。

以所述局部部位是人脸为例:对人体脸部的重建可以采用固定拓扑的精细重建,即可以基于由目标人体的单张人体图像进行特征提取得到的图像特征,对人脸的三维拓扑模板中的各个顶点的位置进行拟合,得到人脸的三维网格模型。具体的,人体脸部的语义结构具有一致性,因此可以采用一个固定拓扑结构的三维人脸作为模板,该模板可以称为人脸的三维拓扑模板。该模板上包括多个顶点,每个顶点固定对应一个脸部语义,例如,一个顶点表示鼻子尖部,另一个顶点表示眼角。在脸部重建时,可以通过一个深度神经网络来回归得到上述人脸的三维拓扑模板的各顶点位置。

例如,该深度神经网络可以包括一个深度卷积网络和一个图卷积网络,可以将目标人体的单张人体图像输入所述深度卷积网络提取图像特征,提取得到的特征可以称为第三图像特征。再将该第三图像特征和人脸的三维拓扑模板作为图卷积网络的输入,最终得到图卷积网络输出的一个脸部的三维网格模型,该三维网络模型与目标人体脸部较接近。可选的,深度卷积网络的输入也可以是由目标人体的单张人体图像中截取的包含脸部的部分图像区域。

在步骤104中,将所述局部部位的三维网格模型与所述目标人体的三维网格模型进行融合,得到初始三维模型。

在步骤100中重建得到的目标人体的三维网格模型在人体的局部部位可能有些模糊,该局部部位以人脸部为例,而步骤102中通过脸部的单独几何重建得到了人脸的三维网格模型,本步骤中,可以将人脸的三维网格模型替换掉步骤100中的目标人体的三维网格模型中的对应部分,这样就可以既保留了目标人体的三维网格模型中的头发、体型、体态等信息,又能使得脸部的五官结构更加的精细和准确,达到更好的重建效果。当然可以理解的是,这里只是以局部部位为人脸为例,实际实施中也可以对其他局部部位进行单独重建以更清晰。

具体的,可以先将目标人体的单张人体图像输入预先训练好的关键点检测模型,通过该关键点检测模型确定图像中目标人体的局部部位的多个关键点。请结合参见图3,仍以局部部位是人脸为例,在获取到人脸的多个关键点31之后,可以根据这些关键点31在人脸的坐标,分别确定关键点在所述目标人体的三维网格模型、以及人脸的三维网格模型上对应的模型关键点。具体可以确定人脸的多个关键点在目标人体的三维网格模型上对应的多个第一模型关键点的信息,比如,该信息可以包括各个第一模型关键点的关键点标识以及对应的关键点位置。还可以确定该人脸的多个关键点在人脸的三维网格模型上对应的第二模型关键点的信息,比如,该信息可以包括各个第二模型关键点的关键点标识和对应的关键点位置。

在获取到上述第一模型关键点的信息和第二模型关键点的信息后,可以基于该第一模型关键点的信息和第二模型关键点的信息,将人脸的三维网格模型融合至目标人体的三维网格模型,得到初始三维模型。

例如,确定图3所示的目标人体的三维网格模型上的多个对应的各第一模型关键点32、以及人脸的三维网格模型上对应的各第二模型关键点33的信息后,再基于第一模型关键点32的信息和第二模型关键点33的信息,结合这两个模型的相机外参,可以确定目标人体的三维网格模型与人脸的三维网格模型之间的坐标变换关系。然后基于该变换关系,可以将人脸的三维网格模型变换到目标人体的三维网格模型的坐标系下。在变换后的坐标系下,将人脸的三维网格模型融合至目标人体的三维网格模型,例如,可以将目标人体的三维网格模型上的脸部几何结构去掉,使用人脸的三维网格模型补充上,通过泊松重建的方式将人脸的三维网格模型与目标人体的三维网格模型融合为一个整体,得到的模型可以称为初始三维模型。该初始三维模型已经具有了较为清晰的五官结构和较好的头发、体态等信息,精度较高。

在步骤106中,根据所述初始三维模型和所述单张人体图像,进行所述目标人体的人体纹理的重建,得到所述目标人体的带有彩色纹理的三维人体模型。

由于本实施例是基于目标人体的单张人体图像进行三维人体重建,所以部分的人体区域是不可见的,比如,如果使用目标人体的正面人体图像进行重建,那么该目标人体的背面是不可见的,这将导致纹理缺失的问题。因此,本步骤中可以依据初始三维模型和目标人体的单张人体图像,进行目标人体的不可见区域的人体纹理的预测和补全,并与所述单张人体图像中的人体纹理进行融合,进而生成纹理完整的三维人体模型。

请结合图4所示,以目标人体的单张人体图像是正面图像为例,可以使用深度学习网络进行人体背面纹理41的预测,并结合该人体背面纹理41和单张人体图像中的人体正面纹理42,对初始三维模型进行纹理贴图,即对初始三维模型进行纹理重建。图4中的三维模型43即将上述的人体背面和正面纹理映射在网格模型上。在步骤104中得到的初始三维模型是一种人体几何结构的网格Mesh,本步骤是在该网格模型的基础上给模型加上人体纹理。此外,还有一些不可见的人体部位区域,可以使用插值技术在模型的一些缝隙进行纹理的填充,从而将模型的纹理补全,得到目标人体的三维人体模型44。

本实施例的三维人体重建方法,通过将目标人体的局部部位进行局部几何重建,并将该局部几何重建得到的局部部位的三维网格模型与目标人体的三维网格模型进行融合,使得目标人体的三维网格模型中的局部部位更加清晰、精细和准确,提高了局部部位的重建效果;并且,该方法是依据目标人体的单张人体图像进行重建,也简化了用户的配合成本,使得三维人体重建更加简便。

此外,在得到人体的三维人体模型后,可以基于所述三维人体模型和目标人体的人体骨骼结构,确定用于驱动所述三维人体模型的蒙皮权重。该蒙皮权重用于驱动建好的三维人体模型,比如,如果要驱动三维人体模型做各种动作,需要将模型绑定到人体骨骼结构上,这种将模型绑定到骨骼上即为蒙皮。继而可以通过骨骼的运动带动模型做动作,而蒙皮权重是用于表示骨骼的节点对模型顶点的影响大小,根据该蒙皮权重可以控制三维人体模型中各个顶点受各个骨骼关节点影响的大小,从而更好的控制模型运动。

具体的,计算该三维人体模型的蒙皮权重可以包括如下处理:在步骤100中已经根据目标人体的单张人体图像得到了人体骨骼结构,本步骤可以将该人体骨骼结构和上述得到的三维人体模型输入深度学习网络,通过深度学习网络自动得到模型的蒙皮权重。

请结合参见图5的示例,可以先根据三维人体模型51和人体骨骼结构52来生成所述三维人体模型51中的各顶点对应的属性特征。该属性特征可以是利用各顶点与人体骨骼结构的空间位置关系来构造得到。例如,对于其中一个顶点来说,该顶点的属性特征可以包括如下四个特征:

1)顶点的位置坐标。

2)离顶点最近的K个骨骼关节点的位置坐标。

3)由顶点的位置分别到上述的K个骨骼关节点中各个骨骼关节点之间的体积测地线距离。

4)以上述K个骨骼关节点中的每个骨骼关节点为起点,由该起点指向所述顶点的向量与所述骨骼关节点所在的骨骼之间的夹角。

请继续参见图5,在获得各顶点的属性特征后,可以将该各顶点的属性特征、以及各顶点之间的邻接关系特征作为深度学习网络中的空间图卷积注意力网络的输入。在将这些特征输入空间图卷积注意力网络之前,可以通过一个多层感知机将上述特征转换为隐层特征。通过空间图卷积注意力网络可以依据上述隐层特征预测每个顶点受上述K个骨骼关节点中的各个骨骼关节点影响的权重,深度学习网络中的后一个多层感知机可以用于将该权重进行归一化处理,使得对于某一个顶点来说,各个骨骼关节点对该顶点的影响权重和为1。最后得到的三维人体模型中各个顶点对应的受各个骨骼关节点影响的权重即为该顶点的蒙皮权重。

本实施例的方法,能够依据目标人体的单张人体图像得到人体骨骼结构,并在最后依据该人体骨骼结构和重建得到的三维人体模型自动计算得到蒙皮权重,这样既保证了不同输入图像下骨骼的语义结构一致性,又能结合不同的衣物服饰形状快速生成合适的蒙皮权重。其中,骨骼的语义一致性可以方便模型与现成动作库的注册,语义一致的好处是利于生成的模型和骨骼与动作库的套用(注册)。动作库中可以包括提前存储的一些人的动作序列,比如跳舞、拳击之类,动作库的存储方式是一系列的运动的骨骼。动作库中的这些骨骼的语义和结构都是一致的。如果生成的骨骼具有随机性(关节语义不确定),那么就不利于生成的模型去套用动作库中的动作。因此,本实施例通过保证生成的骨骼的语义结构的一致性,使得更方便动作库的注册。而依具体形状计算生成的蒙皮权重可以使得不同人体模型运动的视觉效果更加自然。

本公开在另一个实施例提供了一种三维人体重建的方法,本实施例的重建流程与图1的实施例相比,区别在于,对步骤100中的基于目标人体的单张人体图像进行人体几何重建的流程进行了改进,以提高重建得到的目标人体的三维网格模型的几何重建精度。其中,本实施例对于图1的实施例相同的处理步骤将不再详述,仅重点描述区别的地方所在。

如图6所示,在图2所示的网络结构的基础上,增加了第二深度神经网络分支61。该第二深度神经网络分支61可以包括:局部特征子网络611和第二拟合子网络612。可以由目标人体的单张人体图像21中提取出局部区域的图像,得到局部图像62,第二深度神经网络是用于对该局部图像62进行三维重建。

需要说明的是,这里的局部图像中包括的目标人体的人体区域可以与步骤102中局部几何重建对应的局部部位不完全相同,例如,这里的局部图像可以包括目标人体的肩部以上的区域范围,而重建的局部部位可以是目标人体的人脸。当然,图6中对目标人体的肩部以上进行重建只是示例,也可以对目标人体的其他人体区域进行精细化几何重建。

具体的,请继续参见图6,通过第一深度神经网络分支重建得到第一人体模型,并将局部图像62输入第二深度神经网络分支,由局部特征子网络611对所述局部图像进行特征提取,得到第二图像特征。再通过第二拟合子网络612基于所述第二图像特征以及第一拟合子网络222输出的中间特征,得到第二人体模型。其中,所述的中间特征可以是第一拟合子网络222中的部分网络结构输出的特征,示例性的,假设第一拟合子网络222中包括一定数量的全连接层,那么可以将其中部分数量的全连接层的输出作为所述中间特征输入至第二拟合子网络612。

示例性的,第二深度神经网络分支的结构可以与第一深度神经网络分支的结构基本相同,例如,第一深度神经网络分支中的全局特征子网络221中可以包括四个Block,每一个Block中可以包括一定数量的卷积层、池化层等特征提取层,而第二深度神经网络分支中的局部特征子网络611可以包括一个上述的Block。在得到第一人体模型和第二人体模型之后,接着,可以将第一人体模型和第二人体模型进行融合,得到融合人体模型。并继续对对该融合人体模型进行网格化处理,得到目标人体的三维网格模型。

本实施例的三维人体重建方法,不仅通过对目标人体的局部部位进行局部几何重建,提高了局部部位的重建效果,并且依据目标人体的单张人体图像进行重建,简化了用户的配合成本;此外,还通过第二深度神经网络对局部图像进行重建,提高了对目标人体的局部人体区域的重建效果。

本公开在又一个实施例提供了一种三维人体重建的方法,该又一个实施例的重建流程与图1的实施例相比,提供了一种具体的通过深度学习网络进行人体背面纹理的预测的方式。其中,本实施例对于图1的实施例相同的处理步骤将不再详述,仅重点描述区别的地方所在。

如图7所示,目标人体的单张人体图像有时会包括背景图像和人体的正面纹理,这种情况下,可以先进行图像分割,将人体的正面纹理分割出来,在基于该正面纹理预测人体的背面纹理。例如,可以将目标人体的正面图像71进行人体分割,得到第一分割掩码72、和分割后的目标人体的正面纹理73。并且,还将该第一分割掩码72水平翻转后得到第二分割掩码74,再将正面纹理73、第一分割掩码72和第二分割掩码74输入纹理生成网络75,最终得到该纹理生成网络75输出的目标人体的背面纹理。

此外,图7是以将第一分割掩码72水平翻转得到第二分割掩码74为例,实际实施中并不局限于此,比如,还可以是将目标人体的正面图像输入一个预先训练得到的神经网络后,该神经网络直接输出第一分割掩码和第二分割掩码。当获得了目标人体的正面纹理和背面纹理后,可以将该正面纹理和背面纹理映射至人体的初始三维模型,即可得到目标人体的三维人体模型。

其中,上述的纹理生成网络75的训练过程可以包括如下处理:请结合参见图8,可以使用一个辅助纹理生成网络76。其中,该辅助纹理生成网络76可以包括一部分的纹理生成网络75的网络结构,例如,纹理生成网络75可以是在辅助纹理生成网络76的基础上增加了一定数量的卷积层。

在训练时,可以根据训练样本图像集中的辅助人体图像、第三分割掩码和第四分割掩码,训练辅助纹理生成网络,并在该辅助纹理生成网络训练完成之后,将辅助纹理生成网络的至少部分网络参数作为纹理生成网络的部分初始化网络参数,继续基于目标人体的正面纹理、第一分割掩码和第二分割掩码,训练所述纹理生成网络。其中,辅助人体图像是单张人体图像降低分辨率得到,第三分割掩码对应所述辅助人体图像中目标人体的掩码区域,所述第四分割掩码对应所述目标人体的背面纹理的掩码区域。

请继续结合参见图8所示:可以通过对辅助人体图像81进行图像分割,得到人体的辅助正面纹理82(正面纹理)、第三分割掩码83和第四分割掩码84,输入辅助纹理生成网络76,得到目标人体的背面纹理的第一预测值;再基于第一预测值和所述背面纹理的第一真实值,调整所述辅助纹理生成网络76的网络参数。经过多次迭代,可以得到训练完成的辅助纹理生成网络76。其中,对辅助纹理生成网络的训练监督,除了基于第一预测值和第一真实值计算的损失Loss,还可以包括基于第一预测值的其他损失,例如,基于辅助人体图像和第一预测值的纹理特征计算的特征损失,等。其中,所述辅助人体图像可以是图7中的人体正面图像71降低分辨率得到,相应的,辅助正面纹理82的分辨率也比图7中的正面纹理73的分辨率低。所述第三分割掩码对应所述辅助人体图像中的人体的掩码区域,所述第四分割掩码对应辅助人体图像中的人体的背面纹理的掩码区域。

在所述辅助纹理生成网络训练完成之后,可以将辅助纹理生成网络的网络参数作为纹理生成网络的部分网络参数的初始化,即纹理生成网络的网络参数包括:训练完成的所述辅助纹理生成网络的至少部分网络参数。即辅助纹理生成网络和纹理生成网络共享部分网络权重。然后将用于训练纹理生成网络的训练样本图像集中的人体正面纹理、第一分割掩码和第二分割掩码,输入所述纹理生成网络,得到目标人体的背面纹理的第二预测值。基于所述第二预测值和所述背面纹理的第二真实值,调整纹理生成网络的网络参数。其中,所述第二真实值的分辨率高于第一真实值的分辨率,即纹理生成网络输出的背面纹理的分辨率会比辅助纹理生成网络输出的背面纹理的分辨率高一些。

本实施例的三维人体重建方法,不仅通过对目标人体的局部部位进行局部几何重建,提高了局部部位的重建效果,并且依据目标人体的单张人体图像进行重建,简化了用户的配合成本;此外,还通过神经网络自动进行纹理的预测,使得生成的纹理效果较好,比如人体周身的纹理更均匀,颜色更真实;并且,通过先训练辅助纹理生成网络再训练纹理生成网络的方式,使得纹理生成网络的训练过程更稳定更容易收敛。

在其他的实施例中,为了提高重建的效果,也可以获取目标人体的多张不同角度的图像来综合进行该目标人体的三维重建。例如,以获取了该目标人体的三张图像为例,这三张图像可以是从不同角度采集得到。请结合图2来看,可以将这三张图像分别作为全局特征子网络221的输入,得到全局特征子网络221输出的分别对应这三张图像的一个第一图像特征。然后将三个第一图像特征进行融合,将融合后得到的图像特征作为第一拟合子网络222的输入继续处理。

当三维人体重建采用图6所示的网络结构时,除了将上述三张图像分别作为全局特征子网络221的输入之外,还可以由该三张图像中提取局部区域得到局部图像,并将三个局部图像分别作为局部特征子网络611的输入,得到局部特征子网络611输出的分别对应这三张局部图像的第二图像特征,然后将三个第二图像特征进行融合,将融合后得到的图像特征作为第二拟合子网络612的输入继续处理。

如上,通过获取目标人体的多张不同角度的图像来综合进行该目标人体的三维人体重建,能够得到该目标人体对应的更精细的三维人体模型。

此外,还需要说明的是,本公开任一实施例描述的三维人体重建方法的各个流程步骤中,涉及到的神经网络模型,都可以分别进行训练。例如,第一深度神经网络分支和纹理生成网络可以是各自进行自身的训练。

如下描述一个三维人体重建流程的示例,其中,与前述任一方法实施例中描述的过程相同的处理,在此简单说明,详细过程可以结合参见前述实施例。

在该例子中,假设要基于用户U1的单张人体图像构建该U1的三维人体模型,所述的单张人体图像可以是用户U1的正面图像,其中包括用户U1的正面纹理以及背景图像。可以参见图9的示意,用户U1的单张人体图像91中包括该用户的正面纹理92和背景图像93。

首先,可以基于用户U1的单张人体图像91分别进行两方面的重建。

一个方面的重建是,基于单张人体图像91进行人体几何重建得到U1的三维网格模型和人体骨骼结构。示例的,可以通过图6所示的网络对单张人体图像91进行处理,通过第一深度神经网络分支中的全局特征子网络和第一拟合子网络对单张人体图像91进行处理,得到第一人体模型;通过第二深度神经网络分支中的局部特征子网络和第二拟合子网络对单张人体图像91中人体肩部以上区域的图像进行处理,得到第二人体模型。并将第一人体模型和第二人体模型进行融合后,得到融合人体模型。再将融合人体模型进行网格化处理,得到用户U1的三维网格模型(mesh)。

另一个方面的重建是,基于单张人体图像91对用户U1的人脸进行局部几何重建,得到人脸的三维网格模型。具体的,可以对单张人体图像91进行特征提取,将提取得到的图像特征以及人脸三维拓扑模板输入图卷积神经网络,得到该用户U1的人脸mesh。

接着,可以结合上述重建得到的人脸mesh(人脸的三维网格模型)和用户U1的人体mesh(U1人体的三维网格模型),进行两者的融合,得到U1的初始三维模型。

具体的,可以根据图3的示意流程,结合人脸部的关键点,确定关键点分别在人脸mesh和人体mesh上对应的各模型关键点的标识和位置,并基于这些模型关键点的标识和位置、模型的相机外参等参数,确定模型之间的坐标变换关系。基于该坐标变换关系,将人脸mesh变换到人体mesh的坐标系下,用人脸mesh替换掉人体mesh中的脸部,并通过泊松重建将人脸mesh和人体mesh融合在一起,得到用户U1的初始三维模型。

然后,基于上述的初始三维模型和用户U1的单张人体图像91,进行U1的人体纹理的重建。其中,单张人体图像91由于是用户U1的正面纹理,可以基于该正面纹理去预测U1的背面纹理。

具体的,可以对单张人体图像91进行人体分割,得到去除了背景图像的人体正面纹理、用于表示人体正面区域的第一分割掩码,并将第一分割掩码翻转后得到用于表示人体背面纹理区域的第二分割掩码。再将该人体正面纹理、第一分割掩码和第二分割掩码输入预先训练好的纹理生成网络,得到用户U1的背面纹理。最后基于该正面纹理和背面纹理对初始三维模型进行纹理贴图,并将模型缝隙区域进行纹理的填充和补全,最终得到带有纹理的U1的三维人体模型。

为了方便对建好的三维人体模型进行模型驱动,还可以结合重建得到的U1的三维人体模型以及在重建U1的三维网格模型时得到的人体骨骼结构,计算三维人体模型的蒙皮权重。后续可以通过该蒙皮权重驱动模型执行动作。

图10示例了一种三维人体重建装置的结构示意图,如图10所示,该装置可以包括:整体重建模块1001、局部重建模块1002、融合处理模块1003和纹理重建模块1004。

整体重建模块1001,用于基于目标人体的单张人体图像进行人体几何重建,得到所述目标人体的三维网格模型。

局部重建模块1002,用于基于所述目标人体的单张人体图像,对所述目标人体的局部部位进行局部几何重建,得到所述局部部位的三维网格模型。

融合处理模块1003,用于将所述局部部位的三维网格模型与所述目标人体的三维网格模型进行融合,得到初始三维模型。

纹理重建模块1004,用于根据所述初始三维模型和所述单张人体图像,进行所述目标人体的人体纹理的重建,得到所述目标人体的三维人体模型。

在一个例子中,整体重建模块1001,在用于得到所述目标人体的三维网格模型时,包括:通过第一深度神经网络分支对所述目标人体的单张人体图像进行三维重建,得到第一人体模型;通过第二深度神经网络分支对所述单张人体图像中的局部图像进行三维重建,得到第二人体模型;其中,所述局部图像包括所述目标人体的局部区域;将所述第一人体模型和第二人体模型进行融合,得到融合人体模型;对所述融合人体模型进行网格化处理,得到所述目标人体的三维网格模型。

在一个例子中,局部重建模块1002,具体用于:对所述目标人体的单张人体图像进行特征提取,得到第三图像特征;根据所述第三图像特征、以及所述局部部位的三维拓扑模板,确定所述局部部位的三维网格模型。

在一个例子中,融合处理模块1003,具体用于:根据所述目标人体的单张人体图像,获得所述局部部位的多个关键点;确定所述多个关键点在所述目标人体的三维网格模型上对应的第一模型关键点的信息,以及,确定所述多个关键点在所述局部部位的三维网格模型上对应的第二模型关键点的信息;基于所述第一模型关键点的信息和所述第二模型关键点的信息,将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型。

在一个例子中,融合处理模块1003,在用于基于所述第一模型关键点的信息和所述第二模型关键点的信息,将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型时,包括:基于所述第一模型关键点的信息和所述第二模型关键点的信息,确定所述目标人体的三维网格模型与所述局部部位的三维网格模型间的坐标变换关系;根据所述坐标变换关系,将所述局部部位的三维网格模型变换到所述目标人体的三维网格模型的坐标系下;在变换后的坐标系下将所述局部部位的三维网格模型融合至所述目标人体的三维网格模型,得到所述初始三维模型。

在一个例子中,纹理重建模块1004,具体用于:对所述单张人体图像进行人体分割,得到第一分割掩码、第二分割掩码和目标人体的正面纹理;其中,所述第一分割掩码对应所述正面纹理的掩码区域,所述第二分割掩码对应于目标人体的背面纹理的掩码区域;将所述正面纹理、所述第一分割掩码和第二分割掩码,输入纹理生成网络,得到所述目标人体的所述背面纹理;基于所述背面纹理和正面纹理,得到所述目标人体对应的带有纹理的三维人体模型。

在一个例子中,如图11所示,该装置还可以包括:模型训练模块1005。

模型训练模块1005,用于进行所述纹理生成网络的训练,包括:根据辅助正面纹理、第三分割掩码和第四分割掩码,训练辅助纹理生成网络,其中,所述第三分割掩码对应所述辅助人体图像中目标人体的掩码区域,所述第四分割掩码对应所述目标人体的背面纹理的掩码区域;在所述辅助纹理生成网络训练完成之后,基于所述目标人体的正面纹理、所述第一分割掩码和所述第二分割掩码,训练所述纹理生成网络,其中,所述辅助正面纹理比所述正面纹理的分辨率低,所述纹理生成网络的网络参数包括:训练完成的所述辅助纹理生成网络的至少部分网络参数。

在一些实施例中,上述装置可以用于执行上文所述的对应任意方法,为了简洁,这里不再赘述。

本公开实施例还提供了一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储计算机可读指令,所述处理器用于调用所述计算机指令,实现本说明书任一实施例的方法。

本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例的方法。

本领域技术人员应明白,本公开一个或多个实施例可提供为方法、系统或计算机程序产品,该计算机程序产品包括计算机程序,该程序被处理器执行时能够实现本说明书任一实施例的方法。因此,本公开一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

其中,本公开实施例所述的“和/或”表示至少具有两者中的其中一个,例如,“多和/或B”包括三种方案:多、B、以及“多和B”。

本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本公开中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本公开中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本公开中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本公开中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPG多(现场可编程门阵列)或多SIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PD多)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本公开包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本公开内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本公开一个或多个实施例的较佳实施例而已,并不用以限制本公开一个或多个实施例,凡在本公开一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开一个或多个实施例保护的范围之内。

相关技术
  • 三维人体模型重建方法、装置、电子设备及存储介质
  • 三维人体重建方法、装置、设备及存储介质
技术分类

06120112964168