PrimitiveAnything:腾讯与清华联合推出的AI 3D形状生成框架

5

在3D建模领域,一项由腾讯人工智能平台部(AIPD)和清华大学联合开发的创新框架——PrimitiveAnything,正以其独特的基元分解与重组技术,引发业界的广泛关注。该框架的核心思想是将复杂的3D形状拆解为一系列简单的基元元素,如立方体、椭圆柱体和椭球体等,并通过自回归的方式生成这些基元,最终将它们重新组装成完整的3D形状。这种方法不仅简化了3D形状的生成过程,还在生成质量、泛化能力和效率方面展现出显著优势。

高质量3D原语组装生成

PrimitiveAnything最引人注目的特点之一是其高质量的3D原语组装生成能力。它能够生成在几何上精确还原原始模型,并且符合人类对形状直观理解的3D模型。这意味着,通过该框架生成的模型不仅在视觉上具有高度的逼真度,而且在结构上也更易于被人类识别和理解。

高质量3D原语组装生成

为了实现这一目标,PrimitiveAnything采用了独特的参数化方案,能够处理多种类型的基元,并通过消除参数化过程中的歧义性,确保模型在训练和生成过程中的稳定性和准确性。此外,该框架还利用自回归变换器架构,逐帧生成3D原语,从而能够处理不同长度的原语序列,并轻松扩展到新的原语类型。

多样化3D内容创作

除了高质量的生成能力外,PrimitiveAnything还提供了多样化的3D内容创作方式。它支持从文本或图像条件生成3D内容,为用户提供了极大的创作灵活性。用户可以通过简单的文本描述或上传一张图片,即可生成相应的3D模型,极大地降低了3D内容创作的门槛。

例如,游戏开发者可以通过输入一段描述游戏场景的文本,快速生成相应的3D场景模型;设计师可以通过上传一张产品草图,快速生成产品的3D模型。这种多样化的创作方式,使得PrimitiveAnything能够广泛应用于游戏开发、产品设计、建筑设计等领域。

高效存储和编辑

与传统的3D模型表示方法相比,PrimitiveAnything使用原语表示生成的3D模型在存储上更加高效。由于基元的数量通常远小于模型的顶点数量,因此可以大大减少模型的存储空间。此外,基于原语表示的模型也更易于编辑和调整。用户可以通过修改基元的属性,如位置、旋转和缩放等,来快速调整模型的形状和结构。

这种高效存储和编辑的特性,使得PrimitiveAnything在需要频繁修改和更新3D模型的应用场景中具有显著优势。例如,在游戏开发中,开发者可以快速修改和调整游戏场景和角色模型,以满足游戏的需求。

自回归变换器架构

PrimitiveAnything采用了自回归变换器架构,逐帧生成3D原语。这种架构能够处理不同长度的原语序列,并且可以轻松扩展到新的原语类型。自回归变换器架构的核心思想是,将3D形状的生成过程看作是一个序列生成问题,模型通过预测序列中的下一个元素(即基元),逐步生成完整的3D形状。

为了实现这一目标,该框架使用了一个基于解码器的Transformer模型,该模型接收3D形状的特征表示和之前生成的基元信息,预测下一个基元的特征。通过这种方式,模型能够捕捉到基元之间的依赖关系,并生成具有连贯性和一致性的3D形状。

无歧义的参数化方案

为了解决参数化中固有的歧义性,PrimitiveAnything开发了一套全面的规则。该规则通过分析基元的对称性,选择旋转参数L1范数最小的一组作为唯一表示,确保了训练过程的稳定性和准确性。参数化歧义是指,不同的参数组合可能产生相同的形状。例如,一个立方体可以通过不同的旋转角度来表示,但这些不同的表示方式本质上是相同的。

为了消除这种歧义性,PrimitiveAnything对基元的参数化进行了约束,确保每个形状都有唯一的参数表示。这不仅提高了模型的训练效率,还提高了生成结果的质量。

几何保真度与语义一致性

在生成过程中,PrimitiveAnything保持了高几何保真度,并能生成符合人类认知的语义分解结果。这意味着,通过该框架生成的模型不仅在几何上与原始模型相似,而且在语义上也能够被人类理解。例如,对于一个椅子模型,PrimitiveAnything能够将其分解为椅背、椅面和椅腿等几个部分,这些部分与人类对椅子的认知是一致的。

