APP下载

基于机器视觉的锪窝深度检测方法研究

2022-11-15聂鹏王家明郭勇翼单春富纪俐李正强

工具技术 2022年9期
关键词:图像处理轮廓边缘

聂鹏,王家明,郭勇翼,单春富,纪俐,李正强

1沈阳航空航天大学机电工程学院;2沈阳百祥机械加工有限公司

1 引言

飞机结构件的连接是飞机装配中重要的一环,目前主要以机械连接为主,最常用的形式为铆钉连接和螺纹连接。飞机上有多达数百万连接,而75%~80%的机体疲劳破坏发生在机身连接孔处,可见连接质量对飞机整体质量影响之大[1]。

锪窝深度对孔质量和连接强度有很大的影响,窝深不一将导致铆钉突出飞机蒙皮或凹陷到蒙皮内,必然影响飞机的疲劳强度[2]。如果锪窝孔太深,蒙皮受力后铆钉松动,使连接强度降低;如果锪窝孔的深度不够,则会影响壁板平齐度[3]。因此对飞机锪窝深度的检测具有重要意义。

由于圆锥形锪窝孔没有可以直接测量的基准面,所以通用卡尺无法直接测得锪窝深度,需要借助一些特殊的测量工具[4]。目前,对于锪窝深度的检测主要靠人工抽检完成,工作人员使用套筒、钢球和千分尺间接测量出深度值。由于工作人员的视觉疲劳等客观生理因素以及存在的个体差异容易造成漏检、误检情况的发生,使得检测结果出现差异,不能满足现代工业快速、精密、准确的检测和测量要求[5]。对此,基于工业相机的视觉检测目前在智能制造生产中得到了广泛的应用和普及,这种非接触检测方法具有精确度高、速度快及稳定性高等特点[6]。因此,本研究以3D激光轮廓传感器为基础搭建检测装置,并综合运用图像处理算法实现了对锪窝深度实时、在线的高精度、高效率检测。

2 采集锪窝孔图像

2.1 锪窝深度测量原理

待测锪窝孔结构如图1所示,其底部与孔径结合处没有可以直接测量的基准面,因此不能通过测量上表面与窝底的高度差来确定锪窝深度。

图1 锪窝孔及其剖视图

图2为测量原理。采用推论法间接求解锪窝深度H,已知量为锪窝钻角度α,制孔钻直径D。上表面锪窝孔外圆半径R可由图像处理算法测得。

根据图2中的测量原理,可得锪窝深度的计算公式为

(1)

图2 测量原理

2.2 搭建实验系统

锪窝深度检测硬件系统由Y轴步进电机、同步带传动机构、双波位移光栅尺、激光导向器、3D激光轮廓传感器和手持式支撑机构等组成。软件系统基于3DMVS的图像检测SDK文件开发包开发设计,同时集成Halcon图像深度学习识别算法。

搭建的实验系统结构如图3所示,3D激光轮廓传感器固定在同步传送装置上,当驱动传送装置后,带动双波位移光栅尺触发脉冲,使相机在Y方向做直线运动,并连续扫描。拟合扫描仪获得的X、Z方向的数据,完成三维数据采集。数据通过千兆网卡传输至计算机进行图像处理。

图3 实验系统搭建

3 锪窝孔图像处理

3.1 锪窝孔图像分析

图4为检测系统采集到的锪窝孔亮度,图5为锪窝孔边缘局部放大。图像的锪窝孔部分与工件上表面有明显边界,需要用图像处理算法提取出锪窝孔的亚像素外圆轮廓,以获取外圆半径R。锪窝孔局部放大图中每个像素是图片里最小的面积单位,宏观上可将两个像素看成连通的,但是在微观上它们之间还存在着无限更小的亚像素,可通过软件近似地将其计算出来[7]。利用图像处理算法实现亚像素检测,提高测量精度。

图4 锪窝孔扫描成像

图5 局部放大

3.2 锪窝孔图像处理流程

如图6所示,根据上述对锪窝孔的图像分析制定图像处理流程。先用图像处理算法做亚像素边缘提取前的粗定位,在粗定位的边缘采用卡尺工具法提取锪窝孔亚像素轮廓的边缘点,采用拟合圆算法得到圆轮廓,获取外圆半径R。

