基于机器视觉的卡尺工具法轴承精密测量

2023-03-01 01:32邹哲暠曾维友
机床与液压 2023年2期
关键词:轮廓标定边缘

邹哲暠,曾维友

(湖北汽车工业学院数理与光电工程学院,湖北十堰 442002)

0 前言

轴承是机械设备的重要零部件之一,其应用很广泛,作用于各个机械零件之间,主要作用是支撑机械旋转,降低旋转时的摩擦因数,从而使机械运转更加快速,因此轴承内外径是轴承的重要参数[1]。故快速、准确地检测出轴承的内外径和圆度是各大轴承工厂的研究重点之一。

传统人工测量轴承内外径的方法主要是借助机械式、光学式的测量仪器[2],这些测量仪器都需要人工操作,因此存在人工检测疲劳、精度低、效率低等问题[3]。为了克服传统测量的缺点,将机器视觉应用于轴承的内外径测量,具有非接触式、精度高、效率高、稳定性高等优点[4-6]。齐鲁工业大学的李龙等人[7]提出用小波变换算法提取轴承边缘,再通过Hough变换对轴承内外轮廓进行提取并测量;该方法虽然好于传统测量方法,但是小波变换边缘检测和Hough变换计算量大,易消耗内存,从而降低了检测速度。合肥工业大学的任永强等[8]提出了通过改进的圆检测算法来提取轴承边缘,它主要是通过轮廓面积周长比值筛选法筛选出一些无效轮廓点,保留轴承边缘的有效轮廓点,再使用最小二乘法进行拟合,此方法虽然也能够进行圆拟合,但拟合效果不好,检测精度不高,主要起定位作用。

为了提高检测速度,检测精度,本文作者采用了基于机器视觉的轴承内外径测量:首先使用阈值分割来对轴承定位,通过Canny算法进行边缘提取,再使用卡尺工具法来拟合轴承内外圆,并通过标定测量出拟合圆的真实值,最后通过C#编写测量交互界面,实现测量数据的处理及显示。

1 测量系统的硬件设计

硬件系统主要由相机、镜头、光源组成,硬件系统的好坏直接决定了图像的质量和测量的精度。

1.1 相机的选型

相机的选型主要考虑相机的分辨率、帧率、靶面尺寸。相机的分辨率与光学传感器的像元尺寸和所搭配的镜头有关。根据零件要求的检测精度和零件尺寸大小,最终选择海康MV-CE200-10GM型号2 000万像素相机,其分辨率为5 472像素×3 648像素,像元尺寸为2.4 μm×2.4 μm。

1.2 镜头的选型

镜头的选型主要考虑镜头的工作距离、视野以及畸变程度。由于轴承有一定的高度并且普通的工业镜头有一定的畸变,所以使用普通的工业镜头可能会照到轴承内壁从而对其内径造成一定的影响,导致测量不准确。而远心镜头不仅成像质量更高而且可以有效消除畸变。根据式(1):

(1)

其中:β为镜头的放大倍率;fCCD为相机的像元尺寸;fFOV为相机的视野范围。根据计算,最终选用0.28倍的远心镜头。

1.3 光源的选型

光源的选型对成像质量以及稳定性有重要影响。考虑到会有外界自然光的影响,首先要做遮光处理,然后主要是测量轴承的内外径,需要它的轮廓即可,所以最终选择稳定的背光源。背光源可以最好地体现出物体的轮廓,提高对比度。

根据以上硬件选型,再结合控制器、PC共同构成硬件系统如图1所示。利用此硬件系统得到的图像和实物如图2所示。

图1 硬件系统

图2 轴承实物(a)和实时图像(b)

2 测量系统的软件设计

利用机器视觉进行图像处理、拟合、测量的基本流程是图像采集,阈值化处理,图像预处理,边缘提取,调用Halcon中的卡尺工具算子进行拟合、测量、显示。测量流程如图3所示。

图3 图像处理的基本流程

2.1 相机标定

相机标定主要是为了得到摄像机的内参和外参姿态。内参是从相机坐标系转到像素坐标系,外参姿态是从世界坐标系转到相机坐标系[9]。相机标定最终目的就是把像素坐标转换成实际坐标,得到轴承内外径的真实值。因此标定精度对于测量精度有一定影响。世界坐标系(X,Y,Z)与像素坐标系(u,v)转化关系为

(2)

其中:f为相机的焦距;dx、dy分别为像素在X轴、Y轴方向上的物理距离;u0、v0为图像原点的坐标;R为旋转矩阵;T为平移矩阵。

Halcon相机标定主要是通过圆形阵列标定板来实现的。文中采用30 mm×30 mm大小、图像阵列为9×9的圆心阵列形标定模板。生成标定文件,通过Halcon中的标定助手,对标定板进行旋转、平移、倾斜式的拍照,一般需要10~15张标定图像。最终得到的相机内参和外参如表1所示,标定板图像如图4所示。

