首页> 中国专利> 基于统计形状分析的三维人体头部三角网格模型建立方法

基于统计形状分析的三维人体头部三角网格模型建立方法

摘要

本发明公开了基于统计形状分析的三维人体头部三角网格模型建立方法,包括:i创建训练集,ii选取模板模型,iii模板模型分别对齐到每个头部点云模型,得到相应的同质头部三角网格模型,iv计算形状变换参数,v建立人体头部统计模型,vi通过形状系数和人体头部统计模型得到三维人体头部三角网格模型;或iv建立人体头部统计模型和回归模型,v通过回归模型和人体头部统计模型得到三维人体头部三角网格模型;或iv对形状变换参数采用流形上的插值方法得到三维人体头部三角网格模型。本发明利用三角形变换参数表示模型形状,在这种表示下,可以严格证明参数空间是光滑流形,利用流行上的统计分析方法能够建立更准确的统计模型。

著录项

  • 公开/公告号CN103544733A

    专利类型发明专利

  • 公开/公告日2014-01-29

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201310507960.2

  • 发明设计人 吴壮志;龚小华;

    申请日2013-10-24

  • 分类号G06T17/00;

  • 代理机构北京远大卓悦知识产权代理事务所(普通合伙);

  • 代理人史霞

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2024-02-19 22:05:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-16

    未缴年费专利权终止 IPC(主分类):G06T17/00 授权公告日:20170104 终止日期:20171024 申请日:20131024

    专利权的终止

  • 2017-01-04

    授权

    授权

  • 2014-03-12

    实质审查的生效 IPC(主分类):G06T17/00 申请日:20131024

    实质审查的生效

  • 2014-01-29

    公开

    公开

说明书

技术领域

本发明涉及基于统计形状分析的三维人体头部三角网格模型建立方法, 属于计算机辅助设计与制造和人机工程学领域。

背景技术

在计算机技术尤其是数字几何处理技术不断发展的今天,三维模型的合 成与编辑技术得到广泛应用,如极具真实感的各种虚拟场景,绚丽的三维影 视动画,计算机辅助几何设计等。三维人体头部模型的合成和编辑可以广泛 应用以下方面:虚拟人的生成,可以为三维虚拟场景的构成服务;网络试衣 中根据顾客自身的尺寸,生成与顾客头部外形一致的三维头部模型,对头面 部饰品如帽子、口罩等的展示;头面部器具的设计如头盔、面罩等,尤其在 军工厂品的设计与生产中能够发挥重要作用。因此,研究该方法不仅能够为 工业设计、人机工程、人类学、医学、服装标准设计等提供基础研究方法, 同时具有实际应用意义。

目前,世界上对三维形状的合成与编辑这项技术进行研究的主要是欧美 发达国家。基于统计形状建模的三维模型的合成与编辑方法是三维形状的合 成与编辑的方法之一。

到目前为止,基于统计形状建模的三维模型的合成与编辑方法的具体实 现方法有两种:

第一种是方法:针对待研究的形状,比如人体、某种动物、某种零件, 用扫描仪采集一组该形状的三维模型作为训练集,扫描的得到模型通常是三 维点云模型。首先,选定一个具有该形状的三维网格模型作为模板网格,通 过基于模板网格的网格变形方法,将该模板网格分别变形对齐到训练集中的 每个目标模型(使得变形后的模板网格模型的形状尽量与该训练集中的目标 模型的形状尽量接近),将变形后的模板网格作为该目标网格模型的同质网格 模型。对每个同质网格模型,按照网格顶点的编号顺序,用每个网格顶点的 三维空间坐标连接成一个高维列向量,用该向量作为该模型的参数表示。此 时,可以利用线性插值生成新的模型。接下来,利用PCA方法对所有模型的 高维向量集合进行统计分析,得到统计模型,该模型的自由变量是形状系数。 如果用该方法进行人体头部的合成与编辑具有如下缺点:1)实验结果表明, 人体头部坐标表示的参数空间也称为形状空间,并不是整个维数为3N的向 量空间(N是网格顶点个数),更合理的假设是将形状空间看作3N维向量空间 中的非线性流形,因此利用线性插值得到的新的点可能不在这个流形上,也 就是不对应一个人体头部形状,会产生不真实的人体头部模型。2)既然形状 空间具有流形结构,不能用欧氏距离准确流形上两点间的距离,应当用测地 距离;PCA分析是基于欧氏距离的统计分析方法,因此用PCA方法得出的统 计模型也不准确。3)该方法不能有效处理姿态变化丰富的三维形状,比如人 体、动物,不能模拟肌肉的非刚性变化,很大程度上阻碍了该方法的普适性。

第二种方法主要改进了第一种方法无法刻画待研究对象丰富姿态变化的 缺点。该方法也是基于模板网格的变形方法,将模板网格分别对齐到每个网 格模型得到该模型的同质网格模型。该方法利用优化问题求解一组最优变换 矩阵使得每个矩阵作用在模板网格模型上对应的网格上使得模板网格尽量逼 近目标网格模型。这组变换包括控制刚体变换的旋转矩阵,控制非刚体变换 的线性变换矩阵和控制形状变化的线性变换矩阵。前两种矩阵可以刻画三维 模型的姿态变化,最后一种变换能够刻画三维模型的形状变化,因此该方法 能够同时刻画三维模型的形状变化和姿态变化。最后,将变换矩阵按行或者 按列排列成高维向量,利用PCA方法建立统计模型。通过该统计模型能够生 成新的欧式变换矩阵,将该矩阵作用在模板网格模型上,同时在施加约束就 能生成具有新的形状的同类模型。该方法的缺点是,变换矩阵的自由度为9, 由于约束条件不够,不能获得唯一解,三类矩阵都需要通过求解优化问题得 出,求解过程复杂。同时利用PCA方法进行统计形状建模仍然不能建立精确 的统计模型。

