

- (T2V)文本到视频生成, 基本创建任务.
- (R2V)参考图到视频生成, 确保指定的内容在视频中.
- (V2V)视频到视频生成, 对视频进行整体更改, 着色, 风格化, 可控生成等等.
- (MV2V)掩码视频到视频编辑, 修复, 外推, 视频拓展.
- 任务组合, 上面的多个任务组合.
V=[T;F;M]
T, F, M分别代表 textual input, frame sequence({u1,u2,…,un}), and mask sequence({m1,m2,…,mn}). u是RGB空间, 正则化到(-1, 1), m是二进制, 1表示编辑, 0表示不编辑. F和M在hxw和n序列对齐.
- T2V: 将u置0, m置1.
- R2V: ri被插入到默认视频帧的前面, 对应的mask置0.
- V2V: F(context frame sequence)是输入视频帧
- MV2V: 需要提供F和M.
- 任务组合:例如, 在 reference-inpainting 任务中, 上下文帧为 {r1,r2,…,rl,u1,u2,…,un}, 上下文掩码为 {0h×w}×l+{m1,m2,…,mn}.
Concept Decoupling. 基于掩码, 生成两个形状相同的帧序列: Fc=F×M, Fk=F×(1−M), 其中Fc为reactive frame, Fk为inreactive frame.
Context Latent Encoding. 参考图单独编码, 在时间维度做拼接.
Context Embedder. 在channel维度连接Fc, Fk 和 M, 然后token化为context tokens, 称作Context Embedder. 其中Fk和Fc对应的权重矩阵从原视频复制, M的权重矩阵用0初始化.
介绍了两种方法, 第一种全量微调就不说了, 第二种controlNet的方法, 和ReferenceNet有点像, 复制原网络的若干层, 输入是context token, 将每一层的输出作为附加信号插入回DiT块中, 帮助主分支执行生成和编辑任务.
数据构建和benchmark. 核心就是设计了不同的任务, 怎么准备数据集的(像pose图通过dwpose提取), 把这些任务随机组合到一起, 进行训练. benchmark没什么好看的.