前言:一篇经典的做视频插帧的文章,网络结构设计简洁易懂,有很多值得学习的地方
论文地址:【here】
来源:NeurIPS 2019
Quadratic Video Interpolation
引言
- 一些做插帧的方法显式或隐式的把运动看成匀速的,这样不适用于复杂的非线性的场景
- 其次,插帧的方法只用到前后两帧,更高阶的运动信息没有挖掘到
基于此,我们提出了一个二次模型来进行运动估计和图像合成
网络结构
该网络包括四个部分
- 光流估计( off-the-shelf PWCNet)
- 二次流预测
- 光流反转
- 帧合成网络
光流估计
直接用已有的光流网络
二次流预测
由于光流是非线性的,因此不能直接用
对于二次流模型,通过光流与运动的速度和加速度的关系
可以解得前向流的公式
光流反转
前向流F0-t F1-t不太容易用于合成图像,因此需要后向流Ft-0,Ft-1
本文提出了一个后向流反转公式
即通过warp后图像的每个像素邻域的光流加权反转得到最终的后向流
(会造成光流孔洞现象,这是由于被遮挡的物体突然出现,而这个物体没有源自它的光流)
帧合成
1.自适应光流过滤
光流由于野值,出现条纹状
一般方法是将其送进CNN网络,平滑边缘,但是效果不太好,这是用CNN恢复的结果
本文提出了一种类似于中值滤波器的网络,学习下式的sigma(u)和r(u)
其中,sigma(u)代表偏移,范围是(-k,k)有着2k + 1的局部感受野
用本文提出的方法滤波得到的光流
2.warp后的图片合成
即,两张warp后的图像乘以mask和distance系数(1-t,t)
损失函数是L1损失和VGG感知损失
实验结果
可以看到本文的方法性能有着很大程度的提升
总结
这篇文章浅显易懂,公式也不复杂,实现的网络只用了几个模块,并且很多网络的设计都是基于原理上,有很强的可解释性。果然大道至简,是一篇可以反复咀嚼的插帧方向的文章