UndeepVO
Li 2018 · 論文
一行要約 — テスト時には単眼入力で動作しつつ、ステレオ画像ペアで学習することで絶対的なメートルスケールを回復する、教師なし深層学習で学習された単眼視覚オドメトリシステム。
問題
教師あり学習されたVO(DeepVO)は正解の6-DoF姿勢を必要とし、これを大規模に収集するのはコストが高い。一方、最初の自己教師あり手法(SfM-Learner)は単眼動画のみから学習していたため、単眼特有の根本的な限界を引き継いでいた。すなわち、深度と軌跡は未知のスケールまでしか回復できない。UnDeepVOの答えは、実行時のセンサーや後処理ではなく、学習時のステレオ幾何にスケールを供給させることである — その主張する2つの「顕著な特徴」は、教師なし学習スキームと絶対スケールの回復である。
手法とアーキテクチャ
- 姿勢推定器。 VGGベースのCNNが連続する2つの単眼フレームを受け取り、6-DoF変換を回帰する。並進とオイラー角回転に対して分離された全結合ブランチを持ち、回転を個別に重み付けできるようにする(回転は非線形性が強く学習が難しいため)。
- 深度推定器。 視差ではなく深度マップを直接予測するエンコーダ・デコーダ — 著者らは、この方が全体のシステムが収束しやすいと報告している。
- ステレオ学習、単眼テスト。 学習時には左右両方の画像シーケンスがネットワークに入力され、損失は既知の固定基線に予測を結びつける。テスト時には連続する単眼画像のみが使われる。
- 空間損失(ステレオペア内) は、対応するピクセルが視差だけずれているという事実を利用する。
(は焦点距離、は予測深度) — ここでメートルスケールが導入される。一方の画像がSpatial Transformerを通じてもう一方から合成され、SSIM+L1のフォトメトリック損失の組み合わせによって罰則が与えられる。例えば
さらに視差マップの一致性損失と、左右シーケンスの姿勢予測を一致させる姿勢一致性損失がある。
- 時間損失(連続フレーム間) は動きを回復する:予測された深度と姿勢によってピクセルが再投影される、
同じSSIM+L1フォトメトリック損失で罰則が与えられ、さらにICP風の3D幾何整合損失が、のもとで2フレームの点群を整合させる。
- 学習。 Adam(、)、学習率0.001を反復回数の1/5ごとに半減、20〜30エポック、416×128入力、色相・回転・左右反転による拡張を使用。推論:GTX 980Mで40Hz動作時にGPUメモリ400MB未満。
実験結果
- KITTIオドメトリ(シーケンス00〜08で学習、SfMLearnerと同一データ;どの手法もループクロージングなし):シーケンス00/02/05/07/08の平均で、UnDeepVOのは4.07%、は2.02°/100m、対してSfMLearnerは36.23% / 4.56(7-DoFアライメント後)、VISO2-Mは17.93% / 2.80、ORB-SLAM-M(VOのみ)は27.05% / 10.23で、これらはUnDeepVOの416×128に対しフル解像度の1242×376画像を必要とした。(これらのシーケンスは学習セットと重複しており、論文はこれをネットワークの適合度合いの測定として位置づけている;正解データのないシーケンス11〜21では、その軌跡はステレオVISO2-Sに匹敵する。)
- スケール。 姿勢と深度はスケール後処理を一切行わずにメートルスケールで得られる — SfMLearnerとORB-SLAM-Mは正解に対して7-DoFアライメントを必要とし、VISO2-Mは固定カメラ高さの事前知識を必要とした。
- 深度(KITTI Eigen split):Abs Rel 0.183、Sq Rel 1.73、RMSE 6.57、RMSE log 0.268 — 教師ありのEigen et al.(0.214)やスケールフリーのSfMLearner(0.208)より優れているが、ステレオ学習されたMonoDepth(0.148。より高解像度、ResNetアーキテクチャ、KITTI raw全体を使用)には及ばない。
SLAMにおける意義
UndeepVOは、単眼スケール問題を実行時の追加センサーではなく学習データの幾何によって攻略できることを示した最初期の研究の一つである:ステレオ教師付けを一度行い、その後は永久に単眼で展開する。このステレオ教師あり自己教師あり学習のレシピは、後の自己教師あり深度・VO手法における標準的な構成要素となった(MonoDepth風のフォトメトリック損失と姿勢ネットワークの組み合わせは、後にD3VOによって直接VOに精緻化・統合された)。古典的な多視点幾何制約が学習の無償の教師信号として機能することを示す有用な事例研究である。
関連ノート
- SfM-Learner — 純粋に単眼の自己教師あり深度・姿勢予測手法であり、UnDeepVOの前身(スケールがあいまい)。
- MonoDepth — ステレオ教師あり自己教師あり深度推定。
- DeepVO — 教師ありエンドツーエンド学習VOの対応手法。
- D3VO — 自己教師あり深度・姿勢・不確かさを直接VOに統合した後発システム。
- Self-supervised depth — 一般的な概念。
- Scale ambiguity — UnDeepVOが学習によって回避する単眼特有の限界。