CN116704095A - 在人体动画模拟中的人体蒙皮方法、***、介质及设备 - Google Patents

在人体动画模拟中的人体蒙皮方法、***、介质及设备 Download PDF

Info

Publication number
CN116704095A
CN116704095A CN202310560350.2A CN202310560350A CN116704095A CN 116704095 A CN116704095 A CN 116704095A CN 202310560350 A CN202310560350 A CN 202310560350A CN 116704095 A CN116704095 A CN 116704095A
Authority
CN
China
Prior art keywords
model
human body
module
point
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310560350.2A
Other languages
English (en)
Inventor
杨旭波
宋嘉逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202310560350.2A priority Critical patent/CN116704095A/zh
Publication of CN116704095A publication Critical patent/CN116704095A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种在人体动画模拟中的人体蒙皮方法、***、介质及设备,人体网格模型蒙皮方法包括:人工制作新的或获取已有的在数个姿态下的人体网格模型作为数据集,对数据集中的样本进行采样获得姿态与空间位置到模型表面的距离的场函数,将蒙皮过程分为线性混合蒙皮和微小形变两个子过程,对线性混合蒙皮的权重矩阵进行随机初始化,用线性混合蒙皮的权重矩阵进行特定姿态下空间中任意点在标准姿态下的位置的估计,用训练后的网络及给定的所需姿态蒙皮生成全新的人体网格模型。本发明能够较为快速地大批量生成已有网格模型在新姿态下的更多网格模型,有效解决在游戏和动画生产中需要人工手动调整不同姿态下人体网格模型细节的问题。

Description

