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