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

文本生成高精准3D模型,北京智源AI研究院等出品—3D-GPT

北京智源AI研究院、牛津大学、澳大利亚国立大学联合发布了一项研究—3D-GPT,通过文本问答方式就能创建高精准3D模型。

据悉,3D-GPT使用了大语言模型的多任务推理能力,通过任务调度代理、概念化代理和建模代理三大模块,简化了3D建模的开发流程实现技术民主化。

但3D-GPT与现有的文本生成3D模型方法大有不同,生成过程是可以操控函数进行3D建模,而不是常规的3D神经元表征,同时可与Blender(开源三维软件)实现无缝集成。这极大提升了模型的灵活性和准确性。

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

Github(即将发布):https://github.com/Chuny1/3DGPT

在这里插入图片描述

随着Meta提出元宇宙概念后,全球对高保真的3D内容需求激增。然而,传统的3D建模流程效率低下,设计师需要从基本形状逐步打造模型,再进行着色、细节处理等工作十分繁琐,而3D-GPT技术框架可有效解决这一痛点。

从论文介绍来看,主要由任务调度代理、概念化代理和建模代理三大块组成。任务调度代理扮演总指挥的角色,根据文本语言指令确定需要调用的建模函数,会查询所有可用函数的文档,选择最合适的对象。

概念化代理用于丰富语言描述的细节,为后续建模做准备。以树木生成为例,用户提供的文字可能仅是“碧绿的树林”,但建模需要更精确的参数如树枝长度、树叶类型等。而概念化代理就会自动补充这些细节,输出丰富的描述以指导建模。

在这里插入图片描述

建模代理则需要解析概念化代理输出的语言描述,转换为具体的代码和参数,调用相应函数实现建模。

以天空渲染为例,输入文字可能是“湛蓝的天空”,建模代理就需要推断出太阳强度、云层密度等参数,并写出调用天空渲染函数的代码,最终输出逼真的3D天空。

建模工具

3D-GPT使用了InfiniGen作为基于Python-Blender的过程化生成器。为让大语言模型能够高效利用InfiniGen,研究人员为每个函数Fj提供了提示,包括:

(1)函数文档Dj:详细解释输入参数Pj以及函数的目的和功能。

(2)易读代码Cj:提供容易理解的重构函数代码。

(3)所需信息Ij:概述推理函数参数所需的具体信息,协助理解函数的上下文和先决条件。

(4)使用示例Ej:提供示例演示如何从文本描述中推理参数Pj,以及如何调用函数。

这些资源使大语言模型可以利用其规划、推理和工具使用的核心能力,根据语言指令高效地利用InfiniGen进行3D生成。

在建模工具搭建好之后,3D-GPT采用了一个多代理协作框架,来处理3D建模流程。
在这里插入图片描述

任务调度代理

任务调度代理在规划过程中发挥关键作用。通过用户指令查询函数文档,然后选择所需的函数进行执行。

选择函数后,概念化代理进行推理以丰富用户提供的文本描述。最后,建模代理推断每个选定函数的参数,并生成Python代码,调用Blender API接口,促进相应3D内容的创建。

在这里插入图片描述

任务调度代理与系统的对话示例如下:

系统:你是根据用户指令选择合适函数的高效规划者。将被提供以下函数:<(F名称j,F用法j)>。以下是如何根据用户指令选择函数的几个示例:<E任务调度j>。

