PoseNet
Kendall 2015 · 論文
一行要約 — 単一のRGB画像から完全な6自由度カメラ姿勢(並進+クォータニオン)を直接回帰する最初のCNN。視覚的リローカリゼーションのためのAbsolute Pose Regression(APR)を開拓し、50MBのモデルで1フレームあたり5msを実現した。
問題
古典的なリローカリゼーションは、メトリック的手法(特徴を3Dマップに対してマッチングし、PnPを解く — 良好な初期推定値、数ギガバイトのストレージが必要で、ブラー、低照度、テクスチャの乏しい視点下でSIFTスタイルのマッチングが失敗すると破綻する)か、外観ベースの手法(離散的な場所の集合の中から分類する — 粗い位置しか得られない)のいずれかである。PoseNetは、迷子/誘拐されたロボット問題に対して、コンブネットが単一の224x224画像を特徴量エンジニアリングなし、マップなし、グラフ最適化なしで、エンドツーエンドに連続的な6自由度姿勢に直接マッピングできるかどうかを問い、さらに姿勢ラベル付きデータが乏しい(シーンごとに数百から数千フレーム、SfMによる自動ラベル付け)状況でそもそも学習可能かどうかを検証する。
手法とアーキテクチャ
- バックボーン: 修正されたGoogLeNet(学習可能パラメータを持つ23層)。3つのsoftmax分類器はすべてアフィン回帰器に置き換えられ、7次元姿勢ベクトルを出力する。最終回帰器の前に追加の2048次元全結合層が挿入され、探索可能なローカリゼーション特徴を形成する。出力は
であり、位置 と姿勢クォータニオン からなる。クォータニオンが選ばれた理由は、任意の4次元値が単位正規化によって有効な回転にマッピングされるためである(回転行列を正規直交化するより単純)。はテスト時に正規化される。
- 損失関数: 2つの項をバランスさせるスケール係数を持つ共同回帰であり、
最適な は、学習の終了時における位置誤差と姿勢誤差の期待値の比であり、グリッドサーチで求められる: 屋内で120〜750、屋外で250〜2000。位置と姿勢を別々に、あるいは別ブランチで学習させると性能が悪化する — 各出力が互いを分離するのに役立っている。
- 転移学習: 重みはImageNet/Placesで分類器として事前学習されており、疎な学習セットからでもより低い誤差により短時間で収束する。Places(よりシーン関連性が高い)は最終的にImageNetを上回る。学習された特徴は姿勢に対して滑らかに変化するほぼ一対一の関数であり、数十サンプルで未見のシーンにも汎化する。
- SfMによるデータ生成: 学習用姿勢は、スマートフォン動画(2Hzフレーム、約1m間隔)のStructure-from-Motion再構成から得られ、ラベル付け作業を動画の撮影のみに削減する。本論文はCambridge Landmarksデータセット(屋外5シーン)を公開している。
- 推論: 単一の中央クロップは5msで済む。128個の均等に配置されたクロップを平均化する(95ms)とわずかな改善が得られ、主に混雑したシーンで効果がある。
実験結果
- 全体: 大規模な屋外シーン(最大50,000平方メートル)でおよそ2m・6度の精度、屋内で0.5m・10度の精度をリアルタイムで実現する。
- Cambridge Landmarks(中央値): King’s College 1.92m/5.40度(密なサンプリングで1.66m/4.86度)、Old Hospital 2.31m/5.38度、Shop Facade 1.46m/8.08度、St Mary’s Church 2.65m/8.48度、Street 3.67m/6.50度 — 自身の特徴ベクトルに対する最近傍マッチ(例えばKing’s Collegeで3.34m/5.92度)を上回り、学習セットを超えて回帰していることを証明している。
- 7 Scenes(中央値): 例えばChess 0.32m/8.12度、Office 0.48m/7.68度、Stairs 0.47m/13.8度 — しかしRGB-DのSCoRe Forestは0.03〜0.06mを達成しており、深度ベースのシーン座標回帰が適用可能な場所ではPoseNetの精度はかなり劣る(ただし95パーセンタイルを超える最も難しいフレームでは優位に立つ)。
- 効率性: 重みは50MB、1姿勢あたり5msであり、学習データに対して計算コストが でスケールするSIFTベースのメトリックローカリゼーションが必要とする数ギガバイト、数分に比べて格段に効率的である。
- ロバスト性: モーションブラー、夕暮れ/夜間のシルエット、霧、雨、動的物体、未知のカメラ内部パラメータ(35〜45mmの焦点距離 対 学習カメラの30mm)の下でもローカリゼーションを維持する — これらはすべてSIFTを用いたSfMが完全に失敗するケースである。精度は4m間隔で撮影された数十枚の学習画像まで緩やかに劣化していく。
SLAMにおける意義
PoseNetは学習ベースのリローカリゼーション研究の方向性を切り開き、APR問題設定を定義し、コンブネットが転移学習を介して画像平面外の回帰を解けることを示した。その限界もまた結果と同じくらい影響力を持った: 構造ベース手法に遠く及ばないメートル級の精度が、シーン座標回帰(DSAC、ACE)を動機づけ、これらは幾何ソルバーをループ内に保持したままセンチメートル精度に到達する。また、後の分析はAPRが幾何よりも画像検索に近い振る舞いをすることを示した。SLAMにおいては、PoseNetスタイルの回帰は粗いリローカリゼーション事前分布として生き残り、そのコンパクトな一定メモリの「重みの中のマップ」は暗黙的ニューラルマップを先取りするものであった。
関連ノート
- CNN Pose Regression Limitations — APRの精度が検索に制約される理由
- DSAC — 微分可能なRANSACによるシーン座標回帰
- DSAC++ — 改良されたシーン座標回帰の学習
- ACE — 高速な現代的シーン座標回帰
- hloc — 構造ベースの階層的ローカリゼーションという代替手法