一种用于平滑视频聚焦的自适应搜索算法
2010-08-16刘连杰杨雷刚
刘连杰 陈 朋 杨雷刚 俞 立
(浙江工业大学信息工程学院,杭州 310023)
随着数字图像技术的发展,自动聚焦技术的应用范围也不断扩大,现已在照相机、摄像机、显微镜等仪器中得到了广泛应用.如今基于图像的自动聚焦不需要额外的辅助装置所以被广泛的用于数字摄像机中.在视频自动聚焦中,除了最终输出的图像必须有良好的主观质量以外,还需要保证聚焦过程中有良好的视觉效果.即聚焦需要满足平滑性的要求.所谓平滑性指的是图像只能从模糊变化到清晰,且图像在变化过程平稳,不出现由清晰到模糊的虚晃现象[1].
传统的自动聚焦搜索算法都只强调聚焦的快速性和精确性,而忽略了聚焦过程的平滑性.例如二值迭代搜索法[2]和基于规则的搜索法[2]中由于需要反复的往返于对焦点两边,使得聚焦过程中图像反复变化,造成虚晃现象的多次出现.三角形几何算法[3]和曲线拟合算法[4]完全按照几何方法来寻找聚焦点而忽略了人的主观视觉感受.爬山法[5]作为现行算法中最适合实现平滑聚焦的搜索算法,但是在聚焦过程中存在很多问题,比如易陷入极值、搜索方向很难确定、聚焦时间长等.虽然文献[6-7]中对爬山法有所改进,但还是无法解决实际聚焦中的平滑性问题.因此本文提出了自适应聚焦搜索算法,该算法可同时实现快速、精确、平滑的视频自动聚焦.
1 自动聚焦系统组成
1.1 基于图像的自动聚焦系统
聚焦是指沿光轴方向改变镜头的位置,使得物像关系满足高斯公式,从而获取清晰的图像[8].这就需要一种判别调焦是否已满足物像共轭关系的方法,常用的自动聚焦采用基于图像的方法,其自动聚焦系统框图如图1所示.首先视频采集模块将采集原始视频图像数据进行格式化处理,输出符合标准的视频信号.然后图像处理模块对视频采集模块输出标准的视频信号,进行数字图像的获取,并对图像的清晰度值进行评价.接着聚焦搜索模块根据清晰度评价值,判定聚焦镜头是否已经在聚焦位置,若没有则计算下一步聚焦镜头所需移动的方向和步长,否则保持聚焦镜头位置不变.最后聚焦执行模块根据聚焦搜索模块计算得到聚焦镜头移动方向和步长,给驱动镜头的步进电机发送控制信号调整镜头位置,实现对镜头的调焦移动,从而得到最清晰的图像画面完成自动聚焦.
图1 基于图像的自动聚焦系统框图
1.2 基于爬山法的聚焦搜索
本文所论述的聚焦搜索算法就是运行在上述的聚焦搜索模块中,现行搜索算法中最常用的是爬山法(hill-climbing search).它是一种局部择优的方法,利用反馈信息帮助生成解的决策.如图2所示的清晰度曲线,S0为初始位置,S3为聚焦位置.由于清晰度曲线呈单峰性,所以可以通过比较相邻2个位置的清晰度值大小找到聚焦位置.这种搜索算法严重依赖清晰度曲线的单峰性,易陷入局部极值.并且初始搜索方向很难确定.当达到峰值时,会有一个回溯的过程,如图中的S2位置,如果S2离开焦点的位置过大,就会出现虚晃现象.因此为了解决上述问题,本文在爬山法的基础上提出了自适应聚焦搜索算法.
图2 基于爬山法的聚焦搜索
2 自适应聚焦搜索算法
自适应搜索算法(SAS)由以下3个部分组成:①初始方向搜索;②步长自适应调节机制;③聚焦判定机制.初始方向搜索是为了保证镜头朝着聚焦位置方向移动.然后在镜头移动的过程中,自适应调节机制决定镜头的移动步长.最后聚焦判定机制决定是否已经达到聚焦位置从而停止聚焦搜索.下面将详细说明这三个部分的实现.
2.1 初始方向搜索
初始方向的确定是整个搜索算法的关键.虽然图像清晰度曲线有单峰性的特征,但是考虑到噪声的干扰有可能出现局部极值现象.所以这里采用三点比较的方法来确定初始方向.首先根据初始镜头位置信息给出一个初始搜索方向,然后按照该方向和预设的步长对镜头进行连续2次移动,得到3个镜头位置的清晰度值,分别记为S0,S1和S2.当S2>S1>S0时,说明沿着预设的方向清晰度值递增,所以实际方向就是预设方向,如图3所示;当S2<S1<S0时,说明沿着预设的方向清晰度值递减,所以真实的方向是预设方向的反方向;其余情况则说明此时的清晰度变化不单调,则增大步长继续寻找.这里增大步长的目的是为了避免陷入极值区域.
图3 寻找方向示意图
2.2 步长自适应调节机制
为了在搜索过程中,保持图像的平滑聚焦,按清晰度值将清晰度曲线分成3个区域如图4所示.当归一化清晰度值小于0.2时为平滑区域,大于0.6时为聚焦区域,其余为爬坡区域.在不同区域采用不同的搜索步长,并进行自适应步长修正.在平滑区域使用大步长为了更快的收敛到聚焦点.在爬坡区域采用等梯度搜索,这样可以保证聚焦的平滑性.在聚焦区域进行小步长搜索,保证聚焦的精确性.在具体搜索时,采用步长系数来控制步长进行自适应调整.计算如下式所示:
图4 清晰度曲线区域划分
式中,Sstep为搜索步长;Sinit为基本步长,一般取值为焦深的1/4,Cstep是步长的控制系数.
在搜索过程中,首先根据搜索方向进行镜头位置的移动,当前位置的清晰度值记为S1,移动后的清晰度值记为S2,两帧之间的差的绝对值记为:Ds=|S2-S1|.根据Ds进行步长系数的自适应调整.因为在不同区域中,所需要的步长调整不一,所以自适应调整策略按区域划分如表1所示.表中有T1和T2作为Ds的2个阈值,当Ds<T1时,说明步长过小,则步长系数增加.当Ds>T2时,说明步长过大,将步长系数置初始值.其他情况下步长系数保持不变.
表1 不同区域中步长系数的自适应调整
2.3 聚焦判定机制
现有爬山法的聚焦判定机制是当清晰度值减小时即认为已过聚焦点.在聚焦判定时为了实现平滑聚焦,此时的步长应该尽可能的小,从而避免出现虚晃现象.但是由于噪声的存在,这种方法又很容易出现误聚焦现象.而且当出现局部极值的时候,搜索算法因达到终止条件而出现离焦现象.为了解决上述矛盾,本文采用连续两次减少才判定已过聚焦点的方法,然后反方向以基本步长搜索,并记录最大清晰度值Smax以及对应的镜头位置Pmax作为聚焦位置.为了实现平滑聚焦避免出现虚晃现象,整个过程都以基本步长进行搜索.
3 实验结果及分析
为了验证提出的算法的有效性,这里采集了几种典型的视频场景.由于篇幅限制这里只给出场景A,如图5(a)所示.然后对该场景拍摄110帧图像序列,对每一幅图像用Tenengrad算法[9]进行图像清晰度计算并进行归一化处理.对应的清晰度曲线如图5(b)所示,其横坐标为图像的序列号,纵坐标为聚焦评价函数的归一化值.为了测试算法的抗干扰性,对场景A的部分图像序列加入高斯噪声,以模拟对存在局部极值的清晰度曲线的搜索.如图6中干扰情况1的清晰度曲线,是对序列号为78的图像序列进行高斯噪声处理;如图6中干扰情况2的清晰度曲线,是对序列号位62,66以及88的图像序列进行高斯噪声处理.
图5 测试场景及清晰度曲线
图6 增加干扰后的清晰度曲线
为了验证本文提出的自适应搜索算法(SAS)的有效性,从现有算法中选择了文献[6]中的快速爬山算法(FCS)、文献[7]中改进的爬山法(MCS)与其进行比较.实验从算法的速度、抗干扰性和平滑性3个方面对3种算法进行对比测试.
首先是聚焦速度的测试,因为聚焦的步数多少直接反应了聚焦速度的快慢,所以这里用聚焦步数来衡量算法的优劣.对图5(b)中清晰度曲线,用上述的3种算法分别进行搜素,其实验测试结果见表2.有实验结果可知SAS在搜索步数上要少于FCS和MCS,即在聚焦速度上能更快的达到聚焦点.
表2 搜索步数比较结果
然后是搜索算法的抗干扰性测试,为了定量的表征搜索算法的抗干扰能力,定义了聚焦成功率:聚焦成功次数除以总的聚焦次数.用上述的3种算法对图6中的增加干扰后的清晰度曲线分别进行搜索,其测试结果如表3所示.由表3的聚焦成功率结果可知,SAS相比FCS和MCS具有更高的抗干扰能力.
表3 聚焦成功率比较结果 %
最后是平滑性测试,这里因篇幅限制只给出采用SAS的测试结果,整个聚焦过程如图7所示.可以发现在聚焦过程中图像由模糊逐渐变成清晰,而不出现虚晃现象.整个聚焦过程中人的视频主观性良好.综上所述,提出的算法在聚焦速度、抗干扰性和聚焦平滑性上都优于文献[6]中的快速爬山法和文献[7]中的改进爬山法.
图7 平滑性测试结果
4 结语
本文提出了应用于视频平滑聚焦的自适应搜索算法,该算法从搜索方向的寻找、自适应步长搜索和聚焦判断机制3个方面进行了算法设计.通过聚焦速度、抗干扰性、聚焦平滑性3个方面实验证明,提出的自适应搜索算法能够很好地满足聚焦过程输出的图像必须符合人眼观察的特性,同时还能保证聚焦的速度和精度.
References)
[1]胡凤萍.视频自动聚焦方法研究与实现[D].西安:西安电子科技大学,2008.
[2]Kehtarnavaz N.Development and real-time implementation of a rule-based auto-focus algorithm[J].Real-Time Imaging,2003,9(3):197-203.
[3]胡涛,陈世哲,刘国栋.大范围自动调焦快速搜索算法[J].光电子激光,2006,17(4):464-467.Hu Tao,Chen Shizhe,Liu Guodong.Algorithm of rapid auto-focusing with a long-range[J].Journal of Optoelectronics·Laser,2006,17(4):464-467.(in Chinese)
[4]Batten Christopher F.Auto focusing and astigmatism correction in the scanning electron microscope[D].Cambridge:University of Cambridge,2000.
[5]He Jie,Zhou Rongzhen,Hong Zhiliang.Modified fast climbing search auto-focus algorithm with adaptive step size searching technique for digital camera[J].IEEE Transactions on Consumer Electronics,2003,49(2):257-262.
[6]王勇,王典洪.基于图像清晰度的快速自动聚焦算法[J].计算机测量与控制,2008,16(3):370-372.
Wang Yong,Wang Dianhong.Implementation of fast auto-focus algorithm based on image definition[J].Computer Measurement&Control,2008,16(3):370-372.(in Chinese)
[7]徐健峰.基于手持式图像采集系统的自动聚焦研究[D].杭州:浙江大学,2007.
[8]Chen Chih-yung,Wang Rey-chue H,Chen Yu-ju.A passive auto-focus camera control system[J].Applied Soft Computing,2010,10(1):296-303.
[9]王凤宇,王睿,张广军.基于DSP的自动聚焦系统[J].光电工程,2007,34(8):134-138.
Wang Fengyu,Wang Rui,Zhang Guangjun.Auto-focusing system based on DSP[J].Opto-Electronic Engineering,2007,34(8):134-138.(in Chinese)