説明

標定装置、標定方法および標定プログラム

【課題】車両の位置姿勢を標定できるようにする。
【解決手段】消失点抽出部120は、画像センサ104により車両から撮像された画像204に基づいて画像204に映っている白線の消失点実測値205を算出する。航法演算部110は、慣性センサ101とオドメトリ102とにより計測された角速度201と速度202とに基づいて車両の自己姿勢角207と自己位置206とを計測する。データベース検索部130は自己位置206と自己姿勢角207とに基づいて画像204に映っている白線の白線座標203を取得する。消失点計算部140は白線座標203と自己姿勢角207とに基づいて消失点予測値208を算出する。カルマンフィルタ部160は消失点実測値205と消失点予測値208との差分である消失点残差209に基づいて姿勢誤差推定量210を算出する。そして、航法演算部110は自己姿勢角207を姿勢誤差推定量210により補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、3次元白線データベースと画像センサとを用いて自己位置・姿勢を標定する標定装置、標定方法および標定プログラムに関するものである。
【背景技術】
【0002】
従来、車両の位置を標定するために、変位センサ(慣性センサ、オドメトリ等)で得た変位量を積分して位置を算出し、算出値に含まれる誤差をGPS(Global Positioning System)により取得した位置を用いて補正するという方式が一般的である。
しかし、GPSは、高層ビルの林立する都市部、樹木の生い茂った場所、トンネルなど、GPS衛星からの測位信号を受信できない場所においては使用できない。
このため、このような場所では、精度の高い位置を標定することが困難であった。
【0003】
また、現在、カーナビゲーションシステムに搭載されている自己位置標定装置は、オドメータと1軸(ヨー角[方位角])のレートジャイロ(慣性センサ、慣性装置)を組合せたものである。そして、自己位置標定装置は、車両が移動する向きとして方位角(ヨー角)のみを考慮する2次元の平面モデルを仮定し、車両位置を地図画像にマップマッチングさせてナビゲーション画像を表示している。
このため、一般道路が下方を通り、高速道路が上方を通っているような高架式の道路を車両が走行している場合、カーナビゲーションシステムは車両が一般道路と高速道路とのいずれを走行しているか正確には特定することができない。
【特許文献1】特開平8−159716号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
通常、3次元の位置・姿勢を標定するにはヨー角およびピッチ角(仰角)のレート(変位量)を高精度に算出するジャイロが必要となるが、このようなジャイロは非常に高価なため車両に搭載することは考えにくい。
但し、将来、カーナビゲーションシステムを3次元に対応させる際には、車両の位置・姿勢を3次元で高精度に標定することが必須の要件となる。
【0005】
本発明は、例えば、2次元の平面モデルを拡張するなどして、高価なジャイロを用いることなく車両の3次元の位置・姿勢を標定できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の標定装置は、標定物の姿勢角を標定する標定装置であり、前記標定物から撮像された画像であり平行な直線を成す2つの地物を示す平行直線地物が映っている画像である平行直線画像に基づいて前記平行直線地物の消失点を消失点の実測値としてCPU(Central Processing Unit)を用いて算出する消失点実測値算出部と、平行直線地物の直線の向きを示す地物データが予め記憶されている記憶機器から前記平行直線画像に映っている前記平行直線地物の地物データを取得する地物データ取得部と、前記地物データ取得部により取得された前記地物データと前記平行直線画像が撮像されたときの前記標定物の姿勢角として予め測定された姿勢角の測定値とに基づいて前記平行直線地物の消失点を消失点の予測値としてCPUを用いて算出する消失点予測値算出部と、前記消失点実測値算出部により算出された前記消失点の実測値と前記消失点予測値算出部により算出された前記消失点の予測値との差を消失点の残差としてCPUを用いて算出する消失点残差算出部と、前記消失点残差算出部により算出された前記消失点の残差に基づいて前記姿勢角の測定値をCPUを用いて補正する標定部とを備える。
【発明の効果】
【0007】
本発明によれば、例えば、白線(平行直線地物の一例)の消失点に基づいて姿勢角を補正することにより、高精度なジャイロを用いなくても車両(標定物の一例)の姿勢角を高精度に標定することができる。
また例えば、標定した姿勢角を用いることにより、車両の位置を高精度に標定することができる。
また例えば、標定した車両の位置を用いることにより、カーナビゲーションシステムを3次元に対応させることができる。
【発明を実施するための最良の形態】
【0008】
実施の形態1.
図1は、実施の形態1における自己位置姿勢標定装置100を搭載した車両300を示す図である。
実施の形態1における車両300について、図1に基づいて以下に説明する。
【0009】
車両300(標定物の一例)は、慣性センサ101、画像センサ104、およびGPS受信機105を有する天板301が車体上部に設置されている。
また、車両300は、オドメトリ102、カーナビゲーションシステム302、ディスプレイ装置303および自己位置姿勢標定装置100を備える。
【0010】
慣性センサ101は、天板301に取り付けられ、走行中および停止中の車両300のヨー角(方位角)およびピッチ角(仰角)の角速度(微小変位量、レート)を計測する。例えば、慣性センサ101は2軸または3軸ジャイロである。慣性センサ101により計測される角速度は高精度でなくてもよいため、慣性センサ101として高価なジャイロが用いられなくても構わない。
【0011】
オドメトリ102は、車輪の回転数を計数して車両300の走行速度の微小変位量を計測する。
【0012】
画像センサ104は、車両300の前方または後方に向けて天板301に取り付けられ、車両300が走行する路面を撮像する。例えば、画像センサ104はカメラである。
【0013】
GPS受信機105は、天板301に1台または複数台設置され、測位衛星(GPS衛星)からの測位信号を受信する。車両300の位置はGPS受信機105により受信された測位信号に基づいてGPS測位される。車両300が、トンネルや高層ビルの林立する都市部や森林など、測位衛星への視線方向が遮蔽されてしまう場所を走行している場合、GPS受信機105が測位信号を受信できないため、車両300の位置はGPS測位されない。
以下、測位信号を用いて測位する測位方法を「GPS測位」という。例えば、GPS測位では、測位信号に基づいて複数の測位衛星とGPS受信機105との擬似距離を算出し、複数の測位衛星それぞれから擬似距離分離れた地点として共通する地点をGPS受信機105の位置として算出する。
【0014】
自己位置姿勢標定装置100は、GPS受信機105により受信された測位信号に基づいて車両300の位置をGPS測位する。さらに、自己位置姿勢標定装置100は、慣性センサ101とオドメトリ102とにより得られた計測値および画像センサ104により撮像された画像に基づいて車両300の位置および姿勢角を標定する。
【0015】
カーナビゲーションシステム302は、自己位置姿勢標定装置100により得られた車両300の位置および姿勢角に基づいて、現在の走行位置を地図画像にマップマッチングさせたナビゲーション画面をディスプレイ装置303に表示し、運転者に道案内をする。
【0016】
図2は、実施の形態1における自己位置姿勢標定装置100の機能構成を示す図である。
実施の形態1における自己位置姿勢標定装置100の機能構成について、図2に基づいて以下に説明する。
【0017】
自己位置姿勢標定装置100は、航法演算部110、消失点抽出部120、データベース検索部130、消失点計算部140、残差計算部150およびカルマンフィルタ部160を備える。
【0018】
航法演算部110(標定部の一例)は、慣性センサ101により計測された車両300(標定物の一例)の姿勢角(ヨー角、ピッチ角)の角速度201に基づいて車両300の姿勢角を測定し、測定した姿勢角をカルマンフィルタ部160(後述)により算出された姿勢誤差推定量210に基づいて補正して車両300の姿勢角を標定する。
以下、車両300の姿勢角を自己姿勢角207という。
さらに、航法演算部110は、標定した自己姿勢角207とオドメトリ102により計測された車両300の走行速度の変位量(速度202と記す)とに基づいて車両300の位置を標定する。
以下、車両300の位置を自己位置206という。
また、航法演算部110は、GPS受信機105により取得された測位信号情報211に基づいて自己位置206をGPS測位する。
そして、航法演算部110は、自己位置206および自己姿勢角207をカーナビゲーションシステム302に出力する。カーナビゲーションシステム302は自己位置206および自己姿勢角207の出力先となる出力装置の一例である。例えば、自己位置206および自己姿勢角207の出力先は、記憶装置、表示装置、プリンタ装置、通信ネットワーク(例えば、インターネット、LAN[ローカルエリアネットワーク])に接続するPC(Personal Computer)(利用者端末装置、サーバ装置)であっても構わない。
【0019】
データベース検索部130(地物データ取得部の一例)は、航法演算部110により標定された自己位置206と自己姿勢角207とに基づいて、画像センサ104により撮像される画像204に映る白線の白線座標203(地物データの一例)(後述)を白線データベース103から取得する。
データベース検索部130は、通信ネットワークを介して白線座標203を取得しても構わない。
【0020】
白線データベース103には、各地の道路に標示された白線(平行直線地物の一例)の3次元の座標値が白線座標203として予め記憶されている。
例えば、白線座標203は、長方形を形成する白線の直線部分の4隅の座標値や白線のエッジ(白線の長手方向のふちの線)上の点の座標値を示す。
白線データベース103は、自己位置姿勢標定装置100内に備えられていてもよいし、車両300内に備えられていてもよいし、自己位置姿勢標定装置100および車両300の外部(例えば、通信ネットワークに接続するPC)に備えられていてもよい。
【0021】
消失点計算部140(消失点予測値算出部の一例)は、データベース検索部130により取得された白線座標203と航法演算部110により標定された自己姿勢角207とに基づいて白線の消失点の予測値(以下、消失点予測値208という)を算出する。
消失点については後述する。
【0022】
消失点抽出部120(消失点実測値算出部の一例)は、画像センサ104により撮像された路面の映っている画像204(平行直線地物画像の一例)に基づいて路面に標示されている白線の消失点の実測値(以下、消失点実測値205という)を算出する。
【0023】
残差計算部150(消失点残差算出部の一例)は、消失点抽出部120により算出された消失点実測値205と消失点計算部140により算出された消失点予測値208との差を消失点残差209として算出する。
【0024】
カルマンフィルタ部160は、残差計算部150により算出された消失点残差209に基づいてカルマンフィルタ処理を行い、航法演算部110により標定された自己姿勢角207(姿勢角の測定値の一例)に含まれる誤差を姿勢誤差推定量210として算出する。
カルマンフィルタ処理については後述する。
【0025】
図3は、実施の形態1における自己位置姿勢標定装置100のハードウェア資源の一例を示す図である。
図3において、自己位置姿勢標定装置100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置が用いられてもよい。
RAM914は、揮発性メモリの一例である。ROM913、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。また、入力データが記憶されている記憶機器は入力機器、入力装置あるいは入力部の一例であり、出力データが記憶される記憶機器は出力機器、出力装置あるいは出力部の一例である。
通信ボード915は入出力機器、入出力装置あるいは入出力部の一例である。
【0026】
通信ボード915は、無線または有線により、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、電話回線などの通信ネットワークに接続されている。
【0027】
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、OS921により実行される。
【0028】
上記プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0029】
ファイル群924には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」などの結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。自己位置206、自己姿勢角207、白線座標203、消失点予測値208、消失点実測値205、消失点残差209および姿勢誤差推定量210などはファイル群924に含まれるものの一例である。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号値は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0030】
また、実施の形態において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものである。あるいは、「〜部」の手順や方法をコンピュータに実行させるものである。
【0031】
図4は、実施の形態1における自己位置標定方法を示すフローチャートである。
実施の形態1における自己位置標定方法について、図4に基づいて以下に説明する。
自己位置姿勢標定装置100の各部は、以下に説明する各処理をCPUを用いて実行する。
【0032】
<S110:測位処理>
航法演算部110は、GPS受信機105により取得された測位信号情報211に基づいて自己位置206をGPS測位する。
測位信号情報211は、GPS受信機105により受信された測位信号に関する情報であり、例えば、測位信号に示される航法メッセージ(測位衛星の軌道情報)、測位信号の測位衛星からの発信時刻とGPS受信機105での受信時刻に基づく測位衛星とGPS受信機105との擬似距離、GPS受信機105により擬似距離に基づいてGPS測位された測位結果、測位信号として発信された搬送波の受信時の位相などの情報が含まれる。
例えば、航法演算部110は、搬送波の位相に基づいてGPS受信機105と複数の測位衛星との距離を算出し、各測位衛星から算出した距離だけ離れた地点として共通する地点をGPS受信機105の地点としてGPS受信機105の位置を算出する。そして、航法演算部110は、車両300の自己位置206を示す点として予め定められた航法中心(例えば、車両300の天板301の中心)とGPS受信機105の取り付け位置との差(位置オフセット)をGPS受信機105の位置に加算(または減算)して、車両300の自己位置206を算出する。
【0033】
<S120:消失点実測値算出処理>
また、消失点抽出部120は、画像センサ104により撮像された路面の映っている画像204に基づいて、路面に標示されている白線の消失点実測値205を算出する。
【0034】
図5は、実施の形態1における画像204と消失点316との関係を示す図である。
図5には、白線311の直線部分319が映っている。白線311は直線部分319、円弧部分および直線部分319と円弧部分とを結ぶクロソイド曲線部分で構成される。
消失点抽出部120は、消失点実測値205として、白線311の直線部分319のふちを指す白線エッジ318の延長線上の交点(×印)の画像204を含む平面(画像センサ104の撮像面)内での2次元座標(UV座標)を算出する。図5では、左側の白線311の左右のエッジ(318a、318b)と右側の白線311の左右のエッジ(318c、318d)との計4つの白線エッジ318の交点を消失点316として示している。しかし、消失点316の消失点実測値205は、左側の白線311の左右いずれかのエッジ(318a、318b)と右側の白線311の左右いずれかのエッジ(318c、318d)との計2つの白線エッジ318の交点として算出されてもよい。また、消失点実測値205は、左側の白線311の左右のエッジ(318a、318b)の交点として算出されてもよいし、右側の白線311の左右のエッジ(318c、318d)の交点として算出されてもよい。つまり、消失点実測値205は、左右2つの白線311の交点として算出されてもよいし、1つの白線311の左右の白線エッジ318の交点として算出されてもよい。
2つの白線311および2つの白線エッジ318は平行な直線を成す2つの地物の一例である。
また、白線認識点317(黒丸)は、白線のエッジ認識で得られた点である。
【0035】
2次元の画像204では、3次元のものが近いものほど大きく表されると共に遠いものほど小さく表されるため、3次元において平行な直線が無限遠を表す1点に収束する。この収束点が消失点316である。消失点316は、図5に示すように画像204内に位置する場合もあるし、図5とは異なり画像204外に位置する場合もある。
消失点実測値算出処理(S120)の詳細については後述する。
【0036】
図4に戻り、自己位置姿勢標定方法の説明を続ける。
【0037】
<S130:標定処理>
航法演算部110は、慣性センサ101により計測された車両300のヨー角およびピッチ角の角速度201、オドメトリ102により計測された速度202および後述するS170において算出された姿勢誤差推定量210に基づいて車両300の自己位置206および自己姿勢角207を標定する。
【0038】
S130において、航法演算部110は、慣性センサ101により計測された車両300のヨー角およびピッチ角の角速度201を用いてデッドレコニング(または、慣性航法)を行って自己姿勢角207を測定する。そして、航法演算部110は、測定結果に含まれる誤差を姿勢誤差推定量210で補正して自己姿勢角207を標定する。具体的には、航法演算部110は、自己姿勢角207の測定値に姿勢誤差推定量210を加算して自己姿勢角207の測定値を補正し、補正後の自己姿勢角207を自己姿勢角207の標定値とする。
また、航法演算部110は、自己姿勢角207の標定値とオドメトリ102により計測された速度202とを用いてデッドレコニングを行って自己位置206を測定する。航法演算部110は、自己姿勢角207の標定値を用いて測定された自己位置206を自己位置206の標定値とする。
【0039】
デッドレコニングとは、慣性センサ101により計測された角速度201やオドメトリ102により計測された速度202に基づいて位置および姿勢角を測定する方法である。
デッドレコニングでは、角速度201の積分により自己姿勢角207の変化量が算出され、前回測定時の自己姿勢角207に変化量が加算されることにより現在の自己姿勢角207が算出される。
また、デッドレコニングでは、速度202の積分により車両300の移動量が算出され、前回測定時の自己位置206を基点にして自己姿勢角207の方向に移動量だけ移動した地点が自己位置206として算出される。
【0040】
<S140:地物データ取得処理>
次に、データベース検索部130は、S130において標定された自己位置206および自己姿勢角207に基づいて車両300の画像センサ104の撮像範囲を算出し、算出した撮像範囲内に位置する白線の白線座標203を白線データベース103から取得する。つまり、データベース検索部130は、画像センサ104により撮像される画像204に映る白線の白線座標203を白線データベース103から取得する。
S140において、データベース検索部130は、車両300の走行している道路に標示されている白線(の直線部分)の白線座標203を白線データベース103から取得できればよい。
例えば、データベース検索部130は、S110またはS130で得られた自己位置206から所定の範囲内の座標を示す白線座標203を白線データベース103から取得する。取得した白線座標203のうち、S110またはS130で得られた自己姿勢角207の方向に位置する白線座標203が画像204に映る白線の白線座標203である。
【0041】
<S150:消失点予測値算出処理>
次に、消失点計算部140は、S140において取得された白線座標203とS130において標定された自己姿勢角207とに基づいて白線の消失点予測値208を算出する。
【0042】
消失点計算部140は、S140において取得された白線座標203とS130において標定された自己姿勢角207とに基づいて複数の白線座標203上を通る白線エッジ318の直線方程式を算出し、算出した直線方程式に基づいて白線エッジ318を画像204に投影した場合の白線の消失点の2次元座標(UV座標)を消失点予測値208として算出する。
消失点予測値算出処理(S150)の詳細については後述する。
【0043】
図4に戻り、自己位置姿勢標定方法の説明を続ける。
【0044】
消失点予測値算出処理(S150)において算出される消失点予測値208は、消失点実測値算出処理(S120)において算出される消失点実測値205を自己姿勢角207と白線座標203とに基づいて予測した予測値である。
画像センサ104により撮像された画像204には撮像時刻が設定されており、慣性センサ101により計測された角速度201およびオドメトリ102により計測された速度202には計測時刻が設定されている。
消失点実測値算出処理(S120)および標定処理(S130)〜消失点予測値算出処理(S150)では、同時刻に撮像または計測された画像204、角速度201およびオドメトリ102が用いられる。
このため、標定処理(S130)では、消失点実測値205の算出に用いられた画像204が撮像された時刻における車両300の自己位置206および自己姿勢角207が標定される。
また、地物データ取得処理(S140)では、消失点実測値205の算出に用いられた画像204に映っている白線の白線座標203が取得される。
そして、消失点予測値算出処理(S150)では、消失点実測値205の予測値となる消失点予測値208が算出される。
【0045】
<S160:消失点残差算出処理>
次に、残差計算部150は、S120において算出された消失点実測値205とS150において算出された消失点予測値208とに基づいて消失点残差209を算出する。
S160において、残差計算部150は、消失点実測値205と消失点予測値208との差の絶対値を消失点残差209として算出する。
【0046】
<S170:カルマンフィルタ処理>
次に、カルマンフィルタ部160は、S160において算出された消失点残差209に基づいて姿勢誤差推定量210を算出する。
S170において算出された姿勢誤差推定量210は、S130において前回算出された自己姿勢角207の補正に用いられる。
カルマンフィルタ処理(S170)については後述する。
【0047】
<S180>
次に、航法演算部110は、S110において自己位置206がGPS測位されたか否かを判定する。
GPS測位がされなかった場合とは、GPS受信機105から航法演算部110への測位信号情報211の入力が無かった場合である。
例えば、車両300が、トンネルや高層ビルの林立する都市部や森林など、測位衛星への視線方向が遮蔽されてしまう場所を走行している場合、GPS受信機105は測位衛星からの測位信号を受信できないため、GPS受信機105から航法演算部110への測位信号情報211の入力は無く、GPS測位はできない。
GPS受信機105から航法演算部110への測位信号情報211の入力が有った場合、S110において自己位置206がGPS測位される。
【0048】
<S181>
S110において自己位置206がGPS測位された場合、航法演算部110は、S110において測位された自己位置206と、S130において標定された自己姿勢角207とをカーナビゲーションシステム302に出力する。
【0049】
<S182>
S110において自己位置206がGPS測位されなかった場合、航法演算部110はS130において標定された自己位置206と自己姿勢角207とをカーナビゲーションシステム302に出力する。
【0050】
カーナビゲーションシステム302は、航法演算部110からの自己位置206と自己姿勢角207とに基づいて、車両300の走行位置を道路画像にマップマッチングさせたナビゲーション画面をディスプレイ装置303に表示する。
【0051】
次に、消失点実測値算出処理(S120)の詳細について、図5に基づいて説明する。
消失点抽出部120は、画像204を画像処理して画像204から複数の白線エッジ318(318a〜318dのうち少なくても2つ)を抽出する。例えば、消失点抽出部120は、直線上に連続する白色の画素群を白線311として抽出し、抽出した画素群から白線311のふち(境界線)部分の画素群を白線エッジ318として抽出する。
次に、消失点抽出部120は、画像204から抽出した複数の白線エッジ318それぞれについて、画像204を含む平面(画像センサ104の撮像面)内での2次元直線方程式を算出する。
そして、消失点抽出部120は、算出した複数の白線エッジ318の直線方程式に基づいて、複数の白線エッジ318の交点となる画素の撮像面内での2次元座標(UV座標)を算出する。
【0052】
次に、消失点予測値算出処理(S150)の詳細について、図6および図7に基づいて説明する。
図6および図7は、実施の形態1における消失点予測値算出処理(S150)を説明する図である。
【0053】
図6において、画像センサ104のレンズの中心位置を示すカメラ中心Oから白線311上の任意の点pとを結んだ直線Lは、以下の直線方程式1で表される。
以下、画像センサ104をカメラという。
【0054】
【数1】

