【3D-GS】Gaussian Splatting SLAM——基于3D Gaussian Splatting的全网最详细的解析
【总结】
本文本介绍了3D-Gaussian Splatting(三维高斯抛雪球)技术及其在SLAM(同步定位与地图构建)中的应用。该方法基于高斯分布实现对三维场景的高效渲染和重建。
基本概念与优势
3D-GS通过扩展一维高斯分布至三维空间(协方差矩阵),实现了对三维场景的精确建模。其核心在于将体素视为均匀分布的球体进行投影,并结合前向变换(如相机位姿估计),实现了高效、实时的渲染效果[1]。
高斯分布与光栅化
该方法通过光栅化过程将三维模型转换为二维图像形式。具体而言,在视锥体内对每个体素进行插值并累积颜色与深度信息[2]。
自适应控制与优化
通过自适应控制调整Gaussian模型的数量和位置以优化渲染效率。该过程分为两种模式:under-reconstruction区域需覆盖小规模几何体;over-reconstruction区域需避免过度覆盖[4]。
快速可微光栅化技术
该技术利用预计算梯度及GPU并行处理加速光栅化过程。具体包括预计算梯度、按梯度排序及逐像素合成等步骤[5]。
α-混合技术
用于实现透明物体的合成效果,在保持高质量的同时提升渲染效率[6]。
研究进展与挑战
文献综述显示当前研究主要集中在高效实现上,并提出了多个优化方向[7]。然而仍需解决更多复杂场景下的鲁棒性和实时性问题[8]。
总结而言,3D-GS作为一种创新性的几何表达方式,在SLAM等应用场景中展现出巨大潜力;但其复杂性和计算需求仍需进一步探索以实现更广泛的应用[9]。
【3D-GS】Gaussian Splatting SLAM——基于3D Gaussian Splatting的定SLAM
-
- with the integration of Nerf and Gaussian Splatting, the framework of 3D-GS is established
-
-
- Nerf serves as the pioneering technology
- Gaussian Splatting forms the essential pillar of this framework
- What is the mathematical derivation behind 3D Gaussian?
- How is the process of lighting simulation implemented?
- Can you explain the concept of point cloud rendering?
- What optimization techniques are employed for cross-correlation?
- How does adaptive sampling influence rendering quality?
- What makes implicit surface modeling computationally efficient?
- How is differentiable rendering integrated into training pipelines?
- What is the role of alpha blending in final image synthesis?
- The detailed explanation will be provided in subsequent sections
- In applications such as SLAM and multi-view reconstruction, this system achieves state-of-the-art performance
-
-
- with the integration of Nerf and Gaussian Splatting, the framework of 3D-GS is established
3D-GS 与 Nerf 和 Gaussian Splatting
3D Gaussian Splatting for Real-Time Radiance Field Rendering
该学术文章的官方代码base可在此仓库中获取:链接;该代码base的官方存储库可通过以下链接访问:链接
1. 开山之作 Nerf
NERF
NERF
NERF
NERF
NERF
NERF
NERF
NeRF相关数据集
在相关研究的基础上,在该研究方法下,
该模型其输入为五个维度的空间位姿参数(x,y,z,Yaw,Pitch),输出则为四维空间中的RGB颜色值及透光率参数。
该模型有哪些局限性和优势?
逼真的渲染效果: NERF能够呈现高质量的三维重建图像与视频序列,并通过深度学习技术实现其生成的图像与真实拍摄的照片或视频难以分辨。
灵活性与扩展性: 该技术支持从不同角度对复杂几何体进行建模,并能有效处理室内外不同环境进行模拟。
易用性: 仅需少量数据即可完成模型训练,并能在当前主流硬件上实现快速训练及推理过程。
缺点包括:
计算资源消耗大: NERF在训练与推理阶段对计算资源的需求较高。
数据量要求高: NERF要求大量数据来训练出高质量的模型。
**模型泛化能力不足:**NERF模型通常仅适用于与训练数据相似的场景。
以下是NERF算法的具体应用:
虚拟现实与增强现实: NERF 主要用于生成逼真场景并提升增强现实效果。
3D 建模: NERF 主要基于图像数据和视频序列生成三维模型及其细节特征。
逆向渲染: NERF 主要应用于从二维图像推导三维场景几何信息及材质特性。
以下是对 NERF 算法的研究重点:
提高计算效率: 研究团队正在设计高效且可靠的Nerf训练与推理方案。
提高数据效率: 研究人员正在开发能够从有限数据中提取足够特征的Nerf模型。
提高泛化能力: 研究人员正致力于构建能够在不同环境和条件下表现稳定的Nerf模型。
总体而言,NERF作为一项极具前景的技术,在3D建模与渲染方面展现出显著的优势。随着技术研究的深入发展,NERF算法有望在未来更多领域实现应用落地。
此外,NERF 还存在一些潜在的风险和挑战,包括:
模型偏见: NERF 模型可能受到训练数据中的偏见影响而导致生成结果不够准确或存在偏差。滥用风险: NERF 技术可能会被错误地用来产生虚假信息或宣传材料。
2. 扛鼎之作 3D Gaussian Splatting
该方法被认为是近期在NeRF领域取得的重要进展。其显著优势在于能够在保持较高重建质量的同时兼容传统光线采样技术。通过短时间的模型训练即可达到当前最优水平下的实时渲染能力,并支持高分辨率(≥1080p)下流畅生成新视图(≥ 30 fps)。作为开创性的研究,《3D Gaussian Splatting for Real-Time Radiance Field Rendering》一文不仅在学术界获得了高度评价,更在SIGGRAPH 2023年会上被选为最佳论文。
首先,3DGS可以认为是NeRF的一种,做的任务也是新视图的合成 。
NERF
此外,何的隐式表达可以分为体积类表达和表面类表达两种:
基于几何密度参数化的NeRF方法能够有效决定各采样点颜色的贡献度。在符号距离函数SDF计算各采样点到最近表面的距离时(其中正值代表该点位于表面外侧、负值代表该点位于表面内侧),隐式曲面方法倾向于赋予越接近物体表面的采样点更高的颜色贡献度。由于存在隐式表示法(Implicit representation),自然会对应出一种显式的几何表征方式(Explicit geometry),例如像点云模型或三角剖分网格模型这样能够完整覆盖所有细节的空间离散化方法。这种显式的几何表征通过这种方式将物体的所有顶点信息进行完整保存。
在渲染过程中,在渲染过程中
相比之下,在3D Gaussian Splatting方法中
2.1 什么是3D高斯?高斯由1D推广到3D的数学推导
对于常见的高斯函数而言,在其本质上属于一维形式的正态分布:f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}其中:
μ 代表正态分布的数据集中心位置的平均数。
σ 作为衡量数据集中离散程度的标准偏离量。

对于区间内的x值域,计算其积分即可得到该区间内数据出现的概率密度累积值;其中超过99.74%的数据点将集中在3σ范围内(即概率达到0.9974)。由此可知,一组均值μ和标准差σ参数能够唯一确定一个一维高斯分布模型,从而也就能够用这俩参数定义一条线段的位置和长度。类似地,将这种思路扩展到三维空间中,则可确定一个椭球体;这个椭球体分别关于xyz三个轴面对称:尽管如此,由于该椭球体可以在空间中自由旋转移动位置,因此其坐标轴方向并不一定与全局坐标系一致。而标准形式下的三维高斯分布方程则为:
G(x) = \frac{1}{\sqrt{2 \pi \sigma^2}} \exp \left[ -\frac{(x - \mu)^2}{2 \sigma^2} \right]
这就是一维高斯分布的概率密度函数表达式

与标准形式相比,则省略了指数项前的尺度系数(对椭球的几何形状没有影响):默认模型坐标系中心位于原点,并便于进行旋转和缩放操作;当将其放入世界空间时,则需再添加平移变换。因此,在初始化该三维高斯分布时,仅需协方差矩阵这一参数即可。
论文中详细阐述了初始化方法。
三维高斯分布的概率密度函数(PDF)定义如下:
f(x, y, z) = \frac{1}{(2\pi)^{3/2} \sigma^3} e^{-\frac{(x-\mu_x)^2 + (y-\mu_y)^2 + (z-\mu_z)^2}{2\sigma^2}} (2)
其中:
μ_x, μ_y, μ_z 是高斯三维空间中的均值坐标点。 σ 代表数据在三个维度上的离散程度。 将一维扩展至三维空间的过程可分解为以下几个步骤:
优化均值参数: 将一维高斯分布的均值参数 μ 优化为一个三维向量 μ = (μ_x, μ_y, μ_z)。
扩展方差参数: 将其一维方差参数扩展为一个三维对角矩阵 Σ = diag(σ^2, σ^2, σ^2)。
构建多维模型: 通过构建多维高斯分布模型来推导联合概率密度函数。
以下是详细的数学推导:
- 扩展均值
高斯1D分布的均值参数 μ 对应于数据中心的位置信息。在三维空间坐标系中,数据中心的位置信息可被表示为一个三维向量形式:μ = (μ_x, μ_y, μ_z)。
- 扩展方差
高斯1维的变异性 σ^2 用于衡量数据的分散程度。在三维空间中,则能用一个三维对角矩阵来描述各个维度的数据变异性。
- 使用多维高斯分布公式
其多维高斯分布的概率密度函数形式为:
f(x) = \frac{1}{(2\pi)^{n/2} |\Sigma|^{1/2}} e^{-\frac{(x-\mu)^T \Sigma^{-1} (x-\mu)}{2}} (3)
其中,
x
代表样本数据向量,
\mu
是均值参数向量,
\Sigma
是协方差矩阵,
n
表示样本数。
n 代表了数据的空间维度。
协方差矩阵Σ通过影响椭球沿三个主轴方向的比例缩放及其旋转行为来定义模型空间中的几何形状特性;其中这些特征向量对应着椭球对称轴的方向。
均值向量μ则确定了该几何体在三维坐标系中的核心位置;其对应于三维空间中确定该椭球的核心位置。
将这些关键参数代入高斯分布模型中,则可推导出高斯3D的概率密度函数表达式。
f(x, y, z) = \frac{1}{(2\pi)^{3/2} \sigma^3} e^{-\frac{(x-\mu_x)^2 + (y-\mu_y)^2 + (z-\mu_z)^2}{2\sigma^2}} (4)
同样地,在将这一思路推广至三维空间中时
在完成论文撰写的过程中,在实际应用中对模型进行了简化处理:其中,论文中的3D Gaussians具体表示为公式(5)。
f(x) = e^{-\frac{(x)^T \Sigma^{-1} (x)}{2}} (5)
通过对比标准形式可以看出,在椭球几何中省略了缩放因子(即尺度系数);默认情况下,默认设置下模型坐标系的中心位于原点,并且便于执行旋转与缩放操作,在将该局部坐标系转换至世界空间时需要附加平移操作以完成整体定位。对于高斯椭球体的初始化过程而言,在这种情况下仅需提供协方差矩阵这一单一参数即可完成定义。论文中所给出的具体初始化方法如下所述:
Σ = RSS^TR^T
其中S表示沿坐标轴方向的三维缩放变换(用一个标量向量s来表示),R表示旋转变换(可以用四元数q来描述)。这是因为椭球可以通过先沿各轴进行缩放再执行旋转变换来实现形状构建。而在此梯度下降优化过程中,则是对缩放因子s和旋转四元数q这两个参数进行优化以求得最优解。
总结:其核心包含三个关键步骤:逐步展开均值计算、持续优化方差估计以及构建多元化的概率密度函数体系。
这一转换过程体现了如何将传统的单变量(1D)概率模型成功拓展至复杂的多元(multidimensional)场景中。
并且能够在多维度空间中精确描绘数据的整体特征与内在关系。
高斯3D的应用实例:多维数据处理: 高斯3D可用于对多维数据进行去噪和平滑处理。三维重建技术: 该技术可从二维图像生成三维模型并实现细节增强功能。特征识别系统: 高斯算法可有效识别复杂场景中的关键几何特征。
高斯算法作为三维空间数据建模的核心方法,在数据分析领域发挥着重要作用。
2.2 什么是光栅化?
光栅化即为将顶点数据转换成片元(每个片元对应于屏幕上的一个像素)的过程。
在光栅化处理中,片元被定义为屏幕上每一个可见的像素单元.该过程通过将三维模型中的顶点数据映射到二维屏幕像素中实现图形呈现.
具体来说,光栅化过程包括以下步骤:
三角形设置: 将3D模型的所有几何体分解为三角形网格结构。
三角形遍历: 对每一个三角形执行详细处理操作。
插值: 根据计算结果为每个像素设置相应的属性参数。
填充: 通过计算结果确定各像素的属性参数,并将其应用到相应区域。
在插值过程中会采用顶点数据来进行各项属性的精确计算。
如颜色属性而言,则会基于顶点的颜色信息进行线性插值运算;而对于深度信息,则采用顶点存储的深度值来进行插值运算。
该完整的过程实现可以通过工程代码的方式进行构建;见draw_depth_map.rar
由此可见,片元被视为光栅化过程中用于表示屏幕上单个像素**的数据结构...。片元数据通常包含以下属性:
颜色:每个像素的色彩信息主要涉及其明暗和色调的变化范围与层次感表现。
深度:每个像素携带的深度信息反映了其在三维空间中的位置关系与远近层次感的表现情况。
纹理坐标:纹理映射所需的坐标参数主要决定了贴图在三维模型表面的具体分布与覆盖效果。
其他属性:其他关键属性包括表面法线向量与环境光照明度设置等信息,在渲染过程中起到辅助表现材质特性和光照效果的作用。
【光栅化
传统光栅化(rasterization)的核心内容之一是将三维三角形映射到投影平面并将其分割为像素单元(即通过将矢量数据分解为单个像素单元来进行图像生成的过程)。这一过程涉及将三维模型中的几何形状分解为二维像素信息,并根据屏幕分辨率确定每个像素的具体位置与属性。通过这种方式,在计算机屏幕上生成图像时能够实现精确的分辨率控制与细节表现。光栅化技术在现代计算机图形学中占据着核心地位,在实现图形显示与实时渲染方面发挥着不可替代的作用。这种技术不仅在视频游戏开发中得到广泛应用,在虚拟现实模拟器等实时渲染场景中也发挥着关键作用。通过高效的光线追踪或几何变换算法优化后,在保证画质的同时还能显著提升渲染速度以满足复杂场景下的实时需求。
光栅化主要负责将顶点数据转换为片元(即屏幕上的像素单元)的过程。每个片元对应于帧缓冲区中的一个特定像素位置。其本质是将几何图形转换为二维图像的表现方式。该过程可分为两个主要步骤:
第一步:判断哪些整型栅格区域被基本图元所覆盖;
第二步:为每个区域分配颜色信息和深度信息。光栅化最终生成的就是这些片元数据。
由于在图形学中可以将其视为几何体的基本形状,三角形的重要性不言而喻。其展现出诸多优势:
(1)作为最简单的多边形之一,它成为构成复杂图形的基础单元,这是因为任何其他多边形都可以分解为多个三角形单元。
(2)任何一个平面内的三点必然共面;而四个点则未必共面。(3)借助向量叉积运算,能够明确判断给定点是否位于三角形区域内
2.3 什么是Splatting?
通过将椭球(基于三维高斯分布的结果)投射至投影平面后生成的二维图形被定义为Splatting。
Splatting, known as "snowballing" in computer graphics, is a method that employs 3D points for rendering. It involves treating each 3D point as a snowball being tossed onto an image plane. The resulting marks left by these snowballs form diffusive patterns. The combination of these diffusive patterns results in the final rendered image, specifically tailored for point cloud visualization.
为了实现椭球(即基于3D高斯模型所得出的表达式)的光栅化过程,则需要由开发者自行利用GPU技术完成这一操作。在将该椭球投影至投影平面后所形成的二维图形被称为Splatting图形。值得注意的是,Splatting算法与传统的光线投射法存在显著区别:它是通过不断累加各体素在其投影区域的影响来计算整体效果的一种方法。具体而言,在这一过程中系统会利用所谓的"足迹"函数来确定每个体素在其影响区域内对光线强度分布的作用范围,并结合高斯函数来定义单个像素或小区域内的亮度分布情况;最终能够准确地计算出每个体素对该图像的整体贡献值,并完成相应的合成操作以生成最终结果图象。这种方法之所以被称为Splatting图形渲染技术,则是因为它模仿了类似雪人被抛射至墙面时留下的模糊印记这一现象
对于3D高斯分布函数,在模型空间中以协方差矩阵 Σ 的形式确定了其形状和旋转位置;接着通过椭球中心点 u 实现从模型空间到世界坐标的平移操作。在进行图像渲染时首先要执行视图变换(即视角转换),将其移动至相机坐标系;随后应用投影变换(通常采用透视投影模型),确保投影后的图像能够正确对应像素网格。这一过程完全属于计算机图形学范畴,在实现过程中需将不同坐标系间的转换关系明确到位:即通过公式表示各坐标系间的映射关系:Σ' = JW Σ W^T J^T其中变量代表如下:视图变换操作由矩阵 W 描述;投影变换则由矩阵 J 完成,并对其进行了仿射近似处理后计算相应的雅克比矩阵 (Jacobian) 来完成坐标的精确转换。
经过变换后的分布与画布像素实现了对齐关系,在沿第三维方向进行积分计算时,则可以确定椭球在每个像素点上的着色值。基于3D高斯模型的特性,在特定轴向上的积分结果呈现为二维高斯分布形状。因此,在这一阶段我们可以通过二维高斯模型直接替代积分过程,并且这也正是该方法运算速度较快的主要原因。
2.4 什么是交叉优化?
在该领域中交叉优化是一种高效渲染技术,在3D高斯splatting中涉及这一技术。这种技术通过减少每个split的数量来提高效率,并不影响图像质量。
交叉优化的核心策略是将多个实例整合成一个更大的实例。具体而言,可以通过以下两种途径来实现:一种是通过数据融合算法提升整体性能;另一种则是采用分布式计算技术缩短处理时间。
空间合并: 将具有相邻位置的splat归并为一个较大的splat。
属性合并: 将属性相同的splat整合为一个更大的splat。
通过空间合并技术,在不降低图像质量的前提下显著减少了splat的数量。
这有助于减少splat的数量,并维持图像质量。
因为相邻的两个或多个splat往往具有相近的颜色和深度信息。
通过属性合并的方式,可以进一步降低 splat 的数量;其原因在于具有相同属性的 splat 可以使用相同的渲染设置来进行相应的渲染。
交叉优化策略能够明显提升 3D 高斯 splatting 的渲染性能。通过降低 splat 数量,减少了对 GPU 内存和计算资源的需求。
研究的核心在于对3D Gaussian模型进行优化,在此过程中我们旨在构建一系列高密度的3D Gaussian分布以精准描绘场景特征。该研究涉及的关键参数包括三维位置坐标p、透射率α、各向异性协方差矩阵Σ以及球谐函数展开系数SH(spherical harmonic expansion coefficients)。这些关键参数通过交替优化的方式与自适应调控的高斯模型实现协同工作

