(57)【特許請求の範囲】
【請求項１】
路面を撮像するＣＣＤカメラから出力される画像により路面上の白線を検出する白線検出装置において、
ＣＣＤカメラで撮像された画像からエッジ画像を生成するエッジ画像生成手段と、
前回検出した白線位置に基づいて決定される領域であって、当該白線位置を含まない領域であるスミア候補検出領域と、前記スミア候補検出領域に接し、前記ＣＣＤカメラの電荷転送方向とは逆方向に平行移動した領域であるスミア検証領域とのエッジ画像からスミアのエッジ位置を検出するスミアエッジ検出手段と、
生成されたエッジ画像からスミアのエッジ位置に対応するスミアエッジを除去するスミアエッジ除去手段と、
スミアエッジが除去されたエッジ画像から白線位置を検出する白線検出手段とを有することを特徴とする白線検出装置。
【請求項２】
前記スミアエッジ検出手段は、
前記スミア候補検出領域においてスミアエッジ候補点を検出するスミアエッジ候補点検出手段と、
前記スミア検証領域において、前記検出されたスミアエッジ候補点の座標に基づいて、スミア検証領域内のスミアエッジ点となる位置を検証するスミアエッジ検証手段とを有することを特徴とする請求項１記載の白線検出装置。
【請求項３】
前記スミアエッジ除去手段は、
前記スミアエッジ検出手段により検出されたスミアのエッジ位置が白線検出時の探索領域に含まれるとき、探索領域内部のスミアエッジを除去することを特徴とする請求項１記載の白線検出装置。
【請求項４】
前記スミアエッジ候補点検出手段は、
前記スミア候補検出領域内で前記ＣＣＤカメラの電荷転送方向と直交する方向の各座標位置において前記電荷転送方向のエッジ蓄積値を求めたときの当該エッジ蓄積値の極値と平均値とに基づいて、第１のしきい値を算出する第１のしきい値算出手段と、
第１のしきい値を超えるエッジ蓄積値の極値の座標およびエッジ蓄積値を検出してスミアエッジ候補点とする座標検出手段とを有し、
前記スミアエッジ検証手段は、
前記スミアエッジ候補点のエッジ蓄積値に対応するそれぞれの第２のしきい値を算出する第２のしきい値算出手段と、
前記スミアエッジ候補点に対するスミア検証領域におけるエッジ蓄積値が第２のしきい値よりも大きい場合に、その座標をスミアエッジ位置として検出するスミアエッジ位置検出手段とを有することを特徴とする請求項２記載の白線検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＣＤカメラを用いて白線を検出する白線検出装置に関し、特に、ＣＣＤカメラに生じるスミアエッジを白線として誤検出することなく白線位置を検出することができる白線検出装置に関する。
【０００２】
【従来の技術】
近年、車両の自動運転や運転補助のために、車載カメラから出力される画像を処理して白線の検出や前方車両の抽出等が行われている。このような画像処理においては、照明状態が安定していることが理想であるが、使用環境により必ずしも実現できない状況にある。
例えば、車載したＣＣＤカメラを用いて白線を検出する場合、太陽や対向車両のヘッドライトなどの光源自身や、その光の周囲の構造物や車両による反射により、撮像範囲内に強い光源が存在し、光源から白い筋が電荷転送方向に延びる、いわゆるスミア現象が生じる。
【０００３】
白線の検出においては、撮像画像でのスミアは白線と特徴が似ているため誤検出の可能性があり、車線逸脱警報やレーン保持アシスト機能をもつシステムでは問題となっていた。このため、白線とスミアを間違わずに検出することが切望されている。
そこで、従来の白線検出装置としては、特開平９−１９０５３７号公報に開示された技術が報告されている。この方法では、スミアがＣＣＤの電荷の飽和により生じ、白線より画素値が飽和レベルに近いことを利用しており、エッジが強く、かつ、画素値が所定のしきい値より小さいときにのみ白線と判断するようにしていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来の白線検出装置では、単に、画素値が所定のしきい値より小さいという条件判断としていたために、白線部分の画素値が飽和値に近い状況、例えば路面に塀や建物の影がある場面や、トンネルの出入り口などのように撮像範囲に影と日向が混在する輝度差の大きい場面では、白線をスミアと誤判断してこの白線を検出できないといった問題があった。
本発明は、上記に鑑みてなされたもので、その目的としては、ＣＣＤカメラに生じるスミアエッジを白線として誤検出することなく白線位置を検出することができる白線検出装置を提供することにある。
【０００５】
【課題を解決するための手段】
請求項１記載の発明は、上記課題を解決するため、路面を撮像するＣＣＤカメラから出力される画像により路面上の白線を検出する白線検出装置において、ＣＣＤカメラで撮像された画像からエッジ画像を生成するエッジ画像生成手段と、前回検出した白線位置に基づいて決定される領域であって、当該白線位置を含まない領域であるスミア候補検出領域と、前記スミア候補検出領域に接し、前記ＣＣＤカメラの電荷転送方向とは逆方向に平行移動した領域であるスミア検証領域とのエッジ画像からスミアのエッジ位置を検出するスミアエッジ検出手段と、生成されたエッジ画像からスミアのエッジ位置に対応するスミアエッジを除去するスミアエッジ除去手段と、スミアエッジが除去されたエッジ画像から白線位置を検出する白線検出手段とを有することを要旨とする。
【０００６】
請求項２記載の発明は、上記課題を解決するため、前記スミアエッジ検出手段は、前記スミア候補検出領域においてスミアエッジ候補点を検出するスミアエッジ候補点検出手段と、前記スミア検証領域において、前記検出されたスミアエッジ候補点の座標に基づいて、スミア検証領域内のスミアエッジ点となる位置を検証するスミアエッジ検証手段とを有することを要旨とする。
【０００７】
請求項３記載の発明は、上記課題を解決するため、前記スミアエッジ除去手段は、前記スミアエッジ検出手段により検出されたスミアのエッジ位置が白線検出時の探索領域に含まれるとき、探索領域内部のスミアエッジを除去することを要旨とする。
【０００８】
請求項４記載の発明は、上記課題を解決するため、前記スミアエッジ候補点検出手段は、前記スミア候補検出領域内で前記ＣＣＤカメラの電荷転送方向と直交する方向の各座標位置において前記電荷転送方向のエッジ蓄積値を求めたときの当該エッジ蓄積値の極値と平均値とに基づいて、第１のしきい値を算出する第１のしきい値算出手段と、第１のしきい値を超えるエッジ蓄積値の極値の座標およびエッジ蓄積値を検出してスミアエッジ候補点とする座標検出手段とを有し、前記スミアエッジ検証手段は、前記スミアエッジ候補点のエッジ蓄積値に対応するそれぞれの第２のしきい値を算出する第２のしきい値算出手段と、前記スミアエッジ候補点に対するスミア検証領域におけるエッジ蓄積値が第２のしきい値よりも大きい場合に、その座標をスミアエッジ位置として検出するスミアエッジ位置検出手段とを有することを要旨とする。
【０００９】
【発明の効果】
請求項１記載の本発明によれば、ＣＣＤカメラで撮像された画像からエッジ画像を生成し、前回検出した白線位置に基づいて決定される領域であって、当該白線位置を含まない領域であるスミア候補検出領域と、このスミア候補検出領域に接し、ＣＣＤカメラの電荷転送方向とは逆方向に平行移動した領域であるスミア検証領域とのエッジ画像からスミアのエッジ位置を検出し、さらに、生成されたエッジ画像からスミアのエッジ位置に対応するスミアエッジを除去し、スミアエッジが除去されたエッジ画像から白線位置を検出するので、スミアエッジを白線として誤検出することなく白線位置を検出することができ、白線位置の検出精度の向上に寄与することができる。
【００１０】
請求項２記載の本発明によれば、スミア候補検出領域においてスミアエッジ候補点を検出し、スミア検証領域において、検出されたスミアエッジ候補点の座標に基づいて、スミア検証領域内のスミアエッジ点となる位置を検証することで、スミアエッジの検出精度を向上するようにでき、この結果、スミアエッジを白線として誤検出することなく白線位置を検出することができる。
【００１１】
請求項３記載の本発明によれば、スミアのエッジ位置が白線検出時の探索領域に含まれるとき、探索領域内部のスミアエッジを除去することで、スミアエッジの除去に係る処理時間を低減することができる。
【００１２】
請求項４記載の本発明によれば、スミア候補検出領域内でＣＣＤカメラの電荷転送方向と直交する方向の各座標位置において電荷転送方向のエッジ蓄積値を求めたときの当該エッジ蓄積値の極値と平均値とに基づいて、第１のしきい値を算出し、第１のしきい値を超えるエッジ蓄積値の極値の座標およびエッジ蓄積値を検出してスミアエッジ候補点としておき、さらに、スミアエッジ候補点のエッジ蓄積値に対応するそれぞれの第２のしきい値を算出し、スミアエッジ候補点に対するスミア検証領域におけるエッジ蓄積値が第２のしきい値よりも大きい場合に、その座標をスミアエッジ位置として検出することで、スミアエッジの検出精度を向上するようにでき、この結果、スミアエッジを白線として誤検出することなく白線位置を検出することができる。
【００１３】
【発明の実施の形態】
図１は、本発明の一実施の形態に係る白線検出装置１１のブロック構成を示す図である。
ＣＣＤカメラ１３は、車両の進行方向の画像を撮像可能な車室内の部位に取り付けられており、ＣＣＤカメラ１３で撮像された画像はエッジ画像生成部１５に出力される。ＣＣＤカメラ１３で撮像された画像は、図２に示すように、画像の座標系を左上の角を原点として下向きをＹ軸の正方向、右向きをＸ軸の正方向とする。ＣＣＤカメラ１３での電荷転送方向は、画像上ではＹ軸の正方向とする。太陽などの強い光源がある場合、図２に示すように、道路の画像に光源（太陽）からＣＣＤカメラ１３の電荷転送方向（Ｙ軸の正方向）に白い線が重なった、いわゆるスミアが発生した画像となる。
【００１４】
制御部１５は、制御プログラムに従って装置全体を制御するＣＰＵと、制御プログラムを記憶するＲＯＭと、制御データを記憶するＲＡＭとを有しており、制御プログラムに従って、エッジ画像生成処理、スミアエッジ検出処理、スミアエッジ除去処理、白線検出処理などをソフトウエア・モジュールが実行する。なお、このような実行内容は、ハードウエアによって実現してもよい。
【００１５】
以下、制御部１５に設けられた各部の処理内容を説明する。
エッジ画像生成部１７は、ＣＣＤカメラ１３から画像を入力し、入力画像から縦方向および横方向のエッジを例えば周知のｓｏｂｅｌフィルタなどのエッジ検出処理を行って検出する。
【００１６】
スミアエッジ検出部１９は、前回の白線検出した位置に基づいて決定される領域において、エッジ画像から高輝度光源により生じるスミアのエッジを検出する。
スミアエッジ除去部２１は、エッジ画像生成部１７で生成されたエッジ画像からスミアエッジ検出部１９で検出されたスミアのエッジ位置に対応するスミアエッジを除去する。
【００１７】
白線検出部２３は、現在の白線エッジ位置と、３次元道路モデルからカメラ姿勢パラメータを用いて２次元座標変換したものを比較して変位量を求め、変化量に基づいて道路モデルを更新していく方法により、白線位置および撮像装置の姿勢を推定する。
【００１８】
図３に示すフローチャートを参照して、白線検出装置の動作について説明する。
まず、ステップＳ１０では、エッジ画像生成部１５は、ＣＣＤカメラ１３から画像を入力し、入力画像から縦方向および横方向のエッジを検出する。この結果、スミアは、図２に示すようにエッジ画像の中で縦方向に生じる。ステップＳ２０は、スミア検出のための領域座標の計算として、スミア候補検出領域３５とスミア検証領域３４の２つの領域に関する座標計算を行う。
【００１９】
ここで、図４を参照して、白線検出処理の位置について説明しておく。
白線検出処理は、図４に示すように、矩形の白線探索領域４０で行われ、白線位置は各探索領域の上下Ｙ座標値でのＸ座標値として表される。ｋ番目の白線探索領域４０の下辺のＹ座標をＳＹk とし、検出白線位置を左側（ＳＬＸk ，ＳＹk ）、右側（ＳＲＸk ，ＳＹk ）とする。白線探索領域４０は、左右ｎ個ずつあり、左右の各探索領域のＹ座標は同じとする。検出白線位置の最下点は、左側ＳＬn （ＳＬＸn ，ＳＹn ）、右側ＳＲn （ＳＲＸn ，ＳＹn ）とする。なお、実空間では、検出白線位置３３の最下点は、例えば車両前方約１０ｍであり、撮像画面の下辺は約６ｍ前方となる。
【００２０】
スミア候補検出領域３５は、図２に示すように、前回の白線検出処理で検出された白線位置の最下点を表す２点ＳＬn （ＳＬＸn ，ＳＹn ）、ＳＲn （ＳＲＸn ，ＳＹn ）にＸ方向オフセットを付けた２点ＰＬＨ（ＬＸn ＋Ｘoff ，ＳＹn ）、ＰＲＨ（ＲＸn −Ｘoff ，ＳＹn ）とその点からＹ軸正方向にＤＹだけ移動した２点ＰＬＬ（ＬＸn ＋Ｘoff ，ＳＹn ＋ＤＹ）、ＰＲＬ（ＲＸn ＋Ｘoff ，ＳＹn ＋ＤＹ）の計４点を頂点に持つ矩形領域とする。
【００２１】
Ｘoff は、スミア候補検出領域３５に白線が含まれないように設けており、例えば１０画素程度である。ＤＹは、検出した白線位置から画面下辺までの長さで、例えば２０画素である。
スミア検証領域３４は、前記２点ＰＬＨ（ＬＸn ＋Ｘoff ，ＳＹn ）、ＰＲＨ（ＲＸn −ｘoff ，ＳＹn ）と、そこからＹ軸負方向にＤＹだけ移動した２点ＰＬＭ（ＬＸn ＋Ｘoff ，ＳＹn −ＤＹ）、ＰＲＭ（ＲＸn ＋Ｘoff ，ＳＹn−ＤＹ）を頂点にもつ矩形領域とする。
【００２２】
上記２つの領域は、路面上の車両直前の両側白線の内側となり、周囲構造物や前方車両が撮像されにくい領域であり、検出におけるノイズ混入の少ない領域である。特に、スミア候補検出領域３５は白線を含まないので、白線をスミアとして誤検出することがない。
【００２３】
図３に戻り、ステップＳ３０〜Ｓ１１０においてスミア候補検出処理を実行する。
ステップＳ３０では、縦エッジ画像において、前記矩形の領域内で、各Ｘ座標においてＹ方向の蓄積値をとる。この蓄積値は、図５（ａ）に示すように、スミアや路面表示など縦のエッジを持つ部分で大きな極値をとる。
【００２４】
ステップＳ４０では、蓄積値での正側の最大値と負側の最小値、正側および負側の平均値を求める。縦エッジ画像においては、原画像での高画素値領域の左側エッジが正、右側エッジが負の値を持つので、蓄積値においても正負の値をとる。この正側の値について強度の最大値Ｖpmaxと平均値Ａp を求める。そして、この負側の値について強度の最小値Ｖmminと平均値Ａm を求める。
【００２５】
ステップＳ５０の判断処理では、正側の強度の最大値Ｖpmaxが平均値Ａp の一定倍率γ以上である場合、または、負側の強度の最小値Ｖmminが平均値Ａm の一定倍率γ以下である場合に、スミアが起こっていると判断する。例えばγ＝２０としている。それ以外では、スミアが起こっていないと判断して、ステップＳ１２０に進み、白線検出処理へ移行する。
【００２６】
スミアが起こっている場合、ステップＳ６０では、ステップＳ４０で求めた正側と負側のそれぞれの強度の最大値Ｖpmax，最小値Ｖmminと平均値Ａp ，Ａm に基づいて、正側負側のそれぞれのしきい値ＴＡ１、ＴＡ２を以下の（１），（２）式により求める。
【００２７】
【数１】
ＴＡ１＝α＊（Ｖpmax＋Ａp ）                          …（１）
ＴＡ２＝α＊（Ｖmmin＋Ａm ）                          …（２）
なお、αは、路面の凹凸エッジなどによる平均値とスミアエッジのような極値を分離する値で、しきい値ＴＡ１，ＴＡ２が路面エッジ強度とスミアエッジ強度の間に入るように決定する。例えばα＝０．５としている。
【００２８】
ステップＳ７０では、スミア候補検出領域３５において、しきい値ＴＡ１以上の正側の極値の座標値と蓄積値、しきい値ＴＡ２以下の負側の極値の座標値と蓄積値を、Ｘ座標値ＡＸi と蓄積値ＡＶi として求める。図５（ａ）では、スミアエッジ候補点となる極値のＸ座標ＡＸ１〜ＡＸ３とその蓄積値ＡＶ１〜ＡＶ３が検出される。
【００２９】
ステップＳ８０では、スミアエッジ候補点毎に個々の蓄積値ＡＶi にそれぞれ対応するしきい値ＴＢi を、
【数２】
ＴＢi ＝β＊ＡＶi                                       …（３）
（３）式により算出する。なお、βはスミアエッジ強度のスミア候補検出領域３５での蓄積値とスミア検証領域３４での蓄積値の比の統計値に基づいて求まるもので、例えばβ＝０．５としている。
【００３０】
ステップＳ９０では、前記スミアエッジ候補点のＸ座標ＡＸi について、前記ステップＳ２０で求めたスミア検証領域３４内で、ステップＳ３０と同様にＹ方向の蓄積値ＢＶi を求める。
【００３１】
ステップＳ１００では、ステップＳ８０で求めたしきい値ＴＢi とステップＳ９０で求めたスミア検証領域３４内で求めたＹ方向の蓄積値ＢＶi を同じＸ座標毎に比較し、蓄積値ＢＶi がしきい値ＴＢi 以上の場合に、そのＸ座標ＡＸi をスミアエッジ座標として検出する。図５（ｂ）では、しきい値ＴＢ１，ＴＢ２以上の蓄積値をもつＡＸ１，ＡＸ２がスミアエッジ座標として検出される。
【００３２】
以下、このようなスミア検出処理方法の長所を説明する。
第１に、白線検出に影響を与えるスミアの場合は、スミア候補検出領域３５およびスミア検証領域３４の両方において垂直エッジが生じているが、路面表示の場合、両方のエリアに連続して存在するような長い、撮像画像上垂直の直線表示はないので、路面表示を誤検出する可能性が低減できる。
【００３３】
第２に、蓄積値の平均値と最大値の間にしきい値を設定することで、相対的にエッジ強度の強い部分を検出するので、道路表面の大小の凹凸などによるエッジの影響が低減できる。
第３に、検証時のしきい値をスミア候補検出領域３５の同座標での蓄積値から算出しているので、両方の領域で一様に生じているスミアを選択性よく検出できる。
第４に、スミア検証領域３４では、候補についてのみ蓄積値をとるので、処理時間が少なくてすむことである。
【００３４】
図３に戻り、ステップＳ１１０では、以上のようにして検出されたスミアエッジ座標が、白線検出での白線探索領域４０内にある場合、白線検出に用いる前記縦横のエッジ画像において、白線探索領域４０のスミアエッジに相当する部分をクリアする。図４において、先端からｋ番目の白線探索領域４０を表す矩形領域のＹ座標をＳＹk-1 ，ＳＹk とすると、（ＡＸi −ＤＸ，ＳＹk-1 ），（ＡＸi ＋ＤＸ，ＳＹk ）を対角頂点とする矩形領域に値“０”を書き込む。なお、ＤＸは強度の強いスミアエッジの存在する部分をクリアするように決め、例えばＤＸ＝１としている。白線探索領域４０内のみクリアすることで、処理時間が短縮できる。
【００３５】
ステップＳ１２０では、縦横エッジ画像から白線検出を行う。この方法としては、特開平９−１９０５３７号公報に開示された技術を用いる。すなわち、現在の白線エッジ位置と、３次元道路モデルからカメラ姿勢パラメータを用いて２次元座標変換したものを比較して変位量を求め、この変化量に基づいて道路モデルを更新していくことにより、白線位置および撮像装置の姿勢を推定する。
【００３６】
前記ステップＳ１１０の処理により、スミアエッジが除去されているので、スミアエッジを誤検出することなく、ＣＣＤカメラ１３で撮像された画像から白線を検出できる。また、この方法では、道路モデルを使用しているため白線探索領域４０全てについて白線エッジ位置が求まらなくても安定に推定することができるので、スミアエッジ部分が白線エッジと一部重なって、クリアされても白線位置を安定に推定することができる。
以上のように、ステップＳ１０〜Ｓ１２０の一連の処理を繰り返し行うことで、ＣＣＤカメラ１３で撮像されスミアの生じている画像についても、スミアの影響を低減して、道路白線を信頼性高く検出することができる。
【００３７】
このように、ＣＣＤカメラで撮像された画像からエッジ画像を生成し、前回検出した白線位置に基づいて決定される領域のエッジ画像からスミアのエッジ位置を検出し、さらに、生成されたエッジ画像からスミアのエッジ位置に対応するスミアエッジを除去し、スミアエッジが除去されたエッジ画像から白線位置を検出するので、スミアエッジを白線として誤検出することなく白線位置を検出することができ、白線位置の検出精度の向上に寄与することができる。
【００３８】
また、検出した白線位置を含まない領域に検出領域を設定してスミアエッジ候補点を検出し、このスミアエッジ候補点の検出領域に接し、ＣＣＤカメラの電荷転送方向とは逆方向に平行移動した検証領域において、検出されたスミアエッジ候補点の座標に基づいて、検証領域内のスミアエッジ点となる位置を検証することで、スミアエッジの検出精度を向上するようにでき、この結果、スミアエッジを白線として誤検出することなく白線位置を検出することができる。
【００３９】
さらに、スミアのエッジ位置が白線検出時の探索領域に含まれるとき、探索領域内部のスミアエッジを除去することで、スミアエッジの除去に係る処理時間を低減することができる。
また、スミアエッジ候補点の検出領域内のＣＣＤカメラの電荷転送方向のエッジ蓄積値に関する極値と平均値に基づいて、第１のしきい値を算出し、第１のしきい値を超えるエッジ蓄積値の極値の座標およびエッジ蓄積値を検出してスミアエッジ候補点としておき、さらに、スミアエッジ候補点のエッジ蓄積値に対応するそれぞれの第２のしきい値を算出し、スミアエッジ候補点に対する検証領域におけるエッジ蓄積値が第２のしきい値よりも大きい場合に、その座標をスミアエッジ位置として検出することで、スミアエッジの検出精度を向上するようにでき、この結果、スミアエッジを白線として誤検出することなく白線位置を検出することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る白線検出装置１１のブロック構成を示す図である。
【図２】撮像画像において処理領域を説明するための図である。
【図３】白線検出装置の動作について説明するためのフローチャートである。
【図４】スミアエッジの除去を説明するための図である。
【図５】エッジ蓄積値での検出を説明するための図である。
【符号の説明】
１３  ＣＣＤカメラ
１５  制御部
１７  エッジ画像生成部
１９  スミアエッジ検出部
２１  スミア除去部
２３  白線検出部
３０  太陽などの高輝度
３１  前方車両
３２  白線
３３  検出白線位置
３４  スミア検証領域
３５  スミア候補検出領域
３６  スミア
３７  路面表示
４０  白線探索領域
４１  クリア部分
【図１】
0003651387.tif 000002
【図２】
0003651387.tif 000003
【図３】
0003651387.tif 000004
【図４】
0003651387.tif 000005
【図５】
0003651387.tif 000006