一种动态网格的误差可控cage序列表示算法

文档序号:9668218阅读:397来源:国知局
一种动态网格的误差可控cage序列表示算法
【技术领域】
[0001] 本发明涉及计算机图形学和三维动画制作领域,尤其是指一种动态网格的误差可 控CAGE序列表示算法。
【背景技术】
[0002] 近年来,动态几何数据获取技术的飞速发展使得我们很容易捕捉不同的运动序列 信息,同时也引发了一些新的可研究问题,其中之一就是三维运动序列的可编辑控制技术。 任何编辑三维运动序列的框架算法中都需要高级控制结构。人工合成的运动序列一般都含 有一个控制结构(骨架,控制网格等),因为这些序列是通过编辑控制结构得到的。但是通 过动态几何数据获取技术得到的运动序列一般都没有控制结构,它们一般是一个点集序列 或者一个网格序列。对于这些点集或者网格序列,如果没有一个统一的控制结构,我们无法 完成高效且有意义的编辑任务,所以研究如何为这些点集或者网格序列生成可编辑的高级 控制结构是非常有必要的。
[0003] 为动态几何序列生成一个控制结构能够有效地操纵序列,因为用户可以很直观地 进行网格操纵,通过重用、编辑、变形迀移等技术就可以得到新的网格模型数据。不仅简单 而且提高了数据的利用率。但是三种不同的控制结构在这些方面的表现不同,有着各自的 优缺点。
[0004] 此外,虽然三维形状信息捕获技术使得获取一个富含细节的三维形状序列不再是 一件困难的事情,但是这样的一个序列大多包含成百上千帧且每一帧都有成千上万的顶点 数目。虽然序列中每一帧动作都稍微有点不同,但是它们有着相同的顶点数目和拓扑关系, 并且它们具有相同的局部特征。此外,例如人或者的有关节的三维模型的运动一般遵循一 定的运动定律。这些都表明无论是几何形状还是整个三维形状序列中都存在着很多冗余的 信息,所以寻找一种可用于压缩的表示形式是非常必要的。
[0005]目前,Xu等提出将控制网格作为模型蒙皮,如文献[XuW;ZhouK;YuY,et al.Gradientdomaineditingofdeformingmeshsequences[A].ACMTransactionson Graphics(TOG) [C].ACM,2007:84.],利用线性蒙皮算法驱动变形得到控制网格序列。该 方法没有显式地进行逆向工程而是通过网格上点集的局部变换得到控制网格的顶点位 置。当控制网格的顶点个数比较多时,该方法很难得到比较准确和稳定的结果。相似地, 通过变形算法把网格序列的运动变换到控制网格上的方法也是可行的,如文献[SumnerR ff;P0p0vicJ.Deformationtransferfortrianglemeshes[J].ACMTransactionson Graphics(TOG),2004, 23 (3) : 399-405.]。他们首先建立网格模型和控制网格的对应关系, 之后将网格各帧之间的变换集合应用到控制网格上使其具有相同的变换过程和姿态。该 方法通过约束特定点的位置来保持运动的全局特征,例如通过约束一些顶点的位置达到 想要的姿态。他们的方法不仅能够处理网格而且能够处理捕获的面部表情。但是因为理 论上很难保证控制网格和对应网格具有相同的变换,所以在重构原始网格序列时存在很 大的误差。Savoye等用一个全局调整项来保持控制网格的微分坐标,如文献[SavoyeY; FrancoJ.Cage-basedtrackingforperformanceanimation2011,599-612·]。他们通 过两个约束来求解控制网格,第一个约束要求通过重心坐标和控制网格的顶点组合得到的 网格顶点坐标和原网格尽可能相等,第二个约束要求得到的控制网格保持给定的初始控 制网格的局部信息,但是通过求得的控制网格和重心坐标矩阵得到的重构网格与原网格 相比有很大的误差。2012年,Jean-MarcThiery等为了能够得到基于控制网格的逆向工 程的稳定解,如文献[ThieryJM;TiernyJ;BoubekeurT.CageR:Cage_BasedReverse EngineeringofAnimated3DShapes[A].ComputerGraphicsForum[C].WileyOnline Library, 2012:2303-2316.]借助于数学上的最大体积法(Max-Volume)寻找退化矩阵的一 个最优子方矩阵的方法来求解。此外,该算法需要再添加约束项使得控制网格的微分坐标 的模长尽可能小才能得到形状更好的控制网格。但是他们的方法得到的控制网格虽然具有 较好的形状,但是利用其重构出来的网格却存在很大的误差,这是用户所不能接受的。Chen 等提出了一种自适应的结合骨架信息的cage生成算法,如文献[ChenX;FengJ.Adaptive skeleton-drivencagesformeshsequences[J].ComputerAnimationandVirtual Worlds,2014, 25 (3-4) : 445-453.],该算法能够通过生成的控制网格计算重构误差来决定 控制网格的细致程度。该算法虽然能够得到较好形状的控制网格序列,但是没有从根本上 解决重心坐标具有全局性带来的误差较大的问题。

