基于机器视觉的卡尺工具法螺母实时检测系统

2020-03-26 08:50吴禄慎项桔敏
仪表技术与传感器 2020年2期
关键词:螺母孔径标定

吴禄慎,项桔敏,胡 贇

(南昌大学机电工程学院,江西南昌 330100)

0 引言

螺母在反复使用过程中,螺纹孔径会由于塑性变形使得形变越来越大,内螺纹磨损严重的螺母将不再满足预紧力的要求。螺纹磨损主要表现在螺母螺纹的小径发生改变,因此可以通过测量内螺纹的小径,判断其是否在规定的范围内来对螺母进行检测筛选。针对螺母孔径变化大小可以采用游标卡尺测量的方法,但是测量过程相对繁琐,而且游标卡尺的精度有一定的限度。目前主要通过人工检测,存在很大的主观因素。

由于螺母小径变化是微小的,普通测量方法很难满足测量精度的要求。考虑到机器视觉测量精度高,自动化程度高的特点,本实验使用机器视觉的方法测量螺母孔径。

机器视觉是利用计算机模拟生物视觉的技术。机器视觉的快速发展使得其被广泛应用于工业、电子等行业[1-3]。由于机器视觉的快速发展,使得机器视觉测量技术在工业检测方面得到广泛的运用[4]。机器视觉的测量属于非接触式测量,测量速度快、精度高的特点使得基于机器视觉的测量成为近年来国内外学者研究的热点。吴浩、张勇等用机器视觉测量的方法对大间距空间角度进行了测量研究[5],史红梅提出了基于激光三角测量原理的轨距检测系统,通过CPLD控制二维激光扫描来同步获取钢轨的断面数据[6],吴军妮用改进的泰勒亚像素差值算法,对钢帽进行了亚像素级的测量,提高了测量精度[7]。J. K. Che在实时测量加工的工件直径的研究中提出了其方法,方便了实时监控工件的加工状态[8]。Z. Jia等用机器视觉的方法对大型热锻件做出了测量,提出了基于信噪比的频谱选择方法,解决了高温图像辐射导致图像质量差的问题,在得出较好的图像后再进行轧钢的测量[9],Y. Hendrawan等将机器视觉运用于植物生长当中,对植物的生长进行监测[10]。

本实验使用机器视觉的方法测量螺母孔径,通过在Halcon中模拟测量卡尺工具算法实现螺纹小径的精确拟合,最后通过VS设计用户界面。检测系统得到了很好的实验结果,为螺母的检测给出了依据。

1 螺母孔径检测系统方案设计

选择合适的硬件装备好系统后,调节相机和光源位置,光源照射到CCD相机中的感光元件后,感光元件会产生电信号,CCD将一次成像产生的电信号经过收集、放大、滤波再进行A/D转换,转换后的信号即为图像信号,再经过数字图像处理器对图像进行处理,最后保存图像。对保存的图像用视觉软件Halcon进行处理,得到螺母的孔径,由得出的孔径进行判定。实验选用50个标准的螺母对检测系统进行验证。该检测系统可以分为两个部分,即硬件部分和软件部分。

1.1 硬件系统

硬件系统主要分为相机、镜头和光源,它们直接决定了图像质量以及测量精度。

1.1.1 相机的选型

相机的选型主要考虑相机的分辨率,帧率和相机的协议。相机的分辨率与光学传感器的像元尺寸和所搭配的镜头的光学放大倍率有关。为了表达方便,设镜头的放大倍率为α,所选CCD的尺寸为a×b,CCD上相元个数为M×N,可由式(1)计算出该相机在该光学放大倍率下,对被拍摄物体的分辨能力。

(1)

其中RX和RY分别为横向纵向能够分辨的最靠近的两点之间的距离,一般情况下CCD的横向和纵向的像元排布密度是相同的,记做R*[11]。相机的协议,有性能好的cameralink协议、USB协议、千兆网和千兆以太网。结合工作环境,选择合适的相机。

1.1.2 镜头

镜头的选择要考虑到工作距离、镜头的视野、景深、焦距、光谱特性和镜头的畸变率。另外,螺母有一定深度,所以用普通的FA镜头会拍出螺纹内壁,致使测量不准确,而远心镜头不仅可以消除这些干扰,而且可以减少镜头畸变。由图1可以看出普通镜头和远心镜头成像区别。

图1 普通镜头和远心镜头成像对比

1.1.3 光源

光源的选型也会直接影响到处理精度和速度。考虑到照明效果和照明条件,由于外界环境光会对测量结果造成影响,必须先做遮光处理,再选择稳定的背光源[12]。因为通过背光照射方式能得出清晰的轮廓边缘,提高图像对比度。

本实验综合以上条件,选择以太网协议的130万像素的CCD相机,其分辨率为1 280像素×960像素,帧率为30帧/s,像元尺寸为3.75 μm×3.75 μm;镜头选用0.113倍率的高精度双远心镜头;光源选用底部背光源。加上红外传感器、控制台、PC共同构成硬件系统,其装备图如图2所示。

图2 硬件系统

1.2 软件系统

1.2.1 定位模块

