以下、本発明に係る停止線検出装置の実施の形態について、図面を参照して説明する。
[第1の実施の形態]
第1の実施形態に係る停止線検出装置1は、図1に示すように、主に撮像手段2と処理部5とで構成されている。撮像手段2は、本実施形態では、例えばCCDやCMOSセンサ等のイメージセンサが内蔵されたカメラ等の単眼の撮像手段が用いられているが、複数設けられた撮像手段のうちの単数または複数の撮像手段により撮像された単数または複数の画像に対して本発明に係る処理を施すように構成することも可能である。
なお、本実施形態では、撮像手段2を構成する図示しない各撮像素子によりモノクロ(白黒)の輝度Dのデータが取得されるようになっており、1つの撮像素子が画像中の1画素に対応する。また、本実施形態では、後述するように、撮像手段2の各撮像素子(すなわち各画素)ごとに撮像された各輝度Dのデータを、変換手段3でそれぞれ例えば0〜255の256階調のグレースケールの輝度としてのデジタル値の輝度Dのデータに変換する場合について説明するが、本発明はこれに限定されず、撮像手段2の各撮像素子で例えばRGB値等で表されるカラーの画像データを撮像する場合についても本発明が適用される。
また、本実施形態では、撮像手段2は、例えば図2に示すような画像Tを撮像する場合、画像Tの各水平ラインjの最も左側の撮像素子から順に右方向に走査し、また、走査する水平ラインjを最も下側のラインから順に上方に切り替えながら撮像するようにして、各撮像素子で撮像された順に各輝度Dのデータを変換手段3に順次送信するようになっている。
変換手段3は、A/Dコンバータで構成されており、撮像手段2で各撮像素子(各画素)ごとに撮像された各輝度Dのデータが順次送信されてくると、各輝度Dをそれぞれデジタル値の輝度Dに変換して画像補正部4に出力するようになっている。画像補正部4は、送信されてきた各輝度Dに対してずれやノイズの除去、輝度の補正等の画像補正を順次行い、画像補正した各輝度Dのデータを処理部5に順次送信するようになっている。
処理部5は、本実施形態では、図示しないCPU(Central Processing Unit)やROM(Read Only Memory)、RAM(Random Access Memory)、入出力インターフェース等がバスに接続されたコンピュータで構成されている。処理部5は、状態保存手段6や開始点終了点候補検出手段7、停止線候補検出手段8、停止線検出手段9を備えているが、さらに、他の処理を行うように構成することも可能である。
状態保存手段6は、本実施形態ではRAMに構成されており、図3(A)に示すように仮に画像Tの横方向を複数の所定幅の画素列plに分割した場合の各画素列plごとに停止線の検出状態を保存するようになっている。本実施形態では、画素列plの所定幅は1画素幅に設定されており、図3(B)に示すように、画像Tの横方向の1画素幅の画素列plごとに、停止線の検出状態を表す状態フラグFが割り当てられて保存されるようになっている。
また、停止線の検出状態としては、開始点候補を探索中である旨を表す状態と、終了点候補を探索中である旨を表す状態とを切り替えて保存することができるようになっており、具体的には、前者の状態に対応する状態フラグFとして0が保存され、後者の状態に対応する状態フラグFとして1が保存されるようになっている。
なお、初期状態では、各画素列plとも停止線があるかないかを探索している状態であるから、図3(B)に示すように、状態保存手段6における画素列plごとの停止線の検出状態には、初期状態として、開始点候補を探索中である旨を表す状態、すなわち状態フラグFとして0が設定されて保存されている。
開始点終了点候補検出手段7は、撮像手段2から各画素pi,jの輝度Di,jのデータが画素行j分入力されると、入力された画素pi,jの輝度Di,jと、画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔDを算出し、差分ΔDと予め設定された閾値とを比較して、入力された画素pi,jを開始点候補および終了点候補として検出するようになっている。
具体的には、開始点終了点候補検出手段7は、図4に示すように、まず、入力された画素(以下、入力画素という。)pi,jが属する画素列pl(i)の状態フラグFが0である状態、すなわち、まだ開始点候補が検出されておらず開始点候補を探索中である旨を表す状態である場合に、入力画素pi,jの輝度Di,jと、画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔD(=pi,j−pi,j-1)が、正の値に設定された第1閾値ΔDth1以上であれば、すなわち入力画素pi,jが縦エッジ画素であれば、入力画素pi,jを開始点候補ssとして検出するようになっている。
入力画素pi,jに縦方向に隣接する画素pi,j-1には停止線が撮像されておらず、入力画素pi,jに停止線が撮像されていれば、前者の画素pi,j-1の輝度Di,j-1は道路面に対応する比較的低い輝度であるのに対し、入力画素pi,jの輝度Di,jは停止線に対応する高い輝度になる。そのため、本実施形態では、第1閾値ΔDth1は、通常の停止線に対応する高い輝度と道路面に対応する比較的低い輝度との差分に相当する程度の値、或いはそれより小さい値に予め設定される。
開始点終了点候補検出手段7は、図5に示すように、上記のようにして検出した開始点候補ssの画像T上の座標(i,j)をRAM等の図示しない記憶手段に保存する。また、入力画素pi,jが属する画素列pl(i)の状態フラグFを1として、停止線の検出状態を、まだ終了点候補が検出されておらず終了点候補を探索中である旨を表す状態として保存するようになっている。
また、開始点終了点候補検出手段7は、同様にして、入力画素pi,jが属する画素列pl(i)の状態フラグFが1である状態、すなわち、開始点候補は検出されたが終了点候補が検出されておらず終了点候補を探索中である旨を表す状態である場合に、入力画素pi,jの輝度Di,jと、画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔD(=pi,j−pi,j-1)が、負の値に設定された第2閾値ΔDth2以下であれば、すなわち入力画素pi,jが縦エッジ画素であれば、入力画素pi,jを終了点候補seとして検出するようになっている。
入力画素pi,jに縦方向に隣接する画素pi,j-1に停止線が撮像されており、入力画素pi,jに停止線が撮像されていなければ、前者の画素pi,j-1の輝度Di,j-1は停止線に対応する高い輝度であり、入力画素pi,jの輝度Di,jは道路面に対応する比較的低い輝度になる。そのため、本実施形態では、第2閾値ΔDth2は、第1閾値ΔDth1と絶対値が同じで負の値となるように予め設定されている。
なお、この場合、開始点終了点候補検出手段7で、入力画素pi,jの輝度Di,jと隣接する画素pi,j-1の輝度Di,j-1との差分ΔDの絶対値|ΔD|を算出するように構成し、差分の絶対値|ΔD|と正の値に設定された第1閾値ΔDth1とを比較するように構成することも可能である。
開始点終了点候補検出手段7は、図5に示すように、上記のようにして検出した終了点候補seの画像T上の座標(i,j)を記憶手段に保存するとともに、前述した開始点候補ssと同一の画素列pl(i)で検出された終了点候補se、すなわち開始点候補ssと組となる終了点候補seとして、開始点候補ssと対応付けて保存するようになっている。また、入力画素pi,jが属する画素列pl(i)の状態フラグFを0として、停止線の検出状態を、開始点候補を探索中である旨を表す状態に設定し直して保存するようになっている。
開始点終了点候補検出手段7は、このように、画素pi,jが入力されるごとに、入力画素pi,jの輝度Di,jと画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔDまたは差分の絶対値|ΔD|を算出し、閾値(第1閾値ΔDth1や第2閾値ΔDth2)と比較して開始点候補ssや終了点候補seを検出するようになっている。また、開始点候補ssや終了点候補seを検出するごとに状態フラグFを切り替えるようになっている。
本実施形態では、開始点終了点候補検出手段7は、開始点候補ssや終了点候補seとして自車両の側方の車線LL、LR(図42等参照)でないことをチェックし、開始点候補ssや終了点候補seが車線LL、LRを検出したものでない場合にのみ開始点候補ssや終了点候補seとして検出するようになっている。
例えば、図42に示した車線LLのエッジ画素部分を拡大して画素レベルで見ると、図6に示すように、エッジ画素部分では、高い輝度の車線LLが撮像された画素ps,tの縦方向に隣接する画素ps,t-1に、比較的低い輝度の道路面Gが撮像されている。そのため、車線のエッジ画素部分には、横エッジ画素だけでなく、縦エッジ画素も存在する状態になっている。
そのような状態の車線LLのエッジ画素部分で上記のように開始点候補ssの検出を行うと、画素ps,tが入力された際、縦方向に隣接する画素ps,t-1と比較されて、車線LLの画素ps,tが、誤って停止線の開始点候補ssとして検出されてしまう可能性が生じる。
そのため、本実施形態では、上記のように、入力画素pi,jの輝度Di,jと画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔD等から、入力画素pi,jが開始点候補ssである可能性が生じると、開始点終了点候補検出手段7は、図7に示すように、入力画素pi,jを含む例えば2×2画素の画素領域を設定し、下記(1)式および(2)式で算出されるδDi、δDjを2成分とする輝度微分ベクトルδD(δDi,δDj)を算出するようになっている。
δDi=(Di,j+Di,j-1)−(Di-1,j+Di-1,j-1)…(1)
δDj=(Di,j+Di-1,j)−(Di,j-1+Di-1,j-1)…(2)
なお、Di,j、Di,j-1、Di-1,j、Di-1,j-1はそれぞれ画素pi,j、pi,j-1、pi-1,j、pi-1,j-1における輝度を表す。
例えば、図8(A)に示すように、画素pi,j、pi-1,jの輝度Di,j、Di-1,jが例えば255であり、画素pi,j-1、pi-1,j-1の輝度Di,j-1、Di-1,j-1が例えば0である場合、
δDi=(255+0)−(255+0)=0
δDj=(255+255)−(0+0)=510
となるため、輝度微分ベクトルδDは(0,510)となり、図中矢印で示すように画像Tのj軸方向すなわち縦方向を向く。
また、例えば、図8(B)に示すように、画素pi,j、pi,j-1の輝度Di,j、Di,j-1が例えば255であり、画素pi-1,j、pi-1,j-1の輝度Di-1,j、Di-1,j-1が例えば0である場合、
δDi=(255+255)−(0+0)=510
δDj=(255+0)−(255+0)=0
となるため、輝度微分ベクトルδDは(510,0)となり、図中矢印で示すように画像Tのi軸方向すなわち横方向を向く。
さらに、図6に示した例で、例えば図8(C)に示すように、画素pi,j、pi-1,j、pi-1,j-1の輝度Di,j、Di-1,j、Di-1,j-1が例えば255であり、画素pi,j-1の輝度Di,j-1が例えば0である場合、
δDi=(255+0)−(255+255)=−255
δDj=(255+255)−(0+255)=255
となるため、輝度微分ベクトルδDは(−255,255)となり、図中矢印で示すように画像Tのi軸方向に135°の角度をなす方向を向く。
開始点終了点候補検出手段7は、このようにして、入力画素pi,jを含む例えば2×2画素の画素領域を設定して輝度微分ベクトルδDを算出すると、続いて、算出した輝度微分ベクトルδDが画像Tの横方向(i軸方向)に対してなす角度φ(−180°<φ≦180°)を下記(3)式に従って算出し、その絶対値|φ|が90°を含む閾値範囲内にある場合にのみ、入力画素pi,jを開始点候補ssとして検出するようになっている。
φ=arctan(δDj/δDi) …(3)
終了点候補seを検出する場合も同様である。なお、上記の図8(A)〜(C)の例で言えば、図8(A)ではφ=90°、図8(B)ではφ=0°、図8(C)では前述したようにφ=135°となる。
停止線として検出されるべき開始点候補ssや終了点候補seは、図8(A)に示したように、高い輝度の画素と低い輝度の画素の境界線が横方向に延在する状態となる画素であり、その場合は、上記のように、輝度微分ベクトルδDとi軸とがなす角度φは90°近傍の値となる。そのため、角度φの絶対値|φ|が90°を含む例えば±10°の閾値範囲内にある場合にのみ入力画素pi,jを開始点候補ssとして検出することで、画像T中から車線LL、LR等を検出することなく横方向(i軸方向)に延在する停止線を検出する可能性を一段と向上させることができる。
なお、入力画素pi,jが開始点候補ssや終了点候補seとして検出されなかった場合には、状態フラグFは切り替えられない。また、本実施形態では、上記のように、入力画素pi,jが開始点候補ssや終了点候補seである可能性が生じた場合にのみ、輝度微分ベクトルδDや角度φの算出を行うように構成されているが、それらの算出を常時行うように構成することも可能である。
また、開始点候補ssを含む例えば2×2画素の画素領域について算出された輝度微分ベクトルδDと、その開始点候補ssと同一の画素列pl(i)で検出された終了点候補seを含む例えば2×2画素の画素領域について算出された輝度微分ベクトルδDは、平行になるはずである。
そのため、本実施形態では、開始点終了点候補検出手段7は、開始点候補ssと終了点候補seとの実空間上の位置関係として、さらに、開始点候補ssについて算出した前記角度φと、開始点候補ssと同一の画素列pl(i)で検出した開始点候補ssと組となる終了点候補seについて算出した角度φとの差分が、予め設定された例えば±10°等の閾値範囲を越えて異なり、平行度が低い場合には、開始点候補ssおよび終了点候補seを無効とするようになっている。
その際、開始点候補ssや終了点候補seが無効とされ、検出されなかったことになるため、当該画素列pl(i)における停止線の検出状態は、開始点候補を探索中である旨を表す状態とされ、状態フラグFは0とされる。
次に、停止線候補検出手段8は、上記のようにして開始点終了点候補検出手段7が検出した開始点候補ssとそれと組となる終了点候補seとの実空間上の位置関係における実空間上の間隔Zs-eを算出するようになっている。そして、その実空間上の間隔Zs-eが、予め設定された閾値Zth以内であるか否かを判定し、実空間上の間隔Zs-eが閾値Zth以内であると判定した場合に、図9に示すように、当該開始点候補ssを停止線候補Ssとして検出するようになっている。
ここで、開始点候補ssと終了点候補seとの実空間上の間隔Zs-eは、画像Tにおける開始点候補ssの画素位置のj座標jssと、終了点候補seの画素位置のj座標jseから以下のようにして算出することができる。
すなわち、図10に示すように、撮像手段2の焦点距離をf、撮像手段2の取付高さをhとすると、撮像手段2前方の実空間上の距離Zの位置にある点Rは、画像T上では、無限遠に対応する消失点からJ=h×f/Zだけずれた位置に撮像され、ピクセル長をpixelとした場合、
Jp=J/pixel=h×f/(Z×pixel) …(4)
で算出される画素数Jpだけ消失点から下方に位置する水平ラインj上に撮像される。
いま、画像T上での消失点のj座標をjaとすると、
Jp=ja−j …(5)
であり、上記(4)式から、
Z=h×f/(pixel×Jp)=h×f/{pixel×(ja−j)}…(6)
となる。
そのため、開始点候補ssに対応する実空間上の距離Zssを上記(6)式にj=jssを代入して算出し、また、終了点候補seに対応する実空間上の距離Zseを上記(6)式にj=jseを代入して算出して、Zs-e=Zse−Zssを演算することで、開始点候補ssと終了点候補seとの実空間上の間隔Zs-eを算出することができる。
停止線候補検出手段8は、このようにして算出した開始点候補ssと終了点候補seとの実空間上の間隔Zs-eが予め設定された閾値Zth以内であるか否かを判定する。その際、通常の停止線の幅が30cm程度であることから、閾値Zthは多少余裕をみて例えば45cmに設定される。
そして、停止線候補検出手段8は、実空間上の間隔Zs-eが閾値Zth以内であると判定した場合に、当該開始点候補ssを停止線候補Ssとして検出するようになっている。また、本実施形態では、停止線候補検出手段8は、当該開始点候補ssと組となる終了点候補seを第2停止線候補Seとして検出するようになっている。
次に、停止線検出手段9は、停止線候補検出手段8が検出した複数の停止線候補Ss(停止線候補群)に対してハフ変換を実行して、ハフ変換の結果として得られた直線を道路面上に標示された停止線SLとして画像T中に検出するようになっている。また、本実施形態では、停止線候補検出手段8が検出した複数の第2停止線候補Se(第2停止線候補群)に対しても同様の処理を行い、ハフ変換の結果として得られた直線を検出するようになっている。
以下、停止線候補検出手段8が検出した各停止線候補Ss(停止線候補群)を用いて、画像T中から道路面上に標示された停止線SLを検出する場合について説明する。ハフ変換は、画像T上の複数の点から直線を検出することを目的とするものであり、公知の方法が用いられる。
具体的には、例えば、検出された停止線候補Ssの画像T上の座標を(i0,j0)とし、図11に示すように、停止線候補Ssが画像T上の直線
ρ=isinθ+jcosθ …(7)
上に存在すると仮定すると、停止線候補Ssの座標(i0,j0)は、
ρ=i0sinθ+j0cosθ …(8)
を満たす。
上記(8)式をハフ平面上でρ、θの関数としてみた場合、1つの停止線候補Ssの座標(i0,j0)についてρ、θの関数が1つ定まる。そして、別の停止線候補Ssの座標(i1,j1)についてもρ、θの関数
ρ=i1sinθ+j1cosθ …(9)
が1つ定まる。そして、例えば、停止線候補Ss(i0,j0)と停止線候補Ss(i1,j1)を通る直線は、上記(8)式で表される関数と上記(9)式で表される関数とのハフ平面上の交点(ρ,θ)を上記(7)式に代入することで1つに定まる。
ここで、図12に示すように、ρを縦軸にとり、θを横軸にとり、ρおよびθをそれぞれ所定の数値幅で区分して、ρ−θ平面を所定の大きさに升目に区画したハフ平面を考える。そして、停止線候補Ss(i,j)についてそれぞれ上記(7)式で表されるρ、θの関数曲線をハフ平面に投票し、関数曲線が投票された升目(すなわち関数曲線が通過する升目)のカウント数を1増加させる。このようにすると、2つの関数曲線の交点の升目ではカウント数が2となり、3つの関数曲線が交わる交点の升目ではカウント数が3となる。
このようにして、ハフ平面に、停止線候補検出手段8が検出した各停止線候補Ss(i,j)についてそれぞれ上記(7)式で表されるρ、θの関数曲線をハフ平面に投票していくと、各関数曲線の交点では、交わる関数曲線の数が増えるほどカウント数が増加していく。そして、停止線候補検出手段8が検出した全ての停止線候補Ss(i,j)についてρ、θの関数曲線をハフ平面に投票した場合に、カウント数が最も多い升目で、最も多くの関数曲線が交わっていることが分かる。
そこで、カウント数が最も多い升目、すなわち関数曲線が最も多くの関数が通過する升目に対応する(ρ,θ)を上記(7)式に代入して得られる直線を、最も多くの停止線候補Ss(i,j)を通る画像T上の直線として抽出することができる。
本実施形態では、停止線検出手段9は、停止線候補検出手段8が画像T上に検出した各停止線候補Ss(i,j)について上記(7)式で表されるρ、θの関数曲線をそれぞれ算出して図12に示したハフ平面上に投票していき、ハフ平面の各升目のカウント数を計数する。
そして、全ての停止線候補Ss(i,j)について上記の処理を行うと、ρごとにハフ平面の各升目の各カウント数を横方向すなわちθ軸方向に見ていき、ρごとの最高値すなわちピーク値P(ρ)およびそのピーク値P(ρ)を与える升目(ρ,θ)をそれぞれ割り出す。ρごとのピーク値P(ρ)をρに対してプロットすると、例えば図13に示されるような分布が得られる。
そこで、このようにして得られたρごとのピーク値P(ρ)のうち最大のピーク値Pmaxを与えるρ*を選択し、そのρ*におけるピーク値P(ρ)すなわち最大のピーク値Pmaxを与える升目(ρ*,θ*)を割り出して、そのρ*およびθ*を上記(7)式に代入して得られる直線を、ハフ変換の結果として得られた直線として抽出し、道路面上に標示された停止線SLとして画像T中に検出するように構成することが可能である。
なお、カウント数が1の升目は、各関数曲線が通過するだけの升目であり、複数の関数曲線の交点ではなく、そのρでは複数の停止線候補Ss(i,j)を通る直線は得られない。そのため、図13では、ρごとのピーク値P(ρ)が1である場合にはそのピーク値P(ρ)は無視されて0とされている(以下も同様である。)。
また、実際には、停止線SLは画像T中で真横に延在する直線として検出されるため、最大のピーク値Pmaxを与えるハフ平面上の升目(ρ*,θ*)におけるθ*は0°またはその近傍の値になる。そのため、上記(7)式にθ=0°を代入すると分かるように、ハフ変換の結果として抽出される直線は、ρ=j、すなわちj=ρで表され、画像T上におけるj一定の直線となる。
さらに、上記(6)式にj=ρを代入すると、
Z=h×f/(pixel×Jp)=h×f/{pixel×(ja−ρ)}…(10)
が成り立つことから分かるように、停止線SLが直線j=ρで表される場合、ρは、停止線SLの撮像手段2からの実空間上の距離Zに対応するものとなる。
ところで、画像Tに停止線SLが撮像されていなくても、停止線候補検出手段8が複数の停止線候補Ssを検出し、それに基づいて停止線検出手段9でハフ変換を実行した結果、ピーク値P(ρ)が2以上の最大のピーク値Pmaxが得られる場合がある。そのような場合にも停止線SLを検出することとすると、停止線SLでないものを停止線SLと誤検出してしまうという問題が生じる。
そこで、本実施形態では、上記のようにハフ変換を実行する際に、ハフ変換の結果として得られるρごとのピーク値P(ρ)について所定の閾値Pthが設けられており、停止線検出手段9は、ハフ変換の結果として得られる各ピーク値P(ρ)の中に、閾値Pth以上であるピーク値P(ρ)が存在する場合に、当該閾値Pth以上の各ピーク値P(ρ)のうち、最大のピーク値Pmaxに対応する直線を、ハフ変換の結果として得られた直線として抽出するようになっている。
ハフ変換の結果として得られるρごとのピーク値P(ρ)の中に、上記の閾値Pth以上のものが存在しない場合には、直線が抽出されなかったものとして処理され、その場合には、画像T中には道路面上に標示された停止線SLが検出されなかったものとして処理されるようになっている。
また、図14に示すように、画像T中に停止線SLが撮像されていても、その手前側の道路面上に例えば最高速度を表す数字等の標示RSが撮像されていると、停止線SLの画素部分に縦エッジ画素として検出される停止線候補Ssよりも、手前側の標示RSの画素部分に縦エッジ画素として停止線候補Ssが多く検出される場合がある。
このような場合、停止線候補検出手段8が検出した各停止線候補Ssについてハフ変換を実行すると、図15に示すように、停止線SLの画素部分におけるρごとのピーク値P(ρ)のうちの最大のピーク値Pmax_slよりも、標示RSの画素部分におけるρごとのピーク値P(ρ)のうちの最大のピーク値Pmax_rsの方が大きくなる場合があり、標示RSを停止線SLと誤検出してしまうという問題が生じる。
これは、同じ大きさの撮像対象を撮像しても、撮像手段2からの実空間上の距離Zが遠いほど画像T上では画素数が少なく撮像されることに由来する現象である。そこで、本実施形態では、上記のようにハフ変換における各ρごとのピーク値P(ρ)について所定の閾値Pthを、各ピーク値に対応する各直線の撮像手段2からの実空間上の距離Zが遠くなるに従って小さくなるように設定されている。
図10に示したように、道路面上に標示された停止線SLとして画像T上に検出される直線j=ρは、撮像手段2に最も近い側(j=0)から無限遠に対応する消失点(j=ja)までの間の画素領域に検出され、図10や上記(10)式から分かるように、ρが小さいほど撮像手段2からの実空間上の距離Zが近く、ρが大きくなりjaに近くなるほど撮像手段2からの実空間上の距離Zが遠くなる。
そのため、本実施形態では、図16に示すように、上記のようにハフ変換におけるρごとの各ピーク値P(ρ)について所定の閾値Pthを、各ピーク値P(ρ)に対応する各直線の撮像手段2からの実空間上の距離Zが遠くなるに従って、すなわちρが大きくなるに従って、小さくなるように設定されている。
ハフ変換におけるρごとの各ピーク値P(ρ)について所定の閾値Pthを上記のように設定することで、画像Tの手前側の道路面上の標示RSが撮像されていて、停止線SLの画素部分における最大のピーク値Pmax_slよりも標示RSの画素部分における最大のピーク値Pmax_rsの方が大きくなったとしても、停止線SLの画素部分における最大のピーク値Pmax_slを与えるρslを的確に選択し、直線を的確に抽出して、道路面上に標示された停止線SLとして画像T中に検出することが可能となる。
一方、図17に示すように、画像T中に街路樹の木漏れ日が自車両の進行路上に撮像されているような場合、上記のようにして画像T中の縦エッジ画素として停止線候補Ssを検出すると、多数の縦エッジ画素が検出されるため、図18に示すように、ハフ変換におけるρごとのピーク値P(ρ)が多数検出される場合がある。
そして、停止線SLが撮像されていないにも関わらず、ハフ変換の結果として得られる各ピーク値P(ρ)の中に上記の閾値Pth以上であるピーク値P(ρ)が存在する状態となり、その中で最大のピーク値Pmaxに対応する直線を、停止線SLでないものを停止線SLと誤検出してしまうという問題が生じる。
そこで、本実施形態では、前述した各ピーク値P(ρ)について所定の閾値Pthは、基本的には、図16に示したように、各ピーク値P(ρ)に対応する各直線の撮像手段2からの実空間上の距離Zが遠くなるに従って、すなわちρが大きくなるに従って、小さくなるように設定されるが(以下、この基本的な閾値Pthを基本閾値Pbthという。)、さらに、各ピーク値P(ρ)についての閾値Pthを、そのピーク値P(ρ)を除く当該ピーク値P(ρ)から所定範囲内の他の各ピーク値P(ρ)の大きさが大きくなるほど大きくなるように変化するように設定されるようになっている。
なお、以下、このピーク値P(ρ)について、他の各ピーク値P(ρ)の大きさが大きくなるほど大きくなるように変化するように設定される閾値Pthを可変閾値Pvthという。
具体的には、図18に示すρ**におけるピーク値P(ρ**)についての可変閾値Pvth(ρ**)は、ρ**を除き、例えばその前後の10区分、計20区分のρにおけるピーク値P(ρ)の平均値Paveを算出し、例えばその2倍(すなわち2×Pave)の値に設定される。そして、各ピーク値P(ρ)についての閾値Pthは、上記の基本閾値Pbthと可変閾値Pvthとのうち値が大きい方に設定される。
閾値Pthをこのように設定すると、図19に示すように、画像T中に街路樹の木漏れ日が自車両の進行路上に撮像されているような状況(図17参照)では、可変閾値Pvthが全体的に高くなり、画像T中の縦エッジ画素が多数検出されて停止線候補Ssが多数検出されても、ハフ変換の結果として得られる各ピーク値P(ρ)の中に閾値Pth以上となるものが存在しない状態となるため、停止線SLでないものを停止線SLと誤検出してしまう事態を的確に回避することが可能となる。
一方、木漏れ日の中に停止線SLが撮像されているような状況では、停止線SLが撮像されている画像T上の水平ラインj上には、木漏れ日が撮像されている画素部分に疎らに検出される縦エッジ画素よりも格段に多数の縦エッジ画素が検出されるため、図20に示すように、その水平ラインjに対応するρsl(j=ρsl)におけるピーク値P(ρsl)が可変閾値Pvthを越える。
そのため、閾値Pthを上記のように設定すれば、図19に示したように、画像T中に街路樹の木漏れ日のみが撮像されているような状況では、停止線SLを誤検出することが回避されるとともに、図20に示したように、木漏れ日の中に停止線SLが撮像されているような状況では、停止線SLに相当するρslにおけるピーク値P(ρsl)が確実に閾値Pth(可変閾値Pvth)以上となり、木漏れ日等の中から停止線SLを的確に検出することが可能となる。
前述したように、本実施形態では、停止線検出手段9は、停止線候補検出手段8が検出した停止線候補Ssのほか、各開始点候補ssと組となる終了点候補seに対応する各第2停止線候補Se(第2停止線候補群)に対しても同様にハフ変換を行い、図21に示すように、ハフ変換の結果として得られた直線を停止線終了線SLeとして画像T中に検出するようになっている。
そして、停止線検出手段9は、停止線SLとして画像T中に検出した直線SLと、停止線終了線SLeとして検出した直線SLeとの実空間上の間隔や、それらの実空間上の平行度が所定の閾値範囲内にない場合には、検出した停止線SLを無効とすることでダブルチェックを行うようになっている。
停止線SLと停止線終了線SLeとの実空間上の間隔は、前述した停止線候補検出手段8における開始点候補ssと組となる終了点候補seとの実空間上の間隔Zs-eの算出と同様に、停止線SLと停止線終了線SLeとを実空間上に投影して算出することができる。そして、停止線SLと停止線終了線SLeとの実空間上の間隔が例えば45cmより大きければ、検出した停止線SLが無効とされる。
また、実空間上に投影した停止線SLと停止線終了線SLeと平行度については、例えば実空間上に投影した停止線SLと停止線終了線SLeのなす角度が予め設定された例えば±10°等の閾値範囲を越えて異なる場合には、検出した停止線SLが無効とされる。
次に、本実施形態に係る停止線検出装置1の作用を、図22および図23に示すフローチャートに従って説明する。
まず、撮像手段2で撮像が開始されると(図22のステップS1)、処理部5では、画素pの画像T上の座標(i,j)を、最初に入力される画素p0,0、すなわち、前述したように、撮像手段2で撮像された水平ライン0(すなわちj座標が0の各画素pi,0からなる水平ラインj)上の左端の画素p0,0(すなわち原点の画素)の座標(0,0)にセットし、各画素列plの状態フラグFを、停止線の検出状態が開始点候補ssを探索中である旨を表す状態であることを表す0にそれぞれ設定する(ステップS2)。そして、画素p0,0の輝度D0,0のデータの処理部5への入力が開始されると(ステップS3)、処理が開始される。
そして、水平ラインjの右端の画素まで処理を完了していなければ(ステップS4;NO)、i座標を1ずつインクリメントしながら(ステップS5)、入力される画素pi,jの処理を行っていく。また、水平ラインjの右端の画素まで処理を完了すると(ステップS4;YES)、画像Tの最上段の水平ラインまで処理が終了していなければ(ステップS6;NO)、処理を行う水平ラインjを1行上方の水平ラインj+1に移行させ、入力画素のi座標を0に設定して(ステップS7)、画素p0,j+1を入力画素として処理を行い、入力画素pi,jを追跡しながら処理を続行する。
次に、開始点終了点候補検出手段7は、撮像手段2から各画素pi,jの輝度Di,jのデータが画素行j分入力されると、入力画素pi,jの輝度Di,jと、画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔDを算出するが(図23のステップS9)、水平ライン0すなわちj=0の画像pi,0が入力されてもその画素pi,0の縦(下方)に隣接する画素が入力されていないため、上記の差分ΔDを算出できない。そこで、j=0の場合(ステップS8;NO)の場合は、以下の処理を行わず、図22のステップS4の判定処理に戻る。
そして、水平ライン0の探索が終了し(ステップS4;YES)、次の水平ライン1の各画素i,1の輝度Di,1の入力が開始されると(ステップS7)、j>0であるから(図23のステップS8;YES)、開始点終了点候補検出手段7は、入力画素pi,jの輝度Di,jと画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔDを算出する(ステップS9)。
そして、状態フラグFが0であれば(ステップS10;YES)、停止線の検出状態が開始点候補を探索中である旨を表す状態であるから、開始点終了点候補検出手段7は、まず、差分ΔD(=pi,j−pi,j-1)が第1閾値ΔDth1以上であるか否かを判定する(ステップS11)。そして、差分ΔDが第1閾値ΔDth1以上でなければ(ステップS11;NO)、図22のステップS4の判定処理に戻る。
また、差分ΔDが第1閾値ΔDth1以上である場合には(ステップS11;YES)、開始点終了点候補検出手段7は、続いて、上記のようにして輝度微分ベクトルδDを算出し(図7、図8参照)、上記(3)式に従って輝度微分ベクトルδDと画像Tの横方向(i軸方向)とのなす角度φ(−180°<φ≦180°)を算出して、その絶対値|φ|が90°を含む閾値範囲内にあるか否かを判定する(ステップS12)。そして、絶対値|φ|が90°を含む閾値範囲内になければ(ステップS12;NO)、図22のステップS4の判定処理に戻る。
また、絶対値|φ|が90°を含む閾値範囲内にあれば(ステップS12;YES)、開始点終了点候補検出手段7は、入力画素pi,jを開始点候補ssとして検出し、検出した開始点候補ssの画像T上の座標(i,j)を記憶手段に保存し(ステップS13)、上記の角度φも記憶手段に保存する。また、入力画素pi,jすなわち開始点候補ssが属する画素列pl(i)の状態フラグFを1として(ステップS14)、停止線の検出状態を終了点候補を探索中である旨を表す状態として保存して、図22のステップS4の判定処理に戻る。
開始点候補ssが停止線SLに対応するものであれば、同一の水平ラインjで開始点候補ssの隣の画素pi+1,j(ステップS5)も、上記差分ΔDが第1閾値ΔDth1以上であり(ステップS11;YES)、輝度微分ベクトルδDと画像Tの横方向(i軸方向)とのなす角度φの絶対値|φ|が90°を含む閾値範囲内にあるため(ステップS12;YES)、当該隣の画素pi+1,jも開始点候補ssとして検出、保存され(ステップS13)、当該隣の画素pi+1,jが属する画素列pl(i+1)の状態フラグFも1とされる(ステップS14)。
このようにして、開始点候補ssが停止線SLに対応するものであれば、同一の水平ラインj上、或いはその近傍の水平ラインj上で開始点候補ssが次々と検出され、開始点候補ssが属する画素列pl(i)の状態フラグFが順次1とされる。なお、開始点候補ssが検出されなかった画素列pl(i)では状態フラグFは0のままである。
そして、探索される水平ラインjを順次1行ずつ上方に移行しながら処理が続行され、ある入力画素pi,jについて、入力画素pi,jの輝度Di,jと、画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔDを算出し(ステップS9)、状態フラグFが1であれば(ステップS10;NO)、すなわち停止線の検出状態が終了点候補を探索中である旨を表す状態であれば、開始点終了点候補検出手段7は、続いて、差分ΔD(=pi,j−pi,j-1)が第2閾値ΔDth2以下であるか否かを判定する(ステップS15)。そして、差分ΔDが第2閾値ΔDth2以下でなければ(ステップS15;NO)、図22のステップS4の判定処理に戻る。
また、差分ΔDが第2閾値ΔDth2以下である場合には(ステップS15;YES)、開始点終了点候補検出手段7は、続いて、上記と同様に輝度微分ベクトルδDを算出し、輝度微分ベクトルδDと画像Tの横方向(i軸方向)とのなす角度φを算出して、その絶対値|φ|が90°を含む閾値範囲内にあるか否かを判定する(ステップS16)。そして、絶対値|φ|が90°を含む閾値範囲内になければ(ステップS16;NO)、図22のステップS4の判定処理に戻る。
また、絶対値|φ|が90°を含む閾値範囲内にあれば(ステップS16;YES)、開始点終了点候補検出手段7は、一旦、入力画素pi,jを終了点候補seとして検出し、検出した終了点候補seの画像T上の座標(i,j)を記憶手段に保存するとともに、同じ画素列pl(i)で先に検出した開始点候補ssと組となる終了点候補seとして開始点候補ssと対応付けて保存し(ステップS17)、上記の角度φも記憶手段に保存する。
開始点終了点候補検出手段7は、続いて、開始点候補ssと終了点候補seにおける各輝度微分ベクトルδDの平行度のチェックを行う(ステップS18)。そして、開始点候補ssにおける角度φと終了点候補seにおける角度φとの差分が、予め設定された閾値範囲を越えて異なり、平行度が低い場合には(ステップS18;NG)、開始点候補ssおよび終了点候補seを無効とする(ステップS19)。そして、また、無効とされた開始点候補ssと終了点候補seが属する画素列pl(i)の状態フラグFを0として(ステップS20)、当該画素列pl(i)の停止線の検出状態を開始点候補を探索中である旨を表す状態に戻して、図22のステップS4の判定処理に戻る。
また、開始点候補ssにおける角度φと終了点候補seにおける角度φとの差分が閾値範囲内であれば(ステップS18;OK)、開始点候補ssと終了点候補seが属する画素列pl(i)の状態フラグFを0として(ステップS20)、当該画素列pl(i)の停止線の検出状態を開始点候補を探索中である旨を表す状態に戻して記憶手段に保存する。
停止線候補検出手段8は、開始点終了点候補検出手段7により開始点候補ssとそれと組となる終了点候補seとが検出されると、上記のようにして、それらの実空間上の間隔Zs-eを算出し、その実空間上の間隔Zs-eが、予め設定された閾値Zth以内であるか否かを判定し(ステップS22)、実空間上の間隔Zs-eが閾値Zth以内であると判定した場合には(ステップS22;YES)、開始点候補ssを停止線候補Ssとして、また、停止点候補seを第2停止線候補Seとして検出する(ステップS23)。
また、停止線検出手段9は、停止線候補検出手段8が検出した停止線候補Ssに対してハフ変換を実行し、上記(7)式により停止線候補Ssの座標(i,j)に基づいて関数曲線を算出して、それを升目に区画されたハフ平面に投票する。また、第2停止線候補Seについても関数曲線を算出して別のハフ平面に投票して(ステップS24)、図22のステップS4の判定処理に戻る。
開始点終了点候補検出手段7や停止線候補検出手段8は、このようにして、開始点候補ssや終了点候補seが検出されるたびに上記の処理を繰り返して、画像T上に停止線候補Ssと第2停止線候補Seとを検出していき(ステップS23)、停止線検出手段9は、停止線候補Ssや第2停止線候補Seが検出されるたびに各ハフ平面への関数曲線の投票を繰り返す(ステップS24)。
なお、停止線候補Ssや第2停止線候補Seとして検出されなかった開始点候補ssや停止点候補se(ステップS22;NO)の座標(i,j)等の情報は、記憶手段に保存されたままとしてもよく、或いは記憶手段から削除されるように構成してもよい。また、停止線SLは道路面上にしか標示されておらず、画像T中の消失点(図10参照)より上側に検出されることはないため、例えば、開始点候補ss等の探索範囲を画像T中の消失点以下の領域等に限定して探索を行うように構成することも可能である。さらに、画素列pl(i)の範囲を限定するように構成することも可能であり、それらは適宜設定される。
以上のようにして、画像Tの最上段の水平ラインj(或いは予め設定された水平ラインj)まで処理が終了すると(図22のステップS6;YES)、停止線検出手段9は、ハフ変換の結果を集計し(ステップS25)、ρごとにハフ平面の各升目(図12参照)の各カウント数をθ軸方向に見ていき、ρごとのピーク値P(ρ)およびそのピーク値P(ρ)を与える升目(ρ,θ)をそれぞれ割り出す。
そして、停止線検出手段9は、上記のようにして、各ピーク値P(ρ)自体を除くρの所定範囲内の他のピーク値P(ρ)の平均値Paveを算出する等して各ピーク値P(ρ)についての可変閾値Pvth(ρ)を算出し(ステップS26)、可変閾値Pvth(ρ)と前述した基本閾値Pbthとに基づいて、ハフ変換の結果として得られる各ピーク値P(ρ)の中に閾値Pth以上となるものが存在するか否かを判定する(ステップS27)。
また、停止線検出手段9は、各ピーク値P(ρ)の中に閾値Pth以上となるものが存在すると判定すると(ステップS27;YES)、停止線候補検出手段8が検出した第2停止線候補Seに対しても同様にハフ変換の結果を集計し、ρごとのピーク値P(ρ)およびそのピーク値P(ρ)を与える升目(ρ,θ)をそれぞれ割り出し、可変閾値Pvth(ρ)を算出し、ハフ変換の結果として得られる各ピーク値P(ρ)の中に閾値Pth以上となるものが存在するか否かを判定して、停止線終了線SLeが画像T中に検出されたか否かを判定する(ステップS28)。
そして、停止線終了線SLeが画像T中に検出された場合には(ステップS28;YES)、停止線SLとして画像T中に検出した直線SLと、停止線終了線SLeとして検出した直線SLeとの実空間上の間隔や平行度が所定の閾値範囲内にあるか否かを判定し(ステップS29)、間隔や平行度が所定の閾値範囲内にない場合には(ステップS29;NO)、検出した停止線SLを無効とし(ステップS30)、停止線SLと停止線終了線SLeとの実空間上の間隔や平行度が所定の閾値範囲内にある場合(ステップS29;TES)にのみ、撮像手段2において今回撮像された画像T中に停止線SLが検出されたとして処理する(ステップS31)。
停止線検出手段9は、検出した停止線SLの情報を記憶手段に保存するとともに、必要に応じて外部装置に出力する。
また、各ピーク値P(ρ)の中に閾値Pth以上となるものが存在しないと判定したり(ステップS27;NO)、停止線終了線SLeが画像T中に検出されなかったり(ステップS28;NO)、或いは、停止線SLや停止線終了線SLeが画像T中に検出されても、それらの実空間上の間隔や平行度が所定の閾値範囲内になく(ステップS29;NO)、検出した停止線SLが無効とされた場合(ステップS30)には、撮像手段2において今回撮像された画像T中には停止線SLが検出されなかったものとして処理される。
以上のように、本実施形態に係る停止線検出装置1によれば、撮像手段2から画素pi,jの輝度Di,jのデータが画素行j分入力されると、その都度、当該画素pi,jの輝度Di,jと、既に入力されており縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔDが算出され、開始点候補ssや終了点候補seが検出されるため、画像T中に撮像されている停止線SLを見落として検出できなくなるといった事態が生じることを確実に防止して、画像T中から停止線SLを確実に検出することが可能となる。
また、画素pi,jの輝度Di,jのデータが入力されると、縦方向に隣接する画素pi,j-1の輝度Di,j-1を読み出して差分ΔDを算出すればよいため、画像Tの縦方向に延在する各画素pの輝度Dを探索する必要がない。そのため、各処理にかかる時間を非常に短時間で行うことが可能となり、処理の迅速化を図ることが可能となる。
さらに、上記のように、各画素pi,jの輝度Di,jのデータの入力と同時並行で開始点候補ssや終了点候補seの検出等の処理が行われるため、1画像分のデータの入力が終了した時点で、即座にハフ変換の結果を集計して画像T中に停止線SLが撮像されているか否かを迅速に判定することが可能となる。そのため、例えば1秒間に数フレーム分或いは数十フレーム分の画像の画像データが撮像されて入力されてくるような場合でも、迅速に判定することが可能となり、停止線検出をリアルタイムに行うことが可能となる。
また、開始点候補ssと終了点候補seとの実空間上の間隔Zs-e等の位置関係を算出する等したり、各ピーク値P(ρ)について閾値Pth(基本閾値Pbth)を各ピーク値P(ρ)に対応する各直線の撮像手段2からの実空間上の距離Zが遠くなるに従って小さくなるように設定したりすることで、道路面上に標示された横断歩道や文字、最高速度を表す数字、矢印等の標示と、停止線SLとを明確に区別して検出することが可能となり、それらの標示を停止線SLと誤検出することを的確に防止することが可能となる。
また、各ピーク値P(ρ)について閾値Pth(可変閾値Pvth)を、当該ピーク値P(ρ)を除く当該ピーク値P(ρ)から所定範囲内の他の各ピーク値P(ρ)の大きさが大きくなるほど大きくなるように変化するように設定することで、例えば、図17に示したように、画像T中に街路樹の木漏れ日が撮像されているような場合でも、画像T中から停止線SLを確実に検出することが可能となる。
なお、本実施形態では、開始点終了点候補検出手段7において、入力画素pi,jの輝度Di,jと画像T上で縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔDと、予め設定された第1閾値ΔDth1とを比較して開始点候補ssを検出する場合について説明した。
すなわち、縦方向に隣接する画素pi,j-1には道路面が撮像されており、入力画素pi,jに停止線が撮像されていることを、第1閾値ΔDth1を基準としてそれらの輝度の差分ΔD(=Di,j−Di,j-1)から判断して開始点候補ssを検出する。このようにして開始点候補ssを検出する場合、画像T中に撮像された道路面の実際の輝度が分かれば、より的確に開始点候補ssを検出することが可能となる。
そこで、例えば、画像T中から道路面に相当する画素領域を抽出し、その画素領域の平均輝度Droadを算出して道路面の輝度とし、開始点終了点候補検出手段7では、入力画素pi,jの輝度Di,jと上記平均輝度Droadとの差分ΔDroadを算出し、差分ΔDroadが正の値に設定された第3閾値ΔDth3以上である場合に、入力画素pi,jを開始点候補ssとするように構成することができる。
この処理は、本実施形態の第1閾値ΔDth1を基準とした開始点候補ssの検出と並行して行い、いずれかの条件をクリアした場合に入力画素pi,jを開始点候補ssとするように構成してもよく、本実施形態の第1閾値ΔDth1を基準とした開始点候補ssの検出の代わりに行うように構成してもよい。
また、画像T中から道路面に相当する画素領域を抽出する手法としては、例えば、上記のように撮像手段2から画素行j(水平ラインj)ごとに画素pi,jの輝度Di,jのデータが入力されると、入力画素pi,jの輝度Di,jと、先に入力されている入力画素pi,jの縦方向(下側)に隣接する画素pi,j-1の輝度Di,j-1や横方向(左側)に隣接する画素pi-1,jの輝度Di-1,jとの差分を算出し、その差分が予め設定された閾値以下である場合に、入力画素pi,jと隣接する画素pi,j-1、pi-1,jとを1つのグループに統合する図示しない統合手段を備えるように構成することができる。
具体的には、統合手段は、図24に示すように、入力画素pi,jが入力されると、入力画素pi,jの輝度Di,jと、それ以前に入力されている入力画素pi,jの左に隣接する画素pi-1,jの輝度Di-1,jとの差分を算出し、差分が閾値以下であるか否かを判定し、差分が閾値以下である場合には、入力画素pi,jと左に隣接する画素pi-1,jとを統合して1つグループとする。
また、統合手段は、図25に示すように、入力画素pi,jの輝度Di,jと、それ以前に入力されている入力画素pi,jの下に隣接する画素pi,j-1の輝度Di,j-1との差分を算出し、差分が閾値以下であるか否かを判定し、差分が閾値以下である場合には、入力画素pi,jと下に隣接する画素pi,j-1とを統合して1つグループとする。
その際、図26(A)に示すように、左に隣接する画素pi-1,jが既にグループg1に属している場合には、入力画素pi,jと左に隣接する画素pi-1,jとを統合することで、入力画素pi,jがグループg1に属するようになり、グループg1が拡大する。また、下に隣接する画素pi,j-1が既にグループg2に属している場合には、入力画素pi,jと下に隣接する画素pi,j-1とを統合することで、入力画素pi,jがグループg2に属するようになり、グループg2が拡大する。
また、入力画素pi,jが、グループg1に属する左に隣接する画素pi-1,jとともに、グループg2に属する下に隣接する画素pi,j-1とも統合される場合には、図26(B)に示すように、入力画素pi,jが左や下に隣接する画素pi-1,j、pi,j-1と統合されることで、グループg1とグループg2とが入力画素pi,jを介して1つのグループgに統合されることになる。
上記のように、統合手段は、入力画素pi,jの輝度Di,jと隣接する画素pi-1,j、pi,j-1の輝度Di-1,j、Di,j-1が閾値以内で近接した値であればそれらを統合するため、自車両の側方の車線が高輝度に撮像された画素領域と、道路面が低輝度に撮像された画素領域をそれぞれ別のグループに統合することができる。
このようにして、画像T中から道路面に相当する低輝度の画素領域を抽出することが可能となる。また、統合手段で、入力画素pi,jを隣接する画素pi-1,j、pi,j-1と統合するごとに、拡大したグループg、g1、g2の平均輝度を算出して更新するように構成すれば、開始点終了点候補検出手段7で、道路面に相当する画素領域(グループ)の平均輝度Droadを用いて上記の第3閾値ΔDth3を基準として、入力画素pi,jを開始点候補ssとするように構成することができる。
なお、入力画素pi,jが属する画素列pl(i)の停止線の検出状態が、終了点候補を探索中である旨を表す状態(フラグF=1)である場合、入力画素pi,jの輝度Di,jは、停止線SL等に相当する高い輝度になっており、入力画素pi,jはもはや道路面に相当する低輝度の画素領域に属するべき画素ではない。そのため、そのような場合には、統合手段は、入力画素pi,jの統合処理を中断し、道路面に相当するグループの平均輝度Droadの算出を中止するように構成することが望ましい。
また、上記のグループ化の手法を使うと、画像T中から車線に相当する高輝度の画素領域を抽出することも可能となる。そして、停止線SLの画素領域の輝度は、車線が撮像された高輝度の画素領域と同程度の輝度を有することから、車線の輝度の情報を用いて、入力画素pi,j自体が停止線SLを撮像した画素領域の画素であるか否か等の判定を行うように構成することも可能となるが、これについては、下記の第2の実施形態の中で説明する。
[第2の実施の形態]
上記の第1の実施形態では、撮像手段2で撮像された1つの画像の各画素pの輝度Dを処理して、画像T中に停止線SLを検出する停止線検出装置1について説明した。
しかし、撮像手段2として一対のカメラ(すなわちいわゆるステレオカメラ)を用いて一対の画像を撮像し、それに基づいて処理を行うと、画像T中に撮像された撮像対象までの実空間上の距離Z等をより精度良く検出することができる等の利点があり、それに基づいて停止線SLをより的確に検出することが可能となる。第2の実施形態では、このように構成された停止線検出装置について説明する。
本実施形態に係る停止線検出装置10は、図27に示すように、第1の実施形態における停止線検出装置1(図1参照)と同様に、撮像手段2や変換手段3、画像補正部4、状態保存手段6や開始点終了点候補検出手段7、停止線候補検出手段8、停止線検出手段9を有する処理部5等を備えて構成されるが、さらに、イメージプロセッサ12等を有する距離検出手段11等を備えている。
なお、イメージプロセッサ12等を含む処理部5の上流側の構成については、本願出願人により先に提出された特開2006−72495号公報等に詳述されており、構成の詳細な説明はそれらの公報に委ねる。以下、簡単に説明する。
本実施形態では、撮像手段2は、互いに同期が取られたCCDやCMOSセンサ等のイメージセンサがそれぞれ内蔵され、例えば車両のルームミラー近傍に車幅方向に所定の間隔をあけて取り付けられた一対のメインカメラ2aおよびサブカメラ2bからなるステレオカメラであり、所定のサンプリング周期で撮像して、一対の画像を出力するように構成されている。
一対のカメラのうち、メインカメラ2aは運転者に近い側のカメラであり、例えば図28に示すような画像Tを撮像するようになっている。なお、以下では、メインカメラ2aで撮像された画像Tを基準画像T、サブカメラ2bで撮像された画像を比較画像という。
なお、本実施形態においても、撮像手段2のメインカメラ2aおよびサブカメラ2bでは、それぞれモノクロの輝度Dが取得されるようになっているが、RGB値等で表されるカラーの画像データを撮像する撮像手段を用いることも可能であり、その場合についても本発明が適用される。
また、本実施形態においても、撮像手段2のメインカメラ2aおよびサブカメラ2bで図28に示したような基準画像Tや比較画像を撮像する場合、基準画像T等の各水平ラインjの最も左側の撮像素子から順に右方向に走査し、また、走査する水平ラインjを最も下側のラインから順に上方に切り替えながら撮像するようにして、各撮像素子で撮像された順に基準画像Tと比較画像の各輝度Dのデータがそれぞれ変換手段3に順次送信されるようになっている。
変換手段3は、一対のA/Dコンバータ3a、3bで構成されており、撮像手段2のメインカメラ2aおよびサブカメラ2bで各撮像素子(各画素p)ごとに撮像された基準画像Tと比較画像の各輝度Dのデータがそれぞれ順次送信されてくると、各輝度Dをそれぞれ例えば256階調のグレースケールのデジタル値の輝度Dに変換して画像補正部4に出力するようになっている。
画像補正部4は、送信されてきた基準画像Tと比較画像の各輝度Dのデータに対してずれやノイズの除去、輝度の補正等の画像補正をそれぞれ順次行い、画像補正した基準画像Tと比較画像の各輝度Dのデータを画像データメモリ14に順次格納するとともに、処理部5に順次送信するようになっている。また、画像補正部4は、画像補正した基準画像Tと比較画像の各輝度Dのデータを距離検出手段11にも順次送信するようになっている。
距離検出手段11のイメージプロセッサ12では、基準画像Tと比較画像の各輝度Dのデータに対して順次ステレオマッチングやフィルタリング処理を施して、実空間上の距離に対応する視差dpを基準画像Tの各画素pごとに順次算出するようになっている。
イメージプロセッサ12におけるステレオマッチングでは、基準画像Tと比較画像Tcの各輝度Dのデータが送信されてくると、図29に示すように、基準画像T上に例えば3×3画素や4×4画素等の所定の画素数の基準画素ブロックPBを設定し、基準画素ブロックPBに対応する比較画像Tc中のエピポーララインEPL上の基準画素ブロックPBと同形の各比較画素ブロックPBcについて、下記(11)式に従って当該基準画素ブロックPBとの輝度パターンの差異であるSAD値を算出し、SAD値が最小の比較画素ブロックPBcを特定するようになっている。
SAD=Σ|D1s,t−D2s,t| …(11)
なお、上記(11)式において、D1s,tは基準画素ブロックPB中の各画素pの輝度Dを表し、D2s,tは比較画素ブロックPBc中の各画素pの輝度Dを表す。また、上記の総和は、基準画素ブロックPBや比較画素ブロックPBcが例えば3×3画素の領域として設定される場合には1≦s≦3、1≦t≦3の範囲、4×4画素の領域として設定される場合には1≦s≦4、1≦t≦4の範囲の全画素pについて計算される。
イメージプロセッサ12は、このようにして基準画像Tの各基準画素ブロックPBについて、特定した比較画素ブロックPBcの比較画像Tc上の位置と当該基準画素ブロックPBの基準画像T上の位置から視差dpを順次算出するようになっている。以下、基準画像Tの各画素pに視差dpを割り当てた画像を距離画像という。また、このようにして各画素pごとに算出された視差dpの情報すなわち距離画像は、距離検出手段11の距離データメモリ13に順次格納されるとともに、処理部5に順次送信されるようになっている。
なお、実空間上で、前記一対のカメラ2a、2bの中央真下の道路面上の点を原点とし、自車両の車幅方向(すなわち水平方向)をX軸方向、車高方向(すなわち高さ方向)をY軸方向、車長方向(すなわち距離方向)をZ軸方向とした場合、実空間上の点(X,Y,Z)と、距離画像上の画素pの座標(i,j)および視差dpとは、下記(12)〜(14)式で表される三角測量の原理に基づく座標変換により一意に対応付けることができる。
X=CD/2+Z×PW×(i−IV) …(12)
Y=CH+Z×PW×(j−JV) …(13)
Z=CD/(PW×(dp−DP)) …(14)
上記各式において、CDは一対のカメラの間隔、PWは1画素当たりの視野角、CHは一対のカメラの取り付け高さ、IVおよびJVは自車両正面の無限遠点の距離画像上のi座標およびj座標、DPは消失点視差を表す。
また、イメージプロセッサ12は、視差dpの信頼性を向上させる目的から、上記のようなステレオマッチングで得られた視差dpに対してフィルタリング処理を施し、有効とされた視差dpのみを出力するようになっている。
例えば、道路面の映像のみからなる特徴に乏しい4×4画素の基準画素ブロックPBに対して、比較画像Tc上でステレオマッチングを行っても、比較画像Tcの道路面が撮像されている部分ではすべて相関が高くなるため、対応する比較画素ブロックPBcが特定されて視差dpが算出されてもその視差dpの信頼性は低い。そのため、そのような視差dpはフィルタリング処理を施して無効とし、視差dpの値として0を出力するようになっている。
したがって、基準画像Tの各画素pに、有効に算出された視差dpを割り当てて(すなわち対応付けて)距離画像Tzを作成すると、距離画像Tzは、例えば図30に示すように、基準画像T上で有意な特徴を有する部分である撮像対象の辺縁部分(エッジ部分)等に有効な視差dpが算出された画像となる。なお、距離画像Tzの作成においては、上記(14)式等に従って予め視差dpを距離Z等に換算し、距離Z等を基準画像Tの各画素pに割り当てて作成するように構成することも可能である。
本実施形態では、処理部5における各処理では、必要に応じて上記(14)式等に従って距離画像Tzの各画素pにおける視差dpが実空間上の距離Zに変換されて用いられる。
本実施形態においても、処理部5は、図示しないCPUやROM、RAM、入出力インターフェース等がバスに接続されたコンピュータで構成されており、第1の実施形態と同様の状態保存手段6や開始点終了点候補検出手段7、停止線候補検出手段8、停止線検出手段9が設けられている。なお、本実施形態では、開始点終了点候補検出手段7等での処理は基準画像Tに対して行われるようになっているが、比較画像Tcに対して処理を行うように構成してもよく、また、基準画像Tと比較画像Tcの両者に対して処理を行うように構成することも可能である。
また、本実施形態では、処理部5には、さらに、基準画像T中から自車両の側方に標示された車線を検出する車線検出手段15や、基準画像T中から道路面上の立体物を検出する立体物検出手段16が設けられている。さらに、処理部5に、先行車両を検出する先行車両検出手段等を設けるように構成することも可能であり、必要に応じて、車速センサやヨーレートセンサ、ステアリングホイールの舵角を測定する舵角センサ等のセンサ類からの測定値が入力されるように構成することも可能である。
ここで、本実施形態の処理部5の開始点終了点候補検出手段7等における処理について説明する前に、車線検出手段15や立体物検出手段16について説明する。
車線検出手段15は、撮像手段2により撮像された基準画像T中から自車両の側方に標示された車線を検出するようになっている。具体的には、車線検出手段15は、図31に示すように、基準画像Tを用いて、その1画素幅の水平ラインj上を例えば基準画像Tの中央から左右方向に探索し、輝度Dが隣接する画素pの輝度Dから設定された閾値以上に大きく変化する画素pを車線候補点cl、crとして検出する。
また、例えば、基準画像Tの中央から右方向に探索して検出した車線候補点crでは、図32に示すように、輝度Dは大きく上昇するが、さらに右方向に探索を続けて車線が終了する車線終了点候補点creで、道路面に対応する低い輝度に低下する。また、図示を省略するが、左方向に探索して検出した車線候補点clでも同様である。
そこで、本実施形態では、車線検出手段15は、車線候補点cl、crを検出すると、さらに左方向或いは右方向に探索を続け、車線終了点候補点cle、creが検出されるまで、検出される車線に対応する画素pの輝度Dを予め作成した図示しないヒストグラムにそれぞれ投票して、ヒストグラムを更新していくようになっている。なお、車線候補点cr等に到達する前の道路面に対応する低輝度の画素pの輝度Dをヒストグラムに投票する等して、道路面の輝度を算出するように構成することも可能である。
そして、車線検出手段15は、基準画像T上の水平ラインjを1画素分ずつ上方にシフトさせながら、同様にして各水平ラインj上に車線候補点を検出していく。その際、検出される車線に対応する画素pの輝度Dのヒストグラムへの投票は継続される。
車線検出手段15は、検出した車線候補点の視差dp等に基づいて当該車線候補点が道路面上にないと判断した場合には当該車線候補点を車線候補点から除外する。なお、この場合の道路面は、前回のサンプリング周期で検出した道路面に基づいてその後の自車両の挙動等から今回のサンプリング周期における道路面の位置が推定される。
そして、残った車線候補点のうち、自車両に近い側の車線候補点に基づいて車線をハフ変換等により直線で近似して自車両の側方にそれぞれ検出する。その際、ハフ変換では種々の直線が候補として算出されるが、例えば自車両の一方の側(例えば右側)に複数の車線が検出される場合には、自車両の他方(例えば左側)に検出した車線との整合性がある車線や、前回のサンプリング周期で検出した車線との整合性がある車線を選ぶ等して、自車両の側方にそれぞれ直線を選別する。
このようにして、自車両に近い側に車線を直線状にそれぞれ検出すると、それより遠い側ではその直線に基づいて直線との位置関係等から車線候補点を選別して結ぶことで、図33に示すように自車両の側方にそれぞれ車線LR、LLを検出するようになっている。なお、以上の車線検出手段15の処理構成については、本願出願人が先に提出した特開2006−331389号公報等に詳述されており、詳細な説明は同公報等を参照されたい。
車線検出手段15は、このようにして検出した車線位置LL、LRや車線候補点cl、cr等の情報を図示しない記憶手段に保存するようになっている。
また、車線検出手段15は、検出した車線位置LL、LRや車線候補点の情報に基づいて車線モデルを三次元的に形成するようになっている。本実施形態では、車線検出手段15は、図34(A)、(B)に示すように、自車両の側方の車線を所定区間ごとに三次元の直線式で近似し、それらを折れ線状に連結して表現した車線モデルを形成するようになっている。なお、図34(A)は、Z−X平面上の車線モデルすなわち水平形状モデル、図34(B)は、Z−Y平面上の車線モデルすなわち道路高モデルを表す。
具体的には、車線検出手段15は、自車両前方の実空間を自車両の位置からの例えば距離Z7までの各区間に分け、検出した車線候補点の実空間上の位置(X,Y,Z)に基づいてそれぞれの区間内の車線候補点を最小二乗法で直線近似し、各区間ごとに下記の(15)〜(18)式のパラメータaL、bL、aR、bR、cL、dL、cR、dRを算出して車線モデルを形成するようになっている。
[水平形状モデル]
左車線 X=aL・Z+bL …(15)
右車線 X=aR・Z+bR …(16)
[道路高モデル]
左車線 Y=cL・Z+dL …(17)
右車線 Y=cR・Z+dR …(18)
車線検出手段15は、このようにして車線モデルを形成して、実空間上における道路面を検出するようになっている。車線検出手段15は、このようにして形成した車線モデルすなわち算出した各区間のパラメータaL〜dRをそれぞれ記憶手段に保存するようになっている。
立体物検出手段16は、例えば図30に示した距離画像Tzを図35に示すように所定幅の縦方向の短冊状の区分Dnに分割する。そして、図36に示すように、各区分DnごとにヒストグラムHnを作成し、各区分Dnに含まれる視差dpのうち道路面より上方に存在する視差dpをヒストグラムHnに投票し、その最頻値dpnをその区分の代表視差とする。これを全区分についてそれぞれ行う。
そして、立体物検出手段16は、各区分Dnの代表視差に基づいて前記(12)〜(14)式から立体物の実空間上の座標(X,Y,Z)を算出するようになっている。そして、算出された立体物の座標のうち、道路面より高い位置にある座標を実空間上にプロットすると、各立体物の座標は、図37に示すように、前方の立体物の自車両Aに面した部分に対応する部分に多少ばらつきを持って各点としてプロットされる。
立体物検出手段16は、このようにプロットされる各点について、実空間上の各点の隣接する点とのX軸方向の距離やZ軸方向の距離、グループ化した場合の左端の点から右端の点までのX軸方向の全長等を検索しながら、それらの値がそれぞれ設定された閾値以内である点をそれぞれグループにまとめ、図38に示すようにそれぞれのグループ内の各点を直線近似して立体物を検出するようになっている。
また、本実施形態では、立体物検出手段16は、このようにして検出した各立体物を、図39に示すように、基準画像T上で矩形状の枠線で包囲するようにして検出するようになっている。なお、図38や図39において、ラベルOやラベルSは立体物の自車両Aに対向する面の種別を表し、ラベルOは立体物の背面、ラベルSは立体物の側面が検出されていることを表す。また、本実施形態では、各立体物を包囲する矩形状の枠線の下端が、車線検出手段15が検出した道路面の位置に設定されるようになっている。
状態保存手段6や開始点終了点候補検出手段7、停止線候補検出手段8、停止線検出手段9は、本実施形態においても上記の第1の実施形態の場合と同様に、図22および図23に示すフローチャートに従って各処理を行うように構成されている。
本実施形態では、さらに、開始点終了点候補検出手段7では、入力された画素pi,jの輝度Di,jと縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔD(=pi,j−pi,j-1)が第1閾値ΔDth1以上であるか否か(図23のステップS11)を判定する前に、前述したように車線検出手段15で検出された車線に対応する画素pの輝度Dのヒストグラムへの投票結果を用いて、入力画素pi,j自体が、車線と同程度の輝度を有する停止線SLが撮像された画素pであるか否かを判定するようになっている。
具体的には、例えば、開始点終了点候補検出手段7は、ヒストグラム中で0でない度数が存在する下端の階級値に基づいて、例えば下端の階級値から所定値だけ大きい値を停止線輝度閾値とする等して停止線輝度閾値を設定し、入力画素pi,jの輝度Di,jがこの停止線輝度閾値以上であるか否かを判定する。
そして、入力画素pi,jの輝度Di,jがこの停止線輝度閾値以上である場合に、図23のステップS11の判定処理を行うように構成することが可能である。この場合、入力画素pi,jの輝度Di,jがそもそも停止線輝度閾値以上でなければ図23のステップS11の判定処理は行われず、図22のステップS4の判定処理に戻る。
このように構成すれば、仮に入力画素pi,jがその輝度Di,jと縦方向に隣接する画素pi,j-1の輝度Di,j-1との差分ΔDが第1閾値ΔDth1以上であるような画素であっても、もともと停止線SLを撮像した画素とは見なせないような低輝度の画素を、開始点候補ssであると誤認識して停止線SLを誤検出することを的確に防止することが可能となる。
しかし、その場合でも、例えば、停止線SLの撮像手段2からの実空間上の距離Zが遠い場合には、停止線SLが横方向に細長く撮像され、停止線SLを撮像した画素pの輝度Dがさほど高くならない場合がある。そして、そのような場合に、上記のようにして停止線輝度閾値を設定して厳格に適用すると、停止線SLが撮像されている画素であるにもかかわらず、入力画素pi,jを開始点候補ssとして検出できず、その結果として、停止線SLを見落としてしまう場合が生じる。
そのため、開始点終了点候補検出手段7は、入力画素pi,jの実空間上の距離Zが所定距離以上に遠い場合には、一旦設定した停止線輝度閾値をより小さい値に変更したり、或いは、停止線輝度閾値に基づく判定を行わないように構成することが望ましい。その場合、上記の所定距離は、撮像手段2の性能や解像度等に応じて適宜の距離に設定される。
一方、基準画像Tの中に停止線SLが撮像される状況であるとしても、その停止線SLが立体物で隠されている場合には、結局、基準画像T中から停止線SLを検出することができない。このように、基準画像T中に立体物が検出されている場合に、その立体物が撮像されている画素部分まで開始点候補ssや終了点候補seの探索を行うのは無駄である。
そのため、例えば、基準画像Tに図40に示すようなシーンが撮像されており、立体物検出手段16により各立体物が矩形状の枠線で包囲されるようにして検出されている場合、図41に示すように、各画素列pl(i)について、開始点候補ssや終了点候補seの探索を、立体物の基準画像T中における下端の画素行j(水平ラインj)までの画素領域に限定し、基準画像T中に立体物が撮像されている画素領域については、開始点候補ssや終了点候補seの探索を中止するように構成することができる。
このように構成すれば、探索しても開始点候補ssや終了点候補seが検出される可能性がない画素領域については探索が中止されるため、停止線SLの誤検出を的確に防止することが可能となるとともに、開始点候補ssの探索等の処理速度をさらに向上させることが可能となる。なお、開始点候補ss等の探索範囲を基準画像T中の消失点以下の領域等に限定したり、画素列pl(i)の範囲をさらに限定するように構成することが可能であることは前述したとおりである。
また、停止線候補検出手段8で、画素列pl(i)に属する開始点候補ssとそれと組となる終了点候補seとの実空間上の間隔Zs-e等の位置関係を算出する際、本実施形態では、距離検出手段11が検出した基準画像Tの各画素pの視差dpを用いて実空間上の距離Zを算出することが可能となる。
そのため、開始点候補ssとそれと組となる終了点候補seとの実空間上の間隔Zs-eを精度良く算出することが可能となり、停止線SLの誤検出をより的確に防止することが可能となる。