论文笔记MEMC-Net TPAMI

MEMC-Net: Motion Estimation and Motion Compensation Driven Neural Network for Video Interpolation and Enhancement

总结

在传统的视频插帧中,通常会用到motion estimation(ME)和motion compensation(MC)。目前存在的基于光流的方法要么预测光流,要么预测补偿核,限制了计算的高效和插帧的准确。作者提出一个用于视频插帧的运动估计和运动补偿驱动的网络,并使用也给自适应warping层集合光流和插值核合成目标帧。

1.Introduction

光流预测方法:
存在一些挑战:fast-moving 和 thin objects, occlusion and dis-occlusion, brightness change, motion blur。
为了解决不正确的光流和像素遮挡的问题,运动补偿插值方法通常使用复杂的滤波器来减少所生成帧的视觉伪像。
这些方案在中间帧中的对象在前后参考帧中均不可见的情况下效果不佳(例如,某些像素无法得到补偿),并且需要进一步的后处理程序来填充丢失的像素或删除不可靠的像素
以往的learning-based方法关注于运动估计,bilinear interpolation过程会产生模糊结果。还有一些方法考虑了插值核,但是这类方法对大的运动敏感。
作者的方法中:
作者利用运动估计和运动补偿实现视频插帧,运动向量和运动补偿核都通过CNN估计。进一步地基于光流核补偿滤波器设计一个用于合成新像素的自适应warping layer.
对于遮挡,作者估计occlusion masks自适应blend the warped frames.此外,通过后处理CNN对孔中的丢失像素和变形帧的不可靠像素进行处理。
整个模型MEMC-Net受传统方法架构的推动,但通过最新的基于学习的方法来实现。
贡献:
(1)提出了一种运动估计和补偿驱动的神经网络,用于鲁棒和高质量的视频帧插值。
(2)将光流翘曲与学习的补偿滤波器集成到自适应翘曲层中。 所提出的自适应翘曲层是完全可区分的,可应用于多种视频处理任务,例如,视频超分辨率,视频去噪和视频解块。

2.相关方法

2.1.传统的MEMC-based方法

运动补偿使用block-based方法:将图片分成几个小的像素块,然后用具体的search strategy比如spatial/temporal search等,基于诸如绝对块差的最小和之类的选择标准来计算其运动矢量。
对于运动补偿插值,通常使用重叠块来处理像素块的错误运动矢量。
最后使用后处理减小伪影和提供视觉效果。
在这里插入图片描述

2.2 Learning-based Methods

可以分为direct method, phase-based, flow-based, and kernel-based approaches
Flow-based方法:
要么预测双向光流,要么用bilinear warping操作去对齐输入帧。
为了合成输出图片,常用的方法是预测一个occLusion mask自适应blend warped frames.
基于光流的方法没有对齐时,会产生重影或者模糊影响。
这篇文章的方法不是使用固定的双线性系数进行插值,而是学习每个像素在空间上变化的插值内核。 所学习的内核比双线性插值具有更大的空间支持(例如4×4),因此可以更好地说明遮挡和遮挡。
kernel-based方法:
将中间帧的产生作为local patches的卷积结果。这种方法会用大的卷积核处理大的运动。但是需要比较多的内存。
在这里插入图片描述

3.ME and MC Driven Neural Network

3.1 总体框架

直接的方法是组合运动估计和运动补偿,然后后处理。首先对参考帧做运动对齐,由于大的运动,做bilinear warping。然后用小的卷积得到最后的帧。
作者的做法是对参考帧同时预测光流和补偿核。新的帧基于光流核补偿核得到。对运动补偿核光流核紧耦合。
在这里插入图片描述

在这里插入图片描述
作者基于参考帧同时估计光流和补偿核,然后使用基于光流和补偿核的warping layer插帧。

3.2 Flow Projection Layer

对于没有光流的地方会有洞,所以作者对相邻没有洞的区域的四个方向的光流做平均,作为该点的光流。

3.3 Video Frame Interpolation

Motion Estimation:通过FlowNetS对输入 I t − 1 I_{t-1} It1 I t + 1 I_{t+1} It+1预测 f t + 1 → t − 1 f_{t+1 \to t-1} ft+1t1 f t − 1 → t + 1 f_{t-1 \to t+1} ft1t+1通过将相反的输入顺序得到。
Kernel estimation:使用U-Net作用核估计网络,该网络使用两个视频帧作为输入然后产生 R 2 R^2 R2的系数maps,记为 K t − 1 K_{t-1} Kt1 K t + 1 K_{t+1} Kt+1
Mask estimation: 由于物体的深度变化和相对运动,两个参考帧之间存在被遮挡的像素。 为了从两个弯曲的参考帧中选择有效像素,我们学习了一个掩模估计网络来预测遮挡掩模。网络最终输出2通道的feature map,作为 M t − 1 M_{t-1} Mt1 M t + 1 M_{t+1} Mt+1。最终混合帧的产生:
I ^ t = M t − 1 × I ^ t − 1 + M t + 1 × I ^ t + 1 \hat I_t = M_{t-1} \times \hat I_{t-1} + M_{t+1} \times \hat I_{t+1} I^t=Mt1×I^t1+Mt+1×I^t+1
Context extraction: 用在后处理模块,用于更好地处理遮挡。warped contextual maps然后通过光流和插值核warp,记为 C ^ t − 1 \hat C_{t-1} C^t1 C ^ t + 1 \hat C_{t+1} C^t+1
Post-processing: 不正确的光流或者mask会产生伪影,所以使用一个后处理。通常输入为 I ^ t \hat I_t I^t,预测光流为 f t → t + 1 f_{t\to t+1} ftt+1 f t → t − 1 f_{t \to t-1} ftt1,插值核coefficient maps K t − 1 K_{t-1} Kt1 K t + 1 K_{t+1} Kt+1,occlusion mask M t − 1 M_{t-1} Mt1 M t + 1 M_{t+1} Mt+1,warped context features C ^ t − 1 \hat C_{t-1} C^t1 C ^ t + 1 \hat C_{t+1} C^t+1。使用residual增强细节。
在这里插入图片描述

4. Video Frame Interprolation

对于做超分+插帧的网络,作者先把通过bicubic将图片放大,然后同上面的3.3,但是后处理模块改成了frame enhancement network,由于处理的是高分辨率图片,这个模块会比后处理模块更深。记为MEMC-Net_SR。
作者的网络后续还用于视频超分MEMC-Net_SR,去噪MEMC-Net_DN, deblock MEMC-Net_DB

猜你喜欢

转载自blog.csdn.net/eight_Jessen/article/details/111612250
今日推荐