HunyuanVideo-Avatar是腾讯混元推出的多模态扩散Transformer模型,能够生成动态、情感可控的多人物对话视频,提供云原生构建版本,用于生成高质量的音视频驱动的人物动画。

人物图像注入模块

设计人物图像注入模块,替代传统基于叠加的人物条件方案,解决训练与推理阶段的条件不匹配问题,能保证生成视频中人物动作动态自然且特征高度一致。

音频情感模块(AEM)

引入音频情感模块,从情感参考图像中提取情感线索并迁移至目标生成视频,实现细粒度、高精度的情感风格控制,让人物表情与音频情感深度契合。

人脸感知音频适配器(FAA)

提出人脸感知音频适配器,通过潜在级人脸掩码分离音频驱动的人物主体,支持在多人物场景中通过交叉注意力独立注入音频信号,实现多角色对话的自然交互。

生成多种风格的人物

• 输入任意比例和分辨率的多风格人物图像,包括写实、卡通、3D渲染、拟人化等多种类型。

• 支持人像、上半身、全身多尺度生成,能适应不同场景的需求。

生成高动态和情感可控的视频

• 基于简单音频条件,将输入人物图像驱动为高动态视频,生成包含动态前景与背景的场景,能提升画面真实感和自然度。

• 支持根据输入音频控制人物面部情感,能实现情感和音频的同步输出。

动画能力

通过人脸感知音频适配器技术,实现多角色独立音频驱动,支持多人物对话场景的自然动画生成。

HunyuanVideo-Avatar应用场景

电商与直播:生成虚拟主播讲解视频,提高商品的展示效果。

社交媒体内容创作:快速制作个性化动画视频,满足短视频平台对内容生产的需求。

影视与广告制作:辅助多角色对话场景的动画制作,降低实拍成本和实现复杂度。

教育与培训:创建互动性强的教学动画,增强知识传递效果。

系统要求和安装指南

硬件要求

GPU支持:需NVIDIA GPU并启用CUDA,推荐96GB显存显卡以保证生成质量,最低24GB显存可运行但速度较慢。

操作系统:测试环境为Linux系统。

安装步骤

1、克隆仓库

git clone https://github.com/Tencent-Hunyuan/HunyuanVideo-Avatar.git
cd HunyuanVideo-Avatar

2、创建Conda环境

conda create -n HunyuanVideo-Avatar python==3.10.9
conda activate HunyuanVideo-Avatar

3、安装PyTorch及依赖 CUDA 11.8

conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=11.8 -c pytorch -c nvidia

CUDA 12.4

conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.4 -c pytorch -c nvidia

4、安装Pip依赖

python -m pip install -r requirements.txt

5、安装Flash Attention V2(可选,用于加速)

python -m pip install ninja
python -m pip install git+https://github.com/Dao-AILab/[email protected]
Docker部署

CUDA 12.4版本

docker pull hunyuanvideo/hunyuanvideo:cuda_12
docker run -itd --gpus all --init --net=host --uts=host --ipc=host --name hunyuanvideo --security-opt=seccomp=unconfined --ulimit=stack=67108864 --ulimit=memlock=-1 --privileged hunyuanvideo/hunyuanvideo:cuda_12
pip install gradio==3.39.0 diffusers==0.33.0 transformers==4.41.2

CUDA 11.8版本

docker pull hunyuanvideo/hunyuanvideo:cuda_11
docker run -itd --gpus all --init --net=host --uts=host --ipc=host --name hunyuanvideo --security-opt=seccomp=unconfined --ulimit=stack=67108864 --ulimit=memlock=-1 --privileged hunyuanvideo/hunyuanvideo:cuda_11
pip install gradio==3.39.0 diffusers==0.33.0 transformers==4.41.2

推理使用说明

多GPU并行推理(以8 GPU为例)
cd HunyuanVideo-Avatar
export PYTHONPATH=./
export MODEL_BASE="./weights"
checkpoint_path=${MODEL_BASE}/ckpts/hunyuan-video-t2v-720p/transformers/mp_rank_00_model_states.pt
torchrun --nnodes=1 --nproc_per_node=8 --master_port 29605 hymm_sp/sample_batch.py \
 --input 'assets/test.csv' \
 --ckpt ${checkpoint_path} \
 --sample-n-frames 129 \
 --seed 128 \
 --image-size 704 \
 --cfg-scale 7.5 \
 --infer-steps 50 \
 --use-deepcache 1 \
 --flow-shift-eval-video 5.0 \
 --save-path ${OUTPUT_BASEPATH}
单GPU推理
cd HunyuanVideo-Avatar
export PYTHONPATH=./
export MODEL_BASE=./weights
OUTPUT_BASEPATH=./results-single
checkpoint_path=${MODEL_BASE}/ckpts/hunyuan-video-t2v-720p/transformers/mp_rank_00_model_states_fp8.pt
export DISABLE_SP=1 
CUDA_VISIBLE_DEVICES=0 python3 hymm_sp/sample_gpu_poor.py \
 --input 'assets/test.csv' \
 --ckpt ${checkpoint_path} \
 --sample-n-frames 129 \
 --seed 128 \
 --image-size 704 \
 --cfg-scale 7.5 \
 --infer-steps 50 \
 --use-deepcache 1 \
 --flow-shift-eval-video 5.0 \
 --save-path ${OUTPUT_BASEPATH} \
 --use-fp8 \
 --infer-min
低显存推理(启用CPU卸载)
cd HunyuanVideo-Avatar
export PYTHONPATH=./
export MODEL_BASE=./weights
OUTPUT_BASEPATH=./results-poor
checkpoint_path=${MODEL_BASE}/ckpts/hunyuan-video-t2v-720p/transformers/mp_rank_00_model_states_fp8.pt
export CPU_OFFLOAD=1
CUDA_VISIBLE_DEVICES=0 python3 hymm_sp/sample_gpu_poor.py \
 --input 'assets/test.csv' \
 --ckpt ${checkpoint_path} \
 --sample-n-frames 129 \
 --seed 128 \
 --image-size 704 \
 --cfg-scale 7.5 \
 --infer-steps 50 \
 --use-deepcache 1 \
 --flow-shift-eval-video 5.0 \
 --save-path ${OUTPUT_BASEPATH} \
 --use-fp8 \
 --cpu-offload \
 --infer-min
启动Gradio服务
cd HunyuanVideo-Avatar
bash ./scripts/run_gradio.sh