ONNX 模型库
返回模型

说明文档


license: mit

I need to get the README content first. Let me fetch it from HuggingFace. The HuggingFace model README at warmshao/FasterLivePortrait appears to be empty. Let me check if there's a GitHub repository with the actual README content.

FasterLivePortrait:实时让肖像动起来!

<a href="README.md">English</a> | <a href="README_ZH.md">中文</a>

原始仓库:LivePortrait,感谢作者的分享

新功能:

  • 使用 TensorRT 在 RTX 3090 GPU 上实现了 LivePortrait 的实时运行,速度达到 30+ FPS。这是渲染单帧的速度,包括预处理和后处理,而不仅仅是模型推理速度。
  • 无缝支持原生 gradio 应用,速度提升数倍,并支持多人脸同时推理和动物模型。
  • 新增对 JoyVASA 的支持,可以使用音频驱动视频或图片。

如果您觉得这个项目有用,请给它一个 star ✨✨

演示(探索更多功能)

  • 有人想要这个吗?欢迎联系我。

<video src="https://github.com/user-attachments/assets/554c37fc-d098-4938-a638-1660d85d222e" controls="controls" width="500" height="300">您的浏览器不支持播放该视频!</video>

  • 文本驱动视频,基于 kokoro-82M:

<video src="https://github.com/user-attachments/assets/04e962e2-6c57-4d01-ae4a-2f6d2d501c5a" controls="controls" width="500" height="300">您的浏览器不支持播放该视频!</video>

  • 音频驱动视频(实时):

<video src="https://github.com/user-attachments/assets/98bb5ff7-0796-42db-9d7b-e04ddd2c3c14" controls="controls" width="500" height="300">您的浏览器不支持播放该视频!</video>

  • 动物驱动:

<video src="https://github.com/user-attachments/assets/dada0a92-593a-480b-a034-cbcce16e38b9" controls="controls" width="500" height="300">您的浏览器不支持播放该视频!</video>

  • 多人脸同时驱动:

<video src="https://github.com/KwaiVGI/LivePortrait/assets/138360003/b37de35d-6feb-4100-b73f-58ac23121483" controls="controls" width="500" height="300">您的浏览器不支持播放该视频!</video>

环境配置

  • 方式一(推荐):如果您是 Windows 用户,可以直接下载整合包。
    • 您需要先安装 git,然后双击 update.bat 更新代码。
    • 双击 scripts/all_onnx2trt.bat 将 onnx 文件转换为 tensorrt 文件。
    • 双击 webui.bat 打开网页,或双击 camera.bat 打开摄像头进行实时操作。
  • 方式二:Docker。提供了 Docker 镜像,无需手动安装 onnxruntime-gpu 和 TensorRT。
    • 根据您的系统安装 Docker
    • 下载镜像:docker pull shaoguo/faster_liveportrait:v3
    • 执行命令,将 $FasterLivePortrait_ROOT 替换为您下载 FasterLivePortrait 的本地目录:
    docker run -it --gpus=all \
    --name faster_liveportrait \
    -v $FasterLivePortrait_ROOT:/root/FasterLivePortrait \
    --restart=always \
    -p 9870:9870 \
    shaoguo/faster_liveportrait:v3 \
    /bin/bash
    
  • 方式三:创建新的 Python 虚拟环境并手动安装必要的 Python 包。
    • 首先,安装 ffmpeg
    • 运行 pip install -r requirements.txt
    • 然后按照下面的教程安装 onnxruntime-gpu 或 TensorRT。注意这仅在 Linux 系统上测试过。

使用方法

