基于三维点云的飞机机体结构铆钉轮廓提取算法研究*

2020-06-28 11:50李红卫
机电工程 2020年6期
关键词:铆钉邻域轮廓

李红卫

(航空工业西安飞机工业(集团)有限责任公司,陕西 西安 710089)

0 引 言

铆接是飞机结构连接最常见的形式之一,在飞机制造、使用过程中,因受外力等因素的作用,易使飞机结构发生变形,继而影响飞机平台机体结构的质量、寿命甚至飞机的性能,因此,其铆接质量至关重要[1]。

目前,飞机制造过程中,铆接质量的检测主要以人工检测为主,检测效率和质量不高。随着新一代飞机对机体结构要求的日益严苛,依靠人工检测已难以适应新的需求。

计算机辅助检测铆接质量,首先需要让计算机系统能够在机体结构中准确“识别”出一个个独立的“铆钉”,常常采用“视觉识别”方法[2-4]。盛敏等人[5]先通过提取二值化图像中的边缘,确定了铆钉区域,接着提出了一种改进的内距均值法[6],确定了铆钉区域的中心和半径;鲁睿婷等人[7]利用全自动光学检测系统测量了铆钉尺寸,通过电气控制单元控制铆钉的排列,并采用相机对铆钉进行了拍照,使用图像检测的方法检测了铆钉,该系统的测量精度在0.03 mm~0.06 mm;胡江涛等人[8]利用畸变矫正技术,减少了相机的非线性失真,并通过Radon变换方法实现了飞机铆钉尺寸的精确测量;丁力平[9]通过实验,并对比了多种边缘检测算法自动提取铆钉的效果,最终确定了基于Canny算子的边缘检测方法效果最佳。

但是大部分基于图像的方法均只能获取到二维的尺寸信息,无法获取更多信息,对铆接质量作进一步的评估;且因依赖于边缘提取技术来检测铆钉,对像素的精锐程度要求高,对光照、分辨率和图像噪声等因素敏感,检测结果易受干扰。

基于三维点云扫描技术,本文提出自适应的局部点云密度计算方法,以解决点云密度较小区域内的铆钉提取的难点,提升铆接质量检测的效率与可靠性。

1 局部自适应点云密度计算

1.1 局部密度函数定义

点云密度一般为整个点云的平均密度,单位为“个/平方米”。不同于点云密度,本文定义的局部点云密度为点云中每个点的内部属性,与各点之间的间隙有关。局部点云密度能够体现点云数据整体空间分布不均匀的特性,点云分布越密集,局部点云密度越大。

本文主要依据点云的局部密度来提取钉头部分的点云信息。局部密度的计算结果直接影响点云聚类和模型拟合的结果,对于离散点云P中的任意一点pi(x,y,z),本文通过对其r邻域中的点进行统计分析来估算pi处的局部密度。具体公式如下:

d(pi)=num(Nr(pi))

(1)

式中:Nr(pi)—由pi为中心点的直径为2r的球形区域;d(pi)—pi处的局部密度,由Nr(pi)领域内的采样点构成。

局部密度d(pi)为邻域Nr(pi)内点的个数,邻域大小r对局部密度的估算有直接影响,较大或较小的r都能够在一定程度上消除点云数据的测量误差,不能很好地体现点云数据的不均匀性。为此,本文综合考虑点云的空间分布均匀度,将r设定为钉头的半径长度。下文中提到的密度均为局部点云密度。

1.2 局部自适应密度构建

通常来说,钉头部分的点云较为密集,局部自适应函数的点云如图1所示。

图1 局部自适应函数的点云

点云密度值与右边颜色条对应。所定义的点云局部密度函数需要进行自适应处理,以增大密集区域与稀疏区域之间的密度差值。

局部自适应密度的构建主要通过在抑制稀疏区域的密度的同时提升密集区域的密度来实现。首先根据计算各点密度的局部平均值,即针对任一点,计算其邻域Nr(pi)内每个点密度的平均值,即:

(2)

式中:n—邻域Nr(pi)内点的个数。

随后确定局部方差:

(3)

然后设定放大系数C,并利用局部平均值和局部方差,得到局部自适应密度:

(4)

放大系数C通常依据实际情况和经验值获得。

局部自适应密度使得密集区域的密度变大,而稀疏区域的密度越小,导致两者之间的密度差值变大,因此能够更好地根据密度提取密集区域的点云。

不同密度函数的点云如图2所示。

图2 不同密度函数的点云

图2中显示的点的密度均大于等于96。从图2可知,对局部点云密度的自适应操作可以抑制稀疏区域的密度;点云的密度大小依据颜色体现;自适应的操作能够明显提升密集区域的密度。

2 基于RANSAC的圆拟合方法

得到高密度点云区域后,笔者首先利用点云聚类方法,将单个铆钉轮廓点云从整体点云中提取出来。针对单个铆钉轮廓点云,笔者将其投影至二维平面,采用圆拟合算法对铆钉轮廓进行拟合处理。

2.1 基于区域增长的点云聚类

对铆钉轮廓点云进行圆拟合前,需要将整体的点云分割成多个单独的轮廓点云。本文采用基于区域增长[10]的点云聚类算法进行点云分割。

给定整体点云P,区域增长算法将点云分割成多个互相独立的子块,P1,P2,…,Pk,即:

P=P1∪P2∪…∪Pk,s.t.∀i,j,‖Pi-Pj‖≥ε

(5)

式中:‖Pi-Pj‖—两点云集中的最小间距。

