基于深度学习的视频预测文献综述

A Survey on Deep Video Prediction


1. 简介

视频预测是一种无监督学习,因为要从图像序列中学习到未标注的视频数据结构信息。他需要对每个像素都进行预测。为了实现好的效果,需要使用一些复杂的损失函数。同时视频预测还是一种多模式的问题,因为正确的预测还需要很多视频中未给出的潜在的信息。

传统方法基本对于高分辨率无能为力,因为他们不能处理真实世界的复杂性。DNN在物体识别上的成功表明他们可能可以胜任这一任务。

考虑到可以用视频表示的活动范围之广,人们可能会认为视频预测可以作为测试人工一般智能的基础。以及一些其他工作。

1.1 基本问题

基于物理世界的随机性和多样性,用MSE loss 进行训练时可能会对数据集中各种情况取一个平均,就导致最终生成的图片模糊。如果要预测多帧图像时,最终某些物体甚至会消失。一种解决方法就是使用adversarial loss使生成图像更自然,(并基于已生成的图像的一部分合成输出)。

另一个影响因素是未知随机变量的影响。随机变量可能包括视野外部的物体、遮挡、视野内物体运动的不可预测性。一些解决方法已经根据先验概率分布引入了随机变量,并且应用LSTM追踪那些进入和移出视野的物体。另外,相机的运动也可能影响,比如驾驶视频,当相机运动太不稳定时,需要考虑运动稳定性以使训练数据更适合学习。

计算机视觉中的另一个问题就是视觉特征捆绑问题,计算机如何区分一个红色方块和一个蓝色圆的场景,与一个蓝色方块和一个红色圆的场景?目前人们基本都回避了这个问题。

1.2 应用

视频预测对于model-free到model-bsed的RL有很重要的作用,可以改进决策效果。

视频预测对于仿真很多物理环境也很有用。很多公司和人都应用它做了很多事。

2. 视频预测的方法

视频预测的深度网络一般包含3部分:提取特征的卷积网络、转换潜变量的全连接或者卷积网络、重建图像的解卷积网络。最早的一个尝试是用RNN和卷积网络预测patches,获得了较好的结果,但不知道真正是否比光流法更好。而且这种这种语言模型有一些缺点:每个像素的感受域太小,预测较多帧时不能收敛,(并且它对于每个像素值不是一个完全端到端可训练的)。

在这里插入图片描述

Srivastava等人将输入变为 image patches,并且取更高级的特征(感觉percepts)进行预测,这是卷积网络+fc6的输出,另外将RNN改为LSTM,减轻了RNN的梯度消失问题。他们还引入了一个复合模型:同时进行对输入图像重建和预测,最终效果更好。可能是学到了更多有效信息。

另外两篇文章几乎同时发表,带来了一些重要的进步:使用了adversarial loss。Mathieu等人用不同的loss进行了实验。他们也设计了一个multi-scale的结构,一个pipeline会生成更高分辨率的图像,因此这可保证过呢更高质量的预测输出(在PSNR和SSIM的标准下)。Lotter等人使用一个CNN-LSTM-deCNN网络以在像素级信息上进行操作。他们发现MSE会导致模糊,而adversarial loss会导致网络混淆脸的同一性(?)。

VPN一文中作者发现一帧的某个像素点不仅取决于先前帧,还取决于当前帧中其他像素。基于此VPN中包含一个像素保持的卷积encoder、LSTMs、和PixelCNN decoders,作者还发明了一个称为residual multiplicative block的网络。实验结果表明该网络在MINIST数据集上几乎取得了理论最好的准确率,在机械手臂数据集上也训练中未出现的物体有很好的泛化能力;同时还能建模非确定性的运动,向前预测多步。VLN网络独特之处在于它对所有的层都用循环前向横向连接进行了增强(?)。MINIST数据集上他比VPN略差,但是参数数量少了25倍,深度少了一个数量级,有更快的推断速度。

2.1 基于转换的方法

转换模型是对预测一个transformation以将输入序列映射到下一帧,而不是直接生成图像。这很适合于自然场景,因为物体的运动基本都是平稳连续的。但对于Atari这类游戏不适用,因为有些物体会突然消失又进来。转换模型相对于直接生成模型的优点是会生成更锐利的图片,且需要更小的模型,但缺点是不能处理从外界进入视野的物体。

