编辑任何场景! 3DitScene:通过语言引导的解耦 Gaussian Splatting开源来袭!

文章:https://arxiv.org/pdf/2405.18424
项目:https://zqh0253.github.io/3DitScene/
huggingface:https://huggingface.co/spaces/qihang/3Dit-Scene

场景图像编辑在娱乐、摄影和广告设计中至关重要。现有方法仅专注于2D个体对象或3D全局场景编辑,导致缺乏一种在3D层面上以不同粒度有效控制和操作场景的统一方法。

本研究提出了3DitScene,这是一种新颖且统一的场景编辑框架,利用语言引导的解耦Gaussian Splatting实现从2D到3D的无缝编辑,允许对场景组成和个体对象进行精确控制。首先结合通过生成先验和优化技术细化的3D Gaussian Splatting。然后通过CLIP引入的语言特征为3D几何体赋予语义,实现对象的解耦。借助解耦的Gaussian Splatting,3DitScene允许在全局和个体层面上进行操作,革新了创意表达并增强了对场景和对象的控制。实验结果展示了3DitScene在场景图像编辑中的有效性和多样性。

介绍

场景图像编辑在娱乐、专业摄影和广告设计等多个领域具有重要意义。内容编辑能够为观众创造沉浸式和引人入胜的体验,有效传达艺术愿景,并实现预期的美学效果。随着深度生成建模的快速发展,许多尝试已被用于有效编辑图像。然而,这些方法遇到了限制,阻碍了它们的潜力。

以往的方法主要集中在2D图像空间的场景编辑。它们通常依赖于生成先验,如生成对抗网络(GANs)和扩散模型(DM),并采用修改交叉注意力机制和优化网络参数等技术来编辑场景图像中的外观和对象身份。尽管有些尝试扩展了这些方法到3D编辑,但它们忽视了3D线索,在改变相机姿态时难以保持3D一致性。此外,这些方法通常专注于全局场景,缺乏准确解耦对象的能力,导致在3D层面上对个体对象的控制有限。

为了编辑任意场景图像并实现对场景及其个体对象的3D控制,本文提出了3DitScene,一种利用新场景表示的场景编辑框架——语言引导的解耦Gaussian Splatting。具体来说,给定的图像首先被投影到3D Gaussian Splatting中,这些Gaussian Splatting通过2D生成先验进一步细化和丰富。因此获得了一个综合的3D场景表示,自然支持给定图像的新视角合成。

此外,CLIP的语言特征被提取到相应的3D Gaussian Splatting中,引入语义到3D几何中。这些语义3D Gaussian Splatting帮助从整个场景表示中解耦出个体对象,形成语言引导的解耦Gaussian Splatting用于场景分解。它们还允许更用户友好的交互,即用户可以通过文本查询特定对象或兴趣点。为此,3DitScene实现了从2D到3D的无缝编辑,并允许在全局和个体层面上进行修改,赋予创作者对场景构图和对象级别编辑的精确控制。

这一流程称为3DitScene。不同于以前专注于单一类型编辑的工作,3DitScene在一个统一框架内整合了编辑需求。示意图展示了3DitScene的多功能性,展示了其在各种场景图像中的应用。在不同设置下对3DitScene进行了评估,结果显示相比基线方法有显著改进。

相关工作

使用生成模型进行图像编辑 随着生成对抗网络(GANs)和扩散模型的发展,2D图像合成领域取得了显著进展。许多研究利用生成模型中embedding的丰富先验知识进行图像编辑。一些研究使用GANs进行各种图像编辑任务,包括图像到图像翻译、潜在空间操作以及文本引导的操作。

然而,由于在大规模数据上训练的限制,GANs在处理现实场景图像时常表现不佳。随着扩散模型的显著进步,社区越来越关注利用强大的文本到图像扩散模型进行真实图像编辑。然而,这些方法局限于2D领域,难以在3D空间中编辑对象。同时,其他研究试图解决3D感知的图像编辑,但在编辑过程中引入了不一致性,且无法改变整个场景的相机视角。相反,本文的模型利用显式3D高斯将2D图像转换为3D空间,同时借助语言引导解耦对象。该方法不仅使本文的模型能够一致地执行3D感知对象编辑,还能促进场景级的新视角合成。

