基于骨架树的机械零件三维模型检索方法-朱文博.pdf





《基于骨架树的机械零件三维模型检索方法-朱文博.pdf》由会员分享,可在线阅读,更多相关《基于骨架树的机械零件三维模型检索方法-朱文博.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第 52 卷第 13 期 2016 年 7 月 机 械 工 程 学 报 JOURNAL OF MECHANICAL ENGINEERING Vol.52 No.13 Jul. 2016 DOI: 10.3901/JME.2016.13.204 基于骨架树的机械零件三维模型检索方法*朱文博 耿国庆 刘阳阳 张 祥 阳 鼎(上海理工大学机械工程学院 上海 200093) 摘要: 提出了一种基于骨架树进行机械零件三维模型检索的方法。检索分为两个阶段。第一阶段首先提取机械零件三维模型骨架,然后将骨架转换成骨架树并用邻接矩阵来描述骨架树的拓扑结构特征,通过比较邻接矩阵特征值之和迅速完成零件拓扑结构匹配
2、,实现零件的初步筛选。将大量与待匹配模型拓扑结构差异较大的模型过滤掉,极大地减少了第二阶段的匹配计算量。第二阶段首先寻找匹配的骨架子树,其次在匹配子树的基础上搜索骨架枝匹配对,进而采用空间离散曲线的曲率和弗朗内特标架进行空间曲线相似性计算,得到整个骨架形状相似度。通过实例验证与试验分析,该方法快速有效,具有较高的准确性和良好的鲁棒性。 关键词 : 机械零件;三维模型检索;骨架树;拓扑结构;邻接矩阵;弗朗内特标架 中图分类号 : TH128 3D Model Retrieval Method of Mechanical Parts Based on Skeleton Tree ZHU Wenbo
3、 GENG Guoqing LIU Yangyang ZHANG Xiang YANG Ding(School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093) Abstract: A method for 3D model retrieval of mechanical parts based on skeleton tree is put forward. Retrieval is divided into two stages. The first
4、stage is to extract the 3D model skeleton of mechanical parts, and then convert the skeleton into a skeleton tree. Using the adjacency matrix to describe the topological structure of the skeleton tree, the initial selection of mechanical parts is realized by comparing the sum of eigenvalues of the a
5、djacent matrix. A large number of models which have a big difference with the matching model in topological structure are filtered out, which greatly reduces the matching computation of the second stage. The second stage, find the matched skeleton subtree firstly, search matched skeleton branches ba
6、sed on the matched subtree secondly, and then using the curvature and Frenet frame of space discrete curves to calculate the skeleton branches similarity, and then get the whole skeleton tree shape similarity. Through example analysis with the experiment, this method is effective and has high accura
7、cy and good robustness. Key words: mechanical parts; 3D model retrieval; skeleton tree; topological structure; adjacent matrix; Frenet frame 0 前言*在进行产品设计时,可以从大量的实际案例中找到与之类似的案列进行复用设计,因此,如何快速的从大量的案例中检索出所需要的相似案例成为急需解决的问题。针对机械零件三维模型的检索,AONO 等1提出了一种三维零件描述符,对于具有孔和表面粗糙度的机械零件,通过计算三维模型不同投影的傅里叶谱来检索模型的相似度,然而,对
8、于模型表面复杂度较高的零件此方法实现起来较*上海市教育委员会科研创新 (13YZ071)和国家自然科学基金 (51375314)资助项目。 20151026 收到初稿, 20160412 收到修改稿 难。 HU 等2提出基于典型面匹配的机械零件检索方法,利用特定几何形状的分布函数进行实体模型的检索, 该方法可以检索到具有局部相似特征的零件,但无法满足对模型整体形状和拓扑特征相似性的检索。 IYER 等3将模型形状转化为特征矢量和一个独特的骨架图,利用其组合距离提供一种间接衡量模型相似性的方法。该方法适用的零件相对简单。ALIZADEH 等4提出了一种基于视图的形状特征,并利用二维泊松方程的搜索
9、来检索三维物体。CHEN 等5提出了一种基于三维点的三维模型匹配与检索的方法,选择测地线距离直径和形状函数构造特征点的双向特征,从数据库找到最相似的模型月 2016 年 7 月 朱文博等:基于骨架树的机械零件三维模型检索方法 205 形状。韩丽等6通过构建模型的拓扑结构树,并融合局部突起的几何特征,提出一种基于图结构和几何细节的模型相似性匹配方法。徐敬华等7提出基于递归分割的机械零件三维形状结构检索方法,将实体进行分割,建立有序的满二叉树,通过比较非根结点实体的相似度,获得零件三维模型相似度,该算法可以准确反映零件整体和局部特征,但是算法较为复杂。 HOMEM 等8用广义势场法推导出二维规则多
10、边形的骨架,然而只针对平面图形,对于三维模型未涉及,不能适用于机械零件的检索。关华等9提出一种人体三维 Reeb 计算方法, 给出基于Reeb 图的一般人体骨架结构表示, 该方法简单有效地表达了人体模型的拓扑结构,但是并不能表达模型表面形状特征,对于机械零件并不适用。中轴变换法和广义势场法原理类似,提取的骨架都是一维线性结构,能很好的表达模型的拓扑和形状。但是中轴法不能保证骨架的连通性和单像素性,而且中轴容易受到边界噪声的干扰,容易出现毛刺10。马锐等11-13提出了一种构建 3D 模型多层次骨架的算法,通过在模型边界均匀分布同种点电荷,生成广义势场,选取不同种子点,在力的引导下生成模型的骨架
11、。广义势场法提取的骨架可以有效排除边界噪声,具有良好的连通性,本文生成骨架的方法就是建立在广义势场法的基础上。 本文首先生成机械零件骨架,随后匹配骨架的相似性,整个匹配过程分为两个阶段。第一阶段比较骨架拓扑结构相似性,并设定阈值,淘汰掉拓扑结构差异较大的零件,缩小检索范围。第二阶段通过匹配骨架子树和骨架枝,计算整个骨架的形状相似度,从而得到机械零件三维模型的相似度。 1 提取机械零件模型骨架 本文提取骨架的算法是根据文献 14中所述方法完成的。以图 1a 零件一为例,简述该零件骨架的生成。首先对零件进行预处理,得到零件的模型如图 1b 所示。 图 1 零件一及其预处理模型一 预处理后,模型无中
12、空结构。依据文献 14,假设简化后零件模型表面均匀分布着正电荷,这些电荷在模型内部产生了一个稳定的电场,使得模型内部某一点的电场力方向是一定的,模型内部起始点受到电场合力的作用,起始点沿着合力的方向按照一定的步长前进,直到到达最小位势点。起始点的移动轨迹构成骨架的分支,最终连接相邻最小位势点形成完整的骨架。图 1 所示零件模型的骨架提取如图 2 所示。 图 2 模型一的骨架提取 2 骨架树拓扑结构相似性 常见机械零件模型表面主要由平面和回转面组成,提取出的骨架是由若干彼此相连的空间直线段和空间曲线段构成,骨架体现了零件模型的形状特征和拓扑特征。如果骨架为空间直线段或空间曲线段,称之为非环状骨架
13、枝;如果骨架为一个圆周,则称之为环状骨架枝。零件的形状特征主要由骨架枝的形状和空间位置来确定,骨架枝之间的匹配将在第 3 节中论述。零件的拓扑结构特征由各个骨架枝之间的连接和层次关系来确定。本节将零件的拓扑结构特征转换为骨架树,并用邻接矩阵来描述骨架树,通过比较邻接矩阵特征值之和从而得到零件拓扑结构的相似性。 2.1 生成骨架树 为了描述骨架的拓扑结构特征,将骨架转化成一种树状结构称之为骨架树。 将骨架的所有起始点、具有两个及两个以上线段的连接点称为骨架树的节点。其中,骨架的所有起始点为骨架树端点;具有两个及两个以上线段的连接点为骨架树分叉点。以各分叉点为球心做与模型表面相切的最大内切球,取具
14、有最大球半径或靠近零件重心的分叉点为骨架树的根节点,其余各节点为根节点的子节点。除根节点外的分叉点衍生出的骨架树为整体骨架树的子树,该分叉点为子树根节点,以各子树根节点衍生出来的节点均为该子树根节点的子节点。 图 3 为模型一的骨架。根据定义,0S ,1S , , 机 械 工 程 学 报 第 52 卷第 13 期 期 206 17S 为骨架树的节点,其中,0S 、1S 、2S 、3S 、12S 、13S 为骨架树分叉点,其余各点为骨架树的端点。经测量选取0S 点为骨架树根节点,其余各节点称为骨架树根节点的子节点。以1S 、2S 、3S 、12S 、13S 为各子树根节点,各子树根节点衍生出来的
15、节点为该子树根节点的子节点。 例如:1S 是子树根节点,4S 、5S 、6S 、7S 是1S 的子节点。由于骨架枝14 15SS 和16 17SS 均为圆周,则14 15SS和16 17SS 为环状骨架枝,14S 与15S 、16S 与17S 均互为子节点。其余骨架枝均为非环状骨架枝。由图 3 所示骨架生成的骨架树如图 4 所示。 图 3 模型一的骨架 图 4 模型一的骨架树 2.2 邻接矩阵表示骨架树 邻接矩阵可以准确表达骨架树的拓扑结构特征15。在对零件进行匹配时,可以通过比较各个零件骨架树所对应的邻接矩阵的相似度来判断零件拓扑结构的相似性。由图论16中关于邻接矩阵的知识,将模型的骨架树映
16、射到与之对应的邻接矩阵 G=(V, E)中,该矩阵为 N 阶 0,1方阵。其中 V 为该树的节点集, E为骨架树中骨架枝的集合。该邻接矩阵满足公 式 (1)()1,0ijijvvA i j n=其他E(1) 由此方法得到的模型一骨架树 T1 对应的邻接矩阵1TA 为式 (2) 012 1516170121151617011 0 0 0100 0 0 0100 0 0 0000 0 0 0000 001000 0 1 0TSSS S S SSSSSSS= A(2) 2.3 计算邻接矩阵特征值之和 根据矩阵的性质,由同一节点引出的子节点之间的不同排列顺序不会对矩阵特征值计算结果产生任何影响。由于
17、0,1邻接矩阵的迹为 0,即其对于0,1对称矩阵其特征值之和为 0,所以在计算 0,1对称矩阵特征值之和时忽略负特征值,即邻接矩阵特征值之和为所有正特征值之和。 经计算1TA 的特征值 (1TA )为 2.578 1、 2、1.853 6、 1、 1、 1、 0.326 9、 0、 0、 0、 0、 0、0、 0.857 5、 2、 2、 2.270 5、 2.630 6,忽略负特征值之后, T1 的邻接矩阵特征值之和为()1TA =9.758 6。 2.4 骨架树的拓扑结构匹配 两个零件相似程度越高,它们的拓扑结构相似程度也越高,所以在进行零件检索时,可以通过比较零件拓扑结构的相似性,进行初
18、步检索。零件骨架树的拓扑结构特征与其邻接矩阵的特征值之和是相对应的,因此可以通过计算矩阵特征值之和来比较骨架树拓扑结构相似性。两邻接矩阵特征值之和相差越小,表示两个骨架树的拓扑结构越相似。 图 5 所示为零件二及其预处理模型二,用文献14的方法生成骨架,如图 6 所示;模型二骨架对应的骨架树如图 7 所示;由模型二骨架树生成的邻接矩阵如式 (3)所示。 图 5 零件二及其预处理模型二 月 2016 年 7 月 朱文博等:基于骨架树的机械零件三维模型检索方法 207 图 6 模型二的骨架 图 7 模型二的骨架树 0 1 2 1617180122161718011 000100 000100 00
19、0000 000000 001000 010TSSS SSSSSSASSS = (3) 记模型二的骨架树为 T2, 它对应的邻接矩阵为2TA ,该矩阵的特征值 (2TA )为 2.629 2、 2.093 1、 2、 1.100 8、 1、 1、 0、 0、 0、 0、 0、 0、 0、0、 1、 1.496 6、 2、 2.478 4、 2.848 2。忽略负特征值之后, T2 的邻接矩阵特征值之和()2TA =9.823 2。如 2.3 节所述,模型一的骨架树 T1 的邻接矩阵特征值之和为 ( )1TA =9.758 6,1TA 和2TA 的特征值之和相差 0.064 6,说明零件一和零件
20、二拓扑结构的相似程度是非常高的。 由此,比较零件拓扑结构相似性的方法为:首先生成待匹配零件和零件库中已有零件的骨架、骨架树及相应的邻接矩阵,然后逐一计算邻接矩阵特征值之和,将待匹配零件与已有零件邻接矩阵特征值之和的差的绝对值从小到大排列,排序越前,则该零件与待匹配零件的拓扑结构越相似,至此完成零件第一阶段的检索。设定阈值,便可得到部分与待匹配零件拓扑结构相似的零件,淘汰掉拓扑结构差异较大的零件, 缩小第二阶段搜索范围。 阈值的设定是用户根据第一阶段的检索结果,人为指定一个值,也可以直接设定从第一阶段的检索结果中提取前多少个零件参与第二阶段检索。 3 骨架形状相似性 第二阶段比较骨架的形状特征相
21、似度,首先寻找匹配的骨架子树,其次在匹配子树的基础上搜索骨架枝匹配对,通过计算骨架枝之间的相似度来计算整个骨架的形状相似度。 3.1 建立子树匹配关系 骨架树的整体拓扑结构匹配可以通过计算整个骨架树对应的邻接矩阵的特征值之和确定, 同理,骨架树中任意一个子树对应着整体邻接矩阵的一个子矩阵,两个子树对应的子矩阵的特征值之和相差越小也反映这两个子树的拓扑结构越相似。 计算两个骨架树中各子树的邻接矩阵特征值之和,通过计算特征值之和的差找出各子树的最优匹配,直到其中一个骨架树中的所有子树均建立了匹配关系。含有环状骨架枝的子树和不含环状骨架枝的子树进行分类匹配。 如图 4 所示,骨架树 T1 共有五个子
22、树,分别为: 以1S 为根节点的子树1Ts (1S 4S 、5S 、6S 、7S );以2S 为根节点的子树2Ts (2S 8S 、9S 、10S 、11S );以3S 为根节点的子树3Ts (3S 12S 、13S 、14S 、15S 、16S 、17S );以12S 为根节点的子树12Ts (12S 14S 、15S );以13S 为根节点的子树13Ts (13S 16S 、17S )。 由零件模型的对称性可知,子树1Ts 和2Ts 的结构是完全相同的,它们对应的邻接矩阵均为式 (4) 1/ 20111110000100001000010000Ts Ts=A (4) 其特征值为 2、 0、
23、 0、 0、 2,忽略负特征值,该矩阵特征值之和为 2。同理,12Ts 和13Ts 的结构也是完全相同的,它们对应的邻接矩阵均为式 (5)。 机 械 工 程 学 报 第 52 卷第 13 期 期 208 12/ 13011101110Ts Ts=A(5) 其特征值为 1、 1、 2,忽略负特征值,该矩阵特征值之和为 2。3Ts 对应的邻接矩阵为式 (6)。 30110000100110010000110100100010100000100010010010Ts=A(6) 其特征值为 1.813 6、 1、 1、 1、 0.470 7、 2、2.342 9,忽略负特征值,特征值之和为 4.813
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 骨架 机械零件 三维 模型 检索 方法 朱文

限制150内