首先,笔者设定距离阈值并从整体点云中随机选择一点作为种子点,分别计算该点和其邻域内各点间距。如果点间距值小于给定的距离阈值,则将该对应点并入种子点生长区域。当前种子点邻域搜索完毕后,将新并入的点选为新的种子点,重复上述操作,直至当前点集中无法并入新点时,当前区域即作为独立的点集被分割完成。将分割完成的点集从整体点云中删除,重新随机选择新的种子点,重复上述步骤,开始下一点云集合的分割。当整体点云无尚未分割的点时,停止分割,此时区域生长聚类完成。聚类完成后,聚类中点云个数少于200的聚类将被删除。

点云聚类结果如图3所示(不同颜色表示不同的聚类)。

图3 点云聚类结果

2.2 PCA投影

针对分割出的单个铆钉轮廓点云,由于在三维空间中进行圆拟合难度较大,且铆钉三维点云在高度方向上差别不大,本文将空间圆拟合问题转化为二维平面圆拟合的问题。

首先笔者通过PCA[11](主成分分析)拟合出三维点云所在的平面。设定当前铆钉轮廓点云记为Q={qi(x,y,z),i=1,2,…,N},其中:N—轮廓点云Q中点的个数。首先计算Q的协方差矩阵:

(6)

式中:μ—Q中所有点云的质心。

μ可表示为:

(7)

假定λ1,λ2,λ3为协方差矩阵CQ对应的3个特征值,且λ1≤λ2≤λ3。由主成分分析法可知,其中对应的单位化特征向量Φ1即为点云所在二维平面的法矢。至此,投影平面即可由轮廓点云质心μ和法向量Φ1确定。然后将所有点沿平面法线Φ1方向投影至二维平面即可。

2.3 RANSAC圆拟合

由于点云密度去噪的结果中存在少量的离群点,本文采用基于RANSAC[12](随机采样一致性)的圆拟合算法,进行铆钉边缘点云的提取。与传统的最小二乘方法相比,RANSAC可以有效地排除噪声点或离群点的影响,常被用于点云配准[13]、点云边界提取[14]等。

设定拟合圆的方程为fx′,y′,r(x,y):(x-x′)2+(y-y′)2=r2,其中,(x′,y′)与r分别为所求圆的圆心与半径。由1.2节所得到的二维投影点可表示为S={si(xi,yi),i=1,2,…,K},其中:K—二维投影点的个数。

由RANSAC求出拟合圆方程的步骤如下:

(1)参数初始化。初始化参数包括拟合次数C,初始局内点集合Sin,拟合参数p,阈值t及初始迭代次数I。其中C=∞,Sin=Φ,I=0。拟合参数及阈值可根据情况确定,在本文中,设定p=0.99,t=0.01;

(2)迭代停止判断。若拟合次数C>1,则重复步骤3~5;

(3)随机选点。从二维投影点集中随机选择3个点,算出对应的拟合圆参数(xe,ye,re);

(4)局内点集计算。根据公式:S_e={(x_i,y_i)∈Ss.t.|√((x_i-x_e)^2+(y_i-y_e)^2)-r_e|

(5)参数更新。若当前局内点数量大于初始局内点数量,|Se|>|Sin|,即令Sin=Se,(x′,y′,r)=(xe,ye,re),C=log(1-p)/log(1-ωn),其中ω=Sin/S。迭代次数I增加一次。

最终RANSAC圆拟合结果如图4所示。

图4 RANSAC圆拟合结果

3 实验及结果分析

为验证该算法的可靠性和有效性,笔者进行铆钉点云提取实验。

本文采用Handy 700高精度三维激光扫描仪对铆接表面进行扫描,获取三维点云,如图5所示。

图5 机体结构扫描与铆钉三维点云

然后运行上述算法进行铆钉自动提取,提取结果如图6所示。

图6结果表明:本文提出的铆钉三维点云提取算法能有效地识别出铆钉轮廓点云,并提取单独的铆钉点云;尤其是本文提出的自适应密度计算方法,在扫描点云分布不均匀的情况下,依然能将相对密度较大的轮廓点云识别并保留;由于采用了基于RANSAC的圆拟合方法,本文算法能较好地处理噪声数据。

由于传统方法直接在原始密度值上进行高密度点云提取,密度较高的噪声区域也被包含进去,影响了铆钉提取的结果。从图6中可以看出,当输入点云中存在密度异常点云集时,本文算法依然能准确地提取出铆钉轮廓。

本文方法与传统密度计算方法结果对比如表1所示。

表1 本文方法与传统密度计算方法结果对比

从表1中可以看出:由于传统密度计算方法没有考虑密度分布不匀,当扫描数据中存在密度较高的非铆钉点云时,密度较低的铆钉点云会被过滤掉,造成提取结果的缺失,降低了提取的准确率。

4 结束语

为适应飞机机体结构中铆钉扫描点云密度分布不均匀的特点,本文提出了自适应的局部点云密度计算方法,解决了点云密度较小区域内的铆钉提取的难点;对于密度过滤后的三维点云,采取了投影至二维平面进行聚类的方法;为了排除噪声对铆钉提取的影响,采用随机一致性采样算法进行了圆拟合,实现了铆钉轮廓点云的自动提取。

本文的提取算法可自动准确地“识别”并定量判定“铆钉”形态,可提升机体结构铆接质量检测的效率与质量。

猜你喜欢
铆钉邻域轮廓
基于混合变邻域的自动化滴灌轮灌分组算法
黑色铆钉
OPENCV轮廓识别研究与实践
油密铆钉冷镦过程优化改进
PA44-180飞机油门钢索固定铆钉断裂原因及预防措施
稀疏图平方图的染色数上界
基于实时轮廓误差估算的数控系统轮廓控制
基于邻域竞赛的多目标优化算法
高速公路主动发光轮廓标应用方案设计探讨
关于-型邻域空间