论文笔记:[3D Gaussian Splatting for Real-Time Radiance Field Rendering]

1. 基础信息

  • 标题: 3D Gaussian Splatting for Real-Time Radiance Field Rendering
  • 作者与机构: Inria
  • 出处与年份: SIGGRAPH 2023
  • 项目主页:3D Gaussian Splatting for Real-Time Radiance Field Rendering
  • 主要参考:
    • 三维高斯泼溅的实践与原理 | 唐玥璨
    • bilibili up主 SY_007系列视频 【较真系列】讲人话-3d gaussian splatting全解(原理+代码+公式)【1】 捏雪球_哔哩哔哩_bilibili

2. 问题定义与动机

  • 核心问题:
    1.NeRF方法想要获得高视觉质量,需要训练和渲染成本高昂的神经网络;想要速度更快,就需要牺牲质量。
    2.目前还没有方法能够实现无界场景的完整重建和1080P分辨率的渲染

  • 研究背景与重要性:

  • 现有方法及不足:

    • 方法一: [Plenoxels: Radiance Fields without Neural Networks]

    • 方法二: [Point-nerf: Point-based neural radiance fields]
      这些方法都是通过对存储在离散表示上的值进行插值(比如point-nerf用距离权重插值 feature,得到ray上采样点的特征)

    • 不足:渲染所需的随机采样成本很高,并且可能会导致噪声

      我理解是NeRF本身的这种采样策略就不够快,一种天然的劣势

3. 方法与创新点

  • 核心思想(来自摘要):

    ​ 1️⃣ 3DGS 用连续的各向异性 3D 高斯作为显式几何原语表示场景,从稀疏点初始化,避免了传统体渲染在空空间中的大量无效计算。

    ​ 2️⃣ 通过对高斯的位置、透明度和各向异性协方差进行交错优化与自适应增密/裁剪,场景几何和外观可以高效、稳定地逐步精化。

    ​ 3️⃣ 基于可见性感知的光栅化与 α-blending,而非逐射线积分,3DGS 实现了高质量、可微渲染,从而在 1080p 分辨率下实现实时新视角合成。

    ⭐三句话,讲清楚3dgs,但是模块随之也引出了一些问题

先拿语言介绍一下3DGS的流程

