一个模型搞定人、狗、蛇、机械物体动画,UniMate 开源了
🦖 现在,一个 AI 模型可以根据文本提示,为人类、狗、鸟、蛇、昆虫甚至机械物体制作动画,而无需为每种骨骼结构重新训练。来认识一下 UniMate,这是由普林斯顿大学、加州大学伯克利分校、麻省理工学院和南洋理工大学的研究人员开发的一个新的开源动画框架。
大多数 AI 动画模型都是围绕固定的人类骨骼进行训练的。当你想为四足动物、有几十个关节的蛇类,或关节结构完全不同的机械物体制作动画时,这就成了一个问题。UniMate 的设计目标是能够处理所有这些情况。
它能做什么?
▪️ 文本生成动作:描述一个动作,并为已绑定骨骼的 3D 角色生成动画。
▪️ 不同的骨骼结构:支持人类、四足动物、鸟类、海洋生物、昆虫、蛇和有关节结构的物体。
▪️ 零样本迁移:将学到的动作概念应用到模型未专门训练过的骨骼结构上。
▪️ 动作编辑:使用自然语言指令修改现有动画。
▪️ 补间:生成连接两个指定姿势的动作。
▪️ 动作扩展:将现有动作序列扩展为更长的动画。
它的架构尤其有趣。UniMate 使用了一种拓扑感知的扩散 Transformer。它不是假设每个角色都有相同数量的骨骼,而是明确地表示骨骼是如何连接的。
有三种机制使其成为可能:
1. 图感知注意力机制
骨骼上的关节关系和距离会影响不同部分如何互动。
2. 频谱旋转嵌入
研究人员利用图拉普拉斯算子,将旋转位置编码推广到任意骨骼结构上。
3. 全局拓扑条件
完整静止姿势骨骼的表示有助于模型理解角色的整体结构。
这些机制共同作用,使一个模型能够在非常不同的身体结构上生成动作。
它的训练数据同样有趣。该团队创建了 UniML3D,这是一个包含大约 13,000 个与文本配对的动作序列的数据集,这些序列来自数千种不同的骨骼结构。它包括人形机器人、动物和有关节结构的物体,所有这些都被转换成了一个通用的表示形式。
你可以使用自己的角色吗?
可以。发布的 rig_preprocess 流程接受现有的已绑定骨骼的 GLB、glTF 和 FBX 资源。它会分析骨骼结构,准备关节标签,并将角色转换为与 UniMate 兼容的表示形式。
但这里有一个限制:UniMate 不会为未绑定骨骼的网格模型创建骨骼。你仍然需要一个正确绑定骨骼的角色。该模型也不能保证物理上准确的接触、逼真的重量分布,或无需清理即可直接用于制作的动画。
可用性:
▪️ 已发布训练和推理代码。
▪️ 在 Hugging Face 上提供预览检查点。
▪️ 交互式 3D 演示。
▪️ 自定义骨骼结构预处理。
▪️ MIT 许可代码。
研究中使用的一些第三方动画资源需要单独的许可,且不会被重新分发。
为什么这很重要:
AI 角色动画传统上
本文由 AI 翻译自英文原帖,技术名词保留英文。
查看 X 原帖