新手自己做网站,锦绣江南网站建设,企业营销型网站费用,wordpress页面更新失败NeRF:Representing Scene as Neural Radiance Fields for View Synthesis 笔记
摘要
实现了一个任意视角视图生成算法#xff1a;输入稀疏的场景图像#xff0c;通过优化连续的Volumetric场景函数实现#xff1b;用全连接深度网络表达场景#xff0c;输入是一个连续的5维…NeRF:Representing Scene as Neural Radiance Fields for View Synthesis 笔记
摘要
实现了一个任意视角视图生成算法输入稀疏的场景图像通过优化连续的Volumetric场景函数实现用全连接深度网络表达场景输入是一个连续的5维坐标3D坐标2D角度航向、俯仰角输出Volume density和依赖于视图的emitted radiance查询5维坐标并用经典的Volume Rendering把输出的颜色与强度投影到图像。
介绍
a. march camera rays我理解为从焦点投射射线到场景获取3D坐标点。 b. 用3D点 x \bold{x} x与对应的2D角度(用单位向量 d \bold{d} d)输入输出颜色 c \bold{c} c和强度 σ \sigma σ。 c. 合成图像。
Neural Radiance Field场景表达 F θ : ( x , d ) → ( c , σ ) F_{\theta}:(\bold{x},\bold{d})\rarr(\bold{c},\sigma) Fθ:(x,d)→(c,σ) 输出 σ \sigma σ只与输入位置坐标 x \bold{x} x有关 c \bold{c} c则与 x \bold{x} x、 d \bold{d} d有关。
网络结构输入 x \bold{x} x的8层全连接层均为256通道各层带ReLU激活输出 σ \sigma σ、256维特征此特征再与 d \bold{d} d聚合输入一层带ReLU的全连接层输出 c \bold{c} c。
Volume Rendering
位置坐标 x \bold{x} x表达为相机射线 r \bold{r} r r ( t ) o t d \bold{r}(t)\bold{o}t\bold{d} r(t)otdt是从焦点 o o o出发的长度积分上下界是远端、近端。 C ( r ) ∫ t n t f T ( t ) σ ( r ( t ) ) c ( r , d ) d t T ( t ) e x p ( − ∫ t n t σ ( r ( s ) ) d s ) C(\bold{r})\int_{t_{n}}^{t_{f}} T(t)\sigma(\bold{r}(t))\bold{c}(\bold{r},d)dt\\T(t)exp(-\int_{t_{n}}^t\sigma(\bold{r}(s))ds) C(r)∫tntfT(t)σ(r(t))c(r,d)dtT(t)exp(−∫tntσ(r(s))ds) T ( t ) T(t) T(t)的含义从 t n t_n tn到 t t t累积的transmittance“the accumulated transmittance along the ray”是射线从 t n t_n tn到 t t t未遇到其他粒子的概率。 求该积分的数值方法Deterministic quadrature笔者初步理解是一种数值计算方法离散化近似将区间分为N段从每一段随机取样。 t i ∼ U [ t n i − 1 N ( t f − t n ) , t n i N ( t f − t n ) ] t_i\sim U[t_n\frac{i-1}{N}(t_f-t_n),t_n\frac{i}{N}(t_f-t_n)] ti∼U[tnNi−1(tf−tn),tnNi(tf−tn)] 参考Volume Rendering综述 C ^ ( r ) ∑ i 1 N T i ( 1 − e x p ( − σ i δ i ) ) c i T i e x p ( − ∑ j 1 i − 1 σ j δ j ) δ j t j 1 − t j \hat C(\bold{r})\sum_{i1}^NT_i(1-exp(-\sigma_i\delta_i))\bold{c}_i\\ T_iexp(-\sum_{j1}^{i-1}\sigma_j\delta_j)\\ \delta_jt_{j1}-t_j C^(r)i1∑NTi(1−exp(−σiδi))ciTiexp(−j1∑i−1σjδj)δjtj1−tj
两项技术改进
只有上述设计不能达到SOTA为此添加了两项重要改进其中第二项是为了高效地实现第一项。 位置编码 直接输入上述5维做渲染在场景中颜色和几何的高频变化的条件下表现较差有参考证明深度网络偏向于学习低频函数并发现在输入网络前用高频函数将数据映射到更高维网络能更好拟合含有高频变化的数据。5维输入的各个元素 p p p被映射为长为2L的向量 γ ( p ) ( s i n ( 2 0 π p ) , c o s ( 2 0 π p ) , . . . , s i n ( 2 L − 1 π p ) , c o s ( 2 L − 1 π p ) ) \gamma(p)(sin(2^0{\pi}p),cos(2^0{\pi}p),...,sin(2^{L-1}{\pi}p),cos(2^{L-1}{\pi}p)) γ(p)(sin(20πp),cos(20πp),...,sin(2L−1πp),cos(2L−1πp)) 其中位置元素L10方向元素L4各维元素均归一化到 [ − 1 , 1 ] [-1,1] [−1,1]。 Transformer有相似处理但它的目的是给序列提供位置标签因为Transformer结构不能标记顺序NERF中的位置编码则是为了将输入升维以使得它的MLP能拟合更高频函数从投影重建蛋白质3D结构的模型方法也使用了该思路。 多层采样 采用两个网络一个粗略一个精细。首先用第一个网络生成颜色每条射线输入 N c N_c Nc个位置然后用其结果引导重新采样使得 N f N_f Nf个采样点集中到体元附近提高有效信息位置的样本权重使用两次的采样来渲染。