一种基于高度估计的浮雕提取方法与流程

文档序号:12127740阅读:294来源:国知局
一种基于高度估计的浮雕提取方法与流程

本发明涉及三维网格模型的分割技术领域,尤其是一种基于高度估计的浮雕提取方法。



背景技术:

浮雕作为一种艺术形式,具有极高艺术欣赏性,应用广泛。传统的浮雕制作周期长、生产效率低等,存在许多不足。因此,采用逆向工程方法重构出带有浮雕的物体三维模型,并利用计算机技术将三维浮雕模型呈现在屏幕中,从而能对浮雕进行分析、提取、再创作变得至关重要。

目前,有一批国内外的学者对于浮雕提取研究取得一些进展。其中有Zatzarinni等人提出浮雕细节是基曲面沿法矢量的凸起或凹陷,该方法粗略估计基曲面的法矢量,用共轭梯度法计算出每点高度后,使用高斯混合模型进行聚类分析,最后过滤出浮雕的细节。这种方法对浅浮雕的提取效果比较好,例如文物浮雕的提取,然而该方法只是大致估计基曲面的法矢量,会导致该法矢量的估计不够准确,影响到最终的浮雕提取效果。

Liu等人提出具有不同背景的浮雕提取,认为浮雕是附着于基曲面上的,因此浮雕的提取问题实质就是网格分割的问题,计算出网格的分割边界,从而提取出浮雕的细节。然而Liu等人提出的算法只适用于提取特殊的浮雕,例如重复性纹理的浮雕、光滑背景的浮雕,且无法实现自动提取,需要用户手动提供引导信息来提取浮雕,该算法在具体的应用中往往也都比较费时,时间性能比较低。



技术实现要素:

本发明的目的在于提供一种提取效果好、适用性更加广泛,能够完全实现自动化的提取浮雕细节,并且在时间性能上也有较大提升的基于高度估计的浮雕提取方法。

为实现上述目的,本发明采用了以下技术方案:一种基于高度估计的浮雕提取方法,该方法包括下列顺序的步骤:

(1)通过激光扫描设备获取数字化的浮雕数据M并输入计算机中;

(2)通过向量积的方法得到各个三角面片法矢量然后过滤该三角面片的法矢量从而获得基曲面法矢量

(3)在基曲面法矢量基础上,利用全局最小化的方法计算方程式Ah=dh,求出每一个顶点相对于基曲面的高度值h,该方程式中A表示稀疏矩阵,h表示三角网格上每个顶点相对于基曲面的高度值,dh表示三角网格上每条边投影到该边法矢量上距离;

(4)采用聚类技术分析高度值,自动化确定基曲面和浮雕细节的分割阀值,然后根据此阀值把步骤(1)中获得的浮雕数据M分割成两部分,即基曲面G和浮雕面R,且G∪R=M。

所述步骤(1)具体包括:

首先使用三维激光扫描设备,设置仪器扫描的范围、幅度、精度参数,完成浮雕模型的扫描,然后将三角网格浮雕模型输入计算机中;该三角网格浮雕模型表示为:M=(VM,EM,FM),其中,VM={vi|i=1,…,N(v)}是顶点集合,EM={ej|j=1,…,N(e)}是网格边集合,FM={fk|k=1,…,N(f)}是三角面片集合;vi是第i个顶点,ej是第j条边,fk是第k个面片;N(v)、N(e)、N(f)分别表示三角网格模型中顶点总数、边总数、面片总数。

所述步骤(2)具体包括以下步骤:

(2a)首先基于向量积计算出各个三角面片fk的法矢量计算公式如下:

其中,vi,vii,viii表示三角面片fk的三个顶点坐标,{x,y,z}表示一个三角面片的一个顶点分别在标准坐标系中轴坐标值;

(2b)然后对法矢量进行滤波,得到基曲面每个三角面片的法矢量计算公式如下:

其中,表示第k个三角面片fk的基曲面法矢量,NF(k)表示第k个三角面片的1-ring领域,表示三角面片的法矢量所占权重,表示三角面片的法矢量,其中权重函数定义为:

其中,0≤T≤1是由用户确定的参数,f(x)表示单调递增函数;权重函数表示邻近于法矢量的三角面片法矢量权重高,而远离法矢量的三角面片法矢量权重低,用于设置权重;

经过对步骤(2b)进行1≤n次迭代计算后,获得基曲面法矢量这里的迭代次数n是由用户确定。