发明内容

本发明设计开发了一种基于统计形状分析的三维人体头部三角网格模型 建立方法。

本发明提供的技术方案为:

基于统计形状分析的三维人体头部三角网格模型建立方法,包括:

S1、采集多个三维人体的头部点云模型作为训练集;

S2、选取一个三维人体头部三角网格模型作为模板模型,利用三角网格 变形技术,将模板模型分别与训练集中的每个头部点云模型对齐,得到与头 部点云模型数量相等的同质三角网格模型,其中,与一个头部点云模型对齐 后的模板模型为该头部点云模型的同质三角网格模型;

S3、计算每个同质三角网格模型相对于模板模型的形状变换参数;

S4、利用PGA方法,对形状变换参数进行统计分析,得到人体头部统计 模型;

S5、通过变换人体头部统计模型的形状系数,得到多组新形状变换参 数,通过任意一组新形状变换参数,得到一组新的顶点坐标,该组新顶点坐 标的连接方式,与模板模型的顶点连接方式一致,该组新顶点坐标连接后, 形成最终三维人体头部三角网格模型。

优选的是,所述的方法中,所述S2中,模板模型中的三角面的片数的数 量级为8000~12000。

优选的是,所述的方法中,所述S3中,形状变换参数包括:三角形的旋 转变换值、三角形的平面变换值和三角形的各向同性缩放变换值。

基于统计形状分析的三维人体头部三角网格模型建立方法,包括:

a、采集多个三维人体的头部点云模型作为训练集,并测量该多个人体的 头部尺寸参数;

b、选取一个三维人体头部三角网格模型作为模板模型,利用三角网格 变形技术,将模板模型分别与训练集中的每个头部点云模型对齐,得到与头 部点云模型数量相等的同质三角网格模型,其中,与一个头部点云模型对齐 后的模板模型为该头部点云模型的同质三角网格模型;

c、计算每个同质三角网格模型相对于模板模型的形状变换参数;

d、利用PGA方法,对形状变换参数进行统计分析,得到人体头部统计模 型,

利用线性回归分析拟合人体的头部尺寸参数和人体的头部形状系数,建 立关于头部尺寸参数和头部形状系数的回归模型;

e、任意一组人体的头部尺寸参数通过回归模型和人体头部统计模型, 得到一组新形状变换参数,通过该组新形状变换参数,得到一组新顶点坐 标,该组新顶点坐标的连接方式,与模板模型的顶点连接方式一致,该组新 顶点坐标连接后,形成最终三维人体头部三角网格模型。

优选的是,所述的方法中,所述a中,头部尺寸参数按照《中国男性飞 行员人体尺寸》中所规定的头部测量项目和标准测量。

优选的是,所述的方法中,所述b中,模板模型中的三角形的片数的数 量级为8000~12000。

优选的是,所述的方法中,所述c中,形状变换参数包括:三角形的旋 转变换值、三角形的平面变换值和三角形的各向同性缩放变换值。

基于统计形状分析的三维人体头部三角网格模型建立方法,包括:

步骤1、采集多个人的三维的头部点云模型作为训练集;

步骤2、选取一个三维人体头部三角网格模型作为模板模型,利用三角 网格变形技术,将模板模型分别与训练集中的每个头部点云模型对齐,得到 与头部点云模型数量相等的同质三角网格模型,其中,与一个头部点云模型 对齐后的模板模型为该头部点云模型的同质三角网格模型;

步骤3、计算每个同质三角网格模型相对于模板模型的形状变换参数;

步骤4、通过对形状变换参数采用流形上的插值方法,得到多组新的形 状变换参数,通过任意一组新形状变换参数,得到一组新顶点坐标,该组新 顶点坐标的连接方式,与模板模型的顶点连接方式一致,该组新顶点坐标连 接后,形成一个最终三维人体头部三角网格模型。

优选的是,所述的方法中,所述步骤2中,模板模型中的三角形的片数 的数量级为8000~12000。

优选的是,所述的方法中,所述步骤3中,形状变换参数包括:三角形 的旋转变换值、三角形的平面变换值和三角形的各向同性缩放变换值。

