GS论文阅读--Hard Gaussian Splatting

news/2025/1/23 7:41:41/

前言

本文也是对高斯点云的分布进行优化的,看!
在这里插入图片描述


文章目录

  • 前言
  • 1.背景介绍
  • 2.关键内容
    • 2.1 位置梯度驱动HGS
    • 2.2 渲染误差引导HGS
  • 3.文章贡献


1.背景介绍

  1. 在训练过程中,它严重依赖于视图空间位置梯度的平均幅度来增长高斯以减少渲染损失。然而,这种平均操作平滑了来自不同视点的位置梯度和来自不同像素的渲染误差,阻碍了许多有缺陷的高斯的生长和优化。位置梯度的平均幅度不能反映某些局部图像区域的明显渲染误差,特别是当这些区域仅由少数视点观察时。这导致某些区域出现强烈的虚假伪影。

2.关键内容

为了解决上面分析的问题,本文提出了硬高斯溅射,被称为HGS,从多视图显著的位置梯度和渲染误差中发现硬高斯。通过这种方式,我们的方法可以生长和优化这些硬高斯,以恢复更完整的3D场景,从而提高渲染质量。

2.1 位置梯度驱动HGS

视点空间位置梯度反映了某一视点下的整体图像重建质量。原始的高斯增长准则在M次迭代中对n个视图空间位置梯度进行平均,以找到增长的候选者。虽然平均操作可以减少噪声的影响,但它平滑了一些个别较大的位置梯度。

事实上,较大的视图空间位置梯度也表明其对应的高斯需要填充空白区域。然而,它们被忽略了原来的增长标准。因此,我们提出了位置梯度驱动的HGS(PGHGS),它揭示了硬高斯从多视图的重要位置梯度。为了可靠地捕获显著的位置梯度,我们首先将高斯Gi的n个位置梯度排序为:
在这里插入图片描述
其中sort↓表示降序排序。然后,如果第k个最大的位置梯度满足:
在这里插入图片描述
其中λ是控制挖掘范围的常数。通过增长这些硬高斯,可以减少某些个体视点下的较大重建误差。这有助于跨视图呈现一致性。

2.2 渲染误差引导HGS

通过深入研究视图空间位置梯度的计算,我们知道它是相对于视空间投影点的平均误差的梯度。因此,视图空间位置梯度不能有效地反映某些局部图像区域的重建误差,特别是当这些区域仅由少数视点观察时。为了解决这个问题,我们引入渲染错误引导的HGS(REHGS)链接硬高斯与局部渲染误差。然而,由于像素渲染误差纠缠来自多个高斯的贡,建立这种联系是一个挑战。

为此,我们利用具有最大贡献的高斯函数来关联像素渲染误差。具体地,对于像素u,其渲染索引被定义为 i d x ( u ) = a r g m a x w i idx(u)= arg max w_i idx(u)=argmaxwi。该算法考虑了α-混合中高斯分布的最大贡献,从而在一定程度上反映了像素绘制误差与高斯分布之间的关系。在此基础上,高斯Gi对这些像素 S i = u ∣ i d x ( u ) = i , u ∈ P S_i = {u| idx(u)= i,u ∈ P} Si=uidxu=iuP.为了检测明显的局部渲染错误而不是离群像素,我们首先根据Si的大小识别潜在的过大高斯。一个高斯将被认为是潜在的过大,容易模糊的人工制品,当存在如下情况:
在这里插入图片描述
其中 τ l a r g e τ_{large} τlarge是控制潜在大区域的范围的阈值。该条件可以有效地找到可能导致毛刺伪影(“过度重建”)的高斯,如图3(c)和(d)的黄色框所示。事实上,可以用可能过大的高斯描述低纹理区域和重复纹理,如图3(d)的蓝色框所示。因此,仅使用等式。(8)以确定过大的高斯将导致误报。为了更准确地定位导致模糊伪影的高斯,我们利用渲染误差来挖掘硬高斯。对于一个可能过大的高斯Gi,我们将其投影到当前训练视点j中以获得对应的像素 u i , j u_{i,j} ui,j。然后,这个高斯将被认为是硬高斯,如果它满足:
在这里插入图片描述
其中, I j I_j Ij I ~ j \tilde{I}_j I~j分别表示视点j下的地面实况和渲染图像。SSIM是指结构相似性指数测量,它测量两个图像之间的相似性。τSSIM是判断渲染质量的阈值。请注意,选择SSIM是因为它可以对图像执行局部分析,使其适合检测图像中的结构变化。在潜在的过大高斯和像素渲染误差的指导下,我们的方法可以在真正模糊的区域中定位硬高斯,如图3(e)所示。此外,在M次迭代期间,这样的高斯应该被至少两个视图看到。这避免了由仅由单个视图确定的硬高斯引起的不稳定增长。
## 2.2 重定位