表1 相机内外参数

图4 标定板图像

2.2 图像预处理

利用相机得到图像后,需要对图像进行预处理,达到定位的效果,采用Blob分析对轴承进行阈值分割。常用的阈值分割有全局阈值分割、自动全局阈值分割、动态阈值分割等。文中使用threshold (Image, Region, 0, 90)算子对图像进行阈值分割,凸显出图像所在的区域,方便后续的边缘提取。经过不同阈值分割方法和不同阈值处理后的图像如图5所示。

图5 不同阈值分割方法图像

通过上述4幅图像可以看出:使用全局阈值分割并把阈值设为90时,对轴承的分割效果最为明显,更加方便后续的图像处理。

2.3 边缘提取

像素是一幅图像的最小单位。实验所用相机的像元尺寸为2.4 μm×2.4 μm,因此得到的图像两个像素之间的距离大约为2.4 μm,宏观上可以把它们看作是连在一起的,但在微观上,它们之间还有无限的更小的东西存在,这个更小的东西称为“亚像素”[10]。

在对图像进行阈值分割后,需要提取图像的内外径边缘。首先,采用像素级方式对边缘进行提取,利用fill_up(Regions, RegionFillUp)算子填充整个区域,得到外径轮廓,然后使用difference(RegionTrans,Regions,RegionDifference)算子得到内径轮廓。其次,采用亚像素级别的方式进行边缘提取,利用edges_sub_pix(Image, Edges,′canny′, 5, 50, 100)算子实现对轴承内外径的边缘提取。该算子主要通过Canny算法对边缘进行提取。Canny算法是对边缘梯度进行二阶求导的一个方法,它满足三大最优边缘检测的准则:(1)最优检测,算法需要精确找到尽可能多的边缘,尽可能减少误检和漏检;(2)最优定位准则,算法检测的边缘点应精确地定位在边缘的中心;(3)检测点与边缘点一一对应,不会产生过多的伪边缘[11]。因此该检测算法的精度和速度都很好,使用该算法可以快速、精确地提取所需要的边缘轮廓。Canny算法的一般步骤为:

(1)用高斯滤波来平滑图像,以达到去除噪声的目的。二维高斯滤波的函数为

(3)

其中:σ是标准差,它控制着图像的平滑程度。高斯滤波的主要作用就是去除噪声。因为噪声和边缘一样都属于高频信号,很容易被识别为伪边缘。应用高斯滤波去除噪声,降低伪边缘的识别。但是由于图像边缘信息也是高频信号,高斯滤波的σ选择很重要,过小的σ会使噪声去除不干净,过大的σ会使一些弱边缘检测不到。

(2)计算梯度幅值和方向

(4)

(5)

其中:G为梯度强度;θ为梯度方向。

(3)非极大值抑制

非极大值抑制就是将边缘变得更加清晰。它只保留每个像素点梯度上的极大值,这样就能使边缘宽度大大减少,消除许多虚假的边缘点。

(4)双阈值检测和连接边缘

在非极大值抑制之后,剩余的边缘像素可以更精准地表示实际的边缘。然而,仍然存在一些由噪声和颜色变化引起的边缘像素。为了解决这一问题,必须要用双阈值检测,消除低于低阈值的弱边缘像素,保留高于高阈值的强边缘像素,而处于高低阈值中间的这些边缘像素可以通过查看其8个邻域像素,只要其中有强边缘像素,那就可以把它当作真实的边缘,最后连接这些强边缘像素就形成了亚像素边缘轮廓。

最终得到的像素轮廓和亚像素轮廓分别如图6、图7所示。

图6 像素轮廓 图7 亚像素轮廓

从两图对比中可以明显看出亚像素级边缘提取的效果远远好于像素级,亚像素边缘提取精度更高,拟合效果更好,最终测量的结果也更精准。

获取其边缘轮廓后使用circularity_xld(SelectedXLD,Circularity)算子得到内外圆的圆度。

2.4 拟合圆算法

拟合圆算法主要有Hough变换、最小二乘法、模板匹配、小波变换等。文中采用的卡尺工具法也是用最小二乘法来拟合。由于是对轴承进行内外圆的测量,由于环境影响和本身零件的高度差,内径边缘有阴影部分,如果直接使用最小二乘法可能会使拟合的圆误差较大。因此本文作者提出了一种改进的卡尺工具法来拟合圆,其主要步骤如下:

(1)得到需要拟合圆的初步位置、大致的圆心位置及半径。

(2)在内外圆轮廓的初步位置创建卡尺工具,产生等距的矩形工具,对矩形工具中的各个像素点进行幅度值计算,由于幅度值越大,像素点的灰度值变化越剧烈,则越是边缘点,所以获得其中的最大值Mmax,就将该点记为有效边缘点,其他像素点则为无效边缘点。

