(57)【要約】【課題】車両に搭載した画像センサにより撮像した画像を用いて車線の境界線が実線であるか破線であるかにかかわらず走行車線を判定すること。【解決手段】白線検出部１３が画像の所定領域から２本の白線を検出し、領域分割部１４が白線検出部１３により検出され２本の白線を用いて画像を複数の領域に分割し、輝度情報取得部１５が領域分割部１４により３つに分割された各領域の輝度平均値を算出し、車線判定部１６が輝度情報取得部１５により算出された輝度平均値を用いて走行車線を判定するよう構成する。【選択図】        図１
2005215985.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定プログラムであって、
前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手順と、
前記車線境界線検出手順により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手順と、
前記領域分割手順により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手順と
をコンピュータに実行させることを特徴とする走行車線判定プログラム。
【請求項２】
前記走行車線判定手順は、前記領域分割手順により分割された領域の画像の輝度情報に基づいて走行車線を判定することを特徴とする請求項１に記載の走行車線判定プログラム。
【請求項３】
車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手順と、
前記車線境界線検出手順により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手順と、
前記領域分割手順により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手順と
をコンピュータに実行させる走行車線判定プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項４】
車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定装置であって、
前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手段と、
前記車線境界線検出手段により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手段と、
前記領域分割手段により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手段と
を備えたことを特徴とする走行車線判定装置。
【請求項５】
車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定方法であって、
前記画像を用いて走行路面の車線境界線を検出する車線境界線検出工程と、
前記車線境界線検出工程により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割工程と、
前記領域分割工程により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定工程と
を含んだことを特徴とする走行車線判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、車両に搭載した画像センサにより撮像した画像を用いて車両の走行車線を判定する走行車線判定プログラムおよびその記録媒体、走行車線判定装置ならびに走行車線判定方法に関し、特に、車線の境界線が実線であるか破線であるかにかかわらず走行車線を判定することができる走行車線判定プログラムおよびその記録媒体、走行車線判定装置ならびに走行車線判定方法に関するものである。
【背景技術】
【０００２】
地図データベースやＧＰＳ（グローバル・ポジショニング・システム）を用いた車両の位置検出によって、車両の現在位置と目的地に応じてドライバに走行路を案内するカーナビゲーションシステムが発達し、広範に普及している。
【０００３】
カーナビゲーションシステムでは、ＧＰＳによって得られる緯度、経度の情報を基に、自車両の位置を地図上に重ねて表示している。また、音声や視覚情報などを用いてドライバに目的地までの経路を案内することも行なわれている。
【０００４】
カーナビゲーションシステムは、ドライバに交差点での左折や右折を指示することができるが、片側複数車線の道路において、交差点を左折するときは左側のレーン、右折するとき右側のレーンに車がいなければ、ドライバは意図する進路が取れない場合がある。また、直進するときでも右折または左折専用レーンがある場合や自動車専用道路などにおいて出口や分岐がある場合も、走行車線によっては意図する進路を取れない場合がある。
【０００５】
すなわち、ＧＰＳを用いた位置検出手法では、片側複数車線の道路において自車両がどの車線を走行しているかを特定することができないため、自車の走行レーンに応じた案内をすることができない。
【０００６】
そこで、自車両の走行する車線(レーン)が最も左側の車線であるのか、最も右側の車線であるのか、その他の車線であるのかを判定する技術が必要となり、このような技術として、車両に搭載した画像センサによって撮像された画像を用いて走行路の両側の白線が実線であるのか破線であるのかを認識し、認識した結果に基づいて走行車線を判定する技術が開発されている（例えば、特許文献１参照。）。
【０００７】
【特許文献１】特許第２８８３１３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、走行路の両側の白線が実線であるのか破線であるのかを認識して走行車線を判定する従来技術には、車道中央線が破線であったり、同一方向の車線の境界線が破線でなかったりすることがあるため、確実な走行車線の判定はできないという問題がある。
【０００９】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、車線の境界線が実線であるか破線であるかにかかわらず走行車線を判定することができる走行車線判定プログラムおよびその記録媒体、走行車線判定装置ならびに走行車線判定方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本発明は、車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定プログラムであって、前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手順と、前記車線境界線検出手順により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手順と、前記領域分割手順により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手順とをコンピュータに実行させることを特徴とする。
【００１１】
また、本発明は、車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手順と、前記車線境界線検出手順により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手順と、前記領域分割手順により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手順とをコンピュータに実行させる走行車線判定プログラムを記録したことを特徴とする。
【００１２】
また、本発明は、車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定装置であって、前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手段と、前記車線境界線検出手段により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手段と、前記領域分割手段により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手段とを備えたことを特徴とする。
【００１３】
また、本発明は、車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定方法であって、前記画像を用いて走行路面の車線境界線を検出する車線境界線検出工程と、前記車線境界線検出工程により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割工程と、前記領域分割工程により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定工程とを含んだことを特徴とする。
【００１４】
かかる発明によれば、画像を用いて走行路面の車線境界線を検出し、検出した車線境界線に基づいて画像を複数の領域に分割し、分割した領域の画像の特徴に基づいて走行車線を判定するよう構成したので、車線の境界線が実線であるか破線であるかにかかわらず走行車線を判定することができる。
【発明の効果】
【００１５】
本発明によれば、車線の境界線が実線であるか破線であるかにかかわらず走行車線を判定するので、走行車線を正確に判定することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、この発明に係る走行車線判定プログラムおよびその記録媒体、走行車線判定装置ならびに走行車線判定方法の好適な実施例を詳細に説明する。
【実施例１】
【００１７】
まず、本実施例１に係る走行車線判定装置の構成について説明する。図１は、本実施例１に係る走行車線判定装置の構成を示す機能ブロック図である。同図に示すように、この走行車線判定装置１０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、車線判定部１６と、制御部１７とを有する。
【００１８】
画像入力部１１は、画像センサ１が撮像した画像の情報を入力して画像記憶部１２に格納する処理部である。ここで、画像センサ１は、車両の前方に自車走行路の両端の２本の白線が撮像できるように設置される。
【００１９】
なお、ここでは１台の画像センサを設置した場合について説明するが、お互いのカメラの位置関係が既知であれば、複数台の画像センサを用いて自車走行路の両端の２本の白線を捉え、それらの画像を用いることも可能である。
【００２０】
また、画像センサは色情報を用いる場合は必ずカラー画像センサを用いるが、それ以外はモノクロ画像センサでもカラー画像センサでもよい。また、画像センサは、車両の後方に設置することもできる。
【００２１】
画像記憶部１２は、画像入力部１１が入力した画像の情報および走行車線判定装置１０による画像処理結果を記憶する記憶部である。図２は、画像記憶部１２の一例を示す図である。同図に示すように、この画像記憶部１２は、画像を構成する画素ごとに、x座標、y座標、輝度(Ｙ)、色差情報(Ｃ１，Ｃ２)、白線フラグおよび領域ラベルを記憶する。
【００２２】
ここで、白線フラグは、各画素が車線の境界を示す白線に属するか否かを示すフラグであり、白線に属する場合には「１」であり、白線に属さない場合には「０」である。また、領域ラベルは、画像が白線により分割された領域のラベル番号であり、「ラベル０」〜「ラベル３」のいずれかの値をとる。
【００２３】
例えば、図２において、x座標が「１」でありy座標が「１」である画素は、輝度(Ｙ)が「１００」であり、色差情報(Ｃ１，Ｃ２)が（３０，４０）であり、白線に属さず、領域ラベルは「ラベル１」である。
【００２４】
なお、x座標、y座標、輝度(Ｙ)および色差情報(Ｃ１，Ｃ２)は、画像入力部１１により入力される情報であり、白線フラグおよび領域ラベルは、走行車線判定装置１０による処理結果として得られる情報である。
【００２５】
また、ここでは各画素の情報として輝度(Ｙ)および色差情報(Ｃ１，Ｃ２)を用いるが、赤(Ｒ)緑(Ｇ)青(Ｂ)、または色相(Ｈ)彩度(Ｓ)輝度(Ｖ)を用いることもできる。因みに、ＹＣ１Ｃ２とＲＧＢとＨＳＶは、以下の関係で表わすことができる。
【００２６】
Ｙ=rＲ+gＧ+bＢ(ただし、r、g、bは予め定められた値である)
Ｃ１=Ｙ−Ｒ，Ｃ２=Ｙ−Ｂ
Ｃ１=Ｓ・sin(Ｈ)，Ｃ２=Ｓ・cos(Ｈ)
ここで、輝度情報を除いた情報、すなわち色相Ｈ、彩度Ｓ、色差Ｃ１、Ｃ２の情報が色情報である。
【００２７】
白線検出部１３は、画像記憶部１２に記憶された画像から走行路の両端の白線を検出する処理部である。図３−１〜図３−３は、白線検出部１３による白線検出処理を説明するための説明図（１）〜（３）である。
【００２８】
この白線検出部１３は、図３−１に示す画像上の白線を、図３−２に示すような予め定められた領域内で検出する。すなわち、この白線検出部１３は、自車走行路の左端にある白線を検出する領域と、右端にある白線を検出する領域をあらかじめ設定しておく。
【００２９】
そして、設定した各領域において、微分フィルタをかける。微分フィルタは、ラプラシアンフィルタやSobelフィルタなどどの微分フィルタを用いてもよい。ここで、ラプラシアンフィルタとは、入力画像をf(x,y)、出力画像をg(x,y)としたときに下記のように出力画像g(x,y)を算出する。
【００３０】
g(i,j)=0*f(i−1,j−1)+1*f(i,j−1)+0*f(i+1,j−1)
+1*f(i−1,j)-4*f(i,j)+1*f(i+1,j)
+0*f(i−1,j+1)+1*f(i,j+1)+0*f(i+1,j+1)
ただし、i,jは画像内のx,y座標を示す。
【００３１】
そして、あらかじめ定めた閾値で微分フィルタの結果を２値化する。また、検出する白線を直線と仮定すると、領域内から１本ずつの直線を検出する。ここで、直線を検出するのに一般的に用いられている代表的な手法として、ハフ(Hough)変換と最小２乗法があるが、ここでは、直線を検出するのにハフ変換を用いる。ハフ変換式には以下の式が用いられる。
ρ=xcosθ+ysinθ
【００３２】
ここで、白線検出部１３は、２値化の結果、「１」になった画素(x,y)についてρ-θ空間に投影する。直線が投影された場合、ρ-θ空間では点で表される。そのため、一番投票数が多い点を直線として検出し、これを白線検出の結果とする。このようにして検出された白線の例を図３−３に示す。
【００３３】
領域分割部１４は、白線検出部１３により検出された白線を用いて、画像の予め定められた領域を分割する処理部である。図４は、領域分割部１４による領域分割処理を説明するための説明図である。
【００３４】
同図に示すように、この領域分割部１４は、検出された２本の白線の間を走行路領域として、「ラベル１」をつける。また、右側の白線の右側の領域に「ラベル２」をつけ、左側の白線の左側の領域に「ラベル３」をつける。
【００３５】
輝度情報取得部１５は、「ラベル１」、「ラベル２」および「ラベル３」の各領域の輝度情報の平均値を算出する処理部である。ここで、平均値は、各領域に属する画素の輝度の合計をその領域の面積で除算した値である。
【００３６】
車線判定部１６は、自車の走行領域（「ラベル１」の領域）の輝度平均値と、右側領域（「ラベル２」の領域）および左側領域（「ラベル３」の領域）の輝度平均値とを比較することで左右の領域が路肩であるか隣接車線であるかの判別を行なう処理部である。
【００３７】
例えば、図３−１のように、右側領域が隣接車線で、左側領域が路肩であった場合、「ラベル１」の領域と「ラベル２」の領域の輝度の差は小さく、「ラベル１」の領域と「ラベル３」の領域の輝度の差は大きい。したがって、隣接領域の輝度平均値と走行領域の輝度平均値の差が所定の値より大きいか小さいかによって、隣接領域が路肩であるか車線であるかを判定することができる。
【００３８】
この車線判定部１６が輝度情報取得部１５が算出した輝度情報を用いて隣接領域が路肩であるか車線であるかを判定することによって、走行車線判定装置１０は、走行車線を判定することができる。
【００３９】
制御部１７は、走行車線判定装置１０全体の制御をおこなう処理部であり、具体的には、機能部間の制御の移動や機能部と記憶部の間のデータの受け渡しなどをおこなうことによって、走行車線判定装置１０を一つの装置として機能させる。
【００４０】
次に、本実施例１に係る走行車線判定装置１０の処理手順について説明する。図５は、本実施例１に係る走行車線判定装置１０の処理手順を示すフローチャートである。同図に示すように、この走行車線判定装置１０は、まず画像入力部１１が画像センサ１から画像情報を入力して画像記憶部１２に格納する画像入力処理を行なう（ステップＳ１０１）。
【００４１】
そして、白線検出部１３が画像記憶部１２に記憶された画像情報を用いて２本の白線を検出する白線検出処理を行ない（ステップＳ１０２）、領域分割部１４が白線検出部１３により検出された２本の白線を用いて所定の画像領域を３つの領域に分割する領域分割処理を行なう（ステップＳ１０３）。
【００４２】
そして、輝度情報取得部１５が領域分割部１４により３つに分割された各領域の輝度の平均値を算出する輝度情報取得処理を行ない（ステップＳ１０４）、車線判定部１６が輝度情報取得部１５により算出された輝度平均値を用いて走行車線を判定する走行車線判定処理を行なう（ステップＳ１０５）。
【００４３】
このように、この走行車線判定装置１０は、車線判定部１６が白線により分割された領域の輝度を用いて走行車線を判定することによって、車線の境界線が実線であるか破線であるかにかかわらず走行車線を判定することができる。
【００４４】
次に、図５に示した白線検出処理（ステップＳ１０２）の処理手順について説明する。図６は、図５に示した白線検出処理の処理手順を示すフローチャートである。なお、この白線検出処理は、図１に示した白線検出部１３が行なう処理である。
【００４５】
図６に示すように、この白線検出処理は、白線を検出する領域を設定し（ステップＳ１２１）、設定した領域の画素に対して微分フィルタ処理を行なう（ステップＳ１２２）。そして、微分フィルタ処理結果を２値化し（ステップＳ１２３）、２値化して「１」になった画素に対してハフ変換を行なう（ステップＳ１２４）。そして、ハフ変換結果に基づいて直線を抽出する（ステップＳ１２５）。
【００４６】
このように、この白線検出処理は、所定の領域に含まれる画素に対して微分フィルタ処理、２値化、ハフ変換を行なうことによって、車線の境界線を精度よく検出することができる。
【００４７】
次に、図５に示した領域分割処理（ステップＳ１０３）の処理手順について説明する。図７は、図５に示した領域分割処理の処理手順を示すフローチャートである。なお、この領域分割処理は、図１に示した領域分割部１４が行なう処理である。
【００４８】
図７に示すように、この領域分割処理は、ラベルのつけられていない画素を一つ選択し（ステップＳ１４１）、選択した画素が２本の白線の間に位置するか否かを判定する（ステップＳ１４２）。
【００４９】
その結果、選択した画素が２本の白線の間に位置する場合には、その画素の領域ラベルを「ラベル１」として画像記憶部１２に書き込む（ステップＳ１４３）。一方、選択した画素が２本の白線の間に位置しない場合には、右側の白線より右側に位置するか否かを判定する（ステップＳ１４４）。
【００５０】
その結果、右側の白線より右側に位置する場合には、領域ラベルを「ラベル２」として画像記憶部１２に書き込み（ステップＳ１４５）、右側の白線より右側に位置しない場合には、領域ラベルを「ラベル３」として画像記憶部１２に書き込む（ステップＳ１４６）。
【００５１】
そして、全ての画素に対してラベルをつけたか否かを判定し（ステップＳ１４７）、全ての画素に対してラベルをつけていない場合には、ステップＳ１４１に戻って他の画素にラベルをつけ、全ての画素に対してラベルをつけた場合には、処理を終了する。
【００５２】
このように、この領域分割処理は、各画素について２本の白線との位置関係を判定することによって、所定の画像領域を３つの領域に分割することができる。
【００５３】
なお、走行車線判定装置１０は、自車走行路の路面と隣接車線の路面の情報を比較して自車の走行車線を判定する。しかし、自車両の前に先行車がいる場合などは、先行車の情報が自社走行路の路面の情報として比較対象に含まれてしまうことが考えられる。
【００５４】
そこで、路面の彩度は一般的に低く、車両には彩度の高い色が塗装に使われていることを利用して、彩度の高い領域には「ラベル０」をつけ、先行車の情報を走行車線領域内の情報に含めないようにする領域分割処理について説明する。
【００５５】
図８は、先行車の情報を走行車線領域内の情報に含めないようにする領域分割処理の処理手順を示すフローチャートである。同図に示すように、この領域分割処理は、ラベルのつけられていない画素を一つ選択し（ステップＳ１５１）、選択した画素が２本の白線の間に位置するか否かを判定する（ステップＳ１５２）。
【００５６】
その結果、選択した画素が２本の白線の間に位置する場合には、その画素の彩度が閾値より低いか否かを判定し（ステップＳ１５３）、閾値より低い場合には、その画素の領域ラベルを「ラベル１」として画像記憶部１２に書き込み（ステップＳ１５４）、閾値より低くない場合には、その画素は先行車についての画素であると判断し、その画素の領域ラベルを「ラベル０」として画像記憶部１２に書き込む（ステップＳ１５５）。
【００５７】
一方、選択した画素が２本の白線の間に位置しない場合には、右側の白線より右側に位置するか否かを判定し（ステップＳ１５６）、右側の白線より右側に位置する場合には、領域ラベルを「ラベル２」として画像記憶部１２に書き込み（ステップＳ１５７）、右側の白線より右側に位置しない場合には、領域ラベルを「ラベル３」として画像記憶部１２に書き込む（ステップＳ１５８）。
【００５８】
そして、全ての画素に対してラベルをつけたか否かを判定し（ステップＳ１５９）、全ての画素に対してラベルをつけていない場合には、ステップＳ１５１に戻って他の画素にラベルをつけ、全ての画素に対してラベルをつけた場合には、処理を終了する。
【００５９】
このように、この領域分割処理は、走行車線領域に含まれる画素に対して、その画素の彩度が所定の閾値より低いか否かを判定することによって、先行車両の領域を走行車線領域から取り除くことができる。
【００６０】
次に、図５に示した輝度情報取得処理（ステップＳ１０４）の処理手順について説明する。図９は、図５に示した輝度情報取得処理の処理手順を示すフローチャートである。なお、この輝度情報取得処理は、図１に示した輝度情報取得部１５が行なう処理である。
【００６１】
図９に示すように、この輝度情報取得処理は、「ラベル１」の領域の輝度の合計および面積を計算し（ステップＳ１６１〜ステップＳ１６２）、輝度の合計を面積で割って「ラベル１」の領域の輝度の平均値を計算する（ステップＳ１６３）。
【００６２】
同様に、「ラベル２」の領域の輝度の合計および面積を計算し（ステップＳ１６４〜ステップＳ１６５）、輝度の合計を面積で割って「ラベル２」の領域の輝度の平均値を計算する（ステップＳ１６６）。
【００６３】
同様に、「ラベル３」の領域の輝度の合計および面積を計算し（ステップＳ１６７〜ステップＳ１６８）、輝度の合計を面積で割って「ラベル３」の領域の輝度の平均値を計算する（ステップＳ１６９）。
【００６４】
このように、この輝度情報取得処理は、「ラベル１」〜「ラベル３」のそれぞれの領域について、輝度の合計および面積を計算し、輝度の合計を面積で割って輝度の平均値を計算する。
【００６５】
次に、図５に示した走行車線判定処理（ステップＳ１０５）の処理手順について説明する。図１０は、図５に示した走行車線判定処理の処理手順を示すフローチャートである。なお、この走行車線判定処理は、図１に示した車線判定部１６が行なう処理である。
【００６６】
図１０に示すように、この走行車線判定処理は、「ラベル１」の領域の輝度平均値と「ラベル２」の領域の輝度平均値との差が閾値以上であるか否かを判定し（ステップＳ１８１）、閾値以上である場合には、右側領域の路面の状況が車線とは異なるので、走行車線は右車線であると判定する（ステップＳ１８２）。
【００６７】
一方、「ラベル１」の領域の輝度平均値と「ラベル２」の領域の輝度平均値との差が閾値以上でない場合には、「ラベル１」の領域の輝度平均値と「ラベル３」の領域の輝度平均値との差が閾値以上であるか否かを判定し（ステップＳ１８３）、閾値以上である場合には、左側領域の路面の状況が車線とは異なるので、走行車線は左車線であると判定する（ステップＳ１８４）。
【００６８】
これに対して、「ラベル１」の領域の輝度平均値と「ラベル３」の領域の輝度平均値との差が閾値以上でない場合には、左右どちらも車線であるので、走行車線は、中央車線または右車線であると判定する（ステップＳ１８５）。
【００６９】
このように、この走行車線判定処理は、走行車線領域の輝度平均値と左右領域の輝度平均値との差が閾値以上であるか否かを判定することによって、走行車線を判定することができる。
【００７０】
上述してきたように、本実施例１では、白線検出部１３が画像の所定領域から２本の白線を検出し、領域分割部１４が白線検出部１３により検出され２本の白線を用いて画像を複数の領域に分割し、輝度情報取得部１５が領域分割部１４により３つに分割された各領域の輝度平均値を算出し、車線判定部１６が輝度情報取得部１５により算出された輝度平均値を用いて走行車線を判定することとしたので、車線の境界線が実線であるか破線であるかにかかわらず、走行車線を判定することができる。
【実施例２】
【００７１】
ところで、上記実施例１では、画像の輝度情報を用いて走行車線を判定する場合について説明したが、輝度情報の代わりに色情報を用いて走行車線を判定することもできる。そこで、本実施例２では、画像の色情報を用いて走行車線を判定する走行車線判定装置について説明する。
【００７２】
まず、本実施例２に係る走行車線判定装置の構成について説明する。図１１は、本実施例２に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００７３】
図１１に示すように、この走行車線判定装置２０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、色情報取得部２５と、車線判定部２６と、走行車線判定装置２０全体の制御を行なう制御部２７とを有する。
【００７４】
色情報取得部２５は、領域分割部１４により画像が分割された得られた各領域の色差(Ｃ１，Ｃ２）の平均値を算出する処理部である。路面は一般的にモノトーンであるため彩度が低い。それに対し、路面以外の部分ではモノトーンではなく、彩度が高い可能性がある。走行車線判定装置２０は、この路面の特徴を利用して路面と路肩の判断を行なう。
【００７５】
そこで、この色情報取得部２５が、領域分割部１４により画像が分割された得られた各領域の色情報として色差(Ｃ１，Ｃ２）の平均値を算出する。なお、平均値の算出は輝度情報の算出と同様に行なう。
【００７６】
車線判定部２６は、色情報取得部２５により算出された色差の平均値を用いて走行車線を判定する処理部である。具体的には、この車線判定部２６は、２つの領域の色差（Ｃ１，Ｃ２）の平均値の距離Ｄを特徴量として用いて「ラベル１」と「ラベル２」、「ラベル１」と「ラベル３」の領域を比較することにより、自車の走行車線を判定する。
【００７７】
ここで、ラベルaの領域の色差の平均値を（Ｃ１a,Ｃ２a）とし、ラベルbの領域の色差の平均値を（Ｃ１b,Ｃ２b）とすると、距離Ｄabは式（１）により算出される。
【数１】
2005215985.tif 000003
【００７８】
次に、車線判定部２６による走行車線判定処理の処理手順について説明する。図１２は、車線判定部２６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部２６は、「ラベル１」と「ラベル２」の領域の色差の平均値の距離Ｄ12を算出する（ステップＳ２２１）。
【００７９】
そして、算出した距離Ｄ12が閾値以上であるか否かを判定し（ステップＳ２２２）、閾値以上である場合には、右側領域の路面の状況が車線とは異なるので、走行車線は右車線であると判定する（ステップＳ２２３）。
【００８０】
一方、算出した距離Ｄ12が「閾値以上でない場合には、「ラベル１」と「ラベル３」の領域の色差の平均値の距離Ｄ13を算出する（ステップＳ２２４）。そして、算出した距離Ｄ13が閾値以上であるか否かを判定し（ステップＳ２２５）、閾値以上である場合には、左側領域の路面の状況が車線とは異なるので、走行車線は左車線であると判定する（ステップＳ２２６）。
【００８１】
これに対して、算出した距離Ｄ13が閾値以上でない場合には、左右どちらも車線であるので、走行車線は中央車線または右車線であると判定する（ステップＳ２２７）。
【００８２】
このように、この車線判定部２６は、走行車線領域と左右領域の色差の平均値の距離Ｄを算出し、算出した距離Ｄが閾値以上であるか否かを判定することによって、走行車線を判定することができる。
【００８３】
上述してきたように、本実施例２では、色情報取得部２５が領域分割部１４により３つに分割された各領域の色差平均値を算出し、車線判定部２６が色情報取得部２５により算出された色差平均値間の距離を用いて走行車線を判定することとしたので、車線の境界線が実線であるか破線であるかにかかわらず、走行車線を判定することができる。
【実施例３】
【００８４】
上記実施例１では、画像の輝度情報を用いて走行車線を判定する場合について説明し。上記実施例２では、画像の色情報を用いて走行車線を判定する場合について説明したが、輝度情報と色情報の両方を用いて走行車線を判定することもできる。そこで、本実施例３では、画像の輝度情報と色情報の両方を用いて走行車線を判定する走行車線判定装置について説明する。
【００８５】
まず、本実施例３に係る走行車線判定装置の構成について説明する。図１３は、本実施例３に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１または１１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００８６】
図１３に示すように、この走行車線判定装置３０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、色情報取得部２５と、車線判定部３６と、走行車線判定装置３０全体の制御を行なう制御部３７とを有する。
【００８７】
すなわち、この走行車線判定装置３０は、領域分割部１４により３つに分割された各領域の輝度の平均値を算出する輝度情報取得部１５と、各領域の色差(Ｃ１，Ｃ２）の平均値を算出する色情報取得部２５の両方を有する。
【００８８】
車線判定部３６は、輝度情報取得部１５により算出された輝度の平均値と色情報取得部２５により算出された色差の平均値の両方を用いて走行車線を判定する処理部である。この車線判定部３６が輝度と色の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【００８９】
例えば、路片側の領域が路面と同じくモノトーンであっても、輝度が路面に比べ著しく高い場合などには、色による判定だけでは路肩と判断できないが、輝度によって路肩と判断することが可能となる。
【００９０】
次に、車線判定部３６による走行車線判定処理の処理手順について説明する。図１４は、車線判定部３６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部３６は、色による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ３０１）。
【００９１】
そして、色による判定結果が「走行車線は中央車線または右車線である」場合には、輝度による走行車線の判定を行ない、その結果を走行車線判定結果として採用し（ステップＳ３０２）、色による判定結果が「走行車線は中央車線または右車線である」でない場合には、色による判定結果を走行車線判定結果として採用する（ステップＳ３０３）。
【００９２】
このように、この車線判定部３６が色情報による判定を優先的に採用し、色情報による判定結果が「走行車線は中央車線または右車線である」場合、すなわち色情報では路肩を見つけられなかった場合に輝度情報の判定結果を採用することによって、色情報による判定が不明確な場合に輝度情報の判定によって補うことができる。
【００９３】
なお、ここでは、色情報による判定を優先的に採用する場合について説明したが、色情報による判定と輝度情報による判定の組み合わせ手法としては、両方の判定結果が一致した場合だけを採用するなどの他の手法を用いることもできる。
【００９４】
上述してきたように、本実施例３では、車線判定部３６が色情報による走行車線の判定と輝度情報による走行車線の判定を組み合わせることによって、より正確に走行車線を判定することができる。
【実施例４】
【００９５】
上記実施例では、画像の輝度情報および色情報を用いて走行車線を判定する場合について説明したが、輝度情報や色情報の代わりに微分情報を用いて走行車線を判定することもできる。そこで、本実施例４では、画像の微分情報を用いて走行車線を判定する走行車線判定装置について説明する。
【００９６】
まず、本実施例４に係る走行車線判定装置の構成について説明する。図１５は、本実施例４に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００９７】
図１５に示すように、この走行車線判定装置４０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、微分情報取得部２５と、車線判定部４６と、走行車線判定装置４０全体の制御を行なう制御部４７とを有する。
【００９８】
微分情報取得部４５は、領域分割部１４により３つに分割された各領域に微分フィルタをかけ、その出力値のそれぞれの平均値を算出する処理部である。ここで、微分フィルタとしては、ラプラシアンフィルタやSobelフィルタなどどの微分フィルタを用いてもよい。また、平均値の算出は輝度情報の算出と同様に行なう。
【００９９】
車線判定部４６は、微分情報取得部４５により算出された微分平均値を用いて走行車線を判定する処理部である。すなわち、この車線判定部４６は、２つの領域の微分平均値を特徴量として用いて「ラベル１」と「ラベル２」、「ラベル１」と「ラベル３」の領域を比較することにより、自車の走行車線を判定する。
【０１００】
次に、車線判定部４６による走行車線判定処理の処理手順について説明する。図１６は、車線判定部４６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部４６は、「ラベル１」の領域の微分値の平均値と「ラベル２」の領域の微分値の平均値との差が閾値以上であるか否かを判定し（ステップＳ４２１）、閾値以上である場合には、右側領域の路面の状況が車線とは異なるので、走行車線は右車線であると判定する（ステップＳ４２２）。
【０１０１】
一方、「ラベル１」の領域の微分値の平均値と「ラベル２」の領域の微分値の平均値との差が閾値以上でない場合には、「ラベル１」の領域の微分値の平均値と「ラベル３」の領域の微分値の平均値との差が閾値以上であるか否かを判定し（ステップＳ４２３）、閾値以上である場合には、左側領域の路面の状況が車線とは異なるので、走行車線は左車線であると判定する（ステップＳ４２４）。
【０１０２】
これに対して、「ラベル１」の領域の微分値の平均値と「ラベル３」の領域の微分値の平均値との差が閾値以上でない場合には、左右どちらも車線であるので、走行車線は、中央車線または右車線であると判定する（ステップＳ４２５）。
【０１０３】
このように、この車線判定部４６は、走行車線領域と左右領域の微分値の平均値を比較し、比較結果が閾値以上であるか否かを判定することによって、走行車線を判定することができる。
【０１０４】
上述してきたように、本実施例４では、微分情報取得部４５が領域分割部１４により３つに分割された各領域の微分値の平均値を算出し、車線判定部４６が微分情報取得部４５により算出された微分値の平均値を用いて走行車線を判定することとしたので、車線の境界線が実線であるか破線であるかにかかわらず、走行車線を判定することができる。
【実施例５】
【０１０５】
上記実施例１では、画像の輝度情報を用いて走行車線を判定する場合について説明し、上記実施例４では、画像の微分情報を用いて走行車線を判定する場合について説明したが、輝度情報と微分情報の両方を用いて走行車線を判定することもできる。そこで、本実施例５では、画像の輝度情報と微分情報の両方を用いて走行車線を判定する走行車線判定装置について説明する。
【０１０６】
まず、本実施例５に係る走行車線判定装置の構成について説明する。図１７は、本実施例５に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１または１５に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０１０７】
図１７に示すように、この走行車線判定装置５０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、微分情報取得部４５と、車線判定部５６と、走行車線判定装置５０全体の制御を行なう制御部５７とを有する。
【０１０８】
すなわち、この走行車線判定装置５０は、領域分割部１４により３つに分割された各領域の輝度の平均値を算出する輝度情報取得部１５と、各領域の微分値の平均値を算出する微分情報取得部４５の両方を有する。
【０１０９】
車線判定部５６は、輝度情報取得部１５により算出された輝度の平均値と微分情報取得部４５により算出された微分値の平均値の両方を用いて走行車線を判定する処理部である。この車線判定部５６が輝度と微分値の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０１１０】
例えば、路片側の領域が路面と同じく微分情報がほとんど存在しない場合でも輝度が路面に比べ著しく高い場合などには、微分による判定だけでは路肩と判断できないが、輝度によって路肩と判断することが可能となる。
【０１１１】
次に、車線判定部５６による走行車線判定処理の処理手順について説明する。図１８は、車線判定部５６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部５６は、微分による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ５０１）。
【０１１２】
そして、微分による判定結果が「走行車線は中央車線または右車線である」場合には、輝度による走行車線の判定を行ない、その結果を走行車線判定結果として採用し（ステップＳ５０２）、微分による判定結果が「走行車線は中央車線または右車線である」でない場合には、微分による判定結果を走行車線判定結果として採用する（ステップＳ５０３）。
【０１１３】
このように、この車線判定部５６が微分情報による判定を優先的に採用し、微分情報による判定結果が「走行車線は中央車線または右車線である」場合、すなわち微分情報では路肩を見つけられなかった場合に輝度情報の判定結果を採用することによって、微分情報による判定が不明確な場合に輝度情報の判定によって補うことができる。
【０１１４】
なお、ここでは、微分情報による判定を優先的に採用する場合について説明したが、微分情報による判定と輝度情報による判定の組み合わせ手法としては、両方の判定結果が一致した場合だけを採用するなどの他の手法を用いることもできる。
【０１１５】
上述してきたように、本実施例５では、車線判定部５６が微分情報による走行車線の判定と輝度情報による走行車線の判定を組み合わせることによって、より正確に走行車線を判定することができる。
【実施例６】
【０１１６】
上記実施例５では画像の輝度情報と微分情報を組み合わせて走行車線を判定する場合について説明したが、色情報と微分情報を組み合わせて走行車線を判定することもできる。そこで、本実施例６では、画像の色情報と微分情報を組み合わせて走行車線を判定する走行車線判定装置について説明する。
【０１１７】
まず、本実施例６に係る走行車線判定装置の構成について説明する。図１９は、本実施例６に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１１または１５に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０１１８】
図１９に示すように、この走行車線判定装置６０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、色情報取得部２５と、微分情報取得部４５と、車線判定部６６と、走行車線判定装置６０全体の制御を行なう制御部６７とを有する。
【０１１９】
すなわち、この走行車線判定装置６０は、領域分割部１４により３つに分割された各領域の色差の平均値を算出する色情報取得部２５と、各領域の微分値の平均値を算出する微分情報取得部４５を有する。
【０１２０】
車線判定部６６は、色情報取得部２５により算出された色差の平均値と微分情報取得部４５により算出された微分値の平均値を用いて走行車線を判定する処理部である。この車線判定部６６が色情報と微分情報とを合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０１２１】
例えば、路片側の領域が路面と同じく微分情報がほとんど存在しないが色の情報に違いがある場合、またその逆の場合などに、一方の情報だけでは路肩と判断できないが、両方を使うことによって路肩と判断することが可能となる。
【０１２２】
次に、車線判定部６６による走行車線判定処理の処理手順について説明する。図２０は、車線判定部６６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部６６は、色による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ６０１）。
【０１２３】
そして、色による判定結果が「走行車線は中央車線または右車線である」場合には、微分による走行車線の判定を行ない、その結果を走行車線判定結果として採用し（ステップＳ６０２）、色による判定結果が「走行車線は中央車線または右車線である」でない場合には、色による判定結果を走行車線判定結果として採用する（ステップＳ６０３）。
【０１２４】
このように、この車線判定部６６が色情報による判定を優先的に採用し、色情報による判定結果が「走行車線は中央車線または右車線である」場合、すなわち色情報では路肩を見つけられなかった場合に微分情報の判定結果を採用することによって、色情報による判定が不明確な場合に微分情報の判定によって補うことができる。
【０１２５】
なお、ここでは、色情報による判定を優先的に採用する場合について説明したが、色情報による判定と微分情報による判定の組み合わせ手法としては、両方の判定結果が一致した場合だけを採用するなどの他の手法を用いることもできる。
【０１２６】
上述してきたように、本実施例６では、車線判定部６６が色情報による走行車線の判定と微分情報による走行車線の判定を組み合わせることによって、より正確に走行車線を判定することができる。
【実施例７】
【０１２７】
上記実施例５および６では、画像の微分情報を輝度情報または色情報と組み合わせて走行車線を判定する場合について説明したが、輝度情報、色情報および微分情報の全てを用いて走行車線を判定することもできる。そこで、本実施例７では、画像の輝度情報、色情報および微分情報を用いて走行車線を判定する走行車線判定装置について説明する。
【０１２８】
まず、本実施例７に係る走行車線判定装置の構成について説明する。図２１は、本実施例７に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１７または１９に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０１２９】
図２１に示すように、この走行車線判定装置７０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、色情報取得部２５と、微分情報取得部４５と、車線判定部７６と、走行車線判定装置７０全体の制御を行なう制御部７７とを有する。
【０１３０】
すなわち、この走行車線判定装置７０は、領域分割部１４により３つに分割された各領域の輝度の平均値を算出する輝度情報取得部１５と、各領域の色差の平均値を算出する色情報取得部２５と、各領域の微分値の平均値を算出する微分情報取得部４５とを有する。
【０１３１】
車線判定部７６は、輝度情報取得部１５により算出された輝度平均値と、色情報取得部２５により算出された色差平均値と、微分情報取得部４５により算出された微分値平均値とを用いて走行車線を判定する処理部である。この車線判定部７６が輝度と色と微分の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０１３２】
例えば、路片側の領域が路面と同じくモノトーンでかつ微分情報がほとんど存在しないが、輝度が著しく高い場合などに、色や微分の情報だけでは路肩と判断できないが、輝度によって路肩と判断することが可能となる。
【０１３３】
次に、車線判定部７６による走行車線判定処理の処理手順について説明する。図２２は、車線判定部７６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部７６は、色による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ７０１）。
【０１３４】
そして、色による判定結果が「走行車線は中央車線または右車線である」でない場合には、色による判定結果を走行車線判定結果として採用し（ステップＳ７０２）、色による判定結果が「走行車線は中央車線または右車線である」場合には、微分による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ７０３）。
【０１３５】
そして、微分による判定結果が「走行車線は中央車線または右車線である」でない場合には、微分による判定結果を走行車線判定結果として採用し（ステップＳ７０４）、微分による判定結果が「走行車線は中央車線または右車線である」場合には、輝度による走行車線の判定を行ない、その結果を走行車線判定結果として採用する（ステップＳ７０５）。
【０１３６】
このように、この車線判定部７６が色情報による判定を優先的に採用し、色情報による判定結果が「走行車線は中央車線または右車線である」場合、すなわち色情報では路肩が見つからなかった場合に微分情報の判定結果を採用し、微分情報によっても路肩が見つからなかった場合に輝度情報の判定結果を採用することによって、色情報による判定が不明確な場合に微分情報や輝度情報の判定によって補うことができる。
【０１３７】
なお、ここでは、色情報による判定を優先的に採用する場合について説明したが、色情報による判定、微分情報による判定および輝度情報による判定の組み合わせ手法としては、全ての判定結果が一致した場合だけを採用するなどの他の手法を用いることもできる。
【０１３８】
上述してきたように、本実施例７では、車線判定部７６が色情報による走行車線の判定と微分情報による走行車線の判定と輝度情報による走行車線の判定を組み合わせることによって、より正確に走行車線を判定することができる。
【実施例８】
【０１３９】
上記実施例では、画像の輝度情報などを用いて走行車線を判定する場合について説明したが、輝度情報などの代わりに周波数情報を用いて走行車線を判定することもできる。そこで、本実施例８では、画像の周波数情報を用いて走行車線を判定する走行車線判定装置について説明する。
【０１４０】
まず、本実施例８に係る走行車線判定装置の構成について説明する。図２３は、本実施例８に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０１４１】
図２３に示すように、この走行車線判定装置８０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、周波数情報取得部８５と、車線判定部８６と、走行車線判定装置８０全体の制御を行なう制御部８７とを有する。
【０１４２】
周波数情報取得部８５は、領域分割部１４により３つに分割された各領域の画像データをフーリエ変換によって周波数成分に変換する処理部である。ここで、フーリエ変換には、ＤＦＴ（Discrete Fourier Transform：離散フーリエ変換）を用い、２次元の離散フーリエ変換式は、入力画像をf[m,n]、画像サイズをM×Nとしたとき、式（２）となる。
【数２】
2005215985.tif 000004
【０１４３】
車線判定部８６は、周波数情報取得部８５により算出された周波数の相関値を用いて走行車線を判定する処理部である。すなわち、この車線判定部８６は、２つの領域の周波数の相関値を特徴量として用いて「ラベル１」と「ラベル２」、「ラベル１」と「ラベル３」の領域を比較することにより、自車の走行車線を判定する。
【０１４４】
なお、相関値の算出には、「ラベルａ」の周波数情報をFa[k,l]、「ラベルｂ」の周波数情報をFb[k,l]とし、画像サイズがともにM×Nである場合、例えば式（３）を用いることができる。
【数３】
2005215985.tif 000005
【０１４５】
次に、車線判定部８６による走行車線判定処理の処理手順について説明する。図２４は、車線判定部８６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部８６は、「ラベル１」の領域の周波数と「ラベル２」の領域の周波数の相関値が閾値以上であるか否かを判定し（ステップＳ８２１）、閾値以上である場合には、右側領域の路面の状況が車線とは異なるので、走行車線は右車線であると判定する（ステップＳ８２２）。
【０１４６】
一方、「ラベル１」の領域の周波数と「ラベル２」の領域の周波数の相関値が閾値以上でない場合には、「ラベル１」の領域の周波数と「ラベル３」の領域の周波数の相関値が閾値以上であるか否かを判定し（ステップＳ８２３）、閾値以上である場合には、左側領域の路面の状況が車線とは異なるので、走行車線は左車線であると判定する（ステップＳ８２４）。
【０１４７】
これに対して、「ラベル１」の領域の周波数と「ラベル３」の領域の周波数の相関値が閾値以上でない場合には、左右どちらも車線であるので、走行車線は中央車線または右車線であると判定する（ステップＳ８２５）。
【０１４８】
このように、この車線判定部８６は、走行車線領域と左右領域の周波数の相関値を算出し、算出した相関値が閾値以上であるか否かを判定することによって、走行車線を判定することができる。
【０１４９】
上述してきたように、本実施例８では、周波数情報取得部８５が領域分割部１４により３つに分割された各領域の画像データを周波数成分に変換し、車線判定部８６が周波数情報取得部８５により画像データから変換された周波数を用いて走行車線を判定することとしたので、車線の境界線が実線であるか破線であるかにかかわらず、走行車線を判定することができる。
【実施例９】
【０１５０】
上記実施例１では、画像の輝度情報を用いて走行車線を判定する場合について説明し、上記実施例８では、画像の周波数情報を用いて走行車線を判定する場合について説明したが、輝度情報と周波数情報を用いて走行車線を判定することもできる。そこで、本実施例９では、画像の輝度情報と周波数情報を用いて走行車線を判定する走行車線判定装置について説明する。
【０１５１】
まず、本実施例９に係る走行車線判定装置の構成について説明する。図２５は、本実施例９に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１または２３に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０１５２】
図２５に示すように、この走行車線判定装置９０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、周波数情報取得部８５と、車線判定部９６と、走行車線判定装置９０全体の制御を行なう制御部９７とを有する。
【０１５３】
すなわち、この走行車線判定装置９０は、領域分割部１４により３つに分割された各領域の輝度の平均値を算出する輝度情報取得部１５と、各領域の周波数を算出する周波数情報取得部８５とを有する。
【０１５４】
車線判定部９６は、輝度情報取得部１５により算出された輝度の平均値と周波数情報取得部８５により算出された周波数の両方を用いて走行車線を判定する処理部である。この車線判定部９６が輝度と周波数の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０１５５】
例えば、路片側の領域が路面と同じく周波数情報がほとんど存在しない場合でも輝度が路面に比べ著しく高い場合などには、周波数による判定だけでは路肩と判断できないが、輝度によって路肩と判断することが可能となる。
【０１５６】
次に、車線判定部９６による走行車線判定処理の処理手順について説明する。図２６は、車線判定部９６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部９６は、周波数による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ９０１）。
【０１５７】
そして、周波数による判定結果が「走行車線は中央車線または右車線である」場合には、輝度による走行車線の判定を行ない、その結果を走行車線判定結果として採用し（ステップＳ９０２）、周波数による判定結果が「走行車線は中央車線または右車線である」でない場合には、周波数による判定結果を走行車線判定結果として採用する（ステップＳ９０３）。
【０１５８】
このように、この車線判定部９６が周波数情報による判定を優先的に採用し、周波数情報による判定結果が「走行車線は中央車線または右車線である」場合、すなわち周波数情報では路肩を見つけられなかった場合に輝度情報の判定結果を採用することによって、周波数情報による判定が不明確な場合に輝度情報の判定によって補うことができる。
【０１５９】
なお、ここでは、周波数情報による判定を優先的に採用する場合について説明したが、周波数情報による判定と輝度情報による判定の組み合わせ手法としては、両方の判定結果が一致した場合だけを採用するなどの他の手法を用いることもできる。
【０１６０】
上述してきたように、本実施例９では、車線判定部９６が周波数情報による走行車線の判定と輝度情報による走行車線の判定を組み合わせることによって、より正確に走行車線を判定することができる。
【実施例１０】
【０１６１】
上記実施例９では、画像の輝度情報と周波数情報を組み合わせて走行車線を判定する場合について説明したが、画像の色情報と周波数情報を組み合わせて走行車線を判定することもできる。そこで、本実施例１０では、画像の色情報と周波数情報を組み合わせて走行車線を判定する走行車線判定装置について説明する。
【０１６２】
まず、本実施例１０に係る走行車線判定装置の構成について説明する。図２７は、本実施例１０に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１１または２３に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０１６３】
図２７に示すように、この走行車線判定装置１００は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、色情報取得部２５と、周波数情報取得部８５と、車線判定部１０６と、走行車線判定装置１００全体の制御を行なう制御部１０７とを有する。
【０１６４】
すなわち、この走行車線判定装置１００は、領域分割部１４により３つに分割された各領域の色差の平均値を算出する色情報取得部２５と、各領域の周波数を算出する周波数情報取得部８５とを有する。
【０１６５】
車線判定部１０６は、色情報取得部２５により算出された色差の平均値と周波数情報取得部８５により算出された周波数を用いて走行車線を判定する処理部である。この車線判定部１０６が色と周波数の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０１６６】
例えば、路片側の領域が路面と同じく色情報がほとんど存在しない場合でも周波数情報が存在する場合などには、色による判定だけでは路肩と判断できないが、周波数によって路肩と判断することが可能となる。
【０１６７】
次に、車線判定部１０６による走行車線判定処理の処理手順について説明する。図２８は、車線判定部１０６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部１０６は、色による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ１００１）。
【０１６８】
そして、色による判定結果が「走行車線は中央車線または右車線である」場合には、周波数による走行車線の判定を行ない、その結果を走行車線判定結果として採用し（ステップＳ１００２）、色による判定結果が「走行車線は中央車線または右車線である」でない場合には、色による判定結果を走行車線判定結果として採用する（ステップＳ１００３）。
【０１６９】
このように、この車線判定部１０６が色情報による判定を優先的に採用し、色情報による判定結果が「走行車線は中央車線または右車線である」場合、すなわち色情報では路肩を見つけられなかった場合に周波数情報の判定結果を採用することによって、色情報による判定が不明確な場合に周波数情報の判定によって補うことができる。
【０１７０】
なお、ここでは、色情報による判定を優先的に採用する場合について説明したが、色情報による判定と周波数情報による判定の組み合わせ手法としては、両方の判定結果が一致した場合だけを採用するなどの他の手法を用いることもできる。
【０１７１】
上述してきたように、本実施例１０では、車線判定部１０６が色情報による走行車線の判定と周波数情報による走行車線の判定を組み合わせることによって、より正確に走行車線を判定することができる。
【実施例１１】
【０１７２】
上記実施例７では、画像の輝度情報、色情報および微分情報を組み合わせて走行車線を判定する場合について説明したが、輝度情報、色情報および周波数情報を組み合わせて走行車線を判定することもできる。そこで、本実施例１１では、画像の輝度情報、色情報および周波数情報を組み合わせて走行車線を判定する走行車線判定装置について説明する。
【０１７３】
まず、本実施例１１に係る走行車線判定装置の構成について説明する。図２９は、本実施例１１に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１、１１または２３に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０１７４】
図２９に示すように、この走行車線判定装置１１０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、色情報取得部２５と、周波数情報取得部８５と、車線判定部１１６と、走行車線判定装置１１０全体の制御を行なう制御部１１７とを有する。
【０１７５】
すなわち、この走行車線判定装置１１０は、領域分割部１４により３つに分割された各領域の輝度の平均値を算出する輝度情報取得部１５と、各領域の色差の平均値を算出する色情報取得部２５と、各領域の周波数を算出する周波数情報取得部８５とを有する。
【０１７６】
車線判定部１１６は、輝度情報取得部１５により算出された輝度平均値と、色情報取得部２５により算出された色差平均値と、周波数情報取得部８５により算出された周波数を用いて走行車線を判定する処理部である。この車線判定部１１６が輝度と色と周波数の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０１７７】
例えば、路片側の領域が路面と同じくモノトーンでかつ周波数情報がほとんど存在しないが、輝度が著しく高い場合などに、色や周波数の情報だけでは路肩と判断できないが、輝度によって路肩と判断することが可能となる。
【０１７８】
次に、車線判定部１１６による走行車線判定処理の処理手順について説明する。図３０は、車線判定部１１６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部１１６は、色による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ１１０１）。
【０１７９】
そして、色による判定結果が「走行車線は中央車線または右車線である」でない場合には、色による判定結果を走行車線判定結果として採用し（ステップＳ１１０２）、色による判定結果が「走行車線は中央車線または右車線である」場合には、周波数による走行車線の判定を行ない、その結果が「走行車線は中央車線または右車線である」か否かを判定する（ステップＳ１１０３）。
【０１８０】
そして、周波数による判定結果が「走行車線は中央車線または右車線である」でない場合には、周波数による判定結果を走行車線判定結果として採用し（ステップＳ１１０４）、周波数による判定結果が「走行車線は中央車線または右車線である」場合には、輝度による走行車線の判定を行ない、その結果を走行車線判定結果として採用する（ステップＳ１１０５）。
【０１８１】
このように、この車線判定部１１６が色情報による判定を優先的に採用し、色情報による判定結果が「走行車線は中央車線または右車線である」場合、すなわち色情報では路肩を見つけられなかった場合に周波数情報の判定結果を採用し、周波数情報によっても路肩を見つけられなかった場合に輝度情報の判定結果を採用することによって、色情報による判定が不明確な場合に周波数情報や輝度情報の判定によって補うことができる。
【０１８２】
なお、ここでは、色情報による判定を優先的に採用する場合について説明したが、色情報による判定、周波数情報による判定および輝度情報による判定の組み合わせ手法としては、全ての判定結果が一致した場合だけを採用するなどの他の手法を用いることもできる。
【０１８３】
上述してきたように、本実施例１１では、車線判定部１１６が色情報による走行車線の判定と周波数情報による走行車線の判定と輝度情報による走行車線の判定を組み合わせることによって、より正確に走行車線を判定することができる。
【実施例１２】
【０１８４】
上記実施例では、画像の輝度情報などを用いて路肩を検出して走行車線を判定する場合について説明したが、路肩を検出する代わりに対向車を検出して走行車線を判定することもできる。そこで、本実施例１２では、対向車を検出して走行車線を判定する走行車線判定装置について説明する。
【０１８５】
まず、本実施例１２に係る走行車線判定装置の構成について説明する。図３１は、本実施例１２に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０１８６】
図３１に示すように、この走行車線判定装置１２０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、オプティカルフロー算出部１２１と、対向車検出部１２５と、車線判定部１２６と、走行車線判定装置１２０全体の制御を行なう制御部１２７とを有する。
【０１８７】
オプティカルフロー算出部１２１は、領域分割部１４により３つに分割された各領域のオプティカルフローを算出する処理部である。ここで、オプティカルフローとは、動画像処理を行なうときに、画像内のある点または領域の画像上でのみかけの動きを矢印の方向と大きさで表す手法であり、オプティカルフローの検出手法には、相関法、濃度勾配法などさまざまなものが知られている。ここでは、相関法を用いてオプティカルフローを検出することとするが、どの手法によりオプティカルフローを算出してもよい。
【０１８８】
オプティカルフローの算出には連続した２枚のフレームfn(x,y)およびfn+1(x,y)の画像を用いる。まず、fn(x,y)の中のある大きさの矩形領域(ブロック)とfn+1(x,y)で輝度の分布が似ているブロックを探索する。
【０１８９】
ここで、２つのブロックの輝度の分布の類似度を示す量として、輝度相関値を用いる。また、ブロック内の輝度相関値の算出手法はいくつかあるが、ここでは以下の式で求める。
ΣΣ|f n+1 (x−mx, y−my) − fn (x,y)|2
【０１９０】
そして、この相関値が最小となる動き(mx,my)が求めるオプティカルフローとなる。図３２は、オプティカルフローを説明するための説明図である。同図に示すように、ブロックの大きさを5×5とした場合、左に6、下に5移動した場合の、相関値が最小となった場合オプティカルフローは(-6,5)である。
【０１９１】
図３３は、対向車および併走車がいない場合のオプティカルフローを示す図である。一方、図３４は、対向車および併走車がいる場合のオプティカルフローを示す図である。図３３の場合には、自車両の動きにより、画像の全領域においてオプティカルフローが生じ、そのオプティカルフローは自車両の車速やカメラのパラメータによって算出することが可能である。
【０１９２】
一方、図３４のように対向車が走行している場合、自車両との相対速度が大きくなるため、大きなオプティカルフローが生じる。また、併走車が走行している場合には、自車両との相対速度は小さくなるまたはマイナスの相対速度になるため、検出されるオプティカルフローが小さくなったり、反対方向のオプティカルフローが生じたりする。このようなオプティカルフローの特徴を利用して、対向車および併走車の検出を行なうことができる。
【０１９３】
対向車検出部１２５は、オプティカルフロー算出部１２１により算出されたオプティカルフローを用いて対向車の検出を行なう処理部である。具体的には、この対向車検出部１２５は、「ラベル１」の領域内のオプティカルフローと、「ラベル２」の領域内のオプティカルフローとを比較し、「ラベル２」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローよりも大きく、その差があらかじめ定めた閾値よりも大きい場合に「ラベル２」の領域に対向車が存在すると判定する。
【０１９４】
車線判定部１２６は、対向車検出部１２５による対向車の検出結果に基づいて走行車線を判定する処理部である。すなわち、この車線判定部１２６は、対向車検出部１２５により「ラベル２」の領域に対向車が存在すると判定された場合に、走行車線は右車線であると判定する。
【０１９５】
次に、本実施例１２に係る走行車線判定装置１２０の処理手順について説明する。図３５は、本実施例１２に係る走行車線判定装置１２０の処理手順を示すフローチャートである。同図に示すように、この走行車線判定装置１２０は、まず画像入力部１１が画像センサ１から画像情報を入力して画像記憶部１２に格納する画像入力処理を行なう（ステップＳ１２０１）。
【０１９６】
そして、白線検出部１３が画像記憶部１２に記憶された画像情報を用いて２本の白線を検出する白線検出処理を行ない（ステップＳ１２０２）、領域分割部１４が白線検出部１３により検出された２本の白線を用いて所定の画像領域を３つの領域に分割する領域分割処理を行なう（ステップＳ１２０３）。
【０１９７】
そして、オプティカルフロー算出部１２１が領域分割部１４により３つに分割された各領域のオプティカルフローを算出するオプティカルフロー算出処理を行ない（ステップＳ１２０４）、対向車検出部１２５がオプティカルフロー算出部１２１により算出された「ラベル１」と「ラベル２」の領域のオプティカルフローを比較して右領域の対向車を検出する対向車検出処理を行なう（ステップＳ１２０５）。そして、車線判定部１２６が対向車検出部１２５による対向車検出結果を用いて走行車線を判定する走行車線判定処理を行なう（ステップＳ１２０６）。
【０１９８】
このように、この走行車線判定装置１２０は、右領域に対向車がいる場合に、車線判定部１２６が右領域の対向車の検出結果を用いて走行車線を判定することによって、車線の境界線が実線であるか破線であるかにかかわらず走行車線が右車線であることを特定することができる。
【０１９９】
次に、図３５に示した対向車検出処理（ステップＳ１２０５）の処理手順について説明する。図３６は、図３５に示した対向車検出処理の処理手順を示すフローチャートである。なお、この対向車検出処理は、図３１に示した対向車検出部１２５が行なう処理である。
【０２００】
図３６に示すように、この対向車検出処理は、「ラベル２」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローより大きく、その差が閾値以上であるか否かを判定する（ステップＳ１２２１）。
【０２０１】
その結果、「ラベル２」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローより大きく、その差が閾値以上である場合には、「ラベル２」の領域に対向車が存在すると判定し（ステップＳ１２２２）、それ以外の場合には、「ラベル２」の領域に対向車は存在しないと判定する（ステップＳ１２２３）。
【０２０２】
このように、この対向車検出処理は、「ラベル１」の領域内のオプティカルフローと、「ラベル２」の領域内のオプティカルフローとを比較することによって、右領域の対向車を検出することができる。
【０２０３】
次に、図３５に示した走行車線判定処理（ステップＳ１２０６）の処理手順について説明する。図３７は、図３５に示した走行車線判定処理の処理手順を示すフローチャートである。なお、この走行車線判定処理は、図３１に示した車線判定部１２６が行なう処理である。
【０２０４】
図３７に示すように、この走行車線判定処理は、「ラベル２」の領域に対向車が存在するか否かを判定し（ステップＳ１２４１）、「ラベル２」の領域に対向車が存在する場合には、走行車線は右車線であると判定する（ステップＳ１２４２）。
【０２０５】
このように、この走行車線判定処理は、「ラベル２」の領域に対向車が存在する場合には、走行車線が右車線であると特定することができる。
【０２０６】
上述してきたように、本実施例１２では、オプティカルフロー算出部１２１が領域分割部１４により３つに分割された各領域のオプティカルフローを算出し、対向車検出部１２５がオプティカルフロー算出部１２１により算出されたオプティカルフローを用いて右領域の対向車を検出し、車線判定部１２６が対向車検出部１２５により右領域に対向車が検出された場合に走行車線を右車線であると特定することとしたので、車線の境界線が実線であるか破線であるかにかかわらず、走行車線が右車線であることを特定することができる。
【実施例１３】
【０２０７】
上記実施例１２では、対向車を検出して走行車線が右車線であることを特定する場合について説明したが、対向車の代わりに併走車を検出して走行車線を判定することもできる。そこで、本実施例１３では、併走車を検出して走行車線を判定する走行車線判定装置について説明する。
【０２０８】
まず、本実施例１３に係る走行車線判定装置の構成について説明する。図３８は、本実施例１３に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図３１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０２０９】
図３８に示すように、この走行車線判定装置１３０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、オプティカルフロー算出部１２１と、併走車検出部１３５と、車線判定部１３６と、走行車線判定装置１３０全体の制御を行なう制御部１３７とを有する。
【０２１０】
併走車検出部１３５は、オプティカルフロー算出部１２１により算出されたオプティカルフローを用いて併走車の検出を行なう処理部である。具体的には、この併走車検出部１３５は、「ラベル１」の領域内のオプティカルフローと、「ラベル２」の領域内のオプティカルフローとを比較し、「ラベル２」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローよりも小さく、その差があらかじめ定めた閾値以上の場合に「ラベル２」の領域に併走車が存在すると検出する。
【０２１１】
また、この併走車検出部１３５は、「ラベル１」の領域内のオプティカルフローと、「ラベル３」の領域内のオプティカルフローとを比較し、「ラベル３」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローよりも小さく、その差があらかじめ定めた閾値以上の場合に「ラベル３」の領域に併走車が存在すると検出する。
【０２１２】
車線判定部１３６は、併走車検出部１３５による併走車の検出結果に基づいて走行車線を判定する処理部である。すなわち、この車線判定部１３６は、併走車が「ラベル２」の領域および「ラベル３」の領域のどちらにも存在した場合、走行車線は中央車線であると判定する。
【０２１３】
また、この車線判定部１３６は、併走車が「ラベル２」の領域のみに存在した場合、走行車線は左車線または中央車線であると判定し、併走車が「ラベル３」の領域のみに存在した場合、走行車線は右車線または中央車線であると判定する。
【０２１４】
次に、併走車検出部１３５による併走車検出処理の処理手順について説明する。図３９は、併走車検出部１３５による併走車検出処理の処理手順を示すフローチャートである。同図に示すように、この併走車検出処理は、「ラベル２」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローより小さく、その差が閾値以上であるか否かを判定する（ステップＳ１３２１）。
【０２１５】
その結果、「ラベル２」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローより小さく、その差が閾値以上である場合には、「ラベル２」の領域に併走車が存在すると判定し（ステップＳ１３２２）、それ以外の場合には、「ラベル２」の領域に併走車は存在しないと判定する（ステップＳ１３２３）。
【０２１６】
また、「ラベル３」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローより小さく、その差が閾値以上であるか否かを判定する（ステップＳ１３２４）。
【０２１７】
その結果、「ラベル３」の領域内のオプティカルフローが「ラベル１」の領域内のオプティカルフローより小さく、その差が閾値以上である場合には、「ラベル３」の領域に併走車が存在すると判定し（ステップＳ１３２５）、それ以外の場合には、「ラベル３」の領域に併走車は存在しないと判定する（ステップＳ１３２６）。
【０２１８】
このように、この対向車検出処理は、「ラベル１」の領域内のオプティカルフローと、「ラベル２」の領域内のオプティカルフローとを比較することによって、右領域の併走車を検出し、「ラベル１」の領域内のオプティカルフローと、「ラベル３」の領域内のオプティカルフローとを比較することによって、左領域の併走車を検出することができる。
【０２１９】
次に、図３８に示した車線判定部１３６による走行車線判定処理の処理手順について説明する。図４０は、図３８に示した車線判定部１３６による走行車線判定処理の処理手順を示すフローチャートである。
【０２２０】
図４０に示すように、この走行車線判定処理は、「ラベル３」の領域に併走車が存在するか否かを判定し（ステップＳ１３４１）、「ラベル３」の領域に併走車が存在する場合には、「ラベル２」の領域に併走車が存在するか否かを判定する（ステップＳ１３４２）。その結果、「ラベル２」の領域に併走車が存在する場合には、走行車線は中央車線または左車線であると判定する（ステップＳ１３４３）。
【０２２１】
一方、「ラベル３」の領域に併走車が存在しない場合には、「ラベル２」の領域に併走車が存在するか否かを判定し（ステップＳ１３４４）、「ラベル２」の領域に併走車が存在する場合には、走行車線は中央車線であると判定し（ステップＳ１３４５）、「ラベル２」の領域に併走車が存在しない場合には、走行車線は中央車線または右車線であると判定する（ステップＳ１３４６）。
【０２２２】
このように、この走行車線判定処理は、「ラベル２」または「ラベル３」の領域の併走車の有無に基づいて、走行車線を判定することができる。
【０２２３】
上述してきたように、本実施例１３では、オプティカルフロー算出部１２１が領域分割部１４により３つに分割された各領域のオプティカルフローを算出し、併走車検出部１３５がオプティカルフロー算出部１２１により算出されたオプティカルフローを用いて併走車を検出し、車線判定部１３６が併走車検出部１３５により検出された併走車に基づいて走行車線を判定することとしたので、車線の境界線が実線であるか破線であるかにかかわらず、走行車線を判定することができる。
【実施例１４】
【０２２４】
上記実施例１２では、対向車を検出して走行車線を判定する場合について説明し、上記実施例１３では、併走車を検出して走行車線を判定する場合について説明したが、対向車と併走車の両方を検出して走行車線を判定することもできる。そこで、本実施例１４では、対向車と併走車の両方を検出して走行車線を判定する走行車線判定装置について説明する。
【０２２５】
まず、本実施例１４に係る走行車線判定装置の構成について説明する。図４１は、本実施例１４に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図３１または３８に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０２２６】
図４１に示すように、この走行車線判定装置１４０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、オプティカルフロー算出部１２１と、対向車検出部１２５と、併走車検出部１３５と、車線判定部１４６と、走行車線判定装置１４０全体の制御を行なう制御部１４７とを有する。
【０２２７】
すなわち、この走行車線判定装置１４０は、対向車を検出する対向車検出部１２５と、併走車を検出する併走車検出部１３５とを有する。
【０２２８】
車線判定部１４６は、対向車検出部１２５により検出された対向車の情報と、併走車検出部１３５により検出された併走車の情報の両方を用いて走行車線を判定する処理部である。この車線判定部１４６が対向車と併走車の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０２２９】
次に、車線判定部１４６による走行車線判定処理の処理手順について説明する。図４２は、車線判定部１４６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部１４６は、対向車による走行車線の判定を行ない、その結果が「走行車線は右車線である」か否かを判定する（ステップＳ１４０１）。
【０２３０】
そして、対向車による判定結果が「走行車線は右車線である」でない場合には、併走車による走行車線の判定を行ない、その結果を走行車線判定結果として採用し（ステップＳ１４０２）、対向車による判定結果が「走行車線は右車線である」場合には、対向車による判定結果を走行車線判定結果として採用する（ステップＳ１４０３）。
【０２３１】
このように、この車線判定部１４６が対向車による判定を優先的に採用し、対向車が存在しなかったときに併走車による判定結果を採用することによって、対向車がいない場合にも車線判定を行なうことができる。
【０２３２】
なお、ここでは、対向車による判定を優先的に採用する場合について説明したが、対向車による判定と併走車による判定の組み合わせ手法としては、他の手法を用いることもできる。
【０２３３】
上述してきたように、本実施例１４では、車線判定部１４６が対向車による走行車線の判定と併走車による走行車線の判定を組み合わせることによって、より正確に走行車線を判定することができる。
【実施例１５】
【０２３４】
ところで、輝度や色、微分情報を用いて走行車線の判定を行なうことは、路肩を判定することによって走行車線の判定を行なうことであるのに対し、対向車や併走車の情報を用いて走行車線の判定を行なうことは、周囲の交通の状況によって走行車線の判定を行なうことである。
【０２３５】
したがって、これらの情報を組み合わせて判定を行なうことにより、走行車線の判定をより詳しく、正確に行なうことが可能である。そこで、本実施例１５では、路肩情報と対向車の情報と組み合わせて判定を行なう走行車線判定装置について説明する。
【０２３６】
まず、本実施例１５に係る走行車線判定装置の構成について説明する。図４３は、本実施例１５に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図２１または３１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０２３７】
図４３に示すように、この走行車線判定装置１５０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、色情報取得部２５と、微分情報取得部４５と、オプティカルフロー算出部１２１と、対向車検出部１２５と、車線判定部１５６と、走行車線判定装置１５０全体の制御を行なう制御部１５７とを有する。
【０２３８】
すなわち、この走行車線判定装置１５０は、輝度、色および微分値の情報を用いて路肩を判定することによって走行車線を判定するとともに、対向車の情報を用いて走行車線を判定する。
【０２３９】
車線判定部１５６は、路肩情報および対向車の情報を用いて走行車線を判定する処理部である。この車線判定部１５６が路肩情報と対向車の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０２４０】
次に、車線判定部１５６による走行車線判定処理の処理手順について説明する。図４４は、車線判定部１５６による走行車線判定処理の処理手順を示すフローチャートである。同図に示すように、この車線判定部１５６は、対向車による走行車線の判定を行ない、その結果が「走行車線は右車線である」か否かを判定する（ステップＳ１５０１）。
【０２４１】
そして、対向車による判定結果が「走行車線は右車線である」場合には、その判定結果を走行車線判定結果として採用し（ステップＳ１５０２）、対向車による判定結果が「走行車線は右車線である」でない場合には、実施例７で示した路肩情報による走行車線の判定を行ない、その結果を走行車線判定結果として採用する（ステップＳ１５０３）。
【０２４２】
このように、この車線判定部１５６が対向車情報による判定を優先的に採用し、対向車が存在しなかったときに、路肩情報を用いて走行車線を判定することによって、対向車がいない場合にも、走行車線を判定することができる。
【０２４３】
なお、ここでは、路肩を判定する場合に色、輝度および微分情報を用いる場合について説明したが、路肩を判定する場合には、これらの情報の一部を用いて判定することもでき、また、周波数情報を他の情報と任意に組み合わせて判定することもできる。
【０２４４】
上述してきたように、本実施例１５では、対向車による走行車線の判定と路肩情報による走行車線の判定とを組み合わせることによって、より正確に走行車線を判定することができる。
【実施例１６】
【０２４５】
上記実施例１５では、路肩情報と対向車の情報とを組み合わせて判定を行なう走行車線判定装置について説明したが、対向車の情報の代わりに併走車の情報を用いることもできる。そこで、本実施例１６では、路肩情報と併走車の情報とを組み合わせて判定を行なう走行車線判定装置について説明する。
【０２４６】
まず、本実施例１６に係る走行車線判定装置の構成について説明する。図４５は、本実施例１６に係る走行車線判定装置の構成を示す機能ブロック図である。同図に示すように、この走行車線判定装置１６０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、色情報取得部２５と、微分情報取得部４５と、オプティカルフロー算出部１２１と、併走車検出部１３５と、車線判定部１６６と、走行車線判定装置１６０全体の制御を行なう制御部１６７とを有する。
【０２４７】
すなわち、この走行車線判定装置１６０は、輝度、色および微分値の情報を用いて路肩を判定することによって走行車線を判定するとともに、併走車の情報を用いて走行車線を判定する。
【０２４８】
車線判定部１６６は、路肩情報および併走車の情報を用いて走行車線を判定する処理部である。具体的には、この車線判定部１６６は、併走車による判定を優先し、併走車が存在しなかったときに路肩情報による判定結果を採用する。
【０２４９】
この車線判定部１６６が路肩情報と併走車の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０２５０】
次に、車線判定部１６６による走行車線判定処理の処理手順について説明する。図４６は、車線判定部１６６による走行車線判定処理の処理手順を示すフローチャートである。図４６に示すように、この走行車線判定処理は、併走車による走行車線判定を行い、その結果が「走行車線は中央車線である」か否かを判定する（ステップＳ１６０１）。
【０２５１】
そして、併走車による判定結果が「走行車線は中央車線である」場合には、その判定結果を走行車線判定結果とし（ステップＳ１６０２）、併走車による判定結果が「走行車線は中央車線である」でない場合には、併走車による判定結果が「走行車線は左車線または中央車線である」か否かを判定する（ステップＳ１６０３）。
【０２５２】
その結果、併走車による判定結果が「走行車線は左車線または中央車線である」場合には、路肩情報による判定を行ない、その結果が「走行車線は左車線である」か否かを判定し（ステップＳ１６０４）、路肩情報による判定が「走行車線は左車線である」場合には、「走行車線は左車線である」を走行車線判定結果とし（ステップＳ１６０５）、路肩情報による判定が「走行車線は左車線である」でない場合には、「走行車線は中央車線である」を走行車線判定結果とする（ステップＳ１６０６）。
【０２５３】
一方、併走車による判定結果が「走行車線は左車線または中央車線である」でない場合には、併走車による判定結果が「走行車線は右車線または中央車線である」か否かを判定し（ステップＳ１６０７）、併走車による判定結果が「走行車線は右車線または中央車線である」場合には、路肩情報による判定を行ない、その結果が「走行車線は右車線である」か否かを判定する（ステップＳ１６０８）。
【０２５４】
そして、路肩情報による判定が「走行車線は右車線である」場合には、「走行車線は右車線である」を走行車線判定結果とし（ステップＳ１６０９）、路肩情報による判定が「走行車線は右車線である」でない場合には、「走行車線は右車線または中央車線である」を走行車線判定結果とする（ステップＳ１６１０）。
【０２５５】
これに対して、併走車による判定結果が「走行車線は右車線または中央車線である」でない場合には、路肩情報による判定結果を走行車線判定結果として採用する（ステップＳ１６１１）。
【０２５６】
このように、この車線判定部１６６が併走車情報による判定を優先的に採用し、併走車が存在しなかったときに、路肩情報を用いて走行車線を判定することによって、併走車がいない場合にも、走行車線を判定することができる。
【０２５７】
上述してきたように、本実施例１６では、併走車による走行車線の判定と路肩情報による走行車線の判定とを組み合わせることによって、より正確に走行車線を判定することができる。
【実施例１７】
【０２５８】
上記実施例１５では、路肩情報と対向車の情報と組み合わせて判定を行なう走行車線判定装置について説明し、上記実施例１６では、路肩情報と併走車の情報と組み合わせて判定を行なう走行車線判定装置について説明したが、路肩情報と対向車の情報と併走車の情報とを組み合わせることもできる。そこで、本実施例１７では、路肩情報と対向車の情報と併走車の情報とを組み合わせて判定を行なう走行車線判定装置について説明する。
【０２５９】
まず、本実施例１７に係る走行車線判定装置の構成について説明する。図４７は、本実施例１７に係る走行車線判定装置の構成を示す機能ブロック図である。同図に示すように、この走行車線判定装置１７０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、輝度情報取得部１５と、色情報取得部２５と、微分情報取得部４５と、オプティカルフロー算出部１２１と、対向車検出部１２５と、併走車検出部１３５と、車線判定部１７６と、走行車線判定装置１７０全体の制御を行なう制御部１７７とを有する。
【０２６０】
すなわち、この走行車線判定装置１７０は、輝度、色および微分値の情報を用いて路肩を判定することによって走行車線を判定するとともに、対向車および併走車の情報を用いて走行車線を判定する。
【０２６１】
車線判定部１７６は、路肩情報、対向車の情報および併走車の情報を用いて走行車線を判定する処理部である。具体的には、この車線判定部１７６は、対向車による判定を優先し、対向車が存在しなかったときに、併走車による判定を採用し、併走車が存在しなかったときに路肩情報による判定結果を採用する。
【０２６２】
この車線判定部１７６が路肩情報、対向車の情報および併走車の情報を合わせて走行車線判定に用いることで、個々の情報による走行車線判定では十分な判定が行なえないような場合に、正しく判定を行なうことが可能となる。
【０２６３】
次に、車線判定部１７６による走行車線判定処理の処理手順について説明する。図４８は、車線判定部１７６による走行車線判定処理の処理手順を示すフローチャートである。図４８に示すように、この走行車線判定処理は、対向車による走行車線判定を行い、その結果が「走行車線は右車線である」か否かを判定する（ステップＳ１７０１）。
【０２６４】
そして、対向車による判定結果が「走行車線は右車線である」場合には、その判定結果を走行車線判定結果とし（ステップＳ１７０２）、対向車による判定結果が「走行車線は右車線である」でない場合には、併走車による走行車線判定を行い、その結果が「走行車線は中央車線である」か否かを判定する（ステップＳ１７０３）。
【０２６５】
そして、併走車による判定結果が「走行車線は中央車線である」場合には、その判定結果を走行車線判定結果とし（ステップＳ１７０４）、併走車による判定結果が「走行車線は中央車線である」でない場合には、併走車による判定結果が「走行車線は左車線または中央車線である」か否かを判定する（ステップＳ１７０５）。
【０２６６】
その結果、併走車による判定結果が「走行車線は左車線または中央車線である」場合には、路肩情報による判定を行ない、その結果が「走行車線は左車線である」か否かを判定し（ステップＳ１７０６）、路肩情報による判定が「走行車線は左車線である」場合には、「走行車線は左車線である」を走行車線判定結果とし（ステップＳ１７０７）、路肩情報による判定が「走行車線は左車線である」でない場合には、「走行車線は中央車線である」を走行車線判定結果とする（ステップＳ１７０８）。
【０２６７】
一方、併走車による判定結果が「走行車線は左車線または中央車線である」でない場合には、併走車による判定結果が「走行車線は右車線または中央車線である」か否かを判定し（ステップＳ１７０９）、併走車による判定結果が「走行車線は右車線または中央車線である」場合には、路肩情報による判定を行ない、その結果が「走行車線は右車線である」か否かを判定する（ステップＳ１７１０）。
【０２６８】
そして、路肩情報による判定が「走行車線は右車線である」場合には、「走行車線は右車線である」を走行車線判定結果とし（ステップＳ１７１１）、路肩情報による判定が「走行車線は右車線である」でない場合には、「走行車線は右車線または中央車線である」を走行車線判定結果とする（ステップＳ１７１２）。
【０２６９】
これに対して、併走車による判定結果が「走行車線は右車線または中央車線である」でない場合には、路肩情報による判定結果を走行車線判定結果として採用する（ステップＳ１７１３）。
【０２７０】
このように、この車線判定部１７６が対向車情報による判定を優先的に採用し、対向車が存在しなかったときに、併走車情報による判定を採用し、併走車も存在しなかったときに、路肩情報を用いて走行車線を判定することによって、対向車および併走車がいない場合にも、走行車線を判定することができる。
【０２７１】
上述してきたように、本実施例１７では、対向車による走行車線の判定と併走車による走行車線の判定と路肩情報による走行車線の判定とを組み合わせることによって、より正確に走行車線を判定することができる。
【実施例１８】
【０２７２】
上記実施例１２では、オプティカルフローを用いて対向車を検出して走行車線を判定する場合について説明したが、画像上の移動量とオプティカルフローを用いて対向車を検出することもできる。そこで、本実施例１８では、画像上の移動量とオプティカルフローを用いて対向車を検出して走行車線を判定する走行車線判定装置について説明する。
【０２７３】
まず、本実施例１８に係る走行車線判定装置の構成について説明する。図４９は、本実施例１８に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図３１に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０２７４】
図４９に示すように、この走行車線判定装置１８０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、オプティカルフロー算出部１２１と、移動量算出部１８１と、俯角算出部１８２と、対向車検出部１８５と、車線判定部１２６と、走行車線判定装置１８０全体の制御を行なう制御部１８７とを有する。
【０２７５】
移動量算出部１８１は、俯角を用いて画像上の画素の所定時間における移動量を算出する処理部である。図５０−１〜図５０−３は、移動量算出部１８１による移動量算出手法を説明するための説明図（１）〜（３）である。
【０２７６】
画像内の座標を(x,y)とすると、画像センサ１の焦点距離f、画像の縦方向(y軸方向)の受光格子サイズlより、yの位置に撮像された画素の画像センサ１の光軸とのなす角θsは、図５０−１に示すように、θs=arctan(ly / f)となる。したがって、画像センサ１の設置時の俯角をθ0とすると、yの位置に撮像された画素の俯角θは、θ=θs+θ0となる。
【０２７７】
また、画像センサ１のレンズの中心が、図５０−２に示すように、Ｏ1から車速vでΔ
t時間後にＯ2に移動したとき、画像内の座標y1の位置の画素が座標y2に移動することとすると、移動量算出部１８１は、図５０−３に示すように、y1−y2を移動量として算出する。
【０２７８】
具体的には、画像センサ１の路上からの設置の高さをh、y1のときの俯角をθ1、y2のときの俯角をθ2とすると、図５０−２から、tanθ2 = h / ( h / tanθ1−vΔt)となる。したがって、移動量算出部１８１は、y1からθ1=arctan(l y1 / f)を計算して俯角θ1を求め、求めたθ1からtanθ2 = h / ( h / tanθ1−vΔt)を計算してθ2 を算出する。そして、y2 = ( f / l ) / tan(θ2−θ0)を用いてθ2 からy2 を算出し、算出したy2 を用いて移動量y1−y2を算出する。なお、車速vは、車輪に設置された複数のセンサによって構成される車速センサ２を用いて検出される。
【０２７９】
俯角算出部１８２は、移動量算出部１８１が移動量の算出に用いる俯角を算出する処理部である。すなわち、この俯角算出部１８２は、座標yからθs=arctan(ly / f)を算出し、算出したθsから俯角θ=θs+θ0を算出する。
【０２８０】
対向車検出部１８５は、オプティカルフロー算出部１２１により算出されたオプティカルフローと移動量算出部１８１により算出された移動量を用いて対向車の検出を行なう処理部である。
【０２８１】
具体的には、この対向車検出部１８５は、移動量算出部１８１により算出された移動量と、「ラベル２」の領域内のオプティカルフローのy成分を比較し、「ラベル２」の領域内のオプティカルフローのy成分が移動量よりも大きく、その差があらかじめ定めた閾値以上である場合に「ラベル２」の領域に対向車が存在すると検出する。
【０２８２】
次に、本実施例１８に係る走行車線判定装置１８０の処理手順について説明する。図５１は、本実施例１８に係る走行車線判定装置１８０の処理手順を示すフローチャートである。同図に示すように、この走行車線判定装置１８０は、まず画像入力部１１が画像センサ１から画像情報を入力して画像記憶部１２に格納する画像入力処理を行なう（ステップＳ１８０１）。
【０２８３】
そして、白線検出部１３が画像記憶部１２に記憶された画像情報を用いて２本の白線を検出する白線検出処理を行ない（ステップＳ１８０２）、領域分割部１４が白線検出部１３により検出された２本の白線を用いて所定の画像領域を３つの領域に分割する領域分割処理を行なう（ステップＳ１８０３）。
【０２８４】
そして、オプティカルフロー算出部１２１が領域分割部１４により３つに分割された各領域のオプティカルフローを算出するオプティカルフロー算出処理を行ない（ステップＳ１８０４）、移動量算出部１８１が画像上の移動量を俯角算出部１８２を用いて算出する（ステップＳ１８０５）。
【０２８５】
なお、ここでは、オプティカルフロー算出部１２１がオプティカルフローを算出した後に、移動量算出部１８１が画像上の移動量を算出しているが、移動量算出部１８１による移動量の算出は、ステップＳ１８０１〜Ｓ１８０４の処理と並行して行なうことができる。
【０２８６】
そして、対向車検出部１８５がオプティカルフロー算出部１２１により算出された「ラベル２」の領域のオプティカルフローと、移動量算出部１８１により算出された移動量とを比較して右車線の対向車を検出する対向車検出処理を行なう（ステップＳ１８０６）。そして、車線判定部１２６が対向車検出部１８５による対向車検出結果を用いて走行車線を判定する走行車線判定処理を行なう（ステップＳ１８０７）。
【０２８７】
このように、この走行車線判定装置１８０は、対向車がある場合に、対向車検出部１８５がオプティカルフローと移動量から対向車を検出することによって、走行車線が右車線であることを特定することができる。
【０２８８】
次に、図５１に示した移動量算出処理（ステップＳ１８０５）の処理手順について説明する。図５２は、図５１に示した移動量算出処理の処理手順を示すフローチャートである。なお、この移動量算出処理は、図４９に示した移動量算出部１８１が行なう処理である。
【０２８９】
図５２に示すように、この移動量算出処理は、画像センサ１の設置高度hおよび設置俯角θ0を取得し（ステップＳ１８２１〜ステップＳ１８２２）、俯角算出部１８２を用いてy1のときの俯角θ1を算出し、算出した俯角θ1を用いて俯角θ2を算出する（ステップＳ１８２３）。そして、俯角θ2およびθ0よりy2を算出し（ステップＳ１８２４）、算出したy2を用いて移動量y1−y2を算出する（ステップＳ１８２５）。
【０２９０】
このように、この移動量算出処理が俯角を用いて画像上の移動量を算出することによって、走行車線判定装置１８０は、オプティカルフローと移動量を用いて対向車を検出することができる。
【０２９１】
次に、図４９に示した俯角算出部１８２による俯角算出処理の処理手順について説明する。図５３は、図４９に示した俯角算出部１８２による俯角算出処理の処理手順を示すフローチャートである。
【０２９２】
同図に示すように、この俯角算出部１８２は、画像センサ１の設置俯角θ0を取得し（ステップＳ１８４１）、画像内のy座標yにある画素のカメラと光軸とのなす角θsを算出する（ステップＳ１８４２）。そして、θsとθ0を加えて俯角θを算出する（ステップＳ１８４３）。
【０２９３】
このように、この俯角算出部１８２が画像内のy座標から俯角を算出することによって、走行車線判定装置１８０は、画像上の移動量を算出し、算出した移動量とオプティカルフローを用いて対向車を検出することができる。
【０２９４】
次に、図５１に示した対向車検出処理（ステップＳ１８０６）の処理手順について説明する。図５４は、図５１に示した対向車検出処理の処理手順を示すフローチャートである。なお、この対向車検出処理は、図４９に示した対向車検出部１８５が行なう処理である。
【０２９５】
図５４に示すように、この対向車検出処理は、「ラベル２」の領域内のオプティカルフローのy成分が移動量算出部１８１が算出した移動量より大きく、その差が閾値以上であるか否かを判定する（ステップＳ１８６１）。
【０２９６】
その結果、「ラベル２」の領域内のオプティカルフローのy成分が移動量算出部１８１が算出した移動量より大きく、その差が閾値以上である場合には、「ラベル２」の領域に対向車が存在すると判定し（ステップＳ１８６２）、それ以外の場合には、「ラベル２」の領域に対向車は存在しないと判定する（ステップＳ１８６３）。
【０２９７】
このように、この対向車検出処理は、移動量算出部１８１が算出した移動量と、「ラベル２」の領域内のオプティカルフローのy成分とを比較することによって、右車線の対向車を検出することができる。
【０２９８】
上述してきたように、本実施例１８では、移動量算出部１８１が画像上の移動量を算出し、対向車検出部１８５がオプティカルフロー算出部１２１により算出されたオプティカルフローのy成分と移動量算出部１８１により算出された移動量を用いて右車線の対向車を検出し、車線判定部１２６が対向車検出部１８５により右領域に対向車が検出された場合に走行車線を右車線であると特定することとしたので、車線の境界線が実線であるか破線であるかにかかわらず、走行車線が右車線であることを特定することができる。
【実施例１９】
【０２９９】
上記実施例１８では、画像上の移動量とオプティカルフローのy成分を用いて対向車を検出して走行車線を判定する場合について説明したが、画像上の移動量とオプティカルフローのy成分を用いて併走車を検出して走行車線を判定することもできる。そこで、本実施例１９では、画像上の移動量とオプティカルフローのy成分を用いて併走車を検出して走行車線を判定する走行車線判定装置について説明する。
【０３００】
まず、本実施例１９に係る走行車線判定装置の構成について説明する。図５５は、本実施例１９に係る走行車線判定装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図４９に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【０３０１】
図５４に示すように、この走行車線判定装置１９０は、画像入力部１１と、画像記憶部１２と、白線検出部１３と、領域分割部１４と、オプティカルフロー算出部１２１と、移動量算出部１８１と、俯角算出部１８２と、併走車検出部１９５と、車線判定部１３６と、走行車線判定装置１９０全体の制御を行なう制御部１９７とを有する。
【０３０２】
併走車検出部１９５は、オプティカルフロー算出部１２１により算出されたオプティカルフローと移動量算出部１８１により算出された移動量を用いて併走車の検出を行なう処理部である。
【０３０３】
具体的には、この対向車検出部１９５は、移動量算出部１８１により算出された移動量と、「ラベル２」の領域内のオプティカルフローのy成分を比較し、「ラベル２」の領域内のオプティカルフローのy成分が移動量よりも小さく、その差があらかじめ定めた閾値以上である場合に「ラベル２」の領域に併走車が存在すると検出する。
【０３０４】
また、この併走車検出部１９５は、移動量算出部１８１により算出された移動量と、「ラベル３」の領域内のオプティカルフローのy成分を比較し、「ラベル３」の領域内のオプティカルフローのy成分が移動量よりも小さく、その差があらかじめ定めた閾値以上である場合に「ラベル３」の領域に併走車が存在すると検出する。
【０３０５】
次に、併走車検出部１９５による併走車検出処理の処理手順について説明する。図５６は、併走車検出部１９５による併走車検出処理の処理手順を示すフローチャートである。同図に示すように、この併走車検出処理は、「ラベル２」の領域内のオプティカルフローのy成分が移動量算出部１８１により算出された移動量より小さく、その差が閾値以上であるか否かを判定する（ステップＳ１９２１）。
【０３０６】
その結果、「ラベル２」の領域内のオプティカルフローのy成分が移動量算出部１８１により算出された移動量より小さく、その差が閾値以上である場合には、「ラベル２」の領域に併走車が存在すると判定し（ステップＳ１９２２）、それ以外の場合には、「ラベル２」の領域に併走車は存在しないと判定する（ステップＳ１９２３）。
【０３０７】
そして、「ラベル３」の領域内のオプティカルフローのy成分が移動量算出部１８１により算出された移動量より小さく、その差が閾値以上であるか否かを判定する（ステップＳ１９２４）。
【０３０８】
その結果、「ラベル３」の領域内のオプティカルフローのy成分が移動量算出部１８１により算出された移動量より小さく、その差が閾値以上である場合には、「ラベル３」の領域に併走車が存在すると判定し（ステップＳ１９２５）、それ以外の場合には、「ラベル３」の領域に併走車は存在しないと判定する（ステップＳ１９２６）。
【０３０９】
このように、この併走車検出処理は、移動量算出部１８１が算出した移動量と、「ラベル２」および「ラベル３」の領域内のオプティカルフローのy成分とを比較することによって、併走車を検出することができる。
【０３１０】
上述してきたように、本実施例１９では、移動量算出部１８１が画像上の移動量を算出し、併走車検出部１９５がオプティカルフロー算出部１２１により算出されたオプティカルフローのy成分と移動量算出部１８１により算出された移動量を用いて併走車を検出し、車線判定部１３６が併走車検出部１９５により検出された併走車の情報を用いて走行車線を判定することとしたので、車線の境界線が実線であるか破線であるかにかかわらず、走行車線を判定することができる。
【０３１１】
なお、本実施例１〜１９では、輝度情報、色情報、微分情報、周波数情報、対向車情報および併走車情報を組み合わせて走行車線を判定するいくつかの場合について説明したが、本発明はこれの実施例に限定されるものではなく、他の組み合わせにより走行車線を判定する場合にも同様に適用することができる。
【０３１２】
また、本実施例１〜１９では、走行車線判定装置について説明したが、この走行車線判定装置が有する構成をソフトウェアによって実現することで、同様の機能を有する走行車線判定プログラムを得ることができる。そこで、この走行車線判定プログラムを実行するコンピュータについて説明する。
【０３１３】
図５７は、本実施例１〜１９に係る走行車線判定プログラムを実行するコンピュータを示す図である。同図に示すように、このコンピュータ２００は、ＣＰＵ２１０と、ＲＯＭ２２０と、ＲＡＭ２３０と、Ｉ／Ｏインタフェース２４０とを有する。
【０３１４】
ＣＰＵ２１０は、走行車線判定プログラムを実行する処理装置であり、ＲＯＭ２２０は、走行車線判定プログラムなどを記憶したメモリである。ＲＡＭ２３０は、画像記憶部１２に記憶されるデータや走行車線判定プログラムの実行途中結果を記憶するメモリであり、Ｉ／Ｏインタフェース２４０は、画像センサ１および車速センサ２からのデータを受け取るインタフェースである。
【０３１５】
（付記１）車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定プログラムであって、
前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手順と、
前記車線境界線検出手順により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手順と、
前記領域分割手順により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手順と
をコンピュータに実行させることを特徴とする走行車線判定プログラム。
【０３１６】
（付記２）前記走行車線判定手順は、前記領域分割手順により分割された領域の画像の輝度情報に基づいて走行車線を判定することを特徴とする付記１に記載の走行車線判定プログラム。
【０３１７】
（付記３）前記走行車線判定手順は、前記領域分割手順により分割された領域の画像の色情報に基づいて走行車線を判定することを特徴とする付記１に記載の走行車線判定プログラム。
【０３１８】
（付記４）前記走行車線判定手順は、前記領域分割手順により分割された領域の画像の微分情報に基づいて走行車線を判定することを特徴とする付記１に記載の走行車線判定プログラム。
【０３１９】
（付記５）前記走行車線判定手順は、前記領域分割手順により分割された領域のオプティカルフローに基づいて対向車を検出して走行車線を判定することを特徴とする付記１に記載の走行車線判定プログラム。
【０３２０】
（付記６）前記走行車線判定手順は、前記領域分割手順により分割された領域のオプティカルフローに基づいて併走車を検出して走行車線を判定することを特徴とする付記１に記載の走行車線判定プログラム。
【０３２１】
（付記７）前記走行車線判定手順は、前記領域分割手順により分割された領域のオプティカルフローと、車両の移動にともなう撮像画像の移動量とに基づいて対向車を検出して走行車線を判定することを特徴とする付記５に記載の走行車線判定プログラム。
【０３２２】
（付記８）前記走行車線判定手順は、前記領域分割手順により分割された領域のオプティカルフローと、車両の移動にともなう撮像画像の移動量とに基づいて併走者車を検出して走行車線を判定することを特徴とする付記６に記載の走行車線判定プログラム。
【０３２３】
（付記９）車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手順と、
前記車線境界線検出手順により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手順と、
前記領域分割手順により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手順と
をコンピュータに実行させる走行車線判定プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【０３２４】
（付記１０）車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定装置であって、
前記画像を用いて走行路面の車線境界線を検出する車線境界線検出手段と、
前記車線境界線検出手段により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割手段と、
前記領域分割手段により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定手段と
を備えたことを特徴とする走行車線判定装置。
【０３２５】
（付記１１）車両に搭載した画像センサにより撮像した画像を用いて該車両の走行車線を判定する走行車線判定方法であって、
前記画像を用いて走行路面の車線境界線を検出する車線境界線検出工程と、
前記車線境界線検出工程により検出された車線境界線に基づいて前記画像を複数の領域に分割する領域分割工程と、
前記領域分割工程により分割された領域の画像の特徴に基づいて走行車線を判定する走行車線判定工程と
を含んだことを特徴とする走行車線判定方法。
【産業上の利用可能性】
【０３２６】
以上のように、本発明に係る走行車線判定プログラムおよびその記録媒体、走行車線判定装置方法ならびに走行車線判定方法は、カーナビゲーションシステムや自動車の自動走行制御システムに適している。
【図面の簡単な説明】
【０３２７】
【図１】本実施例１に係る走行車線判定装置の構成を示す機能ブロック図である。
【図２】画像記憶部の一例を示す図である。
【図３−１】白線検出部による白線検出処理を説明するための説明図（１）である。
【図３−２】白線検出部による白線検出処理を説明するための説明図（２）である。
【図３−３】白線検出部による白線検出処理を説明するための説明図（３）である。
【図４】領域分割部による領域分割処理を説明するための説明図である。
【図５】本実施例１に係る走行車線判定装置の処理手順を示すフローチャートである。
【図６】図５に示した白線検出処理の処理手順を示すフローチャートである。
【図７】図５に示した領域分割処理の処理手順を示すフローチャートである。
【図８】先行車の情報を走行車線領域内の情報に含めないようにする領域分割処理の処理手順を示すフローチャートである。
【図９】図５に示した輝度情報取得処理の処理手順を示すフローチャートである。
【図１０】図５に示した走行車線判定処理の処理手順を示すフローチャートである。
【図１１】本実施例２に係る走行車線判定装置の構成を示す機能ブロック図である。
【図１２】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図１３】本実施例３に係る走行車線判定装置の構成を示す機能ブロック図である。
【図１４】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図１５】本実施例４に係る走行車線判定装置の構成を示す機能ブロック図である。
【図１６】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図１７】本実施例５に係る走行車線判定装置の構成を示す機能ブロック図である。
【図１８】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図１９】本実施例６に係る走行車線判定装置の構成を示す機能ブロック図である。
【図２０】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図２１】本実施例７に係る走行車線判定装置の構成を示す機能ブロック図である。
【図２２】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図２３】本実施例８に係る走行車線判定装置の構成を示す機能ブロック図である。
【図２４】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図２５】本実施例９に係る走行車線判定装置の構成を示す機能ブロック図である。
【図２６】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図２７】本実施例１０に係る走行車線判定装置の構成を示す機能ブロック図である。
【図２８】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図２９】本実施例１１に係る走行車線判定装置の構成を示す機能ブロック図である。
【図３０】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図３１】本実施例１２に係る走行車線判定装置の構成を示す機能ブロック図である。
【図３２】オプティカルフローを説明するための説明図である。
【図３３】対向車および併走車がいない場合のオプティカルフローを示す図である。
【図３４】対向車および併走車がいる場合のオプティカルフローを示す図である。
【図３５】本実施例１２に係る走行車線判定装置の処理手順を示すフローチャートである。
【図３６】図３５に示した対向車検出処理の処理手順を示すフローチャートである。
【図３７】図３５に示した走行車線判定処理の処理手順を示すフローチャートである。
【図３８】本実施例１３に係る走行車線判定装置の構成を示す機能ブロック図である。
【図３９】併走車検出部による併走車検出処理の処理手順を示すフローチャートである。
【図４０】図３８に示した車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図４１】本実施例１４に係る走行車線判定装置の構成を示す機能ブロック図である。
【図４２】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図４３】本実施例１５に係る走行車線判定装置の構成を示す機能ブロック図である。
【図４４】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図４５】本実施例１６に係る走行車線判定装置の構成を示す機能ブロック図である。
【図４６】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図４７】本実施例１７に係る走行車線判定装置の構成を示す機能ブロック図である。
【図４８】車線判定部による走行車線判定処理の処理手順を示すフローチャートである。
【図４９】本実施例１８に係る走行車線判定装置の構成を示す機能ブロック図である。
【図５０−１】移動量算出部による移動量算出手法を説明するための説明図（１）である。
【図５０−２】移動量算出部による移動量算出手法を説明するための説明図（２）である。
【図５０−３】移動量算出部による移動量算出手法を説明するための説明図（３）である。
【図５１】本実施例１８に係る走行車線判定装置の処理手順を示すフローチャートである。
【図５２】図５１に示した移動量算出処理の処理手順を示すフローチャートである。
【図５３】図４９に示した俯角算出部による俯角算出処理の処理手順を示すフローチャートである。
【図５４】図５１に示した対向車検出処理の処理手順を示すフローチャートである。
【図５５】本実施例１９に係る走行車線判定装置の構成を示す機能ブロック図である。
【図５６】併走車検出部による併走車検出処理の処理手順を示すフローチャートである。
【図５７】本実施例１〜１９に係る走行車線判定プログラムを実行するコンピュータを示す図である。
【符号の説明】
【０３２８】
１    画像センサ
２    車速センサ
１０，２０，３０，４０，５０，６０，７０，８０，９０，１００，１１０，１２０，１３０，１４０，１５０，１６０，１７０，１８０，１９０    走行車線判定装置
１１    画像入力部
１２    画像記憶部
１３    白線検出部
１４    領域分割部
１５    輝度情報取得部
１６，２６，３６，４６，５６，６６，７６，８６，９６，１０６，１１６，１２６，１３６，１４６，１５６，１６６，１７６    車線判定部
１７，２７，３７，４７，５７，６７，７７，８７，９７，１０７，１１７，１２７，１３７，１４７，１５７，１６７，１７７，１８７，１９７    制御部
２５    色情報取得部
４５    微分情報取得部
８５    周波数情報取得部
１２１    オプティカルフロー算出部
１２５，１８５    対向車検出部
１３５，１９５    併走車検出部
１８１    移動量算出部
１８２    俯角算出部
２００    コンピュータ
２１０    ＣＰＵ
２２０    ＲＯＭ
２３０    ＲＡＭ
２４０    Ｉ／Ｏインタフェース
【図１】
2005215985.tif 000006
【図２】
2005215985.tif 000007
【図３−１】
2005215985.tif 000008
【図３−２】
2005215985.tif 000009
【図３−３】
2005215985.tif 000010
【図４】
2005215985.tif 000011
【図５】
2005215985.tif 000012
【図６】
2005215985.tif 000013
【図７】
2005215985.tif 000014
【図８】
2005215985.tif 000015
【図９】
2005215985.tif 000016
【図１０】
2005215985.tif 000017
【図１１】
2005215985.tif 000018
【図１２】
2005215985.tif 000019
【図１３】
2005215985.tif 000020
【図１４】
2005215985.tif 000021
【図１５】
2005215985.tif 000022
【図１６】
2005215985.tif 000023
【図１７】
2005215985.tif 000024
【図１８】
2005215985.tif 000025
【図１９】
2005215985.tif 000026
【図２０】
2005215985.tif 000027
【図２１】
2005215985.tif 000028
【図２２】
2005215985.tif 000029
【図２３】
2005215985.tif 000030
【図２４】
2005215985.tif 000031
【図２５】
2005215985.tif 000032
【図２６】
2005215985.tif 000033
【図２７】
2005215985.tif 000034
【図２８】
2005215985.tif 000035
【図２９】
2005215985.tif 000036
【図３０】
2005215985.tif 000037
【図３１】
2005215985.tif 000038
【図３２】
2005215985.tif 000039
【図３３】
2005215985.tif 000040
【図３４】
2005215985.tif 000041
【図３５】
2005215985.tif 000042
【図３６】
2005215985.tif 000043
【図３７】
2005215985.tif 000044
【図３８】
2005215985.tif 000045
【図３９】
2005215985.tif 000046
【図４０】
2005215985.tif 000047
【図４１】
2005215985.tif 000048
【図４２】
2005215985.tif 000049
【図４３】
2005215985.tif 000050
【図４４】
2005215985.tif 000051
【図４５】
2005215985.tif 000052
【図４６】
2005215985.tif 000053
【図４７】
2005215985.tif 000054
【図４８】
2005215985.tif 000055
【図４９】
2005215985.tif 000056
【図５０−１】
2005215985.tif 000057
【図５０−２】
2005215985.tif 000058
【図５０−３】
2005215985.tif 000059
【図５１】
2005215985.tif 000060
【図５２】
2005215985.tif 000061
【図５３】
2005215985.tif 000062
【図５４】
2005215985.tif 000063
【図５５】
2005215985.tif 000064
【図５６】
2005215985.tif 000065
【図５７】
2005215985.tif 000066