Video Enhancement with Task-Oriented Flow(TOFlow)

Video Enhancement with Task-Oriented Flow(TOFlow)论文笔记


介绍

  • 曾经的视频超分辨方法都包含了两个重要的模块:动作估计和超分辨,其中动作估计大都是用CNN推测出光流flow来实现的。推测出光流的目的,主要是为了把输入的几帧图像( It1,It,It+1 I t − 1 , I t , I t + 1 )扭曲到同一位置上( It1>It,It,It+1>It I t − 1 − > I t , I t , I t + 1 − > I t )以方便后续处理。
  • 大多数生成光流的基准都是要让warp后的图像和 It I t 基本一致。然而这种“精确”的光流估计基于亮度一致性的假设(不知道是什么),在变化的光照姿势动作等情况下效果很差,并且计算量过大。更重要的是,这种完全符合物体动作的动作估计,可能不是视频处理中最好的表达方式。
  • 因此作者提出了TOFlow模型来改善视频超分辨中关于光流的部分,主要的不同点是没有单独训练光流,而是整个网络联合训练,去学习某个任务重最适合表达特征的光流。该模型可以用在视频插值、去噪、超分辨三个方面,优点在于视频处理效果好,计算量小,并且可以是自监督的。
  • 另外,像Youtube-8M这样的视频数据集分辨率太低,并且有明显的动作模糊。作者引进了新的数据集Vimeo-90K,分辨率大都在720p或更高。

Task-Oriented Flow 样例

  • 在介绍网络前,先用一个直观的例子来说明TOFlow的好处。
  • 在frame interpolation中,如果用ground truth进行warp(左上),会出现光流中常见的occlusion问题,导致有两帧重叠起来的结构(doubling artifact),后续的差值自然也会有这样的现象。但用TOFlow的话,“the background should be static, but it has non-zero motion”(不知该怎么翻译)。虽然背景是模糊的,但它可以帮助减少doubling artifact。
  • 同样在video denoising中,由于噪点的影响,使用GT Flow的话生成效果很差,但用TOFlow的话几乎不存在这种问题。这表明TOFlow能有学会用邻近的像素来修补图像,减少噪点。
    Video Enhancement with Task-Oriented Flow(TOFlow)_第1张图片

模型

  • 整个模型结构如下图。输入的帧数为N(插值N=3,去噪和超分辨N=7)。Flow Estimation模块有N-1个结构相同参数共享的光流网络,主要是使用Spynet的多尺度动作估计框架。
    • 在插值任务中,reference frame是需要生成的帧,而非网络的输入。因此需要两个光流网络,每个网络的输入都是1和3帧,分别预测出从2到1和从2到3的运动场(不是很确定,需要等以后看源码)。
  • Image Transformation模块用上一步推测出的运动场,把输入帧register到参考帧。作者使用了用双线性插值的spatial transformer network。它的一大优点是可以反向传播。
    • mask prediction network:它是为了减少类似doubling artifact的现象,可选可不选。它把两个运动场 v21 v 21 v23 v 23 作为输入,估计出occlusion mask。它主要是用于插值任务,不说具体细节了。
  • 最后,Image Processing模块生成最终结果。具体的模型结构可以见附录。这里只说超分辨。模块有四个卷积层+RELU层,卷积核分别为9*9,9*9,1*1,1*1;通道数为64,64,64,3。

    Video Enhancement with Task-Oriented Flow(TOFlow)_第2张图片

训练(超分辨)

  • 首先预训练Flow Estimation Network。在Sintel数据集上,优化目标是估计出来的光流和标签的 l1 l 1 距离。之后再增加噪声或模糊继续训练,以增强其鲁棒性。
  • 插值任务还会预训练Mask Network。
  • 最后的联合训练,是优化恢复的帧与标签之间的 l1 l 1 距离,对动作估计模块没有任何的监督。
  • 优化器使用ADAM,学习率1e-4,权重衰减率1e-4,在大小为1的batch上跑15个周期(大小才1??)。

实验

  • 作者做了两个网络版本:Fixed Flow:首先预训练动作估计,然后固定动作估计部分训练视频处理;TOFlow:联合训练所有模块。只说超分辨,另外比较的算法是DeepSR和BayesSR两个。测试集是BayesSR中引进的数据集和Vimeo SR。
  • 实验结果表明,7帧的TOFlow在效果很好,和全输入的BayesSR也能一比。
    Video Enhancement with Task-Oriented Flow(TOFlow)_第3张图片
  • 另外把几个不同任务的光流图提出来比较,可以发现不同任务所需要的光流差异明显。比如插值的光流非常光滑,超分辨的在纹路边缘上十分清晰。
    Video Enhancement with Task-Oriented Flow(TOFlow)_第4张图片

你可能感兴趣的:(深度学习)