(58)【調査した分野】(Int.Cl.,DB名)
前記走行車線判定部(25)は、前記複数の車線のそれぞれについての前記投票値の総和のうちの最大値と、他の車線の前記投票値の総和とに有意差がある場合に、前記投票値の総和の最大値に対応する車線を前記車両(10)が走行していると判定する、請求項1に記載の車両位置検出装置。
所定の周期ごとに、前記車両(10)に搭載され、前記車両(10)の位置を測定する位置測定部により測定された前記車両(10)の位置に基づいて前記位置の複数の候補を設定する候補位置設定部(21)をさらに有する、請求項1または2に記載の車両位置検出装置。
前記一致度算出部(23)は、前記位置の複数の候補のそれぞれについて、前記相関度と、道路上に標示される線の検出確率との関係に従って、前記投影された前記少なくとも一つの線のそれぞれについて検出確率を算出し、前記投影された前記少なくとも一つの線のそれぞれの前記検出確率の平均値を算出し、前記道路上の複数の車線のそれぞれについて、前記複数の候補のうちの当該車線上の候補についての前記検出確率の平均値をさらに平均化することで前記一致度を算出する、請求項1〜3の何れか一項に記載の車両位置検出装置。
所定の周期ごとに、車両(10)の現時刻における位置の複数の候補のそれぞれについて、当該位置の候補における、前記車両(10)に搭載された撮像部(2)の撮影範囲に含まれる道路上に標示される少なくとも一つの線を地図情報から抽出し、抽出した前記少なくとも一つの線を、当該位置の候補にしたがって前記撮像部(2)により得られた現時刻の画像に投影するステップと、
所定の周期ごとに、前記道路上の複数の車線のそれぞれについて、前記位置の複数の候補のうちの当該車線上の1以上の位置の候補のそれぞれについて、当該位置の候補における投影された前記少なくとも一つの線と前記画像との相関度を算出し、前記道路上の複数の車線のそれぞれについて、当該車線上の前記1以上の位置の候補のそれぞれについて算出された前記相関度に基づいて当該車線についての前記地図情報と前記画像との一致度を算出するステップと、
所定の周期ごとに、前記複数の車線のうちの前記一致度が最大となる車線についての投票値の総和に所定の投票値を加算することで、前記車線ごとの投票値の総和を更新するステップと、
前記車線ごとの前記投票値の総和のうち、当該投票値の総和の最大値に対応する車線を前記車両(10)が走行していると判定するステップと、
を含むことを特徴とする車両位置検出方法。
所定の周期ごとに、車両(10)の現時刻における位置の複数の候補のそれぞれについて、当該位置の候補における、前記車両(10)に搭載された撮像部(2)の撮影範囲に含まれる道路上に標示される少なくとも一つの線を地図情報から抽出し、抽出した前記少なくとも一つの線を、当該位置の候補にしたがって前記撮像部(2)により得られた現時刻の画像に投影するステップと、
所定の周期ごとに、前記道路上の複数の車線のそれぞれについて、前記位置の複数の候補のうちの当該車線上の1以上の位置の候補のそれぞれについて、当該位置の候補における投影された前記少なくとも一つの線と前記画像との相関度を算出し、前記道路上の複数の車線のそれぞれについて、当該車線上の前記1以上の位置の候補のそれぞれについて算出された前記相関度に基づいて当該車線についての前記地図情報と前記画像との一致度を算出するステップと、
所定の周期ごとに、前記複数の車線のうちの前記一致度が最大となる車線についての投票値の総和に所定の投票値を加算することで、前記車線ごとの投票値の総和を更新するステップと、
前記車線ごとの前記投票値の総和のうち、当該投票値の総和の最大値に対応する車線を前記車両(10)が走行していると判定するステップと、
を前記車両(10)に搭載されたプロセッサ(43)に実行させる命令を含むことを特徴とする車両位置検出用コンピュータプログラム。
【発明を実施するための形態】
【0021】
以下、図を参照しつつ、車両位置検出システムについて説明する。
この車両位置検出システムは、GPS等により得られる、車線の幅よりも測定誤差が大きい可能性がある車両の位置の測定情報に基づいて、車両位置検出システムが搭載された車両が走行している車線を判定する。その際、この車両位置検出システムは、車両の位置の測定情報から想定される車両位置の候補ごとに、その位置の候補から見た、地図情報に表された車線区画線を、実際に車両に搭載されたカメラにより得られた画像上に投影して、車線ごとに地図と画像との間で一致度を算出する。またこの車両位置検出システムは、車線ごとの一致度のうちの最大となる車線を特定し、特定された車線に投票する。この車両位置検出システムは、所定周期で上記の処理を行って、車線ごとに算出される投票値の総和のうちの最大値が他の車線についての投票値の総和に対して有意差が生じた場合に、その最大値に対応する車線を車両が走行していると判定する。
【0022】
図1は、一つの実施形態による車両位置検出システムの概略構成図である。
図1に示すように、車両位置検出システム1は、車両10に搭載され、カメラ2と、コントローラ4とを有する。カメラ2と、コントローラ4とは、コントロールエリアネットワーク(以下、CANという)3によって互いに接続されている。なお、
図1では、説明の都合のため、車両位置検出システム1の各構成要素及び車両10の形状、サイズ及び配置は、実際のものとは異なっている。
【0023】
カメラ2は、撮像部の一例であり、車両10の前方領域を撮影し、その前方領域の画像を生成する。そのために、カメラ2は、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に車両10の前方に存在する地面または構造物などの像を結像する結像光学系を有する。そしてカメラ2は、例えば、結像光学系の光軸が地面に対して略平行となり、かつ車両10の前方を向くように、車両10の車室内に配置される。そしてカメラ2は、一定の時間間隔(例えば1/30秒)ごとに撮影し、車両10の前方領域を撮影したカラー画像を生成する。なお、カメラ2は、近赤外光に感度を有する2次元検出器を有し、その撮像範囲内の近赤外光の照度に応じたモノクロ画像を生成してもよい。
【0024】
図2は、地図座標系と、車両座標系と、カメラ座標系の関係を示す図である。本実施形態では、便宜上、地図上の任意の位置を原点とする地図座標系(Xm, Ym, Zm)と、車両10を原点とする車両座標系(Xv, Yv, Zv)と、カメラ2を原点とするカメラ座標系(Xc, Yc, Zc)を利用する。本実施形態では、車両座標系(Xv, Yv, Zv)は、車両10の左右の後輪間の中点かつ地面上の点を原点とする。そして車両の進行方向をZv軸とし、Zv軸と直交し、かつ、地面に平行な方向をXv軸とし、鉛直方向をYv軸とする。また地図座標系(Xm, Ym, Zm)においても、傾きの無い地面に平行な面内にXm軸及びZm軸が設定され、その地面に対する鉛直方向にYm軸が設定される。また、カメラ座標系(Xc, Yc, Zc)では、説明の簡単化のために、車両座標系の原点から鉛直方向に沿って上方かつカメラ2が設置される高さの位置に撮像面の中心があると仮定して、その撮像面の中心を原点とする。そして車両座標系と同様に、車両10の進行方向をZc軸とし、Zc軸と直交し、かつ、地面に平行な方向をXc軸とし、鉛直方向をYc軸とする。
なお、実際にカメラ2が取り付けられる位置は、車両10の左右の後輪間の中点の上方からずれていることもあるが、このずれは、単純な平行移動によって補正すればよい。
【0025】
なお、車両位置検出システム1は、撮像部として、車両10の前方領域を撮影するカメラの代わりに、あるいはそのカメラとともに、車両の後方領域を撮影するリアカメラを有していてもよい。
【0026】
カメラ2は、生成した画像を逐次コントローラ4へ送信する。なお、車両10の前方領域を撮影するカメラと車両10の後方領域を撮影するカメラが取り付けられている場合、コントローラ4は、車両10が進行している方向を撮影するカメラからの画像のみを選択的に取得してもよい。そのために、コントローラ4は、CAN3を介して車両10の電子制御ユニット(ECU)11から、シフトレバーのポジションを表すシフトポジション信号を取得する。そしてコントローラ4は、シフトポジション信号が、車両10が前進することを示すドライブポジジョンなどとなっている場合、車両10の前方領域を撮影するカメラから画像を取得する。一方、コントローラ4は、シフトポジション信号が、車両10が後進することを示すリバースポジションとなっている場合、車両10の後方領域を撮影するカメラから画像を取得する。
【0027】
コントローラ4は、車両位置検出装置の一例であり、記憶部41と、通信部42と、制御部43とを有する。記憶部41は、例えば、電気的に書き換え可能な不揮発性メモリ及び揮発性メモリなどの半導体メモリを有する。そして記憶部41は、車両位置検出システム1を制御するための各種プログラム、地図情報、カメラ2の地面からの高さ及び光軸方向といったカメラの位置情報、結像光学系の焦点距離及び画角といったカメラパラメータなどの各種パラメータ、及び制御部43による一時的な演算結果などを記憶する。また記憶部41は、カメラ2の結像光学系による歪曲収差を補正するためのパラメータ、例えば、画素ごとの歪曲収差の補正量(すなわち、歪曲収差を打ち消すための画像上での画素の移動量及び移動方向)を記憶してもよい。
【0028】
以下、車両位置検出に利用される、地図情報について説明する。
図3(a)〜
図3(d)は、地図情報の一例を示す図である。
図3(a)に示される地図情報300は、その地図情報で表された領域の位置を表す緯度経度情報と関連付けられている。そして地図情報300は、白線、黄線などで表される車線区画線などの道路上に標示される線301に関する情報を含む。
【0029】
実際の道路上に標示される線には、複数の種類がある。例えば、
図3(b)において点線で示される線311は、実線の白線と一方の側に設けられる破線状の減速標示の組み合わせで表される。また
図3(c)において点線で示される線312は、点線の白線とその両側に設けられる減速標示の組み合わせで表される。また、
図3(d)において点線で示される線313は、相対的に太い実線の白線のみで表される。このように、道路上に標示される線には、様々な種類のものがある。しかし、地図情報300では、例えば、それぞれの道路上の線について、一つの実線で表され、線ごとに、その線の種類を表すラベルが付されていることがある。例えば、
図3(b)に示される例では、線311は、実線321と、(白線(細)+右減速標示)というラベルで表される。また、
図3(c)に示される例では、線312は、実線322と、(白点線(細)+両側減速標示)というラベルで表される。そして
図3(d)に示される例では、線313は、実線323と、白線(太)というラベルで表される。さらに、地図情報300では、道路上に標示される各線について、複数の線分に分割され、線分ごとに、その両端点の3次元座標が含まれる。
なお、以下では、地図情報に含まれる、道路上に標示される線を分割した個々の線分を地図線分と呼ぶ。
【0030】
通信部42は、カメラ2、ECU11及び車輪速センサ(図示せず)などの各種センサとCAN3を通じて通信する通信インターフェース及びその制御回路を有する。そして通信部42は、カメラ2から画像を受け取り、その画像を制御部43へ渡す。また通信部42は、車両位置の検出処理を実行する周期ごとに、オドメトリ情報として、ECU11から、車両10の速度及び移動量などを取得したり、あるいは、車輪速センサから車輪速を取得して、制御部43へ渡す。
【0031】
制御部43は、1個もしくは複数個の図示していないプロセッサ及びその周辺回路を有する。そして制御部43は、車両位置検出システム1全体を制御する。
図4に、制御部43の機能ブロック図を示す。
図4に示すように、制御部43は、候補位置設定部21と、投影部22と、一致度算出部23と、投票部24と、走行車線判定部25と、追跡部26とを有する。制御部43が有するこれらの各部は、例えば、制御部43が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装される。
【0032】
候補位置設定部21、投影部22、一致度算出部23、投票部24及び走行車線判定部25の各部の処理は、車両10が走行中の車線が判別されるまで、所定の周期で実行される。そして車両10が走行中の車線が判別すると、追跡部26が、その判別時における車両10の位置を初期位置として、それ以降の車両10の位置を追跡する。なお、所定の周期は、カメラ2による撮影周期と同一でもよく、あるいは、異なっていてもよい。
【0033】
候補位置設定部21は、現時点における車両10の位置の候補(以下、単に候補位置と呼ぶ)を、車両10が走行中の道路における車線ごとに複数設定する。
【0034】
候補位置設定部21は、GPSによる最新の測位信号から求められる自車両の位置を、例えば、ナビゲーションシステムから取得し、その位置に基づいて複数の候補位置を設定する。なお、候補位置設定部21は、自車両の位置を測定できる他のセンサからの情報に基づいて候補位置を設定してもよい。
【0035】
GPSの測位信号には誤差が含まれるので、その測位信号は、車両10が走行中の車線を特定できるほどの精度を有さない。特に、車両10の近傍に、高層建築物など、測位信号の受信を妨げる構造物が存在すると、車両10の位置の推定精度はさらに低下する。
【0036】
図5は、GPSの測位信号から求められた車両の位置の一例を示す図である。
図5における各点501は、車両が道路502上を走行したときのGPSの測位信号から求められた車両の位置を表す。各点501と道路502との位置関係に示されるように、GPSの測位信号から求められた車両の位置は、道路502の幅方向全体にわたって分布しており、また、道路502から外れていることもある。このように、GPSの測位信号が、車両10が走行中の車線を特定できるほどの精度を有さないことが分かる。
【0037】
そこで、本実施形態では、候補位置設定部21は、GPSによる最新の測位信号から推定される自車両の位置の近傍において、地図情報に示される車線ごとに複数の候補位置を設定する。そのために、候補位置設定部21は、先ず、GPSによる最新の測位信号から推定される自車両の位置を、その位置に最も近い車線の中心線へ射影した点を基準点として算出する。そして候補位置設定部21は、基準点を中心とする所定範囲内に、車線ごとに複数の候補位置を設定する。
【0038】
図6は、GPSの測位信号から推定される自車両の位置と、設定される候補位置の関係の一例を示す図である。GPSの測位信号から推定される自車両の位置601を、地図情報に示される二つの車線611、612のうち、近い方の車線611へ射影した点、すなわち、車線611の中央線と、位置601から車線611の中央線への垂線との交点が、基準点602として設定される。そして基準点602を中心とする、所定の半径r(例えば、10m〜20m)の探索円603が設定される。そして探索円603と重なる車線ごとに、複数の候補位置604が設定される。
【0039】
具体的に、候補位置設定部21は、下記のように候補位置を設定する。
着目する車線(以下、車線Lと呼ぶ)についてi番目の候補位置を設定する際、候補位置設定部21は、探索園内の車線Lの中央線上に、ランダムに位置X'
iL=[x'
iL, y'
iL, θ'
iL]を設定する。なお、(x'
iL, y'
iL)は、地図情報に示される地図上の位置を表す地図座標系での車線Lの中央線上の位置X'
iLの座標値を表す。またθ'
iLは、位置(x'
iL, y'
iL)における、地図座標系での中央線の方向を表す。候補位置設定部21は、位置X'
iL=に対して誤差εを加算することで、候補位置X
iL(=X'
iL+ε)を設定する。ここで誤差εは、一般に車両が一つの車線内を走行する際の、車線の中央線に対する法線方向の分散と、車両の向きと中央線とがなす方位角の分散を用いて表される正規分布に従って、個々の候補位置を設定する度に算出される。なお、この正規分布における、車線の中央線に対する法線方向の標準偏差は、例えば、0.4〜0.6mに設定され、方位角の標準偏差は、例えば、0.05°〜0.2°に設定される。
【0040】
候補位置設定部21は、探索円と重なる車線ごとに、所定個数(例えば、100個〜1000個)の候補位置を設定する。そして候補位置設定部21は、各候補位置を記憶部41に保存する。なお、以下では、車線Lについて設定された候補位置の集合をχ
L={X
iL|i=1,2,...,I}と表記する。なお、Iは、車線Lについて設定される候補位置の総数である。
【0041】
さらに、候補位置設定部21は、前回の試行時に設定された複数の候補位置の中から選択した候補位置に基づいて、新たな候補位置を設定してもよい。この場合、候補位置設定部21は、候補位置ごとに算出される、後述する車線区画線ごとの復元度の平均値が高い候補位置ほど多く選択されるように、復元度の平均値に基づいて、候補位置をルーレット選択してもよい。その際、候補位置設定部21は、例えば、候補位置の総数の1/10程度の候補位置を選択する。
【0042】
候補位置設定部21は、選択された候補位置のそれぞれについて、次式に従って、その候補位置に基づいて新たな候補位置X
iLを設定する。
【数1】
ここで、
t-1X
iLは、前回の試行時に設定された候補位置から選択された候補位置を表す。Δxは、車両10の進行方向における、車両10の車輪速と前回の試行時から今回の試行時までの時間間隔の積で得られる距離を表す。またεは、上記と同様の誤差である。
なお、候補位置設定部21は、設定される候補位置の総数が初回と同様、I個となるように、前回の候補位置に基づいて新たに設定された候補位置とともに、上記と同様に、GPSの測位信号に基づいて複数の候補位置を設定すればよい。
【0043】
投影部22は、候補位置ごとに、その候補位置からのカメラ2の仮想の撮影範囲内に含まれる、地図情報に表された各車線区画線をカメラ2により現時刻に得られた画像(以下、現画像と呼ぶ)上へ投影する。なお、車両位置検出処理の実行周期とカメラ2による撮影周期とが同期していない場合には、カメラ2により得られた最新の画像を、現画像とすればよい。
【0044】
すなわち、投影部22は、候補位置の周囲の所定範囲(例えば、30m以内)、かつ、候補位置を基準としたカメラ2の撮影範囲内にある少なくとも一つの車線区画線を地図情報から抽出し、抽出した各車線区画線を現画像上に投影する。その際、投影部22は、抽出した各車線区画線のうち、カメラ2の撮影範囲内にある地図線分について、その地図線分上、及びその地図線分の周囲のそれぞれに、所定個数(例えば、50〜100)以上の点を現画像上に投影することが好ましい。これにより、後述するように、地図線分ごとの一致度合を表す正規化相互相関値が正確に算出される。
【0045】
図7は、画像上に投影される車線区画線の一例を示す図である。この例では、候補位置700に対応する撮影範囲710と、3本の車線区画線701〜703とが重なっている。そのため、車線区画線701〜703に含まれる地図線分のうち、撮影範囲710に含まれる地図線分が現画像上に投影される。
【0046】
地図座標系で表される地図上の点p
m=(x
m,y
m,z
m)と画像上の点u
c=(u,v)との関係は、次式で表される。
【数2】
ここで、p
vは、点p
mに対応する車両座標系の点であり、p
cは、点p
mに対応するカメラ座標系の点である。行列R
vcは、カメラ座標系から車両座標系への座標変換における回転成分を表し、並進行列t
vcは、カメラ座標系から車両座標系への座標変換における平行移動成分を表す。そして行列{R
slopeR
vm}は、車両座標系から地図座標系への座標変換における回転成分を表す。ここで、ロールピッチの回転成分を表す回転行列R
slopeは、次式で表される、点p
mの標高y
mと水平面における点p
mの座標(x
m,z
m)との関係式における係数の組(a
x、a
z、a
c)から算出される。
【数3】
ここで、係数の組(a
x、a
z、a
c)は、例えば、地図座標(x
m,z
m)の周囲は平面であると仮定して、地図座標(x
m,z
m)の周囲の所定範囲(例えば、10m以内)に含まれる各地図線分上で等間隔の各点の地図座標(x
i,y
i,z
i)を(3)式に代入したときの二乗誤差が最小となるように、例えば最小二乗法を用いて設定される。
【0047】
並進行列t
vm= (x
vm,y
vm,z
vm)は、車両座標系から地図座標系への座標変換における平行移動成分を表す。そしてh(p
c,k
c)は、カメラ座標系における点p
c=(x
c,y
c,z
c)からカメラ2により得られる画像上の点u
cとの関係を表し、k
cは、カメラ座標系から画像への変換パラメータを表す。カメラ2の歪曲収差を無視できる場合、h(p
c,k
c)は、次式で表される。
【数4】
ここで、(f
u,f
v)は、画像上の水平方向及び垂直方向の焦点距離であり、(c
u,c
v)は、カメラ2の光軸に対応する画像上の座標値である。
【0048】
投影部22は、(2)式に従って、投影対象となる地図線分上、または地図線分の周囲の各点をカメラ2により得られる現画像上に投影する。その際、投影部22は、地図線分が含まれる車線区画線の種類に応じて各点の輝度値を設定する。なお、車線区画線の種類は、上述したように、地図情報に含まれる。
【0049】
例えば、車線区画線が白線の実線である場合、投影部22は、車線区画線上に位置する点が投影される現画像上の位置の輝度値を、車線区画線外に位置する点が投影される現画像上の位置の輝度値よりも高くする。また、車線区画線が黄線の実線である場合、投影部22は、車線区画線上に位置する点が投影される現画像上の位置の輝度値を、白線の場合よりも低くしてもよい。さらに、車線区画線が点線である場合には、投影部22は、車線区画線上に位置する点が投影される現画像上の位置の輝度値として、白または黄のブロックが表示される部分の長さと、ブロック間の間隔との比率に応じて、そのブロックに相当する輝度値か、ブロック外に相当する輝度値を設定すればよい。
【0050】
一致度算出部23は、車線ごとに、地図情報に表された地図と現画像との一致度を算出する。本実施形態では、一致度算出部23は、各候補位置について、投影された車線区画線ごとに、その車線区画線に含まれる地図線分ごとの正規化相互相関値を算出する。そして一致度算出部23は、車線区画線ごとに、その車線区画線に含まれる各地図線分についての正規化相互相関値の平均値を算出する。一致度算出部23は、車線区画線ごとに、正規化相互相関値の平均値から近似的に車線区画線が検出された確率を表す復元率を算出し、各車線区画線の復元率を平均する。そして一致度算出部23は、車線ごとに、その車線内に含まれる候補位置ごとの復元率の平均値をさらに平均化することで一致度を算出する。これにより、一致度算出部23は、複数の車線区画線のうちの何れか一つについてのみ高い相関性があり、他の車線区画線についてはそれほど相関性がないような車線について一致度が過度に高くなることを抑制できるので、車線ごとの一致度を正確に算出できる。
以下、一致度算出の処理の詳細について説明する。
【0051】
まず、一致度算出部23は、各候補位置について、投影された車線区画線ごとに、その車線区画線に含まれる地図線分ごとの地図と現画像間の正規化相互相関値を算出する。その際、一致度算出部23は、地図線分ごとに、その地図線分を含むマッチング領域を地図上で設定する。なお、マッチング領域は、例えば、地図線分の延伸方向に沿って地図線分と同じ長さとなり、地図線分の法線方向に沿って地図線分の幅の所定倍(例えば、2〜4倍)の幅を持つ領域とすることができる。そして一致度算出部23は、マッチング領域に含まれる、現画像上に投影された各点の輝度値と、現画像上の対応点の輝度値とに基づいて正規化相互相関値を算出すればよい。
【0052】
なお、以下では、車線L上のi番目の候補位置について、車両区画線h上のj番目の地図線分(j=1,2,...,J、ただしJは、投影される範囲に含まれる、車線区画線hに含まれる地図線分の数を表す)について算出される正規化相互相関値をκ
Lihjと表記する。例えば、
図7において、車線区画線701(h=1とする)について、撮影範囲710内に3個の地図線分701−1〜701−3が含まれている。そのため、地図線分701−1〜701−3のそれぞれについて正規化相互相関値κ
Li11〜κ
Li13が算出される。
【0053】
次に、一致度算出部23は、各候補位置について、車線区画線ごとにその車線区画線に含まれる各地図線分についての正規化相互相関値κ
Lihjの平均値κ
Lihavgを算出する。その際、一致度算出部23は、正規化相互相関値κ
Lihjが所定の閾値(例えば、0.4〜0.6)以上となる地図線分についてのみ、平均値κ
Lihavgの算出に利用する。これにより、一致度算出部23は、車線区画線に含まれる何れかの地図線分と、現画像上でのその地図線分に対応する車線区画線の一部とが一致しているにもかかわらず、正規化相互相関値が低くなる場合に平均値κ
Lihavgが低下してしまうことを抑制できる。なお、例えば、摩耗などにより、現画像上で地図線分の対応部分が見えなくなっていたり、車線区画線が点線を含み、投影に用いた地図線分の横断方向に沿ったパターンと、現画像上の対応位置のパターンとが異なっているような場合に、地図線分と、現画像上でのその地図線分に対応する車線区画線の一部とが一致しているにもかかわらず、正規化相互相関値は低くなることがある。
【0054】
なお、車線区画線に含まれる、投影対象となる全ての地図線分について、正規化相互相関値κ
Lihjが所定の閾値未満となる場合、一致度算出部23は、その車線区画線についての正規化相互相関値の平均値κ
Lihavgを0としてもよい。例えば、
図7の例では、車線区画線701の3個の地図線分701−1〜701−3のそれぞれの正規化相互相関値κ
Li11〜κ
Li13の平均値κ
Li1avgが算出される。同様に、車線区画線702(h=2)、車線区画線703(h=3)について、それぞれ、正規化相互相関値の平均値κ
Li2avg、κ
Li3avgが算出される。
【0055】
次に、一致度算出部23は、各候補位置について、車線区画線ごとに復元率p
Lihを算出する。その際、一致度算出部23は、車線区画線ごとに、その車線区画線について算出された正規化相互相関値の平均値κ
Lihavgをシグモイド関数に入力することで復元率p
Lihを算出する。すなわち、一致度算出部23は、次式に従って車線区画線ごとの復元率p
Lihを算出する。
【数5】
ここで、関数σ()はシグモイド関数であり、正規化相互相関値の平均値κ
Lihavgと、車線区画線が検出されている確率との関係を表す。そしてa,bは、それぞれ、定数であり、正規化相互相関値の平均値κ
Lihavgと、車線区画線が検出されている確率との関係を表すように予め設定される。本実施形態では、a=25、b=0.75とした。
【0056】
着目する候補位置が、車両10が走行中の車線上に設定されている場合、投影された全ての車線区画線のうちの複数について、復元率が高くなると想定される。そこで一致度算出部23は、候補位置ごとに、その候補位置について投影された車線区画線ごとの復元率p
Lihの平均値p
Liavgを算出する。なお、一致度算出部23は、投影された範囲内に含まれる部分の長さが長い車線区画線ほど重くなる重み係数を用いて、車線区画線ごとの復元率p
Lihを加重平均することで平均値p
Liavgを算出してもよい。
図7の例では、車線区画線701〜703のそれぞれについて算出された復元率p
Li1〜p
Li3を平均化することで、候補位置700についての復元率の平均値p
Liavgが算出される。
【0057】
一致度算出部23は、車線ごとに、その車線上に設定された候補位置ごとの復元率の平均値p
Liavgをさらに平均化することで一致度γ
Lを算出する。
【0058】
一致度算出部23は、車線ごとの一致度γ
Lを投票部24へ通知する。
【0059】
投票部24は、車線ごとの一致度γ
Lが算出される度に、一致度γ
Lが最大となる車線を選択し、選択した車線に所定の投票値を投票する。そして投票部24は、投票された車線について、それまでの投票値の総和に所定の投票値を加算することで、投票値の総和を更新し、更新された投票値の総和を記憶部41に保存する。なお、所定の投票値は、例えば、'1'、あるいは、その車線についての一致度γ
Lとすることができる。
【0060】
なお、投票部24は、車両10の走行車線が変更された場合に、各車線の投票値の総和を0にリセットしてもよい。例えば、投票部24は、ECU11から得られたオドメトリ情報を参照して、道路の延伸方向に対する車両10の方位角が所定値以上となる期間が車線変更を実行するのに十分な期間連続すると、車両10の走行車線が変更されたと判定してもよい。あるいは、投票部24は、方位角が所定値以上となる期間の長さとともに、あるいは、その長さの代わりに、ウィンカーの操作がなされたか否かにより、車線変更が行われたか否かを判定してもよい。この場合、投票部24は、例えば、ウィンカーの操作がなされたことをECU11から通知され、かつ、その通知から所定期間の間に、方位角が所定値以上となると、車線変更が行われたと判定してもよい。
【0061】
走行車線判定部25は、何れかの車線について投票値の総和が更新される度に、車線ごとの投票値の総和に基づいて、車両10が走行中の車線を判定する。
【0062】
本実施形態では、走行車線判定部25は、符号検定により、車線ごとの投票値の総和のうちの最大値と、その他との間に有意差がある場合に、その最大値に対応する車線を車両10が走行していると判断する。すなわち、走行車線判定部25は、次式に従って判定値Pを算出する。
【数6】
ここで、nは、各車線の投票値の総和のうちの最大値であり、kは、2番目に大きい値である。走行車線判定部25は、判定値pが所定の有意水準に相当する値よりも高ければ、車両10は、その最大値に対応する車線を走行していると判定する。そして走行車線判定部25は、その判定結果を追跡部26へ通知する。一方、判定値pが所定の有意水準に相当する値以下であれば、投票値の総和の最大値とその他の車線の投票値の総和との間には有意差は無い。そのため、走行車線判定部25は、車両10が走行中の車線を特定せず、次に何れかの車線について投票値の総和が更新されるまで待機する。なお、所定の有意水準を0.5%とすると、その有意水準に相当する判定値は2.81となる。
【0063】
追跡部26は、車両10が走行中の車線が特定されると、その時点以降において、その判定結果を利用して、車両10の位置、特に、車両10が走行中の車線を追跡する。そのために、追跡部26は、車両10の位置を追跡する様々な手法の何れを利用してもよい。すなわち、追跡部26は、特定された車線の中心を車両10の初期位置として、採用する追跡手法に従って車両10の位置を追跡すればよい。例えば、追跡部26は、初期位置の取得時刻から次の車両位置の更新時刻までの間のオドメトリ情報を利用して、車両の推定位置を求め、その推定位置を中心とする複数の候補位置を設定し、候補位置ごとに、その候補位置からのカメラ2による撮影範囲に含まれる、地図情報に表された車両区画線を(2)式に従ってカメラ2による画像上に投影してもよい。そして追跡部26は、候補位置ごとに各車線区画線と地図との復元度を算出し、その復元度の平均値が最大となる候補位置を、次の車両10の位置とすればよい。
【0064】
図8は、車両位置検出処理の動作フローチャートである。車両位置検出システム1は、所定の周期ごとに、例えば、カメラ2の撮影周期ごとに、以下に示す動作フローチャートに従って自車両の位置を推定する。
【0065】
候補位置設定部21は、GPSの測位信号に基づいて基準点を設定し、基準点を中心とする探索円と重なる車線ごとに、複数の候補位置を設定する(ステップS101)。
【0066】
投影部22は、候補位置ごとに、地図情報に表された、その候補位置からのカメラ2の撮影範囲内に含まれる各車線区画線を現画像上へ投影する(ステップS102)。
【0067】
一致度算出部23は、各候補位置から見た、車線区画線に含まれる地図線分ごとの正規化相互相関値に基づいて、候補位置ごとに、車線区画線ごとの復元率を算出する(ステップS103)。さらに、一致度算出部23は、候補位置ごとに、各車線区画線の復元率の平均値を算出する(ステップS104)。そして一致度算出部23は、車線ごとに、その車線上の各候補位置における復元率の平均値を平均化して、地図と現画像との一致度を算出する(ステップS105)。
【0068】
投票部24は、各車線の一致度のうちの最大値に対応する車線について、所定の投票値をそれ以前の投票値の総和に加算して、投票値の総和を更新する(ステップS106)。
【0069】
走行車線判定部25は、各車線の投票値の総和に基づいて、符号検定による判定値を算出する(ステップS107)。そして走行車線判定部25は、その判定値が所定の有意水準に相当する値よりも大きいか否か判定する(ステップS108)。
【0070】
判定値が所定の有意水準に相当する値以下である場合(ステップS108−No)、候補位置設定部21は、各候補位置を更新する(ステップS109)。そして制御部43は、ステップS102以降の処理を繰り返す。
【0071】
一方、判定値が所定の有意水準に相当する値よりも大きい場合(ステップS108−Yes)、走行車線判定部25は、投票値の総和の最大値に対応する車線を車両10が走行していると判定する(ステップS110)。そして追跡部26は、その判定結果に基づいて、以降の車両10の位置を追跡する(ステップS111)。そして制御部43は、車両10の位置の追跡が必要無くなるまで、例えば、車両10のエンジンが停止されるまで、ステップS112の処理を所定の周期で実行すればよい。
【0072】
以上説明してきたように、この車両位置検出システムは、所定周期ごとに、車両についての各候補位置について、地図情報に表された車線区画線を現画像に投影して一致度合いを調べ、車線ごとに、各候補位置における一致度合いから、最も確からしい車線に投票する。そしてこの車両位置検出システムは、特定の車線について投票値の総和が他の車線の投票値の総和に対して有意に大きい場合に、その特定の車線を車両が走行していると判定する。そのため、この車両位置検出システムは、車両が走行中の車線を正確に検出できる。
【0073】
なお、変形例によれば、走行車線判定部25は、投票値の総和の最大値が所定値に達したときに、その最大値に対応する車線を車両10が走行していると判定してもよい。
【0074】
また他の変形例によれば、一致度算出部23は、候補位置ごとに、その候補位置について投影された車線区画線ごとに現画像に対する正規化相互相関値を算出し、その正規化相互相関値の平均値を候補位置の確度として算出してもよい。そして一致度算出部23は、車線ごとに、その車線上の候補位置ごとの確度の平均値または中央値を一致度として算出してもよい。
【0075】
さらに他の変形例によれば、投影部22は、地図情報に表され、候補位置から見たカメラ2の撮影範囲内にある、車線区画線以外の線も、現画像上に投影してもよい。そして一致度算出部23は、その線についても、車線区画線と同様に復元率を算出し、その復元率を用いて、車線ごとの一致度を算出してもよい。
【0076】
上記の実施形態または変形例による車両位置検出システムから出力された自車両の位置は、例えば、CAN3を介して運転支援システムの制御回路(図示せず)へ送信される。運転支援システムの制御回路は、例えば、自車両の位置とその周囲の情報とを比較して、自車両から所定距離範囲内に特定の構造物(例えば、高速道路の料金所、ナビゲーション中の経路において左折または右折が必要な交差点など)が有れば、車内に設置されたディスプレイまたはスピーカを介して、その構造物が近いことをドライバに通知する。あるいは、運転支援システムの制御回路は、ECU11に、速度を落とす命令を出力してもよい。
【0077】
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。