论文阅读:3D Gaussian Splatting for Real-Time Radiance Field Rendering

news2024/11/13 6:44:19

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

代码地址:graphdeco-inria/gaussian-splatting: Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering" (github.com)


概要

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

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

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

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

Motivation

  • 引入各向异性3D高斯球作为辐射场的高质量、非结构化表示。
  • 一种3D高斯属性的优化方法,与自适应密度控制交织在一起,为捕获的场景创建高质量的表示。
  • 一种适用于GPU的快速可微渲染器。

系统框架

本论文的核心在于3D高斯函数的场景表达方式以及快速渲染的方法。3D高斯的表达方式能够准确、紧凑、可微地表达三维场景。而基于分块的快速渲染方法保证了渲染质量的同时提高了训练和渲染速度。给定输入:经过SFM 校准后的图像以及SFM输出的稀疏点云。该方法整体如下图所示:首先从SFM得到的稀疏点云构建三维高斯函数,在训练过程中通过可微的快速渲染器对3D高斯函数的属性进行优化,并交替进行自适应密度控制。

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

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

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

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

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

技术细节

可微三维高斯表达方式

这一部分的目标是从无法向量先验的SFM点云中构建出可以渲染出高质量新视图的场景表达方式。

三维高斯的自适应密度优化

该方法的核心是优化过程的设计,除了优化三维高斯属性中的位置  、不透明度  以及协方差矩阵  外,还会优化  球谐系数以捕获视角相关的外观和颜色  。这些参数的优化与自适应密度控制交替进行。

最终的loss是通过二维图像计算得到的,而在三维投影到二维的过程中必然会产生歧义。因此本方法采用的三维高斯表达方式能够在网络的优化过程中能自适应的调整高斯核的数量,即自适应密度控制。

具体来说,这样一种自适应密度控制的方法能够识别出缺失几何特征的“未完全重建区域”以及高斯函数覆盖过广的“过度重建区域”。实验观察表明,出现这两种重建的错误的区域中,视图空间的位置梯度都很大,这是由于网络优化尝试移动高斯分布以纠正这种情况。这也就为识别这些重建错误的区域提供了便利,该方法将位置梯度阈值  设为0.0002,下图3是该方法针对这两种情况作出的不同处理的示意图:

首先,对于“未完全重建区域”,我们需要覆盖3D高斯到需要重建的几何处。因此该论文中采用的方法是将原有的3D高斯克隆一份相同大小的,并沿位置梯度方向移动到新的位置。其次,对于“过度重建区域”,该论文中采用的方法是将过大的3D高斯分解为两个小的,缩小幅度  为1.6,同时使用原有3D高斯的PDF来进行采样初始化新3D高斯的位置。

为了防止产生过量的3D高斯以及floater,本论文中还采用周期性重置不透明度  为零以及移除较大的3D高斯用于避免重叠。

用于三维高斯的快速可微光栅化

为了实现高效的高斯函数光栅化和渲染,该论文提出了一种基于瓦片的光栅化器,主要包括以下几个步骤和特点:

1. 瓦片划分与高斯剔除

  • 将屏幕划分为16x16的区域(瓦片),然后在每个区域内进行高斯剔除。
  • 剔除的原则是只保留那些与视锥体内相交,且置信度达到99%的高斯函数,这样避免了不必要的计算。
  • 引入了保护带(guard band),用于剔除处于极端位置、不必要的3D高斯函数,进一步提升剔除效率。

2. 排序与实例化

  • 剩余的高斯函数依据它们覆盖的区域数量实例化,每个实例被分配了一个“键值”(key),该键值包含视图空间中的深度信息以及瓦片区域的ID。
  • 使用快速的GPU基数排序算法对这些高斯函数进行排序,这一操作确保渲染过程中从前至后处理更为有效。

3. 区域列表与线程并行

  • 排序完成后,为每个瓦片区域分配一个列表,列表包含了按深度排序的高斯函数的第一个和最后一个条目。
  • 在光栅化阶段,每个区域启动一个GPU线程块,首先将对应高斯函数的数据加载到GPU共享内存中。
  • 线程块通过从前到后遍历高斯函数列表,为像素累积颜色和不透明度值,并在像素达到目标饱和度时停止相应的线程,从而提高并行处理效率。

