当前位置: 首页 > 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><…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...