王偉
(四川大學(xué)計算機(jī)學(xué)院,成都610065)
調(diào)查顯示,人們獲取的外界信息80%以上要靠視覺。由于肉眼對于高分辨率圖像的感知能力有限,人們的關(guān)注點逐漸從清晰度轉(zhuǎn)為了對場景立體感、互動感和沉浸感的追求。隨著社會生產(chǎn)力和科技的不斷發(fā)展,虛擬現(xiàn)實設(shè)備和準(zhǔn)確的實時視點跟蹤傳感器使新型的沉浸式觀看體驗成為了可能,允許用戶從任意角度交互式觀察動態(tài)場景。從而造就了如自由視點視頻、全景視頻等新型視頻技術(shù)[1]。盡管通常在拍攝中會部署多相機(jī)系統(tǒng),但用戶可能會選擇未安裝物理攝像機(jī)的視點,另外由于帶寬以及設(shè)備的限制,在這些情況下,需要對視圖進(jìn)行合成。
基于深度圖像的渲染(Depth Image Based Rendering,DIBR)是廣泛用于視圖合成問題的一種方法[2]。標(biāo)準(zhǔn)DIBR 算法從參考視點對紋理和深度信息執(zhí)行3D Warping 以合成新視圖,然后應(yīng)用各種圖像修復(fù)技術(shù)來處理由于遮擋問題造成的新視圖中的空洞。這些丟失的像素在任何輸入圖像中都是不可見的,因此以視覺上可接受的方式恢復(fù)像素是一項很具有挑戰(zhàn)性的任務(wù)。
本文提出的算法流程圖如下,首先使用3D Warping 分別從兩幅參考視圖各分別生成一幅彩色中間圖像和深度中間圖像。為了解決偽影問題,處理在參考深度圖中處于顯著邊緣的像素。然后將左右中間結(jié)果合并在一起。使用一種基于凝聚式層次聚類的遮擋填充技術(shù)來填補(bǔ)合成過程中造成的空洞。對于每個被遮擋的區(qū)域,其相鄰像素根據(jù)深度分布被聚類為一個簇。每個簇均被視為一個深度平面。被遮擋的區(qū)域一般可認(rèn)為是最遠(yuǎn)深度平面的一部分,使用該平面中的有效像素進(jìn)行像素值恢復(fù)。首先填充深度圖中的空洞,并以此來協(xié)助彩色圖像的修復(fù)。本文提出的算法在Middlebury 數(shù)據(jù)集上獲得了不錯的結(jié)果。
長期以來,虛擬視點合成一直是一個活躍的研究領(lǐng)域。文獻(xiàn)[3]是相關(guān)技術(shù)的全面綜述。一種常見的方法是使用基于模型的渲染[45],該方法通常需要使用多邊形網(wǎng)格來構(gòu)建3D 場景模型。另一種主流方法是DIBR,它避免了顯式建模步驟并將其替換為3D Warping過程。Zinger 等人提出了一種標(biāo)準(zhǔn)的DIBR 流程[6]。McMillan 等人首次提出利用單視點的3D Warping 方程繪制虛擬視點圖像的方法[7],利用一個參考視點圖像所在位置的攝像機(jī)參數(shù)以及相對應(yīng)的深度信息繪制虛擬視點圖像,極大地降低了繪制虛擬視點圖像的復(fù)雜。由于視點由一個參考視點變換到虛擬視點位置時,一部分場景在虛擬視點中可見而在參考視點中不可見,從而導(dǎo)致大量的像素信息缺失,使得這些空洞區(qū)域很難去填補(bǔ)。于是Domanski 等人提出從多個參考視點圖像獲得更多的虛擬視點信息[8],繪制同一虛擬視點的多個圖像,然后對多個圖像進(jìn)行融合,空洞問題得到了改善。但是由于對于融合方式上的處理存在一定的問題,因此視覺效果還有待改善。在基于深度圖像的虛擬視點繪制過程中,深度信息的完整性和精度直接影響著虛擬視點圖像的繪制質(zhì)量,而且在經(jīng)過3D Warping 以后,深度圖像的尖銳部分也可能會產(chǎn)生空洞。因此,在繪制虛擬視點之前,應(yīng)先預(yù)處理參考視點的深度圖像。目前深度圖像預(yù)處理方法多采用平滑深度圖像的方式。Fehn 提出采用高斯濾波器進(jìn)行全圖像濾波[2],空洞問題得到了有效地解決,但繪制圖像會產(chǎn)生明顯失真。Daribo 等人[9]提出邊緣距離自適應(yīng)的平滑濾波方法,該方法比直接濾波效果要高效,但也不能完全避免濾波帶來的弊端?;谌搜蹖λ椒较蛏系氖д娓用舾械目紤],Wang 等人在文獻(xiàn)[10]提出采用非對稱邊緣自適應(yīng)濾波方法,這類方法既可以減少空洞數(shù)量,也可以去除圖像中的塊效應(yīng)和噪聲,但由于改變了深度圖像中物體的深度,導(dǎo)致繪制的圖像存在不同程度上的幾何失真。汪敬媛在文獻(xiàn)[11]提出一種新的深度圖像預(yù)處理方法,該方法在處理深度圖像的同時很好地保留了深度圖像的邊緣信息,但是由于增加了大量的比較操作,提高了時間復(fù)雜度。Mori 等人[12]通過引入異步生成機(jī)制、邊界膨脹和空洞互補(bǔ)填充等技術(shù)使生成的虛擬視點圖像達(dá)到了較好的質(zhì)量,成為DIBR 的參考方法。Ndjiki-Nya 等人[13]在Mori 算法的基礎(chǔ)上,通過引入先進(jìn)的圖像修復(fù)技術(shù)使DIBR 的效果得到了進(jìn)一步提高。Jain 等人[14]提出了一種效率為主的基于最小性能損失的實時繪制算法。
本文指出了DIBR 中的一些主要挑戰(zhàn),例如處理不可靠的深度估計和遮擋填充。對于由不可靠的深度估計引起的偽影,文獻(xiàn)[15-16]使用分層表示來標(biāo)記邊緣像素的可靠性,各個層分別變換,然后合并在一起,在[17]中提供了主流遮擋填充方法及其性能比較。文獻(xiàn)[18-19]使用深度信息來輔助遮擋修復(fù)過程。Tran 等人在文獻(xiàn)[20]中針對恢復(fù)不可靠和被遮擋的像素,利用晶格結(jié)構(gòu)的條件隨機(jī)場和圖割最小優(yōu)化對其進(jìn)行了改進(jìn)。
本文提出的算法包括4 個主要步驟:3D Warping、偽影去除、中間圖像融合、空洞填充。
文獻(xiàn)[21]提出了通用的3D Warping 公式,假定左右參考視圖經(jīng)過校正,虛擬視點位置位于基線上。左和右攝像機(jī)分別沿著歸一化基線在位置0 和1 處,虛擬攝像機(jī)位于位置α,0<α<1。對于左視圖和右視圖,通過按α 或1-α 縮放的視差比例來水平移動參考視圖像素位置。針對X*Y 大小的參考視圖IL和IR,dL和dR為參考視圖對應(yīng)視差圖。通過以下公式生成候選圖像TL和TR,DL和DR為TL和TR對應(yīng)的合成的中間深度圖。圖1 為Middlebury 數(shù)據(jù)集中Moebius 彩色圖和對應(yīng)的視差圖。
r 代表行數(shù),n 代表列數(shù)。 fL、fR、b 別為左右相機(jī)焦距和基線長度。 針對非整數(shù)列映射點(r,n'),n'?Z,合成兩個位置降低裂縫效應(yīng)。多個像素映射到同一個像素點時,保留深度最小,即視差最大的像素。
圖1 Moebius彩色圖和對應(yīng)的視差圖
深度圖像中的邊緣通常比較尖銳,伴隨有突變,而彩色圖像中的對應(yīng)部分會有過渡寬度。如果處理不當(dāng),深度為背景但被前景色污染的邊緣像素將導(dǎo)致偽影(見圖2)。對參考深度圖應(yīng)用Canny 邊緣算子[16]來檢測兩個參考視圖中的顯著邊緣。利用形態(tài)學(xué)膨脹檢測到的邊緣,對膨脹后的該像素區(qū)域區(qū)分背景和前景。對TL和TR中從膨脹區(qū)域背景中的邊緣像素3D Warping 變換來的對應(yīng)像素應(yīng)用中值濾波。
圖2 未處理偽影的最終合成圖像
通過比較合成的視差圖來線性加權(quán)融合候選圖像TL和TR生成中間視圖It,Dt。TL和TR中均可見的像素,保留深度更小的。因為深度越小越接近相機(jī),容易遮擋遠(yuǎn)處物體。只存在于一個候選圖像中的像素,代表著像素在另一幅候選圖像中被遮擋。直接采用該像素值。兩幅候選圖像中都不可見的像素,使用后面的空洞填充算法解決。融合后的圖像可見圖3。
圖3 融合生成的中間圖像及空洞
It,Dt中的空洞可能是由兩個主要原因引起的。一是參考圖像中的采樣率不足,隨著視點的變化,與參考視點相比,物體占據(jù)的像素更多。另一個是遮擋,在新視圖中參考視圖中被遮擋的區(qū)域變?yōu)榭梢???斩纯赡芪挥谝粋€深度平面中間或多個深度平面的相交處。在第一種情況下,空洞為平面的一部分。在第二種情況下,該空洞很可能是被參考視點前景對象遮擋的背景的一部分??斩纯梢暈樽钸h(yuǎn)的相鄰深度平面的一部分。
我們探索每個空洞周圍的相鄰像素的深度分布,以確定空洞周圍深度平面的數(shù)量。對于空洞Hi,我們基于深度值對其3 階相鄰像素(3 個像素)應(yīng)用凝聚式層次聚類:如果兩個集群P,Q 滿足以下公式將被合并。
先合并最接近集群。當(dāng)簇之間的相互距離都超過τd時,合并過程停止。每個簇被視為一個深度平面。
采用距Hi最遠(yuǎn)的剩余簇C(Hi)中的像素填補(bǔ)空洞Hi。填充從選定像素的邊界處的像素開始,逐漸向空洞的其余區(qū)域傳播。對于空洞Hi中的像素x 使用中值濾波:
圖4 經(jīng)深度圖空洞填充后的合成圖像空洞
彩色圖像空洞填充類似。代替中值濾波,使用雙邊濾波器[22]的變體來填補(bǔ)空洞。具體公式如下。
分母為歸一項。 ws是權(quán)重函數(shù)中的空間域高斯核,描述y 和x 之間的空間距離。
wi為權(quán)重函數(shù)中的像素值域高斯核,描述像素值域中的輻射差異(周圍像素與中心像素之間像素相似程度)。
wi能防止x 被通常代表其他對象的其他深度平面內(nèi)的像素污染。針對填補(bǔ)的彩色圖像的邊緣中值濾波以平滑鋸齒狀偽影。圖5 顯示了最終的彩色輸出圖像。
圖5 最終彩色合成圖像
在Middlebury 立體數(shù)據(jù)集上評估了本文提出的算法。該數(shù)據(jù)集包含27 組多視圖圖像。每組都包括一對校正過的彩色圖像和視差圖。在表1 中,報告了提出的算法(α=0.5)和其他3 種最新算法在10 個測試圖上PSNR 和SSIM 得分。結(jié)果表明,提出的算法平均PSNR 為35.33dB,SSIM 為0.99。稍稍優(yōu)于其他算法。
虛擬視圖合成是一種為自動立體多視圖顯示器生成內(nèi)容的可行解決方案。對于某些應(yīng)用程序以及包含更多視圖的未來顯示技術(shù),合成視圖是必不可少的。另外在考慮多視圖圖像的數(shù)據(jù)傳輸時,從立體對中合成視圖也具有巨大優(yōu)勢。本文提出了一個基于層次聚類的DIBR 算法框架,用于視圖合成任務(wù)中的最具挑戰(zhàn)性的遮擋填充問題。所提出的算法在Middlebury 數(shù)據(jù)集上進(jìn)行了測試。評估結(jié)果表明算法取得了較好的結(jié)果。這項工作還有許多可能的擴(kuò)展。當(dāng)前,正在考慮增加視圖一致性約束。
表1 本文算法和三種最新方法的PSNR 和SSIM 比較表