平码五不中公式规律
  • / 22
  • 下载费用:30 金币  

一种关节运动感知的稀疏局部分解及重构算法.pdf

关 键 ?#21097;?/dt>
一种 关节 运动 感知 稀疏 局部 分解 算法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201611125996.4

申请日:

2016.12.09

公开号:

CN106683169A

公开日:

2017.05.17

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06T 17/00申请日:20161209|||公开
IPC分类号: G06T17/00 主分类号: G06T17/00
申请人: 华南理工大学
发明人: 曾志超; 李桂清; 王宇攀
地址: 511458 广东省广州市南沙区环市大道?#19979;?5号华工大广州产?#24615;?/td>
优?#28909;ǎ?/td>
专利代理机构: 广州市华学知识产权代理有限公司 44245 代理人: 罗观祥
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201611125996.4

授权公告号:

|||

法律状态公告日:

2017.06.09|||2017.05.17

法律状态类型:

实质审查的生效|||公开

摘要

本发明公开了一种关节运动感知的稀疏局部分解及重构算法,包括:1)计算三角网格中边的长度和边对应的二面角大小(这两个值记为LA);2)计算各个三角网格模型LA向量的残差;3)对LA向量残差做稀疏局部分解得到LA基;4)线性混合LA基获得新的LA向量;5)恢复连接映射;6)估计局部正交标价;7)重构三角网格。本发明主要解决的问题是如何对给定的运动网格序列进行稀疏局部分解,从而捕捉出运动序列的局部区域的变形,并以此为基础,构建一个能够捕获运动区域和进行三角网格模型姿态编辑的集合处理框架。本发明具有更好的局部性、适用于大范围旋转运动变形、适用于全局旋转、具有良好的鲁棒性等优点。

权利要求书

1.一种关节运动感知的稀疏局部分解及重构算法,其特征在于,包括以下步骤:
1)计算三角网格中边的长度和边对应的二面角大小
给定一系列具有不同姿态的动态三角形网格序列这些模型都具有相同的拓?#31169;?#26500;,先
分别计算各个三角网格模型上各条边的长度以及边所对应的二面角大小,这两个值记为
LA;
2)计算各个三角网格模型LA向量值的残差
对步骤1)中得到的一个三角网格模型上各条边对应的LA按照边的顺序排列构成一个
LA向量,计算出各个三角网格模型的LA向量,各个三角网格模型的LA值,分别与参考三角网
格模型的LA向量值做差,等到对应的LA向量值残差;
3)提取形状LA基
对步骤2)中得到的各个模型的LA向量值残差进行稀疏局部分解,得到一组能够捕捉到
关节局部运动的LA基,每一个LA基控制着三角网格模型上的一块区域形状;
4)线性混合LA基获得新的LA向量值
对步骤3)中得到的能够捕捉到关节局部运动的LA基,编辑对应的?#38382;?#33719;得新的LA向
量值残差,再与参考三角网格模型的LA向量值作和计算,获得新的LA向量值;
5)恢复连接映射
对步骤4)中得到的新的LA向量值进行各个三角面片上顶点的局部坐标值计算,获得局
部坐标系下面片上各个顶点的局部坐标值,进而恢复三角网格模型上各个三角面片的连接
映射关系;
6)估计局部正交标价
对步骤5)中得到的三角形面片的连接映射关系,再利用最小化标价重构函数来估算出
三角网格模型的局部正交标架;
7)重构三角网格
对步骤6)中得到的局正交标价架,利用最小化重构函数来估计三角网格模型中各个顶
点的?#24674;茫?#20250;后获得具有新的姿态的三角网格模型。
2.根据权利要求1所属的一种关节运动感知的稀疏局部分解及重构算法,其特征在于,
在步骤1)中,所述的计算三角网格中边的长度和边对应的二面角大小,具体如下:
假设为给定的具有不同姿态的三角网格模型数据集,NP表示数
据集中三角网格模型的个数,表?#38236;趉个三角网格模型,每个三角网格模型表面都是由
紧密相连的三角形构成,E和F分别表示三角网格模型中的边集合和三角面片集合,并且边
的个数为NE,三角面片的个数为NF,这些三角网格模型具有相同的连接关系,?#27492;?#26377;的三角
网格模型具有相同的边集合和三角面片集合;在遍历三角面片上的顶点时,我们是以逆时
针的方向进行;
假设上的一条边e=(i,j)∈E,共用这条边的三角面片为τ=(j,h,i)和
υ=(g,j,i),括号内的字母为构成这个三角面片顶点标号,顺序为逆时针顺序;当从这
条公共边的顶点vi走到vj时,三角形面片τ位于左手边,三角面片υ位于右手边,所以τ和υ分
别称为边(i,j)的左三角面片和右三角面片;计算e的长度时,使用的是两个顶点间的欧几
里德距离,即lij=||vj-vi||2;θ表示三角面片τ和υ向外方向的法线的夹角,即θ=a cos
(nτ·nυ),其中nτ和nυ分别为三角面片τ和υ上方向向外方向的法线,则公共边对应的二面角
定义为

