清华大学突破性研究:GVGEN技术,7秒内从文字到3D高保真生成


cf5a3489665b7a60626bacc799706d47.jpeg

引言:3D模型生成的挑战与机遇

随着计算机图形学的发展,3D模型的生成在各个行业中变得越来越重要,包括视频游戏设计、电影制作以及AR/VR技术等。在3D建模的不同方面中,从文本描述生成3D模型成为一个特别有趣的研究领域,因为它的可访问性和易用性。尽管已经提出了多种方法来处理这一任务,但由于文本的模糊性和文本描述与相应3D资产之间的内在领域差异,这一任务仍然充满挑战。

以前的文本到3D的方法大致可以分为两类:基于优化的生成和基于前馈的生成。基于优化的方法最近变得相当流行,这得益于文本到图像扩散模型的快速发展。这些方法通常通过Score Distillation Sampling(SDS)优化基于文本或图像的3D对象,从2D图像生成模型中提取丰富的知识。尽管取得了令人印象深刻的结果,但基于优化的方法面临着Janus问题,表现为多面或过饱和问题。此外,单个对象的优化可能耗时过长,需要大量的计算工作。相反,基于前馈的方法直接从文本描述生成3D资产,从而避开了Janus问题,并显著加快了生成过程。我们的工作与基于前馈的方法密切相关。然而,使用多视图生成模型的前馈方法通常创建的3D资产分辨率低于多视图图像对应物。此外,直接从文本生成3D对象的模型在使用复杂提示时经常遇到语义上的困难。

与以前的基于前馈的方法不同,我们的方法提出通过直接学习3D表示来生成3D资产。在这项研究中,我们引入了一个创新的、简化的粗到细的生成管道,GVGEN,用于直接从文本描述生成3D高斯体。利用3D高斯体高度表现力和快速渲染的能力,我们的方法不仅取得了有希望的结果,而且保持了快速的文本到3D生成和渲染。如图1所示,我们的方法包括两个阶段:高斯体积拟合和文本到3D生成。在第一阶段,我们引入了高斯体积,这是一种由3D高斯体组成的结构化体积形式。由于优化原始3D高斯体的稀疏和非结构化特性,实现这一点具有挑战性。为了解决这个问题,我们引入了一种新颖的候选池策略,用于修剪和密集化。这种方法允许拟合高质量的高斯体积表示,而不是无序的高斯点,使得生成过程更有利于扩散框架的使用,正如在下一步中所使用的那样。

be409d72646b8393c1eed0b5cd148094.jpeg

尽管高斯体积建立了一个与现有扩散管道无缝集成的结构化体积框架,但3D高斯体丰富特征的内在复杂性带来了重大挑战。具体来说,有效捕获大量训练数据的分布变得困难,导致扩散模型难以收敛。为了应对这些挑战,我们将文本到3D生成分为两个步骤:粗略几何生成和高斯属性预测。更具体地说,在第一步中,我们使用扩散模型生成对象的粗略几何体,称为高斯距离场(GDF) - 一个各向同性的表示,概述了每个网格点到最近的高斯点中心的接近度。接下来,生成的GDF与文本输入一起通过基于3D U-Net的模型处理,以预测高斯体积的属性,确保增强控制和模型收敛。

据我们所知,这是第一项直接从文本前馈生成3D高斯体的研究,为快速3D内容创建和应用探索了新途径。我们的主要贡献总结如下:- 我们引入了高斯体积,这是一种由3D高斯体组成的结构化、体积化形式。通过创新的候选池策略进行修剪和克隆,我们适应了固定体积分辨率内的高质量高斯体积拟合。这个框架与现有的生成网络无缝集成,利用3D高斯体的固有优势,实现了显式和高效的表示。- 我们提出了GVGEN,一个高效的文本到3D粗到细生成管道,首先生成几何体积,然后预测详细的3D高斯属性,更好地控制生成资产的多样化几何形状和外观。GVGEN实现了快速的生成速度(约7秒),与基线方法相比,有效地平衡了质量和效率。

论文标题: GVGEN: Text-to-3D Generation with Volumetric Representation

论文链接: https://arxiv.org/pdf/2403.12957.pdf

机构:清华大学,上海交通大学,浙江大学

项目地址: https://GVGEN.github.io

公众号【AI论文解读】后台回复“论文解读” 获取论文PDF!

GVGEN方法概述:直接从文本描述生成3D高斯体

1. 介绍3D高斯体的概念及其在3D建模中的意义

3D高斯体是一种结构化的体积形式,由3D高斯点组成,用于表示和渲染三维场景。在3D建模领域,高斯体因其高表达能力和快速渲染的特性而受到关注。它们不仅能够提供丰富的视觉效果,还能加速文本到3D模型的生成和渲染过程。

