如何本地部署虚VideoReTalking

这篇具有很好参考价值的文章主要介绍了如何本地部署虚VideoReTalking。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:

Win10专业版

VideoReTalking

问题描述:

如何本地部署虚VideoReTalking

如何本地部署虚VideoReTalking,人工智能,VideoReTalking

解决方案:

VideoReTalking是一个强大的开源AI对嘴型工具,它是我目前使用过的AI对嘴型工具中效果最好的一个!它是由西安电子科技大学、腾讯人工智能实验室和清华大学联合开发的。

1.安装git

next一直往下直到完成

如何本地部署虚VideoReTalking,人工智能,VideoReTalking

安装时所有的选项都默认即可

2.安装Anaconda

conda是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 conda是为 python程序创建的,适用于 Linux,OS X和Windows,也可以打包和分发其他软件。conda分为Anaconda和MiniConda。Anaconda是包含一些常用包的版本,Miniconda则是精简版,一般建议安装Anaconda,本文也以安装Anaconda为例;

anaconda是一个编程语言整合包,有了anaconda你可以更加方便的打库,切换环境,配置环境变量等
如何本地部署虚VideoReTalking,人工智能,VideoReTalkingnext一直往下直到完成(需要一点时间)
如何本地部署虚VideoReTalking,人工智能,VideoReTalking

添加环境变量
D:\ProgramData\anaconda3\condabin

安装成功之后,随便打开一个cmd窗口,输入“conda”如果出现的是如下的内容,即表示安装成功,否则就会报错“conda”不是内部或外部命令,也不是可运行的程序
或批处理文件

3.clone主程序到本地
在选定的文件夹空白处,点击鼠标右键,选择“Git Bash Here”,在打开的git命令窗口输入如下的命令:

git clone https://github.com/vinthony/video-retalking.git

主程序下载完成之后,可以关闭该git窗口,这时候在选定的磁盘空间有了一个名为“video-retalking”的文件夹;

4.创建和激活虚拟空间
首先进入到“video-retalking”文件夹中,在文件的路径栏输入“cmd”打开一个命令窗口,先后运行下面两行命令:

conda create -n video_retalking python=3.8

如何本地部署虚VideoReTalking,人工智能,VideoReTalkingy
如何本地部署虚VideoReTalking,人工智能,VideoReTalking

conda activate video_retalking
如何本地部署虚VideoReTalking,人工智能,VideoReTalking5.安装ffmpeg
在虚拟环境的命令窗口,输入如下的命令,安装FFmpeg:

conda install ffmpeg
如何本地部署虚VideoReTalking,人工智能,VideoReTalking
6.安装torch和cuda
继续运行下面的这行命令,安装特定版本的torch和cuda:

pip install torch1.9.0+cu111 torchvision0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html

如何本地部署虚VideoReTalking,人工智能,VideoReTalking
这一步由于需要下载的文件比较大,最大的文件有3.1GB,因此你需要耐心等待它的下载和安装完成,具体的速度取决于你当地的网络情况
如何本地部署虚VideoReTalking,人工智能,VideoReTalking
7.安装依赖组件
在torch和cuda安装结束之后,就可以安装VideoReTalking程序的依赖组件了,命令如下:

pip install -r requirements.txt

如何本地部署虚VideoReTalking,人工智能,VideoReTalking
pip install torch2.0.0+cu118 torchvision0.15.1+cu118 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118

pip install -r requirements.txt

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html

pip install -r requirements.txt

8.需要安装的组件比较多,因此这一步也需要等待一定的时间,具体取决于你的网络情况

如何本地部署虚VideoReTalking,人工智能,VideoReTalking
pip install dlib

9.下载和安装模型checkpoints

将下面这个文件夹(包含11个模型和1个子文件夹“BFM”)全部下载下来,然后将这个下载下来的checkpoints文件夹放在项目的跟目录中:

如何本地部署虚VideoReTalking,人工智能,VideoReTalking
10.使用教程
在项目的根目录,新建一个“temp”文件夹,在temp文件夹中分别新建一个“video”文件夹和“audio”文件夹,分别用来存放用来对嘴型的视频文件和音频文件的临时文件

只需要新建这三个文件夹即可,实际使用中不需要将视频和音频文件先复制到这两个文件夹中,不管你的视频和音频文件在什么位置,系统会自动往这个temp下面的两个文件夹再复制一份

如何本地部署虚VideoReTalking,人工智能,VideoReTalking
如何本地部署虚VideoReTalking,人工智能,VideoReTalking
11.运行webui界面

在虚拟环境的状态下,输入如下的命令即可运行webui界面

python webUI.py

