(57)【要約】【課題】移動体から撮像された２時刻の画像の相対的な位置関係が、路面模様から定まらない場合であっても、移動体の移動量を精度良く推定する。【解決手段】路面画像生成部６１１は、移動体に搭載された撮像装置により撮像される第１の時刻の画像から第１の路面画像を生成し、第１の時刻より後の第２の時刻の画像から第２の路面画像を生成する。記憶部６１２は、第１の路面画像と第２の路面画像とを記憶する。移動方向推定部６１３は、第１の時刻と第２の時刻との間における移動体の旋回量から、第１の時刻と第２の時刻との間における移動体の移動方向に依存する方向情報を求める。移動量推定部６１４は、旋回量と方向情報とを用いて、第１の路面画像と第２の路面画像との相対的な位置関係を求め、相対的な位置関係に基づいて、第１の時刻と第２の時刻との間における移動体の移動量を求める。【選択図】図６
2015088092.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載された撮像装置により撮像される第１の時刻の画像から第１の路面画像を生成し、前記第１の時刻より後の第２の時刻の画像から第２の路面画像を生成する路面画像生成部と、
前記第１の路面画像と前記第２の路面画像とを記憶する記憶部と、
前記第１の時刻と前記第２の時刻との間における前記移動体の旋回量から、前記第１の時刻と前記第２の時刻との間における前記移動体の移動方向に依存する方向情報を求める移動方向推定部と、
前記旋回量と前記方向情報とを用いて、前記第１の路面画像と前記第２の路面画像との相対的な位置関係を求め、前記相対的な位置関係に基づいて、前記第１の時刻と前記第２の時刻との間における前記移動体の移動量を求める移動量推定部と、
を備えることを特徴とする移動量推定装置。
【請求項２】
前記移動量推定部は、前記旋回量に基づいて前記第１の路面画像と前記第２の路面画像のうち一方の路面画像を回転させ、前記第１の路面画像と前記第２の路面画像のうち他方の路面画像から、前記方向情報が示す方向に沿って、回転した前記一方の路面画像をずらしながら、前記回転した一方の路面画像と前記他方の路面画像とが対応するずらし量を求め、得られたずらし量に基づいて前記移動量を求めることを特徴とする請求項１記載の移動量推定装置。
【請求項３】
前記移動量推定部は、前記旋回量に基づいて前記第１の路面画像と前記第２の路面画像のうち一方の路面画像を回転させ、前記第１の路面画像と前記第２の路面画像のうち他方の路面画像から回転した前記一方の路面画像をずらす複数のずらし量に対する複数の重みを、ずらし方向が前記方向情報が示す方向に一致する場合の重みが前記ずらし方向が前記方向情報が示す方向に一致しない場合の重みより大きくなるように決定し、前記他方の路面画像から前記回転した一方の路面画像をずらしながら、前記回転した一方の路面画像と前記他方の路面画像との類似度と、前記重みとの積に基づいて、前記回転した一方の路面画像と前記他方の路面画像とが対応するずらし量を求め、得られたずらし量に基づいて前記移動量を求めることを特徴とする請求項１記載の移動量推定装置。
【請求項４】
前記路面画像生成部は、前記第２の時刻より後の第３の時刻の画像から第３の路面画像を生成し、前記第３の時刻より後の第４の時刻の画像から第４の路面画像を生成し、
前記移動方向推定部は、前記第１の時刻と前記第３の時刻との間における前記移動体の第１の積算旋回量と、前記第３の時刻と前記第４の時刻との間における前記移動体の旋回量とから、前記第３の時刻と前記第４の時刻との間における前記移動体の移動方向に依存する別の方向情報を求め、
前記移動量推定部は、前記第１の時刻と前記第４の時刻との間における前記移動体の第２の積算旋回量と、前記別の方向情報とを用いて、前記第１の路面画像と前記第４の路面画像との相対的な位置関係を求め、前記第１の路面画像と前記第４の路面画像との前記相対的な位置関係に基づいて、前記第１の時刻と前記第４の時刻との間における前記移動体の移動量を求めることを特徴とする請求項１乃至３のいずれか１項に記載の移動量推定装置。
【請求項５】
前記移動量推定部は、前記第２の積算旋回量に基づいて、前記第１の路面画像と前記第４の路面画像のうち一方の路面画像である第５の路面画像を回転させ、前記第１の路面画像と前記第４の路面画像のうち他方の路面画像である第６の路面画像から、前記別の方向情報が示す方向に沿って、回転した前記第５の路面画像をずらしながら、前記回転した第５の路面画像と前記第６の路面画像とが対応するずらし量を求め、得られたずらし量に基づいて、前記第１の時刻と前記第４の時刻との間における前記移動体の前記移動量を求めることを特徴とする請求項４記載の移動量推定装置。
【請求項６】
前記移動量推定部は、前記第２の積算旋回量に基づいて、前記第１の路面画像と前記第４の路面画像のうち一方の路面画像である第５の路面画像を回転させ、前記第１の路面画像と前記第４の路面画像のうち他方の路面画像である第６の路面画像から、回転した前記第５の路面画像をずらす複数のずらし量に対する複数の重みを、ずらし方向が前記別の方向情報が示す方向に一致する場合の重みが前記ずらし方向が前記別の方向情報が示す方向に一致しない場合の重みより大きくなるように決定し、前記第６の路面画像から前記回転した第５の路面画像をずらしながら、前記回転した第５の路面画像と前記第６の路面画像との類似度と、前記第５の路面画像をずらす前記ずらし方向に対応する前記重みとの積に基づいて、前記回転した第５の路面画像と前記第６の路面画像とが対応するずらし量を求め、得られたずらし量に基づいて、前記第１の時刻と前記第４の時刻との間における前記移動体の前記移動量を求めることを特徴とする請求項４記載の移動量推定装置。
【請求項７】
コンピュータによって実行される移動量推定方法であって、
移動体に搭載された撮像装置により撮像される第１の時刻の画像から第１の路面画像を生成し、
前記第１の時刻より後の第２の時刻の画像から第２の路面画像を生成し、
前記第１の時刻と前記第２の時刻との間における前記移動体の旋回量から、前記第１の時刻と前記第２の時刻との間における前記移動体の移動方向に依存する方向情報を求め、
前記旋回量と前記方向情報とを用いて、前記第１の路面画像と前記第２の路面画像との相対的な位置関係を求め、
前記相対的な位置関係に基づいて、前記第１の時刻と前記第２の時刻との間における前記移動体の移動量を求める、
ことを特徴とする移動量推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動量推定装置及び移動量推定方法に関する。
【背景技術】
【０００２】
従来より、車両のような移動体にカメラを取り付け、路面を含む周囲映像を撮影して、路面上の模様の移動量から移動体の移動量を推定する方法が提案されている。例えば、車載カメラで撮影した路面のカメラ画像を真上から見たトップビュー画像に変換し、２時刻間におけるトップビュー画像内の対応点の移動量を用いて車両の移動量を求める移動量推定方法が知られている（例えば、非特許文献１を参照）。
【０００３】
車両周囲を撮像して得た車両周囲画像から視点変換画像を作成し、車両の移動量及び移動方向に従って時間的に前後する視点変換画像を重ね合わせて、複数の視点変換画像を合成する車両用周囲監視装置も知られている（例えば、特許文献１を参照）。
【０００４】
異なる時間に撮影された複数の車両周辺の画像に基づいて第１鳥瞰図画像と第２鳥瞰図画像とを作成し、両画像間の画像の移動状態を示す動きベクトルを算出する車両周辺画像処理装置も知られている（例えば、特許文献２を参照）。
【０００５】
第２車両に設置されたカメラから複数の撮影画像を取得し、それらの撮影画像にて形成されるオプティカルフローと、第１車両の移動情報とに基づいて、第１車両と第２車両の連結角を推定する運転支援システムも知られている（例えば、特許文献３を参照）。この運転支援システムは、連結角及び第１車両の移動情報に基づいて、第２車両の予想移動軌跡を導出する。
【０００６】
第１画像と第２画像との画像データを比較し、その差から物体の移動状態を検出する画像認識装置も知られている（例えば、特許文献４を参照）。この画像認識装置は、自動車の車速に応じて第２画像の比較範囲を変化させる。
【０００７】
基準となる対象のカメラ観測により獲得した画像データと、補正対象のカメラ観測により獲得した画像データとのマッチング処理を行って、補正対象の並進量及び回転量を算出する３次元輪郭位置補正方法も知られている（例えば、特許文献５を参照）。
【０００８】
３次元剛体を捉えた２画像間の回転行列と平行移動ベクトルの制約条件から、カメラの運動条件を簡約化して、回転行列と平行移動ベクトルを計算する３次元情報復元装置も知られている（例えば、特許文献６を参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−２５９３５９号公報
【特許文献２】特開２００３−００９１４１号公報
【特許文献３】特開２００９−０６０４９９号公報
【特許文献４】特開平１０−２２２６６５号公報
【特許文献５】特開平７−３１８３２７号公報
【特許文献６】特開平９−２３７３４１号公報
【非特許文献】
【００１０】
【非特許文献１】滝本、伊藤、「車載カメラを用いた単眼測距検証システムの開発」、２００６年７月、ＳＥＩテクニカルレビュー、第１６９号、ｐ．８２−８７
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述した従来の移動量推定方法には、以下のような問題がある。
非特許文献１の移動量推定方法を採用した場合、２時刻間におけるトップビュー画像内の対応点の移動量を用いて移動体の移動量を推定することが可能である。
【００１２】
しかしながら、路面模様が直線状の模様である場合、２時刻における２つのトップビュー画像の相対的な位置関係が一意に定まらず、正しい移動量を求めることが困難になることがある。なお、かかる問題は、路面上を走行する車両に限らず、路面上を移動する他の移動体においても生ずるものである。
【００１３】
１つの側面において、本発明の目的は、移動体から撮像された２時刻の画像の相対的な位置関係が、路面模様から定まらない場合であっても、移動体の移動量を精度良く推定することである。
【課題を解決するための手段】
【００１４】
１つの案では、移動量推定装置は、路面画像生成部、記憶部、移動方向推定部、及び移動量推定部を含む。
【００１５】
路面画像生成部は、移動体に搭載された撮像装置により撮像される第１の時刻の画像から第１の路面画像を生成し、第１の時刻より後の第２の時刻の画像から第２の路面画像を生成する。記憶部は、第１の路面画像と第２の路面画像とを記憶する。
【００１６】
移動方向推定部は、第１の時刻と第２の時刻との間における移動体の旋回量から、第１の時刻と第２の時刻との間における移動体の移動方向に依存する方向情報を求める。移動量推定部は、旋回量と方向情報とを用いて、第１の路面画像と第２の路面画像との相対的な位置関係を求め、相対的な位置関係に基づいて、第１の時刻と第２の時刻との間における移動体の移動量を求める。
【発明の効果】
【００１７】
実施形態の移動量推定装置によれば、移動体から撮像された２時刻の画像の相対的な位置関係が、路面模様から定まらない場合であっても、移動体の移動量を精度良く推定することができる。
【図面の簡単な説明】
【００１８】
【図１】２つの路面画像の照合処理を示す図である。
【図２】路面上で旋回しながら移動する移動体を示す図である。
【図３】２時刻における路面画像を示す図である。
【図４】路面画像の回転を示す図である。
【図５】路面画像の位置の不確定性を示す図である。
【図６】移動量推定装置の第１の機能的構成図である。
【図７】第１の移動量推定処理のフローチャートである。
【図８】旋回量と移動方向の関係を示す図である。
【図９】路面画像上における移動方向を示す図である。
【図１０】移動方向の制約を用いた第１の照合処理を示す図である。
【図１１】移動量推定装置の第２の機能的構成図である。
【図１２】第２の移動量推定処理のフローチャートである。
【図１３】移動体座標系を示す図である。
【図１４】路面座標系を示す図である。
【図１５】カメラの位置及び姿勢を示す図である。
【図１６】路面画像の画像座標系を示す図である。
【図１７】カメラ座標系とカメラ画像の画像座標系を示す図である。
【図１８】生成された路面画像を示す図である。
【図１９】回転前の路面画像を示す図である。
【図２０】回転後の路面画像を示す図である。
【図２１】２時刻における回転中心座標系と路面画像座標系を示す図である。
【図２２】画像照合処理のフローチャートである。
【図２３】ずらし量を示す図である。
【図２４】重みマップを示す図である。
【図２５】移動量を積算して求めた移動軌跡を示す図である。
【図２６】積算誤差が低減された移動軌跡を示す図である。
【図２７】実際の移動方向と推定される移動方向との乖離を示す図である。
【図２８】３時刻における移動体を示す図である。
【図２９】回転中心座標系における移動方向を示す図である。
【図３０】３時刻における移動体と２時刻における路面画像を示す図である。
【図３１】時刻ｔ１における路面画像と時刻ｔにおける路面画像を示す図である。
【図３２】時刻ｔにおける路面画像の回転を示す図である。
【図３３】移動方向の制約を用いた第２の照合処理を示す図である。
【図３４】移動量推定装置の第３の機能的構成図である。
【図３５】第３の移動量推定処理のフローチャートである。
【図３６】３時刻における回転中心座標系と路面画像座標系を示す図である。
【図３７】キーフレーム更新処理のフローチャートである。
【図３８】情報処理装置の構成図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら、実施形態を詳細に説明する。
非特許文献１の移動量推定方法を採用した場合、図１に示すように、時刻ｔ１における路面画像１０１と、時刻ｔ１より後の時刻ｔ２における路面画像１０２とに基づいて、移動体１３１の移動量１３３を推定することが可能である。路面画像１０１及び路面画像１０２としては、例えば、トップビュー画像が用いられる。
【００２０】
路面画像１０１は、移動体１３１の前後左右の４方向の部分画像１１１〜部分画像１１４を含み、路面画像１０２は、４方向の部分画像１２１〜部分画像１２４を含む。４方向の部分画像は、例えば、移動体１３１のそれぞれの方向に向けて設置された４台のカメラにより撮像された４つの画像を用いて生成される。
【００２１】
この場合、路面画像１０１と路面画像１０２とが照合されて、領域１３４における２画像の路面模様１３２の画像パターンが最も一致するように、路面画像１０１と路面画像１０２とが重ね合わせられる。路面模様１３２としては、例えば、白線等の車線区分線が用いられる。そして、路面画像１０１と路面画像１０２との間における移動体１３１の位置の変位量から、移動体１３１の移動量１３３が推定される。時系列的に２時刻をずらしながら同様の操作を繰り返すことで、連続的に移動体１３１の移動量を推定することができる。
【００２２】
しかしながら、路面模様が直線状の模様である場合、路面画像１０１と路面画像１０２との相対的な位置関係が一意に定まらないことがある。一例として、図２に示すように、車線区分線のような直線状の路面模様２０２が存在する路面上で、矢印２０３が示すように、移動体２０１が旋回しながら移動する場合を考える。移動体２０１の旋回量は、例えば、移動体２０１に設置されたジャイロセンサ等の角度センサによって検出することができる。
【００２３】
路面画像２１１は、時刻ｔ１における路面画像であり、路面画像２１２は、時刻ｔ１より後の時刻ｔ２における路面画像である。路面画像２１１と路面画像２１２とを左右に並べて配置すると、図３のようになる。
【００２４】
図４に示すように、時刻ｔ１と時刻ｔ２の間における移動体２０１の旋回による変化は、矢印４０１が示すように、路面画像２１２を旋回量だけ回転させることで相殺される。そして、移動体２０１の移動量は、路面画像２１１と回転後の路面画像２１２との間における、画像パターンを用いた画像照合により、並進変位量として求められる。
【００２５】
このとき、路面模様２０２が直線状の模様であるため、図５に示すように、路面模様２０２に沿う方向においては、回転後の路面画像２１２の対応する位置が定まらない。この場合、矢印５０１が示すように、路面模様２０２に沿う方向における対応位置の不確定性が生じ、正しい並進変位量を求めることが困難になる。
【００２６】
そこで、移動体から撮像された２時刻の画像の相対的な位置関係が、路面模様から定まらない場合であっても、移動体の移動量を精度良く推定する技術が望まれる。なお、かかる問題は、路面上を走行する車両に限らず、路面上を移動する他の移動体においても生ずるものである。
【００２７】
図６は、移動量推定装置の第１の機能的構成例を示している。図６の移動量推定装置６０１は、路面画像生成部６１１、記憶部６１２、移動方向推定部６１３、及び移動量推定部６１４を含む。
【００２８】
図７は、図６の移動量推定装置６０１によって実行される移動量推定処理の例を示すフローチャートである。
【００２９】
まず、路面画像生成部６１１は、移動体に搭載された撮像装置により撮像される第１の時刻の画像から第１の路面画像を生成し、第１の時刻より後の第２の時刻の画像から第２の路面画像を生成する（ステップ７０１）。そして、路面画像生成部６１１は、第１の路面画像と第２の路面画像とを記憶部６１２に記憶させる。
【００３０】
次に、移動方向推定部６１３は、第１の時刻と第２の時刻との間における移動体の旋回量から、第１の時刻と第２の時刻との間における移動体の移動方向に依存する方向情報を求める（ステップ７０２）。
【００３１】
次に、移動量推定部６１４は、旋回量と方向情報とを用いて、第１の路面画像と第２の路面画像との相対的な位置関係を求める（ステップ７０３）。そして、移動量推定部６１４は、相対的な位置関係に基づいて、第１の時刻と第２の時刻との間における移動体の移動量を求める（ステップ７０４）。
【００３２】
移動体には、車両、自動二輪車、自転車、自走式ロボット等のように、路面上を移動する物体が含まれる。路面上を移動する物体は、動物であってもよい。
【００３３】
このような移動量推定処理によれば、移動体から撮像された２時刻の画像の相対的な位置関係が、路面模様から定まらない場合であっても、移動体の移動量を精度良く推定することができる。
【００３４】
実施形態の移動量推定装置は、移動体に搭載された少なくとも１台以上のカメラにより撮像される外界映像から路面画像を生成し、路面画像の画像パターンに基づいて移動体の移動量を推定する。移動量推定装置は、車載装置のように、移動体に搭載される装置であってもよく、サーバのように、移動体に搭載されない装置であってもよい。移動量推定装置は、例えば、以下のようなシステムにおいて利用することができる。
（１）車両の前後左右のうち少なくとも１つ以上の方向に向けて取り付けられたカメラの映像から、車両の挙動を解析し、運転危険分析を行うシステム。
（２）車両の移動量と映像特徴点追跡とに基づいて、移動ステレオ法により周囲の物体の位置を計測するシステム。
【００３５】
まず、移動体の移動方向の拘束条件について説明する。図８の移動体２０１は、車両のような後輪軸と前輪軸とを持ち、後輪軸の車輪を駆動輪とし、前輪を操舵綸として走行するものとする。ここで、移動体２０１の走行速度が十分に低速であり、かつ、２時刻の間隔が十分に短い場合を考える。この場合、駆動綸と操舵綸はすべりがなく、転がりによって走行し、２時刻間の移動を円運動で近似することができる。
【００３６】
図８において、時刻ｔ１における移動体２０１の回転中心Ｏ１と、時刻ｔ１より後の時刻ｔ２における移動体２０１の回転中心Ｏ２は、ともに後輪軸の中心位置である。移動体２０１の旋回中心Ｍは、回転中心Ｏ１を原点とする（ｘｃ１，ｙｃ１）座標系のｘｃ１軸上にあり、移動体２０１は、時刻ｔ１と時刻ｔ２の間において、旋回中心Ｍの周りに旋回量αだけ旋回する。三角形Ｏ１−Ｏ２−Ｍは、旋回量αを頂角とする二等辺三角形であり、辺Ｏ１−Ｍと辺Ｏ２−Ｍの長さは、ともに旋回半径Ｒに等しい。
【００３７】
三角形Ｏ１−Ｏ２−Ｍの辺Ｏ１−Ｍと辺Ｏ１−Ｏ２とのなす角をγとし、ｙｃ１軸と移動体２０１の移動方向８０１とのなす角をβとすると、図８に示す幾何学的な関係より、次式が成り立つ。
γ＝（１８０度−α）／２＝９０度−α／２                （１）
β＝９０度−γ＝９０度−（９０度−α／２）＝α／２      （２）
【００３８】
したがって、移動体２０１の旋回量αと移動方向８０１を示す角βの間には、β＝α／２の関係が成り立つ。このように、移動体２０１に設置された角度センサ等によって旋回量αを検出できれば、移動体２０１の物理的な制約から、移動量そのものは決定されなくても進行方向８０１は決定できることに、発明者は気が付いた。この関係を用いれば、移動体２０１が図２のように旋回する場合でも、図９に示すように、時刻ｔ１と時刻ｔ２との間における移動体２０１の移動方向９０１を制約することができる。
【００３９】
図５の路面画像２１１と路面画像２１２との画像照合において、何ら制約がない場合には、２次元領域内における画像の摂動が行われる。しかし、移動方向９０１の制約を用いれば、図１０に示すように、２次元の摂動を１次元の摂動に制約できる。このため、直線状の路面模様しか存在しない場合であっても、矢印１００１が示す方向の摂動に制約することで、路面画像２１１と路面画像２１２との相対的な位置関係が一意に定まり、正しい並進変位量を求めることが可能になる。
【００４０】
図１１は、移動量推定装置の第２の機能的構成例を示している。図１１の移動量推定装置１１０１は、路面画像生成部６１１、記憶部６１２、移動方向推定部６１３、移動量推定部６１４、及び入力部１１１１を含む。また、移動量推定部６１４は、変換部１１１２及び照合部１１１３を含む。
【００４１】
図１２は、図１１の移動量推定装置１１０１によって実行される移動量推定処理の例を示すフローチャートである。
【００４２】
まず、入力部１１１１は、移動体２０１に搭載された１台以上のカメラにより撮像された映像データを、記憶部６１２に格納する（ステップ１２０１）。移動量推定装置１１０１が移動体２０１に搭載されている場合、映像データはカメラから入力され、移動量推定装置１１０１が移動体２０１に搭載されていない場合、映像データは通信ネットワーク等から入力される。
【００４３】
入力される映像データがアナログ映像であれば、入力部１１１１は、アナログ映像をデジタル映像に変換してもよい。また、入力されるデジタル映像又は変換後のデジタル映像がカラー映像であれば、入力部１１１１は、カラー映像をグレースケール映像に変換してもよい。移動体２０１に複数のカメラが搭載されている場合、入力部１１１１は、それぞれのカメラにより撮像された映像データを、記憶部６１２に格納する。
【００４４】
次に、路面画像生成部６１１は、記憶部６１２に格納された映像データから、複数の時刻における路面画像を生成し、記憶部６１２に格納する（ステップ１２０２）。路面画像は、路面を上方から見たときの様子を表す画像であり、例えば、グレースケール画像である。路面画像生成部６１１は、映像データに含まれる各時刻における画像を路面上に投影することで、路面画像を生成する。
【００４５】
次に、移動量推定部６１４の変換部１１１２は、外部から入力される２時刻間の旋回量に基づいて、記憶部６１２に格納された２時刻の路面画像のうち後の時刻の路面画像を回転させ、回転した路面画像を記憶部６１２に格納する（ステップ１２０３）。移動量推定装置１１０１が移動体２０１に搭載されている場合、旋回量は角度センサ等から入力され、移動量推定装置１１０１が移動体２０１に搭載されていない場合、旋回量は通信ネットワーク等から入力される。
【００４６】
次に、移動方向推定部６１３は、２時刻間の旋回量に基づいて、２時刻間における移動体２０１の移動方向に依存する方向情報を求め、記憶部６１２に格納する（ステップ１２０４）。
【００４７】
次に、移動量推定部６１４の照合部１１１３は、方向情報を用いて、２時刻の路面画像の相対的な位置関係を求め、相対的な位置関係に基づいて、２時刻間における移動体２０１の移動量を求める（ステップ１２０５）。このとき、照合部１１１３は、２時刻の路面画像のうち前の時刻の路面画像から、方向情報が示す方向に沿って、回転した路面画像をずらしながら、２つの路面画像が対応するずらし量を求め、ずらし量に基づいて移動量を求める。そして、照合部１１１３は、求めた移動量を記憶部６１２に格納する。
【００４８】
２時刻のうち後の時刻を新たな前の時刻として、時刻をずらしながら同様の処理を繰り返すことで、それぞれの時間間隔における移動体２０１の移動量を求めることができる。運転危険分析を行うシステムの場合、移動量推定部６１４は、求めた移動量を運転危険分析処理へ出力することができる。また、周囲の物体の位置を計測するシステムの場合、移動量推定部６１４は、求めた移動量を物体位置計算処理へ出力することができる。
【００４９】
図１３は、移動体座標系の例を示している。図１３の移動体座標系Ｏ−ＸＹＺは、移動体２０１上の３次元座標系であり、その原点Ｏは、移動体２０１直下の路面１３０１上にある。Ｘ軸は、原点Ｏから移動体２０１の右方向へ向かう座標軸であり、Ｙ軸は、原点Ｏから移動体２０１の前方向へ向かう座標軸であり、Ｚ軸は、原点Ｏから路面１３０１の上方向へ向かう座標軸である。このとき、図１４に示すように、ＸＹ平面上で路面座標系Ｏ−ＸＹが定義される。
【００５０】
図１５に示すように、移動体２０１に搭載されたｍ番目（ｍは１以上の整数）のカメラ１５０１の位置及び姿勢は、移動体座標系Ｏ−ＸＹＺにおける並進ベクトルＴｍ及び回転行列Ｒｍで表すことができる。
【００５１】
図１６は、路面画像の画像座標系の例を示している。図１６の画像座標系ｏ−ｘｙは、路面画像生成部６１１により生成される路面画像１６０１の２次元座標系であり、その原点ｏは、路面画像１６０１の左下の頂点である。路面画像１６０１のｘ軸方向の大きさをｗｘとし、ｙ軸方向の大きさをｗｙとし、路面画像１６０１の中心１６０２の座標を（ｈｘ，ｈｙ）とすると、次式が成り立つ。
ｈｘ＝ｗｘ／２      （１１）
ｈｙ＝ｗｙ／２      （１２）
【００５２】
図１７は、カメラ座標系の例を示している。図１７の画像座標系ｐｘ−ｐｙは、カメラ１５０１の撮像面上におけるカメラ画像１７０１の２次元座標系である。ｐｘ軸は、カメラ画像１７０１の水平方向の座標軸であり、ｐｙ軸は、カメラ画像１７０１の垂直方向の座標軸である。
【００５３】
カメラ座標系ＱＸ−ＱＹ−ＱＺは、カメラ画像１７０１の中心１７０２を原点とする３次元座標系である。ＱＺ軸は、カメラ１５０１の光軸上にあり、ＱＸ軸及びＱＹ軸は、光軸に垂直な平面上にある。中心１７０２からＱＺ軸の負の方向へカメラ１５０１の焦点距離ｆだけ離れた点１７０３と、カメラ１５０１の撮像対象である物体上の点１７１１とを直線１７２１で結ぶと、直線１７２１は、交点１７１２においてカメラ画像１７０１と交差する。このとき、物体上の点１７１１は、カメラ画像１７０１上の交点１７１２に投影される。
【００５４】
物体上の点１７１１の座標を（ＱＸ，ＱＹ，ＱＺ）とし、ＱＺ軸と直線１７２１とのなす角をθとし、ＱＹ軸と、中心１７０２と交点１７１２とを結ぶ直線１７２２とのなす角をφとする。画像座標系ｐｘ−ｐｙにおける中心１７０２の座標を（ｖｘ，ｖｙ）とし、カメラ画像１７０１上の点１７１２の座標を（ｐｘ，ｐｙ）とし、点１７１２に対応する画素の画素値をｐｍ（ｐｘ，ｐｙ）とする。また、路面画像１６０１の１画素のｘ軸方向の大きさに対応する、路面１３０１上の実際の大きさをＭＸとし、路面画像１６０１の１画素のｙ軸方向の大きさに対応する、路面１３０１上の実際の大きさをＭＹとする。
【００５５】
このとき、路面画像１６０１上の座標（ｘ，ｙ）に対応する画素の画素値ｖは、次式で与えられる。
ｖ＝ｐｍ（ｐｘ，ｐｙ）                （１３）
ｐｘ＝ｆ＊ｒ＊ｓｉｎ（φ）＋ｖｘ      （１４）
ｐｙ＝ｆ＊ｒ＊ｃｏｓ（φ）＋ｖｙ      （１５）
ｒ＝ｔａｎ（θ）                      （１６）
θ＝ａｒｃｔａｎ（ｓｑｒｔ（ＱＸ＾２＋ＱＹ＾２）／ＱＺ）      （１７）
φ＝ａｒｃｔａｎ（ＱＸ／ＱＹ）        （１８）
【数１】
2015088092.tif 000003
【００５６】
Ｒｍは、カメラ１５０１の回転行列であり、Ｔｍは、カメラ１５０１の並進ベクトルである。Ｕは、路面画像１６０１上の座標（ｘ、ｙ）に対応する位置の路面座標系Ｏ−ＸＹにおける座標を表し、次式で与えられる。
【数２】
2015088092.tif 000004
ＵＸ＝ＭＸ＊（ｘ−ｈｘ）      （２１）
ＵＹ＝ＭＹ＊（ｙ−ｈｙ）      （２２）
【００５７】
路面画像生成部６１１は、映像データに含まれる各時刻のカメラ画像から、式（１１）〜式（２２）に基づいて画素値ｖを求めることで、各時刻の路面画像を生成することができる。
【００５８】
図１８は、このようにして生成された路面画像の例を示している。図１８の路面画像１８０１は、移動体２０１の前後左右の４方向の部分画像１８１１〜部分画像１８１４を含む。この場合、移動体２０１の前後左右の４方向に向けて設置された４台のカメラ（ｍ＝１〜４）により撮像された４つのカメラ画像を用いて、路面画像１８０１が生成される。
【００５９】
変換部１１１２は、２時刻間の旋回量に基づいて、２時刻の路面画像のうち後の時刻の路面画像を回転させる。例えば、図１６の路面画像１６０１を旋回量αだけ回転させると、回転後の路面画像の座標（ｘ，ｙ）に対応する画素の画素値ｖは、次式で与えられる。
ｖ＝ＩＮＴＥＲＰ（回転前の路面画像，ｒｘ，ｒｙ）              （３１）
（０＜＝ｒｘ＜ｗｘかつ０＜＝ｒｙ＜ｗｙの場合）
ｖ＝Ｖｉｎｖ                                                  （３２）
（ｒｘ＜０又はｒｘ＞＝ｗｘ又はｒｙ＜０又はｒｙ＞＝ｗｙの場合）
【００６０】
ここで、（ｒｘ，ｒｙ）は、座標（ｘ，ｙ）に対応する画素の回転前の座標を表し、次式で与えられる。
ｒｘ＝ｃｏｓ（α）＊（ｘ−ｈｘ）−ｓｉｎ（α）＊（ｙ−ｈｙ）＋ｈｘ
（３３）
ｒｙ＝ｓｉｎ（α）＊（ｘ−ｈｘ）＋ｃｏｓ（α）＊（ｙ−ｈｙ）＋ｈｙ
（３４）
【００６１】
Ｖｉｎｖは、対応する画素が無効であることを示す画素値である。Ｖｉｎｖとしては、例えば、路面画像における画素値が取り得る値の範囲を超えた値を用いることができる。カメラ画像が輝度値のグレースケール画像であり、画素値の範囲が０〜２５５である場合、Ｖｉｎｖとして２６６以上の値を用いることができる。例えば、Ｖｉｎｖ＝３００である。
【００６２】
ＩＮＴＥＲＰ（画像，ｘ，ｙ）は、画像の座標（ｘ，ｙ）に対応する画素の画素値を内挿補間した値を表す。内挿補間としては、例えば、Ｎｅａｒｅｓｔ補間、Ｂｉｌｉｎｅａｒ補間、Ｓｉｎｃ補間、又はＣｕｂｉｃ補間のいずれかを用いることができる。Ｂｉｌｉｎｅａｒ補間を用いた場合、ＩＮＴＥＲＰ（画像，ｘ，ｙ）は、次式で与えられる。
ｐｘ＝座標値ｘの小数を切り捨てた整数値                          （３５）
ｐｙ＝座標値ｙの小数を切り捨てた整数値                          （３６）
ｄｘ＝ｘ−ｐｘ                                                  （３７）
ｄｙ＝ｙ−ｐｙ                                                  （３８）
Ｐ１１＝ＰＶＡＬ（画像，ｐｘ，ｐｙ）                            （３９）
Ｐ１２＝ＰＶＡＬ（画像，ｐｘ＋１，ｐｙ）                        （４０）
Ｐ２１＝ＰＶＡＬ（画像，ｐｘ，ｐｙ＋１）                        （４１）
Ｐ２２＝ＰＶＡＬ（画像，ｐｘ＋１，ｐｙ＋１）                    （４２）
ｖ１＝（１−ｄｘ）＊Ｐ１１＋ｄｘ＊Ｐ１２                        （４３）
ｖ２＝（１−ｄｘ）＊Ｐ２１＋ｄｘ＊Ｐ２２                        （４４）
ＩＮＴＥＲＰ（画像，ｘ，ｙ）＝（１−ｄｙ）＊ｖ１＋ｄｙ＊ｖ２    （４５）
【００６３】
ここで、ＰＶＡＬ（画像，ｘ，ｙ）は、画像内の座標（ｘ，ｙ）に対応する画素の画素値を表す。
【００６４】
変換部１１１２は、式（３１）〜式（３４）に基づいて画素値ｖを求めることで、回転後の路面画像を生成することができる。例えば、図１９に示すような路面画像を、時計回りに旋回量αだけ回転させると、図２０に示すような路面画像が得られる。図２０の路面画像において、四隅の黒い領域２００１〜領域２００４は、無効画素からなる領域に対応する。
【００６５】
移動方向推定部６１３は、２時刻間の旋回量αに基づいて、移動体２０１の移動方向を求める。図２１は、移動方向を求める際に用いられる、各時刻における回転中心座標系と路面画像座標系の例を示している。
【００６６】
回転中心座標系（ｘｃ１，ｙｃ１）は、時刻ｔ１における移動体２０１の回転中心２１１１を原点とする２次元座標系である。ｙｃ１軸は、移動体２０１の進行方向（前方向）の座標軸であり、ｘｃ１軸は、進行方向に対して横向きの座標軸である。路面画像座標系（ｘ１，ｙ１）は、時刻ｔ１における移動体２０１の中心２１２１を原点とする２次元座標系である。ｙ１軸は、ｙｃ１軸と同じ向きの座標軸であり、ｘ１軸は、ｘｃ１軸と同じ向きの座標軸である。移動体２０１の中心２１２１は、時刻ｔ１における路面画像２１０１の中心と一致している。
【００６７】
回転中心座標系（ｘｃｒ２，ｙｃｒ２）は、時刻ｔ２における移動体２０１の回転中心２１１２を原点とする２次元座標系である。ｙｃｒ２軸は、ｙｃ１軸と同じ向きの座標軸であり、ｘｃｒ２軸は、ｘｃ１軸と同じ向きの座標軸である。路面画像座標系（ｘｒ２，ｙｒ２）は、時刻ｔ２における移動体２０１の中心２１２２を原点とする２次元座標系である。ｙｒ２軸は、ｙｃｒ２軸と同じ向きの座標軸であり、ｘｒ２軸は、ｘｃｒ２軸と同じ向きの座標軸である。
【００６８】
移動体２０１の中心２１２２は、時刻ｔ２における路面画像の中心と一致しており、その路面画像を旋回量αだけ回転させた路面画像２１０２の中心とも一致している。
【００６９】
移動体２０１の移動方向２１１３とｙｃ１軸とがなす角をβとすると、式（２）が成り立つ。回転中心座標系（ｘｃ１，ｙｃ１）において、移動方向２１１３を含む直線の方程式は、次式で与えられる。
ｃｏｓ（β）＊ｘｃ１−ｓｉｎ（β）＊ｙｃ１＝０                  （５１）
【００７０】
ここで、路面画像座標系（ｘ１，ｙ１）における回転中心２１１１の座標を（ｃｘ，ｃｙ）とし、時刻ｔ１と時刻ｔ２の間における回転中心座標系の原点の移動ベクトル２１３１を（ｍｘ，ｍｙ）とする。また、路面画像座標系（ｘ１，ｙ１）における点Ｐ１の座標を（Ｘ１，Ｙ１）とすると、回転中心座標系（ｘｃ１，ｙｃ１）における点Ｐ１の座標は、次式で与えられる。
ｘｃ１＝Ｘ１−ｃｘ      （５２）
ｙｃ１＝Ｙ１−ｃｙ      （５３）
【００７１】
また、回転中心座標系（ｘｃｒ２，ｙｃｒ２）における点Ｐ１の座標は、次式で与えられる。
ｘｃｒ２＝ｘｃ１−ｍｘ＝（Ｘ１−ｃｘ）−ｍｘ      （５４）
ｙｃｒ２＝ｙｃ１−ｍｙ＝（Ｙ１−ｃｙ）−ｍｙ      （５５）
【００７２】
路面画像座標系（ｘｒ２，ｙｒ２）における回転中心２１１２の座標を（ｃｘｒ２，ｃｙｒ２）とすると、路面画像座標系（ｘｒ２，ｙｒ２）における点Ｐ１の座標は、次式で与えられる。
ｘｒ２＝ｘｃｒ２＋ｃｘｒ２＝（Ｘ１−ｃｘ−ｍｘ）＋ｃｘｒ２      （５６）
ｙｒ２＝ｙｃｒ２＋ｃｙｒ２＝（Ｙ１−ｃｙ−ｍｙ）＋ｃｙｒ２      （５７）
【００７３】
座標（ｃｘｒ２，ｃｙｒ２）は、回転中心２１１１の座標（ｃｘ，ｃｙ）を旋回量αを用いて回転変換することで求められ、次式で与えられる。
ｃｘｒ２＝ｃｏｓ（α）＊ｃｘ−ｓｉｎ（α）＊ｃｙ      （５８）
ｃｙｒ２＝ｓｉｎ（α）＊ｃｘ＋ｃｏｓ（α）＊ｃｙ      （５９）
【００７４】
ここで、時刻ｔ１と時刻ｔ２の間における路面画像座標系の原点の移動ベクトル２１３２を（ｑｘ，ｑｙ）とすると、点Ｐ１は、移動ベクトル２１３２により点Ｐ２へ移動する。そして、路面画像座標系（ｘｒ２，ｙｒ２）における点Ｐ２の座標は、路面画像座標系（ｘ１，ｙ１）における点Ｐ１の座標（Ｘ１，Ｙ１）に一致する。
【００７５】
このとき、（ｑｘ，ｑｙ）は、路面画像座標系（ｘｒ２，ｙｒ２）における点Ｐ２の座標（Ｘ１，Ｙ１）と、路面画像座標系（ｘｒ２，ｙｒ２）における点Ｐ１の座標との差分として求められる。式（５６）及び式（５７）より、（ｑｘ，ｑｙ）は次式で与えられる。
ｑｘ＝Ｘ１−ｘｒ２
＝Ｘ１−（Ｘ１−ｃｘ−ｍｘ）−ｃｘｒ２
＝（ｃｘ＋ｍｘ）−ｃｘｒ２      （６０）
ｑｙ＝Ｙ１−ｙｒ２
＝Ｙ１−（Ｙ１−ｃｙ−ｍｙ）−ｃｙｒ２
＝（ｃｙ＋ｍｙ）−ｃｙｒ２      （６１）
【００７６】
式（６０）及び式（６１）より、（ｍｘ，ｍｙ）は次式で与えられる。
ｍｘ＝ｃｘｒ２＋（ｑｘ−ｃｘ）      （６２）
ｍｙ＝ｃｙｒ２＋（ｑｙ−ｃｙ）      （６３）
【００７７】
回転中心座標系（ｘｃ１，ｙｃ１）における（ｍｘ，ｍｙ）は、式（６２）及び式（６３）で与えられ、式（５１）の直線上に拘束される。そこで、式（６２）及び式（６３）の（ｍｘ，ｍｙ）を式（５１）の（ｘｃ１，ｙｃ１）に代入して、式（５８）及び式（５９）を用いると、次式が得られる。
ｃｏｓ（β）＊ｍｘ−ｓｉｎ（β）＊ｍｙ
＝ｃｏｓ（β）＊（ｃｘｒ２＋（ｑｘ−ｃｘ））
−ｓｉｎ（β）＊（ｃｙｒ２＋（ｑｙ−ｃｙ））
＝ｃｏｓ（β）＊ｑｘ−ｓｉｎ（β）＊ｑｙ
＋ｃｏｓ（β）＊（ｃｘｒ２−ｃｘ）−ｓｉｎ（β）＊（ｃｙｒ２−ｃｙ）
＝ｃｏｓ（β）＊ｑｘ−ｓｉｎ（β）＊ｑｙ
＋ｃｏｓ（β）＊（（ｃｏｓ（α）＊ｃｘ−ｓｉｎ（α）＊ｃｙ）−ｃｘ）
−ｓｉｎ（β）＊（（ｓｉｎ（α）＊ｃｘ＋ｃｏｓ（α）＊ｃｙ）−ｃｙ）
＝ｃｏｓ（β）＊ｑｘ−ｓｉｎ（β）＊ｑｙ
−ｃｏｓ（β）＊（（１−ｃｏｓ（α））＊ｃｘ＋ｓｉｎ（α）＊ｃｙ）
＋ｓｉｎ（β）＊（（１−ｃｏｓ（α））＊ｃｙ−ｓｉｎ（α）＊ｃｘ）
＝０                                                            （６４）
【００７８】
式（６４）は、次式のように書き換えられる。
Ａ＊ｑｘ＋Ｂ＊ｑｙ＋Ｃ＝０      （６５）
Ａ＝ｃｏｓ（β）                （６６）
Ｂ＝−ｓｉｎ（β）              （６７）
Ｃ＝−ｃｏｓ（β）＊（（１−ｃｏｓ（α））＊ｃｘ＋ｓｉｎ（α）＊ｃｙ）
＋ｓｉｎ（β）＊（（１−ｃｏｓ（α））＊ｃｙ−ｓｉｎ（α）＊ｃｘ）
（６８）
【００７９】
式（６５）は、路面画像座標系（ｘｒ２，ｙｒ２）の原点の位置を拘束する直線を表している。路面画像２１０１と路面画像２１０２の相対的な位置関係を求める際に、式（６５）を満たす（ｑｘ，ｑｙ）が、路面画像２１０２のずらし量として用いられる。
【００８０】
移動方向推定部６１３は、式（２）を用いて式（６６）〜式（６８）のＡ、Ｂ、及びＣの値を計算し、Ａ、Ｂ、及びＣの値を、路面画像２１０２をずらす方向を示す方向情報として、記憶部６１２に格納する。
【００８１】
照合部１１１３は、路面画像２１０１から方向情報が示す方向に沿って路面画像２１０２をずらしながら、路面画像２１０１の画像パターンと路面画像２１０２の画像パターンとが最も類似する位置を求める。
【００８２】
図２２は、照合部１１１３が行う画像照合処理の例を示すフローチャートである。まず、照合部１１１３は、ｉ番目のずらし量を示す変数ｉを０に設定し、路面画像２１０１の画像パターンと路面画像２１０２の画像パターンとの間の類似度Ｓの最大値を示す変数Ｓｍａｘを−１に設定する（ステップ２２０１）。また、照合部１１１３は、Ｓｍａｘに対応するｉの値を示す変数Ｉｍａｘを−１に設定する。
【００８３】
次に、照合部１１１３は、ｉとずらし量の総数Ｎとを比較し（ステップ２２０２）、ｉがＮより小さい場合（ステップ２２０２，ＹＥＳ）、次式により類似度Ｓを計算する（ステップ２２０３）。
Ｓ＝ＣＯＭＰ（Ｒ１，Ｒ２，ｑｘ（ｉ），ｑｙ（ｉ））            （７１）
【００８４】
図２３に示すように、路面画像Ｒ１は、路面画像２１０１に対応し、路面画像Ｒ２は、路面画像２１０２に対応する。ただし、路面画像Ｒ２は、図２０に示したように、路面画像Ｒ１と同じ形状を有するものとする。
【００８５】
ベクトル２３０１は、路面画像Ｒ１から路面画像Ｒ２をずらす際のｉ番目のずらし量（ｉ＝０〜Ｎ−１）を示している。ベクトル２３０１の成分は、例えば、路面画像Ｒ１の路面画像座標系（ｘ，ｙ）で記述することができ、（ｑｘ（ｉ），ｑｙ（ｉ））である。Ｎ個の組（ｑｘ（ｉ），ｑｙ（ｉ））は、次式が示す直線上のＮ個の点の座標に対応し、路面画像Ｒ２の摂動範囲を規定する。
Ａ＊ｘ＋Ｂ＊ｙ＋Ｃ＝０                                        （７２）
【００８６】
式（７１）のＣＯＭＰ（Ｒ１，Ｒ２，ｑｘ，ｑｙ）としては、例えば、図２３の路面画像Ｒ１と路面画像Ｒ２の共通領域２３０２に属する、路面画像Ｒ１の画像パターンと路面画像Ｒ２の画像パターンの間の類似度を用いることができる。このとき、共通領域２３０２に属するｊ番目の画素対の類似度ｓｊは、例えば、次式で計算することができる（ｊ＝１〜Ｎｃ）。
ｓｊ＝ＶＬ−｜ＰＶＡＬ（Ｒ１，ｕｘ（ｊ），ｕｙ（ｊ））
−ＰＶＡＬ（Ｒ２，ｕｘ（ｊ）−ｑｘ，ｕｙ（ｊ）−ｑｙ）｜（７３）
【００８７】
ここで、ＰＶＡＬ（Ｒ，ｘ，ｙ）は、路面画像Ｒの座標（ｘ，ｙ）に対応する画素の画素値を表し、（ｕｘ（ｊ），ｕｙ（ｊ））は、共通領域２３０２に属する路面画像Ｒ１のｊ番目の画素の座標を表す。共通領域２３０２に属する路面画像Ｒ１の画素の総数は、Ｎｃである。（ｑｘ，ｑｙ）は、ベクトル２３０１の成分を表し、（ｕｘ（ｊ）＋ｑｘ，ｕｙ（ｊ）＋ｑｙ）は、共通領域２３０２に属する路面画像Ｒ２のｊ番目の画素の座標を表す。したがって、式（７３）の右辺第２項の絶対値は、共通領域２３０２に属するｊ番目の画素対の画素値の差分絶対値を表している。
【００８８】
式（７３）の右辺第１項のＶＬは、差分絶対値が小さいほどｓｊが大きくなるようにするための定数であり、画素値の差に比べて十分大きな値に設定される。画素値の範囲が０〜２５５である場合、ＶＬとして２６６以上の値を用いることができる。例えば、ＶＬ＝３００である。
【００８９】
この場合、ＣＯＭＰ（Ｒ１，Ｒ２，ｑｘ，ｑｙ）としては、Ｎｃ個の画素対についてのｓｊの総和又は平均値を用いることができる。例えば、ｓｊの平均値ｓａは、次式で与えられる。
ｓａ＝（Σｓｊ）／Ｎｃ      （７４）
【００９０】
式（７４）の右辺のΣは、ｊ＝１〜Ｎｃについての総和を表す。ｓａは、共通領域２３０２に属する路面画像Ｒ１の画像パターンと路面画像Ｒ２の画像パターンが類似するほど大きな値になる。
【００９１】
式（７３）及び式（７４）は、類似度Ｓの一例に過ぎず、他の計算方法を用いて類似度Ｓを計算しても構わない。例えば、式（７３）において、画素値の差分絶対値の代わりに、画素値の差分の２乗を用いてもよく、定数ＶＬを用いる代わりに、差分絶対値の逆数又は差分の２乗の逆数をｓｊとして用いてもよい。また、式（７４）のｓａの代わりに、ｓｊの総和をＣＯＭＰ（Ｒ１，Ｒ２，ｑｘ，ｑｙ）として用いてもよい。
【００９２】
次に、照合部１１１３は、類似度ＳをＳｍａｘと比較し（ステップ２２０４）、ＳがＳｍａｘより大きい場合（ステップ２２０４，ＹＥＳ）、ＳｍａｘをＳに更新し、Ｉｍａｘをｉに更新する（ステップ２２０５）。そして、照合部１１１３は、ｉを１だけインクリメントして（ステップ２２０６）、ステップ２２０２以降の処理を繰り返す。
【００９３】
ＳがＳｍａｘ以下である場合（ステップ２２０４，ＮＯ）、照合部１１１３は、Ｓｍａｘ及びＩｍａｘを更新することなく、ステップ２２０６以降の処理を行う。そして、ｉがＮに達すると（ステップ２２０２，ＮＯ）、照合部１１１３は、Ｓｍａｘの更新を終了し、Ｉｍａｘに対応するずらし量に基づいて移動量を求める（ステップ２２０７）。
【００９４】
ｉがＮに達したときのＳｍａｘは、路面画像Ｒ２の摂動範囲における類似度Ｓの最大値に対応し、そのときのＩｍａｘは、類似度Ｓを最大にする（ｑｘ（ｉ），ｑｙ（ｉ））を示している。
【００９５】
そこで、照合部１１１３は、（ｑｘ（Ｉｍａｘ），ｑｙ（Ｉｍａｘ））を用いて、次式により、時刻ｔ１と時刻ｔ２の間における移動体２０１の移動量（Ｔｘ，Ｔｙ）を計算することができる。
Ｔｘ＝ｑｘ（Ｉｍａｘ）＊ＭＸ／ｗｘ      （７５）
Ｔｙ＝ｑｙ（Ｉｍａｘ）＊ＭＹ／ｗｙ      （７６）
【００９６】
ところで、方向情報の計算誤差を考慮して、路面画像Ｒ２の摂動範囲を方向情報が示す方向に限定するのではなく、それ以外の方向に拡張することも可能である。この場合、照合部１１１３は、路面画像Ｒ２のずらし量に対する重みを、ずらし方向が方向情報が示す方向に一致する場合の重みが一致しない場合の重みより大きくなるように決定する。そして、照合部１１１３は、路面画像Ｒ１と路面画像Ｒ２の類似度と、重みとの積に基づいて、ずらし量を求める。
【００９７】
例えば、照合部１１１３は、路面画像Ｒ１内の座標（ｘ，ｙ）に対して、式（７２）の直線上で大きな重みを有し、直線から離れるに従って重みが小さくなる重みマップＭ（ｘ，ｙ）を生成することができる。重みマップＭ（ｘ，ｙ）としては、例えば、路面画像Ｒ１内の座標（ｘ，ｙ）から直線までの距離に応じて、距離が近いほど大きくなる重みを用いることができる。
【００９８】
路面画像Ｒ１の各画素の座標を（ｐｘ，ｐｙ）とすると、座標（ｐｘ，ｐｙ）から式（７２）の直線までの距離ＬＬは、次式で与えられる。
ＬＬ＝｜Ａ＊ｐｘ＋Ｂ＊ｐｙ＋Ｃ｜／ｓｑｒｔ（Ａ＊Ａ＋Ｂ＊Ｂ）  （８１）
【００９９】
このとき、重みＷＴは、例えば、距離ＬＬを用いて次式により定義できる。
ＷＴ＝ｅｘｐ（−ＬＬ＊ＬＬ／（σ＊σ））                      （８２）
【０１００】
σは、距離ＬＬが大きくなるにつれて重みＷＴが小さくなる度合いを規定する定数であり、画素数を表す。σとしては、例えば、２以上の値を用いることができる。重みＷＴを座標（ｐｘ，ｐｙ）に対応付けることで、重みマップＭ（ｘ，ｙ）が生成される。式（８１）及び式（８２）は、重みＷＴの一例に過ぎず、他の計算方法を用いて重みＷＴを計算しても構わない。
【０１０１】
図２４は、重みマップＭ（ｘ，ｙ）の例を示している。図２４の重みマップＭ（ｘ，ｙ）の値は、式（７２）の直線２４０１上で最大となり、直線２４０１から離れるに従って小さくなる。
【０１０２】
重みマップＭ（ｘ，ｙ）を用いる場合、直線２４０１の近傍領域を路面画像Ｒ２の摂動範囲として用いることができる。例えば、近傍領域のｘ方向の幅を−ＤＸ画素から＋ＤＸまでとし、ｙ方向の幅を−ＤＹ画素から＋ＤＹまでとすると、ずらし量を示す（ｑｘ（ｉ），ｑｙ（ｉ））は、近傍領域内の点の集合で表され、その総数Ｎは、次式で与えられる。
Ｎ＝（２＊ＤＸ＋１）＊（２＊ＤＹ＋１）                        （８３）
【０１０３】
ただし、ＤＸ及びＤＹは、１以上の整数である。照合部１１１３は、（ｑｘ（ｉ），ｑｙ（ｉ））に対応する路面画像Ｒ１と路面画像Ｒ２の類似度と、（ｑｘ（ｉ），ｑｙ（ｉ））に対応する重みとの積を、重み付き類似度として計算する。そして、照合部１１１３は、重み付き類似度が最も大きくなる（ｑｘ（Ｉｍａｘ），ｑｙ（Ｉｍａｘ））を求め、式（７５）及び式（７６）により移動量（Ｔｘ，Ｔｙ）を計算する。
【０１０４】
この場合、式（７１）のＣＯＭＰ（Ｒ１，Ｒ２，ｑｘ，ｑｙ）としては、例えば、次式の重み付き類似度Ｓを用いることができる。
Ｓ＝ｓａ＊Ｍｃ              （８４）
Ｍｃ＝Ｍ（ｑｘ，ｑｙ）      （８５）
【０１０５】
式（８４）のｓａは、式（７４）のｓｊの平均値であり、Ｍｃは、重みマップＭ（ｘ，ｙ）において（ｑｘ，ｑｙ）に対応する重みを表す。重み付き類似度Ｓは、共通領域２３０２に属する路面画像Ｒ１の画像パターンと路面画像Ｒ２の画像パターンが類似するほど大きな値になる。また、重み付き類似度Ｓは、（ｑｘ，ｑｙ）が直線２４０１に近いほど大きな値になる。
【０１０６】
式（８４）は、重み付き類似度Ｓの一例に過ぎず、他の計算方法を用いて重み付き類似度Ｓを計算しても構わない。例えば、ｓａの代わりに、ｓｊの総和を用いてもよい。
【０１０７】
図１３の移動体座標系Ｏ−ＸＹＺ、図１４の路面座標系Ｏ−ＸＹ、図１６の画像座標系ｏ−ｘｙ、図１７の画像座標系ｐｘ−ｐｙ及びカメラ座標系ＱＸ−ＱＹ−ＱＺの定義は一例に過ぎず、これらと異なる位置及び姿勢の座標系を用いてもよい。また、図２１の回転中心座標系（ｘｃ１，ｙｃ１）、路面画像座標系（ｘ１，ｙ１）、回転中心座標系（ｘｃｒ２，ｙｃｒ２）、及び路面画像座標系（ｘｒ２，ｙｒ２）の定義も一例に過ぎず、これらと異なる位置及び姿勢の座標系を用いてもよい。
【０１０８】
ところで、図８では、時刻ｔ１と時刻ｔ２の間隔が十分に短く、２時刻間における移動体２０１の移動を円運動で近似できる場合の角βの計算方法について説明した。しかし、実際には、車両の挙動を解析するシステムや、移動量と映像特徴点追跡とに基づいて移動ステレオ法により物体の位置を計測するシステムでは、より離れた２時刻間における移動量を求めたい場合がある。
【０１０９】
理論的には、隣接する２時刻間における移動量を積算していけば、任意の２時刻間における移動量を求めることができる。しかし、実際には、移動量を積算する度に、隣接する２時刻間における移動量に含まれる誤差が蓄積されるため、移動量の誤差が増大する可能性がある。
【０１１０】
例えば、図２５に示すように、移動体２０１の実際の移動軌跡２５０１と、隣接する２時刻間における移動量を積算して求めた移動軌跡２５０２との間には、積算誤差２５０３が発生する。そして、移動量を積算する積算回数が多くなるほど、積算誤差２５０３は増大すると考えられる。
【０１１１】
カメラから入力される映像データには、複数の時刻におけるフレームが含まれており、各時刻におけるフレームがカメラ画像に対応する。隣接する２時刻間における移動量を積算する方法では、基準となる時刻ｔ１が時系列に毎フレーム更新される。
【０１１２】
一方、積算誤差を低減するには、移動量の積算回数を可能な限り少なくすることが有効である。この場合、隣接する２時刻間ではなく、より離れた２時刻間における移動量を求めることが好ましい。このため、基準となる時刻ｔ１を時系列的に毎フレーム更新するのではなく、所定の条件の下で時刻ｔ１のフレームをキーフレームとして固定し、時刻ｔ２のフレームだけを時系列に更新することが考えられる。
【０１１３】
この方法では、時刻ｔ１のキーフレームを更新するまでは、時刻ｔ１と時刻ｔ２の間、時刻ｔ１と時刻ｔ３の間、・・・、及び時刻ｔ１と時刻ｔｎの間において移動量が計算される。このため、時刻ｔ１と時刻ｔｎの間における移動量の計算では、時刻ｔ２〜時刻ｔ（ｎ−１）における移動量が積算されず、誤差の蓄積が発生しない。
【０１１４】
例えば、図２６では、キーフレームの時刻における移動体２０１が実線で示され、２つのキーフレームの間に存在するフレームの時刻における移動体２０１が破線で示されている。図２６から分かるように、２つのキーフレームの時間間隔が１フレームより大きくなるため、移動量の積算回数が減少する。このため、移動体２０１の実際の移動軌跡２５０１と、２つのキーフレーム間における移動量を積算して求めた移動軌跡２６０１との間の積算誤差が低減される。
【０１１５】
基準となる時刻ｔ１におけるキーフレームは、例えば、最後にキーフレームを更新してから積算された移動量の大きさが一定量を超えた場合に、最新のフレームで置き換えることができる。これにより、移動体２０１が一定距離を移動する毎に、キーフレームが更新される。
【０１１６】
ところが、移動体２０１は進行方向を変更しながら移動するため、２つのキーフレームの時間間隔が長くなると、その間の移動体２０１の移動を円運動で近似することが困難になる。
【０１１７】
例えば、図２７に示すように、２つのキーフレームの間で移動体２０１が移動軌跡２７０１に沿って移動した場合、実際の移動方向２７０２と、式（２）により旋回量αから推定される移動方向２７０３との間に乖離が発生する。この場合、式（２）の制約を用いることで、逆に、推定された移動量の精度が低下することになる。
【０１１８】
そこで、発明者は、短時間であれば移動体の移動を円運動で近似することができ、移動体の位置は時系列に順次求めることができる点に着目し、漸化的な移動量推定方法を考案した。
【０１１９】
図２８に示すように、時刻ｔ１のフレームをキーフレームとし、時刻ｔのフレームを計算対象とし、時刻ｔの１時刻前の時刻を時刻（ｔ−１）とする。そして、移動体２０１は、移動軌跡２８０１に沿って移動するものとする。このとき、時刻ｔ１と時刻ｔの間における移動体２０１の移動量（Ｔｘ（ｔ），Ｔｙ（ｔ））が求められる。Ｔｘ（ｔ）は、キーフレームにおける右方向の成分を表し、Ｔｙ（ｔ）は、キーフレームにおける前方向の成分を表す。
【０１２０】
ここで、移動体２０１の位置は時系列に順次求めることができるので、時刻ｔ１と時刻（ｔ−１）の間における移動体２０１の移動量（Ｔｘ（ｔ−１），Ｔｙ（ｔ−１））は、時刻（ｔ−１）についての移動量計算により既に求められているものとする。また、時刻ｔ１から時刻（ｔ−１）までの積算旋回量αｃ（ｔ−１）も、時刻（ｔ−１）についての移動量計算により求められているものとする。さらに、時刻（ｔ−１）と時刻ｔとの間の旋回量α（ｔ）が入力されており、時刻ｔにおける路面画像が生成されているものとする。
【０１２１】
まず、時刻（ｔ−１）と時刻ｔとの関係について考える。時刻（ｔ−１）と時刻ｔの間隔は短時間であるため、その間の移動体２０１の移動を円運動で近似しても差し支えない。そこで、図２９に示すように、時刻（ｔ−１）と時刻ｔの間における移動体２０１の移動方向２８０２を示す角βは、その間の旋回量α（ｔ）を用いて、次式により記述することができる。
β＝α（ｔ）／２                          （９１）
【０１２２】
図２９の回転中心座標系（ｘｃ（ｔ−１），ｙｃ（ｔ−１））は、時刻（ｔ−１）における移動体２０１の回転中心を原点とする２次元座標系である。
【０１２３】
次に、時刻ｔ１と時刻ｔとの関係について考える。図３０に示すように、時刻ｔ１における路面画像３００１と時刻ｔにおける路面画像３００２が生成されているものとする。路面画像３００１と路面画像３００２とを左右に並べて配置すると、図３１のようになる。
【０１２４】
時刻ｔ１から時刻ｔまでの積算旋回量αｃ（ｔ）は、時刻ｔ１から時刻（ｔ−１）までの積算旋回量αｃ（ｔ−１）と、時刻（ｔ−１）と時刻ｔの間における旋回量α（ｔ）とを用いて、次式で与えられる。
αｃ（ｔ）＝αｃ（ｔ−１）＋α（ｔ）      （９２）
【０１２５】
図３２に示すように、路面画像３００２をαｃ（ｔ）だけ回転させると、路面模様２０２の方向が路面画像３００１と一致し、移動量に対応するずらし量だけ上下左右にずれた路面画像が得られる。このとき、回転した路面画像３００２における移動体２０１の回転中心は、移動方向２８０２が示す直線上に位置する。
【０１２６】
したがって、路面画像３００１と路面画像３００２との画像照合においては、図３３に示すように、路面画像３００２の摂動範囲を矢印３３０１が示す方向に制約することができる。このように、時刻ｔ１から時刻ｔまでの移動体２０１の移動が円運動では近似できない運動であっても、２次元の摂動を１次元の摂動に制約できる。
【０１２７】
このため、直線状の路面模様しか存在しない場合であっても、路面画像３００１と路面画像３００２との相対的な位置関係が一意に定まり、正しい移動量（Ｔｘ（ｔ），Ｔｙ（ｔ））を求めることが可能になる。時刻ｔの次の時刻（ｔ＋１）以降についても、キーフレームが更新されるまで、同様の処理が繰り返される。
【０１２８】
なお、後述するように、漸化的な移動量推定方法では、時刻（ｔ−１）における移動量（Ｔｘ（ｔ−１），Ｔｙ（ｔ−１））と積算旋回量αｃ（ｔ−１）とを用いて、時刻ｔにおける移動量（Ｔｘ（ｔ），Ｔｙ（ｔ））を計算する。
【０１２９】
ここで、時刻ｔが時刻ｔ１の次の時刻ｔ２である場合、時刻（ｔ−１）は時刻ｔ１に一致する。時刻ｔ１における移動体２０１は動き出す前の初期状態であるから、時刻ｔ１における移動量（Ｔｘ（ｔ１），Ｔｙ（ｔ１））は（０，０）に設定することができ、積算旋回量αｃ（ｔ１）は０に設定することができる。したがって、漸化的な移動量推定方法は、一般性を失うことなく、漸化的に適用することができる。
【０１３０】
このように、移動体の移動方向の制約を用いた移動量推定方法は、移動体の一般的な運動に対しても適用することが可能である。
【０１３１】
図３４は、漸化的な移動量推定方法を用いた移動量推定装置の第３の機能的構成例を示している。図３４の移動量推定装置３４０１は、図１１の移動量推定装置１１０１の構成に、更新部３４１１及び旋回量積算部３４１２を追加した構成を有する。
【０１３２】
図３５は、図３４の移動量推定装置３４０１によって実行される移動量推定処理の例を示すフローチャートである。図３５のステップ３５０１及びステップ３５０２の処理は、図１２のステップ１２０１及びステップ１２０２の処理と同様である。
【０１３３】
路面画像が生成されると、旋回量積算部３４１２は、入力される旋回量を積算して積算旋回量を求め、記憶部６１２に格納する（ステップ３５０３）。このとき、旋回量積算部３４１２は、時刻ｔにおける旋回量α（ｔ）が入力されると、時刻（ｔ−１）における積算旋回量αｃ（ｔ−１）に旋回量α（ｔ）を加算して、時刻ｔにおける積算旋回量αｃ（ｔ）を求める。
【０１３４】
時刻ｔにおける旋回量α（ｔ）をαｎとし、時刻（ｔ−１）における積算旋回量αｃ（ｔ−１）をαｃｐとし、時刻ｔにおける積算旋回量αｃ（ｔ）をαｃｎとする。旋回量積算部３４１２は、旋回量α（ｔ）が入力されると、αｎとして記憶部６１２に格納する。αｃｐは記憶部６１２に格納されているものとする。このとき、旋回量積算部３４１２は、次式によりαｃｎを計算し、記憶部６１２に格納する。
αｃｎ＝αｃｐ            （１０１）
αｃｎ＝αｃｎ＋αｎ      （１０２）
【０１３５】
これにより、時刻ｔにおける旋回量αｎと積算旋回量αｃｎとが記憶部６１２に格納される。
【０１３６】
次に、移動量推定部６１４の変換部１１１２は、外部から入力される旋回量αの代わりに、記憶部６１２に格納された積算旋回量αｃｎを用いて、図１２のステップ１２０３と同様の処理を行う（ステップ３５０４）。これにより、時刻ｔにおける路面画像が回転し、回転した路面画像が記憶部６１２に格納される。
【０１３７】
次に、移動方向推定部６１３は、時刻ｔにおける旋回量αｎに基づいて、時刻（ｔ−１）と時刻ｔとの間における移動体２０１の移動方向に依存する方向情報を求め、記憶部６１２に格納する（ステップステップ３５０５）。
【０１３８】
次に、移動量推定部６１４の照合部１１１３は、時刻ｔ１におけるキーフレームに対応する路面画像と、時刻ｔにおける回転した路面画像とを用いて、図１２のステップ１２０５と同様の処理を行う（ステップ３５０６）。これにより、時刻ｔ１と時刻ｔとの間における移動体２０１の移動量が求められる。照合部１１１３は、求めた移動量を記憶部６１２に格納する。
【０１３９】
時刻（ｔ＋１）を新たな時刻ｔとし、時刻ｔを新たな時刻（ｔ−１）として、時刻をずらしながら同様の処理を繰り返すことで、それぞれの時刻における移動体２０１の移動量を求めることができる。
【０１４０】
更新部３４１１は、時刻ｔにおける移動体２０１の移動量の大きさが一定量を超えた場合に、キーフレームを更新する（ステップ３５０７）。更新されたキーフレームを用いて同様の処理を繰り返すことで、新たな位置を基準とする移動量を求めることができる。
【０１４１】
図３６は、移動方向推定部６１３が移動方向を求める際に用いられる、各時刻における回転中心座標系と路面画像座標系の例を示している。
【０１４２】
回転中心座標系（ｘｃ１，ｙｃ１）は、時刻ｔ１における移動体２０１の回転中心３６１１を原点とする２次元座標系である。ｙｃ１軸は、移動体２０１の進行方向の座標軸であり、ｘｃ１軸は、進行方向に対して横向きの座標軸である。路面画像座標系（ｘ１，ｙ１）は、時刻ｔ１における移動体２０１の中心３６２１を原点とする２次元座標系である。ｙ１軸は、ｙｃ１軸と同じ向きの座標軸であり、ｘ１軸は、ｘｃ１軸と同じ向きの座標軸である。移動体２０１の中心３６２１は、時刻ｔ１における路面画像３６０１の中心と一致している。
【０１４３】
回転中心座標系（ｘｃ（ｔ−１），ｙｃ（ｔ−１））は、時刻（ｔ−１）における移動体２０１の回転中心３６１２を原点とする２次元座標系である。ｙｃ（ｔ−１）軸は、移動体２０１の進行方向の座標軸であり、ｘｃ（ｔ−１）軸は、進行方向に対して横向きの座標軸である。路面画像座標系（ｘ（ｔ−１），ｙ（ｔ−１））は、時刻（ｔ−１）における移動体２０１の中心３６２２を原点とする２次元座標系である。ｙ（ｔ−１）軸は、ｙｃ（ｔ−１）軸と同じ向きの座標軸であり、ｘ（ｔ−１）軸は、ｘｃ（ｔ−１）軸と同じ向きの座標軸である。
【０１４４】
移動体２０１の中心３６２２は、時刻（ｔ−１）における路面画像の中心と一致しており、その路面画像を積算旋回量αｃｐだけ回転させた路面画像３６０２の中心とも一致している。
【０１４５】
回転中心座標系（ｘｃｒ（ｔ），ｙｃｒ（ｔ））は、時刻ｔにおける移動体２０１の回転中心３６１３を原点とする２次元座標系である。ｙｃｒ（ｔ）軸は、ｙｃ１軸と同じ向きの座標軸であり、ｘｃｒ（ｔ）軸は、ｘｃ１軸と同じ向きの座標軸である。路面画像座標系（ｘｒ（ｔ），ｙｒ（ｔ））は、時刻ｔにおける移動体２０１の中心３６２３を原点とする２次元座標系である。ｙｒ（ｔ）軸は、ｙｃｒ（ｔ）軸と同じ向きの座標軸であり、ｘｒ（ｔ）軸は、ｘｃｒ（ｔ）軸と同じ向きの座標軸である。
【０１４６】
移動体２０１の中心３６２３は、時刻ｔにおける路面画像の中心と一致しており、その路面画像を積算旋回量αｃｎだけ回転させた路面画像３６０３の中心とも一致している。
【０１４７】
移動体２０１の移動方向３６１４とｙｃ（ｔ−１）軸とがなす角をβとすると、式（９１）より次式が成り立つ。
β＝αｎ／２      （１１１）
【０１４８】
回転中心座標系（ｘｃ（ｔ−１），ｙｃ（ｔ−１））において、移動方向３６１４を含む直線の方程式は、次式で与えられる。
ｃｏｓ（β）＊ｘｃ（ｔ−１）−ｓｉｎ（β）＊ｙｃ（ｔ−１）＝０    （１１２）
【０１４９】
路面画像座標系（ｘ１，ｙ１）から路面画像座標系（ｘ（ｔ−１），ｙ（ｔ−１））への座標変換における回転量は、時刻（ｔ−１）における積算旋回量αｃｐで与えられる。また、この座標変換における並進移動量は、時刻（ｔ−１）における移動体２０１の移動量（Ｔｘ（ｔ−１），Ｔｙ（ｔ−１））を、路面画像座標系（ｘ（ｔ−１），ｙ（ｔ−１））における並進移動量（ｑｘｐ，ｑｙｐ）に変換することで得られる。このとき、路面画像座標系（ｘ（ｔ−１），ｙ（ｔ−１））と路面画像座標系（ｘ１，ｙ１）との関係は、次式で与えられる。
ｘ（ｔ−１）＝ｃｏｓ（αｃｐ）＊（ｘ１−ｑｘｐ）
−ｓｉｎ（αｃｐ）＊（ｙ１−ｑｙｐ）    （１１３）
ｙ（ｔ−１）＝ｓｉｎ（αｃｐ）＊（ｘ１−ｑｘｐ）
＋ｃｏｓ（αｃｐ）＊（ｙ１−ｑｙｐ）    （１１４）
【０１５０】
路面画像座標系（ｘ１，ｙ１）における点Ｐ１の座標を（Ｘ１，Ｙ１）とすると、式（１１３）及び式（１１４）より、路面画像座標系（ｘ（ｔ−１），ｙ（ｔ−１））における点Ｐ１の座標は、次式で与えられる。
ｘ（ｔ−１）＝ｃｏｓ（αｃｐ）＊（Ｘ１−ｑｘｐ）
−ｓｉｎ（αｃｐ）＊（Ｙ１−ｑｙｐ）    （１１５）
ｙ（ｔ−１）＝ｓｉｎ（αｃｐ）＊（Ｘ１−ｑｘｐ）
＋ｃｏｓ（αｃｐ）＊（Ｙ１−ｑｙｐ）    （１１６）
【０１５１】
ここで、路面画像座標系（ｘ１，ｙ１）における回転中心３６１１の座標を（ｃｘ，ｃｙ）とし、時刻（ｔ−１）と時刻ｔとの間における回転中心座標系の原点の移動ベクトル３６３１を（ｍｘ，ｍｙ）とする。このとき、回転中心座標系（ｘｃ（ｔ−１），ｙｃ（ｔ−１））における点Ｐ１の座標は、次式で与えられる。
ｘｃ（ｔ−１）＝ｘ（ｔ−１）−ｃｘ
＝ｃｏｓ（αｃｐ）＊（Ｘ１−ｑｘｐ）
−ｓｉｎ（αｃｐ）＊（Ｙ１−ｑｙｐ）−ｃｘ    （１１７）
ｙｃ（ｔ−１）＝ｙ（ｔ−１）−ｃｙ
＝ｓｉｎ（αｃｐ）＊（Ｘ１−ｑｘｐ）
＋ｃｏｓ（αｃｐ）＊（Ｙ１−ｑｙｐ）−ｃｙ    （１１８）
【０１５２】
次に、回転中心座標系（ｘｃ（ｔ−１），ｙｃ（ｔ−１））から回転中心座標系（ｘｃｒ（ｔ），ｙｃｒ（ｔ））への座標変換について考える。時刻（ｔ−１）と時刻ｔとの間に移動体２０１は旋回量αｎだけ旋回しており、時刻ｔにおける路面画像３６０３の回転量は積算旋回量αｃｎで与えられる。したがって、この座標変換における回転量は、次式で与えられる。
αｎ−αｃｎ＝αｎ−（αｃｐ＋αｎ）＝−αｃｐ                （１１９）
【０１５３】
このとき、式（１１７）及び式（１１８）より、回転中心座標系（ｘｃｒ（ｔ），ｙｃｒ（ｔ））における点Ｐ１の座標は、次式で与えられる。
ｘｃｒ（ｔ）
＝ｃｏｓ（−αｃｐ）＊（ｘｃ（ｔ−１）−ｍｘ）
−ｓｉｎ（−αｃｐ）＊（ｙｃ（ｔ−１）−ｍｙ）
＝ｃｏｓ（αｃｐ）＊（ｘｃ（ｔ−１）−ｍｘ）
＋ｓｉｎ（αｃｐ）＊（ｙｃ（ｔ−１）−ｍｙ）
＝ｃｏｓ（αｃｐ）＊ｘｃ（ｔ−１）
＋ｓｉｎ（αｃｐ）＊ｙｃ（ｔ−１）
−（ｃｏｓ（αｃｐ）＊ｍｘ＋ｓｉｎ（αｃｐ）＊ｍｙ）
＝Ｘ１−ｑｘｐ
−（ｃｏｓ（αｃｐ）＊（ｃｘ＋ｍｘ）＋ｓｉｎ（αｃｐ）＊（ｃｙ＋ｍｙ））
（１２０）
ｙｃｒ（ｔ）
＝ｓｉｎ（−αｃｐ）＊（ｘｃ（ｔ−１）−ｍｘ）
＋ｃｏｓ（−αｃｐ）＊（ｙｃ（ｔ−１）−ｍｙ）
＝−ｓｉｎ（αｃｐ）＊（ｘｃ（ｔ−１）−ｍｘ）
＋ｃｏｓ（αｃｐ）＊（ｙｃ（ｔ−１）−ｍｙ）
＝Ｙ１−ｑｙｐ
−（−ｓｉｎ（αｃｐ）＊（ｃｘ＋ｍｘ）＋ｃｏｓ（αｃｐ）＊（ｃｙ＋ｍｙ））
（１２１）
【０１５４】
路面画像座標系（ｘｒ（ｔ），ｙｒ（ｔ））における回転中心３６１３の座標を（ｃｘｒ（ｔ），ｃｙｒ（ｔ））とすると、式（１２０）及び式（１２１）より、路面画像座標系（ｘｒ（ｔ），ｙｒ（ｔ））における点Ｐ１の座標は、次式で与えられる。
ｘｒ（ｔ）
＝ｘｃｒ（ｔ）＋ｃｘｒ（ｔ）
＝Ｘ１−ｑｘｐ
−（ｃｏｓ（αｃｐ）＊（ｃｘ＋ｍｘ）＋ｓｉｎ（αｃｐ）＊（ｃｙ＋ｍｙ））
＋ｃｘｒ（ｔ）                                                （１２２）
ｙｒ（ｔ）
＝ｙｃｒ（ｔ）＋ｃｙｒ（ｔ）
＝Ｙ１−ｑｙｐ
−（−ｓｉｎ（αｃｐ）＊（ｃｘ＋ｍｘ）＋ｃｏｓ（αｃｐ）＊（ｃｙ＋ｍｙ））
＋ｃｙｒ（ｔ）                                                （１２３）
【０１５５】
座標（ｃｘｒ（ｔ），ｃｙｒ（ｔ））は、回転中心３６１１の座標（ｃｘ，ｃｙ）を積算旋回量αｃｎを用いて回転変換することで求められ、次式で与えられる。
ｃｘｒ（ｔ）＝ｃｏｓ（αｃｎ）＊ｃｘ−ｓｉｎ（αｃｎ）＊ｃｙ  （１２４）
ｃｙｒ（ｔ）＝ｓｉｎ（αｃｎ）＊ｃｘ＋ｃｏｓ（αｃｎ）＊ｃｙ  （１２５）
【０１５６】
ここで、時刻ｔ１と時刻ｔの間における路面画像座標系の原点の移動ベクトル３６３２を（ｑｘ，ｑｙ）とすると、点Ｐ１は、移動ベクトル３６３２により点Ｐ２へ移動する。そして、路面画像座標系（ｘｒ（ｔ），ｙｒ（ｔ））における点Ｐ２の座標は、路面画像座標系（ｘ１，ｙ１）における点Ｐ１の座標（Ｘ１，Ｙ１）に一致する。
【０１５７】
このとき、（ｑｘ，ｑｙ）は、路面画像座標系（ｘｒ（ｔ），ｙｒ（ｔ））における点Ｐ２の座標（Ｘ１，Ｙ１）と、路面画像座標系（ｘｒ（ｔ），ｙｒ（ｔ））における点Ｐ１の座標との差分として求められる。式（１２２）及び式（１２３）より、（ｑｘ，ｑｙ）は次式で与えられる。
ｑｘ
＝Ｘ１−ｘｒ（ｔ）
＝ｑｘｐ
＋（ｃｏｓ（αｃｐ）＊（ｃｘ＋ｍｘ）＋ｓｉｎ（αｃｐ）＊（ｃｙ＋ｍｙ））
−ｃｘｒ（ｔ）                                                （１２６）
ｑｙ
＝Ｙ１−ｙｒ（ｔ）
＝ｑｙｐ
＋（−ｓｉｎ（αｃｐ）＊（ｃｘ＋ｍｘ）＋ｃｏｓ（αｃｐ）＊（ｃｙ＋ｍｙ））
−ｃｙｒ（ｔ）                                                （１２７）
【０１５８】
式（１２６）及び式（１２７）より、（ｍｘ，ｍｙ）は次式で与えられる。
ｍｘ＝ｃｏｓ（αｃｐ）＊（ｃｘｒ（ｔ）＋ｑｘ−ｑｘｐ）
−ｓｉｎ（αｃｐ）＊（ｃｙｒ（ｔ）＋ｑｙ−ｑｙｐ）
−ｃｘ                                                  （１２８）
ｍｙ＝ｓｉｎ（αｃｐ）＊（ｃｘｒ（ｔ）＋ｑｘ−ｑｘｐ）
＋ｃｏｓ（αｃｐ）＊（ｃｙｒ（ｔ）＋ｑｙ−ｑｙｐ）
−ｃｙ                                                  （１２９）
【０１５９】
回転中心座標系（ｘｃ（ｔ−１），ｙｃ（ｔ−１））における（ｍｘ，ｍｙ）は、式（１２８）及び式（１２９）で与えられ、式（１１２）の直線上に拘束される。そこで、式（１２８）及び式（１２９）の（ｍｘ，ｍｙ）を式（１１２）の（ｘｃ（ｔ−１），ｙｃ（ｔ−１））に代入して、式（１２４）及び式（１２５）を用いると、次式が得られる。
ｃｏｓ（β）＊ｍｘ−ｓｉｎ（β）＊ｍｙ
＝ｃｏｓ（β）＊（ｃｏｓ（αｃｐ）＊（ｃｘｒ（ｔ）＋ｑｘ−ｑｘｐ）
−ｓｉｎ（αｃｐ）＊（ｃｙｒ（ｔ）＋ｑｙ−ｑｙｐ）−ｃｘ）
−ｓｉｎ（β）＊（ｓｉｎ（αｃｐ）＊（ｃｘｒ（ｔ）＋ｑｘ−ｑｘｐ）
＋ｃｏｓ（αｃｐ）＊（ｃｙｒ（ｔ）＋ｑｙ−ｑｙｐ）−ｃｙ）
＝ｃｏｓ（β＋αｃｐ）＊（ｑｘ−ｑｘｐ＋ｃｘｒ（ｔ））
−ｓｉｎ（β＋αｃｐ）＊（ｑｙ−ｑｙｐ＋ｃｙｒ（ｔ））
−（ｃｏｓ（β）＊ｃｘ−ｓｉｎ（β）＊ｃｙ）
＝ｃｏｓ（β＋αｃｐ）＊ｑｘ−ｓｉｎ（β＋αｃｐ）＊ｑｙ
−（ｃｏｓ（β＋αｃｐ）＊ｑｘｐ−ｓｉｎ（β＋αｃｐ）＊ｑｙｐ）
＋（ｃｏｓ（β＋αｃｐ）＊ｃｘｒ（ｔ）−ｓｉｎ（β＋αｃｐ）＊ｃｙｒ（ｔ））
−（ｃｏｓ（β）＊ｃｘ−ｓｉｎ（β）＊ｃｙ）
＝０                                                            （１３０）
【０１６０】
式（１３０）は、次式のように書き換えられる。
Ａ＊ｑｘ＋Ｂ＊ｑｙ＋Ｃ＝０                                    （１３１）
Ａ＝ｃｏｓ（β＋αｃｐ）                                      （１３２）
Ｂ＝−ｓｉｎ（β＋αｃｐ）                                    （１３３）
Ｃ＝−（ｃｏｓ（β＋αｃｐ）＊ｑｘｐ−ｓｉｎ（β＋αｃｐ）＊ｑｙｐ）
＋（ｃｏｓ（β＋αｃｐ）＊ｃｘｒ（ｔ）−ｓｉｎ（β＋αｃｐ）＊ｃｙｒ（ｔ））
−（ｃｏｓ（β）＊ｃｘ−ｓｉｎ（β）＊ｃｙ）                  （１３４）
【０１６１】
式（１３１）は、路面画像座標系（ｘｒ（ｔ），ｙｒ（ｔ））の原点の位置を拘束する直線を表している。路面画像３６０１と路面画像３６０３の相対的な位置関係を求める際に、式（１３１）を満たす（ｑｘ，ｑｙ）が、路面画像３６０３のずらし量として用いられる。
【０１６２】
移動方向推定部６１３は、式（１１１）、式（１２４）、及び式（１２５）を用いて式（１３２）〜式（１３４）のＡ、Ｂ、及びＣの値を計算し、Ａ、Ｂ、及びＣの値を、路面画像３６０３をずらす方向を示す方向情報として、記憶部６１２に格納する。
【０１６３】
図３７は、更新部３４１１が行うキーフレーム更新処理の例を示すフローチャートである。まず、更新部３４１１は、時刻ｔにおける移動量（Ｔｘ，Ｔｙ）を用いて、次式により、移動量の大きさＬを計算する（ステップ３７０１）。
Ｌ＝ｓｑｒｔ（Ｔｘ＊Ｔｘ＋Ｔｙ＊Ｔｙ）      （１４１）
【０１６４】
次に、更新部３４１１は、Ｌを閾値ＴＨＬと比較し（ステップ３７０２）、ＬがＴＨＬより大きい場合（ステップ３７０２，ＹＥＳ）、ｑｘｐ、ｑｙｐ、αｎ、αｃｐ、及びαｃｎを次式により更新する（ステップ３７０３）。
ｑｘｐ＝０      （１４２）
ｑｙｐ＝０      （１４３）
αｎ＝０        （１４４）
αｃｐ＝０      （１４５）
αｃｎ＝０      （１４６）
【０１６５】
そして、更新部３４１１は、時刻ｔにおける回転前の路面画像を、新たなキーフレームに対応する路面画像として記憶部６１２に格納する。これにより、並進移動量（ｑｘｐ，ｑｙｐ）が（０，０）に更新され、旋回量αｎ、積算旋回量αｃｐ、及び積算旋回量αｃｎが０に更新されるとともに、キーフレームに対応する路面画像が更新される。閾値ＴＨＬは、キーフレームを更新するための移動量の大きさの上限値を表す。ＴＨＬとしては、例えば、数十ｃｍ程度の長さを用いることができる。
【０１６６】
一方、ＬがＴＨＬ以下である場合（ステップ３７０２，ＮＯ）、更新部３４１１は、ｑｘｐ及びｑｙｐを次式により更新する（ステップ３７０４）。
ｑｘｐ＝Ｔｘ＊ｗｘ／ＭＸ      （１４７）
ｑｙｐ＝Ｔｙ＊ｗｙ／ＭＹ      （１４８）
【０１６７】
これにより、並進移動量（ｑｘｐ，ｑｙｐ）が時刻ｔにおける移動量（Ｔｘ，Ｔｙ）に対応する値に更新される。この場合、キーフレームに対応する路面画像は更新されない。
【０１６８】
このようなキーフレーム更新処理によれば、時刻ｔにおける移動体２０１の移動量の大きさが一定量を超えた場合にキーフレームが更新され、新たな位置を基準とする移動量を求めることができる。
【０１６９】
ところで、図３４の移動量推定装置３４０１は、図１１の移動量推定装置１１０１と同様に、重み付き類似度を用いて２つの路面画像の画像照合を行うことができる。この場合、照合部１１１３は、時刻ｔ１におけるキーフレームに対応する路面画像と、時刻ｔにおける回転した路面画像との類似度を計算し、その類似度と重みマップの重みとの積を、重み付き類似度として計算する。
【０１７０】
図３６の回転中心座標系（ｘｃ１，ｙｃ１）、路面画像座標系（ｘ１，ｙ１）、回転中心座標系（ｘｃ（ｔ−１），ｙｃ（ｔ−１））、及び路面画像座標系（ｘ（ｔ−１），ｙ（ｔ−１））の定義は一例に過ぎず、これらと異なる位置及び姿勢の座標系を用いてもよい。回転中心座標系（ｘｃｒ（ｔ），ｙｃｒ（ｔ））及び路面画像座標系（ｘｒ（ｔ），ｙｒ（ｔ））の定義も一例に過ぎず、これらと異なる位置及び姿勢の座標系を用いてもよい。
【０１７１】
図６の移動量推定装置６０１、図１１の移動量推定装置１１０１、及び図３４の移動量推定装置３４０１の構成は一例に過ぎず、移動量推定装置の用途や条件に応じて一部の構成要素を省略又は変更してもよい。例えば、カメラにより撮像された映像データがあらかじめ記憶部６１２に格納されている場合は、入力部１１１１を省略することができる。
【０１７２】
また、移動体２０１に搭載されるカメラの数は４台である必要はなく、１台以上であればよい。カメラの数が３台以下であっても、撮像された映像データから路面画像を生成することが可能である。
【０１７３】
図７、図１２、図２２、図３５、及び図３７に示したフローチャートは一例に過ぎず、移動量推定装置の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、図１２のステップ１２０４の処理をステップ１２０３の処理の前に移動することができ、図３５のステップ３５０５の処理をステップ３５０４の処理の前に移動することができる。
【０１７４】
図１２のステップ１２０３又は図３５のステップ３５０４において、変換部１１１２は、２時刻の路面画像のうち後の時刻の路面画像の代わりに、前の時刻の路面画像を回転させることもできる。この場合、照合部１１１３は、後の時刻の路面画像から、方向情報が示す方向に沿って、回転した前の時刻の路面画像をずらしながら、２つの路面画像が対応するずらし量を求めることができる。
【０１７５】
図３７のステップ３７０２及びステップ３７０３において、更新部３４１１は、移動量の大きさが閾値を超えた場合にキーフレームを更新する代わりに、移動時間又はフレーム数が閾値を超えた場合にキーフレームを更新してもよい。
【０１７６】
式（１）〜式（１４８）は一例に過ぎず、移動量推定装置の構成や条件に応じて計算式を変更してもよい。
【０１７７】
図６の移動量推定装置６０１、図１１の移動量推定装置１１０１、及び図３４の移動量推定装置３４０１は、例えば、図３８に示すような情報処理装置（コンピュータ）を用いて実現可能である。
【０１７８】
図３８の情報処理装置は、Central Processing Unit（ＣＰＵ）３８０１、メモリ３８０２、入力装置３８０３、出力装置３８０４、補助記憶装置３８０５、媒体駆動装置３８０６、及びネットワーク接続装置３８０７を備える。これらの構成要素はバス３８０８により互いに接続されている。
【０１７９】
メモリ３８０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ３８０２は、記憶部６１２として用いることができる。
【０１８０】
ＣＰＵ３８０１（プロセッサ）は、例えば、メモリ３８０２を利用してプログラムを実行することにより、路面画像生成部６１１、移動方向推定部６１３、及び移動量推定部６１４として動作し、移動量推定処理を行う。ＣＰＵ３８０１は、変換部１１１２、照合部１１１３、更新部３４１１、及び旋回量積算部３４１２としても動作する。
【０１８１】
入力装置３８０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置３８０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。出力される処理結果には、例えば、移動体２０１の移動量を示す情報が含まれる。
【０１８２】
補助記憶装置３８０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この補助記憶装置３８０５には、ハードディスクドライブも含まれる。情報処理装置は、補助記憶装置３８０５にプログラム及びデータを格納しておき、それらをメモリ３８０２にロードして使用することができる。
【０１８３】
媒体駆動装置３８０６は、可搬型記録媒体３８０９を駆動し、その記録内容にアクセスする。可搬型記録媒体３８０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体３８０９には、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体３８０９にプログラム及びデータを格納しておき、それらをメモリ３８０２にロードして使用することができる。
【０１８４】
このように、移動量推定処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ３８０２、補助記憶装置３８０５、及び可搬型記録媒体３８０９のような、物理的な（非一時的な）記録媒体が含まれる。
【０１８５】
ネットワーク接続装置３８０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置３８０７は、入力部１１１１として用いることができる。
【０１８６】
情報処理装置は、ネットワーク接続装置３８０７を介して、ユーザ端末から処理要求及び映像データを受信し、処理結果である移動量を示す情報をユーザ端末へ送信することができる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置３８０７を介して受け取り、それらをメモリ３８０２にロードして使用することもできる。
【０１８７】
なお、情報処理装置が図３８のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がユーザ端末から通信ネットワーク経由で処理要求及び映像データを受信する場合は、入力装置３８０３及び出力装置３８０４を省略してもよい。また、情報処理装置が可搬型記録媒体３８０９にアクセスしない場合は、媒体駆動装置３８０６を省略してもよく、情報処理装置が通信ネットワークに接続されない場合は、ネットワーク接続装置３８０７を省略してもよい。
【０１８８】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【０１８９】
１０１、１０２、２１１、２１２、１６０１、１８０１、２１０１、２１０２、３００１、３００２、３６０１、３６０２、３６０３  路面画像
１１１〜１１４、１２１〜１２４、１８１１〜１８１４  部分画像
１３１、２０１  移動体
１３２、２０２  路面模様
１３３  移動量
１３４、２００１〜２００４  領域
２０３、４０１、５０１、１００１、３３０１  矢印
６０１、１１０１、３４０１  移動量推定装置
６１１  路面画像生成部
６１２  記憶部
６１３  移動方向推定部
６１４  移動量推定部
８０１、９０１、２１１３、２７０２、２７０３、２８０２、３６１４  移動方向
１１１１  入力部
１１１２  変換部
１１１３  照合部
１３０１  路面
１５０１  カメラ
１７０１  カメラ画像
１７０２、２１２１、２１２２、３６２１、３６２２、３６２３  中心
１７０３、１７１１  点
１７２１、１７２２、２４０１  直線
１７１２  交点
２１１１、２１１２、３６１１、３６１２、３６１３  回転中心
２１３１、２１３２、３６３１、３６３２  移動ベクトル
２３０１  ベクトル
２３０２  共通領域
２５０１、２５０２、２６０１、２７０１、２８０１  移動軌跡
２５０３  積算誤差
３４１１  更新部
３４１２  旋回量積算部
３８０１  ＣＰＵ
３８０２  メモリ
３８０３  入力装置
３８０４  出力装置
３８０５  補助記憶装置
３８０６  媒体駆動装置
３８０７  ネットワーク接続装置
３８０８  バス
３８０９  可搬型記録媒体
【図６】
2015088092.tif 000005
【図７】
2015088092.tif 000006
【図１１】
2015088092.tif 000007
【図１２】
2015088092.tif 000008
【図１４】
2015088092.tif 000009
【図１５】
2015088092.tif 000010
【図１６】
2015088092.tif 000011
【図１７】
2015088092.tif 000012
【図２２】
2015088092.tif 000013
【図３４】
2015088092.tif 000014
【図３５】
2015088092.tif 000015
【図３７】
2015088092.tif 000016
【図３８】
2015088092.tif 000017
【図１】
2015088092.tif 000018
【図２】
2015088092.tif 000019
【図３】
2015088092.tif 000020
【図４】
2015088092.tif 000021
【図５】
2015088092.tif 000022
【図８】
2015088092.tif 000023
【図９】
2015088092.tif 000024
【図１０】
2015088092.tif 000025
【図１３】
2015088092.tif 000026
【図１８】
2015088092.tif 000027
【図１９】
2015088092.tif 000028
【図２０】
2015088092.tif 000029
【図２１】
2015088092.tif 000030
【図２３】
2015088092.tif 000031
【図２４】
2015088092.tif 000032
【図２５】
2015088092.tif 000033
【図２６】
2015088092.tif 000034
【図２７】
2015088092.tif 000035
【図２８】
2015088092.tif 000036
【図２９】
2015088092.tif 000037
【図３０】
2015088092.tif 000038
【図３１】
2015088092.tif 000039
【図３２】
2015088092.tif 000040
【図３３】
2015088092.tif 000041
【図３６】
2015088092.tif 000042
【手続補正書】
【提出日】平成26年8月25日(2014.8.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
まず、移動体の移動方向の拘束条件について説明する。図８の移動体２０１は、車両のような後輪軸と前輪軸とを持ち、後輪軸の車輪を駆動輪とし、前輪を操舵輪として走行するものとする。ここで、移動体２０１の走行速度が十分に低速であり、かつ、２時刻の間隔が十分に短い場合を考える。この場合、駆動輪と操舵輪はすべりがなく、転がりによって走行し、２時刻間の移動を円運動で近似することができる。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2015088092.tif 000043