4. 高效的梯度计算

  • 论文还提出了一种新的反向传播中高效计算梯度的方法。
  • 在前向过程中,只需存储每个点累积的总透明度 α\alphaα,而不是每个点的具体α\alphaα值。
  • 在反向传播过程中,通过将该点的总透明度除以每个点的透明度来计算梯度系数,从而减少了内存消耗和计算复杂度。

小结

总共13个真实场景上测试了算法,这些场景取自以前发布的数据集和合成的Blender数据集。特别是,在Mip-Nerf360 [Barron 2022] (NeRF渲染质量目前处于最先进水平)中提出的全场景、来自坦克和寺庙数据集的两个场景[Knapitsch 2017]和深度融合[Hedman 2018]提供的两个场景上测试了所提出方法。

近年来,在计算机视觉和三维重建领域,NeRF受到了越来越广泛的关注。虽然NeRF能够渲染出高质量的图像,但受到神经网络训练速度以及体渲染速度的限制。这类方法经常会面临速度和质量的抉择难题,同时渲染的实时性也是个限制NeRF使用扩展的重大问题。本工作首先基于SFM的点云设计了能快速精确表达场景的3D高斯函数,并以此开发了可由CUDA加速的渲染算法,实现了辐射场的实时渲染。这是其他基于点云的NeRF类方法无法做到的。

该工作兼具高效与质量的优越性,在未来结合该3D高斯表示形式,可以进一步用运在动态场景、三维生成以及SLAM-based的NeRF运用场景中。

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

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

相关文章

React18快速入门

https://www.bilibili.com/video/BV1pF411m7wV 需要先安装并配置React相关的工具和插件 下载安装Node.js,这里以MacOS Node.js v22.6.0为例 终端命令行检查是否安装成功 node -v npm -vNode.js快速入门 npm设置镜像源 #设置为阿里镜像源 npm config set regist…

精准控图工具 Concept Sliders:超好用的 控制 Lora 适配器

Concept Sliders 你有没有遇到这样的情况?你花费大量时间制作提示和寻找种子,以使用文本到图像模型生成所需的图像。但是,你还需要对生成图像中的属性强度(如眼睛大小或照明)进行更细致、更精细的控制。修改提示会破坏…

141. 环形链表、142. 环形链表 II

题目 思路 链表无环情况:有空结点 链表有环:有些结点会重复 所以 用集合(哈希表)来记录遍历的结点 结点不存在,则将结点加到集合中,当遍历到的结点存在集合中,即为链表环开始的结点&#xff0c…

遥控器握杆的几种常见方式!!!

1. 双手持握法 站姿操作:站立时,两脚分开,比肩略宽,以保持身体稳定。双手持握遥控器的两侧,保持放松状态。 细节技巧: 轻轻地用无名指和小指托起遥控器,掌心和遥控器之间留有一定的空隙。 遥…

华为网络多生成树协议

多生成树协议 一个或多个vlan可以映射到同一个生成树中; MSTP将一个网络划分为多个域,每个域有多个生成树,域间利用CIST 公共与内部生成树commonand internal spanning tree 保证拓扑结构无环路; 实例即多个vlan的集合&#xf…

facebook投放版位选择技巧

卖家若想通过Facebook广告推广业务,首先需要了解Facebook广告的版位和展示位置。 Facebook广告版位包括动态消息、桌面右边栏、移动应用受众网络、Instagram版位和视频插播广告。动态消息版位分为桌面版和移动版,支持多种广告目标,如主页赞、…

算法-简化路径(71栈)

这道题,首先开头肯定是“/"而且不同级目录之间都是用"/"分割 所以我们首先将路径按”/“分割并把分割后的字符放到一个新的字符数组里面 然后开始遍历,如果为空或者.则忽略 如果为..则为返回上一级目录,栈顶弹出一个元素 否…

Spring MVC 处理请求

Servlet初始化 DispatcherServlet( 前端控制器 )是 Spring MVC中最核心的一个类, 它负责请求的行为流转, 接收请求、响应结果, 相当于转发器 。 那么在Servlet的初始化阶段,会调用 init() 方法进行各个组件的初始化操作,该方法 由其父类Http…

2024年9月15日(星期天)骑行古莲村

