NeRF必读五:NeRF in the wild

这篇具有很好参考价值的文章主要介绍了NeRF必读五:NeRF in the wild。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

NeRF从2020年发展至今,仅仅三年时间,而Follow的工作已呈井喷之势,相信在不久的将来,NeRF会一举重塑三维重建这个业界,甚至重建我们的四维世界(开头先吹一波)。NeRF的发展时间虽短,有几篇工作却在研究领域开始呈现万精油趋势:

  • PixelNeRF----泛化法宝
  • MipNeRF----近远景重建
  • NeRF in the wild----光线变换下的背景重建
  • NeuS----用NeRF重建Surface
  • Instant-NGP----多尺度Hash编码实现高效渲染

本篇是NeRF必读系列的最后一篇:NeRF in the Wild. 该篇主打一个Appearance Embedding, 由于该方法在生活场景中的普适性被大范围的使用,可以说再以后NeRF的文章中,NeRF-W将成为一篇难以避开的引用文章。
NeRF必读五:NeRF in the wild
先插一句题外话,现在各行各业都流行一个通用的Framework, 例如搞detection的都有MMCV,MMDETECTION。基于Framework可以快速迭代自己的idea,在知识迅速爆炸的今天,学会各行各业的框架可谓是至关重要!所以在结束本期的paper解析之后,我将开启NeRFStudio系列的解析文章,开始NeRF领域的迅速迭代之旅!在此奉上NeRFStudio的pipeline,可以发现大部分文章我们都已经在前文中学习,仅剩下NeRF-W以及NeRF减减没有解析。下面补齐这两篇。
NeRF必读五:NeRF in the wild

NeRF-W Main Contributions

  1. Appearance Variations Embedding: 户外场景下被重建物体的曝光度,光线,季节、天气等的变换都会影响物体给出的appearance, 作者构造了一个Embedding层用来表征 ∇ V a p p r e a r a n c e \nabla V_{apprearance} Vapprearance的低维描述
  2. Transient Embedding:作者利用将一张图像分解为场景共享部分(shared elements)和依赖于图像的瞬息部分(transient elements,如名胜古迹照的游客),并利用一个Transient Embedding层无监督地将这两个部分分解开来。具体的pipeline 如下:
    NeRF必读五:NeRF in the wild

经典Volumetric Rendering:

C ^ ( r ) = R ( r , c , σ ) = ∑ k = 1 K T ( t k ) α ( σ ( t k ) δ k ) c ( t k ) where  T ( t k ) = e x p ( − ∑ k ′ = 1 k − 1 σ ( t k ′ δ k ′ ) ) , \hat{\mathbf{C}}(\mathbf{r})=\mathcal{R}(\mathbf{r, c},\sigma)=\sum^{K}_{k=1}T(t_k)\alpha(\sigma(t_k)\delta_k)\mathbf{c}(t_k)\\ \text{where} \space T(t_k)=exp(-\sum^{k-1}_{k'=1}\sigma(t_{k'}\delta_{k'})), C^(r)=R(r,c,σ)=k=1KT(tk)α(σ(tk)δk)c(tk)where T(tk)=exp(k=1k1σ(tkδk)),
写成MLP的表达式如下:

[ σ ( t ) , z ( t ) ] = M L P θ 1 ( γ x ( r ( t ) ) ) c ( t ) = M L P θ 2 ( z t , γ d ( d ) ) \begin{aligned} [\sigma(t),\bf{z}(t)]=MLP_{\theta_1}(\gamma_{\bf{x}}(\bf{r}(t))) \\ \bf{c}(t)=MLP_{\theta_2}(\bf{z}_t,\gamma_d(d)) \end{aligned} [σ(t),z(t)]=MLPθ1(γx(r(t)))c(t)=MLPθ2(zt,γd(d))

作者为了强调 σ ( t ) \sigma(t) σ(t)与观测角度无关,额外输出了隐变量 z ( t ) \mathbf{z}(t) z(t),做为根据 ( x , d ) \mathbf{(x,d)} (x,d)生成color的condition。
最后是Coarse And Fine Loss:
∑ i j ∥ C ( r i j ) − C ^ c ( r i j ) ∥ 2 2 + ∥ C ( r i j ) − C ^ f ( r i j ) ∥ 2 2 \sum_{ij}\Vert \bf{C}(\bf{r}_{ij}) -\bf{\hat{C}^c}(\bf{r}_{ij}) \Vert^2_{2}+\Vert \bf{C}(\bf{r}_{ij}) -\bf{\hat{C}^f}(\bf{r}_{ij}) \Vert^2_{2} ijC(rij)C^c(rij)22+C(rij)C^f(rij)22
以上便是经典的NeRF操作,下面作者开始介绍作者的魔改:

Latent Appearance Modeling

这一段在论文中4.1节,非常简约,作者给每张image分配了一个关联的隐编码 l i ( a ) \mathcal{l}^{(a)}_i li(a), l i ( a ) \mathcal{l}^{(a)}_i li(a)会随着训练被优化,优化后的公式如下:
C ^ i ( r ) = R ( r , c , σ ) c i ( t ) = M L P θ 2 ( z t , γ d ( d ) , l i ( a ) ) \hat{\mathbf{C}}_i(\mathbf{r})=\mathcal{R}(\mathbf{r, c},\sigma)\\ \bf{c}_i(t)=MLP_{\theta_2}(\bf{z}_t,\gamma_d(d),\mathcal{l}^{(a)}_i) C^i(r)=R(r,c,σ)ci(t)=MLPθ2(zt,γd(d),li(a))
关于 l i ( a ) \mathcal{l}^{(a)}_i li(a)的故事我会在后面详细述说,感兴趣的读者可以三连,点赞破10我加班更新,扑哧~

Transient Objects

瞬息物体对我们需要渲染的主体部分进行了遮挡,因此最后渲染图片的颜色也应该是不同的,作者按照这个思路增加了一个MLP, 并给出了改进后的渲染公式:
C ^ ( r ) = ∑ k = 1 K T ( t k ) ( α ( σ ( t k ) δ k ) c ( t k ) + α ( σ i ( τ ) ( t k ) δ k ) c i ( τ ) ( t k ) ) where  T i ( t k ) = e x p ( − ∑ k ′ = 1 k − 1 ( σ ( t k ′ ) + σ i ( τ ) ( t k ′ ) ) δ k ′ ) \hat{\mathbf{C}}(\mathbf{r})=\sum^{K}_{k=1}T(t_k)(\alpha(\sigma(t_k)\delta_k)\mathbf{c}(t_k)+\alpha(\sigma^{(\tau)}_i(t_k)\delta_k)\mathbf{c}^{(\tau)}_i(t_k))\\ \text{where} \space T_i(t_k)=exp(-\sum^{k-1}_{k'=1}(\sigma(t_{k'})+\sigma^{(\tau)}_i(t_{k'}))\delta_{k'}) C^(r)=k=1KT(tk)(α(σ(tk)δk)c(tk)+α(σi(τ)(tk)δk)ci(τ)(tk))where Ti(tk)=exp(k=1k1(σ(tk)+σi(τ)(tk))δk)
至此便能刻画出在存在Transient Objects的情况下,Volumetric Rendering的过程了,但作者并没有到此为止,更进一步的优化了Loss的分配比重。对于始终都是静态的图像区域,color的分布方差肯定较小,而transient objects较多的区域,color分布的方差会比较大,对于梯度的方向当然要多给跟方差变化较小的区域~
根据此思路,作者选择在渲染过程中直接估计方差 β ^ i ( r ) = R ( r , β i , σ i τ ) \hat{\beta}_i(\mathbf{r})=\mathcal{R}(\mathbf{r},\beta_i,\sigma^{\tau}_i) β^i(r)=R(r,βi,σiτ)

经过上述讨论,构建 MLP θ 3 \text{MLP}_{\theta_3} MLPθ3如下所示:
[ σ i ( τ ) ( t ) , c i ( τ ) ( t ) , β ~ i ( t ) ] = MLP θ 3 ( z ( t ) , l i ( τ ) ) β i ( t ) = β m i n + l o g ( 1 + e x p ( β ~ i ( t ) ) ) [\sigma^{(\tau)}_i(t),\mathbf{c}^{(\tau)}_i(t),\tilde{\beta}_i(t)]=\text{MLP}_{\theta_3}(\mathbf{z}(t),\mathcal{l}^{(\tau)}_i)\\ \beta_i(t)=\beta_{min}+log(1+exp(\tilde{\beta}_i(t))) [σi(τ)(t),ci(τ)(t),β~i(t)]=MLPθ3(z(t),li(τ))βi(t)=βmin+log(1+exp(β~i(t)))
其中下式的意义是将输出从 ( − ∞ , + ∞ ) (-\infty,+\infty) (,+)映射到 ( 0 , + ∞ ) (0,+\infty) (0,+),作者把上述loss构造给了fine model,而coarse model还是使用了经典loss
L i ( r ) = ∥ C i ( r ) − C ^ i ( r ) ∥ 2 2 2 β i ( r ) 2 + l o g β i ( r ) 2 2 + λ μ K ∑ k = 1 K σ i ( τ ) ( t k ) L t o t a l = ∑ i j L i ( r i j ) + 1 2 ∥ C ( r i j ) − C ^ i c ( r i j ) ∥ L_i(\bm{r})=\frac{\Vert\bm{C}_i(\bm{r})-\hat{\bm{C}}_i(\bm{r})\Vert^2_2}{2\beta_i(\bm{r})^2}+\frac{log\beta_i(\bm{r})^2}{2}+\frac{\lambda_\mu}{K}\sum^K_{k=1}\sigma^{(\tau)}_i(t_k)\\ L_{total}=\sum_{ij}L_i(\bm{r}_{ij})+\frac{1}{2}\Vert C(\bm{r}_{ij})-\hat{C}^c_i(\bm{r}_{ij})\Vert Li(r)=2βi(r)2Ci(r)C^i(r)22+2logβi(r)2+Kλμk=1Kσi(τ)(tk)Ltotal=ijLi(rij)+21C(rij)C^ic(rij)

参考文献

Martin-Brualla, Ricardo, et al. “Nerf in the wild: Neural radiance fields for unconstrained photo collections.” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.文章来源地址https://www.toymoban.com/news/detail-422743.html

到了这里,关于NeRF必读五:NeRF in the wild的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Blindly Assess Image Quality in the Wild Guided by ASelf-Adaptive Hyper Network

    真实失真图像的盲图像质量评估(BIQA)一直是一个具有挑战性的问题,因为在野外采集的图像包含各种各样的内容和各种类型的失真。目前绝大多数的BIQA方法都专注于如何预测合成图像的质量,但当应用于真实世界的失真图像时却失败了。为了应对这一挑战,我们提出了一种自

    2024年02月09日
    浏览(41)
  • 体渲染光线行进算法【NeRF必读】

    为了积分由于内散射而沿射线产生的入射光,我们将射线穿过的体块分解为小体块元素,并将每个小体块元素对整个体块对象的贡献结合起来,有点像我们在 2D 编辑软件(例如 Photoshop)中将带有遮罩或 Alpha 通道(通常代表对象的不透明度)的图像彼此堆叠在一起。 这就是我

    2024年02月15日
    浏览(36)
  • NeRF必读:Instant-NGP----RTX3090单卡就能玩转NeRF

    NeRF从2020年发展至今,仅仅三年时间,而Follow的工作已呈井喷之势,相信在不久的将来,NeRF会一举重塑三维重建这个业界,甚至重建我们的四维世界(开头先吹一波)。NeRF的发展时间虽短,有几篇工作却在我研究的领域开始呈现万精油趋势: PixelNeRF----泛化法宝 MipNeRF----近远

    2024年02月09日
    浏览(25)
  • NeRF必读:NeuS--三维重建的milestone以及脑补的作者脑回路

    NeRF从2020年发展至今,仅仅三年时间,而Follow的工作已呈井喷之势,相信在不久的将来,NeRF会一举重塑三维重建这个业界,甚至重建我们的四维世界(开头先吹一波)。NeRF的发展时间虽短,有几篇工作却在我研究的领域开始呈现万精油趋势: PixelNeRF----泛化法宝 MipNeRF----近远

    2024年02月09日
    浏览(27)
  • 【NeRF】背景、改进、应用与发展

    推荐阅读: Neural Fields in Visual Computing and Beyond[1] State of the art on neural rendering[2] NeRF Explosion 2020 awesome-NeRF 主要参考文献:https://zhuanlan.zhihu.com/p/512538748 GIRAFFE[12]再次凭借隐式表示中的物体编辑和组合获得CVPR2021年的best paper 。 3D场景表征可分别为: 显式 (explicit representaion)

    2024年02月05日
    浏览(28)
  • 【人工智能】NLP自然语言处理领域发展史 | The History of Development in Natural Language Processing (NLP) Field

    自然语言处理(Natural Language Processing,NLP)是人工智能(AI)领域的重要分支,旨在让计算机能够理解、处理和生成自然语言,如英语、汉语等。本文将介绍NLP领域的发展历史和里程碑事件。

    2024年02月07日
    浏览(50)
  • 【计算机网络】——前言计算机网络发展的历程概述

     ========================================================================= 主页点击直达: 个人主页 我的小仓库: 代码仓库 C语言偷着笑: C语言专栏 数据结构挨打小记: 初阶数据结构专栏 Linux被操作记: Linux专栏 LeetCode刷题掉发记: LeetCode刷题 算法: 算法专栏  C++头疼记: C++专栏 计算

    2024年02月08日
    浏览(39)
  • 【C++初阶】前言——C++的发展简述及学习方法分享

     ========================================================================= 主页点击直达: 个人主页 我的小仓库: 代码仓库 C语言偷着笑: C语言专栏 数据结构挨打小记: 初阶数据结构专栏 Linux被操作记: Linux专栏 LeetCode刷题掉发记: LeetCode刷题 算法: 算法专栏  C++头疼记: C++专栏 ====

    2024年02月08日
    浏览(50)
  • Rx.NET in Action 中文介绍 前言及序言

    目标 可选方式 Rx 处理器(Operator) 创建 Observable Creating Observables 直接创建 By explicit logic Create Defer 根据范围创建 By specification Range Repeat Generate Timer Interval Return 使用预设 Predefined primitives Throw Never Empty 从其他类型创建 From other types FromEventPattern FromEvent FromTask FromAsync 变换 Transform

    2024年02月13日
    浏览(40)
  • 分叉币的发展史及价值|ETH、BCH、BSV 2020-03-08

      昨天有人问我比特币、BCH、BSV和ETH的价值,在这几个币中除了比特币,其它几个币有一个共同的特性,那就是它们都是分叉币,所以看到这个问题,我想到一个话题:分叉币的价值。   在数字货币中我们也能经常看到“分叉币”,越是知名的数字货币越容易出分叉币。那为

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包