新視角圖像生成(NVS)是電腦視覺的一個應用領域,在1998年SuperBowl的比賽,CMU的RI曾展示過給定多攝像頭立體視覺(MVS)的NVS,當時這個技術曾轉讓給美國一家體育電視台,但最終沒有商業化;英國BBC廣播公司為此做過研發投入,但是沒有真正產品化。
在基於影像渲染(IBR)領域,NVS應用有一個分支,即基於深度影像的渲染(DBIR)。另外,在2010年曾經很火熱的3D TV,也是需要從單眼影片中得到雙眼立體,但是由於技術的不成熟,最終沒有流行起來。當時基於機器學習的方法已經開始研究,例如Youtube曾經用影像搜尋的方法來合成深度圖。
幾年前我曾介紹過深度學習在NVS的應用:基於深度學習的新視角圖像生成方法
最近一段時間,神經輻射場(NeRF)已成為表示場景和合成照片逼真影像的有效範例,其最直接的應用就是NVS。傳統NeRF的一個主要限制是,通常無法在訓練視點顯著不同的新視點產生高品質的渲染。以下以此展開討論NeRF的泛化方法,這裡忽略基礎的NeRF原理介紹。有興趣的請參考綜述論文:
#論文【2】提出了一個通用的深度神經網路MVSNeRF,實現跨場景泛化,推斷從僅三個附近的輸入視圖重建輻射場。此方法利用平面掃描成本體(廣泛用於多視圖立體視覺)進行幾何感知場景推理,並與基於物理的體渲染相結合,用於神經輻射場重建。
論文【3】提出立體視覺輻射場(SRF),一種端對端訓練的神經視圖合成方法,可泛化到新場景,並且在測試時只需要稀疏視圖。其核心思想是一種受經典多視圖立體視覺(MVS)方法啟發的神經架構,在立體影像中找到相似的影像區域來估計表面點。輸入編碼器網路10個視圖,擷取多尺度特徵。多層感知器(MLP)取代經典的影像區塊或特徵匹配,輸出相似性分數的整合。在SRF中,每個3D點給定輸入影像中立體視覺對應的一個編碼,預先預測其顏色和密度。透過成對相似性的集成,該編碼被隱式地學習——模擬經典立體視覺。
已知相機參數,給定一組N個參考影像, SRF預測3D點的顏色和密度。建構SRF模型f,類似於經典的多視圖立體視覺方法:(1)為了編碼點的位置,將其投影到每個參考視圖中,並建構局部特徵描述符;(2) 如果在一個表面上並且照片一致,,特徵描述符應該互相匹配;用一個學習的函數模擬特徵匹配,對所有參考視圖的特徵進行編碼;(3) 該編碼由一個學習的解碼器進行解碼,成為NeRF表徵。如圖2給出SRF的概覽:(a)提取影像特徵;(b)透過一個學習的相似度函數模擬尋找照片一致性的過程,得到一個立體特徵矩陣(SFM);(c)聚集訊息,獲取多視圖特徵矩陣(MFM);(d)最大池化取得對應和顏色的緊密編碼,解碼後得到顏色和體密度。
論文【4】提出DietNeRF,一個從幾個影像估計的3D神經場景來表徵。其引入一種輔助語意一致性損失,鼓勵新姿態進行真實的渲染。
當NeRF只有少數視圖可用時,渲染問題是未約束的;除非嚴格正則化,否則NeRF通常會出現退化解。如圖3所示:(A) 從均勻採樣的姿態中對一個目標進行了100次觀察時,NeRF估計一個詳細而準確的表徵,允許純粹從多視圖一致性進行高品質視圖合成;(B)在只有8個視圖的情況下,將目標放置在訓練攝影機的近場中,相同的NeRF過擬合,導致在訓練攝影機附近的姿態出現目標錯位,並退化;(C) 當正則化、簡化、調整和手動重新初始化時,NeRF可以收斂,但不再捕捉精細細節;(D) 如果沒有關於類似目標的先驗知識,單場景視圖合成無法合理地完成未觀察區域。
如圖4是DietNeRF工作示意圖:基於「從任何角度看,一個物體都是那個物體」的原則,DietNeRF監控任意姿態的輻射場(DietNeRF攝影機);計算語意一致性損失,是在捕捉高級場景屬性的特徵空間中,而不是在像素空間中;所以用CLIP這個視覺Transformer提取渲染的語義表徵,然後最大化與真值視圖表徵的相似性。
實際上,單一視圖2D影像編碼器學習的場景語意先驗知識,就可以約束一個3D表徵。 DietNeRF在自然語言監督下,從網路挖掘的數億單視圖2D照片集進行訓練:(1)給定來自相同姿態的給定輸入視圖,可正確地渲染,(2)不同隨機姿態下匹配高級語義屬性。語意損失函數能夠從任意姿態監督DietNeRF模型。
論文【5】提出DS-NeRF,採用一種學習輻射場的損失,利用現成的深度圖監督,如圖5所示。有這樣一個事實,即當前的NeRF流水線需要具有已知攝影機姿態的圖像,這些姿態通常透過運動恢復結構(SFM)來估計。至關重要的是,SFM還產生了稀疏的3D點,在訓練期間用作「自由」深度監督:增加一個損失,鼓勵一個光線的終止深度分佈與一個給定的3D關鍵點相匹配,包括深度不確定性。
論文【6】提出pixelNeRF,一個基於一或多輸入影像預測連續神經場景表徵的學習框架。其引入一種全卷積方式在影像輸入上調節NeRF架構,使得網路能夠跨多場景進行訓練來學習一個場景的先驗知識,從而能夠從稀疏的一組視圖(最少就一個)以前饋方式進行新視圖合成。利用NeRF的體渲染方法,pixelNeRF可以直接從影像中訓練,無需額外的3D監督。
具體地講,pixelNeRF首先從輸入影像計算全卷積影像特徵網格(feature grid),在輸入影像上調節NeRF。然後,對於視圖座標系中感興趣的每個3D查詢空間點x和視圖方向d,透過投影和雙線性內插法採樣相應的影像特徵。查詢規範與圖像特徵一起發送到輸出密度和顏色的NeRF網絡,其中空間圖像特徵作為一個殘差饋送到每個層。當有多個影像可用時,首先將輸入編碼為每個攝影機座標系的潛表徵,在預測顏色和密度之前將其合併在中間層中。此模型訓練基於一個真值圖像和一個體渲染視圖之間的重建損失。
pixelNeRF框架如圖6所示:對於沿著視圖方向d、一個目標相機光線的一個3D查詢點x,透過投影和插值從特徵體W提取對應的圖像特徵;然後將該特徵與空間坐標一起傳遞到NeRF網絡f中;輸出RGB和密度值被用於體渲染,並與目標像素值進行比較;坐標x和d在輸入視圖的相機座標系中。
可以看出,PixelNeRF和SRF用從輸入影像提取的局部CNN特徵,而MVSNeRF透過image warping獲得3D成本體,然後由3D CNN處理。這些方法需要許多不同場景的多視圖影像資料集進行預訓練,而獲取成本可能很高。此外,儘管預訓練階段很長,但大多數方法都需要在測試時微調網路權重,並且當測試域發生變化時,新視圖的品質很容易下降。
當然,DS-NeRF增加額外的深度監督來提高重建精度。 Diet-NeRF比較了CLIP在低解析度下渲染的未見視點嵌入。這種語義一致性損失只能提供高級信息,不能改善稀疏輸入的場景幾何。
論文【7】提出的IBRNet,其核心包括MLP和光線transformer(經典Transformer架構:位置編碼和自註意),用於估計連續5D位置(3D空間位置和2D觀看方向)的輻射度和體密度,並從多個來源視圖即時渲染外觀資訊。
在渲染時,該方法可以追溯到經典的基於圖像渲染(IBR)工作。不同於神經場景表徵,其為渲染優化每個場景函數,IBRNet學習通用的視圖插值函數,可泛化到新場景。還是經典的體渲染來合成影像,其完全可微分,並且用多視圖姿態影像作為監督來訓練。
光線transformer沿著整個光線考慮這些密度特徵來計算每個樣本的標量密度值,實現更大空間尺度上的可見性推理(visibility reasoning)。單獨地,一個顏色調和(color blending)模組用2D特徵和來源視圖的視線向量導出每個樣本的視圖相關顏色。最後,體渲染為每條光線計算最終顏色值。
如圖7是IBRNet概覽:1) 為渲染目標視圖(標記「?」影像),首先辨識一組相鄰的來源視圖(例如,標記為A和B的視圖)並擷取影像特徵;2) 然後,對目標視圖中的每條光線,用IBRNet(黃色陰影區域)計算沿光線的一組樣本顏色和密度;具體而言,對每個樣本從相鄰源視圖中聚合相應的資訊(影像顏色、特徵和觀看方向),產生其顏色c和密度特徵;然後,將ray transformer應用於光線上所有樣本的密度特徵,預測密度值。 3) 最後,用體渲染沿著光線累積顏色和密度。在重建影像顏色上,可進行端到端的L2損失訓練。
如圖8是IBRNet用於連續5D位置的顏色體密度預測工作:首先將所有源視圖中提取的2D圖像特徵輸入到類似PointNet的MLP中,聚合局部和全局信息,產生多視圖感知特徵和池化權重,用權重來集中特徵,進行多視圖可見性推理,獲得密度特徵;這裡沒有直接從預測單個5D樣本的密度σ,而是用ray transformer模組聚集沿光線的所有樣本信息;ray transformer模組為光線上的所有樣本獲取密度特徵,並預測其密度;ray transformer模組能夠在更長的範圍進行幾何推理,並改進密度預測;對於顏色預測,將多視圖感知特徵,與查詢光線相對於源視圖的觀看方向,連接輸入一個小網路預測一組調和權重,輸出顏色c是來源視圖的圖像顏色加權平均。
這裡補充一點:與採用絕對觀看方向的NeRF不同,IBRNet考慮相對於來源視圖的觀看方向,即d和 #di 之間的差異, Δd=d−di 。 Δd 較小,通常表示目標視圖的顏色與來源視圖i
對應顏色相似的可能性較大,反之亦然。 論文【8】提出的通用輻射場(GRF),僅從2D觀察中表徵和渲染3D目標和場景。此網路將3D幾何建模為通用輻射場,以一組2D影像、攝影機外參姿態和內參為輸入,為3D空間每個點建立內部表徵,然後渲染從任意位置觀察的相應外觀和幾何。其關鍵是學習2D影像每個像素的局部特徵,然後將這些特徵投影到3D點,從而產生通用和豐富的點表徵。此外,整合一個注意機制來聚合多個2D視圖的像素特徵,從而隱式地考慮視覺遮蔽問題。如圖9是GRF的示意圖:GRF將每個3D點p投影到M個輸入影像的每一個,從每個視圖收集每個像素的特徵,聚集並饋送到MLP,推斷p
的顏色和體密度。 GRF由四個部分組成:1)每個2D像素的特徵提取器,一個基於CNN的編碼器-解碼器;2) 2D特徵轉換為3D空間的重投影;3) 取得3D點通用特徵的基於注意力聚合器;4)神經渲染器NeRF。 由於沒有與RGB影像配對的深度值,因此無法確定像素特徵屬於哪個特定的3D表面點。在重投影模組中,將像素特徵視為3D空間中光線沿線每個位置的特性。形式上,給定一個3D點、一個觀察2D視圖以及攝影機姿態和內參,相應的2D像素特徵可以透過重投影操作進行檢索。 在特徵聚合器中,注意機制學習所有輸入特徵的唯一權重,然後聚合在一起。透過一個MLP,3D點的顏色和體密度可以被推論。 論文【9】提出RegNeRF,對未觀測視點渲染的影像區塊幾何和外觀進行正規化,並在訓練期間對光線採樣空間進行退火。此外,用歸一化流模型正則化未觀測視點的顏色。 如圖10是RegNeRF模型的概覽:給定一組輸入影像集合(藍色相機),NeRF優化重建損失;然而,對於稀疏輸入,這會導致退化解;這項工作對未觀察的視圖(紅色攝影機)進行採樣,並正則化從這些視圖渲染的圖像塊幾何和外觀;更具體地說,對於給定的輻射場,透過場景投射光線,並從未觀察到的視點渲染圖像塊;然後,透過訓練的歸一化流模型,將預測的RGB影像塊饋送,並最大化預測的對數似然,從而正則化外觀;對渲染的深度圖塊強制一個平滑度損失,可正則化幾何;此方法導致3D一致性表徵,甚至對渲染真實新視圖的稀疏輸入來說,也是如此。 論文【10】研究了一種新視圖外推而不是少樣本圖像合成的方法,即(1)訓練圖像可以很好地描述目標,( 2)訓練視點和測試視點的分佈之間存在顯著差異,其稱為RapNeRF(RAy Priors NeRF)。 ###論文【10】的見解是,3D曲面任意可見投影的固有外觀應該是一致的。因此,其提出一種隨機光線投射(random ray casting)策略,允許用已見的視圖訓練未見的視野。此外,根據沿著觀測光線的視線方向預先計算的光線圖集,可以進一步提高外推視圖的渲染品質。一個主要的限制是RapNeRF利用多視圖一致性去消除視圖強相關效應。
隨機光線投射(random ray casting)策略直觀解釋如圖11所示:左圖中,有兩個觀察3-D點v的光線,r1位於訓練空間,r2遠離訓練光線;考慮到NeRF的分佈漂移和映射函數 Fc:(r,f)→c ,其沿r2的一些樣本輻射將是不精確的;與像素顏色相比,沿r2的輻射累積操作更有可能提供v的反顏色估計;中圖是一個簡單的虛擬視圖重投影,其遵循NeRF公式計算所涉及的像素光線,從訓練光線池中找到擊中同一3D點的虛擬光線所對應的光線,實踐中很不方便;右圖中,對於特定的訓練光線(從o投射並穿過v),隨機光線投射(RRC)策略在一個圓錐內隨機生成一條未見過的虛擬光線(從o′投射並穿過v),然後基於訓練光線在線指定一個偽標籤;RRC支援用見過的光線訓練未見過的光線。
RRC策略允許以線上方式為隨機產生的虛擬光線分配偽標籤。具體地說,對於一個訓練影像I中的一個感興趣像素,給出其世界座標系中的觀察方向d、相機原點o和深度值 tz ,且光線 r=o td 。這裡,使用預訓練的NeRF對tz預先計算和儲存。
設 v=o tzd 表示r#命中的最近3D曲點點。在訓練階段,將v視為新原點,並在圓錐內從v隨機投射一條光線,其中心線為向量 vo¯=− tzd 。這可以輕鬆實現,只要將 vo¯ 轉換到球形空間並引入一些隨機幹擾∆φ和∆θ到φ和θ。這裡,φ和θ分別是vo¯的方位角和仰角。 ∆φ和∆θ從預先定義間隔 [−η, η] 均勻取樣。由此得到 θ′=θ Δθ 和φ′=φ Δφ。因此,可以從一個隨機原點o'投射一個也通過v的虛擬光線。這樣,可以將顏色強度 I(r) 真值視為 #I~(r′) 的偽標記。
基礎NeRF利用「方向嵌入」來編碼場景的照明效果。場景擬合過程使得訓練的顏色預測MLP嚴重依賴視線方向。對於新視圖內插,這不是問題。然而,由於訓練和測試光線分佈之間存在一些差異,這可能不適合於新視圖外推。一個天真的想法是直接移除方向嵌入(表示為“NeRF w/o dir”)。然而,這通常會產生偽影影像,如意外的波紋和非平滑的顏色。這意味著光線的觀察方向也可能與表面平滑度有關。
論文【10】計算了一個光線圖集(ray atlas),並表明它可以進一步提高外插視圖的渲染質量,同時不涉及內插視圖的問題。光線圖集類似於一個紋理圖集,但它儲存每個3D頂點的全局光線方向。
特別是,對於每個影像(例如,影像I),對所有空間位置抓取其光線的觀察方向,從而產生一個光線圖。從預先訓練的NeRF中提取一個粗糙的3D網格(R3DM),並將光線方向映射到3D頂點。以頂點V=(x,y,z)為例,其全域光線方向 d¯V 應表示為
其中K是相機內參, Γw2c(Ii) 是影像 Ii 的攝影機-世界座標系轉換矩陣, Vuv(Ii)是頂點V在影像Ii的2-D投影位置,L是在頂點V重建中訓練影像數。對於一個任意相機姿態的每個像素,投影具有光線圖紋理的3D網格(R3DM)到2D可獲得一個全局光線先驗 #d¯ 。
如圖12就是光線圖集的示意圖:即從訓練光線中捕捉一個光線圖集並用之對椅子的粗糙3D網格(R3DM)附加紋理;R( Ii)是訓練影像Ii的光線圖。
在訓練RapNeRF時,用感興趣像素I(r)的d¯ 來替換其在Fc中的d,進行顏色預測。這種替代機制發生的機率為0.5。在測試階段,樣本x的輻射度c近似為:
其中映射函數#Fσ( x):x→(σ,f)。
原始NeRF獨立地優化每個場景表徵,不需要探索場景之間的共享訊息,而且耗時。為了解決這個問題,研究人員提出了PixelNeRF和MVSNeRF 等模型,這些模型接收多個觀察者視圖作為條件輸入,學習通用的神經輻射場。遵循分而治之(divide-and-conquer)的設計原則,其包括兩個獨立的元件:用於單一影像的CNN特徵提取器和作為NeRF網路的MLP。對於單一視圖立體視覺,在這些模型中,CNN將影像映射到特徵網格,MLP將查詢5D座標及其對應的CNN特徵映射到單一體密度和依賴視圖的RGB顏色。對於多視圖立體視覺,由於CNN和MLP無法處理任意數量的輸入視圖,因此首先獨立處理每個視圖座標系中的座標和對應特徵,並獲得每個視圖的影像條件中間表徵。接下來,用基於輔助池化的模型來聚合這些NeRF網路內的視圖中間表徵。在3D理解任務中,多視圖提供場景的附加資訊。
論文【11】提出一個編碼器-解碼器Transformer框架TransNeRF,表徵神經輻射場場景。 TransNeRF可以探索多視圖之間的深層關係,並透過單一基於Transformer的NeRF注意機制將多視圖資訊聚合到基於座標的場景表徵中。此外,TransNeRF考慮光線投射空間和周視空間的相應資訊來學習場景中形狀和外觀的局部幾何一致性。
如圖13所示,TransNeRF在一個目標視線(target viewing ray)渲染所查詢的3D點,TransNeRF包括:1)在周視空間中,密度-視圖解碼器(Density-ViewDecoder)和顏色-視圖解碼器(Color-ViewDecoder)將來源視圖和查詢空間資訊((x,y,z),d)整合到3D查詢點的潛密度和顏色表徵中;2)在光線投射空間中,以密度光線解碼器(Density-RayDecoder)和色彩光線解碼器(Color-RayDecoder),考慮沿目標視圖光線的相鄰點來增強查詢密度和色彩特性。最後,從TransNeRF取得在目標視線上查詢3D點的體密度和方向顏色。
論文【12】提出一種稀疏輸入的可泛化NVS方法,稱為FWD,即時提供高品質的影像合成。透過顯式深度和可差分渲染,FWD實現130-1000倍的速度和更好的感知品質。如果在訓練或推理期間有感測器深度的無縫集成,可提高影像品質同時保持即時速度。
其關鍵見解是,明確表徵每個輸入像素的深度允許用可微分點雲渲染器對每個輸入視圖應用forward warping。這避免了NeRF類方法昂貴的體採樣,實現了即時速度,同時保持了高影像品質。
SynSin【1】為單一影像新視圖合成(NVS)使用可微分點雲渲染器。論文【12】將SynSin擴展到多重輸入,並探索了融合多視圖資訊的有效方法。
FWD估計每個輸入視圖的深度,建立潛特徵的點雲,然後透過點雲渲染器合成新視圖。為了緩解來自不同視點觀測之間的不一致問題,將視點相關的特徵MLP引入點雲中,對視點相關結果進行建模。另外一種基於Transformer的融合模組,有效地組合來自多個輸入的特徵。一個細化模組,可以修復(inpaint)缺失區域並進一步提高合成品質。整個模型經過端到端訓練,最小化光度和感知損失、學習能優化合成質量的深度和特徵。
如圖14為FWD的概覽:給定一組稀疏影像,用特徵網路f(基於BigGAN架構)、視圖相關特徵MLP ψ 與深度網路d為每個圖像 Ii 建立點雲(包括視圖的幾何和語義資訊)Pi;除圖像外,d#將MVS(基於PatchmatchNet)估計的深度或感測器深度作為輸入,並回歸細化的深度;基於影像特徵Fi和相對視圖變化 #Δv (基於歸一化視角方向vi和vt,即從點到輸入視圖i和目標視圖t的中心),透過f和ψ回歸逐像素特徵Fi′;採用可微分點雲渲染器 π (splatting)將點雲投影和渲染到目標視圖,即 F~i ;渲染前不是直接聚合視圖點雲,而是Transformer T融合任意數量輸入的渲染結果,並套用細化模組R解碼產生最終影像結果,即以語義和幾何的方式修復輸入看不見的區域,修正由不準確深度引起的局部誤差,並基於特徵圖所包含的語義提高感知品質;模型訓練使用光度損失和內容損失。
現有以局部影像特徵重建3D目標的方法,在查詢3D點上投影輸入影像特徵來預測色彩和密度,從而推斷3D形狀和外觀。這些影像條件模型可以很好地渲染接近輸入視角的目標視角圖。然而,當目標視角過度移動時,這種方法會導致輸入視圖的顯著遮擋,渲染品質急劇下降,呈現模糊預測。
為了解決上面的問題,論文【13】提出一個方法,利用全局和局部特徵形成一個壓縮的3D表徵。全局特徵從視覺Transformer中學習,而局部特徵從2D卷積網路中提取。為了合成一個新視圖,訓練了一個MLP網絡,根據學習的3D表徵實現體渲染。這種表徵能夠重建未見過的區域,無需如對稱或規範座標系的強制約束。
給定相機s處的單一影像Is,任務是在相機t處合成新視圖It。如果一個3D點x在來源影像中可見,可以直接用其顏色Is(π(x)),其中π代表在來源視圖進行投影,表示該點在一個新視圖可見。如果x被遮擋,就求助於在投影π(x)顏色以外的資訊。如圖15所示,得到此類資訊有三種可能的解:(a)一般NeRF 基於1D潛代碼的方法,在1D向量中編碼3D目標訊息,由於不同3D點共享同一個代碼,歸納偏差被限制;(b) 基於2D影像的方法,從逐像素影像特徵重建任何3D點,這樣的表徵鼓勵可見區域更好的渲染質量,計算也更有效,但是對未見區域渲染變得模糊;(c ) 基於3D體素的方法將3-D目標視為體素的一個集合,並應用3-D卷積生成顏色RGB和密度向量σ,這樣渲染較快,也充分利用3D先驗去渲染未見的幾何,但是由於體素大小和有限的感受野原因限制了渲染解析度。
如圖6是全域-局部混合渲染方法【13】的總覽圖:首先將輸入影像分割為N=8×8個影像區塊P;每個影像區塊扁平化並線性投影到影像標記(token)P1;transformer編碼器將影像標記和可學習位置嵌入e作為輸入,提取全局資訊作為一組潛特徵f;然後,用卷積解碼器將潛特徵解碼為多層次特徵圖 #WG ;除了全域特徵,另一個2D CNN 模型取得局部影像特徵;最後,使用NeRF MLP模型對體渲染的特徵進行取樣。
論文【14】提出Point-NeRF,結合NeRF和MVS這兩種方法的優點,以神經3D點雲以及相關的神經特徵對輻射場建模。在基於光線行進的渲染管線中聚集場景表面附近的神經點特徵,可以有效渲染Point-NeRF。此外,一個預先訓練的深度網路直接推斷可初始化Point-NeRF,產生一個神經點雲;該點雲可微調,超過NeRF的視覺質量,訓練時間快30倍。 Point-NeRF與其他3D重建方法結合,並採用生長和修剪機制,即在高體密度區域生長和在低體密度修剪,對重建點雲資料進行最佳化。
Point-NeRF概覽如圖17所示:(a) 從多視圖影像中,Point-NeRF以基於成本體的3D CNN 為每個視圖產生深度,並透過2D CNN 從輸入影像中提取2D特徵;聚集深度圖後,獲得基於點的輻射場,其中每個點具有空間位置、置信度和未投影的圖像特徵;(b) 為合成一個新視圖,進行可微分光線行進,並只在神經點雲附近計算明暗;在每個明暗位置,Point-NeRF會聚集來自其K個神經點鄰居的特徵,併計算輻射率和體密度,然後用體密度累積求和輻射度。整個過程端到端可訓練,基於點的輻射場可以透過渲染損失進行最佳化。
GRAF(Generative Radiance Field)【18】是一種輻射場的生成模型,透過引入基於多尺度patch的鑑別器,實現高解析度3D-覺察影像的合成,同時模型的訓練僅需要未知姿態攝影機拍攝的2D影像。
目標是學習一個模型,透過對未經處理的圖像進行訓練來合成新的場景。更具體地說,利用一個對抗性框架來訓練一個輻射場的生成模型(GRAF)。
圖18顯示了GRAF模型的概述:生成器採用攝影機矩陣K、攝影機姿態ξ、2D取樣模式 ν和形狀/外觀代碼作為輸入並預測一個圖像patch P′;鑑別器將合成的patch P ′與從真實影像I#中擷取的patch P進行比較;推理時,為每個圖像像素預測一個顏色值;然而在訓練時間這個操作太貴,因此預測一個大小為K×K像素的固定patch,其隨機縮放和旋轉,為整個輻射場提供梯度。
決定要產生虛擬K×K patch 的中心和尺度s。隨機patch中心來自一個影像域Ω的均勻分佈,而patch尺度s來自一個均勻分佈,其中,其中W和H表示目標影像的寬度和高度。形狀和外觀變數的採樣分別來自形狀和外觀分佈和。在實驗中,和都使用標準高斯分佈。
輻射場由深度全連接的神經網路表示,其中參數θ映射3D位置x的位置編碼和觀察方向#d 到RGB顏色值c與體密度σ:
#這裡 gθ 取決於兩個附加潛代碼:一個是形狀代碼zs決定目標形狀,一個表觀代碼#za決定外觀。這裡稱gθ為條件輻射場,其結構如圖19所示:首先根據x的位置編碼和形狀代碼計算形狀編碼h;密度頭σθ將此編碼轉換為體密度σ;為預測3D位置x##處的顏色c,將h與d的位置編碼以及表觀代碼za連接起來,並將結果向量傳遞給顏色頭cθ;獨立於視點d和外觀代碼計算σ,鼓勵多視圖一致性,同時形狀與外觀進行分離;這個鼓勵網路以兩個潛代碼分別對形狀和外觀建模,並允許在推理過程中進行分別處理。
鑑別器實作為一個卷積神經網絡,將預測的patch P′與從資料分佈 pD 真實影像I中擷取的patch P進行比較。為了從真實影像I擷取K×K patch,首先從用於擷取上述產生器patch的相同分佈#pv中提取v=(u,s);然後,透過雙線性內插法在2D影像座標P(u,s)查詢I,取樣真實patch P。用 Γ(I,v) 表示這種雙線性取樣操作。
實驗發現一個有共享權重的單鑑別器足以用於所有patch,即使這些patch在不同尺度隨機位置採樣。註: 尺度決定patch的感受野。因此,為了促進訓練,從更大的接受野patch開始去捕捉全局上下文。然後,逐步採樣具有較小感受野的patch細化局部細節。
GIRAFFE【19】用於在原始非結構化影像進行訓練時以可控和真實感的方式生成場景。主要貢獻有兩個面向:1) 將組合3D場景表徵直接納入生成模型,以實現更可控的影像合成。 2) 將這種明確的3D表徵與一個神經渲染管線結合,實現更快的推理和更逼真的影像。為此,場景表徵為組合生成神經特徵場,如圖20所示:對於一個隨機採樣的攝像頭,基於單獨特徵場對場景的一個特徵圖像進行體渲染;2D神經渲染網絡將特徵影像轉換為RGB影像;訓練時只採用原始影像,在測試時能夠控制影像形成過程,包括攝影機姿勢、目標姿勢以及目標的形狀和外觀;此外,該模型擴大到訓練資料範圍之外,例如,可以合成包含比訓練影像中更多目標的場景。
將場景體渲染為解析度相對較低的特徵影像,可節省時間和計算。神經渲染器處理這些特徵影像並輸出最終渲染。透過這種方式,該方法可以獲得高品質的圖像並尺度化到真實場景。當在原始非結構化影像集合上進行訓練時,這個方法允許單目標和多目標場景的可控影像合成。
場景組合時,要考慮兩種情況:N固定和N變化(其中最後一個是背景)。在實踐中,像目標一樣,背景用相同的表徵法,不同的是橫跨整個場景把尺度和平移參數固定,並以場景空間原點為中心。
2D渲染算子的權重把特徵圖像映射到最後合成圖像,可以參數化為一個帶有洩漏ReLU激活的2D CNN,和3x 3卷積和最近鄰域上採樣結合可增加空域分辨率。最後一層應用sigmoid操作,得到最後的影像預測。其示意圖如圖21所示。
鑑別器也是一個帶有洩漏ReLU啟動的CNN。
以上是新視角圖像生成:討論基於NeRF的泛化方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!