《Deep Learning in Next-Frame Prediction:A Benchmark Review》论文解读

《Deep Learning in Next-Frame Prediction:A Benchmark Review》

作者: YUFAN ZHOU, HAIWEI DONG , (Senior Member, IEEE),
AND ABDULMOTALEB EL SADDIK , (Fellow, IEEE)
Multimedia Computing Research Laboratory, School of Electrical Engineering and Computer Science, University of Ottawa, Ottawa, ON K1N 6N5, Canada
Corresponding author: Haiwei Dong ([email protected])

点击下载.

Abstract

下一帧预测作为深度学习中的一种无监督表示问题,是计算机视觉中一个新的、有前途的研究方向,通过显示历史图像信息来预测未来可能出现的图像。在机器人决策和自主驾驶方面具有广泛的应用价值。本文介绍了最新的下一帧预测网络,并将其分为两种结构:sequence-to-one和sequence-to-sequence结构。通过对网络结构和损耗函数设计的分析,比较了这些方法的优缺点。基于现成的数据集和相应的评价指标,对上述方法的性能进行了定量比较。最后指出了今后的研究方向。
关键字:帧预测结构、损失函数设计、最新的评估

Introduction

1. 研究问题的必要性

下一帧预测,即以一帧或几帧图像的形式预测接下来会发生什么,是计算机视觉和深度学习的一个新兴领域。这种预测是建立在对到目前为止已经发生的图像信息的理解之上的。它是指从连续的、未标记的视频帧开始,构建一个能够准确生成后续帧的网络。网络的输入是前几帧,预测是/是下一帧。这些预测不仅可以预测人的运动,也可以预测图像中任何物体的运动和背景。不同于运动预测,下一帧预测的主要任务是对视频或图像中的内容和动态进行建模。下一帧预测应用场景广泛,可以使人工智能能够更好地理解周围的环境,并为基于预测能力处理许多不同任务提供了巨大的潜力。

2. 深度学习在下一帧上的应用

由于深度学习在[8]图像处理中显示出了它的有效性,因此与传统的机器学习相比,深度学习对于下一帧的预测是非常强大的。传统的机器学习方法往往需要人工提取特征和大量的预处理工作。机器学习中的时间序列预测使用线性模型,如ARIMA或指数平滑,往往不能满足日益复杂的现实世界环境的需要。从图像中有效地学习特征是很困难的。大量的方法已经证明,深度学习更适合研究图像表示学习[9]。尽管在深度学习架构方面取得了很大的进步,但下一帧预测仍然是一个巨大的挑战,这可以从图像去模糊和长期预测两个方面来总结。在本文中,我们将一个能够产生20个以上未来帧的预测系统定义为一个长期预测系统。具体细节将在下一节中讨论。综上所述,下一帧预测在人工智能领域是非常重要的,它可以预测未来的可能性并提前做出决策。

3. 本文贡献

在本文中,我们涵盖了最近的论文,并讨论了以前提出的方法的想法,贡献和缺点。**通过对网络结构、损耗函数设计、实验性能的比较,**总结出这些方法的优缺点,启发我们对未来的研究方向进行展望。

Related work

1. Predictive Learning

预测学习通过了解现有信息预测未来可能的帧。一般采用预测学习来解决序列问题。有几个使用预测学习的实际应用。RNN适用于寻找序列数据中的模式,如视频表示、交通流和天气预报。

  • Song等人[22]提出了金字塔扩张的双向ConvLSTM来有效检测视频中的重要区域。
  • Zhang等人通过设计一个时空模型来预测交通流。
  • Shi等人[24]利用他们提出的卷积LSTM网络(ConvLSTM)预测降雨,该网络将卷积操作与递归层相结合。

此外,预测学习作为一种创建强人工智能的方法,已经应用于运动预测领域,如动作预测和轨迹预测。

  • Vu等人[25]提出了一种利用动作和场景之间的关联信息从静态场景中预测人类动作的方法。
  • Ryoo等[26]实施概率行为预测,利用时空特征的积分直方图来建模特征分布随时间的变化。
  • Lan等人[27]开发了一个最大边缘学习框架,并提出了一种新的表示称为“人类运动”的行为预测。
  • Walker et al.[28]使用光流算法对视频进行标记,然后训练一个光流预测模型,可以预测每个像素的运动

