模型构建方法、重建方法、装置、电子设备及存储介质转让专利

申请号 : CN202211443259.4

文献号 : CN115496864B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙红岩

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本申请提供一种模型构建方法、重建方法、装置、电子设备及存储介质,涉及深度学习技术领域,该方法包括:得到训练好的目标SMPL模型,基于目标SMPL模型得到目标正视预测模型及目标后视预测模型,基于目标正视预测模型及目标后视预测模型得到目标体内外识别模型,最后基于以上几个模型及图像三维可视化模型构建出穿衣人体三维模型,由此构建出的穿衣人体三维模型包括SMPL参数维度、正视维度、后视维度及人体表面内外点维度的多种不同层次的维度特征,进而构建出的穿衣人体三维模型可以在存在多人的复杂场景下恢复穿衣人体的模型重建。

权利要求 :

1.一种穿衣人体三维模型构建方法,其特征在于,包括:

基于3D人体姿态图像训练数据对初始SMPL模型进行第一阶段训练,得到初级SMPL模型;

基于2D人体姿态图像训练数据对所述初级SMPL模型进行第二阶段训练,得到训练好的目标SMPL模型;

基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,其中,所述目标正视预测模型用于构建出目标三维体素阵列对应的目标正视穿衣人体3D预测模型,所述目标后视预测模型用于构建出目标三维体素阵列对应的目标后视穿衣人体3D预测模型,所述目标三维体素阵列是通过所述目标SMPL模型对预设人体姿态图像训练数据进行处理得到的,其中,所述预设人体姿态图像训练数据包括所述3D人体姿态图像训练数据及所述2D人体姿态图像训练数据;

基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,其中,所述目标体内外识别模型用于区分出所述目标正视穿衣人体3D预测模型及所述目标后视穿衣人体3D预测模型中位于体内或体外的采样点;

基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型,其中,所述穿衣人体三维模型用于重建出待重建的穿衣人体姿态图像数据对应的穿衣人体3D模型。

2.根据权利要求1所述的穿衣人体三维模型构建方法,其特征在于,所述基于2D人体姿态图像训练数据对所述初级SMPL模型进行第二阶段训练,得到训练好的目标SMPL模型,包括:将2D人体姿态图像训练数据输入所述初级SMPL模型,获取所述初级SMPL模型输出的初级3D人体姿态图像预测数据;

获取所述初级3D人体姿态图像预测数据对应的相机参数及全局转动参数,基于所述相机参数及全局转动参数将所述初级3D人体姿态图像预测数据映射为2D人体姿态图像预测数据;

计算出所述2D人体姿态图像预测数据与所述2D人体姿态图像训练数据之间的2D回归损失,基于所述2D回归损失对所述初级SMPL模型进行迭代更新,直至第二阶段训练结束,得到训练好的目标SMPL模型。

3.根据权利要求1所述的穿衣人体三维模型构建方法,其特征在于,所述基于3D人体姿态图像训练数据对初始SMPL模型进行第一阶段训练,得到初级SMPL模型,包括:将3D人体姿态图像训练数据输入所述初始SMPL模型,获取所述初始SMPL模型输出的SMPL姿态参数、SMPL形态参数、全局转动参数及相机参数;

基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数及所述相机参数获取所述初始SMPL模型重建出的初始3D人体姿态图像预测数据;

基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数、所述相机参数及所述初始3D人体姿态图像预测数据计算出3D回归损失;

基于所述3D回归损失对所述初始SMPL模型进行迭代更新,直至第一阶段训练结束,得到训练好的初级SMPL模型。

4.根据权利要求3所述的穿衣人体三维模型构建方法,其特征在于,所述基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数、所述相机参数及所述初始3D人体姿态图像预测数据计算出3D回归损失的计算公式为:其中, 为SMPL姿态参数对应的3D回归损失, 为SMPL形态参数对应的3D回归损失,为全局转动参数对应的3D回归损失, 为3D人体姿态对应的3D回归损失, 为相机参数对应的3D回归损失。

5.根据权利要求1所述的穿衣人体三维模型构建方法,其特征在于,所述基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,包括:获取所述训练好的目标SMPL模型输出的预测三维体素阵列;

从所述预测三维体素阵列中分解出预测正视体素阵列及预测后视体素阵列,并基于所述预测正视体素阵列对初始正视预测模型进行训练,基于所述预测后视体素阵列对初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型。

6.根据权利要求5所述的穿衣人体三维模型构建方法,其特征在于,所述基于所述预测正视体素阵列对初始正视预测模型进行训练,包括:将所述预测正视体素阵列输入初始正视预测模型,获取所述初始正视预测模型输出的正视穿衣人体3D预测模型;

将所述正视穿衣人体3D预测模型输入预设微分渲染器,获取所述预设微分渲染器渲染后的正视穿衣人体预测图像;

基于所述正视穿衣人体预测图像对初始正视预测模型进行训练。

7.根据权利要求5所述的穿衣人体三维模型构建方法,其特征在于,所述基于所述预测后视体素阵列对初始后视预测模型进行训练,包括:将所述预测后视体素阵列输入初始后视预测模型,获取所述初始后视预测模型输出的后视穿衣人体3D预测模型;

将所述后视穿衣人体3D预测模型输入预设微分渲染器,获取所述预设微分渲染器渲染后的后视穿衣人体预测图像;

基于所述后视穿衣人体预测图像对初始后视预测模型进行训练。

8.根据权利要求1所述的穿衣人体三维模型构建方法,其特征在于,所述基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,包括:基于所述目标正视预测模型预估出正视穿衣人体3D预测模型,基于所述目标后视预测模型预估出后视穿衣人体3D预测模型;

分别从所述正视穿衣人体3D预测模型及所述后视穿衣人体3D预测模型中采取若干个位于体内或体外的采样点,构建出采样点训练集;

基于所述采样点训练集对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型。

9.根据权利要求1至8任一项所述的穿衣人体三维模型构建方法,其特征在于,所述初始正视预测模型及初始后视预测模型的结构单元为ResNet子网络;

所述ResNet子网络包括Conv卷积层、BatchNorm归一化层及Relu激活函数层。

10.根据权利要求1至8任一项所述的穿衣人体三维模型构建方法,其特征在于,所述目标体内外识别模型依次由输入层、13个神经元的第一全连接层、521个神经元的第二全连接层、256个神经元的第三全连接层、128个神经元的第四全连接层、1个神经元的第五全连接层及输出层组成。

11.一种穿衣人体三维重建方法,其特征在于,包括:

确定待重建的穿衣人体姿态图像数据;

将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型;

其中,所述穿衣人体三维模型是基于如权利要求1至10任一项所述的穿衣人体三维模型构建方法得到的。

