软硬件环境是
简介2020年,来自印度海德拉巴大学和英国巴斯大学的团队,在ACM MM2020发表了的一篇论文《A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild 》,在文章中,他们提出一个叫做Wav2Lip的AI模型,只需要一段人物视频和一段目标语音,就能够让音频和视频合二为一,人物嘴型与音频完全匹配。 快速体验可以先到作者提供的体验站体验一番,地址是:https://bhaasha./lipsync/example3/ 实践准备环境首先使用conda创建新的虚拟环境,然后激活这个环境
接着来到官方网站,使用git克隆代码,或者直接下载源码压缩包解压,安装依赖
在windows平台上,使用了阿里云的pip源,发现找不到torch 1.1的版本, 接下来需要安装ffmpeg,这是音视频处理的神器,ubuntu版本使用apt安装
windows用户的话,可以到 https://github.com/BtbN/FFmpeg-Builds/releases 下载,解压后将bin对应的路径添加到系统环境变量PATH中。 准备素材下面开始准备素材,我们把官方体验站上的测试视频下载下来,使用下面的命令
这个测试视频只有 3秒,那接下来就去找个对应 3秒 的音频。如果能有现成的音频文件最好,如果没有的话,我的做法是这样的,从某个视频文件中提取音频,然后进行裁剪,这里需要的时长是三秒。这两步会使用到ffmpeg这个工具 视频裁剪,从第15秒开始,总时长是3秒,目标视频的音视频编码格式与原始的保持一致
从视频中提取音频
准备模型文件第一个需要的模型是脸部检测预训练模型,下载地址是: 脸部模型:接下来去下载模型文件,这里作者提供了3个,可以任选一个,后两个优于第一个。 它们的区别如下表所示,本文使用的是Wav2Lip + GAN,下载地址: 下载后放在项目 根目录 wav2lip 运行代码执行下面的命令将视频 test.mp4 和音频 test.mp3 进行合成
执行下面的命令将图片1.jpg 和音频 test.mp3 进行合成
最后,生成的新视频文件保存在 FAQ
这个一般是由于片头或者片尾没有脸,解决方法也很简单,使用ffmpeg或者剪辑软件,将片头或片尾相应的帧剪掉就可以了 备注 参考资料http:///abs/2008.10010 https://github.com/Rudrabha/Wav2Lip http://bhaasha./lipsync/ https://github.com/1adrianb/face-alignment https:///2020/09/29/ffmpeg-cmd/ |
|