公冶佳楠,李 軻
1(中北大學(xué) 儀器與電子學(xué)院,太原 030051)
2(中北大學(xué) 信息探測(cè)與處理山西省重點(diǎn)實(shí)驗(yàn)室,太原 030051)
光場(chǎng)是指空間中每一個(gè)點(diǎn)通過各個(gè)方向的光量,是包含了光的位置和方向信息的四維光輻射場(chǎng)的參數(shù)化表示[1,2],通常用一組在空間中稠密采樣的圖像序列表示,稱為光場(chǎng)圖像.光場(chǎng)圖像可以通過相機(jī)陣列[3]、非結(jié)構(gòu)化方法[4]和孔徑編碼成像[5]進(jìn)行獲取,相比于傳統(tǒng)的2D 成像方式,其多出了位置和方向信息2 個(gè)自由度,這在計(jì)算成像中有很廣的應(yīng)用[6].基于光場(chǎng)圖像信息的深度重建是指從獲取的光場(chǎng)序列圖像中提取有用的深度信息,且這些信息包含了豐富的位置和方向信息,所以在處理圖像亮度變化較大和弱紋理區(qū)域可以得到很好的重建效果,尤其是在光場(chǎng)圖像的深度估計(jì)中[7].
深度圖像估計(jì)的準(zhǔn)確性是深度重建的基礎(chǔ),在光場(chǎng)中,較多的光場(chǎng)視圖數(shù)量對(duì)于獲得準(zhǔn)確和稠密深度圖仍是一個(gè)很大的挑戰(zhàn).為了得到準(zhǔn)確和可靠的深度圖,許多具有代表性的方法已被采用.傳統(tǒng)的立體匹配是一個(gè)很重要的研究方向[8],通過兩幅圖或者是多幅圖之間像素點(diǎn)的對(duì)應(yīng)關(guān)系,獲得場(chǎng)景的深度信息,但這些方法在處理弱紋理區(qū)和有遮擋區(qū),效果很差,魯棒性低[9].Bolles 等人[10]提出了極平面圖像(ExtremePlane Image,EPI)的概念,根據(jù)EPI 的線性特點(diǎn),擬合直線后計(jì)算斜率達(dá)到估計(jì)深度的目的,得到了較好的深度圖.Criminisi 等[11]采用分層思想,利用迭代優(yōu)化方法將EPI 分成不同深度的EPI-tube,通過對(duì)3D 光場(chǎng)的反射特性進(jìn)行分類,可以去除EPI-tube 中由鏡面反射造成的影響,得到較好的效果,但是其算法的復(fù)雜度較高,比較費(fèi)時(shí).Kim 等[12]提出由精到粗的深度擴(kuò)散方法:首先根據(jù)邊緣置信度,計(jì)算場(chǎng)景的邊緣輪廓信息;再依次通過降采樣來計(jì)算輪廓內(nèi)部的深度,但是對(duì)于較小視差的估計(jì),精確度比較低.丁偉利[13]等提出了一種改進(jìn)的Kim算法進(jìn)行視差的估計(jì):采用交叉檢測(cè)模型檢測(cè)邊緣進(jìn)行視差的估計(jì),引入了權(quán)值的計(jì)算,但其算法沒有解決較小視差估計(jì)不精確的問題.Wanner 等[14-16]提出了結(jié)構(gòu)張量的方法獲取EPI 中的斜率進(jìn)而求得視差,采用全局優(yōu)化的方法將結(jié)果整合到深度圖中,結(jié)果雖然較為平滑,但是邊緣信息丟失嚴(yán)重.Tao 等人[17]提出了一種同時(shí)結(jié)合散焦和對(duì)應(yīng)深度融合的方法估計(jì)深度,根據(jù)在不同焦棧處的模糊程度,來得到其對(duì)應(yīng)的深度,然而,對(duì)于離主透鏡焦平面比較遠(yuǎn)的區(qū)域,深度估計(jì)誤差較大.
針對(duì)上述問題,本文提出了一種改進(jìn)的基于CIELab顏色空間、梯度和距離的自適應(yīng)權(quán)值塊匹配深度估計(jì)方法.本文算法有3 個(gè)貢獻(xiàn)點(diǎn):1)將塊匹配應(yīng)用到EPI 域中,根據(jù)EPI 的線性特點(diǎn)進(jìn)行光場(chǎng)圖像序列的塊匹配.2)在匹配中,先將圖像由RGB 顏色空間轉(zhuǎn)到CIELab 顏色空間,計(jì)算EPI 集中匹配塊和待匹配塊中的每個(gè)像素的對(duì)于中心像素的相似性.3)采用梯度和距離作為平滑項(xiàng),計(jì)算塊中每個(gè)像素對(duì)于中心像素的權(quán)值,結(jié)合CIELab 顏色空間的權(quán)重值進(jìn)行綜合權(quán)重值計(jì)算,之后計(jì)算參考圖像和各視角圖像中塊的匹配成本值,比較不同斜率下的成本值大小,確定最小成本和對(duì)應(yīng)的最優(yōu)斜率,得到最佳的深度圖.
本文采用相機(jī)沿直線運(yùn)動(dòng)的方式得到一系列的光場(chǎng)圖像,如圖1(a).由于相機(jī)直線運(yùn)動(dòng),因此這些圖像對(duì)應(yīng)的相機(jī)光心在同一直線上,假設(shè)為 Ls,獲取的光場(chǎng)圖像的平面我們假設(shè)為 Πus,因此我們可以將獲得的3D 光場(chǎng),如下表述:
式中,E (u,v,s)表 示空間中一點(diǎn)通過位置( u,v,s)的光線的亮度.這里用CIELab 顏色空間中L,a,b 三通道的值表示.
圖1(a)是獲取的光場(chǎng)圖像序列,我們展示了一組光場(chǎng)圖像中其中的4 張圖像.將得到的光場(chǎng)序列圖像按順序疊加起來,組成一個(gè)三維立體的合集,如圖1(b),稱為EPI 集.其中中間的橫向切片表示具有線性特點(diǎn)像素的集合,即為單個(gè)EPI.
圖1(b)中,隨著時(shí)間的推移,相機(jī)沿著箭頭的方向移動(dòng),使目標(biāo)物點(diǎn) p會(huì)在光場(chǎng)序列圖像的不同位置出現(xiàn),因此光場(chǎng)圖像記錄了目標(biāo)物點(diǎn) p在不同視角下的信息.在形成的EPI 中,目標(biāo)物點(diǎn) p在不同視角下的成像點(diǎn)分別為a,b,c 三點(diǎn),其在EPI 中為一條斜線abc.
圖1(c)表示由多個(gè)目標(biāo)物點(diǎn)形成的具有線性特點(diǎn)的EPI 圖.
對(duì)于三維空間中的一點(diǎn) p(x,y,z),如圖2(a)所示,假設(shè)它在圖像序列中同一行v?的 投影分別為{ p1,p2,···,pn},相機(jī)對(duì)應(yīng)的光心可以表示為 { c1,c2,···,cn}其中相機(jī)光心之間的距離均是? s,那么點(diǎn) p在相鄰兩幅圖像之間均有相等的視差 ? u=pi+1-pi,p點(diǎn)的深度z 可通過三角測(cè)量原理求得,公式如下:
圖1 EPI 形成
圖2 三維空間中一點(diǎn) p 在EPI 中投影點(diǎn)的斜率
式中,f 為相機(jī)的焦距.由 p點(diǎn)在各個(gè)相機(jī)中的投影{p1,p2,···,pn} 組 成了EPI 上斜率為的直線lp,如圖2(b),直線的斜率與直線上 p點(diǎn)的深度成正比關(guān)系.因此,我們計(jì)算場(chǎng)景點(diǎn) p的深度可以轉(zhuǎn)換成求EPI 中直線的斜率.
在斜率求解過程中,受光照和噪聲等因素的影響,單個(gè)像素點(diǎn)之間匹配求斜率時(shí)誤差較大,本文采用基于自適應(yīng)權(quán)值塊匹配的方法來計(jì)算斜率.
匹配塊是以各視角圖像中待匹配像素點(diǎn)為中心像素的 5 ×5像素塊,因此基于像素點(diǎn)求斜率可以轉(zhuǎn)換成基于像素塊匹配求斜率.計(jì)算不同斜率下參考圖像中的匹配塊和各視角下目標(biāo)圖像中的待匹配塊之間的成本值,成本值最小時(shí)對(duì)應(yīng)的斜率值最優(yōu).
CIELab 顏色空間是由CIE(國(guó)際照明委員)于1976年制定的一種色彩模式,它由亮度L(Luminance)和色度信息(a,b)組成.CIELab 顏色空間采用坐標(biāo)Lab,其中a 的正向代表紅色,負(fù)向代表綠色,b 的正向代表黃色,負(fù)向代表藍(lán)色.CIELab 顏色空間對(duì)于色彩有較強(qiáng)的感知力,其中L 分量可以密切匹配亮度感知,因此可以通過修改a 和b 的分量來感知顏色的相似程度,由RGB 顏色空間轉(zhuǎn)換到CIELab 顏色空間的公式如下:
由XYZ 顏色空間轉(zhuǎn)換轉(zhuǎn)換到Lab 顏色空間,表示如下:
其中,f(X)=7.787X+0.138 ,X ≤0.008 856 ,f(X)=X >0.008 856.式中由于CIELab 顏色空間不包含人類感知的所有顏色,而XYZ 顏色空間幾乎包含所有感知的顏色,所有先將RGB 顏色空間轉(zhuǎn)換到XYZ 顏色空間,如式(3)至式(5)所示,再轉(zhuǎn)換到CIELab 顏色空間,如式(6)所示.
在塊匹配中,匹配窗中像素的權(quán)值由3 個(gè)因素決定:梯度、CIELab 顏色空間中顏色差異和距離.匹配窗中的某一像素離中心像素越近,顏色差異越小,梯度差異越小,則該像素的權(quán)值越大.設(shè)參考圖像中匹配窗的中心像素為 P0,窗內(nèi)任一像素為 P,如圖3 所示,則像素 P的權(quán)值可以表示為:
圖3 自適應(yīng)權(quán)值算法示意圖
式 中,rs,rg和τgra為 常 數(shù);則分 別為像素和中心像素之間的CIELab 顏色,距離和梯度差異,可如下表示:
其中,? graxp0p為匹配窗中像素和像素的水平梯度差異,? grayp0p為 匹配窗中像素和像素的垂直梯度差異,如下所示:
綜上所述,可如下表示:
設(shè)像素qod為目標(biāo)圖像上與參考圖像中像素 p0可能的匹配像素,像素 qd為 參考圖像中qod對(duì)應(yīng)的匹配窗中的像素,像素 p為參考圖像中 p0對(duì)應(yīng)的匹配窗的像素,則 p0和qod之間的差異表示如下:
綜上所述,最終的視差值可以通過WTA算法得到:
其中,D ={dmin,···,dmax}為所有可能視差的集合,即不同斜率的集合.
本文算法基于文獻(xiàn)[12]提供的數(shù)據(jù)集和斯坦福數(shù)據(jù)集進(jìn)行測(cè)試.為了驗(yàn)證本文算法的性能,本文結(jié)果同時(shí)與文獻(xiàn)[12,16]提供的流行深度估計(jì)算法進(jìn)行比較,從定性和定量?jī)蓚€(gè)方面來分析算法的估計(jì)結(jié)果.在Windows 7 操作系統(tǒng)下,Intel Core(TM)i7-2600 2.6 GHz CPU 以及Matlab R2015b 的仿真軟件下進(jìn)行驗(yàn)證.
在定量分析中,采用均方根誤差(RMSE)和相對(duì)深度誤差(B)作為量化指標(biāo)評(píng)價(jià)算法性能,其中RMSE和B 值越小,表示深度估計(jì)結(jié)果越好.
其中,M,N 表示圖像的寬和高,表示實(shí)驗(yàn)獲取的深度估計(jì)值,表示深度圖真值.δd表示相對(duì)深度允許的誤差,本文實(shí)驗(yàn)中取值為0.3.
圖4 展示了文獻(xiàn)[12]、文獻(xiàn)[16]與本文方法深度估計(jì)結(jié)果,可以發(fā)現(xiàn),本文算法在很好的保留圖像邊緣信息的同時(shí)對(duì)于平滑區(qū)域也保留了更多的細(xì)節(jié)信息,如圖4(d)中黑色邊框所示,較好的展示了娃娃脖子區(qū)域的細(xì)節(jié),而文獻(xiàn)[12]的方法雖然娃娃邊緣獲得了較好的效果,但是對(duì)于娃娃脖子區(qū)域的細(xì)節(jié)沒有展現(xiàn).文獻(xiàn)[16]方法,在娃娃邊緣上表現(xiàn)的結(jié)果較差.
圖4 深度估計(jì)實(shí)驗(yàn)結(jié)果圖
圖5 是各種深度估計(jì)方法求得的深度圖,通過對(duì)比可以發(fā)現(xiàn),本文算法和文獻(xiàn)[12]算法一樣都可以得到較好的深度圖,但是對(duì)于一些微小細(xì)節(jié),如圖5(d)中白色邊框中的教堂塔尖,本文算法能夠很好的展現(xiàn).文本算法在房子和前排植物等平滑區(qū)域展現(xiàn)了較好的灰度平緩變化,即深度的平緩變化過程,如圖5(d)中黑色邊框所示,而文獻(xiàn)[16]算法表現(xiàn)的結(jié)果較差.
圖6 中,本文算法與文獻(xiàn)[12,16]算法均實(shí)現(xiàn)了較好的邊緣深度估計(jì),但在平滑區(qū)域本文算法較文獻(xiàn)[12,16]算法能夠顯示更多的細(xì)節(jié)信息,如圖6(d)中白色邊框所示,通過灰度值的變化顯示物體不同深度的變化,而文獻(xiàn)[12,16]算法表現(xiàn)的結(jié)果圖較差.
圖5 深度估計(jì)實(shí)驗(yàn)結(jié)果圖
圖6 深度估計(jì)實(shí)驗(yàn)結(jié)果圖
根據(jù)給定的數(shù)據(jù)集深度圖真值,可以進(jìn)行定量分析.表1 給出了文獻(xiàn)[12]、文獻(xiàn)[16]以及本文算法的深度估計(jì)結(jié)果評(píng)價(jià)指標(biāo).可以看出,本文方法和文獻(xiàn)[12]方法在邊緣保存效果明顯優(yōu)于文獻(xiàn)[16],所以均方根誤差與相對(duì)深度誤差值較小.本文方法在一些微小表現(xiàn)細(xì)節(jié)方面比文獻(xiàn)[12]方法更具有一定的優(yōu)勢(shì),因此實(shí)驗(yàn)數(shù)值更小,與本文中定性評(píng)價(jià)結(jié)果一致.
表1 各方法定量指標(biāo)
另外,本文算法對(duì)于圖像平滑區(qū)域的細(xì)節(jié)信息和邊緣信息有較好的保持,獲得了較好的深度圖.同時(shí)由于本算法支持基于圖像中多個(gè)匹配塊的并行化計(jì)算,算法運(yùn)行時(shí)間大大縮短,對(duì)比文獻(xiàn)[12,16]的方法,如表2所示,本文算法的時(shí)間復(fù)雜度明顯降低,更適合于快速深度估計(jì).
表2算法運(yùn)行時(shí)間(單位:s)
相比傳統(tǒng)的深度估計(jì)算法,本文提出了一種基于CIELab 顏色空間的自適應(yīng)權(quán)值塊匹配算法.本算法是在EPI 上利用其線性特點(diǎn)進(jìn)行匹配,通過線性匹配求得最優(yōu)斜率并確定最佳深度.在線性匹配的過程中,應(yīng)用基于CIELab 顏色空間的自適應(yīng)權(quán)值算法,求得匹配窗和待匹配窗的權(quán)值,進(jìn)而通過WTA算法,確定最優(yōu)斜率,并求得深度.通過對(duì)比深度圖可以發(fā)現(xiàn),本文算法不僅能夠有效的保留邊緣信息,同時(shí)對(duì)于內(nèi)部的平滑區(qū)域,也很好的展現(xiàn)了細(xì)節(jié)信息.但對(duì)于圖中的深度平滑性,本文算法仍還有所不足.因此,在之后的工作中,我們應(yīng)該更加關(guān)注平滑性,將深度表現(xiàn)的更加平滑,得到更完善的深度信息.