视频生成经典模型资源(一):TGAN、VGAN、MoCoGAN、SVG、vid2vid、VideoVAE、DVD-GAN-2
本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
简介:
视频生成经典模型资源(一):TGAN、VGAN、MoCoGAN、SVG、vid2vid、VideoVAE、DVD-GAN
vid2vid
vid2vid是NVIDIA公司提出的一种图像翻译模型 ,通过输入语义图来生成视频,是在pix2pix、pix2pixHD基础上改进得到的模型。pix2pix、pix2pixHD是图像生成模型,而vid2vid是在pix2pixHD基础上考虑加入视频连贯性的设计所提出的视频翻译模型,通过改造G和D来生成连贯且高质量的视频。
(s_1)^T≡{s1, s2, ..., sT }表征源视频帧的序列。例如,它可以是一个语义分割掩码或边缘图的序列。(x_1)^T≡{x1, x2, ..., xT }是相应的真实视频帧的序列。视频生成的目标是学习一个映射函数,该函数可以将(s_1)^T转换为输出视频帧的序列,(x_1)˜^T≡{x˜1, x˜2, ..., x˜T },从而使给定(s_1)^T的(x_1)˜^T的条件分布与给定(s_1)^T的(x_1)^T的条件分布相同。
vid2vid是一个条件性GAN框架。将输入源序列映射到相应的输出帧序列:(x_1)^T= G((s_1)^T)。通过解决最小优化问题来训练生成器,该问题由下式给出
其中D是鉴别器。在求解上式时,最小化p((x_1)˜^T|(s_1)^T)和p((x_1)^T|(s_1)^T)之间的Jensen-Shannon分歧是一项具有挑战性的任务。vid2vid提出了新的网络设计和用于视频到视频合成的时空目标。
Sequential generator
首先,对优化问题做马尔可夫假设,即当前帧生成的视频仅与前L 帧的信息相关,而不是与整个1∼t 帧的视频序列的信息都相关,因此上式的约束条件为:
在生成第t 帧视频时,只需要将下边三类信息送入网络即可:
1) 当前第t 帧的条件输入s_t;
2) 前L帧的条件输入(s_(t−L))^(t−1);
3) 模型生成的前L帧图像(x~t−L)^(t−1)。
对于输入2)和3),马尔可夫假设保证只需要提供前L帧的信息,而不是前边所有帧的信息,从而使网络更容易优化。文章通过实验发现L一般取2效果较好,L太小会损失时序信息,L太大会造成巨大的GPU开销且提升的效果也有限。
视频信号在连续帧中包含大量的冗余信息。如果连续帧之间的光流(optical flow)是已知的,可以通过对当前帧的warping来估计下一帧。除了被遮挡的区域外,这种估计基本正确。基于这一观察,将F建模为
第一部分对应的是前一帧warped像素,而第二部分则是新的像素的 hallucinates 。
Conditional image discriminator DI
DI的目的是确保在相同的源图像下,每个输出帧都类似于真实图像。这个条件判别器应该对真实的一对(x_t, s_t)输出1,对假的一对(x˜t, s_t)输出0。
Conditional video discriminator DV
DV的目的是确保给定相同的光流的情况下,连续的输出帧与真实视频的时间动态相似。DI以源图像为条件,而DV以光流为条件。令(w_t-k)^(t-2)表征K个连续真实图像(x_t-k)^(t-1)的K-1个光流。DV对一对真实的图像((x_t-k)^(t-1), (w_t-k)^(t-2))输出1,对一对假的图像((x~_t-k)^(t-1), (w_t-k)^(t-2))输出0。
Learning objective function
通过解决以下问题来训练顺序视频合成函数F
其中LI是由条件图像判别器DI定义的图像上的GAN损失,LV是由DV定义的连续K帧上的GAN损失,LW是流量估计损失。在整个实验中,基于网格搜索,将权重λW设置为10。使用鉴别器特征匹配损失和VGG特征匹配损失,这种处理方式能够提高收敛速度和训练稳定性。
Foreground-background prior
对于语义图转街景图任务,前景和背景是有很大区别的,道路这样的背景通常是不动的,因此光流计算较准,得到图像较清晰,而前景的光流计算较为困难,因此针对前后景分别建模,有利于加快收敛速度,进行有针对性的训练。
有了前景-背景先验,可以通过以下方式得到F:
Multimodal synthesis
合成网络F是一个单模态的映射函数。给定一个输入源视频,它只能生成一个输出视频。为了实现多模态合成,对源视频采用了一个特征嵌入方案,该方案由实例级语义分割掩码组成。具体来说,在训练时,训练一个图像编码器E,将ground-truth图像编码为一个d维的特征图。然后,对该图进行实例平均汇集,使同一物体的所有像素共享相同的特征向量。然后,将实例平均的特征图z_t和输入的语义分割掩码st送入生成器F。一旦训练完成,就对属于同一对象类别的特征向量进行高斯混合分布。在测试时,使用该对象类别的估计分布为每个对象实例抽取一个特征向量。鉴于不同的特征向量,生成器F可以合成具有不同视觉外观的视频。
vid2vid网络结构
vid2vid使用了两阶段的Generator,第一阶段G1用来生成全局粗糙的低分辨率视频,第二阶段G2用来生成局部精细化的高分辨率视频。其中,G1的输入是下采样2倍之后,前L帧+当前帧的Semantic map序列以及之前L帧生成图像的序列,在经过下采样和提特征之后,在网络的中间将两路输入提取的feature map相加,接着在网络后部又分出两个分支,来生成未加光流约束的原始图像以及光流和权重mask。G2的输入是原始分辨率的Semantic map序列以及生成图像,在经过2倍下采样+提特征的卷积层之后,将两个分支提取的feature map分别与G1对应的两路输出相加,然后分别送入G2后半部分的两个分支,进行局部细节的refine。
图6. 用于低分辨率视频的网络架构(G1)。网络接收一些语义标签图和先前生成的图像,并输出中间帧以及流程图和mask
图7. 用于高分辨率视频的网络结构(G2)。对标签图和以前的帧下采样处理后送入低分辨率网络G1。然后,将来自高像素网络和低像素网络最后一层的特征相加,送入另一个系列的残差块,以输出最终图像
当前 SOTA!平台收录 vid2vid共1个模型实现资源。
VideoVAE
视频表达了视觉数据的高度结构化的时空模式。一个视频可以认为是由两个因素控制的。(i)时间上不变的(如人的身份),或缓慢变化的(如活动),属性引起的外观,编码每一帧的持久内容;(ii)帧间运动或场景动态(如编码执行动作的人的演变)。
VideoVAE是一个用于视频生成和未来预测的生成框架,通过将从潜在空间分布中依次抽取的样本解码为完整的视频帧来生成视频(短片段)。VAEs被用作编码/解码into/from潜在空间的帧的手段,而RNN被用作对潜在空间的动态建模的方式。通过对潜在空间进行属性控制来提高视频生成的一致性;确保在学习/生成过程中,属性可以被推断并作为条件。因此,给定属性和/或第一帧,VideoVAE能够生成不同的但高度一致的视频序列集。
在每个时间步长,VAE将视觉输入编码为一个高维潜在分布。这个分布被传递到一个LSTM,以编码在潜在空间中表达的运动。在每个时间步长,所产生的潜在分布可以被采样并解码为一个完整的图像。为了提高生成序列内的一致性,也为了控制生成过程,将VAE中的潜在空间扩展为具有整体属性控制的结构化潜在空间。整体属性控制可以被指定或从数据中推断出来;它可以随着时间的推移而固定,也可以表现出稀疏的过渡(见图8)。因此,在结构化潜在空间中提出的分层条件后验分布以多个关键信息源为条件进行预测。此外,还提出了条件抽样,以利用以前的样本来产生时间上连贯的序列。
图8. 使用属性控制的视频生成。使用一个包含固定数量控制信号的半监督的潜在空间来引导生成过程。将 "动作 "和 "身份 "中的一个(a-b)或两个(c)属性设置为所需的或推断的类别(彩色圆圈)限制了生成过程,利用剩余的自由度来合成不同的视频样本。在(d)中,对两个属性以及第一帧的调节有效地消除了生成过程中的所有不确定性(自由度)。在(e)中,在第6和第11帧诱导了从 "走 "到 "跑 "再回到 "走 "的属性转换,从而在生成的视频中产生了图示的相应转换
图9. VideoVAE概述,(a) VAE的结构化潜在表示编码了一个条件近似后验,在LSTM的帮助下通过时间传播。(b) 图9a中虚线框的详细说明:在一个分层过程中,整体属性首先与变异近似后验合并,然后与来自LSTM的时间信息整合,有效地产生了一个双条件动态近似后验