本发明所述的基于统计形状分析的三维人体头部三角网格模型建立方 法,相对于传统的基于统计形状建模的模型合成与编辑方法,本方法克服了 传统方法的主要缺陷:(1)基于模板模型的同质三角网格模型生成方法能够快 速高效地建立训练集模型间的稠密对应关系,并且该基于模板模型的同质三 角网格模型生成方法克服网格变形的折叠问题,使得生成模型更光滑,更逼 近原始扫描模型;(2)具有姿态变换的三维模型应用场合十分普遍,比如人体 模型、动物模型等等。传统方法对具有姿态变化的三维模型处理起来很麻烦, 例如对人体模型而言,需要被测量者在接受扫描时采用标准姿态,训练集中 的所有三维人体模型都处于这种标准姿态下。通过统计形状建模建立的统计 模型描述的是人体处于这种标准姿态下的形状变化,通过统计模型合成的新 的人体模型也具有这种姿态,如果要改变模型的姿态,在合成新模型之后需 要通过其他途径改变模型姿态,这种思路比较复杂。另外,利用传统的线性 变换矩阵虽然能够描述模型的非刚性变化,但是这类矩阵的自由度为9甚至 更高,不能精确求解,需要通过求解复杂的优化问题得到,真个过程繁杂, 计算量大。本发明通过一组三角形的形状变换参数描述模型的非刚性变化, 这种参数化方法能够刻画三维模型的姿态变化,同时比传统的利用欧式变换 刻画姿态的方法更准确,形状变换参数的计算更简洁;(3)传统的方法不论是 利用模型所有顶点的三维坐标组成的高维向量表示模型形状,或者通过欧式 变换参数表示模型形状,都基于这样一个假设:模型的形状空间是整个向量 空间,利用向量空间中的线性插值方法生成新的模型并且利用向量空间中的 主成分分析方法。但实际上实验表明,在这两种表示方式之下,模型的参数 空间都具有流行结构,判断基于以下事实:对两个模型利用向量空间中的线 性插值并不总能生成具有合理形状的新模型。本发明利用三角形变换参数表 示模型形状,在这种表示下,可以严格证明参数空间是光滑流形,利用流行 上的统计分析方法能够建立更准确的统计模型。

附图说明

图1为本发明的流程图。

图2为本发明中生成同质三角网格的流程图。

图3为本发明中三角形的变换流程图。

具体实施方式

下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照 说明书文字能够据以实施。

实施例1:

如图1所示,基于统计形状分析的三维人体头部三角网格模型建立方法, 包括:

S1、采集多个三维人体的头部点云模型作为训练集,具体为:通过三维 扫描仪扫描多个人的头部,生成多个三维的头部点云模型,其中,被扫描者 接受扫描可以有两种姿势:(1)被扫描者挺胸抬头,两眼直视前方;(2)被 扫描者挺胸抬头,两眼自然闭合;且被扫描者的头部的枕后点、头顶点、左 眼眶点、右眼眶点、眉间点、颏下点,左耳屏点、右耳屏点贴上标识点,这 样做是为了可以很容易在被扫描出来的头部点云模型上得到这些点的位置, 利于下一步的控制点选取;

S2、选取一个三维人体头部三角网格模型作为模板模型,并且在该模板 模型上手工标记出枕后点、头顶点、左眼眶点、右眼眶点、眉间点、颏下点, 左耳屏点、右耳屏点,同时模板模型的所有顶点有相应的序号;利用三角网 格变形技术,将模板模型分别与训练集中的每个头部点云模型对齐,得到与 头部点云模型数量相等的同质三角网格模型,其中,与一个头部点云模型对 齐后的模板模型为该头部点云模型的同质三角网格模型,

具体为:

选取模板模型,这个模板模型是从网络下载或利用软件制作,该模板模 型具有三角网格顶点的空间坐标信息完整,顶点间连接关系明确,模板模型 外观上完整无空洞,表面光滑,三角面的片数量的数量级为10000,

将模板模型与训练集中每个头部点云模型对齐,与一个头部点云模型对 齐后的模板模型为该头部点云模型的同质三角网格模型,以下以训练集中任 意一个头部点云模型为例,该头部点云模型称为目标头部点云模型,对齐指 的是不断改变模板模型的形状,使得模板模型的形状不断逼近目标头部点云 模型的形状,完成变形后的模板模型作为这个目标头部点云模型的同质三角 网格模型,基于三角网格变形技术详细方法如下:

如图2所示,变形方法可以分为两个阶段:第一个阶段称为初始配准阶 段,因为同质三角网格模型是由模板模型变形而来的,所以任意一个同质三 角网格模型中的任意一个三角网格均在模板模型中存在一个与其对应的三角 网格,首先在模板模型上选取控制点,然后再在目标头部点云模型上与模板 模型的控制点位置一一对应的位置选取目标头部点云模型的控制点,本发明 需要60~70个控制点,控制点的选择方法如下,再利用控制点的拉普拉斯坐 标作为约束,使得模板模型上的控制点尽量接近目标头部点云模型上的对应 控制点,生成最小二乘网格;第二阶段称为精细配准阶段,利用第一阶段生 成的最小二乘网格作为初始网格,在该网格的对偶网格域上不断迭代进行精 细变形,使得模板模型的形状不断逼近目标头部点云模型的形状,最终得到 的同质三角网格模型的三角网格已经很好的对齐到目标头部点云模型的三角 网格,

控制点选择算法:

模板模型的控制点:

