0

0

初学者必备,NeRF学习笔记洞察一切!

WBOY

WBOY

发布时间:2023-12-26 13:05:33

|

1326人浏览过

|

来源于51CTO.COM

转载

神经辐射场究竟是什么

辐射场:由光源发出的光线在场景中的传播和反射过程中所形成的能量分布。通俗来说就是一个函数,记录了空间某个位置处向某个方向的辐射信息,辐射信息(或者说能量分布)其实就是颜色、亮度、阴影等信息。这里的方向需要额外留意,它是nerf实现真实重建的重要因素之一!

纯小白入门,开山之作NeRF学习笔记!

由此引出神经辐射场的概念。
神经辐射场:用神经网络储存空间位置向任意方向的辐射。原文中的描述如下:

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

纯小白入门,开山之作NeRF学习笔记!

更加规范的公式表达如下:

纯小白入门,开山之作NeRF学习笔记!

输入3D位置(x,y,z)和2D的视角方向(),输出是颜色和体密度

NeRF具体的网络结果参考原文如下:

纯小白入门,开山之作NeRF学习笔记!

  • 3D坐标x输入第一个网络fσ,包含8层全连接层,每层256个神经元,ReLU激活;
  • 网络fσ输出体密度σ和一个256维向量,该向量与视角方向d送入fc(一层,128通道,ReLU激活)预测RGB;

纯小白入门,开山之作NeRF学习笔记!

由上面可知,NeRF是隐式建模,因为模型是储存在MLP里面的,模型就是MLP的参数,这和以往点云和mesh建模不同(点云/mesh是可以直接看到模型的)。NeRF必须查询一个个的三维点,然后渲染成一章图像。这种查看方式或者说渲染方式就叫体渲染。

在看体渲染之前。我们先看一下网络的效果如何:

纯小白入门,开山之作NeRF学习笔记!

可以看出,不同视角下颜色是不同的!这是NeRF相对于传统重建非常重要的优势之一~

NeRF的核心:体渲染

下面进入NeRF的第二个核心要点——体渲染。体渲染就是用来将颜色和密度渲染成2D图像的方法!

纯小白入门,开山之作NeRF学习笔记!

示意图如下:图a展示了从相机光心位置发出射线,射线上有采样点,将采样点和方向送入MLP获得颜色和体密度。图c展示的的就是沿射线的体密度分布曲线,是通过采样获得的,对曲线进行积分就能获得像素的颜色。这个过程就是体渲染

纯小白入门,开山之作NeRF学习笔记!

总结一下体渲染步骤:

  • 从相机光心发出穿透每个像素的射线,射线上取三维采样点;
  • 将采样点坐标和视角方向送入MLP计算颜色和体密度;
  • 按体密度积分(堆叠)颜色信息,形成2D图像

纯小白入门,开山之作NeRF学习笔记!

体渲染的公式如下:

纯小白入门,开山之作NeRF学习笔记!

当然实际使用的是离散版本公式:

纯小白入门,开山之作NeRF学习笔记!

Memories.ai
Memories.ai

专注于视频解析的AI视觉记忆模型

下载

隐式重建流程

在讲完神经辐射场和体渲染后,现在开始完整的重建流程~

在形成一个完成的pipeline之前,还有以下两个问题需要解决:

纯小白入门,开山之作NeRF学习笔记!

为了解决上述两个问题,NeRF提出了位置编码和分层采样过程

位置编码:纯小白入门,开山之作NeRF学习笔记!

论文直观展示了位置编码的效果对比:纯小白入门,开山之作NeRF学习笔记!

可以看出,去掉位置编码,模型无法表达高频的几何和纹理信息~

多层采用:

纯小白入门,开山之作NeRF学习笔记!

训练流程如下:

纯小白入门,开山之作NeRF学习笔记!

实验和总结

评价指标:

纯小白入门,开山之作NeRF学习笔记!

实验设置:

纯小白入门,开山之作NeRF学习笔记!

实验结果可以看出,各种材质的小球上面的散光也可以很好的表现出来~

纯小白入门,开山之作NeRF学习笔记!

纯小白入门,开山之作NeRF学习笔记!

消融实验:

纯小白入门,开山之作NeRF学习笔记!

总结

文提出的神经辐射场,从相机光心发出穿过像素的采样射线,在射线上取点,将其三维位置和视角方向用一个MLP映射到体密度和颜色,然后用体渲染堆叠采样射线上的体密度和颜色,获得像素值。像素值与GT图像求误差后反向传播,优化MLP参数。本文用这样的隐式重建方法实现了照片级的具有真实感的模型重建和渲染。

缺陷:

  • 渲染、训练速度慢;
  • 对视角数量和分布有较高要求;
  • 难以拓展到有背景的或者较大的场景。

纯小白入门,开山之作NeRF学习笔记!

原文链接:https://mp.weixin.qq.com/s/ctDBTaLWuHTM9MONrAor4g

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

393

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

574

2023.08.10

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023

2024.08.16

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

56

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

28

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

385

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

116

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 9.1万人学习

Rust 教程
Rust 教程

共28课时 | 4.7万人学习

Vue 教程
Vue 教程

共42课时 | 6.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号