TADA! 文本到可动画数字化身
廖婷婷*
·
易宏伟*
·
修宇亮
·
唐嘉祥
·
黄杨毅
·
Justus Thies
·
Michael J. Black
* 贡献相同
3DV 2024
TADA 以文本为输入,生成具有高质量几何形状和纹理的整体可动画 3D 化身。 它能够创建大规模的可用于动画和渲染的数字角色资产,同时还可以通过自然语言轻松编辑。
新闻 (2023.9.24):
- 使用 Omnidata 法线预测模型来改善法线与图像的一致性。
https://github.com/TingtingLiao/TADA/assets/45743512/f626af25-3c5c-4ab5-bbe6-7a85d95af913
https://github.com/TingtingLiao/TADA/assets/45743512/442d6617-3549-48cc-9868-e4fe0c4ba842
安装
- 系统要求:Ubuntu 20.04
- 测试过的 GPU:RTX4090, A100, V100
- 编译器:gcc-7.5 / g++-7.5
- Python=3.9, CUDA=11.5, Pytorch=1.12.1
git clone git@github.com:TingtingLiao/TADA.git
cd TADA
conda env create --file environment.yml
conda activate tada
pip install -r requirements.txt
cd smplx
python setup.py install
# 下载 omnidata 法线和深度预测模型
mkdir data/omnidata
cd data/omnidata
gdown '1Jrh-bRnJEjyMCS7f-WsaFlccfPjJPPHI&confirm=t' # omnidata_dpt_depth_v2.ckpt
gdown '1wNxVO4vVbDEMEpnAi_jwQObf2MFodcBR&confirm=t' # omnidata_dpt_normal_v2.ckpt
数据
- SMPL-X 模型(需要注册,下载 SMPLX_NEUTRAL_2020.npz 并将其放入 ./data/smplx/ 目录)
- TADA 额外数据(必需)解压为 ./data 目录
- TADA 100 个角色(可选)
- 可选动作数据
如果这些项目对您的研究有帮助,请考虑引用 AIST, AIST++, TalkSHOW, MotionDiffusion
@inproceedings{aist-dance-db,
author = {Shuhei Tsuchida and Satoru Fukayama and Masahiro Hamasaki and Masataka Goto},
title = {AIST Dance Video Database: Multi-genre, Multi-dancer, and Multi-camera Database for Dance Information Processing},
booktitle = {Proceedings of the 20th International Society for Music Information Retrieval Conference (ISMIR) },
year = {2019},
month = {Nov}
}
@inproceedings{li2021learn,
title={AI Choreographer: Music Conditioned 3D Dance Generation with AIST++},
author={Ruilong Li and Shan Yang and David A. Ross and Angjoo Kanazawa},
year={2021},
booktitle={ICCV}
}
@inproceedings{yi2023generating,
title={Generating Holistic 3D Human Motion from Speech},
author={Yi, Hongwei and Liang, Hualin and Liu, Yifei and Cao, Qiong and Wen, Yandong and Bolkart, Timo and Tao, Dacheng and Black Michael J},
booktitle={CVPR},
pages={469-480},
month={June},
year={2023}
}
@inproceedings{tevet2023human,
title={Human Motion Diffusion Model},
author={Guy Tevet and Sigal Raab and Brian Gordon and Yoni Shafir and Daniel Cohen-or and Amit Haim Bermano},
booktitle={ICLR},
year={2023},
url={https://openreview.net/forum?id=SJ1kSyO2jwu}
}
使用方法
训练
结果将保存在 $workspace 中。请在 config/*.yaml 文件中更改此设置。
# 单一提示词训练
python -m apps.run --config configs/tada.yaml --text "阿拉丁在阿拉丁"
# 使用 Omnidata 监督
python -m apps.run --config configs/tada_w_dpt.yaml --text "阿拉丁在阿拉丁"
# 多个提示词训练
bash scripts/run.sh data/prompt/fictional.txt 1 10 configs/tada.yaml
动画生成
- 下载 AIST 或从 TalkShow 和 MotionDiffusion 生成动作。
python -m apps.anime --subject "亚伯拉罕·林肯" --res_dir 你的结果路径
小贴士
- 为 SMPL-X 形状使用适当的学习率对于学习准确的形状很重要。
- Omnidata 法线监督可以有效增强整体几何形状和纹理一致性;但是,它需要更多的优化时间。
引用
@inproceedings{liao2024tada,
title={{TADA! Text to Animatable Digital Avatars}},
author={Liao, Tingting and Yi, Hongwei and Xiu, Yuliang and Tang, Jiaxiang and Huang, Yangyi and Thies, Justus and Black, Michael J.},
booktitle={International Conference on 3D Vision (3DV)},
year={2024}
}
相关工作
- HumanNorm:多阶段SDS损失和感知损失可以帮助生成逼真的纹理。
- SemanticBoost:使用TADA的绑定骨骼的虚拟角色来展示生成的动作。
- SignAvatars:使用TADA的绑定骨骼的虚拟角色来展示手语数据。
- GALA:使用TADA的虚拟角色进行资产生成。
许可证
此代码和模型可用于LICENSE(即MIT许可证)中定义的非商业科研目的。 请注意,使用TADA时,您必须注册SMPL-X并同意其LICENSE,这不是MIT许可证,您可以从https://github.com/vchoutas/smplx/blob/main/LICENSE 查看SMPL-X的LICENSE;祝您在自己的应用中探索更多精美虚拟角色的旅程愉快。