2. GVGEN生成流程的两个阶段:高斯体拟合与文本到3D生成

GVGEN方法包含两个主要阶段:首先是高斯体拟合阶段,其次是文本到3D生成阶段。在高斯体拟合阶段,通过一种称为候选池策略的新颖方法,将无序的3D高斯点组织成结构化的高斯体积(GaussianVolume),为后续的生成阶段提供训练数据。在文本到3D生成阶段,首先使用扩散模型从文本描述中生成粗略的几何体积(Gaussian Distance Field,GDF),然后通过3D U-Net模型预测高斯体积的详细属性,从而实现从文本描述到详细3D对象的生成。

高斯体拟合:创新的候选池策略

1. 高斯体的结构化表示和优化

高斯体的结构化表示是通过固定数量的3D高斯点来实现的,这些点在体积中以网格点的形式组织,并通过位置偏移来表达从网格点到高斯中心的微小移动,从而捕捉对象的细节。这种表示方法允许在固定的体积分辨率内进行高质量的高斯体积拟合,同时与现有的生成网络无缝集成,保留了3D高斯的效率优势。

2. 候选池策略的实现与优势

候选池策略(Candidate Pool Strategy)是一种新颖的方法,用于在优化过程中动态地修剪、克隆和分裂高斯点,以提高拟合资产的保真度。通过在候选池中存储被修剪的点,可以在后续的密集化过程中使用这些点,从而允许高斯点在优化过程中适应性地移动,以表示更复杂的对象形状。同时,结果的结构化体积形式保持了其物理意义,展示了适应性和良好定义结构之间的平衡。

文本到3D生成:粗到细的生成流程

1. 高斯距离场(GDF)的生成

在文本到3D生成的粗到细流程中,首先是高斯距离场(Gaussian Distance Field, GDF)的生成。GDF是一个表征对象粗略几何形状的等距表示,它概括了每个网格点到最近高斯点中心的距离。这一步骤通过一个扩散模型来实现,该模型以输入文本为条件,生成GDF,从而创建对象的粗略几何体积。生成的GDF与文本输入一起,通过一个基于3D U-Net的模型进行处理,以预测高斯体积的属性,确保了对生成资产的几何形状和外观的更好控制。

2. 高斯体属性的预测与控制

在生成了GDF之后,下一步是预测高斯体积的属性。这一步骤使用一个基于3D U-Net的重建模型,该模型接受GDF和文本描述作为输入,以预测高斯体积的所有属性。这个过程中,采用了多模态损失函数来平衡全局语义和局部细节,并保持训练过程的稳定性。通过这种方式,从文本描述中生成了具有详细属性的3D对象。

664fc64cb25237a26fa9953de4e59379.jpeg

3a57f0509310cfcb0340ae62f4a417c7.jpeg

实验结果:定性与定量分析

1. 与现有方法的比较

在与现有方法的比较中,我们的方法在视觉结果和文本条件对齐方面都取得了竞争性的成果。与基于前馈的方法(如Shap-E和VolumeDiffusion)和基于优化的方法(如DreamGaussian)相比,我们的方法在生成合理的几何形状和可信纹理方面表现出色。定量结果方面,我们比较了渲染图像与相应文本之间的CLIP得分,以及这些方法的生成时间。我们的方法在定性和定量方面都展现了竞争力。

f0b865407b5cb0e579f58ac5982dd966.jpeg

2. 生成多样性与视觉效果

GVGEN能够根据相同的提示生成多样化的资产,这不仅使我们的方法与重建方法区分开来,还提高了用户的想象能力。此外,我们还开发了一个基于CLIP图像嵌入的图像到3D模型,并将结果与最近流行的单视图重建模型进行了比较。单视图重建模型在未见区域的形状和纹理方面存在平均模式问题,而GVGEN则生成了合理的外观和几何形状。这些比较强调了我们的GVGEN与重建方法之间的关键区别。

ab657e5713d1aec6327a26ca5753ee8c.jpeg

挑战与局限性:GVGEN面临的问题与未来方向

1. 输入文本的多样性与训练数据的局限性:GVGEN在处理与训练数据显著不同的输入文本时性能受限。由于训练数据的规模(约46,000个实例)相对较小,模型在响应广泛的文本输入时产生的输出变化有限。这表明,模型在处理多样化的文本描述时可能无法生成具有精确几何形状和清晰纹理的3D对象。

2. 计算资源与生成效率的权衡: GVGEN的生成效率与3D高斯点的数量密切相关。虽然使用较少的高斯点数(N^3=32,768)时,GVGEN能够提供与原始3D高斯喷涂方法相当的视觉质量,但提高高斯体积分辨率会导致更好的拟合质量,同时也增加了内存使用。因此,如何在保持高效生成的同时提升3D资产的复杂纹理表现,是GVGEN需要解决的问题。