在人体动画模拟中的人体蒙皮方法、***、介质及设备
技术领域
本发明涉及视觉动画处理的技术领域,具体地,涉及在人体动画模拟中的人体蒙皮方法、***、介质及设备,尤其涉及一种基于有向距离场的人体可微前向蒙皮及电子设备。
背景技术
蒙皮动画是计算机动画中的一种技术,其中角色(或其他对象)由两部分表示:用于绘制角色的表面表示(称为网格)和一组相互连接的部分的层次结构(称为骨骼)。
该技术于1988年由Nadia Magnenat Thalmann、Richard Laperrière和DanielThalmann引入。这种技术几乎用于所有动画***,在这些***中,简化的用户界面允许动画师控制通常复杂的算法和大量的几何图形;最值得注意的是通过反向运动学和其他“基于目标”的技术。然而,原则上,该技术的目的绝不是模仿真实的解剖结构或物理过程,而只是控制网格数据的变形。蒙皮动画被广泛运用于游戏中的人体动画。
传统的蒙皮方式(如LBS线性混合蒙皮)在处理关节等部位时容易出现伪影(artifacts),视觉效果不自然。有许多研究考虑使用机器学习的方式来修正蒙皮产生的伪影,但由于神经网络要求输入数据具有固定的维数且可微,三维网格(mesh)模型难以采用神经网络进行训练。
有研究用固定参数规模的神经网络表示不同的人体模型,被称为三维模型的隐式神经表示,神经网络是可微的,于是可以通过训练隐式神经表示来得到隐式的人体模型。隐式神经表示需要进行模型重建以得到与隐式神经表示对应的网格模型以便投入具体工业应用。
由于游戏中使用的人体模型总是与特定的纹理绑定,因此不论何种蒙皮方式,游戏总是要求不同姿态下的人体模型具有相同的拓扑结构,而通常的模型重建算法并不能满足这样的要求。有研究给出了一种得到隐式神经表示的方式,它用占据场表示给定某种姿态的人体模型,通过占据场重建网格模型存在难以定位某点位最近表面的问题。有向距离场(SDF,Signed Distance Field)是一个以空间中一点作为自变量的函数,这个函数的值是空间中一点到其最近物体表面的距离,在物体内部时,这个值为负,可以对有向距离场进行微分得到指向最近物体表面的向量。
有研究将蒙皮分为线性变换和非线性形变两部分,其中线性变换可以用一个与姿态无关的权重矩阵与姿态之积表示。前向蒙皮(forward skinning)与后向蒙皮(backwardskinning)的区别在于非线性形变的输入,前向蒙皮采用线性变换前的坐标位置作为输入,而后向蒙皮采用线性变换后的坐标位置作为输入。研究表明前者更好,在生成未见的全新姿态模型时更不容易出现伪影。
综上所述,可以通过训练用神经网络拟合的有向距离场函数来隐式表示人体模型,但依然存在一些问题。其中一个瓶颈是蒙皮的质量问题。蒙皮质量较差时,动画效果可能会变得不够流畅,甚至会出现突兀的现象。另一个瓶颈是蒙皮制作的复杂度问题。蒙皮制作过程较复杂时,动画制作人员需要花费更多的时间和精力来完成工作,这可能会导致制作效率低下。此外,还存在着精度问题。由于角色的身体结构和动作可能很复杂,隐式神经表示的蒙皮技术可能无法准确地捕捉到角色的所有细节,从而导致蒙皮质量不佳。
因此,需要提出一种新的技术方案以改善上述技术问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种在人体动画模拟中的人体蒙皮方法、***、介质及设备。
根据本发明提供的一种在人体动画模拟中的人体蒙皮方法,所述方法包括如下步骤:
步骤S1:对数据集进行采样,构建一隐式表示的人体模型;
步骤S2:构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定;
步骤S3:根据经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型。
优选地,所述步骤S1包括如下步骤:
步骤S1.1:首先确定模型占据的空间范围;对模型的每个空间维度,分别计算这些维度上点的最小值与最大值,并根据最小值与最大值确定一个各面平行于坐标轴的立方体包围盒;
步骤S1.2:在包围盒周围的六个方向上分别填充一定的距离,得到能够对空间点的采样包含各种情况的包围盒;
步骤S1.3:在包围盒所包围的空间中随机均匀生成点云;
步骤S1.4:对点云中的每个点,判断其在模型的内部或是外部;从该点随机生成一条不与任何三角面片平行的射线,并计算这条射线与三角面片的相交次数,如果是偶数次,则该点在模型外部,反之则在模型内部;将结果用一个符号函数记录在点的信息中;
步骤S1.5:对点云中的每个点,计算其到所有三角面片距离的最小值,并将该距离与上一步所得的值相乘,以计算该点到模型表面的有向距离。
优选地,所述步骤S2包括如下步骤:
步骤S2.1:估计一个骨骼权重场w();
步骤S2.2:根据给定的姿势p计算骨骼变换矩阵向量Bp
步骤S2.3:根据计算得到的骨骼变换矩阵和骨骼权重场,通过牛顿迭代法计算变换到x的x′位置;
步骤S2.4:利用一个神经网络估计一个标准姿态下的但有最终姿态p作为输入的一部分的表示人体表面的微小形变的有向距离场,将x′的位置和表示最终姿态p的向量作为这个有向距离场的输入,求解在x′在受到姿态p的微小形变后距离人体模型表面的有向距离;
步骤S2.5:使用x′在受到姿态p的微小形变作用后,在标准姿态p0下的有向距离估计x在姿态p下的有向距离:
其中Mp表示在姿态p下的模型。
优选地,所述步骤S3包括如下步骤:
步骤S3.1:在进行神经网络的训练后,得到一组网络连接权重参数θd,将这组参数视为常数,同时注意到拟合微小形变场dM的残差神经网络对于输入x是可微的:
步骤S3.2:微小形变场dM在三维空间中的梯度场同时也有微小形变场在标准姿态空间下的有向距离dM,求出每个节点vi在标准姿态空间中的微小形变向量:
步骤S3.3:利用得到的骨骼权重场和全体骨骼对应的仿射变换来对每个节点的坐标进行变换,对于的节点集合V,有:
本发明还提供一种在人体动画模拟中的人体蒙皮***,所述***包括如下模块:
模块M1:对数据集进行采样,构建一隐式表示的人体模型;
模块M2:构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定;
模块M3:根据经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型。
优选地,所述模块M1包括如下模块:
模块M1.1:首先确定模型占据的空间范围;对模型的每个空间维度,分别计算这些维度上点的最小值与最大值,并根据最小值与最大值确定一个各面平行于坐标轴的立方体包围盒;
模块M1.2:在包围盒周围的六个方向上分别填充一定的距离,得到能够对空间点的采样包含各种情况的包围盒;
模块M1.3:在包围盒所包围的空间中随机均匀生成点云;
模块M1.4:对点云中的每个点,判断其在模型的内部或是外部;从该点随机生成一条不与任何三角面片平行的射线,并计算这条射线与三角面片的相交次数,如果是偶数次,则该点在模型外部,反之则在模型内部;将结果用一个符号函数记录在点的信息中;
模块M1.5:对点云中的每个点,计算其到所有三角面片距离的最小值,并将该距离与上一步所得的值相乘,以计算该点到模型表面的有向距离。
优选地,所述模块M2包括如下模块:
模块M2.1:估计一个骨骼权重场w();
模块M2.2:根据给定的姿势p计算骨骼变换矩阵向量Bp
模块M2.3:根据计算得到的骨骼变换矩阵和骨骼权重场,通过牛顿迭代法计算变换到x的x′位置;
模块M2.4:利用一个神经网络估计一个标准姿态下的但有最终姿态p作为输入的一部分的表示人体表面的微小形变的有向距离场,将x′的位置和表示最终姿态p的向量作为这个有向距离场的输入,求解在x′在受到姿态p的微小形变后距离人体模型表面的有向距离;
模块M2.5:使用x′在受到姿态p的微小形变作用后,在标准姿态p0下的有向距离估计x在姿态p下的有向距离:
其中Mp表示在姿态p下的模型。
优选地,所述模块M3包括如下模块:
模块M3.1:在进行神经网络的训练后,得到一组网络连接权重参数θd,将这组参数视为常数,同时注意到拟合微小形变场dM的残差神经网络对于输入x是可微的:
模块M3.2:微小形变场dM在三维空间中的梯度场同时也有微小形变场在标准姿态空间下的有向距离dM,求出每个节点vi在标准姿态空间中的微小形变向量:
模块M3.3:利用得到的骨骼权重场和全体骨骼对应的仿射变换来对每个节点的坐标进行变换,对于的节点集合V,有:
本发明还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中的在人体动画模拟中的人体蒙皮方法的步骤。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述中的在人体动画模拟中的人体蒙皮方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过一种可微的蒙皮方案,能够较为轻松地实现神经网络在蒙皮动画上的应用,有效解决现有技术中难以用神经网络优化蒙皮动画的技术问题;
2、本发明针对传统神经网络训练蒙皮动画质量差的问题,创造性地改变了网络结构,能够高效地实现稳定的动画生成,有效解决现有技术中缺少对用户输入、未见动作的考虑,难以稳定地处理数据集缺失的问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本申请一实施例中的用神经网络拟合的一种人体蒙皮过程的整体流程示意图;
图2为本申请一实施例中的用神经网络拟合的一种人体蒙皮过程的效果图;
图3为本申请一实施例中的电子设备的原理框图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1:
根据本发明提供的一种在人体动画模拟中的人体蒙皮方法,所述方法包括如下步骤:
步骤S1:对数据集进行采样,构建一隐式表示的人体模型;
步骤S1.1:首先确定模型占据的空间范围;对模型的每个空间维度,分别计算这些维度上点的最小值与最大值,并根据最小值与最大值确定一个各面平行于坐标轴的立方体包围盒;
步骤S1.2:在包围盒周围的六个方向上分别填充一定的距离,得到能够对空间点的采样包含各种情况的包围盒;
步骤S1.3:在包围盒所包围的空间中随机均匀生成点云;
步骤S1.4:对点云中的每个点,判断其在模型的内部或是外部;从该点随机生成一条不与任何三角面片平行的射线,并计算这条射线与三角面片的相交次数,如果是偶数次,则该点在模型外部,反之则在模型内部;将结果用一个符号函数记录在点的信息中;
步骤S1.5:对点云中的每个点,计算其到所有三角面片距离的最小值,并将该距离与上一步所得的值相乘,以计算该点到模型表面的有向距离。
步骤S2:构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定;
步骤S2.1:估计一个骨骼权重场w();
步骤S2.2:根据给定的姿势p计算骨骼变换矩阵向量Bp
步骤S2.3:根据计算得到的骨骼变换矩阵和骨骼权重场,通过牛顿迭代法计算变换到x的x′位置;
步骤S2.4:利用一个神经网络估计一个标准姿态下的但有最终姿态p作为输入的一部分的表示人体表面的微小形变的有向距离场,将x′的位置和表示最终姿态p的向量作为这个有向距离场的输入,求解在x′在受到姿态p的微小形变后距离人体模型表面的有向距离;
步骤S2.5:使用x′在受到姿态p的微小形变作用后,在标准姿态p0下的有向距离估计x在姿态p下的有向距离:
其中Mp表示在姿态p下的模型。
步骤S3:根据经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型;
步骤S3.1:在进行神经网络的训练后,得到一组网络连接权重参数θd,将这组参数视为常数,同时注意到拟合微小形变场dM的残差神经网络对于输入x是可微的:
步骤S3.2:微小形变场dM在三维空间中的梯度场同时也有微小形变场在标准姿态空间下的有向距离dM,求出每个节点vi在标准姿态空间中的微小形变向量:
步骤S3.3:利用得到的骨骼权重场和全体骨骼对应的仿射变换来对每个节点的坐标进行变换,对于的节点集合V,有:
本发明还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中的在人体动画模拟中的人体蒙皮方法的步骤。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述中的在人体动画模拟中的人体蒙皮方法的步骤。
本发明还提供一种在人体动画模拟中的人体蒙皮***,所述在人体动画模拟中的人体蒙皮***可以通过执行所述在人体动画模拟中的人体蒙皮方法的流程步骤予以实现,即本领域技术人员可以将所述在人体动画模拟中的人体蒙皮方法理解为所述在人体动画模拟中的人体蒙皮***的优选实施方式。
实施例2:
本发明还提供一种在人体动画模拟中的人体蒙皮***,所述***包括如下模块:
模块M1:对数据集进行采样,构建一隐式表示的人体模型;
模块M1.1:首先确定模型占据的空间范围;对模型的每个空间维度,分别计算这些维度上点的最小值与最大值,并根据最小值与最大值确定一个各面平行于坐标轴的立方体包围盒;
模块M1.2:在包围盒周围的六个方向上分别填充一定的距离,得到能够对空间点的采样包含各种情况的包围盒;
模块M1.3:在包围盒所包围的空间中随机均匀生成点云;
模块M1.4:对点云中的每个点,判断其在模型的内部或是外部;从该点随机生成一条不与任何三角面片平行的射线,并计算这条射线与三角面片的相交次数,如果是偶数次,则该点在模型外部,反之则在模型内部;将结果用一个符号函数记录在点的信息中;
模块M1.5:对点云中的每个点,计算其到所有三角面片距离的最小值,并将该距离与上一步所得的值相乘,以计算该点到模型表面的有向距离。
模块M2:构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定;
模块M2.1:估计一个骨骼权重场w(x);
模块M2.2:根据给定的姿势p计算骨骼变换矩阵向量Bp
模块M2.3:根据计算得到的骨骼变换矩阵和骨骼权重场,通过牛顿迭代法计算变换到x的x′位置;
模块M2.4:利用一个神经网络估计一个标准姿态下的但有最终姿态p作为输入的一部分的表示人体表面的微小形变的有向距离场,将x′的位置和表示最终姿态p的向量作为这个有向距离场的输入,求解在x′在受到姿态p的微小形变后距离人体模型表面的有向距离;
模块M2.5:使用x′在受到姿态p的微小形变作用后,在标准姿态p0下的有向距离估计x在姿态p下的有向距离:
其中Mp表示在姿态p下的模型。
模块M3:根据经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型;
模块M3.1:在进行神经网络的训练后,得到一组网络连接权重参数θd,将这组参数视为常数,同时注意到拟合微小形变场dM的残差神经网络对于输入x是可微的:
模块M3.2:微小形变场dM在三维空间中的梯度场同时也有微小形变场在标准姿态空间下的有向距离dM,求出每个节点vi在标准姿态空间中的微小形变向量:
模块M3.3:利用得到的骨骼权重场和全体骨骼对应的仿射变换来对每个节点的坐标进行变换,对于的节点集合V,有:
实施例3:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种快速地大批量生成已有网格模型在新姿态下的更多网格模型的方法,有效解决在游戏和动画生产中需要人工手动调整不同姿态下人体网格模型细节的问题。
为实现上述目的及其他相关目的,本发明提供一种快速地大批量生成已有网格模型在新姿态下的更多网格模型的方法,包括:人工制作新的或获取已有的在数个姿态下的人体网格模型作为数据集,对数据集中的样本进行采样获得姿态与空间位置到模型表面的距离的场函数,将蒙皮过程分为线性混合蒙皮和微小形变两个子过程,对线性混合蒙皮的权重矩阵进行随机初始化,用线性混合蒙皮的权重矩阵进行特定姿态下空间中任意点在标准姿态下的位置的估计,用标准姿态下的位置估计该点到标准姿态下最近表面的距离,用空间中点到对应距离的场函数隐式地表示标准姿态下人体模型的表面,用线性混合蒙皮的权重矩阵分别对空间中点与其对应距离进行形变得到隐式表示的特定姿态下人体模型的表面,用神经网络可微地表示线性混合蒙皮和微小形变的整体过程,将网络输出的场函数与数据集生成的场函数进行损失函数的求解以训练网络,用训练后的网络及给定的所需姿态蒙皮生成全新的人体网格模型。
一种在人体动画模拟中的人体蒙皮方法,包括:
构建一种表示方式,对数据集进行采样,用有向距离场和神经网络表示可微的人体模型。
构建一神经网络,用该神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定,这个过程称为前向蒙皮;
根据这个经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型;
构建一种表示方式,数据集进行采样,用有向距离场和神经网络表示可微的人体模型,包括:
用有向距离场的零值点定义人体模型的表面;
用神经网络拟合有向距离场;
用有向距离场和神经网络表示可微的人体模型的一种实现方式为:
s={x|dM(x)=0}.
其中,S为定义的模型表面,x为空间中任一点,d_M为有向距离场函数,MLP_θ_d1为一个神经网络,p为人体的姿态向量。
用神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定的一种实现方式为:
估计一个骨骼权重场w(x);
根据给定的姿势p计算骨骼变换矩阵向量B_p;
根据计算得到的骨骼变换矩阵和骨骼权重场,计算变换到x的x^'位置;
利用一个神经网络估计一个标准姿态下的、但有最终姿态p作为输入的一部分的表示人体表面的微小形变的有向距离场,将x'的位置和表示最终姿态p的向量作为这个有向距离场的输入,求解在x^'在受到姿态p的微小形变后距离人体模型表面的有向距离:
使用x^'在受到姿态p的微小形变作用后,在标准姿态p_0下的有向距离估计x在姿态p下的有向距离。
根据这个经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型的方式为:
使用有向距离场对标准姿态下的网格模型的节点进行形变;
使用骨骼权重场对形变后的节点进行线性混合蒙皮;
对节点位置和法向量进行更新。
一种电子设备,包括存储器,存储计算机程序;处理器,执行所述计算机程序以实现如上述中的容器内流体粒子沸腾时的视觉仿真方法的步骤。
于本发明的一实施例中,所述向用神经网络拟合的一种人体蒙皮过程包括:根据空间位置分布和输入姿态向量进行微小形变估计;根据空间位置分布进行骨骼权重估计;根据骨骼权重估计对空间位置在标准姿态下的对应位置进行估计;根据微小形变与骨骼权重对空间位置到人体模型表面距离进行估计。
于本发明的一实施例中,所述基于空间位置、输入姿态预测某位置距离人体模型表面距离的一种实现方式为:
其中d_M^p表示在p姿态下一点距离模型M的有向距离的函数,d_M^p0表示在p0姿态下一点距离模型M的有向距离的函数,x’表示点x在标准姿态下的对应点。
于本发明的一实施例中,所述基于空间位置预测某位置的骨骼权重的一种实现方式为:
其中w(x)为x点处的权重,MLP表示以θ为参数的多层感知机神经网络。
于本发明的一实施例中,所述根据骨骼权重估计对空间位置在标准姿态下的对应位置进行估计的一种实现方式为:对空间中一点位置进行迭代,使用以下公式:
其中,xk是第k次迭代时x的值,xk+1是第k+1次迭代时x的值,Jk是关于x的函数在xk点的雅可比矩阵。
于本发明的一实施例中,对数据集进行采样,构建一隐式表示的人体模型。
于本发明的一实施例中,计算获取空间位置,姿态向量等参数,并根据数据集,用神经网络拟合人体蒙皮过程。
于本发明的一实施例中,对标准姿态下的网格模型的各节点对应的有向距离与骨骼权重进行判定,并生成修正向量与线性混合变换矩阵,最后将修正向量与线性混合变换矩阵应用于各节点。
于本发明的一实施例中,针对每个网格节点,将其代入训练得到的神经网络中,并取出其关于有向距离与骨骼权重的输出,用于输出修正向量与线性混合变换矩阵。
本实施例的目的在于提供一种用神经网络拟合的一种人体蒙皮过程及电子设备,用于解决现有技术中视觉动画中难以使用神经网络加速人体蒙皮动画的技术问题。
本实施例提供一种用神经网络拟合的一种人体蒙皮过程,实现了使用神经网络对微小形变、线性混合等蒙皮过程的实时模拟,并采取一种牛顿迭代法的方式寻找节点在标准姿态下的对应,进而对可微的人体蒙皮进行拟合。此外,该方法使用了一种基于标准姿态下的权重及微小形变场定义方式,针对因所求姿势未见而产生的问题进行优化,解决蒙皮动画在生成未见姿态时面临的不稳定性问题。本发明可以被集成在各类计算机动画生成应用中,用于提供稳定的人物动画生成,以及呈现丰富生动的人物动画。
以下将详细阐述本发明的用神经网络拟合的一种人体蒙皮过程及电子设备的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的用神经网络拟合的一种人体蒙皮过程及电子设备。
具体地,如图1所示,本实施例提供用神经网络拟合的一种人体蒙皮方法,所述用神经网络拟合的一种人体蒙皮方法包括:
步骤S100,对数据集进行采样,构建一隐式表示的人体模型;
步骤S200,构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定;
步骤S300,根据这个经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型。
以下对本实施例的用神经网络拟合的一种人体蒙皮方法的步骤S100至步骤S300进行详细说明:
步骤S100,对数据集进行采样,构建一隐式表示的人体模型;
本实施例中,训练神经网络采用的数据样本形式为点、姿态与有向距离的三元组,即:
T=((xi,pi,di))i∈1..|T|
因此,在已经给出网格模型的前提下,我们需要对人体网格模型进行预处理以训练我们的神经网络。
在预处理的环节中,我们对标注了姿态信息的网格模型进行采样,以取得点与有向距离的有序对。采样的算法主要包含以下步骤:
1、我们首先确定模型占据的空间范围。对模型的每个空间维度,我们分别计算这些维度上点的最小值与最大值,并根据这样的最小值与最大值确定一个各面平行于坐标轴的立方体包围盒。
2、随后,我们在包围盒周围的六个方向上分别填充一定的距离,以确保对空间点的采样能够包含各种情况。
3、在这个包围盒所包围的空间中随机均匀生成点云。
4、对点云中的每个点,判断其在模型的内部或是外部。在本文方法的实现中,我们假定模型总是水密的,因此我们以下方法进行判断:我们从该点随机生成一条不与任何三角面片平行的射线,并计算这条射线与三角面片的相交次数,如果是偶数次,则该点在模型外部,反之则在模型内部。将这一步的结果用一个符号函数记录在点的信息中。
5、对点云中的每个点,计算其到所有三角面片距离的最小值,并将该距离与上一步所得的值相乘,以计算该点到模型表面的有向距离。
步骤S200,构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定:
于本实施例中,计算获取空间位置,姿态向量等参数,并根据步骤S100中的数据集,用神经网络拟合人体蒙皮过程。
具体地,在步骤S200的构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定中包含如步骤:
1、估计一个骨骼权重场w(x);
2、根据给定的姿势p计算骨骼变换矩阵向量Bp
3、根据计算得到的骨骼变换矩阵和骨骼权重场,通过牛顿迭代法计算变换到x的x′位置;
4、利用一个神经网络估计一个标准姿态下的、但有最终姿态p作为输入的一部分的表示人体表面的微小形变的有向距离场,将x′的位置和表示最终姿态p的向量作为这个有向距离场的输入,求解在x′在受到姿态p的微小形变后距离人体模型表面的有向距离:
5、使用x′在受到姿态p的微小形变作用后,在标准姿态p0下的有向距离估计x在姿态p下的有向距离:
其中Mp表示在姿态p下的模型。
步骤S300,根据这个经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型。
本实施例对标准姿态下的网格模型的各节点对应的有向距离与骨骼权重进行判定,并生成修正向量与线性混合变换矩阵,最后将修正向量与线性混合变换矩阵应用于各节点。
于本实施例中,所述对标准姿态下的网格模型的各节点对应的有向距离与骨骼权重进行判定包括:针对每个网格节点,将其代入步骤S200中训练得到的神经网络中,并取出其关于有向距离与骨骼权重的输出,用于输出修正向量与线性混合变换矩阵。
于本实施例中,所述将修正向量与线性混合变换矩阵应用于各节点包括:针对每个穿透修正约束进行处理,先在垂直轴上进行投影,再在水平面上进行投影,直至将流体粒子移动回容器内部。
在步骤S300的修正向量与线性混合变换矩阵应用于各节点中,,包含如下步骤:
1)在进行了神经网络的训练后,我们得到了一组网络连接权重参数θd,将这组参数视为常数,我们同时注意到拟合微小形变场dM的残差神经网络对于输入x是可微的:
2)这是微小形变场dM在三维空间中的梯度场同时我们也有微小形变场在标准姿态空间下的有向距离dM,至此,我们便可以求出每个节点vi在标准姿态空间中的微小形变向量:
3)利用上一章中得到的骨骼权重场和全体骨骼对应的仿射变换来对每个节点的坐标进行变换,对于我们的节点集合V,有
所以本实施例的方法是一种在人体动画模拟中的人体蒙皮方案。现有方法存在以下问题:传统的蒙皮方式(如LBS线性混合蒙皮)在处理关节等部位时容易出现伪影,视觉效果不自然。有许多研究考虑使用机器学习的方式来修正蒙皮产生的伪影,但由于神经网络要求输入数据具有固定的维数且可微,三维网格模型难以采用神经网络进行训练。本实施例的方法提出了可微前向蒙皮,能够高效地实现稳定的用户交互处理。
如图3所示,本实施例还提供一种电子设备10,所述电子设备10为但不限于智能手机、平板、智能穿戴设备、个人台式电脑、笔记本电脑、服务器以及服务器集群等。
所述电子设备10包括存储器102,用于存储计算机程序;处理器101,用于运行所述计算机程序以实现如实施例1所述的人体动画模拟中的人体蒙皮方案的步骤。
存储器102通过装置总线与处理器101连接并完成相互间的通信,存储器102用于存储计算机程序,处理器101用于运行计算机程序,以使所述电子设备10执行所述的容器内流体粒子沸腾时的视觉仿真方法。实施例1中已经对所述人体动画模拟中的人体蒙皮方案进行了说明,在此不再赘述。
另需说明的是,上述提到的装置总线可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该装置总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器102可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器101可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本实施例提供一种存储介质,存储有程序指令,所述程序指令被处理器执行时实现上述中的人体动画模拟中的人体蒙皮方案的步骤。
本发明提供一种人体网格模型蒙皮方法及电子设备,所述人体网格模型蒙皮方法包括:人工制作新的或获取已有的在数个姿态下的人体网格模型作为数据集,对数据集中的样本进行采样获得姿态与空间位置到模型表面的距离的场函数,将蒙皮过程分为线性混合蒙皮和微小形变两个子过程,对线性混合蒙皮的权重矩阵进行随机初始化,用线性混合蒙皮的权重矩阵进行特定姿态下空间中任意点在标准姿态下的位置的估计,用标准姿态下的位置估计该点到标准姿态下最近表面的距离,用空间中点到对应距离的场函数隐式地表示标准姿态下人体模型的表面,用线性混合蒙皮的权重矩阵分别对空间中点与其对应距离进行形变得到隐式表示的特定姿态下人体模型的表面,用神经网络可微地表示线性混合蒙皮和微小形变的整体过程,将网络输出的场函数与数据集生成的场函数进行损失函数的求解以训练网络,用训练后的网络及给定的所需姿态蒙皮生成全新的人体网格模型。本发明能够较为快速地大批量生成已有网格模型在新姿态下的更多网格模型,有效解决在游戏和动画生产中需要人工手动调整不同姿态下人体网格模型细节的问题。
综上所述,本发明针对传统神经网络训练蒙皮动画质量差的问题,创造性地改变了网络结构,能够高效地实现稳定的动画生成,有效解决现有技术中缺少对用户输入、未见动作的考虑,难以稳定地处理数据集缺失的问题。
本领域技术人员可以将本实施例理解为实施例1、实施例2的更为具体的说明。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的***及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种在人体动画模拟中的人体蒙皮方法,其特征在于,所述方法包括如下步骤:
步骤S1:对数据集进行采样,构建一隐式表示的人体模型;
步骤S2:构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定;
步骤S3:根据经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型。
2.根据权利要求1所述的在人体动画模拟中的人体蒙皮方法,其特征在于,所述步骤S1包括如下步骤:
步骤S1.1:首先确定模型占据的空间范围;对模型的每个空间维度,分别计算这些维度上点的最小值与最大值,并根据最小值与最大值确定一个各面平行于坐标轴的立方体包围盒;
步骤S1.2:在包围盒周围的六个方向上分别填充一定的距离,得到能够对空间点的采样包含各种情况的包围盒;
步骤S1.3:在包围盒所包围的空间中随机均匀生成点云;
步骤S1.4:对点云中的每个点,判断其在模型的内部或是外部;从该点随机生成一条不与任何三角面片平行的射线,并计算这条射线与三角面片的相交次数,如果是偶数次,则该点在模型外部,反之则在模型内部;将结果用一个符号函数记录在点的信息中;
步骤S1.5:对点云中的每个点,计算其到所有三角面片距离的最小值,并将该距离与上一步所得的值相乘,以计算该点到模型表面的有向距离。
3.根据权利要求1所述的在人体动画模拟中的人体蒙皮方法,其特征在于,所述步骤S2包括如下步骤:
步骤S2.1:估计一个骨骼权重场w();
步骤S2.2:根据给定的姿势p计算骨骼变换矩阵向量Bp
步骤S2.3:根据计算得到的骨骼变换矩阵和骨骼权重场,通过牛顿迭代法计算变换到x的x位置;
步骤S2.4:利用一个神经网络估计一个标准姿态下的但有最终姿态p作为输入的一部分的表示人体表面的微小形变的有向距离场,将x′的位置和表示最终姿态p的向量作为这个有向距离场的输入,求解在x在受到姿态p的微小形变后距离人体模型表面的有向距离;
步骤S2.5:使用x在受到姿态p的微小形变作用后,在标准姿态p0下的有向距离估计x在姿态p下的有向距离:
其中Mp表示在姿态p下的模型。
4.根据权利要求1所述的在人体动画模拟中的人体蒙皮方法,其特征在于,所述步骤S3包括如下步骤:
步骤S3.1:在进行神经网络的训练后,得到一组网络连接权重参数θd,将这组参数视为常数,同时注意到拟合微小形变场dM的残差神经网络对于输入x是可微的:
步骤S3.2:微小形变场dM在三维空间中的梯度场同时也有微小形变场在标准姿态空间下的有向距离dM,求出每个节点vi在标准姿态空间中的微小形变向量:
步骤S3.3:利用得到的骨骼权重场和全体骨骼对应的仿射变换来对每个节点的坐标进行变换,对于的节点集合V,有:
5.一种在人体动画模拟中的人体蒙皮***,其特征在于,所述***包括如下模块:
模块M1:对数据集进行采样,构建一隐式表示的人体模型;
模块M2:构建神经网络先后进行模型细节上的微调和线性混合插值的权重矩阵的确定;
模块M3:根据经过变形的可微模型对应的有向距离场函数进行网格模型各节点的变换,得到一个全新在给定姿态下的不可微的人体网格模型。
6.根据权利要求5所述的在人体动画模拟中的人体蒙皮***,其特征在于,所述模块M1包括如下模块:
模块M1.1:首先确定模型占据的空间范围;对模型的每个空间维度,分别计算这些维度上点的最小值与最大值,并根据最小值与最大值确定一个各面平行于坐标轴的立方体包围盒;
模块M1.2:在包围盒周围的六个方向上分别填充一定的距离,得到能够对空间点的采样包含各种情况的包围盒;
模块M1.3:在包围盒所包围的空间中随机均匀生成点云;
模块M1.4:对点云中的每个点,判断其在模型的内部或是外部;从该点随机生成一条不与任何三角面片平行的射线,并计算这条射线与三角面片的相交次数,如果是偶数次,则该点在模型外部,反之则在模型内部;将结果用一个符号函数记录在点的信息中;
模块M1.5:对点云中的每个点,计算其到所有三角面片距离的最小值,并将该距离与上一步所得的值相乘,以计算该点到模型表面的有向距离。
7.根据权利要求5所述的在人体动画模拟中的人体蒙皮***,其特征在于,所述模块M2包括如下模块:
模块M2.1:估计一个骨骼权重场w();
模块M2.2:根据给定的姿势p计算骨骼变换矩阵向量Bp
模块M2.3:根据计算得到的骨骼变换矩阵和骨骼权重场,通过牛顿迭代法计算变换到x的x位置;
模块M2.4:利用一个神经网络估计一个标准姿态下的但有最终姿态p作为输入的一部分的表示人体表面的微小形变的有向距离场,将x′的位置和表示最终姿态p的向量作为这个有向距离场的输入,求解在x在受到姿态p的微小形变后距离人体模型表面的有向距离;
模块M2.5:使用x在受到姿态p的微小形变作用后,在标准姿态p0下的有向距离估计x在姿态p下的有向距离:
其中Mp表示在姿态p下的模型。
8.根据权利要求5所述的在人体动画模拟中的人体蒙皮***,其特征在于,所述模块M3包括如下模块:
模块M3.1:在进行神经网络的训练后,得到一组网络连接权重参数θd,将这组参数视为常数,同时注意到拟合微小形变场dM的残差神经网络对于输入x是可微的:
模块M3.2:微小形变场dM在三维空间中的梯度场同时也有微小形变场在标准姿态空间下的有向距离dM,求出每个节点vi在标准姿态空间中的微小形变向量:
模块M3.3:利用得到的骨骼权重场和全体骨骼对应的仿射变换来对每个节点的坐标进行变换,对于的节点集合V,有:
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的在人体动画模拟中的人体蒙皮方法的步骤。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的在人体动画模拟中的人体蒙皮方法的步骤。
CN202310560350.2A 2023-05-17 2023-05-17 在人体动画模拟中的人体蒙皮方法、***、介质及设备 Pending CN116704095A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310560350.2A CN116704095A (zh) 2023-05-17 2023-05-17 在人体动画模拟中的人体蒙皮方法、***、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310560350.2A CN116704095A (zh) 2023-05-17 2023-05-17 在人体动画模拟中的人体蒙皮方法、***、介质及设备