图6 图像处理流程

3.3 阈值分割

采集的锪窝孔图像由浅色背景和深色锪窝孔组成,两部分区域具有不同的灰度级。其灰度直方图如图7所示,有两个不同灰度级范围的尖峰[8]:第一个尖峰灰度值小,为深色圆孔部分;第二个尖峰部分为工件表面。故可选择一个门限T对图像进行分割以获取锪窝孔部分。

图7 灰度直方图

假设图像为I,则其中每个像素点的灰度值为G(x,y),经过阈值分割后的图像为I′,灰度值为G′(x,y),则

(2)

式中,(x,y)为像素点的位置。

经过多次对比分割结果发现,取T=100时分割效果最好,如图8所示。

图8 阈值分割

3.4 形态学处理及边缘粗定位

数学形态学是研究数字图像形态结构特征的理论,通过对目标图像形态变换实现结构分析和特征提取。腐蚀和膨胀是两种最基本的形态学运算,腐蚀可以使图像前景色面积减少;膨胀则相反,使前景色面积得到扩展[9]。

集合A被集合B膨胀,定义为

(3)

使用集合B对集合A进行腐蚀,定义为

(4)

腐蚀与膨胀是一对对偶运算,膨胀与腐蚀运算同时进行便构成了开运算与闭运算。对图像先膨胀后腐蚀的运算称为闭运算[10],可表示为

A·B=(A⊕B)⊖B

(5)

分析图8中阈值分割后图像的特点,锪窝孔内仍有许多白色细小空洞,利用闭运算可以在保持锪窝孔原有形状的基础上填充圆内的细小空洞。使用半径为3的圆形元素对图像进行闭运算后再通过函数shape_trans()将图像进行凸包处理,填充凹陷部分。采用最小外接圆算子获取圆轮廓,完成对锪窝孔外圆的粗定位。处理过程如图9所示。

图9 形态学处理过程

3.5 卡尺工具法检测边缘点

在粗定位的圆轮廓上等距产生卡尺工具,采用卡尺工具法进行边缘点检测。通常情况下,亚像素边缘点存在于图像逐渐发生过渡变化的区域。卡尺工具可以在规定范围内检测出图像灰度值变化幅度较大的点,而图像边缘轮廓处就是灰度值变化幅度最大的地方。卡尺工具的测量精度高,常通过检测物体的两个边缘点来测量物体的宽度。卡尺工具的大小决定能否检测到边缘点,卡尺工具的个数决定了待拟合边缘点的个数。圆轮廓上卡尺工具的个数越多,则拟合结果越精确,但检测时间也会相对增加[11]。

实验选用的卡尺工具的长度、宽度和数量分别为50、15和45,检测过程如图10所示。图中粗定位轮廓上的小矩形即为卡尺工具,可以检测得到各边缘点及其坐标,检测结果如图11所示。将检测到的边缘点进行圆拟合,产生圆轮廓并获取半径。采用这种算法得到的轮廓是亚像素边缘,可以达到高精度的要求。

图10 检测过程

图11 检测结果

3.6 拟合圆

最小二乘法是最小化误差的平方和寻找数据的最佳函数匹配,广泛应用于数据辨识领域[12]。从卡尺工具法检测的结果看,检测到的点除圆轮廓上的点外,还存在部分局外点,这些局外点会对圆拟合造成干扰。最小二乘法拟合圆是在确定函数类∅span{φ0(x),φ1(x),…,φn(x)}中求一个拟合已知数据(Xi,Yi)(i=0,1,2,3…n)的函数Ψ(x),使得公式取得最小值,可表示为

(6)

将卡尺工具检测到的点用最小二乘法拟合圆轮廓,拟合结果如图12所示。采用最小二乘拟合得到的是针对所有数据的全局最优,但由于数据点中存在部分干扰点,而最小二乘法拟合的平方项对离群点非常敏感,所以受这些干扰点影响,拟合得到的圆明显外偏,造成了较大的误差。因此不可采用最小二乘法进行圆轮廓拟合。

图12 最小二乘法拟合圆

