前言
本文是一个关于高斯致密化策略对高斯地图进行优化,他主要关注了几何结构和纹理信息。我最近对于高斯点的分布比较感兴趣,因为高斯点的分布决定了之后重建质量的好坏,初始化高斯很重要,但之后的维护需要致密化与修建策略,同样也很重要,我想要通过提升高斯点云的位置信息,从而使得效果达到更好。
文章目录
- 前言
- 1.背景介绍
- 2.关键内容
- 2.1 总体流程
- 2.2 Mini-Splatting的前置知识
- 2.2 纹理感知的致密化
- 2.3 几何感知分裂
- 参照视图选择与更新
- 父级splat的VDRC
- 法线引导分裂
- 3.文章贡献
1.背景介绍
- 3DGS的高质量重建依赖于足够的斑点和这些斑点的合理分布,以适应真实的几何表面和纹理细节,这是一个具有挑战性的问题。
- 3DGS通过对初始高斯点的分裂和克隆,实现了完整的场景重建和纹理细节增强。3DGS模型的高质量重建和渲染依赖于两个条件:第一是具有足够数量的高斯splats来支持外观细节,第二是确保splats被优化到3D空间中的正确位置。目前,很少有研究探讨了高斯溅射致密化策略的改进。
- 原始的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 x∈It设计了一个新的权重 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+(Te−Ts)le−lsl−ls,其中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.文章贡献
- 我们创新性地提出了一种几何感知分割策略,该策略采用法线和相对深度先验来更合理地指导分割高斯的位置采样,并消除位置远离真实表面的不正确采样斑点,以确保斑点分布均匀,符合场景的实际几何结构。
- 采用纹理感知的致密化策略作为辅助服务,用于在完全纹理化的区域中找到更多贡献的大splats以进一步分裂以适应纹理细节,同时在弱纹理化区域中保持高斯稀疏以保持恢复的splats的高质量空间分布。