来源
:CVPR 2022

作者
:Zhen Li,Cheng-Ze Lu等

内容整理
:王寒

本文提出了一个端到端的可训练的基于光流的视频修复模型。 精心设计的三个模块(Flow completion、特征传播和内容联想模块)协同工作,解决了此前的许多难题。实验结果表明该方法在两个基准数据集上实现了最先进的定量和定性性能,并且在推理时间和计算复杂度方面非常高效。
目录
  • 引言
  • 网络结构
    • Flow completion
    • 特征传播
    • 时间焦点Transformer
    • 参数优化
  • 实验及结果
    • 实验细节
    • 结果分析
    • 消融实验
    • 局限性

引言

捕捉帧间运动信息的光流通过轨迹传递像素信息,在最近的视频补全方法中被广泛应用。然而,相互隔离的几个阶段引出了两大问题:
  1. 前面阶段的问题会在后续处理中被放大,最终对结果造成显著影响;不准确的光流估计会导致像素传播错误,进一步导致内容联想错误,产生不合理的结果
  2. 手工设计的操作不使用GPU加速,例如泊松混合、求解稀疏线性方程和索引每个像素的流动轨迹,会使整个算法运行时间变长;CVPR2019中的一种算法DFVI对一个432x240、70帧的视频处理需要4分钟。
此外最后一个阶段用到的预训练模型对结果进行处理时不会考虑帧间信息,因为预训练模型只针对单帧图片有效,这也会导致前后帧的不一致现象。为了解决这些缺陷,本文精心设计了三个可训练的模块,包括(1)Flow completion(2)特征传播和(3)内容联想模块,这些模块模拟经典方法中的相应阶段,构成了端到端的框架。三个模块构成的完整框架减轻了此前对独立阶段结果的过度依赖现象,能够更加高效的给出结果。

网络结构

算法网络结构图
上图展示了这个端到端的视频修复算法网络结构图。对于带有mask的视频输入首先使用一个上下文编码器,将所有损坏的帧编码为较低分辨率的特征以提高后续处理的计算效率。 其后是一个光流提取模块,提取局部相邻的光流信息。 然后,提取到的局部相邻光流帮助特征信息进行特征对齐和双向传递。 第四部分是多层时间焦点transformer,通过将传播的局部邻近特征与非局部参考特征结合来执行内容联想。 最后解码器将填充部分特征放大并重建为最终的输出结果。

Flow completion

对于flow-completion模块,我们直接将其用于带有mask的视频实现一步完成,避免使用多个复杂步骤。
在预测之前,我们首先以1/4分辨率对原始损坏的帧进行下采样,这与编码的低分辨率特征的空间分辨率相匹配。缩减采样帧表示为。相邻帧 i 和 j 之间的光流预测由光流估计网络计算:
我们使用来自轻量级光流估计网络的预训练权重来初始化网络,以利用其丰富的光流知识。
按照大多数基于流的视频inpainting方法,我们分别估计前向流和后向流用于双向传播。由于损坏视频中缺少的区域成为流估计的遮挡因子,严重影响了估计质量,我们需要在将其用于特征传播之前修复正向和后向流。为简化计算,我们使用 L1  loss来恢复双向流:
其中是从没有mask的视频中计算得到的Ground Truth,是带mask的视频的预测结果。

特征传播

使用完整的前向流引导特征反向传播的示例(后向流的传播方向相反)
上图展示了使用完整的前向流引导特征反向传播过程,假设 是从上下文编码器中提取的局部时域相邻特征。以正向流为例,它帮助我们捕获从第t帧到t+1帧的损坏区域的运动。一旦第 t 帧特征处损坏区域中的像素在 (t+1)的有效区域中已知,我们就可以在正向流的帮助下通过warp(t+1)帧的向后传播特征 直观地利用此有效信息到当前时间。warp得到的特征可以与当前内容特征进一步合并,并通过向后传播函数进行更新:
是两层具有LeakyReLU激活的卷积层组成的向后传播函数。warp和合并操作近似于DFVI和FGVC中的整个传播过程,但我们在特征空间而不是图像空间中进行。随着可信内容逐渐参与到每帧特征的损坏区域中,传播功能将逐步更新,这也有助于通过光流指导跨越所有局部相邻特征进行连接。与经典方法中手工制作的像素级传播不同,后者非常耗时且在很大程度上取决于估计流的质量,而特征级传播使用卷积层自适应地将流跟踪信息与较大的感受野合并,并且可以通过GPU加速。
虽然特征级传播可以比FGVC和DFVI更快、更有效,但它仍然需要面对估计结果不准确造成的问题,这将在传播过程中带来不相关的信息,进一步阻碍最终性能。为了缓解这个问题,采用调制的可变形卷积来进一步索引和加权候选特征点。如图中紫色部分所示,我们首先计算权重mask 和相对于估计光流的偏移量:
其中 表示多个级联卷积层。计算的权重mask 和光流估计偏移量 的大小均为,其中K和G 分别是可变形卷积的核大小和组数。我们可以通过将偏移添加到预测的光流中,为每个空间位置进一步生成候选特征点。偏移与预测光流互为补充。一方面,更灵活的采样位置可以很好地弥补不准确的光流预测。另一方面,提供了初始采样位置,使其能够轻松地在其周围环境中找到更有合适的内容。然后,我们使用可变形卷积层对后向特征而不是直接使用进行warp,并进一步获得向后传播特征:
其中,表示可变形卷积层的操作。权重mask 值通过 sigmoid 函数进行归一化,可以应用于每个采样像素以测量其有效性。 正向传播特征可以以相同的方式获得,但方向相反。最后,我们使用可学习的1×1大小的卷积层来自适应地融合向前和向后传播特征,而不是使用预定义的规则来组合双向光流轨迹:

时间焦点Transformer

仅使用局部时域相邻特征信息不能满足视频上色的需求,局部缺失的内容可能在较远的非局部区域出现。本文将多个时间焦点transformer块堆叠起来,以有效地组合来自局部和非局部时间邻域的信息,以执行内容联想。
假设是所选非局部帧的数量。是他们对应的编码特征。是经过前面两个模块修正后的局部时间域特征。我们使用soft split操作对串联的局部和非局部时间特征执行重叠patch的嵌入:
表示soft split;是包含local和nonlocal时间域信息的嵌入式token。M×N 是嵌入的空间维度,是特征维度。考虑到原始的focal transformer不能处理sequence数据,本文提出了一种时间聚焦transformer,它基本上将焦点窗口的大小从2D扩展到3D。
时间焦点自注意力示意图
具体来说,我们首先拆分输入token ,其中,N是焦点变压器块的堆叠数量,形成一个大小的子窗口网格。拆分后的token可以直接用于计算细粒度的局部attention,就是图中上面的部分。为了在粗粒度上执行global attention,使用线性嵌入层在空间上通过计算全局的token。然后,我们通过两个线性投影层、计算qkv:
为了通过局部-全局交互来计算attention,对于第 i 个子窗口内的,我们从第i个local窗口和粗粒度窗口共同获得K,此操作可以并行处理。我们分别通过 连接相应的键和值,然后计算焦点自注意的:
最后,第n个focal transformer模块中的整个过程公式为:
其中MFSA和LN分别表示multi-head focal selfattention 和 layer normalization,我们使用 F3N 来链接嵌入式patch之间的连接。

参数优化

使用三个损失函数来优化我们的模型。 首先是重建损耗,它通过L1距离 测量合成视频与原始Y视频之间的像素级差异:
第二个是对抗性损失。我们采用基于 T-PatchGAN 的鉴别器,使模型同时关注所有时域相邻的区域的全局和局部特征。该鉴别器D的训练loss:
生成器G的loss是:
第三个是之前提到的光流一致性损失:

实验及结果

实验细节

  • Dataset:YouTube-VOS, DAVIS我们在 YouTube-VOS 数据集上训练我们的模型,并在 YouTube-VOS 和 DAVIS 数据集上对其进行评估。 对于mask,在训练期间,我们生成静止的和类似对象的mask来模拟视频补全和对象移除的应用场景。 在测试时,静态mask用于计算客观指标,由于缺乏参考,因此采用类似对象mask进行定性比较。
  • Metrics:PSNR、SSIM、VFID、PSNR 和 SSIM 是失真图像和视频评估的常用指标。 VFID 测量两个输入视频之间的感知相似性,并已在最近的视频修复工作中采用 。 光流变换误差用于测量时间稳定性。

结果分析

  • 定量分析固定mask下在YouTube-VOS 和DAVIS 上进行定量测试,并将我们的方法与以前的方法进行比较,包括VINet,DFVI ,LGTSM ,CAP,STTN,FGVC和Fuseformer,实验结果如表格所示。
    我们的方法在所有四个定量指标上都大大超过了所有以前的SOTA算法。结果表明,该方法能够生成失真程度(PSNR和SSIM)、视觉合理性(VFID)和时空相干性()更好的视频。
  • 效率比较我们使用 FLOP 和推理时间来衡量每种方法的效率。FLOP使用8的时间大小计算,运行时使用DAVIS数据集在单个Titan Xp GPU上测量。比较的结果显示在表中。该方法的运行时间与基于transformer的方法相当,并且比基于光流的方法快近15倍。此外,与所有其他方法相比,它具有最低的FLOP。这表明所提方法对视频inpainting具有较高的效率。
  • 定性比较我们选择三种代表性的方法,包括CAP,FGVC和Fuseformer,进行视觉比较。图中比较显示视频完成和对象删除结果。虽然比较方法难以恢复mask区域的合理细节,但所提出的方法可以产生可信的纹理和结构信息。验证了所提出方法的有效性。
