(57)【特許請求の範囲】
【請求項１】
車両に搭載された自車両の周りの所定領域を撮像する撮像手段と、
前記撮像手段から得られた画像を記憶する画像記憶手段と、
前記画像記憶手段により記憶された画像に対して、自車両の走行車線の白線を検出するための領域を設定する白線検出領域設定手段と、
前記白線検出領域設定手段により設定された領域に対して、フィルタ演算によりエッジ抽出を行いエッジ画像を生成するエッジ画像生成手段と、
前記白線検出領域内で抽出されたエッジ画像より白線検出を行う白線検出手段と、
前記エッジ画像生成手段でのフィルタ演算に用いるフィルタ係数を更新するエッジフィルタ更新手段とを有し、
前記エッジフィルタ更新手段は、前記白線検出領域内の濃度値と前記白線検出手段により検出された白線の傾きの両方に基づいてフィルタを更新することを特徴とする白線検出装置。
【請求項２】
道路形状と車両挙動を表わす複数のパラメータを用いて、道路白線の形状を数式化モデルで表わしたものを白線モデルとし、この白線モデルと前記白線検出手段で検出された結果が一致するように前記白線モデルの複数のパラメータを更新するパラメータ更新手段を有することを特徴とする請求項１に記載の白線検出装置。
【請求項３】
前記白線検出領域設定手段は、前記画像記憶手段により記憶された画像に対して、自車両の走行車線の白線を検出するための複数の領域を、自車両から見て近い方から遠い方へ順次設定することを特徴とする請求項１または２に記載の白線検出装置。
【請求項４】
前記エッジ画像生成手段は、前記白線検出領域設定手段で設定する領域ごとにフィルタ演算処理を行うことを特徴とする請求項３に記載の白線検出装置。
【請求項５】
前記エッジフィルタ更新手段は、前記白線検出領域設定手段で設定された白線検出領域内の濃度値と前記白線検出手段により検出された白線の傾きの両方に基づいて、次の白線検出領域内の白線のエッジが最も強調されるようなフィルタを予測してエッジフィルタの更新をすることを特徴とする請求項３または４に記載の白線検出装置。
【請求項６】
前記エッジフィルタ更新手段は、次にフィルタ演算する白線検出領域が自車両に一番近い領域である場合には、前回入力された画像上において自車両に一番近い白線検出領域で演算され導き出された当該領域に用いたフィルタを、フィルタ演算に用いるフィルタとして更新することを特徴とする請求項３、４または５に記載の白線検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、撮像手段により取り込まれた道路画像から、白線の検出を行う白線検出装置に関する。
【０００２】
【従来の技術】
車両の自動走行などを考慮した場合、走行車線内での自車両の位置を検出することは不可欠である。走行車線内での自車両の位置を高精度で検出するためには、走行車線そのものを精度よく認識することが重要である。走行車線を検出する方法は様々研究されているが、ドライバは運転に必要な情報のほとんどを白線で区切られた走行車線から得ているということから、走行車線の白線を高精度で検出することが自車両の位置を検出するために重要である。走行車線の白線を検出する手段として、撮像手段により取り込まれた道路画像に画像処理をするという方法がある。これは走行車線の白線を認識するために、エッジ抽出を行いエッジ画像を生成して、得られたエッジ画像より白線を検出している。エッジとは画像中の濃度変化が大きい部分、いわゆる輪郭線であり、影や汚れによって濃度が変化しても検出しやすいという利点がある。
【０００３】
このように白線を検出する際には、エッジ抽出して得たエッジ画像により行なわれるが、エッジ抽出はフィルタ演算により行われるので、フィルタ演算処理がうまくいくかどうかが白線検出の精度を決める。従来、エッジ検出を行う際のフィルタを選択し、明瞭なエッジ画像を得る技術として特開２００１−１０１４２８号公報記載のものがある。この技術は、画像からフィルタによりエッジ抽出してエッジ画像を得る画像処理装置であって、フィルタ選択手段を備えている。そして、フィルタ選択手段は、画素の輝度やエッジ強度、およびエッジを抽出し投影して得たヒストグラムのピーク値に応じてフィルタを選択している。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような上記従来の技術にあっては、フィルタ選択時の判断が画像の輝度差すなわちコントラスト情報のみに基づいているので、実際の走行環境のように路面表示や走行車両のようなノイズ成分が多い状態では、検出対象である白線よりもノイズ成分の方が強調されたエッジ画像となり、そのエッジ画像から白線を検出するのが非常に困難であるといった課題があった。また、選択されるフィルタが垂直なエッジ成分に最も強く反応するものであるため、カーブしている道路の白線を検出しようとすると、最適なエッジ画像が得られないといった問題があった。
【０００５】
そこで本発明は、このような従来の問題点に鑑み、周囲の明るさや道路形状が変化しても、他のノイズ成分よりも検出対象である白線のエッジ画像が強調されたエッジ画像を生成することができ、またカーブしている道路の白線に対しても、最適なエッジ画像を得ることができる白線検出装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
請求項１記載の発明は、車両に搭載された自車両の周りの所定領域を撮像する撮像手段と、前記撮像手段から得られた画像を記憶する画像記憶手段と、前記画像記憶手段により記憶された画像に対して、自車両の走行車線の白線を検出するための領域を設定する白線検出領域設定手段と、前記白線検出領域設定手段により設定された領域に対して、フィルタ演算によりエッジ抽出を行いエッジ画像を生成するエッジ画像生成手段と、前記白線検出領域内で抽出されたエッジ画像より白線検出を行う白線検出手段と、前記エッジ画像生成手段でのフィルタ演算に用いるフィルタ係数を更新するエッジフィルタ更新手段とを有し、前記エッジフィルタ更新手段は、前記白線検出領域内の濃度値と前記白線検出手段により検出された白線の傾きの両方に基づいてフィルタを更新するものとした。
【０００７】
請求項２記載の発明は、道路形状と車両挙動を表わす複数のパラメータを用いて、道路白線の形状を数式化モデルで表わしたものを白線モデルとし、この白線モデルと前記白線検出手段で検出された結果が一致するように前記白線モデルの複数のパラメータを更新するパラメータ更新手段を有するものとした。
【０００８】
請求項３記載の発明は、前記画像記憶手段により記憶された画像に対して、自車両の走行車線の白線を検出するための複数の領域を、自車両から見て近い方から遠い方へ順次設定するものとした。
【０００９】
請求項４記載の発明は、前記白線検出領域設定手段で設定する領域ごとにフィルタ演算処理を行うものとした。
【００１０】
請求項５記載の発明は、前記白線検出領域設定手段で設定された白線検出領域内の濃度値と前記白線検出手段により検出された白線の傾きの両方に基づいて、次の白線検出領域の白線のエッジが最も強調されるようなフィルタを予測してエッジフィルタの更新をするものとした。
【００１１】
請求項６記載の発明は、次にフィルタ演算する白線検出領域が自車両に一番近い領域である場合には、前回入力された画像上において自車両に一番近い白線検出領域で演算され導き出された当該領域に用いたフィルタを、フィルタ演算に用いるフィルタとして更新するものとした。
【００１２】
【発明の効果】
請求項１記載の発明によれば、エッジ画像を生成するエッジフィルタを白線検出領域内の濃度値と、白線の傾きの両方に基づいてフィルタ更新することによって、白線の傾きに応じた適切なフィルタ演算が行えるため、カーブによる検出誤差の影響や自車両が走行車線内で左右に寄って走行している場合の白線の見え方による検出誤差による影響を無くすことができる。
【００１３】
請求項２記載の発明によれば、白線検出手段により検出された結果から道路白線を白線モデルによって表わすことにより、白線検出領域設定の際の基とすることができる。道路白線を白線モデルによって認識することにより、小さな白線検出領域を設定するだけで道路白線を捕らえることができるので、エッジフィルタ演算処理する際の処理速度が向上する。
【００１４】
請求項３記載の発明によれば、自車両に近い白線検出領域はノイズが少ないので正確な道路白線を検出しやすい。そこで自車両に一番近い白線検出領域で検出された白線を基に順次遠方の方へ領域設定することにより、白線検出領域は的確に道路白線を捕らえることができる。
【００１５】
請求項４記載の発明によれば、白線検出領域設定で設定する領域ごとにフィルタ演算処理を行うことにより、強調したい白線の線分の傾きが複数混在しているような場合でも、的確に白線の線分を強調することができる。
【００１６】
請求項５記載の発明によれば、白線検出領域設定手段で設定された白線検出領域内の濃度値と前記白線検出手段により検出された白線の傾きの両方に基づいて、次に検出しようとする白線のエッジが最も強調されるようなフィルタを予測してエッジフィルタを選ぶことにより、道路白線がカーブしているような場合でも、的確に道路白線のエッジ画像を得ることができる。
【００１７】
請求項６記載の発明によれば、次にフィルタ演算する白線検出領域が自車両に一番近い領域である場合には、前回入力された画像の自車両に一番近い当該領域で演算され導き出されたフィルタを、エッジ抽出するフィルタとして設定することにより、画面は変わっているものの大きくはずれたフィルタを選択してしまうようなことはない。
【００１８】
【発明の実施の形態】
次に発明の実施の形態を説明する。
図１は白線検出を車両制御装置に適用した実施の形態の構成を示す図である。
マイクロコンピュータ２は、カメラ１から入力された画像に画像処理を施して道路上の白線を検出する。そして道路形状と車両挙動を示す複数のパラメータを用いて道路白線の形状を数式化モデルで表わして、道路白線の検出結果と白線モデルが一致するように道路パラメータを更新することによって道路形状を認識する。カメラ１は本発明における撮像手段を構成する。
【００１９】
メモリ３は撮像された道路画像やマイクロコンピュータ２により処理されたエッジ画像、白線モデルのパラメータなどを記憶する。メモリ３は本発明における画像記憶手段を構成する。
センサ４は車両の挙動を表わす車速、舵角などを検出しマイクロコンピュータ２に検出結果を出力するものである。車両制御部５はマイクロコンピュータ２からの出力信号に基づいてステアリングやアクセルブレーキ制御などを行うものである。警報部６はマイクロコンピュータ２からの出力信号に基づいて車線逸脱などの警報を発するものである。表示部７は検出結果の道路形状などを表示するためのものである。
【００２０】
図２にカメラ１の車両取り付け位置を示す。図２の（ａ）は車両上方から見た図であり、図２の（ｂ）は車両側面から見た図である。カメラ１は車両２３の室内のフロントウィンドウ上部の車幅方向中央に取り付けられ車両前方の道路を撮像し、マイクロコンピュータ２に撮像画像を出力する。
【００２１】
次に、図３、図４のフローチャートにしたがって、マイクロコンピュータ２における道路白線を検出するための処理の流れを説明する。
ステップ１０１において、道路形状や車両挙動を表わすパラメータ（以下、単に道路パラメータとする）を初期設定する。図５に示すような画面座標系ｘｙ上において、白線モデル２２を道路パラメータにより次のように数式で示す。
ｘ＝（ａ＋ｉｅ）（ｙ−ｄ）＋ｂ／（ｙ−ｄ）＋ｃ                  （１）
式（１）において、ａ〜ｅは道路パラメータであり、路面からカメラ１の高さを一定とすると、それぞれ道路パラメータは次のような道路および白線の形状または車両挙動を表わす。ａは走行車線内の自車両の車両位置を、ｂは道路の曲率を、ｃは自車両（カメラ１の光軸）の道路に対するヨー角を、ｄは自車両（カメラ１の光軸）の道路に対するピッチ角を、ｅは道路の車線幅を、それぞれ表わす。また、ｃは自車両とカメラ１との取り付け角度のうちパン角を、ｄは自車両とカメラ１との取り付け角度のうちチルト角を含んだものである。また、初期状態では道路および白線の形状や車両挙動が不明であるから、各道路パラメータには例えば中央値に相当する値を初期値として設定する。すなわち、車線内の位置ａには車線中央を設定し、車線に対するヨー角ｃにはパン角を設定する。また、車線に対するピッチ角ｄには停止状態のチルト角を設定し、車線幅ｅには道路構造令に示される高速道路の車線幅を設定する。
【００２２】
ステップ１０２において、カメラ１により撮像された画像をマイクロコンピュータ２に入力する。
ステップ１０３において、マイクロコンピュータ２に入力された画像をメモリ３に記憶する。
【００２３】
ステップ１０４において、図５に示すように白線検出領域１０〜２１の設定を行う。白線検出領域を設定する位置は、式（１）に表わされる白線モデル２２が領域の中心となるように設定する。まず、白線モデル２２上の自車両に一番近いところに例えば白線検出領域１０を設定し、後述するステップ１０５からステップ１０９までの処理が終わった後、ステップ１１０からステップ１０４に戻り、次の白線検出領域１１または白線検出領域１６を設定する。すなわち、白線検出領域１０から白線検出領域１５までを白線検出領域１０、１１、１２・・１５のように順に設定した後、図中右側の白線検出領域１６から白線検出領域２１までを白線検出領域１６、１７、１８・・２１のように順に設定してもよく、また白線検出領域１０を設定した後、白線検出領域１６を設定し次に白線検出領域１１を設定するというように左右の白線交互に白線検出領域を設定してもよい。白線検出領域を設定する設定順序は、左右の白線に対し左右の順番は問わないが、検出しようとする白線に対しては自車両に近い方から遠い方へ白線検出領域を順次設定していくものとする。このようにステップ１０４からステップ１１０までを繰り返すことにより、左右の道路白線８上に６個ずつ計１２個の白線検出領域が設定される。
【００２４】
初期状態においては、道路パラメータに初期値を設定した白線モデルと、実際の画面上の道路白線との間には大きな開きがあると予想されるので、できる限り大きく白線検出領域を設定する方がよい。なお前回の処理で道路パラメータが更新されているような場合には、実際の道路白線と白線モデルとの差は小さいと考えられるので、なるべく小さな領域を設定する方が白線以外のものを誤検出する可能性が低く、しかも処理速度を向上させることができる。
【００２５】
ステップ１０５において、設定されているフィルタを用いてメモリ３に記憶されている入力画像に対してフィルタ演算を施してエッジ画像を作成し、その結果をメモリ３に記憶する。ここで用いるフィルタは、初期状態では例えばＳＯＢＥＬフィルタを設定しておき、以降の処理では後述するステップ１０９で更新されたフィルタを用いる。
【００２６】
ステップ１０６で、白線検出領域において白線候補の検出を行う。
図５中、白線検出領域１０と白線検出領域１６の領域において抽出されたエッジ画像を図６の（ａ）及び（ｂ）に示す。
白線候補の検出は、白線検出領域の上底の一点と下底の一点とを結んでできるすべての線分Ｌに対し、その線分上の画素の濃度が所定値以上の画素を白線候補とする。さらに、すべての線分Ｌの中で、白線候補が最も多い線分Ｌをその領域内での検出直線とする。
【００２７】
ステップ１０７では、検出直線上にある白線候補の数が所定値以上かどうか判断する。検出直線上に、所定値以上の濃度の画素数が、検出直線の長さに対する所定の割合よりも少ない場合には、白線が検出されなかったものとみなし、ステップ１１０へ進む。所定の割合よりも多い場合は、ステップ１０８へ進む。
【００２８】
ステップ１０８では、検出直線上の白線候補が所定の割合よりも多い場合には、その検出直線を仮に白線とみなす。そして、その白線の傾きをｙ／ｘとして出力する。
例えば検出直線の長さが１５画素数で、白線候補の数が１／２以上、すなわち８画素以上検出されれば仮に白線が検出されたとする白線検出領域においては、検出直線上における白線候補の数が７画素以下の場合には、その白線検出領域において白線が検出されなかったものとする。一方、白線候補の数が８画素以上の場合は仮に白線が検出されたものとし、その白線の傾きを検出結果とする。以上の処理をすべての白線検出領域に対して実行する。この時、白線の検出有無を判断するための、検出直線の長さに対する上記所定の割合は、すべての白線検出領域に対して同一としてもよいし、白線検出領域ごとに設定してもよい。また、上記濃度の所定値もすべての白線検出領域に対して同一としてもよいし、白線検出領域ごとに変えてもよい。
【００２９】
ステップ１０９では、上記ステップ１０８で求められた白線の傾きに基づいてフィルタの形状を更新して、さらに上記ステップ１０４で設定した白線検出領域内の濃度値に基づいてフィルタの係数を更新する。
【００３０】
図７、図８のフローチャートにしたがって、ステップ１０９でのフィルタ更新の詳細について説明する。
ここで、白線内側の線分が図５中右上がりの場合には傾きは負の値、左上がりの場合には正の値を取るものとする。
まずステップ７０１で白線検出領域内で検出された白線の傾きｙ／ｘを参照する。
ステップ７０２では、ｙ／ｘについてｙ／ｘ≧−２かどうか判断される。ｙ／ｘ≧−２が真の時はステップ７０３へ進む。ｙ／ｘ≧−２が偽の時はステップ７０９へ進み、垂直エッジ成分が最も強調されるフィルタ３を選択する。このフィルタ３は例えば図９の（ｃ）のようなものである。
ステップ７０３では、ｙ／ｘについてｙ／ｘ＞−１／２かどうか判断される。ｙ／ｘ＞−１／２が真の時はステップ７０５へ進む。ｙ／ｘ＞−１／２が偽の時はステップ７０４へ進み、右上がりのエッジ成分が最も強調されるフィルタ２を選択する。このフィルタ２は例えば図９の（ｂ）のようなものである。
【００３１】
ステップ７０５では、ｙ／ｘについて、ｙ／ｘ＞１／２かどうか判断される。ｙ／ｘ＞１／２が真の時はステップ７０７へ進む。ｙ／ｘ＞１／２が偽の時はステップ７０６へ進み、水平エッジ成分が最も強調されるフィルタ１を選択する。このフィルタ１は例えば図９の（ａ）のようなものである。
ステップ７０７では、ｙ／ｘについてｙ／ｘ＞２かどうか判断される。ｙ／ｘ＞２が真の時はステップ７０９へ進む。ｙ／ｘ＞２が偽の時はステップ７０８へ進み、左上がりのエッジ成分が最も強調されるフィルタ４を選択する。このフィルタ４は例えば図９の（ｄ）のようなものである。
ステップ７０９では、ｙ／ｘ＜−２、または２＜ｙ／ｘなので垂直エッジ成分が最も強調されるフィルタ３を選択し次のステップ７１０へ進む。
【００３２】
本実施例では、フィルタの種類を５種類としているが、これに限定されることなく、フィルタの種類を増やすことにより細かな白線の傾きに応じて適切なフィルタを選択できる。
さらにフィルタ形状を図９の（ａ）〜（ｄ）に示すように３×３の正方形としているが、フィルタ形状を３×３に限定せず図９の（ｅ）に示すように６×３のフィルタとすることもできる。
【００３３】
次に、白線検出領域の濃度値に基づいてフィルタの係数を決定する。
画像のコントラストが低い時は、よりコントラストが強調されるような係数を選択する。
まずステップ７１０では、白線検出領域内の画像のヒストグラムを算出する。
ステップ７１１では、ヒストグラムの輝度の高い方のピークを白線のピークと考え、さらに低い方のピークを路面のピークと考え、この白線のピーク値と路面のピーク値との差Ｈを算出する。
【００３４】
ステップ７１２からステップ７１６で、前記Ｈを所定の閾値であるＴ１、Ｔ２と比較し、前記各Ｈの値に応じて係数１〜３を選択する。所定の閾値Ｔ１、Ｔ２はＴ１＜Ｔ２の関係を満たすものとする。
ステップ７１２では、低い方の閾値であるＴ１と前記Ｈを比較する。前記Ｈについて、Ｈ＞Ｔ１かどうか判断する。Ｈ＞Ｔ１が真の場合はステップ７１４へ進む。Ｈ＞Ｔ１が偽の時はステップ７１３へ進み、画像のコントラストが低い時用の係数３を選択する。係数３は例えばα＝２として通常時の倍の係数を設定する。
【００３５】
ステップ７１４では、高い方の閾値であるＴ２と前記Ｈを比較する。前記Ｈについて、Ｈ＞Ｔ２かどうか判断される。Ｈ＞Ｔ２が真の場合はステップ７１６へ進む。Ｈ＞Ｔ２が偽の時はステップ７１５へ進み、画像のコントラストが中間の時用の係数２を選択する。係数２は例えばα＝１．５のように設定される。
ステップ７１６では、前記ＨにつてＴ２＜Ｈなので、画像のコントラストが高い時用の係数１を選択する。係数１は例えばα＝１のように設定される。
本実施例では係数の種類を３種類としているが、これに限定されることなく係数の種類を増やしたり、設定する値を変えることもできる。
【００３６】
ステップ７１７では、ステップ７０１からステップ７１６で演算され導き出されたフィルタを、次に白線検出領域を設定しフィルタ演算を行うために使用するメモリ３に記憶されているフィルタと置き換える。
更新する新しいフィルタは、白線の傾きとエッジ画像のコントラストの両方を考慮したものであり、例えばフィルタの種類と係数の掛け算されたものである。例として、フィルタ２と係数２が選択された場合における、更新するフィルタを図１０に示す。
【００３７】
一方の白線において、白線検出領域を設定しエッジ画像抽出の際に用いるフィルタは、当該白線において自車両から見て前記白線検出領域を設定しようとする領域の一つ手前の領域で導き出されたフィルタを使用する。
次にエッジ抽出する白線検出領域が自車両に一番近いところである場合には、当該領域において前回入力された画像から導き出されたフィルタを使用する。
【００３８】
図３、図４のフローチャートに戻って、ステップ１１０では、白線検出領域の設定がすべて終了したかどうかを判断する。図５に示す例では、左右の道路白線８上に６個ずつ計１２個の白線検出領域を自車両に近い方から順に設定するものとしたが、全部の白線検出領域を設定していない場合はステップ１０４に戻り次の白線検出領域を設定する。一方、全部の白線検出領域を設定している場合にはステップ１１１へ進む。
【００３９】
ステップ１１１では、すべての白線検出領域で検出した仮の白線の数が所定値以上かどうかを確認し、所定値より少なければ白線検出領域内に道路白線が含まれていなかったと判断し、後述するステップ１２０へ進む。一方、仮の白線が所定値以上検出された場合には、道路白線が検出されたとしてステップ１１２へ進む。
【００４０】
ステップ１１２では、今回検出した道路白線と前回入力された画像から求めた白線モデルとのずれ量を算出する。
ステップ１１３でずれ量に基づいて道路パラメータの変動量Δａ〜Δｅを算出する。この変動量の算出方法は、例えば特開平８−５３８８号に開示されているような方法を取ることができる。
【００４１】
次にステップ１１４では算出した道路パラメータの変動量Δａ〜Δｅにより道路パラメータａ〜ｅを補正する。例えば式（１）に示す白線モデルの場合には次式により道路パラメータａ〜ｅの補正を行う。ａ’は補正結果であるａに対し前回の入力画像より求められた白線モデルの道路パラメータである。ｂ’、ｃ’、ｄ’、ｅ’についても同様とする。
ａ=ａ’＋Δａ、        ｂ=ｂ’＋Δｂ、        ｃ=ｃ’＋Δｃ、
ｄ=ｄ’＋Δｄ、        ｅ=ｅ’＋Δｅ、                        （２）
【００４２】
ステップ１１５では、道路パラメータの中で道路形状を表わすパラメータが正常かどうかを確認し、正常でない場合にはステップ１１６へ進み、道路形状道路形状を表わすパラメータを初期化する。式（１）に示す白線モデルの場合には、パラメータｂが道路曲率を、パラメータｅが車線幅をそれぞれ反映する。したがって、パラメータｂから推測される道路曲率ｂが、センサ４による車両挙動検出値から判断して現在走行している道路ではありえない道路曲率になった場合は、パラメータｂを初期化する。同様にパラメータｅから推測される車線幅がセンサ４による車両挙動検出値から判断して現在走行している道路ではあり得ない車線幅になった場合には、パラメータｅを初期化する。道路形状を表わすパラメータが正常な場合にはステップ１１７へ進む。
【００４３】
次にステップ１１７では車両挙動を表わすパラメータが正常かどうかを確認し、正常でない場合はステップ１１８へ進み、車両挙動を表わすパラメータを初期化する。式（１）に示す白線モデルの場合には、パラメータａが車線内の自車両の位置を、パラメータｃが道路に対するヨー角を、パラメータｄが路面に対するピッチ角をそれぞれ反映する。したがってパラメータａから推定される車両位置が、道路曲率の推定値あるいはセンサ４による車両挙動検出値から判断して現在走行している道路では有り得ない車両位置になった場合には、パラメータａを初期化する。同様にパラメータｃにより推定されるヨー角が、道路曲率の推定値、あるいはセンサ４による車両挙動検出値から判断して現在走行している道路では有り得ない角度になった場合には、パラメータｃを初期化する。さらに、パラメータｄから推定されるピッチ角が、センサ４に車両挙動検出値から判断して現在走行している道路では有り得ない角度になった場合になった場合には、パラメータｄを初期化する。車両挙動を表わすパラメータが正常な場合にはステップ１１９へ進む。
【００４４】
ステップ１１９では、補正した道路パラメータａ〜ｅを新しい白線モデルの道路パラメータとして更新し、メモリ３に記憶する。
最後にステップ１２０では、更新された道路パラメータから白線モデルを算出する。またステップ１１１で白線の検出数が所定値以下の時は、前回の道路パラメータの推定値から白線モデルを算出する。必要に応じ道路パラメータからの情報を車両制御部５や警報部６や表示部７などに出力する。
以上の処理が終了したらステップ１０２へ戻り上述した処理を繰り返す。
【００４５】
本実施例では、ステップ１０４が本発明の白線検出領域設定手段を構成し、ステップ１０５がエッジ画像生成手段を、ステップ１０８が白線検出手段を構成する。また、ステップ１０９がエッジフィルタ更新手段を構成し、ステップ１１９がパラメータ更新手段を構成する。
【００４６】
本実施例は以上のように構成され、白線の傾きに応じた最適なフィルタが得られるため、カーブによる検出誤差の影響や、自車両が走行車線内で左右に寄って走行している等の場合において、白線の見え方による検出誤差の影響を無くすことができる。例えば図１１に示す進行方向がカーブしている道路の白線を検出するような場合に、強調したい白線の線分の傾きが複数混在（例えば図中左側白線の車両に近い領域は右上がりの４５度の線分、左側白線の車両から遠い領域の白線の傾きは水平に近い線分、図中右側白線の車両に近い領域の白線の傾きは左上がりの４５度の線分、右側白線の車両から遠い領域の白線の傾きは垂直に近い線分）していても、的確に白線の線分を強調することができる。
【００４７】
白線検出領域設定の際に白線モデルを基に領域を設定することにより、小さな領域で道路白線を捕らえることができ、白線検出領域が小さい分エッジフィルタ演算の処理速度が速くなり、またノイズ成分を検出する可能性が低くなるので、正確な道路白線が検出できる。
【００４８】
なお、白線検出領域を設定する際に、過去の白線モデルの変化の様子から白線モデルの変化の方向にオフセットした位置に白線検出領域を設定してもよい。
白線検出領域はメモリ３上に設定するようにしているが、マイクロコンピュータがキャッシュメモリ等を有しているのであれば、そのメモリを利用してもかまわない。
【００４９】
図５において白線検出領域を自車両から見て白線の内側のエッジ部分に設定したが、白線モデルが自車両から見て白線の外側に設定されている等の時は、その白線モデルが白線検出領域の中心となるように領域設定する。
【００５０】
初期状態において道路パラメータを設定する際には、センサ４で検出される車両の挙動を表わす値に基づいて道路パラメータの初期値を設定してもよい。例えば初期状態において、ステアリングが右または左に転舵されているような時は、操舵角に応じた曲率の道路を走行していると判断して、パラメータｂに操舵角に応じた値を設定してもよい。
【図面の簡単な説明】
【図１】本発明の実施例を示す図である。
【図２】カメラの取り付け位置を示す図である。
【図３】道路白線検出処理を示すフローチャートである。
【図４】道路白線検出処理を示すフローチャートである。
【図５】白線検出領域を示す図である。
【図６】白線検出領域における検出白線を示す図である。
【図７】エッジフィルタの更新処理を示すフローチャートである。
【図８】エッジフィルタの更新処理を示すフローチャートである。
【図９】エッジフィルタの例を示す図である。
【図１０】更新されたフィルタの例を示す図である。
【図１１】カーブしている道路を示す図である。
【符号の説明】
１    カメラ
２    マイクロコンピュータ
３    メモリ
４    センサ
５    車両制御部
６    警報部
７    表示部
８    白線
９    消失点
１０〜２１    白線検出領域
２２    白線モデル
２３    車両
【図１】
0003867542.tif 000002
【図２】
0003867542.tif 000003
【図３】
0003867542.tif 000004
【図４】
0003867542.tif 000005
【図５】
0003867542.tif 000006
【図６】
0003867542.tif 000007
【図７】
0003867542.tif 000008
【図８】
0003867542.tif 000009
【図９】
0003867542.tif 000010
【図１０】
0003867542.tif 000011
【図１１】
0003867542.tif 000012