Meta、CMU聯手推出VR史詩級升級!最新HyperReel模型實現高保真6自由度視頻渲染
最近,由Meta和卡內基梅隆大學提出的6-DoF視頻表征模型——HyperReel,可能預示著一個全新的VR「殺手級」應用即將誕生!
所謂「六自由度視頻」(6-DoF),簡單來說就是一個超高清的4D體驗式回放。
其中,用戶可以完全「置身于」動態場景里面,并且可以自由地移動。而當他們任意改變自己的頭部位置(3 DoF)和方向(3 DoF)時,與之相應的視圖也會隨之生成。
論文地址:https://arxiv.org/abs/2301.02238
與之前的工作相比,HyperReel最大的優勢在于內存和計算效率,而這兩點對于便攜式VR頭顯來說都至關重要。
而且只需采用vanilla PyTorch,HyperReel就能在單張英偉達RTX 3090上,以每秒18幀的速度實現百萬像素分辨率的渲染。
?
太長不看版:
1. 提出一種可在高分辨率下實現高保真度、高幀率的渲染的光線條件采樣預測網絡,以及一種緊湊且內存高效的動態體積表征;
2. 6-DoF視頻表征方法HyperReel結合了以上兩個核心部分,可以在實時渲染百萬像素分辨率的同時,實現速度、質量和內存之間的理想平衡;
3. HyperReel在內存需求、渲染速度等多個方面均優于其他方法。?
論文介紹
體積場景表征(volumetric scene representation)能夠為靜態場景提供逼真的視圖合成,并構成了現有6-DoF視頻技術的基礎。
然而,驅動這些表征的體積渲染程序,需要在質量、渲染速度和內存效率方面,進行仔細的權衡。
現有的方法有一個弊端——不能同時實現實時性能、小內存占用和高質量渲染,而在極具挑戰性的真實場景中,這些都是極為重要的。
為了解決這些問題,研究人員提出了HyperReel——一種基于NeRF技術(神經輻射場)的6-DoF視頻表征方法。
其中,HyperReel的兩個核心部分是:
1. 一個光線條件下的采樣預測網絡,能夠在高分辨率下進行高保真、高幀率的渲染;
2. 一個緊湊且內存高效的動態體積表征。
與其他方法相比,HyperReel的6-DoF視頻管線不僅在視覺質量上表現極佳,而且內存需求也很小。
同時,HyperReel無需任何定制的CUDA代碼,就能在百萬像素分辨率下實現18幀/秒的渲染速度。
具體來說,HypeReel通過結合樣本預測網絡和基于關鍵幀的體積表征法,從而實現了高渲染質量、速度和內存效率之間的平衡。
其中的樣本預測網絡,既能加速體積渲染,又能提高渲染質量,特別是對于具有挑戰性的視圖依賴性的場景。
而在基于關鍵幀的體積表征方面,研究人員采用的是TensoRF的擴展。
這種方法可以在內存消耗與單個靜態幀TensoRF大致相同的同時,湊地表征了一個完整的視頻序列。
實時演示
接下來,我們就實時演示一下,HypeReel在512x512像素分辨率下動態和靜態場景的渲染效果。
值得注意的是,研究人員在Technicolor和Shiny場景中使用了更小的模型,因此渲染的幀率大于40 FPS。對于其余的數據集則使用完整模型,不過HypeReel仍然能夠提供實時推理。
Technicolor
Shiny
Stanford
Immersive
DoNeRF
實現方法
為了實現HeperReel,首先要考慮的問題,就是要優化靜態視圖合成的體積表征。
像NeRF這樣的體積表征,就是對靜態場景在3D空間中的每一個點的密度和外觀,進行建模。
更具體地說,通過函數將位置x和方向
沿著?條射線映射到顏色
和密度σ(x)。
此處的可訓練參數θ,可以是神經網絡權重、N維數組條目,或兩者的組合。?
然后就可以渲染靜態場景的新視圖
其中表征從o到
的透射率。?
在實踐中,可以通過沿給定射線獲取多個樣本點,然后使用數值求積來計算方程式1:
其中權重指定了每個樣本點的顏色對輸出的貢獻。?
體積渲染的網格示例
在靜態場景的HyperReel中,給定一組圖像和相機姿勢,而訓練目標就是重建與每條光線相關的測量顏色。
大多數場景是由實體物體組成的,這些物體的表面位于3D場景體積內的一個2D流形上。在這種情況下,只有一小部分樣本點會影響每條光線的渲染顏色。
因此,為了加速體積渲染,研究人員希望只對非零的點,查詢顏色和不透明度。
如下圖所示,研究人員使用前饋網絡來預測一組樣本位置。具體來說,就是使用樣本預測網絡
,將射線
映射到樣本點
,以獲取體積等式2中的渲染。
?這里,研究人員使用Plucker的參數化來表征光線。??
但是這其中有一個問題:給網絡太多的靈活性,可能會對視圖合成質量產生負面影響。例如,如果(x1, . . . , xn) 是完全任意的點,那么渲染可能看起來不是多視圖?致的。
為了解決這個問題,研究人員選擇用樣本預測網絡來預測一組幾何基元G1, ..., Gn的參數,其中基元的參數可以根據輸入射線的不同而變化。為了得到樣本點,將射線與每個基元相交。
如圖a所示,給定源自相機原點o并沿方向ω傳播的輸入光線后, 研究人員首先使用Plucker坐標,重新對光線進行參數化。
如圖b所示,一個網絡將此射線作為輸入,輸出一組幾何基元{}(如軸對齊的平面和球體)和位移矢量{}的參數。??
如圖c所示,為了生成用于體積渲染的樣本點{},研究人員計算了射線和幾何基元之間的交點,并將位移矢量添加到結果中。預測幾何基元的好處是使采樣信號平滑,易于插值。
位移矢量為采樣點提供了額外的靈活性,能夠更好地捕捉到復雜的視線依賴的外觀。?
如圖d所示,最終,研究人員通過公式2進行體積渲染,產生一個像素顏色,并根據相應的觀察結果,對它進行了監督訓練。
基于關鍵幀的動態體積
通過上述辦法,就可以有效地對3D場景體積進行采樣。
如何表征體積呢?在靜態情況下,研究人員使用的是內存有效的張量輻射場(TensoRF)方法;在動態情況下,就將TensoRF擴展到基于關鍵幀的動態體積表征。
下圖解釋了從基于關鍵幀的表征中,提取動態的樣本點表征的過程。
如圖1所示,首先,研究人員使用從樣本預測網絡輸出的速度{},將時間處的樣本點{}平移到最近的關鍵幀中。
然后,如圖2所示,研究人員查詢了時空紋理的外積,產生了每個樣本點的外觀特征,然后通過公式10將其轉換成顏色。
通過這樣的過程,研究人員提取了每個樣本的的不透明度。?
結果對比
靜態場景的比較
在此,研究人員將HyperReel與現有的靜態視圖合成方法(包括NeRF、InstantNGP和三種基于采樣網絡的方法)進行了比較。
- DoNeRF數據集?
DoNeRF數據集包含六個合成序列,圖像分辨率為800×800像素。
如表1所示,HyperReel的方法在質量上優于所有基線,并在很大程度上提高了其他采樣網絡方案的性能。
同時,HyperReel是用vanilla PyTorch實現的,可在單張RTX 3090 GPU上以6.5 FPS的速度渲染800×800像素的圖像(或者用Tiny模型實現29 FPS的渲染)。
此外,與R2L的88層、256個隱藏單元的深度MLP相比,研究人員提出的6層、256個隱藏單元的網絡外加TensoRF體積骨干的推理速度更快
- LLFF數據集?
LLFF數據集包含8個具有1008×756像素圖像的真實世界序列。
如表1所示,HyperReel的方法優于DoNeRF、AdaNeRF、TermiNeRF和InstantNGP,但取得的質量比NeRF略差。
由于錯誤的相機校準和輸入視角的稀疏性,這個數據集對顯式體積表征來說是一個巨大的挑戰。
動態場景的比較
- Technicolor數據集?
Technicolor光場數據集包含了由時間同步的4×4攝像機裝置拍攝的各種室內環境的視頻,其中每個視頻流中的每張圖片都是2048×1088像素。
研究人員將HyperReel和Neural 3D Video在全圖像分辨率下對這個數據集的五個序列(Birthday, Fabien, Painter, Theater, Trains)進行比較,每個序列有50幀長。
如表2所示,HyperReel的質量超過了Neural 3D Video,同時每個序列的訓練時間僅為1.5個小時(而不是Neural 3D的1000多個小時),并且渲染速度更快。
- Neural 3D Video數據集?
Neural 3D Video數據集包含6個室內多視圖視頻序列,由20臺攝像機以2704×2028像素的分辨率拍攝。
如表2所示,HyperReel在這個數據集上的表現超過了所有的基線方法,包括NeRFPlayer和StreamRF等最新工作。
特別是,HyperReel在數量上超過了NeRFPlayer,渲染速度是其40倍左右;在質量上超過了StreamRF,盡管其采用Plenoxels為骨干的方法(使用定制的CUDA內核來加快推理速度)渲染速度更快。
此外,HyperReel平均每幀消耗的內存比StreamRF和NeRFPlayer都要少得多。
- 谷歌Immersive數據集?
谷歌Immersive數據集包含了各種室內和室外環境的光場視頻。
如表2所示,HyperReel在質量上比NeRFPlayer的要好1 dB,同時渲染速度也更快。
有些遺憾的是,HyperReel目前還沒有達到VR所要求的渲染速度(理想情況下為72FPS,立體聲)。
不過,由于該方法是在vanilla PyTorch中實現的,因此可以通過比如自定義的CUDA內核等工作,來進一步優化性能。
作者介紹
論文一作Benjamin Attal,目前在卡內基梅隆機器人研究所攻讀博士學位。研究興趣包括虛擬現實,以及計算成像和顯示。