生成三维人体模型的方法、装置及计算机可读存储介质与流程

文档序号:22549716发布日期:2020-10-17 02:24阅读:203来源:国知局
生成三维人体模型的方法、装置及计算机可读存储介质与流程

本公开涉及人工智能技术领域,特别涉及一种生成三维人体模型的方法、装置及计算机可读存储介质。



背景技术:

smpl(skinnedmulti-personlinear,具有骨骼蒙皮的多人线性)是一种参数化的人体形状模型。在确定了smpl人体形状模型中的各个参数后,smpl人体形状模型能够生成三维人体模型(也可称为三维人体网格)。人体三维模型可以用于实现智能试衣、身份认证等功能。



技术实现要素:

本公开解决的一个技术问题是,如何根据单张人物图像准确高效的生成完整的三维人体模型。

根据本公开实施例的一个方面,提供了一种生成三维人体模型的方法,包括:获取人物图像的局部二维特征点;利用预先训练的第一神经网络对人物图像的局部二维特征点进行处理,获得人物图像基于人体形状模型的局部参数;根据人物图像的局部二维特征点获取人物图像的人体区域;利用预先训练的第二神经网络对人物图像的人体区域进行处理,获得人物图像基于人体形状模型的全局参数;将局部参数与全局参数进行组合,获得人物图像基于人体形状模型的组合参数;将组合参数输入人体形状模型,生成人物图像所对应的三维人体模型。

在一些实施例中,该方法还包括:根据三维人体扫描数据,生成三维人体扫描数据基于人体形状模型的局部参数;根据三维人体扫描数据,生成三维人体扫描数据的局部二维特征点;将三维人体扫描数据的局部二维特征点作为训练数据,将三维人体扫描数据基于人体形状模型的局部参数作为训练标签,对第一神经网络进行训练。

在一些实施例中,根据三维人体扫描数据,生成三维人体扫描数据基于人体形状模型的局部参数包括:对三维人体扫描数据进行人体形状模型回归处理,获得三维人体扫描数据基于人体形状模型的局部参数。

在一些实施例中,根据三维人体扫描数据,生成三维人体扫描数据的局部二维特征点包括:对三维人体扫描数据进行人体形状模型回归处理,获得三维人体扫描数据基于人体形状模型的全局参数;将三维人体扫描数据基于人体形状模型的局部参数和全局参数输入人体形状模型,生成三维人体扫描数据所对应的三维人体模型;将三维人体扫描数据所对应的三维人体模型的顶点输入人体形状模型的人体节点回归器,获得三维人体扫描数据所对应的三维特征点;利用相机投影矩阵将三维人体扫描数据所对应的三维特征点投影为三维人体扫描数据所对应的二维特征点;从三维人体扫描数据所对应的二维特征点中,获取局部二维特征点。

在一些实施例中,相机投影矩阵为随机采样的相机投影矩阵。

在一些实施例中,对第一神经网络进行训练包括:利用三维人体扫描数据基于人体形状模型的局部参数,对第一神经网络的输出结果进行监督,以调整第一神经网络的第一神经网络参数;将第一神经网络的输出结果与三维人体扫描数据基于人体形状模型的全局参数进行组合,获得三维人体扫描数据基于人体形状模型的组合中间参数;将组合中间参数输入人体形状模型,生成三维人体扫描数据所对应的三维人体中间模型;将三维人体中间模型的顶点输入人体形状模型的人体节点回归器,获得三维人体中间模型的三维特征点;利用三维人体扫描数据所对应的三维特征点,对三维人体中间模型的三维特征点进行监督,以调整第一神经网络的第一神经网络参数。

在一些实施例中,局部二维特征点包括面部二维特征点、左手二维特征点以及右手二维特征点;局部参数包括面部表情参数、左手手势参数以及右手手势参数;全局参数包括身体姿态参数、身体形状参数以及相机参数。

在一些实施例中,其中,第一神经网络包括:面部子第一神经网络,被配置为接收面部二维特征点并输出面部表情参数;左手子第一神经网络,用于接收左手二维特征点并输出左手手势参数;右手子第一神经网络,用于接收右手二维特征点并输出右手手势参数。

在一些实施例中,面部子第一神经网络、左手子第一神经网络、右手子第一神经网络均包含全连接层、修正线性单元relu层以及丢弃dropout层。

在一些实施例中,获取人物图像的局部二维特征点包括:利用人体二维姿态估计算法,估计人物图像的局部二维特征点。