3. 结构化表示与灵活性的平衡: 在高斯体积拟合阶段,GVGEN采用了偏移阈值ϵoffsets来平衡灵活性和维持良定义结构之间的关系。过小的正则化会导致高斯点在体积内变得更加无序,而没有正则化则会使偏移项过于灵活,难以有效学习。因此,选择合适的偏移阈值对于模型的有效学习和生成高质量的结构化3D表示至关重要。

4. 模型架构与数据质量的改进: 未来的工作将集中在改进模型架构和提高数据质量上,以便在大规模场景中应用模型,预计这将提高生成多样性并导致更好的渲染结果。

5. 与优化方法的集成: GVGEN展示了与优化方法(如GSGEN)集成的能力,以进一步细化生成的3D对象。然而,如何更有效地利用这些优化方法来提高文本描述与纹理和几何的一致性,仍然是一个开放的问题。

总结:GVGEN在文本驱动的3D内容创建中的潜力

GVGEN作为一种从文本描述直接生成3D高斯的方法,展现了在文本驱动的3D内容创建中的潜力。通过将无组织的3D高斯点组织成结构化的体积形式,即高斯体积,GVGEN能够通过粗到细的生成管道有效地前馈生成3D高斯。该方法不仅实现了令人鼓舞的结果,而且保持了快速的文本到3D生成和渲染速度。

GVGEN在质量和效率之间取得了平衡,与基线方法相比,在CLIP得分和推理速度方面表现出色。此外,它还能生成与相同提示条件下的多样化资产,从而不仅与重建方法区分开来,还提高了用户的想象能力。

尽管GVGEN在生成3D对象方面取得了鼓舞人心的成果,但它在处理与训练数据域显著不同的输入文本时的性能受限,以及在更具挑战性的场景中生成高质量3D资产的能力有待提高。未来的研究将探索如何在保持高效率的同时,生成更高质量的3D内容。 


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

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

相关文章

栈应用之---括号匹配

题意描述&#xff1a; 在算术表达式中&#xff0c;除了加、减、乘、除等运算外&#xff0c;往往还有括号。包括有大括号{}&#xff0c;中括号[]&#xff0c;小括号()&#xff0c;尖括号<>等。 对于每一对括号&#xff0c;必须先左边括号&#xff0c;然后右边括号&#xf…

虚拟线圈法的车辆统计_3.12

目标 车流量统计的方法实现车流量检测 基于虚拟线圈法的车辆统计是一种利用计算机视觉技术模拟传统物理线圈检测原理&#xff0c;对交通视频流中的车辆进行计数的方法。在传统交通监控系统中&#xff0c;物理线圈是通过感应车辆经过时产生的电磁场变化来记录车辆流量。这种方式…

SQL格式化软件 Sql Pretty Printer4.0.1安装

功能 安装成功后&#xff0c;打开SSMS会发现新出一个SQL Beautifier框&#xff0c;点击Format All SQL&#xff08;或者按CtrlJK&#xff09;可以一键格式化代码 效果如下所示 安装 Sql Pretty Printer4.0.1安装程序以及破解dll可以在我的github中获取 https://github.com/su…

程序员实用学习平台,必看榜!

只要卷不死&#xff0c;就往死里卷&#xff01; 高中老师宣扬的励志鸡汤&#xff0c;仿佛走出了校园踏入社会仍然适用。 “出走半生&#xff0c;归来仍是少年。”emm....... 如今比麻花还卷的社会&#xff0c;学到老才能活到老啊~尤其咱们IT这么优胜劣汰的行业&#xff0c;自是…

HashMap---数据结构

目录 一、基本数据结构 二、树化与退化 三、索引计算 四、put方法和扩容 五、并发问题 六、key的设计 一、基本数据结构 在jdk1.7版本的时候&#xff0c;hashmap结构主要是使用数组 链表的格式&#xff0c;而在jdk1.8版本中&#xff0c;hashmap的数据结构增加了一种“红黑…

使用git下载github/gitee仓库部分或单个文件的方法

前言 有些时候在github或者gitee仓库中我们只需要下载整个项目中的我门需要的那一部分文件夹或文件就行了&#xff0c;不需要下载所有的项目。这样可以节省很多流量和时间 步骤 1.建立一个新的 git 本地仓库 这里我在D:\test中初始化 命令&#xff1a; git init2.在本地仓…

指定日本访学|普通高校教师获九州大学邀请函CSC改派成功

R老师DIY申请到某国的访学邀请函并获批CSC。但在派出阶段&#xff0c;对方因故不能接收&#xff0c;亟需获得新的邀请函以申请改派&#xff0c;这次其指定日本。最终我们用日本九州大学的邀请函协助R老师CSC改派成功&#xff0c;并赴日开展访问学者研究。 R老师背景&#xff1a…

