LAMP: Learn A Motion Pattern for Few-Shot-Based Video Generation学习笔记


在这里插入图片描述
motivation:
直接训练T2V模型需要大量文本视频对数据集
利用视频template(模板),使用扩散模型操纵内容,可以实现one-shot或zero-shot,但给定视频模板的使用极大地限制了生成自由度。
contribution:
使模型理解运动的同时,实现训练负担和生成自由度之间的权衡
解决两个问题:
数据量有限,有可能过度拟合视频中的内容。解决方法:first-frameconditioned pipeline
T2I扩散模型的基本算子只适用于空间维度,这限制了它们捕获视频中时间信息的能力。解决方法:temporal-spatial motion learning layers设计了时空运动学习层,同时捕捉时间和空间维度的特征

method

Few-shot-based T2V Generation Setting

V = { V i ∣ i ∈ [ 1 , n ] } \textbf{V}=\{\mathcal{V}_i|i\in[1,n]\} V={Vii[1,n]} 表示描述特定任务的n个视频
P \mathcal{P} P 表示prompt
希望从一个小的训练集中学习常见的运动模式,而忽略内容。
调整后的模型可以从与运动相关的提示P中生成与V相似的运动模式的新视频V ’

First-Frame-Conditioned Pipiline

用来解耦motions(运动)和contents(内容)
在这里插入图片描述训练过程:
V = { f i ∣ i = 1 , . . . , l } \mathcal{V}=\{f^i|i=1,...,l\} V={fii=1,...,l} 表示初始视频帧,编码为latent space Z = { z i ∣ i = 1 , . . . , l } \mathcal{Z}=\{z^i|i=1,...,l\} Z={zii=1,...,l},训练模型时保留 z 1 {z}^{1} z1,在后续视频帧 { z 2 , . . . , z l } \{z^{2},...,z^{l}\} {z2,...,zl} 加噪
L = E Z , ϵ ∼ N ( 0 , I ) , t , c [ ∥ ϵ 2 : l − ϵ θ 2 : l ( Z t , t , c ) ∥ 2 2 ] \mathcal{L}=\mathbb{E}_{\mathcal{Z},\epsilon\sim\mathcal{N}(0,I),t,c}[\|\epsilon^{2:l}-\epsilon_{\theta}^{2:l}(\mathcal{Z}_{t},t,c)\|_{2}^{2}] L=EZ,ϵN(0,I),t,c[ϵ2:lϵθ2:l(Zt,t,c)22]
第一帧不参与训练
推理过程:
使用SD-XL获得第一帧 f ^ 1 \hat{f}^{1} f^1,编码为 z ^ 1 \hat{z}^{1} z^1 [ z ^ 1 , ϵ 2 , . . . ϵ l ] [\hat{z}^1,\epsilon^2,...\epsilon^l] [z^1,ϵ2,...ϵl]送入UNet进行视频生成
在每一步,保留第一帧的latent并对后续帧进行去噪。
问题:原始的 T2I 模型将帧视为独立样本,第一帧信息如何利用,如何使模型在temporal level work

Adapt T2I Models to Video

Temporal-spatial motion learning layers.

在这里插入图片描述
1D convolution捕捉时间维度信息
2D convolution捕捉空间维度信息
videoprediction-based 1D convolution: 当内核通过帧 {fi−1, fi, f i+1} 的特征滑动时,我们基于videoprediction-based 1D convolution产生来自 i+1 的特征,而不是像1D convolution中那样产生 fi的特征
可以利用前两帧来预测后续帧

Attention layers

所有key和value特征都是从第一帧获得的
Attention ( Q i , K 1 , V 1 ) = Softmax ( Q i ( K 1 ) T d ) V 1 \text{Attention}(Q^i,K^1,V^1)=\text{Softmax}(\frac{Q^i(K^1)^T}{\sqrt{d}})V^1 Attention(Qi,K1,V1)=Softmax(d Qi(K1)T)V1
重新制定的self-attention层有助于后续帧参考第一帧建立的条件

Shared-noise Sampling During Inference

首先采样一个共享噪声 ϵ s ∼ N ( 0 , I ) \epsilon^{s}\sim\mathcal{N}(0,I) ϵsN(0,I)
噪声序列 [ ϵ 2 , . . . , ϵ l ] [\epsilon^{2},...,\epsilon^{l}] [ϵ2,...,ϵl] 与基本噪声分布相同
ϵ i = α ϵ s + ( 1 − α ) ϵ i , \epsilon^i=\alpha\epsilon^s+(1-\alpha)\epsilon^i, ϵi=αϵs+(1α)ϵi,

experiments

在这里插入图片描述
在这里插入图片描述使用 SD-v1.4 生成第一帧将会降低性能
没有第一帧条件pipeline的模型会产生低质量的结果。视频中不相关的对象(如栅栏和污垢)的存在表明了视频集内容的过拟合
没有共享噪声采样的模型也可以生成相对一致的帧,但结果缺乏平滑度。
去除时空运动学习层时,模型不能有效地捕捉复杂的运动模式
将video-prediction-based 1D convolution(基于视频预测的一维卷积)转换为一维卷积的原始版本时,视频的主要对象变得不一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值