GS论文阅读--GeoTexDensifier

前言

本文是一个关于高斯致密化策略对高斯地图进行优化,他主要关注了几何结构和纹理信息。我最近对于高斯点的分布比较感兴趣,因为高斯点的分布决定了之后重建质量的好坏,初始化高斯很重要,但之后的维护需要致密化与修建策略,同样也很重要,我想要通过提升高斯点云的位置信息,从而使得效果达到更好。
在这里插入图片描述


文章目录

  • 前言
  • 1.背景介绍
  • 2.关键内容
    • 2.1 总体流程
    • 2.2 Mini-Splatting的前置知识
    • 2.2 纹理感知的致密化
    • 2.3 几何感知分裂
    • 参照视图选择与更新
    • 父级splat的VDRC
    • 法线引导分裂
  • 3.文章贡献


1.背景介绍

  1. 3DGS的高质量重建依赖于足够的斑点和这些斑点的合理分布,以适应真实的几何表面和纹理细节,这是一个具有挑战性的问题。
  2. 3DGS通过对初始高斯点的分裂和克隆,实现了完整的场景重建和纹理细节增强。3DGS模型的高质量重建和渲染依赖于两个条件:第一是具有足够数量的高斯splats来支持外观细节,第二是确保splats被优化到3D空间中的正确位置。目前,很少有研究探讨了高斯溅射致密化策略的改进。
  3. 原始的3DGS 存在“过度重建”问题,导致地毯等纹理区域中的细节缺失,而最先进的(SOTA)工作如GeoGaussian 改进了飞溅分布的空间结构,Pixel-GS进一步致密了地毯等纹理区域中的飞溅,但两者仍然缺乏足够的飞溅采样来支持纹理细节。MiniSplatting具有充分采样的splats,但在无纹理区域中引入了过致密化情况,由于约束不足的视觉模糊性,这可能会产生额外的噪声高斯。

2.关键内容

2.1 总体流程

在初始化阶段,首先执行COLMAP以估计表示为。同时,通过ZoeDepth]针对每个输入RGB图像估计深度图,其中其法线图从深度计算,初始化完成后,我们使用一种纹理感知的致密化策略,在完全纹理化的区域中提供足够的高斯splats,同时在纹理较弱的区域中保持高斯的稀疏性,以确保高斯点的空间分布更准确。此外,估计的深度被用作先验来指导高斯splats的分裂,以更好地符合弱纹理区域中的几何表面的实际切向,并避免由于缺乏视觉特征而导致的模糊性所导致的孤立或分散的高斯的生成。纹理感知的致密化方法与几何引导的分裂策略一起构成了我们用于重建高质量照片级真实感3DGS模型的几何-纹理感知的致密化框架。
在这里插入图片描述

2.2 Mini-Splatting的前置知识

在高斯参数的优化过程中,利用ADC在空白区域填充高斯块,主要针对高斯块缺失的不完整区域定义为“欠重建”,而被大尺寸高斯块覆盖的区域定义为“过重建”。具有大的平均视图空间位置梯度的高斯将被加密,通过在欠重建区域中进行高斯克隆并在过度重建的地方分裂大方差的splats,以获得足够数量的高斯splats用于更完整的重建。然而,即使采用这种ADC策略,在具有完整纹理的区域中仍然可能存在致密化不足的情况。最近的工作已经讨论了这种致密化限制,并提出了相应的致密化改进策略来缓解这个问题。例如,Mini-Splatting结合了模糊分割策略与深度重新初始化以使高斯splat分布致密化,然后是简化技术以抑制点的总数以获得更有效的高斯表示。具体地说,对于每个图像 I t I_t It,都是一组具有大值的高斯函数:
在这里插入图片描述
这里 S i t S^t_i Sit表示高斯 G i G_i Gi I t I_t It的最大贡献区域, I i ( x ~ ) I_i(\tilde{x}) Ii(x~)表示 G i G_i Gi在像素 x ~ < ∈ I t \tilde{x}<∈ I_t x~<∈It处的投影索引, I m a x ( x ~ ) = a r g m a x w k ( x ~ ) I_{max}(\tilde{x})= argmax w_k(\tilde{x}) Imax(x~)=argmaxwk(x~)定义在 x ~ \tilde{x} x~处具有最大权重贡献的渲染索引。阈值 T = θ W H T = θWH T=θWH,θ 是一个图象分辨率的系数对于(W,H)。

