NeRF三维重建—神经辐射场

news2024/11/17 5:33:20

NeRF—神经辐射场

本文介绍了三维重建相关技术,特别是神经辐射场(NeRF)的进步,它通过深度学习实现逼真的三维场景重建。NeRF在计算机图形学、自动驾驶和元宇宙等领域展现出广阔的应用前景,通过改进传统方法,提供更高质量的渲染和沉浸式体验。

NeRF 是 2020年 ECCV 的 best paper NeRF解决新视图合成问题。

因为其使用了较为简单的神经网络结构,因此属于是可微渲染的一种。NeRF也称为神经辐射场,因为其使用了体渲染的技术来实现的。

NeRF的定义

广义的定义: NeRF是使用神经网络(MLP)来隐式的存储3D信息。

NeRF是隐式的存储3d信息的,也就可以从另外的一个方向说明了,之前的3d信息是通过显示的方式来进行存储的。

显式的3D信息:有明确x,y,z的值(mesh,voxel,点云…等)

隐式的3D信息:无明确的x/y/z的值,只能输出指定角度的2D图片。

我们从论文中就可以得到。

  1. 模型输入是5D向量(x, y, z, theta, phi) ;
  2. 模型输出是4D向量, (密度,颜色(RGB));
  3. 模型是8层的MLP

在这里插入图片描述

输入为 5D coordinate:空间位置 ( x , y , z ) ,视觉方向 ( θ , ϕ ) 也可以说是粒子的空间位姿, (x, y, z, theta, phi)。视觉方向 ( θ , ϕ )可以说是光线所在的视角的方向。

NERF使用多层感知机,将光线上的点位编码成了颜色以及密度值。它将它所表达的场景存储在了MLP的权值中。它的输入是很多已知姿态的图像将其进行训练得到的场景表征。

推论:

  1. 模型不具有泛化能力
  2. 一个模型只能存储一个3D信息

真实场景与相机模型

体渲染

渲染是指对光线进行追踪或者是积分累积从而生成图像的一种方法。

属于渲染技术的分支目的是解决云/烟/果冻等非刚性物体的渲染建模
将物质抽象成一团飘忽不定的粒子群光线在穿过时,是光子在跟粒子发生碰撞的过程。

NERF的假设:

  • 物体是一团自发光的粒子。

  • 粒子有密度和颜色。

  • 外射光和内射光抵消。

  • 多个粒子被渲染成指定角度的图片。

模型的输入:将物体进行稀疏表示的单个粒子的位姿

模型的输出:该粒子的密度和颜色

在这里插入图片描述

粒子采集的原理

首先对于一个自发光的粒子的空间坐标为空间坐标 (x, y, z)。其发射出来的光线会通过相机模型。成为图片上的像素坐标(u,v)粒子颜色即是像素颜色。

这个粒子的颜色即为像素的颜色。

通过将一条光线上的许多(无数)的点的这些视为向量,进行一个合成的操作,最终就可以的得到该条光线在输出图像上的像素值。将该参数值与真实的图像的参数值进行计算,就会得到我们的LOSS

我们的神经辐射场是将2d的输入表征为一个3d场景的过程。而我们的体渲染Rendering Volume是将3d场景下的许多点位给投射出一个二维图像的过程。

  • 输入图像进入网络的部分可以看作是2d转变为3d的一个过程。

  • 最后得到的网络的输出在通过体渲染技术对点位来进行合成。最终输出到图像上。可以认为是一个3d到2d的过程

首先我们定义一条光线的公式为:r(t)=0+td

r ( t ) = 0 + t d r(t)=0+t d r(t)=0+td

  • O:表示的是光线的起始位置。

  • t:表示在光线上经过的距离

  • d:代表着光线所对应的方向

在这里插入图片描述

(选取采样点 t1,t2,t3)例如每间隔多少个点或者说间隔多少的距离。

坐标系转换的计算