单视角3D场景合成 在3D场景生成领域中,基于单视角的条件生成提出了独特的挑战。先前的方法通过训练一个通用模型来应对这一挑战,该模型能够基于单个输入图像推断场景的3D表示。然而,这些方法需要大量的数据集进行训练,且在面对相机视角的显著变化时,往往会产生模糊的纹理。最近,一些工作采用扩散先验来获取未见视角的概率分布,从而获得更好的合成效果。然而,这些方法通常集中于对象中心的场景或缺乏3D一致性。本文的方法通过显式3D高斯连接2D图像和3D场景,并结合扩散知识,克服了上述挑战。

方法

本文的目标是提出一个3D感知的场景图像编辑框架,允许对相机和对象进行同步控制。为实现这一目标,先介绍了一种新颖的场景表示方法,称为语言引导的解耦Gaussian Splatting。为了实现对象级控制,进一步将语言特征提取到Gaussian Splatting表示中,实现对象级解耦。接着详细说明了优化过程,最后展示了本文的框架在推理过程中所提供的灵活用户控制。

从单个图像生成3D Gaussian Splatting

预备知识 3D Gaussian Splatting(3DGS)已被证明在重建和生成设置中都很有效。它通过一组显式的3D高斯来表示3D场景。每个3D高斯通过一个中心向量

x \in R^3

、一个缩放因子

s \in R^3

、一个旋转四元数

q \in R^4

来描述其位置,并存储一个不透明度值

\alpha \in R

和用于体渲染的球谐函数(SH)系数

c \in R^k

(k表示SH的自由度)。所有上述参数可以表示为

Θ={x_i, s_i, q_i, \alpha_i, c_i| i \in [0,··· ,𝑁 − 1]}

,其中𝑁是3D高斯的数量。一个基于瓦片的光栅化器用于将这些高斯渲染成2D图像。

图像到3DGS的初始化 给定一个输入图像

I \in R^{3 \times H \times W}

,应用一个现成的深度预测模型来估计其深度图

D \in R^{H \times W}

。然后,可以将图像像素转换到3D空间,形成相应的3D点云:

其中,K和T分别是相机的内参矩阵和外参矩阵。这些点云P然后被用来初始化3DGS,通过直接复制位置和颜色值来进行初始化,其他与GS相关的参数则随机初始化。为了优化3DGS的外观,采用重建损失:

其中,𝑓是渲染函数。进一步利用图像生成基础模型(即Stable Diffusion)的先验知识来增强渲染质量。它以Score Distillation Sampling损失(记为LSDS)的形式,为当前3DGS渲染的图像提供更新方向。

通过修补扩展3D GS 当相机视角发生变化时,由于遮挡或超出原始视锥的新区域,渲染视图会出现空洞。使用Stable Diffusion来修补未覆盖的区域。然后,需要将新添加的像素准确地转换到3D空间,以无缝对齐现有的3D高斯。

之前的方法首先预测深度值,然后使用启发式方法调整这些值以对齐现有的3D结构。然而,依赖启发式方法往往忽略了各种场景,导致深度不连续或形状变形等问题。

相反,本文提出了一种新方法,将新的内容提升到3D,同时确保无缝对齐而无需任何启发式过程。关键见解是将问题视为图像修补任务,并利用最先进的基于扩散的深度估计模型作为先验来解决任务。在去噪步骤中,不是使用模型预测整个图像的噪声,而是采用前向扩散过程来确定固定区域的值。这种方法保证了最终结果在去噪后符合原始固定部分的深度,确保了平滑扩展。

在通过深度修补平滑扩展3DGS后,将设想的全新视图作为参考视图,并应用重建损失Lrecon来监督更新的3DGS。对于从用户提供的视点和新设想视图之间插值的相机视角渲染的视图,采用SDS损失LSDS。

语言引导的解耦Gaussian Splatting