对螺母图像进行采集后,首先需对图像进行预处理。在预处理图像时可根据图像的特点和图像的实际要求来选择相应的图像处理方法,其最终的目的就是为了获取最好的图像质量[13]。定位首先需要创建模板,提取特征点。主要设置的参数有角度、匹配分数阈值、重叠度和数量。匹配分数阈值设置为0.9,以便更精确的找到模板,重叠度设置为0,匹配数量选择1个,其他参数选择默认值。创建好模板,保存模板参数,点击查找模板,即可实现特征点匹配,定位到螺母,定位模板的参数界面如图3所示。

图3 定位模块界面

1.2.2 标定模块

标定模块是建立图像坐标与世界坐标之间的关系[14],可以通过九点标定和标定板的方法进行标定,系统采用标定板进行标定,产生标定文件。

实验选用30 mm×30 mm间隔,图像阵列为7×7的圆心阵列型平面标定模板。获取相机的内外参数需对标定板图像进行处理[15],最后生成标定文件。

1.2.3 拟合圆算法

Canny边缘检测算法[16-17],具有很好的信噪比,对单一的边缘具有唯一响应,特别是其中的高低阈值的自适应选取,其算法步骤如下:

用高斯滤波对图像进行滤波,函数式为

(2)

其所对应的梯度矢量为

(3)

式中:σ为高斯滤波器的尺寸参数;x、y为像素点位置。

计算图像一阶偏导的梯度幅度、方向:

(4)

其中:

(5)

A(i,j)反映了图像上点(i,j)的边缘强度,φ(i,j)反映了该点的反向矢量,即垂直于边缘的方向。

对梯度幅值进行非极大值抑制。该方法通过判断图像上每一点的梯度幅值A(i,j)是否为其邻域的最大值,来确定该点是否为边缘点,以及消除虚假的边缘点。

采用双阈值的方法作用于非极大值抑制后的图像,其中高阈值得到的边缘会含有很少的假边缘,而低阈值可以保留细节。根据边缘的连通性,以高阈值产生的图像阵列为基础,在低阈值产生的图像阵列上搜索可能的边缘进行连接。既可以消除假边缘,又可以保留重要的边缘信息[18]。

考虑到Canny算法得到的轮廓是多边形复杂轮廓,无法直接提取小径。而Hough算法圆检测需对图像上每一点映射到参数空间,运算量极大[19]。本检测系统提出的卡尺工具拟合圆算法,可以较快的得到螺母小径,其具体步骤如下:

(1)在需拟合的圆轮廓内部产生初步圆轮廓。

(2)通过卡尺工具检测螺纹内径边缘点。在产生的圆轮廓边缘等距产生卡尺工具,计算卡尺工具内的每个像素的幅度值,再用非极大值抑制法选择最优的边缘点。

(3)将检测的边缘点进行最小二乘拟合,采用最小二乘法将检测到的边缘点进行最小二乘拟合[20]。

最小二乘法拟合圆是在确定函数类φspan{φ0(x),φ1(x),…φn(x)}中,求一个拟合已知数据 (Xi,Yi),i=1,2,3…n的函数Ψ(x),使的式(6)取得最小值。

(6)

该拟合圆算子的具体实现步骤如图4所示。

图4 拟合圆算法流程

在圆轮廓上等距产生卡尺工具,采用测量卡尺工具的方法进行边缘点检测,因为测量卡尺工具可以在卡尺大小规定的情况下检测出该卡尺内灰度幅度较大的点。由于卡尺工具测量精度高的特点,通常用卡尺工具检测物体的两个边缘点,来测量物体的宽度。卡尺工具的大小决定着能否检测到边缘点,卡尺工具的个数决定了待拟合的边缘点的个数,个数越多越精确,但检测时间也相对增加。本实验选用的测量卡尺工具的长度、宽度和数量分别为60、15和30。最后将检测到的边缘点用最小二乘法进行圆拟合,产生圆轮廓并获取直径。采用这种算法得到的轮廓是亚像素边缘,可以达到高精度的要求。

图5中内圆为初步圆轮廓,小矩形为测量卡尺工具,外圆轮廓为拟合后的圆轮廓。每个卡尺工具中产生一个边缘点,如P0。最后根据检测到的边缘点P0,P1,P2,P3…Pn用最小二乘法拟合圆轮廓。两种边缘检测方法轮廓对比如图6所示。

图5 卡尺工具算法图

图6 Canny算法和卡尺工具方法检测的轮廓对比系列图

将算法在Halcon中进行模拟,用卡尺工具检测螺母的边缘点,进行拟合。模拟实现的结果如图7所示。

图7 算法拟合螺母内径图

1.2.4 检测模块

采用上述的最小二乘法拟合螺母孔径内圆,得到圆的直径Dc,由标定模块生产的标定文件,即可算出该螺母的实际孔径大小Dr。检测模块是检测该螺母孔径的大小是否还在继续使用的范围之内,如果在规定的范围则显示“OK”,反之则显示“NG”,表示该螺母已经达不到继续使用的标准。由于标准的M10六角螺母的结构图如图8所示。

图8 标准M10螺母结构图