以上获得了一个LA值(lij,φij);
对于数据集上所有的三角网格模型计算其各个条边上的LA值,并按照边的编号
顺序排列可以构成一个2NE列的向量即LA向量;
在步骤2)中,所述的计算各个三角网格模型的LA向量残差,具体方法为:在步骤1)中获
得了各个三角网格模型的LA向量构成的向量后,分别与第一个网格模型的LA向量作差,得
出LA向量的残差,即{Dk=Xk-X1,k=1,2,...,Np};
在步骤3)中,所述的提取LA基,具体方式如下:
利用步骤2)中得到的LA向量残差,构建出一个2NE×Np的矩阵D=(D1,...,DNp),将矩阵D
分解成D=C×W,其中矩阵C是一个2NE×K的LA基矩阵,矩阵中的每一列都表示一个LA基,即
矩阵中的每一列都控制着三角网格模型中的一个区域的形状,这里的K表示LA基的个数,能
够根据需要设定大小,设定K值即是将三角网格模型大致分成K个区域;而矩阵W是一个K×
NP的权重矩阵,矩阵中的每一行表示一个混合权重序列;为了便于对三角网格的姿态进行
编辑,需要尽可能地保持LA基的局部性,即各个LA基之间混合部分尽可能地少,并且需要归
一化混合权重来消除由于缩放对姿态的影响;这里通过最小化函数(1)来进行矩阵分解:
<mrow> <mi>arg</mi> <munder> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> <mrow> <mi>C</mi> <mo>,</mo> <mi>W</mi> </mrow> </munder> <msub> <mi>&epsiv;</mi> <mrow> <mi>M</mi> <mi>F</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>C</mi> <mo>,</mo> <mi>W</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&eta;&epsiv;</mi> <mrow> <mi>L</mi> <mi>C</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>C</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,第一个能量项用来约束矩阵分解的误差,而第二个能量项
用于调整矩阵C中LA基的局部性,即各个LA基控制的区域大小范围;
第二个能量项具体如下:
<mrow> <msub> <mi>&epsiv;</mi> <mrow> <mi>L</mi> <mi>C</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>C</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mi>E</mi> </msub> </munderover> <msub> <mi>&Lambda;</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mo>|</mo> <mo>|</mo> <mrow> <mo>(</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>c</mi> <mrow> <mn>2</mn> <mi>i</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>|</mo> <msub> <mo>|</mo> <mn>2</mn> </msub> </mrow>
其中,Λik表示三角网格模型上的第i条边与第k条作为形状基中的边中点间的测地线
距离,具体定义如下:
<mrow> <msub> <mi>&Lambda;</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mo>&gt;</mo> <msub> <mi>r</mi> <mi>max</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mfrac> <mrow> <msub> <mi>d</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>r</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> </mrow> <mrow> <msub> <mi>r</mi> <mi>max</mi> </msub> <mo>-</mo> <msub> <mi>r</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> </mrow> </mfrac> </mtd> <mtd> <mrow> <msub> <mi>r</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>&le;</mo> <msub> <mi>d</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mo>&le;</mo> <msub> <mi>r</mi> <mi>max</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mrow> <mi>i</mi> <mi>k</mi> </mrow> </msub> <mo>&lt;</mo> <msub> <mi>r</mi> <mi>min</mi> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
其具体过程为:首先在三角网格模型上选择K条边作为K个形状基的中?#27169;?#31216;为中心边,
这里用Edge表示,edgek表?#38236;趉条中心边;用ei表示三角网格模型上的编号为i的边,则上式
中的dik表示ei和edgek中点的测地线距离归一化之后的结果,这里的归一化实际上就是计
算三角网格上边的中点与各个中心边中点的测地线距离,取出其中的最大值记为dmax,然后
将三角网格模型上的边计算出来的测地线距离处于这个最大值最后得到的值作为归一化
之后的测地线距离,因此有dik≤1,rmin和rmax为支持的半?#24230;?#20540;范围为[0,1),其具体值根据
需求设定;
在整个分解过程中,ci,k表示矩阵C第i行第k列的数据,wkj表示矩阵W第k行第j列的值;
且有max{wk,j,k=1,...,K;j=1,...,NP}=1,即矩阵W中的所?#24615;?#32032;,最大值为1;
在步骤4)中,所述的线性混合LA基获取新的LA向量,其具体方法为:在步骤3)中获取的
LA基矩阵之后,修改W矩阵中?#25105;?#19968;列的数值,得到向量wk,然后矩阵C再与wk相乘,得到一个
新的LA向量残差,最后与第一个三角网格模型的LA向量相加即可获得具有新的姿态的三角
网格模型的LA向量,即通过计算即可获取新的LA向量;
在步骤5)中,所述的恢复连接映射,其过程主要包括建立一个新的局部坐标系,通过边
的LA值计算得到一这条边为公共边的两个三角面片各个顶点的坐标,然后再计算各个面片
的在新的局部坐标系下的局部正交标价,最后通过两个面片的局部正交标架恢复其连接映
射关系具体过程如?#28388;?#36848;:
在从步骤4)中获取LA向量之后,对每一条边恢复其连接关系,假设边e=(i,j)是左三
角面片τ和右三角面片υ的公共边,且h,g分别为左右三角面片的第三个顶点,即公共边e=
(i,j)的左右三角面片分别为τ=(j,h,i),υ=(g,j,i);首先创建一个坐标系(r,s,t),然后
计算出两个三角面片各个顶点在这个坐标系下的坐标值;坐标系以顶点vi作为坐标原点且
顶点vj的坐标值为(lij,0,0),坐标系的t轴与三角面片υ向外方向的法线同向;由于三角面
片υ为公共边e=(i,j)的右三角面片,所以顶点vg的r坐标必定小于0,所以计算vg的坐标分
别为:
<mrow> <msub> <mi>r</mi> <mi>g</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>l</mi> <mrow> <mi>g</mi> <mi>i</mi> </mrow> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>l</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> <mo>-</mo> <msubsup> <mi>l</mi> <mrow> <mi>g</mi> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> </mrow> <mrow> <mn>2</mn> <msub> <mi>l</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </mfrac> <mo>,</mo> <msub> <mi>s</mi> <mi>g</mi> </msub> <mo>=</mo> <mo>-</mo> <msqrt> <mrow> <msubsup> <mi>l</mi> <mrow> <mi>g</mi> <mi>i</mi> </mrow> <mn>2</mn> </msubsup> <mo>-</mo> <msubsup> <mi>r</mi> <mi>g</mi> <mn>2</mn> </msubsup> </mrow> </msqrt> <mo>,</mo> <msub> <mi>t</mi> <mi>g</mi> </msub> <mo>=</mo> <mn>0</mn> </mrow>
为了计算顶点vh的坐标值,首先假设顶点vh绕着公共边旋转展平后跟三角面片υ共面的
顶点vh',则类似的计算顶点vh'的坐标值为:
<mrow> <msub> <mi>r</mi> <msup> <mi>h</mi> <mo>&prime;</mo> </msup> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>l</mi> <mrow> <mi>h</mi> <mi>i</mi> </mrow> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>l</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> <mo>-</mo> <msubsup> <mi>l</mi> <mrow> <mi>h</mi> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> </mrow> <mrow> <mn>2</mn> <msub> <mi>l</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </mfrac> <mo>,</mo> <msub> <mi>s</mi> <msup> <mi>h</mi> <mo>&prime;</mo> </msup> </msub> <mo>=</mo> <mo>-</mo> <msqrt> <mrow> <msubsup> <mi>l</mi> <mrow> <mi>h</mi> <mi>i</mi> </mrow> <mn>2</mn> </msubsup> <mo>-</mo> <msubsup> <mi>r</mi> <msup> <mi>h</mi> <mo>&prime;</mo> </msup> <mn>2</mn> </msubsup> </mrow> </msqrt> <mo>,</mo> <msub> <mi>t</mi> <msup> <mi>h</mi> <mo>&prime;</mo> </msup> </msub> <mo>=</mo> <mn>0</mn> </mrow>
将顶点vh'绕着r坐标轴旋转φij-π后即可获得顶点vh的坐标轴;
在获得两个三角面片各个顶点的坐标轴之后,计算在上述过程中新建的局部坐标系下
的局部正交标价;局部正交标价的具体过程如下:
以三角面片τ为例,定义这个三角面片上的局部正交标价为ζτ=(uτ,vτ,nτ)其中
表示三角面片τ上从第一个顶点vi指向第二个顶点vj的单位向量;nτ为三角面片
向外的单位法线;vτ=nτ×uτ;以上三个单位向量就构成了ζτ3×3的矩阵结构;
同理能够求出三角面片υ上的局部正交标价ζυ,那么即为将其他坐标系下其他坐标
系下的坐标值转变成υ局部坐标系下表示的转换矩阵;
在计算出以边e=(i,j)为公共边的两个三角面片的局部正交标价之后就能够计算这
公共边的连接映射Qij,Qij的定义如下:
<mrow> <msub> <mi>Q</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>&zeta;</mi> <mi>&upsi;</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <msub> <mi>&zeta;</mi> <mi>&tau;</mi> </msub> </mrow>
至此,计算出了边e=(i,j)的连接映射,用类?#21697;?#24335;就能够恢复所有边的连接映射;
因为在进行形状基的编辑时,直接改变的是LA值,即直接改变了三角网格中的边长度
和边对应的三角形的二面角大小,这就有可能导致修改后的边长不满足三角形边长不等
式,即修改后的边有可能没办法构成三角面片,面对这些情况需要进行特殊处理:当lgj≥
lji+lig时,统一将边的长度lji和lig放大lgj/(lji+lig)倍,这样就有lgj=lji+lig,这时候因为
边(i,j)的方向跟边(g,j)的方向一致,所以边(g,j)的方向为(1,0,0);同理,当lji≥lgj+lig
时,边(g,j)的方向为(1,0,0),当lig≥lgj+lji时,边(g,j)的方向为(-1,0,0);
在步骤6)中,所述的估计局部正交标价,其主要方法如下:
假设为三角形网格中的边的集合,通过如下最小化函数(2)来估计出每个三角面片
的局部正交标架:
<mrow> <msub> <mi>&epsiv;</mi> <mrow> <mi>F</mi> <mi>R</mi> </mrow> </msub> <mrow> <mo>(</mo> <mo>{</mo> <msub> <mi>&zeta;</mi> <mi>t</mi> </msub> <mo>,</mo> <mi>t</mi> <mo>&Element;</mo> <mi>F</mi> <mo>}</mo> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&epsiv;</mi> <mrow> <mi>C</mi> <mi>M</mi> </mrow> </msub> <mrow> <mo>(</mo> <mo>{</mo> <msub> <mi>&zeta;</mi> <mi>t</mi> </msub> <mo>,</mo> <mi>t</mi> <mo>&Element;</mo> <mi>F</mi> <mo>}</mo> <mo>)</mo> </mrow> <mo>+</mo> <mo>|</mo> <mo>|</mo> <msub> <mi>&zeta;</mi> <mn>1</mn> </msub> <mo>-</mo> <msubsup> <mi>&zeta;</mi> <mn>1</mn> <mo>*</mo> </msubsup> <mo>|</mo> <msubsup> <mo>|</mo> <mi>F</mi> <mn>2</mn> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
其中左边项为:

表示连接映射能量;
而函数(2)中的ζ1和分别表示需要估计的第一个三角面片的正交标价和给定的第一
个三角面片的正交标价,为了保证重构出来的刚性变换的三角网格具?#24418;?#19968;性,需要给定
第一个三角面片的局部正交标价;下标‘F’表示Frobenius范数;Qij为步骤5)中恢复的链接
映射;
步骤7)中,所述的重构三角网格主要就是计算新的三角网格模型各个顶点的?#24674;茫?#20855;
体过程如下:
在步骤6)中获取到局部正交标价之后,通过优化函数(3)来计算出三角网格中各个顶
点的?#24674;茫?br />
εER({vi,i∈I})=εEV({vi,i∈I})+εVC({vi,i∈I}) (3)
其中,右边的项用于约束给定的固定点的?#24674;茫?#20854;具体为:
<mrow> <msub> <mi>&epsiv;</mi> <mrow> <mi>V</mi> <mi>C</mi> </mrow> </msub> <mrow> <mo>(</mo> <mo>{</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>i</mi> <mo>&Element;</mo> <mi>I</mi> <mo>}</mo> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>&Element;</mo> <msup> <mi>I</mi> <mo>*</mo> </msup> </mrow> </munder> <mo>|</mo> <mo>|</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>-</mo> <msubsup> <mi>v</mi> <mi>i</mi> <mo>*</mo> </msubsup> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow>
其中,I*为给定固定的顶点的编号,为给定的固定顶点的?#24674;茫?#20026;了保证重构出来的
刚性变换的三角网格模型具?#24418;?#19968;性,需要固定一些点的?#24674;?#19981;变,固定点的数量根据需
要进行调整;
函数(3)中的第一个想用于约束估计的顶点?#24674;?#36319;步骤6)中得到的局部正交标价里面
向量的偏差,具体为:
<mrow> <msub> <mi>&epsiv;</mi> <mrow> <mi>E</mi> <mi>V</mi> </mrow> </msub> <mrow> <mo>(</mo> <mo>{</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>i</mi> <mo>&Element;</mo> <mi>I</mi> <mo>}</mo> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mo>(</mo> <mi>g</mi> <mo>,</mo> <mi>j</mi> <mo>,</mo> <mi>i</mi> <mo>)</mo> <mo>&Element;</mo> <mi>F</mi> </mrow> </munder> <mo>&lsqb;</mo> <mo>|</mo> <mo>|</mo> <msub> <mi>v</mi> <mi>g</mi> </msub> <mo>-</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>g</mi> <mi>j</mi> </mrow> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>+</mo> <mo>|</mo> <mo>|</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>j</mi> <mi>i</mi> </mrow> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>+</mo> <mo>|</mo> <mo>|</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>v</mi> <mi>g</mi> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>i</mi> <mi>g</mi> </mrow> </msub> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>&rsqb;</mo> </mrow>
其中,egj=-lgju,eji=lji(cosβu-sinβv),eig=lig(cosαu+sinαv),α为三角面片上边
(g,j)和边(i,g)的夹角,而β为边(g,j)和边(j,i)的夹角;式中的u,v表示由步骤6)估计的
对应三角面片上的局部正交标价ζ=(u,v,n)上对应的向量;
优化函数(3)之后就能够获得三角网格模型的所有点的?#24674;茫?#21363;重构出编辑过后具有
新的姿态的三角网格模型。

说明书

一种关节运动感知的稀疏局部分解及重构算法

?#38469;?#39046;域

本发明涉及计算机图形学和三维网格编辑领域,尤其是指一种关节运动感知的稀
疏局部分解及重构算法。

背景?#38469;?br />

动态几何或者动画网格序列是具有相同连接关系的三角形网格,通常这些三角形
网格记录了一个对象在一个时间序列上的不同姿态。这种几何体在动画和3D游?#20998;?#37117;是非
常普遍的。得到一个对这种三角形网格序列的简洁表示方式,并且支持对几何体的编辑在
动态几何处理中是一个非常重要的课题。

传统的方式通常采用诸如骨架或者笼子(Cage)这样的简洁结构来捕捉给定三角
形网格序列的运行信息,并通过使用蒙皮?#38469;?#25110;者广义?#23454;?#22352;标来进行三角形网格重构。
尽管这些方法都可以很好地压缩三角形网格序列,但是要想通过操作这些骨架或者笼子来
构建具有新姿态的三角形网格却非常困?#36873;?br />

稀疏局部形状基方法将三角形网格序列的每个帧视为平均形状三角形网格的变
形,并且提取出一组可以捕获姿态变形的局部形状基。通过编辑控制这组形状基的?#38382;?#20540;
来构成不同形状基组合,从而重构出具有不同姿态的三角形网格模型。这种方法在抬高眉
毛,提高嘴角等面部表示方面表现了强大的能力。然而,由于这组形状基利用的是非局域性
坐标变化,这种方法在重构大范围旋转运行时,容易差生伪影。Huang等人试图通过在三角
形网格面片的变形梯度(DG)空间上进行稀疏局部分解来填充局部线性表示和关节运动的
非线性特性的缺口。尽管这种方式可以在一定程度上表示旋转运动,但是由于DG变化的非
局部性,它的编辑能力受到了很大的限制。DG的变化具有非局部性,因为当三角形网格的刚
性部分绕着关节旋转时,刚性部分上所有的DG都会有相类似的变化。此外,作为非?#23616;?#29305;
征,DG的变换?#35272;?#20110;全局旋转变换。因此,这个方法不能处理具有全局旋转的动画序?#23567;?#26368;
后,每个变形梯度?#21152;?个?#38382;?#26469;定义,当一个三角形网格有NF个面?#26412;?#38656;要9NF个?#38382;?#26469;表
示一个姿态。这?#22270;?#22823;地增加了局部稀疏分解的处理时间。

以上这些方法主要缺点有:(1)可以比较简洁的方式来表示运动序列三角形网格
模型,但是却无法提供比较简洁的方式来编辑三角形网格的姿态;(2)可以进行编辑,但是
无法处理旋转范围比较大的运动姿态;(3)表示网格序列的数据量大,计算复杂。

发明内容

本发明的目的在于克服现有?#38469;?#30340;缺点与不足,提供了一种关节运动感知的稀疏
局部分解及重构算法,可以准确地捕捉到发生旋转运动的部位并重构出具有大范围旋转运
动的三角形网格姿态模型,可以方便地进行姿态编辑且具有更好的效果以及计算效?#30465;?br />

为实现上述目的,本发明所提供的?#38469;?#26041;案为:一种关节运动感知的稀疏局部分
解及重构算法,包括以下步骤:

1)计算三角网格中边的长度和边对应的二面角大小

