三维CAD模型检索技术研究现状与发展趋势【摘要】对目前三维CAD模型检索技术的研究现状和发展趋势进行了的综述。首先从文本检索、内容检索和语义检索三个方面对三维CAD模型检索技术国内外研究现状进行了全面论述;分析总结了现有三维CAD模型检索系统及三维CAD模型检索技术的应用;最后对三维CAD模型的检索技术存在的问题及未来的发展方向进行了展望。关键词:三维CAD模型;内容检索;语义检索3DCADmodelretrieval:state-of-the-artreviewandfuturetrendsKeywords3DCADmodel;content-basedretrieval;semantic-basedretrieval引言随着信息化建设的不断深入,基于三维模型的产品设计与制造已成为我国制造业的主流模式,由于产品三维模型具有可视化、数字化和虚拟化等特点,使其成为产品开发各环节(CAD、CAE、CAPP、CAM等)不可或缺的基础载体[1]。研究和统计分析表明,在新产品开发中,约40%是重用过去的部件设计,约40%是对已有设计部件的微小修改,而只有约20%是完全新的设计[2]。因此,如何方便、准确、快速地获取已有产品三维模型的相似性设计成果,并加以有效重用,是提高设计效率、缩短产品开发周期的关键之一,通过三维模型检索技术可以实现企业产品三维模型资源的多粒度、精确化、个性化快速聚类,为产品设计过程中各类设计成果的重用提供一种全新的支持手段。本文首先简单介绍了三维CAD模型检索技术的体系结构,并对目前国内外一些优秀的检索算法进行了归纳整理,比较了它们的优缺点,然后对三维CAD模型检索系统及应用进行了讨论,最后对目前研究中存在的问题和未来发展方向的进行了展望。1三维CAD模型检索体系结构三维CAD模型检索技术是利用能够反映CAD模型文本、形状、特征及语义信息自动建立索引,从而达到检索三维模型的目的。其通常包括模型库组织、预处理、特征提取、相似性度量、索引结构、用户查询接口、相关反馈等多项关键技术。三维模型库特征信息提取索引结构相似性度量特征信息提取输入查询接口模型排序检索结果相关反馈可视化用户离线在线图1检索系统的体系结构三维CAD模型检索首先从CAD模型中自动计算并提取模型的特征信息,建立模型的信息索引,然后在多维索引空间中计算待查询模型与目标模型之间的相似程度,实现对三维模型数据库的浏览和检索,检索系统的框架如图1所示,通常一个完整的模型检索系统主要包括以下几个方面:(1)信息提取,CAD模型包含的信息由文本、几何形状、拓扑结构、表面信息及特征语义等信息,这些信息往往比较复杂且不易获得,因此如何有效地提取这些信息来描述CAD模型成为三维CAD模型检索首先要解决的问题,同时也是一个难点。(2)相似性度量,信息提取是三维模型检索的前提条件,相似性度量则是使提取的信息得到正确应用的保证。选择适当的度量尺度,将查询模型的特征与待查询的数据库中模型特征进行比较,用相似性、相异性度量尺度计算两个模型对应的特征之间的距离,从而得到两个模型之间的相似性。(3)索引结构,面对庞大的三维模型数据库,必须建立快速、有效的索引结构。(4)用户查询接口,一个好的检索系统应该拥有交互性能,给用户提供方便的查询和浏览。其中,用户查询接口的优劣对三维模型检索系统的可用性和检索性能有较大影响。目前的检索方式有:基于文本关键字的检索、基于手工绘制2D草图的检索、基于手工绘制3D的草图检索、基于3D模型实例的检索、语义查询和混合检索。(5)检索性能评价,主要是考察检索结果是否与用户的期望相接近,是否满足用户的需求。由于受用户主观性及检索中“相关模型”的判断和定义不明确的影响,目前还缺乏比较客观有效的评价准则。现有的评价标准都是基于模型库中的模型定义明确并且类别划分清楚,那么对于检索系统可以通过查全-查准率曲线[3]、E测度[4]等指标实现性能的评价。2三维CAD模型检索技术现状分析三维模型检索技术经历了基于文本的检索、基于内容的检索和基于语义的检索三个阶段。其中,基于文本的检索主要是利用文本关键字对模型进行描述,在此基础上实现基于数据库的检索;Paques[5]等人在1997年提出了基于内容的三维模型检索,经过10多年的研究出现许多新的检索算法,三维模型检索成为继图像检索、视频检索后比较活跃的研究领域;而由于人类感知的主观性,低层视觉特征和高级语义信息之间存在“语义鸿沟”,因此基于内容的检索存在局限性,而通过语义检索可以解决“语义鸿沟”问题,有效的提高三维模型检索的效果,三维模型语义检索是目前研究的热点,同时也是难点。目前国内外很多学者对三维模型检索算法进行了不同的分类和比较[2][6][7][8][9][10],本文总结、归纳和整理它们的优点,根据研究对象性质特点、特征提取的方法类型,从文本检索、内容检索和语义检索三个方面对目前三维CAD模型检索技术国内外研究现状进行分析总结。2.1基于文本关键字的模型检索基于文本关键字的检索主要应用于企业PDM系统中,但其检索能力有限,因为三维模型很难用语言文字准确表达;文字的描述是一种特定的抽象,如果描述的标准改变,则相应的描述标签也得重新制作才能适合新的查询要求;文字标签是人为制作的,受主观因素的影响很大,不同的观察者或同一个观察者在不同的条件下对同一个三维模型可能给出不同的描述,因而不够客观,没有统一标准,甚至会自相矛盾;受标签使用语言种类的限制。基于上述原因,基于文本关键字的检索方式可靠性和检索效率不高。2.2基于内容的模型检索按照特征的表达形式及处理方式不同可以将基于内容的三维模型检索技术分为5大类方法:统计学的方法;抽象图的方法;投影的方法;函数变换的方法;外观属性的方法。(1)基于统计学的方法目前对三维模型的参数化仍是一个很复杂的问题,同时由于三维表面有任意的拓扑,导致一些广泛适用于二维图像的特征提取方法无法直接推广至三维领域。因此,从统计学的观点出发,寻找有区分能力的统计数据成为对三模型进行特征提取的首选思路。Osada等[11]用表面两个随机点间的距离(D2)作为度量尺度,并构建形状分布曲线,通过曲线的比较来实现模型相似性比较。为了增强D2描述符的表征能力,IP等人[12]提出根据两点间连线是否仅仅经过模型内部、外部或全经过将D2分为IN、OUT、MIXED三种,通过这种处理,有效地提高了形状分布算法的检索精度;王等人[13]根据随机线段按其端点法向与线段形成的角度进行分类,将一个三维模型表达为三个形状分布曲线,提高了检索能力。Ankerst等人[14]通过对三维模型形状信息进行相应的分割,统计落在每个分割单元中的数量,绘制成直方图,通过直方图的比较实现模型的相似性比较;Ohbuchi等人[15]提出利用惯性矩、平均距离和距离方差三个统计量共同组成的特征描述符来实现检索的算法。基于统计学的方法一般原理简单明了,计算快速,但往往只适合于全局特征的描述,对于模型中在设计意义上截然不同的局部区别无法有效地区分,但由于检索速度快,因此该类算法得到了深入研究和改进。(2)基于抽象图的方法基于图的方法试图用一个图从三维模型中提取其几何意义,从而显示模型各部分之间的相互连接关系。该类方法更注重提取模型的拓扑结构,主要包括三种:Reeb图;模型图;骨架图。Reeb图是一个定义在物体上的连续函数所确定的三维物体的拓扑、骨架结构。Hilaga等人[16]提出了基于多分辨率Reeb图的三维模型检索算法;Tung等人[17]提出增广Reeb图(AugmentedReebGraphs),将更多的几何特征用于局部属性的描述。Reeb图能够反映模型的拓扑性质,对于不同姿态的同一物体,其Reeb图表示是相同的,如不同姿态的青蛙。但当节点数较多时会使匹配时间增加很快,且对于模型的表面形状特征丢失较多。模型图通常将实体B-rep模型数据结构中的面表示成节点,将面间的交线作为边,模型通过图来比较它们的拓扑结构。El-Mehalawi等人[18][19]针对工程领域的B-rep模型提出了基于属性邻接图的检索算法;Marini等人[20]提出首先对多边形网格模型进行分割,然后利用图匹配的方法来实现模型的局部相似性匹配;王等人[21]通过构造CAD模型图,利用图的特征向量作为自组织特征映射神经网络的输入,借助神经网络进行CAD模型的自动聚类。基于模型图的方法能对模型的几何和拓扑信息进行有效描述,适合CAD领域的模型,不适合通用领域的模型。骨架图是模型的一种抽象图,能够反映模型拓扑信息。该类方法通常是先将模型细化,使模型以体素宽度表达物体,形成骨架图,然后比较骨架图间的相似程度。Sundar等人[22]提出利用基于参数控制的细化算法来对模型进行骨架提取,该方法适合体素模型;Gao等人[23]提出了基于蔓延的实体模型骨架生成方法,并将其用于三维模型的相似性比较。基于抽象图的方法能较好地描述模型的细部结构,并能表达适当的语义信息,实现模型的局部匹配。但通常此类方法的缺点是计算和存储复杂,要实现两个图的完美匹配的计算通常是NP问题,算法的通用性较差。(3)基于投影的方法基于投影的方法通过对一个三维模型进行多个视角的投影,得到多个二维投影视图,将三维模型的比较转换成二维投影视图的比较。图2光场描述子示意图Abbasi等人[24]给出了如何从投影视图中选择最优视图来用于三维模型的比较;Chen等人[25]提出了利用物体所在正十二面体的20个顶点放置摄像机提取三维模型光场特征的检索算法,对每个三维模型从固定的10个光场进行正交投影,每个光场用10个视图组成一个光场描述子,通过提取二维Zernike矩特征和二维Fourier特征实现模型视图之间的比较,如图2所示,该方法符合人对物体的视觉感知,普遍认为光场描述子的方法是效果很好的三维模型检索算法。基于投影的方法将三维模型表示为多个二维的投影,在二维空间实现三维模型相似性的匹配,使检索的复杂度得到有效的降低。但该类方法如果投影所取的二维图象数量过多,会使计算量剧增。(4)基于函数变换的方法该类方法一般是利用一定的函数变换将三维模型的空间信息转化为频率信息,将3D模型分解成一组谐波分量,在频域空间提取特征实现检索的目的。函数变换主要有三种:傅立叶变换、球面调和分析和小波变换。Vranic等人[26]首先对模型进行规范化和体素化处理,然后对通过体素模型的傅立叶变换实现检索;Vranic等人[27]将球面调和变换用于三维模型特征的提取,Kazhdan等人[28]改进了该方法,使其对旋转无关;Paquet[29]用小波变换的方法实现三维模型的特征描述,先对三维模型进行PCA调整和体素化处理,然后再在三个轴向进行小波变换,得到小波系数。从而实现三维模型的相似性比较。基于函数变换的方法通常效果较好,但模型处理复杂,往往需要首先对模型进行规范化和体素化处理,计算量较大。(5)基于外观属性的方法三维模型的外观属性是指模型的颜色、纹理、材质、反射系数等[30],通过对这些属性进行提取实现检索。由于三维模型外观属性的复杂性和多样性,外观属性特征提取的研究并未得到充分的发展。2.3基于语义的模型检索由于三维CAD模型的复杂性及机器理解人类认知的困难性,在低层特征和高层语义之间存在“语义鸿沟”问题,本文将从基于相关反馈、主动学习和高层语义信息等方面对基于语义的三维模型检索研究现状进行分析。(1)基于相关反馈、主动学习的方法相关反馈是借鉴了图像检索中的思想,通过在检索过程中融入用户感知信息,以提高检索准确率。反馈技术通过用户对检索结果的标注,表明用户对当前检索结果的满意度。相关反馈方法可以分为两大类[9]:查询优化方法和分类器的方法。(a)(b)(c)(d)查询优化法是通过不断优化相似计算中的各种权值,改变相似度量公式,使其能够更好的按照用户的意图表达相似度。Wang等人[31]通过归一化调整不同特征权值得到反馈结果,并应用到CAD模型检索中;Papadakis等人[32]利用伪反馈技术进行三维模型检索。分类器的方法是以用户反馈标记的