,,
(武汉理工大学 机电工程学院,武汉 430070)
显微视觉系统是面向微操作等精密作业系统的基本组成部分之一,由于其景深短、视场小,必须聚焦才能获取清晰的图像[1-2]。传统的调焦方法为手动调焦,不仅花费大量的时间,而且不可避免存在人为误差,因此研究准确、快速的聚焦技术成为精密作业的前提。同时自动聚焦技术也是实现微操作系统自动化的基础之一[3]。
显微视觉自动聚焦技术通常是基于图像的被动式聚焦,主要解决图像清晰度计算和聚焦面搜索两个问题[4]。国内外学者对此开展了大量研究。翟永平等针对传统聚焦算法无法找到稀疏图像内容焦平面的问题,提出一种基于图像内容重要程度加权的聚焦函数增强算法,以像素点z轴变化率为图像内容重要程度因子,进一步采用图像分块的方式来降低算法复杂度,提高了稀疏内容图像的聚焦成功率[5]。Rudnaya等提出了一种基于L2范数导数的清晰度评价函数,对于一个特定的人工模糊控制变量,该算法可以在计算三幅图像后找到最佳聚焦位置[6]。王烨茹等考虑到夜景照明情况下容易出现过亮区域,导致无法判断真实的离焦状态,提出一种饱和像素模板作用于梯度值矩阵的方法,除去了饱和像素对聚焦评价函数的影响[7]。上述的研究内容是将图像聚焦技术用在不同的环境和应用场合当中,虽然取得了一定效果,但其方法往往在灵敏度和抗噪性、快速性和成功率方面不能兼备。
本文以面向微操作的显微视觉系统为研究对象,在已有研究的基础上进一步深入。首先,引入一种改进的相关性清晰度评价指标,并将该指标和传统梯度函数相结合,提高了函数的灵敏度和抗噪性能;针对传统爬山聚焦算法容易受到局部极值影响,一般的变步长爬山算法又面临着一个复杂的阈值设定问题的缺点,本文先用大步长曲线拟合法快速定位到聚焦面附近,然后用小步长爬山法准确定位到图像聚焦面位置,在保证准确性的基础上提高了算法的快速性;最后实验验证了本文算法的有效性。
显微视觉系统利用计算机对聚焦过程中的一系列图像进行分析处理,用聚焦函数评价离焦状态,再通过平台运动控制器驱动调焦装置,使CCD图像采集设备上下移动,自动搜索聚焦面的清晰图像。在使用显微镜、CCD图像采集设备等生成图片的过程中,由于受到光照、CCD自身缺陷等因素的影响,图像中会引入脉冲和加性等噪声。另一方面,在显微视觉中,图像的前景和背景的比例较为固定,真正反映深度信息的也只是图像的前景部分,如果我们把图像背景纳入到图像散焦特性的计算中,由于背景在图像中所占的比例通常要大于前景部分,则容易造成聚焦特征值在一个错误值附近振荡。
图像前景部分模糊点的灰度特性往往与背景点很相似,有时候甚至完全一致。这里可以采用门限帧差技术来抑制背景点对散焦图像特征计算的干扰[8],如式(1)所示:
(1)
式中,R(x,y)=|f(x,y)-b(x,y)|,f(x,y)为待处理显微图像灰度图,b(x,y)为背景灰度图,g(x,y)是门限帧差处理后的灰度图;Q为灰度阈值,Q值选取过大会降低散焦灵敏度,过小无法抑制环境和图像采集所引起的噪声。图1为显微图像帧差处理结果。
图1 显微图像门限帧差处理结果
对比可以看出,图1(b)中的Q值选取过小,背景对前景干扰严重;图1(d)中Q值选取过大,导致很多前景点也被过滤掉;而图1(c)中Q值选取合适,在去除背景干扰的同时又能够很好的保护图像的前景。
聚焦评价函数一般可分为时域和频域两大类。典型的时域函数有灰度差分绝对值之和函数(SMD)、Brenner函数、Laplace 函数、方差函数(Variance)等;频域函数主要包括傅里叶变换和离散小波变换(DWT)等[9]。
理想的聚焦评价函数应具有无偏性、单峰性、灵敏度高以及足够的信噪比等特点[10]。本文通过组合相关性指标和梯度函数,形成一种新的聚焦评价函数,具体如下所示:
相关性是图像的属性之一,理想清晰的图像各部分之间存在一定的关联。当一副图像清晰时,图像轮廓清晰可辨,图像中各像素点的相关性较弱,反之则相关性较强。
文献[11]通过计算图像像素点(i,f)与其四邻域像素Dij的平均相关系数之和来评价图像清晰度,方法如下:
当q越大,说明图像中该像素与其八邻域像素的相关性越小,该点聚焦程度较高,当q越小,相应该点的聚焦程度较低。因为图像中的随机噪声与图像像素之间没有关系,所以相关性在一定程度上可起到抗噪声的作用。
Laplace函数是经典的基于二阶偏导数的边缘检测算法。经过模板的变换可以得到一种常用的算子,应用到图像清晰度评价方面,表示如下:
其中:f(x,y)为图像在点(x,y)的灰度值,GLa表示f(x,y)的卷积,图像的大小为M×N(M列、N行)个像素。该函数灵敏度很高,但同时也对噪声很敏感。
受到噪声、光照强度变化等因素的影响,单独使用Laplace函数无法保证聚焦效果。结合不同方法的优势,将基于空域的拉普拉斯梯度函数和相关性函数结合使用,用相关性对每个像素进行加权,提出La-Cor清晰度评价函数,具体如下:
该算法使得小梯度值比重大幅度减少,大梯度值比重增大,能进一步突出清晰图像和模糊图像的区别,一定程度上提高了函数的灵敏度。此外,在二阶梯度算子中引入相关性,可以削弱梯度函数对加性噪声敏感的特性,提高了算法的抗噪性能。
对于被动式聚焦系统,爬山法是经典的聚焦策略,爬山法如同盲人爬山,只能通过上坡或下坡来推测山峰的位置,因此其对聚焦曲线的单峰性有严格要求。爬山法常采用变步长或自适应步长的搜索方式,如文献[12]所述,不过其都面临一个阈值设定的问题。一般来说,阈值的设定只能通过大量的实验来得出,但这样得到的阈值仅适用于固定的场景,一旦聚焦环境发生变化,就要重新设定阈值,这样无疑增加了工作量,适应性比较差。
本文对爬山法进行改进,并将曲线拟合算法应用到爬山法的粗调阶段,从而避免复杂阈值设定问题。如图2所示,在粗调阶段用大步长搜索到一些点,并用曲线拟合的方法求出估计极值点x0,在精调阶段用爬山算法以小于焦深的步长搜索,直到评价函数值减小为止,具体步骤如下:
图2 聚焦搜索策略示意图
1)起始令镜头的移动方向固定,基本搜索步长为l,其值小于焦深,在粗调阶段,采用步长L=4l,连续朝着一个方向搜索,并计算其相应的评价函数值。
2)当搜索位置越过极值点之后,粗调停止,越过极值点的判据如下:假如连续三幅图像的评价函数值Kn 4)精调阶段调整步长为基本步长l,首先判断方向,连续向同一个方向搜索三个位置,设其评价函数值分别为K1、K2、K3,如果K1 实验所用设备为武汉理工大学机器视觉实验室的显微视觉系统,实物如图3所示。此系统由微调平台、运动控制模块、显微视觉模块和PC机组成。微调平台由X-Y-Z三个高精度线性运动自由度平台组成,重复定位精度2 μm。运动控制模块为美国EMAC四通道高性能数据采集系统。显微视觉模块由CCD摄像机和显微镜头以及图像采集卡组成。人机交互模块是在VS2012环境下使用C++语言编辑,结合开源视觉库Opencv2.4.9,软件界如图4所示。 实验所用的图像传感器CCD分辨率为2048×1536,镜头为ZL0911变倍缩放工业镜头,放大倍率为×0.7~×4.5。实验以真空吸附式微操作手末端为聚焦目标,该目标末端直径为1 mm。首先通过显微视觉模块进行图像的采集,然后通过PC机对采集的图像进行处理并发送信号到运动控制模块,进而微调平台带动相机模块运动。为了保证自动聚焦的实时性,常用的做法是选择图像的一部分像素参与运算,但是在显微操作中,当物镜放大倍率发生改变时,被观察的物体在图像中的位置会发生改变,实时选择聚焦窗口又会增加算法的复杂度。因此采用图形金字塔技术对整幅图像作降采样操作,以降低其运算负荷。 图3 显微视觉微调平台 图4 聚焦软件界面 首先,通过与传统算法的对比来验证所提出算法的可靠性。一共采样150幅图片,相邻图片的采样间隔为10 μm,然后运用不同的算法绘制聚焦曲线。利用文献[13]中提出的部分评价指标并稍加修改来评价各聚焦曲线的性能,四点评价指标如下: 1)清晰度比率R=fmax/fmin,其中,fmax为评价函数的最大值,fmin为评价函数的最小值。 3)灵敏度因子,定义灵敏度因子SEN为:SEN=[fmax-f(zmax+ε)]/f(zmax+ε),其中fmax为调焦评价函数的最大值,f(zmax+ε)为横坐标变化ε时的函数值。 4)处理一副图像平均所用时间T。 选取SMD函数、Brenner函数、DWT函数、Variance函数以及本文中提出的函数La-Cor进行对比。绘制的聚焦曲线如图5所示(纵坐标归一化)。 图5 聚焦函数评价曲线 利用4种评价指标对各聚焦算法进行评估,结果如1所示。 由图5和表1分析可知,Variance函数曲线最平缓,灵敏度和清晰度比率也都最差,SMD函数和Brenner函数曲线峰值过于平缓,且其灵敏度相对较低,DWT函数和本文 表1 评价结果 提出的La-Cor函数曲线都很好的满足单峰性和无偏性,但DWT函数运算时间最长,且其灵敏度和清晰度比率都不如本文提出的La-Cor函数。本文提出的La-Cor函数虽然其运算量稍大,但其灵敏度和清晰度比率都最好,综合性能最佳。 接着评价函数的抗噪性能,截取27幅图像,加入密度为0.01的椒盐噪声,将本文算法与没有引入相关性的Laplace梯度算法做比较,如图6所示。可以看出,本文算法在有噪声干扰的情况下,仍然能够保证单峰性和无偏性,且灵敏度较高。 图6 有噪声干扰的评价曲线 将相关性加权的Laplace梯度函数作为聚焦评价函数,采用第3节改进的爬山算法进行焦平面的搜索。大步长粗调阶段的步长设置为40 μm,精调阶段小步长设置为10 μm。大步长曲线拟合阶段可以将聚焦范围缩小到焦平面80 μm之内,从而小步长可以准确地找到焦平面。 使用上述聚焦方案在×4.0放大倍率下对真空吸附式微操作手末端进行自动聚焦,聚焦过程如图7所示。该过程反映了图像由模糊到清晰的全过程,验证了所提方案的有效性。 图7 自动聚焦过程 自动聚焦是显微视觉系统自动化的基本问题。重点对聚焦清晰度评价函数和极值搜索策略进行了研究改进。首先,提出一种相关性加权的梯度清晰度评价函数,相比传统评价函数增大了灵敏度,且在一定程度上提高了抗噪性;然后改进了爬山算法,将曲线拟合用于粗调阶段,避免了阈值设定的问题,提高了算法适用性和成功率。实验表明,所提出的聚焦方案具有可行性,可用于微操作机器人的显微视觉系统的自动聚焦中。4 实验与分析
4.1 聚焦评价函数性能实验
4.2 自动聚焦实验
5 结论