LatentSync 是字节跳动联合北京交通大学推出的一个端到端的唇形同步框架,以下是对其的详细介绍:
一、技术基础
LatentSync 基于音频条件的潜在扩散模型,无需任何中间的 3D 表示或 2D 特征点。它利用了 Stable Diffusion 的强大生成能力,能够捕捉复杂的视听关联,并生成动态逼真的说话视频。
二、核心特点
- 唇形同步生成 :根据输入的音频,LatentSync 能够生成与之匹配的唇部运动,使视频中的人物嘴唇与音频同步。这一特点使其适用于配音、虚拟头像等场景。
- 高分辨率视频生成 :LatentSync 能够生成高分辨率的视频,克服了传统扩散模型在像素空间进行扩散时对硬件要求高的限制。
- 动态逼真效果 :生成的视频具有动态逼真的效果,能够捕捉到与情感语调相关的细微表情,使人物的说话更加自然生动。
- 时间一致性增强 :为了解决扩散模型在不同帧间扩散过程不一致导致的时间一致性问题,LatentSync 引入了 Temporal REPresentation Alignment(TREPA)方法。该方法使用大规模自监督视频模型提取时间表示,增强生成帧与真实帧的时间一致性,同时保持唇同步的准确性。
三、技术创新
- 端到端框架 :LatentSync 采用端到端的方式,无需中间运动表示,能够直接建模复杂的音频与视觉之间的关系。
- TREPA 机制 :通过 TREPA 机制,LatentSync 能够增强时间一致性,确保生成的视频在口型同步准确性的同时,能够在时间上保持连贯。
- SyncNet 优化 :LatentSync 解决了 SyncNet 的收敛问题,并显著提高了唇同步的准确性。这一优化经验也可应用于其他利用 SyncNet 的唇部同步和音频驱动的肖像动画方法。
四、项目地址
github地址:
https://github.com/bytedance/LatentSync
五、部署
1.设置环境
安装所需的软件包并通过以下方式下载检查点:
source setup_env.sh
如果下载成功,检查点应如下所示:
./checkpoints/
|-- latentsync_unet.pt
|-- latentsync_syncnet.pt
|-- whisper
| -- tiny.pt
|-- auxiliary
| |-- 2DFAN4-cd938726ad.zip
| |-- i3d_torchscript.pt
| |-- koniq_pretrained.pkl
| |-- s3fd-619a316812.pth
| |-- sfd_face.pth
| |-- syncnet_v2.model
| |-- vgg16-397923af.pth
| -- vit_g_hybrid_pt_1200e_ssv2_ft.pth
这些已经包括 latentsync 训练和推理所需的所有检查点。如果您只想尝试推理,您只需从 HuggingFace 存储库下载 latentsync_unet.pttiny.pt
2.推理
运行脚本进行推理,这需要大约 6.5 GB 的 GPU 内存。
./inference.sh
您可以将参数更改为 1.5 以提高口型同步精度。