综合介绍
Thin-Plate-Spline-Motion-Model是一个在CVPR 2022会议上发表的开创性图像动画生成项目。该项目基于薄板样条变换理论,能够将静态图像根据驱动视频实现高质量的动画效果。项目采用端到端的无监督学习框架,特别擅长处理源图像与驱动视频之间存在较大姿态差异的情况。通过创新性地引入薄板样条运动估计技术和多分辨率遮挡蒙版,该模型能够生成更加自然流畅的动画效果。项目不仅开源了完整的代码实现,还提供了预训练模型和在线演示,使得研究人员和开发者能够方便地复现和应用这项技术。
如果公共形象发言人离职怎么办?你可以保留发言人形象图片,然后让其他人录制视频,让发言人图片模仿录制视频的动作生成视频,类似换脸技术。
功能列表
- 静态图像动画化生成
- 支持多种数据集训练(VoxCeleb、TaiChi-HD、TED-talks等)
- 提供预训练模型下载
- 支持Web在线演示(Hugging Face Spaces集成)
- 支持Google Colab在线运行
- 支持多GPU训练
- 提供AVD(Advanced Video Decoder)网络训练功能
- 视频重建评估功能
- 支持Python API调用
- Docker环境支持
使用帮助
1. 环境配置
项目要求Python 3.x环境(推荐Python 3.9),安装步骤如下:
- 克隆项目仓库:
git clone https://github.com/yoyo-nb/Thin-Plate-Spline-Motion-Model.git
cd Thin-Plate-Spline-Motion-Model
- 安装依赖:
pip install -r requirements.txt
2. 数据准备
项目支持多个数据集:
- MGif数据集:参考Monkey-Net项目获取
- TaiChiHD和VoxCeleb数据集:按video-preprocessing指南处理
- TED-talks数据集:遵循MRAA项目指南
预处理数据集下载(以VoxCeleb为例):
# 下载后合并解压
cat vox.tar.* > vox.tar
tar xvf vox.tar
3. 模型训练
基础训练命令:
CUDA_VISIBLE_DEVICES=0,1 python run.py --config config/dataset_name.yaml --device_ids 0,1
AVD网络训练:
CUDA_VISIBLE_DEVICES=0 python run.py --mode train_avd --checkpoint '{checkpoint_folder}/checkpoint.pth.tar' --config config/dataset_name.yaml
4. 视频重建评估
CUDA_VISIBLE_DEVICES=0 python run.py --mode reconstruction --config config/dataset_name.yaml --checkpoint '{checkpoint_folder}/checkpoint.pth.tar'
5. 图像动画演示
提供多种使用方式:
- Jupyter Notebook:使用demo.ipynb
- Python命令行:
CUDA_VISIBLE_DEVICES=0 python demo.py --config config/vox-256.yaml --checkpoint checkpoints/vox.pth.tar --source_image ./source.jpg --driving_video ./driving.mp4
- Web演示:
- 访问Hugging Face Spaces在线演示
- 使用Replicate平台的Web演示
- 通过Google Colab运行
6. 预训练模型获取
提供多个下载源:
- Google Drive
- Yandex Disk
- 百度网盘(提取码:1234)
7. 注意事项
- 建议训练时使用更多数据和更长的训练周期以获得更好效果
- 确保GPU显存充足
- 建议使用预处理后的数据集进行训练