英伟达文本生成3D模型论文:Magic3D: High-Resolution Text-to-3D Content Creation解读

一、摘要 

摘要:DreamFusion 最近展示了使用预训练的文本到图像扩散模型来优化神经辐射场 (NeRF) 的实用性,实现了显着的文本到 3D 合成结果。然而,该方法有两个固有的局限性:(a)NeRF 的优化极慢和(b)NeRF 上的低分辨率图像空间监督,导致处理时间长的低质量 3D 模型。在本文中,我们通过利用两阶段优化框架来解决这些限制。首先,我们使用低分辨率扩散先验获得粗略模型,并使用稀疏 3D 哈希网格结构进行加速。使用粗略表示作为初始化,我们进一步优化了纹理 3D 网格模型,该模型具有与高分辨率潜在扩散模型交互的高效可微渲染器。我们的方法被称为 Magic3D,可以在 40 分钟内创建高质量的 3D 网格模型,比 DreamFusion 快 2 倍(据报道平均需要 1.5 小时),同时还实现了更高的分辨率。用户研究显示 61.7% 的评分者更喜欢我们的方法而不是 DreamFusion。结合图像条件生成功能,我们为用户提供了控制 3D 合成的新方法,为各种创意应用开辟了新途径。

二、地址

标题:Magic3D: High-Resolution Text-to-3D Content Creation

论文:https://arxiv.org/abs/2211.10440

demo展示(此地址还还可以访问):https://deepimagination.cc/Magic3D/

三、方法

DreamFusion是目前基于文本的3D生成任务的主流方法,但它有两个重要缺陷

1)NeRF收敛速度慢;

2)用于监督NeRF训练的图片质量较差,导致生成的3D目标质量较差。
对于上述两个问题,本文提出:

1)用Instant-NGP替换DreamFusion中的NeRF;

2)提出一种两阶段Coarse-to-fine的优化方法:

第一步:基于Instant NGP表示低分辨率的3D物体,通过eDiff-I计算L_SDS,它类似于DreamFusion中使用的Imagen的基础扩散模型,这种扩散先验被用于通过在低分辨率64 × 64的渲染图像上定义的损失来计算场景模型的梯度,更新NeRF;

第二步:使用潜在扩散模型(LDM),允许梯度反向传播到高分辨率512 × 512的渲染图像,实验中选择使用公开的stable diffusion model。用DMTet提取初始3D mesh,其次采样和渲染高分辨率图片,并和第一步类似,更新3D mesh。

 上面简单来说:

第一阶段,利用低分辨率扩散先验并优化神经场表示(颜色、密度和正常场)来获得粗模型。

第二阶段:从粗模型的密度场和颜色场中提取纹理三维网格。然后用高分辨率潜在扩散模型对其进行微调。

经过优化后,模型生成了具有详细纹理的高质量3D网格。以从粗到细的方式从输入文本提示生成高分辨率的3D内容。

 四、实现过程

DreamBooth描述了一种方法,通过对一个主题的几张图像微调预先训练的模型,来个性化文本到图像扩散模型。经过微调的模型可以学习将主题绑定到一个唯一的标识符字符串(记为[V]),并在文本提示中包含[V]时生成主题的图像。在文本到3D生成的上下文中,希望生成主题的3D模型。这可以通过首先使用DreamBooth方法微调扩散先验模型来实现,然后使用带有[V]标识符的微调扩散先验作为条件文本提示的一部分,在优化3D模型时提供学习信号。

为了证明DreamBooth在论文框架中的适用性,收集了一只猫的11张图像和一只狗的4张图像。微调eDiff-I和LDM,将文本标识符[V]绑定到给定的主题。然后在文本提示中用[V]对三维模型进行优化。使用批处理大小为1进行所有微调。对于eDiff-I,使用学习率为1 × 10−5的Adam优化器进行1500次迭代;对于LDM,对800次迭代的学习率进行微调,学习率为1 × 10−6。下图显示了个性化文本到3D结果:能够成功地修改3D模型,在给定的输入图像中保留主题。

 五、GPU

使用8块A100

