说明文档
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打开摄像头进行实时操作。
- 您需要先安装 git,然后双击
- 方式二: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:$PATHmkdir build && cd buildcmake .. -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/onnxruntimegit 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_rootpip 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。
- 请更新到最新代码。Windows 用户可以直接双击
- [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
- 使用 torchgeometry + cuda 优化 paste_back 函数,显著提升速度。示例:
- [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
- 使用 torchgeometry + cuda 优化 paste_back 函数,显著提升速度。示例:
- [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>
- 下载动物 ONNX 文件:
-
使用 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
- Web 使用:
-
- [x] 2024/07/24: Windows 整合包,无需安装,一键运行,支持 TensorRT 和 OnnxruntimeGPU。感谢 @zhanghongyong123456 在这个 issue 中的贡献。
- [可选] 如果您已经在 Windows 电脑上安装了 CUDA 和 cuDNN,请跳过此步骤。我只在 CUDA 12.2 上验证过。如果您还没有安装 CUDA 或遇到 CUDA 相关错误,您需要按照以下步骤操作:
- 从发布页面下载免安装的 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
- 安装 ffmpeg:
- [x] 2024/07/17: 新增 Docker 环境支持,提供可运行的镜像。
warmshao/FasterLivePortrait
作者 warmshao
创建时间: 2024-07-16 17:13:09+00:00
更新时间: 2025-06-29 07:25:19+00:00
在 Hugging Face 上查看