以下、本発明に係る道路認識装置の実施の形態について、図面を参照して説明する。
[第1の実施の形態]
第1の実施形態に係る道路認識装置1は、図1に示すように、主に撮像手段2と処理部5とで構成されている。撮像手段2は、本実施形態では、例えばCCDやCMOSセンサ等のイメージセンサが内蔵されたカメラ等の単眼の撮像手段が用いられているが、複数設けられた撮像手段のうちの単数または複数の撮像手段により撮像された単数または複数の画像に対して本発明に係る処理を施すように構成することも可能である。
また、本実施形態では、撮像手段2は、例えば図2に示すような画像Tを撮像する場合、画像Tの各水平ラインjの最も左側の撮像素子から順に右方向に走査し、また、走査する水平ラインjを最も下側のラインから順に上方に切り替えながら撮像するようにして、各撮像素子で撮像された順に輝度Dの各データを変換手段3に順次送信するようになっている。
変換手段3は、A/Dコンバータで構成されており、撮像手段2で各撮像素子(各画素p)ごとに撮像された輝度Dの各データが順次送信されてくると、各画素pの輝度Dのデータをそれぞれ例えば256階調等のグレースケールのデジタル値の輝度Dのデータに変換して画像補正部4に出力するようになっている。画像補正部4は、送信されてきた輝度Dの各データに対してずれやノイズの除去、輝度の補正等の画像補正を順次行い、画像補正した輝度Dの各データを処理部5に順次送信するようになっている。
処理部5は、本実施形態では、図示しないCPU(Central Processing Unit)やROM(Read Only Memory)、RAM(Random Access Memory)、入出力インターフェース等がバスに接続されたコンピュータで構成されている。処理部5は、統合手段6や算出手段7、面積算出手段8、路面領域検出手段9を備えている。
また、処理部5に、車速センサやヨーレートセンサ、ステアリングホイールの舵角を測定する舵角センサ等のセンサ類Qが接続されており、それらから各測定値が入力されるようになっている。なお、処理部5において、さらに、他の処理を行うように構成することも可能である。
なお、以下の説明では、例えば図2に示した画像Tにおける画素について、画像Tの左下隅の画素を原点とし、右向きにi軸、上向きにj軸をとった場合の画素の座標(i,j)を用いて、画素pi,jのように表す。また、画素pi,jの輝度DをDi,jのように表す。
本実施形態では、処理部5では、上記のように撮像手段2により撮像された画像Tの各画素pの輝度Dのデータが変換手段3等での処理を経て順次入力されてくると、統合手段6で、入力された画素pi,j(以下、入力画素pi,jという。)の輝度Di,jと、入力画素pi,jに隣接する画素pの輝度Dとを比較し、また、入力画素pi,jの輝度Di,jと、それに隣接する画素pが属するグループgに属する全画素pの各輝度Dの平均値とを比較して、後述する条件に適合する場合に入力画素pi,jと隣接する画素pとを1つのグループgに統合するようになっている。
この統合処理は、上記のように画像Tの各画素pの輝度Dのデータが順次入力されてくるごとに行われ、最終的に、送信されてきた1画像分の全画素pについて行われて、画像Tの各画素pが複数のグループgに分割される。
算出手段7は、統合手段6で入力画素pi,jをグループgに統合する際に、同時並行で、各グループgに属する各画素pの輝度Dの平均値Daveを算出して更新していくようになっている。このグループgに属する各画素pの輝度Dの平均値Daveは、前述した統合手段6において、入力画素pi,jの輝度Di,jと、隣接する画素pが属するグループgに属する全画素pの各輝度Dの平均値Daveとが比較される際に用いられるとともに、後述する路面領域検出手段9においてグループgを道路面の路面領域に属するグループGとして検出するか否かの判定にも用いられる。
また、算出手段7は、各グループgごとに、画像T上で横方向に延在する各画素行jごとの横幅Wjを算出するようになっている。本実施形態では、この各グループgの画素行jごとの横幅Wjを用いて、2通りの判定が行われるように構成されている。
まず、本実施形態では、道路面上に標示される横断歩道の各白線ブロック等に対応するグループgを道路面の路面領域に属するグループGとして検出しないようにするために、グループgが占める実空間上での横方向の横幅に対して横幅閾値Wthが設けられている。横幅閾値Wthは、実空間上の横幅として例えば60cmの横幅に設定される。
そして、前述したように、撮像手段2からは水平ラインj(画素行j)ごとに各画素pの輝度Dのデータが入力されるが、その際、算出手段7は、当該水平ラインjごとに、上記の実空間上の横幅として設定された横幅閾値Wthに相当する画素数閾値Nthを算出して設定し、統合手段6が上記のように入力画素pi,jと隣接する画素pとを1つのグループgに統合する統合処理の際に、その画像行jにおけるグループgの横幅Wjを画素数Njとして計数し、計数した画素数Njが横幅閾値Wthに相当する画素数閾値Nth以上となった場合に、条件が成立した旨の情報を当該グループgに対応付けるようになっている。
このように、本実施形態では、条件が成立した旨の情報が対応付けられていることで、当該グループgは、実空間上で上記の横幅閾値Wth以上の横幅が少なくともその一部に存在する撮像対象に対応するものであることが分かるようになっている。
なお、本実施形態では、画像Tの水平ラインj(画素行j)ごとに1画素あたりの実空間上の横方向の横幅が予め算出されて割り当てられて図示しない記憶手段に記憶されており、実空間上の横幅である横幅閾値Wthに相当する水平ラインjごとの画素数閾値Nthは、横幅閾値Wthを、当該水平ラインjの1画素あたりの実空間上の横方向の横幅で除算することで算出することができる。
また、もう1つの判定として、自車両の側方に標示されている車線等のように画像T中に縦方向や斜め方向にいわば細長く延在するグループとして検出されるグループgが道路面の路面領域に属するグループGであると判定されないようにするために、各グループgの画素行jごとの横幅Wjが用いられるようになっている。
車線は、通常の場合、道路面上に15cmの横幅で標示され、画像T上のグループgが車線のみに対応する場合には上記の横幅閾値Wthに基づく判定処理で排除されるため、車線のみに対応するグループgが道路面の路面領域に属するグループGとしては検出されることはない。
しかし、図3に示すように、画像T中に車線LL、LRに連続して標示される停止線SL等が撮像されていると、例えば車線LRに対応するグループgの横方向の横幅Wjが停止線SLの部分で急に大きくなり、上記の横幅閾値Wth以上となるように検出される。そのため、上記の横幅閾値Wthに基づく判定処理のみでは、車線LRや停止線SLに対応するグループgも道路面の路面領域に属するグループGとして検出されてしまう可能性が生じる。
そこで、これを回避するために、本実施形態では、算出手段7は、各グループgの画素行jごとの横幅Wjの平均値Waveを算出するようになっている。
その際、画像T中に撮像された車線LL、LRの横幅は、道路面の横幅に比べれば非常に小さく画素数も少ない。そのため、本実施形態では、この平均値Waveを算出する算出処理では、処理の単純化を図ることを目的として、算出手段7は、統合手段6での統合処理で入力画素pi,jをグループgに統合するごとにグループgに属する画素数Nを単純に加算していき、統合手段6での統合処理が終了した時点で、グループgに属する画素数Nをグループgの画像T中の縦方向の行数で除算する。そして、このようにして算出した画素行jごとの横方向の画素数の平均値Naveとして、グループgの画素行jごとの横幅Wjの平均値Waveを算出するようになっている。
このように構成すれば、上記のように仮に車線LRに連続して標示される停止線SLが撮像されていても、停止線SLに相当する画素行jは少なく、車線LRに相当する画素行jの方が圧倒的に多いため、グループgの画素行jごとの横幅Wjの平均値Waveとしての画素数の平均値Naveは、車線LRに相当する画素数に近い値となる。
そのため、画素数の平均値Naveに対する平均値閾値Nave_thとして、車線の横幅程度或いはそれよりやや大きめの横幅に相当する画素数を設定することで、車線に停止線SLが連続して標示されているような場合であっても、車線に相当するグループgを道路面の路面領域に属するグループGとして検出しないように構成することが可能となる。
一方、本実施形態では、後述するように、画像T中で自車両の進行方向に領域R(以下、チェック領域Rという。)が設定されるようになっている。そして、面積算出手段8は、統合手段6で一の画素pi,jをグループgに統合する際に、同時に、一の画素pi,jがチェック領域Rに存在する場合には一の画素pi,jをグループgに統合するごとに加算していき、各グループgが画像Tのチェック領域R内で占める面積Aを画素数Anとして算出するようになっている。
後述するように、路面領域検出手段9で、上記のように、算出手段7により算出されたグループgの画素行jごとの横幅Wj(Nj)やその平均値Wave(Nave)、グループgに属する各画素pの輝度Dの平均値Daveに基づいて、当該グループgを道路面の路面領域に属するグループGであるか否かを判定するように構成されているが、それだけでは、空等に対応するグループgを道路面の路面領域に属するグループGとして検出してしまう可能性がある。
そこで、面積算出手段8で、上記のように各グループgが画像Tのチェック領域R内で占める面積Aを画素数Anとして算出するように構成して、路面領域検出手段9における判定条件として、当該グループgがチェック領域R内に占める面積Aに関する条件を追加することで、画像T内に撮像されているがチェック領域R内には存在しない空等に対応するグループgを道路面の路面領域に属するグループGとして検出しないように構成することが可能となる。
本実施形態では、チェック領域Rは、例えば図4に示すように、自車両MCの挙動から推定される推定軌跡Lestに基づいて設定することができる。本実施形態では、面積算出手段8は、センサ類Q(図1参照)で検出される自車両MCの車速Vやヨーレートγ、ステアリングホイールの舵角δ等の情報に基づいて自車両MCの旋回曲率Cuaを下記(1)式または下記(2)、(3)式に従って算出する。
Cua=γ/V …(1)
Re=(1+Asf・V2)・(Lwb/δ) …(2)
Cua=1/Re …(3)
ここで、上記の各式において、Reは旋回半径、Asfは車両のスタビリティファクタ、Lwbはホイールベースである。
そして、算出した自車両MCの旋回曲率Cuaに基づいて自車両が今後進行すると推定される推定軌跡Lestを算出し、その推定軌跡Lestを中心として左右方向に所定距離離間した位置までの範囲を自車両MCの進行路として算出する。そして、例えば図5に示すように、上記範囲すなわち自車両MCの進行路を画像T上の対応する各画素pに割り当てることで、画像T中にチェック領域Rを設定するようになっている。
なお、チェック領域Rを、例えば、自車両MCの側方に検出された車線の位置を左右端とする領域として設定することも可能であるが、それについては後述する第2の実施形態の中で説明する。
路面領域検出手段9は、上記のように、算出手段7により算出されたグループgの画素行jごとの横幅Wj(Nj)やその平均値Wave(Nave)、グループgに属する各画素pの輝度Dの平均値Dave、および面積算出手段8により算出されたグループgの前記面積Aが、それぞれ所定の数値範囲内であるか否かを判定し、条件を満たす場合に、当該グループgを道路面の路面領域に属するグループGとして検出するようになっている。
なお、本実施形態では、上記のように、算出手段7で、グループgのある画素行jで横幅Wjとしての画素数Njが横幅閾値Wthに相当する画素数閾値Nth以上となった場合に、当該グループgに条件が成立した旨の情報を対応付けるため、路面領域検出手段9は、グループgに上記の情報が対応付けられているか否かを判定して、グループgの画素行jごとの横幅Wjが所定の横幅閾値Wth以上である画素行jが存在するか否かを判定するようになっている。
以下、上記の統合手段6や算出手段7、面積算出手段8、路面領域検出手段9を含む処理部5での各処理を、図6〜図9に示すフローチャートに従って説明するとともに、本実施形態に係る道路認識装置1の作用について説明する。
処理部5における処理では、撮像手段2により今回のサンプリング周期での撮像が開始されると(図6のステップS1)、前述したように、面積算出手段8は、その時点でセンサ類Qから入力された自車両MCの車速Vやヨーレートγ、ステアリングホイールの舵角δ等の情報に基づいて自車両MCの旋回曲率Cuaを算出し、チェック領域Rを設定する(ステップS2)。
そして、算出手段7は、撮像手段2から最初に各画素pi,jの輝度Di,jのデータが送られてくる画像Tのj=0の水平ラインjすなわち水平ライン0における前述した横幅閾値Wthに相当する画素数閾値Nth(0)を算出して設定する(ステップS3)。また、統合手段6は、iおよびjの値としてそれぞれ0を設定する(ステップS4)。
そして、前述したように、撮像手段2で撮像された水平ライン0上の左端の画素p0,0(すなわち原点の画素)の輝度D0,0のデータの処理部5への入力が開始される(ステップS5)。処理部5には、続いて、画素p1,0、p2,0、p3,0、…の輝度D1,0、D2,0、D3,0、…のデータが順次入力される。そして、水平ラインjの右端の画素まで統合処理を完了していなければ(ステップS6;NO)、統合手段6は、i座標を1ずつインクリメントして(ステップS7)、画素pi,jの輝度Di,jのデータが入力するごとに統合処理を続行する。
また、水平ラインjの右端の画素まで統合処理を完了すると(ステップS6;YES)、画像Tの最上段の水平ラインまで統合処理が終了していなければ(ステップS8;NO)、統合手段6は、jをインクリメントし、iに0を設定して(ステップS9)、統合処理を行う水平ラインjを1行上方の水平ラインjに移行させ、移行させた水平ラインjから順次入力されてくる画素p0,jの輝度D0,jのデータから順に統合処理を続行する。
また、算出手段7は、撮像手段2から移行させた水平ラインjにおける前述した横幅閾値Wthに相当する画素数閾値Nth(j)を算出して設定する(ステップS10)。
次に、画素pi,jの輝度Di,jのデータが入力した場合の処理部5における各処理(図7のステップS11以降)について説明する。
統合手段6は、まず、入力した画素pi,j(入力画素pi,j)と、図10に示すように入力画素pi,jが入力するより以前に入力されていて入力画素pi,jの左に隣接する画素pi-1,jについて、下記の条件1や条件2を満たすか否かの判定を行う(ステップS11)。
[条件1]入力画素pi,jの輝度Di,jと、左に隣接する画素pi-1,jの輝度Di-1,jとの差分ΔDleft(i,j)、すなわち、
ΔDleft(i,j)=|Di,j−Di-1,j| …(4)
が、予め設定された第1輝度閾値ΔDth未満である。なお、以下、上記のような隣接する画素間の輝度Dの差分ΔDをエッジ強度という。
[条件2]図11に示すように、入力画素pi,jの輝度Di,jと、左に隣接する画素pi-1,jが属するグループgに属する全画素の輝度Dの平均値Dave-leftとの差分δDleft(i,j)、すなわち、
δDleft(i,j)=|Di,j−Dave-left| …(5)
が、予め設定された第2輝度閾値δDth未満である。
なお、以下、上記のように、入力画素pi,jの輝度Di,jと、隣接する画素が属するグループgの輝度Dの平均値Daveとの差分δDを平均値差分という。また、隣接する画素が属するグループgの輝度Dの平均値Daveは、後述する図8のステップS25の算出処理で、算出手段7により算出されている。さらに、左に隣接する画素pi-1,jが属するグループgが当該左に隣接する画素pi-1,jのみで構成されている場合もあり、その場合、グループgに属する全画素の輝度Dの平均値Dave-leftは、当該左に隣接する画素pi-1,jの輝度Di-1,jに等しい。
統合手段6は、条件1と条件2をともに満たすと判定した場合には(ステップS11;YES)、ステップS12の判定処理に進み、条件1と条件2の少なくとも一方を満たさないと判定した場合には(ステップS11;NO)、ステップS15の判定処理に進む。
なお、本実施形態では、上記の第1輝度閾値ΔDthと第2輝度閾値δDthとは同じ値に設定されているが、異なる値に設定されてもよく、適宜設定される。また、第1輝度閾値ΔDthと第2輝度閾値δDthの値を状況に応じて可変させることも可能である。
統合手段6は、ステップS11の判定処理で、条件1と条件2をともに満たすと判定すると(ステップS11;YES)、続いて、入力画素pi,jと、図12に示すように入力画素pi,jが入力されるより以前に入力されていて入力画素pi,jの下に隣接する画素pi,j-1について、上記と同様に、下記の条件3や条件4を満たすか否かの判定を行う(ステップS12)。
[条件3]入力画素pi,jの輝度Di,jと、下に隣接する画素pi,j-1の輝度Di,j-1とのエッジ強度ΔDlower(i,j)、すなわち、
ΔDlower(i,j)=|Di,j−Di,j-1| …(6)
が、予め設定された前述した第1輝度閾値ΔDth未満である。
[条件4]図13に示すように、入力画素pi,jの輝度Di,jと、下に隣接する画素pi,j-1が属するグループgに属する全画素の輝度Dの平均値Dave-lowerとの平均値差分δDlower(i,j)、すなわち、
δDlower(i,j)=|Di,j−Dave-lower| …(7)
が、予め設定された前述した第2輝度閾値δDth未満である。
なお、この場合も、下に隣接する画素pi,j-1が属するグループgが当該下に隣接する画素pi,j-1のみで構成されている場合もあり、その場合、グループgに属する全画素の輝度Dの平均値Dave-lowerは、当該下に隣接する画素pi,j-1の輝度Di,j-1に等しい。
そして、統合手段6は、条件3と条件4の少なくとも一方を満たさないと判定した場合には(ステップS12;NO)、入力画素pi,jを、下に隣接する画素pi,j-1とは非統合とするが、ステップS11の判定処理で上記の条件1と条件2を満たすと判定しているため、入力画素pi,jと左に隣接する画素pi-1,jとを1つのグループに統合する(ステップS13)。
その際、例えば図10に示したように、左に隣接する画素pi-1,jが他の画素とグループ化されていなければ、入力画素pi,jと左に隣接する画素pi-1,jとが1つのグループに統合されて、左右に隣接する2つの画素からなるグループが新たに形成される。また、例えば図11に示したように、左に隣接する画素pi-1,jが他の画素と統合されていてグループgに属していれば、入力画素pi,jがグループgに追加されるように統合され、グループgが入力画素pi,jの分だけ1画素分拡大する。
なお、左に隣接する画素pi-1,jが属するグループgが例えば図14(A)に示すような形状である場合に、ステップS12の判定処理で、条件3と条件4の少なくとも一方を満たさないと判定されて(ステップS12;NO)、入力画素pi,jが下に隣接する画素pi,j-1と統合されない場合でも、図14(B)に示すように、入力画素pi,jが左に隣接する画素pi-1,jと統合されることで(ステップS13)、結果的に、入力画素pi,jが下に隣接する画素pi,j-1と1つのグループgに統合される場合もある。
次に、統合手段6は、ステップS12の判定処理で、条件3と条件4をともに満たすと判定した場合には(ステップS12;YES)、入力画素pi,jと、下に隣接する画素pi,j-1および左に隣接する画素pi-1,jとを1つのグループに統合する(ステップS14)。
その際、例えば図12に示したように、下に隣接する画素pi,j-1や左に隣接する画素pi-1,jがともに他の画素とグループ化されていなければ、入力画素pi,jと下に隣接する画素pi,j-1と左に隣接する画素pi-1,jが1つのグループに統合されて3つの画素からなるグループが新たに形成される。また、例えば図11や図13に示したように、下に隣接する画素pi,j-1または左に隣接する画素pi-1,jのいずれか一方が他の画素と統合されていてグループgに属していれば、入力画素pi,jとグループgに属していない方の画素とがグループgに追加されるように統合されて、グループgが2画素分拡大する。
また、例えば図15(A)に示すように、左に隣接する画素pi-1,jがグループg1に属し、下に隣接する画素pi,j-1が他のグループg2に属している場合、入力画素pi,jと下に隣接する画素pi,j-1および左に隣接する画素pi-1,jとを統合すると(ステップS14)、図15(B)に示すように、入力画素pi,jを介してグループg1とグループg2とが統合されて1つのグループgとなる。
一方、統合手段6は、ステップS11の判定処理で、条件1と条件2の少なくとも一方を満たさないと判定した場合には(ステップS11;NO)、ステップS15の判定処理に進み、上記と同様に、条件3や条件4を満たすか否かの判定を行う(ステップS15)。
そして、統合手段6は、条件3と条件4をともに満たすと判定した場合には(ステップS13;YES)、ステップS9の判定処理で条件1と条件2の少なくとも一方を満たさないと判定しているため(ステップS9;NO)、入力画素pi,jと、左に隣接する画素pi-1,jとを非統合とし、下に隣接する画素pi,j-1のみと1つのグループに統合する(ステップS14)。
その際、入力画素pi,jと下に隣接する画素pi,j-1とを1つのグループに統合すると(ステップS16)、結果的に、左に隣接する画素pi-1,jと統合される場合があることは、図14(A)、(B)に示したケースから容易に類推される。
また、統合手段6は、ステップS15の判定処理で、条件3と条件4の少なくとも一方を満たさないと判定した場合には(ステップS15;NO)、入力画素pi,jを、左に隣接する画素pi-1,jとも下に隣接する画素pi,j-1とも非統合として、入力画素pi,jのみが属する新たなグループgとして登録する(ステップS17)。
なお、統合手段6での統合処理の際、統合したグループgの画素数が非常に小さく、ノイズ等のように無視してよいグループである場合に、そのようなグループgをグループの登録から削除して、道路面の路面領域に属するグループGであるか否かの判定の対象としないように構成することも可能である。
統合手段6は、入力画素pi,jをグループgに統合すると(ステップS13、S14、S16)、例えば図15(B)に示したように、複数のグループを統合して1つのグループとした場合には、1つに統合したグループgのグループ番号を、統合の対象となった複数のグループの各グループ番号のうちの例えば最も小さい番号を選択する等して、必要に応じて更新する。また、入力画素pi,jを新たなグループgとして登録すると(ステップS17)、その新規のグループgにグループ番号を付ける(ステップS18)。
また、算出手段7は、入力画素pi,jが新たなグループgとして登録された場合(ステップS17)には、当該グループgに対応付ける後述する条件成立フラグFを0に設定する(図8のステップS19)。また、入力画素pi,jがグループgに統合されたことにより(ステップS14)、複数のグループが統合されて1つのグループとされた場合(例えば図15(B)参照)には、算出手段7は、統合の対象となった複数のグループの中に条件成立フラグFが1のグループがあれば、1つに統合された当該グループgの条件成立フラグFを1に設定し、統合の対象となった複数のグループの条件成立フラグFがすべて0であれば、1つに統合された当該グループgの条件成立フラグFを0に設定する(ステップS19)。
そして、現在統合処理が行われた当該グループgの条件成立フラグFが0であれば(ステップS20;YES)、当該グループgの当該画素行jにおける画素数Njを計数する(ステップS21)。そして、図6のステップS3やステップS10の設定処理で設定した当該水平ラインjにおける横幅閾値Wthに相当する画素数閾値Nth(j)を参照して、計数した当該画素行jにおける画素数Njが画素数閾値Nth(j)以上であれば(ステップS22;YES)、当該グループgの条件成立フラグFを1に切り替えて設定し(ステップS23)、条件が成立した旨の情報を当該グループgに対応付ける。
すなわち、本実施形態では、当該グループgの条件成立フラグFを1に設定することが、条件が成立した旨の情報を当該グループgに対応付けることに対応する。計数した当該画素行jにおける画素数Njが画素数閾値Nth(j)以上でなければ(ステップS22;NO)、当該グループgの条件成立フラグFは0のままとされる。
また、現在統合処理が行われた当該グループgの条件成立フラグFが1であれば(ステップS20;NO)、それ以降の統合処理で、当該グループgにおいて一旦画素数Njが画素数閾値Nth(j)以上となった画素行jに属する画素数が減少することはなく、当該グループgの条件成立フラグFが0とされることはないため、ステップS21〜S23の各処理を行う必要はない。
そのため、本実施形態では、処理の迅速化を図る目的から、現在統合処理が行われた当該グループgの条件成立フラグFが1であれば(ステップS20;NO)、ステップS21〜S23の各処理を行わずにスキップするようになっている。
算出手段7は、続いて、現在統合処理が行われた当該グループgの画素数Nを算出する(ステップS24)。すなわち、入力画素pi,jが新規のグループgとして登録された場合には当該グループgの画素数Nを1とし、入力画素pi,jのみがグループgに統合された場合には当該グループgの画素数Nを1だけ増加させ、入力画素pi,jがグループgに統合されたことにより他の1つの画素pもグループgに統合された場合には当該グループgの画素数Nを2だけ増加させる。
また、入力画素pi,jを介して2つのグループg1、g2が統合されて1つのグループgとされた場合には、当該1つに統合されたグループgの画素数Nをグループg1、g2の各画素数の和に入力画素pi,jの1画素を加えた画素数として算出する。
算出手段7は、続いて、当該グループgに属する各画素pの輝度Dの合計を算出し、それを当該グループgの画素数Nで除算して、当該グループgに属する各画素pの輝度Dの平均値Daveを算出して更新する(ステップS25)。この場合、入力画素pi,jが新規のグループgとして登録された場合には、当該グループgの画素数Nは1であるから、入力画素pi,jの輝度Di,jが当該グループgに属する画素pの輝度Dの平均値Daveとなる。
なお、必要に応じて、当該グループgの左端、右端の画素の各座標や上端、下端の画素の各座標や、当該グループgの中心点等を算出して更新するように構成することも可能である。
面積算出手段8は、図6のステップS2の設定処理で設定したチェック領域Rに基づいて、入力画素pi,jがチェック領域R内にあるか否かを判定し(ステップS26)、入力画素pi,jがチェック領域R内にある場合には(ステップS26;YES)、当該グループgがチェック領域R内で占める面積Aを画素数Anとして算出する(ステップS27)。
すなわち、入力画素pi,jがチェック領域R内にある場合(ステップS26;YES)、入力画素pi,jが新規のグループgとして登録された場合には当該グループgの面積Aの画素数Anを1とし、入力画素pi,jのみがグループgに統合された場合には当該グループgの面積Aの画素数Anを1だけ増加させる。
また、入力画素pi,jがグループgに統合されたことにより他の1つの画素pもグループgに統合された場合には、当該他の1つの画素pがチェック領域R内にあれば、当該グループgの面積Aの画素数Anを2だけ増加させ、当該他の1つの画素pがチェック領域R内になく、入力画素pi,jのみがチェック領域R内にある場合には、当該グループgの面積Aの画素数Anを1だけ増加させる。
また、入力画素pi,jを介して2つのグループg1、g2が統合されて1つのグループgとされた場合には、当該1つに統合されたグループgの面積Aの画素数Anを、グループg1、g2の各面積Aの画素数Anの和に入力画素pi,jの1画素を加えた画素数として算出する。
そして、画像Tの最上段の水平ラインの統合処理が終了するまで(図6のステップS8)、統合手段6や算出手段7、面積算出手段8による上記の各処理が、入力画素pi,jが順次入力されるごとに繰り返される。
また、画像Tの最上段の水平ラインまで統合処理が終了すると(ステップS8;YES)、統合手段6による統合処理により各画素pが各グループgに統合され、最終的に、画像Tの各画素pが複数のグループgに分割される。例えば図5に示した画像Tの各画素pは、統合処理により、図16に濃淡で分けて表されるような複数のグループgにそれぞれ統合される。
続いて、算出手段7は、図8のステップS24の算出処理で、各グループgについて算出したグループgに属する画素数Nをそれぞれ各グループgの縦方向の画素行jの行数で除算して画素数の平均値Naveを算出し、この画素数の平均値Naveとして各グループgの画素行jごとの横幅Wjの平均値Waveを算出する(図9のステップS28)。
次に、路面領域検出手段9は、各グループgについて、当該グループgが道路面の路面領域に属するグループGであるか否かを判定し、条件を満たす場合には、当該グループgを道路面の路面領域に属するグループGとして検出して登録する。
具体的には、路面領域検出手段9は、まだ判定していないグループgがあれば(ステップS29;YES)、まず、当該グループgの条件成立フラグFが1であるか否かを判定し(ステップS30)、条件成立フラグFが0であり(ステップS30;NO)、当該グループgに条件が成立した旨の情報が対応付けられていなければ、当該グループgについての判定処理を終了する。
当該グループgの条件成立フラグFが1であり、当該グループgに条件が成立した旨の情報が対応付けられていれば(ステップS30;YES)、当該グループgは、画素行jごとの横幅Njが所定の横幅閾値Wthに相当する画素数閾値Nth以上である画素行jが存在するという条件を満たす。
そして、当該グループgは、実空間上で上記の横幅閾値Wth(例えば60cm)以上の横幅Wjが少なくともその一部に存在する撮像対象に対応するものであることが分かる。そのため、実空間上の横幅Wjが大きくても50cm程度である横断歩道の各白線ブロックや、停止線を伴わない車線、数字、文字、矢印等の路面上の標示に対応するグループgは、このステップS30の判定処理で、道路面の路面領域に属するグループGとして検出されるグループgの判定対象から排除される。
路面領域検出手段9は、続いて、算出手段7がステップS28の算出処理で当該グループgの画素行jごとの横幅Wjの平均値Waveとして算出した画素数の平均値Naveが、予め設定された平均値閾値Nave_th以上であるか否かを判定し(ステップS31)、画素数の平均値Naveが平均値閾値Nave_th以上でなければ(ステップS31;NO)、当該グループgについての判定処理を終了する。
図3に示したように、仮に車線LRに連続して道路面上に標示される停止線SLが画像T中に撮像されていたとしても、停止線SLを伴う車線LRに対応するグループgの画素数の平均値Naveは平均値閾値Nave_th以上にはならないため(ステップS31;NO)、停止線SLを伴う車線LRに対応するグループgが、このステップS31の判定処理で、道路面の路面領域に属するグループGとして検出されるグループgの判定対象から排除される。
路面領域検出手段9は、当該グループgの画素数の平均値Naveが平均値閾値Nave_th以上であれば(ステップS31;YES)、続いて、算出手段7が図8のステップS25の算出処理で算出した当該グループgの各画素pの輝度Dの平均値Daveが、予め設定された輝度平均閾値Dave_th以下であるか否かを判定し(ステップS32)、輝度Dの平均値Daveが輝度平均閾値Dave_th以下であれば(ステップS32;NO)、当該グループgについての判定処理を終了する。
この輝度平均閾値Dave_thは、通常、道路面の路面領域が撮像された画素pの輝度Dとして検出される程度の低い輝度に設定される。そのため、仮に上記のステップS30やステップS31の判定処理で横断歩道や停止線、車線、数字、文字、矢印等の路面上の標示に対応するグループgが、道路面の路面領域に属するグループGとして検出されるグループgの判定対象から排除されなかった場合でも、このステップS32の判定処理で判定対象から排除される。
また、図16に示した画像T中の各グループgでは、空に対応するグループgskyが高輝度に撮像されているため、空に対応するグループgskyも、このステップS32の判定処理で、道路面の路面領域に属するグループGとして検出されるグループgの判定対象から排除される。
しかし、曇天や雨天等の場合には、空に対応するグループgskyの各画素pの輝度Dの平均値Daveが輝度平均閾値Dave_th以下になる場合もある(ステップS32;YES)。また、図16に示したように、道路脇の街路樹に対応するグループgtreeも上記のステップS30やステップS31の判定処理では道路面の路面領域に属するグループGとして検出されるグループgの判定対象から排除されず、また、グループgtreeに属する各画素pの輝度Dが低いため、街路樹に対応するグループgtreeの各画素pの輝度Dの平均値Daveが輝度平均閾値Dave_th以下になる場合もある(ステップS32;YES)。
そのため、路面領域検出手段9は、続いて、面積算出手段8が図8のステップS27の算出処理で算出した当該グループgのチェック領域R内で占める面積Aとしての画素数Anが、予め設定された面積閾値Ath以上であるか否かを判定し(ステップS33)、画素数Anが面積閾値Ath以上でなければ(ステップS33;NO)、当該グループgについての判定処理を終了する。
図5に示したように、チェック領域Rは、自車両の推定軌跡Lest等に基づいて画像T中での自車両の進行方向に設定され、空や道路脇の街路樹が撮像された画素領域はこのチェック領域R内に存在しないため、図16に示した空や街路樹に対応するグループgsky、gtreeのチェック領域R内で占める面積Aとしての画素数Anは0になる。そのため、空や街路樹に対応するグループgsky、gtreeは、このステップS33の判定処理で、道路面の路面領域に属するグループGとして検出されるグループgの判定対象から排除される。
また、図16に示したように、画像T中の右下に検出された立入り禁止の標示中の低輝度のグループgkoが、上記のステップS30〜S32の各判定処理をクリアする場合があり、また、図5に示したように、チェック領域Rの一部がこのグループgkoに相当する部分にかかっているため、グループgkoのチェック領域R内で占める面積Aとしての画素数Anが0にならない場合がある。
しかし、このような場合でも、上記の面積閾値Athを予めある程度大きな値に設定しておくことで、グループgkoのようなグループを、このステップS33の判定処理で道路面の路面領域に属するグループGとして検出されるグループgの判定対象から的確に排除することが可能となる。
路面領域検出手段9は、グループgが上記のステップS30〜S33の判定処理をすべてクリアすると、当該グループgを道路面の路面領域に属するグループGとして検出する(ステップS34)。例えば、図5に示した画像Tに対する処理の結果、図17に示すように、グループG1〜G4が道路面の路面領域に属するグループGとして検出される。そして、これらのグループG1〜G4を画像T上でつなぎ合わせることで、画像Tから道路面の路面領域を抽出して検出することが可能となる。
路面領域検出手段9は、それらのグループG1〜G4の各情報やそれらをつなぎ合わせて検出した道路面の路面領域の情報を記憶手段に保存するとともに、必要に応じて外部装置に出力する。なお、検出した各グループG1〜G4の各情報が前回のサンプリング周期で抽出した道路面の路面領域の情報と整合性を有しない場合に整合性を有しないグループGの情報を排除する等の処理を行うように構成することも可能である。
そして、統合手段6により画像T上で統合された全グループgについての処理が終了すると(ステップS29;NO)、今回のサンプリング周期で撮像手段2から入力された1画像分の画像Tに対する処理が終了され、撮像手段2により次のサンプリング周期での撮像が開始されると(図6のステップS1)、改めてステップS2からの各処理が処理部5で実行される。
以上のように、本実施形態に係る道路認識装置1によれば、統合手段6により画像Tの各画素pを輝度Dに基づいて各グループgに統合した後、グループgの画素行jごとの横幅Wj(Nj)やその平均値Wave(Nave)、グループgに属する各画素pの輝度Dの平均値Dave、グループgが画像Tのチェック領域R内で占める面積A(An)に基づいて、当該グループgを道路面の路面領域に属するグループGであるか否かを判定する。
すなわち、画像T内でのグループgの大きさや形状(横幅やその平均値)、平均的な輝度(輝度の平均値)、画像T中で占める位置(チェック領域内で占める面積)に基づいて判定するため、グループgが道路面の路面領域に属するグループGであるか否かを的確に判定して、画像T中から道路面の路面領域を的確に検出することが可能となる。
特に、上記の特許文献3に記載の車両用環境認識装置では、画像T中にウインドウを設定し、道路面の路面領域を抽出するための基準色としてウインドウの下端部中央付近の画素の色を基準色とするため、ウインドウの下端部中央付近に停止線等の白い表示が撮像されている場合にはその白い色が基準色となってしまい、路面領域を正しく抽出することが困難となる虞があった。
しかし、本実施形態に係る道路認識装置1では、グループgに属する各画素pの輝度Dの平均値Daveに基づいてグループgが道路面の路面領域に属するグループGであるか否かを判定するため、そのような誤抽出や誤判定の問題が生じることを的確に防止して、道路面の路面領域を的確に検出することが可能となる。
また、統合手段6による各グループgの統合処理と同時並行で、算出手段7や面積算出手段8による各処理が行われ、統合処理が終了した後、算出手段7による図9のステップS28の算出処理や路面領域検出手段9によるステップS30〜S33の判定処理等が行われるため、画像T中からの道路面の路面領域の検出を非常に迅速に行うことが可能となる。
そのため、例えば1秒間に数フレーム分或いは数十フレーム分の画像の輝度が取り込まれ、次々と処理を行わなければならないような場合でも、各フレームごとに画像T中から道路面の路面領域を的確に検出することが可能となり、リアルタイムで処理を行うことが可能となる。
さらに、本実施形態に係る道路認識装置1によれば、統合手段6により画像Tの各画素pを輝度Dに基づいて統合した各グループgとして画像T中から道路面の路面領域を検出するため、例えば、自車両が走行する道路が自車両の左右のいずれにも車線が標示されていないような道路であっても画像T中から的確に道路面の路面領域を検出することが可能となる。
その際、チェック領域R(図4、図5参照)を、例えば、自車両MCの挙動から推定される推定軌跡Lestに基づいて設定することができるため、自車両が走行している道路が車線が標示されていない道路であっても、車線に頼ることなく、有効にチェック領域Rを設定して画像T中から道路面の路面領域を的確に検出することが可能となる。
また、本実施形態に係る道路認識装置1では、上記のように、道路面の路面領域に属するグループGとして検出した各グループGをつなぎ合わせて画像T中に道路面の路面領域を抽出して検出するため、図18に示すように、自車両が走行している道路と同じような輝度Dを有し、自車両が走行している道路に合流してくる道路Bをも有効に検出することが可能となる。
また、自車両が走行している道路の遠方領域Cでは、画像T上では自車両の側方の車線が非常に細く撮像され、検出するのが困難になるが、そのような遠方領域Cでも、道路面の路面領域に属するグループGとして検出した各グループGをつなぎ合わせていくことで有効に画像T中から検出することが可能となる。
このように、本実施形態に係る道路認識装置1では、自車両が走行している道路に合流する道路Bや、自車両が走行している道路の遠方領域Cをも的確に検出することが可能となり、画像Tに撮像された道路面の路面領域を的確に検出することが可能となる。
なお、画像Tにおける道路面の路面領域の明るさ等は、撮像手段2のシャッタレベルに応じても変わるため、上記の輝度平均閾値Dave_thを撮像手段2のシャッタレベルに応じて可変させるように構成することも可能である。
具体的には、本実施形態のように撮像手段2をCCDカメラ等で構成した場合、CCDカメラ等に通常備えられる機能として、自車両の周囲の明るさを自ら判断して適切な露光を得るための露光調整を自動的に行うように構成されている。すなわち、例えば、シャッタ時間調整やアンプゲイン切り替え、LUT(Look Up Table)の選択やそれによる輝度値変換等の露光調整が自動的に行われるようになっている。
そこで、例えば、撮像手段2から画像Tを送信する際に、あわせて、その露光調整のレベルをシャッタレベルとして処理部5に送信するように構成し、路面領域検出手段9で、その撮像手段2のシャッタレベルに応じて輝度平均閾値Dave_thを可変させるように構成することが可能である。
このように構成すれば、上記のように、車線や横断歩道、停止線、数字、文字、矢印等の路面上に白く標示される各標示と、道路面の路面領域のように暗く撮像される撮像対象とを、撮像手段2のシャッタレベルに応じて可変された輝度平均閾値Dave_thにより的確に選別することが可能となる。
そのため、例えば、車線等の路面上の標示に対応するグループgが図9のステップS30やステップS31の判定処理で排除されなかった場合でも、ステップS32の判定処理で判定対象から的確に排除することが可能となり、道路面の路面領域に属するグループGとして検出すべき輝度Dが小さいグループgを道路面の路面領域に属するグループGとして的確に検出することが可能となる。
[第2の実施の形態]
上記の第1の実施形態では、撮像手段2で撮像された1つの画像Tの各画素pの輝度Dを処理して、画像T中に道路面の路面領域G1〜G4を検出する道路認識装置1について説明した。
しかし、撮像手段2として一対のカメラ(すなわちいわゆるステレオカメラ)を用いて一対の画像を撮像し、それに基づいて処理を行うと、画像T中に撮像された撮像対象までの実空間上の距離Zを検出することができるため、それに基づいて道路面の路面領域をより的確に検出することが可能となる。第2の実施形態では、このように構成された道路認識装置について説明する。
本実施形態に係る道路認識装置10は、図19に示すように、第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で図2に示したような基準画像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のデータが送信されてくると、図20に示すように、基準画像T上に例えば3×3画素や4×4画素等の所定の画素数の基準画素ブロックPBを設定し、基準画素ブロックPBに対応する比較画像Tc中のエピポーララインEPL上の基準画素ブロックPBと同形の各比較画素ブロックPBcについて、下記(8)式に従って当該基準画素ブロックPBとの輝度パターンの差異であるSAD値を算出し、SAD値が最小の比較画素ブロックPBcを特定するようになっている。
SAD=Σ|D1s,t−D2s,t| …(8)
なお、上記(8)式において、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とは、下記(9)〜(11)式で表される三角測量の原理に基づく座標変換により一意に対応付けることができる。
X=CD/2+Z×PW×(i−IV) …(9)
Y=CH+Z×PW×(j−JV) …(10)
Z=CD/(PW×(dp−DP)) …(11)
上記各式において、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は、例えば図21に示すように、基準画像T上で有意な特徴を有する部分である撮像対象の辺縁部分(エッジ部分)等に有効な視差dpが算出された画像となる。なお、距離画像Tzの作成においては、上記(11)式等に従って予め視差dpを距離Z等に換算し、距離Z等を基準画像Tの各画素pに割り当てて作成するように構成することも可能である。
本実施形態では、処理部5における各処理では、必要に応じて上記(11)式等に従って距離画像Tzの各画素pにおける視差dpが実空間上の距離Zに変換されて用いられる。
本実施形態においても、処理部5は、図示しないCPUやROM、RAM、入出力インターフェース等がバスに接続されたコンピュータで構成されており、第1の実施形態と同様の統合手段6や算出手段7、面積算出手段8、路面領域検出手段9が設けられている。なお、本実施形態では、統合手段6等での処理は基準画像Tに対して行われるようになっているが、比較画像Tcに対して処理を行うように構成してもよく、また、基準画像Tと比較画像Tcの両者に対して処理を行うように構成することも可能である。
また、本実施形態では、処理部5には、さらに、基準画像T中から自車両の側方に標示された車線を検出する車線検出手段15が設けられている。さらに、第1の実施形態と同様に、処理部5に、先行車両を検出する先行車両検出手段等を設けるように構成することも可能であり、必要に応じて、車速センサやヨーレートセンサ、ステアリングホイールの舵角を測定する舵角センサ等のセンサ類からの測定値が入力されるように構成することも可能である。
ここで、本実施形態の処理部5の統合手段6等における処理について説明する前に、車線検出手段15について説明する。
車線検出手段15は、撮像手段2により撮像された基準画像T中から自車両の側方に存在する車線を検出するようになっている。具体的には、車線検出手段15は、図22に示すように、基準画像Tを用いて、その1画素幅の水平ラインj上を例えば基準画像Tの中央から左右方向に探索し、輝度Dが隣接する画素pの輝度Dから設定された閾値以上に大きく変化する画素pを車線候補点cl、crとして検出する。
また、例えば、基準画像Tの中央から右方向に探索して検出した車線候補点crでは、図23に示すように、輝度Dは大きく上昇するが、さらに右方向に探索を続けて車線が終了する車線終了点候補点creで、道路面に対応する低い輝度に低下する。また、図示を省略するが、左方向に探索して検出した車線候補点clでも同様である。
そこで、本実施形態では、車線検出手段15は、車線候補点cl、crを検出すると、さらに左方向或いは右方向に探索を続け、車線終了点候補点cle、creが検出されるまで、検出される車線に対応する画素pの輝度Dを予め作成した図示しないヒストグラムにそれぞれ投票して、ヒストグラムを更新していくようになっている。なお、車線候補点cr等に到達する前の道路面に対応する低輝度の画素pの輝度Dをヒストグラムに投票する等して、道路面の輝度を算出するように構成することも可能である。
そして、車線検出手段15は、基準画像T上の水平ラインjを1画素分ずつ上方にシフトさせながら、同様にして各水平ラインj上に車線候補点を検出していく。その際、検出される車線に対応する画素pの輝度Dのヒストグラムへの投票は継続される。
車線検出手段15は、検出した車線候補点の視差dp等に基づいて当該車線候補点が道路面上にないと判断した場合には当該車線候補点を車線候補点から除外する。なお、この場合の道路面は、前回のサンプリング周期で検出した道路面に基づいてその後の自車両の挙動等から今回のサンプリング周期における道路面の位置が推定される。
そして、残った車線候補点のうち、自車両に近い側の車線候補点に基づいて車線をハフ変換等により直線で近似して自車両の側方にそれぞれ検出する。その際、ハフ変換では種々の直線が候補として算出されるが、例えば自車両の一方の側(例えば右側)に複数の車線が検出される場合には、自車両の他方(例えば左側)に検出した車線との整合性がある車線や、前回のサンプリング周期で検出した車線との整合性がある車線を選ぶ等して、自車両の側方にそれぞれ直線を選別する。
このようにして、自車両に近い側に車線を直線状にそれぞれ検出すると、それより遠い側ではその直線に基づいて直線との位置関係等から車線候補点を選別して結ぶことで、図24に示すように自車両の側方にそれぞれ車線LR、LLを検出するようになっている。なお、以上の車線検出手段15の処理構成については、本願出願人が先に提出した特開2006−331389号公報等に詳述されており、詳細な説明は同公報等を参照されたい。
車線検出手段15は、このようにして検出した車線位置LL、LRや車線候補点cl、cr等の情報を図示しない記憶手段に保存するようになっている。
また、本実施形態では、車線検出手段15は、検出した車線位置LL、LRや車線候補点の情報に基づいて車線モデルを三次元的に形成するようになっている。すなわち、車線検出手段15は、図25(A)、(B)に示すように、自車両の側方に検出した車線を所定区間ごとに三次元の直線式で近似し、それらを折れ線状に連結して表現した車線モデルを形成するようになっている。なお、図25(A)は、Z−X平面上の車線モデルすなわち水平形状モデル、図25(B)は、Z−Y平面上の車線モデルすなわち道路高モデルを表す。
具体的には、車線検出手段15は、自車両前方の実空間を自車両の位置からの例えば距離Z7までの各区間に分け、検出した車線候補点の実空間上の位置(X,Y,Z)に基づいてそれぞれの区間内の車線候補点を最小二乗法で直線近似し、各区間ごとに下記の(12)〜(15)式のパラメータaL、bL、aR、bR、cL、dL、cR、dRを算出して車線モデルを形成するようになっている。
[水平形状モデル]
左車線 X=aL・Z+bL …(12)
右車線 X=aR・Z+bR …(13)
[道路高モデル]
左車線 Y=cL・Z+dL …(14)
右車線 Y=cR・Z+dR …(15)
車線検出手段15は、このようにして車線モデルを形成して、実空間上における道路面を検出するようになっている。車線検出手段15は、このようにして形成した車線モデルすなわち算出した各区間のパラメータaL〜dRをそれぞれ記憶手段に保存するようになっている。
本実施形態に係る道路認識装置10においても、統合手段6や算出手段7、面積算出手段8、路面領域検出手段9は、本実施形態においても上記の第1の実施形態の場合と同様に、図6〜図9に示したフローチャートに従って各処理を行うように構成されている。
本実施形態に係る道路認識装置10は、さらに、上記のような車線検出手段15を設けた結果、以下のような機能を有している。
まず、面積算出手段8で、チェック領域Rを、車線検出手段15が自車両の側方に検出した車線LL、LRの位置を左右端とする領域として基準画像T中に設定するようになっている。
具体的には、面積算出手段8は、前回のサンプリング周期等の過去のサンプリング周期で検出した車線LL、LRの情報に基づいてその後の自車両の挙動から今回のサンプリング周期における車線LL、LRの位置を推定し、それを基準にチェック領域Rを設定するようになっている。なお、本実施形態においても、第1の実施形態と同様に、チェック領域Rを、例えば、今回のサンプリング周期における自車両MCの挙動から推定される推定軌跡Lest(図4参照)に基づいて設定するように構成することも可能である。
また、本実施形態では、前述したように、車線検出手段15で車線LL、LRの検出を行う際に、検出される車線に対応する画素pの輝度Dをヒストグラムに投票する。そこで、このヒストグラムへの投票結果を用いて、路面領域検出手段9で、画像T上で統合された各グループgが道路面の路面領域に属するグループとして検出できるか否かの判定に用いられる輝度平均閾値Dave_thを、車線検出手段15で算出された車線に対応する画素pの輝度Dの平均値に応じて可変して適用することが可能である。
すなわち、車線検出手段15でヒストグラムへの投票結果から今回のサンプリング周期での車線に対応する画素pの輝度Dの平均値を算出することができる。そして、その平均値に基づいて、例えば、それより所定値だけ小さい値を輝度平均閾値Dave_thとするように構成し、車線に対応する画素pの輝度Dの平均値に応じて輝度平均閾値Dave_thが可変されるように構成する。
そして、このように構成すれば、車線や横断歩道、停止線、数字、文字、矢印等の路面上に白く標示される各標示に対応するグループgが図9のステップS30やステップS31の判定処理で排除されなかった場合でも、ステップS32の判定処理で判定対象から的確に排除することが可能となり、道路面の路面領域に属するグループGとして検出すべき輝度Dが小さいグループgを道路面の路面領域に属するグループGとして的確に検出することが可能となる。
一方、本実施形態に係る道路認識装置10は、上記のような距離検出手段11を設けた結果、以下のような機能を有している。
前述した第1の実施形態では、算出手段7で、各グループgごとに、画像T上で横方向に延在する各画素行jごとの横幅Wjを実空間上の横幅として算出する際、画像Tの水平ラインj(画素行j)ごとの1画素あたりの実空間上の横方向の横幅に基づいて算出した。しかし、実際の道路面は図25(B)の道路高モデルに示したように必ずしも平坦ではなく、道路面が平坦であると仮定して算出された水平ラインjごとの1画素あたりの実空間上の横幅が必ずしも適切に適用されない場合もある。
しかし、本実施形態のような距離検出手段11を用い、撮像された基準画像Tと比較画像Tcとを用いたステレオマッチング処理により三角測量の原理に基づいて算出される各画素pごとの視差dpの情報を用いれば、以下のようにしてグループgの画素行jごとの実空間上の横幅Wjを的確に算出することが可能となる。
すなわち、グループgの画素行jの左端の画素pleftにおける視差dpleftを上記(11)式に代入して、左端の画素pleftの実空間上の距離Zleftを算出し、それと左端の画素pの基準画像T上の座標ileftとを上記(9)式に代入して、左端の画素pleftに対応する実空間上の点PleftのX座標Xleftを算出することができる。
同様にして、グループgの画素行jの右端の画素prightにおける視差dprightと基準画像T上の座標irightから上記(9)、(11)式に従って右端の画素prightに対応する実空間上の点PrightのX座標Xrightを算出することができる。そして、|Xleft−Xright|を算出することにより、グループgの画素行jごとの実空間上の横幅Wjを精度良く算出することが可能となる。
そのため、算出手段7は、上記のように精度良く算出されたグループgの画素行jごとの実空間上の横幅Wjに基づいて、それが例えば60cm等に設定された横幅閾値Wth以上であるか否かを精度良く判定することが可能となり、グループgを道路面の路面領域に属するグループGとして検出すべきか否かを精度良く判定することが可能となる。
また、道路認識装置1では、統合手段6が画像T上で統合したグループgに基づいて道路面の路面領域を検出するが、撮像された画像Tには、立体物等の検出の対象とならない撮像対象も撮像されている。
そこで、統合手段6で画像Tの各画素pの輝度Dに基づく統合処理を行う段階で、路面領域を含む道路面に存在する撮像対象と、立体物等の道路面の上方に存在する撮像対象を予め分離するように統合処理を行うように構成すれば、立体物等を道路面の路面領域として誤検出することを的確に防止することが可能となる。そして、本実施形態における距離検出手段11による検出結果を用いれば、それを実現することが可能となる。
具体的には、統合手段6は、入力画素pi,jとそれに隣接する画素p等が上記の条件1および条件2、または条件3および条件4を満たすと判定すると、さらに、入力画素pi,jと隣接する画素pのそれぞれについて、それらの画素pの視差dpと基準画像T上の座標(i,j)に基づいて、上記(10)、(11)式に従って、それらの画素pに対応する実空間上の点Pの道路面からの高さYを算出する。
そして、入力画素pi,jの実空間上の距離Zでの道路面の高さY*を、車線検出手段15が検出した上記(14)式および(15)式で示される車線モデル(道路高モデル)から線形補間する等して求め、各点の道路面からの高さY−Y*を算出する。そして、統合手段6は、入力画素pi,jに対応する実空間上の点Pの道路面からの高さY−Y*と、隣接する画素pに対応する実空間上の点Pの道路面からの高さY−Y*のうち、一方が所定の第1高さ閾値Yth1以上であり、他方が第1高さ閾値Yth1未満である場合には、入力画素pi,jと隣接する画素pとを1つのグループには統合せず、別のグループとする。
このように構成することで、路面領域を含む道路面に存在する撮像対象と、立体物等の道路面の上方に存在する撮像対象とを別のグループに統合することが可能となり、立体物等を道路面の路面領域として誤検出することを的確に防止することが可能となる。
なお、上記の第1高さ閾値Yth1は、例えば10cm等の、道路面とその上方に存在する撮像対象とを的確に分離可能な値に設定される。また、車線検出手段15によって今回のサンプリング周期における車線モデルが検出されていればそれを用いることが可能であり、今回のサンプリング周期での車線モデルが検出されていなければ前回のサンプリング周期で検出した車線モデルに基づいてその後の自車両の挙動等から今回のサンプリング周期における車線モデルが推定されて用いられる。
実空間上の道路面からの高さY−Y*を、路面領域検出手段9における道路面の路面領域に属するグループとして検出するか否かの判定に用いるように構成することも可能である。この場合、路面領域検出手段9は、例えば、グループgに属する各画素pのうち、視差dpが有効に検出されている各画素pについて、上記と同様に、視差dpと基準画像T上の座標(i,j)に基づいて上記(10)、(11)式に従って各画素pに対応する実空間上の各点Pの道路面からの高さYを算出する。
そして、各画素pに対応する実空間上の各点Pの道路面からの高さYの平均値Yaveを算出し、その高さYの平均値Yaveと、上記(14)式および(15)式で示される車線モデル(道路高モデル)から線形補間する等して求めた当該グループgの実空間上の位置における道路面の高さY*とを比較して、当該グループgの道路面からの実空間上の高さYave−Y*が所定の第2高さ閾値Yth2以上である場合には、当該グループgを道路面の上方に存在する立体物等の撮像対象であるとして、道路面の路面領域の検出の対象から除外する。
このように構成することで、立体物等の道路面の上方に存在する撮像対象を除外して、路面領域を含む道路面に存在する撮像対象のみを道路面の路面領域の検出対象とすることが可能となり、立体物等を道路面の路面領域として誤検出することを的確に防止することが可能となる。