最新爆火的开源AI项目 | LivePortrait 本地安装教程

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

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

以下操作不要安装在C盘和容量较小的硬盘,可以找个大点的硬盘装哟

2,需要安装FFmpeg

进去以后,选择左边的 release builds ,右边出现如下内容

选择带 shared 的还是不带 shared 的版本,其实都是可以的。功能是完全一样的。

只不过带 shared 的里面,多了 include、lib 目录。把 FFmpeg 依赖的模块包单独的放在的 lib 目录中。ffmpeg.exe,ffplay.exe,ffprobe.exe 作为可执行文件的入口,文件体积很小,他们在运行的时候,如果需要,会到 lib 中调用相应的功能。

不带 shared 的里面,bin 目录中有 ffmpeg.exe,ffplay.exe,ffprobe.exe 三个可执行文件,每个 exe 的体积都稍大一点,因为它已经把相关的需要用的模块包编译到exe里面去了。

验证是否安装成功

在CMD命令终端下,输入: ffmpeg -version,有类似如下版本信息输出,就说明配置成功了!

3,LivePortrait 本地安装

WIN+R---CMD全部复制粘贴下面两行自动下载(这里要关闭机场,可能不成功,这个加载成功后再开启稳定的机场)


git clone https://github.com/KwaiVGI/LivePortrait
cd LivePortrait

下载成功如下图

下载失败如下图(要关掉机场)

回车进入目录

复制粘贴下面命令进入

conda create -n LivePortrait python=3.9

如果出现错误

因为没有Conda在系统或者环境PATH,

解决方法:Conda下载

如果 Anaconda/Miniconda 已经安装,你可能需要将 conda 添加到系统的环境变量中。

