ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)基準パターン情報生成装置の構成:
(2)基準パターン情報生成処理:
(3)一般車両位置特定装置の構成:
(4)一般車両位置特定処理:
(5)他の実施形態:
(1)基準パターン情報生成装置の構成:
図1は、本発明にかかる基準パターン情報生成装置10の構成を示すブロック図である。基準パターン情報生成装置10は、基準パターン情報を生成するために運転される基準車両に搭載される。当該基準パターン情報生成装置10は、CPU,RAM,ROM等を備える制御部20、記録媒体30を備えており、記録媒体30やROMに記憶されたプログラムを制御部20で実行することができる。本実施形態においては、このプログラムとして基準パターン情報生成プログラム21を実行可能である。基準パターン情報生成プログラム21は、基準車両が揺動した場合であっても基準車両の位置を特定するための基準となり得る基準座標値を基準車両の周囲の地物を撮影した撮影画像から抽出し、当該基準座標値と、当該撮影画像を撮影した時点での基準車両の基準位置を対応付けた基準パターン情報を生成する機能を備えている。
記録媒体30には、予め地図情報30aが記録されている。地図情報30aは、基準車両の位置の特定等に利用される情報であり、基準車両が走行する道路上に設定されたノードを示すノードデータ,ノード間の道路の形状を特定するための形状補間点データ,ノード同士の連結を示すリンクデータ,道路やその周辺に存在する地物の位置および種類等を示す地物データ等を含んでいる。
本実施形態における基準パターン情報生成装置10が搭載された基準車両は、前方カメラ40とGPS受信部41と車速センサ42とジャイロセンサ43と後方カメラ44とを備えている。前方カメラ40は、基準車両の前方の地物(路面および上空)を視野に含むように基準車両に対して取り付けられており、撮影した画像を示す撮影画像データを出力する。制御部20は、図示しないインタフェースを介してこの撮影画像データを取得して画像解析を行う。また、後方カメラ44は基準車両の後方の路面を視野に含むように基準車両に対して取り付けられており、撮影した路面の画像を示す路面画像データを出力する。制御部20は、図示しないインタフェースを介してこの路面画像データを取得して画像解析を行う。
GPS受信部41は、GPS衛星からの電波を受信し、図示しないインタフェースを介して基準車両の現在位置を算出するための情報を出力する。制御部20は、この信号を取得して基準車両の現在位置を取得する。車速センサ42は、基準車両が備える車輪の回転速度に対応した信号を出力する。制御部20は、図示しないインタフェースを介してこの信号を取得し、基準車両の速度を取得する。ジャイロセンサ43は、基準車両に作用する角速度に対応した信号を出力する。制御部20は図示しないインタフェースを介してこの信号を取得し、基準車両の走行方向を取得する。車速センサ42およびジャイロセンサ43等は、GPS受信部41の出力信号から特定される基準車両の現在位置を補正するなどのために利用される。また、基準車両の現在位置は、当該基準車両の走行軌跡および路面画像データに基づいて適宜補正される。すなわち、本実施形態においては、制御部20が路面画像データを解析して路面上における特定のペイント(速度標示等)を検出し、地図情報30aを参照して当該特定のペイントを検出した時点における基準車両の位置を特定する処理を実行可能である。この処理を、走行軌跡に基づくマップマッチング処理とともに実行することによって、基準車両の位置を高精度に特定可能である。
さらに、本実施形態におけるジャイロセンサ43は、基準車両における揺動を検出するために利用される。すなわち、ジャイロセンサ43の出力信号が示す角速度は、基準車両の揺動に対応した変化をするため、制御部20は、ジャイロセンサ43の出力信号に基づいて基準車両がピッチングまたはバウンシングによって揺動したこと、または、ヨーイングによって揺動したことを検出することができる。
本実施形態においては、以上の構成を備えた基準車両において基準パターン情報生成プログラム21が実行され、基準車両の前方の地物を基にした基準パターン情報が生成される。この処理を行うため、基準パターン情報生成プログラム21は、基準画像特徴点抽出部21aと基準位置取得部21bと基準パターン情報記録部21cとを備えている。
基準画像特徴点抽出部21aは、基準車両の周囲の地物を撮影した撮影画像から前記地物の像に含まれる複数の基準画像特徴点を抽出して各基準画像特徴点の撮影画像上での位置を示す座標値を取得する機能を制御部20に実現させるモジュールである。すなわち、制御部20は、基準画像特徴点抽出部21aの処理によって、前方カメラ40が出力する、基準車両の周囲の地物を示す撮影画像データに対して所定の画像処理を行い、基準画像特徴点を抽出する。本実施形態においては、撮影画像データを2値化するとともにハフ変換等を利用して直線を抽出し、直線の端点と当該端点の間の直線上の複数個の点とを基準画像特徴点とし、座標値を特定する。
なお、撮影画像データは、前方カメラ40の視野中心からカメラ前方に延びる軸を想定したときの当該軸に垂直な仮想投影面に投影される像を示すデータであり、当該撮影画像データにおいては、直交座標系にて当該仮想投影面上の位置が規定される。すなわち、制御部20は、基準画像特徴点抽出部21aの処理により、撮影画像の上下方向に平行なy軸と左右方向に平行なx軸とからなる直交座標系にて基準画像特徴点の位置を示す座標値(X,Y)を特定する。また、本実施形態において制御部20は、基準画像特徴点抽出部21aの処理により、所定の撮影間隔で撮影される時系列の撮影画像データを取得し、各撮影画像データから基準画像特徴点を抽出する構成となっている。
基準位置取得部21bは、基準車両の周囲の地物を撮影した時点での基準車両の位置を基準位置として取得する機能を制御部20に実現させるモジュールである。すなわち、制御部20は、基準位置取得部21bの処理により、前方カメラ40が基準画像特徴点の抽出元となる撮影画像データを出力した時点における、GPS受信部41,車速センサ42,ジャイロセンサ43の出力信号、後方カメラ44が出力する路面画像データおよび地図情報30aに基づいて基準車両の位置を特定し、基準位置((経度,緯度)=(Ln,La))とする。
基準パターン情報記録部21cは、一般車両の位置を特定するための基準となる基準パターン情報30bを生成して記録媒体30に記録する機能を制御部20に実現させるモジュールである。すなわち、制御部20は、基準画像特徴点抽出部21aの処理によって特定された基準画像特徴点のそれぞれについての撮影画像上の位置を示す座標(X,Y)のうち、基準車両の揺動に対応した特定の座標成分の座標値の変動を特定する。そして、複数の基準画像特徴点において当該特定の座標成分の座標値の変化が所定量以下となる場合に、当該特定の座標成分の座標値を基準座標値とする。すなわち、基準車両の揺動が基準画像特徴点の位置に与える影響度が特定の座標成分において所定の度合い以下となる場合に、当該揺動の影響による座標値の変化が所定量以下となる特定の座標成分を特定し、基準座標値を特定する。
具体的には、座標値の変化が所定量以下となる座標成分は、基準車両の揺動に応じて特定される。すなわち、基準車両が揺動すれば車載カメラの視野方向が変動するため、基準画像特徴点の座標値は、通常、基準車両の揺動に応じて変動する。しかし、基準画像特徴点の座標系を適切に選定すれば、一以上の座標成分にて座標値の変動が抑制され、他の座標成分にて座標値が変動するように定義することが可能である。例えば、基準車両の揺動によって車載カメラの視野方向が変動することに応じて画像内の座標値が直線的に揺動する場合、当該直線と平行の軸を含む直交座標系を採用すれば、当該直線と垂直な方向の軸に沿った座標値は変動しない。そこで、複数の基準画像特徴点において、その撮影画像上での位置を示す座標値の変化が所定量以下となる座標成分を特定し、当該座標成分の座標値を基準座標値とすれば、車両の揺動によって車載カメラの視野方向が変化した場合であっても車両の位置を特定することが可能な基準パターン情報を定義することが可能になる。
より具体的には、基準車両がピッチングまたはバウンシングによって揺動したことがジャイロセンサ43の出力信号によって示されている場合、制御部20は、座標値(X,Y)のx成分を特定の座標成分とし、当該x成分の座標値の変化が所定量以下であるか否かを判定する。そして、複数の基準画像特徴点において当該x成分の座標値の変化が所定量以下である場合に、x成分の座標値Xを基準座標値とする処理を、複数の基準画像特徴点のそれぞれについて実施する。すなわち、基準車両がピッチングとバウンシングとのいずれかまたは双方によって揺動したとき、その揺動による基準車両の主たる移動は、基準車両の進行方向に平行かつ鉛直方向に平行な平面内で行われる。従って、この場合、基準画像特徴点は撮影画像内でy方向(上下方向)に揺動するが、x方向(左右方向)には揺動しない。そこで、制御部20は、所定期間内に撮影された撮影画像データ内の基準画像特徴点のそれぞれについて、x成分の座標値に着目し、所定期間内における当該座標値の変化が所定量以下であるか否かを判定する。そして、制御部20は、複数の基準画像特徴点において当該座標値の変化が所定量以下である場合に、その座標値を基準座標値とする。
また、基準車両がヨーイングによって揺動したことがジャイロセンサ43の出力信号によって示されている場合、制御部20は、座標値(X,Y)のy成分を特定の座標成分とし、当該y成分の座標値の変化が所定量以下であるか否かを判定する。そして、複数の基準画像特徴点において当該y成分の座標値の変化が所定量以下である場合に、y成分の座標値Yを基準座標値とする処理を、複数の基準画像特徴点のそれぞれについて実施する。すなわち、基準車両がヨーイングによって揺動したとき、その揺動による基準車両の主たる移動は、水平方向に平行な平面内で行われる。従って、この場合、基準画像特徴点は撮影画像内でx方向(左右方向)に揺動するが、y方向(上下方向)には揺動しない。そこで、制御部20は、所定期間内に撮影された撮影画像データ内の基準画像特徴点のそれぞれについて、y成分の座標値に着目し、所定期間内における当該座標値の変化が所定量以下であるか否かを判定する。そして、制御部20は、複数の基準画像特徴点において当該座標値の変化が所定量以下である場合に、その座標値を基準座標値とする。
さらに、制御部20は、複数の基準画像特徴点について基準座標値が特定されることによって、基準座標値によって一般車両の位置を同定可能である状況となった場合に、基準座標値を特定するために参照された撮影画像データが撮影された時点での基準位置を基準座標値に対応付けて基準パターン情報を構成する。以上の構成により、車両が揺動した場合であっても車両の位置を特定可能な情報として基準パターン情報を定義することができる。すなわち、一般車両の車載カメラで地物を撮影した撮影画像から画像特徴点を抽出し、当該画像特徴点の座標値と基準座標値とを比較するにあたり、画像特徴点の座標値から、車両の揺動によって座標値が変動しない座標成分の座標値を比較座標値として抽出し、比較座標値と基準座標値とを比較することで、一般車両の位置を特定することが可能になる。この結果、車両の揺動によって車載カメラの視野方向が変化した場合であっても車両の位置を特定することが可能になる。
(2)基準パターン情報生成処理:
次に、基準パターン情報生成プログラム21による基準パターン情報生成処理を説明する。基準パターン情報生成プログラム21は、所定期間毎に実行される。図2は基準パターン情報生成プログラム21が実行する基準パターン情報生成処理を示すフローチャートである。図3は、基準車両において撮影された撮影画像I0と、当該撮影画像I0から抽出される基準画像特徴点を矩形I1内に例示するとともに、当該撮影画像I0に基づいて生成される基準パターン情報30bの例を示している。
以下、図2に示す基準パターン情報生成処理を図3に示す例を参照しながら説明する。基準パターン情報生成プログラム21の処理が開始されると、制御部20は、基準画像特徴点抽出部21aの処理により、前方カメラ40が出力する撮影画像データを取得し、基準パターン情報記録部21cの処理により、ジャイロセンサ43の出力情報を取得する(ステップS100)。すなわち、制御部20は、予め決められた所定期間内に撮影された複数の撮影画像データと当該所定期間内における車両の角速度を示すジャイロセンサ43の出力情報とを取得する。なお、図3においては直方体の建築物B1〜B3を含む撮影画像I0をステップS100にて取得される撮影画像データの一例として示している。
次に、制御部20は、基準位置取得部21bの処理により、GPS受信部41,車速センサ42,ジャイロセンサ43の出力信号、後方カメラ44が出力する路面画像データおよび地図情報30aに基づいて撮影画像データを撮影した時点における基準車両の位置を特定し、基準位置として取得する(ステップS105)。すなわち、ステップS100にて取得された撮影画像データのそれぞれについて、撮影画像データが撮影された時点における基準車両の位置を基準車両として取得する。
次に、制御部20は、基準画像特徴点抽出部21aの処理により、基準画像特徴点を抽出する(ステップS110)。すなわち、制御部20は、撮影画像を2値化するとともにハフ変換等によって直線を抽出し、直線の端点と当該端点の間の直線上の複数個の点とを抽出して基準画像特徴点とし、各基準画像特徴点の座標値を特定する処理を複数の撮影画像データのそれぞれについて実施する。図3においては、2値化およびハフ変換等によって撮影画像I0から検出された直線を矩形I1内にて破線で示している。すなわち、図3の矩形I1内においては、2値化およびハフ変換等によって撮影画像I0から建築物B1〜B3の像の輪郭が抽出された状態を示しており、この例においては当該輪郭を構成する直線上の複数の点が基準画像特徴点となる。図3においては、これらの複数の基準画像特徴点のうち、直線の端点を構成する基準画像特徴点をP1〜P17として示している。
次に、制御部20は、基準パターン情報記録部21cの処理により、車両の揺動に対応した座標成分の座標値の変化が所定量以下である基準画像特徴点が存在するか否かを判定する(ステップS115)。すなわち、制御部20は、ステップS100にて取得したジャイロセンサ43の出力情報に基づいて、所定期間内に車両が揺動した方向を特定する。そして、車両がピッチングとバウンシングとのいずれかまたは双方によって揺動した場合にはx成分を車両の揺動に対応した特定の座標成分とみなし、車両がヨーイングによって揺動した場合にはy成分を車両の揺動に対応した特定の座標成分とみなす。
さらに、制御部20は、ステップS110にて抽出された各基準画像特徴点について、車両の揺動に対応した特定の座標成分の座標値を特定する。この処理は、所定期間内に撮影された複数の撮影画像データのそれぞれにおいて行われ、当該座標成分の座標値の時間変化から当該座標値の単位期間あたりの変化を特定する。そして、制御部20は、少なくとも一つの基準画像特徴点において、当該座標成分の座標値の単位期間あたりの変化が所定量以下である場合に、車両の揺動に対応した座標成分の座標値の変化が所定量以下である基準画像特徴点が存在すると判定する。また、全ての基準画像特徴点において当該座標成分の座標値の単位期間あたりの変化が所定量以下でない場合、制御部20は、車両の揺動に対応した座標成分の座標値の変化が所定量以下である基準画像特徴点が存在しないと判定する。なお、所定量は基準車両の揺動に依存しない座標成分を特定するための閾値として予め設定された一定値である。
ステップS115にて、車両の揺動に対応した座標成分の座標値の変化が所定量以下である基準画像特徴点が存在すると判定された場合、制御部20は、基準パターン記録部21cの処理により、基準画像特徴点の配置パターンによって位置同定可能であるか否かを特定する(ステップS120)。すなわち、ステップS115において特定された基準画像特徴点の数が少ないと基準画像特徴点の配置パターンに特徴がなく、基準画像特徴点の配置パターンに基づいて車両の位置を同定することができない。例えば、基準座標値が数個であると、一般車両で特定される後述の比較座標値と基準座標値とを比較する際に一致度を判定するためのサンプル数が不足する。
そこで、本実施形態においては、予め、基準画像特徴点の配置パターンによって位置同定可能であるか否かを判定するための基準が基準画像特徴点の数として設定されており、制御部20は、車両の揺動に対応した特定の座標成分の座標値の変化が所定量以下である基準画像特徴点の数が所定数以上である場合に基準画像特徴点の配置パターンによって位置同定可能であると判定する。なお、所定数は、例えば、基準座標値の分散が所定の閾値以上となるサンプル数として設定することが可能である。なお、位置同定可能であるか否かを判定するための条件に数以外の条件を加えることも可能である。例えば、基準画像特徴点が同一直線上に存在しないなど、設営画像上で所定の基準を満たすように分散している条件を課すことも可能である。
ステップS120にて、基準画像特徴点の配置パターンによって位置同定可能であると判定されない場合、制御部20は、ステップS125,S130をスキップして処理を終了する。すなわち、基準パターン情報を生成することなく処理を終了する。一方、ステップS120にて、基準画像特徴点の配置パターンによって位置同定可能であると判定された場合、制御部20は、基準パターン情報記録部21cの処理により、基準座標値を特定する(ステップS125)。すなわち、制御部20は、ステップS115において、車両の揺動に対応した特定の座標成分の座標値の変化が所定量以下であると判定された基準画像特徴点について、車両の揺動に対応した座標成分の座標値を特定し、基準座標値とする。
例えば、ピッチングとバウンシングとのいずれかまたは双方によって車両が揺動することにより、x成分が車両の揺動に対応した特定の座標成分となる場合、図3にて矩形I1内に破線で示す直線上に存在する基準画像特徴点の座標値のうち、x成分の座標値の単位期間あたりの変化が所定量以下であるか否かが判定される。図3においては、実線で示す直線P3(X3,Y3)−P4(X4,Y4),直線P7(X7,Y7)−P9(X9,Y9),直線P8(X8,Y8)−P10(X10,Y10),直線P11(X11,Y11)−P17(X17,Y17),直線P14(X14,Y14)−P16(X16,Y16),直線P13(X13,Y13)−P15(X15,Y15)上の基準画像特徴点が、x成分の座標値の単位期間あたりの変化が所定量以下であることを想定している。
すなわち、直線P2(X2,Y2)−P5(X5,Y5),直線P1(X1,Y1)−P6(X6,Y6)は、直線P3(X3,Y3)−P4(X4,Y4)等と略同方向に延びる直線であるが、図3に示す例において、直線P2(X2,Y2)−P5(X5,Y5),直線P1(X1,Y1)−P6(X6,Y6)上の基準画像特徴点のx成分の座標値は、単位期間あたりに所定量より大きい変化をしたことが想定されている。このような状況は、例えば、直線P2(X2,Y2)−P5(X5,Y5),直線P1(X1,Y1)−P6(X6,Y6)が直線P3(X3,Y3)−P4(X4,Y4)等よりも車両に近い場合等に起こりえる。このような例においては、直線P3(X3,Y3)−P4(X4,Y4),直線P7(X7,Y7)−P9(X9,Y9),直線P8(X8,Y8)−P10(X10,Y10),直線P11(X11,Y11)−P17(X17,Y17),直線P14(X14,Y14)−P16(X16,Y16),直線P13(X13,Y13)−P15(X15,Y15)上の基準画像特徴点の座標値のうち、x成分の座標値(例えば、基準画像特徴点P3(X3,Y3)については座標値X3)が基準座標値として特定される。
基準座標値が特定されると、制御部20は、基準パターン情報記録部21cの処理により、揺動補正情報を付加した基準パターン情報を生成し、記録媒体30に記録する(ステップS130)。すなわち、制御部20は、ステップS125にて特定された基準座標値に対して、ステップS105にて特定された基準位置を対応付けて基準パターン情報を生成する。さらに、本実施形態においては、後述する一般車両において比較座標値を特定するために、車両の揺動方向を示す揺動情報(ピッチング、バウンシング、ヨーイングを示す情報)が定義され、基準位置に対して対応付けられる。
図3においては、基準パターン情報30bの例を矩形I1の下方に示している。すなわち、図3に示す例において、基準位置P0(Ln,La)を示す情報と、揺動情報と、基準座標値とが基準パターン情報30bとなり、基準座標値として、直線P3(X3,Y3)−P4(X4,Y4),直線P7(X7,Y7)−P9(X9,Y9),直線P8(X8,Y8)−P10(X10,Y10),直線P11(X11,Y11)−P17(X17,Y17),直線P14(X14,Y14)−P16(X16,Y16),直線P13(X13,Y13)−P15(X15,Y15)上の複数点のx座標値を示す情報が基準パターン情報30bに規定されることになる。
ステップS115にて、車両の揺動に対応した特定の座標成分の座標値の変化が所定量以下である基準画像特徴点が存在すると判定されない場合、制御部20は、基準パターン情報記録部21cの処理により、基準画像特徴点の位置(x成分,y成分の座標値)と基準位置とを対応付けて基準パターン情報30bを生成し、記録媒体に記録する(ステップS135)。当該基準パターン情報30bには、揺動情報は含まれない。
(3)一般車両位置特定装置の構成:
以上のようにして作成された基準パターン情報30bは、基準車両以外の一般車両において当該一般車両の位置を特定するために利用される。図4は、本発明にかかる一般車両位置特定装置を含むナビゲーション装置100の構成を示すブロック図である。ナビゲーション装置100は、一般車両に搭載される。当該ナビゲーション装置100は、CPU,RAM,ROM等を備える制御部200、記録媒体300を備えており、記録媒体300やROMに記憶されたプログラムを制御部200で実行することができる。本実施形態においては、このプログラムとしてナビゲーションプログラムおよび一般車両位置特定プログラム210を実行可能である。
ナビゲーションプログラムは、記録媒体300に予め記録された地図情報300aを参照して車両の現在位置や目的地までの経路を案内するためのプログラムである。地図情報300aは、一般車両の位置の特定等に利用される情報であり、一般車両が走行する道路上に設定されたノードを示すノードデータ,ノード間の道路の形状を特定するための形状補間点データ,ノード同士の連結を示すリンクデータ,道路やその周辺に存在する地物の位置および種類等を示す地物データ等を含んでいる。本実施形態において制御部200は、ナビゲーションプログラムの処理により、地物データが示す任意の地物を目的地とし、一般車両の現在位置から目的地までの経路探索を行うことが可能である。また、一般車両の現在位置から目的地まで到達するための経路を後述するユーザI/F部410によって案内することが可能である。
本実施形態において、記録媒体300には基準パターン情報300bが記録される。当該基準パターン情報300bは、上述の基準車両によって生成された基準パターン情報30bと同じ内容の情報であり、基準車両によって生成された情報が、通信や可搬記録媒体等を介して記録媒体300にコピーされることによって記録媒体300に基準パターン情報300bが記録された状態となる。
本実施形態におけるナビゲーション装置100が搭載された一般車両は、前方カメラ400とユーザI/F部410とGPS受信部420と車速センサ430とジャイロセンサ440とを備えている。前方カメラ400は、一般車両の前方の地物(路面および上空)を視野に含むように一般車両に対して取り付けられており、撮影した画像を示す撮影画像データを出力する。制御部200は、図示しないインタフェースを介してこの撮影画像データを取得して画像解析を行う。ユーザI/F部410は、運転者の指示を入力し、また運転者に各種の情報を提供するためのインタフェース部であり、図示しないタッチパネルディスプレイやスイッチ、スピーカ等を備えている。
GPS受信部420は、GPS衛星からの電波を受信し、図示しないインタフェースを介して一般車両の現在位置を算出するための情報を出力する。制御部200は、この信号を取得して一般車両の現在位置を取得する。車速センサ430は、一般車両が備える車輪の回転速度に対応した信号を出力する。制御部200は、図示しないインタフェースを介してこの信号を取得し、一般車両の速度を取得する。ジャイロセンサ440は、一般車両に作用する角速度に対応した信号を出力する。制御部200は図示しないインタフェースを介してこの信号を取得し、一般車両の走行方向を取得する。車速センサ430およびジャイロセンサ440等は、GPS受信部420の出力信号から特定される一般車両の現在位置を補正するなどのために利用される。また、一般車両の現在位置は、当該一般車両の走行軌跡に基づいて適宜補正される。
本実施形態においては、以上のようにGPS受信部420,車速センサ430,ジャイロセンサ440および地図情報300aを利用して一般車両の現在位置を特定可能であるが、基準パターン情報300bを利用して一般車両の現在位置を特定する構成も備えている。すなわち、ナビゲーションプログラムは両者のいずれかまたは双方を利用して一般車両の現在位置を特定しながら目的地までの経路を案内する。
本実施形態において、基準パターン情報300bを利用した一般車両の現在位置の特定は、一般車両位置特定プログラム210によって実現される。以下、一般車両位置特定プログラム210を利用した一般車両の現在位置の特定について説明する。一般車両位置特定プログラム210は、画像特徴点抽出部210aと一致度特定部210bと一般車両位置特定部210cとを備えている。
画像特徴点抽出部210aは、一般車両の周囲の地物を撮影した撮影画像から地物の像に含まれる複数の画像特徴点を抽出して各画像特徴点の撮影画像上での位置を示す座標値を取得する機能を制御部200に実現させるモジュールである。すなわち、制御部200は、画像特徴点抽出部210aの処理によって、前方カメラ400が出力する撮影画像データに対して所定の画像処理を行い、画像特徴点を抽出し、座標値を取得する。
一致度特定部210bは、基準座標値と比較座標値とを比較して一致度を特定する機能を制御部200に実現させるモジュールである。すなわち、制御部200は、GPS受信部420,車速センサ430,ジャイロセンサ440および地図情報300aを利用して特定された一般車両の位置を特定し、当該一般車両の位置を当該一般車両の推定位置とする。また、制御部200は、ジャイロセンサ440の出力信号に基づいて一般車両の揺動方向を特定する。さらに、制御部200は、一般車両の推定位置から所定距離以内の基準位置が対応づけられた基準パターン情報300bを検索し、検索された基準パターン情報300bのうち、一般車両の揺動方向に対応した揺動情報が対応付けられた基準パターン情報300bを特定し、当該基準パターン情報300bに規定された基準座標値を特定する。
さらに、制御部200は、画像特徴点抽出部210aの処理によって抽出された画像特徴点の座標値から比較座標値を特定する。具体的には、一般車両の揺動方向に対して予め対応付けられた特定の座標成分を特定し、画像特徴点の座標値のうち、当該特定の座標成分の座標値を比較座標値とする。そして、制御部200は、基準座標値と比較座標値とを比較して一致度を特定する。
ここで、一致度は、複数の座標値についての総合判断であれば良く、例えば、各基準座標値に対して最も近い比較座標値を特定し、各基準座標値と最も近い比較座標値との距離の2乗の和が小さくなるほど一致度が高くなるように一致度を定義する構成を採用可能である。なお、本実施形態においては、一般車両の推定位置から所定距離以内の基準位置が対応づけられた基準パターン情報300bが複数個存在する場合、複数個の基準パターン情報300bを参照して一致度を特定する処理を行う。
なお、本実施形態において、一般車両の揺動方向に対応した揺動情報が対応付けられた基準パターン情報300bが特定されない場合、制御部200は、一般車両の推定位置から所定距離以内の基準位置が対応づけられた基準パターン情報300bに基づいて基準画像特徴点の位置を特定し、基準画像特徴点の位置と画像特徴点の位置とを比較して一致度を特定する。すなわち、特定の座標成分ではなく、全ての座標成分について比較することによって基準画像特徴点の位置と画像特徴点の位置とを比較する。
一般車両位置特定部210cは、一致度が所定の基準を満たす場合に、基準位置を一般車両の位置として特定する機能を制御部200に実現させるモジュールである。すなわち、制御部200は、一般車両位置特定部210cの処理により、1以上の基準座標値について特定された一致度のなかから最も高い一致度を特定し、当該最も高い一致度となったが所定の閾値を超えている場合に、当該最も高い一致度となった基準座標値が対応付けられた基準パターン情報300bを参照する。そして、当該最も高い一致度となった基準座標値が対応付けられた基準パターン情報300bに対応づけられた基準位置が一般車両の位置であるとみなす。以上の処理によれば、一般車両の揺動によって車載カメラの視野方向が変化した場合であっても一般車両の位置を特定することが可能になる。
(4)一般車両位置特定処理:
次に、一般車両位置特定プログラム210による基準パターン情報生成処理を説明する。一般車両位置特定プログラム210は、所定の期間毎に実行される。図5は一般車両位置特定プログラム210が実行する基準パターン情報生成処理を示すフローチャートである。一般車両位置特定プログラム210の処理が開始されると、制御部200は、画像特徴点抽出部210aの処理により、前方カメラ400が出力する撮影画像データを取得し、ジャイロセンサ440の出力情報を取得する(ステップS200)。ここで、制御部200は、撮影画像データに対して撮影時刻を対応づけてRAMに記録する。
次に、制御部200は、GPS受信部420,車速センサ430,ジャイロセンサ440の出力信号および地図情報300aに基づいて一般車両の現在位置を推定し推定位置として特定する(ステップS205)。次に、制御部200は、ステップS200で取得された各撮影画像データから画像特徴点を抽出する(ステップS210)。すなわち、制御部200は、撮影画像を2値化するとともにハフ変換等によって直線を抽出し、直線の端点と当該端点の間の直線上の複数個の点とを抽出して画像特徴点とし、各画像特徴点の座標値を特定する処理を複数の撮影画像データのそれぞれについて実施する。
次に、制御部200は、一致度特定部210bの処理により、推定位置から所定距離以内の基準位置が対応づけられた基準パターン情報300bが存在するか否か判定する(ステップS215)。すなわち、制御部200は、基準パターン情報300bのなかに、一般車両の現在位置として推定された推定位置から所定距離以内の範囲に含まれる基準位置が対応づけられた基準パターン情報が存在するか否かを判定する。ステップS215において、推定位置から所定距離以内の基準位置が対応づけられた基準パターン情報300bが存在すると判定されない場合、制御部200は、ステップS220以降の処理をスキップして処理を終了する。この場合、推定位置が一般車両の位置であるとみなされる。
一方、ステップS215において、推定位置から所定距離以内の基準位置が対応づけられた基準パターン情報300bが存在すると判定された場合、1あるいは複数の基準パターン情報300bが存在することになるため、一致度を特定するための参照対象となる基準パターン情報を決定するための処理を行う。このために、制御部200は、一致度特定部210bの処理により、ステップS215にて取得した基準パターン情報300bのなかに、一般車両の揺動方向に対応した揺動情報が対応付けられた基準パターン情報が存在するか否かを判定する(ステップS220)。
すなわち、制御部200は、ジャイロセンサ440の出力情報が示す一般車両の揺動方向を特定する。また、制御部200は、ステップS215にて取得した基準パターン情報300bのなかに揺動情報が対応付けられた基準パターン情報が存在するか否かを判定する。そして、制御部200は、揺動情報が対応付けられた基準パターン情報が存在する場合、当該揺動情報が示す揺動方向が、一般車両の揺動方向に一致するか否かを判定し、一般車両の揺動方向に一致する場合に一般車両の揺動方向に対応した揺動情報が対応付けられた基準パターン情報が存在すると判定する。
ステップS220にて、一般車両の揺動方向に対応した揺動情報が対応付けられた基準パターン情報が存在すると判定された場合、制御部200は、一致度特定部210bの処理により、基準座標値を特定する(ステップS225)。すなわち、一般車両の揺動方向に対応した揺動情報が対応付けられた基準パターン情報300bを参照し、当該基準パターン情報300bに対応付けられた基準座標値を特定する。例えば、図3の撮影画像I0を撮影した基準位置の周辺において、撮影画像I0と同様な画像が前方カメラ400の視野に含まれる方向に一般車両が走行しており、図3に示す基準パターン情報30bと同一の基準パターン情報300bが記録媒体300に記録されている場合、制御部200は、図3に示す基準パターン情報30bと同一の基準パターン情報300bは参照対象となる。このため、ステップS225においては、直線P3(X3,Y3)−P4(X4,Y4),直線P7(X7,Y7)−P9(X9,Y9),直線P8(X8,Y8)−P10(X10,Y10),直線P11(X11,Y11)−P17(X17,Y17),直線P14(X14,Y14)−P16(X16,Y16),直線P13(X13,Y13)−P15(X15,Y15)上の複数点のx座標値を示す情報が基準座標値として特定される。むろん、ステップS220にて、一般車両の揺動方向に対応した揺動情報が対応付けられた複数の基準パターン情報300bが存在すると判定された場合、各基準パターン情報に基づいて基準座標値が特定される。
次に、制御部200は、一致度特定部210bの処理により、比較座標値を特定する(ステップS230)。すなわち、制御部200は、ジャイロセンサ440の出力情報が示す一般車両の揺動方向に対応した座標成分を特定し、ステップS210にて抽出した画像特徴点の位置を示す座標値から、当該一般車両の揺動方向に対応した座標成分の座標値を選択し、比較座標値として特定する。
次に、制御部200は、一致度特定部210bの処理により、基準座標値と比較座標値とを比較して一致度を特定する(ステップS235)。なお、ステップS220にて、一般車両の揺動方向に対応した揺動情報が対応付けられた複数の基準パターン情報が存在すると判定された場合、複数の基準パターン情報300bに対応付けられた基準座標値の組のそれぞれについて比較座標値と比較され、複数の組のそれぞれについて一致度が特定される。
一方、ステップS220にて、一般車両の揺動方向に対応した揺動情報が対応付けられた基準パターン情報が存在すると判定されない場合、制御部200は、一致度特定部210bの処理により、基準画像特徴点の位置を特定する(ステップS240)。すなわち、ステップS215にて、推定位置から所定距離以内の基準位置が対応付けられていると判定された基準パターン情報300bを参照し、当該基準パターン情報300bに対応付けられた基準画像特徴点の位置を特定する。すなわち、揺動情報が対応付けられていない基準パターン情報300b(ステップS135にて生成された基準パターン情報)には、基準画像特徴点の位置を示す座標値が対応付けられているため、これらの座標値を特定する。
次に、制御部200は、一致度特定部210bの処理により、画像特徴点の位置を特定する(ステップS245)。すなわち、制御部200は、ステップS210にて抽出した画像特徴点の位置を示す座標値を特定する。次に、制御部200は、一致度特定部210bの処理により、基準画像特徴点の位置と画像特徴点の位置とを比較して一致度を特定する(ステップS250)。なお、ステップS215にて、推定位置から所定距離以内の基準位置が対応付けられていると判定された複数の基準パターン情報が存在すると判定された場合、複数の基準パターン情報300bに対応付けられた基準画像特徴点の位置の組のそれぞれについて画像特徴点の位置と比較され、複数の組のそれぞれについて一致度が特定される。
ステップS235,S250にて比較結果としての一致度が特定されると、制御部200は、一般車両位置特定部210cの処理により、一致度が所定の基準を満たすか否かを判定する(ステップS255)。すなわち、ステップS235あるいはS250にて複数の基準パターン情報300bについての一致度が特定されている場合には、最も高い一致度を特定し、当該最も高い一致度が所定の閾値よりも大きい場合に、当該最も高い一致度となった基準パターン情報300bについて、一致度が所定の基準を満たすと判定する。ステップS235あるいはS250にて一つの基準パターン情報300bについての一致度が特定されている場合には、当該基準パターン情報300bについての一致度が所定の閾値よりも大きい場合に、当該基準パターン情報300bについて、一致度が所定の基準を満たすと判定する。
ステップS255において、一致度が所定の基準を満たすと判定されない場合、制御部200は、ステップS260をスキップして処理を終了する。一方、ステップS255において、一致度が所定の基準を満たすと判定された場合、制御部200は、一致度が所定の基準を満たすと判定された基準パターン情報300bに対応づけられた基準位置を一般車両の位置として特定する(ステップS260)。
以上の構成によれば、一般車両の揺動によって車載カメラの視野方向が変化した場合であっても一般車両の位置を特定することが可能になる。さらに、GPS受信部420,車速センサ430,ジャイロセンサ440の出力信号および地図情報300aのみを利用して一般車両の位置を特定する構成と比較して、正確に一般車両の現在位置を特定することが可能である。また、GPS受信部420,車速センサ430,ジャイロセンサ440の出力信号が取得されない区間においても一般車両の現在位置を特定することが可能である。
(5)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、車両の揺動による画像内での位置変動が所定量以下となる座標成分を抽出して基準座標値を特定し、また、基準座標値に基づいて一般車両の位置を特定する限りにおいて、他にも種々の実施形態を採用可能である。例えば、基準パターン情報には、基準画像特徴点の抽出元となった撮影画像を撮影した時点における基準車両の向きを示す情報を対応づけても良い。この場合、一般車両にて位置を特定する際に、当該一般車両の向きを示す情報を特定し、当該一般車両の向きと同じ向きが対応づけられた基準パターン情報を参照して基準座標値と比較座標値との一致度を特定する。
さらに、基準画像特徴点や画像特徴点は、撮影画像に含まれる各種の地物の像から抽出可能な点であればよく、地物の外周や模様を構成する点であって、撮影画像上での位置が特定されることによって当該撮影画像を撮影した車両の位置を特定することが可能な点を所定の規則で抽出すればよい。従って、上述の直線の端点や交点以外にも、直線を構成する点群等によって構成されてもよい。
さらに、基準車両が揺動した場合における座標値の変化が所定量以下となる座標成分を特定する際の基準となる所定量は、基準車両の揺動に依存しない座標成分を特定するための閾値となれば良く、予め決められた一定の値の他、基準車両の揺動の程度に依存して変動する値であっても良い。例えば、基準車両の揺動の程度が大きくなるほど値が大きくなるように所定量を設定する構成等を採用可能である。
さらに、基準車両の揺動としては、ピッチング、バウンシング、ヨーイング以外の揺動、例えば、ローリングによる揺動を想定可能である。ローリングによる揺動を想定する場合、基準画像特徴点および画像特徴点の位置は、撮影画像上での基準点からの距離を示す座標成分と基準点周りの回転角を示す座標成分とによって撮影画像の位置を規定する、いわゆる極座標系を採用することが好ましい。
すなわち、極座標系であれば、基準車両のローリングによって基準画像特徴点が撮影画像内の円弧上で揺動するが、当該円弧の中心との距離が変動しないように座標成分を設定することが可能である。すなわち、ローリングによって基準点の位置は変化しないが、ローリングによって撮影画像内の各像が基準点周りに回転するように基準点を設定し、基準点からの距離を示す座標成分と基準点周りの回転角を示す座標成分とによって座標成分を設定すればよい。
このように設定された座標系において、基準点からの距離を示す座標成分が、ローリングによって基準車両が揺動した場合に撮影画像上での位置を示す座標値の変化が所定量以下となり得る特定の座標成分であるとみなす。そして、複数の基準画像特徴点において当該特定の座標成分の変化が所定量以下となる場合に当該特定の座標成分の座標値を基準座標値とする。この構成によれば、ローリングによる車両の揺動で車載カメラが回転した場合であっても車両の位置を特定することが可能な基準パターン情報を定義することが可能になる。
図6は、ローリングによって基準点の位置は変化せず、基準画像特徴点が基準点周りに回転する例を説明する説明図である。同図においては、山M1を含む像が撮影画像I0であり、当該山M1の稜線上の複数の点(P1〜P4)が基準画像特徴点として抽出された状態を矩形I1内に示している。また、本例において、撮影画像I0の重心点Psは、基準車両におけるローリングの軸と一致し、基準車両が揺動すると撮影画像I0内の像は重心点Psを中心に回転する。従って、本例においては重心点Psが極座標系の基準点となり、基準点Psからの距離を示す座標成分と基準点Ps周りの回転角を示す座標成分とによって座標系が構成される。
この構成において、図6の矩形I1内に示す複数の点P1〜P4は、基準点Psを中心とした円弧(図6の矩形I1内で実線の曲線で示す円弧)上に存在するため、基準車両がローリングによって揺動した場合であっても各点と基準点Psとの距離Rの変化は所定量以下となる。そこで、制御部20が、点P1〜P4を基準画像特徴点とし、各点における基準点からの距離を示す座標成分の座標値(図6に示すr座標値)を基準座標値とし、基準位置P0を対応付けて基準パターン情報30bを定義するように構成する。この構成によれば、当該基準パターン情報30bが示す基準座標値と、一般車両にて撮影した撮影画像に基づいて抽出した比較座標値(画像特徴点を極座標表現した場合の基準点Psからの距離を示す座標成分の座標値)とを比較することによって一般車両の位置を特定することが可能になる。
さらに、上述の実施形態においては、ジャイロセンサによって基準車両の揺動を実際に検出し、基準車両が揺動した場合における基準画像特徴点の座標値の変化が所定量以下となる座標成分を特定したが、他の手法を用いても良い。例えば、基準画像特徴点が抽出された地物の実空間上での位置を地図情報等に基づいて特定し、当該地物と基準車両との距離に基づく演算によって車両の揺動による基準画像特徴点の変化を特定する構成としても良い。
さらに、上述の実施形態においては、基準車両が揺動した場合における基準画像特徴点の座標値の変化が所定量以下となる特定の座標成分の座標値を基準座標値としたが、他の要素を組み合わせて基準パターン情報を生成しても良い。例えば、基準画像特徴点が構成する図形の形状の揺動に対する依存性が小さい場合に、当該図形を構成する基準画像特徴点から基準座標値を抽出する構成としても良い。より具体的には、撮影画像の上下方向に平行なy軸と左右方向に平行なx軸とからなる直交座標系にて基準画像特徴点を定義する構成において、図3の矩形I1内にて実線で示すように上下方向に延びる直線上の点が揺動によって上下方向に変動したとしても、各点が構成する図形が上下方向に延びる直線であることに変わりはない。しかし、上下方向と異なる方向に延びる直線上の点が揺動によって上下方向に変動すると、その変動量の差に起因して直線が折れ線となる。従って、前者の直線の方が後者の直線よりも図形の形状の揺動に対する依存性が小さいことになり、このように、図形の形状の揺動に対する依存性が小さい図形を構成する点を基準画像特徴点とすることにより、基準座標値と比較座標値との比較結果の信頼性を高めることができる。
さらに、上述の実施形態においては、基準車両が揺動した場合における座標値の変化が複数の基準画像特徴点において所定量以下となる場合には特定の座標成分の基準座標値のみを利用して車両の位置を特定する構成であった他の情報を併用しても良い。すなわち、特定の座標成分以外の座標成分の座標値を併用することによって位置同定の精度を向上しても良いし、基準車両が揺動した場合における座標値の変化が所定量以下とならない基準画像特徴点を併用して位置同定の正誤を向上しても良い。むろん、基準車両が揺動した場合における座標値の変化の程度によって座標値に重み付けを行っても良い。例えば、基準車両の揺動による座標値の変化が大きいほど重みが大きくなるように座標値に対して重み付けを行っておき、一般車両の比較座標値と比較して一致度を特定する際に重みが大きいほど大きい影響を受けるようにして一致度を算出しても良い。