<本技術を適用した走行制御装置の一実施の形態の概要>
図1は、本技術を適用した走行制御装置の一実施の形態の構成例の概要を示すブロック図である。
走行制御装置は、例えば、自動車等の車両や、船舶、潜水艦、飛行機、ドローン等の移動体等に搭載され、その移動体の走行(移動)を制御する。
なお、本実施の形態では、走行制御装置は、例えば、自動車に搭載されることとする。
図1において、走行制御装置は、複数であるN個のセンサ111,112,・・・,11N、尤度算出部12、正規化部13、統合部14、距離/動き量算出部15、及び、走行制御部16を有する。
走行制御装置は、その走行制御装置が搭載される自動車を運転する運転者を支援するための各種の走行制御を行う。
センサ11n(n=1,2,・・・,N)は、所定の測距方法の測距や、所定の動き検出方法の動き量の検出に用いられるセンサで、所定の物理量をセンシングし、そのセンシングの結果であるセンサデータを、尤度算出部12に供給する。
ここで、センサ11nとしては、例えば、1眼のカメラや、ステレオカメラ等の多眼のカメラ、ミリ波レーダ等のレーダ、ToF(Time of Flight)センサ、ライダ(Lidar)、その他の測距や動き量の検出が可能な任意のセンサを採用することができる。
また、センサ11nとセンサ11n'(n≠n’)とは、異なる種類のセンサであり、したがって、異なる測距方法の測距や、異なる動き検出方法での動き量の検出に用いられる。
図1の走行制御装置は、以上のような複数のセンサ111ないし11N、すなわち、異なる測距方法の測距や、異なる動き検出方法での動き量の検出に用いられる複数(種類)のセンサ111ないし11Nを有するので、複数(種類)の測距方法での測距や、複数(種類)の動き検出方法での動き量の検出が行われる。
したがって、1の測距方法や動き検出方法は、1のセンサ11nに対応する。
なお、センサ111ないし11Nは、例えば、自動車の車内の天井前方や、自動車のフロントの先端等に配置され、自動車の前方の物体までの距離や、その物体の動き量を求めるセンサデータを出力する。
尤度算出部12は、複数であるN個のセンサ111ないし11Nそれぞれについて、センサ11nのセンサデータ(センサ11nが出力するセンサデータ)から、物体までの距離が複数の距離それぞれである距離尤度を算出する。
すなわち、いま、センサ11nのセンサデータから、△Zの精度で、0ないし△Z×Kの範囲の距離を検出することができることとする。尤度算出部12は、物体までの距離が、複数であるK+1個の距離0,△Z,△Z×2,・・・,△Z×Kそれぞれである距離尤度を算出する。
なお、異なるセンサ11nとセンサ11n'とでは、検出することができる距離の精度や範囲が異なることがあり、したがって、距離尤度が算出される複数の距離が異なることがある。
尤度算出部12は、複数のセンサ111ないし11Nそれぞれについて、センサ11nのセンサデータから、物体までの距離が複数の距離それぞれである距離尤度を算出する他、その物体の動き量が複数の動き量それぞれである動き量尤度を算出する。
尤度算出部12は、複数のセンサ111ないし11Nそれぞれについて算出された複数の距離それぞれの距離尤度、及び、複数の動き量それぞれの動き量尤度を、正規化部13に供給する。
正規化部13は、尤度算出部12からの複数のセンサ111ないし11Nそれぞれについての複数の距離それぞれの距離尤度を正規化する。
ここで、上述したように、異なるセンサ11nとセンサ11n'とについては、距離尤度が算出される複数の距離が異なることがある。
すなわち、いま、K≠K'、及び、△Z≠△Z'であるとして、センサ11nについては、K+1個の距離0,△Z,△Z×2,・・・,△Z×Kの距離尤度が求められ、センサ11n'については、K'+1個の距離0,△Z',△Z'×2,・・・,△Z'×K'の距離尤度が求められることがある。
以上のように、異なるセンサ11nとセンサ11n'とについては、距離尤度が算出される距離や、距離尤度が算出される複数の距離の、いわば粒度が異なることがある。
そこで、正規化部13では、N個のセンサ111ないし11Nすべてについて、距離尤度が存在する複数の距離を一致させる正規化が行われる。
正規化は、例えば、補間により、距離尤度が存在する複数の距離の数(上述のKやK'に相当する)を増加させるアップサンプリングによって行うことができる。
正規化部13は、尤度算出部12からのN個のセンサ111ないし11Nそれぞれについての複数の動き量それぞれの動き量尤度の正規化も、距離尤度の正規化と同様にして行う。
そして、正規化部13は、N個のセンサ111ないし11Nそれぞれについての正規化後の距離尤度及び動き量尤度を、統合部14に供給する。
統合部14は、N個のセンサ111ないし11Nそれぞれについての複数の距離それぞれの距離尤度を、複数の距離それぞれごとに統合する。
すなわち、いま、正規化後の距離尤度が存在する複数の距離のうちのある距離zを、注目する注目距離zとすると、正規化部13での正規化後は、N個のセンサ111ないし11Nのすべてについて、注目距離zの距離尤度が存在する。
統合部14は、N個のセンサ111ないし11Nそれぞれについての注目距離zの距離尤度、すなわち、N個の距離尤度を統合し、注目距離zの統合尤度を求める。
ここで、N個の距離尤度の統合は、例えば、ベイズ方式、すなわち、N個の距離尤度の積をとること(距離尤度が対数尤度である場合には、和をとること)によって行うことができる。
また、N個の距離尤度の統合は、例えば、N個の距離尤度を入力として、1個の統合尤度を出力する学習モデルの学習をあらかじめ行っておき、その学習モデルに、N個の距離尤度を入力として与えることにより行うことができる。
統合部14は、以上のようにして、N個のセンサ111ないし11Nそれぞれについての複数の距離それぞれの距離尤度を、複数の距離それぞれごとに統合し、複数の距離それぞれの統合尤度を求めて、距離/動き量算出部15に供給する。
さらに、統合部14は、距離尤度の統合と同様にして、N個のセンサ111ないし11Nそれぞれについての複数の動き量それぞれの動き量尤度を、複数の動き量それぞれごとに統合し、その結果得られる複数の動き量それぞれの統合尤度を、距離/動き量算出部15に供給する。
距離/動き量算出部15は、統合部14からの複数の距離それぞれの統合尤度を用いて、物体までの距離を求め、走行制御部16に供給する。すなわち、距離/動き量算出部15は、例えば、統合部14からの複数の距離それぞれの統合尤度のうちの、最大の統合尤度の距離を、物体までの距離として求め、走行制御部16に供給する。
また、距離/動き量算出部15は、統合部14からの複数の動き量それぞれの統合尤度を用いて、物体の動き量を求め、走行制御部16に供給する。すなわち、距離/動き量算出部15は、例えば、統合部14からの複数の動き量それぞれの統合尤度のうちの、最大の統合尤度の動き量を、物体の動き量として求め、走行制御部16に供給する。
走行制御部16は、距離/動き量算出部15から供給される物体までの距離や、物体の動き量を、必要に応じて用いて、自動車の走行制御を行う。
すなわち、走行制御部16は、距離/動き量算出部15から供給される物体までの距離や、物体の動き量を、必要に応じて用いて、例えば、自動車の前方に存在する障害物に関する障害物情報としての障害物マップを生成する。そして、走行制御部16は、障害物マップを用いて、障害物の存在の警告や、ブレーキの制御等を行う。
図2は、サンプリング点を説明する図である。
ここで、サンプリング点とは、図1の尤度算出部12において、距離尤度や動き量尤度が算出される位置(点)を意味する。
また、センサ11nは、センシングの対象である物理量としての光等の信号を受信(受光)する受信部(受光部)を有するが、本実施の形態では、図1の走行制御装置が搭載された自動車の前方を、z方向とするとともに、z方向に直交し、センサ11nの受信部の受信部分を通る平面上の水平方向(左右方向)及び垂直方向(上下方向)を、それぞれ、x方向及びy方向とする3次元(直交)座標系によって、3次元の位置(x,y,z)、及び、2次元の位置(x,y)を表すこととする。
例えば、センサ11nがステレオカメラである場合、位置(x,y)は、そのステレオカメラ(を構成する2個のカメラのうちの一方のカメラ)で撮影される画像(例えば、後述する基準画像)の画素の位置を表し、位置(x,y,z)は、位置(x,y)の画素に映る物体までの距離がzであることを表す。
位置(x,y,z)は、実空間の位置、すなわち、位置(x,y)の画素に映る物体の実空間の位置に変換することができる。
以下、サンプリング点について、距離尤度を例に説明する。
例えば、あるセンサ11nが、ステレオカメラである場合には、そのステレオカメラであるセンサ11nのセンサデータとしては、視点の異なる2枚の画像が得られる。
この2枚の画像のうちの一方を基準画像というとともに、他方を参照画像ということとすると、基準画像の各画素については、参照画像との視差が、各値の視差量D1,D2,...であると仮定したときの、その視差量D1,D2,...それぞれの尤度を求めることができる。
いま、基準画像のある画素を、注目する注目画素とすると、注目画素について、参照画像との視差が、視差量D1,D2,...であると仮定したときの、その視差量D1,D2,...それぞれの距離尤度は、注目画素に映る物体までの距離が、視差量D1,D2,...に対応する距離z1,z2,...であると仮定したときの、その距離z1,z2,...それぞれの距離尤度として用いることができる。
したがって、注目画素の位置(x,y)に対して、その位置(x,y)の距離z(位置(x,y)の画素に映る物体までの距離z)が、距離z1,z2,...であるときの距離尤度を得ることができる。
以上のように、距離尤度は、位置(x,y,z)に対して得ることができ、このように、距離尤度が得られる位置(x,y,z)が、サンプリング点である。
例えば、あるセンサ11nが、レーダである場合には、そのレーダであるセンサ11nのセンサデータ(アングルレンジマップ)からは、各方向rの物体までの距離dが、距離d1,d2,...であると仮定したときの、その距離d1,d2,...それぞれの尤度を、距離尤度として求めることができる。
レーダについて、距離尤度が得られる方向r及び距離dは、それぞれ、極座標系の偏角及距離であり、その方向r及び距離dの位置は、座標変換によって、3次元座標系の位置(x,y,z)に変換することができる。
したがって、レーダについても、ステレオカメラの場合と同様に、3次元座標系の位置(x,y,z)をサンプリング点として、そのサンプリング点に対して、距離尤度を得ることができる。
例えば、あるセンサ11nが、ToFセンサである場合には、ToFセンサでは、例えば、高速で照射された多数の送信パルスが、マトリクス状に配置された複数の受光部で受光される。そして、各受光部で受光された送信パルスである受信信号から、受光部の位置(x,y)の距離L(位置(x,y)の受光部で受光された受信信号に対応する送信パルスが反射された物体までの距離)が求められる。
ToFセンサでは、所定の時間Tとしての時間フレームTの間に送信された複数の送信パルスに対して、受光部が受光する複数の受信信号それぞれから、複数の距離Lが求められる。そして、時間フレームTの間に得られた複数の距離Lの平均値等が、受光部の位置(x,y)の最終的な距離zとして求められる。
センサ11nが、ToFセンサである場合には、そのToFセンサであるセンサ11nのセンサデータとして、例えば、時間フレームTの間に求められる複数の距離Lを得ることができる。
そして、時間フレームTの複数の距離Lの分布に基づき、受光部の位置(x,y)の距離が、距離z1,z2,...であるときの距離尤度を得ることができる。
したがって、ToFセンサについても、ステレオカメラの場合と同様に、3次元座標系の位置(x,y,z)をサンプリング点として、そのサンプリング点に対して、距離尤度を得ることができる。
なお、異なるセンサ11nと11n'とでは、すなわち、例えば、ステレオカメラ、レーダ、及び、ToFセンサのうちの任意の2個のセンサでは、測距方法等の相違から、距離尤度が求められるサンプリング点の位置(x,y,z)(及び粒度)が異なることがある。
図1の正規化部13では、N個のセンサ111ないし11Nすべてについて、距離尤度が存在するサンプリング点を一致させる正規化が、例えば、補間によりサンプリング点の数を増加させるアップサンプリングによって行われる。
図2では、3個のセンサ111ないし113としてのステレオカメラ、レーダ、及び、ToFセンサについて、サンプリング点のx,y,z方向の粒度を、所定の△x,△y,△zにする正規化が行われている。
以上のような正規化によって、異なる測距方法のステレオカメラ、レーダ、及び、ToFセンサそれぞれから得られる距離尤度のサンプリング点が一致する。
その結果、図1の統合部14では、異なる測距方法のステレオカメラ、レーダ、及び、ToFセンサそれぞれから得られる距離尤度を、サンプリング点の単位で統合し、サンプリング点ごとの統合尤度を求めることができる。
以上の点、動き量尤度についても、同様である。
なお、距離尤度については、3次元座標系の位置としてのサンプリング点(x,y,z)に対して、距離zの尤度が求められるが、動き量尤度については、x,y,z方向の動き量を、vx,vy,vzと表すこととすると、6次元(直交)座標系の位置としてのサンプリング点(x,y,z,vx,vy,vz)に対して、動き量(vx,vy,vz)の尤度が求められる。
図3は、図1の走行制御装置の処理の例を説明するフローチャートである。
ステップS11において、N個のセンサ111ないし11Nは、センシングを行い、そのセンシングの結果得られるセンサデータを、尤度算出部12に供給して、処理は、ステップS12に進む。
ステップS12では、尤度算出部12は、N個のセンサ111ないし11Nそれぞれについて、センサ11nのセンサデータから、複数の距離zそれぞれの距離尤度、及び、複数の動き量(vx,vy,vz)それぞれの動き量尤度を算出する。そして、尤度算出部12は、センサ111ないし11Nそれぞれについての複数の距離zそれぞれの距離尤度、及び、複数の動き量(vx,vy,vz)それぞれの動き量尤度を、正規化部13に供給し、処理は、ステップS12からステップS13に進む。
ステップS13では、正規化部13は、尤度算出部12からの複数のセンサ111ないし11Nそれぞれについての距離尤度について、距離尤度が存在するサンプリング点(x,y,z)を揃える(一致させる)正規化を行う。
さらに、正規化部13は、尤度算出部12からの複数のセンサ111ないし11Nそれぞれについての動き量尤度について、動き量尤度が存在するサンプリング点(x,y,z,vx,vy,vz)を揃える正規化を行う。
そして、正規化部13は、複数のセンサ111ないし11Nそれぞれについての正規化後の距離尤度、及び、動き量尤度を、統合部14に供給し、処理は、ステップS13からステップS14に進む。
なお、複数のセンサ111ないし11Nそれぞれについての距離尤度のサンプリング点(x,y,z)を揃える正規化は、サンプリング点(x,y,z)の各方向、つまり、x方向、y方向、z方向それぞれについて、サンプリング点(x,y,z)の数が最大の距離尤度に揃えるように行うことができる。
すなわち、例えば、いま、複数のセンサ111ないし11Nとして、ステレオカメラ及びレーダの2個のセンサを採用することとすると、ステレオカメラ(のセンサデータ)から求められる距離zの解像度は、レーダから求められる距離zの解像度よりも低い。
そのため、ステレオカメラについての距離尤度の正規化は、ステレオカメラについての距離尤度のサンプリング点(x,y,z)のz方向の位置及び数を、レーダについての距離尤度のサンプリング点(x,y,z)のz方向の位置及び数に揃えるように、ステレオカメラについての距離尤度(のサンプリング点(x,y,z))の数が、補間により増加される。
また、レーダについては、方向(方位)の分解能である角度分解能が低いので、3次元座標系上では、レーダのx方向及びy方向の解像度は、ステレオカメラのx方向及びy方向の解像度よりも低い。
そのため、レーダについての距離尤度の正規化は、レーダについての距離尤度のサンプリング点(x,y,z)のx方向とy方向の位置及び数を、ステレオカメラについての距離尤度のサンプリング点(x,y,z)のx方向とy方向の位置及び数に、それぞれ揃えるように、レーダについての距離尤度(のサンプリング点(x,y,z))の数が、補間により増加される。
ここで、距離尤度の正規化は、補間以外の方法によって行うことができる。
例えば、ステレオカメラについては、視差の検出を、画素より細かい精度で行うことで、距離zの解像度を向上させること、すなわち、ステレオカメラについての距離尤度のサンプリング点(x,y,z)のz方向の数を増加させることができ、これにより、ステレオカメラについての距離尤度のサンプリング点(x,y,z)のz方向の位置及び数を、レーダについての距離尤度のサンプリング点(x,y,z)のz方向の位置及び数に揃えることができる。
また、例えば、レーダについては、時間方向の超解像技術を用いることで、角度分解能を高くすること、すなわち、レーダについての距離尤度のサンプリング点(x,y,z)のx方向(及びy方向)の数を増加させることができ、これにより、レーダについての距離尤度のサンプリング点(x,y,z)のx方向の位置及び数を、ステレオカメラについての距離尤度のサンプリング点(x,y,z)のx方向の位置及び数に揃えることができる。
なお、レーダの距離尤度のサンプリング点(x,y,z)の数の増加は、3次元座標系上ではなく、その3次元座標系に変換する前の極座標系上で行うことができる。
さらに、サンプリング点(x,y,z)の数の増加は、上述の、画素より細かい精度での視差の検出や、時間方向の超解像技術と、補間とを組み合わせて行うことができる。
以上の点、動き量尤度の正規化についても、同様である。
ステップS14では、統合部14は、センサ111ないし11Nそれぞれについての距離尤度を、サンプリング点(x,y,z)ごとに統合し、サンプリング点(x,y,z)ごとの距離の統合尤度を求める。さらに、統合部14は、センサ111ないし11Nそれぞれについての動き量尤度を、サンプリング点(x,y,z,vx,vy,vz)ごとに統合し、サンプリング点(x,y,z,vx,vy,vz)ごとの動き量の統合尤度を求める。
そして、統合部14は、距離及び動き量それぞれの統合尤度を、距離/動き量算出部15に供給し、処理は、ステップS14からステップS15に進む。
ステップS15では、距離/動き量算出部15は、統合部14からの距離の統合尤度を用いて、物体までの距離を求め、走行制御部16に供給する。すなわち、距離/動き量算出部15は、例えば、統合部14からのサンプリング点(x,y,z)ごとの距離の統合尤度について、各位置(x,y)に対して、距離の統合尤度が最も大きい距離zを求め、走行制御部16に供給する。
さらに、距離/動き量算出部15は、統合部14からの動き量の統合尤度を用いて、物体の動き量を求め、走行制御部16に供給する。すなわち、距離/動き量算出部15は、例えば、統合部14からのサンプリング点(x,y,z,vx,vy,vz)ごとの動き量の統合尤度について、各位置(x,y,z)に対して、動き量の統合尤度最もが大きい動き量(vx,vy,vz)を求め、又は、各位置(x,y)に対して、動き量の統合尤度が最も大きい動き量(vx,vy,vz)及び距離zを求め、走行制御部16に供給する。
そして、処理は、ステップS15からステップS16に進み、走行制御部16は、距離/動き量算出部15から供給される距離zや動き量(vx,vy,vz)を、必要に応じて用いて、自動車の走行制御を行い、処理は終了する。
なお、図3のフローチャートに従った処理は、パイプラインで繰り返し行われる。
図4は、センサ111ないし11Nそれぞれについての距離尤度や動き量尤度を統合した統合尤度を用いて、物体までの距離や物体の動き量を求める方式(以下、統合方式ともいう)の効果を説明する図である。
図1で説明したように、センサ11nとしては、例えば、ステレオカメラやミリ波レーダを採用することができる。
ステレオカメラ及びミリ波レーダによれば、物体までの距離を測定すること(測距を行うこと)ができる。
ところで、ステレオカメラでは、画像の視差を検出することで測距を行うため、暗所では、測距の精度が劣化する。さらに、ストレオカメラでは、遠距離ほど、距離の分解能(解像度)が低下し、物体のテクスチャ(図柄)によって、測距の精度が変化する。また、ステレオカメラでは、雨や、雪、逆光等の外部環境によって、測距の精度が低下する。
一方、ミリ波レーダでは、ミリ波を送信し、そのミリ波が物体で反射された反射光を受信することで測距を行うため、トンネル等での多重反射に弱く、多重反射(マルチパス)が生じる環境では、ゴーストが発生することがある。ゴーストは、その他、測距の対象の物体の位置や姿勢によって発生することもある。さらに、ミリ波レーダでは、垂直方向の位置の測距の解像度(y方向の解像度)が低いことや、路面のような、送信されるミリ波に対して角度が浅い物体を対象とする測距が困難であることがある。また、ミリ波レーダでは、方向(方位)の分解能である角度分解能が低く、測距の対象とする物体の材質によって、測距の精度が変化する。
したがって、ステレオカメラだけで測距を行う場合や、ミリ波レーダだけで測距を行う場合には、測距の精度が低下することが、少なからず生じる。
ところで、ステレオカメラとミリ波レーダとのように、異なる測距方法の複数のセンサについては、測距の精度が低下するケースが異なる。
そこで、統合方式では、センサ111ないし11Nそれぞれについての距離尤度を統合し、その結果得られる統合尤度を用いることで、物体までの距離を精度良く求める。
図4は、3個のセンサ111ないし113それぞれから得られる各距離zの距離尤度と、その3個のセンサ111ないし113それぞれについての距離尤度を統合した統合尤度との例を示している。
図4において、P1,P2,P3は、センサ111ないし113それぞれについての距離尤度を表す。
距離尤度Pn(ここでは、n=1,2,3)は、信頼性が低い距離で小さくなる。また、距離尤度Pnは、その距離尤度Pnが得られたセンサ11nの測距の精度が低下するケースでは、そのセンサ11nで測距可能な距離の範囲等の広範囲に、小さい値で分散する。
センサ11nの測距の精度が低下するケースとしては、例えば、センサ11nがステレオカメラである場合には、平坦な画像として映る物体までの距離の測距が行われるケース等がある。また、例えば、センサ11nがToFセンサである場合には、黒い物体までの距離の測距が行われるケース等が、センサ11nの測距の精度が低下するケースに該当する。さらに、例えば、センサ11nがレーダである場合には、マルチパスが生じる状況で測距が行われるケースが、センサ11nの測距の精度が低下するケースに該当する。
図4では、センサ111ないし113のうちの、センサ111の測距の精度が低下する状況で、測距が行われている。そのため、センサ111についての距離尤度は、広範囲の距離zに亘って、小さい値で分散している。
統合方式では、センサ111ないし11Nそれぞれについての距離尤度P1ないしP3が統合され、統合尤度Pが求められる。すなわち、例えば、センサ111ないし11Nそれぞれについての距離尤度P1ないしP3の積が、統合尤度Pとして求められる。
統合尤度Pが、距離尤度P1ないしP3の積をとることで求められる場合、測距の精度が低いセンサ111についての距離尤度P1、すなわち、小さい値で分散する距離尤度P1は、どの距離zの統合尤度Pにも、ほとんど影響しない(ほぼ同じだけ影響する)。
そのため、測距の精度が低いセンサ111についての距離尤度P1は、各距離zの統合尤度Pの優劣に影響しないので、そのような統合尤度Pが最大の距離zを、物体までの距離として算出することで、結果として、測距の精度が低いセンサ111を用いずに(信頼せずに)、物体までの距離を求めること、すなわち、物体までの距離を精度良く求めることができる。
さらに、統合方式では、環境等にロバストな測距を行うことや、単一のセンサだけを用いた測距では達成することができない解像度での測距を行うことができる。
例えば、ステレオカメラだけで測距を行う場合には、遠距離の解像度(分解能)が低下するが、2個のセンサ11nと11n'として、例えば、ステレオカメラとレーダを採用する場合には、遠距離でも、距離の解像度として、高解像度を実現することができる。
なお、以上の点、動き量尤度を統合して、統合尤度を求め、その統合尤度を用いて、動き量(vx,vy,vz)を求める場合も、同様である。
<本技術を適用した走行制御装置の第1の詳細構成例>
図5は、本技術を適用した走行制御装置の第1の詳細構成例を示すブロック図である。
図5において、走行制御装置は、ステレオカメラ21、ミリ波レーダ22、伝送部23、同期部24、尤度算出部25、正規化部26、統合部27、距離算出部28、障害物マップ生成部29、走行制御部30、及び、バッファ31を有する。
ステレオカメラ21及びミリ波レーダ22は、図1のN個のセンサ111ないし11Nに相当する。
ステレオカメラ21は、2個のカメラ21L及び21Rを有する。カメラ21L及び21Rは、異なる視点から画像を撮影し、その結果得られる画像データを、センサデータとして、伝送部23に出力する。
ミリ波レーダ22は、ミリ波を送信する。ミリ波レーダ22が送信するミリ波が、物体で反射し、ミリ波レーダ22に戻ってくると、ミリ波レーダ22は、その戻ってくるミリ波を受信する。そして、ミリ波レーダ22は、その受信したミリ波である受信信号を、センサデータとして、伝送部23に出力する。
伝送部23は、ステレオカメラ21(のカメラ21Lと21R)、及び、ミリ波レーダ22が出力するセンサデータに必要な処理を施し、同期部24に伝送(供給)する。
伝送部23は、例えば、ステレオカメラ21が出力する画像データに、現像処理等を施す。
同期部24は、異なる2個のセンサとしてのステレオカメラ21及びミリ波レーダ22それぞれが出力し、伝送部23から供給されるセンサデータを同期させ、尤度算出部25に出力する。
尤度算出部25は、図1の尤度算出部12に相当する。
尤度算出部25は、同期部24からのステレオカメラ21のセンサデータから、ステレオカメラ21についての距離尤度を、各サンプリング点(x,y,z)、すなわち、ステレオカメラ21のセンサデータとしての画像データの各画素の各位置(x,y)と、ステレオカメラ21で測距可能な距離の範囲の各距離zについて算出し、正規化部26に供給する。
さらに、尤度算出部25は、同期部24からのミリ波レーダ22のセンサデータから、ミリ波レーダ22についての距離尤度を、各サンプリング点(x,y,z)について算出し、正規化部26に供給する。
すなわち、尤度算出部25は、同期部24からのミリ波レーダ22のセンサデータから、各方向(方位)rの物体までの距離dが、ミリ波レーダ22で測距可能な距離の範囲の各距離であると仮定したときの、その各距離の距離尤度を求める。
そして、尤度算出部25は、ミリ波レーダ22についての距離尤度が得られる、極座標系の各方向r及び各距離d(の距離尤度)を、座標変換によって、3次元座標系の各位置(x,y,z)(の距離尤度)に変換し、その3次元座標系の各位置(x,y,z)である各サンプリング点(x,y,z)についての距離尤度を、正規化部26に供給する。
正規化部26は、図1の正規化部13に相当する。
正規化部26は、尤度算出部25からの、ステレオカメラ21についての各サンプリング点(x,y,z)の距離尤度、及び、ミリ波レーダ22についての各サンプリング点(x,y,z)の距離尤度に対して、サンプリング点(x,y,z)を一致させる正規化を行い、統合部27に供給する。
統合部27は、図1の統合部14に相当する。
統合部27は、正規化部26からのステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度を、サンプリング点(x,y,z)ごとに統合し、距離算出部28に供給する。
なお、統合部27は、ステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度の統合を、バッファ31に記憶された情報を必要に応じて用いて行うことができる。
距離算出部28は、図1の距離/動き量算出部15に相当する。
距離算出部28は、統合部27からのサンプリング点(x,y,z)ごとの距離の統合尤度を用いて、物体までの距離を求める。すなわち、距離算出部28は、位置(x,y)ごとに、距離の統合尤度が最大の距離zを、位置(x,y)の画素に映る物体までの距離として求める。
そして、距離算出部28は、距離の統合尤度を用いて求めた、位置(x,y)ごとの距離zを、障害物マップ生成部29、及び、バッファ31に供給する。
障害物マップ生成部29は、距離算出部28からの距離zを用いて、自動車の前方に存在する障害物に関する障害物情報としての障害物マップを生成する。そして、障害物マップ生成部29は、障害物マップを、走行制御部30、及び、バッファ31に供給する。
走行制御部30は、図1の走行制御部16に相当する。
走行制御部30は、障害物マップ生成部29からの障害物マップを用いて、自動車を運転する運転者に対して障害物の存在の警告や、自動運転の制御等を行う。
バッファ31は、距離算出部28から供給される位置(x,y)ごとの距離z、及び、障害物マップ生成部29から供給される障害物マップを、一時記憶する。
バッファ31に記憶された距離zや障害物マップは、統合部27が、次の統合を行うときに必要に応じて用いられる。
すなわち、統合部27は、ステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度の統合を行うときに、バッファ31に記憶された、前回求められた距離zや障害物マップを、必要に応じて用いる。
ここで、距離尤度の正規化後のサンプリング点(x,y,z)の数は、膨大な数になるため、統合部27での統合は、負荷の高い処理になる。
統合部27は、統合にあたって、前回求められた距離zや障害物マップを用いることで、統合の処理の負荷を軽減する。
例えば、統合部27は、前回求められた障害物マップから、自動車の前方に存在する物体の形状を認識し、今回の統合時における物体の存在範囲を、図5の走行制御装置が搭載された自動車の速度から推定する。
そして、統合部27は、今回の統合時における物体の存在範囲内の点に対応するサンプリング点(x,y,z)のみを、距離尤度の統合の対象として、ステレオカメラ21についての距離尤度と、ミリ波レーダ22についての距離尤度とを統合し、統合尤度を求める。
一方、他のサンプリング点については、統合部27は、ステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度のうちの一方を、そのまま、統合尤度として用いる。
この場合、統合は、物体の存在範囲内の点に対応するサンプリング点(x,y,z)のみを対象として行われるので、統合の対象となるサンプリング点(x,y,z)が少なくなり、統合の処理の負荷を軽減することができる。
また、例えば、統合部27は、前回求められた障害物マップから、路面を認識し、その路面上の点に対応するサンプリング点(x,y,z)については、例えば、レーダのような、路面で反射された信号の受信が困難で、路面を対象とする測距の精度が低いセンサについての距離尤度を、統合の対象から除外することができる。
この場合、統合の対象となる距離尤度の数が少なくなるので、統合の処理の負荷を軽減することができる。
図6は、図5の同期部24での同期を説明する図である。
統合方式では、センサ111ないし11Nとしての、例えば、ステレオカメラ21及びミリ波レーダ22それぞれについての距離尤度を統合し、その結果得られる統合尤度を用いて、物体までの距離等を求める。そのため、統合の対象となる距離尤度を求めるのに用いるステレオカメラ21及びミリ波レーダ22それぞれのセンサデータを、精度良く同期させる必要がある。
図6は、ステレオカメラ21が出力するセンサデータとしての画像データと、ミリ波レーダ22が出力するセンサデータとの同期の例を示している。
図6において、ステレオカメラ21(を構成するカメラ21L及び21R)は、例えば、図示せぬCMOS(Complemental Metal Oxide Semiconductor)のイメージセンサを有し、60Hzのフレームレートで、1フレームが400(水平)ラインの画像を撮影する。
また、ステレオカメラ21は、例えば、ローリングシャッタ方式で、画像を撮影するため、露光タイミングが、1フレームの各ラインで、徐々にずれている(遅いタイミングになっている)。
一方、図6において、ミリ波レーダ22は、例えば、1200Hzの周期で、センサデータを出力する。
したがって、図6では、ステレオカメラ21が出力する画像データの1フレームに対して、ミリ波レーダ22は、1200のセンサデータを出力する。
いま、ステレオカメラ21が1フレームの画像を撮影するときの各ラインの露光時間を、TEと表すこととすると、ステレオカメラ21では、イメージセンサの各ラインにおいて、露光時間TEだけ光が受光され、その光の光電変換結果が、1フレームの画像データとして出力される。
同期部24は、1フレームの、例えば、第1ライン(上から1番目のライン)の露光時間TEの間に、ミリ波レーダ22が出力するセンサデータを積分(加算)し、その積分の結果と、その積分が行われた露光時間TEに露光された第1ラインを有するフレーム画像データとを同時に出力する。これにより、同期部24は、ステレオカメラ21が出力するセンサデータとしての画像データと、ミリ波レーダ22が出力するセンサデータとを同期させる。
図7は、図5の走行制御装置の処理の例を説明するフローチャートである。
ステップS21において、ステレオカメラ21及びミリ波レーダ22は、センシングを行う。
すなわち、ステップS21において、ステレオカメラ21は、異なる視点から画像を撮影し、その結果得られる画像データを、センサデータとして、伝送部23に出力する。
さらに、ステップS21では、ミリ波レーダ22は、ミリ波を送信し、そのミリ波が物体で反射して戻ってくるミリ波を受信して、センサデータとして、伝送部23に出力する。
伝送部23は、ステレオカメラ21、及び、ミリ波レーダ22が出力するセンサデータを、同期部24に伝送し、処理は、ステップS21からステップS22に進む。
ステップS22では、同期部24は、伝送部23からのステレオカメラ21及びミリ波レーダ22のセンサデータを同期させ、ステレオカメラ21のセンサデータとしての1フレームの画像データと、その1フレームの画像データに対応するミリ波レーダ22のセンサデータとを尤度算出部25に出力して、処理は、ステップS23に進む。
ステップS23では、尤度算出部25は、同期部24からのステレオカメラ21のセンサデータから、ステレオカメラ21についての距離尤度を、各サンプリング点(x,y,z)について算出し、正規化部26に供給する。
さらに、尤度算出部25は、同期部24からのミリ波レーダ22のセンサデータから、ミリ波レーダ22についての距離尤度を、各サンプリング点(x,y,z)について算出し、正規化部26に供給する。
そして、処理は、ステップS23からステップS24に進み、正規化部26は、尤度算出部25からの、ステレオカメラ21についての各サンプリング点(x,y,z)の距離尤度、及び、ミリ波レーダ22についての各サンプリング点(x,y,z)の距離尤度に対して、サンプリング点(x,y,z)を一致させる正規化を行う。
正規化部26は、正規化後のステレオカメラ21についての各サンプリング点(x,y,z)の距離尤度、及び、ミリ波レーダ22についての各サンプリング点(x,y,z)の距離尤度を、統合部27に供給し、処理は、ステップS24からステップS25に進む。
ステップS25では、統合部27は、正規化部26からのステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度を、サンプリング点(x,y,z)ごとに統合する。
そして、統合部27は、統合の結果得られるサンプリング点(x,y,z)ごとの統合尤度を、距離算出部28に供給し、処理は、ステップS25からステップS26に進む。
なお、統合部27は、図5で説明したように、ステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度の統合を、バッファ31に記憶された、前回求められた距離zや障害物マップを、必要に応じて用いて行うことができ、これにより、統合の処理の負荷を軽減することができる。
ステップS26では、距離算出部28は、統合部27からのサンプリング点(x,y,z)ごとの距離の統合尤度を用いて、位置(x,y)ごとに、距離の統合尤度が最大の距離zを、位置(x,y)の画素に映る物体までの距離として求める。
そして、距離算出部28は、位置(x,y)ごとの距離zを、障害物マップ生成部29、及び、バッファ31に供給し、処理は、ステップS26からステップS27に進む。
ステップS27では、バッファ31は、距離算出部28から供給される位置(x,y)ごとの距離zをバッファリングし(一時記憶し)、処理は、ステップS28に進む。
ここで、バッファ31に記憶された位置(x,y)ごとの距離zは、統合部27が、次の統合を行うときに必要に応じて用いられる。
ステップS28では、障害物マップ生成部29は、距離算出部28からの距離zを用いて、自動車の前方に存在する障害物に関する障害物情報としての障害物マップを生成する。そして、障害物マップ生成部29は、障害物マップを、走行制御部30、及び、バッファ31に供給し、処理は、ステップS28からステップS29に進む。
ステップS29では、バッファ31は、障害物マップ生成部29から供給される障害物マップをバッファリングし、処理は、ステップS30に進む。
ここで、バッファ31に記憶された障害物マップは、統合部27が、次の統合を行うときに必要に応じて用いられる。
ステップS30では、走行制御部30は、障害物マップ生成部29からの障害物マップを用いて、自動車の走行制御を行い、処理は終了する。
なお、図7のフローチャートに従った処理は、パイプラインで繰り返し行われる。
図8は、図7のステップS23において、ステレオカメラ21のセンサデータから、ステレオカメラ21についての距離尤度を求める処理の例を説明するフローチャートである。
ステップS41において、尤度算出部25は、同期部24からのステレオカメラ21のセンサデータとしての画像データを受信(キャプチャ)し、処理は、ステップS42に進む。
ステップS42では、尤度算出部25は、ステレオカメラ21のセンサデータとしての画像データの補正を行い、処理は、ステップS43に進む。
ここで、ステップS42での画像データの補正としては、例えば、収差の補正や、ステレオカメラ21とミリ波レーダ22との水平を一致させるような画像データの補正等がある。
ステレオカメラ21とミリ波レーダ22との水平を一致させるような画像データの補正は、ステレオカメラ21及びミリ波レーダ22の取り付け位置や姿勢のずれを補正するためのキャリブレーション情報を用いて行われる。
キャリブレーション情報は、ステレオカメラ21及びミリ波レーダ22を対象として行われるキャリブレーションによって、あらかじめ求められる。
ステップS43では、尤度算出部25は、ステレオカメラ21のセンサデータであるカメラ21L及びカメラ21Rで撮影された、視点の異なる2つの画像のうちの一方を基準画像とするとともに、他方を参照画像として、基準画像の各画素に対して、その画素に対応する参照画像の画素である対応点を求めるマッチングを、例えば、ブロックマッチング等によって行う。
すなわち、尤度算出部25は、基準画像の各画素を、順次、注目画素に選択し、注目画素から、複数の視差それぞれだけずれた位置を中心とする参照画像のブロックと、注目画素を中心とする基準画像のブロックとのブロックマッチングを行う。
これにより、注目画素に対し、複数の視差それぞれに対応する複数の距離zそれぞれについて、ブロックマッチングのマッチングエラー(例えば、基準画像のブロックと参照画像のブロックとの各画素の画素値の差分絶対値和等)が求められる。
その後、処理は、ステップS43からステップS44に進み、尤度算出部25は、ステレオカメラ21のセンサデータとしての画像データの各画素(ここでは、基準画像の各画素)の各位置(x,y)と、各距離z(視差)について、位置(x,y)に映る物体までの距離が、距離zである距離尤度を、マッチングエラーを用いて求め、処理は終了する。
ここで、位置(x,y)及び距離zに対するブロックマッチングのマッチングエラー、つまり、位置(x,y)の画素に映る物体までの距離が距離zであると仮定した場合のブロックマッチングのマッチングエラーを、cost(x,y,z)と表すこととする。
この場合、位置(x,y)に映る物体までの距離が、距離zである距離尤度PST(x,y,z)は、例えば、式PST(x,y,z)=exp(-cost(x,y,z))に従って求めることができる。
図9は、図7のステップS23において、ミリ波レーダ22のセンサデータから、ミリ波レーダ22についての距離尤度を求める処理の例を説明するフローチャートである。
ステップS51において、尤度算出部25は、同期部24からのミリ波レーダ22のセンサデータを受信(キャプチャ)し、処理は、ステップS52に進む。
ステップS52では、尤度算出部25は、ミリ波レーダ22のセンサデータのFFT(Fast Fourier Transform)を行い、処理は、ステップS53に進む。
ここで、本実施の形態では、ミリ波レーダ22のセンサデータは、そのセンサデータのFFT結果の強度が、その強度の周波数に対応する距離に物体があることの確からしさを表すこととする。
ステップS53では、尤度算出部25は、ミリ波レーダ22のセンサデータのFFT結果の補正を行い、処理は、ステップS54に進む。
ここで、ミリ波レーダ22のセンサデータ、すなわち、物体で反射されたミリ波は、その物体までの距離が遠いほど減衰する。そこで、尤度算出部25は、その減衰の影響をキャンセルするために、ミリ波レーダ22のセンサデータのFFT結果の高域の周波数成分を大にする補正を行う。
また、尤度算出部25は、図8で説明したキャリブレーション情報を用いて、ステレオカメラ21及びミリ波レーダ22の取り付け位置や姿勢のずれをキャンセルするように、ミリ波レーダ22のセンサデータのFFT結果の補正を行う。
ステップS54では、尤度算出部25は、ミリ波レーダ22のセンサデータのFFT結果から、ミリ波レーダ22のセンシング範囲の各方向(方位)rと各距離dについて、方向rにある物体までの距離が、距離dであると仮定したときの、各距離dの距離尤度を求める。
ここで、方向r及び距離dに対応する、ミリ波レーダ22のセンサデータのFFT結果(の周波数成分)を、fre(r,d)と表すこととすると、方向rにある物体までの距離が、距離dである距離尤度PRは、例えば、式PR=fre(r,d)/Σ(d)fre(r,d)に従って求めることができる。
式PR=fre(r,d)/Σ(d)fre(r,d)のΣ(d)fre(r,d)は、距離dを、距離尤度を求める各距離に変えてのfre(r,d)のサメーションを表す。
その後、処理は、ステップS54からステップS55に進み、尤度算出部25は、ミリ波レーダ22についての距離尤度が得られる、(方向と距離とで規定される)極座標系の各方向r及び各距離dを、座標変換によって、3次元座標系の各位置(x,y,z)に変換することで、その3次元座標系の各位置(x,y,z)である各サンプリング点(x,y,z)についての距離尤度を求め、処理は、終了する。
ここで、ステップS55での座標変換は、図8で説明したキャリブレーション情報を、必要に応じて用いて行うことができる。
なお、ステレオカメラ21やミリ波レーダ22等のセンサデータから距離尤度の生成は、その他、例えば、センサデータを距離尤度に変換する変換規則を、経験則に基づいてあらかじめ設計しておき、その変換規則に従って行うことができる。
さらに、センサデータから距離尤度の生成は、センサデータを入力として、距離尤度を出力する学習モデルの学習をあらかじめ行っておき、その学習モデルに、センサデータを入力として与えることにより行うことができる。
以上の点、動き量尤度についても、同様である。
また、図7のステップS25において、ステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度を、サンプリング点(x,y,z)ごとに統合した後、ステップS26において、その統合尤度を用いて、位置(x,y)の画素に映る物体までの距離を求める前に、統合尤度の最適化を行うことができる。
すなわち、ステップS26では、位置(x,y)ごとに、距離の統合尤度が最大の距離zが、位置(x,y)の画素に映る物体までの距離として求められるが、位置(x,y)の統合尤度が、すべての距離zに亘って低い場合があり、この場合、どの距離zも、物体までの距離として確からしくない。
そこで、統合尤度の最適化では、位置(x,y)の統合尤度が、すべての距離zに亘って低い場合に、位置(x,y)の周辺の位置(x',y')の統合尤度から求められた、その位置(x',y')の画素に映る物体までの距離近辺の距離が、位置(x,y)の画素に映る物体までの距離として求められやすくするために、位置(x,y)の統合尤度が補正される。
具体的には、サンプリング点(x,y,z)のステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度を、それぞれ、p1(x,y,z)、及び、p2(x,y,z)と表すこととする。
さらに、ある位置(x,y)の周辺の位置(x',y')の距離(位置(x',y')の画素に映る物体までの距離)が、距離z'であるときに、位置(x,y)の距離が、距離zである尤度を、p(x,y,z|z')と表すこととする。
尤度p(x,y,z|z')は、例えば、学習や経験則等に基づいて、あらかじめ求められる。
統合尤度の最適化は、最適化後の統合尤度を、pa(x,y,z)と表すこととすると、式pa(x,y,z)=P1(x,y,z)×P2(x,y,z)×Π(x',y')p(x,y,z|z')に従って行われる。
ここで、式pa(x,y,z)=P1(x,y,z)×P2(x,y,z)×Π(x',y')p(x,y,z|z')において、P1(x,y,z)×P2(x,y,z)は、サンプリング点(x,y,z)の統合尤度を表す。また、Π(x',y')p(x,y,z|z')は、位置(x',y')を、位置(x,y)の周辺の位置に変えての尤度p(x,y,z|z')の積を表す。
図10は、統合方式の概要を説明する図である。
統合方式では、ステレオカメラ21のセンサデータとしての画像データの各画素の各位置(x,y)と、各距離zについて、位置(x,y)に映る物体までの距離が距離zである距離尤度が、ステレオカメラ21についての距離尤度として求められる。
したがって、ステレオカメラ21についての距離尤度は、3次元座標系の各位置(x,y,z)である各サンプリング点(x,y,z)に対して存在する。この、3次元座標系の各位置(x,y,z)に対して存在する、ステレオカメラ21についての距離尤度の集合を、以下、ステレオ尤度ボリュームともいう。
また、統合方式では、ミリ波レーダ22のセンシング範囲の各方向rと各距離dについて、方向rにある物体までの距離が距離dである距離尤度が求められる。
各方向rと各距離dについて求められる距離尤度の集合は、方向rと距離dとで規定される極座標系上の点の集合であり、以下、レーダ尤度ボリュームともいう。
統合方式では、ステレオ尤度ボリュームが正規化される。
また、統合方式では、極座標系のレーダ尤度ボリュームが、位置(x,y,z)で規定される3次元座標系の点の集合に、座標変換され、さらに正規化される。
ステレオ尤度ボリューム、及び、座標変換後のレーダ尤度ボリュームでは、正規化後に距離尤度が存在するサンプリング点(x,y,z)が一致する。
いま、このように、ステレオ尤度ボリューム、及び、座標変換後のレーダ尤度ボリュームにおいて、距離尤度が存在するサンプリング点(x,y,z)が一致する場合の、そのサンプリング点(x,y,z)が存在する領域を、フュージョンドメインということとする。
フュージョンドメインでは、ステレオカメラ21についての距離尤度と、ミリ波レーダ22についての距離尤度とが存在するサンプリング点(x,y,z)が一致するので、サンプリング点(x,y,z)ごとに、ステレオカメラ21についての距離尤度と、ミリ波レーダ22についての距離尤度とを統合することができる。
そこで、統合方式では、ステレオカメラ21についての距離尤度と、ミリ波レーダ22についての距離尤度とを、サンプリング点(x,y,z)ごとに統合し、そのサンプリング点(x,y,z)ごとに得られる統合尤度を用いて、各位置(x,y,z)の画素に映る物体までの距離が求められる。
ここで、フュージョンドメインの各サンプリング点(x,y,z)の統合尤度の集合を、統合尤度ボリュームともいう。
図11は、図5の統合部27での統合において、その統合の処理の負荷を軽減する軽減処理の概要を説明する図である。
図5や図7で説明したように、統合部27は、統合にあたって、前回求められた位置(x,y)ごとの距離zや障害物マップを用いることで、統合の処理の負荷を軽減する軽減処理を行うことができる。
例えば、統合部27は、前回求められた障害物情報としての障害物マップから、ミリ波レーダ22での距離の検出精度が高くない路面を認識する。さらに、統合部27は、路面の領域内の点を、フュージョンドメインのサンプリング点(x,y,z)に変換するドメイン変換を行う。
そして、統合部27は、図10で説明したように、ステレオカメラ21についての距離尤度と、ミリ波レーダ22についての距離尤度とを、サンプリング点(x,y,z)ごとに統合するときに、路面の領域内のサンプリング点(x,y,z)については、ミリ波レーダ22についての距離尤度をゲートする。
すなわち、統合部27は、路面の領域内のサンプリング点(x,y,z)以外のサンプリング点(x,y,z)については、ステレオカメラ21についての距離尤度と、ミリ波レーダ22についての距離尤度とを統合し、統合尤度を求める。
一方、路面の領域内のサンプリング点については、統合部27は、ミリ波レーダ22についての距離尤度を、統合の対象から除外する。その結果、路面の領域内のサンプリング点については、ステレオカメラ21についての距離尤度が、そのまま、統合尤度とされる。
路面については、ミリ波レーダ22での距離の検出精度が高くないため、統合尤度を求めるにあたって、ミリ波レーダ22についての距離尤度を、統合の対象から除外しても(しなくても)、統合尤度から求められる距離の精度に(ほとんど)影響しない。
したがって、路面について、ミリ波レーダ22についての距離尤度を、統合の対象から除外する軽減処理を行うことで、物体までの距離を精度良く求めるとともに、統合の処理の負荷を軽減することができる。
<本技術を適用した走行制御装置の第2の詳細構成例>
図12は、本技術を適用した走行制御装置の第2の詳細構成例を示すブロック図である。
なお、図中、図5の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図12において、走行制御装置は、ステレオカメラ21、伝送部23、同期部24、尤度算出部25、正規化部26、統合部27、距離算出部28、障害物マップ生成部29、走行制御部30、バッファ31、及び、ToFセンサ51を有する。
したがって、図12の走行制御装置は、ステレオカメラ21、及び、伝送部23ないしバッファ31を有する点で、図5の場合と共通する。
但し、図12の走行制御装置は、ミリ波レーダ22に代えて、ToFセンサ51が設けられている点で、図5の場合と相違する。
したがって、図12の走行制御装置では、ミリ波レーダ22のセンサデータに代えて、ToFセンサ51のセンサデータが用いられることを除き、図7で説明した場合と同様の処理が行われる。
図13は、図12のToFセンサ51についての距離尤度の算出方法の例を説明する図である。
ToFセンサ51は、例えば、横×縦が80×60個等のマトリクス状に配置された受光部(図示せず)を有し、高速で送信パルスを照射し、その送信パルスが物体で反射されて戻ってくる反射光を、受信パルスとして受光することで、物体までの距離を検出する。
すなわち、図13に示すように、送信パルスの送信時刻t0から、時間TDだけ経過して、受信パルスが受光された場合に、時刻t0から、受信パルスのパルス幅T0だけ経過した時刻をt1と表すとともに、時刻t1から、さらにパルス幅T0だけ経過した時刻をt2と表すこととする。
また、時刻t0から時刻t1までの間、H(High)レベルになるパルスを、フェーズ1パルスというとともに、時刻t1から時刻t2までの間、Hレベルになるパルスを、フェーズ2パルスということとする。
さらに、ToFセンサ51の受光部で、受信パルスを受光したときの、フェーズ1パルスの期間(時刻t0から時刻t1までの間)の受光量(電荷量)を、N1と表すとともに、フェーズ2パルスの期間(時刻t1から時刻t2までの間)の受光量を、N2と表すこととする。
ToFセンサ51では、所定の時間Tとしての時間フレームTの間に、多数の送信パルスが送信され、その送信パルスに対する受信パルスが受光部で受光される。
そして、ToFセンサ51では、各受信パルスに対して、式L=cT0N2/(2(N1+N2))に従って、距離Lが求められる。ここで、cは、光速を表す。
ToFセンサ51は、時間フレームTの間で送信される多数の送信パルスに対する各受信パルスについて、以上のようにして求められる複数(多数)の距離Lを、センサデータとして出力する。
そして、図12の尤度算出部25は、時間フレームTの間のToFセンサ51のセンサデータである複数の距離の分布に基づき、ToFセンサ51の各受光部の各位置(x,y)に対する距離、すなわち、位置(x,y)の受光部で受光された受信パルスに対する送信パルスが反射された物体までの距離が、複数の距離zそれぞれである距離尤度を求める。
以上のようにして、尤度算出部25は、ToFセンサ51のセンサデータから、ToFセンサ51の受光部の各位置(x,y)及び各距離zで表される3次元座標系の各位置(x,y,z)をサンプリング点とする距離尤度を求める。
図14は、図12のToF51のセンサデータから、ToFセンサ51についての距離尤度を求める処理の例を説明するフローチャートである。
ステップS61において、図12の尤度算出部25は、同期部24から供給されるToFセンサ51のセンサデータとしての、ToFセンサ51の、複数であるM1個の各受光部に対して得られる時間フレームTの間の複数であるM2個の距離Lを受信(キャプチャ)し、処理は、ステップS62に進む。
ステップS62では、尤度算出部25は、ToFセンサ51のセンサデータとしてのM2個の距離Lを必要に応じて補正し、処理は、ステップS63に進む。
ここで、ステップS62でのToFセンサ51のセンサデータの補正としては、例えば、ステレオカメラ21及びToFセンサ51の取り付け位置や姿勢のずれをキャンセルする補正がある。この補正は、ステレオカメラ21及びToFセンサ51を対象として行われるキャリブレーションによってあらかじめ求められるキャリブレーション情報を用いて行うことができる。
ステップS63において、尤度算出部25は、M1個の各受光部の各位置(x,y)と、ToFセンサ51のセンシング範囲の各距離zについて、位置(x,y)の受光部で受光された受信パルスを反射した物体までの距離が、距離zである距離尤度を、ToFセンサ51のセンサデータとしての時間フレームTの間に得られたM2個の距離Lを用いて求め、処理は終了する。
ここで、尤度算出部25は、例えば、時間フレームTの間に得られたM2個の距離Lの分布に基づき、物体までの距離が複数の距離zそれぞれである距離尤度を求める。
すなわち、尤度算出部25は、例えば、M2個の距離Lの平均値及び分散を求め、その平均値及び分散で規定されるガウス分布を求める。そして、尤度算出部25は、各距離zに対して、M2個の距離Lの平均値及び分散で規定されるガウス分布に従う値を、距離尤度として求める。
あるいは、尤度算出部25は、例えば、M2個の距離Lの度数分布を求め、各距離zに対して、度数分布の度数に対応する値を、距離尤度として求める。
<本技術を適用した走行制御装置の第3の詳細構成例>
図15は、本技術を適用した走行制御装置の第3の詳細構成例を示すブロック図である。
なお、図中、図5又は図12の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図15において、走行制御装置は、ステレオカメラ21、ミリ波レーダ22、伝送部23、同期部24、尤度算出部25、正規化部26、統合部27、距離算出部28、障害物マップ生成部29、走行制御部30、バッファ31、及び、ToFセンサ51を有する。
したがって、図15の走行制御装置は、ステレオカメラ21ないしバッファ31を有する点で、図5の場合と共通する。
但し、図15の走行制御装置は、図12のToFセンサ51が新たに設けられている点で、図5の場合と相違する。
図15の走行制御装置では、ステレオカメラ21のセンサデータ、及び、ミリ波レーダ22のセンサデータに加えて、ToFセンサ51のセンサデータが用いられることを除き、図7で説明した場合と同様の処理が行われる。
したがって、図15の走行制御装置では、ステレオカメラ21についての距離尤度、及び、ミリ波レーダ22についての距離尤度の他に、ToFセンサ51についての距離尤度が統合され、統合尤度が求められる。
<本技術を適用した走行制御装置の第4の詳細構成例>
図16は、本技術を適用した走行制御装置の第4の詳細構成例を示すブロック図である。
なお、図中、図5の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図16において、走行制御装置は、ステレオカメラ21、ミリ波レーダ22、伝送部23、同期部24、走行制御部30、バッファ31、尤度算出部61、正規化部62、統合部63、動き量算出部64、及び、障害物マップ生成部65を有する。
したがって、図16の走行制御装置は、ステレオカメラ21、ミリ波レーダ22、伝送部23、同期部24、走行制御部30、及び、バッファ31を有する点で、図5の場合と共通する。
但し、図16の走行制御装置は、尤度算出部25、正規化部26、統合部27、距離算出部28、及び、障害物マップ生成部29に代えて、尤度算出部61、正規化部62、統合部63、動き量算出部64、及び、障害物マップ生成部65が、それぞれ設けられている点で、図5の場合と相違する。
尤度算出部61は、図1の尤度算出部12に相当する。
尤度算出部61は、同期部24からのステレオカメラ21のセンサデータから、ステレオカメラ21についての動き量尤度を、各サンプリング点(x,y,z,vx,vy,vz)、すなわち、ステレオカメラ21のセンサデータとしての画像データの各画素の各位置(x,y)、その位置に映る物体までの距離z、及び、ステレオカメラ21のセンサデータとしての画像を用いて行われる動き検出で検出可能な動き量の範囲の各動き量(vx,vy,vz)(走行制御装置が搭載された自動車を基準とする相対的な動き量)について算出し、正規化部62に供給する。
ここで、動き量尤度については、図2で説明したように、サンプリング点(x,y,z,vx,vy,vz)は、x,y,z,vx,vy,vzそれぞれを軸とする6次元(直交)座標系上の点になる。
尤度算出部61は、さらに、同期部24からのミリ波レーダ22のセンサデータから、ミリ波レーダ22についての動き量尤度を、各サンプリング点(x,y,z,vx,vy,vz)について算出し、正規化部62に供給する。
すなわち、尤度算出部61は、同期部24からのミリ波レーダ22のセンサデータから、各方向(方位)rの各距離dの、極座標系上の位置(r,d)の動き量が、ミリ波レーダ22で検出可能な動き量の範囲の各動き量であると仮定したときの、その各動き量の動き量尤度を求める。
そして、尤度算出部61は、ミリ波レーダ22についての動き量尤度が得られる、極座標系の各位置(r,d)及び各動き量を、座標変換によって、6次元座標系の各位置(x,y,z,vx,vy,vz)に変換し、その6次元座標系の各位置(x,y,z,vx,vy,vz)である各サンプリング点(x,y,z,vx,vy,vz)についての動き量尤度を、正規化部62に供給する。
正規化部62は、図1の正規化部13に相当する。
正規化部62は、尤度算出部61からの、ステレオカメラ21についての各サンプリング点(x,y,z,vx,vy,vz)の動き量尤度、及び、ミリ波レーダ22についての各サンプリング点(x,y,z,vx,vy,vz)の動き量尤度に対して、サンプリング点(x,y,z,vx,vy,vz)を一致させる正規化を、補間等によって行い、統合部63に供給する。
統合部63は、図1の統合部14に相当する。
統合部63は、正規化部62からのステレオカメラ21についての動き量尤度、及び、ミリ波レーダ22についての動き量尤度を、サンプリング点(x,y,z,vx,vy,vz)ごとに統合し、動き量算出部64に供給する。
なお、統合部63は、ステレオカメラ21についての動き量尤度、及び、ミリ波レーダ22についての動き量尤度の統合を、バッファ31に記憶された情報を、必要に応じて用いて行うことができる。
すなわち、図16において、バッファ31には、後述する動き量算出部64で算出される動き量、及び、後述する障害物マップ生成部65で生成される障害物マップが記憶される。
統合部63は、ステレオカメラ21についての動き量尤度、及び、ミリ波レーダ22についての動き量尤度の統合を、バッファ31に記憶された、前回求められた動き量や、障害物マップを必要に応じて用いて行うことで、統合の処理の負荷を軽減することができる。
具体的には、例えば、統合部63は、バッファ31に記憶された、前回求められた動き量や、障害物マップを用いて、動く動物体を検出し、その動物体の範囲内(又は、動物体を所定のマージンで包含する範囲内)の位置(x,y,z)を特定する。そして、統合部63は、動物体の範囲内の位置(x,y,z)含むサンプリング点(x,y,z,vx,vy,vz)についてだけ、動き量尤度の統合を行う。さらに、統合部63は、他のサンプリング点(x,y,z,vx,vy,vz)については、ステレオカメラ21についての動き量尤度、及び、ミリ波レーダ22についての動き量尤度のうちの一方を、そのまま、統合尤度とする。
ここで、動物体は、バッファ31に記憶された動き量や、障害物マップを用いて検出する他、ミリ波レーダ22のセンサデータから検出することができる。
例えば、ミリ波レーダ22のセンサデータが、2回のFFTを行って、物体の動き量を求めることができるセンサデータである場合、ミリ波レーダ22のセンサデータの2回のFFT結果から、物体の動き量(例えば、z方向の動き量)を求め、その動き量に基づいて、動物体を検出することができる。
なお、統合部63では、図5の統合部27と同様に、ステレオカメラ21についての動き量尤度、及び、ミリ波レーダ22についての動き量尤度を統合した後、統合尤度の最適化を行うことができる。
動き量算出部64は、図1の距離/動き量算出部15に相当する。
動き量算出部64は、統合部63からのサンプリング点(x,y,z,vx,vy,vz)ごとの動き量の統合尤度を用いて、物体の動き量を求める。すなわち、動き量算出部64は、位置(x,y,z)ごとに、動き量の統合尤度が最大の動き量(vx,vy,vz)を、位置(x,y,z)の動き量として求める。
そして、動き量算出部64は、動き量の統合尤度を用いて求めた動き量(vx,vy,vz)を、バッファ31、及び、障害物マップ生成部65に供給する。
なお、動き量算出部64では、その他、例えば、位置(x,y)ごとに、動き量の統合尤度が最大の動き量(vx,vy,vz)及び距離zを、位置(x,y)の画素に映る物体の動き量、及び、その物体までの距離として求めることができる。
障害物マップ生成部65は、動き量算出部64からの動き量(vx,vy,vz)を用いて、自動車の前方に存在する障害物に関する障害物情報としての障害物マップを生成する。そして、障害物マップ生成部65は、障害物マップを、走行制御部30、及び、バッファ31に供給する。
ここで、動き量を求める場合、図1の複数のセンサ111ないし11Nのうちの1つとしては、画像を用いて動き量を検出するためのセンサ、すなわち、画像を撮影する画像センサが必須になる。
画像センサとしては、図16に示したステレオカメラ21を採用する他、ステレオカメラ21を構成するカメラ21L又は21Rのような、いわゆる単眼のカメラを採用することができる。
画像センサとして、単眼のカメラを採用する場合、走行制御装置が搭載された自動車が移動(走行)しているときには、z方向の位置(距離z)は、例えば、連続する2フレームの画像等の異なるタイミング(位置)で撮影された画像を用いて、ステレオカメラ21で撮影された画像から距離(視差)を求める場合と同様にして求めることができる。
なお、画像センサとして、単眼のカメラを採用する場合、走行制御装置が搭載された自動車が停止しているときには、z方向の位置(距離z)を求めることができない。この場合、z方向の位置については、例えば、同一の動き量尤度(z方向の位置を無視した動き量尤度)を採用することができる。
また、画像センサとして、単眼のカメラを採用する場合には、統合方式を用いずに、動き量(vx,vy,vz)を求めることができる。この場合、x方向及びy方向の動き量vx及びvyについては、単眼のカメラで撮影された画像を用いて動き検出を行うことにより求め、z方向の動き量vzについては、ミリ波レーダ22等のセンサデータから求めることができる。以上のように、統合方式を用いずに、動き量(vx,vy,vz)を求める場合には、単眼のカメラの画像からは、z方向の動き量vzを求めず、ミリ波レーダ22等のセンサデータからは、x方向及びy方向の動き量vx及びvyを求めないので、統合方式を用いる場合に比較して、計算量を削減することができる。
その他、例えば、動き量vx及びvyについては、単眼のカメラと他のセンサとを用いた統合方式で求め、動き量vzについては、ミリ波レーダ22と他のセンサとを用いた統合方式で求めることができる。
図17は、図16の走行制御装置の処理の例を説明するフローチャートである。
ステップS121において、ステレオカメラ21は、図7のステップS21と同様に、異なる視点から画像を撮影し、その結果得られる画像データを、センサデータとして、伝送部23に出力する。
さらに、ステップS121では、ミリ波レーダ22は、図7のステップS21と同様に、ミリ波を送信し、そのミリ波が物体で反射して戻ってくるミリ波を受信して、センサデータとして、伝送部23に出力する。
伝送部23は、ステレオカメラ21、及び、ミリ波レーダ22が出力するセンサデータを、同期部24に伝送し、処理は、ステップS121からステップS122に進む。
ステップS122では、同期部24は、図7のステップS22と同様に、伝送部23からのステレオカメラ21及びミリ波レーダ22のセンサデータを同期させ、尤度算出部61に出力して、処理は、ステップS123に進む。
ステップS123では、尤度算出部61は、同期部24からのステレオカメラ21のセンサデータから、ステレオカメラ21についての動き量尤度を、各サンプリング点(x,y,z,vx,vy,vz)について算出し、正規化部62に供給する。
さらに、尤度算出部61は、同期部24からのミリ波レーダ22のセンサデータから、ミリ波レーダ22についての動き量尤度を、各サンプリング点(x,y,z,vx,vy,vz)について算出し、正規化部62に供給する。
そして、処理は、ステップS123からステップS124に進み、正規化部62は、尤度算出部61からの、ステレオカメラ21についての各サンプリング点(x,y,z,vx,vy,vz)の動き量尤度、及び、ミリ波レーダ22についての各サンプリング点(x,y,z,vx,vy,vz)の動き量尤度に対して、サンプリング点(x,y,z,vx,vy,vz)を一致させる正規化を行う。
正規化部62は、正規化後のステレオカメラ21についての各サンプリング点(x,y,z,vx,vy,vz)の動き量尤度、及び、ミリ波レーダ22についての各サンプリング点(x,y,z,vx,vy,vz)の動き量尤度を、統合部63に供給し、処理は、ステップS124からステップS125に進む。
ステップS125では、統合部63は、正規化部62からのステレオカメラ21についての動き量尤度、及び、ミリ波レーダ22についての動き量尤度を、サンプリング点(x,y,z,vx,vy,vz)ごとに統合する。
そして、統合部63は、統合の結果得られるサンプリング点(x,y,z,vx,vy,vz)ごとの動き量の統合尤度を、動き量算出部64に供給し、処理は、ステップS125からステップS126に進む。
なお、統合部63は、図16で説明したように、ステレオカメラ21についての動き量尤度、及び、ミリ波レーダ22についての動き量尤度の統合を、バッファ31に記憶された、前回求められた動き量(vx,vy,vz)や障害物マップを、必要に応じて用いて行うことができ、これにより、統合の処理の負荷を軽減することができる。
また、統合部63では、図5の統合部27と同様に、統合の結果得られる動き量の統合尤度に対して、統合尤度の最適化を行うことができる。
ステップS126では、動き量算出部64は、統合部63からのサンプリング点(x,y,z,vx,vy,vz)ごとの動き量の統合尤度を用いて、位置(x,y,z)又は位置(x,y)ごとに、動き量の統合尤度が最大の動き量(vx,vy,vz)(及び距離z)を、位置(x,y,z)又は位置(x,y)の物体の動き量として求める。
そして、動き量算出部64は、動き量(vx,vy,vz)を、障害物マップ生成部65、及び、バッファ31に供給し、処理は、ステップS126からステップS127に進む。
ステップS127では、バッファ31は、動き量算出部64から供給される動き量(vx,vy,vz)をバッファリングし(一時記憶し)、処理は、ステップS128に進む。
ここで、バッファ31に記憶された動き量(vx,vy,vz)は、統合部63が、次の統合を行うときに必要に応じて用いられる。
ステップS128では、障害物マップ生成部65は、動き量算出部64からの動き量(vx,vy,vz)を用いて、自動車の前方に存在する障害物に関する障害物情報としての障害物マップを生成する。そして、障害物マップ生成部65は、障害物マップを、走行制御部30、及び、バッファ31に供給し、処理は、ステップS128からステップS129に進む。
ステップS129では、バッファ31は、障害物マップ生成部65から供給される障害物マップをバッファリングし、処理は、ステップS130に進む。
ここで、バッファ31に記憶された障害物マップは、統合部63が、次の統合を行うときに必要に応じて用いられる。
ステップS130では、走行制御部30は、障害物マップ生成部65からの障害物マップを用いて、自動車の走行制御を行い、処理は終了する。
なお、図17のフローチャートに従った処理は、パイプラインで繰り返し行われる。
図18は、図17のステップS123において、ステレオカメラ21のセンサデータから、ステレオカメラ21についての動き量尤度を求める処理の例を説明するフローチャートである。
ステップS141及びS142では、図8のステップS41及びS42とそれぞれ同様の処理が行われる。
ステップS143では、尤度算出部61は、図8のステップS43と同様に、ステレオカメラ21のセンサデータであるカメラ21L及びカメラ21Rで撮影された、視点の異なる2つの画像のうちの一方を基準画像とするとともに、他方を参照画像として、基準画像の各画素に対して、その画素に対応する参照画像の画素である対応点を求めるマッチングを、例えば、ブロックマッチング等によって行う。
さらに、尤度算出部61は、基準画像の各画素と、その画素に対して得られた参照画像の対応点との間の視差から、基準画像の各画素に映る物体までの距離を、基準画像の各画素の位置(x,y)の距離zとして求め、処理は、ステップS143からステップS144に進む。
ステップS144では、尤度算出部61は、ステレオカメラ21のセンサデータとしての基準画像の各画素の各位置(x,y)及び距離zと、各動き量(vx,vy,vz)について、位置(x,y)及び距離zの物体の動き量が、動き量(vx,vy,vz)である動き量尤度を、例えば、基準画像の位置(x,y)の画素の動き検出を行うことにより求め、処理は終了する。
すなわち、尤度算出部61は、例えば、基準画像の最新のフレームを注目フレームに選択するとともに、その注目フレームの各画素を、順次、注目画素に選択する。さらに、尤度算出部61は、注目画素から、x方向及びy方向の複数の動き量(vx,vy)それぞれだけずれた位置を中心とする、注目フレームの1フレーム前の前フレームのブロックと、注目画素を中心とする注目フレームのブロックとのブロックマッチングを行う。
これにより、注目画素に対し、複数の動き量(vx,vy)それぞれについて、ブロックマッチングのマッチングエラーが求められる。
また、尤度算出部61は、注目画素から、動き量(vx,vy)それぞれだけずれた位置の前フレームの画素に対して、前フレームを注目フレームとして既に求められている距離と、注目画素に対して、直前のステップS143で求められた距離zとから、z方向の動き量vzを求める。
以上により、注目フレームの各画素の各位置(x,y)及び距離zと、各動き量(vx,vy,vz)について、位置(x,y)及び距離zの物体の動き量が、動き量(vx,vy,vz)であるときのマッチングエラーが求められる。
そして、尤度算出部61は、注目フレームの各画素の各位置(x,y)及び距離zと、各動き量(vx,vy,vz)について、位置(x,y)及び距離zの物体の動き量が動き量(vx,vy,vz)である動き量尤度を、マッチングエラーを用いて求める。
すなわち、位置(x,y)及び距離zと動き量(vx,vy,vz)に対するマッチングエラーを、cost(x,y,z,vx,vy,vz)と表すこととすると、尤度算出部61は、位置(x,y)及び距離zの物体の動き量が動き量(vx,vy,vz)である動き量尤度PST(x,y,z,vx,vy,vz)を、例えば、式PST(x,y,z,vx,vy,vz)=exp(-cost(x,y,z,vx,vy,vz))に従って求める。
図19は、図17のステップS123において、ミリ波レーダ22のセンサデータから、ミリ波レーダ22についての動き量尤度を求める処理の例を説明するフローチャートである。
ステップS151において、尤度算出部61は、同期部24からのミリ波レーダ22のセンサデータを受信(キャプチャ)し、処理は、ステップS152に進む。
ステップS152では、尤度算出部61は、ミリ波レーダ22のセンサデータのFFTを行い、さらに、そのFFT結果のFFTを行って、処理は、ステップS153に進む。
ここで、本実施の形態では、ミリ波レーダ22のセンサデータは、そのFFT結果のFFT結果、すなわち、2回目のFFT結果の強度が、その強度の時刻に対応する動き量で、物体が動いていることの確からしさを表すこととする。
なお、ミリ波レーダ22のセンサデータのFFT結果については、図9のステップS53の場合と同様の補正を行うことができる。
ステップS153では、尤度算出部61は、ミリ波レーダ22のセンサデータの2回目のFFT結果から、ミリ波レーダ22のセンシング範囲の各方向(方位)r及び各距離dと各動き量(vx,vy,vz)について、方向r及び距離dにある物体の動き量が、動き量(vx,vy,vz)であると仮定したときの、各動き量(vx,vy,vz)の動き量尤度を求める。
ここで、方向r及び距離dと動き量(vx,vy,vz)に対応する、ミリ波レーダ22のセンサデータの2回目のFFT結果を、fft2(r,d,vx,vy,vz)と表すこととすると、方向r及び距離dにある物体の動き量が、動き量(vx,vy,vz)である動き量尤度PRは、例えば、式PR=fft2(r,d,vx,vy,vz)/Σ(vx,vy,vz)fft2(r,d,vx,vy,vz)に従って求めることができる。
式PR=fft2(r,d,vx,vy,vz)/Σ(vx,vy,vz)fft2(r,d,vx,vy,vz)のΣ(vx,vy,vz)fft2(r,d,vx,vy,vz)は、動き量(vx,vy,vz)を、動き量尤度を求める各動き量に変えてのfft2(r,d,vx,vy,vz)のサメーションを表す。
その後、処理は、ステップS154からステップS155に進み、尤度算出部61は、ミリ波レーダ22についての動き量尤度が得られる方向r及び距離dと動き量(vx,vy,vz)を、座標変換によって、6次元座標系の各位置(x,y,z,vx,vy,vz)に変換することで、その6次元座標系の各位置(x,y,z)である各サンプリング点(x,y,z,vx,vy,vz)についての動き量尤度を求め、処理は、終了する。
なお、図16では、画像センサとしてのステレオカメラ21の他に、ミリ波レーダ22を設けることとしたが、画像センサとしてのステレオカメラ21以外のセンサとしては、例えば、図12に示したように、ミリ波レーダ22に代えて、ToFセンサ51を用いることができる。
さらに、画像センサとしてのステレオカメラ21以外のセンサとしては、例えば、図15に示したように、ミリ波レーダ22とToFセンサ51とを用いることができる。
<本技術を適用した走行制御装置の第5の詳細構成例>
図20は、本技術を適用した走行制御装置の第5の詳細構成例を示すブロック図である。
なお、図中、図5の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図20において、走行制御装置は、ステレオカメラ21、ミリ波レーダ22、伝送部23、同期部24、走行制御部30、バッファ31、ToFセンサ51、ライダ71、尤度算出部81、正規化部82、統合部83、距離/動き量算出部84、及び、障害物マップ生成部85を有する。
したがって、図20の走行制御装置は、ステレオカメラ21、ミリ波レーダ22、伝送部23、同期部24、走行制御部30、及び、バッファ31を有する点で、図5の場合と共通する。
但し、図20の走行制御装置は、尤度算出部25、正規化部26、統合部27、距離算出部28、及び、障害物マップ生成部29に代えて、尤度算出部81、正規化部82、統合部83、距離/動き量算出部84、及び、障害物マップ生成部85が、それぞれ設けられている点で、図5の場合と相違する。
さらに、図20の走行制御装置は、図12のToFセンサ51、及び、ライダ71が新たに設けられている点で、図5の場合と相違する。
尤度算出部81は、図5の尤度算出部25、及び、図16の尤度算出部61と同様の機能を有する。正規化部82は、図5の正規化部26、及び、図16の正規化部62と同様の機能を有する。統合部83は、図5の統合部27、及び、図16の統合部63と同様の機能を有する。距離/動き量算出部84は、図5の距離算出部28、及び、図16の動き量算出部64と同様の機能を有する。
図20の走行制御装置では、ステレオカメラ21、ミリ波レーダ22、ToFセンサ51、及び、ライダ71それぞれのセンサデータを対象として、図5及び図16の走行制御装置と同様の処理が行われることで、距離/動き量算出部84において、距離と動き量とが求められる。
そして、障害物マップ生成部85では、距離/動き量算出部84で求められた距離と動き量を用いて、障害物マップが生成される。
なお、例えば、図5の走行制御装置では、統合部27で求められたサンプリング点(x,y,z)ごとの距離の統合尤度を用いて、位置(x,y)ごとに、距離の統合尤度が最大の距離zを、位置(x,y)の画素に映る物体までの距離として求めることとしたが、距離の統合尤度からは、物体までの距離以外の情報を求めることができる。
すなわち、例えば、サンプリング点(x,y,z)ごとの距離の統合尤度(図10の統合尤度ボリューム)において、(x,z)ごとに、統合尤度が最大のyを検出し、そのyがほぼ一定値の点(x,y,z)で構成される領域を、路面の領域として求めることができる。
同様に、サンプリング点(x,y,z,vx,vy,vz)ごとの動き量の統合尤度についても、その動き量の統合尤度を用いて、動き量以外の情報を求めることができる。
<本技術を適用したコンピュータの説明>
次に、例えば、図1の尤度算出部12や、正規化部13、統合部14等の各ブロックで行われる一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図21は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
複数の測距方法それぞれについて、その測距方法で得られる情報から、物体までの距離が複数の距離それぞれである距離尤度を算出する尤度算出部と、
前記複数の測距方法についての前記距離尤度を統合し、前記複数の距離それぞれの統合尤度を求める統合部と
を備える情報処理装置。
<2>
前記統合尤度を用いて、前記物体までの距離を求める距離算出部をさらに備える
<1>に記載の情報処理装置。
<3>
前記物体までの距離を用いて、障害物に関する障害物情報を生成する生成部をさらに備える
<2>に記載の情報処理装置。
<4>
前記統合部は、前回得られた前記距離又は前記障害物情報を用いて、前記複数の測距方法についての前記距離尤度を統合する
<3>に記載の情報処理装置。
<5>
前記複数の測距方法の測距に用いられる複数のセンサが出力するセンサデータを同期させる同期部をさらに備える
<1>ないし<4>のいずれかに記載の情報処理装置。
<6>
前記複数の測距方法の測距に用いられるセンサは、ステレオカメラ、レーダ、ToFセンサ、及び、ライダのうちの2以上のセンサである
<1>ないし<5>のいずれかに記載の情報処理装置。
<7>
複数の測距方法それぞれについて、その測距方法で得られる情報から、物体までの距離が複数の距離それぞれである距離尤度を算出することと、
前記複数の測距方法についての前記距離尤度を統合し、前記複数の距離それぞれの統合尤度を求めることと
を含む情報処理方法。
<8>
複数の測距方法それぞれについて、その測距方法で得られる情報から、物体までの距離が複数の距離それぞれである距離尤度を算出する尤度算出部と、
前記複数の測距方法についての前記距離尤度を統合し、前記複数の距離それぞれの統合尤度を求める統合部と
して、コンピュータを機能させるためのプログラム。