最近,美团视觉智能部开源了 InfiniteTalk,这项技术不仅打破了视频时长的限制,更实现了从“对口型”到“全身演技”的跨越。今天我们就来深度扒一扒这个号称能生成“无限时长”视频的开源黑科技。
痛点:传统技术的
“口型僵局”
在使用 InfiniteTalk 之前,市面上的 Video Dubbing(视频配音)技术主要面临两大尴尬:- “局部编辑”的僵硬感:传统的工具(如 Wav2Lip 等)通常只修改嘴部区域来匹配音频。这就导致了一个严重的视听不一致——当音频里的人物激动大喊时,画面里的人却身体纹丝不动,只有嘴巴在张合。这种“面瘫式”表演极大地破坏了沉浸感。
- 长视频的“崩坏”:现有的 AI 生成模型在处理长视频时,往往会出现身份漂移(脸越变越不像本人)或者片段过渡生硬的问题。
核心亮点:重新定义数字人驱动
InfiniteTalk 提出了一种全新的“稀疏帧视频配音”范式。简单来说,它不再把任务看作是“修复嘴部”,而是看作“基于关键帧引导的全身视频生成”。- 无限时长生成:这是它最大的杀手锏。得益于流式生成架构,理论上它可以生成任意长度的视频,无论是 5 分钟的 Vlog 还是 1 小时的课程讲座,都能保持连贯。
- 全身动作同步:它不仅对口型,还能根据音频的情感、节奏,自动生成匹配的头部晃动、面部表情甚至身体姿态。比如说到重音时肩膀会自然起伏,情绪激动时会有手势配合。
- 双模态输入支持:既支持“图片+音频”生成视频,也支持“视频+音频”进行重绘(Video-to-Video)。
技术揭秘:它是如何做到的?
InfiniteTalk 之所以能做到“既要又要”,主要依赖于以下几个关键技术点:- 软条件控制策略:
- 如果太严格参考原视频,动作会僵硬;如果太放飞自我,人物长相会变样。
- InfiniteTalk 采用了一种动态调整控制强度的方法,既保留了源视频的人物特征,又给了 AI 足够的自由度去演绎情感动作。
- 音频-视觉双交叉注意力:
- 它将音频特征与视频帧深度绑定。这意味着,声音里的皱眉、眼神变化都会被模型捕捉并转化为画面上的微表情,实现真正的“声情并茂”。
- 流式生成与上下文参考:
- 通过引入上下文参考帧,模型能够像流媒体一样一段接一段地生成视频,彻底消除了长视频常见的累积误差和突兀过渡。
部署指南:本地运行实测
对于开发者来说,最关心的莫过于如何上手。InfiniteTalk 已经开源了代码和权重,支持本地部署。硬件要求:
由于基于扩散模型,对显卡有一定要求。建议使用 NVIDIA RTX 30/40 系列显卡,显存建议 12GB 以上(最低 8GB)。
- GitHub: MeiGen-AI/InfiniteTalk
- 技术报告: ArXiv Paper
安装
1. 创建一个 conda 环境并安装 pytorch、xformers
conda create -n multitalk python=3.10
conda activate multitalk
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121
pip install -U xformers==0.0.28 --index-url https://download.pytorch.org/whl/cu121
2. Flash-attn installation:
pip install misaki[en]
pip install ninja
pip install psutil
pip install packaging
pip install wheel
pip install flash_attn==2.7.4.post1
3. 其他依赖关系
pip install -r requirements.txt
conda install -c conda-forge librosa
4. FFmeg 安装
conda install -c conda-forge ffmpeg
或者
sudo yum install ffmpeg ffmpeg-devel
模型制备
1. 模型下载
使用 huggingface-cli 下载模型:
huggingface-cli download Wan-AI/Wan2.1-I2V-14B-480P --local-dir ./weights/Wan2.1-I2V-14B-480P
huggingface-cli download TencentGameMate/chinese-wav2vec2-base --local-dir ./weights/chinese-wav2vec2-base
huggingface-cli download TencentGameMate/chinese-wav2vec2-base model.safetensors --revision refs/pr/1 --local-dir ./weights/chinese-wav2vec2-base
huggingface-cli download MeiGen-AI/InfiniteTalk --local-dir ./weights/InfiniteTalk