Petuum提出对偶运动生成对抗网络:可合成逼真的视频未来帧和流

对于自动驾驶系统而言,准确预测驾驶场景的未来情况对于驾驶安全而言至关重要。卡内基梅隆大学和 Petuum 的一项研究试图通过对偶对抗学习机制来解决这一问题,他们提出的对偶运动生成对抗网络在合成逼真的视频未来帧和流上都取得了很好的表现。机器之心对该研究的论文进行了编译介绍。

尽管用于监督学习的深度学习架构取得了很大的进展,但用于通用和可扩展的视觉任务的无监督视频表征学习仍然很大程度上仍未得到解决——尽管这也是一个关键的研究问题。最近,预测视频序列中的未来帧 [22,20,28] 已经成为了视频数据的无监督学习的一个很有希望的方向。


由于自然场景具有复杂的外观和运动动态,所以视频帧预测本身是一项很有挑战性的任务。直观上讲,为了预测未来帧中的实际像素值,模型必须要能理解像素层面的外观和运动变化,这样才能让之前帧的像素值流入到新的帧中。但是,大多数已有的当前最佳方法 [20,28,18,16,26,37] 都使用了生成式神经网络来直接合成未来视频帧的 RGB 像素值,无法明确建模固有的像素方面的运动轨迹,从而会导致预测结果模糊。尽管最近有些研究 [23,16,26] 试图通过设计能从之前的帧复制像素的运动场层(motion field layer)来缓解这一问题,但因为中间流不准确,预测结果往往有显著的伪影问题。


在这项工作中,我们开发了一种对偶运动生成对抗网络(dual motion Generative Adversarial Network)架构,可以使用一种对偶对抗学习机制(dual adversarial learning mechanism)来学习明确地将未来帧中的合成像素值与像素上的运动轨迹保持连贯。具体来说,它能同时根据一种共享的概率运动编码器而解决原始的未来帧预测(future-frame prediction)问题和对偶的未来流预测(future-flow prediction)问题。受 GAN [6,13] 的成功的启发,我们在两个未来帧和未来流生成器以及两个帧和流鉴别器之间建立了一种对偶对抗训练机制,以便得到与真实数据难以区分的预测结果。通过互相的彼此审查,这种基本的对偶学习机制将对未来像素的想象和流预测联系到了一起。我们的对偶运动 GAN 由如下三个完全可微分的模块构成:


  • 概率运动编码器可以获取可能出现在不同位置的运动不确定性并为之前的帧产生隐含的运动表征,然后这些表征会被用作两个生成器的输入。
  • 然后未来帧生成器会预测未来的帧,预测结果会在两个方面得到评估:帧鉴别器会对帧的逼真度进行评估,流鉴别器会根据之前帧和预测帧之间的估计的流而评估流的逼真度。
  • 未来流生成器又会预测未来的流,这也会在两个方面得到评估:流鉴别器会对流的逼真度进行评估,帧鉴别器会根据推算得到的未来帧(是通过一个嵌套的流变形层(flow-warping layer)计算的)来评估帧的逼真度。


通过从两个对偶的对抗鉴别器学习对称的反馈信号,未来帧生成器和未来流生成器可以受益于彼此互补的目标,从而得到更好的识别预测。在使用了 KITTI 数据集 [5] 中车载摄像头拍摄的视频和来自 UCF-101 数据集 [27] 的消费者视频训练之后,我们的对偶运动 GAN 在合成接下来的帧以及自然场景的长期未来帧上的表现超过了所有已有的方法。我们还通过在另一个汽车摄像头拍摄的 Caltech 数据集 [3] 以及一个来自 YouTube 的行车记录仪原始视频集合上的测试证明了它的泛化能力。此外,我们还通过大量 ablation study(注:指移除模型和算法的某些功能或结构,看它们对该模型和算法的结果有何影响)表明了每个模块的设计选择的关键性。我们还在流估计、流预测和动作分类上进行了进一步的实验,结果表明了我们的模型在无监督视频表征学习上的优越性。


对偶运动 GAN


我们提出了对偶运动 GAN,这是一种用于视频预测的完全可微分的网络架构,能够联合解决原始的未来帧预测和对偶的未来流预测。图 1 给出了这种对偶运动 GAN 架构。我们的对偶运动 GAN 以视频序列为输入,通过融合未来帧预测与基于未来流的预测来预测下一帧。



图 1:我们提出的对偶运动 GAN 使用了一种对偶对抗学习机制来解决未来帧预测和未来流预测任务。首先将一个视频序列 I1,…, It 送入概率运动编码器 E 以得到隐含表征 z。对偶运动生成器(左侧的 Future-frame G 和 Future-flow G)对 z 进行解码,以合成未来帧和流。对偶运动鉴别器(右侧的 Frame D 和 Flow D)分别学习分类真实的和合成的帧或流。流估计器 QI→F 根据预测帧 I_t+1 和真实帧 It 来估计流 F_t+1,这又会进一步得到 Flow D 的评估。流变形层 QF→I 会使用预测得到的流 F_t+1 来对真实帧 It 进行变形操作,从而生成变形后的帧 I_t+1,然后又会通过 Frame D 评估。上图中的下部分是测试阶段。


网络架构


图 2 和图 3 分别给出了生成器和鉴别器网络的详情。为了简洁,图中略去了池化层、批规范化层和中间卷积层之后的 ReLU 层。


  

图 2:对偶运动生成器。给定序列中的每一帧都会被循环地送入概率运动编码器 E,其中包含 4 个卷积层、1 个中间 ConvLSTM 层和 2 个用于得到均值图和方差图的 ConvLSTM 层,以用于对 z 采样。接下来,未来帧生成器 GI 和未来流生成 GF 会分别解码 z 以得到未来帧 I_t+1 和未来流 F_t+1。然后流估计器 QI→F 会生成 It 和之间估计的流 I_t+1。执行差分 2D 空间变换的流变形层 QF→I 会根据将 It 变形为 I_t+1。


图 3:两个对偶运动鉴别器的架构。帧鉴别器和流鉴别器分别学习分类真实的和合成的帧和流。


实验


表 1:经过 KITTI 数据集的训练之后,在 Caltech 和 YouTube 剪辑上的视频帧预测表现(MSE 和 SSIM)


表 2:在 UCF-101 和 THUMOS-15 上的视频帧预测表现(PSNR 和 SSIM)


图 4:在 YouTube 剪辑上的定性结果。为了更好地比较,我们用红色框和蓝色框突出展示了两辆以相反方向前进的车辆的预测区域

图 5:在来自 Caltech 数据集的车载摄像头视频上,与 Prednet [18] 的下一帧预测结果的定性比较


图 6:在 Caltech 数据集上的多帧预测表现的比较


图 7:我们的模型在 Caltech 序列上的 5 个时间步骤的多帧预测结果


图 8:我们的模型在来自 KITTI 数据集的两个序列上得到的一些未来帧预测和未来流预测示例


表 3:在 KITTI 数据集上的流估计和预测的终点误差。这里值更低表示表现更好。


表 4:在 UCF-101 上的动作识别的分类准确度


论文:用于未来流嵌入式视频预测的对偶运动生成对抗网络(Dual Motion GAN for Future-Flow Embedded Video Prediction)

链接地址:https://arxiv.org/abs/1708.00284

视频的未来帧预测是无监督视频表征学习的一个很有前途的研究方向。视频帧是基于视频中的外观和运动动态,根据之前的帧通过固有的像素流而自然生成的。但是,已有的方法都重在直接想象像素值,从而会得到模糊的预测。在这篇论文中,我们开发了一种对偶运动生成对抗网络架构,可通过一种对偶学习机制来学习明确地强制未来帧预测与视频中像素层面的流一致。其原始的未来帧预测和对偶的未来流预测可以形成一个闭环,从而能为彼此生成信息丰富的反馈信号,进而实现更好的视频预测。为了使合成的未来帧和流都与现实情况难以区分,我们提出了一种对偶训练方法以确保未来流预测能够帮助推理逼真的未来帧,而未来帧预测又反过来能帮助得到逼真的光流。我们的对偶运动 GAN 还能使用一种新的概率运动编码器(基于变分自编码器)来处理不同像素位置的自然的运动不确定性。我们进行了大量实验,结果表明我们提出的对偶运动 GAN 在合成新视频帧和预测未来流上表现优于之前最佳的方法。我们的模型能很好地泛化到不同的视觉场景上,并且表现出了在无监督视频表征学习方面的优越性。

理论CMU自动驾驶生成对抗网络
1
机器之心
机器之心

机器之心编辑

返回顶部