【3D-GS】Gaussian Splatting SLAM——基于3D Gaussian Splatting的全网最详细的解析

【3D-GS】Gaussian Splatting SLAM——基于3D Gaussian Splatting的定SLAM

    • 3D-GS 与 Nerf 和 Gaussian Splatting
      • 1. 开山之作 Nerf
      • 2. 扛鼎之作 3D Gaussian Splatting
        • 2.1 什么是3D高斯?高斯由1D推广到3D的数学推导
        • 2.2 什么是光栅化?
        • 2.3 什么是Splatting?
        • 2.4 什么是交叉优化?
        • 2.5 什么是自适应控制?
        • 2.6 什么是快速可微光栅化?
        • 2.8 什么是 α-混合(Alpha Blending)?
        • 2.9 留给网友们继续补充?
      • 3. 终极 3DGS in SLAM/三维重建

3D-GS 与 Nerf 和 Gaussian Splatting

3D Gaussian Splatting for Real-Time Radiance Field Rendering

论文:link
code:link

video:link

1. 开山之作 Nerf

一切的开始都是起源于 NERF 开山之作 这里由详细的学习与拆解
【NERF】入门学习整理(一)

【NERF】入门学习整理(二)

【NERF】入门学习整理(三)

【NeRF数据集】LLFF格式数据集处理colmap结果记录

基于上面的了解,这个模型的输入:是一个五维的相机位姿(x,y,z,Yaw,Pitch);输出:4D(R G B 不透明度);
那这个模型有啥缺点和优点呢?

逼真的渲染效果: NERF 可以生成逼真的图像和视频,与真实照片和视频难以区分。
灵活性和可扩展性: NERF 可以用于渲染各种形状和大小的 3D 场景,包括室内和室外场景。
易于使用: NERF 只需要少量数据即可训练,并且可以使用标准的硬件进行训练和推理。

缺点包括:

计算成本高: NERF 的训练和推理过程需要大量的计算资源。
数据需求: NERF 需要大量的数据才能训练出高质量的模型。
泛化能力差: NERF 模型通常只适用于训练数据所代表的场景。
以下是 NERF 算法的一些具体应用:

虚拟现实和增强现实: NERF 可以用于创建逼真的虚拟环境和增强现实体验。
3D 建模: NERF 可以用于从照片或视频中生成 3D 模型。
逆向渲染: NERF 可以用于从图像或视频中恢复 3D 场景的几何形状和材质。
以下是 NERF 算法的一些研究方向:

提高计算效率: 研究人员正在开发更有效的 NERF 训练和推理算法。
提高数据效率: 研究人员正在开发能够从少量数据中学习的 NERF 模型。
提高泛化能力: 研究人员正在开发能够泛化到新场景的 NERF 模型。
总体而言,NERF 是一种具有巨大潜力的 3D 表示和渲染技术。随着研究的不断深入,NERF 算法将有望在更多的领域得到应用。

此外,NERF 还存在一些潜在的风险和挑战,包括:

模型偏见: NERF 模型可能会受到训练数据的偏见影响,从而导致生成不准确或偏颇的结果。
滥用风险: NERF 技术可能会被滥用来生成虚假信息或宣传材料。

2. 扛鼎之作 3D Gaussian Splatting

3D Gaussian Splatting是最近NeRF方面的突破性工作,它的特点在于重建质量高的情况下还能接入传统光栅化,优化速度也快(能够在较少的训练时间,实现SOTA级别的NeRF的实时渲染效果,且可以以 1080p 分辨率进行高质量的实时(≥ 30 fps)新视图合成)。开山之作就是论文“3D Gaussian Splatting for Real-Time Radiance Field Rendering”是2023年SIGGRAPH最佳论文。

首先,3DGS可以认为是NeRF的一种,做的任务也是新视图的合成

对于NeRF而言,它属于隐式几何表达(Implicit Geometry ),这里我们在上面的【NERF】入门学习整理系列已经有了更加完整的百表达和分析;顾名思义,不表达点的具体位置,而表示点与点的关系。通过选取空间坐标作为采样点输入,隐式场景将输出这些点的几何密度是多少,颜色是什么。而所谓的神经隐式几何则是用神经网络转换上述输入输出的方法(输入三维空间坐标和观测视角,输出对应点的几何密度和颜色)。把光线上的一系列采样点加权积起来就渲染得到一个像素颜色,这便是NeRF神经辐射场渲染的流程

此外,何的隐式表达可以分为体积类表达和表面类表达两种:

体积类表达:NeRF 属于体积类表达,通过几何密度决定采样点颜色的贡献度。
表面类表达:在表面类表达方式中,输入采样点,符号距离函数 SDF 输出空间中距离该点最近的表面的距离,正值表示表面外,负值表示表面内,表面类方法判定越靠近表面的采样点颜色贡献度越高。
既然有隐式,那么就有显式几何表达( Explicit geometry),就是类似点云、三角mesh这类可以沿着存储空间遍历所有元素。(通过某些方式,真正的把物体上的点都表示出来)

对于渲染,NeRF是非常典型的backward mapping过程,即计算出每个像素点受到每个体素影响的方式来生成最终图像,对每个像素,投出一条视线,并累积其颜色和不透明度
而3DGaussian Splatting是forward mapping的过程,将每个体素视作一个模糊的球,投影到屏幕上。在Splatting中,我们计算出每个体素如何影响每个像素点.

2.1 什么是3D高斯?高斯由1D推广到3D的数学推导

对于高常说的高斯函数,其实是1D的高斯,也就是正态分布:
f ( x ) = 1 σ 2 π e − ( x − μ ) 2 2 σ 2 f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=σ2π 1e2σ2(xμ)2
其中:

μ 是正态分布的 均值,代表数据中心的位置。
σ 是正态分布的 标准差,代表数据离散程度。

在这里插入图片描述
对于一段x区间,进行积分可以得到分布中的数据落在这一-区间的概率,其中绝大多数落在3sigma区域(概率是0.9974)。因此,一组 m u mu mu / s i g m a /sigma /sigma 可以确定一个1D高斯分布函数,进而确定一条1D线段通过改变这两个值就可以表达1D数轴上的一根线段。类似地,将这个思路从1D拓展到3D,那么就可以确定一个空间的椭球形,这个椭球分别以xyz轴对称,
从对称轴的垂直面切出来的横截面都是椭圆。不过由于这个椭球可以旋转移动,所以它的xyz对称轴不一定和世界坐标系重叠。对于标准的3DGaussians标准形式,是:
G ( x ) = 1 2 π σ 2 exp ⁡ [ − ( x − μ ) 2 2 σ 2 ] \begin{equation} G(x) = \frac{1}{\sqrt{2 \pi \sigma^2}} \exp \left[ -\frac{(x - \mu)^2}{2 \sigma^2} \right] \end{equation} G(x)=2πσ2

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

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

相关文章

AWS EC2 学习之: 使用 PuTTY 从 Windows 连接到 Linux 实例

启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它。 注意 启动实例后,需要几分钟准备好实例,以便您能连接到实例。检查您的实例是否通过了状态检查。您可以在 Instances 页上的 Status Checks 列中查…

什么是防火墙,部署防火墙有什么好处?

与我们的房屋没有围墙或界限墙一样,没有防护措施的计算机和网络将容易受到黑客的入侵,这将使我们的网络处于巨大的风险之中。因此,就像围墙保护我们的房屋一样,虚拟墙也可以保护和安全我们的设备,使入侵者无法轻易进入…

SAP Fiori开发中的JavaScript基础知识9 - 代码注释,严格模式,JSON

1 背景 本文将介绍JavaScript编程中的三个小知识点:也即代码注释,严格模式,JSON文件。 2 代码注释 JavaScript的代码注释方式如下: // Single line comment/* Multi line comment */3 严格模式 JavaScript的"strict mod…

0101支付安全-支付模块-项目实战

文章目录 一、信息安全的基础-机密性1 相关概念2 对称加密和非对称加密 二、身份认证三 摘要算法四、数字签名五、数字证书结语 在支付过程中,设计多方的敏感信息,那么安全尤为重要。下面先简单介绍下,相关概念。 一、信息安全的基础-机密性 …

解决GNU Radio+USRP实现OFDM收发在接收端QPSK星座图映射无“抖动”问题

文章目录 前言一、遇到的问题二、解决方案三、重新编译安装四、验证五、资源自取 前言 本文记录在 GNU RadioUSRP 实现 OFDM 收发时,在接收端 QPSK 星座图映射无“抖动”问题的解决方法, 一、遇到的问题 我遇到的问题是,现在搭建的 OFDM 模…

E5063A是德科技E5063A网络分析仪

181/2461/8938产品概述: Keysight E5063A 是一款低成本网络分析仪,可为测试天线、电缆、滤波器和 PCB 等简单无源元件提供优化的性能和功能。Keysight E5063A 为您的企业提供价格和性能之间的最佳平衡,以满足您的业务和技术要求。它利用行业…

安装和使用 Oracle Database 23c 容器鏡像

Oracle Database 23c 是 Oracle 最新的数据库版本,它带来了许多新特性和性能改进。 对于开发者来说,Oracle 提供了一个免费的开发者版, 可以通过 Docker 容器轻松安装和使用。以下是详细的安装和使用指南。 安装 Docker 在开始之前&#xff0…

