以下、添付図面を参照しながら、本願の開示する画像処理装置、画像処理方法、及び画像処理プログラムの実施形態を詳細に説明する。なお、以下の実施形態は開示の技術を限定するものではない。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
(第1の実施形態)
図1は、本実施形態の情報処理システム1の全体構成の一例を示す図である。情報処理システム1は、情報処理装置10と、撮影部12と、検出部14と、表示部16と、を備える。情報処理装置10と、撮影部12と、検出部14と、表示部16とは、データ又は信号を授受可能に接続されている。なお、情報処理装置10は、画像処理装置の一例である。また、情報処理装置10が実行する情報処理方法は画像処理方法の一例であり、情報処理装置10が情報処理方法の実行に用いる情報処理プログラムは、画像処理プログラムの一例である。
本実施形態では、情報処理装置10、撮影部12、検出部14、及び表示部16は、移動体2に搭載された形態を一例として説明する。
移動体2とは、移動可能な物である。移動体2は、例えば、車両、飛行可能な物体(有人飛行機、無人飛行機(例えば、UAV(Unmanned Aerial Vehicle)、ドローン))、ロボット、などである。また、移動体2は、例えば、人による運転操作を介して進行する移動体や、人による運転操作を介さずに自動的に進行(自律進行)可能な移動体である。本実施形態では、移動体2が車両である場合を一例として説明する。車両は、例えば、二輪自動車、三輪自動車、四輪自動車などである。本実施形態では、車両が、自律進行可能な四輪自動車である場合を一例として説明する。
なお、情報処理装置10、撮影部12、検出部14、及び表示部16の全てが、移動体2に搭載された形態に限定されない。情報処理装置10は、例えば静止物に搭載されていてもよい。静止物は、地面に固定された物である。静止物は、移動不可能な物や、地面に対して静止した状態の物である。静止物は、例えば、信号機、駐車車両、道路標識、などである。また、情報処理装置10は、クラウド上で処理を実行するクラウドサーバに搭載されていてもよい。
撮影部12は、移動体2の周辺を撮影し、撮影画像データを取得する。以下では、撮影画像データを、単に、撮影画像と称して説明する。撮影部12は、例えば、動画撮影が可能なデジタルカメラである。なお、撮影とは、レンズなどの光学系により結像された被写体の像を、電気信号に変換することを指す。撮影部12は、撮影した撮影画像を、情報処理装置10へ出力する。また、本実施形態では、撮影部12は、単眼の魚眼カメラ(例えば、視野角が195度)である場合を想定して説明する。
本実施形態では、移動体2に前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12Dの4つの撮影部12が搭載された形態を一例として説明する。複数の撮影部12(前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12D)は、各々が異なる方向の撮影領域E(前方撮影領域E1、左方撮影領域E2、右方撮影領域E3、後方撮影領域E4)の被写体を撮影し、撮影画像を取得する。すなわち、複数の撮影部12は、撮影方向が互いに異なるものとする。また、これらの複数の撮影部12は、隣り合う撮影部12との間で撮影領域Eの少なくとも一部が重複となるように、撮影方向が予め調整されているものとする。また、図1においては、説明の便宜上撮影領域Eを図1に示した大きさにて示すが、実際にはさらに移動体2より離れた領域まで含むものとなる。
また、4つの前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12Dは一例であり、撮影部12の数に限定はない。例えば、移動体2がバスやトラックの様に縦長の形状を有する場合には、移動体2の前方、後方、右側面の前方、右側面の後方、左側面の前方、左側面の後方のそれぞれ一つずつ撮影部12を配置し、合計6個の撮影部12を利用することもできる。すなわち、移動体2の大きさや形状により、撮影部12の数や配置位置は任意に設定することができる。
検出部14は、移動体2の周辺の複数の検出点の各々の位置情報を検出する。言い換えると、検出部14は、検出領域Fの検出点の各々の位置情報を検出する。検出点とは、実空間における、検出部14によって個別に観測される点の各々を示す。検出点は、例えば移動体2の周辺の立体物に対応する。なお、検出部14は、外部センサの一例である。
検出部14は、例えば、3D(Three-Dimensional)スキャナ、2D(Two Dimensional)スキャナ、距離センサ(ミリ波レーダ、レーザセンサ)、音波によって物体を探知するソナーセンサ、超音波センサ、などである。レーザセンサは、例えば、三次元LiDAR(Laser imaging Detection and Ranging)センサである。また、検出部14は、ステレオカメラや、単眼カメラで撮影された画像から距離を測距する技術、例えばSfM(Structure from Motion)技術を用いた装置であってもよい。また、複数の撮影部12を検出部14として用いてもよい。また、複数の撮影部12の1つを検出部14として用いてもよい。
表示部16は、各種の情報を表示する。表示部16は、例えば、LCD(Liquid Crystal Display)又は有機EL(Electro-Luminescence)ディスプレイなどである。
本実施形態では、情報処理装置10は、移動体2に搭載された電子制御ユニット(ECU:Electronic Control Unit)3に通信可能に接続されている。ECU3は、移動体2の電子制御を行うユニットである。本実施形態では、情報処理装置10は、ECU3から移動体2の速度や移動方向などのCAN(Controller Area Network)データを受信可能であるものとする。
次に、情報処理装置10のハードウェア構成を説明する。
図2は、情報処理装置10のハードウェア構成の一例を示す図である。
情報処理装置10は、CPU(Central Processing Unit)10A、ROM(Read Only Memory)10B、RAM(Random Access Memory)10C、及びI/F(InterFace)10Dを含み、例えば、コンピュータである。CPU10A、ROM10B、RAM10C、及びI/F10Dは、バス10Eにより相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。
CPU10Aは、情報処理装置10を制御する演算装置である。CPU10Aは、ハードウェアプロセッサの一例に対応する。ROM10Bは、CPU10Aによる各種の処理を実現するプログラム等を記憶する。RAM10Cは、CPU10Aによる各種の処理に必要なデータを記憶する。I/F10Dは、撮影部12、検出部14、表示部16、及びECU3などに接続し、データを送受信するためのインターフェースである。
本実施形態の情報処理装置10で実行される情報処理を実行するためのプログラムは、ROM10B等に予め組み込んで提供される。なお、本実施形態の情報処理装置10で実行されるプログラムは、情報処理装置10にインストール可能な形式又は実行可能な形式のファイルで記録媒体に記録されて提供するように構成してもよい。記録媒体は、コンピュータにより読取可能な媒体である。記録媒体は、CD(Compact Disc)-ROM、フレキシブルディスク(FD)、CD-R(Recordable)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード等である。
次に、本実施形態に係る情報処理装置10の機能的構成を説明する。情報処理装置10は、VSLAM処理により、撮影部12で撮影された撮影画像から移動体2の周辺位置情報と移動体2の自己位置情報とを同時に推定する。情報処理装置10は、空間的に隣り合う複数の撮影画像を繋ぎ合わせて、移動体2の周辺を俯瞰する合成画像(俯瞰画像)を生成し表示する。なお、本実施形態では、撮影部12を検出部14として用いる。
図3は、情報処理装置10の機能的構成の一例を示す図である。なお、図3には、データの入出力関係を明確にするために、情報処理装置10に加えて、撮影部12及び表示部16を併せて図示した。
情報処理装置10は、取得部20と、選択部21と、VSLAM処理部24と、距離換算部27と、行動計画策定部28と、投影形状決定部29と、画像生成部37と、を備える。
上記複数の各部の一部又は全ては、例えば、CPU10Aなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよい。また、上記複数の各部の一部又は全ては、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
取得部20は、撮影部12から撮影画像を取得する。すなわち、取得部20は、前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12Dの各々から撮影画像を取得する。
取得部20は、撮影画像を取得するごとに、取得した撮影画像を投影変換部36及び選択部21へ送出する。
選択部21は、検出点の検出領域を選択する。本実施形態では、選択部21は、複数の撮影部12(撮影部12A~撮影部12D)の内、少なくとも一つの撮影部12を選択することで、検出領域を選択する。
VSLAM処理部24は、移動体2の周辺の画像に基づいて移動体2の周辺立体物の位置情報及び移動体2の位置情報を含む第2情報を生成する。すなわち、VSLAM処理部24は、選択部21から撮影画像を受け取り、これを用いてVSLAM処理を実行して環境地図情報を生成し、生成した環境地図情報を決定部30へ出力する。
より具体的には、VSLAM処理部24は、マッチング部240と、記憶部241と、自己位置推定部242と、三次元復元部243と、補正部244と、を備える。
マッチング部240は、撮影タイミングの異なる複数の撮影画像(フレームの異なる複数の撮影画像)について、特徴量の抽出処理と、各画像間のマッチング処理とを行う。詳細には、マッチング部240は、これらの複数の撮影画像から特徴量抽出処理を行う。マッチング部240は、撮影タイミングの異なる複数の撮影画像について、それぞれの間で特徴量を用いて、該複数の撮影画像間の対応する点を特定するマッチング処理を行う。マッチング部240は、該マッチング処理結果を記憶部241へ出力する。
自己位置推定部242は、マッチング部240で取得した複数のマッチング点を用いて、射影変換等により、撮影画像に対する相対的な自己位置を推定する。ここで自己位置には、撮影部12の位置(三次元座標)及び傾き(回転)の情報が含まれる。自己位置推定部242は、自己位置情報を点群情報として環境地図情報241Aに記憶する。
三次元復元部243は、自己位置推定部242によって推定された自己位置の移動量(並進量及び回転量)を用いて透視投影変換処理を行い、マッチング点の三次元座標(自己位置に対する相対座標)を決定する。三次元復元部243は、決定された三次元座標である周辺位置情報を点群情報として環境地図情報241Aに記憶する。
これにより、環境地図情報241Aには、撮影部12が搭載された移動体2の移動に伴って、新たな周辺位置情報、及び新たな自己位置情報が、逐次的に追加される。
記憶部241は、各種のデータを記憶する。記憶部241は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部241は、情報処理装置10の外部に設けられた記憶装置であってもよい。また、記憶部241は、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶又は一時記憶したものであってもよい。
環境地図情報241Aは、実空間における所定位置を原点(基準位置)とした三次元座標空間に、三次元復元部243で算出した周辺位置情報である点群情報及び自己位置推定部242で算出した自己位置情報である点群情報を登録した情報である。実空間における所定位置は、例えば、予め設定した条件に基づいて定めてもよい。
例えば、環境地図情報241Aに用いられる所定位置は、情報処理装置10が本実施形態の情報処理を実行するときの移動体2の自己位置である。例えば、移動体2の駐車シーンなどの所定タイミングで情報処理を実行する場合を想定する。この場合、情報処理装置10は、該所定タイミングに至ったことを判別したときの移動体2の自己位置を、所定位置とすればよい。例えば、情報処理装置10は、移動体2の挙動が駐車シーンを示す挙動となったと判別したときに、該所定タイミングに至ったと判断すればよい。後退による駐車シーンを示す挙動は、例えば、移動体2の速度が所定速度以下となった場合、移動体2のギアがバックギアに入れられた場合、ユーザの操作指示などによって駐車開始を示す信号を受付けた場合などである。なお、該所定タイミングは、駐車シーンに限定されない。
図4は、環境地図情報241Aのうち、特定の高さの情報を抽出した一例の模式図である。図4に示した様に、環境地図情報241Aは、検出点Pの各々の位置情報(周辺位置情報)である点群情報と、移動体2の自己位置Sの自己位置情報である点群情報と、が該三次元座標空間における対応する座標位置に登録された情報である。なお、図4においては、一例として、自己位置S1~自己位置S3の自己位置Sを示した。Sの後に続く数値の値が大きいほど、より現在のタイミングに近い自己位置Sであることを意味する。
補正部244は、複数のフレーム間で複数回マッチングした点に対し、過去に算出された三次元座標と、新たに算出された三次元座標とで、三次元空間内での距離の差の合計が最小となる様に、例えば最小二乗法等を用いて、環境地図情報241Aに登録済の周辺位置情報及び自己位置情報を補正する。なお、補正部244は、自己位置情報及び周辺位置情報の算出の過程で用いた自己位置の移動量(並進量及び回転量)を補正しても良い。
補正部244による補正処理のタイミングは限定されない。例えば、補正部244は、所定タイミングごとに上記補正処理を実行すればよい。所定タイミングは、例えば、予め設定した条件に基づいて定めてもよい。なお、本実施形態では、情報処理装置10は、補正部244を備えた構成である場合を一例として説明する。しかし、情報処理装置10は、補正部244を備えない構成であってもよい。
距離換算部27は、環境地図情報により知り得る、自己位置と周辺立体物との相対的な位置関係を、自己位置から周辺立体物までの距離の絶対値に換算し、周辺立体物の検出点距離情報を生成して行動計画策定部28へ出力する。ここで、周辺立体物の検出点距離情報とは、自己位置を座標(0,0,0)にオフセットして、算出した複数の検出点Pの各々までの測定距離(座標)を例えばメートル単位に換算した情報である。すなわち、移動体2の自己位置の情報は、検出点距離情報における原点の座標(0,0,0)として含まれる。
距離換算部27が実行する距離換算においては、例えば、ECU3から送り出されるCANデータに含まれる移動体2の速度データ等の車両状態情報を用いる。例えば、図4に示す環境地図情報241Aの場合、自己位置Sと複数の検出点Pとの間は、相対的な位置関係は知り得るが、距離の絶対値は算出されていない。ここで、自己位置算出を行うフレーム間周期と、車両状態情報によるその間の速度データにより、自己位置S3と自己位置S2の間の距離を求めることができる。環境地図情報241Aが持つ相対的な位置関係は実空間と相似の関係の為、自己位置S3と自己位置S2の間の距離がわかることで、自己位置Sからそれ以外の全ての検出点Pまで距離の絶対値も求めることができる。すなわち、距離換算部27は、CANデータに含まれた移動体2の実際の速度データを用いて、自己位置と周辺立体物との相対的な位置関係を、自己位置から周辺立体物までの距離の絶対値に換算する。
なお、CANデータに含まれる車両状態情報とVSLAM処理部24から出力される環境地図情報とは、時間情報により対応付けすることができる。また、検出部14が検出点Pの距離情報を取得する場合には、距離換算部27を省略してもよい。
行動計画策定部28は、移動体2の周辺立体物の位置情報(検出点距離情報)を含む第2情報に基づいて移動体2の行動計画を策定し、移動体2の予定自己位置情報と、移動体2の予定自己位置情報を基準とした周辺立体物の位置情報とを含む第1情報を生成する。
図5は、行動計画策定部28の機能的構成の一例を示す模式図である。図5に示した様に、行動計画策定部28は、プランニング処理部28A、予定地図情報生成部28B、PID制御部28Cを備える。
プランニング処理部28Aは、例えばドライバからの自動駐車モードの選択指示に応答して、距離換算部27から受け取った検出点距離情報に基づいて、プランニング処理を実行する。ここで、プランニング処理部28Aが実行するプランニング処理とは、駐車エリアに移動体2を駐車するための、移動体2の現在位置から駐車完了位置までの駐車ルートや、駐車ルートを刻んだ直近の目標地点となる単位時間後の移動体2の予定自己位置や、直近の目標地点に辿り着くための、直近のアクセルや旋回角などのアクチュエータ目標値などを策定する処理である。
図6は、プランニング処理部28Aによって生成される駐車ルート計画の一例を示す模式図である。図6に示した様に、駐車ルート計画は、駐車エリアPAに後退駐車する際の、現在位置L1から経由予定地L2、L3、L4、L5を経由した駐車完了位置までの経路を含む情報である。経由予定地L2、L3、L4、L5は、現在における、単位時間ごとの移動体2の経由予定地である。そのため、現在位置L1及び経由予定地L2、L3、L4、L5それぞれの間の距離は、移動体2の移動速度に応じて変化してもよい。ここで単位時間とは、例えばVSLAM処理のフレームレートに対応した時間間隔である。また、経由予定地L2は、現在位置L1に対する予定自己位置でもある。また、移動体2が現在位置L1から経由予定地L2を目指して移動し、単位時間が経過した場合の位置において、最新の検出点距離情報に基づいて、駐車ルート計画は更新される。この場合、単位時間が経過した場合の位置は、現在位置L1に対する経由予定地L2と一致してもよいし、経由予定地L2からずれた位置であってもよい。
なお、上述した駐車ルート計画の具体的な演算手法について特に限定はなく、単位時間の経過毎に、次の単位時間経過後に移動体2が位置すべき予定自己位置を含む情報を取得できるものであれば、どのような手法であってもよい。
また、本実施形態においては、行動計画策定部28がプランニング処理部28Aを備え、プランニング処理部28Aにおいて行動計画を逐次策定する場合を例示する。これに対し、行動計画策定部28はプランニング処理部28Aを備えず、外部において策定された移動体2の行動計画を逐次取得する構成であってもよい。
予定地図情報生成部28Bは、検出点距離情報の原点(現在の自己位置)を、単位時間後の予定自己位置にオフセットする。図7は、予定地図情報生成部28Bが生成する予定地図情報を説明するための模式図である。図7においては、予定地図情報として、移動体2周辺の検出点距離情報(複数の点群情報)が示されている。また、図7には、説明のために領域R1、領域R2、軌道T1、位置L1、L2を書き加えられている。領域R1内に存在する点群は移動体2を駐車すべき駐車領域PAの隣にある別の移動体(car1)に対応する。領域R2内に存在する点群は駐車領域PAの近傍にある柱に対応する。軌道T1は移動体2が紙面右側から左側に前方進行し、一旦停止して駐車領域PAに後退駐車する際の軌道を示している。位置L1は移動体2の現在の自己位置を、位置L2は単位時間だけ未来のタイミングにおける移動体2の予定自己位置をそれぞれ示している。予定地図情報生成部28Bでは、現在位置であるL1を原点とする検出点距離情報を、予定自己位置L2を原点にオフセットして、単位時間後の予定自己位置から見た予定地図情報を生成する。
予定地図情報生成部28Bは、移動体2の自己位置、移動体2の周辺立体物の位置情報がVSLAM処理により更新される都度、更新される検出点距離情報の原点(現在の自己位置)を、単位時間後の予定自己位置にオフセットする。予定地図情報生成部28Bは、予定自己位置に原点がオフセットされた予定地図情報を生成し、決定部30へ送出する。
PID制御部28Cは、プランニング処理部28Aによって策定されたアクチュエータ目標値に基づいてPID(Proportional Integral Differential)制御を行い、アクセルや旋回角等のアクチュエータを制御するためのアクチュエータ制御値を送出する。例えば、PID制御部28Cは、プランニング処理部28Aがアクチュエータ目標値を更新する都度、アクチュエータ制御値を更新し、アクチュエータへ送出する。PID制御部28Cは、制御情報生成部の一例である。
図3に戻り、投影形状決定部29は、第1情報に基づいて、移動体2に搭載された撮影装置12が取得した画像を投影して俯瞰画像を生成するための投影面の形状を決定する。投影形状決定部29は、投影形状決定部の一例である。
ここで、投影面とは、移動体2の周辺画像を俯瞰画像として投影するための立体面である。また、移動体2の周辺画像とは、移動体2の周辺の撮影画像であり、撮影部12A~撮影部12Dの各々によって撮影された撮影画像である。投影面の投影形状は、実空間に対応する仮想空間に仮想的に形成される立体(3D)形状である。また、投影面に投影する画像は、VSLAM処理部24が第2情報を生成する際に用いた画像と同じ画像であってもよいし、取得時刻が異なる画像や、異なる画像処理が施された画像であってもよい。また、本実施形態においては、投影形状決定部29によって実行される投影面の投影形状の決定を、投影形状決定処理と呼ぶ。
具体的には、投影形状決定部29は、決定部30と、変形部32と、仮想視点視線決定部34と、を備える。
[決定部30の構成例]
以下、図3に示した決定部30の詳細な構成の一例を説明する。
図8は、決定部30の機能的構成の一例を示す模式図である。図8に示した様に、決定部30は、抽出部305と、最近傍特定部307と、基準投影面形状選択部309と、スケール決定部311と、漸近曲線算出部313と、形状決定部315と、境界領域決定部317とを備える。
抽出部305は、距離換算部27から測定距離を受付けた複数の検出点Pの内、特定の範囲内に存在する検出点Pを抽出し、特定高抽出マップを生成する。特定の範囲とは、例えば、移動体2の配置された路面から移動体2の車高に相当する高さまでの範囲である。なお、該範囲は、この範囲に限定されない。
抽出部305が該範囲内の検出点Pを抽出し特定高抽出マップを生成することで、例えば、移動体2の進行の障害となる物体や、移動体2に隣接して位置する物体等の検出点Pを抽出することができる。
そして、抽出部305は、生成した特定高抽出マップを最近傍特定部307へ出力する。
最近傍特定部307は、特定高抽出マップを用いて移動体2の予定自己位置S’の周囲を特定の範囲(例えば角度範囲)ごとに区切り、範囲ごとに、移動体2の予定自己位置S’に最も近い検出点P、又は、移動体2の予定自己位置S’に近い順に複数の検出点Pを特定し、近傍点情報を生成する。本実施形態では、最近傍特定部307は、範囲ごとに、移動体2の予定自己位置S’に近い順に複数の検出点Pを特定して近傍点情報を生成する形態を一例として説明する。
最近傍特定部307は、近傍点情報として範囲ごとに特定した検出点Pの測定距離を、基準投影面形状選択部309、スケール決定部311、漸近曲線算出部313、境界領域決定部317へ出力する。
基準投影面形状選択部309は、近傍点情報に基づき基準投影面の形状を選択する。
図9は、基準投影面40の一例を示す模式図である。図9を参照しながら基準投影面について説明する。基準投影面40は、例えば、投影面の形状を変更する際に基準となる形状の投影面である。基準投影面40の形状は、例えば、椀型、円柱型、などである。なお、図9には椀型の基準投影面40を例示している。
椀型とは、底面40Aと側壁面40Bとを有し、側壁面40Bの一端が該底面40Aに連続し、他端が開口された形状である。該側壁面40Bは、底面40A側から該他端部の開口側に向かって、水平断面の幅が大きくなっている。底面40Aは、例えば円形状である。ここで円形状とは、真円形状や、楕円形状等の真円形状以外の円形状、を含む形状である。水平断面とは、鉛直方向(矢印Z方向)に対して直交する直交平面である。直交平面は、矢印Z方向に直交する矢印X方向、及び、矢印Z方向と矢印X方向に直交する矢印Y方向、に沿った二次元平面である。水平断面及び直交平面を、以下では、XY平面と称して説明する場合がある。なお、底面40Aは、例えば卵型のような円形状以外の形状であってもよい。
円柱型とは、円形状の底面40Aと、該底面40Aに連続する側壁面40Bと、からなる形状である。また、円柱型の基準投影面40を構成する側壁面40Bは、一端部の開口が底面40Aに連続し、他端部が開口された円筒状である。但し、円柱型の基準投影面40を構成する側壁面40Bは、底面40A側から該他端部の開口側に向かって、XY平面の直径が略一定の形状である。なお、底面40Aは、例えば卵型のような円形状以外の形状であってもよい。
本実施形態では、基準投影面40の形状が、図9に示した椀型である場合を一例として説明する。基準投影面40は、底面40Aを移動体2の下方の路面に略一致する面とし、該底面40Aの中心を移動体2の予定自己位置S’とした仮想空間に仮想的に形成される立体モデルである。
基準投影面形状選択部309は、複数種類の基準投影面40から、特定の1つの形状を読取ることで、基準投影面40の形状を選択する。例えば、基準投影面形状選択部309は、予定自己位置と周囲立体物との位置関係や距離などによって基準投影面40の形状を選択する。なお、ユーザの操作指示により基準投影面40の形状を選択してもよい。基準投影面形状選択部309は、決定した基準投影面40の形状情報を形状決定部315へ出力する。本実施形態では、上記したように、基準投影面形状選択部309は、碗型の基準投影面40を選択する形態を一例として説明する。
スケール決定部311は、基準投影面形状選択部309が選択した形状の基準投影面40のスケールを決定する。スケール決定部311は、例えば、予定自己位置S’から近傍点までの距離が所定の距離より短い場合にスケールを小さくするなどの決定をする。スケール決定部311は、決定したスケールのスケール情報を形状決定部315へ出力する。
漸近曲線算出部313は、予定地図情報に基づいて、予定自己位置に対する周辺位置情報の漸近曲線を算出する。漸近曲線算出部313は、最近傍特定部307から受付けた、予定自己位置S’からの範囲毎に、予定自己位置S’から最も近い検出点Pまでの距離のそれぞれを用いて、算出した漸近曲線Qの漸近曲線情報を、形状決定部315及び仮想視点視線決定部34へ出力する。
図10は、決定部30によって生成される漸近曲線Qの説明図である。ここで、漸近曲線とは、予定地図情報における複数の検出点Pの漸近曲線である。図10は、移動体2を上方から鳥瞰した場合において、投影面に撮影画像を投影した投影画像に、漸近曲線Qを示した例である。例えば、決定部30が、移動体2の予定自己位置S’に近い順に3つの検出点Pを特定したと想定する。この場合、決定部30は、これらの3つの検出点Pの漸近曲線Qを生成する。
なお、漸近曲線算出部313は、基準投影面40の特定の範囲(例えば角度範囲)毎に複数の検出点Pの重心などに位置する代表点を求め、複数の該範囲毎の代表点に対する漸近曲線Qを、算出してもよい。そして、漸近曲線算出部313は、算出した漸近曲線Qの漸近曲線情報を、形状決定部315へ出力する。なお、漸近曲線算出部313は、算出した漸近曲線Qの漸近曲線情報を仮想視点視線決定部34へ出力してもよい。
形状決定部315は、基準投影面形状選択部309から受付けた形状情報によって示される形状の基準投影面40を、スケール決定部311から受付けたスケール情報のスケールに拡大又は縮小する。そして、形状決定部315は、拡大又は縮小した後の基準投影面40に対して、漸近曲線算出部313から受付けた漸近曲線Qの漸近曲線情報に沿った形状となるように変形した形状を、投影形状として決定する。
ここで、投影形状の決定について詳しく説明する。図11は、決定部30により決定された投影形状41の一例を示す模式図である。形状決定部315は、図11に示した様に、基準投影面40を、基準投影面40の底面40Aの中心である移動体2の予定自己位置S’に最も近い検出点Pを通る形状に変形した形状を、投影形状41として決定する。検出点Pを通る形状とは、変形後の側壁面40Bが、該検出点Pを通る形状であることを意味する。該予定自己位置S’は、行動計画策定部28によって決定される。
すなわち、形状決定部315は、予定地図情報に登録されている複数の検出点Pの内、該予定自己位置S’に最も近い検出点Pを特定する。詳細には、移動体2の中心位置(予定自己位置S’)のXY座標を、(X,Y)=(0,0)とする。そして、形状決定部315は、X2+Y2の値が最小値を示す検出点Pを、予定自己位置S’に最も近い検出点Pとして特定する。そして、形状決定部315は、基準投影面40の側壁面40Bが該検出点Pを通る形状となるように変形した形状を、投影形状41として決定する。
より具体的には、形状決定部315は、基準投影面40を変形させた際に側壁面40Bの一部の領域が、移動体2の予定自己位置S’に最も近い検出点Pを通る壁面となるように、底面40A及び側壁面40Bの一部の領域の変形形状を投影形状41として決定する。変形後の投影形状41は、例えば、底面40A上の立ち上がりライン44から、XY平面の視点(平面視)で底面40Aの中心に近づく方向に向かって立ち上げた形状となる。立ち上げる、とは、例えば、基準投影面40の側壁面40Bと底面40Aとの成す角度がより小さい角度となるように、該側壁面40B及び底面40Aの一部を、底面40Aの中心に近づく方向に向かって屈曲又は折り曲げる事を意味する。なお、立ち上げられた形状において、立ち上がりライン44が底面40Aと側壁面40Bとの間に位置し、底面40Aは変形しないままであってもよい。
形状決定部315は、基準投影面40における特定領域を、XY平面の視点(平面視)で該検出点Pを通る位置に突出させるように変形するよう決定する。特定領域の形状及び範囲は、予め定めた基準に基づいて決定してもよい。そして、形状決定部315は、突出させた特定領域から、側壁面40Bにおける該特定領域以外の領域に向かって、連続的に予定自己位置S’からの距離が遠くなるように、基準投影面40を変形した形状とするよう決定する。
例えば、図11に示した様に、XY平面に沿った断面の外周の形状が曲線形状となるように、投影形状41を決定することが好ましい。なお、投影形状41の該断面の外周の形状は、例えば円形状であるが、円形状以外の形状であってもよい。
なお、形状決定部315は、漸近曲線に沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定してもよい。形状決定部315は、移動体2の予定自己位置S’に最も近い検出点Pから離れる方向に向かって予め定めた数の複数の検出点Pの漸近曲線を生成する。この検出点Pの数は、複数であればよい。例えば、この検出点Pの数は、3つ以上であることが好ましい。また、この場合、形状決定部315は、予定自己位置S’から見て所定角度以上離れた位置にある複数の検出点Pの漸近曲線を生成することが好ましい。例えば、形状決定部315は、図10に示した漸近曲線Qにおいて、生成した漸近曲線Qに沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定することができる。
なお、形状決定部315は、移動体2の予定自己位置S’の周囲を特定の範囲ごとに区切り、該範囲ごとに、移動体2に最も近い検出点P、又は、移動体2に近い順に複数の検出点Pを特定してもよい。そして、形状決定部315は、該範囲ごとに特定した検出点Pを通る形状又は特定した複数の検出点Pの漸近曲線Qに沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定してもよい。
そして、形状決定部315は、決定した投影形状41の投影形状情報を、変形部32へ出力する。
図3に戻り、変形部32は、決定部30から受付けた、予定地図情報を用いて決定された投影形状情報に基づいて、投影面を変形させる。すなわち、変形部32は、行動計画に基づいた、単位時間経過後(例えば、次フレーム)の予定自己位置S’に原点をオフセットした3次元点群データを用いて、投影面を変形させる。この基準投影面の変形は、例えば移動体2の予定自己位置S’に最も近い検出点Pを基準として実行される。変形部32は、変形投影面情報を投影変換部36へ出力する。
また、例えば、変形部32は、投影形状情報に基づいて、移動体2の予定自己位置S’に近い順に予め定めた数の複数の検出点Pの漸近曲線に沿った形状に基準投影面を変形する。
仮想視点視線決定部34は、予定自己位置S’と漸近曲線情報とに基づいて、仮想視点視線情報を決定し、投影変換部36へ送出する。
図10、図11を参照しながら、仮想視点視線情報の決定について説明する。仮想視点視線決定部34は、例えば、移動体2の予定自己位置S’に最も近い検出点Pを通り、且つ、変形投影面に対して垂直な方向を視線方向として決定する。また、仮想視点視線決定部34は、例えば、該視線方向Lの方向を固定し、仮想視点Oの座標を、任意のZ座標と、漸近曲線Qから予定自己位置S’の方に離れる方向における任意のXY座標として決定する。その場合、該XY座標は予定自己位置S’よりも漸近曲線Qから離れた位置の座標であってもよい。そして、仮想視点視線決定部34は、仮想視点O及び視線方向Lを示す仮想視点視線情報を、投影変換部36へ出力する。なお、図10に示した様に、視線方向Lは、仮想視点Oから漸近曲線Qの頂点Wの位置に向かう方向としてもよい。
画像生成部37は、投影面を用いて移動体2及びその俯瞰画像を生成する。具体的には、画像生成部37は、投影変換部36と、画像合成部38と、を備える。
投影変換部36は、変形投影面情報と仮想視点視線情報とに基づいて、変形投影面に、撮影部12から取得した撮影画像を投影した投影画像を生成する。投影変換部36は、生成した投影画像を、仮想視点画像に変換して画像合成部38へ出力する。ここで、仮想視点画像とは、仮想視点から任意の方向に投影画像を視認した画像である。
図11を参照しながら、投影変換部36による投影画像生成処理について詳しく説明する。投影変換部36は、変形投影面42に撮影画像を投影する。そして、投影変換部36は、変形投影面42に投影された撮影画像を、任意の仮想視点Oから視線方向Lに視認した画像である仮想視点画像を生成する(図示せず)。仮想視点Oの位置は、例えば、(投影面変形処理の基準とした)移動体2の予定自己位置S’とすればよい。この場合、仮想視点OのXY座標の値を、移動体2の予定自己位置S’のXY座標の値とすればよい。また、仮想視点OのZ座標(鉛直方向の位置)の値を、移動体2の予定自己位置S’に最も近い検出点PのZ座標の値とすればよい。視線方向Lは、例えば、予め定めた基準に基づいて決定してもよい。
視線方向Lは、例えば、仮想視点Oから移動体2の予定自己位置S’に最も近い検出点Pに向かう方向とすればよい。また、視線方向Lは、該検出点Pを通り且つ変形投影面42に対して垂直な方向としてもよい。仮想視点O及び視線方向Lを示す仮想視点視線情報は、仮想視点視線決定部34によって作成される。
画像合成部38は、仮想視点画像の一部又は全てを抽出した合成画像を生成する。例えば、画像合成部38は、撮影部間の境界領域における複数の仮想視点画像(ここでは、撮影部12A~12Dに対応する4枚の仮想視点画像)の繋合わせ処理等を行う。
画像合成部38は、生成した合成画像を表示部16へ出力する。なお、合成画像は、移動体2の上方を仮想視点Oとした鳥瞰画像や、移動体2内を仮想視点Oとし、移動体2を半透明に表示するものとしてもよい。
(行動計画に基づく投影面変形処理)
次に、本実施形態に係る情報処理装置10が実行する、行動計画に基づく投影面変形処理の流れについて説明する。この行動計画に基づく投影面変形処理は、VSLAM処理によって得られた移動体2の自己位置を基準として投影面変形処理を行うものではなく、行動計画によって得られる一定期間先(未来)の予定自己位置を基準として投影面変形処理を行うものである。
図12は、行動計画に基づく投影面変形処理の流れの一例を示すフローチャートである。なお、情報処理装置10が実行する、詳細な俯瞰画像生成処理の全体の流れについては、後で詳しく説明する。
まず、撮影画像が取得される(ステップSa)。VSLAM処理部24は、撮影画像を用いたVSLAM処理により環境地図情報を生成し、距離換算部27で検出点距離情報を取得する(ステップSb)。
プランニング処理部28Aでは、検出点距離情報に基づいて、行動計画を策定する(ステップSc)。
予定地図情報生成部28Bは、プランニング処理部28Aから取得した予定自己位置情報と、検出点距離情報とに基づいて予定地図情報を生成する(ステップSd)。
決定部30は、予定地図情報を用いて、投影面の形状を決定する(ステップSe)。
変形部32は、投影形状情報に基づいて、投影面変形処理を実行する(ステップSf)。
ステップSa~ステップSfまでの各処理は、例えば俯瞰画像による運転支援処理が終了するまで逐次的に繰り返し実行される。
図13は、情報処理装置10が実行する、行動計画に基づく投影面変形処理を含む俯瞰画像の生成処理の流れの一例を示すフローチャートである。
取得部20は、撮影部12から方向毎の撮影画像を取得する(ステップS2)。選択部21は、検出領域としての撮影画像を選択する(ステップS4)。
マッチング部240は、ステップS4で選択され撮影部12で撮影された、撮影タイミングの異なる複数の撮影画像を用いて、特徴量の抽出とマッチング処理を行う(ステップS6)。また、マッチング部240は、マッチング処理により特定された、撮影タイミングの異なる複数の撮影画像間の対応する点の情報を、記憶部241に登録する。
自己位置推定部242は、記憶部241からマッチング点及び環境地図情報241A(周辺位置情報と自己位置情報)を読取る(ステップS8)。自己位置推定部242は、マッチング部240から取得した複数のマッチング点を用いて、射影変換等により、撮影画像に対する相対的な自己位置を推定(ステップS10)し、算出した自己位置情報を、環境地図情報241Aへ登録する(ステップS12)。
三次元復元部243は、環境地図情報241A(周辺位置情報と自己位置情報)を読取る(ステップS14)。三次元復元部243は、自己位置推定部242によって推定された自己位置の移動量(並進量及び回転量)を用いて透視投影変換処理を行い、当該マッチング点の三次元座標(自己位置に対する相対座標)を決定し、周辺位置情報として、環境地図情報241Aへ登録する(ステップS18)。
補正部244は、環境地図情報241A(周辺位置情報と自己位置情報)を読取る。補正部244は、複数のフレーム間で複数回マッチングした点に対し、過去に算出された三次元座標と、新たに算出された三次元座標とで、三次元空間内での距離の差の合計が最小となる様に、例えば最小二乗法等を用いて、環境地図情報241Aに登録済の周辺位置情報及び自己位置情報を補正(ステップS20)し、環境地図情報241Aを更新する。
距離換算部27は、移動体2のECU3から受信したCANデータに含まれる、移動体2の速度データ(自車速度)を取り込む(ステップS22)。距離換算部27は、移動体2の速度データを用いて、環境地図情報241Aに含まれる点群間の座標距離を例えばメートル単位の絶対距離に換算する。また、距離換算部27は、環境地図情報の原点を、移動体2の自己位置Sにオフセットして、移動体2から該複数の検出点Pの各々までの距離を示す検出点距離情報を生成する(ステップS26)。距離換算部27は、検出点距離情報を、行動計画策定部28へ出力する。
プランニング処理部28Aは、プランニング処理を実行し、駐車エリアに移動体2を駐車するための、移動体2の現在位置から駐車完了までの駐車ルートや、駐車ルートを刻んだ直近の目標地点となる単位時間後の移動体2の予定自己位置や、直近の目標地点に辿り着くための、直近のアクセルや旋回角などアクチュエータの目標値などを策定する(ステップS28)。
予定地図情報生成部28Bは、検出点距離情報の原点(現在の自己位置S)を、単位時間経過後において予測される移動体2の予定自己位置S’にオフセットすることで、予定地図情報を生成し抽出部305へ送出する(ステップS30)。
PID制御部28Cは、プランニング処理部28Aによって策定されたアクチュエータ目標値に基づいてPID制御を行い、アクチュエータ制御値をアクチュエータへ送出する(ステップS31)。
抽出部305は、検出点距離情報の内、特定の範囲内に存在する検出点Pを抽出する(ステップS32)。
最近傍特定部307は、移動体2の予定自己位置S’の周囲を特定の範囲ごとに区切り、範囲ごとに、移動体2の予定自己位置S’に最も近い検出点P、又は、移動体2の予定自己位置S’に近い順に複数の検出点Pを特定し、予定自己位置S’と最近傍物体との距離を抽出する(ステップS33)。最近傍特定部307は、範囲ごとに特定した検出点Pの測定距離(移動体2の予定自己位置S’と最近傍物体との測定距離)dを、基準投影面形状選択部309、スケール決定部311、及び漸近曲線算出部313、境界領域決定部317へ出力する。
基準投影面形状選択部309は、基準投影面40の形状を選択し(ステップS34)、選択した基準投影面40の形状情報を形状決定部315へ出力する。
スケール決定部311は、基準投影面形状選択部309が選択した形状の基準投影面40のスケールを決定し(ステップS36)、決定したスケールのスケール情報を形状決定部315へ出力する。
漸近曲線算出部313は、漸近曲線を算出し(ステップS38)、漸近曲線情報として形状決定部315及び仮想視点視線決定部34へ出力する。
形状決定部315は、スケール情報及び漸近曲線情報に基づいて、基準投影面の形状をどのように変形させるかの投影形状を決定する(ステップS40)。形状決定部315は、決定した投影形状41の投影形状情報を、変形部32へ出力する。
変形部32は、投影形状情報に基づいて、基準投影面の形状を変形させる(ステップS42)。変形部32は、変形させた変形投影面情報を、投影変換部36に出力する。
仮想視点視線決定部34は、予定自己位置S’と漸近曲線情報とに基づいて、仮想視点視線情報を決定する(ステップS44)。仮想視点視線決定部34は、仮想視点O及び視線方向Lを示す仮想視点視線情報を、投影変換部36へ出力する。
投影変換部36は、変形投影面情報と仮想視点視線情報とに基づいて、変形投影面に、撮影部12から取得した撮影画像を投影した投影画像を生成する。投影変換部36は、生成した投影画像を、仮想視点画像に変換(ステップS46)して画像合成部38へ出力する。
境界領域決定部317は、範囲ごとに特定した予定自己位置S’からの最近傍物体との距離に基づいて、境界領域を決定する。すなわち、境界領域決定部317は、空間的に隣り合う周辺画像の重ね合わせ領域としての境界領域を、移動体2の予定自己位置S’の最近傍の物体の位置に基づいて決定する(ステップS48)。境界領域決定部317は、決定した境界領域を画像合成部38へ出力する。
画像合成部38は、空間的に隣り合う仮想視点画像を、境界領域を用いて繋ぎあわせて合成画像を生成する(ステップS50)。なお、境界領域において、空間的に隣り合う仮想視点画像は、所定の比率でブレンドされる。
表示部16は、合成画像を表示する(ステップS52)。
情報処理装置10は、情報処理を終了するか否かを判断する(ステップS54)。例えば、情報処理装置10は、ECU3やプランニング処理部28Aから移動体2の駐車完了を示す信号を受信したか否かを判別することで、ステップS54の判断を行う。また、例えば、情報処理装置10は、ユーザによる操作指示などによって情報処理の終了指示を受付けたか否かを判別することで、ステップS54の判断を行ってもよい。
ステップS54で否定判断すると(ステップS54:No)、上記ステップS2からステップS54までの処理が繰り返し実行される。一方、ステップS54で肯定判断すると(ステップS54:Yes)、本ルーチンを終了する。
なお、ステップS20の補正処理を実行した後にステップS54からステップS2へ戻る場合、その後のステップS20の補正処理を省略する場合があってもよい。また、ステップS20の補正処理を実行せずにステップS54からステップS2へ戻る場合、その後のステップS20の補正処理を実行する場合があってもよい。
次に、実施形態に係る情報処理装置10の作用・効果について、比較例を用いて説明する。
実施形態に係る情報処理装置10は、VSLAM処理部24と、行動計画策定部28と、投影形状決定部29の一部である形状決定部315とを備える。VSLAM処理部24は、移動体2の周辺の画像に基づいて移動体2の周辺立体物の位置情報及び移動体2の位置情報を含む第2情報(環境地図情報)を生成する。行動計画策定部28は、移動体の行動計画情報に基づいて、移動体2の予定自己位置情報と、予定自己位置情報を基準とした周辺立体物の位置情報とを含む第1情報を生成する。投影形状決定部29は、第1情報に基づいて、撮影部12から取得した画像を投影して俯瞰画像を生成する投影面の形状を決定する。
従って、情報処理装置10は、VSLAM処理によって取得した自己位置ではなく、行動計画策定部28で策定した予定自己位置を基準として検出点の距離を算出するための予定地図情報を生成し、これを用いて俯瞰画像を生成するための投影面の形状を決定する。
図14、図15は、比較例に係る情報処理装置が実行する投影面変形処理を説明するための図である。ここでは距離換算部27の出力である検出点距離情報が、行動計画策定部28を介さずに決定部30に入力される場合を説明する。図14は、この場合の移動体2を柱とcar1の間に位置する駐車領域PAに後退駐車する状況を上から見た図である。図15は、VSLAM処理によって取得した自己位置K1を基準とした検出点距離情報の一例を示す模式図である。
図14に示したように、移動体2が位置K1から位置K2、K3、K4、K5と後退移動する場合を想定する。係る場合において、比較例に係る情報処理装置は、例えば、移動体2が位置K1に位置するタイミングにおいてVSLAM処理を開始し、自己位置K1を基準とした投影面変形処理の結果に基づいて俯瞰画像を生成し表示する。
しかしながら、移動体2が位置K1に位置するタイミングで取得した周辺画像に基づいてVSLAM処理を行い、自己位置K1を基準とした投影面変形処理の結果に基づいた俯瞰画像が表示されるタイミングまでの間に、移動体2は既に位置K1から位置K2に向かって移動している。従って、現実に自己位置K1を基準とした投影面変形処理の結果に基づいた俯瞰画像が表示されるタイミングにおいては、移動体2は位置K1には位置しない。表示部16には、例えば自己位置K2において、過去の自己位置K1を基準として決定された投影面の形状に基づく俯瞰画像が表示されることになる。この様に、俯瞰画像が表示される時点では、過去の時点を基準に算出した距離情報を用いた投影面形状となることになり、俯瞰画像が不自然なものとなることがある。
また、図14に示すようなルートで移動体2が後退駐車を行う場合、位置K1から位置K5の間の車速は一定ではない。例えば、K1では移動体2が後退開始により加速し、その後等速で後退する。K2では柱とcar1に対する接近を以って移動体2が減速する。K3では柱とcar1に移動体2が接触しない様にしつつ、駐車位置PAの長手方向と移動体2の後退方向が平行になる様に移動体2の旋回を制御し、減速する。K4では移動体2の後退方向と駐車位置PAの長手方向が平行になったことを以って、移動体2は加速する。K5では移動体2が駐車位置PAに停車するように減速する。このように、移動体2の車速は変化し続ける。これにより、過去の時点を基準に算出した距離情報による投影面形状を用いた俯瞰画像には、映像の揺らぎが現れる。また、例えば移動体2が位置K3から位置K4に至る間にハンドルの切り返しなどにより、一度、移動体2が前進する場合において、映像の揺らぎが更に生じることがある。
これに対し、実施形態に係る情報処理装置10は、行動計画策定部28が策定し、アクチュエータの制御値の決定にも用いる予定自己位置情報に基づいて、投影形状変形を行う。これにより、俯瞰画像を表示部16に表示させるタイミングにおける移動体2の実際の位置と、該俯瞰画像の投影面形状の変形に用いる距離情報における移動体2の自己位置との相違が抑制される。従って、投影面形状の不自然な揺らぎを抑制することができる。その結果、移動体周辺の立体物に応じて俯瞰画像の投影面を逐次変形する場合において、従来に比してより自然な俯瞰画像を提供することができる。
また、実施形態に係る情報処理装置10は、取得部20が取得した画像を用いたVSLAM処理により、自己位置情報と周辺位置情報を含む環境地図情報を生成する。行動計画策定部28は、自己位置情報と周辺位置情報に基づいて移動体2の予定自己位置を基準とした予定地図情報を生成する。従って、撮影部12からの画像のみを利用した比較的簡素な構成により、移動体2の予定自己位置を基準とした予定地図情報を生成することができる。
実施形態に係る情報処理装置10は、移動体2の行動計画情報に基づいて、移動体2の制御に関する第3情報であるアクセルやブレーキ、ギア、旋回などのアクチュエータの制御値を生成する。従って、移動体2の移動制御と、移動体2の予定自己位置を基準とした投影面の変形とを連動させることができる。その結果、移動体2の移動に伴う連続的で自然な俯瞰画像を提供することができる。
(変形例1)
どれくらい先(未来)における予定自己位置を基準として行動計画に基づく投影面変形処理を実行するかは、予定地図情報を生成する際に基準とする予定自己位置を変更することで任意に調整することができる。
(変形例2)
上記実施形態では、ドライバからの自動駐車モードの選択指示に応答して行動計画を策定し、行動計画に基づく投影面変形処理を実行する場合を例とした。しかしながら、行動計画に基づく投影面変形処理は自動駐車モード或いは自動運転モードに限定されず、半自動運転モード、手動運転モード等において俯瞰画像によってドライバを支援する場合においても利用できる。また、後退駐車のみならず、縦列駐車等において俯瞰画像によってドライバを支援する場合においても利用できる。
(第2の実施形態)
第2の実施形態に係る情報処理装置10は、VSLAM処理により得られたデータだけでなく、少なくとも一つの外部センサから取得したデータを用いて行動計画に基づく投影面変形処理を実行するものである。なお、以下においては、説明を具体的にするため、情報処理システム1は、外部センサとして、ミリ波レーダ、ソナー、GPSセンサを備える場合を例とする。
図16は、第2の実施形態に係る情報処理装置10の機能的構成の一例を示す模式図である。図16に示した様に、外部センサとしてのミリ波レーダ、ソナー、GPSセンサからの各データは、行動計画策定部28に入力される。
図17は、第2の実施形態に係る情報処理装置10の行動計画策定部28の機能的構成の一例を示す模式図である。図17に示した様に、行動計画策定部28は、周囲状況把握部28D、プランニング処理部28A、予定地図情報生成部28B、PID制御部28Cを備える。
周囲状況把握部28Dは、VSLAM処理部24からのデータ、ミリ波レーダ、ソナー、GPSセンサからの各データを用いて、動体検出処理の他、広域のローカライゼーション処理やSLAM処理を実行し、第1の実施形態と比べて確度の高い自己位置情報及び周辺位置情報を生成する。なお、自己位置情報及び周辺位置情報は、移動体2と、移動体2の周辺立体物との距離を例えばメートル単位に換算した距離情報を含む。また、広域のローカライゼーション処理とは、例えばGPSセンサから取得したデータを用いて、VSLAM処理により取得される自己位置情報よりも広い範囲における移動体2の自己位置情報を取得する処理を意味する。
プランニング処理部28Aは、周囲状況把握部28Dからの自己位置情報及び周辺位置情報に基づいて、プランニング処理を実行する。ここで、プランニング処理部28Aが実行するプランニング処理には、駐車ルート計画処理、広域ルート計画処理、ルート計画に沿った予定自己位置算出処理及び、アクチュエータ目標値算出処理が含まれる。広域ルート計画処理とは、移動体2が道路等を走行し広域エリアを移動する際のルート計画である。
予定地図情報生成部28Bは、周囲状況把握部28Dが生成した周辺位置情報と、プランニング処理部28Aが策定した予定自己位置情報を用いて、予定地図情報を生成し、決定部30へ送出する。
PID制御部28Cは、プランニング処理部28Aによって策定されたアクチュエータ目標値に基づいてPID制御を行い、アクセルや旋回角等のアクチュエータを制御するためのアクチュエータ制御値を送出する。
以上述べた第2の実施形態に係る情報処理装置10は、VSLAM処理により得られたデータだけでなく、ミリ波レーダ、ソナー、GPSセンサからの各データも用いることで、より確度の高い周囲状況の把握を行い、行動計画に基づく投影面変形処理を実行する。従って、第1の実施形態に係る情報処理装置10に加えて、さらに精度の高い俯瞰画像による運転支援を実現することができる。
(第3の実施形態)
第3の実施形態に係る情報処理装置10は、撮影部12によって取得された画像や、少なくとも一つの外部センサから取得したデータを用いて行動計画に基づく投影面変形処理を実行するものである。なお、以下においては、説明を具体的にするため、情報処理システム1は、外部センサとして、LiDAR、ミリ波レーダ、ソナー、GPSセンサを備える場合を例とする。また、情報処理装置10は、撮影部12によって取得された画像および行動計画のみに基づく投影面変形処理を行ってもよい。
図18は、第3の実施形態に係る情報処理装置10の機能的構成の一例を示す模式図である。図18に示した様に、撮影部12によって取得された画像は、取得部20を介して行動計画策定部28に入力される。また、外部センサとしてのLiDAR、ミリ波レーダ、ソナー、GPSセンサからの各データは、行動計画策定部28に入力される。
図19は、第3の実施形態に係る情報処理装置10の行動計画策定部28の機能的構成の一例を示す模式図である。図19に示した様に、行動計画策定部28は、周囲状況把握部28D、プランニング処理部28A、予定地図情報生成部28B、PID制御部28Cを備える。
周囲状況把握部28Dは、撮影部12によって取得された画像、LiDAR、ミリ波レーダ、ソナー、GPSセンサからの各データを用いて、動体検出処理、ローカライゼーション処理、SLAM処理(VSLAM処理を含む)を実行し、自己位置情報及び周辺位置情報を生成する。なお、自己位置情報及び周辺位置情報は、移動体2と、移動体2の周辺立体物との距離を例えばメートル単位に換算した距離情報を含む。
プランニング処理部28Aは、周囲状況把握部28Dからの自己位置情報及び周辺位置情報に基づいて、プランニング処理を実行する。ここで、プランニング処理部28Aが実行するプランニング処理には、駐車ルート計画処理、広域ルート計画処理、ルート計画に沿った予定自己位置算出処理及び、アクチュエータ目標値算出処理が含まれる。
予定地図情報生成部28Bは、周囲状況把握部28Dが生成した周辺位置情報と、プランニング処理部28Aが策定した予定自己位置情報とを用いて、予定地図情報を生成し、決定部30へ送出する。
PID制御部28Cは、プランニング処理部28Aによって策定されたアクチュエータ目標値に基づいてPID制御を行い、アクセルや旋回角等のアクチュエータを制御するためのアクチュエータ制御値を送出する。
以上述べた第3の実施形態に係る情報処理装置10は、撮影部12によって取得された画像、LiDAR、ミリ波レーダ、ソナー、GPSセンサからの各データを用いて、より確度の高い周囲状況の把握を行い、行動計画に基づく投影面変形処理を実行する。従って、第1の実施形態に係る情報処理装置10に加えて、さらに精度の高い俯瞰画像による運転支援を実現することができる。
以上、実施形態及び各変形例について説明したが、本願の開示する情報処理装置、情報処理方法、及び情報処理プログラムは、上記の各実施形態等そのままに限定されるものではなく、各実施段階等ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記の実施形態及び各変形例等に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
なお、上記実施形態及び各変形例の情報処理装置10は、各種の装置に適用可能である。例えば、上記実施形態及び各変形例の情報処理装置10は、監視カメラから得られる映像を処理する監視カメラシステム、又は車外の周辺環境の画像を処理する車載システムなどに適用することができる。