在体渲染的过程中,需要涉及到坐标系的相关计算。这里的坐标系分为以下几种类型。

  • 世界坐标系

  • 相机坐标系

  • 像素坐标系(平面坐标系)

光线颜色计算公式 C®我们认为是投射出来的光线所呈现的颜色。

C ( r ) = ∫ t n t f T ( t ) σ ( r ( t ) ) c ( r ( t ) , d ) d t , where  T ( t ) = exp ⁡ ( − ∫ t n t σ ( r ( s ) ) d s ) C(\mathbf{r})=\int_{t_{n}}^{t_{f}} T(t) \sigma(\mathbf{r}(t)) \mathbf{c}(\mathbf{r}(t), \mathbf{d}) d t \text {, where } T(t)=\exp \left(-\int_{t_{n}}^{t} \sigma(\mathbf{r}(s)) d s\right) C(r)=tntfT(t)σ(r(t))c(r(t),d)dt, where T(t)=exp(tntσ(r(s))ds)

简单理解为一种体渲染的光学模型。

离散采样公式:

C ^ ( r ) = ∑ i = 1 N T i ( 1 − exp ⁡ ( − σ i δ i ) ) c i ,  where  T i = exp ⁡ ( − ∑ j = 1 i − 1 σ j δ j ) \hat{C}(\mathbf{r})=\sum_{i=1}^{N} T_{i}\left(1-\exp \left(-\sigma_{i} \delta_{i}\right)\right) \mathbf{c}_{i}, \text { where } T_{i}=\exp \left(-\sum_{j=1}^{i-1} \sigma_{j} \delta_{j}\right) C^(r)=i=1NTi(1exp(σiδi))ci, where Ti=exp(j=1i1σjδj)

t i ∼ U [ t n + i − 1 N ( t f − t n ) , t n + i N ( t f − t n ) ] t_{i} \sim \mathcal{U}\left[t_{n}+\frac{i-1}{N}\left(t_{f}-t_{n}\right), t_{n}+\frac{i}{N}\left(t_{f}-t_{n}\right)\right] tiU[tn+Ni1(tftn),tn+Ni(tftn)]

优化神经辐射场的方法

高频位置编码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2184726.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聊聊国内首台重大技术装备(1)

9.9日,工信部发布了《首台(套)重大技术装备推广应用指导目录(2024年版)》,在集成电路领域,公布了如下首台机台设备,这确实是一个十分振奋人心的消息,说明我国在半导体制造…

LSTM模型实现光伏发电功率的预测

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝,拥有2篇国家级人工智能发明专利。 社区特色…

构造函数继承

构造函数继承 主要通过在子类的构造函数中调用父类的构造函数,绑定子类实例的 this,从而实现子类对父类属性的继承。这种方法避免了父类和子类共享原型链上的属性,并且可以传递参数给父类的构造函数。 构造函数继承的实现步骤: …

Windows远程Kylin系统-VNC

Windows远程Kylin系统-VNC 一. 配置 yum源 二. 清理yum缓存 三. 安装VNC并配置 nkvers yum install tigervnc tigervnc-server -ycp /lib/systemd/system/vncserver.service /etc/systemd/system/vncserver:1.service 说明:vncserver:1.service中的:1表…

Windows 环境下安装 Anaconda 并适配到 PowerShell 的保姆级教程

Anaconda Anaconda 是一个流行的 Python 数据科学和机器学习平台,它包括了 Conda 包管理器、Python 以及数百个用于科学计算的库和工具。Anaconda 旨在简化包和环境管理,使得安装、更新和管理软件包变得容易,同时也能够轻松创建和切换不同的P…

案例-百度热榜页面实现

文章目录 效果展示要求内容注意代码内容 效果展示 要求内容 整个盒子大小:536*536标题字体柜20px、加粗,纯黑,换一换字体大小20px、颜色0055db、刷新图标是本地图片内容字体18px、上下边距15px、下边框实心2px颜色f3f3f3这个需要根据页面显示…

