劉連杰 陳 朋 楊雷剛 俞 立
(浙江工業(yè)大學(xué)信息工程學(xué)院,杭州 310023)
隨著數(shù)字圖像技術(shù)的發(fā)展,自動聚焦技術(shù)的應(yīng)用范圍也不斷擴(kuò)大,現(xiàn)已在照相機(jī)、攝像機(jī)、顯微鏡等儀器中得到了廣泛應(yīng)用.如今基于圖像的自動聚焦不需要額外的輔助裝置所以被廣泛的用于數(shù)字?jǐn)z像機(jī)中.在視頻自動聚焦中,除了最終輸出的圖像必須有良好的主觀質(zhì)量以外,還需要保證聚焦過程中有良好的視覺效果.即聚焦需要滿足平滑性的要求.所謂平滑性指的是圖像只能從模糊變化到清晰,且圖像在變化過程平穩(wěn),不出現(xiàn)由清晰到模糊的虛晃現(xiàn)象[1].
傳統(tǒng)的自動聚焦搜索算法都只強(qiáng)調(diào)聚焦的快速性和精確性,而忽略了聚焦過程的平滑性.例如二值迭代搜索法[2]和基于規(guī)則的搜索法[2]中由于需要反復(fù)的往返于對焦點(diǎn)兩邊,使得聚焦過程中圖像反復(fù)變化,造成虛晃現(xiàn)象的多次出現(xiàn).三角形幾何算法[3]和曲線擬合算法[4]完全按照幾何方法來尋找聚焦點(diǎn)而忽略了人的主觀視覺感受.爬山法[5]作為現(xiàn)行算法中最適合實(shí)現(xiàn)平滑聚焦的搜索算法,但是在聚焦過程中存在很多問題,比如易陷入極值、搜索方向很難確定、聚焦時間長等.雖然文獻(xiàn)[6-7]中對爬山法有所改進(jìn),但還是無法解決實(shí)際聚焦中的平滑性問題.因此本文提出了自適應(yīng)聚焦搜索算法,該算法可同時實(shí)現(xiàn)快速、精確、平滑的視頻自動聚焦.
聚焦是指沿光軸方向改變鏡頭的位置,使得物像關(guān)系滿足高斯公式,從而獲取清晰的圖像[8].這就需要一種判別調(diào)焦是否已滿足物像共軛關(guān)系的方法,常用的自動聚焦采用基于圖像的方法,其自動聚焦系統(tǒng)框圖如圖1所示.首先視頻采集模塊將采集原始視頻圖像數(shù)據(jù)進(jìn)行格式化處理,輸出符合標(biāo)準(zhǔn)的視頻信號.然后圖像處理模塊對視頻采集模塊輸出標(biāo)準(zhǔn)的視頻信號,進(jìn)行數(shù)字圖像的獲取,并對圖像的清晰度值進(jìn)行評價.接著聚焦搜索模塊根據(jù)清晰度評價值,判定聚焦鏡頭是否已經(jīng)在聚焦位置,若沒有則計算下一步聚焦鏡頭所需移動的方向和步長,否則保持聚焦鏡頭位置不變.最后聚焦執(zhí)行模塊根據(jù)聚焦搜索模塊計算得到聚焦鏡頭移動方向和步長,給驅(qū)動鏡頭的步進(jìn)電機(jī)發(fā)送控制信號調(diào)整鏡頭位置,實(shí)現(xiàn)對鏡頭的調(diào)焦移動,從而得到最清晰的圖像畫面完成自動聚焦.
圖1 基于圖像的自動聚焦系統(tǒng)框圖
本文所論述的聚焦搜索算法就是運(yùn)行在上述的聚焦搜索模塊中,現(xiàn)行搜索算法中最常用的是爬山法(hill-climbing search).它是一種局部擇優(yōu)的方法,利用反饋信息幫助生成解的決策.如圖2所示的清晰度曲線,S0為初始位置,S3為聚焦位置.由于清晰度曲線呈單峰性,所以可以通過比較相鄰2個位置的清晰度值大小找到聚焦位置.這種搜索算法嚴(yán)重依賴清晰度曲線的單峰性,易陷入局部極值.并且初始搜索方向很難確定.當(dāng)達(dá)到峰值時,會有一個回溯的過程,如圖中的S2位置,如果S2離開焦點(diǎn)的位置過大,就會出現(xiàn)虛晃現(xiàn)象.因此為了解決上述問題,本文在爬山法的基礎(chǔ)上提出了自適應(yīng)聚焦搜索算法.
圖2 基于爬山法的聚焦搜索
自適應(yīng)搜索算法(SAS)由以下3個部分組成:①初始方向搜索;②步長自適應(yīng)調(diào)節(jié)機(jī)制;③聚焦判定機(jī)制.初始方向搜索是為了保證鏡頭朝著聚焦位置方向移動.然后在鏡頭移動的過程中,自適應(yīng)調(diào)節(jié)機(jī)制決定鏡頭的移動步長.最后聚焦判定機(jī)制決定是否已經(jīng)達(dá)到聚焦位置從而停止聚焦搜索.下面將詳細(xì)說明這三個部分的實(shí)現(xiàn).
初始方向的確定是整個搜索算法的關(guān)鍵.雖然圖像清晰度曲線有單峰性的特征,但是考慮到噪聲的干擾有可能出現(xiàn)局部極值現(xiàn)象.所以這里采用三點(diǎn)比較的方法來確定初始方向.首先根據(jù)初始鏡頭位置信息給出一個初始搜索方向,然后按照該方向和預(yù)設(shè)的步長對鏡頭進(jìn)行連續(xù)2次移動,得到3個鏡頭位置的清晰度值,分別記為S0,S1和S2.當(dāng)S2>S1>S0時,說明沿著預(yù)設(shè)的方向清晰度值遞增,所以實(shí)際方向就是預(yù)設(shè)方向,如圖3所示;當(dāng)S2<S1<S0時,說明沿著預(yù)設(shè)的方向清晰度值遞減,所以真實(shí)的方向是預(yù)設(shè)方向的反方向;其余情況則說明此時的清晰度變化不單調(diào),則增大步長繼續(xù)尋找.這里增大步長的目的是為了避免陷入極值區(qū)域.
圖3 尋找方向示意圖
為了在搜索過程中,保持圖像的平滑聚焦,按清晰度值將清晰度曲線分成3個區(qū)域如圖4所示.當(dāng)歸一化清晰度值小于0.2時為平滑區(qū)域,大于0.6時為聚焦區(qū)域,其余為爬坡區(qū)域.在不同區(qū)域采用不同的搜索步長,并進(jìn)行自適應(yīng)步長修正.在平滑區(qū)域使用大步長為了更快的收斂到聚焦點(diǎn).在爬坡區(qū)域采用等梯度搜索,這樣可以保證聚焦的平滑性.在聚焦區(qū)域進(jìn)行小步長搜索,保證聚焦的精確性.在具體搜索時,采用步長系數(shù)來控制步長進(jìn)行自適應(yīng)調(diào)整.計算如下式所示:
圖4 清晰度曲線區(qū)域劃分
式中,Sstep為搜索步長;Sinit為基本步長,一般取值為焦深的1/4,Cstep是步長的控制系數(shù).
在搜索過程中,首先根據(jù)搜索方向進(jìn)行鏡頭位置的移動,當(dāng)前位置的清晰度值記為S1,移動后的清晰度值記為S2,兩幀之間的差的絕對值記為:Ds=|S2-S1|.根據(jù)Ds進(jìn)行步長系數(shù)的自適應(yīng)調(diào)整.因?yàn)樵诓煌瑓^(qū)域中,所需要的步長調(diào)整不一,所以自適應(yīng)調(diào)整策略按區(qū)域劃分如表1所示.表中有T1和T2作為Ds的2個閾值,當(dāng)Ds<T1時,說明步長過小,則步長系數(shù)增加.當(dāng)Ds>T2時,說明步長過大,將步長系數(shù)置初始值.其他情況下步長系數(shù)保持不變.
表1 不同區(qū)域中步長系數(shù)的自適應(yīng)調(diào)整
現(xiàn)有爬山法的聚焦判定機(jī)制是當(dāng)清晰度值減小時即認(rèn)為已過聚焦點(diǎn).在聚焦判定時為了實(shí)現(xiàn)平滑聚焦,此時的步長應(yīng)該盡可能的小,從而避免出現(xiàn)虛晃現(xiàn)象.但是由于噪聲的存在,這種方法又很容易出現(xiàn)誤聚焦現(xiàn)象.而且當(dāng)出現(xiàn)局部極值的時候,搜索算法因達(dá)到終止條件而出現(xiàn)離焦現(xiàn)象.為了解決上述矛盾,本文采用連續(xù)兩次減少才判定已過聚焦點(diǎn)的方法,然后反方向以基本步長搜索,并記錄最大清晰度值Smax以及對應(yīng)的鏡頭位置Pmax作為聚焦位置.為了實(shí)現(xiàn)平滑聚焦避免出現(xiàn)虛晃現(xiàn)象,整個過程都以基本步長進(jìn)行搜索.
為了驗(yàn)證提出的算法的有效性,這里采集了幾種典型的視頻場景.由于篇幅限制這里只給出場景A,如圖5(a)所示.然后對該場景拍攝110幀圖像序列,對每一幅圖像用Tenengrad算法[9]進(jìn)行圖像清晰度計算并進(jìn)行歸一化處理.對應(yīng)的清晰度曲線如圖5(b)所示,其橫坐標(biāo)為圖像的序列號,縱坐標(biāo)為聚焦評價函數(shù)的歸一化值.為了測試算法的抗干擾性,對場景A的部分圖像序列加入高斯噪聲,以模擬對存在局部極值的清晰度曲線的搜索.如圖6中干擾情況1的清晰度曲線,是對序列號為78的圖像序列進(jìn)行高斯噪聲處理;如圖6中干擾情況2的清晰度曲線,是對序列號位62,66以及88的圖像序列進(jìn)行高斯噪聲處理.
圖5 測試場景及清晰度曲線
圖6 增加干擾后的清晰度曲線
為了驗(yàn)證本文提出的自適應(yīng)搜索算法(SAS)的有效性,從現(xiàn)有算法中選擇了文獻(xiàn)[6]中的快速爬山算法(FCS)、文獻(xiàn)[7]中改進(jìn)的爬山法(MCS)與其進(jìn)行比較.實(shí)驗(yàn)從算法的速度、抗干擾性和平滑性3個方面對3種算法進(jìn)行對比測試.
首先是聚焦速度的測試,因?yàn)榫劢沟牟綌?shù)多少直接反應(yīng)了聚焦速度的快慢,所以這里用聚焦步數(shù)來衡量算法的優(yōu)劣.對圖5(b)中清晰度曲線,用上述的3種算法分別進(jìn)行搜素,其實(shí)驗(yàn)測試結(jié)果見表2.有實(shí)驗(yàn)結(jié)果可知SAS在搜索步數(shù)上要少于FCS和MCS,即在聚焦速度上能更快的達(dá)到聚焦點(diǎn).
表2 搜索步數(shù)比較結(jié)果
然后是搜索算法的抗干擾性測試,為了定量的表征搜索算法的抗干擾能力,定義了聚焦成功率:聚焦成功次數(shù)除以總的聚焦次數(shù).用上述的3種算法對圖6中的增加干擾后的清晰度曲線分別進(jìn)行搜索,其測試結(jié)果如表3所示.由表3的聚焦成功率結(jié)果可知,SAS相比FCS和MCS具有更高的抗干擾能力.
表3 聚焦成功率比較結(jié)果 %
最后是平滑性測試,這里因篇幅限制只給出采用SAS的測試結(jié)果,整個聚焦過程如圖7所示.可以發(fā)現(xiàn)在聚焦過程中圖像由模糊逐漸變成清晰,而不出現(xiàn)虛晃現(xiàn)象.整個聚焦過程中人的視頻主觀性良好.綜上所述,提出的算法在聚焦速度、抗干擾性和聚焦平滑性上都優(yōu)于文獻(xiàn)[6]中的快速爬山法和文獻(xiàn)[7]中的改進(jìn)爬山法.
圖7 平滑性測試結(jié)果
本文提出了應(yīng)用于視頻平滑聚焦的自適應(yīng)搜索算法,該算法從搜索方向的尋找、自適應(yīng)步長搜索和聚焦判斷機(jī)制3個方面進(jìn)行了算法設(shè)計.通過聚焦速度、抗干擾性、聚焦平滑性3個方面實(shí)驗(yàn)證明,提出的自適應(yīng)搜索算法能夠很好地滿足聚焦過程輸出的圖像必須符合人眼觀察的特性,同時還能保證聚焦的速度和精度.
References)
[1]胡鳳萍.視頻自動聚焦方法研究與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),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]胡濤,陳世哲,劉國棟.大范圍自動調(diào)焦快速搜索算法[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].計算機(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]徐健峰.基于手持式圖像采集系統(tǒng)的自動聚焦研究[D].杭州:浙江大學(xué),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的自動聚焦系統(tǒng)[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)