本文主要介绍港中文MMLab和商汤ISP&Codec团队合作发表在ECCV 2022上的工作。作者提出了FlowFormer模型,将Transformer结构引入到光流估计任务中,大幅提高了光流估计的性能。在公开的Sintel榜单的Clean和Final两个指标上,FlowFormer分别实现了1.16和2.09 AEPE,相比之前的最好方法分别下降了16.5%和15.5%。此外,只在FlyingChairs和FlyingThings数据集上训练,FlowFormer在Sintel Training的Clean指标上实现了1.01 AEPE,较之前最好方法降低21.7%,展现了优秀的泛化能力。
论文链接:
https://arxiv.org/pdf/2203.16194.pdf
开源代码:
https://github.com/drinkingcoder/FlowFormer-Official
项目主页:
https://drinkingcoder.github.io/publication/flowformer/
一、动机和背景
光流任务目标为估计相邻两帧每个像素的位移值。在许多下游的任务中,如动作识别、视频修补、视频超分,光流算法都作为基础组件提供运动和对应关系信息。
随着深度学习的发展和训练数据集的涌现,近年来光流算法不断进步,但是之前基于CNN的模型受限于局部感受野,无法处理大尺度运动、遮挡、模糊等极端情况。近来,Transformer因其长距离建模能力收到了极大的关注。作者提出将Transformer结构引入到光流估计任务中,结合传统cost volume等结构,实现更好的预测结果。
二、方法
本文的框架主要包含三个部分:基于Transformer 的特征编码器,cost volume编码器和cost volume解码器。
2.1 基于Transformer的特征编码器
我们选择在Imagenet数据集上预训练的Twins-SVT模型作为特征编码器,从输入的两帧图片中提取出高维特征图后,构建4D cost volume,用于后续处理。
2.2 Cost Volume编码器
Cost Volume是由多个记录源图片像素和所有目标图片像素相似性的cost map组成的。首先,每个cost map被投射到隐空间,转化为K个token,每个token是一个D维的feature。基于此,我们提出了轮换分组Transformer来充分融合Cost Volume的信息。具体而言,第一种是对来自同一个cost map的token进行attention操作,另一种是对分属不同cost map的token进行attention融合。交替进行这两种融合操作,从而实现对Cost Volume的编码。
2.3 Cost Volume解码器
FlowFormer使用cross-attention从Cost Volume编码器中提取特征,具体而言,根据当前估计的光流值生成查询(query)。取出的特征,结合上下文特征以及当前光流值,预测出光流残差,循环迭代优化光流。
三、实验结果
在公开的Sintel榜单的Clean和Final两个指标上,FlowFormer分别实现了1.16和2.09 AEPE,相比之前的最好方法分别下降了16.5%和15.5%。此外,只在FlyingChairs和FlyingThings数据集上训练,FlowFormer在Sintel Training的Clean指标上实现了1.01 AEPE,较之前最好方法降低21.7%,展现了优秀的泛化能力。
四、可视化结果
相比之前的最佳方法,FlowFormer在物体边界上降低了模糊效应,更好的保留了细节。
作者:石晓宇
文章来源:公众号【商汤学术】
Illustration by Konstantin Filonov from IconScout