收录:eccv2020

领域:主要作用于神经场渲染以及视角合成

项目主页链接:NeRF: Neural Radiance Fields

主要贡献:

1)引入了mlp预测像素颜色r以及volume density(体积密度,可以理解为不透明度,密度越大,越不透明)

2)将position encoding (高频分量)引入训练网络,增强了其在高分辨率下的表征能力。

3) 采用了层次采样的方式(为了更好的适应高分辨率的表征),先均匀采样(coase),后随机采样(fine)

缺点:

1)需要稠密的多视角图片,训练时间长

2)对于非朗伯物质,合成的质量较差,并且存在伪影问题

整个pipeline:

输入:射线上采样点的位置x,y,z,以及射线方向

输出:采样点的颜色以及体积密度(rgb,volume density),最后通过离散渲染方程得到与该条射线相交的平面像素值的颜色。

首先来熟悉一下这篇文章中最重要的公式,渲染方程(也叫反射方程,t 的近段和远端边界分别为 tn 以及 tf 。那么这条射线的颜色,则可以用积分的方式表示为(t可以理解为射线从起始点到终止点的路径):

其中 ,o表示射线原点,t表示位置或者是边界,d表示射线的方向,上述是用,这两个变量表示的;σ(t)表示光线到到路径t的终止概率;T(t) 是射线从 tn 到 t 这一段路径上的累积透明度,可以被理解为这条射线从 tn 到 t 一路上没有击中任何粒子的概率。

1)从上面公式C(r)中可以看出采样点的体积密度σ只和采样点的位置r(t)有关,但是采样点的颜色c既和位置r(t)有关,也和该处射线的方向d有关;这也验证了一个基本结论:不同方向看同一个点,颜色是不一样的;

2)T(t) 有点类似于加权的思想;假若某个采样点的前面有很多物质,那么该点的密度就会变高,随之T(t)就会变小,T(t)小,那么该采样点对整体颜色贡献就小。因为我们只关心想关心射线刚开始遇到粒子/物质的点,并不想关心它之后的点,所以这里要设置一个T(t)来降低后面采样点对整体颜色的贡献值;

3)整个C(r)就可以表示为:最终成像平面上某点的颜色值=该条射线上所有点(采样点)所辐射的颜色达到该平面的累积值;

由于计算机无法计算连续积分,所以该篇文章中将上面连续的C(r),转变成近似离散的形式,如下:

N表示采样点的数量;δi = ti+1 − ti表示为两个连续采样点之间的距离 ,其他的和上述公式中的含义一样;

关于引入高频分量

其中文中对于位置(x,y,z),L设置为10,对于方向,L设置为4;注意这里是每个变量分别输入,比如这种形式

关于采样点的采样策略(分层采样):

首先用均匀采样方式采样射线上64个点,然后由这64点的密度值估计出(PDF)密度分布函数。再使用逆采样算法集中对高密度的区域采样128点。使用该策略可以提高采样的效率,不需要对射线上所有区域都进行密集的采样,这样大大提高了效率,节省了很多训练时间。

针对上述两次采样,文中分别把这两个采样阶段当作coarse network和fine network,下面是“coarse sample”公式,N为采样数,tn为采样起始点,tf为采样终止点

并且文中先利用 coarse sample通过 coarse network 粗略的计算一下颜色,公式如下:

注意这里的​​   ​​​和上面的还不一样,上面的是在fine network 阶段使用。

fine sample中每个 PDF 定义:,Nc为 coarse sample的数目;

通过这个对每个高密度区域逆采样128个点+之前coarse sample 64个点作为 "fine network" 的输入。

损失函数构成:

由两个部分构成:一个是coarse network 输出的rgb和gt 做L2,另外一个则是fine network 输出的rgb和gt 做L2

单个场景重建的耗时:

评测数据集以及指标:

消融实验

主要对比了position encode、view dependence、hierarchical sample三个条件。

未来工作可探索的方向:

1)更高效的优化方式、以及渲染方式

