APP下载

基于机器视觉的动铁装配检测研究

2022-01-12庞爱民陈家浩

中州大学学报 2021年6期
关键词:角点装配线轮廓

李 浩,庞爱民,黄 攀,陈家浩,张 熙

(武汉纺织大学 机械工程与自动化学院,湖北 武汉 430070)

0 引言

目前大批量的服饰绣花主要是用电子提花机加工[1-2],提花龙头是电子提花机中的关键零件之一,由8块提花面板总成叠加而成。提花面板的装配工艺较为复杂,提花面板的组成包括动铁,弹簧,复位键,电磁铁芯,滑轮组合5个零件。虽已实现提花面板的自动装配,但由于装配过程中的不确定因素,零件的装配会出现漏装错装等现象,其中一个零件的装配出错将会打乱整个提花面板装配线节拍,如不及时检测每个零件的装配合格性,将无法保证提花面板的装配良品率。目前的防错检测是采用人工检测,每个装配工位后都配备一个检测人员,根据装配线的节拍划分,每个零件装配完成到另一个零件的装配间隔只有2s,检测员要在2s内完成对该零件装配的检测。检测环节具有高时效性,高重复性的难点,检测人员难免会出现错检漏检等现象,因此快速准确的零件装配检测十分重要。

机器视觉技术时至今日应用尤为广泛,不少业内人士都对零件装配检测进行相关研究。任永强等[3]设计了一种基于机器视觉的差速器卡簧装配检测系统,提出改进的快速检测圆形轮廓方法,通过判断卡簧双耳圆心距离判断装配合格与否。李勇[4]设计了一种基于机器视觉的汽车车门锁拉簧装配状态检测系统,分析对比了基于模板匹配和基于SVM检测的方法效果,得出基于SVM的检测准确度更高。侯天龙等[5]设计了一种基于机器视觉的高铁白车身装配质量检测系统,提出根据像素坐标与物理坐标的映射关系实现了车身装配质量检测。吴亚渝等[6]设计了油气悬挂液压装配检测系统,通过机器视觉和压力传感器获取工件状态信息,实现了其中几个关键工件的检测。目前国内外少有针对异形零件的装配检测相关视觉方案,本文以提花面板的动铁装配检测为例,设计了一种视觉检测系统,可有效避免人工检测过度用眼产生的视觉疲劳,长时间做单一重复性工作引发的循环工作乏力期等现象,显著提高检测正确率,并可根据装配线节拍要求柔性调节检测时间,大大提高自动装配线的生产效率[7]。

1 视觉检测系统

1.1 动铁检测分析

动铁及提花面板的三维建模如图1(a),动铁为异形金属件,尺寸约为45mm*4mm*3mm,上半部分的两个凸齿称为动铁卡爪,用于固定下一装配零件弹簧,中间镂空圆孔部分为装配孔,用以配合提花面板上的装配轴完成装配,下半部分为动铁卡勾。提花面板为黑色长条状ABS塑料件,尺寸为310mm*35mm*7mm,其上有各个零件的装配预留位置,提花面板中间镂空类矩形框可减轻面板重量。提花面板上的动铁装配示意图如图1(b),以动铁卡爪中心点与提花面板类矩形框中心点作为参考点,动铁装配合格时,动铁卡爪朝上方,卡爪中心点与提花面板中类矩形框中心点的距离较近,动铁倒装时,动铁卡爪朝下方,卡爪中心点与提花面板中类矩形框中心点的距离较远。利用这一实际情况,可通过提取面板中的类矩形框中心坐标与动铁卡爪中心坐标,计算两点直线距离判断动铁的装配合格与否。

图1 动铁及装配示意

1.2 方案设计

检测系统包括机械结构部分和图像处理两大部分。涉及的硬件主要包括相机、光源、计算机、光电开关,PLC控制设备以及流水线装置等,软件主要包括图像处理算法和软件的编写。

整体机械结构如图2。因PLC控制系统具有高可靠性、实时性、系统配置简单、编程易于实现、扩展模块丰富、通讯方式可选且价格相对低廉等优势[8],选取西门子S7-2000作为控制系统的核心。光电开关采用M18红外漫反射NPN型,阻挡装置、抬升气缸通过双控电磁阀由PLC控制启动和复位,计算机通过以太网与PLC互联,控制工业相机的图像采集,PLC根据计算机输出的检测合格与否的信号执行预先设定好的相关程序。系统的控制原理如图3。

