基于机器视觉的航空插头焊杯定位
2022-07-20蔡文龙李文忠
蔡文龙,赵 振*,李文忠
(1. 北华航天工业学院电子与控制工程学院,河北 廊坊 065000;2. 河北科技大学,河北 石家庄 050054)
1 引言
航空插头是航天工业领域中联系集成控制和器械驱动网络的重要精密元件,随着航天事业的快速发展,航空插头在航天工业领域中的应用非常广泛。航天飞行器在太空复杂环境下作业时,航空插头焊接的可靠性与稳定性影响着整个航天飞行系统的安全性。当下航空插头焊接作业主要遵循人力焊接的焊接模式,这种焊接方式焊接精度不高,误差大且错误率较高。随着人工智能技术的迅速发展,航空插头的自动焊接技术成为航天焊接领域的重要研究方向,其中自动焊接的关键是航空插头焊杯的准确定位。
航空插头的型号众多,焊杯点位较多且位置排列不规则,采用人工测量输入的方法耗时耗力且效率低下。随着人工机器识别、模式识别及数字图像处理等图像处理技术的高速发展,前沿算法不断成熟,各类机器视觉检测算法和新型设备在各类工业领域的用途愈发广泛。应用摄像头等图像获取设备模拟人眼进行图像处理和状态判别的机器视觉技术以其具有抗环境因素强,矫正处理质量优良,接受图像质量和时效性强等优点被广泛应用于工业生产控制领域。本文使用机器视觉对航空插头焊杯进行识别定位。使用OpenCV对采集的图像进行预处理后进行焊杯点位的识别,最后使用加权灰度质心法获取焊杯的坐标,实现焊杯定位。
2 航空插头焊杯定位
2. 1 定位流程分析
本文设计的航空插头焊杯定位流程主要由环境搭建、相机标定、图像采集、图像预处理、焊杯图像识别及其焊杯坐标定位等多项工作组成,全局流程如图1所示。
图1 航空插头焊杯定位流程图
首先选择实验需要的工业相机、镜头和光源,根据视觉硬件参数计算机械结构的尺寸,结合航空插头的位置,搭建合适的环境。由于本文主要研究的是航空插头的焊杯定位问题,因此,需要确认相机的基准标定原点,通过原点矫正等操作得到摄像头内部参数和外部参数,进而对摄像头采集到主机的图像进行畸变判断,若发生畸变则需要及时更新位置信息对图像进行位置校正。为了提高焊杯定位的准确率,所采集图像质量的好坏对后续的处理有较大的影响,为此,间隔采集两幅图像,当两幅图像完全一致时采用后一幅图像作为待处理的图像,对采集的图像进行预处理,然后进行航空插头焊杯的识别,准确识别出焊杯之后根据焊杯信息寻找焊杯轮廓,根据轮廓信息实现焊杯定位。
2.2 相机标定
在图像测量时首先需要对相机进行标定,因为采集图像的相机可能因为质量等原因会出现不同程度的畸变,这会影响测量的精准度。本文的相机校准采用张正友标定法,校准过程如下:
1)使用Python代码编写一个8行8列、大小为10 mm*10 mm的黑白棋盘,打印并贴在亚克力板上;
2)通过移动平台或相机从不同角度拍摄15张图片;
3)获取所有图片的角点;
4)计算出相机的内部参数和外部参数;
5)根据参数分析图像畸变情况,从而校正图像。
相机的内部参数矩阵为
(1)
2.3 图像预处理
使用摄像头采集到的图像原像精度低,可辨识性差,不具备利用机器视觉进行识别的条件,需要进行图像预处理以提高图像处理的速度和精度。本文对航空插头图像进行预处理的工作包括灰度化、噪声去除以及背景去除等过程。
2.3.1 灰度化
摄像头采集的图像原像都是RGB的彩色图像,包含的信息量非常大,直接处理计算量会变大,耗费更多时间,对识别的精度产生不利影响,而航空插头焊杯定位的过程中不需要冗余色彩信息,因此,采用将图像转换为灰度图像的处理方法以降低图像识别的处理量,缩短计算时间,提高识别精度。
将采集的图像像素点的红、绿、蓝各个色区的色域分量进行加权值平均计算,得到图像灰度处理后对应的该像素点的像素值。
f
(i
,j
)=0.
299R
(i
,j
)+0.
587G
(i
,j
)+0.
114B
(i
,j
)(2)
2.3.2 图像滤波
在采集航空插头图像时,可能会出现不同类型的噪声。为了提高焊杯定位的精准度,得到高质量的图像,需要通过滤波的方式去除噪声。
通过研究发现,均值、高斯以及中值滤波,虽然能够滤除这些噪声但发现图像出现了一定的模糊,这会对焊杯的精准定位产生影响。而本文选用的双边滤波方法既达到了滤波的效果又保护了航空插头焊杯图像的完整性,为后续焊杯识别及定位提供了基础。
2.3.3 背景去除
采集的航空插头图像中不仅包含需要处理的焊杯,还包含方形外壳和金色圆圈等干扰信息,极大地提高了焊杯定位的操作难度。需要进行图像背景去除以排除焊杯之外的其它信息对识别的干扰。
由于待检测焊杯按圆形排列且焊杯外表面有一个圆形垫圈,可以使用Hough圆得到ROI区域。算法如下:
1)使用np.zeros()函数创建一个与原始图像各项参数值相符的新图。
2)对滤波后的图像进行Canny边缘检测,然后使用函数HoughCircles()获取航空插头圆形轮廓的圆心和半径,为了避免同心圆的干扰,把参数圆心间的最小距离设置为200。
地质工程中,由于节理和地质分割等构成了结构面,这使得地质项目工程的风险具有较为明显的多变性和复杂性。另外,该风险不仅与地质本身有着十分密切的联系,也与人为的不规范操作有关。同时,外部因素也会对项目工程产生负面影响,进而阻碍工程建设的正常进行。
3)使用得到的圆心和半径在步骤1)中创建的图像上绘制圆,获取ROI区域,为了去除焊杯外的所有干扰信息,在绘制圆时对半径减去20个像素,通过填充的方式把ROI区域变为全白色。
4)把ROI区域图像与滤波后的图像进行操作,便可得到一个去除背景的航空插头图像。图2为去除背景后的图像。
图2 图像背景去除
2.3.4 图像增强
本文使用P48K6Q系列航空插头作为研究对象,其底板均为黑色,在完成去除背景之后,图像整体变暗,不利于焊杯插头的定位,因此,需要对阴影孔径进行亮度补光处理,以提升对应焊杯孔的色彩对比度和清晰度。
g
(i
,j
)=α
*f
′(i
,j
)+β
(3)
其中,f
′(i
,j
)为经背景剔除后的图像像素,g
(i
,j
)为经算法处理补光后的图像像素,参数α
和β
通常称为增益和偏差参数,用于控制对比度和亮度。图3为经过增强处理后的图像。图3 图像增强
2.4 焊杯识别
焊杯的识别是焊杯定位成功的关键,只有正确识别出所有焊杯,才可以较好地定位出每个焊杯。图像前景与图像背景的分离识别需要由灰度阈值来切割,从而得到焊杯焊点图像,本文采用阈值分割法实现焊杯的分割。
2.
4.
1 阈值分割阈值分割法因其划分图像色域明晰、分割速度快、算法实现容易等特点使其成为图像分割的首选方法,很多图像通过单次阈值化就能完成分割。
(4)
其中,F
(i
,j
)是(i
,j
)点阈值分割后的像素值,Thd
是阈值。阈值分割首先需要计算Thd
,最大类间方差法和最大熵阈值法是最常用的方法,本文通过对比两种方法在光照变化时的稳定性进行选取。最大类间方差法的主要思想是基于待分割部分的对立特征对图像进行分割,为通过类方差法求得分割图像,要将图像分为前景与背景两个区域,这依赖于采集图像的灰度特征。若所用于对比并使用的灰度图像具有良好的二值效果,则通过类方差算法得到的分割效果越好,对两区域的循环计算所设定分割条件下的最大方差,以逐次寻优的方案寻找最优化阈值,便可以实现对图像的分割。最大熵阈值法也是同样的分割思想,只是需要计算两部分的熵,然后通过熵的最大值来计算Thd
。在光照较暗、光照正常以及光照较强三种情况下,使用两种方法进行焊杯分割,最大类间方差法在三种光照条件下都能较好地完成分割,而最大熵阈值法在照明改变时,分割效果并不太理想,并且使用了log函数,使得计算时间较长,所以选择最大类间方差法计算Thd。
2.4.2 形态学处理
在光照较强时发现最大类间方法分割的图像中个别焊杯会出现毛刺,这个毛刺在轮廓寻找时会被当作轮廓信息,从而影响焊杯定位。可以通过形态学的腐蚀操作去除毛刺,但为了保持图像形状大小不发生变化,还需要使用同样大小的kerenl进行膨胀操作,本文选取3x3的kerenl进行形态学操作。
2.5 焊杯定位
利用Opencv采集轮廓信息来获取焊杯坐标,焊杯识别后的图像分割出了所有的焊杯,通过轮廓寻找以获取每个焊杯的轮廓信息,根据轮廓信息便可完成对焊杯的定位。
阈值分割后的航空插头图像,只剩下焊杯的信息,使用Opencv提供的findContours()对其进行轮廓查找便可获得焊杯的轮廓信息,然后通过轮廓绘制函数drawContours()绘制出焊杯基本的轮廓。焊杯的轮廓信息是以列表形式存放各个焊杯轮廓的坐标点,根据这些坐标点,使用加权灰度质心法便可得到焊杯的圆心坐标,实现焊杯定位。图4为焊杯的轮廓图。
图4 焊杯的轮廓图
3 结果分析
本文选取航空插头的1号、5号、10号、15号及20号焊杯,在三种不同灯光下获取焊杯定位的最大偏差值,结果如表1所示。
表1 焊杯定位偏差值
根据表1可知,在光照条件发生改变时,本文方法的焊杯定位偏差值始终低于1个像素,偏差值较低,说明本文方法实现了较高精度的焊杯定位。这是由于该方法在航空插头图像预处理中,通过灰度化、噪声去除以及背景去除等操作,降低了干扰因素对图像处理结果的影响,进而提升了定位精度。
为了进一步验证本文方法的有效性,在图像处理中选取一张原始图像,对其进行处理,获取处理后的图像,并与原始图像进行对比,结果如图5所示。
图5 图像处理结果
通过对比图5中的两幅图像可知,处理后的图像并没有发生较大的畸变情况,可以保持图像的细节信息,说明图像处理效果较好。
4 结束语
在航空插头的自动焊接技术中,使用机器视觉实现焊杯的准确定位是焊接成功的关键,本文使用Opencv结合python编程语言编写并实现图像采集和处理,成功得到待采集航空插头焊杯全覆盖坐标信息,分析每一步输出的图像以及最后的焊杯坐标,并得到定位结果。实验结果表明,本文方法是定位结果精度较高,能够满足自动焊接的要求。虽然本文方法取得了一定的进步,但是没有对定位效率进行深入研究,为了进一步提升定位方法的应用价值,接下来将以提升定位效率为重点进行深度研究。