(57)【要約】【課題】対象領域を表すマップの量を低減させる。【解決手段】車載装置１０の車載制御部１８が全体マップを取得する。そして、位置推定部２２が、車両の周辺の周辺画像の時系列に基づいて、キーフレーム画像として判定された周辺画像の各々を撮像したときの車両の位置を推定する。そして、生成部２４が、推定された車両の位置の各々と、キーフレーム画像として判定された周辺画像の各々とに基づいて、局所マップを生成する。【選択図】図２
2018124787.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得する取得部と、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定する位置推定部と、
前記位置推定部によって推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成する生成部と、
前記生成部によって生成された前記局所マップに基づいて、前記取得部によって取得された前記全体マップの前記局所マップに対応する部分を更新する更新部と、
を含む情報処理装置。
【請求項２】
前記生成部によって生成された前記局所マップの前記キーフレーム画像から同定された前記移動体の位置に基づいて、前記局所マップが表す前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを補正する補正部を更に含む、
請求項１に記載の情報処理装置。
【請求項３】
前記局所マップの前記キーフレーム画像として判定された周辺画像の各々を撮像したときの前記移動体の位置に応じて、前記局所マップが表す前記移動体の位置の各々を同定し、前記同定された前記移動体の位置の各々に基づいて、局所マップに関する信頼度を算出する信頼度算出部を更に含み、
前記更新部は、前記信頼度算出部によって算出された前記信頼度に応じて、前記局所マップを用いて前記全体マップを更新する、
請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記移動体上の点の各々の３次元座標を表す形状モデルを生成する形状モデル生成部を更に含み、
前記更新部は、更に、前記局所マップから得られる前記移動体の位置と、前記形状モデル生成部によって生成された前記形状モデルとに基づいて、前記全体マップを更新する、
請求項１〜請求項３の何れか１項に記載の情報処理装置。
【請求項５】
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列を受信する受信部と、
前記受信部によって受信された前記周辺画像の時系列に基づいて、前記周辺画像のうち、移動体に搭載された撮像装置によって前記移動体の位置に応じて予め撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定する位置推定部と、
前記位置推定部によって推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成する生成部と、
前記生成部によって生成された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する更新部と、
を含むデータ管理装置。
【請求項６】
情報処理装置とデータ管理装置とを有するデータ管理システムであって、
前記情報処理装置は、
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得する取得部、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定する位置推定部、
前記位置推定部によって推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成する生成部、及び
前記生成部によって生成された前記局所マップを送信する送信部を備え、
前記データ管理装置は、
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部、及び
前記情報処理装置から送信された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する更新部
を備えるデータ管理システム。
【請求項７】
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得し、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、取得された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させる情報処理方法。
【請求項８】
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列を受信し、
受信された前記周辺画像の時系列に基づいて、前記周辺画像のうち、移動体に搭載された撮像装置によって前記移動体の位置に応じて予め撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させるデータ管理方法。
【請求項９】
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得し、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、取得された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させるための情報処理プログラム。
【請求項１０】
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列を受信し、
受信された前記周辺画像の時系列に基づいて、前記周辺画像のうち、移動体に搭載された撮像装置によって前記移動体の位置に応じて予め撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させるためのデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、情報処理装置、データ管理装置、データ管理システム、方法、及びプログラムに関する。
【背景技術】
【０００２】
電子地図データを利用して、風景画像の撮像位置を特定する特定方法が知られている。この特定方法において、電子地図データは、地図上に配置される道路および建造物の少なくとも道路の配置位置を示す配置位置データと、該道路および建造物の少なくとも道路の平面形状を示す形状データとを備えている。そして、風景画像は、道路および該道路に隣接する建造物の少なくとも道路を含む画像である。特定方法におけるコンピュータが実行する工程としては、風景画像を取得し、風景画像を解析して、道路および建造物の少なくとも一方について、外観に関連する所定の特徴量を求める。そして、電子地図データを参照して、地図上の複数の所定の評価位置における特徴量を抽出する。そして、求められた特徴量と、抽出された特徴量とに基づいて、撮像位置の候補地を推定する。
【０００３】
また、風景画像認識技術を用いながらも、効率的な自車位置検出が可能な自車位置検出システムが知られている。この自車位置検出システムは、車両からの風景を撮影した撮影画像から画像特徴点を抽出することによって生成された画像特徴点データ及び当該画像特徴点データに対応する撮影画像の撮影位置を関係付けた参照データを格納する参照データデータベースを備える。また、自車位置検出システムは、車載カメラによる風景の実撮影画像を入力して当該実撮影画像から画像特徴点を抽出することにより生成されたマッチング用データを出力する。そして、自車位置検出システムは、車両の車両挙動である実車両挙動を示す車両挙動データを取得する。そして、自車位置検出システムは、車両の推定自車位置を抽出条件として参照データデータベースから推定自車位置の周辺を撮影位置とする予備参照データを抽出する。そして、自車位置検出システムは、実車両挙動に基づいて予備参照データの中から参照データを絞り込み、マッチング用データに対するマッチング相手候補として出力する。そして、自車位置検出システムは、出力された参照データとマッチング用データとのマッチングを行い、マッチングに成功した参照データに関係付けられた撮影位置に基づいて自車位置を決定する。
【０００４】
また、自車両の絶対位置を精度良く検出できる車両位置推定装置が知られている。車両位置推定装置は、自車両の絶対位置を所定の精度で検出し、自車両の絶対位置を基準とした周囲の目印の相対位置を検出する。そして、車両位置推定装置は、複数回検出された自車両の絶対位置及び目印の相対位置に基づいて誤差の最も小さい目印の絶対位置を推定すると共に、当該目印の絶対位置と目印の相対位置に基づき自車両の絶対位置を推定する。
【０００５】
道路地図データをより有用な内容に逐次更新する道路地図更新システムが知られている。この道路地図更新システムの車両側装置は、車両に搭載され、走行軌跡を作成して送信する。また、道路地図更新システムの地図管理装置は、センタ側道路地図データを更新可能に記憶する地図データ管理サーバを有し、車両側装置から送信される走行軌跡を受信してセンタ側道路地図データを更新する。車両側装置は、車両の現在位置を逐次検出する。また、車両側装置は、現在位置に基づいて、車両の走行中の道路が、道路地図データに含まれるいずれの道路でもない新規道路であるか否かを逐次判定する。そして、車両側装置は、新規道路であると判定されているときに車載カメラによって撮像された車両周辺の画像を地図管理装置へ送信する。
【０００６】
また、実環境に関連するカメラの姿勢を決定する方法が知られている。カメラの環境状況の少なくとも１つのパラメータを決定するために、情報の項目の少なくとも一項又は数項が使用され、項目は、一日の時期、一年の時期、気象、特に、雨、雲、日光等が用いられる。環境条件に関するデータ又はパラメータは、多種多様な異なる環境条件に対して、モデルセットを生成するのに使用される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５‐１７３７４８号公報
【特許文献２】特開２０１１‐２１５０５５号公報
【特許文献３】特開２００７‐３０３８４２号公報
【特許文献４】特開２００８‐０３９６８７号公報
【特許文献５】特開２０１５‐０８４２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
例えば、移動体の一例である車両の位置を推定する場合には、車両の周辺領域のマップを参照する必要がある。しかし、実世界における車両の周辺領域は時々刻々と変化しているため、マップを参照したとしても車両の位置を精度よく推定することができない場合がある。そのため、車両の周辺領域の状態毎に複数のマップを保持することが考えられるが、保持するマップの量が膨大となる。
【０００９】
一つの側面では、開示の技術は、対象領域を表すマップの量を低減させることが目的である。
【課題を解決するための手段】
【００１０】
開示の技術は、一つの実施態様では、記憶部には、移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々を表す全体マップが記憶される。また、全体マップは、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す。取得部は、記憶部から、前記全体マップを取得する。位置推定部は、移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記移動体の位置を推定する。位置推定部は、前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定する。生成部は、前記位置推定部によって推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出する。生成部は、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成する。更新部は、前記生成部によって生成された前記局所マップに基づいて、前記取得部によって取得された前記全体マップを更新する。
【発明の効果】
【００１１】
一つの側面として、対象領域を表すマップの量を低減させることができる、という効果を有する。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係るデータ管理システムの概略ブロック図である。
【図２】第１の実施形態に係る車載装置の概略ブロック図である。
【図３】第１の実施形態に係るデータ管理装置の概略ブロック図である。
【図４】駐車場における全体マップを説明するための説明図である。
【図５】キーフレームを説明するための説明図である。
【図６】局所マップに基づき全体マップを更新する処理を説明するための説明図である。
【図７】キーフレームテーブルの一例を示す図である。
【図８】マップ点テーブルの一例を示す図である。
【図９】局所マップのキーフレームの位置の補正を説明するための説明図である。
【図１０】第１の実施形態に係る車載装置の制御部として機能するコンピュータの概略構成を示すブロック図である。
【図１１】本実施形態に係るデータ管理装置として機能するコンピュータの概略構成を示すブロック図である。
【図１２】第１の実施形態における局所マップ生成処理の一例を示すフローチャートである。
【図１３】第１の実施形態におけるデータ管理処理の一例を示すフローチャートである。
【図１４】第２の実施形態に係るデータ管理装置の概略ブロック図である。
【図１５】局所マップのキーフレームの車両の位置が所定間隔毎に再同定される処理を説明するための説明図である。
【図１６】第２の実施形態におけるデータ管理処理の一例を示すフローチャートである。
【図１７】第３の実施形態に係るデータ管理装置の概略ブロック図である。
【図１８】第３の実施形態における形状モデルを説明するための説明図である。
【図１９】第３の実施形態における形状モデル生成処理の一例を示すフローチャートである。
【図２０】第３の実施形態におけるデータ管理処理の一例を示すフローチャートである。
【図２１】第４の実施形態に係る車載装置の概略ブロック図である。
【図２２】第４の実施形態に係るデータ管理装置の概略ブロック図である。
【図２３】第４の実施形態に係る車載装置の制御部として機能するコンピュータの概略構成を示すブロック図である。
【図２４】第４の実施形態に係るデータ管理装置として機能するコンピュータの概略構成を示すブロック図である。
【図２５】第４の実施形態における全体マップ更新処理の一例を示すフローチャートである。
【図２６】第４の実施形態におけるデータ管理処理の一例を示すフローチャートである。
【図２７】第５の実施形態に係る車載装置の概略ブロック図である。
【図２８】第５の実施形態に係るデータ管理装置の概略ブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１４】
＜第１の実施形態＞
図１に、データ管理システム１の構成例を表す概略図を示す。本実施形態では、移動体が車両であり、駐車場を対象領域とする場合を例に説明する。また、本実施形態では、駐車場における全体マップを更新するデータ管理システムを例に説明する。
【００１５】
図１に示すように、本実施形態のデータ管理システム１は、複数の車載装置１０と、データ管理装置３０とを備える。複数の車載装置１０とデータ管理装置３０とは、例えば、インターネット等のネットワーク１１を介して接続されている。車載装置は、開示の技術の情報処理装置の一例である。
【００１６】
図２に示す車載装置１０は、カメラ１２と、ＧＰＳセンサ１３と、制御部１４とを備える。車載装置１０は、後述するデータ管理装置３０から受信した所定の情報とカメラ１２によって撮像された車両の周辺画像とに基づき車両周辺の局所マップを生成し、局所マップをデータ管理装置３０へ送信する。制御部１４は、図２に示されるように、送受信部１６と、車載制御部１８と、画像取得部２０と、位置推定部２２と、生成部２４とを備える。車載制御部１８は、開示の技術の取得部の一例である。
【００１７】
図３に示すデータ管理装置３０は、全体マップ記憶部３１と、送受信部３２と、制御部３４と、補正部３６と、更新部３８とを備える。データ管理装置３０は、車載装置１０から送信された局所マップに基づいて、全体マップ記憶部３１に格納された全体マップを更新する。
【００１８】
データ管理装置３０の全体マップ記憶部３１には、駐車場の全体を表す全体マップが格納されている。
【００１９】
駐車場における全体マップについて説明する。例えば、図４に示されるように、駐車場４Ａが対象領域の全体として設定された場合、駐車場４Ａ内には複数の車両４Ｂが駐車される。駐車場４Ａに駐車しようとする車両は、駐車場４Ａの入口Ｅから進入し、スタート地点４Ｃから走行を開始する。そして、車両は、例えば走行軌跡４Ｄに従って走行し、所定の空きスペースへ駐車する。
【００２０】
上記図４に示される車両の駐車が、例えば自動運転によって行われる場合、駐車場の全体を表す全体マップを予め用意する必要がある。全体マップは、例えば、車両に搭載されたカメラによって車両の位置に応じて撮像された画像を表すキーフレーム画像の各々と、キーフレーム画像を撮像したときの車両の位置の各々と、キーフレーム画像の特徴点の各々の３次元座標とが対応付けられている。
【００２１】
例えば、キーフレーム画像は、上記図４に示す走行軌跡４Ｄを車両が走行する際に車両に搭載されたカメラによって撮像された画像である。キーフレーム画像は、走行軌跡における所定間隔毎に全体マップへ格納される。また、キーフレーム画像の特徴点の３次元座標が、キーフレーム画像と共に全体マップへ格納される。
【００２２】
全体マップは、キーフレームとマップ点とを含む。キーフレームは、キーフレーム画像の各々とキーフレーム画像を撮像したときの車両の位置の各々とが対応付けられた情報である。キーフレームは、車両の走行軌跡に沿った情報として全体マップに格納される。また、マップ点は、全体マップのうち、キーフレーム画像の特徴点の各々の３次元座標を表す。特徴点とは、例えば、対象領域に存在する物体の形状を表す、キーフレーム画像内のエッジ点等である。
【００２３】
図５に、全体マップを説明するための説明図を示す。図５の全体マップ５Ａは、上記図４の駐車場４Ａの全体マップの一部である。全体マップの走行軌跡５Ｂにおける所定間隔毎に、キーフレームが全体マップ５Ａに格納される。例えば、キーフレーム画像の一例を表す画像５Ｄには、画像における特徴点５Ｃが付与されている。
【００２４】
例えば、車両が図５の走行軌跡５Ｂを走行する際に、車両に搭載された車載装置１０のカメラ１２によって画像が逐次撮像される。そして、車載装置１０は、カメラ１２によって撮像された車両の周辺画像の特徴点と、全体マップのキーフレーム画像の特徴点５Ｃに対応するマップ点５Ｘとを対応付け、車両の位置及び姿勢を推定する。
【００２５】
駐車場における車両の駐車状態は時々刻々と変化する。このため、自動運転によって駐車を行う場合には、例えば、駐車状態に応じた複数の全体マップを予め用意しておくことが考えられる。しかし、駐車状態に応じた複数の全体マップを管理する場合、全体マップの数が膨大となる。また、車両周辺の状況に対応する特定の全体マップを複数の全体マップから選択する場合、どのように全体マップを選択するかが問題となる。例えば、車両が駐車されている車両の車種及び向きによって特徴点が異なるため、特定の全体マップを選択することが難しい。
【００２６】
そこで、本実施形態では、車載装置１０において車両の周辺画像に基づき局所マップを生成し、車載装置１０によって生成された局所マップに基づいて全体マップを逐次更新する。
【００２７】
例えば、本実施形態の車載装置１０は、図６に示されるように、駐車場の全体マップ８Ａのうち特定の領域８Ｘに対応する局所マップ８Ｃを生成する。そして、データ管理装置３０は局所マップ８Ｃに基づいて全体マップ８Ａを更新する。例えば、全体マップ８Ａにおいて空きスペース８Ｂとなっているスペースに、最新の状態では、車両が駐車している場合には、局所マップ８Ｃに基づき全体マップ８Ａが更新されることにより、最新の駐車場の状態を表す全体マップ８Ｄが得られる。このように、車載装置１０によって逐次生成される局所マップに基づいて全体マップが更新される。
【００２８】
全体マップ記憶部３１には、全体マップが格納される。具体的には、全体マップはキーフレームテーブルとマップ点テーブルとで表現され、キーフレームテーブル及びマップ点テーブルが全体マップとして全体マップ記憶部３１に格納される。
【００２９】
図７に示すキーフレームテーブルには、キーフレームの識別情報を表すキーフレームＩＤと、車両の位置及び姿勢と、カメラによって撮像されたキーフレーム画像と、キーフレーム画像内の特徴点と、特徴点に対応するマップ点ＩＤとが対応付けられて格納される。例えば、図７のキーフレームテーブルのキーフレームＩＤ「001」に対応する車両の位置及び姿勢は、図７に示されるように、(0.24,0.84,0.96,245.0,313.9,23.8)を示す６次元実数値である。６次元実数値のうち(0.24,0.84,0.96）は車両の姿勢を表し、(245.0,313.9,23.8)は車両の３次元位置を表す。キーフレームテーブルの１行の情報が１つのキーフレームを表す。
【００３０】
また、図７のキーフレームテーブルのキーフレームＩＤ「001」に対応するキーフレーム画像(24,46,…)は、キーフレーム画像の各画素の画素値を表す。また、図７のキーフレームテーブルのキーフレームＩＤ「001」に対応する特徴点「(11,42),(29,110)…」は、キーフレーム画像内の特徴点の位置に対応する画素位置を表す。また、図７のキーフレームテーブルのキーフレームＩＤ「001」に対応するマップ点ＩＤ「3,5,9,32…」は、各特徴点に対応するマップ点ＩＤを表す。マップ点ＩＤは、マップ点テーブルのマップ点ＩＤと対応する。
【００３１】
図８に示すマップ点テーブルには、マップ点の識別情報を表すマップ点ＩＤと、マップ点の３次元位置座標（Ｘ[ｍ]，Ｙ[ｍ]，Ｚ[ｍ]）と、マップ点ＩＤの特徴量とが対応付けられて格納される。例えば、図８のマップ点テーブルの特徴量は、例えば、Scale-invariant feature transform(SIFT)等であり、６４次元のベクトル等によって表現される。
【００３２】
全体マップを予め生成する方法としては、例えば、参考文献１に記載の方法を用いることができる。
【００３３】
参考文献１：Ra´ul Mur-Artal, J. M. M. Montiel, Member, IEEE, and Juan D. Tard´os, Member, IEEE, "ORB-SLAM: A Versatile and Accurate Monocular SLAM System", IEEE TRANSACTIONS ON ROBOTICS, VOL. 31, NO. 5, OCTOBER 2015
【００３４】
例えば、データ管理装置３０の制御部３４によって全体マップの生成が行われる。
【００３５】
具体的には、例えば、データ管理装置３０の制御部３４は、車両に搭載されたカメラによって任意の２視点から取得された画像に基づいて、カメラによる撮像が開始された地点の周辺画像におけるキーフレーム及びマップ点を表す初期全体マップを生成する。次に、制御部３４は、車両が駐車場を１週したときに車両のカメラによって撮像された複数の画像に基づいて、各画像における車両の位置及び姿勢を推定する。そして、制御部３４は、車両が駐車場を１周したときに撮像された複数の画像に基づいて、隣接する画像のペアにおいて対応する特徴点同士をマッチングし、特徴点に対応するマップ点の３次元座標を計算する。これにより、駐車場の全体を表す全体マップが生成される。
【００３６】
以下、車載装置１０が車両の周辺画像に基づく局所マップに基づき全体マップを更新する処理に関する車載装置１０及びデータ管理装置３０の各機能部について具体的に説明する。
【００３７】
図２に示す車載装置１０のカメラ１２は、車両の周辺画像を逐次撮像する。また、ＧＰＳセンサ１３は、車両の位置情報を逐次検出する。
【００３８】
車載制御部１８は、ＧＰＳセンサ１３によって検出された車両の位置情報に基づいて、車両が所定の駐車場に入場したか否かを判定する。そして、車載制御部１８は、車両が所定の駐車場に入場したと判定した場合には、送受信部１６を介してデータ管理装置３０へ制御信号を送信する。
【００３９】
図３に示すデータ管理装置３０の送受信部３２は、データ管理装置３０から送信された制御信号を受信する。制御部３４は、送受信部３２により受信された制御信号に応じて、全体マップ記憶部３１に格納されている全体マップを、送受信部３２を介して車載装置１０へ送信する。
【００４０】
図２に示す車載装置１０の送受信部１６は、データ管理装置３０から送信された全体マップを受信する。そして、車載制御部１８は、送受信部１６により受信された全体マップを位置推定部２２へ出力する。
【００４１】
画像取得部２０は、カメラ１２によって撮像された車両の周辺画像を逐次取得する。
【００４２】
位置推定部２２は、車載制御部１８から出力された全体マップのキーフレーム画像と、画像取得部２０によって取得されたカメラ１２により逐次撮像された周辺画像とに基づいて、車両の位置及び姿勢を推定する。まず、位置推定部２２は、車両の初期位置及び初期姿勢を推定する。
【００４３】
例えば、位置推定部２２は、参考文献２に記載の方法を用いて、車両の初期位置及び初期姿勢を推定することができる。
【００４４】
参考文献２：Ra´ul Mur-Artal and Juan D. Tard´os,"Fast Relocalisation and Loop Closing in Keyframe-Based SLAM",2014 IEEE International Conference on Robotics & Automation (ICRA) May 31 - June 7, 2014. Hong Kong, China
【００４５】
まず、位置推定部２２は、画像取得部２０によって取得された初期時刻の周辺画像と複数のキーフレーム画像とを所定のサイズへ縮小する。初期時刻の周辺画像とは、車両が駐車場に進入した際に初めて撮像された周辺画像を表す。次に、位置推定部２２は、初期時刻の周辺画像と複数のキーフレーム画像とに対して、ガウシアンフィルタを適用する。そして、位置推定部２２は、複数のキーフレーム画像の各々について、初期時刻の周辺画像の各画素とキーフレーム画像の各画素とについてのSum of Squared Distance（SSD）を算出する。そして、位置推定部２２は、SSDの値が最も小さいキーフレーム画像を選択する。
【００４６】
次に、位置推定部２２は、初期時刻の周辺画像から特徴点を抽出する。また、位置推定部２２は、初期時刻の周辺画像から抽出された特徴点と、選択されたキーフレーム画像内の特徴点とをマッチングする。そして、位置推定部２２は、マッチング結果に応じて、周辺画像の特徴点と、キーフレーム画像の特徴点に対応するマップ点とを対応付ける。周辺画像の特徴点とキーフレーム画像内の特徴点とがマッチングにより対応付けられることにより、周辺画像の特徴点とキーフレームのマップ点とが対応付けられる。例えば、位置推定部２２は、特徴点の特徴量の類似度が最大であって、かつ類似度が閾値（例えば０．８）以上である特徴点のペアを対応付ける。なお、類似度としては、例えば特徴量がＯＲＢである場合にはハミング距離、特徴量がＳＩＦＴである場合にはＬ２ノルムが用いられる。
【００４７】
次に、位置推定部２２は、初期時刻の周辺画像の特徴点とキーフレーム画像の特徴点及びマップ点との対応付け結果と、カメラ１２の内部パラメータとに基づいて、以下の参考文献３に記載のＰｎＰアルゴリズムを用いて、カメラの位置及び姿勢を算出する。具体的には、まず、位置推定部２２は、周辺画像の特徴点と対応付けられたマップ点を周辺画像へ投影させた投影点を生成する。そして、位置推定部２２は、周辺画像の投影点と特徴点との距離が最小となるようにカメラ１２の位置及び姿勢を算出する。カメラ１２の位置及び姿勢が算出されることにより、カメラ１２を搭載した車両の初期位置及び初期姿勢が推定される。
【００４８】
参考文献３：V. Lepetit et al., "EPnP: An Accurate O(n) Solution to the PnP Problem", International Journal of Computer Vision, Vol.81, No.2, pp.155-166(2008).
【００４９】
なお、カメラ１２の内部パラメータは、例えば、参考文献４に記載の方法に基づきキャリブレーションにより予め取得される。
【００５０】
参考文献４：Z.Zhang et al., "A flexible new technique for camera calibration.", IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.
【００５１】
次に、位置推定部２２は、画像取得部２０によって取得された車両の移動中に撮像された周辺画像の時系列に基づいて、車両が移動しているときの車両の位置及び姿勢を推定する。
【００５２】
具体的には、位置推定部２２は、まず、画像取得部２０によって取得された現時刻の周辺画像から特徴点を抽出する。次に、位置推定部２２は、車両が所定の運動モデル（例えば、等速運動）を行っていると仮定し、前時刻の周辺画像に基づいて、現時刻の周辺画像に対応する車両の位置を算出する。
【００５３】
そして、位置推定部２２は、現時刻の周辺画像に対応する車両の位置に基づいて、前時刻の周辺画像のマップ点と現時刻の周辺画像の特徴点との対応付けを行う。なお、前時刻の周辺画像のマップ点は、後述する生成部２４によって前時刻の周辺画像に対して生成される。
【００５４】
そして、位置推定部２２は、現時刻の周辺画像の特徴点と前時刻の周辺画像のマップ点との対応付け結果から、上記参考文献３に記載のＰｎＰアルゴリズムを用いて現時刻のカメラ１２の位置及び姿勢を算出する。カメラ１２の位置及び姿勢が算出されることにより、カメラ１２を搭載した車両の位置及び姿勢が推定される。
【００５５】
生成部２４は、各時刻の周辺画像の各々について、キーフレーム画像として採用するか否かを判定する。また、生成部２４は、位置推定部２２によって推定された車両の位置と、前回の生成部２４の処理でキーフレーム画像として判定された周辺画像とに基づいて、周辺画像の特徴点の各々の３次元座標を示すマップ点を算出する。そして、生成部２４は、前回までの生成部２４の処理でキーフレーム画像として判定された周辺画像の各々と、推定された車両の位置の各々と、周辺画像の特徴点の各々の３次元座標を示すマップ点とを表す局所マップを生成する。
【００５６】
具体的には、生成部２４は、各時刻の周辺画像の各々について、キーフレーム画像として採用するか否かを判定する際に、位置推定部２２によって推定された車両の姿勢に関する品質の判定を行う。例えば、生成部２４は、以下の式（１）に従って、位置推定部２２による車両の姿勢推定に関する品質のスコアＳを算出する。
【００５７】
Ｓ＝（前時刻のマップ点と現時刻の特徴点とがマッチングした点数）／（前時刻のマップ点と現時刻の特徴点との間でマッチングを試みた点数）    ・・・（１）
【００５８】
生成部２４は、品質のスコアＳが閾値（例えば０．３）以上である場合には、位置推定部２２による車両の姿勢推定は高品質であると判定する。そして、生成部２４は、位置推定部２２による車両の姿勢の推定が高品質であって、かつ周辺画像が所定の条件を満たす場合は、周辺画像をキーフレーム画像として設定する。例えば、生成部２４は、所定の条件として、前回キーフレーム画像として採用された周辺画像から、一定間隔（例えば、２０フレーム）が開いているか否かに応じて、周辺画像をキーフレーム画像として設定するか否かを判定する。
【００５９】
次に、生成部２４は、三角測量による特徴点の３次元復元により、新たに設定されたキーフレーム画像の特徴点の各々の３次元座標を示すマップ点を算出する。例えば、生成部２４は、車両の位置の各々と、新たに設定されたキーフレーム画像と、前回までに設定されたキーフレーム画像とに基づき、参考文献５に記載の手法により、新たに設定されたキーフレーム画像のマップ点を算出する。
【００６０】
参考文献５：R. I. Hartley et al., "Triangulation, Computer Vision and Image Understanding", Vol. 68, No.2, pp.146-157, 1997.
【００６１】
具体的には、生成部２４は、キーフレーム画像に対応付けられた車両の位置の各々に基づいて、前回までに設定されたキーフレーム画像のうち、新たに設定されたキーフレーム画像の位置と最も近い最近傍のキーフレーム画像を選択する。次に生成部２４は、新たなキーフレーム画像の特徴点及び最近傍のキーフレームのマップ点と、新たなキーフレーム画像での車両の姿勢と最近傍のキーフレーム画像での車両の姿勢との相対姿勢とから、新たなキーフレーム画像のマップ点を算出する。
【００６２】
そして、生成部２４は、新たに設定されたキーフレーム画像と、新たに設定されたキーフレーム画像に対応する車両の位置と、新たに設定されたキーフレーム画像のマップ点とを局所マップに追加する。
【００６３】
生成部２４は、車両が停止したことを表す外部信号を検知するまで、位置推定部２２よる車両の位置の推定、キーフレーム画像の判定、及びマップ点の生成を繰り返し、車両の走行に応じた局所マップを生成する。
【００６４】
車載装置１０の車載制御部１８は、生成部２４によって生成された局所マップを、送受信部１６を介してデータ管理装置３０へ送信する。
【００６５】
図３に示すデータ管理装置３０の送受信部３２は、車載装置１０から送信された局所マップを受信する。制御部３４は、送受信部３２により受信された局所マップを、補正部３６へ出力する。
【００６６】
補正部３６は、制御部３４から出力された局所マップに含まれるキーフレーム画像から、車両の位置を再同定する。そして、補正部３６は、制御部３４から出力された局所マップと、再同定された車両の位置に基づいて、局所マップが表す車両の位置の各々と、キーフレームのマップ点とを補正する。
【００６７】
具体的には、補正部３６は、局所マップのうち車両の停車位置に最も近いキーフレーム画像に基づいて、上記参考文献２に記載のRelocalizationアルゴリズムにより、車両の停車位置を再同定する。次に、補正部３６は、局所マップのスタート地点と全体マップ記憶部３１に格納された全体マップのスタート地点とが一致するように、局所マップの座標を変換する。
【００６８】
次に、補正部３６は、局所マップのうち車両の停車位置に最も近いキーフレームと、所定のキーフレームの各々と、再同定された車両の位置に対応するキーフレームとに基づいて、グラフ構造を生成する。グラフ構造のノードは各キーフレームにおける車両の位置及び姿勢を表し、エッジはキーフレーム間の距離を表す。
【００６９】
そして、補正部３６は、上記参考文献２に記載のグラフ最適化手法により、局所マップのうち車両の停車位置に最も近いキーフレームと、所定のキーフレームの各々における車両の位置及び姿勢を補正する。
【００７０】
例えば、図９に示されるように、局所マップ９Ａにおいて各キーフレーム（９ａ，９ｂ，９ｃ）が得られている場合を例に説明する。この場合、キーフレーム９ａは、スタート地点のキーフレームを表す。また、キーフレーム９ｃは車両の停車位置に最も近いキーフレームを表す。キーフレーム９ｂは、キーフレーム９ａとキーフレーム９ｃとの間に位置するキーフレームである。９Ｓは、補正前の局所マップにおいて推定された車両の走行軌跡を表す。また、キーフレーム９Ｘは、補正部３６によって再同定された車両の停車位置を表す。
【００７１】
車載装置１０から送信された局所マップの生成では、位置推定部２２によって車両の移動中に撮像された周辺画像の時系列に基づいて、車両の位置及び姿勢が推定される。しかし、車両の周辺画像の時系列に基づく推定処理の際に誤差が累積され、車両の位置及び姿勢を精度よく推定できない場合がある。そのため、生成された局所マップにおけるキーフレームの車両の位置及び姿勢とキーフレーム画像との対応関係が実世界とは異なる場合がある。
【００７２】
そこで、本実施形態では、補正部３６によって、図９に示されるように、スタート地点の車両の位置９ａと再同定された車両の位置９Ｘとに基づいて、キーフレームを補正し、局所マップ９Ｂを得る。具体的には、図９の９Ｚに示すように、（１）９Ｘと９ｃとの間の距離が０となるように、かつ（２）他のキーフレームの元の位置からの移動が最小となるようにグラフ構造を再計算し、局所マップの各キーフレームを補正する。補正部３６による局所マップの補正により、補正前の走行軌跡９Ｓが車両の走行軌跡９Ｐとなり、実世界と対応する局所マップ９Ｂが得られる。
【００７３】
そして、補正部３６は、局所マップの各キーフレームの車両の位置及び姿勢の補正に応じて、局所マップの各キーフレームのマップ点の座標を座標変換する。
【００７４】
更新部３８は、補正部３６によって補正された局所マップに基づいて、全体マップ記憶部３１に格納された全体マップを更新する。
【００７５】
具体的には、更新部３８は、車両の初期位置に対応するキーフレームと再同定された車両の位置に対応するキーフレームとの間に分布するキーフレームと、分布するキーフレームに対応するマップ点を削除する。そして、更新部３８は、補正した局所マップを全体マップの削除された箇所に当てはめる。
【００７６】
車載装置１０の制御部１４は、例えば、図１０に示すコンピュータ５０で実現することができる。コンピュータ５０はＣＰＵ５１、一時記憶領域としてのメモリ５２、及び不揮発性の記憶部５３を備える。また、コンピュータ５０は、カメラ１２、ＧＰＳセンサ１３、表示装置、及び入出力装置等（図示省略）が接続される入出力interface（Ｉ／Ｆ）５４、及び記録媒体５９に対するデータの読み込み及び書き込みを制御するread/write（Ｒ／Ｗ）部５５を備える。また、コンピュータ５０は、インターネット等のネットワークに接続されるネットワークＩ／Ｆ５６を備える。ＣＰＵ５１、メモリ５２、記憶部５３、入出力Ｉ／Ｆ５４、Ｒ／Ｗ部５５、及びネットワークＩ／Ｆ５６は、バス５７を介して互いに接続される。
【００７７】
記憶部５３は、Hard Disk Drive（ＨＤＤ）、solid state drive（ＳＳＤ）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部５３には、コンピュータ５０を車載装置１０の制御部１４として機能させるための局所マップ生成プログラム６０が記憶されている。局所マップ生成プログラム６０は、送受信プロセス６２と、車載制御プロセス６３と、画像取得プロセス６４と、位置推定プロセス６５と、生成プロセス６６とを有する。
【００７８】
ＣＰＵ５１は、局所マップ生成プログラム６０を記憶部５３から読み出してメモリ５２に展開し、局所マップ生成プログラム６０が有するプロセスを順次実行する。ＣＰＵ５１は、送受信プロセス６２を実行することで、図２に示す送受信部１６として動作する。また、ＣＰＵ５１は、車載制御プロセス６３を実行することで、図２に示す車載制御部１８として動作する。また、ＣＰＵ５１は、画像取得プロセス６４を実行することで、図２に示す画像取得部２０として動作する。また、ＣＰＵ５１は、位置推定プロセス６５を実行することで、図２に示す位置推定部２２として動作する。また、ＣＰＵ５１は、生成プロセス６６を実行することで、図２に示す生成部２４として動作する。これにより、局所マップ生成プログラム６０を実行したコンピュータ５０が、車載装置１０の制御部１４として機能することになる。そのため、ソフトウェアである局所マップ生成プログラム６０を実行するプロセッサはハードウェアである。
【００７９】
なお、局所マップ生成プログラム６０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００８０】
また、データ管理装置３０は、例えば、図１１に示すコンピュータ８０で実現することができる。コンピュータ８０はＣＰＵ８１、一時記憶領域としてのメモリ８２、及び不揮発性の記憶部８３を備える。また、コンピュータ８０は、表示装置及び入力装置等の入出力装置（図示省略）が接続される入出力Ｉ／Ｆ８４、及び記録媒体８９に対するデータの読み込み及び書き込みを制御するＲ／Ｗ部８５を備える。また、コンピュータ８０は、インターネット等のネットワークに接続されるネットワークＩ／Ｆ８６を備える。ＣＰＵ８１、メモリ８２、記憶部８３、入出力Ｉ／Ｆ８４、Ｒ／Ｗ部８５、及びネットワークＩ／Ｆ８６は、バス８７を介して互いに接続される。
【００８１】
記憶部８３は、ＨＤＤ、ＳＳＤ、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部８３には、コンピュータ８０をデータ管理装置３０として機能させるためのデータ管理プログラム９０が記憶されている。データ管理プログラム９０は、送受信プロセス９２と、制御プロセス９３と、補正プロセス９４と、更新プロセス９５とを有する。また、記憶部８３は、全体マップ記憶部３１を構成する情報が記憶される全体マップ記憶領域９６を有する。
【００８２】
ＣＰＵ８１は、データ管理プログラム９０を記憶部８３から読み出してメモリ８２に展開し、データ管理プログラム９０が有するプロセスを順次実行する。ＣＰＵ８１は、送受信プロセス９２を実行することで、図３に示す送受信部３２として動作する。また、ＣＰＵ８１は、制御プロセス９３を実行することで、図３に示す制御部３４として動作する。また、ＣＰＵ８１は、補正プロセス９４を実行することで、図３に示す補正部３６として動作する。また、ＣＰＵ８１は、更新プロセス９５を実行することで、図３に示す更新部３８として動作する。また、ＣＰＵ８１は、全体マップ記憶領域９６から情報を読み出して、全体マップ記憶部３１をメモリ８２に展開する。これにより、データ管理プログラム９０を実行したコンピュータ８０が、データ管理装置３０として機能することになる。そのため、ソフトウェアであるデータ管理プログラム９０を実行するプロセッサはハードウェアである。
【００８３】
なお、データ管理プログラム９０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【００８４】
次に、本実施形態に係るデータ管理システム１の作用について説明する。車載装置１０において、車載制御部１８がＧＰＳセンサ１３によって検出された車両の位置情報に基づいて、車両が所定の駐車場に入場したか否かを判定する。車載制御部１８は、車両が所定の駐車場に入場したと判定した場合には、送受信部１６を介してデータ管理装置３０へ制御信号を送信する。データ管理装置３０の送受信部３２が、車載装置１０から送信された制御信号に応じて、全体マップ記憶部３１に格納されている全体マップを、送受信部３２を介して車載装置１０へ送信する。そして、車載装置１０の送受信部１６が、データ管理装置３０から送信された全体マップを受信すると、車載装置１０の制御部１４によって、図１２に示す局所マップ生成処理が実行される。以下、各処理について詳述する。
【００８５】
ステップＳ１００において、車載制御部１８は、送受信部１６により受信された全体マップを取得する。そして、車載制御部１８は、全体マップを位置推定部２２へ出力する。
【００８６】
ステップＳ１０１において、画像取得部２０はカメラ１２によって撮像された初期時刻の周辺画像を取得する。
【００８７】
ステップＳ１０２において、位置推定部２２は、上記ステップＳ１００で出力された全体マップと、上記ステップＳ１０１で取得された初期時刻の周辺画像とに基づいて、車両の初期位置及び初期姿勢を推定する。
【００８８】
ステップＳ１０４において、画像取得部２０は、カメラ１２によって撮像された車両の周辺画像を取得する。
【００８９】
ステップＳ１０６において、位置推定部２２は、上記ステップＳ１０４で取得された現時刻の周辺画像と、上記ステップＳ１０４で取得された前時刻の周辺画像とに基づいて、車両の位置及び姿勢を推定する。
【００９０】
ステップＳ１０８において、生成部２４は、上記ステップＳ１０４で取得された現時刻の周辺画像について、キーフレーム画像として設定するか否かを判定する。現時刻の周辺画像をキーフレーム画像として設定する場合には、ステップＳ１１０へ進む。一方、現時刻の周辺画像をキーフレーム画像として設定しない場合には、ステップＳ１１２へ進む。
【００９１】
ステップＳ１１０において、生成部２４は、上記ステップＳ１０８でキーフレーム画像として判定された周辺画像の特徴点の各々の３次元座標を示すマップ点を算出する。そして、生成部２４は、新たに設定されたキーフレーム画像と、上記ステップＳ１０６で推定された車両の位置及び姿勢と、新たに設定されたキーフレーム画像のマップ点とを局所マップへ追加する。
【００９２】
ステップＳ１１２において、生成部２４は、車両が停止したことを表す外部信号を検知したか否かを判定する。車両が停止したことを表す外部信号を検知した場合には、ステップＳ１１４へ進む。一方、車両が停止したことを表す外部信号を検知していない場合には、ステップＳ１０４へ戻る。
【００９３】
ステップＳ１１４において、車載制御部１８は、上記ステップＳ１１０で生成された局所マップを、送受信部１６を介してデータ管理装置３０へ送信して処理を終了する。
【００９４】
データ管理装置３０の送受信部３２が、車載装置１０から送信された局所マップを受信すると、データ管理装置３０は図１３に示すデータ管理処理を実行する。
【００９５】
ステップＳ２００において、制御部３４は、送受信部３２により受信された局所マップを取得し、補正部３６へ出力する。
【００９６】
ステップＳ２０２において、補正部３６は、上記ステップＳ２００で出力された局所マップに含まれるキーフレーム画像から、車両の位置を再同定する。
【００９７】
ステップＳ２０４において、補正部３６は、上記ステップＳ２００で出力された局所マップと、上記ステップＳ２０２で再同定された車両の位置に基づいて、局所マップの車両の位置及び姿勢を補正する。
【００９８】
ステップＳ２０６において、補正部３６は、上記ステップＳ２０４における局所マップの各キーフレームの車両の位置及び姿勢の補正に応じて、局所マップの各キーフレームのマップ点を補正する。
【００９９】
ステップＳ２０８において、更新部３８は、上記ステップＳ２０４及び上記ステップＳ２０６で補正された局所マップに基づいて、全体マップ記憶部３１に格納された全体マップの局所マップに対応する部分を更新して、データ管理処理を終了する。
【０１００】
以上説明したように、本実施形態に係るデータ管理システムでは、車載装置が、推定された車両の位置の各々と、キーフレーム画像として判定された周辺画像の各々とに基づいて、局所マップを生成する。そして、データ管理装置が、車載装置から送信された局所マップに基づいて、全体マップを更新する。これにより、逐次生成された局所マップを用いて全体マップが更新され、駐車状態に応じたマップを保持する必要がないため、対象領域を表すマップの量を低減させることができる。
【０１０１】
また、データ管理装置におけるマップの保持数を低減させ、かつ多様な動的環境に対応することができる。また、データ管理装置における局所マップの補正により、局所マップの累積誤差及びスケールドリフトを抑制することができる。
【０１０２】
＜第２の実施形態＞
次に、第２の実施形態について説明する。第２の実施形態では、車両の位置の時系列を表す走行軌跡において、所定間隔毎に局所マップの各キーフレームの車両の位置を再同定する点が第１の実施形態と異なる。
【０１０３】
図１４に、第２の実施形態のデータ管理装置２３０の構成例を示す。第２の実施形態のデータ管理装置２３０は、図１４に示されるように、全体マップ記憶部３１と、送受信部３２と、制御部３４と、補正部３６と、更新部３８と、信頼度算出部２３５とを備える。
【０１０４】
信頼度算出部２３５は、車載装置１０から送信された局所マップのキーフレーム画像が撮像されたときの車両の位置に応じて、局所マップが表す車両の位置の各々を再同定する。そして、信頼度算出部２３５は、再同定された車両の位置の各々に基づいて、局所マップに関する信頼度を算出する。
【０１０５】
具体的には、信頼度算出部２３５は、車載装置１０から送信された局所マップのキーフレームの車両の位置を一定間隔で再同定する。再同定の手法は、第１の実施形態の補正部３６と同様に、上記参考文献２に記載のRelocalizationアルゴリズムを用いることができる。車両の位置の再同定の間隔としては、例えば、４キーフレーム毎に位置の同定を行う。
【０１０６】
次に、信頼度算出部２３５は、局所マップの信頼度を算出し、各キーフレームの位置を補正するか否かを判定する。例えば、信頼度算出部２３５は、再同定された各キーフレームの位置と、局所マップのうちの元の各キーフレームとの間の距離を算出する。
【０１０７】
補正部３６は、信頼度算出部２３５によって算出された局所マップに関する信頼度の一例としての各キーフレームの距離の平均が閾値（例えば、０．３ｍ）以下である場合に、局所マップの補正を行う。そして、更新部３８は、補正された局所マップを用いて全体マップを更新する。
【０１０８】
なお、補正部３６は、信頼度算出部２３５によって算出された各キーフレームの距離の平均が閾値（例えば、０．３ｍ）より大きい場合には、全体マップの更新を行わない。車載装置１０から送信された局所マップのキーフレームの車両の位置と、信頼度算出部２３５によって再同定されたキーフレームの車両の位置とがあまりにも異なる場合、その局所マップは実世界を表していない可能性が高いためである。
【０１０９】
図１５に、所定間隔毎に再同定される車両の位置を説明するための説明図を示す。例えば、局所マップ１５Ａが車載装置１０から送信された場合、信頼度算出部２３５は、局所マップのキーフレームの車両の位置を一定間隔で再同定し、再同定結果１５Ｂを得る。そして、信頼度算出部２３５は、局所マップ１５Ａの各キーフレームの位置と再同定結果１５Ｂとに基づいて、信頼度を算出する。補正部３６は、信頼度が閾値以上である場合に、再同定結果１５Ｂを用いて、局所マップを補正する。具体的には、補正部３６は、初めに初期の再同定された位置と次に１つ目に再同定された位置、次に１つ目の再同定された位置と２つ目の再同定された位置というように、徐々にグラフ最適化を行うことにより局所マップの補正を行う。そして、更新部３８は、補正された局所マップを用いて全体マップを更新し、全体マップ１５Ｃを得る。
【０１１０】
データ管理装置２３０は、例えば、図１１に示すコンピュータ８０で実現することができる。コンピュータ８０の記憶部８３には、コンピュータ８０をデータ管理装置２３０として機能させるためのデータ管理プログラム２９０が記憶されている。データ管理プログラム２９０は、送受信プロセス９２と、制御プロセス９３と、補正プロセス９４と、更新プロセス９５と、信頼度算出プロセス２９６とを有する。また、記憶部８３は、全体マップ記憶部３１を構成する情報が記憶される全体マップ記憶領域９６を有する。
【０１１１】
ＣＰＵ８１は、データ管理プログラム２９０を記憶部８３から読み出してメモリ８２に展開し、データ管理プログラム２９０が有するプロセスを順次実行する。ＣＰＵ８１は、送受信プロセス９２を実行することで、図１４に示す送受信部３２として動作する。また、ＣＰＵ８１は、制御プロセス９３を実行することで、図１４に示す制御部３４として動作する。また、ＣＰＵ８１は、補正プロセス９４を実行することで、図１４に示す補正部３６として動作する。また、ＣＰＵ８１は、更新プロセス９５を実行することで、図１４に示す更新部３８として動作する。また、ＣＰＵ８１は、信頼度算出プロセス２９６を実行することで、図１４に示す信頼度算出部２３５として動作する。また、ＣＰＵ８１は、全体マップ記憶領域９６から情報を読み出して、全体マップ記憶部３１をメモリ８２に展開する。これにより、データ管理プログラム２９０を実行したコンピュータ８０が、データ管理装置２３０として機能することになる。そのため、ソフトウェアであるデータ管理プログラム２９０を実行するプロセッサはハードウェアである。
【０１１２】
なお、データ管理プログラム２９０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１１３】
次に第２の実施形態におけるデータ管理装置２３０の作用について説明する。送受信部３２が、車載装置１０から送信された局所マップを受信すると、データ管理装置２３０は図１６に示すデータ管理処理を実行する。
【０１１４】
ステップＳ２００、ステップＳ２０６〜ステップＳ２０８は第１の実施形態と同様に実行される。
【０１１５】
ステップＳ４００において、信頼度算出部２３５は、上記ステップＳ２００で取得された局所マップのキーフレーム画像が撮像されたときの車両の位置に応じて、局所マップの各キーフレームが表す車両の位置の各々を再同定する。
【０１１６】
ステップＳ４０２において、信頼度算出部２３５は、上記ステップＳ４００で再同定された各キーフレームの位置と、上記ステップＳ２００で取得された局所マップのうちの元の各キーフレームとの間の距離の平均を算出し、局所マップの信頼度とする。
【０１１７】
次に、ステップＳ４０４において、補正部３６は、上記ステップＳ４０２で算出された局所マップの信頼度が閾値より大きいか否かを判定する。局所マップの信頼度が閾値より大きい場合には、ステップＳ４０６へ進む。一方、局所マップの信頼度が閾値以下の場合には、処理を終了する。
【０１１８】
ステップＳ４０６において、補正部３６は、上記ステップＳ２００で出力された局所マップと、上記ステップＳ４００で再同定された車両の位置の各々に基づいて、局所マップの車両の位置及び姿勢を補正する。
【０１１９】
以上説明したように、第２の実施形態では、データ管理装置２３０は、局所マップが表す車両の位置の各々を再同定し、再同定された車両の位置の各々に基づいて、局所マップに関する信頼度を算出する。そして、データ管理装置２３０は、信頼度に応じて、局所マップを用いて全体マップを更新する。これにより、局所マップの信頼度を用いて、全体マップの更新を精度よく行うことができる。具体的には、複数の再同定結果を用いるため、補正の精度が向上する。また、局所マップの信頼度が閾値よりも低い場合には、その局所マップを棄却することができる。
【０１２０】
＜第３の実施形態＞
次に、第３の実施形態について説明する。第３の実施形態では、自車両に対応するマップ点を全体マップへ反映する点が第１又は第２の実施形態と異なる。
【０１２１】
例えば、駐車場での駐車を想定した場合、局所マップを生成した車両は、駐車場の何れかの駐車スペースに停車する。しかし、駐車スペースに停車した車両の存在は、その車両によって生成された局所マップには反映されない。そこで、第３の実施形態では、局所マップを生成した自車両に対応するマップ点を、全体マップへ反映する。
【０１２２】
図１７に、第３の実施形態のデータ管理装置３３０の構成例を示す。第３の実施形態のデータ管理装置３３０は、図１７に示されるように、全体マップ記憶部３１と、送受信部３２と、制御部３４と、補正部３６と、更新部３８と、形状モデル生成部３３７とを備える。また、データ管理装置３３０は、外部カメラ２０Ｃから、局所マップを生成した自車両の画像を取得する。
【０１２３】
外部カメラ２０Ｃは、局所マップを生成した自車両の画像を撮像する。
【０１２４】
図１８に、第３の実施形態を説明するための説明図を示す。図１８の例では、自車両２０Ａが駐車スペースに停車している状態を表している。自車両２０Ａの周辺には、外部カメラ２０Ｃが備え付けてあり、自車両２０Ａの画像を撮像する。また、自車両２０Ａのカメラには形状及びカメラに対する装着角度が既知であるマーカ２０Ｂが装着されている。外部カメラ２０Ｃは、マーカ２０Ｂが撮影されるように、自車両２０Ａの外側から２視点以上の画像を撮像する。そして、外部カメラ２０Ｃは、自車両２０Ａの画像をデータ管理装置３３０へ送信する。
【０１２５】
データ管理装置３３０の送受信部３２は、外部カメラ２０Ｃから送信された自車両の画像を受信する。制御部３４は、送受信部３２により受信された自車両の画像を、形状モデル生成部３３７へ出力する。
【０１２６】
形状モデル生成部３３７は、制御部３４から出力された自車両の画像に基づいて、自車両上の点の各々の３次元座標を表す形状モデルを生成する。具体的には、形状モデル生成部３３７は、上記参考文献５に記載の手法により、外部カメラ２０Ｃの視点を原点とした、自車両の上の点の各々の３次元座標を取得する。なお、形状モデル生成部３３７は、外部カメラ２０Ｃによって撮像された自車両の画像中に映るマーカの姿勢を、参考文献６に記載の手法により取得する。具体的には、形状モデル生成部３３７は、画像中のマーカの４隅の座標を二値化又はラベリングにより推定し、マーカの回転成分及並進成分を推定することにより、マーカの姿勢を取得する。なお、外部カメラ２０Ｃの内部パラメータは、上記参考文献４に記載のキャリブレーションにより予め取得される。
【０１２７】
参考文献６：H. Kato et al., "Marker tracking and HMD calibration for a video-based augmented reality conferencing system", In Proc. of IEEE and ACM International Workshop on Augmented Reality (IWAR), pp.85-94, 1999.
【０１２８】
そして、形状モデル生成部３３７は、自車両上の点の各々の３次元座標を、外部カメラ２０Ｃの視点が原点ではなく、マーカが原点となるように座標変換を行う。具体的には、形状モデル生成部３３７は、外部カメラ２０Ｃによって撮像された画像内に映るマーカの姿勢に基づいて、外部カメラ２０Ｃの座標系を、カメラ１２の座標系に変換する。これにより、自車両のカメラ１２を原点とした自車両上の点の各々の３次元座標を表す形状モデルが得られる。なお、上記図１８に示す例では、２０Ｄが自車両上の点の各々を表している。
【０１２９】
更新部３８は、局所マップから得られる自車両の位置と、形状モデル生成部３３７によって生成された形状モデルとに基づいて、全体マップ記憶部３１に記憶された全体マップを更新する。
【０１３０】
具体的には、更新部３８は、補正部３６によって得られた自車両の位置の再同定に基づき既に得られている停車時の自車両の位置及び姿勢を用いて、形状モデル生成部３３７によって生成された形状モデルを全体マップに割り当てる。
【０１３１】
データ管理装置３３０は、例えば、図１１に示すコンピュータ８０で実現することができる。コンピュータ８０の記憶部８３には、コンピュータ８０をデータ管理装置３３０として機能させるためのデータ管理プログラム３９０が記憶されている。データ管理プログラム３９０は、送受信プロセス９２と、制御プロセス９３と、補正プロセス９４と、更新プロセス９５と、形状モデル生成プロセス３９７とを有する。また、記憶部８３は、全体マップ記憶部３１を構成する情報が記憶される全体マップ記憶領域９６を有する。
【０１３２】
ＣＰＵ８１は、データ管理プログラム３９０を記憶部８３から読み出してメモリ８２に展開し、データ管理プログラム３９０が有するプロセスを順次実行する。ＣＰＵ８１は、送受信プロセス９２を実行することで、図１７に示す送受信部３２として動作する。また、ＣＰＵ８１は、制御プロセス９３を実行することで、図１７に示す制御部３４として動作する。また、ＣＰＵ８１は、補正プロセス９４を実行することで、図１７に示す補正部３６として動作する。また、ＣＰＵ８１は、更新プロセス９５を実行することで、図１７に示す更新部３８として動作する。また、ＣＰＵ８１は、形状モデル生成プロセス３９７を実行することで、図１７に示す形状モデル生成部３３７として動作する。また、ＣＰＵ８１は、全体マップ記憶領域９６から情報を読み出して、全体マップ記憶部３１をメモリ８２に展開する。これにより、データ管理プログラム３９０を実行したコンピュータ８０が、データ管理装置３３０として機能することになる。そのため、ソフトウェアであるデータ管理プログラム３９０を実行するプロセッサはハードウェアである。
【０１３３】
なお、データ管理プログラム３９０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１３４】
次に、第３の実施形態におけるデータ管理装置３３０の作用について説明する。送受信部３２が、外部カメラ２０Ｃから送信された自車両の画像を受信すると、データ管理装置３３０は図１９に示す形状モデル生成処理を実行する。
【０１３５】
まず、ステップＳ５００において、形状モデル生成部３３７は、制御部３３４から出力された自車両の画像を取得する。
【０１３６】
ステップＳ５０２において、形状モデル生成部３３７は、上記ステップＳ５００で取得された自車両の画像に基づいて、形状モデルを生成する。
【０１３７】
次に、送受信部３２が、車載装置１０から送信された局所マップを受信すると、データ管理装置３３０は図２０に示すデータ管理処理を実行する。
【０１３８】
ステップＳ２００〜ステップＳ２０８の各処理は、第１の実施形態と同様に実行される。
【０１３９】
ステップＳ６１０において、更新部３８は、形状モデル生成処理によって生成された形状モデルを取得する。
【０１４０】
ステップＳ６１２において、更新部３８は、ステップＳ２０６で補正された自車両の位置と、上記ステップＳ６１０で取得された形状モデルとに基づいて、全体マップ記憶部３１に記憶された全体マップを更新して、データ管理処理を終了する。
【０１４１】
以上説明したように、第３の実施形態では、自車両上の点の各々の３次元座標を表す形状モデルを生成し、形状モデルに基づいて全体マップを更新する。これにより、局所マップを生成した自車両上の点の各々の３次元座標を示すマップ点を全体マップへ反映させることができる。そのため、自車両のマップ点も含め、全体マップを精度よく更新することができる。
【０１４２】
＜第４の実施形態＞
次に、第４の実施形態について説明する。第４の実施形態では、車載装置が全体マップを更新する点が第１〜第３の実施形態と異なる。
【０１４３】
図２１に示す車載装置４１０は、カメラ１２と、ＧＰＳセンサ１３と、制御部４１４とを備える。車載装置４１０は、カメラ１２によって撮像された車両の周辺画像に基づき車両周辺の局所マップを生成し、後述するデータ管理装置４３０から送信された全体マップを更新する。制御部４１４は、図２１に示されるように、送受信部１６と、車載制御部１８と、画像取得部２０と、位置推定部２２と、生成部２４と、補正部３６と、更新部３８と、車載側全体マップ記憶部４４０とを備える。
【０１４４】
また図２２に示すデータ管理装置４３０は、全体マップ記憶部３１と、送受信部３２と、制御部３４とを備える。データ管理装置４３０は、車載装置４１０から送信された全体マップを、全体マップ記憶部３１に格納する。
【０１４５】
以下、車載装置４１０とデータ管理装置４３０との具体的な処理を説明する。
【０１４６】
車載装置４１０の車載制御部１８は、送受信部１６により受信された全体マップを車載側全体マップ記憶部４４０へ格納する。また、車載制御部１８は、送受信部１６により受信された全体マップを位置推定部２２へ出力する。
【０１４７】
補正部３６は、第１の実施形態のデータ管理装置３０の補正部３６と同様に、生成部２４によって生成された局所マップを補正する。
【０１４８】
更新部３８は、車載側全体マップ記憶部４４０に格納された全体マップを読み出し、第１の実施形態のデータ管理装置３０の更新部３８と同様に、補正部３６によって補正された局所マップに基づいて、全体マップを更新する。
【０１４９】
車載制御部１８は、更新部３８によって更新された全体マップが車載側全体マップ記憶部４４０に格納されると、車載側全体マップ記憶部４４０に格納された全体マップを、送受信部１６を介して、データ管理装置４３０へ送信する。
【０１５０】
図２２に示すデータ管理装置４３０の送受信部３２は、車載装置４１０から送信された全体マップを受信する。制御部３４は、送受信部３２により受信された全体マップを、全体マップ記憶部３１へ格納する。
【０１５１】
車載装置４１０の制御部４１４は、例えば、図２３に示すコンピュータ５０で実現することができる。コンピュータ５０の記憶部５３には、コンピュータ５０を車載装置４１０の制御部４１４として機能させるための全体マップ更新プログラム４６０が記憶されている。全体マップ更新プログラム４６０は、送受信プロセス６２と、車載制御プロセス６３と、画像取得プロセス６４と、位置推定プロセス６５と、生成プロセス６６と、補正プロセス９４と、更新プロセス９５とを有する。また、記憶部５３は、車載側全体マップ記憶部４４０を構成する情報が記憶される車載側全体マップ記憶領域４６９を有する。
【０１５２】
ＣＰＵ５１は、全体マップ更新プログラム４６０を記憶部５３から読み出してメモリ５２に展開し、全体マップ更新プログラム４６０が有するプロセスを順次実行する。ＣＰＵ５１は、送受信プロセス６２を実行することで、図２１に示す送受信部１６として動作する。また、ＣＰＵ５１は、車載制御プロセス６３を実行することで、図２１に示す車載制御部１８として動作する。また、ＣＰＵ５１は、画像取得プロセス６４を実行することで、図２１に示す画像取得部２０として動作する。また、ＣＰＵ５１は、位置推定プロセス６５を実行することで、図２１に示す位置推定部２２として動作する。また、ＣＰＵ５１は、生成プロセス６６を実行することで、図２１に示す生成部２４として動作する。また、ＣＰＵ５１は、生成プロセス６６を実行することで、図２１に示す生成部２４として動作する。また、ＣＰＵ５１は、補正プロセス９４を実行することで、図２１に示す補正部３６として動作する。また、ＣＰＵ５１は、更新プロセス９５を実行することで、図２１に示す更新部３８として動作する。これにより、全体マップ更新プログラム４６０を実行したコンピュータ５０が、車載装置４１０の制御部４１４として機能することになる。そのため、ソフトウェアである全体マップ更新プログラム４６０を実行するプロセッサはハードウェアである。
【０１５３】
なお、全体マップ更新プログラム４６０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１５４】
データ管理装置４３０は、例えば、図２４に示すコンピュータ８０で実現することができる。コンピュータ８０の記憶部８３には、コンピュータ８０をデータ管理装置４３０として機能させるためのデータ管理プログラム４９０が記憶されている。データ管理プログラム４９０は、送受信プロセス９２と、制御プロセス９３とを有する。また、記憶部８３は、全体マップ記憶部３１を構成する情報が記憶される全体マップ記憶領域９６を有する。
【０１５５】
ＣＰＵ５１は、データ管理プログラム４９０を記憶部８３から読み出してメモリ８２に展開し、データ管理プログラム４９０が有するプロセスを順次実行する。ＣＰＵ８１は、送受信プロセス９２を実行することで、図２２に示す送受信部３２として動作する。また、ＣＰＵ８１は、制御プロセス９３を実行することで、図２２に示す制御部３４として動作する。また、ＣＰＵ８１は、全体マップ記憶領域９６から情報を読み出して、全体マップ記憶部３１をメモリ８２に展開する。これにより、全体マップ更新プログラム４６０を実行したコンピュータ８０が、データ管理装置４３０として機能することになる。そのため、ソフトウェアであるデータ管理プログラム４９０を実行するプロセッサはハードウェアである。
【０１５６】
なお、データ管理プログラム４９０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１５７】
次に、第４の実施形態に係るデータ管理システムの作用について説明する。データ管理装置４３０の送受信部３２が、車載装置４１０から送信された制御信号に応じて、全体マップ記憶部３１に格納されている全体マップを、送受信部３２を介して車載装置４１０へ送信する。そして、車載装置４１０の送受信部１６が、データ管理装置４３０から送信された全体マップを受信すると、車載側全体マップ記憶部４４０へ格納する。そして、車載装置４１０の制御部１４によって、図２５に示す全体マップ更新処理が実行される。以下、各処理について詳述する。
【０１５８】
図２５に示す全体マップ更新処理のうち、ステップＳ１００〜ステップＳ１１２及びステップＳ２０２〜ステップＳ２０８の各処理は、第１の実施形態と同様に実行される。
【０１５９】
ステップＳ６１０において、車載制御部１８は、車載側全体マップ記憶部４４０に格納された全体マップを、送受信部１６を介して、データ管理装置４３０へ送信して、全体マップ更新処理を終了する。
【０１６０】
データ管理装置４３０の送受信部３２が、車載装置４１０から送信された全体マップを受信すると、データ管理装置４３０は図２６に示すデータ管理処理を実行する。
【０１６１】
ステップＳ７００において、制御部３４は、送受信部３２により受信された全体マップを取得する。
【０１６２】
ステップＳ７０２において、制御部３４は、上記ステップＳ７００で取得した全体マップを全体マップ記憶部３１へ格納する。
【０１６３】
車載装置が、推定された車両の位置の各々と、キーフレーム画像として判定された周辺画像の各々とに基づいて、局所マップを生成する。そして、車載装置が局所マップに基づいて、全体マップを更新する。そして、車載装置は全体マップをデータ管理装置へ送信する。これにより、例えば、局所マップが送信できない場合には、予め局所マップを用いて全体マップが更新され、駐車状態に応じた全体マップを生成することができる。なお、局所マップが送信できる状態になった場合には、更新された全体マップをデータ管理装置へ送信し、全体マップを最新の状態にすることができる。
【０１６４】
＜第５の実施形態＞
次に、第５の実施形態について説明する。第５の実施形態では、データ管理装置５３０が局所マップを生成し、生成した局所マップに基づき全体マップを更新する点が第１〜第４の実施形態と異なる。
【０１６５】
図２７に示す車載装置５１０は、カメラ１２と、ＧＰＳセンサ１３と、制御部５１４とを備える。車載装置５１０は、カメラ１２によって撮像された車両の周辺画像を、後述するデータ管理装置５３０へ逐次送信する。制御部５１４は、図２７に示されるように、送受信部１６と、車載制御部１８と、画像取得部２０とを備える。
【０１６６】
また図２８に示すデータ管理装置５３０は、全体マップ記憶部３１と、送受信部３２と、制御部３４と、補正部３６と、更新部３８と、位置推定部２２と、生成部２４とを備える。データ管理装置５３０は、車載装置５１０から送信された周辺画像に基づき局所マップを生成し、局所マップに基づき全体マップ記憶部３１に格納された全体マップを更新する。送受信部３２は、開示の技術の受信部の一例である。
【０１６７】
車載装置５１０及びデータ管理装置５３０の各部の処理と、車載装置５１０及びデータ管理装置５３０が実現されるコンピュータとは、上記第１〜第４の実施形態と同様であるため、説明を省略する。
【０１６８】
なお、上記では、各プログラムが記憶部に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記録媒体に記録された形態で提供することも可能である。
【０１６９】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【０１７０】
次に、上記実施形態の変形例を説明する。
【０１７１】
上記実施形態では、局所マップを補正する際に、車両の位置を再同定する方法の一例として画像情報を用いる場合を例に説明したが、これに限定されるものではない。例えば、高精度なＧＰＳセンサによって車両の位置を計測することにより、車両の位置を再同定してもよい。また、車両の方位を高精度に求めるセンサが車両に備えられている場合には、そのセンサによって検出された方位に基づき車両の姿勢を推定してもよい。また、画像情報と他のセンサ情報とを組合せてもよい。
【０１７２】
また、上記各実施形態では、車載装置は、車両が停車したときに局所マップをデータ管理装置へ送信する場合を例に説明したが、これに限定されるものではい。例えば、車載装置は、任意のタイミングで局所マップをデータ管理装置へ送信してもよい。これにより、より高い頻度で全体マップを更新することができる。また、例えば、車両が停止したときに、局所マップを送信できる環境ではない場合（例えば情報通信を行う環境ではない場合等）には、車載装置は、通信環境が整うまで局所マップを所定の記憶領域へ格納し、通信環境が整った場合に局所マップを送信してもよい。
【０１７３】
また、上記各実施形態では、１つの全体マップを局所マップによって逐次更新する場合を例に説明したがこれに限定されるものではない。例えば、対象領域の状態のうち、発生頻度の高い状態を表す全体マップを複数個用意しておいてもよい。この場合、例えば、車載装置から局所マップが送信されない状況においては、予め用意された複数個の全体マップを用いる。
【０１７４】
また、第１〜第３の実施形態では、車載装置が局所マップを生成し、データ管理装置が車載装置から送信された局所マップに基づき全体マップを更新する場合を例に説明したが、これに限定されるものではない。また、第４の実施形態では、車載装置が局所マップを生成し、かつ全体マップを更新する場合を例に説明し、第５の実施形態では、データ管理装置が局所マップを生成し、かつ全体マップを更新する例を説明したがこれに限定されるものではない。車載装置及びデータ管理装置における各部の配置は、本実施形態のデータ管理システムを実現できる配置であれば、どのような配置であってもよい。例えば、局所マップの補正については車載装置側で行い、車載装置は補正された局所マップをデータ管理装置へ送信し、データ管理装置は補正された局所マップに基づき全体マップを更新してもよい。
【０１７５】
以上の各実施形態に関し、更に以下の付記を開示する。
【０１７６】
（付記１）
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得する取得部と、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定する位置推定部と、
前記位置推定部によって推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成する生成部と、
前記生成部によって生成された前記局所マップに基づいて、前記取得部によって取得された前記全体マップの前記局所マップに対応する部分を更新する更新部と、
を含む情報処理装置。
【０１７７】
（付記２）
前記生成部によって生成された前記局所マップの前記キーフレーム画像から同定された前記移動体の位置に基づいて、前記局所マップが表す前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを補正する補正部を更に含む、
付記１に記載の情報処理装置。
【０１７８】
（付記３）
前記局所マップの前記キーフレーム画像として判定された周辺画像の各々を撮像したときの前記移動体の位置に応じて、前記局所マップが表す前記移動体の位置の各々を同定し、前記同定された前記移動体の位置の各々に基づいて、局所マップに関する信頼度を算出する信頼度算出部を更に含み、
前記更新部は、前記信頼度算出部によって算出された前記信頼度に応じて、前記局所マップを用いて前記全体マップを更新する、
付記１又は付記２に記載の情報処理装置。
【０１７９】
（付記４）
前記移動体上の点の各々の３次元座標を表す形状モデルを生成する形状モデル生成部を更に含み、
前記更新部は、更に、前記局所マップから得られる前記移動体の位置と、前記形状モデル生成部によって生成された前記形状モデルとに基づいて、前記全体マップを更新する、
付記１〜付記３の何れか１項に記載の情報処理装置。
【０１８０】
（付記５）
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列を受信する受信部と、
前記受信部によって受信された前記周辺画像の時系列に基づいて、前記周辺画像のうち、移動体に搭載された撮像装置によって前記移動体の位置に応じて予め撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定する位置推定部と、
前記位置推定部によって推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成する生成部と、
前記生成部によって生成された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する更新部と、
を含むデータ管理装置。
【０１８１】
（付記６）
情報処理装置とデータ管理装置とを有するデータ管理システムであって、
前記情報処理装置は、
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得する取得部、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定する位置推定部、
前記位置推定部によって推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成する生成部、及び
前記生成部によって生成された前記局所マップを送信する送信部を備え、
前記データ管理装置は、
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部、及び
前記情報処理装置から送信された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する更新部
を備えるデータ管理システム。
【０１８２】
（付記７）
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得し、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、取得された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させる情報処理方法。
【０１８３】
（付記８）
生成された前記局所マップの前記キーフレーム画像から同定された前記移動体の位置に基づいて、前記局所マップが表す前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを補正する、
付記７に記載の情報処理方法。
【０１８４】
（付記９）
前記局所マップの前記キーフレーム画像として判定された周辺画像の各々を撮像したときの前記移動体の位置に応じて、前記局所マップが表す前記移動体の位置の各々を同定し、前記同定された前記移動体の位置の各々に基づいて、局所マップに関する信頼度を算出し、
算出された前記信頼度に応じて、前記局所マップを用いて前記全体マップを更新する、
付記７又は付記８に記載の情報処理方法。
【０１８５】
（付記１０）
前記移動体上の点の各々の３次元座標を表す形状モデルを生成し、
前記局所マップから得られる前記移動体の位置と、前記形状モデル生成部によって生成された前記形状モデルとに基づいて、前記全体マップを更新する、
付記７〜付記９の何れか１項に記載の情報処理方法。
【０１８６】
（付記１１）
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列を受信し、
受信された前記周辺画像の時系列に基づいて、前記周辺画像のうち、移動体に搭載された撮像装置によって前記移動体の位置に応じて予め撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させるデータ管理方法。
【０１８７】
（付記１２）
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得し、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、取得された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させるための情報処理プログラム。
【０１８８】
（付記１３）
生成された前記局所マップの前記キーフレーム画像から同定された前記移動体の位置に基づいて、前記局所マップが表す前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを補正する、
付記１２に記載の情報処理プログラム。
【０１８９】
（付記１４）
前記局所マップの前記キーフレーム画像として判定された周辺画像の各々を撮像したときの前記移動体の位置に応じて、前記局所マップが表す前記移動体の位置の各々を同定し、前記同定された前記移動体の位置の各々に基づいて、局所マップに関する信頼度を算出し、
算出された前記信頼度に応じて、前記局所マップを用いて前記全体マップを更新する、
付記１２又は付記１３に記載の情報処理プログラム。
【０１９０】
（付記１５）
前記移動体上の点の各々の３次元座標を表す形状モデルを生成し、
前記局所マップから得られる前記移動体の位置と、前記形状モデル生成部によって生成された前記形状モデルとに基づいて、前記全体マップを更新する、
付記１２〜付記１４の何れか１項に記載の情報処理プログラム。
【０１９１】
（付記１６）
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列を受信し、
受信された前記周辺画像の時系列に基づいて、前記周辺画像のうち、移動体に搭載された撮像装置によって前記移動体の位置に応じて予め撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させるためのデータ管理プログラム。
【０１９２】
（付記１７）
移動体に搭載された撮像装置によって前記移動体の位置に応じて撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部から、前記全体マップを取得し、
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列に基づいて、前記周辺画像のうち前記記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、取得された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させる情報処理方法を記憶した記憶媒体。
【０１９３】
（付記１８）
移動体に搭載された撮像装置によって前記移動体の移動中に撮像された前記移動体の周辺の周辺画像の時系列を受信し、
受信された前記周辺画像の時系列に基づいて、前記周辺画像のうち、移動体に搭載された撮像装置によって前記移動体の位置に応じて予め撮像された画像を表すキーフレーム画像の各々と、前記キーフレーム画像を撮像したときの前記移動体の位置の各々と、前記キーフレーム画像の特徴点の各々の３次元座標とを表す全体マップが記憶された記憶部に格納されたキーフレーム画像のいずれかに対応すると判定された周辺画像の各々を撮像したときの前記移動体の位置を推定し、
推定された前記移動体の位置の各々と、前記キーフレーム画像として判定された周辺画像の各々とに基づいて、前記周辺画像の特徴点の各々の３次元座標を算出し、前記キーフレーム画像として判定された周辺画像の各々と、前記推定された前記移動体の位置の各々と、前記周辺画像の特徴点の各々の３次元座標とを表す局所マップを生成し、
生成された前記局所マップに基づいて、前記記憶部に記憶された前記全体マップの前記局所マップに対応する部分を更新する、
処理をコンピュータに実行させるデータ管理プログラムを記憶した記憶媒体。
【符号の説明】
【０１９４】
１０，４１０，５１０ 車載装置
１１   ネットワーク
１２   カメラ
１３   センサ
１４，３４，３３４，４１４，５１４ 制御部
１６   送受信部
１８   車載制御部
２０   画像取得部
２２   位置推定部
２４   生成部
３０，２３０，３３０，４３０，５３０      データ管理装置
３１   全体マップ記憶部
３２   送受信部
３６   補正部
３８   更新部
５０，８０    コンピュータ
５３，８３    記憶部
５９，８９    記録媒体
６０   局所マップ生成プログラム
９０，２９０，３９０，４９０       データ管理プログラム
２３５ 信頼度算出部
３３７ 形状モデル生成部
４４０ 車載側全体マップ記憶部
４６０ 全体マップ更新プログラム
【図１】
2018124787.tif 000003
【図２】
2018124787.tif 000004
【図３】
2018124787.tif 000005
【図４】
2018124787.tif 000006
【図５】
2018124787.tif 000007
【図６】
2018124787.tif 000008
【図７】
2018124787.tif 000009
【図８】
2018124787.tif 000010
【図９】
2018124787.tif 000011
【図１０】
2018124787.tif 000012
【図１１】
2018124787.tif 000013
【図１２】
2018124787.tif 000014
【図１３】
2018124787.tif 000015
【図１４】
2018124787.tif 000016
【図１５】
2018124787.tif 000017
【図１６】
2018124787.tif 000018
【図１７】
2018124787.tif 000019
【図１８】
2018124787.tif 000020
【図１９】
2018124787.tif 000021
【図２０】
2018124787.tif 000022
【図２１】
2018124787.tif 000023
【図２２】
2018124787.tif 000024
【図２３】
2018124787.tif 000025
【図２４】
2018124787.tif 000026
【図２５】
2018124787.tif 000027
【図２６】
2018124787.tif 000028
【図２７】
2018124787.tif 000029
【図２８】
2018124787.tif 000030