不到1s生成mesh! 高效文生3D框架AToM


论文题目: AToM: Amortized Text-to-Mesh using 2D Diffusion
论文链接: https://arxiv.org/abs/2402.00867 项目主页: AToM: Amortized Text-to-Mesh using 2D Diffusion
随着AIGC的爆火,生成式人工智能在3D领域也实现了非常显著的效果,但是现有的文生3D模型仍然存在很多局限,例如主流的文生3D方法需要逐文本优化(per-prompt optimization),生成过程非常耗时。此外,这些方法的可扩展性仍有待提高,对于训练分布之外的未见文本(unseen prompt),模型无法生成。
本文介绍一篇来自Snapchat、KAUST和多伦多大学合作完成的工作AToM(Amortized Text-to-Mesh using 2D Diffusion)。AToM是一种可以跨多个文本提示进行优化的三维生成框架,其可以在不到1秒的时间内直接生成高质量的纹理网格,训练成本相比逐文本优化方法至少降低 10 倍,并且具有更好的泛化性能,对未见的文本提升,可以轻松地应对。AToM的关键idea是构建了一种基于triplane的文本到3D模型生成框架,并且设计了一种两阶段Amortized优化策略,这样可以保证模型训练过程的稳定性,同时提高可扩展性。AToM可以灵活的掌握2D扩散模型中的先验,根据用户输入的文本提示在短时间内完成相应3D模型的生成。

本文作者在多个标准评估基准上进行了大量的实验,实验结果表明AToM的精度显著优于目前的SOTA方法ATT3D[1],同时与per-prompt方法相比,AToM展示出了强大的通用能力,下图展示了AToM生成各种三维模型的效果。

01. 引言
生成式人工智能的迅速发展,使得3D模型的构建过程越来越方便直接,设计师们无需进行复杂的手工绘制,而是只输入几个单词就可以创建一个逼真的模型。当前主流的文本到3D模型方法可以在无需三维监督信号的情况下进行训练。但是这种方法需要根据用户输入的每个提示进行优化,这导致了模型无法推广到真实场景中的unseen提示。近期,发表在ICCV2023上的ATT3D方法[1]提出了一种Amortized文本到3D模型生成技术,大幅度地缩减模型的训练时间,但是其仍局限于NeRF格式的输入。直观上分析,将NeRF转换为3D模型是不够精确的。另外更重要的是,由于HyperNets训练不稳定性,基于HyperNets的ATT3D在大规模数据集中表现欠佳,对于不同的提示词,容易生成无法分辨的3D模型。

因此本文引入了一种全新的AToM,直接将Amortized技术应用到文本到三维纹理网络mesh生成中。然而,盲目的将ATT3D方法扩展为Text-to-Mesh形式,也会面临在几何拓扑方面出现偏差的问题,如下图第二列所示。

为此,AToM引入了基于triplane的mesh生成框架以及二阶段Amortized优化策略,以稳定Text-to-Mesh的训练稳定性,增强生成的可扩展性。与ATT3D相比,AToM可以产生质量更好效果更逼真的3D内容,在大数据集上表现更佳。 上图分别展示了本文方法与ATT3D的生成效果对比。
02. 本文方法
2.1 AToM Pipeline
下图展示了本文方法在训练和推理过程中的pipeline,与针对特征提示的主流3D模型生成方法不同,AToM的网络架构由一个文本编码器、一个text-to-triplane网络和一个triplane-to-mesh生成器构成。


2.2 两阶段的Amortized优化
2.2.1 体积优化

2.2.2 网格优化
AToM的第二阶段优化是使用网格光栅化通过高分辨率渲染来优化整个网络。此时作者使用了可微的网格表示,同时使用网格光栅化可以节省内存并提高计算速度,这允许整体框架使用更高分辨率(例如尺寸为例如 512×512)的渲染进行训练。训练损失使用与第一阶段相同的SDS损失,由于SDF和颜色网络已在第一阶段得到了优化,因此第二阶段的主要目标是通过网格表示中的高分辨率渲染来提高几何和纹理的质量。需要指出的是,在这两个优化阶段中,AToMs没有接收任何 3D 数据的监督信号,仅在文本到图像扩散模型的指导下完成训练。
03. 实验效果
本文的实验在多个标准评估基准上进行,包括Pig64、Animal2400, DF27和DF415。评价指标使用与ATT3D方法相同的CLIP-R概率,其可以衡量输入文本与生成3D模型的均匀渲染视图的平均距离。下表展示了本文方法与其他baseline方法的对比结果。

