基于机器视觉的圆形部件中心点定位系统研究

known 发布于 2025-08-25 阅读(209)

摘" 要:为实现通过机器视觉对气门导管、闷盖孔、护套孔等零部件的定位,特设计一种适用于圆形部件中心点的检测方法。首先,使用阈值分割、膨胀、腐蚀等算法对图像进行预处理,筛选出圆形部件所在的区域。其次,找到圆形部件所在区域的中心,将此中心作为圆形卡尺工具的测量中心,设置卡尺的检测半径和动态测量范围,使测量范围覆盖圆形部件的外轮廓。利用卡尺测量算子找到圆形轮廓与卡尺栅格的交点集。最后,通过最小二乘圆弧逼近的方法得到圆的中心点,实现对圆形部件的定位。研究表明,该方法的鲁棒性较强,精确度较高,提高了装配的准确率。

关键词:机器视觉;定位;中心点;圆孔;轮廓提取

中图分类号:TP391.4" 文献标识码:A" 文章编号:2096-4706(2024)10-0042-05

Research on the Location System for Circular Component Center Point Based on Machine Vision

SUN Hongfang, LI Xiaolong

(Tangshan Baichuan Industrial Service Co., Ltd., Tangshan" 063000, China)

Abstract: A detection method suitable for circular component center point is designed to achieve the positioning of valve guides, blind cover holes, protective sleeve holes and other components through Machine Vision. Firstly, it uses threshold segmentation, dilation, corrosion and other algorithms to preprocess the image and filter out the region where circular components are located. Secondly, it finds the center of the area where the circular component is located, uses this center as the measurement center for the circular caliper tool, sets the detection radius and dynamic measurement range of the caliper, so that the measurement range covers the outer contour of the circular component. It uses the caliper measurement operator to find the intersection point set between the circular contour and the caliper grid. Finally, the center point of the circle is obtained using the method of least squares arc approximation to locate the circular component. Research has shown that this method has strong robustness, high accuracy, and improves the accuracy of assembly.

Keywords: Machine Vision; positioning; center point; circular hole; contour extraction

0" 引" 言

铸造件是将熔融金属浇注到型腔中,以定位销为基准,最后对铸造件进行铣面、钻孔、铰孔、攻牙等加工。型腔的不同使铸造件之间的差异过大。因此,在装配其他零部件时需要通过机器视觉或其他辅助手段对铸造件进行精确定位,否则会产生安装不到位、装偏、相互干扰等情况。

对铸造件圆孔或圆面中心的定位是相对常见又比较复杂的一种工序,现阶段仍处于持续不断的探索之中。对光照、算法等进行了一些改进。文献[1]尝试将两个圆锥形光源的中心放在同一个轴上,加强底面中心区域与外轮廓区域的差别。文献[2]通过滤波对筛选区域进行去噪,处理掉毛刺等干扰,其局限性是对待测零件边缘成像质量要求较高。文献[3]作者研发一种找中心算法,即通过在质心周围移动36格子计算最小残差图像来确定中心,该算法对有毛刺圆孔的定位效果较好,对于边缘有缺失圆孔的定位不够准确。文献[4]通过霍夫变换算法获取圆孔的圆心坐标及半径,其也容易受边缘位置缺陷的影响而使中心定位不够准确。文献[5]通过使用欧氏距离变换计算得到圆心的位置,其缺点是易受异常值的干扰。文献[6-8]先计算出轮廓,然后根据轮廓形态筛选出圆弧并将筛选出来的圆弧进行拟合圆,这种方法的局限是需要线条单一,无法排除较近位置近似圆弧轮廓的干扰。文献[9-11]利用模板实现定位,缺点是背景较为复杂或特征点不够显著时容易出现误匹配。在满足组装精度要求的情况下,采用三维扫描仪进行检测的价格一般为工业相机的几十倍。

为解决上述问题,本文提出基于Halcon的圆形卡尺测量工具和最小二乘圆弧逼近的拟合方法获取圆形轮廓,从而得到圆形部件的中心点位置。

1" 总体方案设计

在智能组装气缸盖生产线中,通过使用机械手工夹取各种零件配合检测台、压装台等完成气缸盖的一系列自动组装作业。在对气缸盖进行气门安装、闷盖安装、护套压装时均需较高的安装精度,为此设计一套基于机器视觉的圆形部件中心点定位系统辅助机械手定位,助力其顺利完成组装工作。

在圆形部件中心点定位系统中,根据对目标物体尺寸、所需精度、表面成像效果等条件的分析,选取分辨率为2 048×2 048像素,靶面尺寸为1英寸的Gige接口工业相机,搭配焦距为25 mm的定焦工业镜头,通过机械连接件将工业相机固定于机械手第六轴末端的法兰上。镜头前端嵌套一个环形白色LED面光源,光源内径为50 mm,外径为120 mm。相机视野中心与光源中心处于同一轴上。

设置完视觉检测所需的条件后,使用Halcon的圆点标定板对视觉系统进行手眼标定,采集14~25张标定板图像和机械手坐标,获得标定矩阵,以便后续计算圆形部件中心点在机械手坐标系下的坐标。

标定完成后,将机械手移动至待测目标物体的正上方,打开光源,设置合适的亮度,调整相机的曝光时间,使边缘轮廓成像最佳,对待测圆形零部件进行图像采集。圆形部件中心定位检测流程如图1所示。

2" 圆孔中心定位检测流程

采用基于Halcon的二维图像圆形中心点的检测方法来实现圆形部件中心的定位,主要包括以下步骤。

2.1" 图像裁切和预处理

首先通过裁剪算子reduce_domain()切割出圆形零部件所在的区域,然后通过调用threshold()算子进行灰度值分析和阈值分割。

阈值分割可由式(1)表示[12]:

其中,g(x, y)表示输入图像,f (x, y)表示输出图

像,K表示阈值,1表示选中区域,0表示背景区域。

对选中区域使用腐蚀算子erosion_rectangle1(),对该区域边缘位置进行预处理,去除掉毛边、瑕疵等干扰。腐蚀算子可由式(2)表示:

其中,A表示原始图像,B表示形状为矩形的卷积核,用B覆盖A,得到像素点,用最小值替代原始图像中的像素点,实现A图像腐蚀。

再使用膨胀算子dilation_rectangle1()扩大该区域边缘范围,分割出需要计算的目标圆形部件边缘所在的区域,如图2所示。膨胀算子可由式(3)表示:

其中,A表示原始图像,B表示形状为矩形的卷积核,对A和B进行与运算,即用B去替代A中的每一个像素点,实现A图像的膨胀。

2.2" 拟合圆计算

为获取较为精确的圆形边缘,需要对卡尺测量工具进行以下操作:

1)动态添加卡尺并设置测量范围。通过步骤一的操作得到主区域,使用区域中心计算算子area_center()得到该区域的中心点(Row,Column),将其作为卡尺测量工具的中心点位置,即可实现根据目标部件出现的位置来设置卡尺,以便在目标部件位置不固定的情况下也能将目标部件的边缘准确识别出来。