​ 给定一组输入图像,利用SfM方法获得相机位姿信息,同时获得了副产物稀疏点云。将稀疏点云进行初始化,获得3D Gaussians(这个3D Gaussian包含三类参数:

  1. 几何参数:均值μ \muμ(位置)和 协方差∑ \sum(形状、尺度、各向异性)
  2. 外观参数:SH颜色系数(3阶SH函数,能够较为丰富地描述颜色随视角变化的辐射特性,反映一定的光场变换)
  3. 不透明度:α \alphaα

(其实第一次初始化得到的并不是椭球,而是各向同性的球,球的半径是通过与该点最近的3个点的距离的均值来计算出来的,周围的点越密集,这个均值就越小,球的半径就越小,生成的高斯椭球就会越密集,反之更稀疏)

此时的3d gs(Gaussians的缩写,下同)是在世界坐标系下的,并不在相机坐标系中。

世界坐标 → 相机坐标(SE(3),线性)
相机坐标 → 像素坐标(透视投影,非线性)

通过旋转和平移能够将其移动到相机坐标系中,但是椭球在光锥投影到平面是非线性的,所以要先将光锥压扁成立方体大小,这就是所谓的透视投影。

投影变换的过程是一个非线性的过程,均值(中心)是一个点,非线性变换并不会造成扭曲,但是协方差在透视投影下不能被精确地线性传播,要想办法把这个过程转换成线性过程。用到的方法就是雅各比矩阵J在局部进行一阶近似。用J来表示近似仿射变换矩阵。
∑ 2 D ≈ J ∑ 3 D J T \sum _ { 2 D } \approx J \sum _ { 3 D } J ^ { T }2DJ3DJT
协方差必须满足半正定的性质,在优化过程中可能出现无意义的协方差,所以不能直接优化协方差。因为高斯椭球可以看作是从一个圆,经过缩放s和旋转R获得的,那么就可以把这个问题转换为优化圆的R和S,来表示椭球。论文中提到,R是一个四元数,S是表示缩放的3D向量。
Σ = R S S T R T \Sigma = R S S ^ { T } R ^ { T }Σ=RSSTRT
紧接着就是光栅化(3D->2D)

  • 将屏幕划分为16×16 的 tile
  • 对每个 tile:
    • 根据 tile 对应的视锥
    • 剔除不可见的 Gaussians
    • 只保留 99% 置信区间与视锥相交的 Gaussians
  • 额外剔除:
    • 非常靠近 near plane 的 Gaussians(Jacobian 不稳定)
    • 极远处的 Gaussians(对图像无贡献)

为了获得更快的渲染速度,算法将图像分成16*16的tile(我把这个翻译成“块”),每个块中不止一个Pixel。根据相机和块形成的视锥,来选择3dgs,(因为有些gs并不存在于某些像素中,需要剔除),有些gs同时存在多个视锥中(可能是在同一个相机的多个块中,也可能是在不同相机的视锥中),因此作者有一个判断标准,如果99%,就认为该gs在当前视锥中。

Specifically, we only keep Gaussians with a 99% confidence interval intersecting the view frustum.
原文是这样说的

同时,必须拒绝旋转那些离near plane很近或者在视锥很远的gs,为什么呢?因为靠近near plane,z就会很小,在雅各比中存在z/1的项,这样就会造成某一项趋于无穷,不利于计算;在视锥很远的gs实际上可以认为是离群点,对渲染没啥作用。

排序、分块、并行渲染

  • 由于一个 Gaussian 可能同时影响多个 tile:
    • 作者为每个 tile实例化 Gaussian 引用
      (不是复制参数,而是复制索引)
  • 然后:
    • 按 Gaussian 在相机坐标系下的深度 z排序
    • 得到一段连续的 GPU 内存
    • 为每个 tile 记录一个[start, end)区间
  • 渲染时:
    • 每个 tile → 一个 GPU block
    • block 中的每个 thread → 一个 pixel
    • 对 tile 中的 Gaussian:
      • 从近到远做 α-blending
      • 当透明度累积到 1 时提前终止

做完这些之后,我就得到了256个块,并且每个块有和它对应的能看见的gs,其中必然是有重复的,比如g1既在t i l e 1 , 5 tile_{1,5}tile1,5中,也在t i l e 2 , 8 tile_{2,8}tile2,8中,所以作者将gs实例化,如果出现重复的gs,就生成多个引用实例(说白了就是复制?)那现在每个块都有了属于自己的gs,就按照深度z对所有的gs由近到远进行排序,这个z其实是经过变换的μ \muμ
这个排序的过程是在GPU上进行的,所以排序结束之后得到了一段连续的内存,存储了一个相机对应所有可见的gs的深度排序,每个块包含的gs不同,并不是每个块都能用得上所有的gs(即整个内存),所以,作者又创建了一个list,存储每个块,用到的gs的起点和重点[start,end),其实就是某一段连续的内存,相当于告诉GPU的线程,你要从哪里开始,到哪里结束,GPU只管吞吐就完事儿了。所以接下来就是将每一个块放到GPU的block上,每个block有多个thread,每个线程就针对一个像素做渲染,直到[start,end)结束,或者透明度达到1,这个线程就停止工作。所有所有所有的线程,就好像并行运算的工人,一起完成图像的渲染。渲染的结果和GT做比较,损失函数是L 1 \mathcal{L}_{1}L1L D − S S I M \mathcal{L}_{D-SSIM}LDSSIM,反向传播回高斯的透明度α \alphaα,实现优化
L = ( 1 − λ ) L 1 + λ L D − S S I M L 1 = 1 N ∑ x ∣ I r e r a d e r ( x ) − I g t ( x ) ∣ L D − S S I M = 1 − S S I M 2 \mathcal{L}= ( 1 - \lambda ) \mathcal{L} _ { 1 } + \lambda \mathcal{L} _ { D - S S I M } \\ \mathcal{L} _ { 1 } = \frac { 1 } { N } \sum _ { x } | I _ { r e r a d e r } ( x ) - I _ { g t } ( x ) | \\ \mathcal{L}_{D-SSIM} = \frac { 1 - S S I M } { 2 }L=(1λ)L1+λLDSSIML1=N1xIrerader(x)Igt(x)LDSSIM=21SSIM

梯度会反向传播到:

  • Gaussian 的位置 μ
  • 协方差参数 R, S
  • 不透明度 α
  • SH 颜色系数

虽然损失函数没有显式监督 RS,但由于 RS 决定了 splat 的形状和覆盖范围,它们会通过颜色误差被间接优化

其实到这里就介绍完了3dgs的训练,但是发现了一个问题,如果初始点不准确怎么办,如果gs优化过程中不准确怎么办,它们还会参与到排序、渲染部分,先不说大量的冗余计算,不准确的gs一定会影响结果的精度。为解决这个问题,作者参考了point-nerf的剪枝和生长,对高斯进行了自适应控制。

这里说的用论文的话讲是:3D到2D是不适定的,高斯可能会放错位置,所以需要定期新增可靠的高斯,删除/透明/缩小/挪走不可靠/不重要的高斯

创建几何

  • 新增 Gaussian(densification)
  • 细节不够就多加点

销毁 / 修正几何

  • 不重要的高斯 → 透明掉 / 缩小
  • 放错位置的高斯 → 挪走
  • 被遮挡、没用的 → “自然死亡”

首先每100次迭代,进行一次“grow and purn”(类比point-nerf)
α < ϵ α \alpha <\epsilon_\alphaα<ϵα
​ 这一步是删去本质上是透明的高斯

此外,需要填补空白区域,主要聚焦于两类情况:重建不足过度重建,这两种情况都会导致“视图空间位置梯度升高
m e a n ∣ ∣ ∂ L ∂ p v i e w ∣ ∣ > ϵ p o s e mean||\frac { \partial \mathcal{L} } { \partial p _ { view } } ||>\epsilon_{pose}mean∣∣pviewL∣∣>ϵpose
如果我在相机坐标系里轻微移动这个高斯中心,图像损失会怎么变化

  • 小 → “你动不动它都无所谓”
  • 大 → “你现在的位置很不对!”

情况一:重建不足

解释:本该有表面的地方没有高斯,梯度会把附近的高斯拉过来,使其像正确的位置移动,所以视图空间梯度会升高

解决:克隆一个高斯出来,用两个高斯扭曲填满几何区域

情况二:过度重建

解释:一个高斯覆盖了很大的区域,没有办法描述该区域的细节(光照、颜色变化),在多个视角下相互拉扯,都想让这个高斯满足几何描述,但是朝一个方向移动之后会破坏另一个方向的梯度

解决:拆分,把原来的大高斯拆分成小高斯。

  • 具体怎么做?(其实只要知道两个值就好了,一个是大小,一个是位置)

  • 大小:原本的高斯半径/1.6 这个1.6是根据实验得来的,算是经验吧(初始化是球的时候可以/1.6,迭代之后已经变成椭球了,怎么/1.6,难道是缩放尺度s的处理吗?

    是的,处理的是缩放的S,S在哪里用得到?是在∑ R S S T R T \sum RSS^TR^TRSSTRT这里用到了S)

  • 位置:位置是在现有的高斯上根据PDF进行采样,PDF采样的好处是中心落在密集的地方的概率更大

但是这种自适应调整也会出现问题,在靠近摄像机的区域,优化效果可能变弱,就会导致高斯数量的急剧增加。为什么会有这种情况,不是已经通过视角梯度约束了高斯了吗?(原文:our optimization can get stuck with floaters close to the input cameras;in our case this may result in an unjustified increase in the Gaussian density)

为什么靠近相机的区域会stuck呢?
越靠近相机(near plane),z的值就越小,极小的3D位移可能会导致很大的像素变化,所以越靠近相机,像素误差越敏感,进而影响“视图空间位置梯度”,而且靠近相机的高斯多视角一致性约束比较弱

针对这个问题,作者提出了一个方法:每隔N=3000代,将α \alphaα的值设置为接近0,设置完之后,处在正确位置的高斯:协方差正确、位置正确、颜色正确,一旦透明度不正确,损失函数会立马增大,所以会立马修正透明度,而位置不正确的高斯则被慢慢透明化。这样实现了高斯数量的控制

4. 实验与验证

  • 数据集:
    • 名称: synthetic Blender dataset、Tanks&Temples
  • 评价指标: SSIM PSNR LPIP
  • 实验结果:
    • 主实验(与SOTA对比): SOTA方法是Mip-NeRF 360,GS的速度更快;与NGP方法比质量
    • 消融实验(证明各模块有效性): No SH、No Clone、No Split,这是在验证剪枝与生长、球谐函数的作用
    • 定性结果(可视化效果): 见文章

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

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

相关文章

构建企业专属“大脑”:深度盘点知识库部署厂商、Deepseek技术合作方及BI私有化实施先锋力量

在数字化转型加速的2026年,企业对数据安全、系统自主性和响应效率的要求空前提升。面对多系统割裂、数据孤岛严重、分析滞后等痛点,越来越多的企业开始寻求企业智能BI私有化部署服务,以实现数据资产的高效治理与智能…

2026宿州聚乙烯瓶销售厂家哪家强?《2025年度Top服务商榜单与解析》

转载自:https://www.remenpp.com/rankinglis/289880.html 文章摘要 本文深度解析2025年农药包装行业竞争格局,聚焦宿州及周边聚乙烯瓶供应市场。通过权威榜单形式,从技术实力、生产规模、质量管控、客户服务等多维度…

Z-Image-Turbo部署优化:多卡GPU负载均衡实战配置

Z-Image-Turbo部署优化&#xff1a;多卡GPU负载均衡实战配置 Z-Image-Turbo是阿里巴巴通义实验室开源的高效AI图像生成模型&#xff0c;作为Z-Image的蒸馏版本&#xff0c;它在保持高质量图像输出的同时大幅提升了推理速度。该模型仅需8步即可完成图像生成&#xff0c;具备照片…

2026南通红木书桌书房品牌推荐指南

2026南通红木书桌书房品牌推荐指南行业背景与推荐依据据《2026-2030中国红木家具行业发展白皮书》数据,国内红木家具市场规模已突破1200亿元,其中中式书房家具需求同比增长18%,成为家居消费新热点。 当前市场存在材…

2026在线证件照制作工具怎么选?多款产品体验对比后的真实体验

随着线上办事场景不断普及,证件照制作正逐步从线下照相馆转向线上平台。“有什么在线证件照制作工具可以直接用”“哪个更靠谱”“有没有好用的小程序”——这类问题正在各类搜索平台和社交平台中频繁出现。在大量产品…

用 Command 模式构建可扩展的命令行工具

用 Command 模式构建可扩展的 C# 命令行工具(支持多命令与路径解析) 在开发工具型程序(如:数据转换、图像处理、批处理工具)时,一个常见的演进过程是:一个 Main → 一堆 if-else → 越来越难维护本文介绍一种工…

详细介绍:Django与前端框架集成:Vue.js、React的完美配合

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

告别笨重 Jenkins,试试轻量级开源 CI/CD:Arbess

日常研发过程中&#xff0c;为了提高软件构建、发布、测试效率&#xff0c;快速交付系统&#xff0c;会使用一些CI/CD工具。Jenkins作为老牌的CI/CD工具&#xff0c;拥有强大的插件体系&#xff0c;但插件安装配置复杂、插件之间各种不兼容&#xff0c;Jenkins在用户权限管控方…

2026年北京美国本科留学机构服务机构解析:美国藤校申请 /美国本科申请 /美本活动规划 /美国留学招生官/美国本科前30深度解析

根据美国国际教育协会的公开数据,2024年中国留学生人数已连续多年稳居美国国际生源首位,其中本科阶段申请竞争尤为激烈。在此背景下,超过40%的申请者选择通过专业机构提升自身竞争力。北京作为全国教育资源中心,汇…

从功能到性价比,这款国产PCB设计软件值得推荐

在当前半导体产业链加速重构的背景下,国产PCB软件的重要性日益凸显。作为电子系统研发的关键环节,自主可控的EDA工具不仅关乎设计效率,更直接影响供应链安全。面对国外长期主导的市场格局,越来越多企业开始关注真正…

Day19简单和引用数据类型

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">&…

南通红木沙发制造工厂、南通红木餐桌椅、南通缅甸花梨家具厂、南通苏作红木家具厂、小叶紫檀家具、明式家具定制工厂、清式家具工厂选择指南

2026热门红木衣柜定制优质工厂推荐行业背景与筛选维度说明据《2026-2030中国红木家具行业发展白皮书》数据显示,国内红木定制家具市场年复合增长率达12.3%,其中卧房红木衣柜定制需求年增速突破15%,成为红木家具细分…

2026年陕西省叛逆学校推荐TOP3:圆梦育德领衔,专业赋能青少年成长

在青少年成长过程中,叛逆、网瘾、厌学等问题常让家庭陷入困境。选择一所正规专业的叛逆教育学校,成为不少家长的迫切需求。本文基于办学资质、教学经验、口碑反馈等核心维度,筛选出2026年陕西省优质叛逆学校TOP3,涵…

max-num-batched-tokens计算方法

目录1️⃣ 参数本质回顾2️⃣ 理论计算方法3️⃣ 一般范围seq计算1️⃣ KV cache 本质2️⃣ 假设参数3️⃣ 代入公式4️⃣ 面试说明点 明白,你想深入了解 --max-num-batched-tokens 的范围和计算方法,不仅是经验值,…

2026年1月钛管/钛棒/钛锻件厂家Top5推荐:实力企业精选,覆盖多场景钛材需求

随着航空航天、化工、医疗等领域对高品质钛材的需求持续攀升,钛管作为核心构件,其质量稳定性与供应可靠性成为企业选型的关键。以下结合行业口碑、技术实力、产品覆盖度等多维度,精选5家优质钛管厂家,均为行业内真…

复健刷题日记

前言 因为高中毕业了,所以要打ACM了。但是刚升入西交,所以选择先花一个学期适应新生活,于是复健的任务自然而然拖到寒假才开始。 题单大部分来自300ids blog,可能会自己加一些其他的题。 争取寒假结束能回归CF正途…

丽水市莲都青田缙云遂昌松阳区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜推荐

经教育部教育考试院备案、全国雅思教学质量评估中心独家指导,参照《2025-2026中国大陆雅思备考趋势白皮书》核心指标,结合丽水市莲都区、青田县、缙云县、遂昌县、松阳县10600份考生调研问卷、118家教育机构实地探访…

2025年汽车托运行业口碑标杆企业,汽车托运推荐榜单技术实力与市场口碑领航者

随着汽车消费市场的持续活跃与人口流动性的增强,汽车托运服务已成为连接车主与目的地的重要桥梁。面对市场上众多的托运服务商,消费者往往难以抉择。一份基于公开市场数据、用户反馈及企业综合实力评估的榜单,或能为…

2026靠谱走心机厂家 TOP8 实力排名!台群精机蝉联头部

一、行业背景与用户核心关注维度 随着 3C 电子、新能源汽车、人形机器人、航空航天等高端制造领域的快速升级,市场对精密加工设备的需求持续爆发,走心机作为小直径精密轴类零件加工的核心设备,其性能直接决定了终端…