coarse stage训练5000 iter,大概训练15分钟;

fine stage训练3000 iter,大概训练25分钟。

六、结论

我们提出了Magic3D,这是一个快速、高质量的文本到3D生成框架。我们以从粗到细的方法从高效的场景模型和高分辨率的扩散先验中获益。特别是,3D网格模型可以很好地与图像分辨率进行缩放,并在不牺牲其速度的情况下享受潜在扩散模型带来的高分辨率监督的好处。从atext提示到准备用于图形引擎的高质量3D网格模型需要40分钟。通过广泛的用户研究和定性比较,我们发现与DreamFusion相比,Magic3D更受评分者的青睐(61.7%),同时速度提高了2倍。最后,我们提出了一套在三维生成中更好地控制样式和内容的工具。我们希望通过Magic3D,我们可以使3D合成民主化,并在3D内容创作中打开每个人的创造力。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

consul集群部署三server一client

环境: consul:consul_1.16.2_linux_amd64.zip centos7.9 server:192.168.50.154 192.168.50.155 192.168.50.156 client:192.168.70.64 安装目录: [rootrabbit4-64 consul]# pwd /app/consul [rootrabbit4-64 consul]# ls consul consul_1…

CSS想用两种不同单位计算怎么办?CSS的calc怎么用

文章目录 概要使用运算符或运算符组合计算时会有多种不同的单位怎么办举几个例子 小结 概要 CSS的calc()函数允许您在指定CSS属性值时执行计算。可以在<length>、<frequency>、<angle>、<time>、<percentage>、<number>或<integer>…

【系统架构师】-第15章-面向服务架构设计

面向服务的体系结构 (Service-Oriented Architecture,SOA) 1、应用角度&#xff1a;它着眼于日常的业务应用&#xff0c;并将它们划分为单独的业务功能和流程&#xff0c;即所谓的服务 2、软件基本原理&#xff1a;一个组件模型&#xff0c;它将应用程序的不同功能单元(称为服…

【python】爬取4K壁纸保存到本地文件夹【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 图片信息丰富多彩&#xff0c;许多网站上都有大量精美的图片资源。有时候我们可能需要批量下载这些图片&#xff0c;而手动一个个下载显然效率太低。因此&#xff0c;编写一个简单的网站图片爬取程序可以帮助我们…

YOLOv5训练过程中的各种报错

1、报错&#xff1a; ImportError: cannot import name notf from tensorboard.compat (C:\Users\86198\.conda\envs\yyt\lib\site-packages\tensorboard\compat\__init__.py) 解决办法&#xff1a;更新tensorboard pip install --upgrade tensorboard 2、报错&#xff1a; …

敏感信息泄露漏洞原理以及修复方法

漏洞名称&#xff1a;敏感信息泄露 漏洞描述: 敏感数据包括但不限于&#xff1a;口令、密钥、证书、会话标识、License、隐私数据&#xff08;如短消息的内容&#xff09;、授权凭据、个人数据&#xff08;如姓名、住址、电话等&#xff09;等&#xff0c;在程序文件、配置文…

OpenHarmony:全流程讲解如何编写ADC平台驱动以及应用程序

ADC&#xff08;Analog to Digital Converter&#xff09;&#xff0c;即模拟-数字转换器&#xff0c;可将模拟信号转换成对应的数字信号&#xff0c;便于存储与计算等操作。除电源线和地线之外&#xff0c;ADC只需要1根线与被测量的设备进行连接。 一、案例简介 该程序是基于…

Qt+OpenGL入门教程(二)——OpenGL渲染管线

渲染管线是图形学不可或缺的&#xff0c;在学习它之前&#xff0c;我们先了解一下什么是管线&#xff1f; 管线/流水线 当我们谈到管线时&#xff0c;我们指的是一个由多个阶段组成的过程&#xff0c;每个阶段都完成任务的一部分。在现实世界中&#xff0c;流水线的概念在许多…

LeetCode刷题记录——day8

https://leetcode.cn/problems/spiral-matrix/description/?envTypestudy-plan-v2&envId2024-spring-sprint-100 注意每次改变边界都有判断一次 class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int>…

