ECCV2020视频插帧方法

背景:视频插值通过合成两个连续的帧之间的中间帧来提高视频序列的时间分辨率 。
解决方法:本文提出了一种新的基于深度学习的双边运动估计的视频插值算法。

大致流程:首先,使用双边运动网络,以准确估算双边运动。然后,近似双向运动以预测另一种双边运动。使用估计的双边运动扭曲两个输入帧。接下来,开发动态过滤器生成网络以产生动态混合过滤器。最后,使用动态混合映射来组合变形的帧生成中间帧。

1.引言

背景:低的时间分辨率会导致混叠,产生突变的运动伪像,并降低视频质量。时间分辨率是影响视频质量的重要因素。

传统方法:为了提高时间分辨率,已经提出了许多视频插值算法,其在两个实际帧之间合成中间帧。这些算法广泛用于各种应用中,包括视觉质量增强,视频压缩,慢动作视频生成和视图合成。

问题:由于多种因素,例如大的和非线性的运动,遮挡以及照明条件的变化,视频插值具有挑战性。要生成高质量的中间帧,准确估计运动或光学流矢量很重要。

目前的方法:随着基于深度学习的光流方法的发展,已经开发了基于流的视频插值算法,产生了可靠的插值结果。

目前的方法的问题:由于孔洞和重叠像素问题,前向扭曲可能会导致插值伪像。

这项工作提出了一种新的视频插值网络,该网络由双边运动网络和动态滤波器生成网络组成。

大致流程:首先,预测了六个双边运动:两个来自双边运动网络,另外四个通过光学流近似。在双边运动网络中,开发了双边成本量以促进匹配过程。其次,提取上下文映射以利用丰富的上下文信息。使用六个双边运动对两个输入帧和相应的上下文映射进行扭曲,从而生成六对扭曲的帧和上下文映射。接下来,将这些 对 用于生成动态混合滤波器。最后,六个变形的帧由混合过滤器叠加以生成中间帧。

主要贡献:

1.基于双边运动估计,开发了一种基于深度学习的新型视频插值算法。

2.提出带有双边成本量的双边运动网络,以准确估算中间运动。

2.方法

总览:图1是提出的算法的概图,该算法以连续帧I0I_0I1I_1作为输入,并在t(0,1)t∈(0,1)处合成中间帧ItI_t作为输出。

流程:首先,估计输入帧之间的两个“双向”运动Vt0V_{t→0}V0tV_{0→t}。其次,估计I0I_0I1I_1之间的“双向”运动V01V_{0→1}V10V_{1→0},然后使用这些运动来近似四个另外的双边运动。第三,从I0I_0I1I_1提取逐像素上下文映射C0C_0C1C_1。使用六个双向运动扭曲输入帧和相应的上下文映射。由于扭曲帧成为中间帧的多个候选,因此将每个扭曲帧称为中间候选。动态过滤器网络获取输入帧,并使用具有相应扭曲上下文映射的中间候选对象生成用于聚集中间候选对象的动态过滤器。最后,通过将混合滤波器应用于中间候选对象来合成中间帧ItI_t

ECCV2020视频插帧方法

​ 图 1

2.1双边运动估计

目的:给定两个输入帧I0I_0I1I_1,目标是使用运动信息预测中间帧ItI_t。然而,由于不存在ItI_t的图像信息,因此不可能直接估计中间帧ItI_t与输入帧I0I_0I1I_1之间的中间运动。

解决方法:假设连续帧之间存在线性运动。尝试分别估计x处的向后运动矢量Vt0xV_{t→0}(x)Vt1xV_{t→1}(x),其中x是ItI_t中的像素位置。 根据线性假设,有Vt0x=t1t×Vt1xV_{t→0}(x)= \frac{− t}{1-t}×V_{t→1}(x)

开发了一个CNN,以使用I0I_0I1I_1估算双边运动Vt0V_{t→0}Vt1V_{t→1}。采用光学流网络PWC-Net,并将其扩展用于双边运动估计。 图2显示了修改后的PWC-Net的关键组件。

ECCV2020视频插帧方法

​ 图 2 双边运动网络

Warping layer: 原始PWC-Net使用前一帧I0I_0作为参考,并以后一帧I1I_1作为目标。另一方面,双边运动估计使用中间帧ItI_t作为参考,并且输入帧以I0I_0I1I_1为目标。因此,尽管原始的PWC-Net将I1I_1的特征c1lc^l_1I0I_0帧的特征c0lc^l_0扭曲,本文分别将特征c0lc^l_0c1lc^l_1朝着c0tlc^l_{0→t}c1tlc^l_{1→t}扭曲。使用空间变压器网络来实现扭曲。 目标特征图ctgtc_{tgt}使用运动向量场通过以下方式变形为参考特征图crefc_{ref}

ECCV2020视频插帧方法

其中VreftgtV_{ref→tgt}是从参考点到目标点的运动矢量场。

