走行支援装置および走行支援方法
【課題】検出対象を回避する必要があるかを適切に判断可能な走行支援装置を提供する。
【解決手段】車両前方を撮像する撮像手段20a,20bと、撮像手段20a,20bにより撮像された画像の情報に基づいて、画像内に存在する特徴点を抽出する特徴点抽出手段と、特徴点の移動方向および移動速度を含む移動情報を算出する移動情報算出手段と、移動情報に基づいて、検出対象を含む対象領域を抽出する対象領域抽出手段と、撮像手段20a,20bから見た検出対象の移動速度を、相対角速度として算出する相対角速度算出手段と、相対角速度に基づいて、検出対象を回避する必要があるかを判断する判断手段と、を有することを特徴とする走行支援装置。
【解決手段】車両前方を撮像する撮像手段20a,20bと、撮像手段20a,20bにより撮像された画像の情報に基づいて、画像内に存在する特徴点を抽出する特徴点抽出手段と、特徴点の移動方向および移動速度を含む移動情報を算出する移動情報算出手段と、移動情報に基づいて、検出対象を含む対象領域を抽出する対象領域抽出手段と、撮像手段20a,20bから見た検出対象の移動速度を、相対角速度として算出する相対角速度算出手段と、相対角速度に基づいて、検出対象を回避する必要があるかを判断する判断手段と、を有することを特徴とする走行支援装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、走行支援装置および走行支援方法に関するものである。
【背景技術】
【0002】
自車両の前方を撮像した画像から、自車両に接近する検出対象を抽出し、抽出した検出対象の接近方向および接近速度を算出し、算出した検出対象の接近方向および接近速度と、自車両の車軸の回転数から算出した車速と、自車両のハンドルの切り角から算出した舵角とから、検出対象を回避する必要があるかを判断する技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−101592号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、タイヤのスリップなどにより、車軸の回転数から算出した車速と実際の車速との間に誤差が生じる場合や、タイヤが轍に嵌るなどにより、ハンドルの切り角から算出した走行方向と実際の走行方向との間に誤差が生じる場合があり、検出対象を回避する必要があるかを適切に判断できない場合があった。
【0005】
本発明が解決しようとする課題は、検出対象を回避する必要があるかを適切に判断可能な走行支援装置を提供することである。
【課題を解決するための手段】
【0006】
本発明は、車両前方を撮像した画像の情報に基づいて、撮像手段から見た検出対象の移動速度を相対角速度として算出し、算出した相対角速度に基づいて、検出対象を回避する必要があるかを判断することで、上記課題を解決する。
【発明の効果】
【0007】
本発明によれば、車両前方を撮像した画像の情報に基づいて、車両前方に存在する検出対象の相対角速度を算出することができ、これにより、車軸の回転数から算出した車速やハンドルの切れ角から求めた走行方向に誤差が生じた場合でも、検出対象を回避する必要があるかを適切に判断することができる。
【図面の簡単な説明】
【0008】
【図1】本実施形態に係る走行支援装置を搭載する車両の構成図である。
【図2】カメラの配置例を示す図である。
【図3】左側カメラにより撮像された撮像画像の一例を示す図である。
【図4】エッジを抽出し、抽出したエッジの移動情報を算出する手法例を説明するための図である。
【図5】移動画像の一例を示す図である。
【図6】グループ化された画素群の一例を示す図である。
【図7】最上点位置および最下点位置の一例を示す図である。
【図8】最上点位置および最下点位置を、ZX平面(実空間座標系)上の位置座標に変換した一例を示す図である。
【図9】左側カメラから見た検出対象の相対角速度を算出する手法例を説明するための図である。
【図10】左側カメラから見た検出対象の相対角速度を算出する手法例を説明するための図である。
【図11】検出対象を回避する必要があるかを判断するための手法例を説明するための図である。
【図12】検出対象を回避する必要があるかを判断するための手法例を説明するための図である。
【図13】検出対象を回避する必要があるかを判断するための手法例を説明するための図である。
【図14】相対角速度に基づいて、検出対象を回避する方向を判断する手法例を説明するための図である。
【図15】本実施形態に係る走行支援処理を示すフローチャートである。
【図16】左側カメラで撮像された撮像画像の他の例を示す図である。
【図17】移動画像の他の例を示す図である。
【図18】最上点位置および最下点位置の他の例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて説明する。
【0010】
本実施形態においては、車両前方に存在する検出対象を回避する必要があるか判断可能な走行支援装置を搭載する車両を例示して説明する。ここで、図1は、本実施形態に係る走行支援装置を搭載する車両の構成を示すブロック図である。図1に示すように、車両1は、コントローラ10と、左右一対のドアミラーケース30a,30b内にそれぞれ設置された左右一対のカメラ20a,20bと、舵角アクチュエータ40とを有している。以下において、車両1が備える各構成について説明する。
【0011】
図1に示すように、左側カメラ20aは、車両1の左側前方に設けられたドアミラーケース30a内に設置され、右側カメラ20bは、車両1の右側前方に設けられたドアミラーケース30b内に設置されている。ここで、図2は、カメラ20a,20bの配置例を示す図である。図2に示すように、左側カメラ20aおよび右側カメラ20bは、車両1の前方周辺を撮像するようにそれぞれ設置されている。これら左右一対のカメラ20a,20bは、車両1前方を同じタイミング、かつ、同じ時間間隔で、連続して撮像するように設定されている。撮像された画像の画像データは、各カメラ20a,20bからコントローラ10へ送信される。なお、各カメラ20a,20bは、その撮像素子上に、複数の画素を有し、輝度画像を撮像できるものが好適である。このような撮像素子としては、例えば、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)などが挙げられる。
【0012】
図3は、左側カメラ20aにより撮像された画像の一例を示す図である。図3に示すように、左側カメラ20aにより撮像された撮像画像は、画像左上の頂点を原点Oとするxy座標(カメラ座標系)によって表され、原点Oから右方向へ延在する軸をx軸とし、原点から下へ延在する軸をy軸とする。また、図示していないが、右側カメラ20bで撮像された撮像画像も、左側カメラ20aと同様に表される。図3に示すように、撮像画像には、立体物である外壁などの構造物や他の車両(駐車車両)、平面物であるレーンマークなどが含まれる。
【0013】
左右一対のドアミラーケース30a,30bは、左右一対のカメラ20a,20bをそれぞれ収容し、さらに、ドアミラーケース30a,30bの図示しない撮影窓にガラスまたは透明樹脂のシールドを設けることにより、カメラ20a,20bを水滴や汚れから保護する。
【0014】
コントローラ10は、左右一対のカメラ20a,20bから取得した画像データに基づいて、車両1前方に存在する検出対象を含む対象領域を抽出し、検出対象を回避する必要があるか否かを判断する。また、コントローラ10は、検出対象を回避する必要があると判断した場合には、検出対象を回避する方向をも判断する。
【0015】
コントローラ10は、図1に示すように、検出対象の回避する必要があるか否かを判断するためのプログラムを格納したROM(Read Only Memory)11と、このROM11に格納されたプログラムを実行するCPU(Central Processing Unit)12と、アクセス可能な記憶装置として、または撮像された撮像画像などを一時的に記憶する装置として機能するRAM(Random Access Memory)13とから構成される。
【0016】
コントローラ10のROM11に格納されたプログラムを、CPU12で実施することにより、コントローラ10は、取得機能、特徴点抽出機能、移動情報算出機能、対象領域抽出機能、相対角速度算出機能、判断機能の各機能を実現する。以下において、コントローラ10が備える各機能について詳細に説明する。
【0017】
取得機能は、左右一対のカメラ20a,20bで撮像された画像の画像データを、各カメラ20a,20bから取得する。ここで、上述したように、左右一対のカメラ20a,20bは、一定の時間間隔で、連続して車両1前方を撮像しており、取得機能は、各カメラ20a,20bで時系列に沿って撮像された撮像画像の画像データを、各カメラ20a,20bから連続して取得する。
【0018】
特徴点抽出機能は、取得機能により取得された撮像画像の画像データを、所定の閾値を用いて2値化することにより、画像内に存在するエッジを抽出する。図4は、エッジを抽出し、抽出したエッジの移動情報を算出する手法例を説明するための図である。以下において、図4を参照して、特徴点抽出機能によりエッジを抽出する手法例を説明する。
【0019】
まず、特徴点抽出機能は、取得機能により取得された撮像画像の画像データに対して2値化処理を行う。ここで、2値化処理とは、エッジが検出された位置の画素を1とし、エッジの検出されなかった位置の画素を0とする処理である。図4(A)は、画像データを2値化して抽出したエッジの一例を示す。次に、特徴点抽出機能は、図4(B)に示すように、生成された2値化画像に対して細線化処理を行い、抽出されたエッジのエッジ幅を所定画素幅になるまで縮小する。本実施形態では、抽出されたエッジのエッジ幅(エッジに対応するx軸方向に連続する画素の数。例えば、図4(A)に示すエッジのエッジ幅は、3画素となる。)を、図4(B)に示すように、エッジ強度が最も大きい1画素とすることで、1画素分のエッジ幅に細線化する。このように、エッジのエッジ幅を所定の画素幅になるまで細線化することによって、エッジの中心となる中心位置が設定される。なお、本実施形態では、エッジのエッジ幅を1画素に細線化する例を示したが、細線化する画素数は特に限定されない。
【0020】
次に、特徴点抽出機能は、細線化されたエッジのエッジ幅が一定の幅となるよう、エッジをx軸方向に膨張させる。本実施形態では、図4(C)に示すように、エッジの中心位置x0からエッジの移動方向(x軸の正方向)に1画素膨張させるとともに、エッジの中心位置x0からエッジの移動方向と反対方向(x軸の負方向)に1画素膨張させて、エッジ幅を3画素に膨張させる。これにより、抽出されたエッジを正規化し、各エッジの幅が均一なエッジ画像を得ることができる。
【0021】
このように、特徴点抽出機能は、各カメラ20a,20bで撮像された撮像画像の画像データに基づいて、正規化されたエッジを抽出する。
【0022】
次に、移動情報算出機能について説明する。移動情報算出機能は、撮像画像上においてエッジが移動した方向(移動方向)と、エッジが移動した速度(移動速度)とを含む移動情報を算出する。具体的には、移動情報算出機能は、カウントアップ処理を行うことで、移動情報を算出する。ここで、カウントアップ処理とは、エッジが検出された画素の位置に対応するメモリアドレスの値をカウントアップし、エッジが検出されなかった画素の位置に対応するメモリアドレスの値を初期化する処理である。以下、図4(C)〜(F)に基づいて、移動情報算出機能によるカウントアップ処理について説明する。
【0023】
図4(C)に示す例では、あるフレーム(ある時刻において撮像された撮像画像)において、位置x0に中心が位置するエッジが検出されている。そして、その中心位置からエッジの移動方向に1画素の位置x0+1に膨張され、同様に、中心位置からエッジの移動方向と反対方向に1画素の位置x0−1に膨張されている。このような場合、カウントアップ処理では、エッジが検出された位置「x0−1」、「x0」、「x0+1」に対応するメモリアドレスのカウント値を「+1」カウントアップし、一方、エッジが検出されなかった位置に対応するメモリアドレスのカウント値をリセットする。
【0024】
例えば、図4(D)では、時刻tにおいて、位置「x0−1」、「x0」、「x0+1」にエッジが検出されている。このため、それぞれの位置に対応するメモリアドレスのカウント値が各「1」カウントアップされる。その結果、位置「x0+1」のカウント値は「1」、位置「x0」のカウント値は「3」、位置「x0−1」のカウント値は「5」である。
【0025】
次に、図4(E)に示すように、時刻t+1になってもエッジが移動していないので、位置「x0−1」、「x0」、「x0+1」の各位置でエッジが検出される。このため、位置「x0−1」、「x0」、「x0+1」のカウント値をさらに1ずつカウントアップする。その結果、位置「x0+1」のカウント値は2、位置「x0」のカウント値は4、位置「x0−1」のカウント値は6となる。
【0026】
さらに、図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」になる。
【0027】
このように、移動情報算出機能は、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップし、エッジの検出されなかった位置に対応するメモリアドレスのカウント値をリセットする。
【0028】
ここで、例えばフレームレートを上げることなどにより、連続するフレーム間において、エッジが同じ位置で複数回検出される場合がある。図4に示す例では、連続する時刻tのフレームと時刻t+1のフレームにおいて、エッジは位置x0において2回検出される。したがって、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップしていくと、そのカウント値はその位置においてエッジが検出されている時間(フレーム数、滞留時間)と相関することになる。
【0029】
そこで、移動情報算出機能は、各画素においてカウントしたカウント値の傾きを算出し、この傾きに基づいて、エッジの移動速度および移動方向を算出する。
【0030】
例えば、図4(E)の場合では、位置「x0−1」、「x0」、「x0+1」のカウント値がそれぞれ「6」、「4」、「2」である。位置「x0−1」のカウント値「6」から「x0+1」のカウント値「2」を引くと、カウント値の傾きHは、H=(6−2)/2=2と算出される。
【0031】
これは、カウント値の傾きH={(エッジが位置x0−1に移動してから現在までの時間)−(エッジが位置x0+1に移動した後の時間)}/(2画素)を意味しており、これにより、エッジが位置x0のある1画素を通過するのに要する時間(フレーム数)を算出することができる。
【0032】
このように、カウント値の傾きHは、エッジが1画素移動するために何フレームを要したかに相当し、このカウント値の傾きHに基づいて、エッジの移動速度1/Hを算出できる。例えば、図4(E)では1画素移動するのに2フレームを要することになるので、エッジの移動速度は1/2(画素/フレーム)と算出される。
【0033】
続いて、移動情報算出機能は、カウント値の大小に基づいて、エッジの移動方向を判断する。エッジの無い位置にエッジが移動し、新たにエッジが検出された位置のカウント値は1となるから、各位置のカウント値の中では最も小さな値となる。したがって、エッジが移動する方向のカウント値は小さく、エッジが移動する方向と反対方向のカウント値は大きくなる。この傾向を利用して、エッジの移動方向を判断することができる。
【0034】
例えば、図4に示す例では、時刻t+1における図4(E)と、時刻t+2における図4(F)とを比較すると、時刻t+2における図4(F)において、x0+2に新たにエッジが検出されて、カウント値が「1」となる。そのため、移動情報算出機能は、エッジの移動方向を、x軸の正方向として算出することができる。
【0035】
以上のように、移動情報算出機能は、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップすることにより、カウントアップされたカウント値の傾きに基づいてエッジの移動速度および移動方向を算出することができる。
【0036】
さらに、移動情報算出機能は、撮像画像内に存在するエッジの移動情報を所定の階級値に分類し、移動情報の特徴を表現する移動画像を生成する。図5に、図3に示す撮像画像に基づいて生成された移動画像の一例を示す。なお、図5に示すように、本実施形態の移動画像では、移動情報が検出されたエッジに対応する画素を丸印で表し、移動速度が速いエッジに対応する画素ほど点を大きい丸印で表すことにより、エッジの移動速度を表現する。また、右方向へ移動するエッジに対応する画素を黒丸で表し、左方向へ移動するエッジに対応する画素を白丸で表すことにより、エッジの移動方向を表現する。図5に示す例では、画像右側にある外壁およびレーンマークからは画像の右側へ向かう速度が検出されており、画像左側にある外壁およびレーンマークからは画像の左側へ向かう速度が検出される。また、画像内の移駐車車両においては、駐車車両の左側端部からは画像の左側へ向かう速度が検出されており、駐車車両の右側端部からは画像の右側へ向かう速度が検出されている。
【0037】
次に、対象領域抽出機能について説明する。対象領域抽出機能は、移動情報算出機能により算出された移動情報に基づいて、検出対象が存在する対象領域を抽出する。ここで、検出対象とは、車両1前方に存在する物体または物体の一部であり、車両1が回避する必要がある否かの判断対象となる。検出対象としては、例えば、車両1の前方に存在する他の車両、歩行者、自転車などの立体物またはその一部が抽出される。
【0038】
まず、対象領域抽出機能は、y軸方向に沿って連続し、かつ、移動情報が共通する画素をグループ化する。図6は、画素をグループ化する手法例を説明するための図である。対象領域抽出機能は、例えば、図6に示すように、図5に示す移動画像上に短冊状の複数の領域1〜11を設定し、画像をこの複数の短冊領域1〜11で分割する。次に、各短冊領域1〜11において、y軸方向に沿って連続し、かつ、移動情報が共通する画素をグループ化する。具体的には、短冊領域1〜11のそれぞれを下部から上部に向かってy軸方向に探索し、移動情報を有するエッジに対応する画素が見つかった場合、さらに、この画素にy軸方向に沿って連続し、移動情報を有するエッジに対応する別の画素を探索する。そして、探索された別の画素に対応するエッジと最初に探索した画素に対応するエッジとの移動方向の差が所定の閾値以内であり、かつ、探索された別の画素に対応するエッジと最初に探索した画素に対応するエッジとの移動速度の差が所定の閾値以内であれば、最初に探索した画素と、最初に探索した画素にy軸方向に沿って連続する別の画素とは、同じエッジに対応する画素であり、移動情報が共通する画素であると判断する。さらに、この別の画素とy軸方向に沿って連続し、移動情報を有するさらに別の画素についても、移動方向の差が所定の閾値以内であり、かつ移動速度の差が所定の閾値以内であるかを判断する。このように、対象領域抽出機能は、y軸方向に沿って連続し、移動情報が共通する画素の探索を繰り返すことで、車両1に対して同じ速度で移動する同一の物体から抽出されたエッジに対応する画素を、画素群としてグループ化する。y軸方向に沿って連続し、移動情報が共通する画素をグループ化することで、例えば、図6に示す例では、駐車車両の右側端部に対応する画素群OB1と、駐車車両の左側端部に対応する画素群OB2と、自車両の右側領域に存在する外壁に対応する画素群OB3と、レーンマークに対応する画素群OB4とがグループ化される。なお、図6においては、画素群OB1〜OB4についてのみ記載し、それ以外の画素群については記載を省略している。
【0039】
次に、対象領域抽出機能は、グループ化された画素群のうち、最も上端に位置する画素の位置を最上点位置とし、最も下端に位置する画素の位置を最下点位置として検出する。ここで、図7は、図3に示す撮像画像に基づいて抽出された最上点位置および最下点位置の一例を示す図面である。なお、図7においては、移動情報を有する画素のうち、最上点位置に位置する画素を斜線でハッチングした丸で表しており、また最下点位置に位置する画素を黒丸で表しており、それら以外の画素を破線の白丸で表している。また、図7において、各短冊領域1〜11において検出された最上点位置はTPi−jのように、最下点位置はBPi−jのように表している。ここで、iは、最上点位置および最下点位置が検出された短冊領域の番号を示しており、jは1つの短冊領域において検出された最上点位置または最下点位置の数を下側から数えた番号を示している。例えば、短冊領域4の下から3つ目に検出された最上点位置は、最上点位置TP4−3と表示され、短冊領域7の下から1つ目に検出された最下点位置は、最下点位置BP7−1と表示される。
【0040】
図7に示す例では、対象領域抽出機能は、例えば、画素群OB1において、最上点位置TP7−1と最下点位置BP7−1とを、画素群OB2において、最上点位置TP4−3と最下点位置TB4−3とを、画素群OB3において、最上点位置TP11−3と最下点位置BP11−3とを、画素群OB4において、最上点位置TP3−1と最下点位置BP3−1とを検出する。なお、図7においては、グループ化された画素群OB1〜OB4の最上点位置であるTP7−1,TP4−3,TP11−3,TP3−1と、最下点位置であるBP7−1,BP4−3,BP11−3,BP3−1とについてのみ番号を記載し、それ以外の画素群の最上点位置および最下点位置については番号の記載を省略している。
【0041】
続いて、対象領域抽出機能は、xy平面(カメラ座標系)上において抽出された最上点位置および最下点位置を、ZX平面(実空間座標系)上の位置座標に変換する。なお、Z軸方向は、車両1の進行方向(ユーザの正面方向)であり、X軸方向は、路面と平行し、車両1の進行方向と直交する方向である。
【0042】
図8は、図7に示す最上点位置および最下点位置を、ZX平面(実空間座標系)上の位置座標に変換した一例を示す図である。対象領域抽出機能は、最上点位置および最下点位置をZX平面(実空間座標系)上の位置座標に変換する際に、図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つの領域を設定することで、8×5の2次元領域を設定する。
【0043】
なお、設定された8×5の2次元領域は、それぞれの領域を識別するための名称が付与され、各領域は列(Z軸領域)iと行(X軸領域)jとを用いて設定領域ijのように表される。例えば、図8の上図に示すように、1列目の1行目に存在する領域は設定領域11と表し、1列目の2行目に存在する領域は設定領域12と表し、2列目の1行目に存在する領域は設定領域21のように表す。
【0044】
対象領域抽出機能は、xy平面(カメラ座標系)上の各点の座標を(x,y)とし、カメラの路面からの高さをCh(m)、カメラの俯角をTr(rad)、画像の縦サイズをIh、画像の横サイズをIw、高さ方向の1画素あたりの角度分解能をPYr(rad)、横方向の1画素あたりの角度分解能をPXr(rad)とした場合に、xy平面(カメラ座標系)上の最上点位置および最下点位置を、次式に従って、ZX平面(実空間座標系)の座標(Z,X)に変換する。
【0045】
(式1)Z=(Ch)/(TAN(Tr+(y−Ih/2)×PYr))
(式2)X=x×TAN((Z-Iw/2)×PXr)
ここで、最上点位置をZX平面(実空間座標系)上の座標に変換した点を、最上端変換点とし、最下点位置をZX平面(実空間座標系)上の座標に変換した点を最下端変換点とする。例えば、図8に示す例では、最上点位置TP3−1を最上端変換点RT3−1に変換し、最下点位置BP3−1を最下端変換点RB3−1に変換する。なお、路面上に存在しない最上点位置および最下点位置は、ZX平面領域外に投影されることとなり、図8の上図に示すZX平面(実空間座標系)の位置座標に変換されない。例えば、最上点位置TP4−3や最上点位置TP7−1などは、ZX平面領域外に投影され、ZX平面のどの領域にも属しない。
【0046】
続いて、対象領域抽出機能は、検出対象を含む対象領域を抽出する。ここで、検出対象を抽出する手法は、特に限定されないが、本実施形態では、以下の手法により検出対象を含む対象領域を抽出する。
【0047】
例えば、対象領域抽出機能は、車両1前方を撮像した撮像画像内に存在する立体物の全部または一部を検出対象として抽出する。ここで、上述したように、路面上に存在しない最上点位置および最下点位置は、ZX平面の領域外に投影されるため、図8の上図に示すZX平面(実空間座標系)上の設定領域に属することはない。そこで、対象領域抽出機能は、グループ化された画素群から抽出した最上点位置および最下点位置を、ZX平面(実空間座標系)の位置座標に変換した際に、最上端変換点がZX平面領域外に投影され、かつ、最下端変換点がZX平面(実空間座標系)のいずれかの設定領域に属する画素群に対応する領域を、立体物または立体物の一部である検出対象を含む対象領域として抽出する。例えば、図8に示す例では、画素群OB1の最上点位置TP7−1は、ZX平面領域外に投影され、一方、画素群OB1の最下点位置BP7−1は、最下端変換点RB7−1に変換され、ZX平面(実空間座標)の設定領域42に属する。これにより、対象領域抽出機能は、画素群OB1に撮像される領域を、検出対象を含む対象領域として抽出する。
【0048】
なお、対象領域抽出機能は、対象領域が複数抽出された場合であって、抽出された対象領域に含まれる検出対象に対応するエッジの移動情報が共通する場合は、これらの対象領域を一の検出対象を含む一の対象領域として抽出する。
【0049】
このように、対象領域抽出機能は、移動情報算出機能により算出された移動情報に基づいて、検出対象が存在する対象領域を抽出することができる。
【0050】
次に、相対角速度算出機能について説明する。相対角速度算出機能は、各カメラ20a,20bから見た検出対象の移動速度を、相対角速度として算出する。相対角速度算出機能は、相対角速度を算出するために、まず、左側カメラ20aで撮像された画像に基づいて抽出された検出対象と、右側カメラ20bで撮像された画像に基づいて抽出された検出対象との同定を行う。検出対象を同定する手法は特に限定されないが、例えば、左側カメラ20aで撮像された画像に基づいて抽出された検出対象の対象領域の位置座標と、右側カメラ20bで撮像された画像に基づいて抽出された検出対象の対象領域との位置座標が一致する場合に、一致した対象領域は同じ対象領域であると同定し、この対象領域に含まれる検出対象は同じであると同定する。
【0051】
また、相対角速度算出機能は、同定された検出対象の移動速度を、相対角速度として算出する。なお、相対角速度算出機能は、左側カメラ20aから見た検出対象の移動速度を左側相対角速度として算出し、右側カメラ20bから見た検出対象の相対角速度を右側相対角速度として算出する。
【0052】
図9および図10は、左側カメラ20aに対する検出対象の相対角速度(左側相対角速度)を算出する手法例を説明するための図である。図9に示す検出対象OB1は、図7および図8に示す画素群OB1に対応する対象領域に含まれる検出対象を示しており、図9において、検出対象OB1の位置と左側カメラ20aの位置とを、左側カメラ20aを基準とした相対座標系で表している。図9に示すように、検出対象OB1は、左側カメラ20aの光軸(左側カメラ20aの撮像素子に入射する光の軸)よりも右側の領域を移動しており、時刻t1において位置P1で、時刻t1よりも所定時間経過後の時刻t2において位置P1’で検出される。この場合、相対角速度算出機能は、時刻t1から時刻t2までの時間において、位置P1から位置P1’まで移動した検出対象OB1の移動速度を、左側カメラ20aと位置P1とを通る直線A1と、左側カメラ20aと位置P1’とを通る直線A1’とがなす角である左側相対角速度dθL1として算出する。
【0053】
さらに、相対角速度算出機能は、算出した相対角速度の向きを算出する。例えば、図9に示す例では、時刻t2における検出対象OB1の位置P1’を通る直線A1’は、時刻t1における検出対象OB1の位置P1を通る直線A1よりも自車両1の中心軸(自車両1の進行方向の中心軸)方向にあるため、左側相対角速度dθL1の向きを、自車両1の中心軸方向(時計回りの方向)として算出する。
【0054】
また、図10の検出対象OB2は、図7および図8に示す画素群OB2に対応する対象領域に含まれる検出対象を示しており、図10において、検出対象OB2の位置と左側カメラ20aの位置とを、左側カメラ20aを基準とした相対座標系で表している。図10に示すように、検出対象OB2は、左側カメラ20aの光軸よりも左側の領域を移動し、時刻t1において位置P2で、時刻t2において位置P2’で検出される。この場合、相対角速度算出機能は、時刻t1から時刻t2までの時間において、位置P2から位置P2’まで移動した検出対象OB2の移動速度を、左側カメラ20aと位置P2とを通る直線A2と、左側カメラ20aと位置P2’とを通る直線A2’とがなす角である左側相対角速度dθL2として算出する。さらに、図10に示す例では、時刻t2における検出対象OB2の位置P2’を通る直線A2’は、時刻t1における検出対象OB1の位置P2を通る直線A2よりも自車両1の中心軸と反対する方向にあるため、左側相対角速度dθL2の向きを、自車両1の中心軸方向と反対する方向(反時計回りの方向)として算出する。
【0055】
同様に、相対角速度算出機能は、右側カメラ20bから見た検出対象の相対角速度(右側相対角速度)も算出する。例えば、図9に示す場面例において、検出対象OB1を、右側カメラ20bから見た場合、検出対象OB1は、右側カメラ20bの光軸(右側カメラ20bの撮像素子に入射する光の軸)よりも左側の領域を移動しているため、右側カメラ20bから見た検出対象OB1の移動速度は、自車両1の中心軸(反時計回り方向)に向かう右側相対角速度として算出される。また、図示していないが、図7および図8に示す画素群OB3に対応する対象領域に含まれる検出対象は、右側カメラ20bの光軸よりも右側の領域を移動しており、この場合、右側カメラ20bから見た検出対象の移動速度は、車両1の中心軸と反対する方向(時計回り方向)に向かう右側相対角速度として算出される。
【0056】
次に、判断機能について説明する。判断機能は、相対角速度算出機能により算出された相対角速度の向きに基づいて、車両1前方に存在する検出対象を回避する必要があるか否かを判断する。具体的には、左側相対角速度または右側相対角速度のいずれかが0の場合、または、左側相対角速度の向きおよび右側相対角速度の向きがともに、自車両1の中心軸方向である場合に、検出対象を回避する必要があると判断する。
【0057】
図11〜図13は、検出対象を回避する必要があるかを判断する手法例を説明するための図である。図11は、図9に示す場面例において、検出対象OB1を左側カメラ20aから見た左側相対角速度dθL1に加えて、検出対象OB1を右側カメラ20bから見た右側相対角速度dθR1を表した図である。図11に示すように、検出対象OB1が、左側カメラ20aの光軸よりも右側の領域であり、かつ右側カメラ20bの光軸よりも左側の領域を移動する場合、左側相対角速度dθL1の向きは、自車両1の中心軸方向(時計回りの方向)となり、かつ、右側相対角速度dθR1の向きも、自車両1の中心軸方向(反時計回りの方向)となる関係にある。そこで、判断機能は、図11に示すように、左側相対角速度dθL1の向きが自車両1の中心軸方向(時計回りの方向)であり、かつ、右側相対角速度dθR2の向きも自車両1の中心軸方向(反時計回りの方向)である場合には、検出対象OB1は、自車両1に向かって接近しており、検出対象OB1を回避する必要があると判断する。
【0058】
一方、図12は、図10に示す場面例において、左側相対角速度dθL2に加えて、右側相対角速度dθR2を表した図である。図12に示すように、検出対象OB2が、左側カメラ20aの光軸よりも左側の領域を移動している場合、左側相対角速度dθL2の向きは自車両1の中心軸と反対する方向(反時計回りの方向)となり、右側相対角速度dθR2の向きは自車両1の中心軸方向(反時計回りの方向)となる関係にある。そこで、判断機能は、図12に示すように、左側相対角速度dθL2の向きが車両1の中心軸と反対する方向(反時計回りの方向)であり、かつ、右側相対角速度dθR2の向きが車両1の中心軸方向(反時計回りの方向)である場合には、検出対象OB2は自車両1の左側側方を通過するものと予測し、検出対象OB2を回避する必要はないと判断する。
【0059】
また、図13に示す検出対象OB3は、図7および図8に示す画素群OB3に対応する対象領域に含まれる検出対象を示しており、図13において、検出対象OB3に対する右側相対角速度dθL3および左側相対角速度dθR3を表している。図13に示すように、検出対象OB3が、右側カメラ20bの光軸よりも右側の領域を移動している場合、左側相対角速度dθL3の向きは、自車両1の中心軸方向(時計回りの方向)となり、右側相対角速度dθR3の向きは、自車両1の中心軸と反対する方向(時計回りの方向)となる関係にある。そこで、判断機能は、図13に示すように、左側相対角速度dθL3の向きが、自車両1の中心軸方向(時計回りの方向)であり、かつ、右側相対角速度dθR3の向きが、自車両1の中心軸と反対する方向(時計回りの方向)である場合には、検出対象OB3は車両1の右側側方を通過するものと予測し、検出対象OB3を回避する必要はないと判断する。
【0060】
なお、検出対象が左側カメラ20aの光軸上を移動し、左側相対角速度が0の場合にも、検出対象を回避する必要があり、また同様に、検出対象が右側カメラ20bの光軸上を移動し、右側相対角速度が0の場合にも、検出対象を回避する必要がある。そのため、判断機能は、左側側相対角速度が0の場合、または右側相対角速度が0の場合にも、検出対象を回避する必要があると判断する。
【0061】
さらに、判断機能は、検出対象を回避する必要があると判断した場合に、検出対象を回避する方向を判断する。具体的には、左側相対角速度と右側相対角速度との大きさを比較し、左側相対角速度が右側相対角速度よりも大きい場合には、検出対象を回避する方向を左方向と判断し、反対に、右側相対角速度が左側相対角速度よりも大きい場合には、検出対象を回避する方向を右方向と判断する。なお、左側相対角速度と右側相対角速度とが等しい場合は、検出対象を回避する方向を、左右いずれの方向としてもよい。
【0062】
図14は、相対角速度に基づいて、検出対象を回避する方向を判断する手法例を説明するための図である。図14では、図11に示す場面例において、検出対象OB1の位置から左側カメラ20aの光軸までの最短距離D1と、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2とを表している。図14に示すように、検出対象OB1が、自車両1の中心軸よりも左側の領域を移動する場合、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2は、検出対象OB1の位置から左側カメラ20aの光軸までの最短距離D1よりも大きくなり、右側相対角速度dθR3は左側相対角速度dθL3よりも大きくなる。また、図示していないが、反対に、検出対象OB1が、自車両1の中心軸よりも右側の領域を移動する場合、検出対象OB1の位置から左側カメラ20bの光軸までの最短距離D1は、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2よりも大きくなり、左側相対角速度dθL3は右側相対角速度dθR3よりも大きくなる。このように、対象物の位置から各カメラ20a,20bの光軸までの最短距離と、相対角速度の大きさとは、一定の対応関係を有する。すなわち、検出対象の位置から各カメラ20a,20bの光軸までの最短距離が大きくなるほど、相対角速度が大きくなる関係にある。そこで、判断機能は、左側相対角速度と右側相対角速度とを比較し、図14に示す例のように、右側相対角速度dθR3が左側相対角速度dθL3よりも大きい場合には、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2は、検出対象OB1の位置から左側カメラ20aの光軸までの最短距離D1よりも大きく、検出対象OB1は自車両1の中心軸よりも左側の領域に存在すると判断する。反対に、左側相対角速度dθL3が右側相対角速度dθR3よりも大きい場合には、検出対象OB1の位置から左側カメラ20aの光軸までの最短距離D1は、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2よりも大きくなり、検出対象OB1が自車両1の中心軸よりも右側の領域に存在すると判断する。
【0063】
そして、判断機能は、図14に示すように、検出対象OB1が自車両1の中心軸よりも左側の領域に存在すると判断した場合には、検出対象OB1を回避する方向を右方向と判断することで、仮に、検出対象OB1を左方向に回避する場合と比べて、少ない動作(操舵角)で迅速に検出対象OB1を回避することができる。また同様に、判断機能は、検出対象が自車両1の中心軸よりも右側の領域に存在すると判断した場合には、検出対象を回避する方向を左方向として判断することで、仮に、検出対象を右方向に回避する場合と比べて、少ない動作(操舵角)で迅速に検出対象を回避することができる。
【0064】
このように、判断機能は、左側相対角速度の向きおよび右側相対角速度の向きに基づいて、検出対象を回避する必要があるか否かを判断し、検出対象を回避する必要があると判断した場合には、左側相対角速度と右側相対角速とに基づいて、検出対象を回避する方向を判断する。また、判断機能は、検出対象を回避する必要があると判断した場合に、左側相対角速度および右側相対角速度のうち値が小さい相対角速度の向きが自車両1の中心軸と反対する方向となるように、値の小さい方の相対角速度に基づいて制御値を算出し、算出した制御値を、検出対象を回避する方向などの情報とともに、舵角アクチュエータ40に送信する。
【0065】
舵角アクチュエータ40は、コントローラ10から送信された情報に基づいて、検出対象を回避するように車両1を制御する。例えば、コントローラ10から送信された制御値に応じた角度だけ、検出対象を回避する方向に、車両1の舵角制御を行う。例えば、図14に示すように、判断機能が、検出対象OB1が車両1の中心軸よりも左側の領域に存在し、検出対象を回避する方向を右方向と判断した場合には、舵角アクチュエータ40は、右方向に、左側相対角速度に基づいて求めた制御値に応じた角度だけ舵角制御をすることで、検出対象OB1を回避するように車両1を制御する。
【0066】
また、コントローラ10は、舵角アクチュエータ40以外の構成に対して、検出対象を回避する必要がある旨の情報、相対角速度、および検出対象を回避する方向などの情報を送信し、検出対象を回避するための処理を行わせてもよい。例えば、図示しないスピーカやディスプレイを介して、検出対象を回避する必要がある旨、検出対象を回避する方向などを、ユーザに伝達するような構成としてもよい。
【0067】
次に、図15を参照して、本実施形態に係る走行支援処理について説明する。図15は、本実施形態に係る走行支援処理を示すフローチャートである。以下においては、図3に示すように、自車両1が走行する車線側の路肩で駐車している他の車両(駐車車両)を回避するように、車両1を制御する場面例を例示して説明する。
【0068】
ステップS101では、左右一対のカメラ20a,20bで、車両1前方を、一定時間間隔で、同時に、連続して撮像する。撮像された撮像画像の画像データは、カメラ20a,20bからコントローラ10へ送信される。例えば、左側カメラ20aでは、図3に示すように、駐車車両を含む撮像画像が撮像される。
【0069】
ステップS102では、コントローラ10の取得機能により、ステップS101において、左右一対のカメラ20a,20bにより撮像された撮像画像の画像データが取得される。なお、上述したように、左右一対のカメラ20a,20bは、一定時間間隔で、連続して、車両1前方を撮像しており、取得機能は、時系列に沿って撮像された撮像画像の画像データを取得する。
【0070】
ステップS103では、コントローラ10の特徴点抽出機能により、ステップS102で取得された画像データが、所定の閾値を用いて2値化され、図4(A)に示すように、画像内に存在するエッジが抽出される。
【0071】
ステップS104では、特徴点抽出機能により、ステップS103で抽出されたエッジのエッジ幅を、エッジ強度が最も大きい1画素とすることで、図4(B)に示すように、エッジのエッジ幅が細線化される。
【0072】
ステップS105では、特徴点抽出機能により、ステップS104で細線化されたエッジがx軸方向に膨張され、図4(C)に示すように、エッジのエッジ幅が一定の幅に正規化される。特徴点抽出機能により得られたエッジ画像は、コントローラ10のRAM13に記憶される。
【0073】
ステップS106では、コントローラ10の移動情報算出機能により、撮像画像上においてエッジが移動した方向(移動方向)と、エッジが移動した速度(移動速度)とを含む移動情報が算出される。例えば、図4(C)〜図4(F)に示すように、抽出されたエッジが、何フレームの間、同一画素に存在しているかをカウントアップすることで、エッジの移動速度およびエッジの移動方向が算出される。そして、算出されたエッジの移動情報に基づいて、エッジの移動情報の特徴を表した移動画像が生成される。図3に示す場面例においては、図3に示す撮像画像から抽出したエッジの移動情報に基づいて、図5に示すような移動画像が生成される。
【0074】
ステップS107では、コントローラ10の対象領域抽出機能により、y軸方向に沿って連続し、かつ、移動情報が共通する画素がグループ化され、グループ化された画素群のうち、最も上端に位置する画素の位置が最上点位置として、最も下端に位置する画素の位置が最下点位置として検出される。
【0075】
図3に示す場面例において、駐車車両の右側端部から抽出されたエッジに対応する画素は、図6に示すように、y軸方向に沿って連続し、かつ、右方向に同程度の速度で移動している。そこで、対象領域抽出機能は、これらの画素をグループ化して画素群OB1とし、図7に示すように、画素群OB1の最も上端に位置する画素の位置である最上点位置TP7−1と、最も下端に位置する画素の位置である最下点位置BP7−1とを検出する。同様に、対象領域抽出機能は、駐車車両の左側端部から抽出されたエッジに対応する画素群OB2の最上点位置TP4−3および最下点位置BP4−3と、外壁から抽出されたエッジに対応する画素群OB3の最上点位置TP11−3および最下点位置BP11−3と、レーンマークから抽出されたエッジに対応する画素群OB4の最上点位置TP3−1および最下点位置BP3−1となどを検出する。
【0076】
ステップS108では、対象領域抽出機能により、xy平面(カメラ座標系)上の最上点位置および最下点位置が、ZX平面(実空間座標系)上の最上端変換点および最下端変換点に変換される。そして、最上点位置および最下点位置を、ZX平面(実空間座標系)の位置座標に変換した際に、最上端変換点がZX平面領域外に投影され、かつ、最下端変換点がZX平面のいずれかの領域に属することとなる画素群に対応する領域を、検出対象を含む対象領域として全て抽出する。
【0077】
図3に示す場面例では、図8に示すように、駐車車両の右側端部から抽出されたエッジに対応する画素群OB1の最下点位置BP7−1は、最下端変換点RB7−1に変換され、ZX平面の領域42に属する一方、画素群OB1の最上点位置TP7−1は、ZX平面領域外に投影される。そのため、画素群OB1に対応する領域は、検出対象OB1を含む対象領域として抽出される。同様に、駐車車両の左側端部から抽出されたエッジに対応する画素群OB2の最下点位置BP4−3は、最下端変換点RB4−3に変換され、ZX平面の領域32に属する一方、画素群OB2の最上点位置TP4−3は、ZX平面領域外に投影されるため、画素群OB2に対応する領域は、検出対象OB2を含む対象領域として抽出される。さらに、外壁から抽出されたエッジに対応する画素群OB3の最下点位置BP11−3は、最下端変換点RB11−3に変換され、ZX平面の領域85に属する一方、画素群OB3の最上点位置TP11−3は、ZX平面領域外に投影されるため、画素群OB3に対応する領域は、検出対象OB3を含む対象領域として抽出される。一方、レーンマークから抽出されたエッジに対応する画素群OB4の最下点位置BP3−1は、最下端変換点RB3−1に変換され、ZX平面の領域35に属し、画素群OB4の最上点位置TP3−1も、最上端変換点RT3−1に変換され、ZX平面の領域34に属する。そのため、画素群OB4に対応する領域は、平面物であると判断され、検出対象を含む対象領域として抽出されない。
【0078】
なお、ステップS101からステップS108までの処理は、左側カメラ20aで撮像された撮像画像の画像データおよび左側カメラ20bで撮像された撮像画像の画像データごとに行われるため、ステップS108では、左側カメラ20aで撮像された撮像画像に基づく対象領域と、左側カメラ20bで撮像された撮像画像に基づく対象領域とが抽出される。
【0079】
次に、ステップS109では、ステップS108で対象領域が抽出されたか判断される。対象領域が抽出されない場合(ステップS109=NO)は、回避する必要があるかの判断の対象となる検出対象が、車両1の前方には存在しないものと判断され、この走行支援処理を終了する。一方、対象領域が抽出された場合(ステップS109=YES)は、ステップS110に進む。
【0080】
次に、ステップS110では、コントローラ10の相対角速度算出機能により、同じタイミングで撮像された左側カメラ20aの撮像画像に基づく対象領域と右側カメラ20bの撮像画像に基づく対象領域とが比較され、同一の位置座標で抽出された対象領域に含まれる検出対象が、同一の検出対象であると同定される。
【0081】
ステップS111では、コントローラ10の相対角速度算出機能により、ステップS110で同定された検出対象の相対角速度が算出される。図3に示す場面例では、図7および図8に示す画素群OB1に対応する対象領域に含まれる検出対象OB1について、図11に示すように、自車両1の中心軸に向かう左側相対角速度dθL1と、自車両1の中心軸に向かう右側相対角速度dθR1とが算出される。また、図7および図8に示す画素群OB2に対応する対象領域に含まれる検出対象OB2について、図12に示すように、自車両1の中心軸と反対方向に向かう左側相対角速度dθL2と、自車両1の中心軸に向かう右側相対角速度dθR2とが算出される。さらに、図7および図8に示す画素群OB3に対応する対象領域に含まれる検出対象OB3について、図13に示すように、自車両1の中心軸に向かう左側相対角速度dθL3と、自車両1の中心軸と反対方向に向かう右側相対角速度dθR3とが算出される。
【0082】
ステップS112では、コントローラ10の判断機能により、ステップS111で算出された右側相対角速度の向きおよび左側相対角速度の向きに基づいて、検出対象を回避する必要があるか否か判断される。具体的には、左側相対角速度または右側相対角速度のいずれかが0の場合、または、左側相対角速度の向きおよび右側相対角速度の向きがともに、自車両1の中心軸方向である場合に、検出対象を回避する必要があると判断される。
【0083】
例えば、図3に示す場面例では、検出対象OB1については、図11に示すように、自車両1の中心軸に向かう左側相対角速度dθL1と、自車両1の中心軸に向かう右側相対角速度dθR1とが算出されるため、検出対象OB1を回避する必要があると判断される。一方、検出対象OB2については、図12に示すように、自車両1の中心軸と反対方向に向かう左側相対角速度dθL2と、自車両1の中心軸に向かう右側相対角速度dθR2とが算出されるため、検出対象OB2を回避する必要はないと判断される。さらに、検出対象OB3については、図13に示すように、自車両1の中心軸に向かう左側相対角速度dθL3と、自車両1の中心軸と反対方向に向かう右側相対角速度dθR3とが算出されるため、検出対象OB3を回避する必要はないと判断される。
【0084】
ステップS113では、ステップS112の判断の結果、回避する必要がある検出対象が1つでも存在するか判断される。回避する必要がある検出対象がある場合は、ステップS114に進み、一方、回避する必要のある検出対象が存在しない場合には、走行支援処理を終了する。図3に示す場面例では、検出対象OB1を回避する必要があると判断されているため、ステップS114に進む。
【0085】
ステップS114では、判断機能により、左側相対角速度および右側相対角速度に基づいて、検出対象を回避する方向が判断される。例えば、判断機能は、左側相対角速度と右相側対角速度とを比較し、左側相対角速度が右側相対角速度以上の場合には、検出対象を回避する方向を左方向と判断し、反対に、右側相対角速度が左側相対角速度よりも大きい場合には、検出対象を回避する方向を右方向と判断する。そして、判断機能は、左側相対角速度および右側相対角速度のうち値が小さい相対角速度の向きが自車両1の中心軸と反対する方向に向くように、値の小さい方の相対角速度に基づいて制御値を算出し、算出した制御値を、検出対象を回避する方向の情報とともに、舵角アクチュエータ40に送信する。
【0086】
例えば、図3に示す場面例では、検出対象OB1について、左側相対角速度と右側相対角速度とが比較される。検出対象OB1については、図14に示すように、右側相対角速度dθR1が左側相対角速度dθL1よりも大きいため、検出対象OB1を回避する方向が右方向と判断される。そして、左側相対角速度dθL1の向きが自車両1の中心軸と反対する方向となるように、左側相対角速度に基づいて制御値が算出され、算出された制御値と、検出対象を回避する方向である右方向との情報が、舵角アクチュエータ40に送信される。
【0087】
ステップS115では、舵角アクチュエータ40により、コントローラ10から送信される制御値、および検出対象を回避する方向などの情報が取得される。そして、舵角アクチュエータ40は、例えば、コントローラ10から送信された制御値に応じた角度だけ、検出対象を回避する方向に、車両1の舵角制御を行う。例えば、図3に示す場面例においては、舵角アクチュエータ40は、検出対象OB1を回避する方向として判断された右方向に、左側相対角速度に基づいて算出された制御値に応じた角度だけ、車両1を舵角制御することで、車両1に検出対象OB1を回避させる。
【0088】
また、ステップS115では、コントローラ10は、舵角アクチュエータ40の他に、例えば、図示しないスピーカやディスプレイなどに、検出対象を回避する必要がある旨または検出対象を回避する方向などの情報を送信し、検出対象を回避する必要があること、または検出対象を回避するための方向を、ユーザに伝達する。
【0089】
ステップS115を終了した後は、本実施形態に係る走行支援処理を終了する。
【0090】
続いて、図16を参照して、自車両1が片道1車線の道路を走行しており、かつ、対向車線上を他の車両が走行してきた場面における走行支援処理について説明する。図16は、左側カメラ20aで撮像された撮像画像の他の例を示す図である。
【0091】
まず、左右一対のカメラ20a,20bで車両1の前方が撮像される(ステップS101)。これにより、図16に示すように、対向車線上に対向車両が存在する撮像画像の画像データが取得される(ステップS102)。そして、この画像データに基づいて、図4(A)に示すように、画像内のエッジが抽出され(ステップS103)、図4(B),(C)に示すように、抽出されたエッジについて細線化処理、膨張処理が行われる(ステップS104,ステップS105)。その後、図4(C)〜(F)に示すように、エッジの移動情報が算出され、移動画像が生成される(ステップS106)。図17は、図16に示す場面例において、抽出されたエッジの移動情報に基づいて作成された移動画像である。図17に示すように、対向車両から抽出されたエッジは、右方向への移動情報を有する。
【0092】
次に、y軸方向に沿って連続し、移動情報が共通する画素がグループ化され、グループ化された画素群の最上点位置および最下点位置が抽出される(ステップS107)。図18は、図16に示す場面例において、抽出された最上点位置および最下点位置の一例を示す図である。なお、図18においては、画素群OB5以外の画素群については、記載を省略している。図16に示す場面例では、図18に示すように、対向車両の右側端部(撮像画面上では対向車線の左側の端部となる)から抽出されたエッジに対応する画素が、y軸方向に沿って連続し、かつ、右方向に同程度の速度で移動するため、画素群OB5としてグループ化される。そして、画素群OB5から最上点位置TP9−3と最下点位置BP9−3とが抽出される。
【0093】
続いて、xy座標(カメラ座標系)上の最上点位置TP9−3および最下点位置BP9−3が、ZX座標(実空間座標系)上の位置座標に変換され、検出対象を含む対象領域が抽出される(ステップS108)。ここで、図示していないが、画素群OB5の最下点位置BP9−3と最上点位置TP9−3とを、ZX平面(実空間座標系)に変換すると、最下点位置BP9−3から変換された最下端変換点BR9−3は、ZX平面領域に属することになる一方、最上点位置TP9−3は、ZX平面領域外に投影される。そのため、画素群OB5に対応する領域は、立体物または立体物の一部であると判断され、検出対象を含む対象領域として抽出される。
【0094】
次に、左側カメラ20aで撮像された撮像画像に基づいて抽出された検出対象と、右側カメラ20bで撮像された撮像画像に基づいて抽出された検出対象との同定が行われ(ステップS110)、同定された検出対象の移動速度が相対角速度として算出される(ステップS111)。ここで、画素群OB5に対応する対象領域の検出対象について、相対角速度算出手段は、図13に示すように、自車両1の中心軸(時計回りの方向)に向かう左側相対角速度dθL3と、自車両1の中心軸と反対する方向(時計回りの方向)に向かう右側相対角速度dθR3とを算出することになる。
【0095】
次に、右側相対角速度の向きと左側相対角速度の向きに基づいて、検出対象を回避する必要があるか判断される(ステップS112)。ここで、図16に示す場面例において、画素群OB5に対応する対象領域の検出対象については、図13に示すように、左側相対角速度の向きは自車両1の中心軸(時計回り方向)に向かっており、右側相対角速度の向きは自車両1の中心軸と反対方向(時計回り方向)に向かっているため、判断機能は、画素群OB5に対応する対象領域の検出対象を回避する必要がないと判断する。
【0096】
このように、図16に示す場面例においては、抽出された全ての検出対象について、検出対象を回避する必要はないと判断され(ステップS113=NO)、車両1の舵角制御を行わず、走行支援処理を終了する。
【0097】
以上のように、本実施形態によれば、車両1前方を撮像した画像からエッジを抽出し、抽出されたエッジの移動情報に基づいて、各カメラ20a,20bに対する検出対象の移動速度を相対角速度として算出することで、相対角速度の向きから、検出対象が自車両1に向かって接近しているのか、自車両1の側方を通過するのかを予測することができ、検出対象を回避する必要があるか否かを判断することができる。特に、本実施形態によれば、車両1前方を撮像した画像のみに基づいて、相対角速度を算出し、検出対象を回避する必要があるか否かを判断することができるため、従来のように、舵角センサや車速センサなどの構成を必要とせず、装置全体を簡略化することができ、また各センサなどからの情報を処理する必要もなく、装置全体での処理負担を軽減することができる。
【0098】
また、本実施形態では、左右一対のカメラ20a,20bを用いて、左側カメラ20aに対する検出対象の移動速度を左側相対角速度として算出し、また右側カメラ20bに対する検出対象の相対角速度を右側相対角速度として算出する。そして、左側相対角速度の向きが自車両1の中心軸(時計回り方向)に向かっており、かつ、右側相対角速度の向きが中心軸(反時計回り方向)に向かっている場合に、検出対象を回避する必要があると判断する。このように、左側相対角速度の向きと右側相対角速度の向きとに基づいて、検出対象を回避する必要があるか否かを判断することで、より適切な判断が可能となる。これに加え、本実施形態のように、左右一対のカメラ20a,20bを、車両1の左右側端に位置する左右一対のドアミラーケース30a,30b内にそれぞれ収容することで、左右一対のカメラ20a,20bで撮像された撮像画像に基づいて算出した相対角速度の向きから、検出対象を回避する必要があるか否かを適切に判断することができる。
【0099】
さらに、本実施形態では、左側相対角速度と右側相対角速度との大きさを比較し、左側相対角速度が右側相対角速度よりも大きい場合には、検出対象を回避する方向を左方向と判断し、反対に、右側相対角速度が左側相対角速度よりも大きい場合には、検出対象を回避する方向を右方向と判断する。検出対象が左側カメラ20aの光軸よりも右側の領域であり、かつ右側カメラ20bの光軸よりも左側の領域に存在する場合には、左側相対角速度と右側相対角速度とを比べることで、検出対象が、自車両1の中心軸から右側の領域に存在するか、自車両1の中心軸から左側の領域に存在するかを判断することができるため、迅速に検出対象を回避することができる方向を判断することができる。
【0100】
以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【0101】
例えば、本実施形態では、左右一対のカメラ20a,20bを備える車両1を例示して説明したが、車両1の構成はこれに限定されるものではなく、左右一対のカメラ20a,20bのいずれか一方のカメラのみを備える構成としてもよい。また、本実施形態では、左右一対のカメラ20a,20bを左右一対のドアミラーケース30a,30b内に設置しているが、これに限定されるものではなく、車両1の左右両側の任意の位置に設置してもよい。
【0102】
さらに、本実施形態では、右側相対角速度の向きおよび左側相対角速度の向きがともに車両1の中心軸に向かっている場合に、検出対象を回避する必要があると判断しているが、例えば、左右一対のカメラ20a,20bが車両1の左右側端に設置されていない場合には、左側相対角速度の向きまたは右側相対角速度の向きが、車両1の中心軸と反対する方向に向かっている場合であっても、相対角速度の大きさが所定の範囲内であれば、検出対象を回避する必要があると判断してもよい。
【0103】
なお、上述した実施形態のカメラ20a,20bは本発明の撮像手段に、コントローラ10の特徴点抽出機能は本発明の特徴点抽出手段に、コントローラ10の移動情報算出機能は本発明の移動情報算出手段に、コントローラ10の対象領域抽出機能は本発明の対象領域抽出手段に、コントローラ10の相対角速度算出機能は本発明の相対角速度算出手段に、コントローラ10の判断機能は本発明の判断手段に、舵角アクチュエータ40は本発明の制御手段にそれぞれ相当する。
【符号の説明】
【0104】
1…車両(自車両)
10…コントローラ
20a,20b…カメラ
30a,30b…ドアミラーケース
40…舵角アクチュエータ
【技術分野】
【0001】
本発明は、走行支援装置および走行支援方法に関するものである。
【背景技術】
【0002】
自車両の前方を撮像した画像から、自車両に接近する検出対象を抽出し、抽出した検出対象の接近方向および接近速度を算出し、算出した検出対象の接近方向および接近速度と、自車両の車軸の回転数から算出した車速と、自車両のハンドルの切り角から算出した舵角とから、検出対象を回避する必要があるかを判断する技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−101592号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、タイヤのスリップなどにより、車軸の回転数から算出した車速と実際の車速との間に誤差が生じる場合や、タイヤが轍に嵌るなどにより、ハンドルの切り角から算出した走行方向と実際の走行方向との間に誤差が生じる場合があり、検出対象を回避する必要があるかを適切に判断できない場合があった。
【0005】
本発明が解決しようとする課題は、検出対象を回避する必要があるかを適切に判断可能な走行支援装置を提供することである。
【課題を解決するための手段】
【0006】
本発明は、車両前方を撮像した画像の情報に基づいて、撮像手段から見た検出対象の移動速度を相対角速度として算出し、算出した相対角速度に基づいて、検出対象を回避する必要があるかを判断することで、上記課題を解決する。
【発明の効果】
【0007】
本発明によれば、車両前方を撮像した画像の情報に基づいて、車両前方に存在する検出対象の相対角速度を算出することができ、これにより、車軸の回転数から算出した車速やハンドルの切れ角から求めた走行方向に誤差が生じた場合でも、検出対象を回避する必要があるかを適切に判断することができる。
【図面の簡単な説明】
【0008】
【図1】本実施形態に係る走行支援装置を搭載する車両の構成図である。
【図2】カメラの配置例を示す図である。
【図3】左側カメラにより撮像された撮像画像の一例を示す図である。
【図4】エッジを抽出し、抽出したエッジの移動情報を算出する手法例を説明するための図である。
【図5】移動画像の一例を示す図である。
【図6】グループ化された画素群の一例を示す図である。
【図7】最上点位置および最下点位置の一例を示す図である。
【図8】最上点位置および最下点位置を、ZX平面(実空間座標系)上の位置座標に変換した一例を示す図である。
【図9】左側カメラから見た検出対象の相対角速度を算出する手法例を説明するための図である。
【図10】左側カメラから見た検出対象の相対角速度を算出する手法例を説明するための図である。
【図11】検出対象を回避する必要があるかを判断するための手法例を説明するための図である。
【図12】検出対象を回避する必要があるかを判断するための手法例を説明するための図である。
【図13】検出対象を回避する必要があるかを判断するための手法例を説明するための図である。
【図14】相対角速度に基づいて、検出対象を回避する方向を判断する手法例を説明するための図である。
【図15】本実施形態に係る走行支援処理を示すフローチャートである。
【図16】左側カメラで撮像された撮像画像の他の例を示す図である。
【図17】移動画像の他の例を示す図である。
【図18】最上点位置および最下点位置の他の例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて説明する。
【0010】
本実施形態においては、車両前方に存在する検出対象を回避する必要があるか判断可能な走行支援装置を搭載する車両を例示して説明する。ここで、図1は、本実施形態に係る走行支援装置を搭載する車両の構成を示すブロック図である。図1に示すように、車両1は、コントローラ10と、左右一対のドアミラーケース30a,30b内にそれぞれ設置された左右一対のカメラ20a,20bと、舵角アクチュエータ40とを有している。以下において、車両1が備える各構成について説明する。
【0011】
図1に示すように、左側カメラ20aは、車両1の左側前方に設けられたドアミラーケース30a内に設置され、右側カメラ20bは、車両1の右側前方に設けられたドアミラーケース30b内に設置されている。ここで、図2は、カメラ20a,20bの配置例を示す図である。図2に示すように、左側カメラ20aおよび右側カメラ20bは、車両1の前方周辺を撮像するようにそれぞれ設置されている。これら左右一対のカメラ20a,20bは、車両1前方を同じタイミング、かつ、同じ時間間隔で、連続して撮像するように設定されている。撮像された画像の画像データは、各カメラ20a,20bからコントローラ10へ送信される。なお、各カメラ20a,20bは、その撮像素子上に、複数の画素を有し、輝度画像を撮像できるものが好適である。このような撮像素子としては、例えば、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)などが挙げられる。
【0012】
図3は、左側カメラ20aにより撮像された画像の一例を示す図である。図3に示すように、左側カメラ20aにより撮像された撮像画像は、画像左上の頂点を原点Oとするxy座標(カメラ座標系)によって表され、原点Oから右方向へ延在する軸をx軸とし、原点から下へ延在する軸をy軸とする。また、図示していないが、右側カメラ20bで撮像された撮像画像も、左側カメラ20aと同様に表される。図3に示すように、撮像画像には、立体物である外壁などの構造物や他の車両(駐車車両)、平面物であるレーンマークなどが含まれる。
【0013】
左右一対のドアミラーケース30a,30bは、左右一対のカメラ20a,20bをそれぞれ収容し、さらに、ドアミラーケース30a,30bの図示しない撮影窓にガラスまたは透明樹脂のシールドを設けることにより、カメラ20a,20bを水滴や汚れから保護する。
【0014】
コントローラ10は、左右一対のカメラ20a,20bから取得した画像データに基づいて、車両1前方に存在する検出対象を含む対象領域を抽出し、検出対象を回避する必要があるか否かを判断する。また、コントローラ10は、検出対象を回避する必要があると判断した場合には、検出対象を回避する方向をも判断する。
【0015】
コントローラ10は、図1に示すように、検出対象の回避する必要があるか否かを判断するためのプログラムを格納したROM(Read Only Memory)11と、このROM11に格納されたプログラムを実行するCPU(Central Processing Unit)12と、アクセス可能な記憶装置として、または撮像された撮像画像などを一時的に記憶する装置として機能するRAM(Random Access Memory)13とから構成される。
【0016】
コントローラ10のROM11に格納されたプログラムを、CPU12で実施することにより、コントローラ10は、取得機能、特徴点抽出機能、移動情報算出機能、対象領域抽出機能、相対角速度算出機能、判断機能の各機能を実現する。以下において、コントローラ10が備える各機能について詳細に説明する。
【0017】
取得機能は、左右一対のカメラ20a,20bで撮像された画像の画像データを、各カメラ20a,20bから取得する。ここで、上述したように、左右一対のカメラ20a,20bは、一定の時間間隔で、連続して車両1前方を撮像しており、取得機能は、各カメラ20a,20bで時系列に沿って撮像された撮像画像の画像データを、各カメラ20a,20bから連続して取得する。
【0018】
特徴点抽出機能は、取得機能により取得された撮像画像の画像データを、所定の閾値を用いて2値化することにより、画像内に存在するエッジを抽出する。図4は、エッジを抽出し、抽出したエッジの移動情報を算出する手法例を説明するための図である。以下において、図4を参照して、特徴点抽出機能によりエッジを抽出する手法例を説明する。
【0019】
まず、特徴点抽出機能は、取得機能により取得された撮像画像の画像データに対して2値化処理を行う。ここで、2値化処理とは、エッジが検出された位置の画素を1とし、エッジの検出されなかった位置の画素を0とする処理である。図4(A)は、画像データを2値化して抽出したエッジの一例を示す。次に、特徴点抽出機能は、図4(B)に示すように、生成された2値化画像に対して細線化処理を行い、抽出されたエッジのエッジ幅を所定画素幅になるまで縮小する。本実施形態では、抽出されたエッジのエッジ幅(エッジに対応するx軸方向に連続する画素の数。例えば、図4(A)に示すエッジのエッジ幅は、3画素となる。)を、図4(B)に示すように、エッジ強度が最も大きい1画素とすることで、1画素分のエッジ幅に細線化する。このように、エッジのエッジ幅を所定の画素幅になるまで細線化することによって、エッジの中心となる中心位置が設定される。なお、本実施形態では、エッジのエッジ幅を1画素に細線化する例を示したが、細線化する画素数は特に限定されない。
【0020】
次に、特徴点抽出機能は、細線化されたエッジのエッジ幅が一定の幅となるよう、エッジをx軸方向に膨張させる。本実施形態では、図4(C)に示すように、エッジの中心位置x0からエッジの移動方向(x軸の正方向)に1画素膨張させるとともに、エッジの中心位置x0からエッジの移動方向と反対方向(x軸の負方向)に1画素膨張させて、エッジ幅を3画素に膨張させる。これにより、抽出されたエッジを正規化し、各エッジの幅が均一なエッジ画像を得ることができる。
【0021】
このように、特徴点抽出機能は、各カメラ20a,20bで撮像された撮像画像の画像データに基づいて、正規化されたエッジを抽出する。
【0022】
次に、移動情報算出機能について説明する。移動情報算出機能は、撮像画像上においてエッジが移動した方向(移動方向)と、エッジが移動した速度(移動速度)とを含む移動情報を算出する。具体的には、移動情報算出機能は、カウントアップ処理を行うことで、移動情報を算出する。ここで、カウントアップ処理とは、エッジが検出された画素の位置に対応するメモリアドレスの値をカウントアップし、エッジが検出されなかった画素の位置に対応するメモリアドレスの値を初期化する処理である。以下、図4(C)〜(F)に基づいて、移動情報算出機能によるカウントアップ処理について説明する。
【0023】
図4(C)に示す例では、あるフレーム(ある時刻において撮像された撮像画像)において、位置x0に中心が位置するエッジが検出されている。そして、その中心位置からエッジの移動方向に1画素の位置x0+1に膨張され、同様に、中心位置からエッジの移動方向と反対方向に1画素の位置x0−1に膨張されている。このような場合、カウントアップ処理では、エッジが検出された位置「x0−1」、「x0」、「x0+1」に対応するメモリアドレスのカウント値を「+1」カウントアップし、一方、エッジが検出されなかった位置に対応するメモリアドレスのカウント値をリセットする。
【0024】
例えば、図4(D)では、時刻tにおいて、位置「x0−1」、「x0」、「x0+1」にエッジが検出されている。このため、それぞれの位置に対応するメモリアドレスのカウント値が各「1」カウントアップされる。その結果、位置「x0+1」のカウント値は「1」、位置「x0」のカウント値は「3」、位置「x0−1」のカウント値は「5」である。
【0025】
次に、図4(E)に示すように、時刻t+1になってもエッジが移動していないので、位置「x0−1」、「x0」、「x0+1」の各位置でエッジが検出される。このため、位置「x0−1」、「x0」、「x0+1」のカウント値をさらに1ずつカウントアップする。その結果、位置「x0+1」のカウント値は2、位置「x0」のカウント値は4、位置「x0−1」のカウント値は6となる。
【0026】
さらに、図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」になる。
【0027】
このように、移動情報算出機能は、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップし、エッジの検出されなかった位置に対応するメモリアドレスのカウント値をリセットする。
【0028】
ここで、例えばフレームレートを上げることなどにより、連続するフレーム間において、エッジが同じ位置で複数回検出される場合がある。図4に示す例では、連続する時刻tのフレームと時刻t+1のフレームにおいて、エッジは位置x0において2回検出される。したがって、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップしていくと、そのカウント値はその位置においてエッジが検出されている時間(フレーム数、滞留時間)と相関することになる。
【0029】
そこで、移動情報算出機能は、各画素においてカウントしたカウント値の傾きを算出し、この傾きに基づいて、エッジの移動速度および移動方向を算出する。
【0030】
例えば、図4(E)の場合では、位置「x0−1」、「x0」、「x0+1」のカウント値がそれぞれ「6」、「4」、「2」である。位置「x0−1」のカウント値「6」から「x0+1」のカウント値「2」を引くと、カウント値の傾きHは、H=(6−2)/2=2と算出される。
【0031】
これは、カウント値の傾きH={(エッジが位置x0−1に移動してから現在までの時間)−(エッジが位置x0+1に移動した後の時間)}/(2画素)を意味しており、これにより、エッジが位置x0のある1画素を通過するのに要する時間(フレーム数)を算出することができる。
【0032】
このように、カウント値の傾きHは、エッジが1画素移動するために何フレームを要したかに相当し、このカウント値の傾きHに基づいて、エッジの移動速度1/Hを算出できる。例えば、図4(E)では1画素移動するのに2フレームを要することになるので、エッジの移動速度は1/2(画素/フレーム)と算出される。
【0033】
続いて、移動情報算出機能は、カウント値の大小に基づいて、エッジの移動方向を判断する。エッジの無い位置にエッジが移動し、新たにエッジが検出された位置のカウント値は1となるから、各位置のカウント値の中では最も小さな値となる。したがって、エッジが移動する方向のカウント値は小さく、エッジが移動する方向と反対方向のカウント値は大きくなる。この傾向を利用して、エッジの移動方向を判断することができる。
【0034】
例えば、図4に示す例では、時刻t+1における図4(E)と、時刻t+2における図4(F)とを比較すると、時刻t+2における図4(F)において、x0+2に新たにエッジが検出されて、カウント値が「1」となる。そのため、移動情報算出機能は、エッジの移動方向を、x軸の正方向として算出することができる。
【0035】
以上のように、移動情報算出機能は、エッジが検出された位置に対応するメモリアドレスのカウント値をカウントアップすることにより、カウントアップされたカウント値の傾きに基づいてエッジの移動速度および移動方向を算出することができる。
【0036】
さらに、移動情報算出機能は、撮像画像内に存在するエッジの移動情報を所定の階級値に分類し、移動情報の特徴を表現する移動画像を生成する。図5に、図3に示す撮像画像に基づいて生成された移動画像の一例を示す。なお、図5に示すように、本実施形態の移動画像では、移動情報が検出されたエッジに対応する画素を丸印で表し、移動速度が速いエッジに対応する画素ほど点を大きい丸印で表すことにより、エッジの移動速度を表現する。また、右方向へ移動するエッジに対応する画素を黒丸で表し、左方向へ移動するエッジに対応する画素を白丸で表すことにより、エッジの移動方向を表現する。図5に示す例では、画像右側にある外壁およびレーンマークからは画像の右側へ向かう速度が検出されており、画像左側にある外壁およびレーンマークからは画像の左側へ向かう速度が検出される。また、画像内の移駐車車両においては、駐車車両の左側端部からは画像の左側へ向かう速度が検出されており、駐車車両の右側端部からは画像の右側へ向かう速度が検出されている。
【0037】
次に、対象領域抽出機能について説明する。対象領域抽出機能は、移動情報算出機能により算出された移動情報に基づいて、検出対象が存在する対象領域を抽出する。ここで、検出対象とは、車両1前方に存在する物体または物体の一部であり、車両1が回避する必要がある否かの判断対象となる。検出対象としては、例えば、車両1の前方に存在する他の車両、歩行者、自転車などの立体物またはその一部が抽出される。
【0038】
まず、対象領域抽出機能は、y軸方向に沿って連続し、かつ、移動情報が共通する画素をグループ化する。図6は、画素をグループ化する手法例を説明するための図である。対象領域抽出機能は、例えば、図6に示すように、図5に示す移動画像上に短冊状の複数の領域1〜11を設定し、画像をこの複数の短冊領域1〜11で分割する。次に、各短冊領域1〜11において、y軸方向に沿って連続し、かつ、移動情報が共通する画素をグループ化する。具体的には、短冊領域1〜11のそれぞれを下部から上部に向かってy軸方向に探索し、移動情報を有するエッジに対応する画素が見つかった場合、さらに、この画素にy軸方向に沿って連続し、移動情報を有するエッジに対応する別の画素を探索する。そして、探索された別の画素に対応するエッジと最初に探索した画素に対応するエッジとの移動方向の差が所定の閾値以内であり、かつ、探索された別の画素に対応するエッジと最初に探索した画素に対応するエッジとの移動速度の差が所定の閾値以内であれば、最初に探索した画素と、最初に探索した画素にy軸方向に沿って連続する別の画素とは、同じエッジに対応する画素であり、移動情報が共通する画素であると判断する。さらに、この別の画素とy軸方向に沿って連続し、移動情報を有するさらに別の画素についても、移動方向の差が所定の閾値以内であり、かつ移動速度の差が所定の閾値以内であるかを判断する。このように、対象領域抽出機能は、y軸方向に沿って連続し、移動情報が共通する画素の探索を繰り返すことで、車両1に対して同じ速度で移動する同一の物体から抽出されたエッジに対応する画素を、画素群としてグループ化する。y軸方向に沿って連続し、移動情報が共通する画素をグループ化することで、例えば、図6に示す例では、駐車車両の右側端部に対応する画素群OB1と、駐車車両の左側端部に対応する画素群OB2と、自車両の右側領域に存在する外壁に対応する画素群OB3と、レーンマークに対応する画素群OB4とがグループ化される。なお、図6においては、画素群OB1〜OB4についてのみ記載し、それ以外の画素群については記載を省略している。
【0039】
次に、対象領域抽出機能は、グループ化された画素群のうち、最も上端に位置する画素の位置を最上点位置とし、最も下端に位置する画素の位置を最下点位置として検出する。ここで、図7は、図3に示す撮像画像に基づいて抽出された最上点位置および最下点位置の一例を示す図面である。なお、図7においては、移動情報を有する画素のうち、最上点位置に位置する画素を斜線でハッチングした丸で表しており、また最下点位置に位置する画素を黒丸で表しており、それら以外の画素を破線の白丸で表している。また、図7において、各短冊領域1〜11において検出された最上点位置はTPi−jのように、最下点位置はBPi−jのように表している。ここで、iは、最上点位置および最下点位置が検出された短冊領域の番号を示しており、jは1つの短冊領域において検出された最上点位置または最下点位置の数を下側から数えた番号を示している。例えば、短冊領域4の下から3つ目に検出された最上点位置は、最上点位置TP4−3と表示され、短冊領域7の下から1つ目に検出された最下点位置は、最下点位置BP7−1と表示される。
【0040】
図7に示す例では、対象領域抽出機能は、例えば、画素群OB1において、最上点位置TP7−1と最下点位置BP7−1とを、画素群OB2において、最上点位置TP4−3と最下点位置TB4−3とを、画素群OB3において、最上点位置TP11−3と最下点位置BP11−3とを、画素群OB4において、最上点位置TP3−1と最下点位置BP3−1とを検出する。なお、図7においては、グループ化された画素群OB1〜OB4の最上点位置であるTP7−1,TP4−3,TP11−3,TP3−1と、最下点位置であるBP7−1,BP4−3,BP11−3,BP3−1とについてのみ番号を記載し、それ以外の画素群の最上点位置および最下点位置については番号の記載を省略している。
【0041】
続いて、対象領域抽出機能は、xy平面(カメラ座標系)上において抽出された最上点位置および最下点位置を、ZX平面(実空間座標系)上の位置座標に変換する。なお、Z軸方向は、車両1の進行方向(ユーザの正面方向)であり、X軸方向は、路面と平行し、車両1の進行方向と直交する方向である。
【0042】
図8は、図7に示す最上点位置および最下点位置を、ZX平面(実空間座標系)上の位置座標に変換した一例を示す図である。対象領域抽出機能は、最上点位置および最下点位置をZX平面(実空間座標系)上の位置座標に変換する際に、図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つの領域を設定することで、8×5の2次元領域を設定する。
【0043】
なお、設定された8×5の2次元領域は、それぞれの領域を識別するための名称が付与され、各領域は列(Z軸領域)iと行(X軸領域)jとを用いて設定領域ijのように表される。例えば、図8の上図に示すように、1列目の1行目に存在する領域は設定領域11と表し、1列目の2行目に存在する領域は設定領域12と表し、2列目の1行目に存在する領域は設定領域21のように表す。
【0044】
対象領域抽出機能は、xy平面(カメラ座標系)上の各点の座標を(x,y)とし、カメラの路面からの高さをCh(m)、カメラの俯角をTr(rad)、画像の縦サイズをIh、画像の横サイズをIw、高さ方向の1画素あたりの角度分解能をPYr(rad)、横方向の1画素あたりの角度分解能をPXr(rad)とした場合に、xy平面(カメラ座標系)上の最上点位置および最下点位置を、次式に従って、ZX平面(実空間座標系)の座標(Z,X)に変換する。
【0045】
(式1)Z=(Ch)/(TAN(Tr+(y−Ih/2)×PYr))
(式2)X=x×TAN((Z-Iw/2)×PXr)
ここで、最上点位置をZX平面(実空間座標系)上の座標に変換した点を、最上端変換点とし、最下点位置をZX平面(実空間座標系)上の座標に変換した点を最下端変換点とする。例えば、図8に示す例では、最上点位置TP3−1を最上端変換点RT3−1に変換し、最下点位置BP3−1を最下端変換点RB3−1に変換する。なお、路面上に存在しない最上点位置および最下点位置は、ZX平面領域外に投影されることとなり、図8の上図に示すZX平面(実空間座標系)の位置座標に変換されない。例えば、最上点位置TP4−3や最上点位置TP7−1などは、ZX平面領域外に投影され、ZX平面のどの領域にも属しない。
【0046】
続いて、対象領域抽出機能は、検出対象を含む対象領域を抽出する。ここで、検出対象を抽出する手法は、特に限定されないが、本実施形態では、以下の手法により検出対象を含む対象領域を抽出する。
【0047】
例えば、対象領域抽出機能は、車両1前方を撮像した撮像画像内に存在する立体物の全部または一部を検出対象として抽出する。ここで、上述したように、路面上に存在しない最上点位置および最下点位置は、ZX平面の領域外に投影されるため、図8の上図に示すZX平面(実空間座標系)上の設定領域に属することはない。そこで、対象領域抽出機能は、グループ化された画素群から抽出した最上点位置および最下点位置を、ZX平面(実空間座標系)の位置座標に変換した際に、最上端変換点がZX平面領域外に投影され、かつ、最下端変換点がZX平面(実空間座標系)のいずれかの設定領域に属する画素群に対応する領域を、立体物または立体物の一部である検出対象を含む対象領域として抽出する。例えば、図8に示す例では、画素群OB1の最上点位置TP7−1は、ZX平面領域外に投影され、一方、画素群OB1の最下点位置BP7−1は、最下端変換点RB7−1に変換され、ZX平面(実空間座標)の設定領域42に属する。これにより、対象領域抽出機能は、画素群OB1に撮像される領域を、検出対象を含む対象領域として抽出する。
【0048】
なお、対象領域抽出機能は、対象領域が複数抽出された場合であって、抽出された対象領域に含まれる検出対象に対応するエッジの移動情報が共通する場合は、これらの対象領域を一の検出対象を含む一の対象領域として抽出する。
【0049】
このように、対象領域抽出機能は、移動情報算出機能により算出された移動情報に基づいて、検出対象が存在する対象領域を抽出することができる。
【0050】
次に、相対角速度算出機能について説明する。相対角速度算出機能は、各カメラ20a,20bから見た検出対象の移動速度を、相対角速度として算出する。相対角速度算出機能は、相対角速度を算出するために、まず、左側カメラ20aで撮像された画像に基づいて抽出された検出対象と、右側カメラ20bで撮像された画像に基づいて抽出された検出対象との同定を行う。検出対象を同定する手法は特に限定されないが、例えば、左側カメラ20aで撮像された画像に基づいて抽出された検出対象の対象領域の位置座標と、右側カメラ20bで撮像された画像に基づいて抽出された検出対象の対象領域との位置座標が一致する場合に、一致した対象領域は同じ対象領域であると同定し、この対象領域に含まれる検出対象は同じであると同定する。
【0051】
また、相対角速度算出機能は、同定された検出対象の移動速度を、相対角速度として算出する。なお、相対角速度算出機能は、左側カメラ20aから見た検出対象の移動速度を左側相対角速度として算出し、右側カメラ20bから見た検出対象の相対角速度を右側相対角速度として算出する。
【0052】
図9および図10は、左側カメラ20aに対する検出対象の相対角速度(左側相対角速度)を算出する手法例を説明するための図である。図9に示す検出対象OB1は、図7および図8に示す画素群OB1に対応する対象領域に含まれる検出対象を示しており、図9において、検出対象OB1の位置と左側カメラ20aの位置とを、左側カメラ20aを基準とした相対座標系で表している。図9に示すように、検出対象OB1は、左側カメラ20aの光軸(左側カメラ20aの撮像素子に入射する光の軸)よりも右側の領域を移動しており、時刻t1において位置P1で、時刻t1よりも所定時間経過後の時刻t2において位置P1’で検出される。この場合、相対角速度算出機能は、時刻t1から時刻t2までの時間において、位置P1から位置P1’まで移動した検出対象OB1の移動速度を、左側カメラ20aと位置P1とを通る直線A1と、左側カメラ20aと位置P1’とを通る直線A1’とがなす角である左側相対角速度dθL1として算出する。
【0053】
さらに、相対角速度算出機能は、算出した相対角速度の向きを算出する。例えば、図9に示す例では、時刻t2における検出対象OB1の位置P1’を通る直線A1’は、時刻t1における検出対象OB1の位置P1を通る直線A1よりも自車両1の中心軸(自車両1の進行方向の中心軸)方向にあるため、左側相対角速度dθL1の向きを、自車両1の中心軸方向(時計回りの方向)として算出する。
【0054】
また、図10の検出対象OB2は、図7および図8に示す画素群OB2に対応する対象領域に含まれる検出対象を示しており、図10において、検出対象OB2の位置と左側カメラ20aの位置とを、左側カメラ20aを基準とした相対座標系で表している。図10に示すように、検出対象OB2は、左側カメラ20aの光軸よりも左側の領域を移動し、時刻t1において位置P2で、時刻t2において位置P2’で検出される。この場合、相対角速度算出機能は、時刻t1から時刻t2までの時間において、位置P2から位置P2’まで移動した検出対象OB2の移動速度を、左側カメラ20aと位置P2とを通る直線A2と、左側カメラ20aと位置P2’とを通る直線A2’とがなす角である左側相対角速度dθL2として算出する。さらに、図10に示す例では、時刻t2における検出対象OB2の位置P2’を通る直線A2’は、時刻t1における検出対象OB1の位置P2を通る直線A2よりも自車両1の中心軸と反対する方向にあるため、左側相対角速度dθL2の向きを、自車両1の中心軸方向と反対する方向(反時計回りの方向)として算出する。
【0055】
同様に、相対角速度算出機能は、右側カメラ20bから見た検出対象の相対角速度(右側相対角速度)も算出する。例えば、図9に示す場面例において、検出対象OB1を、右側カメラ20bから見た場合、検出対象OB1は、右側カメラ20bの光軸(右側カメラ20bの撮像素子に入射する光の軸)よりも左側の領域を移動しているため、右側カメラ20bから見た検出対象OB1の移動速度は、自車両1の中心軸(反時計回り方向)に向かう右側相対角速度として算出される。また、図示していないが、図7および図8に示す画素群OB3に対応する対象領域に含まれる検出対象は、右側カメラ20bの光軸よりも右側の領域を移動しており、この場合、右側カメラ20bから見た検出対象の移動速度は、車両1の中心軸と反対する方向(時計回り方向)に向かう右側相対角速度として算出される。
【0056】
次に、判断機能について説明する。判断機能は、相対角速度算出機能により算出された相対角速度の向きに基づいて、車両1前方に存在する検出対象を回避する必要があるか否かを判断する。具体的には、左側相対角速度または右側相対角速度のいずれかが0の場合、または、左側相対角速度の向きおよび右側相対角速度の向きがともに、自車両1の中心軸方向である場合に、検出対象を回避する必要があると判断する。
【0057】
図11〜図13は、検出対象を回避する必要があるかを判断する手法例を説明するための図である。図11は、図9に示す場面例において、検出対象OB1を左側カメラ20aから見た左側相対角速度dθL1に加えて、検出対象OB1を右側カメラ20bから見た右側相対角速度dθR1を表した図である。図11に示すように、検出対象OB1が、左側カメラ20aの光軸よりも右側の領域であり、かつ右側カメラ20bの光軸よりも左側の領域を移動する場合、左側相対角速度dθL1の向きは、自車両1の中心軸方向(時計回りの方向)となり、かつ、右側相対角速度dθR1の向きも、自車両1の中心軸方向(反時計回りの方向)となる関係にある。そこで、判断機能は、図11に示すように、左側相対角速度dθL1の向きが自車両1の中心軸方向(時計回りの方向)であり、かつ、右側相対角速度dθR2の向きも自車両1の中心軸方向(反時計回りの方向)である場合には、検出対象OB1は、自車両1に向かって接近しており、検出対象OB1を回避する必要があると判断する。
【0058】
一方、図12は、図10に示す場面例において、左側相対角速度dθL2に加えて、右側相対角速度dθR2を表した図である。図12に示すように、検出対象OB2が、左側カメラ20aの光軸よりも左側の領域を移動している場合、左側相対角速度dθL2の向きは自車両1の中心軸と反対する方向(反時計回りの方向)となり、右側相対角速度dθR2の向きは自車両1の中心軸方向(反時計回りの方向)となる関係にある。そこで、判断機能は、図12に示すように、左側相対角速度dθL2の向きが車両1の中心軸と反対する方向(反時計回りの方向)であり、かつ、右側相対角速度dθR2の向きが車両1の中心軸方向(反時計回りの方向)である場合には、検出対象OB2は自車両1の左側側方を通過するものと予測し、検出対象OB2を回避する必要はないと判断する。
【0059】
また、図13に示す検出対象OB3は、図7および図8に示す画素群OB3に対応する対象領域に含まれる検出対象を示しており、図13において、検出対象OB3に対する右側相対角速度dθL3および左側相対角速度dθR3を表している。図13に示すように、検出対象OB3が、右側カメラ20bの光軸よりも右側の領域を移動している場合、左側相対角速度dθL3の向きは、自車両1の中心軸方向(時計回りの方向)となり、右側相対角速度dθR3の向きは、自車両1の中心軸と反対する方向(時計回りの方向)となる関係にある。そこで、判断機能は、図13に示すように、左側相対角速度dθL3の向きが、自車両1の中心軸方向(時計回りの方向)であり、かつ、右側相対角速度dθR3の向きが、自車両1の中心軸と反対する方向(時計回りの方向)である場合には、検出対象OB3は車両1の右側側方を通過するものと予測し、検出対象OB3を回避する必要はないと判断する。
【0060】
なお、検出対象が左側カメラ20aの光軸上を移動し、左側相対角速度が0の場合にも、検出対象を回避する必要があり、また同様に、検出対象が右側カメラ20bの光軸上を移動し、右側相対角速度が0の場合にも、検出対象を回避する必要がある。そのため、判断機能は、左側側相対角速度が0の場合、または右側相対角速度が0の場合にも、検出対象を回避する必要があると判断する。
【0061】
さらに、判断機能は、検出対象を回避する必要があると判断した場合に、検出対象を回避する方向を判断する。具体的には、左側相対角速度と右側相対角速度との大きさを比較し、左側相対角速度が右側相対角速度よりも大きい場合には、検出対象を回避する方向を左方向と判断し、反対に、右側相対角速度が左側相対角速度よりも大きい場合には、検出対象を回避する方向を右方向と判断する。なお、左側相対角速度と右側相対角速度とが等しい場合は、検出対象を回避する方向を、左右いずれの方向としてもよい。
【0062】
図14は、相対角速度に基づいて、検出対象を回避する方向を判断する手法例を説明するための図である。図14では、図11に示す場面例において、検出対象OB1の位置から左側カメラ20aの光軸までの最短距離D1と、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2とを表している。図14に示すように、検出対象OB1が、自車両1の中心軸よりも左側の領域を移動する場合、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2は、検出対象OB1の位置から左側カメラ20aの光軸までの最短距離D1よりも大きくなり、右側相対角速度dθR3は左側相対角速度dθL3よりも大きくなる。また、図示していないが、反対に、検出対象OB1が、自車両1の中心軸よりも右側の領域を移動する場合、検出対象OB1の位置から左側カメラ20bの光軸までの最短距離D1は、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2よりも大きくなり、左側相対角速度dθL3は右側相対角速度dθR3よりも大きくなる。このように、対象物の位置から各カメラ20a,20bの光軸までの最短距離と、相対角速度の大きさとは、一定の対応関係を有する。すなわち、検出対象の位置から各カメラ20a,20bの光軸までの最短距離が大きくなるほど、相対角速度が大きくなる関係にある。そこで、判断機能は、左側相対角速度と右側相対角速度とを比較し、図14に示す例のように、右側相対角速度dθR3が左側相対角速度dθL3よりも大きい場合には、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2は、検出対象OB1の位置から左側カメラ20aの光軸までの最短距離D1よりも大きく、検出対象OB1は自車両1の中心軸よりも左側の領域に存在すると判断する。反対に、左側相対角速度dθL3が右側相対角速度dθR3よりも大きい場合には、検出対象OB1の位置から左側カメラ20aの光軸までの最短距離D1は、検出対象OB1の位置から右側カメラ20bの光軸までの最短距離D2よりも大きくなり、検出対象OB1が自車両1の中心軸よりも右側の領域に存在すると判断する。
【0063】
そして、判断機能は、図14に示すように、検出対象OB1が自車両1の中心軸よりも左側の領域に存在すると判断した場合には、検出対象OB1を回避する方向を右方向と判断することで、仮に、検出対象OB1を左方向に回避する場合と比べて、少ない動作(操舵角)で迅速に検出対象OB1を回避することができる。また同様に、判断機能は、検出対象が自車両1の中心軸よりも右側の領域に存在すると判断した場合には、検出対象を回避する方向を左方向として判断することで、仮に、検出対象を右方向に回避する場合と比べて、少ない動作(操舵角)で迅速に検出対象を回避することができる。
【0064】
このように、判断機能は、左側相対角速度の向きおよび右側相対角速度の向きに基づいて、検出対象を回避する必要があるか否かを判断し、検出対象を回避する必要があると判断した場合には、左側相対角速度と右側相対角速とに基づいて、検出対象を回避する方向を判断する。また、判断機能は、検出対象を回避する必要があると判断した場合に、左側相対角速度および右側相対角速度のうち値が小さい相対角速度の向きが自車両1の中心軸と反対する方向となるように、値の小さい方の相対角速度に基づいて制御値を算出し、算出した制御値を、検出対象を回避する方向などの情報とともに、舵角アクチュエータ40に送信する。
【0065】
舵角アクチュエータ40は、コントローラ10から送信された情報に基づいて、検出対象を回避するように車両1を制御する。例えば、コントローラ10から送信された制御値に応じた角度だけ、検出対象を回避する方向に、車両1の舵角制御を行う。例えば、図14に示すように、判断機能が、検出対象OB1が車両1の中心軸よりも左側の領域に存在し、検出対象を回避する方向を右方向と判断した場合には、舵角アクチュエータ40は、右方向に、左側相対角速度に基づいて求めた制御値に応じた角度だけ舵角制御をすることで、検出対象OB1を回避するように車両1を制御する。
【0066】
また、コントローラ10は、舵角アクチュエータ40以外の構成に対して、検出対象を回避する必要がある旨の情報、相対角速度、および検出対象を回避する方向などの情報を送信し、検出対象を回避するための処理を行わせてもよい。例えば、図示しないスピーカやディスプレイを介して、検出対象を回避する必要がある旨、検出対象を回避する方向などを、ユーザに伝達するような構成としてもよい。
【0067】
次に、図15を参照して、本実施形態に係る走行支援処理について説明する。図15は、本実施形態に係る走行支援処理を示すフローチャートである。以下においては、図3に示すように、自車両1が走行する車線側の路肩で駐車している他の車両(駐車車両)を回避するように、車両1を制御する場面例を例示して説明する。
【0068】
ステップS101では、左右一対のカメラ20a,20bで、車両1前方を、一定時間間隔で、同時に、連続して撮像する。撮像された撮像画像の画像データは、カメラ20a,20bからコントローラ10へ送信される。例えば、左側カメラ20aでは、図3に示すように、駐車車両を含む撮像画像が撮像される。
【0069】
ステップS102では、コントローラ10の取得機能により、ステップS101において、左右一対のカメラ20a,20bにより撮像された撮像画像の画像データが取得される。なお、上述したように、左右一対のカメラ20a,20bは、一定時間間隔で、連続して、車両1前方を撮像しており、取得機能は、時系列に沿って撮像された撮像画像の画像データを取得する。
【0070】
ステップS103では、コントローラ10の特徴点抽出機能により、ステップS102で取得された画像データが、所定の閾値を用いて2値化され、図4(A)に示すように、画像内に存在するエッジが抽出される。
【0071】
ステップS104では、特徴点抽出機能により、ステップS103で抽出されたエッジのエッジ幅を、エッジ強度が最も大きい1画素とすることで、図4(B)に示すように、エッジのエッジ幅が細線化される。
【0072】
ステップS105では、特徴点抽出機能により、ステップS104で細線化されたエッジがx軸方向に膨張され、図4(C)に示すように、エッジのエッジ幅が一定の幅に正規化される。特徴点抽出機能により得られたエッジ画像は、コントローラ10のRAM13に記憶される。
【0073】
ステップS106では、コントローラ10の移動情報算出機能により、撮像画像上においてエッジが移動した方向(移動方向)と、エッジが移動した速度(移動速度)とを含む移動情報が算出される。例えば、図4(C)〜図4(F)に示すように、抽出されたエッジが、何フレームの間、同一画素に存在しているかをカウントアップすることで、エッジの移動速度およびエッジの移動方向が算出される。そして、算出されたエッジの移動情報に基づいて、エッジの移動情報の特徴を表した移動画像が生成される。図3に示す場面例においては、図3に示す撮像画像から抽出したエッジの移動情報に基づいて、図5に示すような移動画像が生成される。
【0074】
ステップS107では、コントローラ10の対象領域抽出機能により、y軸方向に沿って連続し、かつ、移動情報が共通する画素がグループ化され、グループ化された画素群のうち、最も上端に位置する画素の位置が最上点位置として、最も下端に位置する画素の位置が最下点位置として検出される。
【0075】
図3に示す場面例において、駐車車両の右側端部から抽出されたエッジに対応する画素は、図6に示すように、y軸方向に沿って連続し、かつ、右方向に同程度の速度で移動している。そこで、対象領域抽出機能は、これらの画素をグループ化して画素群OB1とし、図7に示すように、画素群OB1の最も上端に位置する画素の位置である最上点位置TP7−1と、最も下端に位置する画素の位置である最下点位置BP7−1とを検出する。同様に、対象領域抽出機能は、駐車車両の左側端部から抽出されたエッジに対応する画素群OB2の最上点位置TP4−3および最下点位置BP4−3と、外壁から抽出されたエッジに対応する画素群OB3の最上点位置TP11−3および最下点位置BP11−3と、レーンマークから抽出されたエッジに対応する画素群OB4の最上点位置TP3−1および最下点位置BP3−1となどを検出する。
【0076】
ステップS108では、対象領域抽出機能により、xy平面(カメラ座標系)上の最上点位置および最下点位置が、ZX平面(実空間座標系)上の最上端変換点および最下端変換点に変換される。そして、最上点位置および最下点位置を、ZX平面(実空間座標系)の位置座標に変換した際に、最上端変換点がZX平面領域外に投影され、かつ、最下端変換点がZX平面のいずれかの領域に属することとなる画素群に対応する領域を、検出対象を含む対象領域として全て抽出する。
【0077】
図3に示す場面例では、図8に示すように、駐車車両の右側端部から抽出されたエッジに対応する画素群OB1の最下点位置BP7−1は、最下端変換点RB7−1に変換され、ZX平面の領域42に属する一方、画素群OB1の最上点位置TP7−1は、ZX平面領域外に投影される。そのため、画素群OB1に対応する領域は、検出対象OB1を含む対象領域として抽出される。同様に、駐車車両の左側端部から抽出されたエッジに対応する画素群OB2の最下点位置BP4−3は、最下端変換点RB4−3に変換され、ZX平面の領域32に属する一方、画素群OB2の最上点位置TP4−3は、ZX平面領域外に投影されるため、画素群OB2に対応する領域は、検出対象OB2を含む対象領域として抽出される。さらに、外壁から抽出されたエッジに対応する画素群OB3の最下点位置BP11−3は、最下端変換点RB11−3に変換され、ZX平面の領域85に属する一方、画素群OB3の最上点位置TP11−3は、ZX平面領域外に投影されるため、画素群OB3に対応する領域は、検出対象OB3を含む対象領域として抽出される。一方、レーンマークから抽出されたエッジに対応する画素群OB4の最下点位置BP3−1は、最下端変換点RB3−1に変換され、ZX平面の領域35に属し、画素群OB4の最上点位置TP3−1も、最上端変換点RT3−1に変換され、ZX平面の領域34に属する。そのため、画素群OB4に対応する領域は、平面物であると判断され、検出対象を含む対象領域として抽出されない。
【0078】
なお、ステップS101からステップS108までの処理は、左側カメラ20aで撮像された撮像画像の画像データおよび左側カメラ20bで撮像された撮像画像の画像データごとに行われるため、ステップS108では、左側カメラ20aで撮像された撮像画像に基づく対象領域と、左側カメラ20bで撮像された撮像画像に基づく対象領域とが抽出される。
【0079】
次に、ステップS109では、ステップS108で対象領域が抽出されたか判断される。対象領域が抽出されない場合(ステップS109=NO)は、回避する必要があるかの判断の対象となる検出対象が、車両1の前方には存在しないものと判断され、この走行支援処理を終了する。一方、対象領域が抽出された場合(ステップS109=YES)は、ステップS110に進む。
【0080】
次に、ステップS110では、コントローラ10の相対角速度算出機能により、同じタイミングで撮像された左側カメラ20aの撮像画像に基づく対象領域と右側カメラ20bの撮像画像に基づく対象領域とが比較され、同一の位置座標で抽出された対象領域に含まれる検出対象が、同一の検出対象であると同定される。
【0081】
ステップS111では、コントローラ10の相対角速度算出機能により、ステップS110で同定された検出対象の相対角速度が算出される。図3に示す場面例では、図7および図8に示す画素群OB1に対応する対象領域に含まれる検出対象OB1について、図11に示すように、自車両1の中心軸に向かう左側相対角速度dθL1と、自車両1の中心軸に向かう右側相対角速度dθR1とが算出される。また、図7および図8に示す画素群OB2に対応する対象領域に含まれる検出対象OB2について、図12に示すように、自車両1の中心軸と反対方向に向かう左側相対角速度dθL2と、自車両1の中心軸に向かう右側相対角速度dθR2とが算出される。さらに、図7および図8に示す画素群OB3に対応する対象領域に含まれる検出対象OB3について、図13に示すように、自車両1の中心軸に向かう左側相対角速度dθL3と、自車両1の中心軸と反対方向に向かう右側相対角速度dθR3とが算出される。
【0082】
ステップS112では、コントローラ10の判断機能により、ステップS111で算出された右側相対角速度の向きおよび左側相対角速度の向きに基づいて、検出対象を回避する必要があるか否か判断される。具体的には、左側相対角速度または右側相対角速度のいずれかが0の場合、または、左側相対角速度の向きおよび右側相対角速度の向きがともに、自車両1の中心軸方向である場合に、検出対象を回避する必要があると判断される。
【0083】
例えば、図3に示す場面例では、検出対象OB1については、図11に示すように、自車両1の中心軸に向かう左側相対角速度dθL1と、自車両1の中心軸に向かう右側相対角速度dθR1とが算出されるため、検出対象OB1を回避する必要があると判断される。一方、検出対象OB2については、図12に示すように、自車両1の中心軸と反対方向に向かう左側相対角速度dθL2と、自車両1の中心軸に向かう右側相対角速度dθR2とが算出されるため、検出対象OB2を回避する必要はないと判断される。さらに、検出対象OB3については、図13に示すように、自車両1の中心軸に向かう左側相対角速度dθL3と、自車両1の中心軸と反対方向に向かう右側相対角速度dθR3とが算出されるため、検出対象OB3を回避する必要はないと判断される。
【0084】
ステップS113では、ステップS112の判断の結果、回避する必要がある検出対象が1つでも存在するか判断される。回避する必要がある検出対象がある場合は、ステップS114に進み、一方、回避する必要のある検出対象が存在しない場合には、走行支援処理を終了する。図3に示す場面例では、検出対象OB1を回避する必要があると判断されているため、ステップS114に進む。
【0085】
ステップS114では、判断機能により、左側相対角速度および右側相対角速度に基づいて、検出対象を回避する方向が判断される。例えば、判断機能は、左側相対角速度と右相側対角速度とを比較し、左側相対角速度が右側相対角速度以上の場合には、検出対象を回避する方向を左方向と判断し、反対に、右側相対角速度が左側相対角速度よりも大きい場合には、検出対象を回避する方向を右方向と判断する。そして、判断機能は、左側相対角速度および右側相対角速度のうち値が小さい相対角速度の向きが自車両1の中心軸と反対する方向に向くように、値の小さい方の相対角速度に基づいて制御値を算出し、算出した制御値を、検出対象を回避する方向の情報とともに、舵角アクチュエータ40に送信する。
【0086】
例えば、図3に示す場面例では、検出対象OB1について、左側相対角速度と右側相対角速度とが比較される。検出対象OB1については、図14に示すように、右側相対角速度dθR1が左側相対角速度dθL1よりも大きいため、検出対象OB1を回避する方向が右方向と判断される。そして、左側相対角速度dθL1の向きが自車両1の中心軸と反対する方向となるように、左側相対角速度に基づいて制御値が算出され、算出された制御値と、検出対象を回避する方向である右方向との情報が、舵角アクチュエータ40に送信される。
【0087】
ステップS115では、舵角アクチュエータ40により、コントローラ10から送信される制御値、および検出対象を回避する方向などの情報が取得される。そして、舵角アクチュエータ40は、例えば、コントローラ10から送信された制御値に応じた角度だけ、検出対象を回避する方向に、車両1の舵角制御を行う。例えば、図3に示す場面例においては、舵角アクチュエータ40は、検出対象OB1を回避する方向として判断された右方向に、左側相対角速度に基づいて算出された制御値に応じた角度だけ、車両1を舵角制御することで、車両1に検出対象OB1を回避させる。
【0088】
また、ステップS115では、コントローラ10は、舵角アクチュエータ40の他に、例えば、図示しないスピーカやディスプレイなどに、検出対象を回避する必要がある旨または検出対象を回避する方向などの情報を送信し、検出対象を回避する必要があること、または検出対象を回避するための方向を、ユーザに伝達する。
【0089】
ステップS115を終了した後は、本実施形態に係る走行支援処理を終了する。
【0090】
続いて、図16を参照して、自車両1が片道1車線の道路を走行しており、かつ、対向車線上を他の車両が走行してきた場面における走行支援処理について説明する。図16は、左側カメラ20aで撮像された撮像画像の他の例を示す図である。
【0091】
まず、左右一対のカメラ20a,20bで車両1の前方が撮像される(ステップS101)。これにより、図16に示すように、対向車線上に対向車両が存在する撮像画像の画像データが取得される(ステップS102)。そして、この画像データに基づいて、図4(A)に示すように、画像内のエッジが抽出され(ステップS103)、図4(B),(C)に示すように、抽出されたエッジについて細線化処理、膨張処理が行われる(ステップS104,ステップS105)。その後、図4(C)〜(F)に示すように、エッジの移動情報が算出され、移動画像が生成される(ステップS106)。図17は、図16に示す場面例において、抽出されたエッジの移動情報に基づいて作成された移動画像である。図17に示すように、対向車両から抽出されたエッジは、右方向への移動情報を有する。
【0092】
次に、y軸方向に沿って連続し、移動情報が共通する画素がグループ化され、グループ化された画素群の最上点位置および最下点位置が抽出される(ステップS107)。図18は、図16に示す場面例において、抽出された最上点位置および最下点位置の一例を示す図である。なお、図18においては、画素群OB5以外の画素群については、記載を省略している。図16に示す場面例では、図18に示すように、対向車両の右側端部(撮像画面上では対向車線の左側の端部となる)から抽出されたエッジに対応する画素が、y軸方向に沿って連続し、かつ、右方向に同程度の速度で移動するため、画素群OB5としてグループ化される。そして、画素群OB5から最上点位置TP9−3と最下点位置BP9−3とが抽出される。
【0093】
続いて、xy座標(カメラ座標系)上の最上点位置TP9−3および最下点位置BP9−3が、ZX座標(実空間座標系)上の位置座標に変換され、検出対象を含む対象領域が抽出される(ステップS108)。ここで、図示していないが、画素群OB5の最下点位置BP9−3と最上点位置TP9−3とを、ZX平面(実空間座標系)に変換すると、最下点位置BP9−3から変換された最下端変換点BR9−3は、ZX平面領域に属することになる一方、最上点位置TP9−3は、ZX平面領域外に投影される。そのため、画素群OB5に対応する領域は、立体物または立体物の一部であると判断され、検出対象を含む対象領域として抽出される。
【0094】
次に、左側カメラ20aで撮像された撮像画像に基づいて抽出された検出対象と、右側カメラ20bで撮像された撮像画像に基づいて抽出された検出対象との同定が行われ(ステップS110)、同定された検出対象の移動速度が相対角速度として算出される(ステップS111)。ここで、画素群OB5に対応する対象領域の検出対象について、相対角速度算出手段は、図13に示すように、自車両1の中心軸(時計回りの方向)に向かう左側相対角速度dθL3と、自車両1の中心軸と反対する方向(時計回りの方向)に向かう右側相対角速度dθR3とを算出することになる。
【0095】
次に、右側相対角速度の向きと左側相対角速度の向きに基づいて、検出対象を回避する必要があるか判断される(ステップS112)。ここで、図16に示す場面例において、画素群OB5に対応する対象領域の検出対象については、図13に示すように、左側相対角速度の向きは自車両1の中心軸(時計回り方向)に向かっており、右側相対角速度の向きは自車両1の中心軸と反対方向(時計回り方向)に向かっているため、判断機能は、画素群OB5に対応する対象領域の検出対象を回避する必要がないと判断する。
【0096】
このように、図16に示す場面例においては、抽出された全ての検出対象について、検出対象を回避する必要はないと判断され(ステップS113=NO)、車両1の舵角制御を行わず、走行支援処理を終了する。
【0097】
以上のように、本実施形態によれば、車両1前方を撮像した画像からエッジを抽出し、抽出されたエッジの移動情報に基づいて、各カメラ20a,20bに対する検出対象の移動速度を相対角速度として算出することで、相対角速度の向きから、検出対象が自車両1に向かって接近しているのか、自車両1の側方を通過するのかを予測することができ、検出対象を回避する必要があるか否かを判断することができる。特に、本実施形態によれば、車両1前方を撮像した画像のみに基づいて、相対角速度を算出し、検出対象を回避する必要があるか否かを判断することができるため、従来のように、舵角センサや車速センサなどの構成を必要とせず、装置全体を簡略化することができ、また各センサなどからの情報を処理する必要もなく、装置全体での処理負担を軽減することができる。
【0098】
また、本実施形態では、左右一対のカメラ20a,20bを用いて、左側カメラ20aに対する検出対象の移動速度を左側相対角速度として算出し、また右側カメラ20bに対する検出対象の相対角速度を右側相対角速度として算出する。そして、左側相対角速度の向きが自車両1の中心軸(時計回り方向)に向かっており、かつ、右側相対角速度の向きが中心軸(反時計回り方向)に向かっている場合に、検出対象を回避する必要があると判断する。このように、左側相対角速度の向きと右側相対角速度の向きとに基づいて、検出対象を回避する必要があるか否かを判断することで、より適切な判断が可能となる。これに加え、本実施形態のように、左右一対のカメラ20a,20bを、車両1の左右側端に位置する左右一対のドアミラーケース30a,30b内にそれぞれ収容することで、左右一対のカメラ20a,20bで撮像された撮像画像に基づいて算出した相対角速度の向きから、検出対象を回避する必要があるか否かを適切に判断することができる。
【0099】
さらに、本実施形態では、左側相対角速度と右側相対角速度との大きさを比較し、左側相対角速度が右側相対角速度よりも大きい場合には、検出対象を回避する方向を左方向と判断し、反対に、右側相対角速度が左側相対角速度よりも大きい場合には、検出対象を回避する方向を右方向と判断する。検出対象が左側カメラ20aの光軸よりも右側の領域であり、かつ右側カメラ20bの光軸よりも左側の領域に存在する場合には、左側相対角速度と右側相対角速度とを比べることで、検出対象が、自車両1の中心軸から右側の領域に存在するか、自車両1の中心軸から左側の領域に存在するかを判断することができるため、迅速に検出対象を回避することができる方向を判断することができる。
【0100】
以上説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【0101】
例えば、本実施形態では、左右一対のカメラ20a,20bを備える車両1を例示して説明したが、車両1の構成はこれに限定されるものではなく、左右一対のカメラ20a,20bのいずれか一方のカメラのみを備える構成としてもよい。また、本実施形態では、左右一対のカメラ20a,20bを左右一対のドアミラーケース30a,30b内に設置しているが、これに限定されるものではなく、車両1の左右両側の任意の位置に設置してもよい。
【0102】
さらに、本実施形態では、右側相対角速度の向きおよび左側相対角速度の向きがともに車両1の中心軸に向かっている場合に、検出対象を回避する必要があると判断しているが、例えば、左右一対のカメラ20a,20bが車両1の左右側端に設置されていない場合には、左側相対角速度の向きまたは右側相対角速度の向きが、車両1の中心軸と反対する方向に向かっている場合であっても、相対角速度の大きさが所定の範囲内であれば、検出対象を回避する必要があると判断してもよい。
【0103】
なお、上述した実施形態のカメラ20a,20bは本発明の撮像手段に、コントローラ10の特徴点抽出機能は本発明の特徴点抽出手段に、コントローラ10の移動情報算出機能は本発明の移動情報算出手段に、コントローラ10の対象領域抽出機能は本発明の対象領域抽出手段に、コントローラ10の相対角速度算出機能は本発明の相対角速度算出手段に、コントローラ10の判断機能は本発明の判断手段に、舵角アクチュエータ40は本発明の制御手段にそれぞれ相当する。
【符号の説明】
【0104】
1…車両(自車両)
10…コントローラ
20a,20b…カメラ
30a,30b…ドアミラーケース
40…舵角アクチュエータ
【特許請求の範囲】
【請求項1】
車両前方を撮像する撮像手段と、
前記撮像手段により撮像された画像の情報に基づいて、前記画像内に存在する特徴点を抽出する特徴点抽出手段と、
前記特徴点の移動方向および移動速度を含む移動情報を算出する移動情報算出手段と、
前記移動情報に基づいて、検出対象を含む対象領域を抽出する対象領域抽出手段と、
前記撮像手段から見た前記検出対象の移動速度を、相対角速度として算出する相対角速度算出手段と、
前記相対角速度に基づいて、前記検出対象を回避する必要があるかを判断する判断手段と、を有することを特徴とする走行支援装置。
【請求項2】
請求項1に記載の走行支援装置において、
前記判断手段は、前記検出対象を回避する必要があると判断した場合に、前記相対角速度に応じて、前記検出対象を回避する方向をさらに判断することを特徴とする走行支援装置。
【請求項3】
請求項1または2に記載の走行支援装置において、
前記判断手段は、前記相対角速度が0である場合、または、前記相対角速度の向きが自車両の進行方向の中心軸側に向かうものである場合に、前記検出対象を回避する必要があると判断することを特徴とする走行支援装置。
【請求項4】
請求項1〜3のいずれかに記載の走行支援装置において、
前記撮像手段は、自車両の左右両側に設置された左右一対の撮像装置からなり、
前記相対角速度算出手段は、前記左右一対の撮像装置のうち、自車両の左側に設置された撮像装置により撮像された画像の情報に基づく相対角速度を、左側相対角速度として算出し、自車両の右側に設置された撮像装置により撮像された画像の情報に基づく相対角速度を、右側相対角速度として算出し、
前記判断手段は、前記左側相対角速度および前記右側相対角速度に基づいて、前記検出対象を回避する必要があるかを判断することを特徴とする走行支援装置。
【請求項5】
請求項4に記載の走行支援装置において、
前記判断手段は、前記左側相対角速度もしくは前記右側相対角速度が0である場合、または、前記左側相対角速度および前記右側相対角速度の向きが、いずれも自車両の進行方向の中心軸側に向かうものである場合に、前記検出対象を回避する必要があると判断することを特徴とする走行支援装置。
【請求項6】
請求項4または5に記載の走行支援装置において、
前記判断手段は、前記左側相対角速度と前記右側相対角速度とを比較し、前記比較の結果に基づいて、前記検出対象を回避する方向を判断することを特徴とする走行支援装置。
【請求項7】
請求項6に記載の走行支援装置において、
前記判断手段は、前記右側相対角速度が前記左側相対角速度よりも大きい場合は、右方向を、前記左側相対角速度が前記右側相対角速度よりも大きい場合は、左方向を、前記検出対象を回避する方向として判断することを特徴とする走行支援装置。
【請求項8】
請求項1〜7のいずれかに記載の走行支援装置において、
前記判断手段により前記検出対象を回避する必要があると判断された場合に、前記相対角速度に応じて、前記検出対象を回避するように、前記車両を制御する制御手段をさらに有することを特徴とする走行支援装置。
【請求項9】
請求項1〜8のいずれかに記載の走行支援装置において、
前記撮像手段はドアミラーケース内に設置されている撮像装置であることを特徴とする走行支援装置。
【請求項10】
車両前方を撮像した画像の情報に基づいて、撮像位置に対する検出対象の移動速度を相対角速度として算出し、前記相対角速度に基づいて、前記検出対象を回避する必要があるかを判断することを特徴とする走行支援方法。
【請求項1】
車両前方を撮像する撮像手段と、
前記撮像手段により撮像された画像の情報に基づいて、前記画像内に存在する特徴点を抽出する特徴点抽出手段と、
前記特徴点の移動方向および移動速度を含む移動情報を算出する移動情報算出手段と、
前記移動情報に基づいて、検出対象を含む対象領域を抽出する対象領域抽出手段と、
前記撮像手段から見た前記検出対象の移動速度を、相対角速度として算出する相対角速度算出手段と、
前記相対角速度に基づいて、前記検出対象を回避する必要があるかを判断する判断手段と、を有することを特徴とする走行支援装置。
【請求項2】
請求項1に記載の走行支援装置において、
前記判断手段は、前記検出対象を回避する必要があると判断した場合に、前記相対角速度に応じて、前記検出対象を回避する方向をさらに判断することを特徴とする走行支援装置。
【請求項3】
請求項1または2に記載の走行支援装置において、
前記判断手段は、前記相対角速度が0である場合、または、前記相対角速度の向きが自車両の進行方向の中心軸側に向かうものである場合に、前記検出対象を回避する必要があると判断することを特徴とする走行支援装置。
【請求項4】
請求項1〜3のいずれかに記載の走行支援装置において、
前記撮像手段は、自車両の左右両側に設置された左右一対の撮像装置からなり、
前記相対角速度算出手段は、前記左右一対の撮像装置のうち、自車両の左側に設置された撮像装置により撮像された画像の情報に基づく相対角速度を、左側相対角速度として算出し、自車両の右側に設置された撮像装置により撮像された画像の情報に基づく相対角速度を、右側相対角速度として算出し、
前記判断手段は、前記左側相対角速度および前記右側相対角速度に基づいて、前記検出対象を回避する必要があるかを判断することを特徴とする走行支援装置。
【請求項5】
請求項4に記載の走行支援装置において、
前記判断手段は、前記左側相対角速度もしくは前記右側相対角速度が0である場合、または、前記左側相対角速度および前記右側相対角速度の向きが、いずれも自車両の進行方向の中心軸側に向かうものである場合に、前記検出対象を回避する必要があると判断することを特徴とする走行支援装置。
【請求項6】
請求項4または5に記載の走行支援装置において、
前記判断手段は、前記左側相対角速度と前記右側相対角速度とを比較し、前記比較の結果に基づいて、前記検出対象を回避する方向を判断することを特徴とする走行支援装置。
【請求項7】
請求項6に記載の走行支援装置において、
前記判断手段は、前記右側相対角速度が前記左側相対角速度よりも大きい場合は、右方向を、前記左側相対角速度が前記右側相対角速度よりも大きい場合は、左方向を、前記検出対象を回避する方向として判断することを特徴とする走行支援装置。
【請求項8】
請求項1〜7のいずれかに記載の走行支援装置において、
前記判断手段により前記検出対象を回避する必要があると判断された場合に、前記相対角速度に応じて、前記検出対象を回避するように、前記車両を制御する制御手段をさらに有することを特徴とする走行支援装置。
【請求項9】
請求項1〜8のいずれかに記載の走行支援装置において、
前記撮像手段はドアミラーケース内に設置されている撮像装置であることを特徴とする走行支援装置。
【請求項10】
車両前方を撮像した画像の情報に基づいて、撮像位置に対する検出対象の移動速度を相対角速度として算出し、前記相対角速度に基づいて、前記検出対象を回避する必要があるかを判断することを特徴とする走行支援方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2011−53761(P2011−53761A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−199737(P2009−199737)
【出願日】平成21年8月31日(2009.8.31)
【出願人】(000003997)日産自動車株式会社 (16,386)
【Fターム(参考)】
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願日】平成21年8月31日(2009.8.31)
【出願人】(000003997)日産自動車株式会社 (16,386)
【Fターム(参考)】
[ Back to top ]