从表中可以观察到,AToM 在 Pig64 的unseen提示上获得了比 ATT3D(64.29%)更高的 CLIP R 概率 75.00%,这表明AToM拥有更强的泛化能力。此外,在Pig64 和 DF27 的训练提示中,AToM 在两个数据集上都超越了其他方法。

AToM框架的一个优点是,其可以轻松推广到模型训练分布之外的插值提示中,而普通的per-prompt方法不具备这种通用性。上图展示了AToM方法在Pig64中的unseen生成效果,AToM 无需进一步优化就可以对unseen提示生成高质量的结果,如上图对角线所示。 在Animal2400 12.5%数据集中,AToM仅在300个文本上训练,便可扩展至2400个文本的生成,下图展现了部分文本的生成效果:

此外,作者在下图中对AToM中的关键模块和操作进行了消融研究,从图中可以观察到,当仅使用单阶段进行训练时,模型的收敛稳定性会受到明显影响,生成的准确率较低,只有7.47%,明显低于 AToM full(81.93%)。这表明,本文所提的两阶段优化策略非常重要,经过第二阶段训练产生的网格具有更高的视觉质量。

04. 总结
本文提出了一种新颖的Amortized文本到3D模型生成框架AToM,AToM可以在没有3D 监督的情况下跨多个文本提示进行网络优化。AToM的训练过程基于三平面的网格生成器,这有助于更稳定的优化和提高对大规模数据集的通用性。此外,作者针对文本到3D网格生成过程,设计了一种两阶段Amortized优化策略,与普通的per-prompt方法相比,AToM 显着减少了训练时间,更重要的是,AToM 表现出很强的通用性,无需进一步优化即可为下游环境中的unseen提示生成高质量的 3D 内容。
参考
[1] Jonathan Lorraine, Kevin Xie, Xiaohui Zeng, Chen-Hsuan Lin, Towaki Takikawa, Nicholas Sharp, Tsung-Yi Lin, Ming Yu Liu, Sanja Fidler, and James Lucas. Att3d: Amortized text-to-3d object synthesis. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 17946–17956, October 2023.
[2] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J. Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. Journal of Machine Learning Research, 21(140):1–67, 2020.
[3] Peng Wang, Lingjie Liu, Yuan Liu, Christian Theobalt, Taku Komura, and Wenping Wang. Neus: Learning neural implicit surfaces by volume rendering for multi-view reconstruction. In Advances in Neural Information Processing Systems (NeurIPS), 2021.
[4] Ben Poole, Ajay Jain, Jonathan T Barron, and Ben Mildenhall. Dreamfusion: Text-to-3d using 2d diffusion. International Conference on Learning Representations (ICLR), 2022.
关于TechBeat人工智能社区
▼
TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。
我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。
期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!
更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区
相关文章:
不到1s生成mesh! 高效文生3D框架AToM
论文题目: AToM: Amortized Text-to-Mesh using 2D Diffusion 论文链接: https://arxiv.org/abs/2402.00867 项目主页: AToM: Amortized Text-to-Mesh using 2D Diffusion 随着AIGC的爆火,生成式人工智能在3D领域也实现了非常显著…...
Mac中管理多版本Jdk
1. 首先下载JDK,以jdk8和17为例 2. 打开.zprofile中添加如下内容 #java config export JAVA_8_HOME/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home export JAVA_17_HOME/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home#default java …...
用C语言列出Linux或Unix上的网络适配器
上代码: 1. #include <sys/socket.h> 2. #include <stdio.h> 3. 4. #include <netdb.h> 5. #include <ifaddrs.h> 6. 7. int main() { 8. struct ifaddrs *addresses; 9. if(getifaddrs(&addresses) -1) { 10. printf("…...
单片机学习笔记---LED点阵屏显示图形动画
目录 LED点阵屏显示图形 LED点阵屏显示动画 最后补充 上一节我们讲了点阵屏的工作原理,这节开始代码演示! 前面我们已经说了74HC595模块也提供了8个LED,当我们不使用点阵屏的时候也可以单独使用74HC595,这8个LED可以用来测试7…...
Git分支常用指令
目录 1 git branch 2 git branch xx 3 git checkout xx 4 git checkout -b xx 5 git branch -d xx 6 git branch -D xx 7 git merge xx(含快进模式和冲突解决的讲解) 注意git-log: 1 git branch 作用:查看分支 示例: 2 git branch xx 作用&a…...
3.3 Binance_interface APP U本位合约行情-实时行情
Binance_interface APP U本位合约行情-实时行情 Github地址PyTed量化交易研究院 量化交易研究群(VX) py_ted目录 Binance_interface APP U本位合约行情-实时行情1. APP U本位合约行情-实时行情函数总览2. 模型实例化3. 获取一个产品的最优挂单 get_bookTicker4. 获取全部产品…...
机器学习——流形学习
流形学习是一种在机器学习领域中用于理解和分析数据的技术。它的核心思想是,尽管我们通常将数据表示为高维空间中的向量,但实际上数据可能具有较低维度的内在结构,这种结构被称为流形。流形学习的目标是发现并利用数据的这种潜在结构…...
离线数仓(一)【数仓概念、需求架构】
前言 今天开始学习数仓的内容,之前花费一年半的时间已经学完了 Hadoop、Hive、Zookeeper、Spark、HBase、Flume、Sqoop、Kafka、Flink 等基础组件。把学过的内容用到实践这是最重要的,相信会有很大的收获。 1、数据仓库概念 1.1、概念 数据仓库&#x…...
物联网测试:2024 年的最佳实践和挑战
据 Transforma Insights 称,到 2030 年,全球广泛使用的物联网 (IoT) 设备预计将增加近一倍,从 151 亿台增至 290 亿台。这些设备以及智能汽车、智能手机等广泛应用于各种官僚机构。 健康视频监视器、闹钟以及咖啡机和冰箱等最受欢迎的家用电器…...
蓝桥杯Web应用开发-CSS3 新特性
CSS3 新特性 专栏持续更新中 在前面我们已经学习了元素选择器、id 选择器和类选择器,我们可以通过标签名、id 名、类名给指定元素设置样式。 现在我们继续选择器之旅,学习 CSS3 中新增的三类选择器,分别是: • 属性选择器 • 子…...
MongoDB聚合:$unionWith
$unionWith聚合阶段执行两个集合的合并,将两个集合的管道结果合并到一个结果集传送到下一个阶段。合并后的结果文档的顺序是不确定的。 语法 { $unionWith: { coll: "<collection>", pipeline: [ <stage1>, ... ] } }要包含集合的所有文档不…...
人工智能三子棋-人机对弈-人人对弈,谁会是最终赢家?
✅作者简介:大家好我是原始豌豆,感谢支持。 🆔本文由 原始豌豆 原创 CSDN首发🐒 如需转载还请通知⚠ 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:C语言项目实践…...
【leetcode热题100】反转链表 II
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left < right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示例 1: 输入:head [1,2,3,4,5], left 2, right 4 输出:[1,4,3,2…...
谷歌 DeepMind 联合斯坦福推出了主从式遥操作双臂机器人系统增强版ALOHA 2
谷歌 DeepMind 联合斯坦福推出了 ALOHA 的增强版本 ——ALOHA 2。与一代相比,ALOHA 2 具有更强的性能、人体工程学设计和稳健性,且成本还不到 20 万元人民币。并且,为了加速大规模双手操作的研究,ALOHA 2 相关的所有硬件设计全部开…...
金融行业专题|证券超融合架构转型与场景探索合集(2023版)
更新内容 更新 SmartX 超融合在证券行业的覆盖范围、部署规模与应用场景。新增操作系统信创转型、Nutanix 国产化替代、网络与安全等场景实践。更多超融合金融核心生产业务场景实践,欢迎阅读文末电子书。 在金融行业如火如荼的数字化转型大潮中,传统架…...
【C语言】C的整理记录
前言 该笔记是建立在已经系统学习过C语言的基础上,笔者对C语言的知识和注意事项进行整理记录,便于后期查阅,反复琢磨。C语言是一种面向过程的编程语言。 原想在此阐述一下C语言的作用,然而发觉这些是编程语言所共通的作用&#…...
C/C++模板初阶
目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.1 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int&…...
linux系统下vscode portable版本的c++/Cmake环境搭建001
linux系统下vscode portable版本的Cmake环境搭建 vscode portable 安装安装基本工具安装 build-essential安装 CMake final script code安装插件CMake Tools & cmakeC/C Extension Pack Testsettings,jsonCMakeLists.txt调试和运行工具 CG 目的:希望在获得一个新…...
【QT+QGIS跨平台编译】之三十一:【FreeXL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
文章目录 一、FreeXL介绍二、文件下载三、文件分析四、pro文件五、编译实践一、FreeXL介绍 【FreeXL跨平台编译】:Windows环境下编译成果(支撑QGIS跨平台编译,以及二次研发) 【FreeXL跨平台编译】:Linux环境下编译成果(支撑QGIS跨平台编译,以及二次研发) 【FreeXL跨平台…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
