JPH04158412A - ライン検出装置 - Google Patents
ライン検出装置Info
- Publication number
- JPH04158412A JPH04158412A JP2285412A JP28541290A JPH04158412A JP H04158412 A JPH04158412 A JP H04158412A JP 2285412 A JP2285412 A JP 2285412A JP 28541290 A JP28541290 A JP 28541290A JP H04158412 A JPH04158412 A JP H04158412A
- Authority
- JP
- Japan
- Prior art keywords
- white line
- threshold value
- value
- threshold
- detected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 claims description 39
- 238000000034 method Methods 0.000 description 23
- 238000003708 edge detection Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000010426 asphalt Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、車両の自動運転等のために、道路に沿って設
けられたガイドライン(Nえば白線)を検出するライン
検出装置に関する。
けられたガイドライン(Nえば白線)を検出するライン
検出装置に関する。
〔従来の技術]
従来より、運転者の負担を軽くするために、各種の運転
制御装置が車両に搭載されている。この中でハンドル操
作も自動的に行う自動運転が研究されており、通常の自
動車においても自動運転ができるような機構を搭載する
ことが検討されている。
制御装置が車両に搭載されている。この中でハンドル操
作も自動的に行う自動運転が研究されており、通常の自
動車においても自動運転ができるような機構を搭載する
ことが検討されている。
この自動運転のためには、車両の走路(道路)に対する
位置を常時把握し、車両が走路に沿って走行するように
制御しなければならない。
位置を常時把握し、車両が走路に沿って走行するように
制御しなければならない。
そして、この走路の検出の方法として走路に沿って形成
されている白線をテレビカメラによって撮影し、この白
線の位置から車両の走路に対する位置を検出することが
提案されている。
されている白線をテレビカメラによって撮影し、この白
線の位置から車両の走路に対する位置を検出することが
提案されている。
道路には、通常センターライン、車線を分割するライン
等が設けられており、自動運転のための位置検出を白線
検出によって行えば、道路側における設備を非常に簡単
なものとできると考えられる。
等が設けられており、自動運転のための位置検出を白線
検出によって行えば、道路側における設備を非常に簡単
なものとできると考えられる。
例えば、特開昭63−40913号公報には、車両に搭
載したCCDカメラを用いて、前方の白線を検出する方
法が開示されている。すなわち、この例においては、C
CDカメラによって得られた路面の輝度が所定値以上の
部分を白線と判定する。そして、通常の道路はアスファ
ルト等の黒い部分に白線が形成されており、白線の部分
の輝度はその他の部分より十分大きいため、これによっ
て白線が検出できる。
載したCCDカメラを用いて、前方の白線を検出する方
法が開示されている。すなわち、この例においては、C
CDカメラによって得られた路面の輝度が所定値以上の
部分を白線と判定する。そして、通常の道路はアスファ
ルト等の黒い部分に白線が形成されており、白線の部分
の輝度はその他の部分より十分大きいため、これによっ
て白線が検出できる。
[発明が解決しようとする課題]
また、従来の装置では、二値化する際のしきい値として
、固定の予め定められた値を利用していた。そこで、白
線の汚れや雨天時における光の反射などが起ると、CC
Dカメラにおける検出輝度が白線以外の場所でもしきい
値を上回ったり、白線の部分においてしきい値を下回っ
てしまう場合がある。
、固定の予め定められた値を利用していた。そこで、白
線の汚れや雨天時における光の反射などが起ると、CC
Dカメラにおける検出輝度が白線以外の場所でもしきい
値を上回ったり、白線の部分においてしきい値を下回っ
てしまう場合がある。
[関連技術〕
そこで、本発明者は、しきい値として、検出輝度の平均
値と最大値を加算して2分の1とした値を採用すること
を考えた。このようなしきい値を採用すると、しきい値
が輝度の最も高い白線部分と通常の路面部分の中間の値
となり、白線部分の検出確度が高くなる。
値と最大値を加算して2分の1とした値を採用すること
を考えた。このようなしきい値を採用すると、しきい値
が輝度の最も高い白線部分と通常の路面部分の中間の値
となり、白線部分の検出確度が高くなる。
ところが、この装置によると、カメラによって得た画像
に白線が全く無い場合にも、その中で白線を検出してし
まうという問題点があった。すなわち、平均値及び最大
値に基づいてしきい値を計算した場合には、白線が実際
には見えていない場合において、しきい値が全体の輝度
と非常に近い値に設定されてしまう。そこで、輝度の高
い路面部分を白線として誤検出してしまうのである。
に白線が全く無い場合にも、その中で白線を検出してし
まうという問題点があった。すなわち、平均値及び最大
値に基づいてしきい値を計算した場合には、白線が実際
には見えていない場合において、しきい値が全体の輝度
と非常に近い値に設定されてしまう。そこで、輝度の高
い路面部分を白線として誤検出してしまうのである。
発明の目的
本発明は上記問題点を解決することを課題としてなされ
たものであり、路面の状態に両持せてしきい値を変更で
きるとともに、路上にガイドラインが無い場合において
精度よくラインなしと判定できるライン検出装置を提供
することを目的とする。
たものであり、路面の状態に両持せてしきい値を変更で
きるとともに、路上にガイドラインが無い場合において
精度よくラインなしと判定できるライン検出装置を提供
することを目的とする。
本発明に係るライン検出装置は、車両に搭載され、道路
に沿って設けられたガイドラインを検出するライン検出
装置であって、所定範囲の道路の画像を繰り返し得るカ
メラと、このカメラで得られた一回ごとの画像全体の輝
度の平均値を算出する平均値算出手段と、前記一回の画
像中の輝度の最大値を検出する最大値検出手段と、前記
平均値及び最大値の両方に基づいて、しきい値を算出す
るしきい値算出手段と、このしきい値算出手段によって
前回以前の処理ループにおいて算出されたしきい値を記
憶するしきい値記憶手段と、前記画像の輝度を前記しき
い値記憶手段に記憶されているしきい値を用いて二値化
する二値化手段と、二値化した結果に基づいて画像中の
ライン部分を判定するライン判定手段と、このライン判
定手段においてライン部分が検出できた場合には、前記
しきい値記憶手段において記憶されているしきい値を今
回の処理によって算出されたしきい値に入れ替えるしき
い値更新手段と、を有することを特徴とする。
に沿って設けられたガイドラインを検出するライン検出
装置であって、所定範囲の道路の画像を繰り返し得るカ
メラと、このカメラで得られた一回ごとの画像全体の輝
度の平均値を算出する平均値算出手段と、前記一回の画
像中の輝度の最大値を検出する最大値検出手段と、前記
平均値及び最大値の両方に基づいて、しきい値を算出す
るしきい値算出手段と、このしきい値算出手段によって
前回以前の処理ループにおいて算出されたしきい値を記
憶するしきい値記憶手段と、前記画像の輝度を前記しき
い値記憶手段に記憶されているしきい値を用いて二値化
する二値化手段と、二値化した結果に基づいて画像中の
ライン部分を判定するライン判定手段と、このライン判
定手段においてライン部分が検出できた場合には、前記
しきい値記憶手段において記憶されているしきい値を今
回の処理によって算出されたしきい値に入れ替えるしき
い値更新手段と、を有することを特徴とする。
[作用]
本発明に係るライン検出装置は、上述のような構成を有
しており、しきい値を得られた輝度信号の最大値及び平
均値に基づいて算出する。従って、路面の状態に応じて
しきい値を変更でき、精度よい二値化よりを行うことが
できる。
しており、しきい値を得られた輝度信号の最大値及び平
均値に基づいて算出する。従って、路面の状態に応じて
しきい値を変更でき、精度よい二値化よりを行うことが
できる。
更に、本発明においては、前回の処理において算出され
たしきい値を用いて二値化処理を行う。
たしきい値を用いて二値化処理を行う。
従って、白線がなくなった場合にラインなしの判定を精
度よく行うことができる。
度よく行うことができる。
また、ラインが検出されなかった場合には、しきい値を
更新しないため、ラインが検出できなかった時に得られ
る異常なしきい値が採用されず、効果的な二値化処理を
行うことができる。
更新しないため、ラインが検出できなかった時に得られ
る異常なしきい値が採用されず、効果的な二値化処理を
行うことができる。
[実施例]
第1図は本発明に係るライン検出装置の構成を示すブロ
ック図であり、CCDカメラ10を有している。このC
CDカメラ10はレンズ12、絞り14からなる光学系
と、−次元に配置された充電変換素子を有するCCDリ
ニアセンサ16からなっている。そして、CCDカメラ
10は、車両の前方の画像を得ることができる位置に取
り付けられ、CCDリニアセンサ16の水平出力シフト
レジスタから各光電素子毎の輝度に関する情報をシリア
ル信号として出力する。
ック図であり、CCDカメラ10を有している。このC
CDカメラ10はレンズ12、絞り14からなる光学系
と、−次元に配置された充電変換素子を有するCCDリ
ニアセンサ16からなっている。そして、CCDカメラ
10は、車両の前方の画像を得ることができる位置に取
り付けられ、CCDリニアセンサ16の水平出力シフト
レジスタから各光電素子毎の輝度に関する情報をシリア
ル信号として出力する。
CCDカメラ10には、白線検出ECU20が接続され
ている。この白線検出ECU20はCCDカメラ10か
ら入力される信号を増幅すると共に波形をなまらせるア
ンプ22、AD変換器24CPU26、CPUの動作に
ついてのプログラムを記憶するROM28、CPU26
における処理の際に記憶エリア等として使用するRAM
30、入出力動作のための110部32からなっている
。
ている。この白線検出ECU20はCCDカメラ10か
ら入力される信号を増幅すると共に波形をなまらせるア
ンプ22、AD変換器24CPU26、CPUの動作に
ついてのプログラムを記憶するROM28、CPU26
における処理の際に記憶エリア等として使用するRAM
30、入出力動作のための110部32からなっている
。
そして、この白線検出ECU20によって検出された白
線についての情報が車両制御ECU40に供給され、こ
の車両制御11EcU40が車両の操舵等を制御し、検
出した白線に沿った車両の走行が行われるよう制御する
。
線についての情報が車両制御ECU40に供給され、こ
の車両制御11EcU40が車両の操舵等を制御し、検
出した白線に沿った車両の走行が行われるよう制御する
。
次に、CCDカメラ10における白線検出の機構につい
て第2図に基づいて説明する。
て第2図に基づいて説明する。
CCDカメラ10は、そのレンズ12の前方Llの距離
の画像を取り込むように車両に設置されている。そして
、レンズ12の焦点距離はfであり、レンズ12の後方
L2の距離にあるCCDリニアセンサ16において結像
するようになっている。そこで、CCDリニアセンサ1
6の横幅Wにおいて検出できる前方の画像の幅はWとな
る。
の画像を取り込むように車両に設置されている。そして
、レンズ12の焦点距離はfであり、レンズ12の後方
L2の距離にあるCCDリニアセンサ16において結像
するようになっている。そこで、CCDリニアセンサ1
6の横幅Wにおいて検出できる前方の画像の幅はWとな
る。
そこで、レンズ12の前方LLにおいて、白線がその中
心線よりXずれた位置にあれば、CCDリニアセンサ1
6において、この白線が結像される位置は、一義的に決
定される。そして、このCCDリニアセンサ16の幅W
における素子数をNとし、CCDリニアセンサ16にお
ける中心がらの素子数を1とすれば、白線の車両の中心
線がらの距離Xは次のように表されることとなる。
心線よりXずれた位置にあれば、CCDリニアセンサ1
6において、この白線が結像される位置は、一義的に決
定される。そして、このCCDリニアセンサ16の幅W
における素子数をNとし、CCDリニアセンサ16にお
ける中心がらの素子数を1とすれば、白線の車両の中心
線がらの距離Xは次のように表されることとなる。
まず、凸レンズ公式より、
1/Ll +1/L2−1/f
であり、その倍率より、
W−w拳Ll/L2
である。
このため、
W=wΦ (Ll +f)/f
となり、
x−(W/N)・ (N/2−1)
となる。
そこで、白線がCCDリニアセンサ16における何番目
(1)の素子において検出されるがを調べれば、白線の
位’Ilxを検出することができる。
(1)の素子において検出されるがを調べれば、白線の
位’Ilxを検出することができる。
次に、上述のような原理を利用した、白線検出ECU2
0におけるCCDカメラ1oがらの信号処理(白線検出
)について説明する。
0におけるCCDカメラ1oがらの信号処理(白線検出
)について説明する。
第3図は白線検出処理の全体動作を説明するフローチャ
ートであり、まずCCDカメラ1oにおける露光量が所
定範囲に収まるように露光制御する(Sl)。そして、
所定の露光制御が行われたCCDカメラ10からの各素
子毎の輝度信号をAD変換器24においてデジタルデー
タに変換する(S2)。ここで、CCDカメラ1oがら
のデータの出力は、CCDリニアセンサ16の水平出力
シフトレジスタに供給されるクロックによって決定され
るため、このAD変換器24におけるクロック周波数も
これに同期したものとする。なお、この例におけるCC
Dリニアセンサの有効素子数は、1024個であるため
、s2においては、1024個のデジタルデータが順次
出力されることとなる。
ートであり、まずCCDカメラ1oにおける露光量が所
定範囲に収まるように露光制御する(Sl)。そして、
所定の露光制御が行われたCCDカメラ10からの各素
子毎の輝度信号をAD変換器24においてデジタルデー
タに変換する(S2)。ここで、CCDカメラ1oがら
のデータの出力は、CCDリニアセンサ16の水平出力
シフトレジスタに供給されるクロックによって決定され
るため、このAD変換器24におけるクロック周波数も
これに同期したものとする。なお、この例におけるCC
Dリニアセンサの有効素子数は、1024個であるため
、s2においては、1024個のデジタルデータが順次
出力されることとなる。
このデジタル信号は、RAM30の所定の場所に記憶さ
れる。そして、このようにして得られたCCDカメラ1
0からの輝度信号の最大値検出及び平均値検出を行い、
この最大値及び平均値の和を2分の1してしきい値を算
出する(S3)。
れる。そして、このようにして得られたCCDカメラ1
0からの輝度信号の最大値検出及び平均値検出を行い、
この最大値及び平均値の和を2分の1してしきい値を算
出する(S3)。
次に、しきい値と1024個の輝度データを順次比較し
、二鎖化する(S4)。ここで、このしきい値として上
述の83において算出した今回のしきい値を利用せず、
前回以前のしきい値を利用する。このため、白線がなく
なった場合においても、そのときのデータから算出した
異常なしきい値を利用した二値化が行われず、前回以前
の正常なしきい値を利用して正確な二値化を行うことが
できる。
、二鎖化する(S4)。ここで、このしきい値として上
述の83において算出した今回のしきい値を利用せず、
前回以前のしきい値を利用する。このため、白線がなく
なった場合においても、そのときのデータから算出した
異常なしきい値を利用した二値化が行われず、前回以前
の正常なしきい値を利用して正確な二値化を行うことが
できる。
すなわち、正常時においては、第4図(A)に示すよう
にCCDカメラ10の素子毎の輝度が白線部分において
高くなる。そして、(最大値士平均値)/2をしきい値
として、正しい二値化が行われる。ところが、白線がな
くなった場合には、第4図(B)に示すように、(kk
大値+平均v1)/2をしきい値をしきい値とすると、
路面に於ける小さな輝度変化を白線として検出してしま
う。
にCCDカメラ10の素子毎の輝度が白線部分において
高くなる。そして、(最大値士平均値)/2をしきい値
として、正しい二値化が行われる。ところが、白線がな
くなった場合には、第4図(B)に示すように、(kk
大値+平均v1)/2をしきい値をしきい値とすると、
路面に於ける小さな輝度変化を白線として検出してしま
う。
ところが、本実施例によれば、前回以前のしきい値を利
用しているため、第4図(C)に示すように白線がない
ことを正確に判定できる。
用しているため、第4図(C)に示すように白線がない
ことを正確に判定できる。
また、このような二値化処理我終了した場合には、次に
白線エツジの検出を行う(S5)。なお、本実施例では
、二値化処理と白線エツジ検出は同一ループ内にて順次
行う。このように、二値化処理、白線エツジ検出(S4
.S5)を順次行い、全データについて処理が終った場
合には、得られた白線エツジのデータに基づいて、白線
座標を出力する(S6)。
白線エツジの検出を行う(S5)。なお、本実施例では
、二値化処理と白線エツジ検出は同一ループ内にて順次
行う。このように、二値化処理、白線エツジ検出(S4
.S5)を順次行い、全データについて処理が終った場
合には、得られた白線エツジのデータに基づいて、白線
座標を出力する(S6)。
このようにして、白線検出ECU20は得られた白線の
座標を車両制御ECU40にO(給する。
座標を車両制御ECU40にO(給する。
ここで、白線の座標は、白線の中央からの距Mxに対応
している。そこで、車両制御ECU40は白線の座標よ
り距Mxを算出し、これに基づいて車両の操舵制御を行
い、白線に沿った車両の自動走行を達成する。
している。そこで、車両制御ECU40は白線の座標よ
り距Mxを算出し、これに基づいて車両の操舵制御を行
い、白線に沿った車両の自動走行を達成する。
しきい値算出
本実施例におけるしきい値算出の動作について、第5図
に基づいて説明する。
に基づいて説明する。
まず、初期設定として変数avb、maxd。
adcountの3つの変数を0にリセットすると共に
、AD変換して得られた輝度データのRAM30におけ
る先頭アドレス(eoooh)を変数AにセットすZ
(SIOI 〜3103)、なお、ここでセットされた
各変数の値は、RAM30において記憶される。
、AD変換して得られた輝度データのRAM30におけ
る先頭アドレス(eoooh)を変数AにセットすZ
(SIOI 〜3103)、なお、ここでセットされた
各変数の値は、RAM30において記憶される。
次に、adcoun tが400h (1024)に至
ったか否かを判定する(S 104)。これは、CCD
リニアセンサ16における有効な素子数(幅Wの範囲の
素子数)、すなわち−度の撮影時にAD変換器24がら
出力されるデータの数に対応している。そこで、adc
ountが1024に至ったことで、全データの処理が
終了したことを判定できる。
ったか否かを判定する(S 104)。これは、CCD
リニアセンサ16における有効な素子数(幅Wの範囲の
素子数)、すなわち−度の撮影時にAD変換器24がら
出力されるデータの数に対応している。そこで、adc
ountが1024に至ったことで、全データの処理が
終了したことを判定できる。
adcountが1024以下であった場合には、デー
タの処理がまだ終了していないため、変数bc、ax、
upに次のようなデータを入力する(S 105)。
タの処理がまだ終了していないため、変数bc、ax、
upに次のようなデータを入力する(S 105)。
c−A
aX”adcOunt
up−bc+ax
ここで、変数upにはCCDリニアセンサ16で得られ
た1o24の輝度信号が格納されるRAM30における
アドレスが順次指定されることとなる。そして、このu
pで指定されたアドレスのデータを読み出し、これを変
数DATAの値として人力する(5105)。
た1o24の輝度信号が格納されるRAM30における
アドレスが順次指定されることとなる。そして、このu
pで指定されたアドレスのデータを読み出し、これを変
数DATAの値として人力する(5105)。
次に、最大値の検出のために、DATAが最大ff1m
axdより小さいが否がを判定する(5106)。そし
て、DATAがmaxdより大きい場合には、これを最
大値とすべきであり、変数maxdにDATAを入力し
て、この値を更新する(S107)。一方、DATAが
最大でない場合には、最大値maxdを更新する必要は
ないため、5107を通らずに、次の処理に移る。
axdより小さいが否がを判定する(5106)。そし
て、DATAがmaxdより大きい場合には、これを最
大値とすべきであり、変数maxdにDATAを入力し
て、この値を更新する(S107)。一方、DATAが
最大でない場合には、最大値maxdを更新する必要は
ないため、5107を通らずに、次の処理に移る。
次に、平均値avb算出のために、DATAの値をデー
タ数1024で除算した値を順次加算する(5108)
、そして、adcOuntに1を加算しく5109)、
5104に戻る。
タ数1024で除算した値を順次加算する(5108)
、そして、adcOuntに1を加算しく5109)、
5104に戻る。
このようにして、最大値、平均値の算出(S107.5
108)をデータ数が1024に至るまで繰り返ことと
なり、全て(1024個)のデータについての処理が終
わった場合に、53021こおいてYESとなり、しき
い1ithlを次式によって算出する(S 110)。
108)をデータ数が1024に至るまで繰り返ことと
なり、全て(1024個)のデータについての処理が終
わった場合に、53021こおいてYESとなり、しき
い1ithlを次式によって算出する(S 110)。
t hJO−(a vb+ma xd)/2このように
、本実施例においては、CCDリニアセンサ16によっ
て得られた全ての素子にお1するデータの平均値と最大
値の中間の値がしき(1tbjoとなる。
、本実施例においては、CCDリニアセンサ16によっ
て得られた全ての素子にお1するデータの平均値と最大
値の中間の値がしき(1tbjoとなる。
二値化、エツジ検出処理
次に、第5図に基づいて二値化処理、エツジ検出処理に
ついて説明する。
ついて説明する。
まず、次のように各変数に初期値をセットする。
(5201)。
白線部継続カウント許可フラグcokl=o。
路面部継続カウント許可フラグcok2wO,白線継続
カウンタf c 1 = Or路面継続カウンタfc2
−0.白線部エツジ候補座標wn01=0゜白線部エツ
ジ候補座標Wn02−0.白線検出フラグfwl=o、
白線右エツジカウンタw(H]=0、路面検出フラグf
w2−L 白線部エツジカウンタw c 2 = 0 また、上述のしきい値算出の場合と同様に、変数Aに輝
度データの先頭アドレス(eoooh)を人力しく52
02) 、1024個のデータのナンバーを表すAD変
換データカウンタadcountを0にセットする(8
203)。
カウンタf c 1 = Or路面継続カウンタfc2
−0.白線部エツジ候補座標wn01=0゜白線部エツ
ジ候補座標Wn02−0.白線検出フラグfwl=o、
白線右エツジカウンタw(H]=0、路面検出フラグf
w2−L 白線部エツジカウンタw c 2 = 0 また、上述のしきい値算出の場合と同様に、変数Aに輝
度データの先頭アドレス(eoooh)を人力しく52
02) 、1024個のデータのナンバーを表すAD変
換データカウンタadcountを0にセットする(8
203)。
まず、adcoun tが1024 (400h)に至
り全データの処理が終了したかを判定する(5204)
。そして、処理が終了していない場合には、変数bc、
ax、upにA、 a d c o unt、bc+
axの値を代入するとともに、upで決定されるアドレ
スの輝度データの値を変数DATAに入力する(S20
5)。
り全データの処理が終了したかを判定する(5204)
。そして、処理が終了していない場合には、変数bc、
ax、upにA、 a d c o unt、bc+
axの値を代入するとともに、upで決定されるアドレ
スの輝度データの値を変数DATAに入力する(S20
5)。
次に、二値化処理を行うが、まず変数DATAとしきい
値thJを比較する(S206)。
値thJを比較する(S206)。
ここで、このttB2は上述の8110で算出されたt
hJOとは異なる。すなわち、このしき(1値thtは
今回の処理において算出されたしきい値ではなく前回以
前の処理において算出されたものである。
hJOとは異なる。すなわち、このしき(1値thtは
今回の処理において算出されたしきい値ではなく前回以
前の処理において算出されたものである。
そして、DATA≦thJの場合には路面部であるため
、白線部の継続検出数を表わす変数fc1−0.白線左
エツジの検出座標を示す変数wn01−0.路面検出を
示す変数fw2−1にセットする(5207)。
、白線部の継続検出数を表わす変数fc1−0.白線左
エツジの検出座標を示す変数wn01−0.路面検出を
示す変数fw2−1にセットする(5207)。
次に、fwl=1か否かを判定する(S208)。fw
lは5201において初期設定としては0にセットされ
ており、白線を検出した際、すなわちDATA>thJ
の場合に1にセットされるものである。従って、520
6においてデータが≦th4であり、5208において
f w 1が1であるということは、白線の右エツジを
検出したことを意味している。そこで、5208におい
てfwl−1であれば、路面の検出が検出されたため、
fwl=oとするとともに、右エツジの検出位置を示す
変数wn02=adcount、路面継続カウント許可
フラグcok2=1とする(8209)。
lは5201において初期設定としては0にセットされ
ており、白線を検出した際、すなわちDATA>thJ
の場合に1にセットされるものである。従って、520
6においてデータが≦th4であり、5208において
f w 1が1であるということは、白線の右エツジを
検出したことを意味している。そこで、5208におい
てfwl−1であれば、路面の検出が検出されたため、
fwl=oとするとともに、右エツジの検出位置を示す
変数wn02=adcount、路面継続カウント許可
フラグcok2=1とする(8209)。
ここで、エツジを検出した場合にそのadc。
untの値をそのままエツジ位置として記憶してもよい
が、この例においては、右エツジを検出した後、次のデ
ータも白線でない場合にのみその位置を右エツジと判定
し、誤判定の発生を抑制する。
が、この例においては、右エツジを検出した後、次のデ
ータも白線でない場合にのみその位置を右エツジと判定
し、誤判定の発生を抑制する。
このために、路面継続カウント許可フラグcok2−1
としている。
としている。
次に、路面継続許可フラグcok2が1か否かを判定す
る(S 210)。cok2が1であった場合には、路
面継続カウンタfc2に1を加蛋しく5211) 、c
ok2が1でなかった場合には、この加算は行わず、次
にfc2が2であるか否かを判定する(5212)、こ
のfc2は5211を2回続けて通った場合、すなわち
しきい[thオ以下のデータが2つ続いた場合に2とな
っている。そこで、fc2が2である場合には、右エツ
ジカウンタWC2で特定される白線部エツジ座標を示す
配列変数wn2[wc2]に上述の8209でセットさ
れた白線右エツジ候補座標wn02の値を記憶する。ま
た、変数cok2.fc2を0にリセットすると共に、
右エツジカウンタWC2に1を加算する。従って、次回
の右エツジ検出の場合には、WC2が1多い数となって
いる。このため、配列変数wn2に次の右エツジの位置
が記憶できることとなる。5212においてfc2く2
の場合及び8213の処理をおえた場合には、右エツジ
についての処理が終了したため、adcoun tに1
を加算しく5214) 、5204に戻る。
る(S 210)。cok2が1であった場合には、路
面継続カウンタfc2に1を加蛋しく5211) 、c
ok2が1でなかった場合には、この加算は行わず、次
にfc2が2であるか否かを判定する(5212)、こ
のfc2は5211を2回続けて通った場合、すなわち
しきい[thオ以下のデータが2つ続いた場合に2とな
っている。そこで、fc2が2である場合には、右エツ
ジカウンタWC2で特定される白線部エツジ座標を示す
配列変数wn2[wc2]に上述の8209でセットさ
れた白線右エツジ候補座標wn02の値を記憶する。ま
た、変数cok2.fc2を0にリセットすると共に、
右エツジカウンタWC2に1を加算する。従って、次回
の右エツジ検出の場合には、WC2が1多い数となって
いる。このため、配列変数wn2に次の右エツジの位置
が記憶できることとなる。5212においてfc2く2
の場合及び8213の処理をおえた場合には、右エツジ
についての処理が終了したため、adcoun tに1
を加算しく5214) 、5204に戻る。
一方、5206においてDATA>thJと判定され、
白線部分を検出した場合には、次のようにして左エツジ
の検出を行う。
白線部分を検出した場合には、次のようにして左エツジ
の検出を行う。
まず、路面継続カウンタfc2.左エツジ候補座標wn
02を0にリセットし、白線検出フラグfwlを1にセ
ットする(S 215)。すなわち、fc2は路面のデ
ータが続い上敷を示す変数であるため、白線についての
データが検出した場合に0にリセットする。また、wn
02は右エツジの候補座標についての変数であるが、左
エツジの検出のループに入ったためここでリセットする
。さらに、fwlは白線部を検出したことを示すフラグ
であり、ここでfw−1とする。
02を0にリセットし、白線検出フラグfwlを1にセ
ットする(S 215)。すなわち、fc2は路面のデ
ータが続い上敷を示す変数であるため、白線についての
データが検出した場合に0にリセットする。また、wn
02は右エツジの候補座標についての変数であるが、左
エツジの検出のループに入ったためここでリセットする
。さらに、fwlは白線部を検出したことを示すフラグ
であり、ここでfw−1とする。
次にfw2=1か否かを判定する(S 216)。
このfw2は、路面を検出した時に1にセットされるも
のであるため、ここにおいてfw2−1であることによ
り、路面より白線に移ったこと、すなわち左エツジを認
識する。そして、路面を検出したことを示す変数fw2
を0にリセットし、左エツジ候補座標wn01にadc
oun tの値を入力し、左エツジ検出カウンタcok
lを1にセットする(S 217)。
のであるため、ここにおいてfw2−1であることによ
り、路面より白線に移ったこと、すなわち左エツジを認
識する。そして、路面を検出したことを示す変数fw2
を0にリセットし、左エツジ候補座標wn01にadc
oun tの値を入力し、左エツジ検出カウンタcok
lを1にセットする(S 217)。
そして、次に白線継続カウント許可フラグC0k1及び
白線継続カウンタfclを用いて、白線部が2つ続いて
右エツジを検出されたか否かを判定する。
白線継続カウンタfclを用いて、白線部が2つ続いて
右エツジを検出されたか否かを判定する。
このために、まずcoklが1であるかを判定する(8
218)。そして、coklが1であれば、左エツジを
検出したしたため、左エツジ検出時の白線検出数を示す
左エツジカウンタfclに1を加算する(S 219)
。次に、fclが2であるか否かを判定し、2であれば
、路面から白線に移り、白線のデータが2つ続いたこと
を意味しているため、5217で入力された候補座41
wn01の鎖をwclで特定される配列変数wn12[
wn01]に人力する。これによって、検出された白線
部エツジの位置が記憶される。また、この入力がなされ
たため、フラグcokl=1.fC1−0にリセットす
ると共に、右エツジの数を示す変数wclに1を加算す
る(S221)。そして、adcountに1を加算し
く3214゜5204)に戻る。
218)。そして、coklが1であれば、左エツジを
検出したしたため、左エツジ検出時の白線検出数を示す
左エツジカウンタfclに1を加算する(S 219)
。次に、fclが2であるか否かを判定し、2であれば
、路面から白線に移り、白線のデータが2つ続いたこと
を意味しているため、5217で入力された候補座41
wn01の鎖をwclで特定される配列変数wn12[
wn01]に人力する。これによって、検出された白線
部エツジの位置が記憶される。また、この入力がなされ
たため、フラグcokl=1.fC1−0にリセットす
ると共に、右エツジの数を示す変数wclに1を加算す
る(S221)。そして、adcountに1を加算し
く3214゜5204)に戻る。
このような動作adcount=1024まで繰り返し
、右エツジ及び左エツジの位置を検出した数だけ記憶す
ることができる。また、その検出した数は、wcl、w
c2に記憶される。そして、5204においてadco
untが1024に至ったことを判定した場合には、全
データについての白線エツジ検出が終了したため、二値
化、白線エツジ検出の動作を終了し、検出エツジ補正の
処理を行う。
、右エツジ及び左エツジの位置を検出した数だけ記憶す
ることができる。また、その検出した数は、wcl、w
c2に記憶される。そして、5204においてadco
untが1024に至ったことを判定した場合には、全
データについての白線エツジ検出が終了したため、二値
化、白線エツジ検出の動作を終了し、検出エツジ補正の
処理を行う。
検出エツジ補正
次に、第6図に基づいて、検出エツジ補正について説明
する。
する。
上述のようにして、左右エツジの位置を配列変数wn
1 [wc 1] 、wn2 [wc2]に入力した場
合には、WCI、WC2より1を減算する。
1 [wc 1] 、wn2 [wc2]に入力した場
合には、WCI、WC2より1を減算する。
これは、上述のエツジ検出の処理の際にwcl。
wc2に1を加算している(S213,5221)ため
、これを実際に配列変数に使用された変数Wcl、wc
2をその鎖に戻すためである(S401)。
、これを実際に配列変数に使用された変数Wcl、wc
2をその鎖に戻すためである(S401)。
そしてwclとWC2を比較する(S 402)。
wcl<wc2の場合には、左エツジの数が右エツジの
数より小さいことを意味しており、カメラの画像の左端
に白線がかかっていることを意味している。このため、
この左端に左エツジを挿入することで、画面の左端にか
かった白線を認識することができる。
数より小さいことを意味しており、カメラの画像の左端
に白線がかかっていることを意味している。このため、
この左端に左エツジを挿入することで、画面の左端にか
かった白線を認識することができる。
そこで、変数jにwclの値を代入しく8403)、こ
のjの値を1と比較する(S404)。
のjの値を1と比較する(S404)。
そして、j〉1の場合には、変数aXにjの値を代入し
、このaxによって特定される配列変数wn 1 [a
xlの値を変数upに代入する(S405)。次に、
変数aXにj+lを代入し、このaxによって特定され
る配列変数wnl[ax]に上述の8405で得られた
変数upの値を入力する(5406)、これによってw
nl[j]の値がwnl[j+1]の値に変換される。
、このaxによって特定される配列変数wn 1 [a
xlの値を変数upに代入する(S405)。次に、
変数aXにj+lを代入し、このaxによって特定され
る配列変数wnl[ax]に上述の8405で得られた
変数upの値を入力する(5406)、これによってw
nl[j]の値がwnl[j+1]の値に変換される。
そして、jの値を1減算しく5407) 、5404に
戻る。
戻る。
このようにしてjが1になるまで、この処理を繰り返す
ため、配列変数wn 1 [wc 1]に人力されてい
た値がそれぞれwnl [wcl+1]に変換される
。すなわち、wnlの値としてn個の値があり、これが
wn 1 [1] 〜wn 1 [n]の値として記
憶されていた場合、この処理によりWnl [2] 〜
wnl [n+1]の値に変換される。
ため、配列変数wn 1 [wc 1]に人力されてい
た値がそれぞれwnl [wcl+1]に変換される
。すなわち、wnlの値としてn個の値があり、これが
wn 1 [1] 〜wn 1 [n]の値として記
憶されていた場合、この処理によりWnl [2] 〜
wnl [n+1]の値に変換される。
次に、wnl [1]にOの値を代入する(S408)
。これによって配列変数wnlの値として素子ナンバー
〇が強制的に挿入され、左エツジが検出できなかった場
合にも、これが挿入される。
。これによって配列変数wnlの値として素子ナンバー
〇が強制的に挿入され、左エツジが検出できなかった場
合にも、これが挿入される。
また、wclに1を加算して、wclの値を戻しておく
(S409)。
(S409)。
一方、5402において、wcl≧WC2・であった場
合には、右エツジが欠けているか、両者が同数である。
合には、右エツジが欠けているか、両者が同数である。
そこで、次にwc2とwclを比較する(S410)。
ここで、wc2≧wclであった場合には、両者が等し
いことを意味しており、補正処理は不要である。
いことを意味しており、補正処理は不要である。
更に、wc2の方がwclより小さかった場合には、右
エツジ挿入の補正を行わねばならない。
エツジ挿入の補正を行わねばならない。
そこで、wc2に1を加算しくS411) 、このwc
2によって特定される配列変数wn2[wc2]に10
23を強制挿入する(S412)。これによって右エツ
ジとして、視野の右端の値が挿入されることとなる。
2によって特定される配列変数wn2[wc2]に10
23を強制挿入する(S412)。これによって右エツ
ジとして、視野の右端の値が挿入されることとなる。
このようにして、左エツジが欠けた場合には、カメラ視
野の左端を左エツジの値として入力し、ラインが右端に
かかり右エツジが欠けた場合には、カメラ視野の右端で
ある1023の値が右エツジの位置として入力される。
野の左端を左エツジの値として入力し、ラインが右端に
かかり右エツジが欠けた場合には、カメラ視野の右端で
ある1023の値が右エツジの位置として入力される。
白線座標出力
次に、白線座標の出力について第7図に基づいて説明す
る。
る。
上述のようにしてエツジ検出ができた場合には、まずw
cl又は及びwc2の両方が0か否かを判定する(53
01)、このwcl及びwc2は白線位置検出の数を表
すものであり、両者とも0であれば、白線が検出できな
かったことを示している。そこで、この場合には、エラ
ーコードである256 (80h)をシリアル出力(S
OUT)して(5302)、処理を終了する。このため
、この場合には、しきい値thJの更新は行われず、次
の処理ループにおいても今回の利用されたしきい値を利
用した二値化が行われる。
cl又は及びwc2の両方が0か否かを判定する(53
01)、このwcl及びwc2は白線位置検出の数を表
すものであり、両者とも0であれば、白線が検出できな
かったことを示している。そこで、この場合には、エラ
ーコードである256 (80h)をシリアル出力(S
OUT)して(5302)、処理を終了する。このため
、この場合には、しきい値thJの更新は行われず、次
の処理ループにおいても今回の利用されたしきい値を利
用した二値化が行われる。
次に、wclとwc2を比較する(S 303)。
そして、両者が等しくない場合には、右エツジの数と左
エツジの数が相違しており、白線が正確に検出されなか
ったのであり、5302に進む。
エツジの数が相違しており、白線が正確に検出されなか
ったのであり、5302に進む。
一方、wc1mwc2であった場合には、白線検出が正
常に行われたものであり、この時の白線位置座標を次の
ようにして出力する。まず何番目の白線であるかを示す
変数nn5ww0にセットしく5304)、このnnと
検出された白線の数Wc1とを比較する(S 305)
。
常に行われたものであり、この時の白線位置座標を次の
ようにして出力する。まず何番目の白線であるかを示す
変数nn5ww0にセットしく5304)、このnnと
検出された白線の数Wc1とを比較する(S 305)
。
nnIJ<wc1以下であれば、白線の左右エツジ座標
より白線の中央位置aを次式によって算出する(530
6)。
より白線の中央位置aを次式によって算出する(530
6)。
a−(wnl [nn] +wn2 [nn] )/2
そして、このaを白線座標としてシリアル出力する(S
307)。なお、このaはCCDリニアセンサ16の素
子ナンバーとなっている。
そして、このaを白線座標としてシリアル出力する(S
307)。なお、このaはCCDリニアセンサ16の素
子ナンバーとなっている。
次に、nnに1を加算しく5308)、5305に戻る
。そして、nn>wclになるまで、この処理を繰り返
す。そして、nn=wclとなり、全データ二ついての
白線出力が終了した場合には、しきい値thJに今回算
出したしきい1thj!。
。そして、nn>wclになるまで、この処理を繰り返
す。そして、nn=wclとなり、全データ二ついての
白線出力が終了した場合には、しきい値thJに今回算
出したしきい1thj!。
を入力して値を更新する。このようにしきい値thJを
更新することにより、しきい値の時間的な遅れを最小限
に抑制できる。そして、白線がない場合に算出された異
常なしきい値は排除することができる。従って、路面の
状態に応じてしきい値を変更できるとともに、白線がな
しの判定も正確に行うことができる。
更新することにより、しきい値の時間的な遅れを最小限
に抑制できる。そして、白線がない場合に算出された異
常なしきい値は排除することができる。従って、路面の
状態に応じてしきい値を変更できるとともに、白線がな
しの判定も正確に行うことができる。
[発明の効果]
以上説明したように、本発明に係るライン検出装置によ
れば、輝度信号の最大値及び平均値の両方に基づいたし
きい値を用いて二値化を行うため、精度のよい白線検出
が行え、更に前回以前に算出したしきい値を利用して二
値化を行うため、白線なしの判定を正確に行うことがで
きる。従って、このライン検出装置を利用して、好適な
車両の自動走行が行える。
れば、輝度信号の最大値及び平均値の両方に基づいたし
きい値を用いて二値化を行うため、精度のよい白線検出
が行え、更に前回以前に算出したしきい値を利用して二
値化を行うため、白線なしの判定を正確に行うことがで
きる。従って、このライン検出装置を利用して、好適な
車両の自動走行が行える。
第1因は本発明に係るライン検出装置の一実施例を示す
構成ブロック図、 第2図はCCDカメラにおける位置検出を説明するため
の説明図、 第3図は白線検出ECUにおける処理動作を説明するた
めのフローチャート、 第4図(A)、 CB)、 (C)は各種状態に於
ける白線二値化の状態を説明するための説明図、第5図
はしきい値計算の動作を示すフローチャート、 第6図はエツジ検出、二値化処理の動作を示すフローチ
ャート、 第7図は検出エツジ補正の動作を示すフローチャート、 第8図は白線座標出力の動作を示すフローチャートであ
る。 10 ・・・ CCDカメラ 20 ・・・ 白線検出ECU 24 ・・・ AD変換器 26 ・・・ CPU
構成ブロック図、 第2図はCCDカメラにおける位置検出を説明するため
の説明図、 第3図は白線検出ECUにおける処理動作を説明するた
めのフローチャート、 第4図(A)、 CB)、 (C)は各種状態に於
ける白線二値化の状態を説明するための説明図、第5図
はしきい値計算の動作を示すフローチャート、 第6図はエツジ検出、二値化処理の動作を示すフローチ
ャート、 第7図は検出エツジ補正の動作を示すフローチャート、 第8図は白線座標出力の動作を示すフローチャートであ
る。 10 ・・・ CCDカメラ 20 ・・・ 白線検出ECU 24 ・・・ AD変換器 26 ・・・ CPU
Claims (1)
- 【特許請求の範囲】 車両に搭載され、道路に沿って設けられたガイドライン
を検出するライン検出装置であって、所定範囲の道路の
画像を繰り返し得るカメラと、このカメラで得られた一
回ごとの画像全体の輝度の平均値を算出する平均値算出
手段と、 前記一回の画像中の輝度の最大値を検出する最大値検出
手段と、 前記平均値及び最大値の両方に基づいて、しきい値を算
出するしきい値算出手段と、 このしきい値算出手段によって前回以前の処理ループに
おいて算出されたしきい値を記憶するしきい値記憶手段
と、 前記画像の輝度を前記しきい値記憶手段に記憶されてい
るしきい値を用いて二値化する二値化手段と、 二値化した結果に基づいて画像中のライン部分を判定す
るライン判定手段と、 このライン判定手段においてライン部分が検出できた場
合には、前記しきい値記憶手段において記憶されている
しきい値を今回の処理によって算出されたしきい値に入
れ替えるしきい値更新手段と、 を有することを特徴とするライン検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2285412A JPH04158412A (ja) | 1990-10-22 | 1990-10-22 | ライン検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2285412A JPH04158412A (ja) | 1990-10-22 | 1990-10-22 | ライン検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04158412A true JPH04158412A (ja) | 1992-06-01 |
Family
ID=17691186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2285412A Pending JPH04158412A (ja) | 1990-10-22 | 1990-10-22 | ライン検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04158412A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010092403A (ja) * | 2008-10-10 | 2010-04-22 | Hitachi Automotive Systems Ltd | 道路標示認識システム |
-
1990
- 1990-10-22 JP JP2285412A patent/JPH04158412A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010092403A (ja) * | 2008-10-10 | 2010-04-22 | Hitachi Automotive Systems Ltd | 道路標示認識システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4856612B2 (ja) | 物体検出装置 | |
US5650944A (en) | Shutter speed control method and system | |
US5410346A (en) | System for monitoring condition outside vehicle using imaged picture by a plurality of television cameras | |
US8437536B2 (en) | Environment recognition system | |
JP2887039B2 (ja) | 車両周辺監視装置 | |
US20090190800A1 (en) | Vehicle environment recognition system | |
JP2000357233A (ja) | 物体認識装置 | |
US8538205B2 (en) | Multi-function summing machine | |
CN111583659B (zh) | 一种车辆违章判定方法、装置、设备及介质 | |
JP2007293672A (ja) | 車両用撮影装置、車両用撮影装置の汚れ検出方法 | |
US20130156337A1 (en) | Method for removing noise of image | |
JPH04158412A (ja) | ライン検出装置 | |
JPH04243491A (ja) | 自動車用画像追尾装置 | |
Takahashi et al. | Traffic Flow Measuring System by Image Processing. | |
JP2833248B2 (ja) | ライン検出装置 | |
JP3452076B2 (ja) | 車輌用距離検出装置 | |
JP3196559B2 (ja) | ライン認識方法 | |
JPH04158411A (ja) | ライン検出装置 | |
JPH04158410A (ja) | ライン検出装置 | |
JP3081660B2 (ja) | 距離検出方法 | |
JPH04152406A (ja) | ライン検出装置 | |
JP2635232B2 (ja) | 車間距離検出装置 | |
JP3517999B2 (ja) | 車両認識装置 | |
JP2002366932A (ja) | 物体検出装置及びその方法 | |
JP2833249B2 (ja) | ライン検出装置 |