点云平滑系统及方法
技术领域
本发明涉及产品加工领域,尤其涉及一种点云平滑系统及方法。
背景技术
提高和保证产品质量,是企业活动中的重要内容。为了提高和保证产品质量,对产品实施检验是必不可少的,通过检验活动提供产品及其制造过程的质量信息,按照这些信息对产品的制造过程实施控制及进行修正和补偿活动,使废次品与返修品率降到最低程度,保证产品质量形成过程的稳定性及其产出产品的一致性。同时,日渐增多且急迫的检验需求要求企业能够快速、准确地实施产品的检验。
近年来,随着计算机硬件性能的提高及价格的降低,计算机在受测对象检验活动中被大量的引入,因而提高了检验的速度和准确性。其做法一般是使用扫描机台扫描受测对象,获得由多个三维离散点组成的点的集合,一般称之为点云,将点云数据汇入计算机,执行相应软件对点云数据进行处理,比如量测点云,色阶比对等,从而实现对受测对象的检验。
统计表明,由于受到温度条件的影响或者扫描机台本身的缘故,在对受测对象扫描时,通常会产生0.1%~5%的噪声点。所述噪声点是指偏离正常位置的幅度较大的点。噪声点对点云的后续处理及逆向工程的影响都很大。尤其是在获取的点云数据是散乱的、无序的三维离散点云数据时,若不对该点云数据进行处理则会严重影响测量结果。
发明内容
鉴于以上内容,有必要提供一种点云平滑系统及方法,可对点云进行平滑处理,确保既不改变被测量产品的形状,又使得点云的法向量趋于光滑。
一种点云平滑方法,应用于电子装置中,该方法包括:输入产品的点云数据,以及输入距离参数;根据所述点云数据构建曲面,并对所述曲面进行三角网格化;计算相邻点之间的距离,将计算的距离小于所述距离参数的点标记为相点,所述相邻点为同一个三角形内的点;连接相邻的相点并得到所述点云数据的图形结构;确定每个相点的邻域点,所述邻域点包括与该相点相连的所有点;计算每个相点所对应的邻域点的个数,并根据该个数确定每个相点所在的元素的类型,所述的元素包括面、边、角;利用预设的数学方法将在预设类型的元素上的相点及对应的邻域点拟合成相对应的预设类型的面;在相点所在的元素类型为面、边或角时,根据所述相点的坐标将所述相点投影至与该相点对应的拟合后的面上,并确定所述相点对应的投影点的坐标;及输出所有相点对应的投影点的坐标。
一种点云平滑系统,应用于电子装置中,该系统包括:输入模块,用于输入产品的点云数据,以及输入距离参数;处理模块,用于根据所述点云数据构建曲面,并对所述曲面进行三角网格化;计算模块,用于计算相邻点之间的距离,将计算的距离小于所述距离参数的点标记为相点,所述相邻点为同一个三角形内的点;所述的处理模块,还用于连接相邻的相点并得到所述点云数据的图形结构,及确定每个相点的邻域点,所述邻域点包括与该相点相连的所有点;所述的计算模块,还用于计算每个相点所对应的邻域点的个数,并根据该个数确定每个相点所在的元素的类型,所述的元素包括面、边、角;拟合模块,用于利用预设的数学方法将在预设类型的元素上的相点及对应的邻域点拟合成相对应的预设类型的面;投影模块,用于在相点所在的元素类型为面、边或角时,根据所述相点的坐标将所述相点投影至与该相点对应的拟合后的面上,并确定所述相点对应的投影点的坐标;及输出模块,用于输出所有相点对应的投影点的坐标。
相较于现有技术,所述的点云平滑系统及方法,可对点云进行平滑处理,确保既不改变被测量产品的形状,又使得点云的法向量趋于光滑。
附图说明
图1是本发明点云平滑系统的较佳实施方式的硬件架构图。
图2是本发明点云平滑系统的较佳实施方式的功能模块图。
图3是本发明点云平滑方法的较佳实施方式的流程图。
图4是本发明点云平滑系统的点云法向量对比图。
主要元件符号说明
电子装置 |
1 |
点云平滑系统 |
10 |
设置模块 |
100 |
输入模块 |
101 |
处理模块 |
102 |
计算模块 |
103 |
拟合模块 |
104 |
投影模块 |
105 |
输出模块 |
106 |
处理器 |
11 |
存储装置 |
12 |
显示装置 |
13 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明点云平滑系统的较佳实施方式的硬件架构图。所述的点云平滑系统10应用于电子装置1中,所述电子装置1可以是计算机、服务器、编程逻辑控制器(Programmable Logic Controller,PLC)、测量机台、或者其它具备运算能力的电子装置。
在本较佳实施方式中,所述的点云平滑系统10用于对产品的点云数据进行网格化处理、噪声点过滤及平滑处理,从而确保点云数据的准确度。具体处理过程参见下文针对图3所示流程图的详细说明。
所述的电子装置1进一步包括处理器11、存储装置12及显示装置13。所述处理器11用于执行所述点云平滑系统10以及在所述电子装置1内安装的各类软件,例如操作系统等。所述存储装置12可以是硬盘,或者其他类型的存储卡或存储设备。所述的存储装置12用于存储各类数据,例如,不同产品的点云数据及用于存储利用所述点云平滑系统10所设置、接收及处理后的数据。
所述的显示装置13用于显示各类可视化数据。
如图2所示,是本发明点云平滑系统的较佳实施方式的功能模块图。在本实施方式中,所述点云平滑系统10包括多个功能模块,分别是:设置模块100、输入模块101、处理模块102、计算模块103、拟合模块104、投影模块105以及输出模块106。本发明所称的模块是指一种能够被处理器11所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储装置12中。在本实施例中,关于各模块的功能将在图3的流程图中具体描述。
如图3所示,是本发明点云平滑方法的较佳实施方式的流程图。
首先,步骤S2,所述的输入模块101输入产品的点云数据,以及输入距离参数。所述的点云数据包括,但不限于:点的三维坐标、点的标识及点云总数等。在本实施方式中,所述的距离参数用于作为判断噪声点的依据。该距离参数可以根据用户输入的数字进行确定,或者是将所述点云数据中所有相邻点之间的距离的平均值作为所述的距离参数。此外,在其他实施方式中,所述距离参数还可以是根据预设规则进行动态生成。
步骤S4,所述的处理模块102根据所述点云数据构建曲面,并对所述曲面进行三角网格化。对曲面的构建及三角网格化的处理可使用现有技术中已有的方式进行处理。
步骤S6,所述的计算模块103计算相邻点之间的距离,并将计算的距离小于所述距离参数的点标记为相点。在本实施方式中,所述相邻点为上述进行了三角网格化处理后的在同一个三角形内的点,即,所述的计算模块103计算位于同一个三角形内的所有点彼此之间的距离,从而完成对每个三角形中的相点的确认。
步骤S8,所述的处理模块102连接相邻的相点并得到所述点云数据的图形结构。
步骤S10,所述的处理模块102确定每个相点的邻域点,所述邻域点包括与该相点相连的所有点。
步骤S12,所述的计算模块103计算每个相点所对应的邻域点的个数,并根据该个数确定每个相点所在的元素的类型。在本实施方式中,所述的元素包括面、边、角、点。
具体而言,所述的计算模块103根据每个相点对应的邻域点的个数来判断该相点是否在面、边、角上,还是一个孤立点,包括如下所示的判断依据。
在所计算的邻域点的个数大于等于第一预设数值(例如,9)时,所述的计算模块103确定所述相点所在的元素为面。
在所计算的邻域点的个数小于所述第一预设数值且大于等于第二预设数值(例如,6)时,所述的计算模块103确定所述相点所在的元素为边。
在所计算的邻域点的个数小于所述第二预设数值且大于等于第三预设数值(例如,1)时,所述的计算模块103确定所述相点所在的元素为角。
在所计算的邻域点的个数等于所述第三预设数值时,所述的计算模块103确定所述相点为孤立点。
上述的多个预设数值可预先由所述的设置模块100进行设置、修改、新增或者删除。
此外,在其他实施方式中,在所述相点确定为孤立点时,所述的处理模块102可根据用户需求保留或删除所述相点。
步骤S14,所述的拟合模块104利用预设的数学方法将在预设类型的元素上的相点及对应的邻域点拟合成相对应的预设类型的面。所述预设的数学方法可以是最小二乘法,或者现有技术中采用的其他数学方法。
在所述相点所在的元素为面时,所述的拟合模块104利用预设的数学方法将该相点及相应的邻域点拟合成平面。在所述相点所在的元素为边时,所述的拟合模块104利用预设的数学方法将该相点及相应的邻域点拟合成圆锥曲面。在所述相点所在的元素为角时,所述的拟合模块104利用预设的数学方法将该相点及相应的邻域点拟合成柱面。
步骤S16,所述的投影模块105在相点所在的元素类型为面、边或角时,根据所述相点的坐标将所述相点投影至与该相点对应的拟合后的面上,并确定所述相点对应的投影点的坐标。在本实施方式中,该投影点则是该相点经过平滑处理后的点。所述的投影模块105可自该相点向其对应的拟合后的面(投影面)作垂线,得到的垂足即视为该相点对应的投影点,并可确定该投影点的三维坐标。
步骤S18,所述的输出模块106输出所有相点对应的投影点的坐标,然后,结束本流程。所有投影点即是步骤S2中所输入的产品的点云数据在经过了平滑处理后得到的点云。
此外,在其他实施方式中,所述的处理模块102还可根据步骤S2中输入的点云数据,确定每个点的法向量并绘制法向量的原始直线图。
在完成对所有相点的投影点的确定后,所述的处理模块102进一步根据所有投影点的坐标构建平滑后的曲面,并对所述平滑后的曲面进行三角网格化处理。所述的处理模块102确定所有投影点的法向量,并根据所确定的法向量绘制平滑处理后的法向量的直线图。
参考如图4所示的点云法向量对比图,左边的图形为平滑处理前的点云数据中的点的原始法向量直线图,右边的图形为平滑处理后的投影点的法向量直线图。
所述的输出模块106进一步输出法向量的原始直线图及平滑处理后的法向量直线图,在所述显示装置13上显示上述两个图从而可供用户查看对点云数据进行平滑处理的效果。
以上实施方式仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施方式对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换都不应脱离本发明技术方案的精神和范围。