2024 年多链代币开发对您的业务有何好处

2024 年,多链代币开发将成为寻求增强数字化影响力并释放区块链领域新机遇的企业的关键战略。通过利用多个区块链,公司可以显着提高其代币的可扩展性、互操作性和安全性。这种方法不仅提高了交易速度并降低了费用,还使企业能够利用更广泛的用户…

深度学习入门简单实现一个神经网络

实现一个三层神经网络 引言测试数据 代码 引言 今天我们实现一个简单的神经网络 俩个输入神经元 隐藏层两个神经元 一个输出神经元 激活函数我们使用sigmoid 优化方法使用梯度下降 我们前期准备是需要把这些神经元的关系理清楚 x1:第一个输入 x2:第二个…

C#手术麻醉系统源码 大型医院手麻系统4大需求是什么?

C#手术麻醉系统源码 大型医院手麻系统4大需求是什么? 手术麻醉临床信息系统有着完善的临床业务功能,能够涵盖整个围术期的工作,能够采集、汇总、存储、处理、展 现所有的临床诊疗资料。通过该系统的实施,能够规范手麻科的工作流程…

Matlab-写入mhd和raw医学图像处理格式文件

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 mhd和raw是什么? MHD(MetaImage)和RAW(Raw Image Data)是用于医学图像…

【测试工具】JMeter接口测试的简单使用

事先声明:博主的JMeter是3.3版本的,可能和最新版本的操作有些许差别 测试前的准备工作 1、先添加一个线程组:右击“测试计划”,点击“添加”—》“Threads(Users)”—》“线程组” 2、再添加一个HTTP请求,右击“线程…

基于Hive大数据分析springboot为后端以及vue为前端的的民宿系

标题基于Hive大数据分析springboot为后端以及vue为前端的的民宿系 本文介绍了如何利用Hive进行大数据分析,并结合Spring Boot和Vue构建了一个民宿管理系统。该民民宿管理系统包含用户和管理员登陆注册的功能,发布下架酒店信息,模糊搜索,酒店详情信息展示,收藏以及对收藏的…

Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩

--------------Pillow教程集合--------------- Python项目18:使用Pillow模块,随机生成4位数的图片验证码 Python教程93:初识Pillow模块(创建Image对象查看属性图片的保存与缩放) Pillow教程02:图片的裁剪…

烫烫烫手的结构体大小计算来咯,很烫哦,慢慢消化。自定义类型(一)

emmm,在这炎热的夏天在宿舍吹着空调写着博客也是一件不错的事呢,今天就来来好好盘一下C语言中的自定义类型。 常常会回顾努力的自己,所以要给自己的努力留下足迹。 为今天努力的自己打个卡,留个痕迹吧 2024.03.29 小闭 目录 …

C++项目——集群聊天服务器项目(九)客户端异常退出业务

服务器端应检测到客户端是否异常退出,因此本节来实现客户端异常退出,项目流程见后文 一、客户端异常退出业务流程 (1)在业务模块定义处理客户端异常退出的函数 (2)集群聊天服务器项目(八)提到…

为什么在Python中总是使用【字典】这种类型呢?

你好,我是安然无虞。 文章目录 创建字典新增字典元素update 方法 删除字典元素pop 方法popitem 方法 查找字典元素in 和 in not 操作符get 方法thisdict[key] 修改字典元素遍历字典元素for循环遍历keys方法values方法items方法 合并字典字典中的key 字典常用接口汇…

网际协议 - IP

文章目录 目录 文章目录 前言 1 . 网际协议IP 1.1 网络层和数据链路层的关系 2. IP基础知识 2.1 什么是IP地址? 2.2 路由控制 3. IP地址基础知识 3.1 IP地址定义 3.2 IP地址组成 3.3 IP地址分类 3.4 子网掩码 IP地址分类导致浪费? 子网与子网掩码 3.5 CIDR与…

自己动手用ESP32手搓一个智能机器人:ESP32-CAM AI Robot

目录 介绍 硬件需求 软件需求 步骤 总结 源码下载 介绍 ESP32-CAM是一款集成了Wi-Fi和蓝牙功能的微控制器模块,同时还集成了摄像头接口,使其成为一个非常适合构建智能机器人的选择。在本项目中,我将向您展示如何使用ESP32-CAM模块构建…

数据运营分析-详解

一、指标与指标体系 指标体系就是业务逻辑的框架,也是思考业务逻辑的第一步 案例: 老板,我负责的用户活跃,主要考察每天启动产品的注册用户数量,整体来看,每月活跃保持7.3%的增长,是因为渠道团队的拉新活动带来很多新增注册用户,占每月活跃用户的40%,新一年会继续沿…