SEA-RAFT
Wang 2024 · 論文
一行要約 — Simple, Efficient, Accurate RAFT: 混合ラプラス損失、初期フローの直接回帰、TartanAirによる剛体フロー事前学習、そしてアーキテクチャの単純化により、RAFTに最良の精度・効率パレートフロンティアをもたらす——Springで最先端であり、比較対象の手法より少なくとも2.3倍高速に動作する。
問題
RAFT以降のオプティカルフローの進展は主に、Transformerコストボリュームエンコーダやより大きなバックボーンといった、より重いアーキテクチャからもたらされ、それによってフローをリアルタイムシステムで使えるようにする速度が犠牲になっていた。一方、RAFT自体のレシピにも弱点がある: 標準的なエンドポイント損失は、強いオクルージョン下の曖昧で予測不能な画素に支配される; ゼロ初期化されたフローは多くの精緻化イテレーション(学習時12回、推論時最大32回)を必要とする; そして合成データのFlyingChairs/Thingsはリアリズムと一般化を制限する。SEA-RAFTは、損失・初期化・データの変更が元のアーキテクチャをどこまで押し進められるかを問う。
手法とアーキテクチャ
SEA-RAFTはRAFTの骨格を保持する。特徴エンコーダとコンテキストエンコーダ(RAFT独自のエンコーダを置き換えるImageNet事前学習済みのResNetを切り取ったもの)はを1/8解像度の特徴に写す; 多スケール4Dコリレーションボリュームが次のように構築される。
各イテレーションは現在のフローの周辺で半径の動き特徴を検索する: 。そして再帰ユニット(RAFTのConvGRUを置き換える2つのConvNeXtブロック)が隠れ状態を更新し、残差を回帰する: 、。3つの主要な変更点は次のとおりである。
- 混合ラプラス(MoL)損失: の代わりに、ネットワークは2成分ラプラス混合分布の画素ごとのパラメータを予測する——一方の成分は通常の画素用、他方は曖昧な(オクルードされた)画素用である。
を固定し、第一成分が/エンドポイント誤差指標に一致するようにし、安定性のためスケールを対数空間で回帰する()。損失は、画素とフローの両軸で平均されたグラウンドトゥルースの負の対数尤度であり、通常の指数重み付けで各イテレーションに適用される: 。混合重みは不確実性の出力としても機能する。
- 初期フローの直接回帰: コンテキストエンコーダは、スタックされた両フレームを入力として受け取り、ゼロから始める代わりに初期フロー(およびそのMoLパラメータ)を予測する——学習時のイテレーション数をに、推論時は最大12回に削減する。
- 剛体フロー事前学習: TartanAirで30万ステップの事前学習を行う。TartanAirのフローは静的シーンにおけるカメラ運動のみから得られる——運動の多様性は限られるがリアリズムは高く、一般化を実測的に改善する。
バリアント: SEA-RAFT(S)はResNet-18の最初の6層を用い、(M)はResNet-34の最初の13層を用いる; (L)は(M)を推論イテレーション12回で実行するものである。
実験結果
- Springテスト(ファインチューニング後): SEA-RAFT(M)は1px外れ値率3.686、EPE 0.363に到達し——1位であり、既存手法と比べてEPEを少なくとも22.9%、1px誤差を17.8%削減する; SEA-RAFT(S)でさえ他のすべての手法を上回る(20.0% / 12.8%の削減)。Spring trainでのゼロショットでは、追加データを用いない手法の中で最良であり、MS-RAFT+に近い一方で11倍小さく24倍高速である。
- 効率: 同等の精度を持つ手法より少なくとも2.3倍高速; 最小モデルはRTX 3090上で1080pを21fpsで実行する(元のRAFTより3倍高速); SEA-RAFT(M)は540x960で70.96ms / 486.9 GMACsであり、RAFTの140.7ms / 938.2 GMACsに対して優れる。
- KITTI train上のゼロショットC+T: 発表済みの中で最良の一般化——Fl-epeは4.09から3.62に、Fl-allは13.7から12.9に。Sintel trainではcleanで競争力があるがfinalでは弱い(4.11); 約1200組の実データ(KITTI+HD1K)を加えるだけでこのギャップは縮まる(2.79)。
- Sintel/KITTIテスト: SEA-RAFT(L)はclean 1.31 / final 2.60、Fl-all 4.30を得る——RAFTと比較して19.9% / 4.2% / 15.7%の改善であり、同等精度の手法よりSintelで少なくとも1.8倍、KITTIで4.6倍遅い。
SLAMにおける意義
SEA-RAFTは、SLAMのフロントエンドがリアルタイムのレートで密なフローを必要とする際の実用的な選択肢である: Transformer級のレイテンシを持たないRAFT級の機構である。その要素のうち2つはSLAMの要求と直接一致する——剛体運動事前学習はSLAMが仮定するほぼ剛体な世界に一致し、ラプラス混合パラメータは確率的推定における観測共分散に自然に写る画素ごとの不確実性を与える。また、損失・初期化・データの設計がアーキテクチャの成長を上回りうることを示す事例研究でもあり、これは学習型SLAMコンポーネント全般に関連する教訓である。
関連ノート
- RAFT — ベースとなるアーキテクチャと学習目標
- FlowFormer — より重いTransformerによる代替案
- TartanVO — TartanAirの剛体シーンデータで構築された学習型VO
- DPVO — RAFT型更新を用いる疎な学習型オドメトリ
- DROID-SLAM — RAFTの機構を組み込んだ完全なSLAMシステム