CVPR2021 MotionRNN: A Flexible Model for Video Prediction with Spacetime-Varying Motions

动机

1、现实世界的运动是非常复杂的,总是在空间和时间上变化。在降水预报中,要准确预测随时空变化的运动,如雷达回波的变形、积累或消散,具有极大的挑战性。

2、最新的已知的视频预测模型,如PredRNN、MIM和Conv-TT-LSTM,主要关注于捕捉随时间的变化简单的状态转换。它们忽略了运动中复杂的变化,所以在高度变化的情况下不能准确地预测。

3、基于光流的方法使用局部不变状态转换来捕捉短期的时间依赖性,但缺乏对长期运动趋势的表征。当建模不断变化的运动时,这些方法的效果可能会严重退化。

4、本文发现,物理世界的运动可以自然地分解为瞬态变化和运动趋势。考虑到运动的分解,应该捕捉运动的瞬态变化和运动趋势,以便更好地进行时空变运动预测。

瞬态变化可以看成是各局部区域瞬时的变形、耗散、速度变化等变化。例如,当一个人跑步时,身体的不同部位会随着时间发生各种短暂的运动变化,例如左右腿交替向前走。而且,自然的时空过程,特别是物理运动也遵循着这一规律。视频的运动趋势可以看成是运动遵循视频序列中物理世界背后的特征,例如物体的惯性,雷达回波的气象学,或其他物理定律。

方法

提出了一种新的MotionRNN框架。为了能够对时空变化的运动进行更有表现力的建模,MotionRNN设计了MotionGRU单元,用于高维隐藏状态的转换,该单元分别被专门设计用来捕捉瞬态变化和运动趋势。受ResNet中残差shortcuts的启发,在提出的框架内跨层次改进了运动Highway,以防止捕获的运动消失,并为MotionRNN提供有用的上下文时空信息。MotionRNN是灵活的,可以很容易地适应现有的预测模型。

MotionRNN:通常,基于RNN的时空预测模型采用堆叠块的形式。在此框架中,隐状态在预测块之间的传输由内门控制。然而,当涉及到时空变化的运动时,门控信息流将被不断地对运动的瞬态变化做出的快速反应所淹没。此外,还缺乏运动趋势建模。为了应对时空变化运动建模的挑战,MotionRNN框架在不改变原始状态转换流的情况下,将堆叠层之间的MotionGRU单元作为操作符纳入。MotionGRU可以捕捉运动,并根据学习到的运动将状态转换到隐藏状态。然而,当过渡特征穿过多层时,运动会模糊甚至消失。因此,MotionRNN引入了运动Highway,为运动上下文信息提供了另一种捷径。通过输出门的复用,将预测块的输出与之前的隐含状态进行补偿。这种Highway连接为隐藏状态提供了额外的细节,并平衡了不变部分和可变运动部分。MotionRNN框架将MotionGRU插入到原始RNN块的各层之间。

MotionGRU:对于时空变化的运动建模,提出了MotionGRU单元,通过对运动变化建模来进行基于运动的状态转换。在视频预测中,运动可以表示为对应于RNN中隐藏状态转换的像素位移。使用MotionGRU来学习相邻状态之间的像素偏移量。学习到的像素偏移量由运动滤波器表示。考虑到真实世界的运动是由瞬态变化和运动趋势组成的,在MotionGRU中专门设计了两个模块,分别对这两个模块进行建模。如下所示:

  1. 瞬态变化:在视频中,每个时间步长的瞬态变化不仅基于空间语境,而且具有较高的时间相关性。例如,一个男人挥舞的手在相邻的框架之间几乎是连续的手臂旋转角度。基于瞬态变化的时空相关性,采用ConvGRU来学习瞬态变化。通过ConvGRU,学习到的瞬态变化能够考虑到瞬态状态,并保持变化的时空一致性。
  2. 运动趋势:在跑步的场景中,这个人的身体每走一步都会上下摆动,同时他还会继续前进。在这种情况下,运动遵循向前的趋势。在视频预测中,通常需要通过整个帧序列来获得运动趋势。然而,这是很难实现的。这种困境类似于强化学习中的奖励预测。受时序差分学习的启发,采用一种累积的方法来捕捉运动变化模式。使用之前的运动滤波器作为当前运动趋势的估计,该运动滤波器由瞬态变化和趋势动量组合而成。趋势动量是运动滤波器的动量更新,也在偏移空间中。通过动量更新,这种趋势估计具有更大的跨时间系数。在学习到的运动滤波器的基础上,通过Warp运算得到新的过渡状态。