使用add_metrology_object_circle_measure()算子设置卡尺工具的测量范围,使卡尺工具检测范围覆盖目标边缘可能出现的区域,如图3(a)所示为测量范围。根据图像边缘灰度值范围,将平滑图像灰度值的标准偏差MeasureSigma设置为1,将最小边缘振幅MeasureThreshold设置为15。

2)设置查找边缘的数量。通过使用set_metrology_object_param(MetrologyHandle, CircleIndex, num_instances, 2)算子设置找圆的个数为2,即测量卡尺检测输出两个圆,如图4所示。

3)获取测量结果。使用get_metrology_object_result_contour()算子获取测量结果Contour;使用算子get_metrology_object_measures (Contours, MetrologyHandle, all, all, Rows, Columns)获得所有边缘点集合,即(Rows,Columns)。

圆形卡尺工具的检测原理:设置无数个小矩形检测区域,如图2(b)放大效果图所示,无数个小矩形经过旋转形成环形检测范围,如图2(a)所示。每个小矩形都对该区域的图像进行明暗变化分析,通过对MeasureSigma和MeasureThreshold的参数限制,检测出所有可能的边缘点,即卡尺栅格与图像区域的交点集,如图2(c)放大效果图所示。栅格的步长越小,所得到的交点集越密集,最后拟合的圆轮廓越精确。

