視圖合成(view synthesis)是電腦視覺和電腦圖形學交叉領域的重點難題,指的是從一個場景的多張圖片中創建該場景的新視圖。
要準確地合成一個場景的新視圖,一個模型需要從一小部分參考圖片中捕捉多種類型的信息,例如詳細的三維結構、材料和光照等。
自2020年研究人員提出神經輻射場(NeRF)模型以來,這個問題也受到了越來越多的關注,大大推動了新視圖合成的性能。
其中一個超級大玩家就是Google,在NeRF領域也發表了許多論文,這篇文章將為大家介紹兩篇Google發表在CVPR 2022和ECCV 2022的論文,講述光場神經渲染模型的演化。
第一篇論文提出一個基於Transformer的兩階段模型來學習組合參考像素顏色,首先獲得沿對極線(epipolar lines)的特徵,然後獲得沿參考視圖的特徵以產生目標射線的顏色,極大地提升了視圖重現的準確率。
論文連結:https://arxiv.org/pdf/2112.09687.pdf
#經典光場渲染(Light Field Rendering)可以準確地再現與視圖相關的效應,如反射、折射和半透明,但需要對場景進行密集的視圖取樣。基於幾何重建的方法只需要稀疏的視圖,但不能準確地模擬non-Lambertian效應,即非理想散射。
文中提出的新模型結合了這兩個方向的優勢並緩解了其局限性,透過對光場的四維表示進行操作,模型可以學會準確地表示與視圖相關的效應。透過在訓練和推理過程中強制執行幾何約束,場景幾何被隱含地從一組稀疏的視圖中學習。
該模型在多個正向和360°資料集上的表現優於最先進的模型,並且在具有嚴重的視線依賴性變化的場景上有較大的空間。
另一篇論文透過使用具有規範化(canonicalized)位置編碼的Transformer序列來解決合成未見過的場景的泛化性問題。模型在一組場景上訓練後就可以用來合成新場景的視圖。
論文連結:https://arxiv.org/pdf/2207.10662.pdf
#文中提出了一個不同的範式,不需要深度特徵和類似NeRF的體積渲染,該方法只需從場景中取樣patch集合就能直接預測新場景中目標射線的顏色。
首先利用對極幾何學,沿著每個參考視圖的對極線提取patch,並將每個patch都線性地投射到一個一維特徵向量中,然後由一系列的Transformer處理這個集合。
對於位置編碼,研究人員採用和光場表示方法類似的方式對射線進行參數化,區別在於座標是相對於目標射線的規範化,也使得該方法獨立於參考框架並提高了通用性。
模型的創新點在於,它是進行基於圖像的渲染,結合參考圖像的顏色和特徵來渲染新的視圖,而且純粹是基於Transformer的,在影像patch集上操作。並且它們利用4D光場表示來進行位置編碼,有助於模擬與視圖相關的效果。
最後實驗結果表明,該方法在未見過的場景的新視圖合成方面優於其他方法,即使在用比少得多的數據進行訓練時也是如此。
模型的輸入包括一組參考影像、對應的相機參數(焦距、位置和空間方向),以及使用者想要確定其顏色的目標射線的座標。
為了產生一個新的影像,我們需要從輸入影像的相機參數開始,先得到目標射線的座標(每一個都對應一個像素),並為每個座標進行模型查詢。
研究人員的解決方法是,不完全處理每張參考影像,而只看可能影響目標像素的區域。這些區域可以透過對極幾何學來確定,將每個目標像素映射到每個參考框架上的一條線。
為了穩健起見,需要在對極線上的一些點周圍選取小區域,從而形成將被模型實際處理的patch集合,然後將Transformer作用於這組patch上以獲得目標像素的顏色。
Transformer在這種情況下特別有用,因為其中的自註意力機制可以自然地將patch集合作為輸入,注意力權重本身就可以用來結合參考視圖顏色和特徵來預測輸出像素的顏色。
在光場神經渲染(LFNR)中,研究人員使用兩個Transformer序列將patch集合對應到目標像素顏色。
第一個Transformer沿著每條對極線聚合訊息,第二個Transformer沿著每張參考影像聚合資訊。
這種方法可以把第一個Transformer解釋為在每個參考影格上尋找目標像素的潛在對應關係,而第二個Transformer則是對遮蔽和視線依賴效應的推理,這也是基於圖像的渲染的常見難題。
LFNR在最受歡迎的視圖合成基準(NeRF的Blender和Real Forward-Facing場景以及NeX的Shiny)上相比sota模型在峰值信噪比(PSNR)的提升幅度高達5dB,相當於像素級的誤差減少了1.8倍。
LFNR可以重現一些NeX/Shiny資料集中比較困難的視線依賴性效果,例如CD上的彩虹和反射,瓶子上的反射、折射和半透明。
與先前的方法如NeX和NeRF相比,它們就沒辦法重現與視線相關的效果,如NeX/Shiny資料集中的實驗室場景中的試管的半透明性和折射率。
但LFNR也有限制。
第一個Transformer對每個參考影像獨立地沿每條對極線折疊訊息,這也意味著模型只能根據每個參考影像的輸出射線座標和patch來決定要保留哪些訊息,這在單一場景的訓練中效果很好(和大多數神經渲染方法一樣),但它無法泛化到不同場景中。
可通用的模型很重要,因為可以直接套用到新的場景而不需要重新訓練。
研究人員提出可通用的基於patch的神經渲染(GPNR)模型解決了LFNR的這個缺陷。
透過在模型中增加一個Transfomre,使其在其他兩個Transformer之前運行,並在所有參考圖像的相同深度的點之間交換資訊。
GPNR由三個Transformer序列組成,這些Transformer將沿著對極線提取的一組patch對應為像素顏色。影像patch透過線性投影層被映射到初始特徵,然後這些特徵被模型連續細化和聚合,最終形成特徵和顏色。
舉個例子,第一個Transformer從「公園長椅」上提取出patch序列後,新模型可以使用在兩個視圖中出現在對應深度的「花」這樣的線索,顯示存在潛在的匹配。
這項工作的另一個關鍵idea就是根據目標射線將位置編碼規範化,因為想要在不同的場景中進行泛化,就必須以相對而非絕對的參考系來表示quantities
為了評估模型的泛化性能,研究人員在一組場景上訓練GPNR,並在新場景上進行測試。
GPNR在幾個基準(遵照IBRNet和MVSNeRF協定)上平均提高了0.5-1.0 dB,尤其是在IBRNet基准上,GPNR 在只使用11%的訓練場景的情況下,就超過了基準模型。
GPNR在NeX/Shiny和LLFF的保持場景上產生的視圖細節,沒有進行任何微調。與IBRNet相比,GPNR可以更準確地再現葉片上的細節和透過鏡頭的折射。
#以上是只要訓練一次,即可產生3D新場景!谷歌「光場神經渲染」演化史的詳細內容。更多資訊請關注PHP中文網其他相關文章!