LivePortrait 上手指南:让一张静态照片开口说话 + 5 分钟跑通人像动画
2026/9/8 21:11:40 网站建设 项目流程

LivePortrait 上手指南:让一张静态照片开口说话 + 5 分钟跑通人像动画

【免费下载链接】LivePortraitBring portraits to life!项目地址: https://gitcode.com/GitHub_Trending/li/LivePortrait

想让证件照里的自己开口说话,或让家里猫的眨眼变得生动?LivePortrait 把这类人像动画做得足够简单:一张照片、一段驱动视频,几分钟就能得到动作自然、背景稳定的动画结果。这篇指南从空环境带你跑通第一次生成,再讲清真正影响出片质量的几个参数。

项目概览与核心能力

LivePortrait 是快手同名论文的官方 PyTorch 实现,一套可本地部署的人像动画方案:它将源图像的外观特征与运动特征分离,再由生成器和扭曲网络逐帧重绘,让头部动起来时背景与身体保持稳定。项目已被快手、抖音、剪映等视频平台采用,适合想制作动态头像的创作者,也适合把人像动画集成进自己工作流的开发者。默认流程是"源图像或视频 + 驱动信号 → mp4",全程无需训练。

  • 🎭人像动画生成:静态照片配合驱动视频,输出头部动作自然、背景不抖动的短视频
  • 🐱动物模式:基于 X-Pose 的猫狗关键点检测,宠物照片也能眨眼、张嘴
  • 🎨重定向控制:滑块调整俯仰、偏航、翻滚,或单独改嘴部开合、眼神方向
  • 🖼️图像驱动:用另一张图作为驱动信号,把它的表情"搬"到目标肖像上
  • 🪄区域控制:通过animation_region选择只动表情、姿态、嘴唇或眼睛
  • 轻量高效:官方在 RTX 4090 上测得单帧推理合计约 15 毫秒

相比多数同类工具,它的区分度在于把 retargeting 与背景缝合做成了默认开启的精细控制:身份和背景都被"锁住",消费级显卡上几分钟即可出一条可用视频。

从零到第一次生成结果

  1. 克隆代码并建环境(系统需预装gitcondaFFmpeg):
git clone https://gitcode.com/GitHub_Trending/li/LivePortrait cd LivePortrait conda create -n LivePortrait python=3.10 && conda activate LivePortrait
  1. 安装依赖(Linux/Windows 用下表单;macOS Apple Silicon 换用requirements_macOS.txt,且只支持人类模式):
conda activate LivePortrait pip install -r requirements.txt
  1. 下载预训练权重pretrained_weights/目录,子目录结构可对照assets/docs/directory-structure.md:
pip install -U "huggingface_hub[cli]" huggingface-cli download KlingTeam/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
  1. 跑一次默认推理,首次成功的判断标准是工作目录出现animations/s6--d0_concat.mp4(驱动视频、源图、生成结果三列拼接):
python inference.py
  1. (可选)启用动物模式,仅支持 Linux/Windows + NVIDIA GPU,需先编译 X-Pose 的注意力算子:
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
  1. 打开 Gradio 界面,浏览器访问127.0.0.1:8890看到上传面板与 Animate 按钮即大功告成;动物模式界面用python app_animals.py启动:
python app.py

核心玩法:按场景拆解

让人像照片跟着驱动视频动

界面里上传正面照与驱动视频,或命令行直接给-s/-d。用自己的驱动视频时,建议裁成 1:1(如 512×512),首帧保持正面中性表情,肩部尽量少动;懒得手动裁就开--flag_crop_driving_video,效果不佳再微调--scale_crop_driving_video。更省事的路线是用.pkl运动模板:推理更快,也不用把自己的面部视频放进传播链。

用另一张图的表情驱动肖像

-d指向一张 .jpg 即可,单图驱动后输出仍是一张图。默认开启的--flag_relative_motion只迁移驱动图相对其中性态的形变,能明显减少身份串味;想只迁移嘴型,追加--animation_region lip就行,眼神、姿态同理。

给肖像视频重定向动作

源输入是视频时(v2v),界面提供重定向滑杆,可实时调整目标嘴部开合与运动平滑强度motion smooth strength。适合"机位、场景不动,只改表演"的场景,输入、结果、贴回结果三栏并排,对照调参很顺手。

用滑块摆出新的姿势和表情

Retargeting 标签页对单张图同样有效:拖动 relative pitch/yaw/roll 调整头部姿态,把 eyes-open 与 lip-open 目标值都设为 0.8 可以看到"完全打开"的极限效果。面部表情滑杆还能单独控制眼神横纵、挑眉、抿嘴等微表情。

