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