2.2 纹理感知的致密化

理想的致密化策略是在强纹理区域中生成具有较高密度的飞溅分布,同时在更弱纹理区域(诸如具有纯色的表面)中仍然留下相对稀疏的高斯飞溅。在我们的ADC过程中采用了Mini-Splatting引入的模糊分割策略,这虽然有助于致密化,但可能会导致以下副作用,这些副作用实际上不符合我们的理想目的:首先,弱纹理区域通常具有贡献面积大的高斯分布,导致splat的过度分裂从而产生太多将影响渲染结果的不充分优化的浮动点。 第二是在整个场景上均匀分布的高斯分布的过多数量将花费太大的存储器消耗和大的输出文件存储。

为了解决这些问题,我们提出了一种纹理感知的致密化方法,该方法充分利用训练图像的纹理丰富度来指导各种纹理区域中高斯splats的致密化程度,同时控制splats在分裂过程中的生长。通过这种方式,我们的策略确保致密化的splats得到更彻底的优化,以提高重建质量。为了更好地结合纹理信息作为指导,我们为每个像素 x ∈ I t x ∈ It xIt设计了一个新的权重 s t ( x ) s_t(x) st(x),以更合理地计算每个高斯 G i G_i Gi的贡献,用于识别等式中的模糊斑点。由每个训练图像It的纹理梯度激活,该新权重计算如下:
在这里插入图片描述
它有效地反映了高斯点是否应该被双曲正切函数归一化为[0,1],该函数由灰度值从[0,255]归一化为[0,1]的图像梯度激活,如图3(a)所示。αs和βs是线性回归系数。图3©示出了通过公式2计算的权重图。有了新定义的权重,我们可以重新定义每个高斯分布的最大贡献区域,将每个高斯 G i G_i Gi I t I_t It的最大贡献区域重新定义为 S i t S^t_i Sit。修改公式2至:
在这里插入图片描述
其收集 I t I_t It G i G_i Gi的贡献区域内的逐像素纹理梯度的统计,而不是直接对贡献区域 S i t S^t_i Sit进行计数。以这种方式,完全纹理化的贡献区域将具有更高的纹理梯度统计,以将飞溅视为模糊的,并强制它们进一步分裂以获得更高密度的高斯,而弱纹理化的区域没有足够的纹理梯度收集来支持进一步分裂,使得它们的飞溅分布保持相对稀疏,如图3(f)所示。
在这里插入图片描述
在这里插入图片描述
等式中的原始阈值T是一个固定值。对于为每个高斯splat计算的重新定义的贡献面积 S i t S^t_i Sit,我们进一步引入自适应阈值T来确定高斯点是否足够大以被分裂,其被定义为 T = T s + ( T e − T s ) l − l s l e − l s T = T_s+(T_e-T_s)\frac{l-ls }{le-ls} T=Ts+TeTslelslls,其中l是当前迭代次数, l s l_s ls l e l_e le分别是用于致密化的开始和结束迭代次数,Ts和Te是开始和结束阈值。请注意,随着迭代次数的增加,T将减小,以使具有较小贡献区域的分裂高斯有更多机会在下一次分裂中进一步分裂并完全优化。

2.3 几何感知分裂

除了使用纹理信息来引导高斯片分布到完全纹理化的区域之外,splat的初始位置对于每次分裂也是至关重要的。原始的3DGS方法将现有的高斯分解为随机位于椭圆splat尺度内的新高斯,其概率密度函数(PDF)作为采样指导。如果这些区域包含由足够的训练视图观察到的大量纹理,则可以进一步优化这些分裂的splats以校正靠近真实的几何表面的位置。然而,在真实的世界场景中,特别是室内场景中,通常存在具有弱纹理或没有足够的可见训练视图的大尺寸区域。如果初始的3D位置严重偏离真实的几何表面,将它们细化到正确的位置将是具有挑战性的。这个问题特别发生在无纹理区域,如室内墙壁,地板和门,其中损失函数L1的梯度太小,无法移动分裂的飞溅。图5(a)给出了这个问题的一个例子:门上的父高斯Ga生成一个随机分裂的子高斯Gb,试图适应后面的远处墙壁。
在这里插入图片描述

为了更好地解决这个问题,我们建议利用ZoeDepth估计的训练视图的深度图作为验证我们的分割操作的额外几何先验,考虑到ZoeDepth对复杂场景的鲁棒性,特别是具有弱纹理的场景。然而ZoeDepth预测单目深度图,而没有捕获场景的真实比例。一个简单的想法是将深度图与稀疏SfM点的尺度对齐,并检查每个新分裂的飞溅的初始放置与重新缩放的深度图的判别有效性。然而,由于SfM图点的稀疏性和噪声离群值,实现单目深度图的像素级对准是不切实际的。考虑到SOTA单目深度估计网络(如ZoeDepth)的相对深度总是可靠的,我们探索直接利用未缩放深度图的相对深度信息来实现这种判别式检查。
在这里插入图片描述

我们通过 Z v ( a ) ( G a ) = [ M v ( a ) μ a ] z Z_{v(a)}(Ga)= [M_v(a)μ_a]_z Zv(a)(Ga)=[Mv(a)μa]z计算父Ga到其参考视图V(a)的投影深度,其中 M v ( a ) M_v(a) Mv(a)是其投影矩阵我们分别计算 R V ( a ) ( G b ) R_{V(a)}(G_b) RV(a)(Gb) R V ( a ) ( G c ) R_{V(a)}(G_c) RV(a)(Gc)。之后,我们计算Ga和Gc之间的深度比变化为:
在这里插入图片描述
显然,Ga和Gc之间的深度比变化相对小,而Ga和Gb之间的相对深度比变化 P V ( a ) ( G a , G b ) P_{V(a)}(G_a,G_b) PV(a)(Ga,Gb)大。我们建议丢弃其相对于其父splat的相对深度比变化超过阈值δp的子splat,以防止生成不合适的子高斯像Gb。对于所有实验,我们设定δp = 0.1。如果Gb被滤除,则Ga将被保留以取代其位置,如图4(b)所示。我们将这种判别式检查过程称为深度比变化验证(VDRC)。如图5(e)所示,由于VDRC检查以过滤掉嘈杂的分裂飞溅,前门上的飞溅将留在门内,而不是分裂回到后面的墙壁。通过此VDRC检查,我们将执行几何感知拆分,其详细信息在以下小节中给出。

参照视图选择与更新

直观地,对于每个要分裂的父高斯Ga,我们选择其中Ga在α混合中提供最大渲染权重 w V ( a ) ( G a ) w_{V(a)}(G_a) wV(a)(Ga)的视图V(a)作为其参考视图。在我们的实现中,为每个splat添加了两个额外的属性:图像id V(a)及其渲染权重 w V ( a ) ( G a ) w_{V(a)}(G_a) wV(a)(Ga),它们将在训练过程中不断更新。

假设父深度比 R V ( a ) ( G a ) R_{V(a)}(G_a) RV(a)(Ga)是可靠的,我们在 P V ( a ) ( G a , G b ) P_{V(a)}(G_a,G_b) PV(a)(Ga,Gb)低于阈值的条件下通过VDRC丢弃其子splat Gb,对于我们的所有实验,该阈值被设置为0.1,其中子深度比 R V ( a ) ( G a ) R_{V(a)}(G_a) RV(a)(Ga)也在其父的参考视图V(a)上计算以用于公平比较。随着Ga的位置继续被优化,其最大渲染权重 w V ( a ) ( G a ) w_{V(a)}(G_a) wV(a)(Ga)被重新计算并与记录的权重进行比较。如果另一视图提供最大渲染权重,则V(a)和 w V ( a ) ( G a ) w_{V(a)}(G_a) wV(a)(Ga)将迭代地更新。