通过模板模型上的左右耳屏点和左或者右眼眶点决定眼耳平面;眼耳平 面作为X-Y平面,左右耳屏点中点为原点,Z轴过原点与X-Y平面垂直,建 立了X-Y-Z坐标系;分别通过模板模型上的鼻尖点、眉心点、枕后点、颏下 点和眼眶点作平行于眼耳平面的平面,分别用这些平面截取头部模型,每次 截取得到一些列轮廓点;每个截面与Z轴的交点作为中心,从决定该截面的 标识点(鼻尖点、眉心点、枕后点、眼眶点、颏下点)开始,逆时针每隔30 度在该截面截得的一些列轮廓点中取一个点,每个截面可以得到12个点,四 个平面一共得到60个控制点,在目标头部点云模型上对应的标识点处选取截 面,用相同的方法选取控制点,选取方法与选取模板模型的控制点的方法相 同;

基于三角网格变形技术,第一个阶段初始配准阶段的具体算法为:

目标头部点云模型T,模板模型S,最小二乘网格的SC,当模板模型与目标 头部点云模型对齐时,

一组对应点集C={s1,s2,...,sk},q={vs1t,vs2t,...,vskt}

指定T和S上有k个对应点,T上为控制点的下标集合C={s1,s2,...,sk),S上 为控制点的坐标集合求解模板模型S的拉普拉斯矩阵L以 及拉普拉斯坐标δ,具体计算如下:

对于一个合格的模板模型我们知道它的顶点集V={v1,v2,...vN}中每个 顶点的三维坐标信息,也知道顶点间的连接关系,用E表示网格模型中所有 边的集合,对于模板模型的三角网格中任意一点在笛卡尔坐标系下表示为 vi={xi,yi,zi}其微分坐标或称为δ坐标,可以线性表示为其绝对坐标与其 直接邻域内顶点质心坐标的差:

δi={δix,δiy,δiz}=ΣjN(i)ωij(vi-vj)

其中,N(i)=(j|(i,j)∈E),ωij为以vi为顶点的边的权值,满足 Σj∈N(i)ωij=1,我们这里取Unit权Laplacian坐标,即取di=|N(i)| 为顶点的度或阶,L为如下n×n矩阵:Lij=1i=j-1di(i,j)E0otherwise,n为模板模 型的顶点数,根据C构造控制点矩阵F,控制点矩阵F的构造方法如下: C={sl,s2,…,sk}为控制点的序号集合,Fij=1j=siC0otherwise,

构造(n+k)×n矩阵A=LF,以及b=δq,qi=vsit,i{1,...,k},即 控制点集合中第i个控制点(编号为si)的坐标,

分别求解Ax=bx,Ay=by,Az=bz得到新的坐标vn={xn,yn,zn),根据 新的坐标值更新模板模型S的几何信息得到SC

第二阶段精细配准阶段的具体算法为:

对于三角网格模型S(V,E,F),表示三角网格的顶点集合, 表示三角网格边的集合,F表示三角网格的三角形的集合, Nt表示三角网格中三角形的个数,三角形f1由顶点(vi,1,vi,2,vi,3} 构成。

S3、计算每个同质三角网格模型相对于模板模型的形状变换参数,同质 三角网格模型相对于模板模型的形状变换参数为一组三角形的形状变换参数 集,其中每组三角形的形状变换参数变化值包括:三角形的旋转变换值、三角 形的平面变换值和三角形的各向同性缩放变换值,

具体为:

任意两个三维空间中的三角形之间可以通过依次运用三种变换实现转 化:如图3所示,三角形的旋转变换值R,三角形的各向同性缩放变换值S, 三角形的平面变换值A,同质三角网格模型中每个三角形相对于模板模型中 对应三角形可以通过以上三种变换实现转化,具体实现方法如下所述:

令有序三元组(v0,v1,v2)表示一个非退化三角形,既满足三角形三个内角 和为180度,两边之和大于第三边两条公里的三角形,(v0,v1,v2)是该三角形 的三个顶点,那么我们就可以用由该三角形的边作为列向量形成的矩阵表示 这个三角形:

一般线性群就是元素为可逆方阵的集合,在这个集合上定义二元运算为 矩阵乘法,逆运算为矩阵的逆运算,那么就形成群的结构,我们将该集合中 可逆方阵的大小称为一般线性群的度,令GL(n)表示度为n的一般线性群,即 GL(n)中的元素都是大小为n×n的可逆方阵,

GA=Δ{AGL(2):A[1,0]T=[1,0]T,detA>0},等价地, GA是GL(2)的子群,则三角形的平面内变 换值A可以由GA中的元素通过如下双射得到:

1U0V1U00V0001

三角形的旋转变换值R来自于这样的集合: SO(3)=Δ{RGL(3):RTR=I,det(R)=+1},SO(3)是度为3的特殊正交群, 是GL(3)的子群,

三角形的各向同性缩放值S来自于集合在上定义二元运算 为实数乘法,GS是GL(1)的子群,

形状变换参数的求解如下:

定义:如果一个三角形(v0,v1,v2)满足 (v0,v1,v2)=((0,0,0),(x1,0,0),(x2,y2,O)),且我们称 这样的三角形是规范三角形,

假设三角形X=[v1X,v2X]来自模板模型的三角网格,Y=[v1Y,v2Y]是同质 三角网格模型上与模板模型的对应三角网格,X,Y之间的转换可以通过以下 方法求解:

1)、任何一个空间三角形X通过旋转转化成规范三角形,旋转矩阵RX求解如 下:

通过旋转矩阵R,可以将X的边转化成R的构造方法如 下:

x=v1X

y′=x′×(0,0,1)T

z′=x′×y′