图2 系统的机械结构1光电开关 2抬升气缸 3工装板 4提花面板 5支架 6相机与光源 7阻挡装置 8流水线

图3 系统控制原理图

检测流程如图4。具体检测步骤为:1)工装板在即将进入视觉检测平台时触动流水线上的光电开关,阻挡装置升起阻止工装板随流水线进入下一个装配工位;2)3s后完全进入视觉检测平台,抬升气缸运行将工装板抬离流水线;3)工业相机拍照,通过计算机检测动铁装配情况;4)若装配合格,抬升气缸复位将工装板置于流水线上,阻挡气缸下降放行,工装板随流水线进入下一个装配工位;5)若检测装配不合格,则装配线急停同时发出警报等待工人处理。

图4 检测流程

2 图像处理

2.1 视觉检测

首先,PLC控制相机拍摄待检测彩色原图像。其次,计算机对图像进行预处理,然后提取提花面板类矩形框轮廓,记录其中心坐标。接着,进行动铁卡爪的定位,记录卡爪中心坐标。最后,通过计算两中心坐标的距离判断动铁的漏装错装,如图5。

图5 图像处理流程

作为获取图像的直接元器件,若通过相机能得到高质量的图像,会给后续的图像处理带来便利。考虑到被检测工件以及工厂环境等诸多因素,选取某品牌的CMOS工业相机,工作距离350mm,视野范围50*80mm,分辨率800*1000,像素130万,配备50mm的中焦距普通镜头。光源配备环形白色二极管,安装方式为正面明场[9],优势有:1)环形光源与相机同心安装,光照均匀;2)白色光可更好突出动铁表面为银白色,提花面板为黑色的颜色差异;3)发光二极管功耗低,寿命长,成本小。

2.2 图像预处理

经适合的预处理对后续的图像轮廓提取等有着至关重要的作用。图像预处理流程如图6,包括图像裁剪、灰度化和高斯滤波、二值化以及形态学处理中的开运算。

图6 图像预处理流程

首先,因拍摄方式及位置固定,为缩小数据处理量,在保留动铁与感兴趣区域的图像特征完整性的同时去除非必要的背景区域,将原图裁剪为630*840的尺寸,然后将彩色图像转换为灰度图。原彩色图像的RGB三分量亮度基本相同,选取平均值法进行灰度转换最为合适,公式为:

Gray(i,j)=[R(i,j)+G(i,j)+B(i,j)]/3

(1)

减弱提花面板和动铁表面加工粗糙度与拍摄环境引起的噪声,对灰度图进行滤波去噪处理。作为一种线性平滑滤波,高斯滤波通过高斯函数实现卷积核中间点的像素权重最大,越远离中间的像素权重越小,从而达到不改变图像边缘走向的特点[10]。因此选取高斯滤波进行去噪处理。其中σ为方差,值越小数据越集中,值越大数据越分散。经多次试验选定窗口为3*3,σ=1.2的高斯核。公式为:

(2)

然后对图像进行二值化处理,把动铁和感兴趣区域与背景分割,得到像素值只有0或255的二值图。二值化公式为:

(3)

其中maxval=255,thresh为阈值分割的临界参数。分割效果的好坏取决于thersh参数的取值,通过图像的灰度直方图获得像素分布情况以为选择合适的二值化算法。如图7,直方图为双峰,迭代法最为合适[11]。

图7 灰度直方图

二值图中存在影响边缘提取质量的毛刺和孔洞,经过开运算处理可以去除大部分毛刺和孔洞。开运算是先腐蚀再膨胀,通过腐蚀消除毛刺和小区域,通过膨胀连接边缘。公式为:

(4)

其中I为前景,K为内部元素只有0和1的二维数组构成的结构元。分别取核为3、5、7的结构元对二值图进行开运算,经效果对比,最终选定核为7的结构元,处理结果如图8(d)。图像的预处理流程如图8所示。

图8 预处理过程图

2.3 类矩形轮廓的提取

