徐赐军,田 柳,2,李炜龙,2,黄松林
(1.湖北理工学院 机电工程学院,湖北 黄石 435003;2.武汉科技大学 机械自动化学院,湖北 武汉 430081)
目前,机械结构三维CAD(computer aided design)模型已成为机械产品设计、制造等各个环节的重要信息载体,因此,各企业积累了大量的CAD模型,甚至形成了专门提供专业三维模型的云平台。技术人员在机械设计的三维模型重用过程中,将面对海量的模型数据,机械结构三维CAD模型检索技术也必将得到广泛应用。
三维CAD模型检索方法主要分为基于语义和基于内容的模型检索。JEON等[1]针对CAD模型和设计文档语义差别,提出语义加工和规则处理的方法获取CAD模型和设计文档间隐藏的设计信息,实现CAD模型的自动检索。黄瑞等[2]针对制造领域的三维CAD模型制造信息的有效重用,提出一种融合制造语义的三维CAD模型检索方法。吴强等[3]通过分析三维CAD零件模型功能表面间的关系构建零件工程图结构模型,并构建概念格因子,实现零件三维模型的检索。虽然基于语义的模型检索是模型重用的一个研究热点,但由于CAD模型的复杂性及语义推理的难度,目前研究较多的依然是基于内容的模型检索方法。
OSADA等[4]通过对模型表面进行随机采样,然后统计采样点间的距离作为相似度度量尺度,比较形状分布曲线来实现相似性比较。TASHIRO等[5]采用具有尺度和旋转不变性的兴趣点提取超向量编码特征,实现三维模型的检索。张开兴等[6]提出三维CAD模型距离—夹角形状分布、基于距离面积统计特征的三维模型检索方法。陈强等[7]通过构造特征矩阵提取法线夹角及面积分布的特征,并结合形状分布算法特征,形成新的三维模型检索算法。王洪申等[8]根据随机线段的端点法矢与线段形成的角度进行分类,并比较形状分布曲线来实现模型相似性比较。李亮等[9]根据采样点与其邻域内各点的测地距离,构建模型的局部形状分布直方图,通过比较直方图实现模型的相似性计算。上述基于统计学的模型检索方法原理简单明了、计算快速,但对于复杂的三维模型区分效果欠佳[9]。
基于抽象图的模型检索方法能较好地描述模型的结构,如模型图、骨架图等。LI等[10]针对B-rep模型提出一个包含几何信息和拓扑信息的层次表达结构,并实现了实体模型的检索。黄明聪等[11]通过识别B-rep模型的过渡特征,重构CAD模型的属性邻接图,并利用子图同构方法实现三维CAD模型检索。陶松桥等[12-13]引入包含多属性的面特征属性和面几何边界特征属性表达CAD模型的形状特征,提出基于面属性相似的CAD模型检索方法。皇甫中民等[14]针对CAD模型的B-rep表示方式,提取模型的几何拓扑信息,构建模型属性邻接标记图,实现基于图谱及空间词袋表征的CAD模型层次特征描述子的模型检索方法。徐敬华等[15]将实体模型进行分割,建立有序的满二叉树,并通过比较非根节点的相似度实现三维模型的检索。基于模型图的模型检索方法能对模型的几何和拓扑信息进行有效描述,但不适合通用领域的模型[16]。骨架图是模型的特征简化,反映了模型的拓扑信息,也被逐渐应用到模型检索技术中。孙长乐等[17]提出一种以CAD模型特征拓扑结构为骨架,以特征为单元,以特征生成曲面的几何性为细节的CAD模型检索方法。朱文博等[18-19]利用模型骨架转化获得模型的拓扑结构信息,并结合灰色关联分析方法或采用空间离散曲线的曲率和佛朗内特标架等方法计算骨架形状相似度。由于基于抽象图的方法通常是NP问题[16],智能算法也在模型检索算法中发挥着重要的作用,如高雪瑶等[20]采用边数的差异度量模型间的形状相似程度,并使用蚁群算法匹配模型间的面,计算最优面匹配序列的两个模型之间相似性。
综上所述,三维CAD模型检索研究的核心是如何选择度量相似度的模型特征,但目前研究中基于统计学和抽象图的特征存在一定的局限性,没有充分利用CAD模型基本体具有明确解析几何表达式的特征。机械结构形态是基于基本体转换模型的扫掠基面、扫描导线及轮廓约束线的模型特征简化,且可直接根据三维CAD模型的几何特征提取,具有明确的解析几何表达式,全面地反映了模型的外形特征、几何尺寸及拓扑关系等信息。若将机械结构初步设计阶段所形成的线框草图转换成机械结构形态,则可根据其形态直接搜索形态相似的机械结构三维CAD模型,满足非机械专业设计人员的技术交流。因此,本文提出基于机械结构形态的三维CAD模型检索方法。
基于机械结构形态的三维CAD模型检索主要以机械结构形态为主要特征,研究机械结构形态所包含的基本体形态以及基本体转换模型等对象特征的相似度,构建三维模型检索框架,如图1所示。图1的基础模块主要功能是通过基本体转换模型实现机械结构三维模型和机械结构形态的相互转换[21]。为了统一机械结构模型构建过程中各种基本体的表达方式,提出由扫掠基面、扫掠导线和轮廓约束线三要素组成的基本体转换模型[22]。基于基本体转换模型及基本体形态提取规则可获得机械结构的每一个基本体的形态,然后利用基本体形态知识融合技术即可获得机械结构形态[21-23],如图2所示。图2b根据图2a三维建模时的基本体提取每个基本体形态,并构建图2c所示的机械结构形态。技术模块主要研究以机械结构形态为基础的模型特征相似度指标,包括基本体形态相似度和基本体转换模型特征相似度。应用模块主要根据模型检索需要选择合适的指标实现三维模型的粗检索和精检索。
机械结构形态采用线、面的几何要素抽象地描述了机械结构的形状、拓扑关系等重要信息。由几何知识可知,机械结构形态的相似比较即为线的位置、方向、形状等几何信息的比较。机械结构形态由若干基本体形态构成,因此,为了降低源基本体形态与目标基本体形态相似计算的复杂性,本文提出两个基本体形态特征点的黄金分割相似系数计算公式:
(1)
式中A,B分别表示源基本体形态和目标基本体的特征点,d(A,B)表示特征点的欧氏距离,max(d(Ai,Aj))表示源机械结构形态中顶点Ai,Aj的最远距离。本文根据基本体形态的整体尺寸和位置相似等特性提出基本体形态相似度计算的前提条件:
(2)
式中:c1,c2分别表示源基本体形态和目标基本体形态的周长。oA,oB分别表示源基本体形态和目标基本体形态的中心,其坐标为机械结构形态顶点坐标的平均值。若基本体形态为单段闭环,则由该形态的几何特征直接确定其中心点,如圆的中心为其圆心。a表示两个形态整体尺寸的差异程度,a≥1;β表示两个形态中心位置的整体差异程度,0≤β<1。它们选择的主要依据是源机械结构形态尺寸,即整体尺寸越大,a值越小,β值越大。式(2)综合考虑基本体形态整体尺寸及空间位置两个因素构造基本体形态相似度计算的前提条件,从而避免相似度极低的基本体形态进入检索的下一个环节计算。
基本体形态位置主要由基本体形态的特征点决定,其相似度是为了度量基本体形态位置的相似关系。根据基本体形态起点和终点是否重合及曲线组成的段数,将其划分为单段开环形态、多段开环形态、单段闭环形态和多段闭环形态。各形态特征点的选择规则如表1所示。
表1 特征点选择规则
最近端点指源形态与目标形态均为开环形态,且距离最近的两个端点;最近顶点指多段闭环形态各顶点到另一形态已知点距离最近的两个点;最近迭代点指单段闭环形态采用给定步长的方法采样若干迭代点,并与另一形态已知点距离最近的两个点。由于三维软件常见的单段闭环形态可由参数方程的解析几何表达式进行描述,且参数范围为[0,1]。因此,确定迭代步长t后,即可获得若干个迭代点Ai。根据源形态与目标形态的类型,采用表1的距离计算方法,选取满足式(3)条件的特征点A,B作为基本体形态的特征点:
{A,B|d(A,B)=min(d(Ai,Bj)),i=1,2,…,n且j=1,2,…,m}。
(3)
当基本体形态为开环时,m=2或n=2。因此,根据基本体形态特征点A,B及式(1)即可确定基本体形态位置相似度Sl。
基本体形态姿态相似度主要体现源形态和目标形态在空间方向上的相似程度,且根据空间解析几何知识,平面的法向向量可以确定基本体形态所定义平面的姿态,方向向量可以确定基本体形态起点、终点的相对位置。因此,根据源形态和目标形态的特征,姿态相似度的主要比较规则如表2所示。
表2 比较规则
2.3.1 比较内容
(1)方向向量
机械结构基本体形态曲线方向向量是曲线起点指向终点,如图3源形态曲线1的方向向量为vs1。令源形态和目标形态第i对曲线方向向量分别为vsi,vti,则其相似性评估采用Tanimoto系数,即
(4)
当Ti<0时,表明基本体形态曲线的方向向量夹角大于90°,即它们方向趋向背离,因此此时定义两段形态的曲线相似度为0,即Ti=0。
(2)法向向量
机械结构基本体形态曲线法向向量比较主要衡量两段非直线的曲线所在平面相对转动导致的形态曲线的差异程度。因此,基本体形态曲线法向向量定义为曲线特征点分别指向终点和起点的两个向量的外积。由于机械结构形态的每段曲线均采用起点、终点、特征点及几何类型进行存储,其中单段闭环形态曲线由其中心及其曲线上的两个四等分点进行表达。若两个形态待比较的曲线含有直线,则这对曲线不比较法向向量。令源形态和目标形态第i对曲线法向向量分别为usi,uti,则其相似性评估采用余弦相似度,即
(5)
2.3.2 比较方法
(1)单一比较
单一比较是源形态与目标形态均只取一个向量予以比较。若比较形态中存在多段开环形态或非直线开环形态,则该形态的方向向量定义为特征点指向该形态的末端。如图3所示,源形态为直线形态,即取向量vs1,而目标形态直接取其首末端相连的向量vt1。因此,两个基本体形态姿态相似比较转化为向量vs1与vt1的Tanimoto系数计算。
(2)逐段比较
(6)
(7)
式中T(P1,i+1,P2,j)表示形态P1第i+1段曲线与形态P2第j条曲线的方向向量Tanimoto相似系数。如图4所示,基本体形态特征点分别为A,B,按形态P2顺序比较曲线相似性,当形态P2的第2段曲线与形态P1的第2段曲线进行比较时,根据式(6)可知形态P1的第2段曲线、第3段曲线构成待比较曲线集合,因此,该阶段姿态相似性比较应为形态P2的第2段曲线方向向量与图4c的v1向量及其构成的曲线法向向量进行比较。
(3)先分后比
先分后比是对单段非直线形态曲线按照一定规律划分成若干段曲线,然后进行逐段比较的方法。若比较形态为多段曲线形态与单段闭环曲线形态,则以单段闭环形态特征点为起点,依次按多段形态构建顺序及其所包含每段曲线的周长所占比例获得分割节点,然后采用逐段比较法计算相似性。令多段形态包含m段曲线,且第i段曲线的周长为csi,单段闭环形态采用参数方程表示,其特征点的参数值为t0,则根据先分后比方法定义可知,每个分割节点的参数值为:
(8)
因为tj∈[0,1],所以当tj>1时,tj=tj-1。因此,根据该参数及单段闭环形态参数方程可确定分割节点坐标xj=x(tj),yj=y(tj),zj=z(tj)。
如图5所示,基本体形态特征点分别为A,B,且令特征点坐标相同。本文给定示例中形态P2特征点A确定的参数t0=0.167,根据式(8)计算的参数则可确定后续节点,如图5c所示。因此,基本体形态P1和P2的相似性可根据图5d所示的曲线逐段比较。
若比较形态均为单段非直线形态,则两个形态均以形态参数方程参数值取值范围的四等分为参数值获取形态的分割节点,然后进行逐段比较。如图6a所示,源形态与目标形态轮廓周长相近,但实际轮廓形状差异较大。采用四等分分割后的形态方向向量凸显了两个形态的差异,例如两个基本体形态其中一对方向向量如图6b所示。因此,单段非直线形态采用分段方法进行姿态比较具有明显的优势。
综合基本体形态比较内容和比较方法的分析,以及表2提出的形态比较规则,若基本体形态采用单一比较法,则基本体形态姿态相似度为Sd=T1,否则基本体形态姿态相似度定义为:
(9)
基本体形态轮廓相似度主要比较形态曲线形状导致的形态差异程度。根据式(4)的Tanimoto系数计算可知,基本体形态曲线方向向量的比较已经蕴含了两段曲线端点间欧氏距离的比较,因此,基本体形态轮廓相似度比较应不再比较方向向量的长度。但基本体形态曲线周长并不一定与方向向量的长度相等,即基本体形态轮廓依然存在差异。本文定义曲线轮廓值来衡量曲线轮廓相对于其方向向量长度的差异,即将第i个基本体形态第j段曲线的轮廓值定义为:
(10)
式中ccj、dj分别表示第j段曲线的周长及两端点的欧氏距离。
因此,若源基本体形态第i段曲线与目标基本体形态第j段曲线构成第h对相似配对,则曲线轮廓相似度定义为:
(11)
因此,基本体形态轮廓相似度为:
(12)
基本体形态相似度是机械结构形态中某一对基本体形态相似程度的度量。根据源机械结构形态的特征分析,若基本体形态的位置相似度、姿态相似度和轮廓相似度的权重为ωl,ωd,ωc,且ωl+ωd+ωc=1,则机械结构形态比较中第i对基本体形态相似度为:
Spi=ωlSl+ωdSd+ωcSc。
(13)
3.1.1 坐标系变换相似度
机械结构形态采用主特征形态分析法确定形态的平移变换及旋转变换,确保形态构建过程中的空间位姿不变。同时,根据两个比较的主特征形态尺寸比例,对目标形态进行缩放变换,降低拓扑关系相同而尺寸大小导致的相似度误差,但由于尺寸的变化,目标形态变换前后的结构必然存在差异,本文定义坐标系变换相似度如下:
(14)
式中:s表示目标机械结构形态相对于源机械结构形态的缩放因子;b表示缩放变换导致的三维模型相似性最大保持值,即目标机械结构三维模型不论缩放多少,依然认定模型缩放前后的相似度为b。相似性最大保持值突出了机械结构模型拓扑关系及形状在相似性比较中的重要性。
3.1.2 机械结构形态相似度
根据机械结构三维模型构建方法,有效机械结构形态主要分为增材基本体的线形态、面形态,以及减材基本体的线形态、面形态[22]。在机械结构形态比较中,面形态的相似度计算按轮廓线予以比较,若面形态轮廓具有多个环,则每个环视为一个独立的基本体形态,且外环为增材基本体形态,内环为减材基本体形态。根据基本体形态特征将机械结构形态分为实线线形态、实线面形态、虚线线形态和虚线面形态4个基本体形态集,并依次比较源机械结构形态与目标机械结构形态对应基本体形态集中的基本体形态相似性,具体步骤如下:
步骤1分别提取源机械结构形态与目标机械结构形态的4个基本体形态集Q1i、Q2i,其中i=1,2,3,4,令集合的基本体形态数量分别为mi,ni,并设定权重ωl,ωd,ωc,初始化参数i=1。
步骤4重复步骤3,直至原形态对为空,即形态集Q1i、Q2i形成min(mi,ni)对形态对。
步骤6根据每对基本体形态的相似度Spi,采用式(15)计算机械结构形态相似度:
(15)
基于基本体转换模型的机械结构形态体现了基本体的拓扑关系及主要几何信息。通过机械结构形态相似度计算并排序,选择相似度较高的机械结构形态,即可完成机械结构模型粗检索。根据技术人员的实际需要,对粗检索模型集中的三维模型进行基本体转换模型特征比较,实现机械结构三维模型的精检索。
3.2.1 基本体转换模型特征相似度
基本体转换模型能实现基本体三维模型的构建,因此,基本体转换模型三要素的结构相似性反映了基本体模型的相似性。基本体形态是基本体三维模型主特征的表达方式,且与基本体转换模型的扫掠基面、扫掠导线密切相关[22]。若基本体形态为扫掠基面,则基本体转换模型特征相似度比较扫掠导线和轮廓约束线,否则比较扫掠基面和轮廓约束线。因此,本文将机械结构形态所确定的与之对应的扫掠导线或扫掠基面称为基本体转换模型外特征。
针对机械结构粗检索中形成的形态对集P,提取每对形态对所对应的基本体形态比较特征,确定基本体转换模型外特征。基本体转换模型外特征定义了三维模型的位置、姿态及整体几何尺寸,但由于基本体形态相似性比较考虑了基本体三维模型的位置信息,因此,基本体转换模型外特征相似度Swi仅考虑其姿态及轮廓相似度,即
(16)
(17)
式中u1=u×v1,u2=u×v2,d(D,F)、d(C,E)分别表示扫掠基面在扫掠导线的C点、D点时基面与轮廓约束线的交点到扫掠导线的距离。因此,第i个形态轮廓约束线第j段全线的姿态值定义为:
(18)
式中e表示轮廓约束线的旋转方向,由式(19)决定。
(19)
式中v=v1×v2。
由基本体转换模型的轮廓约束线定义可知,扫掠基面在沿扫掠导线运动过程中每个顶点的旋转角度及其相对于导线的距离缩放是一样的。因此,由式(17)可知,不论选图7的哪条棱线作为轮廓约束线,轮廓约束线的姿态值都不变。
轮廓约束线的轮廓相似性比较与基本体形态轮廓相似性比较同理,因此,根据式(11)及式(18),形态对集P第i对基本体形态所对应的基本体转换模型轮廓约束线相似度为:
Sti=
(20)
3.2.2 机械结构三维模型相似度
机械结构三维模型根据模型构建方法可分解成若干基本体,并利用基本体转换模型将基本体统一成扫掠基面、扫掠导线和轮廓约束线的表达方式。因此,针对粗检索的三维模型集合,综合机械结构形态及基本体转换模型特征的相似性比较方法,本文定义机械结构三维模型相似度如式(21)所示:
(21)
式中ωp、ωw、ωs分别表示机械结构形态相似度、基本体转换模型外特征相似度和轮廓约束线相似度的权重。由于机械结构形态为三维模型的主要特征,本文规定ωp>ωw>ωs,且各权重满足式(22)。
(22)
美国普渡大学开发的ESB模型库[24]包括回转体类、棱柱类和薄壁类的867个CAD模型,为不同模型检索算法的验证提供了公共平台。本文以该模型库为基础数据,并选择T-Shaped parts类的DIN6304模型为源模型,其机械结构三维模型及其形态如图8所示。本文采用VS2008、Proe5.0以及SQL Server 2016等开发工具实现本文算法,相关参数选择及检索结果如图9所示。
由图9的形态相似度和模型相似度可知,机械结构三维模型检索基本可由其形态相似度比较指标实现,但模型相似度比较进一步精确了机械结构模型的几何特征相似性。若针对机械结构形态高度相似的三维模型,则可采用模型相似度指标进行精检索。图10是图9中3号模型结构的一个视图,保持其形态结构不变,将φ16、φ20分别改为φ4、φ16,则修改后的结构模型相似度约为0.929 8。由图9的相似度值可知,修改后的结构形态相似度比图9中4号模型结构的相似度高,但模型相似度较低。因此,本文三维模型算法可根据实际需要实现机械结构三维模型的粗检索和精检索,同时能实现几何尺寸导致的模型区别。针对T-Shaped parts类三维模型的几种检索算法比较如表3所示,其中模型名称取部分文字描述。
表3 检索结果比较
由表3可知,本文算法与文献[9]算法均能获取最相似的6个模型,但由图11及图10比较可知,将表3的90-E模型及110-F1模型分别与6304模型进行比较,90-E模型与6304模型相似性更高。综合表3各模型的结构和尺寸分析可知,本文算法检索到的模型顺序更加合理。
基于机械结构形态的三维模型检索另一功能是为非机械专业设计人员提供模型检索方法。设计人员可以根据机械结构的功能需求设计其形态,如表4的“十”字型查询形态模型所示。根据该形态即可以对机械结构三维模型库进行搜索,并获得相似的机械结构。本文在ESB模型库中搜索到相似度排序前5位的结果,如表4所示,设计人员可根据设计要求对表中三维模型进行重用、改进等设计。
针对ESB模型库进行统计测试,4种算法的查全率—查准率曲线如图12所示。图12反映了本文算法具有较好的检索结果。同时,以美国国家设计资源库[12]中的模型GOOD-BRACKET为查询模型,获取相似度排名前5的模型如表5所示,进一步验证了基于机械结构形态的三维CAD模型检索的可行性。
表4 以形态查询的检索结果
表5 检索实例
机械结构三维CAD模型的重用是机械产品开发的重要手段,但模型的精确检索依然存在许多技术瓶颈问题。基于机械结构形态的三维CAD模型检索充分利用了三维CAD模型确定的解析几何表达式,从模型基本体的外形特征、几何尺寸及拓扑关系等方面进行全面的相似性比较,且能实现依据机械结构形态索引机械结构三维模型。本文研究了机械结构基本体形态的位置相似度、姿态相似度以及轮廓相似度指标的构建方法,并综合三维模型坐标系变换相似度提出机械结构形态相似度评价方法,实现三维CAD模型粗检索。为了进一步比较三维模型几何特征,研究了基本体转换模型扫掠基面、扫掠导线的相似比较策略,并通过定义轮廓约束线的旋转姿态值、缩放姿态值来评价基本体转换模型轮廓约束线相似度;综合机械结构形态相似度及基本体转换模型三要素几何特征相似度提出机械结构三维模型的精检索方法。本文检索算法的实例验证和分析表明,基于机械结构形态的检索方法可以获得更加准确的检索结果,为机械结构三维CAD模型分布式检索及机构三维模型检索提供可行的技术支撑。