【0055】
ここで、(x、y、z)は、カメラ座標系X−Y−Zにおける3次元座標を示す。図6においてカメラ座標系を一点鎖線で示す。
また、[α、β、γ]は、直線Lの方向ベクトルを示す。
また、「f」は、画像センサ104の焦点距離を示す。
【0056】
カメラ座標系とは、航法座標系(世界座標系、NED座標系)に対して、カメラの姿勢角分(車両300の姿勢角も含む)の傾きを有する座標系である。航法座標系は、自己位置206、自己姿勢角207および白線座標203を表す座標系であり、例えば、緯度、経度および高さを示す。
焦点面Mは、カメラの視線方向(姿勢角方向、撮像方向)と直交する平面であり、カメラ中心Oからカメラの視線方向に向けて焦点距離fだけ離れた平面である。焦点面Mは、カメラの画像204が含まれる撮像面(投影面)を示す。画像204は、カメラにより撮像された3次元の地物が焦点面Mに投影されたものである。
【0057】
以下、カメラの視線方向を「X」、カメラのヨー方向を「Y」、カメラのピッチ方向を「Z」とする。
画像204内の画素(焦点面M内の点)は横方向を「U」、縦方向を「V」とするUV座標で表される。
画像204内でのU座標はカメラ座標系でのY座標に対応し、画像204内でのV座標はカメラ座標系でのZ座標に対応する。
【0058】
焦点面Mは、「x=0」(式2)で表される。
また、カメラ中心Oは、焦点面Mと座標軸Xとの交点となる焦点面Mの中心O(画像204の中心)の3次元座標を(0、0、0)とした場合、(−f、0、0)で表される。
【0059】
ここで、白線311上の任意の点pが焦点面Mに投影された点p’は、直線Lと焦点面Mとの交点である。このため、点p’の焦点面M内でのUV座標は、直線Lを表す上記式1に焦点面Mを表す上記式2を代入して、以下の式3により表される。
【0060】
【数2】

【0061】
消失点計算部140は、データベース検索部130により取得された白線エッジ318上の2つの白線座標203に基づいて白線エッジ318を表す直線Lの方程式を生成する。
例えば、白線エッジ318を表す直線Lは、白線エッジ318上の入口側(車両300の進行方向手前)の点p(x、y、z)と白線エッジ318上の出口側(車両300の進行方向奥)の点p(x、y、z)とを用いて、以下の式4により表される。「t」は直線方程式の媒介変数である。
【0062】
【数3】

【0063】
また、白線エッジ318を表す直線Lは、上記の式4を展開して以下の式5により表される。
【0064】
【数4】

【0065】
ここで、点pの白線座標203および点pの白線座標203は航法座標系で表されているため、上記式5は航法座標系における白線エッジ318を表す直線Lを示す。
そこで、上記式5をカメラ座標系に変換すると、カメラ座標系における白線エッジ318を表す直線Leの方向ベクトル[α、β、γ]は以下の式6で表される。
【0066】
【数5】

【0067】
「C」は、航法座標系から車両座標系X−Y−Z(図6の実線)(航法座標系に対して車両300の自己姿勢角207分の傾きを有する座標系)に変換するために車両300の自己姿勢角207分の回転移動を行う方向余弦行列(回転行列)である。自己姿勢角207には標定処理(S130)において標定された値が用いられる。
「C」は、車両座標系からカメラ座標系に変換するために車両300に対するカメラの姿勢角分の回転移動を行う方向余弦行列である。車両300に対するカメラの姿勢角はカメラの姿勢オフセットとして予め算出されているものとする。車両300の進行方向とカメラの視線方向とが全く同じになるようにカメラが車両300に取り付けられているのであれば、車両300に対するカメラの姿勢角のうち、ヨー角およびピッチ角は「0」となる。
「I」は、車両300の自己位置206を示す点として予め定められた航法中心O(例えば、車両300の天板301の中心)とカメラの取り付け位置との差(カメラの位置オフセット)である。カメラ位置オフセットIの減算により、座標の中心は車両座標系の中心(航法中心O)からカメラ座標系の中心(カメラ中心O)に移動される。カメラ位置オフセットIは予め算出されているものとする。
【0068】
また、白線311の消失点Pは、白線エッジ318を表す直線Lの無限遠の点である。
このため、カメラ中心Oから白線311の消失点Pへの方向ベクトル(α’、β’、γ’)は、上記式6の媒介変数tを「∞」にして、以下の式7で表される。
【0069】
【数6】

【0070】
また、カメラ座標系における任意の点は、焦点面M内でのUV座標が上記式3により表される。
このため、図7において、画像204を含む焦点面M(撮像面)における白線311の消失点PのUV座標は、上記式7を用いて、以下の式8で表される。
【0071】
【数7】

【0072】
消失点計算部140は、上記式8を計算して、消失点PのUV座標を消失点予測値208として算出する。
消失点予測値算出処理(S150)では、一つの白線エッジ318に基づいて消失点予測値208が算出される。
【0073】
次に、カルマンフィルタ処理(S170)について説明する。
カルマンフィルタ処理は、状態量のダイナミクス(時間変化)をモデル化した状態方程式と、観測量と状態量との関係を定式化した観測方程式とに基づいて状態量の誤差推定を行う処理である。
カルマンフィルタ部160は、消失点実測値205と消失点予測値208との差分である消失点残差209を観測量とし、自己姿勢角207を状態量として、予め定められた状態方程式および観測方程式に基づいて、自己姿勢角207に含まれる誤差(姿勢誤差推定量210)を算出する。
【0074】
実施の形態1において、以下のような自己位置姿勢標定装置100について説明した。
自己位置姿勢標定装置100は、道路に通常、標示されている中央線や外側線等の白線を利用して自車の姿勢角を精度よく求める。
【0075】
まず、自己位置姿勢標定装置100は、白線データベースから得られる白線の方位情報と、自車に搭載された慣性センサやオドメトリ等の航法装置により得られる姿勢角とを利用して、消失点を予測する(S150:消失点予測値算出処理)。
また、自己位置姿勢標定装置100は、画像センサによる路面画像を画像処理することによって消失点を実測する(S120:消失点実測値算出処理)。
そして、自己位置姿勢標定装置100は、消失点の予測値と実測値とを比較し(S160:消失点残差算出処理)、この残差をカルマンフィルタの入力とすることで現在の姿勢角の誤差推定値を算出し(S170:カルマンフィルタ処理)、航法演算(S130:標定処理[デッドレコニング])により得られた姿勢角を補正する。
【0076】
例えば、白線データベースは、白線の直線区間の入口(長手方向の一端)と出口(長手方向の他端)の緯度、経度、高度を示す。白線データベースに位置情報を記憶することで、現在走行している車両の位置から撮像される範囲内に位置する白線の情報を検索することができる。但し、白線データベースから得るべき情報はあくまで白線の3次元空間における方向である。つまり、白線データベースには白線の方位角が記憶されていてもよい。
なお、ある程度の距離を持った直線区間であれば白線方向は精度よく求められるため、白線データベースに記憶される緯度、経度、高度の精度が測量クラスである必要はない。例えば、直線区間の長さが100mであれば、白線の入口と出口との両端の位置に10cm程度の誤差があったとしても、方向精度は0.06[deg]以下の誤差となる。
【0077】
実施の形態1において、自己位置姿勢標定装置100は車両300(標定物の一例)に搭載される内部装置として説明されているが、自己位置姿勢標定装置100は標定物に搭載されない外部装置であっても構わない。外部装置である自己位置姿勢標定装置100は、標定物により各時刻で取得された画像204、角速度201および速度202などの取得情報を入力として、各時刻における標定物の自己姿勢角207および自己位置206を標定する。例えば、取得情報はCD−ROMやフラッシュメモリなどの記憶媒体に記憶されて自己位置姿勢標定装置100に入力され、また、インターネットなどの通信ネットワークを介して利用者端末装置から自己位置姿勢標定装置100(サーバ装置)に入力される。サーバ装置として稼働する自己位置姿勢標定装置100は標定結果を利用者端末装置に送信する。
【0078】
また、実施の形態1では、白線311の消失点316に基づいて標定が行われているが、白線311以外の地物の消失点316に基づいて標定が行われてもよい。例えば、道路標示315や歩道313を対象にした消失点316に基づいて標定が行われてもよい。消失点316が求められる地物は、白線エッジ318または道路標示315や歩道313の直線部分のエッジのように、平行な直線を成す2つの地物であればよい。平行な直線を成す2つの地物は、白線エッジ318と道路標示315の直線部分のエッジのように、異なる種類であってもよい。
【0079】
実施の形態1では、画像処理結果(消失点)を画像処理とは異なる別の方法(S150:消失点予測値算出処理)で予測しているため、画像処理の誤りを容易に検出することが出来る。これにより、車両300が白線の方位情報が得られている区間を走行する場合、標定した自己位置206が大きくずれることはない。
このため、実施の形態1における自己位置姿勢標定装置100および自己位置標定方法は、将来、カーナビゲーションシステムが3次元化された場合に有効である。
さらに、実施の形態1では、車両300のピッチ角が標定されることにより、車両300が上り斜面を走行しているのか下り斜面を走行しているのかがわかるため、運転者にギアの切り替え(例えば、4速から2速に落とす)を促すこともできる。これにより、運転の省エネルギー化が図れる。
【図面の簡単な説明】
【0080】
【図1】実施の形態1における自己位置姿勢標定装置100を搭載した車両300を示す図。
【図2】実施の形態1における自己位置姿勢標定装置100の機能構成を示す図。
【図3】実施の形態1における自己位置姿勢標定装置100のハードウェア資源の一例を示す図。
【図4】実施の形態1における自己位置標定方法を示すフローチャート。
【図5】実施の形態1における画像204と消失点316との関係を示す図。
【図6】実施の形態1における消失点予測値算出処理(S150)を説明する図。
【図7】実施の形態1における消失点予測値算出処理(S150)を説明する図。
【符号の説明】
【0081】
100 自己位置姿勢標定装置、101 慣性センサ、102 オドメトリ、103 白線データベース、104 画像センサ、105 GPS受信機、110 航法演算部、120 消失点抽出部、130 データベース検索部、140 消失点計算部、150 残差計算部、160 カルマンフィルタ部、201 角速度、202 速度、203 白線座標、204 画像、205 消失点実測値、206 自己位置、207 自己姿勢角、208 消失点予測値、209 消失点残差、210 姿勢誤差推定量、211 測位信号情報、300 車両、301 天板、302 カーナビゲーションシステム、303 ディスプレイ装置、311 白線、312 車道、313 歩道、314 道路標識、315 道路標示、316 消失点、317 白線認識点、318 白線エッジ、319 直線部分、911 CPU、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、923 プログラム群、924 ファイル群。

