2019-Cubic LSTMs for Video Prediction
Hehe Fan, Linchao Zhu, Yi Yang
Abstract
预测视频中的未来帧已成为计算机视觉和机器人学习社区的有前途的研究方向。这个问题的核心涉及运动物体捕获和未来运动预测。对象捕获指定了视频中正在移动的对象,而运动预测则描述了它们的未来动态。出于这一分析的考虑,我们提出了用于视频预测的立方长短期记忆(CubicLSTM)单元。 CubicLSTM由三个分支组成,即用于捕获运动对象的空间分支,用于处理运动的时间分支以及用于组合前两个分支以生成预测帧的输出分支。沿空间分支和输出分支堆叠多个CubicLSTM单元,然后沿时间分支演化,可以形成三次递归神经网络(CubicRNN)。实验表明,在合成数据集和真实数据集上,CubicRNN都比以前的方法产生更准确的视频预测。
Introduction
视频包含场景中的大量视觉信息以及动作的深刻动态变化。学习视频表示,想象运动和理解场景是计算机视觉的基本任务。毋庸置疑,一个能够在观察多个上下文框架之后预测未来框架的模型具有完成这些任务的能力(Srivastava,Mansimov和Salakhutdinov 2015)。与视频识别相比(Zhu,Xu,and Yang 2017; Fan et al.2017; 2018),视频预测具有先天优势,即通常不需要外部监督信息。视频还为机器人提供了一个了解物理世界的窗口。预测将来会发生什么,可以帮助机器人计划其动作并做出决策。例如,动作条件视频预测(Oh等人,2015; Finn,Goodfellow和Levine,2016; Ebert等人,2017; Babaeizadeh等人,2018)可以根据各种因素(例如,力)以及这些因素的长期影响(例如运动)。
由于视频是一种时空序列,因此递归神经网络(RNN),尤其是长短期记忆(LSTM)(Hochreiter和Schmidhuber 1997)和门控递归单元(GRU)(Cho等人,2014)。广泛应用于视频预测。用于视频预测的最早的RNN模型之一(Ranzato等人,2014)直接借鉴了语言建模文献中的结构(Bengio等人,2003)。它将帧补丁的空间量化为可视单词,因此可以看作补丁级别的预测。后来的工作(Srivastava,Mansimov和Salakhutdinov 2015)使用完全连接的LSTM(FC-LSTM)构建了编码器-解码器预测器。除补丁程序级别预测外,它还学习在功能级别上预测未来的帧。由于传统的LSTM(或GRU)单元是从一维向量中学习的,其中特征表示非常紧凑且空间信息丢失,因此这两种方法都试图避免在图像级别直接预测未来的视频帧。为了预测时空序列,卷积LSTM(ConvLSTM)(Shi et al.2015)通过将三维张量作为输入并通过卷积操作替换完全连接的层来修改FC-LSTM。 ConvLSTM已成为几项视频预测工作的重要组成部分(Finn,Goodfellow和Levine,2016年; Wang等人,2017年; Babaeizadeh等人,2018年; Lotter,Kreiman和Cox,2017年)。
与大多数传统的LSTM单元一样,FC-LSTM被设计为仅学习一种类型的信息,即序列相关性。直接适应FC-LSTM使得ConvLSTM难以同时利用视频中的时间信息和空间信息。 ConvLSTM中的卷积运算一方面要处理运动,另一方面要捕获运动的对象。同样,ConvLSTM的状态必须能够同时携带运动信息和对象信息。仅使用一种卷积和一种状态进行时空预测可能是不够的。
在本文中,我们提出了一种用于视频预测的新单位,即立方长短期记忆(CubicLSTM)单位。该单元配备有两个状态,一个时间状态和一个空间状态,分别由两个独立的卷积生成。其动机是不同种类的信息应由不同的操作和状态处理和携带。 CubicLSTM由三个分支组成,它们沿着笛卡尔坐标系中的三个轴构建。
-
时间分支沿x轴(时间轴)流动,卷积旨在获得并处理运动。由该分支生成时间状态,该分支包含运动信息。
-
空间分支沿z轴(空间轴)流动,卷积在z轴上负责捕获和分析运动对象。空间状态由该分支生成,该分支承载有关移动对象的空间布局信息。
-
输出分支根据时间分支提供的预测运动和空间分支提供的运动对象信息,沿y轴(输出轴)生成中间或最终预测帧。
沿空间分支和输出分支堆叠多个CubicLSTM单元可以形成一个二维网络。该二维网络可以通过沿时间轴演化而进一步构建三维网络。我们将此三维网络称为三次递归神经网络(CubicRNN)。实验表明,CubicRNN在Moving-MNIST数据集(Srivastava,Mansimov和Salakhutdinov 2015),机器人推进数据集(Finn,Goodfellow和Levine 2016)和KTH Action数据集(Schuldt,Laptev和Caputo)上生成高精度的视频预测
2004)。
Related work
Video Prediction
许多先前的工作已经解决了具有不同设置的视频预测。它们基本上可以分类如下。
Generation vs. Transformation.:如上所述,视频预测可以分为补丁级别(Ranzato等人2014),特征级别(Ranzato等人2014; Srivastava,Mansimov和Salakhutdinov 2015; Vondrick,Pirsiavash和Torralba 2016a)和图像级别。对于图像级别的预测,方法的生成组会生成帧中的每个像素(Shi等人2015; Reed等人2017)。由于维数的诅咒,这些方法中的某些方法在处理现实世界的视频预测时有困难。第二组首先预测转换,然后将转换应用于前一帧以生成新帧(Jia等人2016; Jaderberg等人2015; Finn,Goodfellow和Levine 2016; Vondrick和Torralba 2017)。这些类型的方法可以减少预测现实世界未来框架的难度。此外,一些方法(Villegas等人2017; Denton和Birodkar等人2017; Tulyakov等人2018)首先通过多个损失函数将视频分解为固定的内容部分和随时间变化的运动分量,然后将预测的运动与固定内容以构建未来框架。
Short-term prediction vs. Long-term prediction.:视频预测可分为短期(<10帧)预测(Xue等人2016; Kalchbrenner等人2017)和长期($\geq$10帧)预测(Oh等人2015; Shi等人2015); Vondrick,Pirsiavash和Torralba,2016b; Finn,Goodfellow和Levine,2016; Wang等人,2017)根据预测的帧数。大多数方法通常可以对虚拟词数据集(例如,游戏视频数据集(Oh等人,2015年)或合成数据集(例如,Moving-MNIST数据集(Srivastava,Mansimov和Salakhutdinov 2015))进行长期预测。 由于现实世界序列的确定性较差,因此其中一些方法仅限于进行长期预测。例如,动态滤波器网络(Jia et al.2016)能够预测Moving-MNIST数据集上的十个帧,但预测高速公路行驶数据集上的三帧。短期预测的一种特殊情况是所谓的下一帧预测(Xue等人,2016; Lotter,Kreiman和Cox,2017),它只能预测将来的一帧。
Single dependency vs. Multiple dependencies.:大多数方法都需要在进行视频预测之前观察多个上下文帧。相比之下,其他方法旨在仅基于对单个图像的理解来预测未来(Mottaghi等人2016; Mathieu,Couprie和LeCun 2016; Walker等人2016; Xue等人2016; Zhou和Berg 2016; Xiong等人2018)。
Unconditional prediction vs. Conditional prediction.:计算机视觉社区通常专注于无条件预测,而未来仅取决于视频本身。动作条件预测已在机器人学习社区中得到了广泛的探索,例如视频游戏视频(Oh等人2015; Chiappa等人2017)和机器人操纵(Finn,Goodfellow和Levine 2016; Kalchbrenner等人2017);Ebert等人,2017; Babaeizadeh等人,2018; Reed等人,2017)。
Deterministic model vs. Probabilistic model.:视频预测的一个常见假设是,未来是确定性的。因此,大多数视频预测方法都属于确定性模型。但是,现实世界可能充满随机动力学。概率模型一次预测多个可能的帧。 (Babaeizadeh等人2018; Fragkiadaki等人2017)。由于与单个图像相对应的精确运动通常是随机且模棱两可的,因此在单依赖预测中也采用了概率方法(Xue等人,2016)。
Long Short-Term Memory (LSTM)
基于LSTM的方法已广泛用于视频预测中(Finn,Goodfellow和Levine 2016; Wang等人2017; Ebert等人2017; Babaeizadeh等人2018; Lotter,Kreiman和Cox 2017)。因此,建议的CubicLSTM可以被视为视频预测的基本模块,可以应用于许多框架。
在多维LSTM中,我们的CubicLSTM与GridLSTM相似(Kalchbrenner,Danihelka和Graves 2016)。区别在于GridLSTM是通过完全连接构建的。此外,GridLSTM中的所有尺寸都相等。但是,对于CubicLSTM,空间分支应用 5 × 5 5\times5 5×5卷积,而时间分支应用 1 × 1 1\times1 1×1卷积。我们的CubicLSTM也类似于PyramidLSTM(Stollenga等人,2015年),它由六个LSTM和三个轴组成,以捕获生物医学体积图像。信息在六个LSTM中独立地流动,而PyramidLSTM的输出仅是添加六个LSTM的隐藏状态。但是,CubicLSTM具有三个分支,并且信息在这些分支之间流动。
Cubic LSTM
在本节中,我们首先回顾完全连接的长期短期记忆(FC-LSTM)(Hochreiter和Schmidhuber 1997)和卷积LSTM(ConvLSTM)(Shi等人2015),然后描述拟议的立方LSTM(CubicLSTM)单位详细。
FC-LSTM
LSTM是一种特殊的递归神经网络(RNN)单元,用于对长期依赖关系进行建模。 LSTM的关键是单元状态 C t C_t Ct,它充当序列或时间信息的累加器。如果激活了输入,则来自每个新输入 X t X_t Xt的信息将集成到 C t C_t Ct中。同时,如果忘记门 f t f_t ft打开,则过去的单元状态 C t − 1 C_{t-1} Ct−1可能被忘记。 C t C_t Ct是否将传播到隐藏状态 H t H_t Ht由输出门 o t o_t ot控制。通常,单元状态 C t C_t Ct和隐藏状态 H t H_t Ht共同称为内部LSTM状态,表示为 ( C t , H t ) (C_t, H_t) (Ct,Ht)。对于第t步,完全连接的LSTM(FC-LSTM)的更新可以表述为:
F C − L S T M { i t = σ ( W i ⋅ [ X t , H t − 1 ] + b i ) , f t = σ ( W f ⋅ [ X t , H t − 1 + f ] ) , o t = σ ( W o ⋅ [ X t , H t − 1 ] + b o ) , c t = t a n h ( W c ⋅ [ X t , H t − 1 ] + b c ) , C t = f t ⊙ C t + i t ⊙ c t , H t = o t ⊙ t a n h ( C t ) , FC-LSTM \begin{cases} i_t=\sigma(W_i\cdot[X_t, H_{t-1}]+b_i), \\ f_t=\sigma(W_f\cdot[X_t, H_{t-1}+f]),\\ o_t=\sigma(W_o\cdot[X_t,H_{t-1}]+b_o),\\ c_t=tanh(W_c\cdot[X_t, H_{t-1}]+b_c),\\ C_t=f_t\odot C_t+i_t \odot c_t,\\ H_t=o_t \odot tanh(C_t), \end{cases} FC−LSTM⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧it=σ(Wi⋅[Xt,Ht−1]+bi),ft=σ(Wf⋅[Xt,H<