LivePortrait是由快手科技与中国科学技术大学和复旦大学合作开发的先进AI驱动的肖像动画框架。不同于主流的扩散方法,LivePortrait利用基于隐式关键点的框架,从单个源图像创建栩栩如生的视频动画。这种方法平衡了计算效率和可控性,使其成为多种应用的实用工具。

在这里插入图片描述

LivePortrait如何生成AI内容

LivePortrait的动画过程包括两阶段的训练管道:

第一阶段:基础模型训练

在第一阶段,从头开始训练基础模型。此阶段涉及优化外观提取器(𝐹)、运动提取器(𝑀)、变形模块(𝑊)和解码器(𝐺)。这些组件共同作用,从源图像和驱动视频中提取并合成外观和运动。

第二阶段:拼接和重定向模块训练

在第二阶段,先前训练的组件被冻结,重点转向优化拼接和重定向模块。这些模块通过对特定面部特征(如眼睛和嘴唇)的更精细控制来提高动画的质量,使动画更加详细和生动。

LivePortrait的主要功能

效率和速度
LivePortrait在RTX 4090 GPU上使用PyTorch达到每帧12.8ms的惊人生成速度。这种效率使其适用于实时应用。

高质量动画
通过将训练数据扩大到约6900万帧高质量画面,并采用混合图像视频训练策略,LivePortrait确保了卓越的动画质量和泛化能力。

高级可控性
拼接和重定向模块允许精确控制面部特征,实现详细动画。用户可以控制眼睛和嘴唇的运动幅度,增强生成视频的逼真度。

多功能性
LivePortrait支持各种风格,包括现实主义、油画、雕塑和3D渲染。这种多功能性使其适用于从创意内容到专业视频制作的广泛应用。

实验

准备T4的Lab,安装环境

!pip install torch torchvision torchaudio
!git clone https://github.com/KwaiVGI/LivePortrait
!pip install numpy pyyaml opencv-python scipy imageio lmdb tqdm rich ffmpeg-python onnxruntime-gpu onnx scikit-image albumentations matplotlib imageio-ffmpeg tyro gradio # 参考 requirements.txt
!cd LivePortrait && mv pretrained_weights pretrained_weights_backup # 影响Git clone
!cd LivePortrait && git clone https://huggingface.co/KwaiVGI/liveportrait pretrained_weights
!cd LivePortrait && python inference.py

由于输出的是视频,所以在Jupyter notebook上需要安装插件mediapy:

!pip install mediapy
video = media.read_video('/content/LivePortrait/animations/s6--d0_concat.mp4')
media.show_video(video)

感谢大家花时间阅读我的文章,你们的支持是我不断前进的动力。期望未来能为大家带来更多有价值的内容,请多多关注我的动态!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