(3)通过最小二乘法将第(2)步中筛选出来的有效边缘点拟合圆。最小二乘法拟合圆的基本步骤就是首先设圆的方程为

(x-x0)2+(y-y0)2=r2

(6)

保证误差平方和最小,其误差平方的函数为

(7)

其中:(x0,y0)是拟合的圆心坐标;r是拟合圆的半径;(xi,yi)是圆弧上的边缘点的坐标;n是参与拟合的边缘点数。将其展开并改写为

(8)

(9)

求解上式可以得出:

(10)

(11)

(12)

其中:

最终求得最佳拟合的圆心坐标(x0,y0)、半径r的拟合值:

(13)

此实验中卡尺的大小也非常重要,它决定着能否准确找到轮廓上的边缘点。卡尺的宽度和高度会影响到找到边缘点的位置。不同卡尺大小对测量结果的影响如表2所示。

表2 不同卡尺大小的测量结果单位:mm

由表2可看出:在高精度测量过程中,卡尺的大小确实影响测量精度。最终选用的卡尺工具宽度和高度分别为30和30,此时测量的精度最高。在找到足够多的边缘点后通过最小二乘法拟合圆轮廓并获取直径。采用这种算法得到的轮廓是亚像素级,精度很高,速度也很快。卡尺工具法拟合的内外径轮廓如图8所示。

图8 卡尺工具法拟合的内外径

2.5 尺寸测量

当使用卡尺工具法拟合好轴承内外圆轮廓后,利用相机标定好的内外参数,通过set_metrology_model_param()算子设置卡尺模型的内外参,使用get_metrology_object_result (MetrologyHandle1, 0,′all′,′result_type′,′radius′, Parameter1)算子即可直接得出内外圆的真实半径。

3 检测结果与误差分析

3.1 检测结果

经过图像获取、处理、分析、拟合图像中的内外圆、尺寸测量等步骤,可以得到精准的内外圆直径,最后通过C#编写测量交互界面,使数据处理过程和测量结果显示在此界面上。Halcon联合C#窗体的测量结果如图9所示。

图9 测量结果显示

轴承的应用范围很广泛,不同场景应用的要求也不同。实验选用型号为688zz的全新轴承。为了分析测量精度和重复精度,将对被测轴承(外径15.992 mm,内径7.996 mm)进行10次测量。用平均值和标准差来验证测量精度。测量结果如表3—表4所示。测量误差分析如表5所示。

表3 内外径尺寸测量值及误差单位:mm

表4 内外圆度测量值单位:(°)

表5 测量误差分析单位:mm

由测量数据可知:10次测量结果的平均值接近于标准值,同时标准差非常小,表明系统很稳定。10次测量的圆度基本接近于1.00,表明产品接近正圆。最后由表3的测量数据可以算出,内外径误差的平均值都在0.008 mm以内,完全达到国家标准。

3.2 误差分析

实验的误差主要来源于硬件误差和软件误差,其中硬件误差主要是相机与镜头的选型是否完全匹配,是硬件本身误差,这种误差基本难以消除。而软件误差主要是一些算子的参数设置和相机标定带来的误差。相机标定时会带来一些误差,尽量多角度、全视野地查找标定板。在拟合圆算法时一些参数设置也会影响最终测量值,比如edges_sub_pix ()算子中第4个参数代表对边缘点进行平滑处理的平滑系数,设置不同的值对找到的内外圆轮廓有一定影响,如果设置太大就会找不到边缘,设置太小就会找到更多的轮廓和边缘点,从而影响其拟合结果。卡尺工具法中卡尺的大小也会对拟合的边缘点有一定影响,因此选用更高分辨率的相机和镜头,选择合适的参数设置,产生的误差就会减小,测量的数据更加精准。

4 结论

以Halcon为平台,使用图像处理和卡尺工具法对轴承的内外径以及圆度进行检测。首先使用标定板对相机进行标定,其次使用阈值分割和边缘检测算子对轴承进行定位,最后使用卡尺工具法对轴承进行拟合、测量。由测量结果可知:该测量方法具有一定的实用性,基本解决了人工测量不准确、速度慢等问题,并且该方法还具有相对稳定、鲁棒性高、速度快等特点。测量精度高于0.008 mm,对于688zz型号的轴承,国家普通级标准内外径公差在0.008 mm以内,此测量方法完全满足国家标准。

猜你喜欢
轮廓标定边缘
OPENCV轮廓识别研究与实践
使用朗仁H6 Pro标定北汽绅宝转向角传感器
基于实时轮廓误差估算的数控系统轮廓控制
CT系统参数标定及成像—2
CT系统参数标定及成像—2
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
高速公路主动发光轮廓标应用方案设计探讨
一张图看懂边缘计算
基于Harris-张正友平面标定法的摄像机标定算法
创造早秋新轮廓