近年来,基于生成对抗式网络(Generative Adversarial Network, GAN)的图片生成研究工作取得了显著的进展。除了能够生成高分辨率、逼真的图片之外,许多创新应用也应运而生,诸如图片个性化编辑、图片动画化等。然而,如何利用 GAN 进行视频生成仍然是一个颇有挑战的问题。
除了对单帧图片的建模之外,视频生成还需要学习复杂的时序关系。近来,来自香港中文大学、上海人工智能实验室、蚂蚁技术研究院以及加州大学洛杉矶分校的研究者提出了一个新的视频生成方法(Towards Smooth Video Composition)。文中,他们针对不同跨度(短时范围、适中范围、长范围)的时序关系,分别进行了细致的建模与改进,并在多个数据集上取得了相较于之前工作大幅度的提升。该工作为基于 GAN 的视频生成方向提供了一个简单且有效的新基准。
- 论文地址:https://arxiv.org/pdf/2212.07413.pdf
- 项目代码链接:https://github.com/genforce/StyleSV
模型架构
基于 GAN 的图像生成网络可以表示为:I=G(Z),其中 Z 是随机变量,G 是生成网络,I 是生成图片。我们可以简单地将此框架拓展到视频生成范畴:I_i=G(z_i),i=[1,...,N],其中我们一次性采样 N 个随机变量 z_i,每一个随机变量 z_i 对应生成一帧图片 I_i。将生成的图片在时间维度堆叠起来就可以得到生成的视频。
MoCoGAN, StyleGAN-V 等工作在此基础上提出了一种解耦的表达:I_i=G(u, v_i),i=[1,...,N],其中 u 表示控制内容的随机变量,v_i 表示控制动作的随机变量。这种表达认为,所有帧共享相同的内容,并具有独特的动作。通过这种解耦的表达,我们可以更好地生成内容风格一致,同时具有多变真实的动作视频。新工作采纳了 StyleGAN-V 的设计,并将其作为基准。
视频生成的难点:如何有效并合理地建模时序关系?
新工作着眼于不同跨度(短时范围、适中范围、长范围)的时序关系,分别进行了细致的建模与改进:
1. 短时间(~5 帧)时序关系
让我们首先考虑仅有几帧的视频。这些短时间的视频帧通常包含了非常相似的内容,仅仅展示了非常细微的动作。因此,真实地生成帧间的细微动作至关重要。然而,StyleGAN-V 生成的视频中出现了严重的纹理粘连(texture sticking)现象。
纹理粘连指的是生成的部分内容对特定坐标产生了依赖,造成了 “黏” 在固定区域上的现象。在图像生成领域中,StyleGAN3 通过细致的信号处理、扩大 padding 范围等操作缓解了纹理粘连问题。本工作验证了同样的技术对视频生成仍然有效。
在下图的可视化中,我们追踪视频每一帧中相同位置的像素。容易发现,在 StyleGAN-V 的视频中,有些内容长期 “黏” 在固定坐标,并没有随着时间移动,因此在可视化中产生了“笔刷现象”。而在新工作生成的视频中,所有像素都展示了自然的移动。
然而,研究员发现,引用 StyleGAN3 的 backbone 会让图像生成质量有所下降。为了缓解这个问题,他们引入了图像层面的预训练。在预训练阶段, 网络仅需考虑视频中某一帧的生成质量,无需学习时序范围的建模,从而更易学习有关图像分布知识。
2. 中等长度(~5 秒)时序关系
随着生成的视频拥有更多的帧数,它将能够展现更具体的动作。因此,确保生成的视频中拥有真实的动作非常重要。例如,如果我们想要生成第一人称开车的视频,就应该生成逐渐后退的地面、街景,临车也应当遵循自然的驾驶轨迹。
在对抗训练中,为了确保生成网络获得足够的训练监督,判别网络至关重要。因此在视频生成中,为了确保生成网络能够生成真实的动作,判别网络需要对多帧中的时序关系进行建模,并捕获生成的不真实的运动。然而,在之前的工作中,判别网络仅仅使用了简单的拼接操作(concatenation operation)来进行时序建模:y = cat (y_i),其中 y_i 表示单帧特征,y 表示时域融合后的特征。
针对判别网络,新工作提出了一种显式的时序建模,即在判别网络的每一层,引入时序移位模块(Temporal Shift Module,TSM)。TSM 来自动作识别领域,通过简单的移位操作实现时序上的信息交换:
实验表明,在引入 TSM 之后,三个数据集上的 FVD16,FVD128 得到了很大程度的降低。
3. 无限长视频生成
先前介绍的改进主要围绕短时和适中时间长度的视频生成,新工作进一步探索了如何生成高质量的任意长度(包括无限长)的视频。之前工作(StyleGAN-V)能够生成无限长的视频,然而视频中却包含着非常明显的周期性抖动现象:
如图所示,在 StyleGAN-V 生成的视频中,随着自车前进,斑马线原本正常的后退,随后却突然改为向前运动。本工作发现,动作特征(motion embedding)的不连续性导致了此抖动现象。
先前工作采用线性插值来计算动作特征,然而线性插值会导致一阶不连续性,如下图所示(左边为插值示意图,右图为 T-SNE 特征可视化):
本工作提出了 B 样条控制的动作特征(B-Spline based motion embedding)。通过 B 样条进行插值,能够获得关于时间更加平滑的动作特征,如图所示(左边为插值示意图,右图为 T-SNE 特征可视化):
通过引入 B 样条控制的动作特征,新工作缓解了抖动现象:
如图所示,StyleGAN-V 生成的视频中,路灯、地面会突然改变运动方向。而在新工作生成的视频中,运动的方向是一致、自然的。
同时,新工作针对动作特征还提出了一个低秩(low rank)的约束,来进一步缓解周期性重复内容的出现。
实验
工作在三个数据集(YouTube Driving, Timelapse, Taichi-HD)上进行了充分的实验,并充分对比了先前的工作,结果显示,新工作在图片质量(FID)以及视频质量(FVD)上,都取得了充分的提升。
SkyTimelapse 实验结果:
Taichi-HD 实验结果:
YouTube Driving 实验结果:
总结
新工作基于 GAN 模型,提出了一个全新的视频生成基准,从不同尺度的时序关系出发,提出了新颖、有效地改进。在多个数据集上的实验显示,新工作成功取得了大幅度超越先前工作的视频质量。