LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成

1. 准备工作,本地下载代码并准备环境,运行命令前需安装git

1
2
3

git clone https://github.com/KwaiVGI/LivePortrait
cd LivePortrait

2. 安装Anaconda环境

  • Anaconda下载地址
  • 配置Anaconda环境变量
    改成你自己的安装目录
    C:\Users\model\anaconda3
    C:\Users\model\anaconda3\Scripts

1.png

1
conda create -n LivePortrait python=3.9 
1
conda init
1
conda activate LivePortrait

Windows 用这个

1
pip install -r requirements.txt

macOS用这个

1
pip install -r requirements_macOS.txt

注意: 确保您的系统已安装FFmpeg,包括ffmpeg和ffprobe!ffmpeg下载地址

  • 配置环境变量
  • C:\tools\ffmpeg-7.0.1-full_build\bin
  • 验证是否安装成功在CMD命令终端下,输入: ffmpeg -version

3. 下载预训练权重

1
2
3
4
5
6
7

# first, ensure git-lfs is installed, see: https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage
git lfs install
# clone and move the weights
git clone https://huggingface.co/KwaiVGI/LivePortrait temp_pretrained_weights
mv temp_pretrained_weights/* pretrained_weights/
rm -rf temp_pretrained_weights

解压并将它们放在 中./pretrained_weights。确保目录结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

pretrained_weights
├── insightface
│ └── models
│ └── buffalo_l
│ ├── 2d106det.onnx
│ └── det_10g.onnx
└── liveportrait
├── base_models
│ ├── appearance_feature_extractor.pth
│ ├── motion_extractor.pth
│ ├── spade_generator.pth
│ └── warping_module.pth
├── landmark.onnx
└── retargeting_models
└── stitching_retargeting_module.pth

4.使用

1
2
3
4
5
6

# For Linux and Windows
python inference.py

# For macOS with Apple Silicon, Intel not supported, this maybe 20x slower than RTX 4090
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
  • 如果脚本成功运行,你会得到一个名为 的输出mp4文件animations/s6–d0_concat.mp4。此文件包含以下结果:驾驶视频,输入图像或视频,以及生成的结果。

inference.gif

  • 或者可以通过指定-s和参数-d来更改输入
1
2
3
4
5
6
7
8
9

# source input is an image
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4

# source input is a video ✨
python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d0.mp4

# more options to see
python inference.py -h

参照视频自动裁剪

要使用您自己的参照视频,我们建议:

  • 将其裁剪为1:1 的宽高比(例如 512×512 或 256×256 像素),或通过 启用自动裁剪–flag_crop_driving_video。
  • 重点关注头部区域,与示例视频类似。
  • 尽量减少肩部运动。
  • 确保参照视频的第一帧是正面且表情中性。

以下是自动裁剪的案例–flag_crop_driving_video:

1
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加速推理,并保护隐私,例如:

1
2
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d5.pkl # portrait animation
python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d5.pkl # portrait video editing

5. Gradio 可视化界面操作

在Gradio的可视化界面下可以获得更好的体验,适合新手使用,只需运行下面安装代码即可:

1
2
3
4
5
# For Linux and Windows users (and macOS with Intel??)
python app.py

# For macOS with Apple Silicon users, Intel not supported, this maybe 20x slower than RTX 4090
PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py

您可以指定–server_port、、–share参数–server_name来满足您的需求!

🚀 它们还提供了加速选项–flag_do_torch_compile。首次推理会触发优化过程(约一分钟),使后续推理速度提高 20-30%。性能提升可能因 CUDA 版本的不同而有所差异。

注意:Windows 和 macOS 不支持此方法。或者,在HuggingFace上轻松尝试一下🤗

5. 推理速度评估

下方提供了一个脚本来评估每个模块的推理速度:

1
2
# For NVIDIA GPU
python speed.py

当然如果你没有一张好的显卡,无法本地运行,那么可以在huggingface上免费体验:【点击前往】在线使用