(57)【要約】【課題】路面模様が乏しい場合でも、路面上を移動する移動体から撮像した映像に基づいて移動距離を推定できるようにする。【解決手段】相対移動処理部３１２は、記憶部３１１内の映像情報に含まれる第１の画像と第２の画像とに基づいて、第１の時刻と第２の時刻との間における、移動体の相対移動量を求める。第１のスケール計算部３１３は、映像情報に含まれる第３の画像内の路面領域内の部分画像に基づいて、相対移動量の第１のスケールを求める。第２のスケール計算部３１４は、第１のスケールが求められない場合、路面領域以外の領域内の特徴点に対応する３次元空間内の空間点が路面上に存在するという条件に基づいて、相対移動量の第２のスケールを求める。そして、移動距離計算部３１５は、相対移動量と、第１のスケール又は第２のスケールとに基づいて、第１の時刻と第２の時刻との間における移動体の移動距離を求める。【選択図】図３
2014194361.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載された撮像装置により撮像される映像情報を記憶する記憶部と、
前記映像情報に含まれる第１の画像と第２の画像とに基づいて、前記第１の画像が撮像された第１の時刻と、前記第２の画像が撮像された第２の時刻との間における、前記移動体の相対移動量を求める相対移動処理部と、
前記映像情報に含まれる第３の画像内の路面領域内の部分画像に基づいて、前記相対移動量の第１のスケールを求める第１のスケール計算部と、
前記路面領域内の部分画像に基づいて前記第１のスケールが求められない場合、前記路面領域以外の領域内の特徴点に対応する３次元空間内の空間点が路面上に存在するという条件に基づいて、前記相対移動量の第２のスケールを求める第２のスケール計算部と、
前記相対移動量と、前記第１のスケール又は前記第２のスケールとに基づいて、前記第１の時刻と前記第２の時刻との間における前記移動体の移動距離を求める移動距離計算部と、
を備えることを特徴とする移動距離推定装置。
【請求項２】
前記第２のスケール計算部は、前記路面領域以外の領域内にある複数の特徴点に対応する複数の空間点のうち、前記路面に比較的近い空間点が、前記路面上に存在するという条件に基づいて、前記第２のスケールを求めることを特徴とする請求項１記載の移動距離推定装置。
【請求項３】
前記第２のスケール計算部は、前記映像情報に含まれる複数の画像を用いて、各画像内の前記路面領域以外の領域内にある複数の特徴点に対応する複数の空間点のうち、前記路面に比較的近い空間点が、前記路面上に存在するという条件に基づいて、各画像に対応するスケールを求め、前記複数の画像に対応する複数のスケールのうち最も小さいスケールを、前記第２のスケールに決定することを特徴とする請求項２記載の移動距離推定装置。
【請求項４】
前記第１のスケール計算部は、前記第３の画像から第１の車線区分線を検出し、前記映像情報に含まれる第４の画像から第２の車線区分線を検出し、前記移動体と前記第１の車線区分線の間の距離と、前記移動体と前記第２の車線区分線の間の距離との差分に基づいて、前記第１のスケールを求めることを特徴とする請求項１乃至３のいずれか１項に記載の移動距離推定装置。
【請求項５】
前記移動距離計算部は、前記移動距離と、前記第１の時刻から前記第２の時刻までの移動時間とに基づいて、前記移動体の移動速度を求めることを特徴とする請求項１乃至４のいずれか１項に記載の移動距離推定装置。
【請求項６】
コンピュータによって実行される移動距離推定方法であって、
移動体に搭載された撮像装置により撮像される映像情報を記憶する記憶部を参照し、
前記映像情報に含まれる第１の画像と第２の画像とに基づいて、前記第１の画像が撮像された第１の時刻と、前記第２の画像が撮像された第２の時刻との間における、前記移動体の相対移動量を求め、
前記映像情報に含まれる第３の画像内の路面領域内の部分画像に基づいて、前記相対移動量の第１のスケールを求め、
前記路面領域内の部分画像に基づいて前記第１のスケールが求められない場合、前記路面領域以外の領域内の特徴点に対応する３次元空間内の空間点が路面上に存在するという条件に基づいて、前記相対移動量の第２のスケールを求め、
前記相対移動量と、前記第１のスケール又は前記第２のスケールとに基づいて、前記第１の時刻と前記第２の時刻との間における前記移動体の移動距離を求める
ことを特徴とする移動距離推定方法。
【請求項７】
移動体に搭載された撮像装置により撮像される映像情報を記憶する記憶部を参照し、
前記映像情報に含まれる第１の画像と第２の画像とに基づいて、前記第１の画像が撮像された第１の時刻と、前記第２の画像が撮像された第２の時刻との間における、前記移動体の相対移動量を求め、
前記映像情報に含まれる第３の画像内の路面領域内の部分画像に基づいて、前記相対移動量の第１のスケールを求め、
前記路面領域内の部分画像に基づいて前記第１のスケールが求められない場合、前記路面領域以外の領域内の特徴点に対応する３次元空間内の空間点が路面上に存在するという条件に基づいて、前記相対移動量の第２のスケールを求め、
前記相対移動量と、前記第１のスケール又は前記第２のスケールとに基づいて、前記第１の時刻と前記第２の時刻との間における前記移動体の移動距離を求める
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動距離推定装置、移動距離推定方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、事故証跡の記録等を目的として車両に搭載されるドライブレコーダを活用して、記録された映像や車両挙動データを運転危険分析や状況見える化に利用する事例が増えつつある。運転危険分析では、危険場面の特定や状況解析を行うために、高精度な車速情報を用いて、急減速等のような車両の危険な挙動を詳細に解析することが望ましい。
【０００３】
最近の傾向として、車両への結線作業を必要としない手軽さから、車速パルスに基づく高精度の車速に代わり、Global Positioning System（ＧＰＳ）により取得した車速を記録する簡易型ドライブレコーダが増えている。ＧＰＳにより取得した車速は、記録目的には十分な精度であるが、分析目的には精度が不足しており、車速を分析に活用する際の障壁となっている。そこで、車速パルスやＧＰＳ以外の方法で車速を推定することが望まれる。
【０００４】
車載カメラにより取得した映像から車両の移動距離及び移動速度を推定する方法として、特徴点追跡に基づく推定方法が知られている。この推定方法では、移動する車両に搭載された単眼カメラにより映像が撮影され、各時刻の画像から検出される特徴点群が時系列で追跡される。次に、画像間の特徴点群の対応関係を満たすような、画像間の幾何学的な位置関係を示す並進移動及び回転が運動パラメータとして推定され、並進移動の大きさから移動距離及び移動速度が推定される。
【０００５】
図１は、２つの画像間の運動パラメータを示している。前時刻と現時刻との間の車載カメラの相対的な位置及び姿勢は、前時刻の画像１０２の投影中心１０４に対する現時刻の画像１０３の投影中心１０５の並進移動Ｔ及び回転Ｒにより、記述することができる。このうち、並進移動Ｔが求められれば、前時刻と現時刻の間の移動距離及び移動速度を求めることができる。
【０００６】
さらに、画像１０２から検出された特徴点と画像１０３から検出された特徴点との対応関係と、推定された運動パラメータとを用いて、三角測量により、その特徴点に対応する３次元空間内の空間点の位置を求めることができる。例えば、物体１０１上の空間点Ｑに対応する画像１０２内の特徴点ｐ’iと、空間点Ｑに対応する画像１０３内の特徴点ｐiとが対応することが分かれば、空間点Ｑの３次元座標を求めることができる。
【０００７】
空間点Ｑの３次元座標（Ｘ，Ｙ，Ｚ）は、同次座標｛Ｘ，Ｙ，Ｚ，１｝で表すことができ、画像１０３内の特徴点ｐiの２次元座標（ｕｉ，ｖｉ）は、同次座標｛ｕｉ，ｖｉ，１｝で表すことができる。この場合、｛ｕｉ，ｖｉ，１｝と｛Ｘ，Ｙ，Ｚ，１｝との間には、次式のような関係が成り立つ。
【数１】
2014194361.tif 000003
【０００８】
式（１）は、空間点Ｑの３次元座標系から現時刻の画像座標系への透視投影を表している。式（１）の行列Ａは、車載カメラの内部パラメータに対応し、次式で与えられる。
【数２】
2014194361.tif 000004
【０００９】
式（２）のｕ０及びｖ０は、車載カメラの光軸とｕｖ平面との交点のｕ座標及びｖ座標を表し、αｕ及びαｖは、ｕ軸及びｖ軸の単位長さを表す。
【００１０】
式（１）のＲ１は、空間点Ｑの３次元座標系から現時刻の画像座標系への回転を表し、Ｔ１は、空間点Ｑの３次元座標系から現時刻の画像座標系への並進移動を表す。Ｒ１及びＴ１は、次式で与えられる。
【数３】
2014194361.tif 000005
【００１１】
式（１）の行列［Ｒ１Ｔ１］は、車載カメラの外部パラメータに対応し、式（３．１）のＲ１の要素と式（３．２）のＴ１の要素とを用いて、次式で与えられる。
【数４】
2014194361.tif 000006
【００１２】
式（１）のスケールｓは、３次元座標系から画像座標系への並進移動Ｔ１の定数倍の不定性を表している。言い換えれば、スケールｓは、実世界における距離に対する３次元座標系における距離の比率を表しているとも言える。したがって、何らかのアルゴリズムによりスケールｓの値が特定できれば、図１の相対的な並進移動Ｔの大きさにスケールｓを乗算することで、前時刻と現時刻との間の実際の移動距離を推定することができる。
【００１３】
例えば、路面上を走行する移動体の外界に位置する物体までの距離を計測する距離計測装置が知られている（例えば、特許文献１を参照）。
【００１４】
この距離計測装置は、単眼の画像撮像手段により撮像された、撮像時刻が異なる複数の画像内の特徴点に基づいて、３次元空間における不動点の空間座標を、任意のスケールで暫定的に求める。次に、距離計測装置は、路面上に位置する不動点の空間座標に基づいて、走行中の路面を表す近似平面の平面方程式を求め、その平面方程式に基づいて、空間座標の座標系におけるカメラ視点の近似平面からの高さを求める。そして、距離計測装置は、カメラ視点の近似平面からの高さと、画像撮像手段の路面からの取り付け高さとに基づいて、空間座標のスケールを求め、求めたスケールに基づいて不動点の空間座標を修正する。
【００１５】
距離センサにより計測した撮影対象の距離情報に基づいて補正係数を算出することにより、撮影対象の画像から求めた距離情報を絶対量に換算する３次元情報復元装置も知られている（例えば、特許文献２を参照）。
【００１６】
道路に引かれた白線等の仕切線を認識する仕切線認識装置も知られている（例えば、特許文献３を参照）。
【００１７】
車両前方の走行路の画像から走行車線の両側のレーンマーカーを検出し、レーンマーカーの位置情報から、車両の横変位を含む走行路モデルパラメータを算出する走行路検出装置も知られている（例えば、特許文献４を参照）。
【００１８】
特徴点フローモデルによる３次元環境生成方法も知られている（例えば、非特許文献１を参照）。この３次元環境生成方法では、異なる観測点間の計測結果を合成する際に、隣り合った観測点間で同じ特徴点が計測されることを利用して、その３次元座標の誤差の二乗和を最小にするようにスケールが合わせられる。
【００１９】
画像から幾何学的なモデルのパラメータを推定する問題において、高い推定精度の達成を目指して、非線形最適化を数値的に実行するバンドルアジャストメントも知られている（例えば、非特許文献２を参照）。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２００６−３４９６０７号公報
【特許文献２】特開２００６−３３７０７５号公報
【特許文献３】特開２００２−２３６９１２号公報
【特許文献４】特開２００２−３５２２２６号公報
【非特許文献】
【００２１】
【非特許文献１】川西亮輔、山下淳、金子透、“全方位カメラを用いた特徴点フローモデルによる３次元環境モデル生成”、ＭＩＲＵ２００９、２００９年７月
【非特許文献２】岡谷貴之、“バンドルアジャストメント”、情報処理学会研究報告、２００９年
【発明の概要】
【発明が解決しようとする課題】
【００２２】
上述した従来の移動距離推定方法には、以下のような問題がある。
車両の走行環境においては、路面上に、横断歩道の縞の角、破線の角、速度表示の数字の角のように、車両の前後方向の移動を判別可能な路面模様が存在する場合がある。この場合、特許文献１の距離計測装置において、映像中の路面模様の特徴点を不動点として利用することで、スケールｓを計算することができる。
【００２３】
しかし、実際のドライブレコーダの映像では、路面領域内に特徴点となる模様が乏しく、路地等のように、路面模様がまったく存在しない走行環境もあり得る。このような場合、路面模様の特徴点を利用して近似平面の平面方程式を求めることが難しく、その結果、スケールｓを計算することが難しくなる。
【００２４】
一方、特許文献２の３次元情報復元装置のように、距離センサにより計測した撮影対象の距離情報に基づいて補正係数を求めれば、路面模様が乏しい場合でもスケールｓを計算することが可能になる。しかし、この場合、単眼カメラの他に距離センサが車両に搭載されていることが前提となる。
【００２５】
そこで、路面模様が乏しい走行環境においても、車載カメラの映像から車両の移動距離を推定できる技術が望まれる。なお、かかる問題は、路面上を走行する車両に限らず、路面上を移動する他の移動体においても生ずるものである。
【００２６】
１つの側面において、本発明の目的は、路面模様が乏しい場合でも、路面上を移動する移動体から撮像した映像に基づいて移動距離を推定できるようにすることである。
【課題を解決するための手段】
【００２７】
１つの案では、移動距離推定装置は、記憶部、相対移動処理部、第１のスケール計算部、第２のスケール計算部、及び移動距離計算部を含む。
【００２８】
記憶部は、移動体に搭載された撮像装置により撮像される映像情報を記憶する。相対移動処理部は、映像情報に含まれる第１の画像と第２の画像とに基づいて、第１の画像が撮像された第１の時刻と、第２の画像が撮像された第２の時刻との間における、移動体の相対移動量を求める。
【００２９】
第１のスケール計算部は、映像情報に含まれる第３の画像内の路面領域内の部分画像に基づいて、相対移動量の第１のスケールを求める。第２のスケール計算部は、第１のスケールが求められない場合、路面領域以外の領域内の特徴点に対応する３次元空間内の空間点が路面上に存在するという条件に基づいて、相対移動量の第２のスケールを求める。
【００３０】
移動距離計算部は、相対移動量と、第１のスケール又は第２のスケールとに基づいて、第１の時刻と第２の時刻との間における移動体の移動距離を求める。
【発明の効果】
【００３１】
実施形態の移動距離推定装置によれば、路面模様が乏しい場合でも、路面上を移動する移動体から撮像した映像に基づいて移動距離を推定することができる。
【図面の簡単な説明】
【００３２】
【図１】２つの画像間の運動パラメータを示す図である。
【図２】路面模様が乏しい走行環境を示す図である。
【図３】移動距離推定装置の第１の機能的構成図である。
【図４】第１の移動距離推定処理のフローチャートである。
【図５】移動距離推定装置の第２の機能的構成図である。
【図６】カメラ座標系、画像座標系、及び世界座標系を示す図である。
【図７】相対的な移動関係を示す図である。
【図８】車両と車線区分線との距離の変化を示す図である。
【図９】３つの空間点の位置と仮のスケールとの関係を示す図である。
【図１０】基準空間点が路面上にある画像を示す図である。
【図１１】基準空間点が路面より高い位置にある画像を示す図である。
【図１２】時刻に応じたスケールの変化を示す図である。
【図１３】第２の移動距離推定処理のフローチャートである。
【図１４】相対移動処理のフローチャートである。
【図１５】スケール計算処理のフローチャートである。
【図１６】路面領域内の特徴点に基づくスケール計算処理のフローチャートである。
【図１７】路面領域内の車線区分線に基づくスケール計算処理のフローチャートである。
【図１８】路面領域以外の特徴点に基づくスケール計算処理のフローチャートである。
【図１９】移動距離推定装置の第３の機能的構成図である。
【図２０】情報処理装置の構成図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照しながら、実施形態を詳細に説明する。
車両の走行環境においては、路面上に、横断歩道の縞の角、破線の角、速度表示の数字の角のように、車両の前後方向の移動を判別可能な路面模様が存在する場合がある。この場合、特許文献１の距離計測装置において、映像中の路面模様の特徴点を不動点として利用することで、スケールｓを計算することができる。
【００３４】
しかし、実際のドライブレコーダの映像では、路面領域内に特徴点となる模様が乏しく、路地等のように、路面模様がまったく存在しない走行環境もあり得る。例えば、図２のような画像において、背景領域２０１からは、白丸で示す多数の特徴点が検出されるが、路面領域２０２からは少数の特徴点しか検出されない。このような場合、路面模様の特徴点を利用して近似平面の平面方程式を求めることが難しく、その結果、スケールｓを計算することが難しくなる。
【００３５】
一方、特許文献２の３次元情報復元装置のように、距離センサにより計測した撮影対象の距離情報に基づいて補正係数を求めれば、路面模様が乏しい場合でもスケールｓを計算することが可能になる。しかし、この場合、単眼カメラの他に距離センサが車両に搭載されていることが前提となる。
【００３６】
そこで、路面模様が乏しい走行環境においても、車載カメラの映像から車両の移動距離を推定できる技術が望まれる。なお、かかる問題は、路面上を走行する車両に限らず、路面上を移動する他の移動体においても生ずるものである。
【００３７】
発明者らは、路面上で移動体が前後方向に移動したことを判別するのに十分な路面模様が存在しない場合であっても、映像中の他の特徴を利用してスケールｓを求めることができることに気付いた。路面模様以外の特徴としては、例えば、路面領域以外の領域に存在する物体の特徴点を利用することができる。
【００３８】
図３は、移動距離推定装置の第１の機能的構成例を示している。図３の移動距離推定装置３０１は、記憶部３１１、相対移動処理部３１２、第１のスケール計算部３１３、第２のスケール計算部３１４、及び移動距離計算部３１５を含む。
【００３９】
記憶部３１１は、移動体に搭載された撮像装置により撮像される映像情報を記憶する。移動体には、車両、自動二輪車、自転車、自走式ロボット等のように、路面上を移動する物体が含まれる。路面上を移動する物体は、動物であってもよい。撮像装置としては、例えば、単眼カメラが用いられる。
【００４０】
相対移動処理部３１２、第１のスケール計算部３１３、及び第２のスケール計算部３１４は、記憶部３１１に記憶されている映像情報を用いて、実施形態に係る処理を実行する機能的なユニットである。移動距離計算部３１５は、相対移動処理部３１２、第１のスケール計算部３１３、及び第２のスケール計算部３１４の処理結果を用いて、移動体の移動距離を求める機能的なユニットである。
【００４１】
図４は、図３の移動距離推定装置３０１によって実行される移動距離推定処理の例を示すフローチャートである。
まず、相対移動処理部３１２は、記憶部３１１に記憶されている映像情報を参照し、映像情報に含まれる第１の画像と第２の画像とに基づいて、第１の時刻と第２の時刻との間における、移動体の相対移動量を求める（ステップ４０１）。第１の時刻は、第１の画像が撮像された時刻であり、第２の時刻は、第２の画像が撮像された時刻である。
【００４２】
次に、第１のスケール計算部３１３は、記憶部３１１に記憶されている映像情報を参照し、映像情報に含まれる第３の画像内の路面領域内の部分画像に基づいて、相対移動量の第１のスケールを求める（ステップ４０２）。第２のスケール計算部３１４は、第１のスケールが求められない場合、記憶部３１１に記憶されている映像情報を参照し、所定の条件に基づいて、相対移動量の第２のスケールを求める。この所定の条件は、路面領域以外の領域内の特徴点に対応する３次元空間内の空間点が路面上に存在するという条件である。
【００４３】
そして、移動距離計算部３１５は、相対移動量と、第１のスケール又は第２のスケールとに基づいて、第１の時刻と第２の時刻との間における移動体の移動距離を求める（ステップ４０３）。
【００４４】
このような移動距離推定処理によれば、路面模様が乏しい場合でも、路面上を移動する移動体から撮像した映像に基づいて移動距離を推定することができる。
【００４５】
図５は、移動距離推定装置の第２の機能的構成例を示している。図５の移動距離推定装置３０１において、相対移動処理部３１２は、特徴点検出部５０１、運動推定部５０２、空間推定部５０３、及びスケール合成部５０４を含む。また、第１のスケール計算部３１３は、路面模様スケール計算部５１１及び区分線スケール計算部５１２を含む。
【００４６】
記憶部３１１に記憶されている映像情報は、例えば、車載カメラにより撮像された車両周囲の時系列の画像データであり、各画像には、その画像が撮像された時刻情報が対応付けられている。
【００４７】
図６は、車載カメラのカメラ座標系、画像座標系、及び３次元空間の世界座標系の例を示している。図６のカメラ座標系ＸｃＹｃＺｃの原点は、車両６０１に搭載された車載カメラ６０２の焦点位置にあり、Ｚｃ軸は、車載カメラ６０２の光軸上にあり、Ｘｃ軸及びＹｃ軸は、光軸に垂直な平面上にある。
【００４８】
車載カメラ６０２のカメラ画像６０４上の画像座標系ｕｖにおいて、ｕ軸は、カメラ画像６０４の水平方向の座標軸であり、ｖ軸は、カメラ画像６０４の垂直方向の座標軸である。
【００４９】
一方、３次元空間の世界座標系ＸｗＹｗＺｗは、空間点の３次元座標（世界座標）を記述するための座標系であり、その原点は、車両６０１直下の路面６０３上にある。Ｘｗ軸は、車両６０１の左右方向の座標軸であり、Ｙｗ軸は、路面６０３に垂直な方向の座標軸であり、Ｚｗ軸は、車両６０１の前後方向の座標軸である。この場合、ＸｗＺｗ平面は、路面６０３と平行な平面である。
【００５０】
図６のカメラ座標系ＸｃＹｃＺｃ、画像座標系ｕｖ、及び世界座標系ＸｗＹｗＺｗの定義は一例に過ぎず、これらと異なる位置及び姿勢の座標系を用いてもよい。
【００５１】
まず、相対移動処理部３１２が行う処理について説明する。相対移動処理部３１２の特徴点検出部５０１は、映像情報の各時刻の画像と、それより所定時間だけ前の時刻の画像とを用いて、２つの画像間で特徴点群を検出し、特徴点群を時系列で追跡する。
【００５２】
運動推定部５０２は、検出された特徴点群のオプティカルフローから、２つの画像間の特徴点群の対応関係を満たすような、画像間の運動パラメータとして、相対的な並進移動Ｔ及び回転Ｒを求める。相対的な並進移動Ｔの大きさは、２つの画像が撮像された２つの時刻の間における車両６０１の相対移動量を表す。
【００５３】
空間推定部５０３は、２つの時刻で撮像された２つの画像間の特徴点群の対応関係と、画像間の運動パラメータとを用いて、各特徴点に対応する空間点の世界座標を求める。このとき、空間推定部５０３は、三角測量により、それぞれの時刻における車載カメラ６０２の位置から各特徴点へ向かう光線ベクトルの交点の世界座標を、その特徴点に対応する空間点の世界座標として求める。
【００５４】
この段階では、式（１）のスケールｓとして、適当な値の仮のスケールが用いられる。例えば、２つの時刻における車載カメラ６０２の位置の距離を１として、仮のスケールを決定することができる。
【００５５】
スケール合成部５０４は、複数の異なる画像の組から求められた空間点を統合して、同じ空間点の複数の世界座標を一致させるために、それぞれの画像の組に対して決定された仮のスケールを合成する。このとき、スケール合成部５０４は、例えば、非特許文献１の３次元環境生成方法に基づいて、空間点の世界座標の誤差の二乗和を最小にするように、複数の仮のスケールを合わせることができる。
【００５６】
例えば、図７に示すように、車載カメラ６０２が位置７１１から位置７１５まで移動しながら、空間点７０１を撮像した場合、位置７１１及び位置７１２において撮像された画像の組に対して、１つの仮のスケールが決定される。
【００５７】
同様に、位置７１２及び位置７１３において撮像された画像の組に対して、１つの仮のスケールが決定され、位置７１３及び位置７１４において撮像された画像の組に対して、１つの仮のスケールが決定される。さらに、位置７１４及び位置７１５において撮像された画像の組に対して、１つの仮のスケールが決定される。これらの仮のスケールを合わせることにより、位置７１１から位置７１５までの相対的な移動関係を決定することができる。
【００５８】
図７の例では、位置７１１から位置７１２までの区間の移動距離を１とした場合、位置７１２から位置７１３までの区間の移動距離は０．１である。同様に、位置７１３から位置７１４までの区間の移動距離は０．２、位置７１４から位置７１５までの区間の移動距離は０．３である。したがって、位置７１１から位置７１５までの全区間の移動距離は、位置７１１から位置７１２までの区間の移動距離の１．６倍となる。
【００５９】
仮のスケールを合わせる際に発生する累積誤差を低減するには、例えば、非特許文献２のバンドルアジャストメントを用いることができる。
【００６０】
次に、第１のスケール計算部３１３が行う処理について説明する。第１のスケール計算部３１３の路面模様スケール計算部５１１は、各時刻の画像内に路面領域を設定し、路面領域の部分画像を特定する。そして、路面模様スケール計算部５１１は、路面領域の部分画像内に存在する路面模様の特徴点の移動に基づいて、式（１）のスケールｓを計算する。
【００６１】
このとき、路面模様スケール計算部５１１は、例えば、特許文献１の方法を用いてスケールｓを計算することができる。まず、路面模様スケール計算部５１１は、路面模様の特徴点に対応する空間点の世界座標に基づき、路面６０３を表す近似平面の平面方程式（路面方程式）を求める。次に、路面模様スケール計算部５１１は、路面方程式に基づいて、世界座標系における車載カメラ６０２のカメラ視点の近似平面からの高さを求める。そして、路面模様スケール計算部５１１は、カメラ視点の近似平面からの高さと、車載カメラ６０２の路面６０３からの取り付け高さとに基づいて、スケールｓを計算する。
【００６２】
しかし、路面模様が乏しくて、路面領域内に十分な数の特徴点が存在しない場合、路面模様の特徴点に基づいてスケールｓを計算できないことがある。このような場合、区分線スケール計算部５１２は、路面領域内の部分画像から白線等の車線区分線を検出し、車両６０１と車線区分線との距離の変化に基づいてスケールｓを計算する。
【００６３】
車線区分線も路面模様の一種であるが、車線区分線が車両の進行方向に連続的に伸びている場合、車線区分線の画像から特徴点を検出することは難しい。この場合、例えば、特許文献３の方法を用いることで、路面領域内の部分画像から車線区分線を検出することができる。そして、例えば、特許文献４の方法を用いることで、検出された車線区分線の位置情報から路面６０３のモデルパラメータを計算し、モデルパラメータを用いて、実世界における車両６０１と車線区分線との距離を求めることができる。
【００６４】
図８は、車両６０１と車線区分線との距離の変化の例を示している。図８の路面６０３上には、車両６０１が走行する車線の左右に、車線区分線８０１及び車線区分線８０２がそれぞれ設けられている。以下では、車線区分線８０１を用いてスケールｓを計算する方法を説明する。
【００６５】
時刻ｔｊ（ｊ＝１〜ｎ）の画像から得られる、車両６０１と車線区分線８０１との左右方向（横方向）の距離をｅｊとすると、時刻ｔ１から時刻ｔｎまでの間の距離の変化量△ｅは、次式で与えられる。
△ｅ＝｜ｅｎ−ｅ１｜      （４）
【００６６】
ただし、ｎは、２以上の整数である。式（４）の変化量Δｅが閾値ｔｈ以上であれば、次式によりスケールｓを計算することができる。
ｓ＝△ｅ／ΔＹｃ      （５）
【００６７】
式（５）のΔＹｃは、カメラ座標系ＸｃＹｃＺｃにおける、時刻ｔ１から時刻ｔｎまでの車両６０１の並進移動のＹｃ成分を表す。例えば、時刻ｔ１から時刻ｔ２までの車両６０１の並進移動のＹｃ成分及びＺｃ成分は、Ｙｃ１及びＺｃ１である。時刻ｔ１から時刻ｔ２までの間の距離の変化量△ｅは、次式で与えられる。
△ｅ＝｜ｅ２−ｅ１｜      （６）
【００６８】
式（６）の変化量Δｅが閾値ｔｈ以上であれば、変化量△ｅと並進移動のＹｃ成分Ｙｃ１とを用いて、次式によりスケールｓが計算される。
ｓ＝△ｅ／Ｙｃ１      （７）
同様にして、車線区分線８０２を用いてスケールｓを計算することも可能である。
【００６９】
車線区分線が検出されないか、又は、車線区分線が検出されても式（４）の変化量△ｅが閾値ｔｈ以上にならない場合は、第２のスケール計算部３１４によりスケールｓが計算される。
【００７０】
第２のスケール計算部３１４は、仮のスケールを変化させて、路面領域以外の領域内の特徴点に対応する空間点のうち、路面６０３に比較的近い空間点が路面６０３と接するときの仮のスケールを、スケールｓとして求める。例えば、路面６０３に最も近い空間点が路面６０３と接するときのスケールｓを求めることで、最適なスケールｓを決定することができる。
【００７１】
ここで、仮のスケールを変化させることは、車載カメラ６０２のカメラ視点を原点として、空間点の相対的な位置関係を保持したまま、空間点の位置を仮のスケールの変化に合わせて拡大又は縮小移動させることに相当する。仮のスケールを増加させると、空間点はカメラ視点から遠ざかり、仮のスケールを減少させると、空間点はカメラ視点に近づく。
【００７２】
図９は、３次元空間における３つの空間点の位置と仮のスケールとの関係を示している。車載カメラ６０２は、路面６０３から高さｈの位置に取り付けられており、路面領域以外の領域内の特徴点に対応する空間点の集合として、３つの空間点が得られたとする。仮のスケールを変化させる前の３つの空間点は、位置９０１〜位置９０３にある。例えば、仮のスケールを過剰に大きくすると、３つの空間点が位置９２１〜位置９２３に移動し、位置９２２及び位置９２３は、高さｈから定まる路面６０３の位置よりも低くなる。したがって、現実的に起こり得ない状況となる。
【００７３】
いずれかの空間点が路面６０３の下に移動しないようにするためには、空間点集合に含まれる最下端の空間点を基準空間点として、基準空間点が路面６０３上の位置９１３に移動するように、仮のスケールを変化させることが望ましい。このとき、３つの空間点は位置９１１〜位置９１３に移動する。
【００７４】
図１０は、基準空間点が路面６０３上にある画像の例を示している。図１０の３つの空間点のうち最下端の空間点は、路面６０３と建物が接する位置にあるため、この空間点を路面６０３上の位置１００３に移動させることで、正しいスケールｓが求められる。このとき、３つの空間点は位置１００１〜位置１００３に移動する。
【００７５】
一方、図１１は、基準空間点が路面６０３より高い位置にある画像の例を示している。図１１の３つの空間点のうち最下端の空間点は、路面６０３から高さａの位置にあるため、この空間点を路面６０３上の位置１１１３に移動させると、スケールｓは正しい値より大きくなる。このとき、３つの空間点は位置１１０１〜位置１１０３から位置１１１１〜位置１１１３に移動する。
【００７６】
このように、各時刻の画像から個別に求めたスケールｓの値は、その画像に含まれる特徴点に対応する空間点が路面６０３上にあるか否かに依存して変化する。このため、必ずしも全時刻で正しいスケールｓが得られるとは限らない。ただし、ある程度の走行時間に渡って映像を撮像すれば、いずれかの時刻において基準空間点が路面６０３と接する画像が得られるものと考えられる。また、基準空間点が路面６０３より高い位置にある画像から求めたスケールｓは、必ず正しい値より大きな値をとるものと考えられる。
【００７７】
発明者らは、これらの点に着目して、映像情報に含まれる複数の時刻の複数の画像から求めた複数のスケールｓのうち、比較的小さな値を選択することで、正しいスケールｓに近い値を求めることができることに気付いた。特に、複数のスケールｓのうち最小値を選択することができれば、正しいスケールｓに最も近い値が得られるものと考えられる。
【００７８】
図１２は、走行時間中の各画像が撮像された時刻に応じたスケールｓの変化の例を示している。例えば、時刻ｔＢでは、図１１に示したように、基準空間点が路面６０３より高い位置にあるため、誤ったスケールｓＢが得られる。しかし、その後の時刻ｔＡにおいて、図１０に示したように、基準空間点が路面６０３と接する画像が撮像され、正しいスケールｓＡが得られる。スケールｓＡは、走行時間中の各時刻の画像から得られたスケールｓの最小値に対応するため、この最小値を選択すれば、正しいスケールｓＡを求めることができる。
【００７９】
空間点Ｑが画像内の特徴点ｐiの位置に映ったとすると、スケールｓは、式（１）の関係を満たす。第２のスケール計算部３１４は、空間推定部５０３と同様に、式（１）に基づいて、各時刻の画像に含まれる特徴点に対応する空間点の世界座標及び仮のスケールを求め、最下端の空間点を基準空間点として選択する。例えば、図６の世界座標系ＸｗＹｗＺｗを空間点の３次元座標系として用いた場合、Ｙｗ座標が最も小さい空間点が基準空間点として選択される。
【００８０】
次に、第２のスケール計算部３１４は、基準空間点の仮のスケールを変化させて、基準空間点が路面６０３と接するときのスケールｓを求める。そして、第２のスケール計算部３１４は、各時刻の画像から得られたスケールｓの最小値を、最適なスケールｓとして選択する。
【００８１】
移動距離計算部３１５は、路面模様スケール計算部５１１、区分線スケール計算部５１２、又は第２のスケール計算部３１４のいずれかによりスケールｓが決定された時点で、所望の２つの時刻の間における車両６０１の移動距離Ｄを計算する。
【００８２】
このとき、移動距離計算部３１５は、運動推定部５０２が求めた２つの画像の間の相対的な並進移動Ｔの大きさにスケールｓを乗算することで、それらの画像が撮像された２つの時刻の間における車両６０１の移動距離ｄを求めることができる。さらに、移動距離計算部３１５は、スケール合成部５０４が決定した相対的な移動関係に基づいて、移動距離ｄに複数区間に渡る移動距離の比率を乗算することで、所望の２つの時刻の間における移動距離Ｄを求めることができる。
【００８３】
次に、移動距離計算部３１５は、移動距離Ｄと、２つの時刻の差分である移動時間Δｔとを用いて、次式により移動速度Ｖを計算する。
Ｖ＝Ｄ／Δｔ      （８）
【００８４】
そして、移動距離計算部３１５は、移動距離Ｄ又は移動速度Ｖのうち少なくとも一方を推定結果として出力する。移動距離計算部３１５が移動距離Ｄのみを推定結果として出力する場合は、移動速度Ｖの計算は省略される。
【００８５】
例えば、処理対象の走行範囲が、図７の位置７１１から位置７１５までの全区間に対応する場合、相対的な並進移動Ｔの大きさを｜Ｔ｜（ｍ）、スケールｓを０．３とすると、移動距離Ｄは１．６×０．３×｜Ｔ｜（ｍ）となる。さらに、位置７１１から位置７１５までの移動時間Δｔを０．４（秒）とすると、移動速度Ｖは（１．６×０．３×｜Ｔ｜）／０．４（ｍ／ｓ）となる。
【００８６】
次に、図１３から図１８までを参照しながら、図５の移動距離推定装置３０１による移動距離推定処理の手順について説明する。
図１３は、移動距離推定処理の例を示すフローチャートである。まず、相対移動処理部３１２は、相対移動処理を行い（ステップ１３０１）、第１のスケール計算部３１３又は第２のスケール計算部３１４は、スケールｓを計算する（ステップ１３０２）。そして、移動距離計算部３１５は、移動距離Ｄ及び移動速度Ｖを計算し、計算結果を出力する（ステップ１３０３）。
【００８７】
図１４は、図１３のステップ１３０１における相対移動処理の例を示すフローチャートである。まず、相対移動処理部３１２は、記憶部３１１に記憶されている映像情報から、処理対象の時間範囲の開始時刻の画像と、それより所定時間後の時刻の画像とを取得する（ステップ１４０１）。
【００８８】
次に、特徴点検出部５０１は、取得された２つの画像間で特徴点群を検出し（ステップ１４０２）、運動推定部５０２は、検出された特徴点群のオプティカルフローから、２つの画像間の運動パラメータを求める（ステップ１４０３）。
【００８９】
次に、空間推定部５０３は、２つの画像間で対応している２つの特徴点と、画像間の運動パラメータと、仮のスケールとを用いて、特徴点に対応する空間点の世界座標を求める（ステップ１４０４）。そして、スケール合成部５０４は、複数の異なる画像の組のそれぞれに対して決定された複数の仮のスケールを合わせる（ステップ１４０５）。ただし、処理済みの画像の組が１組のみで、仮のスケールが１つしか存在しない場合は、ステップ１４０５の処理は省略される。
【００９０】
次に、相対移動処理部３１２は、処理対象の時間範囲の終了時刻の画像を取得したか否かをチェックし（ステップ１４０６）、終了時刻の画像を取得していない場合（ステップ１４０６，ＮＯ）、次の所定時間後の時刻の画像を取得する（ステップ１４０１）。そして、相対移動処理部３１２は、前回までに取得した最後の画像と今回取得した画像とを、新たな画像の組として用いて、ステップ１４０２以降の処理を繰り返す。
【００９１】
前回までに取得した最後の画像が終了時刻の画像である場合（ステップ１４０６，ＹＥＳ）、相対移動処理部３１２は、処理を終了する。
【００９２】
図１５は、図１３のステップ１３０２において、第１のスケール計算部３１３及び第２のスケール計算部３１４が行うスケール計算処理の例を示すフローチャートである。まず、路面模様スケール計算部５１１は、処理対象の時間範囲の画像を用いて、路面領域内に存在する路面模様の特徴点に基づいて、スケールｓを計算する（ステップ１５０１）。そして、路面模様スケール計算部５１１は、スケールｓを求めることができたか否かをチェックし（ステップ１５０２）、スケールｓを求めることができた場合（ステップ１５０２，ＹＥＳ）、処理を終了する。
【００９３】
一方、スケールｓを求めることができなかった場合（ステップ１５０２，ＮＯ）、区分線スケール計算部５１２は、路面領域内に存在する車線区分線に基づいて、スケールｓを計算する（ステップ１５０３）。そして、区分線スケール計算部５１２は、スケールｓを求めることができたか否かをチェックし（ステップ１５０４）、スケールｓを求めることができた場合（ステップ１５０４，ＹＥＳ）、処理を終了する。
【００９４】
一方、スケールｓを求めることができなかった場合（ステップ１５０４，ＮＯ）、第２のスケール計算部３１４は、路面領域以外の領域内の特徴点に基づいて、スケールｓを計算する（ステップ１５０５）。
【００９５】
図１６は、図１５のステップ１５０１において路面模様スケール計算部５１１が行うスケール計算処理の例を示すフローチャートである。まず、路面模様スケール計算部５１１は、記憶部３１１に記憶されている映像情報から、処理対象の時間範囲の開始時刻の画像を取得する（ステップ１６０１）。
【００９６】
次に、路面模様スケール計算部５１１は、処理対象の時間範囲の終了時刻の画像を取得したか否かをチェックする（ステップ１６０２）。終了時刻の画像を取得していない場合（ステップ１６０２，ＮＯ）、路面模様スケール計算部５１１は、取得した画像内の路面領域から特徴点を検出する（ステップ１６０３）。
【００９７】
路面方程式を生成するためには、路面領域内から３つ以上の特徴点を検出することが望ましい。そこで、路面模様スケール計算部５１１は、路面領域内から３つ以上の特徴点が検出されたか否かをチェックする（ステップ１６０４）。
【００９８】
３つ以上の特徴点が検出された場合（ステップ１６０４，ＹＥＳ）、路面模様スケール計算部５１１は、それらの特徴点に対応する空間点の世界座標に基づき、路面６０３を表す路面方程式を求める（ステップ１６０５）。
【００９９】
次に、路面模様スケール計算部５１１は、路面方程式に基づいて、世界座標系における車載カメラ６０２のカメラ視点の近似平面からの高さを求める（ステップ１６０６）。そして、路面模様スケール計算部５１１は、カメラ視点の近似平面からの高さを、車載カメラ６０２の路面６０３からの取り付け高さで除算することで、スケールｓを計算する。
【０１００】
例えば、カメラ視点の近似平面からの高さが０．４２（ｍ）、車載カメラ６０２の取り付け高さが１．４（ｍ）の場合、スケールｓは０．３となる。
【０１０１】
一方、３つ以上の特徴点が検出されなかった場合（ステップ１６０４，ＮＯ）、路面模様スケール計算部５１１は、次の時刻の画像を取得して（ステップ１６０１）、ステップ１６０２以降の処理を繰り返す。そして、前回取得した画像が終了時刻の画像である場合（ステップ１６０２，ＹＥＳ）、路面模様スケール計算部５１１は、処理を終了する。この場合、スケールｓを求めることができなかったため、ステップ１５０３の処理が行われる。
【０１０２】
図１７は、図１５のステップ１５０３において区分線スケール計算部５１２が行うスケール計算処理の例を示すフローチャートである。まず、区分線スケール計算部５１２は、記憶部３１１に記憶されている映像情報から、処理対象の時間範囲の開始時刻の画像を取得する（ステップ１７０１）。
【０１０３】
次に、区分線スケール計算部５１２は、処理対象の時間範囲の終了時刻の画像を取得したか否かをチェックする（ステップ１７０２）。終了時刻の画像を取得していない場合（ステップ１７０２，ＮＯ）、区分線スケール計算部５１２は、取得した画像内の路面領域内の部分画像から、車線区分線を検出する（ステップ１７０３）。
【０１０４】
次に、区分線スケール計算部５１２は、路面領域内の部分画像から車線区分線が検出されたか否かをチェックする（ステップ１７０４）。車線区分線が検出されなかった場合（ステップ１７０４，ＮＯ）、区分線スケール計算部５１２は、次の時刻の画像を取得して（ステップ１７０１）、ステップ１７０２以降の処理を繰り返す。
【０１０５】
一方、車線区分線が検出された場合（ステップ１７０４，ＹＥＳ）、区分線スケール計算部５１２は、車両６０１と車線区分線との横方向の基準距離ｅｐが決まっているか否かをチェックする（ステップ１７０５）。基準距離ｅｐは、ある画像から最初に検出された車線区分線に基づいて決められる。このため、基準距離ｅｐは、ある画像から最初に車線区分線が検出された時点では未だ決まっておらず、その次の時刻以降の画像から車線区分線が検出された時点では既に決まっている。
【０１０６】
基準距離ｅｐが決まっていない場合（ステップ１７０５，ＮＯ）、区分線スケール計算部５１２は、検出された車線区分線に基づいて、車両６０１と車線区分線との横方向の距離ｅを求め、それを基準距離ｅｐに決定する（ステップ１７０９）。そして、区分線スケール計算部５１２は、次の時刻の画像を取得して（ステップ１７０１）、ステップ１７０２以降の処理を繰り返す。
【０１０７】
一方、基準距離ｅｐが決まっている場合（ステップ１７０５，ＹＥＳ）、区分線スケール計算部５１２は、検出された車線区分線に基づいて、車両６０１と車線区分線との横方向の距離ｅを求め、変化量△ｅを次式により求める（ステップ１７０６）。
△ｅ＝｜ｅ−ｅｐ｜      （９）
【０１０８】
次に、区分線スケール計算部５１２は、変化量Δｅを閾値ｔｈと比較し（ステップ１７０７）、変化量Δｅがｔｈ未満である場合（ステップ１７０７，ＮＯ）、次の時刻の画像を取得して（ステップ１７０１）、ステップ１７０２以降の処理を繰り返す。
【０１０９】
一方、変化量Δｅがｔｈ以上である場合（ステップ１７０７，ＹＥＳ）、変化量△ｅと、車両６０１の並進移動の横方向の成分ΔＹｃとを用いて、式（５）によりスケールｓを計算する（ステップ１７０８）。ただし、ΔＹｃは、基準距離ｅｐの決定に用いた画像の時刻から最後に取得した画像の時刻までの間における、車両６０１の並進移動のＹｃ成分である。
【０１１０】
例えば、△ｅ＝０．５４（ｍｍ）、Ｘｃ１＝１．８（ｍｍ）、ｔｈ＝０．５（ｍｍ）の場合、スケールｓは０．３となる。
【０１１１】
なお、前回取得した画像が終了時刻の画像である場合（ステップ１７０２，ＹＥＳ）、区分線スケール計算部５１２は、処理を終了する。この場合、スケールｓを求めることができなかったため、ステップ１５０５の処理が行われる。
【０１１２】
図１８は、図１５のステップ１５０５において第２のスケール計算部３１４が行うスケール計算処理の例を示すフローチャートである。まず、第２のスケール計算部３１４は、記憶部３１１に記憶されている映像情報から、処理対象の時間範囲の開始時刻の画像を取得する（ステップ１８０１）。
【０１１３】
次に、第２のスケール計算部３１４は、図１４のステップ１４０４と同様にして、取得した画像に含まれる特徴点に対応する空間点の世界座標を計算する（ステップ１８０２）。そして、第２のスケール計算部３１４は、制御変数ｋの値を１に設定し、制御変数Ｎの値を、得られた空間点の個数に設定する（ステップ１８０３）。
【０１１４】
次に、第２のスケール計算部３１４は、１番目〜ｋ番目の空間点のうち、Ｙｗ座標が比較的小さい空間点、つまり、路面６０３に比較的近い空間点を、基準空間点に決定する（ステップ１８０４）。基準空間点としては、１番目〜ｋ番目の空間点のうち、例えば、Ｙｗ座標が最も小さい空間点、つまり、路面６０３に最も近い空間点を選択することができる。なお、ｋ＝１の場合は、１番目の空間点が基準空間点に決定される。
【０１１５】
次に、第２のスケール計算部３１４は、ｋをＮと比較し（ステップ１８０５）、ｋがＮ未満である場合（ステップ１８０５，ＹＥＳ）、ｋを１だけインクリメントして（ステップ１８０９）、ステップ１８０４以降の処理を繰り返す。
【０１１６】
一方、ｋがＮに達している場合（ステップ１８０５，ＮＯ）、第２のスケール計算部３１４は、基準空間点の仮のスケールを変化させて、基準空間点が路面６０３と接するときのスケールｓを計算する（ステップ１８０６）。
【０１１７】
次に、第２のスケール計算部３１４は、処理対象の時間範囲の終了時刻の画像を取得したか否かをチェックする（ステップ１８０７）。終了時刻の画像を取得していない場合（ステップ１８０７，ＮＯ）、第２のスケール計算部３１４は、次の時刻の画像を取得して（ステップ１８０１）、ステップ１８０２以降の処理を繰り返す。
【０１１８】
一方、前回取得した画像が終了時刻の画像である場合（ステップ１８０７，ＹＥＳ）、第２のスケール計算部３１４は、複数の時刻の複数の画像から求めた複数のスケールｓのうち、比較的小さな値を最適なスケールｓとして選択する（ステップ１８０８）。最適なスケールｓとしては、例えば、複数のスケールｓの最小値を選択することができる。
【０１１９】
例えば、ある画像から計算されたスケールｓが１．６であり、別の画像から計算されたスケールｓが０．３である場合、最適なスケールｓは０．３に決定される。
【０１２０】
図１９は、移動距離推定装置の第３の機能的構成例を示している。図１９の移動距離推定装置３０１は、図５の移動距離推定装置３０１に受信部１９１１を追加した構成を有する。
【０１２１】
受信部１９１１は、映像記録装置１９０１から通信ネットワーク１９０２を介して映像情報を受信し、受信した映像情報を記憶部３１１へ転送する。移動距離推定装置３０１は、記憶部３１１に記憶された映像情報を用いて、移動距離推定処理を行う。
【０１２２】
図１９の移動距離推定装置３０１によれば、例えば、車両６０１に搭載されたドライブレコーダのような映像記録装置１９０１から、映像情報をリアルタイムで受信しながら、車両６０１の移動距離及び移動速度を推定することができる。
【０１２３】
図５及び図１９に示した移動距離推定装置３０１の構成は一例に過ぎず、移動距離推定装置３０１の用途や条件に応じて一部の構成要素を省略又は変更してもよい。例えば、複数の異なる画像の組に対して決定された複数の仮のスケールを合わせる必要がない場合は、スケール合成部５０４を省略することができる。また、路面模様スケール計算部５１１及び区分線スケール計算部５１２の両方を設ける必要がない場合は、いずれか一方を省略することができる。
【０１２４】
図１３〜図１８に示したフローチャートは一例に過ぎず、移動距離推定装置３０１の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、スケール合成部５０４を省略する場合は、図１４のステップ１４０５の処理を省略することができる。路面模様スケール計算部５１１を省略する場合は、図１５のステップ１５０１及びステップ１５０２の処理を省略することができる。また、区分線スケール計算部５１２を省略する場合は、図１５のステップ１５０３及びステップ１５０４の処理を省略することができる。
【０１２５】
また、第２のスケール計算部３１４は、空間推定部５０３が計算した空間点の世界座標を用いてスケールｓを計算してもよい。この場合、図１８のステップ１８０２の処理を省略することができる。さらに、図１８のステップ１８０４において決定された基準空間点の位置が路面６０３に十分近いと判定できる場合は、その基準空間点に基づいて計算されたスケールｓを最適なスケールｓとして選択してもよい。この場合、ステップ１８０１で次の時刻の画像を取得する必要はなく、ステップ１８０８の処理も省略することができる。
【０１２６】
図３、図５、及び図１９の移動距離推定装置３０１は、例えば、図２０に示すような情報処理装置（コンピュータ）を用いて実現可能である。
図２０の情報処理装置は、Central Processing Unit（ＣＰＵ）２００１、メモリ２００２、入力装置２００３、出力装置２００４、補助記憶装置２００５、媒体駆動装置２００６、及びネットワーク接続装置２００７を備える。これらの構成要素はバス２００８により互いに接続されている。
【０１２７】
メモリ２００２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。
【０１２８】
ＣＰＵ２００１（プロセッサ）は、例えば、メモリ２００２を利用してプログラムを実行することにより、相対移動処理部３１２、第１のスケール計算部３１３、第２のスケール計算部３１４、及び移動距離計算部３１５として動作し、移動距離推定処理を行う。このとき、ＣＰＵ２００１は、特徴点検出部５０１、運動推定部５０２、空間推定部５０３、スケール合成部５０４、路面模様スケール計算部５１１、及び区分線スケール計算部５１２としても動作する。
【０１２９】
入力装置２００３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置２００４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。出力される処理結果には、例えば、移動距離Ｄ及び移動速度Ｖを示す情報が含まれる。
【０１３０】
補助記憶装置２００５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この補助記憶装置２００５には、ハードディスクドライブも含まれる。情報処理装置は、補助記憶装置２００５にプログラム及びデータを格納しておき、それらをメモリ２００２にロードして使用することができる。補助記憶装置２００５は、記憶部３１１として用いることができる。
【０１３１】
媒体駆動装置２００６は、可搬型記録媒体２００９を駆動し、その記録内容にアクセスする。可搬型記録媒体２００９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体２００９には、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体２００９にプログラム及びデータを格納しておき、それらをメモリ２００２にロードして使用することができる。
【０１３２】
このように、移動距離推定処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ２００２、補助記憶装置２００５、及び可搬型記録媒体２００９のような、物理的な（非一時的な）記録媒体が含まれる。
【０１３３】
ネットワーク接続装置２００７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置２００７は、受信部１９１１として用いることができる。
【０１３４】
情報処理装置は、ネットワーク接続装置２００７を介して、ユーザ端末から処理要求を受信し、処理結果である移動距離Ｄ及び移動速度Ｖを示す情報をユーザ端末へ送信することができる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２００７を介して受け取り、それらをメモリ２００２にロードして使用することもできる。
【０１３５】
なお、情報処理装置が図２０のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がユーザ端末から通信ネットワーク経由で処理要求を受信する場合は、入力装置２００３及び出力装置２００４を省略してもよい。
【０１３６】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【０１３７】
１０１  物体
１０２、１０３  画像
１０４、１０５  投影中心
２０１  背景領域
２０２  路面領域
３０１  移動距離推定装置
３１１  記憶部
３１２  相対移動処理部
３１３  第１のスケール計算部
３１４  第２のスケール計算部
３１５  移動距離計算部
５０１  特徴点検出部
５０２  運動推定部
５０３  空間推定部
５０４  スケール合成部
５１１  路面模様スケール計算部
５１２  区分線スケール計算部
６０１  車両
６０２  車載カメラ
６０３  路面
６０４  カメラ画像
７０１  空間点
７１１〜７１５、９０１〜９０３、９１１〜９１３、９２１〜９２３、１００１〜１００３、１１０１〜１１０３、１１１１〜１１１３  位置
８０１、８０２  車線区分線
１９０１  映像記録装置
１９０２  通信ネットワーク
１９１１  受信部
２００１  ＣＰＵ
２００２  メモリ
２００３  入力装置
２００４  出力装置
２００５  補助記憶装置
２００６  媒体駆動装置
２００７  ネットワーク接続装置
２００８  バス
２００９  可搬型記録媒体
【図１】
2014194361.tif 000007
【図３】
2014194361.tif 000008
【図４】
2014194361.tif 000009
【図５】
2014194361.tif 000010
【図７】
2014194361.tif 000011
【図１３】
2014194361.tif 000012
【図１４】
2014194361.tif 000013
【図１５】
2014194361.tif 000014
【図１６】
2014194361.tif 000015
【図１７】
2014194361.tif 000016
【図１８】
2014194361.tif 000017
【図１９】
2014194361.tif 000018
【図２０】
2014194361.tif 000019
【図２】
2014194361.tif 000020
【図６】
2014194361.tif 000021
【図８】
2014194361.tif 000022
【図９】
2014194361.tif 000023
【図１０】
2014194361.tif 000024
【図１１】
2014194361.tif 000025
【図１２】
2014194361.tif 000026