为了实现这一目标,该框架在训练过程中使用了多种损失函数,包括交叉熵损失、Chamfer距离和Gumbel-Softmax等。这些损失函数能够引导模型生成具有高几何保真度和语义一致性的3D形状。

模块化设计

PrimitiveAnything的模块化设计支持无缝集成新的原语类型,无需修改架构,能适应不同的原语表示。这意味着,用户可以根据自己的需求,自定义基元的类型和属性,从而扩展框架的功能。

例如,用户可以添加新的基元类型,如圆锥体、棱锥体等,也可以修改现有基元的属性,如颜色、纹理等。这种模块化的设计,使得PrimitiveAnything具有很强的灵活性和可扩展性。

技术原理

PrimitiveAnything的技术原理主要包括以下几个方面:

  1. 无歧义的参数化方案:使用多种类型的基元(如立方体、椭圆柱体和椭球体)在统一的参数化方案下共同表示3D形状。每种基元的类型、位置、旋转和缩放等属性都被编码并输入到模型中。为了解决参数化中固有的歧义性,研究团队开发了一套全面的规则,通过分析基元的对称性,选择旋转参数L1范数最小的一组作为唯一表示,确保了训练过程的稳定性和准确性。
  2. 自回归变换器架构:框架采用基于解码器的Transformer架构,能根据形状特征生成可变长度的基元序列。首先通过点云编码器提取3D形状的特征表示,然后由自回归Transformer模型接收这些形状特征和之前生成的基元信息,预测下一个基元的特征。为了建模基元属性之间的依赖关系,框架使用级联解码器依次预测基元的类型、位置、旋转和缩放等属性。捕捉了基元属性之间的自然相关性,例如基元类型会影响其可能的位置、旋转和缩放参数,与人类组装逻辑相符。
  3. 自回归生成流程:将整个基元抽象过程重新构思为一个序列生成任务,模型以点云作为输入条件,然后自回归地生成基元序列,直到预测出结束标记为止。在训练过程中,结合了交叉熵损失、Chamfer距离(用于重构准确性)和Gumbel-Softmax(用于可微采样),直到生成序列结束标记。能灵活且类人地分解复杂的3D形状。

应用场景

PrimitiveAnything的应用场景非常广泛,包括:

  • 3D建模与设计:PrimitiveAnything能快速生成复杂的3D模型的“几何骨架”,设计师可以在此基础上专注于细节精修,提升了工作效率和设计速度。
  • 游戏资产生成:游戏设计师可以用PrimitiveAnything快速生成各种游戏场景和角色模型,提高开发效率。玩家也能通过简单的几何积木拼接方式创造新的角色或道具,由AI自动进行优化调整,无缝集成到物理引擎中。
  • 用户生成内容(UGC):框架支持从文本或图像输入生成3D内容,用户可以轻松编辑生成结果,为游戏中的UGC提供了新的可能性。
  • 虚拟现实(VR)和增强现实(AR):在虚拟现实和增强现实环境中,PrimitiveAnything可以快速生成逼真的3D对象,增强用户体验。

总而言之,PrimitiveAnything作为一种新型的3D形状生成框架,通过基元分解与重组技术,实现了高质量、多样化、高效的3D内容创作。它不仅在技术上具有创新性,而且在应用场景上也具有广阔的前景。随着人工智能技术的不断发展,PrimitiveAnything有望在3D建模、游戏开发、VR/AR等领域发挥更大的作用。

随着技术的不断进步,PrimitiveAnything的未来发展潜力巨大。例如,可以进一步优化基元的类型和属性,提高生成模型的精度和逼真度;可以探索更多的应用场景,如建筑设计、工业设计等;可以结合其他人工智能技术,如自然语言处理、计算机视觉等,实现更智能化的3D内容创作。

3D建模与设计

PrimitiveAnything的开源项目地址包括项目官网、Github仓库、HuggingFace模型库和arXiv技术论文,为研究者和开发者提供了丰富的资源和工具。通过这些资源,他们可以深入了解PrimitiveAnything的技术原理和应用方法,并在此基础上进行二次开发和创新。

PrimitiveAnything的出现,无疑为3D建模领域注入了新的活力。它不仅降低了3D内容创作的门槛,还提高了3D内容生成的效率和质量。相信在不久的将来,PrimitiveAnything将成为3D建模领域的重要工具,推动3D技术的发展和应用。