HF-Net
Sarlin 2019 · 論文
一行要約 — 粗から密への階層的位置推定: グローバル検索によって探索範囲を候補となる場所に絞り込み、その後ローカル特徴マッチングによって高精度な6自由度姿勢を得る手法。HF-Netは両方の特徴タイプを単一のCNNフォワードパスで計算する。
問題
頑健かつ高精度な視覚的位置推定は自動運転、モバイルロボティクス、ARにとって基盤的な技術だが、大規模環境や強い見え方の変化(昼夜、季節)のもとでは依然として困難である。直接的な2D-3Dマッチング手法(Active Search、CSL)は精度は高いが、モデルが大きくなり見え方が変化するにつれて曖昧かつ低速になる。画像検索ベースの手法は頑健だが、データベースの離散化精度までの姿勢しか得られない。手作り特徴(SIFT)はロバスト性を制限し、学習型の密な特徴はモバイル環境では計算量的に扱えない。さらに、検索ネットワークとローカル特徴ネットワークを別々に計算するのは、両者が同じ低レベルの画像手がかりから始まる以上、冗長である。
手法とアーキテクチャ
階層的位置推定パイプライン(Sarlin 2018に基づき、学習型特徴で強化):
- 事前検索(Prior retrieval): クエリのグローバル記述子をデータベース画像と照合し、k近傍を候補位置とする。
- 共視性クラスタリング(Covisibility clustering): 事前候補フレームを*場所(places)*にグループ化する — これはデータベース画像とSfMモデルの3D点を結ぶ共視性グラフの連結成分である。
- ローカルマッチング: 場所ごとに、クエリの2Dキーポイントをその場所の3D点とマッチングし、PnP + RANSACで6自由度姿勢を推定、最初に得られた有効な姿勢で停止する。改良版比率テストは、2つの最近傍が異なる3D点に属する場合にのみマッチを拒否するため、共視性の高い領域でのマッチが保持される。
最も強力なバリアントであるNV+SPは、検索にNetVLAD、ローカル特徴にSuperPointを用いる。SfMモデルは、正解の参照姿勢のもとでCOLMAPを用いてSuperPointキーポイントで再三角測量される。
HF-Net。 これをモバイル上で動作させるため、単一のMobileNetV2エンコーダ(深度乗数0.75)が3つのヘッドに供給される: キーポイントスコアと密なローカル記述子(層7で分岐するSuperPointのパラメータフリーなデコード方式、空間解像度がまだ高い段階)、そして層18でのNetVLADグローバル記述子ヘッドである — ローカル特徴は画像全体を表す特徴よりも低レベルであるため、分岐点が異なる。
マルチタスク蒸留。 正解のローカル対応関係とグローバルに多様な画像は同一のデータセット内に共存しないため、HF-NetはNetVLAD(、グローバル)、SuperPoint(記述子、キーポイント)という3つの教師モデルを模倣するよう学習される。自己バランス型の損失重み(Kendallら)を用いる:
ここではグローバル/ローカル記述子、はキーポイントスコアである。学習には18.5万枚のGoogle Landmarksの日中画像と3.7万枚のBerkeley Deep Driveの夜間・薄明画像(夜間データは夜間検索にとって決定的に重要であることが判明)を用い、フォトメトリック拡張を行うが教師のターゲットはクリーンな画像に対して予測される。
実験結果
- ベンチマーク(距離/方位のしきい値内での再現率): Aachen Day-Nightでは、NV+SPが夜間クエリの40.8 / 56.1 / 74.5%を(0.5m,2°)/(1m,5°)/(5m,10°)で位置推定できる。これはNV+SIFTの30.6/43.9/58.2、Active Searchの19.4/30.6/43.9に対して優位である。CMU Seasonsの都市部では、NV+SPが91.7/94.6/97.7に達し、セマンティックベースラインSMCの75.0/82.1/87.8を上回る。RobotCar Seasonsの夜間では6.6/17.1/32.2であり、ASの0.5/1.1/3.4を上回る。HF-NetはそのNV+SPという上限値との差を平均再現率で2.6%以内に抑えている(RobotCarのブレの多い夜間クエリでは、蒸留されたグローバル記述子が制約要因となる)。
- 蒸留が教師を上回ることもある: HF-Netのローカル特徴をNV+SPパイプラインに置き換えた(NV+HF-Net)ものは、Aachenにおいて(例えば日中0.25mで81.2対79.7と)SuperPoint自体をわずかに上回る。
- より軽量なマップ: SuperPoint/HF-NetのAachenモデルは3D点が68.5万個、SIFTの189.9万個に対して少なく、画像あたりのキーポイント数も2,576対10,230であり、マッチしたキーポイントの割合はより高い(33.8%対18.8%)— より疎なモデルの方が位置推定精度が高いことを示している。
- 実行時間(GTX 1080): Aachen dayでの完全な位置推定は45msで完了し、NV+SPの148ms、Active Searchの375ms、NV+SIFTの1356msに対して高速である — HF-Netの推論はNetVLAD+SuperPointを別々に実行するより7倍速く、システム全体は20FPS以上で動作し、ASの約10倍速い。
SLAMにおける意義
HF-Netが確立した粗から密へのパラダイムは、現在ではSLAMにおけるリロカリゼーションとループクロージャ検証の普遍的な設計となっている: 事実上すべての現代的なシステムが、グローバル記述子で場所を検索し、ローカル特徴マッチングでそれを確認する。付随するツールボックスhlocは、競技会や研究で使われる標準的な視覚位置推定パイプラインとなり、同じレシピが大規模なAR位置推定サービスを支えている。
関連ノート
- hloc — この階層的パイプラインを実装するオープンソースツールボックス
- NetVLAD — グローバル検索記述子
- SuperPoint — 精密マッチングに使われるローカル特徴
- SuperGlue — 後に精密マッチング段階を強化した学習型マッチャー
- Visual Place Recognition (VPR) — 粗い検索問題全般