博客專(zhuān)欄

EEPW首頁(yè) > 博客 > CVPR 2021 | pixelNeRF:一種基于NeRF的多視圖三維重建網(wǎng)絡(luò)

CVPR 2021 | pixelNeRF:一種基于NeRF的多視圖三維重建網(wǎng)絡(luò)

發(fā)布人:計(jì)算機(jī)視覺(jué)工坊 時(shí)間:2021-05-14 來(lái)源:工程師 發(fā)布文章

概述

作者提出了pixelNeRF,一個(gè)只需要輸入單張或多張圖像,就能得到連續(xù)場(chǎng)景表示的學(xué)習(xí)框架。由于現(xiàn)存的構(gòu)建神經(jīng)輻射場(chǎng)【1】的方法涉及到獨(dú)立優(yōu)化每個(gè)場(chǎng)景的表示,這需要許多校準(zhǔn)的視圖和大量的計(jì)算時(shí)間,因此作者引入了一種新的網(wǎng)絡(luò)架構(gòu)。實(shí)驗(yàn)結(jié)果表明,在所有情況下,pixelNeRF在新視圖合成和單圖像三維重建方面都優(yōu)于當(dāng)前最先進(jìn)的工作。

簡(jiǎn)介

該項(xiàng)目主要研究的問(wèn)題是如何從一個(gè)稀疏的輸入視圖集中合成這個(gè)場(chǎng)景的新視圖,在可微神經(jīng)渲染出現(xiàn)之前,這個(gè)長(zhǎng)期存在的問(wèn)題一直沒(méi)有得到進(jìn)展。同時(shí),最近的神經(jīng)渲染場(chǎng)NeRF通過(guò)編碼體積密度和顏色,在特定場(chǎng)景的新視圖合成方面表現(xiàn)出很好的效果。雖然NeRF可以渲染非常逼真的新視圖,但它通常是不切實(shí)際的,因?yàn)樗枰罅康奈蛔藞D像和冗長(zhǎng)的場(chǎng)景優(yōu)化。

在這篇文章中,作者對(duì)上述方法進(jìn)行了改進(jìn),與NeRF網(wǎng)絡(luò)不使用任何圖像特征不同的是,pixelNeRF將與每個(gè)像素對(duì)齊的空間圖像特征作為輸入。這種圖像調(diào)節(jié)允許框架在一組多視圖圖像上進(jìn)行訓(xùn)練,學(xué)習(xí)場(chǎng)景先驗(yàn),然后從一個(gè)或幾個(gè)輸入圖像中合成視圖,如下圖所示。

1.png

PixelNeRF具有很多特點(diǎn):首先,Pixel可以在多視圖圖像的數(shù)據(jù)集上面進(jìn)行訓(xùn)練,而不需要任何額外的監(jiān)督;其次,PixelNeRF預(yù)測(cè)輸入圖像的攝像機(jī)坐標(biāo)系中的NeRF表示,而不是標(biāo)準(zhǔn)坐標(biāo)系,這是泛化看不見(jiàn)的場(chǎng)景和物體類(lèi)別的必要條件,因?yàn)樵谟卸鄠€(gè)物體的場(chǎng)景中,不存在明確的規(guī)范坐標(biāo)系;第三,它是完全卷積的,這允許它保持圖像和輸出3D表示之間的空間對(duì)齊;最后,PixelNeRF可以在測(cè)試時(shí)合并任意數(shù)量的輸入視圖,且不需要任何優(yōu)化。

相關(guān)工作

新視圖合成:這是一個(gè)長(zhǎng)期存在的問(wèn)題,它需要從一組輸入視圖中構(gòu)建一個(gè)場(chǎng)景的新視圖。盡管現(xiàn)在有很多工作都已經(jīng)取得了逼真的效果,但是存在比較多的問(wèn)題,例如需要密集的視圖和大量的優(yōu)化時(shí)間。

其他方法通過(guò)學(xué)習(xí)跨場(chǎng)景共享的先驗(yàn)知識(shí),從單個(gè)或少數(shù)輸入視圖進(jìn)行新的視圖合成,但是這些方法使用2.5D表示,因此它們能夠合成的攝像機(jī)運(yùn)動(dòng)范圍是有限的。在這項(xiàng)工作中,作者提出了PixelNeRF,能夠直接從相當(dāng)大的基線中合成新視圖。

基于學(xué)習(xí)的三維重建:得益于深度學(xué)習(xí)的發(fā)展,單視圖或多視圖的三維重建也得到快速的發(fā)展。問(wèn)題是,很多表示方法都需要3D模型進(jìn)行監(jiān)督,盡管多視圖監(jiān)督限制更小、更容易獲取,其中的很多方法也需要物體的mask。相比之下,PixelNeRF可以單獨(dú)從圖像中訓(xùn)練,允許它應(yīng)用到含有兩個(gè)對(duì)象的場(chǎng)景而不需要修改。

以觀察者為中心的三維重建:對(duì)于3D學(xué)習(xí)任務(wù),可以在以觀察者為中心的坐標(biāo)系(即視圖空間)或以對(duì)象為中心的坐標(biāo)系(即規(guī)范空間)中進(jìn)行預(yù)測(cè)。大多數(shù)現(xiàn)存的方法都是在規(guī)范空間中進(jìn)行預(yù)測(cè),雖然這使得學(xué)習(xí)空間規(guī)律更加容易,但是會(huì)降低不可見(jiàn)對(duì)象和具有多個(gè)對(duì)象場(chǎng)景的預(yù)測(cè)性能。PixelNeRF在視圖空間中操作,這在【2】中已經(jīng)被證明可以更好地重建看不見(jiàn)的對(duì)象類(lèi)別,并且不鼓勵(lì)對(duì)訓(xùn)練集的記憶。下表是PixelNeRF和其他方法的對(duì)比:

2.png

背景介紹:NeRF

NeRF【1】將場(chǎng)景編碼為顏色和密度的連續(xù)體積輻射場(chǎng)f。特別地,對(duì)于一個(gè)3D點(diǎn)x和

觀察方向單位向量d,f返回微分密度σ和RGB顏色c:f(x, d) = (σ, c)。體積輻射場(chǎng)可以通過(guò)下面的函數(shù)渲染成2D圖像:

3.png

其中T(t)處理遮擋。對(duì)于具有姿態(tài)P的目標(biāo)視圖,相機(jī)光線可以參數(shù)化為r(t)=o+td,o為光線原點(diǎn)(相機(jī)中心)。沿著相機(jī)光線在預(yù)定義的深度邊界[tn,tf]之間計(jì)算積分。在實(shí)踐中,這種積分是通過(guò)沿每個(gè)像素射線采樣點(diǎn)的數(shù)值求積來(lái)近似的。

然后,將攝影機(jī)光線r的渲染像素值與對(duì)應(yīng)的真實(shí)像素值C(r)進(jìn)行比較,最后的loss定義如下:

4.png

其中R(P)是具有目標(biāo)姿態(tài)的所有相機(jī)光線的集合。雖然NeRF實(shí)現(xiàn)了最新的視圖合成,但它是一種基于優(yōu)化的方法,每個(gè)場(chǎng)景必須單獨(dú)優(yōu)化,場(chǎng)景之間沒(méi)有知識(shí)共享。這種方法不僅耗時(shí),而且在單個(gè)或極稀疏視圖的限制下,無(wú)法利用任何先驗(yàn)知識(shí)來(lái)加速重建或完成形狀。

基于圖像的NeRF

為了克服上面提到的關(guān)于NeRF的問(wèn)題,作者提出了一種基于空間圖像特征的NeRF結(jié)構(gòu)。該模型由兩個(gè)部分組成:一個(gè)完全卷積的圖像編碼器E(將輸入圖像編碼為像素對(duì)齊的特征網(wǎng)格)和一個(gè)NeRF網(wǎng)絡(luò)f(給定一個(gè)空間位置及其對(duì)應(yīng)的編碼特征,輸出顏色和密度)。

單視圖pixelNeRF:首先固定坐標(biāo)系為輸入圖像的視圖空間,并在這個(gè)坐標(biāo)系中指定位置和攝像機(jī)光線。給定場(chǎng)景的輸入圖像I,首先提取出它的特征量W=E(I)。然后,對(duì)于相機(jī)光線上的一個(gè)點(diǎn)x,通過(guò)使用已知的內(nèi)參,將x投影到圖像坐標(biāo)π(x)上,然后在像素特征之間進(jìn)行雙線性插值來(lái)提取相應(yīng)的圖像特征向量W(π(x))。最后把圖像特征連同位置和視圖方向(都在輸入視圖坐標(biāo)系統(tǒng)中)傳遞到NeRF網(wǎng)絡(luò):

5.png

其中γ()是x上的位置編碼。

6.png

合并多個(gè)視圖:多個(gè)視圖提供了有關(guān)場(chǎng)景的附加信息,并解決了單視圖固有的三維幾何歧義。作者擴(kuò)展了該模型,不同于現(xiàn)有的在測(cè)試時(shí)只使用單個(gè)輸入視圖的方法,它允許在測(cè)試時(shí)有任意數(shù)量的視圖。

在有多個(gè)輸入視圖的情況下,只假設(shè)相對(duì)的相機(jī)姿態(tài)是已知的,為了便于解釋?zhuān)梢詾閳?chǎng)景任意固定一個(gè)世界坐標(biāo)系。把輸入圖像記為I,其相關(guān)聯(lián)的攝像機(jī)記為P=[R t]。對(duì)于新的目標(biāo)攝影機(jī)光線,將視圖方向?yàn)閐的點(diǎn)x轉(zhuǎn)換到每個(gè)輸入視圖i的坐標(biāo)系,轉(zhuǎn)換如下:

7.png

為了獲得輸出的密度和顏色,作者獨(dú)立地處理每個(gè)視圖坐標(biāo)幀中的坐標(biāo)和相應(yīng)的特征,并在NeRF網(wǎng)絡(luò)中聚合視圖。將NeRF網(wǎng)絡(luò)的初始層表示為f1,它分別處理每個(gè)輸入視圖空間中的輸入,并將最終層表示為f2,它處理聚合視圖。

和單視圖類(lèi)似,作者將每個(gè)輸入圖像編碼成特征體積W(i)=E(I(i))。對(duì)于點(diǎn)x(i),在投影圖像坐標(biāo)π(x(i))處從特征體W(i)中提取相應(yīng)的圖像特征,然后將這些輸入傳遞到f1,以獲得中間向量:

8.png

最后用平均池化算子ψ將中間向量V(i)聚合并傳遞到最后一層f2,得到預(yù)測(cè)的密度和顏色:

9.png

效果和對(duì)比

10.png

特定類(lèi)別的單視圖重建

11.png

特定類(lèi)別的雙視圖重建

12.png

特定類(lèi)別的單視圖和雙視圖重建結(jié)果對(duì)比

參考文獻(xiàn):

【1】Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik,Jonathan T. Barron, Ravi Ramamoorthi, and Ren Ng. Nerf: Representing scenes as neural radiance fields for view synthesis. In Eur. Conf. Comput. Vis., 2020

【2】Daeyun Shin, Charless Fowlkes, and Derek Hoiem. Pixels, voxels, and views: A study of shape representations for single view 3d object shape prediction. In IEEE Conf. Comput.Vis. Pattern Recog., 2018.

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