以下に添付図面を参照して、情報処理装置、学習済モデル、情報処理方法、およびプログラムを詳細に説明する。なお、以下に示す実施の形態および変形例において、同じ機能を示す部分には、同じ符号を付与し、詳細な説明を省略する場合がある。
(第1の実施の形態)
図1は、本実施の形態の移動体10の一例を示す図である。
移動体10は、情報処理装置20と、出力部10Aと、センサ10Bと、入力装置10Cと、駆動制御部10Gと、駆動部10Hと、を備える。
情報処理装置20は、例えば、専用または汎用コンピュータである。本実施の形態では、情報処理装置20が、移動体10に搭載されている場合を一例として説明する。
移動体10は、移動可能な物である。移動体10は、例えば、車両(自動二輪車、自動四輪車、自転車)、台車、ロボット、船舶、飛翔体(飛行機、無人航空機(UAV:Unmanned Aerial Vehicle)、ドローンなど)、人、動物、等である。移動体10は、具体的には、人による運転操作を介して走行する移動体や、人による運転操作を介さずに自動的に走行(自律走行)可能な移動体である。自動走行可能な移動体は、例えば、自動運転車両である。本実施の形態の移動体10は、自律走行可能な車両である場合を一例として説明する。
なお、情報処理装置20は、移動体10に搭載された形態に限定されない。情報処理装置20は、静止物に搭載されていてもよい。静止物は、移動不可能な物や、地面に対して静止した状態の物である。静止物は、例えば、ガードレール、ポール、建物、道路、歩道、障害物、立体物、駐車車両、道路標識、などである。また、情報処理装置20は、クラウド上で処理を実行するクラウドサーバに搭載されていてもよい。
センサ10Bは、検知部の一例である。センサ10Bは、外界センサであり、外界を検知した検知情報を取得する。
センサ10Bは、例えば、撮影装置や、距離センサ(ミリ波レーダ、レーザセンサ)、などである。撮影装置は、撮影によって撮影画像データ(以下、撮影画像と称する)を得る。撮影画像データは、画素ごとに画素値を規定したデジタル画像データや、画素毎にセンサ10Bからの距離を規定したデプスマップなどである。レーザセンサは、例えば、水平面に対して平行に設置された二次元LIDAR(Laser Imaging Detection and Ranging)センサや、三次元LIDARセンサである。
本実施の形態では、センサ10Bが、二次元LIDARセンサである場合を一例として説明する。
図2は、センサ10Bによる検知の説明図である。移動体10に搭載されたセンサ10Bは、センサ10Bの周囲に、観測平面に沿ってレーザ光Lを照射し、対象Bで反射した反射光を受光する。観測平面は、例えば、水平面である。これによって、センサ10Bは、対象Bの外形に沿った複数の反射点に相当する複数の点32の、検知情報を得る。なお、対象Bの位置、対象Bの数、点32の数、および、点32の位置は、一例であり、図2に示す形態に限定されない。
なお、センサ10Bは、水平方向に1ライン分レーザ光Lを照射することで、該レーザ光Lの反射光を受光する形態であってもよいし、複数ライン分、レーザ光Lを照射することで、該レーザ光Lの反射光を受光する形態であってもよい。また、センサ10Bは、水平面に対して交差する平面に沿ってレーザ光Lを照射する形態であってもよい。
検知情報は、センサ10Bの周辺の複数の点32の各々の位置を示す。点32の位置は、例えば、センサ10Bを基準とした相対位置を示す位置座標や、点32の絶対位置を示す位置座標や、ベクトルなどで表される。
具体的には、点32の位置は、センサ10Bを基準としたレーザ光Lの照射方向である方位角方向と、センサ10Bからの距離と、によって表される。すなわち、センサ10BがLIDARである場合、検知情報は、極座標空間における、センサ10Bを原点とした距離および方位角方向で表される。極座標空間は、極座標系で表した空間である。
センサ10Bからの距離は、レーザ光Lの照射から反射光の受光までの経過時間、受光した光の強度、または、光の減衰率等から導出される。点32の検出強度は、例えば、反射光の強度や、光の強度の減衰率で表される。
なお、検知情報が、撮影カメラとしてのセンサ10Bで撮影された撮影画像である場合、点32の位置は、撮影画像における画素位置や、直交座標空間における位置座標で表してもよい。直交座標空間とは、直交座標系で表した空間である。
出力部10Aは、各種の出力情報を出力する。出力部10Aは、例えば、出力情報を送信する通信機能、出力情報を表示する表示機能、出力情報を示す音を出力する音出力機能、などを備える。例えば、出力部10Aは、通信部10Dと、ディスプレイ10Eと、スピーカ10Fと、を含む。
通信部10Dは、出力情報を他の装置へ送信する。例えば、通信部10Dは、公知の通信回線を介して出力情報を送信する。ディスプレイ10Eは、出力情報を表示する。ディスプレイ10Eは、例えば、公知のLCD(liquid crystal display)や投影装置やライトなどである。スピーカ10Fは、出力情報を示す音を出力する。
入力装置10Cは、ユーザからの各種指示や情報入力を受け付ける。入力装置10Cは、例えば、マウスやトラックボール等のポインティングデバイス、あるいはキーボード等の入力デバイスである。
駆動部10Hは、移動体10を駆動するデバイスである。駆動部10Hは、例えば、エンジン、モータ、車輪、などである。
駆動制御部10Gは、駆動部10Hを制御する。駆動部10Hは、駆動制御部10Gの制御によって駆動する。例えば、駆動制御部10Gは、情報処理装置20から出力された出力情報や、センサ10Bから得られた情報などに基づいて、周辺の状況を判断し、アクセル量、ブレーキ量、操舵角などの制御を行う。例えば、駆動制御部10Gは、死角に道路が存在すると予測された場合に,その周辺で速度を低下させるように車両の制御を行う。
次に、情報処理装置20の構成について詳細に説明する。図3は、情報処理装置20の構成の一例を示すブロック図である。
情報処理装置20は、例えば、専用または汎用コンピュータである。情報処理装置20は、処理部20Aと、記憶部20Bと、を備える。
処理部20A、記憶部20B、出力部10A、センサ10B、および入力装置10Cは、バス20Zを介して接続されている。なお、記憶部20B、出力部10A(通信部10D、ディスプレイ10E、スピーカ10F)、センサ10B、および入力装置10Cは、有線または無線で処理部20Aに接続すればよい。また、記憶部20B、出力部10A(通信部10D、ディスプレイ10E、スピーカ10F)、センサ10B、および入力装置10Cの少なくとも1つと、処理部20Aと、を、ネットワークを介して接続してもよい。
記憶部20Bは、各種データを記憶する。記憶部20Bは、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部20Bは、情報処理装置20の外部に設けられた記憶装置であってもよい。また、記憶部20Bは、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶部20Bを、複数の記憶媒体から構成してもよい。また、記憶部20Bは、ネットワークを介して情報処理装置20に接続されたクラウドサーバに設けてもよい。
処理部20Aは、受付部20Cと、導出部20Dと、対象マッピング部20Eと、未観測マッピング部20Fと、取得部20Gと、補正部20Hと、出力制御部20Iと、を備える。
上記各部(受付部20C、導出部20D、対象マッピング部20E、未観測マッピング部20F、取得部20G、補正部20H、出力制御部20I)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
受付部20Cは、センサ10Bから検知情報を受付ける。受付部20Cは、受付けた検知情報を、導出部20Dへ出力する。例えば、センサ10Bは、所定タイミングごとに、外界を検知し、検知情報を受付部20Cへ出力する。受付部20Cは、検知情報を受付けるごとに、受付けた検知情報を、順次、導出部20Dへ出力する。
導出部20Dは、検知情報から、センサ10Bによって検知された実空間における位置ごとに、観測情報を導出する。観測情報は、移動体10(センサ10B)の周辺の観測結果を示す情報である。
図4は、観測情報30のデータ構成の一例を示す説明図である。観測情報30は、対象情報30Aまたは未観測情報30Bを示す。
対象情報30Aは、対象Bに関する情報である。対象Bは、センサ10Bの外界に存在し、センサ10Bによって観測される。
対象Bは、移動体、静止物、の何れであってもよい。移動体および静止物の定義は、上記と同様である。なお、対象Bは、生物および非生物の何れであってもよい。生物は、例えば、人物、動物、植物、などである。非生物は、例えば、車両や飛行可能な物体、ロボット、建物、車両、ガードレール、車道や歩道等の路面、走行可能領域、障害物などである。走行可能領域とは、移動体10が走行可能な領域である。障害物とは、走行を妨げる物体である。本実施形態では、対象Bが障害物である場合を一例として説明する。
本実施の形態では、対象情報30Aは、対象存在情報30Cまたは対象非存在情報30Dを示す。
対象存在情報30Cは、対象Bの存在を示す情報である。すなわち、対象存在情報30Cは、対象Bが存在することを示す情報である。対象非存在情報30Dは、対象Bの非存在を示す情報である。すなわち、対象非存在情報30Dは、対象Bが存在しないことを示す情報である。なお、対象非存在情報30Dは、後述する処理により、更に複数の種類に分類される(詳細後述)。なお、対象存在情報30Cは、1つの対象Bの存在を示す情報であってもよいし、複数の対象Bの存在を示す情報であってもよい。
未観測情報30Bは、対象Bの未観測に関する情報である。詳細には、未観測情報30Bは、センサ10Bからのレーザ光Lが届かず、センサ10Bによって検知することが出来なかった事を示す情報である。すなわち、未観測情報30Bは、対象Bが存在するか否か不明であることを示す情報である。センサ10Bからのレーザ光Lが届かない場合とは、他の対象Bによる死角、カメラの画角外、反射光が計測不可能な場所、および、センサ10Bの計測範囲外、などに位置する場合や、反射物が存在しないことでレーザ光Lの反射が計測できず距離が計測できなかった場合、などである。
なお、対象情報30Cは、対象Bの属性や対象Bの存在確率を示す情報であってもよい。
導出部20Dは、センサ10Bの周辺の複数の点32の各々の位置を示す検知情報を用いて、実空間の位置Pごとに、観測情報30を導出する。
図5は、センサ10Bの周辺の実空間Rの一例を示す模式図である。実空間Rは、直交座標系で表される空間である。例えば、センサ10Bによって、実空間Rにおける対象Bの表面の点32の群が検知されたと仮定する。この場合、導出部20Dは、実空間Rにおける、複数の点32の各々の位置を示す検知情報を、受付部20Cを介してセンサ10Bから受付ける。
図3に戻り、そして、導出部20Dは、検知情報に示される点32の内、対象Bを示す点32を特定する。本実施形態では、導出部20Dは、水平面と平行に設置された2次元LIDAR(センサ10B)で検出された点32については、路面から一定の高さを持つ障害物と判定し、対象Bを示す点32として特定する.そして、導出部20Dは、特定した点32の位置Pについて、対象Bの存在を示す対象存在情報30Cを導出する。
また、導出部20Dは、実空間Rにおける、センサ10Bから対象Bまでのレーザ光Lの通過した位置Pについては、レーザ光Lを遮る障害物である対象物Bが存在しないとして、対象Bが非存在の対象非存在情報30Dを導出する。
一方、導出部20Dは、実空間Rにおける、センサ10Bの設置位置に対して、対象Bの存在を示すものとして特定した点32より遠い位置Pについては、対象Bが未観測の未観測情報30Bを導出する。すなわち、センサ10Bに対して、対象Bより遠い位置Pについては、レーザ光Lが対象Bによって遮蔽されて届かないため(レーザ光L’参照)、対象Bが存在するか否か不明である。このため、導出部20Dは、実空間Rにおける、対象Bの存在を示すものとして特定した点32より、センサ10Bから遠い位置Pについては、未観測情報30Bを導出する。
なお、導出部20Dは、他の方法を用いて、未観測情報30Bを導出してもよい。例えば、導出部20Dは、センサ10Bから検出可能な距離や角度の範囲を予め設定する。そして、導出部20Dは、レーザ光Lの吸収等により計測出来なかった距離および角度の範囲内の位置Pについて、未観測情報30Bを導出してもよい。
このようにして、導出部20Dは、実空間Rの位置Pごとに観測情報30を導出する。
なお、センサ10Bが撮影装置である場合、センサ10Bによって得られた検知情報は、撮影画像である。この場合、導出部20Dは、公知のテンプレートマッチングを行うことで、撮影画像を構成する画素の位置Pごとに観測情報30を導出すればよい。また、この場合、導出部20Dは、画素ごとに対象Bの属性を推定するセマンティックセグメンテーションを用いて、画素の位置Pごとに観測情報30を導出してもよい。また、導出部20Dは、撮影画像における特徴点を追跡することで三次元再構成を行い、センサ10Bから対象Bまでの距離を推定することで、観測情報30を導出してもよい。
また、検知情報として撮影画像を用いる場合には、導出部20Dは、テンプレートマッチングを行わなかった画素の位置Pや、属性を推定しなかった画素の位置Pについて、未観測情報30Bを導出してもよい。
なお、観測情報30は、対象Bが存在するか否かを二値で表した情報であってもよい。
なお、上述したように、本実施の形態では、観測情報30は、対象存在情報30C、対象非存在情報30D、または未観測情報30Bを示す情報である。このため、例えば、観測情報30は、対象Bの存在確率などの連続値で表されてもよいし、セマンティックセグメンテーションによるラベルで対象Bの属性を表したものであってもよい。属性は、例えば、対象Bの種類である。対象Bの種類には、上述した対象Bの定義に加えて、推定対象の対象Bであるか否かを示す情報を含んでいてもよい。
図3に戻り説明を続ける。このようにして、導出部20Dは、実空間Rの各位置Pについて、観測情報30を導出する。そして、導出部20Dは、実空間Rの各位置Pの観測情報30を、対象マッピング部20Eおよび未観測マッピング部20Fへ出力する。
次に、対象マッピング部20Eについて説明する。図6は、対象マッピング部20Eによる処理の一例の説明図である。
対象マッピング部20Eは、導出部20Dから受付けた観測情報30によって示される対象情報30Aを、特定空間Sの対応するグリッドGに対応付ける。すなわち、対象マッピング部20Eは、対象存在情報30Cまたは対象非存在情報30Dを、特定空間SのグリッドGに対応付ける。
特定空間Sは、実空間Rを座標系で表した空間である。座標系は、極座標系または直交座標系である。本実施の形態では、特定空間Sは、実空間Rを極座標系で表した空間、すなわち極座標空間である場合を一例として説明する。極座標空間は、センサ10Bの観測平面における、センサ10B(情報処理装置20)を原点とした方位角方向(矢印Y方向)と、センサ10Bからの距離方向(矢印X方向)とによって規定される。方位角方向は、センサ10Bを通り、且つ、センサ10Bの搭載された移動体10の進行方向に対して直交する方向を基準とした、レーザ光Lの照射角度を示す。
グリッドGは、特定空間Sを複数の領域に分割した各領域である。詳細には、グリッドGは、特定空間Sの座標軸に沿って、特定空間Sを複数の領域に分割した各領域である。すなわち、特定空間Sは、座標軸に沿って二軸方向に配列された複数のグリッドGによって表される。なお、座標軸は、直交座標または極座標の座標軸である。本実施の形態では、上述したように、特定空間Sが極座標空間であることから、座標軸は、極座標の座標軸である。
なお、図6には、複数のグリッドGの配列によって表わされる行方向と方位角方向(矢印Y方向)とが一致し、複数のグリッドGの配列によって表される列方向と距離方向(矢印X方向)とが一致する形態を、一例として示した。しかし、この形態に限定されない。
実際には、グリッドGの配列によって表される行と列の識別番号には、方位角と距離との各々を等分割した離散値を割当てる。すなわち、各グリッドGは、移動体10(情報処理装置20)の周辺の領域に対応する。
なお、グリッドGの形状は限定されない。また、グリッドGのサイズは、限定されない。例えば、グリッドGのサイズは、センサ10Bで取得する点32(図2、図5参照)のサイズ以上である。なお、グリッドGのサイズは、推定対象の対象Bに応じて、適宜調整すればよい。
なお、グリッドGのサイズは、特定空間S内において一定であってもよいし、異なっていてもよい。例えば、グリッドGは、センサ10Bからの距離が遠いほど、大きいサイズであってもよい。また、グリッドGは、センサ10Bを原点とした極座標空間によって表される特定空間Sにおける、センサ10Bを原点とした特定の角度範囲内について、該角度範囲以外の角度に比べて、小さいサイズであってもよい。
また、特定空間Sは、二次元空間であってもよいし、三次元空間であってもよい。特定空間Sが三次元空間である場合、グリッドGを三次元方向(3軸方向)に配列した構成とすればよい。
対象マッピング部20Eは、導出部20Dから受付けた、実空間Rの位置Pごとの観測情報30の内、対象情報30Aを示す観測情報30を特定する。そして、対象マッピング部20Eは、対象情報30Aを示す観測情報30の位置Pに対応する、特定空間SにおけるグリッドGに、対象情報30Aを対応付ける。上述したように、対象情報30Aは、対象存在情報30Cまたは対象非存在情報30Dを示す。このため、対象マッピング部20Eは、対象情報30Aとして、対象存在情報30Cまたは対象非存在情報30Dを、各グリッドGに対応付ける。この対応付けによって、対象マッピング部20Eは、対象マップM1を生成する。
対象マッピング部20Eによる対応付けについて、具体的に説明する。例えば、対象マッピング部20Eは、実空間Rにおける位置Pと、マップMにおける対応する位置のグリッドGと、の対応付けを、センサ10Bによるレーザ光Lの照射方向(方位角方向)ごとに行う。詳細には、対象マッピング部20Eは、センサ10Bによるレーザ光Lの方位角方向の各々のグリッドGの群による行の内、対象Bを検知した行を特定する。なお、方位角方向のグリッドGの群による行とは、距離方向(矢印X方向)に沿って配列された複数のグリッドGからなる行であって、方位角方向(矢印Y方向)に沿って複数配列された行の各々を示す。
そして、対象マッピング部20Eは、特定した行を構成するグリッドGの群における、対象Bの検知された位置Pに対応するグリッドGには、対象存在情報30Cを対応付ける。対象Bの検知された位置Pは、導出部20Dによって対象存在情報30Cの導出された位置Pである。
また、対象マッピング部20Eは、特定した行を構成するグリッドGの群における、対象Bの検知された位置Pに対応するグリッドGよりセンサ10Bに近い側に位置するグリッドGについては、レーザ光Lが通過して対象Bが存在しなかった位置であることから、対象非存在情報30Dを対応付ける。
このように、対象マッピング部20Eは、センサ10Bによるレーザ光Lの照射方向毎に、各方向のグリッドGの群による行の各々に対して、対象存在情報30Cまたは対象非存在情報30Dを対応付ける。
本実施の形態では、対象マッピング部20Eは、対象情報30Aとして、対象Bの存在確率をグリッドGに対応付ける。本実施の形態では、対象Bの存在確率を、“0.0”から“1.0”までの値で表す。存在確率“1.0”は、そのグリッドGの位置に対象Bが存在することを示す。存在確率“0.0”は、そのグリッドGの位置に対象Bが存在しないことを示す。存在確率が“1.0”に近いほど、対象Bの存在する確率が高いことを示す。また、存在確率が“0.0”に近いほど、対象Bの存在する確率が低い事を示す。
具体的には、対象マッピング部20Eは、対象Bの検知された位置Pに対応するグリッドGには、存在確率“1.0”を、対象存在情報30Cとして対応付ける。また、対象マッピング部20Eは、対象Bの検知された位置Pに対応するグリッドGよりセンサ10Bに近い側に位置するグリッドGについては、存在確率“0.0”を、対象非存在情報30Dとして対応付ける。
次に、対象マッピング部20Eは、存在確率“0.0”の対象非存在情報30Dを対応付けたグリッドGについて、存在確率“1.0”の対象存在情報30Cを対応付けたグリッドGからセンサ10Bに近づく方向に向かって存在確率が低下するように、存在確率を調整する。
すなわち、対象マッピング部20Eは、対象Bの検知された位置Pに対応するグリッドGを中心として、予め定めた分散を示す正規分布に従って、該中心からセンサ10B側に向かって離れるほど存在確率が低下するように、存在確率を調整する。
例えば、対象マッピング部20Eは、対象非存在情報30Dを対応付けたグリッドGの内、対象存在情報30Cを対応付けたグリッドGに対してセンサ10B側に隣接するグリッドGに、存在確率“0.5”を示す対象非存在情報30Dを対応付ける。そして、対象マッピング部20Eは、該隣接するグリッドG以外の、対象非存在情報30Dを対応付けたグリッドGについては、存在確率“0.0”を示す対象非存在情報30Dを対応付ける。
なお、以下では、存在確率“0.0”を示す対象非存在情報30Dを、対象非存在情報30Eと称して説明する場合がある。また、存在確率“0.5”を示す対象非存在情報30Dを、対象非存在情報30Fと称して説明する場合がある(図4参照)。
このため、対象マッピング部20Eは、対象Bの検知された位置Pに対応するグリッドGに対して、存在確率“1.0”を示す対象存在情報30Cを対応付ける。また、対象マッピング部20Eは、特定空間Sにおける、対象非存在情報30Dの導出された位置Pに対応するグリッドGに対して、存在確率“0.0”を示す対象非存在情報30E、または、存在確率“0.5”を示す対象非存在情報30F、の何れかを対応付ける。
なお、対象マッピング部20Eは、レーザ光Lの方位角方向のグリッドGの群による行の内、対象Bを検知しなかった行を構成するグリッドGについては、対応付けを行わない。
上記の対応付けによって、対象マッピング部20Eは、対象存在情報30C、対象非存在情報30E、または対象非存在情報30FをグリッドGごとに対応付けた、対象マップM1を生成する。
このように、対象マッピング部20Eが、対象情報30Aとして、センサ10Bからの距離に応じた存在確率をグリッドGに対応付けることで、センサ10Bによる距離の検知誤差を調整することができる。すなわち、センサ10Bの検知誤差に相当する距離、対象Bから離れた位置では、センサ10Bの検知誤差によって対象Bが存在するか否かを確定することが困難な場合がある。このため、対象マッピング部20Eは、対象非存在情報30Dを対応付けたグリッドGの内、対象存在情報30Cを対応付けたグリッドGの周辺のグリッドGについては、対象非存在情報30Dとして、“0.0”と“1.0”の中間値の存在確率(例えば、“0.5”)を示す対象非存在情報30Fを対応付けることが好ましい。
なお、対象マッピング部20Eは、対象Bの存在確率に加えて、対象Bの有無を示す二値情報、対象Bの検知回数などの離散値、種類の異なる複数の対象Bの各々の存在確率、および、対象Bの属性を示すラベルや尤度、の少なくとも1つを、対象情報30Aとして、特定空間SのグリッドGに対応付けてもよい。
なお、対象マッピング部20Eは、上記とは異なる方法を用いて、対象マップM1を生成してもよい。例えば、対象マッピング部20Eは、特定空間Sの各グリッドGについて、実空間Rにおける対応する位置Pを通過する複数のレーザ光Lに関する情報を、観測情報30から導出する。そして、対象マッピング部20Eは、これらの複数のレーザ光Lに関する情報に基づいて、グリッドGごとに対象Bの存在確率を算出し、グリッドGに対応付けてもよい。
また、検知情報が撮影画像である場合には、対象マッピング部20Eは、該検知情報を得たセンサ10Bとしての撮影装置の撮影面と、特定空間Sの二次元平面と、の間の射影変換に用いる式を算出する。そして、撮影画像における各画素の位置Pを、該式を用いて特定空間Sの二次元平面に射影変換することで、該位置Pに対応するグリッドGを特定し、対象情報30Aを対応付けてもよい。
次に、未観測マッピング部20Fについて説明する。図7は、未観測マッピング部20Fによる処理の一例の説明図である。
未観測マッピング部20Fは、導出部20Dから受付けた観測情報30によって示される未観測情報30Bを、特定空間Sの対応するグリッドGに対応付ける。言い換えると、未観測マッピング部20Fは、観測情報30の導出された各位置Pの内、観測情報30として未観測情報30Bの導出された位置Pに対応するグリッドGに、未観測情報30Bを対応付ける。この対応付けによって、未観測マッピング部20Fは、未観測マップM2を生成する。
このため、センサ10Bによって対象Bが未観測であった位置Pに対応するグリッドGには、未観測情報30Bが対応付けられた状態となる。
未観測マッピング部20Fは、グリッドGへの未観測情報30Bの対応付けを、対象マッピング部20Eと同様に、センサ10Bによるレーザ光Lの照射方向(方位角方向)ごとに行う。
詳細には、未観測マッピング部20Fは、センサ10Bによるレーザ光Lの、方位角方向の各々のグリッドGの群による複数の行の内、対象Bを検知した行を特定する。
そして、未観測マッピング部20Fは、特定した行を構成するグリッドGの群における、対象Bの検知された位置Pに対応するグリッドGよりセンサ10Bから離れた距離に位置するグリッドGに、未観測情報30Bを対応付ける。
ここで、上述したように、未観測情報30Bは、対象Bが存在するか否か不明であることを示す情報である。このため、例えば、未観測マッピング部20Fは、対象Bが存在するか否か不明であることを示す存在確率を、未観測情報30Bとして、グリッドGに対応付けてもよい。本実施の形態では、未観測マッピング部20Fは、存在確率の中間値である“0.5”を未観測情報30Bとして、導出部20Dによって未観測情報30Bの導出された位置Pに対応するグリッドGに、対応付ける。
なお、未観測マッピング部20Fは、対象マッピング部20Eと同様に、上記とは異なる方法を用いて、未観測マップM2を生成してもよい。
また、未観測マッピング部20Fは、存在確率の中間値として、“0.0”より大きく且つ“1.0”未満であって且つ“0.5”以外の数値を、未観測情報30BとしてグリッドGに対応付けてもよい。また、未観測マッピング部20Fは、対象Bの存在確率に加えて、他の変数を、未観測情報30BとしてグリッドGに対応付けてもよい。
このようにして、未観測マッピング部20Fは、未観測マップM2を生成する。
図3に戻り、説明を続ける。次に、取得部20Gについて説明する。取得部20Gは、マップMを取得する。マップMは、特定空間SのグリッドGごとに、観測情報30によって示される対象Bに関する対象情報30Aまたは未観測情報30Bを対応付けたものである。詳細には、マップMは、特定空間SのグリッドGごとに、対象存在情報30C、対象非存在情報30E、対象非存在情報30F、または未観測情報30B、の何れかの観測情報30を対応付けたものである。
本実施の形態では、取得部20Gは、対象マッピング部20Eで生成された対象マップM1と、未観測マッピング部20Fで生成された未観測マップM2と、をマップMとして取得する。なお、取得部20Gは、同じ検知タイミングで検知された検知情報から導出された観測情報30に基づいて生成された、対象マップM1と未観測マップM2の対を、マップMとして取得する。
なお、対象マッピング部20Eおよび未観測マッピング部20Fは、1つの特定空間Sの各グリッドGに対して、対象情報30Aおよび未観測情報30Bを対応付けることで、マップMを生成してもよい。すなわち、対象マッピング部20Eおよび未観測マッピング部20Fは、同じマップMの各グリッドGに対して、直接、対象情報30Aおよび未観測情報30Bを対応付けてもよい。
なお、特定空間Sが二次元空間である場合、マップMは、センサ10Bの観測平面と一致する二次元空間であってもよいし、該観測平面に対して傾いた二次元平面によって表される二次元空間であってもよい。また、マップMは、グリッドGの解像度の異なる複数種類のマップMから構成されていてもよい。
取得部20Gは、取得したマップMを、補正部20Hへ出力する。
補正部20Hは、マップMのグリッドGの各々について、学習済モデルを用いて、周辺の他のグリッドGに対応付けられた観測情報30に基づいて、観測情報30の対応付けを補正する。
観測情報30の対応付けを補正する、とは、図4に示すように、マップMのグリッドGに対応付けられていた観測情報30を、他の観測情報30に補正することを示す。例えば、あるグリッドGに、観測情報30として未観測情報30Bが対応付けられていたと仮定する。この場合、対応付けを補正するとは、該グリッドGに、未観測情報30Bに代えて、対象存在情報30C、対象非存在情報30E、または対象非存在情報30Fを、対応付ける事を意味する。
学習済モデルとは、補正部20Hによる補正処理に用いるモデルである。本実施の形態では、学習済モデルは、マップMにおけるグリッドGの各々について、周辺の他のグリッドGに対応付けられた観測情報30に基づいて、観測情報30の対応付けを補正する。マップMは、上述したように、特定空間SのグリッドGごとに、対象Bに関する対象情報30Aを示す観測情報30または対象未観測に関する未観測情報30Bを示す観測情報30を対応付けたものである。
本実施の形態では、処理部20Aが、予め学習済モデルを生成する。
例えば、処理部20Aは、グリッドGごとに観測情報30を対応付けた補正前のマップM(第1のマップと称する)と、観測情報30の対応付けの少なくとも一部を補正した後のマップM(第2のマップと称する)と、の対を複数用意する。そして、処理部20Aは、第1のマップを入力とし、第2のマップを出力するための、モデルのパラメータを事前に学習する。この学習によって、処理部20Aは、学習したパラメータの設定された学習済モデルを生成する。
処理部20Aは、例えば、CNN(Convolutional Neural Network)を、モデルとして用いる。
第1のマップには、グリッドGごとに、対象情報30A(対象存在情報30C、対象非存在情報30E、または対象非存在情報30F)および未観測情報30Bの何れかの観測情報30が、対応付けられたマップを使用する。第2のマップには、対となる第1のマップにおける未観測情報30Bの対応付けられた少なくとも一部のグリッドGに対して、対応する位置のグリッドGに対象情報30Aの対応付けられた、マップを用いる。
なお、第2のマップには、対となる第1のマップにおける未観測情報30Bの対応付けられた少なくとも一部のグリッドGに対して、対応する位置のグリッドGに、対象情報30Aとして対象存在情報30Cの対応付けられた、マップを用いる事が好ましい。
例えば、あらかじめセンサ10Bの時系列の検知情報を保持しておき、第1のマップには、センサ10Bがある1つの検知タイミングで検知した検知情報に基づいた対象情報30Aまたは未観測情報30Bが、グリッドGごとに対応付けられたマップを使用する。第2のマップには、センサ10Bが複数の検知タイミングで検知した検知情報に基づいた、対象情報30Aまたは未観測情報30Bが、グリッドGごとに対応付けられたマップを使用する。具体的には、処理部20Aは、第1のマップの検知タイミングの前後の検知タイミングの検知情報に基づいて、第2のマップに対象情報30Aや未観測情報30Bを対応付ける。
なお、処理部20Aは、第1のマップには、ある時刻までの検知情報を対応付けたマップを用い、第2のマップには、その時刻以後の検知情報も対応付けたマップを用いてもよい。また、処理部20Aは、第1のマップには、あるセンサ10Bの検知情報を対応付けたマップを用い、第2のマップには、異なるセンサ10Bの検知情報を対応付けたマップを用いてもよい。
図8は、補正部20Hによる対応付けの補正の一例を示す説明図である。
上述したように、補正部20Hは、補正対象のマップMのグリッドGの各々について、学習済モデルを用いて、周辺の他のグリッドGに対応付けられた観測情報30に基づいて、グリッドGに対する観測情報30の対応付けを補正する。
周辺の他のグリッドGとは、マップMにおける、補正対象のグリッドGの周囲に隣接して配置された、他のグリッドGを含む。補正対象のグリッドGの周辺に隣接して配置された、とは、補正対象のグリッドGに接して(隣接して)配置されていることを示す。
なお、周辺の他のグリッドGは、補正対象のグリッドGの周囲に隣接して配置された他のグリッドGを少なくとも含めばよい。このため、周辺の他のグリッドGは、補正対象のグリッドGに隣接するグリッドGから離れる方向に向かって、連続して配列された複数の他のグリッドGを含むものであってもよい。
例えば、補正部20Hは,グリッドGの各々に観測情報30(対象存在情報30C、対象非存在情報30E、対象非存在情報30F、または未観測情報30Bのいずれか)の対応付けられたマップMを、学習済モデルに入力する。この学習済モデルへの入力によって、補正部20は、グリッドGの各々について、その周辺の他のグリッドGの観測情報を考慮した、補正後の観測情報30(すなわち存在確率)を導出する。
例えば、マップMのグリッドGの各々に、観測情報30として、対象存在情報30C、対象非存在情報30E、対象非存在情報30F、または未観測情報30Bを示す存在確率が対応付けられていると仮定する。
この場合、補正部20Hは、グリッドGの各々に対応付けられた存在確率をマップMとして、学習済モデルに入力する。この学習済モデルへの入力によって、補正部20Hは、グリッドGの各々に補正後の存在確率が対応付けられた、補正済マップM’を導出する。
上記処理により、補正部20Hは、少なくとも、マップMにおける未観測情報30Bの対応付けられていたグリッドGについて、周辺の他のグリッドGの観測情報30と学習済モデルとに基づいて、観測情報30の対応付けを補正する。すなわち、補正部20Hは、少なくとも、マップMにおける、未観測情報30Bの対応付けられたグリッドGの対応付けを補正する。
このため、補正部20Hは、補正前のマップMにおいては、未観測情報30Bの対応付けられていた少なくとも一部のグリッドGに対して、未観測情報30B以外の観測情報30(対象情報30A(対象存在情報30C、対象非存在情報30D(対象非存在情報30E、対象非存在情報30F)))を示す存在確率を新たに対応付けるように、対応付けを補正することができる。
また、補正部20Hは、学習済モデルを用いて対応付けの補正を行うことで、過去の第1のマップと第2のマップとの対の分布から推定した結果に応じて、グリッドGに対する観測情報30の対応付けを補正することができる。
また、上述したように、本実施の形態では、補正前のマップMには、存在確率の中間値である“0.5”が、未観測情報30BとしてグリッドGに対応付けられている。
このため、補正部20Hは、マップMにおける、対象Bの存在を推定可能な位置Pに対応するグリッドGについては、対象Bの存在の有無を示す対象情報30A(対象存在情報30C、対象非存在情報30Eを対応付けることができる。また、補正部20Hは、対象Bの存在を推定不可能な位置Pに対応するグリッドGについては、対象Bの有無の存在が不確定であることを示す対象非存在情報30Fが対応付けられるように、対応付けを補正することができる。
なお、補正部20Hは、マップMにおける、対象情報30Aの対応付けられたグリッドGの対応付けについても、補正を行ってもよい。すなわち、補正部20Hは、マップMにおける対象情報30Aの対応付けられたグリッドGについても、学習済モデルを用いて、周辺の他のグリッドGの観測情報30に基づいて、観測情報30の対応付けを補正する。
この場合、補正部20Hは、対象情報30Aの対応付けられたグリッドGの対応付けの補正を、未観測情報30Bの対応付けられたグリッドGに比べて抑制するように、学習済モデルのパラメータを変更し、観測情報30の対応付けを補正することが好ましい。
例えば、補正前の存在確率と補正後の存在確率との差を、補正量とする。この場合、補正部20Hは、対象情報30Aが対応付けられていたグリッドGについては、未観測情報30Bが対応付けられたグリッドGに比べて補正量が小さくなるように、存在確率を補正すればよい。また、補正部20Hは、対象情報30Aが対応付けられたグリッドGについては、対応付けの補正を行わない構成であってもよい。
図3に戻り説明を続ける。次に、出力制御部20Iについて説明する。出力制御部20Iは、出力情報を、出力部10Aおよび駆動制御部10Gの少なくとも一方へ出力する。
出力情報は、補正部20Hによって補正された後のマップMを示す情報である。例えば、出力情報は、補正部20Hによって補正された後のマップMである。
例えば、出力制御部20Iは、出力情報を、出力部10Aへ出力する。出力情報を受付けると、出力部10Aの通信部10Dは、外部装置などに、出力情報を送信する。また、例えば、出力部10Aのディスプレイ10Eは、出力情報を表示する。また、例えば、出力部10Aのスピーカ10Fが、出力情報に応じた音を出力する。出力情報に応じた音は、出力情報を示す音声であってもよいし、出力情報に応じた警告音であってもよい。
また、例えば、出力制御部20Iは、出力情報を、駆動制御部10Gへ出力する。上述したように、駆動制御部10Gは、移動体10の駆動部10Hを制御する。出力情報を受付けた駆動制御部10Gは、出力情報や、センサ10Bから得られた情報などに基づいて、周辺の状況を判断し、アクセル量、ブレーキ量、操舵角などの制御を行う。例えば、駆動制御部10Gは、障害物を避けて現在走行中の車線を保ち、かつ前方車両との車間距離を所定距離以上保つように車両の制御を行う。
詳細には、駆動制御部10Gは、補正後のマップMを用いて、駆動部10Hを制御する。すなわち、駆動制御部10Gは、センサ10Bの検出情報からは、対象Bが存在するか否か不明な位置についても、補正された後のマップMを用いて駆動部10Hを制御する。
例えば、駆動制御部10Gは、補正後のマップMを用いて、移動体10の速度を制御する。具体的には、駆動制御部10Gは、補正後のマップMから危険領域を特定し、該領域の近傍の走行時に移動体10の速度を低下させるように制御する。危険領域とは、例えば、死角に対象Bが存在すると推定された領域などである。
例えば、駆動制御部10Gは、補正後のマップMにおける、未観測情報30Bの対応付けられた複数のグリッドGが連続して配置された領域内に、対象情報30Aの対応付けられたグリッドGが存在する場合、該グリッドGを含む領域を、危険領域と特定する。また、例えば、駆動制御部10Gは、未観測情報30Bの対応付けられた所定の数以上の複数のグリッドGが連続して配置された領域内に、道路や空間を示す属性の対応付けられたグリッドGが存在する場合、該グリッドGを含む領域を、危険領域と特定する。
このような制御により、駆動制御部10Gは、移動体10の安全走行を実現することができる。
なお、出力制御部20Iは、出力情報を記憶部20Bへ記憶してもよい。また、出力制御部20Iは、出力情報を、他の処理機能部(例えば、衝突判定や運動予測などを行う機能)に対して出力してもよい。
次に、処理部20Aが実行する情報処理の手順の一例を説明する。図9は、処理部20Aが実行する情報処理の手順の一例を示す、フローチャートである。
まず、受付部20Cが、センサ10Bから検知情報を受付ける(ステップS100)。次に、導出部20Dが、ステップS100で受付けた検知情報から、実空間Rにおける各位置Pの観測情報30を導出する(ステップS102)。
次に、対象マッピング部20Eが、グリッドGごとに対象情報30Aを対応付ける(マッピングする)(ステップS104)。ステップS104では、対象マッピング部20Eは、ステップS102で観測情報30の導出された各位置Pの内、観測情報30として対象情報30A(対象存在情報30Cまたは対象非存在情報30D)の導出された位置Pに対応するグリッドGに、該対象情報30Aを対応付ける。ステップS104の処理によって、対象マップM1が生成される。
次に、未観測マッピング部20Fが、未観測情報30Bを対応付ける(マッピングする)(ステップS106)。ステップS106では、未観測マッピング部20Fは、ステップS102で観測情報30の導出された各位置Pの内、観測情報30として未観測情報30Bの導出された位置Pに対応するグリッドGに、未観測情報30Bを対応付ける。ステップS106の処理によって、未観測マップM2が生成される。
次に、取得部20Gが、ステップS104で生成された対象マップM1と、ステップS106で生成された未観測マップM2と、をマップMとして取得する(ステップS108)。
次に、補正部20Hが、ステップS108で取得したマップMのグリッドGの各々について、学習済モデルを用いて、周辺の他のグリッドGに対応付けられた観測情報30に基づいて、観測情報30の対応付けを補正する(ステップS110)。
次に、出力制御部20Iが、ステップS110で補正された後のマップMを、出力部10Aおよび駆動制御部10Gへ出力する出力制御を行う(ステップS112)。そして、本ルーチンを終了する。
したように、本実施の形態の情報処理装置20は、取得部20Gと、補正部20Hと、を備える。取得部20Gは、マップMを取得する。マップMは、特定空間SのグリッドGごとに、対象Bに関する対象情報30Aを示す観測情報30、または対象未観測に関する未観測情報30Bを示す観測情報30を対応付けた、マップMである。補正部20Hは、グリッドGの各々について、学習済モデルを用いて、周辺の他のグリッドGに対応付けられた観測情報30に基づいて、観測情報30の対応付けを補正する。
このように、本実施の形態の情報処理装置20は、マップMに含まれるグリッドGの各々について、周辺の他のグリッドGに対応付けられた観測情報30と、学習済モデルと、に基づいて、観測情報30の対応付けを補正する。このため、対象未観測に関する未観測情報30Bを示す観測情報30の対応付けられたグリッドGについても、学習済モデルを用いて、周辺の他のグリッドGに対応づけられた観測情報30を用いて、観測情報30の対応付けを補正することができる。
ここで、従来では、他の車両による追跡結果を用いない場合や、過去に一度も観測していない対象については、未観測位置における対象を精度良く推定することは困難であった。未観測位置とは、センサ10Bからのレーザ光Lが届かず、センサ10Bによって検知することが出来ない位置を示す。すなわち、未観測位置は、対象Bが存在するか否か不明な位置を示す。
一方、本実施の形態の情報処理装置20では、対象未観測に関する未観測情報30Bを示す観測情報30の対応付けられたグリッドGについて、学習済モデルを用いて、周辺の他のグリッドGに対応づけられた観測情報30を用いて、観測情報30の対応付けを補正することができる。
このため、本実施の形態の情報処理装置20は、対象Bが存在するか否か不明な未観測位置のグリッドGについても、周辺の他のグリッドGに対応付けられた観測情報30や学習済モデルを用いて、対象情報30Aまたは未観測情報30Bが対応付けられるように補正することができる。
従って、本実施の形態の情報処理装置20は、未観測位置における対象Bを、精度良く推定することができる。
また、本実施の形態の情報処理装置20は、上記補正されたマップMを得ることができるので、上記効果に加えて、死角に関する衝突危険予知や早期制御に用いる事の可能な有用な情報を、提供することができる。
また、本実施の形態では、駆動制御部10Gが、補正後のマップMを用いて、駆動部10Hを制御する。
ここで、補正後のマップMを用いずに、駆動制御部10Gが駆動部10Hを駆動制御する場合、センサ10Bによって検知することが出来なかった対象Bを検知可能な位置まで走行しなければ、移動体10の走行の安全性を確保することは困難であった。
一方、本実施の形態の情報処理装置20の駆動制御部10Gは、補正後のマップMを出力情報として用いて、駆動部10Hを制御する。このため、本実施の形態の情報処理装置20は、より早期に危険を回避することができ、移動体10の走行の安全性を確保することができる。
また、出力制御部20Iは、補正後のマップMに基づいて、移動体10の死角に存在する障害物の回避や死角に存在する道路への円滑な走行を可能にするような、走行経路を生成してもよい。そして、出力制御部20Iは、生成した走行経路を出力情報として、駆動制御部10Gへ出力してもよい。この場合、駆動制御部10Gは、該走行経路に沿って自律走行するように、駆動部10Hを制御してもよい。
また、出力制御部20Iは、補正後のマップMに基づいて、他の移動体の移動経路を予測してもよい。そして、予測した予測移動経路を出力情報として、駆動制御部10Gへ出力してもよい。この場合、駆動制御部10Gは、予測移動経路に基づいて、他の移動体との衝突を回避した走行経路を走行するように、駆動部10Hを制御すればよい。
なお、本実施の形態では、補正部20Hは、取得部20Gから受付けたマップMに含まれるグリッドGの各々について観測情報30の対応付けを補正したマップMを、出力制御部20Iへ出力する形態を説明した。
しかし、補正部20Hは、補正対象のグリッドGごとに、周辺の他のグリッドGを切出した局所的なマップMを用いて、該補正対象のグリッドGの対応付けを補正してもよい。また、補正部20Hは、マップMに含まれるグリッドGの各々について、センサ10Bに近い位置に配置されたグリッドGから遠い位置に配置されたグリッドGに向かって順に、対応付けの補正を行ってもよい。
なお、本実施の形態では、学習済モデルには、学習したCNNをモデルとして用いる形態を説明した。しかし、学習済モデルには、CNN以外のモデルを用いてもよい。
例えば、補正部20Hは、局所的な領域を示す第1のマップと第2のマップの複数の対を、辞書として、予め複数用意する。そして、補正部20Hは、補正対象のマップMから切り出した局所的な領域に最も類似する対を、辞書から選択する。そして、補正部20Hは、選択した第1のマップと第2のマップの対を、補正対象のマップM上に重ね合わせることで、対応付けの補正を行ってもよい。
また、補正部20Hは、上記の局所的な領域として一定の範囲の領域を用いてもよいし、補正対象のマップMにおける位置ごとに、異なる範囲の領域を用いてもよい。
また、補正部20Hは、補正対象のマップMにおける、対象存在情報30Cの対応付けられたグリッドGに対して直線等の構造で近似を行い、該マップMにおける未観測情報30Bの対応付けられたグリッドGに延長することで、観測情報30の対応付けの補正を行ってもよい。
また、補正対象のマップMにおける、未観測情報30Bの対応付けられたグリッドGの各々に対して、最も近い位置で且つ対象存在情報30Cの対応付けられたグリッドGの該対象情報30Aを用いて、対応付けを補正してもよい。
(変形例1)
なお、上述したように、本実施の形態では、特定空間Sの座標系が極座標系であり、マップMは、極座標空間のグリッドGに観測情報30を対応付けたものである場合を説明した。しかし、特定空間Sの極座標系は、直交座標系であってもよい。
この場合、マップMの座標系と、実空間Rの座標系と、が一致することとなる。例えば、マップMは、センサ10B(情報処理装置20)を原点とし、センサ10Bの搭載された移動体10の進行方向と、該進行方向に対して直交する方向と、を座標軸とした直交座標で表される。
この場合、補正部20Hまたは出力制御部20Iが、補正後のマップMを極座標系から直交座標系に変換し、出力してもよい。
また、対象マッピング部20Eおよび未観測マッピング部20Fが、直交座標系の特定空間Sに観測情報30を対応づけることで、直交座標系の対象マップM1および未観測マップM2を生成してもよい。
この場合、対象マッピング部20Eは、センサ10Bからの方位角と距離で表される実空間Rにおける位置Pを、直交座標系で表される位置Pに変換する。すなわち、対象マッピング部20Eは、センサ10Bからの方位角と距離で表される位置Pを、センサ10Bを原点とした進行方向の距離と、該進行方向に直交する方向の距離と、で表す位置Pに変換する。そして、対象マッピング部20Eは、変換後の位置P、すなわち、直交座標系で表されるマップMのグリッドGに、変換前の対応する位置Pの対象情報30Aを対応付ける。
また、対象マッピング部20Eは、直交座標系の特定空間S(すなわち直交座標空間)における、対象Bの検知された位置Pに対応するグリッドGを中心として、センサ10Bの検知誤差を考慮し、そこから離れるほど存在確率が低下するように、存在確率を対象非存在情報30Dとして対応付ければよい。
なお、センサ10BがLIDARである場合、上述のような極座標系から直交座標系への変換が必要であるが、センサ10Bが、撮影画像などの直交座標空間の検知情報を取得する場合、上記の変換は不要である。
また、対象マッピング部20Eについても同様に、未観測情報30Bの導出された位置Pに対応する、直交座標系で表されるマップMのグリッドGに、未観測情報30Bを対応付ければよい。
そして、補正部20Hは、上記実施の形態と同様に、補正対象のマップMのグリッドGの各々について、周辺の他のグリッドGに対応付けられた観測情報30と、学習済モデルと、に基づいて、グリッドGに対する観測情報30の対応付けを補正する。
なお、上記実施の形態では、極座標系で表されるマップMを用いた。このため、上記実施の形態では、マップM内のグリッドG間で、補正時に同じ数のグリッドGを周辺の他のグリッドGとして用いると、センサ10Bから所定距離以上離れたグリッドGでは実空間Rにおいて異なる大きさの周辺の領域を用いて補正することとなる。
一方、本変形例では、直交座標系で表されるマップMを用いる。このため、補正部20Hは、センサ10Bからの距離に拘らず、実空間Rにおいて同じ大きさの領域を、周辺の他のグリッドGとして用いて、補正を行うことができる。
また、本変形例では、直交座標系のマップMを用いるため、駆動制御部10Gは、移動体10の駆動とマップMにおける位置とを容易に対応づけて制御を行うことができる。
(変形例2)
なお、上述したように、上記実施の形態では、1つの検知タイミングでセンサ10Bによって検知された検知情報に基づいたマップMに対して、補正部20Hが処理を行う形態を説明した。しかし、補正部20は、複数の検知タイミングの検知情報の対応付けられたマップMに対して、処理を行ってもよい。
本変形例では、取得部20Gは、同じ検知タイミングで検知された検知情報から導出された観測情報30に基づいて生成された、対象マップM1と未観測マップM2の対からなるマップMを取得する。そして、取得部20Gは、時系列で受付けた検知情報に応じて順次生成されたマップMを、時系列に沿って2つのマップMごとに統合し、1つのマップMとした上で、補正部20Hへ出力する。
例えば、取得部20Gは、あるタイミング(タイミングAとする)で生成されたマップMに、次のタイミング(タイミングBとする)で生成されたマップMのグリッドGに対応付けられた対象情報30Aを、統合する。
なお、タイミングAで生成されたマップMの各グリッドGには、対象マッピング部20Eおよび未観測マッピング部20Fによって、対象情報30Aまたは未観測情報30Bが既に対応付けられている。このため、タイミングAとタイミングBとの間で発生しうる移動体10の移動や周辺の対象Bの移動による時間変化に伴い、タイミングAでグリッドGに対応付けられた観測情報30と、タイミングBで該グリッドGに対応付けられた観測情報30と、の間で矛盾が発生する場合がある。
このため、取得部20Gは、タイミングAで生成されたマップMの各グリッドGに対応付けられた観測情報30と、タイミングBで生成されたマップMの各グリッドGに対応付けられた観測情報30と、を考慮した観測情報30を、タイミングAで生成されたマップMのグリッドGに対応付ける。この処理により、取得部20Gは、これらのマップMを1つに統合する。
具体的には、取得部20Gは、タイミングAのマップMにおける、未観測情報30Bの対応付けられたグリッドGの内、タイミングBのマップMにおける対応する位置のグリッドGに対象情報30Aの対応付けられたグリッドGについて、該対象情報30Aを対応づける。
また、取得部20Gは、タイミングAのマップMにおける、対象情報30Aの対応付けられたグリッドGについて、該対象情報30Aを事前存在確率として保持する。そして、取得部20Gは、タイミングBのマップMにおける対応する位置のグリッドGに対応付けられた観測情報30を用いて事後確率を算出する。そして、取得部20Gは、事後確率を、タイミングAのマップMにおける対応するグリッドGに対応付ける。
また、タイミングAのマップMにおける、観測情報30の対応付けられたグリッドGについては観測情報30の変更を行わず、観測情報30の対応付けられていないグリッドGについては未観測情報30Bを対応付けることで、マップMを統合してもよい。
そして、取得部20Gは、2つのマップMを統合して1つにしたマップMを、補正部20Hへ出力する。
なお、本変形例では、時系列で受付けた検知情報に応じて順次生成されたマップMを、時系列に沿って2つのマップMごとに統合し、1つのマップMとした上で、補正部20Hへ出力する。しかし、取得部20Gは、時系列に沿って3つのマップMごとに統合して1つのマップMとした上で、補正部20Hへ出力してもよい。
また、取得部20Gは、タイミングAのマップMにおけるグリッドGの位置と、タイミングBのマップMにおけるグリッドGの位置と、の対応を、移動体10の移動状況から導出してもよいし、これらの2つのマップMに含まれる同じ対象Bの位置を特定することで推定してもよい。
なお、移動体11Dを、2つのセンサ10Bを備えた構成としてもよい。この場合、取得部20Gは、同じタイミングで2つのセンサ10Bの各々で検出された2つの検出情報の各々に基づいて生成された2つのマップMを、統合し、1つのマップMとしてもよい。
なお、上記実施の形態では、1つの検知タイミングの検知情報をマップMに対応付ける形態を説明した。このため、上記実施の形態では、マップMには、ある位置から観測可能な観測情報30しか対応づけられない。
一方、本変形例では、複数の検知タイミングの検知情報をマップMに対応付ける。このため、本変形例では、異なる位置で観測可能な観測情報30も対応付けることができる。また、本変形例では、補正部20Hが補正を行う際に、より多くの観測情報30に基づいて対応付けを補正することができる。このため、本変形例では、より精度よく、未観測位置の対象を推定することができる。
(第2の実施の形態)
次に、学習済モデルのパラメータを更新する形態を説明する。
図10は、情報処理装置21Bの搭載された移動体11Bの一例を示すブロック図である。なお、移動体11Bは、情報処理装置20に代えて情報処理装置21Bを搭載した以外は、第1の実施の形態の移動体10と同様である。
情報処理装置21Bは、処理部40と、記憶部20Bと、を備える。情報処理装置21Bは、処理部20Aに代えて処理部40を備える。
処理部40は、受付部20Cと、導出部20Dと、対象マッピング部20Eと、未観測マッピング部20Fと、取得部20Gと、補正部40Hと、出力制御部20Iと、第1更新部40Jと、を備える。
処理部40は、補正部20Hに代えて補正部40Hを備え、第1更新部40Jを更に備えた点以外は、第1の実施の形態の処理部20Aと同様である。
補正部40Hは、対応付けの補正に、第1更新部40Jによってパラメータの更新された学習済モデルを用いる点以外は、第1の実施の形態の補正部20Hと同様である。
第1更新部40Jは、異なるタイミングの複数の観測情報30の各々から導出された、複数のマップMに基づいて、学習済モデルのパラメータを更新する。
異なるタイミングの複数の観測情報30とは、異なるタイミングで検知された複数の検知情報の各々から導出部20Dによって導出された、各タイミングに対応する観測情報30である。
異なるタイミングの複数の観測情報30の各々から導出された、複数のマップMとは、各タイミングの観測情報30に基づいて、該タイミングごとに、対象マッピング部20Eおよび未観測マッピング部20Fによって生成された対象マップM1および未観測マップM2の複数の対である。
第1更新部40Jは、対象マッピング部20Eおよび未観測マッピング部20Fから、順次、マップMを取得する。すなわち、第1更新部40Jは、対象マッピング部20Eで生成された対象マップM1と、未観測マッピング部20Fで生成された未観測マップM2と、をマップMとして、順次取得する。これにより、第1更新部40Jは、異なるタイミングで検知された複数の検知情報の各々に基づいて生成された、複数のマップMを取得する。
そして、第1更新部40Jは、生成に用いた検知情報の検知タイミングの異なる2つのマップMを用いて、学習済モデルのパラメータを更新する。ここで、第1のタイミングで検知された検知情報に基づいて生成されたマップMを、第1のタイミングのマップMと称して説明する。また、第1のタイミングより遅いタイミングを第2のタイミングとする。そして、第2のタイミングで検知された検知情報に基づいて生成されたマップMを、第2のタイミングのマップMと称して説明する。
そして、第1更新部40Jは、第1のタイミングのマップMで未観測情報30Bの対応付けられたグリッドGの内、第2のタイミングのマップMでは対象情報30Aの対応付けられたグリッドGを特定する。
なお、第1のタイミングのマップMと第2のタイミングのマップMとの間のグリッドGの位置の対応付けは、次のように行えばよい。例えば、第1更新部40Jは、2つのタイミングの間の移動体10の移動を推定し、第1のタイミングのマップMを基準として、第2のタイミングのマップMにおける対応する位置を算出する。第1更新部40Jは、この算出を、マップMに含まれるグリッドGの全てに対して行う。
そして、第1更新部40Jは、第1のタイミングのマップMに含まれるグリッドGの各々について、周辺の他のグリッドGに対応付けられた観測情報30から、第2のタイミングのマップMにおける対応する位置のグリッドGに対応づけられた観測情報30へ、観測情報30の対応付けを補正するためのパラメータを導出する。
そして、第1更新部40Jは、補正部40Hで用いている学習済モデルのパラメータを、導出したパラメータに更新し、補正部40Hへ出力する。
補正部40Hは、第1更新部40Jによってパラメータが更新された場合、更新されたパラメータの学習済モデルを用いて、第1の実施の形態の補正部20Hと同様にして、観測情報30の対応付けを補正する。
なお、第1更新部40Jは、更新前のパラメータと新たに導出した更新後のパラメータとの差分を、補正部40Hへ出力してもよい。この場合、補正部40Hは、学習済モデルのパラメータを、受付けた差分を用いて更新した後に、観測情報30の対応付けの補正に用いればよい。
なお、第1更新部40Jは、第2のタイミングのマップMとして、1つのマップMを用いてもよいし、複数のマップMを用いてもよい。第2のタイミングの複数のマップMは、具体的には、第1のタイミングとは異なるタイミングで検知され、且つ、互いに異なるタイミングで検知された複数の検知情報の各々に基づいて生成された、マップMであればよい。第2のタイミングの複数のマップMを用いる場合、第1更新部40Jは、第2のタイミングの複数のマップMを統合して1つのマップMとした上で、上記処理を行えばよい。
また、第1更新部40Jは、第1のタイミングのマップMと第2のタイミングのマップMとのペアを、複数用いて、学習済モデルのパラメータを導出してもよい。
次に、処理部40が実行する情報処理の手順の一例を説明する。
処理部40は、第1の実施の形態の処理部20Aと同様の処理を実行する(図9参照)。但し、処理部40は、図11に示す割込み処理を実行する。
図11は、処理部40が実行する割込み処理の手順の一例を示すフローチャートである。処理部40は、図9に示す情報処理の手順の実行中に、図11に示す割込み処理を実行する。
まず、第1更新部40Jは、学習済モデルのパラメータを更新するか否かを判断する(ステップS200)。ステップS200で否定判断すると(ステップS200:No)、本ルーチンを終了する。ステップS200で肯定判断すると(ステップS200:Yes)、ステップS202へ進む。
ステップS202では、第1更新部40Jが、第1のタイミングのマップMと第2のタイミングのマップMを用いて、学習済モデルのパラメータを更新する(ステップS202)。
次に、第1更新部40Jは、パラメータを更新した学習済モデルを、補正部40Hへ出力する(ステップS204)。補正部40Hは、パラメータの更新された学習済モデルを受付けると、受付けた学習済モデルを用いて、マップMのグリッドGの各々について、観測情報30の対応付けを補正する。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置21Bでは、第1更新部40Jが、異なるタイミングの複数の観測情報30の各々から導出された、複数のマップMに基づいて、学習済モデルのパラメータを更新する。
ここで、学習済モデルのパラメータを更新しない場合には、該学習済モデルの生成に用いたマップMに示される環境と、実際の補正時の環境とが大きく異なる場合、対応付けの補正精度が低下する場合がある。一方、本実施の形態の情報処理装置21Bでは、第1更新部40Jが、異なるタイミングの複数の観測情報30の各々から導出された、複数のマップMに基づいて、学習済モデルのパラメータを更新する。
このため、本実施の形態の情報処理装置21Bでは、補正時の環境に適応した、対応付けの補正を行うことができる。
従って、本実施の形態の情報処理装置21Bでは、第1の実施の形態の効果に加えて、より精度良く、未観測位置における対象Bを推定することができる。
(第3の実施の形態)
本実施の形態では、複数の補正部20Hを備えた形態を説明する。
図12は、情報処理装置21Cの搭載された移動体11Cの一例を示すブロック図である。なお、移動体11Cは、情報処理装置20に代えて情報処理装置21Cを搭載した以外は、第1の実施の形態の移動体10と同様である。
情報処理装置21Cは、処理部42と、記憶部20Bと、を備える。情報処理装置21Cは、処理部20Aに代えて処理部42を備える。
処理部42は、受付部20Cと、導出部20Dと、対象マッピング部20Eと、未観測マッピング部20Fと、取得部20Gと、選択部42Kと、補正部42Hと、出力制御部20Iと、を備える。
処理部42は、補正部20Hに代えて補正部42Hを備え、選択部42Kを更に備えた点以外は、第1の実施の形態の処理部20Aと同様である。
補正部42Hは、複数の補正部42Aを備える。本実施の形態では、補正部42Hは、3つの補正部42A(補正部42A1~補正部42A3)を備える。なお、補正部42Hは、複数の補正部42A(補正部42A1~補正部42A3)を備えた構成であればよく、3つの補正部42Aを備えた形態に限定されない。
複数の補正部42Aは、それぞれ、第1の実施の形態の補正部20Hと同様である。但し、複数の補正部42Aは、互いに異なるパラメータの学習済モデルを用いて、対応付けを補正する。すなわち、複数の補正部42Aには、互いに異なるパラメータの学習済モデルが予め設定されている。
選択部42Kは、選択情報に基づいて、観測情報30の対応付けを補正する補正部42Aを選択する。詳細には、選択部42Kは、複数の補正部42A(補正部42A1~補正部42A3)の内、観測情報30の対応付けを補正する、1つの補正部42Aを選択する。
選択部42Kは、選択情報を受付ける。例えば、選択部42Kは、入力装置10C、通信部10Dを介して外部装置、センサ10B、および駆動制御部10Gの少なくとも1つから、選択情報を受付ける。
そして、選択部42Kは、選択情報に応じて、複数の補正部42A(補正部42A1~補正部42A3)の内の1つの補正部42Aを選択する。
選択情報は、複数の補正部42Aの内の何れを選択するかの判断に用いる情報である。詳細には、選択情報は、周辺環境、天候、時間帯、走行状態、ユーザの好み、などの選択条件を示す情報である。これらの選択条件は、センサ10Bで検出された情報や、移動体11Cの車速や加速度等の運動状態や、ワイパーやヘッドライトや空調等の装置の使用状況を示す情報などによって表される。
例えば、選択情報は、ユーザによる入力装置10Cの操作によって入力される。この場合、選択部42Kは、入力装置10Cから選択情報を受付ける。選択情報は、例えば、特定の補正部42Aの識別情報や、特定の対象Bを優先して推定することを示す情報などである。
選択情報が、センサ10Bで検出された情報である場合、選択部42Kは、センサ10Bから選択情報を受付ける。例えば、センサ10Bが、振動を計測するセンサである場合、選択情報は、振動の計測結果である。また、センサ10Bが、移動体11Cの位置を検出する位置検出センサである場合、選択情報は、移動体11Cの位置を示す情報である。また、センサ10Bが、内界センサである場合、選択情報は、移動体11Cの車速や加速度等の運動状態や、ワイパーやヘッドライトや空調等の装置の使用状況を示す情報である。
そして、選択部42Kは、選択情報を受付けると、受付けた選択情報に応じた1つの補正部42Aを選択する。
選択部42Kは、選択情報と、補正部42Aの識別情報と、を対応付けて、予め記憶部20Bに記憶する。例えば、補正部42Hが、2つの補正部42A(処理部42A1、補正部42A2)を備えると仮定する。そして、補正部42A1が、晴天に適した対応付けの補正を行うためのパラメータの設定された学習済モデルを用いて補正を行うとする。また、補正部42A2は、雨天に適した対応付けの補正を行うためのパラメータの設定された学習済モデルを用いて補正を行うとする。
この場合、選択部42Kは、晴天に相当するワイパーの使用状況を示す選択情報と、補正部42A1の識別情報と、を対応付けて予め記憶部20Bに記憶する。また、処理部42Kは、雨天に相当するワイパー使用状況を示す選択情報と、補正部42A2の識別情報と、を対応付けて予め記憶部20Bに記憶する。
そして、選択部42Kは、ワイパーの使用状況を示す選択情報を受付けると、該選択情報に対応する補正部42Aを記憶部20Bから読取ることで、1つの補正部42Aを選択すればよい。
なお、選択部42Kによる補正部42Aの選択情報は、上記方法に限定されない。例えば、選択部42Kは、受付けた選択情報から所定の変数を算出し、算出した変数に対応する1つの補正部42Aを選択してもよい。
補正部42Hでは、選択部42Kによって選択された1つの補正部42Aが、第1の実施の形態の補正部20Hと同様に、対応付けの補正を行う。
次に、処理部42が実行する情報処理の手順の一例を説明する。
処理部42は、第1の実施の形態の処理部20Aと同様の処理を実行する(図9参照)。但し、処理部42は、図13に示す割込み処理を実行する。
図13は、処理部42が実行する割込み処理の手順の一例を示すフローチャートである。処理部42は、図9に示す情報処理の手順の実行中に、図13に示す割込み処理を実行する。なお、処理部42は、図9に示すフローチャートにおける、ステップS108とステップS110の間に、図13に示す手順を実行してもよい。
まず、選択部42Kは、選択情報を受付けたか否かを判断する(ステップS300)。ステップS300で否定判断すると(ステップS300:No)、本ルーチンを終了する。ステップS300で肯定判断すると(ステップS300:Yes)、ステップS302へ進む。
ステップS302では、選択部42Kが、ステップS300で受付けた選択情報に応じた補正部42Aを選択する(ステップS302)。ステップS302では、選択部42Kは、選択した1つの補正部42Aに対して、取得部20Gで取得したマップMについての、観測情報30の対応付けの補正指示を行う。補正指示を受付けた補正部42Aは、取得部20Gから受付けたマップMについて、該補正部42Aで用いる学習済モデルを用いて、第1の実施の形態の補正部20Hと同様の処理を行う。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置21Cは、学習済モデルのパラメータの異なる複数の補正部42Aを備える。選択部42Kは、観測情報30の対応付けを補正する補正部42Aを選択する。
ここで、補正部42Hが1つであり、且つ、学習済モデルのパラメータが固定である場合、該パラメータを設定したときの環境とは異なる環境では、観測情報30の対応付けの補正精度が低下する場合がある。一方、本実施の形態の情報処理装置21Cでは、選択部42Kが、選択情報に基づいて、観測情報30の対応付けを補正する補正部42Aを選択する。
このため、選択情報によって示される選択条件に応じた補正部42Aが選択される。すなわち、本実施の形態の情報処理装置21Cでは、周辺環境、天候、時間帯、走行状態、ユーザの好み、などの選択条件に応じた、対応付けの補正を行うことができる。
このため、本実施の形態の情報処理装置21Cは、上記実施の形態の効果に加えて、より精度良く、未観測位置における対象Bを推定することができる。
(第4の実施の形態)
本実施の形態では、検知情報から対象Bを特定するための条件を更新する形態を説明する。
図14は、情報処理装置21Dの搭載された移動体11Dの一例を示すブロック図である。なお、移動体11Dは、情報処理装置20に代えて情報処理装置21Dを搭載した以外は、第1の実施の形態の移動体10と同様である。
情報処理装置21Dは、処理部44と、記憶部20Bと、を備える。情報処理装置21Dは、処理部20Aに代えて処理部44を備える。
処理部44は、受付部20Cと、導出部44Dと、対象マッピング部20Eと、未観測マッピング部20Fと、取得部20Gと、補正部20Hと、出力制御部20Iと、特定部44Lと、第2更新部44Mと、を備える。処理部44は、導出部20Dに代えて導出部44Dを備え、特定部44Lと第2更新部44Mを更に備えた点以外は、第1の実施の形態の処理部20Aと同様である。
特定部44Lは、補正部20Hによって補正された後のマップMにおける、補正部20Hによる補正によって未観測情報30Bから対象情報30Aへ対応付けを補正されたグリッドGを特定する。
第2更新部44Mは、補正部20Hによって補正された後のマップMに基づいて、検知情報から観測情報30を導出するときに対象Bの判別に用いる、条件を更新する。
第1の実施の形態で説明したように、導出部44Dは、検知情報に示される点32の内、対象Bを示す点32を特定する。そして、導出部44Dは、特定した点32の位置Pについて、対象Bの存在を示す対象存在情報30Cを導出する。
第2更新部44Mは、この対象Bの判別に用いる条件を、補正部20Hによって補正された後のマップMに基づいて更新する。
詳細には、第2更新部44Mは、補正部20Hによって、未観測情報30Bから対象情報30Aへ対応付けを補正されたグリッドGに対応する、実空間Rにおける位置Pについて、対象Bの判別に用いる条件を変更する。例えば、導出部44Dが、観測点を全て対象Bである障害物とは特定せず、受付部20Cから各点32の検出強度をさらに受け取り、その検出強度に基づいて、特定の閾値以上の観測点を障害物として特定するように、第2更新部44Mは条件を変更する。
具体的には、第2更新部44Mは、未観測情報30Bから対象存在情報30Cへ対応付けを補正されたグリッドGに対応する、実空間Rにおける位置Pについて、対象Bの判別に用いる条件の一例である閾値を下げるように更新する。すなわち、第2更新部44Mは、該位置Pについて、対象Bと判別しやすくなるように、条件を更新する。
一方、第2更新部44Mは、未観測情報30Bから対象非存在情報30Dへ対応付けを補正されたグリッドGに対応する、実空間Rにおける位置Pについて、対象Bの判別に用いる条件の一例である閾値を上げるように更新する。すなわち、第2更新部44Mは、該位置Pについて、対象Bと判別しにくくなるように、条件を更新する。
また、検知情報が撮影画像である場合、第2更新部44Mは、撮影画像のテンプレートマッチングに用いる、対象Bの判別の条件を変更すればよい。また、第2更新部44Mは、別のテンプレートを用いる方法に変更してもよい。
そして、導出部44Dは、検知情報に示される点32の内、補正部20Hによって前回、未観測情報30Bから対象情報30Aへ対応付けを補正されたグリッドGに対応する位置Pの点32については、変更後の条件を用いて対象Bを判別する。
例えば、移動体11Dまたは移動体11Dの周辺の対象Bが、前回のセンサ10Bの検知タイミングから相対的に移動している場合がある。このような場合、前回の検知タイミングではセンサ10Bによって未観測であった未観測位置が、今回の検知タイミングではセンサ10Bによって観測される場合がある。
本実施の形態では、第2更新部44Mが、補正部20Hによって補正された後のマップMを用いて、対象Bの判別に用いる条件を更新する。このため、本実施の形態の情報処理装置21Dでは、受付部20Cが新たな検知タイミングの検知情報をセンサ10Bから受付けたときに、対象Bの未検出や過検出を抑制し、早期に安定した対象Bの推定を行うことができる。
なお、対象Bの判別に用いる条件の更新方法は、上記方法に限定されない。
例えば、第2更新部44Mは、未観測情報30Bから対象存在情報30Cへ対応付けを補正されたグリッドGに対応する、実空間Rにおける位置Pについて、対象Bの判別に用いる条件の一例である閾値を上げるように更新してもよい。すなわち、第2更新部44Mは、該位置について、対象Bと判別しにくくなるように、条件を更新してもよい。
また、第2更新部44Mは、未観測情報30Bから対象情報30Aへ対応付けを補正されたグリッドGに対応する、実空間Rにおける位置Pについて、対象Bの判別を行わないように、条件を更新してもよい。
以上説明したように、本実施の形態の情報処理装置21Dでは、特定部44Lが、補正部20Hによって未観測情報30Bから対象情報30Aへ対応付けを補正されたグリッドGを特定する。第2更新部44Mは、補正部20Hによって補正された後のマップMに基づいて、検知情報から観測情報30を導出するときに対象Bの判別に用いる条件を、更新する。
ここで、対象Bの判別に用いる条件が固定の場合、検知環境によっては、対象Bが安定して検知されない場合がある。一方、本実施の形態の情報処理装置21Dでは、補正部20Hによって補正された後のマップMに基づいて、検知情報から観測情報30を導出するときに対象Bの判別に用いる条件を、更新する。
このため、本実施の形態の情報処理装置21Dでは、上記実施の形態に比べて、より正確な観測情報30を導出することができ、より正確に対応付けの補正を行うことができる。また、本実施の形態の情報処理装置21Dでは、検知環境が変動した場合であっても、対象Bを早期に安定して検知することができる。
従って、本実施の形態の情報処理装置21Dは、上記実施の形態の効果に加えて、より精度良く、未観測位置における対象Bを推定することができる。
(第5の実施の形態)
上記実施の形態では、補正された後のマップMを、出力情報として出力する形態を説明した。しかし、更に、補正された後のマップMに関する様々な情報を、出力情報として出力してもよい。
図15は、情報処理装置21Eの搭載された移動体11Eの一例を示すブロック図である。なお、移動体11Eは、情報処理装置20に代えて情報処理装置21Eを搭載した以外は、第1の実施の形態の移動体10と同様である。
情報処理装置21Eは、処理部46と、記憶部20Bと、を備える。情報処理装置21Eは、処理部20Aに代えて処理部46を備える。
処理部46は、受付部20Cと、導出部20Dと、対象マッピング部20Eと、未観測マッピング部20Fと、取得部20Gと、補正部20Hと、出力制御部46Iと、を備える。処理部46は、出力制御部20Iに代えて出力制御部46Iを備えた点以外は、第1の実施の形態の処理部20Aと同様である。
出力制御部46Iは、第1の実施の形態の出力制御部20Iと同様に、出力情報を、出力部10Aおよび駆動制御部10Gの少なくとも一方へ出力する。
第1の実施の形態では、出力情報が、補正部20Hによって補正された後のマップMである場合を説明した。しかし、出力情報は、補正部20Hによって補正された後のマップMを示す情報であればよく、補正された後のマップMに限定されない。
例えば、出力情報は、補正部20Hによって補正された後のマップMにおける、補正部20Hによって対応付けを補正されたグリッドGを示す情報であってもよい。
補正されたグリッドGを示す情報は、例えば、該グリッドGの位置、および、該グリッドGの補正によって対応付けられた観測情報30、の少なくとも一方を示す情報である。
具体的には、出力制御部46Iは、取得部20Gから、補正部20Hによって補正される前のマップMを取得する。また、出力制御部46Iは、補正部20Hによって補正されたマップMを取得する。そして、出力制御部46Iは、補正された後のマップMにおける、対象情報30Aの対応付けられたグリッドGの内、補正前のマップMでは未観測情報30Bの対応付けられていたグリッドGを特定する。そして、出力制御部46Iは、補正後のマップMにおける、対応付けが未観測情報30Bから対象情報30Aに補正されたグリッドGを示す情報を、出力情報として出力する。
このため、本実施の形態では、出力制御部46Iは、補正後のマップMにおける、対応付けが未観測情報30Bから対象情報30Aに補正されたグリッドGのみを、出力情報とすることができる。また、出力制御部46Iは、補正後のマップMにおける、未観測情報30Bの対応付けられたグリッドGや、補正前のマップMにおいて対象情報30Aの対応付けられていたグリッドGについては、出力対象外とすることができる。
なお、出力制御部46Iは、補正後のマップMにおける、対応付けが未観測情報30Bから対象情報30Aに補正されたグリッドGを示す情報を、出力情報として出力するように、出力部10A(通信部10D、ディスプレイ10E、スピーカ10F)および駆動制御部10Gの少なくとも1つを制御すればよい。
例えば、出力制御部46Iが、出力情報を示す画像を出力するように、ディスプレイ10Eを制御する場合、出力情報は、重畳画像であってもよい。重畳画像は、マップMに対応する実空間Rの撮影画像と、補正された後のマップMにおける、対応付けを補正されたグリッドGを示す符号と、の重畳画像である。
この場合、出力制御部46Iは、マップMに対応する実空間Rの撮影画像と、補正された後のマップMにおける、対応付けを補正されたグリッドGを示す符号と、の重畳画像を表示するように、ディスプレイ10Eを制御する。
出力制御部46Iは、センサ10Bから実空間Rの撮影画像を取得すればよい。また、対応付けを補正されたグリッドGを示す符号は、例えば、対応付けを補正された位置であることを示すアイコンや文字情報などである。
出力制御部46Iは、撮影画像における、補正後のマップMの各グリッドGに対応する画素位置を特定する。そして、出力制御部46Iは、補正後のマップMにおける、対応付けを補正されたグリッドGに対応する撮影画像上の位置に、補正された位置であることを示す符号を重畳した重畳画像を生成する。そして、出力制御部46Iは、該重畳画像をディスプレイ10Eに表示する。
上記重畳画像をディスプレイ10Eに表示することによって、実空間Rの撮影画像上に、対応付けを補正されたグリッドGに対応する箇所を強調して表示することができる。
なお、出力情報は、補正部20Hによって補正された後のマップMにおける、所定条件を満たす領域を示す情報であってもよい。所定条件は、予め定めればよい。
例えば、所定条件を満たす領域は、補正後のマップMにおける、対象非存在情報30Dの対応付けられたグリッドGである。また、補正後のマップMのグリッドGに、存在確率が対応付けられている場合には、所定条件を満たす領域は、所定値以上の存在確率を示す観測情報30の対応付けられたグリッドGである。
以上説明したように、本実施の形態では、出力制御部46Iが、補正部20Hによって補正された後のマップMにおける、補正部20Hによって対応付けを補正されたグリッドGを示す情報を、出力情報として出力する。
このため、本実施の形態では、上記実施の形態の効果に加えて、マップMの補正前後の変化を強調した出力情報を出力することができる。
(ハードウェア構成)
次に、上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eのハードウェア構成の一例を説明する。図16は、上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eのハードウェア構成図の一例を示す図である。
上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eは、CPU(Central Processing Unit)86などの制御装置と、ROM(Read Only Memory)88やRAM(Random Access Memory)90やHDD(ハードディスクドライブ)92などの記憶装置と、各種機器とのインターフェースであるI/F部82と、出力情報などの各種情報を出力する出力部80と、ユーザによる操作を受付ける入力部94と、各部を接続するバス96とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eでは、CPU86が、ROM88からプログラムをRAM90上に読み出して実行することにより、上記各機能がコンピュータ上で実現される。
なお、上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eで実行される上記各処理を実行するためのプログラムは、HDD92に記憶されていてもよい。また、上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eで実行される上記各処理を実行するためのプログラムは、ROM88に予め組み込まれて提供されていてもよい。
また、上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eで実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態の情報処理装置20、情報処理装置21B、情報処理装置21C、情報処理装置21D、および情報処理装置21Eで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
なお、上記には、本発明の実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。