最新爆火的开源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://www.rhkb.cn/news/384616.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java-- Stream流

感受stream流 代码 package demo1;import javax.naming.Name; import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class StreamDemo1 {public static void main(String[] args) {ArrayList<String> list1 new ArrayList<>();l…

基于深度学习算法,支持再学习功能,不断提升系统精准度的智慧地产开源了。

智慧地产视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。通过计算机视觉和…

Java | Leetcode Java题解之第279题完全平方数

题目&#xff1a; 题解&#xff1a; class Solution {public int numSquares(int n) {if (isPerfectSquare(n)) {return 1;}if (checkAnswer4(n)) {return 4;}for (int i 1; i * i < n; i) {int j n - i * i;if (isPerfectSquare(j)) {return 2;}}return 3;}// 判断是否为…

Spring Security学习笔记(二)Spring Security认证和鉴权

前言&#xff1a;本系列博客基于Spring Boot 2.6.x依赖的Spring Security5.6.x版本 上一篇博客介绍了Spring Security的整体架构&#xff0c;本篇博客要讲的是Spring Security的认证和鉴权两个重要的机制。 UsernamePasswordAuthenticationFilter和BasicAuthenticationFilter是…

Idea 编译项目报错 java: java.lang.OutOfMemoryError:GC overhead limit exceeded

报错 java: java.lang.OutOfMemoryError: WrappedJavaFileObject[org.jetbrains.jps.javac.InputFileObjectpos13979: GC overhead limit exceeded解决 默认是700M&#xff0c;有的时候项目引入的依赖包比较大&#xff0c;可能超过了700M,需要扩大&#xff0c;根据实际情况设…

Dockerfile指令详解和Docker操作命令

1.容器的特点&#xff1a;1&#xff09;自包含&#xff08;包括应用程序及其运行环境&#xff09;&#xff1b;2&#xff09;可移植&#xff1b;3&#xff09;相互隔离&#xff1b;4&#xff09;轻量级。 2.docker成为容器的事实标准在于&#xff1a;1&#xff09;在运行环境上…

开局一个启动器:从零开始入坑ComfyUI

前几天刷某乎的时候看到了一位大佬写的好文&#xff0c;可图 IP-Adapter 模型已开源&#xff0c;更多玩法&#xff0c;更强生态&#xff01; - 知乎 (zhihu.com) 久闻ComfyUI大名&#xff0c;决定试一下。这次打算不走寻常路&#xff0c;不下载现成的一键包了&#xff0c;而是…

ESP32和mDNS学习

目录 mDNS的作用mDNS涉及到的标准文件组播地址IPv4 多播地址IPv6 多播地址预先定义好的组播地址 mDNS调试工具例程mDNS如何开发和使用注册服务查询服务 mDNS的作用 mDNS 是一种组播 UDP 服务&#xff0c;用来提供本地网络服务和主机发现。 你要和设备通信&#xff0c;需要记住…

【计算机网络】静态路由实验

一&#xff1a;实验目的 1&#xff1a;掌握通过静态路由方法实现网络的连通性。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a;RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。 软件&#xff1a;记事本、WireShark、Chrome浏览器等。 三&#xff1a;实验方…

Spark实时(二):StructuredStreaming编程模型

文章目录 StructuredStreaming编程模型 一、基础语义 二、事件时间和延迟数据 三、​​​​​​​容错语义 StructuredStreaming编程模型 一、基础语义 Structured Streaming处理实时数据思想是将实时数据看成一张没有边界的表,数据源源不断的追加到这张表中,这可以让我…

实时捕获数据库变更

1.CDC概述 CDC 的全称是 Change Data Capture &#xff0c;在广义的概念上&#xff0c;只要能捕获数据变更的技术&#xff0c;我们都可以称为 CDC 。我们目前通常描述的CDC 技术主要面向数据库的变更&#xff0c;是一种用于捕获数据库中数据变更的技术&#xff0c;CDC 技术应用…

web网站组成

web网站由四部分组成&#xff1a;浏览器 前端服务器 后端服务器 数据库服务器 流程&#xff1a; 1.浏览器输入网站后&#xff0c;向前端服务器发送请求&#xff0c;前端服务器响应&#xff0c;静态的数据给浏览器。 2.前端代码中script中有url,这个是向后台发送请求的网…

Windows下帆软BI(finebi)单机部署移植(Tomcat)攻略

一、基础环境 操作系统&#xff1a;Windows 10 64bit 帆软BI 版本&#xff1a;V9.0/V10.0 HTTP工具&#xff1a;Tomcat 外置数据库&#xff1a;Oracle 11g 实验内容&#xff1a;将已经部署好的帆软BI从一台电脑移植到另一台电脑 二、前期准备 1、做好外置数据库移植&…

结合创新!小波变换+注意力机制,实现100%分类准确率

小波变换是一种新的变换分析方法&#xff0c;它能有效提取信号的局部特征&#xff0c;但无法完全捕捉数据重要部分。为了解决这个问题&#xff0c;我们引入注意力机制&#xff0c;利用其强化关注重点的优势&#xff0c;将两者结合&#xff0c;做到更全面、深入地挖掘数据特征&a…

【初阶数据结构】9.二叉树(4)

文章目录 5.二叉树算法题5.1 单值二叉树5.2 相同的树5.3 另一棵树的子树5.4 二叉树遍历5.5 二叉树的构建及遍历 6.二叉树选择题 5.二叉树算法题 5.1 单值二叉树 点击链接做题 代码&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* …

昇思25天学习打卡营第22天|CycleGAN图像风格迁移互换

相关知识 CycleGAN 循环生成网络&#xff0c;实现了在没有配对示例的情况下将图像从源域X转换到目标域Y的方法&#xff0c;应用于域迁移&#xff0c;也就是图像风格迁移。上章介绍了可以完成图像翻译任务的Pix2Pix&#xff0c;但是Pix2Pix的数据必须是成对的。CycleGAN中只需…

杭州社保卡办理-农业银行版本

step 1、杭州滨江高新支行 被告知只能工作日办理&#xff08;由于工作时间冲突&#xff0c;办理不了&#xff09; 询问哪个支行可以办&#xff0c;回答说不知道&#xff0c;让我自己去问。银行服务态度较差。 step 2、杭州滨江江南支行 市民卡显示这家&#xff0c;周六可以…

构建现代数据湖

现代数据湖是一半数据仓库和一半数据湖&#xff0c;对所有事情都使用对象存储。使用对象存储来构建数据仓库是通过 Open Table Formats OTF&#xff09; 实现的&#xff0c;例如 Apache Iceberg、Apache Hudi 和 Delta Lake&#xff0c;这些规范一旦实现&#xff0c;就可以无缝…

K8s-控制器

一 为什么使用控制器 pod控制器 作用&#xff1a;1.pod类型资源删除&#xff0c;不会重建 2.控制器可以帮助用户监控&#xff0c;并保证节点上运行定义好的pod副本数 3.pod超过或低于用户期望&#xff0c;控制器会创建、删除pod副本数量 控制器类型&am…

【推研小灶】复旦与南大之间:一次独特的计算机保研之旅

写在前面 上午10点填完志愿等待复试通知&#xff0c;利用这段时间记录一下我简短的夏令营和预推免。今年变为线下之后&#xff0c;部分学校的入营情况、考核方式有明显变化。加上CS方向保研名额总体变多&#xff0c;形势有点小乱&#xff0c;甚至填报系统都在9.29中秋节当天&a…