RAFT-3D
Teed 2021 · 論文
一行要約 — RAFTを2Dオプティカルフローから3Dシーンフローへ拡張し、画素単位の 剛体運動の密なフィールドを反復的に精緻化する。学習された剛体運動埋め込みと、幾何的整合性を強制する微分可能なDense-SE3最適化層を用いる。
問題
シーンフロー — ステレオまたはRGB-Dの映像フレーム対が与えられたとき、画素単位の3D運動を推定すること — は、ロボットがカメラの自己運動と独立に動く物体を分離するために必要とするものである。実世界のシーンは主に剛体的に運動する物体の集合であるため、その3D運動場は において区分的に一定であるが、既存の手法は制約のない点ごとの並進を予測する(例: FlowNet3D)か、物体検出/インスタンスセグメンテーションネットワークを介して剛性を利用する — これはインスタンスの教師信号を必要とし、未知の物体を扱えず、パイプラインに非微分可能な要素を持ち込む。RAFT-3Dは、インスタンスラベルを一切用いずに、剛性の事前分布をRAFTスタイルの密なアーキテクチャに組み込む方法を問う。
手法とアーキテクチャ
入力: 2組のRGB-Dペア 、(ステレオ入力の場合、深度は既製のステレオネットワークGA-Netから得られる)。出力: 密な変換フィールド 。3D点をピクセル座標と逆深度 にマッピングする拡張ピンホール投影 を用いると、このフィールドは以下の対応関係を誘導する:
の最初の2成分はオプティカルフローであり、3番目の成分は逆深度の変化である。
- RAFTの機構: 共有特徴エンコーダ(1/8解像度で128次元特徴)が、 で表される4Dのall-pairs相関ボリュームに供給される。これは4レベルのピラミッドにプールされ、現在の対応関係周辺でバイリニアサンプリングによってインデックス付けされる。コンテキストエンコーダは事前学習済みのResNet50に強化されている — ピクセルを剛体オブジェクトにグループ化するには、2Dフローより多くのセマンティクスと受容野が必要である。
- 更新演算子: ConvGRUが、誘導されたフローフィールド 、ツイストフィールド 、深度残差(逆投影された逆深度と対応関係における2番目のフレームの深度マップとの差)、および相関特徴を受け取る。その隠れ状態から、剛体運動埋め込み 、修正マップ (誘導フローと2番目のフレームの逆深度への補正)、および確信度マップ を予測する。
- Dense-SE3層: 埋め込みは以下のアフィニティを介してピクセルを剛体オブジェクトへソフトにグループ化する:
そして各ピクセルの変換は、重み付き再投影目的関数に対する1回のGauss-Newtonステップによって更新される:
すなわち各ピクセルは、その近傍を説明できる運動を探索する — ただし類似した埋め込みを持つペアのみが寄与する。すべての項が単一の にのみ関わるため、巨大な系(FlyingThings3D解像度で2億の方程式)は 個の独立した6変数問題に分解され、CUDA上でインプレースに構築される。12回のGRU反復で12回のGauss-Newton更新が得られる。
- 補助的な層: 微分可能なbi-Laplacian最適化層(疎コレスキー)が、GRUが予測したエッジ重みを用いて運動境界内で埋め込みを平滑化する。SE3アップサンプリングは をリー代数にマッピングし、そこで凸アップサンプリングを行い、指数写像で戻す。
- 教師信号: 誘導されたフロー/逆深度変化のみが教師信号を持つ。、 — 剛体運動埋め込みはDense-SE3を通じた微分によって暗黙的に学習される(LieTorchライブラリを介した接空間でのバックプロパゲーション)。ボックスやマスクの教師信号は一切用いられない。
実験結果
- FlyingThings3D(FlowNet3D分割での2視点評価): 公開されている最良の3D精度()を34.3%から83.7%に改善した。また、3Dに拡張されたRAFTベースライン(逆投影された2Dフロー、フロー+深度変化、直接的な3Dフロー予測)を大差で上回る。シーンを剛体成分に分解するため、遮蔽領域についても運動を推定できる。埋め込みに対する教師信号なしで剛体分割が自然に現れる。
- KITTI シーンフローリーダーボード: 誤差5.77で、公開されている最良の手法DRISP(6.31)を上回る。DRISPはPSMNet、PWC-Net、Cityscapesでインスタンスラベルによって事前学習されたMask-RCNNを組み合わせたものである — RAFT-3DはFlyingThings3D+KITTIのみで学習し、インスタンスラベルは一切使わない。
- アブレーション: 精度は約16回の更新反復まで改善する。Dense-SE3の近傍半径256は、より小さい半径と全画像のどちらよりも優れている。逆深度の修正は3D指標を改善する。bi-Laplacian層は1px精度を85.8から86.3、3D精度を87.1から87.8に引き上げる。
- 学習可能パラメータ4500万(ResNet50コンテキストバックボーンに4000万)。540x960画像での推論はGPUメモリ1.6GBを消費する(GTX 1080Ti、16回更新)。
SLAMにおける意義
動的環境はSLAMの中核的な失敗モードである: 動く物体は自己運動推定の背後にある静的世界の仮定に反する。RAFT-3Dの画素単位の剛体運動フィールドは、動的物体をセグメンテーションし、カメラとは別にその運動を推定するために必要な表現をまさに提供する — これは動的SLAMシステム(VDO-SLAM、DynaSLAM II)が検出器ベースのパイプラインで取り組んでいるのと同じ問題を、インスタンスの教師信号なしで解いている。学習された反復的精緻化と、埋め込まれた微分可能な幾何最適化層の組み合わせは、RAFTから同じ著者らによるDROID-SLAMへの直接的な系譜上にある。
関連ノート
- RAFT — 2Dオプティカルフローの基盤
- FlowNet3D — 剛性事前分布を持たない、より早期の点群シーンフロー
- DROID-SLAM — 同じ著者ら。完全なSLAMシステム内の密なBA層
- VDO-SLAM — 物体の運動を追跡する動的SLAM