年8 月系统仿真学报.pdf
《年8 月系统仿真学报.pdf》由会员分享,可在线阅读,更多相关《年8 月系统仿真学报.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 18 卷增刊 1 系系 统统 仿仿 真真 学学 报报 Vol.18 Suppl.1 2006 年 8 月 Journal of System Simulation Aug.,2006 52针对面片的针对面片的 Reeb 图骨架抽取算法图骨架抽取算法 黄坤武,唐 杰,武港山(南京大学计算机软件新技术国家重点实验室,南京 210093)摘摘 要:要:骨架是三维模型几何形状的表示方式之一。它保存了模型的拓扑特性,有着广泛的应用前景。提出了一种基于面片采用提出了一种基于面片采用 Reeb 图对多边形网格模型进行骨架抽取的算法图对多边形网格模型进行骨架抽取的算法。通过对模型进行一定的预处理保证面片的
2、规则,定义面片间距离计算方法,创建模型的对偶图,识别连通分量,在连通分量上应用Reeb 图的计算思想抽取原模型的骨架。试验表明,该算法具有较好的计算效果和效率,最终的骨架保存了模型的拓扑连通性以及姿态,可用于基于内容的三维模型检索时的特征描述符。关键词:关键词:骨架;三维模型;Reeb 图;面片 中图分类号:中图分类号:TP391 文献标识码:文献标识码:A 文章编号:文章编号:1004-731X(2006)S1-0052-05 Skeleton Extraction Algorithm Using Reeb Graph Based on Facets HUANG Kun-wu,TANG Ji
3、e,WU Gang-shan(State Key Laboratory for Novel Software Technology,Computer Science&Technology,Nanjing University,Nanjing Jiangsu 210093,China)Abstract:Skeleton is one of geometry shape presentations of 3D Models.It contains the topological feature of the model,so its used widely.A practical skeleton
4、 extraction framework based on facets using Reeb graph was proposed.The model was preprocessed to assure the regulation of facets,create the dual graph of it,and then adapt Reeb Graph to extract the skeleton which contains enough information of the model,such as gesture and topological features,to b
5、e able to be used as descriptor of 3D model retrieval.Key words:skeleton;3d-model;reeb-graph;facet 引引 言 言 随着计算机图形学的迅速发展,对三维模型的研究日益深入。骨架作为形状表示的一种有效形式在三维模型的各个研究领域中被广泛采用。Blum1 1967年给出了骨架的最初定义:骨架(中轴)是模型内部各个最大内切球中心的集合。它还有一个grassfire的模拟定义,从模型表面开始点火,各个方向上的火的相遇点所构成的集合。因为模型的骨架很好的保留了模型的拓扑连接性及其形态2,所以经常被用于碰撞检测、
6、三维动画、模型渲染3、模型表面重建、模型检索6等应用中,也有研究人员采用骨架为模型的分解做矫正4。不同的应用,对于骨架应该保存的信息要求不完全相同,故而抽取思路也不完全相同,本文抽取的骨架主要用作三维检索的特征描述符。对三维模型骨架的研究由来已久,出现过很多方法,有的是源于对二维图像的扩展,有的是针对三维模型提出的,大体上来说,有如下几类:(1)基于拓扑细化技术。该类算法主要应用于采用体表示的模型上,通过不断地进行不改变模型拓扑特性的体元素的削减来实现骨架抽取,因为模型的体表示数据量巨大,所以整个过程比较耗时。Gong5等人提出 收稿日期收稿日期:2006-03-29 修回日期:修回日期:20
7、06-05-25 基金项目基金项目:国家自然科学基金重点项目(60533080);国家自然科学基金重点项目(60503058)。作者简介作者简介:黄坤武黄坤武(1980-),男,江西宜春人,硕士生,研究方向为三维模型检索;唐杰唐杰(1971-),男,江苏南京人,博士,副教授,研究方向为CAD/CAM、计算机辅助几何设计、计算机图形学;武港山武港山(1967-),男,博士,博导,研究方向为 Web 信息检索、多媒体信息处理。过一种并行细化算法,通过先定义模型的简单顶点、删除谓词和两个细化元操作,在抽取算法中不断迭代两个元操作进行模型细化;(2)基于距离矩阵。它一般的计算对象要求也必须是体表示的模
8、型,通过计算每个体元素的距离来求取模型的脊点。Sundar6等人提出过基于该思想的一个算法思路,通过计算每个体元素到边界的最小距离来得到骨架点,Sundar采用该算法创建了一个模型检索系统;(3)亦有学者将二维图像领域中的Voronoi图技术引入到三维骨架抽取中,Dey7等人提出过一种利用Voronoi图直接近似中轴的算法。因为对三维模型而言只有部分Voronoi顶点能够汇聚成骨架,所以他通过定义角度和比例这两个与大小、比重都无关的筛选标准来实现它的中轴近似算法,并证明该方法能够保证收敛;(4)基于Reeb图思想。该类算法首先在模型上定义一个连续函数,计算每个模型顶点的函数值,将具有相同函数值
9、的顶点聚合成一个顶点,得到模型的骨架,其中著名的有Hilaga8等人提出的MRG,Hilaga定义的连续函数为顶点到整个模型表面所有顶点的最短距离与面积之积的和。(5)基于模型分解。Lien9等人观察到对于保存模型连接性的分解过程就是一个骨架抽取的过程,所以提出了基于模型近似凸面体分解的骨架抽取算法,通过计算模型表面的桥识别模型表面的凹地,计算每个顶点的凹陷性,并对模型按照凹陷性进行分解,不断迭代该过程创建骨架。(6)其它类。Ma10等人提出过基于可见互斥力的骨架抽取算法,它应用了物理学上的互斥力的概念来计算模型上的平衡点,最终得到模型的骨架。第 18 卷增刊 1 Vol.18 Suppl.1
10、 2006 年 8 月 黄坤武,等:针对面片的 Reeb 图骨架抽取算法 Aug.,2006 53一般采用Reeb图进行骨架抽取的思路,都将计算对象放在模型的顶点上,而后根据顶点的函数值计算其所在面片落入的各个函数值区间,进行骨架创建。本文作者观察到模型的面片和骨架之间存在着这种映射,并从寻找这种映射出发,提出了一种针对模型面片进行直接骨架抽取的算法框架。首先定义模型面片之间的距离计算方法,创建模型的对偶图,然后在该对偶图上应用Reeb图的计算思想,在对偶顶点上定义一个连续函数并计算每个顶点的函数值,最终根据计算得到的函数值以及顶点对应的面片之间的邻接关系创建模型的骨架。1 模型预处理模型预处
11、理 本文算法建立在对模型面片的计算基础之上,所以面片的规则性非常重要。模型预处理的目标就是使得其面片都比较规则,即所有面片都近似于等边三角形。本文考虑过两种不同的预处理方法,第一种是8中提到的边切分,将长度大于用户指定阈值的边进行不断切分;第二种是自适应的网格细分技术,将满足一定条件的面片进行细分,不满足的进行保留。1.1 边切分边切分 如图 1 所示,其处理过程就是不断地寻找大于阈值的边进行切分。注意,切分时新添加的边可能必须进行再次切分。图 1 边切分 1.2 面片细分面片细分 如图 2(a)所示,若面片 ABC 包含两条边|AB|,|AC|均大于阈值(也可能只有一条边大于阈值),(b)图
12、为细分后的结果。(a)细分前 (b)细分后 图 2 面片细分 处理方法为:计算面片 ABC 上边顶点 H,G,I 的坐标,而后添加三个顶点,删除面片 ABC,添加面片 AGH,HIC,HGI,GBI,递归的修改相应的相邻面片的信息。以 H 点为例,该边顶点的计算方法为11:338FBACHVVVVV+=?(1)VH的坐标是通过与该边相邻的两个面片的四个顶点进行加权计算的,所以它将可能不落在边 AC 上,这样细分后的面片将更加的平滑。因为采用了自适应的策略,所以面片BDC 边长都小于一个阈值不需细分但因相邻面片被细分故被切分成了 BDI,IDC。根据 Loop 细分的策略,它可以无限的循环细分下
13、去,只是必须考虑到细分后的时间复杂度。对于不同的模型,因为创建的分辨率不一样,所以细分的次数是不一致的,必须在实际应用中加以控制。另外必须注意的是添加面片时顶点的顺序必须保持与原来面片的顶点顺序一致。另外,本文算法并没有如 Loop 细分中一样重新计算 VA,VB,VC的新坐标,是考虑到可能会剧烈修改原有模型的表面特性。(a)采用边切分 (b)采用细分 图 3 预处理结果 图 3(b)为采用面片一次细分计算得到的模型,而图 3(a)则是采用边切分后的结果,边长阈值相同。从两个图中腹部的对比可以发现,采用细分技术处理的模型,面片比较均匀,虽然模型中可能还包含有大于阈值的边存在,但已经比较均匀。主
14、要是因为:1.模型的特点,牛模型在的腹部网格不够均匀,比较多的面片不够规则;2.技术特点,(1)细分时并非简单的取现有平面上的顶点,而是进行了新顶点的拟合,将会改变原有面片的法矢;(2)细分引入的边都比较均匀,创建的面片也就均匀。所以当模型的某个区域包含较大数量不够均匀的面片时,采用曲面细分进行预处理的效果要略好于边的切分,但是如果模型本身已经比较规则,只有少量面片不规则时,那么采用边切分进行模型预处理将可能有着比面片细分更好的计算效率和效果。2 创建模型对偶图创建模型对偶图 本文算法基于面片的聚合,而面片间除具有相邻关系外没有其它相关信息,为了后面计算的需要,必须定义面片之间的距离计算方法。
15、同时为便于后续计算创建模型的对偶图。本文定义面片间距离计算方法如下:若面片相邻,则定义它们之间的距离为面片之间重心的测地线距离与二面角距离的加权和;若面片不相邻,则定义它们的距离为面片通过相邻面片计算得到的最短路径。本文创建面片的对偶图,为每个面片创建一个对偶顶点,取面片的重心。若两面片相邻,则在它们的对偶顶点间添加一条连接弧,计算两个面片的距离,也就是计算每个连接弧权重(弧长)。对于连接弧的权重,可以考虑采用不同的计算方式,本文采用对偶顶点之间的测地线距离与二面角距离的加权和。如图 4 所示,面片 ABC 与面片 BDC 通过边 BC 相邻。E 点和 F 点分别是它们的重心,G 点是它们的测
16、地线与 BC边的交点。E 点到 F 点的测地线距离就是:E A B D A D F B AB C D E F G H I JK LM B C E A D F 第 18 卷增刊 1 Vol.18 Suppl.1 2006 年 8 月 系 统 仿 真 学 报 Aug.,2006 54 图 4 二面角距离计算 Geod(E,F)=|EG|+|GF|(2)G 点的计算方法如下:()BBGCVVtVV=+?(3)t 为一个系数,若 G 点为 E,F 测地线与 BC 边交点,则 EG,FG 是 EF 在两个平面内的投影,三角形 EFG 的面积是最小的,即:0.5|0.5|BEFSEG EFt BCEFVE
17、G VV=+?(4)取最小值。最终可以计算到当|tBF FEBC FE=?,S 值最小。若 0t=1,那么表示 G 点落在了 C 点的外侧,G 点就应该取 C 点,如果 t=0,则表示 G 点落在了 B 点的外侧,G 点应该取 B 点。观察到面片之间的二面角,如果接近于 180,那么两个面片属于同一区间的概率比较大,反之,如果越大于 180或越小于 180,那么不属于的概率越大。这里定义面片之间的二面角距离计算方法12:Ang_Dist(E,F)=(1-cos)(5)其中为二面角,比例系数控制当二面角为如图 4(b)(c)所示的两种不同二面角情况时采用不同的权值计算角度距离。判断方法可以通过面
18、片的法矢与面片的角度间的关系进行确定。对于凸起面片可以略小,而凹陷面片则略大,因为凸起面片聚合的概率较大,而凹陷面片则被分开概率较大,如凸起时=1,而凹陷时=1.1。最终弧权重(弧长)计算方法为12:(,)(,)(1)*_(,)weight E FGeod E FAngDist E F=+(6)是比例系数,它控制测地线距离和角度距离的加权比例,是一个经验值,在试验中可以采用不同的值进行测试。在创建模型的对偶图时,同时计算出了模型包含的所有连通分量。在后续的各种处理中本文算法都将不再以模型为单位,而是以对偶图中包含的连通分量列表中的连通分量为单位。这样对于包含多个连通分量的模型,将减小计算的时间
19、复杂度,同时为其后续计算提供方便。一方面简化了问题空间,另一方面也为并行的处理提供基础。3 计算每个顶点的函数值计算每个顶点的函数值 创建了模型的对偶图后,就可以开始计算每个面片的函数值。因为每个面片采用它的对偶顶点表示,所以下文中提到的顶点如无说明都将指面片的对偶顶点而非模型原有顶点。考虑到计算的效果和条件限制,这里采用8中提到的顶点函数定义方式,定义顶点连续函数为:()(,)()niiivg v barea b=(7)其中顶点 v 是指面片的对偶顶点,bi是指从某个连通分量上抽取出来的基本顶点,n 是该连通分量上抽取得到的基本顶点个数,g(v,bi)是指顶点 v 到 bi的最短距离。所以整
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 年8 月系统仿真学报 系统 仿真 学报
限制150内