R=xTyTzT,满足Rv1X=||v1X||2(1,0,0),

求解出R之后,令Rv2X=(a,b,c)T,求矩阵t-sstbc=b2+c20

t=bb2+c2

s=-cb2+c2

那么,RX=1000t-s0stR,旋转矩阵RX的自由度为3

2)、对三角形X=[v1X,v2X],Y=[v1Y,v2Y]可以分别用1)中所述方法求得矩 阵RX和RY使得RXX=||v1X||a0b2+c200,RYY=||v1Y||d0e2+f200都是 规范三角形,则S是实数所以自由度为1

3)、SRXX=||v1Y||Sa0Sb2+c200,现在求解矩阵A=1U00V0001使得

ASRXX=RYY,求解得到

U=d-SaSb2+c2

V=e2+f2Sb2+c2

A的自由度为2

根据以上步骤1)、2)和3),对于任意两个三角形X=[v1X,v2X],Y=[v1Y,v2Y],X来自模板模型,Y来自某个同质三角网格模型且与X对应,有

RYY=ASRXXY=RYTASRXX=RYTRXRXTASRXX=RRXTASRXX,其中

R=RYTRX,自由度为3,综上所述,每对三角形之间的形状变换参数为R, A,S,其中参数A本来是1U00V0001形式的矩阵,这里通过双射

1U0V1U00V0001映射成1U0V仍记为A,

由以上求解过程可以看出,给定三角形X、Y,对三角形的形状变换参数 R、A、S能够通过代数运算很容易地求出精确解,是三角形X、Y 对应的变换矩阵,自由度为6,这种表示方式的自由度比传统方法低,且 det(Q)>0,滤除了传统方法中det(Q)<o的情况,这种情况没有实际的物理 意义,可能破坏模型的形状;

SO(3),GA,GS分别都是一般线性群,由于一般线性群都是李群,因此, SO(3),GA,GS分别都是李群,

定义GT=Δ{(R,A,S):RSO(3),AGA,SGS},在GT上定义二元运算 逆运算, GT-1GT,(R,A,S)-1(R-1,A-1,S-1),则GT是群。另一方面,李群的直积 仍是李群,GT构成李群,称之为三角变换群,每个GT的元素与矩阵可以通过 如下映射转化(R,A,S)R03×203×102×3A02×101×301×2S,

转化后得到的矩阵的集合,与集合上定义的矩阵乘法构成矩阵群;假设 每个同质三角网格模型中的三角形个数为Nt,可以很容易通过直积的形式表 示同质三角网格模型变换的李群结构:李群M上的每个点 代表一个具有真实外观的同质三角网格模型相对 于我们选定的模板模型三角网格模型的一组三角形变换参数的集合,下文中 我们称为形状变换参数;

S4、利用PGA方法,对形状变换参数进行统计分析,得到人体头部统计 模型;应用PGA方法进行统计分析经过以下两个步骤:

(1)、计算内蕴均值

假定流形M被赋予了黎曼度量(Riemannia metric),Xl,X2,...,XN是流形M 上的点,内蕴均值(intrinsic mean)是以下优化问题的解:

μ=argminqMΣi=1Nd(xi,q)2

其中表示M上的测地距离

计算内蕴均值的算法如下:

算法2输入和算法1一致的,都是每个同质三角网格模型的形状参数化表示,

算法2计算内蕴均值利用算法1行计算,需要注意的是:

该算法在计算矩阵S时,Log运算在下述实施例3中的步骤4给出,由李群 和李代数的知识可知,ui具有形式:{gi,j}j=1Nt,i∈{1,2...,n},gi,j=Δ(ri,ai,si)j其中,

sigs=Δexp-1(GS),riso(3)=Δexp-1(SO(3)),aigA=Δexp-1(GA)( 在下述实施例3中的步骤4详细给出) ri具有如下形式0-u3u2u30-u1-u2u10,ai具有如下形式0u0v,si是一个实数 我们将每个gi,j,j=1,…,Nt由(ri,ai,si)j形式转化为(u1,u2,u3,u,v,si)T的一个 6维向量,整个ui就是一个6Nt维向量,S矩阵的特征向量同样是一个6Nt维 向量{(v1,v2,v3,v4,v5,v6)Ti,j}j=1Nt

建立的人体头部统计模型如下:

H=μexp(Σk=1lakvk)

其中(α1,α2,...,αl}表示形状系数,最终利用人体头部统计模型生成新的三角 形变换参数时是一个6Nt维向量{(v1,v2,v3,v4,v5,v6)Tj}j=1Nt,需要 将每个(v1,v2,v3,v4,v5,v6)Tj转化成(ri,ai,si)j

ri=0-v3v2v30-v1-v2v10

ai=0v40v5

Si=v6

exp的计算方法在下述实施例3中的步骤4中给出;

S5、通过变换人体头部统计模型的形状系数,得到多组新的形状变换参 数,通过任意一组新的形状变换参数(求解该组新形状变换参数的优化问 题),得到一组新的顶点坐标,该组新顶点坐标的数目与模板模型相同,顶 点间的连接方式与模板模型的顶点连接方式一致,该组新顶点坐标连接后, 形成最终三维人体头部三角网格模型,

