LivePortrait
LivePortrait 是一款高效的人像动画生成工具,旨在让静态照片“活”起来。只需提供一张人像照片和一段驱动视频(或动作序列),它就能精准捕捉面部表情与头部姿态,将其自然迁移到目标照片上,生成逼真流畅的动态视频。
该工具主要解决了传统人像动画中常见的画面撕裂、表情僵硬及身份特征丢失等痛点。通过创新的“拼接(Stitching)”与“重定向(Retargeting)”控制技术,LivePortrait 能在保持人物原有外貌特征的同时,实现细腻的微表情还原和大幅度的头部运动,甚至支持猫、狗等动物形象的生动演绎。
无论是希望快速制作趣味视频的普通用户、需要素材灵感的创作者与设计师,还是从事计算机视觉研究的开发者,都能从中受益。项目不仅提供了开箱即用的 Windows 一键安装包和在线演示,降低了使用门槛,其开源代码也为技术人员提供了深入的二次开发空间。凭借在效率与画质上的卓越平衡,LivePortrait 已成为快手、抖音等多个主流视频平台背后的技术支持之一,是探索数字人动画领域的优秀选择。
使用场景
某短视频内容创作者希望将一张已故亲人的静态老照片制作成动态视频,用于家族纪念仪式上的温情展示。
没有 LivePortrait 时
- 需要聘请专业特效师进行逐帧手绘或使用昂贵的商业软件,制作成本高达数千元且周期长达一周。
- 传统驱动方法容易导致面部扭曲、五官错位,尤其是在头部转动时,背景与人物边缘会出现明显的撕裂感。
- 难以精细控制表情幅度,往往出现笑容僵硬或眼神呆板的情况,无法还原亲人自然的神态。
- 对非人类角色(如家中的宠物猫狗)完全无能为力,无法实现跨物种的肖像动画生成。
使用 LivePortrait 后
- 创作者只需在本地运行一键安装包,上传照片和一段驱动视频,几分钟内即可免费生成高质量动态效果。
- 凭借独特的拼接(Stitching)技术,即使头部大幅转动,背景依然稳定清晰,人物边缘过渡自然无伪影。
- 通过重定向(Retargeting)控制功能,可精准微调眉眼嘴角的运动幅度,让逝者重现温和自然的微笑。
- 直接调用更新的动物模型,轻松让老照片中的宠物也“活”过来,摇头摆尾,极大丰富了纪念视频的情感维度。
LivePortrait 将高门槛的专业肖像动画技术转化为普通人可用的创作工具,让静态记忆以极低成本焕发鲜活生命力。
运行环境要求
- Linux
- Windows
- macOS (Apple Silicon)
- 人类模式:macOS Apple Silicon 可使用 MPS,Linux/Windows 推荐 NVIDIA GPU
- 动物模式:必需 NVIDIA GPU
- CUDA 版本推荐 11.8 或 12.1(Windows 高版本 CUDA 如 12.4+ 可能不稳定),未明确具体显存大小要求
未说明

