Wav2Lip:准确生成一个唇语识别视频

最近小编在GitHub里面闲逛发现一个3年前的项目,里面的任务是AI生成唇语的,根据你输入的语音修改你输入的视频,使得你的视频能对的上你输入的语音。因为版本一直没有被维护,有一些python库太久无法安装,有一些还有冲突,所以小编帮忙改代码更新了版本,目前把新版本放到GitHub上面xiaoou2/wav2lip (github.com)

如果想训练的小伙伴可以下载数据集



唇读句子 2 (LRS2) 数据集 (ox.ac.uk)

lrs2数据集main_数据集-飞桨AI Studio星河社区 (baidu.com)

获取方式:

1.根据网站https://www.bbc.co.uk/rd/projects/lip-reading-datasets提示,获取word版数据集申请文件,在文件最后签署使用协议,使用邮箱发送到该网站指定邮箱,等待一两天即可收到带有用户名和密码的邮件。

2.点击上图中“Download”链接,使用用户名密码登陆,即可下载数据集。共计50GB左右,下载所需时间较长。

要想更多的数据集,可以参考史上最详细唇语识别数据集综述-CSDN博客 

小编没有进行尝试重新训练,因为机器太烂了qaq,但是下载原GitHub下的训练好的模型和视频来玩了一下,对于英文的唇语生成准确率还是很高的(中文没尝试过,不过看介绍视频觉得准确率也不差) 。原GitHub好像没有公开模型的结构和论文,所以这里主打一个拿来主义

1.使用预训练模型生成视频

下载好代码后,通过pip install -r requirements.txt下载对应的库(可能还会缺一点,通过pip install 安装应该可以解决,因为小编的环境不是全新的conda环境,里面有一些以前下载过的包)

主要准备4样东西,在里面找到链接下载预训练模型,找到一段语音和视频,时长要切割成一样,而且里面规定了视频要一直看到人脸.因为使用的是人脸检测算法,还需要在GitHub提供的链接下载一个训练好的人脸检测模型,改名s3fd.pth,放在Wav2Lip\face_detection\detection\sfd路径下。

做完一切功夫后,在终端执行这个命令,主要是输入这3样东西的相对路径

python inference.py --checkpoint_path <ckpt> --face <video.mp4> --audio <an-audio-source> 

注意:<>是多余的,删去,主要是为了标注输入相对路径

2.训练自己的模型 

训练文件需要有jpg图片和wav视频,训练数据从小编给的公开数据下载吧(data下有mian(自己划分train、val、test)和pretrain(模型预训练,label较为复杂)两个文件夹)

通过阅读要求发现好像要训练两个,先训练一个专业的口型同步鉴别器,如何再训练Wav2Lip模型。

训练鉴别器

python color_syncnet_train.py --data_root lrs2_preprocessed/ --checkpoint_dir <folder_to_save_checkpoints>

训练Wave2Lip模型

python wav2lip_train.py --data_root lrs2_preprocessed/ --checkpoint_dir <folder_to_save_checkpoints> --syncnet_checkpoint_path <path_to_expert_disc_checkpoint>

小编也没有训练过,所以可能训练部分代码中会有库的版本冲突,如果有小伙伴发生报错可以跟我说一下我也好纠错重发,谢谢各位批评指正!!!

希望这篇博客能帮助到你!!!!!

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

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

相关文章

mysql参数配置binlog

官网地址&#xff1a; MySQL :: MySQL Replication :: 2.6.4 Binary Logging Options and Variables 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. MySQL 复制 / ... / 二进制日志记录选项和变量 2.6.4 二进…

ChatGPT免费 | 8个免费使用GPT-4的方法

这篇文章为寻找免费使用GPT-4技术的读者提供了一份实用的指南。 每个推荐的平台都包括了简要的描述和链接&#xff0c;方便读者直接访问。 以下是根据你提供的内容&#xff0c;稍作整理的文章结构&#xff1a; 1. HuggingFace 描述: 提供GPT-4等多种语言模型的平台。 如何使用:…

前端性能优化二十:构建工具选型构建工具选型

(1). Grunt: ①. 最早的构建工具.②. 使用js写shell脚本的形式来处理开发过程中的代码压缩和合并工作.③. 一个项目需要定制多个小任务和引用多个插件:a. 如eslint代码检查,在配置文件写好eslint相关的配置任务.b. 其它类似写成多个小任务.c. grunt逐个运行每个任务.④. 弊端:…

【SPI和API有什么区别】

✅什么是SPI&#xff0c;和API有什么区别 ✅典型解析&#x1f7e2;拓展知识仓&#x1f7e2;如何定义一个SPI&#x1f7e2;SPI的实现原理 ✅SPI的应用场景SpringDubbo ✅典型解析 Java 中区分 API和 SPI&#xff0c;通俗的进: API和 SPI 都是相对的概念&#xff0c;他们的差别只…

装饰器模式(Decorator)

装饰器模式(Decorator Pattern)是一种结构型设计模式,用于动态地给一个对象添加额外的职责。装饰器提供了一个灵活的替代扩展功能的方案,相比继承更加灵活。 在Java中,装饰器模式通常涉及以下几个部分: 组件(Component):定义一个对象接口,可以给这些对象动态添加职责…

优化模型:MATLAB整数规划

一、整数规划介绍 1.1 整数规划的定义 若规划模型的所有决策变量只能取整数时&#xff0c;称为整数规划。若在线性规划模型中&#xff0c;变量限制为整数&#xff0c;则称为整数线性规划。 1.2 整数规划的分类 整数规划模型大致可分为两类&#xff1a; &#xff08;1&…

SQL进阶理论篇(二十):什么是SQL注入

文章目录 简介SQL注入的原理SQL注入的实例搭建sqli-labs注入环境实例一&#xff1a;猜测where条件判断查询语句的字段数获取当前数据库和用户信息获取MySQL中的所有数据库名称查询wucai数据库中的所有数据表查询heros数据表中的所有字段参考文献 简介 这节是纯兴趣篇了。 web…

less 查看文本时,提示may be a binary file.See it anyway?

解决办法 首先使用echo $LESSCHARSET查看less的编码 看情况设置less的编码格式(我的服务器上使用utf-8查看中文) 还要特别注意一下&#xff0c;Linux中存在的文本文件的编码一定要是utf - 8;&#xff08;这一步很关键&#xff09; 例如&#xff1a;要保证windows上传到Linux的…

Linux Shell 001-Bash简介

Linux Shell 001-Bash简介 本节关键字&#xff1a;Linux、Bash Shell、shell分类 相关指令&#xff1a;bash、sh、cat Shell的介绍 计算机只能认识&#xff08;识别&#xff09;机器语言(0和1)&#xff0c;如&#xff08;11000000 这种&#xff09;。但是&#xff0c;我们的…

力扣(leetcode)1148和1179题(MySQL)

1148.文章浏览I 题目链接&#xff1a;1148.文章浏览I 解答 # Write your MySQL query statement below select distinct author_id as id from Views where author_idviewer_id order by id;1179.重新格式化部门表 题目链接&#xff1a;1179.重新格式化部门表 解答 …

线程池构造方法的认识

线程池中构造方法的认识 文章目录 线程池中构造方法的认识corePoolSize (核心线程数)maximumPoolSize&#xff08;最大线程数&#xff09;keepAliveTime(非核心线程的空闲超时时间)TimeUnitworkQueuethreadFactoryRejectedExecutionHandler拒绝策略 标准库中提供了一个ThreadPo…

conda镜像源,Jupyter内核配置

python -m ipykernel install --user --namezgy阿里源 conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/r conda config --add channels http://mirrors.aliyun.com/anaconda…

uniapp自定义头部导航怎么实现?

一、在pages.json文件里边写上自定义属性 "navigationStyle": "custom" 二、在对应的index页面写上以下&#xff1a; <view :style"{ height: headheight px, backgroundColor: #24B7FF, zIndex: 99, position: fixed, top: 0px, width: 100% …

RocketMQ实践:确保消息不丢失与顺序性的高效策略

一、使用RocketMQ如何保证消息不丢失&#xff1f; 这个是在面试时&#xff0c;关于MQ&#xff0c;面试官最喜欢问的问题。这个问题是所有MQ都需要面对的一个共性问 题。大致的解决思路都是一致的&#xff0c;但是针对不同的MQ产品又有不同的解决方案。分析这个问题要从以 下几…

从导航软件到游戏行业的小讨论

大家好&#xff0c;我是阿赵。   最近&#xff0c;我把用了十几年的百度地图&#xff0c;换成了高德地图。百度地图从功能上是没问题的&#xff0c;非常好用&#xff0c;而导致我不继续用它的原因&#xff0c;其实是一个很小的原因&#xff1a;百度地图在导航的过程中&#x…

汽车服务品牌网站建设的作用是什么

汽车服务涵盖多个层面&#xff0c;在保修维护这一块更是精准到了车内车外&#xff0c;无论是品牌商还是市场中各维修部&#xff0c;都能给到车辆很好的维修养护服务。如今车辆的人均拥有量已经非常高&#xff0c;也因此市场中围绕汽车相关的从业者也比较多。 首先就是拓客引流…

SpringBoot找不到或无法加载主类

1&#xff0c;bug贴图 2&#xff0c;问题说明 之所以导致这个问题是因为新建项目的时候&#xff0c;项目目录是这样的com.lab.hei.springboot.dubbo.ProviderApplication 我觉得这个目录太长了&#xff0c;所以修改了目录&#xff0c;修改后cn.alisa.springboot.dubbo.Provider…

PostGreSQL:货币类型

货币类型&#xff1a;money money类型存储固定小数精度的货币数字&#xff0c;小数的精度由数据库的lc_monetary设置决定。windows系统下&#xff0c;该配置项位于/data/postgresql.conf文件中&#xff0c;默认配置如下&#xff0c; lc_monetary Chinese (Simplified)_Chi…

C++的一些零散小知识

文章目录 1、空指针nullptr的类型为std::nullptr_t2、函数定义中&#xff0c;如果不需要使用参数的值&#xff0c;可以省略参数名3、静态成员变量在C17之后可以直接在类内定义并初始化了 1、空指针nullptr的类型为std::nullptr_t 一个毫无意义的例子&#xff1a; template<…