基于视觉特征度量的三维模型简化方法技术

技术编号:2947605 阅读:275 留言:0更新日期:2012-04-11 18:40
基于视觉特征度量的三维模型简化方法,其特征在于包括下列步骤:(1)顶点类型分析,对载入的三维模型的顶点进行连接性分析,将顶点分为普通顶点、边界顶点、特殊顶点和孤立顶点四类;(2)基于视觉特征度量的误差计算,根据顶点类型计算顶点误差,并保存在相应的顶点中;(3)根据步骤(2)计算出的顶点误差,构建最小堆;(4)边折叠,通过选择最小误差点,即选择最小误差边进行边折叠,并且折叠后要改变邻接顶点的连接性,重新计算受影响顶点的误差;(5)更新最小堆;(6)重复步骤(4),直到达到简化力度的要求。本发明专利技术它在误差计算方法中引入了对视觉特征的度量,能够改变边折叠的次序,从优先保留模型中视觉系统敏感的几何特征,在保证算法效率的同时降低了简化结果与原模型在视觉上的误差。

【技术实现步骤摘要】

本专利技术涉及一种三维模型简化方法,特别是一种。
技术介绍
三维模型简化是伴随着建模技术的发展而产生的一项技术。建模技术主要研究如何去表示一个三维几何模型。近年来,一方面随着三维扫描仪等设备的出现,三维网格模型的获取越来越简单,使得模型也越来越复杂,其规模已经超出了计算机的处理能力;另一方面,网络的发展使得三维模型的网络传输成为一个必然的趋势。因此为了加速虚拟场景的绘制以及以更快的响应时间将模型通过网络传输给用户,模型简化技术逐渐发展为一项独立的技术。三维模型简化的宗旨是在尽可能保持原始模型特征的情况下,最大限度的减少模型中的细节信息,即减少模型中的几何信息和拓扑信息。使用一个近似模型来表示原始模型,近似模型基本保持了原始模型的可视特征,但顶点和面的数量少于原始模型中顶点和面的数量。通常的做法是把一些不重要的图元(顶点、边或三角形)从三角网格中删除,在这个过程中,为了更好的保持形体本来的形状,在每一个删除步骤中都需要选择一个图元,使得该图元的删除对模型的可视特征影响最小,即所带来的误差影响最小,所谓误差,是指简化模型和原始模型之间的差异,这种差异可以是距离、曲率等。因此问题的关键之处就在于每一步中如何选择这个最小误差。计算误差的方法称为误差度量准则。目前常用的误差度量准则有以下几种(1)点到面的距离计算当前顶点与周围相连的顶点所组成的平均平面之间的距离,如果该距离小于用户指定的阈值,则该顶点可以被删除。(2)点到线的距离计算当前顶点与其左右相邻的两个顶点组成的直线之间的距离,这种方法主要用于边界顶点的处理。(3)二次误差计算当前点到所有与其相邻的三角面的距离的平方和,并且当两个点折叠为一个点的时候,该误差可以相加。(4)特征角度量特征角定义为顶点处任意两个相邻三角形的法向量之间的夹角中的最大者,越小者则可以进行删除。(5)Hausdorff距离Hausdorff距离是用来衡量一个点集到另一个点集之间最大距离的最小值。从点集A到点集B的Hausdorff距离可以定义为h(A,B)=maxa∈A{minb∈B{d(a,b)}},]]>其中d(a,b)是a、b两点之间的欧拉距离。该式定义的Hausdorff距离具有方向性,即h(A,B)和h(B,A)是不相等的。另一种更一般的Hausdorff距离定义为H(A,B)=max{h(A,B),h(B,A)},其中h(A,B)如上式定义。(6)能量函数将一个点集的能量表示为距离能量、表示能量和弹性能量,是一种全局的误差测度准则。基于以上的各种误差度量准则,目前已经有很多网格的简化方法,如顶点删除的简化方法、重新划分网格的简化方法、三角形折叠的简化方法、小波分解的简化方法、顶点聚类的简化方法、包络网格的简化方法、边折叠的简化方法等等。一般说来,折叠算法比同类的删除算法效率要高,因为它不需要对删除后形成的空洞进行三角化,只需要使用一些原有的网格元素去代替删除掉的网格元素。另外,边折叠方法是一种适用于任意二维流形的三角网格模型的优化方法。这使得它已经成为非常重要的一类简化方法,并且,最近两年对网格简化方法的研究也多是基于边折叠展开的。但是从目前来看,这类方法的一个缺点就是使模型各部分的简化力度趋于均匀。这使得人的视觉系统比较敏感的边界、轮廓以及曲率大的尖锐区域的网格没法得到优先保留,从而导致了视觉上的退化。特别是在分辨率较低的情况下模型一些重要视觉特征的损失会更为严重,使得简化模型与原模型的视觉误差过大,不能满足更广泛的应用需求。
技术实现思路
本专利技术的技术解决问题是克服现有技术的不足,提供一种基于视觉特征度量的模型简化方法,它在误差计算方法中引入了对视觉特征的度量,能够改变边折叠的次序,从优先保留模型中视觉系统敏感的几何特征,在保证算法效率的同时降低了简化结果与原模型在视觉上的误差。本专利技术的技术解决方案,其特点在于包括下列步骤(1)顶点类型分析,对载入的三维模型的顶点进行连接性分析,将顶点分为普通顶点、边界顶点、特殊顶点和孤立顶点四类;(2)基于视觉特征度量的误差计算,根据顶点类型计算顶点误差,并保存在相应的顶点中;(3)根据步骤(2)计算出的顶点误差,构建最小堆;(4)边折叠,通过选择最小误差点,即选择最小误差边进行边折叠,并且折叠后要改变邻接顶点的连接性,重新计算受影响顶点的误差;(5)更新最小堆;(6)重复步骤(4),直到达到简化力度的要求。所述的顶点类型分析的方法如下用点表和面表的形式来表示的模型网格,对于某一个顶点或三角面片来说其连接性是难以直观的判断的,因此首先需要进行顶点的连接性分析。顶点的连接性需要记录每一个顶点的邻接顶点信息、邻接面信息,根据邻接顶点和邻接面的信息进行顶点类型判断,顶点类型分为普通顶点、边界顶点、特殊顶点和孤立顶点四类(如图1所示)。(1)普通顶点就是指三角形的内部顶点,并且这类顶点不包含特殊顶点,在拓扑关系上表现为其邻接顶点的数量和邻接三角形面片的数量是相同的,并且不是特殊顶点。(2)边界顶点就是指三角形的边界上的点,对于封闭的图形来说,这类顶点几乎不存在。在拓扑关系上表现为其邻接三角形面片的数量比邻接顶点少一。(3)特殊顶点是一类特殊的内部顶点,它与其中某一个邻接顶点具有超过两个相同的邻接顶点。它的删除可能会导致三角网格性质的变化。(4)孤立顶点是一种无效的顶点,它不与任何顶点组成三角面片,在模型中不起任何作用,是在建模过程中引入的不必要顶点,可以直接删除。所述的基于视觉特征度量的误差计算的方法如下基于视觉特征度量的误差计算公式可表示为Verror=BaseError+weightdetail×Vdetail+weightoutline×Voutline;(1)BaseError称为基本误差成分,它根据顶点类型的不同,采用不同的方式进行计算,对于普通顶点,采用计算点到面距离的平均值,其中面是指在该点的所有邻接顶点中选三个组成一个面,计算该顶点到每个面的距,如图2所示,然后相加,并求其平均值。即BaseError=1nΣi=1nDisi;]]>其中n=CM3]]>(M为该点的邻接点数目),Disi为该点到第i个面的距离。对于边界顶点,采用点到两个邻接的边界顶点所组成的线的距离(如图3所示),其中V0点的误差计算根据点V0到直线V1V2的距离。(2)Vdetail为顶点曲率变化程度的对误差的贡献值,曲率变化越大该值越大。其中Vdetail的计算公式如下Vdetail=Max(Acos(Vnormal·Fnormali));Vnormal表示某一点的标准化后的法向量值,Fnormali表示与该点相相连接的第k个三角面片的标准化后的法向量值(如图4所示);Vnormal=1nΣk=1nfnormalk]]>(n为该点邻接的三角面片的数量)。因此某点的细致度就是其所邻接的所有三角面片的法向量与他们的均值(三角面片的法向量的平均值)所构成的夹角中最大的那一个夹角的弧度值。(3)Voutline为模型轮廓特征对误差的贡献值,Vdetail的计算公式如下Voutline=Acos(Vnormal·Viewdirection);本文档来自技高网
...

【技术保护点】
基于视觉特征度量的三维模型简化方法,其特征在于包括下列步骤:(1)顶点类型分析,对载入的三维模型的顶点进行连接性分析,将顶点分为普通顶点、边界顶点、特殊顶点和孤立顶点四类;(2)基于视觉特征度量的误差计算,根据顶点类型计算顶 点误差,并保存在相应的顶点中;(3)根据步骤(2)计算出的顶点误差,构建最小堆;(4)边折叠,通过选择最小误差点,即选择最小误差边进行边折叠,并且折叠后要改变邻接顶点的连接性,重新计算受影响顶点的误差;(5)更新最小 堆;(6)重复步骤(4),直到达到简化力度的要求。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵沁平李帅
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

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

1