当前位置: 首页 > news >正文

3d gaussian splatting介绍整理

3D 高斯分布是用于实时辐射场渲染的 3D 高斯分布中描述的一种光栅化技术,它允许实时渲染从小图像样本中学习到的逼真场景。

paper
github

本文翻译整理自:
blog: Introduction to 3D Gaussian Splatting
DDPMs - Part 2

给出一些2D图片,用colmap得到稀疏 (SfM) 点,可重建出逼真的3D场景。
3DGS的核心是光栅化技术。
这类似于计算机图形学中的三角形光栅化,用于在屏幕上绘制许多三角形。

图片来自blog

在这里插入图片描述
但是,它不是三角形,是高斯。

在这里插入图片描述
这里补充一些高斯相关:

正态分布

在这里插入图片描述

多元正态分布

在这里插入图片描述

协方差

在这里插入图片描述

协方差矩阵

在这里插入图片描述
每个元素(i, j) 定义了向量的两个随机变量的协方差。
而且对角线上的元素
在这里插入图片描述
下面看下两个随机变量负协方差,0协方差,正协方差时的分布

在这里插入图片描述

这是负协方差 3维看上去的效果,从顶上看就是上面的左图,从侧面看是高斯分布。45度更加平坦。
在这里插入图片描述 在这里插入图片描述

各向同性高斯

在这里插入图片描述

一个例子:

在这里插入图片描述

回到3D高斯,既然是3D,那就是3个变量(x, y, z)
它由以下参数描述:

位置:所在的位置 (XYZ)
协方差:如何拉伸/缩放(3x3 矩阵)
颜色:它是什么颜色(RGB)
Alpha : 透明度 (α)

3个的高斯叠加在一起的效果:
在这里插入图片描述
那么700万高斯叠加的效果呢。

在这里插入图片描述

运行步骤:
1.运动结构
第一步是使用运动结构 (SfM) 方法从一组图像中估计点云。这是一种从一组 2D 图像估计 3D 点云的方法。这可以通过COLMAP库来完成。

在这里插入图片描述

2.转换为高斯分布
接下来,每个点都转换为高斯分布。这对于光栅化来说已经足够了。然而,只能从 SfM 数据推断位置和颜色。为了学习产生高质量结果的表示,需要对其进行训练。

3.训练
训练过程使用随机梯度下降,类似于神经网络,但没有layers。训练步骤为:

使用可微分高斯光栅化将高斯光栅化为图像(稍后详细介绍)
根据光栅化图像和groud truth图像之间的差异计算损失
根据损失调整高斯参数
应用自动致密化和修剪
步骤 1-3 从概念上讲非常简单。第 4 步涉及以下内容:

如果对于给定的高斯梯度很大(即它太错误),则分割/克隆它
如果高斯很小,则克隆它
如果高斯很大,则将其分割
如果高斯的 alpha 太低,将其删除
此过程有助于高斯更好地拟合细粒度细节,同时修剪不必要的高斯。

在这里插入图片描述

4.可微分高斯光栅化
如前所述,3D 高斯分布是一种光栅化方法,它将数据绘制到屏幕上。

一些重要的元素还包括:
快速
可微分

光栅化涉及:
从相机角度将每个高斯投影为 2D。
按深度对高斯进行排序。
对于每个像素,从前到后迭代每个高斯,将它们混合在一起。
paper中描述了其他优化。

在这里插入图片描述

相关文章:

3d gaussian splatting介绍整理

3D 高斯分布是用于实时辐射场渲染的 3D 高斯分布中描述的一种光栅化技术,它允许实时渲染从小图像样本中学习到的逼真场景。 paper github 本文翻译整理自: blog: Introduction to 3D Gaussian Splatting DDPMs - Part 2 给出一些2D图片,用…...