此外,通过预测学习系统可以提前估计车辆和行人的行为,从而提高自动驾驶汽车的性能和安全性。Walker等[29]尝试通过奖励函数选择最优目标来模拟汽车的运动轨迹。Deo等[30]提出了一种基于LSTM[31]的递归模型,用于预测高速公路交通条件下的车辆运动及其轨迹。

2. Deep Learning in image generation

图像生成是基于现有数据集生成新的图像。一般分为两类。一类是根据属性生成图像,属性通常是文本描述。另一类是从一幅图像到另一幅图像:将历史图像作为网络的输入,生成用于特定目的的图像,如去噪[32]、超分辨率[33]、图像样式转换[34]。

图像生成领域最常见的网络结构是自编码器和生成对抗网络(GANs)[35]。自动编码器是生成图像最流行的网络架构。自动编码器通常由两部分组成:编码器和解码器。编码器将该数据编码为潜在变量,而解码器将该潜在变量重新构造为原始数据。自动编码器有几个变种,包括稀疏自动编码器[36]和变量自动编码器[37]。

生成对抗网络是一种常用的图像生成训练模型。GAN有两个组成部分:判别模型和生成模型。生成模型生成图像,训练判别模型,最大限度地将正确的标签应用到生成模型的示例和样本上。区别模型学习了阶级之间的边界,而生成性模型模拟了个体阶级的分布。使用GAN可以使生成的图像更清晰。几种方法已被提出,以成功地生成更清晰的图像与GANs[33],[34]。此外,设计了不同类型的GANs来生成图像,如improvementGAN[40]和InfoGAN[41]。还可以组合不同的GANs来执行图像生成任务。Zhang等人[42]提出StackGAN迭代生成高质量图像。在他们的方法中有two-stage 生成器。第一阶段产生低分辨率的图像,第二阶段根据第一阶段的结果产生高分辨率的图像。ProgressiveGAN[43]先训练4×4个像素发生器和鉴别器,然后逐渐添加额外的层,使输出分辨率倍增至1024×1024。

3.最新方法

下一帧预测可以看作是一个时空问题。==给定连续时间步长的图像序列,通过时间序列学习来预测下一帧。从一系列图像中获取周围环境信息,获取图像间像素变化规律。==此外,对于特定图像,像素之间的关系是执行下一帧预测时需要考虑的重要因素。关键特征可以通过物体的位置、外观和形状从图像的空间结构中提取出来。

我们将下一帧预测的网络分为两种架构:sequence-to-one 和sequence-to-sequence架构。对于前一种架构,深度学习模型的输入是 t t t + k t+k 之间的一组时间步长的帧。预测是下一帧。对于后一种结构,输入是时序帧,分别输入到神经网络中。具体来说,深度学习模型输入 t t 时刻的帧,预测是 t + 1 t + 1 时刻的下一帧。这个操作持续进行,直到深度学习模型在第 ( t + m ) (t+m) 个时间步长的帧。sequence-to-one架构侧重于输入帧的空间结构,而sequence-to-sequence架构侧重于时间序列的因素。

表1列出了最近有代表性的下一帧预测方法的集合。这些最先进的方法比较他们的**学习模型结构,输入的数量,预测帧的数量,和损失函数。**另外,表1中包含了相应的代码url。RNN很少应用于sequence-to-one的结构中,而广泛应用于sequence-to-sequence的构造中。AE作为图像处理中的经典神经网络,在两种架构中都被广泛用于下一帧的预测。通常情况下,编码器可以从前一帧中提取空间特征,解码器可以将像素还原并重构下一帧。自编码器模型的主要优点是通过从原始图像中提取最具代表性的信息,并将减少的信息放入神经网络进行学习,从而减少了输入信息量。此外,该编码器的结构可以适应少量的输入变量。对于损失函数,L1、L2和对抗性损失在两种结构中都被使用。其中,最常用的损失函数是L2。对于预测帧数,Villegas等[14]预测的最大帧数为128帧。相比之下,最先进的方法只能预测不到20帧。在下面的小节中,将分别说明这两种架构。
在这里插入图片描述

