以下、図を参照して、本発明の実施の形態について説明する。
図4は、本発明を適用した車載用の監視システムの一実施の形態を示すブロック図である。また、図5は、図4の監視システム101が設けられている車両131を上から見た模式図である。
図4の監視システム101は、車両131の周囲を監視し、車両131の周囲に存在sる障害物を検出し、検出結果を出力するシステムである。監視システム101は、カメラ111N乃至カメラ111R、ギア検出部112、操舵角検出部113、車速検出部114、および、画像処理部115を含むように構成される。
カメラ111N乃至111Rは、それぞれ車両131の周囲の異なる方向を撮影するように設置され、撮影の結果得られた画像を画像処理部115に供給する。
ここで、図5を参照して、カメラ111N乃至111Rの設置位置の例について説明する。カメラ111Nは、例えば、車両131の前端のほぼ中央(例えば、フロントバンパーのほぼ中央)の位置P1に設置され、車両131の前方を撮影する。カメラ111CRは、例えば、車両131の前端かつ右端付近(例えば、フロントバンパーの右端付近)の位置P2に設置され、車両131の前方右方向(例えば、交差点で停車中に右方向から近づく車両等が見える方向)を撮影する。カメラ111CLは、例えば、車両131の前端かつ左端付近(例えば、フロントバンパーの左端付近)の位置P3に設置され、車両131の前方左方向(例えば、交差点で停車中に左方向から近づく車両等が見える方向)を撮影する。カメラ111SRは、例えば、車両131の右側面(例えば、右側のドアミラー付近)の位置P4に設置され、車両131の右方向を撮影する。カメラ111SLは、例えば、車両131の左側面(例えば、左側のドアミラー付近)の位置P5に設置され、車両131の左方向を撮影する。カメラ111Rは、例えば、車両131の後端のほぼ中央(例えば、リアバンパーのほぼ中央)の位置P6に設置され、車両131の後方を撮影する。
なお、以下、カメラ111Nにより撮影される画像を前方画像と称し、カメラ111CRにより撮影される画像を前方右画像と称し、カメラ111CLにより撮影される画像を前方左画像と称し、カメラ111SRにより撮影される画像を右画像と称し、カメラ111SLにより撮影される画像を左画像と称し、カメラ111Rにより撮影される画像を後方画像と称する。また、以下、カメラ111N乃至111Rを個々に区別する必要がない場合、単に、カメラ111と称する。
ギア検出部112は、車両131のギアの位置(あるいはシフト位置)を検出し、検出結果を画像処理部115に通知する。
操舵角検出部113は、例えば、操舵角センサにより構成され、車両131の操舵角を検出し、検出結果を画像処理部115に通知する。
車速検出部114は、例えば、車速センサにより構成され、車両131の速度を検出し、検出結果を画像処理部115に通知する。
画像処理部115は、各カメラ111により撮影された画像、並びに、車両131のギアの位置、操舵角および速度に基づいて、車両131の周囲の障害物の検出を行う。また、画像処理部115は、障害物の検出結果を利用する後段の装置に検出結果を出力する。
図6は、画像処理部115の第1の実施の形態である画像処理部115Aの機能の構成を示すブロック図である。画像処理部115Aは、監視部201N乃至201Rおよび監視制御部202を含むように構成される。また、監視部201Nは、路面推定部211N、挙動推定部212Nおよび障害物検出部213Nを含み、監視部201CRは、路面推定部211CR、挙動推定部212CRおよび障害物検出部213CRを含み、監視部201CLは、路面推定部211CL、挙動推定部212CLおよび障害物検出部213CLを含み、監視部201SRは、路面推定部211SR、挙動推定部212SRおよび障害物検出部213SRを含み、監視部201SLは、路面推定部211SL、挙動推定部212SLおよび障害物検出部213SLを含み、監視部201Rは、路面推定部211R、挙動推定部212Rおよび障害物検出部213Rを含むように構成される。さらに、監視制御部202は、進行方向検出部221および設定部222を含むように構成される。
監視部201Nは、カメラ111Nから供給される前方画像、および、車速検出部114から通知される車両131の速度に基づいて、車両131の前方の障害物の検出を行う。
より具体的には、路面推定部211Nは、前方画像および車両131の速度に基づいて、車両131の前方の路面の特徴を表す各種のパラメータ(以下、路面パラメータと称する)を推定する。
挙動推定部212Nは、前方画像に基づいて、車両131の挙動(以下、自車挙動とも称する)を表す各種のパラメータ(以下、挙動パラメータと称する)を推定する。
そして、監視部201Nは、推定した路面パラメータおよび挙動パラメータを含む推定情報を監視制御部202に送信する。
障害物検出部213Nは、監視制御部202から送信されてきた推定情報、および、前方画像に基づいて、車両131の前方の障害物の検出を行う。障害物検出部213Nは、検出結果を後段の装置に出力する。
監視部201CR、監視部201CL、監視部201SR、監視部201SL、および、監視部201Rも、監視部201Nと同様の構成および機能を有しており、その詳細な説明は繰り返しになるため省略する。
なお、監視部201CRは、カメラ111CRから供給される前方右画像を用いて、車両131の前方右方向の障害物の検出を行う。監視部201CLは、カメラ111CLから供給される前方左画像を用いて、車両131の前方左方向の障害物の検出を行う。監視部201SRは、カメラ111SRから供給される右画像を用いて、車両131の右方向の障害物の検出を行う。監視部201SLは、カメラ111SLから供給される左画像を用いて、車両131の左方向の障害物の検出を行う。監視部201Rは、カメラ111Rから供給される後方画像を用いて、車両131の後方の障害物の検出を行う。
なお、以下、監視部201N乃至201Rを個々に区別する必要がない場合、単に、監視部201と称する。また、以下、路面推定部211N乃至211Rを個々に区別する必要がない場合、単に、路面推定部211と称する。さらに、以下、挙動推定部212N乃至212Rを個々に区別する必要がない場合、単に、挙動推定部212と称する。また、以下、障害物検出部213N乃至213Rを個々に区別する必要がない場合、単に、障害物検出部213と称する。
監視制御部202は、各監視部201に各種の指令や情報を与えたり、各監視部201から各種の情報を取得したりしながら、各監視部201の動作を制御する。
より具体的には、監視制御部202の進行方向検出部221は、ギア検出部112から車両131のギアの位置を示す情報を取得し、操舵角検出部113から車両131の操舵角を示す情報を取得する。そして、進行方向検出部221は、車両131のギアの位置および車両131の操舵角に基づいて、車両131の進行方向を検出し、検出結果を設定部222に通知する。
設定部222は、車両131の進行方向に基づいて、各障害物検出部213が障害物の検出に用いる推定情報を設定する。より具体的には、設定部222は、車両131の進行方向に基づいて、自車挙動および路面の推定を行う監視部201を選択し、選択した監視部201に自車挙動および路面の推定を指令する。そして、設定部222は、指令した監視部201から推定情報を取得し、各監視部201に送信するとともに、障害物の検出を各監視部201に指令する。
次に、図7のフローチャートを参照して、監視システム101により実行される監視処理について説明する。なお、この処理は、例えば、車両131のアクセサリ(ACC)の電源がオンされたとき開始され、車両131のアクセサリの電源がオフされたとき終了する。
ステップS1において、進行方向検出部221は、車両131の進行方向を検出する。具体的には、まず、進行方向検出部221は、ギア検出部112から車両131のギアの位置を示す情報を取得し、操舵角検出部113から車両131の操舵角を示す情報を取得する。
例えば、進行方向検出部221は、車両131のギアが前進方向のギアに設定されており、操舵角が所定の範囲内(例えば、左右に10°以内)である場合、車両131が前方に直進中であると判定する。また、進行方向検出部221は、車両131のギアが後退方向のギアに設定されており、操舵角が所定の範囲内(例えば、左右に10°以内)である場合、車両131が後方に直進中であると判定する。さらに、進行方向検出部221は、車両131のギアが前方または後退方向のギアに設定されており、操舵角が右方向に所定の範囲を超えている場合、車両131が右に旋回中であると判定する。また、進行方向検出部221は、車両131のギアが前進または後退方向のギアに設定されており、操舵角が左方向に所定の範囲を超えている場合、車両131が左に旋回中であると判定する。さらに、進行方向検出部221は、車両131のギアが前進方向および後退方向のいずれのギアにも設定されていない場合、車両131が停車中であると判定する。
そして、進行方向検出部221は、車両131の進行方向の検出結果を設定部222に通知する。
ステップS2において、設定部222は、進行方向検出部221による検出結果に基づいて、車両131が前方に直進中であるか否かを判定する。車両131が前方に直進中であると判定された場合、処理はステップS3に進む。
ステップS3において、画像処理部115Aは、画像を取得する。すなわち、設定部222は、画像の取得を各監視部201に画像の取得を指令し、各監視部201は、その指令に従って同期して、同じタイミングで、それぞれ対応するカメラ111から画像を取得する。
ステップS4において、監視部201Rは、車両131の後方を撮影した画像を用いて、路面領域を推定する。具体的には、設定部222は、自車挙動および路面の推定を監視部201Rに指令する。監視部201Rの路面推定部211Rは、車速検出部114から車両131の速度を示す情報を取得する。路面推定部211Rは、車両131の速度に基づいて、前のフレームが撮影されてからの車両131の移動量を推定し、その結果を用いて、所定の方法により、カメラ111Rから取得した後方画像内の路面が写っている領域を推定する。
なお、路面領域を推定する方法は、特定の方法に限定されるものではなく、任意の方法を採用することが可能である。
ステップS5において、監視部201Rは、車両131の後方を撮影した画像を用いて、車両131の自車挙動および路面の推定を行う。具体的には、監視部201Rの路面推定部211Rは、所定の方法により、ステップS4において推定した路面領域について、路面の特徴を表す路面パラメータを推定する。路面パラメータは、カメラ111Rと路面との間の距離(例えば、路面を平面と見なしたときの路面とカメラ111の光学中心との間の距離)、および、路面の傾きなどのカメラ111Rと路面との間の位置関係が分かる情報、路面の形状、画像内の路面の量(面積)、路面の状態などを含む。
また、監視部201Rの挙動推定部212Rは、車両131の挙動パラメータを推定する。例えば、挙動推定部212Rは、1フレーム前の後方画像の特徴点(例えば、後方画像に写っているエッジやコーナーなど)を抽出し、現在のフレームの後方画像において、抽出した特徴点に対応する点を探索する。また、挙動推定部212Rは、抽出した特徴点と探索した対応点とを結ぶ動きベクトルを算出する。そして、挙動推定部212Rは、必要に応じて路面推定部211Rにより推定された路面パラメータを用いながら、例えば、上述した式(1)を用いて、車両131の回転運動量を表すピッチ角θ、ヨー角ψ、ロール角φなどを含む挙動パラメータを推定する。
そして、監視部201Rは、推定した挙動パラメータおよび路面パラメータを含む推定情報を監視制御部202に送信する。
なお、路面パラメータおよび挙動パラメータの推定方法は、特定の方法に限定されるものではなく、任意の方法を採用することが可能である。
ここで、車両131が前方に直進中である場合に、車両131の後方を撮影した後方画像を用いて、自車挙動および路面の推定を行う理由について説明する。車両131が道路を走行している場合、車両131の進行方向と逆方向、すなわち、車両131が通過した後には、ほぼ確実に路面が現れる。従って、車両131が前方に直進している場合、後方画像には、ほぼ確実に路面が写っており、その量(面積)も大きいと推定される。従って、画像内の路面量が大きいと推定される後方画像を用いることにより、車両131が走行している路面の特徴を表す路面パラメータの推定精度が向上することが期待できる。
また、路面は、車両131との位置関係を把握しやすく、加えて、路面上または路面の周辺には、特徴点を多く有する物体が存在する可能性が高い。従って、画像内の路面量が大きいと推定される後方画像を用いることにより、車両131の挙動を表す挙動パラメータの推定精度が向上することが期待できる。
以上の理由により、車両131が前方に直進中である場合に、後方画像を用いて自車挙動および路面の推定が行われる。
ステップS6において、設定部222は、各監視部201に推定情報を送信する。すなわち、設定部222は、監視部201Rから受信した推定情報を、各監視部201に送信するとともに、障害物の検出を指令する。なお、このとき、推定情報の送信元である監視部201Rには、推定情報を送信しないようにしてもよい。その後、処理はステップS22に進む。
一方、ステップS2において、車両131が前方に直進中でないと判定された場合、処理はステップS7に進む。
ステップS7において、設定部222は、進行方向検出部221による検出結果に基づいて、車両131が後方に直進中であるか否かを判定する。車両131が後方に直進中であると判定された場合、処理はステップS8に進む。
ステップS8において、ステップS3の処理と同様に、各監視部201は、各カメラ111から画像を取得する。
ステップS9において、監視部201Nは、設定部222の指令の基に、ステップS4の監視部201Rと同様の処理を行い、カメラ111Nにより車両131の前方を撮影した前方画像を用いて、路面領域を推定する。
ステップS10において、監視部201Nは、ステップS5の監視部201Rと同様の処理を行い、前方画像を用いて、車両131の自車挙動および路面の推定を行う。そして、監視部201Nは、推定した挙動パラメータおよび路面パラメータを含む推定情報を監視制御部202に送信する。
なお、上述した車両131が直進中である場合と同様の理由により、車両131が後方を直進中である場合、前方画像には、ほぼ確実に路面が写っており、その量も大きいと推定されるため、前方画像を用いて自車挙動および路面の推定が行われる。
ステップS11において、ステップS6と同様の処理が行われ、監視部201Nで推定された推定情報が各監視部201に送信される。その後、処理はステップS22に進む。
一方、ステップS7において、車両131が後方に直進中でないと判定された場合、処理はステップS12に進む。
ステップS12において、設定部222は、進行方向検出部221による検出結果に基づいて、車両131が右に旋回中であるか否かを判定する。車両131が右に旋回中であると判定された場合、処理はステップS13に進む。
ステップS13において、ステップS3の処理と同様に、各監視部201は、各カメラ111から画像を取得する。
ステップS14において、監視部201CLは、設定部222の指令の基に、ステップS4の監視部201Rと同様の処理を行い、カメラ111CLにより撮影された車両131の前方左画像を用いて、路面領域を推定する。
ステップS15において、監視部201CLは、ステップS5の監視部201Rと同様の処理を行い、前方左画像を用いて、車両131の自車挙動および路面の推定を行う。そして、監視部201CLは、推定した挙動パラメータおよび路面パラメータを含む推定情報を監視制御部202に送信する。
なお、上述した車両131が直進中である場合と同様の理由により、車両131が右に旋回中である場合、前方左画像には、ほぼ確実に路面が写っており、その量も大きいと推定されるため、前方左画像を用いて自車挙動および路面の推定が行われる。
ステップS16において、ステップS6と同様の処理が行われ、監視部201CLで推定された推定情報が各監視部201に送信される。その後、処理はステップS22に進む。
一方、ステップS12において、車両131が右に旋回中でないと判定された場合、処理はステップS17に進む。
ステップS17において、設定部222は、進行方向検出部221による検出結果に基づいて、車両131が左に旋回中であるか否かを判定する。車両131が左に旋回中であると判定された場合、処理はステップS18に進む。
ステップS18において、ステップS3の処理と同様に、各監視部201は、各カメラ111から画像を取得する。
ステップS19において、監視部201CRは、設定部222の指令の基に、ステップS4の監視部201Rと同様の処理を行い、カメラ111CRにより車両131の前方右方向を撮影した前方右画像を用いて、路面領域を推定する。
ステップS20において、監視部201CRは、ステップS5の監視部201Rと同様の処理を行い、前方右画像を用いて、車両131の自車挙動および路面の推定を行う。監視部201CRは、推定した挙動パラメータおよび路面パラメータを含む推定情報を監視制御部202に送信する。
なお、上述した車両131が直進中である場合と同様の理由により、車両131が左に旋回中である場合、前方右画像には、ほぼ確実に路面が写っており、その量も大きいと推定されるため、前方右画像を用いて、自車挙動および路面の推定が行われる。
ステップS21において、ステップS6と同様の処理が行われ、監視部201CRで推定された推定情報が各監視部201に送信される。その後、処理はステップS22に進む。
ステップS22において、画像処理部115Aは、送信された推定情報を用いて、各監視部201で障害物の検出を行う。例えば、監視部201Nの障害物検出部213Nは、設定部222から受信した推定情報に含まれる挙動パラメータおよび路面パラメータ、および、カメラ111Nにより撮影された前方画像を用いて、車両131の前方に存在する障害物の検出を行うとともに、検出した障害物の3次元情報(すなわち、路面座標系における障害物の位置)を検出する。他の監視部201の障害物検出部213も同様に、設定部222から受信した推定情報に含まれる挙動パラメータおよび路面パラメータ、および、各監視部201の監視対象となる方向が撮影された画像を用いて、各監視部201の監視対象となる方向に存在する障害物の検出、および、検出した障害物の3次元情報の検出を行う。
なお、障害物の検出を行う方法は、特定の方法に限定されるものではなく、任意の方法を採用することが可能である。また、障害物の3次元情報以外に、障害物の属性などを検出するようにしてもよい。
その後、処理はステップS1に戻り、ステップS1乃至S22の処理が繰り返し実行される。
一方、ステップS17において、車両131が左に旋回していないと判定された場合、すなわち、車両が停車中であると判定された場合、特に処理は行われずに、処理はステップS1に戻り、ステップS1以降の処理が実行される。
このように、車両の進行方向と逆方向により近い方向を撮影した画像を用いて、挙動パラメータおよび路面パラメータを推定することにより、推定精度を向上させることができる。その結果、精度が高い挙動パラメータおよび路面パラメータを用いて、車両131の周囲の各方向の障害物の検出を行うことができ、車両131の周囲の各方向の障害物の検出精度が向上する。
また、各監視部201が同期して同じタイミングで画像を取得し、その画像を用いて障害物の検出を行うため、他の監視部201で同じ時刻に取得した画像を用いて推定された推定情報を用いて、障害物の検出を行うことができる。その結果、他の監視部201の推定情報を用いることによる検出精度の低下を抑制することができる。
次に、図8および図9を参照して、本発明の第2の実施の形態について説明する。
図8は、画像処理部115の第2の実施の形態である画像処理部115Bの機能の構成を示すブロック図である。画像処理部115Bは、監視部201N乃至201Rおよび監視制御部301を含むように構成される。また、監視制御部301は、設定部311を含むように構成される。なお、図中、図6と対応する部分には、同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので省略する。
画像処理部115Bは、図6の画像処理部115Aと比較して、監視制御部202の代わりに、監視制御部301が設けられている点が異なる。
監視制御部301は、各監視部201に各種の指令や情報を与えたり、各監視部201から各種の情報を取得したりしながら、各監視部201の動作を制御する。
より具体的には、監視制御部301の設定部311は、各監視部201に自車挙動および路面の推定を指令し、自車挙動および路面の推定に用いた動きベクトルの数を示す情報を各監視部201から取得する。そして、設定部311は、自車挙動および路面の推定に用いた動きベクトルの数に基づいて、使用する推定情報を選択し、選択した推定情報を、その推定情報を推定した監視部201から取得し、各監視部201に送信するとともに、障害物の検出を各監視部201に指令する。
次に、図9のフローチャートを参照して、画像処理部115Bを備える監視システム101により実行される監視処理について説明する。なお、この処理は、例えば、車両131のアクセサリ(ACC)の電源がオンされたとき開始され、車両131のアクセサリの電源がオフされたとき終了する。
ステップS51において、図7のステップS3の処理と同様に、画像処理部115Bの各監視部201は、各カメラ111から画像を取得する。
ステップS52において、画像処理部115Bは、各監視部201で自車挙動および路面の推定を行う。具体的には、設定部311は、各監視部201に自車挙動および路面の推定を指令する。各監視部201の路面推定部211は、図7のステップS4およびS5の監視部201Rと同様の処理を行い、路面パラメータの推定を行う。なお、このとき、路面領域の推定処理を省略するようにしてもよい。また、各監視部201の挙動推定部212は、図7のステップS5の監視部201Rと同様の処理を行い、挙動パラメータの推定を行う。
ステップS53において、設定部311は、各監視部201が自車挙動および路面の推定に用いた動きベクトルの数を、各監視部201から取得する。換言すれば、設定部311は、自車挙動および路面の推定に有効だった動きベクトルの数を、各監視部201から取得する。
ステップS54において、設定部311は、使用した動きベクトルの数が最大だった監視部201の推定情報を各監視部201に送信する。具体的には、設定部311は、ステップS53の処理で取得した情報に基づいて、自車挙動および路面の推定に用いた動きベクトルの数が最大だった監視部201を特定し、特定した監視部201から推定情報を取得する。そして、設定部311は、取得した推定情報を各監視部201に送信するとともに、障害物の検出を指令する。なお、このとき、推定情報の送信元である監視部201には、設定部311から推定情報を送信しないようにしてもよい。
ここで、使用した動きベクトルの数が多いほど、より多くの情報量に基づいて自車挙動および路面の推定が行われており、より推定精度が高いと考えられる。従って、使用した動きベクトの数が最大だった監視部201の推定情報が、障害物の検出に用いる推定情報として選択される。
ステップS55において、図7のステップS22の処理と同様に、送信された推定情報を用いて、各監視部201で障害物の検出が行われる。すなわち、自車挙動および路面の推定に用いた動きベクトルの数が最大だった監視部201で推定された挙動パラメータおよび路面パラメータを用いて、各監視部201で障害物の検出が行われる。
その後、処理はステップS51に戻り、ステップS51乃至S55の処理が繰り返し実行される。
このようにして、より精度の高い挙動パラメータおよび路面パラメータを用いて、車両131の周囲の各方向の障害物の検出を行うことができ、車両131の周囲の各方向の障害物の検出精度が向上する。
次に、図10および図11を参照して、監視システム101の第3の実施の形態について説明する。
図10は、画像処理部115の第3の実施の形態である画像処理部115Cの機能の構成を示すブロック図である。画像処理部115Cは、監視部201N乃至201Rおよび監視制御部401を含むように構成される。また、監視制御部401は、設定部411を含むように構成される。なお、図中、図6と対応する部分には、同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので省略する。
画像処理部115Cは、図6の画像処理部115Aと比較して、監視制御部202の代わりに、監視制御部401が設けられている点が異なる。
監視制御部401は、各監視部201に各種の指令や情報を与えたり、各監視部201から各種の情報を取得したりしながら、各監視部201の動作を制御する。
より具体的には、監視制御部401の設定部411は、各監視部201に自車挙動および路面の推定、並びに、障害物の検出を指令する。また、設定部411は、障害物の検出処理により画像内から検出された路面の量を示す情報を各監視部201から取得する。設定部411は、検出された路面の量に基づいて、自車挙動および路面の推定を行う監視部201を選択し、選択した監視部201に自車挙動および路面の推定を指令する。そして、設定部411は、指令した監視部201から推定情報を取得し、各監視部201に送信するとともに、障害物の検出を各監視部201に指令する。
次に、図11のフローチャートを参照して、画像処理部115Cを備える監視システム101により実行される監視処理について説明する。なお、この処理は、例えば、車両131のアクセサリ(ACC)の電源がオンされたとき開始され、車両131のアクセサリの電源がオフされたとき終了する。
ステップS101において、図7のステップS3の処理と同様に、画像処理部115Cの各監視部201は、各カメラ111から画像を取得する。
ステップS102において、図9のステップS52の処理と同様に、各監視部201で自車挙動および路面の推定が行われる。
ステップS103において、画像処理部115Cは、各監視部201で得られた推定情報を用いて、各監視部201で障害物の検出を行う。すなわち、画像処理部115Cの各監視部201は、自分が求めた自車挙動および路面の推定情報を用いて、図7のステップS22と同様の処理により、障害物の検出を行う。
ステップS104において、設定部411は、検出された路面の量を取得する。すなわち、設定部411は、各障害物検出部213が障害物の検出を行ったときに検出された路面の量を示す情報を、各監視部201から取得する。
ステップS105において、図7のステップS3の処理と同様に、画像処理部115Cの各監視部201は、各カメラ111から画像を取得する。
ステップS106において、画像処理部115Cは、検出された路面の量が最大だった監視部201で自車挙動および路面の推定を行う。具体的には、設定部411は、ステップS104の処理で取得した情報に基づいて、各障害物検出部213により検出された路面の量が最大だった監視部201を特定する。設定部411は、特定した監視部201に、自車挙動および路面の推定を指令し、その結果を示す推定情報を取得する。そして、設定部411は、取得した推定情報を、各監視部201に送信するとともに、障害物の検出を指令する。なお、このとき、推定情報の送信元である監視部201には、推定情報を送信しないようにしてもよい。
ここで、検出された路面の量が最大だった監視部201が次に使用する画像、すなわち、その監視部201の監視対象となる方向を撮影した次のフレームの画像には、当然路面が多く写っていることが予想される。また、上述したように、画像内の路面の量が大きいほど、挙動パラメータおよび路面パラメータの推定精度の向上が期待できる。従って、検出された路面の量が最大だった監視部201の推定情報が、障害物の検出に用いる推定情報として選択される。
ステップS107において、設定部411は、得られた推定情報を各監視部201に送信する。すなわち、設定部411は、ステップS106の処理で、前回の障害物の検出時に検出した路面の量が最大だった監視部201から取得した推定情報を各監視部201に送信するとともに、障害物の検出を指令する。なお、このとき、推定情報の送信元である監視部201には、推定情報を送信しないようにしてもよい。
ステップS108において、図7のステップS22の処理と同様に、送信された推定情報を用いて、各監視部201で障害物の検出が行われる。すなわち、前回の障害物の検出時に検出された路面の量が最大だった監視部201で推定された挙動パラメータおよび路面パラメータを用いて、各監視部201で障害物の検出が行われる。
その後、処理はステップS104に戻り、ステップS104乃至S108の処理が繰り返し実行される。
このようにして、より精度の高い挙動パラメータおよび路面パラメータを用いて、車両131の周囲の各方向の障害物の検出を行うことができ、車両131の周囲の各方向の障害物の検出精度が向上する。
次に、図12および図13を参照して、監視システム101の第4の実施の形態について説明する。
図12は、画像処理部115の第4の実施の形態である画像処理部115Dの機能の構成を示すブロック図である。画像処理部115Dは、監視部201N乃至201Rおよび監視制御部501を含むように構成される。また、監視制御部501は、進行方向検出部511、信頼度評価部512、および、設定部513を含むように構成される。なお、図中、図6と対応する部分には、同じ符号を付してあり、処理が同じ部分については、その説明は繰り返しになるので省略する。
画像処理部115Dは、図6の画像処理部115Aと比較して、監視制御部202の代わりに、監視制御部501が設けられている点が異なる。
監視制御部501は、各監視部201に各種の指令や情報を与えたり、各監視部201から各種の情報を取得したりしながら、各監視部201の動作を制御する。
より具体的には、監視制御部501の進行方向検出部511は、図6の監視制御部202の進行方向検出部221と同様の機能を有し、車両131のギアの位置および車両131の操舵角に基づいて、車両131の進行方向を検出し、検出結果を信頼度評価部512に通知する。
信頼度評価部512は、各監視部201が自車挙動および路面の推定に用いた動きベクトルの数を、各監視部201から取得する。また、信頼度評価部512は、設定部513が各監視部201から取得した推定情報を設定部513から取得する。そして、信頼度評価部512は、車両131の進行方向、各監視部201が自車挙動および路面の推定に用いた動きベクトルの数、および、各監視部201の路面推定部211により推定された路面量に基づいて、各監視部201の推定情報の信頼度を評価する。信頼度評価部512は、評価した各監視部201の推定情報の信頼度を設定部513に通知する。
設定部513は、各監視部201に自車挙動および路面の推定を指令し、その結果を示す推定情報を各監視部201から取得する。そして、設定部513は、信頼度評価部512により評価された各監視部201の推定情報の信頼度に基づいて、各監視部201が障害物の検出に用いる推定情報を設定する。設定部311は、設定した推定情報を各監視部201に送信するとともに、障害物の検出を各監視部201に指令する。
次に、図13のフローチャートを参照して、画像処理部115Dを備える監視システム101により実行される監視処理について説明する。なお、この処理は、例えば、車両131のアクセサリ(ACC)の電源がオンされたとき開始され、車両131のアクセサリの電源がオフされたとき終了する。
ステップS151において、図7のステップS3の処理と同様に、画像処理部115Dの各監視部201は、各カメラ111から画像を取得する。
ステップS152において、図9のステップS52の処理と同様に、各監視部201で自車挙動および路面の推定が行われ、その結果得られた推定情報が各監視部201から監視制御部501に送信される。
ステップS153において、信頼度評価部512は、各監視部201の推定情報の信頼度を評価する。具体的には、設定部513は、各監視部201から取得した推定情報を信頼度評価部512に供給する。進行方向検出部221は、図7のステップS1の進行方向検出部221と同様の処理を行い、車両131の進行方向を検出し、検出した進行方向を信頼度評価部512に通知する。また、信頼度評価部512は、図9のステップS53の設定部311と同様の処理を行い、自車挙動および路面の推定に用いた動きベクトルの数を、各監視部201から取得する。
そして、信頼度評価部512は、車両131の進行方向、各監視部201が自車挙動および路面の推定に用いた動きベクトルの数、および、各監視部201からの推定情報に含まれる各路面推定部211により推定された路面量に基づいて、各監視部201の推定情報の信頼度を評価する。
このとき、上述したように、自車挙動および路面の推定に用いた画像の撮影方向が、車両131の進行方向と逆方向により近いほど、その推定精度が高いと考えられるため、信頼度が高く評価される。逆に、自車挙動および路面の推定に用いた画像の撮影方向が、車両の進行方向により近いほど、信頼度は低いと評価される。
また、自車挙動および路面の推定に用いた動きベクトルの数が多いほど、信頼度は高いと評価され、自車挙動および路面の推定に用いた動きベクトルの数が少ないほど、信頼度は低いと評価される。
さらに、上述したように、自車挙動および路面の推定に用いた画像内の路面量が大きいほど、その推定精度が高いと考えられるため、検出された路面量が大きいほど、信頼度が高いと評価され、検出された路面量が小さいほど、信頼度が低いと評価される。
信頼度評価部512は、このようにして評価した各監視部201の推定情報の信頼度を、設定部513に通知する。
なお、車両131の進行方向、自車挙動および路面の推定に用いた動きベクトルの数、および、検出された路面量の全てを用いずに、それらのうちの1つまたは2つを用いて、推定情報の信頼度を評価するようにしてもよい。また、他の情報を用いて、信頼度を評価するようにしてもよい。さらに、挙動パラメータと路面パラメータとで、異なる評価基準で個別に信頼度を評価するようにしてもよい。また、パラメータごとに、異なる評価基準で個別に信頼度を評価するようにしてもよい。
ステップS154において、設定部513は、各監視部201の推定情報の信頼度に基づいて、推定情報を設定する。具体的には、設定部513は、各監視部201で推定された挙動パラメータを、それぞれの信頼度に応じて重み付けて平均化し、その結果得られた挙動パラメータを、各監視部201で障害物の検出に用いる挙動パラメータに設定する。また、設定部513は、各監視部201で推定された路面パラメータを、それぞれの信頼度に応じて重み付けて平均化し、その結果得られた路面パラメータを、各監視部201で障害物の検出に用いる路面パラメータに設定する。
ステップS155において、設定部513は、設定した挙動パラメータおよび路面パラメータを含む推定情報を各監視部201に送信する。
ステップS156において、図7のステップS22の処理と同様に、送信された推定情報を用いて、各監視部201で障害物の検出が行われる。
その後、処理はステップS151に戻り、ステップS151乃至S156の処理が繰り返し実行される。
このようにして、より精度の高い挙動パラメータおよび路面パラメータを用いて、車両131の周囲の各方向の障害物の検出を行うことができ、車両131の周囲の各方向の障害物の検出精度が向上する。
ところで、各カメラ111は、車両131への取付け位置によって、それぞれ動きが異なる場合がある。この点について、図14を参照して説明する。
図14は、車両601を上から見た模式図であり、各車輪の位置を分かりやすくするために、前輪611L,611Rおよび後輪612L,612Rの位置を車両601の上に重ねて示している。
例えば、車両601が左方向への旋回を開始した場合、それに伴い、カメラBは、矢印で示されるように、左斜め方向に移動する一方、カメラAは、矢印で示されるように、ほぼ前方に直進するときがある。このようにカメラAの挙動とカメラBの挙動とが異なる場合、カメラBにより撮影された画像を用いて障害物を検出する監視部201で、カメラAにより撮影された画像を用いて推定された挙動パラメータを使用する場合、挙動パラメータを補正して用いるようにすることが望ましい。
ここで、図15を参照して、挙動パラメータの補正方法の一例について説明する。なお、以下、車両601の後から前に向かう方向を正の方向とする軸をZ軸とし、Z軸に垂直で、車両601の左から右に向かう方向を正の方向とする軸をX軸とし、X軸およびZ軸に垂直で、車両601の下から上に向かう方向を正の方向とする軸をY軸とする。
また、以下、X軸方向に対する前輪611L,611Rの角度をαとする。なお、角度αは、例えば、操舵角検出部113により検出することが可能である。また、前輪611Rの中心と後輪612Rの中心との間の距離(または、前輪611Lの中心と後輪612Lの中心との間の距離)である車両601のホイールベース長をBとする。さらに、カメラAの取付け位置と、車両601の後輪612Rの位置のX軸方向の差をSXAとし、Z軸方向の差をSZAとする。また、カメラBの取付け位置と後輪612Rの位置のX軸方向の差SXBとし、Z軸方向の差をSZBとする。
ここで、車両601の回転半径Rは、以下の式(2)により求められる。
カメラAの移動方向θAは、以下の式(3)により求められる。
カメラBの移動方向θBは、以下の式(4)により求められる。
そして、以下の式(5)により、カメラAの移動方向θAおよびカメラBの移動方向θBを用いて、カメラAのX軸方向の並進TXA、Z軸方向の並進TZAから、カメラBのX軸方向の並進TXB、Z軸方向の並進TZBを求めることができる。
そして、カメラAにより撮影された画像を用いて障害物の検出を行う監視部201では、カメラAのX軸方向の並進TXA、Z軸方向の並進TZAを用い、カメラBにより撮影された画像を用いて障害物の検出を行う監視部201では、カメラBのX軸方向の並進TXB、Z軸方向の並進TZBを用いるようにすることにより、障害物の検出精度をより向上させることができる。
なお、この挙動パラメータの補正処理は、例えば、図7のステップS6、S11、S16、S21、図9のステップS54、図11のステップS107など、各監視部201に推定情報を送信する前に、送信する推定情報に含まれる挙動パラメータに対して行うようにすればよい。
なお、以上の説明では、移動ステレオ方式により車両131の周囲の障害物の検出を行う例を示したが、本発明は、移動ステレオ方式以外の方法により、自車挙動または路面の推定情報を用いて車両の周囲の障害物の検出を行う場合にも適用することができる。
また、以上に示したカメラ111の数および設置位置は、その一例であり、任意の数および設置位置に変更することが可能である。
さらに、以上の説明では、挙動パラメータおよび路面パラメータの両方を、各監視部201で画像を用いて推定し、共有する例を示したが、どちらか一方のみを、各監視部201で画像を用いて推定し、共有するようにしてもよい。例えば、各監視部201で画像を用いた路面パラメータの推定を行わずに、車両131の移動量を車速センサなどから推定し、挙動パラメータのみを各監視部201で画像を用いて推定し、共有するようにしてもよい。
また、以上の説明では、監視部201を各カメラ111ごとに設ける例を示したが、複数のカメラ111に対して1つの監視部201を設けるようにしてもよい。この場合、例えば、1つの監視部201が、複数のカメラ111により撮影された各画像に対する自車挙動および路面の推定、並びに、障害物の検出する処理を、時系列または並列に行う。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図16は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)701,ROM(Read Only Memory)702,RAM(Random Access Memory)703は、バス704により相互に接続されている。
バス704には、さらに、入出力インタフェース705が接続されている。入出力インタフェース705には、入力部706、出力部707、記憶部708、通信部709、及びドライブ710が接続されている。
入力部706は、キーボード、マウス、マイクロフォンなどよりなる。出力部707は、ディスプレイ、スピーカなどよりなる。記憶部708は、ハードディスクや不揮発性のメモリなどよりなる。通信部709は、ネットワークインタフェースなどよりなる。ドライブ710は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア711を駆動する。
以上のように構成されるコンピュータでは、CPU701が、例えば、記憶部708に記憶されているプログラムを、入出力インタフェース705及びバス704を介して、RAM703にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU701)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア711に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア711をドライブ710に装着することにより、入出力インタフェース705を介して、記憶部708にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部709で受信し、記憶部708にインストールすることができる。その他、プログラムは、ROM702や記憶部708に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。