Publications (1)

Publication Number Publication Date
CN116704095A true CN116704095A (zh) 2023-09-05

Family

ID=87844224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310560350.2A Pending CN116704095A (zh) 2023-05-17 2023-05-17 在人体动画模拟中的人体蒙皮方法、***、介质及设备

Country Status (1)

Country Link
CN (1) CN116704095A (zh)

Similar Documents

Publication Publication Date Title
Arriola-Rios et al. Modeling of deformable objects for robotic manipulation: A tutorial and review
Xu et al. Pose-space subspace dynamics
EP3454302B1 (en) Approximating mesh deformation for character rigs
Müller et al. Meshless deformations based on shape matching
Holden et al. Subspace neural physics: Fast data-driven interactive simulation
CN112836618B (zh) 一种三维人体姿态估计方法及计算机可读存储介质
CN106919899B (zh) 基于智能机器人的模仿人脸表情输出的方法和***
CN110288681B (zh) 角色模型的蒙皮方法、装置、介质及电子设备
CN114067057A (zh) 一种基于注意力机制的人体重建方法、模型、装置
CN111968165A (zh) 动态人体三维模型补全方法、装置、设备和介质
US20230237725A1 (en) Data-driven physics-based models with implicit actuations
CA3182690A1 (en) Method and system for real-time simulation of elastic body
CN113591324A (zh) 一种软体机器人仿真方法、装置、电子设备及存储介质
CN116310066A (zh) 一种单图像三维人体形态估计方法及应用
CN117218300B (zh) 三维模型的构建方法、三维构建模型的训练方法及装置
CN112308952B (zh) 模仿给定视频中人物动作的3d角色动作生成***和方法
Hagan et al. Parallel 3D image segmentation of large data sets on a GPU cluster
CN112785712A (zh) 三维模型的生成方法、装置和电子设备
Li et al. Detail‐Aware Deep Clothing Animations Infused with Multi‐Source Attributes
CN115775300B (zh) 人体模型的重建方法、人体重建模型的训练方法及装置
US20210110001A1 (en) Machine learning for animatronic development and optimization
Chen et al. Skeleton-driven surface deformation through lattices for real-time character animation
CN116704095A (zh) 在人体动画模拟中的人体蒙皮方法、***、介质及设备
Burion et al. Identifying physical properties of deformable objects by using particle filters
Yang et al. 3D shape metamorphosis based on T-spline level sets

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination