首頁 > 硬體

1張GPU就能讓靜態圖片變gif

2021-08-10 16:00:38

自打伯克利和谷歌聯合打造的NeRF橫空出世,江湖上靜態圖變動圖的魔法就風靡開來。

不過,想要像這樣依靠AI來簡化3D動態效果的製作,算力開銷可不小:

以NeRF為例,想要在1440 x 1600畫素、90Hz的VR頭盔中實現實時渲染,需要37 petaFLOPS(每秒10^15次浮點運算)的算力——這在目前的GPU上根本不可能實現。

怎麼降低點計算複雜度?

現在,來自奧地利格拉茲科技大學和Facebook的研究人員,就想出一招:引入真實深度資訊。

就這一下,很快的,推理成本最高能降低48倍,並且只用1個GPU,就能以每秒20幀的速度實現互動式渲染。

畫質什麼的,也沒啥影響,甚至還能有所提升:

具體是怎樣一招,咱們往下接著聊。

基於深度預言網路的NeRF

首先需要說明的是,NeRF,即神經輻射場(neural radiance field)方法,是沿相機射線取樣5D座標,來實現影象合成的。

也就是說,在NeRF的渲染過程中,需要對每條射線都進行網路評估,以輸出對應的顏色和體積密度值等資訊。

這正是造成NeRF在實時渲染應用中開銷過大的主要原因。

而現在,格拉茲科技大學和Facebook的研究人員發現,引入真實深度資訊,只考慮物體表面周圍的重要樣本,每條檢視射線(view ray)所需的樣本數量能夠大大減少,並且不會影響到影象質量。

基於此,他們提出了DONeRF。

DONeRF由兩個網路組成,其一,是Sampling Oracle Network,使用分類法來預測沿檢視射線的最佳取樣位置。

具體來說,這個深度預言網路通過將空間沿射線離散化,並預測沿射線的取樣概率,來預測每條射線上的多個潛在取樣物件。

如下圖所示,3個顏色通道編碼了沿射線的3種最高取樣概率,灰度值表明其中可能只有一個表面需要被取樣,而彩色數值則表明這些樣本需要在深度上展開。

其二,是一個著色網路,使用類似於NeRF的射線行進累積法來提供RGBA輸出。

為了消除輸入的模糊性,研究人員還將射線轉換到了一個統一的空間,並使用非線性取樣來追蹤接近的區域。

另外,在兩個網路之間,研究人員對區域性取樣進行扭曲,以使著色網路的高頻預測被引導到前景上。

本文還引入了檢視單元(view cell)的概念。一個檢視單元被定義為一個具有主要方向和最大視角的邊界框。

簡單來說,這個邊界框能夠捕捉到所有源於框內、並且在一定旋轉範圍內的檢視射線。

利用這樣的方法,就可以對大場景進行分割,解決NeRF沒有辦法應用於大場景的問題。

此外,較小的檢視單元減少了場景中的可見內容,因此可能會進一步提高成像質量。

對比結果

所以,DONeRF相較於前輩NeRF,到底能快多少?

不妨直接來看對比結果。

在相似的質量下,NeRF總共使用了256個樣本。而DONeRF只用到了4個樣本,在速度上可以實現20-48倍的提升。

並且在成像細節方面,DONeRF的影象邊緣更為清晰。

研究人員還指出,在16個樣本的情況下,從峰值訊雜比(PSNR)來看,幾乎所有場景中DONeRF都超越了NeRF。

傳送門

論文地址:https://arxiv.org/abs/2103.03231

專案地址:https://depthoraclenerf.github.io/


IT145.com E-mail:sddin#qq.com