一种组件式三维人像建模方法与流程

文档序号:12367333阅读:1561来源:国知局

本发明涉及计算机图形学相关领域,特别涉及一种组件式三维人像建模方法。



背景技术:

三维人像模型以数字化的方式表示了人类对象,目前已应用到了与人类相关的各个领域,例如,三维电影、动漫、游戏、人体工程、三维照相等等。

由于人体对象结构复杂,三维人像模型也由多个组件而构成,包括三维人体、头发、衣服和鞋袜等组件。其中,头发、衣服和鞋袜等组件,以附属物的方式,与核心的三维人体结合在一起。

当前的三维人像建模技术,根据建模人员的人工参与程度,可划分为人工操作和自动扫描两类:

1)人工建模。职业美工使用Maya,3Dmax、ZBrush等专业建模软件,根据人体工程学的原理,建立符合人像特征的三维模型。但是,人工建模的难度大,只有技术熟练的高级职业美工才能建立预期的人像模型;此外,人工操作复杂,建模周期长。

2)自动扫描。三维扫描仪能够自动地获取三维人像的原始数据,进而通过表面重建技术,由计算机建立三维人像模型。但是,三维扫描仪大多价格昂贵,普通用户一般不会购置。更严重的问题是,自动扫描所建立的三维人像模型是一个整体,不识别和分解三维人体、头发、衣服和鞋袜等组件。

本发明将通过组件式的方法,实现三维人像建模。具体说来,就是预先建立三维人像的标准模板,包括标准的三维人体模板和三维头发、衣物和鞋袜等附属物组件模型。当建立预期的人像模型时,用户简单编辑三维人体模板,人体发生变形,进而带动头发、衣物和鞋袜等附属物组件模型进行相应的形变,达到预期的目标。

根据检索,与本发明相关的专利包括:CN 200520081054、CN 201110364711、CN2013102159963。

CN 200520081054为具有组合结构的三维人像,包括一个人像模型和一个脸部翻模。该人像模型的头部前面形成一个被结合面,该脸部翻模的背面形成一个与之匹配的结合面,该脸部翻模通过其结合面与该被结合面结合而固定于人像模型头部,成为一个完整的三维人像。与CN 200520081054相比,本专利所提及的三维人像,不是简单的人像模型与脸部翻模的组合,而是人体、衣服、头发和鞋袜等有意义组件的集合体。

CN 201110364711三维虚拟试衣的对象是根据真实人体的拍摄、处理而构建的三维人体模型。通过量身定制系统,建立虚拟的服装成衣,穿在三维人体模型上,直观地显示个性化试衣效果。与该专利的虚拟试衣不同,本专利中的衣服模型是预先穿在既有的三维人体模板上的,进而与头发和鞋帽等发生变形,实现最终的三维人像模型。

CN 2013102159963为本课题组的三维人体形态和姿态的无标记点实时复原方法。该专利中提出了一种三维人体的参数化变形算法,该算法将用于本专利的三维人体模板变形中。变形的三维人体模板将进一步带动衣服、头发和鞋袜等组件的变形。从而,本专利进一步扩展了既有专利CN 2013102159963的范围,从三维人体扩展到了三维人像模型上。

简而言之,本专利关注的是一种组件式的三维人像建模方法,将三维人像中的人体、头发、衣服和鞋袜等组件,通过简单的参数编辑,建立最终的三维人像模型。



技术实现要素:

本发明提出一种组件式的三维人像建模方法,通过简单编辑三维人体模板的运动姿态和几何外形参数,实现三维人体模板的变形,进而带动头发、衣服和鞋袜等其余组件的变化,实现预期的建模结果。

