数码显微镜自动对焦算法 下载: 1732次
1 引言
随着工业制造朝着自动化、智能化方向的发展,自动对焦被广泛应用于显微领域、工业领域以及各种涉及清晰成像的领域。将自动对焦技术应用于数码显微系统中,能够很好地解决传统光学显微镜对焦操作复杂、存在人为误差的问题[1]。数码相机作为数码显微镜的组成部分,具有很多传统光学显微
镜无法实现的功能,如能够直接通过显示器或者计算机显示图像,能够保存实验数据以方便后续实验处理,具有图像测量、图像处理功能。为了满足显微系统自动化的要求,自动对焦技术在显微系统中的应用得到关注,市场上出现了显微自动对焦相机、自动对焦显微镜等产品。应用于数码显微镜中的自动对焦方法应具备以下条件:实时性好、精度高、对结构的要求简单、稳定性高。本文将根据这些条件,重点研究应用于数码显微镜中的自动对焦方法,分析不同自动对焦方法的原理与特点。
2 自动对焦方法
人们对自动对焦方法的研究最早可以追溯到1898年,早在当时法国人就对自动对焦进行了研究;由于技术的落后,自动对焦方法的研究进展缓慢,直到20世纪60年代,人们首次将自动对焦技术运用于照相系统中,自动对焦技术才得以迅猛发展;到了20世纪90年代,图像传感器的发展为自动对焦技术打开了一扇新的大门,基于图像处理的自动对焦技术得到了发展,这种方法至今还在被广泛应用;现在,自动对焦技术被广泛应用于成像、工业、**、安防、智能手机等领域,并逐渐发展成为一门集光、机、电、算于一体的复杂技术。
根据自动对焦方法的实现方式,可以将其分为主动式自动对焦和被动式自动对焦,其分类如
2.1 主动式自动对焦
主动式自动对焦依赖某些特定的传感器或者测距设备,不受光照条件的影响,聚焦精度较高,但设计出来的对焦装置体积大、功耗高、结构复杂[2]。主动式自动对焦通过相机主动发出光或波,然后通过接收反射回来的光或波来判断物体与对焦装置的距离,达到对焦目的,因此主动式自动对焦可以在弱光线下对焦,并且对细线条和运动中的物体都可以实现对焦,但不适合远距离对焦,这是由于发出的光被反射到其他方向、无法被相机接收。
早期的主动式自动对焦方法主要有红外线测距法和超声波测距法[3],两种测距法的基本原理是通过特定设备向样品发射红外线或者超声波,由接收设备接收经由样品反射回来的红外线或者超声波,计算对焦装置与样品之间的距离,再将镜头移动到最清晰的位置。根据分析,测距法具有精度高、结构简单、对细条物体以及暗环境下物体都能准确对焦的特点,可进行远距离对焦,但对一些对红外或者超声波具有吸收特性的样品会出现误对焦的情况。
近年来,许多研究人员基于测距法提出了新的主动式自动对焦方法。2011年,广东工业大学的肖磊[4]提出了一种基于激光三角测距法的自动对焦系统,激光三角测距法是利用激光源照射样品,经漫反射后的激光被光学检测器件接收,当样品发生移动时,光学检测器件检测到的参数会发生改变,可以根据像点位置的变化和测量系统的结构参数求出样品的位移信息。这种方法具有对焦精度高、速度快的特点,但也存在一些问题,如:激光功率不可调导致激光带来的噪声过大、系统容易受到周围环境的影响等。2019年,陕西科技大学的任工昌等[5]提出一种单目视觉测距新方法,该方法根据光学成像原理,计算不同物距下目标图像的清晰度值,根据改进的粗精变步长爬山搜索策略实现自动对焦,记录步进电机转向及脉冲个数,建立脉冲数与物距的定量关系,从而实现测距。该方法不需要经过复杂的标定工作,操作简单,基本满足实际应用对对焦精度和稳定性的要求。
2.2 被动式自动对焦
被动式自动对焦基于图像清晰度评价函数实现对焦,根据每幅图像的清晰度评价函数值、判断对焦方向以及对焦位置,并利用驱动电机实现对焦[6]。相比于主动式自动对焦,被动式自动对焦的对焦系统不需要发射源,结构简单,能耗较低,且能够实现远距离对焦,但是该系统易受环境影响,对暗环境下样品的对焦困难。
传统的被动式自动对焦方法主要有相位检测法和对比度检测法。这两种方法都通过检测焦面是否与光电接收器重合的方式实现对焦判断[7]。相位检测法根据基准光线和参考光线随样品的移动产生的不同位置差和光电探测器探测到两束光线的相位差进行对焦。对比度检测法也叫反差检测法,这种方法以计算的图像对比度为标准,系统准焦时得到的图像清晰、边缘信息多、图像对比度好,而系统离焦时得到的图像模糊、边缘信息少、图像对焦精度低。该方法通过处理数据获取每个位置的图像对比度,找到对比度最大的位置,即最清晰成像位置。
目前常见的被动式自动对焦方法都是基于数字图像处理的,根据提取图像信息的方式,被动式自动对焦方法又可以分为离焦深度法和对焦深度法,其中对焦深度法因其精确度较高、算法简单易实现,是目前市场上显微自动对焦相机应用最多的自动对焦方法之一。
2.2.1 离焦深度法
离焦深度法是一种从离焦的画面中获取深度信息的方法,根据光学原理计算焦点距离,并直接驱动镜头到聚焦位置。该方法一般只需要处理2~3幅不同对焦情况的图像即可完成对焦,相比于对焦深度法获取的图像数据更少,具有更大的对焦速度。
离焦深度法最早是于1987年由Pentland[8]提出,他指出原来的自动对焦方案通过遍历每个位置的图像完成对焦是没有必要的,可以通过测量散焦量,仅使用一两幅图像估计所有点的深度,从而实现对焦;1989年Pentland等[9]又提出了一种仅使用两幅图像就可对普通物体进行距离估计的方法,两幅图像分别为聚焦图像和模糊图像,该方法在窄频带中计算两幅图像之间的傅里叶功率比,由于该比率与模糊量有关,因此可通过查表的方法获得物距。这种方法虽然能够快速计算出物体的距离,但它也会增强衍射效果,从而使获取的图像失真。对于给定的信噪比,该方法会增加相机的曝光时间,导致方法变慢;1994年,Subbarao等[10-11]在离焦深度法的基础上提出了STM(S-Transform Method),该方法的所有计算都在空域中完成,并且其本质是局部计算,仅使用不同相机参数拍摄两幅图像即可找到焦点位置。
常用的离焦深度法主要分为两类[1]:一种方法是基于图像离焦量实现的,通过改变相机参数如镜头位置、焦距和光圈直径,获取2~3幅图像的离焦量,用于判断图像弥散斑的大小,再根据建立的光学成像模型并利用光学原理计算相机参数,从而获取图像的位置,实现对焦;另一种方法是基于图像恢复实现的,该方法根据已有的模糊图像信息估算出成像系统的点扩展函数,利用图像退化模型,反演推算出清晰图像。离焦深度法处理的图像数据较少,且能够直接通过计算得到最清晰成像位置,具有较大的对焦速度,但离焦深度法的对焦精度取决于成像系统的数学模型,该数学模型目前只能进行近似估计,因此与对焦深度法相比,该数学模型的对焦精度较低。
2.2.2 对焦深度法
对焦深度法是一种基于对焦搜索过程的方法,该方法以清晰度评价函数为基准,获取并比较对焦搜索过程中每幅图像的清晰度评价函数值,并根据对焦搜索算法找到最大清晰度评价函数值的位置,即最清晰成像位置。显然,对焦深度法需要获取并处理大量的图像数据,耗时较长,但相比于离焦深度法,该方法具有较高的对焦精度,且算法简单、容易实现,是目前市场上应用最多的对焦方法。
早在对焦深度法这个概念被提出之前,许多学者就对清晰度评价函数与对焦搜索算法进行了研究。1992年,Nayar[12]提出了一种基于傅里叶变换分析图像频谱的聚焦成像系统;1971年,Tenenbaum[13]提出了梯度幅度最大化方法(即Tenengrad函数),该方法利用边缘的清晰度来优化聚焦质量;1983年,Schlag等[14]介绍并测试了爬山搜索法的性能;然而,直到1987年,Grossmann[15]才提出对焦深度法的概念;1988年,Krotkov[16]比较了对焦深度法采用的多种图像评价函数,包括傅里叶变换函数、Tenengrad评价函数、高通滤波、灰度熵、灰度方差函数等,最终得出Tenengrad评价函数在单调性上优于其他评价函数的结论,同时他还对Fibonacci搜索法进行了深入研究。
3 对焦深度法关键技术
对焦深度法的性能取决于图像清晰度评价函数和对焦搜索算法的性能。
3.1 清晰度评价函数
理想的清晰度评价函数应该满足以下特点:1)单峰性,即清晰度评价函数曲线只在最清晰的成像位置出现一个峰值,其他区域保持平滑趋势且没有局部峰值干扰;2)灵敏度高,即峰值附近的清晰度评价函数曲线下降幅度明显;3)准确性,即曲线峰值位置即为最清晰成像位置;4)实时性,即清晰度评价函数的计算复杂度和计算量满足对实时性有较高要求的场景;5)抗干扰性,即环境噪声对曲线的影响较小。常见的清晰度评价函数如
3.1.1 基于图像灰度的清晰度评价函数
清晰图像比模糊图像具有更多的细节,拥有更多的灰度值变化,因此可以将图像灰度分布作为评价图像清晰度的标准。常见的基于图像灰度的评价函数有Tenengrad函数、拉普拉斯梯度函数、方差函数、Brenner函数。假设图像分辨率为M×N,f(x,y)代表点(x,y)处的图像灰度,基于梯度的各函数计算方法如下。
1)Tenengrad函数
Tenengrad函数利用Sobel算子对图像灰度函数进行运算,(x,y)处的近似梯度满足
式中:G(x,y)代表(x,y)处的近似梯度值;Gx(x,y)代表图像像素水平方向的梯度;Gy(x,y)代表图像像素垂直方向的梯度;Gx(x,y)、Gy(x,y)分别为f(x,y)与不同Sobel算子的卷积,计算关系式为
式中:S1、S2为Sobel算子模板,具体可表示为
最终,定义Tenengrad函数的计算式为
式中:T为图像阈值,可以通过调节T值来改变评价函数的灵敏度。
2)拉普拉斯梯度函数
拉普拉斯函数是目标点与其周围4个点的灰度值的函数,先计算目标点与其周围4个点的灰度差的和,再进行平方和运算。拉普拉斯梯度函数的计算式为
3)方差函数
方差函数用来计算整幅图像像素灰度值的方差,其计算式为
式中:μ代表整幅图像的灰度平均值,其计算式为
4) Brenner函数
Brenner函数通过计算水平方向相隔两个单位的像素点的灰度差来评价图像的清晰度,其计算式为
3.1.2 基于频域的清晰度评价函数
图像的清晰程度体现在频域中就是高频分量的大小,基于频域的清晰度评价函数都是通过傅里叶变换将空域函数转换成频域函数,再提取图像高频信息并对其进行分析,从而得到图像的清晰度。频域评价函数具有精确度高的特征,但由于进行傅里叶变换的计算量较大,因此频域评价函数不适用于对实时性要求较高的对焦场景。常见的基于频域的方法包括基于离散傅里叶变换和基于离散余弦变换的方法。
1)离散傅里叶变换
对连续图像f(x,y)进行傅里叶变换,得到的傅里叶变换函数F(u,v)为
对于分辨率为M×N的数字图像,f(x,y)的傅里叶变换函数F(u,v)为
其对应的傅里叶谱为
式中:R(u,v)和I(u,v)分别为傅里叶变换F(u,v)的实部和虚部。功率谱P(u,v)为
清晰度评价函数为
则E的最大值对应的位置就是最清晰成像的位置。
2)离散余弦变换
图像经过离散余弦变换后,其灰度值被转换为离散余弦变换系数,这些系数代表的是不同频率的分量,因此也可以利用离散余弦变换来表征图像清晰度。假设图像分辨率为M×N,图像灰度值为f(x,y),将图像分割成m×n的区域,M、N分别为m、n的倍数,则每个图像f(x,y)的离散余弦变换为
式中:u和v分别代表变换后频率域的水平和垂直坐标采样值,u=0,1,…,m-1,v=0,1,…,n-1;c(u)和c(v)的值分别为
一般取m=n=8,8×8的二维数据块经过离散余弦变换后变成8×8个变换系数。经过离散余弦变换后的清晰度评价函数为
3.1.3 基于信息学的清晰度评价函数
根据香农信息论,熵最大时信息量最多。清晰图像与模糊图像相比,其图像灰度值分布更加多样,图像的信息量更多,因此也可以用信息量或者熵来评价图像清晰度。假设图像灰度级为M,根据图像灰度分布直方图,计算得出图像在直方图中取灰度值为m时的概率P(m),那么图像的灰度熵函数为
当灰度熵S取最大值时,图像信息量最大,图像边缘信息与细节信息最丰富,因此可得到最清晰成像的位置。
3.1.4 基于统计学的清晰度评价函数
统计学直方图能够描述一个图像的灰度分布,模糊图像的灰度直方图的非零灰度值分布往往比较窄,反之,清晰图像的灰度直方图的非零灰度值分布往往比较宽且均匀,因此可以利用灰度直方图评价图像的清晰度。这种方法具有计算量小、实时性高的特征,但该方法通过灰度直方图直接估计离焦程度,因此不适用于对精度要求较高的对焦场景。
3.2 对焦搜索算法
依据清晰度评价函数值,对焦搜索算法可控制电机运动,使其达到清晰度评价函数值最大的位置,即聚焦位置。目前常见的对焦搜索方法主要有全局搜索法、爬山搜索法、函数逼近法、Fibonacci搜索法等,这些方法都各有优劣,其中,爬山搜索法以其搜索行程短、对焦速度快的优势,成为目前应用最广泛的搜索方法之一。
3.2.1 全局搜索法
全局搜索法即穷举搜索法,是所有对焦搜索方法中最简单也是最容易实现的方法。其搜索原理为:电机从搜索行程的端点出发,以固定步长朝着另一个端点运动,每前进一个步长,计算该位置的清晰度评价函数值,电机搜索完全程以后,行程中所有位置的清晰度评价函数值都已被计算并收集,通过比较获取清晰度评价函数值集合中的最大值,则该值对应的位置就是最清晰成像位置。全局搜索法的优点是计算简单、算法易实现且准确度高,不易受环境噪声的影响;但全局搜索法的缺点也很明显,由于该方法进行对焦搜索时需要遍历整个行程,因此其对焦速度较慢且效率不高,因此全局搜索法不适用于对实时性、对焦速度要求高的对焦场景。
3.2.2 函数逼近法
函数逼近法通过曲线拟合的方法找到最佳聚焦位置,其基本原理为:已知评价函数曲线几个点的评价值,利用二阶或者三阶函数对这几个点的评价值进行曲线拟合,最终根据通过拟合曲线的极值点近似得出评价函数的极值点。假设用二阶函数拟合评价值曲线,则拟合曲线的方程为
式中:x表示电机位置;y表示对应电机位置的清晰度评价函数值;a、b、c为二次多项式系数,可由最小二乘法求得:
式中:n代表样本点个数;xi代表第i个样本点的电机位置;yi代表第i个样本点的清晰度评价函数值。最终得到拟合曲线的极值点P(即最佳聚焦位置)满足
由于函数逼近法通过几个已知搜索点的评价函数值反向推算出评价曲线,因此选取的样本点对函数逼近法的精度影响较大,已知评价曲线峰值所在的区间,就可以用在这个区间内选取的多个分布较广的样本点进行曲线拟合,这样会提高曲线拟合的准确性。函数逼近法的优点是不需要来回遍历,可以直接获得最佳聚焦位置,这缩短了对焦时间;其缺点是计算量较大,容易受到局部峰值和曲线波动的影响。
3.2.3 Fibonacci搜索法
Fibonacci搜索法是基于Fibonacci函数进行搜索的,通过缩小区间来确定曲线峰值。假设搜索范围内清晰度评价函数曲线为f'(x),搜索范围为[A,B],则将Fibonacci函数定义为
式中:n代表实验点数;F(n)代表Fibonacci函数值。
Fibonacci搜索法的基本流程如下:
1) 确定初始搜索区间,区间长度L1=B-A;
2) 初始搜索步长L2根据Fibonacci函数与L1计算得出,即L2=
3) 分别在与A、B距离为L1的位置确定两个实验点a0,b0:a0=A+L1,b0=B-L1;
4) 计算并比较f'(a0)、f'(b0),若f'(a0)≥f'(b0),则舍弃区间(b0,B);若f'(a0)<f'(b0),则舍弃区间(A,a0);
5) 令n=n-1,在剩余搜索区间内继续重复执行步骤2)~4),直到n=1,结束搜索过程,则最佳聚焦位置就在最终得到的搜索区间内获得。
通过以上基本流程可以得出,实验点数n越大,Fibonacci搜索法精度就越高。Fibonacci搜索法的优点是:算法简单易实现,搜索过程中的取样点有限,且精度较高;Fibonacci搜索法的缺点是:容易受到陷入局部峰值的影响,一旦搜索区间进入局部极大值的附近,则会导致误对焦。
3.2.4 爬山搜索法
爬山搜索法是目前市场上应用最广泛的对焦搜索法。爬山搜索法的搜索原理如
显然,爬山搜索法的搜索行程较短,与全局搜索法需搜索完全程不同,爬山搜索法只需遍历半程即可找到最佳聚焦位置,这大大地缩短了对焦时间,能够满足实际应用中用户对实时性的要求。爬山搜索法的缺点是:容易出现误对焦的情况,环境噪声引起的局部峰值对爬山搜索法的影响很大。
针对爬山搜索法存在的缺陷,许多研究人员提出了改进爬山搜索法的方法。上海理工大学的江旻珊等[17]提出了一种以邻近三幅图像为判据的爬山搜索法,具体搜索过程为:首先在同一方向以固定步长连续采集三幅图像,计算对应的清晰度评价函数值,分别记为FV1、FV2、FV3,若FV1<
3.2.5 对焦搜索算法比较
综上所述,每一种对焦搜索算法都各有优劣。全局搜索法不受局部峰值的影响,对焦精度高,但采集的数据量较大,对焦效率低;函数逼近法的对焦效率高、对焦精度高,不需要电机来回遍历,但计算量大,且容易受到局部峰值的影响;Fibonacci搜索法采集的图像数据少,但局部峰值也会造成误对焦的情况;爬山搜索法的对焦速度快,适用于对实时性要求较高的场景,但同样容易陷入局部峰值的影响。
因此,实际应用中,这些搜索方法存在联系,因此常将这些方法相结合使用。如2017年闽南师范大学的刘书炘等[19]提出了一种最优搜索的自动对焦算法,该算法结合了全局搜索法与函数逼近法,算法原理如下:首先快速搜索全程,获取清晰度评价值的最大值位置;然后,以最后一次全局搜索所获取的最大评价值位置为中心进行曲线拟合,拟合曲线的峰值位置就是搜索到的实际对焦位置。2019年华南理工大学的唐柳生[20]提出了一种爬山搜索法与函数逼近法相结合的自动对焦算法,其算法原理如下:首先比较相邻位置清晰度评价函数的大小,驱动电机往清晰度增大的方向前进,如此重复以逼近最优焦点,直到获取第一次清晰度下降的位置,减小步长并使物体进行反向运动,当物体运动至再获取首次清晰度下降的位置,再次减小步长并使物体进行反向运动,当获取首次清晰度下降的位置,停止爬山搜索法,通过对这三个位置坐标以及对应的清晰度评价函数值进行二阶函数拟合,得到准焦位置。
4 结论
介绍了数码显微镜自动对焦算法的原理与分类,重点介绍了被动式自动对焦方法中的对焦深度法。对焦深度法中有两个关键算法,即清晰度评价函数与对焦搜索算法。两者的选择决定了自动对焦算法的性能。总之,在实际应用中,可以根据不同的应用场合、不同的对焦场景选择合适的清晰度评价函数与对焦搜索算法的组合,以达到最佳对焦性能。
[1] 丁红艳. 基于Hi3516A的HDMI显微自动对焦相机的设计与实现[D]. 杭州: 浙江大学, 2018.
Ding HY. Design and implementation of HDMI microscopic auto-focus camera based on Hi3516A[D]. Hangzhou: Zhejiang University, 2018.
[2] 燕艳. 精密激光自动对焦系统设计[D]. 济南: 山东大学, 2016.
YanY. Design of laser auto-focus precision system[D]. Jinan: Shandong University, 2016.
[3] 王虎. 自动对焦原理及方法[J]. 科技信息(科学教研), 2008( 13): 38.
WangH. Principle and method of auto focus[J]. Science & Technology Information, 2008( 13): 38.
[4] 肖磊. 基于激光三角测距法的自动对焦系统研发[D]. 广州: 广东工业大学, 2011.
XiaoL. The research and development of the autofocus system based on the laser-triangulation[D]. Guangzhou: Guangdong University of Technology, 2011.
[5] 任工昌, 刘崇展, 刘朋, 等. 自动调焦在单目测距方法中的研究[J]. 机械设计与制造, 2019( 4): 146- 149.
Ren GC, Liu CZ, LiuP, et al. Study on monocular distance measurement based on auto focus[J]. Machinery Design & Manufacture, 2019( 4): 146- 149.
[6] 项魁, 高健. 自动对焦过程中图像清晰度评价算法研究[J]. 组合机床与自动化加工技术, 2019( 1): 52- 55.
XiangK, GaoJ. Research on the image definition evaluation algorithm in autofocus process[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2019( 1): 52- 55.
[8] Machine Intelligence. PAMI-[J]. Pentland A P. A new sense for depth of field. IEEE Transactions on Pattern Analysis, 1987, 9(4): 523-531.
[9] PentlandA, DarrellT, TurkM, et al.A simple, real-time range camera[C]//Proceedings CVPR '89: IEEE Computer Society Conference on Computer Vision and Pattern Recognition, June 4-8, 1989, San Diego, CA, USA. New York: IEEE Press, 1989: 256- 261.
[10] Subbarao M, Surya G. Depth from defocus: a spatial domain approach[J]. International Journal of Computer Vision, 1994, 13(3): 271-294.
[11] Subbarao M, Wei T C, Surya G. Focused image recovery from two defocused images recorded with different camera settings[J]. IEEE Transactions on Image Processing, 1995, 4(12): 1613-1628.
[12] Nayar SK. Shape from focus system[C]. IEEE Computer Society Conference on Computer Vision & Pattern Recognition, June 15-18, 1992, Champaign, USA.New York: IEEE Press, 1992: 4382942.
[13] Tenenbaum JM. Accommodation in computer vision[M]. Stanford: Stanford University, 1971.
[14] Schlag JF, Sanderson AC, Neuman CP, et al. Implementation of automatic focusing algorithms for a computer vision system with camera control[R]. Pittsburgh: Carnegie Mellon University, 1983.
[15] Grossmann P. Depth from focus[J]. Pattern Recognition Letters, 1987, 5(1): 63-69.
[16] Krotkov E. Focusing[J]. International Journal of Computer Vision, 1988, 1(3): 223-237.
[17] 江旻珊, 张楠楠, 张学典, 等. 混合搜索法在显微镜自动对焦中的应用[J]. 光电工程, 2017, 44(7): 685-694.
[18] 罗文睿. 基于改进爬上算法的数字显微镜自动对焦方法[J]. 工具技术, 2019, 53(9): 112-116.
[19] 刘书炘, 刘满华. 基于模糊熵评价和最优搜索的自动对焦算法[J]. 重庆邮电大学学报(自然科学版), 2017, 29(4): 514-520.
[20] 唐柳生. 病理切片数字化扫描设备图像处理技术研究[D]. 广州: 华南理工大学, 2019.
Tang LS. Research on image processing technology of pathological section digital scanning equipment[D]. Guangzhou: South China University of Technology, 2019.
夏浩盛, 余飞鸿. 数码显微镜自动对焦算法[J]. 激光与光电子学进展, 2021, 58(4): 0400002. Haosheng Xia, Feihong Yu. Auto Focusing Algorithm of Digital Microscope[J]. Laser & Optoelectronics Progress, 2021, 58(4): 0400002.