一种零件点云配准方法、装置、设备及介质转让专利

申请号 : CN202310377629.7

文献号 : CN116109685B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 隋少春朱绪胜周力陈代鑫陈李学胡万里雷沛杨春马海钊贾涛陈俊佑蔡怀阳

申请人 : 成都飞机工业(集团)有限责任公司

摘要 :

本申请公开了一种零件点云配准方法、装置、设备及介质,涉及导管接头连接成形技术领域,用于解决现有技术中对零件进行点云配准效率较低的技术问题。该方法包括基于构建的各向异性领域模型,获取目标零件的点云数据;去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据;提取去除所述大尺度噪音数据和所述小尺度噪音数据后的所述目标零件的点云数据的线特征;对所述目标零件的点云数据的线特征进行拟合;基于拟合后的所述目标零件的点云数据的线特征,对所述目标零件的点云数据进行配准。通过上述技术方案可以更有效、更准确的获得有利于目标零件点云配准的点云数据,从而可以提高对目标零件的点云数据配准的准确性。

权利要求 :

1.一种零件点云配准方法,其特征在于,所述方法包括:基于主成分分析技术,获取历史零件的点云数据中任意一点的协方差矩阵;

基于所述历史零件的点云数据中任意一点的协方差矩阵,获取所述历史零件的点云数据中任意一点的法线;

基于所述历史零件的点云数据中任意一点的法线,获得所述历史零件的点云数据的主曲率;所述主曲率包括最大主曲率的大小、最大主曲率的方向、最小主曲率的大小和最小主曲率的方向;

基于所述历史零件的点云数据的主曲率,通过如下关系式,构建所述历史零件的点云数据中任意一点的搜索半径模型:其中,R表示点云数据中任意一点的搜索半径, 表示点云数据的最大主曲率,k表示搜索半径方向对应的主曲率大小,w表示决定特征保持程度的权重,r表示全局基准邻域半径;

基于所述历史零件的点云数据中任意一点的搜索半径模型,通过如下关系式,构建各向异性领域模型:其中,x表示点云数据中任意一点的x轴坐标,y表示点云数据中任意一点的y轴坐标,表示最小主曲率对应的搜索半径, 表示最大主曲率对应的搜索半径;

基于构建的各向异性领域模型,获取目标零件的点云数据;

去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据;其中,所述大尺度噪音数据包括由光照和/或误匹配产生的离散于主体点云数据的孤立点数据,所述小尺度噪音数据包括由测量系统随机噪声产生的存在测量误差的点云数据;

提取去除所述大尺度噪音数据和所述小尺度噪音数据后的所述目标零件的点云数据的线特征;

对所述目标零件的点云数据的线特征进行拟合;

基于拟合后的所述目标零件的点云数据的线特征,对所述目标零件的点云数据进行配准。

2.如权利要求1所述的零件点云配准方法,其特征在于,所述去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据,包括:获得所述目标零件的点云数据的重心;

基于搜索点,获得所述搜索点到所述重心的距离;

将所述搜索点到所述重心的距离与距离阈值比对,以去除所述目标零件的点云数据中的大尺度噪音数据。

3.如权利要求1所述的零件点云配准方法,其特征在于,所述去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据,包括:基于所述各向异性领域模型,对所述目标零件的点云数据进行一次曲面拟合,以获得拟合函数;

基于所述拟合函数,获得所述目标零件的点云数据中任意一点的预测值;

基于所述目标零件的点云数据中任意一点的预测值和真实值,获得所述目标零件的点云数据中任意一点的拟合中误差;

基于中误差阈值和所述拟合中误差,以去除所述目标零件的点云数据中的小尺度噪音数据。

4.如权利要求1所述的零件点云配准方法,其特征在于,所述对所述目标零件的点云数据的线特征进行拟合,包括:基于所述目标零件的主曲率,提取所述目标零件的点云数据的初始关键点;

基于所述目标零件的点云数据的初始关键点,建立节点矢量;

基于B样条曲线和型值点,获取新增关键点;其中,所述新增关键点包括对逼近偏差极大值影响最大的型值点;

基于所述节点矢量,调整添加所述新增关键点,以对所述目标零件的点云数据的线特征进行拟合。

