HTML
-
自动对焦技术包括对焦评价函数和搜索算法。对焦评价函数可分为空间域、频率域和信息熵三类[1]。空间域评价函数基于梯度算子,图像越清晰,边缘越明显,图像梯度越大。空间域方法简单,计算量小,应用最多。频率域算法是将图像变换到频域计算图像清晰度。图像越清晰,包含的高频成分越多。频率域算法需要进行傅里叶变换,计算复杂度高[2-4]。熵函数描述系统的混乱程度,在图像中,反应图像灰度信息的分布状态,离焦图像的灰度分布均匀,灰度级变化小,对应的熵值越小;相反,正焦图像灰度值分布差异大,则熵值大[5]。
搜索算法有很多种类,根据系统是否带有发射装置,可分为主动对焦和被动对焦两种类型[6]。主动对焦是系统自带发射装置,通过发射装置发出信号,然后通过接收装置接收从被摄物体反射回来的信号,通过计算得出正焦位置。常用的主动对焦方法有红外测距法、超声波测距法以及PSD测距法[7]。主动对焦可以快速一步到位完成对焦,但是对焦精度受测距方法限制,且需额外装配发射和接收装置。被动对焦是通过被拍摄物自身反射到CCD上的光进行分析,判断像的离焦状态。被动对焦减少了发射和接收装置,但是传统的被动对焦方法效率低[8-9]。常用的被动对焦方法有爬山算法、全局搜索算法、黄金分割法、Fibonacci搜索算法和拟合算法[10]。全局算法首先需要确定对焦范围、搜索方向和步长,然后沿着搜索方向按固定步长步进采集图像,并计算图像的清晰度,最后选取清晰度值最高的图像的拍摄位置作为正焦位置。全局算法的对焦精度取决于步长,步长越小精度越高,但是对焦精度和对焦速度成反比,在要求高精度和快速对焦场合不适用。爬山算法是基于对焦评价函数呈高斯函数状,具有单峰性。通过比较不同位置的评价函数值确定搜索方向,当下一幅图像评价值小于上一幅时,说明越过峰顶,减小步长,往回搜索[11]。实际情况可能存在干扰,评价函数出现多峰,爬山算法容易陷入局部极值,且搜索过程重复运动耗费时间较长。为了解决由于运动次数多而导致对焦时间长和爬山算法陷入局部极值问题,又提出黄金分割对焦算法,按照黄金比例不断减小搜索空间。首先选定搜索区间l(l1~l2),然后确定两端的黄金分割点(m1=0.328l,m2=0.618l),比较m1和m2两个点的评价函数值F(m1)和F(m2),若F(m1)>F(m2),则调整搜索范围为(m1, l2),若F(m1)<F(m2),则调整搜索范围为(l1, m2),依次逐渐减小搜索范围,直到搜索范围达到精度要求。黄金分割法在一定程度减少了搜索时间,然而完成对焦仍需较多时间,且要达到高精度,对焦时间也将会增加。
基于现有方法在对焦时间和对焦精度上的问题,文中提出一种基于离焦模型,通过4个点求出两条曲线的方程(两条曲线呈近似对称分布,对称点在正焦位置附近),求出两条双曲线的交点。交点必然在正焦位置附近,驱动三轴运动机构运动到交点位置进行粗定位,然后在交点位置取1点以及交点左右按设定间隔各取2点,最终得到的5个点可以把顶点包含。最后通过高斯函数拟合,求出拟合高斯函数顶点的位置即为正焦位置。文中提出的自动对焦算法只需采集4张图像对正焦位置进行粗定位,极大的提高对焦的实时性;在交点附近采集5张图像进行高斯函数拟合求顶点位置保证了系统对焦精度。
-
为了验证自动对焦搜索算法的有效性和准确性,按照文中所述自动对焦算法,对不同被测物(航空发动机静子环表面、气膜孔等)分别进行多次实验,下面选取具有代表性的标准量块进行说明。同时,实验采用可控光源进行照明,保证实验图像质量以及实验过程中光照环境不变。
实验所拍摄的物体为一个标准量块,量块被拍摄面是经过研磨的平整表面,量块厚度T为10 mm,如图7所示。
将量块放置在气浮转台的工作平面上(气浮转台工作平面与三坐标测量机的Z轴垂直),通过千分表调整量块方位,使量块的拍摄面与相机的光轴垂直,如图8所示。
通过三轴运动机构调整相机位置,使量块拍摄面成像与相机上。首先使用传统的全局搜索法确定正焦位置,确定对焦范围从三轴运动机构X轴的坐标值221~222 mm,对焦长度
$ {l}_{f}=1\;{\rm{mm }}$ ,步长$ ∆=5$ μm。相机沿着X轴正方向以5 μm步长前进采集图像,并计算图像的清晰度值。相机位置与图像清晰度关系曲线如图9所示。图像清晰度值最大的位置为221.584 6 mm。将相机分别移动到X1,X2,X3,X4,采集图像并计算其清晰度值。三轴运动机构本身存在误差,无法准确移动到设定位置,但是误差在可接受范围。根据得到的相机位置以及相应位置图像的清晰度值求出两条曲线的交点位置,如此重复10次实验。得到粗定位正焦位置值如下表1所示。
No. Curve intersection position/mm 1 221.5709 2 221.5702 3 221.5724 4 221.5714 5 221.5720 6 221.5705 7 221.5737 8 221.5740 9 221.5746 10 221.5737 Table 1. Curve intersection position of 10 times approximate positioning
从表1可以看出,通过两条曲线交点进行粗定位算法的重复性最大误差为4.1 μm,与通过全局搜索算法得到的正焦位置10次最大误差为14.1 μm。由于该算法第二部分是在得到的曲线交点两边以图像间隔距离10 μm各采集2张图像,则5张图像的覆盖范围为以交点为中心的左右20 μm,可以把最高点包含,所以对于粗定位而言,14.1 μm的误差在可接受范围。
得到正焦位置的粗略位置X0后,将相机移动到该位置采集图像并计算图像的清晰度值。然后分别在曲线交点左右按10 μm间隔(X0−20,X0−10,X0+10,X0+20)各采集2张图像并计算图像的清晰度值。对得到的5组数据进行高斯曲线拟合,拟合曲线如图10所示,求出拟合高斯函数峰顶对应的横坐标值
$ {X}_{f} $ 。对上文得到的10个曲线交点依次在其左右按10 μm间隔各采集2张图像并计算其图像清晰度值,然后进行高斯曲线拟合曲线求出
$ {X}_{f} $ ,得到的10组数据如表2所示。No. $ {X}_{f} $/mm 1 221.5810 2 221.5853 3 221.5856 4 221.5856 5 221.5868 6 221.5846 7 221.5819 8 221.5827 9 221.5845 10 221.5855 Table 2. The on-focus position of 10 times Gaussian curve fitting
从表2数据可知,通过高斯曲线拟合的到的正焦位置与全局搜索算法的到的正焦位置相差无几,10次拟合得到正焦位置的重复性最大误差为5.3 μm。
在上述实验过程中,合成不标准确定度的主要影响因素为:(1)测量重复性引起的不确定度;(2)三轴运动机构示值误差引起的不确定度。
第一,对标准量块的拍摄面进行10次重复性对焦实验,其不确定度分量
$ {u}_{1} $ 为:第二,三轴运动机构的示值误差为(2.5+3×L/1000) μm (L为运动范围),在对量块的拍摄面进行对焦实验中,三轴运动机构最大移动范围为1 mm,则分布区间半宽a为:
假设示值误差服从均匀分布,取包含因子
$ k=\sqrt{3} $ ,则三轴运动机构示值误差引起的不确定度分量$ {u}_{2} $ 为:不确定度分量
$ {u}_{1} $ 和$ {u}_{2} $ 相互独立,则标准量块拍摄面对焦实验结果的合成标准不确定度u为:为了进一步验证文中算法的准确性,在量块后面再放一块量块,两个量块表面紧紧贴合,如图11和12所示。使用文中自动对焦算法分别求出第一个量块的拍摄面与第二个量块拍摄面的正焦位置,然后用后面量块正焦位置减去前面量块正焦位置的值与前面量块厚度T=10 mm比较。使用文中自动对焦算法对第一个量块的拍摄面进行对焦,得到正焦位置为x1=211.584 5 mm;对第二个拍摄面进行对焦,得到正焦位置为x2=221.585 3 mm,所以第一个量块的厚度为
$T’$ =x2−x1=10.000 8 mm。文中自动对焦算法得到的量块厚度与实际量块厚度差值为∆$={T’}-T=0.8\;\text{μ}{\rm{ m}}$ 。虽然相机景深大于0.8 μm,但是在实验中发现相机在景深范围内移动拍摄多张图像,多张图像之间的清晰度值有较大的差别,且越靠近正焦位置的图像清晰度值越大,最后通过高斯曲线拟合进一步提高对焦精度,所以景深远大于结果数值是合理的。实验验证了文中自动对焦算法的正确性和有效性。文中算法还可以用于测物体间距、测物体厚度等。对于物体间距测量,通过对焦算法找到两个物体表面的正焦位置,两物体表面的正焦位置值的差值即为物体间距。对于厚度测量,文中实验与结果分析中测量量块厚度即是实例,且得到很好的测量精度。