T2M-GPT
T2M-GPT 是一款基于深度学习的开源工具,专注于将自然语言描述转化为逼真的人体动作序列。只需输入如“一个人向前迈步并倒立”这样的文字指令,它就能自动生成对应的 3D 人体运动数据。
该工具主要解决了传统方法在生成动作时流畅度不足、细节缺失或与文本语义对齐不准的难题。通过对比展示,T2M-GPT 生成的动作在连贯性和对复杂指令的理解上,表现优于 T2M、MDM 等前代技术,能够更精准地还原起立、绕行、坐下等连续且复杂的肢体行为。
其核心技术亮点在于创新性地采用了“离散表示”策略,结合 GPT 架构来处理运动数据。这种方法将连续的动作信号转化为离散的令牌序列,使得模型能够像处理语言一样高效地学习和生成运动模式,显著提升了生成质量和多样性。
T2M-GPT 非常适合计算机视觉与图形学领域的研究人员、AI 开发者以及动画制作专业人士使用。研究人员可利用其 PyTorch 实现进行算法对比与创新;开发者可以基于提供的 Colab 演示和 HuggingFace 接口快速集成应用;动画师则能将其作为辅助工具,通过文本快速原型化角色动作,大幅降低关键帧动画的制作门槛。项目提供了完整的训练、评估及渲染流程,便于用户在单张 GPU 环境下复现结果或开展二次开发。
使用场景
某独立游戏开发者正在为一款叙事驱动的动作游戏快速原型化 NPC 的行为动画,希望仅通过剧本描述即可生成自然的角色动作。
没有 T2M-GPT 时
- 动画师需手动逐帧制作或调整动作捕捉数据,耗时数天才能完成一个复杂动作序列(如“起身绕圈后坐下”)。
- 修改动作逻辑极其困难,若策划要求将“走路”改为“跛行”,必须重新制作整个动画片段。
- 难以保证动作与文本描述的语义一致性,常出现动作僵硬或与指令不符的情况,需反复沟通返工。
- 缺乏多样化的动作变体,导致游戏中多个 NPC 执行相同指令时动作完全雷同,缺乏真实感。
- 技术门槛高,非动画专业的程序开发人员无法直接参与动作内容的创作与迭代。
使用 T2M-GPT 后
- 开发者只需输入自然语言描述(如"a man rises from the ground, walks in a circle and sits back down"),T2M-GPT 即可在秒级内生成对应的 3D 人体运动序列。
- 调整动作变得轻而易举,修改文本描述中的动词或副词,T2M-GPT 便能实时输出新的动作变体,极大加速了策划迭代。
- 生成的动作在语义上与文本高度对齐,肢体协调自然,显著减少了人工校验和修正的时间成本。
- T2M-GPT 基于离散表示生成,能自动提供多种符合描述的运动风格,让不同 NPC 即使执行相同指令也展现出个性化差异。
- 程序人员可直接调用 API 将文本转动作流程集成到游戏引擎中,实现了从剧本到可玩原型的端到端自动化。
T2M-GPT 通过将自然语言直接转化为高质量 3D 人体运动,彻底打破了传统动画制作的高壁垒,让内容创作实现了真正的“所言即所得”。
运行环境要求
- Linux
需要 NVIDIA GPU,推荐单卡 V100-32G
未说明

