ECCV2024|港中文提出文本生成3D方法DreamDissector,能够生成具有交互的多个独立对象。

本文主要是介绍ECCV2024|港中文提出文本生成3D方法DreamDissector,能够生成具有交互的多个独立对象。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DreamDissector 是一种文本生成3D对象的方法,通过将多对象文本生成的NeRF输入并生成独立的纹理网格,提供了对象级别的控制和多种应用可能性。

DreamDissector 可以生成具有合理交互的多个独立纹理网格,方便各种应用,包括对象级别的文本引导纹理、通过简单操作方便的手动用户几何编辑以及文本引导的可控对象替换。

相关链接

论文地址:https://arxiv.org/abs/2407.16260

代码地址:https://chester256.github.io/dreamdissector(即将推出)

论文阅读

DreamDissector:从 2D 扩散先验学习解开文本到 3D 的生成

摘要

文本到 3D 生成最近取得了重大进展。为了增强其在实际应用中的实用性,生成具有交互的多个独立对象至关重要,类似于 2D 图像编辑中的层合成。然而,现有的文本到 3D 方法难以完成这项任务,因为它们旨在生成非独立对象或缺乏空间上合理交互的独立对象。

为了解决这个问题,我们提出了 DreamDissector,这是一种能够生成具有交互的多个独立对象的文本到 3D 方法。DreamDissector 接受多对象文本到 3D NeRF 作为输入并生成独立的纹理网格。为了实现这一点,我们引入了神经类别场 (NeCF) 来解开输入的 NeRF。此外,我们提出了由深度概念挖掘 (DCM) 模块促进的类别分数蒸馏采样 (CSDS),以解决扩散模型中的概念差距问题。通过利用 NeCF 和 CSDS,我们可以有效地从原始场景中得出子 NeRF,进一步细化可以增强几何和纹理。

我们的实验结果验证了 DreamDissector 的有效性,为用户提供了在对象级别控制 3D 合成的新方法,并可能为未来各种创意应用开辟途径。

方法

我们以由粗到精的方式生成多个独立的交互式 3D 对象。首先,我们渲染输入的文本到 3D NeRF 的视图以进行深度概念挖掘 (DCM),从而获得 T2I 扩散模型和相应的文本嵌入。然后,我们使用挖掘出的嵌入和 T2I 扩散模型,使用类别分数蒸馏采样 (CSDS) 来训练神经类别场 (NeCF)。在解开输入的 NeRF 后,我们将子 NeRF 转换为 DMTets 并对其进行微调以进一步细化。最后,我们导出具有改进的几何形状和纹理的独立表面网格。

左图:扩散模型中的概念差异。文本提示是“一只黑猩猩正在通过望远镜观察”。右图:深度概念挖掘 (DCM) 概述。我们使用掩蔽扩散损失对文本嵌入和 T2I 扩散模型进行微调。

效果

定性结果

与两条基线比较。我们展示了独立的对象 便于比较。

使用不同的策略来解开 NeRF。我们的 DCM CSDS成功解开了子 NeRF,而 SA3D 和 vanilla CSDS 在某些情况下会失败。

DCM细化示意图。(a) 与伪影解除纠缠的NeRF; (b)原始稳定扩散采样图像(SD), (c) DCM采样图像(SD), (d)由于对原始SD进行微调而产生的不良结果,以及(e) DCM SD固定的伪影。

文本引导纹理编辑的应用示意图。

文本引导对象替换的应用示意图。

几何编辑的应用说明。

更多结果

结论

我们提出了 DreamDissector,这是一个新颖的框架,旨在生成由文本引导的多个独立交互的对象。DreamDissector 将多对象文本到 3D 神经辐射场 (NeRF) 作为输入,并生成多个纹理网格。我们引入了神经类别场 (NeCF),这是一种能够将输入 NeRF 分解为多个子 NeRF 的表示。为了训练 NeCF,我们提出了类别分数蒸馏采样 (CSDS) 损失。此外,我们观察到 2D 扩散模型中的概念差异问题,这会降低解缠性能。为了解决这个问题,我们引入了深度概念挖掘 (DCM) 来微调文本嵌入和 2D 扩散模型,从而有效地导出子 NeRF。此外,我们提出了一个两阶段细化过程来进一步细化几何和纹理,从而增强真实感。实验结果和进一步的应用展示了 DreamDissector 在现实场景中的有效性和实用性。

这篇关于ECCV2024|港中文提出文本生成3D方法DreamDissector,能够生成具有交互的多个独立对象。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1098835

相关文章

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Python实现中文文本处理与分析程序的示例详解

《Python实现中文文本处理与分析程序的示例详解》在当今信息爆炸的时代,文本数据的处理与分析成为了数据科学领域的重要课题,本文将使用Python开发一款基于Python的中文文本处理与分析程序,希望... 目录一、程序概述二、主要功能解析2.1 文件操作2.2 基础分析2.3 高级分析2.4 可视化2.5

postgresql使用UUID函数的方法

《postgresql使用UUID函数的方法》本文给大家介绍postgresql使用UUID函数的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录PostgreSQL有两种生成uuid的方法。可以先通过sql查看是否已安装扩展函数,和可以安装的扩展函数

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法