2024年9月15日 (星期天)骑行古莲村,早8:30到9:00,大观公园门口集合,9:00准时出发【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点:大观公园门口集合 ,家住东,西,…

IGNAV_NHC分析

extern int nhc(insstate_t *ins,const insopt_t *opt,const imud_t *imu)函数名 insstate_t* ins IO ins state insopt_t* opt I ins options imud_t* imu I imu measurement data return : 1 (ok) or 0 (fail) 用NHC进行约束,其实用NHC做量测去…

Amazon EC2:灵活、可扩展的云计算解决方案

在当今数字化快速发展的时代,企业面临着不断变化的市场需求和技术挑战。为了保持竞争力,许多公司正在转向云计算,以提高业务的灵活性和可扩展性。而在众多云服务提供商中,Amazon Elastic Compute Cloud(EC2&#xff09…

Initializing libiomp5md.dll, but found libiomp5md.dll already initialized

情况一:之前没有任何下载安装等其他异常操作,则直接使用的时候报错了。 可以检查一下自己anaconda的安装路径中是否存在两个该dll文件。比如我在pycharm中使用的是虚拟环境pytoch1.7,在pycharm的右小角可以看到自己当前使用的环境。 找到该环…

发展绿色新质生产力,创维汽车亮相2024国际数字能源展

2024年9月8日,2024国际数字能源展在深圳会展中心(福田)拉开帷幕,展会以“数能先锋 智创未来”为主题,设立7大展区,助力国内外供采链条对接交流。创维光伏储能以及搭载闪放闪充技术的创维汽车亮相此次会展。…

泽众ALM全新升级:多维度优化软件研发管理

泽众ALM(覆盖全生命周期的研发过程管理平台),迎来了新一轮的更新。本次更新涵盖了需求管理、评审中心、环境管理、代码库管理、报工管理等多个模块,进一步提升了软件研发团队的协作效率与项目管理水平。 泽众ALM平台 一、需求管理更加灵活多样 本次更新…

Open-Vocabulary SAM: 分割并交互式识别两万类别。

摘要 CLIP和Segment Anything Model(SAM)是杰出的视觉基础模型(VFMs)。SAM在多个领域的分割任务中表现出色,而CLIP以其零样本识别能力而闻名。本文深入探索了将这两种模型整合到一个统一框架中。具体来说,…

【Linux】Ubuntu 22.04 shell实现MySQL5.7 tar 一键安装

参考 https://blog.csdn.net/qq_35995514/article/details/134350572?spm1001.2014.3001.5501 在原作者基础上做了修改,加了一个删除原有mysql 的脚本 文章目录 一、安装下载**my.cnf 配置文件** 二、执行安装**install_mysql.sh 安装脚本**本机免密脚本 ssh_keyge…

上汽大众:存储成本节约85%,查询性能提升5倍|OceanBase案例

近日,上汽大众汽车有限公司(简称“上汽大众”)的积分卡券等关键业务系统,已成功升级至 OB Cloud 云数据库。借助 OceanBase 原生分布式数据库的卓越性能与先进技术,实现了存储成本的大幅降低,高达85%&#…

解锁多语言洞察力:使用 Python、LangChain 和 Vector Database 翻译数据集

作者:来自 Elastic Jessica Garson 将数据集从一种语言翻译成另一种语言可能是一种强大的工具。你可以深入了解以前可能无法获得的数据集,例如检测新的模式或趋势。使用 LangChain,你可以获取数据集并将其翻译成你选择的语言。翻译数据集后&a…

游戏出海迎新变局——海外游戏市场有哪些新趋势和新机遇?

游戏出海的热度越来越高,也面临着竞争加剧、门槛提升、成本增加的现实环境,游戏出海有哪些新变化和新趋势? 移动游戏出海的主要海外市场 在海外市场分布方面,美日韩仍然是我国移动游戏重要的海外市场,占据了中国出海…

mfc140u.dll丢失有啥方法能够进行修复?分享几种mfc140u.dll丢失的解决办法

你是否曾遇到过这样的情况:当你满怀期待地打开一个应用程序时,却被一个错误提示拦住了去路,提示信息中指出 mfc140u.dll 文件丢失。这个问题可能会让你感到困惑和无助,但是不要担心,本文将为你详细解读 mfc140u.dll 丢…