MegActor-Σ: Unlocking Flexible Mixed-Modal Control in Portrait Animation with Diffusion Transformer
Shurong Yang*, Huadong Li*, Juhao Wu*, Minhao Jing*, Linze Li, Renhe Ji‡, Jiajun Liang‡, Haoqiang Fan
MEGVII Technology
*Equal contribution †Lead this project ‡Corresponding author
https://github.com/user-attachments/assets/5b5b4ac4-67df-4397-9982-5b91e196097a
Diffusion models have demonstrated superior performance in the field of portrait animation. However, current approaches relied on either visual or audio modality to control character movements, failing to exploit the potential of mixed-modal control. This challenge arises from the difficulty in balancing the weak control strength of audio modality and the strong control strength of visual modality.
To address this issue, we introduce MegActor-Σ: a mixed-modal conditional diffusion transformer (DiT), which can flexibly inject audio and visual modality control signals into portrait animation. Specifically, we make substantial advancements over its predecessor, MegActor, by leveraging the promising model structure of DiT and integrating audio and visual conditions through advanced modules within the DiT framework. To further achieve flexible combinations of mixed-modal control signals, we propose a "Modality Decoupling Control" training strategy to balance the control strength between visual and audio modalities, along with the "Amplitude Adjustment" inference strategy to freely regulate the motion amplitude of each modality.
Finally, to facilitate extensive studies in this field, we design several dataset evaluation metrics to filter out public datasets and solely use this filtered dataset to train MegActor-Σ.
Extensive experiments demonstrate the superiority of our approach in generating vivid portrait animations, outperforming previous closed-source methods.
The training code, model checkpoint and filtered dataset will be released, hoping to help further develop the open-source community.
Environments
Detailed environment settings should be found with env_sigma.yml
conda env create -f env_sigma.yml
pip install -U openmim
mim install mmengine mim install "mmcv>=2.0.1" mim install "mmdet>=3.1.0" mim install "mmpose>=1.1.0"
conda install -c conda-forge cudatoolkit-dev -y submodule update detectron2/
Dataset.
Data process pipeline is coming soon.
Pretrained weights
Please find our pretrained weights at https://huggingface.co/HVSiniX/RawVideoDriven. Or simply use
git clone https://huggingface.co/HVSiniX/RawVideoDriven && ln -s RawVideoDriven/weights weights
We support 3-stage training on single node machines.
Stage1(Audio training):
bash train.sh train.py ./configs/train/megactor-sigma/train_stage1.yaml {number of gpus on this node}
Stage2(Visual training):
bash train.sh train.py ./configs/train/megactor-sigma/train_stage2.yaml {number of gpus on this node}
Stage3(Motion training):
bash train.sh train.py ./configs/train/megactor-sigma/train_stage3.yaml {number of gpus on this node}
python eval_audio.py --config configs/inference/megactor-sigma/inference.yaml --output-path ./generated_result/--num-steps 25 --guidance-scale 2 --source {source_path} --driver {driver_path}
Specify source and driver paths in corresponding config file.
python eval_audio.py --config configs/inference/megactor-sigma/inference.yaml --output-path ./generated_result/--num-steps 25 --guidance-scale 2
For gradio interface, please run
python demo/run_gradio.py
@misc{yang2024megactorsigmaunlockingflexiblemixedmodal,
title={MegActor-$\Sigma$: Unlocking Flexible Mixed-Modal Control in Portrait Animation with Diffusion Transformer},
author={Shurong Yang and Huadong Li and Juhao Wu and Minhao Jing and Linze Li and Renhe Ji and Jiajun Liang and Haoqiang Fan and Jin Wang},
year={2024},
eprint={2408.14975},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2408.14975},
}
@misc{yang2024megactor,
title={MegActor: Harness the Power of Raw Video for Vivid Portrait Animation},
author={Shurong Yang and Huadong Li and Juhao Wu and Minhao Jing and Linze Li and Renhe Ji and Jiajun Liang and Haoqiang Fan},
year={2024},
eprint={2405.20851},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Many thanks to the authors of mmengine, MagicAnimate, Controlnet_aux, and Detectron2.
If you have any questions, feel free to open an issue or contact us at yangshurong6894@gmail.com, lihuadong@megvii.com or wujuhao@megvii.com.
If you're seeking an internship and are interested in our work, please send your resume to wujuhao@megvii.com or lihuadong@megvii.com.