安装成功后,环境PATH变量(我在E盘,你们随便

  • E:\anaconda3
  • E:\anaconda3\Scripts
  • E:\anaconda3\Library\bin
  • 验证:conda --version

重新复制命令

conda create -n LivePortrait python=3.9

继续复制粘贴

conda activate LivePortrait

进入下面以后我们要注意 有两个选项

如果你是win系统或者Linux系统就用

pip install -r requirements.txt

如果你是mac系统就用

pip install -r requirements_macOS.txt

我是Windows,所以粘贴win系统的,回车开始下载所需的安装环境,可能需要点时间(我用了1个多点)

成功如下图

4,下载预训练权重

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

# first, ensure git-lfs is installed, see: https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage
git lfs install
# clone and move the weights
git clone https://huggingface.co/KwaiVGI/LivePortrait temp_pretrained_weights
mv temp_pretrained_weights/* pretrained_weights/
rm -rf temp_pretrained_weights

第二种方法,如果没有机场就用下载好的解压到   ./pretrained_weights  目录下

通过百度网盘分享的文件:LivePortrait
链接:https://pan.baidu.com/s/1sUrcg2WmaBkZZ2FEzJMQ5g?pwd=ib5p 
提取码:ib5p 


这是目录结构

5,推理使用

还是一样,你是win或者Linux系统

python inference.py

mac系统

PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py

我还是win,我们GO一下

复制命令框中,等待一会生成.MP4视频,会给你个生成地址目录,此时还是看网络质量了。

或者您可以通过指定-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.mp4python inference.py -h

G:\ai\LivePortrait\assets\examples\source,把你需要的照片放进去也可以上传图片或者视频,自行打开观察

添加的图片后要修改上面命令的格式(图片转视频,视频转视频一样的)

修改前:

python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4

修改后:前者是照片,后者是视频

python inference.py -s assets/examples/source/1.jpg -d assets/examples/driving/d20.mp4

然后放在命令框中运行即可生成

如果还是不行,可以百度网盘里制作好的文件

通过百度网盘分享的文件:LivePortrait
链接:https://pan.baidu.com/s/1sUrcg2WmaBkZZ2FEzJMQ5g?pwd=ib5p 
提取码:ib5p 

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

  • 将其裁剪为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

6,Gradio 可视化界面操作

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

老样子,win或者Linux

python app.py

mac

PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py

您可以指定--server_port、、--share参数--server_name来满足您的需求!

它们还提供了加速选项--flag_do_torch_compile。首次推理会触发优化过程(约一分钟),使后续推理速度提高 20-30%。性能提升可能因 CUDA 版本的不同而有所差异。

python app.py --flag_do_torch_compile

注意:Windows 和 macOS 不支持此方法。或者,在HuggingFace上轻松尝试一下

7,推理速度评估

下方提供了一个脚本来评估每个模块的推理速度:

python speed.py

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

模型参数(米)模型大小(MB)推理(毫秒)
外观特征提取器0.843.30.82
运动提取器28.121080.84
铲形发电机55.372127.59
变形模块45.531745.21
拼接和重定向模块0.232.30.31

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3269439.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

项目开发实战案例 —— Spring Boot + MyBatis + Hibernate + Spring Cloud

作者简介 我是本书的作者,拥有多年Java Web开发经验,致力于帮助更多开发者快速掌握并运用Java Web技术栈中的关键框架和技术。本书旨在通过实战案例的方式,带领读者深入理解并实践Spring Boot、MyBatis、Hibernate以及Spring Cloud等热门技术…

2-46 基于matlab的声音信号的短时能量、短时过零率、端点检测

基于matlab的声音信号的短时能量、短时过零率、端点检测。通过计算计算短时能量、调整能量门限,然后开始端点检测。输出可视化结果。程序已调通,可直接运行。 2-46 短时能量 短时过零率 端点检测 - 小红书 (xiaohongshu.com)

Vue element ui分页组件示例

https://andi.cn/page/621615.html

Camera Raw:预设

Camera Raw 的预设 Presetss模块能够简化和加速照片编辑过程。预设不仅能大大提升工作效率,还能确保处理结果的一致性和专业性。 快捷键:Shift P 预设 Preset与配置文件、快照有其异同之处,它们都可以快速改变照片的影调和颜色。 不同是&…

SQL labs-SQL注入(三,sqlmap使用)

本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 引言: 盲注简述:是在没有回显得情况下采用的注入方式,分为布尔盲注和时间盲注。 布尔盲注:布尔仅有两种形式,ture&#…

python-学生排序(赛氪OJ)

[题目描述] 已有 a、b 两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。输入格式: 输入共 NM1 行。 第一行,输入 a、b 两个链表元素的数量 N、M,中间用空格隔开。下来 N 行,…

全网爆火的AI老照片变视频项目来了,简单易上手,1单69,日入1000+

每天为大家带来一个可实操落地的副业项目,创业思维,只要你认真看完,多少都能够为你带来帮助或启发。 最近在短视频上看到很多怀旧视频流量真的大,同时也看到朋友圈很多人在培训这个项目。 既然有这么多人在做,就证明…

一天搞定React(5)——ReactRouter(下)【已完结】

Hello!大家好,今天带来的是React前端JS库的学习,课程来自黑马的往期课程,具体连接地址我也没有找到,大家可以广搜巡查一下,但是总体来说,这套课程教学质量非常高,每个知识点都有一个…

C语言文件操作,文件读写

目录 为什么要使用文件? 文件概念 1. 什么是文件? 2. 程序文件 3. 数据文件 4. 文件名 文件的使用 1. 文件指针 2. 文件的打开与关闭 文件的顺序读写 1. 顺序读写函数 2. scanf系列与printf系列 文件的随机读写 1. fseek 2. ftell 3. …

B端:用弹框还是用抽屉,请说出你的依据。

选择浮层(弹出框)还是抽屉(侧边栏)作为B端系统的浮层,需要根据具体情况来决定。以下是一些依据供您参考: 1.功能需求: 浮层的选择应该符合系统的功能需求。如果需要在当前页面上提供一些额外的操…

C++ 基础(类和对象下)

目录 一. 再探构造函数 1.1. 初始化列表(尽量使用列表初始化) 二. static成员 2.1static成员初始化 三.友元 3.1友元:提供了⼀种 突破类访问限定符封装的方式. 四.内部类 4.1如果⼀个类定义在另⼀个类的内部,这个内部类就叫…

Google Android 2024年7月最新消息汇总

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 Google Android 2024年7月最新消息汇总 2024年7月,Google在Android生态系统中发布了多项更新和政策调整,涵盖了Google …

6万字,让你轻松上手的大模型 LangChain 框架

本文为我学习 LangChain 时对官方文档以及一系列资料进行一些总结~覆盖对Langchain的核心六大模块的理解与核心使用方法,全文篇幅较长,共计50000字,可先码住辅助用于学习Langchain。** 一、Langchain是什么? 如今各类…

开源多协议分布式压力测试工具Tsung详解

目录 1、Tsung简介 2、Tsung安装 3、Tsung的使用流程 4、Tsung配置详解 4.1、客户端配置 4.2、服务端配置 4.3、压力阶段配置 4.4、选项参数配置 4.5、会话动作配置 5、Tsung压测后的结果分析 5.1、统计数据表 5.2、曲线图 6、其他 6.1、record录制 6.2、Plotte…

多区域DNS以及主从DNS的搭建

搭建多域dns服务器: 搭建DNS多区域功能(Multi-Zone DNS)主要是为了满足复杂网络环境下的多样化需求,提高DNS服务的灵活性、可扩展性和可靠性。 适应不同网络环境: 在大型组织、跨国公司或跨地域服务中,网…

【算法】单向环形链表解决Josephu(约瑟夫)问题

应用场景 n 个小孩标号,逆时针站一圈。从 k 号开始,每一次从当前的小孩逆时针数 m 个,然后让最后这个小孩出列。不断循环上述过程,直到所有小孩出列,由此产生出一个队列编号。 提示 用一个不带头节点的循环链表来处…

使用Dependency Walker和Process Explorer排查瑞芯微工具软件RKPQTool.exe启动报错的问题

目录 1、问题说明 2、使用Dependency Walker查看工具程序的库依赖关系 3、在可以运行的电脑上使用Process Explorer查看依赖的msvcr120.dll和msvcp120.dll库的路径 4、C/C++运行时库介绍 5、可以下载安装VC_redist.x86.exe或VC_redist.x64.exe解决系统库缺失问题 C++软件异…

Radon(拉当) 变换:超详细讲解(附MATLAB,Python 代码)

Radon 变换 Radon 变换是数学上用于函数或图像的一种积分变换,广泛应用于图像处理领域,尤其是在计算机断层成像 (CT) 中。本文档将详细介绍 Radon 变换的数学含义及其在图像处理中的应用。 数学定义 Radon 变换的数学定义是将二维函数 f ( x , y ) f…

vue 开发环境配置

1. nvm 安装 在 github上下载 最新的 nvm 包 https://github.com/coreybutler/nvm-windows/releases或者在 csdn 上下载(从github上迁移,方便下载)https://download.csdn.net/download/u011171506/89585197 下载后不用修改任何配置&#x…

提取视频中的文字如何提取?分享4种简单提取方法

在短视频时代,视频已成为信息传播的重要载体。然而,面对海量的视频资源,如何高效提取其中的文字信息,成为许多人关注的焦点,因为快速提取出视频中的文字可以帮助我们整理、编辑文本信息,下面给大家分享4种简…