(57)【特許請求の範囲】
【請求項１】
それぞれの光軸を互いに平行とし所定の眼間距離をもって配置された２台のカメラと、
前記２台のカメラが撮像した路面画像を第１および第２の画像として記憶する画像メモリと、
前記第１の画像内で白線を検出する白線検出手段と、
前記第１の画像内の所定領域を複数の区域に分割するようにウインドウ設定を行なうウインドウ設定手段と、
各ウインドウと最も類似度の高いウインドウの位置を前記第２の画像から検出するマッチング位置検出手段と、
２枚の画像間で互いに類似度の高いウインドウが存在する画像上の位置と２台のカメラの位置関係をもとに、各ウインドウ内に撮像された物体までの距離を演算する距離演算手段と、
同じ距離値が算出されかつウインドウが隣接するウインドウのかたまりを先行車の検出領域として検出しウインドウの距離値を先行車の検出距離とする先行車検出手段と、
前記ウインドウのかたまりと前記白線の位置関係に基づき先行車の走行レーンを判断する走行レーン判断手段と、
前記走行レーン上の先行車の横方向位置を検出する横方向位置検出手段と、
該横方向位置検出手段に接続され、前記先行車の横方向位置の時間的変化を検出して先行車の挙動を判定する先行車挙動判定手段とを有することを特徴とする車両用障害物検出装置。
【請求項２】
それぞれの光軸を互いに平行とし所定の眼間距離をもって配置された２台のカメラと、
前記２台のカメラが撮像した路面画像を第１および第２の画像として記憶する画像メモリと、
前記第１の画像内で白線を検出する白線検出手段と、
前記第１の画像内の所定領域を複数の区域に分割するようにウインドウ設定を行なうウインドウ設定手段と、
各ウインドウと最も類似度の高いウインドウの位置を前記第２の画像から検出するマッチング位置検出手段と、
２枚の画像間で互いに類似度の高いウインドウが存在する画像上の位置と２台のカメラの位置関係をもとに、各ウインドウ内に撮像された物体までの距離を演算する距離演算手段と、
同じ距離値が算出されかつウインドウが隣接するウインドウのかたまりを先行車の検出領域として検出しウインドウの距離値を先行車の検出距離とする先行車検出手段と、
前記ウインドウのかたまりと前記白線の位置関係に基づき先行車の走行レーンを判断する走行レーン判断手段と、
前記走行レーン上の先行車の横方向位置を検出する横方向位置検出手段と、
前記先行車検出手段に接続され、前記先行車の検出距離から先行車の画像位置を演算し、画像位置の時間的変化により前方路面状況を認識する道路状況認識手段とを有することを特徴とする車両用障害物検出装置。
【請求項３】
前記白線検出手段は、先行車より下方の画像領域を白線検出領域とすることを特徴とする請求項１または２記載の車両用障害物検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、先行車を画像処理によって位置検出及び挙動判定を行なう車両用障害物検出装置に関する。
【０００２】
【従来の技術】
従来、車両用の障害物検出装置としては、例えば特開平２−３００７４１号公報に記載されたものがある。これは、障害物の検出に熱画像とカラー画像を用いて、熱画像においてマフラーを検出し、マフラー位置から左右斜め上にオレンジまたは赤色のウインカをカラー画像から検出することによって車両検出を行なうものである。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記のような従来のものにあっては、熱画像を得るのにやや特殊の赤外線カメラを使い、カラー画像を撮像するカメラとあわせて２種類のカメラを使用しなければならず、装置が大型になり、コスト高となってしまう。
また、マフラーが温まっていない場合や、気温が高く、車体が日差しで熱を持った場合などは、マフラーの検出が困難でオレンジや赤のウインカの検出位置が定まらず先行車の検出が不可能となる欠点がある。
【０００４】
さらに、車両までの距離や二輪車、トラックなどの車種によってマフラーとウインカの位置関係が異なることにより、マフラーを検出してもウインカの検出ができず、結果的に熱をもった部分やオレンジまたは赤色の部分の検出だけで車両検出を行なうことになり、検出結果が不確実である。
【０００５】
また、ウインカの検出を色で検出しているため、オレンジ色車体の車両ではウインカの検出が困難である。同じ理由によりデリニエータなどのオレンジ色の反射板がウインカに近い色を有するためウインカと誤検出される可能性が高いなどの問題点がある。
【０００６】
なお、上記の従来例では、車両の検出のみであって、車両の走行レーン上の位置についての判断は行なっておらず、車両の挙動判断が行なえない。ウインカの点滅状態を検出して車線変更などの判断を行なうことが可能としても、ウインカを点灯させずに車線変更する車両もあり、判断結果が不確実である。
さらに走行レーンを検出しないため先行車がどの車線に変更するかの判断ができないため、先行車が自車の走行にとって障害物になるかどうかの判断ができないという問題がある。
【０００７】
またこれを判断しようとしても、熱画像上には白線などが映らない。カラー画像も、ウインカのオレンジ色や赤色が検出されやすいようにコントラスト調整が行なわれ、白線の検出しにくい画像になっており、走行レーン判断が困難の装置となっている。
本実施例は、上記従来の問題点に鑑み、熱画像やカラー画像を必要とせず、先行車の走行位置を正確に特定でき、挙動判断が行なえる車両用障害物検出装置を提供することを目的としている。
【０００８】
【課題を解決するための手段】
このため、請求項１記載の発明は、それぞれの光軸を互いに平行とし所定の眼間距離をもって配置された２台のカメラと、
前記２台のカメラが撮像した路面画像を第１および第２の画像として記憶する画像メモリと、
前記第１の画像内で白線を検出する白線検出手段と、
前記第１の画像内の所定領域を複数の区域に分割するようにウインドウ設定を行なうウインドウ設定手段と、
各ウインドウと最も類似度の高いウインドウの位置を前記第２の画像から検出するマッチング位置検出手段と、
２枚の画像間で互いに類似度の高いウインドウが存在する画像上の位置と２台のカメラの位置関係をもとに、各ウインドウ内に撮像された物体までの距離を演算する距離演算手段と、
同じ距離値が算出されかつウインドウが隣接するウインドウのかたまりを先行車の検出領域として検出しウインドウの距離値を先行車の検出距離とする先行車検出手段と、
前記ウインドウのかたまりと前記白線の位置関係に基づき先行車の走行レーンを判断する走行レーン判断手段と、
前記走行レーン上の先行車の横方向位置を検出する横方向位置検出手段と、
該横方向位置検出手段に接続され、前記先行車の横方向位置の時間的変化を検出して先行車の挙動を判定する先行車挙動判定手段とを有するものとした。
【０００９】
請求項２記載の発明は、先行車挙動判定手段のかわりに、前記先行車検出手段に接続され、前記先行車の検出距離から先行車の画像位置を演算し、画像位置の時間的変化により前方路面状況を認識する道路状況認識手段が設けられているものとした。
請求項３記載の発明は、前記白線検出手段が、先行車より下方の画像領域を白線検出領域とするものとした。
【００１０】
【作用】
請求項１記載の発明では、２台のカメラがステレオカメラを形成し、視差をもった第１、第２の画像が撮像されるとともに画像メモリに記憶される。白線検出手段により第１の画像から白線が検出される。ウインドウ設定手段が第１の画像内の所定領域に領域を分割するようにウインドウ設定を行なう。マッチング位置検出手段が各ウインドウと最も類似度の高いウインドウの位置をマッチング処理によって第２の画像内から検出する。
【００１１】
距離演算手段が第１と第２の画像間の互いに最も類似度の高いウインドウの位置および２台のカメラの位置関係をもとに三角測量法によりウインドウ内に撮像された物体までの距離を算出する。隣接するウインドウにおいて同じ距離値が算出される場合は、それらのウインドウには同じ対象物が撮像されていると判断できるので、先行車検出手段が同じ距離値が算出されかつウインドウが隣接するウインドウのかたまりを先行車の検出領域として検出する。ウインドウの距離値は先行車の検出距離となる。走行レーン判断手段がウインドウのかたまりと白線の位置関係で先行車が走行するレーンを判断する。横方向位置検出手段は先行車と同じ距離上の白線位置を検出し白線に対する先行車の横方向位置を検出する。
【００１２】
このように先行車の検出をステレオ画像上で行なうので、モノクロ画像でも用が足り、熱や車色などが影響要素にならず、使用環境を選ばない効果が得られる。また、白線を検出し先行車の走行レーンを判断し、かつ白線に対する先行車の横方向位置を検出するので、自律走行制御や接近警報などの機能が簡単に構築できるとともに、車両位置の時間的変化を判断することで、挙動判断ができより高次元の走行制御が行なえるようになる。
【００１３】
そしてさらに、先行車挙動判定手段が設けられるから、先行車の横方向位置の時間的変化が検出され、先行車の挙動判定ができる。例えば左白線や右白線に接近しつつある場合、先行車が車線変更を行なっていると判断できる。またこの判断はウインカの点滅判断によらないため、ウインカの点滅検出も不要で、環境色や輝度に影響されない効果が得られる。ウインカをつけない車線変更を行なう先行車についても判断ができる。
【００１４】
請求項２記載の発明では、道路状況認識手段が設けられ、先行車の検出距離から先行車の画像位置を演算し、画像位置の時間的変化により前方路面状況を認識するようにしたので、例えば先行車の画像位置が下がったときに先行車が下だり坂を走行し始めると判断できる。これによって自車を減速制御するなどの道路状況に対応した車両制御が行なえる。
【００１５】
請求項３記載の発明では、白線を検出する画像領域を先行車より下方の画像領域とすることで、先行車に遮られた遠方白線は検出対象から除外され処理するデータが減少するとともに誤検出が減少される効果が得られる。
【００１６】
【発明の実施の形態】
以下、この発明の実施の形態を実施例により説明する。
ここでは、実施例に係わる装置を具体的に説明する前に、ステレオカメラにより得られるステレオ画像を画像処理により前方障害物である先行車の位置を検出する原理を説明する。
【００１７】
図１は、ステレオカメラによるステレオ画像を用いて先行車Ｃまでの距離Ｚを求める三角測量原理を説明する図である。ここでは、ステレオカメラを構成する２台のカメラ１、２が車両に搭載されている。カメラ１、２は、同一の焦点距離ｆを有するレンズＬ１、Ｌ２と、各レンズから撮像面までの距離が焦点距離ｆとなるように配置されたＣＣＤ１ａ、２ａとをそれぞれ有するＣＣＤカメラである。
【００１８】
カメラ１、２は、ＣＣＤ１ａ、２ａの各撮像面が同一垂直面内に位置し、各撮像面の垂直基準軸であるＹ軸、すなわＣＣＤ１ａの撮像面の軸とＣＣＤ２ａの撮像面の軸（ＹＡ、ＹＢ）が一致し、レンズＬ１、Ｌ２の光軸１ｂ、２ｂが互いに平行でかつ眼間距離（光軸１ｂ、２ｂ間の距離）Ｄが所定の値となるように、上下に並べて配置されている。
【００１９】
焦点距離ｆ及び眼間距離Ｄが既知であり、光軸１ｂ、２ｂが互いに平行な２台のカメラ１、２で車両前方を撮像して得られる２つの画像からなるステレオ画像において、２つの画像間のマッチング位置（最も類似する画像の位置で、図１では先行車Ｃのリヤ側上縁部の位置）のＹ座標ｙａ、ｙｂを求めることができれば、カメラ１、２から先行車Ｃまでの距離Ｚは下記の式（１）より求めることができる。
Ｚ＝ｆ×Ｄ／（ｙｂ−ｙａ）                            （１）
ここで、ｆ、ｙａ、ｙｂの単位はＣＣＤ１ａ、２ａの画素であり、Ｄ、Ｚの単位はｍｍである。一般に焦点距離ｆは単位をｍｍで表す場合が多いが、式（１）の焦点距離ｆは画素を単位として計算する。
【００２０】
ここで、画素を単位とする焦点距離ｆの求め方を図２に基づいて説明する。図２の（ａ）は大きさのわかっている幅Ｗ（ｍｍ）の物体Ｃ’を距離Ｚ（ｍｍ）だけ離れたところで２台のカメラ１、２の一方（ここではカメラ１）により撮像したときの様子を示し、同図の（ｂ）はそのとき得られる画像Ａを示す。以下の説明では、カメラ１により撮像される第１の画像をＡ、そしてカメラ２により撮像される第２の画像をＢとする。
【００２１】
画素を単位とする焦点距離ｆは、大きさのわかっている幅Ｗ（ｍｍ）の物体Ｃ’を距離Ｚ（ｍｍ）だけ離れたところにおいて撮像し、このとき得られる画像Ａ（または画像Ｂ）上での物体Ｃ’の幅ｘｗ（画素）をエッジ検出などの画像処理により検出することで、下記の式（２）により求めることができる。
ｆ＝ｘｗ×Ｚ／Ｗ                                  （２）
ここで、ｘｗの単位は画素であり、Ｚ、Ｗの単位はｍｍである。
【００２２】
図３は、画像Ａ内の所定域をウインドウ毎に切り、各ウインドウＷ内に撮像されている対象物の特徴的なエッジなどを用いて、画像Ｂにおける同画像の撮像位置を求めた結果を示す図である。（ａ）はウインドウを切った画像Ａで、（ｂ）は同じ対象物が求められたウインドウを示している画像Ｂである。
ウインドウ毎にＡ、Ｂ画像間のマッチング位置（Ｙ軸方向）が分かれば、式（１）を用いることによりウインドウに区画された域内のすべての物体の距離が分かる。
【００２３】
ウインドウ毎に算出される距離は、その内部に撮像されているエッジなどの特徴的な部分を持つ物体までの距離であるので、隣接するウインドウにおいて同じ距離が求められた場合は、それらのウインドウには同じ対象物が撮像されていると判断することができる。したがって同じ距離値が検出されるウインドウのかたまりを撮像された物体として検出することができる。
【００２４】
先行車はその下部が路面と繋がって撮像されるため、図３の（ｂ）に示すように先行車と同じ距離が検出されるウインドウは路面部分を含むものとなる（太線ウインドウ）。路面部分を取り除くべく、図４のように同じ距離が検出されるウインドウのかたまりのうち路面を含まない上段ウインドウの両サイドウインドウ位置を検出しその範囲を先行車の検出範囲として下段にあるウインドウの抽出域を決定すれば、路面部分を含まないウインドウのかたまりＥ（太線ウインドウ）を先行車として検出できる。
【００２５】
次に、検出された先行車の横方向位置の検出について説明する。
図５は、先行車Ｃのリヤ側下縁部を距離Ｚだけ離れたところで撮像（ここではカメラ１により撮像）したときの様子を示す。この図から分かるように距離Ｚに検出された先行車Ｃの下縁が撮像される画像上のＹ軸方向の位置は式（３）により求めることができる。
ｙｃ＝〔（ｈ−Ｈ）・ｆ〕／Ｚ                  （３）
ここで、Ｈは路面から先行車の下縁までの高さ、ｈは路面からカメラのレンズ中心までの高さ、ｆは焦点距離、Ｚは車間距離とする。
【００２６】
距離Ｚはウインドウのマッチングによって検出されるため、上記式（３）により画像上のＹ座標位置ｙｃを求めることができる。図６のように画像上にＹ＝ｙｃのラインを引くことによって、先行車と同じ距離の画像位置（Ｙ軸）が決定される。したがってラインと白線の交わる点（ｘｌｌ、ｘｌｒ）は先行車と同じ距離上の白線位置となる。そのライン上で、先行車と白線の交点との位置関係を判断すれば先行車が自車走行レーンであるか、隣接走行レーンであるかの判断ができる。
【００２７】
車両の横方向位置は走行レーンとの位置関係で判断される。まず、図７に示すようにラインＹ＝ｙｃと交わる２本白線の交点位置（ｘｌｌ、ｙｃ）、（ｘｌｒ、ｙｃ）を算出する。したがって、白線から先行車の両サイドまでの画像上の距離は、
左白線に対する距離ｘＬＬは、ｘｃｌ−ｘｌｌによって算出される。
右白線に対する距離ｘＬＲは、ｘｃｒ−ｘｌｒによって算出される。
但し、ｘｃｌ、ｘｃｒは車両の幅を示すウインドウのかたまりのＸ軸位置である。
【００２８】
先行車は図８のように撮像されるため、ＣＣＤ１ａ上の画像距離ｘＬＬ、ｘＬＲと走行レーン上の実際の距離ＬＬ、ＬＲの関係は式（４）で表現される。
ＬＬ＝ｘＬＬ・Ｚ／ｆ
ＬＲ＝ｘＬＲ・Ｚ／ｆ                                    （４）
ここで、ｆは焦点距離、Ｚは車間距離とする。Ｃは先行車である。
これによって白線に対する先行車の横方向位置が検出される。
上記のように、ステレオ画像を用いたステレオ画像処理により、先行車までの距離が検出されるとともに、片方の画像を用いて走行レーン内で白線に対する横方向位置も特定される。
【００２９】
図９は、本発明の第１の実施例の構成を示すブロック図である。
２台のカメラ１、２がステレオカメラを構成し、それぞれ、同一の焦点距離ｆを有するレンズＬ１、Ｌ２と、各レンズから撮像面までの距離が焦点距離ｆとなるように配置されたＣＣＤ１ａ、２ａとを有するＣＣＤカメラからなる。カメラ１、２は、前方を撮影するのに適した車両上の所定の部位に取り付けられている。
カメラ１、２は、先の図１に示すように、ＣＣＤ１ａ、２ａの各撮像面が同一垂直面内に位置し、各撮像面の垂直基準軸（ＹＡ軸、ＹＢ軸）が一致し、レンズＬ１、Ｌ２の光軸１ｂ、２ｂが水平かつ互いに平行となり、所定の眼間距離Ｄをもって上下に並べて配置されている。
【００３０】
カメラ１、２のそれぞれの撮像した映像信号がディジタル画像として画像メモリ３、４に出力され記憶される。白線検出部５は画像メモリ３からの画像Ａを画像処理して自車を囲む２本の白線を検出する。ウインドウ設定部６は、画像メモリ３から画像Ａを取り込み、空などの車両が存在しえない域を除いた画面部分に画面を分割するように複数の同サイズのウインドウを設定する。
【００３１】
マッチング位置検出部７は、画像Ａの微分画像にウインドウを重ね合わせるとともに、各ウインドウと最も類似度の高いウインドウの位置を画像Ｂから検出し、両画像間のウインドウのマッチング位置を記憶する。距離演算部８は、各ウインドウのマッチング位置とカメラ１、カメラ２のレンズの焦点距離ｆおよび眼間距離Ｄをもとにウインドウ内の撮像物体までの距離を算出する。先行車検出部９は、同じ距離が算出され、かつ隣接するウインドウのかたまりを先行車として検出する。
【００３２】
走行レーン判断部１０は、ウインドウのかたまりの位置と白線検出部５で検出した白線との画像上の位置関係で先行車の走行レーンを判断する。
横方向位置検出部１１は先行車の検出距離と同じ距離上にある白線の位置を検出する。ウインドウのかたまりの両側のウインドウ位置を検出し、先行車の両サイドの位置として、白線との横方向距離を算出する。その画像上の距離からカメラの透視関係によって走行路上の実距離が算出される。
【００３３】
図１０は、本実施例の処理の流れを示すフローチャートである。
まず、ステップ１０１で、ステレオ画像、すなわちカメラ１、２からそれぞれ出力される画像Ａ、Ｂを画像メモリ３、４にそれぞれ入力して記憶させる。
ステップ１０２では、白線検出部５が画像Ａ、Ｂのどちらか一方（本実施例では画像メモリ３に記憶された画像Ａ）に画像処理を施して白線を検出する。
ここでは、自車走行レーンだけを検出することを考えるので、自車左右の２本の白線を検出する。
【００３４】
図１１、図１２は白線の検出原理の説明図である。図１１の（ａ）は単眼カメラ（カメラ１）が道路の中央で白線を撮像しているときの様子を示す平面図で、（ｂ）はその側面図である。自車が２本白線の間を走行している場合、２本の白線は画像の左右両側に現われる。前方の白線が直線であり、自車が２本の白線の中央を走行していると仮定して、図１１に示すように、距離Ｚ先の白線が撮像される画像上の座標は、幾何学的計算により、式（５）で求めることができる。
ｘｒ＝（Ｗｒ・ｆ）／（Ｚ・２）、ｙｒ＝（ｈ・ｆ）／Ｚ        （５）
ここで、Ｗｒは路面の幅、ｈは路面からカメラのレンズ中心までの高さ、ｆは焦点距離、Ｚは車間距離、ｘｒ、ｙｒは画像上の位置である。
【００３５】
複数の距離値Ｚに対して式（５）に基づいて画像上の位置ｘｒ、ｙｒを求めて、白線を検出するためのウインドウ設定位置を決め、各位置において例えば図１２に示すようにｘｒ、ｙｒを中心とするウインドウＷｄを設定する。ウインドウＷｄは車両が白線の中央でない場合を見込んで白線が外れないように大きさが決定される。
【００３６】
そして各ウインドウＷｄにおいて微分演算をし左右に正負のエッジが対になって現われる場所を検出し、正負エッジのＸ軸における中心位置を演算して白線の検出点として保存する。各ウインドウからの検出点をさらにフィッティングするよう結ぶことで白線が検出される。フィッティングする方法としては特願平３−３１４５や特願平４−１７１２４０に紹介されている手法を用いることができる。
【００３７】
また車両より前方にある白線は先行車により隠れてしまう場合が多いため、先行車の位置ｙｃより画像下方の範囲だけを白線の検出範囲に限定することもできる。
これにより処理するデータ量が減少するとともに、白線検出にかかる時間が短縮される。また先行車のエッジを白線のエッジと誤検出することが少なくなり、車両位置の判断がより正確になる。
【００３８】
次に、ステップ１０３では、画像Ａ、Ｂのどちらか一方（本実施例では画像Ａ）においてウインドウ設定部６が、空などの区域を検出しそれを除いた部分に合わせて所定大きさのウインドウを設定する。
ステップ１０４では、マッチング位置検出部７が、画像メモリ３と画像メモリ４から図１３の（ａ）に示す画像Ａ（と画像Ｂ）の原画像を入力し、微分処理を施して水平エッジを際立たせた微分画像（ｂ）を作る（以下簡単のため、微分画像もそのもとの画像の呼び名で画像Ａ、画像Ｂと呼ぶ）。
【００３９】
ステップ１０３で設定されたウインドウ位置に画像Ａを図１４のように横に幅ｘｗ、縦に幅ｙｗのウインドウ４０毎に分割する。分割された各ウインドウ４０をテンプレートとして、画像Ｂからテンプレートの画像と最も類似度の高い位置を式（６）を用いた正規化相関法により求めて、ウインドウのマッチング位置を演算する。
【数１】
0003747599.tif 000002
なお、式（６）において、テンプレートの画像の各画素の輝度値をＡｉｊ、画像Ｂの各画素の輝度値をＢｉｊとする。
ここで、微分画像を用いるのは、検出対象物である先行車は水平エッジをもつものが多く、先行車が背景より強調され検出しやすくするためである。
【００４０】
図１５は、正規化相関法による画像Ａ、Ｂ間のマッチング位置の検出方法の説明図である。
ここでは２台のカメラ１、２をそれぞれのＹ軸が同一線上にのるように配置してあるので、画像Ｂ内において、画像Ａのテンプレート（ウインドウ４０）と同じＸ軸の位置で、探索位置をＹ軸方向に順次ずらした複数の位置検出対象画像を求める。そして、図１５の（ｂ）に取り出して示すテンプレートと（ｃ）に示す画像Ｂから取り出した（ｄ１）から（ｄ３）に示す各位置検出対象画像との比較から、類似度の最も高い位置検出対象画像を求めることになる。
【００４１】
図中、（ｄ２）はテンプレートと類似度最大の位置で検出対象画像を示し、（ｄ１）はそれより上方の位置で、（ｄ３）はそれより下方の位置での検出対象画像を示している。このように画像Ａに対し各ウインドウに対応したウインドウが画像Ｂに作られる。その両ウインドウのＹ軸位置を示すｙａとｙｂはウインドウのマッチング位置となる。
【００４２】
ステップ１０５では、距離演算部８が各ウインドウにおいてウインドウ内に撮像された物体までの距離を式（１）を用いて演算する。物体が図１６に示すように画像Ａと画像Ｂのウインドウ内に同じ位置を占めるので、物体のマッチング位置差は、すなわちウインドウのマッチング位置差（ｙｂ−ｙａ）である。したがってウインドウのマッチング位置を用い、式（１）に代入することによりウインドウ内の物体までの距離が算出される。
【００４３】
上記のような処理を全てのウインドウについて行なって、ウインドウ毎にその内部に撮像されている物体までの距離を求めると、ステップ１０６において連続して同じ距離値が算出されたウインドウのかたまりを検出し、そのウインドウのかたまりが複数ある場合、距離の一番近いものを選んで先行車を含む検出領域として検出する。この検出領域に先行車と同じ距離の路面部分も含まれるため、先行車の距離を示すｙｃより上段に同じ距離が検出されるウインドウのかたまりの両側のウインドウのＸ座標位置内から下段ウインドウを抽出して先行車の領域として検出する。
【００４４】
またここでは先行車が遠く撮像される場合、先行車画像が小さく、ウインドウ位置をもって車両の幅として検出すると、精度が低下する。それを防ぐため、図１７に示すようにウインドウのかたまりの両側にあるウインドウ（ａ）に対して（ｂ）のように細分化した小ウインドウｗｓを用いて上記と同じようにマッチングしてウインドウの距離を算出する。そしてウインドウのかたまりと同じ距離の小ウインドウを用いて先行車として検出する。なお図１７においては右側のウインドウを示している。ｘｃｒはその小ウインドウの位置で車両のサイド位置として検出されたものである。
【００４５】
またウインドウを細分化する代わりに図１８のようなウインドウから縦方向エッジｔ、ｖを検出し、車両のテクスチャ、色または輝度が先行車と同様である否かを判断して先行車の両サイド位置を検出することも可能である。これにより先行車が小さく撮像されても精度を落とさずに先行車の位置特定ができる。
【００４６】
ステップ１０７では、ウインドウのかたまりが検出できたかをチェックし、できなかった場合、先行車なしとしてステップ１０１に戻り、次の画像を入力して上記の処理を繰り返す。ウインドウのかたまりを検出できた場合、先行車ありとしてウインドウで演算された距離値を先行車までの距離検出値として記憶しステップ１０８へ進む。
【００４７】
ステップ１０８では、先行車の走行レーンについての判断を行なう。自車と同一走行レーンであるか否かを走行レーン判断部１０が判断する。これは、図６に示したように、ウインドウのかたまりの距離と同じ位置ｙｃをラインとしてステップ１０２で検出された２つの白線と交わる２つの点を検出する。そしてウインドウのかたまりがこの２つの交点の中にあるかどうかを判断して先行車が自車と同一走行レーンであるか否かを判断する。自車と異なる走行レーンである場合、ステップ１０１へ戻り、上記処理を再び行なう。検出した先行車が自車と同一走行レーンである場合、ステップ１０９へ進む。
【００４８】
ステップ１０９では、先行車の検出距離と同じ位置ｙｃのラインから、ラインと白線の交点ｘｌｌ（左側白線）、ｘｌｒ（右側白線）を検出する。また車両を検出するウインドウのかたまりの両側のウインドウ位置を検出する。それらを式（４）に代入して、走行レーン上の横方向位置を算出する。
上記のように、ステレオ画像処理により、先行車までの距離と走行レーン内での横方向位置を検出することができる。
【００４９】
本実施例は以上のように構成され、ステレオ画像の一方に画像を分割するウインドウを設定し、各ウインドウと最も類似度の高いウインドウの位置を他方の画像から検出し三角測量原理に基づいた距離演算をし、隣接するウインドウから同じ距離演算値が演算されたウインドウのかたまりを先行車として検出する。そして先行車として認識されたウインドウのかたまりと走行レーンの位置を比較して自車と同一走行レーンかの判断を経て先行車の白線に対する横方向位置を検出するので、従来と比べて距離のみでなく横方向位置も算出される。またカメラが１種類で、かつモノクロでも充分に用が足り、処理が簡単になるとともに、検出環境を選ばないという効果が得られる。
【００５０】
次に、本発明の第２の実施例について説明する。
この実施例は、上記第１の実施例で検出された先行車の位置変動を観測してその挙動判断を行なうようにしたものである。
図１９は、本実施例の構成を示すブロック図であり、図９に示した第１の実施例のブロック図に車両挙動判定部１２を設けたものである。車両挙動判定部１２はメモリを有し横方向位置検出部１１で検出された先行車の横方向位置を記憶し、その位置の時間的変動により先行車の挙動を判定する。
【００５１】
またこの実施例では自車走行レーンのほかに隣接走行レーンについても検出するため、その機能を備えた走行レーン判断部１００を用いる。その他は第１の実施例と同様である。
走行レーン判断部１００の内容は以下の処理の流れにおいて説明する。
【００５２】
図２０は上記構成における処理の流れを示すフローチャートである。
ステップ１０１〜ステップ１０７までは第１の実施例と同様に、カメラ１、２からのステレオ画像を入力して画像メモリ３、４に記憶する。白線検出部５が第１の実施例と同様にステレオ画像の一方から自車の左右２本白線を検出しフィッテング処理によりデータ化する。
【００５３】
ウインドウ設定部６によってウインドウ設定された一方の画像をマッチング位置検出部７が正規化相関法により他方の画像から類似度の最も高いウインドウの位置を検出する。先行車検出部９が距離演算部８において距離演算されたウインドウのうち、同じ距離値が算出されかつ隣接するウインドウのかたまりから先行車の領域を検出する。
【００５４】
ステップ２０８において、画像Ａから走行レーン判断部１００がウインドウのかたまりの距離と同じＹ軸位置上の白線位置を検出する。ここでは自車走行レーンのほかに隣車線の白線の位置も検出する。
すなわち図２１に示すように自車が２車線道路を走行している場合、白線が３本であるので、それら全てがカメラ１、２の撮像範囲内にあれば、左車線を走行している場合では、距離Ｚ前方にある白線は、図２２のように先行車が検出されるＹ＝ｙｃライン上にｘｌ、ｘｒ、ｘｒ２の位置に撮像される。先行車とそれらとの位置判断で先行車の自車走行レーンを判定することができる。
図２３は自車走行レーンと右隣接車線上から先行車が同時に撮像されている画像を示す図である。Ｍは自車走行レーン、Ｎは右隣接車線上の先行車である。これらはウインドウのかたまり（太線部分）によって検出される。
【００５５】
ステップ２０８では以下のように先行車の走行レーン判断を行なう。
ラインＹ＝ｙｃと白線の近似線の交点から自車走行レーン上の白線位置ｘｌｌ、ｘｌｒを求める。白線間の距離Ｗｒは通常３．５ｍ程度であることから、図２５のように、距離Ｚ離れたところで右隣接レーンの外側の白線の画像上の位置ｘｌｒは、式（７）により求めることができる。
ｘｌｒ＝ｘｌｌ＋（ｆ×Ｗｒ）／Ｚ                      （７）
Ｚは車両までの距離検出値、ｆはカメラの焦点距離、Ｗｒは白線幅である。
ここでは、ｘｌｌは自車走行レーン上の右側白線の位置である。
【００５６】
ウインドウのかたまりが自車走行レ−ンの白線内にある場合、自車と同じ走行レ−ン上にあるとして、ステップ２０９へ進む。自車走行レーンでないと判定された場合、走行レーン判断部１００は式（７）に基づいて仮想的に右走行レーンの外側の白線位置ｘｌｒの位置を算出する。ウインドウのかたまりが自車の右白線と仮想白線の間にあるかどうかを判定する。なお、車間距離が近い場合、ｘｌｒは画像の右外に出てしまう場合が考えられが、そのような位置のときは、ｘｌｒがｘｌｌの外側にあることを考慮したうえ、判定を行なう。
そして、判定の結果は、ウインドウのかたまりが右走行レーンにある場合、先行車が右隣接車線上にあり、ステップ２１０へ進む。ウインドウのかたまりが右走行レーンでない場合、先行車が左隣車線上にあるとしてステップ２１１へ進む。
【００５７】
ステップ２０９において、図２４に示すようにＹ＝ｙｃライン上の位置ｘｌｌあるいはｘｌｒに対し、先行車を検出するウインドウのかたまりＭのサイド位置ｘｃｌもしくはｘｃｒからの白線に対する画像距離ｘＬＬ、ｘＬＲのいずれかの一方を算出する。本実施例ではｘＬＲを算出する。
【００５８】
ステップ２１０は、ステップ２０９と同じように右走行レーンの白線Ｒ１とＲ２に対する画像距離ｘＬＬもしくはｘＬＲを図２５から算出する。
ステップ２１１は、図２６のように左走行レーンの白線Ｌ１、Ｌ２に対するｘＬＬもしくはｘＬＲを算出する。
【００５９】
ステップ２１２では、前記式（４）を用いて画像上の横方向位置（ｘＬＬ、ｘＬＲ）から先行車の走行路上の横方向位置（ＬＬ、ＬＲ）を算出しメモリに記憶する。そして、横方向位置の時間的変動により先行車の挙動を判断する。図２７、２８、２９、３０はそれぞれ右白線に対する横方向位置ＬＲの時間的変化をプロットしたグラフである。図上には最小二乗誤差直線が示されている。各横方向位置を最小二乗誤差直線にフィッティングして誤差を求める。誤差が所定値内の場合最小二乗誤差直線の傾きで先行車の挙動を判定する。すなわち図２７では走行にしたがって先行車の右白線に対する横方向位置ＬＲは殆ど変化しないため、レ−ンをキ−プしながら走行していると判断できる。
【００６０】
また図２８では徐々に横方向位置ＬＲが長くなるため左車線への変更と判断できる。
図２９は右車線への変更を示している。
また図３０では最小二乗誤差直線に対して振動が大きいため、蛇行していると判断できる。
【００６１】
本実施例は以上のように構成され、先行車の白線に対する横方向距離および距離変化を検出し挙動判断をするようにしたので、ウインカの点滅を判断しなくても車線変更が検出できる。またウインカの点滅判断では困難な蛇行等の検出も行なえ居眠りなど推定も可能になる。
【００６２】
次に、第３の実施例について説明する。この実施例は図１９に示すブロック図の構成において、先行車検出部９を車両挙動検出部１２に接続したものである。車両挙動検出部１２は第２実施例で説明したように先行車の横方向位置の時間的変化で挙動を判断するが、この実施例ではさらに道路状況認識手段として先行車検出部９の先行車の距離から路面状況を判断する機能が付加されている。
【００６３】
車両挙動検出部１２はまず図３１に示すようにウインドウのかたまりの下段のウインドウＰを一つのウインドウとして取り出す。ウインドウＰを図３２のように縦方向に複数の小ウインドウｗｔに細分し、小ウインドウを用いて先行車の下端位置ｙｃｄを求める。また小ウインドウを設ける代わりに図３３のように横エッジで区分される域内の色や輝度が先行車と一致するかどうかの判断で車両の下端位置ｙｃｄを算出することもできる。ｙｃｄは先行車の下端位置であり、ウインドウのマッチングによって得られた先行車位置ｙｃと同じもので、直接算出することにより精度が高くなっている。
【００６４】
先行車の下端位置ｙｃｄとそのときの車両の距離Ｚが分かれば、図３４に示す撮像原理でカメラ１の光軸１ｂに対する実際の高さｙｄは、式（８）により求められる。
ｙｄ＝ｙｃｄ・Ｚ／ｆ                            （８）
ｙｄの検出を時間毎に行ない、メモリに保存させる。過去数回分のｙｄの変動を見ることで、先行車の縦方向の運動を認識し道路状況を判断する。
【００６５】
図３５〜４０はｙｄの時間的変化をプロットしたグラフである。
各グラフには第２の実施例と同じように最小二乗誤差直線が求められている。図３５では、最小二乗誤差直線の傾きが０に近いので、前方は平坦道路と判断する。
図３６では、最小二乗誤差直線の傾きが正なので、ｙｄが大きくなって行くことを示し、前方道路が下だり坂と判断する。
【００６６】
図３７では、最小二乗誤差直線の傾きが負なので、ｙｄが小さくなって行くことを示し前方道路が登ぼり坂と判断する。
図３８では、最小二乗誤差直線に対して、ｙｄの誤差が大きいので、前方道路が凸凹道と判断する。
図３９および図４０は、最小二乗誤差直線の傾きが大きく変化するので、前方道路上に石や穴または段差があると判断する。
本実施例は以上のように構成され、先行車の位置と距離によりカメラに対する上下位置を演算し、その位置の変動で路面状況が判断されるから、先行車を検出する際のデータを利用することができ、演算負担にならずに処理できる。
【００６７】
【発明の効果】
以上説明した通り、請求項１によれば入力画像を複数のウインドウに区切り、ウインドウ毎に求めた距離値を元に、同じ距離値が演算される隣接ウインドウのかたまりから先行車の領域を検出するとともに距離を演算する。また片方の画像から白線を検出先行車と白線の位置関係を求め、横方向位置を検出するようにしたので、赤外線カメラなどが不要で、装置の構成が簡単になるとともに先行車の挙動判断を行なうことが可能になる。
そしてさらに、先行車挙動判定手段が設けられるから、先行車の横方向位置の時間的変化が検出され、先行車の挙動判定ができる。例えば左白線や右白線に接近する場合、先行車が車線変更を行なっていると判断できる。またこの判断はウインカの点滅判断によらないため、ウインカの点滅検出も不要で、環境色や輝度に影響されない効果が得られる。ウインカをつけない車線変更を行なう先行車についても判断ができる。
【００６８】
請求項２記載の発明では、道路状況認識手段が設けられ、先行車の検出距離から先行車の画像位置を演算し、画像位置の時間的変化により前方路面状況を認識するようにしたので、例えば先行車の画像位置が下がったときに先行車が下だり坂を走行し始めると判断できる。これによって自車を減速制御するなどの道路状況に対応した車両制御が行なえる。
【００６９】
請求項３記載の発明では、白線を検出する画像領域を先行車より下方の画像領域とすることで、先行車に遮られた遠方白線は検出対象から除外され処理するデータが減少するとともに誤検出が減少される効果が得られる。
【図面の簡単な説明】
【図１】ステレオ画像処理による距離算出手法を説明するための説明図である。
【図２】画素と焦点距離の関係を示す説明図である。
【図３】マッチングによるウインドウ設定の説明図である。
【図４】先行車検出の説明図である。
【図５】距離と画像上の位置関係の説明図である。
【図６】先行車の走行レーン判断の説明図である。
【図７】先行車の横方向位置検出の説明図である。
【図８】画像位置と横方向位置検出の説明図である。
【図９】第１の実施例の構成を示すブロック図である。
【図１０】第１の実施例における処理の流れを示すフローチャートである。
【図１１】白線を検出するための説明図である。
【図１２】ウインドウ設定の説明図である。
【図１３】微分処理の効果を示す図である。
【図１４】先行車を検出ためのウインドウ設定の説明する図である。
【図１５】正規化相関法によるステレオ画像間でのマッチング位置の検出方法を示す説明図である。
【図１６】ウインドウ内の画像とウインドウの位置関係を示す図である。
【図１７】ウインドウを細分化する説明図である。
【図１８】撮像内容による先行車のサイド部の検出説明図である。
【図１９】第２の実施例の構成を示すブロック図である。
【図２０】第２の実施例における処理の流れを示すフローチャートである。
【図２１】隣車線の検出原理を示す図である。
【図２２】隣車線の撮像位置を示す図である。
【図２３】自車走行レーンと隣車線上に先行車が検出された状態を示す図である。
【図２４】自車走行レーン上の先行車の横方向位置検出の説明図である。
【図２５】右隣車線上の先行車の横方向位置検出の説明図である。
【図２６】左隣車線上の先行車の横方向位置検出の説明図である。
【図２７】先行車両がレーンキープ時の横方向位置の変化を示すグラフである。
【図２８】先行車両が左車線へ変更時の横方向位置の変化を示すグラフである。
【図２９】先行車両が左車線へ変更時の横方向位置の変化を示すグラフである。
【図３０】先行車両が蛇行しているときの横方向位置の変化を示すグラフである。
【図３１】先行車の下端位置検出の説明図である。
【図３２】ウインドウを細分化する説明図である。
【図３３】撮像内容による先行車の下端の検出説明図である。
【図３４】先行車の下端位置とカメラの光軸の距離関係を示す図である。
【図３５】先行車両が平坦地を走行しているときのグラフである。
【図３６】先行車両が下り坂を走行しているときのグラフである。
【図３７】先行車両が登り坂を走行しているときのグラフである。
【図３８】先行車両が凹凸な道を走行しているときのグラフである。
【図３９】先行車両が走行している道路上に石等の障害物があるときのグラフである。
【図４０】先行車両が走行している道路上に穴などがあるときのグラフである。
【符号の説明】
１、２    カメラ
１ａ、２ａ    ＣＣＤ
１ｂ、２ｂ    光軸
３、４    画像メモリ
５        白線検出部（白線検出手段）
６        ウインドウ設定部（ウインドウ設定手段）
７        マッチング位置検出部（マッチング位置検出手段）
８        距離演算部（距離演算手段）
９        先行車検出部（先行車検出手段）
１０、１００      走行レーン判断部（走行レーン判断手段）
１１      横方向位置検出部（横方向位置検出手段）
１２      車両挙動判定部（車両挙動判定手段）
Ｃ        先行車
Ｅ        ウインドウのかたまり
ｆ        焦点距離
Ｄ        眼間距離
Ｌ１、Ｌ２          レンズ
Ｗ        ウインドウ
ｗｄ      ウインドウ
Ｗｒ      道路幅
ｙａ、ｙｂ          マッチング位置
ｙｃ      先行車の撮像位置
ｘｒ      Ｘ軸上のウインドウ設定位置
ｘｗ      ウインドウの横幅
ｙｗ      ウインドウの縦幅
ｙｒ      Ｙ軸上のウインドウ設定位置
Ｚ        撮像距離
【図１】
0003747599.tif 000003
【図２】
0003747599.tif 000004
【図３】
0003747599.tif 000005
【図４】
0003747599.tif 000006
【図５】
0003747599.tif 000007
【図６】
0003747599.tif 000008
【図７】
0003747599.tif 000009
【図８】
0003747599.tif 000010
【図９】
0003747599.tif 000011
【図１０】
0003747599.tif 000012
【図１１】
0003747599.tif 000013
【図１２】
0003747599.tif 000014
【図１３】
0003747599.tif 000015
【図１４】
0003747599.tif 000016
【図１５】
0003747599.tif 000017
【図１６】
0003747599.tif 000018
【図１７】
0003747599.tif 000019
【図１８】
0003747599.tif 000020
【図１９】
0003747599.tif 000021
【図２０】
0003747599.tif 000022
【図２１】
0003747599.tif 000023
【図２２】
0003747599.tif 000024
【図２３】
0003747599.tif 000025
【図２４】
0003747599.tif 000026
【図２５】
0003747599.tif 000027
【図２６】
0003747599.tif 000028
【図２７】
0003747599.tif 000029
【図２８】
0003747599.tif 000030
【図２９】
0003747599.tif 000031
【図３０】
0003747599.tif 000032
【図３１】
0003747599.tif 000033
【図３２】
0003747599.tif 000034
【図３３】
0003747599.tif 000035
【図３４】
0003747599.tif 000036
【図３５】
0003747599.tif 000037
【図３６】
0003747599.tif 000038
【図３７】
0003747599.tif 000039
【図３８】
0003747599.tif 000040
【図３９】
0003747599.tif 000041
【図４０】
0003747599.tif 000042