Gaussian Splatting+Stable Diffusion进行3D场景编辑!腾讯提出TIP-Editor新框架!
原创 小源 数源AI 2024-01-29 20:19 浙江
数源AI 知识星球
数源AI论文推荐知识星球(每日最新论文及资料包,包含目标检测,图像分割,图像识别检索,视觉预训练,3D/点云/视频, 图像超分/去噪,GAN/Diffusion,LLM,ImageCaptioning,VQA,视觉语言预训练,MLLM,Text2Image,OpenVocabulary,语音技术,机器人技术,增量/连续学习,自动驾驶,遥感,医学,量化/剪枝/加速,机器翻译/强化学习,NRF,Visual Counting,时序建模等方向)
DataSource
AI
数源AI|知识星球
论文|代码 | 教程
数源AI 最新论文解读系列
论文名:TIP-Editor: An Accurate 3D Editor Following Both Text-Prompts AndImage-Prompts
论文链接:https://arxiv.org/pdf/2401.14828.pdf
开源代码:https://zjy526223908.github.io/TIP-Editor/
引言
由于前所未有的真实感渲染质量,使用辐射场相关表示方法(例如NeRF和3D Gaussian Splatting)在3D重建领域和各种下游3D编辑任务(如纹理编辑,形状变形,场景分解和风格化)中越来越受欢迎。生成式编辑成为一种新方法,只需要高级指令(例如文本提示),作为之前的绘画式和雕刻式编辑方法的补充,后者需要大量用户交互。在这些方法中,目标驱动的方法因其便利性而受到了重视,并因大规模文本到图像(T2I)模型的成功取得了显著进展。
然而,仅使用文本作为条件的方法在指定位置产生具有指定外观的编辑结果方面存在困难,这是由于文本描述的固有限制。此外,通过文本指导很难精确定位编辑位置。这些挑战主要源于生成对象的不同外观和生成场景的多样空间布局。
简介
我们提出了一个名为TIP-Editor的3D场景编辑框架,它可以接受文本、图像提示和3D边界框来指定编辑区域。通过图像提示,用户可以方便地补充文本描述,从而准确控制目标内容的详细外观/风格。具体而言,TIP-Editor采用了逐步个性化的2D策略来更好地学习现有场景和参考图像的表示,其中提出了局部化损失以鼓励根据边界框指定的正确对象放置。此外,TIP-Editor使用显式且灵活的3D高斯绘制作为3D表示,以便在保持背景不变的同时进行局部编辑。大量实验证明,TIP-Editor能够在指定的边界框区域内根据文本和图像提示进行准确的编辑,从质量和定量上一致优于基准方法。
方法与模型
给 定 目 标 场 景 的 姿 势 图 像 (即 通 过COLMAP估计得到的图像及其相机参数),我们的目标是在用户指定的三维边界框内,通过混合文本-图像提示实现更精准的编辑。我们选择三维高斯Splatting(GS)来表示三维场景,因为GS是一种明确且高度灵活的三维表示方法,对于以下编辑操作尤其有利,特别是局部编辑。
TIP-Editor包含三个主要步骤,包括:1)现有场景和新内容的逐步二维个性化,2)使用分数精炼抽样(SDS)进行粗糙的三维编辑阶段,和3)对三维场景进行像素级的细化。
1
Stepwise 2D Personalization
通常,我们对预训练的T2I模型(即稳定的扩散(SD))进行逐步个性化,基于DreamBooth,但有两个重要修改。这些改变对于个性化现有场景和参考图像中的新内容都是必要的。首先,在现有场景的2D个性化中,我们提出了一种基于注意力的定位损失,以强迫已有内容和参考图像中提供的3D边界框指定的新内容之间的交互作用。请注意,参考图像在此步骤中不参与。其次,在新内容的2D个性化中,我们引入了LoRA层,以更好地捕捉参考图像中指定物品的独特特征。
(1)2D personalization of the existing scene
我们首先将SD个性化到给定的场景中,以便之后对场景进行各种类型的编辑。具体而言,初始文本提示(例如“玩具”)是通过图像字幕模型BLIP-2 获取的。为了增强场景的特异性,我们在描述场景的名词前面添加了一个特殊标记V1,从而得到一个场景特定的文本提示。T2I模型的UNet ϵϕ通过使用重构损失和先验保留损失进行微调。重构训练的输入包括场景特定文本和从随机视角渲染的3D场景图像。先验保留训练的输入包括初始文本和SD使用初始文本作为输入生成的随机图像 。上述损失的计算方法如下:
其中,y表示文本提示,t表示时间步长,zt表示从输入场景图像提取的第t个时间步长的带噪声的潜在编码,p表示相机姿态。上标∗表示用于先前保存训练的相应变量。需要注意的是,在网络中为条件嵌入添加了额外的相机姿态p,以更好地控制从SD生成的图像的视点,从而促进后续基于SDS的3D场景优化。由于先前保存训练的随机生成图像没有有意义的“场景姿态”,我们分配了一个固定的相机姿态p∗ = I4,永远不会用于渲染。
为了鼓励目标对象的准确定位,我们在2D场景个性化过程中引入了基于注意力的定位损失,以鼓励SD生成包含所需场景-对象交互的图像。如果目标对象在很少见的位置指定,这一步骤尤为重要。SD生成的目标对象的实际位置是从对象关键字的交叉注意力映射At中提取的,遵循 。目标对象的期望位置(即GT编辑区域)是通过将提供的3D边界框投影到图像平面上获得的。实际位置和期望位置之间的损失定义如下:
其中,λ是用于平衡两个项的权重,S是GT编辑掩码区域(三维边界框B的投影),S¯则指其他地方。直观上,该损失函数鼓励目标对象在编辑区域内具有高概率,同时惩罚其在编辑区域外的存在。
(2)2D personalization of the novel content
我们引入了一个专门的个性化步骤,使用LoRA (固定UNet)来更好地捕捉参考图像中包含的独特特征。这一步骤对于减少学习(个性化)多个概念时的负面影响(例如概念遗忘)是必不可少的,从而更好地表示场景和新内容。具体而言,我们训练在先前个性化和固定的T2I模型ϵϕ∗中插入的额外的LoRA层。类似于上一步,我们使用BLIP-2模型获取初始文本提示,并在其中插入一个特殊符号V2,从而得到参考对象的特定于对象的文本提示yr。新的LoRA层使用以下损失函数进行训练:
经过训练,场景内容和参考图像分别存储在UNet和添加了LoRA层的模型中,从而大大减少了相互干扰。
2
Coarse Editing via SDS Loss
我们使用个性化的T2I扩散模型ϵϕ2中的SDS损失优化所选高斯函数GB (即位于边界框B内的高斯函数)。具体来说,我们将使用采样的相机姿态p和文本提示yG将随机渲染的图像ˆI输入到T2I模型ϵϕ2中,并按照以下方式计算全局场景的SDS损失:
其中,yG是包含特殊标记V1, V2且描述我们所需结果的文本提示,f(·)是GS渲染算法。
值得注意的是,用于优化的高斯函数GB的选择和更新准则在不同类型的编辑任务中略有不同。对于对象插入,我们在边界框内复制所有高斯函数,并且在这些新的高斯函数上专门优化所有属性。对于对象替换和重新纹理,将更新边界框内的所有高斯函数。对于样式化,将对场景中的所有高斯函数进行优化。注意,我们仅在重新纹理时更新颜色(即球面谐波系数),而不是更新所有属性。
由于基于GS的场景中前景和背景在给定边界框GB时很容易分离,我们引入了另一个局部SDS损失函数来减少对象为中心的编辑(例如对象插入/替换)产生的伪影,具体如下:
其中,yL是包含特殊符号V2并且仅描述我们所需的新对象的文本提示,ˆI是仅包含前景对象的渲染图像。我们使用带有γ的LGSDS和LLSDS来优化GB:
3
Pixel-Level Image Refinement
在这个阶段,我们引入了像素级重建损失以有效增强编辑结果的质量,因为直接使用SDS损失优化的3D结果通常会包含一些伪影。
本阶段的核心是创建一个伪目标(pseudo-GT)图像Igt来监督从粗糙GS渲染的图像Ic。首先,我们按照SDEdit 的方法在Ic上添加噪声,得到Idc ,然后使用个性化的T2I模型ϵϕ2作为去噪网络,得到Idc 。去噪过程有效减少了Ic中的伪影,但也改变了背景图像。其次,通过仅渲染可编辑高斯GB并将其透明度掩码阈值化,我们得到了编辑对象/部分的二值实例掩码Minst。然后,我们使用仅包含固定高斯的背景图像渲染一个背景图像Ibg。最后,伪目标图像Igt可以表示为:
这个过程确保了背景图像的清晰并且与原始场景相同,而前景可编辑区域则由T2I模型ϵϕ2增强。使用这个伪GT图像作为像素级监督有效地增强了结果纹理并减少了浮动物。在渲染图像Ic和生成的伪GT图像Igt之间应用MSE损失。附录中包含了一个流程图 ,描述了完整的Igt准备过程。
为了保持更好的覆盖范围,渲染相机姿态覆盖了预定义范围内每隔30◦的所有仰角和方位角。为了保持去噪后图像的更好视角一致性,我们设置了一个较小的噪声水平(t0 = 0.05,即SDEdit中的“中间时刻”)。使用这样小的噪声水平有效地增强了细节纹理,去除了小的伪影,并且不会引入明显的形状和外观变化,为目标编辑区域保持了更好的视角一致性。
实验与结果
我们使用官方代码训练原始场景GS,并采用默认超参数。在分步式2D个性化阶段,场景个性化步骤包含1k次迭代,而新颖内容个性化包含500次迭代。我们在Lloc中设置λ = 0.1。在粗略编辑阶段,我们采用来自的视图采样策略。生成的图像大小为512×512。由于编辑任务的不同复杂程度,该阶段需要优化1K∼5K次迭代,大约需要5∼25分钟。细化阶段进行3K次迭代,以生成的Igt为监督,在不到3分钟内完成。
定量比较
结果明显表明我们的方法在两个度量指标上都优于其他方法,这表明我们的方法生成的外观更好地与文本提示和图像提示相吻合。用户研究也得出了类似的结论。我们的结果在“质量”评估(70.8%票数)和“对齐”评估(81.2%票数)方面都大幅超过了基线方法。
定性对比结果
TIP-Editor 的进一步编辑结果
编辑结果示例
使用生成图像作为参考的结果
!
总结
### 文章总结:Gaussian Splatting+Stable Diffusion进行3D场景编辑(TIP-Editor新框架)**背景与动机**
近年来,利用辐射场(如NeRF和3D Gaussian Splatting)进行3D重建和场景编辑取得了显著进展,但仅依赖文本提示进行精确定位和编辑存在局限性。腾讯的研究团队提出了TIP-Editor框架,旨在通过结合文本和图像提示以及3D边界框来实现更准确的3D场景编辑。
**TIP-Editor框架简介**
- **目标**:在指定3D边界框内,通过文本和图像提示实现精准的场景编辑。
- **核心方法**:采用高斯绘制(Gaussian Splatting, GS)作为明确的3D表示方法,结合分步2D个性化技术和像素级细化。
**主要步骤与模型**
1. **Stepwise 2D Personalization(逐步二维个性化)**
- **现有场景个性化**:
- 利用DreamBooth框架微调预训练的Stable Diffusion模型(SD),增加场景特定标记V1,并使用重构损失和先验保留损失进行训练。
- 引入注意力定位损失,确保目标对象在指定区域内。
- **新内容个性化**:
- 使用LoRA层捕捉参考图像中的独特特征,减少学习多个概念时的遗忘。
2. **Coarse Editing via SDS Loss(基于SDS损失的粗略编辑)**
- 使用SDS(分数精炼抽样)损失优化边界框内的高斯函数,进行粗略的3D编辑,包括全局SDS损失和局部SDS损失。
- 根据编辑任务的不同(对象插入、替换、重新纹理等),选择和优化对应的高斯函数属性。
3. **Pixel-Level Image Refinement(像素级图像细化)**
- 引入伪目标图像来增强编辑结果的质量,使用SD模型作为去噪网络,减少伪影。
- 渲染背景和编辑对象,合成伪目标图像,并应用像素级MSE损失进行细化。
**实验与结果**
- 使用官方代码进行训练和实验,通过逐步个性化和SDS损失优化,在指定边界框内实现精准的编辑。
- 定量和定性对比结果显示,TIP-Editor在生成图像的质量和与提示的一致性方面均优于基线方法,用户研究结果也支持了这一结论。
### 结论
TIP-Editor框架通过结合文本、图像提示和3D边界框,实现了对3D场景的精准编辑,不仅克服了文本提示的不足,还通过高斯绘制和分步个性化技术提升了编辑的灵活性和准确性。这一研究为3D场景编辑任务提供了新的方法和思路。