1. TensorRT 推理(推荐)

  • (Docker 中可忽略)安装 TensorRT 8.x(版本 >=10.x 不兼容)。记住 TensorRT 的安装路径。
  • (Docker 中可忽略)安装 grid_sample TensorRT 插件,因为模型使用需要 5D 输入的 grid sample,原生 grid_sample 算子不支持。
    • git clone https://github.com/SeanWangJS/grid-sample3d-trt-plugin
    • 将 CMakeLists.txt 中第 30 行修改为:set_target_properties(${PROJECT_NAME} PROPERTIES CUDA_ARCHITECTURES "60;70;75;80;86")
    • export PATH=/usr/local/cuda/bin:$PATH
    • mkdir build && cd build
    • cmake .. -DTensorRT_ROOT=$TENSORRT_HOME,将 $TENSORRT_HOME 替换为您自己的 TensorRT 根目录。
    • make,记住 .so 文件的地址,将 scripts/onnx2trt.py 和 src/models/predictor.py 中的 /opt/grid-sample3d-trt-plugin/build/libgrid_sample_3d_plugin.so 替换为您自己的 .so 文件路径
  • 下载 ONNX 模型文件:huggingface-cli download warmshao/FasterLivePortrait --local-dir ./checkpoints。将所有 ONNX 模型转换为 TensorRT,运行 sh scripts/all_onnx2trt.sh 和 sh scripts/all_onnx2trt_animal.sh
  • 使用 tensorrt 测试流程:
     python run.py \
     --src_image assets/examples/source/s10.jpg \
     --dri_video assets/examples/driving/d14.mp4 \
     --cfg configs/trt_infer.yaml
    
  • 使用摄像头实时运行:
     python run.py \
     --src_image assets/examples/source/s10.jpg \
     --dri_video 0 \
     --cfg configs/trt_infer.yaml \
     --realtime
    

2. Onnxruntime 推理

  • 首先,下载转换后的 onnx 模型文件:huggingface-cli download warmshao/FasterLivePortrait --local-dir ./checkpoints。
  • (Docker 中可忽略)如果您想使用 onnxruntime cpu 推理,只需 pip install onnxruntime。但是,cpu 推理非常慢,不推荐使用。最新的 onnxruntime-gpu 仍然不支持 grid_sample cuda,但我找到了一个支持的分支。按照以下步骤从源码安装 onnxruntime-gpu:
    • git clone https://github.com/microsoft/onnxruntime
    • git checkout liqun/ImageDecoder-cuda。感谢 liqun 提供的 grid_sample cuda 实现!
    • 运行以下命令进行编译,根据您的机器修改 cuda_version 和 CMAKE_CUDA_ARCHITECTURES(您的 cuDNN 版本必须是 8.x,9.x 不兼容):
    ./build.sh --parallel \
    --build_shared_lib --use_cuda \
    --cuda_version 11.8 \
    --cuda_home /usr/local/cuda --cudnn_home /usr/local/cuda/ \
    --config Release --build_wheel --skip_tests \
    --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES="60;70;75;80;86" \
    --cmake_extra_defines CMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc \
    --disable_contrib_ops \
    --allow_running_as_root
    
    • pip install build/Linux/Release/dist/onnxruntime_gpu-1.17.0-cp310-cp310-linux_x86_64.whl
  • 使用 onnxruntime 测试流程:
      python run.py \
     --src_image assets/examples/source/s10.jpg \
     --dri_video assets/examples/driving/d14.mp4 \
     --cfg configs/onnx_infer.yaml
    

Gradio WebUI

  • onnxruntime:python webui.py --mode onnx
  • tensorrt:python webui.py --mode trt
  • 默认端口是 9870。打开网页:http://localhost:9870/

摄像头模式快捷键(当渲染窗口获得焦点时)
Q > 退出
S > 拼接
Z > 相对运动
X > 动画区域
C > 裁剪驱动视频
K,L > 调整源图像缩放
N,M > 调整驱动视频缩放

许可证

  • 代码:本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
  • 模型:本项目中使用的任何机器学习模型均受其各自许可证的约束。请参阅原始模型来源以获取许可证信息。我们不对模型许可证合规性承担责任。