3.文章贡献

  1. 我们提出了HGS,它从多视图重要的位置梯度和渲染误差中挖掘硬高斯,以进行生长和优化。这消除了跨视图渲染的不一致性,并减少了观察较少的区域中的渲染错误,从而显著提高了渲染性能。

http://www.ppmy.cn/news/1565434.html

相关文章

如何使用 reduce() 方法对数组进行聚合计算?

数组聚合计算:如何使用 reduce() 方法进行数组遍历和聚合? 在 JavaScript 中,reduce() 方法是数组遍历和聚合计算中非常强大的工具。它通过遍历数组中的所有元素,将数组中的每个元素逐步汇总成一个单一的输出值(如数值…

Flink 的核心特点和概念

Flink 是一个流式处理框架,专注于高吞吐量、低延迟的数据流处理。它能处理无限流(即实时数据流)和有限流(批处理),具有很强的灵活性和可扩展性,广泛应用于实时数据分析、监控系统、数据处理平台…

西门子【Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500】

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 通用函数库 (LGF) 扩展了 TIA Portal 中用于 PLC 编程的 STEP 7 指令(数学函数、时间、计数器 等)。该库可以不受限制地使用,并包含 FIFO 、搜索功能、矩阵计算、 astro 计…

Logo语言的网络编程

Logo语言的网络编程探讨 引言 Logo语言是上世纪60年代由西摩帕佩特(Seymour Papert)和他的团队开发的一种编程语言。Logo最初是为了帮助儿童理解编程和计算机科学的概念而设计的。它以图形化的方式呈现编程思想,通过控制“海龟”进行图形绘制,帮助学生…

STM32 GPIO工作模式

GPIO工作模式 1. GPIO简介2. GPIO工作模式2.1 输入浮空2.2 输入上拉2.3 输入下拉2.4 模拟2.5 开漏输出2.6 推挽输出2.7 开漏式复用功能2.8 推挽式复用功能 1. GPIO简介 GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,STM32 芯片的 GPI…

Mellanox ConnectX HCA InfiniBand 驱动分析:drivers/infiniband/hw/mlx4/main.c

引言 Mellanox ConnectX 系列适配器是高性能计算和数据中心网络中的关键组件,支持 InfiniBand 和以太网协议。drivers/infiniband/hw/mlx4/main.c 是 Linux 内核中 Mellanox ConnectX 系列 InfiniBand 设备驱动程序的核心文件之一,负责初始化和管理 Mellanox ConnectX HCA(…

Python自动化运维:一键掌控服务器的高效之道

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在互联网和云计算高速发展的今天,服务器数量的指数增长使得手动运维和管理变得异常繁琐。Python凭借其强大的可读性和丰富的生态系统,成为…

算法 | 递归与递推

递归与递推(上) 1.递归与递推的基本概念 在数学与计算机科学中,递归与递推是两种非常重要的概念,它们常用于定义序列、解决问题和设计算法。虽然两者看起来相似,但它们的本质和应用有所不同。 1.1 递归(…