一种基于三维特征提取的快速逆向建模方法与流程

文档序号:16473514发布日期:2019-01-02 23:21阅读:350来源:国知局
一种基于三维特征提取的快速逆向建模方法与流程

本发明涉及一种基于三维特征提取的快速逆向建模方法,本方法可用于对大型结构件快速逆向建模。本发明属于三维点云处理和逆向建模领域。



背景技术:

大型结构件因其在残余应力、尺寸精度方面具有优势,不仅能够提高性能和质量,并且具有材料成本低,利用率高的优势,在航空航天、船舶、汽车等领域广泛应用,在先进制造领域,传统的大型结构件制造方法已不能满足要求。相对于由板材毛坯件直接经过机械加工得到整体结构件的传统工艺而言,用精铸件或模锻件作为毛坯件,经过少许加工得到整体结构件的方法在残余应力、尺寸精度等方面更具有优势。大型结构件的成型方式加工量较小,尺寸控制要求严格,通过对大型结构件三维点云的数据处理及模型的快速重建,并与标准cad模型进行对比,分析误差规律进而改进生产工艺,实现快速制造。大型结构件三维数据需要多次测量才能得到,研究针对多次测量的三维点云数据的快速处理是亟待解决的问题,对大型结构件的加工制造具有重要的应用和推广价值。



技术实现要素:

本发明的技术解决问题是:提出一种基于三维特征提取的快速逆向建模方法,针对大型结构件三维点云数据的特点,对单视场测量结果进行降噪和简化处理,计算三维点云的曲率和法向量,提取三维点云的特征信息,根据特征点集合对三维点云进行分割,最后基于若干单视场三维点云分割的结果进行整体数据的拼接。三维点云数据的处理与拼接测量同时进行,实现大型结构件的快速逆向建模。

本发明的技术解决方案为:一种基于三维特征提取的快速逆向建模方法,其特征在于在拼接测量过程中同时进行快速逆向建模,包括以下步骤:

(1)进行单个视场三维测量,得到大型结构件局部单视场三维点云。

测量设备对大型结构件局部区域进行三维测量,得到单视场三维点云数据,然后移动测量设备进行下一个单视场测量。

(2)删除点云的噪声点,然后采用二次曲面拟合的方法对三维点云进行滤波补偿。

首先计算当前点的k个邻近点,采用kd_tree进行搜索;然后计算当前点到k个邻近点的距离,并求k个距离的平均值;遍历整个点云,重复上述操作,得到所有点与其k个邻近点距离的平均值;对整个点云计算平均距离,按照设定的距离阈值,对于大于阈值的点视为噪声点。

点云中的随机误差不属于噪声点的范畴,其消除方法是曲面拟合,对搜索的邻近点以二次曲面方程为目标,以拟合的结果代替原始值,补偿一次后,重新迭代计算多次,实现针对随机误差的滤波。

(3)对滤波后的点云进行平面拟合并计算点云法向量。

点云的法向量定义为点云所在的局部平面的法向量。首先搜索点云的邻近点,根据最小二乘法则,对邻近点集进行平面拟合作为该点的局部平面,并计算此平面的单位法向量,作为点云的法向量。针对法向量方向的二义性,根据相邻点法向量的点积对法向量进行调整,使其指向相同方向。

(4)使用曲面拟合计算三维数据中点的曲率。

要获取点云中每个点的曲率值,需要以曲面方程作为基础。本发明在点的局部邻域中构造二次参数曲面方程,拟合局部二次曲面。在拟合曲面之前,先对原始点云进行调整,使其主方向同z轴正方向重合。最后根据拟合的曲面,计算点的高斯曲率、平均曲率和主曲率。

(5)以点云数据的曲率和法向量作为信息,提取点云数据的线、面等几何特征,以这些特征作为约束条件,对点云进行分割。

根据点云的曲率信息,利用边界提取和曲率阈值方法提取特征点。以提取出的特征点作为约束,采用曲率与法向量结合的区域生长法完成点云的初步分割,最后遍历初步分割得到的数据子集,通过计算每一数据子集中的点与其邻域内还未被标记点的法向量夹角,当夹角小于给定阈值时,则将该未标记点划入相应的数据子集内,完成点云的分割。

