什么是RAFT(Recurrent All‑Pairs Field Transforms)

RAFTRecurrent All‑Pairs Field Transforms)概述


1. 背景与意义

RAFT 是 2020 年在 ECCV 上发表的光学流(Optical Flow)估计模型,作者 Zachary Teed 与 Jia Deng 将其描述为“一种全端到端可训练的光流网络”,在 KITTIMPI‑Sintel 等主流基准上实现了显著的性能提升,并在当年获得最佳论文奖。该方法的核心思想是 对所有像素对构建相关体积(All‑Pairs Correlation)‍,并通过 循环(Recurrent)更新单一光流场,实现高精度与高效率的兼顾。


2. 基本原理

RAFT 的整体流程可划分为四个阶段:

阶段 作用 关键技术
特征提取(Feature Encoder 将两帧图像分别映射到低分辨率的密集特征图(1/8 分辨率) 深层卷积网络(ResNet‑like)
全对场相关(All‑Pairs Correlation) 对每个像素对计算点积,得到四维相关体积(cost volume) 通过矩阵乘法一次性完成,保持全部像素对信息
循环更新算子(Recurrent Update Operator 在相关体积上进行查找并迭代细化光流 基于卷积 GRU 的更新模块,支持 12–32 次迭代
上采样与输出(Upsampling & Output) 将低分辨率光流逐步上采样至原始分辨率 双线性插值 + 残差校正

核心创新在于 ‍“全对场”‍ 的相关体积能够捕获任意像素间的长距离依赖,而 循环更新 通过 GRU 在每一步利用上下文信息对光流进行细粒度的修正,使得模型在保持 参数量 modest(≈5 M)‍ 的同时,能够实现 SOTA 精度


3. 关键模块细节

  1. 特征编码器
    • 两帧图像分别经过共享的卷积网络,输出尺寸为 H/8 × W/8 × C 的特征图。
  2. 相关体积(Correlation Volume)
    • 对所有像素对进行点积,得到形状为 H/8 × W/8 × (H/8 × W/8) 的四维张量
    • 为后续的查找提供完整的匹配信息。
  3. 循环更新算子
    • 输入当前光流估计、特征图、相关体积以及 上下文特征(Context Encoder)‍。
    • 采用卷积 GRU 产生 残差光流,并与当前估计相加。
    • 迭代次数可调,常用 12–32 次,收敛快速且不易发散。
  4. 上采样
    • 通过双线性插值将低分辨率光流放大至原始分辨率,并在每层加入细化卷积。

4. 训练数据与策略

数据集 用途
FlyingChairs 预训练(约 22 k 对图像)
FlyingThings3D 进一步预训练,提升对大位移的鲁棒性
MPI‑Sintel / KITTI 数据集特定的微调(Fine‑tune)

训练时使用 AdamW 优化器,梯度裁剪至 ,并在 Sintel 上进行 32 次迭代、在 KITTI 上进行 24 次迭代。


5. 实验结果与优势

基准 误差 ↓(EPE) 相对提升
MPI‑Sintel (final) 1.43 px(RAFT) vs 2.03 px(前代) ~30%
KITTI 2015 5.10 %(F1) vs 6.00 %(前代) ~16%
  • 精度:在两大基准上均刷新了当时的记录。
  • 速度:单帧推理时间约 0.06 s(GPU),“实时”可达 15 fps。
  • 泛化:在未见数据集上仍保持竞争力,说明模型对不同场景的适应性强。

这些结果使 RAFT 成为 光学流领域的里程碑,并在后续的多模态、三维场景流等研究中被广泛引用。


6. 开源实现与资源链接

资源 链接 说明
原始论文(arXiv) https://arxiv.org/abs/2003.12039 完整技术细节、实验设置
官方 GitHub(Princeton‑VL) https://github.com/princeton-vl/RAFT PyTorch 实现、预训练模型、使用说明
TensorFlow 实现 https://github.com/daigo0927/tf-raft 适用于 TensorFlow 环境的移植版
中文笔记与教程 https://www.fromgeek.com/ai/340797.html 对模型结构的中文解读与代码示例
后续衍生工作(PV‑RAFT) https://www.thejournal.club/c/paper/310471/ 将 RAFT 思想扩展到点云场景流

7. 后续发展与衍生工作

  • PV‑RAFT:将全对场思想推广到点云,提出 Point‑Voxel Recurrent All‑Pairs Field Transforms,用于 3D 场景流估计。
  • CAFT:在跨阶段(Cross‑stage)上进一步优化相关体积的计算效率。
  • 多种轻量化变体(如 SmallRAFT)已在移动端实现,保持相对较低的参数量与计算开销。

总结
RAFT 通过一次性构建全像素对相关体积并在循环更新中迭代细化光流,实现了 高精度 + 高效率 的平衡,成为光学流研究的基准模型。其开源实现、丰富的文献引用以及后续的衍生工作,使其在学术与工业界都保持了广泛的影响力。

来源:www.aiug.cn
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!