K2E-B-G6-4 · Paper Note

Nerfies

Created 2024-03-31Updated 2026-06-11slam / papers / g-geometry-rendering / g6-radiance-field-foundations

  • Description:Nerfies 论文笔记 — 可形变 NeRF,per-frame SE(3) 形变场将观测坐标 warp 到 canonical 模板,弹性正则 + coarse-to-fine 位置编码,从手机自拍视频重建可形变场景
  • My Notion Note ID:K2E-B-G6-4
  • Created:2024-03-31
  • Updated:2026-06-11
  • License转载欢迎:转载请注明作者 Yu Zhang 并附原文出处(yuzhang.io

Table of Contents


1. Summary

Title: Nerfies: Deformable Neural Radiance Fields Authors: Keunhong Park, Utkarsh Sinha, Jonathan T. Barron, Sofien Bouaziz, Dan B. Goldman, Steven M. Seitz, Ricardo Martin-Brualla (University of Washington & Google Research) Paper: arXiv:2011.12948 (ICCV 2021) Github: google/nerfies

Nerfies 把静态 NeRF 推广到非刚性形变场景(人脸/头发/肢体),能从手机随手拍的自拍视频重建可自由换视角的"nerfie"。核心思路:把场景分解为 canonical 模板 NeRF(一个静态辐射场)+ per-frame SE(3) 形变场——渲染时先把观测坐标通过形变场 warp 到 canonical 空间,再查模板。

直接优化会陷入局部极小(大/小运动同时出现时形变场发散)。两项正则化解决这个问题:弹性正则(惩罚形变场 Jacobian 的非刚性程度)防止不合理形变;coarse-to-fine 位置编码(渐进引入高频)让优化先学大局形变再细化,避免高频陷阱。

在准静态场景,Nerfies PSNR 23.7 dB / LPIPS 0.282,超过所有 baseline(NeRF 18.1 / 0.502,Neural Volumes 15.0 / 0.562);在动态场景 LPIPS 0.168 优于 NSFF(0.183),尽管 NSFF 额外使用了光流/深度监督。

Nerfies 方法流程:观测帧坐标 (x,y,z) → 形变场 MLP(条件于 per-frame latent \omega)→ canonical 坐标 (x',y',z') → 模板 NeRF(条件于外观 latent \psi)→ RGB + 密度


2. Key Contributions

  • Canonical 模板 + 形变场分解:单个静态 NeRF 模板 + per-frame SE(3) 形变,不需要显式骨骼或 mesh
  • SE(3) 刚体运动形变场:用螺旋轴 (screw axis) 参数化,比平移场更高效地建模旋转,共享远端点的旋转参数
  • 弹性正则:对形变 Jacobian 奇异值取对数惩罚局部刚性,Geman-McClure 鲁棒核容忍大形变,射线贡献加权(空区域自由变)
  • Coarse-to-fine 形变正则:windowed 位置编码渐进引入高频,先学低频整体形变再细化,防止局部极小
  • 手机自拍系统:COLMAP + 前景分割 + SfM 静态点背景锚定,无需专用硬件或标记点

3. Method

3.1 场景分解

观测空间辐射场 = 形变 × 模板:

G(x,d,ψi,ωi)=F(T(x,ωi),d,ψi)G(\mathbf{x}, \mathbf{d}, \psi_i, \omega_i) = F(T(\mathbf{x}, \omega_i), \mathbf{d}, \psi_i)

TT:观测→canonical 的形变映射,条件于 per-frame latent ωiR8\omega_i \in \mathbb{R}^8FF:canonical 模板 NeRF(静态辐射场);ψiR8\psi_i \in \mathbb{R}^8:per-frame 外观 latent(处理曝光/白平衡变化);d\mathbf{d}:视角方向。

3.2 SE(3) 形变场

形变用螺旋轴 S=(r;v)R6\mathcal{S} = (\mathbf{r}; \mathbf{v}) \in \mathbb{R}^6 参数化:

x=erx+p,p=G(r)v\mathbf{x}' = e^{\mathbf{r}}\mathbf{x} + \mathbf{p}, \quad \mathbf{p} = \mathbf{G}(\mathbf{r})\mathbf{v}

ere^{\mathbf{r}}:旋转矩阵(Rodrigues 公式:I+sinθθ[r]×+1cosθθ2[r]×2\mathbf{I} + \frac{\sin\theta}{\theta}[\mathbf{r}]_\times + \frac{1-\cos\theta}{\theta^2}[\mathbf{r}]_\times^2);G(r)=I+1cosθθ2[r]×+θsinθθ3[r]×2\mathbf{G}(\mathbf{r}) = \mathbf{I} + \frac{1-\cos\theta}{\theta^2}[\mathbf{r}]_\times + \frac{\theta-\sin\theta}{\theta^3}[\mathbf{r}]_\times^2p\mathbf{p} 由螺旋轴平移分量 v\mathbf{v}G\mathbf{G} 恢复(非自由平移)。

优势:远处点的旋转可共享同一组 r\mathbf{r} 参数,比逐点平移场更高效、更符合真实刚体运动。(SE(3)/指数映射基础见 李群与李代数

形变 MLP 架构:6 层,128 隐藏单元,第 4 层跳接;输入 γα(x)+ωi\gamma_\alpha(\mathbf{x}) + \omega_i,输出 (r,v)R6(\mathbf{r}, \mathbf{v}) \in \mathbb{R}^6;末层初始化近恒等变换以稳定早期训练(论文 U(105,105)\mathcal{U}(-10^{-5}, 10^{-5});官方代码用 uniform(scale=10^{-4}))。

3.3 弹性正则

形变场 Jacobian JT=UΣVT\mathbf{J}_T = \mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^T(SVD),惩罚非刚性程度:

Lelastic(x)=logΣF2\mathcal{L}_{\text{elastic}}(\mathbf{x}) = \|\log \boldsymbol{\Sigma}\|_F^2

Σ\boldsymbol{\Sigma}JT\mathbf{J}_T 的奇异值对角阵;纯刚体运动时 Σ=I\boldsymbol{\Sigma} = \mathbf{I}Lelastic=0\mathcal{L}_{\text{elastic}} = 0

用 Geman-McClure 鲁棒核容忍人脸表情等大形变:ρ(x,c=0.03)=2(x/c)2/((x/c)2+4)\rho(x, c=0.03) = 2(x/c)^2 / ((x/c)^2 + 4)。按射线贡献(密度积分)加权——空区域不惩罚,让高密度区域(实际物体表面)保持局部刚性。

背景正则(锚定 SfM 静态点):

Lbg=1Kk=1KT(xk)xk2\mathcal{L}_{\text{bg}} = \frac{1}{K}\sum_{k=1}^{K}\|T(\mathbf{x}_k) - \mathbf{x}_k\|_2

xk\mathbf{x}_k:SfM 三角化的 KK 个静态背景点。让这些点形变后不动 → 固定 canonical 与观测系的关系,防止 gauge ambiguity。

总 loss:L=Lrgb+λLelastic-r+μLbg\mathcal{L} = \mathcal{L}_{\text{rgb}} + \lambda\mathcal{L}_{\text{elastic-r}} + \mu\mathcal{L}_{\text{bg}},论文默认 λ=μ=103\lambda = \mu = 10^{-3}

3.4 Coarse-to-Fine 形变正则

难点:直接用完整高频位置编码 → 形变场陷局部极小(大位移和小细节相互干扰)。对策:windowed 位置编码,按 α[0,m]\alpha \in [0, m] 渐进开启各频率带:

wj(α)=1cos(πclamp(αj,0,1))2w_j(\alpha) = \frac{1 - \cos(\pi\,\text{clamp}(\alpha - j, 0, 1))}{2}

jj:频率带索引(00m1m-1);α\alpha 从 0 线性增加到 m=6m=6(每 80K 步完成一遍)。滑动 Hann 窗:先学低频平滑形变(整体移动),渐进加入高频(细节形状),类似多分辨率优化。


4. Experiments & Results

数据集

双相机验证 rig(两部 Pixel 3 刚性固定):

  • 准静态 5 序列(40–308 帧,人/狗尽量静止)
  • 动态 4 序列(193–356 帧,主动运动:转头、挥拍、扫地等)
  • COLMAP 用背景特征做相机标定;DeepLabV3 分割前景避免在运动目标上匹配;Laplacian 方差过滤模糊帧

定量结果

准静态场景(5 序列,PSNR/LPIPS↓):

方法 PSNR ↑ LPIPS ↓
NeRF 18.1 0.502
Neural Volumes(神经体素视角合成,Lombardi 2019,基于变形体素网格的隐式表示) 15.0 0.562
NSFF† 21.3 0.334
Nerfies 23.7 0.282

动态场景(4 序列,PSNR/LPIPS↓):

方法 PSNR ↑ LPIPS ↓
NeRF 20.3 0.506
Neural Volumes 16.0 0.454
NSFF† 27.1 0.183
Nerfies 22.1 0.168

(†NSFF 额外使用光流/深度/时序监督;Nerfies 在此条件下仍在 LPIPS 上超越)。论文结论:所有序列 LPIPS 均最优。

Nerfies 的 canonical/observation 帧对应关系:左侧观测帧不同视角图像,右侧对应的 canonical 模板几何结构


5. Ablation & Discussion

(Table 3,准静态场景 LPIPS 变化,λ=0.001\lambda=0.001

去掉的组件 LPIPS 变化(准静态) LPIPS 变化(动态) 说明
弹性正则 +0.018(变差) +0.002(基本无影响) 准静态场景下关键
Coarse-to-fine +0.019(变差) +0.060(大幅变差) 动态场景最关键
SE(3) → 平移场 +0.011(变差) +0.009(轻微变差) 准静态场景有收益
背景正则 +0.014(变差) +0.028(变差) 动态场景同样有帮助
全部去掉 +0.032(变差) +0.107(变差) 各组件均有贡献

Coarse-to-fine 是动态场景最重要的单组件(+0.060 LPIPS);弹性正则在准静态场景关键(形变欠约束时防止飘移);SE(3) 形变在准静态有改善,动态场景收益较小。


6. Strengths / Limitations / Future Work

优势:

  • 无需专用硬件:手机随手拍即可,COLMAP 标定
  • 无需骨骼 / 模板 / 标记点:纯学习驱动的形变场
  • SE(3) 参数化比平移场更高效,远端旋转参数共享
  • LPIPS 全面超过所有 baseline(含用额外监督的 NSFF)

局限:

  • 拓扑变化(嘴巴开合)形变场无法表达,产生严重伪影(paper Fig. 16)
  • 快速运动区域观测稀疏,形变欠约束
  • Gauge ambiguity:静态区域可能漂移(canonical 与观测系对齐不唯一)
  • 高计算成本:full HD 1M 步 × 8×V100 约 1 周,实用性受限
  • 相机标定依赖 COLMAP 能在背景特征上成功 SfM

后续影响:

  • 开创了"canonical template + deformation field"这一范式,后续 HyperNeRF(体素超空间扩展形变场)/ D-NeRF(用时间 latent 代替 per-frame latent 的可控形变 NeRF)/ TiNeuVox(时变神经体素,用显式体素网格加速形变场推理)等沿此扩展
  • SE(3) 形变场 → 关节体建模(ArticulatedNeRF:骨骼驱动的神经辐射场,把形变场分解为刚性骨骼变换的加权混合)的前置工作
  • 在 SLAM 圈影响了动态场景建图(形变场 + NeRF 的组合)

References

  • Park, K., Sinha, U., Barron, J. T., Bouaziz, S., Goldman, D. B., Seitz, S. M., & Martin-Brualla, R. (2021). Nerfies: Deformable Neural Radiance Fields. ICCV 2021. arXiv:2011.12948 — 论文
  • 项目页:nerfies.github.io
  • 静态 NeRF 基础:NeRF 笔记
  • SE(3) 指数映射:李群与李代数(K2E-A)