所述步骤(3)具体包括以下步骤:

表面由光滑的基曲面和高度函数h:S→R两部分组成,高度函数表示基曲面B沿该法矢量方向到表面S的距离,因此,三角面片上每个顶点p∈S表示该基曲面的点b∈B和在点b上沿法矢量高度,如以下公式所示:

其中,基曲面B的曲率半径小于表面S曲率半径;

网格M是由与M相同拓扑结构的基曲面B和高度函数h:M→R表示,其中高度函数也可表示为h:B→R;给定一个已知高度h(p0)的参考点p0∈S,通过高度差dh(t)积分可以计算出每一个顶点高度p1∈S,即给定路径0≤t≤1,且p0=y(0),p1=y(1),则计算p1的高度h(p1)可描述为:

对于离散三角网格,上述连续顶点高度公式(5)将转换成离散顶点高度公式,则计算离散三角网格顶点vn的高度h(vn)的公式为:

其中,三角网格边高度为两相邻顶点(vi,vii)=ej∈EM投影到该边法矢量上的值,如以下计算等式:

其中,vi,vii表示相邻两顶点,表示相邻两顶点vi,vii法矢量的均值:因此根据公式(7)计算出三角网格每条边的高度,并以此初始化列向量dh

采用全局优化方法求解顶点高度函数,首先根据上述离散三角网格顶点的高度公式(6),计算三角网格任意一条边ej(vi,vii)∈EM的高度,如以下公式所示:

由于三角网格边集合为N(e),因此可得N(e)个计算网格边高度的方程式:

其中,令h(v0)=0,该方程式可转化为:

其中,A1、A2表示为矩阵;当在第j条边(i,ii)∈EM时,A1(j,i)=1和A2(j,ii)=1,当网格边为k=N(e)+1时,A1(k,1)=1;令A=A1-A2,以此作为初始化系数矩阵A;

最终,上述方程(10)转化为求解一个线性系统Ah=dh问题,利用共轭梯度法求解等式,求解出网格每个顶点对应的高度h。

所述步骤(4)具体包括:

分割网格M成两部分:基曲面和浮雕面且G∪R=M;设δ为网格分割阀值,则浮雕点集R为顶点高度h(vi)大于阀值δ的顶点集:R={vi∈VM|h(vi)>δ},否则为基曲面点集G={vi∈VM|h(vi)≤δ};

使用高斯混合模型对顶点高度h进行聚类分析,高斯混合模型是一种概率统计的模型,如下式表示:

其中,μi、σi、αi分别表示第i个单高斯模型的均值、标准差、权重,且α12=1;k表示高斯核的个数,即分类个数;由于是将网格分为浮雕点集和基曲面点集,故令k=2,并使用最大期望估计高斯混合模型的参数,从而确定出分割阀值δ={h|G1(h)=G2(h)};由分割阀值确定浮雕点集和基曲面点集,从而达到分割浮雕的目的。

由上述技术方案可知,本发明的优点在于:第一,针对现有算法对于基曲面法矢量估计不够准确问题,提出一种新颖的滤波器过滤原法矢量,获得更加准确的基曲面的法矢量;第二,针对现有的浮雕提取算法中存在缺乏自动性、效率低、适用性差等缺陷,提出一种基于高度估计的浮雕提取算法,该算法能自动确定基曲面和浮雕纹饰的分割阀值,从而分割出基曲面和浮雕纹理;第三,该算法具有较高的时效性,在时间性能上与其他算法相比大幅度提升;第四,同时也能较好的提取浮雕的细节特征;第五,该算法也具有较为广泛的适用性,对浅浮雕和高浮雕的提取都适用。

附图说明

图1为本发明的方法流程图;

图2为本发明中三角网格的示意图;

图3为本发明中对高度估计简要示意图;

图4为本发明中对连续网格的顶点高度估计图;

图5为本发明中对离散网格的顶点高度估计图;

图6为实施例中knot模型示意图;

图7为实施例对knot模型提取星星的效果图;

图8为实施例中siggraph模型示意图;

图9为实施例对siggraph模型提取字母的效果图。

具体实施方式