对第k个形状系数αk从区间中采样,其中λk为PGA算法 中求解出来的第k个特征值;用这样的方法采样一组形状系数 αk,k=1,...,1,带入人体头部统计模型中即可获得一组新的形状变换参数, 为了得到真实的三维人体头部模型,需要用约束生成最终三维人体头部三角 网格模型:

形状变换参数是一个新的头部模型相对于选定的头部模板三角网格模型 的所有三角形变换的集合,将新的形状变换参数分别应用在模板模型中每个 对应的三角形上,但是这样做可能破坏模板模型的三角网格的拓扑结构,所 以需要对形变结果做约束:

argminy1,y2,...yNΣk=1NtΣj=2,3||(RRXTASRX)kv^k,j-(yk,j-yk,1)||2

y1,y2,...,yN是最终人体网格三维头部模型的三角网格的顶点坐标,N是 模板三角网格模型的顶点数,Nt是模板三角网格模型中三角形的个数,顶点 间的连接关系与模板模型的三角网格一致,k取遍所有三角形,其中

是第k个三角形对应的形状变换参数RX,A,S,(v1,v2,...,vN)表示模板三角网格模型的顶点集合,表示模板 模型中第k个三角形的一条边(没个三角形考虑两条边 vk,2-vk,1,vk,3-vk,1),yk,j-yk,1]表示目标三角网格模型中对应三角形的对 应边。

该优化问题的解(即将一组新的形状变换参数转换为一组新的坐标):

这个优化问题可以用最小二乘法求解,我们需要把优化问题写成矩阵形 式:

假设最终三维人体头部三角网格模型一共有Nt个三角形,每个三角形都 对应相应的形状变换参数是一个3×3的矩阵,这组新的形状变换参 数可以用上述方法可以计算出来,记为矩阵Ti,i=1,…,Nt

模板模型的拓扑关系是已知的,所以模板模型中的每个三角形以及每个 三角形由哪三个顶点构成也知道,将模板模型的顶点记为(x1,x2,...,xN),每个 xi是一个1×3的向量即顶点xi的坐标值,V^=v^1,1v^1,2v^2,1v^2,2...v^Nt,1v^Nt,2表示模板模型中每个 三角形中我们关心的两条边组成的矩阵;和模板模型的顶点x1,x2,...,xN的 运算关系如下:

Ax1x2...xN=V^

V^=v^1,1v^1,2v^2,1v^2,2...v^Nt,1v^Nt,2是2Ntx3的矩阵,是3x1向量,是第k个三角形的 第j条边,k=1,2…,N,j=1,2。

A是2Nt×N的矩阵,形式如下-110...0-101...0...............000...1,A矩阵的行从上 往下每两行对应一个三角形:比如第2i-1行和第2i行对它第i个三角形, 加入第i个三角形由顶点xj,xk,xl构成,我们用xk-xj,xl-xj两条边表示 第i个三角形,那么矩阵A的第2i一l行的第j列元素为-1,第k列元素为1, 该列的其他元素都为0;A的第2i列的第j列元素为-1,第l列元素为1,该 列的其他元素都为0;

T为对角分块矩阵,具有形似

,其中Ti是3×3的矩阵也就是第i个三角形对应的变换矩阵,其求解方 法如下:

V^=v^1,1v^1,2v^2,1v^2,2...v^Nt,1v^Nt,2改写成V^=v^1,1Tv^1,2Tv^2,1Tv^2,2T......v^Nt,1Tv^Nt,2T,是3Nt×2的矩阵 同理,令y1,y2,...yN表示最终人体网格三维头部模型的顶点,每个yt是 一个1x3的向量即顶点xi的坐标值,表示模板模型中每个三角形中我们关 心的两条边组成的矩阵 Y^=Ay1y2...yN=y^1,1y^1,2y^2,1y^2,2...y^Nt,1y^Nt,2Y^=y^1,1Ty^1,2Ty^2,1Ty^2,2T......y^Nt,1Ty^Nt,2T

上面的优化问题可以改写成

argminy1,y2,...,yN||TV^-Y^||F2

该问题很容易用最小二乘法解出最优解自然也得到 V^=v^1,1v^1,2v^2,1v^2,2...v^Nt,1v^Nt,2,即每个最终三维人体头部三角网格模型的三角形两条边的集 合组成的向量;对于第i个三角形,假设由顶点xj,xk,xl构成,我们用xk-xj, xl-xj两条边表示第i个三角形,则y^i,1=yk-yj,y^i,2=yl-yj;由于最终人 体网格三维头部模型顶点间的连接关系和模板模型一致,那么,令最终三维 人体头部三角网格模型1号顶点的坐标等于模板模型中对应1号顶点的坐标, 即y1=x1,这样我们能够通过每个三角形的顶点的编号、顶点间的连接关系 和边向量求出其它所有顶点的坐标(比如,第一个三角形由顶点 y1,y2,y3构戊,两条边分别是y2-y1,y3-x1,由y1=x1,我们可以求出 y2,y3,假设y2在也第二个三角形中,该三角形由y5,y2,y6构成,我们已经求 得y^2,1=y2-y5,y^2,2=y6-y5,那么我们可以求出y5,y6,利用这些新求得 的坐标又出其所在三角形其它顶点的坐标,如此继续下去就能求出最终人体 网格三维头部模型的所有顶点的坐标);1号顶点的坐标不同对整个模板模型 的影响就是使得整个模板模型发生空间上的位移,并不会对模板模型的形状 造成影响,因此我们就指定它为模板模型中1号顶点的坐标。

