【文献】3D Gaussian Splatting for Real-Time Radiance Field Rendering

news2024/11/15 7:10:15

论文地址:https://arxiv.org/abs/2308.04079
项目:

https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
代码:

git clone 

https://github.com/graphdeco-inria/gaussian-splatting —recursive

一、文章概述

1.问题导向

辐射场:辐射场是三维空间中光分布的表示,它捕捉光如何与环境中的表面和材料相互作用。

显式辐射场:相反,显式辐射场直接表示离散空间结构中的光分布,

隐式辐射场:隐式辐射场表示场景中的光分布,而不明确定义场景的几何体。
      显式表达方法(点、网格、体素)的连续性质有助于优化,但渲染所需的随机采样成本高昂,并且可能会导致噪声。隐式表达(NeRF)耗费计算资源巨大,运行速度慢。3D GS 表示从隐式辐射场到显式辐射场的转变。它通过利用3D高斯作为灵活高效的表示,利用了这两种方法的优势。

2.目标

提出一个实时且能够高质量渲染场景的方法,通过结合离散和连续表示方法的优势,不仅克服了传统方法在噪声和渲染质量方面的限制,而且极大地提高了渲染速度。

图片

3.摘要

       辐射场方法最近彻底改变了用多张照片或视频捕获的场景的新颖视角合成。然而,要获得高视觉质量,仍然需要训练和渲染成本高昂的神经网络,而最近更快的方法不可避免地要牺牲速度来换取质量。对于无界和完整的场景(而不是孤立的对象)和1080p分辨率的渲染,目前还没有一种方法可以达到实时显示速率。我们引入了三个关键元素,使我们能够在保持有竞争力的训练时间的同时获得最先进的视觉质量,并重要的是允许在1080p分辨率下进行高质量的实时(≥30 fps)新颖视图合成。

       首先,从摄像机标定过程中产生的稀疏点开始,我们用3D高斯球表示场景,它保留了场景优化中连续体积辐射场的理想性质,同时避免了在空空间中不必要的计算;其次,我们3D高斯线进行交错优化/密度控制,特别是优化了各向异性协方差,以获得准确的场景表示;第三,我们开发了一种支持各向异性飞溅的快速可见性感知渲染算法,既加快了训练速度,又允许实时渲染。我们在几个已建立的数据集上演示了最先进的视觉质量和实时渲染。

4.贡献

  • 引入各向异性3D高斯球作为辐射场的高质量、非结构化表示。

  • 一种3D高斯属性的优化方法,与自适应密度控制交织在一起,为捕获的场景创建高质量的表示。

  • 一种适用于GPU的快速可微渲染器。

二、方法解析

2.1 系统pipeline

图片


输入:点云
输出:渲染图像

  • 从初始的sfm点云出发,以每个点为中心生成3DGS。

  • 用相机参数把点投影到图像平面上(splatting)。

  • 从splatting的痕迹中tile-based光栅化,得到渲染图像,将渲染图像和GT求LOSS,反向传播。

  • 自适应的密度控制模块根据传递到点上的梯度,来决定是否需要对3DGS做分割或者克隆。梯度传递到3DGS里面对其存储的那几个参数进行更新。

2.2 3D Gaussian 球表示三维模型

使用 3D Gaussian 球表示三维模型,效果如下,其主要分为两步1、构建雪球 2、抛雪球。高斯抛雪球表示三维场景效果如下

图片

  • 构建雪球

直接使用球体来表示三维模型效果并不好,如下图所示,就像《我的世界》用方块来表示世界一样不能精细的表达场景,因为每个体的边缘过于僵硬。一个有效解决是让边缘变得模糊,这时便想到了高斯分布,重要信息的地方权重大一些,边缘信息的权重小一些。我们在冬天捏雪球时,也是雪球中间的地方最硬。

图片

  • 抛雪球

