本実施形態に係る走行支援システムは、車両に搭載され、車両が走行する走路に、物体が飛び出す可能性を算出し、算出した飛び出し可能性に応じて、ユーザの運転支援を行うためのシステムである。以下、本発明の実施形態を図面に基づいて説明する。
図1は、走行支援システムの構成図を示す図である。
走行支援システムは、図1に示すように、カメラ10、制御装置20、車両コントローラ30、スピーカ40、およびディスプレイ50から構成される。これらの構成は、CAN(Controller Area Network)などの車載LANにより接続され、互いにデータの授受を行うことができる。
以下、各構成について説明する。
カメラ10は、撮像素子上に複数の画素を備え、輝度画像を撮像するものであり、例えば、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)などが挙げられる。カメラ10は、車両前方の道路状況を連続的に撮像し、撮像された画像データは、制御装置20に送信される。なお、カメラ10としては、カラーの画像を撮像するものであっても、白黒の画像を撮像するものであってもよい。
図2は、カメラ10の設置例を示す。図2(a)はカメラ10を搭載する車両を側面から見た図であり、また図2(b)はカメラ10を搭載する車両を上方から見た図である。図2に示すように、本実施形態では、カメラ10を車両室内のフロントウィンドウ上部に、車両前方に向けて設置する。
X,Y,Z軸からなる車両座標系において、カメラ10の光軸LSは、図2に示すように、車両の走行方向(ドライバ正面方向)であるZ軸方向に向くように調整され、また車両の走行方向と直交するX軸方向が路面と平行となるように調整され、さらにY軸方向が路面と垂直になるように調整される。
図3は、ディスプレイ50の画面上に表示される車両前方の画像の一例を示す図である。図3に示すように、カメラ10により撮像された撮像画像は、画像左上の頂点を原点Oとするxy座標系(カメラ座標系)によって表され、原点Oから右方向へ延在する軸をx軸とし、原点から下へ延在する軸をy軸とする。図3に示すように、撮像画像には、立体の静止物である外壁などの構造物と、静止物であるレーンマークなどが含まれる。
図1に示すように、走行支援システムの制御装置20は、本実施形態に係る走行支援処理を実行するためのプログラムを格納したROM(Read Only Memory)21と、このROM21に格納されたプログラムを実行するCPU(Central Processing Unit)22と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)23と、を備える。なお、動作回路としては、CPU(Central Processing Unit)22に代えて又はこれとともに、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを用いることができる。
次に、走行支援システムの制御装置20が備える処理機能について説明する。制御装置20は、画像取得機能、エッジ抽出機能、移動情報算出機能、最下点位置検出機能、境界線検出機能、交差空間検出機能、飛び出し可能性算出機能、属性情報付加機能、および出力機能を有する。
以下、上述した制御装置20が実現する機能についてそれぞれ説明する。
画像取得機能は、図3に示すような車両前方の画像データを、カメラ10から受信し、制御装置20のRAM23に格納する。なお、上述したように、カメラ10は車両前方の道路状況を連続的に撮像するため、画像取得機能は、カメラ10により連続的に撮像された車両前方の画像データを、フレームごとにRAM23に格納する。
エッジ抽出機能は、画像取得機能により取得された画像データから、物体の外延(輪郭)であるエッジを抽出する。エッジを抽出するための手法は、特に限定されず、本実施形態では、図3に示すように、構造物の左右両端などから、y軸方向に連続するエッジ成分を検出するSobelオペレータと、車両の進行方向と交差する方向の構造物の下端(構造物と路面との境界)などから、x軸方向に連続するエッジ成分を検出するSobelオペレータとを用いて、画像データ内に存在する物体のエッジ(y軸方向に連続するエッジ成分とx軸方向に連続するエッジ成分と)を抽出する。
移動情報算出機能は、エッジ抽出機能により抽出されたエッジ成分の移動速度および移動方向を算出する。さらに、移動情報算出機能は、x軸方向に移動するエッジ成分に対応する画素を、横速度情報を有する画素として検出し、またy軸方向に移動するエッジ成分に対応する画素を、縦速度情報を有する画素として検出する。
ここで、図4に基づいて、移動情報算出機能によるエッジ成分の移動情報を算出する手法例を説明する。図4は、エッジ成分の移動情報を算出する手法例を説明するための図である。図4に示すように、図中の右方向をx軸の正方向、図中の上方向をy軸の正方向とする。説明の便宜のため、図4においては、エッジ成分がx軸の正方向(右方向)に移動する場合を例にして説明する。なお、エッジ成分がx軸の負方向やy軸方向、あるいは2次元的(斜め方向)に移動する場合においても、基本的な処理手法は共通する。また、x軸方向へ移動するエッジ成分の移動速度を算出する際には、y軸方向に連続するエッジ成分を用い、またy軸方向へ移動するエッジ成分の移動速度を算出する際には、x軸方向に連続するエッジ成分を用いることが好適である。
まず、移動情報算出機能は、エッジ画像に対して2値化処理を行う。2値化処理とは、エッジの検出された位置の画素を1とし、エッジの検出されなかった位置の画素を0とする処理である。図4(a)は、抽出されたy軸方向に連続するエッジ成分を2値化した画像の一例を示す。次に、図4(b)に示すように、生成された2値化画像に対して、細線化処理を行い、検出されたエッジ成分のエッジ幅を所定画素幅になるまで縮小する。本実施形態では、図4(b)に示すように、所定画素幅として1画素になるまでエッジのエッジ幅を細線化する。このようにエッジを所定の画素幅になるまで細線化することによって、エッジの中心となる中心位置が設定される。なお、本実施形態では、1画素に細線化する例を示すが、細線化する画素数は特に限定されない。
次に、細線化されたエッジのエッジ幅が一定の幅となるよう、エッジをx軸方向に膨張させる。本実施形態では、図4(c)に示すように、エッジの中心位置x0からエッジの移動方向(x軸の正方向)に1画素膨張させるとともに、エッジの中心位置x0からエッジの移動方向と反対方向(x軸の負方向)に1画素膨張させて、エッジ幅を3画素に膨張させる。これにより、抽出されたエッジを正規化し、各エッジの幅が均一なエッジ画像を得ることができる。
次に、移動情報算出機能は、カウントアップ処理を行う。ここで、カウントアップ処理とは、エッジが検出された画素の位置に対応するメモリアドレスの値をカウントアップし、エッジが検出されなかった画素の位置に対応するメモリアドレスの値を初期化する処理である。以下、図4(c)〜(f)に基づいて移動情報算出機能によるエッジのカウントアップ処理について説明する。
図4(c)に示すように、エッジはあるフレームにおいて位置x0にエッジの中心位置がある。そして、その中心位置からエッジの移動方向に1画素の位置x0+1に膨張され、同様に、中心位置からエッジの移動方向と反対方向に1画素の位置x0−1に膨張されている。このようなエッジが検出された位置「x0−1」、「x0」、「x0+1」に対応するメモリアドレスのカウント値は「+1」カウントアップされる。他方、エッジが検出されなかった位置に対応するメモリアドレスのカウント値は、リセットされる。
例えば、図4(d)では、時刻tにおいて、位置「x0−1」、「x0」、「x0+1」にエッジが検出されている。このため、それぞれの位置に対応するメモリアドレスのカウント値が各「1」カウントアップされる。その結果、位置「x0+1」のカウント値は「1」、位置「x0」のカウント値は「3」、位置「x0−1」のカウント値は「5」である。
次に、図4(e)に示すように、時刻t+1になってもエッジが移動していないので、位置「x0−1」、「x0」、「x0+1」の各位置でエッジが検出される。このため、位置「x0−1」、「x0」、「x0+1」のカウント値をさらに1ずつカウントアップする。その結果、位置「x0+1」のカウント値は2、位置「x0」のカウント値は4、位置「x0−1」のカウント値は6となる。
さらに、図4(f)に示すように、時刻t+2では、エッジがx軸の正方向に1画素シフトして位置「x0」、「x0+1」、「x0+2」の位置でエッジが検出される。このため、エッジが検出された位置「x0」、「x0+1」、「x0+2」に対応するメモリアドレスのカウント値はカウントアップされる。他方、エッジが検出されなかった位置「x0−1」のカウント値はリセットされ、「ゼロ」となる。その結果、図4(f)に示すように位置「x0+2」のカウント値は1、位置「x0+1」のカウント値は3、位置「x0」のカウント値は5となる。さらに、エッジが検出されなかった位置「x0−1」のカウント値はリセットされ、「0」になる。
このように、移動情報算出機能は、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップし、エッジの検出されなかった位置に対応するメモリアドレスのカウント値をリセットする。
物体が自車両に対して一定角度で近づく場合、連続するフレーム間において、エッジは同じ位置で複数回検出される場合がある。例えば、図4に示す例では、連続する時刻tのフレームと時刻t+1のフレームにおいて、エッジは位置x0において2回検出される。したがって、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップしていくと、そのカウント値はその位置においてエッジが検出されている時間(フレーム数、滞留時間)と相関する。
次に、移動情報算出機能は、各画素においてカウントしたカウント値の傾きを算出し、この傾きに基づいて、エッジの移動速度および移動方向を算出する。
例えば、図4(e)の場合では、位置「x0−1」、「x0」、「x0+1」のカウント値がそれぞれ「6」、「4」、「2」である。位置「x0−1」のカウント値「6」から「x0+1」のカウント値「2」を引くと、カウント値の傾きHは、H=(6−2)/2=2と算出される。
これは、H={(エッジが位置x0−1に移動してから現在までの時間)−(エッジが位置x0+1に移動した後の時間)}/(2画素)を意味するので、これによりエッジが位置x0のある1画素を通過するのに要する時間(フレーム数)を算出することができる。
したがって、カウント値の傾きHは、エッジが1画素移動するために何フレームを要したかに相当し、このカウント値の傾きHに基づいて、エッジの移動速度1/Hを算出できる。例えば、図4(e)では1画素移動するのに2フレームを要することになるので、エッジの移動速度は1/2(画素/フレーム)と算出される。
続いて、移動情報算出機能は、カウント値の大小に基づいて、エッジの移動方向を判断する。エッジの無い位置にエッジが移動し、新たにエッジが検出された位置のカウント値は1となるから、各位置のカウント値の中では最も小さな値となる。したがって、エッジが移動する方向のカウント値は小さく、エッジが移動する方向と反対方向のカウント値は大きくなる。この傾向を利用して、エッジの移動方向を判断することができる。
以上のように、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップすることにより、カウントアップされたカウント値の傾きに基づいてエッジの移動速度および移動方向を算出することができる。
さらに、移動情報算出機能は、算出したエッジの移動速度および移動方向に基づいて、時間の経過とともにx軸方向に移動したエッジに対応する画素を、横速度情報を有する画素として検出し、また、時間の経過とともにy軸方向に移動したエッジに対応する画素を、縦速度情報を有する画素として検出する。
図5は、横速度情報を有する画素を説明するための図である。また、図6は、縦速度情報を有する画素を説明するための図である。図5においては、自車両の進行方向の中央位置から見て、画像データ内をx軸の負方向(左方向)に移動するエッジに対応する画素を白丸で、自車両の進行方向の中央位置から見て、画像データ内をx軸の正方向(右方向)に移動するエッジに対応する画素を黒丸で表わす。また、図6においては、画像データ内をy軸方向の正方向(自車両進行方向の遠方から手前)へ移動するエッジに対応する画素を白丸で表わし、y軸方向の負方向に移動するエッジに対応する画素の記載は省略する。
図5に示す横速度情報を有する画素は、x軸方向に移動するエッジに対応する画素であり、横速度情報を有する画素がy軸方向に沿って連続した画素列である第2画素列が検出される。例えば、図5に示す場面例では、横速度情報を有する画素がy軸方向に連続した第2画素列VL1,VL2が検出される。一方、図6に示す縦速度情報を有する画素は、y軸方向に移動するエッジに対応する画素であり、縦速度情報を有する画素がx軸方向に沿って連続した画素列である第1画素列が検出される。例えば、図6に示すように、縦速度情報を有する画素がy軸方向に連続した第1画素列HL1,HL2が検出される。なお、自車両の進行方向に延伸するレーンマークや、自車両の進行方向に延伸する構造物と路面との走路境界線から検出されるエッジは、斜め方向に移動するエッジであり、このようなエッジに対応する画素は、横速度情報と縦速度情報とを有する。そのため、レーンマークや、自車両の進行方向に延伸する構造物と路面との走路境界線から検出されるエッジに対応する画素は、横速度情報を有する画素を示す図5および縦速度情報を有する画素を示す図6の両方において検出される。このように、横速度情報を有する画素からはy軸方向に連続する第2画素列を、縦速度情報を有する画素からはx軸方向に連続する第1画素列をそれぞれ検出することができる。
最下点位置検出機能は、画像データ中の所定領域において、横速度情報を有する画素が複数連続してなる画素列を構成する各画素のうち、y軸方向において最も下側に位置する画素の位置を最下点位置として検出する。最下点位置を検出する手法は特に限定されないが、本実施形態では、以下に説明する手法で最下点位置を検出する。なお、最下点位置が検出される画素列は、第2画素列のようにy軸方向に沿って連続する画素列に限られず、斜め方向(二次元方向)に連続する画素列も含まれる。
図7は、図5と同様に横速度情報を有する画素を示しており、最下点位置の検出する手法例を説明するための図である。なお、図7においては、横速度情報を有する画素のうち、最下点位置に位置する画素を実線の黒丸で示し、最下点位置に位置する画素以外の画素を破線の白丸で示している。まず、最下点位置検出機能は、図7に示すように、画像データ上に短冊状の複数の領域である短冊領域1〜12を設定する。
そして、最下点位置検出機能は、画像の下側から上側に向かって各短冊領域を走査し、横速度情報を有する画素が所定数以上連続してなる画素列を構成する画素のうち、y軸方向において最も下側に位置する画素の位置を最下点位置として検出する。また、各短冊領域において検出された横速度情報を有する複数の画素のうち、所定閾値内の移動速度で移動するエッジに対応する画素が複数連続してなる画素列を構成する各画素および/または所定閾値内の方向に移動するエッジに対応する画素が複数連続してなる画素列を構成する各画素をグループ化し、グループ化された画素列のうち、最も下側に位置する画素を最下点位置として検出する。また、例えば、図5に示す横速度情報を有する画素の情報と、図6に示す縦速度情報を有する画素の情報から、図5に示す縦速度情報を有する画素のみから構成される第2画素列を検出し、第2画素列のうち最も下側に位置する画素を最下点位置として検出する。このように最下点位置を検出することで、図7に示す例では、最下点位置BP1−1〜BP12−2が検出される。なお、図7において、各短冊領域1〜12において検出された最下点位置はBPi−jのように表される。ここで、iは、最下点位置が検出された短冊領域の番号を示しており、jは1つの短冊領域において検出された最下点位置の数を下側から数えた番号を示している。例えば、短冊領域1の下側から3つ目に検出された最下点位置は、最下点位置BP1−3と表示され、短冊領域2の下側から4つ目に検出された最下点位置は、最下点位置BP2−4と表示される。なお、図7においては、構造物と路面との境界線において検出された最下点位置であるBP1−3,BP2−3,BP2−4,BP3−3,BP4−3,BP4−4,およびBP5−3についてのみ番号を記載し、それ以外の最下点位置については番号の記載を省略している。
次に、境界線検出機能について説明する。境界線検出機能は、車両の進行方向(実空間上のZ軸方向)に沿って、最下点位置検出機能により検出された最下点位置同士を結び、最下点位置同士を結んでできた直線を、自車両が走行する走路における境界線として検出する。検出される境界線としては、例えば、レーンマーク、ガードレール、縁石、外壁と路面との設定を結ぶ直線、立体物と路面との接点を結ぶ直線、および路面とそれ以外の領域との直線などが含まれる。
以下において、境界線検出機能による境界線の検出方法の一例について説明する。図8は、境界線領域を抽出する手法例を説明するための図である。
境界線検出機能は、例えば、図8に示すように、X軸方向に−5.25m 未満、−5.25以上−3.5m未満、−3.5m以上−1.75m未満、−1.75m以上0m未満、0m以上1.75m未満、1.75m以上3.5m未満、3.5m以上5.25m未満、および5.25m以上の8つの領域を設定する。また、Z軸方向に0m〜10m、10m〜20m、20m〜30m、30m〜40m、および40m〜50mの5つの領域を設定する。そして、X軸方向、およびZ軸方向に設定した各領域で区切られる8×5の2次元領域を設定する。
設定した8×5の2次元領域は、それぞれの領域を識別するための名称が付与され、各領域は列(Z軸領域)iと行(X軸領域)jとを用いて領域ijのように表される。例えば、図8に示すように、1列目の1行目に存在する領域は領域11と表し、1列目の2行目に存在する領域は領域12と表し、2列目の1行目に存在する領域は領域21のように表す。また、各列によって構成される領域を領域i0と表し、各行によって表される領域を領域0jと表すようにする。例えば図8に示す例では、4列目の1列全体によって構成される領域は領域40と表される。
続いて、境界線検出機能は、xy平面上において抽出された最下点位置の位置座標を、ZX平面における3次元位置座標に変換する。例えば、境界線検出機能は、図7に示す最下点位置BP1−1を、図8に示す3次元座標値RB1−1に変換する。また、同様に、最下点位置BP1−2〜BP12−2を、それぞれ3次元座標値RB1−2〜RB12−2に変換する。なお、検出された最下点位置が路面上に存在しない場合、xy平面上において抽出された最下点位置の位置座標は、ZX座標の領域外に投影されることとなり、図8に示すZX平面における3次元位置座標に変換されない。
そして、境界線検出機能は、変換した3次元座標値RB1−1〜RB12−2が、図8に示すようなX軸範囲とZ軸範囲とを規定した2次元領域のどの領域に該当するかを判定する。すなわち、境界線検出機能は、最下点位置の3次元座標がこの8×5の領域のいずれかに含まれる場合には、最下点位置が含まれる領域のカウント値に1加算し、最下点位置の3次元位置分布を算出する。例えば、座標値RB1−1は、領域35に含まれることから、領域35のカウント値に1を加算する。
そして、境界線検出機能は、最下点位置の3次元位置分布に基づいて、境界線が存在する可能性が高い領域を境界線領域として抽出する。すなわち、3次元位置分布において、同じX軸領域で複数のZ軸領域にカウント値が存在する列を、境界線が存在している境界線領域として抽出する。例えば、図8に示す例では、領域10、領域20、領域30、領域50、領域60、領域70、および領域80の複数のZ軸領域にカウント値が存在するため、境界線検出機能は、これらの領域10、領域20、領域30、領域50、領域60、領域70、および領域80を境界線領域として抽出する。
次に、境界線検出機能は、抽出した各境界線領域内において、境界線を示す直線を直線近似により求める。図9は、境界線を検出する手法例を説明するための図である。境界線検出機能により、図8に示す領域10から、図9に示すように境界線L1が検出される。また同様に、領域20から境界線L2が、領域30から境界線L3が、領域50から境界線L4が、領域60から境界線L5が、領域70から境界線L6が、領域80から境界線L7が検出される。すなわち、図9に示す例では、構造物の最下点位置から境界線L1が、およびレーンマークの両端から境界線L2、L3、L4、L5、L6、L7が順次検出される。
さらに、境界線検出機能は、検出した境界線が、構造物と走路との境界線である走路境界線を示す境界線であるか、あるいはレーンマークを示す境界線であるかを判定する。例えば、境界線検出機能は、自車両が走行する走路の中心位置から右側の領域または左側の領域において、自車両が走行する走路の中心位置から近い2つの境界線(さらにその2つの境界線よりも遠い位置に2つの境界線がある場合は、その2つの境界線も含む)はレーンマークの両端を示す直線であると判断し、これら一対の境界線をレーンマークとして検出する。例えば、図9に示す場面例においては、自車両の走行する走路の中心位置よりも左側の領域において、走路の中心位置から1番目に近い境界線L2と2番目に近い境界線L3はレーンマークであると判定される。一方、走路の中心位置から3番目に近い境界線L1は、境界線L1と対になる境界線が存在しないため、レーンマークではなく、構造物と走路との境界を示す走路境界線であると判定される。また、自車両の走行する走路の中心位置よりも右側の領域において、走路の中心位置から1番目に近い境界線L4と2番目に近い境界線L5、および走路の中心位置から3番目に近い境界線L6と4番目に近い境界線L7はレーンマークであると判定される。
そして、境界線検出機能は、レーンマークと判定された境界線を統合し、レーンマークと走路境界線とを検出する。図10は、境界線に基づいて検出されるレーンマークと走路境界線とを説明するための図である。図10に示す場面例において、境界線検出機能は、境界線L2と境界線L3とをレーンマークLL1として、また境界線L4と境界線L5はレーンマークRL1として、そして境界線L6と境界線L7はレーンマークRL2として、それぞれ統合する。一方、レーンマークとして統合されなかった境界線L1は、構造物と走路との境界線を表わす走路境界線LB1とする。なお、境界線検出機能は、統合されたレーンマークの位置を、各両端の境界線の中央位置とする。
続いて、交差空間検出機能について説明する。交差空間検出機能は、最下点位置に基づいて、自車両の進行方向の空間と交差する空間である交差空間を検出する。
以下において、交差空間を検出するための方法について説明する。
交差空間検出機能は、縦速度情報を有する複数の画素がx軸方向に沿って連続する第1画素列を検出する。図11は、第1画素列を説明するための図である。図11において、縦速度情報を有する複数の画素のうち、第1画素列を構成する画素を実線で、第1画素列を構成しない画素を破線で示す。例えば、図11に示す場面例では、縦速度情報を有する複数の画素がx軸方向に沿って連続した第1画素列HL1が検出され、同様に、縦速度情報を有する複数の画素がx軸方向に沿って連続した第1画素列HL2が検出される。
また、交差空間検出機能は、横速度情報を有する複数の画素がy軸方向に沿って連続する画素列であって、最下点位置を含む画素列である第2画素列を検出する。図12は、第2画素列を説明するための図である。図12では、横速度情報を有する複数の画素のうち、第2画素列を構成する画素を実線の白丸で、第2画素列を構成しない画素を破線の白丸で示す。さらに、図12では、最下点位置に位置する画素を実線の黒丸で示す。例えば、図12に示す場面例では、最下点位置BP1から横速度情報を有する複数の画素がy軸方向に沿って連続した第2画素列VL1が検出され、同様に、最下点位置BP2から横速度情報を有する複数の画素がy軸方向に沿って連続した第2画素列VL2が検出される。
そして、交差空間検出機能は、互いに交わる第1画素列および第2画素列を2辺とし、第1画素列と第2画素列との交点Pを1の角とする矩形状の領域を対象領域として設定する。また対象領域は、対象領域のx軸方向の長さを対象領域の幅wとし、また対象領域のy軸方向の長さを対象領域の高さhとして設定される。ここで、図13は、第1画素列と第2画素列とにより設定された対象領域を説明するための図である。図13において、第1画素列と第2画素列との交点Pを黒丸で示している。
例えば、図13に示す場面例において、交差空間検出機能は、第1画素列HL1と第2画素列VL1とを2辺とし、第1画素列HL1と第2画素列VL1との交点Pを1つの角とする領域である対象領域1および対象領域2を設定する。対象領域1は、第2画素列VL1の最下点位置から交点Pまでの長さを高さhとし、第1画素列HL1の長さを幅wとする対象領域として設定される。一方、対象領域2は、交点Pから第2画素列VL1の最も上側に位置する画素の位置までの長さを高さhとし、第1画素列HL1の長さを幅wとする対象領域として設定される。
また、図13に示す例において、対象領域2は構造物の壁に対応する領域であり、一方、対象領域1は構造物と構造物との間の交差空間に対応する領域である。図13に示すように、構造物に対応する対象領域2は、縦速度情報または横速度情報を有する画素列で3辺を囲まれており、対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が大きくなる。一方、交差空間に対応する対象領域1は、縦速度情報または横速度情報を有する画素列で2辺だけで囲まれており、対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が小さくなる。そこで、交差空間検出機能は、対象領域に対応する画素のうち、縦速度情報または横速度情報を有する画素の割合が所定の割合以下であるかを判定することで、設定された対象領域が、壁などの構造物に対応するものであるか、それとも、交差空間に対応するものであるかを判断する。具体的に、交差空間検出機能は、対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が所定の割合以下である対象領域は、交差空間に対応する対象領域であると判定し、一方、対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が所定の割合よりも大きい対象領域は、壁などの構造物に対応する対象領域であると判定する。
対象領域に対応する画素のうち、縦速度情報または横速度情報を有する画素の割合が所定の割合以下であるかを判定する手法は特に限定されないが、本実施形態において、交差空間検出機能は、対象領域に対応する画素のうち速度情報または横速度情報を有する画素の数である画素数nを検出し、画素数nが、画素数n≦(対象領域の高さh×対象領域の幅w)×所定割合の関係となるか判断することで、対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が所定の割合以下であるかを判断する。そして、画素数n≦(対象領域の高さh×対象領域の幅w)×所定割合の関係となる場合には、その対象領域は、交差空間に対応する対象領域であると判断する。
そして、交差空間検出機能は、交差空間に対応する対象領域の位置において、自車両の進行方向の空間と交差する空間があるものとして、交差空間を検出する。そして、交差空間検出機能は、検出された交差空間の幅Wおよび高さHを決定する。以下において、交差空間の幅Wおよび高さHを決定する手法例について説明する。
まず、交差空間検出機能は、対象領域の幅wに基づいて、交差空間の幅Wを決定する。ここで、交差空間に対応する対象領域の幅wと、交差空間の幅Wとの関係を図14および図15を用いて説明する。図14は、交差空間に対応する対象領域の幅wが、w1の場合において、交差空間に対応する対象領域の幅wと、交差空間の幅Wとの関係を説明するための図である。また、図15は、交差空間に対応する対象領域の幅wが、図14のw1よりも小さいw2の場合において、交差空間に対応する対象領域の幅wと、交差空間の幅Wとの関係を説明するための図である。図14(a)に示すように、対象領域の幅wがw1として検出された場合、図14(b)に示すように、構造物Aと構造物Bとの間の交差空間の幅WはSW1として検出される。一方、図15(a)に示すように、対象領域の幅wがw2として検出されている場合、図15(b)に示すように、構造物Cと構造物Dとの間の交差空間の幅WはSW2として検出される。
このように、図14と図15とを比較すると、図14(a)の対象領域の幅wであるw1は、図15(a)の対象領域の幅wであるw2よりも大きく、図14(b)の交差空間の幅WであるSW1は、図15(b)の交差空間の幅WであるSW2よりも大きい。このように、対象領域の幅wが大きくなるほど、交差空間の幅Wは大きくなる。すなわち、対象領域の幅wと交差空間の幅Wとは相関し、対象領域の幅wの大きさに応じて、交差空間の幅Wを決定することができる。そこで、交差空間検出機能は、対象領域の幅wに基づいて、交差空間の幅Wを決定する。
また、交差空間検出機能は、対象領域に接する第2画素列の長さから、交差空間の高さHを決定する。ここで、交差空間の高さHは、交差空間に隣接する構造物の高さを意味する。図16は、対象領域に接する第2画素列と交差空間の高さHとの関係を説明するための図である。図16に示すように、対象領域に接する第2画素列VL2は、該対象領域1に対応する交差空間に隣接する構造物Bの右端から検出されたエッジに基づくものであり、第2画素列VL2の長さは、交差空間が隣接する構造物Bの高さ、すなわち、交差空間の高さHに対応する。そこで、交差空間検出機能は、対象領域1に接する第2画素列VL2の長さから、交差空間の高さHを決定することができる。なお、例えば、図16に示すように、交差空間に接する第2画素列がVL1,VL2のように複数ある場合には、進行方向手前の第2画素列VL1を用いてもよいし、進行方向遠方の第2画素列VL2を用いてもよい。本実施形態では、進行方向遠方の第2画素列VL2を用いて、交差空間の高さHを決定するものとする。
このように、交差空間検出機能は、対象領域に基づいて、交差空間を検出し、かつ検出した交差空間の幅Wと高さHとを決定する。例えば、図13に示す例では、交差空間検出機能は、対象領域1の位置において交差空間を検出し、対象領域1の幅wから交差空間の幅Wを決定し、対象領域1に接する第2画素列VL2の長さから交差空間の高さHを決定する。
次に、飛び出し可能性算出機能について説明する。飛び出し可能性算出機能は、交差空間検出機能により検出された交差空間に基づいて、自車両が走行する走路上に、物体が飛び出す可能性を算出する。
飛び出し可能性算出機能は、交差空間検出機能により検出された交差空間の高さHおよび幅Wに基づいて、物体が走路に飛び出す可能性を算出する。例えば、交差空間の幅Wが大きい場合は、高速で走行する自動車などが交差空間から飛び出す可能性が高いため、物体が走路に飛び出す可能性を高く算出する。また、交差空間の高さHが低い場合は、交差空間に隣接する構造物を飛び越えて人や動物などが飛び出してくる可能性が高いため、物体が走路に飛び出す可能性を高く算出する。なお、交差空間の幅Wと、交差空間の高さHとに重み付けを設定してよく、例えば、重み付けを設定した交差空間の幅WをW’と、重み付けを設定した交差空間の高さHをH’とした場合、飛び出し可能性Pを、飛び出し可能性P=W’×H’として算出してよい。
さらに、飛び出し可能性算出機能は、自車両の車速、ヘッドライトの点灯信号、ワイパーの作動信号などの車両情報に基づいて、物体の飛び出し可能性を算出する。物体の走路への飛び出しに対する対処が困難な状況において、飛び出し可能性を高く算出することで、物体の飛び出し可能性に基づく運転支援を適切に行うことができる。例えば、自車両の車速が高速の場合は、車速が低速の場合と比べて、物体の走路への飛び出しに対応することが困難となるため、飛び出し可能性を高く算出する。また、ヘッドライトが点灯している場合には、夜間などによりユーザの視界が悪いと判断できるため、飛び出し可能性を高く算出する。さらに、ワイパーが作動している場合にも、雨などによりユーザの視界が悪くなると判断できるため、飛び出し可能性を高く算出する。
次に、属性情報付加機能について説明する。属性情報付加機能は、境界線検出機能により検出された境界線に、境界線の属性を示す属性情報を付加する。境界線に付加される属性情報としては、例えば、検出したレーンマークの種類(例えば、実線であるか、または破線であるか)や、飛び出し可能性算出機能により算出された飛び出し可能性などが挙げられる。
図17および図18は、属性情報付加機能により付加された属性情報を説明するための図であり、ディスプレイ50の画面上に表示される画像の一例である。例えば、属性情報付加機能は、走路と構造物との境界線となる走路境界線に対して、飛び出し可能性の情報を付加する。これにより、ディスプレイ50は、属性情報を付加された境界線の情報に基づいて、図17に示すように、自車両が走行する走路と構造物との間の走路境界線を画面上に表示する。特に、図17に示す場面例では、走路境界線に交差空間における飛び出し可能性が付加されているため、ディスプレイ50の画面上に表示される走路境界線は、交差空間が検出された位置において、飛び出し可能性に応じて、通常の走路境界線の位置よりも車両走路側の位置になるように表示される。これにより、物体が飛び出す可能性が高い位置をユーザに伝達することができる。また、図18は、図17に示す場面例と比べて交差空間における飛び出し可能性が高い場合において、ディスプレイ50の画面上に表示される画像の一例である。例えば、図18に示す場面例では、図17に示す場面例と比べて、交差空間に対応する対象領域の幅wが大きいため、その対象領域に基づく交差空間の幅Wも大きいものと判断され、交差空間における飛び出し可能性は高く算出される。このように、図18に示す場面例では、図17に示す場面例と比べて交差空間における飛び出し可能性が高いため、交差空間の位置において、図17に示す場面例と比べて、走路境界線が車両走路側の位置になるように、走路境界線が表示される。
出力機能は、飛び出し可能性算出機能により算出された飛び出し可能性に基づいて、車両を制御するための制御信号、運転者に警報するための警報信号、飛び出し可能性が高い位置を表示するための画像信号などの各種信号を生成する。そして、出力機能は、生成された信号を車両コントローラ30、スピーカ40、ディスプレイ50に送信する。
車両コントローラ30は、図示しないステアリング、アクセル、およびブレーキなどの各種装置に接続しており、制御装置20から送信された制御信号に基づいて、これら装置の制御を行うものである。また、車両コントローラ30は、図示しない車速センサ、ヘッドライト、ワイパーと接続しており、車速センサから車速、ヘッドライトからヘッドライトの点灯情報、ワイパーからワイパーの作動情報を取得する。
スピーカ40は、制御装置20から送信された警報信号に基づいて、自車両が走行する走路に、歩行者や車などの飛び出し警報を音声で出力する。また、ディスプレイ50は、制御装置20から送信された画像信号に基づいて、図17または図18に示すように、自車両が走行する走路に歩行者や車などの飛び出す可能性が高い領域の位置を、ディスプレイ50に備える画面上に表示する。
次に、図19および図20に基づき本実施形態に係る走行支援処理について説明する。図19および図20は、本実施形態に係る走行支援処理を示すフローチャートである。以下に説明する走行支援処理は、制御装置20により実行される。
まず、ステップS1では、本走行支援処理に必要なパラメータの初期設定が行われる。
次に、ステップS2では、画像取得機能により、カメラ10により撮像された自車両の進行方向前方の画像データが取得される。
ステップS3では、エッジ抽出機能により、ステップS2で取得された画像データについて、エッジが抽出される。本実施形態では、Sobelオペレータを用いて、y軸方向に連続するエッジ成分およびx軸方向に連続するエッジ成分が抽出される。
次に、ステップS4では、移動情報算出機能により、エッジの速度情報が算出される。なお、ステップS4では、ステップS3で抽出されたy軸方向に連続するエッジ成分を用いて、x軸方向に移動するエッジの移動情報が、ステップS3で抽出されたx軸方向に連続するエッジ成分を用いて、y軸方向に移動するエッジの移動情報が算出される。
ステップS5では、移動情報算出機能により、算出されたエッジの移動速度および移動方向に基づいて、図5に示すように、x軸方向に移動したエッジに対応する画素が横速度情報を有する画素として検出され、また図6に示すように、y軸方向に移動したエッジに対応する画素が縦速度情報を有する画素として検出される。
次に、ステップS6では、最下点位置検出機能により、最下点位置が検出される。すなわち、画像データを複数の短冊状の領域に分割し、各領域において、ステップS5で算出された横速度情報を有する複数の画素が連続してなる画素列を検出する。そして、画素列を構成する各画素のうち、y軸方向において最も下側に位置する画素の位置を最下点位置として検出する。例えば、図7に示す場面例において、BP1−1〜BP12−2が最下点位置として算出される。検出された最下点位置は、制御装置20のRAMに記憶される。
ステップS7では、境界線検出機能により、カメラ座標系のxy平面上において抽出された最下点位置の位置座標を、車両座標系のZX平面上の点として3次元の位置座標に変換する。例えば、図7に示す最下点位置BP1−1〜BP12−2は、図8に示す3次元座標値RB1−1〜RB12−2に変換される。
ステップS8では、ステップS7で変換された3次元座標が、同じX軸領域であり、複数のZ軸領域に存在する境界線領域が存在するか判断される。境界線領域が存在する場合にはステップS9に進み、一方、境界線領域が存在しない場合には、ステップS13へ進む。
ステップS9では、境界線領域に存在する最下点位置を直線近似により結び、検出した直線を境界線として検出する。例えば、図8に示す3次元座標値RB1−1〜RB12−2から、図9に示す境界線L1、L2、L3、L4、L5、L6、L7が検出される。
次に、ステップS10では、全ての境界線領域について、ステップS9の境界線検出処理が行われたか判断される。全ての境界線領域について境界線検出処理が行われた場合には、ステップS11に進み、一方、全ての境界線領域について境界線検出処理が行われていない場合には、ステップS9へ戻り、境界線検出処理が行われていない境界線領域について、境界線が検出される。
ステップS11では、境界線検出機能により、検出された境界線が、レーンマークに基づくものであるか、あるいは走路と構造物との走路境界線に基づくものであるか判定される。例えば、図9および図10に示す場面例においては、自車両の走行する走路の中心位置よりも左側の領域において、走路の中心位置から1番目に近い境界線L2と2番目に近い境界線L3はレーンマークLL1として検出され、一方、走路の中心位置から3番目に近い境界線L1は、構造物と走路との境界を示す走路境界線LB1として検出される。また、自車両が走行する走路の中心位置よりも右側の領域において、走路の中心位置から1番目に近い境界線L4と2番目に近い境界線L5はレーンマークRL1、および走路の中心位置から3番目に近い境界線L6と4番目に近い境界線L7はレーンマークRL2として検出される。
次にステップS12では、ステップS11で全ての境界線について、境界線がレーンマークであるか走路境界線であるかの判断がされたか判定される。全ての境界線について、レーンマークであるか走路境界線であるかの判断がされた場合は、図20のステップS14に進む。一方、全ての境界線について、レーンマークであるか走路境界線であるかの判断がされていない場合は、判断がされていない境界線について、ステップS11の処理が行われる。
ステップS8で、境界線を検出することができない場合は、ステップS13に進む。ステップS13では、画像データ内に境界線はないものと判断され、図20のステップS19へ進む。
次に、図20に示す走行支援処理について説明する。
まず、ステップS14では、交差空間検出処理により、ステップS6で検出された最下点位置に基づいて、自車両の進行方向と交差する空間である交差空間が検出される。図21および図22は、ステップS14の交差空間検出処理を示すフローチャートである。以下において、図21および図22を参照して、交差空間検出処理について説明する。
まず、ステップS1401において、交差空間を検出するための処理領域が設定される。具体的には、自車両の走行する走路の中心位置から見て、ステップS11で検出されたレーンマーク(複数のレーンマークが検出されている場合には、走路中央位置から最も外側に位置するレーンマーク)よりも外側の領域が処理領域として設定される。例えば、図10に示す場面例では、自車両の左側の領域については、ステップS11で検出したレーンマークLL1よりも左側の領域が処理領域として設定され、また自車両の右側の領域については、ステップS11で検出された自車両右側の2つのレーンマークRL1、RL2のうち、自車両から遠い位置にあるレーンマークRL2よりも右側の領域が処理領域として設定される。
次にステップS1402では、ステップS1401で設定された処理領域中において、横速度情報を有する画素が、最下点位置からy軸方向に沿って連続した第2画素列と、縦速度情報を有する画素が、x軸方向に沿って連続した第1画素列とが検出される。例えば、図11に示す場面例では、第1画素列HL1と第1画素列HL2が検出される。また、図12に場面例では、最下点位置BP1から横速度情報を有する複数の画素が連続した第2画素列VL1が検出され、同様に、最下点位置BP2から横速度情報を有する複数の画素が連続した第2画素列VL2が検出される。
ステップS1403では、第1画素列および第2画素列を検出できたか判断される。第1画素列または第2画素列を検出できない場合には、ステップS1409に進み、交差空間は存在しないものと判断して、ステップS14の交差空間検出処理を終了する。一方、第1画素列および第2画素列を検出できた場合は、ステップS1404へ進む。
ステップS1404では、x軸方向に沿って連続する第1画素列の長さ、およびy軸方向に沿って連続する第2画素列の長さが算出される。
続くステップS1405では、ステップS1404で求めた第1画素列が、誤検出されたエッジ成分に基づくノイズであるか判断するため、第1画素列の長さが所定値TW0、例えば車両座標系で0.3m以上であるか判断される。ここで、カメラ10により撮像された構造物や構造物以外の背景により、1つの画像データ内に複数の第1画素列が検出される場合がある。そのため、ステップS1405では、1つの画像データ内に複数の第1画素列が存在する場合には、それぞれの第1画素列の長さが所定値TWO以上であるか判断される。
そして、長さが所定値TW0以上となる第1画素列がある場合は、ステップS1406に進み、一方、長さが所定値TW0以上となる第1画素列がない場合には、検出された第1画素列は誤検出されたエッジ成分に基づくノイズであると判断され、ステップS1409に進み、画像データ内に交差空間はないものと判断し、ステップS14の交差空間検出処理を終了する。
ステップS1406では、第2画素列が誤検出されたエッジ成分に基づくノイズであるかを判断するため、第2画素列の長さが所定値TH0、例えば、車両座標系で0.15m以上であるか判断される。なお、ステップS1406においても、ステップS1405と同様に、1つの画像データ内に複数の第2画素列が存在する場合には、それぞれの第2画素列の長さについて所定値THO以上であるか判断される。
そして、長さが所定値TH0以上となる第2画素列がある場合は、ステップS1407に進み、一方、長さが所定値TH0以上となる第2画素列がない場合には、検出された第2画素列は誤検出されたエッジ成分に基づくノイズであると判断され、ステップS1409に進み、画像データ内に交差空間はないものと判断し、ステップS14の交差空間検出処理を終了する。
次に、ステップS1407では、互いに交わる第1画素列および第2画素列を2辺とし、第1画素列と第2画素列との交点を1の角とする矩形状の領域を対象領域として設定する。例えば、図13に示すように、第1画素列HL1と第2画素列VL1とを2辺とし、第1画素列HL1と第2画素列VL1との交点Pを1つの角とする対象領域1と、同様に、第1画素列HL1と第2画素列VL1とを2辺とし、第1画素列HL1と第2画素列VL1との交点Pを1つの角とする対象領域2とが設定される。
ステップS1408では、ステップS1407において、対象領域が設定されたか判断される。対象領域が設定された場合は、ステップS1410に進む。一方、対象領域が1つも設定されなかった場合は、ステップS1409に進み、画像データ内に交差空間はないものと判断し、ステップS14の交差空間検出処理を終了する。
次に、ステップS1410では、ステップS1407で設定された対象領域に対応する画素のうち、縦速度情報または横速度情報を有する画素の画素数nが検出される。
そして、ステップS1411では、対象領域に対応する画素のうち、ステップS1410で検出された縦速度情報または横速度情報を有する画素の割合が、所定の割合以下であるか判断される。本実施形態では、縦速度情報または横速度情報を有する画素の画素数nが、画素数n≦(対象領域の高さh×対象領域の幅w)×所定割合の関係となるか判断することで、対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が所定割合以下となるか判断する。対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が所定割合以下となる場合は、ステップS1412に進み、検出した対象領域は交差空間に対応するものであると判断される。一方、対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が所定の割合よりも大きい場合には、対象領域は壁などの構造物に対応するものと判断され、ステップS1424へ進む。
ステップS1413以降では、交差空間に対応する対象領域の幅wに基づいて、交差空間の幅Wが求められ(ステップS1413〜ステップS1417)、また交差空間に対応する対象領域に接する第2画素列の長さに基づいて、交差空間の高さHが求められる(ステップS1418〜ステップS1422)。なお、本実施形態では、交差空間の幅Wは、『大』、『中』、『小』の3つのパラメータで決定され、交差空間の高さHは、『高』、『中』、『低』の3つのパラメータで決定される。また、本実施形態では、図16に示すように、交差空間に対応する対象領域に接する第2画素列が複数ある場合は、進行方向遠方の第2画素列の長さに基づいて、交差空間の高さを決定する。
まず、ステップS1413では、対象領域の幅wが、所定値TW1、例えば車両座標系で1m以上であるか判断される。対象領域の幅wが、所定値TW1未満の場合はステップS1414に進み、一方、対象領域の幅wが、所定値TW1以上の場合にはステップS1415へ進む。
ステップS1414では、対象領域の幅wが、所定値TW1未満であると判定されているため、交差空間の幅Wが『小』に設定される。ステップS1414で、交差空間の幅Wを『小』に設定した後は、ステップS1418に進む。
一方、ステップS1413で、対象領域の幅wが、所定値TW1以上と判定された場合にはステップS1415に進み、対象領域の幅wが、所定値TW2、例えば車両座標系で3m以上であるか判断される。対象領域の幅wが所定値TW2未満の場合には、ステップS1416に進み、一方、対象領域の幅wが所定値TW2以上の場合にはステップS1417へ進む。
ステップS1416では、対象領域の幅wが、所定値TW1以上であり、かつ所定値TW2未満であると判定されているため、交差空間の幅Wが『中』に設定される。ステップS1416で、交差空間の幅Wが『中』に設定された後は、ステップS1418に進む。
一方、ステップS1415で、対象領域の幅wが、所定値TW2以上と判定された場合には、ステップS1417に進み、交差空間の幅Wが『大』に設定される。ステップS1417で、交差空間の幅Wが『大』に設定された後は、ステップS1418に進む。
次に、ステップS1418〜ステップS1422では、対象領域に接する第2画素列の長さに基づいて、交差空間の幅Hが『高』、『中』、『低』の幅パラメータで求められる。
まず、ステップS1418では、対象領域に接する第2画素列の長さが、所定値TH1、例えば車両座標系で0.5m以上であるか判断される。対象領域に接する第2画素列の長さが所定値TH1未満の場合は次のステップS1419に進み、一方、対象領域に接する第2画素列の長さが所定値TH1以上の場合にはステップS1420へ進む。
ステップS1419では、対象領域に接する第2画素列の長さが所定値TH1未満であると判定されているため、交差空間の高さHが『低』に設定される。ステップS1419で、交差空間の高さHが『低』に設定された後は、ステップS1423に進む。
一方、ステップS1418で、対象領域に接する第2画素列の長さが所定値TH1以上と判断された場合は、ステップS1420に進み、対象領域に接する第2画素列の長さが所定値TH2、例えば車両座標系で1.5m以上であるか判断される。対象領域に接する第2画素列の長さが所定値TH2未満の場合には、ステップS1421に進み、一方、対象領域に接する第2画素列の長さが所定値TH2以上の場合にはステップS1422へ進む。
ステップS1421では、対象領域に接する第2画素列の長さが所定値TH1以上であり、かつ所定値TH2未満であると判定されているため、交差空間の高さHが『中』に設定される。ステップS1421で、交差空間の高さHが『中』に設定された後は、ステップS1423に進む。
一方、ステップS1420で、対象領域に接する第2画素列の長さが所定値TH2以上と判断された場合には、ステップS1422に進み、交差空間の高さHが『高』に設定される。ステップS1422で、交差空間の高さHが『高』に設定された後は、ステップS1423に進む。
ステップS1423では、対象領域に対応する全ての交差空間について幅Wおよび高さHが設定されたか判断される。全ての交差空間について幅Wおよび高さHが設定された場合は、ステップS14の交差空間処理を終了する。一方、全ての交差空間について幅Wおよび高さHが設定されていない場合は、ステップS1410に戻り、幅Wおよび高さHが設定されていない交差空間について、幅Wおよび高さHが設定される。
なお、ステップS1411で、対象領域に対応する画素のうち縦速度情報または横速度情報を有する画素の割合が所定割合よりも大きい場合には、ステップS1424に進む。ステップS1424では、第1画素列および第2画素列で構成される対象領域は、交差空間に対応するものではないと判断され、ステップS1423に進む。
続いて、図20に示すステップS15では、交差空間が検出されたか判断される。交差空間が検出されている場合は、ステップS16に進み、一方、交差空間が存在しないと判断された場合には、ステップS18に進む。
ステップS16では、飛び出し可能性算出機能により、自車両が走行する走路に、物体が飛び出す可能性が算出される。以下において、図23を参照して、飛び出し可能性算出処理について説明する。図23は、飛び出し可能性算出処理を示すフローチャートである。
まず、ステップS1601では、ステップS14の交差空間検出処理で検出された交差空間の幅Wおよび高さHが取得される。
次にステップS1602では、取得された交差空間の幅Wおよび高さHを用いて自車両が走行する走路に、物体が飛び出す可能性Pが算出される。本実施形態では、以下に説明するように、交差空間の幅Wと交差空間の高さHとをポイント化し、ポイント化した交差空間の幅Wと交差空間の高さHとに基づいて、飛び出し可能性Pを算出する。
例えば、ステップS14の交差空間検出処理では、交差空間の幅Wには『大』、『中』、『小』のいずれかが設定されている。交差空間の幅が広いほど、自動車などの高速に移動する物体が走路に飛び出す可能性が高いものと想定される。そこで、本実施形態では、交差空間の幅Wが『大』であれば3ポイント、交差空間の幅Wが『中』であれば2ポイント、また交差空間の幅Wが『小』であれば1ポイントと、飛び出し可能性に応じて、交差空間の幅Wをポイント化する。
また同様に、ステップS14の交差空間検出処理において、交差空間の高さHには『高』、『中』、『低』のいずれかが設定されている。交差空間の高さは、交差空間に隣接する構造物の高さと推定され、交差空間の高さが低いほど、交差空間と隣接する構造物を越えて、物体が飛び出してくる可能性が高いと想定される。そこで、本実施形態では、交差空間の高さHが『高』であれば1ポイント、交差空間の高さHが『中』であれば2ポイント、交差空間の高さHが『低』であれば3ポイントと、飛び出し可能性に応じて、交差空間の高さHをポイント化する。
そして、ポイント化した交差空間の幅Wと交差空間の高さHとに基づいて、飛び出し可能性Pを算出する。例えば、飛び出し可能性P=交差空間の高さHのポイント×交差空間の幅Wのポイントとして算出することができる。交差空間の幅Wが『大』であり、交差空間の高さHが『低』の場合、幅Wは3ポイントであり、高さHも3ポイントとなるため、飛び出し可能性Pは9ポイントとして算出される。一方、交差空間の幅Wが『小』であり、交差空間の高さHが『高』の場合、幅Wは1ポイントであり、高さHも1ポイントとなるため、飛び出し可能性Pは1ポイントとして算出される。なお、飛び出し可能性Pを算出する際に、交差空間の幅Wまたは交差空間の高さHのポイントに重み付けをしてもよい。
次にステップS1603では、車両コントローラ30から車両情報が取得される。本実施形態では、例えば、車速、ヘッドライトの点灯信号、またはワイパーの作動信号が取得される。
そして、ステップS1604では、取得された車速が所定値TV0、例えば、40Km/h以上であるか判断される。車速が所定値TVO以上であれば、ステップS1605に進み、一方、車速が所定値TV0未満であればステップS1606へ進む。
ステップS1605では、ステップS1604により車速が所定値TVO以上であると判断されているため、ステップS1602で算出された飛び出し可能性Pを1段階上げる補正を行う。なお、飛び出し可能性を上げる方法として、ステップS1602で算出された飛び出し可能性に所定のポイント数を追加してもよいし、またステップS1602で算出された飛び出し可能性に所定のポイント数を乗じてもよい。
次に、ステップS1606では、ステップS1603で取得されたヘッドライトの点灯信号に基づいて、ヘッドライトが点灯しているか、それともヘッドライトが消灯しているか判断される。ヘッドライトが点灯している場合には、ステップS1607に進み、ヘッドライトが消灯している場合にはステップS1608に進む。
ステップS1607では、ステップS1606によりヘッドライトが点灯していると判断されているため、自車両の周囲が暗い状態であると判断し、ステップS1602で算出された飛び出し可能性に対して、飛び出し可能性を1段階上げる補正を行う。なお、飛び出し可能性を上げる方法は、ステップS1605と同様に行えばよい。
そして、ステップS1608では、ステップS1603で取得されたワイパーの作動信号に基づいて、ワイパーが動作しているか否かが判断される。ワイパーが動作している場合には、ステップS1609に進み、一方、ワイパーが動作していない場合には、ステップS16の飛び出し可能性算出処理を終了する。
次に、ステップS1609では、ステップS1608でワイパーが動作していると判断されているため、自車両の走行環境が雨などであると判定し、ステップS1602で算出された飛び出し可能性に対して、飛び出し可能性を1段階上げる補正を行う。なお、飛び出し可能性を上げる方法は、ステップS1605と同様に行えばよい。
ステップS1609が終了した後は、ステップS16の飛び出し可能性算出処理を終了する。
次に、ステップS17では、検出された全ての交差空間について、ステップS16の飛び出し可能性算出処理が行われたか判断される。全ての交差空間に対して、飛び出し可能性算出処理が行われた場合にはステップS18に進み、一方、全ての交差空間について、飛び出し可能性算出処理が行われていない場合にはステップS16に戻り、飛び出し可能性が算出されていない交差空間について、ステップS16の飛び出し可能性算出処理が行われる。
ステップS18では、属性情報付加機能により、検出された境界線に、レーンマークの種類や、飛び出し可能性などの属性情報が付加される。例えば、車両が走行する走路と構造物との境界線である走路境界線には、飛び出し可能性に応じた位置情報が付加される。これにより、図17および図18に示すように、ディスプレイ50の画面上では、交差空間の位置において、走路境界線が車両走路側の位置になるよう表示され、ユーザに物体が飛び出す可能性のある交差空間の位置を伝達することができる。なお、ステップS18は、ステップS16の飛び出し可能性算出処理の直後に行ってもよい。
続くステップS19では、出力機能により、飛び出し可能性または属性情報に基づいて、例えば、車両コントローラ30を制御するための制御信号、スピーカ40から警告を発信するための警告信号、および飛び出し可能性が高い領域をディスプレイ50の画面上に表示するための画像信号が生成される。そして、生成された信号は、車両コントローラ30、スピーカ40、およびディスプレイ50へと出力される。
これにより、車両コントローラ30は、飛び出し可能性に応じて、図示しないステアリング、アクセル、およびブレーキなどの各種装置の制御を行い、またスピーカ40は、飛び出し可能性に応じて、歩行者や車などの飛び出し警報を音声で発信し、またディスプレイ50は、図17または図18に示すように、歩行者や車などの飛び出す可能性が高い領域の位置を、ディスプレイ50に備える画面上に表示することができる。
ステップS20では、イグニッションがOFFであるか判断される。イグニッションがOFFであれば、この走行支援処理を終了する。一方、イグニッションがONの場合は、ステップS2に戻り、再度、この走行支援処理が行われる。
以上のように、本実施形態においては、自車両が走行する走路の外側領域に存在する構造物から抽出されたエッジ成分に基づいて、自車両の走行方向の空間と交差する空間である交差空間を検出し、検出された交差空間に基づいて、車両や人などが走路に飛び出す可能性を算出する。このように、構造物の特徴点に基づいて飛び出し可能性を算出することで、路面の状態、構造物および構造物の背景の明度、昼間か夜間かの違いに影響されることなく、物体が走路に飛び出す可能性を適切に算出することができる。その結果、算出した飛び出し可能性に基づいて、ユーザの運転を適切に支援することができる。例えば、飛び出し可能性が高い場合には、車両のブレーキ、アクセル、およびステアリングを制御し、またはスピーカ40による警告を発することで、ユーザの運転を支援することができる。
加えて、本実施形態では、図17および図18に示すように、飛び出し可能性が高い位置をディスプレイ50に表示することで、ユーザに、物体が走路に飛び出しに対する注意を促すことができる。特に、飛び出し可能性が高いほど、交差空間における走路境界線の位置情報を、自車両が走行する走路側の位置になるように補正することで、物体の飛び出しに対する注意をユーザに促すことができることに加えて、例えば、補正した走路境界線を用いて、物体の飛び出しに対する安全な回避経路を決定することができるため、ユーザの運転を適切に支援することができる。
また、本実施形態では、対象領域に基づいて交差空間を検出する際に、対象領域に対応する画素のうち、縦速度情報または横速度情報を有する画素の割合が、所定の割合以下であるか判断することで、対象領域が壁などの構造物に対応するものか、あるいは交差空間に対応するものかを判断する。これにより、交差空間の誤検出を抑制し、飛び出し可能性の算出精度を向上することができる。
さらに、本実施形態では、交差空間の幅Wが広いほど、飛び出し可能性を高く算出する。交差空間の幅Wが広い場合には、交差空間の幅Wが狭い場合と比べて、自動車など高速で移動する物体が走路に飛び出す可能性が高くなると想定される。そこで、交差空間の幅Wに応じて飛び出し可能性を算出することで、交差空間から自動車などが飛び出す場面に応じた運転支援を適切に行うことができる。
加えて、本実施形態では、交差空間の高さHが低いほど、飛び出し可能性を高く算出する。交差空間の高さHは交差空間に隣接する構造物の高さであり、交差空間の高さHが低いほど、歩行者や動物が、交差空間に隣接する構造物を乗り越えて走路に飛び出す可能性が高くなると想定される。そこで、交差空間の高さHに応じて飛び出し可能性を高く算出することで、歩行者や動物が構造物を乗り越えて走路に飛び出す場面に応じた運転支援を適切に行うことができる。
また、本実施形態では、交差空間を検出する際に、自車両が走行する走路の中心位置から見て、走路上のレーンマークよりも外側の領域を、交差空間を検出するための処理領域として設定する。交差空間は、自車両の進行方向の空間と交差する空間であり、自車両が走行する走路の外側領域において検出される。そのため、レーンマークよりも外側の領域を、交差空間を検出するための処理領域として設定することで、交差空間の検出処理を効率的に行うことができる。
さらに、本実施形態では、物体の走路への飛び出しに対する対処が困難となる状況において、飛び出し可能性を高く算出することで、物体の飛び出しに応じた運転支援を適切に行う。例えば、自車両の車速が速い場合に、飛び出し可能性を高く算出する。これにより、自車両が高速で走行している場合でも、物体の飛び出しに対する運転支援を適切に行うことができる。また、ヘッドライトが点灯している場合に、飛び出し可能性を高く算出することで、夜間の運転中においても、物体の飛び出しに対する運転支援を適切に行うことができる。加えて、ワイパーが動作している場合に飛び出し可能性を高く算出することで、走行環境が雨や雪などの状況においても、物体の飛び出しに対する運転支援を適切に行うことができる。
以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
なお、上述した実施形態のカメラ10は本発明の撮像手段に、エッジ抽出機能は本発明の抽出手段に、最下点位置検出機能は本発明の最下点位置検出手段に、境界線検出機能は本発明の境界線検出手段に、交差空間検出機能は本発明の交差空間検出手段に、飛び出し可能性算出機能は本発明の算出手段に、属性情報付加機能は本発明の付加手段にそれぞれ相当する。