Bilateral cost volume layer: 成本量已经被用于存储与参考帧中的像素和单个目标帧中的对应像素相关联的匹配成本。在双边运动估计中,由于不存在参考帧并且应该从两个目标帧中预测参考帧,所以不能使用传统的成本量。因此,本文为双边运动估计开发了新的成本量,称为双边成本量。

图3说明了采用以下特征的双边成本量生成两个输入帧的特征c0lc^l_0c1lc^l_1和上采样的双边运动场Vt0lV^l_{t→0}Vt1lV^l_{t→1}在第(l-1)级进行的估计。令x表示中间帧ItlI^l_t中的像素位置,然后定义匹配代价作为特征c0lc^l_0c1lc^l_1直接的双边关系,由穿过x的双边运动矢量进行索引

ECCV2020视频插帧方法

ECCV2020视频插帧方法

​ 图 3

其中,d表示搜索窗口内的位移矢量D=[dd]×[dd]D = [-d,d]×[-d,d]。仅计算D=D2| D | = D^2双向相关以构建部分成本量,其中D=2d+1D = 2d +1。在L级金字塔结构中,一个像素运动对应于最高分辨率的2L12^{L-1}个像素。因此,可以将双边成本量的搜索范围D设置为一个较小的值以减少内存使用量。 第l个级别的双边成本量的维度为D2×H1×WlD^2×H^1×W^l,其中H1H^1W1W^1分别表示第l个级别特征的高度和宽度。将上采样的双边运动Vt0lV^l_{t→0}Vt1lV^l_{t→1}在粗粒度的等级设置为零。

2.2运动近似

背景:尽管双边运动网络有效地估计了从t处的中间帧到前一帧和后一帧的运动场Vt0V_{t→0}Vt1V_{t→1},但它可能无法找到准确的运动,尤其是在被遮挡的区域。

问题:图4(d)和(e)表明,通过双边运动估计重建的插值区域包含视觉伪像。

方法:为了解决此问题并提高插值帧的质量,除了双边运动估计之外,开发了一种近似方案,以使用双向运动两个输入帧之间的V01V_{0→1}V10V_{1→0}预测不同种类的双边运动Vt0V_{t→0}Vt1V_{t→1}

ECCV2020视频插帧方法

​ 图 4

图5示出了这种运动近似,其中每一列在某个时间实例代表一帧,而点对应于该帧中的像素。

ECCV2020视频插帧方法

​ 图 5

在图5(a)中,I0I_0中的遮挡像素由绿点表示。为了补充ItI_t中像素x处的双边运动的不准确性,使用了两个双向运动V01xV_{0→1}(x)V10xV_{1→0}(x),分别用绿线和红线表示。在图5(b)中使用V01V_{0→1}估计两个前馈的双边运动Vt1fwV^{fw}_{t→1}Vt0fwV^{fw}_{t→0}

对于ItI_t中的像素x(用橙色圆点表示),假设运动矢量场是局部平滑的,可以通过用因子(1-t)缩放V01xV_{0→1}(x)来近似运动矢量Vt1fwxV^{fw}_{t→1}(x)。由于双边运动估计基于连续帧之间的运动轨迹是线性的假设,因此两个近似运动Vt1fwxV^{fw}_{t→1}(x)Vt1fwxV^{fw}_{t→1}(x)应当相对于ItI_t中的x对称。因此通过反转向量Vt1fwxV^{fw}_{t→1}(x)的方向来获得附加的近似向量Vt1fwxV^{fw}_{t→1}(x).换句话说,通过

ECCV2020视频插帧方法

将反向双边运动近似为

ECCV2020视频插帧方法

2.3帧间分析

背景:通过组合六个中间候选者对中间帧进行插值,这六个中间候选者在图1中的扭曲层中变形。如果仅考虑颜色信息,则在合成期间可能会丢失输入帧中的丰富上下文信息,从而降低插值性能。
因此进一步利用输入帧中的上下文信息,称为上下文映射。将ResNet-18的conv1层的输出提取为上下文映射,由图1中的上下文提取器完成。

流程:通过扭曲两个输入帧和相应的上下文映射,获得六对扭曲的帧及其上下文映射:使用双边运动估计来重构两对,使用运动近似来重构四对。图1显示了这六对。由于这六个扭曲的对不同的特性,它们被用作中间帧的互补候选。

进展:最新的视频插值算法采用合成神经网络,该神经网络将变形的帧作为输入并产生最终的插值结果或残差,以细化按像素混合的结果。

缺陷:如果运动估计不正确,这些合成网络可能会导致伪影。

本文解决方法:为了减轻这些伪像,本文开发了一个动态过滤器网络,该网络将上述六对候选对象作为输入并输出本地混合过滤器,然后将其用于处理变形的帧以产生中间帧。这些局部混合滤波器通过考虑扭曲帧堆栈中的时空相邻像素来补偿运动误差。帧合成层在图1中执行。

