(57)【特許請求の範囲】
【請求項１】
車両の周囲を撮像する手段と、
車両の現在位置を検出して走行中の道路を特定し、道路地図情報を記憶する記憶手段から走行中の道路の実際の白線の幅を取得する手段と、
前記走行中の道路の実際の白線幅に基づいて、前記撮影画像における走査線ごとの白線幅を演算する白線幅演算手段と、
前記撮影画像上の走査線ごとの白線幅に応じた走査線ごとの白線モデルを設定する白線モデル設定手段と、
前記撮影画像から走査線ごとに前記白線モデルと同一の大きさの部分画素を抜き出し、前記部分画素の画像と前記白線モデルとの合致度を演算する合致度演算手段と、
前記合致度が最大となる部分画素の中心点を撮影画像における白線中心点とし、前記撮影画像における走査線ごとの白線中心点を車両に対して水平な平面に投影する投影手段とを備え、
前記投影点を走行中の道路の実際の白線中心点とすることを特徴とする道路白線検出装置。
【請求項２】
請求項１に記載の道路白線検出装置において、
前記車両に対して水平な平面上の投影点と各投影点の前記合致度に基づいて、実際の白線形状を演算する白線形状演算手段を備えることを特徴とする道路白線検出装置。
【請求項３】
請求項１または請求項２に記載の道路白線検出装置において、
前記合致度演算手段は、前記部分画素列の画像と前記白線モデルとの内積をとり、内積値を合致度とすることを特徴とする道路白線検出装置。
【請求項４】
請求項１〜３のいずれかの項に記載の道路白線検出装置において、
前記白線モデル設定手段は、走行中の道路の勾配を考慮して白線モデルを設定することを特徴とする道路白線検出装置。
【請求項５】
請求項１〜４のいずれかの項に記載の道路白線検出装置において、
前記白線モデル設定手段は、走行中の道路の、実際の白線の車両に対するヨー角を考慮して白線モデルを設定することを特徴とする道路白線検出装置。
【請求項６】
請求項１〜５のいずれかの項に記載の道路白線検出装置において、
前記白線モデルは、前記撮影画像における白線幅の倍以下の幅を有し、前記撮影画像における白線幅に対応する中央部分の値を１とし、その両側部分の値を−１とすることを特徴とする道路白線検出装置。
【請求項７】
請求項１〜６のいずれかの項に記載の道路白線検出装置において、
前記白線幅取得手段は、路車間通信により路側ビーコンから走行中の道路の実際の白線幅を取得することを特徴とする道路白線検出装置。
【請求項８】
請求項３〜７のいずれかの項に記載の道路白線検出装置において、
前記合致度演算手段は、前記部分画素列の画像と前記白線モデルとの内積値を前記撮影画像における白線幅で除して合致度を演算することを特徴とする道路白線検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、道路上の白線を検出する道路白線検出装置に関し、車線内を走行するように制御するレーンキープ装置、車線内を走行しているかを監視する車線逸脱警報装置、同一車線上の先行車を認識して一定の車間距離で追従する先行車追従装置などに用いられるものである。
【０００２】
【従来の技術とその問題点】
道路上の白線の検出方法として、画像における画素間の輝度変化を検出し、変化率が所定値以上の点を白線の端（以下、エッジと呼ぶ）として検出する。
この白線エッジ検出法は従来からよく用いられているが、次のような欠点がある。
（１）  ノイズに弱い；白線以外の、道路上の標識文字、看板や標識などの影、アスファルトの継ぎ目など、輝度が急激に変換する点を白線と誤認することがある。
（２）  コントラストの低下に弱い；画像がぼやけている場合にはエッジが明確に表われないため、白線エッジを判別するためのしきい値の設定が難しい。
（３）  検出精度が低い；白線がかすれていたり、輪郭がはっきりしない場合には検出エッジの位置が急激に変化し、精度を確保しにくい。
【０００３】
このような問題を解決するために、例えば、特開平８−２０２８７７号公報ではニューラルネットの活用、特開平８−２６１７５６号公報ではサーチウインドウの大きさの制限、特開平８−３１５１２５号公報では道路モデルの参照などの方法が提案されている。
しかし、これらの方法は、いずれもエッジ検出法を用いる点では変りがなく、上記問題を根本的に解決することはできない。特に、コントラストの低下によってエッジ自体が検出できなくなった場合には、いずれの方法も効果がない。
【０００４】
一方、原画像の時間積分をとることにより、看板、道路上の標識文字や影のような、自車両に対して相対速度を持つノイズ成分を除去するようにした白線検出方法が知られている（例えば、特開平９−３５０６５号公報参照）。
しかし、この方法にも、時間積分によって位相が遅れ、画像のぼけによって検出精度が低下するという問題がある。
【０００５】
本発明の目的は、道路上の白線を正確に検出することにある。
【０００６】
【課題を解決するための手段】
本発明の原理について説明する。
図１は、車両の進行方向が白線と平行な場合の道路上の白線の画像を示す。図から明らかなように、道路上に一定の幅で描かれた白線も撮影画像上では遠ざかるほど幅が狭くなる。画像上において、任意の水平走査線に注目すると、任意の走査線上の白線の幅ｗiは一定であることがわかる。
【０００７】
本発明はこの原理に基づくものであるが、図２に示す座標系を用いて上記原理の論理的な証明を行なう。
今、図２に示すように、Ｘ−Ｙ平面を車両に対して水平な面とし、Ｚ軸が撮像カメラのレンズ位置を通るような車両固定座標系ＸＹＺを設定する。また、カメラはＸ−Ｙ面から高さＨcの位置Ｏ’（レンズ中心）に設置するものとし、カメラのピッチ角をθc、焦点距離をｆcとすると、撮像カメラによる画面座標系ｘｙは、カメラのレンズの光軸Ｘ’に垂直で、Ｏ’からｆcだけ離れた面に定まる。なお、Ｙ’軸はレンズ中心Ｏ’を通りＹ軸に平行な線である。また、道路平面が平坦であるとすればＸ−Ｙ平面は道路平面と同一面となる。
【０００８】
図３は、図２に示す画面座標系ｘｙを図１の画面上に重ねた図である。
透視変換と逆透視変換により、ＸＹＺ座標系とＸ’Ｙ’Ｚ’座標系とｘｙ座標系との関係を求める。まず、Ｘ’Ｙ’Ｚ座標系上の任意の点（Ｘ’，Ｙ’，Ｚ’）に対応する画面ｘｙ座標系の点（ｘ，ｙ）は次式により求められる。
【数１】
ｘ＝−ｆc・Ｙ’／Ｘ’，
ｙ＝−ｆc・Ｚ’／Ｘ’
次に、Ｘ’Ｙ’Ｚ’座標系の任意の点（Ｘ’，Ｙ’，Ｚ’）と、対応するＸＹＺ座標系の点（Ｘ，Ｙ，Ｚ）との関係は、Ｚ軸方向へのＨcの平行移動と、Ｙ軸回りのθc回転との組合せで得られるから、
【数２】
Ｘ’＝Ｘcosθc−（Ｚ−Ｈc）sinθc，
Ｙ’＝Ｙ，
Ｚ’＝Ｘsinθc＋（Ｚ−Ｈc）cosθc
となる。
【０００９】
数式２と数式１に代入すると、
【数３】
ｘ＝−ｆc・Ｙ／｛Ｘcosθc−（Ｚ−Ｈc）sinθc｝，
ｙ＝−ｆc・｛Ｘsinθc＋（Ｚ−Ｈc）cosθc｝／｛Ｘcosθc−（Ｚ−Ｈc）sinθc｝
となる。
特に、ＸＹＺ座標系上の点（Ｘ，Ｙ，Ｚ）が平坦な道路上の点であるとき、
【数４】
Ｚ＝０
となるから、数式３は次のように表わされる。
【数５】
ｘ＝−ｆc・Ｙ／｛Ｘcosθc＋Ｈcsinθc｝，
ｙ＝−ｆc・｛Ｘsinθc−Ｈccosθc｝／｛Ｘcosθc＋Ｈcsinθc｝
これは、平坦な道路上の点（Ｘ，Ｙ）に対応する画面上の点（ｘ，ｙ）である。
また、数式３を（Ｘ，Ｙ）について解けば、
【数６】
Ｘ＝−Ｈc｛ｙsinθc−ｆccosθc｝／｛ｙcosθc＋ｆcsinθc｝，
Ｙ＝−Ｈc・ｘ／｛ｙcosθc＋ｆcsinθc｝
となり、画面上の点（ｘ，ｙ）から道路上の点（Ｘ，Ｙ）を逆算することができる。
【００１０】
以上の関係を用いて、ｙ＝ｙiの走査線上の白線の幅ｗiを求める。
まず、道路平面ＸＹＺ上の距離Ｘにおける白線幅をΔＹとし、その白線幅ΔＹの画面上での幅をΔｘとすると、数式５により、
【数７】
Δｘ＝−ｆc・ΔＹ／｛Ｘcosθc＋Ｈcsinθc｝
となる。ここで、数式６を使ってＸを消去すれば、
【数８】
ΔＸ＝ΔＹ（ｙcosθc＋ｆcsinθc）
を得る。
したがって、任意の走査線（ｙ＝ｙi）上の白線の幅ｗiは、算出した数式８において、Δｘ→ｗi、ΔＹ→Ｗr（実際の白線幅）、ｙ→ｙiと置き換えて、
【数９】
ｗi＝Ｗr（ｙicosθc＋ｆcsinθc）
となる。
【００１１】
数式９から明らかなように、任意の走査線上の白線の幅ｗiは、走査線を横切るｘ座標とは無関係で、走査線の位置ｙiのみにより決る。言い換えれば、任意の捜査線上の白線の幅ｗiは一定である。
【００１２】
ところで、数式９は、上述したように車両の進行方向が白線と平行な場合における白線幅ｗiである。より一般化して、車両が白線に対してヨー角φをなす場合を考えると、数式９における実際の白線幅ＷrをＷrcosφに置き換え、
【数式１０】
ｗi＝Ｗrcosφ（ｙicosθc＋ｆcsinθc）
とすればよい。
【００１３】
次に、道路平面が平坦でなく、道路勾配が変化する場合について考察する。
道路勾配のモデルとしては、図４に示すような道路の高さＺが距離Ｘだけで決り、横位置Ｙには依存しないものを考える。
【数式１１】
Ｚ＝Ｚ（Ｘ）
図４において、座標系は図２に示す車両固定座標系ＸＹＺであり、Ｌ１は実際の白線、Ｌ２は白線のＸ−Ｙ平面への投影線である。なお、投影中心はカメラのレンズ中心（０，０，Ｈc）である。
【００１４】
図４に示す道路勾配モデルにおいて、実際の白線Ｌ１上の点Ｐ（Ｘ，Ｙ，Ｚ）と、その投影点Ｐｏ（Ｘo，Ｙo，Ｚo）との関係を考えると、道路の勾配変化に関わらず次の関係が成立する。
【数式１２】
Ｘ／Ｘo＋Ｚ／Ｈc＝１
実際の白線幅ｗiと投影面上での白線幅ｗioとの関係についても、同様な比例関係が成立する。
【数式１３】
ｗio／ｗi＝Ｘo／Ｘ
もし、この比を走査線位置ｙiで表わすことができれば、数式９と組合せることにより、道路勾配がある時でも画面上の白線幅は走査線位置から決ることになる。そのために、まず数式１１および数式１２を解いて次の関係式を得る。
【数式１４】
Ｘ／Ｘo＝ｆ（Ｘo）
ここで、関数ｆは数式１１で定義した道路勾配の関数に依存する。
【００１５】
さらに、逆透視変換の式から、
【数式１５】
Ｘo＝ｇ（ｙi）＝−Ｈc｛ｙisinθc−ｆccosθc｝／｛ｙicosθc＋ｆcsinθc｝
となるので、数式１５を数式１４に代入することによって数式１３は次のように表わされる。
【数式１６】
ｗio／ｗi＝Ｘ／Ｘo＝（ｇ・ｆ）（ｙi）
結局、道路勾配がある場合の画面上での白線幅は、
【数式１７】
ｗi＝Ｗr（ｇ・ｆ）（ｙi）（ｙicosθc＋ｆcsinθc）
となり、画面上での白線幅ｗiは走査線位置ｙiだけにより決ることが解る。
【００１６】
（１）  請求項１の発明は、車両の周囲を撮像する手段と、車両の現在位置を検出して走行中の道路を特定し、道路地図情報を記憶する記憶手段から走行中の道路の実際の白線の幅を取得する手段と、走行中の道路の実際の白線幅に基づいて撮影画像における走査線ごとの白線幅を演算する白線幅演算手段と、撮影画像上の走査線ごとの白線幅に応じた走査線ごとの白線モデルを設定する白線モデル設定手段と、撮影画像から走査線ごとに白線モデルと同一の大きさの部分画素を抜き出し、部分画素の画像と白線モデルとの合致度を演算する合致度演算手段と、合致度が最大となる部分画素の中心点を撮影画像における白線中心点とし、撮影画像における走査線ごとの白線中心点を車両に対して水平な平面に投影する投影手段とを備え、投影点を走行中の道路の実際の白線中心点とする。
（２）  請求項２の道路白線検出装置は、車両に対して水平な平面上の投影点と各投影点の合致度に基づいて、実際の白線形状を演算する白線形状演算手段を備える。
（３）  請求項３の道路白線検出装置は、合致度演算手段によって、部分画素列の画像と白線モデルとの内積をとり、内積値を合致度とするようにしたものである。
（４）  請求項４の道路白線検出装置は、白線モデル設定手段によって、走行中の道路の勾配を考慮して白線モデルを設定するようにしたものである。
（５）  請求項５の道路白線検出装置は、白線モデル設定手段によって、走行中の道路の、実際の白線の車両に対するヨー角を考慮して白線モデルを設定するようにしたものである。
（６）  請求項６の道路白線検出装置は、白線モデルを、撮影画像における白線幅の倍以下の幅を有し、撮影画像における白線幅に対応する中央部分の値を１とし、その両側部分の値を−１としたものである。
（７）  請求項７の道路白線検出装置は、白線幅取得手段によって、路車間通信により路側ビーコンから走行中の道路の実際の白線幅を取得するようにしたものである。
（８）  請求項８の道路白線検出装置は、合致度演算手段によって、部分画素列の画像と白線モデルとの内積値を撮影画像における白線幅で除して合致度を演算するようにしたものである。
【００１７】
【発明の効果】
（１）  請求項１の発明によれば、白線幅に応じた白線モデルと撮影画像との合致度に基づいて白線を検出するので、道路上の標識文字、看板や標識などの影、アスファルトの継ぎ目や路肩などを白線と誤認するようなことがない。また、白線の中心を演算するので、白線のかすれや不鮮明な白線輪郭などに対しても検出精度が安定する。
（２）  請求項２の発明によれば、道路上の実際の白線形状を正確に求めることができる。
（３）  請求項３の発明によれば、従来のエッジ検出法に比べてしきい値を設定する必要もなく、簡単な演算により白線を検出することができる。したがって、専用ＬＳＩ化することが容易になり、画像処理の高速化を図ることができる。
（４）  請求項４および請求項５の発明によれば、より正確な正確な白線中心点を求めることができる。
（５）  請求項６の発明によれば、マイクロコンピュータによる合致度の演算負担と白線検出精度とのトレードオフにおいて、両者をほぼ満足させることができる。
（６）  請求項７の発明によれば、路車間通信により白線幅を取得するようにしたので、ＧＰＳ航法や自律航法のための装置が不要となり、正確な白線幅が得られる。
（７）  請求項８の発明によれば、合致度の正規化が図られ、白線幅が変化しても同一の合致度が得られる。
【００１８】
【発明の実施の形態】
−発明の第１の実施の形態−
本発明の道路白線検出装置を、白線で規定された車線内を走行するように制御するレーンキープ装置に応用した第１の実施の形態を説明する。
【００１９】
図５は第１の実施の形態の構成を示す。
車両１にはカメラ２、ナビゲーションコントローラー１０、画像処理コントローラー２０、データ通信部３０、車両制御コントローラー４０、車速センサー、舵角センサー、ヨーレートセンサー、横Ｇセンサーなどのセンサ類が設けられる。ナビゲーションコントローラー１０、画像処理コントローラー２０、データ通信部３０および車両制御コントローラー４０はそれぞれ、マイクロコンピュータとその周辺部品から構成される。
【００２０】
カメラ２は、車両前方を撮像して画像処理コントローラー２０に映像信号を出力する。ナビゲーションコントローラー１０は、道路地図情報を記憶する記憶部１１と、ＧＰＳ受信機（不図示）からのＧＰＳ信号と地磁気センサー（不図示）からの方位信号などに基づいて、車両の現在位置、目的地までの最適経路などを演算する演算部１２を備える。そして、車両周辺の道路地図上に目的地までの最適経路を表示して乗員を誘導するとともに、道路の白線幅などの情報をデータ通信部３０を介して画像処理コントローラー２０へ送る。
【００２１】
画像処理コントローラー２０は、カメラ２からの映像信号を記憶する画像メモリ２１と画像を処理する画像処理部２２とを備え、カメラ２で撮像された画像を処理して道路上の白線を検出する。データ通信部３０は、コントローラー１０，２０，４０間のデータの送受信を行なう。車両制御コントローラー４０は、同期信号を発生する同期信号発生部４１と、センサーからの検出情報と、画像処理コントローラー２０で検出された道路上の白線情報とに基づいて、車両１を車線に沿って自律走行させるために操舵制御を行なう車両制御部４２を備える。
【００２２】
次に、図６〜図９に示すフローチャートにより、第１の実施の形態の動作を説明する。
図６は、ナビゲーションコントローラー１０の動作を示すフローチャートである。なお、ナビゲーションコントローラー１０の動作の内、本発明に直接関係しない目的地までの経路演算などの処理については説明を省略する。
ナビゲーションコントローラー１０は、１００ｍｓごとに車両制御コントローラー４０から送られる同期信号に同期してこの動作を実行する。ステップ１において、ＧＰＳ受信機からのＧＰＳ信号と地磁気センサーからの方位信号とに基づいて車両の現在位置を算出し、マップマッチングなどにより現在走行中の道路を特定して算出した現在位置を補正する。次にステップ２で、記憶部１１から現在位置周辺の道路地図情報を読み出し、現在走行中の道路の白線幅Ｗrを取得する。そしてステップ３で、白線幅Ｗrを画像処理コントローラー２０へ送る。
【００２３】
図７は、画像処理コントローラー２０の処理を示すフローチャートである。
画像処理コントローラー２０は、１００ｍｓごとに車両制御コントローラー４０から送られる同期信号に同期してこの処理を実行する。ステップ１１において、カメラ２で撮像を行なって画像データを入力し、画像メモリ２１に記憶する。なお、画像データは、カメラ２の撮像素子の各画素ごとの輝度情報Ａ［ｘ，ｙ］として記憶される。ステップ１２で、ナビゲーションコントローラー１０から白線幅Ｗrを読み込む。
【００２４】
ステップ１３で、入力画像において、図１０に示すように下から順に５本おきに走査線を選択する。これは、実際の道路上では手前から順に遠い方へ走査線を選択していることになる。また、選択した走査線に対して下から順に番号ｉ（＝１〜ｎ）を付ける。続くステップ１４で、選択した走査線ごとに、走査線を横切る白線が何画素分ｗiになるかを算出する。具体的には、白線幅Ｗrと走査線のｙ座標ｙiを数式９に代入して画素数ｗiを求め、さらに四捨五入して偶数の整数にする。ここで、数式９におけるｗiは画面上での白線幅であるが、表示装置の画素ピッチは一定であるから、画面上の操作線を横切る白線の幅を画素数で表わすことができる。
【００２５】
ステップ１５において、走査線ごとに求めた白線画素数に応じて、図１１に示すように白線モデル｛Ｍ［−ｗi］，・・，Ｍ［−１］，Ｍ［０］，Ｍ［１］，・・，Ｍ［ｗi］｝を設定する。つまり、モデルは白線画素数ｗiに対して（２ｗi＋１）個の画素数を持ち、データとしては中央値が０、その両側のそれぞれ幅（ｗi／２）の区間の値が１、さらにその外側の幅（ｗi／２）の区間の値が−１になっている。なお、ｗiは偶数であるから（ｗi／２）も整数である。モデルを数式化すると次のように表わされる。
【数１８】
0003736044.tif 000002
【００２６】
ところで、白線は各車線の左右に存在するが、左右の白線の両方を検出することにすると、演算量が多くなる上に、どちらか一方の白線が検出不能な場合には白線検出結果が不安定になる。そこで、この実施の形態では車線の左側の白線だけを抽出し、左側白線を基準にしてその右側を一定の間隔で走行することにする。ステップ１６において、道路左側の白線だけを抽出するために、走査線の中で実際に白線の検出を行なう検出区間を走査線ごとに決定する。具体的には、前回のサンプリング時に抽出された白線中心の位置（ｘi［n-1］）を中心に幅Ｗxを取る。
【数１９】
ｘmini＝ｘi［n-1］−Ｗx／２，
ｘmaxi＝ｘi［n-1］＋Ｗx／２
ここで、（n-1）は前回のサンプリング時のデータであることを示す。なお、例外として初回のサンプリング時のみＸminに画面の左端を設定し、Ｘmaxに画面中央を設定する。
【００２７】
ステップ１７で、走査線ごとに決定した検出区間（ｘ＝ｘmini〜ｘmaxi）の間で左から順に、走査線の中から所定の横位置ｘを中心にして白線モデルと同じ幅である（２ｗi＋１）個分の画素列｛Ａ［ｘ−ｗi，ｙi］，・・，Ａ［ｘ−１，ｙi］，Ａ［ｘ，ｙi］，Ａ［ｘ＋１，ｙi］，・・，Ａ［ｘ＋ｗi，ｙi］｝を抜き出し、抜き出した部分画像と白線モデルとの内積を求め、その値を位置（ｘ，ｙi）における合致度（ａ［ｘ，ｙi］）とする。
【数２０】
0003736044.tif 000003
【００２８】
原画像から抽出した部分画像と白線モデルとの内積をとることは、部分画像に対して白線モデルで重み付けをすることである。内積の値は、原画像から抽出した部分画像が白線モデルに一致している時ほど大きくなる。詳細には、部分画像に含まれる白線が、部分画像の中心に白線がきた時、あるいは部分画像上の白線の幅が白線モデルの幅に一致した時に、内積の値は最大になる。さらに、部分画像のコントラストがより明確な（白線より明るく、その他はより暗い）ほど内積の値は大きくなる。
【００２９】
ステップ１８で、算出した合致度の中から最高の合致度を抽出し、その横位置ｘを求める。そして、横位置ｘを今着目している走査線における白線中心の候補点（ｘi，ｙｉ）とし、その点での合致度（ａ［ｘi，ｙi］）をその点の確からしさａiとする。続くステップ１９で、白線候補点（ｘi，ｙi）に対して逆透視変換を行ない、車両固定座標系のＸ−Ｙ平面に投影する。すなわち、投影点（Ｘi，Ｙi）は、カメラ２の諸元に関して道路からの高さをＨcとし、ピッチ角をθcとし、焦点距離をｆcとすると、以下のようになる。
【数２１】
Ｘi＝−Ｈc（ｙisinθc−ｆccosθc）／（ｙicosθc＋ｆcsinθc），
Ｙi＝−Ｈc・ｘi／（ｙicosθc＋ｆcsinθc）
【００３０】
ステップ２０において、車両固定座標系ＸＹＺの投影点（Ｘｉ，Ｙｉ）に基づいて、道路左側の白線を最少二乗法を用いて２次曲線
【数２２】
Ｙ＝ａYＸ2＋ｂYＸ＋ｃY
で同定する。すなわち、２次曲線の各係数（ａY，ｂY，ｃY）は、連立方程式
【数２３】
0003736044.tif 000004
の解として求められる。ステップ２１で、２次曲線の係数（ａY，ｂY，ｃY）（以下、白線同定パラメーターと呼ぶ）を車両制御コントローラーに送信する。送信されたデータは車両制御コントローラー４０内のメモリに記憶される。
【００３１】
図８、図９は、車両制御コントローラー４０の処理を示すフローチャートである。
車両制御コントローラー４０は、内蔵タイマカウンタの１０ｍｓのサンプリングタイムごとにこの処理を実行する。ステップ３１において、内蔵タイマカウンタのカウンタ値をインクリメントする。ただし、カウンタ値が０になったらクリヤする。すなわち、
【数２４】
0003736044.tif 000005
【００３２】
次に、ステップ３２で、カウント値が０、すなわち１００ｍｓが経過したかどうかを確認し、１００ｍｓが経過したらステップ３３，３４の処理を行なう。つまり、ステップ３３，３４の処理は１００ｍｓごとに行なわれる。ステップ３３で、ナビゲーションコントローラー１０と車両制御コントローラー４０に１００ｍＳごとの同期信号を送り、続くステップ３４で、メモリから白線同定パラメーター（ａY，ｂY，ｃY）を読み出す。この白線同定パラメーター（ａY，ｂY，ｃY）は、１００ｍｓごとに画像処理コントローラー２０から車両制御コントローラー４０へ送られ、メモリに格納されるものである。したがって、この白線同定パラメーターは１００ｍｓ前に撮像した画像に基づいて演算されたものである。
【００３３】
ステップ３５では、ヨーレートおよび横速度を推定するために、オブザーバーで使用する観測量として車速センサーから車速Ｖ、ヨーレートセンサーからヨーレート（dψ/dt）を入力し、さらに舵角センサーから制御入力である舵角δを入力する。続くステップ３６で、２輪モデルを使って設計されたオブザーバーから、車両のヨーレート（dψc/dt）と横速度ＶYを推定する。ここで、ヨーレートにはヨーレートセンサーによる検出値（dψ/dt）をそのまま使ってもよいが、センサー検出値にはノイズ成分が含まれているので、オブザーバーにより推定値（dψc/dt）を求める。
【数２５】
0003736044.tif 000006
また、ｕ１は入力であり、前輪舵角をδとして、
【数２６】
0003736044.tif 000007
となる。さらに、Ａ１，Ｂ１，Ｃ１は２輪モデルを状態方程式、
【数２７】
0003736044.tif 000008
で記述した時の係数行列であり、Ｋ１はオブザーバーゲインである。
【００３４】
ステップ３７において、上記ステップ３４で読み出した白線同定パラメーター（ａY，ｂY，ｃY）が何１０ｍｓ前に入力した画像のものであるかを算出する。処理遅れ時間Ｔdは、図１２に示すように、画像処理時間Ｔvとデータ更新待ち時間Ｔhの和である。
【数２８】
Ｔd＝Ｔv＋Ｔh
【００３５】
図１２において、画像処理時間Ｔvは、カメラ２が画像を取り込んでから、その処理結果である白線同定パラメーター（ａY，ｂY，ｃY）を車両制御コントローラー４０が受信するまでの時間で、上述したようにこの実施の形態では１００ｍｓである。また、データ更新待ち時間Ｔhは、車両制御コントローラー４０が白線同定パラメーター（ａY，ｂY，ｃY）を受信してから実際にその値を使用するまでの保持時間である。図１２に示す注視点距離Ｌｏは、車速Ｖが増加している場合の変化を示し、車速Ｖの増加に応じて画像処理時間Ｔvの空想距離が増加している。
【００３６】
ステップ３８では、処理遅れ時間Ｔdと車速Ｖとに基づいて図４に示すようにカメラ２から点Ｐ（Ｘ，Ｙ，Ｚ）までの注視点距離Ｌoを求める。
【数２９】
0003736044.tif 000009
ただし、Ｔsはサンプリング時間で、この実施の形態では１０ｍｓである。すなわち、注視点距離Ｌoは処理遅れ時間Ｔdの間に車両１が進んだ空走距離に等しい。続くステップ３９で、注視点における白線中心線の位置／方向／曲率を検出する。画像処理コントローラー２０で求めた白線同定パラメーター（ａY，ｂY，ｃY）を基に、注視点距離Ｌoでの白線の横位置ＹL、方向φLおよび曲率ρLを求める。
【数３０】
0003736044.tif 000010
【００３７】
ステップ４０において、車両１の移動量を算出する。処理遅れ時間Ｔdの間の車両１の移動量として、横移動量ΔＹcおよびヨー角変化量Δψcを求める。具体的には、上記オブザーバーで求めた横速度ＶYとヨーレート（dψc/dt）をそれぞれ積分して求める。
【数３１】
0003736044.tif 000011
ステップ４１では、現在の車両１の対道路位置とヨー角を算出する。車両移動量と注視点での白線位置／方向の差として、現在の車両１の道路に対する横位置Ｙcおよびヨー角ψcを算出する。
【数３２】
Ｙc＝ΔＹc−ＹL，
ψc＝Δψc−ψL
【００３８】
次に、ステップ４２で目標操舵角を決定する。車両が白線の右側を一定の間隔Ｗで走行するように操舵角を制御する。すなわち、目標横位置を−Ｗとし、目標ヨー角を０とする。フィードフォワード制御とフィードバック制御を行ない、フィードフォワード項を道路曲率に比例するように決定し、フィードバック項をＰＩ制御によって決める。
【数３３】
0003736044.tif 000012
数式３３において、右辺の第１項がフィードフォワード項、第２項が横位置Ｙcに関するフィードバック項、第３項がヨー角ψcに関するフィードバック項である。また、ＫYP，ＫYIはそれぞれ横位置に対する比例ゲインと積分ゲインであり、ＫψP，ＫψIはそれぞれヨー角に対する比例ゲインと積分ゲインである。ｓはラプラス演算子を表わす。特に、フィードフォワード制御項で曲率にかかるゲインＫρ（Ｖ）は車速によって決る値とする。ステップ４３で、目標舵角δ*になるように操舵アクチュエータの位置制御を行なう。
【００３９】
図１３は、従来の装置による白線検出結果（ｂ）と、第１の実施の形態による白線検出結果（ｃ）とを比較したものである。
（ａ）に示すような原画像の一走査線分に対して、従来の装置では輝度変化の大きな点を白線エッジと判断しているが、この実施の形態では白線モデルとの合致度が最大になる点を白線の中心と判断する。
【００４０】
−発明の第２の実施の形態−
上述した第１の実施の形態では白線幅に基づいて白線モデルを決定する例を示したが、白線の検出精度を向上させるために、白線幅に加え、白線の車両に対するヨー角と道路勾配を考慮して白線モデルを決定する第２の実施の形態を説明する。
なお、この第２の実施の形態の構成は図５に示す第１の実施の形態の構成と同様であり、説明を省略する。
【００４１】
図１４〜図１７に示すフローチャートにより、第２の実施の形態の動作を説明する。なお、図６〜図９に示す処理と同様な処理を行なうステップに対しては同一のステップ番号を付して相違点を中心に説明する。
図１４は、ナビゲーションコントローラー１０の処理を示すフローチャートである。なお、ナビゲーションコントローラー１０の動作の内、本発明に直接関係しない目的地までの経路演算などの処理については説明を省略する。
ナビゲーションコントローラー１０は、１００ｍｓごとに車両制御コントローラー４０から送られる同期信号に同期してこの処理を実行する。ステップ１、２で、上述したように、車両の現在位置を算出した後、現在走行中の道路の白線幅Ｗrを取得する。
【００４２】
ステップ２Ａで、車載の３軸地磁気センサー（不図示）を使って、ＧＰＳ座標系における車両の姿勢として、Ｘ−Ｙ平面における車両の進行方向を表わすヨー角と、Ｘ−Ｙ平面に対するピッチ角を求める。続くステップ２Ｂで、ナビゲーション用地図の中から、現在地から見て車両進行方向１００ｍ以内にあるすべての道路ノードについて、ＧＰＳ座標系における位置（Ｘni，Ｙni，Ｚni）を取得する。ステップ２Ｃでは、図２に示す車両固定座標系を設定し、ステップ２Ａで求めた車両姿勢を使って各ノードの位置を車両固定座標系に変換し、（Ｘni’，Ｙni’，Ｚni’）とする。
【００４３】
ステップ２Ｄで、勾配変化率を同定する。道路の高さ変化Ｚを距離Ｘに対する２次式とし、車両固定座標系に変換された各ノード座標から２次係数ａzを同定し、この値を勾配変化率とする。
【数３４】
Ｚ＝ａzＸ2
なお、一次の項と定数項を０としたのは、原点では道路がＸ−Ｙ平面に接することを利用している。また、最小二乗法の具体的方法は白線を同定した場合と同様である。ステップ２Ｅでは、白線幅Ｗrと勾配変化率ａzを画像処理コントローラー２０へ送り、勾配変化率ａzを車両制御コントローラー４０へ送る。
【００４４】
図１５は、画像処理コントローラー２０の処理を示すフローチャートである。画像処理コントローラー２０は、１００ｍｓごとに車両制御コントローラー４０から送られる同期信号に同期してこの処理を実行する。ステップ１１でカメラ２から画像データを入力して画像メモリ２１に記憶する。続くステップ１２Ａで、ナビゲーションコントローラー１０から白線幅Ｗrと勾配変化率ａzを読み込む。さらに、車両制御コントローラー４０から白線ヨー角φLを読み込む。ステップ１３で、入力画像において下から順に５本おきに走査線を選択する。ステップ１４Ａで、選択した走査線ごとに、走査線を横切る白線が何画素分ｗiになるかを算出する。具体的には、白線幅Ｗr、勾配変化率ａz、および白線ヨー角φLと、選択された走査線のｙ座標ｙiを数式９に代入した式となる。
【数３５】
ｗi＝ＷrcosφL（ｇ・ｆ）（ｙi）（ｙicosθc＋ｆcsinθc）
さらに、この値を四捨五入して偶数の整数にする。
【００４５】
以下、ステップ１５〜２１における処理は、図７に示す第１の実施の形態の画像処理と同様であり、説明を省略する。
【００４６】
図１６、図１７は、車両制御コントローラー４０の処理を示すフローチャートである。
車両制御コントローラー４０は、内蔵タイマカウンタの１０ｍｓのサンプリングタイムごとにこの処理を実行する。ステップ３１、３２において、上述したようにタイマカウンタの計算を行なう。そして、１００ｍｓごとに、ステップ３３Ａで、ナビゲーションコントローラー１０と画像処理コントローラー２０に同期信号を出力するとともに、後述するステップで算出された白線の車両１に対するヨー角φLを画像処理コントローラー２０へ出力する。さらにステップ３４Ａで、画像処理コントローラー２０から入力した白線同定パラメーター（ａY，ｂY，ｃY）と、ナビゲーションコントローラー１０から入力した勾配変化率ａzをバッファーメモリから読み出す。これらの白線同定パラメーター（ａY，ｂY，ｃY）と勾配変化率ａzは、１００ｍｓ前に算出された値である。
【００４７】
ステップ３５、３６で、上述したようにセンサーから車速Ｖ、ヨーレート（dψ/dt）および舵角δを入力し、オブザーバーによりヨーレート（dψc/dt）および横速度ＶYを推定する。さらにステップ３７、３８で、上述したように処理遅れ時間Ｔdを算出し、注視点距離Ｌoを求める。
【００４８】
ステップ３８Ａにおいて、道路の勾配変化による影響を除去するために、注視点距離Ｌoを補正して疑似注視点距離Ｌo’を求める。具体的には、数式１２において、
【数３６】
Ｘo→Ｌo’，
Ｘ→Ｌo，
Ｈ→Ｈc，
Ｚ＝ａzＬo3＋ｂzＬo2＋ｃz
と置換することにより求められる。
【数３７】
0003736044.tif 000013
【００４９】
ステップ３９Ａでは、疑似注視点における白線中心線の位置／方向／曲率を検出する。画像処理コントローラー２０で求めた白線同定パラメーター（ａY，ｂY，ｃY）を基に、疑似注視点Ｌo’における白線の横位置ＹL’、方向φL’および曲率ρL’を求める。
【数３８】
0003736044.tif 000014
ステップ３９Ｂで、疑似注視点Ｌo’における白線の横位置ＹL’、方向φL’および曲率ρL’に対して、道路の勾配変化分による影響を除去するための補正を行なって横位置ＹL、方向φLおよび曲率ρLを求める。
【数３９】
0003736044.tif 000015
【００５０】
以下、ステップ４０〜４３における処理は、図８、図９に示す第１の実施の形態の車両制御と同様であり、説明を省略する。
【００５１】
−発明の実施の形態の変形例−
白線モデル設定の変形例を説明する。
走査線ごとに求めた白線画素数に応じて、図１８に示すように白線モデル｛Ｍ［−ｗi］，・・，Ｍ［−１］，Ｍ［０］，Ｍ［１］，・・，Ｍ［ｗi］｝を設定する。つまり、モデルは白線画素数ｗiに対して（２ｗi＋１）個の画像数を持つが、データとしては以下のように４ｍ個分だけが０でない値になる。ここで、ｍは任意の整数である。
【数４０】
0003736044.tif 000016
この変形例の白線モデルを白線検出に用いると、白線モデルの合致度を求めるための内積計算の回数が２ｗi回から４ｍ回に減り、マイクロコンピュータの負担を軽減することができる。
【００５２】
−発明の実施の形態の変形例−
白線モデル合致度の算出の変形例を説明する。
横位置ｘで抜き出した部分画像と白線モデルとの内積をモデルの幅（２ｗi＋１）で除し、その値を位置（ｘ，ｙi）におけるモデルに対する合致度（ａ［ｘ，ｙi］）とする。
【数４１】
0003736044.tif 000017
【００５３】
また、高速道路のランプなどにおいて、道路上の実際の白線幅Ｗrが変化することがある。このような場合は、実際の白線幅Ｗrを車両からの距離に応じた関数で表わし、車両からの距離に応じた実際の白線幅Ｗrに基づいて画面上の走査線ごとの白線幅を演算する。そして、算出した走査線ごとの白線幅に応じて走査線ごとの白線モデルを設定し、走査線ごとに部分画像と白線モデルとの内積をとり、その内積値をモデルの幅（２ｗｉ＋１）で除する。
【００５４】
このような合致度の算出方法によれば、高速道路のランプなどにおいて白線幅Ｗrが変化しても同じ合致度が得られ、合致度の演算を正規化することができ、白線同定パラメーターを正確に求めることができる。
【００５５】
上述した実施の形態とその変形例では、ＧＰＳ航法により車両が現在走行中の道路を特定し、道路地図情報から走行中の道路の白線幅を読み出す例を示したが、路車間通信により路側ビーコンから走行中の道路の白線幅を取得するようにしてもよい。
【００５６】
以上の一実施の形態とその変形例の構成において、カメラ２が撮像手段を、ナビゲーションコントローラー１０が白線幅取得手段を、画像処理コントローラー２０が白線幅演算手段、白線モデル設定手段、合致度演算手段、投影手段および白線形状演算手段をそれぞれ構成する。
【図面の簡単な説明】
【図１】  車両の進行方向が白線と平行な場合の道路上の白線の画像を示す図である。
【図２】  車両固定座標系ＸＹＺと画面座標系ｘｙを示す図である。
【図３】  図２に示す画面座標系ｘｙを図１の画面上に重ねた図である。
【図４】  道路勾配モデルを示す図である。
【図５】  第１の実施の形態の構成を示す図である。
【図６】  第１の実施の形態のナビゲーションコントローラーの動作を示すフローチャートである。
【図７】  第１の実施の形態の画像処理コントローラーの動作を示すフローチャートである。
【図８】  第１の実施の形態の車両制御コントローラーの動作を示すフローチャートである。
【図９】  図８に続く、第１の実施の形態の車両制御コントローラーの動作を示すフローチャートである。
【図１０】  画面上の走査線の選択方法を説明するための図である。
【図１１】  白線モデルを示す図である。
【図１２】  処理遅れ時間Ｔdを説明する図である。
【図１３】  従来の装置による白線検出結果と第１の実施の形態による白線検出結果とを比較した図である。
【図１４】  第２の実施の形態のナビゲーションコントローラーの動作を示すフローチャートである。
【図１５】  第２の実施の形態の画像処理コントローラーの動作を示すフローチャートである。
【図１６】  第２の実施の形態の車両制御コントローラーの動作を示すフローチャートである。
【図１７】  図１６に続く、第２の実施の形態の車両制御コントローラーの動作を示すフローチャートである。
【図１８】  白線モデルの変形例を示す図である。
【符号の説明】
１  車両
２  カメラ
１０  ナビゲーションコントローラー
２０  画像処理コントローラー
３０  データ通信部
４０  車両制御コントローラー
【図１】
0003736044.tif 000018
【図２】
0003736044.tif 000019
【図３】
0003736044.tif 000020
【図４】
0003736044.tif 000021
【図５】
0003736044.tif 000022
【図６】
0003736044.tif 000023
【図７】
0003736044.tif 000024
【図８】
0003736044.tif 000025
【図９】
0003736044.tif 000026
【図１０】
0003736044.tif 000027
【図１１】
0003736044.tif 000028
【図１２】
0003736044.tif 000029
【図１３】
0003736044.tif 000030
【図１４】
0003736044.tif 000031
【図１５】
0003736044.tif 000032
【図１６】
0003736044.tif 000033
【図１７】
0003736044.tif 000034
【図１８】
0003736044.tif 000035