4)拟合圆。使用fit_circle_contour_xld(Contour, algebraic, -1, 0, 0, 3, 2, RowCircle, ColumnCircle, RadiusCircle, StartPhi, EndPhi, PointOrder)算子得到圆的中心点坐标(RowCircle, ColumnCircle)和半径RadiusCircle数据。而算子fit_circle_contour_xld ()支持algebraic、ahuber、atukey、geometric、geohuber、geotukey这6种方式拟合圆。实验过程中共采集650张图像,排除掉过暴、过暗以及锈腐过于严重无法拟合的图像52张,对剩下的598张图像进行中心点计算分析。分别统计拟合圆形边缘距离实际边缘的像素值,如表1所示,分别统计了3~5像素偏移、5~10像素偏移、20以上像素偏移以及识别错误的图像(仅识别到一个圆)数量。经综合比较,algebraic的准确率相对更高,因此,采用最小二乘圆弧逼近的拟合方法,较为适合本文中所示圆形部件中点的检测。

曲线进行圆弧逼近的圆方程可由式(4)表示[13]:

则曲线上第i点对圆弧的误差可由式(5)表示:

因此,只需令逼近圆弧对圆上每个点误差的平方和最小,就能保证该圆弧无限逼近圆。

通过求极值和消元,计算得到A、B、C这3个常量,从而得到圆心(A,B)和半径 。

2.3" 圆形轮廓筛选

检测图像周围轮廓线条相对复杂,目标圆附近易受其他圆形轮廓的影响,如果只输出一个圆,在检测结果的圆集合中,圆度分值最高的圆会被检测出来,结果具有不确定性

经过分析,容易出现误检的位置是距离目标轮廓最近的外接圆,为解决这一问题,此步骤检测的目的是找到两个圆,通过判断圆的半径值筛选出两个圆中半径较小的圆,获得其序列号Min。如果检测结果是仅找到一个圆,那么这个圆就被默认为是目标圆,直接用于后续计算。

2.4" 筛选后所得到圆的生成和显示

使用gen_circle_contour_xld ()算子计算出最小圆的轮廓ContCircleMin,然后使用div_display ()算子进行显示,通过观察轮廓边缘与实际目标轮廓的偏离情况,验证其是否为最终所求目标轮廓。如图5所示,所求圆形轮廓与实际目标轮廓相符,目标中心点坐标即为(RowCircle[Min], ColumnCircle[Min]),此时的坐标为图像中的像素坐标。

2.5" 图像坐标转化为机械手坐标系

使用image_points_to_world_plane ()算子将中心点的像素坐标转化为世界坐标系。使用手眼标定矩阵和affine_trans_point_3d ()算子以及矩阵转化算子计算出圆形部件中心点位于机械手基坐标系下的坐标。

3" 算法验证及分析

由于机械手的重复精度很高,采用机械手的数据作为标准值与图像定位结果进行比对,验证误差值范围。验证步骤如下:

1)移动机械手末端位于待定位圆形部件上方,工业相机视野范围包含需定位的圆形部件图像即A位置,记录此时的机械手坐标A(Ax,Ay)。视觉系统打开光源,采集图像,计算此时的图像中心点坐标,并通过手眼标定矩阵将图像中心点像素坐标转化为机械手坐标系,记录此坐标系下的坐标P1(Px1,Py1)。

2)相机视野仍然包含待定位圆形部件图像,移动机械手末端至B位置时记录此时机械手坐标B(Bx,By),视觉系统再次采集图像,经过转化得到新的机械手坐标系下的点坐标P2(Px2,Py2)。

3)将通过图像算法得到的差值(P1 - P2)与机械手移动的距离(A - B)进行比对,以验证图像的计算精度Dx = (Px1 - Px2) - (Ax - Bx)和Dy = (Py1 - Py2) - (Ay - By),如表1所示。

由于工业相机的视野范围较小,且在位置A和B时都需要采集到完整的圆形部件图像,所以A、B位置的可移动范围相对较小。

