Flow Guided Recurrent Neural Encoder for Video Salient Object Detection

版权声明: https://blog.csdn.net/Dorothy_Xue/article/details/83042331

【阅读笔记】

1. 视频显著性检测的难点:对象或相机的移动视频外观对比度的强烈变化

2. 将基于FCN的静态显著性检测器拓展到视频显著性对象检测,可以看做是一种通用的框架。

3. 本文提出了光流引导的递归神经编码器(Flow Guided Recurrent Neural Encoder, FGRNE),是一个用于视频显著性检测的精确的端到端的学习框架。通过应用 根据光流得到的运动信息,和根据LSTM网络得到的序列特征演进编码,增强每帧特征的时间一致性。

4. 本文应用了基于图像显著性检测器的现成的FCN作为特征提取的主网络,以及最终的显著性推断。也应用了一个预训练好的FlowNet,用于预测帧对之间的运动信息。

5. FGRNE,通过引入光流引导的特征翘曲来提高帧间的特征(运动一致性),这部分后面跟了一个用于时间一致性特征编码的LSTM。
6.  本文贡献:

  • 介绍了一个光流引导的递归神经编码器框架,来增强每帧特征表达的一致性,利用这个框架可以将任何基于图像显著性检测的FCN拓展成视频显著性检测。
  • 提出在FGRNE框架中引入光流网络,以预测每帧的运动信息,这个网络被进一步应用于补偿对象移动的特征翘曲。
  • 提出在FGRNE中引用ConvLSTM来进行序列特征编码,这样可以捕获时间域中外观对比度的演进,并且可以补偿特征翘曲,从而提高视频显著性对象检测的性能。

7. 基于方法的深度CNN可以进一步分为两类:①基于区域的深度特征学习;②基于方法的端到端的完全卷积网络。

8. 基于方法的深度学习被用于光流计算,最有代表性的工作是FlowNet,FlowNet展示了CNN可以应用于高效的光流推断。在这里也尝试将FlowNet应用于补偿深度学习框架,以增强视频特征的时间连续性。光流被用于现有的视频显著性检测的模型,然而要么作为辅助运动特征,要么作为反馈过程中的手动规则,来提高时间一致性。本文引入光流,使之可以跨帧翘曲特征,并且补偿了由于对象运动造成的改变。然而与以往方法不同的是,我们框架中的光流是动态更新的【应用了一个反向输入的LSTM用于更新光流】,并且特征翘曲的结果被用于时间特征编码而不是特征聚合

9. 光流引导的递归神经编码器

本文提出的FGRNE \varepsilon旨在通过额外注意k个之前的视频帧组成的段,来增强特征表达的时间连续性。给定一个参考帧I_i,编码的特征被定义为F_i=\varepsilon (N_{fea}(I_i),N_{fea}(I_{i-1}),...,N_{fea}(I_{i-k}))。由于对象运动以及他们外观对比的变化是两个影响视频显著性的主要因素,所提出的FGRNE引入了现成的FlowNet模型和一个基于特征编码的LSTM,用以分别注意这两个因素。

如上图FGRNE的结构由三个模块组成:

  • 运动计算和更新
  • 运动引导的特征翘曲【warp 翘曲:给出第j帧特征图,以及第i到j帧的光流图,根据warp函数将第j帧特征图翘曲到第i帧】
  • 时间一致性特征编码

步骤简介:

  1. 为每个与当前帧相关的前面k个视频帧计算一个光流图,每张光流图再送入一个反向传播的LSTM中,以优化运动信息。
  2. 每个时间步优化的光流图被应用于相应的特征图翘曲。
  3. 每个翘曲的特征被连续送到另一个LSTM中,进行时间一致性特征编码,生成最后的特征F_i

① 运动计算和更新

首先应用FlowNet预测k个之前的帧的初始光流区域,得到的光流区域是两个通道的位置偏移图。由于FlowNet最初是从连续帧的成对数据中训练的,所以在一个比较长的时间间隔内,两帧之间的运动信息可能表达不是很精确。直观地,与当前帧离得越近,预测的运动光流就更精确。

基于上述考虑本文提出基于FlowNet,将ConvLSTM与CNN相结合,联合学习光流图,并用一个反向过程来优化。为了用ConvLSTM更新光流域,LSTM被展开成k个流域,隐藏态的大小被设置成与输入光流图大小相等。按反向顺序,顺序将k个初始运动光流送到ConvLSTM中。隐藏态就是更新的光流域的编码,并进一步送到卷积核大小为1\times 1的卷积层中,以生成优化的光流图。

② 运动引导的特征翘曲

给出优化的光流图,第j帧的特征图应用翘曲函数(双线性的)被翘曲到当前帧。

③ 时间一致性特征编码

尽管特征翘曲操作可以补偿由于对象或相机移动造成的误差,也不足以表征视频帧的连续动态演进以及时间域的外观对比演进。基于以上考虑,本文提出应用另一个ConvLSTM,用以序列的特征编码。ConvLSTM以一系列翘曲特征作为输入,为时间特征编码 计算前向隐藏序列,然后更新输出层。

猜你喜欢

转载自blog.csdn.net/Dorothy_Xue/article/details/83042331