随机抽样一致(RANSAC)算法采用迭代方式从一组包含局外点的数据中估算出数学模型参数,相比于最小二乘方法,其融合了剔除不合格数据的思想,因此对于有错误数据的样本能够更快更准地给出辨识结果[13]。

对图像中的点集进行初始化,并在其中随机抽取3个数据点进行曲线拟合,判断其它点到曲线的距离,若距离大于设定阈值,则为无效点,返回第一步继续抽取点;若距离在设定范围之内,则将其列入有效点集行列,迭代次数累计加1。判断有效点数是否大于设定数值n,若不大于n,则再次回到第一步,重新选择4个数据点;如大于n,则将得到的所有有效点拟合,记录最佳拟合结果,直到达设定的迭代次数完成拟合。

RANSAC算法拟合结果如图13所示。拟合过程已排除局外点的干扰,鲁棒地估计出高精度的模型参数,拟合效果优于最小二乘拟合法。获取圆半径后代入式(1)即可得到锪窝深度。

图13 RANSAC拟合圆

卡尺工具法结合RANSAC拟合的亚像素算法精度能达到0.1~0.5个像素,精度相当于提高了2~10倍,实现了高精度检测。RANSAC拟合的亚像素边界与像素边界精度对比如图14所示。

图14 亚像素与像素边界精度对比

4 检测结果与误差分析

4.1 检测结果

实验中,对铆接板上的6行7列共42个铆接位置进行了多次重复检测,记录每个位置锪窝孔的深度(见表1),并对测量结果进行分析。

表1 机器视觉锪窝深度检测均值 (μm)

锪窝深度检测系统的运行结果如图15所示,可以看到各个位置的锪窝深度。使用此方法可以一次性同时检测出多个结果,测量速度比人工检测高,实现了高效率检测。

图15 锪窝深度检测结果

对42个位置的锪窝深度重复检测3次,得到3次锪窝深度对比结果(见图16)。可以看出,三条折线有很多部分基本重合,说明这些位置的3次高度差检测结果大致相同,且折线波动部分的检测结果相差不超过20μm,满足高精度要求。

图16 三次锪窝深度对比

将3次检测结果分别与检测均值作差,求出偏差值,得到如图17所示机器视觉测量偏差。可以看出,3次测量偏差值都在±15μm内,检测系统的重复测量精度达到了20μm。

图17 视觉测量偏差对比

如图18所示,将检测系统三次测量的锪窝深度均值与人工测量的原始数据(见表2)结果进行对比。可以看出,两种测量结果趋势大致一致,且两条折线在各个节点处的偏差均在15μm内,相差均值为5.6μm,在检测精度要求范围之内。因此该测量方法实现了高精度检测。

图18 锪窝深度检测对比

表2 人工锪窝深度检测数值 (μm)

4.2 误差分析

误差的主要来源分为系统误差与偶然误差。系统误差中有3D激光轮廓传感器安装误差和使用过程中出现倾斜造成的误差,可以通过系统标定矫正此类安装误差;还有被测工件的反射面倾斜以及表面粗糙度的不同而产生的测量误差,由于不同环境下的锪窝孔表面有差别,也会导致检测出的轮廓与实际边缘有微小差别,软件上可能会因为算子的参数设置不当以及图像上没有完全滤除的噪声而产生误差。偶然误差有设备使用时的对中、瞄准偏差以及使用中不能保持完全静止不抖动而产生的测量误差。

5 结语

以3D激光轮廓传感器为基础设计了锪窝深度检测系统,提出了基于机器视觉的锪窝深度检测方法,实现了对锪窝孔的非接触检测,并对42个位置的高度差进行重复检测。

(1)检测系统一次扫描可以检测多个位置的锪窝深度,速度快,效率高。

(2)机器视觉检测结果的偏差值在±15μm范围内,重复测量精度达到20μm。

(3)相同条件下对比机器视觉和人工检测数据发现,其结果基本一致。每组数据平均相差5.6μm,因此在检测精度要求范围内实现了高精度检测。

猜你喜欢

图像处理轮廓边缘
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
高速公路主动发光轮廓标应用方案设计探讨
一张图看懂边缘计算
创造早秋新轮廓
在边缘寻找自我