摘 要: 为了提高计算机视觉检测系统的精度与效率,对几种典型的自动调焦算法进行详细对比与分析,提出一种改进的新型复合式自动调焦算法:首先利用灰度变化率和函数分段线性插值实现函数大范围快速粗调焦;再利用梯度向量平方函数二次插值实现函数峰值点附近微小区域的精确调焦;对改进调焦算法进行测试并做出客观分析。实验结果表明,改进后的算法自动调焦精度高、速度快,且搜索范围大、通用性强,已在数字刀具测量仪中成功应用。
关键词: 计算机视觉检测;自动调焦;评价函数;复合算法;分段线性插值;二次插值
0 引言
在计算机视觉检测系统中,离焦图像的调焦质量直接影响整个测量系统的性能,只有被测图像始终保持在CCD镜头的焦平面时,才能保证图像的清晰度和恒定的光学放大系数,从而保证系统测量的精度与效率。图像的聚焦程度可通过调焦算法来衡量,在典型的自动调焦算法中,高精度与高效率通常是互斥的,难以满足实际需要:在较大的调焦范围内使用较小步长的爬山法时调焦精度高,但通常需要数十秒才能获得满意的调焦精度;在小范围内的调焦速度较快,但难以保证调焦精度。针对不同典型自动调焦算法的特性,提出一种复合式自动调焦算法,它通过两种典型自动调焦算法的有机结合,实现了图像的高精度、高效率自动调焦。
1 调焦判据与评价函数分析
1.1 调焦判据
调焦判据是一种在光学系统中判断调焦是否满足物像共轭关系的标准。根据牛顿光公式可知,物与共轭面越接近,采集的图像越清晰;越远离,图像越模糊;当物与共轭面重合时,图像各点间的灰度对比关系最明显。这就是实现调焦判别的理论依据。如图1所示,物方焦点F为原点,它到物点的距离为x;像方焦点F′为原点,它到像点的距离为x′,物高和像高分别用y和y′表示(图1采用笛卡儿符号规则决定正负方向)[1-3]。
根据几何三角形关系有:
式(3)表示理想光学系统物、像位置关系。
1.2 调焦评价函数分析
调焦评价函数的基本特性:单峰性、半宽度、一致性、灵敏度、响应性和稳定性。分别用绝对方差函数、Roberts梯度函数、梯度向量模方函数、梯度向量平方函数、Brenner函数、拉普拉斯函数、Tenengrad函数、均方差函数与灰度变化率和函数在相同环境中处理同一组图像,在成像清晰的附近区域每隔10 μm采集一幅图像,共得到90幅图像。对比分析处理结果可知:
(1)绝对方差函数与梯度向量模方函数的曲线平滑性差,波动剧烈,存在多个极值点,容易误调焦,稳定性较差,应舍弃。
(2)均方差函数及灰度变化率和函数具有较大的自动调焦范围,计算速度适中,近似线性变化,但是灵敏度低,适用于大范围快速粗调焦,其中灰度变化率和函数的稳定性要优于均方差函数。
(3)Robert梯度函数、Brenner函数与梯度向量平方函数的中等调焦范围内灵敏度适中,在焦点附近微小区域内灵敏度较高,稳定性好,适用于中等范围内的自动调焦。
(4)拉普拉斯函数与Tenengrad函数灵敏度较高,稳定性较好,但需要进行大量的平方开方运算,计算速度慢,存在偏差,适合用于小范围精确调焦[4]。
2 复合式自动调焦算法
2.1 复合式调焦评价函数的选择
灰度变化率和函数理论基础是:图像在离焦时会模糊不清,各像素之间的灰度值变化平缓;当越接近正焦平面时,各像素之间的灰度值急剧变化[5-6]。首先选取基准灰度值g(x0,y0),则其余像素g(x,y)与基准灰度值 g(x0,y0)的相对变化率为:
灰度变化率和函数为:
精确调焦选用梯度向量平方函数,其数学表达式为:
2.2 复合式自动调焦策略设计
2.2.1 正交平面粗调焦
调焦评价函数的灵敏度与调焦区域大小呈线性关系,增大调焦评价区域有助于提高自动调焦的精度。大范围内快速粗调焦选用灰度变化率和函数,它的函数曲线关于正焦平面对称,可用分段线性插值求得一等腰三角形近似代替求解[7]。等腰三角形的高为fh,底边长约为2a[6]。如图2所示,正焦平面两侧有3帧图像,其调焦评价函数值分别为f1、f2、f3,帧间与光轴的分别相距d1、d2,且第2、3帧图像与正焦平面分别相距p、q,根据几何三角形相似有:
由式(7)可解得:
在实际应用中,当算法开始时在同一方向以1/2景深采集3帧图像,其对应的函数值分别为K1、K2、K3。若K1<K2<K3,说明此时处于爬坡阶段;若K1>K2且K2<K3或K1<K2且K2>K3,说明此时遇到局部噪声,仍处于爬坡阶段;而后选用3倍景深为步长进行快速调焦搜索,当相邻两点函数值差值为负值时停止,通过式(8)计算得到p或q的值,从而快速把CCD镜头移动到正焦平面粗略位置[8]。
2.2.2 正交平面精确调焦
在确定正焦平面粗略位置后,在峰值点附近微小区域选取梯度向量平方函数再次调焦以提高正焦平面的调焦精度,其函数曲线形状与二次曲线相似,如图3所示。
二次插值函数的一般数学表达式为:
L(x)=l0(x)y0+l1(x)y1+l2(x)y2(9)
在正焦平面粗略位置采集一帧图像,其调焦距离为x4,调焦函数值为f4;在正焦平面粗略位置两侧1/2景深再分别采集一帧图像,其调焦距离为x5、x6,调焦函数值为f5、f6,则该二次插值曲线表达式为:
欲求正焦平面的精确位置即是求二次插值曲线的极值点u,需对式(10)求导数并令其等于0即可,极值点u的计算公式为:
根求取的u值是调焦初始位置到正焦平面精确位置的距离,需将CCD镜头从粗略位置移动(u-p)m实现镜头可精确对焦。若有更高的调焦精度要求,可多次重复此过程并求取u的平均值,以减小随机误差。
3 探究实验与结果分析
在视觉坐标测量仪上对复合式自动调焦算法的特性参数进行实验。相机采用日本Sony公司的F717系列,采集574×764的图像,镜头采用日本Computar公司的M3Z1228C-MP工业镜头,采用投射式0.68 μm LED红色光源照明,采用柯拉照明方式以获取亮度均匀的良好视场。
在实验中分别对线纹尺、精细掩膜和条形码进行了算法性能测试。实验过程:首先,移动镜头至远离正焦平面的位置,得到熵极值的尺寸为256×256的子图像,在此图像6 mm范围内利用Visual Basic语言自主研发的软件控制镜头沿坐标测量仪缓慢、平稳移动,分别测得灰度变化率和函数与梯度向量平方函数归一化调焦曲线,分别如图4、图5所示。从图中可以看出,灰度变化率和函数图像的半宽度过大,调焦精度有限,梯度向量平方函数的调焦范围不大,仅能实现1 500 μm左右范围的自动调焦。
选中灰度率和函数调焦范围内一点为调焦起点,以3倍景深为初始步长,使用复合式自动调焦算法进行实验。当进行大范围快速粗略调焦时将伺服电机的运行速度控制在5 000 pulse/s左右,峰值微小区域精确调焦时将伺服电机的运行速度控制在2 000 pulse/s左右,CCD数码相机的曝光时间约为100 ms,灰度变化率和函数的计算时间约为1 ms,梯度向量平方函数的计算时间约为2 ms,实验数据如表1所示。
由表1中数据计算可知,复合式自动调焦算法的调焦范围大,在±1 800 μm范围内调焦精度可达10 μm;粗略调焦时采集16帧图像即满足调焦条件实现正焦,平均耗时9 s;精确调焦时采集8帧图像即满足调焦条件实现正焦,平均耗时5 s。
4 结论
复合式自动调焦算法充分利用了灰度变化率和函数与梯度向量平方函数两种典型自动调焦算法的优点进行互补,克服了传统调焦算法高精度与高效率互斥的矛盾,同时具有调焦范围大、通用性强的优点,能够完全满足计算机视觉检测系统要求的使用标准,对非接触型的精密测量的发展有一定的积极作用。
参考文献
[1] 王健.基于图像处理的自动调焦技术研究[D].北京:中国科学院研究生院(光电技术研究所),2013.
[2] 黄德天.基于图像技术的自动调焦方法研究[D].长春:中国科学院研究生院(长春光学精密机械与物理研究所),2013.
[3] 刘雪超.基于数字图像处理的自动调焦技术研究[D].长春:中国科学院研究生院(长春光学精密机械与物理研究所),2014.
[4] 胡涛,陈世哲,刘国栋,等.大范围自动调焦快速搜索算法[J].光电子·激光,2006(4):464-467.
[5] 莫春红,刘波,丁璐,等.一种梯度阈值自动调焦算法[J].红外与激光工程,2014,43(1):323-327.
[6] 史红伟,石要武,杨爽.光学显微镜自动调焦指导函数的评价与选择[J].计算机辅助设计与图形学学报,2013,25(2):235-240.
[7] 杨再华,李玉和,李庆祥,等.一种粗精结合的图像反馈自动调焦方法[J].计算机工程与设计,2005,26(9):2271-2273.
[8] 瞿蓬,林喜荣.一种基于图像处理的自动调焦系统[J].电子技术应用,2002,28(10):33-35.