实施例2:

如图1所示,基于统计形状分析的三维人体头部三角网格模型建立方法, 包括:

a、采集多个三维人体的头部点云模型作为训练集(与实施例1的求解方 法相同),并测量该多个人体的头部尺寸参数,通过手动测量;

b、选取一个三维人体头部三角网格模型作为模板模型,利用三角网格 变形技术,将模板模型分别与训练集中的每个头部点云模型对齐,得到与头 部点云模型数量相等的同质三角网格模型,其中,与一个头部点云模型对齐 后的模板模型为该头部点云模型的同质三角网格模型,与实施例1的求解方 法相同;

c、计算每个同质三角网格模型相对于模板模型的形状变换参数,其中形 状变换参数变化值包括:三角形的旋转变换值、三角形的平面变换值和三角 形的各向同性缩放变换值,与实施例1的求解方法相同;

d、利用PGA方法,对形状变换参数进行统计分析,得到人体头部统计 模型,与实施例1的求解方法相同,利用线性回归分析拟合人体的头部尺寸 参数和人体的头部形状系数,建立关于头部尺寸参数和头部形状系数的回归 模型,

常用的头部尺寸参数可以采用GJB4856-2003《中国男性飞行员人体尺 寸》中规定的前52个测量项,

用向量S=(S1,S2,...,s52)T表示头部尺寸参数,其中Si表示一个某个头部测 量项的数值,α=(α1,α2,...,αl)T表示头部形状系数,

假定头部尺寸参数和头部形状系数之间存在线性关系,

α=As

对于训练集中的每个头部点云模型对应的头部同质网格模型(共n个),我们需 要求出其形状系数αi=(α1i,α2i,...,αli)T,求解方法如下:(1)利用实施例1 中步骤S3的方法求出该模型的变换参数表示{gi,j}j=1NtM,i{1,2...,n},gi,j=Δ(Ri,Ai,Si)j(2)利用实施例1中步骤S4的说明,将步骤 (1)中求出的变换参数表示转换成向量形式(6Nt维 的列向量)(3)利用实施例1中步骤S4中PGA算法求出的特征向量v1,v2,...,vl(每个都是6Nt的列向量),αki=vjT·{(u1,u2,u3,u,v,si)i,jY}j=1Nt,k=1,2,...1。 用以上方法求出了每个头部点云模型的形状系数αi,得到矩阵 B=(α12,...,αn)另外,在步骤a中,每个头部点云模型i(i=1,2,...,n)对应 的头部尺寸参数由人工手动测量令S=(s1,s2,...sn),最 终有B=AS,那么系数矩阵A的求解可以用最小二乘法求解A=BS+,S+表示 矩阵S的伪逆;

e、任意一组人体的头部尺寸参数通过回归模型和人体头部统计模型, 得到一组新形状变换参数,通过该组新形状变换参数(求解该组新形状变换 参数的优化问题),得到一组新顶点坐标,该组新顶点数量与模板模型一 致,顶点间的连接方式与模板模型的顶点间连接方式一致,该组新顶点坐标 连接后,形成最终三维人体头部三角网格模型,

对一个特定的待测人体的头部,手工测量所有头部测量项,得到头部尺 寸向量S=(Sl,S2,...,S52)T,利用d中的回归模型A可以求得对应的头部形状 系数α=As,再将头部形状系数带入人体头部统计模型 就能生成待测人体头部在形状空间中的流形表示,这 个表示就是该待测人体的头部对应的同质三角网格模型中所有三角形相对于 模板模型的三角网格中对应三角型的形状变换参数的集合,求解以下优化问 题,其中都已知,y1,y2,...,yN是待测人体的头部同质 三角网格模型定点坐标,顶点间的连接关系与模板模型的三角网格一致,

argminy1,y2,...yNΣk=1NtΣj=2,3||(RRXTASRX)kv^k,j-(yk,j-yk,1)||2

最后能够生成具有一个特定的待测人体的头部的人体网格三维头部模 型,即形成最终三维人体头部三角网格模型,实现人体头部测量数据驱动的 特定形状的人体头部模型合成。该优化问题的求解方法在实施例1的步骤S5 中给出。

实施例3:

如图1所示,基于统计形状分析的三维人体头部三角网格模型建立方法, 包括:

步骤1、采集多个人的三维的头部点云模型作为训练集,与实施例1的 求解方法相同;

步骤2、选取一个三维人体头部三角网格模型作为模板模型,利用三角 网格变形技术,将模板模型分别与训练集中的每个头部点云模型对齐,得到 与头部点云模型数量相等的同质三角网格模型,其中,与一个头部点云模型 对齐后的模板模型为该头部点云模型的同质三角网格模型,与实施例1的求 解方法相同;

步骤3、计算每个同质三角网格模型相对于模板模型的形状变换参数, 其中,形状变换参数变化值包括:三角形的旋转变换值、三角形的平面变换 值和三角形的各向同性缩放变换值,与实施例1的求解方法相同;

步骤4、通过对形状变换参数的流形上插值,得到多组新的形状变换参 数,通过任意一组形状变换参数(求解该组新形状变换参数的优化问题),得 到一组新顶点坐标,该组新顶点坐标的连接方式,与模板模型的顶点连接方 式一致,该组新顶点坐标连接后,形成一个最终三维人体头部三角网格模型。

