LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成

IT资讯
IT资讯
IT资讯
1233
文章
274
评论
2024-07-3010:47:42
评论
529 2962字

LivePortrait AI生成视频效果演示:

 

 

LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成

 

1,准备工作:

 

本地下载代码并准备环境,运行命令前需安装git

#克隆项目程序
git clone https://github.com/KwaiVGI/LivePortrait




#进入下载好的项目主目录
cd LivePortrait





#使用conda创建env环境并激活项目
conda create -n LivePortrait python=3.9
conda activate LivePortrait







#使用pip安装依赖项

#Linux和Windows用户的使用以下命令去部署
pip install -r requirements.txt

# 苹果Silicon用户的macOS使用以下命令去部署
pip install -r requirements_macOS.txt

注意:确保您的系统已安装FFmpeg,包括ffmpeg和ffprobe!

 

 

 

 

 

2. 下载预训练权重:

下载预训练权重的最简单方法是从 HuggingFace 下载:

#首先,确保已安装git lfs,
#请参阅:https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage
git lfs install


#克隆并移动weights目录
git clone https://huggingface.co/KwaiVGI/LivePortrait temp_pretrained_weights
mv temp_pretrained_weights/* pretrained_weights/
rm -rf temp_pretrained_weights

非海外用户,没有外网环境的朋友,你可以从【Google Drive】或【123盘】网盘下载所有预训练权重。解压并将它们放在 中./pretrained_weights。

确保目录结构如下,或包含:

pretrained_weights
├── insightface
│ └── models
│ └── buffalo_l
│ ├── 2d106det.onnx
│ └── det_10g.onnx
└── liveportrait
├── base_models
│ ├── appearance_feature_extractor.pth
│ ├── motion_extractor.pth
│ ├── spade_generator.pth
│ └── warping_module.pth
├── landmark.onnx
└── retargeting_models
└── stitching_retargeting_module.pth

 

 

 

3.推理使用:

# Linux和Windows用户使用以下命令部署
python inference.py


#MacOS用户使用以下命令部署(对于配备Apple Silicon的macOS,不支持Intel,这可能比RTX 4090慢20倍)
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py

如果脚本成功运行,你会得到一个名为 的输出mp4文件animations/s6--d0_concat.mp4。此文件包含以下结果:驾驶视频,输入图像或视频,以及生成的结果。

LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成

或者您可以通过指定-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

 

 

LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成
LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成
LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成
LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成

 

 

参照视频自动裁剪 📢📢📢

 

 

要使用您自己的参照视频,我们建议:⬇️

  • 将其裁剪为1:1 的宽高比(例如 512×512 或 256×256 像素),或通过 启用自动裁剪--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 # portrait animation

python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d5.pkl # portrait video editing

 

 

4. Gradio 可视化界面操作

在Gradio的可视化界面下可以获得更好的体验,适合新手使用,只需运行下面安装代码即可:

# 适用于Linux和Windows用户
python app.py


# 适用于苹果Silicon用户的macOS
PYTORCH_ENABLE_MPS_FALLBACK=1 python app.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的GPU
python speed.py

以下是使用原生 PyTorch 框架在 RTX 4090 GPU 上推断一帧的结果torch.compile

模型 参数(米) 模型大小(MB) 推理(毫秒)
外观特征提取器 0.84 3.3 0.82
运动提取器 28.12 108 0.84
铲形发电机 55.37 212 7.59
变形模块 45.53 174 5.21
拼接和重定向模块 0.23 2.3 0.31

注意:拼接和重定向模块的值代表三个连续 MLP 网络的组合参数数量和总推理时间。

当然如果你没有一张好的显卡,无法本地运行,那么可以在huggingface上免费体验:【点击前往】在线使用

 

 

 

 

  • Copyright ©  PC在线云端  版权所有.
  • 转载请务必保留本文链接:https://www.gaofumei.net/kejizixun/deep-learning/12337.html
Orgorg速率最高可达1000Mbps,流畅观看Youtube 4K、TikTok,支持 Windows、Android、iOS、Mac,支持 微信、支付宝 付款!
全球数据中心,多点BGP保证速度,无视晚高峰,全天4K秒开,IPLC专线无惧封锁
全IEPL /青云跨境,高峰时期稳定8K播放,流媒体影视, ChatGPT 解锁保障,客户端无日志保护您的隐私安全,稳定运行5年+
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: