手把手教你在Ubuntu22上安装VideoRetalking

news2025/4/25 13:07:40

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.1

wget 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 ffmpeg

pip 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.coloradmin.cn/o/1356473.html

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

相关文章

印象笔记04: 如何将印象笔记超级会员价值最大化利用?

印象笔记04: 如何将印象笔记超级会员价值最大化利用? 为什么有这个问题 我不知道有没有人一开始接触印象笔记觉得非常好。奈何只能两个设备同步,局限太多。而会员活动比较优惠——就开了会员。而且我开了十年……。只能开发一下看看怎么最大…

Midjourney表情包制作及变现最全教程

盘点Midijourney(AIGF)热门赚米方法,总有一种适合你之AI绘画操作技巧及变现渠道剖析 【表情包制作】 首先我们对表情包制作进行详细的讲解: 当使用 Midjourney(AIGF) 绘画来制作表情包时,你可以…

【数值分析】Hermite插值

4. Hermite插值 理论和应用中提出的某些插值问题,要求插值函数 p ( x ) {p(x)} p(x) 具有一定的光滑度,即在插值节点处满足一定的导数条件,这类插值问题称为Hermite插值问题。题目大多以三次Hermite插值为主。三次Hermite插值需要四个条件&…

[足式机器人]Part2 Dr. CAN学习笔记-动态系统建模与分析 Ch02-4 拉普拉斯变换(Laplace)传递函数、微分方程

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-动态系统建模与分析 Ch02-4 拉普拉斯变换(Laplace)传递函数、微分方程 1. Laplace Transform 拉式变换2. 收敛域(ROC)与逆变换(ILT&…

Flappy Bird QDN PyTorch博客 - 代码解读

Flappy Bird QDN PyTorch博客 - 代码解读 介绍环境配置项目目录结构QDN算法重要函数解读preprocess(observation)DeepNetWork(nn.Module)BirdDQN类主程序部分 介绍 在本博客中,我们将介绍如何使用QDN(Quantile Dueling Network)算法&#xf…

天洑智能设计全系列产品完成银河麒麟操作系统适配!

近日,天洑软件智能设计全系列产品(智能热流体仿真软件AICFD、智能结构仿真软件AIFEM、智能优化软件AIPOD、智能数据建模软件DTEmpower)已成功完成银河麒麟桌面操作系统V10的适配工作。双方产品完全兼容,运行稳定、安全可靠、性能优…

WEB:探索开源OFD.js技术应用

1、简述 OFD.js 是一个由开源社区维护的 JavaScript 库,专注于在浏览器中渲染和处理 OFD 文件。OFD 作为一种开放式的文档格式,被广泛应用于电子政务、电子合同等领域。OFD.js 的出现为开发者提供了一个强大的工具,使得在前端实现 OFD 文件的…

拿到年终奖后马上辞职,厚道吗?

拿到年终奖后马上辞职,厚道吗? 作为一个人,你首先要对自己负责,其次是对自己身边的人(妻儿,家人,朋友)负责。 你明明可以跳槽到有更好的职业发展你不去,是为不智&#…

Impala-查询Kudu表详解(超详细)

文章目录 前言一、使用Impala查询kudu表介绍1. 使用Impala与Kudu表的好处2. 配置Impala以使用Kudu3. Kudu副本因子 二、Impala DDL增强功能1. Kudu表的主键列2. Kudu表特定的列属性1. 主键属性2. NULL | NOT NULL属性3. DEFAULT属性4. ENCODING属性5. COMPRESSION属性6. BLOCK_…

Axure鲜花商城网站原型图,网上花店订花O2O本地生活电商平台

作品概况 页面数量:共 30 页 兼容软件:仅支持Axure RP 9/10,非程序软件无源代码 应用领域:鲜花网、花店网站、本地生活电商 作品特色 本作品为「鲜花购物商城」网站模板,高保真高交互,属于O2O本地生活电…

Docker-Compose部署Redis(v7.2)主从模式

文章目录 一、前提准备1. redis配置文件2. 下载redis镜像3. 文件夹结构 二、docker-compose三、主从配置1.主节点配置文件 环境 docker desktop for windows 4.23.0redis 7.2 一、前提准备 1. redis配置文件 因为Redis 7.2 docker镜像里面没有配置文件,所以需要…

并行算法举例

谷歌的三大马车中的两辆分别是MapReduce GFS 这些我们在后边都会学到。 补充shuffle的作用 将map中的内容,具备相同内容的key被放到一组 问题1 矩阵乘法 第一轮j相同放在一起。 第二轮ik相同的放在一起。 问题2 求和问题 问题3 不重复元素

解决docker容器内无法连接宿主redis

背景 小程序的发短信服务挂了,随查看日志,该报错日志如下 Error 111 connecting to 127.0.0.1:6379. Connection refused. 6379是监听redis服务的端口,那大概是redis出错了。 首先查看了redis是否正常启动,检查出服务正常。 由于小…

(Java基础知识综合)

进制转换&#xff1a; 其他转10 10转其他 2进制8和16 8和16转2 位运算&#xff1a; >> 除于2 <<乘以2 近似值 空心金字塔 this关键字还可以用于访问父类中的属性和方法

基于sy3130光感入耳检测功能成功实现

基于sy3130光感入耳检测功能成功实现 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 1 芯片介绍 2 电路实现 3 寄存器列表

jmeter自动录制脚本功能

问题排查&#xff1a; 建议用 google浏览器&#xff1b; 重启一下jmeter&#xff1b; 过滤规则重新检查下&#xff1b; 看下代理设置是否正常&#xff1b; 注意&#xff1a;下面的的过滤设置中 用的都是正则表达式的规则。

「Parasolid」PK函数说明

✨博客主页何曾参静谧的博客📌文章专栏「PK」Parasolid函数说明📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C++」C/C++程序设计「Win」Windows程序设计「DSA」数据结构与算法「File」数据文件格式「UG/NX」BlockUI集合目录…

pandas保存style到excel文件中

更多pandas style用法请参考&#xff1a;https://pandas.liuzaoqi.com/doc/chapter8/style.html 示例程序 import numpy as np import pandas as pd# 示例数据 dataframe pd.DataFrame({"date": pd.date_range("2024-01-01", "2024-02-01"),&…

郑州大学算法设计与分析实验2

判断题 1 #include<bits/stdc.h> using namespace std;const int N 50; int f[N], n;int main() { // freopen("1.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n;f[1] 1; f[2] 1;for(int i 3; i &l…

C++算法学习五.二叉树(1)

1.二叉树理论基础 二叉树的种类&#xff1a; 满二叉树&#xff1a;一棵二叉树只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上&#xff0c;则这棵二叉树为满二叉树。深度为k&#xff0c;总共有2的k次幂-1个节点。 完全二叉树&#xff1a;在完全二叉树中…