手把手教你在Ubuntu22上安装VideoRetalking

VideoReTalking是一种新系统,可以根据输入音频编辑真实世界的谈话头部视频的面孔,即使具有不同的情感,也能生成高质量和口型同步的输出视频。我们的系统将这个目标分解为三个连续的任务:

(1)具有规范表情的面部视频生成。
(2)音频驱动的口型同步。
(3)面部增强以提高照片真实感。

给定一个会说话的视频,他可以使用表达式编辑网络,根据相同的表达式模板修改每一帧的表情,从而生成一个带有规范表达式的视频。然后,该视频与给定的音频一起被馈送到口型同步网络以生成口型同步视频。最后通过身份感知人脸增强网络和后处理来提高合成人脸的照片真实感。

一:安装Ubuntu22的服务器版本

1、安装编译环境

Ubuntu22安装后,打开ssh服务,并配置好一个终端。

#安装gcc和g++
sudo apt update
sudo apt install gcc g++#查看版本
gcc --version
g++ --version

2、禁用Nouveau

#首先,编辑黑名单配置。vim /etc/modprobe.d/blacklist.conf#在文件的最后添加下面两行。blacklist nouveau
options nouveau modeset=0#然后,输入下面的命令更新并重启。update-initramfs -u
reboot

3、安装Nvidia计算卡,本例中我使用了P40 24G计算卡,就以此为例进行配置

#重启后输入下面的命令验证是否禁用成功,成功的话这行命令不会有输出。lsmod | grep nouveau#安装Nvidia驱动,首先使用apt卸载已有的ubuntu自带的Nvidia驱动,命令如下。apt-get purge nvidia*#上传驱动文件至服务器,进入驱动所在路径,赋予执行权限,并执行安装命令
chmod +x NVIDIA-Linux-x86_64-535.86.05.run#运行驱动程序软件
./NVIDIA-Linux-x86_64-535.86.05.run

安装后可以执行nvidia-smi来验证是否安装成功如下图:

4、安装Nvidia cuda

根据上图的提示,cuda最大可以支持12.1,我们就安装cuda12.1版本

#安装相关依赖
apt-get install zlib1g#下载cuda12.1wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run#付给文件执行权限
chmod +x cuda_12.1.0_530.30.02_linux.run#执行安装
sudo sh cuda_12.1.0_530.30.02_linux.run

配置启动环境

#直接将文件写在.bashrc里面PATH=$PATH:/usr/local/cuda/bin  
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64#使生效,也可以重启服务器。
source ~/.bashrc

验证cuda是否安装成功

5、安装cuDNN

下载地址:
https://developer.nvidia.com/rdp/cudnn-archive

文件是2023年8月发布的,文件名:cudnn-linux-x86_64-8.9.4.25_cuda12-archive.tar.xz

