NERF论文笔记(1/2)

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)=o+td,t是从焦点 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 Ut_n+\\frac{i-1}{N}(t_f-t_n),t_n+\\frac{i}{N}(t_f-t_n) ti∼Utn+Ni−1(tf−tn),tn+Ni(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_{i=1}^NT_i(1-exp(-\sigma_i\delta_i))\bold{c}i\\ T_i=exp(-\sum{j=1}^{i-1}\sigma_j\delta_j)\\ \delta_j=t_{j+1}-t_j C^(r)=i=1∑NTi(1−exp(−σiδi))ciTi=exp(−j=1∑i−1σjδj)δj=tj+1−tj

两项技术改进

只有上述设计不能达到SOTA,为此添加了两项重要改进,其中第二项是为了高效地实现第一项。

  1. 位置编码

    直接输入上述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))

    其中,位置元素L=10,方向元素L=4;各维元素均归一化到 − 1 , 1 -1,1 −1,1

    Transformer有相似处理,但它的目的是给序列提供位置标签,因为Transformer结构不能标记顺序;NERF中的位置编码则是为了将输入升维以使得它的MLP能拟合更高频函数;从投影重建蛋白质3D结构的模型方法也使用了该思路。

  2. 多层采样

    采用两个网络,一个粗略,一个精细。首先用第一个网络生成颜色,每条射线输入 N c N_c Nc个位置,然后用其结果引导重新采样,使得 N f N_f Nf个采样点集中到体元附近,提高有效信息位置的样本权重,使用两次的采样来渲染。

相关推荐
EQUINOX112 小时前
【论文精读】| LLaVA
论文阅读·人工智能·深度学习
m4Rk_13 小时前
【论文阅读】Agent 记忆机制(57):MemSearch-o1——从查询词元生长证据,重组 Deep Search 记忆路径
论文阅读·人工智能·学习·开源·github
STLearner3 天前
KDD 2026 | (2月轮)时空数据(Spatial-Temporal)论文总结时空(交通)预测,轨迹数据挖掘(表示,生成)
论文阅读·人工智能·python·深度学习·学习·机器学习·数据挖掘
CV-杨帆3 天前
论文阅读 arxiv 2026 Stealing Reasoning Traces from Proprietary LLM APIs
论文阅读
m4Rk_4 天前
【论文阅读】Agent 记忆机制(54):MINJA——普通用户如何仅通过查询污染 Agent 的长期记忆
论文阅读·人工智能·学习·开源·github
Capricorn19884 天前
个人知识库接入大模型频现“幻觉引用”?排查 RAG 溯源失效问题,解析知芽构建可信第三大脑的底层架构
大数据·论文阅读·人工智能·笔记·架构·论文笔记
Capricorn19885 天前
科研引用无法溯源怎么排查?知芽 Notebook Skill 技术机制拆解
大数据·论文阅读·人工智能·笔记·论文笔记
Capricorn19885 天前
Agent 记忆层接入后引用仍不可信?知芽 Notebook Skill 排障指南
大数据·论文阅读·人工智能·笔记·架构
Rocky Ding*5 天前
【三年面试五年模拟】2026-08-16_拼多多_笔试题与题解全解析
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·拼多多
无线通信科研笔记5 天前
IEEE TWC 2026 论文精读与完整复现|H-PASS:机械—电子双重可重构波束成形
论文阅读·人工智能·笔记·python·论文笔记