5.一种零件点云配准装置,其特征在于,所述装置包括:获取模块,用于基于主成分分析技术,获取历史零件的点云数据中任意一点的协方差矩阵;

用于基于所述历史零件的点云数据中任意一点的协方差矩阵,获取所述历史零件的点云数据中任意一点的法线;

用于基于所述历史零件的点云数据中任意一点的法线,获得所述历史零件的点云数据的主曲率;所述主曲率包括最大主曲率的大小、最大主曲率的方向、最小主曲率的大小和最小主曲率的方向;

用于基于所述历史零件的点云数据的主曲率,通过如下关系式,构建所述历史零件的点云数据中任意一点的搜索半径模型:其中,R表示点云数据中任意一点的搜索半径, 表示点云数据的最大主曲率,k表示搜索半径方向对应的主曲率大小,w表示决定特征保持程度的权重,r表示全局基准邻域半径;

用于基于所述历史零件的点云数据中任意一点的搜索半径模型,通过如下关系式,构建各向异性领域模型:其中,x表示点云数据中任意一点的x轴坐标,y表示点云数据中任意一点的y轴坐标,表示最小主曲率对应的搜索半径, 表示最大主曲率对应的搜索半径;

用于基于构建的各向异性领域模型,获取目标零件的点云数据;

去除模块,用于去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据;其中,所述大尺度噪音数据包括由光照和/或误匹配产生的离散于主体点云数据的孤立点数据,所述小尺度噪音数据包括由测量系统随机噪声产生的存在测量误差的点云数据;

提取模块,用于提取去除所述大尺度噪音数据和所述小尺度噪音数据后的所述目标零件的点云数据的线特征;

拟合模块,用于对所述目标零件的点云数据的线特征进行拟合;

配准模块,用于基于拟合后的所述目标零件的点云数据的线特征,对所述目标零件的点云数据进行配准。

6.一种计算机设备,其特征在于,该计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现如权利要求1‑4中任一项所述的方法。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现如权利要求1‑4中任一项所述的方法。

说明书 :

一种零件点云配准方法、装置、设备及介质

技术领域

[0001] 本申请涉及导管接头连接成形技术领域,尤其涉及零件点云配准方法、装置、设备及介质。

背景技术

[0002] 随着扫描测量技术的发展,对产品进行全方位检查成为可能,尤其是具有多自由度的复杂曲面零件。通常,三维扫描只能包含产品零部件的部分几何信息,因此我们需要从多个视角对零件进行扫描得到多个点云信息,然后对点云进行配准以获取零件完整的点云几何信息。
[0003] 现有技术中,面向复杂的工业零件,特别是薄壁筒状零件,庞大的点云数据信息带来的数据处理压力都给算法的运算效率和实现效果带来很大挑战。因此,现有技术中对零件进行点云配准的效率较低。

发明内容

