余浪,苗鸿宾,b,苏赫朋,申光鹏
(中北大学 a. 机械工程学院; b. 山西省深孔加工工程技术研究中心,山西 太原 030051)
轴承是机械设备中一种重要的零部件,主要用于支撑机械旋转体,降低其运动过程中的摩擦因数并保证其回转精度,故被应用于不同的机械装置中。轴承的质量关系着整个装置的运行状态和使用寿命,所以在轴承的生产过程中需对轴承的多项参数进行质量检测以及尺寸测量[1]。
基于机器视觉的快捷,灵活,抗干扰能力强以及可编程控制等特点,机器视觉技术在工业生产上得到了越来越多的应用[2],结合机器视觉对轴承进行质量检测以及尺寸测量等操作也一直是自动化技术领域的研究热点。白芳等[3]为了提高对轴承的测量精度以及测量的速度,结合机器视觉技术设计了一种针对轴承的检测系统,实现了对轴承的定位、多位置的尺度测量以及轴承表面的缺陷检测。林海波等[4]为了能够更加准确地定位到微小轴承的位置信息,在处理微小轴承图像的过程中,通过局部区域特征的三次曲线模型求解轴承图像的内外圈边缘亚像素信息,并以此计算得到更精确的图像边缘信息。温学军等[5]通过轴承图像的灰度函数图以及一阶导数图来对轴承滚动体的缺失进行检测判断。
工业生产中在对轴承进行各项参数检测时,受现场工况的影响,待检测的轴承会在一定程度上偏离原先固定的位置,若此时继续对轴承进行质量检测以及尺寸测量将导致检测的结果出现较大的偏差。基于此,为了保证轴承各项参数的检测准确性,本文提出一种基于机器视觉的轴承识别与定位算法,通过设置轴承的模板图像以及检测阈值,结合图像的Hu不变矩特征对轴承进行识别匹配;通过最小二乘法对图像的边缘点进行圆拟合并采用迭代法进行修正,通过计算圆心的位置坐标,实现对待检测轴承的定位。该方法可有效地识别、定位目标轴承,提高对轴承各项参数的检测精度。
本文以NSK 6204Z轴承作为研究对象。NSK 6204Z轴承是一种深沟球轴承,用于模具标准件、压力机、 冷冲压设备等。本文基于机器视觉对待检测轴承进行识别与定位的算法流程如图1所示。要实现对轴承的准确识别与定位,主要关键步骤包括:1)图像采集,调试视觉系统采集目标图像;2)图像预处理,消除与图像识别定位无关的图像信息以及噪声干扰;3)图像外轮廓边缘特征的提取;4)对目标轴承进行准确的识别判断以及定位计算。
图1 算法流程
图像预处理的目的是为了消除图像中多余的图像信息以及由环境因素影响所带来的干扰信息,突出感兴趣的图像区域,同时达到简化图像数据以及增强目标图像特征的目的。本文对轴承图像的预处理流程如图2所示[6]。
图2 图像预处理
因为在对图像进行识别与定位的过程中只需考虑图像的形状特征而不需要考虑图像的颜色特征,所以在对轴承图像进行识别定位之前需对其进行灰度化处理。灰度化图像能达到简化图像,同时减少图像特征提取的时间,提高图像识别定位的速度[7],灰度化效果如图3所示。
图3 图像灰度化
2)图像滤波
在采集图像的过程中,受环境因素的影响,采集到的图像中往往会存在干扰的图像噪声,而这些噪声的存在会影响图像特征的提取效果。所以本文采用中值滤波算法对轴承图像进行滤波处理。中值滤波在对图像进行滤波处理的过程中不仅能够有效地对突变噪声进行降噪处理,同时能够很好地保存图像中的边缘特征[8],滤波效果如图4所示。
图4 中值滤波
3)图像阈值分割
对图像进行阈值分割的目的是为了突出图像中感兴趣的区域,为后续的图像识别定位计算做好准备。图像阈值分割的过程主要通过设定阈值T来对图像进行二值化处理。在对图像进行阈值分割之前,首先对目标图像进行灰度直方图的统计,如图5所示。根据灰度直方图的分布情况,本文采用Otsu法对图像进行分割处理[9],该方法分割效果好,计算简单。在对图像进行分割的过程中,动态地确定阈值T,使得在图像分割之后,目标图像与背景之间的方差最大,阈值分割效果如图6所示。
图5 中值滤波后的图像灰度直方图
图6 Otsu阈值分割
4)图像外轮廓边缘检测
图像的边缘特征包含了图像的大部分信息,是对图像进行识别定位的关键因素。在边缘检测的算法中Canny边缘检测受到噪声的影响较小,检测出来的边缘比较连续,边缘线条清晰,检测精度高并且受图像噪声的干扰较小,在对图像进行边缘的检测中得到了广泛的应用。所以本文结合此方法对轴承图像进行边缘检测。同时通过对轴承图像的外轮廓边缘特征进行识别匹配定位就可以达到对目标轴承进行识别定位的目的,还可以简化图像处理的信息,提高计算速度。为提取到目标图像的外轮廓边缘特征,本文对阈值分割后的图像先进行孔洞填充处理,再对图像进行Canny边缘检测,效果如图7所示。
图7 外轮廓边缘特征检测
在提取到目标图像外轮廓边缘特征后,本文采用图像的Hu不变矩特征来对目标轴承进行识别匹配。通过设置轴承的模板图像,计算模板图像与待识别轴承图像外轮廓的Hu不变矩特征值并进行比较计算,同时设定相应的检测阈值,以达到对目标轴承进行识别判断的目的。
1)Hu不变矩
图像的Hu不变矩特征具有在图像发生平移、缩放以及旋转的时候都不变的性质[10],其分析计算过程如下。
a)计算图像的(p+q)阶几何矩mpq和中心矩μpq:
(1)
式中N、M分别为图像的行列数。
b)对中心距μpq做归一化计算:
(2)
式中μ00是零阶中心距。
c)构造胡氏7个不变量
(3)
上述的7个特征量变化较大,并且可能出现负值。因此,本文采用式(4)对上式得出的结果再进行计算。
φi=sign(φi)log|φi,i=1,2,…,7
(4)
2)工件的识别匹配
对待识别的轴承进行识别匹配的过程中,首先需建立轴承的模板图像A并获取到该图像外轮廓的Hu不变矩特征值;然后对待识别的轴承图像B进行处理,提取图像的外轮廓边缘特征,同样也计算出该轮廓的Hu不变矩特征值;最后对两组特征值通过式(4)进行计算并利用式(5)进行计算比较,同时设定相应的检测阈值完成工件的识别匹配判断。
(5)
由式(5)可知:当I(A,B)越小时,待识别的轴承图像与模板轴承的匹配度越高,反之则越低。
传统的定位轴承工件圆心的位置有Hough变换[11]、三点定圆法[12]以及最小二乘法[13]。Hough变换具有鲁棒性好,但在其投票统计的累加过程中需要消耗大量的内存和时间;三点定圆法虽然计算简单,但其定位精度也较低;最小二乘法可以得到高精度的圆心位置,同时计算量少,占用的内存和消耗的时间均较少,但容易受到图像中干扰点的影响,降低最后的定位精度。基于此,本文提出在完成目标轴承的识别匹配之后,对提取到的图像外轮廓上的边缘点集Q采用最小二乘法进行圆的拟合,然后利用迭代法进行修正,最后通过计算圆心的位置坐标实现对目标轴承工件的位置定位,达到提高轴承工件的定位精度以及检测系统的检测效率的目的。
圆曲线方程的一般形式可以描述为
R2=x2-2Ax+A2+y2-2By+B2
(6)
令a=-2A,b=-2B,c=A2+B2-R2,则可将式(6)转换为
x2+y2+ax+by+c=0
(7)
设di为边缘上的点ai(Xi,Yi)到圆心的距离,则有:
(8)
(9)
通过Q(a,b,c)分别对a、b和c求偏导并取偏导数为0,则可以计算出:
(10)
由此即可计算出拟合圆的圆心坐标O0(Xc,Yc)以及圆半径R0的大小。但是在实际的应用中发现,该算法有时候得出的结果与真实的结果存在较大的偏差。这是因为在进行圆拟合的过程之中受到某些方向上干扰点的影响,导致最终得出的结果出现了偏差。所以为了使计算出的结果更接近于真实值,本文采用迭代法对上述得出的结果进行迭代修正处理。设迭代函数为
(11)
式中参数p的作用在于当干扰点接近拟合圆时,放大误差值,使得f取到全局最小值。
ξ(k+1)=ξ(k)-ΦFξ(k);F=[F1F2F3]T
(12)
在迭代计算的过程中取圆心坐标O0(Xc,Yc)和半径R0作为ξ(k)的初始值ξ(0)。同时结合迭代终止式(13),设置相应的初始步长以及迭代精度得出最终的圆心坐标和半径值。
(13)
式中tol为迭代的相对误差。
本文结合实验室现有的AUBO机器人、海康MV-CE050-31GM相机、MVL-HF1228M-6MPE镜头等设备,基于Visual Studio 2017平台、OpenCV3.4.6视觉函数库进行开发与实验验证分析。其中MV-CE050-31GM相机的传感器类型为CMOS,分辨率为2 592×1 944,通信接口为GigE;MVL-HF1228M-6MPE镜头具有画面清晰度高以及对比度好等特点。将相机安装在AUBO机器人的执行末端,用于采集轴承图像,采用环形光源进行补光以使轴承图像更加清晰,以PC作为上位机,通过GigE接口接收相机发送过来的图像信息,实验环境如图8所示。
图8 实验环境
实验的过程之中将NSK 6204Z轴承摆放在试验台上并在每一次实验之前在一定范围内改变其在实验台上的位置,然后设置轴承的模板图像与检测阈值,利用本文的算法对待检测的轴承进行匹配识别,设置当检测得到的匹配度阈值小于0.05时,则认为该工件为目标轴承工件。同时利用本文的定位算法计算出轴承的位置坐标(xi,yi),将此结果与真实值(x0,y0)做比较,计算在x轴方向和y轴方向的偏差值Δx和Δy。
(14)
共进行了50次的实验,实验结果如表1(部分结果)和图9—图11所示。
由图9可知轴承匹配度的范围在0~0.03之间,皆小于设定的匹配度阈值0.05,50次轴承的识别匹配正确率为100%;图10中在x轴方向和y轴方向上的位置误差拨动范围的绝对值都在0.5像素以内;图11中每次实验所用的时间都在[210,230]ms之间,识别定位误差皆满足系统对轴承的识别定位精度要求。由此可知在误差范围之内,本文算法可实现对目标轴承的准确识别与定位。
图10 定位误差曲线
图11 耗时曲线
针对在结合视觉技术对轴承进行质量检测以及尺寸测量的过程之中,待检测的轴承易发生位置的偏移导致测量的结果出现较大的偏差,所以在对轴承进行各项参数检测之前需对目标轴承进行准确的识别定位。基于此,本文提出了一种基于机器视觉的轴承识别与定位算法,通过对采集到的图像进行预处理,分割出目标图像并提取图像的外轮廓边缘特征,然后结合计算待识别图像和模板图像的Hu不变矩特征值对图像进行识别匹配;最后通过最小二乘法拟合圆计算图像的位置信息,并通过迭代法进行修正。实验结果表明:本文针对轴承的识别与定位提出的算法满足系统对轴承的识别定位精度要求;可应用于轴承的生产线上;对提高对轴承各项参数的质量检测精度,具有实际意义。