作者:Ruihuang Li等
文章链接:https://arxiv.org/pdf/2406.17396
项目链接:https://lslrh.github.io/syncnoise.github.io/
一句话亮点直击
SyncNoise能够实现一致且高效的3D编辑,符合文本指令并保留编辑场景中的更多细节。
今天和大家一起学习港理工、OPPO和Stability AI联合发的一篇关于3D场景编辑的工作,主打一个一致且高效,视频demo非常赞,可以看看!基于文本的2D扩散模型在图像生成和编辑方面展示了令人印象深刻的能力。同时,这些2D扩散模型在3D编辑任务中也表现出相当大的潜力。然而,实现多个视图之间的一致编辑仍然是一个挑战。尽管迭代数据集更新方法能够实现全局一致性,但其收敛速度缓慢且纹理过于平滑。本文提出了SyncNoise,一种新颖的几何引导多视图一致噪声编辑方法,用于高保真3D场景编辑。SyncNoise在编辑多个视图时同步使用2D扩散模型,同时强制多视图噪声预测在几何上保持一致,从而确保语义结构和低频外观的全局一致性。为了进一步增强高频细节的局部一致性,本文设置了一组anchor视图,并通过跨视图重投影将它们传播到相邻帧。为了提高多视图对应的可靠性,本文在训练过程中引入深度监督,以增强精确几何结构的重建。通过在噪声和像素级别增强几何一致性,本文的方法实现了高质量的3D编辑效果,能够很好地遵循文本指令,尤其是在具有复杂纹理的场景中。
demo视频展示
方法
在这项工作中,通过借助2D扩散模型,专注于基于文本的3D场景编辑。给定原始3D表示(如NeRF或Gaussian Splatting)、多视图图像及其对应的相机姿态,本文旨在根据自然语言指令生成编辑后的场景。
如下图2所示,本文利用基于指令的2D扩散模型来编辑多视图图像,随后使用编辑后的视图作为监督来优化原始3D表示。确保多视图一致编辑至关重要,因为视图之间纹理的不一致可能会导致不理想的平滑效果。为此,本文首先利用3D几何建立精确的多视图对应关系。其次在整个去噪(编辑)过程中对噪声预测施加多视图一致性约束,以增强视图间的语义和外观一致性。此外,为了保留更多的高频细节,本文采用跨视图投影,将编辑效果从anchor视图传播到其邻近视图,以实现像素级的多视图一致编辑。
可靠的几何引导对应关系
为了在多个视图之间建立可靠的对应关系,本文引入了深度监督来增强重建的几何形状。此外,本文利用重新投影的深度和循环一致性约束来过滤掉不可靠的匹配点,确保匹配的准确性。
深度监督。隐式3D表示(例如 NeRF)在拟合几何形状方面表现有限,特别是在视图稀疏的情况下。因此,NeRF 预测的深度往往不可靠。如下图 3(a) 所示,从参考视图重新投影到其他视图时存在显著偏差。为了解决这一限制,本文在 NeRF 的训练过程中引入深度监督。具体来说,从通过运行 Structure-from-Motion (SfM) 解算器获得的 3D 关键点派生深度监督,并添加深度损失以强制估计的深度匹配关键点的深度。如下图 3(b) 所示,通过添加深度监督,能够估计出更精确的深度,从而能够在不同视图之间建立密集且准确的对应关系。
重新投影深度约束。虽然显式深度监督可以提高 3D 几何的质量,但由于 3D 关键点的噪声,匹配点之间仍然存在偏差。为了过滤掉噪声对应点,本文将参考视图 重新投影到第 个新视图 的深度(记为 )与第 个视图上估计的深度(记为 )进行比较,并保留满足以下条件的匹配点:
其中, 表示用于消除噪声匹配点的深度阈值。正如上图 3(c) 所示,大多数背景点、新视图中被遮挡的点以及位于物体边缘的点都被过滤掉了。随着视图之间的跨度增加,可靠匹配点的数量逐渐减少。循环一致性约束。除了重新投影深度约束外,可靠的匹配点还应遵循循环一致性约束。将点从 反投影到 的像素距离(记为 )与其原始起点(记为 )之间的像素距离应满足以下条件:
其中, 计算两个点之间的像素距离, 是用于过滤掉无法反投影到其原始位置的噪声点的阈值。有关循环一致性约束的更多详细信息,请参见原文附录。
几何一致的噪声预测
在上一章节构建的精确几何对应关系的基础上,本节旨在确保从 到 0 步的整个去噪过程中多视图的编辑结果是一致的。实现这一目标的一个简单有效的方法是对多视图之间的对应潜在特征进行平均。然而,这种方法有两个主要局限性。一方面,直接操作潜在图会导致生成图像出现平滑的结果,如下图 4(b) 所示。另一方面,由于视图之间的匹配点质量不一,对不同视图赋予相同的权重是不合理的,这会使模型偏向于质量较差的视图。
先前的研究已经表明,噪声预测器(U-Net)的中间特征不仅捕捉语义信息,还影响图像的最终外观。这启发本文在 U-Net 特征而不是潜在图上增强多视图一致性。如上图 4(d) 所示,通过在 U-Net 的中间解码器特征上强制一致性,可以实现多视图一致的编辑结果而不会引入模糊伪影。当将约束应用于跳跃特征时,影响相对较小,如上图 4(c) 所示。有关 U-Net 结构和对齐 U-Net 不同层效果的详细信息,请参考原文附录。
初始噪声对齐。本文首先对齐来自多个视图的初始噪声。具体来说,给定来自 个不同视图的随机噪声,记为 ,以及它们之间的对应关系,将每个参考视图的噪声定义为 个视图噪声的加权和:
其中, 表示参考视图中第 个点的噪声向量。 是一个指示函数,如果第 个视图包含参考视图中第 个点的匹配点,则其值为 1。 表示分配给第 k 个视图的权重,该权重与重投影误差 成反比。权重定义如下:
其中, 控制不同视图间权重的相对差距。每个权重都被所有匹配点的权重总和归一化。
掩码多视图一致噪声编辑。除了初始随机噪声外,本文还在所有扩散步骤 对噪声预测进行对齐。给定来自 个不同视图的噪声预测器第 层特征,记为 ,我们将第 个点的多视图噪声特征汇聚到参考视图 ,通过以下公式:
此外,为了在不修改无关区域的情况下实现更精确的前景编辑,本文引入了掩码来限制匹配和编辑的区域。本文只保留掩码内的对应关系,并过滤掉来自不相关区域的多余关联。此外,在每个去噪步骤中应用一个掩码来限制文本指导的区域,并修改噪声估计方程如下:
其中,、 和 分别表示图像、文本和无条件。 表示去噪U-Net。 和 是两个无需分类器的指导比例,用于平衡扩散模型生成的样本的质量和多样性。值得注意的是,我们使用软掩码 ,而不是二进制掩码进行掩码噪声估计。这是因为将背景权重简单地减少到零会降低前景的编辑保真度。具体来说,前景区域的权重设置为1,而背景区域的权重从中心到边缘逐渐衰减,从0.5减少到0。
跨视角像素级投影
本文已经对来自多个视角的初始噪声和U-Net的噪声预测进行了对齐,这种方法可以比迭代细化策略更有效地实现全局一致的编辑。然而,如下图5(b)所示,噪声级别的对齐只能确保语义结构和低频纹理的一致性,但无法保证高频细节的一致性。即使在这些细节上的轻微不对齐最终也会导致3D编辑中的平滑纹理。
跨视角投影。为了保留编辑后的3D场景中更精细的纹理,本文需要进行像素级的对齐。具体来说, 本文提出基于上一章节建立的密集对应关系,将部分anchor视角投影到其他视角。首先利用诸如 CLIP 方向相似性分数等指标选择编辑良好的视角作为anchor视角,记为 。然后将每个 重新投影到其相邻的视角 ,并使用重新投影的像素替换 中对应的像素。
其中, 和 分别表示在 和 中满足深度和循环一致性约束的有效对应关系。
掩码扩散细化。如上图5(c)所示,跨视角投影进一步提高了相邻视角之间细粒度细节的一致性。然而,这可能会在新视角中引起一些人工痕迹。为了解决这个问题,本文进一步进行掩码细化,将编辑后的视图 输入到2D编辑模型中,方程如下所示:
对比方程6,上述方程中使用的是经过编辑的图像而不是原始图像作为图像条件。此外,文本指导仅应用于未被anchor视图替换的区域,这些区域由 表示,其中 表示前景对象的掩膜。如上图5(d)所示,通过掩蔽细化,来自 的先前知识被整合到 的未投影区域中。
3D表示优化
多视角同步噪声预测在结构和外观上实现了一致的编辑,而跨视角像素级投影进一步增强了相邻视角之间的一致性。基于所有视角的编辑结果,本文首先对3D模型进行1000-2000次迭代的训练,具体取决于场景的复杂性,以将2D编辑注入到3D表示中。随后采用一个迭代的细化方法进一步增强3D表示。需要注意的是,本文的方法在一个关键方面与IN2N 不同。在 IN2N 中,在早期的优化步骤中,多视角图像编辑显示出显著的不一致性,导致3D编辑过度平滑。相反,本文的方法首先生成多视角一致的2D编辑,以确保3D几何和外观的整体一致性,然后采用迭代细化过程来调整更精细的细节。
实验
实现细节。在编辑过程中,本文首先编辑80个多视角图像,同时强制保持在U-Net的第5层和第8层特征上的一致性(详见文章最后的图10)。随后,在anchor视角选择方面,本文每隔10个相邻视角选择具有最高CLIP方向分数的视角作为anchor视图,并将它们重新投影到大约80%重叠的相邻视角上。
评估。本文使用三个指标来衡量与文本指令的对齐度,即 CLIP相似性分数,CLIP文本-图像方向相似性,以及CLIP时间方向相似性。此外,本文还使用两个无参考图像质量评估指标,即CLIP-IQA 和MUSIQ 。
定性结果
在图1中,本文展示了使用不同文本提示进行的一些编辑结果。从“Batman”和“Robot”提示的编辑中可以观察到,即使原始场景的几何形状发生明显变化,本文的方法仍然展现出多视角一致性。此外,本文可以在“Hulk”的头发、“Spiderman”的手臂和“Thor”的服装中看到更精细的细节。这是因为本文通过像素级投影在相邻帧之间强制实现了一致性。
在下图6中,本文针对提出的 SyncNoise 与两种代表性的基于指令的方法,InstructNerf2Nerf 和GaussianEditor 进行了比较。本文使用它们的官方代码和默认参数重现了这些方法的结果。本文的 SyncNoise 实现了符合输入文本指令的逼真和一致的编辑。在“Turn the table into a rainbow table”的示例中,本文的编辑展示了比其他两种方法更好的多视角一致性。IN2N 由于每次迭代中的不一致编辑而出现了颜色混合问题。对于指令“turn him into a wood carving”,本文的 SyncNoise 成功地编辑了头发并产生了细腻的纹理。此外,本文的结果严格遵循了编辑提示“turn him into Iron Man wearing the helmet”,并生成了高度逼真的头盔。然而,GaussianEditor几乎没有改变人脸的外观,因为它限制了旧高斯点的更新,从而影响了它们对文本的编辑保真度。本文的方法通过在噪声级别实现全局结构和外观一致性,并在像素级别改善局部纹理一致性,实现了更优越的编辑效果。详细的定性结果请参考原文附录。
定量比较
如下表1所示,本文提供了 SyncNoise 与 Instruct-Nerf2Nerf (IN2N) 、Efficient-Nerf2Nerf (EN2N) 和GaussianEditor 的定量比较结果。本文在总共四个场景(即“bear”、“face”、“fangzhou”和“person”)和10个不同的文本提示上评估了所有比较方法。可以看出,本文的方法不仅在编辑保真度上表现出色,而且在视觉质量上也表现优异。与 IN2N 相比,本文的方法在编辑指令遵循性和时间一致性上表现更好,而且编辑时间仅需一半。此外,本文的方法在 CLIP 文本-图像方向相似度分数和 MUSIQ 指标上分别比 GaussianEditor 高出了1.27%和2.243,表明本文生成的编辑图像更加忠实于给定的指令,同时不牺牲视觉质量。由于 GaussianEditor限制了原始场景部分3D高斯点的更新,因此它无法很好地遵循指令。此外,通过引入像素级一致性,SyncNoise 进一步提高了对指令的忠实度和视觉质量,在不同视角下实现了更精细的编辑细节。
消融研究
本文研究了pipeline 中两个关键组件的作用,即噪声对齐和跨视图重投影。如下图7所示,仅使用噪声对齐时,编辑在几何上对齐,但丢失了一些细节。仅使用跨视图重投影时,保持了相邻帧的局部一致性,但编辑缺乏全面的覆盖和完整性。例如,蝙蝠侠的角很小,骷髅的角没有被编辑。通过将这两个组件结合在一起,本文在全局结构和局部纹理上实现了更好的一致性。
结论
今天分享的这篇工作专注于实现3D场景编辑中的多视角一致性编辑。提出了一种名为SyncNoise的新方法,利用几何引导的多视角一致性来增强编辑场景的连贯性。通过使用2D扩散模型同步编辑多个视角,并在噪声预测器的特征上强制执行几何一致性,避免了模糊的结果。邻近视角之间的像素级重投影进一步帮助生成更精细的细节。本文的实验结果表明,SyncNoise在实现高质量的3D编辑并遵循文本指令方面优于现有方法。
局限性。本文的方法严重依赖于2D扩散模型,这限制了3D编辑的质量和提示的灵活性。此外,SyncNoise在编辑外观方面表现出色,但在修改3D形状和几何方面的能力有限。这一限制也存在于IN2N中。此外,SyncNoise可能在复杂场景中遇到困难,特别是那些具有复杂几何结构的场景。需要进一步的研究来解决这些挑战,这将是本文未来的重点关注。
参考文献
[1] SyncNoise: Geometrically Consistent Noise Prediction for Text-based 3D Scene Editing
致谢
如果您觉得这篇文章对你有帮助或启发,请不吝点赞、在看、转发,让更多人受益。同时,欢迎给个星标⭐,以便第一时间收到我的最新推送。每一个互动都是对我最大的鼓励。让我们携手并进,共同探索未知,见证一个充满希望和伟大的未来。
技术交流
加入「AI生成未来社区」群聊,一起交流讨论,涉及 图像生成、视频生成、3D生成、具身智能等多个不同方向,备注不同方向邀请入群!可添加小助手备注方向加群!