蘇 博 妮
(四川文理學院智能制造學院,四川達州 635000)
深度估計是三維重建過程中的關(guān)鍵問題.常見的深度估計方法包括單目、雙目或多目深度估計.單目深度估計是指從單張二維圖像中提取場景的深度信息,常用的單目線索有紋理、梯度、散焦/模糊等.雙目或多目深度估計(立體視覺)是利用三角測量原理從2張或多張二維圖像中獲取場景的深度信息.近年來,隨著計算攝影技術(shù)的不斷進步,光場相機(lytro和raytrix)在消費和工業(yè)領(lǐng)域都取得了巨大的成功.光場相機具有“先拍照,后聚焦”的特性,使其被廣泛應(yīng)用在三維重建、顯著性檢測和超分辨率重建等計算機視覺領(lǐng)域.不同于傳統(tǒng)的成像設(shè)備,光場成像設(shè)備可以通過一次曝光、同時記錄光線的位置信息和角度信息.正因為這個特點,基于光場圖像的深度估計方法成為國內(nèi)外研究者關(guān)注的熱點,并取得了一系列研究成果.然而,由于光線角度信息的欠采樣、場景存在遮擋、噪聲以及非朗伯體等因素的影響,光場深度估計仍然是一個富有挑戰(zhàn)性的課題.
光場深度估計方法是利用光場的不同特征獲取場景深度信息,且具有自身的特點和適用場景.如:基于極平面的深度估計方法是將三維場景中的點投影到光場不同視角中,形成的直線斜率與視差之間具有比例關(guān)系,從而計算出場景深度;基于多視角的深度估計方法,將光場圖像轉(zhuǎn)化為多目立體視覺問題,其核心問題是尋找不同視角之間的對應(yīng)點;基于深度學習的深度估計方法是將光場深度估計看做視差回歸問題,利用深度神經(jīng)網(wǎng)絡(luò)強大的表征和泛化能力,通過構(gòu)建四維匹配代價量,搜索不同視角之間的匹配點,從而估計視差圖.然而,由于光場相機存在著基線較短,空間和角度分辨率不高的問題,傳統(tǒng)立體匹配方法很難直接用于光場深度估計.盡管深度估計方法在運行效率和估計精度方面都取得了較好的效果,但是有監(jiān)督的深度學習方法需要大量的帶標簽的訓(xùn)練數(shù)據(jù)集,而現(xiàn)實場景的視差真值很難獲取.由此可見,無論是傳統(tǒng)的深度估計方法,還是基于深度學習的深度估計方法都存在著諸多問題和挑戰(zhàn),值得研究者們深入研究和探討.但是,現(xiàn)有的文獻卻很少對各種光場深度估計方法進行系統(tǒng)性的比較和分析,鑒于此,本文對目前典型的光場深度估計方法進行定性比較和定量分析,以期為探索光場深度估計未來的研究方向提供一定的參考.
傳統(tǒng)的深度估計方法主要采用立體匹配的方法,通常是從2幅圖像中尋找對應(yīng)點從而進一步計算視差和深度.光場圖像由于包含了豐富的光線角度信息,可更好地反映場景的深度信息.根據(jù)不同的光場特征,將現(xiàn)有的光場深度估計方法分為4類:基于極平面(epipolar plane image,EPI)、基于多視角、基于焦點堆棧和基于深度學習的方法.
EPI的方法通過分析光場的結(jié)構(gòu)特征,將四維光場投影到二維EPI圖像上,利用直線斜率和深度之間的比例關(guān)系,將深度估計轉(zhuǎn)化為求直線斜率問題.Bolles等[1]最早提出 EPI的概念和獲取方式,并通過在EPI中直線擬合來檢測邊緣、波峰和波谷,從而重建三維結(jié)構(gòu);Wanner和 Goldluecke[2]提出一種全局一致性標記算法,采用結(jié)構(gòu)張量提取EPI圖像中直線的方向,并通過全局優(yōu)化獲取深度.在此方法的啟發(fā)下,研究者們提出了許多新的方法:Li等[3]采用迭代共軛梯度法構(gòu)建了一種稀疏線性系統(tǒng),利用結(jié)構(gòu)張量在EPI中獲取局部深度圖,然后采用共軛梯度、均值漂移等方法對局部深度圖進行全局優(yōu)化;Kim等[4]提出一種高分辨率圖像重建復(fù)雜場景的方法,該方法將光場數(shù)據(jù)進行稀疏表示,且并行處理,采用一種由精到粗深度傳播策略提取了高精度的深度信息;Zhang等[5]提出了一種平行四邊形算子,通過距離計算EPI中斜線的斜率,該方法對噪聲和遮擋都有很好的魯棒性;Zhang等[6]通過從EPI中選取最優(yōu)的直線斜率計算局部深度圖,利用置信度將像素分為可靠和不可靠2類,對于不可靠的像素采用可靠像素的視差傳播來填充以優(yōu)化深度圖.可見,基于EPI的方法可以在一定程度上緩解由光照和鏡面反射等因素造成的錯誤估計,但EPI在提取過程中計算量較大、時間復(fù)雜度高,故實時性較差.
根據(jù)光場相機的成像原理,可以將光場圖像看作虛擬的相機陣列從不同視角拍攝的場景圖像集合,所以,可以將多視角立體匹配方法應(yīng)用于光場圖像深度估計.基于多視角的方法,利用各個視角之間顏色一致性等匹配關(guān)系估計場景深度.Yu等[7]探索了射線空間中3D線的幾何結(jié)構(gòu),以改善光場的三角測量和立體匹配,由于該方法使用立體匹配估算每個像素的視差,因此,在視差范圍較小的數(shù)據(jù)集上效果不佳;Heber和 Pock[8]提出一種主成分分析匹配項,用于多視圖立體重建,假設(shè)如果要將各個子視圖圖像投影到同一個投影中心,然后將每個投影的圖像視為矩陣中的一行,則矩陣應(yīng)該是低秩的;Chen等[9]采用表面相機的概念對3D點的角輻射度分布進行建模,并引入了雙邊一致性度量用于光場深度圖估計;Jeon等[10]針對光場相機窄基線的問題,提出基于傅里葉變換的相移理論,創(chuàng)新性地將求子視角之間的亞像素級視差變換為求頻域的相移,以中心子視圖為參考,對其他子視圖進行立體匹配構(gòu)建深度圖,最后采用迭代優(yōu)化的算法構(gòu)建了連續(xù)的、精度高且平滑性較好的深度圖,該方法需要為每個子視角構(gòu)造代價函數(shù),時間復(fù)雜度較高;熊偉等[11]設(shè)計了一種自適應(yīng)成本量的抗遮擋算法,分別為無遮擋、單遮擋和多遮擋類型的場景設(shè)置了3種不同的成本量,自適應(yīng)地選擇成本量從而獲得局部深度圖,最后通過加權(quán)中值濾波、圖割算法和馬爾科夫隨機場等方法進一步優(yōu)化結(jié)果;Liu等[12]提出一種基于立體匹配的方法獲取光場視頻和圖像深度圖的方法,首先對光場數(shù)據(jù)進行渲染增強,然后基于傅里葉相移理論求得局部深度圖,最后基于圖割的多標簽優(yōu)化算法獲取精確的深度圖.以上基于多視角的深度估計方法雖然在運算效率方面較高,但卻很難抑制匹配噪聲.
數(shù)字重聚焦技術(shù)是光場相機流行的最大亮點.重聚焦圖像是通過平移和疊加各個子視角的圖像,使得圖像中處于焦點范圍內(nèi)的物體清晰、焦外物體散焦模糊.焦點堆棧是指利用光場重聚焦技術(shù),得到一組聚焦于不同深度的重聚焦圖像,其利用光場重聚焦生成焦點堆棧,通過聚焦性檢測函數(shù)對重聚焦圖像進行檢測提取深度信息.當場景中的一點在圖像中處于最佳聚焦點時,所對應(yīng)的焦距即為該點的最佳焦距,利用透鏡成像公式可計算出深度值.Tao等[13]首次提出將散焦線索和一致性線索相融合獲取局部深度圖,再采用馬爾科夫隨機場進行全局優(yōu)化;Tao等[14]又將陰影線索引入深度估計,利用角度相干性的顏色、深度和陰影一致性等屬性來約束和校正深度信息,以此來估計物體形狀和深度;Wang等[15]為了更好地處理遮擋問題,提出一種遮擋感知的深度估算方法,通過僅在被遮擋的視圖區(qū)域中確保成像一致性,該方法可以很好地識別被遮擋的邊緣,從而改善深度估計效果;Williem和Park[16]在此遮擋模型的基礎(chǔ)上,采用角度熵和自適應(yīng)散焦相應(yīng)地提高算法對遮擋的魯棒性和噪聲的敏感性;Zhu等[17]將上述方法擴展到多遮擋情況;楊德剛等[18]在深入分析相機陣列成像時線索互補的特性,提出一種融合模糊和視差雙線索的深度估計方法,該方法通過合成孔徑成像方法,獲得指定深度上的重聚焦圖像,提取不同維度的模糊和視差線索,采用自適應(yīng)權(quán)重融合算法優(yōu)化融合2種線索值,在馬爾科夫隨機場上對深度圖進行鄰域平滑,從而獲得全局一致性深度圖;胡良梅等[19]針對散焦線索產(chǎn)生誤差較大的問題,采用梯度均方差和拉普拉斯算子雙聚焦函數(shù)檢測散焦線索,并通過全聚焦彩色圖像對局部深度圖進行平滑、填充和濾波,最后在馬爾科夫隨機場上進行融合優(yōu)化;Tian等[20]在處理散射媒介中光場圖像的恢復(fù)和深度估計時,提出了散焦、對應(yīng)性和傳播3種深度線索融合的方法,從而消除了光線反向散射和衰減的影響;韓磊等[21]深入剖析了聚焦線索和對應(yīng)線索的幾何特性,引入了遮擋和噪聲的度量標準,將深度估計問題轉(zhuǎn)化為能量最小化問題,采用圖割法求得最優(yōu)的深度圖.基于焦點堆棧的方法能夠保持更多的圖像邊緣細節(jié),但對低紋理區(qū)魯棒性不好.
隨著深度學習在圖像分類、分割和識別等高級計算機視覺任務(wù)中的廣泛應(yīng)用,基于深度學習的光場深度估計方法也應(yīng)運而生.Heber和Pock[22]提出一種利用深度學習策略,估計給定光場深度信息的方法,針對每個成像的場景點預(yù)測光場域中相應(yīng)2D超平面的方向,并使用4D正則化來克服無紋理或均勻區(qū)域中的預(yù)測誤差;Johannsen等[23]提出一種采用經(jīng)過特殊設(shè)計的稀疏分解學習方法,通過學習光場中心子視圖的結(jié)構(gòu),并使用此信息來構(gòu)造一個光場字典用于編碼光場的稀疏表示,分析該表示相應(yīng)原子的差異系數(shù),得出準確而可靠的深度估計;蘇鈺生等[24]基于改進密集連接型網(wǎng)絡(luò)估計光場深度,減少了模型的計算量,解決了網(wǎng)絡(luò)隨著層數(shù)增加而出現(xiàn)梯度消失的問題;Luo等[25]以十字EPI塊為卷積神經(jīng)網(wǎng)絡(luò)的輸入,并采用圖割法全局優(yōu)化策略對結(jié)果進行優(yōu)化;Peng等[26]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的無監(jiān)督光場深度估計方法,設(shè)計了一種組合損失函數(shù),利用四維光場中的空間和角關(guān)聯(lián)性來約束網(wǎng)絡(luò);Shin等[27]設(shè)計了一種基于全卷積神經(jīng)網(wǎng)絡(luò)的光場深度估計方法,通過數(shù)據(jù)增強的方法解決了訓(xùn)練數(shù)據(jù)不足的問題,在效率和精度方面都取得了較好的效果.相比于前3種方法,基于深度學習的光場深度估計方法才剛剛起步,還面臨著缺乏訓(xùn)練數(shù)據(jù)等諸多困難,這方面研究還有很大的提升空間.
綜上可知,光場圖像由于包含了豐富的場景信息,使得估計深度成為可能.相對于傳統(tǒng)的立體視覺深度估計,光場圖像深度估計不需要相機標定,從而簡化了深度估計過程.光場圖像存在著體積大、計算耗時、基線過短和分辨率低等問題,且目前大多數(shù)深度估計方法都只適用于朗伯場景下,如何解決這些問題依然是光場深度估計方向的研究熱點.為深入比較不同深度估計方法的性能,本文在闡述光場參數(shù)化表征和光場可視化方法的基礎(chǔ)上,將對基于多視角的光場(light field,LF)[10]、基于焦點堆棧的光場遮擋模型(light field occusion,LF_occ)[15]和代價角度熵(cost augular entropy,CAE)[16]、基于 EPI的旋轉(zhuǎn)平行四邊形算子(spinning parallelogram operator,SPO)[5]和基于深度學習的極平面網(wǎng)絡(luò)(epipolar plane image net,EPINET)[27]進行實驗對比分析,以期進一步分析不同方法的特性.
圖1 光場雙平面參數(shù)化表征
圖2 光場圖像的可視化[31]
本實驗是在一臺硬件配置為CPU:Intel Core i5-4590 3.3 GHz×4cores,RAM:8 GB 和編程環(huán)境為Matlab R2014a、TensorFlow2.0的計算機上進行.對LF、CAE、SPO、LF_occ和EPINET 5種典型方法分別在合成和真實數(shù)據(jù)集進行比較分析.其中,合成數(shù)據(jù)集采用德國海德堡大學視覺(Heidelberg collaboratory for image,HCI)實驗室設(shè)計的數(shù)據(jù)集[32],該數(shù)據(jù)集由Blender軟件渲染而成,包括4個類別共24個場景,光場圖像分辨率為9×9×512×512×3,數(shù)據(jù)集為其中3個類別提供了真實視差圖.真實光場數(shù)據(jù)集是用Lytro Illum相機拍攝的現(xiàn)實場景,其分辨率為14×14×375×541×3.實驗中所有參數(shù)都是按照文獻給出的值進行設(shè)置,為比較方便,合成和真實光場圖像都選用9×9個視角,深度圖層數(shù)都設(shè)置為100.
HCI數(shù)據(jù)集類別1的光場圖像中心視角圖和視差圖如圖3和4所示.圖3(a)場景由相互平行且傾斜的背景和前景組成,用來評估算法對精細結(jié)構(gòu)、狹窄間隙和遮擋邊緣的處理效果.從圖4可知,LF_occ生成的視差圖左側(cè)狹窄間隙部分誤差較大,EPINET生成的視差圖較好地保留了邊緣和窄間隙,其他幾種方法比LF_occ效果相對較好.圖3(b)場景用來評估算法對噪聲的魯棒性,從估計結(jié)果可知,受噪聲的影響,LF丟失了較多信息,CAE、LF_occ和SPO方法都有不同程度的誤差.圖3(c)場景包含傾斜、凹凸不平和不精確邊緣,可以評估算法在不同幾何形狀上的性能.從圖4場景估計結(jié)果可知,LF在平行平面上的估計非常平滑,但在傾斜物體表面上的估計則會產(chǎn)生明顯的階梯式效應(yīng),LF_occ估計的結(jié)果粗糙不平,而SPO相比LF_occ的結(jié)果較為平滑.圖3(d)場景評估算法被不同對比度和紋理的影響程度.從圖4場景估計結(jié)果可知,LF幾乎錯誤估計了左側(cè)大部分低對比度紋理區(qū)域,LF_occ比CAE和SPO估計效果好.EPINET在狹窄間隙、噪聲干擾、不同幾何形狀和重復(fù)紋理等場景下都可以精確地估計出場景深度.
圖3 HCI合成光場數(shù)據(jù)集類別1場景中心視角[32]
圖4 HCI數(shù)據(jù)集類別1上各方法視差
HCI數(shù)據(jù)集類別2的光場圖像中心視角圖和視差圖如圖5和6所示.場景估計結(jié)果表明:各方法在圖5(a)場景中都有不同程度的誤差,LF幾乎誤估計了網(wǎng)格箱子的邊緣部分;在圖5(b)場景中,LF在雕像頭頂部存在誤匹配,其他方法結(jié)果相當;在圖5(c)場景下,LF和LF_occ在墻壁上明顯粗糙不平;在圖5(d)場景中,各個方法在懸掛物體上都有一定程度的誤差,其中LF誤差最大.與類別1中結(jié)果一樣,在類別2的4個逼真場景下,EPINET表現(xiàn)最好.
圖5 HCI合成光場數(shù)據(jù)集類別2場景中心視角[32]
圖6 HCI數(shù)據(jù)集類別2上各方法視差
為了定量比較各方法的性能差異,選取均方誤差(MSE×100)、誤識別像素率(BadPix0.07)2個度量指標[31],分別評價算法的深度估計準確程度和對噪聲的魯棒性.2個指標值越小,代表方法性能越好.均方誤差度量MSE定義為
式中d(x)為估計的視差圖,gt(x)為真實視差圖,M為評估掩膜.
誤識別像素率BadPix定義為
式中t為誤識別像素的閾值,本文取值0.07.
5種方法在2個類別8幅場景下的均方誤差、誤識別率和運行時間見表1.從均方誤差和誤識別率2個評價指標可知,LF和LF_occ的誤差較大,且LF_occ由于考慮了遮擋而誤差小于LF.CAE和SPO的誤差較小,原因是CAE采用的角度熵和自適應(yīng)散焦量具有較好的抗遮擋和抗噪能力,SPO是基于EPI的估計方法,具有一定的抗遮擋能力.EPINET誤差最小,是因為其采用的深度學習技術(shù)具有良好的非線性映射和泛化能力,因而對遮擋和噪聲較為魯棒性.
表1 2個類別經(jīng)5種方法處理后實驗結(jié)果
從運行時間分析,總體上,光場圖像由于體積大,數(shù)據(jù)處理方法大多耗時高.其中LF_occ耗時最多,主要原因是LF_occ需要顯式地處理遮擋邊緣,采用多標簽優(yōu)化的方法,相對較為耗時;LF與CAE運行時間基本相當,但LF略高是由于需要計算傅里葉變換;SPO基于EPI圖像需要計算直線斜率且同樣采用多標簽優(yōu)化,耗時比LF和CAE高出一個數(shù)量級;基于深度學習的EPINET在不考慮訓(xùn)練時間的情況下,運行效率最高.
Lytro Illum相機拍攝的真實光場數(shù)據(jù)集中心視角見圖7.圖8是不同方法在真實數(shù)據(jù)集上重建的視差圖.真實光場數(shù)據(jù)包含較大的相機噪聲、遮擋、精細結(jié)構(gòu)和高光.由于LF從原理上并未考慮遮擋,與合成光場數(shù)據(jù)集實驗結(jié)果一樣,該方法在真實光場數(shù)據(jù)上的重建結(jié)果誤差最大,特別是圖7(a)和(b)場景中的自行車輻條邊緣幾乎全部丟失,在圖7(d)幅柵欄上也有部分誤估計.CAE估計結(jié)果比LF較好,但仍然誤差較大.LF_occ和SPO都有較好的抗遮擋和噪聲能力,重建的視差圖比較清晰和精確.EPINET由于采用了加權(quán)中值濾波,故較好地抑制了相機噪聲,且對復(fù)雜遮擋場景重建結(jié)果都非常清晰和精確.但該方法估計結(jié)果丟失了遠景處的物體(如圖7(a)和(b)場景遠處的自行車),這與訓(xùn)練缺乏真實數(shù)據(jù)集有關(guān).需要指出的是,5種方法都是建立在朗伯場景條件下的,不適應(yīng)于非朗伯場景,如圖7(c)高光部分所有方法深度估計結(jié)果都存在偏差.
圖7 真實光場數(shù)據(jù)集中心視角
圖8 真實光場數(shù)據(jù)集各方法視差
作為一種新興的視覺信息獲取技術(shù),光場成像技術(shù)已經(jīng)被廣泛應(yīng)用在三維重建、顯著性檢測、目標檢測和識別等計算機視覺領(lǐng)域.通過梳理和總結(jié)光場深度估計方法,并通過實驗進一步說明,利用光場結(jié)構(gòu)特征進行場景深度重建,相比傳統(tǒng)的單目和雙目深度估計,具有顯著優(yōu)勢,但仍然存在挑戰(zhàn),這也是未來的研究趨勢:
(1)現(xiàn)有大多數(shù)方法都是基于朗伯體假設(shè)和簡單場景的深度估計,未來還應(yīng)當對高光或鏡面反射的非朗伯體、更精細的結(jié)構(gòu)、傾斜物體表面重建以及低紋理等復(fù)雜場景下的深度估計進行深入研究.
(2)與立體匹配相比,由于光場包含密集的視點采樣和連續(xù)的視差空間,更有利于深度估計.但是,從硬件設(shè)計的角度分析,高的角度分辨率會對傳感器的性能提出更高的要求.
(3)充分利用光場結(jié)構(gòu)特征,探索多線索融合方法,以進一步提高深度估計的精度和算法效率.已有研究者嘗試利用EPI和多視角2種方法進行深度估計,其效果明顯優(yōu)于單一方法.
(4)研究表明,深度學習在計算機視覺領(lǐng)域有著得天獨厚的優(yōu)勢.基于深度學習的光場深度估計將會成為未來的主流.然而,深度學習在光場深度估計方面還處于探索階段,研究者們已經(jīng)開始關(guān)注擴展更多的數(shù)據(jù)集、設(shè)計新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和研究新的損失函數(shù)等.
(5)4D光場數(shù)據(jù)由于包含豐富的場景信息而存在著體積大、計算耗時的問題,未來還需要在提高算法效率,以及開展基于圖形處理單元的光場數(shù)據(jù)處理上進一步研究.