“Splatting” 是一种计算机图形学中常用的渲染技术。它的基本思想是将点云中的每个点视为一个二维的、具有一定大小和属性的粒子(或称为“splat”),然后将这些粒子投影到屏幕上并绘制成像素,以生成最终的图像。把场景用球体表示后,如何将3D空间转化为2D视角,作者用的抛雪球这个名字很形象。我们可以想象一个朝一面墙抛雪球的场景,雪球扁扁的贴到墙上,越中心的位置雪越多。我们假设空间中有很多雪球,我们依次将其抛到墙上,最后就将3D雪球转化到2D墙面。我们发现一些雪球的边缘地方慢慢会被其他雪球覆盖和吞噬,上述过程就是高斯抛雪球的核心思想。

点击【文献】3D Gaussian Splatting for Real-Time Radiance Field Rendering可查看全文

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

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

相关文章

《笑谈设计模式》 — 23种尝鲜版(未完待续......

引子:无论在平时开发过程中,还是深夜研读源码亦或者面试时都对遇到——设计模式。比如说Spring中的单例模式(bean单例)、工厂模式(bean创建)、代理模式(动态代理)、策略模式等。我们…

RTA-VRTE适配Orin

RTA-VRTE适配Orin sudo minicom -w -D /dev/ttyACM0 用户名 nvidia密码 123456底下的的rj45 ,对应的是eqos_0, (本次porting使用该接口)底下的的DEBUG(USB Micro-B)串口连接(本次porting使用该接口)上侧边的rj45,对应的是mgbe0_0#设置Orin的IP和默认网卡eqos_0

C语言:一维、二维数组详解

目录 一、数组的概念 二、一维数组创建和初始化 2.1 数组创建 2.2 数组的初始化 2.3 数组的类型 三、一维数组的使用 3.1 数组的下标 3.2 数组的输入与输出 四、⼀维数组在内存中的存储 五、sizeof计算数组元素个数 六、二维数组 6.1 二维数组的概念 6.2 二维数组…

虚幻游戏开发 | shader性能优化

如何查看shader性能消耗 1.Alt 8切换Shader Complexity mode查看shader性能消耗 (Alt 4切换回Lit Mode正常光照模式) 2.材质蓝图里查看instructions数量(如图中箭头所示) 3.直接在target platform上测试是最准确的。 (running fewer instru…

思特科技案例:北京欢乐谷光影乐园

01      在北京欢乐谷的亲子领域,藏着一处“面积近400平米,炫酷堪比魔法世界的、美轮美奂的光影空间,做到了“让娃来了不想走,一玩就是一下午”。    思特科技案例:北京欢乐谷光影乐园      02      作…

去抖音视频水印的软件免费推荐,精选四款实用工具助你轻松去除水印

随着抖音等短视频平台的流行,我们常常会遇到想要保存某些视频但不想保留水印的情况。本文将为您推荐四款去抖音视频水印的实用工具,帮助您轻松去除视频中的水印,保存清晰的内容。 工具一:奈斯水印助手(小程序) 推荐指数&#xf…

DMDSC学习

DMDSC学习 ​ DM 共享存储数据库集群,允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负载均衡等特性。DMDSC 支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。 DMDSC…

前端使用miniO上传文件

项目背景:vue2&#xff0c;前提是请先安装miniO,若安装引入时报错&#xff0c;那就是版本不对&#xff0c;通常指定版本安装即可。 页面样式&#xff1a; 前端vue页面代码&#xff1a; //<el-form>表单中:<el-form-item label"文件" prop"fileIds&q…

链表OJ题——反转一个单链表

文章目录 一、题目链接二、解题思路三、解题代码 一、题目链接 原地翻转链表 二、解题思路 原地翻转链表&#xff0c;空间复杂度为O(1)&#xff0c;时间复杂度O(n) 三、解题代码

亲测好用,吐血整理 ChatGPT 3.5/4.0 新手使用手册~ 【2024 更新】

废话不多说&#xff0c;直接分享正文~ 以下是小编为大家搜集到的最新的ChatGPT国内站&#xff0c;各有优缺点。 1、AI Plus&#xff08;稳定使用&#xff09; 推荐指数&#xff1a;⭐⭐⭐⭐⭐ yixiaai.com 该网站已经稳定运营了1年多了。2023年3月份第一批上线的网…

高速公路边坡在线监测预警系统

一、背景 近日&#xff0c;广东梅大高速发生严重塌方事故&#xff0c;造成了严重的人员伤亡和财产损失。这一事件在公众心中敲响了安全的警钟&#xff0c;再次引起了公众对于交通设施运营安全性的重点关注。 二、系统介绍 高速公路边坡在线监测预警系统通过结合北斗、5G、AI…

jstack结果提取特定线程池线程的堆栈

这里假设你已经知道如何定位java进程PID&#xff0c;以及如何执行jstack命令进行导出&#xff0c;下面仅提供相关命令&#xff0c;及示例 ps aux|grep java jstack 8229 > jstack_output.log v1版本 grep second jstack_output.log 如果此时我们想重点关注一下下面这个线程…

极简接入|七牛云 QPlayer2 播放器再升级

1877 年&#xff0c;爱迪生发明留声机&#xff0c;用锡箔筒捕捉了第一缕声波。随后&#xff0c;黑胶唱片、磁带录音机、八轨盒式磁带机、卡式磁带、激光唱片&#xff08;CD&#xff09;等相继问世。 每一次介质的变革&#xff0c;都带来了音质的提升和便捷性的增强。时光流转&a…

LLM概念梳理(一):训练流程之PT、SFT和PO

一个LLM的成功问世&#xff0c;一般分为&#xff1a;预训练 PT监督微调 SFT偏好优化 PO。 预训练&#xff08;Pre-Training&#xff09;是为了让模型学习通用知识&#xff0c;而监督微调&#xff08;Supervised Fine-Tuning&#xff09;是为了优化模型在特定任务上的表现。为了…

TypeScript学习笔记1---认识ts与js的异同、ts的所有数据类型详解

前言&#xff1a;去年做过几个vue3js的项目&#xff0c;当时考虑到时间问题&#xff0c;js更加熟悉&#xff0c;学习成本低一点&#xff0c;所以只去了解了vue3。最近这段时间补了一下ts的知识点&#xff0c;现今终于有空来码文章了&#xff0c;做个学习总结&#xff0c;方便以…

360驱动大师 v2.0.0.2040 最新免费精简单文件版

360驱动大师是一款专注于驱动安装和更新的专业软件&#xff0c;它拥有庞大的驱动库&#xff0c;能够支持数以百万计的不同类型的驱动程序。 它的设计理念是简化驱动管理和更新的过程&#xff0c;让用户能够轻松地保持系统的最新状态&#xff0c;从而获得更好的性能和稳定性。无…

Linux高编-进程的概念(1)

目录 1.ps aux 2.top 3.kill -2 进程pid // fork函数 getpid拿自己的进程号 getppid拿父进程号 fork&#xff08;&#xff09;&&fork&#xff08;&#xff09;||fork&#xff08;&#xff09; 父子进程的关系&#xff1a; 僵尸进程&#xff0c;孤儿进程 僵…

zookeeper源码分析之事务请求处理

一.参考 zookeeper启动和选举的源码分析参考之前的帖子. 二.源码 1.职责链模式. 每次经过的processor都是异步处理&#xff0c;加入当前processor的队列&#xff0c;然后新的线程从队列里面取出数据处理. PrepRequestProcessor 检查ACL权限,创建ChangeRecord. SyncRequest…

用Python更改Word文档文本的字体

更改文字字体是编辑和美化Word文档时的一项常见需求&#xff0c;使用合适的字体不仅可以提升文档的整体视觉效果&#xff0c;还能突显关键信息&#xff0c;使得内容更加突出。然而&#xff0c;手动更改每一个文字的字体既繁琐又费时。因此&#xff0c;掌握一种高效的方法来自动…

verilog当中仿真的时候赋值用=还是<=

【总结&#xff1a;<是所有数据同时变化&#xff0c;而是顺序执行。如果是左边数据的赋值都是不关联的&#xff0c;那么就可以用<&#xff0c;使所有赋值同时有效。如果有a和b都需要赋值&#xff0c;且b的值跟a有关的同时还需要一起变化&#xff0c;那么可以用】 一般情…