计算机视觉NeRF

article/2025/6/30 19:49:49

NeRF与3DGS学习

  • NeRF
    • 计算机视觉的问题
    • NeRF
      • 定义
      • 神经辐射场场景表示
      • 基于辐射场的体渲染
      • 分层采样
      • 优化神经辐射场
  • 基础知识
    • 初始化
    • SFM
    • 基础矩阵 & 本质矩阵 & 单应矩阵
      • 从已经估得的本质矩阵E,恢复出相机的运动R,t
      • SVD 分解

NeRF

NeRF资源

计算机视觉的问题

计算机视觉终极问题定义为:输入二维图像,输出是由二维图像"重建"出来的三维物体的位置与形状

NeRF

定义

环境:静态场景表示为一个连续的 5D 函数
输出:输出空间中每个点 (x, y, z) 在各个方向 (θ, φ) 上的辐射度,以及每个点的密度
方法:优化了一个没有任何卷积层的深度全连接神经网络(通常称为多层感知机或 MLP),通过从单个 5D 坐标 (x, y, z, θ, φ) 回归到单个体积密度和与视图相关的 RGB 颜色来表示这个函数
步骤:
1)让相机光线穿过场景以生成一组采样的 3D 点
2)使用这些点及其对应的 2D 观看方向作为神经网络的输入,以生成一组输出颜色和密度(这组颜色和密度对应采样的3D点)
3)使用经典的体渲染技术将这些颜色和密度累积成 2D 图像
优化模型:使用梯度下降来优化这个模型,同时最小化每个观察到的图像与从我们的表示中渲染的相应视图之间的误差。跨多个视图最小化这种误差会促使网络通过为包含真实底层场景内容的位置分配高体积密度和准确颜色来预测场景的连贯模型。

神经辐射场场景表示

场景函数:连续场景表示为一个 5D 向量值函数
函数输入:** 3D 位置 x=(x,y,z) 和 2D 观看方向d (θ,ϕ)**
函数输出:发射颜色 c=(r,g,b) 和体积密度 σ
全连接多层卷积深度神经网络:MLP 网络 FΘ​:(x,d)→(c,σ) 近似这个连续的 5D 场景表示,并优化其权重 Θ
目标:每个输入的 5D 坐标映射到对应的体积密度σ和方向发射颜色c
预测函数:体积密度 σ 预测为位置 x 的函数 | RGB 颜色 c 作为位置x和观看方向d的函数
网络实现:(多阶段)
1. MLP FΘ​第一阶段使用8 个全连接层(采用 ReLU 激活函数,每层 256 个通道)处理输入的 3D 坐标 x,输出输出 σ 和一个 256 维的特征向量
2. 第二阶段:该特征向量与相机光线的观看方向连接并传递到一个**额外的全连接层(采用 ReLU 激活函数,128 个通道)**该层输出与视图相关的 RGB 颜色
(下图展示:场景分别在海面以及船面是连续场可微分的——>平滑过渡)
请添加图片描述

基于辐射场的体渲染

利用体渲染技术从神经辐射场中合成图像——体渲染通过数值积分将 3D 体积密度和发射颜色投影到 2D 图像平面

下图解释了:沿光线采样点信息r(t),针对于每个采样点利用积分得到该点的累积颜色。

光线 r(t)=o+td(其中 o 是相机原点,d 是单位方向向量)的累积颜色 C(r) 可表示为:对于公式的理解:

  1. 体积密度 σ(r(t)):表示光线在点 r(t) 处被吸收或散射的概率密度——σ 越大,光线越容易在此处 “终止”
  2. 发射颜色 c(r(t),d):表示点 r(t) 在观察方向 d 上发射的颜色——物体表面的反射光 | 介质自身的发光
  3. 透射率 T(t):表示光线从起点 tn​ 传播到 t 时未被吸收的概率
    如果沿途密度 σ 越高,透射率 T(t) 越低(光线被吸收的概率越大)
    在这里插入图片描述
    所以最终的体积渲染公式得到的沿着整条光线累积的颜色可以理解为:其发射颜色与未被前方物体着当的概率加权
    将积分离散化为沿每条光线的有限和。我们在 [tn​,tf​] 范围内均匀采样 N 个点 t1​<t2​<⋯<tN​,并使用以下黎曼和近似
    在这里插入图片描述

