pixelNeRF: Neural Radiance Fields from One or Few Images
<pixelNeRF>
Pixelnerf: Neural radiance fields from one or few images目录
编者按
- 和GRF思路类似;每个点除了空间坐标以外,还额外condition一个feature,这个feature来自于把这个点重投影到input view之后索引出的input view feature space下的feature
- 作者评价的与GRF的区别
- 本篇在view下操作,而不像GRF那样在canonical space下操作,因此本文方法可以适用于更一般的设定;
- 本文方法的效果更好(笔者注:从web 视频来看,在少量view输入合成任务下的效果非常好)
Motivation
- image-conditioned NeRF
To overcome the NeRF representation’s inability to share knowledge between scene
- 为了克服NeRF这样的表达不能在scene与scene之间保留/共享知识的问题(NeRF每次都要train from scratch)
- condition a NeRF on spatial image features
- 在训练时不需要一个一致的标准正视图坐标系
Main components
- 全卷积图像encoder E
- 把输入图像encode进入一个pixel aligned 特征grid
- NeRF 网络 f
- 给定一个空间位置、encoded feature(位于重投影后的在图片上的坐标)
- 输出color + density
multi-view aggregation 方式
- 在任意一个query point,对任意一个view,把query point $\boldsymbol{\rm x}, \boldsymbol{\rm d}$ 变换到input view space下
$\boldsymbol{\rm x}^{(i)}=\boldsymbol{\rm P}^{(i)}\boldsymbol{\rm x}
,\quad \boldsymbol{\rm d}^{(i)}=\boldsymbol{\rm R}^{(i)}\boldsymbol{\rm d}$ - 在任意一个query point,对任意一个view,从投影后的图像位置的feature + position embedding + view direction embedding 计算中间变量
$\boldsymbol{\rm V}^{(i)}=f_1(\gamma(\boldsymbol{\rm x}^{(i)}), \boldsymbol{\rm d}^{(i)};\boldsymbol{\rm W}(\pi(\boldsymbol{\rm x}^{(i)})))$ - 在任意一个query point,对于所有view,把所有中间变量过average pooling layer $\psi$ 后再过一个网络渲染出 $(\sigma, \boldsymbol{\rm c})$
$(\sigma, \boldsymbol{\rm c})=f_2(\psi(\boldsymbol{\rm V}^{(1)},\ldots,\boldsymbol{\rm V}^{(n)}))$ - single view就是直接 $(\sigma, \boldsymbol{\rm c})=f(\gamma(\boldsymbol{\rm x}),\boldsymbol{\rm d};\boldsymbol{\rm W}(\pi(\boldsymbol{\rm x})))$