12.根据权利要求11所述的穿衣人体三维重建方法,其特征在于,所述穿衣人体三维模型包括目标SMPL模型、目标正视预测模型、目标后视预测模型、目标体内外识别模型及图像三维可视化模型;

所述将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型,包括:将所述待重建的穿衣人体姿态图像数据输入所述目标SMPL模型,获取所述目标SMPL模型输出的目标穿衣人体3D模型,并将所述目标穿衣人体3D模型体素化,得到目标三维体素阵列;

从所述目标三维体素阵列中分解出目标正视体素阵列及目标后视体素阵列,并将所述目标正视体素阵列输入所述目标正视预测模型,获取所述目标正视预测模型输出的目标正视穿衣人体3D模型,将所述目标后视体素阵列输入所述目标后视预测模型,获取所述目标后视预测模型输出的目标后视穿衣人体3D模型;

确定所述目标正视穿衣人体3D模型中各正视坐标点、所述各正视坐标点的颜色值、所述目标后视穿衣人体3D模型中各后视坐标点及所述各后视坐标点的颜色值,并计算出所述目标穿衣人体3D模型中各3D坐标点的距离场值;

将所述各正视坐标点、所述各正视坐标点的颜色值、所述各后视坐标点、所述各后视坐标点的颜色值及所述各3D坐标点的距离场值输入所述目标体内外识别模型,获取所述目标体内外识别模型输出的各所述3D坐标点的体内外识别结果;

将所述体内外识别结果输入所述图像三维可视化模型,获取所述图像三维可视化模型输出的穿衣人体3D模型。

13.一种穿衣人体三维模型构建装置,其特征在于,包括:

第一训练单元,用于基于3D人体姿态图像训练数据对初始SMPL模型进行第一阶段训练,得到初级SMPL模型;

所述第一训练单元,还用于基于2D人体姿态图像训练数据对所述初级SMPL模型进行第二阶段训练,得到训练好的目标SMPL模型;

第二训练单元,用于基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,其中,所述目标正视预测模型用于构建出目标三维体素阵列对应的目标正视穿衣人体3D预测模型,所述目标后视预测模型用于构建出目标三维体素阵列对应的目标后视穿衣人体3D预测模型,所述目标三维体素阵列是通过目标SMPL模型对预设人体姿态图像训练数据进行处理得到的,其中,所述预设人体姿态图像训练数据包括所述3D人体姿态图像训练数据及所述2D人体姿态图像训练数据;

第三训练单元,用于基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,其中,所述目标体内外识别模型用于区分出所述目标正视穿衣人体3D预测模型及所述目标后视穿衣人体3D预测模型中位于体内或体外的采样点;

构建单元,用于基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型,其中,所述穿衣人体三维模型用于重建出待重建的穿衣人体姿态图像数据对应的穿衣人体3D模型。

14.一种穿衣人体三维重建装置,其特征在于,包括:

确定单元,用于确定待重建的穿衣人体姿态图像数据;

重建单元,用于将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型;

其中,所述穿衣人体三维模型是基于如权利要求1至10任一项所述的穿衣人体三维模型构建方法得到的。

15.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任一项所述穿衣人体三维模型构建方法或如权利要求11至12任一项所述穿衣人体三维重建方法。

16.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述穿衣人体三维模型构建方法或如权利要求11至12任一项所述穿衣人体三维重建方法。

说明书 :

模型构建方法、重建方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及深度学习技术领域,尤其涉及一种模型构建方法、重建方法、装置、电子设备及存储介质。

背景技术

[0002] 近些年由于元宇宙概念的兴起,跟随而来虚拟人技术的数字人、虚拟形象的开发逐渐成为了新兴的技术议题,除了用于虚拟真人类形象,数字人的开发技术也能让角色表情更加生动,并且与观众互动,在整个数字人的技术栈中,虚拟人的自由视角下的动作合成是虚拟人不可缺少的一环,传统的数字人3D重建主要用到静态扫描建模的方法,即通过相机阵列来采集物体的深度信息来生成点云,把这些点按照顺序连接成三角面,就生成了计算机环境下三维模型网格的基本单位。
[0003] 随着深度学习的兴起,越来越多使用深度学习的方法进行人体3D重建,目前主要有两种方法进行3D重建,分别为隐式的方法和显式的方法进行3D重建。
[0004] 虽然目前通过以上方式可以在自然状态下将穿衣服的人体高精度的刻画出来,但以上重建方法的场景相对简单,当在存在多人场景中,由于人体之间会出现重叠渗透、深度顺序不一致的现象发生,因此使用以上方式无法进行复杂场景下的3D重建。

发明内容