实验细节

主干模型。为了验证MotionRNN的通用性,使用多个预测模型作为主干模型,包括ConvLSTM、PredRNN、MIM和E3D-LSTM。在所有的基准测试中,基于这些模型的MotionRNN有四个堆叠的块,包含64个通道隐藏状态。对于E3D-LSTM,将MotionGRU内部的编码器和解码器替换为3D卷积,将3D feature map降采样为2D,其他操作保持不变。

训练过程。使用L1+L2 loss进行训练,以同时增强生成帧的锐度和平滑度,使用初始学习速率为0.0003的ADAM优化器。动量因子α设置为0.5。为了提高内存效率,MotionGRU的学习过滤器大小被设置为3×3。批处理的大小设置为8,训练过程在100,000次迭代后停止。所有实验都在PyTorch中实现,在NVIDIA TITAN-V GPUs上进行。

测试基准。在以下三个具有挑战性的基准上广泛评估我们提出的MotionRNN:

  1. 人类运动。采用human3.6M数据集,该数据集包含来自真实世界的17个不同场景的360万种姿势的人类动作。将每个RGB帧的大小调整为128×128的分辨率。现实生活中的人类运动要复杂得多。例如,当一个人在走路的时候,人体的不同部位会有不同的短暂变化,例如胳膊和腿在弯曲,身体在摇摆。复杂的运动变化将使预测真实人体的运动成为一项非常具有挑战性的任务。
  2. 降水临近预报。降水临近预报是视频预报的重要应用。恶劣天气雷达回波的累积、变形、消散或扩散是预报的难点。该基准使用了上海雷达数据集,其中包含了来自上海气象局的不断变化的雷达地图。上海的数据集有40000个连续的雷达观测数据,每12分钟收集一次,36000个序列用于训练,4000个序列用于测试。每一帧都被调整为64×64的分辨率。
  3. 变化的移动数字。引入了由64×64的分辨率的帧序列组成的变化移动MNIST (V-MNIST)数据集。之前移动MNIST或MNIST++的数字移动速度较低,没有数字变化。相比之下,变化的移动MNIST迫使所有数字同时移动、旋转和缩放。V-MNIST是通过对两个不同的MNIST数字采样而实时生成的,其中100,000个序列用于训练,10,000个序列用于测试。

评价指标。对于人类运动,使用框架结构相似度指数测度(SSIM),均方误差(MSE),平均绝对误差(MAE)来评价我们的模型。除了这些常见的度量标准,还使用Fr´echet视频距离(FVD),这是人类对生成视频的定性判断的度量标准。FVD既可以测量视频内容的时间一致性,也可以测量每帧视频的质量。对于降水临近预报,预测过去5次观测的未来10个雷达回波帧,包括未来两小时的天气情况。使用梯度差分损失(GDL)来测量预测帧的锐度。GDL越低,真实锐度相似度越高。对于雷达回波强度,将dBZ中的像素值进行转换,将Critical Success Index(CSI)分别在阈值为30dbz、40dbz、50dbz进行比较。CSI定义为CSI = Hits+Misses+ FalseAlarms,其中Hits对应Hits true positive,Misses对应false positive,false alarms对应false negative。CSI越高,预测效果越好。与MSE相比,CSI度量方法对总是伴随着高变化的运动的高强度回波特别敏感。对于变化的移动数字,根据之前的10帧预测未来的10帧。使用MSE、SSIM、GDL和峰值信噪比(PSNR)作为评价指标。

实验结果表明,Motion Highway可以有效地避免运动模糊,并将物体限制在正确的位置。MotionRNN在上述的三个基准上都取得了最先进的性能。

结论
  1. 与以前的预测学习方法不同,本文方法侧重于对运动内的变化进行建模,它可以根据时空信息学习显式的瞬态变化,并从之前的积累中以统一的方式记住运动趋势。

  2. MotionRNN不会改变原始预测模型中的状态转换流。因此,MotionRNN具有很高的灵活性,可以适应多种预测框架,如ConvLSTM、PredRNN、MIM、E3D-LSTM以及其他基于RNN的预测模型。在现有预测模型的基础上,可以显著地增强时空变运动建模。

  3. 通过MotionGRU和Motion Highway,本文提出的MotionRNN框架可以应用于各种运动变化的场景,无缝补偿现有的模型。

上一篇:机器学习03-训练与损失函数


下一篇:训练网络的保存和提取