如果不在虚拟环境下,则需先激活虚拟环境,即在项目的根目录地址栏输入cmd,打开命令窗口,输入如下的命令激活虚拟环境:

conda activate video_retalking

报错
如何本地部署虚VideoReTalking,人工智能,VideoReTalking12.安装gradio

pip install gradio

如何本地部署虚VideoReTalking,人工智能,VideoReTalking
13.运行python webUI.py

如何本地部署虚VideoReTalking,人工智能,VideoReTalking14.http://127.0.0.1:7860
如何本地部署虚VideoReTalking,人工智能,VideoReTalking
15.项目第一次运行的时候还会下载几个小模型文件,体积不大,耐心等待即可!第二次之后运行就不需要再下载模型文件了!

16.如果不想每次都手动激活虚拟环境,可以下载下面的bat文件,将它放在根目录,每次使用的时候双击该bat文件即可运行webui页面@

频不宜过长,生成视频会循环使用源视频,无需上传长视频

视频为标准MP4格式、视频中只有一张人脸、每帧都要有人脸、人脸清晰可识别,人脸不过过大

\VideoReTalking\python.exe inference.py --face examples/face/1.mp4 --audio examples/audio/1.wav --outfile results/1_1.mp4

python inference.py --face examples/face/1.mp4 --audio examples/audio/1.wav --outfile results/1_1.mp4
参数解释
基础参数设置base_options.py
参数类型默认值解释
–name str ‘face_recon’ 实验名称,决定样本和模型存储的位置
–gpu_ids str ‘0’ GPU的ID,例如:0、0,1,2、0,2。使用-1表示CPU
–checkpoints_dir str ‘./checkpoints’ 模型存储的目录
–vis_batch_nums float 1 用于可视化的图像批次数
–eval_batch_nums float inf 用于评估的图像批次数,设置为inf表示所有图像都参与评估
–use_ddp bool True 是否使用分布式数据并行
–ddp_port str ‘12355’ DDP端口
–display_per_batch bool True 是否使用批次显示损失
–add_image bool True 是否将图像添加到Tensorboard中
–world_size int 1 分布式数据并行的总批次数
–model str ‘facerecon’ 选择要使用的模型
–epoch str ‘latest’ 要加载的模型的训练轮数,设置为’latest’表示使用最新的缓存模型
–verbose bool 如果指定,则打印更多调试信息
–suffix str ‘’ 自定义后缀,将添加到opt.name中,例如:{model}_{netG}_size{load_size}

参数名
类
型
默认值描述
DNet_path str ‘checkpoints/DNet.pt’ DNet模型的路径
LNet_path str ‘checkpoints/LNet.pth’ LNet模型的路径
ENet_path str ‘checkpoints/ENet.pth’ ENet模型的路径
face3d_net_path str ‘checkpoints/face3d_pretrain_epoch_20.pth’ face3d模型的路径
face str None 包含要使用的人脸的视频/图像的文件路径,此参数必填
audio str None 要用作原始音频源的视频/音频文件的文件路径,此参数必填
exp_img str ‘neutral’ 表情模板。可以是’neutral’,‘smile’或图像路径。默认为’neutral’
outfile str None 要保存结果视频的路径
fps float 25.0 只有当输入为静态图像时可以指定的帧率,默认为25.0
pads list [0, 20, 0, 0] 填充(上、下、左、右)。请确保至少包含下巴区域
face_det_batch_size int 4 人脸检测的批处理大小
LNet_batch_size int 16 LNet的批处理大小
img_size int 384 图像的大小(宽度和高度相等)
crop list [0, -1, 0, -1]
将视频裁剪为较小的区域(上、下、左、右)。在resize_factor和
rotate参数之后应用。如果有多个人脸,这很有用。 -1表示根据高
度、宽度自动推断值
box list [-1, -1, -1, -1]
为人脸指定一个固定的边界框。如果人脸检测失败,请仅在万不得已
时使用此选项。仅在人脸几乎不移动时有效。 语法:(上、下、左、
右)
nosmooth bool False 在短时间窗口内阻止平滑人脸检测
static bool False 指定输入是否为静态图像
up_face str ‘original’ 人脸朝向的方向。可以是’original’或其他用户指定的方向
one_shot bool False 一次处理整个视频而不是逐帧处理
without_rl1 bool False 不使用相对l1损失
tmp_dir str ‘temp’ 保存临时结果的文件夹路径
re_preprocess bool False 重新预处理视频(例如,检测新的人脸)
模型训练参数设置train_options.py,训练模型根据实际情况调整。


