1、基于深度学习的视频预测研究综述 莫凌飞 蒋红亮 李煊鹏 东南大学仪器科学与工程学院 摘 要: 近年来, 深度学习算法在众多有监督学习问题上取得了卓越的成果, 其在精度、效率和智能化等方面的性能远超传统机器学习算法, 部分甚至超越了人类水平。当前, 深度学习研究者的研究兴趣逐渐从监督学习转移到强化学习、半监督学习以及无监督学习领域。视频预测算法, 因其可以利用海量无标注自然数据去学习视频的内在表征, 且在机器人决策、无人驾驶和视频理解等领域具有广泛的应用价值, 近两年来得到快速发展。本文论述了视频预测算法的发展背景和深度学习的发展历史, 简要介绍了人体动作、物体运动和移动轨迹的预测, 重点介绍了
2、基于深度学习的视频预测的主流方法和模型, 最后总结了当前该领域存在的问题和发展前景。关键词: 视频预测; 深度学习; 无监督学习; 运动预测; 动作识别; 卷积神经网络; 递归神经网络; 自编码器; 作者简介:莫凌飞, Email:, 男, 1981 年生, 副教授, 博士, 主要研究方向为机器学习与人工智能、物联网与边缘计算、智能机器人等。在国内外期刊与会议发表 SCI 和 EI 收录论文 40 余篇。作者简介:蒋红亮, 男, 1993 年生, 硕士研究生, 主要研究方向为深度无监督学习和计算机视觉。作者简介:李煊鹏, 男, 1985 年生, 讲师, 博士, 主要研究方向为机器视觉、驾驶辅助
3、系统、环境感知与信息融合。收稿日期:2017-07-19基金:国家科技支撑计划 (2015BAG09B01-2) Review of deep learning-based video predictionMO Lingfei JIANG Hongliang LI Xuanpeng College of Instrument Science and Engineering, Southeast University; Abstract: In recent years, deep learning algorithms have made significant achievements on
4、 various supervised learning problems, with their accuracy, efficiency, and intelligence outperforming traditional machine learning algorithms, in some instances even beyond human capability. Currently, deep learning researchers are gradually turning their interests from supervised learning to the a
5、reas of reinforcement learning, weakly supervised learning, and unsupervised learning. Video prediction algorithms have developed rapidly in the last two years due to its capability of using a large amount of unlabeled and naturalistic data to construct the forthcoming video as well as its widesprea
6、d application value in decision making, autonomous driving, video comprehension, and other fields. In this paper, we review the development background of the video prediction algorithms and the history of deep learning. Then, we briefly introduce the human activity, object movement, and trajectory p
7、rediction algorithms, with a focus on mainstream video prediction methods that are based on deep learning. We summarize current problems related to this research and consider the future prospects of this field.Keyword: video prediction; deep Learning; unsupervised learning; motion prediction; action
8、 recognition; convolution neural network; recurrent neural network; auto encoder; Received: 2017-07-19“我们缺乏的一个关键要素是预测 (或无监督) 学习:机器具有模拟环境, 预测未来的可能性, 以及通过观察和参与理解世界如何运作的能力。”Yann LeCun1近年来, 深度学习在学术界和工业界得到了广泛的发展和应用, 其在计算机视觉2-6、语音识别7、自然语言处理8-9以及游戏策略10等众多领域取得丰硕成果, 在某些领域甚至取得了超越人类的表现。但当前的深度学习算法模型大部分都是以有监督的方式
9、训练, 模型严重依赖于大量的标注数据和长时间的训练。以知名的 Image Net 数据集12为例, 其包含 1500 万张人工标注的图片, 超过 2.2 万个类别, 创建和标注一个如此大规模的数据集需要耗费许多人数月的时间才能完成。另外, 依赖大量的标记数据来获取概念和知识与人类的学习机制不符, 人类依赖很少的样本就可以获取一个新的概念。当儿童第一次观察到“猫”并被告知这种动物是“猫”以后, 儿童并不需要长期被重复告知这是“猫”, 但监督学习的方式需要大量的样本以及多次重复训练, 才能掌握“猫”的概念。以类似人类的方式, 通过有限样本或者无监督的方式获取知识和表征, 成为当前人工智能领域的热点
10、研究问题。另外, 人类与其他动物的一个重要区别是人类有很强的预测能力。尽管一些动物也有一些预测能力, 例如在围捕猎物、躲避天敌和预测天气变化上等;但人类显然有更强的推理和预测能力, 例如, 人类驾驶汽车时可以推理其他汽车的运行轨迹, 提前决策。当前计算机视觉领域的研究, 也逐渐开始借鉴人类这种“预测编码”能力。在这种背景下, 视频预测, 因其可以用海量的无标注自然视频数据来训练, 而且具有广泛的应用场景, 成为了当前深度学习研究领域的一个热点研究方向, 并且已经取得了一定的研究成果。给出一个视频序列, 预测未来视频, 这需要构建一个可以精准建模视频内容和动态变化的内部表征模型, 这也是视频预测
11、被视为无监督表征学习的一个很有前景的研究方向的原因。视频预测模型学习到的表征可以迁移到监督学习任务中。例如, 文献13通过实验证明, 通过无监督视频预测模型学习到的表征可以在动作识别数据集上提升分类结果, 因此建模视频动态是一种有效的无监督表征学习方法。另外, 在视频中推断未来的场景可以使机器人、自动驾驶汽车和无人机提前决策, 因此有广泛的应用价值。本文主要介绍基于深度学习的视频预测研究。首先, 对深度学习的发展历程和基础神经网络模型进行简要介绍;简要介绍与视频预测领域最为相关的动作、运动和物体移动轨迹预测的研究;重点介绍视频预测算法的进展、成果以及待解决的问题。1 深度学习概述机器学习算法是
12、一种可以自动从数据中发现规律, 并利用此规律对未知数据进行预测的算法, 机器学习在数据挖掘、计算机视觉、自然语言处理、搜索、推荐系统以及策略游戏等众多领域得到了广泛的应用, 取得了突出的成果。然而, 自然界的原始数据, 例如图像、视频和传感器测量数据等一般具有高维度、高复杂性和高冗余性的特点, 人工提取特征需要依赖专家知识, 费时费力且提取到的特征通常不太好。而传统机器学习算法往往依赖人工提取特征, 导致实际的机器学习问题退化为数据预处理和特征工程2, 成为机器学习应用和发展的一大障碍。深度学习是人工神经网络 (artificial neural network, ANN) 的一个分支。最早的
13、人工神经网络研究可以追溯到 Mc Culloch 和 Pitts 在 1943 年提出的阈值逻辑单元17, 他们从原理上证明了人工神经网络可以计算任何算术和逻辑函数。随后 Hebb 学习规则18、感知机19、反向传播算法20等概念先后被提出, 并得到了一定的应用, 例如手写数字识别21和语音识别7。然而, 由于当时人们对神经网络认识有限, 计算机的计算能力也有限, 神经网络并未得到过多关注。2006 年, Hinton 等人提出以无监督限制玻尔兹曼机 (restricted boltzmann machine, RBM) 进行逐层预训练的方法来高效的训练多层神经网络22, 深度学习的概念开始进
14、入公众视野。2012 年 Krizhevsky 等使用深度卷积神经网络 (convolutional neural network, CNN) 21构建的 Alex Net 模型3以绝对优势赢得了 Image Net 大规模图像识别竞赛 (ILSVRC2012) 的冠军, Alex Net 的成功成为了计算机视觉发展史上的转折点, 自此深度学习得到了飞速发展。卷积神经网络、递归神经网络 (recurrent neural network, RNN) 23、自编码网络 (auto encoder) 24和生成对抗网络 (generative adversarial networks, GANs)
15、 25及其各种变种得到了广泛的发展和应用。表征学习 (或特征学习, representation learning) 26旨在利用机器自动从原始高维数据中获得可以被机器学习算法高效利用的特征24。深度学习可看作为一种通过简单、非线性映射方式获取多层特征的表征学习方法, 它把原始输入数据通过逐层映射, 转变为高阶的、更为抽象的特征。以分类问题为例, 高层的表征放大了那些更有区分度的特征, 而抑制了那些无关变量。深度学习被证明非常擅长发现高维度数据中的复杂特征, 因此在科学界和工业界得到广泛应用, 并打破了图像识别、语音识别和机器翻译的记录。2 深度学习主要模型近些年来, 有越来越多的深度学习模型
16、被提出, 其中最基础、最重要的模型主要有卷积神经网络、递归神经网络、自编码器以及生成对抗网络, 这几种模型构成了视频预测模型的基础, 下面我们简要介绍这 4 种主流模型。2.1 卷积神经网络卷积神经网络是前馈神经网络的一种, 这种神经元连接模式受动物视觉皮层检测光学信号原理的启发27。1980 年 Fukushima 等28提出了 CNN 的前身 Neo Cognitron, 20 世纪 90 年代, Le Cun 等21发表论文, 确立了 CNN 的现代结构, 这是一种多层的人工神经网络, 取名为 Le Net-5。自 2012 年起, 研究人员又不断提出更深、性能更强的卷积神经网络模型:A
17、lex Net3、VGGNet5和 Res Net6等。卷积神经网络一般是由多个卷积层和全连接层组成, 卷积操作、局部连接性和权值共享是卷积神经网络最显著的特点。卷积神经网络通常用来处理 2D 结构的数据, 其在图像领域和语音识别上都得到了广泛的应用。2010 年, Zeiler 等人首次提出了反卷积 (卷积转置或小数步进卷积, Deconvolution) 29的概念, 用于卷积神经网络的特征可视化以及图像无监督特征学习。反卷积网络被越来越多的模型所采用, 例如图像语义分割30、生成模型31等。另外, 为处理序列图像, Ji 等32使用 3D 卷积去提取数据的空间和时间特征, 从而可以使卷积
18、神经网络能很好地处理序列信息, 3D 卷积在人体动作识别等领域取得了显著的结果。2.2 递归神经网络递归神经网络 (RNN) 23是一种处理序列数据的神经网络, 它把状态在自身网络中循环传递, 能够处理任意长度的序列, 递归神经网络比前馈神经网络更加符合生物神经网络的结构。因为 RNN 容易受到梯度消失或者梯度爆炸的影响, Schmidhuber 等33在 1997年提出了长短期记忆 (long short term memory, LSTM) 神经网络, 该模型增加了“遗忘门”和“更新门”。实验表明, LSTM 模型能有效避免梯度消失或者梯度爆炸的问题, 很好地解决了长期依赖问题。随后学者提
19、出了很多 LSTM 模型的变体。Gers 等34于 2001 年提出了窥视孔 LSTM (peephole LSTM) , 该模型增加了一个窥视孔连接, 意味着可以让门限层监视神经元状态。Cho 等35于2014 年提出了门递归单元 (gated recurrent unit, GRU) , 它组合遗忘门和输入门为一个“更新门”, 合并了神经元状态和隐层状态, 这个模型比标准的LSTM 模型更简单。Shi 等36在 2015 年提出了卷积 LSTM (convolutional LSTM) , 把卷积层和递归层做了很好的结合, 卷积 LSTM 与常规 LSTM 的区别是把部分矩阵乘积操作换成了
20、卷积操作。因为卷积 LSTM 可以很好地处理图像的空间信息和时间动态信息, 它在图像生成模型和视频处理等领域得到了广泛应用。2.3 自编码器自编码器是一种以无监督的方式来学习数据表征的神经网络, 通常用来做数据降维24。自编码器通常分为编码器和解码器两部分, 编码器将数据编码为潜在变量, 解码器将潜在变量重建为原数据。自编码器有很多变体, 例如降噪自编码器37、稀疏自编码器38、变分自编码器 (VAE) 39。因为自编码器可以高效地进行数据降维, 相当一部分视频预测模型采用了自编码器架构。2.4 生成对抗网络Goodfellow 等25在 2014 年提出了生成对抗网络的概念, 其为生成模型提
21、供了一种全新的高效训练模式, 近两年来, 生成对抗网络成为了机器学习领域最热门的研究方向之一。Le Cun 认为“生成对抗网络是过去十年来机器学习领域最有趣的想法”, 很多 GAN 的衍生模型, 如条件 GAN (condition GAN) 41、Info GAN42、DCGAN31相继被提出。生成对抗网络由一个生成器 (generator, G) 和一个判别器 (discriminator, D) 组成, 生成器输入一个潜在编码, 其输出需无限逼近真实样本;判别器的输入为真实样本和生成器的输出, 并识别出真实样本和生成样本。两个网络以零和博弈的方式交替训练, 训练鉴别器时最小化鉴别误差,
22、训练生成器时最大化鉴别误差, 最终目的是使鉴别器无法鉴别出生成样本和真实样本, 生成器的输出与真实样本分布一致。生成对抗网络的架构如图 1 所示。生成对抗网络的目标函数可以用式 (1) 描述:生成对抗网络在生成逼真的自然样本31、图像超分辨率43、三维建模44、图像风格迁移45和视频预测领域16得到了广泛应用。3 运动预测研究给出一张静态图片或者一段场景视频, 人类不仅可以迅速地获取图像中的即时内容, 还可以推断出图像中的场景动态。然而, 对于计算机来说, 推演出图像中的场景动态是一个比较困难的任务, 因为它依赖计算机利用自然界大量难以参数化的知识来建模51。在视频预测研究兴起之前, 学术界比
23、较关注的是运动预测。运动预测一般是指从静态图像或视频前几帧中推断出人体动作、物体移动轨迹等动态信息;而视频预测是从静态图片或视频前几帧中直接预测未来图像。本节我们对动作、运动和物体移动轨迹预测算法进行简要回顾。3.1 动作和运动预测从静态图像或有限帧视频中预测人类动作和行为是一个比较基础也比较重要的任务。在动作预测方面, 研究人员主要使用统计学习方法和传统的机器学习方法来建模。Lan 等52和 Hoai 等53使用最大化边界框架来推测动作场景。Ryoo54把动作预测问题概率化, 使用时空特征积分直方图来建模特征分布如何随时间变化。Vu 等55提出了一种使用动作和场景之间的关联信息, 从静态场景
24、中预测人类动作的方法。Pei 等56提出了一种基于随机场景感知语法的事件解析、推断事件目标和预测可信动作的算法。与 Vu 的方法类似, 该方法使用事件的层次组成和子事件间的时态关系来鉴别不同事件以及预测动作。Fouhey 等57和 Koppula 等58通过使用条件随机场来建模人的可能动作从而来做未来场景的预测。Huang 等59提出了一种基于双实体交互的方式来理解一个实体的动作如何影响另外一个实体的动作。本文把双实体交互模型看作一种最优控制问题, 该模型使用一种基于核以及增强学习的近似软最大值函数去处理高维度的自然人体运动, 另外还使用了连续代价函数的均值转移方法来平滑动作序列。Pickup
25、 等60、Lampert 等61和 Pintea 等62分别用统计流方法、向量值回归和随机森林回归算法回归物体移动方向, Pintea 等还论证了运动预测在动作识别、运动显著性检测等方面有很大的应用价值。也有学者使用深度学习进行动作预测。Vondrick 等51提出一种用深度回归网络的方法来学习视频表征, 结合动作识别模型, 能够很好地根据静态图像来推测未来动作。3.2 物体移动轨迹预测除人体动作和运动预测外, 物体轨迹预测也具有广泛的应用价值。Kitani 等63提出了一种基于马尔科夫决策过程和反转最优控制的动作理解和轨迹预测方法, 并在运动分析 (包括运动平滑、路径和目的地预测) 以及场景
26、迁移学习上做了定量和定性的评估。Kitani 等63和 Gong 等64都提出用行人轨迹预测来辅助多目标追踪, 并取得了高效的结果。图 1 生成对抗网络架构图 Fig.1 Architecture of generative adversarial nets 下载原图Kooij 等65提出了一种动态贝叶斯网络来做行人路径预测。Walker 等66使用条件变分自编码器来预测静态图像中每个像素的运动轨迹。在另一篇文献中, Walker 等67使用光流算法来标记视频, 进而训练一个光流预测模型, 该模型可以预测每个像素的运动。Walker 等68还尝试了通过奖赏函数选择最优目标的方式建模汽车运动的轨
27、迹。Yuen 等69提出一种基于大数据的方法, 通过检索大数据中与被检索图片或视频相似场景的方式来预测物体可能的位置, 该方法类似于 k 近邻算法, 不需要训练模型, 在数据量足够大的情况下可以取得比较好的效果。Mottaghi 等70使用两个 CNN 和一个 RNN 来建模物体移动动态, 从而预测可能移动的物体。运动预测模型一般从建模移动物体的运动轨迹出发, 能较好地预测前景物体的瞬时运动轨迹, 其处理的数据维度低于视频预测, 但不能预测图像的结构信息, 且其学习到的特征无法迁移到有监督学习领域, 因而其应用范围和价值有限。4 视频预测模型架构“不是我创造的, 我就不能理解。”Richard
28、 Feynman著名物理学家 Feynman 这句话背后的内涵是:通过构建验证过的概念来理解事物。在人工智能领域, 可以理解为:如果一个机器能够生成高度真实的数据, 那么它就发展出了对自然数据的理解能力。视频预测是指给出一段连续视频帧 X1, X2, ., Xn, 构造一个模型可以精准地生成随后的帧 Xn+1, Xn+2, ., Xn+t (t 是需要预测的帧的数量) 。或者, 给出一段序列 X1, X2, ., XN, 其中 Xn ( ) 是缺失的, 模型可以推断缺失的帧 (插值) 。视频预测不需要额外的标注信息, 因此属于无监督学习的范畴。一般常用于评估视频质量的指标有均方误差 (mean
29、 square error, MSE) 、峰值信噪比 (peak signal to noise ratio, PSNR) 和结构相似性 (structural similarity index, SSIM) 。用 Y 来表示真实帧, 表示预测帧, MSE、PSNR 和 SSIM 的定义如式 (2) - (4) 所示。式 (3) 中 是像素的最大值, 例如 8 位的像素表示法, 其像素最大值是 255。PSNR 的值越大, 代表失真越小。式 (4) 中, 是 Y 的均值, 是 的均值;是 Y 的方差; 是 的方差;的协方差;c 1= (k1 L) 和 c2= (k2 L) 是用于维持稳定的常数
30、;L 是像素值的动态范围, k 1=0.01, k2=0.03;SSIM 的范围是-1 到 1, 值越大表示相似度越大。视频预测为一个较新的研究领域, 目前尚未有专用于视频预测的数据集, 学者一般使用视频动作数据集进行训练和测试。表 1 给出了部分常用数据集和使用该数据集的部分文献。表 1 视频预测算法常用数据集 Table 1 Common datasets used by video prediction algorithms. 下载原表 视频预测模型一般基于自编码器架构、递归神经网络架构和生成对抗网络架构, 表 2 为部分基于以上三类架构的视频预测文献概览。下面我们按照这三类进行介绍。4
31、.1 自编码器架构自编码器因其可以进行高效的压缩编码, 因而很多视频预测模型采用自编码器来进行视频的降维和生成。基于自编码器的视频预测常用架构如图 2 所示。Yan 等86提出了一种深度动态编码器模型 (deep Dyn Encoder) , 该模型输入原始像素图像, 经编码器编码成隐状态变量, 然后使用动态预测器 (Dyn Predictor) 将时序动态编码。使用合适的堆叠策略、逐层预训练和联合微调, 可以构建多层深度动态编码器。实验表明, 文献86提到的方法可以描绘复杂的视频动态, 合成高质量的纹理序列视频。作者还构造了基于深度动态编码器模型的分类和聚类方法, 在交通场景分类和运动分割上
32、取得了接近甚至优于之前最好的模型的效果。Vukoti 等72提出基于时间差 (35) t 的卷积自编码器模型。编码器有两个分支, 一个接收输入图像, 另外一个接收期望预测的时间差 (35) t, 解码器根据编码器输出的潜在变量生成可信的图像。以没有时间差输入的常规卷积自编码器模型为基准, 作者提出的方法在 KTH 数据集上生成的图像有更高的语义性, 均方误差也更低。然而, 该模型存在诸多不足, 例如生成的人体动作具有歧义, 不能很好地建模快速移动的物体, 不能充分地处理前景和背景信息等。Liu 等79提出一种深度体元流模型, 该模型是一种全卷积自编码器架构, 由三个卷积层、三个反卷积层和一个瓶
33、颈层组成。为更好地保留空间信息, 在每个卷积层和反卷积层之间有跳跃连接。在 UCF-101 和 THUMOS-15 数据集上的内插和外推视频实验上的结果表明, 该模型比文献46中提到的多尺度对抗训练架构和光流法的结果要更优。图 2 基于自编码器的视频预测模型架构 Fig.2 Architecture of Video Prediction based on Auto Encoder 下载原图Xue 等15提出一种基于变分自编码器和交叉卷积网络的模型, 该模型可以从一张图片生成可能的未来帧。该模型通过条件变分自编码器来建模未来帧的复杂条件分布。另外, 该模型利用了图像差分 (欧拉运动) 原理,
34、因为图像差分是稀疏的, 并且比原始图像更容易建模。Xue 等还在合成数据集与自然图像上验证了模型的有效性, 另外, 作者还通过实验证明了该模型在无监督、零样本类比学习上取得了很好的结果。4.2 递归神经网络 (RNN) 架构递归神经网络可以很好地进行序列数据建模, 视频预测本身也是一种序列学习问题, 很多研究人员采用递归神经网络来解决视频预测问题。基于编解码的递归神经网络架构如图 3 (a) 所示。Ranzato 等14从自然语言处理领域借鉴了经典的 n-grams 算法, 将之与 CNN和 RNN 结合起来, 给出了一个视频预测和视频插值的基准。Ranzato 还在 RNN架构基础上提出了递
35、归卷积神经网络 (recurrent convolution neural network, RCNN) 架构, RCNN 是在 RNN 输入和输出端连接卷积层, 使其能够更好地处理图像结构信息。Srivastava 等13提出了一种使用 LSTM 架构的无监督视频表征学习模型。该模型将图像经过编码器编码后送入 LSTM 网络, 解码器可以重建原视频, 或者预测未来视频。然而, 一个高容量的自编码器网络倾向于记忆输入数据, 预测模型倾向于仅仅存储最近几帧, 因此本文提出了一个复合模型, 复合模型可以同时重构原图像、预测未来图像, 强迫模型来更好地学习视频表征。Srivastava最后把无监督学
36、习过程学习到的表征应用到有监督学习动作分类中, 实验结果表明, 在训练样本很少的情况下, 无监督视频预测学习到的特征显著提升了分类结果。Lotter 等83从神经科学的“预测编码”概念获得启发, 提出了一种视频预测架构Pred Net, 该架构的每一层只做局部预测, 向后面的层传递残差。Pred Net 在 KITTI 数据集上的结果表明其可以统一建模背景和移动物体 (车辆、行人) 的运动。Oh 等87受 Deep Mind 使用雅利达 (Atari) 游戏进行增强学习研究的启发, 提出未来图像不仅与过去的图像有关, 还与当前的操作行为有关。Oh 因此提出一种由编码器、操作变换和基于 CNN
37、和 RNN 的解码器组成的模型。实验结果表明, 基于操作信息的条件模型可以生成视觉上较真实的、可用于游戏控制的大约 100 帧预测视频。Finn 等88随后也提出了基于动作的视频预测模型, 该模型可以根据不同的动作预测不同的视频, 该模型主要由卷积 LSTM 构成, 通过跳跃连接 (skip connection) 保存图形背景信息, 最后通过掩膜 (mask) 把背景和转变图像拼接起来。作者提出三个不同的架构:动态神经平流、卷积动态神经平流和空间变换预测器。这三个模型在视频预测上都取得了不错的结果。以上提到的方法都是直接预测高阶的视频, 由于误差累积和放大, 预测多帧视频是一个非常困难的任务。Villegas 等77用高阶结构信息辅助进行视频预测。他们提出的算法先从输入图像中提取人体骨架结构, 然后预测骨架结构的变化, 与参考图片联结在一起生成动作视频。实验表明, 这种以高阶结构信息为条件的视频生成策略有效减小了误差传播和累积, 在 Human3.6M 等数据集上取得了