猫狗宠物模式

app_animals.py即可,模型由 X-Pose 做宠物关键点检测。经验上动物驱动幅度要放大,官方示例用--driving_multiplier 1.75,且建议--no_flag_stitching。2025 年 1 月更新的 v1.1 动物模型主要改善了犬类嘴部识别,老权重建议更新。

关键参数与调优策略

参数作用推荐取值一句话建议
driving_multiplier动作幅度总乘数(仅 expression-friendly 生效)0.8–1.2,动物约 1.75肖像变形就先降到 0.8 再慢慢加
driving_option运动迁移策略:expression-friendly / pose-friendlyexpression-friendly希望头部姿态严格跟随时选后者
flag_stitching背景缝合,补全脸部与背景接缝小动作 True,大动作或动物 False背景出现涂抹感就关掉
animation_region只动画局部:exp / pose / lip / eyes / allall只迁嘴型用 lip,只迁眼神用 eyes
driving_smooth_observation_variancev2v 时运动平滑强度1e-7–3e-7帧间抖动大就调大,但过大丢动作细节

三条经验之谈:

  • 源图选正面、清晰、人脸占比中等的照片;侧脸大角度会直接拉低稳定性,det_thresh(默认 0.15)过低会误检、过高会漏检。
  • 驱动素材首帧必须是正面中性表情,这是相对运动计算的基准,基准歪了后面全歪。
  • 出片满意后用自动生成模板存成.pkl,同一驱动复用可跳过运动提取,也避免人脸视频外传。

踩坑记录:常见问题与解法

  • 现象:pip installtorch 失败或报 CUDA 版本错误。原因:PyTorch 与系统 CUDA 不匹配,Windows 上 12.4 等新版 CUDA 稳定性差。解法:先nvcc -V查版本,装对应版本的 PyTorch;Windows 可考虑将 CUDA 降到 11.8。
  • 现象:生成结果出现黑块或黑斑。原因:部分 GPU 对 FP16 半精度不兼容。解法:加--no_flag_use_half_precision重新跑。
  • 现象:动物模式编译算子报错,或 macOS 上根本装不上。原因:X-Pose 的MultiScaleDeformableAttention算子需本地编译,仅支持 Linux/Windows + NVIDIA GPU。解法:在src/utils/dependencies/XPose/models/UniPose/ops目录执行python setup.py build install;macOS 用户只能用人类模式。
  • 现象:肖像扭曲、漂移或身份串味。原因:驱动幅度过大,或源图模糊、角度偏。解法:driving_multiplier收到 0.8–1.2,换清晰的正面照,并确认flag_stitching与头部运动幅度匹配。
  • 现象:显存不足 OOM。原因:源素材分辨率大,且flag_pasteback会把结果贴回原图分辨率。解法:降--source_max_dim(默认 1280)到 960,长视频可加--no_flag_pasteback

硬件参考与性能建议

  • 4GB 显存:--source_max_dim 960,保持 fp16(默认开启),长视频关--flag_pasteback
  • 6–8GB 显存:默认参数(1280 输入)直接跑,这是官方验证过的主流档位
  • 8GB+ 显存:保留贴回,全部默认即可
  • 速度技巧:--flag_do_torch_compile(Windows/macOS 不支持)首次编译约一分钟,后续推理快 20–30%;.pkl模板复用可跳过运动提取
  • 参考基准:RTX 4090 单帧约 15ms,明细见assets/docs/speed.md

延伸探索

  • 所有参数的默认值与中文注释都集中在 src/config/,找不到的参数先来这里搜,argument_config.py是最好的"活文档"。
  • 每个功能(v2v、图像驱动、动物模型 v1.1)在 assets/docs/changelog/ 都有独立记录,比单看主文档更细。
  • 想读懂论文对应实现,src/modules/ 里的稠密运动、扭曲网络、SPADE 生成器五个核心模块是最好的入口,配合src/live_portrait_wrapper.py看数据流。
  • 二次创作方向:把motion_extractor的输出接进自己的 ComfyUI/SD WebUI 工作流,是社区最常见的集成方式,先熟悉输入输出格式再动手。

回到开头那张证件照——挑一张清晰的正面照,用内置驱动样例跑一次,五分钟后就能拿到第一个会动的自己;效果不理想时,先动driving_multiplier和源图这两处,能解决大部分"不够像"或"太夸张"的问题。

  • 文档目录:assets/docs/
  • 参数配置:src/config/
  • 核心模块:src/modules/

【免费下载链接】LivePortraitBring portraits to life!项目地址: https://gitcode.com/GitHub_Trending/li/LivePortrait

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询