速度提升1000倍,效果還全面碾壓!JHU等提出首個可渲染HDR場景的3DGS
新智元報導
編輯:LRST
【新智元導讀】研究人員提出首個可以渲染高動態範圍(High Dynamic Range, HDR)自然光的3DGaussian Splatting模型HDR-GS,以用於新視角合成(Novel View Synthesis, NVS)。該方法可以根據用戶輸入的曝光時間來改變渲染場景的光照強度,同時還可以直接渲染高動態範圍場景。比當前最好的算法HDR-NeRF速度上要快1000倍。
常見的RGB圖像大都為低動態範圍(Low Dynamic Range, LDR),亮度的取值範圍在[0,255]之間。
然而人眼對亮度的感知範圍要比RGB圖像寬廣得多,一般為[0,+∞],導致LDR圖像很難反映真實場景的亮度範圍,使得一些較暗或者較亮的區域的細節難以被捕捉,高動態範圍(High Dynamic Range,HDR)圖像應運而生,具有更廣的亮度範圍。
新視角合成(Novel View Synthesis,NVS)任務是在給定「一個場景的幾張不同視角圖像,並且相機位姿已知」的情況下,合成其他新視角的場景圖像。
同比於LDR NVS,HDR NVS能更好地擬合人類視覺,捕獲更多的場景細節,渲染更高質量、視覺效果更好的圖片,在自動駕駛、圖像編輯、數字人等方面有著十分廣泛的應用。
當前主流的HDR NVS方法主要基於神經輻射場(Neural Radiance Fields, NeRF),然而,NeRF的ray tracing加volume rendering機制都十分耗時,常常需要十分密集地採集射線,然後在每一條射線上採集多個3D點,對每一個3D點過一遍MLP來計算體密度和顏色,嚴重拖慢了訓練時間和推理速度。當前最好的NeRF算法HDR-NeRF需要耗費9小時來訓練一個場景,8.2秒來渲染一張尺寸為400×400的圖像。
為瞭解決上述問題,約翰霍普金斯大學、香港科技大學、清華大學、上海交通大學的研究人員提出了首個基於3DGS的方法HDR-GS,用於三維HDR成像;設計了一種有著雙動態範圍的三維高斯點雲模型,同時搭配兩條平行的光柵化處理管線以用於渲染HDR圖像和光照強度可控的LDR圖像。
論文鏈接:https://arxiv.org/abs/2405.15125
代碼鏈接:https://github.com/caiyuanhao1998/HDR-GSgithub.com/caiyuanhao1998/HDR-GS
Youtube影片講解:https://www.youtube.com/watch?v=wtU7Kcwe7ck
研究人員還重新矯正了一個HDR多視角圖像數據集,計算得到的相機參數和初始化點雲能夠支持3DGS類算法的研究。HDR-GS算法在超過當前最好方法1.91 dB PSNR的同時僅使用6.3%的訓練時間並實現了1000倍的渲染速度。
一大波演示如下:
對比近期出現的3D Gaussian Splatting(3DGS),雖然能在保證圖像質量的同時也大幅提升了訓練和渲染速度,但卻很難直接應用到HDR NVS上,仍然存在三個主要問題:
1. 渲染的圖片的動態範圍依舊是[0,255],仍舊屬於LDR;
2. 直接使用不同光照的圖片來訓練3DGS容易導致模型不收斂,因為3DGS的球諧函數(Spherical Harmonics,SH)無法適應光照的變化,時常會導致偽影、模糊、顏色畸變等問題;
3. 常規的3DGS無法改變渲染場景的亮度,極大限制了應用場景,尤其是在AR/VR、電影、遊戲等領域,經常需要改變光照條件來反映人物的心情與環境氛圍。
方法架構
研究人員首先使用Structure-from-Motion(SfM 算法來重新矯正場景的相機參數並初始化高斯點雲,然後將數據喂入到雙動態範圍(Dual Dynamic Range,DDR)的高斯點雲模型來同時擬合HDR和LDR顏色,使用SH來直接擬合HDR顏色。
再使用三個獨立的MLP來分別對RGB三通道做tone-mapping操作,根據用戶輸入的曝光時間將HDR顏色轉為LDR顏色,然後將3D點的LDR和HDR顏色喂入到平行光柵化(Parallel Differentiable Rasterization, PDR)處理管線來渲染出HDR和LDR圖像。
雙動態範圍高斯點雲模型
場景可以用一個DDR高斯點雲模型來表示:
其中的Np是3D Gaussians的數量,Gi表示第i個Gaussian,其中心位置、協方差、不透明度、LDR顏色和HDR顏色記為
除了這些屬性外,每一個Gi還包含一個用戶輸入的曝光時間Δt和一個全局共享的基於MLP的tone-mapper θ,由一個旋轉矩陣Ri和一個縮放矩陣Si表示成如下形式:
其中的μi,Ri,Si,αi和θ是可學習參數,Tone-mapping操作fTM(⋅)模擬相機響應函數來將HDR顏色非線性地映射到LDR顏色:
為了訓練穩定,研究人員將公式(3)從線性域轉成對數域如下:
對此公式取反函數:
然後用三個MLP θ在RGB三通道上分別擬合公式(5)的變換。簡潔起見,將tone-mapper的映射函數記為
,然後公式(5)便可被重新推導為
然後使用SH函數來擬合HDR顏色如下:
將公式(7)代入公式(6)便可得到:
每一個獨立的MLP包括一層全連接、一層ReLU、一層全連接和一個Sigmoid激活函數。
平行光柵化處理管線
將3D Gaussian的HDR顏色和LDR顏色輸入到平行光柵化處理管線中,分別渲染出LDR和HDR圖像,這一過程可以被概括為如下:
首先計算出第i個3D Gaussian在一個3D點x處概率值如下:
然後將3D Gaussian從三維空間中投影到2D成像平面上。在這一投影過程中,中心點的位置μi首先被從世界坐標系變換到相機坐標系,然後再投影到圖像坐標繫上:
三維協方差矩陣也被從世界坐標系投影到相機坐標繫上:
後在圖像坐標系下的二維協方差矩陣是直接取
的前兩行前兩列。
將2D projection分割成互不重疊的titles,每一個三維高斯點雲都按照其對應投影所落在的位置分配到對應的tiles上。這些3D高斯點雲按照與二維探測器平面的距離進行排序。
那麼,在2D projection上像素點p上的HDR顏色和LDR顏色便是混合N個與p重疊的排好序的3D點得到的,如下公式所示
HDR-GS的初始化與訓練過程
阻礙3DGS類算法在三維HDR成像上發展的一大障礙,是原先HDR-NeRF蒐集的多視角HDR圖像數據集的僅提供normalized device cooridnate(NDC)的相機位姿。
然而NDC並不適用於3DGS,主要有兩個原因:
首先,NDC描述的是投影后2D屏幕上的位置。然而,3DGS是一個顯式的3D表徵,需要對三維空間中的高斯點雲進行變換和投影。
其次,NDC將坐標限制在[-1,1]或者[0,1]。Voxel的解像度有限,使得3DGS很難刻畫場景中的細節。另外,原先蒐集好的數據中並沒有提供SfM點雲來給3DGS進行初始化。
為解決這一問題,研究人員使用了SfM算法來對多視角HDR數據集重新計算相機參數和初始化點雲如下:
其中的Mint,Mext分別表示相機的內外參數矩陣。對LDR圖像的訓練監督函數如下:
類似於HDR-NeRF,也對HDR圖像施加限制。需要注意的是,HDR-NeRF施加的約束是直接使用CRF矯正的GT參數,這是一個很強的先驗。使用的是μ – law tone-mapping後的HDR圖像。損失函數如下:
最終總的訓練損失函數是兩者的加權和:
需要注意,由於真實場景中並無法直接獲得HDR圖像,所以分別對合成場景與真實場景設置γ=0.6和γ=0
實驗結果
定量結果
合成實驗和真實實驗的定量對比結果分別如表1和表2所示,HDR-GS在性能上顯著超過之前方法的同時,訓練和推理也分別達到了16倍速和1000倍速。
視覺結果
LDR NVS的視覺對比結果如圖4和圖5所示,HDR NVS的視覺對比結果如圖6所示。HDR-GS能夠渲染出更豐富更清晰的圖像細節,更好地捕獲HDR場景並能靈活地改變LDR場景的光照強度。
參考資料:
https://arxiv.org/abs/2405.15125