用户:我的指令是:

  • 任务调度代理:根据指令

  • ,我们确定了需要用于3D建模的函数子列表ˆF。
  • 概念化代理

    描述可能不会明确提供建模所需的详细外观描述。为缓解这一问题,引入了概念化代理,它与任务调度代理协作以增强用户提供的文本描述(Li)。对于每个函数Fj,它会将用户输入文本和相应的函数专属信息进行丰富,生成详细的外观描述Lij。

    系统与概念化代理对话格式如下:

    系统:你是专业作家,擅长描述对象的外观,特别是大型场景。给定描述

  • ,请提供以下信息所需的详细描述。
  • 对于描述中未提及的术语,请发挥想象力,以确保它们与文本描述一致。概念化代理:根据

  • 和请求的信息,扩展后的描述是:。
  • 建模代理

    在概念化之后,3D建模处理目标是将详细的人类语言转换为机器可理解的语言。

    在技术框架中,建模代理通过操作程序建模库中的函数来创建逼真的3D模型。对于每个函数Fj和用户指令Li,任务调度代理从概念化代理获得增强上下文 cLij。

    对于每个函数Fj,我们都有代码Cj,函数文档Dj和一个用法示例Ej。建模代理利用这些信息选择适当的函数并推断出相应的参数。

    在这里插入图片描述

    随后,建模代理生成准确调用所选函数的Python代码(例如,在循环中调用它,而不是调用它),并使用适当的数据类型正确传递推断的参数给函数。

    建模代理遵循以下对话模式:

    系统:你是一位优秀的3D设计师,能够将长文本描述转换为参数,并且擅长理解Python函数来操纵3D内容。给定文本描述,我们有以下函数代码和函数文档。

    以下是一个关于如何调用函数以使场景符合描述的示例:<E建模j>。理解函数,并通过调用函数建模符合文本描述的3D场景。

    建模代理:根据描述,将使用以下函数,并采用各自的参数值。

    Blender渲染:建模代理最终提供带有推断参数的Python函数调用,这些调用用于Blender节点控制和渲染,从而产生最终的3D网格和RGB结果。

    测试数据

    研究人员进行了大量实验,结果表明3D-GPT可以根据不同语言描述生成符合要求的3D场景和对象。具体表现如下:

    3D-GPT可以根据简要描述生成较大的3D场景,场景内容与描述基本一致。对于单一对象,3D-GPT可以准确捕捉其关键外观特征,实现精细的形状、曲线和属性控制。

    3D-GPT能够正确理解工具的功能,获取必要知识,并将其用于精确控制。即使参数与视觉外观无直接关系,也能准确推理参数值。在多步语言指令的场景中,3D-GPT能够充分理解每一步指令,并对场景进行准确修改。

    本文素材来源3D-GPT论文,如有侵权请联系删除

相关文章:

文本生成高精准3D模型,北京智源AI研究院等出品—3D-GPT

北京智源AI研究院、牛津大学、澳大利亚国立大学联合发布了一项研究—3D-GPT&#xff0c;通过文本问答方式就能创建高精准3D模型。 据悉&#xff0c;3D-GPT使用了大语言模型的多任务推理能力,通过任务调度代理、概念化代理和建模代理三大模块&#xff0c;简化了3D建模的开发流程…...

Netty入门指南之NIO 网络编程

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言基础扫…...

LeetCode(6)轮转数组【数组/字符串】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 189. 轮转数组 1.题目 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1…...

华为云Ascend310服务器使用

使用华为云服务器 cpu: 16vCPUs Kunpeng 920 内存&#xff1a;16GiB gpu&#xff1a;4* HUAWEI Ascend 310 cann: 20.1.rc1 操作系统&#xff1a;Ubuntu aarch64目的 使用该服务器进行docker镜像编译&#xff0c;测试模型。 已知生产环境&#xff1a;mindx版本为3.0.rc3&a…...

【poi导出excel模板——通过建造者模式+策略模式+函数式接口实现】

poi导出excel模板——通过建造者模式策略模式函数式接口实现 poi导出excel示例优化思路代码实现补充建造者模式策略模式 poi导出excel示例 首先我们现看一下poi如何导出excel&#xff0c;这里举个例子&#xff1a;目前想要导出一个Map<sex,List>信息&#xff0c;sex作为…...

自适应模糊PID控制器在热交换器温度控制中的应用

热交换器是一种常见的热能传递设备&#xff0c;广泛应用于各个工业领域。对热交换器温度进行有效控制具有重要意义&#xff0c;可以提高能源利用效率和产品质量。然而&#xff0c;受到热传导特性和外部环境变化等因素的影响&#xff0c;热交换器温度控制难度较大。本文提出一种…...

【系统救援】 Ubuntu重启失败,报错:UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

问题定位及处理 查看错误信息&#xff1a;/dev/sda3 contains a file system with errors, check forced. /dev/sda3: Inodes that were part of a corrupted orphan linked list found. /dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p o…...

【数据结构】树与二叉树(八):二叉树的中序遍历(非递归算法NIO)

文章目录 5.2.1 二叉树二叉树性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点&#xff0c;其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…...

第九章 排序【数据结构】【精致版】

