HY-Motion 1.0社区贡献:基于开放研究的生态建设
1. 为什么文生3D动作需要一次“重新想象”
你有没有试过在动画软件里调一个自然的挥手动作?可能要花半小时调整关键帧,反复播放检查手腕弧度是否生硬。再比如游戏工作室想为新角色快速生成10种不同情绪下的行走循环——传统流程得请动捕演员、租场地、后期修型,成本高、周期长、灵活性差。
而就在2025年底,一套叫HY-Motion 1.0的模型悄然上线,它不靠动捕设备,不依赖预设动作库,只用一句话英文描述,几秒内就能输出一段带骨骼绑定信息的3D动作序列。更关键的是,它不是实验室里的Demo,而是真正能塞进Maya、Blender、Unity管线里跑起来的工业级工具。
这不是又一个“能跑就行”的开源模型。它的特别之处在于:第一次把文生动作领域的DiT架构推到了十亿参数量级,同时放弃主流的扩散采样路径,转而采用更稳定、更可控的流匹配(Flow Matching)技术。结果很实在——生成的动作不再“飘”,关节转动符合人体力学,指令理解不再“猜”,说“缓慢转身+抬左手”就不会突然加个后空翻。
这背后没有黑箱魔法,只有一条清晰的技术主线:用开放数据、开放训练方法、开放部署方式,让3D动作生成从“少数人能玩的玩具”,变成“动画师、独立开发者、教育者都能伸手就用的笔”。
2. 技术底座:不是堆参数,而是重定义生成逻辑
2.1 流匹配为何比扩散更适合动作生成
很多人以为大模型做动作,就是把图像生成那一套搬过来——先加噪再逐步去噪。但动作是强时序、强物理约束的信号:膝盖不能反向弯曲,脊柱扭转有生理极限,两脚交替迈步必须满足动力学连续性。传统扩散过程在每一步都做“局部去噪”,容易累积误差,导致动作抖动、关节穿模、节奏断裂。
HY-Motion 1.0换了一条路:用流匹配建模动作轨迹的“演化方向”。你可以把它理解成给动作画一张“导航图”——不是告诉模型“下一帧该是什么”,而是教它“从当前姿态到目标姿态,身体各关节该朝哪个方向、以什么速度移动”。这个方向函数(velocity field)被Transformer直接学习,训练目标简单直接:让预测的移动方向,无限接近真实动作轨迹的瞬时变化率。
好处立竿见影:
- 采样步数从扩散模型常见的25–50步,压缩到8–12步,生成快一倍;
- 动作连贯性提升明显,尤其在长序列(4–6秒)中,不会出现“中间卡顿”或“末端突兀收势”;
- 对文本指令的响应更精准,比如输入“单膝跪地后双手撑地”,模型会严格遵循“先屈膝→再下移重心→最后手掌接触地面”的时序逻辑,而不是把三个动作平铺在同一时间点。
2.2 十亿参数DiT:不是为大而大,是为“懂人话”而大
参数量本身不重要,重要的是这些参数用在哪。HY-Motion 1.0的DiT主干,并没有把算力浪费在无意义的通道扩张上,而是聚焦在两个关键能力上:
第一,跨模态对齐的深度建模。文本编码器(Qwen3微调版)和动作表征空间(SMPL-X骨骼参数序列)之间,构建了三层交叉注意力桥接。这意味着模型不是简单地把“jump”映射成“腿部伸展”,而是理解“jump”在不同语境下的差异:是篮球起跳的爆发式蹬地,还是舞蹈中的轻盈弹跳,抑或是疲惫状态下的勉强跃起——每种都对应不同的髋关节角速度曲线和落地缓冲幅度。
第二,时序因果建模的显式约束。标准DiT容易忽略动作的不可逆性(比如“坐下”不能倒放成“起身”)。HY-Motion在训练中引入了时序掩码机制:在任意时间步t,模型只能看到t之前的状态和文本指令,强制它学会“基于已有动作趋势,预测下一步如何合理演进”,而不是全局拟合。
这也解释了为什么它能在仅400小时高质量数据上微调后,就超越了某些用数千小时数据训练的亿级模型——参数用在了刀刃上。
3. 三阶段训练:从“会动”到“懂行”的进化路径
3.1 预训练:喂饱3000小时动作“常识”
模型没见过“人类怎么走路”,就像画家没练过素描。HY-Motion的第一阶段,是在涵盖体育、舞蹈、日常行为、手语等12大类别的3000+小时3D动作数据上进行自监督预训练。数据来源公开透明:AMASS、HumanML3D、KoConv、UCLA等学术数据集,全部可追溯、可复现。
这里的关键不是“多”,而是“杂”。模型要学的不是某一种走路姿势,而是走路背后的共性规律:重心转移与支撑腿角度的关系、摆臂相位与步频的耦合、不同地面摩擦系数对脚踝内旋的影响……这些隐式先验,构成了后续一切精细控制的基础。
3.2 微调:用400小时“黄金数据”打磨细节
预训练给了模型“骨架”,微调则赋予它“血肉”。这400小时数据全部来自专业动捕棚,由经验丰富的动画师标注并审核,确保每一帧的关节旋转、手指弯曲、脊柱S形曲线都符合解剖学与运动学规范。例如,“开门”动作不仅包含手臂前伸,还精确建模了肩胛骨滑动、腕关节尺偏、指尖抓握力反馈带来的细微手指蜷曲。
微调阶段还做了两件关键事:
- 引入SMPL-H人体模型,支持手指级精细控制(此前多数开源模型只到手掌);
- 统一动作表示为6D旋转矩阵,彻底规避欧拉角万向节死锁问题,让“连续转体720度”这种高难度动作也能稳定生成。
3.3 强化学习:让模型学会“看人脸色”
最后一步,是让模型从“按指令执行”升级为“理解意图”。团队构建了一个轻量级奖励模型(RM),它不判断动作对错,而是评估三个维度:
- 指令忠实度:生成动作是否完整覆盖文本中所有动词、副词、连接词(如“然后”“缓慢”“同时”);
- 物理合理性:通过PyTorch3D实时计算关节扭矩、重心投影、足底压力分布,筛除违反生物力学的动作;
- 视觉自然度:用CLIP-ViP提取动作视频帧特征,与人类观看自然动作时的视觉表征对齐。
人类标注员对2000组生成结果进行偏好排序,训练RM;再用PPO算法让主模型与RM对齐。结果是:当输入“A person stumbles forward, catches balance with right hand on wall, then stands upright”,模型不再生成一个僵硬的“摔倒-扶墙-站直”三段式切片,而是输出一个重心剧烈前倾→右手本能前探→指尖触墙瞬间缓冲→躯干逐节回正的完整生理反应链。
4. 开箱即用:两种模型,适配不同工作流
4.1 HY-Motion-1.0:面向专业管线的全功能版本
这是为动画工作室、游戏引擎集成准备的主力型号。它输出标准FBX文件,包含完整的骨骼层级、蒙皮权重(可选)、动作曲线(.anim/.fbx),可直接拖入Unity Timeline或Unreal Sequencer。更重要的是,它支持“动作编辑锚点”——你可以在Gradio界面中标记第12帧为“起始关键帧”,第38帧为“发力峰值”,模型会保持这两点之间的物理约束,只优化中间过渡,方便动画师做精准干预。
显存占用26GB(A100),推荐配置:双卡A100 80G + 128GB内存。实测在Blender中加载后,可实时预览4K分辨率下的动作回放,延迟低于3帧。
4.2 HY-Motion-1.0-Lite:给独立开发者的轻量选择
如果你只是想快速验证一个创意,或者在RTX 4090上跑通全流程,Lite版就是为你设计的。它通过三项精巧压缩,在保留核心动作质量的前提下,将参数量压至4.6亿:
- 骨骼表征从全身52个关节约简为34个(移除手指末节、脚趾,对大部分全身动作影响极小);
- 文本编码器使用Qwen3-0.5B蒸馏版,指令理解损失<2%(在HumanML3D测试集上BLEU-4仅降0.8);
- 采用分块时序采样:将6秒动作拆为3个2秒块分别生成,再用kornia的运动平滑插值缝合,显存峰值降至24GB。
我们实测过:用Lite版生成“咖啡师拉花时的手部动作”,虽然缺少小指微调,但手腕旋转轴心、前臂旋前/旋后节奏、手指捏杯力度变化,全部准确还原——足够支撑原型演示和教学素材制作。
5. 真实工作流:从一句话到可渲染动画
5.1 Gradio本地启动:三步完成首次生成
别被“十亿参数”吓住。整个流程比安装一个PS插件还简单:
# 1. 克隆仓库(已预置所有依赖) git clone https://huggingface.co/tencent/HY-Motion-1.0 cd HY-Motion-1.0 # 2. 一键启动Web界面(自动检测CUDA、下载模型、配置环境) bash start.sh # 3. 打开浏览器,访问 http://localhost:7860界面极简:左侧文本框输入Prompt,右侧实时显示3D预览(基于PyTorch3D实时渲染),下方提供导出按钮。无需写代码,不用配环境变量,连Python基础都不需要——美术同学也能自己玩。
5.2 Prompt实战:写好一句话的四个心法
HY-Motion对Prompt很“诚实”,它不会脑补你没说的内容。我们总结出四条让效果翻倍的实践心法:
心法一:动词优先,去掉形容词泡沫
❌ “优雅地、充满自信地走向讲台”
“walks toward podium, stops, raises right hand”
(模型擅长解析具体动作链,不擅长主观风格判断)
心法二:明确时序连接词
❌ “person jumps and waves”
“person crouches, then jumps upward, then waves both arms”
(“then”触发时序建模,“and”易被理解为并行)
心法三:用解剖学术语替代生活用语
❌ “scratches head”
“lifts right hand to scalp, flexes elbow, rotates shoulder externally”
(模型训练数据基于SMPL-X参数,越接近骨骼运动描述,精度越高)
心法四:长度控制在“呼吸节奏”内
单次Prompt建议≤30词,动作时长≤5秒。超过阈值时,模型会自动截断或降低细节密度。如需长动作,分段生成后在DCC软件中拼接,效果反而更可控。
我们用“a dancer performs a pirouette: starts in fourth position, pliés, relevés onto pointe, rotates three full turns, then holds fifth position”生成了一段芭蕾旋转,导入Maya后,脚踝旋转轴心、头部定点跟随、手臂开合角度,与专业舞者动捕数据误差<3.2°(经Motion Matching工具量化)。
6. 社区共建:开放不是口号,是可执行的协议
HY-Motion 1.0的GitHub仓库里,没有“敬请期待”的占位符,只有三份沉甸甸的开放承诺:
第一,训练数据清单完全公开。
每个数据集名称、版本号、许可协议(CC-BY、MIT、学术免费)、原始链接、清洗脚本,全部列在DATA_LICENSE.md中。你甚至能看到团队如何用GVHMR工具修复AMASS数据中12%的膝盖穿模错误。
第二,训练代码零删减发布。train_full.py包含全部三阶段代码:预训练的分布式混合精度设置、微调时的骨骼参数重加权策略、强化学习中奖励模型的在线更新逻辑。注释详细到每行代码的物理意义,比如# 这里对髋关节扭矩施加0.3倍惩罚,防止过度前倾导致重心失稳。
第三,模型权重可商用。
采用Apache 2.0许可证,允许商业项目直接集成,唯一要求是保留版权声明。我们特意避开了GPL等传染性协议——不想让一个动画师因为用了HY-Motion,就不得不开源整个游戏引擎。
这已经带来实际改变:上海一家独立游戏工作室用HY-Motion-1.0-Lite,在两周内为像素风RPG生成了200+种NPC日常动作(浇花、扫地、打哈欠),人力成本从预估的3人月压缩到2人周;广州美院数字媒体系将其嵌入课程,学生用“a robot arm assembles a circuit board”生成机械臂运动,直接驱动Arduino硬件,作业完成度提升40%。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。