分层采样

针对于每条光线执行粗采样和细采样的分层采样
粗网络:首先在 [tn​,tf​] 范围内均匀采样 Nc​ 个点,使用方程 (2) 计算粗渲染结果 Cc​®
细网络:在密度较高的区域(如表面附近)自适应地添加更多采样点 Nf
最终使用这些点重新计算细渲染结果 Cf​®,更精确地表示场景中的高频细节
(通过自适应的增加更多的采样点——具体通过定义一个PDF概率密度函数),并基于这个PDF函数增加额外的采样点:
如何通过PDF函数实现重要性采样

标准的均匀采样造成资源的浪费
在低密度区域(如空旷空间),采样点对最终颜色贡献极小。
在高密度区域(如物体表面),少量采样点可能无法准确捕捉颜色变化。

分层采样的目标是:在保持总采样点数不变的情况下自适应地将更多采样点分配到对最终结果贡献更大的区域(即高概率区域)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里需要注意CDF函数是计算到当前位置的累加权重,通过均匀分布产生的随机数代表权重,对每个随机数找到对应的区间,然后用线性插值的方法,将这个随机数插值到对应的区间
在这里插入图片描述
最终插值得到新点的位置

优化神经辐射场

支持对高分辨率复杂场景的表示——第一项是输入坐标的位置编码|它帮助多层感知机表示高频函数|第二项是分层采样过程
在将输入传递给网络之前使用高频函数将输入映射到更高维空间,能够更好地拟合包含高频变化的数据
三角化基础点

位置编码——高维信息
并证明将 FΘ​ 重新构造为两个函数的组合 FΘ​=FΘ′​∘γ(一个是学习的,另一个不是)
γ 是从 R 到更高维空间 R2L 的映射,而 FΘ′​ 仍然只是一个常规的 MLP。形式上,我们使用的编码函数为:
γ§=(sin(20πp),cos(20πp),⋯,sin(2L−1πp),cos(2L−1πp))
γ(*)函数分别应用于 x 中的三个坐标值和笛卡尔观察方向单位向量 d 的三个分量

优化实现细节每个场景优化一个单独的神经连续体表示网络
输入捕获 RGB 图像数据集、相应的相机位姿和内参,以及场景边界
优化过程每个优化迭代中,我们从数据集中的所有像素中随机采样一批相机光线。我们沿着每条光线在 N 个随机点查询网络使用体渲染过程,利用这些样本渲染每条光线的颜色。损失只是渲染像素颜色真实像素颜色之间的总平方误差

基础知识

初始化

选择条件:选择足够的重叠区域——确保稳定提取特征点并进行鲁棒性匹配
高冗余性:周围有大量相邻的图像可以快速扩展重建网络

SFM

通过三维场景的多张图像,恢复出该场景的三维结构信息以及每张图像对应的摄像机参数
坐标系与相机参数:
从像平面到像素平面的单位变化是“从m到像素为单位
在这里插入图片描述
欧式结构恢复问题定义:
在这里插入图片描述
第一个相机坐标系与世界坐标系重叠
在这里插入图片描述

在这里插入图片描述
通过八点法估计基础矩阵,然后通过基础矩阵估计本质矩阵存在的问题(尺度、符号不能确定)
在这里插入图片描述

对于W矩阵和Z矩阵的定义:
在这里插入图片描述
对于R旋转矩阵的计算:
在这里插入图片描述
E的因式分解只是保证了矩阵分解为正交的,如果保证为旋转矩阵,需要保证行列式的值为正
在这里插入图片描述
真实的解:知道第一个和第二个摄像机的投影矩阵以及对应的三维点的坐标X,那么进行三角化,正确的解保证该点在两个相机的z坐标均为正。
在这里插入图片描述
单个点存在噪声——>多个点进行三角化,对解进行投票

