RAFT: Recurrent All-Pairs Field Transforms for Optical Flow

0. 摘要

本文提出了递归全对场变换 (RAFT),一种新的光流深度网络结构。RAFT提取过像素特征,为所有像素对构建多尺度的四维相关卷,并通过一个对相关卷进行查找的循环单元迭代地更新流场。RAFT实现了最先进的性能。在KITTI上,RAFT的F1-all误差为5.10%,比最佳发布的结果 (6.10%) 减少了16%。在Sintel(最后通过)上,RAFT得到了2.855像素的终点误差,比已发布的最佳结果(4.098像素)减少了30%。此外,RAFT具有较强的跨数据集泛化性,在推理时间、训练速度和参数计数方面都具有较高的效率。

1. 引言

光流是估计视频帧之间每像素运动的任务。这是一个长期存在的尚未解决的愿景问题。最好的系统受到困难的限制,包括快速移动的物体、遮挡、运动模糊和无纹理的表面。

光流传统上被认为是在一对图像[21, 51, 13]之间的密集位移场空间上的一个手工制作的优化问题。一般来说,优化目标定义了鼓励视觉相似图像区域对齐的数据项和先加于运动合理性的正则化项之间的权衡。这种方法已经取得了相当大的成功,但由于难以手工设计一个对各种角落情况具有稳健性的优化目标,进一步的进展似乎具有挑战性。

最近,深度学习已被证明是一种很有前途的替代传统方法。深度学习可以逐步制定优化问题,训练网络直接预测流程。目前的深度学习方法[25, 42, 22, 49, 20]已经取得了可与最佳传统方法相媲美的性能,同时在推理时速度明显更快。进一步研究的一个关键问题是设计有效的性能更好、更容易训练和很好地推广到新场景的架构。

我们介绍了递归全对场变换 (RAFT),一种新的光流深度网络结构。RAFT具有以下优点:

  • 最先进的准确性
  • 强大的泛化性
  • 高效性

RAFT由三个主要组件组成:(1)特征编码器,提取每个像素的特征向量;(2)相关层,为所有像素对产生四维相关卷,随后池产生低分辨率卷;(3)一个基于GPU的循环更新操作运算,从相关卷中检索值,并迭代更新初始化的流场。图1说明了RAFT的设计。

RAFT架构采用了传统的基于优化的方法。该特征编码器提取每个像素的特征。相关层计算像素之间的视觉相似性。该更新操作符模拟了一个迭代优化算法的步骤。但与传统方法不同的是,特征和运动先验不是手工制作的,而是分别由特征编码器和更新运算符学习的。

RAFT的设计从许多现有的作品中汲取灵感,但在本质上是新颖的。首先,RAFT以高分辨率维护和更新单个固定流场。这与之前的工作[42, 49, 22, 23, 50]中流行的从粗到细的设计不同,后者首先以低分辨率估计流量,并在高分辨率下进行上采样和细化。通过在单个高分辨率流场上运行,RAFT克服了粗到细级联的几个限制:从粗分辨率的错误中恢复的差异,错过小型快速移动对象的倾向,以及训练多层级联通常需要的许多训练迭代(通常超过1M)。

其次,RAFT的更新操作符是周期性的和轻量级的。[24,42,49,22,25]最近的许多工作都包括了某种形式的迭代细化,但没有绑定跨迭代[42,49,22]的权重,因此被限制在固定数量的迭代中。据我们所知,IRR[24]是唯一一种反复出现的深度学习方法[24]。它使用FlowNetS[15]或PWC-Net[42]作为其循环单元。当使用FlowNetS时,它受到网络大小(38M参数)的限制,并且只应用5次迭代。当使用PWC-Net时,迭代受到金字塔级别数量的限制。相比之下,我们的更新操作算子只有2.7M的参数,在推理过程中可以应用100+次而不发散。

第三,更新操作符有一个新颖的设计,它由一个卷积GRU组成,可以在4D多尺度相关卷上进行查找;相比之下,之前工作中的细化模块通常只使用普通卷积或相关层。

我们对Sintel[11]和KITTI[18]进行了实验。结果表明,RAFT在两个数据集上都取得了最先进的性能。此外,我们通过广泛的消融研究验证了RAFT的各种设计选择。

2. 相关工作

2.1. 光流作为能量最小化

光流传统上被视为一个能量最小化问题,它在数据项和正则化项之间进行权衡。Horn和Schnuck[21]将光流作为一个使用变分框架的连续优化问题,并能够通过执行梯度步骤来估计一个密集的流场。Black和Anandan[9]通过引入一个鲁棒估计框架来解决过平滑和噪声灵敏度的问题。TV-L1[51]用L1数据项和全变化正则化取代了二次惩罚࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值