戴斌宇,吴静静∗
(1.江南大学机械工程学院,江苏 无锡214122;2.江苏省食品先进制造装备技术重点实验室,江苏 无锡214122)
发动机定子是汽车上的一个重要零件,它由粉末冶金材料制造而成。在加工过程中,定子表面易留下磕伤、划伤、砂眼、缺料等缺陷,而这些缺陷分布的位置较随机,在工件的端面和齿面都有一定概率出现。目前市场上普遍以人工目检的方式来对定子表面进行缺陷检测,这种方式存在效率低,准确率易受主观因素影响,易造成视觉疲劳等缺点。基于机器视觉的检测技术可以克服这一缺点[1],将其运用到定子外观缺陷检测的研究中,能够很好的代替人工,提高检测效率和稳定性。
目前,机器视觉技术在工业在线检测[2]、测量[3-4]的应用逐渐广泛,国内外的许多研究人员也对此进行了大量研究。李丹[1]等提出基于机器视觉的柔性包装袋缺陷检测的方法,对产品整体外形和内部印刷缺陷实时检测,但是该算法的运用对象是柔性包装袋,并非金属工件。王义文[6]等通过重绘圆形轮廓外接矩形,获取感兴趣区域,再利用图像差分法实现钢球表面缺陷的特征提取,但是钢球的结构形状相对定子工件较为简单。
因此,为提高定子工件外观缺陷检测的精度和效率,实现定子工件外观的自动化检测,针对定子图像中背景复杂、内部干扰较多的特点,本文利用机器视觉设计了一套缺陷检测系统。
硬件系统和软件系统共同构成一个机器视觉检测系统[7]。硬件系统中包含光源、相机、镜头、移载装置和夹具,而软件系统中主要包含图像采集算法和图像处理算法。本文将分别对视觉检测系统的硬件和软件设计进行论述。
定子工件如图1所示,定子表面分为上端面、下端面、上齿面、下齿面以及齿顶面。定子工件表面存在磕伤、划伤、砂眼、缺料等缺陷,缺陷的种类繁多,且分布于工件表面的任意位置,因此需要对整个工件进行外观缺陷检测。为了提高检测效率,并且考虑到各表面检测时光源照射会存在相互干涉,本文设计出一套多工位、多工件同时检测装置完成定子表面图像采集。
图1 定子工件示意图
本文以定子上端面的外观缺陷检测为例,介绍软件系统的工作原理。根据图像特点,针对图像中背景复杂、干扰较多的问题,利用最小二乘法[8]提取圆形ROI,将背景与感兴趣区域分离,并且使用一种基于连通域特征组合方法[9],快速抑制固有字符和槽孔干扰;最后针对边缘缺陷难以检测的问题,提出一种基于轮廓拓扑结构分析的掩模生成算法,并将掩模与待检图像差分[10-11]提取工件表面缺陷特征,从而实现对定子的外观检测。
在设计硬件系统时,需要对相机、镜头和光源进行选型,除了考虑相机视野、检测精度等问题,还需要考虑相机景深的问题,用以提高现场环境下的检测效率[12]。根据实际工件端面外圆直径为81 mm,齿顶高9 mm,要求检测缺陷最小尺寸为0.5 mm×0.5 mm,选择Basler面阵相机acA2440-20gm,线性扫描相机 ral4096-24gm,面阵相机配套选用Computer MACRO 10X工业镜头,端面选择蓝色环形光照明,齿面选择高亮线性光源照明。
在采集各表面图像时,为了避免图像质量受到其他表面照射光源光线的影响,并且考虑到提高检测的效率,设计分工位、多个工件同时检测的方式,对定子各表面进行图像采集和检测。为增强缺陷与工件的对比度,本文设计通过面阵相机对端面进行多次旋转采集图像;考虑定子工件呈圆柱状的结构特征,上齿面存在一定圆弧,本文设计通过线性扫描相机对工件进行齿面图像采集,工件图像采集系统如图2所示。
图2 图像采集系统
系统分为上端面检测工位,齿面检测工位和下端面检测工位,依次进行图像采集并处理,实现对整个定子工件的外观缺陷检测,系统工作流程如图3所示。
图3 硬件系统工作流程
Step 1 在上端面检测工位,由PLC控制电机带动No.1工件转动,多次拍摄完成上端面图像采集,工业计算机实时处理图像,并反馈结果给PLC;
Step 2 上端面检测完成后,移载No.1工件至齿面检测工位。PLC控制伺服电机转动,旋转工件,并且发送脉冲触发线性扫描相机,完成上下齿面和齿顶面的图像采集,工业计算机实时处理图像,并反馈结果给PLC。与此同时,No.2工件开始上端面外观检测;
Step 3 齿面检测完成后,移载No.1工件至下端面检测工位。PLC控制机械手转动工件,多次拍摄完成下端面图像采集,工业计算机实时处理图像,并反馈结果给PLC。与此同时,No.2工件开始齿面外观检测,No.3工件开始上端面外观检测。
由硬件系统采集到的定子工件图像如图4所示。由图可以看出,感兴趣区域外部存在托盘、夹具和齿面区域等干扰;同时,其内部还存在字符、槽孔以及凹坑等干扰。针对这些问题,本软件系统设计了一套定子表面缺陷检测算法。
图4 定子工件表面图像及干扰图像
本文将对端面图像检测算法展开介绍。对于采集到的图像,首先选用中值滤波去除图像中的椒盐噪声,同时为提高处理速度,对二值图像进行缩放;再利用最小二乘法,将目标检测区域与背景分离,提取圆形ROI;然后对ROI内连通域进行分析,根据组合特征抑制工件上的固有干扰;最后基于轮廓拓扑结构分析生成掩模,缩放还原后与待检图像作差,对差异图作斑块分析判断缺陷,算法流程如图5所示。
图5 软件算法流程图
端面工位图像中,除了端面感兴趣区域,还包含夹具、托盘和齿面部位等背景区域,需要将这些背景区域进行抑制,保留目标端面区域。由于加工工艺等原因,图像中会出现端面和齿面过渡区域灰度值较高的情况,依靠通用的连通域面积特征提取ROI的方法很难将两者分离。本文利用图像端面区域呈圆形的特点,使用最小二乘法获取端面内、外圆的圆心和半径,并基于此提出一种圆形ROI提取算法,准确提取端面感兴趣区域。
对于定子端面二值图像,首先利用先验知识,初步选定工件旋转中心坐标(A0,B0)和端面外圆半径R0,在距离假定中心(R0-ΔR,R0+ΔR)范围内提取端面外圆轮廓上的点坐标(xi,yi),并代入下式:
当F(a,b,c)取最小值时,可得定子工件旋转中心坐标(A,B),工件外圆环半径R,其中
同理获取端面内圆环半径r,并利用拟合结果画圆制作掩模;最后对原图像和掩模图像进行“与”操作,以获取端面感兴趣区域图像。
除了背景的干扰,感兴趣区域内部还有一些来自工件本身的干扰,如端面部位的固有字符、槽孔,齿面部位的固有凹坑,如图4(c)所示。这些内部干扰的形状固定,且相对旋转中心的距离也固定,因此本文提出一种基于连通域特征组合的算法,抑制感兴趣区域内部的干扰。
Step 1 对上一步获取的端面感兴趣区域图像进行连通域搜索,首先根据面积特征对感兴趣区域进行填充,然后搜索ROI内部连通域,并计算连通域的最小外接矩形;
Step 2 连通域最小外接矩形的特征如下:
①形状特征:最小外接矩形的宽W0、高H0、宽高比 K0,即:
②位置特征:最小外接矩形中心(X0,Y0)相对旋转中心(A,B)的距离 R0,即:
式中:Wmax为宽度上限,Wmin为宽度下限;Kmax为宽高比上限,Kmin为宽高比下限;Rmax为连通域外接矩形中心到旋转中心距离上限,Rmin为距离下限。
上述步骤即可得到字符与槽孔区域,填充该连通域,即完成干扰抑制,得到图像M0(x,y)。
常用于检测缺陷的方法是基于形态学处理来实现的,将经过开闭运算后的图像作差,并对差异图作斑块分析以判断缺陷。本文要求检测的缺陷类型有边缘磕碰和缺料,这两类缺陷会导致目标轮廓存在非凸性区域,使用上述方法很难检测出这类缺陷,因此本文提出一种基于轮廓拓扑结构分析的掩模生成算法,算法流程如图6所示,操作流程如下:
Step 1 读取预处理后的图像M0(x,y),提取目标轮廓 C0(x,y);
Step 2 第一次拓扑转换。先对C0(x,y)进行轮廓膨胀,对轮廓各点沿其法线向外膨胀n1个像素,以填充尺度较大的非凸性轮廓;然后提取轮廓C1(x,y),对其进行轮廓内缩,对轮廓各点沿其法线向内收缩n1个像素,以逼近理想轮廓;
Step 3 第二次拓扑转换。提取第一次拓扑转换后的轮廓C2(x,y),再对该轮廓进行膨胀操作,对轮廓各点沿其法线向外膨胀n2个像素,再次填充可能存在的非凸性轮廓;然后提取轮廓C3(x,y),对其进行轮廓内缩,对轮廓各点沿其法线向内收缩n2个像素,以得到近似理想轮廓;
Step 4 掩模图像生成。提取第二次拓扑转换后的轮廓,即本文想要的近似理想轮廓C(x,y),并基于此轮廓填充目标区域生成掩模图像M1(x,y)。
图6 掩模生成算法流程图
经上述操作得到的掩模图像M1(x,y)的轮廓与理想轮廓近似,即可对M1(x,y)进行缩放还原得到理想掩模图像M(x,y);再将掩模图像M(x,y)与原图进行“与”操作获取待检图像I(x,y);最后利用图像差分法,将待检图像I(x,y)与掩模图像M(x,y)作差,得到差异图像R0(x,y):
定义阈值T0,对差异图像进行灰度阈值分割,得到端面二值图像R(x,y),再对R(x,y)进行连通域搜索及分析即可判断工件表面有无缺陷。
为了验证本文所提出的方法对冶金制品表面缺陷检测的有效性,采用设备实际运行采集到的80幅端面图像、30幅齿面图像进行试验。端面图像大小为2 448×2 048,齿面图像大小为 2 500×7 900。 试验环境为:Intel(R)Core(TM)i7-4790CPU,8G内存PC机,Win10操作系统,开发环境为Visual Studio 2010,OpenCV 库函数。
为验证最小二乘拟合圆算法对圆形ROI提取的有效性和精度,本文设计了如下试验。分别将基于面积特征的ROI提取算法、基于霍夫变换的ROI提取算法、基于最小二乘拟合的ROI提取算法进行对比,得到的效果如图7所示,图7(d)中,①为基于霍夫变换绘制的端面外圆轮廓线,②为基于最小二乘拟合法绘制的端面外圆轮廓线。
图7 ROI提取对比试验图像
由图7(a)可以看出,对于端面和齿面过渡区域灰度值较高的情况,基于面积特征提取ROI的方法很难将两者分割开;由图7(b)可以看出,基于霍夫变换提取到的ROI图像中除了端面区域,还有部分的齿面区域;由图7(c)、7(d)可以看出,基于最小二乘拟合法的圆形ROI提取算法更精确,提取到的ROI图像中没有齿面区域干扰。
为验证本文提出缺陷检测方法的有效性,将该算法应用于实际检测时采集到的工件图像。各类缺陷的检测效果如图8所示。
为验证本文提出缺陷检测方法的实时性和精度,本文设计了如下试验。分别使用基于形态学的缺陷检测算法和本文提出的缺陷检测算法,对采集到的80幅端面图像,30幅齿面图像进行比对试验。得到两类算法的运行时间对比折线图,如图9所示;以及得到了两种算法的缺陷检出率,如表1所示。
图8 部分检测结果样本图像
图9 缺陷检测算法运行时间对比图
表1 缺陷检测统计结果
试验结果表明,在端面检测工位中,本文提出的缺陷检测方法平均运行时间为924 ms,形态学检测方法的平均运行时间是901 ms,两种方法的处理时间相近;但是在齿面检测工位中,本文提出的缺陷检测方法平均运行时间为1 479 ms,形态学检测方法的平均运行时间是1 984 ms,前者远低于后者;根据表1显示的数据可知,运用本文提出的算法进行检测的缺陷检出率达到了99.09%,远高于运用形态学算法的81.82%。本文算法满足实际需求,即本文提出的缺陷检测方法既保证较高的检测精度,也提高了检测效率。
本文提出一种基于机器视觉的定子表面缺陷检测方法,对产品的外观进行实时缺陷检测。根据图像的形状、运动特点,提取感兴趣检测区域;再利用干扰的位置和形状固定的特点,设计填充方法抑制干扰;最后使用差分法完成缺陷检测。最后,通过对形态学缺陷检测方法进行对比实验,验证本文方法在提高了检测效率的同时,能够保证较高的检测精度,基本满足生产需求。