A. Sequence-to-one

正如在sequence-to-one架构的定义中提到的,大多数方法[6]、[12]、[13]、[15]将之前在通道维度上的帧串联起来,作为网络的一组输入图像。帧是按时间顺序排序的。尽管来自[10]和[11]的方法从单个图像中归纳了可能的未来帧,但由于以下原因,这两种方法被归类为sequence-to-one的架构。在[11]中,作者将输入帧转换为pyramid sizes。因此,图像自编码器的输入是一个多尺度集,并通过设置为一个运动自编码器,从图像差值中提取卷积核。他们的交叉卷积运算结合了卷积核和图像自动编码器的特征图。对于[10]的方法,他们将时间因子作为自编码器模型中状态层的输入。编码器有两个分支:一个分支接收输入图像,另一个支路接收期望预测的time difference。解码器根据编码器的潜在变量输出生成可靠的帧。

在图像学习中,金字塔结构被证明是一种高效的高级特征提取方法。如图1所示,特征金字塔是由不同尺度的图像独立构建的。特征金字塔是一种语义上的多尺度特征表示。

  • Mathieu等人[13]使用多尺度网络通过多尺度图像来保持高分辨率和重构高质量的帧。
  • Liu等人[12]提出了一种端到端深度体素流网络。他们通过卷积金字塔自动编码器预测三维体素流。将体素流添加到体积采样层以合成所需的帧。然而,每一个图像的尺度都有一个明显的限制,即处理速度慢。
  • Lin等人[44]提出了一种特征金字塔网络来提高处理速度。他们不是从不同尺度的图像中提取特征,而是从一张图像中提取不同尺度的特征。低分辨率、语义强的特征与高分辨率、语义弱的特征通过自上而下的路径和横向连接进行组合。他们把这种方法应用到目标跟踪任务中。在未来的研究中,这种金字塔结构可以用来加速下一帧预测模型
    在这里插入图片描述
    自编码器与生成对抗网络相结合是下一帧预测领域的一种常用操作, 特别是在sequence-to-one中。图1是利用GAN生成下一个预测帧的多尺度网络的典型例子。一般而言,判别模型的输入是一个真实样本或生成样本,其目的是尽可能地将生成模型的输出与真实样本区分开来。两种模型相互对峙,不断调整参数。
  • [13]方法生成的图像在他们的实验中清晰得多。由于该方法中生成器是多尺度结构,相应的鉴别器也是多尺度结构。将由多个鉴别器计算出的损失作为模型的权重进行累加和更新。
  • Hintz等人[45]受到Mathieu方法的启发,用reservoir计算网络代替了生成器,这是一种处理高维序列问题的更为复杂的RNN结构。鉴别器的结构和训练方法保持不变。
  • Liang et al. [6], Mathieu et al. [13], Villegas et al.[14]的方法使用GANs来提高预测帧的质量。

可用于下一帧预测的GAN结构还有WGAN[46]、WAGAN-GP[47]和DCGAN[48]。

  • Liang等人[6]提出了双WGANs,分别用于背景预测和运动预测。两个解码器都能从另一个解码器的学习中受益。分别使用flow warping和flow estimation从预测的flow获得图像,反之亦然。因此,他们使用两个鉴别器分别区分真/假帧和流,确保像素级预测器产生的序列具有合适的运动,并保证流预测器在像素级上具有相关性。

通过测量生成样本与真实样本之间的距离,研究者通常使用L1或L2距离。仅使用L1或L2距离作为损失函数将导致生成的图像模糊。在预测更多帧时,这个问题在sequence-to-one的体系结构中更为严重。为了解决L1或L2损失函数造成的图像模糊问题,Mathieu等[13]提出了一种图像梯度差损失方法,通过引入邻域图像的强度差来惩罚预测样本与真实样本之间的梯度不一致。