父级splat的VDRC

在每次新的分裂之前,一定数量的迭代可能会将一些父splat移动到不正确的位置。例如,Ga可能从门向墙移动,变成像Gb一样的不可靠的高斯,并且将继续生成一系列都将满足VDRC条件的不适当的溅射。为了更好地解决这个问题,我们在每次分裂它们之前将VDRC应用于父高斯。由于初始高斯分布是从SfM映射点继承而来的,因此我们过滤掉了轨迹长度小于3或重投影误差超过1个像素的地图点,以确保初始splat位置的正确性。我们还选择具有由V(a)表示的最小重投影误差的图像视图作为每个高斯Ga的初始参考视图,并添加两个附加属性来记录V(a)及其初始深度比 R V ( a ) ( G a ) R_{V(a)}(G_a) RV(a)(Ga)。在每次分裂之前,所涉及的每个优化的父高斯splat Ga将被投影到其初始参考视图V(a)以计算当前深度比 R V ( a ) ( G a ) R_{V(a)}(G_a) RV(a)(Ga).

通过VDRC验证其自身的变化 P V ( a ) ( G a ) P_{V(a)}(G_a) PV(a)(Ga)。那些不符合VDRC要求的splat将被排除在以下拆分过程之外。如果Ga通过自验证是可靠的,则执行分割,并且VDRC继续通过等式(1)在其父视图V(a)上验证其两个子视图Gb和Gc。有效子splat Gc将考虑从V(a)继承的其自己的初始参考视图V©和初始深度比 R V ( c ) ( G c ) R_{V(c)}(G_c) RV(c)(Gc)= R V ( a ) ( G c ) R_{V(a)}(G_c) RV(a)(Gc),其将进一步用于验证Gc是否将在下一次分裂中被划分成新的高斯。

法线引导分裂

除了使用单目深度来检查分裂高斯的有效性外,ZoeDepth的法线贴图也被集成为几何指导,用于分裂到更合理的位置。对于每个经验证的子溅射Gc,其父Ga的椭圆尺度内的原始随机分裂将影响弱纹理区域中的高斯溅射的平滑度和紧凑空间分布,如图5©的噪声高斯点云所示。我们使用法线映射结合图像纹理来指导新分裂高斯的初始位置。

图4(a)作为示例,我们首先将Ga和随机采样的Gc投影到参考视图V(a),其中投影像素分别表示为 x ~ a \tilde{x} _a x~a x ~ c \tilde{x} _c x~c。然后,利用 x ~ a \tilde{x} _a x~a处的正常 N V ( a ) ( x ~ a ) N_{V(a)}(\tilde{x} _a) NV(a)(x~a) x ~ c \tilde{x} _c x~c处的图像梯度 I V ( a ) ( x ~ c ) I_{V(a)}(\tilde{x} _c) IV(a)(x~c),可以如下确定Gc的最佳位置:

在这里插入图片描述
由于弱纹理化区域缺乏足够的视觉细节来强制分裂的碎片移动到正确的位置,因此这种法线引导的定位强制子Gc在具有相对小的纹理梯度的无纹理区域中保持靠近父Ga的几何表面。对于完全纹理化的区域,我们相信足够的多视图纹理细节能够确保分裂的孩子被优化到正确的位置,因此较大的纹理梯度倾向于保持splat采样的原始随机性,而不是过度地受到几何表面先验的约束,如图4(a)的放大区域所示。通过与VDRC滤波相结合的法线引导分裂,可以获得更好的分布式高斯点云,其更准确地拟合具有更少噪声飞溅的实际场景结构,如在图5(f)的重建的“房间”点云中可以看到的,这也有助于产生由SSIM、PSNR和LPIPS评估的更好的渲染质量。

3.文章贡献

  1. 我们创新性地提出了一种几何感知分割策略,该策略采用法线和相对深度先验来更合理地指导分割高斯的位置采样,并消除位置远离真实表面的不正确采样斑点,以确保斑点分布均匀,符合场景的实际几何结构。
  2. 采用纹理感知的致密化策略作为辅助服务,用于在完全纹理化的区域中找到更多贡献的大splats以进一步分裂以适应纹理细节,同时在弱纹理化区域中保持高斯稀疏以保持恢复的splats的高质量空间分布。

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

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

