NeRF神经网络介绍

简介: 计算机视觉5D技术,NeRF神经网络是一个简单的完全连接的网络,它被训练为使用渲染损失来再现单个场景的输入视图。

NeRF: Neural Radiance Fields简介

优化单个场景的神经表示并渲染新视图的Tensorflow实现。
NeRF:将场景表示为用于视图合成的 Neural Radiance Fields

团队介绍

  • 来自加州大学伯克利分校==Ben Mildenhall==(本·米尔登霍尔)
  • 来自加州大学伯克利分校==Pratul P. Srinivasan==(普拉图尔·斯里尼瓦桑)
  • 来自加州大学伯克利分校==Matthew Tancik==(马修·坦西克)
  • 来自谷歌研究Jonathan T. Barron( 乔纳森·巴伦)
  • 来自加州大学圣地亚哥分校Ravi Ramamoorthi(拉维·拉马穆尔蒂)
  • 来自加州大学伯克利分校Ren Ng( 吴义仁)

黄色底为表示同等贡献
在ECCV 2020年(口头陈述,最佳论文荣誉奖)

在这里插入图片描述

快速入门

要设置conda环境,请下载示例培训数据,开始培训过程,并启动Tensorboard:

conda env create -f environment.yml
conda activate nerf
bash download_example_data.sh
python run_nerf.py --config config_fern.txt
tensorboard --logdir=logs/summaries --port=6006

如果一切正常,您现在可以进入localhost:6006在你的浏览器里观看“Fern”场景训练。

设置

Python 3依赖性:

  • Tensorflow 1.15
  • matplotlib
  • numpy
  • imageio
  • configargparse

LLFF数据加载器需要ImageMagick。

我们提供了一个conda环境设置文件,包括上述所有依赖项。创造conda环境nerf通过运行:

conda env create -f environment.yml

你还需要LLFF code(和COLMAP)建立评估姿态,如果你想在自己的真实数据上运行。

什么是NeRF?

Neural Radiance Fields是一个简单的完全连接的网络(权重约为5MB ),它被训练为使用渲染损失来再现单个场景的输入视图。该网络直接从空间位置和观察方向(5D输入)映射到颜色和不透明度(4D输出),充当“体积”,因此我们可以使用体积渲染来有区别地渲染新视图。
优化一个NeRF需要几个小时到一两天的时间(取决于分辨率),并且只需要一个GPU。从优化的NeRF渲染一幅图像需要不到一秒到30秒的时间,这也取决于分辨率。

运行代码

这里我们展示了如何在两个示例场景中运行我们的代码。您可以下载论文中使用的其他合成和真实数据。

优化NeRF

启动程序

bash download_example_data.sh

来获取我们的合成乐高数据集和LLFF Fern数据集。

若要优化低分辨率Fern NeRF:

python run_nerf.py --config config_fern.txt

经过20万次迭代(大约15个小时),应该可以在logs/fern_test/fern_test_spiral_200000_rgb.mp4
在这里插入图片描述
要优化低分辨率乐高NeRF:

python run_nerf.py --config config_lego.txt

经过20万次迭代后,您应该会看到这样的视频:
在这里插入图片描述

渲染一个NeRF

启动程序

bash download_example_weights.sh

为Fern数据集获得一个预训练的高分辨率NeRF。现在您可以使用render_demo.ipynb来呈现新的视图。

复制纸质结果

示例配置文件的分辨率低于论文和视频中的定量/定性结果。要复制论文中的结果,从中的配置文件开始paper_configs/。我们的合成搅拌机数据和LLFF场景托管深度体素数据由文森特·西兹曼主持。

从NeRF中提取几何体

检验extract_mesh.ipynb例如,运行行进立方体来从训练好的NeRF网络中提取三角形网格。你需要安装皮姆库斯用于行进立方体和的包三角形网线图和pyrender如果要渲染笔记本内部的网格,请执行以下操作:

pip install trimesh pyrender PyMCubes

为自己的场景生成姿势

不摆姿势?

我们建议使用imgs2poses.py脚本来自LLFF电码。然后,您可以使用以下命令将基本场景目录传递到我们的代码中--datadir <myscene>随着-dataset_type llff。你可以看看config_fern.txt前向场景使用的设置示例。对于球形捕捉的360°场景,我们建议添加--no_ndc --spherify --lindisp旗帜。

已经有姿势了!

在…里run_nerf.py和所有其他代码一样,我们使用与OpenGL中相同的姿态坐标系:图像的局部相机坐标系定义为X轴指向右侧,Y轴向上,Z轴从图像中看向后。

姿势存储为3x4 numpy数组,表示摄影机到世界的变换矩阵。您需要的其他数据是简单的针孔摄像机内部函数(hwf = [height, width, focal length])和近/远场景边界。看一看我们的数据加载代码去看更多。

相关文章
|
传感器 编解码 测试技术
CVPR'2023 | Nerf-Stereo: 利用NeRF来训练双目立体匹配网络的新范式!
CVPR'2023 | Nerf-Stereo: 利用NeRF来训练双目立体匹配网络的新范式!
603 0
|
6天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
44 17
|
17天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
18天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
40 10
|
19天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
46 10
|
20天前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。
|
21天前
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。
|
18天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们日常生活中不可或缺的一部分。本文将深入探讨网络安全漏洞、加密技术和安全意识等方面的问题,并提供一些实用的建议和解决方案。我们将通过分析网络攻击的常见形式,揭示网络安全的脆弱性,并介绍如何利用加密技术来保护数据。此外,我们还将强调提高个人和企业的安全意识的重要性,以应对日益复杂的网络威胁。无论你是普通用户还是IT专业人士,这篇文章都将为你提供有价值的见解和指导。
|
19天前
|
安全 算法 网络协议
网络安全与信息安全知识分享
本文深入探讨了网络安全漏洞、加密技术以及安全意识三个方面,旨在帮助读者更好地理解和应对网络安全威胁。通过分析常见的网络安全漏洞类型及其防范措施,详细介绍对称加密和非对称加密的原理和应用,并强调提高个人和企业安全意识的重要性,为构建更安全的网络环境提供指导。
34 2
|
19天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:漏洞、加密与意识的艺术
在数字世界的迷宫中,网络安全和信息安全是守护者之剑。本文将揭示网络漏洞的面纱,探索加密技术的奥秘,并强调安全意识的重要性。通过深入浅出的方式,我们将一起走进这个充满挑战和机遇的领域,了解如何保护我们的数字身份不受威胁,以及如何在这个不断变化的环境中保持警惕和适应。
34 1