(57)【特許請求の範囲】
【請求項１】
車両前方の道路を撮像する撮像手段を備え、当該撮像手段で撮像した撮像画像から道路白線候補点を検出し、これに基づき道路白線を認識するようにした道路白線認識装置において、
投影された前記道路白線のエッジ方向を、前記撮像画像の輝度変化状況に基づき前記撮像画像上の各座標位置において推定し、当該エッジ方向に基づいて前記座標位置における前記道路白線の近似直線を推定する近似直線推定手段と、
当該近似直線推定手段で推定した推定近似直線と前記撮像画像の垂直又は水平方向と平行な予め設定した基準直線との交点座標を検出する交点検出手段と、
前記撮像画像の前記基準直線上の座標位置が前記交点座標として検出された回数を座標位置毎にカウントするカウント手段と、
前記交点座標として検出された座標位置のうち、前記カウント手段によるカウント値の多いものから所定数の座標位置を、前記白線候補点として検出する白線候補点検出手段と、を備えることを特徴とする道路白線認識装置。
【請求項２】
前記基準直線は、前記撮像画像の水平方向と平行な直線であることを特徴とする請求項１記載の道路白線認識装置。
【請求項３】
前記白線候補点に基づき、道路モデルを推定するようにした道路白線認識装置であって、
前回推定した道路モデルに基づき前記撮像画像に投影された道路白線のエッジ方向を算出するエッジ方向算出手段を備え、
前記交点検出手段は、前記近似直線推定手段で推定したエッジ方向と、前記エッジ方向算出手段で算出したエッジ方向との偏差が予め設定したしきい値以下であるとき、前記推定近似直線と前記基準直線との交点座標を検出するようになっていることを特徴とする請求項１又は２記載の道路白線認識装置。
【請求項４】
前記撮像画像に対して複数の探索領域を設定し、当該探索領域毎に前記白線候補点の検出を行うようになっていることを特徴とする請求項１乃至３の何れかに記載の道路白線認識装置。
【請求項５】
前記基準直線は、前記探索領域の水平方向と平行であり且つ前記探索領域の垂直方向中央の位置座標を有する直線であることを特徴とする請求項４記載の道路白線認識装置。
【請求項６】
前記カウント手段は、前記基準直線上の座標位置毎のカウント値を格納するための記憶領域を有し、
前記交点座標を検出したとき、前記記憶領域の前記交点座標に対応するカウント値をインクリメントするようになっていることを特徴とする請求項１乃至５の何れかに記載の道路白線認識装置。
【請求項７】
前記近似直線推定手段は、各座標位置における輝度変化率に基づいて輝度の変化方向を表す輝度変化ベクトルを検出し、当該輝度変化ベクトルと直交する方向を前記エッジ方向として検出するようになっていることを特徴とする請求項１乃至６の何れかに記載の道路白線認識装置。
【請求項８】
前記交点検出手段は、前記輝度変化ベクトルの大きさが、予め設定したしきい値よりも大きいとき、前記推定近似直線と前記基準直線との交点座標を検出するようになっていることを特徴とする請求項７記載の道路白線認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、道路上の通行区分帯表示用の道路白線を認識するための道路白線認識装置に関する。
【０００２】
【従来の技術】
従来より、自車両前方の道路を撮像手段によって撮像し、この撮像画像によって道路白線を認識し、自車両と白線との関係を、車両の自動制御又は一部自動制御に用いる技術が提案されている。
例えば、特開２００１−３４７７０号公報等においては、撮像画像から道路白線を構成する白線候補点を検出し、撮像画像における白線候補点の位置座標に基づき道路白線の形状や道路白線に対する車両姿勢を推定するようにしている。
【０００３】
前記道路白線の検出には、前記特開２００１−３４７７０号公報に示すように、道路白線と路面との輝度の違いを利用して検出する方法が用いられている。この方法では、道路白線と路面との境界の輝度の差は大きく、この輝度差が道路白線に沿って現れるため、撮像画像において輝度変化の大きい点列を、道路白線と路面との境界線と仮定するようにしている。
【０００４】
図１０は、その一例を示したものである。図１０において、点列の位置を表す座標系は、撮像画像左上を基準とし、水平右方向をｘ軸の正、垂直下方向をｙ軸の負としている。そして、図１０においては、道路白線と路面との境界で、且つ、車線内側を白線候補点としている。図１０に示すように、撮像画像には、真の白線候補点以外に、偽の白線候補点すなわちノイズが存在する。このノイズを除去するために、画像処理の代表的手法であるハフ変換が適用されている。
【０００５】
このハフ変換は、座標空間からパラメータ空間へ変換するようにしたものである。例えば、座標｛ｘ，ｙ｝を通過する直線は、パラメータａ及びｂを用いて、次式（１）と表すことができる。
ｘ＝ａ・ｙ＋ｂ                                          ……（１）
したがって、白線候補点の座標を｛ｘ，ｙ｝と仮定した場合、前記パラメータａを定めると、前記（１）式から、パラメータｂを特定することができる。このパラメータ｛ａ，ｂ｝を量子化し、図１１に示すように、横軸をａ、縦軸をｂとする配列においてパラメータ｛ａ，ｂ｝に対応するマスを“１”だけ増加させる。なお、図１１において、配列の空欄は、“０”を意味している。
【０００６】
この作業を、白線候補点全てに対して行うと、その結果、図１２に示す配列を得ることができる。なお、図１２においては、簡略のため空欄としているが、実際には、前記白線候補点に基づいて前記（１）式を満足するパラメータ｛ａ，ｂ｝に応じた値がそれぞれ設定されることになる。
前記図１２に示す配列において、ある要素｛ａr ，ｂr ｝の数Ｚr は、次式（２）を満足する｛ｘ，ｙ｝が貫く直線に属する白線候補点数を表している。
【０００７】
ｘ＝ａr ・ｙ＋ｂr                                       ……（２）
そして、前記配列の要素つまり白線候補点数が、所定値以上のものを、白線候補線とする。これにより、撮像画像上に、複数の直線が現れた場合でも全て検出できることがわかる。また、ノイズがのった白線候補点を貫く候補線は、白線候補点数が少ないため、白線候補線とは判断されない。したがって、ノイズがのった白線候補点は、白線候補線の推定に影響を与えることはない。
【０００８】
このようにして設定される、前記図１２に示す配列を、ここでは、ハフ空間と呼ぶ。そして、白線候補点｛ｘ，ｙ｝からハフ空間へ変換するという意味で、前記ハフ空間を求めることを、ハフ変換と呼んでいる。
このように、ハフ変換では、データの中にノイズが含まれるものが存在しても、真のデータの候補点数が最大となれば、推定結果に与えないという長所があり、これはすなわち、推定がロバストであるということができる。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記従来の白線検出方法においては、演算量が膨大であるという問題がある。
つまり、例えば、ハフ変換を直線検出に適用した場合、図１２から直線を選択するためには、ハフ空間で極大値を与えるマスを選択する必要がある。この極大値の探索は、一般に、図１３に示すフローチャートにしたがって行われる。
【００１０】
すなわち、まず、ステップＳ１０１で、次式（３）に示すように、ハフ空間で、極大値を与えるマスの行及び列番号（ｘ，ｙ）を格納するための領域を初期化する。
candidate[i][j] ＝0;                                    ……（３）
i ＝1,2,……h (h: 極大候補を格納する数)
j ＝0,1
なお、式中のｉは候補番号を表す。また、ｊ＝０に対応する領域には、極大候補点のｘ座標、ｊ＝１に対応する領域には極大候補点のｙ座標が代入される。
【００１１】
次いで、ステップＳ１０２で、図１４に示すように、ハフ空間の３×３のマスをひとまとまりとして選択する。
そして、選択した３×３のマスについて、その中央に位置するマスに設定されている値が、その周囲のマスに設定されている値よりも大きいとき、この中央に位置するマスは極大候補であると判断する（ステップＳ１０３）。
【００１２】
そして、極大候補であると判断されないときには、ステップＳ１０４からそのまま後述のステップＳ１０６に移行し、極大候補であると判断されたときには、ステップＳ１０４からステップＳ１０５に移行し、極大候補集合の並び替えを行う。つまり、極大候補として先に検出されているマスの集合である極大候補集合と、ステップＳ１０３で新たに極大候補として検出されたマスとについて、極大候補値が大きい順に並ぶように、極大候補集合を並び替える。
【００１３】
例えば、極大候補集合として３つの極大候補を格納するものとし、３つの極大候補値を次式（４）に示すように表す。なお、ハフ空間をhspace[x][y]で表し、ｘ，ｙは、図１１或いは図１２の行及び列を表す。また、ｘｉ＝candidate[i][0] 、ｙｉ＝candidate[i][1] （ｉ＝１〜３）である。
【００１４】
【数１】
0003700675.tif 000002
【００１５】
ここで、ステップＳ１０３で新たに極大候補として検出されたマスの極大候補値をｖと表すものとする。例えば、この極大候補値ｖが、第１極大候補値と、第２極大候補値との間の値であるとすると、ｖが新たな第２極大候補値、もとの第２極大候補値が第３極大候補値となる。したがって、第２及び第３の極大候補値に対応するマスを修正するための、次式（５）で表される一連の操作が行われる。なお、（５）式中のｘ，ｙは、極大候補のマスの行及び列番号である。
【００１６】
【数２】
0003700675.tif 000003
【００１７】
そして、ステップＳ１０６の処理で、３×３のマスのまとまりを全て選択し、これらについて上述の処理を行ったかどうかを判定し、全てを選択していないときには、ステップＳ１０２に戻って上記と同様に、極大候補値かどうかの判定を行って極大候補集合の並び替えを行い、３×３のマスのまとまりを全て選択したとき、処理を終了する。
【００１８】
以上の処理を行うことによって、極大候補値のうちの、上位３つを、第１から第３の極大候補として記憶することができる。
ここで、ハフ空間の行数を“ｎ”、列数を“ｍ”とすると、ステップＳ１０２からステップＳ１０６の処理の繰り返し回数は、（ｎ−２）×（ｍ−２）回であり、また、その繰り返しの中に現れる、ステップＳ１０３では８回の比較処理を行うため、全体の比較演算は、（ｎ−２）×（ｍ−２）×８回となる。この演算は、リアルタイムでの画像処理を必要とするプロセッサにおいては、非常に負荷となっている。
【００１９】
この演算量を減らすために、単に、設定されている値が最大であるマスを選択することも考えられるが、一般に、貫く画素数が最大を与える白線候補線が、真の道路境界線を示しているとはいえない場合が多い。その結果、道路形状の誤推定や、道路に対する自車両の姿勢の誤推定が発生することになる。このため、ハフ変換に代表される白線候補点の検出処理以降の処理がいかなるものであれ、白線候補点を選択する段階では、その候補を複数挙げておくことが望ましい。しかしながら、上述のように演算量の多い処理方式を用いて実時間で実行した場合、その処理時間が長くなり、それにつれて、無駄時間が長くなる。
【００２０】
このため、例えば、このようにして算出した道路モデルに基づいて処理を行う車線追従装置等の制御性を向上させるためにも、白線候補点を、より短時間で的確に検出することのできる方法が望まれていた。
そこで、この発明は、上記従来の未解決の問題に着目してなされたものであり、道路白線の白線候補点をより短時間で的確に検出することの可能な道路白線認識装置を提供することを目的としている。
【００２１】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に係る道路白線認識装置は、車両前方の道路を撮像する撮像手段を備え、当該撮像手段で撮像した撮像画像から道路白線候補点を検出し、これに基づき道路白線を認識するようにした道路白線認識装置において、投影された前記道路白線のエッジ方向を、前記撮像画像の輝度変化状況に基づき前記撮像画像上の各座標位置において推定し、当該エッジ方向に基づいて前記座標位置における前記道路白線の近似直線を推定する近似直線推定手段と、当該近似直線推定手段で推定した推定近似直線と前記撮像画像の垂直又は水平方向と平行な予め設定した基準直線との交点座標を検出する交点検出手段と、前記撮像画像の前記基準直線上の座標位置が前記交点座標として検出された回数を座標位置毎にカウントするカウント手段と、前記交点座標として検出された座標位置のうち、前記カウント手段によるカウント値の多いものから所定数の座標位置を、前記白線候補点として検出する白線候補点検出手段と、を備えることを特徴としている。
【００２２】
また、請求項２に係る道路白線認識装置は、前記基準直線は、前記撮像画像の水平方向と平行な直線であることを特徴としている。
また、請求項３に係る道路白線認識装置は、前記白線候補点に基づき、道路モデルを推定するようにした道路白線認識装置であって、前回推定した道路モデルに基づき前記撮像画像に投影された道路白線のエッジ方向を算出するエッジ方向算出手段を備え、前記交点検出手段は、前記近似直線推定手段で推定したエッジ方向と、前記エッジ方向算出手段で算出したエッジ方向との偏差が予め設定したしきい値以下であるとき、前記推定近似直線と前記基準直線との交点座標を検出するようになっていることを特徴としている。
【００２３】
また、請求項４に係る道路白線認識装置は、前記撮像画像に対して複数の探索領域を設定し、当該探索領域毎に前記白線候補点の検出を行うようになっていることを特徴としている。
また、請求項５に係る道路白線認識装置は、前記基準直線は、前記探索領域の水平方向と平行であり且つ前記探索領域の垂直方向中央の位置座標を有する直線であることを特徴としている。
【００２４】
また、請求項６に係る道路白線認識装置は、前記カウント手段は、前記基準直線上の座標位置毎のカウント値を格納するための記憶領域を有し、前記交点座標を検出したとき、前記記憶領域の前記交点座標に対応するカウント値をインクリメントするようになっていることを特徴としている。
また、請求項７に係る道路白線認識装置は、前記近似直線推定手段は、各座標位置における輝度変化率に基づいて輝度の変化方向を表す輝度変化ベクトルを検出し、当該輝度変化ベクトルと直交する方向を前記エッジ方向として検出するようになっていることを特徴としている。
【００２５】
さらに、請求項８に係る道路白線認識装置は、前記交点検出手段は、前記輝度変化ベクトルの大きさが、予め設定したしきい値よりも大きいとき、前記推定近似直線と前記基準直線との交点座標を検出するようになっていることを特徴としている。
【００２６】
【発明の効果】
本発明の請求項１に係る道路白線認識装置によれば、投影された道路白線のエッジ方向を撮像画像の輝度変化状況に基づき各座標位置において推定し、このエッジ方向に基づいて各座標位置における道路白線の近似直線を推定する。そして、推定した推定近似直線と撮像画像の垂直又は水平方向と平行な予め設定した基準直線との交点座標を検出し、この基準直線上の座標位置が交点座標として検出された回数を座標位置毎にカウントし、カウント値の多いものから所定数の座標位置を、白線候補点として検出するようにしたから、カウント値の多いものを探索する際の比較演算回数を大幅に削減することができ、白線候補点演算に要する処理時間の短縮を図ることができる。
【００２７】
また、請求項２に係る道路白線認識装置によれば、撮像画像の水平方向と平行な直線を基準直線とするようにしたから、撮像画像においてその上下方向に伸びる道路白線に応じた近似直線との交点を的確に検出することができ、白線候補点の検出を高精度に行うことができる。
また、請求項３に係る道路白線認識装置によれば、前回推定した道路モデルに基づくエッジ方向と、輝度変化状況に基づき推定したエッジ方向との偏差がしきい値以下であるときに、交点座標を検出するようにしたから、誤認識したエッジ方向に基づいて交点座標が検出されることを回避し、白線候補点の検出精度を向上させることができる。
【００２８】
また、請求項４に係る道路白線認識装置によれば、撮像画像に対して複数の探索領域を設定し、探索領域毎に前記白線候補点の検出を行うようにしたから、一般に曲線からなる道路白線の近似直線への近似誤差を低減することができ、この近似誤差に伴う白線候補点の検出精度の低下を抑制することができる。
また、請求項５に係る道路白線認識装置によれば、探索領域の水平方向と平行であり且つ探索領域の垂直方向中央の位置座標を有する直線を基準直線として設定するようにしたから、一般に曲線からなる道路白線の近似直線への近似誤差を低減することができ、この近似誤差に伴う白線候補点の検出精度の低下を抑制することができる。
【００２９】
また、請求項６に係る道路白線認識装置によれば、交点座標を検出したときには、記憶領域の交点座標に対応するカウント値をインクリメントするようにしたから、交点座標のカウントを容易に行うことができる。
また、請求項７に係る道路白線認識装置によれば、各座標位置における輝度変化率に基づいて輝度の変化方向を表す輝度変化ベクトルを検出し、この輝度変化ベクトルと直交する方向をエッジ方向として検出するようにしたから、容易且つ的確にエッジ方向を検出することができる。
【００３０】
さらに、請求項８に係る道路白線認識装置によれば、輝度変化ベクトルの大きさが、予め設定したしきい値よりも大きいときに交点座標を検出するようにしたから、輝度変化ベクトルの大きさが小さく道路白線のエッジ部であるとみなすことができないときには、交点座標は検出されないから、エッジ部でない座標位置が白線候補点として誤検出されることを回避し、白線候補点の検出を的確に行うことができる。
【００３１】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は、本発明を適用した道路白線認識装置の一実施形態を示す構成図である。
図１において、ＣＣＤカメラ等で構成される撮像装置１は、例えば、車幅方向中央の、車室内のフロントウィンドウ上部に取り付けられ、車両前部の道路を含む車両の周囲環境を撮像する。
【００３２】
前記撮像装置１で撮像された撮像情報は、処理装置２に入力され、処理装置２は、前記撮像情報をもとに、白線候補点の検出を行い、白線候補点の検出結果に基づいて道路モデルを表す道路パラメータを推定する。
図２は、処理装置２で実行される道路白線を検出するための道路白線検出処理の処理手順の一例を示すフローチャートである。なお、この道路白線検出処理は、予め設定した所定周期で実行される。
【００３３】
まず、ステップＳ１で、撮像装置１で撮像した前方画像の撮像情報を読み込み、次いでステップＳ２で、読み込んだ撮像情報からなる撮像画像に対し、図３に示すように、左右の道路白線に相当する位置に複数のウィンドウを設定する。図３の場合には、６個のウィンドウを設定している。
このウィンドウは、道路白線以外の白線を道路白線として誤認識することを回避するために設けたものである。なお、図３に示すように、撮像画像においては、例えばその左上座標を基準とし、水平右方向をｘ軸の正方向、垂直下方向をｙ軸の正方向とする。
【００３４】
前記各ウィンドウにおいて、そのｙ方向、つまり画像上下方向のウィンドウ位置は予め設定しておく。例えば、図４に示すように、各ウィンドウのｙ方向の中心位置をｙｃとし、その幅ｙｄを固定しておく。
一方、前記ウィンドウのｘ方向、つまり画像左右方向のウィンドウ位置は、前回の処理周期における道路白線検出処理の処理結果に基づき得られた道路モデルに基づいて設定する。
【００３５】
ここで、一般に、曲線路を考慮した道路形状は、道路モデルのパラメータを｛Ａ，Ｂ，Ｃ，Ｄ，Ｈ｝とすると、次式（６）で表すことができることが知られている。なお、（６）式中のＡは、車両の車線に対する横変位、Ｂは道路曲率に相当する値、Ｃは車両の車線に対するヨー角、Ｄはピッチ角、Ｈはカメラ（撮像装置１）の高さである。また、Ｅ0 は車線幅（すなわち、左側の道路白線の中央と右側の道路白線の中央との間の距離）、ｆはカメラ（撮像装置１）の透視変換定数、｛ｘw ，ｙw ｝は撮像画像上における白線候補点の座標である。また、ｉは左側道路白線の場合には“０”、右側道路白線の場合には“１”を表す。
【００３６】
ｘw ＝(-A+i*E0)*(yw ＋f*D)／H −B*H*f2／(yw ＋f*D)−C*f ……（６）
ここで、ウィンドウのｘ軸方向の中心位置座標をｘｃとすると、この中心位置座標ｘｃは、前記（６）式及び予め設定したｙ軸方向の中心位置座標ｙｃから算出することができる。
なお、ウィンドウのＸ軸方向の幅ｘｄは固定値でもよく、また、例えば、特開平８−２６１７５６号公報に記載されているように、前述の道路モデルのパラメータ｛Ａ，Ｂ，Ｃ，Ｄ，Ｈ｝の分散から合理的に設定するようにしてもよい。
【００３７】
次いで、ステップＳ３に移行し、検索対象のウィンドウを設定する。例えば、図３で設定した各ウィンドウを識別するための識別番号の一番若いもの、図３の場合ｎ＝１を検索対象のウィンドウとして設定する。
次いで、ステップＳ４に移行し、前回の道路モデルの推定結果に基づき、ウィンドウのｙ軸方向の中心位置座標ｙｃにおいて想定される直線の傾き［ｄｘ／ｄｙ］nsを算出する。すなわち、前記（６）式をｙで微分し、次式（７）を得る。なお、（７）式中の添字ｎは、ｎ番目のウィンドウを表し、添字ｓは想定値であることを表す。
【００３８】
[dx/dy] ns＝ (-A+i*E0)／H ＋B*H*f2／(yｃ＋f*D)2       ……（７）
次いで、ステップＳ５に移行し、ウィンドウのｙ方向中心座標ｙｃ位置に存在する画素の個数ｒn に等しい、記憶領域hspace[g] （ｇ＝０，１，２，……，ｒn ）を、１次元ハフ空間として用意し、この記憶領域hspace[g] をクリアにしておく。
【００３９】
なお、ｇと画素のｘ座標とは、図５に示すように、ウィンドウの左端に位置する画素のｘ座標をｇ0 としたとき、ｘ＝ｇ＋ｇ0 を満足するものとする。
次いで、ステップＳ６に移行し、図６に示すフローチャートにしたがって、ウィンドウ内の全ての画素に対し、以下の処理を施しハフ変換を行う。なお、ウィンドウ内の各画素を添字ｍにより区別している。
【００４０】
まず、ステップＳ２１で、ハフ変換対象の画素を選択する。次いで、ステップＳ２２に移行し、ｘ方向及びｙ方向の輝度の変化率（微分）を算出する。ノイズ除去のため、ソーベルフィルタやプレビットフィルタを用いてもよい。また、例えば、輝度の差分を求めるようにしてもよい。これは、例えば、（ｘm ，ｙm ）をｍ番目の画素のｘ，ｙ座標とし、このｘ，ｙ座標の画素の輝度をbright（ｘm ，ｙm ）とすると、ｘ方向及びｙ方向の輝度の差分ｔｘm ，ｔｙm は次式（８）で算出することができる。
【００４１】
【数３】
0003700675.tif 000004
【００４２】
次いで、ステップＳ２３に移行し、白線候補点が直線的に並んでいると仮定し、その直線の傾き [dx/dy]m を次式（９）に示すように、輝度変化率から算出する。
【００４３】
[dx/dy]m ＝−ｔｙm ／ｔｘm                             ……（９）
この（９）式は、次のようにして導かれる。
すなわち、 [dx/dy]m は、ｙが“１”変化したときの、ｘの変化量を表す。つまり、この直線の方向ベクトルは、（ [dx/dy]m ，１）である。また、前記ｘ方向及びｙ方向の輝度の差分値は、輝度の変化方向を表す、輝度変化ベクトル（ｔｘm ，ｔｙm ）とみなすことができる。前記方向べクトル（ [dx/dy]m ，１）と輝度変化ベクトル（ｔｘm ，ｔｙm ）とは、図７に示すように直交する。
【００４４】
したがって、これらベクトルが直交することから、その内積は零となり、次式（１０）が成り立つ。
[dx/dy]m ×ｔｘm ＋１×ｔｙm ＝０                    ……（１０）
したがって、この（１０）式を変形することによって、前記（９）式を導くことができる。
【００４５】
ただし、輝度変化率ｔｘm が零の場合、この画素を白線候補点として選択しないために、 [dx/dy]m には、実際にはあり得ない値を代入する。
次いで、ステップＳ２４に移行し、トータル輝度変化率ｔｔm を算出する。例えば、次式（１１）に示すように、ユークリッドノルムを用いて算出する。
ｔｔm ＝（ｔｘm 2 ＋ｔｙm 2 ）1/2                     ……（１１）
次いで、ステップＳ２５に移行し、ハフ変換対象である（ｘm ，ｙm ）の画素が白線候補点であるか否かの判定を行う。
【００４６】
この判定は、ステップＳ２４で算出したトータル輝度変化率ｔｔm が予め設定したしきい値以上であること、また、ステップＳ２３で算出した直線の傾き [dx/dy]m と前記ステップＳ４で算出した前回の道路モデルの推定結果に基づく直線の傾き［ｄｘ／ｄｙ］nsとの偏差が予め設定したしきい値以下であること、を満足するとき、白線候補点と判断する。つまり、次式（１２）及び（１３）を満足するとき、白線候補点であると判断する。
【００４７】
ｔｔm ＞ｔｔm 0                                       ……（１２）
｜[dx/dy] m −［ｄｘ／ｄｙ］ns｜＜ｋ                  ……（１３）
なお、（１３）式中のしきい値ｋは、これを小さくすると、ノイズを拾いにくくなる反面、道路曲率の急変等におけるエッジ方向急変に追従することができなくなる。逆にしきい値ｋを大きくすると、追従性はよくなる反面、ノイズを拾いやすくなるため、両者のトレードオフを考慮して設定する。
【００４８】
なお、ここでは、前記（１２）式及び（１３）式を共に満足するときに、白線候補点であると判定するようにした場合について説明したが、これに限るものではなく、例えば、白線内側のみを白線候補点とする場合には、エッジベクトルｔｘm の符号条件も考慮するようにしてもよい。つまり、図８に示すように左白線の場合には、その符号はマイナスとなり、右白線の場合には、プラスとなる。
【００４９】
次いで、ステップＳ２６に移行し、ステップＳ２５での判定の結果、ハフ変換対象の画素が白線候補点であると判定されたときには、ステップＳ２７に移行し、白線候補点ではないと判定されたときには、後述のステップＳ２９に移行する。
前記ステップＳ２７では、白線候補点であると判定された画素の座標（ｘm ，ｙm ）と、前記ステップＳ２３で算出した直線の傾き[dx/dy] m とから、傾き[dx/dy] m を有し且つ座標（ｘm ，ｙm ）を通る直線と、直線ｙ＝ｙｃn との交点のｘ座標ｘ(yc n ) を算出する。これは、次式（１４）及び（１５）に基づいて算出する。
【００５０】
（ｘ−ｘm ）＝[dx/dy] m ×（ｙ−ｙm ）                ……（１４）
ｘ(yc n ) ＝ｘm ＋[dx/dy] m ×（ｙｃn −ｙm ）      ……（１５）
次いで、ステップＳ２８に移行し、ハフ空間への投票を行う。つまり、ステップＳ２７で算出したｘ座標ｘ(yc n ) に対応するハフ空間つまり、ステップＳ５で用意した記憶領域hspace[g] の対応するマスをインクリメントする。ここで、前述のように、ｇと画素のｘ座標との間には、ｘ＝ｇ＋ｇ0 が成り立つから、ｘ座標ｘ(yc n ) の画素に対応するマスｇm は、ｇm ＝ｘ(yc n ) −ｇ0 となる。したがって、次式（１６）に示すようにマスｇm をインクリメントする。
【００５１】
hspace［ｇm ］＝hspace［ｇm ］＋１                  ……（１６）
次いで、ステップＳ２９に移行し、ウィンドウ内の全ての画素に対して処理が終了したかどうかを判定し、全てについて処理が終了していない場合には、ステップＳ２１に戻って次の画素に対して同様に処理を行い、ウィンドウ内の全ての画素に対して処理が終了したとき、ハフ変換処理を終了する。そして、図２に戻ってステップＳ７に移行する。
【００５２】
このステップＳ７では、ウィンドウｎにおける、道路白線を構成する白線候補点の確定を行う。つまり、ハフ変換が行われた後のハフ空間hspace[v] （ｖ＝０，１，２，……，ｒn ）のうち、各ハフ空間hspace[v] に設定された値の大きい方から数点を、極大値候補として選択し、選択された極大値候補に該当する画素を白線候補点とする。この処理は図９に示す手順で行う。
【００５３】
なお、ここでは、各ウィンドウ毎にｈn 個の極大値候補を選択するものとする。
まず、ステップＳ３１では、極大値候補として選択されたハフ空間をhspace[j] （ｊ＝１〜ｈn ）としたとき、この空間を特定する“ｊ”を格納するための、記憶領域candidate(ｅ）（ｅ＝１〜ｈn ）を用意しこれをクリアにする。
【００５４】
次いで、ステップＳ３２に移行し、ハフ空間hspace[v] （ｖ＝０，１，２，……，ｒn ）の中から、処理対象のハフ空間を選択する。そして、ステップＳ３３に移行し、極大値候補の判断を行う。つまり、ハフ空間hspace[v] に設定されている値をｈ（ｖ）としたとき、次式（１７）を満足するハフ空間hspace[v] を、極大値候補であると判断する。
【００５５】
ｈ（ｖ−１）＜ｈ（ｖ）＞ｈ（ｖ＋１）                  ……（１７）
そして、ステップＳ３３の処理で極大値候補であると判定されたときにはステップＳ３４からステップＳ３５に移行し、極大値候補でないと判定されたときにはステップＳ３４からそのままステップＳ３６に移行する。
前記ステップＳ３５では、極大値候補の更新を行う。
【００５６】
すなわち、極大値候補として既に登録されているハフ空間candidate[ｅ] （ｅ＝１〜ｈn ）のうち、これらハフ空間candidate[ｅ］に設定されている値ｈ（ｅ）が、ｈ（ｖ）＞ｈ（ｅ）を満足するｅが存在するとき、次式（１８）の処理を行う。
【００５７】
【数４】
0003700675.tif 000005
【００５８】
これにより、極大値候補のハフ空間hspace[v] のうち、その値ｈ（ｖ）が大きいものから順に、candidate [1] 、candidate [2] 、……、candidate [hn ] に格納されることになる。
【００５９】
次いで、ステップＳ３６に移行し、全てのハフ空間hspace[v] について極大値候補としての探索を行ったかどうかを判定し、全てについて探索を行っていない場合には、ステップＳ３２に戻る。そして、全てについて探索を行った場合には、ステップＳ３７に移行し、白線候補点の確定を行う。
ここで、ウィンドウｎの極大値候補のハフ空間hspace[v] に対応する画素のｘ座標は、次式（１９）で求められる。
【００６０】
ｘnj＝candidate [j] ＋g0  ｊ＝１〜ｈn                 ……（１９）
したがって、前記極大値候補として登録されているハフ空間candidate[ｅ] （ｅ＝１〜ｈn ）を、前記（１９）式に基づいて、撮像画像上の画素の位置座標（ｘnj、ｙｃn ）に変換し、この位置座標で表される画素を、ウィンドウｎの白線候補点とする。
【００６１】
このようにして、ウィンドウｎにおける複数の白線候補点が確定したならば、図２に戻って、ステップＳ８に移行する。
このステップＳ８では、全てのウィンドウについて、白線候補点の確定が終了したかどうかを判定し、全てのウィンドウについて確定が終了していない場合には、ステップＳ３に戻って次のウィンドウに対して上記と同様に処理を行う。そして、全てのウィンドウについて白線候補点の確定が終了したときには、ステップＳ９に移行し、各ウィンドウ毎に確定された複数の白線候補点に基づいて、道路モデルの推定を行い、処理を終了する。この道路モデルの推定は、例えば、特開平８−２６１７５６号公報に記載されたようにカルマンフィルタを用いて推定するようにしてもよく、また、例えば特開平６−２０１８９号公報に記載されたように、最小二乗法を用いて推定を行うようにしてもよい。
【００６２】
次に、上記実施の形態の動作を説明する。
撮像装置１で撮像された自車両前方の画像情報は処理装置２に所定タイミングで読み込まれ（ステップＳ１）、処理装置２では、撮像画像に対し、図３に示すように、左右の道路白線に相当する位置に複数のウィンドウを設定し（ステップＳ２）、ウィンドウ毎に白線候補点の検出を行う。
【００６３】
つまり、まず、前回の道路モデルの推定結果に基づき、ウィンドウのｙ軸方向の中心位置座標ｙｃにおいて想定される直線の傾き［ｄｘ／ｄｙ］nsを算出し（ステップＳ３，Ｓ４）、ウィンドウのｙ方向中心座標ｙｃ位置に存在する画素の個数ｒn に等しい、記憶領域hspace[g] （ｇ＝０，１，２，……，ｒn ）を用意し、この記憶領域hspace[g] をクリアにする（ステップＳ５）。そして、ウィンドウ内の各画素に対し、ｘ方向及びｙ方向の輝度の変化率（微分）を算出し（ステップＳ２２）、この輝度変化率に基づく輝度変化ベクトルに基づき、道路白線を表す直線の傾きを推定する（ステップＳ２３）。
【００６４】
そして、前回推定した道路モデルに基づいてステップＳ４の処理で算出した直線の傾きと、ステップＳ２２で輝度変化率に基づいて算出した直線の傾きとを比較し、これらが、しきい値以下であり且つ、トータル輝度変化率がしきい値以下であるとき、この画素を白線候補点であると判断する（ステップＳ２５）。つまり、前回推定した道路モデルに基づく直線の傾きと、輝度変化率に基づいて算出した直線の傾きとがしきい値を超えて変化する場合には、偽の白線候補点であるとみなすことができ、また、トータル輝度変化率が小さい場合には、道路白線のエッジ部に相当する画素であるとみなすことができるから、これら条件を満足するときに、白線候補点であると判断する。
【００６５】
そして、白線候補点として判断された場合には、この白線候補点の画素と、ステップＳ２３の処理で輝度変化ベクトルに基づいて算出した直線の傾きとに基づいて、この傾きを有し且つ白線候補点の画素を通る直線と、ウィンドウのｙ軸方向中央部の位置座標を有するｘ軸に平行な直線との交点のｘ座標を算出し、このｘ座標に該当するハフ空間、つまり、前記記憶領域hspace[g] （ｇ＝０，１，２，……，ｒn ）への投票を行う（ステップＳ２８）。
【００６６】
ここで、道路白線は、撮像画像においてその上下方向に伸びているから、道路白線の曲率に応じて交点のｘ座標は変化することになる。このとき、例えば、撮像画像のｙ軸と平行な直線との交点のｙ座標を算出するようにした場合には、道路白線は撮像画像においてその上下方向に伸びているから、道路白線の曲率によっては、撮像画像上において交点を得ることができず、交点のｙ座標を検出することができないことも考えられる。つまり、実際には、白線候補点であるにも関わらず、ハフ空間への投票が行われないことになり、的確な判断を行うことができない場合がある。しかしながら、撮像画像においてその上下方向に伸びる道路白線に対し、ｘ軸と平行な直線との交点座標を検出するようにしているから、的確にハフ空間への投票を行うことができる。
【００６７】
そして、全ての画素についてハフ空間への投票が終了したならば、ハフ空間のうち、投票数の多いものから所定数を極大値候補として選択する（ステップＳ７）。つまり順次比較を行って、投票数の多いものから所定数を選択する。
そして、所定数の極大値候補の探索を行ったならば、検出した極大値候補に相当する撮像画像上の画素のｘ座標を検出し、これとウィンドウのｙ軸方向中央の座標ｙｃとから、極大値候補に対応する画素、つまり、白線候補点の画素の位置座標を検出する。
【００６８】
この処理を各ウィンドウ毎に行い、各ウィンドウ毎に複数の白線候補点を検出する。そして、検出した白線候補点に基づいて、公知の手順の道路モデルの推定を行う（ステップＳ９）。
ここで、ステップＳ６の処理におけるハフ空間は、その行数は“１”であり、列数を“ｍ”とすると、各ウィンドウにおける極大値探索のための比較演算数は、（ｍ−２）×２回となる。つまり、ｍ列の要素のうち、３つ並んだ要素を選択する組み合わせ（ｍ−２）数と、前記（１７）式の比較演算の回数２との積である。
【００６９】
これに対し、従来の、図１４に示すように二次元のハフ空間において極大値探索のための比較演算数は、行数を“ｎ”、列数を“ｍ”とすると、（ｎ−２）×（ｍ−２）×８回となる。したがって、上記実施の形態における比較演算数（ｍ−２）×２回の方が比較演算数は大幅に少ないことがわかかる。そして、この比較演算数は、一つのウィンドウにおける比較演算回数であり、各ウィンドウ毎に、その比較演算回数を大幅に削減することができるから、撮像画像全体における比較演算回数を大幅に削減することができることがわかる。
【００７０】
また、ステップＳ３５の処理で行われる極大値候補の並び替えの処理においても、その並び替えの対象が多いほど、その演算量が多くなることは明白である。したがって、上記実施の形態においては、その並び替えの対象が大幅に削減されることになり、その演算量を大幅に削減することができる。
したがって、従来の方法に比較して、検出する白線候補点を減らさずに、その演算量を大幅に削減することができるから、白線候補点算出までの処理時間の削減を図ることができる。よって、道路モデル算出までの所要時間を短縮することができ、例えばこの道路モデルに基づいて車線追従制御を行う場合等、道路モデルに基づいて行う制御の安定性をより向上させることができる。
【００７１】
また、演算量の削減を図ることができるから、処理装置の負荷低減を図ることができ、処理装置の小型化を図ることができる。
また、上記実施の形態においては、複数のウィンドウを設定し、ウィンドウ毎に白線候補点を検出するようにしているから、白線候補点の検出を的確に行うことができる。つまり、上記実施の形態においては、ステップＳ２３の処理に示すように、道路白線を直線に近似し、その傾きを推定することによって、演算量の削減を図るようにしている。したがって、直線に近いほど、道路白線の検出精度は向上することになる。よって、ウィンドウを複数設定し、このウィンドウ毎に直線を推定するようにしているから、ウィンドウ近傍においては直線近似を行うことができ、結果として道路白線の検出精度を向上させることができる。
【００７２】
また、上記実施の形態においては、ウィンドウのｙ軸方向中央を基準として白線候補点を検出するようにしているから、白線候補点の検出精度を向上させることができる。つまり、ステップＳ２５での白線候補点であるかどうかの判定を行う処理の際に、ｘ座標を、前記（１５）式から算出するようにしている。この（１５）式は、一般的に曲線である道路白線を直線に近似したものであるから、判定対象の画素のｙ座標ｙm と、ウィンドウｙ軸方向中央のｙ座標ｙｃn との差が小さいほど、ｘ座標の精度は高くなる。したがって、前記ウィンドウｙ軸方向中央のｙ座標ｙｃn 位置におけるｘ座標を算出することによって、ウィンドウ内の各画素に対し、判定対象の画素のｙ座標ｙm と、ウィンドウｙ軸方向中央のｙ座標ｙｃn との差を低減することができる。よって、ｘ座標の推定精度を向上させることができる。
【００７３】
また、ステップＳ２５の処理で、画素（ｘm ，ｙm ）が白線候補点であるか否かの判定を行う際には、トータル輝度変化率ｔｔm が予め設定したしきい値以上であること、また、輝度変化率に基づいて算出した直線の傾き [dx/dy]m と前回の道路モデルの推定結果に基づく、直線の傾き［ｄｘ／ｄｙ］nsとの偏差が予め設定したしきい値以下であること、を満足するときに白線候補点と判断するようにしている。したがって、輝度の変化率が小さい場合には、白線候補点とは判断されないことから道路白線のエッジ部とみなすことの可能な画素のみを白線候補点として検出することができる。また、直線の傾きの偏差が大きいときには、白線候補点とは判断されないことから、例えば、先行車両のエッジ部等が白線候補点として誤認識されることを確実に回避することができる。
【００７４】
ここで、上記実施の形態において、撮像装置１が撮像手段に対応し、図６のステップＳ２１〜Ｓ２７の処理が近似直線推定手段及び交点検出手段に対応し、ステップＳ２８の処理がカウント手段に対応し、図９のステップＳ３１〜ステップＳ３７の処理が白線候補点検出手段に対応し、図２のステップＳ４の処理がエッジ方向算出手段に対応している。
【図面の簡単な説明】
【図１】本発明を適用した、道路白線認識装置の一例を示す概略構成図である。
【図２】本発明の実施の形態における道路白線検出処理の処理手順の一例を示すフローチャートである。
【図３】ウィンドウの設定方法を説明するための説明図である。
【図４】ウィンドウの設定方法を説明するための説明図である。
【図５】ハフ空間の設定方法を説明するための説明図である。
【図６】図２のハフ変換処理の処理手順の一例を示すフローチャートである。
【図７】輝度変化ベクトルと方向ベクトルとの関係を説明するための説明図である。
【図８】輝度変化ベクトルの符号条件を説明するための説明図である。
【図９】図２の白線候補点確定処理の処理手順の一例を示すフローチャートである。
【図１０】白線候補点の点列を説明するための説明図である。
【図１１】従来のハフ変換の手順を説明するための説明図である。
【図１２】従来のハフ変換の手順を説明するための説明図である。
【図１３】従来の極大値候補の探索処理の処理手順の一例を示すフローチャートである。
【図１４】従来の極大値候補の探索処理の手順を説明するための説明図である。
【符号の説明】
１  撮像装置
２  処理装置
【図１】
0003700675.tif 000006
【図２】
0003700675.tif 000007
【図３】
0003700675.tif 000008
【図４】
0003700675.tif 000009
【図５】
0003700675.tif 000010
【図６】
0003700675.tif 000011
【図７】
0003700675.tif 000012
【図８】
0003700675.tif 000013
【図９】
0003700675.tif 000014
【図１０】
0003700675.tif 000015
【図１１】
0003700675.tif 000016
【図１２】
0003700675.tif 000017
【図１３】
0003700675.tif 000018
【図１４】
0003700675.tif 000019