让任何照片活起来:隆重推出 LivePortrait,您的开源人工智能动画师

June 04, 2025

LivePortrait

项目简介

LivePortrait是一个开源的PyTorch项目,旨在高效地实现肖像动画制作。它能将静态的人物、猫或狗的肖像照“动”起来,通过一段驱动视频或预设好的动作模板,巧妙地控制拼接和动作重定向,让照片栩栩如生。该项目由快手科技、中国科学技术大学和复旦大学的研究人员共同开发,并持续更新和优化。

LivePortrait 展示动图

使用指南

环境配置

  1. 克隆代码库:
    git clone https://github.com/KwaiVGI/LivePortrait
    cd LivePortrait
    
  2. 创建并激活Conda环境:
    conda create -n LivePortrait python=3.10
    conda activate LivePortrait
    
  3. 安装PyTorch(Linux/Windows需支持CUDA): 首先,查看你的CUDA版本:nvcc -V。然后安装对应版本的PyTorch。
    • 针对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
      
    • 其他CUDA版本请参考PyTorch官方网站。
    • Windows用户请注意: 将CUDA降级到11.8可能解决与更高版本CUDA的兼容问题。
  4. 安装其他依赖项:
    pip install -r requirements.txt
    
    • Apple芯片Mac用户请注意:
      pip install -r requirements_macOS.txt
      
      (会跳过X-Pose依赖,不支持动物模式。)

下载预训练权重

  • 通过HuggingFace下载(推荐):
    # !pip install -U "huggingface_hub[cli]"
    huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
    
  • 使用huggingface镜像(如果HuggingFace无法访问):
    # !pip install -U "huggingface_hub[cli]"
    export HF_ENDPOINT=https://hf-mirror.com
    huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"
    
  • 你也可以从Google Drive或百度网盘下载,并将其放在./pretrained_weights目录下。

运行推理

人物模式

  • 使用默认输入运行:
    python inference.py
    
    (Apple芯片Mac用户请使用PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
  • 指定源图像和驱动输入:
    # 源图像是图片
    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
    

动物模式(仅限Linux/Windows并需配备NVIDIA GPU)

  1. 编译MultiScaleDeformableAttention OP:
    cd src/utils/dependencies/XPose/models/UniPose/ops
    python setup.py build install
    cd -
    
  2. 运行推理:
    python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
    
    动物模式推理示例

驱动视频自动裁剪

  • 启用自动裁剪:
    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 # 肖像视频编辑
    

Gradio界面

  • 人物模式:
    # 适用于Linux和Windows
    python app.py
    # 适用于Apple芯片Mac
    PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py
    
  • 动物模式(仅限Linux并需配备NVIDIA GPU):
    python app_animals.py
    
  • 加速: 使用--flag_do_torch_compile能使后续推理速度提升20-30%(Windows/macOS暂不支持)。
    python app.py --flag_do_torch_compile
    
  • HuggingFace上也有在线Demo可供体验。

主要功能

  • 高效肖像动画: 可让静态的人物、猫和狗的图像动起来。
  • 缝合与重定向控制: 对动画过程提供精细化的控制。
  • 多种驱动输入: 支持通过视频、图片或预生成的动作模板(.pkl文件)来驱动动画。
  • 视频转视频(v2v)编辑: 支持对现有肖像视频进行编辑。
  • Gradio界面: 用户友好的网页界面,方便使用和精确编辑肖像。
  • 区域控制与图像驱动模式: 提供高级控制和不同的驱动方式。
  • 姿态编辑: 可在Gradio界面中编辑源肖像的姿态。
  • 自动裁剪: 自动将驱动视频裁剪成1:1比例,并聚焦于头部。
  • 隐私保护: 动作模板可以用于保护驱动视频中人物的隐私。
  • 跨平台支持: 支持Linux、Windows(需NVIDIA GPU)和Apple芯片Mac。
  • 性能优化: 可通过torch.compile选项加速推理。

目标用户

  • 视频内容创作者: 用于在视频中制作肖像动画。
  • 动画师: 可快速生成角色的面部动画。
  • 研究人员和开发者: 作为肖像动画、图像/视频生成和面部动画的进一步开发基础。
  • 普通爱好者: 对让照片动起来或尝试AI动画感兴趣的个人用户。
  • 各大视频平台: 已被快手、抖音、剪映、微信视频号等平台采用。

项目链接

应用场景

  • 社交媒体内容: 从静态图片创建引人入胜的动态头像或短视频片段。
  • 市场营销和广告: 从静态图像生成动态角色或虚拟代言人。
  • 电影和游戏开发: 快速制作角色面部表情动画的原型。
  • 虚拟形象和数字人: 为虚拟会议或模拟场景中的静态形象注入活力。
  • 个人使用: 让旧家庭照片或心爱的宠物照片变得鲜活生动。

分享本文