(57)【特許請求の範囲】
【請求項１】
車両周囲の画像を撮像する撮像手段と、
当該撮像手段の撮像画像を処理して道路上の白線を検出する白線検出手段と、
当該白線検出手段での白線検出結果に基づいて路面形状及び路面に対する車両の相対位置関係の少なくとも何れか一方を表すパラメータを推定するパラメータ推定手段と、
当該パラメータ推定手段で推定した推定値の、基準値に対する変位の符号が、所定時間同一であるときに前記白線検出手段での白線検出異常と判断する異常検出手段と、を備えることを特徴とする道路白線認識装置。
【請求項２】
前記パラメータ推定手段は、自車両のピッチ角、前記撮像手段の高さ及び走行路の車線幅のうちの少なくとも何れか一つを前記パラメータとして推定するようになっていることを特徴とする請求項１記載の道路白線認識装置。
【請求項３】
自車両の前後加速度を検出する前後加速度検出手段を備え、
前記異常検出手段は、前記パラメータ推定手段で推定する推定値の、前記前後加速度検出手段で検出した前後加速度に応じて生じると予測される変化量を検出し、検出した前後加速度相当変化量に基づいて前記基準値をオフセットするようになっていることを特徴とする請求項１又は２記載の道路白線認識装置。
【請求項４】
前記白線検出手段で検出した道路白線が実線であるか破線であるかを検出する破線検出手段を有し、
前記パラメータ推定手段は、前記異常検出手段で前記白線検出異常を検出し、且つ前記破線検出手段での検出結果に基づき、道路上の左右の道路白線として検出された道路白線のうち一方のみが破線であると判定されるときには、前記白線検出異常を検出した後所定時間は、破線の道路白線のみを用いて前記パラメータを推定するようになっていることを特徴とする請求項１乃至３の何れかに記載の道路白線認識装置。
【請求項５】
前記撮像手段は単眼カメラであって、前記パラメータ推定手段は、前記撮像手段高さを当該撮像手段高さの平均値とオフセット量との和とし且つ前記オフセット量を安定系で近似して前記撮像手段高さを推定するようになっていることを特徴とする請求項１乃至４の何れかに記載の道路白線認識装置。
【請求項６】
前記撮像手段は単眼カメラであって、前記パラメータ推定手段は、走行路の車線幅を当該車線幅の平均値とオフセット量との和とし且つ前記オフセット量を安定系で近似して前記車線幅を推定するようになっていることを特徴とする請求項１乃至４の何れかに記載の道路白線認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、道路上の通行区分帯表示用の白線を認識するための道路白線認識装置に関する。
【０００２】
【従来の技術】
従来より、画像によって白線を認識し、自車両と白線との関係を、車両の自動制御又は一部自動制御に用いたりする技術が提案されている。
例えば、特開平１１−２８１３５２号公報には、撮像画像を処理して道路上の白線を検出し、白線検出結果に基づいて、自車両の車線に対する横変位、道路曲率、自車両の車線に対するヨー角、ピッチ角、カメラ高さ、車線幅等といった道路形状及び車両挙動を表すパラメータを検出し、このパラメータに基づいて推定した車両挙動と実際の車両挙動とに基づいて前記パラメータを補正し、補正後のパラメータに基づいて、道路の形状を検出することによって、道路の分岐点を走行する場合や先行車両に割り込まれた場合であっても、走行車線の白線を正確に検出し、正確に道路形状を推定するようにしたものが提案されている。
【０００３】
また、例えば特開平１１−２３２４６７号公報には、車両前方の路面画像を取得し、その撮影画像の中から路面に表示されている白線と路面との境界線とを特定の探索領域内において検出し、検出された境界線の相対的位置関係から、例えば白線の両側の境界線が離れていくことを検出し、分岐していると判定するようにしたもの等が提案されている。
【０００４】
【発明が解決しようとする課題】
ところで、一般に、分岐箇所においては、分流誘導路の白線の方が、走行車線の白線よりも鮮明であることが多い。例えば、分流が左側である場合には、分流箇所の左白線はかすれている場合が多い。これは、分流する自動車が左側白線の上を通過し、左白線を汚すためである。
【０００５】
このように、分流誘導路の白線の方が、走行車線の白線よりも鮮明である場合、例えば上記特開平１１−２８１３５２号公報の場合には、白線候補線を選択する際に、より鮮明な白線を選択しているため、分流誘導路の白線を走行車線の白線として誤認識してしまう場合がある。
これに対する対策として、道路パラメータとして推定したピッチ角やカメラ高さを監視し、これらが所定レンジを超えた場合に、道路パラメータの推定に失敗した、すなわち、誤推定と判断し、画像処理をリセットする等を行うようにしている。
【０００６】
例えば、図２０に示すように、分流直前で白線の誤認識が生じ、分流誘導線が左白線として誤認識されると、算出されるピッチ角は真のピッチ角よりも大きくなる。そして、ピッチ角が大きくなるほど、ピッチ角に相当する消失点Ｐは図２０に示すように画像上方に移動し、ノーズダイブ状態となる。ピッチ角が、所定レンジを超えたとき、つまり、画像上において、消失点が通常存在する領域からはずれたときに、ピッチ角は誤推定されていると判断される。
【０００７】
また、例えば、図２１に示すように、分流部進入後に白線の誤認識が生じ、分流誘導線が左白線として誤認識されると、これに基づいて算出される車線幅が増加すると共に消失点は図２１に示すように画像上方に移動する。ここで、車線幅がほぼ一定であるものとすると、推定されるカメラ高さは低下し、このカメラ高さが所定レンジを超えたときに、誤推定として判断される。
【０００８】
逆に、カメラ高さを固定し、車線幅を可変として、道路パラメータを推定する方法では、分流部の誤認識によって車線幅が増加することになる。このように、一方を固定とするのは、カメラが単眼カメラであるための推定次元の制約である。仮にカメラがステレオであるならば、高さと車線幅とは分離されるため、車線幅増加が生じることになる。
【０００９】
しかしながら、このように、ピッチ角或いはカメラ高さ、車線幅が所定レンジを超えたときに、誤推定として判断する方法にあっては、通常走行時に発生するピッチ角或いはカメラ高さ、車線幅に対し、これを誤推定として判断しないようにするために、所定レンジを必要以上に小さくすることができない。このため、分流時の誤推定の判断までに時間がかかるという問題がある。
【００１０】
また、前記特開平１１−２３２４６７号公報の場合には、道路白線を２本以上認識し、これらの振る舞いから分流を判断している。つまり、例えば、左分流の場合には、白線候補線が３本であり、そのうち、左２本の横方向の座標の差が大きくなる場合に分流と判断している。
しかしながら、分流の起点では、白線が３本ないことが多く、また、走行車線の分流側白線は一般にかすれており、２本以上の白線認識は困難な場合が多く、また、場合によっては、走行車線の分流側白線は一部全く書かれていない場合等もあり、的確に分流を識別することができない場合があるという問題がある。
【００１１】
そこで、この発明は、上記従来の未解決の問題に着目してなされたものであり、分岐部分であっても的確に且つ速やかに走行路の白線を検出することの可能な道路白線認識装置を提供することを目的としている。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に係る道路白線認識装置は、車両周囲の画像を撮像する撮像手段と、当該撮像手段の撮像画像を処理して道路上の白線を検出する白線検出手段と、当該白線検出手段での白線検出結果に基づいて路面形状及び路面に対する車両の相対位置関係の少なくとも何れか一方を表すパラメータを推定するパラメータ推定手段と、当該パラメータ推定手段で推定した推定値の、基準値に対する変位の符号が、所定時間同一であるときに前記白線検出手段での白線検出異常と判断する異常検出手段と、を備えることを特徴としている。
【００１３】
また、請求項２に係る道路白線認識装置は、前記パラメータ推定手段は、自車両のピッチ角、前記撮像手段の高さ及び走行路の車線幅のうちの少なくとも何れか一つを前記パラメータとして推定するようになっていることを特徴としている。
【００１４】
この請求項１及び請求項２に係る発明では、撮像手段で撮像した撮像画像から道路上の白線が検出され、この白線検出結果に基づいて路面形状や路面に対する車両の相対位置関係を表すパラメータが推定される。そして、この推定したパラメータの推定値と、その基準値とをもとに、道路白線が正常に検出されているかどうかの異常検出が行われ、前記パラメータの推定値の、基準値に対する変位の符号が所定時間同一であるときに、道路白線の検出異常と判断される。
【００１５】
例えば、パラメータとして、自車両のピッチ角、前記撮像手段の高さ及び走行路の車線幅のうちの少なくとも何れか一つが推定され、この推定したパラメータの推定値の、基準値に対する変位の符号が、所定時間同一であるときに白線検出異常と判断される。
ここで、推定される自車両のピッチ角、走行路の車線幅を固定として推定される撮像手段の高さ、撮像手段の高さを固定として推定される走行路の車線幅は、正常に道路白線を検出している状態では、定常値を基準として周期的に増減し、例えば分流部等において分流誘導路の白線を走行路の車線として誤認識した場合等には、推定したパラメータの推定値の、定常値に対する変化状況が変化し、定常値に対して周期的に増減しなくなる。したがって、定常値に対して周期的に増減しなくなったことを検出したとき、つまり、パラメータの推定値の、基準値に対する変位の符号が、所定時間継続して正値、又は負値であるときには、パラメータの推定値が周期的に増減していないから道路白線の検出異常であるとみなすことが可能となる。
【００１６】
また、請求項３に係る道路白線認識装置は、自車両の前後加速度を検出する前後加速度検出手段を備え、前記異常検出手段は、前記パラメータ推定手段で推定する推定値の、前記前後加速度検出手段で検出した前後加速度に応じて生じると予測される変化量を検出し、検出した前後加速度相当変化量に基づいて前記基準値をオフセットするようになっていることを特徴としている。
【００１７】
この請求項３に係る発明では、自車両の前後加速度が検出され、この前後加速度に応じて生じると予測される、パラメータの推定値の変化量が検出される。つまり、自車両に前後加速度が発生していると、この前後加速度に起因して車両挙動が変動するため、この状態で撮像手段で撮像した撮像画像に基づいて、各種パラメータを推定した場合、前後加速度に起因する推定値の変動量分を含むことになり、推定値の基準値に対する増減周期が変化するため、これに基づき道路白線の検出異常の判定を行った場合、誤判断する可能性がある。
【００１８】
しかしながら、前後加速度に起因して生じると予測される推定値の変化量に相当する前後加速度相当変化量に基づいて、基準値がオフセットされるから、前後加速度の影響をうけることなく、道路白線の検出異常の判定が行われることになる。
また、請求項４に係る道路白線認識装置は、前記白線検出手段で検出した道路白線が実線であるか破線であるかを検出する破線検出手段を有し、前記パラメータ推定手段は、前記異常検出手段で前記白線検出異常を検出し、且つ前記破線検出手段での検出結果に基づき、道路上の左右の道路白線として検出された道路白線のうち一方のみが破線であると判定されるときには、前記白線検出異常を検出した後所定時間は、破線の道路白線のみを用いて前記パラメータを推定するようになっていることを特徴としている。
【００１９】
この請求項４に係る発明では、撮像手段の撮像画像に基づいて検出された道路白線が、実線であるか破線であるかが検出される。そして、パラメータの推定値に基づいて白線の検出異常が検出され、且つ、自車両の走行路の左右の道路白線として検出された道路白線のうち、一方のみが破線であると判定されるときには、白線検出異常が検出された後、所定時間は、破線であると判定された道路白線のみを用いてパラメータの推定が行われる。
【００２０】
ここで、一般に、分流部においては、分流誘導路の白線は実線であるため、白線の検出異常が生じていると判定される状態で、自車両走行路の左右の道路白線の一方のみが破線である場合には、分流誘導路の白線を自車両の走行路の白線と誤認識しているとみなすことができる。したがって、分流誘導路の白線を誤認識していると予測される所定時間は、この誤認識している道路白線を用いず、自車両の走行路の道路白線、つまり破線であると判定された道路白線を用いてパラメータを推定することによって、自車両の走行路に応じたパラメータの推定を行うことが可能となる。
【００２１】
また、請求項５に係る道路白線認識装置は、前記撮像手段は単眼カメラであって、前記パラメータ推定手段は、前記撮像手段高さを当該撮像手段高さの平均値とオフセット量との和とし且つ前記オフセット量を安定系で近似して前記撮像手段高さを推定するようになっていることを特徴としている。
この請求項５に係る発明では、撮像手段は単眼カメラであって、パラメータとして撮像手段の高さを推定する場合には、この撮像手段高さの平均値とオフセット量との和を撮像手段の高さとし、オフセット量を安定系で近似することによって、撮像手段高さの推定が行われる。オフセット量を安定系で近似することによって、推定される撮像手段高さは、誤差を含む値から零へと合理的な速度で収束するから、正常な推定値へ連続的に復帰させることが可能となる。
【００２２】
さらに、請求項６に係る道路白線認識装置は、前記撮像手段は単眼カメラであって、前記パラメータ推定手段は、走行路の車線幅を当該車線幅の平均値とオフセット量との和とし且つ前記オフセット量を安定系で近似して前記車線幅を推定するようになっていることを特徴としている。
この請求項６に係る発明では、撮像手段は単眼カメラであって、パラメータとして走行路の車線幅を推定する場合には、車線幅を、この車線幅の平均値とオフセット量との和とし、オフセット量を安定系で近似することによって、車線幅の推定が行われる。オフセット量を安定系で近似することによって、推定される車線幅は、誤差を含む値から零へと合理的な速度で収束するから、正常な推定値へ連続的に復帰させることが可能となる。
【００２３】
【発明の効果】
本発明の請求項１に係る道路白線認識装置によれば、撮像画像から検出した道路白線に基づき推定したパラメータの推定値の、基準値に対する変位の符号が、所定時間同一であるときに白線検出異常と判断するようにしたから、パラメータの推定値の基準値に対する変化特性が変化した時点、つまり、異常が発生した初期の段階で白線検出異常を検出することができ、例えば、パラメータの推定値が許容範囲を超える以前のより早い時点で、白線検出異常を検出することができる。
【００２４】
また、請求項２に係る道路白線認識装置によれば、パラメータとして自車両のピッチ角、撮像手段の高さ、走行路の車線幅等を推定し、この推定値の、基準値に対する変位の符号が、所定時間同一であるときに白線検出異常であると判断するようにしたから、白線検出異常を異常が発生した初期の段階で検出することができる。
【００２５】
また、請求項３に係る道路白線認識装置によれば、自車両の前後加速度に応じて生じると予測される、パラメータの推定値の変化量に相当する前後加速度相当変化量に基づいて、基準値をオフセットするようにしたから、前後加速度の影響をうけることなく、的確に道路白線の検出異常の判定を行うことができる。
また、請求項４に係る道路白線認識装置によれば、白線検出異常を検出し、且つ道路上の左右の道路白線として検出された道路白線のうち一方のみが破線であると判定されるときには、白線検出異常を検出した後所定時間は、破線の道路白線のみを用いて前記パラメータを推定するようにしたから、白線検出異常を検出した状態であっても、自車両の走行路に応じたパラメータの推定を行うことができる。
【００２６】
また、請求項５に係る道路白線認識装置によれば、撮像手段高さを、この撮像手段高さの平均値とオフセット量との和とし、オフセット量を安定系で近似して撮像手段高さを推定するようにしたから、正常な推定値へ連続的に復帰させることができる。
さらに、請求項６に係る道路白線認識装置によれば、走行路の車線幅を、この車線幅の平均値とオフセット量との和とし、オフセット量を安定系で近似して車線幅を推定するようにしたから、正常な推定値へ連続的に復帰させることができる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
まず、本発明の第１の実施の形態を説明する。
図１は、第１の実施の形態の構成を示す図である。ＣＣＤカメラ等の単眼カメラで構成されるカメラ１は、図２に示すように、車幅方向中央の、車室内のフロントウィンドウ上部に、レンズの光軸と車両中心線とのヨー角が零、ピッチ角がαとなるように取り付けられ、車両前部の道路を含む車両の周囲環境を撮像する。画像処理装置２は、カメラ１からの撮像情報に対し所定の処理を行う。メモリ３は、後述する道路白線検出処理プログラムや道路形状及び車両挙動を表す道路パラメータ等を記憶する。制御コントローラ４は、画像処理装置２で所定の処理を施した画像データをもとに白線検出を行い、白線検出の結果に基づいて道路パラメータを推定し、推定結果を前記メモリ３に記憶する。
【００２８】
図３は、制御コントローラ４で実行される道路白線を検出するための道路白線検出処理の処理手順の一例を示すフローチャートである。なお、この道路白線検出処理は、予め設定した所定周期で実行される。
まず、ステップＳ１で、画像処理装置２から１フレームの画像データを読み込み、ステップＳ２に移行し、例外処理フラグＦがＦ＝０であるか否かを判定する。なお、この例外処理フラグＦは起動時には、Ｆ＝０に設定されている。
【００２９】
そして、例外処理フラグＦがＦ＝０である場合には、ステップＳ３に移行し、例外処理フラグＦがＦ＝０でない場合には、後述のステップＳ１０に移行する。前記ステップＳ３では、ステップＳ１で読み込んだ画像データに対し、例えば図４に示すように、複数のウィンドウを設定する。なお、各フレームにおいて、図４に示すように、例えばその左上を原点とし、画像右方をＸ軸の正方向、画像左方向をＸ軸の負方向とする。
【００３０】
なお、各ウィンドウのＹ方向、つまり画像上下方向のウィンドウ位置及びウィンドウサイズは予め設定しておく。例えば図４に示すように、各ウィンドウを添え字ｗで識別し、各ウィンドウの上辺のＹ座標をＹｗとして設定しておく。
そして、前記図４に示す座標系（Ｘ，Ｙ）において、道路モデルを、各種道路パラメータを用いて表し、例えば本出願人が先に提案した特開平１１−２８１３５２号公報に記載された（１）式で表す。
【００３１】
Ｘ＝（−Ａ＋Ｉ＊Ｅ）×（Ｙ＋ｆ＊Ｄ）／Ｈ−Ｂ＊Ｈ＊ｆ２／（Ｙ＋ｆ＊Ｄ）−Ｃ＊ｆ  ……（１）
なお、前記特開平１１−２８１３５２号公報では、式（１）中のＥ及びＨを変数としているが、本発明では、Ｅを定数としている。
また、式中の、Ａは自車両の車線に対する横変位、Ｂは道路曲率、Ｃは自車両の車線に対するヨー角、Ｄはカメラ１の光軸に対するピッチ角、Ｈはカメラ１の路面からの高さである。また、Ｅは車線幅つまり、左白線及び右白線間の距離、ｆはカメラ１のカメラ透視変換係数、（Ｘ、Ｙ）は、白線候補線上の任意の点の位置座標である。なお、Ｉは左白線であるときには“０”、右白線であるときには“１”に設定される。
【００３２】
そして、以後、前記｛Ａ，Ｂ，Ｃ，Ｄ，Ｈ｝を道路形状を記述する道路パラメータとよぶ。
ここで、前回のパラメータ推定結果を｛Ａ（−１），Ｂ（−１），Ｃ（−１），Ｄ（−１），Ｈ（−１）｝とすると、今回のウィンドウの中心座標（ｘｗ、ｙｗ）は，前記（１）式から次式（２）で表すことができる。
【００３３】
ｘｗ
＝（−Ａ（−１）＋Ｉ＊Ｅ）  ×（ｙｗ＋ｆ＊Ｄ（−１））／Ｈ−Ｂ（−１）＊Ｈ＊ｆ２／（ｙｗ＋ｆ＊Ｄ（−１））−Ｃ（−１）＊ｆ  ……（２）
なお、ウィンドウのＸ方向の幅は固定値でもよく、また、例えば特開平８−２６１７５６号公報に記載されているように、推定した道路パラメータの分散から合理的に設定するようにしてもよい。また、Ｙ方向の幅は、前述のようにウィンドウのＹ方向の位置座標の代表値として設定されているから、これから特定される。したがって、画像データ上で、ウィンドウ位置が特定されることになる。
【００３４】
このようにしてウィンドウを設定すると、続いて、ステップＳ４に移行し、白線候補点座標の算出を行う。
まず、画像データに対し、ｓｏｂｌｅフィルタを適用し、輝度変化を利用してエッジ検知を行う。例えば、図５に示すように、隣り合う画素について、左側の画素つまり、図５の場合にはＸ座標が小さい方の画素の輝度が右側の画素の輝度よりも大きい場合に、フィルタの出力が正値となり、逆に右側の画素の輝度が左側の画素の輝度よりも大きい場合に、フィルタの出力が負値となるようにすると、左白線の場合のエッジ候補点（ｘｗ，ｙｗ）は、前記フィルタの出力は正値となり、右白線の場合のエッジ候補点は、フィルタの出力が負値となる。なお、左白線の場合、ウィンドウ内の画素を全て走査し、フィルタの出力が予め設定した所定の正値を超えたものを白線候補点とみなす。
【００３５】
そして、このようにして得たエッジ候補点（ｘｗ，ｙｗ）の集合から、白線候補線を得る。この処理は、例えば公知のハフ変換、最小自乗法等を適用することができる。例えばハフ変換直線近似を行う場合には、図６に示すように、ウィンドウ内を通過する直線のうち、最もエッジ候補点を多く貫いたものを、白線候補線として選択する。
【００３６】
そして、選択した白線候補線上の任意の点を白線候補点Ｌとして選択する。例えば、図７に示すように、白線候補線とウィンドウの上辺との交点を白線候補点Ｌとし、この位置座標Ｌ（ｘｎ，ｙｎ）を算出する。
この処理を左右の各ウィンドウ毎に行い、各ウィンドウ毎に白線候補点Ｌ（ｘｎ，ｙｎ）を検出する。なお、候補点を得られなかったウィンドウについては、候補点のＸ座標を“０”として設定する。
【００３７】
これによって、左右の各ウィンドウ毎の白線候補点ＬのＸ位置座標の配列｛ＸＬ１  、ＸＬ２  、……；ＸＲ１  、ＸＲ２  、……｝を得る。なお、配列中のＬは、左側の白線候補点Ｌの座標であることを表し、Ｒは右側の白線候補点Ｌの座標であることを表す。
続いて、ステップＳ５に移行し、道路パラメータの推定を行う。まず、ステップＳ４で算出した白線候補点ＬのＸ位置座標の配列のうち、Ｘ位置座標が零以外のものを抽出し、これを変数｛ＸＸＬ１  、ＸＸＬ２  、……；ＸＸＲ１  、ＸＸＲ２  、……｝に格納する。
【００３８】
例えば、｛ＸＬ１  、ＸＬ２  、ＸＬ３  、ＸＬ４  、ＸＬ５  、ＸＬ６  ；ＸＲ１  、ＸＲ２  、ＸＲ３  、ＸＲ４  、ＸＲ５  、ＸＲ６  ｝＝｛５０、４５、４０、３５、３０、０；０、０、２１５、２２０、２２５、０｝である場合には、｛ＸＸＬ１  、ＸＸＬ２  、ＸＸＬ３  、ＸＸＬ４  、ＸＸＬ５  ；ＸＸＲ１  、ＸＸＲ２  、ＸＸＲ３  ｝＝｛５０、４５、４０、３５、３０；２１５、２２０、２２５｝となる。
【００３９】
そして、変数｛ＸＸＬ１  、ＸＸＬ２  、……；ＸＸＲ１  、ＸＸＲ２  、……｝に対応する白線候補点ＬのＹ座標の配列を、｛ＹＹＬ１  、ＹＹＬ２  、……；ＹＹＲ１  、ＹＹＲ２  、……｝と定義する。
つまり、上述の｛ＸＬ１  、ＸＬ２  、ＸＬ３  、ＸＬ４  、ＸＬ５  、ＸＬ６  ；ＸＲ１  、ＸＲ２  、ＸＲ３  、ＸＲ４  、ＸＲ５  、ＸＲ６  ｝に対応するＹ座標を、｛ＹＬ１  、ＹＬ２  、ＹＬ３  、ＹＬ４  、ＹＬ５  、ＹＬ６  ；ＹＲ１  、ＹＲ２  、ＹＲ３  、ＹＲ４  、ＹＲ５  、ＹＲ６  ｝とすると、変数｛ＸＸＬ１  、ＸＸＬ２  、……；ＸＸＲ１  、ＸＸＲ２  、……｝に対応する白線候補点ＬのＹ座標の配列は、｛ＹＹＬ１  、ＹＹＬ２  、ＹＹＬ３  、ＹＹＬ４  、ＹＹＬ５  ；ＹＹＲ１  、ＹＹＲ２  、ＹＹＲ３  ｝となり、これは、｛ＹＬ１  、ＹＬ２  、ＹＬ３  、ＹＬ４  、ＹＬ５  ；ＹＲ３  、ＹＲ４  、ＹＲ５  ｝となる。
【００４０】
ここで、前記道路モデル式（１）をＸ＝ｆｎ（Ａ，Ｂ，Ｃ，Ｄ，Ｈ、Ｙ）と表すものとすると、前記変数｛ＸＸＬ１  、ＸＸＬ２  、……；ＸＸＲ１  、ＸＸＲ２  、……｝は、白線候補点であるので、次式（３）が成り立つ。
0003624867.tif 000002
そして、これら各式を、Ａ，Ｂ，Ｃ，Ｄ，Ｈの線形結合として近似する。前記道路モデルＸ＝ｆｎ（Ａ，Ｂ，Ｃ，Ｄ，Ｈ、Ｙ）は次式（４）で近似することができる。
【００４１】
0003624867.tif 000003
なお、（４）式中のｄ（ｆｎ）／ｄ  α（α＝Ａ〜Ｈ）は、関数ｆｎを変数αで偏微分することを意味する。
したがって、前記（３）式は、次式（５）と表すことができる。
【００４２】
0003624867.tif 000004
したがって、次式（６）を得ることができる。
【００４３】
ＸＸ＝ＭＭ＊〔Ａ  Ｂ  Ｃ  Ｄ  Ｈ〕Ｔ                      ……（６）
なお、（６）式中のＸＸ及びＭＭはベクトルもしくはマトリクスを表す。また、〔  〕Ｔ  は、転置を表す。
前記（６）式は、一般的なオブザーバ定式化の出力方程式とみなすことができる。したがって、この（６）式から、パラメータＡ、Ｂ、Ｃ、Ｄ、Ｈを推定することができる。
【００４４】
このようにして、前記（６）式にしたがって、パラメータＡ、Ｂ、Ｃ、Ｄ、Ｈを推定すると、ステップＳ６に移行し、ノーズダイブカウンタの更新処理を行う。まず、ステップＳ５で推定したピッチ角Ｄとピッチ角平均値ＤＡＶＥ  との偏差に基づいてノーズダイブ状態であるかどうかを判定する。前記ピッチ角Ｄはカメラ１の光軸に対するピッチ角であるから、ピッチ角が大きいほどノーズダイブが強いことを表す。前記判定は、ピッチ角Ｄからピッチ角平均値ＤＡＶＥ  を減算したピッチ角偏差に基づいて行い、ピッチ角偏差が正値であるとき、ノーズダイブ状態であると判定する。なお、前記ピッチ角平均値ＤＡＶＥ  は、予め設定した値が初期値として設定され、以後、後述のステップＳ９の処理で更新されるようになっている。
【００４５】
そして、ノーズダイブ状態であると判定されたときには、ノーズダイブカウンタＣＮＤを“１”だけインクリメントし、ノーズダイブ状態でないと判定されたとき、ノーズダイブカウンタＣＮＤを“０”にリセットする。なお、ノーズダイブカウンタＣＮＤのカウント値は、ノーズダイブの継続時間を表している。
続いて、ステップＳ７に移行し、ノーズダイブ異常であるかどうかを判定する。この判定は、ノーズダイブカウンタＣＮＤが、しきい値ＮＤＣＮＴ０よりも大きいかどうかに基づいて行い、ＣＮＤ＞ＮＤＣＮＴ０であるとき、ノーズダイブ異常であると判定する。
【００４６】
なお、前記しきい値ＮＤＣＮＴ０は、通常走行している際に、ノーズダイブが継続する時間に応じて設定され、例えば車両のピッチング特性に基づいて設定される。具体的には、まず、ピッチ角データをオフラインで計測し、ピッチ角データの時系列｛ｐ１，ｐ２，ｐ３，…，ｐｎ｝を得る。
この時系列に対し、その平均値をオフセット量として減算し、オフセット量を除去した時系列｛ｐｚ１，ｐｚ２，ｐｚ３，…，ｐｚｎ｝を得る。この値が、正値であれば“１”、零を含む負値であれば“０”とする。
【００４７】
そして、同じ値が連続する回数をカウントする。例えば、オフセット量を除去した時系列｛ｐｚ１，ｐｚ２，ｐｚ３，…，ｐｚｎ｝が｛１，１，０，０，０，１，１，１，１｝である場合には、｛２，３，４｝となる。
これらの平均を算出し、これをピッチ角平均値ＤＡＶＥ  とする。前述の場合には、（２＋３＋４）／３＝３となる。
【００４８】
このようにして、ノーズダイブ異常であるか否かを判定し、ノーズダイブ異常であると判定された場合には、ステップＳ８に移行する。
このステップＳ８では、例外処理フラグＦをＦ＝１に設定すると共に、道路パラメータ異常時の処理を行う。この道路パラメータ異常時の処理は、例えば、メモリ３の所定の記憶領域に格納した道路パラメータを初期値にリセットしたり、また、メモリ３に記憶している道路パラメータに基づいて所定の処理を行っている上位プログラムに対し、道路パラメータが異常となったことの通知等を行う。そして、ステップＳ１０に移行する。
【００４９】
一方、前記ステップＳ７で、ノーズダイブ異常でないと判定された場合には、ステップＳ９に移行し、ピッチ角平均値ＤＡＶＥ  の更新を行う。ノーズダイブ異常と判定されるときのピッチ角Ｄは、推定誤差が含まれる可能性があるためノーズダイブ異常でないと判定されるときの、ピッチ角Ｄに基づいてピッチ角平均値ＤＡＶＥ  を算出する。
【００５０】
ここで、通常、ピッチ角は平均値を中心に往復運動している。この往復運動の周期は予めオフラインで計測し検出しておく。なお、前記しきい値ＮＤＣＮＴ０は、前記往復運動の半周期、つまり、ノーズダイブが継続する時間に相当する値に設定される。
そして、ピッチ角の往復運動周期の半周期を基準として、その偶数倍の区間におけるピッチ角の平均値を算出する。なお、精度を上げるために偶数倍する偶数値を大きくしてもよいが、平均値の算出区間が長くなるほど、平均値算出に時間がかかるため、これを考慮して算出区間を設定する。
【００５１】
そして、平均値の算出区間内の各サンプリング時におけるピッチ角に基づいてその平均値を算出する。
なお、ピッチ角の往復運動周期の半周期の区間では出力が変化しないようなローパスフィルタを用いて平均値を算出するようにしてもよい。
ここで、ピッチ角は車両乗車人数により変化し、また、工場出荷時のばらつきも存在する。予めプログラムで定数化しておくと、真のピッチ角平均値とのずれが生じることになって、ノーズダイブ異常の判断の際に誤判断を引き起こすことになる。しかしながら、このようにピッチ角平均値ＤＡＶＥ  の更新を行うことによって、ノーズダイブ異常をより確実に検出することができることになる。
【００５２】
このようにして、ピッチ角平均値ＤＡＶＥ  を更新すると、処理を終了する。
一方、前記ステップＳ１０では、再度ウィンドウの設定を行う。このウィンドウは、例外処理専用のウィンドウサイズを用意し、初期探索しやすいようにウィンドウを設定するようにしてもよく、また、ステップＳ３と同様のウィンドウサイズとし、ステップＳ３と同様にしてウィンドウを設定するようにしてもよい。
【００５３】
続いて、ステップＳ１１に移行し、上記ステップＳ４の処理と同様にして白線候補点Ｌの算出を行い、次いでステップＳ１２に移行して、上記ステップＳ５の処理と同様にして道路パラメータの推定を行う。
そして、ステップＳ１３に移行し、例外処理を終了するかどうかの判断を行う。この判断は、ステップＳ１１で得ることができた白線候補点Ｌの個数が所定値以上であり、且つ、ステップＳ１２で推定される道路パラメータが全て適正値に納まったとき、例外処理を終了すると判断する。前記白線候補点Ｌの個数を所定値以上とする理由は、道路パラメータは白線候補点Ｌが検出されないと真値には、収束しないためである。
【００５４】
そして、ステップＳ１３で、例外処理を終了すると判断された場合には、ステップＳ１４に移行し、例外処理フラグＦをＦ＝０にリセットする。
一方、例外処理を終了すると判断されない場合にはそのまま処理を終了する。なお、道路パラメータの真値への収束時間を見込んで、ステップＳ１３の処理で前記条件を所定時間継続して満足する場合に、例外処理フラグＦをリセットするようにしてもよい。
【００５５】
次に、上記第１の実施の形態の動作を説明する。
カメラ１で撮像された画像情報は、画像処理装置２に入力され、ここで所定の処理が行われ、１フレーム毎の画像データとして、制御コントローラ４に出力される。
制御コントローラ４では、所定周期で画像データを読み込み、このとき、例外処理フラグＦがＦ＝０に設定されているものとすると、ステップＳ３に移行し、画像データに対し、図４に示すようにウィンドウを設定する。そして、各ウィンドウ毎に白線候補点Ｌの座標を求め（ステップＳ４）、これに基づいて道路パラメータを推定する（ステップＳ５）。
【００５６】
そして、推定した道路パラメータのうちのピッチ角に基づき、ノーズダイブ状態であるかどうかを判定し、ピッチ角Ｄからピッチ角平均値ＤＡＶＥ  を減算したピッチ角偏差が正値のときにノーズダイブカウンタをインクリメントし、ピッチ角偏差が負値となったときに、ノーズダイブカウンタＣＮＤをリセットする。
ここで、車両が自車両の走行車線の両側の白線を検出している場合には、ピッチ角は平均値を中心として所定周期で往復運動をするから、図８に示すように、推定したピッチ角も、同様に、平均値を中心として往復運動をすることになる。したがって、ノーズダイブカウンタＣＮＤのカウント値は、しきい値ＮＤＣＮＴ０を超える前にリセットされることになって、しきい値を超えることはない。よって、ステップＳ７の処理で、ノーズダイブ異常ではないと判定され、ステップＳ９に移行して、ピッチ角平均値ＤＡＶＥ  の更新が行われる。
【００５７】
これによって、現在の車両乗車人数、車両諸元に応じたピッチ角平均値ＤＡＶＥ  が設定されることになって、ピッチ角平均値ＤＡＶＥ  が的確ではないことに起因して、ノーズダイブ異常の判定が的確に行われなくなることが回避される。
この状態から、図２０に示すように、車両が分流部に進入し、道路白線の左側の白線のかすれ等に起因して、ステップＳ４での白線候補点座標算出処理において、誤って分流誘導線を左白線として認識してしまうと、これに基づいて推定される道路パラメータは誤った推定が行われ、推定されるピッチ角は、真のピッチ角よりも大きくなってしまう（ステップＳ５）。
【００５８】
このため、図８に示すように、ピッチ角の振幅の中心がピッチ角平均値ＤＡＶＥ  からずれることになり、ピッチ角Ｄがピッチ角平均値ＤＡＶＥ  を超えた状態が継続する。これに伴って、ノーズダイブカウンタＣＮＤのカウント値が増加し、やがてしきい値ＮＤＣＮＴ０を超えると、ステップＳ７の処理でノーズダイブ異常と判定されて、ステップＳ８に移行し、例外処理フラグＦがＦ＝１にセットされ、また、推定されメモリ３に格納した道路パラメータをリセットしたり、また、上位プログラムに対し、道路パラメータが異常であることを通知する等の道路パラメータ異常時の処理が行われる。
【００５９】
これによって、推定した道路パラメータに基づいて所定の処理を行っている上位プログラムにおいては、処理の中止、或いは処理の固定等の処置を行い、誤った道路パラメータに基づいての処理の継続を中止する等といった、道路パラメータ異常時の処理を行う。
そして、画像データに対し、再度ウィンドウが設定され（ステップＳ１０）各ウィンドウ毎に白線候補点が算出され（ステップＳ１１）、これに基づいて再度道路パラメータが算出される（ステップＳ１２）。そして、白線候補点Ｌとして得ることのできた位置座標が所定数以上ない場合、或いは、推定した道路パラメータが全て適正値に納まっていない場合には、分流誘導線を誤検出している可能性があるとして、例外処理終了と判断せずそのまま処理を終了する。
【００６０】
そして、次の処理周期では、画像データを取得した後、ステップＳ２の処理で例外処理フラグＦがＦ＝１に設定されていることから、ステップＳ１０に移行し、上記と同様に、ウィンドウを設定し白線候補点座標の算出を行い、これに基づいて道路パラメータの推定を行う。そして、白線候補点Ｌとして得ることができた位置座標が所定値以上であり、且つ推定した道路パラメータが全て適正値に納まったとき、つまり走行車線の左白線を検出することができたとみなすことができるとき、ステップＳ１３からステップＳ１４に移行し、例外処理フラグＦをＦ＝０にリセットする。これによって、上位プログラムでは、道路パラメータの推定が正常に行われるようになったことを認識することができ、道路パラメータに基づく処理を再開する。
【００６１】
図９は、ピッチ角Ｄからピッチ角平均値ＤＡＶＥ  を減算したピッチ角偏差を表したものである。時点ｔ１  で分流誘導線を誤認識した場合、ピッチ角Ｄは徐々に増加し、時点ｔ２  でピッチ角平均値ＤＡＶＥ  を超えてから、ピッチ角Ｄの往復運動周期の半周期Ｔが経過した時点ｔ３  の時点では引き続きピッチ角平均値ＤＡＶＥ  よりも大きい状態を維持する。そして、ノーズダイブカウンタＣＮＤが継続してカウントアップされ、ノーズダイブカウンタＣＮＤがしきい値を超えた時点ｔ４  で、異常として判断される。
【００６２】
これに対し、ピッチ角Ｄがしきい値を超えたときに異常と判断するようにした場合には、図９に示すように、ピッチ角Ｄのピッチ角平均値ＤＡＶＥ  に対する変位は往復運動を繰り返しながら、徐々に増加し、時点ｔ５  でピッチ角がしきい値を超えたときに、異常と判定されることになる。
このように、ピッチ角Ｄのピッチ角平均値ＤＡＶＥ  に対する変位の往復運動周期に基づいて道路パラメータ異常、つまり、白線検出異常を検出するようにしたから、ピッチ角Ｄの往復運動周期の半周期Ｔと誤判断しないための余裕時間Δとを加算したＴ＋Δの時間で異常を検出することができ、従来に比較して、異常検出までに要する所要時間を大幅に短縮することができる。
【００６３】
また、図１０に示すように、分流誘導線の分流角が小さい場合には、ピッチ角Ｄのピッチ角平均値ＤＡＶＥ  に対する変位がしきい値に到達するまでの所要時間は、図９に示す分流角が比較的大きい場合に比較して、より大きくなる。
しかしながら、ピッチ角偏差の往復運動周期に基づいて白線検出異常を検出するようにしているから、この場合も分流角が大きい場合と同様に、ピッチ角Ｄの往復運動周期の半周期Ｔに相当する所要時間で、誤認識判断を行うことができ、分流角の大きさに関わらず、確実に且つ速やかに誤認識判断を行うことができる。
【００６４】
なお、上記第１の実施の形態において、前後加速度によるピッチ角Ｄの補正を行うようにしてもよい。
つまり、前後加速度が発生すると、推定されるピッチ角Ｄは、図１１に示すように、その往復運動の中心が変動する。このため、この変動分を含んで白線検出異常の検出を行うと誤判断する場合がある。
【００６５】
したがって、例えば、図１２に示すように、前後加速度Ｇとピッチ角との関係を予め検出しておき、車両の前後加速度を検出するための前後加速度検出手段（例えば前後加速度センサ）を設け、車両の発生する前後加速度Ｇに応じた、ピッチ角想定値を前記図１２から求める。そして、この求めたピッチ角想定値をピッチ角から減算し、推定したピッチ角Ｄをピッチ角想定値だけオフセットしたピッチ角Ｄ′に基づいて、白線検出異常の検出を行う。
【００６６】
図１３は、前後加速度Ｇと、ピッチ角Ｄをピッチ角想定値だけオフセットしたピッチ角Ｄ′との対応を表したものである。図１３に示すように、ピッチ角Ｄ′は、前後加速度Ｇが増加した時点で多少過渡応答の影響が現れるものの、その平均値を基準として往復運動をしている。したがって、オフセットしたピッチ角Ｄ′を用いることによって、上記と同様に異常検出を行うことができると共に、前後加速度Ｇに起因する誤判断を回避することができる。
【００６７】
また、例えば、車両の前後加速度を検出する前後加速度検出手段を設け、この前後加速度検出手段によって前後加速度Ｇを検出し、この前後加速度Ｇに応じたピッチ角想定値を前記図１２から求め、求めたピッチ角想定値から前後加速度Ｇが零の場合のピッチ角想定値を減算した値をオフセット量とし、これを、ピッチ角平均値ＤＡＶＥ  に加算した値を新たなピッチ角平均値ＤＡＶＥ  として白線検出異常の検出を行うようにしてもよい。このようにすることによって、ピッチ角の変化は車両乗員人数の変化に影響されないから、車両乗車人数の変化等によるピッチ角の定常値のずれを考慮する必要がない。
【００６８】
なお、上記第１の実施の形態においては、ピッチ角Ｄからピッチ角平均値ＤＡＶＥ  を減算したピッチ角偏差が正値であるときの継続時間に基づいて白線検出異常を検出するようにした場合について説明したが、逆に、ピッチ角Ｄからピッチ角平均値ＤＡＶＥ  を減算したピッチ角偏差が負値であるときの継続時間に基づいて白線検出異常を検出するようにすることも可能であり、この場合も上記第１の実施の形態と同等の作用効果を得ることができる。
【００６９】
ここで、カメラ１が撮像手段に対応し、図３のステップＳ４の処理が白線検出手段に対応し、ステップＳ５の処理がパラメータ推定手段に対応し、ステップＳ６及びステップＳ７の処理が異常検出手段に対応している。
次に、本発明の第２の実施の形態を説明する。
この第２の実施の形態は、上記第１の実施の形態において、図３の道路白線検出処理の処理手順が異なること以外は同様であるので、同一部には、同一符号を付与し、その詳細な説明は省略する。
【００７０】
第２の実施の形態においては、図１４に示すフローチャートに基づいて道路白線検出処理を行う。
上記第１の実施の形態と同様に、まず、ステップＳ１で画像データを取得し、ステップＳ２で、例外処理フラグＦがＦ＝０であるか否かを判定し、例外処理フラグＦがＦ＝０であるときにはステップＳ３に移行し、例外処理フラグＦがＦ＝０でないときには、後述のステップＳ１０ａに移行する。そして、ステップＳ３でウィンドウを設定し、ステップＳ４で白線候補点Ｌを検出した後、ステップＳ４ａに移行し、実線破線判断処理を行う（破線検出手段）。
【００７１】
この実線破線判断処理は、白線候補点Ｌに基づいて、左白線及び右白線のそれぞれについて行う。まず、左白線についての判断は、左側の各ウィンドウ毎の白線候補点ＬのＸ位置座標の配列｛ＸＬ１  、ＸＬ２  、……｝の中で、その位置座標が零でないものの個数ＮＬ  がしきい値以上であるとき、実線と判断し、個数ＮＬ  がしきい値よりも小さいとき破線と判断する。
【００７２】
なお、各ウィンドウ毎の個数ＮＬ  に対しローパスフィルタ処理を施したフィルタ値ＬＰＦ（ＮＬ  ）を算出し、このフィルタ値ＬＰＦ（ＮＬ  ）が、しきい値以上であるときに、実線と判断するようにしてもよい。この場合、実線及び破線の切り替わり時の応答が遅れるが、瞬間的に白線候補点を検出することができなかった場合でも、安定して実線及び破線判断を行うことができる。
【００７３】
そして、実線破線判断の結果、実線であると判断した場合には、実線フラグＦＬｊをＦＬｊ＝１に設定し、破線であると判断した場合には、実線フラグをＦＬｊ＝０に設定する。
同様に、右白線の場合には、右側の各ウィンドウ毎の白線候補点ＬのＸ位置座標の配列｛ＸＲ１  、ＸＲ２  、……｝の中で、その位置座標が零でないものの個数ＮＲ  がしきい値以上であるとき、実線と判断し、個数ＮＲ  がしきい値よりも小さいとき破線と判断する。
【００７４】
この場合も左白線の場合と同様に、各ウィンドウ毎の個数ＮＲ  に対しローパスフィルタ処理を施したフィルタ値ＬＰＦ（ＮＲ  ）を算出し、このフィルタ値ＬＰＦ（ＮＲ  ）に基づいて、判断するようにしてもよい。
そして、実線破線判断の結果、実線であると判断した場合には、実線フラグＦＲｊをＦＲｊ＝１に設定し、破線であると判断した場合には、実線フラグをＦＲｊ＝０に設定する。
【００７５】
このようにして実線破線判断処理が終了すると、ステップＳ４ａからステップＳ５に移行し、上記第１の実施の形態と同様にして道路パラメータの推定を行い、続いてステップＳ６に移行してノーズダイブカウンタの更新を行い、ノーズダイブ異常であるときにはステップＳ７からステップＳ９に移行して上記第１の実施の形態と同様にピッチ角平均値の更新処理を行い、ノーズダイブ異常である場合にはステップＳ８に移行して例外処理フラグをＦ＝１にセットする。そして、ステップＳ１０ａに移行する。
【００７６】
このステップＳ１０ａでは、ウィンドウ設定を行う。この場合、基本的な処理はステップＳ３と同様であるが、実線フラグＦＬｊ及びＦＲｊを参照し、何れか一方が破線で一方が実線である場合には、例外処理フラグＦがＦ＝１に設定された後、所定時間、破線側の白線についてのみウィンドウを設定し、両方とも破線、又は両方とも実線である場合には、左右両ウィンドウを設定する。なお、前記破線側の白線についてのみウィンドウを設定する所定時間は、分流部において分流誘導路を一方の白線として誤認識する可能性のある区間を走行する際の所要時間に応じて設定される。
【００７７】
そして、ステップＳ１１ａに移行し、ステップＳ１０ａで設定されたウィンドウに対し、白線候補点Ｌの検出を行う。つまり、破線側の白線についてのみウィンドウが設定されている場合には、このウィンドウについてのみ白線候補点Ｌの算出を行う。
次いで、ステップＳ１２ａに移行し、ステップＳ１１ａで算出された白線交点座標Ｌに基づいて、上記第１の実施の形態と同様に道路パラメータの推定を行う。ただし、ステップＳ１０ａの処理で、破線側についてのみウィンドウが設定されている場合には、片側のみなので、基本的にはカメラ高さＨが求まらないが、例えばカメラ高さＨを標準値に固定して推定する。この標準値は予め工場出荷時に設定してもよく、また、走行中に補正するようにしてもよい。
【００７８】
走行中にカメラ高さの標準値を補正する場合には、上記第１の実施の形態において、ピッチ角平均値ＤＡＶＥ  を更新する場合と同様に、ノーズダイブ異常でないときのカメラ高さの推定値をもとに、予め検出したカメラ高さの往復運動周期に基づいて平均値を算出するようにすればよい。
前記ステップＳ１０ａの処理で、ウィンドウが破線側に限定された場合には、次の手順で道路パラメータを推定する。
【００７９】
例えば右白線を破線とした場合には、前記（１）式から、次式（７）が成り立つ。
0003624867.tif 000005
この（７）式を、道路パラメータＡ，Ｂ，Ｃ，Ｄの線形結合として近似する。例えば、Ｘ＝ｆｎ（Ａ，Ｂ，Ｃ，Ｄ，Ｈ、Ｙ）は次式（８）で近似することができる。
【００８０】
0003624867.tif 000006
なお、（４）式中のｄ（ｆｎ）／ｄＺは、関数ｆｎを変数Ｚで偏微分することを意味する。
したがって、前記（７）式は、次式（９）と表すことができる。
【００８１】
0003624867.tif 000007
したがって、次式（１０）を得ることができる。
【００８２】
ＸＸ＝ＭＭ＊〔Ａ  Ｂ  Ｃ  Ｄ〕Ｔ                      ……（１０）
この関係式を上記第１の実施の形態と同様にオブザーバに適用し、道路パラメータ〔Ａ  Ｂ  Ｃ  Ｄ〕を推定する。
そして、所定時間が経過し、破線側によるウィンドウ設定が解除され、道路白線両側にウィンドウが設定された場合には、カメラ高さの固定を解除し、上記第１の実施の形態と同様に、道路パラメータ推定を行う。
【００８３】
次いで、ステップＳ１２ｂに移行し、片側白線についてのみウィンドウの設定を行っている状態であるかどうかを判定する。そして、片側白線についてのみウィンドウの設定を行っている状態でない場合には、ステップＳ１３に移行し、上記第１の実施の形態と同様に、例外処理の終了判断を行い、例外処理を終了するときにはステップＳ１４に移行して例外処理フラグをＦ＝０にリセットした後処理を終了し、例外処理を終了しないときにはそのまま処理を終了する。
【００８４】
一方、ステップＳ１２ｂで、片側白線についてのみウィンドウの設定を行っている状態であると判定される場合には、そのまま処理を終了する。
このように、この第２の実施の形態においては、白線を誤認識した場合には検出した左右の白線が破線であるか実線であるかを判断し、破線側の白線のみを用いて道路推定を行うようにしている。ここで、一般に、分流誘導路と逆側の白線は破線である。したがって、分流誘導路においてこれを走行路の白線として誤認識した場合には、誤認識したことを検出した後、分流誘導路とは逆側の破線について道路パラメータの推定が行われる。誤認識検出後、再度分流誘導路を一方の白線として誤認識した場合であっても、この誤認識した白線の情報は、道路パラメータの推定に用いないから、比較的高精度な道路パラメータを得ることができる。よって、道路パラメータの異常を検出した後には、道路パラメータが一旦リセットされるが、直ちに、片側の白線のみを用いて道路パラメータが推定されるから、上位プログラムでは、この片側の白線のみを用いて推定した道路パラメータに基づいて、所定の処理を再開することができる。
【００８５】
また、分流部は所定区間を走行すれば必ず終了するため、その走行時間を考慮し、この走行時間の間は、破線側の白線に基づいてのみ道路パラメータを推定することによって、精度は多少低下するものの、継続して道路パラメータの推定を行い、前述の走行時間が経過した後は、両側の白線に基づいて道路パラメータを推定するように切り換えることによって、推定精度を早期に正常状態にまで復帰させることができる。
【００８６】
また、一方の白線のみに基づいて道路パラメータを推定した場合、その精度が低下するが、カメラ高さの近似を行いこれに基づいて推定を行うことによって、精度の低下を抑制することができる。
次に、本発明の第３の実施の形態を説明する。
この第３の実施の形態は、上記第２の実施の形態において、道路白線検出処理の処理手順が異なること以外は同様である。同一部には、同一符号を付与しその詳細な説明は省略する。
【００８７】
この第３の実施の形態においては、図１５に示すフローチャートに基づいて道路白線検出処理を行う。
そして、上記第２の実施の形態と同様に、まず、ステップＳ１で画像データを取得し、ステップＳ２で、例外処理フラグＦがＦ＝０であるか否かを判定し、例外処理フラグＦがＦ＝０であるときには、ステップＳ３に移行し、例外処理フラグＦがＦ＝０でないときには、後述のステップＳ１０ｂに移行する。
【００８８】
そして、ステップＳ３〜ステップＳ６の処理を上記第２の実施の形態と同様に行った後、ステップＳ７の処理でノーズダイブ異常であるかどうかを判定し、ノーズダイブ異常でないと判定されたときにはステップＳ９に移行し、上記第２の実施の形態と同様にピッチ角平均値ＤＡＶＥ  の更新を行った後、ステップＳ９ａに移行する。
【００８９】
このステップＳ９ａでは、カメラ高さの平均値ＨＡＶＥ  の更新を行う。まず、カメラ１の高さをＨ＝ＨＡＶＥ  ＋ＨＸと定義する。ただし、ＨＡＶＥ  は標準カメラ高さとしてのカメラ高さの平均値であって、予め工場出荷時にセットされている。前記ＨＸは、標準カメラ高さＨＡＶＥ  からの変動分である。ＨＡＶＥ  が真値であれば、ＨＸは、零を中心に往復運動をするが、実際には、ＨＡＶＥ  はずれている場合が多く、変動分ＨＸは、零ではない値を中心として往復運動をする。この往復運動の周期を予めオフラインで検出しておく。或いは変動分ＨＸの振る舞いから周期を検出するようにしてもよい。
【００９０】
そして、往復運動の半周期を基準として、この偶数倍の区間における、カメラ高さＨの推定値から、カメラ高さの変動分ＨＸの平均値ＨＸＡＶＥ  を算出する。なお、区間を特定する偶数値を大きくすれば、平均値の精度は向上するが、その分平均値算出の所要時間が増加するため、これを考慮して偶数値を設定する。
なお、往復運動の半周期の区間では、出力が変化しないようなローパスフィルタを用いて平均値を算出するようにしてもよい。
【００９１】
また、カメラ高さＨは、両側の白線を認識している状態でないと、確定することができないため、カメラ高さの平均値ＨＡＶＥ  の算出は、両側の白線を認識し、且つ、ノーズダイブ異常でないときにのみ行い、高精度な平均値を設定するようにしている。
そして、変動分の平均値ＨＸＡＶＥ  の更新が所定回数を超えたときに、カメラ高さの平均値ＨＡＶＥ  に変動分の平均値ＨＸＡＶＥ  を加算した値を、新たにカメラ高さの平均値ＨＡＶＥ  とする。
【００９２】
ここで、標準カメラ高さＨＡＶＥ  は不変とみなすことができるから、変動分ＨＸは零を中心に往復変動するとみなすことができる。
なお、この更新処理は、ステップＳ１４の処理で例外処理フラグＦをＦ＝０にリセットした後に一度行うようにしてもよく、また、例外処理フラグＦがＦ＝０であるときに、定期的に行うようにしてもよい。
【００９３】
一方、前記ステップＳ７の処理で、ノーズダイブ異常である場合には、ステップＳ８ａに移行する。
このステップＳ８ａでは、上記第２の実施の形態と同様に、例外処理フラグＦをＦ＝１にセットするが、メモリ３に記憶している道路パラメータのリセットは行わない。
【００９４】
そして、ステップＳ１０ｂに移行し、ウィンドウの設定を行う。このウィンドウの設定は、基本的には上記第２の実施の形態と同様に、検出した白線の一方が破線、他方が実線である場合には、ステップＳ８ａの処理で例外処理フラグＦをＦ＝１に設定した後所定時間は、破線側のみにウィンドウを設定する。このとき、道路白線を再探索するのではないため、ステップＳ３と同様のウィンドウサイズのウィンドウを設定する。
【００９５】
次いで、ステップＳ１１ｂに移行して、ステップＳ１０ｂで設定したウィンドウについて、白線候補点Ｌを算出し、ステップＳ１２ｃに移行して道路パラメータを推定する。
この道路パラメータの推定は、カメラ高さＨを、変動分ＨＸ＋定数ＨＡＶＥ  （ＨＡＶＥ  はカメラ１の高さの平均値）とし、変動分ＨＸの振る舞いを一次系で近似して行う。なお、破線側によるウィンドウ設定が解除され、道路白線両側にウィンドウが設定された場合には、高さ固定を解除し、上記第１の実施の形態と同様に、道路パラメータ推定を行う。
【００９６】
上記第２の実施の形態と同様に、前記（１）式から、次式（１１）が成り立つ。
0003624867.tif 000008
この（１１）式を、道路パラメータＡ，Ｂ，Ｃ，Ｄ，ＨＸの線形結合として近似する。例えば、Ｘ＝ｆｎ（Ａ，Ｂ，Ｃ，Ｄ，ＨＸ、Ｙ）は次式（１２）で近似することができる。
【００９７】
0003624867.tif 000009
したがって、前記（１２）式は、次式（１３）と表すことができる。
0003624867.tif 000010
したがって、次式（１４）を得ることができる。
【００９８】
ＸＸ＝ＭＭ＊〔Ａ  Ｂ  Ｃ  Ｄ  ＨＸ〕Ｔ                ……（１４）
この（１４）式はオブザーバの出力方程式に相当する。
ここで、片側白線であるため、推定されるカメラ高さの変動分ＨＸは、多少精度が劣化する可能性がある。しかしながら、単純に考えると高さがｋｘ倍になったとしても、長さの単位をもつパラメータが全てｋｘ倍（長さの自乗ならば（ｋｘ）２  ）になれば、静的な矛盾は生じないが、パラメータの過去のつながりを考えるとデータが不連続となったりして矛盾が生じる。しかしながら、オブザーバは、観測データのみではなく、過去の情報を踏まえて推定を行うため、静的には解けない場面であっても解を出力することができる。
【００９９】
前記パラメータＨＸを含む道路パラメータの推定は次の手順で行う。まず、カメラ高さの変動分ＨＸを、公知の白色ノイズで駆動される一次系でモデル化する。次式（１５）となる。
ｄ（ＨＸ）／ｄｔ＝−ＨＸ／ｔｈｅｔａ＋ｎｙｕＨＸ      ……（１５）
ｔｈｅｔａは一次遅れ時定数、ｎｙｕＨＸは白色雑音を表す。
【０１００】
道路パラメータをベクトルＺＺで表すと、ＺＺ＝〔Ａ  Ｂ  Ｃ  Ｄ  ＨＸ〕Ｔ  となる。
ベクトルＺＺの振る舞いを次式（１６）の状態方程式で表す。
ｄＺＺ／ｄｔ＝Ａｍ＊Ｚ＋Ｂｍ＊ｕ＋Ｇｍ＊ｗ              ……（１６）
なお、式中のＺＺ，ｕ，ｗはベクトルを表し、Ａｍ、Ｂｍ、Ｇｍは、マトリクスを表す。また、ｕは、制御入力であり、ｗはプロセスノイズである。道路パラメータＡ、Ｂ、Ｃ、Ｄのモデル化はここでは規定しないが、モデル化によっては、Ｂｍを省略することができる。例として、道路パラメータＡ、Ｂ、Ｃ、Ｄを互いに無相関なランダムウォークモデルで表現すると、前記Ａｍ、Ｂｍ、Ｇｍは、次式（１７）となる。また、制御入力ｕは零、プロセスノイズｗは次式（１８）となる。
【０１０１】
【数１】
0003624867.tif 000011
【０１０２】
【数２】
0003624867.tif 000012
【０１０３】
前記（１４）式の出力方程式及び（１６）式の状態方程式とに基づいて、図１６に示すオブザーバが構成される。図１６中、Ｋｅはオブザーバゲインであって、プロセスノイズｗと観測ノイズ等との大きさに基づいて設定される。例えばカルマンフィルタ等がある。
そして、前記オブザーバにしたがって、道路パラメータ〔Ａ  Ｂ  Ｃ  Ｄ  ＨＸ〕を推定する。
【０１０４】
そして、このようにして道路パラメータを推定した後、ステップＳ１３に移行し、例外処理を終了すると判定したときにステップＳ１４に移行し、例外処理フラグＦをＦ＝０にリセットし、処理を終了する。
したがって、この第３の実施の形態においては、分流路等において白線が誤認識しされ、この後認識が検出される、ステップＳ７からステップＳ８ａに移行し、例外処理フラグＦがＦ＝１に設定される。このとき、道路パラメータのリセットは行われない。そして、ステップＳ１０ｂ、Ｓ１１ｂを経てＳ１２ｃに移行し、以後、所定時間、片側の白線のみに基づいて道路パラメータの推定が行われる。
【０１０５】
例えば左側に分流路がある場合には、左白線は用いず、右側の白線のみに基づいてパラメータの推定が行われる。ピッチ角の往復運動周期に基づいて白線検出異常の検出を行っているので、異常検出は従来に比較して早くなるものの、異常検出直後に推定誤差が生じる可能性がある。すなわち、単眼カメラでは片側白線のみによっては、カメラ高さを静的に決定することができない。
【０１０６】
しかしながら、上記第３の実施の形態においては、図１６に示す構成のオブザーバを用いて道路パラメータの推定を行っている。つまり、観測値ＸＸ、すなわち白線候補点におけるカメラ高さの変動分ＨＸの推定値の補正フィードバックは小さい。これは静的には、カメラ高さを推定することができないことに起因している。逆にいえば、変動分ＨＸは予め想定したモデルによる駆動が主となることを意味している。
【０１０７】
上記第３の実施の形態においては、変動分ＨＸを白色ノイズで駆動される一次遅れモデル等の安定系で記述するようにしているから、変動分ＨＸは誤差を含む値から誤差を含まない値に合理的な速度で収束するようになる。その結果、真値へのなめらかな復帰を実現することができ、誤推定から正常推定への連続性のある復帰を実現することができる。
【０１０８】
次に、本発明の第４の実施の形態を説明する。
この第４の実施の形態は、推定されるカメラ高さに基づいて白線検出異常を検出するようにしたものである。つまり、推定されるカメラ高さの定性的性質と、推定されるピッチ角の定性的特性とは同じであるため、ピッチ角に替えてカメラ高さに基づいて、道路パラメータの異常を検出している。
【０１０９】
したがって、上記第１の実施の形態において、道路白線検出処理の処理手順が異なること以外は同様であるので、同一部には同一符号を付与し、その詳細な説明は省略する。
この第４の実施の形態においては、図１７に示すフローチャートに基づいて道路白線検出処理を行っている。
【０１１０】
図１７に示すように、上記第１の実施の形態と同様に、ステップＳ１からステップＳ５の処理を行うが、ステップＳ５で道路パラメータの推定処理を行った後、ステップＳ６ａに移行し、バウンドカウンタの更新処理を行う。具体的には、、ステップＳ５で推定したカメラ高さＨと、カメラ高さの平均値ＨＡＶＥ  との偏差が正値、つまり、カメラ高さＨ−カメラ高さの平均値ＨＡＶＥ  が正値であるときには、バウンドカウンタをＣＢＤを“１”だけインクリメントし、カメラ高さＨ−カメラ高さの平均値ＨＡＶＥ  が負値であるときには、バウンドカウンタをＣＢＤを“０”にリセットする。
【０１１１】
なお、バウンドカウンタＣＢＤのカウント値は、バウンドの継続時間を表している。また、前記カメラ高さの平均値ＨＡＶＥ  は、初期値として予め検出された値が設定され、後述のステップＳ９ｂの処理で更新されるようになっている。
なお、ここでは、カメラ高さＨがカメラ高さの平均値ＨＡＶＥ  を上回る継続時間を計測するようにしているが、逆に、カメラ高さがカメラ高さの平均値ＨＡＶＥ  を下回る継続時間を計測するようにしてもよい。
【０１１２】
続いて、ステップＳ７ａに移行し、バウンド異常であるかどうかを判定する。この判定は、バウンドカウンタＣＢＤが、しきい値ＢＤＣＮＴ０よりも大きいかどうかに基づいて行い、ＣＢＤ＞ＢＤＣＮＴ０であるとき、バウンド異常であると判定する。なお、前記しきい値ＢＤＣＮＴ０は、上記第１の実施の形態におけるしきい値ＮＤＣＮＴ０の設定方法と同様に、通常走行している際に、一方の側にバウンドしている継続時間に応じて設定され、例えば車両のバウンド特性に基づいて設定される。具体的には、まず、カメラ高さをオフラインで計測し、カメラ高さの時系列｛ｈ１，ｈ２，ｈ３，…，ｈｎ｝を得る。
【０１１３】
この時系列に対し、その平均値をオフセット量として減算し、オフセット量を除去した時系列｛ｈｚ１，ｈｚ２，ｈｚ３，…，ｈｚｎ｝を得る。この値が、正値であれば“１”、零を含む負値であれば“０”とする。
そして、同じ値が連続する回数をカウントする。そして、これらの平均を算出し、これをカメラ高さの平均値ＨＡＶＥ  とする。
【０１１４】
このようにして、バウンド異常であるか否かを判定し、バウンド異常であると判定された場合には、ステップＳ８に移行し以後、上記第１の実施の形態と同様に処理を行う。一方、バウンド異常でないと判定された場合には、ステップＳ９ａに移行し、前記第３の実施の形態におけるステップＳ９ａの処理と同様にして、カメラ高さの平均値ＨＡＶＥ  を算出する。
【０１１５】
したがって、この第４の実施の形態においても、上記第１の実施の形態と同等の作用効果を得ることができる。
なお、上記第４の実施の形態においては、上記第１の実施の形態において、ピッチ角に替えてカメラ高さに基づいて道路パラメータの推定異常を検出するようにした場合について説明したが、上記第２の実施の形態及び第３の実施の形態に適用することもできる。図１８は、前記第２の実施の形態において、ピッチ角に替えてカメラ高さに基づいて道路パラメータの異常を検出するようにした場合の道路白線検出処理の処理手順の一例を示すフローチャートであり、図１９は、前記第３の実施の形態において、ピッチ角に替えてカメラ高さに基づいて道路パラメータの異常を検出するようにした場合の道路白線検出処理の処理手順の一例を示すフローチャートである。
【０１１６】
図１８及び図１９に示すように、前記第２及び第３の実施の形態に適用した場合であっても、上記第２及び第３の実施の形態と同等の作用効果を得ることができる。また、第３の実施の形態に適用した場合には、ピッチ角平均値に替えてカメラ高さを用いているから、図１５のステップＳ９におけるピッチ角平均値の更新処理を行う必要がない。したがって、処理ステップがその分少なくなるから、その分演算時間の短縮を図ることができる。
【０１１７】
なお、上記第１から第４の実施の形態においては、車線幅Ｅを固定値として定式化した場合について説明したが、これに替えて、カメラ高さＨを固定し車線幅Ｅを変数として定式化するようにしてもよく、このようにした場合には、誤認識時には、車線幅Ｅが変化するから、カメラ高さＨに替えて車線幅Ｅに基づいて上述のように処理を行うことによって、上記各実施の形態と同等の作用効果を得ることができる。なお、上記第３の実施の形態の場合には、車線幅Ｅを、変動分ＥＸ＋定数ＥＡＶＥ  （ＥＡＶＥ  は推定される車線幅の平均値）とし、車線幅の変動分ＥＸの振る舞いを一次系で近似するようにすればよく、また、推定される車線幅Ｅの平均値は、カメラ高さＨの平均値ＨＡＶＥ  を算出する場合と同様に行えばよい。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態を示す概略構成図である。
【図２】カメラの取付位置を示す説明図である。
【図３】第１の実施の形態における道路白線検出処理の処理手順の一例を示すフローチャートである。
【図４】ウィンドウの設定位置を示す説明図である。
【図５】エッジ候補点の説明に供する説明図である。
【図６】白線候補線の説明に供する説明図である。
【図７】白線候補点Ｌの説明に供する説明図である。
【図８】ピッチ角平均値に対するピッチ角の変位を示すタイミングチャートである。
【図９】第１の実施の形態の動作説明に供するタイミングチャートである。
【図１０】第１の実施の形態の動作説明に供するタイミングチャートである。
【図１１】前後加速度に対するピッチ角変動を示すタイミングチャートである。
【図１２】前後加速度とピッチ角との対応を示す特性図である。
【図１３】前後加速度が変化した場合のピッチ角の変化を表すタイミングチャートである。
【図１４】本発明の第２の実施の形態における道路白線検出処理の処理手順の一例を示すフローチャートである。
【図１５】本発明の第３の実施の形態における道路白線検出処理の処理手順の一例を示すフローチャートである。
【図１６】第３の実施の形態で用いたオブザーバの一例を示すブロック図である。
【図１７】本発明の第４の実施の形態における道路白線検出処理の処理手順の一例を示すフローチャートである。
【図１８】第４の実施の形態における道路白線検出処理のその他の処理手順の一例を示すフローチャートである。
【図１９】第４の実施の形態における道路白線検出処理のその他の処理手順の一例を示すフローチャートである。
【図２０】従来の動作説明に供する説明図である。
【図２１】従来の動作説明に供する説明図である。
【符号の説明】
１  カメラ
２  画像処理装置
３  メモリ
４  制御コントローラ
【図１】
0003624867.tif 000013
【図２】
0003624867.tif 000014
【図３】
0003624867.tif 000015
【図４】
0003624867.tif 000016
【図５】
0003624867.tif 000017
【図６】
0003624867.tif 000018
【図７】
0003624867.tif 000019
【図８】
0003624867.tif 000020
【図９】
0003624867.tif 000021
【図１０】
0003624867.tif 000022
【図１１】
0003624867.tif 000023
【図１２】
0003624867.tif 000024
【図１３】
0003624867.tif 000025
【図１４】
0003624867.tif 000026
【図１５】
0003624867.tif 000027
【図１６】
0003624867.tif 000028
【図１７】
0003624867.tif 000029
【図１８】
0003624867.tif 000030
【図１９】
0003624867.tif 000031
【図２０】
0003624867.tif 000032
【図２１】
0003624867.tif 000033