二维CAD(共3篇)
二维CAD 篇1
0 引言
在目前的机械设计制造领域, 基于三维模型的产品设计与制造已经成为当前的主流模式, 被广泛应用在产品开发的各个环节 (CAD、CAE、CAPP、CAM等) 。统计数据表明, 在新产品的研发过程中有超过75%的设计活动都是对已有的设计进行重用或微小修改[1]。基于内容的三维CAD模型检索技术能够帮助企业对已有的产品设计成果进行管理和重用, 进而提高设计效率, 缩短研发周期, 并最终有效地提升企业的核心竞争力。
对于基于内容的三维模型CAD检索技术, 它的关键问题之一是如何有效描述CAD模型的形状特征, 其对于检索结果的精度和准度有着直接影响[2]。目前, 基于视觉相似的三维模型检索算法被认为是检索效果最好的一类算法[3,4], 该类算法仿效了人类视觉对物体的认知过程, 将三维模型表示为所对应的二维投影视图的集合。这样一来, 两个三维模型之间的比较就转化为各自投影集合中所对应的二维投影视图之间的比较。如果所对应的二维投影视图都相似, 则认为这两个模型相似。该类算法中最著名的为Chen等提出的光场算法[5]。然而, 在使用投影视图对三维模型进行相似性匹配时, 光场算法只是笼统地对视图集中的每一幅视图都同等看待, 却忽视了不同视图在匹配过程中其实具有不同的重要性。相较于其它视图, 模型的某些投影视图包含更多的信息, 因而更能影响模型间的相似性匹配。从图1可以很明显地看出, 螺丝刀的主视图相较于它的俯视图含有更多的信息, 对于模型来说更具有代表性。因此, 区别对待每个视图在模型相似性匹配过程中的重要程度是十分必要的。Li[6]等提出了一种基于二维投影视图最优权重的三维模型检索算法。该算法通过使用拉格朗日乘数子和支持向量机为视图配置权重, 以达到区分不同视图重要性的目的。
本文提出一种基于二维典型视图的三维CAD模型检索算法, 该算法通过从CAD模型二维投影视图集中甄选出其中具有代表性 (即信息含量高) 的视图, 将三维模型间的比较转化为各自典型视图间的相似性匹配。首先对一个三维CAD模型沿固定视角进行投影, 获得相应的二维投影视图集;然后采用Apriori算法从中挖掘出具有代表性的视图作为该模型的典型视图;最后通过比较模型各自对应的典型视图来获得三维模型间的相似性评价。
1 投影视图的获取
和其他基于视觉相似的检索算法一样, 在本文中, 对三维模型的投影视角来自于平均分布在该模型球形包围盒工的顶点, 为了能够获得足够多数量的投影视图作为典型视图的候选样本, 同时又不会造成过大的计算负担, 本文选用正八十面体的42个顶点作为投影视角。这样一来, 一个三维模型将被表示为二维投影视图集合I={i1, i2, ...i42}。
对于一幅投影视图i, 使用二维极半径傅立叶变换, 二维Zernike矩[5], 二维Krawtchouk矩[7]描述它的特征
式中:iD是由分别来自于二维基半径傅立叶变化、二维Zernike矩, 二维Krawtchouk矩的特征向量DFT、DZern和DKraw串联组成的投影视图特征描述子。
2 典型视图的甄选
获得二维投影视图集合之后, 接下来将甄选其中的典型视图。在本文中, 典型视图被定义为在一个投影视图集合中与其他若干视图相似, 可以代表这些视图的一类视图。对于一幅视图, 若集合中与其相似的视图越多, 则认为该视图越具有典型性。例如, 球体的正投影视图可以用来代表其他所有的视图。由于在内容中体现了与其相似的若干视图的共同特点, 因此典型视图相较其它视图含有更高的信息量。本文将通过Apriori算法挖掘出二维投影视图集中的典型视图, 将三维模型进一步表示为由典型视图所组成的二维典型视图集合。
2.1 Apriori算法
Apriori算法作为关联规则的挖掘技术已经在计算机信息与数据挖掘领域得到了广泛应用[8]。下面介绍关于它的一些基本概念:
事务:事务是数据集ITEM={item1, item2, ..., itemn}的一个子集, 不同事务的全体构成了事务数据库DATA。
关联规则:关联规则指如果项集X在某一事物中出现, 则必然会导致项目集Y在同一事务中出现的一种规则, 即X⇒Y, 其中X⊂ITEM, Y⊂ITEM, X∩Y≠Φ。
数据项的支持度和频繁集:设X⊂ITEM为数据项集的一个子集, B为全体事务集DATA中包含X的事务的数量, A为DATA中包含的所有事务的数量, 则项集X的支持度为:
它描述了数据项集X的重要性。支持度大于最小支持度的数据集为频繁集。
关联规则的置信度:一个关联规则的置信度表示为
它被用来描述该规则的可靠程度。
Apriori算法的核心思想是通过对事务数据库的多轮扫描来发现所有的频繁集。首先找出所有支持度大于最小支持度的项集, 即频繁项集;然后基于这些频繁项集产生新的关联规则往复扫描。此过程不断重复直到不再有新的频繁项集产生为止。
2.2 甄选典型视图
在使用Apriori算法挖掘典型视图之前, 需要构建一个事务数据库DATA。首先, 将二维投影视图间的相似性度量定义为
式中:dis () 为视图i和i’对应特征描述子Di和Di’的L-2距离, 它被归一化在区间[0, 1]。若度量结果大于规定的最小相似度min_Img Sim, 则认为和i’相似。然后, 对于投影视图集合I的每一幅视图i, 统计该集合中所有与其相似的视图 (包括其自身) 。最后, 将统计后的项目作为一条事务存入事务数据库DATA。DATA由对应着视图集规模的42条事务组成, 如表1所示。
对二维典型视图的挖掘从对事务数据库DATA的第一轮扫描开始。首先, 对于项集中的每一个数据项 (即投影视图) 计算其所对应的支持度, 筛选出大于最小支持度min_support的频繁1-项集组成频繁项目集L1;然后, 以L1作为输入构建候选集, 扫描数据库并从中找出大于最小支持度的2-项频繁项目集L2;接下来继续用L2作为输入去寻找L3。此过程不断重复直到没有新的频繁集产生为止。典型视图即为每个频繁项目集中对应关联规则置信度最小的数据项。算法1给出了整个典型视图甄选的流程。
算法1:典型视图甄选算法
输入:事务数据库DATA, 最小支持度阈值min_support
输出:三维模型的典型视图集C
1) L1=1项频繁项目集
3) CankApriori_gen (Lk-1, min_support) :构建候选集
4) for all数据库DATA中的事务t do
5) CantSubset (Cank, t) :提取包含在事务t中的候选集
6) for all Cant中的候选项Can’do
8) end for
10) end for
12) end for
13:计算置信度, 提取典型视图
完成典型视图的甄选之后, 三维模型将由其对应的二维典型视图集C来表示。三维模型之间的相似性比较即可转换为各自典型视图集之间的比较。由于存在不同模型典型视图集规模不一致的问题, 为了保证相似性计算的有效性, 本文采用贪心算法。设模型M和Q对应的典型视图集分别为CM与CQ, 则其相似性计算的具体步骤如下:
步骤1取模型M的1幅典型视图cMi∈CM, 遍历CQ中的每一幅视图Qrc, 找出与其最相似的视图Qcj。Mic与Quc之间的距离函数定义为
式中:r为模型Q典型视图集的规模;DcMi于DcQr分别是Mic和Quc对应的特征描述子。其值越小, 表示视图越相似。
步骤2重复步骤1, 直至任一视图集合中所有的视图都成功匹配。在此过程中, 视图集CM与CQ内已经匹配成功的视图不参与重复计算。则2个模型M和Q之间的相似性度量可表示为
式中:N=min (s, r) , s和r分别为模型M和Q所对应的典型视图集的规模。D为匹配成功的视图对之间的L-2距离。
3 算法验证与讨论
本文以Open CASCADE[9]为几何造型平台, Microsoft Visual Studio 2008为集成开发环境, 构建了一个三维CAD模型测试库。库中的模型主要来自于普渡大学建立的工程标准模型库ESB, 包含了齿轮类、盘类、轴类等400多个CAD模型。在实验中, 为了确保在对模型投影的过程中, 从每一视角投影的唯一性, 本文利用实验平台OPENCASCADE和改进PCA法对模型的姿态分别对模型进行位置尺度和旋转的归一化处理。投影视图的尺寸规定为256×256。衡量投影视图相似性的最小相似度min_Img Sim与典型视图甄选时甄选时的最小支持度min_support分别设定为70%与50%。
为了验证本文算法在三维CAD模型检索中的有效性, 本文使用查全率-查准率曲线 (P-R Curve) 和E测度 (E-Measures) 作为检索结果的评价指标, 将本文算法与光场算法 (LFD) [5]及文献[6]中的算法 (OWD) 进行比较。综合图3、表2及表3的实验结果, 可以看出本文算法的检索性能优于其他两种算法, 检索结果更加符合人的相似性感知。
4 结论
本文提出了一种基于二维典型视图的三维CAD模型检索算法。通过对CAD模型进行二维投影并甄选出其中的典型视图, 将模型表示为其对应的二维典型视图的集合。三维模型间的相似性评价通过比较各自对应的二维典型视图来获得。实验结果表明本文算法的检索性能优于其他几种算法, 能够更好地胜任对三维CAD模型的检索。
参考文献
[1]Ulman D G.The mechanical design process, second ed.New York:McGraw-Hill, 1997.
[2]Tangelder J W H, Veltkamp R C.A survey of content based3D shape retrieval methods.Multimedia Tools and Applications, 2007, 39 (3) :441-471.
[3]Shilane P, Min P, Kazhdan M, et al.The Princeton Shape Benchmark.In Proc.Shape Modeling Applications, Genoa, Italy, 2004.
[4]Jayanti S, Kalyanaraman Y, Iyer N et al.Developing an engineering shape benchmark for CAD models.Computer Aided Design, 2006, 28 (9) :939-953.
[5]Chen D Y, Tian X P, Shen Y T.On visual similarity based 3D model retrieval.Computer Graphics Forum, 2003, 22 (3) :223-232.
[6]Li L, Wang H Z, Chin T J.Retrieving3D CAD models using 2D images with optimized weights.In Proc.International Congress on Image and Signal Processing, Yantai, China, 2010.
[7]Yap P T, Paramesran R, Ong S H.Image analysis by Krawtchouk moments.IEEE Transactions on Image Processing, 2003, 12 (11) :1367-1377.
[8]Wu X D, Kumar V, Quinlan J R et al.Top10algorithms in data mining.Knowledge and information systems, 2007, 14 (1) :1-137.
[9]OpenCASCADE Technology www.opencascade.org.
二维CAD 篇2
将这些二维对象归为两类:简单的对象包括:直线(又分为有限长和无限长)、圆、圆弧、椭圆、椭圆弧、点和射线,
基础CAD制图教程(3)-创建二维对象
二维CAD 篇3
三维CAD模型在机械设计和制造领域的应用越来越广泛,由此产生了大量包含丰富信息的产品模型。如何有效浏览和检索这些模型,使这些资源信息获得最大程度的设计重用,从而达到降低设计成本和缩短产品研发周期的目的,已成为目前制造行业的一个研究热点。对于检索系统来说,如何设计查询输入的交互方式,从而使用户的查询意图得到方便快速的表达,是三维CAD模型检索技术的重要课题[1]。通用领域的3D模型检索系统大多采用实例提交方式的查询接口,但是这种方式并不适用于工程设计。在设计的初始阶段,设计师往往更习惯于采用绘制二维草图的方式来记录自己的设计灵感。因此,对于CAD模型检索系统来说,基于草图的检索输入方式是其中不可缺少的一部分。同时,这种方式由于符合设计师的设计习惯,所以也更有利于提高设计重用的效率。
查询输入作为检索流程的第一步,对于计算机以何种方式对提交的二维草图进行理解,将直接影响到检索结果的精度和准确度。文献[2]、[3]利用输入的二维草图进行三维重建,但这种方法仅限于重建出简单的三维模型;同时,由于二维图像深度信息的缺失,重建出的模型常常出现某些重要的几何特征被遗失的情况。相对于直接基于草图进行三维重建的方法,基于草图表示信息进行形状特征提取并转化为相应形状描述子进行相似性比较的这一思路,能更方便地获得不同视图之间的相似性差异,具有更高的实用性。因此,本文采用这一思路,通过组合使用傅立叶描述子和二维形状分布方法,提出一种联合描述子作为视图形状特征的描述。对于用户所绘制的三个不同视角的草图,采取与CAD模型相应三个视角的二维投影进行形状特征相似性比较,以实现对目标模型的检索。
1 基于二维草图的CAD模型检索
1.1 算法概述
在使用二维草图对CAD模型进行检索前,首先需要获得模型库中CAD模型的三视图,然后对三视图的形状特征进行抽取并将特征向量存入模型库。检索时,对用户所提交的草图三视图提取相应的形状特征并与之前存入模型库的模型形状特征进行相似性匹配计算。最后,根据相似度值的大小输出检索结果。整个过程如图1所示。
1.2 提取CAD模型三视图
在三维模型建模和获取中,不同的模型是由不同的人通过不同的方式得到的,模型的方位可能各不相同。这样就导致即使相同的两个模型,如果其方位不同,那么在相同条件下的投影也会不同,因此,要实现基于三视图的模型检索,就必须在提取模型的三视投影图之前,先使其具备旋转不变性。本文使用改进主元分析法PCA(Principal Component Analysis)计算出模型的标准坐标系,然后将模型旋转到对应的坐标系中,从而保证其具备旋转不变性。
在保证模型的旋转不变性之后,就可以提取其三视图。将CAD模型沿指定的方向投影获取二维投影视图的算法已经非常成熟,本文使用三维实体造型库Opencascade[4]提供的接口函数来完成CAD模型的三视图获取工作,如图2所示。
1.3 形状特征的提取和相似性匹配
提取了CAD模型的三视投影图后,基于三视图草图的CAD模型检索就可以转换为三视图形状特征相似性匹配问题。目前,视图形状特征主要有两种表示方法,一种是区域特征的,另一种是轮廓特征的。前者将整个视图形状区域内的形状信息都进行考虑,而后者仅利用视图形状的边界轮廓信息。目前,傅立叶描述子法[5]和二维形状分布法是描述形状特征的最典型方法,分别用于描述形状外轮廓特征和形状区域特征。因此,本文使用傅立叶描述子法描述三视图边界轮廓的形状特征,用二维形状分布法描述三视图内部区域的形状特征,然后将两种方法加权组合得到三视图形状特征的联合描述子。
1.3.1 基于傅立叶描述子的特征提取
傅立叶形状描述子的基本思想是用视图外轮廓的傅立叶变换作为其形状特征描述。对于二维视图的外轮廓,在进行傅立叶变换之前需要将其转化为一维的表示。目前,曲率函数、质心距离函数、复坐标函数是常用的几种外轮廓形状表示方法。一般来说,质心距离函数的效果要好于其他方式[6],所以本文选取质心距离作为外轮廓的形状表示。质心距离被定义为视图的外轮廓边界点到其质心的距离。三视图外轮廓的傅立叶描述子生成步骤如下:
1.3.1. 1 归一化处理
包括以下几个步骤:(1)对轮廓图使用Canny算子[7]进行细分;(2)跟踪外轮廓得到点集{p(xi,yi)|i=0,1…N-1},其中N是轮廓上像素的总数;(3)计算其几何中心(4)变换视图至以(xc,yc)为原点的新坐标系下。
1.3.1. 2 计算质心距离
由于在预处理过程中已经将视图坐标系进行了相应的归一化变换,所以可直接计算出三视轮廓图的质心距离:
1.3.1. 3 对质心距离进行傅立叶变换
由于r(i)是由N个离散点组成的集合,所以使用离散傅立叶变换公式,可以得到:
1.3.1. 4 生成傅立叶描述子
其描述向量为:
其中,Rk除以R0的目的是为了对参数进行归一化,以保证形状的尺度不变性。取绝对值的目的是为了保证形状的缩放不变性。上述傅立叶描述向量f,即为三视图外轮廓的形状特征向量。通过傅立叶描述子特征向量之间距离的度量,即可实现两个三视轮廓间相似性评价。本文选用最通用的欧氏距离来计算特征向量间的距离,距离越小说明两个三视轮廓图的相似性越高。
1.3.2 基于二维形状分布的特征提取
与三维形状分布[8]的算法思想类似,二维形状分布法首先定义一组能够描述二维视图形状特征的形状函数,然后基于形状函数计算出大量的统计数据,最后利用这些数据直接构建统计分布直方图来描述二维视图的形状特征。文献[8]提出了5种形状函数,在本文中选取D2形状函数作为视图形状信息的采集函数。D2形状函数即任意2点之间的几何距离,具有简单以及不变性的特点。
完成形状函数的选择后,接下来需要计算二维视图形状的统计数据。一般来讲,通过CAD模型投影得到的三视图比较复杂,其像素点数目可能达到数千甚至上万个,直接计算任意两个像素点距离的复杂度非常大,本文通过随机采样来解决。由三视图二维轮廓生成形状分布图的步骤可描述如下:
(1)在S上进行随机采样,取得数量为m的采样点集,本文取m=1024。这里设二维轮廓S为像素点P的集合S={p(xi,yi)|i=0,1…N-1},N为二维轮廓上像素的总数。
(2)对于这m个采样点,计算任意两点之间的欧氏距离:
因为本文中m取值1024,所以产生的点对数量为:
(3)对随机点对之间的距离进行统计,根据距离值构建形状特征的分布直方图。由于对不同的三维模型,其形状函数的数值跨度可能会很大。为了消除这一影响,使获得的直方图向量都位于同一值域,本文使用所有点对距离的平均值对直方图进行归一化操作。
基于算法计算效率的考虑,不同直方图之间的相似性同样采用欧氏距离进行度量。在进行相似性比较时,为了保证两个直方图区间数目的一致,对于区间数较少的直方图,采用置0的方法进行区间数目的补齐。
1.3.3 联合描述子
对于一组草图的三视图和CAD模型的三视图,其相似性度量尺度表示为:
其中:d为两个视图之间的特征的相似距离;I1、I2、I3分别表示主视图、俯视图和左视图;V、M表示草图和模型投影视图;α、β、ν分别为主视图、俯视图和左视图的权值,可以根据模型库的特点自行设定,本文经过大量的检索实验后确定各权值的取值分别为0.8,0.4,0.4。而计算结果D值越小,说明三视图草图和模型三视图越相似。
设D1和D2分别为使用傅立叶描述子法和使用二维形状分布法的草图三视图和模型三视图组对间的相似性度量尺度。以上两种形状描述法都具有对仿射变换的不变性,同时对轮廓线上小的扰动具有较好的鲁棒性。但是傅立叶描述子法仅利用图形的外轮廓边界信息,忽略了图形的内部信息。而对于CAD模型的三视图来说,它的内部轮廓信息同样非常重要;相比之下,二维形状分布法虽然考虑了整个形状区域内的信息,却没有对外边界信息给与足够重视。为了弥补各自算法的缺陷,本文将上述两种算法的相似性度量尺度以加权的方式进行组合,由此得到了联合描述子:
其中,ω为D1所对应的权重,取值区间为[0,1],用户可以根据需要进行调整。同样,SD的值越小,说明草图三视图和模型三视图越相似。
2 实验及性能分析
在Visual Studio 2008环境下,以Opencascade为几何造型平台,开发了一个支持二维草图绘制输入的原型系统对本文方法进行验证。从ESB模型库中选取了19个类别共329个模型,通过CAD造型软件对其重新造型并存储为STEP文件格式,构建了一个以STEP文件表示的三维CAD模型库用于实验。
为分析联合描述子中权值ω对检索性能的影响,基于上述模型库进行了一系列的检索实验,对不同的权值ω分别记录其平均查全-查准率,得到如图3所示实验结果。由实验结果可知,对于整个模型库,当ω取值在[0.3,0.7]时,本文检索方法具有较佳的检索性能,且ω的最佳权值取在0.3附近,因此本文后续实验中取ω=0.3。
此外,为了对本文算法的检索性能及使用效果进行全面、综合的评估,分别将本文所提出的联合描述子法与单独使用傅立叶描述子法、二维形状分布法所获得的检索结果进行了对比,并使用查全-查准率曲线(Precision-Recall Curve)进行评价。综合图4及表1的实验结果,可以看出本文方法综合考虑了视图轮廓边界形状信息及视图整个区域内的形状信息,检索性能优于其他2中算法,检索结果更能反映用户的检索意图。
3 结束语
提出一种基于二维草图的三维CAD模型检索方法,对用户所绘制的三个不同视角的二维草图,采取与CAD模型相应三个视角的二维投影图进行形状特征相似性比较的方法,以实现对目标模型的检索。该算法的最大特点在于综合考虑了三视图的轮廓边界及轮廓内的形状信息,使得检索结果能更好地反映用户的检索意图。实验结果表明,本文算法的检索性能令人满意,为设计人员在设计的初始阶段快速利用已有资源信息提供了一种新的支持手段。
参考文献
[1]崔晨暘.三维模型检索中关键技术的研究[D].浙江:浙江大学,2005.
[2]刘玉杰.基于形状的三维模型检索若干关键技术研究[D].北京:中国科学院计算技术研究所,2006.
[3]Cao L,Liu J,Tang X.3D object retrieval using 2D line drawing andgraph based relevance reedback[C].New York,NY,USA:ACM,2006.105-108.
[4]OpenCASCADE Technology.www.opencascade.org.
[5]Zhang D,Lu G.An Integrated Approach to Shape Based ImageRetrieval[C].ACCV 2002.652-657.
[6]Zhang D,Lu G.Shape Retrieval Using Fourier Descriptors[C].Springer,2001.1-9.
[7]Biswas R,Sil J.An Improved Canny Edge Detection Algorithm Basedon Type-2 Fuzzy Sets[J].Procedia Technology.2012,4(0):820-824.