2)本文所用的基础采样来自于2d像素点,能否尝试下基于voxel grid以及mesh的采样

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis相关推荐

  1. [非卷积5D中文翻译及学习笔记] 神经辐射场 NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

    不使用3D建模,使用静态图片进行训练,用(非卷积)深度网络表示场景的5D连续体表示,再通过ray marching进行渲染. 本中文翻译使用"机器学习+人工校准/注解"的方式完成. ...

  2. 【论文笔记 - NeRFs - ECCV2020】NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

    NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 0背景介绍 用神经辐射场来表征场景,用于新视角图像生成任务 ...

  3. 论文笔记:NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

    目录 文章摘要 1 Neural Radiance Field Scene Representation (基于神经辐射场的场景表示) 2 Volume Rendering with Radiance ...

  4. 文献翻译阅读-NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

    目录 信息 简介 相关工作 神经3D表示 视角合成和基于图像的渲染 方法 体渲染技术(用离散形式表示连续积分) 优化神经场的技术 位置编码 分层体积抽样 实施细节 结果 结论 参考 信息 NeRF,即 ...

  5. 【论文精读】NeRF —— 解读《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》

    NeRF的核心点是实现了复杂静态场景的隐式表达,用一个神经网络来建模. Abstract 本文提出了一种新方法,通过使用稀疏的输入视图集优化底层连续的体积场景函数,实现了合成复杂场景的新视图的SOTA ...

  6. 论文笔记NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

    NeRF使用神经网络来表示场景.给定一个场景,输入该场景一些视角的图片,NeRF可以合成该场景新视角的图片. 神经辐射场 神经辐射场(neural radiance field,NeRF)使用5D的向 ...

  7. 《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》论文精读

    Abstract 我们提出了一种方法,通过使用稀疏的输入视图集优化底层连续体场景函数,实现了合成复杂场景新视图的最先进结果.我们的算法使用全连接(非卷积)深度网络表示场景,其输入是单个连续的5D坐标( ...

  8. NeRF拜读:Representing Scenes as Neural Radiance Fields for View Synthesis

    神经辐射场 非显式地将一个复杂的静态场景用神经网络来建模.训练完成后,可以从任意视角渲染出清晰的场景图片. 过程 大量已知相机参数的图片作为输入 通过输入训练MLP神经网络,隐式地学习静态3D场景 利 ...

  9. 读论文12——NeRF:Representing Scenes as Neural Radiance Fields for View Synthesis

    目录 Abstract Introduction Related Work Neural Radiance Field Scene Representation Volume Rendering wi ...

  10. NeRF:Representing Scenes as Neural Radiance Fields for View Synthesis

    目录 简介 Pipeline 细节讲解 结果 简介 什么是NeRF?NeRF翻译为神经辐射场. 下面两句话取自于Neural Fields in Visual Computing and Beyond ...

最新文章

  1. Scrum vs Kanban,如何选择?
  2. linux nginx ssl 文件路径,linux – 如何将SSL证书从Apache服务器传输到NGINX服务器
  3. 挖掘 OSINT 金矿——实习生和社交媒体
  4. Android-gradle插件调试
  5. 深入了解DefaultMessageListenerContainer
  6. 计算机投诉信英语作文,电脑投诉信英语作文
  7. 数学--数论--组合数(卢卡斯+扩展卢卡斯)模板
  8. LeetCode MySQL 1142. 过去30天的用户活动 II
  9. MATLAB高光谱图像构建KNN图
  10. 二维码研究综述--传统图像处理方法
  11. 解含待定变量微分方程组
  12. 不生效_离婚协议签订后,对方反悔不生效,但证据价值巨大!
  13. ENVI5.3.1使用Landsat 8影像进行预处理及分析实例操作
  14. mixly 添加micropython_Mixly软件下载-Mixly(米思齐图形化编程工具)官方版下载v1.04 - 欧普软件园...
  15. c++ 的绝对值函数
  16. 用python对《三国演义》的人物出场进行统计
  17. jstack定位CPU占用率高的线程代码
  18. 浙大ZOJ 1005 Jugs问题解决
  19. ZeroTierr的moon云服务器搭建和使用
  20. 算法训练 Cowboys(DP)

热门文章

  1. Qt编写的qml程序全屏时,挡住系统虚拟键盘的解决办法
  2. 汽车知识待解决作业题
  3. react中Suspense,EventEmitter的使用
  4. 外媒评出世界十大地质奇迹
  5. 珠峰高 8848 米,一张纸 0.01 米,这张纸对折多少次后高度超过珠峰
  6. Photoshop图层混合公式
  7. Egret做微信好友排行榜
  8. 取得平均薪水最高的部门的部门编号
  9. ps的切片用来转换html,Photoshop切片导出HTML+CSS
  10. 10 个深恶痛绝的 Java 异常