3D Gaussian Splatting Digital Human
基于 3D Gaussian Splatting 技术的高真实感数字人模型(GaussianAvatars),实现人体运动与音频驱动的同步动画。
项目时间:2024.02 - 至今
公司:北京爱是未来科技有限公司
角色:CV Engineer
技术栈:FLAME, MICA, COLMAP, EasyMoCap, VHAP, BackgroundMattingV2, UniTalker, 3D Gaussian Splatting
项目背景
传统数字人建模依赖 Mesh 渲染,真实感受限于几何精度和材质表现。3D Gaussian Splatting(3DGS)作为一种新兴的辐射场表示方法,以高斯椭球体为基本渲染单元,能够实现电影级画质的实时渲染。本项目将 3DGS 技术应用于数字人重建与驱动,打造高真实感、可实时交互的数字人模型。
技术流程
1. 数据采集与处理
高质量数据是 3DGS 数字人的基础,整个数据处理管线包含以下环节:
- 形状参数提取:通过 MICA 从人脸图像提取 FLAME 形状参数(shape parameters),建立人脸的几何先验
- 相机姿态估计:使用 metrical-tracker 和 COLMAP 获取精确的相机内外参数,确保多视角对齐
- 人体姿态采集:借助 EasyMoCap 和 VHAP 进行无标记点动作捕捉,获取人体关节姿态
- 背景抠除:采用 BackgroundMattingV2 进行高质量前景分割,为高斯训练提供干净的人像区域
2. 模型训练与运动控制
使用 GaussianAvatars 框架进行训练:
- 以 FLAME 表情参数(expression coefficients)和姿态参数(pose parameters)为条件,将高斯基元绑定到参数化人脸模型
- 训练过程中联合优化高斯基元的位置、协方差、颜色和不透明度,同时学习表情驱动的形变场
- 训练完成后,通过输入 FLAME 参数即可实时控制数字人的面部表情和头部姿态
3. 音频驱动动画
为了让数字人"说话",集成了 UniTalker 音频驱动模块:
- UniTalker 从音频信号中提取语音特征,通过 Transformer 网络预测对应的 FLAME 表情系数序列
- 预测的 FLAME 系数输入 GaussianAvatars,即可生成与音频同步的口型和面部动画
- 实现了端到端的"音频 → 表情系数 → 3D 高斯渲染"管线
项目成果
- 实现高保真 3D 数字人重建,渲染画质达到照片级真实感
- 支持 FLAME 参数实时驱动,可生成自然的面部表情和头部运动
- 音频驱动口型同步自然,可用于虚拟主播、数字客服等场景
演示视频
以下是项目效果演示(请在 Halo 后台上传对应视频文件后替换路径):
3D Gaussian Splatting 效果 - 演示 1
3D Gaussian Splatting 效果 - 演示 2
3D Gaussian Splatting 效果 - 演示 3
相关链接
- GaussianAvatars: https://github.com/leo-frank/GaussianAvatars
- FLAME Model: https://flame.is.tue.mpg.de/
- 3D Gaussian Splatting: https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
许可协议:
CC BY 4.0