【讲解下go和java的区别】

&#x1f525;博主&#xff1a;程序员不想YY啊&#x1f525; &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f4ab; &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 &#x1f308;希望本文对您有所裨益&#xff0c;如有…

flume配置文件后不能跟注释!!

先总结&#xff1a;Flume配置文件后面&#xff0c;不能跟注释&#xff0c;可以单起一行写注释 报错代码&#xff1a; [ERROR - org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:158)] Unable to deliver event. Exception follows. org.apache.flume.EventDel…

Oracle里的统计信息

目录 一、什么是统计信息 二、oracle收集和查看统计信息的方法 1、使用analyze命令收集统计信息 2、使用dbms_stats包收集统计信息 3、analyze和dbms_stats的区别 4、查看统计信息 一、什么是统计信息 oracle数据库里的统计信息是如下的一组数据&#xff1a;他们存储在数…

关于Linux中的history命令

前言&#xff1a;本文内容为实操学习记录&#xff0c;不具有调研价值&#xff0c;仅供参考&#xff01; 正文&#xff1a; 接触过Linux操作系统的朋友一般都知道history命令&#xff0c;直接输入history命令&#xff0c;会显示当前用户的历史输入记录。这个原理是linux会记录我…

constexpr与std::is_same_v碰撞会产生什么火花?

1. 只编译会用到的if分支 示例代码一中&#xff0c;checkType_v1和checkType_v2两个函数的区别就是if的条件里一个加了constexpr一个没加&#xff0c;加与不加从结果来看都一样&#xff0c;那在编译时和运行时各有什么区别呢&#xff1f; 示例代码一&#xff0c;test_01.cpp&…

ctfshow靶场sql注入wp

目录 web171 web172 web173 web174 web175 web176 web177-179 web180-183 web184 web185 web187 web190 web191 web192 web193 web194 web195 web196 web197 web199 web201 web202 web203 web204 web205 web206 web207 web208 web209 web210 web…

【在javascript中更改日期的格式】

在JavaScript中&#xff0c;可以使用Date对象和一些内置方法来更改日期的格式。以下是一种常见的方法&#xff1a; 创建一个Date对象&#xff0c;可以使用以下方式之一&#xff1a; 使用无参数的构造函数创建当前日期和时间的Date对象&#xff1a;var date new Date();使用指…

RedissonLock-tryLock-续期

redisson版本3.16.6 1.什么是看门狗 Redisson提供的分布式锁是支持锁自动续期的&#xff0c;也就是说&#xff0c;如果线程仍旧没有执行完&#xff0c;那么redisson会自动给redis中的目标key延长超时时间&#xff0c;这在Redisson中称之为 Watch Dog 机制。默认情况下&#x…

vscode调试Unity

文章目录 vscode调试UnityC#环境需求开始调试 Lua添加Debugger环境配置联系.txt文件配置Java环境 添加调试代码断点不生效的问题 vscode调试Unity C# 现在使用vscode调试Unity的C#代码很简单&#xff0c;直接在vscode的EXTENSIONS里面搜索“Unity”&#xff0c;第一个就是&am…

VMware虚拟机更换引导顺序

前言 我用wmware装了黑群晖测试&#xff0c;将img转成vmdisk的格式之后发现系统引导盘之后1G&#xff0c;有点太小了 我准备把wmware的黑群晖系统迁移到新添加的虚拟磁盘里 1.登录黑群晖的SSH 请先在黑群晖的控制面板中的终端机和SNMP里面启用SSH功能&#xff0c;才能使用ss…

PLC_博图系列☞P=:在信号上升沿置位操作数

PLC_博图系列☞P&#xff1a;在信号上升沿置位操作数 文章目录 PLC_博图系列☞P&#xff1a;在信号上升沿置位操作数背景介绍P&#xff1a;在信号上升沿置位操作数说明参数示例 关键字&#xff1a; PLC、 西门子、 博图、 Siemens 、 P 背景介绍 这是一篇关于PLC编程的文章…