概
通过MLP和不同视角的2D图像拟合3Dshape: 引入了positional encoding, 用于捕获高频信息.
主要内容
假设(m{x} = (x, y, z))表示一个3D图的位置坐标, (m{d}=( heta, phi))为观看(拍摄?)角度, 我们希望拟合一个MLP(F_{Theta})将这个5维的向量映射为该3D物体在((x, y, z, heta, phi))处的颜色(m{c}=(r, g, b))加上体密度(sigma).
训练的监督信息是不同视角的2D图片, 以及其拍摄的参数.
所以, 对于每一张2D图片可以获得:
[C(r) = int_{t_n}^{t_f} T(t) sigma(m{r}(t)) m{c}(m{r}(t), m{d}) mathrm{d}t,
]
注: 这些个(C(r))以及体密度之类概念不明白, 看这篇文章只是为了看看positional encoding 怎么发挥作用的, 感兴趣的请回看原文.
对于(F_{Theta})我们可以估计出:
[hat{C}(m{r}) = sum_{i=1}^N T_i (1 - exp(-sigma_i delta_i)) m{c}_i,
]
通过下列损失来更新
[mathcal{L} = sum_{m{r}} [|hat{C}_c (m{r}) - C(m{r})|_2^2 + |hat{C}_f (m{r}) - C(m{r})|_2^2].
]
positional encoding
在((m{x}, m{d}))在被喂入(F_{Theta})之前, 对其进行一个预处理(entry-wise):
[gamma(p) = (sin (2^0 pi p), cos (2^0pi p), cdots, sin (2^{L-1}pi p), cos(2^{L-1}pi p)).
]
(gamma (p)^T gamma(p'))仅和(p-p')有关? 所以编码了相对信息?
额外的细节
(m{c})是视角依赖的, 但是(sigma)不是. 即:
- (m{x})首先通过一个子网络得到(sigma)和特征(f);
- 特征(f)加上(m{d})一起通过另一个子网络得到(m{c}).
本文还用到了类似重要性的技巧, 不多赘诉了.