[0005] 本申请提供一种模型构建方法、重建方法、装置、电子设备及存储介质,用以解决现有技术中无法进行复杂场景下的3D重建的技术缺陷。
[0006] 本申请提供一种穿衣人体三维模型构建方法,包括:
[0007] 基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型;
[0008] 基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,其中,所述目标正视预测模型用于构建出目标三维体素阵列对应的目标正视穿衣人体3D预测模型,所述目标后视预测模型用于构建出目标三维体素阵列对应的目标后视穿衣人体3D预测模型,所述目标三维体素阵列是通过所述目标SMPL模型对所述预设人体姿态图像训练数据进行处理得到的;
[0009] 基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,其中,所述目标体内外识别模型用于区分出所述目标正视穿衣人体3D预测模型及所述目标后视穿衣人体3D预测模型中位于体内或体外的采样点;
[0010] 基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型,其中,所述穿衣人体三维模型用于重建出待重建的穿衣人体姿态图像数据对应的穿衣人体3D模型。
[0011] 根据本申请提供的一种穿衣人体三维模型构建方法,所述预设人体姿态图像训练数据包括3D人体姿态图像训练数据及2D人体姿态图像训练数据;
[0012] 所述基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型,包括:
[0013] 基于所述3D人体姿态图像训练数据对初始SMPL模型进行第一阶段训练,得到初级SMPL模型;
[0014] 基于所述2D人体姿态图像训练数据对所述初级SMPL模型进行第二阶段训练,得到训练好的目标SMPL模型。
[0015] 根据本申请提供的一种穿衣人体三维模型构建方法,所述基于所述2D人体姿态图像训练数据对所述初级SMPL模型进行第二阶段训练,得到训练好的目标SMPL模型,包括:
[0016] 将所述2D人体姿态图像训练数据输入所述初级SMPL模型,获取所述初级SMPL模型输出的初级3D人体姿态图像预测数据;
[0017] 获取所述初级3D人体姿态图像预测数据对应的相机参数及全局转动参数,基于所述相机参数及全局转动参数将所述初级3D人体姿态图像预测数据映射为2D人体姿态图像预测数据;
[0018] 计算出所述2D人体姿态图像预测数据与所述2D人体姿态图像训练数据之间的2D回归损失,基于所述2D回归损失对所述初级SMPL模型进行迭代更新,直至第二阶段训练结束,得到训练好的目标SMPL模型。
[0019] 根据本申请提供的一种穿衣人体三维模型构建方法,所述基于所述3D人体姿态图像训练数据对初始SMPL模型进行第一阶段训练,得到初级SMPL模型,包括:
[0020] 将所述3D人体姿态图像训练数据输入所述初始SMPL模型,获取所述初始SMPL模型输出的SMPL姿态参数、SMPL形态参数、全局转动参数及相机参数;
[0021] 基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数及所述相机参数获取所述初始SMPL模型重建出的初始3D人体姿态图像预测数据;
[0022] 基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数、所述相机参数及所述初始3D人体姿态图像预测数据计算出3D回归损失;
[0023] 基于所述3D回归损失对所述初始SMPL模型进行迭代更新,直至第一阶段训练结束,得到训练好的初级SMPL模型。
[0024] 根据本申请提供的一种穿衣人体三维模型构建方法,所述基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数、所述相机参数及所述初始3D人体姿态图像预测数据计算出3D回归损失的计算公式为:
[0025]
[0026] 其中, 为SMPL姿态参数对应的3D回归损失, 为SMPL形态参数对应的3D回归损失, 为全局转动参数对应的3D回归损失, 为3D人体姿态对应的3D回归损失, 为相机参数对应的3D回归损失。
[0027] 根据本申请提供的一种穿衣人体三维模型构建方法,所述基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,包括:
[0028] 获取所述训练好的目标SMPL模型输出的预测三维体素阵列;
[0029] 从所述预测三维体素阵列中分解出预测正视体素阵列及预测后视体素阵列,并基于所述预测正视体素阵列对初始正视预测模型进行训练,基于所述预测后视体素阵列对初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型。
[0030] 根据本申请提供的一种穿衣人体三维模型构建方法,所述基于所述预测正视体素阵列对初始正视预测模型进行训练,包括:
[0031] 将所述预测正视体素阵列输入初始正视预测模型,获取所述初始正视预测模型输出的正视穿衣人体3D预测模型;
[0032] 将所述正视穿衣人体3D预测模型输入预设微分渲染器,获取所述预设微分渲染器渲染后的正视穿衣人体预测图像;
[0033] 基于所述正视穿衣人体预测图像对初始正视预测模型进行训练。
[0034] 根据本申请提供的一种穿衣人体三维模型构建方法,所述基于所述预测后视体素阵列对初始后视预测模型进行训练,包括:
[0035] 将所述预测后视体素阵列输入初始后视预测模型,获取所述初始后视预测模型输出的后视穿衣人体3D预测模型;
[0036] 将所述后视穿衣人体3D预测模型输入预设微分渲染器,获取所述预设微分渲染器渲染后的后视穿衣人体预测图像;
[0037] 基于所述后视穿衣人体预测图像对初始后视预测模型进行训练。
[0038] 根据本申请提供的一种穿衣人体三维模型构建方法,所述基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,包括:
[0039] 基于所述目标正视预测模型预估出正视穿衣人体3D预测模型,基于所述目标后视预测模型预估出后视穿衣人体3D预测模型;
[0040] 分别从所述正视穿衣人体3D预测模型及所述后视穿衣人体3D预测模型中采取若干个位于体内或体外的采样点,构建出采样点训练集;
[0041] 基于所述采样点训练集对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型。
[0042] 根据本申请提供的一种穿衣人体三维模型构建方法,所述初始正视预测模型及初始后视预测模型的结构单元为ResNet子网络;
[0043] 所述ResNet子网络包括Conv卷积层、BatchNorm归一化层及Relu激活函数层。
[0044] 根据本申请提供的一种穿衣人体三维模型构建方法,所述目标体内外识别模型依次由输入层、13个神经元的第一全连接层、521个神经元的第二全连接层、256个神经元的第三全连接层、128个神经元的第四全连接层、1个神经元的第五全连接层及输出层组成。
[0045] 本申请还提供一种穿衣人体三维重建方法,包括:
[0046] 确定待重建的穿衣人体姿态图像数据;
[0047] 将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型;
[0048] 其中,所述穿衣人体三维模型是基于以上任一项所述的穿衣人体三维模型构建方法得到的。
[0049] 根据本申请提供的一种穿衣人体三维重建方法,所述穿衣人体三维模型包括目标SMPL模型、目标正视预测模型、目标后视预测模型、目标体内外识别模型及图像三维可视化模型;
[0050] 所述将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型,包括:
[0051] 将所述待重建的穿衣人体姿态图像数据输入所述目标SMPL模型,获取所述目标SMPL模型输出的目标穿衣人体3D模型,并将所述目标穿衣人体3D模型体素化,得到目标三维体素阵列;
[0052] 从所述目标三维体素阵列中分解出目标正视体素阵列及目标后视体素阵列,并将所述目标正视体素阵列输入所述目标正视预测模型,获取所述目标正视预测模型输出的目标正视穿衣人体3D模型,将所述目标后视体素阵列输入所述目标后视预测模型,获取所述目标后视预测模型输出的目标后视穿衣人体3D模型;
[0053] 确定所述目标正视穿衣人体3D模型中各正视坐标点、所述各正视坐标点的颜色值、所述目标后视穿衣人体3D模型中各后视坐标点及所述各后视坐标点的颜色值,并计算出所述目标穿衣人体3D模型中各3D坐标点的SDF值;
[0054] 将所述各正视坐标点、所述各正视坐标点的颜色值、所述各后视坐标点、所述各后视坐标点的颜色值及所述各3D坐标点的SDF值输入所述目标体内外识别模型,获取所述目标体内外识别模型输出的各所述3D坐标点的体内外识别结果;
[0055] 将所述体内外识别结果输入所述图像三维可视化模型,获取所述图像三维可视化模型输出的穿衣人体3D模型。
[0056] 本申请还提供一种穿衣人体三维模型构建装置,包括:
[0057] 第一训练单元,用于基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型;
[0058] 第二训练单元,用于基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,其中,所述目标正视预测模型用于构建出目标三维体素阵列对应的目标正视穿衣人体3D预测模型,所述目标后视预测模型用于构建出目标三维体素阵列对应的目标后视穿衣人体3D预测模型,所述目标三维体素阵列是通过所述目标SMPL模型对所述预设人体姿态图像训练数据进行处理得到的;
[0059] 第三训练单元,用于基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,其中,所述目标体内外识别模型用于区分出所述目标正视穿衣人体3D预测模型及所述目标后视穿衣人体3D预测模型中位于体内或体外的采样点;
[0060] 构建单元,用于基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型,其中,所述穿衣人体三维模型用于重建出待重建的穿衣人体姿态图像数据对应的穿衣人体3D模型。
[0061] 本申请还提供一种穿衣人体三维重建装置,包括:
[0062] 确定单元,用于确定待重建的穿衣人体姿态图像数据;
[0063] 重建单元,用于将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型;
[0064] 其中,所述穿衣人体三维模型是基于以上任一项所述的穿衣人体三维模型构建方法得到的。
[0065] 本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述穿衣人体三维模型构建方法或如上述任一种所述穿衣人体三维重建方法。
[0066] 本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述穿衣人体三维模型构建方法或如上述任一种所述穿衣人体三维重建方法。
[0067] 本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述穿衣人体三维模型构建方法或如上述任一种所述穿衣人体三维重建方法。
[0068] 本申请提供的模型构建方法、重建方法、装置、电子设备及存储介质,包括基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型,基于训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,基于目标正视预测模型及目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,最后基于目标SMPL模型、目标正视预测模型、目标后视预测模型、目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型,由此构建出的穿衣人体三维模型包括SMPL参数维度、正视维度、后视维度及人体表面内外点维度的多种不同层次的维度特征识别,进而构建出的穿衣人体三维模型可以解决多人的复杂场景下人体相对重叠渗透现象的干扰,进而可以在存在多人的复杂场景下恢复穿衣人体的模型重建。

