(57)【特許請求の範囲】
【請求項１】
移動体に取り付けられた複数のカメラにより得られる各映像についてそれぞれ路面投影像を生成する投影部と、
前記投影部により生成される複数の路面投影像において前記複数のカメラの視野が重複する共通視野領域から、路面投影像間で互いに一致する画像パターンを抽出する抽出部と、
前記抽出部により抽出される画像パターンの時間変化に基づいて、前記移動体の移動量を推定し、その推定の結果を、路面投影像が互いに重なり合う領域以外の路面投影像を利用して補正する推定部、
を備える移動量推定装置。
【請求項２】
前記推定部は、前記画像パターンの位置の時間変化および前記移動体の回転量を検出する回転センサから出力される回転データに基づいて、前記移動体の並進移動量を推定する
ことを特徴とする請求項１に記載の移動量推定装置。
【請求項３】
前記推定部は、前記画像パターンの時間変化、および路面投影像が互いに重なり合う領域以外の路面投影像内で前記移動体の近傍領域の路面投影像の時間変化に基づいて、前記移動体の移動量を推定する
ことを特徴とする請求項１または２に記載の移動量推定装置。
【請求項４】
コンピュータが、
移動体に取り付けられた複数のカメラにより得られる各映像についてそれぞれ路面投影像を生成し、
複数の路面投影像において前記複数のカメラの視野が重複する共通視野領域から、路面投影像間で互いに一致する画像パターンを抽出し、
抽出される画像パターンの時間変化に基づいて、前記移動体の移動量を推定し、その推定の結果を、路面投影像が互いに重なり合う領域以外の路面投影像を利用して補正する
ことを特徴とする移動量推定方法。
【請求項５】
移動体に取り付けられた複数のカメラにより得られる各映像についてそれぞれ路面投影像を生成し、
複数の路面投影像において前記複数のカメラの視野が重複する共通視野領域から、路面投影像間で互いに一致する画像パターンを抽出し、
抽出される画像パターンの時間変化に基づいて、前記移動体の移動量を推定し、その推定の結果を、路面投影像が互いに重なり合う領域以外の路面投影像を利用して補正する
処理をコンピュータに実行させる移動量推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の移動量を推定する移動量推定装置、移動量推定方法、および移動量推定プログラムに係わる。
【背景技術】
【０００２】
近年、車両の運転支援または運転制御等のために、車両の移動量（移動距離および移動方向）を検出する技術が研究されている。車両の移動量は、例えば、ＧＰＳ等を利用して検出することができる。しかし、ＧＰＳ等を利用する方法では、用途によっては検出精度が不十分であり、また、車両走行のリアルタイム制御には不向きである。このため、車両に搭載された移動量推定装置が、自車の移動量を推定する技術が提案されている。
【０００３】
例えば、車載カメラの映像を利用して車両の移動量を推定する方法が提案されている。この方法では、車載カメラは、車両の走行中に路面を含む動画像を撮影する。また、移動量推定装置は、車載カメラの映像を利用して所定の時間間隔で路面投影像を生成する。路面投影像は、車載カメラの映像を路面に対応する平面に投影することにより生成される。そして、移動量推定装置は、路面投影像の時間変化を検出することで車両の移動量を推定する。なお、車載カメラの映像を利用して車両の移動量を推定する方法は、例えば、非特許文献１に記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「車載カメラを用いた単眼測距検証システムの開発」、滝本周平、伊藤崇晶、ＳＥＩテクニカルレビュー１６９号、８２〜８７ページ、２００６年７月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
路面投影像の時間変化に基づいて車両の移動量を推定する方法では、カメラ映像内に立体物が写っているときは、移動量を正しく推定できない。しかし、従来技術においては、路面投影像内が立体物の画像を含んでいるか否かは考慮されていなかった。このため、従来技術では、車両の移動量を正しく推定できないことがあった。なお、この問題は、車両の移動量を推定する場合に限らず、任意の移動体の移動量を推定する際に発生し得る。
【０００６】
本発明の課題は、移動体の移動量を精度よく推定する装置または方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の１つの態様の移動量推定装置は、移動体に取り付けられた複数のカメラにより得られる各映像についてそれぞれ路面投影像を生成する投影部と、前記投影部により生成される複数の路面投影像において前記複数のカメラの視野が重複する共通視野領域から、路面投影像間で互いに一致する画像パターンを抽出する抽出部と、前記抽出部により抽出される画像パターンの時間変化に基づいて、前記移動体の移動量を推定する推定部、を備える。
【発明の効果】
【０００８】
上述の態様によれば、移動体の移動量を精度よく推定することができる。
【図面の簡単な説明】
【０００９】
【図１】移動体に取り付けられるカメラとその視野について示す図である。
【図２】第１の実施形態の移動量推定装置の機能ブロック図である。
【図３】座標系を説明する図である。
【図４】路面投影像を生成する領域を説明する図である。
【図５】投影による座標の変換について説明する図である。
【図６】画素値の補間について説明する図である。
【図７】移動体の周辺の環境の一例を示す図である。
【図８】撮影された立体物の路面投影像について説明する図である。
【図９】図７に示す環境で得られる映像データから生成される路面投影像を示す図である。
【図１０】２つの路面投影像を重ね合わせた状態を示す図である。
【図１１】抽出された路面模様を示す図である。
【図１２】路面投影像間で互いに一致する画像パターンを抽出する処理を説明する図である。
【図１３】路面模様画像について説明する図である。
【図１４】統合路面投影画像について説明する図である。
【図１５】移動量抽出部の処理の概略を示すフローチャートである。
【図１６】図１５のステップＳ１の処理を示すフローチャートである。
【図１７】図１６のステップＳ１４の処理を示すフローチャートである。
【図１８】照合スコアの算出について説明する図である。
【図１９】図１５のステップＳ２の処理を示すフローチャートである。
【図２０】図１９のステップＳ４４の処理を示すフローチャートである。
【図２１】第２の実施形態の移動量推定装置の機能ブロック図である。
【図２２】第２の実施形態で実行されるステップＳ１の処理を示すフローチャートである。
【図２３】第２の実施形態で実行されるステップＳ２の処理を示すフローチャートである。
【図２４】近傍統合投影画像について説明する図である。
【図２５】第３の実施形態の移動量推定部の処理を示すフローチャートである。
【図２６】第４の実施形態の移動量推定部の処理を示すフローチャートである。
【図２７】移動量推定装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
実施形態の移動量推定方法においては、複数のカメラが取り付けられている移動体の移動量が推定される。このとき、移動量推定装置は、複数のカメラによりそれぞれ得られる映像を利用して、その移動体の移動量を推定する。
【００１１】
移動体の「移動量」は、並進移動量（移動距離および移動方向）および回転量（ヨー回転）により表わされる。すなわち、移動量推定装置は、移動体の並進移動量および回転量を推定する。ただし、移動量推定装置は、移動体の並進移動量または回転量の一方を推定するようにしてもよい。なお、移動量を推定する対象の移動体は、特に限定されるものではないが、例えば、乗用車を含む車両、工場等で使用される搬送台車等である。また、移動体は、路面上を移動（例えば、走行）するものとする。
【００１２】
図１は、移動体に取り付けられるカメラとその視野について示す。図１に示すように、移動体１には、カメラ２ａ〜２ｄが取り付けられている。カメラ２ａは、移動体１の前部に取り付けられ、移動体１の前方の映像を取得する。また、カメラ２ｂは、移動体１の後部に取り付けられ、移動体１の後方の映像を取得する。さらに、カメラ２ｃ、２ｄは、それぞれ、移動体１の右側部および左側部に取り付けられ、移動体１の右方および左方の映像を取得する。なお、移動体１の進行方向を「前方」と呼ぶことにする。
【００１３】
カメラ２ａ、カメラ２ｂ、カメラ２ｃ、カメラ２ｄは、それぞれ視野領域３ａ、３ｂ、３ｃ、３ｄを有する。視野領域は、対応するカメラにより映像が取得される領域である。ここで、各カメラ２ａ〜２ｄは、いずれも広角カメラであり、大きな視野角を有する。図１に示す例では、各カメラ２ａ〜２ｄの視野角は、約１８０度である。
【００１４】
このため、視野領域３ａ、３ｂ、３ｃ、３ｄは、互いに一部が重なり合う。例えば、共通視野領域４ｅは、カメラ２ａの視野領域３ａおよびカメラ２ｃの視野領域３ｃが互いに重なり合う領域である。すなわち、共通視野領域４ｅの映像は、カメラ２ａおよびカメラ２ｃの双方により取得される。同様に、共通視野領域４ｆは、カメラ２ｂの視野領域３ｂおよびカメラ２ｃの視野領域３ｃが互いに重なり合う領域であり、共通視野領域４ｇは、カメラ２ａの視野領域３ａおよびカメラ２ｄの視野領域３ｄが互いに重なり合う領域であり、共通視野領域４ｈは、カメラ２ｂの視野領域３ｂおよびカメラ２ｄの視野領域３ｄが互いに重なり合う領域である。なお、各共通視野領域４ｅ〜４ｈは、図１では、斜線領域で表わされている。
【００１５】
実施形態の移動量推定方法は、共通視野領域４ｅ〜４ｈの少なくとも１つの映像を利用して、移動体１の移動量を推定する。なお、実施形態の移動量推定方法は、移動体１に４台のカメラが取り付けられている場合にのみ適用されるものではなく、移動体１に２台以上のカメラが取り付けられている場合に適用可能である。
【００１６】
＜＜第１の実施形態＞＞
図２は、第１の実施形態の移動量推定装置の機能ブロック図である。第１の実施形態の移動量推定装置１０は、画像入力部１１、同期制御部１２、路面投影部１３、路面模様抽出部１４、移動量推定部１５を備える。また、移動量推定装置１０には、カメラ２ａ〜２ｄからそれぞれ映像データが入力される。さらに、移動量推定装置１０は、映像データＤＢ１６に接続されている。なお、路面投影部１３、路面模様抽出部１４、移動量推定部１５は、それぞれ、発明に係る投影部、抽出部、推定部の一例である。
【００１７】
カメラ２ａ〜２ｄは、図１に示すように移動体１に取り付けられており、それぞれ映像データを取得する。映像データは、特に限定されるものではないが、例えば、３０フレーム／秒の動画像データである。
【００１８】
画像入力部１１は、同期制御部１２により生成される同期信号に従って、カメラ２ａ〜２ｄの映像データを取り込む。ここで、同期制御部１２は、例えば、カメラの映像同期信号に合わせて、あるいはタイマまたはカウンタを備え、所定の時間間隔で同期信号を出力する。第１の実施形態では、一例として、カメラ２ａからの映像同期信号と同期させることを想定して、カメラ２ａから映像信号を同期制御部１２に入力する形態を示したが、映像同期信号を入力するためのカメラは、カメラ２ｂ〜２ｄの他のカメラとしても良い。また、カメラからの映像同期信号を用いず、同期制御部１２が備えるタイマまたはカウンタで同期信号を出力する場合は、カメラからの映像同期信号の入力を用いなくとも良い。そして、画像入力部１１は、同期信号を受信する毎に、カメラ２ａ〜２ｄの映像データから、フレーム内の各画素の画素値を含むデジタル情報を生成する。すなわち、画像フレームを表す２次元配列の各要素にそれぞれ画素値を有するデジタル画像情報が生成される。画素値は、輝度値および／または色情報で表わされる。
【００１９】
なお、同期制御部１２は、必ずしも一定の時間間隔で同期信号を出力しなくてもよい。例えば、同期制御部１２は、移動体１の移動速度に応じて同期信号を生成する時間間隔を決定してもよい。この場合、同期制御部１２は、移動体１の移動速度が速いときに短い時間間隔で同期信号を生成し、移動体１の移動速度が遅いときに長い時間間隔で同期信号を生成してもよい。
【００２０】
路面投影部１３は、画像入力部１１から入力されるデジタル画像を移動体１の走行路面に投影することにより、路面投影像を生成する。すなわち、路面投影部１３は、各カメラ２ａ〜２ｄの映像データをそれぞれ路面投影像に変換する。そして、路面投影部１３は、生成した路面投影像を映像データＤＢ１６に記録する。なお、以下の説明では、移動体１の走行路面を単に「路面」を呼ぶことにする。
【００２１】
路面模様抽出部１４は、路面投影部１３によって生成される複数の路面投影像の共通視野領域において、共通視野を有する路面投影像間で互いに一致する画像パターンを抽出する。抽出される画像パターンは、路面上の模様（以下、路面模様）を表す。そして、路面模様抽出部１４は、抽出した路面模様を含む路面模様画像を映像データＤＢ１６に記録する。
【００２２】
映像データＤＢ１６は、例えば半導体メモリであり、各カメラ２ａ〜２ｄの路面投影像および各共通視野領域の路面模様画像を格納する。ここで、映像データＤＢ１６は、最新の路面投影像および路面模様画像に加えて、少なくとも直前の路面投影像および路面模様画像を保持する。また、映像データＤＢ１６は、後述する統合路面投影画像を格納してもよい。
【００２３】
移動量推定部１５は、映像データＤＢ１６に記録されている最新の路面模様画像および直前の路面模様画像に基づいて、移動体１の移動量を推定する。すなわち、移動量推定部１５は、路面模様画像の時間変化に基づいて移動体１の移動量を推定する。なお、移動量推定部１５は、路面模様画像だけでなく、路面投影像も利用して移動体１の移動量を推定するようにしてもよい。
【００２４】
このように、移動量推定装置１０においては、路面投影部１３は、カメラ２ａ〜２ｄの映像データからそれぞれ路面投影像を生成する。また、路面模様抽出部１４は、複数の路面投影像の共通視野領域において、共通視野を有する路面投影像間で互いに一致する画像パターンを抽出する。このとき、後で詳しく説明するが、共通視野領域から立体物は抽出されず、路面に形成されている路面模様が抽出される。そして、移動量推定部１５は、路面模様画像の時間変化に基づいて移動体１の移動量を推定する。すなわち、移動体１の移動量を推定する処理において、映像データ中の立体物の影響が除去されるので、移動量推定装置１０は、移動体１の移動量を精度よく推定できる。
【００２５】
次に、路面投影部１３、路面模様抽出部１４、移動量推定部１５の動作を具体的に説明する。なお、以下の説明では、図３に示す直交座標系を利用する。この座標系では、移動体１の進行方向をｚ方向と定義する。また、ｚ方向に直交し、且つ移動体１の横方向（図３では、進行方向に対して右向き）にｘ方向が定義される。さらに、ｚ方向に直交し、且つ移動体１の高さ方向（図３では、下向き）にｙ方向が定義される。
【００２６】
＜路面投影部１３の動作＞
路面投影部１３は、同期制御部１２から同期信号を受信したタイミングおいて、カメラ２ａ〜２ｄの映像データからそれぞれ路面投影像を生成する。このとき、路面投影像を生成する領域は、移動体１の位置を基準として予め決められているものとする。すなわち、路面投影部１３は、図４において破線で囲まれた領域について、入力映像データから路面投影像を生成する。ただし、図４に示す破線で囲まれた領域内であっても、カメラ２ａ〜２ｄの視野領域でない領域（例えば、移動体１の直下領域）については、映像データが生成されないので、路面投影像も生成されない。
【００２７】
図４に示す例では、路面投影部１３は、カメラ２ａにより得られる視野領域３ａの映像データから、領域Ｒ１、Ｒ２、Ｒ３の路面投影像を生成する。同様に、路面投影部１３は、カメラ２ｃにより得られる視野領域３ｃの映像データから領域Ｒ３、Ｒ４、Ｒ５の路面投影像を生成し、カメラ２ｂにより得られる視野領域３ｂの映像データから領域Ｒ５、Ｒ６、Ｒ７の路面投影像を生成し、カメラ２ｄにより得られる視野領域３ｄの映像データから領域Ｒ７、Ｒ８、Ｒ１の路面投影像を生成する。
【００２８】
このとき、各共通視野領域４ｅ〜４ｈにおいては、それぞれ路面投影像が重複して生成される。例えば、カメラ２ａ、２ｃの共通視野領域４ｅにおいては、カメラ２ａの映像データから領域Ｒ３の路面投影像が生成されると共に、カメラ２ｃの映像データからも領域Ｒ３の路面投影像が生成される。
【００２９】
このように、路面投影部１３は、各カメラ２ａ〜２ｄの映像データからそれぞれ路面投影像を生成する。ここで、カメラ２ａ〜２ｄの映像データから路面投影像を生成する処理は、生成される路面投影像の各画素について、入力映像の対応する画素を特定する処理に相当する。そこで、以下では、図５に示すように、入力映像の画素(sx,sy)が、路面投影像の画素(u,v)に投影されるものとする。この場合、ｉ（i＝2a,2b,2c,2d）番目のカメラの映像に対応する路面投影像の画素(u,v)の画素値Ｑi(u,v)は、下記（１）式で与えられる。
Ｑi(u,v)＝INTERP(Ｉi, (sx,sy))  ・・・（１）
「INTERP()」は、補間演算を表す。「Ｉi」は、ｉ番目のカメラからの映像を表す。
【００３０】
ここで、路面投影像のサイズをPW×PH画素とする。例えば、図４に示す例では、波線で囲まれる領域が、PW×PH画素の画像で表わされる。なお、PWおよびPHは、それぞれ路面投影像の幅および高さであり、下式で表わされる。
PW＝2×ww＋1
PH＝2×hh＋1
ww、hhは、下式で表わされる。
ww＝MX／rx
hh＝MY／ry
MX、MY（ミリメートル）は、それぞれ、路面投影像を生成する領域の幅および高さの２分の１に相当する。rx、ry（ミリメートル／ピクセル）は、１画素当たりの投影サイズを表す。
【００３１】
また、ｉ番目のカメラの配置は、下式で表わされるものとする。なお、Ｔiは、ｉ番目のカメラが取り付けられている位置を表す。Ｒiは、ｉ番目のカメラの光軸方向を表す。
【００３２】
【数１】
0005682266.tif 000002
【００３３】
上記条件の下では、ｉ番目のカメラにより撮影される任意の目標物の座標は下記（２）式で表わされる。
Ｌx＝r11{(u−ww)rx−Ｔix}＋r12{−(v−hh)ry−Ｔiy}＋r13(−Ｔiz)
Ｌy＝r21{(u−ww)rx−Ｔix}＋r22{−(v−hh)ry−Ｔiy}＋r23(−Ｔiz)
Ｌz＝r31{(u−ww)rx−Ｔix}＋r32{−(v−hh)ry−Ｔiy}＋r33(−Ｔiz)  ・・・（２）
【００３４】
次に、上記（２）式から下記の定義を導入する。
【００３５】
【数２】
0005682266.tif 000003
【００３６】
そうすると、路面投影像の画素(u,v)に対応する入力映像の画素(sx,sy)は、下記（３）式で得られる。
sx＝ｆx×p＋cx
sy＝ｆy×p＋cy  ・・・（３）
なお、ｆx、ｆyは、それぞれ、カメラの横方向および縦方向の焦点距離を表す。また、cx、cyは、図５に示すように、入力映像データの画像中心位置を表す。
【００３７】
上記（２）（３）式において、Ｔi、Ｒiは、カメラ２ａ〜２ｄの配置に応じて決まる。また、ｆx、ｆyは、カメラ２ａ〜２ｄの仕様であり、定数である。ここで、カメラ２ａ〜２ｄの配置を表す情報（Ｔi、Ｒi）、及びカメラ２ａ〜２ｄの焦点距離（ｆx、ｆy）を含むカメラの仕様に係わる情報は、カメラ情報として移動量推定装置１０がアクセス可能なメモリに格納されている。そして、路面投影部１３は、図２に示すように、そのカメラ情報を参照することができる。ww、hh、rx、ryは、いずれも予め設定される定数であり、これらの情報も移動量推定装置１０がアクセス可能なメモリに格納されている。したがって、路面投影部１３は、路面投影像の画素(u,v)に対して、入力映像内の対応する座標(sx,sy)を一意に算出することができる。
【００３８】
ただし、路面投影像の画素(u,v)に対して特定される入力映像内の座標(sx,sy)は、必ずしも１つの画素を指し示すものではない。たとえば、図６に示す例では、路面投影像の画素(u,v)に対して、入力映像内の座標(51.7, 45.6)が算出されている。この場合、路面投影像の画素(u,v)の画素値Ｑi(u,v)は、座標(sx,sy)に隣接する４つの画素Ｐ１〜Ｐ４の画素値に基づく補間演算で算出される。補間演算は、例えば、画素Ｐ１〜Ｐ４の画素値の重み付け平均により実現される。
【００３９】
このように、路面投影部１３は、カメラ２ａ〜２ｄの映像データに基づいて、路面投影像の各画素の画素値を算出する。これにより、路面投影像が生成される。
なお、路面投影部１３は、上述のようにして生成される路面投影像に対してSobel演算等の微分処理を実行してもよい。画像に対して微分処理を実行すると、模様の輪郭が強調され、各カメラ２ａ〜２ｄの特性の差異、あるいは映像の濃淡値の時間変化による影響が抑制される。したがって、以下の説明では、上述の投影処理によって得られた画像に対してさらに微分処理を実行した後の画像を路面投影像と呼ぶことにする。
【００４０】
路面投影部１３は、上述のようにして生成した路面投影像を映像データＤＢ１６に記録する。すなわち、同期制御部１２から同期信号が出力される毎に、カメラ２ａ〜２ｄの映像データから生成される４つの路面投影像が映像データＤＢ１６に記録される。
【００４１】
＜路面模様抽出部１４の動作＞
路面模様抽出部１４は、路面投影部１３により生成される複数の路面投影像の共通視野領域において、共通視野を有する路面投影像間で互いに一致する画像パターンを路面模様として抽出する。以下、１つの例として、図１または図４に示すカメラ２ａ、２ｃの共通視野領域４ｅについて説明する。なお、路面模様を抽出する方法は、他の共通視野領域４ｆ〜４ｈについても同様である。
【００４２】
図７は、移動体１の周辺の環境の一例を示す図である。ここで、図７は、移動体１およびその周辺を上方から見たときの様子を表している。そして、図７に示す例では、移動体１の右斜め前方に、路面模様２１および立体物２２が存在している。路面模様２１は、路面に形成されている模様であり、例えば、横断歩道あるいは道路標識などの路面に描かれている模様である。なお、路面模様２１は、路面に対して「高さ」を有していないものとする。立体物２２は、路面に対して「高さ」を有する物体である。この例では、立体物２２は、路面に対して垂直に立てられた板状の物体（例えば、立て看板など）である。
【００４３】
移動体１には、上述したように、カメラ２ａ、２ｃが取り付けられている。そして、図７に示す時刻において、路面模様２１および立体物２２は、カメラ２ａの視野範囲内に位置しており、且つ、カメラ２ｃの視野範囲内にも位置している。すなわち、路面模様２１および立体物２２は、図１または図４に示す共通視野領域４ｅの中に位置している。
【００４４】
図８は、撮影された立体物の路面投影像について説明する図である。ここでは、カメラ２ａにより立体物２２が撮影されたものとする。なお、図８において路面模様２１は省略されている。ここで、立体物２２は、図８（ａ）に示すように、路面に対して垂直に立てられた板状の物体である。この場合、カメラ２ａにより得られる映像データを路面に投影すると、図８（ｂ）に示す路面投影像が生成される。即ち、映像データ内の立体物の「高さ」は、路面投影像においては「奥行き」として表わされる。このため、立体物２２は、図８（ｂ）に示す路面投影像においては、斜線領域で示すように、立体物２２と路面とが接する直線２３から、カメラ２ａを原点として放射状に広がる画像パターンとして表わされる。さらに、図８（ｂ）に示す画像に対して微分処理を実行すると、図８（ｃ）に示すように、輪郭が強調された路面投影像が得られる。
【００４５】
図９（ａ）は、図７においてカメラ２ａにより得られる映像データから生成される路面投影像を示す。図９（ｂ）は、図７においてカメラ２ｃにより得られる映像データから生成される路面投影像を示す。なお、図９（ａ）および図９（ｂ）に示す路面投影像は、微分処理が実行された後の状態を表している。したがって、図７に示す路面模様２１は、路面投影像においては、その輪郭のみが現れている。
【００４６】
立体物２２は、路面投影像においては、図８を参照しながら説明したように、立体物２２が置かれている位置からカメラを原点として放射状に広がる画像パターンとして表わされる。このため、カメラ２ａの路面投影像においては、立体物２２は、図９（ａ）に示すように、画像パターン２４ａ、２５ａ、２６ａで表わされる。同様に、カメラ２ｃの路面投影像においては、立体物２２は、図９（ｂ）に示すように、画像パターン２４ｃ、２５ｃ、２６ｃで表わされる。このように、立体物２２の路面投影像は、カメラの位置に応じて異なる画像パターンとして表わされる。
【００４７】
路面模様抽出部１４は、カメラ２ａの路面投影像とカメラ２ｃの路面投影像とを比較して、それらの路面投影像間で互いに一致する画像パターンを路面模様として抽出する。すなわち、路面模様抽出部１４は、図９（ａ）および図９（ｂ）に示す路面投影像を比較する。
【００４８】
図１０は、図９（ａ）に示すカメラ２ａの路面投影像および図９（ｂ）に示すカメラ２ｃの路面投影像を重ね合わせた状態を表している。この場合、路面模様２１は、２つの路面投影像間で互いに一致する。しかし、立体物２２は、カメラ２ａの路面投影像においては画像パターン２４ａ、２５ａ、２６ａで表わされ、カメラ２ｃの路面投影像においては画像パターン２４ｃ、２５ｃ、２６ｃで表わされる。ここで、画像パターン２４ａ、２４ｃは、２つの路面投影像間で互いに一致する。しかし、画像パターン２５ａ、２５ｃは互いに異なり、また、画像パターン２６ａ、２６ｃも互いに異なる。
【００４９】
路面模様抽出部１４は、上記２つの路面投影像間で互いに一致する画像パターンを路面模様として抽出する。そうすると、図１１に示すように、路面模様２１に対応する画像パターンが抽出される。このとき、画像パターン２４ａ、２４ｃも抽出される。なお、画像パターン２４ａ、２４ｃは、立体物２２と路面との境界線に相当する。この結果、路面投影像から立体物が除去された画像が生成される。以下、このようにして生成される画像を路面模様画像と呼ぶことがある。
【００５０】
図１２は、路面投影像間で互いに一致する画像パターンを抽出する処理を説明する図である。路面模様抽出部１４は、比較する２つの路面投影像（または、２つの路面投影像の互いに重なり合う領域）をそれぞれ複数の小領域（以下、画像ブロック）に分割する。図１２に示す例では、カメラ２ａの路面投影像が画像ブロックＡ１〜Ａ９に分割され、カメラ２ｃの路面投影像が画像ブロックＣ１〜Ｃ９に分割されている。画像ブロックＡ１〜Ａ９および画像ブロックＣ１〜Ｃ９は、互いに対応する領域を表している。なお、画像ブロックのサイズは、特に限定されるものではないが、たとえば、４×４画素、８×８画素、１６×１６画素などとすることができる。
【００５１】
路面模様抽出部１４は、２つの路面投影像間で対応する画像ブロックの画像パターンを比較する。例えば、路面模様抽出部１４は、ＳＡＤ（Sum of Absolute Difference）を用いて画像パターンを比較する。すなわち、路面模様抽出部１４は、対応する２つの画像ブロック間で、対応する画素の画素値の差分絶対値をそれぞれ算出し、それら差分絶対値の総和を求める。そして、この差分絶対値の総和が予め決められた閾値よりも小さければ、２つの画像ブロックの画像パターンが互いに一致すると判定される。一方、差分絶対値の総和が予め決められた閾値以上であれば、２つの画像ブロックの画像パターンが互いに一致しないと判定される。
【００５２】
図１２において、まず、画像ブロックＡ１、Ｃ１が比較される。ここで、画像ブロックのＡ１の画像は「△」であり、画像ブロックのＣ１の画像も「△」である。したがって、画像ブロックＡ１、Ｃ１の画像パターンが互いに一致すると判定される。そうすると、路面模様抽出部１４は、路面模様画像の対応する画像ブロックＴ１の画像データとして、画像ブロックＡ１、Ｃ１のいずれか一方の画像データを出力する。ここで、画像ブロックＡ１、Ｃ１の画像パターンは互いに一致しているので、面模様抽出部１４は、画像ブロックＡ１、Ｃ１のいずれの画像データを出力してもよい。
【００５３】
続いて、画像ブロックＡ２、Ｃ２が比較される。ここで、画像ブロックのＡ２の画像は「○」であり、画像ブロックのＣ２の画像は「☆」である。したがって、画像ブロックＡ２、Ｃ２の画像パターンが互いに一致しないと判定される。そうすると、路面模様抽出部１４は、路面模様画像の対応する画像ブロックＴ２の画像データとして、「ゼロ」を出力する。「ゼロ」は、画像ブロック内のすべての画素の画素値がゼロである画像データである。
【００５４】
同様に、路面模様画像の画像ブロックＴ３〜Ｔ９が生成される。なお、上記２つの路面投影像の対応する画像ブロックがいずれも「無模様」であるときは、画像パターンが互いに一致し得る。例えば、画像ブロックＡ７、Ｃ７の画像パターンは互いに一致すると判定される。この場合、路面模様抽出部１４は、路面模様画像の対応する画像ブロックＴ７の画像データとして、画像ブロックＡ７、Ｃ７のいずれか一方の画像データを出力する。
【００５５】
このように、路面模様抽出部１４は、路面投影像間で対応する画像ブロックの画像パターンが互いに異なるときに、「ゼロ」を出力する。これにより、立体物が除去された路面模様画像が生成される。
【００５６】
路面模様抽出部１４は、各共通視野領域に対して、上述の路面模様画像を生成する。この結果、路面模様抽出部１４は、図１３に示す全体路面模様画像を得る。全体路面模様画像は、共通視野領域Ｒ１、Ｒ３、Ｒ５、Ｒ７には、図１２に示す方法で生成された路面模様画像を有する。また、全体路面模様画像の他の領域Ｒ２、Ｒ４、Ｒ６、Ｒ８、Ｒ９の各画素には、「ゼロ」が与えられる。なお、以下の説明では、全体路面模様画像のことを単に「路面模様画像」と呼ぶことがある。
【００５７】
さらに、路面模様抽出部１４は、図１４に示す統合路面投影画像を生成する。統合路面投影画像は、共通視野領域Ｒ１、Ｒ３、Ｒ５、Ｒ７には、図１２に示す方法で生成された路面模様画像を有する。また、単独視野領域Ｒ２、Ｒ４、Ｒ６、Ｒ８には、対応するカメラの路面投影像が割り当てられる。例えば、単独視野領域Ｒ２は、カメラ２ａのみにより映像データが生成される。この場合、単独視野領域Ｒ２には、カメラ２ａの映像データから生成される路面投影像が割り当てられる。なお、いずれのカメラ２ａ〜２ｄの視野範囲でない領域Ｒ９の各画素には、「ゼロ」が与えられる。
【００５８】
このように、路面模様抽出部１４は、路面投影部１３により得られる路面投影像に基づいて、路面模様画像および統合路面投影画像を生成する。また、路面模様抽出部１４は、生成した路面模様画像および統合路面投影画像を映像データＤＢ１６に記録する。なお、路面模様抽出部１４は、例えば、所定の時間間隔で路面模様画像および統合路面投影画像を生成して映像データＤＢ１６に記録する。そして、映像データＤＢ１６は、最新の路面模様画像および統合路面投影画像に加えて、過去の路面模様画像および統合路面投影画像（少なくとも、直前の路面模様画像および統合路面投影像）を保持する。
【００５９】
＜移動量抽出部１５の動作＞
移動量抽出部１５は、路面模様抽出部１４により生成された路面模様画像の時間変化に基づいて、移動体１の移動量を推定する。図１５は、移動量抽出部１５の処理の概略を示すフローチャートである。
【００６０】
ステップＳ１において、移動量抽出部１５は、共通視野領域から抽出された路面模様の時間変化に基づいて、移動体１の移動量を推定する。つづいて、移動量推定部１５は、ステップＳ２において、統合路面投影画像およびステップＳ１の推定結果を用いて、より高い精度で移動体１の移動量を推定する。すなわち、移動量推定部１５は、統合路面投影画像を利用して、ステップＳ１で得られた移動量を補正する。
【００６１】
図１６は、図１５に示すステップＳ１の処理を示すフローチャートである。このフローチャートの処理は、移動量推定部１５によって実行される。また、移動量推定部１５は、映像データＤＢ１６に記録されている路面模様画像を利用して、移動体１の移動量を推定する。ここで、移動量推定部１５は、時刻ｔ１の映像データに基づいて生成された路面模様画像Ｃ(t1)、および時刻ｔ２の映像データに基づいて生成された路面模様画像Ｃ(t2)を映像データＤＢ１６から取得するものとする。なお、時刻ｔ２は、この例では、現在時刻である。時刻ｔ１は、時刻ｔ２に対して所定時間だけ過去の時刻である。時刻ｔ１と時刻ｔ２との間の時間間隔は、特に限定されるものではないが、例えば、カメラ２ａ〜２ｄのフレーム間隔（１／３０秒）、またはその整数倍である。そして、移動量推定部１５は、時刻ｔ１と時刻ｔ２との間における移動体１の移動量を推定する。
【００６２】
ステップＳ１１において、移動量推定部１５は、変数Ｍmaxをゼロに初期化する。変数Ｍmaxは、時刻ｔ１の画像と時刻ｔ２の画像との間の照合度（或いは、相関）の最大値を表す。
【００６３】
ステップＳ１２において、移動量推定部１５は、回転角ａを「−Ａ」に初期化する。回転角ａは、移動体１の移動量の１つの要素である平面回転（或いは、ヨー回転）の回転量を表す変数である。
【００６４】
ステップＳ１３において、移動量推定部１５は、前時刻の路面模様画像Ｃ(t1)を角度ａだけ回転変換することにより、回転路面模様画像Ｄ(t1)を生成する。なお、画像の回転変換は、例えば、各画素の座標を回転行列で演算することに実現される。
【００６５】
ステップＳ１４において、移動量推定部１５は、ステップＳ１３で得られた回転路面模様画像Ｄ(t1)と、現在時刻の路面模様画像Ｃ(t2)との間で、最大照合度Ｍmaxを与える並進変位（ＤＸmax、ＤＹmax）を特定する。ステップＳ１４の処理については、後で詳しく説明する。
【００６６】
ステップＳ１５において、移動量推定部１５は、予め決められた所定の角度Δａを回転角ａに加算する。なお、角度Δａは、回転角ａを−Ａから＋Ａまでスキャンするための角度ステップを表す。そして、ステップＳ１６において、移動量推定部１５は、回転角ａがＡ以下であるか否かを判定する。回転角ａがＡ以下であれば、移動量推定部１５の処理はステップＳ１３に戻る。
【００６７】
このように、移動量推定部１５は、回転路面模様画像Ｄ(t1)の回転角ａを−Ａから＋Ａまでスキャンしながら、回転路面模様画像Ｄ(t1)と路面模様画像Ｃ(t2)との間で最大照合度Ｍmaxを与える並進変位（ＤＸmax、ＤＹmax）を特定する。そして、回転角ａがＡよりも大きくなると（ステップＳ１６：Ｎｏ）、移動量推定部１５は、ステップＳ１７において、移動体１の移動量の推定結果として、最大照合度Ｍmaxを与える並進変位（ＤＸmax、ＤＹmax）および回転角（Ａmax）を出力する。なお、ステップＳ１７の出力は、時刻ｔ１〜時刻ｔ２における移動体１の移動量の推定値である。
【００６８】
次に、ステップＳ１４に示す処理を詳しく説明する。ここでは、下記の変数が使用される。
ｄｘ：回転路面模様画像Ｄ(t1)のＸ方向の変位量を表す
ｄｙ：回転路面模様画像Ｄ(t1)のＹ方向の変位量を表す
ｍmax：ステップ２２〜Ｓ３０の処理ループの中で照合スコアＳcの最大値を表す
ｄｘmax：ステップ２２〜Ｓ３０の処理ループの中で照合スコアＳcが最大となるＸ方向の変位量を表す
ｄｙmax：ステップ２２〜Ｓ３０の処理ループの中で照合スコアＳcが最大となるＹ方向の変位量を表す
Ｍmax：回転角ａを−Ａから現在の角度までスキャンした処理の中での照合スコアＳcの最大値を表す
ＤＸmax：Ｍmaxを与えるＸ方向の変位量を表す
ＤＹmax：Ｍmaxを与えるＹ方向の変位量を表す
Ａmax：Ｍmaxを与える回転角を表す
【００６９】
図１７は、図１６のステップＳ１４の処理を示すフローチャートである。なお、図１７に示すフローチャートの処理は、回転路面模様画像Ｄ(t1)の回転角ａを−Ａから＋Ａまでスキャンする手順において、与えられた回転角ａに対して実行される。
【００７０】
ステップＳ２１において、移動量推定部１５は、変数ｍmaxをゼロに初期化する。ステップＳ２２において、移動量推定部１５は、変位量ｄｙを「−ＤＹ」に初期化する。ステップＳ２３において、移動量推定部１５は、変位量ｄｘを「−ＤＸ」に初期化する。
【００７１】
ステップＳ２４において、移動量推定部１５は、変位量ｄｘおよび変位量ｄｙに従って回転路面模様画像Ｄ(t1)の座標をシフトさせる。すなわち、移動量推定部１５は、回転路面模様画像Ｄ(t1)を（dx,dy）だけシフトさせる。そして、移動量推定部１５は、路面模様画像Ｃ(t2)と、（dx,dy）だけシフトした回転路面模様画像Ｄ(t1)との間で画像照合を実行して照合スコアＳcを算出する。
【００７２】
照合スコアＳcは、路面模様画像Ｃ(t2)、および（dx,dy）だけシフトした回転路面模様画像Ｄ(t1)が互いに重なり合う領域（図１８に示す斜線領域）について下記の処理を実行することで算出される。
S=0, N=0
IF (C(x,y)!=0 && D(x+dx,y+dy)!=0) THEN
S=S+{C(x,y)−D(x+dx,y+dy)}の絶対値
N=N+1
ENDIF
Sc=LV−(S/N)
【００７３】
すなわち、画素値の差分絶対値の累積加算値を表す変数Ｓ、および重なり領域内の画素の個数をカウントする変数Ｎが初期化される。続いて、重なり領域内の各画素について、路面模様画像Ｃ(t2)の画素値Ｃ(x,y)がゼロではなく、且つ、回転路面模様画像Ｄ(t1)の画素値Ｄ(x+dx,y+dy)もゼロでないときに、画素値Ｃ(x,y)と画素値Ｄ(x+dx,y+dy)との間の差分絶対値が累積加算される。さらに、定数ＬＶから、１画素当たりの画素値の差分絶対値を減算することにより、照合スコアＳcが得られる。なお、定数ＬＶは、２つの画像の相関が高いほど照合スコアＳcが大きな正値となるように決定される。例えば、画素値が０〜２５５で表わされるときは、「ＬＶ＞２５５」であり、一例としては「ＬＶ＝３００」である。
【００７４】
図１７に戻る。ステップＳ２５において、移動量推定部１５は、ステップＳ２４で算出された照合スコアＳcが変数ｍmaxよりも大きいか否かを判定する。そして、照合スコアＳcが変数ｍmaxよりも大きければ、移動量推定部１５は、ステップＳ２６において変数ｍmax、変数ｄｘmax、変数ｄｙmaxを下記のように更新する。なお、照合スコアＳcが変数ｍmax以下であれば、ステップＳ２６はスキップされる。
ｍmax←Ｓc
ｄｘmax←ｄｘ
ｄｙmax←ｄｙ
すなわち、新たに算出された照合スコアＳcは、現時点までの照合スコアＳcの最大値を表す変数ｍmaxとして保持される。また、照合スコアＳcの最大値を与える変位量は、変数ｄｘmax、ｄｙmaxとして保持される。
【００７５】
ステップＳ２７において、移動量推定部１５は、変位量ｄｘにΔdxを加算する。ここで、Δdxは、Ｘ方向の変位量ｄｘを−ＤＸから＋ＤＸまでスキャンするための変位量のステップを表す。そして、移動量推定部１５は、ステップＳ２８において、ステップＳ２７で更新された変位量ｄｘがＤＸ以下であるか否かを判定する。変数量ｄｘがＤＸ以下であれば、移動量推定部１５の処理はステップＳ２４に戻る。
【００７６】
変数量ｄｘがＤＸを超えていれば、移動量推定部１５は、ステップＳ２９において、変位量ｄｙにΔdyを加算する。ここで、Δdyは、Ｙ方向の変位量ｄｙを−ＤＹから＋ＤＹまでスキャンするための変位量のステップを表す。そして、移動量推定部１５は、ステップＳ３０において、ステップＳ２９で更新された変位量ｄｙがＤＹ以下であるか否かを判定する。変数量ｄｙがＤＹ以下であれば、移動量推定部１５の処理はステップＳ２３に戻る。
【００７７】
変数量ｄｙがＤＹを超えていれば、移動量推定部１５は、ステップＳ３１において、変数ｍmaxと変数Ｍmaxとを比較する。そして、「ｍmax＞Ｍmax」であれば、移動量推定部１５は、ステップＳ３２において、Ｍmax、ＤＸmax、ＤＹmax、Ａmaxを下記のように更新する。なお、「ｍmax＞Ｍmax」でなければ、ステップＳ３２はスキップされる。
Ｍmax←ｍmax
ＤＸmax←ｄｘmax
ＤＹmax←ｄｙmax
Ａmax←ａ
すなわち、回転角ａを−Ａから現在の角度までスキャンした処理の中での算出された照合スコアＳcの最大値がＭmaxとして保存される。また、Ｍmaxを与えるＸ方向変位量、Ｙ方向変位量、回転角は、それぞれＤＸmax、ＤＹmax、Ａmaxとして保存される。
【００７８】
このように、移動量推定部１５は、図１６〜図１７に示す処理を実行することにより、回転路面模様画像Ｄ(t1)と路面模様画像Ｃ(t2)との間で最大照合度Ｍmaxを与える移動量（ＤＸmax、ＤＹmax、Ａmax）を算出する。ここで、このようにして算出される移動量は、路面模様の配置（位置および／または角度）の時間変化に相当する。すなわち、移動量推定部１５は、路面模様の時間変化に基づいて、移動体１の移動量を推定する。
【００７９】
なお、図１６〜図１７に示すフローチャートで使用する「ＤＸ」「ＤＹ」「Ａ」は、移動体１の仕様または性能に応じて決定される。例えば、「ＤＸ」「ＤＹ」は、移動体１の許容最高速度に応じて決定してもよい。
【００８０】
移動量推定部１５は、図１５に示すステップＳ１に続いて、ステップＳ２の処理を実行する。すなわち、移動量推定部１５は、図１４に示す統合路面投影画像を利用して、ステップＳ１で得られた移動体１の移動量を補正する。
【００８１】
図１９は、図１５に示すステップＳ２の処理を示すフローチャートである。移動量推定部１５は、図１９に示すステップＳ４１〜Ｓ４７を実行する。ステップＳ４１〜Ｓ４７の処理の流れは、図１６に示すステップＳ１１〜Ｓ１７とほぼ同じである。ただし、ステップＳ１１〜Ｓ１７とステップＳ４１〜Ｓ４７とでは、処理対象の画像、初期値、いくつかの変数などが異なる。以下、ステップＳ１１〜Ｓ１７とステップＳ４１〜Ｓ４７との間の差異について説明する。
【００８２】
ステップＳ４２において、移動量推定部１５は、回転角ａの初期値を「Ａmax−Ａ2」に設定する。Ａmaxは、ステップＳ１１〜Ｓ１７の処理により得られる。Ａ2は、ステップＳ１１〜Ｓ１７で使用する「Ａ」よりも小さい定数である。
【００８３】
ステップＳ４３において、移動量推定部１５は、前時刻の統合路面投影画像Ｅ(t1)を角度ａだけ回転変換することにより、回転統合路面投影画像Ｆ(t1)を生成する。なお、統合路面投影画像は、図１４を参照しながら説明した通りであり、映像データＤＢ１６に記録されている。そして、ステップＳ４４において、移動量推定部１５は、ステップＳ４３で得られた回転統合路面投影画像Ｆ(t1)と、現在時刻の統合路面投影画像Ｅ(t2)との間で、最大照合度Ｍmaxを与える並進変位（ＤＸmax2、ＤＹmax2）を特定する。
【００８４】
ステップＳ４５において、移動量推定部１５は、角度Δａ2を回転角ａに加算する。なお、角度Δａ2は、回転角ａをＡmax−Ａ2からＡmax＋Ａ2までスキャンするための角度ステップを表す。また、Δａ2は、ステップＳ１１〜Ｓ１７で使用するΔａよりも小さい角度ステップである。そして、ステップＳ４６において、回転角ａがＡmax＋Ａ2以下であれば、移動量推定部１５の処理はステップＳ４３に戻る。
【００８５】
このように、移動量推定部１５は、ステップＳ４３〜Ｓ４６において回転統合路面投影画像Ｆ(t1)の回転角ａをＡmax−Ａ2からＡmax＋Ａ2までスキャンしながら、回転統合路面投影画像Ｆ(t1)と統合路面投影画像Ｅ(t2)との間で最大照合度Ｍmaxを与える並進変位（ＤＸmax2、ＤＹmax2）を特定する。そして、回転角ａがＡmax＋Ａ2よりも大きくなると、移動量推定部１５は、ステップＳ４７において、移動体１の移動量のより詳細な推定結果として、最大照合度Ｍmaxを与える並進変位（ＤＸmax2、ＤＹmax2）および回転角（Ａmax2）を出力する。
【００８６】
図２０は、図１９のステップＳ４４の処理を示すフローチャートである。なお、図２０に示すフローチャートの処理は、統合回転路面投影画像Ｆ(t1)の回転角ａをＡmax−Ａ2からＡmax＋Ａ2までスキャンする手順において、与えられた回転角ａに対して実行される。
【００８７】
図２０に示すステップＳ５１〜Ｓ６２の処理の流れは、図１７に示すステップＳ２１〜Ｓ３２とほぼ同じである。ただし、ステップＳ２１〜Ｓ３２とステップＳ５１〜Ｓ６２とでは、処理対象の画像、初期値、いくつかの変数などが異なる。以下、ステップＳ２１〜Ｓ３２とステップＳ５１〜Ｓ６２との間の差異について説明する。
【００８８】
ステップＳ５１〜Ｓ６２においては、変位ｄｘは、ｄｘmax±ＤＸ2の範囲でスキャンされる。変位ｄｘを変化させるステップΔdx2は、ステップＳ２１〜Ｓ３２で使用するΔdxよりも小さい。また、変位ｄｙは、ｄｙmax±ＤＹ2の範囲でスキャンされる。変位ｄｙを変化させるステップΔdy2は、ステップＳ２１〜Ｓ３２で使用するΔdyよりも小さい。
【００８９】
更に、ステップＳ６１において「ｍmax＞Ｍmax」であれば、移動量推定部１５は、ステップＳ６２において、Ｍmax、ＤＸmax2、ＤＹmax2、Ａmax2を下記のように更新する。
Ｍmax←ｍmax
ＤＸmax2←ｄｘmax
ＤＹmax2←ｄｙmax
Ａmax2←ａ
移動量推定部１５は、移動体１の並進移動量の推定値としてＤＸmax2、ＤＹmax2を出力する。また、移動量推定部１５は、移動体１の回転量の推定値としてＡmax2を出力する。
【００９０】
このように、第１の実施形態の移動量推定装置１０（または、移動量推定方法）は、まず、路面模様画像を利用して移動体１の移動量を推定する。その後、移動量推定装置１０は、路面模様画像に基づく推定結果および統合路面投影画像を利用して、移動体１の移動量をより詳細に推定する。
【００９１】
ここで、路面模様画像は、カメラ映像を路面に投影する処理の中で立体物の画像を除去することで得られる。したがって、第１の実施形態によれば、立体物の影響を受けることなく、移動体１の移動量を精度よく推定できる。
【００９２】
ただし、除去される立体物の画像領域が大きいときは、路面模様画像に含まれる特徴の数が少なくなるおそれがある。このため、移動量推定装置１０は、共通視野領域でない領域の路面投影像も利用してさらに推定を行う。これにより、移動量の推定精度の低下を防ぐことができる。
【００９３】
なお、移動量推定装置１０は、必ずしも、路面模様画像に基づく推定処理の後に統合路面投影画像を利用した推定を実行しなくてもよい。例えば、除去される立体物の画像領域が小さいときは、統合路面投影画像を利用するステップＳ２の処理を省略してもよい。
【００９４】
＜＜第２の実施形態＞＞
図２１は、第２の実施形態の移動量推定装置の機能ブロック図である。第２の実施形態の移動量推定装置２０は、画像入力部１１、同期制御部１２、路面投影部１３、路面模様抽出部１４、回転角入力部２１、移動量推定部２２を備える。ここで、画像入力部１１、同期制御部１２、路面投影部１３、路面模様抽出部１４の動作は、実質的に第１の実施形態と同じである。また、移動量推定装置２０には、カメラ２ａ〜２ｄから映像データが入力され、回転角センサ５から回転データが入力される。さらに、移動量推定装置２０は、映像データＤＢ１６に接続されている。
【００９５】
回転角センサ５は、移動体１に取り付けられており、移動体１の路面上における回転量（ヨー回転量）を表す回転データを出力する。なお、回転角センサ５は、例えば、ジャイロセンサである。
【００９６】
回転角入力部２１は、回転角センサ５から出力される回転データに基づいて、所定の時間における移動体１の回転量を算出する。具体的には、回転角入力部２１は、同期制御部１２により生成される同期信号とその直前の同期信号との間での移動体１の回転量を算出する。そして、回転角入力部２１は、算出した回転角を移動量推定部２２に通知する。
【００９７】
移動量推定部２２は、路面模様画像、統合路面投影画像、および回転角入力部２１により算出される回転角に基づいて、移動体１の移動量を推定する。このとき、移動量推定部２２は、第１の実施形態と同様に、図１５に示すステップＳ１〜Ｓ２を実行することにより、移動体１の移動量を推定する。ただし、第２の実施形態では、移動体１の移動量のうち、移動体１の回転量については回転角センサ５により検出される。したがって、移動量推定部２２は、移動体１の並進移動量を推定する。
【００９８】
図２２は、第２の実施形態で実行されるステップＳ１の処理を示すフローチャートである。第２の実施形態では、移動量推定部２２は、図１５のステップＳ１の処理として、ステップＳ１１、Ｓ１２−２、Ｓ１３−２、Ｓ１４、Ｓ１７−２を実行する。なお、ステップＳ１１、Ｓ１４の処理は、第１の実施形態と同じなので、説明を省略する。
【００９９】
ステップＳ１２−２において、移動量推定部２２は、移動体１の回転角ａとして、回転角入力部２１から通知される「Ａsen」を設定する。続いて、ステップＳ１３−２において、移動量推定部２２は、前時刻の路面模様画像Ｃ(t1)を角度Ａsenだけ回転変換することにより、回転路面模様画像Ｄ(t1)を生成する。そして、移動量推定部２２は、ステップＳ１４を実行した後、ステップＳ１７−２において、移動体１の移動量の推定結果として最大照合度Ｍmaxを与える並進変位（ＤＸmax、ＤＹmax）を出力する。このとき、移動量推定部２２は、回転角入力部２１から通知される回転量Ａsenも合わせて出力する。
【０１００】
図２３は、第２の実施形態で実行されるステップＳ２の処理を示すフローチャートである。第２の実施形態では、移動量推定部２２は、図１５のステップＳ２の処理として、ステップＳ４１、Ｓ４２−２、Ｓ４３−２、Ｓ４４、Ｓ４７−２を実行する。なお、ステップＳ４１、Ｓ４４の処理は、第１の実施形態と同じなので、説明を省略する。
【０１０１】
ステップＳ４２−２において、移動量推定部２２は、移動体１の回転角ａとして、回転角入力部２１から通知される「Ａsen」を設定する。続いて、ステップＳ４３−２において、移動量推定部２２は、前時刻の統合路面投影画像Ｅ(t1)を角度Ａsenだけ回転変換することにより、回転統合路面投影画像Ｆ(t1)を生成する。そして、移動量推定部２２は、ステップＳ４４を実行した後、ステップＳ４７−２において、移動体１の移動量の推定結果として、最大照合度Ｍmaxを与える並進変位（ＤＸmax2、ＤＹmax2）を出力する。このとき、移動量推定部２２は、回転角入力部２１から通知される回転量Ａsenも合わせて出力する。
【０１０２】
このように、第２の実施形態の移動量推定装置２０は、回転角センサ５を利用して移動体１の回転量を取得する。すなわち、移動量推定装置２０は、路面模様画像および統合路面投影画像の回転角をスキャンする処理を実行することなく、移動体１の並進移動量を推定できる。したがって、第２の実施形態においては、第１の実施形態と比較して、移動体１の移動量を推定するための演算量が少なくなる。
【０１０３】
＜＜第３の実施形態＞＞
上述のように、実施形態（例えば、第１の実施形態）の移動量推定方法においては、立体物の画像を除去した路面投影像（すなわち、路面模様画像）を利用して移動量１の移動量が推定される。これにより、立体物の影響を受けることなく、移動体１の移動量が精度よく推定される。
【０１０４】
第３の実施形態では、図２４に示すように、複数のカメラの共通視野領域においては路面模様画像を使用すると共に、他の視野領域においては移動体１の近傍領域の路面投影像を使用する。図２４に示す例では、領域Ｒ１、Ｒ３、Ｒ５、Ｒ７は、それぞれ対応する２台のカメラの共通視野領域であって、図１２に示す方法で生成された路面模様画像を有する。ここで、領域Ｒ１、Ｒ３、Ｒ５、Ｒ７においては、立体物に対応する画像は除去されている。一方、領域Ｒ２、Ｒ４、Ｒ６、Ｒ８は、それぞれ対応する１台のカメラ２ａ、２ｃ、２ｂ、２ｄの視野領域であり、路面投影像を有する。ただし、第３の実施形態では、領域Ｒ２の路面投影像に対して、移動体１に近接する領域Ｒ２ｘ以外の領域の各画素の画素値をゼロに置き換える処理が実行される。また、領域Ｒ４、Ｒ６、Ｒ８においても、移動体１に近接する領域Ｒ４ｘ、Ｒ６ｘ、Ｒ８ｘ以外の領域の各画素の画素値をゼロに置き換える処理が実行される。以下、このようにして生成される図２４に示す画像を近傍統合投影画像と呼ぶことがある。
【０１０５】
領域Ｒ２ｘ、Ｒ４ｘ、Ｒ６ｘ、Ｒ８ｘは、移動体１に近接しているので、その中に立体物が存在する可能性は低い。したがって、領域Ｒ２ｘ、Ｒ４ｘ、Ｒ６ｘ、Ｒ８ｘの画像を利用して移動体１の移動量を推定しても、立体物の影響を受ける可能性は低い。なお、領域Ｒ２ｘ、Ｒ４ｘ、Ｒ６ｘ、Ｒ８ｘは、移動体１からの距離範囲（例えば、移動体１から500mm以下の範囲）を指定することで生成される。
【０１０６】
第３の実施形態の移動量推定装置の構成は、第１の実施形態の移動量推定装置１０と実質的に同じである。ただし、第３の実施形態の移動量推定部の処理は、第１の実施形態の移動量推定部１５と異なる。
【０１０７】
図２５は、第３の実施形態の移動量推定部の処理を示すフローチャートである。第３の実施形態の移動量推定部は、図２５に示すステップＳ７１〜Ｓ７７を実行して移動体１の移動量を推定する。ここで、ステップＳ７１〜Ｓ７７の処理の流れは、第１の実施形態のステップＳ１１〜Ｓ１７とほぼ同じである。ただし、第１の実施形態では路面模様画像を利用するのに対して、第３の実施形態では図２４に示す近傍統合投影画像を利用して移動体１の移動量を推定する。
【０１０８】
このように、第３の実施形態の推定方法は、図２４に示す近傍統合投影画像を利用して図２５に示すフローチャートに従って移動体１の移動量を推定する。ここで、第１の実施形態の推定方法は、図１５に示すステップＳ１で移動量を推定した後、さらにステップＳ２でその移動量を補正する処理を実行する。したがって、第３の実施形態の推定方法は、第１の実施形態と比較して演算量が少なくなる。
【０１０９】
また、第１の実施形態で実行されるステップＳ１は、共通視野領域の路面模様を利用して移動量を推定する。これに対して、第３の実施形態の推定方法は、共通視野領域の路面模様に加えて、非共通視野領域内の立体物が存在する可能性の低い路面投影像も利用して移動量を推定する。したがって、第３の実施形態の推定方法は、第１の実施形態においてステップＳ１のみを実行する場合と比較すると、推定精度が高くなる。
【０１１０】
＜＜第４の実施形態＞＞
第４の実施形態の移動量推定装置の構成は、第２の実施形態の移動量推定装置２０と実質的に同じである。すなわち、第４の実施形態においても、移動体１の回転量は、回転角センサ５を使用して検出される。ただし、第４の実施形態の移動量推定部の処理は、第２の実施形態の移動量推定部２２と異なる。具体的には、第４の実施形態の推定方法は、第３の実施形態と同様に、図２４に示す近傍統合投影画像を利用して移動体１の移動量（ただし、並進移動量）を推定する。
【０１１１】
図２６は、第４の実施形態の移動量推定部の処理を示すフローチャートである。第４の実施形態の移動量推定部は、ステップＳ７１、Ｓ７２−２、Ｓ７３−２、Ｓ７４、Ｓ７７−２を実行して移動体１の移動量を推定する。ここで、ステップＳ７１、Ｓ７２−２、Ｓ７３−２、Ｓ７４、Ｓ７７−２の処理の流れは、図２２に示す第２の実施形態のステップＳ１１、Ｓ１２−２、Ｓ１３−２、Ｓ１４、Ｓ１７−２とほぼ同じである。ただし、第２の実施形態では路面模様画像を利用するのに対して、第４の実施形態では図２４に示す近傍統合投影画像を利用して移動体１の移動量を推定する。
【０１１２】
このように、第４の実施形態の移動量推定方法は、回転角センサ５を利用して移動体１の回転量を取得する。すなわち、第４の実施形態の移動量推定方法は、近傍統合投影画像の回転角をスキャンする処理を実行することなく、移動体１の並進移動量を推定できる。したがって、第４の実施形態においては、第３の実施形態と比較すると、移動体１の移動量を推定するための演算量が少なくなる。
【０１１３】
＜移動量推定装置のハードウェア構成＞
図２７は、第１〜第４の実施形態の移動量推定方法がソフトウェアで実現されるときに、移動量推定装置１０、２０を実現するためのコンピュータシステム１００のハードウェア構成を示す図である。コンピュータシステム１００は、図２７に示すように、ＣＰＵ１０１、メモリ１０２、記憶装置１０３、読み取り装置１０４、通信インタフェース１０６、および入出力装置１０７を備える。なお、ＣＰＵ１０１、メモリ１０２、記憶装置１０３、読み取り装置１０４、通信インタフェース１０６、入出力装置１０７は、例えば、バス１０８を介して互いに接続されている。
【０１１４】
ＣＰＵ１０１は、メモリ１０２を利用して上述の移動量推定方法の手順を記述したプログラムを実行することにより、画像入力部１１、路面投影部１３、路面模様抽出部１４、移動量推定部１５、２２、回転角入力部２１の一部または全部の機能を提供する。
【０１１５】
メモリ１０２は、例えば半導体メモリであり、ＲＡＭ領域およびＲＯＭ領域を含んで構成される。記憶装置１０３は、例えばハードディスクであり、実施形態の移動量推定に係わるプログラムを格納する。なお、記憶装置１０３は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置１０３は、外部記録装置であってもよい。図２または図２１に示す映像データＤＢ１６は、例えば、記憶装置１０３に形成される。図２または図２１に示すカメラ情報は、例えば、記憶装置１０３に格納される。
【０１１６】
読み取り装置１０４は、ＣＰＵ１０１の指示に従って着脱可能記録媒体１０５にアクセスする。着脱可能記録媒体１０５は、たとえば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。通信インタフェース１０６は、ＣＰＵ１０１の指示に従ってネットワークを介してデータを送受信する。入出力装置１０７は、例えば、ユーザからの指示を受け付けるデバイス、カメラ２ａ〜２ｄと接続するためのインタフェース、回転角センサ５と接続するためのインタフェースに相当する。
【０１１７】
実施形態の移動量推定に係わるプログラムは、例えば、下記の形態でコンピュータシステム１００に提供される。
（１）記憶装置１０３に予めインストールされている。
（２）着脱可能記録媒体１０５により提供される。
（３）プログラムサーバ１１０からダウンロードする。
【０１１８】
なお、実施形態の移動量推定装置は、例えば、移動量を推定する対象の移動体に搭載される。ここで、移動量推定装置がプロセッサで移動量推定プログラムを実行することにより実現される場合には、移動量推定のための専用プロセッサで移動量推定プログラムを実行してもよいし、他の用途にも用いる共用プロセッサで移動量推定プログラムを実行してもよい。
【０１１９】
また、実施形態の移動量推定装置は、移動量を推定する対象の移動体の外部に設けるようにしてもよい。この場合、移動体に取り付けられている各カメラの映像データは、無線リンクを介して移動量推定装置へ送信される。そして、移動量推定装置は、無線リンクを介して受信する映像データを利用して移動体の移動量を推定する。この場合、移動量推定装置は、移動量の推定結果を、無線リンクを介して移動体に送信するようにしてもよい。
【０１２０】
さらに、移動量推定装置は、ハードウェアで実現してもよい。或いは、移動量推定装置は、ソフトウェアとハードウェアとの組合せで実現してもよい。
【符号の説明】
【０１２１】
１      移動体
２ａ〜２ｄ      カメラ
５      回転角センサ
１０、２０      移動量推定装置
１１      画像入力部
１２      同期制御部
１３      路面投影部
１４      路面模様抽出部
１５、２２      移動量推定部
１６      映像データＤＢ
２１      回転角入力部
【図２】
0005682266.tif 000004
【図３】
0005682266.tif 000005
【図５】
0005682266.tif 000006
【図６】
0005682266.tif 000007
【図７】
0005682266.tif 000008
【図１５】
0005682266.tif 000009
【図１６】
0005682266.tif 000010
【図１７】
0005682266.tif 000011
【図１９】
0005682266.tif 000012
【図２０】
0005682266.tif 000013
【図２１】
0005682266.tif 000014
【図２２】
0005682266.tif 000015
【図２３】
0005682266.tif 000016
【図２５】
0005682266.tif 000017
【図２６】
0005682266.tif 000018
【図２７】
0005682266.tif 000019
【図１】
0005682266.tif 000020
【図４】
0005682266.tif 000021
【図８】
0005682266.tif 000022
【図９】
0005682266.tif 000023
【図１０】
0005682266.tif 000024
【図１１】
0005682266.tif 000025
【図１２】
0005682266.tif 000026
【図１３】
0005682266.tif 000027
【図１４】
0005682266.tif 000028
【図１８】
0005682266.tif 000029
【図２４】
0005682266.tif 000030