点击下方卡片,关注「集智书童」公众号
在追求高效的自动内容生成和程序生成的过程中,利用可修改参数和基于规则的系统出现作为一种有前途的方法。然而,鉴于其复杂性质,需要深刻理解规则、算法和参数,这可能是一项具有挑战性的工作。
为了减轻工作量,作者引入了3D-GPT,这是一个利用大语言模型(LLMs)进行指导驱动的3D建模的框架。3D-GPT将LLMs定位为高效的问题解决者,将程序化3D建模任务分解成易于访问的部分,并为每个任务指定合适的代理。
3D-GPT集成了3个核心代理:
任务分发代理 概念化代理 建模代理 它们共同实现了两个目标。
首先,它增强了简洁的初始场景描述,根据随后的指令动态调整文本,将其演化成详细的形式。
其次,它集成了程序生成,从丰富的文本中提取参数值,以轻松地与3D软件进行资产创建。
作者的实证调查证实,3D-GPT不仅能够解释和执行指令,提供可靠的结果,而且还能够有效地与人类设计师合作。此外,它可以与Blender 无缝集成,扩展了操控的可能性。作者的工作强调了LLMs在3D建模中的潜力,为未来在场景生成和动画方面的进一步发展提供了基本框架。
在元宇宙时代,3D内容创作成为引发革命性进展的催化剂,重新定义了多媒体体验,涵盖领域如游戏、虚拟现实和电影,通过精心制作的模型。然而,设计师通常需要花费大量时间来进行3D建模,从基本形状(例如立方体、球体或圆柱体)开始,使用Blender等软件进行精细的造型、细节处理和纹理处理。这种繁重的工作流程以渲染和后期处理结束,以呈现出精致的最终模型。虽然程序生成在通过可调参数和基于规则的系统自动创建内容方面具有潜力,但它需要全面掌握生成规则、算法框架和个别参数。
此外,通过有效的沟通将这些过程与客户的创意愿景相协调,增加了另一层复杂性。这突显了简化传统3D建模工作流程以赋予创作者在元宇宙时代更多权力的重要性。LLMs已经展示出了出色的语言理解能力,包括规划和工具利用。
此外,LLMs表现出了在表征物体属性,如结构和纹理方面的出色能力,使它们能够从粗糙的描述中增强细节。此外,它们擅长解析简洁的文本信息和理解复杂的代码函数,同时能够与用户无缝互动,有效地促进用户。
受到这些非凡能力的驱使,作者开始探索LLMs在程序化3D建模中的创新应用。作者的主要目标是利用LLMs的力量,根据客户的要求控制3D创建软件。
为了追求这一愿景,作者引入了3D-GPT,这是一个旨在促进基于指导的3D内容合成的框架。3D-GPT使LLMs成为问题解决代理,将3D建模任务分解成较小、可管理的组件,并确定何时、何地以及如何完成每个部分。
3D-GPT包括三个关键代理:
概念化代理 3D建模代理 任务分派代理
前两个代理协作和谐,通过操作3D生成函数来完成3D概念化和3D建模的角色。随后,第三代理通过接收初始文本输入、处理后续指令和促进前两个代理之间的有效协作来管理系统。
通过这样做,它们追求两个主要目标:
首先,它增强了初始场景描述,引导其朝着更详细和与上下文相关的形式发展,同时根据后续指令调整文本输入。 其次,与其直接制作3D内容的每个元素,作者采用了程序生成,利用可调参数和基于规则的系统与3D软件进行接口。
作者的3D-GPT具有理解程序生成函数和从丰富文本中提取相应参数值的能力。3D-GPT提供了受用户文本描述指导的可控和精确的3D生成。它减轻了手动定义程序生成中的每个可控参数的工作负担,尤其是在包含多个方面的复杂场景中。此外,3D-GPT增强了与用户的合作,使创意过程更加高效和以用户为中心。
此外,3D-GPT与Blender 无缝集成,为用户提供了多种操作能力:对象变换、材料调整、基本元素添加、对象动画、网格编辑和物理运动模拟。基于作者的实验,作者认为LLMs在处理更复杂的视觉输入方面具有潜力。作者的贡献总结如下:
引入3D-GPT,这是一个专为3D场景生成而设计的免费训练框架。作者的方法利用LLMs的天生多模态推理能力,提高了参与程序化3D建模的终端用户的效率。
探索了文本到3D生成的另一途径,其中作者的3D-GPT生成Python代码来控制3D软件,潜在地为现实世界应用提供了更多的灵活性。
实证实验显示LLMs在3D内容生成方面的推理、规划和工具使用能力方面具有巨大潜力。
随着文本到图像生成建模的最新进展,文本到3D生成引起了越来越多的兴趣。它们的共同范式是通过可微分渲染和CP模型或2D扩散模型的指导执行每个形状的优化。例如,DreamFields和CP-Mesh探索了仅使用CP指导的零镜头3D内容创建。Dreamfusion通过使用文本到图像扩散模型的指导,优化NeRF Mildenhall等,实现了显著的文本到3D合成结果。
为解决优化速度和视觉质量方面的挑战,Magic3D使用低分辨率扩散先验和稀疏的3D哈希网格以提高速度,以及用于纹理3D网格模型优化的高效可微分渲染。为了增强生成的3D模型的逼真度,创新方法可以优化3D几何形状。例如,Dream3D直接使用生成的符号距离函数(SDF)初始化NeRF,以获得更好的几何控制。Latent-NeRF在NeRF的几何优化过程中结合了用户提供的网格,以直接占用损失。
以主题驱动的文本到3D生成越来越受到个性化合成的欢迎。它根据输入图像和文本提示创建基于主题的3D资源。为实现这一目标,DreamBooth3D提出了一个三阶段的优化策略,旨在共同利用NeRF的3D一致性和文本到图像扩散模型的个性化能力。One-2-3-45使用视图条件2D扩散模型来生成多视图图像,以学习基于SDF的可推广神经表面重建。
与上述方法不同,作者的目标不是生成传统的神经表示作为最终的3D输出。相反,作者利用LLMs生成Python代码,以根据提供的指令控制Blender的3D建模。
大语言模型(LLMs)是捕获和代表人类压缩知识和经验的有希望的方法,将它们投射到语言空间。LLMs一直表现出非凡的性能,超越了经典的语言处理领域。它们展现出了解决曾经被认为是专门算法或人类专家领域的复杂任务的能力。这些任务包括数学推理,医学和规划例如,Huang等(2022年)利用LLMs的互联网规模领域知识和新兴的零镜头规划能力执行复杂任务规划和推理。
Gong等(2023年)探索LLMs在涵盖多个任务目标的多智能体协调方案中的应用。Zeng等(2022年)引入了一个模块化框架,通过多个大型预训练模型之间的提示的结构对话来进行新的多模态任务的联合预测,无需微调。
此外,还探索了专门用于特定应用的LLMs,例如Python代码生成的Codex(Chen等,2021年),科学知识的Galactica和对话应用的LaMDA。本研究探索了LLMs在3D建模中的创新应用,利用它们来控制3D程序生成。
总体目标是根据自然语言指令序列生成3D内容,表示为L_j。初始指令,标记为,作为对3D场景的综合描述,例如“一个雾蒙蒙的春天早晨,露水滋润的鲜花点缀在新发的树木周围的郁郁葱葱的草地上”。后续的指令用于修改现有场景,例如“将白色花朵变成黄色花朵”或“将场景翻译成冬季设置”。
为了实现这一目标,作者引入了一个名为3D-GPT的框架,它使LLMs能够充当问题解决代理。作者指出,使用LLMs直接创建3D内容的每个元素存在重大挑战。LLMs缺乏专门的预训练数据来进行熟练的3D建模,因此可能难以准确确定要根据给定的指令修改哪些元素以及如何修改它们。
为避免这一挑战,作者采用了程序生成来控制3D内容创建。它利用可调参数和基于规则的系统与3D软件(例如Blender)接口,以便有效地进行3D建模。
作者的方法将3D程序生成引擎构想为一组函数,表示为,其中每个函数以参数作为输入。
在3D-GPT框架中,对于每个指令,作者将建模任务构想为选择一个子集,结合推断该子集中每个函数的相应参数。最终目标是确保协作生成一个与中提供的描述相一致的3D场景。通过熟练地处理每个子指令的函数选择和参数推断,3D-GPT生成一个Python脚本文件,能够操作Blender的3D建模环境,从而有效地满足指令序列中规定的用户要求。
在作者的框架中,作者使用了基于Python和Blender的程序生成工具Infinigen,它配备了丰富的生成函数库。为了使LLMs能够熟练利用Infinigen,作者为每个函数提供了关键提示。这些提示包括函数文档,易于理解的代码,所需信息和用法示例:
:它包括对输入参数的全面解释,以及对函数的目的和功能的清晰阐述。
:作者提供经过精心重组和高度可读的函数代码,确保LLMs可以轻松理解和理解。
:此部分概述了推断函数参数所需的具体信息,从而帮助LLMs了解每个函数的上下文和先决条件。例如,在花朵生成函数的情况下,指示了用于建模的视觉属性,如花朵颜色,花瓣外观(例如大小,弯曲和长度)和花心外观。
:作者提供示例示例,演示如何从附带的文本描述中推断参数,然后调用该函数。继续以花朵生成函数为例,包括如何根据输入文本“向日葵”推断参数并调用函数的实际演示。
通过为LLMs提供这些资源,作者使它们能够充分利用其在规划、推理和工具利用方面的核心能力。结果,LLMs可以有效地利用Infinigen进行基于语言指令的3D生成,实现无缝高效的方式。
在工具准备完成后,3D-GPT采用了一个多代理系统来处理程序3D建模任务。这个系统包括三个核心代理:任务调度代理、概念化代理和建模代理,如图1所示。它们共同将程序3D建模任务分解为可管理的部分,每个代理专门负责不同的方面:3D推理、规划和工具利用。任务调度代理在规划过程中发挥了关键作用。它利用用户指令查询函数文档,然后选择执行所需的函数。一旦函数被选择,概念化代理将进行推理,丰富用户提供的文本描述。在此基础上,建模代理推断出每个选定函数的参数,并生成Python代码脚本来调用Blender的API,从而创建相应的3D内容。此外,可以使用Blender的渲染功能渲染图像。
任务调度代理,具有程序生成中所有可用函数的全面信息,可以高效地确定每个指令输入所需的函数。例如,当出现如“将场景翻译成冬季设置”的指令时,它会确定函数如add snow layer()和update trees()。任务调度代理扮演的这个关键角色对于促进概念化和建模代理之间的高效任务协调至关重要。没有它,概念化和建模代理必须分析每个给定指令的所有提供的函数F。这不仅增加了这些代理的工作负担,还延长了处理时间,可能导致不希望的修改。
LLM系统、用户和任务调度代理之间的通信流程如下所示:
在这种情况下,表示所有可用函数的函数名称和简明的函数用途描述列表,示例$
描述可能不会明确提供建模所需的详细外观描述。例如,考虑描述:“一个雾蒙蒙的春天早晨,露水滋润的鲜花点缀在新发的树木周围的郁郁葱葱的草地上”。在使用需要参数的树建模函数时,如树枝长度、树的大小和叶子类型,这些具体细节在给定文本中未直接说明。当指示建模代理直接推断参数时,它往往会提供简单的解决方案,如从参数文档中使用默认或合理值,或从提示示例中复制值。这降低了生成的多样性并使参数推断变得更加复杂。
为了解决这个问题,作者引入了概念化代理,它与任务调度代理合作,以增强用户提供的文本描述()。在任务调度代理选择所需的函数之后,作者将用户输入文本和相应的函数特定信息发送给概念化代理,并请求增强的文本。对于每个函数,它将丰富成详细的外观描述。系统与概念化代理之间用于指令$
在概念化之后,3D建模处理旨在将详细的人类语言转化为机器可理解的语言。
在作者的框架中,作者的建模代理操作库中的程序建模函数,以创建逼真的3D模型。对于每个函数和用户指令,任务调度代理从概念化代理接收增强的上下文 。对于每个函数,作者都有代码、函数文档和一个使用示例。建模代理利用这些信息选择适当的函数,并推断出相应的参数。随后,建模代理生成Python代码,准确地调用选定的函数(例如,在循环中调用,而不是调用)并以适当的数据类型传递推断出的参数。
两轮话语基于以下模式:
建模代理最终提供了包含推断参数的Python函数调用,这些参数用于Blender节点控制和渲染,从而生成最终的3D网格和RGB结果。
作者的实验从展示3D-GPT在一致生成符合用户指令的结果方面的能力开始,包括涵盖大型场景和个别物体的情景。随后,作者深入具体示例,以说明作者的代理如何有效地理解工具功能,访问必要的知识,并将其用于精确控制。为了加深作者的理解,作者进行消融研究,系统地检验了作者的多代理系统中每个代理的贡献。
作者调查了3D-GPT在没有任何训练的情况下基于场景描述控制建模工具的能力。为了进行这个实验,作者使用以下提示生成了100个场景描述,使用ChatGPT的提示如下:“你是一名出色的作家,请为我提供10个不同的自然场景描述”。作者多次收集了此提示的回应,以形成作者的数据集。
在图2中,作者呈现了3D-GPT的多视图渲染结果。这些结果表明,作者的方法能够生成大型的3D场景,通常与提供的文本描述相符,展示出明显的多样性。值得注意的是,所有的3D结果都是使用Blender直接渲染的,确保了所有的网格都是真实的,从而使作者的方法能够实现绝对的3D一致性,并产生真实的光线追踪渲染结果。
除了从简洁的描述中生成大型场景,作者还评估了3D-GPT在建模物体方面的能力。作者评估了关键因素,如曲线建模、形状控制和对物体外观的深入理解。
为此,作者报告了精细物体控制的结果。这包括物体曲线、关键外观特征和颜色等细致的方面,都来自于输入文本描述。作者使用随机提示来指导GPT为各种现实世界的花卉类型。
如图3所示,作者的方法熟练地对每种花卉类型进行建模,忠实地捕捉到它们独特的外观。这项研究强调了3D-GPT在实现精确物体建模和物体类型以及视觉特征的细粒度属性控制方面的潜力。
在这里,作者测试了3D-GPT在有效的人机通信和任务操作方面的能力。
在图4中,作者观察到作者的方法可以理解后续的指令并对场景进行准确的修改决策。请注意,与现有的文本到3D方法不同,3D-GPT保留了所有先前修改的记忆,从而便于将新的指令与场景的上下文连接起来。此外,作者的方法消除了需要额外网络进行可控编辑。这项研究强调了3D-GPT在熟练处理复杂的后续指令方面的效率和多功能性。
为了评估3D-GPT在工具使用方面的有效性,作者提供了一个示例,突出了作者的方法控制单个函数并推断参数的能力。图5展示了3D-GPT基于输入文本描述来建模天空外观的能力。
值得注意的是,负责生成天空纹理的函数没有将颜色信息直接与天空外观相关联。相反,它依赖于Nishita天空建模方法,需要深刻理解现实世界的天空和天气条件,考虑到输入参数。作者的方法熟练地从文本输入中提取关键信息,理解每个参数如何影响最终的天空外观,如图5(c)和(d)所示。这些结果表明作者的方法可以有效地使用单个函数并推断相应的参数。
作者对概念化代理和任务调度代理分别进行了独立的消融研究。作者的评估集中在CLIP分数,故障率以及参数多样性上,使用分类Shannon多样性指数进行量化。CLIP分数度量文本和生成图像之间的一致性。故障率表示由于问题,如不正确的数据类型、错误的响应模式或来自建模代理的缺少参数而导致的系统故障的百分比。参数多样性旨在衡量生成输出的多样性。
对于任务调度代理,使用100个初始场景描述来衡量CLIP分数,每个场景都附有一个额外的后续指令。表1(a)显示,如果没有任务调度代理,CLIP分数从29.16下降到22.79。
重要的是要注意,任务调度代理主要影响后续指令的性能,因为所有函数都用于初始指令。这些发现强调了任务调度代理在管理通信流程中的关键作用。
对于概念化代理,使用100个初始场景描述来衡量CLIP分数。表1(b)显示,如果没有概念化代理,文本对齐(CLIP分数)和参数多样性都显著降低。此外,故障率大幅增加,严重影响了整个建模过程的效率。
图6说明了概念化代理如何有助于获取3D建模的重要知识,提供了有和没有其参与的结果的视觉比较。当概念化代理参与时,生成的结果与所需的花卉类型的外观密切一致,突出了它对提高整体3D生成质量和保真度的宝贵贡献。
作者引入了3D-GPT,这是一个新颖的无需训练的框架,用于与程序生成无缝集成的基于指令的3D建模。借助LLM的能力,3D-GPT旨在增强在3D设计背景下的人工智能与人类的交流。作者的方法涉及三个代理的协同工作,作为一个协调的3D建模团队,最终产生3D建模文件作为输出,而不是传统的3D神经表示。
此外,作者的方法始终提供高质量的结果,展示了对扩展场景的适应性,确保3D一致性,提供了材料建模和编辑能力,并为实现逼真的可视化提供了真实的光线追踪。作者的实证实验显示了LLM在程序3D建模中推理、规划和工具使用方面的潜力。
虽然作者的框架已经展示了与用户指令紧密一致的有希望的3D建模结果,但有必要承认一些局限性:
有限的曲线控制和着色设计:目前,作者的框架缺乏精确曲线控制和复杂着色设计的高级功能。涉及操纵树枝或混合叶纹理颜色等任务仍然具有挑战性。
依赖程序生成算法:作者的框架的有效性取决于程序生成算法的质量和可用性。这种依赖可能会限制特定类别的结果,例如头发和毛皮。
处理多模式指令:在处理多模式指令(包括音频和图像输入)时会出现挑战,可能导致信息丢失。这些局限性为塑造未来研究和发展提供了宝贵的见解。作者强调了未来研究的三个引人注目的方向:
有望对LLM进行精细调整,以增强其在几何控制、着色设计和精细纹理建模方面的能力。这种改进将使LLM更擅长处理复杂的3D建模任务,并在生成的3D场景上获得更大的创意控制。
在LLM已经表现出能够制定工具的能力的基础上,一个方向是开发一个自主的3D建模系统,减少人的参与。这可以使LLM自主发现新的对象类别和场景的生成规则,从而扩大创意潜力。
为了基于多样化的用户输入实现更全面和富有表现力的3D建模,提高系统理解和响应多模式指令的能力至关重要。这将促使更丰富和多样化的3D建模结果,由更广泛的用户输入范围塑造。
[1]. 3D-GPT: PROCEDURAL 3D MODENG WITH LARGE LANGUAGE MODELS.
扫码加入👉「集智书童」交流群
(备注:方向+学校/公司+昵称)
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
欢迎扫描上方二维码,加入「集智书童-知识星球」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!
评论
沙发等你来抢