给定一系列具有不同姿态的动态三角形网格序列这些模型都具有相同的拓?#31169;?br />构,先分别计算各个三角网格模型上各条边的长度以及边所对应的二面角大小(这两个值
记为LA);

2)计算各个三角网格模型LA向量的残差

对步骤1)中得到的一个三角网格模型上各条边对应的LA按照边的顺序排列构成
一个LA向量,计算出各个三角网格模型的LA向量,分别与参考三角网格模型的LA向量做差,
等到对应的LA向量残差;

3)提取LA基

对步骤2)中得到的各个模型的LA向量残差进行稀疏局部分解,得到一组可以捕捉
到关节局部运动的LA基,每一个LA基控制着着三角网格模型上的一块区域形状;

4)线性混合LA基获得新的LA向量

对步骤3)中得到的可以捕捉到关节局部运动的LA基,编辑对应的?#38382;?#33719;得新的
LA向量残差,再与参考三角网格模型的LA向量作和计算,获得新的LA向量;

5)恢复连接映射

对步骤4)中得到的新的LA向量进行各个三角面片上顶点的局部坐标值计算,获得
局部坐标系下面片上各个顶点的局部坐标值,进而恢复三角网格模型上各个三角面片的连
接映射;

6)估计局部正交标价

对步骤5)中得到的三角形面片的连接映射关系,再利用最小化标价重构函数来估
算出三角网格模型的局部正交标架;

7)重构三角网格

对步骤6)中得到的局正交标价,利用最小化重构函数来估计三角网格模型中各个
顶点的?#24674;茫?#20250;后获得具有新的姿态的三角网格模型。

在步骤1)中,所述的计算三角网格中边的长度和边对应的二面角大小(这两个值
记为LA),具体如下:

假设为给定的具有不同姿态的三角网格模型数据集,NP表
示数据集中三角网格模型的个数,表?#38236;趉个三角网格模型。每个三角网格模型表面都
是由紧密相连的三角形构成。E和F分别表示三角网格模型中的边集合和三角面片集合,并
且边的个数为NE,三角面片的个数为NF。这些三角网格模型具有相同的连接关系,?#27492;?#26377;的
三角网格模型具有相同的边集合和三角面片集?#31232;?#22312;遍历三角面片上的顶点时,我们是以
逆时针的方向进?#23567;?br />

假设上的一条边e=(i,j)∈E,共用这条边的三角面片为τ=(j,h,i)和υ=(g,
j,i),括号内的字母为构成这个三角面片顶点标号,顺序为逆时针顺序。当从这条公共边的
顶点vi走到vj时,三角形面片τ位于左手边,三角面片υ位于右手边,所以τ和υ分别称为边(i,
j)的左三角面片和右三角面片。计算e的长度时,使用的是两个顶点间的欧几里德距离,即
lij=||vj-vi||2。θ表示三角面片τ和υ向外方向的法线的夹角,即θ=acos(nτ·nυ),其中nτ和
nυ分别为三角面片τ和υ上方向向外方向的法线,则公共边对应的二面角定义为


以上获得了一个LA值(lij,φij)。

对于数据集上所有的三角网格模型计算其各个条边上的LA值,并按照边的
编号顺序排列可以构成一个2NE列的向量即LA向量。

在步骤2)中,所述的计算各个三角网格模型的LA向量残差,具体方法为:在步骤1)
中获得了各个三角网格模型的LA向量后,分别与第一个网格模型的LA向量作差,得出LA向
量的残差,即{Dk=Xk-X1,k=1,2,...,Np}。

在步骤3)中,所述的提取LA基,具体方式如下:

利用步骤2)中得到的LA向量残差,构建出一个2NE×Np的矩阵D=(D1,...,DNp)。将
矩阵D分解成D=C×W。其中矩阵C是一个2NE×K的LA基矩阵,矩阵中的每一列都表示一个LA
基,即矩阵中的每一列都控制着三角网格模型中的一个区域的形?#30784;?#36825;里的K表示LA基的个
数,可以根据需要设定大小,设定K值即是将三角网格模型大致分成K个区域。而矩阵W是一
个K×NP的权重矩阵,矩阵中的每一行表示一个混合权重序?#23567;?#20026;了便于对三角网格的姿态
进行编辑,需要尽可能地保持LA基的局部性,即各个LA基控制的区域之间混合部分尽可能
地少,并且需要归一化混合权重来消除由于缩放对姿态的影响。这里通过最小化函数(1)来
进行矩阵分解。



其中第一个能量项用来约束矩阵分解的误差,而第二个能
量项用于调整矩阵C中LA基的局部性,即各个LA基控制的区域的大小范围。

第二个能量项具体如下:


其中Λik表示三角网格模型上的第i条边与第k条作为形状基中的边中点间的测地
线距离,具体定义如下:


其具体过程为:首先在三角网格模型上选择K条边作为K个形状基的中?#27169;?#31216;为中
心边,这里用Edge表示,edgek表?#38236;趉条中心边。用ei表示三角网格模型上的编号为i的边,
则上式中的dik表示ei和edgek中点的测地线距离归一化之后的结果,这里的归一化实际上
就是计算三角网格上边的中点与各个中心边中点的测地线距离,取出其中的最大值记为
dmax,然后将三角网格模型上的边计算出来的测地线距离处于这个最大值最后得到的值作
为归一化之后的测地线距离。因此有dik≤1。rmin和rmax为支持的半?#24230;?#20540;范围为[0,1),其具
体值根据需求设定。

在整个分解过程中,ci,k表示矩阵C第i行第k列的数据,wkj表示矩阵W第k行第j列的
值;且有max{wk,j,k=1,...,K;j=1,...,NP}=1,即矩阵W中的所?#24615;?#32032;,最大值为1。在实
验中,η的值设为200。

在步骤4)中,所述的线性混合LA基获取新的LA向量,其具体方法为:在步骤3)中获
取的LA基矩阵之后,修改W矩阵中?#25105;?#19968;列的数值,得到向量wk,然后矩阵C再与wk相乘,得到
一个新的LA向量残差,最后与第一个三角网格模型(即参考三角网格模型)的LA向量相加即
可获得具有新的姿态的三角网格模型的LA向量。即通过计算即可获取新的LA
向量。

在步骤5)中,所述的恢复连接映射,其过程主要包括建立一个新的局部坐标系,通
过边的LA值计算得到一这条边为公共边的两个三角面片各个顶点的坐标,然后再计算各个
面片的在新的局部坐标系下的局部正交标价,最后通过两个面片的局部正交标架恢复其连
接映射关系具体过程如?#28388;?#36848;:

在从步骤4)中获取LA向量之后,我们可以对每一条边恢复其连接关系。假设边e=
(i,j)是左三角面片τ和右三角面片υ的公共边,且h,g分别为左右三角面片的第三个顶点,
即公共边e=(i,j)的左右三角面片分别为τ=(j,h,i),υ=(g,j,i)。首先创建一个坐标系
(r,s,t),然后计算出两个三角面片各个顶点在这个坐标系下的坐标值。坐标系以顶点vi作
为坐标原点且顶点vj的坐标值为(lij,0,0),坐标系的t轴与三角面片υ向外方向的法线同
向。由于三角面片υ为公共边e=(i,j)的右三角面片,所以顶点vg的r坐标必定小于0。所以
可以计算vg的坐标分别为:


为了计算顶点vh的坐标值,我们首先假设顶点vh绕着公共边旋转展平后跟三角面
片υ共面的顶点vh',则类似的可以计算顶点vh'的坐标值为:


将顶点vh'绕着r坐标轴旋转φij-π后即可获得顶点vh的坐标轴。

在获得两个三角面片各个顶点的坐标轴之后,计算在上述过程中新建的局部坐标
系下的局部正交标价。局部正交标价的具体过程如下:

以三角面片τ为例,我们定义这个三角面片上的局部正交标价为ζτ=(uτ,vτ,nτ)其
中表示三角面片τ上从第一个顶点vi指向第二个顶点vj的单位向量;nτ为三角面
片向外的单位法线;vτ=nτ×uτ。以上三个单位向量就构成了ζτ3×3的矩阵结构。

同理可以求出三角面片υ上的局部正交标价ζυ。那么即为将其他坐标系下其他
坐标系下的坐标值转变成υ局部坐标系下表示的转换矩阵。

在计算出以边e=(i,j)为公共边的两个三角面片的局部正交标价之后就可以计
算这公共边的连接映射Qij。Qij的定义如下:


至此,计算出了边e=(i,j)的连接映射,用类似的方式就可恢复所有边的连接映
射。

因为在进行LA基的编辑时,直接改变的是LA值,即直接改变了三角网格中的边长
度和边对应的三角形的二面角大小。这就有可能导致修改后的边长不满足三角形边长不等
式,即修改后的边有可能没办法构成三角面片。面对这些情况需要进行特殊处理:当lgj≥
lji+lig时,我们统一将边的长度lji和lig放大lgj/(lji+lig)倍,这样就有lgj=lji+lig,这时候
因为边(i,j)的方向跟边(g,j)的方向一致,所以边(g,j)的方向为(1,0,0);同理,当lji≥
lgj+lig时,边(g,j)的方向为(1,0,0),当lig≥lgj+lji时,边(g,j)的方向为(-1,0,0)。

在步骤6)中,所述的估计局部正交标价,其主要方法如下:

假设为三角形网格中的边的集合,通过如下最小化函数(2)来估计出每个三角
面片的局部正交标架:



其中左边项为:


表示连接映射能量。

而函数(2)中的ζ1和分别表示需要估计的第一个三角面片的正交标价和给定的
第一个三角面片的正交标价,为了保证重构出来的刚性变换的三角网格具?#24418;?#19968;性,我们
需要给定第一个三角面片的局部正交标价;下标‘F’表示Frobenius范数;Qij为步骤5)中恢
复的链接映射。

步骤7)中,所述的重构三角网格主要就是计算新的三角网格模型各个顶点的位
置,具体过程如下:

在步骤6)中获取到局部正交标价之后,通过优化函数(3)来计算出三角网格中各
个顶点的?#24674;謾?br />

εER({vi,i∈I})=εEV({vi,i∈I})+εVC({vi,i∈I}) (3)

其中右边的项用于约束给定的固定点的?#24674;茫?#20854;具体为:


其中I*为给定固定的顶点的编号,为给定的固定顶点的?#24674;謾?#20026;了保证重构出
来的刚性变换的三角网格模型具?#24418;?#19968;性,我们需要固定一些点的?#24674;?#19981;变,固定点的数
量根据需要进行调整。

函数(3)中的第一个想用于约束估计的顶点?#24674;?#36319;步骤6)中得到的局部正交标价
里面向量的偏差,具体为:


其中egj=-lgju,eji=lji(cosβu-sinβv),eig=lig(cosαu+sinαv),α为三角面片上
边(g,j)和边(i,g)的夹角,而β为边(g,j)和边(j,i)的夹角;式中的u,v表示由步骤6)估计
的对应三角面片上的局部正交标价ζ=(u,v,n)上对应的向量。

优化函数(3)之后就可以获得三角网格模型的所有点的?#24674;茫?#21363;重构出编辑过后
具有新的姿态的三角网格模型。

本发明与现有?#38469;?#30456;比,具有如下优点与有益效果:

1、更好的局部性,这主要体现在对三角网格刚性变形区域的定位。相对于Huang等
人提出的在变形梯度空间上进行稀疏局部分解来获取形状基的方法(这里称为DG方法),本
发明在处理发生旋转运动区域的定位上具有更好的局部性。当网格模型绕着一个关节点进
行刚性旋转运动时,由于临近关节区域的边对应的LA值才会发生大的变化,而其他不在关
节点附近区域的边的LA值变化不大,所以本发明很很好地捕捉到这个变化的区域,这?#37096;?br />以更好的生成对应的LA基,从而使通过编辑生成的新的三角网格模型更准确,更能应对绕
着关节运动的变形。而这一点DG方法却不能很好地处理。

2、适用于大范围旋转运动变形。由于变形梯度的计算是相互独立的,而且变形梯
度所所适应的旋转运动的角度只能是在[0,π)之间,所以当运动三角网格模型中的三角面
片绕着关节点旋转运动,旋转的角度大于π时,DG方法将无法进行具有较大旋转角度变形中
形状基的提取。而本发明中是用的LA值表示的是相邻三角形间的相对旋转角度,而这个旋
转角度总是小于2π,因此,本发明可以很好地从具有大范围旋转运动的三角网格序列中捕
捉到发生运动的区域(即提取LA基)。

3、适用于全局旋转。虽然全局旋转运动跟姿态变形不是很相关,但是,一个稀疏局
部分解也应该可以处理这种情况。由于本发明中是对LA值残差的稀疏局部分解,而LA具有
局部性,因此,当三角网格模型发生全局旋转运动时,例如,马的整个网格模型绕着一条轴
做全局旋转运动而非自身姿态发生变?#38382;保?#39532;的三角网格模型在姿态上基本不会发生变
化,而三角网格模型中所对应的LA向量也不会发生太大变化,因此可以重构出合理的模型。
而其他方法,比如DG方法,由于变形梯度(DG)?#35272;?#20110;全局旋转变化,因此在模型发生全局旋
转变化时,DG的变化非常大,这将导致不合理的变形。

4、具有很好的鲁棒性。这主要包括三角网格模型中个顶点的连接关系具?#26032;?#37030;性
和对LA基对应的区域大小的选择具?#26032;?#26834;性。本发明在处理三角面片中顶点的连接关系
时,设计了一个连接映射算法,这个算法可以很好地保持顶点间的连接关系。因此,在重构
经过大范围编辑后的三角网格模型姿态时,在顶点的连接关系上具有很好的鲁棒性。在本
发明的实验结果中,对LA基对应的区域大小的选择都能很好地定位到变形的区域,且具有
很好的局部性。

附图说明

图1为本发明的算法流程图。

图2为本发明中三角网格模型里三角面片的结构,其中的局部正交标价以及二面
角。

图3为本发明对做局部旋转运动三角网格模型进行LA基提取后,LA基所控制的区
域可视化示意图。其中的图(a)是对进?#22411;?#26354;变形的铁杆模型提取LA基的结果,提取的LA基
很好的定位到了弯曲的部位,而其他为变形的刚性部位则不需要进行额外的处理;图(b)在
对尾部发生旋转变形的马的三角网格模型提取LA基的结果,提取的LA基定位到了尾?#36879;?#37096;
发生旋转的区域;图(c) 是对运动的机器人进行LA基提取的结果,提取的结果定位到了发
生旋转运动的手边的肘部;图(d)是对面部表情发生变化的脸部模型进行LA基提取的结果,
提取的结果也能很好地定位到发生变形的部位。

图4为本发明在进行连接关系的恢复过程中的结构示意图,图(a)建立的局部坐标
系以及三角面片上各个顶点的分?#35760;?#20917;示意图,图(b)、(c)、(d)是LA值经过编辑之后,三边
长度?#29615;?#21512;三角形不等式的情况示意图,其中图(b)表示lgj≥lji+lig的情况,图(c)表示lji
≥lgj+lig的情况,图(d)表示lig≥lgj+lji的情况。

图5为本发明在估算三角面片的顶点坐标时的示例。

图6为本发明对运动序列LA基提取的结果以及对姿态的编辑结果。

图7为本发明对脸部三角网格模型LA基的提取结果以及表情的编辑结果

图8位本发明对全局旋转运动的处理结果以及DG方法的处理结果。其中右边的两
行中,每一列表示的是对大约相似的区域形状基的处理结果,第一个行为DG方法的结果,第
二行为本发明结果。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

如图1所示,本实施例所述的关节运动感知的稀疏局部分解及重构算法,包括以下
步骤:

1)计算三角网格中边的长度和边对应的二面角大小(这两个值记为LA)

给定一系列具有不同姿态的动态三角形网格序列这些模型都具有相同的拓?#31169;?br />构,先分别计算各个三角网格模型上各条边的长度以及边所对应的二面角大小;

2)计算各个三角网格模型LA向量的残差

对步骤1)中得到的一个三角网格模型上各条边对应的LA按照边的顺序排列构成
一个LA向量,计算出各个三角网格模型的LA向量,分别与参考三角网格模型的LA向量做差,
等到对应的LA向量残差;

3)提取LA基

对步骤2)中得到的各个模型的LA向量残差进行稀疏局部分解,得到一组可以捕捉
到关节局部运动的LA基,每一个LA基控制着着三角网格模型上的一块区域形状;

4)线性混合LA基获得新的LA向量

对步骤3)中得到的可以捕捉到关节局部运动的LA基,编辑对应的?#38382;?#33719;得新的
LA向量残差,再与参考三角网格模型的LA向量作和计算,获得新的LA向量;

5)恢复连接映射

对步骤4)中得到的新的LA向量进行各个三角面片上顶点的局部坐标值计算,获得
局部坐标系下面片上各个顶点的局部坐标值,进而恢复三角网格模型上各个三角面片的连
接映射;

6)估计局部正交标价

对步骤5)中得到的三角形面片的连接映射关系,再利用最小化标价重构函数来估
算出三角网格模型的局部正交标架;

7)重构三角网格

对步骤6)中得到的局正交标价,利用最小化重构函数来估计三角网格模型中各个
顶点的?#24674;茫?#20250;后获得具有新的姿态的三角网格模型。

在步骤1)中,所述的计算三角网格中边的长度和边对应的二面角大小(这两个值
记为LA),具体如下:假设为给定的具有不同姿态的三角网格模型数
据集,NP表示数据集中三角网格模型的个数,表?#38236;趉个三角网格模型。每个三角网格模
型表面都是由紧密相连的三角形构成。E和F分别表示三角网格模型中的边集合和三角面片
集合,并且边的个数为NE,三角面片的个数为NF。这些三角网格模型具有相同的连接关系,即
所有的三角网格模型具有相同的边集合和三角面片集?#31232;?#22312;遍历三角面片上的顶点时,我
们是以逆时针的方向进?#23567;?br />

假设上的一条边e=(i,j)∈E,共用这条边的三角面片为τ=(j,h,i)和υ=(g,
j,i),括号内的字母为构成这个三角面片顶点标号,顺序为逆时针顺序,如图2所示。当从这
条公共边的顶点vi走到vj时,三角形面片τ位于左手边,三角面片υ位于右手边,所以τ和υ分
别称为边(i,j)的左三角面片和右三角面片。计算e的长度时,使用的是两个顶点间的欧几
里德距离,即lij=||vj-vi||2。θ表示三角面片τ和υ向外方向的法线的夹角,即θ=acos(nτ·
nυ),其中nτ和nυ分别为三角面片τ和υ上方向向外方向的法线,则公共边对应的二面角定义


以上获得了一个LA值(lij,φij)。

对于数据集上所有的三角网格模型计算其各个条边上的LA值,并按照边的
编号顺序排列可以构成一个2NE列的向量即LA向量。

在步骤2)中,所述的计算各个三角网格模型的LA向量值残差,具体方法为:在步骤
1)中获得了各个三角网格模型的LA向量值构成的向量后,分别与第一个网格模型的LA值向
量作做差,得出LA向量值的残差向量,?#30784;?br />

在步骤3)中,所述的提取LA基,具体方式如下:

利用步骤2)中得到的LA向量残差,构建出一个2NE×Np的矩阵D=(D1,...,DNp)。将
矩阵D分解成D=C×W。其中矩阵C是一个2NE×K的LA基矩阵,矩阵中的每一列都表示LA形状
基,即矩阵中的每一列条都控制着三角网格模型中的一个区域的形?#30784;?#36825;里的K表示LA形状
基的个数,可以根据需要设定大小,设定K值即是将三角网格模型大致分成K个区域。而矩阵
是一个的权重矩阵,矩阵中的每一行表示一个混合权重序?#23567;?#20026;了便于对三角网格的姿态
进行编辑,需要尽可能地保持LA形状基的局部性,即各个LA形状基控制的区域之间混合部
分尽可能地少,并且需要归一化混合权重来消除由于缩放对姿态的影响。这里通过最小化
函数(1)来进行矩阵分解。



其中第一个能量项用来约束矩阵分解的误差,而第二个能
量项用于调整矩阵C中形状基的局部性,即各个形状基的大小范围。第二个能量项具体如
下:


其中Λik表示三角网格模型上的第i条边与第k条作为形状基中的边中点间的测地
线距离,具体定义如下:


其具体过程为:首先在三角网格模型上选择K条边作为K个形状基的中?#27169;?#31216;为中
心边,这里用Edge表示,edgek表?#38236;趉条中心边。用ei表示三角网格模型上的编号为i的边,
则上式中的dik表示ei和edgek中点的测地线距离归一化之后的结果,这里的归一化实际上
就是计算三角网格上边的中点与各个中心边中点的测地线距离,取出其中的最大值记为
dmax,然后将三角网格模型上的边计算出来的测地线距离处于这个最大值最后得到的值作
为归一化之后的测地线距离。因此有dik≤1。rmin和rmax为支持的半?#24230;?#20540;范围为[0,1),其具
体值根据需求设定。

在整个分解过程中,ci,k表示矩阵C第i行第k列的数据,wkj表示矩阵W第k行第j列的
值;且有max{wk,j,k=1,...,K;j=1,...,NP}=1,即矩阵W中的所?#24615;?#32032;,最大值为1。在实
验中,η的值设为200。稀疏分解后得到的形状基的可视化结果如图3所示。

在步骤4)中,所述的线性混合LA基获取新的LA向量值,其具体方法为:在步骤3)中
获取的LA形状基矩阵之后,修改W矩阵中?#25105;?#19968;列的的数值,得到向量,然后矩阵C再与相
乘,得到一个新的LA向量值残差向量,最后与第一个三角网格模型(,即参考三角网格模型)
的LA向量值相加即可获得具有新的姿态的三角网格模型的LA向量值。即通过计算即可获取
新的LA向量值。

在步骤5)中,所述的恢复连接映射,其过程主要包括建立一个新的局部坐标系,通
过边的LA值计算得到一这条边为公共边的两个三角面片各个顶点的坐标,然后再计算各个
面片的在新的局部坐标系下的局部正交标价,最后通过两个面片的局部正交标架恢复其连
接映射关系具体过程如?#28388;?#36848;:

在从步骤4)中获取LA向量之后,我们可以对每一条边恢复其连接关系。假设边e=
(i,j)是左三角面片τ和右三角面片υ的公共边,且h,g分别为左右三角面片的第三个顶点,
即公共边e=(i,j)的左右三角面片分别为τ=(j,h,i),υ=(g,j,i)如图4所示。首先创建一
个坐标系(r,s,t),然后计算出两个三角面片各个顶点在这个坐标系下的坐标值。坐标系以
顶点vi作为坐标原点且顶点vj的坐标值为(lij,0,0),坐标系的t轴与三角面片υ向外方向的
法线同向。由于三角面片υ为公共边e=(i,j)的右三角面片,所以顶点vg的r坐标必定小于
0。所以可以计算vg的坐标分别为:


为了计算顶点vh的坐标值,我们首先假设顶点vh绕着公共边旋转展平后跟三角面
片υ共面的顶点vh',则类似的可以计算顶点vh'的坐标值为:


将顶点vh'绕着r坐标轴旋转φij-π后即可获得顶点vh的坐标轴。

在获得两个三角面片各个顶点的坐标轴之后,计算在上述过程中新建的局部坐标
系下的局部正交标价。局部正交标价的具体过程如下:

以三角面片τ为例,我们定义这个三角面片上的局部正交标价为ζτ=(uτ,vτ,nτ)其
中表示三角面片τ上从第一个顶点vi指向第二个顶点vj的单位向量;nτ为三角
面片向外的单位法线;vτ=nτ×uτ。以上三个单位向量就构成了ζτ3×3的矩阵结构。

同理可以求出三角面片υ上的局部正交标价ζυ。那么即为将其他坐标系下其他
坐标系下的坐标值转变成υ局部坐标系下表示的转换矩阵。三角面片上的局部正交标价如
图2所示。

在计算出以边e=(i,j)为公共边的两个三角面片的局部正交标价之后就可以计
算这公共边的连接映射Qij。Qij的定义如下:


至此,计算出了边e=(i,j)的连接映射,用类似的方式就可恢复所有边的连接映
射。

因为在进行LA基的编辑时,直接改变的是LA值,即直接改变了三角网格中的边长
度和边对应的三角形的二面角大小。这就有可能导致修改后的边长不满足三角形边长不等
式,即修改后的边有可能没办法构成三角面片。面对这些情况需要进行特殊处理:当lgj≥
lji+lig时(图4(b)所示),我们统一将边的长度lji和lig放大lgj/(lji+lig)倍,这样就有lgj=
lji+lig,这时候因为边(i,j)的方向跟边(g,j)的方向一致,所以边(g,j)的方向为(1,0,0);
同理,当lji≥lgj+lig时(图4(c)所示),边(g,j)的方向为(1,0,0),当lig≥lgj+lji时(图4(d)
所示),边(g,j)的方向为(-1,0,0)。

在步骤6)中,所述的估计局部正交标价,其主要方法如下:

假设为三角形网格中的边的集合,通过如下最小化函数(2)来估计出每个三角
面片的局部正交标架:



其中左边项为:


表示连接映射能量。

而函数(2)中的ζ1和分别表示需要估计的第一个三角面片的正交标价和给定的
第一个三角面片的正交标价,为了保证重构出来的刚性变换的三角网格具?#24418;?#19968;性,我们
需要给定第一个三角面片的局部正交标价;下标‘F’表示Frobenius范数;Qij为步骤5)中恢
复的链接映射。

步骤7)中,所述的重构三角网格主要就是计算新的三角网格模型各个顶点的位
置,具体过程如下:

在步骤6)中获取到局部正交标价之后,通过优化函数(3)来计算出三角网格中各
个顶点的?#24674;謾?br />

εER({vi,i∈I})=εEV({vi,i∈I})+εEC({vi,i∈I}) (3)

其中右边的项用于约束给定的固定点的?#24674;茫?#20854;具体为:


其中I*为给定固定的顶点的编号,为给定的固定顶点的?#24674;謾?#20026;了保证重构出来
的刚性变换的三角网格模型具?#24418;?#19968;性,我们需要固定一些点的?#24674;?#19981;变,固定点的数量
根据需要进行调整。

函数(3)中的第一个想用于约束估计的顶点?#24674;?#36319;步骤6)中得到的局部正交标价
里面向量的偏差,具体为:


其中egj=-lgju,eji=lji(cosβu-sinβv),eig=lig(cosαu+sinαv),α为三角面片上
边(g,j)和边(i,g)的夹角,而β为边(g,j)和边(j,i)的夹角(如图5所示);式中的u,v表示由
步骤6)估计的对应三角面片上的局部正交标价ζ=(u,v,n)上对应的向量。

优化函数(3)之后就可以获得三角网格模型的所有点的?#24674;茫?#21363;重构出编辑过后
具有新的姿态的三角网格模型。

本发明经过实验证明其可行性,能广泛应用于各种模型。图6展示的是本发明对LA
基定位以及对绕着节点进行旋转运动编辑的结果。其中图(a)为编辑其中的两个LA基,通过
改变控制这两个区域的LA基的混合权重?#38382;?#37325;新构造了一个具有新的姿态的三角网格模
型,直观上说就是将控制左边模型上半身区域的LA基的混合权重?#38382;?#36171;值跟控制中间模型
下半身区域的LA基的混合权重?#38382;?#32452;合起来,构成一个完整的混合权重?#38382;?#26368;后重构出
右边具有新的姿态的三角网格模型。图(b)也是类似的结果。而(c)则是通过改变混合权重
?#38382;?#20043;后重构出来的具有新的姿态的三角网格模型,这些姿态在原来的三角网格数据集中
是不存在的。图7展示的是对人脸三角网格模型的编辑效果,其中从左边数第一个三角网格
模型展示的是通过本发明提取的控制左边眼睛区域的LA基,第二个展示的是控制右边眼睛
区域的LA基,第三个展示的是控制左嘴角区域的LA基,最右边展示的是通过将控制这三个
LA基的混合权重?#38382;?#32452;合到一起构建出一个完整的混合权重?#38382;?#20043;后重构出来的三维网
格模型。从图中可以看到重构出来的三维网格模型左边眼睛的形状跟第一个模型的比较相
似,右边眼睛的形状跟第二个模型的比较相似,而左边嘴角的形状跟第三个模型的比较相
似。图8是以马的三角网格模型为例子展示了本发明对全局旋转运动处理的合理结果以及
DG方法处理的结果。实验中马的模型绕着一个圆进行奔跑运动。图中左边为原本没有进行
变形的模型,右边两行展示的是在对相同的基进行全局旋转编辑后得到的结果,第一个为
头部的变形,第二个为前腿的变形,第三个后腿的变形,实验表明,本发明在处理全局旋转
运动时,处理的结果更为合理。

以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范
围,故凡依本发明之形?#30784;?#21407;理所作的变化,均应涵盖在本发明的保护范围内。

关于本文
本文标题:一种关节运动感知的稀疏局部分解及重构算法.pdf
链接地址:http://www.pqiex.tw/p-6079610.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 福利彩票复式查询 江苏老11选5走势图 广东十一选五视频直播 博棋牌游戏官网 天津十一选五中奖规则· pk10怎么算冠军口诀 体彩排列五投注技巧 双彩网排列三走势图 江苏11选5三个月号码 pc蛋蛋开奖走势图北京