由表2可知,最大误差为0.24 mm,经过计算,x轴和y轴上平均误差为0.106 mm和0.064 mm,满足气缸盖的装配要求。

除上面的检测需求外,此算法还适用于以下几种情况:

1)周围背景复杂,有其他圆弧状轮廓干扰。

2)圆形轮廓周围的对比度较低,很难直接通过阈值分割、中值滤波、高斯滤波等方法得到可靠的轮廓线条。

3)复杂嵌套,由于铸造件的结构问题造成内外嵌套多层圆环形干扰。

4)圆形部件内部有污染或异物,圆形边缘有损伤、锈腐等非闭合区域。

5)有较大缺口或有倒角干扰造成阴影。

6)齿轮外轮廓不连续,但在同一个圆上。采用其他方法进行齿轮外轮廓的提取是非常烦琐和复杂的,齿轮外轮廓在圆上,因此采用此算法进行检测是比较高效的,即便是仅采集到部分齿轮的图像,也可以十分准确地将齿轮外边缘所在的圆提取出来。在对齿轮边缘进行圆拟合时,需要关注圆形卡尺的步长设置,不是卡尺的步长越密集越好,而是需要卡尺栅格与齿轮的最外沿有尽可能多的交点。从图6中可以看出,该算法的鲁棒性较强,以上几种情况都能适用。

4" 结" 论

针对圆形部件中心点定位检测系统,文中提出了基于区域分割和卡尺测量工具相结合的方法,再结合代数逼近拟合圆方法得到圆形轮廓,确定圆形部件的中心点位置。实验结果表明,这种定位方法的定位精度较高,定位误差在0.2 mm左右,在允许的误差范围内,满足装配要求,同时这种方法对光照及边缘缺陷的抗干扰能力强,检测结果比较稳定,其在复杂工业组装环境中的适用性较强,具有广阔的应用前景。

参考文献:

[1] CHEN T J,WANG Y N,XIAO C Y,et al. A Machine Vision Apparatus and Method for Can-End Inspection [J].IEEE Transactions on Instrumentation and Measurement,2016,65(9):2055−2066.

[2] 金华强,廖强.一种基于机器视觉的圆孔边缘跟踪方法 [J].电子设计工程,2019,27(21):172-176.

[3] 邓斌攸,池志强,潘云峰,等.家具板件圆形孔位的机器视觉在线检测算法 [J].木材科学与技术,2022,36(2):60-64.

[4] 聂箫,王锋,王涛,等.霍夫变换在接触线磨耗检测算法中的应用 [J].机车电传动,2022(4):140-145.

[5] 朱文彬,顾红,朱晓春.一种用于PCB板圆孔的快速定位检测方法:CN105787939B [P].2019-05-14.

[6] 马超,曹国华,丁红昌.基于工业机器人的图像引导圆孔定位方法 [J].机床与液压,2023,51(3):50-56.

[7] 党长营,贾立功,曾志强,等.基于机器视觉的双金属铸件圆孔测量方法 [J].制造技术与机床,2021(6):96-99.

[8] 殷春华,杨宏韬,赵爱国,等.复杂背景下基于Halcon的刹车盘视觉检测 [J].现代电子技术,2019,42(17):49-52.

[9] 廖秉旺,林文煜.基于Halcon的工件视觉分拣系统 [J].现代信息科技,2021,5(1):156-158.

[10] 张毅.基于Halcon的零件分拣系统在钢结构行业应用的研究 [D].青岛:青岛理工大学,2022.

[11] BUTT S I,ASGHER U,MUSHTAQ U,et al. Intelligent Machine Vision Based Modeling and Positioning System in Sand Casting Process [J/OL].Advances in Materials Science and Engineering,2017[2013-08-05].https://www.hindawi.com/journals/amse/2017/3192672.

[12] 张尧.基于互信息的特征选择方法研究 [D].西安:西安理工大学,2019.

[13] 乐英,韩庆瑶,王璋奇.数控加工中非圆曲线的最小二乘圆弧逼近 [J].华北电力大学学报,2006(6):102-104.

作者简介:孙红芳(1988—),女,汉族,河北唐山人,工程师,本科,研究方向:机器视觉、人工智能

标签:  圆形 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor