公冶佳楠,李 軻
1(中北大學 儀器與電子學院,太原 030051)
2(中北大學 信息探測與處理山西省重點實驗室,太原 030051)
光場是指空間中每一個點通過各個方向的光量,是包含了光的位置和方向信息的四維光輻射場的參數化表示[1,2],通常用一組在空間中稠密采樣的圖像序列表示,稱為光場圖像.光場圖像可以通過相機陣列[3]、非結構化方法[4]和孔徑編碼成像[5]進行獲取,相比于傳統的2D 成像方式,其多出了位置和方向信息2 個自由度,這在計算成像中有很廣的應用[6].基于光場圖像信息的深度重建是指從獲取的光場序列圖像中提取有用的深度信息,且這些信息包含了豐富的位置和方向信息,所以在處理圖像亮度變化較大和弱紋理區域可以得到很好的重建效果,尤其是在光場圖像的深度估計中[7].
深度圖像估計的準確性是深度重建的基礎,在光場中,較多的光場視圖數量對于獲得準確和稠密深度圖仍是一個很大的挑戰.為了得到準確和可靠的深度圖,許多具有代表性的方法已被采用.傳統的立體匹配是一個很重要的研究方向[8],通過兩幅圖或者是多幅圖之間像素點的對應關系,獲得場景的深度信息,但這些方法在處理弱紋理區和有遮擋區,效果很差,魯棒性低[9].Bolles 等人[10]提出了極平面圖像(ExtremePlane Image,EPI)的概念,根據EPI 的線性特點,擬合直線后計算斜率達到估計深度的目的,得到了較好的深度圖.Criminisi 等[11]采用分層思想,利用迭代優化方法將EPI 分成不同深度的EPI-tube,通過對3D 光場的反射特性進行分類,可以去除EPI-tube 中由鏡面反射造成的影響,得到較好的效果,但是其算法的復雜度較高,比較費時.Kim 等[12]提出由精到粗的深度擴散方法:首先根據邊緣置信度,計算場景的邊緣輪廓信息;再依次通過降采樣來計算輪廓內部的深度,但是對于較小視差的估計,精確度比較低.丁偉利[13]等提出了一種改進的Kim算法進行視差的估計:采用交叉檢測模型檢測邊緣進行視差的估計,引入了權值的計算,但其算法沒有解決較小視差估計不精確的問題.Wanner 等[14-16]提出了結構張量的方法獲取EPI 中的斜率進而求得視差,采用全局優化的方法將結果整合到深度圖中,結果雖然較為平滑,但是邊緣信息丟失嚴重.Tao 等人[17]提出了一種同時結合散焦和對應深度融合的方法估計深度,根據在不同焦棧處的模糊程度,來得到其對應的深度,然而,對于離主透鏡焦平面比較遠的區域,深度估計誤差較大.
針對上述問題,本文提出了一種改進的基于CIELab顏色空間、梯度和距離的自適應權值塊匹配深度估計方法.本文算法有3 個貢獻點:1)將塊匹配應用到EPI 域中,根據EPI 的線性特點進行光場圖像序列的塊匹配.2)在匹配中,先將圖像由RGB 顏色空間轉到CIELab 顏色空間,計算EPI 集中匹配塊和待匹配塊中的每個像素的對于中心像素的相似性.3)采用梯度和距離作為平滑項,計算塊中每個像素對于中心像素的權值,結合CIELab 顏色空間的權重值進行綜合權重值計算,之后計算參考圖像和各視角圖像中塊的匹配成本值,比較不同斜率下的成本值大小,確定最小成本和對應的最優斜率,得到最佳的深度圖.
本文采用相機沿直線運動的方式得到一系列的光場圖像,如圖1(a).由于相機直線運動,因此這些圖像對應的相機光心在同一直線上,假設為 Ls,獲取的光場圖像的平面我們假設為 Πus,因此我們可以將獲得的3D 光場,如下表述:

式中,E (u,v,s)表 示空間中一點通過位置( u,v,s)的光線的亮度.這里用CIELab 顏色空間中L,a,b 三通道的值表示.
圖1(a)是獲取的光場圖像序列,我們展示了一組光場圖像中其中的4 張圖像.將得到的光場序列圖像按順序疊加起來,組成一個三維立體的合集,如圖1(b),稱為EPI 集.其中中間的橫向切片表示具有線性特點像素的集合,即為單個EPI.
圖1(b)中,隨著時間的推移,相機沿著箭頭的方向移動,使目標物點 p會在光場序列圖像的不同位置出現,因此光場圖像記錄了目標物點 p在不同視角下的信息.在形成的EPI 中,目標物點 p在不同視角下的成像點分別為a,b,c 三點,其在EPI 中為一條斜線abc.
圖1(c)表示由多個目標物點形成的具有線性特點的EPI 圖.
對于三維空間中的一點 p(x,y,z),如圖2(a)所示,假設它在圖像序列中同一行v?的 投影分別為{ p1,p2,···,pn},相機對應的光心可以表示為 { c1,c2,···,cn}其中相機光心之間的距離均是? s,那么點 p在相鄰兩幅圖像之間均有相等的視差 ? u=pi+1-pi,p點的深度z 可通過三角測量原理求得,公式如下:

圖1 EPI 形成

圖2 三維空間中一點 p 在EPI 中投影點的斜率

式中,f 為相機的焦距.由 p點在各個相機中的投影{p1,p2,···,pn} 組 成了EPI 上斜率為的直線lp,如圖2(b),直線的斜率與直線上 p點的深度成正比關系.因此,我們計算場景點 p的深度可以轉換成求EPI 中直線的斜率.
在斜率求解過程中,受光照和噪聲等因素的影響,單個像素點之間匹配求斜率時誤差較大,本文采用基于自適應權值塊匹配的方法來計算斜率.
匹配塊是以各視角圖像中待匹配像素點為中心像素的 5 ×5像素塊,因此基于像素點求斜率可以轉換成基于像素塊匹配求斜率.計算不同斜率下參考圖像中的匹配塊和各視角下目標圖像中的待匹配塊之間的成本值,成本值最小時對應的斜率值最優.
CIELab 顏色空間是由CIE(國際照明委員)于1976年制定的一種色彩模式,它由亮度L(Luminance)和色度信息(a,b)組成.CIELab 顏色空間采用坐標Lab,其中a 的正向代表紅色,負向代表綠色,b 的正向代表黃色,負向代表藍色.CIELab 顏色空間對于色彩有較強的感知力,其中L 分量可以密切匹配亮度感知,因此可以通過修改a 和b 的分量來感知顏色的相似程度,由RGB 顏色空間轉換到CIELab 顏色空間的公式如下:

由XYZ 顏色空間轉換轉換到Lab 顏色空間,表示如下:

其中,f(X)=7.787X+0.138 ,X ≤0.008 856 ,f(X)=X >0.008 856.式中由于CIELab 顏色空間不包含人類感知的所有顏色,而XYZ 顏色空間幾乎包含所有感知的顏色,所有先將RGB 顏色空間轉換到XYZ 顏色空間,如式(3)至式(5)所示,再轉換到CIELab 顏色空間,如式(6)所示.
在塊匹配中,匹配窗中像素的權值由3 個因素決定:梯度、CIELab 顏色空間中顏色差異和距離.匹配窗中的某一像素離中心像素越近,顏色差異越小,梯度差異越小,則該像素的權值越大.設參考圖像中匹配窗的中心像素為 P0,窗內任一像素為 P,如圖3 所示,則像素 P的權值可以表示為:



圖3 自適應權值算法示意圖

式 中,rs,rg和τgra為 常 數;則分 別為像素和中心像素之間的CIELab 顏色,距離和梯度差異,可如下表示:

其中,? graxp0p為匹配窗中像素和像素的水平梯度差異,? grayp0p為 匹配窗中像素和像素的垂直梯度差異,如下所示:

綜上所述,可如下表示:
設像素qod為目標圖像上與參考圖像中像素 p0可能的匹配像素,像素 qd為 參考圖像中qod對應的匹配窗中的像素,像素 p為參考圖像中 p0對應的匹配窗的像素,則 p0和qod之間的差異表示如下:

綜上所述,最終的視差值可以通過WTA算法得到:

其中,D ={dmin,···,dmax}為所有可能視差的集合,即不同斜率的集合.
本文算法基于文獻[12]提供的數據集和斯坦福數據集進行測試.為了驗證本文算法的性能,本文結果同時與文獻[12,16]提供的流行深度估計算法進行比較,從定性和定量兩個方面來分析算法的估計結果.在Windows 7 操作系統下,Intel Core(TM)i7-2600 2.6 GHz CPU 以及Matlab R2015b 的仿真軟件下進行驗證.
在定量分析中,采用均方根誤差(RMSE)和相對深度誤差(B)作為量化指標評價算法性能,其中RMSE和B 值越小,表示深度估計結果越好.

其中,M,N 表示圖像的寬和高,表示實驗獲取的深度估計值,表示深度圖真值.δd表示相對深度允許的誤差,本文實驗中取值為0.3.
圖4 展示了文獻[12]、文獻[16]與本文方法深度估計結果,可以發現,本文算法在很好的保留圖像邊緣信息的同時對于平滑區域也保留了更多的細節信息,如圖4(d)中黑色邊框所示,較好的展示了娃娃脖子區域的細節,而文獻[12]的方法雖然娃娃邊緣獲得了較好的效果,但是對于娃娃脖子區域的細節沒有展現.文獻[16]方法,在娃娃邊緣上表現的結果較差.

圖4 深度估計實驗結果圖
圖5 是各種深度估計方法求得的深度圖,通過對比可以發現,本文算法和文獻[12]算法一樣都可以得到較好的深度圖,但是對于一些微小細節,如圖5(d)中白色邊框中的教堂塔尖,本文算法能夠很好的展現.文本算法在房子和前排植物等平滑區域展現了較好的灰度平緩變化,即深度的平緩變化過程,如圖5(d)中黑色邊框所示,而文獻[16]算法表現的結果較差.
圖6 中,本文算法與文獻[12,16]算法均實現了較好的邊緣深度估計,但在平滑區域本文算法較文獻[12,16]算法能夠顯示更多的細節信息,如圖6(d)中白色邊框所示,通過灰度值的變化顯示物體不同深度的變化,而文獻[12,16]算法表現的結果圖較差.

圖5 深度估計實驗結果圖

圖6 深度估計實驗結果圖
根據給定的數據集深度圖真值,可以進行定量分析.表1 給出了文獻[12]、文獻[16]以及本文算法的深度估計結果評價指標.可以看出,本文方法和文獻[12]方法在邊緣保存效果明顯優于文獻[16],所以均方根誤差與相對深度誤差值較小.本文方法在一些微小表現細節方面比文獻[12]方法更具有一定的優勢,因此實驗數值更小,與本文中定性評價結果一致.

表1 各方法定量指標
另外,本文算法對于圖像平滑區域的細節信息和邊緣信息有較好的保持,獲得了較好的深度圖.同時由于本算法支持基于圖像中多個匹配塊的并行化計算,算法運行時間大大縮短,對比文獻[12,16]的方法,如表2所示,本文算法的時間復雜度明顯降低,更適合于快速深度估計.

表2算法運行時間(單位:s)
相比傳統的深度估計算法,本文提出了一種基于CIELab 顏色空間的自適應權值塊匹配算法.本算法是在EPI 上利用其線性特點進行匹配,通過線性匹配求得最優斜率并確定最佳深度.在線性匹配的過程中,應用基于CIELab 顏色空間的自適應權值算法,求得匹配窗和待匹配窗的權值,進而通過WTA算法,確定最優斜率,并求得深度.通過對比深度圖可以發現,本文算法不僅能夠有效的保留邊緣信息,同時對于內部的平滑區域,也很好的展現了細節信息.但對于圖中的深度平滑性,本文算法仍還有所不足.因此,在之后的工作中,我們應該更加關注平滑性,將深度表現的更加平滑,得到更完善的深度信息.