data_root str ./ 数据集根目录
flist str datalist/train
/masks.txt 训练集掩膜文件名列表
batch_size int 32 批处理大小
dataset_mode str flist 选择数据集加载方式。[None
serial_batches bool 如果为True,按顺序获取图像以形成批次;否则随机获取图像。
num_threads int 4 加载数据的线程数
max_dataset_size int inf 数据集允许的最大样本数。如果数据集目录包含的样本数超过max_dataset_size,则仅加
载子集。
preprocess str shift_scale_rot_flip 加载时图像的缩放和裁剪方式。[shift_scale_rot_flip
use_aug bool True 是否使用数据增强
验证参数数据类型默认值解释说明
flist_val str datalist/val/masks.txt 验证集掩膜文件名列表
batch_size_val int 32 验证集的批处理大小
可视化参数数据类型默认值解释说明
display_freq int 1000 在屏幕上显示训练结果的频率
print_freq int 100 在控制台上显示训练结果的频率
网络保存和加载参数数据类型默认值解释说明
save_latest_freq int 5000 保存最新结果的频率
save_epoch_freq int 1 在每个epoch结束时保存检查点的频率
evaluation_freq int 5000 评估的频率
save_by_iter bool 是否按迭代保存模型
continue_train bool 继续训练:加载最新模型
epoch_count int 1 起始epoch计数,我们按<epoch_count><epoch_count>+<save_latest_freq>,…保存模型
phase str train 训练、验证、测试等
pretrained_name str None 从其他检查点继续训练
训练参数数据类型默认值解释说明
n_epochs int 20 初始学习率的epoch数
lr float 0.0001 Adam的初始学习率


lr_policy str step 学习率策略。[linear
lr_decay_epochs int 10 每lr_decay_epochs个epoch乘以一个gamma
脸部对焦参数配置facerecon_model.py,这些参数默认即可。
网络结构参数数据类型默认值解释说明
net_recon str ‘resnet50’ 网络结构
init_path str ‘checkpoints/init_model/resnet50-0676ba61.pth’ 初始化路径
use_last_fc bool False 是否对最后一个全连接层进行零初始化
bfm_folder str ‘BFM’ BFM文件夹路径
bfm_model str ‘BFM_model_front.mat’ BFM模型
渲染器参数参数数据类型默认值解释说明
focal float 1015. 焦距
center float 112. 中心点
camera_d float 10. 相机参数d
z_near float 5. 近截面
z_far float 15. 远截面
训练参数
数据类
型
默认值解释说明
net_recog str ‘r50’ 人脸识别网络结构
net_recog_path str ‘checkpoints/recog_model/ms1mv3_arcface_r50_fp16
/backbone.pth’ 人脸识别网络的权重文件路径
use_crop_face bool False 是否使用裁剪掩码来计算照片损失
use_predef_M bool False 是否使用预定义的M矩阵来处理预测的人脸特征 (M矩阵
用于三维形状预测)
数据增强参数参数数据类型默认值解释说明
shift_pixs float 10.0 像素平移大小
scale_delta float 0.1 尺度缩放因子的变化范围
rot_angle float 10.0 旋转角度的变化范围 (单位:度)
损失权重参数数据类型默认值解释说明
w_feat float 0.2 特征损失权重


损失权重参数数据类型默认值解释说明
w_color float 1.92 颜色损失权重
w_reg float 3.0e-4 形状正则化损失权重
w_id float 1.0 身份正则化损失权重
w_exp float 0.8 表情正则化损失权重
w_tex float 1.7e-2 纹理正则化损失权重
w_gamma float 10.0 Gamma矫正损失权重
w_lm float 1.6e-3 关键点坐标损失权重
w_reflc float 5.0 反照率损失权重
其他使用方法
表情控制参数操作,可以通过添加以下参数来控制表情:
参数解释
–exp_img 预定义的表情模板。默认为"neutral"(中性表情)。可以选择"smile"(微笑)或提供一个图片路径。
–up_face 可以选择"surprise"(惊讶)或"angry"(愤怒)来使用 GANimation 修改上半部分脸部的表情。

17.经测试,源视频识别错误将导致失败。具体原因官方没有详细说明,以下为网友总结:文章来源地址https://www.toymoban.com/news/detail-813627.html

1、资源问题:
视频不宜过长,生成视频会循环使用源视频,不用担心视频短的问题。

2、视频为标准MP4格式、视频中只有一张人脸、每帧都要有人脸、人脸清晰可识别,人脸不过过大,几乎半个屏幕。人脸不可过度AI化。
音频没有太多要求,发音清晰即可。

3、只支持N卡。若您的配置过低也会造成卡住的情况。


4、以上无法解决问题请使用网盘中的案例视频进行测试。

到了这里,关于如何本地部署虚VideoReTalking的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能本地化的时代即将到来

    2024 年 3 月 26 日,我有幸应邀参加了在北京凤凰中心举办的AI PC发布会。在这次活动中,英特尔展示了基于第一代酷睿 Ultra 高能效 X86 处理器的商用客户端,充分展现了 AI 加速下企业业务数字化的新趋势。英特尔成功地实现了对 AIGC 的最后一公里的真正打通,为企业带来了更

    2024年04月11日
    浏览(41)
  • 批量生成,本地推理,人工智能声音克隆框架PaddleSpeech本地批量克隆实践(Python3.10)

    云端炼丹固然是极好的,但不能否认的是,成本要比本地高得多,同时考虑到深度学习的训练相对于推理来说成本也更高,这主要是因为它需要大量的数据、计算资源和时间等资源,并且对超参数的调整也要求较高,更适合在云端进行。 在推理阶段,模型的权重和参数不再调

    2024年02月09日
    浏览(49)
  • 如何开始学习人工智能?人工智能入门教程

    你想要了解人工智能的基本原理和应用,但面对庞大的知识体系和众多的学习资源,你可能感到有些迷茫。不用担心!作为从事人工智能多年的我,今天将为你提供一条通俗易懂的学习路径,帮助你正确入门人工智能。 第一步:打下基础 在入门人工智能前,咱们先要具备了

    2024年02月11日
    浏览(53)
  • SWE-Agent 这是针对本地模型的新人工智能一个开源项目

    完全自主的编码代理,可以解决 GitHub 问题。 它在编码基准测试中的得分几乎与 Devin 一样高。 这是完整的评论和教程。 SWE-agent 将 LM(例如 GPT-4)转变为软件工程代理,可以修复真实 GitHub 存储库中的错误和问题。 🎉 在完整的 SWE-bench 测试集上,SWE-agent 修复了 12.29% 的问题

    2024年04月26日
    浏览(44)
  • 数据驱动的人工智能:从算法设计到实践部署

    人工智能(Artificial Intelligence, AI)是一门研究如何让机器具有智能行为的学科。数据驱动的人工智能(Data-Driven AI)是一种通过大量数据来训练和优化机器学习模型的方法。这种方法的核心思想是通过大量数据来驱动机器学习模型的训练和优化,从而使其具备更好的性能和准确性。

    2024年02月22日
    浏览(42)
  • 微信小程序的人工智能模型部署(flask)

    目录 写在前面: 具体做法: 后端: 前端: 其他: 我使用的微信小程序开发工具是:“微信开发者工具”,当然你用其他的开发工具应该也差别不大; 人工智能模型用的是pytorch; 具体不介绍人工智能模型的保存,主要介绍一下flask的写法; 首先你要把人工智能模型先保存

    2024年02月15日
    浏览(97)
  • 【人工智能】新工匠精神:人工智能挑战下如何成为稀缺人才

    在人工智能技术不断发展的今天,如何成为稀缺人才是每个从事相关行业的人都需要思考的问题。随着人工智能的广泛应用,越来越多的传统岗位将被自动化和智能化取代,而掌握人工智能技术的专业人才将会更加受欢迎,成为市场上的稀缺资源。 如何成为人工智能领域的稀

    2024年02月07日
    浏览(50)
  • 人工智能规制:如何让人工智能更好地服务于旅游领域

    作者:禅与计算机程序设计艺术 随着互联网的发展、电子商务的普及、移动支付的流行以及人们对健康生活的追求,人类一直以来都在不断探索新的方式来体验生活。其中,旅游已经逐渐成为人们获取信息、认知和互动的方式之一。但是,由于旅游行业的数据量、用户需求以

    2024年02月07日
    浏览(64)
  • 人工智能与人类互动:如何设计一个好的人工智能交互界面?

    作者:禅与计算机程序设计艺术 引言 人工智能(AI)正在改变我们的生活和各行各业。随着 AI 技术的不断发展,越来越多的人开始关注人工智能与人类互动的设计问题。一个好的人工智能交互界面对于用户体验、应用效果以及 AI 的利用率都具有重要意义。在这篇文章中,我

    2024年02月09日
    浏览(64)
  • 人工智能入门实战:如何在人工智能中实施可解释性

    人工智能(Artificial Intelligence, AI)是一门研究如何让计算机模拟人类智能的科学。在过去的几十年里,人工智能技术已经取得了显著的进展,例如机器学习、深度学习、自然语言处理、计算机视觉等。然而,这些技术仍然存在一个重要的问题:它们的决策过程通常是不可解释

    2024年01月20日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包