欧式结构恢复的歧义
恢复结构与真实结构在尺寸,旋转(真实的结构的朝向),平移(真实的经纬度)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
内参矩阵:最终反映的是以物理尺寸为单位的焦距 f 转换成像素为单位的焦距值
内参矩阵描述的是:相机坐标系到像素坐标系的变化
外参矩阵描述的是:世界坐标系到相机坐标系之间的转换关系
相机的内参矩阵以及外参矩阵都是相机的关键参数
投影矩阵:世界坐标系到影像坐标系(u,v)之间的转换关系表达的是透视投影中空间点到像点的投影关系——对应的矩阵称之为投影矩阵

基础矩阵 & 本质矩阵 & 单应矩阵

可以建立两个视图公共点之间的坐标联系,或者完成公共点之间的坐标转换。
===基础矩阵:对规范化(摄像机的内参矩阵K是单位矩阵的形式)摄像机拍摄的两个视点间的图像的几何关系进行代数描述=
关键矩阵
本质矩阵的属性:
在这里插入图片描述

在这里插入图片描述
e为极点:
极点肯定在左图像点p对应的在右图像的极线上,所以也就有lqT e = 0 也就得出Ee = 0
在这里插入图片描述

在这里插入图片描述
基础矩阵:是对一般的透视摄像机(非规范化摄像机)的两个视点的图像间的极几何关系进行描述
思想:对内参矩阵求逆,得到规范化摄像机下的坐标[I,0]
在这里插入图片描述
在这里插入图片描述
基础矩阵的性质:
在这里插入图片描述
基础矩阵和本质矩阵的区别:刻画了更加一般的透视摄像机之间的在不同图像之间的对应点的极几何约束关系
只需要基础矩阵F,无需场景信息以及相机的内外参数,即可简历左右图像对之间的对应关系
F包含了内参信息,以及R和t的信息
在这里插入图片描述
在这里插入图片描述

本质矩阵描述了:两个像素坐标系x1,x2之间的关系,即空间点在两个相机的成像点通过外参矩阵R,t建立了一个等式关系,或者称为一种约束,这个约束就叫做对极约束
对极约束
本质矩阵与基础矩阵的区别:本质矩阵是和 x建立的关系,而 x是由内参矩阵 K和像素坐标p 计算出来的,所以本质矩阵使用的前提是内参矩阵 K已知;而基础矩阵直接和像素坐标 p 建立联系,所以不需要已知内参矩阵。
本质矩阵的性质:一个3×3的矩阵是本质矩阵的充要条件是它的奇异值中有两个相等而第三个是0

从已经估得的本质矩阵E,恢复出相机的运动R,t

通过SVD分解:
在这里插入图片描述
在这里插入图片描述

SVD 分解