快速开始
LivePortrait:基于拼接与重定向控制的高效人像动画
🔥 更新
2025/06/01: 🌍 过去一年里,LivePortrait 已经🚀成为各大视频平台(如快手、抖音、剪映、微信视频号)以及众多初创公司和创作者广泛采用的高效人像动画解决方案。🎉2025/01/01: 🐶 我们更新了动物模型的新版本,使用了更多数据,详情请见这里。2024/10/18: ❗ 我们已更新transformers和gradio库的版本,以避免安全漏洞。详细信息请见此处。2024/08/29: 📦 我们更新了 Windows 一键安装包,并支持自动更新,详情请见变更日志。2024/08/19: 🖼️ 我们新增了图像驱动模式和区域控制功能。详情请见这里。2024/08/06: 🎨 我们在 Gradio 界面中支持精确的人像编辑功能,灵感来源于 ComfyUI-AdvancedLivePortrait。详情请见这里。2024/08/05: 📦 Windows 用户现在可以下载适用于人类模式和动物模式的一键安装包!详情请见这里。2024/08/02: 😸 我们发布了动物模型版本,并伴随多项更新和改进。详情请见这里!2024/07/25: 📦 Windows 用户现在可以从 HuggingFace 下载安装包。只需解压并双击run_windows.bat即可开始使用!2024/07/24: 🎨 我们在 Gradio 界面中支持对源人像进行姿态编辑。同时,我们降低了默认检测阈值以提高召回率。尽情体验吧!2024/07/19: ✨ 我们新增了🎥 **人像视频编辑(即 v2v)**功能!更多内容请见这里。2024/07/17: 🍎 我们支持搭载 Apple Silicon 芯片的 macOS 系统,该实现基于 jeethu 的 PR #143 修改而成。2024/07/10: 💪 我们新增了音视频拼接、视频自动裁剪以及模板制作等功能,以保护用户隐私。更多细节请见这里。2024/07/09: 🤗 我们上线了 HuggingFace Space,感谢 HF 团队和 Gradio 的支持!2024/07/04: 😊 我们发布了推理代码和模型的初始版本。后续将持续更新,敬请关注!2024/07/04: 🔥 我们同时发布了项目主页以及在 arXiv 上的技术报告。
简介 📖
本仓库名为 LivePortrait,包含了我们论文《LivePortrait:基于拼接与重定向控制的高效人像动画》(https://arxiv.org/pdf/2407.03168)的官方 PyTorch 实现。 我们正在积极维护和改进此仓库。如果您发现任何问题或有改进建议,欢迎提出 issue 或提交 pull request (PR) 💖。
快速入门 🏁
1. 克隆代码并准备环境 🛠️
[!提示] 请确保您的系统已安装
git、conda和FFmpeg。有关 FFmpeg 的安装详情,请参阅 如何安装 FFmpeg。
git clone https://github.com/KlingTeam/LivePortrait
cd LivePortrait
# 使用 conda 创建环境
conda create -n LivePortrait python=3.10
conda activate LivePortrait
对于 Linux 🐧 或 Windows 🪟 用户
Animals 模式所需的依赖库 X-Pose 需要单独安装。如果您仅想运行 Humans 模式,则 检查 CUDA 版本 这一步骤是 可选 的。
检查 CUDA 版本
首先,通过以下命令检查当前的 CUDA 版本:
nvcc -V # 示例版本:11.1、11.8、12.1 等。
然后,根据 CUDA 版本安装对应的 PyTorch 版本。以下是不同 CUDA 版本的示例。如果您的 CUDA 版本未列出,请访问 PyTorch 官方网站获取安装命令:
# 对于 CUDA 11.1
pip install torch==1.10.1+cu111 torchvision==0.11.2 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
# 对于 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
# ...
注意:在 Windows 系统上,某些较高版本的 CUDA(如 12.4、12.6 等)可能会导致未知问题。为了稳定性,您可以考虑将 CUDA 降级至 11.8 版本。请参考 @dimitribarbot 提供的 降级指南。
最后,安装剩余的依赖项:
pip install -r requirements.txt
对于搭载 Apple Silicon 的 macOS 用户
X-Pose 依赖库不支持 macOS,因此可以跳过其安装。Humans 模式仍可正常使用,但 Animals 模式则不受支持。请使用为搭载 Apple Silicon 的 macOS 准备的依赖文件:
# 对于搭载 Apple Silicon 的 macOS 用户
pip install -r requirements_macOS.txt
2. 下载预训练权重 📥
下载预训练权重最简单的方式是从 HuggingFace 获取:
# !pip install -U "huggingface_hub[cli]"
huggingface-cli download KlingTeam/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
如果您无法访问 HuggingFace,可以使用 hf-mirror 来下载:
# !pip install -U "huggingface_hub[cli]"
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download KlingTeam/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
或者,您也可以从 Google Drive 或 Baidu Yun 下载所有预训练权重。解压后将其放入 ./pretrained_weights 目录中。
请确保目录结构与 此处 一致或包含该结构。
3. 推理 🚀
快速上手(人类) 👤
# 对于 Linux 和 Windows 用户
python inference.py
# 对于搭载 Apple Silicon 的 macOS 用户(尚未测试 Intel 版本)。注意:这可能比 RTX 4090 慢 20 倍
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
如果脚本成功运行,您将得到一个名为 animations/s6--d0_concat.mp4 的输出 MP4 文件。该文件包含驱动视频、输入图像或视频以及生成的结果。
您也可以通过指定 -s 和 -d 参数来更改输入:
# 输入源为一张图片
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
# 更多选项请查看
python inference.py -h
快速上手(动物) 🐱🐶
Animals 模式仅在配备 NVIDIA 显卡的 Linux 和 Windows 系统上经过测试。
您需要先构建一个名为 MultiScaleDeformableAttention 的 OP(如有需要,请参考 检查 CUDA 版本),该 OP 由通用关键点检测框架 X-Pose 使用。
cd src/utils/dependencies/XPose/models/UniPose/ops
python setup.py build install
cd - # 等同于 cd ../../../../../../../
然后:
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
如果脚本成功运行,您将得到一个名为 animations/s39--wink_concat.mp4 的输出 MP4 文件。
自动裁剪驱动视频 📢📢📢
[!重要提示] 如果您想使用自己的驱动视频,我们 建议:⬇️
- 将其裁剪为 1:1 的宽高比例(例如 512x512 或 256x256 像素),或启用自动裁剪功能
--flag_crop_driving_video。- 聚焦于头部区域,类似于示例视频。
- 尽量减少肩膀的移动。
- 确保驱动视频的第一帧是正面人脸,且表情 中性。
以下是使用 --flag_crop_driving_video 进行自动裁剪的示例:
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 # 人像视频编辑
4. Gradio 界面 🤗
我们还提供了一个基于 Gradio 的界面,以提升用户体验。只需运行以下命令即可启动:
# 对于 Linux 和 Windows 用户(以及搭载 Intel 的 macOS??)
python app.py # humans 模式
# 对于使用 Apple Silicon 的 macOS 用户,不支持 Intel 芯片,这可能会比 RTX 4090 慢 20 倍
PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py # 人类模式
我们还提供了动物模式的 Gradio 界面,该界面仅在配备 NVIDIA 显卡的 Linux 系统上进行了测试:
python app_animals.py # 动物模式 🐱🐶
您可以指定 --server_port、--share 和 --server_name 参数来满足您的需求!
🚀 我们还提供了一个加速选项 --flag_do_torch_compile。首次推理会触发优化过程(大约一分钟),从而使后续推理速度提升 20% 到 30%。性能提升效果可能因不同的 CUDA 版本而异。
# 启用 torch.compile 以加快推理速度
python app.py --flag_do_torch_compile
注意:此方法不适用于 Windows 和 macOS。
或者,您也可以在 HuggingFace 上轻松体验 🤗
5. 推理速度评估 🚀🚀🚀
我们还提供了一个脚本来评估每个模块的推理速度:
# 适用于 NVIDIA 显卡
python speed.py
结果请见 这里。
社区资源 🤗
探索由社区贡献的宝贵资源,以提升您的 LivePortrait 使用体验。
社区开发的项目
| 仓库 | 描述 | 作者 / 链接 |
|---|---|---|
| ditto-talkinghead | 实时音频驱动的说话头。 | ArXiv, 主页 |
| FasterLivePortrait | 使用 TensorRT 的更快实时版本。 | @warmshao |
| AdvancedLivePortrait-WebUI | 基于 Gradio 的专用 WebUI,源自 ComfyUI-AdvancedLivePortrait。 | @jhj0517 |
| FacePoke | 一款实时头部变换应用,可通过鼠标控制! | @jbilcke-hf |
| FaceFusion | FaceFusion 3.0 将 LivePortrait 集成为 expression_restorer 和 face_editor 处理器。 |
@henryruhs |
| sd-webui-live-portrait | LivePortrait 的 WebUI 扩展,在原 Stable Diffusion WebUI 中添加标签页,以利用 LivePortrait 的功能。 | @dimitribarbot |
| ComfyUI-LivePortraitKJ | 一个用于使用 LivePortrait 的 ComfyUI 节点,使用 MediaPipe 替代 Insightface。 | @kijai |
| ComfyUI-AdvancedLivePortrait | 一个更快的 ComfyUI 节点,具有实时预览功能,启发了许多其他社区开发的工具和项目。 | @PowerHouseMan |
| comfyui-liveportrait | 一个用于使用 LivePortrait 的 ComfyUI 节点,支持多人脸、表情插值等功能,并配有教程。 | @shadowcz007 |
试用平台、HuggingFace Spaces 及其他
- FacePoke Space
- Expression Editor Space
- Expression Editor Replicate
- Face Control 实时演示 在 FAL 上
- Replicate Playground
- Nuke 可以通过 CompyUI 节点使用 LivePortrait,详情请见 这里
- LivePortrait 也在 Poe 上运行。
视频教程
- LivePortrait 视频转视频工作流程 由 @curiousrefuge 制作
- Google Colab 教程 由 @Planet Ai 制作
- 论文解读 由 @TwoMinutePapers 制作
- ComfyUI Advanced LivePortrait 由 TutoView 制作
- LivePortarit 探索 和 深入 LivePortrait 由 TheoreticallyMedia 制作
- LivePortrait 实操教程 由 @AI Search 制作
- ComfyUI 教程 由 @Sebastian Kamph 制作
- BiliBili 上的教程
此外,我们的社区还有许多令人惊叹的贡献,多到无法一一列举 💖
致谢 💐
我们衷心感谢 FOMM、Open Facevid2vid、SPADE、InsightFace 和 X-Pose 项目的贡献者们,感谢他们开放的研究成果和无私的贡献。
伦理考量 🛡️
肖像动画技术伴随着社会风险,尤其是可能被滥用于制作深度伪造内容。为降低这些风险,遵循伦理准则并采取负责任的使用方式至关重要。目前,合成结果中存在一些视觉伪影,有助于识别深度伪造。请注意,我们不对使用本项目生成的结果承担任何法律责任。
引用 💖
如果您发现 LivePortrait 对您的项目或研究有所帮助,请为本仓库点赞并使用以下 BibTeX 格式引用我们的工作:
@article{guo2024liveportrait,
title = {LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control},
author = {Guo, Jianzhu and Zhang, Dingyun and Liu, Xiaoqiang and Zhong, Zhizhou and Zhang, Yuan and Wan, Pengfei and Zhang, Di},
journal = {arXiv preprint arXiv:2407.03168},
year = {2024}
}
愿它在 arXiv 上长存。
联系方式 📧
郭建珠 (Jianzhu Guo); guojianzhu1994@gmail.com
星星历史 🌟
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