【顺序查找】

目录 一. 顺序查找的概念二. 查找的性能计算 \quad 一. 顺序查找的概念 \quad \quad 二. 查找的性能计算 \quad

【LLM论文日更】| 通过指令调整进行零样本稠密检索的无监督文本表示学习

论文:https://arxiv.org/pdf/2409.16497代码:暂未开源机构:Amazon AGI、宾夕法尼亚州立大学领域:Dense Retrieval发表:Accepted at DCAI24 workshopCIKM2024 研究背景 研究问题:这篇文章要解决的问题是如…

Linux学习笔记(三):文件管理、复杂操作与实用工具详解

Linux学习笔记(三):文件管理、复杂操作与实用工具详解 Linux 学习笔记(二):深入理解用户管理、运行级别与命令行操作 1.文件操作的基本操作 1.1 创建 创建目录 mkdir:创建目录 mkdir /home/d…

【MySQL】多表联合查询常见练习题

数据库表如下: teacher:老师表 course:课程表 student:学生表 class:班级表 sc:成绩表 一、根据上面5张表写sql语句 1. 查询” 01 “课程比” 02 “课程成绩高的学生的信息及课程分数 select student.…

AI智能时代的图书馆未来,你想象过吗!

AI智能时代的图书馆未来,你想象过吗! 前言AI智能时代的图书馆未来 前言 教育数字化和 AI 时代的浪潮正汹涌而来,图书馆也站在了变革的十字路口。我们看到高等教育正在发生深刻的变革,从教学模式到人才培养理念,都在经…

基于SSM+VUE的学生宿舍管理系统

文未可获取一份本项目的java源码和数据库参考。 随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期,当今社会正快速向数字化,信息化,网络化…

VSCode开发Vue3+TS项目中遇到各种波浪线(诊断信息)

一、问题汇总 在使用Visual Studio Code(VSCode)开发Vue3 TypeScript项目时,会遇到各种波浪线错误(诊断信息),这些问题或错误通常由以下几人原因引起的: 1.1 常见问题 1、typeScript配置问题…

【探索 GDB 和 CGDB】:强大的调试工具介绍

📃个人主页:island1314 🔥个人专栏:Linux—登神长阶 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 1. 引言📃 1.1 …

Kotlin:1.8.0 的新特性

一、概述 Kotlin 1.8.0版本英语官方文档 Kotlin 1.8.0 中文官方文档 The Kotlin 1.8.0 release is out and here are some of its biggest highlights: Kotlin 1.8.0发布了,下面是它的一些亮点: JVM 平台新增实验性函数:递归复制或删除目录内容改进了 …

SpringMVC——REST

路径请求方式请求行为 查询:GET 新增:POST 修改:PUT 删除:DELETE 有重复的东西怎么办

第L6周:机器学习|支持向量机(SVM):2. 支持向量机实战

本文为365天深度学习训练营 中的学习记录博客原作者:K同学啊 这里展示一下怎么调用scikit-learn库实现线性SVM,知道怎么调用扩展一下知识面就OK了。 1.scikit-learn库实现线性可分的SVM from sklearn import datasets from sklearn.model_selection im…

聊聊光刻工序常见术语(2)

上次,我们总结了光刻工序部分的术语,见文章: 《光刻工序常见术语中英文对照(1)》 这次,我们把剩下的又总结了一些,供大家参阅。 1,Developer Mist:显影液回溅产生的水…

计算机毕业设计 基于SpringBoot和Vue的课程教学平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

STM32(五)GPIO输入硬件电路及C语言知识复习

本小节主要是GPIO输入模式下的硬件电路和C语言知识的回顾 C语言中的数据:定义和引用 一、GPIO输入模式下的硬件和电路 1.按键介绍 可以用延时函数消除按键抖动 2.传感器模块介绍 (1)传感器元件的电阻会随模拟量的变化而变化,通…