相关文章

支持大功率输出高速频闪的图像处理用光源控制器

机器视觉系统中的光源控制器在确保图像质量、提高系统稳定性、降低能耗以及方便系统扩展和升级等方面发挥着重要作用。它可提供稳定光源&#xff0c;调节参数&#xff0c;另外具有操作便捷性。 下面我们来看Gardasoft的光源控制器&#xff0c;Gardasoft拥有作为图像处理用LED光…

Excel 技巧17 - 如何计算倒计时,以及数据条(★)

本文讲如何计算倒计时&#xff0c;以及加数据条。 1&#xff0c;如何计算倒计时 这里也要用公式 D3 - TODAY() 显示为下面这个样子的 然后右键该单元格&#xff0c;选 设置单元格格式 然后点 常规 这样就能显示出还书倒计时的日数了。 下拉适用到其他单元格。 2&#xff0c;…

springboot整合modbus实现通讯

springboot整合modbus4j实现tcp通讯 前言 本文基于springboot和modbus4j进行简单封装&#xff0c;达到开箱即用的目的&#xff0c;目前本方案仅实现了tcp通讯。代码会放在最后&#xff0c;按照使用方法操作后就可以直接使用 介绍 在使用本方案之前&#xff0c;有必要对modb…

iOS-YModel

YModel 是一个高效的 iOS/OSX 的模型转换框架&#xff0c;可以轻松地将 JSON 转换成 Model&#xff0c;或者将 Model 转换成 JSON。以下是详细的使用指南&#xff1a; 导入 YYModel: 确保在你的项目中导入了 YYModel。使用 CocoaPods 的话可以在 Podfile 中加入以下代码&#…

PhyCAGE:符合物理规律的图像到 3D 生成

Paper: Yan H, Zhang M, Li Y, et al. PhyCAGE: Physically Plausible Compositional 3D Asset Generation from a Single Image[J]. arXiv preprint arXiv:2411.18548, 2024. Introduction: https://wolfball.github.io/phycage/ Code: Unreleased PhyCAGE 是一种 image-to-3D…

麒麟操作系统服务架构保姆级教程(十三)tomcat环境安装以及LNMT架构

如果你想拥有你从未拥有过的东西&#xff0c;那么你必须去做你从未做过的事情 之前咱们学习了LNMP架构&#xff0c;但是PHP对于技术来说确实是老掉牙了&#xff0c;PHP的市场占有量越来越少了&#xff0c;我认识一个10年的PHP开发工程师&#xff0c;十年工资从15k到今天的6k&am…

网站HTTP改成HTTPS

您不仅需要知道如何将HTTP转换为HTTPS&#xff0c;还必须在不妨碍您的网站自成立以来建立的任何搜索排名权限的情况下进行切换。 为什么应该从HTTP转换为HTTPS&#xff1f; 与非安全HTTP于不同&#xff0c;安全域使用SSL&#xff08;安全套接字层&#xff09;服务器上的加密代…

大模型GUI系列论文阅读 DAY1:《基于大型语言模型的图形用户界面智能体:综述》(6.6W 字长文)

摘要 图形用户界面&#xff08;Graphical User Interfaces, GUIs&#xff09;长期以来一直是人机交互的核心&#xff0c;为用户提供了直观且以视觉为驱动的方式来访问和操作数字系统。传统上&#xff0c;GUI交互的自动化依赖于基于脚本或规则的方法&#xff0c;这些方法在固定…

实战经验:使用 Python 的 PyPDF 进行 PDF 操作

文章目录 1. 为什么选择 PyPDF&#xff1f;2. 安装 PyPDF3. PDF 文件的合并与拆分3.1 合并 PDF 文件3.2 拆分 PDF 文件 4. 提取 PDF 文本5. 修改 PDF 元信息6. PDF 加密与解密6.1 加密 PDF6.2 解密 PDF 7. 页面旋转与裁剪7.1 旋转页面7.2 裁剪页面 8. 实战经验总结 PDF 是一种非…