【特許請求の範囲】
【請求項1】
標定物の姿勢角を標定する標定装置であり、
前記標定物から撮像された画像であり平行な直線を成す2つの地物を示す平行直線地物が映っている画像である平行直線画像に基づいて前記平行直線地物の消失点を消失点の実測値としてCPU(Central Processing Unit)を用いて算出する消失点実測値算出部と、
平行直線地物の直線の向きを示す地物データが予め記憶されている記憶機器から前記平行直線画像に映っている前記平行直線地物の地物データを取得する地物データ取得部と、
前記地物データ取得部により取得された前記地物データと前記平行直線画像が撮像されたときの前記標定物の姿勢角として予め測定された姿勢角の測定値とに基づいて前記平行直線地物の消失点を消失点の予測値としてCPUを用いて算出する消失点予測値算出部と、
前記消失点実測値算出部により算出された前記消失点の実測値と前記消失点予測値算出部により算出された前記消失点の予測値との差を消失点の残差としてCPUを用いて算出する消失点残差算出部と、
前記消失点残差算出部により算出された前記消失点の残差に基づいて前記姿勢角の測定値をCPUを用いて補正する標定部と
を備えたことを特徴とする標定装置。
【請求項2】
前記標定装置は、さらに、
前記消失点残差算出部により算出された前記消失点の残差に基づいて前記標定物の前記姿勢角の測定値に含まれる誤差を姿勢誤差推定量としてCPUを用いてカルマンフィルタ処理により算出するカルマンフィルタ部を備え、
前記標定部は、前記カルマンフィルタ部により算出された前記姿勢誤差推定量に基づいて前記姿勢角の測定値を補正する
ことを特徴とする請求項1記載の標定装置。
【請求項3】
前記地物データは、平行直線地物の座標を含み、
前記地物データ取得部は、前記地物データにより示される平行直線地物の座標と前記平行直線画像が撮像されたときの前記標定物の座標として予め測定された前記標定物の座標の測定値とに基づいて前記平行直線画像に映っている前記平行直線地物の地物データを取得する
ことを特徴とする請求項1〜請求項2いずれかに記載の標定装置。
【請求項4】
前記標定部は、補正した前記標定物の前記姿勢角に基づいて前記標定物の座標を標定する
ことを特徴とする請求項3記載の標定装置。
【請求項5】
標定物の姿勢角を標定する標定方法であり、
消失点実測値算出部は、前記標定物から撮像された画像であり平行な直線を成す2つの地物を示す平行直線地物が映っている画像である平行直線画像に基づいて前記平行直線地物の消失点を消失点の実測値としてCPU(Central Processing Unit)を用いて算出する消失点実測値算出処理を行い、
地物データ取得部は、平行直線地物の直線の向きを示す地物データが予め記憶されている記憶機器から前記平行直線画像に映っている前記平行直線地物の地物データを取得する地物データ取得処理を行い、
消失点予測値算出部は、前記地物データ取得部により取得された前記地物データと前記平行直線画像が撮像されたときの前記標定物の姿勢角として予め測定された姿勢角の測定値とに基づいて前記平行直線地物の消失点を消失点の予測値としてCPUを用いて算出する消失点予測値算出処理を行い、
消失点残差算出部は、前記消失点実測値算出部により算出された前記消失点の実測値と前記消失点予測値算出部により算出された前記消失点の予測値との差を消失点の残差としてCPUを用いて算出する消失点残差算出処理を行い、
標定部は、前記消失点残差算出部により算出された前記消失点の残差に基づいて前記姿勢角の測定値をCPUを用いて補正する標定処理を行う
ことを特徴とする標定方法。
【請求項6】
請求項5記載の標定方法をコンピュータに実行させることを特徴とする標定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−204385(P2009−204385A)
【公開日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願番号】特願2008−45715(P2008−45715)
【出願日】平成20年2月27日(2008.2.27)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】