蔣 濤,左 昉,王靈國
(北京科技大學自動化學院,北京100083)
數字成像技術在生活中已廣泛應用,為了在無人操作的情況下獲得清晰的圖像,自動聚焦成為了成像系統中的關鍵組成部分之一。自動聚焦分主動聚焦和被動聚焦[1-2],主動聚焦是采用測距法,測量被測物體與成像面之間的距離,再利用成像原理計算得到準焦位置,主動聚焦因其結構復雜、成本高而沒能被廣泛應用;被動聚焦就是對采集到的圖像數據進行分析,憑借圖像清晰度評價算法和搜索方法控制聚焦電機移動到圖像清晰的位置,被動聚焦精度高,且不需修改原成像系統,因而被人們普遍采用。
確定聚焦評價函數和極點搜索算法是被動聚焦的關鍵點。人們研究了多種聚焦評價函數[1-4],分析了各自的優劣長短,提出了某些算法的改進,用于自動聚焦都取得了不錯的效果,但同時又都存在著局限性。傳統的爬山法很容易陷入局部極值,后人提出了多種改進的爬山法。ZHENG[5]等人提出,根據當前變焦電機的位置和聚焦曲線大步長快速到達近焦區域,然后小步長漸進式搜索準焦位置。這種算法僅適用于顯微鏡之類物距不變或是變化不大的情況下,一旦物距變化很大,則算法不再適用。ZHENG[6]提出的算法是,首先讓聚焦電機由當前位置移動到最一端,然后大步長掃描全程,過程中記錄圖像清晰度最大時聚焦電機的位置,然后在該位置附近小步長搜索,直到搜索到清晰位置。該算法聚焦精度高,但因為要掃描全程從而增加了聚焦時間,不適用于長焦鏡頭。ZHOU[4]等人提出的隨機起點爬山算法分為3個階段:測試爬山方向、搜索極點區域、區域內收斂到極點。后兩個階段和其它算法相似,第1個階段由比較電機移動前后的聚焦函數值來確定當前的移動方向是否正確,這個方法有局限性,只有在清晰位置附近的范圍內才適用,超出這個范圍,即在嚴重離焦時,評價函數曲線會迅速趨于平穩,甚至出現偽波峰[6],如此則無法判定爬山方向。針對于此,本文中提出了一種新的爬山搜索策略,在嚴重離焦的狀態下依然可以正確判斷移動方向,從而減少聚焦時間。

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點左邊的一小段距離,然后再往右移動搜索,這樣一來,萬一當前是近距離的物體,則聚焦電機事先的移動方向就反了,浪費了時間。針對這個問題,本文中提出了基于圖像模糊度的方法來判斷準焦點相對于當前位置的方向,從而縮短傳統爬山法因盲目搜索而造成的時間浪費。
圖像的模糊度和圖像清晰度一樣,也是表征圖像信息的一個重要因素。圖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曲線,由該曲線可知,在聚焦電機的全程范圍內,曲線都具有局部單調性。
用于自動聚焦的清晰度評價函數都具有以下特征:單峰性、無偏性、靈敏度高、信噪比高、計算量小。本文中選取Laplace梯度函數,它的單峰性強、靈敏度高、計算量相對不大,可以滿足實時性和準確性,適合作為自動聚焦的評價函數[1-2]。設圖像中坐標為(x,y)處像素點的灰度值為g(x,y),則一幅像素總數為M×N的圖像的Laplace梯度函數如下:

由于拍攝的景物是實時、動態的,所以即便聚焦系統在一個位置上不動,所計算得到的FL值依然會有很大的波動,為了消除這個干擾,引入一個閾值量G,使得FL′=FL/G,濾除掉FL值中波動的部分,以FL′作為最終的清晰度評價值,G在實際測試中得到。
先介紹一下傳統的爬山搜索策略[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]時,說明鏡頭已經越過了準焦點,開始離焦;驅動電機以小步長反向移動,依然記錄每一步的清晰度值;重復前兩步,直到步長值小于規定的值,則讓電機停止,聚焦成功。
實驗硬件主要包括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
針對自動聚焦系統,在嚴重離焦的位置無法正確判定電機起始移動方向而造成聚焦時間長的問題,提出了基于圖像模糊度的方法,在嚴重離焦狀態下,利用圖像模糊度函數來判斷移動方向。實驗結果證明,這種方法是可行的,一般在開始時,聚焦電機至多移動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).