MySQL 安装配置(完整教程)

文章目录 一、MySQL 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1 初始化 MySQL5.2 启动 MySQL 服务 六、修改 MySQL 密码七、卸载 MySQL八、结语 一、MySQL 简介 MySQL 是一款广泛使用的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#…

PostgreSQL的学习心得和知识总结(一百六十六)|深入理解PostgreSQL数据库之\watch元命令的实现原理

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

当当网书籍信息爬虫

1.基本理论 1.1概念体系 网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等&#xff0c;可以按照我们设置的规则自动化爬取网络上的信息&#xff0c;这些规则被称为爬虫算法。是一种自动化程序&#xff0c;用于从互联网上抓取数据。爬虫通过模拟浏览器的行为&#xff0c;访问网页…

计算机网络 (50)两类密码体制

前言 计算机网络中的两类密码体制主要包括对称密钥密码体制&#xff08;也称为私钥密码体制、对称密码体制&#xff09;和公钥密码体制&#xff08;也称为非对称密码体制、公开密钥加密技术&#xff09;。 一、对称密钥密码体制 定义&#xff1a; 对称密钥密码体制是一种传…

【PowerQuery专栏】实现JSON数据的导入

Json 格式数据是在互联网数据格式传输使用的非常频繁的一类数据,图7.44为Json数据格式中比较典型的数据格式。 PowerQuery进行Json数据解析使用的是Json.Document进行数据解析,Json.Document目前有2个参数。 参数1为内容数据,数据类型为二进制类型,值为需要解析的Json数据参…

软件授权管理中的软件激活向导示例

软件激活向导示例 在软件许可中&#xff0c;提供许可应该是简单和安全的。这适用于想要在中央许可证服务器上创建新许可证的软件开发人员&#xff0c;也适用于需要在其设备上获得许可证的最终用户。如果所讨论的系统有互联网连接&#xff0c;或是暂时的连接&#xff0c;就可以…

模型部署工具01:Docker || 用Docker打包模型 Build Once Run Anywhere

Docker 是一个开源的容器化平台&#xff0c;可以让开发者和运维人员轻松构建、发布和运行应用程序。Docker 的核心概念是通过容器技术隔离应用及其依赖项&#xff0c;使得软件在不同的环境中运行时具有一致性。无论是开发环境、测试环境&#xff0c;还是生产环境&#xff0c;Do…

【云岚到家】-day03-门户缓存方案选择

【云岚到家】-day03-门户缓存方案选择 1.门户常用的技术方案 什么是门户 说到门户马上会想到门户网站&#xff0c;中国比较早的门户网站有新浪、网易、搜狐、腾讯等&#xff0c;门户网站为用户提供一个集中的、易于访问的平台&#xff0c;使他们能够方便地获取各种信息和服务…

网络安全VS数据安全

关于网络安全和数据安全&#xff0c;我们常听到如下两种不同声音&#xff1a; 观点一&#xff1a;网络安全是数据安全的基础&#xff0c;把当年做网络安全的那一套用数据安全再做一遍。 观点二&#xff1a;数据安全如今普遍以为是网络安全的延伸&#xff0c;实际情况是忽略数据…

Python----Python高级(文件操作open,os模块对于文件操作,shutil模块 )

一、文件处理 1.1、文件操作的重要性和应用场景 1.1.1、重要性 数据持久化&#xff1a; 文件是存储数据的一种非常基本且重要的方式。通过文件&#xff0c;我们可 以将程序运行时产生的数据永久保存下来&#xff0c;以便将来使用。 跨平台兼容性&#xff1a; 文件是一种通用…

Ubuntu 24.04 LTS 安装 Docker Desktop

Docker 简介 Docker 简介和安装Ubuntu上学习使用Docker的详细入门教程Docker 快速入门Ubuntu版&#xff08;1h速通&#xff09; Docker 安装 参考 How to Install Docker on Ubuntu 24.04: Step-by-Step Guide。 更新系统和安装依赖 在终端中运行以下命令以确保系统更新并…