Neural Volumes Rendering(一)
1.前言
我們還是秉承,盡量使用一些直白的語言來描述一些酷炫的工作。
Neural Volumes(NV)[1] 是 Stephen Lombardzai(Facebook)?在?2019 年SIGGRAPH?發(fā)表的工作,雖然?NeRF?的影響力是更大的,但是可以確定的是,NV?是?Volume?Rendering?在神經(jīng)渲染方面上的首次應(yīng)用,并且?NV?的一些思想在之后的許多工作中都有體現(xiàn),因此本文將會單獨(dú)對 NV?進(jìn)行介紹,希望本文能為大家建立一些 Volume?Rendering?的概念。
2.Neural?Volumes?簡易版本
Neural Volume 主要由兩部分組成:
1.?Encoder-Decoder?Network,將觀測到的圖像轉(zhuǎn)換為一個(gè)?3D?的?Vol-ume。
具體的,輸入?K?張圖片,通過?Encoder?網(wǎng)絡(luò),得到一個(gè)?256?維的向量?z,我們把這個(gè)向量稱為場景的狀態(tài)向量?(State?Vector?or?State Code)。接著將這個(gè)狀態(tài)向量輸入到?Decoder?網(wǎng)絡(luò)得到一個(gè)?C?×?D?× D?×?D?的?Volume,其實(shí)就是一個(gè)?D3?的立方體,每個(gè)頂點(diǎn)的值為一個(gè)C?維的向量,NV?中設(shè)定?D?為?128,C?為?4(RGBα,α?表示?opacity)。
Encoder-Decoder 過程如下所示:

2. Raymarching?Step,根據(jù)給定的相機(jī)參數(shù)以及已有的?3D?Volume,渲染出對應(yīng)的圖像。


我們用一個(gè)動圖來展示這個(gè)過程

上面的公式是?Vol-?ume?Rendering?的理論部分,因?yàn)槠渑c?NeRF?有一些出入,我們暫時(shí)不對其進(jìn)行講解,在?NeRF?的章節(jié)我們進(jìn)行細(xì)致的講解。但是我們希望讀者建立的一個(gè)意識是,像素觀測到的顏色不止源于表面,而是來源于光線的積分。
在上述兩步完成之后,通過觀測到的圖像作為監(jiān)督,即可對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。新視角的合成是通過在 Decoder 部分加入一個(gè)條件控制向量 (con- ditional code)?c,將狀態(tài)向量?z?與條件向量?c ?連接起來一同送入網(wǎng)絡(luò)即可。
3.Neural?Volumes?附加操作
SIGGRAPH 的論文當(dāng)然沒有這么簡單...... 記得之前一個(gè)兩篇 SIG- GRAPH 一作的同學(xué)說過,一般來說 SIGGRAPH 的工作量是 CVPR 的2-4 倍。那么我們接下來看看 NV 還有哪些附加操作。
3.1?Warping?Fields
這個(gè)是比較巧的一個(gè) idea。
出發(fā)點(diǎn)是,在?Decoder?之后得到的?3D?Volume 分辨率有限,不能表達(dá)足夠多的細(xì)節(jié),而大部分的區(qū)域又是空白的。這個(gè)問題和?KinectFusion??很類似,后來有人提出用八叉樹或者 VoxelHash?來解決,但是這種方法沒法應(yīng)用于深度學(xué)習(xí)的?pipeline 中,而且最重要的是,我們沒有幾何先驗(yàn)信息, 不知道該怎樣劃分。
我們希望?Volume?中存的?RGBα?盡可能的都被使用到,空白區(qū)域的值用盡量少的空間去存儲,細(xì)節(jié)或者對最終合成圖像貢獻(xiàn)更大的區(qū)域應(yīng)該占用更多的存儲空間?;谶@一想法,NV?提出了 Warping?Fields?的方法。我們首先給出?NV?完整的?pipeline:

Warping Fields 的過程如下:

這里?x?表示輸出空間,或者渲染空間?(上圖中?V?)?中的點(diǎn),通過一個(gè)?Warping?變換,變換為?y,y?是在模板空間,也就是存儲空間?(上圖中?T?),接著獲取其對應(yīng)的RGBα?即可:

想法很好,但是如何?Warping?呢?這是個(gè)有趣的部分,可以直接通過?Learn-?ing?的方法去學(xué),輸入?z,輸出一組 Warping 的參數(shù)?{Ri,?si,?ti},或者就是一個(gè)?3?×?3的矩陣。
但是作者說這樣效果不好:“This parameterization,?however,?is too flexible, resulting in overfitting and?poor?general-ization tonovel?views?as?we?show?in?our?experimental?results.” 為次他們提出了a?inemixture?的方法,這部分內(nèi)容其實(shí)和本文關(guān)注的內(nèi)容不太一致,我們不在這里過多介紹了。NV?還有其他一些細(xì)節(jié)的工作,我們強(qiáng)烈推薦讀者閱讀原文去自行了解。
4.結(jié)語
我們用一句?NV?中十分經(jīng)典的一句話作為結(jié)尾:During optimization,?this?semi-transparent?representation?of?geometry?disperses?gradient? information along?the ray of?integration,?effectively?widening?the?basin?of?convergence?,enabling?the?discovery?of?good?solutions.
Neural?Volume?Rendering 的妙處就在于,它可以探索一定的幾何信息,但是又不需要這個(gè)幾何信息十分準(zhǔn)確,并且對于渲染任務(wù)來說,對光線的積分將梯度信息分散到更多的區(qū)域,而不僅僅是精確一致的物體表面,這有效的拓寬了收斂域。
參考文獻(xiàn)
[1] S. Lombardi, T. Simon, J. Saragih, G. Schwartz, A. Lehrmann, and?Y. Sheikh. Neural volumes: Learning dynamic renderable volumes from images.?arXiv preprint arXiv:1906.07751, 2019.