目录

目录

Survey: nerf with dynamic/deforming objects


目录
<NR-NeRF> Non-rigid neural radiance fields: Reconstruction and novel view synthesis of a dynamic scene from monocular video
 

贡献/结论

  • 消费者级的相机就足够合成简单、短时场景的让人信服的bullet-time videos ;单目视频的free viewpoint rendering,将场景解耦为静态表征和变形
  • 表征允许视野、时间之间的相关性估计
  • 提供场景中每个点的rigidity score刚性评分;一个rigidity network来吧场景分为非刚体前景和刚体背景,没有直接监督信号;是一种空间场中的连续加权和,不是显著的离散划分

Motivation

  • 用非刚体(可形变的nerf来表征一个包含动态可变物体视频
    通过ray bending来重建一个一般的非刚体场景的NeRF
  • 输入一张正在变形的物体的RGB图片,学到它的几何外观表征,并且可以重建任何timestep下的novel camera view下的物体图片
  • task:free viewpoint rendering自由视野渲染,针对dynamic scenes动态场景(随时间变化的场景)
    • 过去需要多视角的captures,但是这样的多视角方案是昂贵的、繁琐的
    • 希望用户只用消费者级的相机,monocular
    • 方法不仅适用于现在拍的视频,还适用于过去久远以前拍的视频,制造immersive更有沉浸感的体验
  • monocular video for dynamic/deforming scenes是一个严重under-constrained欠约束问题
    • 过去的方法限制在单物体类别,如人体
    • 过去的方法只重建非刚性物体的geometry形状/几何,不关注外观
  • https://longtimenohack.com/posts/paper_reading/2020arxiv_tretschk_non/nr-nerf-example.gif

overview

  • https://longtimenohack.com/posts/paper_reading/2020arxiv_tretschk_non/image-20210114085225599.png
  • 并没有显式的cover时间信息
  • 把非刚体场景表征为两个components的组合,并且在观测上一起训练;整个方法都是自监督/无监督的
    • 一个canonical NeRF volume,表达几何与外观
      • 没有直接supervised,是场景的static表征
    • 场景的变形
      • 使用估计的场景变形把canonical NeRF volume变形到每张图片
      • 📌 由于场景的**vometric nature**,本篇选择的是space deformations,而不是mesh-based的方法的surface deformations表面变形
        • 变形的是entire space,和camera view无关;因此可以做novel view synthesis
      • 📌 场景变形表征为ray bending;是互补的路线,instead of 从canonical volume变形到直线camera ray上,本篇是从camera ray上的点变形到canonical volume中
        • 笔者评价:前面两点和DIF, DIT两篇论文的设定都十分类似
        • ray bending 用MLP参数化
          • 输入射线上的点坐标;输入**每张图片(per-time-step)**的一个latent code
          • 变形code是每帧一个code
      • 从视频场景的几何中解耦变形是一种under-constrained问题;
        • 在canonical volume中的每一个点分配一个刚性评分;使得变形不影响场景的静态区域
          • 这个同样也是联合训练,没有直接监督信号
        • 引入sparsity regularizer作为软约束
          • 加权了;主要鼓励在visible, occupied regions的sparsity
        • 引入local shape preserving regularizer,试图保留变形场景的局部volume,通过最小化变形的divergence散度
          • 加权了;hidden regions则被散度正则化约束
  • NeRF:去掉了view-depend 效应的NeRF

deformation model 变形的模型:ray bending / space warping

  • 回归空间中一点在变形code condition下的offset:即,是displacement vector field估计的是位移向量场函数
    • \((c,o)=v(x+b(x,l_i))\) ,其中 \(b(x,l_i)\) 是变形后的在canonical space下的坐标, \(l_i\) 是变形code, \(v\) 是canonical NeRF函数
    • 把每条直线 \(\overline{r}\) 变形后的版本表示为 \(\tilde{\rm r}_{l_i}(j)=\overline{\rm r}(j)+b(\overline{\rm r}(j), l_i)\)
  • rigidity network 刚性网络
    • 实践中发现场景的刚性部分没有被充足地约束;
    • \(b(x,l_i)\) 表达为一个raw offset + rigidity mask: \(b(x,l_i)=r(x)b'(x,l_i)\)
    • 想要防止在场景中的刚性区域也变形,因此这些地方刚性mask \(r(x)=0\) ,而在非刚性区域 \(r(x)\gt 0\)
    • 这使得b能够更专注于场景中的非刚性区域
    • 📌笔者评价:
      • 这里的思路和DIF论文中的位置改变函数和标量场改变函数有些类似;整个场景并不都有变形,在DIF中的情况是物体有时候会有structure discrepancy在结构上的不同、无法用变形建模,而在本篇中的情况是整个空间区域中只有一部分是非刚体;
      • 思路都是类似的,instead of 直接对整个场景变形,多用一个量来反馈一些其他的非变形的信息
    • 这个rigidity network同canonical nerf、变形code变形网络一起,都是jointly learned

losses

考虑单个时间步 \(i\) ,单条直线ray \(\overline{\rm r}\)
射线上在均匀采样\(j \in [j_n, j_f]\) 处的coarse ray points \(\overline{C}=\{ \overline{\rm r}(j) \}_{j\in C}\)
射线上在importance sampling重要度采样\(j\) 处的fine ray points \(\overline{F}=\{\overline{\rm r}(j) \}_{j \in F}\)
对于一个隐变形code \(l\) ,弯曲后的射线 \(\tilde{\rm r}_l\) 给出 \(\tilde{C}=\{ \tilde{\rm r}(j) \}_{j \in C}\)\(\tilde{F}=\{\tilde{\rm r}(j) \}_{j \in F}\)

  • 📌 既用均匀采样的coarse points,也用重要度采样的fine points

reconstruction loss 重建loss

  • \(L_{data}=\lVert c_{c}(\tilde{C}) - \hat{c}({\rm r}) \rVert_2^2 + \lVert c_f(\tilde{C} \cup \tilde{F}) - \hat{c}({\rm r}) \rVert_2^2\)
  • 其中 \(\hat{c}({\rm r})\) 是颜色真值

offset loss 通过sparsity loss约束变形的Offset:希望Offset场在空间中是稀疏的

  • 希望空气是compressible可压缩的、不阻碍最优化过程,对每个点用其occupancy占用度加权
  • 然而,这还是会对hidden ray points加很大的权;导致渲染novel views时存在严重的artifacts;因此额外用visibility可见性加权
  • \(L_{offsets}=\frac{1}{\lvert C \rvert} \underset{j\in C}{\sum}w_j \cdot \left( \Vert b'(\overline{\rm r}(j),l) \rVert_2 \; + \; \omega_{\rm rigidity}r(\overline{\rm r}(j)) \right)\)
  • 注意,罗马体的 \(\rm r\) 代表射线, \(\overline{\rm r}(j)\) 是直线ray上的一点,斜体的 \(r\) 代表rigidity network
  • 每个点都用visibility、occupancy加权: \(w_j=V(j) \cdot o(\tilde{\rm r}(j))\) ;⚠️并不会对 \(w_j\) 反向传播
  • 这个Loss有两个优势:
    • 梯度和offset的大小无关,或大或小的offsets/motions被同等对待;不像L2 loss那样
      • Q: what?
        • A: 代码中是 torch.norm(offsets, dim=-1)
          Frobenius Norm(matrix) / L2-norm(vector);
          \(\lVert \boldsymbol{\rm A} \rVert_{F}=\sqrt{\sum_{i=1}^m \sum_{j=1}^n \lvert a_{ij} \rvert^2}\) or \(\left(\sum_{k=1}^n x_k^2 \right)^{1/2}\)
          L2-norm的梯度为: \(\nabla \|x\| = \frac{x}{\|x\|}\) ;梯度大小和x向量的模大小无关
        • A: 而L2-loss是 \(\text{loss}=\sum_{k=1}^n x_k^2\)
    • 作用相当于一个L2 loss,它鼓励的是offsets field中的稀疏性,适应本篇提到的场景

divergence loss 散度loss

  • offsets loss只约束可见区域,因此引入一个额外的散度正则化来约束hidden不可见区域
  • inpired by: CG领域中local, isometric等距/等测度 的形状保留方法,比如对表面的as-rigid-as-possible正则化或者volume preservation方法,本篇寻求在变形后仍然保留局部的shape
  • Helmholtz decomposition亥姆霍兹分解 可以把任何二阶可微分的向量场分解为 一个没有旋转(无旋度)的向量场 和 没有散度的向量场的加和;
    • Q: what?
  • 因此,通过惩罚散度,就可以鼓励向量场尽可能主要由平动和旋转和构成,有效地保留volume
  • \(L_{divergence}=\frac{1}{\lvert C \rvert} \underset{j\in C}{\sum} w'_j \cdot \lvert {\rm div}(b(\overline{\rm r}(j), l)) \rvert\)
  • 其中 \(w'_j=o(\tilde{\rm r}(j))\) 不被反向传播, \(\rm div\) 代表 \(b\) 相对于位置 \(\overline{\rm r}(j)\) 处的散度

view dependence

  • 如果要考虑对 view 方向的依赖性的话,需要考虑 view 方向的变形
  • 有两种计算方法:
    • slower and exact
      • \(\nabla_j \tilde{\rm r}(j)=\frac{\partial \tilde{\rm r}(j)}{\partial \overline{\rm r}(j)} \cdot \frac{\partial \overline{\rm r}(j)}{\partial j} = J \cdot d\)
      • 其中 \(J\)\(3 \times 3\) 的雅克比矩阵, \(d\) 是直线射线的方向
      • 通过3个方向传播来计算 \(J\) ,比较耗时
    • faster and approximate
      • 通过有限差分来近似弯曲后的ray的方向

results

  • https://longtimenohack.com/posts/paper_reading/2020arxiv_tretschk_non/image-20210114104442878.png
<nerfies> Deformable neural radiance fields
 

Motivation

  • 为NeRF采集的图片中的物体可以变形

Overview

  • 首先从observation space加上一个变形latent code映射到canonical space,然后再canonical space下进行NeRF的操作
  • 这样通过变形latent code就可以捕捉到物体的变形
    https://longtimenohack.com/posts/paper_reading/2020arxiv_park_deformable/image-20201221094736917.png

Elastic Regularization 弹性正则化

  • 由于deformation field 引入了额外的ambiguities,导致under-constrained optimization欠约束最优化问题,带来不好的结果和artifacts
    需要引入先验
  • https://longtimenohack.com/posts/paper_reading/2020arxiv_park_deformable/image-20201221095628241.png
  • 在几何处理和图形学仿真领域,建模非刚体变形时,常常使用弹性能量elastic enegies 来建模local deformations from a rigid motion;在视觉领域也有利用elastic energy来重建、tracking非刚体的场景和物体;因此使用类似概念
  • 对本篇的deformation field T来说,一个点 \(\boldsymbol{\rm x}\) 处的mapping(从observation frame到canonical frame)的Jacobian \(\boldsymbol{\rm J}_T(\boldsymbol{\rm x})\) 描述了这个点处的mapping的best linear approximation
  • \(L_{\text{elastic}} = \| \log \boldsymbol{\Sigma} - \log \boldsymbol{\rm I} \|_F^2=\|\log \boldsymbol{\Sigma}\|_F^2\)
  • 其中,考虑把 \(\boldsymbol{\rm J}_T\) 进行singular value decomposition 奇异值分解\(\boldsymbol{\rm J}_T=\boldsymbol{\rm U}\boldsymbol{\rm \Sigma}\boldsymbol{\rm V}^T\)
  • \(\boldsymbol{\Sigma}\) 即为变形的主拉伸;
  • 选择 \(\log{\boldsymbol{\Sigma}}\) 矩阵对数是因为对于相同比例的 contractionexpansion 有相同的weight
  • 这里就是惩罚变形的拉伸部分、非刚性形变部分,鼓励局部是刚性形变
D-nerf: Neural radiance fields for dynamic scenes
 
目录
<NSFF> Neural scene flow fields for space-time view synthesis of dynamic scenes
 
目录
<video-nerf> Space-time neural irradiance fields for free-viewpoint video
 
目录
<nerflow> Neural radiance flow for 4d view synthesis and video processing
 
目录