B. Sequence-to-sequence

另一种类型的下一帧预测结构是Sequence-to-sequence的结构。较好地反映了时间信息的特征。如图2所示,序列到序列架构会导致不同的时间步长损失,因为它们在每个时间步长中预测一帧。通过对每个时间点分配不同的权重,可以获得最佳结果,这是Sequence-to-sequence 架构和sequence-to-one架构之间损失函数设置的主要区别。同时考虑空间和时间特征是Sequence-to-sequence 结构的一个主要特征。我的研究人员使用RNN的结构来建模时序数据,并发现序列中的关系。

大多数Sequence-to-sequence 架构使用LSTM或ConvLSTM来生成未来的帧。目前的方法使用多种结构来考虑空间和时间特征,并将自动编码器模型或GAN模型与RNN模型相结合。

  • [16]和[18]中的方法首先对整个输入序列应用编码器,然后展开解码器进行多次预测。从这个意义上说,该模型的计算需求更少。
  • Michalski等人[15]使用AE金字塔进行预测,并使用循环连接预测潜在的任何预期时间长度。较高层次的网络模型从较低层次的帧之间提取变换而产生的变化。
  • Finn等[19]试图分解运动和内容:在视频中生成动态的两个关键组件。他们的网络是建立在自编码器卷积神经网络和ConvLSTM的像素级预测。ConvLSTM是一种经典的时空预测学习方法。
  • Lotter等[5]使用ConvLSTM作为基于预测编码概念的预测架构。在他们的方法中,图像预测误差可以在网络中传输,以达到更好的学习帧表示的方式。
  • Villegas等人[50]还提出了一种运动内容网络(MCNet),用于分离背景和人体运动。该网络有两个编码器输入:一个编码器接收图像序列差作为运动输入,使用LSTM建模运动动力学;另一个编码器接收静态图像的最后一帧。卷积译码器将LSTM的输出与静态图像编码器的输出相结合,得到组合后输出预测帧。学习对象特征的时间变化是预测帧的一个新方向,但它导致了一个相对较小的革命性变化。
  • 另一个创新性的提议是[51]disentangled表示法,这意味着变异的一个单一潜在因素的变化应该导致学习表示法中的一个单一因素的变化。

ConvLSTM是一种经典的时空预测学习方法。Wang等[20]受ConvLSTM的启发,通过在标准LSTM cell中添加时空记忆操作,设计了一种新的强RNN存储器(ST-LSTM)。他们在时空结构信息方面取得了进展。在它们的ST-LSTM中使用了一个共享输出门来无缝地融合这两个内存。此外,他们还提出了一种新的模型结构:PredRNN。作者认为,传统的多层RNN网络连接忽略了 t t 时刻顶层单元对 t + 1 t + 1 时刻底层单元的影响,他们认为这种影响非常显著。因此,他们在PredRNN中增加了时间步长 t t t + 1 t + 1 之间的顶层和底层连接。结合PredRNN和ST-LSTM可以使存储流在水平方向和垂直方向上扩展,使下一帧长期预测具有较高的精度。但是,进行长期帧预测有一个缺点。由于预测是循环进行的,所以在进行更深入的未来预测时,像素上的小错误会被放大。Wang等人在PredRNN的基础上对网络进行了改进,提出了PredRNN++[21]来进行长期的下一帧预测。在他们的模型中,设计了一种新的时空存储机制,称为因果LSTM。新的LSTM获得了更强大的建模能力,以实现更强的空间相关性和短期动态。此外,他们还提出了radient highway unit,该单元为梯度提供了从未来预测到长间隔过去输入的快速路径,以避免梯度消失问题。
在这里插入图片描述

Dataset and evaluation metrics

Progressive growing of GANs for improved quality, stability, and variation

猜你喜欢

转载自blog.csdn.net/qq_30516823/article/details/107599482
今日推荐