自打伯克利和谷歌聯(lián)合打造的 NeRF 橫空出世,江湖上靜態(tài)圖變動圖的魔法就風(fēng)靡開來。
不過,想要像這樣依靠 AI 來簡化 3D 動態(tài)效果的制作,算力開銷可不小:
以 NeRF 為例,想要在 1440×1600 像素、90Hz 的 VR 頭盔中實現(xiàn)實時渲染,需要 37 petaFLOPS(每秒 10^15 次浮點運算)的算力 —— 這在目前的 GPU 上根本不可能實現(xiàn)。
怎么降低點計算復(fù)雜度?
現(xiàn)在,來自奧地利格拉茲科技大學(xué)和 Facebook 的研究人員,就想出一招:引入真實深度信息。
就這一下,很快的,推理成本最高能降低 48 倍,并且只用 1 個 GPU,就能以每秒 20 幀的速度實現(xiàn)交互式渲染。
畫質(zhì)什么的,也沒啥影響,甚至還能有所提升:
具體是怎樣一招,咱們往下接著聊。
基于深度預(yù)言網(wǎng)絡(luò)的 NeRF
首先需要說明的是,NeRF,即神經(jīng)輻射場(neural radiance field)方法,是沿相機射線采樣 5D 坐標(biāo),來實現(xiàn)圖像合成的。
也就是說,在 NeRF 的渲染過程中,需要對每條射線都進行網(wǎng)絡(luò)評估,以輸出對應(yīng)的顏色和體積密度值等信息。
這正是造成 NeRF 在實時渲染應(yīng)用中開銷過大的主要原因。
而現(xiàn)在,格拉茲科技大學(xué)和 Facebook 的研究人員發(fā)現(xiàn),引入真實深度信息,只考慮物體表面周圍的重要樣本,每條視圖射線(view ray)所需的樣本數(shù)量能夠大大減少,并且不會影響到圖像質(zhì)量。
基于此,他們提出了 DONeRF。
DONeRF 由兩個網(wǎng)絡(luò)組成,其一,是 Sampling Oracle Network,使用分類法來預(yù)測沿視圖射線的最佳采樣位置。
具體來說,這個深度預(yù)言網(wǎng)絡(luò)通過將空間沿射線離散化,并預(yù)測沿射線的采樣概率,來預(yù)測每條射線上的多個潛在采樣對象。
如下圖所示,3 個顏色通道編碼了沿射線的 3 種最高采樣概率,灰度值表明其中可能只有一個表面需要被采樣,而彩色數(shù)值則表明這些樣本需要在深度上展開。
其二,是一個著色網(wǎng)絡(luò),使用類似于 NeRF 的射線行進累積法來提供 RGBA 輸出。
為了消除輸入的模糊性,研究人員還將射線轉(zhuǎn)換到了一個統(tǒng)一的空間,并使用非線性采樣來追蹤接近的區(qū)域。
另外,在兩個網(wǎng)絡(luò)之間,研究人員對局部采樣進行扭曲,以使著色網(wǎng)絡(luò)的高頻預(yù)測被引導(dǎo)到前景上。
本文還引入了視圖單元(view cell)的概念。一個視圖單元被定義為一個具有主要方向和最大視角的邊界框。
簡單來說,這個邊界框能夠捕捉到所有源于框內(nèi)、并且在一定旋轉(zhuǎn)范圍內(nèi)的視圖射線。
利用這樣的方法,就可以對大場景進行分割,解決 NeRF 沒有辦法應(yīng)用于大場景的問題。
此外,較小的視圖單元減少了場景中的可見內(nèi)容,因此可能會進一步提高成像質(zhì)量。
對比結(jié)果
所以,DONeRF 相較于前輩 NeRF,到底能快多少?
不妨直接來看對比結(jié)果。
在相似的質(zhì)量下,NeRF 總共使用了 256 個樣本。而 DONeRF 只用到了 4 個樣本,在速度上可以實現(xiàn) 20-48 倍的提升。
并且在成像細節(jié)方面,DONeRF 的圖像邊緣更為清晰。
研究人員還指出,在 16 個樣本的情況下,從峰值信噪比(PSNR)來看,幾乎所有場景中 DONeRF 都超越了 NeRF。
傳送門
論文地址:
https://arxiv.org/abs/2103.03231
項目地址:
https://depthoraclenerf.github.io/
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。