一种思路就是用conv-LSTM-deconv来预测光流。这种结构包含一个网格生成器和采样模块,基于光流构建下一个图像,使得模型具有端到端可微分性(?)。应用Huber loss以使图像更平滑。作者也论证了这个光流可以结合预测分割进行视频分割。

Amersfoort等人用卷积模型预测重叠块的局部仿射变换。他们设计了一个仿射变换提取器,可以找到一种仿射变换,使得从一帧仿射变换到另一帧有着最小的MSE。取得了比Mathieu更好的效果,但这种方法的缺点是不能预测输入帧中未出现的物体。

DVF是预测三维光流(?),这个网络是端到端可训练的。它最初是为视频插值设计的,不过也可以应用到其他方面。他可以生成很锐利的图像,而且模型很小。但是当有重复式样时就会失败。

2.2 基于行为条件的方法

基于行为的视频预测是一个扩展研究。未来的预测还取决于当前采取的行为。这一方法一般通过将Action作为中间层的输入。

Watter等人提出的E2C网络在更低维的latent code空间用VAE进行采样,转换也是在latent space完成,利用一个神经网络计算线性转换的矩阵。转换和代价函数都是在潜在空间中完成(?),最优控制也可以在这个空间中进行。这个方法的优点是在长期的预测中可以保持图像的质量。

Oh等人建立的基于行为的模型,可以结合Atari游戏的控制输入预测下一帧。这个网络通过多个阶段的而学习,从而进行更长时间的预测。研究者改变了模型的两个参数:输入图像的帧数目和是否使用LSTM。他们发现使用前向反馈网络时只能依赖于固定的几帧输入而不能结合之前的信息,而循环网络对于空间运动的的预测能力更差。他们也论证了他们的模型可以被应用在增强学习中。

Finn等人设计了一个可以基于行为的视频预测方法,学习预测当前帧到下一帧的转换。这个结构包括多个LSTM单元以分离图像的前景和背景,对前景进行转换后再将它们合成一个图像。他们提出了一些运动预测方案:预测像素光流、预测一组仿射变换。结果表明他们的效果很好。

2.3 基于静态图像的预测

另一个研究方向是从一个静态图像的输入进行预测。Walker等人提出了一个Conditional VAE结构,用一个14层的卷积网络提取视觉特征,然后用于编码解码。由于视频生成的多模态(multi-modal)属性,作者取一百多个生成的样例中欧式误差的最小值。在此基准下他们得模型比光流法表现得更好。

Xue等人在conditional VAE中引入了交叉卷积层(?)。它利用了图像中不同语义项对应不同特征、拥有不同的运动特性这一性质。不过这一方法在遇到较大范围的运动时会产生人工物体。

Vondrick等人训练了一个GAN,SIFT和RANSAC被用于稳定和过滤视频(?)。网络的一个特点是有两个独立的流组成,其中一个生成静态的背景,另一个生成动态的前景。一个MTurk的调查表明在一些类别中中,有23%的时间被试者更喜欢生成的视频。之后他们又将网络修改为conditional GAN,可以从静态图中生成视频,尽管他们并没有验证他们的方法。

2.4 其他方法

Lotter等人的PredNet借鉴了预测编码的思想。网络使用一组模块实现,每一个模块都尝试预测它的输入,然后将误差通过卷积层传给下一层。因此他的预测质量在一个视频过程中提高了。该模型在自然场景下也表现良好。

Dynamic Filter Networks(DFN) 引入了动态变化的卷积核,该卷积核由输入生成,而不是对所有输入图像都是固定值。这种思路可以减少网络的参数,而实现更好的结果。但是在moving MINIST数据集中不能处理数字重叠的情况。未来动态的filter对于处理复杂场景或许是不可或缺的。

另一类视频预测直接预测未来任意时刻的帧。Zhou等人应用与预测延时摄影,他提出3种模型:2个Generator的组合、1个有两个栈的Gen、1个配合LSTM的Gen。发现第一个效果最差,可能是因为它的输入信息不够丰富。

3. 未来方向

猜你喜欢

转载自blog.csdn.net/weixin_41024483/article/details/88366989
今日推荐