(58)【調査した分野】(Int.Cl.,DB名)
前記位置更新部(26)は、前記選択されたパーティクルのそれぞれを対応する前記線に射影したときの誤差の総和が最小となるように前記推定位置を求める、請求項1に記載の車両位置検出装置。
前記位置更新部(26)は、前記選択されたパーティクルのそれぞれを対応する前記線に射影したときの誤差の総和と、過去の複数の時刻のそれぞれにおける前記車両(10)の推定位置からオドメトリ情報を用いて予測した次の時刻における前記車両の位置と当該次の時刻における前記車両の推定位置との誤差の総和との和が最小となるように、現時刻及び前記過去の複数の時刻のそれぞれにおける前記車両(10)の推定位置を求める、請求項1に記載の車両位置検出装置。
前記パーティクル生成部(23)は、前記抽出した線の種類が点線または破線を含む線を含む場合、当該点線または破線のブロックが有る場合に相当する当該線を横切る方向の輝度変化を表す第1のパーティクルと、当該点線または破線のブロックが無い場合に相当する当該線を横切る方向の輝度変化を表す第2のパーティクルとを生成する、請求項1〜3の何れか一項に記載の車両位置検出装置。
車両(10)の直前の位置から推定される当該車両の現時刻における予測位置に応じて道路上に標示される線を地図情報から抽出し、抽出した線のそれぞれについて、前記地図情報に表された当該線の種類に応じて、当該線を横切る方向の輝度変化を表すパーティクルを、当該線に沿った方向に応じた位置を変えながら複数生成するステップと、
前記抽出した線のそれぞれについての前記複数のパーティクルのそれぞれについて、前記予測位置を想定される誤差範囲内で変化させながら前記車両(10)を基準とする位置を求め、当該位置にしたがって前記車両(10)に搭載された撮像部(2)により得られた現時刻の画像に投影するステップと、
前記抽出した線のそれぞれについての前記複数のパーティクルのうち、前記画像との一致度合が所定の一致条件を満たすパーティクルを選択するステップと、
前記選択されたパーティクルのそれぞれを、現時刻における前記車両(10)の推定位置に基づいて対応する前記線に射影したときの誤差の総和に応じて前記推定位置を求めるステップと、
を含むことを特徴とする車両位置検出方法。
車両(10)の直前の位置から推定される当該車両の現時刻における予測位置に応じて道路上に標示される線を地図情報から抽出し、抽出した線のそれぞれについて、前記地図情報に表された当該線の種類に応じて、当該線を横切る方向の輝度変化を表すパーティクルを、当該線に沿った方向に応じた位置を変えながら複数生成するステップと、
前記抽出した線のそれぞれについての前記複数のパーティクルのそれぞれについて、前記予測位置を想定される誤差範囲内で変化させながら前記車両(10)を基準とする位置を求め、当該位置にしたがって前記車両(10)に搭載された撮像部(2)により得られた現時刻の画像に投影するステップと、
前記抽出した線のそれぞれについての前記複数のパーティクルのうち、前記画像との一致度合が所定の一致条件を満たすパーティクルを選択するステップと、
前記選択されたパーティクルのそれぞれを、現時刻における前記車両(10)の推定位置に基づいて対応する前記線に射影したときの誤差の総和に応じて前記推定位置を求めるステップと、
を前記車両(10)に搭載されたプロセッサ(43)に実行させる命令を含むことを特徴とする車両位置検出用コンピュータプログラム。
【発明を実施するための形態】
【0023】
以下、図を参照しつつ、車両位置検出システムについて説明する。
この車両位置検出システムは、区画線または道路標示などの道路上に標示された線の種類に関する情報を含む地図情報を参照して、直前の自車両の位置などから推定される現時刻における予測位置の周辺の地図上の線に沿って、線の種類に応じた、線を横切る方向の輝度変化を表す輝度プロファイルを持つパーティクルを複数生成する。そしてこの車両位置検出システムは、地図上の座標系で表される各パーティクルを、自車両の現時刻における予測位置及び予測方位に応じて車両を基準とする座標系での位置に変換してから車両に搭載されたカメラにより得られる画像上へ投影する。そしてこの車両位置検出システムは、画像上に投影された各パーティクルのうち、画像との一致度合が所定の一致条件を満たすパーティクルを選択し、選択したパーティクルの地図上の線への投影誤差が小さくなるように、現時刻における自車両の位置及び方位を推定する。
【0024】
図1は、一つの実施形態による車両位置検出システムの概略構成図である。
図1に示すように、車両位置検出システム1は、車両10に搭載され、カメラ2と、コントローラ4とを有する。カメラ2と、コントローラ4とは、コントロールエリアネットワーク(以下、CANという)3によって互いに接続されている。なお、
図1では、説明の都合のため、車両位置検出システム1の各構成要素及び車両10の形状、サイズ及び配置は、実際のものとは異なっている。
【0025】
カメラ2は、撮像部の一例であり、車両の前方領域を撮影し、その前方領域の画像を生成する。そのために、カメラ2は、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に車両10の前方に存在する地面または構造物などの像を結像する結像光学系を有する。そしてカメラ2は、例えば、結像光学系の光軸が地面に対して略平行となり、かつ車両10の前方を向くように、車両10の車室内に配置される。そしてカメラ2は、一定の時間間隔(例えば1/30秒)ごとに撮影し、車両10の前方領域を撮影したカラー画像を生成する。なお、カメラ2は、近赤外光に感度を有する2次元検出器を有し、その撮像範囲内の近赤外光の照度に応じたモノクロ画像を生成してもよい。
【0026】
図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の左右の後輪間の中点の上方からずれていることもあるが、このずれは、単純な平行移動によって補正すればよい。
【0027】
なお、車両位置検出システム1は、撮像部として、車両10の前方領域を撮影するカメラの代わりに、あるいはそのカメラとともに、車両の後方領域を撮影するリアカメラを有していてもよい。
【0028】
カメラ2は、生成した画像を逐次コントローラ4へ送信する。なお、車両10の前方領域を撮影するカメラと車両10の後方領域を撮影するカメラが取り付けられている場合、コントローラ4は、車両10が進行している方向を撮影するカメラからの画像のみを選択的に取得してもよい。そのために、コントローラ4は、CAN3を介して車両10の電子制御ユニット(ECU)11から、シフトレバーのポジションを表すシフトポジション信号を取得する。そしてコントローラ4は、シフトポジション信号が、車両10が前進することを示すドライブポジジョンなどとなっている場合、車両10の前方領域を撮影するカメラから画像を取得する。一方、コントローラ4は、シフトポジション信号が、車両10が後進することを示すリバースポジションとなっている場合、車両10の後方領域を撮影するカメラから画像を取得する。
【0029】
コントローラ4は、車両位置検出装置の一例であり、記憶部41と、通信部42と、制御部43とを有する。記憶部41は、例えば、電気的に書き換え可能な不揮発性メモリ及び揮発性メモリなどの半導体メモリを有する。そして記憶部41は、車両位置検出システム1を制御するための各種プログラム、地図情報、カメラ2の地面からの高さ及び光軸方向といったカメラの位置情報、結像光学系の焦点距離及び画角といったカメラパラメータなどの各種パラメータ、及び制御部43による一時的な演算結果などを記憶する。また記憶部41は、カメラ2の結像光学系による歪曲収差を補正するためのパラメータ、例えば、画素ごとの歪曲収差の補正量(すなわち、歪曲収差を打ち消すための画像上での画素の移動量及び移動方向)を記憶してもよい。
【0030】
以下、車両位置検出に利用される、地図情報について説明する。
図3(a)〜
図3(d)は、地図情報の一例を示す図である。
図3(a)に示される地図情報300は、その地図情報で表された領域の位置を表す緯度経度情報と関連付けられている。そして地図情報300は、白線、黄線などで表される区画線などの道路上に標示される線301に関する情報を含む。
【0031】
実際の道路上に標示される線には、複数の種類がある。例えば、
図3(b)において点線で示される線311は、実線の白線と一方の側に設けられる破線状の減速標示の組み合わせで表される。また
図3(c)において点線で示される線312は、点線の白線とその両側に設けられる減速標示の組み合わせで表される。また、
図3(d)において点線で示される線313は、相対的に太い実線の白線のみで表される。このように、道路上に標示される線には、様々な種類のものがある。しかし、地図情報300では、例えば、それぞれの道路上の線について、一つの実線で表され、線ごとに、その線の種類を表すラベルが付されていることがある。例えば、
図3(b)に示される例では、線311は、実線321と、(白線(細)+右減速標示)というラベルで表される。また、
図3(c)に示される例では、線312は、実線322と、(白点線(細)+両側減速標示)というラベルで表される。そして
図3(d)に示される例では、線313は、実線323と、白線(太)というラベルで表される。さらに、地図情報300では、道路上に標示される各線について、その両端点の3次元座標が含まれる。
なお、以下では、地図情報に含まれる、道路上に標示される線を地図線分と呼ぶ。
【0032】
通信部42は、カメラ2、ECU11及び車輪速センサ(図示せず)などの各種センサとCAN3を通じて通信する通信インターフェース及びその制御回路を有する。そして通信部42は、カメラ2から画像を受け取り、その画像を制御部43へ渡す。また通信部42は、位置推定処理を実行する周期ごとに、オドメトリ情報として、ECU11から、車両10の速度及び移動量などを取得したり、あるいは、車輪速センサから車輪速を取得して、制御部43へ渡す。
【0033】
制御部43は、1個もしくは複数個の図示していないプロセッサ及びその周辺回路を有する。そして制御部43は、車両位置検出システム1全体を制御する。
図4に、制御部43の機能ブロック図を示す。
図4に示すように、制御部43は、初期値設定部21と、予測位置算出部22と、パーティクル生成部23と、投影部24と、選択部25と、位置更新部26とを有する。制御部43が有するこれらの各部は、例えば、制御部43が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装される。
【0034】
初期値設定部21は、本実施形態による、車両10の位置の検出、すなわち、自車両の位置の検出を開始する際の自車両の位置の初期値を設定する。例えば、初期値設定部21は、GPSの測位信号が最後に受信できたときのその測位信号から求められる位置を、例えば、ナビゲーションシステムから取得し、その位置に基づいて、自車両の位置の初期値を設定する。そして得られた位置及び方位を、自車両の位置の初期値に設定する。
なお、初期値設定部21により設定される初期値は、本実施形態による自車両の位置の検出精度よりも低い検出精度で得られる値であってもよい。
【0035】
本実施形態では、時刻tにおける、自車両の位置の初期値μ
t=(x
t,z
t,θ
t)
tは、ガウス分布に従って、次式で表される。
【数1】
ここで、(x
t,z
t)は、初期値を算出する時刻をtとしたときの、測位信号などから求められた地図座標系でのx方向及びz方向における車両10の位置、すなわち、自車両の位置を表す。θ
tは、時刻tにおける、車両10の方位を表す。なお、車両10の方位は、例えば、車両10が有する、車両10の進行方向の方位を測定するセンサ(図示せず)からの信号をCAN3及び通信部42を介して制御部43が受信することにより得られる。あるいは、制御部43は、自車両の位置の検出を開始する直前において異なる時刻に受信したGPSの測位信号から求めた自車両の位置の変化から算出された自車両の方位を、例えば、ナビゲーションシステムから受信してもよい。また、(1)式において、Σ
tは、共分散行列である。また鉛直方向の位置、すなわち標高y
tは、(1)式には含まれていないが、次式により算出できる。
【数2】
ここで、a
xt、a
zt、a
ctは、それぞれ定数であり、例えば、地図座標(x
t,z
t)の周囲は平面であると仮定して、地図座標(x
t,z
t)の周囲の所定範囲(例えば、10m以内)に含まれる各地図線分上で等間隔の各点の地図座標(x
i,y
i,z
i)を(2)式に代入したときの二乗誤差が最小となるように、例えば最小二乗法を用いて設定される。
【0036】
初期値設定部21により設定された自車両の位置の初期値は、記憶部41に記憶される。
【0037】
予測位置算出部22は、自車両の位置の初期値、あるいは、位置更新部26により求められた直前の自車両の位置と、車両10の車輪速等に基づいて、現時刻における自車両の予測位置を算出する。
本実施形態では、現時刻tにおける自車両の予測位置は、平均値μ
pt、共分散Σ
ptのガウス分布として表される。そこで予測位置算出部22は、次式に従って、現時刻tにおける自車両の水平方向における予測位置と予測方位の平均値μ
pt=(x
pt,z
pt,θ
pt)と共分散行列Σ
ptを算出する。
【数3】
ここで、平均値μ
t-1、共分散Σ
t-1で表されるガウス分布は、時刻(t-1)における、自車両の推定位置を表す。現時刻tが制御部43が自車両位置の検出を行う最初の時刻である場合、N(x
t-1,z
t-1,θ
t-1|μ
t-1,Σ
t-1)は、初期値設定部21により設定された自車両の位置の初期値である。また、時刻(t-1)において、制御部43が自車両位置を検出している場合、N(x
t-1,z
t-1,θ
t-1|μ
t-1,Σ
t-1)は、時刻(t-1)において、制御部43により検出された自車両の推定位置である。
【0038】
(3)式において、u
t=(v
t,ω
t)
tは、は、車輪速から定められる制御入力を表す。v
tは、現時刻tにおける車両10の速度であり、左右の後輪に取り付けられた車輪速センサから通信部42を介して受信した、最新の右後輪の車輪速v
Rtと左後輪の車輪速v
Ltの平均値(v
Rt+v
Lt)/2として算出される。またω
tは、現時刻tにおける車両10の角速度であり、ωt=(v
Rt-v
Lt)/2daである。daは、左右の後輪間の距離である。
またΔtは、現時刻tと直前の時刻(t-1)の時間間隔、すなわち、制御部43が自車両位置の検出処理を行う時間間隔である。行列Q
tは、後輪車輪速による自車両の位置の予測に含まれる誤差の度合いを表している。行列Q
tの各要素σ
x、σ
z、σ
θは、それぞれ、地図座標系におけるXm方向の位置の誤差の標準偏差、Zm方向の位置の誤差の標準偏差、及び方位の誤差の標準偏差に相当し、例えば、σ
x=σ
z=1(m)、σ
θ=10(°)に設定される。
なお、予測位置算出部22は、現時刻tにおける自車両の標高y
tについては、例えば、(2)式に従って算出すればよい。
【0039】
予測位置算出部22は、μ
pt及びΣ
ptを記憶部41に記憶する。
【0040】
パーティクル生成部23は、車両10の現時刻における予測位置に基づいて、その予測位置におけるカメラ2の撮影範囲に含まれる地図線分を横切る方向の輝度変化を表す輝度プロファイルを持つ輝度パターンであるパーティクルを、地図情報に含まれるその地図線分の種類に応じて生成する。
【0041】
本実施形態では、パーティクル生成部23は、パーティクルの生成範囲及び密度を適切に設定するために、予測位置の周囲の所定範囲(例えば、30m以内)、かつ、予測位置を基準としたカメラ2の撮影範囲内にある各地図線分を地図情報から抽出し、抽出した各地図線分をカメラ2により得られる画像上に投影する。なお、一端が所定範囲及び撮影範囲内にあり、かつ他端が所定範囲または撮影範囲から外れる地図線分については、パーティクル生成部23は、その所定の範囲の境界及び撮影範囲の境界のうちの予測位置から近い方と交差した点を地図線分の他端として、その地図線分を画像上に投影する。以下、各地図線分に対して同一の処理が行われるので、r番目の地図線分を例として説明する。
【0042】
地図座標系で表される地図上の点p
m=(x
m,y
m,z
m)と画像上の点u
c=(u,v)との関係は、次式で表される。
【数4】
ここで、p
vは、点p
mに対応する車両座標系の点であり、p
cは、点p
mに対応するカメラ座標系の点である。そして行列{R
slopetR
vmt}は、時刻tにおける、車両座標系から地図座標系への座標変換における回転成分を表す。ここで、ロールピッチの回転成分を表す回転行列R
slopetは、(2)式における(a
xt、a
zt、a
ct)から算出される。また並進行列t
vmt= (x
vmt,y
vmt,z
vmt)は、時刻tにおける、車両座標系から地図座標系への座標変換における平行移動成分を表す。そしてh(p
c,k
c)は、カメラ座標系における点p
c=(x
c,y
c,z
c)からカメラ2により得られる画像上の点u
cとの関係を表し、k
cは、カメラ座標系から画像への変換パラメータを表す。カメラ2の歪曲収差を無視できる場合、h(p
c,k
c)は、次式で表される。
【数5】
【0043】
パーティクル生成部23は、μp
tに基づいて(x
vmt,z
vmt,θ
vmt)を設定し、(4)式に従って、r番目の地図線分の両端点(m
sr,m
er)をカメラ2により得られる画像上に投影する。そしてパーティクル生成部23は、画像上でのその地図線分の長さl
imgrを求める。パーティクル生成部23は、その地図線分の長さl
imgrを一本の地図線分あたりに発生させるパーティクルの総数(例えば、500〜1000)で等分して得られる位置のそれぞれをパーティクルを発生させる位置の候補とする。パーティクル生成部23は、各候補の中から所定数の候補を一様分布に従ってランダムに選択する。そしてパーティクル生成部23は、選択した候補に対応する地図座標系での3次元位置にパーティクルを発生させる。あるいは、パーティクル生成部23は、全ての候補についてパーティクルを発生させてもよい。
【0044】
パーティクル生成部23は、パーティクルを発生させる地図線分の種類に応じて、パーティクルのタイプを決定する。なお、地図線分の種類は、上述したように、地図情報に含まれる。その際、パーティクル生成部23は、地図線分の種類によっては、複数の種類のパーティクルを、そのパーティクルの種類に応じた確率に従って発生させる。
【0045】
図5は、地図線分の種類が「白線(細)」である場合のパーティクルの一例を示す図である。
図5において、横軸は、実線である白線の位置を原点とする、地図線分と直交する方向に沿った位置を表し、縦軸は輝度を表す。そしてプロファイル500は、発生させるパーティクルの輝度プロファイルを表す。地図線分の種類が「白線(細)」である場合には、一本の白線が道路上に標示されているので、地図線分に沿った方向の位置によらず、地図線分を横切る方向の輝度プロファイルは変化しない。そこでこの場合には、パーティクル生成部23は、発生確率p1=1.0にて、プロファイル500で表される、白線の位置に相当し、かつ、白線の幅と同じ幅を持つ中央部分だけが高い輝度を持ち、その両側が低い輝度となるパーティクルを発生させる。
【0046】
図6は、地図線分の種類が「白線(細)+右側減速標示」である場合のパーティクルの一例を示す図である。
図6において、横軸は、実線である白線の位置を原点とする、地図線分と直交する方向に沿った位置を表し、縦軸は輝度を表す。そしてプロファイル600及び610は、それぞれ、発生させるパーティクルの輝度プロファイルを表す。地図線分の種類が「白線(細)+右側減速標示」である場合には、一本の白線だけでなく、減速標示である破線が道路上に標示されているので、地図線分に沿った方向の位置によって、減速標示のブロックの有無により、地図線分を横切る方向の輝度プロファイルは変化する。そこでこの場合には、パーティクル生成部23は、発生確率p1=0.4にて、プロファイル600で表される、白線だけが存在する場合に相当する、白線の位置に相当し、かつ、白線の幅と同じ幅を持つ中央部分だけが高い輝度を持ち、その両側が低い輝度となるパーティクルを発生させ、発生確率p2=0.6にて、プロファイル610で表される、白線とともに減速標示のブロックが存在する場合に相当する、白線に相当する位置と減速標示のブロックに相当する位置の2か所で相対的に高い輝度を持つパーティクルを発生させる。なお、発生確率p1及びp2は、減速標示のブロックの長さとブロック間の長さの比に応じて、予め設定される。
【0047】
図7は、地図線分の種類が「白点線(細)+両側減速標示」である場合のパーティクルの一例を示す図である。
図7において、横軸は、白点線の位置を原点とする、地図線分と直交する方向に沿った位置を表し、縦軸は輝度を表す。そしてプロファイル700〜720は、それぞれ、発生させるパーティクルの輝度プロファイルを表す。地図線分の種類が「白点線(細)+両側減速標示」である場合には、一本の白点線だけでなく、減速標示である破線が白点線の両側に道路上に標示されているので、地図線分に沿った方向の位置によって、白点線のブロックの有無、及び、減速標示のブロックの有無により、地図線分を横切る方向の輝度プロファイルは変化する。そこでこの場合には、パーティクル生成部23は、発生確率p1=0.3にて、プロファイル700で表される、白点線のブロックだけが存在する場合に相当する、白点線に相当する中央部分だけが高い輝度を持ち、その両側が低い輝度となるパーティクルを発生させる。またパーティクル生成部23は、発生確率p2=0.2にて、プロファイル710で表される、白点線のブロックとともに減速標示のブロックが存在する場合に相当する、白点線のブロック及び減速標示のブロックに相当する3ヵ所で相対的に高い輝度を持つパーティクルを発生させる。そしてパーティクル生成部23は、発生確率p3=0.5にて、プロファイル720で表される、減速標示のブロックのみが存在する場合に相当する、減速標示のブロックに相当する2か所で高い輝度を持つパーティクルを発生させる。なお、発生確率p1〜p3は、白点線のブロックの長さとブロック間の長さの比、及び、減速標示のブロックの長さとブロック間の長さの比に応じて、予め設定される。
【0048】
パーティクル生成部23は、生成した各パーティクルを投影部24へ渡す。
【0049】
投影部24は、各パーティクルをカメラ2により現時刻に得られた画像上へ投影する。なお、車両位置検出処理の実行周期とカメラ2による撮影周期とが同期していない場合には、カメラ2により得られた最新の画像を、現時刻に得られた画像とすればよい。その際、投影部24は、車両10の予測位置の不確実性を考慮して、予測位置を算出した際の共分散行列により表される正規分布にしたがって、パーティクルごとに予測位置及び予測方位を修正する。例えば、修正された予測位置及び予測方位μ
qti=(x
qti,z
qti,θ
qti)は次式で表される。
【数6】
ここで、ε
iは、i番目のパーティクルについての予測位置及び予測方位の修正量を表し、正規分布N(0,Σ
pt)にパーティクルごとに発生させた乱数を入力することで得られる。
【0050】
投影部24は、各パーティクルについて、修正された予測位置及び予測方位に基づいてそのパーティクルの車両座標系での位置を次式に従って算出する。
【数7】
ここで、g
iは、i番目のパーティクルの地図座標系での位置(例えば、パーティクルの両端点の位置、あるいは、パーティクル上で輝度値が変化する位置)を表し、q
iは、i番目のパーティクルの車両座標系での位置を表す。また回転行列R
mvtiは、時刻tにおける、地図座標系から車両座標系への座標変換における回転成分であり、i番目のパーティクルについての修正された予測方位θ
qtiに基づいて決定される。同様に、並進行列t
mvtiは、時刻tにおける、地図座標系から車両座標系への座標変換における平行移動成分であり、i番目のパーティクルについての修正された予測位置(x
qti,z
qti)に基づいて決定される。
【0051】
投影部24は、車両座標系上の位置で表された各パーティクルを(5)式にしたがって、時刻tにおけるカメラ2により得られた画像上に投影する。
【0052】
図8は、各パーティクルが投影された画像の一例を示す図である。
図8に示された画像800において、道路上の白線801〜803のそれぞれごとに、その白線と交差するように複数のパーティクル810が投影されている。なお、この例では、パーティクル生成部23は、1本の白線ごとに、最大で1000個のパーティクルを発生させている。パーティクル810によって、白線と直交する方向の位置及び白線となす角が少しずつ変化していることが分かる。なお、各パーティクル810において、相対的に白い部分は輝度が相対的に低く、相対的に黒い部分が輝度が相対的に高いことを表す。
【0053】
投影部24は、画像上に投影された各パーティクルを選択部25にわたす。
【0054】
選択部25は、画像上に投影された各パーティクルについて、画像との一致度合を表す評価値を算出する。そして選択部25は、評価値が所定の一致条件を満たすパーティクルを選択する。
【0055】
例えば、選択部25は、各パーティクルについて、そのパーティクルの輝度プロファイル上で所定数(例えば、50点)の位置の輝度値と画像の対応位置の輝度値との間での正規化相互相関値を評価値として算出する。そして選択部25は、評価値が所定の閾値(例えば、0.8)以上となるパーティクルを、一致条件を満たすとして選択する。なお、画像の画質が悪くても一定数以上のパーティクルが選択されるように、所定の閾値は、例えば、評価値の最大値に1未満の所定数(例えば、0.8)を乗じて得られた値としてもよい。
【0056】
あるいは、選択部25は、評価値が最も高い方から順に所定数(例えば、生成されたパーティクルの総数の1/5〜1/10)のパーティクルを、一致条件を満たすとして選択してもよい。
【0057】
なお、選択部25は、各パーティクルについて、正規化相互相関値を算出する代わりに、誤差二乗和(SSD)あるいは誤差絶対値和(SAD)を評価値として算出してもよい。この場合には、選択部25は、評価値が所定の閾値以下となるパーティクルを、一致条件を満たすとして選択する。
【0058】
選択部25は、選択された各パーティクルについて、位置の検出誤差を推定する。i番目のパーティクルについての位置の検出誤差は、例えば、画像上でのカメラ2の結像光学系の歪曲収差による誤差成分、あるいは、画素単位で区切られることによる誤差成分を含み、共分散行列R
Iiで表されるものとする。共分散行列R
Iiは、画像の中心、すなわち、カメラ2の光軸から離れるほど2次で大きくなると仮定される場合、例えば、次式で表される。
【数8】
ここで、n
i=(n
ui,n
vi)(n
ui=(c
u-u
i)/f
u,n
vi=(c
v-v
i)/f
v)は、正規化カメラ座標系でのi番目のパーティクルの画像上での中心位置を表す。なお、(u
i,v
i)は、i番目のパーティクルの画像上での中心座標であり、(c
u,c
v)は、画像上での中心座標であり、(f
u,f
v)は、カメラ2の焦点距離を表すパラメータである。c1、c2はカメラ2の結像光学系の歪曲収差などに応じた定数であり、例えば、c1=0.001、c2=0.005に設定される。またIは2行2列の単位行列である。
【0059】
選択部25は、選択された各パーティクルについて、画像上での検出誤差の共分散行列を、車両座標系での共分散行列に変換する。この場合、選択部25は、車両座標系でのパーティクルの位置q
iにおける共分散行列R
qiは、画像上での対応する検出誤差の共分散行列R
Iiを鳥瞰変換したものとして算出できる。この鳥瞰変換は、例えば、次式で表される。
【数9】
ここで、カメラ2の光軸方向は、路面に対して平行となるように取り付けられているものとした。またycは、路面からカメラ2までの高さを表す。またこの例では、車両10の位置の推定とは無関係な、車両座標系のy軸に関連する成分については省略されている。このとき、共分散行列R
qiは、次式で表される。
【数10】
ここでBは、ヤコビアンである。
【0060】
図9は、車両座標系における、選択された各パーティクルについての共分散行列R
qiに相当する誤差楕円の一例を表す図である。
図9において、横軸は、車両10の進行方向と直交する方向の位置を表し、縦軸は車両10の進行方向に沿った、車両10からの距離を表す。なお、上側ほど、車両10から離れているとする。個々の楕円901が、それぞれ、一つのパーティクルに対応する共分散行列R
qiに相当する。また個々の楕円901の中心の点902は、対応するパーティクルの中心位置を表す。
図9に示されるように、パーティクルの位置が車両10から離れるほど誤差楕円901は大きくなることが分かる。
【0061】
選択部25は、選択された各パーティクルについて、そのパーティクルの中心位置の車両座標系における位置q
i及び共分散行列R
qiと、対応する地図線分の番号を位置更新部26へわたす。
【0062】
位置更新部26は、直近の過去の1以上の時刻における車両10の推定位置と、現時刻における、選択された各パーティクルに基づいて、現時刻における車両10の位置を推定する。
【0063】
例えば、位置更新部26は、次式に従って評価値Eを算出し、その評価値Eが最小となるように、直近の過去の1以上の時刻及び現時刻における車両の推定位置を算出する。
【数11】
ここで、時刻t∈{τ
s〜τ
e}は、車両10の位置を推定する時刻であり、τ
eが現時刻tに相当する。μ
t及びμ
t-1は、それぞれ、時刻t、(t-1)における車両10の推定位置を表す。なお、評価値Eの算出において、μ
t-1については、前時刻(t-1)において求められた車両10の推定位置が入力される。すなわち、μ
t-1については、既知の定数として扱われる。またu
tは、(3)式におけるu
tに対応する、オドメトリ情報である。そしてδ
x(μ
t,μ
t-1,u
t)は、オドメトリによる車両10の位置の予測の誤差を表し、(3)式より、次式で表される。
【数12】
なお、関数g(μ
t-1,u
t)は、入力される変数が時刻(t-1)における車両10の推定位置及び時刻tにおけるオドメトリ情報である点を除いて、(3)式における関数g(μ
t-1,u
t)と同じ関数である。すなわち、(11)式の右辺の第1項は、オドメトリ情報による車両10の位置の予測の誤差の二乗和を表す。
【0064】
また、右辺の第2項におけるδ
I(μ
cj,q
j,χ
rj)は、時刻cj(すなわち、選択されたj番目のパーティクルに対応する時刻であり、時刻τ
s〜τ
eの何れか)の車両10の推定位置μ
cjにおける、j番目(j∈{1,...,I}、Iは、時刻τ
s〜τ
eにおいて選択されたパーティクルの総数)の地図線分r
jについてのパーティクルq
jを、推定位置μ
cjを用いて地図線分r
jに投影したときの地図座標系における射影誤差を表す。すなわち、第2項は、選択されたパーティクルについての射影誤差の二乗和を表す。なお、cjは、番号jに対応する時刻を表す。またR
δjは、地図座標系での誤差の共分散行列を表す。射影誤差δ
I(μ
cj,q
j,χ
rj)及び共分散行列R
δjは、次式で表される。
【数13】
ここで、χ
x、χ
z、χ
cは、地図座標系における地図線分を直線方程式で表したときの係数及び定数であり、その直線方程式は、次式で表される。
【数14】
なお、x
m、z
mは、地図座標系上でのx
m方向の座標値、z
m方向の座標値である。
【0065】
位置更新部26は、評価値Eが最小となるように、各時刻の車両10の推定位置{μ
τs,...,μ
τe}を算出する。すなわち、(11)式において、第1項のμ
t及び第2項μ
cjが変数となる。その際、位置更新部26は、例えば、勾配法、レーベンバーグマーカート法、あるいはニュートン法を(11)式に適用することで各時刻の車両10の推定位置{μ
τs,...,μ
τe}を算出できる。あるいは、位置更新部26は、RANSAC法またはM推定といったロバストな推定法を(11)式に適用して、各時刻の車両10の推定位置{μ
τs,...,μ
τe}を算出してもよい。これにより、評価値Eが多峰性を持つパーティクルによる局所解とならないように、位置更新部26は、評価値Eの最小値をもとめることができる。
【0066】
位置更新部26は、求めた各時刻の車両10の推定位置{μ
τs,...,μ
τe}を記憶部41に保存する。
【0067】
図10は、車両位置検出処理の動作フローチャートである。車両位置検出システム1は、所定の周期ごとに、例えば、カメラ2の撮影周期ごとに、以下に示す動作フローチャートに従って自車両の位置を推定する。
【0068】
予測位置算出部22は、前時刻(t-1)における自車両の位置とオドメトリ情報に基づいて、現時刻tにおける自車両の予測位置を算出する(ステップS101)。なお、前時刻(t-1)における自車両の位置は、現時刻tにおいて行われる車両位置検出処理が初回であれば、初期値設定部21により設定された自車両の位置の初期値である。一方、前時刻(t-1)において、既に車両位置検出処理が行われている場合には、前時刻(t-1)において位置更新部26により求められた自車両の位置である。
【0069】
パーティクル生成部23は、その予測位置から所定の範囲内、かつ、カメラ2の撮影範囲内含まれる地図線分を、地図情報に基づいて抽出する(ステップS102)。そしてパーティクル生成部23は、抽出した地図線分ごとに、その地図線分の種類に応じた、地図線分を横切る方向の輝度プロファイルを持つパーティクルを地図線分に沿って複数発生させる(ステップS103)。
【0070】
投影部24は、各パーティクルを、車両10の予測位置の誤差による位置の揺らぎを加味して、カメラ2により得られた現時刻における画像上に投影する(ステップS104)。
【0071】
選択部25は、画像上に投影された各パーティクルについて、そのパーティクルと画像との一致度合を表す評価値を算出し、その評価値が所定の一致条件を満たすパーティクルを選択する(ステップS105)。そして選択部25は、選択したパーティクルのそれぞれについて、車両座標系での検出誤差を表す共分散行列を算出する(ステップS106)。
【0072】
位置更新部26は、過去の複数の時刻における推定位置とオドメトリ情報に基づく車両の予測位置間の誤差の総和と、検出誤差に基づいて算出される、選択された各パーティクルの射影誤差の総和との和に基づく評価値Eが最小となるように、各時刻の車両の推定位置を更新する(ステップS107)。そして制御部43は、車両位置検出処理を終了する。
【0073】
以上説明してきたように、車両位置検出システムは、テンプレートマッチングのように、繰り返し試行する処理を伴わずに自車両の位置を検出できる。そのため、この車両位置検出システムは、処理負荷を抑制できる。またこの車両位置検出システムは、車両の周囲の道路上に標示された線を横切る方向の輝度プロファイルを持つ複数のパーティクルを生成して実際に撮影された画像上に投影し、その画像との一致度合が良好なパーティクルを利用して、自車両の位置を更新するので、自車両の位置を正確に検出できる。さらに、この車両位置検出システムは、地図情報を参照して、車両の周囲の道路上に標示された線の種類に応じてパーティクルを生成するので、道路に実際に標示されている線と一致する可能性が高いパーティクルを生成できる。そのため、この車両位置検出システムは、車両位置の推定に有用なパーティクルの数を増やすことができるので、車両位置の推定精度を向上できる。
【0074】
なお、変形例によれば、パーティクル生成部23は、パーティクル生成対象となる地図線分のそれぞれについて、線の太さ、あるいは、線間の間隔を互いに異ならせたパーティクルを生成してもよい。これは、道路上に標示される線(白線、減速線など)の太さが道路規格で定めされた範囲内で変動する可能性が有ること、及び、車線に対するカメラ2の向きにより、画像上でのその線の太さが変化する可能性があるためである。例えば、パーティクル生成部23は、着目する地図線分に含まれる、道路上に標示される線の幅の変動が正規分布に従うと仮定して、その正規分布に従って線の幅あるいは線間の間隔を変えたパーティクルを複数生成すればよい。これにより、パーティクル生成部23は、車両10が実際に走行している位置での道路上に標示される線と一致するパーティクルの数を増やすことができる。
【0075】
他の変形例によれば、パーティクル生成部23は、車両10の左側に位置する地図線分と右側に位置する地図線分とを一つの組として、その組ごとにパーティクルを生成してもよい。これにより、道路上に描画されている線の一部の形状が、道路上の補修痕、あるいは、摩耗などによって本来の形状から変化している場合でも、誤って選択される可能性が低いパーティクルを生成できる。またこの場合、車両10の左側に位置する地図線分と右側に位置する地図線分間の間隔は、車線に対するカメラ2の向き、あるいはキャリブレーションの誤差などにより変化することがある。そこで上記の変形例と同様に、パーティクル生成部23は、車両10の左側に位置する地図線分と右側に位置する地図線分間の間隔の変動が正規分布に従うと仮定して、その正規分布に従って間隔を変えたパーティクルを複数生成すればよい。
【0076】
また他の変形例によれば、パーティクル生成部23は、道路の路面に対して平行な面状のパーティクルを生成してもよい。
【0077】
図11は、この変形例により生成されるパーティクルと道路上に標示される線との関係の一例を示す図である。
図11では、道路上に標示される線1100は、鋸波状の形状を有している。そして縦軸は、線1100の延伸方向を表し(縦軸の位置は、延伸方向と直交する方向における線1100の重心位置に相当)、横軸は、線1100の延伸方向と直交する方向を表す。この例では、線1100の延伸方向に沿って、その延伸方向と直交する方向に沿った輝度変化を持つプロファイルを持つ3個の線の組が一つのパーティクル1101、1102として生成される。なお、
図11では、パーティクル1101、1102を構成する個々の線において、相対的に明るい部分は相対的に低い輝度を持ち、相対的に暗い部分は相対的に高い輝度を持つ。そして各線において、輝度が高い部分は、線1100の対応部分に応じて設定される。このようなパーティクルを生成することで、車両位置検出システムは、道路上に標示される線が複雑な形状を有している場合でも、その線と一致するパーティクルを適切に選択できるので、車両10の位置を推定できる。
【0078】
さらに他の変形例によれば、カメラ2がカラー画像を生成する場合には、パーティクル生成部23は、地図線分の種類に応じて、パーティクルにおける、道路上に標示される線に相当する部分の色をその線の色に応じて設定してもよい。あるいは、パーティクル生成部23は、道路上に標示される線の色の確率分布に従って、パーティクルにおける、道路上に標示される線に相当する部分の色を設定してもよい。
【0079】
さらに他の変形例によれば、カメラ2はステレオカメラであってもよい。この場合には、投影部24は、各パーティクルを、例えば、ステレオカメラにより得られた左右の画像のそれぞれに投影する。また選択部25は、例えば、ステレオカメラにより得られた左右の画像のそれぞれから路面に相当する路面領域を判定する。そして選択部25は、左右の画像の何れかにおいて、パーティクルの一部が路面領域に含まれないパーティクルを選択しない。これにより、選択部25は、例えば、先行車両などに隠れた道路上の線に対応するパーティクルを、車両10の位置の推定から排除できるので、車両10の位置の推定精度をより向上できる。なお、選択部25は、路面領域の判定方法として、例えば、関他、「ステレオ動画像を用いた車両の前方環境認識」、情報処理学会研究報告コンピュータビジョンとイメージメディア(CVIM)2007、1-16、2007年などに開示された方法を利用できる。
【0080】
また、選択部25は、各パーティクルについて、左右それぞれの画像についての評価値のうちの小さい方(評価値として正規化相互相関値を利用する場合、評価値としてSSDまたはSADを利用する場合には、左右それぞれの画像についての評価値のうちの大きい方)、あるいは、評価値の平均値が所定の一致条件を満たすものを選択してもよい。この変形例によれば、着目するパーティクルが投影された位置が先行車両により隠されるオクルージョンが発生している場合、その投影された位置と重なる先行車両上の位置は、左右それぞれの画像において異なるため、その先行車両において2か所以上、着目するパーティクルと類似するパターンが存在しない限り、そのパーティクルは選択されないことになる。したがって、ロバスト性が向上する。
【0081】
なお、カメラ2がステレオカメラである場合も、位置更新部26は、(11)式で表される評価値Eが最小となるように、各時刻における車両10の推定位置を算出すればよい。
【0082】
さらに他の変形例によれば、パーティクル生成部23は、直前の時刻において選択されたパーティクルに基づいて、現時刻のパーティクルを発生させてもよい。この場合、パーティクル生成部23は、一般的なパーティクルフィルタに従って、現時刻のパーティクルを発生させればよい。これにより、パーティクル生成部23は、生成するパーティクルの数を減らすことができる。すなわち、選択部25による評価対象となるパーティクルの数を減らすことができる。
【0083】
さらに他の変形例によれば、位置更新部26は、要求される精度によっては、(11)式における第1項を省略し、第2項のみに基づいて、評価値Eが最小となるように、現時刻における車両10の位置を推定してもよい。この場合には、位置更新部26は、第2項においても、現時刻において選択されたパーティクルのみに基づいて第2項を算出してもよい。これにより、位置更新部26は、演算量を削減できる。
【0084】
上記の実施形態または変形例による車両位置検出システムから出力された自車両の位置は、例えば、CAN3を介して運転支援システムの制御回路(図示せず)へ送信される。運転支援システムの制御回路は、例えば、自車両の位置とその周囲の情報とを比較して、自車両から所定距離範囲内に特定の構造物(例えば、高速道路の料金所、ナビゲーション中の経路において左折または右折が必要な交差点など)が有れば、車内に設置されたディスプレイまたはスピーカを介して、その構造物が近いことをドライバに通知する。あるいは、運転支援システムの制御回路は、ECU11に、速度を落とす命令を出力してもよい。
【0085】
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。