基于点云数据的不同尺度下飞机蒙皮凹坑缺陷检测方法

文档序号:35858275发布日期:2023-10-26 07:39阅读:138来源:国知局
基于点云数据的不同尺度下飞机蒙皮凹坑缺陷检测方法

本发明属于飞机蒙皮凹坑缺陷检测与测量领域,特别是涉及基于点云数据的不同尺度下飞机蒙皮凹坑缺陷检测方法。


背景技术:

1、飞机蒙皮结构在使用过程中会逐渐出现各种结构病害,对其定期检修维护是确保飞机飞行安全的关键。当前机场仍采用以人工巡检为主的飞机蒙皮缺陷检测方法,耗时费力、主观性强、漏检率高、效率低、劳动强度高,因此,开发一种自动化的飞机蒙皮缺陷检测方法对于提高飞机维修率至关重要;基于计算机视觉的缺陷检测方法在不同的应用领域获得了较好的效果,但是飞机表观背影颜色单一,缺乏足够的视觉信息,且图像数据只能得到缺陷的二维轮廓信息,无法得知缺陷的深度信息,使得二维图像难以检测飞机蒙皮表观缺陷的三维结构。因此,为了能够检测飞机蒙皮的表观缺陷,需要采用三维传感器获得飞机蒙皮表面的三维点云数据,并且设计相对应的点云数据处理算法,自动检测和测量缺陷。

2、以往的基于点云数据的凹坑缺陷检测算法可以分为两类:有模型的方法和无模型的方法;前者假设待检测缺陷表面的模型数据已知,当有新的采样数据时,通过将采样结果与已知数据匹配,然后在数据点匹配的基础上求差,所有差值较大的位置即为出现缺陷的位置;一些典型的有模型方法包括:张泽通过分析源点云数据与模型点云数据的边缘点云特征描述子,根据特征描述子进行点云数据配准;李军提出了一种基于辅助标定球的点云配准算法,通过提取辅助标定球的球心坐标来求解不同视角的刚体变换矩阵,实现配准与缺陷检测。基于模型的方法要求提前知道模型数据,虽然精度较高,但是大多用于某种特定领域,难以扩展。无模型的方法需要通过先验知识,设计算法估计缺陷的背景区域,比如,文献郭寅,尹仕斌,孙博,等.基于点云信息的缺陷检测方法:cn111311576a[p].2020.将点云数据拆分为若干片段,然后在每个片段上进行平面拟合,通过数据与拟合平面的差值检测缺陷;无模型的方法应用范围广,但是存在若干缺点:1)大部分算法假设缺陷背景表面是平面,需要通过平面拟合技术获得背景区域,而飞机的表面蒙皮是曲面;2)在背景估计的情况下,通过点云与背景的差值来计算凹坑数据,这对于尺度较大的凹坑难以检测;3)很多算法默认了点云数据只包含了单一背景平面,但是真实的点云数据通常会包含多个不同的背景平面;4)无模型的方法计算量大,对于大体量的点云数据难以实时运算。


技术实现思路

1、为了解决上述问题,本发明的目的在于提供基于点云数据的不同尺度下飞机蒙皮凹坑缺陷检测方法,无需先验模型知识,能够快速处理多平面背景下的飞机蒙皮中的凹坑缺陷问题,并且为此提供更加精细化的检测结果。

2、本发明的技术方案是:一种基于点云数据的不同尺度下飞机蒙皮凹坑缺陷检测与测量方法,包括如下步骤:

3、s1:获取飞机蒙皮凹坑缺陷的点云数据,对设备采集到的点云数据应用半径滤波、体素滤波及移动最小二乘法(mls)算法进行预处理,处理后得到点云数据集其中(xi,yi,zi)为第i点数据的坐标,ns是点云数据s中的点数目,nc是预处理后的点云数据c中的点数目;

4、s2:对数据集c迭代拆分,得到一个树结构其中n为树中节点,存储了每一个拆分单元及其父单元的信息,包括:点云数据集拆分单元的法向量nn,父单元地址dn,其中nt为树结构t中节点的数目;