更新日志

  • [x] 2025/06/29: LivePortrait animal v1.1 onnx 模型已发布。可从此处下载。
  • [x] 2024/12/22: 添加 API 部署 python api.py,更多信息请参考教程。
  • [x] 2024/12/21: 新增对 Kokoro-82M 的支持,实现文本驱动视频或图片生成。
    • 更新代码:git pull origin master 并安装最新的 Python 依赖 pip install requirements.txt,或在 Windows 上直接双击 update.bat。
    • 下载模型:huggingface-cli download hexgrad/Kokoro-82M --local-dir .\checkpoints\Kokoro-82M。
    • Linux 系统,安装 espeak-ng:apt-get -qq -y install espeak-ng > /dev/null 2>&1
    • Windows 系统,请参考手动安装说明并配置 espeak-ng 环境变量。当前读取位置在这里;如果您的安装路径不同,请修改。
    • 现在您可以在"Drive Text"标签页中正常使用。
  • [x] 2024/12/16: 新增对 JoyVASA 的支持,可以使用音频驱动视频或图片。非常酷!
  • 更新代码,然后下载模型:huggingface-cli download TencentGameMate/chinese-hubert-base --local-dir .\checkpoints\chinese-hubert-base 和 huggingface-cli download jdh-algo/JoyVASA --local-dir ./checkpoints/JoyVASA
  • 启动 webui 后,按照下面的教程操作。当源文件是视频时,建议只驱动嘴部动作

<video src="https://github.com/user-attachments/assets/42fb24be-0cde-4138-9671-e52eec95e7f5" controls="controls" width="500" height="400">您的浏览器不支持播放该视频!</video>

  • [x] 2024/12/14: 新增 pickle 和图片驱动,以及区域驱动 animation_region。
    • 请更新到最新代码。Windows 用户可以直接双击 update.bat 更新,但请注意您的本地代码将被覆盖。
    • 运行 python run.py 现在会自动将对应的 pickle 保存到驱动视频的同一目录,方便直接复用。
    • 打开 webui 后,您可以体验新的 pickle 和图片驱动,以及区域驱动 animation_region 功能。注意对于图片驱动,记得禁用 relative motion。
  • [x] 2024/08/11: 优化 paste_back 速度并修复了一些 bug。
    • 使用 torchgeometry + cuda 优化 paste_back 函数,显著提升速度。示例:python run.py --src_image assets/examples/source/s39.jpg --dri_video assets/examples/driving/d0.mp4 --cfg configs/trt_infer.yaml --paste_back --animal
    • 修复了 Xpose ops 在某些 GPU 上导致错误的问题和其他 bug。请使用最新的 docker 镜像:docker pull shaoguo/faster_liveportrait:v3
  • [x] 2024/08/11: 优化 paste_back 速度并修复了一些 bug。
    • 使用 torchgeometry + cuda 优化 paste_back 函数,显著提升速度。示例:python run.py --src_image assets/examples/source/s39.jpg --dri_video assets/examples/driving/d0.mp4 --cfg configs/trt_infer.yaml --paste_back --animal
    • 修复了 Xpose ops 在某些 GPU 上导致错误的问题和其他 bug。请使用最新的 docker 镜像:docker pull shaoguo/faster_liveportrait:v3
  • [x] 2024/08/07: 新增动物模型和 MediaPipe 模型支持,您不再需要担心版权问题。
    • 新增动物模型支持。

      • 下载动物 ONNX 文件:huggingface-cli download warmshao/FasterLivePortrait --local-dir ./checkpoints,然后将其转换为 TRT 格式。
      • 更新 Docker 镜像:docker pull shaoguo/faster_liveportrait:v3。使用动物模型:python run.py --src_image assets/examples/source/s39.jpg --dri_video 0 --cfg configs/trt_infer.yaml --realtime --animal
      • Windows 用户可以从发布页面下载最新的 Windows 整合包,解压后使用。
      • 简单使用教程:

      <video src="https://github.com/user-attachments/assets/dc37e2dd-551a-43b0-8929-fc5d5fe16ec5" controls="controls" width="500" height="300">您的浏览器不支持播放该视频!</video>

    • 使用 MediaPipe 模型替代 InsightFace

      • Web 使用:python webui.py --mode trt --mp 或 python webui.py --mode onnx --mp
      • 本地摄像头使用:python run.py --src_image assets/examples/source/s12.jpg --dri_video 0 --cfg configs/trt_mp_infer.yaml
  • [x] 2024/07/24: Windows 整合包,无需安装,一键运行,支持 TensorRT 和 OnnxruntimeGPU。感谢 @zhanghongyong123456 在这个 issue 中的贡献。
    • [可选] 如果您已经在 Windows 电脑上安装了 CUDA 和 cuDNN,请跳过此步骤。我只在 CUDA 12.2 上验证过。如果您还没有安装 CUDA 或遇到 CUDA 相关错误,您需要按照以下步骤操作:
      • 下载 CUDA 12.2,双击 exe 按照默认设置逐步安装。
      • 下载 cuDNN zip 文件,解压后将 cuDNN 文件夹中的 lib、bin 和 include 文件夹复制到 CUDA 12.2 文件夹(默认为 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2)
    • 从发布页面下载免安装的 Windows 整合包并解压。
    • 进入 FasterLivePortrait-windows 并双击 scripts/all_onnx2trt.bat 转换 onnx 文件,这需要一些时间。
    • Web 演示:双击 webui.bat,打开网页:http://localhost:9870/
    • 实时摄像头操作,双击 camera.bat,按 q 停止。如果要更改目标图片,在命令行运行:camera.bat assets/examples/source/s9.jpg
  • [x] 2024/07/18: 新增 macOS 支持(无需 Docker,Python 即可)。M1/M2 芯片更快,但仍然比较慢 😟
    • 安装 ffmpeg:brew install ffmpeg
    • 设置 Python 3.10 虚拟环境。推荐使用 miniforge:conda create -n flip python=3.10 && conda activate flip
    • 安装依赖:pip install -r requirements_macos.txt
    • 下载 ONNX 文件:huggingface-cli download warmshao/FasterLivePortrait --local-dir ./checkpoints
    • 测试:python webui.py --mode onnx
  • [x] 2024/07/17: 新增 Docker 环境支持,提供可运行的镜像。

