唇形同步视频生成工具:Wav2Lip

一、模型介绍

今天介绍一个唇形同步的工具-Wav2Lip;Wav2Lip是一种用于生成唇形同步(lip-sync)视频的深度学习算法,它能够根据输入的音频流自动为给定的人脸视频添加准确的口型动作。

(Paper)

Wav2Lip模型是基于生成对抗网络(GAN)构建的,它包含生成器和判别器两个主要部分。生成器负责根据输入的音频波形生成逼真的面部动画,而判别器则负责区分生成的动画与真实的面部动画 ;

其主要结构和工作原理的详细描述如下:

  1. 判别器(D_{SyncNet}):第一阶段是训练一个能够判别声音与嘴型是否同步的判别器。这个判别器的目标是提高对声音与嘴型同步性的判断能力。

  2. 生成器(编码-解码模型结构):第二阶段采用编码-解码模型结构,包括一个生成器和两个判别器。生成器尝试生成与音频同步的面部动画,而两个判别器分别负责判断生成的动画与真实动画的同步性和视觉质量。

  3. 主要模块:Wav2Lip模型包括三个主要模块:

    • Identity Encoder(身份编码器):负责对随机参考帧进行编码,以提取身份特征。
    • Speech Encoder(语音编码器):将输入语音段编码为面部动画特征。
    • Face Decoder(人脸解码器):将编码后的特征进行上采样,最终生成面部动画。

二、本地部署

下面我们就在本地或者魔塔平台上部署一下这个模型,这里我选择在魔塔上部署该项目:

2.1 创建conda虚拟环境

根据github上的README,我们在硬件上需要有Nvidia的显卡,同时需要在python=3.6的环境下运行,之前博文有详细介绍如何在魔塔上安装miniconda以及创建虚拟环境,这里就不再赘述了,这里我们就创建一个名为wav2lip的虚拟环境;

2.2 安装依赖环境

bash 复制代码
git clone https://github.com/Rudrabha/Wav2Lip.git

cd Wav2Lip

注:需要注意的一点是,在安装依赖环境之前,将requirements.txt文件中的

复制代码
opencv-contrib-python>=4.2.0.34改为opencv-contrib-python==4.2.0.34
bash 复制代码
# 安装依赖环境
pip install -r requirements.txt
# 下载模型权重
git clone https://www.modelscope.cn/GYMaster/Wav2lip.git

2.3 运行

bash 复制代码
python inference.py --checkpoint_path <ckpt> --face <video.mp4> --audio <an-audio-source> 

其中:

--checkpoint_path 是上面下载的模型权重的路径

--face 是需要同步口型的视频文件路径

--audio 是对应的音频文件路径

需要注意一下几点:

1、音频文件的时长不应超过视频文件的时长;

2、视频文件中必须保证每一帧画面都有清晰的人脸;

2.4 Web-UI

待更新。。。

相关推荐
kirk_wang2 小时前
clipchamp制作视频&文字转语音音频
音视频
易我数据恢复大师2 小时前
如何将视频转化为音频?五个方法策略
音视频·软件·人声分离·音频提取
legendary_1632 小时前
LDR6500:音频双C支持,数字与模拟的完美结合
c语言·开发语言·网络·计算机外设·电脑·音视频
科技小E4 小时前
视频点播直播EasyDSS与无人机RTMP推流直播为何成为热门跨界融合技术
安全·php·音视频·无人机·视频监控
电子科技圈9 小时前
XMOS将在CES 2025上展出多款由边缘AI驱动的创新音效、音频、识别和处理解决方案
人工智能·科技·嵌入式硬件·mcu·物联网·音视频·iot
java1565505797010 小时前
前端 mp4 视频改成 m3u8 流模式
前端·音视频
yunmoon0111 小时前
一个功能强大的视频翻译和本地化配音工具,支持影视级双语字幕/视频配音
音视频
Jack1530276827911 小时前
D2761是为保护扬声器所设计的音频限幅器,其限幅值可通过外接电 阻来调节,适合在个人电脑、便携式音响等系统中作音频限幅用。
电脑·手机·笔记本电脑·音视频·音响
非ban必选11 小时前
JavaCV视频文件音视频分离
ffmpeg·音视频
飞飞-躺着更舒服21 小时前
多媒体文件解复用(Demuxing)过程
计算机视觉·音视频