深度學習和圖學渲染的結合和應用

2022-05-28 15:00:33

大家好~這一個月以來,我從0開始學習和實現「深度學習」的技術。
現在與大家分享下我的學習經歷,以及我瞭解到的深度學習在渲染中的應用方向,希望對大家有所幫助!謝謝!

為什麼開始學習深度學習?

其實我以前在實現與路徑追蹤相關的降噪演演算法時,就瞭解到可以基於深度學習來實現降噪,並且發現這方面的論文近年來越來越多。所以我初步判定深度學習是降噪領域中的發展方向。

但因為深度學習跟圖學是完全不同的學科,跨學科學習的成本太高,需要從0開始,所以我那時候沒有采用深度學習的方法,而是採用更偏向於圖學的方法來實現降噪(比如SVGF/BMFR演演算法)。

那為什麼我現在下決心從0開始學習深度學習了呢?這要感謝今年參加我開的「離線渲染(二期)」培訓課的同學的反饋意見~他們表示希望多學習下實時渲染的技術,或者是能夠將課程的離線渲染技術(如路徑追蹤)應用到實時渲染中。
經過我的研究,我發現了有兩個可行的方案:
1、基於DDGI以及衍生的技術方案(如SDFDDGI
2、路徑追蹤+降噪+SDF

第一個方案屬於工業上的成熟方案,但是也有很多限制(如只支援漫反射表面),工程上也不易維護(因為是混合了光柵化和光追渲染,比較複雜);
第二個方案而是隻用光追渲染,工程上容易維護;並且也支援高光反射、透明物體等材質。

所以我決定採用第二個方案。這個方案的技術難點就是降噪(路徑追蹤我已經實現了),所以我決定優先實現它。
前面已經提到了我知道深度學習在降噪中很有前景,所以我下定決心從0學習深度學習!

使用深度學習來降噪的相關論文資料:
AI影象降噪
ISO隨便開!神經網路學習降噪演演算法解析
【每週CV論文】深度學習影象降噪應該從閱讀哪些文章開始
可復現的影象降噪演演算法總結

瞭解到「谷歌地圖基於神經渲染實現了3D地圖」

本來我學習深度學習是一心為了用在降噪中,但是我在QQ群裡與同學分享我在深度學習方面的實現進展後,有個同學提到了NeRF,說這個最近很火。

我初步研究了下,發現它使用了神經網路,用於從2D影象中重建3D渲染的。我認為我還是需要3D->2D,而不是2D->3D。也就是說,我是要渲染3D模型為2D影象的。所以我認為我目前暫時不需要用到NeRF。

但是,後來我在微信朋友圈中,看到有人分享了「谷歌地圖」的釋出會,它基於NeRF實現了3D地圖。
然後我又在QQ群裡看到有同學再一次分享了「谷歌地圖」的這個釋出會,於是我就再次調研了下相關的技術。

相關的視訊:
用AI建模?谷歌3D地圖的背後技術

通過調查後,我還是很看好這個技術!NeRF屬於「神經渲染」領域,有希望取代目前傳統的基於幾何模型的渲染!因為它只需要幾張圖片,就可以渲染出3D畫面了,而不再需要幾何模型!
使用NeRF得到的3D渲染還可以進行風格變換,以及各種光照變換!

NeRF相關資料:
NeRF:用深度學習完成3D渲染任務的躥紅
神經渲染最新進展與演演算法(二):NeRF及其演化

NeRF的改進方向

NeRF目前主要用在靜態場景中,我還不清楚如何將其用在動態場景中。
不過對於NeRF的其它的缺點,已經有相關的論文對其改進:

提高訓練速度
NeRF訓練時間太長,相關的改進資料如下:
神經渲染最新進展與演演算法(二):NeRF及其演化 -> NeRF的加速
FastNeRF: High-Fidelity NeuralRendering at 200FPS
Baking Neural Radiance Fields for real-Time View Synthesis
AutoInt: Automatic Integration for Fast Neural Volume Rendering
不可思議!英偉達新技術訓練NeRF模型最快只需5秒

還有人提出了不用神經網路的方法,資料如下:
本科生新演演算法打敗NeRF,不用神經網路照片也能動起來,提速100倍

只要一張圖片
NeRF需要多個角度下的圖片。
有論文提出了只要一張圖片的方法:
一張照片就能生成3D模型,GAN和自動編碼器碰撞出奇蹟

將體素渲染轉換為真實渲染
把「我的世界」的體素風格轉換為真實渲染:
GANcraft :將玩家變成 3D 藝術家

支援透明物體
有論文提出了支援透明物體的方法:
Dex-NeRF: Using a Neural Radiance Field to Grasp Transparent Objects

支援超大場景
這個就是谷歌地圖實現的技術了,他們還發表了論文:
Block-NeRF: Scalable Large Scene Neural View Synthesis

編輯場景內容
NeRF方法僅能從已有的固定的場景生成渲染影象,無法直接按照主觀意圖編輯場景內容
改進的論文如下:
GRAF: Generative Radiance Fields for3D-Aware Image
GIRAFFE: RepresentingScenes as Compositional Generative Neural Feature Fields

黑暗中的高光渲染
NeRF in the Dark: High Dynamic Range View Synthesis from Noisy Raw Images

用於降噪
NeRF甚至可以用在降噪中,不過我沒有具體研究。
相關論文如下:
NAN: Noise-Aware NeRFs for Burst-Denoising

在Web上使用硬體來加速訓練和推理?

因為我是Web3D領域的開發者,我知道深度學習的Web後端可以為:CPU、WebGL、WebGPU(我不考慮WebAssembly)

我也瞭解到nvidia顯示卡有專門的神經網路硬體,但我不清楚如何使用它!

通過群裡同學的提醒,我通過研究瞭解到現在的硬體除了CPU、GPU,還有NPU,而這個NPU是專門為深度學習設計的硬體

NPU相關介紹:NPU的發展概況

那麼在Web上能使用NPU硬體嗎?答案是有的!目前Web上已經制定了Web Neural Network API標準(簡稱WebNN),通過該API即可呼叫NPU硬體!
目前Chrome瀏覽器正在實現中,貌似還沒有釋出計劃,所以暫時不能使用!

看到有人進行了測評,它的效能比WebGPU快數倍!

參考資料為:
WebNN API - 將硬體加速的深度學習帶入開放式 Web 平臺

更多的資料

AI演演算法與影象處理