根据本公开实施例的又一个方面,提供了一种生成三维人体模型的装置,包括:特征点获取模块,被配置为获取人物图像的局部二维特征点;特征点处理模块,被配置为利用预先训练的第一神经网络对人物图像的局部二维特征点进行处理,获得人物图像基于人体形状模型的局部参数;人体区域获取模块,被配置为根据人物图像的局部二维特征点,获取人物图像的人体区域;图像处理模块,被配置为利用预先训练的第二神经网络对人物图像的人体区域进行处理,获得人物图像基于人体形状模型的全局参数;参数组合模块,被配置为将局部参数与人物图像基于人体形状模型的全局参数进行组合,获得人物图像基于人体形状模型的组合参数;模型生成模块,被配置为将组合参数输入人体形状模型,生成人物图像所对应的三维人体模型。

在一些实施例中,该装置还包括:局部参数生成模块,被配置为根据三维人体扫描数据,生成三维人体扫描数据基于人体形状模型的局部参数;特征点生成模块,被配置为根据三维人体扫描数据,生成三维人体扫描数据的局部二维特征点;网络训练模块,被配置为:将三维人体扫描数据的局部二维特征点作为训练数据,将三维人体扫描数据基于人体形状模型的局部参数作为训练标签,对第一神经网络进行训练。

在一些实施例中,局部参数生成模块被配置为:对三维人体扫描数据进行人体形状模型回归处理,获得三维人体扫描数据基于人体形状模型的局部参数。

在一些实施例中,特征点生成模块被配置为:对三维人体扫描数据进行人体形状模型回归处理,获得三维人体扫描数据基于人体形状模型的全局参数;将三维人体扫描数据基于人体形状模型的局部参数和全局参数输入人体形状模型,生成三维人体扫描数据所对应的三维人体模型;将三维人体扫描数据所对应的三维人体模型的顶点输入人体形状模型的人体节点回归器,获得三维人体扫描数据所对应的三维特征点;利用相机投影矩阵将三维人体扫描数据所对应的三维特征点投影为三维人体扫描数据所对应的二维特征点;从三维人体扫描数据所对应的二维特征点中,获取局部二维特征点。

在一些实施例中,相机投影矩阵为随机采样的相机投影矩阵。

在一些实施例中,网络训练模块被配置为:利用三维人体扫描数据基于人体形状模型的局部参数,对第一神经网络的输出结果进行监督,以调整第一神经网络的第一神经网络参数;将第一神经网络的输出结果与三维人体扫描数据基于人体形状模型的全局参数进行组合,获得三维人体扫描数据基于人体形状模型的组合中间参数;将组合中间参数输入人体形状模型,生成三维人体扫描数据所对应的三维人体中间模型;将三维人体中间模型的顶点输入人体形状模型的人体节点回归器,获得三维人体中间模型的三维特征点;利用三维人体扫描数据所对应的三维特征点,对三维人体中间模型的三维特征点进行监督,以调整第一神经网络的第一神经网络参数。

在一些实施例中,局部二维特征点包括面部二维特征点、左手二维特征点以及右手二维特征点;局部参数包括面部表情参数、左手手势参数以及右手手势参数;全局参数包括身体姿态参数、身体形状参数以及相机参数。

在一些实施例中,第一神经网络包括:面部子第一神经网络,被配置为接收面部二维特征点并输出面部表情参数;左手子第一神经网络,用于接收左手二维特征点并输出左手手势参数;右手子第一神经网络,用于接收右手二维特征点并输出右手手势参数。

在一些实施例中,面部子第一神经网络、左手子第一神经网络、右手子第一神经网络均包含全连接层、修正线性单元relu层以及丢弃dropout层。

在一些实施例中,特征点获取模块被配置为:利用人体二维姿态估计算法,估计人物图像的局部二维特征点。

根据本公开实施例的又一个方面,提供了又一种生成三维人体模型的装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的生成三维人体模型的方法。

根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的生成三维人体模型的方法。

本公开能够根据单张二维人物图像,准确高效的生成完整的三维人体模型。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

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

图1示出了本公开一些实施例的生成三维人体模型的方法的流程示意图。

图2示出了对第一神经网络进行训练的一些实施例的流程示意图。

图3示出了本公开一些实施例的生成三维人体模型的装置的结构示意图。

图4示出了本公开另一些实施例的生成三维人体模型的装置的结构示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。

