告别"恐怖谷"!国产开源SentiAvatar:0.3秒生成6秒动作,让数字人终于有了"灵魂"
3D数字人嘴在动但表情僵硬、手在挥但和说话内容完全脱节——这种"提线木偶"式的违和感正在被终结。国产开源框架SentiAvatar实现了0.3秒生成6秒连贯动作,让数字人真正"活"了起来。
项目简介
SentiAvatar 是由 AI 初创公司 SentiPulse(思维光谱)联合中国人民大学高瓴人工智能学院共同推出的国内首个交互式3D数字人框架,已于2026年4月全球开源。
- GitHub:https://github.com/SentiAvatar/SentiAvatar
- 论文:https://arxiv.org/abs/2604.02908
- 数据集:https://huggingface.co/datasets/Chuhaojin/SuSuInterActs
- 模型权重:https://huggingface.co/Chuhaojin/SentiAvatar
- 项目主页:https://sentiavatar.github.io/
- 许可:开源(具体License见仓库)
为什么需要这个项目?
和3D数字人对话时,你一定经历过这种诡异时刻:
- 嘴在动,但表情像戴了面具
- 手在挥舞,但和说话内容完全脱节
- 动作僵硬重复,看久了陷入"恐怖谷"
问题根源在于:人类沟通从来不只是语言或动作的单一呈现。一个耸肩表达无奈,一个点头传递认同,微微扬起的眉毛暗示怀疑——这些非语言信号是真实交流中不可或缺的关键维度。
传统方案要么只关注语音对口型,要么动作是预设的固定模板,无法做到"语义+节奏"的双重对齐。
SentiAvatar 如何解决这个问题?
核心理念:三层统一
SentiAvatar 认为真正的交互式数字人需要实现三个层次的统一:
生理层(面部肌肉运动)
↓
心理层(情感状态)
↓
行为层(肢体语言)
通过多维度端到端训练,实现自然流畅的情感表达和智能互动。
技术架构:Plan-then-Infill
SentiAvatar 采用了创新的双通道并行架构,将高层语义规划与底层韵律插值解耦:
多模态输入(语音+文本+动作标签)
│
├─ 身体动作通道 ─────────────────┐
│ LLM Motion Planner │
│ (Qwen2-0.5B微调) │
│ → 稀疏关键帧Token │
│ → Body Infill Transformer │
│ (HuBERT音频驱动插帧) │
│ │
├─ 面部表情通道 ─────────────────┤
│ 直接绕过LLM规划 │
│ → Face Infill Transformer │
│ (音频特征→面部Token) │
│ │
└──────────────→ RVQVAE Decoder ←┘
离散Token → 连续动作序列
三阶段流水线:
- Motion VQ-VAE:将连续动作编码为离散Token(4层残差码本,每层512个码字)
- LLM Motion Planner:基于Qwen2-0.5B微调,根据动作标签+音频Token预测稀疏关键帧(每4帧1个)
- Audio-Aware Infill Transformer:用HuBERT音频特征在关键帧间插值,实现与语音节奏的逐帧对齐
数据集:SuSuInterActs
为了解决高质量数据稀缺的问题,团队构建了 SuSuInterActs 数据集:
| 维度 | 数据 |
|---|---|
| 对话片段 | 21,000段 |
| 总时长 | 37小时 |
| 采集方式 | 光学动作捕捉 |
| 帧率 | 20 FPS |
| 关节数 | 63(25身体+20左手+20右手) |
| 面部表情 | ARKit 51维BlendShape |
| 划分 | 训练19K / 验证635 / 测试1479 |
这是中文对话场景下最大的3D数字人高质量动作数据集。
Motion Foundation Model
在预训练阶段,团队在超过20万条异质动作序列上训练通用运动先验,涵盖奥运运动、仿生动作等专项类别,扩展了动作先验的覆盖边界。
性能表现
🏆 刷新SOTA
| 数据集 | 指标 | SentiAvatar | 次优基线 |
|---|---|---|---|
| SuSuInterActs | R@1 | 43.64% | ~22%(接近2倍) |
| BEATv2 | FGD | 4.941 | - |
| BEATv2 | BC | 8.078 | - |
⚡ 实时性能
- 0.3秒生成6秒连贯动作
- 支持无限多轮流式对话
- 动作与语音逐帧同步
快速上手
环境要求
- Python 3.10
- Conda
- GPU(推理需要)
安装步骤
# 克隆项目
git clone https://github.com/SentiAvatar/SentiAvatar.git
cd SentiAvatar
# 创建环境
conda create -n sentiavatar python=3.10 -y
conda activate sentiavatar
# 安装依赖
pip install -r requirements.txt
下载模型权重
# 方式1:使用 git lfs
git lfs install
git clone https://huggingface.co/Chuhaojin/SentiAvatar checkpoints/
# 方式2:使用 huggingface-cli
pip install huggingface_hub
huggingface-cli download Chuhaojin/SentiAvatar --local-dir checkpoints/
数据集下载
# 从 HuggingFace 下载
git lfs install
git clone https://huggingface.co/datasets/Chuhaojin/SuSuInterActs
开源内容清单
SentiAvatar 一口气开源了三样东西:
| 内容 | 说明 | 链接 |
|---|---|---|
| SentiAvatar 框架 | 完整推理代码 + 训练代码 | GitHub |
| SuSu 3D角色模型 | 配套的数字人角色 | GitHub |
| SuSuInterActs 数据集 | 37小时多模态对话数据 | HuggingFace |
团队背景
| 作者 | 机构 |
|---|---|
| 靳楚灏(项目负责人) | 人大高瓴人工智能学院 + SentiPulse |
| 张睿(共同一作) | SentiPulse |
| 高清哲、史浩宇、吴大宇等 | 人大高瓴 / 内蒙古大学 |
| 宋睿华(通讯作者) | 人大高瓴人工智能学院 |
适用场景
- 🎮 游戏NPC:让游戏角色自然对话,告别预设动作循环
- 📺 虚拟主播:实时驱动3D虚拟形象,表情和动作与语音同步
- 🎓 教育培训:创建自然互动的虚拟教师
- 🤖 AI助手:赋予AI可视化的"身体",提升交互体验
- 🎬 影视预览:快速生成角色动作预览
总结
SentiAvatar 的核心贡献可以概括为:
- ✅ 国内首个交互式3D数字人框架,全球开源
- ✅ Plan-then-Infill架构,语义规划与韵律插值解耦
- ✅ 37小时高质量中文数据集,填补行业空白
- ✅ 0.3秒生成6秒动作,实时性能领先
- ✅ 双刷SOTA,R@1接近次优基线2倍
- ✅ 模型+数据集+角色模型全部开源
如果你在做数字人相关的工作,这个项目绝对值得深入研究和使用。
GitHub:https://github.com/SentiAvatar/SentiAvatar ⭐ Star一下!