机器视觉系统的自动对焦技术研究
2019-03-19学华
,, ,,, ,学华
(1.武汉工程大学 材料科学与工程学院, 武汉 430200;2.纵横皆景(武汉)信息技术有限公司, 武汉 430204)
0 引言
机器视觉系统在精密加工过程中得到广泛应用,定焦相机在实际使用中会出现失焦现象,对精密加工过程如激光焊接、激光打标等产生影响,甚至导致焊接不良、打标模糊等产品缺陷。在条码二维码识别、符号识别、缺陷检测等过程中会出现识别和检测错误[1]。同时,如果存在产品类型或工艺变更则需要人工调整相机位置,重新设置视觉系统参数,为现场操作带来诸多不便,也不能满足生产线自动化生产的需要。因此对定焦相机增加自动对焦功能显得尤为重要[2-4]。自动对焦技术又分为主动对焦和被动对焦,其中主动对焦精度较高,但相机价格高,加大了工业使用的成本。对于定焦相机的自动对焦技术,国内外学者从机构设计、算法设计等方面做了一些有益的尝试:如Schlangen[5]设计了一种基于空间光调制器的无掩模光刻自动聚焦系统,能有效提高聚焦精度而不影响光刻胶的性能;Liu等[6]为了解决曲面下高精度对焦问题,设计了一种由音圈电机驱动的自动对焦系统,该系统采用图像灰度差作为对焦清晰度评价依据,通过穷举法确定聚焦点,能有效的实现曲面下的精准对焦;Harada[7]提出了一种在扫描电子显微镜(SEM)下使用多带通滤波器的自动对焦算法,有效解决了SEM自动对焦技术噪音大效率低的问题。Mo C等人[8]通过采用一种新的自适应阈值去除图像中噪声和背景污染的像素,然后利用改进的Sobel算子提取图像预处理后的最大灰度梯度,并计算评价值,提高了图像对比度及自动对焦图像清晰度;金雪等人[9]则基于自相关原理和图像对比度变化率,改进了自动对焦过程中的图像清晰度评价函数,有效解决了环境噪声的问题。
为了克服传统自动对焦算法实时性差、抗噪声能力弱、易受对比度和背景像素的影响等缺点,本文提出了一种定焦相机的自动对焦技术,利用图像清晰度作为评价标准,将相机配置在运动系统中,通过上位机对实时采集的图像进行清晰度评价,实现了清晰度最高时相机位置的实现对焦。结果表明,本文的改进算法具有实时性好、单峰性强、灵敏度高、抗噪能力强等优点。
1 系统构成
本文设计了如图1所示的运动控制平台,主要包括主机、相机、运动控制卡、驱动器和电机。其中主机CPU型号为I5-6500,显卡为英伟达GTX750TI,同时配置PCI-1240运动控制卡和安川伺服系统,主要完成图像处理、清晰度评价和收发运动指令;工业相机安装在Z轴上,垂直于工作台,负责图像的实时采集并发送给主机。运动控制系统负责完成相机的位置调整。实际工作中,当相机在运动时,计算机根据相机采集的图像设置ROI区域并进行快速傅里叶变换滤波,利用清晰度评价函数对ROI区域图像的焦点性能进行客观评估和分析,得到每次对焦相对应的对焦评价函数曲线,达到评价函数极值点时即完成相机的对焦过程。
图1 系统构成示意图
2 对焦评价方法
图像清晰度评价被广泛用于数字图像的被动式自动调焦。常用的图像清晰度评价函数有以下4种:
(1)Brenner评价函数。
D(f)B=Σ]∑y∑x|f(x+2,y)-f(x,y)|2
(1)
式中,f(x,y)代表每个像素的坐标,Brenner评价函是通过相邻像素值的方差来判定清晰度的。
(2)Tenengrad梯度函数。
D(f)T=∑y∑x|G(x,y)|(G(x,y)>T)
(2)
(3)
(3)Canny梯度函数
D(f)C∑y∑x|G(x,y)|(G(x,y)>T)
(4)
Canny梯度函数表达式与Tenengrad梯度函数表达式相同,但是引入了Canny算子进行边缘检测[10]。 Canny算子自带增强滤波检测等多功能,采用双阈值确定图像边缘,大于高阈值的像素点归于强边缘点,高于低阈值的点归于弱边缘点,小于低阈值的则被排除检测外,因此也不容易受到噪声干扰,能检测到真正的弱边缘,与Sobel算子相比灵敏度要高上许多,但灵敏度过高容易把噪点误认为边界,检测的边缘往往也是不连续封闭的,应用于自动对焦时还需对图像做一下膨胀运算,使边界连续。
(4)Laplacian梯度函数。
D(f)L=∑y∑x|G(x,y)|(G(x,y)>T)
(5)
Laplacian梯度函数采用Laplacian算子卷积来表达G(x,y)。相比Sobel算子和Canny算子,Laplacian算子对孤立点或端点较为敏感,因此特别适用于以突出图像中的孤立点、孤立线或线端点为目的的场合。但Laplacian算子也会增强图像中的噪声,因此用Laplacian算子进行清晰度评价时,需要对图像先进行平滑处理。
相机在自动对焦过程中由传动装置带动并通过图像清晰度评价函数确定焦点位置,因此在对焦过程中存在欠焦、正焦和过焦三个阶段。图2是将评价函数的结果归一化后得到的理想对焦函数曲线,在曲线的峰值点即为对焦的最佳位置。理想的对焦函数计算量较小,对噪声敏感度不高,函数曲线具有无偏性,单峰性,能够明显的区分离焦和对焦状态。
图2 标准对焦曲线
3 实验过程
实验条件:CCD工业相机型号DH-HV3151UC,工作分辨率为1027*768dpi,帧率为12fps,像素分辨率为3.2μm × 3.2μm。图像处理算法采用C#语言与OpenCV库函数[11]结合,运动控制采用PCI-1240运动控制卡编程实现。系统工作流程如图3所示。
图3 系统工作流程图
系统工作时首先由相机采集对象图像并实时传送给PC端,然后在PC端首先对图像做ROI区域裁剪(大小512*512像素),接着进行灰度化处理和DFT滤波,再使用清晰度评价函数计算预处理后的图像清晰度。为了对比不同评价函数的效果,将值采用式(6)和(7)所示的方法进行归一化处理。
(6)
(7)
在收集图像清晰度值的过程中,传动装置连续带动CCD相机朝着靠近对焦物体的方向移动,当计算机采集到的D(f)值出现一个明显的由小到大再变小的变化时,整个自动对焦流程完成,传动装置带动相机回到D(f)最大值处,即自动对焦焦点处。
4 实验结果与讨论
4.1 图像预处理
在实现自动对焦功能的过程中,相机随Z轴移动,距工作平台的距离也随之不断变化,所以并不能保证相机所采集到的刚好是工作平台的待处理产品的信息,因此需要对相机采集到的图像进行前期处理。前处理首先要设置ROI区域,只保留需要处理的图像窗口,以减少计算量同时减少不必要的环境噪声干扰;其次采用DFT滤波对ROI区域的图像进行背景噪声优化,为后期进行清晰度评价计算减少噪声干扰。图4是ROI区域预处理过程中得到的图像效果。
图4 ROI区域预处理效果图
从图4(b)和(d)可以看出DFT处理去除了图像中的低频干扰信号和噪音,增强了图像的灰度对比,有利于清晰度评价的计算[12]。
4.2 评价方法的灵敏度分析
在自动对焦过程中,采集了清晰度从离焦-对焦-离焦的十张图像序列,以此来模拟自动对焦过程中的图像清晰度状态,采集到的图片如图5所示。
图5 相机在不同位置时的图像序列
从图5的图像序列中可以看出,随着相机的移动,图像的清晰度经历了模糊-清晰-模糊的过程。为了评估该过程中图像的清晰度,用不同评价函数处理上述图像序列得到的数据结果归一化后的清晰度曲线如图6所示,横坐标表示上图采集的图像序列,纵坐标表示归一化后评价函数值。由图6可以看出3种评价函数的极值点位置相同且曲线只有一个极大值,即具有单峰性,表明系统的自动对焦功能准确可靠。同时最清晰的图像位于图像序列6,此时相机停靠的位置正是相机的焦点位置,表明每种评价函数具备无偏性。通过比较不同的评价函数,都具备了单峰性和无偏性,能够明显的区分对焦和离焦状态,能够作为自动对焦系统的图像清晰度评价判据。其区别在于Laplacian梯度评价函数得到的曲线半高宽低于其他评价函数,表明该评价函数相比其它评价函数的灵敏度更高,更适合作为本系统的图像清晰度评价函数。
图6 对焦过程中不同评价函数归一化曲线
为比较DFT滤波对对梯度评价函数的影响,针对图5所示的实验图像系列,先进行DFT滤波后再以Laplacian梯度评价函数分别进行清晰度计算,得到图7所示的原始图像和经DFT滤波图像清晰度评价曲线。可以看出经过DFT滤波后评价函数的归一化曲线变得更加陡峭,表明DFT滤波后评价函数对相机位置的变化更加敏感[13],DFT变换有助于提高评价函数的灵敏度。
图7 DFT滤波后对焦评价函数归一化曲线
4.3 对焦信噪比与相似性
为了验证自动对焦效果,采用标准样张与实验图像的峰值信噪比(PSNR)和结构相似性(SSIM)来验证对焦图像的准确性[14]。PSNR是目前使用最为广泛的图像质量评价标准,虽然有一定的局限性,但是其计算方便,内存占用率小,能大致的反应图像清晰度,通常PSNR值越高图像清晰度也越高,一般高于30说明两张图片差异不大,高于40肉眼分辨不出明显差异。但PSNR会有实际图像清晰度与人眼观察的清晰度差异过大的情况,因此同时引入SSIM作为参考,SSIM是基于人眼视觉系统(HVS)的图像清晰度对比测量方法,有效改进了PSNR的缺点,但是当图片存在位移缩放等非结构性失真时会导致计算结果与实际不符,因此本实验同时采用互补的两种评价方式能够较客观的评价自动对焦图像的清晰度。SSIM主要从亮度、对比度和结构相似度三个方面作为图像清晰度评价依据,计算所得结果在-1到1之间,当SSIM值为1时,说明图像清晰度与标准样张完全一致。标准样张采用式(8)计算相机焦点到被测物体的标准距离来获取。
D=fH/h
(8)
式中,D代表镜头焦点离物体的距离,f代表焦距(8 mm);h代表相机靶面水平宽度(6.4 mm);H代表被观测物体宽度(101.6 mm),计算得D值为127 mm。在此物距条件下将相机所采集到的图片作为标准图片(图8a)与图像序列6(图8b)进行对比,结果如表2。
图8 标准样张与自动对焦图像
从表2的数据可以看出,采用不同的评价函数实现自动对焦后的图片PSNR值均大于30,表明实验设计的自动对焦方法可行,同时Laplacian梯度评价函数所获得的自动对焦图片PSNR值最大,表明采用改进后的Laplacian评价函数获取对焦图片的质量要高于其他评价函数,同时4种评价函数所得图像的SSIM值均在0.6~0.8之间,明说自动对焦的图像清晰度与实际人眼观察到的清晰度相似,其中Laplacian梯度评价函数所得的自动对焦图片与标准样张的SSIM值最接近,表明该评价函数具有较好的可靠性。
表2 PSNR与SSIM结果比较
4.4 物距的影响
图9显示了采用Laplacian梯度评价函数获取的6种不同高度的对象自动对焦后的结果。从图中可以看出,在相机可移动范围内,采用Laplacian梯度评价函数均能完成自动对焦过程,获取的图像具有较高的清晰度。图10是对焦后相机的位置与评价函数归一化值与对象高度之间的曲线,从图中可以看出,随着对象高度的变化,相机的位置呈线性变化,表现了较好的跟随能力,评价函数的归一化值均在0.99~1之间,表明随着对象高度的变化,对焦系统均能获得良好的对焦性能。
(物体高度a.3 mm; b.5 mm; c.7 mm; d.9 mm) e.14 mm; f.16 mm图9 不同对象高度时对焦后的图片
图10 不同对象高度时对焦后相机位置和评价函数归一化值
5 结论
使用离散傅里叶变换与Laplacian清晰度评价函数相结合的相机自动对焦方法能够较快实现对运动控制平台上复杂物件进行快速自动对焦处理。与未经离散傅里叶变换后的直接对焦技术相比,使用DFT处理后的对焦更加快速高效,且能有效去除周围噪声干扰。对多种清晰度评价函数的比较发现Laplacian梯度评价函数在清晰度评价方面具有较高的灵敏度。本文提出的对焦方法在工业生产中实现了无参考图库情况下的相机自动对焦,具有较好的实际应用效果。