郭建軍,劉彥隆,趙福梅
(太原理工大學通信與嵌入式實驗室,山西 太原 030024)
責任編輯:時 雯
近年來,伴隨著電子元器件和數字圖像處理技術的快速發展,自動聚焦技術日趨成熟并廣泛地應用于各個領域。自動聚焦系統主要是由圖像信息采集模塊、圖像清晰度分析模塊和焦距調整模塊3大部分組成。相比于人工調焦來說,自動聚焦具有比較高的精度和效率。目前,自動聚焦技術已經廣泛應用于顯微鏡、攝像機、照相機、視頻展示臺、衛星偵察等精密光學測量領域[1]。
截止到目前,國內外很多學者已經對自動聚焦的問題做了大量的研究。自動聚焦主要分為兩種方式:基于測距的主動式聚焦(比如利用紅外或超聲波測距);基于數字圖像處理的被動式聚焦。主動聚焦是通過測出的物與鏡頭之間的距離,然后根據這個實際距離計算出聚焦透鏡所在位置。被動聚焦是根據圖像信息的處理結果來確定聚焦方向,然后反復調節獲取最清晰的圖像[2]。本文是在Hi3515平臺上采用被動方式實現了自動聚焦。
Hi3515處理器系統基于高性能的ARM926處理器搭建,ARM926 CPU處理頻率達到400 MHz,能夠提供靈活和豐富的應用業務,以及高性能的音視頻業務。在此高性能的硬件平臺上實現了自動聚焦,從而取代了以往數字視頻展臺自動聚焦功能的實現方式,即80C51單片機配合DSP處理器或者80C51單片機配合FPGA的實現方式,不僅降低了功耗,更進一步降低了成本,提高了產品的市場競爭力。
此平臺以Hi3515音視頻處理芯片為主,1片內存為1 Gbyte的 DDR SDRAM 和1片256 Mbyte的 Nor Flash。DDR在系統運行時作為內存使用。Nor Flash上用于存放uboot、裁剪過的linux操作系統和根文件系統。推動步進電機是通過Hi3515芯片的SPI接口向μPD16835芯片發送控制字,然后μPD16835輸出脈沖驅動電機[3]。圖像采集部分使用的CMOS數字圖像傳感器,硬件平臺如圖1所示。

圖1 平臺的結構示意圖
由數字圖像處理的相關知識可知,圖像的聚焦程度主要是由光強分布中高頻分量的多少決定的。即高頻分量多則圖像清晰、圖像的細節越多,反之亦然。所以可以利用圖像高頻分量的多少作為圖像清晰與否的判斷依據[4]。經常用的有傅里葉變換(FFT)和離散余弦變換(DCT)。其中FFT變換是對復數進行處理的,其計算程度較為復雜,計算所需的時間長,而且此硬件平臺的CPU的運行速度最高也只有400 MHz,因此FFT的運算會占用很多CPU的時間,再加上驅動電機的時間,這樣會造成聚焦的時間很長。所以最終采用了變換簡單的且較為快速的4×4整數DCT變換。
二維的DCT正變換如式(1)所示

如果按照上式(1)編寫程序,將包含1個4重循環,這對于嵌入式平臺來說計算量就太大了。為了能找到適合此平臺的DCT算法,本文采用了4×4整數DCT變換,既達到了評價函數單峰性、無偏性的要求,又節約了大量的計算時間,使其能夠應用到實際的嵌入式平臺上。4×4整數DCT的變換如式(2)所示

式中:Y為4×4整數DCT變換的結果;X為一個4×4的矩陣,矩陣中的數值是采集到的1幅圖像中的亮度值,并且這些亮度值均為整數;A是1個4×4的常數矩陣;AT為A的轉置矩陣。矩陣A為

由于直流分量在一定程度上反映了圖像的整體亮度和總體信息,因而用高頻分量和直流分量的比值作為圖像清晰與否的判別依據,即比值G的最大值所對應的圖像為樣本圖像中最清晰的畫面,此位置就是所要找的聚焦清晰的位置。最終實際應用的基于改進型DCT變換的評價函數如式(4)所示

簡單傳統的盲人爬山法不僅容易受到局部極值的影響,而且很耗費時間。對于一款嵌入式產品,客戶對其功能實現的時間和精度是有一定要求的。相比而言,單調性法可以比較好地節約自動聚焦的時間,但其對評價函數的單調性要求較高。為了能進一步縮短聚焦時間并且精確地聚焦,本文采用了單調性法和盲人爬山法相結合的聚焦策略。因為評價函數具有比較好的單調性,所以可以先通過評價函數的單調性來粗略地找到評價函數峰值的大概位置,即圖像比較清晰的點。然后以此位置為原點,驅動電機在此原點附近左右各轉動4步,每轉動一步計算一下評價函數的值,其值最大的點即為圖像聚焦好的位置。最后驅動電機將聚焦鏡頭推到此位置,這樣就完成了自動聚焦。
在實際測試中,如果對整幅1280×1024的圖像做4×4整數DCT變換,那么它依然會占用比較多的時間,不能很好地滿足用戶對聚焦時間的要求。雖然能滿足評價函數的單調性、無偏性,但在此硬件平臺上仍然要繼續減少評價函數占用的時間。因此,在綜合考慮后只對整幅圖像的部分區域做整數DCT變換[5],變換區域的選取有如下3種方式。
1)如圖2所示在1280×1024的一幅圖像中截取了5個100×100的像素塊,對其進行了4×4整數DCT的變換。

圖2 截取5個100×100的像素塊
2)如圖3所示在圖像的正中心截取了一個300×200的像素塊進行4×4整數DCT的變換。
3)如圖4所示在圖像的正中心截取了一個300×200的像素塊,但只對其中的6個200×20的像素(即灰色區域的6個白條區域)進行4×4整數DCT變換。


經過反復的測試證明以上3種選擇變換區域的方法都能保證評價函數的單調性、無偏性,所以為了能更多的節約評價函數所耗費的時間,在實際應用中選擇了圖4中所示的變換區域。聚焦前后效果的對比如圖5、圖6所示,圖5是聚焦前的效果,圖6是自動聚焦后的清晰畫面。


本文所研究的基于Hi3515平臺的自動聚焦已成功應用于視頻展示臺,通過多方面的實驗和測試,其聚焦的速度和精度能夠滿足實際應用需求。盡管如此,在實際開發過程中發現周圍燈光的強弱程度會影響自動聚焦的效果。燈光太強或太弱都會影響聚焦的精度。所以基于此平臺的自動聚焦的實現還有待進一步提高,這樣才能滿足客戶更高的要求。
[1]張文愛,李逢磊,程永強.基于FPGA的步進電機驅動及自動聚焦的實現[J]. 電子技術應用,2008(5):31-31.
[2]謝攀,張利,康宗明,等.一種基于尺度變化的DCT自動聚焦算法[J]. 清華大學學報,2003(1):55-55.
[3]楊守建,鄔楊波.基于LPC2103的攝像頭自動聚焦系統[J].電腦與信息技術,2011(4):16-17.
[4]楊濤,左勇,陳曉梅.基于圖像處理的自動聚焦技術及應用[J].計算機仿真,2009(7):256-258.
[5]孫明磊,宗光華,余志偉,等.基于圖像分析的顯微視覺自動聚焦系統[J].北京航空航天大學學報,2005(20):195-196.