5、s3:根据树结构t中节点的连接关系,计算拆分单元的邻接矩阵其中mij=1(0)代表节点ni和nj对应的拆分单元在空间上相邻(不相邻)。根据m,利用查并集法聚合向量相似的相邻拆分单元,得到分割区域集合:其中分割区域是树结构节点n的集合,np为分割区域集合p的数目,nr为分割区域r的数目;

6、s4:遍历中的所有分割区域ri,找出ri中的连接拆分单元集合该拆分单元nij′属于分割区域ri,且同时与另外一个分割区域rk相邻。利用查并集法聚合得到连接边界集合:其中是空间相邻的nij′构成的集合,nb为连接拆分单元b的数目,nl为连接边界集合l的数目,ne为空间相邻集合e的数目;

7、s5:对第i个分割区域ri中的第j个连接边界ej,通过平面拟合,得到连接边界ej所在的局部平面。将ej中的所有的点投影到局部拟合平面上,并计算所有投影点的外部轮廓其中nw为外部轮廓wij中点的数目;

8、s6:将点云数据集c投影到外部轮廓wij所在的平面。对于wij,保留点云数据集c中投影点落在轮廓wij内部的点集:cij。wij包围一个凹坑或凸起缺陷的点云数据,cij记录了该缺陷的具体点云数据。根据cij计算缺陷的几何属性类型;

9、s7:采用查并集算法聚合轮廓相邻的缺陷,输出检测结果。

10、在s1中,包含以下步骤:

11、s11:对第i个点(xi,yi,zi),确定一个半径为r的邻域,若邻域范围内的点数n小于一个阈值nthreshold,则该点为噪音点。删除;邻域半径r的取值为经验值,取值为5mm;阈值nthreshold的取值为经验值,取值为3;

12、s12:为点云数据创建一个三维体素栅格,在每个体素内用所有点的重心点代表体素栅格中的所有点;

13、在s12中,包含以下步骤:

14、s121:依据点云数据坐标集合,求取xyz三个坐标轴上的极值:xmin,xmax,ymin,ymax,zmin,zmax。根据坐标轴的最大最小值求取点云数据集的最小包围盒的边长lx,ly和lz,有:lx=xmax-xmin,ly=ymax-ymin,lz=zmax-zmin;

15、s122:设置体素栅格边长lcell,将xyz轴均等分为m、n、l份。从而将点云数据的最小包围盒划分为m×n×l个体素栅格:m=lx/lcell,n=ly/lcell,l=lz/lcell。计算每个数据点所属体素栅格的索引值(i,j,k),用于对体素栅格编号:i=(xi-xmin)/lcell,j=(yi-ymin)/lcell,k=(zi-zmin)/lcell。体素栅格边长lcell的取值为经验值,取值为5mm;

16、s123:对于编号为(i,j,k)的栅格,根据公式(1)计算该栅格内部所有点的重心,用一个位于重心点的点云数据取代原有栅格内的所有点云数据,对所有栅格重复本步骤,实现对点云数据的降采样。

17、

18、其中,cijk、nc分别为栅格的重心、第ic个数据点的坐标、栅格中点云的数量。

19、s13:对第i个点(xi,yi,zi),确定一个半径为r的邻域,对其内的点进行二次多项式拟合,根据拟合多项式,重新计算平滑后的点云数据;邻域半径r的取值为经验值,取值为5mm。

20、在s2中,包含以下步骤:

21、s21:利用随机抽样一致算法(ransac)对数据集c进行平面拟合,得到平面方程ax+by+cz+d=0,平面法向量n=(a,b,c);创建数据节点n1记录数据集c,平面方程,法向量等信息;节点的父节点id为0,代表无父节点,将节点n1存入队列l;

22、s22:若队列l为空,转步骤s24;否则,从队列l中取出数据节点ni,将ni存入树结构t中;

23、s23:若ni中的数据集分布在拟合平面上,则转步骤s22;若ni中的数据集分布在非平面上,将ni中的数据集拆分为四个数据单元:ca,cb,cc,cd,利用步骤s21对每个单元进行平面拟合,并创建四个数据节点na,nb,nc,nd记录数据单元信息;另外在na,nb,nc,nd中记录父节点id为ni在树结构t中的编号;之后将na,nb,nc,nd存入队列l中,转步骤s22;

24、s24:数据集c迭代拆分完毕,输出树结构

25、在s3中,包含以下步骤:

26、s31:创建大小为nt×nt的邻接矩阵m,元素初值全部为0;

27、s32:遍历树结构t中节点,对于第i个(初始i=0)节点ni,找出其兄弟节点,压入栈g;

28、s33:若栈g为空,令i=i+1;若i>nt,转s38;否则转s32;

29、s34:若栈g非空,从栈g中弹出nj,判断nj是否与ni相邻;

30、s35:若nj与ni不相邻,转s33;否则,判断nj是否为叶节点;

31、s36:若nj非叶节点,将nj所有的子节点压入栈g,转s34;

32、s37:若nj为叶节点,判断nj与ni的法向量夹角绝对值是否小于阈值ta;若小于ta,那么令mij=1;否则转s33;阈值ta的取值为经验值,取值为5°;

33、s38:根据邻接矩阵m,采用查并集算法将树中所有节点聚合,得到分割区域集合:其中分割区域

34、在s4中,包含以下步骤:

35、s41:遍历树中节点ni,在ni中加入所属分割区域r的编号f;

36、s42:遍历每一个ri中的每一个节点nij,根据邻接矩阵m找出nij相邻的所有节点:

37、s43:检查集合{nijk}中每个节点的所属分割区域r的编号fijk,若存在一个fijk不等于fij,则认为节点nij对应一个连接拆分单元;将节点nij存入集合bi,有其中集合bi的长度为

38、s44:对每一个ri,根据邻接矩阵m得到集合bi中的所有节点的邻接矩阵根据采用查并集算法将集合bi中的所有节点聚合,得到连接边界集合:其中是空间相邻的nij′集合;

39、s45:将所有的集合li合并,得到整体的连接边界集合l。

40、在s5中,包含以下步骤:

41、s51:对分割区域ri中的连接边界eij,采用平面拟合算法,得到其平面拟合方程:aex+bey+cez+de=0;

42、s52:根据公式(1)将连接边界eij中的所有点投影到拟合平面上,投影后的点为

43、s53:利用丹尼斯三角剖分方法,对拟合平面上的投影点进行剖分,找出三角形剖分的边界多边形,记为其中是wij顶点的个数。

44、在s6中,包含以下步骤:

45、s61:将点云数据集中的所有点投影到拟合平面,若(xi,yi,zi)的投影坐标(x′i,y′i,z′i)在边界多边形wij内部,则将数据点(xi,yi,zi)加入三维区域集合cij;

46、s62:投影点通过三角形剖分,得到各个点之间的连接关系。计算所有点到投影平面的平均距离利用鞋带定理(shoelace公式)计算多边形wij的面积sw,则缺陷的体积计算公式为若vw大于0,代表检测结果是一个凸起结构;若vw等于0,代表检测结果是一个平面;若vw小于0,则代表检测结果为凹坑。

47、本发明提供的基于点云数据的不同尺度下飞机蒙皮凹坑缺陷检测方法的优点:

48、①本发明通过树结构拆分,将点云数据描述为一个区域树结构,若一个体素栅格内的数据构成了一个平面,那么就将其作为一个整体处理,从而加速计算时间;

49、②本发明通过树结构描述,能够根据树结构快速找到拟合平面之间的空间相邻关系,进行区域聚合;

50、③本发明通过聚合相似背景的方式进行区域生长,能够将曲面背景拆分为近似平面之后再进行组合,可以处理非平面背景下的点云数据凹坑检测;

51、④本发明通过拼接的方式检测背景,能够对多背景下的凹坑进行检测。

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