发明人研究发现,为了根据人物图像生成完整的三维人体模型,可以利用诸如smpl等人体形状模型,对人物图像中的各个身体部分单独进行回归处理,然后再通过迭代优化的方式将各个身体部分的smpl参数恢复出来。但是,这种迭代优化的方式需要对各个身体部分的smpl参数不断修正,因此需要很长的运算处理时间,运算处理速度较慢。有鉴于此,发明人提出了一种生成三维人体模型的方法,以根据单张二维人物图像,准确高效的生成完整的三维人体模型。

首先结合图1描述本公开生成三维人体模型的方法的一些实施例。

图1示出了本公开一些实施例的生成三维人体模型的方法的流程示意图。如图1所示,本实施例包括步骤s101~步骤s105。

在步骤s101中,获取人物图像的局部二维特征点。

例如,可以利用诸如openpose等人体二维姿态估计算法,估计人物图像的局部二维特征点。其中,局部二维特征点可以包括面部二维特征点、左手二维特征点以及右手二维特征点。这些二维特征点具体可以为关节点或关键点。

在步骤s102中,利用预先训练的第一神经网络对人物图像的局部二维特征点进行处理,获得人物图像基于人体形状模型的局部参数。

其中,局部参数具体可以包括面部表情参数、左手手势参数以及右手手势参数。第一神经网络的训练过程在后文进行详细介绍。

在步骤s103中,根据人物图像的局部二维特征点获取人物图像的人体区域。

本领域技术人员应理解,根据人物图像的局部二维特征点的位置,可以用矩形框截取人物图像的人体区域。

在步骤s104中,利用预先训练的第二神经网络对人物图像的人体区域进行处理,获得人物图像基于人体形状模型的全局参数。

第二神经网络具体可以包含特征提取神经网络(例如resnet-50)、特征优化神经网络以及由全连接层构成的特征估计神经网络。第二神经网络的具体配置过程和训练过程可以参照申请号为201910411768.0的专利所公开的内容,获得全局参数的过程不作为本公开的发明点。全局参数具体可以包括身体姿态参数、身体形状参数以及相机参数,用于估计三维人体形状和三维人体姿态。

在步骤s105中,将局部参数与全局参数进行组合,获得人物图像基于人体形状模型的组合参数。

例如,将基于smpl的手势参数、面部表情参数与基于smpl的全局参数进行级联,可以获得基于人体形状模型的组合参数。

在步骤s106中,将组合参数输入人体形状模型,生成人物图像所对应的三维人体模型。

mpjpe(meanperjointpositionerror,每个关节位置误差)是衡量三维人体姿态准确性的指标。经过在cmu全景工作室(cmupanopticstudio)数据集上测试,本实施例所提供方法的mpjpe为53.9,传统的mtc方法的mpjpe为63.0,可见本公开能够更加准确的生成三维人体模型。同时,本实施例生成的三维人体模型不仅包含人体形状信息、人体姿态等全局特征信息,还包含手势特征信息以及面部表情特征信息。此外,本实施例无需对smpl参数进行迭代优化,因此生成三维人体模型的过程更加快速高效。因此,本实施例能够根据单张二维人物图像,准确高效的生成完整的三维人体模型。

下面结合图2描述如何对第一神经网络进行训练。

图2示出了对第一神经网络进行训练的一些实施例的流程示意图。如图2所示,本实施例包括步骤s201~步骤s203。

在步骤s201中,根据三维人体扫描数据,生成三维人体扫描数据基于人体形状模型的局部参数。

三维人体扫描数据通常包含诸多3d人体扫描结果,这些3d人体扫描结果中包含3d手部、3d面部、3d身体特征点的坐标及坐标之间的连接关系,能够表征3d手部、面部及身体形态。在一些实施例中,可以对三维人体扫描数据进行人体形状模型回归处理,获得三维人体扫描数据基于人体形状模型的局部参数。例如,通过不断调整(例如可以通过预设步长不断调整)smpl人体模型的局部参数,回归拟合得到三维人体扫描数据基于smpl人体形状模型的局部参数,使得从而实现了对身体上的手部的局部参数标注以及对身体上的面部的局部参数标注。

在步骤s202中,根据三维人体扫描数据,生成三维人体扫描数据的局部二维特征点。

生成三维人体扫描数据的局部二维特征点的过程详细介绍如下:

(1)对三维人体扫描数据进行人体形状模型回归处理,获得三维人体扫描数据基于人体形状模型的全局参数。回归得到全局参数的过程与步骤s201中回归得到局部参数的过程相类似,目的是使三维人体扫描数据基于smpl人体形状模型的参数对应的三维人体模型能够贴合三维人体扫描数据,在此不做赘述。

(2)将三维人体扫描数据基于人体形状模型的局部参数和全局参数输入人体形状模型,生成三维人体扫描数据所对应的三维人体模型。

(3)将三维人体扫描数据所对应的三维人体模型的顶点(也可称为三维人体网格顶点)输入人体形状模型的人体节点回归器,获得三维人体扫描数据所对应的三维特征点。

(4)利用相机投影矩阵将三维人体扫描数据所对应的三维特征点投影为三维人体扫描数据所对应的二维特征点。其中,相机投影矩阵可以为随机采样的相机投影矩阵,以使得第一神经网络能够适应随机的相机拍摄角度,增强第一神经网络的泛化能力和稳定性。

(5)从三维人体扫描数据所对应的二维特征点中,获取局部二维特征点,作为训练数据。

在步骤s203中,将三维人体扫描数据的局部二维特征点作为训练数据,将三维人体扫描数据基于人体形状模型的局部参数作为训练标签,对第一神经网络进行训练。

在一些实施例中,第一神经网络包括三个子神经网络,分别是:面部子第一神经网络,被配置为接收面部二维特征点并输出面部表情参数;左手子第一神经网络,用于接收左手二维特征点并输出左手手势参数;右手子第一神经网络,用于接收右手二维特征点并输出右手手势参数。其中,三个子神经网络之间的位置关系为并联。

在一些实施例中,面部子第一神经网络、左手子第一神经网络、右手子第一神经网络均包含全连接层、修正线性单元relu层以及丢弃dropout层。其中,三个神经层之间的位置关系为串联。

对第一神经网络进行训练时,一方面可以采用自监督的形式。即,将训练数据输入第一神经网络,并利用标注的局部参数标签对第一神经网络的输出进行监督(例如采用关于局部参数标签及第一神经网络的输出的损失函数)。

另一方面,还可以利用利用三维人体扫描数据所对应的三维特征点,对三维人体中间模型的三维特征点进行监督。该过程详细介绍如下:

(1)利用三维人体扫描数据基于人体形状模型的局部参数,对第一神经网络的输出结果进行监督,以调整第一神经网络的第一神经网络参数。

(2)将第一神经网络的输出结果与三维人体扫描数据基于人体形状模型的全局参数进行组合,获得三维人体扫描数据基于人体形状模型的组合中间参数。

(3)将组合中间参数输入人体形状模型,生成三维人体扫描数据所对应的三维人体中间模型。

(4)将三维人体中间模型的顶点输入人体形状模型的人体节点回归器,获得三维人体中间模型的三维特征点。

(5)利用三维人体扫描数据所对应的三维特征点,对三维人体中间模型的三维特征点进行监督,以调整第一神经网络的第一神经网络参数。

上述实施例实现了对第一神经网络的训练,能够强化第一神经网络提取人体局部特征信息的能力,有助于根据单张二维人物图像准确高效的生成完整的三维人体模型。

下面结合图3描述本公开生成三维人体模型的装置的一些实施例。

图3示出了本公开一些实施例的生成三维人体模型的装置的结构示意图。如图3所示,本实施例中的生成三维人体模型的装置30包括:特征点获取模块301,被配置为获取人物图像的局部二维特征点;特征点处理模块302,被配置为利用预先训练的第一神经网络对人物图像的局部二维特征点进行处理,获得人物图像基于人体形状模型的局部参数;人体区域获取模块303,被配置为根据人物图像的局部二维特征点,获取人物图像的人体区域;图像处理模块304,被配置为利用预先训练的第二神经网络对人物图像的人体区域进行处理,获得人物图像基于人体形状模型的全局参数;参数组合模块305,被配置为将局部参数与人物图像基于人体形状模型的全局参数进行组合,获得人物图像基于人体形状模型的组合参数;模型生成模块306,被配置为将组合参数输入人体形状模型,生成人物图像所对应的三维人体模型。

在一些实施例中,特征点获取模块301被配置为:利用人体二维姿态估计算法,估计人物图像的局部二维特征点。

