以下文章来源于深圳大学可视计算研究中心 ,作者谢洁璇
导读
本文是VCC谢洁璇同学对论文 Extracting Motion and Appearance via Inter-Frame Attention for Efficient Video Frame Interpolation 的解读,该工作来自南京大学媒体计算组,并已被发表在计算机视觉顶级会议CVPR 2023上。
项目主页:
https://github.com/MCG-NJU/EMA-VFI
该工作提出了利用帧间注意力机制来同时提取视频帧插值中的运动和外观信息,并采用了CNN和Transformer混合结构设计以实现更好的性能和效率之间的权衡。以实现更好的性能和效率之间的权衡。实验结果表明,我们提出的模块在固定时间步长和任意时间步长插值上都取得了最先进的性能,与之前的SOTA方法相比具有良好的有效性。
I
引言
视频插帧(Video Frame Interpolation, VFI)任务的目标是给定连续的两帧,生成这两帧之间的固定时刻的帧或者任意时刻的帧。顾名思义,VFI最直接的用途就是用来提高帧率,经常和视频超分方法用来同时提升视频的空间和时间上的分辨率。VFI和其他常见的视频修复任务(如视频超分、视频去噪等)最大的不同就是VFI任务要生成原本不存在的帧,而其他视频修复任务要修复一张原本存在的帧,这样的不同也让插帧任务的设计思路无法直接借鉴视频复原方法的思路。
为了生成两帧之间的某一帧,VFI算法首先需要建模两帧之间的运动关系,然后将两帧中对应区域的外观信息汇聚到要生成的帧上。因此,设计高效地提取两帧之间的运动信息和外观信息的方法是至关重要的。以前的工作要么以混合的方式提取这两种类型的信息,要么为这两种类型的信息精心设计单独的模块,这导致了表示的歧义和插帧的低效率。该论文提出了一个新的模块来显式地提取运动和外观信息。具体来说,该方法重新考虑帧间注意的信息过程,并将其注意映射用于外观特征增强和运动信息提取。
该论文提出利用帧间注意力来提取视频帧插值中的运动和外观信息。特别是利用隐藏在注意图中的相关信息来同时增强外观信息和模型运动。该工作设计了一个混合的CNN和Transformer框架进行插帧性能和计算负载之间的trade-off。在固定时间步插帧和任意时间步插帧两个子任务的多个benchmark里,该工作都取得了最好的性能。同时和之前的SOTA方法相比,该工作运行时间和占用内存都有明显减少。
II
技术贡献
本工作主要贡献如下:
建议利用帧间注意力同时提取运动和外观信息来进行视频帧插值;
采用CNN和Transformer混合设计,克服了在高分辨率输入帧时帧间注意力的计算开销瓶颈;
该模型在各种数据集上实现了最先进的性能,同时和之前的SOTA方法相比更高效。
III
方法介绍
利用帧间注意力(IFA)提取两种特征
本工作提出一种利用帧间注意力机制的方法,用于同时提取运动信息和两帧之间的交互过的外观信息。该方法采用如图 1 中的 (a) 所示的方式,将当前帧中的任何一个区域作为查询 (query),并将其在另一帧的空间上的相邻的所有区域作为键和值 (key&value) 来推导出代表当前区域与另一帧相邻区域的注意力图。
随后,该注意力图被用来汇总邻居的外观特征,并和当前区域的外观特征进行聚合,从而得到同一个区域在两帧不同位置的外观信息的聚合特征 (Inter-Frame Appearance Feature)。同时注意力图也被用来对另一帧的相邻区域的位移进行加权,以获得当前区域从当前帧到相邻帧的近似运动向量 (Motion Vector),并经过一个线性层得到两帧之间的运动特征。因此该方法还可以使用注意力图的复用机制,避免了重复的计算,提高了效率。
值得注意的是,这样得到的外观特征没有混淆位置信息,因此可以进一步在此基础上提取新的外观信息和运动信息。遵循目前主流的结构设计思路,该工作将帧间注意力机制放在了Transformer的结构中,如图2中的(b)所示。在这样的设计下,通过改变特征的通道数和 Transformer block 的个数,可以控制提取的两种特征的质量和多样性。
图1 (a)利用帧间注意力提取两种特征;(b)搭配帧间注意力的Transformer模块利用帧间注意力(Inter-Frame Attention, IFA)提取两种特征
为了更好地验证该方法设计的帧间注意力机制是否能够建模相似区域之间的相关度,作者将使用 IFA 得到的运动向量与最终估计得到的光流进行比较。如图 2 所示,尽管存在一定的噪声,但通过 IFA 直接提取的运动向量(左图)与估计的光流(右图)在一致性方面表现得非常好,这表明 IFA 确实能够识别不同区域的外观信息,并且其得到的运动特征可以作为估计两帧之间光流的强而有效的先验。
图2 得到的运动向量和估计的光流之间的比较
结合CNN和Transformer的架构设计
尽管IFA可以同时提取运动信息和交互的外观信息,但由于实际中VFI往往输入的分辨率很高,在全分辨率的
上使用IFA所带来的计算开销是难以承受的。如图3所示,受到最近一些将CNN与Transformer架构融合的工作的启发,该方法采用了一套简洁有效的方案来减轻计算开销:该方法利用 CNN 提取高分辨率图像的 low-level 信息,并搭载着 IFA 的 Transformer 在低分辨率下提取运动信息和帧间的外观信息。这样的设计允许通过调整 CNN 和 Transformer 的比例来控制性能和计算开销之间的权衡。同时,CNN 提取的 low-level 信息也为 IFA 建模帧间的关系打下了良好的基础。这种设计使得该方法能够在不牺牲性能的情况下,更快地处理大规模的图像数据,并取得了优于传统方法的效果。
图3 整体架构图
IV
部分结果展示
接下来首先展示的是关于固定插帧(生成两帧之间的中间帧)的性能比较。可以发现在绝大部分性能指标上,该方法都比之前的方法好。
表1 固定时刻插帧性能比较
接下来展示的是关于任意时刻插帧的性能比较。可以发现该方法在以下5个性能指标上,都比之前的方法好。
表2 任意时刻插帧性能比较
接下来展示的是该工作和之前SOTA方法VFIFormer的运行速度和占用内存的比较。可以从结果看出来该方法在两个子任务的不同数据集上都有较大的性能提升。该方法随着输入尺寸的增大,计算开销有了成倍的减少:
图4 该工作的模型与VFIFormer计算开销的比较
接下来展示的是固定时刻插帧效果的视觉对比,可以发现在一些大位移运动的情况下,该方法能够更好地生成中间帧。
图5 该工作的模型与VFIFormer计算开销的比较
接下来展示的是任意时刻插帧效果的视觉对比,可以发现该算法相比于之前的算法具有更好的时间一致性。
图6 和之前方法的任意时刻插帧效果比较
V
总结与展望
虽然该方法已经取得了不小的改进,但仍有一些局限性值得探索。首先,尽管混合CNN和Transformer的设计可以减轻计算开销,但也限制了在的高分辨率外观特征下利用IFA进行运动信息的提取。其次,该方法的输入仅限于两个连续的帧,这导致无法利用来自多个连续帧的信息。
所以在未来的工作中,首先一个值得探索的方向是如何不引入过多计算开销的情况下,将该方法扩展到多帧的输入。另一个值得探索的方向是如何将帧间注意力应用于其他同样需要这两类信息的领域,如动作识别和动作检测。
VI
思考与讨论
Q: 关于视频领域的训练模型耗时往往较长,该模型完整训练一次大概需要多久时间?
A: 作者在4张2080ti上进行训练。对于小模型大概要一天左右,而大模型需要4天左右。
Q: 既然是Efficient Video Frame Interpolation,论文里好像缺少和先前高效方法的速度比较?
A: 该工作强调的efficient指两方面:一是结构设计的efficient,采用一个模块提取两种信息。二是和之前最好的方法比,该工作在超过他们性能的同时计算开销成倍减少。至于和之前实时VFI方法性能的比较,补充材料里给出了大小模型具体的运行时间的数值,该工作在小模型的运行速度和先前的高效方法维持在同一个量级。
以下是开放性问题,欢迎读者朋友留言讨论:
Q: 该方法的输入仅限于两个连续的帧,这导致无法利用来自多个连续帧的信息。有什么方法可以在不太大的提高计算开销的同时,解决多连续帧输入的问题?
转自:“arXiv每日学术速递”微信公众号
如有侵权,请联系本站删除!