快速开始
(CVPR 2023) T2M-GPT
论文“T2M-GPT:基于离散表示从文本描述生成人体运动”的 PyTorch 实现
[项目页面] [论文] [Notebook 演示] [HuggingFace] [Space 演示] [T2M-GPT+]
如果我们的项目对您的研究有所帮助,请考虑引用:
@inproceedings{zhang2023generating,
title={T2M-GPT: Generating Human Motion from Textual Descriptions with Discrete Representations},
author={Zhang, Jianrong and Zhang, Yangsong and Cun, Xiaodong and Huang, Shaoli and Zhang, Yong and Zhao, Hongwei and Lu, Hongtao and Shen, Xi},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2023},
}
目录
1. 可视化结果(更多结果可在我们的项目页面中找到)
| 文本:一名男子向前迈步并做倒立。 | ||||
|---|---|---|---|---|
| 真实标签 | 我们的方法 | |||
![]() |
![]() |
![]() |
![]() |
![]() |
| 文本:一名男子从地上起身,绕圈行走,然后重新坐回地上。 | ||||
| 真实标签 | 我们的方法 | |||
![]() |
![]() |
![]() |
![]() |
![]() |
2. 安装
2.1. 环境
我们的模型可以在单块 V100-32G 显卡上进行训练。
conda env create -f environment.yml
conda activate T2M-GPT
代码已在 Python 3.8 和 PyTorch 1.8.1 上测试通过。
2.2. 依赖项
bash dataset/prepare/download_glove.sh
2.3. 数据集
我们使用两个三维人体动作-语言数据集:HumanML3D 和 KIT-ML。对于这两个数据集,您都可以在[这里]找到详细信息及下载链接。
以 HumanML3D 为例,文件目录应如下所示:
./dataset/HumanML3D/
├── new_joint_vecs/
├── texts/
├── Mean.npy # 与 [HumanML3D](https://github.com/EricGuo5513/HumanML3D) 中的相同
├── Std.npy # 与 [HumanML3D](https://github.com/EricGuo5513/HumanML3D) 中的相同
├── train.txt
├── val.txt
├── test.txt
├── train_val.txt
└── all.txt
2.4. 动作和文本特征提取器:
我们使用 t2m 提供的相同提取器来评估我们生成的动作。请下载这些提取器。
bash dataset/prepare/download_extractor.sh
2.5. 预训练模型
预训练模型文件将存储在 'pretrained' 文件夹中:
bash dataset/prepare/download_model.sh
2.6. 渲染 SMPL 网格(可选)
如果您想渲染生成的动作,需要安装:
sudo sh dataset/prepare/download_smpl.sh
conda install -c menpo osmesa
conda install h5py
conda install -c conda-forge shapely pyrender trimesh mapbox_earcut
3. 快速入门
关于如何使用我们代码的快速入门指南可在 demo.ipynb 中找到。
4. 训练
请注意,对于 kit 数据集,只需设置 '--dataname kit'。
4.1. VQ-VAE
结果保存在 output 文件夹中。
VQ 训练
python3 train_vq.py \
--batch-size 256 \
--lr 2e-4 \
--total-iter 300000 \
--lr-scheduler 200000 \
--nb-code 512 \
--down-t 2 \
--depth 3 \
--dilation-growth-rate 3 \
--out-dir output \
--dataname t2m \
--vq-act relu \
--quantizer ema_reset \
--loss-vel 0.5 \
--recons-loss l1_smooth \
--exp-name VQVAE
4.2. GPT
结果保存在 output 文件夹中。
GPT 训练
python3 train_t2m_trans.py \
--exp-name GPT \
--batch-size 128 \
--num-layers 9 \
--embed-dim-gpt 1024 \
--nb-code 512 \
--n-head-gpt 16 \
--block-size 51 \
--ff-rate 4 \
--drop-out-rate 0.1 \
--resume-pth output/VQVAE/net_last.pth \
--vq-name VQVAE \
--out-dir output \
--total-iter 300000 \
--lr-scheduler 150000 \
--lr 0.0001 \
--dataname t2m \
--down-t 2 \
--depth 3 \
--quantizer ema_reset \
--eval-iter 10000 \
--pkeep 0.5 \
--dilation-growth-rate 3 \
--vq-act relu
5. 评估
5.1. VQ-VAE
VQ 评估
python3 VQ_eval.py \
--batch-size 256 \
--lr 2e-4 \
--total-iter 300000 \
--lr-scheduler 200000 \
--nb-code 512 \
--down-t 2 \
--depth 3 \
--dilation-growth-rate 3 \
--out-dir output \
--dataname t2m \
--vq-act relu \
--quantizer ema_reset \
--loss-vel 0.5 \
--recons-loss l1_smooth \
--exp-name TEST_VQVAE \
--resume-pth output/VQVAE/net_last.pth
5.2. GPT
GPT 评估
我们遵循 text-to-motion 的评估设置,对我们的模型进行了 20 次评估,并报告了平均结果。由于多模态部分需要从同一段文本生成 30 个动作序列,因此评估过程耗时较长。
python3 GPT_eval_multi.py \
--exp-name TEST_GPT \
--batch-size 128 \
--num-layers 9 \
--embed-dim-gpt 1024 \
--nb-code 512 \
--n-head-gpt 16 \
--block-size 51 \
--ff-rate 4 \
--drop-out-rate 0.1 \
--resume-pth output/VQVAE/net_last.pth \
--vq-name VQVAE \
--out-dir output \
--total-iter 300000 \
--lr-scheduler 150000 \
--lr 0.0001 \
--dataname t2m \
--down-t 2 \
--depth 3 \
--quantizer ema_reset \
--eval-iter 10000 \
--pkeep 0.5 \
--dilation-growth-rate 3 \
--vq-act relu \
--resume-trans output/GPT/net_best_fid.pth
6. SMPL 网格渲染
SMPL 网格渲染
你需要输入 npy 文件夹的地址和动作名称。以下是一个示例:
python3 render_final.py --filedir output/TEST_GPT/ --motion-list 000019 005485
7. 致谢
我们感谢以下人员的帮助:
- 公开代码,如 text-to-motion、TM2T、MDM、MotionDiffuse 等。
- Mathis Petrovich、Yuming Du、Yingyi Chen、Dexiong Chen 和 Xuelin Chen 提供的启发性讨论和宝贵反馈。
- Minh Chien Vu 提供的 Hugging Face Space 演示。
8. 变更日志
- 2023年2月19日:添加了 Hugging Face Space 演示,用于骨骼和 SMPL 网格的可视化展示。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备









