一种基于MVC的变形模型的快速骨骼恢复方法技术

技术编号:14701644 阅读:62 留言:0更新日期:2017-02-24 19:56
本发明专利技术公开了一种基于MVC的变形模型的快速骨骼恢复方法,其包括下述步骤:(1)对于每一个骨骼点,在原模型身上建立多个内部四面体将该骨骼点包裹在内,四面体的顶点交在模型表面的网格上;(2)利用三角形权重坐标算法,计算包裹骨骼点的四面体的四个点的相对于三角形的重心坐标,并计算骨骼点相对于四面体的MVC;记录四面体四个顶点对应的三角形ID和重心权重信息,以及MVC权重信息;(3)针对于变形后的模型,恢复对于每个骨骼点根据记录的三角形ID和重心权重首先恢复包裹它们四面体,然后根据记录骨骼点相对于四面体的MVC权重恢复骨骼信息;(4)针对于每个恢复的骨骼点根据多个记录的四面体恢复的值进行求平均,以保持鲁棒性。

【技术实现步骤摘要】

本专利技术涉及三维人体模型注册后运动骨骼恢复,具体为对于标准模型拟合点云模型后,将变形后的模型重新绑定骨骼。
技术介绍
针对于本
中的,变形后的模型需要恢复原有绑定的骨骼信息,目前主流的会有以下两个方案:1.是通过直接分析注册变形后的模型的网格信息来提取骨架线后,做一次重映射。缺点:这个方法比较耗时,而且当碰到模型不太规整的时候容易出现错误2.通过MeanValueCoordinate(MVC)预计算原始模型中各个骨骼点对于模型每个点的权重信息,然后在模型变形后重新利用各个点对于骨骼点的权重信息加权得到恢复后的骨骼点。缺点:这个方法计算也比较耗时,MVC算法本身计算比较复杂,需要对每个点都要进行权重计算,而且会因为物体本身网格不一定满足算法要求,会导致结果不稳定,或者错误。
技术实现思路
本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于MVC的变形模型的快速骨骼恢复方法,其利用变形后模型的网格拓扑未发生变化的特性,提供一种基于MeanValueCoordinate(MVC)算法的补充算法,可以很好的解决耗时和不稳定的问题。为了达到上述目的,本专利技术采用以下技术方案予以实现:一种基于MVC的变形模型的快速骨骼恢复方法,包括下述步骤:(1)对于每一个骨骼点,在原模型身上建立多个内部四面体将该骨骼点包裹在内,四面体的顶点交在模型表面的网格上;(2)利用三角形权重坐标算法,计算包裹骨骼点的四面体的四个点的相对于三角形的重心坐标,并计算骨骼点相对于四面体的MVC;记录四面体四个顶点对应的三角形ID和重心权重信息,以及MVC权重信息;(3)针对于变形后的模型,恢复对于每个骨骼点根据记录的三角形ID和重心权重首先恢复包裹它们四面体,然后根据记录骨骼点相对于四面体的MVC权重恢复骨骼信息;(4)针对于每个恢复的骨骼点根据多个记录的四面体恢复的值进行求平均,以保持鲁棒性。作为本专利技术的优选实施方式:所述原模型和模型均为人体模型;所述骨骼点的数量为138个。作为本专利技术的优选实施方式:所述步骤(1)中,对于单个骨骼点的处理过程为:对于骨骼点生成多个包裹它并且与原始几何网格相交的四面体;此步骤中,以骨骼点为起点,在三维空间中生成四条夹角互为120度角的射线与模型尝试求交,并要求四条射线的长度不能相差过大如最短的最多为最长的0.8倍,如不满足要求则随机旋转射线继续查找;所述步骤(2)中,对于单个骨骼点的处理过程为:对于生成的四面体,利用重心坐标公式,计算四面体四个点在对应的原始模型上的三角形面片上的重心坐标,公式参见如下公式:((xi,yi,zi)分别为三角形三个顶点的坐标),(x,y,z)为需要求重心坐标的点):λ3=1-λ1-λ2.四个点分别记录所在的三角形ID和重心坐标(i,λ1,λ2,λ3);利用MeanValueCoordinate算法计算骨骼点相对于包裹它的四面体的相对坐标,公式如下伪代码所示:这里的fi为顶点的坐标,p为四面体上的点;生成后,记录这个相对坐标为(w0,w1,w2,w3),对应四面体四个顶点;作为本专利技术的优选实施方式:所述步骤(3)中,对于每一个骨骼点的处理过程为:S100:恢复四面体,利用上述初始化阶段记录的四面体的四个点的信息(i,λ1,λ2,λ3),根据变形后拓扑不发生变化的特点,找到对应的三角形用对应的三角形新的顶点恢复四面体的四个顶点,下面公式中(V0,V1,V2)为对应三角形的点,P为我们最终求得的点;P=λ1*V0+λ2*V1+λ1*V2S200:恢复骨骼点,根据初始化阶段记录的相对坐标(w0,w1,w2,w3),根据下述公式可最终恢复骨骼点,p为四面体的顶点:V=∑iwipi作为本专利技术的优选实施方式:所述步骤(4)中,针对多个四面体的恢复过程为重复每个骨骼点单个四面体的恢复过程,最后取平均值即可。本专利技术有益效果是:一、恢复骨骼点较为健壮,可以精准的恢复骨骼点在新模型中的位置信息:(1)针对于MeanValueCoordinate算法本身需要加权的网格本身是闭合的,而四面体恰好满足要求,不受模型本身几何网格的限制。(2)针对四面体会更强的依赖于模型表面变形的几何网格的表面,为了防止部分表面变形过于夸张,本算法采用了单个骨骼节点用多个四面体来计算最后求平均的方法,保证健壮性。二、初始化操作更快,本专利技术只需要求求出骨骼点对应的四面体的的权重;相比于原有的应用MeanValueCoordinate技术方案,任意骨骼点都需要对全身所有Mesh点都要计算权重信息,并保存。本算法,针对于每个骨骼点只需要生成若干个四面体,然后仅计算四面体对于骨骼点的权重即可。附图说明图1为单个骨骼点生成四面体的结构示意图;图2为标准带骨骼的模型;图3为需要恢复的变形后的模型。具体实施方式下面结合附图及实施例描述本专利技术具体实施方式:本专利技术公开的一种基于MVC的变形模型的快速骨骼恢复方法,其包括下述步骤:(1)对于每一个骨骼节点,在原模型身上建立多个内部四面体将该骨骼点包裹在内,四面体的顶点交在模型表面的网格上;(2)利用三角形权重坐标算法,计算包裹骨骼点的四面体的四个点的相对于三角形的重心坐标,并计算骨骼点相对于四面体的MeanValueCoordinate(MVC);记录四面体四个顶点对应的三角形ID和重心权重信息,以及MVC权重信息;(3)针对于变形后的模型,恢复对于每个骨骼点根据记录的三角形ID和重心权重首先恢复包裹它们四面体,然后根据记录骨骼点相对于四面体的MVC权重恢复骨骼信息;(4)针对于每个恢复的骨骼点根据多个记录的四面体恢复的值进行求平均,以保持鲁棒性。综上,本专利技术的主要技术也是采用MeanValueCoordinate算法,但是与已有技术不同的地方在于我的算法流程里面不在对于每个三角面片计算他对每个骨骼点的权重信息,而是构建一些四面体来包含每个骨骼点,通过小的四面体来还原骨骼点在新模型里面的位置。而每个四面体本身的四个点是在网格面片表面的。图2为标准带骨骼的模型,图3为需要恢复的变形后的模型,图中的人体上的实心点为骨骼点,总共包含138个骨骼点。针对于每个骨骼点都采用上述算法来完成。对于单个骨骼点的详细实施方式如下:一、预处理阶段:S1:对于骨骼点生成多个包裹它并且与原始几何网格相交的四面体;此步骤中,以骨骼点为起点,在三维空间中生成四条夹角互为120度角的射线与模型尝试求交,并要求四条射线的长度不能相差过大如最短的最多为最长的0.8倍,如不满足要求则随机旋转射线继续查找;(参见图1)图1中由点1到8组成的一个mesh中,有一个蓝色的点为骨骼点,本专利技术以图1中的中心的圆圈点为中心构建一个顶点在mesh上,而将要计算的中心的圆圈点包含在内的四面体。这样,当mesh发生变形的时候,可以通过三角形重心坐标计算公式恢复四面体,然后再使用meanvaluecoordinate算法恢复内部的骨骼点。S2:对于生成的四面体,利用重心坐标公式,计算四面体四个点在对应的原始模型上的三角形面片上的重心坐标,公式参见如下公式:((xi,yi,zi)分别为三角形三个顶点的坐标),(x,y,z)为需要求重心坐标的点):λ3=1-λ1-λ2.四个点分别记录所在的三角形ID和重心坐标(i,λ1,λ2,本文档来自技高网...
一种基于MVC的变形模型的快速骨骼恢复方法

【技术保护点】
一种基于MVC的变形模型的快速骨骼恢复方法,包括下述步骤:(1)对于每一个骨骼点,在原模型身上建立多个内部四面体将该骨骼点包裹在内,四面体的顶点交在模型表面的网格上;(2)利用三角形权重坐标算法,计算包裹骨骼点的四面体的四个点的相对于三角形的重心坐标,并计算骨骼点相对于四面体的MVC;记录四面体四个顶点对应的三角形ID和重心权重信息,以及MVC权重信息;(3)针对于变形后的模型,恢复对于每个骨骼点根据记录的三角形ID和重心权重首先恢复包裹它们四面体,然后根据记录骨骼点相对于四面体的MVC权重恢复骨骼信息;(4)针对于每个恢复的骨骼点根据多个记录的四面体恢复的值进行求平均,以保持鲁棒性。

【技术特征摘要】
1.一种基于MVC的变形模型的快速骨骼恢复方法,包括下述步骤:(1)对于每一个骨骼点,在原模型身上建立多个内部四面体将该骨骼点包裹在内,四面体的顶点交在模型表面的网格上;(2)利用三角形权重坐标算法,计算包裹骨骼点的四面体的四个点的相对于三角形的重心坐标,并计算骨骼点相对于四面体的MVC;记录四面体四个顶点对应的三角形ID和重心权重信息,以及MVC权重信息;(3)针对于变形后的模型,恢复对于每个骨骼点根据记录的三角形ID和重心权重首先恢复包裹它们四面体,然后根据记录骨骼点相对于四面体的MVC权重恢复骨骼信息;(4)针对于每个恢复的骨骼点根据多个记录的四面体恢复的值进行求平均,以保持鲁棒性。2.如权利要求1所述的一种基于MVC的变形模型的快速骨骼恢复方法,其特征在于:所述原模型和模型均为人体模型;所述骨骼点的数量为138个。3.如权利要求1所述的一种基于MVC的变形模型的快速骨骼恢复方法,其特征在于:所述步骤(1)中,对于单个骨骼点的处理过程为:对于骨骼点生成多个包裹它并且与原始几何网格相交的四面体;此步骤中,以骨骼点为起点,在三维空间中生成四条夹角互为120度角的射线与模型尝试求交,并要求四条射线的长度不能相差过大如最短的最多为最长的0.8倍,如不满足要求则随机旋转射线继续查找;所述步骤(2)中,对于单个骨骼点的处理过程为:对于生成的四面体,利用重心坐标公式,计算四面体四个点在对...

【专利技术属性】
技术研发人员:杨少毅褚智威石裕隆
申请(专利权)人:西安蒜泥电子科技有限责任公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1