本发明的工作流程(图1)包括三个步骤:1)建立三维人像的标准模板。该模板包括三维人体模板和衣服、头发和鞋袜等附属物组件模型。并以三维人体模板为中心,建立三维人体与其余附属物组件之间的对应关系;2)变形三维人体模板。通过简单调整人体的几何外形参数(如身高、体重等)或者动作姿态参数(人体各个刚性块的刚性变化),生成预期的三维人体模型结果;3)变形衣服、头发和鞋袜等附属物。三维人体模板带动衣服、头发和鞋袜等附属物组件,发生变形,实现最终的三维人像结果。

1)建立三维人像的标准模板

三维人像的标准模板包括人体、头发、衣服和鞋袜等组件。在后文中,三维人像的组件分为两类:核心的三维人体模板,衣服、头发、鞋袜等附属物模型。其建立过程包括以下三个子步骤:

a)生成核心的三维人体模板。在对三维人体数据库进行全面分析的基础上,充分考虑人体在动作姿态和几何外形上的两个变化子空间,建立线性化表示的人体参数化空间(即人体参数化信息),同时生成该空间中用平均值表示的三维人体模板。简而言之,生成一个附带人体参数化信息的三维人体模板。

b)建立衣服、头发和鞋袜等附属物模型。通过人工建模的方法,基于三维人体模板,预先建立匹配的附属物模型,即衣服、头发和鞋袜等附属物的三维模型。对于衣服,为标准的职业套装(西服)的三维模型;对于头发,为常见平头发型的三维模型;对于鞋袜,为平底皮鞋和标准棉袜的三维模型。

c)构建三维人体模板与附属物模型间的对应关系。在三维人体模板与附属物模型上均匀稀疏采样,建立表示两者(三维人体模板与附属物模型)之间对应关系的连通图G。该连通图以采样点作为节点,相邻的节点通过无向边相连。

2)三维人体模板变形

对于处于核心地位的三维人体模板,通过简单的编辑操作来实现变形。人体的编辑变形进一步分为动作姿态和几何外形两个方面:

a)动作姿态变形。动作姿态被形式化地表示为线性混合蒙皮公式。线性蒙皮是人体各个刚性块的刚性变换T和权重乘积的求和。由于人体各个刚性块的权重是不变的,所以人体各个刚性块的刚性变换T就是编辑动作姿态时的变形参数。对于人体各个刚性块的刚性变换T,在三维人体模板变形的界面上,通过鼠标直接拖拽相应的刚性块即可得到。

b)几何外形变形。基于主元素分析,几何外形被线性化地表示为Θ=Uθ+μ,其中,U为三维人体几何外形子空间的基础特征向量,μ则为三维人体的平均值外形(即前文所述的三维人体模板信息),注意,U和μ均可预先求取,为不变量。θ为编辑三维人体几何外形的变形参数。在具体实现过程中,通过子空间的线性等价变换,θ表示为有意义的人体参数集合(如身高、体重、胸围、腰围和臀围等),进一步方便了三维人体模板变形的实现。

综上所述,通过编辑三维人体的动作姿势参数T和几何外形参数θ,就以简便的方式,将三维人体模板进行变形,达到预期的三维人体建模结果。

3)衣服、头发和鞋袜等附属物的变形

三维人体模板B的变形,通过三维人体模板与衣服等附属物模型之间的连通图G,传递到衣服等附属物A上,驱动它们发生相应的变形。

假定,G的节点由三维人体模板B和附属物模型A上的总计m个采样点组成。建立图G的节点后,将一个节点和其最近的6个节点连接在一起形成图G的边。

通过连通图G,驱动衣服等附属物发生变形的过程,可转化为线性最优化问题,如下面的公式所表示:

<mrow> <munder> <mrow> <mi>arg</mi> <mi>min</mi> </mrow> <mrow> <msub> <mi>R</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>t</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>R</mi> <mi>m</mi> </msub> <mo>,</mo> <msub> <mi>t</mi> <mi>m</mi> </msub> </mrow> </munder> <msub> <mi>E</mi> <mi>c</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>p</mi> </msub> <msub> <mi>E</mi> <mi>p</mi> </msub> </mrow>

