通过cross convolution networks预测视频

cross convolution networks:cross convolution layer + network 
 
主要目的在于用cross convolution layer能够分层表达图像中的动作。
主要思路是,将核解码器学习到的 分别应用到由图像编码器学习到的 特征图中。

cross convolution layer的提出基础:
  Motion can often be decomposed in a layer-wise manner [ Wang and Adelson , 1993 ].
                                       
本文中的实现方式:
1.通过图像编码器将图像金字塔输入到multiple特征图中。
                                                                  
2.用不同的卷积和去卷积这些特征图,并使用这些输出综合成一个差异图像(difference image)。
                                      
这些网络结构天然地满足分层动作的表示,因为每个特征图都有一个图像层(image layer),(这和网络层不同),并且相应的核描绘该层的动作。换句话说,其实是用卷积核来对动作建模,并以多种尺度运用到特征图中去。

**important**
因为不同的图像有不同的动作(即有不同的卷积核),传统卷积网络的核不能和所有的输入一一对应,因此本文提出了  交叉卷积层  来解决这个问题。 
交叉卷积层 不是自己去学习核的权重,而是将  核权重(kernel weights) 和 特征图  作为输入,并在 一个向前传播中进行卷积。 Finn et al. [ 2016 ], Brabandere et al. [ 2016 ]  中探究了相似的思想,他们将学习到的核用到了输入的图像中,本文中在直接的监督学习下联合学习 特征图 和  核(kernel)。
**

网络结构

motion encoder + kernel decoder + image encoder + cross convolutional layer + motion decoder

识别方程  g mean g var   都由 motion encoder定义,而生成方程  f mean   由剩余的网络定义。
  1. 训练过程中,每次输入两个相邻的帧,都是128x128,输出一个3200维的均值向量,一个3200维的方差向量;网络和方差用上述的均值向量来抽样生成 潜在的动作表征 z . 
  2. 核解码器发送一个3200=128x5x5的张量到两个额外的卷积层, 产生四个含有32个5x5大小的动作核(motion kernel)的集合。
  3. 动作解码器(motion decoder)使用交叉卷积层的输出去还原输出的差异图(output difference image).
*注:
  1. 这里的图像编码器是在四个不同尺度版本的输入图像上操作的(分别是256 x 256, 128 x 128, 64 64, 32 32)。在四个通道上的特征图的输出尺寸分别是32x64x64; 32x32x32; 32x16x16, and 32x8x8.

  1. 这个多尺度的卷积网络允许我们在图像上对整体和局部的结构进行建模,这两者可能有不同的动作。
  2. 交叉卷积层输出的尺寸取决于对应的图像编码器。

训练和测试细节

训练中,
image encoder 的输入是单个帧的图像
motion encoder 的输入时单帧图像 以及跟下一帧图像 的差异图像
此网络的结构目的在于回退差异图像,来使得二范数loss最小化。


测试中,image encoder  仍然能看见单帧图像,但是我们不在使用motion encoder,而是直接从先验分布 中抽样得到motion vectors 。
实际操作中,先验分布的获取是直接从训练样本中得到的经验分布来替代的,因为这样确实能够得到更好的综合结果【个人感觉瞎扯,不这么做也很难得到先验分布吧?……】

此网络通过对 潜在表示(latent representation) 和 一个RGB图像作为输入进行抽样,综合了所有可能的差异图像,然后从这些差异图像中生成一个未来帧的集合。


估计

为了量化估计算法,将三个形状的位移分布与它们的ground truth分布比较。将此算法与 一个直接从训练集上复制视觉流域的简单的baseline比较。对每个测试图像,找到它在测试集中的10个最近邻,并随机转化其中一个相应的视觉流域(optical flow fields)
为了说明使用一个变分自动编码器相比一个标准的自动编码器的优势所在,通过一处KL-divergence Loss 和抽样层来改进我们的网络。figure5中我们的预测分布非常接近ground-truth 分布,说明变分自动编码器有助于获取未来帧的真实分布。

*注:
  1. ground truth:在有监督学习中表示正确的标注,或者直接可以说是标注数据。
  2. optical flow fields: 光流(Optical flow or optic flow)是关于视域中的物体运动检测中的概念。用来描述相对于观察者的运动所造成的观测目标、表面或边缘的运动。
        https://zh.wikipedia.org/wiki/%E5%85%89%E6%B5%81%E6%B3%95
  1. KL-divergence :度量数据的理论分布(或者说模型分布)Q和真实分布P之间的差别。
                                      KL散度不具有对称性:从分布 P Q 的距离(或度量)通常并不等于从 Q P 的距离(或度量)
                                     KL散度和自信息、互信息、信息熵、条件熵之间都可以转换。
        https://zh.wikipedia.org/wiki/%E7%9B%B8%E5%AF%B9%E7%86%B5
       




你可能感兴趣的:(视频预测)