(57)【要約】【課題】撮像時のカメラの自己位置の推定精度をより向上させる。【解決手段】  実施形態の自己位置推定装置は、入力画像取得部と参照データ取得部と類似度算出部と対応算出部と自己位置算出部と信頼度算出部とを備える。類似度算出部は、入力画像と参照画像との類似度を、第１のパラメータの連続的な変動に応じて、類似度を連続的に変動可能な演算により算出する。対応算出部は、入力画像の画素と参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、対応を連続的に変動可能な演算により算出する。自己位置算出部は、参照データを使用して、入力画像が撮像された際の第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、対応の連続的な変動に応じて、第１の自己位置を連続的に変動可能な演算により算出する。【選択図】図１
2020008984.tif 000002
【特許請求の範囲】
【請求項１】
移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像として取得する入力画像取得部と、
第２の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する参照データ取得部と、
前記入力画像と前記参照画像との類似度を、第１のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出する類似度算出部と、
前記入力画像の画素と前記参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出する対応算出部と、
前記参照データを使用して、前記入力画像が撮像された際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、前記対応の連続的な変動に応じて、前記第１の自己位置を連続的に変動可能な演算により算出する自己位置算出部と、
前記第１の自己位置の信頼度を、前記第１の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出する信頼度算出部と、
を備える自己位置推定装置。
【請求項２】
前記第１の自己位置の信頼度がより高くなるように、前記第１の撮像装置の第１の撮像条件を決定する第１の決定部、
を更に備える請求項１に記載の自己位置推定装置。
【請求項３】
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する教師データ取得部を更に備え、
前記第１の決定部は、前記第１の自己位置が前記第２の自己位置に近づくように前記第１の撮像条件を決定する、
請求項２に記載の自己位置推定装置。
【請求項４】
前記第１の撮像条件は、前記第１の撮像装置の焦点距離、前記第１の撮像装置のフォーカス、前記第１の撮像装置のズーム、前記第１の撮像装置の位置、及び、前記第１の撮像装置の姿勢の少なくともいずれか１つを含む、
請求項２又は３に記載の自己位置推定装置。
【請求項５】
前記第１の自己位置の信頼度がより高くなるように、前記第２の撮像装置の第２の撮像条件を決定する第２の決定部、
を更に備える請求項１乃至４のいずれか１項に記載の自己位置推定装置。
【請求項６】
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する教師データ取得部を更に備え、
前記第２の決定部は、前記第１の自己位置が前記第２の自己位置に近づくように前記第２の撮像条件を決定する、
請求項５に記載の自己位置推定装置。
【請求項７】
前記第２の撮像条件は、前記第２の撮像装置の焦点距離、前記第２の撮像装置のフォーカス、前記第２の撮像装置のズーム、前記第２の撮像装置の位置、及び、前記第２の撮像装置の姿勢の少なくともいずれか１つを含む、
請求項５又は６に記載の自己位置推定装置。
【請求項８】
前記自己位置算出部は、前記参照データから特定される参照画像の画素に対応する空間内の位置、及び、前記入力画像の画素と前記参照画像の画素との対応から、前記入力画像の画素に対応する空間内の位置を算出し、前記空間内の位置から前記第１の自己位置に基づいて対応付けられた前記入力画像の点と、前記空間内の位置の算出に使用された前記参照画像の画素に対応する入力画像の画素との距離を示す画素距離が最小になるように前記第１の自己位置を算出する、
請求項１乃至７のいずれか１項に記載の自己位置推定装置。
【請求項９】
前記信頼度算出部は、
前記画素距離が近いほど、前記第１の自己位置の信頼度を高く算出する、
請求項８に記載の自己位置推定装置。
【請求項１０】
前記類似度算出部は、前記入力画像から前記入力画像の特徴を示す第１の特徴ベクトルを算出し、前記参照画像から前記参照画像の特徴を示す第２の特徴ベクトルを算出し、前記第１の特徴ベクトルと前記第２の特徴ベクトルとが類似しているほど、前記類似度を高く算出する、
請求項１乃至９のいずれか１項に記載の自己位置推定装置。
【請求項１１】
前記類似度算出部は、前記類似度を第１のニューラルネットワークにより算出し、前記第１のパラメータは前記第１のニューラルネットワークの重み係数を含む、
請求項１乃至１０のいずれか１項に記載の自己位置推定装置。
【請求項１２】
前記対応算出部は、前記対応を第２のニューラルネットワークにより算出し、前記第２のパラメータは前記第２のニューラルネットワークの重み係数を含む、
請求項１乃至１１のいずれか１項に記載の自己位置推定装置。
【請求項１３】
請求項１に記載の自己位置推定装置のパラメータを学習する学習装置であって、
前記自己位置推定装置から、前記第１の自己位置と前記信頼度とを含む推定データを取得する推定データ取得部と、
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する教師データ取得部と、
前記第１の自己位置と前記第２の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第１のパラメータを更新する第１のパラメータ更新部と、
を備える学習装置。
【請求項１４】
前記第１のパラメータ更新部は、更に、前記第１の自己位置と前記第２の自己位置との差をより小さくするように、前記第１のパラメータを更新する、
請求項１３に記載の学習装置。
【請求項１５】
前記第１の自己位置と前記第２の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第２のパラメータを更新する第２のパラメータ更新部、
を更に備える請求項１３又は１４に記載の学習装置。
【請求項１６】
前記第２のパラメータ更新部は、更に、前記第１の自己位置と前記第２の自己位置との差を小さくするように、前記第２のパラメータを更新する、
請求項１５に記載の学習装置。
【請求項１７】
移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像として取得するステップと、
第２の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得するステップと、
前記入力画像と前記参照画像との類似度を、第１のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出するステップと、
前記入力画像の画素と前記参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出するステップと、
前記参照データを使用して、前記入力画像が撮像された際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、前記対応の連続的な変動に応じて、前記第１の自己位置を連続的に変動可能な演算により算出するステップと、
前記第１の自己位置の信頼度を、前記第１の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出するステップと、
を含む自己位置推定方法。
【請求項１８】
請求項１７に記載の自己位置推定方法で使用されるパラメータを学習する学習方法であって、
前記第１の自己位置と前記信頼度とを含む推定データを取得するステップと、
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得するステップと、
前記第１の自己位置と前記第２の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第１のパラメータを更新するステップと、
を含む学習方法。
【請求項１９】
コンピュータを、
移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像として取得する入力画像取得部と、
第２の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する参照データ取得部と、
前記入力画像と前記参照画像との類似度を、第１のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出する類似度算出部と、
前記入力画像の画素と前記参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出する対応算出部と、
前記参照データを使用して、前記入力画像が撮像された際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、前記対応の連続的な変動に応じて、前記第１の自己位置を連続的に変動可能な演算により算出する自己位置算出部と、
前記第１の自己位置の信頼度を、前記第１の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出する信頼度算出部、
として機能させるための自己位置推定プログラム。
【請求項２０】
請求項１９に記載の自己位置推定プログラムのパラメータを学習する学習プログラムであって、
コンピュータを、
前記第１の自己位置と前記信頼度とを含む推定データを取得する推定データ取得部と、
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する教師データ取得部と、
前記第１の自己位置と前記第２の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第１のパラメータを更新する第１のパラメータ更新部、
として機能させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【０００２】
カメラ等で撮像された画像から、撮像時のカメラの位置及び姿勢等により表されるカメラの自己位置を推定する技術が従来から知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２１４２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、撮像時のカメラの自己位置の推定精度をより向上させることが難しかった。
【課題を解決するための手段】
【０００５】
実施形態の自己位置推定装置は、入力画像取得部と参照データ取得部と類似度算出部と対応算出部と自己位置算出部と信頼度算出部とを備える。入力画像取得部は、移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像として取得する。参照データ取得部は、第２の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する。類似度算出部は、前記入力画像と前記参照画像との類似度を、第１のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出する。対応算出部は、前記入力画像の画素と前記参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出する。自己位置算出部は、前記参照データを使用して、前記入力画像が撮像された際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、前記対応の連続的な変動に応じて、前記第１の自己位置を連続的に変動可能な演算により算出する。信頼度算出部は、前記第１の自己位置の信頼度を、前記第１の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態の自己位置推定装置の機能構成の例を示す図。
【図２】第１実施形態の自己位置推定処理の例を示すフローチャート。
【図３】第１実施形態の参照データを記憶するデータベースの例を示す図。
【図４】第１実施形態の類似度の算出処理の例を示すフローチャート。
【図５】第１実施形態の類似度の算出処理の例を示す図。
【図６】第１実施形態の対応の算出処理の例を示す図。
【図７】第１実施形態の第１の自己位置の算出処理の例を示す図。
【図８】第１実施形態の入力画像の画素と対応した空間内での位置を決定する方法を示す図。
【図９】第２実施形態の自己位置推定装置の機能構成の例を示す図。
【図１０】第２実施形態の第１の決定部の動作例を示す図。
【図１１】第３実施形態の自己位置推定装置の機能構成の例を示す図。
【図１２】第３実施形態の第２の決定部の動作例を示す図。
【図１３】第４実施形態の学習装置の機能構成の例を示す図。
【図１４】第４実施形態の第１のパラメータ更新部の動作例を示す図。
【図１５】第５実施形態の学習装置の機能構成の例を示す図。
【図１６】第５実施形態の第２のパラメータ更新部の動作例を示す図。
【図１７】第１乃至第３実施形態の自己位置推定装置、並びに、第４及び第５実施形態の学習装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラムの実施形態を詳細に説明する。
【０００８】
（第１実施形態）
第１実施形態の自己位置推定装置１は、カメラなどの撮像装置により撮影された画像から、当該画像が撮像された際の撮像装置の位置及び姿勢の少なくとも一方を示す自己位置を推定する。自己位置推定装置１は、例えば自動車及び移動ロボット等の移動体に使用される。
【０００９】
［自己位置推定装置の概要］
第１実施形態の自己位置推定装置１は、撮像位置が既知である画像のデータベースから、入力画像と類似している参照画像を検索し、検索された参照画像と入力画像との対応を求め、求められた対応の幾何学的な関係から、自己位置とその信頼度を推定する。第１実施形態の自己位置推定装置１により実施される自己位置推定処理は、連続な演算の組み合わせによって実現される。連続な演算とは、演算結果に影響するパラメータ（入力画像、参照画像、撮像条件、及び、演算処理の変数等）を連続的に変動させたときに、演算結果の出力が連続的に変動することを意味する。第１実施形態の自己位置推定装置１によれば、パラメータを少しずつ変動させていくことにより、出力される自己位置及び信頼度を所望の値に近づけることが可能となる。
【００１０】
はじめに、第１実施形態の自己位置推定装置１００の機能構成の例について説明する。
【００１１】
［機能構成の例］
図１は第１実施形態の自己位置推定装置１の機能構成の例を示す図である。第１実施形態の自己位置推定装置１は、入力画像取得部１１と、参照データ取得部１２と、類似度算出部１３と、対応算出部１４と、自己位置算出部１５と、信頼度算出部１６とを備える。
【００１２】
入力画像取得部１１は、移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像として取得する。
【００１３】
参照データ取得部１２は、第２の撮像装置によって撮像された参照画像と、当該参照画像が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する。
【００１４】
類似度算出部１３は、入力画像と参照画像との類似度を、第１のパラメータの連続的な変動に応じて、類似度を連続的に変動可能な演算により算出する。類似度の算出処理の詳細については後述する。
【００１５】
対応算出部１４は、入力画像の画素と参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、当該対応を連続的に変動可能な演算により算出する。対応の算出処理の詳細については後述する。
【００１６】
自己位置算出部１５は、入力画像が撮像された際の第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、対応算出部１４により算出された対応の連続的な変動に応じて、第１の自己位置を連続的に変動可能な演算により算出する。第１の自己位置の算出処理の詳細については後述する。
【００１７】
信頼度算出部１６は、第１の自己位置の信頼度を、自己位置算出部１５により算出された第１の自己位置、対応算出部１４により算出された対応、及び、類似度算出部１３により算出された類似度の連続的な変動に応じて、信頼度を連続的に変動可能な演算により算出する。信頼度の算出処理の詳細については後述する。
【００１８】
次に、フローチャートを参照して第１実施形態の自己位置推定処理の例について説明する。
【００１９】
［自己位置推定処理の例］
図２は第１実施形態の自己位置推定処理の例を示すフローチャートである。なお、各ステップの詳細な説明については後述する。はじめに、入力画像取得部１１が、移動体に搭載された第１の撮像装置から、入力画像を取得する（Ｓ１０１）。
【００２０】
次に、参照データ取得部１２が、上述の参照データを取得する（Ｓ１０２）。
【００２１】
次に、類似度算出部１３が、第１のパラメータを使用した連続な演算により入力画像と参照画像との類似度を算出する（Ｓ１０３）。第１のパラメータは、例えば入力データ（入力画像及び参照画像）、及び、類似度算出の基準（類似度算出方法）を定める変数等を含む。類似度算出の基準を定める変数は、例えば類似度を算出するニューラルネットワークの重み係数である。
【００２２】
次に、対応算出部１４が、第２のパラメータを使用した連続な演算により入力画像と参照画像との画素間の対応を算出する（Ｓ１０４）。第２のパラメータは、例えば入力データ（入力画像及び参照画像）、及び、対応付けの基準（対応付け方法）を定める変数等を含む。対応付けの基準を定める変数は、例えば入力画像の画素と参照画像の画素との対応を算出するニューラルネットワークの重み係数である。
【００２３】
次に、自己位置算出部１５が、ステップＳ１０４の処理によって算出された対応の幾何学的な関係から、入力画像が撮影されたときのカメラの位置及び姿勢の少なくとも一方を示す第１の自己位置を算出する（Ｓ１０５）。
【００２４】
次に、信頼度算出部１６が、入力画像と参照画像との類似度、並びに、入力画像及び参照画像の画素間の対応から、自己位置算出部１５によって算出（推定）された自己位置の信頼度を算出する（Ｓ１０６）。
【００２５】
次に、図２の各ステップの詳細について説明する。
【００２６】
＜ステップＳ１０１＞
ステップＳ１０１については、上述の説明と同じである。
【００２７】
＜ステップＳ１０２＞
参照データ取得部１２は、参照画像と、当該参照画像を撮像した第２の撮像装置の位置及び姿勢とを関連付けて保持するデータベースから、上述の参照データを取得する。なお、第２の撮像装置の位置及び姿勢は、例えば全ての参照画像に共通な基準座標系のもとで表現される。具体的には、基準座標系の選び方として、緯度及び経度で表されるグローバルな座標系を使用してもよいし、特定の参照画像の撮像位置を原点とした座標系を使用してもよい。
【００２８】
図３は第１実施形態の参照データを記憶するデータベース１０２の例を示す図である。図３の例では、移動体２００ａが、カメラ１０１ａ（第２の撮像装置）、センサ２０１ａ及びデータベース１０２を備える。カメラ１０１ａは、参照画像を取得する。センサ２０１ａは、カメラ１０１ａの位置及び姿勢を取得する。データベース１０２は、同一の時刻における参照画像と、センサ２０１により取得された位置及び姿勢を示すセンサデータとを関連付けて記憶する。
【００２９】
ここで、センサ２０１ａは、例えばＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）、及び、ＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）等の測位システムである。また例えば、センサ２０１ａは、ＩＭＵ（Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）等の慣性センサである。
【００３０】
なお、図３では、三次元空間中での位置を三次元空間中の座標（ｘ，ｙ，ｚ）で表現し、三次元空間中での姿勢を、三次元空間中での回転を表す四元数の組み合わせ（ｑ＿ｘ，ｑ＿ｙ，ｑ＿ｚ，ｑ＿ｗ）で表現している。しかしながら、第１実施形態の自己位置推定装置１は、任意の自由度で表される位置及び姿勢の任意の表現方法に対して適用が可能である。
【００３１】
例えば、床面での移動など、移動が平面上で行われると仮定できる場合には、並進に関する２自由度と、回転に関する１自由度を合わせた３自由度で、位置及び姿勢を表現することができる。また例えば、三次元空間中の姿勢を表現するために、四元数のかわりに、回転行列、回転軸と回転方向を表すベクトル、及び、オイラー角等が使用されてもよい。
【００３２】
また、データベース１０２の別の構成方法として、カメラ１０１ａにより取得された複数の画像に、ＳｆＭ（Ｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  Ｍｏｔｉｏｎ）を適用することによって、それぞれの画像が撮像されたときのカメラの位置及び姿勢を推定してもよい。また、データベース１０２の別の構成方法として、移動体２００ａを移動させながら参照画像を取得し、取得された参照画像にＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）を適用することにより、参照画像を撮像したときのカメラ１０１ａの位置及び姿勢が推定されてもよい。
【００３３】
参照データ取得部１２は、データベース１０２内の参照画像、位置及び姿勢の組の全てを取得してもよいし、データベース１０２内の参照画像、位置及び姿勢の組の一部を取得してもよい。例えば、複数のフロアからなる建物内を撮影したデータベース１０２が存在するときに、データベース１０２全体を自己位置推定に利用してもよい。参照データ取得部１２は、移動ロボット等の移動体２００ａが存在するフロア、及び、当該移動体２００ａが存在する部屋等についての事前情報が得られる場合には、その事前情報に基づいて特定のフロア及び部屋等に近い参照画像、位置及び姿勢の組のみを取得してもよい。
【００３４】
＜ステップＳ１０３＞
図４及び図５を参照してステップＳ１０３（類似度の算出処理）の詳細について説明する。
【００３５】
図４は第１実施形態の類似度の算出処理の例を示すフローチャートである。図５は第１実施形態の類似度の算出処理の例を示す図である。
【００３６】
類似度算出部１３が、まず、ニューラルネットワーク１０５を使用して、入力画像１０３から入力特徴ベクトルを算出し、参照画像１０４から参照特徴ベクトルを算出する（ステップＳ２０１）。次に、類似度算出部１３は、入力特徴ベクトルと、参照特徴ベクトルとが類似しているほど、類似度を高く算出する（ステップＳ２０２）。
【００３７】
なお、類似度は、例えば、入力画像１０３と参照画像１０４とが、第１の撮像装置の自己位置の推定に有用な手がかりを共有している程度を表す。具体的には、市街地で第１の撮像装置の自己位置を推定する場合、建物、標識及び信号などは時間が異なっても変化しないので、自己位置の推定に有用な手がかりとなりうる。一方、歩行者及び車両などは、移動するため自己位置推定に有用な手がかりではない。そのため、歩行者や車両などの、自己位置推定に有用な手がかりでないものを除くように特徴ベクトルの算出処理を調整したものを類似度として用いることもできる。また、一般には入力画像１０３及び参照画像１０４の見た目が近ければ、自己位置推定に有用な手がかりを共有する可能性も高いため、入力画像１０３及び参照画像１０４の見た目を単に特徴ベクトルとして表現し、その比較に基づいて類似度を定義してもよい。
【００３８】
次に、ステップＳ２０１及びＳ２０２の詳細について図５を用いて説明する。
【００３９】
＜ステップＳ２０１＞
画像の特徴ベクトルは、第１のパラメータにより動作を連続的に変更できる特徴抽出機を画像に適用することにより算出される。例えば、図５では、画像を入力とするニューラルネットワーク１０５を特徴抽出機として用いている。このニューラルネットワーク１０５のパラメータとしては、画像検索及び物体認識などのタスクに関する学習であらかじめ求められたものを用いてもよいし、オートエンコーダなどによってあらかじめ学習されたものを用いてもよい。ニューラルネットワーク１０５は連続な関数の組み合わせにより実現されるため、本実施形態の特徴抽出機に使用することができる。
【００４０】
また例えば、画像（入力画像１０３及び参照画像１０４）をあらかじめ定められた基底の線形結合として表現し、当該線形結合の係数を特徴として用いる特徴抽出機が用いられてもよい。基底としては、ウェーブレット変換及び離散コサイン変換などの解析的に定義される関数を用いてもよいし、画像から学習された基底関数を用いてもよい。このときにも、線形結合の係数は、連続な演算の組み合わせで求めることができるため、この方式を用いても連続な特徴抽出機を実現できる。
【００４１】
また例えば、入力画像１０３を分割して複数のパッチ（分割画像）を得て、それぞれのパッチに特徴抽出機を適用して得られる複数の特徴ベクトルを結合してもよい。ただし、入力画像１０３自体も一種のパッチとして考えるものとする。複数の特徴ベクトルを結合するときには、特徴ベクトルを連結してもよく、対応する要素の代表値、すなわち和、平均及び最大値などを用いてもよい。
【００４２】
さらに、特徴抽出機により得られたベクトルに対してＰＣＡ（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）、及び、ＬＤＡ（Ｌｉｎｅａｒ  Ｄｉｓｃｒｉｍｉｎａｎｔ  Ａｎａｌｙｓｉｓ）など、入力に対して連続な次元削減を適用してもよい。
【００４３】
なお、入力画像１０３を得る前に参照画像１０４が得られている場合には、参照特徴ベクトルが、データベース１０２に格納されている参照画像１０４に対してあらかじめ算出されていてもよい。すなわち、参照ベクトルが、参照画像１０４と対応付けられて、データベース１０２にあらかじめ格納されていてもよい。
【００４４】
また、類似度算出部１３が、ＫＤ（Ｋ−Ｄｉｍｅｎｓｉｏｎａｌ）木などの構造、及び、ＬＳＨ（Ｌｏｃａｌｉｔｙ  Ｓｅｎｓｉｔｉｖｅ  Ｈａｓｈｉｎｇ）などのハッシュをあらかじめ計算しておき、あらかじめ算出された参照特徴ベクトルから、入力画像１０３と類似した参照画像１０４をより高速に計算できるようにしてもよい。
【００４５】
＜ステップＳ２０２＞
類似度算出部１３は、さらに入力特徴ベクトルと、参照特徴ベクトルとを連続な演算によって比較して、類似度を算出する。例えば、図５では、比較の基準としてベクトル間のユークリッド距離が用いられる。なお、比較の基準として用いられる連続な演算として、マハラノビス距離、ベクトルの内積、及び、ベクトルのなす角などを算出する演算が用いられてもよい。
【００４６】
＜ステップＳ１０４＞
対応算出部１４は、連続な演算により、例えば図６に示すように、入力画像１０３と参照画像１０４の対応１０６を算出する。
【００４７】
図６は第１実施形態の対応１０６の算出処理の例を示すフローチャートである。図６では、一部の画素についてのみ、対応１０６を図示しているが、対応１０６は入力画像１０３の全ての画素、又は、参照画像１０４の全ての画素に対して算出されてもよい。
【００４８】
対応算出部１４は、例えば図６に示すように、ニューラルネットワーク１０７を使用して、対応１０６を算出する。ニューラルネットワーク１０７は、入力画像１０３及び参照画像１０４を受け付けると、入力画像１０３の各画素について、参照画像１０４の対応点の座標を回帰する。前述したように、ニューラルネットワークは連続な演算の組み合わせにより実現されるため、本実施形態における対応算出部１４に利用することができる。ニューラルネットワーク１０７としては、オプティカルフローなどのタスクに対して事前に学習しておいたニューラルネットワークを利用することができる。また、類似度算出部１３に用いられるニューラルネットワーク１０５と、一部の層及びその層のパラメータを共有していてもよい。
【００４９】
なお、対応点の座標を求めるニューラルネットワーク１０７の入力は、例えば入力画像１０３の全体を入力としてもよい。また例えば、対応算出部１４が、入力画像１０３と参照画像１０４とをそれぞれパッチ（分割画像）に分割し、それぞれのパッチをニューラルネットワーク１０７に独立に入力してもよい。
【００５０】
また、対応算出部１４は、計算量を削減するために、入力画像１０３から、入力画像１０３より低い解像度で画素間の対応１０６を求めてもよい。また、対応算出部１４は、対応１０６を算出するときに、それぞれの対応１０６が正しいかどうかを判定する評価値を算出してもよい。
【００５１】
＜ステップＳ１０５＞
自己位置算出部１５は、入力画像１０３と参照画像１０４との対応関係から、第１の自己位置を算出する。第１の自己位置の算出方法の一例として、再投影誤差を最小化する方法が利用できる。
【００５２】
具体的には、自己位置算出部１５は、参照データから特定される参照画像１０４の画素に対応する空間内の位置、及び、入力画像１０３の画素と参照画像１０４の画素との対応１０６から、入力画像１０３の画素に対応する空間内の位置を算出する。そして、自己位置算出部１５は、当該空間内の位置から第１の自己位置に基づいて対応付けられた入力画像１０３の点と、当該空間内の位置の算出に使用された参照画像１０４の画素に対応する入力画像１０３の画素との距離を示す画素距離が最小になるように第１の自己位置を算出する。再投影誤差（上述の画素距離）を最小化して、第１の自己位置を算出する方法の詳細について、図７を用いて説明する。
【００５３】
図７は第１実施形態の第１の自己位置１０８の算出処理の例を示すフローチャートである。再投影誤差１０９とは、図７に示すように、入力画像１０３の画素１１２と対応している空間内での位置１１０の点が第１の自己位置１０８の位置を仮定したときに撮像されるはずの画像上の画素位置１１１と、入力画像の画素１１２との差を表す。
【００５４】
再投影誤差１０９は、以下の数式（１）により定式化することができる。
【００５５】
【数１】
2020008984.tif 000003
【００５６】
ただし、ｐｉは入力画像１０３の画素１１２を表す。Ｐｉは画素ｐｉと対応する空間中での点の位置１１０を表す。Ｐｉは基準座標系で表される。Ｐｉは、入力画像１０３と参照画像１０４との対応１０６から求めることができる。ｐｉとＰｉの具体的な求め方については後述する。
【００５７】
また、Ｔは、入力画像１０３を撮像したカメラの位置を示す第１の自己位置１０８を表す。π（Ｐｉ，Ｔ）は、第１の自己位置１０８の位置がＴであると仮定したときに、点Ｐｉが撮像される入力画像１０３上の画素位置１１１を表す。π（Ｐｉ，Ｔ）は、入力画像１０３を撮像したカメラの焦点距離及び歪係数などを含む内部パラメータなどから求めることが可能である。
【００５８】
ここで、入力画像１０３の画素ｐｉ（１１２）と対応した空間内での位置Ｐｉ（１１０）の求め方について述べる。以下では二つの方法を例として説明するが、他の方法が使用されてもよい。
【００５９】
第一の方法は、参照画像１０４の視点における奥行きデータを利用して、入力画像の画素ｐｉ（１１２）と対応した空間内での位置Ｐｉ（１１０）を求める方法である。なお、ここでの奥行きデータとしては、特徴点などから得られる疎な奥行きマップ、及び、ステレオ法などにより得られる密な奥行きマップのいずれも用いることが可能である。
【００６０】
奥行きデータは、例えば参照画像１０４を取得するためのカメラとしてＲＧＢ−Ｄカメラを用いることにより取得できる。
【００６１】
また例えば、奥行きデータは、参照画像１０４を取得する移動体２００ａにＬｉＤＡＲなどの周辺の三次元構造を計測可能なセンサを搭載し、計測された三次元構造を参照画像１０４の視点に投影することによって作成してもよい。
【００６２】
また例えば、奥行きデータは、参照画像１０４と同一の物体が写っている複数の画像を組み合わせて、ＳｆＭ及び多視点ステレオ法などを適用することにより取得されてもよい。
【００６３】
また例えば、奥行きデータは、ニューラルネットワークなどによって参照画像１０４から推定されてもよい。
【００６４】
図８は第１実施形態の入力画像１０３の画素ｐｉ（１１２）と対応した空間内での位置Ｐｉ（１１０）を決定する方法を示す図である。自己位置算出部１５は、図８に示すように、入力画像１０３の画素ｐｉ（１１２）と対応している参照画像１０４の画素を対応１０６によって求める。そして、自己位置算出部１５は、参照画像１０４の画素における奥行きデータを利用することによって、空間内での位置Ｐｉ（１１０）を決定する。
【００６５】
具体的には、自己位置算出部１５は、参照画像１０４が撮影されたときのカメラ１０１ａの位置及び姿勢、カメラ１０１ａの内部パラメータ、並びに、奥行きデータから、以下の数式（２）及び（３）により位置Ｐｉ（１１０）を決定する。
【００６６】
【数２】
2020008984.tif 000004
【００６７】
【数３】
2020008984.tif 000005
【００６８】
ただし、Ｃ（ｐｉ）は、入力画像１０３の画素ｐｉと対応する参照画像１０４の位置を表す。ｖ（Ｃ（ｐｉ））は、参照画像１０４の画素Ｃ（ｐｉ）と対応する光線の方向を表す単位ベクトルであり、カメラの内部パラメータから求められる。ｄｉは参照画像１０４を撮影した視点から位置Ｐｉ（１１０）までの距離であり、奥行きデータから得られる。すなわち、Ｐｉ，Ｒは参照画像１０４の座標系を基準として、画素ｐｉと対応する空間内の座標を表現した座標となる。また、ＴＲは参照画像１０４の座標系から基準座標系への変換を表す。ＴＲは参照画像１０４の位置及び姿勢から求められる。
【００６９】
なお、疎な奥行きデータを利用する場合には、奥行きが定義されない画素については空間中での位置を求めることができない。しかしながら、自己位置推定に必要な点の数は一般に少なく、例えば三次元空間内での並進及び回転は４点以上の点によって決定することができる。そのため、疎な奥行きデータも利用することが可能である。
【００７０】
第二の方法は、複数の参照画像１０４を利用して、入力画像の画素ｐｉ（１１２）と対応した空間内での位置Ｐｉ（１１０）を求める方法である。自己位置算出部１５は、複数の参照画像１０４を利用する場合、それぞれの参照画像１０４ごとに入力画像１０３の画素１１２と対応した点を求める。そして、自己位置算出部１５は、求められた点から三角測量を行うことで、空間内の点の位置Ｐｉ（１１０）を決定する。第２の方法を利用する場合には、奥行きデータを参照画像１０４と対応付けて持つ必要がなくなる。
【００７１】
なお、自己位置算出部１５は、上述の第一の方法及び第ニの方法など、複数の方法の組み合わせによって空間内での位置Ｐｉ（１１０）を決定してもよい。
【００７２】
また、自己位置算出部１５は、画素ごとに重み付けを行い、以下の数式（４）により定義される重みつき再投影誤差を最小化してもよい。
【００７３】
【数４】
2020008984.tif 000006
【００７４】
ここで、ｗｉは画素ごとの重み付け係数である。例えば、重み付け係数ｗｉとして類似度算出部１３により算出された類似度を用いることが可能である。具体的には、自己位置算出部１５は、類似度が高い参照画像１０４から算出された点ほど、大きな重みを割り当てて、類似度が低い参照画像から算出された点ほど、小さな重みを割り当てる。類似度が高いほど、対応の精度が高くなりやすいため、このような精度の高い対応を重視することによって自己位置の精度を高めることができる。
【００７５】
また例えば、自己位置算出部１５は、対応算出部１４によって算出された対応の評価値を利用して重み付け係数ｗｉを決定してもよい。
【００７６】
また例えば、自己位置算出部１５は、類似度算出部１３及び対応算出部１４などがニューラルネットワークを含む場合には、類似度算出部１３及び対応算出部１４などに含まれるニューラルネットワークの隠れ層の情報を、重み付け係数ｗｉとして用いてもよい。
【００７７】
また例えば、自己位置算出部１５は、類似度による重みと、対応の信頼度による重みとを複数組み合わせて重み付け係数ｗｉを決定してもよい。
【００７８】
また例えば、自己位置算出部１５は、画素間の対応の一部のみを利用して、第１の自己位置１０８の位置推定を行なってもよい。例えば、ＬＭｅｄＳ（Ｌｅａｓｔ  Ｍｅｄｉａｎ  ｏｆ  Ｓｑｕａｒｅｓ）及びＲＡＮＳＡＣ（Ｒａｎｄｏｍ  Ｓａｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）などにより外れ値除去を行なってもよい。このような構成により、対応関係に外れ値が含まれる場合にも、ロバストに自己位置推定を行なうことができる。
【００７９】
＜ステップＳ１０６＞
信頼度算出部１６は、入力画像１０３及び参照画像１０４の類似度と、入力画像１０３及び参照画像１０４の画素間の対応１０６とから自己位置算出部１５により算出された第１の自己位置１０８の信頼度を評価する。
【００８０】
まず、類似度による評価について述べる。類似度算出部１３の説明において前述したように、入力画像１０３及び参照画像１０４の類似度が高いほど、第１の自己位置１０８の推定精度は高いと期待される。そのため、信頼度算出部１６は類似度が高いほど信頼度が高くなるようにする。
【００８１】
次に、画素間の対応１０６による評価について述べる。評価方法の一例として、推定された第１の自己位置１０８における再投影誤差を用いることができる。第１の自己位置１０８が正確に推定できていれば、ほとんどの画素において再投影誤差は小さくなることが期待できる。そのため、信頼度算出部１６は、上述の画素距離が近いほど、第１の自己位置１０８の信頼度を高く算出する。具体的には、信頼度算出部１６は、例えば再投影誤差１０９（上述の画素距離）の平均を用いることで、信頼度を評価することができる。また例えば、信頼度算出部１６は、再投影誤差に対してシグモイド関数などの関数を適用した上で和をとってもよい。また例えば、信頼度算出部１６は、対応１０６の信頼度、並びに、入力画像１０３及び参照画像１０４の類似度等によって、再投影誤差に対して重み付けを行なってもよい。
【００８２】
また例えば、信頼度算出部１６は、再投影誤差の微分値を利用して信頼度を評価してもよい。すなわち、自己位置推定が行ないやすい対応関係が得られていれば、再投影誤差は正しい自己位置では低くなり、そこから自己位置を少しずつ変化させるにつれて急激に大きくなるはずである。信頼度算出部１６は、この変化の度合いを再投影誤差の自己位置に関する微分値、例えばヤコビ行列やヘッセ行列を用いて評価することにより、再投影誤差の不確実性を評価することができる。
【００８３】
第１の自己位置１０８の信頼度は、これらの２つの基準（類似度による評価、及び、画素間の対応１０６による評価）を考慮することにより定義される。具体的には、第１の自己位置１０８の信頼度は、例えば類似度に基づく評価と、対応１０６に基づく評価との積及び和などによって定義される。
【００８４】
以上、説明したように、第１実施形態の自己位置推定装置１では、入力画像取得部１１が、移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像１０３として取得する。参照データ取得部１２が、第２の撮像装置（カメラ１０１ａ）によって撮像された参照画像１０４と、当該参照画像１０４が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する。類似度算出部１３が、入力画像１０３と参照画像１０４との類似度を、第１のパラメータの連続的な変動に応じて、類似度を連続的に変動可能な演算により算出する。対応算出部１４が、入力画像１０３の画素と参照画像１０４の画素との対応１０６を、第２のパラメータの連続的な変動に応じて、対応１０６を連続的に変動可能な演算により算出する。自己位置算出部１５が、入力画像１０３が撮像された際の第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置１０８を、対応１０６の連続的な変動に応じて、第１の自己位置１０８を連続的に変動可能な演算により算出する。そして、信頼度算出部１６が、第１の自己位置１０８の信頼度を、第１の自己位置１０８、対応１０６及び類似度の連続的な変動に応じて、信頼度を連続的に変動可能な演算により算出する。
【００８５】
これにより第１実施形態の自己位置推定装置１によれば、撮像時のカメラの自己位置の推定精度をより向上させることができる。具体的には、第１実施形態の自己位置推定装置１は、演算結果に影響するパラメータ（入力画像１０３、参照画像１０４、及び、処理の変数等）について、連続な演算の組み合わせによって第１の自己位置１０８及び信頼度を推定する。そのため、例えば類似度を算出する方法（例えば、画像の特徴点を取得する方法等）を定めるパラメータ、入力画像１０３の撮像条件、及び、参照画像１０４の撮像条件などを微小に変化させたときには、第１の自己位置１０８及び信頼度はやはり微小に変化し、とびとびに変化することはない。そのため、パラメータを少しずつ変動させていくことにより、出力される第１の自己位置１０８及び信頼度を所望の値に近づけることが可能となる。そのため、対象シーンに応じて自己位置推定装置１の動作を適応させることができ、自己位置推定の精度を高めることができる。
【００８６】
一方、従来の自己位置推定装置では、連続でない処理が含まれているため、自己位置推定の動作を対象シーンに対して適応させることができない。例えば、撮像された画像から特徴点を抽出する処理、及び、抽出した特徴点と対応しているデータベース内の特徴点を決定する処理などが連続でない処理として含まれている場合、処理のパラメータを変えると、検索される画像、及び、抽出される特徴点の位置がとびとびに変化する。その結果、出力されるカメラの自己位置はとびとびに変化することになる。
【００８７】
また、従来の自己位置推定装置では、入力画像、及び、データベースに格納する画像の撮像条件（例えば、移動体との相対的な位置姿勢、及び、カメラのズーム等）を少しずつ変化させた際にも、上述の処理の結果がとびとびに変化するために、出力されるカメラの自己位置はとびとびに変化することになる。
【００８８】
ある特定されたシーン（建物及び地域など）で、カメラの自己位置推定を行なうときには、精度及びロバスト性などを高めるために、シーンに合わせて、演算処理のパラメータ（例えば、画像の撮像条件など）を最適化することが望ましい。しかしながら、すでに述べたように、従来の自己位置推定装置では、パラメータを変化させると推定されるカメラの自己位置がとびとびに変化する。そのため、演算のパラメータをどのように変動させれば、自己位置推定の精度が最適になるのかを判定することができない。そのため、従来の自己位置推定装置では、自己位置推定の動作を対象シーンに対して適応させることができない。
【００８９】
一方、第１実施形態の自己位置推定装置１の自己位置推定処理には、連続でない処理が含まれていない。そのため、第１実施形態の自己位置推定装置１によれば、対象シーンに応じて自己位置推定装置１の動作を適応させることができるので、自己位置推定の精度をより高めることができる。
【００９０】
第１実施形態の自己位置推定装置１によれば、自己位置推定方法を定めるパラメータ、及び、画像の撮像条件等が連続的に変動した際に、自己位置及び信頼度が連続的に変動するため、自己位置の精度及び信頼度を高めるように各種パラメータを調整することが可能になる。
【００９１】
（第２実施形態）
次に第２実施形態について説明する。第２実施形態の説明では、第１実施形態と同様の説明については省略する。
【００９２】
［機能構成の例］
図９は第２実施形態の自己位置推定装置１−２の機能構成の例を示す図である。第２実施形態の自己位置推定装置１−２は、自己位置推定の信頼度を最大化するために、入力画像１０３の撮像条件を決定する機能を備える点が、第１実施形態の自己位置推定装置１と異なる。ここで、撮像条件とは、焦点距離及びズームなどの光学系に関する条件、並びに、撮像装置の移動体に対する相対的な位置及び姿勢を含む。
【００９３】
第２実施形態の自己位置推定装置１−２は、入力画像取得部１１と、参照データ取得部１２と、類似度算出部１３と、対応算出部１４と、自己位置算出部１５と、信頼度算出部１６と、教師データ取得部２１と、第１の決定部２２とを備える。入力画像取得部１１、参照データ取得部１２、類似度算出部１３、対応算出部１４、自己位置算出部１５及び信頼度算出部１６の動作は第１実施形態と同一であるため、説明を省略する。
【００９４】
教師データ取得部２１は、入力画像１０３を撮像した際の第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する。
【００９５】
第１の決定部２２は、第１の自己位置１０８が第２の自己位置に近づくように第１の撮像条件を決定する。第１の撮像条件は、例えば第１の撮像装置の焦点距離、第１の撮像装置のフォーカス、第１の撮像装置のズーム、第１の撮像装置の位置、及び、第１の撮像装置の姿勢の少なくともいずれか１つを含む。
【００９６】
第１の撮像条件の使用方法は任意でよい。第１の決定部２２が、例えば、決定された第１の撮像条件を、第１の撮像装置に入力することにより、第１の撮像装置の撮像条件が制御されてもよい。また例えば、第１の決定部２２が、決定された第１の撮像条件を表示部等のユーザインタフェースを介してユーザに提示することにより、第１の撮像装置の撮像条件の変更を促してもよい。
【００９７】
また、第１の決定部２２は、教師データを使用せずに、第１の撮像条件を決定してもよい。例えば、第１の決定部２２は、第１の自己位置１０８の信頼度がより高くなるように、第１の撮像装置の第１の撮像条件を決定してもよい。
【００９８】
図１０は第２実施形態の第１の決定部２２の動作例を示す図である。教師データ取得部２１は、第１実施形態のステップＳ１０２と同様な方法により、入力画像１０３を撮像した際のカメラ１０１ｂ（第１の撮像装置）の位置及び姿勢を取得する。第１の決定部２２は、信頼度算出部１６によって算出された信頼度が高くなるように第１の撮像条件（焦点及びズームなど）を決定し、当該第１の撮像条件をカメラ１０１ｂに入力する。
【００９９】
自己位置推定装置１−２による自己位置の推定処理は、連続な演算によって構成されているから、信頼度を、撮像条件を決めるパラメータ（例えば、カメラの焦点距離、及び、ズームなど）で微分して微分係数を求めることができる。この微分係数は、微分の連鎖律を用いて求めてもよいし、条件を微小に変動させた上で再度入力画像１０３の取得と、自己位置推定と、信頼度の算出とを行い、変動する前の信頼度との差分を変動の大きさで除算して評価してもよい。
【０１００】
ある値に対する微分係数が正であれば、値を増加させれば信頼度を増加させることができる。一方、微分係数が負であるときには、値を減少させればよい。また、増加（減少）の大きさについては、微分係数の絶対値に比例させるようにしてもよいし、急激な変動を避けるために、変動の幅に上限を設けてもよい。
【０１０１】
具体的に第１の撮像条件を適用するためには、例えばカメラの焦点距離及びズームなどは、オートフォーカス及び電動ズームの機構などを用いることができる。また、カメラ１０１ｂと移動体２００ｂとの相対的な位置及び姿勢を制御するためには、位置及び姿勢を制御可能な雲台にカメラ１０１ｂを搭載して、雲台を制御することができる。また、第１の撮像条件の変動に関する指示をディスプレイ及び音声などによりユーザに伝達し、ユーザが伝達された指示に基づいて変動を加えるようにしてもよい。
【０１０２】
第１の決定部２２は、さらに、教師データ取得部２１（センサ２０１ｂ）によって取得された教師データＴＧＴ（位置及び姿勢）に、自己位置算出部１５により出力された第１の自己位置Ｔ（１０８）が近づくように、第１の撮像条件を決定してもよい。自己位置推定装置１−２による自己位置の推定処理は、連続な演算によって構成されているから、出力された位置及び姿勢を各パラメータで微分することができ、上述の方法によって第１の撮像条件の変動を決定することが可能になる。
【０１０３】
以上、説明したように、第２実施形態の自己位置推定装置１−２によれば、自己位置推定の信頼度を高めるための、入力画像１０３の撮像条件（第１の撮像条件）を決定することが可能となる。第２実施形態によれば、対象となるシーンに入力画像１０３を撮影するカメラ１０１ｂ（第１の撮像装置）を適応させることにより、自己位置推定の精度を更に向上させることが可能となる。
【０１０４】
（第３実施形態）
次に第３実施形態について説明する。第３実施形態の説明では、第１又は第２実施形態と同様の説明については省略する。
【０１０５】
［機能構成の例］
図１１は第３実施形態の自己位置推定装置１−３の機能構成の例を示す図である。第３実施形態の自己位置推定装置１−３は、入力画像１０３に対する自己位置推定の信頼度を最大化するために、参照画像１０４の撮像条件を決定する機能を備える点が、第１実施形態の自己位置推定装置１と異なる。ここで、撮像条件とは、焦点距離及びズームなどの光学系に関する条件、並びに、撮像装置の移動体に対する相対的な位置及び姿勢を含む。
【０１０６】
第３実施形態の自己位置推定装置１−３は、入力画像取得部１１と、参照データ取得部１２と、類似度算出部１３と、対応算出部１４と、自己位置算出部１５と、信頼度算出部１６と、教師データ取得部２１と、第２の決定部２３とを備える。入力画像取得部１１、参照データ取得部１２、類似度算出部１３、対応算出部１４、自己位置算出部１５及び信頼度算出部１６の動作は第１実施形態と同一であるため、説明を省略する。
【０１０７】
教師データ取得部２１は、入力画像１０３を撮像した際の第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する。
【０１０８】
第２の決定部２３は、第１の自己位置１０８が第２の自己位置に近づくように第２の撮像条件を決定する。第２の撮像条件は、例えば第２の撮像装置の焦点距離、第２の撮像装置のフォーカス、第２の撮像装置のズーム、第２の撮像装置の位置、及び、第２の撮像装置の姿勢の少なくともいずれか１つを含む。
【０１０９】
また、第２の決定部２３は、教師データを使用せずに、第２の撮像条件を決定してもよい。例えば、第２の決定部２３は、教師データを使用しない場合は、第１の自己位置１０８の信頼度がより高くなるように、第２の撮像装置（カメラ１０１ａ）の第２の撮像条件を決定する。
【０１１０】
図１２は第３実施形態の第２の決定部２３の動作例を示す図である。自己位置推定装置１−３による自己位置の推定処理は、連続な演算によって構成されているから、信頼度を、第２の撮像装置の撮像条件を決めるパラメータ（例えば、カメラの焦点距離、及び、ズームなど）で微分して微分係数を求めることができる。この微分係数を利用して、第２実施形態で述べた制御と同様な制御を行なうことにより、信頼度が高くなるようにカメラ１０１ａ（第２の撮像装置）を制御することができる。
【０１１１】
第２の決定部２３は、教師データ取得部２１（センサ２０１ｂ）により取得された教師データＴＧＴ（位置及び姿勢）から、入力画像１０３が撮影されたときのカメラ１０１ｂ（第１の撮像装置）の位置及び姿勢を取得する。そして、第２の決定部２３は、取得された位置及び姿勢に、自己位置算出部１５により出力された第１の自己位置Ｔ（１０８）が近づくように、第２の撮像条件を決定する。第２の撮像条件を使用したカメラ１０１ａ（第２の撮像装置）の制御方法については、第２実施形態と同様な方法を用いることができる。
【０１１２】
次に、具体的に第２の撮像条件を制御する方法について述べる。ここでは、移動体２００ａにカメラ１０１ａを設置し、移動体２００ａを移動させて参照画像１０４を取得する場合を例に挙げる。このとき、カメラ１０１ａのズーム及び焦点等、移動体２００ａとの位置関係については第２実施形態と同様の方法で調整することができる。また、撮像位置に関しては、移動体２００ａを移動させることによって調整ことができる。この移動体２００ａの移動は自律的に行なわれてもよいし、移動する方向及び距離等の指示をディスプレイなどによりユーザに指示し、ユーザが指示に基づいて移動させるようにしてもよい。
【０１１３】
以上、説明したように、第３実施形態の自己位置推定装置１−３によれば、自己位置推定の精度を高めるための、参照画像１０４の撮像条件（第２の撮像条件）を決定することが可能となる。第３実施形態によれば、対象となるシーンに適応した画像から参照画像のデータベースを構築することにより、自己位置推定の精度を向上させることが可能となる。
【０１１４】
（第４実施形態）
次に第４実施形態について説明する。第４実施形態では、類似度算出部１３のパラメータ（第１のパラメータ）を学習する学習装置２について説明する。学習装置２により学習されたパラメータを使用することにより、類似度算出部１３のパラメータを自己位置推定の対象となるシーンに対して適応させることができる。
【０１１５】
なお、学習装置２は、自己位置推定装置１とは異なるハードウェアにより実現されていてもよいし、自己位置推定装置１に学習部として組み込まれていてもよい。
【０１１６】
［機能構成の例］
図１３は第４実施形態の学習装置２の機能構成の例を示す図である。第４実施形態の学習装置２は、推定データ取得部４１と、教師データ取得部４２と、第１のパラメータ更新部４３とを備える。
【０１１７】
推定データ取得部４１は、自己位置推定装置１から、第１の自己位置１０８と信頼度とを含む推定データを取得する。
【０１１８】
教師データ取得部４２は、入力画像１０３を撮像した際のカメラ１０１ｂ（第１の撮像装置）の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する。
【０１１９】
第１のパラメータ更新部４３は、第１の自己位置１０８と第２の自己位置との差が小さいほど、信頼度が高くなるように、第１のパラメータを更新する。
【０１２０】
図１４は第４実施形態の第１のパラメータ更新部４３の動作例を示す図である。推定データ取得部４１は、第１実施形態の自己位置推定装置１（又は第２実施形態の自己位置推定装置１−２）によって入力画像１０３から算出された自己位置Ｔ（第１の自己位置１０８）と信頼度Ｒとを含む推定データを取得する。
【０１２１】
教師データ取得部４２は、入力画像１０３を撮像した際のカメラ１０１ｂの位置及び姿勢を第２の自己位置として取得する。具体的には、第１実施形態のステップＳ１０２と同様な方法により第２の自己位置を取得する。
【０１２２】
第１のパラメータ更新部４３は、自己位置算出部１５によって算出された第１の自己位置が、教師データＴＧＴ（第２の自己位置）に近いほど、信頼度が高くなるように（自己位置算出部１５によって算出された第１の自己位置が、教師データＴＧＴ（第２の自己位置）から遠いほど、信頼度が低くなるように）第１のパラメータを更新する。
【０１２３】
具体的には、第１のパラメータ更新部４３は、例えば、以下の数式（５）のような損失関数Ｌが最小になるように、第１のパラメータを更新する。
【０１２４】
【数５】
2020008984.tif 000007
【０１２５】
ここで、Ｔは推定された第１の自己位置１０８、ＴＧＴは教師データ（第２の自己位置）、Ｒは推定された信頼度を表す。δは閾値である。ただし、式内のＴとＴＧＴの差は、自己位置を任意の方法によって表現したものの差を表す。例えば、三次元空間中での位置を三次元空間中の座標で表現し、三次元空間中の姿勢を三次元空間中の回転を表す四元数で表現した場合には、三次元空間中の座標の差と、四元数の差とを組み合わせたものを用いることができる。また、推定された自己位置Ｔから教師データＴＧＴへの相対的な自己位置を求め、原点との乖離度を上述の方法により評価したものを使用してもよい。この損失関数Ｌは、誤差がδより大きい場合にはＲが小さいほど小さくなる一方で、誤差がδより小さい場合にはＲが大きいほど小さくなる。
【０１２６】
自己位置推定装置１による第１の自己位置１０８の推定処理は、連続な演算で構成されているため、損失関数Ｌを類似度算出部１３の第１のパラメータで微分し、損失関数Ｌを減少させる方向を決定することができる。決定された方向に第１のパラメータを変動させることを繰り返すことで、入力画像１０３と、自己位置推定の誤差を大きくするような参照画像１０４との類似度は低くなる。一方で、入力画像１０３と、自己位置推定の誤差を小さくするような参照画像１０４との類似度は高くなる。このようにして更新された類似度算出部１３を用いることで、自己位置推定の誤差を小さくするような参照画像１０４が優先して自己位置推定に用いられるようになる。
【０１２７】
さらに、上述した損失関数Ｌは、推定された第１の自己位置１０８と、教師データＴＧＴ（第２の自己位置）との誤差を最小化する働きも併せ持っている。そのため、類似度を自己位置の推定に利用するように自己位置算出部１５を構成する場合には、自己位置の精度も同時に向上させることができる。すなわち、第１のパラメータ更新部４３は、上述した損失関数Ｌを使用することにより、更に、第１の自己位置１０８と第２の自己位置との差をより小さくするように、第１のパラメータを更新することができる。
【０１２８】
以上、説明したように、第４実施形態の学習装置２によれば、自己位置推定装置１の類似度算出部１３を自己位置推定の対象シーンに適応させ、自己位置推定の誤差を小さくするような参照画像１０４を用いることが可能となる。そのため、自己位置推定の精度を向上させることが可能となる。
【０１２９】
（第５実施形態）
次に第５実施形態について説明する。第５実施形態では、対応算出部１４のパラメータ（第２のパラメータ）を学習する学習装置２−２について説明する。学習装置２−２により学習されたパラメータを使用することにより、対応算出部１４のパラメータを自己位置推定の対象となるシーンに対して適応させることができる。
【０１３０】
なお、学習装置２−２は、自己位置推定装置１とは異なるハードウェアにより実現されていてもよいし、自己位置推定装置１に学習部として組み込まれていてもよい。
【０１３１】
［機能構成の例］
図１５は第５実施形態の学習装置２−２の機能構成の例を示す図である。第５実施形態の学習装置２−２は、推定データ取得部４１と、教師データ取得部４２と、第２のパラメータ更新部４４とを備える。推定データ取得部４１、及び、教師データ取得部４２の動作は第４実施形態と同一であるため、説明を省略する。
【０１３２】
図１６は第５実施形態の第２のパラメータ更新部４４の動作例を示す図である。第２のパラメータ更新部４４は、第１の自己位置１０８と教師データＴＧＴ（第２の自己位置）との差が小さいほど、信頼度が高くなるように、第２のパラメータを更新する。また、第２のパラメータ更新部４４は、更に、第１の自己位置１０８と教師データＴＧＴ（第２の自己位置）との差を小さくするように、第２のパラメータを更新する。
【０１３３】
具体的には、第４実施形態で述べた損失関数Ｌを減少させるように第２のパラメータを更新することができる。この損失関数Ｌは、類似度により推定（算出）された第１の自己位置１０８と教師データＴＧＴ（第２の自己位置）との差を重み付けしている。そのため、類似度が低く、原理的に自己位置推定が不可能であるようなデータが学習に及ぼす影響を小さくすることができる。
【０１３４】
自己位置推定装置１による第１の自己位置１０８の推定処理は、連続な演算で構成されている。そのため、第４実施形態と同様に、微分法における連鎖律を用いることで、損失関数Ｌを第２のパラメータで微分し、損失関数Ｌが減少する第２のパラメータの変動方向を決定することができる。その結果として、より精度の高い自己位置を推定できるような第２のパラメータが得られる。
【０１３５】
以上、説明したように、第５実施形態の学習装置２−２によれば、対応算出部１４を自己位置推定の対象シーンに適応させ、より精度の高い対応１０６を算出することが可能となる。そのため、自己位置推定の精度を向上させることが可能となる。
【０１３６】
最後に、第１乃至第３実施形態の自己位置推定装置１（１−２，１−３）、並びに、第４及び第５実施形態の学習装置２（２−２）のハードウェア構成の例について説明する。
【０１３７】
［ハードウェア構成の例］
図１７は第１乃至第３実施形態の自己位置推定装置１（１−２，１−３）、並びに、第４及び第５実施形態の学習装置２（２−２）のハードウェア構成の例を示す図である。以下では、第１実施形態の自己位置推定装置１の場合を例にして説明する。
【０１３８】
第１実施形態の自己位置推定装置１は、制御装置３０１、主記憶装置３０２、補助記憶装置３０３、表示装置３０４、入力装置３０５及び通信装置３０６を備える。制御装置３０１、主記憶装置３０２、補助記憶装置３０３、表示装置３０４、入力装置３０５及び通信装置３０６は、バス３１０を介して接続されている。
【０１３９】
制御装置３０１は、補助記憶装置３０３から主記憶装置３０２に読み出されたプログラムを実行する。主記憶装置３０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及び、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリである。補助記憶装置３０３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、及び、メモリカード等である。
【０１４０】
表示装置３０４は表示情報を表示する。表示装置３０４は、例えば液晶ディスプレイ等である。入力装置３０５は、自己位置推定装置１を操作するためのインタフェースである。入力装置３０５は、例えばキーボードやマウス等である。自己位置推定装置１がスマートフォン及びタブレット型端末等のスマートデバイスの場合、表示装置３０４及び入力装置３０５は、例えばタッチパネルである。通信装置３０６は、他の装置と通信するためのインタフェースである。
【０１４１】
第１実施形態の自己位置推定装置１で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
【０１４２】
また第１実施形態の自己位置推定装置１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また第１実施形態の自己位置推定装置１で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０１４３】
また第１実施形態の自己位置推定装置１のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１４４】
第１実施形態の自己位置推定装置１で実行されるプログラムは、上述の機能ブロックのうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置３０１が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置３０２上にロードされる。すなわち上記各機能ブロックは主記憶装置３０２上に生成される。
【０１４５】
なお上述した各機能ブロックの一部又は全部をソフトウェアにより実現せずに、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【０１４６】
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち１つを実現してもよいし、各機能のうち２以上を実現してもよい。
【０１４７】
また第１実施形態の自己位置推定装置１の動作形態は任意でよい。第１実施形態の自己位置推定装置１を、例えばネットワーク上のクラウドシステムとして動作させてもよい。
【０１４８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４９】
１  自己位置推定装置
２  学習装置
１１  入力画像取得部
１２  参照データ取得部
１３  類似度算出部
１４  対応算出部
１５  自己位置算出部
１６  信頼度算出部
２１  教師データ取得部
２２  第１の決定部
２３  第２の決定部
４１  推定データ取得部
４２  教師データ取得部
４３  第１のパラメータ更新部
４４  第２のパラメータ更新部
１０１ａ，ｂ  カメラ
１０２  データベース
１０５  ニューラルネットワーク
１０７  ニューラルネットワーク
２００ａ，ｂ  移動体
２０１ａ，ｂ  センサ
３０１  制御装置
３０２  主記憶装置
３０３  補助記憶装置
３０４  表示装置
３０５  入力装置
３０６  通信装置
３１０  バス
【図１】
2020008984.tif 000008
【図２】
2020008984.tif 000009
【図３】
2020008984.tif 000010
【図４】
2020008984.tif 000011
【図５】
2020008984.tif 000012
【図６】
2020008984.tif 000013
【図７】
2020008984.tif 000014
【図８】
2020008984.tif 000015
【図９】
2020008984.tif 000016
【図１０】
2020008984.tif 000017
【図１１】
2020008984.tif 000018
【図１２】
2020008984.tif 000019
【図１３】
2020008984.tif 000020
【図１４】
2020008984.tif 000021
【図１５】
2020008984.tif 000022
【図１６】
2020008984.tif 000023
【図１７】
2020008984.tif 000024
【手続補正書】
【提出日】平成30年10月22日(2018.10.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像として取得する入力画像取得部と、
第２の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する参照データ取得部と、
前記入力画像と前記参照画像との類似度を、第１のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出する類似度算出部と、
前記入力画像の画素と前記参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出する対応算出部と、
前記参照データを使用して、前記入力画像が撮像された際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、前記対応の連続的な変動に応じて、前記第１の自己位置を連続的に変動可能な演算により算出する自己位置算出部と、
前記第１の自己位置の信頼度を、前記第１の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出する信頼度算出部と、
を備える自己位置推定装置。
【請求項２】
前記第１の自己位置の信頼度がより高くなるように、前記第１の撮像装置の第１の撮像条件を決定する第１の決定部、
を更に備える請求項１に記載の自己位置推定装置。
【請求項３】
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する教師データ取得部を更に備え、
前記第１の決定部は、前記第１の自己位置が前記第２の自己位置に近づくように前記第１の撮像条件を決定する、
請求項２に記載の自己位置推定装置。
【請求項４】
前記第１の撮像条件は、前記第１の撮像装置の焦点距離、前記第１の撮像装置のフォーカス、前記第１の撮像装置のズーム、前記第１の撮像装置の位置、及び、前記第１の撮像装置の姿勢の少なくともいずれか１つを含む、
請求項２又は３に記載の自己位置推定装置。
【請求項５】
前記第１の自己位置の信頼度がより高くなるように、前記第２の撮像装置の第２の撮像条件を決定する第２の決定部、
を更に備える請求項１乃至４のいずれか１項に記載の自己位置推定装置。
【請求項６】
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する教師データ取得部を更に備え、
前記第２の決定部は、前記第１の自己位置が前記第２の自己位置に近づくように前記第２の撮像条件を決定する、
請求項５に記載の自己位置推定装置。
【請求項７】
前記第２の撮像条件は、前記第２の撮像装置の焦点距離、前記第２の撮像装置のフォーカス、前記第２の撮像装置のズーム、前記第２の撮像装置の位置、及び、前記第２の撮像装置の姿勢の少なくともいずれか１つを含む、
請求項５又は６に記載の自己位置推定装置。
【請求項８】
前記自己位置算出部は、前記参照データから特定される参照画像の画素に対応する空間内の位置、及び、前記入力画像の画素と前記参照画像の画素との対応から、前記入力画像の画素に対応する空間内の位置を算出し、前記空間内の位置から前記第１の自己位置に基づいて対応付けられた前記入力画像の点と、前記空間内の位置の算出に使用された前記参照画像の画素に対応する入力画像の画素との距離を示す画素距離が最小になるように前記第１の自己位置を算出する、
請求項１乃至７のいずれか１項に記載の自己位置推定装置。
【請求項９】
前記信頼度算出部は、
前記画素距離が近いほど、前記第１の自己位置の信頼度を高く算出する、
請求項８に記載の自己位置推定装置。
【請求項１０】
前記類似度算出部は、前記入力画像から前記入力画像の特徴を示す第１の特徴ベクトルを算出し、前記参照画像から前記参照画像の特徴を示す第２の特徴ベクトルを算出し、前記第１の特徴ベクトルと前記第２の特徴ベクトルとが類似しているほど、前記類似度を高く算出する、
請求項１乃至９のいずれか１項に記載の自己位置推定装置。
【請求項１１】
前記類似度算出部は、前記類似度を第１のニューラルネットワークにより算出し、前記第１のパラメータは前記第１のニューラルネットワークの重み係数を含む、
請求項１乃至１０のいずれか１項に記載の自己位置推定装置。
【請求項１２】
前記対応算出部は、前記対応を第２のニューラルネットワークにより算出し、前記第２のパラメータは前記第２のニューラルネットワークの重み係数を含む、
請求項１乃至１１のいずれか１項に記載の自己位置推定装置。
【請求項１３】
請求項１に記載の自己位置推定装置のパラメータを学習する学習装置であって、
前記自己位置推定装置から、前記第１の自己位置と前記信頼度とを含む推定データを取得する推定データ取得部と、
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する教師データ取得部と、
前記第１の自己位置と前記第２の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第１のパラメータを更新する第１のパラメータ更新部と、
を備える学習装置。
【請求項１４】
前記第１のパラメータ更新部は、更に、前記第１の自己位置と前記第２の自己位置との差をより小さくするように、前記第１のパラメータを更新する、
請求項１３に記載の学習装置。
【請求項１５】
前記第１の自己位置と前記第２の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第２のパラメータを更新する第２のパラメータ更新部、
を更に備える請求項１３又は１４に記載の学習装置。
【請求項１６】
前記第２のパラメータ更新部は、更に、前記第１の自己位置と前記第２の自己位置との差を小さくするように、前記第２のパラメータを更新する、
請求項１５に記載の学習装置。
【請求項１７】
移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像として取得するステップと、
第２の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得するステップと、
前記入力画像と前記参照画像との類似度を、第１のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出するステップと、
前記入力画像の画素と前記参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出するステップと、
前記参照データを使用して、前記入力画像が撮像された際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、前記対応の連続的な変動に応じて、前記第１の自己位置を連続的に変動可能な演算により算出するステップと、
前記第１の自己位置の信頼度を、前記第１の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出するステップと、
を含む自己位置推定方法。
【請求項１８】
前記第１の自己位置を連続的に変動可能な演算により算出するステップは、
前記参照データから特定される参照画像の画素に対応する空間内の位置、及び、前記入力画像の画素と前記参照画像の画素との対応から、前記入力画像の画素に対応する空間内の位置を算出するステップと、
前記空間内の位置から前記第１の自己位置に基づいて対応付けられた前記入力画像の点と、前記空間内の位置の算出に使用された前記参照画像の画素に対応する入力画像の画素との距離を示す画素距離が最小になるように前記第１の自己位置を算出するステップと、
を含む請求項１７に記載の自己位置推定方法。
【請求項１９】
前記信頼度を連続的に変動可能な演算により算出するステップは、
前記画素距離が近いほど、前記第１の自己位置の信頼度を高く算出するステップ、
を含む請求項１８に記載の自己位置推定方法。
【請求項２０】
前記類似度を連続的に変動可能な演算により算出するステップは、
前記入力画像から前記入力画像の特徴を示す第１の特徴ベクトルを算出するステップと、
前記参照画像から前記参照画像の特徴を示す第２の特徴ベクトルを算出するステップと、
前記第１の特徴ベクトルと前記第２の特徴ベクトルとが類似しているほど、前記類似度を高く算出するステップと、
を含む請求項１７乃至１９のいずれか１項に記載の自己位置推定方法。
【請求項２１】
請求項１７乃至２０のいずれか１項に記載の自己位置推定方法で使用されるパラメータを学習する学習方法であって、
前記第１の自己位置と前記信頼度とを含む推定データを取得するステップと、
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得するステップと、
前記第１の自己位置と前記第２の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第１のパラメータを更新するステップと、
を含む学習方法。
【請求項２２】
コンピュータを、
移動体に取り付けられた第１の撮像装置によって撮像された画像を入力画像として取得する入力画像取得部と、
第２の撮像装置によって撮像された参照画像と、前記参照画像が撮像された際の第２の撮像装置の位置及び姿勢とが関連付けられた参照データを取得する参照データ取得部と、
前記入力画像と前記参照画像との類似度を、第１のパラメータの連続的な変動に応じて、前記類似度を連続的に変動可能な演算により算出する類似度算出部と、
前記入力画像の画素と前記参照画像の画素との対応を、第２のパラメータの連続的な変動に応じて、前記対応を連続的に変動可能な演算により算出する対応算出部と、
前記参照データを使用して、前記入力画像が撮像された際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第１の自己位置を、前記対応の連続的な変動に応じて、前記第１の自己位置を連続的に変動可能な演算により算出する自己位置算出部と、
前記第１の自己位置の信頼度を、前記第１の自己位置、前記対応及び前記類似度の連続的な変動に応じて、前記信頼度を連続的に変動可能な演算により算出する信頼度算出部、
として機能させるための自己位置推定プログラム。
【請求項２３】
請求項２２に記載の自己位置推定プログラムのパラメータを学習する学習プログラムであって、
コンピュータを、
前記第１の自己位置と前記信頼度とを含む推定データを取得する推定データ取得部と、
前記入力画像を撮像した際の前記第１の撮像装置の位置及び姿勢の少なくとも一方を示す第２の自己位置を、教師データとして取得する教師データ取得部と、
前記第１の自己位置と前記第２の自己位置との差が小さいほど、前記信頼度が高くなるように、前記第１のパラメータを更新する第１のパラメータ更新部、
として機能させるための学習プログラム。