#解压缩
xz -d cudnn-linux-x86_64-8.9.4.25_cuda12-archive.tar.xz
tar -xvf cudnn-linux-x86_64-8.9.4.25_cuda12-archive.tar#考贝相关文件夹到相关目录:
cp /root/cudnn-linux-x86_64-8.9.4.25_cuda12-archive/include/cudnn.* /usr/local/cuda/include/
cp /root/cudnn-linux-x86_64-8.9.4.25_cuda12-archive/lib/* /usr/local/cuda/lib64#给相关目录付权限
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

6、安装anaconda,并设备国内源

#设置清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple#将anaconda文件上传至服务器,例如我使用的是这个版本:Anaconda3-2023.09-0-Linux-x86_64.sh
chmod +x Anaconda3-2023.09-0-Linux-x86_64.sh#安装anaconda
bash Anaconda3-2023.09-0-Linux-x86_64.sh

二:环境准备

#克隆项目软件
git clone https://github.com/vinthony/video-retalking.git
cd video-retalking
conda create -n video_retalking python=3.10
conda activate video_retalking#安装pytorch支持的CUDA 12.1
pip3 install torch torchvision torchaudio

接下来安装相关依赖

安装之前我们先修改一下requirements.txt文件的依赖版本:

basicsr==1.4.2
kornia==0.5.1
face-alignment==1.3.4
ninja==1.10.2.3
einops==0.4.1
facexlib==0.2.5
librosa==0.9.2
dlib==19.24.0
gradio>=3.7.0
numpy==1.23.1
opencv-contrib-python
opencv-python
scikit-image

修改后保存,开始执行安装。

conda install ffmpegpip install -r requirements.txt

假如报如下错误

ERROR: No matching distribution found for tb-nightly

pip install -i https://mirrors.aliyun.com/pypi/simple/ tb-nightly

然后再执行requirements.txt

pip install - r requirements.txt

直到不报错为止。

三:下载相关模型

1、下载预训练模型
https://drive.google.com/drive/folders/18rhjMpxK8LVVxf7PI6XwOidt8Vouv_H0?usp=share_link

无法下载,找国内的镜像站下载,或github发行版下载训练好的模型。
https://github.com/OpenTalker/video-retalking/releases/tag/v0.0.1

把这些文件下载下来,放到一个文件夹,起名叫:checkpoints。

注意:BFM.zip要解压出来。

2、把weights权重文件考到下面目录(两个文件),这两个文件也可以不用下面的方法,运行时会自动下载,但下载的速度太慢了,所以这里直接拷贝了。
/root/anaconda3/envs/video_retalking/lib/python3.10/site-packages/facexlib/weights/

需要考贝checkpoint文件(两个文件)至
/root/.cache/torch/hub/checkpoints/

3、在项目目录新建一个“temp”文件夹,在temp文件夹中分别新建一个“video”文件夹和“audio”文件夹,分别用来存放用来对嘴型的视频文件和音频文件的临时文件。

# mkdir temp
# cd temp
# mkdir video
# mkdir audio

4、配置网页版

修改webUI.py,其中IP地址是你的服务真实地址,你要根据实际情况来写。

vim webUI.py
#修改最后一句:
demo.queue().launch(server_name='192.168.29.197', server_port=7860, share=True, inbrowser=True)

运行网页版:

python webUI.py

然后打开浏览器

http://192.168.29.197:7860

5、命令行方式

python inference.py  --face examples/face/1.mp4  --audio examples/audio/1.wav  --outfile results/1_3.mp4

以上文件均为项目本身自带的测试视频和音频。

四:报错处理

报错1:ModuleNotFoundError: No module named 'cv2'

pip install opencv-python opencv-contrib-python

报错2:ERROR: CMake must be installed to build dlib

#缺少cmake编译器,执行安装cmake
conda install CMake

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

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

相关文章

SpringBoot实现登录拦截器

SpringBoot实现登录拦截器 对于管理系统或其他需要用户登录的系统,登录验证都是必不可少的环节,在SpringBoot开发的项目中,通过实现拦截器来实现用户登录拦截并验证。 1、SpringBoot实现登录拦截的原理 SpringBoot通过实现HandlerIntercep…

普中STM32-PZ6806L开发板(HAL库函数实现-访问多个温度传感器DS18B20)

简介 我们知道多个DS18B20的DQ线是可以被挂在一起的, 也就是一根线上可以访问不同的DS18B20而不会造成数据错乱, 怎么做到的,其实数据手册都有说到, 就是靠64-bit ROM code 进行识别, 也可以理解成Serial Number进行识别, 因为主要差异还是在Serial Numb…

本地git服务器的使用

最后总结一句,用gitlab最省事,管理权限最方便,别像下文一样整了。 Windows上使用: 首先要在windows开发机上生成密钥: 1.安装git,首先去git官网下载git,https://git-scm.com/downloads&#xff…

初学者SkyWalking详细使用文档

SkyWalking使用文档 下载地址:https://skywalking.apache.org/downloads/ 主要下载:skywalking apm(tar) 、agents(tar) 解压: (可选操作): ​ apache-skywalking-apm-bin --&g…

chromium在中文用户名下无法编译的问题

新电脑没有太注意,起用户名的时候用了中文。 在编译chromium104的代码时,因为环境变量有中文导致编译失败: 因为我的电脑默认是使用gbk编码,而不是utf-8编码。 这个问题有三种解决办法: (一)把…

MySQL——事物

目录 一.发现问题 二.什么时事物 三.事务提交方式 四.事物的常规操作方式 五. 事务隔离级别 1.如何理解隔离性 2.隔离级别 3.查看与设置隔离性 4.读未提交【Read Uncommitted】 5.读提交【Read Committed】 6.可重复读【Repeatable Read】 7.串行化【serializabl…

云卷云舒:大型电信运营商应用软件健康度评估方法

大型电信运营商内均会自建云资源池,并基于云资源池构建自己上层应用软件资源,但是各类上层应用软件的故障频发也给运维工作带来了较大的压力,电信运营商急需一种较完善的方法实现对于应用软件的健康度评测,以进一步指导运维完成应…

unity C# 中一看就会的try-catch-finally、throw

文章目录 1、C# 异常处理原理:2、C# 异常处理实用案例(简化版示例):3、throw关键字 C# 异常处理是一种用于捕获和处理程序运行时错误的机制,它允许程序在遇到不可预见或非正常条件时进行优雅地恢复或失败。C# 中的异常…

Rust 圣经 阅读 字符、布尔、单元类型

字符类型(char) Rust 的字符不仅仅是 ASCII ,还包含所有的 Unicode 值,包括单个的中文、日文、表情符号等等。 Unicode 值的范围从 U0000 ~ UD7FF 和 UE000 ~ U10FFFF。 因为每个 Unicode 都是 4 个字节编码,所以字符…

知虾皮Shopee:东南亚最受欢迎的电子商务平台

在如今数字化时代,电子商务平台成为人们购物的首选方式。Shopee作为东南亚地区最受欢迎的电子商务平台,通过其多样化的商品、便捷的购物体验和创新的商业模式,迅速在该地区占据了重要地位。本文将详细介绍Shopee的特点和优势,以及…

设计模式 七大原则

1.单一职责原则 单一职责原则(SRP:Single responsibility principle)又称单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合)。 描述: 类被修改的几率很大,因此应该专注…

CNN——VGG

1.VGG简介 论文下载地址:https://arxiv.org/pdf/1409.1556.pdf VGGNet 是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以 7.32% 的错误率赢得了 2014 年 ILSVRC 分类任务的亚军&#xff…

2024年MySQL学习指南(二),探索MySQL数据库,掌握未来数据管理趋势

文章目录 前言4. DDL- 操作数据库4.1 查询4.2 创建数据库4.3 删除数据库4.4 使用数据库 5. DDL- 操作数据表5.1 数据类型5.2 查询表5.3 创建表5.4 删除表5.5 修改表 6. 实战案例详解 前言 接上一篇文章【2024年MySQL学习指南(一)】 4. DDL- 操作数据库 …

2023-2024 年广东省职业院校技能大赛高职组 “软件测试”赛项竞赛规程

2023-2024 年广东省职业院校技能大赛(高职组) “软件测试”赛项竞赛规程 一、赛项信息 赛项名称:软件测试 赛项编号:GZ034 赛项组别:高职组 二、竞赛目标 软件是新一代信息技术的灵魂,是数字经济发展的基础…

LeetCode 每日一题 Day 32 ||递归单调栈

2487. 从链表中移除节点 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输入:head [5,2,13,3,8] 输出:[13,8] 解释:需要移除的节点是 5 ,2 和 3 。…

大数据 - Doris系列《二》- Doris安装(亲测成功版)

目录 🐶2.1 安装前准备 🥙1.设置系统最大文件打开句柄数 >启动一个程序的时候,打开文件的数量就是句柄数 🥙3.时钟同步 🥙4.关闭交换分区(swap) 🐶2.2 安装FE &#x1f436…

论文悦读(7)——NVM文件系统之Trio(SOSP‘23)文件系统

TRIO(SOSP23) 1. 背景(Background)1.1 NVM Technologis1.2 File System Customization1.3 Userspace NVM File Systems 2. 观察与动机(Observation & Motivation)3. 设计与实现(Design &…

JMeter 插件大全:详细介绍 Jmeter 常用插件

JMeter作为一个开源的接口性能测试工具,其本身的小巧和灵活性给了测试人员很大的帮助,但其本身作为一个开源工具,相比于一些商业工具(比如 LoadRunner),在功能的全面性上就稍显不足。这篇博客,就…

傅里叶级数、傅里叶变换、小波变换、离散余弦变换的理解

目录 1. 傅里叶级数2.傅里叶变换 1. 傅里叶级数 功能:能把任意周期性函数展开成一系列正弦、余弦函数的和。 公式: f ( x ) a 0 2 ∑ n 1 ∞ ( a n cos ⁡ ( 2 π n x T ) b n sin ⁡ ( 2 π n x T ) ) 傅里叶系数 a n 2 T ∫ x 0 x 0 T f ( x )…

网络安全|2024年需要重点关注的10种DNS攻击类型

目前,针对域名系统(DNS)的攻击已经成为企业组织数字化发展中的一个严重问题,每年都有数千个网站成为此类攻击的受害者。据最近的研究数据显示,2023年企业组织与DNS攻击相关的损失同比增加了49%,这些损失不仅…