☰
UniMate快速开始:从requirements.txt到首次推理的5个关键步骤
2026/10/4 1:37:55 网站建设 项目流程

UniMate快速开始:从requirements.txt到首次推理的5个关键步骤

【免费下载链接】UniMate[SIGGRAPH Asia 2026] UniMate: One Unified Model to Animate Diverse Skeletons项目地址: https://gitcode.com/GitHub_Trending/un/UniMate

UniMate 是 SIGGRAPH Asia 2026 论文《One Unified Model to Animate Diverse Skeletons》的开源实现:一个统一的骨骼动画生成模型,用一段文本提示词即可为任意拓扑的骨架(人形、四足、鸟类、海洋生物、昆虫乃至刚体机械)实时生成动作,无需针对每个骨架重新训练。本文将带你完成 UniMate 快速开始的全流程:从安装 requirements.txt 依赖,到跑通首次文本生成动作推理,只需 5 个关键步骤。

1. 克隆仓库与一键环境安装:conda 环境创建步骤

所有组件(数据处理、渲染、训练、推理)共用同一个 conda 环境,依赖清单完整定义在 requirements.txt 中,基于 Python 3.10 + CUDA 12.4。克隆仓库:

git clone https://gitcode.com/GitHub_Trending/un/UniMate cd UniMate

按官方推荐的 4 条命令安装环境:

conda create -n unimate python=3.10 -y conda activate unimate pip install "setuptools<81" pip install -r requirements.txt --no-build-isolation

💡 两个细节别踩坑:

  • 必须先安装setuptools<81再加--no-build-isolation,因为 Motion 动画库依赖旧版pkg_resources,较新的 setuptools 已不再提供该模块(详见 requirements.txt 头部注释)。
  • 依赖中预装了对应的bpy(Blender Python 模块,锁定bpy==4.0.0),无需单独安装 Blender 即可跑渲染相关流程。

安装完成后,可用任意一条推理命令验证环境是否就绪(会提示缺少模型/数据集,而不是包缺失,即为成功)。

2. 下载 UniML3D 数据集:获取动作特征

推理的骨架条件(T-pose 与拓扑)来自数据集本身,因此训练时使用的dataset/features/<dataset>/目录必须存在。UniMate 配套了UniML3D数据集——13,006 条文本配对的标准化动作序列,覆盖多种骨骼拓扑:

数据获取方式:

  • 原始资产:通过 Hugging Face Hub 的hfCLI 下载 Mixamo、Objaverse-XL 绑骨资产(仓库已内置下载脚本 run_download.sh,如bash data_process/scripts/run_download.sh mixamo)。
  • 处理后的训练/推理特征(dataset/features/):项目方正在准备开放发布,发布前可直接使用官方发布的 checkpoint 配套数据布局。
  • Truebones ZOO 动物动作为商业资产包,需自行购买后放入dataset/raw/truebones/Truebone_Z-OO/(说明见 data_process/README.md)。

3. 获取训练好的 Checkpoint:选择推理权重

推理从训练输出目录启动,需要三样东西:

文件作用
config.json解析后的训练配置,推理时读取以重建模型
dataset_stats.npy归一化统计量,推理时复用
checkpoints/checkpoint_step_*.pt模型/EMA/优化器状态

项目方已在 Hugging Face 上发布了 UniMate 的预览 checkpoint(README 的 Checkpoints 徽章可直达),目录结构与训练输出一致,可直接作为exp_dir使用。

如果你要自己训练,配置文件位于 configs/ 目录,共 8 个(4 种数据组合 × 2 种模型变体,均为 60 帧)。例如 uniml3d_60frames_graph_adaln.json 使用全量 UniML3D 数据、graph 注意力 + adaLN 文本条件。单卡训练只需一条命令:

accelerate launch -m unimate.training.train --config configs/uniml3d_60frames_graph_adaln.json

4. 编写测试用例:文本生成动作的 prompt 配置

文本条件推理的核心是一个测试用例 JSON:键为<object_type>-<case_id>(object_type 必须存在于数据集中,case_id 是自由命名的输出文件标签),值为动作描述 prompt。创建test_cases.json:

{ "Dog-walk": "a dog walks forward at a steady pace", "Dragon-takeoff": "a dragon flaps its wings and takes off" }

case_id会直接出现在输出文件名里(motions/Dog-walk-rep_0-0.npy),起个好名字会让结果一目了然。

5. 首次推理:运行 UniMate 文本生成动作命令

在仓库根目录执行:

python -m unimate.inference.sample \ --exp_dir outputs/uniml3d_60frames_graph_adaln \ --test_cases_json test_cases.json \ --num_repetitions 3

或使用封装好的脚本 run_sample_motion_text.sh——它会自动激活 conda 环境、挑选显存最充裕的 GPU:

bash scripts/run_sample_motion_text.sh outputs/uniml3d_60frames_graph_adaln test_cases.json

关键参数速查

参数说明
--exp_dir训练/发布 checkpoint 输出目录
--test_cases_json自定义 prompt 文件;省略则自动枚举数据集 eval 划分
--cfg_scale无分类器引导强度(≥1.0,默认读取训练配置)
--num_repetitions每个用例生成的样本数
--seed固定噪声,保证结果可复现
--only_save_motion跳过 MP4 渲染,只输出.npy动作特征

输出结果在哪里

每次运行在samples/下生成:

  • motions/<case_id>-rep_<r>-<i>.npy:动作特征(T, J, 12);
  • animations/<case_id>-rep_<r>-sample<i>_fk.mp4:骨架渲染视频;
  • animations/<object_type>_tpos.png:作为条件的 T-pose;
  • captions.json:每个.npy对应的 prompt 索引。

推理入口完整实现在 unimate/inference/sample.py,常用参数均可通过python -m unimate.inference.sample --help查看。

进阶:同一个模型免费解锁的 3 种玩法

推理跑通后,无需任何额外训练即可切换模式(三者互斥,且都需要--cfg_scale > 1.0):

  • 动作补间(Motion in-betweening):固定关键帧、生成中间过渡,KEEP_FRAMES="0,-1"可自动填充首尾姿态之间的一切;
  • 文本引导动作编辑:--keep_joints "Hips,Spine,Neck,Head"锁定下半身,用新 prompt 重新生成上半身动作;
  • 动作扩展(Motion expansion):把多段 prompt 列表串联成长动作,--expand_overlap控制衔接帧数。

对应脚本分别为 run_sample_motion_inbetween.sh、run_sample_motion_edit.sh、run_sample_motion_expand.sh,任意脚本带-h可查看完整选项。生成的.npy还可以交给数据流水线 Stage 5(run_animate_motion.sh)驱动原始网格,导出带动画的 GLB/FBX,完成从文本到可交付动画资产的最后一步。

🎉 至此,UniMate 快速开始的全部 5 个步骤已完成:环境安装 → 数据集 → checkpoint → 测试用例 → 首次推理。祝你的骨架动起来!

【免费下载链接】UniMate[SIGGRAPH Asia 2026] UniMate: One Unified Model to Animate Diverse Skeletons项目地址: https://gitcode.com/GitHub_Trending/un/UniMate

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询