warmshao/FasterLivePortrait

作者 warmshao

↓ 0 ♥ 21

创建时间: 2024-07-16 17:13:09+00:00

更新时间: 2025-06-29 07:25:19+00:00

在 Hugging Face 上查看

文件 (31)

.gitattributes
README.md
liveportrait_animal_onnx/appearance_feature_extractor.onnx ONNX
liveportrait_animal_onnx/clip_embedding_68.pkl
liveportrait_animal_onnx/clip_embedding_9.pkl
liveportrait_animal_onnx/motion_extractor.onnx ONNX
liveportrait_animal_onnx/stitching.onnx ONNX
liveportrait_animal_onnx/stitching_eye.onnx ONNX
liveportrait_animal_onnx/stitching_lip.onnx ONNX
liveportrait_animal_onnx/warping_spade-fix.onnx ONNX
liveportrait_animal_onnx/warping_spade.onnx ONNX
liveportrait_animal_onnx/xpose.pth
liveportrait_animal_onnx_v1.1/appearance_feature_extractor-v1.1.onnx ONNX
liveportrait_animal_onnx_v1.1/motion_extractor-v1.1.onnx ONNX
liveportrait_animal_onnx_v1.1/stitching-v1.1.onnx ONNX
liveportrait_animal_onnx_v1.1/stitching_eye-v1.1.onnx ONNX
liveportrait_animal_onnx_v1.1/stitching_lip-v1.1.onnx ONNX
liveportrait_animal_onnx_v1.1/warping_spade-fix-v1.1.onnx ONNX
liveportrait_onnx/appearance_feature_extractor.onnx ONNX
liveportrait_onnx/face_2dpose_106_static.onnx ONNX
liveportrait_onnx/grid_sample_3d_plugin.dll
liveportrait_onnx/landmark.onnx ONNX
liveportrait_onnx/libgrid_sample_3d_plugin.so
liveportrait_onnx/motion_extractor.onnx ONNX
liveportrait_onnx/onnxruntime_gpu-1.17.0-cp310-cp310-win_amd64.whl
liveportrait_onnx/retinaface_det_static.onnx ONNX
liveportrait_onnx/stitching.onnx ONNX
liveportrait_onnx/stitching_eye.onnx ONNX
liveportrait_onnx/stitching_lip.onnx ONNX
liveportrait_onnx/warping_spade-fix.onnx ONNX
liveportrait_onnx/warping_spade.onnx ONNX