专利名称:边界元素提取方法及其计算机系统的制作方法
技术领域:
本发明涉及一种边界元素提取方法及其计算机系统,尤其涉及一种从杂乱点云中提取边 界元素的方法及其计算机系统。
背景技术:
在三维产品的开发及制造过程中,误差分析已经成为产品质量验证的重要环节。传统的 做法是使用点云获取装置获取工件的点云(即由多个三维离散点组成的点的集合),而后将 点云数据输入计算机,执行相应软件对点云数据进行处理,以提取点云对应的边界元素,也 就是工件的边界点和边界特征。然后,通过迭代拟合法将实际工件和量测工件所得的理论设 计图档进行对齐,以确定实际工件与理论设计图档中的影像之间是否存在误差。但是,此种 做法的对齐效率不高,且特殊位置还不能完全对齐。
另外,随着影像技术的发展,人脸识别、特征匹配、有限元分析等技术的引用,业界人 员对边界元素的提取精度和提取速度的要求也越来越高,而传统技术中进行边界元素提取的 方法还不能达到此等要求。
发明内容
鉴于以上内容,有必要提供一种边界元素提取方法,可自动提取杂乱点云的边界元素, 包括提取边界点和创建边界特征,提高了边界元素的提取精度和提取速度。
还有必要提供一种提取边界元素的计算机系统,可自动提取杂乱点云的边界元素,包括 提取边界点和创建边界特征,提高了边界元素的提取精度和提取速度。
一种边界元素提取方法,该方法包括获取量测工件所产生的点云数据及组成点云三角 网格化曲面的三角形的最大边长;根据该最大边长将所获取的点云建立成三角网格化曲面; 从上述三角网格化曲面中提取边界点;根据边界点的向量变化情况对所述边界点进行分组; 将每组边界点分别拟合成直线和圆;在进行直线容差判断和圆容差判断后确定适合每组边界 点的边界特征;及输出所述边界特征。
一种提取边界元素的计算机系统,该计算机系统包括获取单元,用于获取量测工件所 产生的点云数据及组成点云三角网格化曲面的三角形的最大边长;三角网格化单元,用于根 据所述最大边长将所获取的点云建立成三角网格化曲面;边界点提取单元,用于从上述三角 网格化曲面中提取边界点;及创建单元,用于根据边界点的向量变化情况对所述边界点进行
5分组,将每组边界点分别拟合成直线或圆,在进行直线容差判断和圆容差判断后确定适合每 组边界点的边界特征,并输出所述边界特征。
相较于现有技术,所述边界元素提取方法及其计算机系统,不仅可自动提取单层杂乱点 云的边界元素,还可以提取多层杂乱点云的边界元素,提高了边界元素提取精度和速度。
图l是本发明提取边界元素的计算机系统较佳实施例的运行环境图。 图2是本发明边界元素提取系统的功能单元图。 图3是本发明边界元素提取方法较佳实施例的作业流程图。 图4是图3中步骤S3建立三角网格化曲面的具体作业流程图。 图5是图3中步骤S5提取边界点的具体作业流程图。
图6和图7是本发明获取当前判断点周围的三角形及每个三角形的顶点的示意图。
图8是图3中步骤S7创建边界特征的具体作业流程图。
图9是本发明创建边界特征的示意图。
具体实施例方式
参阅图1所示,是本发明提取边界元素的计算机系统较佳实施例的运行环境图。该运行 环境图包括一个影像量测机台1及与该影像量测机台1相连接的计算机2。
所述影像量测机台1用于对工件3进行量测,获取该工件3的点云数据。该点云数据包括 点的三维坐标、点的标识和点云总数。在本实施例中,由于工件3每个部位的密度不同、结 构不同,所以,影像量测机台l所获取的点云为杂乱点云。
计算机2内存储一个边界元素提取系统20,如图2所示,该边界元素提取系统20包括获取 单元21、三角网格化单元23、边界点提取单元25和创建单元27,用于从杂乱点云中提取边界 元素,该边界元素包括边界点和边界特征。因此,本实施例中的提取边界元素包括提取边界 点和创建边界特征,具体而言,边界元素提取系统20对所获取的点云建立三角网格化曲面( 以下简称为"三角网格面"),从三角网格面中提取边界点,并根据所提取的边界点创建点 云的边界特征。
参阅图3 ,是本发明边界元素提取方法较佳实施例的作业流程图。
步骤S 1 ,获取单元21获取影像量测机台1量测工件3所产生的点云数据及获取用户输入的 组成三角网格面的三角形的最大边长。其中,所述获取包括获取单元21接收影像量测机台1 在线量测工件3的点云数据,及通过打开数据文件的形式获取影像量测机台1先前量测工件3 所得到的点云数据。所述最大边长为用户自定义的边长,其约等于点云中相邻点之间距离的平均值。
步骤S3,三角网格化单元23根据所述最大边长将所获取的点云建立成三角网格面。 步骤S5,边界点提取单元25从上述三角网格面中提取边界点。
步骤S7,创建单元27根据所提取的边界点创建点云的边界特征,并输出所创建的边界特征。
参阅图4,是图3中步骤S3建立三角网格面的具体作业流程图。
步骤S300,三角网格化单元23根据点云数据中点的三维坐标计算得到所述点云的包围盒 ,对该包围盒进行分组,并将点云数据中每个点的标识填入到相应的分组中。所述分组后每 个单元小正方体的边长可由所述最大边长及点云总数计算得出。
步骤S302,获取点云中尚未与其他点组成三角形TO的任一点,作为三角形TO的第一顶点 Dl,并求取距离该第一顶点D1最近的点,作为三角形T0的第二顶点D2。
步骤S304,连接第一顶点D1和第二顶点D2得到一条边B0,且将该边BO加入一个边队列。
步骤S306,根据所述最大边长找出组成该三角形T0的第三顶点D3,构建该三角形TO且将 该三角形TO的另外两条边添至所述边队列,即除了边BO外的另外两条边。其中,三角形TO的 内角不能太小,如1度、2度,在寻找第三顶点D3时,要优先考虑所组成的角大于25度的点, 然后再考虑所组成的角小于25度但角度却不能太小的点。在本较佳实施例中,该组成的角不 能小于3度。
步骤S308,对上述三角形TO进行外接球判断和钝角判断,以找出除了上述第三顶点D3外 能与边BO构成三角形的点D—。所述外接球判断是指利用数学法则如最小二乘法,将三角形 TO拟合成一个球,三角形TO通过其三个顶点与所述球连接,且该球内没有点存在,三角网格 化单元23利用钝角原则在该球上寻找点D—,点D—与边BO组成三角形T—,该三角形T—与三角形 TO之间的夹角必须为钝角。
步骤S310,点D—与边BO组成三角形T、三角网格化单元23将该三角形T—的另外两条边, 即除了边BO的另外两条边,添加到所述边队列中。
步骤S312,三角网格化单元23循环边队列中的边,并重复执行步骤S308至步骤S312,直 至所有的边被循环完,完成构建的三角形组成了点云的三角网格面。
于步骤S308中,在进行钝角判断时,本较佳实施例优先考虑与三角形T0组成120度夹角 的三角形。然而,三角网格化单元23利用外接球判断和钝角判断的方法可能会同时找到多个 点D、但其最终只能确定一个点D—为最佳点,与边BO组成三角形T—。例如,若三角网格化单 元23利用外接球判断和钝角判断的方法同时找到了点Dr和点D2 —,边BO与点Dr可组成三角形Tr、边B0与点D2'可组成三角形T2',则三角网格化单元23需确定在三角形Tr和T2'中边 BO的对角哪个大,若边B0在三角形Tr中的对角大于在三角形T2'中的对角,则最终确定点
Dr是所要找到的最佳点;反之,若边B0在三角形T2—中的对角大于在三角形Tr中的对角,
则最终确定点D2—是所要找到的最佳点。
参阅图5,是图3中步骤S5提取边界点的具体作业流程图。
步骤S500,边界点提取单元25从所述三角网格面中获取当前判断点周围的三角形及每个 三角形的顶点。
步骤S502,计算每个顶点被当前判断点周围的三角形所占用的次数,如图6和图7所示, 点l、点2、点3、点4和点5分别为当前判断点0周围的三角形的顶点。在图6中,点l、点2、 点3、点4和点5被当前判断点0周围的三角形所占用的次数分别为2;在图7中,点2、点3和点 4被当前判断点0周围的三角形所占用的次数分别为2,点1和点5被占用的次数分别为1。
步骤S504,依次判断所述顶点被当前判断点0周围的三角形所占用的次数是否均大于1。
若步骤S504的判断结果为是,即所述顶点被占用的次数均大于l,则步骤S506确定该当 前判断点为内点,然后直接进入步骤S510。如图6所示,由于所有的顶点被当前判断点O周围 的三角形所占用的次数均大于l,因此,图6所示的当前判断点0被确定为内点。
若步骤S504的判断结果为否,即所述顶点中存在至少一个顶点被占用的次数等于l,则 步骤S508确定该当前判断点为边界点,如图7所示,由于点1和点5被占用的次数分别为1,因 此,图7所示的当前判断点0被确定为边界点。
步骤S510,边界点提取单元25判断三角网格面中的点是否都被进行了边界点判断。若是 ,则直接结束流程;若还有点未进行边界点判断,则返回步骤S500,将该点作为当前判断点 ,重新执行步骤S500至步骤S510直至所有的点均被进行了边界点判断。
参阅图8,是图3中步骤S7创建边界特征的具体作业流程图。
步骤S700,创建单元27分别以图5中提取的边界点为当前点,并以该当前点为中心层层 向外展开,计算所展开的边界点在三角网格面上的向量之间的角度关系。
步骤S702,创建单元27根据角度变化情况对所有边界点进行分组,并将每组边界点分别 拟合成直线。具体而言,创建单元27于步骤S702中将角度变化相差很小的边界点放在一个组 中,并由此得到了多组边界点,然后将每组边界点拟合成直线。例如,若边界点a与边界点 b在三角网格面上的向量之间的角度为60度,边界点a与边界点c在三角网格面上的向量之间 的角度为1度,则表明边界点a与b的向量之间的角度变化很大,而边界点a与边界点c的向量 之间的角度变化很小,因此,边界点a与边界点b会被分在不同组中,而边界点a与边界点c会
8被分在同一个组中。
步骤S704,判断用于拟合所述直线的点与该拟合后的直线之间的差值是否均小于一个预 设的直线容差。
若步骤S704中的判断结果为是,则直接进入步骤S714;若步骤S704中的判断结果为否, 则表明所拟合的直线不适合该组边界点,步骤S706,创建单元27利用最小二乘法将该组边界 点拟合成圆。
步骤S708,判断用于拟合成圆的点与该拟合后的圆之间的差值是否均小于一个预设的圆容差。
若步骤S708中的判断结果为否,则直接进入步骤S714;若步骤S708中的判断结果为是, 且步骤S706中拟合了至少两个圆,则步骤S710中创建单元27根据圆的半径、圆的向量及圆心 连线与所述向量之间的关系来判断所拟合的圆之间是否能构建圆柱。在本实施例中,创建单 元27构建圆柱的条件为上述拟合的圆的半径相同、圆的向量之间的角度为0度或180度,且 圆心连线与所述向量之间的角度也为0度或180度。
若步骤S710中的判断结果为可以构建圆柱,则步骤S712,创建单元27将满足上述条件的 圆构建成圆柱。
步骤S714,创建单元27输出适合每组边界点的边界特征,该边界特征包括直线、圆和圆 柱。例如,若边界点提取单元25所提取的所有边界点如图9 (a)所示,则创建单元27所创建 的边界特征如图9 (b)所示。
在本实施例中,所述直线容差和圆容差可由用户提前计算出,其约等于点云中相邻点之 间距离的平均值。另外,不同区域的点云的密度可能会不同,在点云密度较大的区域,可以 将所述平均值乘以一个系数,以得到该区域的直线容差和圆容差。其中,所述系数可能为 0. 1、 0. 2或0. 3。
另外,在本实施例中,所述创建单元27还可以先将每组边界点拟合成圆。若用于拟合成 圆的点与该拟合后的圆之间的差值不小于所述圆容差,则表明所拟合的圆不适合该组边界点 ,创建单元27利用最小二乘法将该组边界点拟合成直线,然后进行直线容差判断。当创建单 元27所拟合的圆至少为两个时,才判断所拟合的圆之间能否构建圆柱。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实 施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案 进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
9
权利要求
1.一种边界元素提取方法,其中,该边界元素包括边界点和边界特征,其特征在于,该方法包括(a)获取量测工件所产生的点云数据及组成点云三角网格化曲面的三角形的最大边长;(b)根据该最大边长将所获取的点云建立成三角网格化曲面;(c)从上述三角网格化曲面中提取边界点;(d)根据边界点的向量变化情况对所述边界点进行分组;(e)将每组边界点分别拟合成直线和圆;(f)在进行直线容差判断和圆容差判断后确定适合每组边界点的边界特征;及(g)输出所述边界特征。
2.如权利要求l所述的边界元素提取方法,其特征在于,所述步骤( b)包括如下步骤(bl)根据点云数据中点的三维坐标计算得到所述点云的包围盒,对该包围盒进行分 组,并将点云数据中每个点的标识填入到相应的分组中;(b2)获取点云中尚未与其他点组成三角形的任一点,作为三角形的第一顶点,并求 取距离该第一顶点最近的点,作为三角形的第二顶点;(b3)连接第一顶点和第二顶点得到一条边BO,且将该边BO加入边队列中;(b4)根据所述最大边长找出组成该三角形的第三顶点,构建该三角形且将该三角形 的另外两条边添至上述边队列中;(b5)对上述三角形进行外接球判断和钝角判断,以找出除了上述第三顶点外能与边 BO构成三角形的点;(b6)所找出的点与边BO组成另一个三角形,添加除了边BO外该另一个三角形的另外 两条边至所述边队列;及(b7)循环所述边队列中的边并重复执行步骤(b5)至步骤(b6),直至所有的边都完成了构建三角形的任务。
3 如权利要求l所述的边界元素提取方法,其特征在于,所述步骤( C)包括如下步骤(c 1 )获取三角网格化曲面中当前判断点周围的三角形及每个三角形的顶点;(C2)计算每个顶点被当前判断点周围的三角形所占用的次数; (C3)若所述顶点被占用的次数均大于l,则确定该当前判断点为内点; (C4)若所述顶点中有顶点被占用的次数等于l,则确定该当前判断点为边界点; (c5)判断三角网格面中的点是否都被进行了边界点判断;及(c6)若步骤(c5)判断的结果为是,则直接结束流程,若步骤(c5)判断的结果为还有点 未进行边界点判断,则返回步骤(cl),将该点作为当前判断点,重新执行步骤(cl)至步 骤(c5)直至所有的点均被进行了边界点判断。
4 如权利要求l所述的边界元素提取方法,其特征在于,所述边界特 征包括直线、圆和圆柱。
5 如权利要求4所述的边界元素提取方法,其特征在于,在所述步骤 (f)与步骤(g)之间包括如下步骤若在步骤(f)中确定至少有两个拟合的圆存在,则根据圆的半径、圆的向量及圆心连 线与所述向量之间的关系来判断所拟合的圆之间是否能构建圆柱;及 若判断的结果为是,则根据所述拟合圆构建圆柱。
6 一种提取边界元素的计算机系统,其中,所述边界元素包括边界 点和边界特征,其特征在于,该计算机系统包括获取单元,用于获取量测工件所产生的点云数据及组成点云三角网格化曲面的三角形 的最大边长;三角网格化单元,用于根据所述最大边长将所获取的点云建立成三角网格化曲面; 边界点提取单元,用于从上述三角网格化曲面中提取边界点;及创建单元,用于根据边界点的向量变化情况对所述边界点进行分组,将每组边界点分 别拟合成直线或圆,在进行直线容差判断和圆容差判断后确定适合每组边界点的边界特征, 并输出所述边界特征。
7 如权利要求6所述的计算机系统,其特征在于,所述点云数据包括 点的三维坐标和点的标识。
8 如权利要求6所述的计算机系统,其特征在于,所述边界点提取单元在从三角网格化曲面中提取边界点时,重复执行以下步骤直至该三角网格化曲面上的点都被进行了边界点判断获取三角网格化曲面中当前判断点周围的三角形及该每个三角形的顶点; 标示每个顶点被当前判断点周围的三角形所占用的次数; 若所述顶点被占用的次数均大于l,则判定该当前判断点为内点;及 若所述顶点中有顶点被占用的次数等于l,则判定该当前判断点为边界点。
9 如权利要求6所述的计算机系统,其特征在于,所述边界特征包括直线、圆或圆柱。
10 如权利要求9所述的计算机系统,其特征在于,所述创建单元还 用于在进行直线容差判断和圆容差判断后,若确定至少有两个拟合的圆存在,则根据圆的半 径、圆的向量及圆心连线与所述向量之间的关系来判断拟合圆之间能否构建圆柱,若判断的 结果为是,则根据所拟合的圆构建圆柱,并输出所构建的圆柱。
全文摘要
本发明提供一种边界元素提取方法,包括获取量测工件所产生的点云数据及组成点云三角网格化曲面的三角形的最大边长;根据该最大边长将所获取的点云建立成三角网格化曲面;从上述三角网格化曲面中提取边界点;根据边界点的向量变化情况对所述边界点进行分组;将每组边界点分别拟合成直线和圆;在进行直线容差判断和圆容差判断后确定适合每组边界点的边界特征;及输出所述边界特征。本发明还提供一种提取边界元素的计算机系统。利用本发明可提高边界元素的提取精度和速度。
文档编号G06T7/00GK101635051SQ20081030308
公开日2010年1月27日 申请日期2008年7月25日 优先权日2008年7月25日
发明者吴新元, 张旨光, 华 黄 申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司