附图说明

[0069] 为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0070] 图1是本申请提供的人体三维重建模型训练方法的流程示意图之一;
[0071] 图2是本申请提供的一种基于ResNet子网络为结构单元组成的模型框架示意图;
[0072] 图3是本申请提供的一种ResNet子网络的结构示意图;
[0073] 图4是本申请提供的穿衣人体三维重建方法的流程示意图之一;
[0074] 图5是本申请提供的人体三维重建模型训练装置的结构示意图;
[0075] 图6是本申请提供的穿衣人体三维重建装置的结构示意图;
[0076] 图7是本申请提供的电子设备的结构示意图。

具体实施方式

[0077] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0078] 现有技术中,随着深度学习的兴起,越来越多使用深度学习的方法进行人体3D重建,目前主要有两种方法进行3D重建,分别是隐式的方法和显式的方法进行3D重建。
[0079] 虽然目前通过以上方式可以在自然状态下将穿衣服的人体高精度的刻画出来,但以上重建方法的场景相对简单,当在存在多人场景中,由于人体之间会出现重叠渗透、深度顺序不一致的现象发生,因此使用以上方式无法进行复杂场景下的3D重建。
[0080] 因此,针对上述现有技术中存在的问题,本实施例提供一种穿衣人体三维模型构建方法。
[0081] 如图1所示,为本申请实施例提供的穿衣人体三维模型构建方法的流程示意图之一,该方法主要包括如下步骤:
[0082] 步骤101,基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型;
[0083] 其中,SMPL(Skinned Multi‑Person Linear,多人蒙皮线性)模型是一种用形状参数和姿势参数来对人体进行编码的模型。
[0084] 具体地,在训练阶段,初始SMPL模型的输入参数分为姿势参数 和体型参数 ,其中,姿势参数 包括23*3个关节点及3个根关节点,体型参数 包括10个参数,包含高矮胖瘦、头身比等比例等,输出的包括SMPL姿态参数、SMPL形态参数、全局转动参数及相机参数,之后在初始SMPL模型输出的参数的基础上得到该姿势参数 和体型参数 下重建的三维人体网络,之后可根据重建后的各采样点的预测位置及其真实位置对初始SMPL模型的模型参数进行迭代更新,直至模型参数收敛,由此即可得到训练好的目标SMPL模型。
[0085] 可选地,在一些实施例中,预设人体姿态图像训练数据可从Human36M数据集中获取得到。具体地,获取Human36M数据集,接着采用图片尺度随机变换、随机旋转和颜色随机变换中的至少一种对Human36M数据集中的图片进行处理以得到处理后的图片,由处理前和处理后的图片共同构成预设人体姿态图像训练数据。
[0086] 此外需要说明的是,本实施例中设置模型的一次训练所选取的样本数Batch Size‑4为64,使用Adam优化器且初始学习率为10 情况下进行训练。
[0087] 步骤102,基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型;
[0088] 其中,正视预测模型指代对人体三维模型的正视方向上的采样点进行坐标点的位置及颜色进行预估的模型,后视预测模型指代对人体三维模型的后视方向上的采样点进行坐标点的位置及颜色进行预估的模型。
[0089] 可以理解地,预设人体姿态图像训练数据经过目标SMPL模型处理后,通过目标SMPL模型可以得到目标三维体素阵列,则本实施中,可以继续通过目标正视预测模型用于构建出目标三维体素阵列对应的目标正视穿衣人体3D预测模型,通过目标后视预测模型用于构建出目标三维体素阵列对应的目标后视穿衣人体3D预测模型,来提取出预设人体姿态图像训练数据中的正视维度和后视维度上的特征。
[0090] 优选地,本实施例中的初始正视预测模型及初始后视预测模型的结构单元为ResNet子网络,例如参考图2,图2为本实施例提出的一种基于ResNet子网络为结构单元组成的模型框架,在此以正视预测模型为代表进行解释说明。
[0091] 例如,特征数据输入正视预测模型后,先经过ResNet子网络进行一次处理,得到第一次处理结果,第一次处理结果再次经过ResNet子网络进行一次处理,得到第二次处理结果,第二次处理结果经过连续两个ResNet子网络进行处理,得到第三次处理结果,之后第二次处理结果和第三次处理结果进行特征融合,得到融合后的第一融合结果,接着第一融合结果经过两个ResNet子网络进行处理,得到第四次处理结果,第四次处理结果和第一次处理结果继续进行特征融合,得到融合后的第二融合结果,第二融合结果经过连续两个ResNet子网络进行处理,得到第五次处理结果,最后第五次处理结果和输入的特征数据进行融合,即可得到模型需要输出的最终处理结果。
[0092] 进一步地,参考图3,图3为本实施例提出的一种ResNet子网络的结构,所述ResNet子网络包括Conv卷积层、BatchNorm归一化层及Relu激活函数层。
[0093] 为了便于理解,对此举例说明,特征数据先依次经过一个参数量为3*1*1(即输入通道为3,输出通道为1,卷积核为1)的Conv卷积层、BatchNorm归一化层及Relu激活函数层,得到第一结果数据,之后第一结果数据继续依次经过一个参数量为1*3*1(即输入通道为1,输出通道为3,卷积核为1)的Conv卷积层、BatchNorm归一化层及Relu激活函数层,得到第二结果数据,接着第二结果数据继续依次经过一个参数量为1*1*3(即输入通道为1,输出通道为1,卷积核为3)的Conv卷积层、BatchNorm归一化层及Relu激活函数层,得到第三结果数据,最后三次结果数据进行组合即为ResNet子网络输出的结果数据。
[0094] 本实施例中,将一个完整的人体三维模型划分为正视三维子模型和后视三维子模型,其中,正视三维子模型指代包括人体面部结构的部分,后视三维子模型指代包括人体后脑勺结构的部分。
[0095] 需要说明的是,由于在多人场景时会出现人体相对重叠渗透的现象,因此本实施例中为了实现精确进行相互重叠渗透的人体间的互相分离,将一个完整的人体三维模型划分成正视和后视两个方向上的子模型进行人体特征分析处理。
[0096] 具体地,为了保障以上两个初始正视预测模型及初始后视预测模型训练效果,采用训练好的目标SMPL模型重建出的三维人体网络进行训练。
[0097] 步骤103,基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型;
[0098] 具体地,初始体内外识别模型指代用于区分采样点位于人体表面外或者在人体表面内的模型,其输出结果为+1或‑1,当结果为+1表示采样点位于人体表面外,当结果为‑1表示采样点位于人体表面内,由此可重建出穿衣人体三维模型。
[0099] 可以理解地,在存在多人场景中,由于人体之间会出现重叠渗透,因此本实施例中,在提取出预设人体姿态图像训练数据中的正视维度和后视维度上的特征后,继续使用目标体内外识别模型区分出目标正视穿衣人体3D预测模型及目标后视穿衣人体3D预测模型中位于体内或体外的采样点,由此通过人体表面内外点维度上的特征来消除人体之间会出现重叠渗透状况对穿衣人体的模型重建的干扰。具体地,本实施例中的所述目标体内外识别模型依次由输入层、13个神经元的第一全连接层、521个神经元的第二全连接层、256个神经元的第三全连接层、128个神经元的第四全连接层、1个神经元的第五全连接层及输出层组成。
[0100] 步骤104,基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型。
[0101] 由于目标体内外识别模型仅能区分出采样点位于人体表面外或者在人体表面内,因此本实施例中为了重建出完整的穿衣人体三维模型,在得知采样点与人体表面之间的位置关系后,将其经过图像三维可视化模型进行处理,即可构建出重建出待重建的穿衣人体姿态图像数据对应的穿衣人体3D(三维)模型。
[0102] 优选地,本实施例中的图像三维可视化模型为marching cube算法,其中,marching cube算法是一种体素级重建方法,也被称为等值面提取算法,具体地,marching cube算法首先将空间分成众多的六面体网格,由于通过以上四个模型可以得出各采样点与人体表面之间的位置关系,也即这些点在空间中的空间场值,由此即可根据这些点在空间中的空间场值及划分的众多的六面体网格重建出穿衣人体三维模型。
[0103] 由此,构建出的穿衣人体三维模型中的目标SMPL模型可以重建出图像中待重建穿衣人体的姿势特征和体型特征,目标正视预测模型及目标后视预测模型可以重建出待重建穿衣人体的采样点及各采样点的颜色特征,由此可根据颜色特征区分出各采样点的位置信息,目标体内外识别模型可以进一步地判断出采样点是否在人体表面外或者在人体表面内,由此基于层层递进的特征提取分析处理,可以解决多人的复杂场景下人体相对重叠渗透现象的干扰,进而将判断的结果经过图像三维可视化模型处理,即可重建出在多人的复杂场景下的穿衣人体三维模型。
[0104] 本实施例提出的穿衣人体三维模型构建方法构建出的穿衣人体三维模型包括SMPL参数维度、正视维度、后视维度及人体表面内外点维度的多种不同层次的维度特征识别,进而构建出的穿衣人体三维模型可以解决多人的复杂场景下人体相对重叠渗透现象的干扰,进而可以在存在多人的复杂场景下恢复穿衣人体的模型重建。
[0105] 在一些实施例中,所述预设人体姿态图像训练数据包括3D人体姿态图像训练数据及2D人体姿态图像训练数据;
[0106] 所述基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型,包括:
[0107] 基于所述3D人体姿态图像训练数据对初始SMPL模型进行第一阶段训练,得到初级SMPL模型;
[0108] 基于所述2D人体姿态图像训练数据对所述初级SMPL模型进行第二阶段训练,得到训练好的目标SMPL模型。
[0109] 具体地,本实施例中为了便于后续得出的结果更加精准,本实施例中在初始SMPL模型训练阶段,使用3D人体姿态图像训练数据及2D人体姿态图像训练数据对其进行优化。
[0110] 优选地,3D人体姿态图像训练数据从Human36M数据集中获取得到,2D人体姿态图像训练数据从MPII数据集和MS COCO数据集中获取得到。
[0111] 其中,MS COCO数据集是一个大型丰富的物体检测,分割和字幕数据集,MPII数据集是人体姿势预估的一个基准,由此本实施例中,可以通过从MPII数据集和MS COCO数据集中抽取出2D人体姿态图像训练数据对初级SMPL模型再次进行训练,由此弥补3D人体姿态图像训练数据较少导致模型收敛效果较差的缺陷,进而通过丰富模型训练数据来使训练好的目标SMPL模型足够收敛,进而使得后续得出的结果更加精准。
[0112] 在一些实施例中,所述基于所述2D人体姿态图像训练数据对所述初级SMPL模型进行第二阶段训练,得到训练好的目标SMPL模型,包括:
[0113] 将所述2D人体姿态图像训练数据输入所述初级SMPL模型,获取所述初级SMPL模型输出的初级3D人体姿态图像预测数据;
[0114] 获取所述初级3D人体姿态图像预测数据对应的相机参数及全局转动参数,基于所述相机参数及全局转动参数将所述初级3D人体姿态图像预测数据映射为2D人体姿态图像预测数据;
[0115] 计算出所述2D人体姿态图像预测数据与所述2D人体姿态图像训练数据之间的2D回归损失,基于所述2D回归损失对所述初级SMPL模型进行迭代更新,直至第二阶段训练结束,得到训练好的目标SMPL模型。
[0116] 本实施例中,通过初级SMPL模型获得初级3D人体姿态图像预测数据(也即关节3D坐标),其中,初级3D人体姿态图像预测数据是在当前初级SMPL模型的SMPL姿态参数、SMPL形态参数及相机参数下进行SMPL估计得到的。
[0117] 由此为了计算出当前训练过程下的损失,先通过当前训练过程下的相机参数及全局转动参数将获得的关节3D坐标通过正交投影公式得到关节2D坐标,接着根据映射后的关节2D坐标计算出2D回归损失。
[0118] 其中,正交投影公式为 。
[0119] 其中, 为关节2D坐标(即2D人体姿态图像预测数据)、为相机参数下对应的图像平面缩放、 为全局转动参数、 为关节3D坐标(即3D人体姿态图像预测数据)、为相机参数下对应的图像平面平移。
[0120] 其中,2D回归损失的计算公式为:
[0121]
[0122] 其中,为 , 为真实2d坐标。
[0123] 本实施例中,将3D姿势信息通过投影公式投影到2D坐标点,使得2D坐标的数据集可以应用到3D重建中优化SMPL模型与像素对齐操作,进而在存在多人的复杂场景下能够更精确恢复穿衣人体的模型重建。
[0124] 在一些实施例中,所述基于所述3D人体姿态图像训练数据对初始SMPL模型进行第一阶段训练,得到初级SMPL模型,包括:
[0125] 将所述3D人体姿态图像训练数据输入所述初始SMPL模型,获取所述初始SMPL模型输出的SMPL姿态参数、SMPL形态参数、全局转动参数及相机参数;
[0126] 基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数及所述相机参数获取所述初始SMPL模型重建出的初始3D人体姿态图像预测数据;
[0127] 基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数、所述相机参数及所述初始3D人体姿态图像预测数据计算出3D回归损失;
[0128] 基于所述3D回归损失对所述初始SMPL模型进行迭代更新,直至第一阶段训练结束,得到训练好的初级SMPL模型。
[0129] 本实施例中,在训练阶段,3D人体姿态图像训练数据首先将经过卷积和池化之后形成早期图片特征,接着经过ResNet‑50网络中的4个Conv卷积层进行图片特征提取处理后,得到了组合特征 ,其中,组合特征 是一个 的矩阵。
[0130] 组合特征 接着经过15*8的Conv卷积层处理后生成一个120*8*8的矩阵,接着经过reshape模型、soft argmax模型和grid sample模型处理之后生成3D姿态 ,其中3D姿态 。
[0131] 继续将组合特征 经过grid sample模型处理之后形成 的矩阵,并和姿势坐标置信度组合之后形成 的矩阵,最终经过图卷积神经网络和4个MLP网络之后输出的SMPL姿态参数、SMPL形态参数、全局转动参数及相机参数,其中,本实施例中的图卷积网络计算公式为:
[0132] 。
[0133] 其中, 为第i个关节点的图特征, 是 在 的数值, 是归一化邻接矩阵,为根据骨骼层次建立的邻接矩阵, 为 特征向量, 为单位矩阵, 为线性整流函数, 为批归一化函数, 为网络的权重。
[0134] 该步骤中,在得到以上几个参数后即可进行SMPL估计得到预估的初始3D人体姿态图像预测数据。
[0135] 在一些实施例中,所述基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数、所述相机参数及所述初始3D人体姿态图像预测数据计算出3D回归损失的计算公式为:
[0136]
[0137] 其中, 为SMPL姿态参数对应的3D回归损失, 为SMPL形态参数对应的3D回归损失, 为全局转动参数对应的3D回归损失, 为3D人体姿态对应的3D回归损失, 为相机参数对应的3D回归损失。
[0138] 其中,各参数下的3D回归损失的计算公式为:
[0139] ; 为期望值, 为预测值。
[0140] 在一些实施例中,所述基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,包括:
[0141] 获取所述训练好的目标SMPL模型输出的预测三维体素阵列;
[0142] 从所述预测三维体素阵列中分解出预测正视体素阵列及预测后视体素阵列,并基于所述预测正视体素阵列对初始正视预测模型进行训练,基于所述预测后视体素阵列对初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型。
[0143] 其中,训练过程中各模型的损失函数的计算公式为:
[0144] ; 为期望值, 为预测值。
[0145] 该步骤,目标SMPL模型输出的为预测穿衣人体3D模型(即三维人体网格),接着将生成的三维人体网格进行体素化,分别生成预测正视体素阵列及预测后视体素阵列。
[0146] 具体地,预测正视体素阵列指代人体三维模型的正视方向上的采样点构成的体素阵列,预测后视体素阵列指代人体三维模型的后视方向上的采样点构成的体素阵列。
[0147] 优选地,本实施例中在训练过程中,从AGORA数据集和THuman数据集中抽取出训练数据进行训练,其中,AGORA数据集是一个包含约7000个模型的3D真实人体模型数据集,由此使用此数据集中的数据训练此两个模型,可优化模型训练结果。
[0148] 在一些实施例中,所述基于所述预测正视体素阵列对初始正视预测模型进行训练,包括:
[0149] 将所述预测正视体素阵列输入初始正视预测模型,获取所述初始正视预测模型输出的正视穿衣人体3D预测模型;
[0150] 将所述正视穿衣人体3D预测模型输入预设微分渲染器,获取所述预设微分渲染器渲染后的正视穿衣人体预测图像;
[0151] 基于所述正视穿衣人体预测图像对初始正视预测模型进行训练。
[0152] 该步骤中,为了加快初始正视预测模型迭代更新进度,在得到结果后可后接预设微分渲染器进行训练,通过回归渲染后的图像和原图像来训练网络,在得出网络权重后去除预设微分渲染器。
[0153] 优先地,预设微分渲染器为mesh renderer可微分渲染器,输入的是3D顶点坐标和三角面片所包含的3D顶点id,输出是渲染图像每个像素所对应的三角面片id和此三角面片3个顶点的重心权重,同时该渲染器还提供了和像素重心权重关于顶点位置的微分。
[0154] 在一些实施例中,所述基于所述预测后视体素阵列对初始后视预测模型进行训练,包括:
[0155] 将所述预测后视体素阵列输入初始后视预测模型,获取所述初始后视预测模型输出的后视穿衣人体3D预测模型;
[0156] 将所述后视穿衣人体3D预测模型输入预设微分渲染器,获取所述预设微分渲染器渲染后的后视穿衣人体预测图像;
[0157] 基于所述后视穿衣人体预测图像对初始后视预测模型进行训练。
[0158] 该步骤中,为了加快初始后视预测模型迭代更新进度,在得到结果后可后接预设微分渲染器进行训练,通过回归渲染后的图像和原图像来训练网络,在得出网络权重后去除预设微分渲染器。
[0159] 优先地,预设微分渲染器为mesh renderer可微分渲染器,输入的是3D顶点坐标和三角面片所包含的3D顶点id,输出是渲染图像每个像素所对应的三角面片id和此三角面片3个顶点的重心权重,同时该渲染器还提供了和像素重心权重关于顶点位置的微分。
[0160] 在一些实施例中,所述基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,包括:
[0161] 基于所述目标正视预测模型预估出正视穿衣人体3D预测模型,基于所述目标后视预测模型预估出后视穿衣人体3D预测模型;
[0162] 分别从所述正视穿衣人体3D预测模型及所述后视穿衣人体3D预测模型中采取若干个位于体内或体外的采样点,构建出采样点训练集;
[0163] 基于所述采样点训练集对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型。
[0164] 其中,正视穿衣人体3D预测模型和后视穿衣人体3D预测模型均为在一个三维网格中的3D人体模型,其中,该三维网格中的3D人体模型不仅包括各坐标点信息,还包括各坐标点的颜色值,其中,坐标点的颜色值对应于穿衣人体的衣服的颜色值。
[0165] 优选地,本实施例中可在每个三维网格中围绕3D人体模型随机采取5000个采样点进行训练,其中,采取的采样点既具备坐标信息,又具备该点的颜色值信息,由此可用于训练初始体内外识别模型区分采样点位于人体表面外或者在人体表面内。
[0166] 基于以上任一实施例,本实施例中还提出一种穿衣人体三维重建方法,图4是本申请提供的穿衣人体三维重建方法的流程示意图之一,如图4所示,包括:
[0167] 步骤401,确定待重建的穿衣人体姿态图像数据;
[0168] 步骤402,将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型;
[0169] 其中,所述穿衣人体三维模型是基于如上述任一实施例的穿衣人体三维模型构建方法得到的。
[0170] 具体地,由上述穿衣人体三维模型构建方法得到穿衣人体三维模型可以应用于穿衣人体的三维重建,将待重建的穿衣人体姿态图像数据输入训练好的穿衣人体三维模型,得到穿衣人体三维模型输出的重建结果。
[0171] 在一些实施例中,所述穿衣人体三维模型包括目标SMPL模型、目标正视预测模型、目标后视预测模型、目标体内外识别模型及图像三维可视化模型;
[0172] 所述将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型,包括:
[0173] 将所述待重建的穿衣人体姿态图像数据输入所述目标SMPL模型,获取所述目标SMPL模型输出的目标穿衣人体3D模型,并将所述目标穿衣人体3D模型体素化,得到目标三维体素阵列;
[0174] 从所述目标三维体素阵列中分解出目标正视体素阵列及目标后视体素阵列,并将所述目标正视体素阵列输入所述目标正视预测模型,获取所述目标正视预测模型输出的目标正视穿衣人体3D模型,将所述目标后视体素阵列输入所述目标后视预测模型,获取所述目标后视预测模型输出的目标后视穿衣人体3D模型;
[0175] 确定所述目标正视穿衣人体3D模型中各正视坐标点、所述各正视坐标点的颜色值、所述目标后视穿衣人体3D模型中各后视坐标点及所述各后视坐标点的颜色值,并计算出所述目标穿衣人体3D模型中各3D坐标点的SDF值;
[0176] 将所述各正视坐标点、所述各正视坐标点的颜色值、所述各后视坐标点、所述各后视坐标点的颜色值及所述各3D坐标点的SDF值输入所述目标体内外识别模型,获取所述目标体内外识别模型输出的各所述3D坐标点的体内外识别结果;
[0177] 将所述体内外识别结果输入所述图像三维可视化模型,获取所述图像三维可视化模型输出的穿衣人体3D模型。
[0178] 其中,SDF值指代距离场值,其表示了每个像素点距离表面的位置,如果在表面外为正数,距离越远数值越大;在表面内则为负数,距离越远数值越小,本实施例中的SDF值的计算方式同现有技术中一致,在此不再赘述。
[0179] 本实施例提出的穿衣人体三维重建方法,通过将待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到重建后的穿衣人体3D模型,由于穿衣人体三维模型包括SMPL参数维度、正视维度、后视维度及人体表面内外点维度的多种不同层次的维度特征识别,进而使用该模型可以在多人的复杂场景下恢复穿衣人体的穿衣人体3D模型重建。
[0180] 下面对本申请提供的穿衣人体三维模型构建装置进行描述,下文描述的穿衣人体三维模型构建装置与上文描述的穿衣人体三维模型构建方法可相互对应参照。
[0181] 如图5所示,本申请实施例提供一种穿衣人体三维模型构建装置,该装置包括:第一训练单元510、第二训练单元520、第三训练单元530及构建单元540。
[0182] 其中,第一训练单元510,用于基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型;第二训练单元520,用于基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,其中,所述目标正视预测模型用于构建出目标三维体素阵列对应的目标正视穿衣人体3D预测模型,所述目标后视预测模型用于构建出目标三维体素阵列对应的目标后视穿衣人体3D预测模型,所述目标三维体素阵列是通过所述目标SMPL模型对所述预设人体姿态图像训练数据进行处理得到的;第三训练单元530,用于基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,其中,所述目标体内外识别模型用于区分出所述目标正视穿衣人体3D预测模型及所述目标后视穿衣人体3D预测模型中位于体内或体外的采样点;构建单元540,用于基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型,其中,所述穿衣人体三维模型用于重建出待重建的穿衣人体姿态图像数据对应的穿衣人体3D模型。
[0183] 进一步地,所述第一训练单元510,还用于基于所述3D人体姿态图像训练数据对初始SMPL模型进行第一阶段训练,得到初级SMPL模型;基于所述2D人体姿态图像训练数据对所述初级SMPL模型进行第二阶段训练,得到训练好的目标SMPL模型。
[0184] 进一步地,所述第一训练单元510,还用于将所述2D人体姿态图像训练数据输入所述初级SMPL模型,获取所述初级SMPL模型输出的初级3D人体姿态图像预测数据;获取所述初级3D人体姿态图像预测数据对应的相机参数及全局转动参数,基于所述相机参数及全局转动参数将所述初级3D人体姿态图像预测数据映射为2D人体姿态图像预测数据;计算出所述2D人体姿态图像预测数据与所述2D人体姿态图像训练数据之间的2D回归损失,基于所述2D回归损失对所述初级SMPL模型进行迭代更新,直至第二阶段训练结束,得到训练好的目标SMPL模型。
[0185] 进一步地,所述第一训练单元510,还用于将所述3D人体姿态图像训练数据输入所述初始SMPL模型,获取所述初始SMPL模型输出的SMPL姿态参数、SMPL形态参数、全局转动参数及相机参数;基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数及所述相机参数获取所述初始SMPL模型重建出的初始3D人体姿态图像预测数据;基于所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数、所述相机参数及所述初始3D人体姿态图像预测数据计算出3D回归损失;基于所述3D回归损失对所述初始SMPL模型进行迭代更新,直至第一阶段训练结束,得到训练好的初级SMPL模型。
[0186] 进一步地,所述SMPL姿态参数、所述SMPL形态参数、所述全局转动参数、所述相机参数及所述初始3D人体姿态图像预测数据计算出3D回归损失的计算公式为:
[0187]
[0188] 其中, 为SMPL姿态参数对应的3D回归损失, 为SMPL形态参数对应的3D回归损失, 为全局转动参数对应的3D回归损失, 为3D人体姿态对应的3D回归损失, 为相机参数对应的3D回归损失。
[0189] 进一步地,所述第二训练单元520,还用于获取所述训练好的目标SMPL模型输出的预测三维体素阵列;从所述预测三维体素阵列中分解出预测正视体素阵列及预测后视体素阵列,并基于所述预测正视体素阵列对初始正视预测模型进行训练,基于所述预测后视体素阵列对初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型。
[0190] 进一步地,所述第二训练单元520,还用于将所述预测正视体素阵列输入初始正视预测模型,获取所述初始正视预测模型输出的正视穿衣人体3D预测模型;将所述正视穿衣人体3D预测模型输入预设微分渲染器,获取所述预设微分渲染器渲染后的正视穿衣人体预测图像;基于所述正视穿衣人体预测图像对初始正视预测模型进行训练。
[0191] 进一步地,所述第二训练单元520,还用于将所述预测后视体素阵列输入初始后视预测模型,获取所述初始后视预测模型输出的后视穿衣人体3D预测模型;将所述后视穿衣人体3D预测模型输入预设微分渲染器,获取所述预设微分渲染器渲染后的后视穿衣人体预测图像;基于所述后视穿衣人体预测图像对初始后视预测模型进行训练。
[0192] 进一步地,所述第三训练单元530,还用于基于所述目标正视预测模型预估出正视穿衣人体3D预测模型,基于所述目标后视预测模型预估出后视穿衣人体3D预测模型;分别从所述正视穿衣人体3D预测模型及所述后视穿衣人体3D预测模型中采取若干个位于体内或体外的采样点,构建出采样点训练集;基于所述采样点训练集对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型。
[0193] 进一步地,所述初始正视预测模型及初始后视预测模型的结构单元为ResNet子网络;所述ResNet子网络包括Conv卷积层、BatchNorm归一化层及Relu激活函数层。
[0194] 进一步地,所述目标体内外识别模型依次由输入层、13个神经元的第一全连接层、521个神经元的第二全连接层、256个神经元的第三全连接层、128个神经元的第四全连接层、1个神经元的第五全连接层及输出层组成。
[0195] 本申请实施例提供的穿衣人体三维模型构建装置,通过基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型,基于训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型,基于目标正视预测模型及目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型,最后基于目标SMPL模型、目标正视预测模型、目标后视预测模型、目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型,由此构建出的穿衣人体三维模型包括SMPL参数维度、正视维度、后视维度及人体表面内外点维度的多种不同层次的维度特征识别,进而构建出的穿衣人体三维模型可以解决多人的复杂场景下人体相对重叠渗透现象的干扰,进而可以在存在多人的复杂场景下恢复穿衣人体的模型重建。
[0196] 下面对本申请提供的穿衣人体三维重建装置进行描述,下文描述的穿衣人体三维重建装置与上文描述的穿衣人体三维重建方法可相互对应参照。
[0197] 如图6所示,本申请实施例提供一种穿衣人体三维重建装置,该装置包括:确定单元610及重建单元620。
[0198] 其中,确定单元610,用于确定待重建的穿衣人体姿态图像数据;重建单元620,用于将所述待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到所述穿衣人体三维模型输出的穿衣人体3D模型。
[0199] 进一步地,所述穿衣人体三维模型包括目标SMPL模型、目标正视预测模型、目标后视预测模型、目标体内外识别模型及图像三维可视化模型;所述重建单元620,还用于将所述待重建的穿衣人体姿态图像数据输入所述目标SMPL模型,获取所述目标SMPL模型输出的目标穿衣人体3D模型,并将所述目标穿衣人体3D模型体素化,得到目标三维体素阵列;从所述目标三维体素阵列中分解出目标正视体素阵列及目标后视体素阵列,并将所述目标正视体素阵列输入所述目标正视预测模型,获取所述目标正视预测模型输出的目标正视穿衣人体3D模型,将所述目标后视体素阵列输入所述目标后视预测模型,获取所述目标后视预测模型输出的目标后视穿衣人体3D模型;确定所述目标正视穿衣人体3D模型中各正视坐标点、所述各正视坐标点的颜色值、所述目标后视穿衣人体3D模型中各后视坐标点及所述各后视坐标点的颜色值,并计算出所述目标穿衣人体3D模型中各3D坐标点的SDF值;将所述各正视坐标点、所述各正视坐标点的颜色值、所述各后视坐标点、所述各后视坐标点的颜色值及所述各3D坐标点的SDF值输入所述目标体内外识别模型,获取所述目标体内外识别模型输出的各所述3D坐标点的体内外识别结果;将所述体内外识别结果输入所述图像三维可视化模型,获取所述图像三维可视化模型输出的穿衣人体3D模型。
[0200] 由此本实施提出的穿衣人体三维模型构建装置,通过将待重建的穿衣人体姿态图像数据输入穿衣人体三维模型,得到重建后的穿衣人体3D模型,由于穿衣人体三维模型包括SMPL参数维度、正视维度、后视维度及人体表面内外点维度的多种不同层次的维度特征识别,进而使用该模型可以在多人的复杂场景下恢复穿衣人体的穿衣人体3D模型重建。
[0201] 图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(Communications Interface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行人体三维重建模型训练方法,该方法包括:基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型;基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型;基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型;基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型。
[0202] 此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0203] 另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的人体三维重建模型训练方法,该方法包括:基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型;基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型;基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型;基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型。
[0204] 又一方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的人体三维重建模型训练方法,该方法包括:基于预设人体姿态图像训练数据对初始SMPL模型进行训练,得到训练好的目标SMPL模型;基于所述训练好的目标SMPL模型对初始正视预测模型及初始后视预测模型进行训练,得到训练好的目标正视预测模型及目标后视预测模型;基于所述目标正视预测模型及所述目标后视预测模型对初始体内外识别模型进行训练,得到训练好的目标体内外识别模型;基于所述目标SMPL模型、所述目标正视预测模型、所述目标后视预测模型、所述目标体内外识别模型及图像三维可视化模型构建出穿衣人体三维模型。
[0205] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0206] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0207] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。