请注意查看以下信息:图中的球谐系数 SH (spherical harmonic coefficients) 用于表示每个高斯的色调。各视角下的色调呈现差异。
参数优化采用SGD连续迭代的方式实现,在每一轮迭代过程中会生成图像并与其真实的训练视图进行对比分析;α参数通过Sigmoid函数将其限定在0到1之间;σ分支则采用指数激活函数;其学习率衰减策略采用指数式下降策略以提升优化效果;模型的整体损失由L1范数与改进型SSIM(D-SSIM)两项组成:
L = (1 - \lambda)L_1 + \lambda L_{D-SSIM}
2.5 什么是自适应控制?
在 3D 高斯 splatting 中,
动态调节机制是一种用于控制 splat 大小和位置的技术。该技术通过基于场景复杂度调整 splat 的大小(大或小)以及改变其位置来实现目标:即确保图像质量和提升渲染效率。
自适应控制的核心理念在于,在复杂的场域中采用较小数量的splat,在简单的场域中则采用较大的数量。其主要原因在于,在复杂的场域中必须依赖更多数量的splat以维持图像质量;而在相对简单的场域中,则能够通过减少splat的数量来实现相同的图像效果。
改写说明

在初始化阶段为稀疏场景构建高斯点云模型后,在观察所重建场景的空间梯度分布特征基础上动态调节高斯模型数量及其单位体积内的密度分布的过程中逐渐演进至更加密集且更适合场景细节表示的高斯集合。这一策略主要关注于具有显著空间梯度变化区域的重建质量提升:即那些尚未完全重建完成的空间位置梯度较大区域。由于这些区域当前重建状态尚不够完善,在优化过程中需要通过移动高斯函数来修复重建偏差。值得注意的是,在视图空间中位置梯度超过阈值τpos 的区域需要特别关注并采取相应措施:具体而言,在该区域内由于数据变化幅度较大导致的空间分布特性较为复杂因此需对该区域内的高斯模型执行更为密集化的操作(即提高其数量并优化其分布布局)以便更精确地捕捉和表示这些区域的具体特征。
在under-reconstruction区域中, 高斯模型未能充分覆盖那些细微的小规模几何体. 此时, 需要将该区域的高斯模型复制一遍, 并将其沿着位置梯度的方向进行平移操作, 从而实现对这些几何体的有效覆盖. 在over-reconstruction区域中, 高斯模型已经超出了这些小范围几何体的空间界限. 此时, 应采取将该区域的高斯模型进行拆分, 然后仅用于对这些特定几何体进行建模的方法.
自适应控制可以通过以下几种方式实现:
基于距离:依据splat与视点的距离来控制splat的尺寸大小。离视点较近的splat采用较小尺寸,在距视点较远时则扩大尺寸范围。基于曲率:依据场景整体曲率状况调节splat分布密度。具体而言,在具有较大曲率区域布置较小尺寸的splat,在低曲率区域则采用较大尺寸设置。基于纹理:通过分析局部纹理细节密度变化来决定splat分配策略。在纹理细节较为丰富的区域设置较小尺寸,在细节相对匮乏的地方则适当增大尺寸范围以保证图像质量。自适应控制方法能够有效提升3D高斯splatting渲染效率;通过优化算法减少不必要的几何体采样数量从而降低对GPU内存及计算资源的需求负担
2.6 什么是快速可微光栅化?
在 3D 高斯 splatting 中,快速可微光栅化被称为一种提高渲染效率的技术。该技术通过实现了对光栅化过程所需时间和计算资源的大幅减少来显著提升了渲染效率,并且同时保证了图像质量。
快速可微光栅化的核心概念在于使用预先计算得到的splat梯度来替代传统的逐像素插值方法。(这背后的原理是什么?具体原因如下)。这种方法能够显著减少所需的总时间与计算资源。
通过高效的微分几何着色器(Differential Geometry Mipmapping Units),Gaussians 实现了对场景中物体表面几何信息的快速提取。这种技术不仅显著提升了渲染效率,并且能够在不降低视觉质量的前提下模拟深度可见性(Depth Visibility)效果的同时,在不影响视觉质量的前提下允许多个具有不同梯度方向的曲面片同时参与计算。为了提高计算效率和减少内存占用,则对 Gaussian splats 进行分块 (tile) 处理,并将该光栅化过程命名为 基于分块的光栅化 (tile-based rasterization)。
首先将2D屏幕划分为16×16个独立单元格(tile),随后为每个单元格选择位于视锥体(view frustum)内部置信度超过99%的3D高斯核(Gaussian)。在此过程中,在极端位置(如均值接近近平面或超出视锥体范围)的高斯核会被排除以避免影响效果;为了进一步优化去噪性能,在这一系列操作之后会对图像进行全局降噪处理;整个降噪过程采用了混合型算法策略,在不同场景中动态切换最优降噪方案以获得最佳视觉效果;最后通过结合多帧信息实现降噪效果的一致性和稳定性
该算法采用分步优化策略,在单帧处理阶段主要针对图像中的低频噪声进行消除;在多帧融合阶段则重点解决高频噪声问题;这种多层次的噪声消除策略能够有效平衡降噪效率与细节保留能力之间的关系
系统的框图如下所示:该系统首先对SfM(Structure from Motion)产生的稀疏点云进行初始化阶段,并构建一个基于3D高斯模型的表示框架。随后,在相机姿态参数(即poses)的基础上将各点投影至各幅图像平面(即Splatting操作),通过可微光栅化技术生成渲染图像(记为R)。随后将此Rendered Image与Ground Truth Image进行对比计算损失值L=||R-GT||²,并在此基础上沿指定的蓝色箭头方向执行反向传播过程:其中蓝色箭头向上端用于更新3D高斯模型中的关键参数θₜ; 同时向下端输入至自适应密度调节模块中用于更新原始点云Zₚ; 整个流程设计巧妙地实现了从数据生成到结果优化的闭环运算机制

详细地说,在现有点云模型的基础上,在每个采样点展开分析和处理过程。通过构建可学习的3D高斯表征并采用Splatting技术实现数据呈现效果。这一方法成功地达成了超分辨率实时渲染的目标,并主要包含以下三个关键环节:
基于相机标定过程所得的离散点集作为初始(初始化为sfm产生的稀疏点云),我们采用了3D高斯模型来表征场景特征,并通过该模型保留了连续体积辐射场的理想特性以实现场景优化目标。特别地,在此过程中我们成功实现了对各向异性协方差矩阵的动态平衡优化,在保证计算效率的同时显著提升了渲染质量。对于交错优化和密度控制部分,则采用了动态平衡优化策略,在关键参数上实现了全面协调,在确保计算效率的同时实现了图像质量的最佳平衡效果。此外,在这一阶段我们还创新性地设计了一种快速可见性感知渲染算法(fast visibility-aware rendering algorithm),该算法支持各向异性抛雪球(anisotropic splatting)技术实现对复杂光照环境的有效建模与实时呈现效果;通过这一技术方案不仅大幅缩短了训练时间而且实现了高质量图形输出能力的同时还能满足实时渲染需求。
小结:快速可微光栅化可以通过以下几种方式实现:
**预处理splat梯度:**在渲染前对每个splat的所有梯度进行预先计算。
**在光栅化阶段采用splat梯度插值:**将splat梯度用于替代逐像素插值运算。
**通过减少处理时间与资源消耗的方式实现了对3D高斯splatting的高效渲染效果。
快速可微光栅化的研究论文:
Efficient Differentiable Rasterization Technique for Splatting, available at https://arxiv.org/abs/2203.08337
2.8 什么是 α-混合(Alpha Blending)?
α-混合亦称α合成系属于计算机图形学领域内一种多层图像叠加技术。该技术通过决定不同图层间的透明度级别实现其间的自然过渡效果
工作原理:
带α通道的图像:在混合过程中使用的每个图像通常都包含一个称为alpha channel(也被称为alpha channel)的关键部分。这个特殊的设计元素允许对不同层中的像素透明度进行精确控制,在视觉效果上实现深度层次感。 alpha channel为每个像素分配了一个介于0.0到1.0之间的数值,在渲染过程中根据这些值来决定最终显示的颜色和透明度。
在完全透明状态下:α=1时,在显微镜下无法观察到任何细节;在显微镜下可以看到所有样本信息。
在完全不透明状态下:α=0时,在显微镜下看不到任何内容;在显微镜下看不到任何样本信息。
介于0和1之间的状态(部分透明):当α∈(0,1)时,在显微镜下可以看到部分样本信息;在显微镜下可以看到部分样本细节。
混合公式:通过数学公式结合两层图像的α值来确定最终颜色。常见公式为:
C_{mix} = (1-α_1)C_1 + α_2 C_2
其中:
- C_{mix}表示混合后的颜色
- C_1表示上层颜色
- C_2表示下层颜色
- α_1, α_2 ∈ [0, 1]分别表示上层和下层的颜色 opacity 参数
最终颜色 = (源颜色 * 源α) + (目标颜色 * (1 - 源α))
其中,
源颜色: 正在顶部混合的图像颜色(前景)
源α: 源图像中对应像素的α值
目标颜色: 正在底层混合的图像颜色(背景)
透明效果: 通过调整所涉及图像的α值,您可以实现各种透明效果,例如:
绝对透明的物体使得背景可见。
物体逐渐过渡至背景的遮挡。
复合外观下的部分透明白色区域。
α-混合的应用:在图像处理中用于融合多层颜色和深度信息。
生成逼真的玻璃、水、烟雾和其他半透明物体。 将文本、UI元素和其他2D图形叠加到3D场景上。 混合多个纹理和效果层以生成复杂的视觉效果。 α-混合被称作计算机图形学中的一项基本技术,并能生成视觉丰富且层次分明的场景。
一些额外的细节:
α-混合常与深度排序及抗锯齿技术协同工作,以实现最佳视觉效果。
多种渲染接口(如OpenGL及DirectX)各自支持独特的α-混合模式,您可以据此调节混合行为的细微参数设置。
除了颜色值外,α-混合还被用于融合其他属性信息如深度与法线向量。
