严重离焦状态下的自动聚焦实现
2015-03-18王灵国
蒋 涛,左 昉,王灵国
(北京科技大学自动化学院,北京100083)
引 言
数字成像技术在生活中已广泛应用,为了在无人操作的情况下获得清晰的图像,自动聚焦成为了成像系统中的关键组成部分之一。自动聚焦分主动聚焦和被动聚焦[1-2],主动聚焦是采用测距法,测量被测物体与成像面之间的距离,再利用成像原理计算得到准焦位置,主动聚焦因其结构复杂、成本高而没能被广泛应用;被动聚焦就是对采集到的图像数据进行分析,凭借图像清晰度评价算法和搜索方法控制聚焦电机移动到图像清晰的位置,被动聚焦精度高,且不需修改原成像系统,因而被人们普遍采用。
确定聚焦评价函数和极点搜索算法是被动聚焦的关键点。人们研究了多种聚焦评价函数[1-4],分析了各自的优劣长短,提出了某些算法的改进,用于自动聚焦都取得了不错的效果,但同时又都存在着局限性。传统的爬山法很容易陷入局部极值,后人提出了多种改进的爬山法。ZHENG[5]等人提出,根据当前变焦电机的位置和聚焦曲线大步长快速到达近焦区域,然后小步长渐进式搜索准焦位置。这种算法仅适用于显微镜之类物距不变或是变化不大的情况下,一旦物距变化很大,则算法不再适用。ZHENG[6]提出的算法是,首先让聚焦电机由当前位置移动到最一端,然后大步长扫描全程,过程中记录图像清晰度最大时聚焦电机的位置,然后在该位置附近小步长搜索,直到搜索到清晰位置。该算法聚焦精度高,但因为要扫描全程从而增加了聚焦时间,不适用于长焦镜头。ZHOU[4]等人提出的随机起点爬山算法分为3个阶段:测试爬山方向、搜索极点区域、区域内收敛到极点。后两个阶段和其它算法相似,第1个阶段由比较电机移动前后的聚焦函数值来确定当前的移动方向是否正确,这个方法有局限性,只有在清晰位置附近的范围内才适用,超出这个范围,即在严重离焦时,评价函数曲线会迅速趋于平稳,甚至出现伪波峰[6],如此则无法判定爬山方向。针对于此,本文中提出了一种新的爬山搜索策略,在严重离焦的状态下依然可以正确判断移动方向,从而减少聚焦时间。
1 自动聚焦算法
Fig.1 The corresponding figure of image processing data and motor position
图1 是作者在实际测试中得到的聚焦评价函数值和聚焦电机位置的对应关系图。清晰度评价函数采用的是Laplace梯度函数。聚焦电机的可移动范围是[0,aend],曲线a是物距较小时的关系曲线;曲线b是物距较大时的关系曲线;曲线c是物距较小时的图像模糊度和电机位置的关系曲线。在图中可以看出,只有在[a1,b1]区间和[a2,b2]区间上,曲线才具有单调性。为了保证聚焦的准确度,改进的清晰度算法只会缩小这两个区间。而在这两个区间内,SUN[2]等人阐述的几种适于自动聚焦的清晰度评价函数结合爬山搜索方法,基本都能实现准确对焦,所用时间基本相当。这样一来,自动聚焦所用的时间长短,主要就取决于聚焦电机移动方向的正确判断上。
如图1所示,聚焦电机在a1左边或是在b2右边时,可以直接确定聚焦电机的移动方向,当聚焦电机的起始位置在[b1,a2]区间时,因为不能确定当前的照射物体是近距离的还是远距离的,因而不能确定电机的移动方向。传统的爬山法,一般都是先移动到a1点左边的一小段距离,然后再往右移动搜索,这样一来,万一当前是近距离的物体,则聚焦电机事先的移动方向就反了,浪费了时间。针对这个问题,本文中提出了基于图像模糊度的方法来判断准焦点相对于当前位置的方向,从而缩短传统爬山法因盲目搜索而造成的时间浪费。
1.1 图像模糊度评价函数模型的建立
图像的模糊度和图像清晰度一样,也是表征图像信息的一个重要因素。图2中是对1幅图像在准焦和离焦状态下的直方图统计[7-9]。横坐标为灰度级,取值为0~255;纵坐标为该灰度级在整幅图中所出现的次数。从图中可以看出,图像越模糊,直方图有像素数目的范围越窄,向着图像均值的集中度也就越大,因此,作者设计了表征图像均值集中度的算法,具体算法如下:
式中,Fz为图像的模糊度;xavg为图像的灰度均值;xk为以均值为中心的一个范围半径,是一个待定值;p(xi)为灰度值xi在图像中出现的次数;wn(xi)为p(xi)对应的权值,n值待定。w(xi)的计算公式为:
Fig.2 The corresponding histogram and the image in different degrees of defocus
当物距较小时,取xk=20,n=2,图像模糊度和聚焦电机位置的对应曲线为图1中的c曲线,由该曲线可知,在聚焦电机的全程范围内,曲线都具有局部单调性。
1.2 图像清晰度评价函数
用于自动聚焦的清晰度评价函数都具有以下特征:单峰性、无偏性、灵敏度高、信噪比高、计算量小。本文中选取Laplace梯度函数,它的单峰性强、灵敏度高、计算量相对不大,可以满足实时性和准确性,适合作为自动聚焦的评价函数[1-2]。设图像中坐标为(x,y)处像素点的灰度值为g(x,y),则一幅像素总数为M×N的图像的Laplace梯度函数如下:
由于拍摄的景物是实时、动态的,所以即便聚焦系统在一个位置上不动,所计算得到的FL值依然会有很大的波动,为了消除这个干扰,引入一个阈值量G,使得FL′=FL/G,滤除掉FL值中波动的部分,以FL′作为最终的清晰度评价值,G在实际测试中得到。
1.3 优化的爬山搜索策略
先介绍一下传统的爬山搜索策略[6]。首先取一个初始位置a0,然后移动聚焦镜头到位置a1,比较这两个位置的图像清晰度评价值,如果f(a1)>f(a0),则说明镜头的移动方向是正确的,否则反方向移动聚焦镜头,直至f(an)>f(an-1)时再次反向移动聚焦镜头,直到f(an)和f(an-1)的差值小于某一个特定小的值则停止聚焦镜头。传统爬山法要求聚焦评价函数具有严格的单峰性,但因为实时聚焦过程中采取的画面是动态、实时的,往往很难满足这个要求,因此需要对此法做一定的改进。
设定第i步的图像模糊度值为Fz[xi],图像清晰度值为 FL′[xi],步长值为 sv,某一特定小的值为 ε,优化的爬山搜索流程图如图3所示。
Fig.3 Flow chart of improved search algorithm
首先,记录聚焦电机当前位置的图像模糊度Fz[x0],然后驱动聚焦电机以大步长向着一个方向移动,记录每一步的图像模糊度 Fz[xi],如果 Fz[xi]<Fz[xi-1]< Fz[xi-2],说明移动方向正确,反之,则说明移动方向反了,驱动电机向反转。然后每移动一步,都记录当前的清晰度值 FL′[xi];当 FL′[xi]< FL′[xi-1]<FL′[xi-2]时,说明镜头已经越过了准焦点,开始离焦;驱动电机以小步长反向移动,依然记录每一步的清晰度值;重复前两步,直到步长值小于规定的值,则让电机停止,聚焦成功。
2 实验结果
实验硬件主要包括CCD摄像机、视频采集器、数字信号处理器(digital signal processor,DSP)、高速存储器(synchronousdynamic random accessmemory,SDRAM)、控制器、变焦镜头(zoom lens)[10-12]。CCD摄像机完成光电信号的转换并输出模拟的视频信号(composite video broadcast signal,CVBS)。视频采集器选择TVP5150,它可以将输入的视频流转化为8位的ITU-R BT.656格式的视频数据,供DSP采集使用,且功耗低、封装小。DSP选用TMS320DM642,该处理器集成了3个功能丰富的视频口,通过配置和这些视频口相关的寄存器,可以通过视频口采集BT.656视频流,由增强型直接内存存取(enhance direct memory access,EDMA)通道把这些数据搬入片外存储器,在程序中可以调用图像数据进行处理。控制器选择STM32F103RBT6,该控制器的工作频率为72MHz,片上集成了高速存储器、多种通信接口、两个12位的模数转换器(analog to digital conversion,ADC),1个16位计时器等丰富的资源,控制器通过ADC采集变焦镜头的预置聚焦和预置变倍信号,从而确定电机的当前位置,通过串行外围设备接口(serial peripheral interface,SPI)线和DSP通信,返回图像的评价函数值,根据这个值,通过定时器输出占空比可调的脉冲宽度调制(pulse width modulation,PWM)波,拖动电机到准焦位置。系统的原理框图如图4所示。
Fig.4 Overall structure of system hardware
本文中选取LTC0630/11C型号的BOSCH摄像机,350mm焦距的Space变焦镜头,物距大约2km,聚焦窗口选择图像中心的1/4区域。图5是实际测试中,聚焦之前和聚焦之后的图像,聚焦用时5s。
Fig.5 Image before and after auto-focusing
3 结论
针对自动聚焦系统,在严重离焦的位置无法正确判定电机起始移动方向而造成聚焦时间长的问题,提出了基于图像模糊度的方法,在严重离焦状态下,利用图像模糊度函数来判断移动方向。实验结果证明,这种方法是可行的,一般在开始时,聚焦电机至多移动5步即可判断当前的移动方向是否准确,在不影响聚焦准确度的情况下,可以大幅度地减少聚焦时间。
[1] CHEN G J,ZHU M F,ZHANG K S.Image definition evaluation function in auto-focusing process[J].Journal of Data Acquisition &Processing,2009,24(2):165-169(in Chinese).
[2] SUN J,YUAN Y H,WANG Ch Y.Comparison and analysis of algorithms for digital image processing in autofocusing criterion[J].Acta Optica Sinica,2007,27(1):35-39(in Chinese).
[3] LI M M,WANG X S,LI J.Comparative study on the auto-focus definition function based on the image processing[J].Infrared and Laser Engineering,2010,39(s1):244-248(in Chinese).
[4] ZHOU X,JIANG W.Auto-focus algorithm based on image edge energy[J].Acta Optica Sinica,2006,32(2):213-215(in Chinese).
[5] ZHENG J,ZHANG Q G,WANG P.An improved autofocus searching algorithm and its implementation[J].Computer Development &Applications,2010,23(1):26-27(in Chinese).
[6] ZHENG Y Zh.Optimized mountain-climb searching in auto-focusing[J].Journal of Zhejiang University of Science and Technology,2005,17(3):171-174(in Chinese).
[7] PANG Sh L.Research on image blur assessment[D].Xi’an:Xidian University,2010:62-120(in Chinese).
[8] HUANG Q M.Research for digital image processing method based on ambiguity[D].Wuhan:Wuhan Polytechnic University,2007:64-139(in Chinese).
[9] WANG Z L,CHANG J,JIANG X Y,et al.Optimized method for space requirements based on histogram equalization[J].Laser Technology,2012,36(3):307-311(in Chinese).
[10] YOUNG K K,JUNE S L,YOU Y J,et al.An advanced camera system having fast auto-focus control[C]//International Conference on Consumer Electronics.New York,USA:IEEE,2001:210-211.
[11] SU P,NIU Y X,LI D Q,et al.Image acquisition and processing of a laser warning system based on planar array CCD[J].Laser Technology,2013,37(3):394-399(in Chinese).
[12] YU Ch H,JIANG X B,ZHANG Ch.Design of a camera auto-focusing system based on DSP technology[J].Journal of Shenyang Aerospace University,2012,29(4):68-71(in Chinese).