RAFT(Recurrent All‑Pairs Field Transforms)概述
1. 背景与意义
RAFT 是 2020 年在 ECCV 上发表的光学流(Optical Flow)估计模型,作者 Zachary Teed 与 Jia Deng 将其描述为“一种全端到端可训练的光流网络”,在 KITTI 与 MPI‑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. 关键模块细节
- 特征编码器
- 两帧图像分别经过共享的卷积网络,输出尺寸为 H/8 × W/8 × C 的特征图。
- 相关体积(Correlation Volume)
- 对所有像素对进行点积,得到形状为 H/8 × W/8 × (H/8 × W/8) 的四维张量。
- 为后续的查找提供完整的匹配信息。
- 循环更新算子
- 输入当前光流估计、特征图、相关体积以及 上下文特征(Context Encoder)。
- 采用卷积 GRU 产生 残差光流,并与当前估计相加。
- 迭代次数可调,常用 12–32 次,收敛快速且不易发散。
- 上采样
- 通过双线性插值将低分辨率光流放大至原始分辨率,并在每层加入细化卷积。
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 通过一次性构建全像素对相关体积并在循环更新中迭代细化光流,实现了 高精度 + 高效率 的平衡,成为光学流研究的基准模型。其开源实现、丰富的文献引用以及后续的衍生工作,使其在学术与工业界都保持了广泛的影响力。
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!