胡樂新
在傳統(tǒng)的數字成像系統(tǒng)中,目標經過光學成像系統(tǒng)在CCD或CMOS上成像,對焦系統(tǒng)會對此成像進行人工或者自動判斷,在對焦效果最合適的情況下CCD或CMOS將該影像轉化為數字數據,按照一定的壓縮協(xié)議存成文檔,得到目標的數字圖像。連續(xù)不斷的采集影像并存儲在一個影像格式的文件里,就得到了動態(tài)影像數據。
這一過程包括兩個獨立的環(huán)節(jié):對焦和圖像采集。
對焦過程用于判斷光學系統(tǒng)的對焦效果,準備在最合適的對焦位置上采集圖像數據。對焦判斷有人工和自動兩種方式。人工判斷即通過主觀感受來評價對焦效果。自動判斷多通過分析圖像的銳度來尋找最清晰的圖像。當對焦成功時,目標所成的圖像剛好落在成像CCD或CMOS上,這時采集到的圖像銳度達到最高值。
圖像的采集是指對焦成功后對CCD或CMOS上的光學影像進行光電轉換,將其采集整理成為數字影像文件的過程。
這種傳統(tǒng)成像技術獲取的圖像記錄了目標在上下左右兩個方向上的尺度、顏色和亮度信息,但是無法反映目標在前后方向上的空間信息。要理解目標的空間形狀和尺度,往往需要對二維影像進行人工分析和理解,不利于應用計算機進行自動化處理。
現(xiàn)有技術中對于前后方向上的測量方法較為有限,常見的有紅外測距和超聲測距等。這些方法多用于對焦系統(tǒng)的初略測距,不能精確反映目標的三維空間形狀細節(jié)。因此,有必要對此領域展開深入一步的研究。[1]
分析傳統(tǒng)的數字成像過程,可以發(fā)現(xiàn)它有兩個明顯的特點:
其一是對焦過程和圖像采集過程分屬完全獨立的兩個串行環(huán)節(jié)。也就是說,對焦過程中的數據僅用于對焦成功與否的判斷。一旦找到合適的對焦點,對焦過程中的數據就被廢棄,不做他用。
其二是對焦成功與否的判斷是基于整幅圖像來進行的,并沒有注意到圖像不同區(qū)域之間的細節(jié)差異。
事實上,如果打破對焦和圖像采集分析這兩個環(huán)節(jié)之間藩籬,充分利用對焦過程中的數據來對目標不同部位之間的細節(jié)差異加以分析,就可以得到比傳統(tǒng)方法更多的信息。
根據光學成像原理,1/U+1/V=1/F。其中U為物距,V為像距,F(xiàn)為透鏡的焦距。一個空間幾何體的不同部分距離鏡頭的距離不同,它們經過同一套光學系統(tǒng)后所成的像會分布在不同的位置。在對焦調節(jié)的過程中,各個部分自然會在不同的鏡頭位置上實現(xiàn)成功對焦。傳統(tǒng)成像過程中,由于鏡頭存在景深,這種目標體不同部位間的對焦點差異一般被忽略不計。但是如果能夠找到并測量出這種差異,就可以通過光學原理反推出目標體各部分距離鏡頭的距離差異,從而刻畫出目標體各部分在前后方向上的空間分布,得到目標體的三維空間形狀。
為了觀察目標各部分的細節(jié)變化,可以將目標影像按行列進行分割,生成一個矩陣。當對焦馬達從頭到尾移動鏡頭時,矩陣中的各個部分會經歷從模糊到清晰再到模糊的過程。各個部分會在各自的鏡頭位置上得到最清晰的圖像。記錄和觀察矩陣各部分的變化過程,記錄下各部分得到各自最清晰圖像時的鏡頭位置。根據光學成像原理,可以通過這些鏡頭位置的數據反算出目標體各部分距離鏡頭的不同距離。從而得到鏡前目標的三維空間信息。
這一過程可以描述如下:
(1)將鏡頭調至起始位置。
(2)通過CCD/CMOS采集一幅圖像,并將其劃分為一個i*j的矩陣,記為Ax。矩陣中的每個元素Axij都是一個子圖像,對應于目標視野中不同部分。i和j分別表示該元素在矩陣中的行列位置,x說明采集這幅圖像時鏡頭和CCD/CMOS的距離為x。
(3)通過算法F1來計算各個子圖像的銳度Qxij=F1(Axij)。常見的F1算法有高通濾波等。[2][3][4]
(4)按照一定的步進長度移動鏡頭到下一個位置。
(5)重復步驟2,3,4,直至鏡頭到達終點。
(6)分析目標各個部分在不同鏡頭位置的銳度值,找出每個部分達到其銳度峰值時的x值,將其計入矩陣X。Xij反映了目標的各個部分對焦成功時鏡頭與CCD/CMOS之間的距離。
(7)根據成像原理1/Dij+1/Xij=1/F,使用Dij=F2(Xij)來計算目標各部分距離鏡頭的距離Dij。其中F是透鏡的焦距。矩陣D反映了目標視野各部分距離鏡頭的軸向距離,刻畫出目標視野在前后尺度上的三維形狀。
整個流程如圖(1)所示。
圖1 基于對焦的三維成像法的工作過程
本方法的效果已經在實驗室環(huán)境下通過實驗得到了驗證。這里介紹其中一個案例。
如圖(2)所示,3個不同形狀的物體A、B和C被放置在鏡前不同位置。矩形A距離透鏡最遠,圓型B次之,三角形C距離透鏡最近。
圖2 遠近不同的物體成像在不同的位置
先將攝像機設置在傳統(tǒng)的自動對焦模式下,得到如圖(3)所示的圖像。由于是整體對焦,很難從圖中分辨出3個物體的前后空間關系。
圖3 自動對焦模式下得到的圖像
根據新方法,按照圖(1)中所描述的過程,依據一定的步進調節(jié)透鏡位置,在6個不同的位置分別得到6幅不同的圖像。這些圖像反映了目標體各部分在調焦過程中的成像變化過程。為分析銳度方便,這里采用的是灰度圖像。
圖4 透鏡在不同位置上得到的圖像
將這一組圖像按照24*32的矩陣進行分割,運用高通濾波算法計算矩陣中每個子圖的銳度。根據銳度的變化過程找出每個子圖對焦成功(銳度最大)時的鏡頭位置,用6種不同的顏色加以標記不同的鏡頭位置,得到如圖(5)所示的對焦位置分布圖。[5]
圖5 不同的子圖的對焦位置分布
從圖(5)中可以看到,經過分析對焦過程中圖像各部分的銳度變化,3個不同距離的鏡前目標有著明顯不同的對焦點分布。
依據光學成像原理,物距可以由像距和透鏡焦距推算出來。將本例中使用的鏡頭光學參數和步進馬達參數帶入透鏡成像公式,推算出物距和像距的關系是:
物距(mm)=35/像距-2.519
所以,從圖(5)可以進一步推導出目標視野各部分距離鏡頭的距離分布,三維建模得到目標視野的空間形狀如圖(6)所示。
圖6 根據光學成像原理還原得到目標的空間形狀
圖(6)中清楚的顯示出目標視野里遠近不同的3個物體。其中三角形離得最近,圓形次之,矩形最遠,彼此相距各約100mm。目標的三維空間形狀和分布得到了良好的還原。
至此,通過分析對焦過程中的數據,分析圖像各部分間的細節(jié)變化差異,新方法成功還原了目標的三維空間形狀。這不但有助于識別和理解目標,也會在其他場合帶來良好的應用前景。
本文介紹的方法可以在傳統(tǒng)數字成像方法的基礎上獲取更多的三維空間信息。相對于其他方法,它具有以下優(yōu)點:
(1)它不但可以提供上下左右方向上的二維圖像,還可以獲得目標在前后方向上的空間距離信息,從而刻畫出目標的空間立體形狀。
(2)它基于傳統(tǒng)成像系統(tǒng)的架構實現(xiàn),和傳統(tǒng)成像過程并不沖突,不需要額外的特殊硬件支持,便于實現(xiàn)。
(3)它的實現(xiàn)算法規(guī)則有序,可以通過軟件方式實現(xiàn),也可以通過可編程邏輯器件或者集成電路實現(xiàn)。
然而,要把這一方法推向實用還需要考慮現(xiàn)場可能遇到的各種復雜情況,它們包括:[6]
(1)在目標為單色或者光線對比不理想的情況下,如何通過更加有效的算法來精確測定對焦程度。
(2)如何克服目標體表面反光對于對焦過程帶來的干擾。
[1]王虎.自動對焦原理及方法.[J]科技信息(科學·教研),2008(13).
[2]孫杰,袁躍輝,王傳永.數字圖像處理自動圖像聚焦算法的分析和比較.[J]光學學報,2007(1).
[3]Loren Shih.Autofocus survey:a comparison of algorithms.Proc.SPIE,6502,65020B,2007.
[4]王子維,戎蒙恬,劉文江,李萍.一種基于高通濾波評價函數的自動對焦方法.[J]信息技術,2009(10).
[5]Lee etc J H.Implementation of a Passive Automatic Focusing Algorithm for Digital Still Camera,IEEE Transactions on Consumer Electronics,1995(3).
[6]屈玉福,浦昭邦,趙慧潔.調焦評價函數靈敏度的影響因素分析.[J]光學學報,2005(07).