常用的边缘检测算子有Prewitt、Sobel-Feldman、Scharr、Laplacian、Canny等[12]。其中Canny有低错误率、高定位性、检测到边缘与实际偏差较小的优势被广泛应用,其运用高斯函数的性质,不丢失重要边缘,将边缘检测问题转换为求解函数极大值的问题。

Canny算子先通过高斯核G(i,j)对图像f(i,j)做卷积,结果输出为H(i,j)。公式为:

(5)

H(i,j)=f(i,j)G(i,j)

(6)

再用一阶偏导的有限差分方向导数,计算梯度大小和方向,公式为:

(7)

(8)

利用非极大值抑制,只有局部最大值保留为边缘。最后根据设定的大小两个阈值,高于大阈值的为确定的边缘,低于小阈值的不是边缘。以图8(d)作为图像f(i,j)进行Canny算子处理,结果如图9(a)所示。

根据图9(a)的结果来看,传统的canny算子进行轮廓提取时,将提取图像中所有连通区域的轮廓,而我们的目的是只保留提花面板的类矩形轮廓。通过以下步骤可去除其他轮廓:1)去除开运算后仍存在的一些小孔洞的轮廓。通过设定提取轮廓面积的最小阈值[13],在提取所有轮廓后将小于设定轮廓面积阈值的部分剔除。2)去除动铁轮廓。通过矩形度来识别动铁轮廓和提花面板类矩形框轮廓,矩形度是轮廓的最小外接矩形面积和轮廓面积的比值[14],因提花面板的类矩形框的形状非常接近矩形,矩形度较大,通过OpenCV中的函数可以很方便地计算两轮廓的矩形度,只保留矩形度较大的轮廓即提花面板的类矩形轮廓。最终结果如图9(b),并记录其中心坐标Q(i,j)。

图9 轮廓提取

2.4 异形零件RIO的提取

异形零件RIO的提取和匹配是图像处理的难点,目前主流的算法首先都要人工确定零件RIO区域,但有些异形零件人工难以确定最优RIO区域,提出通过Harris对零件上的角点进行检测,以零件上各部分区域的角点分布密度确定最优RIO区域,再用Hu矩进行RIO的提取匹配,以异形件动铁为例,算法应有较高的稳定性和准确性。

Harris角点检测[15]是在图像中设置窗口,在图像上遍历,通过窗口内的像素值变化判断是否为角点。如图10,1号窗口朝水平垂直两个方向移动时像素值都不变,判断该窗口区域为内部区域,2号窗口朝水平方向移动,窗口内的像素值发生改变,当窗口朝垂直边缘移动,像素值几乎不改变,判断窗口包含垂直边缘。3号窗口朝任何方向移动,窗口内的像素值都会发生改变,判断窗口内存在角点。

图10 灰度变化窗口

构造相关函数,w(i,j)表示窗口函数,向量[u,v]表示在某方向及该方向上的位移,I(i,j)表示强度,I(i+u,j+v)表示偏移强度,E[u,v]表示窗口平移[u,v]产生的灰度变化,即下式:

(9)

根据泰勒展开式:

转换为矩阵形式得到式:

(10)

令:

(11)

将式11代入式9可得:

(12)

由式11可知M为一个2*2对称矩阵,它的两个特征向量为λ1λ2,λ1λ2的本质为椭圆曲率参数,它们的大小表征了改变向量[u,v]时,E(u,v)改变的幅值。λ1λ2都很大,向量[u,v]在任何方向发生改变,E(u,v)都会发生较大幅值变化,对应角点;λ1λ2一大一小,向量[u,v]在某方向发生改变,E(u,v)才会发生较大幅值变化,对应边缘;λ1λ2都很小,向量[u,v]在任何方向发生改变,E(u,v)都不会发生较大幅值变化,对应内部区域。

利用λ1λ2设定阈值,根据CRF响应函数:

R=detM-k(traceM)2

(13)

其中detM=λ1*λ2为矩阵M的行列式,K是经验取值范围为0.04~0.06[16],TraceM=λ1+λ2为矩阵M的迹。图10为二值图,取K=0.05,经多次试验选定阈值R=1000,当R>10000,对应角点;当R<-10000,对应边缘;当-10000≤R≤10000,对应内部区域。