具体为:

由于形状变换参数空间具有流行结构,可以利用流形上的插值通过任意 一个同质三角网格模型和模板模型,生成形状介于这两个模型之间的新的人 体网格三维头部模型,其中这两个模型流形上的插值可以通过以下方法:

设Pl,P2∈M,那么p1,p2之间测地线上的点有以下表示形式:

p(t)=p1exp(tlog(p1-1p2)),t∈[0,1],p(0)p1,p(1)=p2

假设N表示同质三角网格模型中三角形的个数

p1表示为,g1,j=(Rl,A1,S1)j

p2表示为g2,j=(R2,A2,S2)j

p1-1p2={R1-1R2,A1-1A2,S1S2}j=1N

插值公式中log和exp表示两个映射,非线性光滑流形M上某点u处的 切空间表示为TuM,是一个向量空间,

exp映射将该向量空间的向量映射到M上以u为起点的测地线上的一点 p,log映射是exp映射的逆映射,

假设p∈M,p表示为{gi,j}j=1NM,i∈{1,2...,K},gij=Δ(Ri,Ai,Si)jlog(p)={(log(Ri),log(Ai),log(Si))j}j=1N,由于Si正数,log(Si)就是log函数,

log(Ai)求解方法如下:

A具有形式的矩阵,则log(A)满足exp(log(A))=A 具有形式0u0v,可以由矩阵的级数公式进行验证,

已知矩阵A求矩阵a=log(A):已知矩阵A则已知U,V,令v=log(V)。 如果V=1,则令u=U。否则,令u=Uv/(V-1)。

已知矩阵a二log(A)求矩阵A,已知u,v

若v=0,则

exp(log(A))=exp(0u00)=I+0u00=1u01

若V≠0,则

exp(log(A))=exp(0u0v)=1uv(ev-1)0ev,

log(R)的求解方法如下:

已知R=r11r12r13r21r22r23r31r32r33

||μ||=cos-1(trace(R)-12)

μ||μ||=μ2sin(||μ||)r32-r23r13-r31r21-r12,μ=μ||μ||2sin(||μ||)r32-r23r13-t31r21-r12=u1u2u3

r=log(R)=u^=0-u3u2u30-u1-u2u10

若已知μ=u1u2u3,u^=0-u3u2u30-u1-u2u10

R(μ)=exp(μ^)I+μ^||μ||sin(||μ^||)+μ^2||μ||2(1-cos(||μ||)),

假设p∈TuM,p表示为{gi,j}j=1NM,i∈{1,2...,k},gij=Δ(Ri,Ai,Si)j,

对于一个已知的同质三角网格模型和已知的人体模板模型,根据步骤3 可以求出任意一个同质三角网格模型相对于模板模型的形状变换参数集合p1和p2,参数选择不同的参数t,得到相应的插值点p(t),p(t)仍就是一组三角 形变换参数,为了得到真实的三维人体头部模型,需要用约束生成三角网格 模型:

argminy1,y2,...yNΣk=1NtΣj=2,3||(RRXTASRX)kv^k,j-(yk,j-yk,1)||2

y1,y2,...,yN是最终三维人体头部三角网格模型的顶点坐标,顶点间的连 接关系与模板模型网格一致,k取遍所有三角形,其中是第k个三 角形对应的形状变换参数RX,A,S,R=RYTRX.该优化问题的求解方法在实 施例1的步骤S5中给出。

本发明所述的基于统计形状分析的三维人体头部三角网格模型建立方 法,相对于传统的基于统计形状建模的模型合成与编辑方法,本方法克服了 传统方法的主要缺陷,具有如下优点:(1)基于模板模型的同质三角网格模型 生成方法能够快速高效地建立训练集模型间的稠密对应关系,采用两步配准 的方法,初始配准过程就是求解稀疏线性方程组,求解过程高效简洁,精细 配准过程在原始网格的对偶网格域上进行变形能够克服网格变形的折叠问 题,使得生成的同质三角网格模型光滑,逼近原始扫描模型,并且整个过程 在初始配准结果的基础上进行,提高了效率;(2)本发明通过一组三角形变换 参数描述模型的非刚性变化,这种参数化方法能够刻画三维模型的姿态变化, 并且一组三角形变换参数自由度为6,比传统的线性变换矩阵低,能够精确 求解,直接通过代数运算得到,因此形状变换参数的计算更简洁;另外,这 组三角型变换参数排除了传统方法中无意义的反射变换,避免因此产生不真 实的头部模型。(3)传统的方法都基于这样一个假设:模型的形状空间是整个 向量空间,利用向量空间中的线性插值方法生成新的模型并且利用向量空间 中的主成分分析方法进行统计形状分析。但实际上实验表明,在这两种表示 方式之下,模型的参数空间都具有流行结构,判断基于以下事实:对两个模 型利用向量空间中的线性插值并不总能生成具有合理形状的新模型。本发明 利用三角形变换参数表示模型形状,在这种表示下,可以严格证明参数空间 是光滑流形,利用流形上的插值方法和流形上的统计分析方法能够建立更准 确的统计模型,最后生成的头部模型更真实。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方 式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领 域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范 围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图 例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号