白 燁,尹 晶,曹 正,杜麗萍,遲金陽,沙彥福
(1.長春電子科技學院,吉林 長春 130114;2.長春理工大學計算機科學技術學院,吉林 長春 130022)
深度信息能夠直接反映出目標物體中各點相對于攝像機的距離。精準的深度信息在計算機視覺領域中有著至關重要的應用價值。因此,深度估計一直是計算機視覺領域中的熱點課題,在圖像分割、三維重建、目標識別等方面得到了廣泛的應用。
1939年,Gershun等人[1]首次提出了光場的概念,即可以分辨和記錄空間中任意點發(fā)出的任意方向的光的集合。1991年Adelson等人[2]將光場理論應用到機器視覺中,并將其表示成七維函數(shù)。由于七維函數(shù)過于復雜,難以記錄以及編程實現(xiàn),Levoy等人[3]將七維函數(shù)簡化成四維函數(shù)。2005年和2011年分別出現(xiàn)了首臺手持式光場相機[4]和便攜式光場相機。
近年來,隨著光場技術的不斷發(fā)展,光場圖像的深度估計成為深度估計方向的研究熱點。目前,光場圖像的深度估計研究已經(jīng)取得顯著進展[5]。Tao等人[6]提出了將散焦線索與匹配線索融合的方法,該方法將四維的極平面圖像進行梯度的檢測及計算,然后通過馬爾科夫隨機場對兩個線索進行融合,但是該方法估計的錯誤信息較多,并且不能較好地處理遮擋區(qū)域。Jeon等人[7]提出基于相移的亞像素多視角立體匹配算法,通過構建目標函數(shù)來進行深度估計,提高了估計精度,但該方法仍然無法較好地處理遮擋區(qū)域。為此,Wang等人[8-9]提出了光場遮擋理論,通過將一個角度像素塊分割成兩個區(qū)域,得到了較好的邊緣深度效果,但該方法只能處理單遮擋的情況。在此方法的基礎上,Jia等人[10]通過分別計算角度像素塊中的多個區(qū)域中的修正方差來獲得初始深度圖,利用馬爾科夫隨機場進行細化,較好地處理多遮擋的問題,但是同時也會導致部分邊緣不平滑。在深度學習方面,何也等人提出了一種具有多通道信息高效融合結構的特征融合網(wǎng)絡,提高了深度估計效率,但仍無法處理遮擋問題[11]。為此,針對多遮擋問題,提出了改進的深度估計算法,該算法不僅可以解決深度估計中多遮擋的問題,還可以保持邊緣的平滑性。
近些年,隨著計算光學理論、計算成像技術、數(shù)字圖像處理技術的融合發(fā)展,解決了一些光場成像原理方面的技術瓶頸,并出現(xiàn)了光場相機等有代表性的研究成果,標志著光場成像技術取得了一些重大的技術突破[12-14]。
為了更加直觀地理解光場原理,使用參數(shù)化模型表示光場信息。目前常用的表示方式是“雙平面”參數(shù)化模型,如圖1所示。該模型使用平面uv和平面st來參數(shù)化表示光場,即函數(shù)L(u,v,s,t)。uv和st相互平行,空間中的光線與這兩個平面相交,交點的坐標分別使用(u,v)和(s,t)表示。
圖1 “雙平面”參數(shù)化模型
利用軟件對光場圖像選擇不同的焦點進行重聚焦。Ng Ren等人[4]提出了通過剪切重新聚焦光場圖像的方法,其中重聚焦光場數(shù)據(jù)可以由公式(1)表示:
式中,x和y分別為原空間坐標值;u和v分別表示原角度坐標值;α是聚焦系數(shù);Lα為剪切α值后重聚焦的光場圖像數(shù)據(jù)。
在深度估計領域中,由于遮擋的存在會導致信息缺失,因此,如何精準的估計出遮擋處的深度信息始終是需要解決的技術難題之一,當然對于光場圖像的深度估計也不例外。光場圖像中的遮擋情況一般分為無遮擋、單遮擋、多遮擋三種,本文主要處理的是多遮擋情況。
假設場景中有兩個遮擋物,圖2(a)和圖2(b)分別表示遮擋邊緣像素p的空間像素塊和角度像素塊的形成過程,左邊的三個圓表示空間域中的三個相鄰像素。如圖2(a)中所示,像素n被遮擋物1所遮擋,像素m被遮擋物2所遮擋。如圖2(b)中所示,同一物體角度像素塊的像素位置與空間像素塊的像素位置相對應。由此可知,對于空間中的同一個點,當重聚焦到準確的深度時,在空間像素塊和角度像素塊中的像素具有相同的相對位置關系。
(a)空間像素塊
利用光場圖像進行深度估計的過程中,遮擋的存在使預測得到的深度值的精確度降低,甚至無法獲取深度值。為此,常用的方法是將光場圖像分為遮擋邊緣區(qū)域和內部區(qū)域,并分別采用不同的處理方法。遮擋處的邊緣提取不僅可以減少內部像素的多余處理還可以提高深度估計的精度。因此,遮擋處的邊緣提取是光場圖像深度估計中一個至關重要的技術,最終處理效果直接影響深度估計的精度。
在Jia等人[10]使用的Canny邊緣檢測方法的基礎上,在邊緣檢測函數(shù)中不使用默認的雙閾值,而優(yōu)化設定高低閾值比值。通過大量實驗確定Canny邊緣檢測的高低閾值比為3∶1。高閾值將目標物體與背景分開,但由于高閾值會導致邊緣不連續(xù)或者不平滑,故使用低閾值來平滑目標物體的輪廓線,起到邊緣連接的作用。
獲取基于Canny的候選遮擋像素后,通過顏色差來劃分其空間像素塊,同時得到相應的角度像素塊的分類結果。當一個像素重新聚焦到準確的深度時,其所有的角度像素都將對應于相同的空間點,因此它們具有色彩一致性。但是,當出現(xiàn)遮擋現(xiàn)象時,一些被遮擋的角度像素將呈現(xiàn)出不同的色彩,故通過分析角度像素的分布情況對被遮擋視角的像素和未被遮擋視角的像素進行分區(qū)。
如果由于遮擋導致角度像素塊很難獲取時,可以通過尋找與角度像素塊對應的空間像素塊,解決遮擋處準確的深度估計問題。對于處于遮擋邊緣處的像素點,與其對應的空間像素塊中的像素點具有相似的色彩和位置信息。根據(jù)該特性,使用AP聚類算法將空間像素塊劃分成多個區(qū)域,可以很好地預測遮擋區(qū)域的深度值[10]。
AP聚類算法由Frey等人[15]提出,它是一種根據(jù)數(shù)據(jù)對象之間的相似度自動聚類的方法。AP聚類算法不需要像K-means等算法一樣預先確定聚類數(shù)目,可以根據(jù)數(shù)據(jù)對象之間的相似度自動聚類,數(shù)據(jù)對象之間的相似度可根據(jù)不同情況選擇不同的衡量準則。對空間像素塊進行分類時,所有數(shù)據(jù)對象均有可能被視為數(shù)據(jù)中心,聚類的數(shù)目是動態(tài)變化的,無法預先確定,K-means聚類算法不適合該情況,因此采用AP聚類算法。
AP聚類算法的思想是:通過消息傳遞搜索區(qū)域內各個數(shù)據(jù)點的數(shù)據(jù)中心以及數(shù)據(jù)點與數(shù)據(jù)中心之間的關系,根據(jù)數(shù)據(jù)中心和各數(shù)據(jù)點間的關系對待聚類數(shù)據(jù)集進行劃分,形成若干個性質各異的子集。工作流程首先是計算并構建相似度矩陣;然后不斷迭代吸引度參數(shù)r(i,j)和相似度參數(shù)a(i,j)得到聚類中心;最后根據(jù)聚類中心劃分數(shù)據(jù)對象。其中,r(i,j)代表從i點發(fā)送給j點的數(shù)值信息,反映j點是否合適作為i點的聚類中心,可由公式(2)表示。a(i,j)表示從j點發(fā)送到i點的數(shù)值信息,反映i點是否選擇j作為其聚類中心,可由公式(3)表示。r(i,j)與a(i,j)越大,j點成為聚類中心的概率越大。
(2)
(3)
(4)
然后計算數(shù)據(jù)點之間交換的r(i,j)和a(i,j)兩種信息。最后空間像素塊產生了理想的聚類中心,同時將其他像素進行合理的分類,可以較好地分離不同區(qū)域的物體。
由于AP聚類算法需要事先計算數(shù)據(jù)對象之間的相似度,而光場圖像的數(shù)據(jù)大,故計算過程中計算量巨大。此外,在進行迭代和更新的過程中,還會出現(xiàn)誤匹配和誤分類的情況,故使用傳統(tǒng)的AP聚類算法,結合加速算子和迭代加權更新方法。
帶加速算子[16]的聚類是以每個聚類中數(shù)據(jù)樣本的均值作為該類別的中心,每一個類別的數(shù)據(jù)樣本在相關維度上分布緊密[17],方差與權重值成反比關系。數(shù)據(jù)中心Oij與權重值Uij的關系由公式(5)表示,加速算子bij可由公式(6)表示,權重值Uij的更新可由公式(7)表示,系數(shù)sij可由公式(8)表示,其中w為在0到1區(qū)間中的隨機數(shù)。
(5)
lg(a(i,j))
(6)
(7)
(8)
迭代加權更新的過程即不斷更新r(i,j)和a(i,j),直到找到最大的r(i,j)和a(i,j)的數(shù)據(jù)樣本作為聚類中心,之后其他的數(shù)據(jù)各自找到自己所歸屬的類別中,形成不同類別的簇,迭代加權更新后的r(i,j)和a(i,j)分別可由公式(9)和公式(10)表示。式中,t為迭代的次數(shù),λ在0~1之間,表示阻尼因子,其作用于r(i,j)和a(i,j),以更新上一次迭代的r(i,j)和a(i,j),該參數(shù)的作用是可以讓AP聚類算法具有快速收斂的能力。
(9)
at(i,j)=(1-λ)×|max(0,at(i,j))-s(i,j)|
(10)
改進后的AP聚類算法可以有效地提高聚類精度,為以后進行深度估計打下良好的基礎。使用改進的AP聚類算法對空間像素塊進行合理的劃分后,依據(jù)分塊的結果,劃分對應的角度像素塊,隨后在多個分塊區(qū)域分別計算匹配代價進行深度估計。
(11)
在定義的兩個線索中,Ca,i(x,y)是基礎方差,用來測量角度像素塊中某個區(qū)域所有像素之間的一致性,可由公式(12)表示:
(12)
(13)
式中,Ni是區(qū)域i中的像素點數(shù)量;I(x,y)是中心視角像素。然后,取所有區(qū)域內兩個匹配代價最小值,分別可由公式(14)和(15)表示:
(14)
(15)
最后,根據(jù)文獻[9]中的方法,可得到初始深度估計結果d。
(16)
C*{d(x,y),d′(x′,y′)}
(17)
在優(yōu)化后,得到的深度估計結果不僅可以很好地改善復雜的遮擋情況,還可以使物體的邊緣平滑、彌補空隙,使得最終結果有了明顯的提高。
為驗證該方法的可行性與有效性,使用了2013年由海德堡大學HCI實驗室提出的Wanner數(shù)據(jù)集[16]中的場景進行實驗,使用該數(shù)據(jù)集中角度分辨率為9×9、空間分辨率為768×768的光場圖像,該數(shù)據(jù)集還包括中心視角的真實深度值以及對應的深度圖。
實驗結果與現(xiàn)有的三種經(jīng)典的算法進行對比,所有實驗均在同樣的環(huán)境下進行,實驗對比結果如圖3所示。
圖3 深度估計結果對比
圖4展示了Wanner數(shù)據(jù)集[18]中monasRoom場景的深度估計結果。Wang等人[8-9]的深度估計整體邊緣部分比較平滑,但是花莖與葉子重疊的部分遮擋效果較差,蒙娜麗莎油畫的部分出現(xiàn)了空隙。Jia等人[10]的深度估計在Wang等人[8-9]的算法基礎上較好地解決了遮擋以及空隙的問題,但是在左邊的葉子處出現(xiàn)了不平滑的現(xiàn)象。本文的方法很好地改進了以上兩種方法的缺點,既能很好地處理遮擋部分和油畫處的空隙,又可以平滑葉子的邊緣。
圖4 Wanner數(shù)據(jù)集中monasRoom的深度估計結果
為了得到一個定量的評價結果,算法的精度可用均方誤差(MSE)來進行評價,MSE可由公式(18)表示:
(18)
式中,GT(p)和α(p)分別為光場圖像的真實深度值和使用算法計算出的深度值,N表示光場圖像像素點的數(shù)量,MSE值越小,表示算法估計精度值越高。
幾種算法深度估計的計算結果的MSE對比如表1所示,文中方法獲得了較低的MSE值,表明文中方法更接近真實的深度值。
表1 各算法MSE比較
針對光場深度估計中存在的多遮擋問題,提出了一種光場圖像深度估計改進方法。使用Canny邊緣檢測提取遮擋區(qū)域的邊緣。分析光場圖像中多遮擋對深度估計產生的影響,并根據(jù)光場成像原理和光場相機的多遮擋模型,可知,當空間像素被重聚焦到正確的深度位置時,其在空間像素塊和角度像素塊中的相對位置是相同的。在此基礎上將迭代加權更新的帶加速算子引入到AP聚類算法,有效地提高聚類的精度,同時較好地解決光場深度估計中的多遮擋問題。使用匹配成本計算光場圖像的初始深度,并應用馬爾科夫隨機場優(yōu)化得到更精確的深度估計結果。實驗結果證明,本文算法相較于其他文獻[7-10]的算法,不僅提高了深度估計的精度,而且保持了獲得了更加理想的圖像邊緣。在今后的工作中,將根據(jù)優(yōu)化的深度估計結果,進一步研究基于光場圖像的三維重建方法。