上一部分已经完成了对图像中所有轮廓的识别,首先填充除动铁轮廓外的所有其他轮廓,结果如图所示11(a)所示。Harris角点检测提取图11(a)中的角点,用“·”表示出来,结果如图11(b)所示,可知动铁的外轮廓上角点的分布情况,其中动铁中间部分装配孔上存在大量角点,角点分布太密集,不适合作为RIO区域,其他部分几乎没有角点分布,只有动铁卡爪跟动铁卡勾部分的角点密度适中,具有较好的动铁特征,作为动铁RIO区域最为合适。根据动铁外轮廓尺寸,设置一个大小为60*65的窗口,遍历图像,计算窗口中存在的角点密度,将密度符合的窗口都保存下来。部分结果如图11(c)所示。

图11 动铁RIO的选取

Hu几何矩表征图像的几何区域特征,应用于图像的特征提取、匹配和识别,具有平移、旋转、缩放、镜像不变性,简称为Hu矩[17-18]。

在图11(a)中截取窗口大小为60*65的包含动铁RIO特征的图像,如图12(a)所示,若该图像表示为:A=f(i,j),其二维(p+q)阶空间矩为:

(14)

具有平移不变性的中心矩为:

(15)

具有缩放不变性的标准中心矩为:

(16)

由以上公式可推导出Hu矩:

计算图11(c)中每个待选框中轮廓的Hu矩B1,B2…Bn,与A进行匹配,进行差异度计算,公式为:

(17)

图12 动铁RIO的提取

对以上改进算法与直接人工选取RIO进行提取匹配的两种方案分别进行实验500次,实验结果:改进算法的平均用时为213ms,正确率为100%;人工选取RIO方案平均用时为250ms,正确率为91%。结果证明提出的算法具有较高的稳定性、准确性。

2.5 距离计算

通过两点间距离公式计算Q,Z两坐标的距离:

(18)

动铁装配合格时Q,Z两中心点距离较小,根据实际情况取距离D的范围为275—295,在此范围内的距离均视为装配合格。

3 视觉防错检测软件

Jupyter是交互性、数据可视化出众的Python代码编辑器[19],以Python作为编程语言,结合Open CV视觉库通过Jupyter环境编写代码开发视觉检测软件[20]。封装Python代码,打包成exe格式win系统可执行文件,软件参数设定界面与装配检测界面如图13、14所示。工人可以根据实际情况对函数参数进行调整,查看或者删除检测结果。界面清爽,操作简单方便易上手。

图13 参数设定

4 实验与结果分析

将视觉检测平台与装配线结合,运行装配线和检测平台,实验检测系统的准确性和稳定性,部分记录数据如表1所示。多次进行实验,分析数据可知检测正确率达99.7%,且用时符合在线检测标准。分析检测失败的数据,总结出以下干扰因素:

表1 部分实验数据

图14 检测结果

(a)装配流水线运行稳定性;

(b)外界光线和噪声等环境影响;

(c)动铁与提花面板表面加工粗糙度;

(d)阻挡装置与抬升气缸定位精度与稳定性;

(e)光源与相机位置精度的稳定性;

(f)光源与工业相机的老化。

5 结论

基于提花面板装配线上动铁防错的人工检测现状,设计了针对该工位的视觉检测系统。对采集的图像进行预处理,通过Canny算子提取提花面板上的类矩形框及其中心坐标,通过Harris角点与Hu矩结合改进的算法获取动铁卡爪中心坐标,计算两中心坐标的距离判断动铁是否倒装,选用Python作为编程语言,结合Open CV图像处理库开发检测软件,实验证明系统的正确率达99.7%。相较于人工检测,提高了装配线的自动化程度和生产效率,减小了企业成本。目前系统已投入装配线实际应用,且性能可靠。

猜你喜欢

角点装配线轮廓
一种改进的自适应FAST 角点检测算法
汽车装配线在线返修策略重组研究与实施
面向成本的装配线平衡改进遗传算法
多支撑区域模式化融合角点检测算法仿真
基于点云聚类的垛型角点检测方法
角点检测技术综述①
跟踪导练(三)
浩丰喷涂车间装配线优化研究
辊子装配线专用压力机研究与应用
儿童筒笔画