[0004] 本申请的主要目的在于提供零件点云配准方法、装置、设备及介质,旨在解决现有技术中对零件进行点云配准的效率较低的技术问题。
[0005] 为实现上述目的,本申请第一方面提供了一种零件点云配准方法,所述方法包括:
[0006] 基于构建的各向异性领域模型,获取目标零件的点云数据;
[0007] 去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据;其中,所述大尺度噪音数据包括由光照和/或误匹配产生的离散于主体点云数据的孤立点数据,所述小尺度噪音数据包括由测量系统随机噪声产生的存在测量误差的点云数据;
[0008] 提取去除所述大尺度噪音数据和所述小尺度噪音数据后的所述目标零件的点云数据的线特征;
[0009] 对所述目标零件的点云数据的线特征进行拟合;
[0010] 基于拟合后的所述目标零件的点云数据的线特征,对所述目标零件的点云数据进行配准。
[0011] 可选地,在所述基于构建的各向异性领域模型,获取目标零件的点云数据的步骤之前,还包括:
[0012] 基于主成分分析技术,获取历史零件的点云数据中任意一点的法线;
[0013] 基于所述历史零件的点云数据中任意一点的法线,获得所述历史零件的点云数据的主曲率;所述主曲率包括最大主曲率的大小、最大主曲率的方向、最小主曲率的大小和最小主曲率的方向;
[0014] 基于所述历史零件的点云数据的主曲率,构建所述历史零件的点云数据中任意一点的搜索半径模型;
[0015] 基于所述历史零件的点云数据中任意一点的搜索半径模型,构建各向异性领域模型。
[0016] 可选地,所述基于主成分分析技术,获取历史零件的点云数据中任意一点的法线,包括:
[0017] 基于主成分分析技术,获取历史零件的点云数据中任意一点的协方差矩阵;
[0018] 基于所述历史零件的点云数据中任意一点的协方差矩阵,获取所述历史零件的点云数据中任意一点的法线。
[0019] 可选地,所述基于所述历史零件的点云数据的主曲率,构建所述历史零件的点云数据中任意一点的搜索半径模型,包括:
[0020] 通过如下关系式,构建搜索半径模型:
[0021]
[0022] 其中,R表示点云数据中任意一点的搜索半径, 表示点云数据的最大主曲率,k表示搜索半径方向对应的主曲率大小,w表示决定特征保持程度的权重,r表示全局基准邻域半径。
[0023] 可选地,所述基于所述历史零件的点云数据中任意一点的搜索半径模型,构建各向异性领域模型,包括:
[0024] 通过如下关系式,构建各向异性领域模型:
[0025]
[0026] 其中,x表示点云数据中任意一点的x轴坐标,y表示点云数据中任意一点的y轴坐标, 表示最小主曲率对应的搜索半径, 表示最大主曲率对应的搜索半径。
[0027] 可选地,所述去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据,包括:
[0028] 获得所述目标零件的点云数据的重心;
[0029] 基于搜索点,获得所述搜索点到所述重心的距离;
[0030] 将所述搜索点到所述重心的距离与距离阈值比对,以去除所述目标零件的点云数据中的大尺度噪音数据。
[0031] 可选地,所述去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据,包括:
[0032] 基于所述各向异性领域模型,对所述目标零件的点云数据进行一次曲面拟合,以获得拟合函数;
[0033] 基于所述拟合函数,获得所述目标零件的点云数据中任意一点的预测值;
[0034] 基于所述目标零件的点云数据中任意一点的预测值和真实值,获得所述目标零件的点云数据中任意一点的拟合中误差;
[0035] 基于中误差阈值和所述拟合中误差,以去除所述目标零件的点云数据中的小尺度噪音数据。
[0036] 可选地,所述对所述目标零件的点云数据的线特征进行拟合,包括:
[0037] 基于所述目标零件的主曲率,提取所述目标零件的点云数据的初始关键点;
[0038] 基于所述目标零件的点云数据的初始关键点,建立节点矢量;
[0039] 基于B样条曲线和型值点,获取新增关键点;其中,所述新增关键点包括对逼近偏差极大值影响最大的型值点;
[0040] 基于所述节点矢量,调整添加所述新增关键点,以对所述目标零件的点云数据的线特征进行拟合。
[0041] 第二方面,本申请提供了一种零件点云配准装置,所述装置包括:
[0042] 获取模块,用于基于构建的各向异性领域模型,获取目标零件的点云数据;
[0043] 去除模块,用于去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据;其中,所述大尺度噪音数据包括由光照和/或误匹配产生的离散于主体点云数据的孤立点数据,所述小尺度噪音数据包括由测量系统随机噪声产生的存在测量误差的点云数据;
[0044] 提取模块,用于提取去除所述大尺度噪音数据和所述小尺度噪音数据后的所述目标零件的点云数据的线特征;
[0045] 拟合模块,用于对所述目标零件的点云数据的线特征进行拟合;
[0046] 配准模块,用于基于拟合后的所述目标零件的点云数据的线特征,对所述目标零件的点云数据进行配准。
[0047] 第三方面,本申请提供了一种计算机设备,该计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现实施例中所述的方法。
[0048] 第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现实施例中所述的方法。
[0049] 通过上述技术方案,本申请至少具有如下有益效果:
[0050] 本申请实施例提出的零件点云配准方法、装置、设备及介质,该方法通过先基于构建的各向异性领域模型,获取目标零件的点云数据;然后去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据;其中,所述大尺度噪音数据包括由光照和/或误匹配产生的离散于主体点云数据的孤立点数据,所述小尺度噪音数据包括由测量系统随机噪声产生的存在测量误差的点云数据;然后提取去除所述大尺度噪音数据和所述小尺度噪音数据后的所述目标零件的点云数据的线特征;再对所述目标零件的点云数据的线特征进行拟合;最后基于拟合后的所述目标零件的点云数据的线特征,对所述目标零件的点云数据进行配准。即,当需要对目标零件进行点云配准时,先通过事先构建的各向异性领域模型,获得目标零件的点云数据,然后去除影响目标零件点云配准的大尺度噪音数据和小尺度噪音数据,然后再提取去除大尺度噪音数据和小尺度噪音数据后的点云数据的线特征,再对目标零件的点云数据的线特征进行拟合;最后依据拟合后的线特征,对目标零件的点云数据进行配准。即,由于通过事先构建好的各向异性领域模型来获取目标零件的点云数据,这样可以提高获取目标零件的点云数据的效率;以及由于去除了影响目标零件的点云数据配准的大尺度噪音数据和小尺度噪音数据,这样可以减少最终点云数据的配准数量;以及准确的提取目标零件的点云数据的线特征,这样可以进一步减少最终用于配准的点云数据的数量。因此,基于提高了获取目标零件的点云数据的效率,以及精减了最终用于配准的点云数据的数量,从而可以提高对目标零件的点云配准的效率。同时,由于去除了影响目标零件配准的点云数据中的大尺度噪音数据和小尺度噪音数据,以及准确的提取了目标零件的点云数据的线特征,因此可以更有效、更准确的获得有利于目标零件点云配准的点云数据,从而可以提高对目标零件的点云数据配准的准确性。

