APP下载

一种边缘特征的物体表面缺陷检测方法

2021-09-26南京邮电大学

电子世界 2021年16期
关键词:边界点法线栅格

南京邮电大学 张 泽

为了检测工业零部件在加工使用过程中的所产生的缺陷,提出了基于点云边缘特征缺陷检测方法;方法首先将采集到的点云数据通过精简、滤波、提取关键区域的方法进行预处理;然后将待处理的点云通过以点云边缘为特征的方式来实现SAC-IA粗配准,通过ICP算法完成精配准;最后通过求取配准完成后的点云差异来实现缺陷检测。通过实验验证了算法的可行性。

由于工业化进程的加速,工业自动化设备也越来越繁多复杂,这些设备上的零部件在加工使用过程中不可避免地存在一些划痕和磨损,这些缺陷如果无法控制在合理安全的范围,会对设备上的零部件造成无法预知的风险和损失。而对于传统人工缺陷检测方式的不稳定性,自动化缺陷检测成为大多数厂商的选择。

零部件表面缺陷检测方法主要有超声检测、机械探头接触式检测和光学检测。对于超声检测,需要多次向待检测零部件发送和接收信号才能完成检测,检测效率低。而机械探头接触式检测不太适合表面较柔软的零部件,检测局限性比较大。基于光学的检测方法是一种实时性好、非接触、适用性强的检测方法,因此,基于光学的视觉检测方法也是大多数厂商选择的方法。

1 总体方案

本文提出的检测方案是先对三维相机扫描形成的三维点云数据通过精简、滤波、提取关键区域等操作进行预处理。然后对处理过的点云数据与标准点云数据做配准,再通过比对配准过的两块点云求异来实现缺陷的检测。检测流程如图1所示。

图1 缺陷检测流程图

2 三维点云数据的预处理

采集出的点云数据因为各种因素,往往不太适宜直接对其处理,点云的数据量,点云的噪声都对点云处理有很大影响,因此需要对点云数据进行精简,滤波处理。

2.1 点云精简

采集的初始点云数据通常密度比较大,需要对其简化处理。图2所示为一个长方体工件原始点云。

图2 工件原始点云

本文采用下采样滤波的方式简化原点云数据。

体素化网格化简化点云数据是常见的点云简化方法,其原理是在一定区域内,选取该区域一定数据特征的点来代表所有点,可以在保证点云特征的情况下对点云精简。该方法的主要步骤为:

(1)设置划分栅格的尺寸,对所有数据进行栅格划分。

(2)删除不包含数据的栅格。

(3)处理每个栅格内的点云数据,按一定规则选择代表点进行降采样。

其中选择代表点的规则多种多样,本实验将点云中栅格内重心点保留,栅格内其他点删除。简化后的点云如图3所示。

图3 简化后点云

2.2 点云去噪

点云数据获取的过程中,可能会存在与待检测物体无关的噪声和离群点,因此,预处理过程中需要包含点云噪的去除。对于噪声的去除有下面三种方式:

(1)直通滤波法:通过设置点云坐标范围来过滤无效点云,这种方法比较适合采图过程中过滤一整块无效的点云。

(2)半径滤波法:以某点为中心画一个圆计算落在该圆中点的数量,当数量大于给定值时,则保留该点,数量小于给定值则剔除该点。

(3)统计滤波法:其原理是计算每个点到其最近的k个临近点的距离,如果其平均距离大于设定的值,则判定为噪声。

本文根据采集到点云的特征,采用了直通滤波法去除一块区域的点云,然后通过统计滤波器过滤掉剩余的离群点。点云去噪之前如图4所示和去噪后的点云如图5所示。

图4 去噪之前点云

图5 去噪之后点云

2.3 三维点云数据的平面提取

由于大部分物体的采集都是在平面上进行,所以点云数据不可避免地带有传送带的点云信息的,将这部分点云数据过滤掉将极大地减少之后计算的计算量。传送带的特点是一个平面,平面的表达式是ax+by+cz+d=0,其中d设置为点到平面的距离,设置好d的范围在点云数据中遍历便可以确定点云中属于平面的点,本文采用基于这一原理的采样一致性算法中的SACSegmentation模块来提取平面点云。提取出的点云如图6所示,图中绿色部分为提取出的平面,红色部分为平面上待检测物体的点云数据。

图6 提取平面后的点云

3 三维点云数据的配准

本文的研究内容是根据三维点云数据找到待检测物体上的缺陷,本文采用的是标准件与待检测物体点云相比较的方法来找到缺陷,那么对于标准件和待检测物体的点云之间就需要做到尽可能的对齐,因此需要将两点云配准。

点云配准的本质是求刚体变换矩阵,将已知的一个物体在不同坐标系下的两块点云P和Q,经过旋转变换R和平移矩阵T变换过后,归一到统一的坐标系下,是的两块点云对应点的距离平方和F(R,T)最小,即:

配准过程主要分为两个主要步骤:粗配准和精配准,粗配准主要通过计算两块点云的位资,得出粗略配准的结果,来加快精配准的速度。本文使用采样一致性初始配准算法(SAC-IA)作为粗配准方法,ICP算法实现精配准方法。

3.1 基于边界特征的粗配准

点云在经过精简和关键区域的提取后数据量已经只有三千左右的数据量,但是对于SAC-IA算法计算量依然非常巨大,因此针对点云数据的特点,采用点云提取的边界数据作为粗配准的数据。

边界信息的计算主要通过计算各点法线信息,通过各个法线方向之间的夹角来判断该点是否为边界点。确定表面一点法线的问题与估计表面的一个相切面法线的问题相似,因此就变成了最小二乘法平面拟合估计问题。估计表面法线这个解决方案就变成了分析一个协方差矩阵的特征矢量和特征值,对于每一个点Pi,对应的协方差矩阵C如下:

上式中k是Pi的临近点数量,表示的是最近的临近点的质心,λi是协方差矩阵的第j个特征值,是第j个特征向量。

当然法线还需要确定一个方向,只要知道视点Vp位置,就可以确定法线方向。一般情况下都取(0,0,0)为视点位置,对于法线,给它们定向只需要满足以下公式即可统一法线方向。

一个点要想判断是否为边界点,判断此点法线与相近k个点的法线的夹角大于指定阈值,就可以判断此点为边界点,本文所使用的阈值大小为。边界点提取结果如图7所示。

图7 边界点云数据

提取边界点完成后就可以对点云进行粗配准,点云粗配准采用SAC-IA算法,该算法是按照两块点云上各点的特征,找到对应相似的特征点存在列表,然后计算对应点的变换矩阵来实现点云的粗配准。由于在计算特征之前,点云数据已将边界作为点云的样本点,所以只需计算两块点云边界点的特征来计算变换矩阵即可。相比使用原点云配准,边界点配准的计算速度明显提升,表1统计了以边界为特征方式下的点云配准时间和未经处理的配准时间。

表1 点云配准时间对比

图8和图10表示的是两块待配准点云数据,其中蓝色是带缺陷的点云数据,绿色是标准点云数据。图9所示是以边界为特征的粗配准后的点云数据,红色为缺陷点云原本位置。图11所示是未经处理的点云配准后的点云数据。

图8 待配准点云

图9 边界特征粗配准点云

图10 待配准点云

图11 未处理粗配准点云

3.2 精配准

点云经过粗配准过后,需要更为精准的配准来保证检测的准确性,通常采用ICP算法来实现。对于源点云p={pi,i=1,2,3...,m}和目标点云Q={qi,i=1,2,3...,m},ICP配准步骤如下:

(1)对源点云中的每一个点,在目标点云中找到其对应点,组成新的数据X={xi,i=1,2,3...,m},P和X形成对应点集。

(2)对于已经粗配准过的点云,设置初始的变换矩阵[R,T]’,这一步可大大减少迭代计算时间。

(3)根据对应点集和初始矩阵迭代计算新的变换矩阵[R,T]。

(4)旋转变换源数据,计算旋转后的点云和目标点云之间的均方误差(MSE):

(5)考察MSE是否满足给定的阈值,若不满足则重复以上步骤,知道计算达到迭代次数或者满足阈值。

精配准完成的点云如图12所示。

图12 精配准后的点云

4 缺陷识别

点云的缺陷识别即将两块配准后的点云求异。本文识别待检测物体的划痕和磨损类缺陷,对待检测点云Q每一个点q在标准点云P中遍历寻找其最近点p,如果p和q之间的欧式距离小于指定阈值,那说明此点不属于缺陷点,反之则属于缺陷点。最后计算出的缺陷点位置如图13所示,红色部分为识别出的缺陷位置。

图13 识别出的缺陷点云

猜你喜欢

边界点法线栅格
基于定位法线的工件自由度判定方法及应用
基于邻域栅格筛选的点云边缘点提取方法*
椭圆法线定理的逆定理
基于降维数据边界点曲率的变电站设备识别
双曲螺线的副法线曲面的相关性质研究*
不同剖面形状的栅格壁对栅格翼气动特性的影响
面向手绘草图检索的边界点选择算法
基于CVT排布的非周期栅格密度加权阵设计
一种去除挂网图像锯齿的方法及装置
动态栅格划分的光线追踪场景绘制