让任何照片活起来:隆重推出 LivePortrait,您的开源人工智能动画师
June 04, 2025
LivePortrait
项目简介
LivePortrait是一个开源的PyTorch项目,旨在高效地实现肖像动画制作。它能将静态的人物、猫或狗的肖像照“动”起来,通过一段驱动视频或预设好的动作模板,巧妙地控制拼接和动作重定向,让照片栩栩如生。该项目由快手科技、中国科学技术大学和复旦大学的研究人员共同开发,并持续更新和优化。
使用指南
环境配置
- 克隆代码库:
git clone https://github.com/KwaiVGI/LivePortrait cd LivePortrait
- 创建并激活Conda环境:
conda create -n LivePortrait python=3.10 conda activate LivePortrait
- 安装PyTorch(Linux/Windows需支持CUDA):
首先,查看你的CUDA版本:
nvcc -V
。然后安装对应版本的PyTorch。- 针对CUDA 11.8:
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu118
- 针对CUDA 12.1:
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121
- 其他CUDA版本请参考PyTorch官方网站。
- Windows用户请注意: 将CUDA降级到11.8可能解决与更高版本CUDA的兼容问题。
- 针对CUDA 11.8:
- 安装其他依赖项:
pip install -r requirements.txt
- Apple芯片Mac用户请注意:
(会跳过X-Pose依赖,不支持动物模式。)
pip install -r requirements_macOS.txt
- Apple芯片Mac用户请注意:
下载预训练权重
- 通过HuggingFace下载(推荐):
# !pip install -U "huggingface_hub[cli]" huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
- 使用huggingface镜像(如果HuggingFace无法访问):
# !pip install -U "huggingface_hub[cli]" export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
- 你也可以从Google Drive或百度网盘下载,并将其放在
./pretrained_weights
目录下。
运行推理
人物模式
- 使用默认输入运行:
(Apple芯片Mac用户请使用
python inference.py
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
) - 指定源图像和驱动输入:
# 源图像是图片 python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4 # 源图像是视频 python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d0.mp4
动物模式(仅限Linux/Windows并需配备NVIDIA GPU)
- 编译MultiScaleDeformableAttention OP:
cd src/utils/dependencies/XPose/models/UniPose/ops python setup.py build install cd -
- 运行推理:
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
驱动视频自动裁剪
- 启用自动裁剪:
(调整
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video
--scale_crop_driving_video
或--vy_ratio_crop_driving_video
参数可获得更好效果。)
制作动作模板
- 使用自动生成的
.pkl
文件可加快推理速度并保护隐私:python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d5.pkl # 肖像动画 python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d5.pkl # 肖像视频编辑
Gradio界面
- 人物模式:
# 适用于Linux和Windows python app.py # 适用于Apple芯片Mac PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py
- 动物模式(仅限Linux并需配备NVIDIA GPU):
python app_animals.py
- 加速: 使用
--flag_do_torch_compile
能使后续推理速度提升20-30%(Windows/macOS暂不支持)。python app.py --flag_do_torch_compile
- HuggingFace上也有在线Demo可供体验。
主要功能
- 高效肖像动画: 可让静态的人物、猫和狗的图像动起来。
- 缝合与重定向控制: 对动画过程提供精细化的控制。
- 多种驱动输入: 支持通过视频、图片或预生成的动作模板(.pkl文件)来驱动动画。
- 视频转视频(v2v)编辑: 支持对现有肖像视频进行编辑。
- Gradio界面: 用户友好的网页界面,方便使用和精确编辑肖像。
- 区域控制与图像驱动模式: 提供高级控制和不同的驱动方式。
- 姿态编辑: 可在Gradio界面中编辑源肖像的姿态。
- 自动裁剪: 自动将驱动视频裁剪成1:1比例,并聚焦于头部。
- 隐私保护: 动作模板可以用于保护驱动视频中人物的隐私。
- 跨平台支持: 支持Linux、Windows(需NVIDIA GPU)和Apple芯片Mac。
- 性能优化: 可通过
torch.compile
选项加速推理。
目标用户
- 视频内容创作者: 用于在视频中制作肖像动画。
- 动画师: 可快速生成角色的面部动画。
- 研究人员和开发者: 作为肖像动画、图像/视频生成和面部动画的进一步开发基础。
- 普通爱好者: 对让照片动起来或尝试AI动画感兴趣的个人用户。
- 各大视频平台: 已被快手、抖音、剪映、微信视频号等平台采用。
项目链接
- GitHub代码库: https://github.com/KwaiVGI/LivePortrait
- 项目主页: liveportrait.github.io
- HuggingFace在线演示: https://huggingface.co/spaces/KwaiVGI/LivePortrait
- arXiv论文: arXiv:2407.03168
应用场景
- 社交媒体内容: 从静态图片创建引人入胜的动态头像或短视频片段。
- 市场营销和广告: 从静态图像生成动态角色或虚拟代言人。
- 电影和游戏开发: 快速制作角色面部表情动画的原型。
- 虚拟形象和数字人: 为虚拟会议或模拟场景中的静态形象注入活力。
- 个人使用: 让旧家庭照片或心爱的宠物照片变得鲜活生动。