第九章 排序【数据结构】【精致版】 前言版权第九章 排序9.1 概述9.2 插入类排序9.2.1 直接插入排序**1-直接插入排序.c** 9.2.2 折半插入排序**2-折半插入排序.c** 9.2.3 希尔排序 9.3 交换类排序9.3.1冒泡排序**4-冒泡排序.c** 9.3.2 快速排序**5-快速排序.c** 9.4 选择类排…...

基于element-plus定义表格行内编辑配置化

文章目录 前言一、新增table组件二、使用步骤 前言 在 基于element-plus定义表单配置化 基础上&#xff0c;封装个Element-plus的table表格 由于表格不同于form组件&#xff0c;需自定义校验器&#xff0c;以下组件配置了单个校验&#xff0c;及提交统一校验方法&#xff0c;且…...

WebGL-Vue3-TS-Threejs:基础练习 / Javascript 3D library / demo

一、理解Three.js Three.js是一个用于WebGL渲染的JavaScript库。它提供了一组工具和类&#xff0c;用于创建和渲染3D图形和动画。简单理解&#xff08;并不十分准确&#xff09;&#xff0c;Three.js之于WebGL&#xff0c;好比&#xff0c;jQuery.js之于JavaScript。 OpenGL …...

2022年12月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 有n个按名称排序的商品,使用对分查找法搜索任何一商品,最多查找次数为5次,则n的值可能为?()(2分) A.5 B.15 C.30 D.35 答案:C 答案解析:对分查找最多查找次数m与个数之间n的…...

确定性 vs 非确定性:GPT 时代的新编程范式

分享嘉宾 | 王咏刚 责编 | 梦依丹 出品 | 《新程序员》编辑部 在 ChatGPT 所引爆的新一轮编程革命中&#xff0c;自然语言取代编程语言&#xff0c;在只需编写提示词/拍照就能出程序的时代&#xff0c;未来程序员真的会被简化为提示词的编写员吗&#xff1f;通过提示词操纵 …...

【Linux奇遇记】我和Linux的初次相遇

&#x1f308;个人主页: Aileen_0v0 &#x1f525;系列专栏:Linux奇遇记系列专栏&#x1f4ab;"没有罗马,那就自己创造罗马~" 目录 前端和后端的介绍 1.前端 2.后端 3.前后端区别 Linux在前后端开发中的角色 如何学习Linux 去进行程序开发 Linux的常见根目…...

剪贴板劫持--PasteJacker的使用

启动 PasteJacker [1] Windows [2] Linux [3] Exit第一次是让我们选择要攻击针对的目标系统&#xff0c;这里以Windows系统为例&#xff0c;即我自己的物理机 因此键入 1 &#xff0c;回车 [1] Download and execute a msfvenom backdoor using certutil (Web delivery Past…...

说一下vue2的响应式原理?

vue2采用数据代理数据劫持发布订阅模式的方法。 在初始化vue实例时&#xff0c;会把data对象和data对象的属性都添加到vm对象中&#xff0c;通过object.defineProperty()进行数据代理&#xff0c;用vm对象的属性来代理data对象的属性&#xff0c;并在Observer类中递归遍历data…...

如何使用CORS和CSP保护前端应用程序安全

前端应用在提供无缝用户体验方面起着核心作用。在当今互联网的环境中&#xff0c;第三方集成和API的普及使得确保强大的安全性至关重要。安全漏洞可能导致数据盗窃、未经授权访问以及品牌声誉受损。本文将向您展示如何使用CORS和CSP为您的网页增加安全性。 嗨&#xff0c;大家好…...

C/C++输出硬币翻转 2021年6月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C硬币翻转 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C硬币翻转 2021年6月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 假设有N个硬币(N为不大于5000的正整数)&#xff0c;从1…...

ipad可能会在iOS 16中失去智能家居中心功能

在iOS 16测试版代码中发现的文本表明苹果将放弃对iPad家庭中心的支持 家庭app迎来重大改版&#xff0c;未来更将对智能家居互联互通标准Matter提供支持。 即使某一款智能家居设备再优秀&#xff0c;只要它没有接入HomeKit&#xff0c;那么就不能在苹果的家庭app中直接管理控制。…...

maven打包可运行jar

普通java程序 <build><finalName>JavaDeviceClient</finalName><plugins><plugin><artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><configuration><source>1.8</source><…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...