与CAP,FGVC和Fuseformer定性比较结果
为了进一步进行全面比较,对对象移除和视频完成应用进行了用户研究。我们选择了五种方法,包括两种基于流的方法(DFVI和FGVC),以及三种基于注意力的方法(CAP,STTN和Fuseformer)。我们总共邀请20名参与者进行用户研究。每个志愿者都会随机抽样40个视频组,并被要求选择一个视觉效果更好的inpainting视频。每个三元组由一个原始视频组成,一个来自我们的方法,一个来自随机选择的方法。
用户研究结果
用户研究结果如图所示。正如我们所看到的,志愿者显然更喜欢我们的结果,而不是几乎所有方法的结果。尽管在与FGVC的比较中不存在这种显着的偏好,但所提出的方法仍然获得多数票。这表明所提出的方法比比较方法可以产生更多视觉上令人愉悦的结果。

消融实验

我们对flow completion,特征传播和注意力机制进行了三项消融研究,以验证框架中所提出模块的有效性。所有消融研究均在DAVIS数据集上进行。
Flow completion module
Flow completion模块消融实验
首先,我们研究了运动信息对视频inpainting的重要性。通过仅消除flow一致性损失,我们的Flow completion模块不再提供有关对象运动的信息(如上图),导致性能大幅下降(如下表所示)。
其次,我们通过固定Flow completion模块中的预训练权重来研究Flow completion的必要性。有了关于光流的初步知识,Flow completion模块将被遮蔽的区域视为遮挡因子,并为可见区域提供初始光流估计(见上图)。与没有运动信息的模型相比,性能有了明显的提高。但是,此类模型忽略了mask区域中的运动信息。通过训练Flow completion模块以最小化流程一致性损失来完成流程后,我们获得了比以前更大的PSNR和SSIM值。如图所示,具有Flow completion的模型可以恢复有关人类手臂的更合理的内容。此外,在图表中我们还显示了我们估计未损坏帧之间光流的方法的潜在上限。
Feature propagation module
特征传播模块消融实验
从模型中删除特征传播模块后,定量指标的值会显著降低。从图中,我们可以看到该模型生成的结果存在严重的伪影和不连续的内容。在此模型中添加基于流的warp和传播之后,由于我们可以在光流的帮助下将相邻帧的有效像素带到看不见的区域,因此生成的内容变得更加合理。然而,基于流的warp和传播很难恢复光流无法追踪的内容(图(b)中的白线)。此外,对于仅涉及基于可变形卷积warp的特征传播模块(表格中的情况(c)),借助于更多可学习的偏移,可以更清晰地恢复结构细节,但由于缺乏来自相邻帧的可靠信息,与基于流的warp相比,涉及更多的伪影。通过将可变形卷积与光流引导(情况(d))相结合,可以进一步提高PSNR和SSIM值。如图(d),该模型在所有变体中实现了视觉上最好的结果,同时保留了有希望的结构细节。这验证了特征传播模块的有效性。
Attention mechanism
不同注意力模块的比较
我们删除了流完成和特征传播模块,以纯粹比较不同的注意力机制,包括普通全局注意力(FuseFormer),局部窗口注意和焦点注意。如 表所示,普通全局注意力在以繁重计算为代价实现了最佳的定量性能。local attention引入了局部窗口,像Video Swin Transformer所做的那样。尽管 FLOP 减少了34%,但局部窗口中的attention计算受到限制,从而导致性能不佳。本文的焦点attention实现了性能和计算之间的良好权衡。它的PSNR和SSIM值与FuseFormer相当,与local attention相比,计算成本仅增加了12%。

局限性

当在帧之间遇到大运动或大量缺失的物体细节时,我们的方法以及FGVC和FuseFormer会产生奇怪的内容,并且在mask区域中产生许多伪影。这表明大运动或大量丢失的对象细节对于视频inpainting仍然具有挑战性。
附上论文链接: https://arxiv.org/pdf/2204.02663.pdf
附上github链接: https://github.com/MCG-NKU/E2FGVI
继续阅读
阅读原文