唇形同步视频生成工具: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

待更新。。。

相关推荐
俊哥工具20 小时前
解决文件正在使用无法删除,顽固文件清理工具超好用
智能手机·电脑·word·音视频·媒体
AI服务老曹20 小时前
AI视频平台登录无反应性能优化指南:从接口失效到服务自启动的排查全解
人工智能·性能优化·音视频
Digitally21 小时前
7 种方法将三星S26/S25/S24/S23手机视频传电脑
智能手机·电脑·音视频
阿拉斯攀登1 天前
音视频采集:getUserMedia 与设备管理
音视频·webrtc·实时音视频·视频编解码
阿拉斯攀登1 天前
WebRTC 入门:是什么、能做什么、核心模块
音视频·webrtc·视频编解码·流媒体
数据法师1 天前
musicDownload :多平台音频资源聚合与本地化存储
音视频
小鹿软件办公1 天前
通过调整编码参数使用 VLC 媒体播放器无损压缩视频方法
运维·网络·音视频
音乐宝贝家1 天前
从合板到面单:麦杰克AC系列声学结构拆解与选购决策
新媒体运营·音视频·社交电子·业界资讯·媒体·用户运营·零售
AI服务老曹1 天前
摄像机安装AI视频分析参数配置说明:POC现场交付全流程指南
人工智能·音视频
myenjoy_11 天前
I2S 音频与数字音频接口详解
macos·音视频·xcode