AI表情神同步!LivePortrait安装配置,一键包,使用教程

快手在AI视频这领域还真有点东西,视频生成工具“可灵”让大家玩得不亦乐乎。

现在又开源了一个超好玩的表情同步(表情控制)项目。

在这里插入图片描述

一看这图片,就充满了娱乐性。发布没几天就已经有8000+Star。

项目****简介

LivePortrait 是一款由快手团队开发的高效肖像动画工具,通过隐式关键点框架,从静态图像生成动态视频。该工具可以让用户通过驱动视频生成逼真的面部表情和头部动作。这款工具不仅可以用于人脸动画,还能扩展到动物肖像,提供了广泛的应用场景。

该项目主页核心介绍其实就一句话“Bring portraits to life!” 可以理解为让“ 将肖像变得栩栩如生!”。

下面先简单说一下这个项目的特点,然后分享一下本地安装方法,最后是一件包和使用方法!

只要配置不是太差,人人都可以玩转!

项目特点

表情神同步

这个项目的表情同步非常传神,这也是这个项目最大的特点。

嘴巴和眼神的同步,比较惊艳。

可以驱动图片和视频

可以用一段带有人物脸部表情的视频去驱动一张图片,同时也可以用视频驱动视频。

前者高效,只要你能拿到一张脸部照片,就可以让这张照片开口说话,做出各种表情。

后者高能,用视频驱动视频,会显得效果更加自然。

素材支持广泛

只要是带脸和五官的东西,基本都能玩。

“肖像”可以包括 真人照,动漫人物,名画中的人物,甚至是兵马俑和动物。

单独修改眼睛和嘴巴

除了视频生成之外,还可以“一键P图”。

就是那种一键闭眼一键睁眼。一键闭嘴一键张嘴那种。当然也可以,闭上眼张开嘴,有一定的可玩性。

电脑配置要求低

AI视频和AI绘画是非常消耗配置的项目,比如很多基于SDXL的AI绘画类项目,模型动不动就是10G+,显存需求动不动就是16G+甚至24G。但是这个项目好很多,预训练模型才600M+。模型小就意味着显存需求也很低!

安装配置比较简单

这个项目配置起来非常简单。只需要根据项目主页的命令一行一行复制、粘贴、运行即可。Windows下安装依赖无需踩坑,直接装就可以了。除了Windows之外也支持基于M系列的macOS系统。

本地安装

**云端的都是别人的,本地的才是自己的。**下面来说一说如何本地安装,如果看过我之前的安装配置文章,这个项目的安装会非常简单。

先保证本地电脑已经具备如下软硬件:

  • NVIDIA中高端显卡

  • Windows11系统

  • Python环境

  • Git工具

外加,懂一点CMD命令。就可以立马开干了。

克隆代码

使用git命令克隆源代码。

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

克隆源代码之后,使用cd命令,进入到项目文件夹。

创建虚拟环境

使用conda工具创建一个虚拟环境,做本地隔离。

conda create -n LivePortrait python=3.10  
conda activate LivePortrait  

创建一个名为LivePortrait的基于Python3.10的虚拟环境,并且激活这个虚拟环境。

安装依赖

Python环境创建之后之后,通过req依赖文件,一键安装依赖。

# 针对 Linux and Windows 用户  
pip install -r requirements.txt  # 针对macOS M系列  
pip install -r requirements_macOS.txt

注意,Windows和Linux用户用上面的命令,使用requirements.txt里的依赖列表来安装。macOS用户使用专属的macOS.txt文件来安装。

安装之前要保证网络通畅,或者设置好了pip镜像。

下载模型

经过上面的步骤,安装配置就已经完成了。接下来是要获取模型。

通过命令获取:

#安装lfs,已经装过可以忽略  
git lfs install  #下载模型  
git clone https://huggingface.co/KwaiVGI/LivePortrait temp_pretrained_weights  
mv temp_pretrained_weights/* pretrained_weights/  
rm -rf temp_pretrained_weights

这些命令会从huggingface上下载模型,并放置到pretrained_weights文件中,由于HF已经被嗝屁了,所以局域网用户可能不是太方便。

通过网盘获取:

项目主页给出了百度盘,谷歌盘,我也会整理好放在我的网盘,见文末。

模型文件的目录结构如下:

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

模型并不是很大,网络好的话,下载起来很轻松。

快速运行推理

模型下载完成,并放置到指定路径之后,就可以运行了。

无界面运行:

# Linux and Windows  
python inference.py  # For macOS with Apple Silicon, Intel not supported, this maybe 20x slower than RTX 4090  
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py

直接用Python运行推理文件,这样软件会自动找演示素材,自动合成视频。

这种方式适合开发者快速验证环境,但是使用起来不是很方便。所以推荐第二种运行式。

使用网页版:

# For Linux and Windows users (and macOS with Intel??)  
python app.py  # For macOS with Apple Silicon users, Intel not supported, this maybe 20x slower than RTX 4090  
PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py

运行上述命令之后,就会使用基于Gradio的WEBUI了。

安装配置运行完成之后,下次要再次使用,输入如下命令即可:

切换到项目文件夹所在盘,比如E盘,

然后使用CD命令进入文件夹,

然后激活虚拟环境,

然后运行app.py。

网页版使用说明

运行成之后,复制URL地址到浏览器打开,就可以看到界面了。

①左边上传源(Source)素材

②右边上传驱动(Driving Video)视频

③点击动画按钮(Animate)开始合成

这里的源素材,可以是图片,也可以是视频。而驱动视频自然自能是视频。界面上有一些参数,默认即可。

视频处理完成之后,就会显示在下面了。

左边是被驱动的图片,右边的是效果对比图。界面上只有三个头像的对比视频。

如果需要合成的最终视频,就是包含整个人物的完整视频,可以在文件夹中找到。

文件夹路径为:LivePortrait\animations

RTX3060上面,整个过程消耗了5.8G显存,125秒时间。

除了视频功能,还有一个改变图片表情的功能。

网页往下滚动,找到Retargeting功能。

通过调整target eyes-open ratiotarget lip-open ratio这两参数,可以得到不同程度的表情。

0为闭合,0.8为张开,可以取一个极端值,或者中间值。

①左边的Retargeting Input里面选择或者上传一张图片。

②然后修改一下参数,比如把眼睛和嘴巴的参数设置为0.8。

③最后点击Retargeting运行

最后就可以获得一张传世名作《蒙娜丽莎的惊讶》了。

另外通过相对俯仰(Relative Pitch)、相对偏航(Relative Yaw)和相对翻滚(Relative Roll)等参数可以改变 人脸的朝向。

这么一来,蒙娜丽莎就惊掉下巴了

一键运行包

安装配置使用都说完了,最后简单说一下一键运行包。

一键运行包就是把上面的所有命令,模型,环境全部放在一起,省去了配置下载的过程。

只需要下载,解压,双击运行即可。

通过网盘可以下载到一个叫tonyhub-liveportrait-v1.0.0.7z的压缩包文件。

解压这个文件,在解压后的文件夹中找到run.exe。

双击exe文件启动软件。

看到Runing on local URL 表示启动成功,同时浏览器会自动打开,并显示表情同步生成的界面。然后根据上面操作来,就可以轻松制作一个表情同步的视频了。

这个项目是比较适合做搞笑短视频的,也可以用自己的表情嘴型去控制别人的表情和嘴型,配合上AI变声器,也是有非常大的可玩性。

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

在这里插入图片描述

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述
在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

阿里云服务器(centos7.6)部署前后端分离项目

Mysql8安装部署 确定一下系统的glibc版本,可以使用以下命令进行查看,当前系统glibc版本:2.17(重要!!!) 要根据自己服务器的版本去选择对应的mysql,不然后续安装会报错&a…

Java中TimedCache缓存对象的详细使用

一、TimedCache 是什么? TimedCache是一个泛型类,它的主要作用通常是在一定时间范围内对特定键值对进行缓存,并且能够根据设定的时间策略来自动清理过期的缓存项。 TimedCache是一种带有时间控制功能的缓存数据结构。在 Java 中&#xff0c…

11、数组

1、数组概念 数组就是存储多个相同数据类型的数据。 比如:存储26个字母,存储一个班级的学生成绩。 2、数组使用 数组要遵循先定义再使用 2.1、数组定义的格式 存储数据---空间 ---- 数据类型 多少个 --- 数据个数 >> 数据类型 数…

六、文本搜索工具(grep)和正则表达式

一、grep工具的使用 1、概念 grep: 是 linux 系统中的一个强大的文本搜索工具,可以按照 正则表达式 搜索文本,并把匹配到的行打印出来(匹配到的内容标红)。 2、语法 grep [options]…… pattern [file]…… 工作方式…

【python】爬去二手车数据 未完成

技术方案 python selenium 先下载Microsoft Edge WebDriver Microsoft Edge WebDriver 官网 先看一下自己的edge版本 搜索到版本然后下载自己的版本 安装依赖 pip install seleniumimport time from selenium import webdriverdriver webdriver.Edge(executable_pathr&qu…

玩游戏常常出现vc++runtime library error R6025 这是什么意思,该怎么解决?

当玩游戏时常常出现“vc runtime library error R6025”错误,这通常表明微软C开发运行库组件存在问题。以下是对该错误及其解决方法的详细解释: 错误含义 “vc runtime library error R6025”是一个与Visual C运行时库相关的错误,该错误表明…

【深度学习基础】一篇入门模型评估指标(分类篇)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. 模…

深度学习基础02_损失函数BP算法(上)

目录 一、损失函数 1、线性回归损失函数 1.MAE损失 2.MSE损失 3.SmoothL1Loss 2、多分类损失函数--CrossEntropyLoss 3、二分类损失函数--BCELoss 4、总结 二、BP算法 1、前向传播 1.输入层(Input Layer)到隐藏层(Hidden Layer) 2.隐藏层(Hidden Layer)到输出层(Ou…

从技术视角看AI在Facebook全球化中的作用

在全球化日益加深的今天,人工智能(AI)作为一种变革性技术,正在深刻影响全球互联网巨头的发展方向。Facebook作为全球最大的社交媒体平台之一,正通过AI技术突破语言、文化和技术的障碍,推动全球化战略的实现…

41 基于单片机的小车行走加温湿度检测系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采样DHT11温湿度传感器检测温湿度,滑动变阻器连接数码转换器模拟电量采集传感器, 电机采样L298N驱动,各项参数通过LCD1602显示&#x…

Python3 爬虫 Scrapy的使用

安装完成Scrapy以后&#xff0c;可以使用Scrapy自带的命令来创建一个工程模板。 一、创建项目 使用Scrapy创建工程的命令为&#xff1a; scrapy startproject <工程名> 例如&#xff0c;创建一个抓取百度的Scrapy项目&#xff0c;可以将命令写为&#xff1a; scrapy s…

【S500无人机】--地面端下载

之前国庆的时候导师批了无人机&#xff0c;我们几个也一起研究了几次&#xff0c;基本把无人机组装方面弄的差不多了&#xff0c;还差个相机搭载&#xff0c;今天我们讲无人机的调试 硬件配置如下 首先是地面端下载&#xff0c;大家可以选择下载&#xff1a; Mission Planne地…

Android -- 简易音乐播放器

Android – 简易音乐播放器 播放器功能&#xff1a;* 1. 播放模式&#xff1a;单曲、列表循环、列表随机&#xff1b;* 2. 后台播放&#xff08;单例模式&#xff09;&#xff1b;* 3. 多位置同步状态回调&#xff1b;处理模块&#xff1a;* 1. 提取文件信息&#xff1a;音频文…

常用端口与Udp协议

目录 1.再谈端口 1.1 五元组 1.2 端口号范围划分 1.3 两个指令 1.3.1 netstat 1.3.2 pidof 2.UDP协议 2.1 协议整体格式 2.2 udp特点 2.3 udo缓冲区 1.再谈端口 1.1 五元组 端口号表示了一个主机上进行通信的不同的应用程序&#xff1b;在Tcp/IP协议中&#xff0c;用…

计算机毕业设计SpringCloud+大模型微服务高考志愿填报推荐系统 高考大数据 SparkML机器学习 深度学习 人工智能 Python爬虫 知识图谱

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

C/C++ 数据结构与算法【线性表】 顺序表+链表详细解析【日常学习,考研必备】带图+详细代码

1&#xff09;线性表的定义 线性表&#xff08;List&#xff09;&#xff1a;零个或多个数据元素的有限序列。 线性表的数据集合为{a1,a2,…,an}&#xff0c;假设每个元素的类型均为DataType。其中&#xff0c;除第一个元素a1外&#xff0c;每一个元素有且只有一个直接前驱元素…

搭建AD域服务器

搭建AD域服务器 使用深信服HCI搭建AD域服务器 1、新建虚拟机 2、填写参数 3、省略安装过程 4、进入服务器管理器 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 21、 22、 23、

【算法day4】链表:应用拓展与快慢指针

题目引用 两两交换链表节点删除链表的倒数第n个节点链表相交环形链表 1.两两交换链表节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&am…

【Gitlab】gitrunner并发配置

并发介绍 涉及到并发控制的一共有4个参数: concurrent , limit ,request_concurrency,parallel 全局的配置: [rootiZ2vc6igbukkxw6rbl64ljZ config]# vi config.toml concurrent 4 #这是一个总的全局控制&#xff0c;它限制了所有pipline&#xff0c;所有runner执行器…

vue 2 父组件根据注册事件,控制相关按钮显隐

目标效果 我不注册事件&#xff0c;那么就不显示相关的按钮 注册了事件&#xff0c;才会显示相关内容 实现思路 组件在 mounted 的时候可以拿到父组件注册监听的方法 拿到这个就可以做事情了 mounted() {console.log(this.$listeners, this.$listeners);this.show.search !…