mpjpe(meanperjointpositionerror,每个关节位置误差)是衡量三维人体姿态准确性的指标。经过在cmu全景工作室(cmupanopticstudio)数据集上测试,本实施例所提供方法的mpjpe为53.9,传统的mtc方法的mpjpe为63.0,可见本公开能够更加准确的生成三维人体模型。同时,本实施例生成的三维人体模型不仅包含人体形状信息、人体姿态等全局特征信息,还包含手势特征信息以及面部表情特征信息。此外,本实施例无需对smpl参数进行迭代优化,因此生成三维人体模型的过程更加快速高效。因此,本实施例能够根据单张二维人物图像,准确高效的生成完整的三维人体模型。

在一些实施例中,该装置30还包括:局部参数生成模块3001,被配置为根据三维人体扫描数据,生成三维人体扫描数据基于人体形状模型的局部参数;特征点生成模块3002,被配置为根据三维人体扫描数据,生成三维人体扫描数据的局部二维特征点;网络训练模块3003,被配置为:将三维人体扫描数据的局部二维特征点作为训练数据,将三维人体扫描数据基于人体形状模型的局部参数作为训练标签,对第一神经网络进行训练。

在一些实施例中,局部参数生成模块3001被配置为:对三维人体扫描数据进行人体形状模型回归处理,获得三维人体扫描数据基于人体形状模型的局部参数。

在一些实施例中,特征点生成模块3002被配置为:对三维人体扫描数据进行人体形状模型回归处理,获得三维人体扫描数据基于人体形状模型的全局参数;将三维人体扫描数据基于人体形状模型的局部参数和全局参数输入人体形状模型,生成三维人体扫描数据所对应的三维人体模型;将三维人体扫描数据所对应的三维人体模型的顶点输入人体形状模型的人体节点回归器,获得三维人体扫描数据所对应的三维特征点;利用相机投影矩阵将三维人体扫描数据所对应的三维特征点投影为三维人体扫描数据所对应的二维特征点;从三维人体扫描数据所对应的二维特征点中,获取局部二维特征点。

在一些实施例中,相机投影矩阵为随机采样的相机投影矩阵。

在一些实施例中,网络训练模块3003被配置为:利用三维人体扫描数据基于人体形状模型的局部参数,对第一神经网络的输出结果进行监督,以调整第一神经网络的第一神经网络参数;将第一神经网络的输出结果与三维人体扫描数据基于人体形状模型的全局参数进行组合,获得三维人体扫描数据基于人体形状模型的组合中间参数;将组合中间参数输入人体形状模型,生成三维人体扫描数据所对应的三维人体中间模型;将三维人体中间模型的顶点输入人体形状模型的人体节点回归器,获得三维人体中间模型的三维特征点;利用三维人体扫描数据所对应的三维特征点,对三维人体中间模型的三维特征点进行监督,以调整第一神经网络的第一神经网络参数。

在一些实施例中,局部二维特征点包括面部二维特征点、左手二维特征点以及右手二维特征点;局部参数包括面部表情参数、左手手势参数以及右手手势参数;全局参数包括身体姿态参数、身体形状参数以及相机参数。

在一些实施例中,第一神经网络包括:面部子第一神经网络,被配置为接收面部二维特征点并输出面部表情参数;左手子第一神经网络,用于接收左手二维特征点并输出左手手势参数;右手子第一神经网络,用于接收右手二维特征点并输出右手手势参数。

在一些实施例中,面部子第一神经网络、左手子第一神经网络、右手子第一神经网络均包含全连接层、修正线性单元relu层以及丢弃dropout层。

上述实施例实现了对第一神经网络的训练,能够强化第一神经网络提取人体局部特征信息的能力,有助于根据单张二维人物图像准确高效的生成完整的三维人体模型。

下面结合图4描述本公开生成三维人体模型的装置的一些实施例。

图4示出了本公开另一些实施例的生成三维人体模型的装置的结构示意图。如图4所示,该实施例的生成三维人体模型的装置40包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行前述任意一些实施例中的生成三维人体模型的方法。

其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

生成三维人体模型的装置40还可以包括输入输出接口430、网络接口440、存储接口450等。这些接口430、440、450以及存储器410和处理器420之间例如可以通过总线460连接。其中,输入输出接口430为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口440为各种联网设备提供连接接口。存储接口450为sd卡、u盘等外置存储设备提供连接接口。

本公开还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一些实施例中的生成三维人体模型的方法。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1