附图说明

[0051] 图1为本申请实施例涉及的硬件运行环境的计算机设备结构示意图;
[0052] 图2为本申请实施例提供的一种零件点云配准方法的流程图;
[0053] 图3为本申请实施例提供的构建的各向异性领域模型的流程图;
[0054] 图4为本申请实施例提供的一种零件点云配准装置的示意图。
[0055] 本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0056] 应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0057] 随着扫描测量技术的发展,对产品进行全方位检查成为可能,尤其是具有多自由度的复杂曲面零件。通常,三维扫描只能包含产品零部件的部分几何信息,因此我们需要从多个视角对零件进行扫描得到多个点云信息,然后对点云进行配准以获取零件完整的点云几何信息。原始扫描点云是一个没有明确定义的边界几何的实体,因此,如何从扫描点云中获得有用、可靠的几何特征,是推动三维技术应用的瓶颈。本申请对薄壁筒状零件点云配准技术展开研究,由于薄壁筒状零件具有薄壁、锐边的特点,可对薄壁筒状零件进行边缘提取,以在点云数据后续处理过程中根据拟合出的边缘线特征对薄壁筒状零件的内外形点云数据进行配准。而三维点云作为三维检测的数据依据也越来越重要,但是面向复杂的工业零件,庞大的点云数据信息带来的数据处理压力都给算法的运算效率和实现效果带来很大挑战,预定检测目标诸多都难以完成,并且大部分不能满足工业装配及检测的要求。因此,在进行点云配准时准确提取零件关键特征是减少数据量并提高数据分析和处理效率的必要手段。针对基于线特征的薄壁筒状零件内外形点云配准方法进行研究可以促进薄壁筒状零件的加工制造等相关产业的发展以及三维测量应用推广,具有非常大的意义。综上,面向复杂的工业零件,特别是薄壁筒状零件,庞大的点云数据信息带来的数据处理压力都给算法的运算效率和实现效果带来很大挑战。因此,目前对零件进行点云配准的效率较低。
[0058] 为了解决上述技术问题,本申请提供了一种零件点云配准方法、装置、设备及介质,在介绍本申请的具体技术方案之前,先介绍下本申请实施例方案涉及的硬件运行环境。
[0059] 参照图1,图1为本申请实施例方案涉及的硬件运行环境的计算机设备结构示意图。
[0060] 如图1所示,该计算机设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless‑FIdelity,WI‑FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non‑Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
[0061] 本领域技术人员可以理解,图1中示出的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0062] 如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及电子程序。
[0063] 在图1所示的计算机设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明计算机设备中的处理器1001、存储器
1005可以设置在计算机设备中,所述计算机设备通过处理器1001调用存储器1005中存储的零件点云配准装置,并执行本申请实施例提供的零件点云配准方法。
[0064] 参照图2,基于前述实施例的硬件环境,本申请的实施例提供了一种零件点云配准方法,该方法包括:
[0065] S10:基于构建的各向异性领域模型,获取目标零件的点云数据。
[0066] 在具体实施过程中,目标零件是指需要点云配准的零件,各向异性领域模型可以提前构建,通过提前构建的各向异性领域模型可以更高效的获得目标零件的点云数据。
[0067] S11:去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据;其中,所述大尺度噪音数据包括由光照和/或误匹配产生的离散于主体点云数据的孤立点数据,所述小尺度噪音数据包括由测量系统随机噪声产生的存在测量误差的点云数据。
[0068] 在具体实施过程中,获得的点云数据中必然会存在一些不利于零件点云配准的点云数据,这类点云数据不但会增加计算机运算的内存,降低计算机的处理效率,而且影响到零件点云配准的准确性。这些影响零件配准的点云数据主要包括大尺度噪音数据和小尺度噪音数据,其中,大尺度噪音数据包括由光照和/或误匹配产生的离散于主体点云数据的孤立点数据等,小尺度噪音数据包括由测量系统随机噪声产生的存在测量误差的点云数据等。除去这些影响零件配准的点云数据后,会极大的减少最终用于零件配准的数据,同时也可以增加最终用于零件配准的点云数据的准确性,因此可以极大的提高对目标零件点云配准的效率。
[0069] S12:提取去除所述大尺度噪音数据和所述小尺度噪音数据后的所述目标零件的点云数据的线特征。
[0070] 在具体实施过程中,在除去大尺度噪音数据和小尺度噪音数据后,利用KD‑Tree建立拓扑结构,基于该结构获取采样点的k近邻点作为局部型面参考数据,以最小二乘法拟合该数据的微切平面,并将其向微切平面投影,根据采样点与其k近邻所对应投影点连线的最大夹角识别散乱点云边缘线特征。
[0071] S13:对所述目标零件的点云数据的线特征进行拟合。
[0072] 在具体实施过程中,先基于所述目标零件的主曲率,提取所述目标零件的点云数据的初始关键点;然后基于所述目标零件的点云数据的初始关键点,建立节点矢量;然后基于B样条曲线和型值点,获取新增关键点;其中,所述新增关键点包括对逼近偏差极大值影响最大的型值点;最后基于所述节点矢量,调整添加所述新增关键点,以对所述目标零件的点云数据的线特征进行拟合。具体的,首先得到型值点的离散曲率估计,运用得到的曲率,其中,(k0,k1,...,km)为不同部位型值点对应的离散曲率,提取初始关键点,其提取原则如下:
[0073] (1)端部两型值点必选;
[0074] (2)离散曲率极小值对应位置的型值点必选;
[0075] (3)通过设定曲率阈值选择特征点,将曲率大于阈值的点设为初始特征点,曲率的平均值为 ,曲率阈值设定为 ,其中, 为第一比例系数,根据曲率方差进行设置。
[0076] 然后,根据关键点建立节点矢量,具体的,通过如下公式来建立节点矢量:
[0077]
[0078] 其中, 为关键点 在Q中的位置所对应型值点的参数化值,i=1,2,3….n‑k,n表示点集中共有n个点,j表示严格正整数,Q为型值点,k为邻域点数。
[0079] 再根据初始关键点确定的逼近曲线一般不能满足逼近允差要求,需要调整添加关键点,通过分析B样条曲线和型值点间的逼近偏差和形状指数,提取那些对逼近偏差极大值影响最大的型值点作为新增关键点,而对于关键点邻近的特殊情况,则根据邻近型值点的曲率比较,选择新增关键点。
[0080] 对于B样条曲线与型值点间的逼近偏差可采用hausdorff距离计算,给定两组数据集 ,其中,{a1,a2,...,ap}表示属于数据集A中的多个点,{b1,b2,...,bq}表示属于数据集B中的多个点,令数据集A为数据集B样条曲线拟合点集,数据集B为型值点集,则数据集A和数据集B两个点集之间的双向hausdorff距离为:
[0081]
[0082] 双向hausdorff距离度量了两个点集间的最大不匹配程度。
[0083] 数据集A和数据集B两个点集之间的单向hausdorff距离为:
[0084]
[0085]
[0086] a和b分别为数据集A和数据集B中的点,||a‑b||表示a与b之间的欧氏距离,||b‑a||表示b与a之间的欧氏距离,h(A,B) 也叫前向hausdorff距离,h(B,A) 也叫后向hausdorff距离。
[0087] 另外,通过设定偏差阈值 ,其中, 为第二比例系数,可以由偏差公差来设置,h(Q,C)为最大逼近偏差,C表示为给定点集中任意一点的协方差矩阵。选择所有高于偏差阈值的偏差极大值点,用于后续新增关键点。这样可以获得更多的新增关键点,从而可以对目标零件的点云数据的线特征拟合得更加准确。
[0088] S14:基于拟合后的所述目标零件的点云数据的线特征,对所述目标零件的点云数据进行配准。
[0089] 在具体实施过程中,依据拟合出的边缘曲线,依据配准时两片点云上一条边缘曲线上各点到另一条边缘曲线的距离要近似相等的原则,完成两个维度上的配准,再根据拟合出的直线完成最后一个维度上的配准,从而完成对目标零件的点云配准。
[0090] 综上,当需要对目标零件进行点云配准时,先通过事先构建的各向异性领域模型,获得目标零件的点云数据,然后去除影响目标零件点云配准的大尺度噪音数据和小尺度噪音数据,然后再提取去除大尺度噪音数据和小尺度噪音数据后的点云数据的线特征,再对目标零件的点云数据的线特征进行拟合;最后依据拟合后的线特征,对目标零件的点云数据进行配准。即,由于通过事先构建好的各向异性领域模型来获取目标零件的点云数据,这样可以提高获取目标零件的点云数据的效率;以及由于去除了影响目标零件的点云数据配准的大尺度噪音数据和小尺度噪音数据,这样可以减少最终点云数据的配准数量;以及准确的提取目标零件的点云数据的线特征,这样可以进一步减少最终用于配准的点云数据的数量。因此,基于提高了获取目标零件的点云数据的效率,以及精减了最终用于配准的点云数据的数量,从而可以提高对目标零件的点云配准的效率。同时,由于去除了影响目标零件配准的点云数据中的大尺度噪音数据和小尺度噪音数据,以及准确的提取了目标零件的点云数据的线特征,因此可以更有效、更准确的获得有利于目标零件点云配准的点云数据,从而可以提高对目标零件的点云数据配准的准确性。
[0091] 为了更好的构建出各向异性领域模型,在一些实施例中,如图3所示,在所述基于构建的各向异性领域模型,获取目标零件的点云数据的步骤之前还包括:
[0092] S20:基于主成分分析技术,获取历史零件的点云数据中任意一点的法线。
[0093] 在具体实施过程中,历史零件是指在对目标零件进行点云配准之前的与目标零件同类的零件;主成分分析技术又称主分量分析,旨在利用降维的思想,把多指标转化为少数几个综合指标。先基于主成分分析技术,获取历史零件的点云数据中任意一点的协方差矩阵;然后基于所述历史零件的点云数据中任意一点的协方差矩阵,获取所述历史零件的点云数据中任意一点的法线。具体的,利用PCA进行法线估算,对于给定点集,点集中共有n个点,对于点集中任意一点 的最近 邻域表示为,邻域中任意一点记为 ,k为邻域点数,u表示邻域重心,则该点的协方差矩阵C表示为:
[0094]
[0095] 求得点 的协方差矩阵后,协方差矩阵C存在三个特征向量 ,分别对应了三个特征值u,v,w,且 ,其中,最小特征值 对应的特征向量 即是点云的法线方向。
[0096] S21:基于所述历史零件的点云数据中任意一点的法线,获得所述历史零件的点云数据的主曲率;所述主曲率包括最大主曲率的大小、最大主曲率的方向、最小主曲率的大小和最小主曲率的方向。
[0097] 在具体实施过程中,在得到点云法线后,对 邻域以法线 为z轴利用坐标变换矩阵建立局部坐标系,再根据最小二乘曲面拟合估算点云的主曲率大小与方向。在以法线为z轴的局部坐标系中,对点云进行二次曲面拟合,局部坐标系中一点 ,其二次曲面方程系数为 ,则点云的主曲率方向与局部曲面的二次拟合结果有如下关系,
[0098]
[0099]
[0100]
[0101]
[0102]
[0103] 其中,式中Mp表示表示最大主曲率方向,Tp表示最小主曲率方向, 表示最大主曲率的大小, 表示最小主曲率的大小,a、b、c、d和e均表示二次曲面方程系数。
[0104] S22:基于所述历史零件的点云数据的主曲率,构建所述历史零件的点云数据中任意一点的搜索半径模型。
[0105] 在具体实施过程中,根据主曲率的方向和大小自适应的改变邻域搜索范围的大小,使用主曲率的方向特性建立各向异性邻域,实现根据不同的曲率变化趋势选择不同的邻域搜索半径。由于点云的邻域搜索需要使用kd‑tree建立拓扑关系,然后再从树结构中进行检索,所以先获取固定半径邻域,再在固定半径邻域中选择所需的邻域点,通过牺牲一定的时间成本来实现椭球邻域搜索。
[0106] 对于每个主曲率方向,通过如下关系式,构建搜索半径模型:
[0107]
[0108] 其中,R表示点云数据中任意一点的搜索半径, 表示点云数据的最大主曲率,k表示搜索半径方向对应的主曲率大小,w表示决定特征保持程度的权重,r表示全局基准邻域半径。
[0109] S23:基于所述历史零件的点云数据中任意一点的搜索半径模型,构建各向异性领域模型。
[0110] 在具体实施过程中,通过上述搜索半径模型计算得到每个点两个方向对应的搜索半径,其中,最大主曲率对应的搜索半径 大于最小主曲率对应的搜索半径 ,则所求的椭球邻域点一定位于以 为半径搜索的球形邻域内。在实际应用中,简化与平滑都要求在平滑方向选择更多的点,在弯曲方向选择更少的点,所以在选择椭球邻域时,应该在弯曲方向使用 ,而在平滑方向使用 。首先以 为半径进行邻域搜索,然后对所有邻域点,以搜索点P为坐标原点,法线v为z轴,最大主曲率方向 为x轴,最小主曲率方向 为y轴建立局部坐标系,利用坐标变换矩阵将所有点都变换到这一局部坐标系中。然后根据椭圆公式可以得到,所有位于所求椭球邻域内的点都满足如下公式。
[0111] 通过如下关系式,构建各向异性领域模型:
[0112]
[0113] 其中,x表示点云数据中任意一点的x轴坐标,y表示点云数据中任意一点的y轴坐标, 表示最小主曲率对应的搜索半径, 表示最大主曲率对应的搜索半径。
[0114] 如此,可以构建出各向异性领域模型,通过各向异性领域模型可以更高效的获得目标零件的点云数据。
[0115] 在一些实施例中,优选的通过如下技术方案去除目标零件的点云数据中的大尺度噪音数据:先获得所述目标零件的点云数据的重心;然后基于搜索点,获得所述搜索点到所述重心的距离;最后将所述搜索点到所述重心的距离与距离阈值比对,以去除所述目标零件的点云数据中的大尺度噪音数据。
[0116] 本实施例中,距离阈值为预先设置的阈值,本实施例中优选的将距离阈值设置为0.55倍搜索半径。具体的,对大尺度噪声的去除往往使用了其远离主体数据的特点,有效点的邻域点应该均匀的分布在一个球形空间内,其重心应该靠近搜索点,而离散点的邻域点聚集于半球一侧,邻域重心远离搜索点。在大尺度噪声去除过程中,还需要考虑到边界点云也具有和噪声相似的统计特征。通过对主体点云、边界点云和大尺度噪声点云邻域特征的分析,对每个点进行固定半径邻域搜索,首先去除邻域中的搜索点本身,然后计算其他点的重心,根据不同类型点云邻域分布的特点,计算搜索点到重心的距离,使用了0.55倍搜索半径作为阈值区分噪声点,同时将0.4‑0.5倍搜索半径之间的点作为边界点提取出来进行保护。
[0117] 在一些实施例中,优选的通过如下技术方案去除目标零件的点云数据中的小尺度噪音数据:先基于所述各向异性领域模型,对所述目标零件的点云数据进行一次曲面拟合,以获得拟合函数;然后基于所述拟合函数,获得所述目标零件的点云数据中任意一点的预测值;然后基于所述目标零件的点云数据中任意一点的预测值和真实值,获得所述目标零件的点云数据中任意一点的拟合中误差;最后基于中误差阈值和所述拟合中误差,以去除所述目标零件的点云数据中的小尺度噪音数据。
[0118] 本实施例中,利用线性最小二乘曲面拟合进行点云平滑,对于平面区域,使用普通的固定半径邻域进行一次曲面拟合。然后对于其他的点,首先根据上述使用主曲率建立的各向异性邻域模型,进行一次曲面拟合,得到拟合函数后将所有点代入方程求得近似的z坐标,对于一次曲面上任一点p(x,y,z),其坐标满足方程:
[0119] z=fx+hy+k
[0120] 其中,f、h和k均表示方程的系数,通过常规手段可以获得。求得拟合函数后,以对于邻域中任一点 ,将其x,y坐标代入方程求得预测值 ,然后以其实际z坐标值 作为真值,根据下式求得拟合中误差σ:
[0121]
[0122] 利用给定的中误差阈值判断拟合精度是否符合精度要求,如果符合要求则以近似值对搜索点进行平滑,如果不符合要求就阶数增加再次进行拟合,直到完成三阶拟合,选取三次拟合中中误差最小的作为近似值。
[0123] 另外,除了自适应曲面拟合外,还可能存在由于搜索点曲率过大,邻域极小导致的没有足够的点来参与曲面拟合的现象,对于这类点,既可能是噪声点也可能是特征点,选用特征保持效果较好的双边滤波来对这类点进行滤波处理。
[0124] 综上,本申请基于各向异性邻域搜索,针对不同尺度的噪声对点云数据进行去噪,很好的保留了后续处理需要的点云特征,基于线特征对薄壁筒状零件内外形点云配准,在进行点云配准时准确提取线关键特征,减少了数据量并提高了数据分析和处理效率。
[0125] 在另一实施例中,如图4所示,基于与前述实施例相同的发明思路,本申请的实施例还提供了一种零件点云配准装置,该装置包括:
[0126] 获取模块,用于基于构建的各向异性领域模型,获取目标零件的点云数据;
[0127] 去除模块,用于去除所述目标零件的点云数据中的大尺度噪音数据和小尺度噪音数据;其中,所述大尺度噪音数据包括由光照和/或误匹配产生的离散于主体点云数据的孤立点数据,所述小尺度噪音数据包括由测量系统随机噪声产生的存在测量误差的点云数据;
[0128] 提取模块,用于提取去除所述大尺度噪音数据和所述小尺度噪音数据后的所述目标零件的点云数据的线特征;
[0129] 拟合模块,用于对所述目标零件的点云数据的线特征进行拟合;
[0130] 配准模块,用于基于拟合后的所述目标零件的点云数据的线特征,对所述目标零件的点云数据进行配准。
[0131] 需要说明的是,本实施例中零件点云配准装置中各模块是与前述实施例中的零件点云配准方法中的各步骤一一对应,因此,本实施例的具体实施方式和达到的技术效果可参照前述零件点云配准方法的实施方式,这里不再赘述。
[0132] 此外,在一种实施例中,本申请还提供一种计算机设备,所述计算机设备包括处理器,存储器以及存储在所述存储器中的计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法。
[0133] 此外,在一种实施例中,本申请还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法。
[0134] 在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
[0135] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0136] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0137] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0138] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0139] 上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0140] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光 盘)中,包括若干指令用以使得一台多媒体终端设备(可以是手机,计算机,电视接收机,或者网络设备等)执行本申请各个实施例所述的方法。
[0141] 以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。