该类型的螺母的小径为8.5 mm,螺距为1.5 mm。这里假设直径范围8.4~9.0 mm为符合使用标准的螺母,不在范围内的则认为是不符合标准的螺母,实验简称“坏螺母”。

该系统在对不同的螺母进行测量时,只需将螺母放在转盘上,当螺母转到红外传感器感应的位置时,触发相机拍照,即可实现定位、匹配、测量。无需再调节镜头的焦距、光圈和光源,只需将触发方式改为硬件触发,实时采集图像即可。每拍一张图片对图像进行处理,得到孔径和处理的时间,可以避免人工测量繁琐和低效率的问题。该实验通过一个单独的线程进行采图并处理,防止窗体出现“卡死”的现象。

2 检测结果与误差分析

2.1 检测结果

螺母应用的领域不同,对螺母孔径的要求也不同。本实验对50个螺母进行测量,对其分为3组:第1组为10个未经使用的新螺母,第2组为20个使用过一段时间的旧螺母,第3组为20个已经损坏的螺母。记录下每组螺母的直径和正确识别的数目,再对测量出的结果进行分析。

测量系统运行结果界面如图9所示,可见该螺母的孔径约为8.785 mm,达到了继续使用的要求,测量的时间约为37.63 ms,验证了测量速度快的特点,实现了高精度和高效率的测量。

图9 螺母测量结果界面

本实验对50个螺母测量后,记录下数据,其中前2组数据用MATLAB生成折线图,如图10所示。

(a)第1组

(b)第2组

其中水平线为该组螺母孔径的平均值,第1组螺母均在检测的范围之内,识别正确。第2组螺母的平均值约为8.723 mm,验证了使用过后的螺母孔径会变大。第3组螺母为内螺纹磨损严重的螺母,其测量结果图表1所示。

20次的平均值9.071 5 mm,标准差0.115 4,离群个数3,离群率15%。

表1 第3组螺母的检测结果

由统计的结果可知,第3组严重磨损的螺母的孔径的平均值约为9.071 5,方差为0.115 4。有3个螺母孔径小于9.0 mm。统计OK和NG的个数,如表2所示。

表2 50个螺母的检测结果

由统计结果可知,对于第1组新的螺母的检测正确率为100%,对2组旧螺母的识别率为90%,而对于第3组螺纹磨损严重的坏螺母识别率为85%。由测量结果可见,通过螺母孔径圆拟合的方法基本上可以实现检测的功能。

本系统采用多线程的异步编程,可以适当提高系统检测的时间,实验统计了50次螺母检测的时间,绘制折线图结果如图11所示。

图11 螺母检测时间折线图

得出时间的平均值约为22.367 ms,由图11可知,检测时间的方差较大,但检测时间的最大值不超过60 ms,可见该检测系统的优点是:系统误差小,测定精度达到亚像素级,并且其测量精度可控[21],检测时间较快,在一定程度上提高了效率。

2.2 误差分析

误差的主要来源分为硬件误差和软件误差,其中硬件误差有远心镜头工作距离不精确,镜头成像的几何畸变和转盘旋转的速度带来的误差等。远心镜头位置会影响成像的清晰度,镜头的畸变属于典型的系统误差,是由多种误差组合而成,转盘速度太大会出现拖影的现象。而且由于螺母工作环境的复杂性,其发生的形变也具有多样性,拟合生成的圆会和实际的轮廓有微小的区别。对于软件误差,主要表现在算子参数设置不当带来的误差及图像中存在的噪声。如产生标定文件时应尽可能多次查找标定板,准确建立图像坐标与世界坐标系之间的关系。噪声是图像在成像、数字化和传输过程中受到的各种干扰形成的,降低了图像的质量。可以通过提高系统的分辨率来提高测量的精度;增加CCD相机的像素也可以减少测量误差,因为像素增加,单位像素对应的实际尺寸越小,产生的误差也越小。

3 结束语

系统采用卡尺工具的方法检测出边缘点,再将边缘点用最小二乘法进行拟合,由测量结果可以看出该测量系统具有一定的实用性,基本解决了人为测量螺母孔繁琐和不精确的问题。不仅如此,该系统还具有相对稳定、鲁棒性强、测量速度快的特点,可以应用于生产线产品质量检测等。测量精度基本可以满足螺母孔径的测量要求,并且可以检测出好螺母与坏螺母。适当提高硬件系统和软件系统的参数,该系统可以满足更大精度的测量要求,可用于高精度的测量。该系统已经成功应用于部分分选机程序中,后期将对程序和算法进一步优化,达到更高的测量精度和测量速度。

猜你喜欢
螺母孔径标定
新型自锁、防松螺母的制作与应用*
三种铆螺母紧固件的应用与对比
使用朗仁H6 Pro标定北汽绅宝转向角传感器
“永不松动”的螺母
杯沿“叠罗汉”
CT系统参数标定及成像—2
CT系统参数标定及成像—2
不同渗透率岩芯孔径分布与可动流体研究
大孔径数控管螺纹车床辅助支撑的设计改进
Preparation of bimodal grain size 7075 aviation aluminum alloys and the ir corrosion properties