• 文本生成高精准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)>。以下是如何根据用户指令选择函数的几个示例:

    用户:我的指令是:

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

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

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

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

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

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

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

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

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

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

      在这里插入图片描述

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

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

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

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

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

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

      测试数据

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

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

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

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

  • 相关阅读:
    酒水商城|基于Springboot实现酒水商城系统
    论文投稿指南——收藏|SCI论文怎么投?
    数字样机的前世今生
    第一个ALV程序2
    pycharm里得各种小细节你都知道嘛?超多快捷键等你来领~
    sql同表分组取第一条
    burpsuite安装方法(抓包工具)
    知识蒸馏和知识图谱相结合的大模型微调方案
    tf.gather_nd
    kafka单机部署
  • 原文地址:https://blog.csdn.net/weixin_57291105/article/details/134329336