©作者 | Guozhen Zhang
单位 | 南京大学媒体计算组
本文介绍南京大学媒体计算组最近被 CVPR 2023 接收的视频插帧方向的工作:Extracting Motion and Appearance via Inter-Frame Attention for Efficient Video Frame Interpolation(简写为EMA-VFI)。
EMA-VFI 针对视频插帧任务的特点,提出了利用帧间注意力机制来同时提取运动和外观信息,并采用了 CNN 和 Transformer 混合结构设计进行插帧性能和计算负载之间的 trade-off。在固定时间步插帧和任意时间步插帧两个子任务的多个 benchmark 里,EMA-VFI 都取得了最好的性能。同时和之前的 SOTA 方法相比,EMA-VFI 的运行时间和占用内存都有明显的减少。
论文标题:
Extracting Motion and Appearance via Inter-Frame Attention for Efficient Video Frame Interpolation
论文链接:
https://arxiv.org/pdf/2303.00440.pdf
代码链接:
https://github.com/MCG-NJU/EMA-VFI
研究动机
视频插帧(Video Frame Interpolation, VFI)任务的目标是给定连续的两帧,生成这两帧之间的固定时刻的帧或者任意时刻的帧。顾名思义,VFI 最直接的用途就是用来提高帧率,经常和视频超分方法用来同时提升视频的空间和时间上的分辨率。
VFI 和其他常见的视频修复任务(如视频超分、视频去噪等)最大的不同就是 VFI 任务要生成原本不存在的帧,而其他视频修复任务要修复一张原本存在的帧,这样的不同也让插帧任务的设计思路无法直接借鉴视频复原方法的思路。
▲ 图1. 插帧算法中不同特征提取范式之间的比较
为了生成两帧之间的某一帧,从直觉上理解,VFI 算法首先需要建模两帧之间的运动关系,然后将两帧中对应区域的外观信息依靠建立好的运动关系汇聚到要生成的帧上。因此,设计高效地提取两帧之间的运动信息和外观信息的方法对于一个好的VFI算法来说是至关重要的。经过充分调研,我们发现目前 VFI 算法提取这两种信息的方式可以分为两类,如图 1。
第一种范式(如图 1 中的 (a)),也是最常见的一类设计,直接将两帧按通道拼在一起,经过重复的网络模块提取出特征,这个特征既用来建模运动也用来表征外观,我们在此将这样的提取范式称为混合提取(mixed extraction)。
尽管混合提取范式设计十分简洁,但因为要隐式地提取两种信息,往往对特征提取模块的设计和容量都有较高的要求。同时,因为没有显示的运动信息,也无法直接得到任意时刻运动建模所需的运动信息,这种范式限制了任意时刻插帧的能力。
第二种范式(如图 1 中的 (b)),采用了串行提取两种信息的思路,首先先提取每一帧的单独的外观信息,再利用两者的外观信息提取运动信息。这种提取范式需要针对每一种信息单独设计提取模块,往往会引入额外计算开销,并且无法像混合提取范式一样只需堆叠相同的模块就可以提升性能。同时,这样得到的外观特征没有很好地进行帧间信息的交互,而这种交互对于生成中间帧是至关重要的。
这里我们提出了疑问:是否存在能够同时显式地提取两种信息,且设计简洁有效的范式呢?如图 1 中的 (c),我们希望设计一个模块,能够同时显式地提取运动信息和两帧之间交互过的外观信息,并且可以像混合提取范式一样只需通过控制模块的个数和容量来控制性能。
方法介绍
▲ 图2.(a) 利用帧间注意力提取两种特征; (b) 搭配帧间注意力的Transformer模块
利用帧间注意力(Inter-Frame Attention, IFA)提取两种特征
在本文中,我们提出利用帧间的注意力机制来同时提取运动信息和两帧之间的交互过的外观信息。具体来说,如图 2 中的(a),对于当前帧中的任何一个区域,我们将其作为注意力机制中的查询(query),并将其在另一帧的空间上的相邻的所有区域作为键和值(key&value)来推导出代表其当前区域与另一帧相邻区域的注意力图。
随后,该注意力图被用来汇总邻居的外观特征,并和当前区域的外观特征进行聚合,从而得到同一个区域在两帧不同位置的外观信息的聚合特征(Inter-Frame Appearance Feature)。此外,注意力图也被用来对另一帧的相邻区域的位移进行加权,以获得当前区域从当前帧到相邻帧的近似运动向量(Motion Vector),并经过一个线性层得到两帧之间的运动特征。
这样,通过一次注意力操作,我们通过注意力图的复用同时独立的提取出了两种特征。值得注意的是,这样得到的外观特征没有混淆位置信息,所以可以进一步在此基础上提取新的外观信息和运动信息。
遵循目前主流的结构设计思路,我们将帧间注意力机制放在了 Transformer 的结构中,如图 2 中的(b)。这样的设计让我们只需要改变特征的通道数和 Transformer block 的个数就能控制提取的两种特征的质量和多样性(具体细节请参考原文)。
▲ 图3. 得到的运动向量和估计的光流之间的比较
为了验证我们设计的帧间注意力机制确实可以建模相似区域之间的相关度,我们将通过 IFA 得到的运动向量和最终估计得到的光流进行比较。如图 3,可以发现,尽管有一些噪声,但通过 IFA 直接提取的运动向量(右图)和估计的光流(左图)具有高度的一致性,这进一步证明了 IFA 确实能够分辨不同区域的外观信息,并且得到的运动特征可以作为估计两帧之间的光流的强而有效的先验。
结合CNN和Transformer的架构设计
▲ 图4. 整体架构图
尽管 IFA 可以同时提取运动信息和交互的外观信息,但由于实际中 VFI 往往输入的分辨率很高,在全分辨率的图片上使用 IFA 所带来的计算开销是难以承受的。如图 4,受到最近一些将 CNN 与 Transformer 架构融合的工作的启发,我们采用了一套简洁有效的方案来减轻计算开销:利用 CNN 提取高分辨率的 low-level 信息,利用搭载着 IFA 的 Transformer 在低分辨率下提取运动信息和帧间的外观信息。
这样的设计允许我们通过调整 CNN 和 Transformer 的比例来控制性能和计算开销之间的权衡,同时 CNN 提取的 low-level 信息也为 IFA 建模帧间的关系打下了良好的基础(具体设计细节和参数请参考原文)。
实验结果
关于固定插帧(生成两帧之间的中间帧)的性能比较如图 5:
▲ 图5. 固定时刻插帧性能比较
关于任意时刻插帧的性能比较如图 6:
▲ 图6. 任意时刻插帧性能比较
可以从结果看出来我们提出方法在两个子任务的不同数据集上都有较大的性能提升。图 7 是和之前 SOTA 方法 VFIFormer 的运行速度和占用内存的比较,我们的方法随着输入尺寸的增大,计算开销有了成倍的减少:
▲ 图7. 我们的模型与VFIFormer计算开销的比较
图 8 是固定时刻插帧效果的视觉对比,可以发现在一些大位移运动的情况下,我们提出的方法能够更好地生成中间帧:
▲ 图8. 和之前方法的固定时刻插帧效果比较
图 9 是任意时刻插帧效果的视觉对比,可以发现我们的算法相比于之前的算法具有更好的时间一致性:
▲ 图9. 和之前方法的任意时刻插帧效果比较
关于 IFA 的消融:为了验证利用 IFA 提取两种信息的设计是有效的,我们试过将 IFA 变成利用自注意力机制对每一帧单独提取外观信息(SFA)和两帧混合提取特征(Mixed)。如图 10,利用 IFA 提取外观特征的方式相比于 SFA 和 Mixed 的范式在性能上提升巨大,这验证了 IFA 的有效性。同时,相比与串行提取的范式(SFA 提取外观特征+BCV 提取运动特征),利用 IFA 同时提取两种特征在需要更小计算开销的同时具备更好的性能。
▲ 图10. 关于IFA的消融
关于运动特征的消融:为了进一步验证 IFA 提取的运动信息对于运动关系的建模是有效的,我们用单纯的时间 t 代替运动特征作为估计任意时刻光流估计的线索。如图 11,相比于单纯的时间 t,在基本相同的计算开销下,使用 IFA 提取的运动特征来指引任意时刻的光流估计的整体性能要明显更优,这充分证明其有效性。
▲ 图11. 关于运动特征的消融
关于 CNN&Transformer 混合结构设计的消融:为了探索 CNN 与 Transformer 混合设计的性能-计算开销之间的平衡关系,我们在不同分辨率的特征尝试分别使用两种结构进行试验。如图 12,可以发现在分辨率最低的两个阶段使用 Transformer 就已经取得很好的性能,并且计算开销也可以接受,这也作为了我们模型的默认设置。
▲ 图12. 关于CNN&Transformer混合结构设计的消融
局限&未来展望
虽然我们提出的方法已经取得了不小的改进,但仍有一些局限性值得探索。首先,尽管混合 CNN 和 Transformer 的设计可以减轻计算开销,但它也限制了在的高分辨率外观特征下利用 IFA 进行运动信息的提取。其次,我们的方法的输入仅限于两个连续的帧,这导致无法利用来自多个连续帧的信息。
在未来的工作中,我们会尝试在不引入过多计算开销的情况下将我们的方法扩展到多帧的输入。同时,因为我们提出的能够同时提取运动和外观信息的 IFA 模块对于视频的不同任务都是通用的,我们也将研究如何将帧间注意应用于其他同样需要这两类信息的领域,如动作识别和动作检测。
特别致谢:感谢 RIFE 作者 @hzwer 对本工作无私的建议与帮助!
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
·