基于单个输入图像生成的3DGS,用户可以生成新视图。进一步将CLIP语言特征提取到3D高斯中。这将语义引入到3D几何中,有助于从整个场景表示中解耦个体对象。

语言特征提取 为每个3D高斯增加一个语言embedding

e \in R^C

,其中

C

表示通道数。与RGB图像I类似,也可以通过光栅化器渲染出一个2D语义特征图

E \in R^{C \times H \times W}

。为了学习embedding,首先使用Segment Anything Model (SAM)获得语义mask

M_i

。然后,可以获取每个对象的embedding

I ⊙ M_i

,并根据提取损失来监督渲染特征图E上的相应区域:

其中,

g

是CLIP的图像编码器,⊙表示元素逐次相乘。根据LangSplat,还训练了一个自编码器来压缩embedding空间,以优化语言embedding e的内存消耗。

场景分解 在提取语言特征后,可以将场景分解为不同的对象。这使得用户能够查询并定位特定对象,并对单个对象进行编辑(例如平移、旋转、移除、重新造型)。值得注意的是,这种场景分解特性不仅在推理阶段允许更灵活的编辑,还在优化过程中提供了对场景布局的增强。由于现在可以独立查询和渲染每个对象,对对象应用随机平移、旋转和移除。这种对场景布局的增强显著改善了遮挡区域的外观,最终提升了编辑视图的整体质量。

训练 总体训练目标可以表示为:

其中,

\lambda_{recon}

\lambda_SDS

\lambda_istill

是平衡各损失项的系数。

推理

由于本文的表示方法具有解耦的特性,用户现在可以以灵活的方式与对象进行交互和操作。这里,主要讨论通过两种不同模态来提示对象:

文本提示 用户可以通过文本提示查询对象,如下图3所示。

根据LERF和LangSplat,计算3D高斯中的语言embedding e与文本提示的embedding

e_l

之间的相关性得分:

其中,

e^i_{canon}

是包括“object”(对象)、“things”(事物)、“stuff”(物品)和“texture”(纹理)等常见短语的CLIP embedding。相关性得分低于预定阈值的高斯将被排除。剩余部分被识别为用户感兴趣的对象。

边界框 用户还可以通过在输入图像上绘制一个大致的边界框来选择对象。首先识别边界框内的3D高斯,然后根据它们的语言embedding e进行K均值聚类。假设对象是边界框内最显著的一个,数量不超过阈值比例的聚类将被丢弃。

同时,用户还可以通过指定内参和外参来调整相机视点。

实验

###设置

实现细节:为了将图像提升到3D,使用GeoWizard估计其相对深度。采用Stable Diffusion的修补流程为3DGS的扩展生成新内容。利用MobileSAM和OpenCLIP对渲染视图进行分割和计算特征图,这些特征图进一步用于监督3D高斯的语言embedding。在优化过程中,使用Stable Diffusion进行Score Distillation Sampling。得益于显式3DGS初始化的良好图像质量,采用低分类器无关指导的比例。

基线:将本文的方法与以下场景图像编辑工作进行比较:

  • AnyDoor是一种基于2D扩散模型的方法,可以将目标对象传送到给定的场景图像中。它通过微调Stable Diffusion来利用其强大的图像生成先验。

  • Object 3DIT旨在通过语言指令进行3D感知的对象中心图像编辑。它在包含原始图像、语言指令和编辑图像对的合成数据集上微调Stable Diffusion。

  • Image Sculpting也旨在进行3D感知的对象中心图像编辑。它从输入图像中的对象估计3D模型,以实现对几何形状的精确3D控制。它还使用Stable Diffusion来优化编辑后的图像质量。

  • AdaMPI侧重于相机视角的控制。它利用单目深度估计和颜色修补,采用自适应分层深度表示。

  • LucidDreamer通过使用稠密相机轨迹查询Stable Diffusion的修补流程来处理新视图合成。

定量结果

研究者们进行用户研究,以比较本文方法与已建立基线方法的编辑结果。每种方法生成20个样本,并要求用户根据与原始图像的一致性和每个样本的质量投票选择其偏好。收集了25名用户的反馈,并在下表1中报告结果。

本文的方法在一致性和图像质量方面始终优于以前的基线。根据之前的研究建议,GPT-4v具有评估3D一致性和图像质量的能力。因此,将GPT-4v作为额外的评估标准。GPT-4v的偏好与人类偏好高度一致,这再次证明了3DitScene的优越性。

定性结果

下图4展示了本文框架生成的新视图及其相应的特征图。特征图显示出在捕捉图像的语义内容方面具有显著的准确性。这种能够清晰分离语义信息的能力在实现精确的对象级控制中起着关键作用。接下来,展示了本文框架实现的对场景图像的灵活编辑,并与基线方法进行了比较。

对象操作

由于不同的方法在不同的坐标系中定义对象操作,特别是平移操作,因此在统一和公平的设置下评估它们变得具有挑战性。因此,根据各自的特定设置评估每种方法,以达到最佳结果。如下图5所示,AnyDoor在操作对象布局时难以维持对象身份和3D一致性,主要是由于缺乏3D线索。

Object 3DIT,在合成数据集上训练,展示了有限的对真实图像的泛化能力。通过利用从输入图像中导出的3D模型,Image Sculpting取得了更好的结果。尽管如此,在操作对象时仍然遇到一致性问题。这是因为它们仅依赖3D模型提供粗略指导,导致在优化过程中丢失了更细微的细节。

相比之下,本文的方法提供了令人满意的3D感知对象级编辑结果。在重新排列布局后,它保持了编辑对象的准确3D一致性。此外,它保留了场景内的遮挡关系,例如将女孩移动到最后一行示例中被前景对象部分遮挡。

相机控制 将本文的方法与AdaMPI和LucidDreamer进行相机控制的比较。如下图6所示,AdaMPI仅专注于相机放大的情况,并不考虑新视图合成。因此,当需要大范围相机控制时,此方法不适用于需要3D感知图像编辑。LucidDreamer还利用Stable Diffusion的修补能力进行新视图合成。然而,它在帧内内容的突然转换中遇到问题(参见底部行的示例)。它还需要密集的相机姿态。相比之下,本文的方法只需要尽少至三个相机姿态,并实现了从输入视图到新视图的平滑过渡,增强了用户对相机视角的控制。

消融研究

优化过程中的布局增强 由于表示在对象级别上进行了解缠,可以在优化过程中进行布局增强。在这里,研究了解缠属性是否有助于优化过程。使用移除对象的任务来评估解缠程度。如下图7所示,在优化过程中禁用布局增强时,可以观察到浮动伪影。发现这些高斯位于对象内部。它们被表面上的高斯遮挡。由于它们不会对渲染结果产生影响,因此它们在优化过程中不会被梯度下降更新,导致它们的语言embedding无监督。

相比之下,在优化过程中应用布局增强,当前景对象移开时,这些高斯将会暴露出来,因此得到更新。通过这种消融,得出结论:所提出的表示的解缠属性不仅能够实现更灵活的推断,而且有助于优化过程。

损失项 在优化过程中,采用三个损失项:

L_{recon}、L_{SDS}和L_{distill}

L_{distill}

在将语言embedding蒸馏到3D中起着关键作用。其余两个项侧重于增强图像的视觉质量。在这里,通过消融研究来研究这两个项的贡献。由于输入图像可以提供整体结构和详细外观的指导,因此无需为SDS损失应用大的分类器自由指导(CFG)值。因此,默认情况下,选择5作为CFG值。

如下图8所示,如果没有

L_{recon}

L_{SDS}

,图像质量会严重下降。没有

L_{recon}

时,图像仅由SDS损失进行了细化,这与原始图像存在差异。当CFG值设定为较低值时,如默认的5,图像缺乏细节,并显示出异常的纹理图案。增加CFG值会引入更多细节,但会与原始图像产生不一致,同时奇怪的纹理图案问题仍然存在。此外,仅应用

L_{recon}

会导致浮动伪影和整个图像的模糊。

综上所述,SDS和重建损失对于获得体面的图像质量至关重要。

深度修补 在扩展3DGS到新视图时,需要估计未见区域的深度图。这里将基于修复的深度估计与启发式方法进行了比较。下图9显示了左侧部分具有深度图像的图像。任务是预测右侧部分的深度图。依赖启发式对齐的方法会导致深度不连续等伪影。相比之下,本文提出的方法能够生成准确的深度图,与左侧已知部分很好地对齐。

结论与讨论

本文提出了一个新的框架,3DitScene,用于场景图像编辑。主要目标是在统一的框架内促进对对象和整个场景的3D感知编辑。通过利用新的场景表示,即语言引导的解缠场景表示,实现了这一目标。通过将CLIP的语言特征蒸馏到3D高斯中来学习此表示。语义3D高斯有效地从整个场景中解缠出单个对象,从而实现了局部对象编辑。通过在不同的设置下测试了3DitScene,并证明了与先前方法相比其优越性。

参考文献

[1] 3DitScene: Editing Any Scene via Language-guided Disentangled Gaussian Splatting

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

harbor -- docker私有仓库安装配置

1 安装docker-compose $ curl -L "https://get.daocloud.io/docker/compose/releases/download/v1.25.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose $ chmod x /usr/local/bin/docker-compose 2 安装配置harbor $ wget https://g…

Windows11 wsl2编译Android14 使用ASfP Debug windows上启动的模拟器

wsl2的安装和配置 安装: 直接百度搜索最新的wsl2安装教程即可,官网:https://learn.microsoft.com/zh-cn/windows/wsl/install 1. 启用适用于 Linux 的 Windows 子系统(以管理员身份打开 PowerShell 并运行) Enable-WindowsOptionalFeature…

网络安全岗秋招面试题及面试经验分享

Hello,各位小伙伴,我作为一名网络安全工程师曾经在秋招中斩获🔟个offer🌼,并在国内知名互联网公司任职过的职场老油条,希望可以将我的面试的网络安全大厂面试题和好运分享给大家~ 转眼2024年秋招又快到了金…

【学习】软件测试中如何进行Web网页兼容性测试

在数字时代,Web网页作为信息传递和交流的重要平台,其稳定性和用户体验至关重要。如同一位匠人细致打磨他的工艺品,开发者亦需精心测试网页的兼容性,确保其在各种设备和浏览器上的表现无懈可击。今天,我们就来探讨如何对…

启智CV机器人,ROS, ubuntu 18.04

资料: https://wiki.ros.org/kinetic/Installation/Ubuntu https://blog.csdn.net/qq_44339029/article/details/120579608 http://wiki.ros.org/melodic/Installation/Ubuntu https://github.com/6-robot/wpb_cv 一、安装ros环境 装VM。 装ubuntu18.04 desktop.…

【赠书第27期】向AI提问的艺术:提示工程入门与应用

文章目录 前言 1 问题的构建 1.1 明确性与具体性 1.2 结构化与层次性 1.3 相关性与针对性 2 提问的技巧 2.1 简洁明了 2.2 避免歧义 2.3 使用自然语言 3 与AI的互动策略 3.1 耐心与理解 3.2 逐步引导 3.3 反馈与调整 4 总结与展望 5 推荐图书 6 粉丝福利 前言 …

uni-app实现页面通信EventChannel

uni-app实现页面通信EventChannel 之前使用了EventBus的方法实现不同页面组件之间的一个通信,在uni-app中,我们也可以使用uni-app API —— uni.navigateTo来实现页面间的通信。注:2.8.9 支持页面间事件通信通道。 1. 向被打开页面传送数据…

XX集团信息(IT)战略和规划项目(154页PPT)

方案介绍: 本集团信息(IT)战略与规划项目方案是集团数字化转型和信息化建设的重要组成部分。通过本方案的实施,我们将为集团的长期发展提供坚实的信息化支撑,提高集团的管理水平和运营效率,增强企业的竞争…

来聊聊Redis中的字符串对象的设计

写在文章开头 redis对于性能的追求做到了极致,在之前的文章中我们redis的简单动态字符串SDS进行了详细的介绍了,而本文我将从顶层的视角来聊聊Redis基于SDS等数据结构实现一个平衡时间与空间的字符串对象。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,…