如图1所示,一种基于高度估计的浮雕提取方法,该方法包括下列顺序的步骤:(1)通过激光扫描设备获取数字化的浮雕数据M并输入计算机中;(2)通过向量积的方法得到各个三角面片法矢量然后过滤该三角面片的法矢量从而获得基曲面法矢量(3)在基曲面法矢量基础上,利用全局最小化的方法计算方程式Ah=dh,求出每一个顶点相对于基曲面的高度值h,该方程式中A表示稀疏矩阵,h表示三角网格上每个顶点相对于基曲面的高度值,dh表示三角网格上每条边投影到该边法矢量上距离;(4)采用聚类技术分析高度值,自动化确定基曲面和浮雕细节的分割阀值,然后根据此阀值把步骤(1)中获得的浮雕数据M分割成两部分,即基曲面G和浮雕面R,且G∪R=M。

所述步骤(1)具体包括:首先使用三维激光扫描设备,设置仪器扫描的范围、幅度、精度参数,完成浮雕模型的扫描,然后将三角网格浮雕模型输入计算机中;该三角网格浮雕模型表示为:M=(VM,EM,FM),其中,VM={vi|i=1,…,N(v)}是顶点集合,EM={ej|j=1,…,N(e)}是网格边集合,FM={fk|k=1,…,N(f)}是三角面片集合;vi是第i个顶点,ej是第j条边,fk是第k个面片;N(v)、N(e)、N(f)分别表示三角网格模型中顶点总数、边总数、面片总数。

所述步骤(2)具体包括以下步骤:

(2a)首先基于向量积计算出各个三角面片fk的法矢量计算公式如下:

其中,vi,vii,viii表示三角面片fk的三个顶点坐标,{x,y,z}表示一个三角面片的一个顶点分别在标准坐标系中轴坐标值;

(2b)然后对法矢量进行滤波,得到基曲面每个三角面片的法矢量计算公式如下:

其中,表示第k个三角面片fk的基曲面法矢量,NF(k)表示第k个三角面片的1-ring领域,表示三角面片的法矢量所占权重,表示三角面片的法矢量,其中权重函数定义为:

其中,0≤T≤1是由用户确定的参数,f(x)表示单调递增函数;权重函数表示邻近于法矢量的三角面片法矢量权重高,而远离法矢量的三角面片法矢量权重低,用于设置权重;

经过对步骤(2b)进行1≤n次迭代计算后,获得基曲面法矢量这里的迭代次数n是由用户确定。

所述步骤(3)具体包括以下步骤:

如图3所示,认为表面由光滑的基曲面和高度函数h:S→R两部分组成,高度函数表示基曲面B沿该法矢量方向到表面S的距离。因此,三角面片上每个顶点p∈S表示该基曲面的点b∈B和在点b上沿法矢量高度。如以下公式所示:

其中基曲面B的曲率半径小于表面S曲率半径。

本发明目的是提取三角网格M中浮雕部分,因此,可认为网格M是由与M相同拓扑结构的基曲面B和高度函数h:M→R表示,其中高度函数也可表示为h:B→R。综合以上分析,在获得一个特殊点的高度,就能计算出与该点关联其他点的高度值。如图4所示,给定一个已知高度h(p0)的参考点p0∈S,通过高度差dh(t)积分可以计算出每一个顶点高度p1∈S,即给定路径0≤t≤1,且p0=y(0),p1=y(1),则计算p1的高度h(p1)可描述为:

如图5所示,如果实施例是由离散三角网格组成,上述连续顶点高度公式(5)将转换成离散顶点高度公式,则计算离散三角网格顶点vn的高度h(vn)可描述为:

其中三角网格边高度为两相邻顶点(vi,vii)=ej∈EM投影到该边法矢量上的值,如以下计算等式:

其中vi,vii表示相邻两顶点,表示相邻两顶点vi,vii法矢量的均值:因此根据公式(7)可计算出三角网格每条边的高度,并以此初始化列向量dh

然而上述计算三角网格顶点的高度公式有两个严重的缺陷,1.仅仅通过平滑估计基曲面的法矢量;2.方程极大依赖于顶点v0到顶点vn的路径选择。为解决这些不足,在本发明中采用全局优化方法求解顶点高度函数:首先根据上述离散三角网格顶点的高度公式(6),可计算三角网格任意一条边ej(vi,vii)∈EM的高度,如以下公式所示:

由于三角网格边集合为N(e),因此可得N(e)个计算网格边高度的方程式:

其中令h(v0)=0,该方程式可转化为:

其中A1、A2表示为矩阵。当在第j条边(i,ii)∈EM时,A1(j,i)=1和A2(j,ii)=1,当网格边为k=N(e)+1时,A1(k,1)=1。令A=A1-A2,以此作为初始化系数矩阵A。

最终,上述方程(10)可转化为求解一个线性系统Ah=dh问题,实施例利用共轭梯度法求解等式。求解出网格每个顶点对应的高度h。

所述步骤(4)具体包括:

分割网格M成两部分:基曲面和浮雕面且G∪R=M;设δ为网格分割阀值,则浮雕点集R为顶点高度h(vi)大于阀值δ的顶点集:R={vi∈VM|h(vi)>δ},否则为基曲面点集G={vi∈VM|h(vi)≤δ}。;

使用高斯混合模型对顶点高度h进行聚类分析,高斯混合模型是一种概率统计的模型,如下式表示:

其中,μi、σi、αi分别表示第i个单高斯模型的均值、标准差、权重,且α12=1;k表示高斯核的个数,即分类个数;由于是将网格分为浮雕点集和基曲面点集,故令k=2,并使用最大期望估计高斯混合模型的参数,从而确定出分割阀值δ={h|G1(h)=G2(h)};由分割阀值确定浮雕点集和基曲面点集,从而达到分割浮雕的目的。

实施例一

本实施例是对一个knot模型提取星星,包括以下步骤:

步骤1:输入三角网格模型

如图6所示,本实施例是在一个三角网格knot模型中进行实施,该三维模型包含顶点集合V={vi|i=1,…,478704},478704表示顶点总数。网格边集合E={ej|j=1,…,2872224},2872224表示边总数。三角面片集合FM={fk|k=1,…,957408},957408表示三角面片总数。

步骤2:计算基曲面法矢量

2a)首先基于向量积计算出各个三角面片fk的法矢量计算如下:

其中1≤k≤957408,vi,vii,viii表示三角面片fk的三个顶点坐标,且1≤i,ii,iii≤478704。{x,y,z}表示一个三角面片的一个顶点分别在标准坐标系中轴坐标值。

2b)然后对所有法矢量进行滤波得到基曲面每个三角面片的法矢量具体计算公式如下:

其中权重函数定义为:

在本实施例中给定T=0.5。这里“norm”表示法矢量的单位化。f(x)是单调递增函数f(x)=x2。NF(k)表示第k个三角面片的1-ring领域。权重函数表示邻近于法矢量的三角面片的法矢量权重高,而远离法矢量的三角面片的法矢量权重低。

本实施例中对步骤2b进行n=50次迭代计算,这时获得浮雕提取效果是最理想的。

步骤3:计算每一个顶点的高度h

如图5所示,本实施例可看作是由离散三角网格组成,则计算三角网格顶点vn的高度h(vn)可描述为:

其中三角网格边高度为两相邻顶点(vi,vii)=ej投影到该边法矢量上的值,如以下计算等式:

其中vi,vii表示相邻两顶点,表示相邻两顶点vi,vii法矢量的均值:因此根据公式(1-5)可计算出三角网格每条边的高度,并以此初始化列向量dh。接着转换公式(1-4)来表示三角网格任意一条边ej(vi,vii)的高度,如以下公式所示:

本实施例中边总数为2872224,因此可得2872224个计算网格边高度的方程式:

其中令h(v0)=0,方程式(1-7)转化为:

其中A1、A2表示为矩阵。当在第j条边(i,ii)∈EM时,A1(j,i)=1和A2(j,ii)=1,当网格边数为k=2872224+1=2872225时,A1(k,1)=1。令A=A1-A2,以此作为初始化系数矩阵A。

最终,上述方程可转化为求解一个线性系统Ah=dh问题,本实施例将利用共轭梯度法求解等式。最终求出三角网格每个顶点对应的高度值h。

步骤4:确定分割阀值,提取浮雕纹理

分割网格M成两部分:基曲面和浮雕面且G∪R=M。设δ为网格分割阀值,则浮雕点集R为顶点高度h(vi)大于阀值δ的顶点集:R={vi∈VM|h(vi)>δ},否则为基曲面点集G={vi∈VM|h(vi)≤δ}。

为了确定分割阀值,这里使用高斯混合模型对顶点高度h进行聚类分析,高斯混合模型是一种概率统计模型,如下式表示:

其中μi、σi、αi分别表示第i个单高斯模型的均值、标准差、权重,且α12=1。K=2表示高斯核的个数,即分类个数。在本实施例中初始化μ1=0.01,σ1=0.3,a1=0.6,μ2=0.21,σ2=0.5,a2=0.4。然后使用最大期望估计出高斯混合模型的参数,由此确定出分割阀值δ。顶点高度h大于阀值δ的顶点认为是浮雕点集R,顶点高度h小于阀值δ的顶点认为是基曲面点集G,如图7所示。

实施例二

本实施例是提取一个siggraph模型中字母,包括以下步骤:

步骤1:输入三角网格模型

如图8所示,本实施例是在一个三角网格siggraph模型中进行实施,该三维模型包含顶点集合V={vi|i=1,…,33153},33153表示顶点总数。网格边集合E={ej|j=1,…,196608},196608表示边总数。三角面片集合FM={fk|k=1,…,65536},65536表示三角面片总数。

步骤2:计算基曲面法矢量

2a)首先基于向量积计算出各个三角面片fk的法矢量计算如下:

其中1≤k≤65536,vi,vii,viii表示三角面片fk的三个顶点坐标,且1≤i,ii,iii≤33153。{x,y,z}表示一个三角面片的一个顶点分别在标准坐标系中x轴坐标值。

2b)然后对所有的法矢量进行滤波得到基曲面每个三角面片的法矢量具体计算公式如下:

其中权重函数定义为:

其中在本实施例中给定T=0.2。这里“norm”表示法矢量的单位化。f(x)是单调递增函数f(x)=x2。NF(k)表示第k个三角面片的1-ring领域。权重函数表示邻近于法矢量的三角面片法矢量权重高,而远离法矢量的三角面片法矢量权重低。

本实施例中对步骤2-b进行n=5次迭代,这时获得浮雕提取效果是最理想的。

步骤3:计算每一个顶点的高度h

如图5所示,本实施例可看作是由离散三角网格组成,则计算三角网格顶点vn的高度h(vn)可描述为:

其中三角网格边高度为两相邻顶点(vi,vii)=ej投影到该边法矢量上的值,如以下计算等式:

其中vi,vii表示相邻两顶点,表示相邻两顶点vi,vii法矢量的均值:因此根据公式(2-5)可计算出三角网格每条边的高度,并以此初始化列向量dh

接着转换公式(2-4)来表示三角网格任意一条边ej(vi,vii)的高度,如以下公式所示:

本实施例中边总数为196608,因此可得196608个计算网格边高度的方程式:

其中令h(v0)=0,方程式(2-7)转化为:

其中A1、A2表示为矩阵。当在第j条边(i,ii)∈EM时,A1(j,i)=1和A2(j,ii)=1,当网格边数为k=196608+1=196609时,A1(k,1)=1。令A=A1-A2,以此作为初始化系数矩阵A。

最终,上述方程(2-8)可转化为求解一个线性系统Ah=dh问题,本实施例将利用共轭梯度法求解等式。最终求出三角网格每个顶点对应的高度值h。

步骤4:确定分割阀值,提取浮雕纹理

分割网格M成两部分:基曲面和浮雕面且G∪R=M。设δ为网格分割阀值,则浮雕点集R为顶点高度h(vi)大于阀值δ的顶点集:R={vi∈VM|h(vi)>δ},否则为基曲面点集G={vi∈VM|h(vi)≤δ}。

为了确定分割阀值,这里使用高斯混合模型对顶点高度h进行聚类分析,高斯混合模型是一种概率统计模型,如下式表示:

其中μi、σi、αi分别表示第i个单高斯模型的均值、标准差、权重,且α12=1。K=2表示高斯核的个数,即分类个数。在本实施例中初始化μ1=0.01,σ1=0.3,a1=0.6,μ2=0.21,σ2=0.5,a2=0.4。然后使用最大期望估计出高斯混合模型的参数,由此确定出分割阀值δ。顶点高度h大于阀值δ的顶点认为是浮雕点集R,顶点高度h小于阀值δ的顶点认为是基曲面点集G,如图9所示。

综上所述,本发明提出一种新颖的滤波器过滤原法矢量,获得更加准确的基曲面的法矢量,能自动确定基曲面和浮雕纹饰的分割阀值,从而分割出基曲面和浮雕纹理;具有较高的时效性,在时间性能上与其他算法相比大幅度提升,同时也能较好的提取浮雕的细节特征,具有较为广泛的适用性,对浅浮雕和高浮雕的提取都适用。

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