Loading [MathJax]/jax/output/HTML-CSS/jax.js

Video Diffusion Models

2D -> 3D

VDM的一般思路是,在T2I基模型的基础上,引入时序模块并使用视频数据进行训练。

引入时间模型的方法有卷积方法(Conv3D、Conv(2+1)D)、注意力机制(Cross Attention、Transformer)

Conv2D
Conv3D
Conv(2+1)D

t×d×d 卷积 kenal 数量非常大,可以对 kernel 做分解,先在 spatial 上做卷积,然后在 temporal 上做卷积。
✅ 特点:效果还不错,效率也高。

P39

3D U-Net factorized over space and time

✅ 2D U-Net 变为 3D U-Net,需要让其内部的 conv 操作和 attention 操作适配 3D.

  • Image 2D conv inflated as → space-only 3D conv, i.e., 2 in (2+1)D Conv

✅ (1) 2D conv 适配 3D,实际上只是扩充一个维度变成伪 3D,没有对时序信息做抽象。

  • Kernel size: (3×3) → (1×3×3)
  • Feature vectors: (height × weight × channel) → (frame × height × width × channel)
  • Spatial attention: remain the same

✅ (2) attention 操作同样没有考虑时序。

  • Insert temporal attention layer: attend across the temporal dimension (spatial axes as batch)

✅ (3) 时序上的抽象体现在 temporal attention layer 上。

3D UNet from a 2D UNet

  • 3x3 2d conv to 1x3x3 3d conv.
  • Factorized spatial and temporal attentions.


Ho et al., "Video Diffusion Models", NeurIPS 2022

✅ 利用 2D 做 3D,因为 3D 难训且数据少。
✅ 通到添加时序信息,把图像变成视频。此处的 3D 是 2D+时间,而不是立体。
✅ 对向量增加一个维度,并在新的维度上做 attention.