深度隱式表達(dá)系列 (二)
接著上一次的話題,我們再一次使用下面這張圖來闡述深度隱式表達(dá)(Deep Implicit Representation, DIR) 的核心思想:

上一次我們提到的兩篇工作,借助神經(jīng)網(wǎng)絡(luò)良好的插值能力,將物體的幾何信息嵌入到神經(jīng)網(wǎng)絡(luò)的參數(shù)中,取得了 impressive 的結(jié)果。那么是不是可以進(jìn)一步的將光度信息或者紋理信息也考慮進(jìn)來呢?
順著這個思路,我們?yōu)榇蠹規(guī)韮善恼?(PIFu[3] 以及 SRN[6]),希望能幫助大家更好的理解深度隱式表達(dá)方法。
首先簡單介紹一下兩篇文章的背景,這些內(nèi)容其實(shí)也是學(xué)術(shù)中比較有意思的部分。PIFu 是黃锃博士在 2019 年 ICCV 上發(fā)表的工作,如果你不了解這項(xiàng)工作沒有關(guān)系,你可以看一下這篇文章(見文末參考鏈接a)去感受一下黃博酷炫的答辯現(xiàn)場。
在實(shí)時人體重建這個方向,黃博及其 co-author 發(fā)表了多篇頂會文章,當(dāng)然還必須提到的是馬普所以及清華劉燁斌老師和于濤博士的一系列工作。SRN 在國內(nèi)的博客上很少見到,感覺不是很受關(guān)注的樣子。
SRN 的作者Vincent Sitzmann 也是不得不提的,NeRF 原文中是這樣提到的:
“Note that SRN is a better-performing followup to DeepVoxels by the same authors,which is why we do not include comparisons to DeepVoxels.”
這兩篇工作的作者都是 Vincent Sitzmann,并且之后我們會著重介紹的 SIREN[5] 的一作也是他,因此希望大家對大神保留一些印象,關(guān)于 DIR 他也專門維護(hù)了一個倉庫(見文末參考鏈接b)。
下面我們具體介紹這兩篇文章。
1、PIFu
首先看一下 PIFu 做了一件什么事:

輸入圖片 (需要 mask),輸出對應(yīng)的 mesh 模型,并且可以貼紋理。有了之前 OccNet 的基礎(chǔ),接下來的理論應(yīng)該不難理解。
1.1 Geometry
對于空間中任意一個 3 維點(diǎn)

,對于一個給定的相機(jī)位姿,可以得到其在相機(jī)坐標(biāo)系下的投影?x?=?π(X) 以及對應(yīng)的深度值?z,原文的formulation 如下:

這里原文解釋的?F(x) =?g(I(x)) 我不太認(rèn)同,在看了之后他們自己之后的改進(jìn)工作 [1] 和 PIFuHD[4] 以及于濤博士 [2] 的一篇相關(guān)文章之后可以確定這里表述是有誤的,這里我們改為:F(x) =?g(x,?I),表示?x?對應(yīng)的圖像特征,其中?I?表示輸入的圖像。
輸出的?s?可以參考 DeepSDF 以及 OccNet 去定義,只要你找好合適的 label 就好,PIFu 選用的是是否被占據(jù)的概率。
稍加解讀,這里?x?對應(yīng)的射線上的所有點(diǎn),其投影下來的圖像特征都為?F(x),因此需要輸入深度值?z?做區(qū)分。關(guān)于如何產(chǎn)生 ground truth 其實(shí)有一些專門研究這一問題的文章,使用 DIR 方法的文章也各自提出了一些采樣的方式,這是屬于數(shù)據(jù)層面的內(nèi)容了,我們也不過深研究了,需要 3D ground truth 監(jiān)督的方式本身就挺受詬病的。
PIFu 的采樣方式是表面附近采樣與空間均勻采樣結(jié)合起來使用的,對這部分感興趣的朋友可以參考他的 ablation study。
1.2 Texture
首先要注意紋理和渲染不是一回事。紋理是物體自身屬性,渲染是需要考慮材質(zhì)光照等等一系列因素的。比較 Naive 的做法是將?f(F(x), z) 的輸出直接換成 RGB,ground truth 獲取的方式也比較明確。但是這樣會造成過擬合,于是作者改用如下方式進(jìn)行紋理的訓(xùn)練:

關(guān)于這部分解讀可以參考這篇文章(見文末參考鏈接c)簡單的講就是緩解網(wǎng)絡(luò)壓力,使?fc?只需要關(guān)注顏色信息,而不需要去關(guān)注潛在的 3D 信息。
1.3 Multi-View
多視角的表面重建部分是比較好理解的,其實(shí)就是將空間中的一個點(diǎn)投影到各個視角下,得到對應(yīng)的特征,接著將這些特征進(jìn)行聚合,PIFu 使 用 average pooling 的操作進(jìn)行聚合,max pooling 其實(shí)也可以,騷一點(diǎn)用個 self-attention 都行,效果理論上還會更好。聚合后的特征再回歸到占據(jù)概率或者顏色值即可。
2、SRN
接下來我們來聊聊 SRN 這篇文章。我們之前提到的工作都需要 3D 的ground truth 做監(jiān)督,而這樣的 label 在仿真環(huán)境都是很難獲取的,更不用說在真實(shí)場景了。
如果只使用 RGB 的信息做監(jiān)督,那事情將變得簡單許多,當(dāng)然算法也會相對復(fù)雜一些,需要引入更多的領(lǐng)域知識。SRN 雖然在現(xiàn)在看來已經(jīng)算不上 state-of-the-art 了,但是這不影響它的趣味性。
SRN 假設(shè)圖像的顏色來自于物體的表面,一般被稱為 Surface Rendering,因此重點(diǎn)就在于如何找到光線與物體表面的交點(diǎn)。給定一些列的圖像以及對應(yīng)的內(nèi)外參,光線從物體表面射入相機(jī)光心,我們不關(guān)心光線的入射方式,我們只關(guān)心光源在哪里以及顏色信息。
根據(jù)已有信息,我們首先看看能列哪些表達(dá)式。根據(jù)小孔成像模型:

這里?d >?0 表示點(diǎn)的深度信息。要求解的問題是:

這里 ? 表示物體的表面。根據(jù) DIR 的思想,我們假設(shè)有這樣一個函數(shù) Φ:

這里

表示空間中點(diǎn)的坐標(biāo),表示特征,我們希望它包含一些幾何信息以及顏色信息。SRN 使用 LSTM 來模擬 sphere tracing 的過程:

示意圖如下:

最終得到的輸入到另一個網(wǎng)絡(luò)中得到 RGB 的顏色值,這里的網(wǎng)絡(luò)可以是一個簡單的 MLP,SRN 為了增加泛化性使用了一個 pixel generator,其實(shí)就是之前在 DeepSDF 中介紹過的 Auto-Decoder 的變種,感興趣的讀者可以自行閱讀原文。
3、結(jié)語
PIFu 和 SRN 將 DIR 從幾何信息拓展到了紋理屬性以及顏色屬性,我們有理由相信,DIR 方法可以 encode 更復(fù)雜的屬性,關(guān)鍵在于正確的引入相關(guān)的領(lǐng)域知識。SRN 使用 LSTM 模擬 ray marching 的過程屬實(shí)是個很好的例子。這兩篇工作都是 19 年頂會高分論文,之后也有很多改進(jìn)工作,希望本文能為大家?guī)硪恍﹩l(fā)。
參考文獻(xiàn)
[1] R. Li, Y. Xiu, S. Saito, Z. Huang, K. Olszewski, and H. Li. Monocularreal-time volumetric performance capture. In?European Conference onComputer Vision, pages 49–67. Springer, 2020.
[2] Z. Li, T. Yu, C. Pan, Z. Zheng, and Y. Liu. Robust 3d self-portraits?in seconds. In?Proceedings of the IEEE/CVF Conference on ComputerVision and Pattern Recognition, pages 1344–1353, 2020.
[3] S. Saito, Z. Huang, R. Natsume, S. Morishima, A. Kanazawa, and H. Li.Pifu: Pixel-aligned implicit function for high-resolution clothed humandigitization. In?Proceedings of the IEEE/CVF International Conferenceon Computer Vision, pages 2304–2314, 2019.
[4] S. Saito, T. Simon, J. Saragih, and H. Joo. Pifuhd: Multi-level pixelaligned implicit function for high-resolution 3d human digitization. InProceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 84–93, 2020.
[5] V. Sitzmann, J. Martel, A. Bergman, D. Lindell, and G. Wetzstein. Implicit neural representations with periodic activation functions.?Advancesin Neural Information Processing Systems, 33, 2020.
[6] V. Sitzmann, M. Zollh?fer, and G. Wetzstein. Scene representationnetworks: Continuous 3d-structure-aware neural scene representations.arXiv preprint arXiv:1906.01618, 2019.
[7]?參考鏈接a:https://www.qbitai.com/2020/08/17603.html
[8] 參考鏈接b:https://github.com/vsitzmann/awesome-implicit-representations
[9]?參考鏈接c:
https://zhuanlan.zhihu.com/p/148509062