Mildenhall B., Srinivasan P. P., Tancik M., Barron J. T., Ramamoorthi R. and Ng R. NeRF: representing scenes as neural radiance fields for view synthesis. In European Conference on Computer Vision (ECCV), 2020.

通过MLP和不同视角的2D图像拟合3Dshape: 引入了positional encoding, 用于捕获高频信息.

主要内容

假设\(\bm{x} = (x, y, z)\)表示一个3D图的位置坐标, \(\bm{d}=(\theta, \phi)\)为观看(拍摄?)角度, 我们希望拟合一个MLP\(F_{\Theta}\)将这个5维的向量映射为该3D物体在\((x, y, z, \theta, \phi)\)处的颜色\(\bm{c}=(r, g, b)\)加上体密度\(\sigma\).

训练的监督信息是不同视角的2D图片, 以及其拍摄的参数.

所以, 对于每一张2D图片可以获得:

\[C(r) = \int_{t_n}^{t_f} T(t) \sigma(\bm{r}(t)) \bm{c}(\bm{r}(t), \bm{d}) \mathrm{d}t,
\]

注: 这些个\(C(r)\)以及体密度之类概念不明白, 看这篇文章只是为了看看positional encoding 怎么发挥作用的, 感兴趣的请回看原文.

对于\(F_{\Theta}\)我们可以估计出:

\[\hat{C}(\bm{r}) = \sum_{i=1}^N T_i (1 - \exp(-\sigma_i \delta_i)) \bm{c}_i,
\]

通过下列损失来更新

\[\mathcal{L} = \sum_{\bm{r}} [\|\hat{C}_c (\bm{r}) - C(\bm{r})\|_2^2 + \|\hat{C}_f (\bm{r}) - C(\bm{r})\|_2^2].
\]

positional encoding

在\((\bm{x}, \bm{d})\)在被喂入\(F_{\Theta}\)之前, 对其进行一个预处理(entry-wise):

\[\gamma(p) = (\sin (2^0 \pi p), \cos (2^0\pi p), \cdots, \sin (2^{L-1}\pi p), \cos(2^{L-1}\pi p)).
\]

\(\gamma (p)^T \gamma(p')\)仅和\(p-p'\)有关? 所以编码了相对信息?

额外的细节

\(\bm{c}\)是视角依赖的, 但是\(\sigma\)不是. 即:

  1. \(\bm{x}\)首先通过一个子网络得到\(\sigma\)和特征\(f\);
  2. 特征\(f\)加上\(\bm{d}\)一起通过另一个子网络得到\(\bm{c}\).

本文还用到了类似重要性的技巧, 不多赘诉了.

代码

原文代码

pytorch3d

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis的更多相关文章

  1. 简单盘点 CVPR2020 的图像合成论文

    前言 本文将简单盘点在 CVPR2020 上的图像合成方面的论文,然后给出下载地址以及开源代码 github(如果有开源). 原文:https://evgenykashin.github.io/202 ...

  2. 深度神经网络入门教程Deep Neural Networks: A Getting Started Tutorial

    Deep Neural Networks are the more computationally powerful cousins to regular neural networks. Learn ...

  3. ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)

    IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017. IEE ...

  4. cvpr2015papers

    @http://www-cs-faculty.stanford.edu/people/karpathy/cvpr2015papers/ CVPR 2015 papers (in nicer forma ...

  5. Official Program for CVPR 2015

    From:  http://www.pamitc.org/cvpr15/program.php Official Program for CVPR 2015 Monday, June 8 8:30am ...

  6. 2016CVPR论文集

    http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...

  7. CVPR2016 Paper list

    CVPR2016 Paper list ORAL SESSIONImage Captioning and Question Answering Monday, June 27th, 9:00AM - ...

  8. CVPR 2017 Paper list

    CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...

  9. Video processing systems and methods

    BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...

随机推荐

  1. db9串口接头的定义

    这个接头都是以公头为准,所有接头还是以公头去记. RS-232端(DB9公头/针型)引脚定义 2: RXD 3:TXD 5:GND 1/4/6:内部相链接 7/8   :内部相链接 1.RS-232端 ...

  2. 【Git项目管理】分布式 Git - 分布式工作流程

    分布式 Git - 分布式工作流程 你现在拥有了一个远程 Git 版本库,能为所有开发者共享代码提供服务,在一个本地工作流程下,你也已经熟悉了基本 Git 命令.你现在可以学习如何利用 Git 提供的 ...

  3. MyBatis(3):优化MyBatis配置文件

    一.连接数据库的配置单独放在一个properties文件中 1,创建一个database.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql: ...

  4. Dubbo服务分组

    服务分组与多版本控制的使用方式几乎是相同的,只要将version替换为group即可.但使用目的不同.使用版本控制的目的是为了升级,将原有老版本替换掉,将来不再提供老版本的服务,所以不同版本间不能出现 ...

  5. spring的不同事务传播行为和用途。

    1.PROPAGATION_REQUIRED:如果当前没有事务,就创建一个事务,如果当前存在事务,就加入该事务,该设置是最常用的设置. 2.PROPAGATION_SUPPORTS:支持当前事务,如果 ...

  6. 拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

    参考文献:https://www.cnblogs.com/sddai/p/5728195.html 在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush ...

  7. 什么是token?

    一.简介 token的意思是"令牌",是服务端生成的一串字符串,作为客户端进行请求的一个标识. 当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端 ...

  8. Nginx编译添加新模块

    目录 一.简介与思路 一.简介与思路 当前适用于nginx已经在安装过了,如果没安装过,直接在编译时候添加模块即可. Nginx主要程序就是nginx这个二进制脚本,只要在编译一个nginx脚本替换掉 ...

  9. Python绘制面积图

    一.Python绘制面积图对应代码如下图所示 import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams['font.sans ...

  10. 从头造轮子:asyncio之 run_until_complete (1)

    前言 今天开始聊一聊python3的asyncio.关于asyncio,大家肯定都有自己的理解,并且网上大神也把基础概念也解释的比较透彻. 本文写作的初衷,主要是理解asyncio的原理并且实现一遍. ...