发明名称 基于视觉特征度量的三维模型简化方法
摘要 基于视觉特征度量的三维模型简化方法,其特征在于包括下列步骤:(1)顶点类型分析,对载入的三维模型的顶点进行连接性分析,将顶点分为普通顶点、边界顶点、特殊顶点和孤立顶点四类;(2)基于视觉特征度量的误差计算,根据顶点类型计算顶点误差,并保存在相应的顶点中;(3)根据步骤(2)计算出的顶点误差,构建最小堆;(4)边折叠,通过选择最小误差点,即选择最小误差边进行边折叠,并且折叠后要改变邻接顶点的连接性,重新计算受影响顶点的误差;(5)更新最小堆;(6)重复步骤(4),直到达到简化力度的要求。本发明它在误差计算方法中引入了对视觉特征的度量,能够改变边折叠的次序,从优先保留模型中视觉系统敏感的几何特征,在保证算法效率的同时降低了简化结果与原模型在视觉上的误差。
申请公布号 CN100545872C 申请公布日期 2009.09.30
申请号 CN200610089434.9 申请日期 2006.06.27
申请人 北京航空航天大学 发明人 赵沁平;李帅
分类号 G06T17/00(2006.01)I;G06T15/10(2006.01)I 主分类号 G06T17/00(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 代理人 关 玲;成金玉
主权项 1、基于视觉特征度量的三维模型简化方法,其特征在于包括下列步骤:(1)顶点类型分析,对载入的三维模型的顶点进行连接性分析,将顶点分为普通顶点、边界顶点、特殊顶点和孤立顶点四类;其中的顶点类型分析的方法如下:采用点表和面表的形式来表示的模型网格,顶点的连接性分析记录每一个顶点的邻接顶点信息、邻接面信息,根据邻接顶点和邻接面的信息进行顶点类型判断:普通顶点指三角形的内部顶点,并且这类顶点不包含特殊顶点,在拓扑关系上表现为其邻接顶点的数量和邻接三角形面片的数量是相同的,并且不是特殊顶点;边界顶点指三角形的边界上的点,在拓扑关系上表现为其邻接三角形面片的数量比邻接顶点少一;特殊顶点是一类特殊的内部顶点,它与其中某一个邻接顶点具有超过两个相同的邻接顶点,它的删除可能会导致三角网格性质的变化;孤立顶点是一种无效的顶点,它不与任何顶点组成三角面片,在模型中不起任何作用,是在建模过程中引入的不必要顶点,可以直接删除;(2)基于视觉特征度量的误差计算,根据顶点类型计算顶点误差,并保存在相应的顶点中;所述的基于视觉特征度量的误差计算的方法如下:基于视觉特征度量的误差计算公式可表示为:Verror=BaseError+weightdetail×Vdetail+weightoutline×Voutline;(a)BaseError为基本误差成分,它根据顶点类型的不同,采用不同的方式进行计算,对于普通顶点,采用计算点到面距离的平均值,其中面指在该点的所有邻接顶点中选三个组成一个面,计算该顶点到每个面的距,然后相加,并求其平均值,即<maths num="0001"><![CDATA[<math><mrow><mi>BaseError</mi><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>Dis</mi><mi>i</mi></msub><mo>,</mo></mrow></math>]]></maths>其中<maths num="0002"><![CDATA[<math><mrow><mi>n</mi><mo>=</mo><msubsup><mi>C</mi><mi>M</mi><mn>3</mn></msubsup><mo>,</mo></mrow></math>]]></maths>M为该点的邻接点数目,Diss<sub>i</sub>为该点到第i个面的距离;对于边界顶点,采用点到两个邻接的边界顶点所组成的线的距离,其中V<sub>0</sub>点的误差计算根据点V<sub>0</sub>到直线V<sub>1</sub>V<sub>2</sub>的距离;(b)Vdetail为顶点曲率变化程度的对误差的贡献值,其中Vdetail的计算公式如下:Vdetail=Max(Acos(Vnormal·Fnormali)),Vnormal表示某一点的标准化后的法向量值,Fnormali表示与该点相相连接的第k个三角面片的标准化后的法向量值;<maths num="0003"><![CDATA[<math><mrow><mi>Vnormal</mi><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>fnormal</mi><mi>k</mi></msub><mo>,</mo></mrow></math>]]></maths>n为该点邻接的三角面片的数量;(c)Voutline为模型轮廓特征对误差的贡献值,Vdetail的计算公式如下:Voutline=Acos(Vnormal·Viewdirection);Vnormal表示某一点的标准化后的法向量值,Viewdirection表示当前的视点观察方向;(d)Weightdetail,Weightoutline均为误差项的系数,计算公式如下:<img file="C2006100894340003C2.GIF" wi="1227" he="148" />其中percent为模型的简化力度百分比;(3)根据步骤(2)计算出的顶点误差,构建最小堆;(4)边折叠,通过选择最小误差点,即选择最小误差边进行边折叠,并且折叠后要改变邻接顶点的连接性,重新计算受影响顶点的误差;(5)更新最小堆;(6)重复步骤(4),直到达到所要求的简化力度。
地址 100083北京市海淀区学院路37号
您可能感兴趣的专利