该式含有两项:Ec项用来保证G中相邻节点之间变形的一致性,Ep用来约束在B上节点的位置。wp为两项之间的权重,设为0.1。矩阵Rj和平移向量tj表示了变形图G中节点j的仿射变换。

Ec表示了上述相邻节点之间变形的一致性。假定:gj(j=1,...,m)为第j个节点的位置,N(j)表示和第j个节点具有一条连接边的相邻节点集合。也就是说,如果节点j和k相邻,则他们共同影响B和A的一部分区域。根据相邻节点的仿射变换相似这一事实:如果节点j的仿射变换作用到节点k的位置后,它应该接近节点k的仿射变换作用到其自身的位置。Ec的具体公式为:

<mrow> <msub> <mi>E</mi> <mi>c</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <munder> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>&Element;</mo> <mi>N</mi> <mrow> <mo>(</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow> </munder> <mo>|</mo> <mo>|</mo> <msub> <mi>R</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>g</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>g</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>t</mi> <mi>j</mi> </msub> <mo>-</mo> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>t</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow>

其中,节点j的位置为gj,变换矩阵为Rj,平移向量为tj;相邻节点k的位置为gk,平移向量为tk

位置约束项Ep约束了B上节点的位置,表示为如下的函数:

<mrow> <msub> <mi>E</mi> <mi>p</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mo>|</mo> <mo>|</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>-</mo> <msubsup> <mi>v</mi> <mi>i</mi> <mo>&prime;</mo> </msubsup> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow>

其中,n为连通图在B上节点的总数目,B中的第i个节点位置vi变形后的新位置为vi′。

通过求解变形过程的最优化方程,即可获得连通图G每个节点的仿射变换。在计算出连通图G每个节点的仿射变换后,G的节点位置发生改变。在衣服等附属物A上的节点,将改变后的位置信息作用到附属物A的相邻顶点上,从而改变附属物三维模型中顶点的位置,驱动衣服等附属物A的变形。

综上所述,通过改变三维人体模板的动作姿势和几何外形参数,用户可以很容易地实现了三维人像模型(包括三维人体和衣服等附属物)的编辑,完成建模任务。

有益效果:本发明公开了一种组件式的三维人像建模方法。与已有方法相比,本发明具有以下优点:1)首次实现了由三维人体、头发、衣服和鞋袜等组件构成的三维人像建模,有效推动了三维人像的建模技术发展;2)该三维人像建模是通过简单编辑三维人体模板的动作姿态和几何外形参数来实现的。

附图说明

图1为本发明的工作流程图。

具体实施方式

图1为本发明的工作流程图,如图所示,本发明的具体实施方式包括以下步骤:

第一步:建立三维人像的标准模板。建立三维人体模板、衣服、头发和鞋袜等组件,并用这些组件构成三维人像的标准模板。同时,以参数化表示的三维人体模板为中心,通过采样点建立三维人体模板与其余组件模型之间连通图,构建两者之间的对应关系。具体包括三个子步骤:

a)生成核心的三维人体模板;

b)建立衣服、头发和鞋袜等附属物三维模型;

c)构建三维人体模板与附属物模型间的对应关系。

第二步:三维人体模板变形。通过简单调整三维人体模板的参数,生成预期的三维人体模板变形结果。具体包括两个子步骤:

a)动作姿态变形。基于线性混合蒙皮公式,通过鼠标直接拖拽三维人体模板的各个刚性块,即可实现动作姿态的变形;

b)几何外形变形。基于几何外形的线性化地表示,通过直接调整身高、体重等人体参数,即可实现几何外形的变形。

第三步:衣服、头发和鞋袜等附属物的变形。三维人体模板变形,作用在三维人体模板与附属物模型之间的连通图上,连通图每个节点的节点位置发生改变,进而驱动衣服、头发和鞋袜等附属物的变形。

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