(Arxiv-2025)VACE:一体化视频创作与编辑
VACE:一体化视频创作与编辑
paper title:VACE: All-in-One Video Creation and Editing
paper是Tongyi Lab, Alibaba Group发布在Arxiv 2025的工作
Code:链接
图1. VACE的综合能力。我们展示了基于Wanx2.1(左)和LTX-Video(右)的优秀生成结果。对于每个任务,展示了原始输入图像或视频(左)、上下文视频(左上角)以及生成的帧。
Abstract
扩散 Transformer 在生成高质量图像和视频方面展现了强大的能力和可扩展性。进一步推动生成与编辑任务的统一,使图像内容创作领域取得了显著进展。然而,由于在时间和空间动态上一致性的内在需求,实现视频合成的统一方法仍然具有挑战性。我们提出了 VACE,它使用户能够在一个一体化的创作与编辑框架中执行视频任务。这些任务包括参考到视频的生成、视频到视频的编辑以及掩码视频到视频的编辑。具体而言,我们通过将视频任务输入(如编辑、参考和掩码)组织为一个统一接口——视频条件单元(VCU),有效地整合了各种任务的需求。此外,通过利用上下文适配器结构,我们将任务概念以形式化的时空表示注入模型,使其能够灵活地处理任意视频合成任务。大量实验表明,VACE 的统一模型在各种子任务上的表现与任务特定模型相当。同时,它通过灵活的任务组合,实现了多样化的应用。
1. Introduction
近年来,视觉生成任务领域见证了显著的进展,尤其是扩散模型 [24, 25, 48, 53, 54, 56, 57] 的快速发展。除了早期面向文本生成图像 [7, 16, 33] 或文本生成视频 [9, 22, 64] 的基础预训练模型之外,下游任务和应用也不断涌现,例如图像重绘 [3, 82]、编辑 [4, 42, 68, 70, 75]、可控生成 [30, 76]、帧参考生成 [20, 73] 和基于身份参考的视频合成 [11, 35, 47, 74]。这些发展凸显了视觉生成领域的动态性和复杂性。为了提升任务灵活性并减少部署多个模型所带来的开销,研究者开始关注构建统一的模型架构 [12, 63](如 ACE [23, 41] 和 Omni-Gen [71]),旨在将不同任务集成到单一图像模型中,从而在保持使用简便性的同时,促进各种应用工作流的创建。在视频领域,由于时间和空间维度上的协同变化,统一模型的应用为视频创作带来了无限可能。然而,如何利用多样化的输入模态并确保时空一致性,仍是统一视频生成与编辑中的挑战。
我们提出了 VACE,一种一体化视频创作与编辑模型,能够执行包括参考到视频生成、视频到视频编辑、掩码视频到视频编辑,以及这些任务的自由组合(如图1所示)。一方面,功能的整合降低了服务部署和用户交互的成本;另一方面,通过在单一模型中结合不同任务的能力,它解决了现有视频生成模型所面临的挑战,如长视频的可控生成、多条件与参考驱动的生成,以及连续视频编辑,从而赋予用户更强的创作力。为实现这一目标,我们采用当前主流的扩散 Transformer(DiTs)结构作为基础视频框架,并利用预训练的文本生成视频模型 [22, 64],为处理长视频序列提供了更好的基础能力和可扩展性。具体来说,VACE 在设计时充分考虑了不同任务的需求,并设计了一个统一接口,即视频条件单元(VCU),将编辑、参考和掩码等多模态输入(图像或视频)整合起来。此外,为了区分编辑与参考任务中的视觉模态信息,我们引入了概念解耦策略,使模型能够理解哪些部分需要保留,哪些部分应当修改。同时,通过可插拔的上下文适配器结构,将来自不同任务的概念(如编辑或参考的区域或范围)通过协同时空表示注入模型,使其具备对统一任务的自适应处理能力。
由于视频合成领域缺乏现有的多任务基准,我们构建了一个包含12种不同任务、共480个评估样本的数据集,并将 VACE 统一模型的性能与现有专用模型进行对比评估。实验结果表明,我们的框架在定量和定性分析中均表现出足够的竞争力。据我们所知,这是首个基于视频 DiT 架构的一体化模型,能够同时支持如此广泛的任务。值得注意的是,这一创新框架允许对基础任务进行组合式扩展,从而构建如长视频重新渲染等场景,提供了一个多样化且高效的视频合成解决方案,为用户侧的视频内容创作与编辑开辟了新的可能性。
2. Related Work
视觉生成与编辑。随着图像 [2, 7, 16, 18, 58, 59] 和视频 [22, 32, 73, 77] 生成模型的快速发展,它们被用于创作高质量的视觉内容,并广泛应用于广告、电影特效、游戏开发和动画制作等领域 [13, 43–45, 55]。与此同时,为了满足视觉媒体生产的多样化需求,并提升效率与质量,精确的生成与编辑方法不断涌现。模型需要基于多模态输入(如深度、结构、姿态、场景和角色)进行生成式创作。根据输入条件的用途,可以将其分为两类:输入内容的编辑和概念引导的再创作。大量研究工作,如 ControlNet [76]、ControlVideo、Composer [26]、VideoComposer [68] 和 SCEdit [30],聚焦于基于时空对齐条件的单条件编辑和多条件复合编辑。此外,一些工作专注于交互式局部编辑场景,如 DragGAN [46] 和 MagicBrush [75]。而基于输入语义信息来引导生成的方法,如 Cone [38]、Cone2 [39]、InstantID [67] 和 PuLID [21],则能够实现对输入的概念理解,并将其注入模型以实现创意生成。
任务统一的视觉生成模型。随着用户创作的复杂性和多样性不断增加,仅依靠单一模型或复杂的多模型链条已无法为创意实现提供便利高效的途径。在图像生成领域,统一的生成与编辑框架开始出现,使创作方式更加灵活。UltraEdit [81] 和 SEED-Data-Edit [19] 等方法提供了通用编辑数据集,而 InstructPix2Pix [4]、MagicBrush [61] 和 CosXL [60] 等技术则提供了基于指令的通用编辑功能。此外,UniControl [50] 和 UNIC-Adapter [15] 等方法实现了统一的可控生成。进一步的发展催生了 ACE [23, 41]、OmniGen [71]、OmniControl [63] 和 UniReal [12],通过提供灵活的可控生成、局部编辑和参考引导生成,扩展了任务的范围。在视频领域,由于生成难度更高,方法通常表现为单任务单模型框架,提供编辑或参考生成能力,如 Video-P2P [37]、MagicEdit [34]、MotionCtrl [69]、Magic Mirror [80] 和 Phantom [35]。VACE 的目标是在视频领域填补统一模型的空白,为复杂的创作场景提供可能性。
3. Method
VACE 被设计为一种多模态到视频的生成模型,其中文本、图像、视频和掩码被整合到一个统一的条件输入中。为了尽可能覆盖更多的视频生成与编辑任务,我们对现有任务进行了深入研究,并根据其对多模态输入的不同需求将其划分为四类。在不失通用性的前提下,我们在视频条件单元(VCU)范式下,为每一类任务专门设计了一种新颖的多模态输入格式。最后,我们对 DiT 模型进行了重构以适配 VCU 输入,使其成为一个能够处理多种视频任务的通用模型。
3.1. Multimodal Inputs and Video Tasks.
尽管现有的视频任务在复杂的用户输入和雄心勃勃的创作目标上存在差异,但我们发现它们的大部分输入都可以完全用四种模态来表示:文本、图像、视频和掩码。总体而言,如图2所示,我们根据这四种多模态输入的需求,将视频任务分为五类:
- 文本生成视频(T2V):这是最基本的视频创作任务,输入仅为文本。
- 参考生成视频(R2V):需要额外的图像作为参考输入,以确保指定内容(如人脸、动物或其他物体的主体,或视频帧)出现在生成的视频中。
- 视频到视频编辑(V2V):对给定视频进行整体修改,如上色、风格化、可控生成等。我们使用视频控制类型,其控制信号可以表示并存储为 RGB 视频,包括深度、灰度、姿态、涂鸦、光流和布局;但方法本身并不限于这些类型。
- 掩码视频到视频编辑(MV2V):仅对输入视频中提供的三维感兴趣区域(3D ROI)进行修改,并与其他未改变区域无缝融合,例如修复、扩展、视频延伸等。我们使用一个额外的时空掩码来表示 3D ROI。
- 任务组合:包含上述四类视频任务的所有组合可能性。
图2. VACE 所涵盖的任务类别。四种基本任务可以组合,从而创造出大量的可能性。
3.2. Video Condition Unit
我们提出了一种输入范式——视频条件单元(VCU),用于将多样化的输入条件统一为文本输入、帧序列和掩码序列。一个 VCU 可以表示为
V=[T;F;M],V = [T; F; M], V=[T;F;M],
其中 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][-1, 1][−1,1],而 mmm 是二值的,其中“1”和“0”分别表示需要编辑或不需要编辑的位置。FFF 和 MMM 在空间尺寸 h×wh \times wh×w 和时间长度 nnn 上对齐。在 T2V 中,不需要上下文帧或掩码。为了保持通用性,我们为每个 uuu 赋予默认值 0h×w0_{h \times w}0h×w,表示空输入,并将每个 mmm 设置为 1h×w1_{h \times w}1h×w,表示这些值为 1 的像素需要被重新生成。
在 R2V 中,额外的参考帧 rir_iri 被插入到默认帧序列的前面,而全零掩码 0h×w0_{h \times w}0h×w 被插入到掩码序列的前面。这些全零掩码意味着对应帧应保持不变。在 V2V 中,上下文帧序列是输入视频帧,而上下文掩码是一组 1h×w1_{h \times w}1h×w。在 MV2V 中,上下文视频和掩码都是必须的。形式化的数学表示如表1所示。
表1. 四种基本任务下帧(Fs)和掩码(Ms)的形式化表示。帧与掩码在空间和时间上对齐。
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 \times w}\} \times l + \{m_1, m_2, ..., m_n\}{0h×w}×l+{m1,m2,...,mn}。在这种情况下,用户可以修改视频中的 lll 个对象,并基于提供的参考图像重新生成。另一个例子是,用户只有一张涂鸦图像并希望生成一个以该涂鸦图像描述的内容为起点的视频,这就是基于涂鸦的视频扩展任务。此时上下文帧是 {u}+{0h×w}×(n−1)\{u\} + \{0_{h \times w}\} \times (n - 1){u}+{0h×w}×(n−1),上下文掩码是 {1h×w}×n\{1_{h \times w}\} \times n{1h×w}×n。通过这种方式,我们可以实现多条件和参考控制的长视频生成。
3.3. Arichitecture
我们对 DiT 模型进行了重构以适配 VACE,如图3所示,旨在支持多模态 VCU 输入。由于已经存在文本标记化的流程,因此我们只考虑上下文帧和掩码的标记化。经过标记化后,上下文标记与噪声视频标记结合,并用于微调 DiT 模型。不同的是,我们还提出了一种上下文适配器微调策略,使上下文标记能够通过上下文模块(Context Blocks),并再添加回原始的 DiT 模块中。
图3. VACE 框架概览。帧和掩码通过概念解耦、上下文潜编码和上下文嵌入器进行标记化。为了实现以 VCU 作为输入的训练,我们采用了两种策略:(a) 全量微调 和 (b) 上下文适配器微调。后一种方法收敛更快,并支持可插拔特性。
3.3.1. Context Tokenization
概念解耦。自然视频与控制信号(如深度、姿态)这两种不同的视觉概念会同时被编码在 FFF 中。我们认为,显式地分离不同模态与分布的数据对于模型收敛至关重要。概念解耦基于掩码进行操作,并生成两个形状相同的帧序列:
Fc=F×M和Fk=F×(1−M),F_c = F \times M \quad \text{和} \quad F_k = F \times (1 - M), Fc=F×M和Fk=F×(1−M),
其中 FcF_cFc 被称为反应帧,包含所有需要被改变的像素,而所有需要保留的像素存储在 FkF_kFk 中,称为保持帧。具体而言,参考图像和 V2V、MV2V 中未改变的部分被分配到 FkF_kFk,而控制信号和需要改变的像素(如灰度像素)被收集到 FcF_cFc。
上下文潜编码。典型的 DiT 处理噪声视频潜变量 X∈Rn′×h′×w′×dX \in \mathbb{R}^{n' \times h' \times w' \times d}X∈Rn′×h′×w′×d,其中 n′n'n′、h′h'h′ 和 w′w'w′ 分别是潜在空间的时间与空间维度。类似于 XXX,FcF_cFc、FkF_kFk 和 MMM 也需要被编码到高维特征空间,以确保显著的时空相关性。因此,我们将它们与 XXX 一起重组为层次化且时空对齐的视觉特征。FcF_cFc 与 FkF_kFk 通过视频 VAE 处理,并映射到与 XXX 相同的潜在空间,从而保持它们的时空一致性。为避免图像与视频的不期望错配,参考图像由 VAE 编码器单独编码,并在时间维度上与 XXX 进行拼接,而对应需要被移除的部分会在解码时去除。MMM 则被直接重塑和插值。之后,FcF_cFc、FkF_kFk 和 MMM 都映射到潜在空间,并在形状 n′×h′×w′n' \times h' \times w'n′×h′×w′ 上与 XXX 时空对齐。
上下文嵌入器。我们通过在通道维度上拼接 FcF_cFc、FkF_kFk 和 MMM,并将它们标记化为上下文标记,扩展了嵌入器层,我们称其为上下文嵌入器。用于标记化 FcF_cFc 和 FkF_kFk 的权重直接从原始视频嵌入器中复制,而用于标记化 MMM 的权重初始化为零。
3.3.2. Fully Fine-Tuning and Context Adapter Tuning
为了实现以 VCU 作为输入的训练,一种简单的方法是对整个 DiT 模型进行全量微调,如图3a所示。上下文标记与噪声标记 XXX 一起输入,DiT 中的所有参数以及新引入的上下文嵌入器都会在训练过程中被更新。为了避免全量微调并实现更快的收敛,同时为基础模型建立可插拔特性,我们提出了另一种方法,即以 Res-Tuning [29] 的方式处理上下文标记,如图3b所示。具体来说,我们从原始 DiT 中选择并复制若干 Transformer 模块,构建分布式的级联式上下文模块(Context Blocks)。原始的 DiT 处理视频标记和文本标记,而新增的 Transformer 模块则处理上下文标记和文本标记。每个上下文模块的输出作为附加信号插入回 DiT 模块,以辅助主分支完成生成与编辑任务。在这种方式下,DiT 的参数被冻结,只有上下文嵌入器和上下文模块是可训练的。
4. Datasets
4.1. Data Construction
为了获得一个一体化模型,所需数据构建的多样性和复杂性也相应增加。现有常见的文本生成视频和图像生成视频任务只需要构建文本与视频的配对。然而,在 VACE 的任务中,模态需要进一步扩展,包括目标视频、源视频、局部掩码、参考信息等。为了高效、快速地获取各类任务的数据,必须在保持视频质量的同时,对视频数据进行实例级别的分析和理解。为此,我们首先对视频数据本身进行分析,通过镜头切分(shot slicing),并根据分辨率、美学评分和运动幅度进行初步筛选。接着,我们利用 RAM [78] 对视频的第一帧进行标注,并结合 Grounding DINO [36] 进行检测,利用定位结果对目标区域过小或过大的视频进行二次筛选。此外,我们采用 SAM2 [52] 的传播操作进行视频分割,以获得跨视频的实例级信息。基于视频分割的结果,我们通过计算基于掩码面积阈值的有效帧比例,在时间维度上筛选实例。
在实际训练过程中,不同任务的数据构建也需要根据其特性进行定制化处理:
- 对于一些可控视频生成任务,我们从筛选过的视频中预先提取深度 [51]、涂鸦 [6]、姿态 [5, 72] 和光流 [65] 信息。对于灰度和布局任务,则在训练时动态生成数据。
- 对于重绘任务,可以从视频中随机选择实例进行掩码修复(inpainting),而掩码的反向区域则用于构建扩图(outpainting)数据。掩码的增强 [62] 可以支持无条件的修复任务。
- 在扩展任务中,我们提取关键帧,例如首帧、尾帧、两端帧、随机帧以及两端片段,以支持更多样化的扩展类型。
- 对于参考任务,我们可以从视频中提取多个面部或物体实例,并通过离线或在线的数据增强来构建配对数据。值得注意的是,我们在训练过程中会随机组合上述所有任务,以适应更广泛的模型应用场景。此外,对于所有涉及掩码的操作,我们都会进行任意形式的增强,以满足不同粒度的局部生成需求。
4.2. VACE-Benchmark
视频生成领域已取得显著进展。然而,对这些模型性能进行科学、系统的评估仍是一个亟需解决的问题。VBench [27] 和 VBench++ [28] 已经通过庞大的评测套件和多维度设计,为文本生成视频和图像生成视频任务建立了精确的评估框架。然而,随着视频生成生态系统的不断发展,更多衍生任务开始出现,例如视频参考生成和视频编辑,而目前仍缺乏对这些任务的全面基准。为弥补这一空白,我们提出了 VACE-Benchmark,以系统化的方式评估各种与视频相关的下游任务。
从数据来源出发,我们认识到真实视频和生成视频在评估中可能表现出不同的特性。因此,我们收集了共计 240 个高质量视频,并根据其来源进行分类,涵盖了多种数据类型,包括文本生成视频、修复(inpainting)、扩图(outpainting)、扩展(extension)、灰度、深度、涂鸦、姿态、光流、布局、参考人脸和参考物体任务,每类平均包含 20 个样本。输入模态包括输入视频、掩码和参考信息,我们还提供了原始视频,以便开发者能够根据每个任务的具体特征进一步处理数据。在数据提示方面,我们提供了视频的原始描述用于定量评估,同时还为特定任务编写了重写提示,以评估模型的创造性。
5. Experiments
5.1. Experimental Setup
实现细节。VACE 基于扩散 Transformer(Diffusion Transformers)进行训练,用于不同规模的文本生成视频任务。它利用 LTX-Video-2B [22] 实现更快的生成,而 Wan-T2V-14B [64] 专门用于高质量输出,支持最高 720p 分辨率。训练采用分阶段的方法。首先,我们专注于修复(inpainting)和扩展(extension)等基础任务,这些任务被视为对预训练文本生成视频模型的模态补充。这包括掩码的引入,以及在空间和时间维度上的上下文生成学习。接着,从任务扩展的角度出发,我们逐步从单输入参考帧过渡到多输入参考帧,并从单任务过渡到组合任务。最后,我们使用更高质量的数据和更长的序列对模型进行微调,以提升整体质量。模型训练的输入支持任意分辨率、动态时长和可变帧率,以满足用户多样化的输入需求。
基线方法。我们的目标是实现视频创作与编辑任务的一体化,目前尚无可比的一体化视频生成模型,因此我们主要将通用模型与特定任务的专用模型进行比较。此外,由于涉及的任务众多,且其中许多尚无开源方法,我们选择在线或离线可用的模型进行对比。具体任务的对比包括:
- 图像生成视频(I2V)任务:比较 I2VGenXL [77]、CogVideoXI2V [73] 和 LTX-Video-I2V [22];
- 重绘任务:在修复任务中比较 ProPainter [82],在扩图任务中比较 Follow-Your-Canvas [8] 和 M3DDM [17];
- 可控任务:在深度条件下比较 Control-A-Video [10]、VideoComposer [68] 和 ControlVideo [79];在姿态条件下比较 Text2Video-Zero [31]、ControlVideo [79] 和 Follow-Your-Pose [40];在光流条件下比较 FLAT-TEN [14];
- 参考生成任务:由于缺乏开源模型,我们对比商业产品 Keling1.6 [1]、Pika2.2 [49] 和 Vidu2.0 [66]。
评估。为了全面评估各项任务的表现,我们采用 VACE-Benchmark 进行测试。具体而言,我们将评估分为自动评分和人工评测两部分。
在自动评分中,我们借用 VBench [27] 中的部分指标来衡量视频质量与一致性,包括八个维度:美学质量、背景一致性、动态程度、成像质量、运动平滑性、整体一致性、主体一致性和时间闪烁。
在人工评测中,我们采用平均意见分(MOS)作为指标,重点关注三个方面:提示跟随度、时间一致性和视频质量。在实际操作中,我们对生成的数据进行匿名化,并随机分发给不同参与者,由他们对每个样本在 1 到 5 的范围内进行评分。