NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
阿新 • • 發佈:2021-10-10
目錄
以及體密度之類概念不明白, 看這篇文章只是為了看看positional encoding 怎麼發揮作用的, 感興趣的請回看原文.
對於\(F_{\Theta}\)我們可以估計出: \[\hat{C}(\bm{r}) = \sum_{i=1}^N T_i (1 - \exp(-\sigma_i \delta_i)) \bm{c}_i, \]
概
通過MLP和不同視角的2D影象擬合3Dshape: 引入了positional encoding, 用於捕獲高頻資訊.
主要內容
假設\(\bm{x} = (x, y, z)\)表示一個3D圖的位置座標, \(\bm{d}=(\theta, \phi)\)為觀看(拍攝?)角度, 我們希望擬合一個MLP\(F_{\Theta}\)將這個5維的向量對映為該3D物體在\((x, y, z, \theta, \phi)\)處的顏色\(\bm{c}=(r, g, b)\)加上體密度\(\sigma\).
訓練的監督資訊是不同視角的2D圖片, 以及其拍攝的引數.
所以, 對於每一張2D圖片可以獲得:
注: 這些個\(C(r)\)
對於\(F_{\Theta}\)我們可以估計出: \[\hat{C}(\bm{r}) = \sum_{i=1}^N T_i (1 - \exp(-\sigma_i \delta_i)) \bm{c}_i, \]
通過下列損失來更新
\[\mathcal{L} = \sum_{\bm{r}} [\|\hat{C}_c (\bm{r}) - C(\bm{r})\|_2^2 + \|\hat{C}_f (\bm{r}) - C(\bm{r})\|_2^2]. \]positional encoding
在\((\bm{x}, \bm{d})\)在被喂入\(F_{\Theta}\)之前, 對其進行一個預處理(entry-wise):
\[\gamma(p) = (\sin (2^0 \pi p), \cos (2^0\pi p), \cdots, \sin (2^{L-1}\pi p), \cos(2^{L-1}\pi p)). \]\(\gamma (p)^T \gamma(p')\)僅和\(p-p'\)有關? 所以編碼了相對資訊?
額外的細節
\(\bm{c}\)是視角依賴的, 但是\(\sigma\)不是. 即:
- \(\bm{x}\)首先通過一個子網路得到\(\sigma\)和特徵\(f\);
- 特徵\(f\)加上\(\bm{d}\)一起通過另一個子網路得到\(\bm{c}\).
本文還用到了類似重要性的技巧, 不多贅訴了.