【发明内容】

[0006] 本发明的目的在于克服现有技术的缺点与不足,提供了一种动态网格的误差可控 CAGE序列表示算法,不仅使得求得的控制网格与原网格的形状相似,而且求得的控制网格 之后进行重构出的网格模型与原网格的误差可控,达到用户的要求。
[0007] 为实现上述目的,本发明所提供的技术方案为:一种动态网格的误差可控CAGE序 列表示算法,包括以下步骤:
[0008] 1)实矩阵控制网格生成
[0009] 针对给定的三维形状序列SM= (M。,,…,MF)和其中一帧对应的控制网格C。,通 过逆向工程算法得到三维形状序列对应的控制网格序列Sc= (C。,Q,…,CF),其中,问题的 数学描述如下式:
[0010]E,=IIΦΟ,-Μ,ΙI2 (1)
[0011] 式中,Φ表示均值坐标构成的权重矩阵,通过控制网格和它对应的网格模型计算 得到;Mi是三维形状序列中第i帧,通过上式⑴求解得到该帧对应的控制网格(^,对三维 形状序列中的每一帧进行同样操作得到控制网格序列se= (c。,^,···,&);
[0012] 通过添加Laplacian项使得所求控制网格与输入的控制网格有相同的局部细节, 即下式:
[0013]
[0014] 式中,Tk(Ck)是控制网格(;的每个顶点的变换矩阵f构成的大矩阵,δ是C。的微 分坐标组成的矩阵,1^(;是(^每个顶点的微分坐标构成的矩阵;λ是后面一项的权重值,可 根据三维形状序列本身运动信息进行调整,运动幅度越大该值设越大;将Tkδ表示成(;的 线性函数,推导过程如下面介绍:
[0015]对于第i个顶点的变换矩阵#,有
::,所 以(s比h2h3txtytz)T= (A。AiΑ2Α3Α4Α5 ~)\;那么将变换矩阵中的值分别代入后, 变换后的微分坐标表达式推导过程如下:
[0016] \ '
)
[0017]因为微分坐标具有平移不变性,所以在此处忽略掉平移量,故变换后的微分坐标 可以表示为下式:
[0018] (3)
[0019] 将所有控制网格顶点变换后的微分坐标写在一起表示为NCk,其中Ν是3mX3m矩 阵,(;是3mX1的矩阵;最终的能量表达式为:
[0020]ζSHP(k)=IIΦCk-MkI12+λIINCk-LCk | |2 ⑷
[0021] 对于三维形状序列中的每一帧,通过上式(4)得到对应的控制网格,进而得到整 个序列的控制网格;
[0022] 2)基于Poisson方程的权重简化
[0023] 存在大的重构误差的原因是权重矩阵Φ是通过形状序列中的第一帧M。和对应控 制网格C。所得到,且均值坐标(MVC)是全局影响,即模型上任何一个顶点都要受到所有控 制点的影响;当给定的网格Mk较于原网格变形比较大时,实际上使用的权重矩阵Φ已经不 能适用于Mk,这必将导致重构出来的网格存在扭曲;基于Poisson方程的权重简化方法提 供了一种从多个输入模型中学习新的权重矩阵的方法,能够从输入的多个模型样例中学习 到每个网格顶点受控制顶点影响的情况,使得原来的网格顶点受所有控制顶点影响变成只 受k个控制顶点的影响;针对网格模型上的每一个顶点,简化方法首先从所有控制顶点中 选择k个对其影响最大的控制顶点,同时将顶点影响权重设置为0;接着为了使这k个顶点 的影响值满足权重约束,即权重值加起来为1,利用Poisson方程约束新的权重重构出来的 样例模型与原模型的微分坐标尽可能相等;最后,对于网格模型上的所有顶点做相同的操 作得到新的权重矩阵;简化方法使得新的权重矩阵既满足每个网格顶点只受k个控制顶点 的影响又使得重构出来的模型很光滑;
[0024] 实矩阵控制网格生成输出的是控制网格序列Ve,在此将网格序列和对应的控制 网格序列作为简化方法的输入,分别记作E和CE,共F+1个模型例子;对于网格上顶点V,选 出k个对其影响最大的控制网格上的顶点,坐标值设为未知,控制网格上的顶点影响坐标 值置为〇;通过求解下式(5)使得利用新权重的重构样例模型的微分算子与原模型尽可能 相等;
[0025]
(5)
[0026] 式中,inf(Vl)表示三维网格模型顶点心受控制的控制网格顶点集合,η是网格顶 点个数;优化问题的未知量是α,共有nk个元素;且上式(5)中还需加上权重性质约束,即 网格上每个顶点受控制的k个控制网格顶点的权重之和为1,且每个权重值大于或者等于 零;
[0027] 通过优化局部求解器进行求解;求解过程中假设:当求解一个网格上
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1