力扣刷题Days25-45. 跳跃游戏 II(js)

目录 1&#xff0c;题目 2&#xff0c;代码 贪心算法正向查找 3&#xff0c;学习 解题思路 具体代码处理 数组遍历的最后边界的处理&#xff1a; 1&#xff0c;题目 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向…

深度学习教程(一):cuda的安装教程转载

0.前言 啊&#xff0c;好久没更新了&#xff0c;跟大家汇报一下我最近都在干嘛。我的导师&#xff08;未来版&#xff0c;毕竟我才开始准备考研&#xff09;在年后让我以我以前做过的实验为基础尽量在本科期间就能搞成一篇小论文&#xff08;渐渐成长为sci&#xff09;,导师还催…

下载最新VMware,专业版本

VMware - Delivering a Digital Foundation For BusinessesRun any app on any cloud on any device with a digital foundation built on VMware solutions for modern apps, multi-cloud, digital workspace, security & networking.https://www.vmware.com/ 官网地址

CMakeLists生成动态库.so和静态库.a

一、下载NDK CMake - NDK : 26.2.11394342 或 23.1.7779620 - CMake : 3.22.1 二、新建android\app\CMakeLists.txt 文件CMakeLists.txt内容 cmake_minimum_required(VERSION 3.4.1) #mker为项目名称 project(mker)#设置生成的so动态库最后输出的路径 set(CMAKE_LIBRARY_OUTP…

Visual Basic6.0零基础教学(4)—编码基础,数据类型与变量

编码基础,数据类型与变量 文章目录 编码基础,数据类型与变量前言一、VB中的编程基础二、VB的基本字符集和词汇集1、字符集2、词汇集 VB中的数据类型VB中的变量与常量一.变量和常量的命名规则二.变量声明1.用Dim语句显式声明变量三. 常量 运算符和表达式一. 运算符 1. 算术运算符…

promethus的安装使用

1、# 软件下载地址 https://prometheus.io/download/ https://grafana.com/grafana/download https://prometheus.io/download/ Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。 Prometheus 的优点 1、非常少的外部依赖,安装…

解决sqlalchemy执行语句提示Not an executable object

问题&#xff1a; from sqlalchemy import create_engine# 数据库的变量 HOST 127.0.0.1 PORT 3306 DATA_BASE itbz USERroot PWD123456 # DB_URL f数据库的名驱动名://{USER}:{PWD}{HOST}:{PORT}/{DATA_BASE} DB_URL fmysqlpymysql://{USER}:{PWD}{HOST}:{PORT}/{DATA_B…

定时器 c++ 基于时间线

获取当前时间std::chrono::system_clock::now(); std::chrono::time_point_cast<std::chrono::milliseconds>(now) 是 std::chrono 标准库中的一个函数调用&#xff0c;用于将时间点 now 转换为毫秒级别精度的时间点。 friend class timermanger; 表示将类 timermanger …

24年3月下半笔记(个人向)(更新中)

3.19 开始复工复产了 发现poe网站上可以免费用chatgpt&#xff0c;用了两天就彻底产生依赖性了 继续看d2l&#xff0c;之前看到第三章结束&#xff0c;今天从4.1看到4.6 第四章讲mlp&#xff0c;老生常谈&#xff0c;各种激活函数ReLU、sigmoid、tanh 然后是防止过拟合&am…

Verilog刷题笔记43

题目&#xff1a;Exams/m2014 q4b 解题&#xff1a; module top_module (input clk,input d, input ar, // asynchronous resetoutput q);always(posedge clk,posedge ar)beginif(ar1)q<0;elseq<d;endendmodule结果正确&#xff1a; 补充&#xff1a; 同步复位和异步…

Jenkins+Ant+Jmeter接口自动化集成测试详解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、Jenkins安装配置 1、安装配置JDK1.6环境变量&#xff1b; …

抓取京东/淘宝类数据#Javascript#商品详情图片

提出问题 如何在京东商城爬取出各个商品的相关信息(价格、名称、评价、店铺名等等)&#xff0c;比如&#xff0c;打开web京东网站&#xff0c;那么商品展示列表的所有商品的信息&#xff0c;怎么爬下来&#xff0c;怎么保存到表格中&#xff1f; 我们来看看怎么实现这个功能。…

手写springboot启动器, 学习SpringBoot的最佳实践

自己手写的SpringBoot启动器, 是一个学习了解SpringBoot启动逻辑和了解springboot原理的不错的实践Demo. 废话不多说,直接上代码: 项目结构 maven多项目结构, myspringboot 自己手写的SpringBoot启动器 service-demo 用来测试SpringBoot启动器的示例项目 项目pom依赖 1.…