Wan系列模型解析--VACE
论文链接:https://arxiv.org/abs/2503.07598
文章目录
- 简介
- 架构设计
- 多模态输入和视频任务
- VCU
- 架构
- Context tokenization
- 概念解耦
- 上下文隐空间编码
- 上下文嵌入
- 全微调和Context Apater微调
- 数据集
- 数据构建
- VACE-Benchmark
- 实验
简介
DiT在生成高质量图像和视频方面已展现出强大的能力与可扩展性,进一步追求生成与编辑任务的统一需求也越来越明显,但由于视频合成对时空动态一致性存在内在需求,实现视频合成的统一方法仍面临挑战。本文提出 VACE,即一体化视频创作与编辑框架,该框架支持用户在单一平台内完成多种视频任务,包括图片生视频、视频编辑以及掩码引导的视频编辑。
具体而言,通过将视频任务的各类输入,如编辑需求、参考信息、掩码区域等整合到一个名为 “视频条件单元(Video Condition Unit, VCU)” 的统一接口中,实现对多种任务需求的集成。此外,利用 “上下文适配器(Context Adapter)” 结构,通过时空维度的形式化表示,将不同任务的核心概念注入模型,使其能够灵活处理各类视频合成任务。大量实验表明,VACE的统一模型在多个子任务上的性能可与专门针对单一任务设计的模型持平;同时,该模型还能通过灵活的任务组合,支持多样化的应用场景。
图1中左侧对应基于Wan 2.1训练的VACE模型能力,右侧对应基于LTX训练的VACE模型能力;对于每个任务,左侧均展示了图片或是视频的原始输入以及左上角对应的上下文帧以及生成帧.
架构设计
VACE被设计为一种多模态到视频的生成模型,其中文本、图像、视频和掩码被整合为统一的条件输入。为尽可能覆盖更多视频生成与编辑任务,对现有任务开展了深入研究,并根据其对多模态输入的不同需求,将这些任务划分为4个类别。在不失通用性的前提下,在VCU范式下,为每个类别专门设计了一种新颖的多模态输入格式。最终,针对VCU输入对DiT模型进行了结构重构,使其成为能够处理各类视频任务的通用模型。
多模态输入和视频任务
尽管现有视频任务的用户输入复杂程度与创作目标难度各不相同,但发现,这些任务的大多数输入都可通过4种模态完整呈现,即文本、图像、视频和掩码。总体而言,如图2所示,根据这些任务对上述4种多模态输入的需求,将其划分为 5 个类别。
- 图生视频:基础的视频创作任务,其输入仅为文本
- 参考条件生视频:需要额外图像作为参考输入,以确保特定内容,如人脸、动物及其他物体等主体,或视频帧等出现在生成的视频中
- 视频到视频的编辑:对给定视频进行整体修改,例如色彩化、风格化、可控生成等。采用的视频控制类型,其控制信号可表示并存储为RGB视频,具体包括深度图、灰度图、姿态图、涂鸦图、光流图和布局图;但该方法本身并不局限于这些类型
- 掩码视频到视频的编辑:仅对输入视频中指定的三维感兴趣区域(3D Regions of Interest, 3D ROI)进行修改,并与其他未修改区域实现无缝融合,例如图像修复、外扩生成、视频扩展等场景。通过额外的时空掩码来表示该3D ROI
- 组合任务:包含上述 4 类视频任务的所有组合可能性
VCU
VCU将多种输入条件统一为文本输入、帧序列和掩码序列,具体表示为
V=[T;F;M],(1)V=[T;F;M], \tag1V=[T;F;M],(1)
其中 TTT是文本提示,FFF和MMM分别代表上下文视频帧序列{u1,u2,...,un}\{u_1,u_2,...,u_n\}{u1,u2,...,un}和遮罩序列{m1,m2,...,mn}\{m_1,m_2,...,m_n\}{m1,m2,...,mn}。在此处,uuu处于RGB色彩空间,被归一化到[−1,1]区间;mmm为二值遮罩,其中 “1” 和 “0” 分别表示 “需编辑区域” 和 “无需编辑区域”。FFF和MMM在空间尺寸h×wh\times wh×w和时间尺寸nnn上均保持对齐。在T2V任务中,不需要上下文帧或掩码。为保持通用性,为每个uuu分配默认值0h×w0_{h ×w}0h×w表示空输入,并将每个mmm设置为1h×w1_{h ×w}1h×w,意味着所有像数值都需要重新生成。在R2V任务中,需在默认帧序列前插入额外的参考帧rir_iri,同时在掩码序列前插入数量相同的全零掩码0h×w0_{h ×w}0h×w,表示对应的插入参考帧应保持不变。在V2V任务中,上下文帧序列即为输入视频帧,而上下文掩码则是一个取值为1h×w1_{h ×w}1h×w的序列。在MV2V任务中,上下文视频和掩码均为必需输入。上述内容的形式化数学表示如表1所示。
VCU还支持任务组合。例如,在 “参考修复” 任务中,上下文帧为r1,r2,...,rl,u1,u2,...,un{r_{1}, r_{2}, ..., r_{l}, u_{1}, u_{2}, ..., u_{n}}r1,r2,...,rl,u1,u2,...,un,上下文掩码为0h×w×l+m1,m2,...,mn{0_{h ×w}} ×l + {m_{1}, m_{2}, ..., m_{n}}0h×w×l+m1,m2,...,mn。在该场景下,用户可修改视频中的lll个目标,并基于提供的参考图像进行重新生成。还有,若用户仅拥有一张涂鸦图像,并希望生成一段以该涂鸦图像所描述内容为开端的视频,这一任务即为 “基于涂鸦的视频扩展”。此时,上下文帧为u+0h×w×(n−1){u} + {0_{h ×w}} ×(n-1)u+0h×w×(n−1),上下文掩码为1h×w×n{1_{h ×w}} ×n1h×w×n。通过这种方式,能够实现对长视频的多条件、多参考控制生成。
架构
针对VACE对DiT模型进行了结构重构,如图 3 所示,旨在支持多模态的VCU输入。由于text tokenization已有成熟流程,因此仅需研究上下文帧与掩码的分词处理。上下文帧与掩码经过分词后生成上下文tokens,这些上下文tokens与带噪声的视频tokens相结合,用于对DiT模型进行微调。与之不同的是,还提出了一种上下文适配器微调策略/Context Adapter Tuning,该策略允许上下文tokens流经上下文模块/Context Blocks,随后再与原始DiT Blocks的输出进行融合。
Context tokenization
概念解耦
自然视频的视觉概念与深度图、姿态图等控制信号这两类不同的视觉概念,会同时编码在帧序列F中。VACE开发者认为,将这些不同模态、不同分布的数据进行显式分离,对模型收敛至关重要。概念解耦基于掩码实现,最终生成两个形状完全相同的帧序列:Fc=F×MF_{c}=F×MFc=F×M和Fk=F×(1−M)F_{k}=F \times(1-M)Fk=F×(1−M)。其中,FcF_{c}Fc被称为 “待编辑帧/reactive frames”,包含所有需要修改的像素;而FkF_{k}Fk被称为 “保留帧/inactive frames”,存储所有需要保留的像素。具体而言,参考图像以及V2V、MV2V任务中无需修改的部分会归入FkF_{k}Fk;而控制信号,如深度图、姿态图以及灰度像素等需要修改的像素,则会归入FcF_{c}Fc。
上下文隐空间编码
典型的DiT处理带噪声的视频潜变量X∈Rn′×h′×w′×dX \in \mathbb{R}^{n'×h'×w'×d}X∈Rn′×h′×w′×d,其中n′n'n′、h′h'h′和w′w'w′别代表潜空间的时间维度与空间维度大小。与XXX类似,FcF_{c}Fc、FkF_{k}Fk以及掩码MMM均需编码到高维特征空间中,以确保显著的时空相关性特征。因此,将它们与XXX一同重组为具有层级结构且时空对齐的视觉特征。其中,FcF_{c}Fc、FkF_{k}Fk通过视频变分自编码器处理,被映射到与X相同的潜空间,从而保持二者的时空一致性。为避免图像与视频出现意外的混乱叠加,参考图像需通过VAE单独编码,并沿时间维度重新拼接;而在解码阶段,需移除与参考图像对应的部分。掩码MMM则直接进行形状重塑与插值处理。在此之后,FcF_{c}Fc、FkF_{k}Fk以及掩码MMM均被映射至潜空间,且在形状上与XXX保持一致,均为保持一致,均为保持一致,均为n’×h’×w’$,实现时空对齐。
上下文嵌入
通过在通道维度上对FcF_{c}Fc、FkF_{k}Fk以及掩码MMM进行拼接,并将它们分词为上下文tokens,从而对嵌入层进行扩展,这一扩展后的嵌入层即称为 “上下文嵌入器”。其中,用于对FcF_{c}Fc、FkF_{k}Fk进行分词的对应权重,直接从原始视频嵌入器中复制而来;而用于对MMM进行分词的权重,则通过零值初始化。
全微调和Context Apater微调
要实现以VCU为输入的模型训练,一种简单的方法是DiT模型进行全量微调,如图3a所示。该方法中,上下文tokens与带噪声的 tokens一同输入模型,训练过程中DiT的所有参数以及新引入的Context Embedder参数均会更新。为避免全量微调、实现更快收敛,同时为基础模型构建可插拔特性,还提出了另一种训练方法:采用Res-Tuning方式处理上下文tokens,如图3b所示。具体而言,从原始DiT中选取并复制若干个Transformer Blocks,构建出分布式级联结构的Context Blocks。其中,原始DiT负责处理视频tokens与文本 tokens,而新增的Transformer模块则负责处理上下文tokens与文本tokens。每个上下文模块的输出会作为附加信号回插到DiT模块中,辅助主分支完成生成与编辑任务。采用这种方法时,DiT的参数会被冻结,仅Context Embedder和Context Blocks的参数可训练。
数据集
数据构建
要获得一个一体化模型,所需数据构建的多样性与复杂性也会随之增加。现有常见的文生视频和图生视频任务,仅需构建文本与视频的配对数据即可。然而,对于VACE所涵盖的任务而言,数据模态需进一步扩展,纳入目标视频、源视频、局部掩码、参考图像等更多类型。为高效、快速地获取各类任务所需数据,在保证视频质量的同时,还必须对视频数据进行实例级的分析与理解。
为实现这一目标,首先对视频数据本身进行分析:执行镜头分割/shot slicing操作,并基于分辨率、美学评分与运动幅度对数据进行初步筛选。接着,采用RAM对视频首帧进行标注,并结合Grounding DINO进行检测;利用检测得到的定位结果,对目标区域过小或过大的视频进行二次筛选。此外,利用SAM2的传播操作实现视频分割,从而获取全视频的实例级信息;基于分割结果,依据遮罩区域阈值计算有效帧占比,进一步对实例进行时间维度的筛选。
在实际训练过程中,还需根据各类任务的特点,针对性地构建不同任务的数据:
- 对于部分可控视频生成任务,从筛选后的视频中预先提取深度图、涂鸦图、姿态图与光流图;而针对灰度图与布局图相关任务,则采用动态生成的方式构建数据;
- 对于重绘任务,可对视频中的随机实例添加掩码以构建图像修复任务数据,利用该掩码的反掩码则可构建外扩生成任务数据;通过对掩码进行增强处理,还能实现无条件图像修复任务的数据构建;
- 对于扩展任务,提取首帧、末帧、两端帧、随机帧、两端片段等关键帧,以支持更多样化的扩展类型;
- 对于参考类任务,可从视频中提取若干人脸或物体实例,通过离线或在线增强操作构建配对数据;
值得注意的是,会将上述所有任务进行随机组合以开展训练,从而使模型能适配更广泛的应用场景。此外,对于所有涉及掩码的操作,均会对掩码进行任意增强处理,以满足不同粒度的局部生成需求。
VACE-Benchmark
在视频生成领域已取得显著进展。然而,对这些模型性能进行科学且全面的评估,仍是亟待解决的关键问题VBench与VBench++通过丰富的评估集合与维度设计,为文生视频及图生视频任务建立了精准的评估框架。但随着视频生成生态的持续发展,视频参考生成、视频编辑等更多衍生任务开始涌现,目前针对这类任务的综合基准测试体系仍处于缺失状态。为填补这一空白,提出VACE-Benchmark,旨在系统性地评估与视频相关的各类下游任务。
从数据来源出发,注意到真实视频与生成视频在评估过程中可能呈现出不同的性能特征。因此,按来源分类,共收集了24 段高质量视频,涵盖多种数据类型,具体包括文生视频、图像修复/inpainting、外扩生成/outpainting、视频扩展/extension、灰度图/grayscale、深度图/depth、涂鸦图/scribble、姿态图/pose、光流图/optical flow、布局图/layout、人脸参考/reference face及物体参考/reference object任务,每个任务平均包含20个样本。输入模态包括输入视频、掩码和参考图像,同时还提供了原始视频,以便开发者根据各类任务的具体特征进行进一步处理。在提示词方面,提供视频的原始描述文本用于定量评估,同时提供针对特定任务定制的改写提示词,以评估模型的创造力。
实验
VACE基于不同规模的文视频DiT进行训练,如采用LTX-Video-2B以实现更快的生成速度,使用Wan-T2V-14B来生成更高质量的输出,支持的最高分辨率可达720p。训练采用分阶段方式进行:
- 初始阶段,重点关注inpainting、extension等基础任务 —— 这些任务被视为对预训练文本到视频模型的模态补充。此阶段的工作包括引入掩码,以及学习在空间和时间维度上的上下文生成能力;
- 接下来,从任务扩展的角度出发,逐步实现从 “单输入参考帧” 到 “多输入参考帧”、从 “单一任务” 到 “复合任务” 的过渡;
- 最后,利用更高质量的数据和更长的序列对模型质量进行微调。模型训练的输入支持任意分辨率、动态时长和可变帧率,以满足用户多样化的输入需求。
VACE的目标是实现视频创建与编辑任务的统一,而目前尚无具备可比性的一体化视频生成模型,因此将评估重点放在 “将自研通用模型与特定任务专用模型进行对比” 上。此外,由于涉及的任务数量众多,且许多任务缺乏开源方法,故仅对可通过离线或在线方式获取的模型开展对比实验。具体到各任务,对比方案如下: - 针对I2V任务,选取的对比模型为I2VGenXL、CogVideoXI2V与 LTX-Video-I2V;
- 针对重绘任务:图像移除修复任务的对比模型为ProPainter,外扩生成任务的对比模型为Follow-Your-Canvas与 M3DDM;
- 针对可控生成任务:深度条件下的对比模型为Control-A-Video、VideoComposer与ControlVideo;姿态条件下的对比模型为Text2Video-Zero、ControlVideo与FollowYour-Pose,以及光流图条件的对比模型为FLATTEN
- 在参考生成任务中,由于缺乏开源模型,选取商业产品Keling1.6、Pika2.2和Vidu2.0进行对比。