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

待更新。。。

相关推荐
饭饭大王6662 小时前
CANN 生态深度整合:使用 `pipeline-runner` 构建高吞吐视频分析流水线
人工智能·音视频
晚霞的不甘4 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
愚公搬代码4 小时前
【愚公系列】《AI短视频创作一本通》016-AI短视频的生成(AI短视频运镜方法)
人工智能·音视频
那个村的李富贵5 小时前
CANN赋能AIGC“数字人”革命:实时视频换脸与表情驱动实战
aigc·音视频
晚霞的不甘5 小时前
CANN 支持强化学习:从 Isaac Gym 仿真到机械臂真机控制
人工智能·神经网络·架构·开源·音视频
晚霞的不甘10 小时前
CANN 支持多模态大模型:Qwen-VL 与 LLaVA 的端侧部署实战
人工智能·神经网络·架构·开源·音视频
拾荒的小海螺18 小时前
开源项目:LTX2 高效可控的开源视频生成模型
开源·音视频
EasyGBS1 天前
视频画面模糊、卡顿、丢失?EasyGBS新增“视频质量诊断”功能,告别人工盯屏
视觉检测·音视频·gb28181·花屏·视频质量诊断·蓝屏检测
zhuweisky1 天前
ArkTS实现鸿蒙手机视频聊天、屏幕分享(HarmonyOS)
音视频·harmonyos·鸿蒙开发
XHW___0011 天前
webrtc 关键模块创建的时机
网络·音视频·webrtc