SVD分解链接
定义:SVD是将一个任意矩阵分解为三个矩阵。所以如果我们有一个矩阵A,那么它的SVD可以表示为:
意义:奇异值分解则是特征分解在任意矩阵上的推广
应用:
PCA主成分分析:把数据集映射到低维空间中去。 数据集的特征值(在SVD中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量组成的空间即为降维后的重要特征空间
图片压缩:在图像处理中,SVD分解常被用于图像压缩。通过对图像矩阵进行SVD分解,可以得到较低秩的近似矩阵,从而减少存储空间和传输带宽

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在SVD中,U和 V 对于任何矩阵都是可逆的,并且它们是正交归一的,奇异值比特征值在数值上更稳定(奇异值是正特征值的平方根)
理解SVD实现数据降维:
在这里插入图片描述


http://www.hkcw.cn/article/KKjsYSvJxP.shtml

相关文章

分班 - 华为OD统一考试(JavaScript 题解)

华为OD机试题库《C》限时优惠 9.9 华为OD机试题库《Python》限时优惠 9.9 华为OD机试题库《JavaScript》限时优惠 9.9 针对刷题难&#xff0c;效率慢&#xff0c;我们提供一对一算法辅导&#xff0c; 针对个人情况定制化的提高计划&#xff08;全称1V1效率更高&#xff09;。 看…

CVE-2021-28169源码分析与漏洞复现(Jetty信息泄露)

漏洞概述 漏洞名称&#xff1a;Jetty ConcatServlet 多重解码导致 WEB-INF 敏感信息泄露 漏洞编号&#xff1a;CVE-2021-28169 CVSS 评分&#xff1a;7.5 影响版本&#xff1a; Jetty 9.4.0 - 9.4.39Jetty 10.0.0 - 10.0.1Jetty 11.0.0 - 11.0.1 修复版本&#xff1a;Jetty ≥…

CLion调试无法触发断点

CLion 调试时执行的是cmake-build-release目录中的exe&#xff0c;无法触发断点 这里配置要选择Debug&#xff0c;不要选择Release

2024年数维杯国际大学生数学建模挑战赛C题时间信号脉冲定时噪声抑制与大气时延抑制模型解题全过程论文及程序

2024年数维杯国际大学生数学建模挑战赛 C题 时间信号脉冲定时噪声抑制与大气时延抑制模型 原题再现&#xff1a; 脉冲星是一种快速旋转的中子星&#xff0c;具有连续稳定的旋转&#xff0c;因此被称为“宇宙灯塔”。脉冲星的空间观测在深空航天器导航和时间标准维护中发挥着至…

50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Sound Board(音响控制面板)

&#x1f4c5; 我们继续 50 个小项目挑战&#xff01;—— SoundBoard 组件 仓库地址&#xff1a;https://github.com/SunACong/50-vue-projects 项目预览地址&#xff1a;https://50-vue-projects.vercel.app/ &#x1f3af; 组件目标 实现一个响应式按钮面板&#xff0c;点…

【目标检测数据集】电动车驾驶员戴头盔相关数据集

一、TWHD 数据集 介绍 随着国家惩治行车不戴头盔违法行为的力度不断加大&#xff0c;双轮车&#xff08;电动车与摩托车&#xff09;头盔检测任务也越来越重要。双轮车佩戴头盔检测数据集&#xff08;two wheeler helmet dataset&#xff0c;TWHD&#xff09;收集了来自开源数…

【机器学习基础】机器学习入门核心:数学基础与Python科学计算库

机器学习入门核心&#xff1a;数学基础与Python科学计算库 一、核心数学基础回顾1. 函数与导数2. Taylor公式3. 概率论基础4. 统计量5. 重要定理6. 最大似然估计&#xff08;MLE&#xff09;7. 线性代数 二、Python科学计算库精要1. NumPy&#xff1a;数值计算核心2. SciPy&…

【存储基础】SAN存储基础知识

文章目录 1. 什么是SAN存储&#xff1f;2. SAN存储组网架构3. SAN存储的主要协议SCSI光纤通道&#xff08;FC&#xff09;协议iSCSIFCoENVMe-oFIB 4. SAN存储的关键技术Thin Provision&#xff1a;LUN空间按需分配Tier&#xff1a;分级存储Cache&#xff1a;缓存机制QoS&#x…

缓解颈部不适的营养补给之道

对于颈部常有不适的人群而言&#xff0c;合理的营养补充是维持身体良好状态的重要方式。日常饮食中&#xff0c;蛋白质是不容小觑的营养元素。瘦肉、蛋类、奶类以及豆制品都是优质蛋白质的来源&#xff0c;它们能够帮助增强肌肉力量&#xff0c;为颈部提供更好的支撑。​ 维生…

ck-editor5的研究 (6):进一步优化页面刷新时,保存提示的逻辑

文章目录 一、前言二、实现步骤1. 第一步: 引入 PendingActions 插件2. 第二步&#xff1a;注册事件3. 第三步&#xff1a;点击保存按钮时&#xff0c;控制状态变化 三、测试效果和细节四、总结 一、前言 在上一篇文章中 ck-editor5的研究 (5)&#xff1a;优化-页面离开时提醒…

手机归属地查询接口如何用Java调用?

一、什么是手机归属地查询接口&#xff1f; 是一种便捷、高效的工具&#xff0c;操作简单&#xff0c;请求速度快。它不仅能够提高用户填写地址的效率&#xff0c;还能帮助企业更好地了解客户需求&#xff0c;制定个性化的营销策略&#xff0c;降低风险。随着移动互联网的发展…

列表推导式(Python)

[表达式 for 变量 in 列表] 注意&#xff1a;in后面不仅可以放列表&#xff0c;还可以放range ()可迭代对象 [表达式 for 变量 in 列表 if 条件]

【机器学习|评价指标4】正预测值(PPV)、负预测值(NPV)、假阴性率(FNR)、假阳性率(FPR)详解,附代码。

【机器学习|评价指标4】正预测值&#xff08;PPV&#xff09;、负预测值&#xff08;NPV&#xff09;、假阴性率&#xff08;FNR&#xff09;、假阳性率&#xff08;FPR&#xff09;详解&#xff0c;附代码。 【机器学习|评价指标4】正预测值&#xff08;PPV&#xff09;、负预…

【Delphi】实现在多显示器时指定程序运行在某个显示器上

在多显示器时代&#xff0c;经常会出现期望将程序运行在某个指定的显示器上&#xff0c;特别是在调试程序的时候&#xff0c;期望切换分辨率&#xff0c;单步调试时&#xff0c;此时容易导致互相卡住&#xff0c;非常不方便&#xff0c;但是通过指定程序运行在不同的显示器上就…

渗透实战PortSwigger Labs AngularJS DOM XSS利用详解

本Lab学习到关于AngularJS的 xss 漏洞利用 直接输入回显页面&#xff0c;但是把<>进了 html 编码了 当我们输入{{11}}&#xff0c;没有当作字符处理&#xff0c;而是执行了 {{}} 是多种前端框架&#xff08;如 Vue、Angular、Django 模板等&#xff09;中常见的模板插值语…

配置刷新技术

FPGA 片上三模冗余( TMR) 设计结合配置刷新( Scrubbing) 的防护方法能够有效地提高系统的抗单粒子翻转性能。 三模冗余的方法利用模块三冗余及三取二自动表决来掩蔽错误&#xff0c;但是如果错误积累到一定程度&#xff0c;导致同时有两个或两个以上模块发生翻转错误&#xff0…

计算机科技笔记: 容错计算机设计05 n模冗余系统 其他复杂结构

目录 NMR变体动态冗余系统混合冗余系统筛除新系统 NMR变体 V是表决器 动态冗余系统 优点像N模并行系统&#xff0c;后边加一个故障检测和系统重构百分之90以上的故障都是瞬时故障&#xff0c;检测到故障重新运行即可如果出现老化&#xff0c;可以用Spare-1替代 混合冗余系…

HealthBench医疗AI评估基准:技术路径与核心价值深度分析(上)

引言:医疗AI评估的新范式 在人工智能技术迅猛发展的当下,医疗AI系统已逐渐从实验室走向临床应用。然而,医疗领域的特殊性要求这些系统不仅需要在技术指标上表现出色,更需要在实际临床场景中展现出可靠、安全且有效的性能。长期以来,医疗AI评估领域面临着三个核心挑战:评…

中国就业人口现状分析与未来趋势预测

目录 1、核心摘要 2、就业人口总量与趋势 就业人口规模 产业结构变化 3、未来就业趋势 2030年就业变革 人口结构影响 技能需求变化 4、年龄结构与老龄化影响 老龄化现状 抚养比变化 6、老龄化经济影响 消费结构变化 创新活力 7、行业分布与数字经济 行业就业结…

三种经典算法优化无线传感器网络(WSN)覆盖(SSA-WSN、PSO-WSN、GWO-WSN),MATLAB代码实现

三种经典算法优化无线传感器网络(WSN)覆盖&#xff08;SSA-WSN、PSO-WSN、GWO-WSN&#xff09;&#xff0c;MATLAB代码实现 目录 三种经典算法优化无线传感器网络(WSN)覆盖&#xff08;SSA-WSN、PSO-WSN、GWO-WSN&#xff09;&#xff0c;MATLAB代码实现效果一览基本介绍程序设…