<a href='https://github.com/yuange250' target='_blank'>Zhiyuan Chen</a><sup>1</sup> 
<a href='https://github.com/JoeFannie' target='_blank'>Jiajiong Cao</a><sup>1</sup> 
<a href='https://github.com/octavianChen' target='_blank'>Zhiquan Chen</a> 
<a href='https://lymhust.github.io/' target='_blank'>Yuming Li</a><sup>2</sup> 
<a href='https://openreview.net/profile?id=~Chenguang_Ma3' target='_blank'>Chenguang Ma</a><sup>2</sup>
<sup>1</sup>Equal Contribution 
<sup>2</sup>Corresponding Authors
Terminal Technology Department, Alipay, Ant Group.
<a href='https://antgroup.github.io/ai/echomimic/'><img src='https://img.shields.io/badge/Project-Page-blue'></a>
<a href='https://huggingface.co/BadToBest/EchoMimic'><img src='https://img.shields.io/badge/%F0%9F%A4%97%20HuggingFace-Model-yellow'></a>
<a href='https://huggingface.co/spaces/BadToBest/EchoMimic'><img src='https://img.shields.io/badge/%F0%9F%A4%97%20HuggingFace-Demo-yellow'></a>
<a href='https://www.modelscope.cn/models/BadToBest/EchoMimic'><img src='https://img.shields.io/badge/ModelScope-Model-purple'></a>
<a href='https://www.modelscope.cn/studios/BadToBest/BadToBest'><img src='https://img.shields.io/badge/ModelScope-Demo-purple'></a>
<a href='https://arxiv.org/abs/2407.08136'><img src='https://img.shields.io/badge/Paper-Arxiv-red'></a>
(Some demo images above are sourced from image websites. If there is any infringement, we will immediately remove them and apologize.)
git clone https://github.com/BadToBest/EchoMimic
cd EchoMimic
Create conda environment (Recommended):
conda create -n echomimic python=3.8
conda activate echomimic
Install packages with pip
pip install -r requirements.txt
Download and decompress ffmpeg-static, then
export FFMPEG_PATH=/path/to/ffmpeg-4.4-amd64-static
git lfs install
git clone https://huggingface.co/BadToBest/EchoMimic pretrained_weights
The pretrained_weights is organized as follows.
./pretrained_weights/
├── denoising_unet.pth
├── reference_unet.pth
├── motion_module.pth
├── face_locator.pth
├── sd-vae-ft-mse
│ └── ...
├── sd-image-variations-diffusers
│ └── ...
└── audio_processor
└── whisper_tiny.pt
In which denoising_unet.pth / reference_unet.pth / motion_module.pth / face_locator.pth are the main checkpoints of EchoMimic. Other models in this hub can be also downloaded from it's original hub, thanks to their brilliant works: - sd-vae-ft-mse - sd-image-variations-diffusers - audio_processor(whisper)
Run the python inference script:
python -u infer_audio2vid.py
python -u infer_audio2vid_pose.py
Edit the inference config file ./configs/prompts/animation.yaml, and add your own case:
test_cases:
"path/to/your/image":
- "path/to/your/audio"
The run the python inference script:
python -u infer_audio2vid.py
(Firstly download the checkpoints with '_pose.pth' postfix from huggingface)
Edit driver_video and ref_image to your path in demo_motion_sync.py, then run
python -u demo_motion_sync.py
Edit ./configs/prompts/animation_pose.yaml, then run
python -u infer_audio2vid_pose.py
Set draw_mouse=True in line 135 of infer_audio2vid_pose.py. Edit ./configs/prompts/animation_pose.yaml, then run
python -u infer_audio2vid_pose.py
Thanks to the contribution from @Robin021:
python -u webgui.py --server_port=3000
| Status | Milestone | ETA |
|---|---|---|
| ✅ | The inference source code of the Audio-Driven algo meet everyone on GitHub | 9th July, 2024 |
| ✅ | Pretrained models trained on English and Mandarin Chinese to be released | 9th July, 2024 |
| ✅ | The inference source code of the Pose-Driven algo meet everyone on GitHub | 13th July, 2024 |
| ✅ | Pretrained models with better pose control to be released | 13th July, 2024 |
| ✅ | Accelerated models to be released | 17th July, 2024 |
| 🚀 | Pretrained models with better sing performance to be released | TBD |
| 🚀 | Large-Scale and High-resolution Chinese-Based Talking Head Dataset | TBD |
This project is intended for academic research, and we explicitly disclaim any responsibility for user-generated content. Users are solely liable for their actions while using the generative model. The project contributors have no legal affiliation with, nor accountability for, users' behaviors. It is imperative to use the generative model responsibly, adhering to both ethical and legal standards.
We would like to thank the contributors to the FollowYourEmoji, AnimateDiff, Moore-AnimateAnyone and MuseTalk repositories, for their open research and exploration.
We are also grateful to V-Express and hallo for their outstanding work in the area of diffusion-based talking heads.
If we missed any open-source projects or related articles, we would like to complement the acknowledgement of this specific work immediately.
If you find our work useful for your research, please consider citing the paper :
@misc{chen2024echomimic,
title={EchoMimic: Lifelike Audio-Driven Portrait Animations through Editable Landmark Conditioning},
author={Zhiyuan Chen, Jiajiong Cao, Zhiquan Chen, Yuming Li, Chenguang Ma},
year={2024},
eprint={2407.08136},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
$ claude mcp add echomimic \
-- python -m otcore.mcp_server <graph>