一組照片渲染出3D視頻,單像素點實時渲染火了,網友:在家也能制作3A游戲了?
合成視頻達到了新的高度,來自德國埃爾朗根 - 紐倫堡大學的研究者提出了一種新的場景合成方法,使合成視頻更接近現實。
合成逼真的虛擬環境是計算機圖形學和計算機視覺中研究最多的主題之一,它們所面臨是一個重要問題是 3D 形狀應該如何編碼和存儲在內存中。用戶通常在三角形網格、體素網格、隱函數和點云之間進行選擇。每種表示法都有不同的優點和缺點。為了有效渲染不透明表面,通常會選擇三角形網格,體素網格常用于體繪制,而隱函數可用于精確描述非線性分析表面,另一方面,點云具有易于使用的優點,因為不必考慮拓撲。
近日,來自國埃爾朗根 - 紐倫堡大學視覺計算實驗室的研究者提出了一種新穎的基于點的、可微的神經渲染 pipeline,可用于場景細化和新穎的視圖合成。
我們先來看下該研究的效果:
有網友表示,這是電子游戲制作人的夢想。
「這種效果是由 2D 圖像生成的,輸出是如此平滑,令人瘋狂,給人印象非常深刻。」DeepMind 產品經理 Alexandre Moufarek 表示。
「如果你對這項研究感到困惑,不明白它為什么令人印象深刻,它實際上不是一個視頻, 它是由一組照片制作而成(順便說一下,不是平滑的照片)。該研究發布的流暢視頻是用神經技術渲染的,效果非常自然。為制作者點贊。」有網友總結道。
具體來講,該研究的輸入是點云和相機參數的初始估計,輸出是由任意相機姿態合成的圖像。點云渲染由使用多分辨率單像素點柵格化的可微渲染器執行。離散柵格化的空間梯度由 ghost 幾何近似。渲染后,神經圖像金字塔通過一個深度神經網絡進行著色計算和孔填充(hole-filling)。然后,可微、基于物理的色調映射器(tonemapper)將中間輸出轉換為目標圖像。由于 pipeline 的所有階段都是可微的,該研究優化了所有場景參數,即相機模型、相機姿態、點位置、點顏色、環境映射、渲染網絡權重、暈影、相機響應函數、每張圖像曝光和每張圖像白平衡。
該研究表明所提出的系統能夠合成比現有方法更清晰、更一致的新視圖,因為在訓練期間就對初始重建進行了優化。 高效的每像素點柵格化允許研究者使用任意相機模型并實時顯示超過 1 億點的場景。
論文地址:https://arxiv.org/pdf/2110.06635.pdf
源代碼會在之后進行發布。
技術細節
該研究提出的方法在 Aliev 等人的 pipeline 上構建,并通過多種方式進行了改進。具體地,研究者添加了一個物理可微的相機模型和一個可微的色調映射器,并提供了一個更好地逼近單像素點柵格化的空間梯度的公式。
這種可微的 pipeline 不僅可以優化神經點特征,而且在訓練階段能夠糾正不精確的輸入。因此,該系統基于神經渲染網絡的視覺損失調整相機姿態和相機模型,并結合暈影模型和每個相機的傳感器響應曲線估計每個圖像的曝光和白平衡值。
下圖 1 為這種方法的示意圖:
完整的端到端可訓練神經渲染 pipeline 如下圖 2 所示,其中 輸入為新幀的相機參數、一個點云(每個點被分配給可學得的神經描述器)和一個環境圖,輸出為給定新視點的 LDR 場景圖像。由于所有步驟都是可微的,因此可以同時對場景結構、網絡參數和傳感器模型進行優化:
具體地,該 pipeline 的第一個步驟是可微的柵格化單元(圖 2 左),通過使用相機參數將每個點映射到圖像空間,進而將該點渲染為單像素大小的 splat;
神經渲染器(圖 2 中)使用多分辨率神經圖像來生成單個 HDR 輸出圖像,它包含一個具有跳躍連接的四層全卷積 UNet,其中更低像素的輸入圖像連接到中間特征向量;
該 pipeline 的最后一個步驟(圖 2 右)是可學得的色調映射操作器,它將渲染的 HDR 圖像轉換為 LDR。這個色調映射器模擬了數碼相機的物理鏡頭和傳感器特性,因此最適合智能手機、DSL 相機和攝像機的 LDR 圖像捕捉。
可微的單像素點渲染
如上所述,可微的柵格化單元使用單像素大小的 splat 對多分辨率的變形點云進行渲染。形式上來講,神經圖像 I 的分辨率層 l ? {0,1...,L?1} 的是渲染器函數Φ_l 的輸出,如下公式(1)所示:
點柵格化的前向傳遞可以分解為三個主要步驟,分別是映射、遮擋檢查和混合。下圖 3 展示了使用單像素點柵格化方法渲染的兩張彩色圖像的示意圖:
點柵格化單元的后向傳遞首先計算參數相關的渲染器函數(1)的偏導數,如下公式(8)所示。使用鏈式法則,研究者可以計算損失梯度并傳遞到優化器。
如下圖 4 所示,研究者通過在每個方向上將 p = (u, v) 移動一個像素來計算近似值。
在下圖 5 中,在混合階段前插入一個 dropout 層,該層將點云分割為兩個集。第一個集正常地混合,并生成輸入圖像;第二個集,研究者稱之為假性觸控點(ghost point),不在前向傳遞中使用。
通過進一步的性能分析,研究者發現即使在小的分辨率層,數百個點也可以通過單個像素的模糊深度測試。為了將這一數字降低到合理的范圍,研究者采用了類似于 [72] 的隨機點丟棄方法。隨機丟棄的效果如下圖 6 所示,其中基于渲染點的數量對每個像素進行上色。
實驗展示
在實驗部分,研究者首先針對前向和后向單像素點柵格化的運行時(runtime)與其他可微渲染系統進行了比較。下表 1 展示了自己的方法與 Synsin、Pulsar、使用 GL POINTS 方法的 OpenGL 默認點渲染的 GPU 幀時間的度量結果,計時時僅包含柵格化本身,不包括神經網絡和色調映射器。可以看到,研究者的方法在所有指標上均優于其他方法。
研究者提出了用于可微單像素點渲染的假性梯度(ghost gradient),并表示假性梯度在場景細化過程中可以提升梯度準確性和增強穩健性。他們通過一個消融實驗來確認這一說法。實驗結果如下圖 7 所示,圖(上)展示了姿態優化前后合成圖像和真值之間的像素誤差。可以清楚地看到,在添加位置和旋轉噪聲之前,使用假性梯度可以使感知損失收斂到初始解。
新視角合成。除了場景細化外,該方法還可以在多視角立體數據集上合成新的視圖。下圖 8 展示了合成的兩個測試幀。比較結果可以發現 Synsin、NPBG 和該研究所用方法可以很好地合成參考幀,而 Pulsar 和 NRW 的輸出稍差。
該研究還在下表 II 中提供了定量評估。該表顯示了所有測試圖像的平均 VGG 損失、LPIPS 損失 [87] 和峰值信噪比 (PSNR)。所有方法都是通過最小化 VGG 損失來訓練的。
HDR 神經渲染。出于評估目的,該研究從訓練集中刪除了 20 個隨機選擇的幀,并讓系統從估計的姿勢中合成它們。存儲在圖像元數據中的測試幀的曝光值傳遞給色調映射器(tone mapper)。下圖 11 顯示了一些測試幀,左列是真實情況,中間是合成視圖,右列是每像素誤差圖。
優化的色調映射器 (TM) 類似于捕獲過程中使用的數碼相機的物理和光學特性。在推理時替換 TM 的結果如下圖 12 所示:
本文來自微信公眾號“機器之心”(ID:almosthuman2014),編輯:杜偉、陳萍,36氪經授權發布。