(6)通过拼接测量实现大型结构件完整三维点云获取,将每个视场分割后的点云合并成统一的数据,得到大型结构件完整的三维点云数据。

以当前视场中分割的面片作为基准,与下一个视场中的面片进行比较,若两个面片法向量之间的夹角满足阈值且距离满足阈值则合并两个面片;若夹角不满足阈值则重新选取面片进行比较。采用递归拼接的方法,将所有视场数据进行合并。

(7)由大型结构件的三维点云数据实现曲面重构

拼接后大型结构件完整的三维点云数据进行曲面模型拟合,然后对生成的曲面进行延伸、裁剪建立曲面之间的拓扑关系,最后缝合不同曲面,实现曲面重构。

本发明与现有技术相比的优点在于:

(1)现有技术需要先对被测物进行完整测量,得到大型结构件完整点云数据之后再进行数据处理,进行曲面重构。

(2)本发明针对快速逆向造型需求,将三维点云分割与获取分开进行,在处理当前视场三维点云数据的同时,可以进行下一视场的测量,最后根据分割的结果拼接得到完整测量数据。拼接测量与逆向建模同时进行,显著提高三维点云处理时间,实现快速逆向建模,有效提高了逆向造型速度,降低逆向造型的难度。

(3)本发明基于邻近点搜索进行点云的降噪、滤波和分割。根据噪声点空间独立性的特点,通过近邻搜索,比较任一点与其邻近点的平均距离,对噪声点进行识别和剔除,不仅提高了运算的效率,也很好的保留了后续处理需要的点云特征。

(4)本发明根据点云的法向量和曲率信息,提取点云特征,构造特征点集,采用基于曲率与法向量相结合的区域生长法实现点云数据的分割。根据分割的结果,利用两个视场面片之间的法向量进行拼接,最后得到完整的测量数据。

附图说明

图1为本发明方法的流程图。

图2为现有技术采用的测量流程图。

图3为去噪算法流程图。

图4为点云滤波补偿算法流程图。

图5为点云拼接流程图。

具体实施方式

为了更好的理解本发明,下面结合附图和实施例对本发明的技术方案作详细的描述。

参照附图1,一种基于三维特征提取的快速逆向建模方法,包含如下步骤:

1.测头移动,对大型结构件进行拼接测量。

测量设备一次测量只能获取大型结构件局部区域的三维点云,通过移动测头获得大型结构件多个单视场三维点云数据,经过拼接得到大型结构件完整的三维点云数据。该过程与三维点云数据处理同步进行,缩短逆向建模时间。

2.删除点云的噪声点,然后采用二次曲面拟合的方法对三维点云进行滤波补偿。

噪声点与一般点云相比,其周围邻近点云明显较少,据此可对噪声点进行去除。首先采用kd_tree对当前点进行搜索,获得当前点的k个邻近点;然后计算当前点到k个邻近点的距离,并求k个距离的平均值;遍历整个点云数据,重复上述操作,得到所有点与其k个邻近点距离的平均值;对整个点云计算平均距离,按照设定的距离阈值,对于大于阈值的点视为噪声点。

点云中的随机误差不属于噪声点的范畴,针对大型结构件的点云数据的特点,对搜索的邻近点以二次曲面方程为目标,使用二次曲面拟合,以拟合的结果代替原始值,补偿一次后,重新迭代计算多次,实现针对随机误差的滤波。

3.点云法向量的估算。

点云的法向量定义为点云所在的局部平面的法向量,首先搜索邻近点,利用最小二乘拟合,以这些邻近点拟合该点的局部平面,并计算局部平面的单位法向量,作为点的法向量。

最小二乘平面表示如下:

ax+by+cz+1=0

利用k个邻近点拟合最小二乘平面可表示成以下矩阵形式:

上式中矢量[abc]-1即为所求点的法向量。

4.点云曲率的估算。