2024年最具性价比宠物空气净化器推荐!小米、希喂、安德迈真实测评

一款理想的宠物空气净化器应该具备去除浮毛和异味等基本功能,但要找到一款既满足个人需求、性能出色且性价比高的产品,这需要一定的选择技巧。 遗憾的是,许多人在购买时由于对相关术语的不熟悉或缺乏挑选经验,可能会买到不适合自…

Java流与链表:探索java.util.stream与LinkedList的交汇点

在现代Java开发中,流(Streams)和链表(LinkedList)都是强大且常用的数据处理工具。java.util.stream提供了高效的方式来处理数据流,而LinkedList则是java.util包中的经典集合实现。本文将探索它们的交汇点&a…

C# PaddleOCR 单字识别效果

C# PaddleOCR 单字识别效果 效果 说明 根据《百度办公文档识别C离线SDKV1.2用户接入文档.pdf》,使用C封装DLL,C#调用。 背景 为使客户、第三方开发者等能够更快速、方便的接入使用百度办公文档识别 SDK、促进百度 OCR产品赋能更多客户,特设…

[初始计算机]——计算机网络的基本概念和发展史及OSI参考模型

🏡作者主页:点击! 🤖网络通信基础TCP/IP专栏:点击! ⏰️创作时间:2024年5月30日11点59分 🀄️文章质量:96分 ​ 目录 🌐计算机网络概述 💯…

定点化和模型量化(二)

1.量化器的种类——均匀/ https://arxiv.org/pdf/1806.08342 1.1 Uniform Affine Quantizer 这是一种最朴素的量化: s表示step,可以看作量化的最小单位;z是zero point,因为当浮点x0时,对应的量化结果就是z。 可以看…

【SQL学习进阶】从入门到高级应用(七)

文章目录 ✨数据处理函数✨if函数✨cast函数✨加密函数 ✨分组函数✨max✨min✨avg✨sum✨count✨分组函数组合使用✨分组函数注意事项 ✨分组查询✨group by✨having✨组内排序 ✨总结单表的DQL语句 🌈你好呀!我是 山顶风景独好 💕欢迎来到我…

推荐系统三十六式学习笔记:01|你真的需要个性化推荐系统吗?

目录 什么是推荐系统你需要推荐系统吗总结 什么是推荐系统 让我们来换一个角度回答三个问题,从而重新定义什么是推荐系统: 1、它能做什么? 2、它需要什么? 3、它怎么做。 对于第一个问题“它能做什么”,我的回答是:推…

跨境电商如何收款?6大常用收款方式对比!

收款是跨境中关键的一环,选择一个安全、高效、成本合理的收款工具很重要。每个跨境人都要先想好选择合适的收款方式,今天就给跨境人们总结了6个主流的跨境收款工具,大家可以根据自己的实际情况进行对比选择。 1、PayPal 适用平台:…

Vue3使用mitt进行组件通信

mitt:事件总线,是第三方插件。 Vue2.x 使用 EventBus 事件总线进行兄弟组件通信,而在Vue3中 EventBus 事件总线模式已经被移除,官方建议使用外部的、实现了事件触发器接口的库,例如 mitt 或 tiny-emitter。 比起 Vue…

华为大咖说 | 企业应用AI大模型的“道、法、术”—— 法:场景篇

本文作者:郑岩(华为云AI变革首席专家)全文约5000字,阅读约需10分钟 这是我的AI应用系列第二篇,想谈谈“如何找个好场景”。场景找对了,那就成功一大半,这个道理放在AI大模型的应用上&#xff0c…

谷歌为其AI搜索结果辩护,称问题出在“数据空白”和边缘案例|TodayAI

近日,谷歌 Google 在推出其AI生成的搜索结果后,引发了广泛争议。该公司表示,一些不准确的搜索结果是由于“数据空白”和边缘案例导致的。 上周,谷歌向数百万用户推出了AI搜索结果,旨在提供更好的搜索体验。然而&#…