PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization
0. 論文情報・リンク
- 論文リンク:https://www.cv-foundation.org/openaccess/content_iccv_2015/html/Kendall_PoseNet_A_Convolutional_ICCV_2015_paper.html
- 公開日時:2015/12/xx
- 組織 :
- 被引用数(記事作成時点):947 件
- 実装コード(Caffle):https://github.com/alexgkendall/caffe-posenet
- 実装コード(<非公式> PyTorch): https://github.com/hazirbas/poselstm-pytorch
- Publication : ICCV 2015
1. どんなもの?
- カメラパラメーターを回帰する End2End で学習可能な CNN ベースのアーキテクチャで、1枚の入力画像から3D空間上のカメラ位置と向き(6自由度)を推定したモデル
2. 先行研究と比べてどこがすごいの?
- 入力画像から3D空間上でのカメラ位置を推定する問題は、ロボディクスの分野における大域的自己位置推定問題 [re-localization] の一種に属する。 SLAM [Simultaneous localization and mapping] は、この大域的自己位置推定問題の従来の解決法であるが、SLAM では、{トラッキングで画像フレームを密に保存する必要があること}・{外観ベースの位置推定とランドマークベースのポーズ推定を別々に行う必要があること}・{画像フレーム間の特徴対応を確立する必要があること}などの前提条件が必要になる。 本手法では、このような前提条件を必要とすることなく、カメラパラメーターを回帰する End2End で学習可能な CNN ベースのアーキテクチャ、具体的には GoogLeNet の出力層を fine-tuning ネットワークで、1枚の入力画像のみから3D空間上のカメラ位置と向き(6自由度)を推定することを実現している。
- 屋外都市定位置データセットである Cambridge Landmarks データセットを公開している。
3. 技術や手法の"キモ"はどこにある?
-
カメラパラメーター(=カメラ姿勢)の表現 本手法でのネットワークが回帰する3D空間上でのカメラパラメーター(カメラ姿勢)p は、以下の式のように、カメラの3D位置 x とクォータニオン q で表現される。
カメラの回転成分は正規化することでうまく学習出来るようになるが、正規化処理のためには軸回りの回転行列での回転表現より、クォータニオンでの回転表現のほうが計算コストが少ないので、クォータニオンでの表現を採用している。
-
損失関数 本手法のネットワークは、以下の損失関数で end2end に学習される
ここで、カメラ位置とクォータニオンそれぞれを別々のネットワークで学習した場合と、 カメラ位置とクォータニオン両方を1つのネットワークで学習した場合とを比較すると、 後者のほうがカメラ推定品質が向上することが実験的に判明している。
また、損失関数の重み係数βの最適値は、下図のように、屋内シーンでは 120~750、屋外シーンでは 250~2000 の間であることが実験的に判明している。
-
ネットワーク構造 本手法でのネットワークは、GoogLeNet をベースにして、カメラパラメーターを回帰するために出力層を fine-tuning したネットワークになっている。 具体的には、以下のような修正を行っている
- softmax 層を削除し,カメラパラメーター(カメラ位置・クォータニオン)を出力するための出力層に修正
- 出力層の直前に 2048 個の全結合層(FC)を追加し,カメラパラメーター推定のための特徴ベクトルを抽出する
- 推論時には、クォータニオンを正規化する
-
学習用データセットの作成
本手法では、上図のように、5つのシーンに対して様々な位置からみたときの屋外都市定位置データセットである Cambridge Landmarks データセットを公開している。 学習用画像とテスト用画像は、異なる歩行経路から撮影されており、同じ軌跡からサンプリングされていないデータになっている。
4. どうやって有効だと検証した?
-
カメラ推定の定性的品質検証
入力画像がぼやけている場合での、うまくカメラ位置と向きを推定出来ている。 明るさが異なる場合でも、うまくカメラ位置と向きを推定出来ている。 その他様々な条件下でも、うまくカメラ位置と向きを推定出来ている。
5. 議論はあるか?
- 2015 年時点での比較的古い論文であるせいか、カメラ向きをクォータニオンで表現してクォータニオンを正則化して損失関数を計算する点以外に進歩性を感じない
6. 次に読むべき論文はあるか?
- Geometry-Aware Learning of Maps for Camera Localization
7. 参考文献
- xxx