白線検出装置
【課題】本発明は、白線のエッジ抽出の際の閾値の決定手段(適応制御的なもの)を不要とし、処理を簡素化して、白線両端に生じるエッジのうちの右側を信頼性高く抽出する手法を提供することを目的としている。
【解決手段】このため、走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段と、差分算出手段の差分が予め設定された閾値以上か否かを判定する閾値判定手段と、閾値判定手段で差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、閾値判定手段で差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段とを備え、白線幅判定手段で第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとする。
【解決手段】このため、走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段と、差分算出手段の差分が予め設定された閾値以上か否かを判定する閾値判定手段と、閾値判定手段で差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、閾値判定手段で差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段とを備え、白線幅判定手段で第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとする。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は白線検出装置に係り、特に駐車枠の白線のエッジ抽出処理を簡素化する一方、信頼性を高くする白線検出装置に関するものである。
【背景技術】
【0002】
画像中の白線を検出するために、画像中のエッジを検出する際に、通常は、Sobel、ラプラシアンなどの二次元オペレータを用いた後、閾値を用いた2値化を行う。
特に、駐車枠に自車を止めるために、駐車スペースの白線を検出する場合は、画像中縦方向に現れるエッジを検出する必要がある。
また、駐車枠に引かれる白線は幅が広いためそのエッジは両側に現れる。
エッジ画像より白線検出を行う際、それらは異なる2本の直線として認識されるため、処理点数が増え、多くのリソースを必要としてしまうという不都合がある。
そこで、白線1本につきエッジも1本となるようなエッジ検出手法が望ましい。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開昭64−15605号公報
【特許文献2】特開昭64−61606号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来の白線検出装置において、特許文献1に開示されるものは、微分を用いてエッジを検出した後、パーセンタイル法を用いて、2値化後に1となっている画素数が、全画素数のn%となるように閾値を決定し、2値化している。
このため、閾値を変更しながら、所望の閾値を決定する必要があること、環境によって、石畳などテクスチャが複雑な背景となった場合、2値化により1となる画素が想定以上に生じると、正しく閾値が求まらない機能性がある。
また、エッジの検出方法も、カメラが45度、135度固定であり、カメラの取付角度によっては、必ずしも当てはまらない場合がある。
上記の特許文献2に開示されるものは、微分結果より空間的な稜線を求めることにより、エッジの検出を行っているが、微分データの増減を探索する必要があり、また微小な増減に対応するためには、複数の稜線候補点からさらに絞り込む必要があるなど、処理が煩雑である。
また、白線両端のエッジについては、「黒」→「白」方向のもののみを検出対象としているため、白線の汚れなどにより複数のエッジが検出されてしまう可能性がある。
そして、複数のエッジが検出されると、後段にて白線検出を行う際(例えば、Hough変換)、候補点が増加するため、より多くのメモリを必要とするなどの不都合がある。
【0005】
この発明は、白線のエッジ抽出の際の閾値の決定手段(適応制御的なもの)を不要とし、処理を簡素化して、白線両端に生じるエッジのうちの右側を信頼性高く抽出する手法を提供することを目的としている。
【課題を解決するための手段】
【0006】
そこで、この発明は、上述不都合を除去するために、走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段と、この差分算出手段により算出された差分が予め設定された閾値以上か否かを判定する閾値判定手段と、この閾値判定手段により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、前記閾値判定手段により差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段とを備え、この白線幅判定手段により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとすることを特徴とする。
【発明の効果】
【0007】
以上詳細に説明した如くこの発明によれば、走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段と、差分算出手段により算出された差分が予め設定された閾値以上か否かを判定する閾値判定手段と、閾値判定手段により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、閾値判定手段により差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段とを備え、白線幅判定手段により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとする。
従来技術では、白線両端微分値強調フィルタを用いるので、画像をメモリに一度記憶する必要がある。従って、その分のリソースが必要となる。また、白線両端微分値強調フィルタを用いると、閾値が変動するので、画像の各位置に応じて閾値を適応制御する必要がある。そのためには判別分析法等の処理をする必要があるが、これらの処理は非常に重く、また並行処理をする場合でも膨大なリソースが必要になる。
この発明では、背景光の影響を受け難いため、閾値を一定とすることができる。このため、少ないリソースで済み、また処理を容易にすることができる。従って、FPGA等の汎用性の高いデバイスを用いても、リアルタイムに処理が可能となる。
また、白線幅判定をすることにより、検出対象である白線以外等で生じたエッジの影響を受け難くすることができる。そして、ノイズを排除することができる。
更に、1本の白線から2本のエッジを検出すると、エッジ画像から白線検出を行う際に、処理点数が増え、多くのリソースを必要とする。この発明では、1本の白線から1本のエッジを検出するので、少ないリソースで済み、また処理を容易にすることができる。
【図面の簡単な説明】
【0008】
【図1】図1は白線検出装置の制御用フローチャートである。(実施例1)
【図2】図2は白線検出装置のシステム図である。(実施例1)
【図3】図3は白線両端微分値強調フィルタのオペレータを示す概略説明図である。(実施例1)
【図4】図4は微分と道路の白線とを示す図である。(実施例1)
【図5】図5は白線両端微分値強調フィルタ演算値を示す図である。(実施例1)
【図6】図6は画像を示し、(a)は処理前の画像を示す図、(b)は閾値を「1」としたときのエッジ検出結果の画像を示す図、(c)は閾値を「10」としたときのエッジ検出結果の画像を示す図、(d)は閾値を「20」としたときのエッジ検出結果の画像を示す図である。(実施例1)
【図7】図7は閾値を「10」とした際の壁(320、240)の明るさ「180」の設定1における明るさの変化の影響を示し、(a)は処理前の画像を示す図、(b)はエッジ検出結果の画像を示す図である。(実施例1)
【図8】図8は閾値を「10」とした際の壁(320、240)の明るさ「62」の設定2における明るさの変化の影響を示し、(a)は処理前の画像を示す図、(b)はエッジ検出結果の画像を示す図である。(実施例1)
【図9】図9は閾値を「10」とした際の壁(320、240)の明るさ「32」の設定3における明るさの変化の影響を示し、(a)は処理前の画像を示す図、(b)はエッジ検出結果の画像を示す図である。(実施例1)
【図10】図10は 図9の設定3において閾値を「5」に設定した際のエッジ検出結果の画像を示す図である。(実施例1)
【図11】図11は白線両端微分値強調フィルタと同じ幅としたオペレータを示す概略説明図である。(実施例1)
【図12】図12は線幅を7〜11画素(天井のレール幅)として処理した白線の判別処理結果を示す図である。(実施例1)
【図13】図13は図12にエッジの向きの確認処理を追加した状態を示す図である。(実施例1)
【図14】図14は実際の駐車枠に対する画像を示し、(a)は処理前の画像を示す図、(b)は閾値を「1」としたときのエッジ検出結果の画像を示す図、(c)は閾値を「10」としたときのエッジ検出結果の画像を示す図、(d)は閾値を「20」としたときのエッジ検出結果の画像を示す図である。(実施例1)
【図15】図15は線幅を9〜28画素(駐車枠の幅)として処理した白線の判別処理結果を示す図である。(実施例1)
【図16】図16は図15にエッジの向きの確認処理を追加した状態を示す図である。(実施例1)
【発明を実施するための形態】
【0009】
以下図面に基づいてこの発明の実施例を詳細に説明する。
【実施例】
【0010】
図1〜図16はこの発明の実施例を示すものである。
図2において、1は白線検出装置である。
この白線検出装置1は、走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段2と、この差分算出手段2により算出された差分が予め設定された閾値以上か否かを判定する閾値判定手段3と、この閾値判定手段3により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、前記閾値判定手段3により差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段4とを備え、この白線幅判定手段4により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとする。
詳述すれば、前記白線検出装置1は、図2に示す如く、入力側にビデオ入力部(「デコーダ」ともいう。)5によりカメラ6に接続されるとともに、出力側にはビデオ出力部(「エンコーダ」ともいう。)7が接続されている。
また、前記白線検出装置1は、前記ビデオ入力部(「デコーダ」ともいう。)5に接続する前記差分算出手段2と、前記ビデオ入力部(「デコーダ」ともいう。)5からの入力画像に対して1画素遅延を行った後に差分算出手段2に入力させる1画素遅延手段8と、前記差分算出手段2に接続して閾値処理を行う前記閾値判定手段3と、この閾値判定手段3及び前記差分算出手段2に接続してエッジ方向判別のための符号判定を行うエッジ方向判定手段9と、このエッジ方向判定手段9に接続して白線幅判定処理を行う前記白線幅判定手段4と、この白線幅判定手段4に接続する白線間隔判定手段10と、この白線間隔判定手段10に接続するとともに、前記ビデオ出力部7に接続するエッジ画像生成手段11とを備えている。
そして、前記白線検出装置1は、前記白線幅判定手段4により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとするものである。
【0011】
追記すれば、前記カメラ6から前記ビデオ入力部(「デコーダ」ともいう。)5を介して、前記白線検出装置1に入力される入力画像は、ラスタスキャンにより「上から下」、「左から右」の順に各画素のデータ(輝度、色)が入力される。
このとき、この発明においては、入力画像の輝度の情報を用いる。
前記白線検出装置1に入力された画素の輝度情報に対して、前記差分算出手段2は、前記1画素遅延手段8によって1つ前(「左」とも換言できる。)の輝度情報と差分を行う。
つまり、前記1画素遅延手段8は、次の輝度情報と差分をとるために、現在の輝度情報を保存する。
前記差分算出手段2からの差分結果(「絶対値」)を前記閾値判定手段3によって閾値処理し、エッジ位置候補点を抽出する。
また、前記エッジ方向判定手段9によってエッジ方向判別のための符号判定が行われると、この差分結果の符号により、エッジの方向、「白→黒」または「黒→白」を判定する。
前記白線幅判定手段4によって白線幅判定処理が行われた際に、エッジの方向が「黒→白」の場合(「黒→白エッジ」とも記載する。)は、図示しないシフトレジスタに記録する。
また、エッジの方向が「白→黒」の場合(「白→黒エッジ」とも記載する。)は、シフトレジスタを参照する。
そして、白線幅(±誤差範囲あり。)の位置に「黒→白」のエッジ検出の履歴が存在すれば、アスファルト上に引かれた幅を持つ白い線と判定する(この実施例では、9〜28画素)。
前記白線間隔判定手段10は、駐車枠の左右に位置する白線の間隔を判定するものであるが、この間隔は車幅以上の間隔があるため、前記白線幅判定手段4によって白線のエッジ(右側)と判定された時点から白線の間隔(奥に向かうに連れて狭くなるため、この実施例では40画素としている。)分が経過するまで、次の白線の判定は行わない。
なお、前記白線幅判定手段4によって白線が検出されても削除する。
そして、前記白線間隔判定手段10の処理の後に、前記エッジ画像生成手段11は、白線のエッジとして抽出された画素を用いてエッジ画像を生成する。
生成されたエッジ画像は、Hough変換など白線検出などに利用できる。
【0012】
この発明に対して、従来技術では、白線両端微分値強調フィルタを用いるので、画像をメモリに一度記憶する必要がある。従って、その分のリソースが必要となる。また、白線両端微分値強調フィルタを用いると、閾値が変動するので、画像の各位置に応じて閾値を適応制御する必要がある。そのためには判別分析法等の処理をする必要があるが、これらの処理は非常に重く、また並行処理をする場合でも膨大なリソースが必要になる。
この発明では、背景光の影響を受け難いため、閾値を一定とすることができる。このため、少ないリソースで済み、また処理を容易にすることができる。従って、FPGA等の汎用性の高いデバイスを用いても、リアルタイムに処理が可能となる。
また、白線幅判定をすることにより、検出対象である白線以外等で生じたエッジの影響を受け難くすることができる。そして、ノイズを排除することができる。
更に、1本の白線から2本のエッジを検出すると、エッジ画像から白線検出を行う際に、処理点数が増え、多くのリソースを必要とする。この発明では、1本の白線から1本のエッジを検出するので、少ないリソースで済み、また処理を容易にすることができる。
【0013】
また、前記白線検出装置1は、前記差分算出手段2により算出された差分の符号からエッジ方向を判定する前記エッジ方向判定手段9を備え、このエッジ方向判定手段9により第1の画素のエッジ方向と第2の画素のエッジ方向とを判定し、第1の画素のエッジ方向と第2の画素のエッジ方向とが逆向きの場合に、第1の画素あるいは第2の画素を白線のエッジとする。
従って、前記エッジ方向判定手段9によってエッジ方向判定をすることにより、影等により生じたエッジの影響を受け難くすることができる。また、ノイズ等の不要な点をさらに排除することができる。
【0014】
更に、前記白線検出装置1は、第1の白線のエッジと、第1の白線とは異なる第2の白線のエッジとを検出し、第1の白線のエッジと第2の白線のエッジとの間に予め設定された画素数が存在する場合に駐車枠の左右の白線とする。
従って、駐車枠の左右の白線を精度よく検出することができる。
【0015】
ここで、前記白線検出装置1に関して追加説明致します。
まず、従来手法の処理例として白線両端微分値強調フィルタを用いた方策を説明します。
従来手法においては、画像の微分を求め、白線両端微分値強調フィルタを用いて道路の白線幅と同じ幅を持つ白線の抽出を行っている。
そして、微分は差分で置き換え可能であるので、差分オペレータ「−1」「1」を用いて差分画像を得る。
前記白線両端微分値強調フィルタは、道路白線幅(画素数)と同じ幅を持つオペレータで、図3に示す如く、オペレータの中央で符号が「+(プラス)」から「−(マイナス)」へ反転する。
以上の処理により、図4及び図5に示すような結果が得られ、適切な閾値を選択することにより、道路上の白線と同じ幅を持つ特徴のみを抽出することができる。
なお、閾値の選択には、判別分析法などを用いる。
【0016】
従来技術で用いられている微分(差分)処理については、同様に走査線方向(「画面横方向」ともいう。)での差分処理とする。
しかし、前記白線両端微分値強調フィルタを用いるためには、画像(「走査線」)を一度メモリに記録する必要があるため、その分のリソースが必要となる。
また、前記白線両端微分値強調フィルタを用いると、図4及び図5に示す如く、閾値レベルが変動するため、画像の各位置に応じて閾値を適応制御する必要がある。
そのためには判別分析法などの処理が必要となるが、これらの処理は、非常に重く、また並列処理する場合も膨大なリソースが必要となる。
そこで、「差分画像は、すぐ隣の画素との差分であり、隣接画素と当該画素の明るさ(証明条件)が大きく異なることは稀である」(例外:影によるエッジ)こと、また一般に駐車枠に引かれた白線などは、運転者が識別し易いように、路面とコントラストがはっきりしていると考えられるため、閾値は一定値とすることとした。
図6において、(a)には処理前の画像を示し、(b)には閾値を「1」としたときのエッジ検出結果の画像を示し、(c)には閾値を「10」としたときのエッジ検出結果の画像を示し、(d)には閾値を「20」としたときのエッジ検出結果の画像を示す。
なお、図6においては、エッジの極性による区別なく、「白→黒」や「黒→白」の全てを表示している。
そして、閾値「1」では、図6(b)に示す如く、細かなテクスチャによるエッジによる影響が見られる。
しかし、閾値「10」及び閾値「20」では、図6(c)及び(d)に示す如く、良好な結果が得られている。
ここで、輝度変化による影響を確認するために、閾値「10」にてレンズの絞りを変化させたときの結果を、図7〜図9に開示する。
つまり、図7は閾値を「10」とした際の壁(320、240)の明るさ「180」の設定1における明るさの変化の影響を示し、(a)は処理前の画像を示し、(b)はエッジ検出結果の画像を示している。
また、図8は閾値を「10」とした際の壁(320、240)の明るさ「62」の設定2における明るさの変化の影響を示し、(a)は処理前の画像を示し、(b)はエッジ検出結果の画像を示している。
更に、図9は閾値を「10」とした際の壁(320、240)の明るさ「32」の設定3における明るさの変化の影響を示し、(a)は処理前の画像を示し、(b)はエッジ検出結果の画像を示している。
この図7〜図9から、ダイナミックレンジの1/4程度の暗さまでは対応可能であることがわかる。
なお、上述の図9に開示される設定3の場合、画像奥の壁に近づくに連れて、エッジの検出ができなくなっているが、仮に閾値を「5」まで下げた場合は、図10に示す如く、エッジの検出は可能であるが、ノイズによる影響が大きくなってしまう。
このことより、この手法の閾値決定に判別分析法を用いても効果が少ないことが、確認できる。
【0017】
次に、前記白線両端微分値強調フィルタの代用として、エッジ位置の確認による線幅判別処理を使用する。
この線幅判別処理は、白線両端微分値強調フィルタと同じ幅のオペレータとし、白線のエッジ検出位置から対象とする線幅分戻った画素位置にエッジが存在するか否かを確認し、存在する場合に白線の右側であると判断する処理である。
具体的には、図11のように表すことができる。
この図11の線幅判別処理をFPGAなどで実現するためには、白線の幅と幅のばらつき分とを考慮した画素数分の段数を持つ、シフトレジスタを構成し、図11中の「−1」である画素位置にエッジ情報が含まれているか否かを確認する構成とすれば良い。
線幅については、実際に使用する環境に合わせて調整を行う。
機能の確認のために、線幅を、7〜11画素(天井のレール幅)として処理した結果を、図12に開示する。
この図12においては、2本のエッジが1本となり、また対象線分以外のノイズが削除されていることがわかる。
もともとの前記白線両端微分値強調フィルタでは、エッジの向き「白→黒」や「黒→白」に関する情報が処理に含まれている。
一方、エッジの情報を含まない図12の手法では、ノイズなどにより結果が異なる可能性が大きい。
そこで、FPGAを用いた差分処理においても結果の極性確認は可能であることを利用し、エッジの向きの確認処理を追加した(図13参照。)。
その結果、ノイズなどの不要な点をさらに削減することができた。
【0018】
上述した方策を実際の駐車枠に対して適用してみると、図14において、(a)は処理前の画像を示し、(b)は閾値を「1」としたときのエッジ検出結果の画像を示し、(c)は閾値を「10」としたときのエッジ検出結果の画像を示し、(d)は閾値を「20」としたときのエッジ検出結果の画像を示す。
また、図15には、線幅を9〜28画素(駐車枠の幅)として処理した白線の判別処理結果を示す。
更に、図16には、図15にエッジの向きの確認処理を追加した状態を示す。
そして、図16に開示する処理では、駐車枠の白線は車幅以上の距離が離れていることから、一度白線のエッジが検出された場合、一定間隔(この例では40画素)経過しない限り、白線のエッジとみなされない判定処理も行っている。
【0019】
よって、前記白線検出装置1のポイントとなる点を以下にまとめてみる。
(1)エッジ検出は、左隣の画素値(輝度)との差分処理とする。
(2)隣接画素との差分処理とすることで、閾値は固定とする。
(3)検出したエッジ画像より、白線幅での判別処理によりノイズ除去を行う。
(4)白線幅判別処理では、エッジの方向(「白→黒」、「黒→白」)の情報も用いる。
(5)左右の白線間の間隔を用いて判定し、ノイズの除去を行う。
(6)差分処理、固定閾値、線幅判定処理の簡易化により、FPGAなどでリアルタイムに処理可能。
【0020】
次に、図1の前記白線検出装置1の制御用フローチャートに沿って作用を説明する。
【0021】
この白線検出装置1の制御用プログラムがスタート(101)すると、前記ビデオ入力部(「デコーダ」ともいう。)5を介して、前記カメラ6からの画像データを入力する処理(102)に移行する。
そして、この処理(102)においては、前記カメラ6からの画像データをそのまま前記差分算出手段2に入力してこの差分算出手段2による処理(103)に移行する一方、前記1画素遅延手段8によって前記ビデオ入力部(「デコーダ」ともいう。)4からの入力画像に対して1画素遅延処理(104)を行い、この後に差分算出手段2に入力させてこの差分算出手段2による処理(103)に移行する。
この処理(103)は、前記差分算出手段2によって走査線方向に隣り合う2つの画素の輝度の差分(絶対値)を算出する処理である。
そして、この差分算出手段2による処理(103)の後には、差分(絶対値)が閾値以上か否かの判断(105)に移行する。
この判断(105)は、前記閾値判定手段3によって差分算出手段2により算出された差分(絶対値)が予め設定された閾値以上か否かを判定する。
上述の差分(絶対値)が閾値以上か否かの判断(105)がYESの場合には、エッジ方向が「黒→白」であるか否かの判断(106)に移行する。
このエッジ方向が「黒→白」であるか否かの判断(106)は、前記エッジ方向判定手段9によってエッジ方向判別のための符号判定を行う。
また、前記閾値判定手段3によって、差分算出手段2により算出された差分(絶対値)が予め設定された閾値以上か否かを判定する判断(105)がNOの場合には、輝度値を「Min(黒)」とする処理(107)に移行する。
上述のエッジ方向が「黒→白」であるか否かの判断(106)において、この判断(106)がYESの場合には、エッジ位置情報記録の処理(108)に移行する。
このエッジ位置情報記録の処理(108)は、前記白線幅判定手段4によって白線幅判定処理が行われた際に、エッジの方向が「黒→白」の場合にシフトレジスタに記録する処理である。
また、このエッジ位置情報記録の処理(108)の後、及び上述のエッジ方向が「黒→白」であるか否かの判断(106)がNOの場合には、エッジ位置検索の処理(109)に移行する。
このエッジ位置検索の処理(109)は、エッジの方向に関してシフトレジスタを参照する処理である。
このとき、白線幅(±誤差範囲あり。)の位置に「黒→白」のエッジ検出の履歴が存在すれば、アスファルト上に引かれた幅を持つ白い線と判定するものである。
そして、エッジ位置検索の処理(109)の後には、白線幅条件がOKか否かの判断(110)に移行する。
この白線幅条件がOKか否かの判断(110)は、前記白線幅判定手段4によって、前記閾値判定手段3により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、前記閾値判定手段3により差分が閾値以上と判定された第2の画素が存在するか否かを判定するものである。
そして、この白線幅判定手段4によって第2の画素が存在すると判定された場合には、第1の画素あるいは第2の画素を白線のエッジとする。
上述の白線幅条件がOKか否かの判断(110)がYESの場合には、白線間隔を検索する処理(111)に移行する。
なお、この白線間隔を検索する処理(111)は、白線間隔を検索してカウント値が閾値以上であるか否かを判定する処理のためのものである。
このとき、白線間隔を検索する処理(111)において、前記白線間隔判定手段10は、駐車枠の左右に位置する白線の間隔を判定するものであるが、この間隔は車幅以上の間隔があるため、前記白線幅判定手段4によって白線のエッジ(右側)と判定された時点から白線の間隔(奥に向かうに連れて狭くなるため、この実施例では40画素としている。)分が経過するまで、次の白線の判定は行わない。
また、上述の白線幅条件がOKか否かの判断(110)がNOの場合には、上述した輝度値を「Min(黒)」とする処理(107)に移行する。 上述の白線間隔を検索する処理(111)の後には、白線幅条件がOKか否かの判断(112)に移行する。
この白線幅条件がOKか否かの判断(112)において、判断(112)がYESの場合には、輝度値を「Max(白)」とする処理(113)に移行する。
また、判断(112)がNOの場合には、白線位置情報カウンタ(画素数)を通過する処理(114)に移行する。
この白線位置情報カウンタ(画素数)を通過する処理(114)は、白線位置情報をカウントとし、白線間隔を検索する処理(111)に戻る処理である。
更に、上述した輝度値を「Max(白)」とする処理(113)及び輝度値を「Min(黒)」とする処理(107)の後には、エッジ画像生成の処理(115)に移行する。
このエッジ画像生成の処理(115)は、白線のエッジとして抽出された画素を用いて、前記前記エッジ画像生成手段11によってエッジ画像を生成する処理である。
このエッジ画像生成の処理(115)の後は、前記白線検出装置1の制御用プログラムのエンド(116)に移行する。
【0022】
なお、この発明は上述実施例に限定されるものではなく、種々の応用改変が可能である。
【0023】
例えば、この発明の実施例において、エッジを検出する際に、画像メモリを使用しない場合には、横方向の探索のみとなる。
このとき、画像メモリが使用できる場合には、縦方向での検出や縦横方向複合での検出が可能である。
そして、使用する画像メモリは、フレーム処理では1フィールド分必要となるが、フィールド処理もしくはプログレッシブスキャンの場合には、1ライン分の記憶領域があれば良く、使い勝手の向上に寄与することが可能である。
【符号の説明】
【0024】
1 白線検出装置
2 差分算出手段
3 閾値判定手段
4 白線幅判定手段
5 ビデオ入力部(「デコーダ」ともいう。)
6 カメラ
7 ビデオ出力部(「エンコーダ」ともいう。)
8 1画素遅延手段
9 エッジ方向判定手段
10 白線間隔判定手段
11 エッジ画像生成手段
【技術分野】
【0001】
この発明は白線検出装置に係り、特に駐車枠の白線のエッジ抽出処理を簡素化する一方、信頼性を高くする白線検出装置に関するものである。
【背景技術】
【0002】
画像中の白線を検出するために、画像中のエッジを検出する際に、通常は、Sobel、ラプラシアンなどの二次元オペレータを用いた後、閾値を用いた2値化を行う。
特に、駐車枠に自車を止めるために、駐車スペースの白線を検出する場合は、画像中縦方向に現れるエッジを検出する必要がある。
また、駐車枠に引かれる白線は幅が広いためそのエッジは両側に現れる。
エッジ画像より白線検出を行う際、それらは異なる2本の直線として認識されるため、処理点数が増え、多くのリソースを必要としてしまうという不都合がある。
そこで、白線1本につきエッジも1本となるようなエッジ検出手法が望ましい。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開昭64−15605号公報
【特許文献2】特開昭64−61606号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来の白線検出装置において、特許文献1に開示されるものは、微分を用いてエッジを検出した後、パーセンタイル法を用いて、2値化後に1となっている画素数が、全画素数のn%となるように閾値を決定し、2値化している。
このため、閾値を変更しながら、所望の閾値を決定する必要があること、環境によって、石畳などテクスチャが複雑な背景となった場合、2値化により1となる画素が想定以上に生じると、正しく閾値が求まらない機能性がある。
また、エッジの検出方法も、カメラが45度、135度固定であり、カメラの取付角度によっては、必ずしも当てはまらない場合がある。
上記の特許文献2に開示されるものは、微分結果より空間的な稜線を求めることにより、エッジの検出を行っているが、微分データの増減を探索する必要があり、また微小な増減に対応するためには、複数の稜線候補点からさらに絞り込む必要があるなど、処理が煩雑である。
また、白線両端のエッジについては、「黒」→「白」方向のもののみを検出対象としているため、白線の汚れなどにより複数のエッジが検出されてしまう可能性がある。
そして、複数のエッジが検出されると、後段にて白線検出を行う際(例えば、Hough変換)、候補点が増加するため、より多くのメモリを必要とするなどの不都合がある。
【0005】
この発明は、白線のエッジ抽出の際の閾値の決定手段(適応制御的なもの)を不要とし、処理を簡素化して、白線両端に生じるエッジのうちの右側を信頼性高く抽出する手法を提供することを目的としている。
【課題を解決するための手段】
【0006】
そこで、この発明は、上述不都合を除去するために、走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段と、この差分算出手段により算出された差分が予め設定された閾値以上か否かを判定する閾値判定手段と、この閾値判定手段により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、前記閾値判定手段により差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段とを備え、この白線幅判定手段により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとすることを特徴とする。
【発明の効果】
【0007】
以上詳細に説明した如くこの発明によれば、走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段と、差分算出手段により算出された差分が予め設定された閾値以上か否かを判定する閾値判定手段と、閾値判定手段により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、閾値判定手段により差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段とを備え、白線幅判定手段により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとする。
従来技術では、白線両端微分値強調フィルタを用いるので、画像をメモリに一度記憶する必要がある。従って、その分のリソースが必要となる。また、白線両端微分値強調フィルタを用いると、閾値が変動するので、画像の各位置に応じて閾値を適応制御する必要がある。そのためには判別分析法等の処理をする必要があるが、これらの処理は非常に重く、また並行処理をする場合でも膨大なリソースが必要になる。
この発明では、背景光の影響を受け難いため、閾値を一定とすることができる。このため、少ないリソースで済み、また処理を容易にすることができる。従って、FPGA等の汎用性の高いデバイスを用いても、リアルタイムに処理が可能となる。
また、白線幅判定をすることにより、検出対象である白線以外等で生じたエッジの影響を受け難くすることができる。そして、ノイズを排除することができる。
更に、1本の白線から2本のエッジを検出すると、エッジ画像から白線検出を行う際に、処理点数が増え、多くのリソースを必要とする。この発明では、1本の白線から1本のエッジを検出するので、少ないリソースで済み、また処理を容易にすることができる。
【図面の簡単な説明】
【0008】
【図1】図1は白線検出装置の制御用フローチャートである。(実施例1)
【図2】図2は白線検出装置のシステム図である。(実施例1)
【図3】図3は白線両端微分値強調フィルタのオペレータを示す概略説明図である。(実施例1)
【図4】図4は微分と道路の白線とを示す図である。(実施例1)
【図5】図5は白線両端微分値強調フィルタ演算値を示す図である。(実施例1)
【図6】図6は画像を示し、(a)は処理前の画像を示す図、(b)は閾値を「1」としたときのエッジ検出結果の画像を示す図、(c)は閾値を「10」としたときのエッジ検出結果の画像を示す図、(d)は閾値を「20」としたときのエッジ検出結果の画像を示す図である。(実施例1)
【図7】図7は閾値を「10」とした際の壁(320、240)の明るさ「180」の設定1における明るさの変化の影響を示し、(a)は処理前の画像を示す図、(b)はエッジ検出結果の画像を示す図である。(実施例1)
【図8】図8は閾値を「10」とした際の壁(320、240)の明るさ「62」の設定2における明るさの変化の影響を示し、(a)は処理前の画像を示す図、(b)はエッジ検出結果の画像を示す図である。(実施例1)
【図9】図9は閾値を「10」とした際の壁(320、240)の明るさ「32」の設定3における明るさの変化の影響を示し、(a)は処理前の画像を示す図、(b)はエッジ検出結果の画像を示す図である。(実施例1)
【図10】図10は 図9の設定3において閾値を「5」に設定した際のエッジ検出結果の画像を示す図である。(実施例1)
【図11】図11は白線両端微分値強調フィルタと同じ幅としたオペレータを示す概略説明図である。(実施例1)
【図12】図12は線幅を7〜11画素(天井のレール幅)として処理した白線の判別処理結果を示す図である。(実施例1)
【図13】図13は図12にエッジの向きの確認処理を追加した状態を示す図である。(実施例1)
【図14】図14は実際の駐車枠に対する画像を示し、(a)は処理前の画像を示す図、(b)は閾値を「1」としたときのエッジ検出結果の画像を示す図、(c)は閾値を「10」としたときのエッジ検出結果の画像を示す図、(d)は閾値を「20」としたときのエッジ検出結果の画像を示す図である。(実施例1)
【図15】図15は線幅を9〜28画素(駐車枠の幅)として処理した白線の判別処理結果を示す図である。(実施例1)
【図16】図16は図15にエッジの向きの確認処理を追加した状態を示す図である。(実施例1)
【発明を実施するための形態】
【0009】
以下図面に基づいてこの発明の実施例を詳細に説明する。
【実施例】
【0010】
図1〜図16はこの発明の実施例を示すものである。
図2において、1は白線検出装置である。
この白線検出装置1は、走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段2と、この差分算出手段2により算出された差分が予め設定された閾値以上か否かを判定する閾値判定手段3と、この閾値判定手段3により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、前記閾値判定手段3により差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段4とを備え、この白線幅判定手段4により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとする。
詳述すれば、前記白線検出装置1は、図2に示す如く、入力側にビデオ入力部(「デコーダ」ともいう。)5によりカメラ6に接続されるとともに、出力側にはビデオ出力部(「エンコーダ」ともいう。)7が接続されている。
また、前記白線検出装置1は、前記ビデオ入力部(「デコーダ」ともいう。)5に接続する前記差分算出手段2と、前記ビデオ入力部(「デコーダ」ともいう。)5からの入力画像に対して1画素遅延を行った後に差分算出手段2に入力させる1画素遅延手段8と、前記差分算出手段2に接続して閾値処理を行う前記閾値判定手段3と、この閾値判定手段3及び前記差分算出手段2に接続してエッジ方向判別のための符号判定を行うエッジ方向判定手段9と、このエッジ方向判定手段9に接続して白線幅判定処理を行う前記白線幅判定手段4と、この白線幅判定手段4に接続する白線間隔判定手段10と、この白線間隔判定手段10に接続するとともに、前記ビデオ出力部7に接続するエッジ画像生成手段11とを備えている。
そして、前記白線検出装置1は、前記白線幅判定手段4により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとするものである。
【0011】
追記すれば、前記カメラ6から前記ビデオ入力部(「デコーダ」ともいう。)5を介して、前記白線検出装置1に入力される入力画像は、ラスタスキャンにより「上から下」、「左から右」の順に各画素のデータ(輝度、色)が入力される。
このとき、この発明においては、入力画像の輝度の情報を用いる。
前記白線検出装置1に入力された画素の輝度情報に対して、前記差分算出手段2は、前記1画素遅延手段8によって1つ前(「左」とも換言できる。)の輝度情報と差分を行う。
つまり、前記1画素遅延手段8は、次の輝度情報と差分をとるために、現在の輝度情報を保存する。
前記差分算出手段2からの差分結果(「絶対値」)を前記閾値判定手段3によって閾値処理し、エッジ位置候補点を抽出する。
また、前記エッジ方向判定手段9によってエッジ方向判別のための符号判定が行われると、この差分結果の符号により、エッジの方向、「白→黒」または「黒→白」を判定する。
前記白線幅判定手段4によって白線幅判定処理が行われた際に、エッジの方向が「黒→白」の場合(「黒→白エッジ」とも記載する。)は、図示しないシフトレジスタに記録する。
また、エッジの方向が「白→黒」の場合(「白→黒エッジ」とも記載する。)は、シフトレジスタを参照する。
そして、白線幅(±誤差範囲あり。)の位置に「黒→白」のエッジ検出の履歴が存在すれば、アスファルト上に引かれた幅を持つ白い線と判定する(この実施例では、9〜28画素)。
前記白線間隔判定手段10は、駐車枠の左右に位置する白線の間隔を判定するものであるが、この間隔は車幅以上の間隔があるため、前記白線幅判定手段4によって白線のエッジ(右側)と判定された時点から白線の間隔(奥に向かうに連れて狭くなるため、この実施例では40画素としている。)分が経過するまで、次の白線の判定は行わない。
なお、前記白線幅判定手段4によって白線が検出されても削除する。
そして、前記白線間隔判定手段10の処理の後に、前記エッジ画像生成手段11は、白線のエッジとして抽出された画素を用いてエッジ画像を生成する。
生成されたエッジ画像は、Hough変換など白線検出などに利用できる。
【0012】
この発明に対して、従来技術では、白線両端微分値強調フィルタを用いるので、画像をメモリに一度記憶する必要がある。従って、その分のリソースが必要となる。また、白線両端微分値強調フィルタを用いると、閾値が変動するので、画像の各位置に応じて閾値を適応制御する必要がある。そのためには判別分析法等の処理をする必要があるが、これらの処理は非常に重く、また並行処理をする場合でも膨大なリソースが必要になる。
この発明では、背景光の影響を受け難いため、閾値を一定とすることができる。このため、少ないリソースで済み、また処理を容易にすることができる。従って、FPGA等の汎用性の高いデバイスを用いても、リアルタイムに処理が可能となる。
また、白線幅判定をすることにより、検出対象である白線以外等で生じたエッジの影響を受け難くすることができる。そして、ノイズを排除することができる。
更に、1本の白線から2本のエッジを検出すると、エッジ画像から白線検出を行う際に、処理点数が増え、多くのリソースを必要とする。この発明では、1本の白線から1本のエッジを検出するので、少ないリソースで済み、また処理を容易にすることができる。
【0013】
また、前記白線検出装置1は、前記差分算出手段2により算出された差分の符号からエッジ方向を判定する前記エッジ方向判定手段9を備え、このエッジ方向判定手段9により第1の画素のエッジ方向と第2の画素のエッジ方向とを判定し、第1の画素のエッジ方向と第2の画素のエッジ方向とが逆向きの場合に、第1の画素あるいは第2の画素を白線のエッジとする。
従って、前記エッジ方向判定手段9によってエッジ方向判定をすることにより、影等により生じたエッジの影響を受け難くすることができる。また、ノイズ等の不要な点をさらに排除することができる。
【0014】
更に、前記白線検出装置1は、第1の白線のエッジと、第1の白線とは異なる第2の白線のエッジとを検出し、第1の白線のエッジと第2の白線のエッジとの間に予め設定された画素数が存在する場合に駐車枠の左右の白線とする。
従って、駐車枠の左右の白線を精度よく検出することができる。
【0015】
ここで、前記白線検出装置1に関して追加説明致します。
まず、従来手法の処理例として白線両端微分値強調フィルタを用いた方策を説明します。
従来手法においては、画像の微分を求め、白線両端微分値強調フィルタを用いて道路の白線幅と同じ幅を持つ白線の抽出を行っている。
そして、微分は差分で置き換え可能であるので、差分オペレータ「−1」「1」を用いて差分画像を得る。
前記白線両端微分値強調フィルタは、道路白線幅(画素数)と同じ幅を持つオペレータで、図3に示す如く、オペレータの中央で符号が「+(プラス)」から「−(マイナス)」へ反転する。
以上の処理により、図4及び図5に示すような結果が得られ、適切な閾値を選択することにより、道路上の白線と同じ幅を持つ特徴のみを抽出することができる。
なお、閾値の選択には、判別分析法などを用いる。
【0016】
従来技術で用いられている微分(差分)処理については、同様に走査線方向(「画面横方向」ともいう。)での差分処理とする。
しかし、前記白線両端微分値強調フィルタを用いるためには、画像(「走査線」)を一度メモリに記録する必要があるため、その分のリソースが必要となる。
また、前記白線両端微分値強調フィルタを用いると、図4及び図5に示す如く、閾値レベルが変動するため、画像の各位置に応じて閾値を適応制御する必要がある。
そのためには判別分析法などの処理が必要となるが、これらの処理は、非常に重く、また並列処理する場合も膨大なリソースが必要となる。
そこで、「差分画像は、すぐ隣の画素との差分であり、隣接画素と当該画素の明るさ(証明条件)が大きく異なることは稀である」(例外:影によるエッジ)こと、また一般に駐車枠に引かれた白線などは、運転者が識別し易いように、路面とコントラストがはっきりしていると考えられるため、閾値は一定値とすることとした。
図6において、(a)には処理前の画像を示し、(b)には閾値を「1」としたときのエッジ検出結果の画像を示し、(c)には閾値を「10」としたときのエッジ検出結果の画像を示し、(d)には閾値を「20」としたときのエッジ検出結果の画像を示す。
なお、図6においては、エッジの極性による区別なく、「白→黒」や「黒→白」の全てを表示している。
そして、閾値「1」では、図6(b)に示す如く、細かなテクスチャによるエッジによる影響が見られる。
しかし、閾値「10」及び閾値「20」では、図6(c)及び(d)に示す如く、良好な結果が得られている。
ここで、輝度変化による影響を確認するために、閾値「10」にてレンズの絞りを変化させたときの結果を、図7〜図9に開示する。
つまり、図7は閾値を「10」とした際の壁(320、240)の明るさ「180」の設定1における明るさの変化の影響を示し、(a)は処理前の画像を示し、(b)はエッジ検出結果の画像を示している。
また、図8は閾値を「10」とした際の壁(320、240)の明るさ「62」の設定2における明るさの変化の影響を示し、(a)は処理前の画像を示し、(b)はエッジ検出結果の画像を示している。
更に、図9は閾値を「10」とした際の壁(320、240)の明るさ「32」の設定3における明るさの変化の影響を示し、(a)は処理前の画像を示し、(b)はエッジ検出結果の画像を示している。
この図7〜図9から、ダイナミックレンジの1/4程度の暗さまでは対応可能であることがわかる。
なお、上述の図9に開示される設定3の場合、画像奥の壁に近づくに連れて、エッジの検出ができなくなっているが、仮に閾値を「5」まで下げた場合は、図10に示す如く、エッジの検出は可能であるが、ノイズによる影響が大きくなってしまう。
このことより、この手法の閾値決定に判別分析法を用いても効果が少ないことが、確認できる。
【0017】
次に、前記白線両端微分値強調フィルタの代用として、エッジ位置の確認による線幅判別処理を使用する。
この線幅判別処理は、白線両端微分値強調フィルタと同じ幅のオペレータとし、白線のエッジ検出位置から対象とする線幅分戻った画素位置にエッジが存在するか否かを確認し、存在する場合に白線の右側であると判断する処理である。
具体的には、図11のように表すことができる。
この図11の線幅判別処理をFPGAなどで実現するためには、白線の幅と幅のばらつき分とを考慮した画素数分の段数を持つ、シフトレジスタを構成し、図11中の「−1」である画素位置にエッジ情報が含まれているか否かを確認する構成とすれば良い。
線幅については、実際に使用する環境に合わせて調整を行う。
機能の確認のために、線幅を、7〜11画素(天井のレール幅)として処理した結果を、図12に開示する。
この図12においては、2本のエッジが1本となり、また対象線分以外のノイズが削除されていることがわかる。
もともとの前記白線両端微分値強調フィルタでは、エッジの向き「白→黒」や「黒→白」に関する情報が処理に含まれている。
一方、エッジの情報を含まない図12の手法では、ノイズなどにより結果が異なる可能性が大きい。
そこで、FPGAを用いた差分処理においても結果の極性確認は可能であることを利用し、エッジの向きの確認処理を追加した(図13参照。)。
その結果、ノイズなどの不要な点をさらに削減することができた。
【0018】
上述した方策を実際の駐車枠に対して適用してみると、図14において、(a)は処理前の画像を示し、(b)は閾値を「1」としたときのエッジ検出結果の画像を示し、(c)は閾値を「10」としたときのエッジ検出結果の画像を示し、(d)は閾値を「20」としたときのエッジ検出結果の画像を示す。
また、図15には、線幅を9〜28画素(駐車枠の幅)として処理した白線の判別処理結果を示す。
更に、図16には、図15にエッジの向きの確認処理を追加した状態を示す。
そして、図16に開示する処理では、駐車枠の白線は車幅以上の距離が離れていることから、一度白線のエッジが検出された場合、一定間隔(この例では40画素)経過しない限り、白線のエッジとみなされない判定処理も行っている。
【0019】
よって、前記白線検出装置1のポイントとなる点を以下にまとめてみる。
(1)エッジ検出は、左隣の画素値(輝度)との差分処理とする。
(2)隣接画素との差分処理とすることで、閾値は固定とする。
(3)検出したエッジ画像より、白線幅での判別処理によりノイズ除去を行う。
(4)白線幅判別処理では、エッジの方向(「白→黒」、「黒→白」)の情報も用いる。
(5)左右の白線間の間隔を用いて判定し、ノイズの除去を行う。
(6)差分処理、固定閾値、線幅判定処理の簡易化により、FPGAなどでリアルタイムに処理可能。
【0020】
次に、図1の前記白線検出装置1の制御用フローチャートに沿って作用を説明する。
【0021】
この白線検出装置1の制御用プログラムがスタート(101)すると、前記ビデオ入力部(「デコーダ」ともいう。)5を介して、前記カメラ6からの画像データを入力する処理(102)に移行する。
そして、この処理(102)においては、前記カメラ6からの画像データをそのまま前記差分算出手段2に入力してこの差分算出手段2による処理(103)に移行する一方、前記1画素遅延手段8によって前記ビデオ入力部(「デコーダ」ともいう。)4からの入力画像に対して1画素遅延処理(104)を行い、この後に差分算出手段2に入力させてこの差分算出手段2による処理(103)に移行する。
この処理(103)は、前記差分算出手段2によって走査線方向に隣り合う2つの画素の輝度の差分(絶対値)を算出する処理である。
そして、この差分算出手段2による処理(103)の後には、差分(絶対値)が閾値以上か否かの判断(105)に移行する。
この判断(105)は、前記閾値判定手段3によって差分算出手段2により算出された差分(絶対値)が予め設定された閾値以上か否かを判定する。
上述の差分(絶対値)が閾値以上か否かの判断(105)がYESの場合には、エッジ方向が「黒→白」であるか否かの判断(106)に移行する。
このエッジ方向が「黒→白」であるか否かの判断(106)は、前記エッジ方向判定手段9によってエッジ方向判別のための符号判定を行う。
また、前記閾値判定手段3によって、差分算出手段2により算出された差分(絶対値)が予め設定された閾値以上か否かを判定する判断(105)がNOの場合には、輝度値を「Min(黒)」とする処理(107)に移行する。
上述のエッジ方向が「黒→白」であるか否かの判断(106)において、この判断(106)がYESの場合には、エッジ位置情報記録の処理(108)に移行する。
このエッジ位置情報記録の処理(108)は、前記白線幅判定手段4によって白線幅判定処理が行われた際に、エッジの方向が「黒→白」の場合にシフトレジスタに記録する処理である。
また、このエッジ位置情報記録の処理(108)の後、及び上述のエッジ方向が「黒→白」であるか否かの判断(106)がNOの場合には、エッジ位置検索の処理(109)に移行する。
このエッジ位置検索の処理(109)は、エッジの方向に関してシフトレジスタを参照する処理である。
このとき、白線幅(±誤差範囲あり。)の位置に「黒→白」のエッジ検出の履歴が存在すれば、アスファルト上に引かれた幅を持つ白い線と判定するものである。
そして、エッジ位置検索の処理(109)の後には、白線幅条件がOKか否かの判断(110)に移行する。
この白線幅条件がOKか否かの判断(110)は、前記白線幅判定手段4によって、前記閾値判定手段3により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、前記閾値判定手段3により差分が閾値以上と判定された第2の画素が存在するか否かを判定するものである。
そして、この白線幅判定手段4によって第2の画素が存在すると判定された場合には、第1の画素あるいは第2の画素を白線のエッジとする。
上述の白線幅条件がOKか否かの判断(110)がYESの場合には、白線間隔を検索する処理(111)に移行する。
なお、この白線間隔を検索する処理(111)は、白線間隔を検索してカウント値が閾値以上であるか否かを判定する処理のためのものである。
このとき、白線間隔を検索する処理(111)において、前記白線間隔判定手段10は、駐車枠の左右に位置する白線の間隔を判定するものであるが、この間隔は車幅以上の間隔があるため、前記白線幅判定手段4によって白線のエッジ(右側)と判定された時点から白線の間隔(奥に向かうに連れて狭くなるため、この実施例では40画素としている。)分が経過するまで、次の白線の判定は行わない。
また、上述の白線幅条件がOKか否かの判断(110)がNOの場合には、上述した輝度値を「Min(黒)」とする処理(107)に移行する。 上述の白線間隔を検索する処理(111)の後には、白線幅条件がOKか否かの判断(112)に移行する。
この白線幅条件がOKか否かの判断(112)において、判断(112)がYESの場合には、輝度値を「Max(白)」とする処理(113)に移行する。
また、判断(112)がNOの場合には、白線位置情報カウンタ(画素数)を通過する処理(114)に移行する。
この白線位置情報カウンタ(画素数)を通過する処理(114)は、白線位置情報をカウントとし、白線間隔を検索する処理(111)に戻る処理である。
更に、上述した輝度値を「Max(白)」とする処理(113)及び輝度値を「Min(黒)」とする処理(107)の後には、エッジ画像生成の処理(115)に移行する。
このエッジ画像生成の処理(115)は、白線のエッジとして抽出された画素を用いて、前記前記エッジ画像生成手段11によってエッジ画像を生成する処理である。
このエッジ画像生成の処理(115)の後は、前記白線検出装置1の制御用プログラムのエンド(116)に移行する。
【0022】
なお、この発明は上述実施例に限定されるものではなく、種々の応用改変が可能である。
【0023】
例えば、この発明の実施例において、エッジを検出する際に、画像メモリを使用しない場合には、横方向の探索のみとなる。
このとき、画像メモリが使用できる場合には、縦方向での検出や縦横方向複合での検出が可能である。
そして、使用する画像メモリは、フレーム処理では1フィールド分必要となるが、フィールド処理もしくはプログレッシブスキャンの場合には、1ライン分の記憶領域があれば良く、使い勝手の向上に寄与することが可能である。
【符号の説明】
【0024】
1 白線検出装置
2 差分算出手段
3 閾値判定手段
4 白線幅判定手段
5 ビデオ入力部(「デコーダ」ともいう。)
6 カメラ
7 ビデオ出力部(「エンコーダ」ともいう。)
8 1画素遅延手段
9 エッジ方向判定手段
10 白線間隔判定手段
11 エッジ画像生成手段
【特許請求の範囲】
【請求項1】
走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段と、この差分算出手段により算出された差分が予め設定された閾値以上か否かを判定する閾値判定手段と、この閾値判定手段により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、前記閾値判定手段により差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段とを備え、この白線幅判定手段により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとすることを特徴とする白線検出装置。
【請求項2】
前記差分算出手段により算出された差分の符号からエッジ方向を判定するエッジ方向判定手段を備え、このエッジ方向判定手段により第1の画素のエッジ方向と第2の画素のエッジ方向とを判定し、第1の画素のエッジ方向と第2の画素のエッジ方向とが逆向きの場合に、第1の画素あるいは第2の画素を白線のエッジとすることを特徴とする請求項1に記載の白線検出装置。
【請求項3】
第1の白線のエッジと、第1の白線とは異なる第2の白線のエッジとを検出し、第1の白線のエッジと第2の白線のエッジとの間に予め設定された画素数が存在する場合に駐車枠の左右の白線とすることを特徴とする請求項1または2に記載の白線検出装置。
【請求項1】
走査線方向に隣り合う2つの画素の輝度の差分を算出する差分算出手段と、この差分算出手段により算出された差分が予め設定された閾値以上か否かを判定する閾値判定手段と、この閾値判定手段により差分が閾値以上と判定された第1の画素から、白線の幅分と定めた画素数だけ走査線方向にずれた位置に、前記閾値判定手段により差分が閾値以上と判定された第2の画素が存在するか否かを判定する白線幅判定手段とを備え、この白線幅判定手段により第2の画素が存在すると判定された場合に、第1の画素あるいは第2の画素を白線のエッジとすることを特徴とする白線検出装置。
【請求項2】
前記差分算出手段により算出された差分の符号からエッジ方向を判定するエッジ方向判定手段を備え、このエッジ方向判定手段により第1の画素のエッジ方向と第2の画素のエッジ方向とを判定し、第1の画素のエッジ方向と第2の画素のエッジ方向とが逆向きの場合に、第1の画素あるいは第2の画素を白線のエッジとすることを特徴とする請求項1に記載の白線検出装置。
【請求項3】
第1の白線のエッジと、第1の白線とは異なる第2の白線のエッジとを検出し、第1の白線のエッジと第2の白線のエッジとの間に予め設定された画素数が存在する場合に駐車枠の左右の白線とすることを特徴とする請求項1または2に記載の白線検出装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図11】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図11】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2011−191884(P2011−191884A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−55949(P2010−55949)
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000002082)スズキ株式会社 (3,196)
【Fターム(参考)】
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000002082)スズキ株式会社 (3,196)
【Fターム(参考)】
[ Back to top ]