LivePortrait是一个由快手可灵团队开发的高级人工智能肖像动画框架,其主要功能是使静态照片中的面部能够模仿动态视频中的表情变化,从而让照片看起来像是活生生的人在做表情。
LivePortrait采用了基于隐式关键点的方法,而不是传统的扩散方法,来从单一的源图像生成高质量且生动的视频动画,平衡了计算效率和可控性。
LivePortrait在 NVIDIA RTX 4090 GPU 上使用 PyTorch 可以达到每帧 12.8 毫秒的处理速度,这使得它非常适合实时应用。
LivePortrait支持多种风格,包括现实主义、油画、雕塑和 3D 渲染,适用于从创意内容到专业视频制作的不同应用场景。
LivePortrait的github项目地址:https://github.com/KwaiVGI/LivePortrait。
一、环境安装
1、python环境
建议安装python版本在3.10以上。
2、pip库安装
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
3、模型下载:
git lfs install
git clone https://huggingface.co/KwaiVGI/LivePortrait
二、功能测试
1、命令行运行测试:
(1)python代码调用测试
# coding: utf-8import os.path as osp
import tyro
import subprocess
from src.config.argument_config import ArgumentConfig
from src.config.inference_config import InferenceConfig
from src.config.crop_config import CropConfig
from src.live_portrait_pipeline import LivePortraitPipelinedef partial_fields(target_class, kwargs):"""Create an instance of target_class with kwargs filtered to only those attributes that exist in target_class."""return target_class(**{k: v for k, v in kwargs.items() if hasattr(target_class, k)})def fast_check_ffmpeg():"""Check if FFmpeg is installed by attempting to run 'ffmpeg -version' command."""try:subprocess.run(["ffmpeg", "-version"], capture_output=True, check=True)return Trueexcept subprocess.CalledProcessError:return Falseexcept FileNotFoundError: # FFmpeg binary not foundreturn Falsedef fast_check_args(args: ArgumentConfig):"""Perform quick checks on the provided arguments to ensure required files exist."""if not osp.exists(args.source_image):raise FileNotFoundError(f"source image not found: {args.source_image}")if not osp.exists(args.driving_info):raise FileNotFoundError(f"driving info not found: {args.driving_info}")def main():# Set tyro themetyro.extras.set_accent_color("bright_cyan")# Parse command-line argumentsargs = tyro.cli(ArgumentConfig)# Provide default values for source_image and driving_info if they aren't set by command-line argumentsargs.source_image = args.source_image or "assets/examples/source/s0.jpg"args.driving_info = args.driving_info or "assets/examples/driving/d0.mp4"# Check if FFmpeg is installedif not fast_check_ffmpeg():raise ImportError("FFmpeg is not installed. Please install FFmpeg before running this script. https://ffmpeg.org/download.html")# Perform quick argument checksfast_check_args(args)# Configure inference and croppinginference_cfg = partial_fields(InferenceConfig, args.__dict__)crop_cfg = partial_fields(CropConfig, args.__dict__)# Initialize LivePortraitPipeline with the specified configurationslive_portrait_pipeline = LivePortraitPipeline(inference_cfg=inference_cfg,crop_cfg=crop_cfg)# Run the live portrait pipelinelive_portrait_pipeline.execute(args)if __name__ == "__main__":main()
(2)web端测试
未完......
更多详细的内容欢迎关注:杰哥新技术