Dynamic local blending filters: 图6显示了使用动态局部混合滤波器的合成网络。过滤器的系数通过动态混合过滤器网络从图像和上下文信息中学习。采用残差密集网络作为过滤器生成。 在图6中,生成网络将输入帧I0I_0I1I_1和中间候选{It16}\{I^{1:6}_t\} 以及对应上下文映射{Ct16}\{C^{1:6}_t\}作为输入。然后,对于每个像素x =(x,y),生成六个融合滤波器以融合六个中间候选者,分别为

ECCV2020视频插帧方法

对于每个x,六个滤波器中所有系数的总和被归一化为1。然后,通过动态局部卷积合成中间帧。

中间帧是通过过滤中间候选者获得的,由

ECCV2020视频插帧方法

2.4训练

总览:算法包括两个神经网络:双边运动网络和动态过滤器生成网络。

在训练时间和存储空间方面,对这两个网络进行单独的训练比进行端到端训练更为有效。 因此,首先训练双边运动网络。然后,对它进行固定后,训练动态过滤器生成网络。

Bilateral motion network 为了训练提议的双边运动网络,将双边损失LbL_b定义为

ECCV2020视频插帧方法

其中LpL_pLsL_s是光度损失和平滑度损失。

对于光度损失,在所以金字塔层级使用双边运动场Vt1lV^l_{t→1}Vt0lV^l_{t→0}计算出真实帧和两个扭曲的帧I0tlI^l_{0→t}和之I0tlI^l_{0→t}间的差异之和

ECCV2020视频插帧方法

其中ρx=x2+ϵ2ρ(x)=\sqrt{x^2 +\epsilon^2} ,

计算平滑度损失以约束相邻像素具有相似的运动,由

ECCV2020视频插帧方法

使用Adam优化器,其学习速率为η=104η= 10^{-4},每0.5M迭代通过η←0.5η进行收缩。对2.5M迭代使用批处理大小4,并通过随机裁剪和旋转随机裁剪256×256补丁来扩充训练数据集

Dynamic filter generation network: 将动态滤波器损失LdL_d定义为ItI_t及其合成版本ˆItˆI_t之间的Charbonnier损失,由

ECCV2020视频插帧方法

与双边运动网络类似,使用η=104η= 10^{-4}的Adam优化器,并在0.5M,0.75M和1M迭代时通过η←0.5η对其进行收缩。对于1.25M迭代,使用批处理大小4。 使用与双边运动网络相同的增强技术。

数据集:Vimeo90K,Middlebury,UCF101,Adobe240-fps

3.实验

ECCV2020视频插帧方法

​ 表1显示Middlebury评估集上的比较

ECCV2020视频插帧方法

​ 图7 Middlebury可视化对比

ECCV2020视频插帧方法

​ 表2提供UCF101 和Vimeo90K数据集的定量比较

ECCV2020视频插帧方法

​ 图8 Vimeo90K的可视化对比

模型对比

进行消融研究,以分析算法中三个关键组件的贡献:双边成本量,中间运动逼近和动态滤波器生成网络。通过比较中间候选者的各种组合,分析双边成本量和中间运动逼近的有效性。

Intermediate candidates

ECCV2020视频插帧方法

ECCV2020视频插帧方法

​ 图9

Dynamic blending filters

ECCV2020视频插帧方法

​ 表4定量比较了这些模型

ECCV2020视频插帧方法

4.结论

本文基于双边运动估计,开发了一种基于深度学习的视频插值算法,该算法由双边运动网络和动态滤波器生成网络组成。

在双边运动网络中,开发了双边成本量以估算准确的双边运动。
在动态过滤器生成网络中,使用估计的双边运动对两个输入帧进行了扭曲处理,并将其输入以学习过滤器系数。
最后们通过将扭曲的帧与生成的混合滤波器叠加来合成中间帧。

主要贡献:

1.基于双边运动估计,开发了一种基于深度学习的新型视频插值算法。

视频插值算法,该算法由双边运动网络和动态滤波器生成网络组成。

在双边运动网络中,开发了双边成本量以估算准确的双边运动。
在动态过滤器生成网络中,使用估计的双边运动对两个输入帧进行了扭曲处理,并将其输入以学习过滤器系数。
最后们通过将扭曲的帧与生成的混合滤波器叠加来合成中间帧。

主要贡献:

1.基于双边运动估计,开发了一种基于深度学习的新型视频插值算法。

2.提出带有双边成本量的双边运动网络,以准确估算中间运动。
代码 https://github.com/JunHeum/BMBC
AI算法后丹修炼炉是一个由各大高校以及一线公司的算法工程师组建的算法与论文阅读分享组织。我们不定期分享最新论文,资讯,算法解析,以及开源项目介绍等。欢迎大家关注,转发,点赞。同时也欢迎大家来平台投稿,投稿请添加下方小助手微信。

QQ交流群:216912253

查看更多交流方式

微信公众号:AI算法后丹修炼炉

小助手ID:jintianandmerry
ECCV2020视频插帧方法

相关文章: