wav2lip模型复现

参考文章:嘴型同步模型Wav2Lip - 迷途小书童的Note迷途小书童的Note (xugaoxiang.com)

参考视频教程:嘴型同步模型wav2lip,给人物配音,怎么喜欢怎么来!_哔哩哔哩_bilibili 

模型介绍

2020年,来自印度海德拉巴大学和英国巴斯大学的团队,在 ACM MM2020 发表了的一篇论文 《A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild 》,在文章中,他们提出一个叫做 Wav2Lip 的 AI 模型,只需要一段人物视频和一段目标语音,就能够让音频和视频合二为一,人物嘴型与音频完全匹配。

算法流程

Wav2Lip 的主要原理是将音频信号与面部图像进行联合训练,以实现从音频信号预测出与之匹配的唇形。

具体来说,Wav2Lip 的算法流程如下:
首先,从音频中提取出相应的语音特征,例如 MFCCMel 频谱等。
接着,将音频特征与面部图像进行联合训练,使用一种生成对抗网络(GAN)的结构,学习出一个从音频特征到唇形图像的映射。在生成唇形图像时,首先对输入的音频进行预处理,包括进行采样、滤波、预测等操作。然后,将预处理后的音频特征输入到已经训练好的生成器中,生成与之匹配的唇形图像。最后,将生成的唇形图像与原始视频进行融合,得到最终的结果。

复现过程

1.下载源码包:https://github.com/Rudrabha/Wav2Lip/

 下载好的文件如下:

 

2.添加模型文件和素材

2.1添加模型文件

将s3fd.pth文件放到指定目录下,该模型是用于人脸检测的

 将wav2lip_gan.pth文件放到指定目录下

 2.2添加素材

将语音文件和图片/视频素材放在根目录下:

3.配置环境

需要提前配置好python和anaconda

3.1创建和配置虚拟环境

1.打开cmd:win + R

2.进入conda(base)环境:activate base

3.创建虚拟环境:conda  create -n lip python=3.8

 4.激活该虚拟环境:conda activate lip

 

 5.安装依赖包
(1)打开requirements.txt文件,将其修改为:

 (2)新装该文件:pip install -r .\requirements.txt

 6.需要gpu的环境,因此要安装pytorch:在pytorch官网复制安装命令

 3.2根据合成命令来调试

安装依赖包时没有要求版本,因此存在版本不兼容情况,需要根据程序的报错信息来调试。

合成命令:python .\inference.py --checkpoint_path .\wav2lip_gan.pth --face .\mouth.jpg --audio .\english.wav。其中,红色为图片/视频素材文件,绿色为音频素材文件。

报错1.librosa版本

 报错2.numba版本

 

 报错3.numpy版本

 

 报错4.缺少llvmlite和resampy

 

 

 4.成功运行

 

 

 合成结果在该文件下:

5.总结

1.网上说,wav2lip使用英文音频的测试效果比中文的好,中文音频的测试中牙齿部分还原度稍差,对中文的支持不够友好。但我自己测试没太看出来差别。
2.用卡通图片测试,一直没成功,我想是因为卡通线条的嘴型不能识别。只能识别有明显上下嘴唇的。

 

报错信息:ValueError: Face not detected! Ensure the video contains a face in all the frames.


3.嘴型越大,越有利于识别,好像合成速度也快些,但合成后的视频清晰度会明显下降。


还只是个大三的小虾米,有什么问题欢迎批评指正!祝大家都能顺利复现! 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值