项目地址:GaussianEditor (buaacyw.github.io)
摘要
GaussianEditor 通过我们提出的高斯语义跟踪增强了编辑的精度和控制,这在整个训练过程中跟踪编辑目标。此外,我们提出了分层高斯溅射(HGS),在2D扩散模型的随机生成指导下实现稳定和精细的结果。
开发了有效的对象去除和集成的编辑策略。
介绍
传统的表示复杂场景不行,NeRF因为MLP有局限性
编辑3D高斯的挑战:
- 主要问题是缺乏准确识别目标高斯的有效方法;
- 在 [text2GS, DreamGaussian,GaussianDreamer] 中已经观察到,使用分数蒸馏采样 [36] 等高度随机生成指导优化高斯飞溅 (GS) 会带来重大挑战?(可能的解释是高斯在优化过程中性质改变,受到损失随机性的影响)
- GS 的每个训练步骤可能涉及对大量高斯点的更新。这个过程不会发生神经网络风格的缓冲机制的调节作用?
因此,3D GS 场景的过度流动性阻碍了它在生成指导训练时收敛到隐式表示等精细细节结果的能力。解决:
- 我们方法的一个关键特征是引入高斯语义跟踪,从而能够精确控制GS。高斯语义跟踪始终识别在训练期间每个时刻需要编辑的高斯。通过将 2D 分割掩码投影到 3D 高斯并为每个高斯分配一个语义标签来实现高斯语义跟踪。
- 此外,为了解决高斯飞溅(GS)在高度随机的生成指导下难以拟合精细结果的显著挑战,我们提出了一种新的GS表示:分层高斯溅射(HGS)。在 HGS 中,在训练期间,基于它们在多个致密化过程中的序列,将高斯组织成代。在早期致密化阶段形成的高斯函数被认为是旧的代,受到更严格的约束,旨在保持它们的原始状态,从而减少它们的移动性。相反,后期形成的那些被认为是新的代,受到更少或没有约束
- HGS还能模拟通过神经网络隐式表示中实现的缓冲函数。
还能编辑3D高斯:
对于对象去除,开发了局部修复算法,可以有效地消除对象与场景的交点处的伪影。
为了添加对象,用户首先为 GS 的特定视图提供提示和 2D 修复掩码。随后,我们采用 2D 修复方法来生成要添加对象的单视图图像。然后使用图像到 3D 转换技术将图像转换为粗略的 3D 网格。然后将 3D 网格转换为 HGS 表示和细化。最后拼接。
贡献:
- 我们引入了高斯语义跟踪,实现了更详细和有效的编辑控制。
- 我们提出了分层高斯飞溅(HGS),这是一种新的GS表示,能够在高度随机的生成引导下更稳定地收敛到细化的结果。
- 我们设计了一种用于高斯飞溅的3D修复算法,该算法可以快速去除和添加对象。
- 实验牛
4 方法
4.1. Gaussian Semantic Tracing
以前的静态掩码在目标区域变化之后可能不准确。选3D高斯,允许我们直接为每个高斯点分配语义标签,从而促进3D场景中的语义跟踪。
首先通过添加一个新的属性 m 来增强 3D 高斯 Θ,其中 mij 表示第 i 个高斯点和第 j 个语义标签的语义高斯掩码。在致密化过程中,新增密的点继承了其父点的语义标签。语义高斯掩码函数作为动态 3D 分割掩码,随训练演变,允许内容在空间上自由扩展。
然后是高斯飞溅unprojection,即获得语义高斯掩码 m 的方法。对于一组 3D 高斯 Θ,我们从多个视点渲染它们以生成一系列渲染 I。然后使用 2D 分割技术 [18] 处理这些渲染以获得 2D 分割掩码 M,每个 Mj 表示第 j 个语义标签。为了获得每个高斯的语义标签,我们将所提出的 2D 语义标签反投影回具有逆渲染的高斯
其中 wj i 表示第 j 个语义标签的第 i 个高斯的权重,而 oi(p)、T j i (p) 和 Mj (p) 分别表示第 i 个高斯的像素 p 的不透明度、透射率和语义掩码。
一旦完成了这个语义标签分配,整个高斯场景就会由我们解析。
4.2. Hierarchical Gaussian Splatting
[text2GS, DreamGaussian,GaussianDreamer] 中,GS在面对生成引导的随机性时存在局限性,因为它的性质作为类似点云的表示。是因为GS点在每次迭代被大量更新。流动性太强?因此提出HGS。
初始高斯 Θ 叫做第0代。在编辑的训练过程中,第 k 个致密化轮中生成的点被标记为第k代。然后添加约束。
越早的代,施加的约束越强。锚点损失用于强制执行这些约束。在训练开始时,HGS将所有高斯函数的属性记录为锚点。然后更新这些锚点以反映每个致密化过程中高斯的当前状态。在训练期间,使用锚点状态和当前状态之间的 MSE 损失来确保高斯不会偏离它们各自的锚点:
总Loss:
λP 表示应用于属性 P 的锚点损失的强度,LEdit 是第 3.2 节中定义的编辑损失。
通过每次致密化,所有前几代高斯的锚点损失权重 λi 都会增加。这种方法确保了随机损失下稳定的几何形成。
在编辑时,为了限制原始 GS 的变化,可以增加第0代的锚点损失权重。
另外做实验时是使用这个策略:只选择3D位置梯度在前k%以内的高斯进行致密化。
4.3. 3D Inpainting
Object Removal. 采用2D修复技术。然而,有效的 2D 修复需要精确的掩码来提供更好的指导。为了生成这些掩码,在删除后,我们使用 KNN 算法来识别最接近删除的高斯函数。然后,这些被投影到各个视图上。我们随后扩展掩码并修复任何孔以准确表示界面区域。
Object Incorporation. 给定 I、掩码M 和修改提示 y,该过程首先用2D技术[34]生成 2D inpainted 图像 IM y,然后前景对象被分割和输入到[25] 中引用的图像到 3D 方法来生成粗略的 3D 网格。然后mesh转化为3D高斯θy,并用HGS进行细化。
为了将 θy 的坐标系与 θ 对齐,首先使用 [38] 中的技术估计 IM y 的深度。然后使用最小二乘法将该深度与 θ 在相机姿势 p 处渲染的深度图对齐。