from T2I to T2V

生成图片

在Stable Diffusion推理过程中,其使用unet对一个初始化的向量不断去噪,并编入条件信息 c c c ,最后使用vae-decoder将其上采样为一张图片。

计算过程:
f l a t e n t = u n e t ( f l a t e n t ) , f l a t e n t ∈ R h × w × c I = d e c o d e r ( f l a t e n t ) , I ∈ R H × W × 3 f_{latent}=unet(f_{latent}),f_{latent} \in R^{h \times w \times c} \\ I=decoder(f_{latent}),I \in R^{H \times W \times 3} flatent=unet(flatent),flatentRh×w×cI=decoder(flatent),IRH×W×3
h , w h,w h,w是特征的空间维度, c c c是特征维度, H , W H,W H,W是图像高,宽

生成视频

视频由视频帧组成,即视频由一组图像组成。将stable diffusion中初始化的隐向量添加时间序列,并且将计算网络扩充为3D,即可完成视频的生成。

h , w h,w h,w是特征的空间维度, c c c是特征维度, f f f是帧数

VAE视频压缩

与SD一致,训练视频生成网络首先需要进行视频压缩,这主要通过VAE完成。压缩视频主要是通过3D卷积实现。给定一个视频 v ∈ R 16 × 512 × 512 × 3 v\in R^{16 \times 512 \times 512 \times 3} vR16×512×512×3,如果使用 N N N个形状为 R 2 × 2 × 2 × 3 R^{2\times2\times2\times3} R2×2×2×3的卷积核进行卷积,最终得到 v ∈ R 15 × 511 × 511 × N v\in R^{15 \times511\times511\times N} vR15×511×511×N的特征。

去噪网络

SD生图使用UNET逐步完成对隐向量的不断去噪。而在视频进行去噪时,为匹配隐向量的维度,会将UNET中的2D卷积扩充为3D卷积。即增加一维时间维度,也就是伪3D卷积。基本思想是利用一个1 × \times × 3 × \times × 3的二维空间卷积和3 × \times × 1 × \times × 1的一维时域卷积来模拟常用的3 × \times × 3 × \times × 3三维卷积,即利用2D+1D实现3D做的事。
所以最开始Stable Video Diffusion网络使用伪3D的网络直接对视频帧隐向量进行去噪,这也使视频帧之间联系不强,所以需要一个专属的模块来完成视频帧之间的信息交互,这通常通过空间-时间注意力实现。

空间-时间注意力

对于视频特征,空间注意力主要负责帧内特征的交流,时空注意力负责不同帧的相同位置之间的特征交流,主要通过Attention完成。

对于视频特征 f ∈ R f × h × w × c f\in R^{f\times h \times w \times c} fRf×h×w×c,其中 f f f是视频的帧数量。空间注意力首先会将其变换为 f ∈ R f × h w × c f\in R^{f\times hw \times c} fRf×hw×c,随后输入attention block中在 h w hw hw维度进行注意力计算,而对于时间注意力,会将特征变换为 f ∈ R h w × f × c f\in R^{hw \times f \times c} fRhw×f×c,随后同样输入attention block中,在 f f f维度计算注意力。这样针对视频的UNET网络就变成了下面这个样子。

3D Causal

左半部分是普通3D卷积网络,随着卷积的不断深入,1号的感受野不断扩大。右半部分是因果卷积,在第一帧前加入padding(黄色),那么即使卷积不断深入,后续帧的信息也不会泄漏到当前帧,即1号位的感受野永远是自己。这样就可实现图像与视频的联合训练,我们可以将一张图像当作视频帧直接使用3D因果卷积卷它。

最终网络结构

最后基于UNET的视频生成网络:

  1. 视频使用3D-VAE causal Encoder进行压缩
  2. UNET不断进行降噪
    1. 卷积计算
    2. 空间注意力
    3. 时间注意力
  3. VAE-Decoder解码为图像

sora

将unet换成Transformer
3D full attention,所有视频帧的特征并成一个序列,计算attention

cogvideox

将unet换成Transformer,解耦合text与video特征

EasyAnimate

将unet换为Transformer,并加入基于两种attention的Motion Module
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值