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. day02 web主流框架

    day02 web主流框架 今日内容概要 手写简易版本web框架 借助于wsgiref模块 动静态网页 jinja2模板语法 前端.web框架.数据库三种结合 Python主流web框架 django ...

  2. Hadoop fs.copyToLocalFile错误

    fs.copyToLocalFile(new Path("/study1/1.txt"), new Path("C:/Users/Administrator/Deskto ...

  3. oracle 拆分字符串

    WITH t AS (SELECT '1-2-3-4' a FROM dual)SELECT Regexp_Substr(a, '[^-]+', 1, LEVEL) i FROM tCONNECT B ...

  4. [学习总结]8、android 自定义控件 使用declare-styleable进行配置属性(源码角度)

    declare-styleable:declare-styleable是给自定义控件添加自定义属性用的. 官方的相关内部控件的配置属性文档:http://developer.android.com/r ...

  5. mybatis错误 Mapped Statements collection does not contain value for

    java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for 在unit里测试 ...

  6. redis入门到精通系列(九):redis哨兵模式详解

    (一)哨兵概述 前面我们讲了redis的主从复制,为了实现高可用,会选择一台服务器作为master,多台服务器作为slave.现在有这样一种情况,master宕机了,这时系统会选择一台slave作为m ...

  7. 3.1 go context代码示例

    context.WithCancel返回两个有关联的对象,ctx与cancel,调用cancel发送一个空struct给ctx,ctx一旦接收到该对象后,就终止goroutine的执行;ctx是线程安 ...

  8. Redis | 第12章 Sentinel 哨兵模式《Redis设计与实现》

    目录 前言 1. 启动并初始化 Sentinel 2. Sentinel 与服务器间的默认通信 2.1 获取主服务器信息 2.2 获取从服务器信息 2.3 向主服务器和从服务器发送信息 3. 接受来自 ...

  9. Web容器(tomcat服务器)处理JSP文件请求的三个阶段

    Web容器(tomcat服务器)处理JSP文件请求的三个阶段 翻译:编写好的jsp文件被web容器中的jsp引擎转换成java源码. 编译:翻译成java源码的jsp文件会被编译成可被计算机执行的字节 ...

  10. Mysql解决主从慢同步问题

    目录 一.简介 为何有延迟 二.观察 三.解决办法 参数 多线程 组提交 一.简介 一般主从复制,有三个线程参与,都是单线程:Binlog Dump(主) ----->IO Thread (从) ...