1.6 深度神经网络提高视频处理速度
视频处理还有一个需要考虑的重要问 题——速度。视频的数据量很大,另一方 面很多视频的应用都有实时性要求,因此 这是一个很实际的问题。对前面介绍的深 度神经网络而言,速度的瓶颈在于计算光 流的时间。
为了解决这个问题,我们注意到有一 个很好的东西可以替代光流。我们知道 现在的视频数据大部分都是压缩,很少 有人会把不压缩的视频存储和传输,因 为数量太大了。视频压缩时会使用运动 向量 MotionVector,运动向量表示一些 具体图像块帧间的运动。这个虽然没有 像光流一样去描述像素级精细的运动信 息,但也提供了运动信息。运动向量的 好处在于,它是不需要额外计算的,在 视频解码过程中首先就要提取运动向量。
这就启发我们用运动向量替换光流, 以节约光流的运算时间。当然运动向量也 有它的问题,它代表一些区域运动不像光 流那么精细,看起来像马赛克。另外,它 对运动的描述并不准确,存在噪声。我们 发现直接利用运动向量来训练卷积神经网 络,识别性能会有很大的影响。
相比而言,光流训练处的神经网络性 能是很好的,这就启发我们把光流所学 知识或者特征迁移到运动向量神经网络 中。具体而言,我们设计了集中策略包 括模型的初始化、输出监督的迁移等。 通过这些方法,我们发现运动向量神经 网络识别率得到了很大的提升,它的学 习特征更强了。
另外,视频作为一种时间序列,启发 研究人员利用时序模型对视频进行建模。 深度递归神经网络 RNN 是一个非常有效的时序模型。如何利用 RNN 或 LSTM 进行 时序建模?可以先用卷积神经网络提取每 一帧的特征,然后把这个特征作为 LSTM 当前时刻的输入。递归神经网络可以很多 层,可以做双向的,这些都对识别率有帮助。