时间:2024-07-28
张 宁,杜金隆,张 炜
(1.福建工程学院机械与汽车工程学院,福建 福州 350118;2.福建省机床行业技术创新公共服务平台,福建 福州 350118)
随着科技的发展,低效率、低精度的传统测量技术已经难以满足企业对于产品高效率、高精度的检测需求[1]。近年来,随着计算机视觉和图像处理技术的进步,利用计算机视觉对工件进行无接触检测逐渐成为企业的选择。利用机器视觉对工件进行检测时,主要是通过相机对工件进行拍照,对获取到的图片进行边缘特征提取,对提取到的边缘进行测量,所以边缘特征的检测,是机器视觉研究的重要内容。
对于边缘检测的方法,国内外的学者进行了大量的研究。文献[2]提出在灰度直方图上利用差分运算,得到图像的自适应阈值,将目标与背景分离,从而得到更好的边缘检测效果。文献[3]利用改进的中值滤波代替原有的高斯滤波,去除噪声同时可以较好的保留图像边缘特征,从而提高边缘检测的精度。文献[4]通过在图像梯度直方图的基础上,利用弓弦方法自适应地搜索具有过度特征的切点,实现高低阈值的筛选,进而提高边缘检测的精度。文献[5]提出利用双边滤波对图像进行去噪,然后根据颜色对图像进行特征区域划分,结合自适应阈值来提高边缘检测精度。文献[6]提出在RGB 和HSV 双色彩空间对图像进行预处理,从而判断物体的运动状态,结合Sobel算子提高边缘检测精度。文献[7]提出在复杂环境下使用色彩区分配合深度学习的方法,收集图像信息,并使用形态学操作来提高边缘检测的精度。
综上所述,虽然基于机器视觉的边缘检测已经比较成熟,但是关于基于机器视觉的送纱管两端同轴度的检测方法研究较少。通过自主搭建针对送纱管同轴度检测的实验平台,提出了一种适用于送纱管边缘检测的改进Canny算子,并对检测出的边缘采用RANSAC和最小二乘法结合的圆拟合算法进行处理,实现对送纱管同轴度的快速,精确检测。
送纱管为空心圆柱体,两端孔用于安装轴承,本次实验是对送纱管两端孔的同轴度进行测量,实验平台的搭建及工件,如图1所示。从图中可以看出,在利用工业相机对图像进行采集时,只能采集到一端孔的边缘,为解决这一问题,本次实验将使用自动定心气动夹爪内撑固定送纱管一端,卡爪在伸缩过程中与气动件本身中心完全同心,且卡爪伸缩的重复定位精度可达到0.01mm,可以用气动夹爪中心即气动件中心通孔的圆心代替固定端孔的圆心,从垂直方向进行送纱管的图像采集,可以获取到送纱管非固定端的图像以及气动卡爪中心通孔的图像,经过图像处理提取筛选出非固定端边缘以及气动卡爪中心通孔边缘,再分别对两个边缘进行圆拟合,计算得到两个圆心,将两个圆心的距离作为两端孔的同轴度误差。
图1 送纱管图像采集平台及工件Fig.1 Image Acquisition Platform and Workpiece of Bobbin
图像的预处理是送纱管边缘检测的第一步,处理结果将直接影响后续边缘特征的提取。预处理主要目的是减少在图像采集过程中产生的噪声、模糊、重影等干扰[8]。
图像的边缘特征与图像的色彩无关,所以对图像进行灰度处理,这样不仅可以保留图像的特征信息也可以减少图像处理的数据量,有助于计算速度的提升。由于送纱管具有较大的孔深,所以相机对气动卡爪图形信息的采集能力偏弱,故通过对比度增强的方法,加强送纱管和气动卡爪与背景的对比度,获取到更强的图像信息,方便提取特征。预处理的图像,如图2所示。对比原图可以发现,经过预处理后的图像减少了干扰信息,并且送纱管和气动卡爪也与背景进行了很好的分离,有利于后续对特征进行提取。
图2 图像预处理Fig.2 Image Preprocessing
Canny算子是John Canny在1986年所提出,该算法在去噪和边缘检测之间达到了很好的平衡,成为目前应用广泛的边缘检测算法[9]。但Canny算子所使用的高斯滤波在将噪点去除的同时,会对送纱管的边缘特征造成一定程度的破坏,在阈值选取时需要手动进行双阈值设置,这也会因为人的主观性和环境变换的随机性而增加边缘检测的误差。
针对以上问题,将从滤波方式,梯度幅值计算和阈值设置三方面对Canny算子进行改进。
高斯滤波是对中心像素点和其邻域内的其他像素点按照高斯分布进行加权平均,这样的滤波方式其实是将噪声点加权分布到其周围像素点中增加边缘的模糊性,同时也增加了送纱管边缘检测的误差。自适应中值滤波可以有效的减少噪声干扰并保留边缘信息。具体算法如下:
(1)首先设定f(x,y)为图像中心像素点(x,y)的灰度值,W(x,y)为当前灰度窗口的大小,设定窗口的初始大小为W=3,fmin,fmed,fmax分别为卷积窗口内的灰度最小值,灰度中值,灰度最大值。
(2)若fmin<fmed<fmax,则转至(3),否则增大W(x),y的尺寸,若W(x,y)的尺寸小于Wmax,则重复(2),否则输出f(x,y)。
(3)若fmin<f(x,y) <fmax,则输出f(x,y),否则输出fmed。
传统Canny算子只计算水平和竖直两个方向的梯度幅值,这种计算方法容易造成边缘丢失和假边缘的出现。改进的算法将增加对45°方向和135°方向的边缘梯度幅值的计算,这样可在一定程度上增强边缘的检测并抑制假边缘的出现。具体算法如下:
根据以上4个公式可以计算水平和竖直方向的差分:
则梯度幅值和梯度方向分别为:
此方法增加了梯度幅值计算时涉及到的邻域内点的个数,改进梯度幅值计算方法抗干扰能力更强,鲁棒性更高,可以更好的抑制噪声,并且能很好的保留图像的边缘信息。
OTSU算法又称最大类间方差法,是解决二分类问题的算法,但是Canny算子需要高低双阈值设置,即三分类问题,所以需要对OTSU算法进行扩展改进[10]。图像的灰度级为0-l,高阈值设置为k,低阈值设置为m,根据高低阈值将图像的灰度分为3类,灰度级为0—k为第一级C1,灰度级为k+1—m为第二级C2,灰度级为m+1—l为第三级C3。
图像的像素点个总个数为N,各灰度级i的概率pi为:
各度等级概率为:
且有:
三类的平均灰度等级分别为:
图像的平均灰度等级为:
从上式可以看出图像的平均灰度等级与阈值的选择无关。
类间方差定义为:
结合式(13)、式(17)可以推导得到:
使用式(20)按顺序选择不同的k、m值进行搜索,寻找使类间方差达到最大的值,就是要寻找的高低阈值。
传统Canny算法根据手动设置阈值处理后得到的边缘图像,如图3、图4所示。
图3 Canny检测1Fig.3 Canny Test 1
图4 Canny检测2Fig.4 Canny Test 2
使用改进Canny算子对预处理后图像进行边缘检测的效果图,如图5所示。从图中可以看出改进后的算法将图像的边缘信息较好的检测了出来,但是也存在一些微小的不需要的边缘特征。对于同轴度的检测,需要送纱管内径边缘和气动卡爪中心圆形的边缘,为了将这两个边缘特征提取出来,采用形态学筛分加面积过滤的方式对图像进行边缘特征筛选,筛选效果,如图6所示。
图5 改进Canny检测Fig.5 Improvement Canny
图6 特征筛选Fig.6 Feature Screening
经过改进Canny算子的处理,已经找出要测量的两个边缘轮廓,提取出的边缘通常是不完全规则的,如果直接进行拟合测量,会增加拟合出的圆的误差,所以需要先对检测出的边缘数据进行处理。
最小二乘法具有线性特性、无偏性、和最小方差性等优点,是常见的圆拟合算法,但是由于最小二乘法是对全体数据进行拟合,这样就会将局外点考虑在拟合范围内,拟合出的结果会与实际的送纱管边缘存在误差,降低测量的精确度。为了弥补最小二乘法的这一缺陷,本节将采用RANSAC 与最小二乘法结合的算法对送纱管的边缘进行拟合测量。
RANSAC又称随机采样一致[11],数学原理为:对于总量为N的样本集,其中M个数据为局内点,则每次取到局内点的概率P=M/N;设计算模型需要K个样本点,则一次性取到的样本点全在局内点的概率为PK,那么采样点中至少有一个样本点为局外点的概率为:1-PK。
若进行n次采样,则n次采样中都包括至少一个局外点的概率为:(1 -PK)n,那么此事件的对立事件,即n次采样中至少出现过一次好模型(所取点全部为局内点)率为:1-(1-PK)n,由极限可知,当n→∞时,(1 -PK)n→0;直观的解释为:当采样次数足够多时,就肯定会出现好的模型。
RANSAC算法实现的步骤为:
(1)从样本集中随机选取一组足以计算模型参数的子样本,计算得到的模型参数。
(2)判断模型参数的质量,即计算所有样本点到该模型距离的方差。
(3)重复上述步骤,记录每一次模型参数的质量,达到迭代次数或偏差要求时结束。
在采用RANSAC 结合最小二乘法对边缘特征进行拟合时,数据的采集是随机的,为了避免拟合特征时受到干扰,需要对两个特征圆进行分离,对分离后的特征分别进行拟合,再将拟合后的结果进行合并,结果,如图7所示。
图7 边缘拟合图Fig.7 Edge Fitting
拟合后可以分别求得大圆圆心(送纱管非固定端边缘的圆心)、小圆圆心(气动卡爪中心通孔圆心)。两圆心坐标的欧氏距离就是送纱管两端的同轴度。
图像处理过程中的长度都是以像素作为单位,将以像素为单位的长度换算为mm为单位的长度,就需要对相机进行标定。步骤为:使用相机对标定板进行拍照,通过图像处理得到单位长度上的像素个数,单位长度与像素个数的比值即为此位姿下单个像素所代表的长度。经过标定,此次测量单位像素代表的长度为0.024mm。
在拍照过程中,每次图像获取结束,将送纱管旋转一定角度,获取3张不同位置的图像,对三张图像进行边缘检测以及边缘的拟合,将三次处理结果的平均值作为此次送纱管同轴度的检测值。
从表1 的数据中可以得到此次送纱管的同轴度误差约为0.0103mm。可以满足送纱管0.01mm的检测精度需求。
表1 检测结果表Tab.1 Detection Result
基于机器视觉的送纱管同轴度测量系统,采用气动夹爪对送纱管进行固定拍照,用气动夹爪中心代替送纱管固定端孔圆心,以图像形态学操作为基础,通过应用改进的Canny算子对图像边缘进行提取、处理,在滤波和边缘获取方面都有较好的提升,使用RANSAC与最小二乘法结合的拟合算法也很好的去除了局外点对图像拟合的干扰。经测试,此系统的测量精度可以得到0.01mm级别,能够满足送纱管同轴度的测量精度要求,实现高效无接触式检测。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!