要获取点云中每个点的曲率值,需要以曲面方程作为基础。本发明采用基于局部邻域点的二次曲面拟合方法计算三维数据中点的曲率。在点的局部邻域中搜索邻近点,建立二次参数曲面方程,拟合局部二次曲面。在拟合曲面之前,先对原始点云进行调整,使其主方向同z轴正方向重合。最后根据拟合的曲面,计算点云的平均曲率。

5.点云三维特征提取与分割。

曲面上的特征线可分为特征曲面的边界线即d0线、曲面之间位置连续但切平面不连续的相交线即d1线、曲面之间位置连续且切平面连续的相交线即d2线。d0线特征点采用边界提取法提取,通过kd_tree算法得到任一点pi(xi,yi,zi)的k个近邻点集p{(xi,yi,zi)|i=1,...,k},并将p{(xi,yi,zi)|i=1,...,k}姿态标准化,然后将标准化后的点云p'{(xi,yi,zi)|i=1,...,k}投影到以当前点为原点的xy平面上,再将xy平面平均分为八个区域,分别统计每个区域内的点云个数n,当两个以上相连通的区域内点云个数小于设定的阈值f,即n<f时,将点pi(xi,yi,zi)标记为边界点。针对大型结构件点云特点,取k=64,f=1。

d1、d2线特征采用曲率阈值方法提取,首先计算所有点云的平均曲率绝对值的平均曲率值average_m,然后将乘以一个系数ratio,得到一个阈值threshold=ratio×average_m,最后遍历所有点云,将点云平均曲率绝对值大于阈值的点标记为特征点,即abs(mean)>threshold。

采用基于点云曲率与法向量相结合的区域生长方法对点云进行分割。首先在点云中选取一个种子点p0作为第一个面片的起始点,种子点的选取规则为该种子点为非特征点,且其邻域内的k个点也为非特征点,取k=25,将种子点及其邻域内k个点放入存储当前面片的容器tempcloud内;以获得的特征点作为生长结束的约束条件,从种子点p0开始生长,不断的从tempcloud中取出一个点pi,当点pi的k邻域内所有点都为非特征点时,将k个点中没有被标的点放入当前面片中并进行标记flag=class_num,若点pi的k邻域内存在特征点时,则只将pi点放入当前面片;循环遍历tempcloud内的点,直到所有点的k邻域内都有特征点,则停止该面片的生长;重复上述步骤,直到遍历完点云中的所有点,则此时完成了点云的总体分割,分割得到的面片数为n;再一次遍历得到的n个面片,计算每个面片中每个点p的邻域点,若邻域还有没有被标记的点qi,则计算点p与qi之间的法向量夹角,若夹角小于给定的夹角阈值,则将qi点放入与p点相同的面片中并标记,遍历完成之后得到最终的分割结果。

6.通过拼接测量实现大型结构件完整三维点云获取,将每个视场分割后的三维点云合并,得到大型结构件完整的三维点云数据。

根据两组点云之间的距离和法向量的夹角作为拼接依据,采用递归拼接的方法,将拼接好的两个视场数据作为输入与下一个视场拼接。

该算法中,输入为两个视场分割得到的点云结果,输出为两个视场合并后的结果,最终的输出结果为所有视场下的合并数据。该算法的具体步骤如下:

(1)计算每个视场点云分割得到面片的法向量;

(2)将视场view(i),view(i+1)作为输入,将view(i)中的面片作为基准,与view(i+1)中的多个面片进行比较;

(3)若法向量夹角不满足给定的阈值条件,则返回步骤(2),重新选取面片进行比较;

(4)若法向量夹角满足给定的阈值条件,则计算两个面片之间的距离,若两个面片之间的距离满足给定的阈值,则将两个面片合并,否则,返回步骤(2);

(5)重复步骤(2)~(4),直到所有视场数据都合并完成。

7.由三维点云数据进行曲面重构

以大型结构件的完整三维点云数据作为输入,进行曲面模型拟合,将得到的曲面进行延伸、裁剪建立独立曲面之间的拓扑关系,最后缝合不同曲面,实现曲面重构。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1