【论文阅读】Generating Videos with Scene Dynamics
这篇论文属于一篇视频生成的论文,论文将视频的前景和背景进行了解耦,分别使用3D卷积网络生成运动前景和使用2D卷积网络生成静态背景,同时在生成的过程之中使用了含有mask的显性表达式,之后会详细地介绍。
正文
该文章将运动前景的生成和静态背景的生成解耦了,首先输入为100维的噪声向量,然后使用3D转置卷积网络生成运动前景,使用2D转置卷积网络生成运动背景,并使用mask来构建显性表达式约束网络的优化,整个网络结构如下图所示:
- 前景流
前景的生成使用的是3D转置卷积网络,因为3D转置卷积网络在生成视频的时候理论上会保证空间和时间的一致性,这种并行生成的网络与RNN等串行生成网络相比,可以有效地防止误差的累积而产生的视频内容的漂移。前景流使用的3D转置卷积核的大小为 4 × 4 × 4 4\times4\times4 4×4×4,步长为 2 2 2,除了第一层的转置卷积核的大小为 2 × 4 × 4 2\times4\times4 2×4×4,文章认为这种大小的卷积核可以很好地平衡训练速度和生成视频的质量。 - 背景流
背景流假设生成的视频中的背景为静态的,直接使用一个2D转置卷积网络从噪声中生成背景,2D转置卷积网络的结构借鉴了DCGAN的基本结构。 - 运动前景和静态背景的mask融合
文章使用一个mask的方法融合生成视频的运动前景和静态背景。如图中所示,在前景流的倒数第二层转置3D卷积层中,网络分叉了,一路使用3D转置卷积层生成视频帧,一路使用3D转置卷积层生成mask,他们的大小是一致的,并且他们网络的前部分是参数共享的。然后文章使用了一个显性表达式来约束网络,如下式所示:
其中 m ( z ) m(z) m(z)表示生成的mask(使用了sigmoid约束了0-1的数值范围), f ( z ) f(z) f(z)表示生成的前景视频, b ( z ) b(z) b(z)表示生成的背景图像,为了使得 b ( z ) b(z) b(z)的维度和 m ( z ) m(z) m(z)、 f ( z ) f(z) f(z)的维度相同,并且参考静态背景的假设下,对 b ( z ) b(z) b(z)沿着时间复制,从而可以计算得到最终的生成的视频为 G 2 ( z ) G_{2}(z) G2(z)。在训练的时候,也给mask加了一个正则项 ∣ m ( z ) ∣ 1 |m(z)|_{1} ∣m(z)∣1,权重设置为了0.1,目的是为了让mask不那么宽泛,能够让网络使用到背景流的信息。
\quad 最终网络生成的视频的大小为 32 × 64 × 64 32\times64\times64 32×64×64。 - 判别器
文章中使用到的判别器是3D卷积神经网络,该判别器包含有5层卷积层,每一层卷积核的尺寸为 4 × 4 × 4 4\times4\times4 4×4×4,这个结构就和前景流中的反卷积网络反过来一样。
实验
文章首先列出了一些定性的实验结果:
- 生成的静态背景都是足够地sharp
- 目标的运动相对于各自的场景往往也都是合理的
- 但是运动的目标往往都是不怎么清晰的
其他的还做了无监督特征分类和视频预测的任务,这里就不再详细地说了。