[C#]de4dot常用命令

命令:de4dot.exe "D:\xxx.exe" 解释:运行后文件在程序集的目录下生成一个带-cleaned的新程序集。 命令:de4dot.exe file1 -f "D:\xxx.exe" -o "D:\output\xxx_cleaned.exe" 解释:-f : 指定.NET 程序…...

林浩然的“生命体验”大冒险

林浩然的“生命体验”大冒险 Lin Haoran’s “Life Experience” Grand Adventure 在一个阳光明媚的日子,林浩然——我们这位幽默风趣、充满生活智慧的大男孩,正坐在自家后院的老槐树下,手捧一本哲学书,皱着眉头深思:“…...

设计模式——职责链模式(Chain of Responsibility Pattern)

概述 职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为…...

C++引用详解

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、引用的概念 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间…...

fMRI数据处理(随时更新)

要开始学习处理fMRI的数据了。 fMRI的数据一般有 dcm 格式和 nii 格式。 Nifti(Neuroimaging Informatics Technology Initiative,神经影像信息学技术倡议)文件格式,是目前各大神经影像分析工具普遍兼容的体素水平的数据格式&am…...

【Linux C | 网络编程】getsockname 和 getpeername函数详解及C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...

研发日记,Matlab/Simulink避坑指南(六)——字节分割Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结归纳 前言 见《研发日记,Matlab/Simulink避坑指南(一)——Data Store Memory模块执行时序Bug》 见《研发日记,Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》…...

(M)unity受伤反弹以及死亡动画

受伤反弹 1.在人物控制脚本中添加受伤后速度将为0,并添加一个反弹的力 在刷新移动时,需要在没有受伤的状态 public bool isHurt; public float hurtForce; private void FixedUpdate() {if(!isHurt)Move(); }public void GetHurt(Transform attacker) …...

【Java】Springboot入门

学习目标 基于SpringBoot框架的程序开发步骤 熟练使用SpringBoot配置信息修改服务器配置 基于SpringBoot的完成SSM整合项目开发 一、SpringBoot简介 1. 入门案例 问题导入 SpringMVC的HelloWord程序大家还记得吗? SpringBoot是由Pivotal团队提供的全新框架&…...

专业138总分420+中国科学技术大学843信号与系统考研经验中科大电子信息通信

**今年中科大专业课843信号与系统138分,总分420顺利上岸,梦圆中科大,也是报了高考失利的遗憾,总结一下自己的复习经历,希望可以给大家提供参考。**首先,中科大843包括信号与系统,和数字信号处理…...

携程开源 基于真实请求与数据的流量回放测试平台、自动化接口测试平台AREX

携程开源 基于真实请求与数据的流量回放测试平台、自动化接口测试平台AREX 官网文档 基于真实请求与数据的流量回放测试平台、自动化接口测试平台AREX 目前已跑通,通过冒烟测试,这篇文章稍稍水一下,主要讲下部署过程里踩的坑,因为…...

Android中C++层fstream用法详解

fstream用于读写文件内容 ifstream用于读文件内容 ofstream用于写内容到文件 读本文章前,请读一下C 文件和流 | 菜鸟教程 目录 1. 打开文件open 2. 返回当前指针位置tellg, tellp 3. 设置文件读位置指针seekg 4. 设置文件写位置指针seekp 5. 如何在文件…...

git clone常见问题一览及解决方法

在使用Ubuntu下,终端运行git clone命令时会遇见许多问题,本文主要针对一些常见的问题进行整理。关于换源问题,推荐使用小鱼的一键换源。 1.git clone 速度过慢 1.1 魔法 这个方法不做过多赘述,ubuntu下个人使用发现体验良好&am…...

​ArcGIS Pro 如何批量删除字段

在某些时候,我们得到的图层属性表内可能会有很多不需要的字段,如果挨个去删除会十分的麻烦,对于这种情况,我们可以使用工具箱内的字段删除工具批量删除,这里为大家介绍一下使用方法,希望能对你有所帮助。 …...

OG Trade在ZKX揭幕:一家基于Starknet的游戏化永续合约交易所

ZKX的 OG Trade通过内置游戏化和30分钟交易竞赛,为所有交易者创造机会,革新了永续合约交易模式。 2024年1月30日 — ZKX宣布推出OG Trade,这是一家基于Starknet的游戏化永续合约交易所,旨在满足短期交易者、高水平交易者和波段交易…...

ubuntu 22.04 安装redis并设置远程连接

ubuntu 22.04 安装redis并设置远程连接 1、基础安装 更新包: sudo apt update安装redis: sudo apt install redis-server安装完毕后会自动启动,查看状态: sudo systemctl status redis-server注意:如果你的服务器上仅用…...

MemcachedRedis构建缓存服务器

目录 Memcached&Redis构建缓存服务器 一、介绍 二、memcached 1、特点 2、服务框架 3.配置安装memcached 三、redis服务 1、介绍 2、特点 3、缓存 4、安装redis 5、数据持久化 6、redis主从配置 Memcached&Redis构建缓存服务器 一、介绍 许多Web应用都将…...

Python编辑开发 --- pycharm pro 中文

PyCharm Pro是一款专业的Python集成开发环境(IDE),由JetBrains公司开发。它为Python开发者提供了丰富的功能和工具,使得Python编程变得更加高效和便捷。PyCharm Pro具有智能代码编辑功能,能够自动完成代码、快速导航至…...

Linux的 .bashrc 有什么作用?

一、.bashrc 是什么? 有什么用? .bashrc是一个存储在你的home目录下的隐藏文件,它用来配置和自定义你的终端环境和行为。 每次你启动一个新的终端时,.bashrc文件就会被执行,加载你设置的环境变量,别名,函数…...

League Akari:英雄联盟玩家的智能游戏伴侣,如何用开源工具提升你的竞技体验

League Akari:英雄联盟玩家的智能游戏伴侣,如何用开源工具提升你的竞技体验 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit …...

MelonLoader终极指南:7个步骤掌握Unity游戏模组加载器的完整教程

MelonLoader终极指南:7个步骤掌握Unity游戏模组加载器的完整教程 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader Me…...

基于C++实现时间片与高优先级抢占调度算法的进程与资源管理功能模拟操作系统OS

MockProcessCmd [Experiment]设计和实现基于时间片与高优先级抢占调度算法的进程与资源管理功能模拟 OS Computer operating system experiment. 开发环境 IDE:Visual Studio 2019Language:C STL 功能需求 设计和实现进程与资源管理,并…...

ai协作新范式:用快马平台ccswitch模型智能生成天气预报组件代码

今天想和大家分享一个有趣的AI辅助开发实践——用InsCode(快马)平台的ccswitch模型智能生成天气预报组件。整个过程就像有个懂编程的助手在实时配合,特别适合想快速实现功能又希望保持代码质量的场景。 理解ccswitch模型的调节作用 这个模型最实用的地方在于它能智能…...

10大经典量化策略:实战逻辑+买卖信号+风险点

目录 1. 趋势跟踪策略(最主流、最稳) 2. 均值回归策略(震荡市神器) 3. 多因子选股策略(机构标配) 4. 动量反转策略(A 股特别有效) 5. 统计套利 / 配对交易(低风险&a…...

Linux内核随机数API

Linux内核为不同需求的场景(如密码学安全、高性能模拟、概率采样等)提供了多种获取随机数的方式,同时也支持生成概率值(例如按一定概率选择分支)。下面分类介绍: 一、内核态可用的随机数API 1. 密码学安全的…...

基于小波变换与LabVIEW平台的电力电缆故障精准定位方法研究与应用

基于LabVIEW和小波分析的电力电缆故障定位方法 在分析行波法故障测距误差的基础上, 根据小波变换模极大值在不同尺度下的特 性, 运用自相关分析提供的约束条件, 基于LabVIEW 平台, 实现了对故障信号的准确识别和定 位, 准确测算出故障点的位置。 大量的仿真测试表明, 该方法故障…...

如何提高YOLO8目标检测的准确性?

上面主要就是大致了解方法,省流请看最下面1.提高置信度阈值yolo predict modelyolov8n.pt source0 classes0 conf0.5​​​​ conf0.3(灵敏,但容易误检)​​​​ conf0.5(更准,误检少)​​​​ …...

Unitree Go2机器人ROS2集成完整指南:从零开始掌握智能四足机器人开发

Unitree Go2机器人ROS2集成完整指南:从零开始掌握智能四足机器人开发 【免费下载链接】go2_ros2_sdk Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU 项目地址: https://gitcode.com/gh_mirrors/go/go2_ros2_sdk 想要让Unitree Go2机器人真正&quo…...

别再手动另存为了!用Python脚本5分钟搞定上百个Excel文件的格式转换(附完整代码)

别再手动另存为了!用Python脚本5分钟搞定上百个Excel文件的格式转换(附完整代码) 你是否曾经面对过这样的场景:电脑里堆积着上百个老旧的.xls格式Excel文件,每次需要使用时都得手动一个个"另存为"xlsx格式&a…...