基于层次聚类的网格模型自动分割方法
2024-06-03
来源:爱go旅游网
第30卷增刊2 计算机应用 Vo1.30 Supp1.2 2010年12月 Journal of Computer Applications Dee.2010 文章编号:1001—9081(2010)S2—0001—04 基于层次聚类的网格模型自动分割方法 张森 , , ,韩其才 ,2' ,闫琨鹏 , 一,张 慧 。 ,雍俊海 ’4 (1.清华大学软件学院,北京100084;2.清华大学计算机科学与技术系,北京100084; 3.清华大学信息系统安全教育部重点实验室,北京100084;4.清华大学信息科学与技术国家实验室,北京100084) (stephengenius@gmail.con) 摘要:将网格模型按照表面特征进行分割,在计算机图形学中有着广泛的应用。在传统的网格分割层次聚类 算法的基础上,利用相邻聚类公共边的长度,公共顶点的曲率,以及聚类的面积对聚类之间的合并成本进行加权,提 出新的合并成本函数,更好地利用网格表面特征指导聚类之间的合并过程。同时,针对传统分割算法中分割区域边 界存在的锯齿现象,针对每一个分割区域,全局考虑其与相邻分割区域的模糊地带,利用最大流最小割的方法优化分 割区域边界,从而消除锯齿,平滑边界。 关键词:表面特征;自动分割;层次聚类;合并成本函数;最小割 中图分类号:TP391.72 文献标志码:A Automatic mesh segmentation based on hierarchical clustering ZHANG Sen ' ・ 一,HAN Qi—cai ' 一,YAN Kun。peng ’。一,ZHANG Hui , ,YONG Jun hai ’。, (1.School ofSotfware,Tsinghua University,Beijing 100084,China; 2,Department of Computer Science and Technology,Tsinghua Unitersity,Beijing 100084,China; 3.Key Laboratoryfor Information跏 m Security ofMinistyr foEducation,Tsinghua University,Beijing 100084,China; ・4.National LaboratoryforInformation Science and Technology,Tsinghna University,Bering 100084,China) Abstract:Automatic mesh segmentation has been widely used in computer graphics.Based on traditional hierarchical clustering segmentation methods,a new cost function Was presented which combined the length of common boundary of adjacent clusters,the curvature of common vertices and the area of each cluster.The new cost function could more clearly represent the properties of the mesh,and perform better in the clusters merging process.Besides,considering the jagged common boundaries,a lfow network Was constructed in the fuzzy area of each cluster and all of its adjacent ones to optimize and smooth the boundaries by minimum cut algorithm. Key words:Sul ̄ace feature;automatic segmentation;hierarchical clustering;merging cost function;minimum cut 0 引言 价分析K均值聚类、层次聚类和最小割等三种方法所得分割 线的重合程度,综合确定分割区域的边界线。随机分割算法 在计算机图形学领域中,模型的自动分割技术有着越来 的分割效果能够较好地反映网格表面特征,但由于其综合了 越重要的意义。网格模型分割技术在模型简化、参数化及纹 多种聚类方法,算法效率较低。此外,Lai等人 利用随机游 理映射l1 等方面有着广泛应用。网格分割有利于实现网格 动方法,nu等人 、Lin等人 ]、Attene等人 “ 和Shapira等 操作的区域化及并行化,提高网格处理的效率,而其中符合模 人L】 分别基于光谱分析、临界点分析、拟合基元、形状直径函 型表面特征的网格分割,能够利用网格的特征线和特征点生 数提出了相应的网格分割算法。Chen等人 利用对l9类 成网格分割边界线,降低网格分割所带来的失真及信息丢失。 380个曲面模型进行的4300次人工分割的效果,建立了衡量 近年来,基于聚类的基本思想,对于模型分割的研究取 模型分割效果的基准,并对文献[5,7—12]中的分割算法进行 得了显著的进展。Katz等人 先对模型进行初始分割,生成 的测试比较。其结果表明,各种网格分割算法的适用范围不 模型的明显特征和特征间的模糊区域,然后基于最小割算法 同,没有一种自动分割算法能对所有类型的模型进行最理想的 对模糊区域进行优化,从而实现对于模型的分割。Shlafman 分割。 等人 和Katz等人 分别采用K均值聚类以及基于特征点 本文基于聚类的思想对网格模型自动分割。主要的贡献 和核心提取的方法对模型进行初始分割,然后利用最小割算 在于:首先利用相邻聚类公共边的长度,公共顶点的曲率,以 法对得到的分割线进行优化。然而以上文献的最小割算法 及聚类的面积对聚类之间的合并成本加权,提出新的合并成 中,每次仅针对一对相邻分割区域的公共边界线进行平滑及 本函数;其次在相邻分割区域间的模糊地带构建流网络,利用 优化,并未考虑整个分割区域的整体边界线的平滑。 最小割的方法更新模糊地带面片所属聚类,优化和平滑分割 Golovinskiy等人 采用随机分割的方法分割模型,其通过评 区域边界。 收稿日期:2010—07—12;修回日期:2010—08~04。 基金项目:国家自然科学基金资助项目(60903106;60635020);国家863计划项目(2007AA040401);国家973计划项目(2010CB328001)。 作者简介:张森(1985~),男,山东平度人,博士研究生,主要研究方向:网格处理、计算机辅助设计;韩其才(1984一),男,山东费县人,硕士研 究生,主要研究方向:网格分割;闫琨鹏(1987一),男,山西高平人,硕士研究生,主要研究方向:网格分割;张慧(1974一),女,江苏无锡人,副教 授,主要研究方向:计算机图形学、计算机辅助设计;雍俊海(1973一),男,福建莆田人,教授,主要研究方向:计算机图形学、计算机辅助设计。 2 计算机应用 2010正 1 基于分割曲面面积以及曲率特征的层次聚类 1.1层次聚类基本原理 疏情况和网格面片的基本几何属性对合并成本的影响,文献 [7]在方程(1)的基础上,加入了聚类的面积的因素;文献 [13]虽然考虑到网格凹凸程度会对聚类周长产生影响,但没 有给出具体的分析及函数公式。 通常情况下,理想的网格分割边界线应该通过网格的特 征线,并位于网格表面凹陷的部分。而网格顶点的曲率特征 层次聚类方法有两种:聚合法和分裂法。聚合的层次聚 类是一种自下而上的方法,开始时将每个对象当做一个聚类, 然后不断地对聚类进行合并,直到将所有的对象合并为一个 聚类为止。分裂的层次聚类是一种自上而下的方法,开始时 是衡量网格凹凸程度的重要因素,凸起点处曲率值较大,凹陷 点出曲率值较小。所以,本文利用网格表面的凹凸属性,网格 面片的面积以及边界处公共边长度对合并成本函数进行加 所有的对象同属于一个聚类,然后将该聚类分裂成两个聚类, 再将分裂得到的聚类进行不断地分裂,直到每个对象成为一 个聚类。本文采用的是聚合式的层次聚类方法。 Sitf等人 提出了数据划分的层次聚类方法,并给出了 聚合式层次聚类方法的基本步骤。给定Ⅳ个聚类对象,以及 一个N×N的合并成本矩阵,聚合式层次聚类方法的基本步 骤如下: 1)将每个对象分别作为一个聚类,构建Ⅳ个聚类的合并 成本矩阵; 2)遍历相似度矩阵,合并合并成本最小(即相似度最高) 的两个聚类; 3)计算新聚类与所有旧的聚类之间的合并成本,更新合 并成本矩阵; 4)不断重复2)~3),直到最终得到一个包含Ⅳ个对象的 聚类。 利用此聚类过程,可以建立所有对象之问的层次关系。 但在实际应用当中,往往需要将所有对象进行一定数量的分 类,所以,上述迭代过程的终止条件可以相应调整为聚类数目 达到了某个期望值则停止迭代。 在利用聚合式层次聚类分割网格的过程中,通常先将每 个三角网格当做一个聚类,利用网格面片之间的拓扑关系和 几何属性,计算不同距离之间的合并成本,构建聚类间的合并 成本矩阵,然后迭代地合并相邻聚类以及更新合并成本矩阵, 直到聚类数目达到某个期望值为止。在网格分割的过程中, 聚类之间合并成本函数的选择决定了分割结果质量。好的合 并成本应该综合考虑网格表面属性,能够优先合并具有相似 属性的面片,并保留网格特征部分。因此,本文将在下面对传 统的合并成本函数进行讨论,并综合考虑网格属性,提出新的 函数形式。 1.2合并成本函数 合并成本是衡量不同聚类之间相似度的函数。合并成本 越小,不同聚类之间的相似度就越高,合并的优先级也就越 高。聚类间合并成本的确定通常可以分为四种n :最小距离 (Single—link),用两个聚类所包含对象之间的最小距离来表 示;最大距离(Complete—link),用两个聚类所包含对象之间的 最大距离来表示;平均值距离,用两个聚类各自中心点之间的 距离表示;平均距离(Average—link),用两个聚类包含的对象 之间的平均距离来表示。 对于两个相邻聚类 和Y,Shi等人 对其合并成本的 定义如下: 1 c。s ( ,y) __丽 ( ) 一aSSOV( ,V)。as十一sov(Y,V) 其中:CUt(X,y)表示 和y的公共边的长度,assov(X,V)和 as¥ov(】/,V)分别表示 和l,各自边界的周长。 在利用层次聚类进行网格分割的过程中,考虑到网格稀 权,定义两个聚类 和y之间的合并成本函数: (2) 其中:e@e(X,l,)= W ×e ,W 为公共边i两个顶点曲率的 平均值,e 为公共边i的物理长度,area( )和area(Y)分别为 聚类 和Y的面积。 在新的合并成本函数中,公共边长(曲率加权值)越大、 面积越小的相邻聚类,其合并成本越小,合并的优先级越高。 这使得网格模型表面面积较小的区域不断被合并,而凹陷程 度较大的边界得以保留,最终分割区域的边界线趋向于位于 模型表面的凹陷处,符合人工的分割模型的结果。 2 边界优化 利用层次聚类方法按照模型表面特征对网格进行自动分 割所得的结果中,分割区域的边界线会存在锯齿现象。针对 此问题,本文采用最大流最小割的方法,针对每一个分割区 域,全局地考虑其相邻区域,在它们的模糊地带构建流网络, 利用最小割的方法优化分割边界线,平滑分割边界。 2.1最大流最d,t ̄l基本原理 在流网络中寻找一条从原点到汇点的最大流路径是图论 中的基本问题之一。流网络是一个连通的加权有向图,每条 弧都有一个非负的容量值,顶点集合中的源点和汇点分别代 表网络的起点和终点。网络中的流就是从源点流向汇点的可 行流,是定义在网络上的一个非负函数。流网络的割集是从 源点到汇点的必须经过的边的集合,若去除割集中的边,则流 无法从源点到达汇点。最大流理论指出,任意一个流网络的 最大流量等于该网络的最小的割的容量。 在平滑和优化初始分割区域边界的过程中,利用模型的 对偶图构成一个流网络,流网络中的节点对应网格模型中的 面片,每条弧连接一对相邻面片。若拆除流网络割集中的弧, 即割断所有相应网格的相邻关系,则可以对模型进行分割。 由于最小割集中弧的数量最少,所以利用最小割集进行分割, 可以得到最短的分割线,能够对分割边界进行平滑和优化。 在此过程中,初始流网络的建立以及流网络中弧的容量 的定义直接影响到最小割所得边界质量,因此将在下面对这 两个问题进行详细的描述。 2.2构建流网络 针对每一个初始分割区域,全局地考虑其相邻的区域,在 它们之间的模糊地带,基于模型的对偶图构建流网络。具体 的构建方法可以描述为:当前被优化的分片记为 ,其网格 数目记为m( ), 的边界线记为B,与 相邻的所有分片 记为P ,Ps和P 之问的流网络记为F( ,t)。流网络F(s,t)的 构建过程如下。 增刊2 张森等:基于层次聚类的网格模型自动分割方法 3 1)遍历P 中的所有网格,得到在边界线 上的网格集 4)将最小割集中的面片划归到 中,完成对分片 的 边界优化; 合,记为 ,其网格数目记为m(B )。 2)构建P 一侧的流网络,记为F(s)。首先,将 ;中的网 格并入F(s);然后,将 中与F(s)相邻的网格迭代地并入 5)迭代步骤1)~4),直到所有分片的边界线被优化为 止。 F(s),直到F( )中的网格数目达到一定数量,记为 .n 的 值可以根据m(B )和m( )确定,本文取 =min{5× m(B;),m(P )/3}。 图1(a)和图2(a)为模型利用层次聚类得到的初始分割 结果,图1(c)和图2(b)为模型利用最小割算法对分割区域 边界线平滑优化后的结果,图2中间为模型分割区域边界局 部放大的对比。其中第二组对比中,模型腰部曲线的平滑效 果比较明显,不再详细比较。经过对比可以看出,利用边界平 3)遍历B ,得到与其相邻的P 中的所有网格,即P 中在 边界线 上的网格集合,记为B ,其网格数El记为m(B )。 4)构建尸l--N的流网络,记为F(t)。首先,将 中的网 滑优化算法能够针对每一个分片区域全局的改善其边界线的 格并入F(t);然后,将P 中与F(t)相邻的网格迭代地并入 F(t),直到F(t)中的网格数目达到一定数量,记为//, .n 的 值可以根据 和m(B )确定,本文取n =max{ ,10× m(B )}。 5)加入虚拟的源点 和汇点t,并设定s与F(s)的边界 网格相邻,t与F(t)的边界网格相邻。此时,F(s,t)={s, F( ),,(t),t},流网络构建完毕。F(s,t)中的网格对应流网 络的节点,相邻网格之间有一条连接相应节点的弧。 图1(a)所示为将Armadillo模型分割成3片的初始分割 效果,图1(b)为对上半身的边界线构建全局流网络的示意 图。 (a)初始分割效果 (b)流网络 (c)边界优化后效果 图1 最小割算法平滑优化边界效果 2.3容量的定义 理想情况下,最小割集应该位于模型表面的凹陷特征处, 根据容量小的弧构成最小割集的原则 J,在定义弧的容量 时,相邻网格所在区域的凹陷越明显,其对应的弧的容量应该 越小。对于弧的容量,文献[4]采用相邻网格间的二面角来 定义,文献[6]采用相邻网格间的二面角和公共边长来定义。 由于相邻网格间的二面角只能反映局部的凸凹特征,而顶点的 曲率却能很好地反映全局的凸凹特征,所以,本文采用相邻网 格间公共边的顶点曲率和公共长度来定义相应的容量。 对于两个相邻网格a和b,其公共边记为e,e的物理长度 记为dist(e),e的两个顶点的曲率的平均值记为cl ̄r1)(e),则 a和b之间的弧的容量为: cap(口,6):6.£些 +(1一占).—di。s萎t (e) (3) C“, “ 其中:6为顶点曲率在容量中的权重,其取值范围为(0,1); CU/"U和dist分别为整个流网络中所有公共边的曲率和物理长 度的平均值。 2.4边界平滑优化算法 边界优化的算法流程为: 1)选取待优化的分片 ; 2)建立当前分片的全局流网络,计算流网络中所有弧的 容量; 3)利用最小割算法中的标号法求取当前流网络的最小 割集; 形状,使得边界线位于模型的特征处,并通过模型表面凹陷的 地方。 一 (a)初始分割的结果 (b)边界优化后的结果 图2分割区域边界优化效果 3 实验结果及分析 本文的实验环境为CPU频率2 GHz,内存大小2 GB,操作 系统Windows XP。 图3和图4中展示了利用本文提出的层次聚类分割以及 最小割算法优化平滑分割区域边界线的方法实现的对网格模 型的自动分割结果。图3为Armadilo模型在分片数目为3、 5、6和7,Dino模型在分片数目为3、6、1l和14时的自动分割 结果。通过实验结果可以看出,该算法能够根据模型的表面 特征实现网格的自动分割,同时分割区域的边界线光滑,分布 于网格的特征处。图4中展示了此算法在处理复杂拓扑模型 的自动分割时,同样具有良好的适应性。 分片数目为3 分片数目为5 分片数目为6 分片数目为7 (a)Annadil1o模型 分片数目为3 分片数目为6 分片数目为l1 分片数目为l4 (b)Dino模型 图3 Armadillo以及Dino模型自动分割结果 基于文献[13]的分割基准,在不考虑算法效率的情况 下,文献[7]中的随机分割算法能够得到最佳的最接近人工 分割的分割效果。利用本文中的算法分别对相应的模型进行 自动分割,图5(a)中是利用文献[7]中的部分分割结果,图5 (b)中是利用本文中的算法得到的分割结果。通过对比可以 看出,本文算法的效果接近人工分割的结果。 表1中是不同模型进行分割所需要的时间。由于随机分 割的算法需要评价和综合多种分割算法,在将输入网格模型 简化到4000并确定分割数目后,依然需要多次迭代消耗 4 arin左右时间才能够得到较优的边界分割线。本文在聚类 4 计算机应用 2010盘 mesh parameterization using spectral analysis【C】//Eurographics Symposium on Geometry Processing.New York:ACM,2004:45— 过程中利用新的合并成本函数得到初始分割结果,然后利用 最小割方法全局优化平滑分割区域边界线,避免了迭代过程, 提高了分割算法的效率,而且分割结果接近人工分割结果。 (a) (b) (c) (d) (e) (f) 图4复杂拓扑模型的网格分割结果 ? j t 、l (a)随机分割法 (b)本文算法 图5与随机分割算法的效果对比 表1网格分割时间 网格数目 分割时间/s 4000 0.437 l0000 3.031 20000 11.609 30000 25.156 40000 59.4o6 4 结语 本文在传统的网格分割层次聚类算法的基础上,采用层 次聚类的方法对网格模型进行了初始分割,在构建合并成本 矩阵的过程中,利用相邻聚类公共边的长度,公共顶点的曲 率,以及聚类的面积对聚类之问的合并成本进行加权,提出新 的合并成本函数,从而在聚类过程中优先合并面积较小的非 网格特征处的面片,保留了网格表面凹陷的特征线,更好地利 用网格表面特征指导层次聚类。然后在层次聚类所得初始分 割的基础上,针对分割区域边界存在的锯齿现象,对于每一个 分割区域,全局考虑与其相邻的分割区域,在它们的模糊地带 构建流网络,基于区域内网格曲率等几何属性构建流网络中 弧的容量,利用最小割的方法更新模糊地带面片所属聚类,从 而优化分割区域边界,消除锯齿,平滑边界。 参考文献: 【1 1 GARLAND M,WILI MO FT A,HECKBERT P S.H{erarchical face clustering on polygonal surfaces[Cl//Proceedings of ACM Symposi— unl on Interactive 3D Graphics.New York:ACM.2001:49—58. f 21 ZHOU K,SYNDER J,GUO B,et a1.Iso—charts:Stretch—driven 54. [3】LEVY B,PETITJEAN S,RAY N,et a1.Least squares couformal maps for automatic texture atlas generation[CJ//Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Teeh— niques.New York:ACM.2002:362—371. [4]KATZ S,TAL A.Hierarchical mesh decomposition using fuzzy clus- tering and cuts【J】.ACM Transactions on Graphics,2003,22(3): 954—961. [5] SHLAFMAN S,TAL A,KATZ S.Metamorphosis of polyhedral SUE- faces using decomposition[J】.Computer Graphics Forum,2002,21 (3):219—228. f 6】 KATZ S,LEIFMAN G,TAL A.Mesh segmentation using fuamre point and core extraction【j】.The Visual Computer,2005,21(8/ 1O11:649—658. 【7】 GOLOV1NSKIY A,FUNKHOUSER T.Randomized cuts fur 3 D mesh analysis[C】//International Conference on Computer Graphics and Interactive Techniques.New York:ACM,2008:145. 【81 I I Y K,HU S M,MARTIN R R,et a1.Fast mesh segmentation u— sing random walks【C]//Proceedings of the 2008 ACM SDnposium on Solid and Physical Modeling.New York:ACM,2008:183—191. 【9】LIU R,ZHANG H.Segmentation nf 3D meshes thrnugh spectral clustering【C J//Proceedings ofthe 12th Paciifc Conference OD Com— puter Graphics and Applications.Washington,DC:IEEE Computer Society,2004:298—305. 【10]L1N H Y S,HA0 H Y M,LIN J C.Visual salience—guided mesh decomposition[C】//2000 IEEE 6th Workshop on Multimedia Signal Processing.Washington,DC:IEEE Computer Society,2004:331— 334. f 1 1】ATTENE M,FALCIDIENO B,SPAGNUOLO M.Hierarchical mesh segmentation based on fitting primitives[J】.The Visual Computer, 2006,22(3):181—193. 【1 2】SHAPIRA L,SHAMIR A,CHOHEN-OR D.Consistent mesh patti— tioning and skeletonisation using the shape diameter function【J】. The Visual Computer,2008,24(4):249—259. [13】CHEN X,GOLOVINSKIY A,FUNKHOUSER T.A benchmark fur 3D mesh segmentation【C】//International Conference on Computer Graphics and Interactive Techniques.NeⅥYork:ACM.2009:73. 【14]JOHNSON S C.Hierarchical clustering schemes[J】.Psychometri— ka,1967,32(3):241—254. [15】YAMAUCHI H,GUMHOLD S,ZAYER R,et a1.Mesh segmenta— tion driven by Gaussian curvature【J].The Visual Computer,2005, 21(8/10):659—668. [16]SHI J,MAHK J.Normalized cuts and image segmentation【J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000,22(8):888—905. [171 SHAMIR A.A survey off mesh segmentation techniques[J].Corn— puter Graphics Forum,2008,27(6):1539—1556. [1 8]MIAO YONGWE1,FENG JIEQING X1AO CHUNX1A,et a1.Difer- entilas--based segmentation and parametefization for point・-sampled surfaces『J】.Journal of Computer Science and Technology,2007, 22(5):749—760. [19】LIU R,ZHANG H.Mesh segmentation via spectra1 embedding and contour analysis[Jj.ComputerGraphics Forum,2007,26(3):385 —394. 【2O]段明秀.层次聚类算法的研究及应用[D].长沙:中南大学, 2009:16—17