当前位置: 首页 > news >正文

清华大学突破性研究: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内容。 


相关文章:

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

引言:3D模型生成的挑战与机遇 随着计算机图形学的发展,3D模型的生成在各个行业中变得越来越重要,包括视频游戏设计、电影制作以及AR/VR技术等。在3D建模的不同方面中,从文本描述生成3D模型成为一个特别有趣的研究领域,…...

软件测试要学习的基础知识——黑盒测试

概述 黑盒测试也叫功能测试,通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作是一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试,只检查程序功能是否按照需求规格…...

如何用Airtest脚本连接无线Android设备?

之前我们已经详细介绍过如何用AirtestIDE无线连接Android设备,它的关键点在于,需要先 adb connect 一次,才能点击 connect 按钮无线连接上该设备: 但是有很多同学,在使用纯Airtest脚本的形式连接无线设备时&#xff0c…...

c语言函数大全(C开头)

c语言函数大全(C开头) There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave quickly. 函数名…...

初始Redis关联和非关联

基础篇Redis 3.初始Redis 3.1.2.关联和非关联 传统数据库的表与表之间往往存在关联,例如外键: 而非关系型数据库不存在关联关系,要维护关系要么靠代码中的业务逻辑,要么靠数据之间的耦合: {id: 1,name: "张三…...

Redis 更新开源许可证 - 不再支持云供应商提供商业化的 Redis

原文:Rowan Trollope - 2024.03.20 未来的 Redis 版本将继续在 RSALv2 和 SSPLv1 双许可证下提供源代码的免费和宽松使用;这些版本将整合先前仅在 Redis Stack 中可用的高级数据类型和处理引擎。 从今天开始,所有未来的 Redis 版本都将以开…...

生产者Producer往BufferQueue中写数据的过程

In normal operation, the producer calls dequeueBuffer() to get an empty buffer, fills it with data, then calls queueBuffer() to make it available to the consumer 代码如下: // XXX: Tests that fork a process to hold the BufferQueue must run bef…...

使用 Vite 和 Bun 构建前端

虽然 Vite 目前可以与 Bun 配合使用,但它尚未进行大量优化,也未调整以使用 Bun 的打包器、模块解析器或转译器。 Vite 可以与 Bun 完美兼容。从 Vite 的模板开始使用吧。 bun create vite my-app ✔ Select a framework: › React ✔ Select a variant:…...

如何设置IDEA远程连接服务器开发环境并结合cpolar实现ssh远程开发

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接&#xf…...

【项目管理后台】Vue3+Ts+Sass实战框架搭建二

Vue3TsSass搭建 git cz的配置mock 数据配置viteMockServe 建立mock/user.ts文件夹测试一下mock是否配置成功 axios二次封装解决env报错问题,ImportMeta”上不存在属性“env” 统一管理相关接口新建api/index.js 路由的配置建立router/index.ts将路由进行集中封装&am…...

制作一个RISC-V的操作系统六-bootstrap program(risv 引导程序)

文章目录 硬件基本概念qemu-virt地址映射系统引导CSR![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/86461c434e7f4b1b982afba7fad0256c.png)machine模式下的csr对应的csr指令csrrwcsrrs mhartid引导程序做的事情判断当前hart是不是第一个hart初始化栈跳转到c语言的…...

haproxy和keepalived的区别与联系

HAProxy(High Availability Proxy) 是一个开源的、高效且可靠的解决方案,主要用于负载均衡。它工作在应用层(第七层),支持多种协议,如HTTP、HTTPS、FTP等。HAProxy通过健康检查机制持续监控后…...

云效 AppStack + 阿里云 MSE 实现应用服务全链路灰度

作者:周静、吴宇奇、泮圣伟 在应用开发测试验证通过后、进行生产发布前,为了降低新版本发布带来的风险,期望能够先部署到灰度环境,用小部分业务流量进行全链路灰度验证,验证通过后再全量发布生产。本文主要介绍如何通…...

pta L1-004 计算摄氏温度

L1-004 计算摄氏温度 分数 5 全屏浏览 切换布局 作者 陈建海 单位 浙江大学 给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C5(F−32)/9。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出一个华氏…...

毕业论文降重(gpt+完美降重指令),sci论文降重gpt指令——超级好用,重复率低于4%

1. 降重方法:gpt降重指令 2. gpt网站 https://yiyan.baidu.com/ https://chat.openai.com/ 3. 降重指令——非常好用!!sci论文,本硕大论文都可使用! 请帮我把下面句子重新组织,通过调整句子逻辑&#xff0…...

Qt 多元素控件

Qt开发 多元素控件 Qt 中提供的多元素控件有: QListWidgetQListViewQTableWidgetQTableViewQTreeWidgetQTreeView xxWidget 和 xxView 之间的区别 以 QTableWidget 和 QTableView 为例. QTableView 是基于 MVC 设计的控件. QTableView 自身不持有数据. 使用QTableView 的 …...

LeetCode热题Hot100-两数相加

一刷一刷 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不…...

Selenium 自动化 —— 浏览器窗口操作

更多内容请关注我的专栏: 入门和 Hello World 实例使用WebDriverManager自动下载驱动Selenium IDE录制、回放、导出Java源码 当用 Selenium 打开浏览器后,我们就可以通过 Selenium 对浏览器做各种操作,就像我们日常用鼠标和键盘操作浏览器一…...

二、Kubernetes(k8s)中部署项目wordpress(php博客项目,数据库mysql)

前期准备 1、关机顺序 2、开机顺序 (1)、k8s-ha1、k8s-ha2 (2)、master01、master02、master03 (3)、node01、node02 一、集群服务对外提供访问,需要通过Ingress代理发布域名 mast01上传 ingress-nginx.yaml node01、node02 上传 ingress-nginx.tar 、kube-webh…...

linux系统Kubernetes工具Service暴露服务

Service ServiceService创建service页面请求测试pod内部请求测试端口解析kube-proxy 使用ipvs 意义pod和Service的关系常用类型ClusterIpNodePortLoadBalancernode内网部署应用,外网访问不到 Service 服务基于ip端口的虚拟主机,定义一组pod的访问规则 Se…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...