(57)【特許請求の範囲】
【請求項１】
移動体の外部を異なる時間に撮像した複数の画像の各々に対して、複数の追跡領域を設定し、前記複数の追跡領域内の画像を追跡して、前記複数の画像間での動きを前記複数の追跡領域毎に算出する追跡手段と、
前記追跡手段で算出した前記複数の追跡領域毎の動きから、前記移動体の運動を運動推定アルゴリズムを用いて推定する運動推定手段と、
前記複数の追跡領域毎の動きと、前記運動推定手段で推定された前記移動体の運動と、に基づいて、現在の環境の三次元構造に適した構造パターンを、記憶手段に記憶されている環境の三次元構造を近似した構造パターンから選択する選択手段と、
記憶手段に記憶されている構造パターンと、前記複数の追跡領域の画像上での位置及び前記運動推定アルゴリズムと、の対応関係から、前記選択手段により選択された現在の環境の三次元構造に適した構造パターンに応じた前記複数の追跡領域の画像上での位置を前記追跡手段に設定し、かつ前記運動推定アルゴリズムを前記運動推定手段に設定する、設定手段と、
を備えた、運動推定装置。
【請求項２】
構造パターンを、走路の形状、及び対向車線の有無の組み合わせで表現する、請求項１に記載の運動推定装置。
【請求項３】
前記運動推定手段は、前記移動体のヨー回転運動及びピッチ回転運動を推定する、請求項１または請求項２に記載の運動推定装置。
【請求項４】
前記選択手段は、前記複数の追跡領域毎の動き、及び前記運動推定手段で推定された前記移動体の運動に基づいて、現在の構造パターンを選択する、請求項１から請求項３のいずれか１項に記載の運動推定装置。
【請求項５】
前記運動推定手段は、信頼度が高い前記追跡領域を用いて前記移動体の運動を推定する、請求項１から請求項４のいずれか１項に記載の運動推定装置。
【請求項６】
前記選択手段は、信頼度が高い前記追跡領域を用いて現在の構造パターンを選択する、請求項１から請求項５のいずれか１項に記載の運動推定装置。
【請求項７】
コンピュータを、
移動体の外部を異なる時間に撮像した複数の画像の各々に対して、複数の追跡領域を設定し、前記複数の追跡領域内の画像を追跡して、前記複数の画像間での動きを前記複数の追跡領域毎に算出する追跡手段と、
前記追跡手段で算出した前記複数の追跡領域毎の動きから、前記移動体の運動を運動推定アルゴリズムを用いて推定する運動推定手段と、
前記複数の追跡領域毎の動きと、前記運動推定手段で推定された前記移動体の運動と、に基づいて、現在の環境の三次元構造に適した構造パターンを、記憶手段に記憶されている環境の三次元構造を近似した構造パターンから選択する選択手段と、
記憶手段に記憶されている構造パターンと、前記複数の追跡領域の画像上での位置及び前記運動推定アルゴリズムと、の対応関係から、前記選択手段により選択された現在の環境の三次元構造に適した構造パターンに応じた前記複数の追跡領域の画像上での位置を前記追跡手段に設定し、かつ前記運動推定アルゴリズムを前記運動推定手段に設定する、設定手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運動推定装置及びプログラムに係り、特に、移動体の運動を推定する運動推定装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、車両等の移動体の運動を推定する装置として、移動体に設置されたカメラ等の撮像装置で撮像された画像を用いて、当該移動体の運動を推定する方法が知られている。
【０００３】
例えば、特許文献１には、カメラの運動を推定する際に、異なる時刻で撮影された２枚の画像から特徴点の動きを算出し、所定の平面を仮定した状態で、特徴点の動きから移動体の運動を推定する技術が記載されている。
【０００４】
また、特許文献２には、道路に沿って存在する構造物を画像上の双曲線で近似し、左右の双曲線の漸近線の交点から、道路の消失点、及び構造物に対する車両の位置・姿勢を推定する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３８４３１１９号公報
【特許文献２】特開平８−１５９７１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら上記の特許文献１に記載の技術では、多段階の運動算出によって計算量が大きくなるという問題がある。また、特徴点の動き算出ステップでは、どの特徴点が正しく追跡できているか分からないため、十分に多くの特徴点を追跡する必要があり、このことからも計算量が多くなってしまうという問題がある。
【０００７】
また、上記の特許文献２に記載の技術では、画像上からの構造物の検出の計算量は小さくなく、かつ、双曲線の当てはめを行うためには、多数の構造物を検出する必要があるという問題がある。
【０００８】
本発明は、上記の問題点を解決するためになされたものであり、運動推定の誤りを増やすことなく、計算量を削減することができる運動推定装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の運動推定装置は、移動体の外部を異なる時間に撮像した複数の画像の各々に対して、複数の追跡領域を設定し、前記複数の追跡領域内の画像を追跡して、前記複数の画像間での動きを前記複数の追跡領域毎に算出する追跡手段と、前記追跡手段で算出した前記複数の追跡領域毎の動きから、前記移動体の運動を運動推定アルゴリズムを用いて推定する運動推定手段と、前記複数の追跡領域毎の動きと、前記運動推定手段で推定された前記移動体の運動と、に基づいて、現在の環境の三次元構造に適した構造パターンを、記憶手段に記憶されている環境の三次元構造を近似した構造パターンから選択する選択手段と、記憶手段に記憶されている構造パターンと、前記複数の追跡領域の画像上での位置及び前記運動推定アルゴリズムと、の対応関係から、前記選択手段により選択された現在の環境の三次元構造に適した構造パターンに応じた前記複数の追跡領域の画像上での位置を前記追跡手段に設定し、かつ前記運動推定アルゴリズムを前記運動推定手段に設定する、設定手段と、を備える。
【００１０】
追跡手段は、移動体の外部を異なる時間に撮像した複数の画像の各々に対して、複数の追跡領域を設定する。また、複数の追跡領域内の画像を追跡して、複数の画像間での動きを複数の追跡領域毎に算出する。
【００１１】
運動推定手段は、追跡手段で算出した複数の追跡領域毎の動きから、移動体の運動を運動推定アルゴリズムを用いて推定する。
【００１２】
予め記憶手段には、環境の三次元構造を近似した構造パターン、及び構造パターンと、複数の追跡領域の画像上での位置及び運動推定アルゴリズムと、の対応関係が記憶されている。
【００１３】
選択手段は、複数の追跡領域毎の動きと、運動推定手段で推定された移動体の運動と、に基づいて、移動体が存在する現在の環境の三次元構造に適した構造パターンを、記憶手段に記憶されている環境の三次元構造を近似した構造パターンから選択する。
【００１４】
設定手段は、記憶手段に記憶されている構造パターンと、複数の追跡領域の画像上での位置及び運動推定アルゴリズムと、の対応関係から、選択手段により選択された現在の環境の三次元構造に適した構造パターンに応じた複数の追跡領域の画像上での位置を追跡手段に設定し、かつ運動推定アルゴリズムを運動推定手段に設定する。
【００１５】
このような構成とすることで、環境の三次元構造をいくつかの構造パターンに分類し、各構造パターンに応じて運動推定アルゴリズムを設定することで、撮像手段で撮像した画像から、移動体の運動を推定する際の計算量を削減することができる。また、環境の三次元構造を仮定することで、追跡時の誤りが発生しづらい場所に追跡領域を設定することができるため、追跡領域の数を従来技術と比較して減らすことができる。さらに、運動推定アルゴリズムを簡略化することができる。従って、運動推定の誤りを増やすことなく、計算量を削減することができる。
【００１６】
本発明係る構造パターンは、走路の形状、及び対向車線の有無の組み合わせで表現することができる。
【００１７】
本発明に係る運動推定手段は、前記移動体のヨー回転運動及びピッチ回転運動を推定するようにすることができる。このようにロール回転運動については推定しないようにすることにより、計算量をより削減することができる。
【００１８】
本発明に係る選択手段は、前記複数の追跡領域毎の動き、及び前記運動推定手段で推定された前記移動体の運動に基づいて、現在の構造パターンを選択するようにすることができる。
【００１９】
本発明に係る運動推定手段は、信頼度が高い前記追跡領域を用いて前記移動体の運動を推定することが好ましい。信頼度が低い追跡領域を用いないことにより、より移動体の運動推定の誤りを減らすことができる。
【００２０】
本発明に係る選択手段は、信頼度が高い前記追跡領域を用いて現在の構造パターンを選択することが好ましい。信頼度が低い追跡領域を用いないことにより、より現在の環境に適した構造パターンを選択することができるようになる。
【００２１】
また、本発明のプログラムは、コンピュータを、移動体の外部を異なる時間に撮像した複数の画像の各々に対して、複数の追跡領域を設定し、前記複数の追跡領域内の画像を追跡して、前記複数の画像間での動きを前記複数の追跡領域毎に算出する追跡手段と、前記追跡手段で算出した前記複数の追跡領域毎の動きから、前記移動体の運動を運動推定アルゴリズムを用いて推定する運動推定手段と、前記複数の追跡領域毎の動きと、前記運動推定手段で推定された前記移動体の運動と、に基づいて、現在の環境の三次元構造に適した構造パターンを、記憶手段に記憶されている環境の三次元構造を近似した構造パターンから選択する選択手段と、憶手段に記憶されている構造パターンと、前記複数の追跡領域の画像上での位置及び前記運動推定アルゴリズムと、の対応関係から、前記選択手段により選択された現在の環境の三次元構造に適した構造パターンに応じた前記複数の追跡領域の画像上での位置を前記追跡手段に設定し、かつ前記運動推定アルゴリズムを前記運動推定手段に設定する、設定手段として機能させるためのものである。
【発明の効果】
【００２２】
以上説明したように、運動推定の誤りを増やすことなく、計算量を削減することができるという効果が得られる。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態に係る運動推定装置の一例の概略構成を示すブロック図である。
【図２】本実施の形態に係る撮像部で撮像された画像上における追跡領域を説明するための説明図であり、追跡領域が均等配置されている場合を示している。
【図３】本実施の形態に係る撮像部で撮像された画像上における追跡領域を説明するための説明図であり、追跡領域が偏り配置（右側が疎）されている場合を示している。
【図４】本実施の形態に係る運動推定処理の流れの一例を示したフローチャートである。
【図５】本実施の形態に係る運動推定処理ルーチンの一例である。
【図６】本実施の形態に係るヨーレート・ピッチレート算出処理ルーチンの一例である。
【図７】本実施の形態に係る構造パターン選択処理ルーチンの一例である。
【図８】本実施の形態に係る対向車線有無判定処理ルーチンの一例である。
【図９】本実施の形態に係るカーブ路判定処理ルーチンの一例である。
【図１０】本実施の形態に係る記憶部に予め記憶されている構造パターンと、追跡領域５２の配置と、運動推定アルゴリズムとの対応関係の具体的一例である。
【発明を実施するための形態】
【００２４】
以下、各図面を参照して本実施の形態の一例について説明する。なお、車両に搭載された運動推定装置に本発明を適用した場合を例に説明する。
【００２５】
まず、本実施の形態の運動推定装置の概略構成について説明する。本実施の形態の運動推定装置の一例の概略構成を示すブロック図を図１に示す。
【００２６】
本実施の形態の運動推定装置１０は、撮像部１２、記憶部１４、及びコンピュータ２０を備えている。
【００２７】
撮像部１２は、自車両の前方を含む周辺領域を撮像し、画像信号を生成するカメラ（図示省略）と、カメラで生成されたアナログ信号である画像信号をデジタル信号に変換するＡ／Ｄ変換部（図示省略）と、Ａ／Ｄ変換された画像信号を一時的に格納するための画像メモリ（図示省略）とを備えている。なお、撮像部１２は、台数や画角については特に限定されるものではなく、任意の構成としてよい。また、撮像部１２によって出力される画像は、濃淡画像及びカラー画像の何れであってもよい。運動量を適切に推定できる場所であれば、設置場所、画角、波長、及び設置個数については問わない。
【００２８】
記憶部１４は、環境の三次元構造を近似した構造パターンと、追跡領域５２の位置（配置）と、運動推定アルゴリズムと、の対応関係（図１０参照、詳細後述）等を、予め記憶する機能を有している。本実施の形態の記憶部１４は、不揮発性の記憶媒体であれば特に限定されるものではない。
【００２９】
コンピュータ２０は、運動推定装置１０全体を制御するＣＰＵ、ＲＯＭ、及びＲＡＭ等（いずれも図示省略）により構成される。ＣＰＵは、予め定められた運動推定プログラム（詳細後述）に従ってデジタル演算処理を実行する機能を有する。ＲＡＭは、ＣＰＵで運動推定プログラム等のプログラムを実行する際の作業用の領域を確保するものである。ＲＯＭは、ＣＰＵでの処理に使用される各種設定値等や運動推定プログラム等が格納される。本実施の形態では、当該運動推定プログラムがＣＰＵにより実行されることにより、詳細を後述する運動推定処理が行われる。なお、本実施の形態では、運動推定プログラムは、予め格納されている構成としているがこれに限らず、外部装置（図示省略）からＲＯＭにインストールされるように構成してもよい。また、インターネット等のネットワークを介して伝送された運動推定プログラムがＲＯＭにインストールされるように構成してもよい。さらにまた、フラッシュメモリ、ＵＳＢ等の外部記録媒体からＲＯＭにインストールされるように構成してもよい。
【００３０】
コンピュータ２０では、撮像部１２で撮像された画像から自車両の運動を推定し、推定した運動を出力する機能を有している。そのため、本実施の形態のコンピュータ２０をハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図１に示すように、追跡部２２、運動推定部２４、及び構造パターン選択部２６を備えている。
【００３１】
追跡部２２は、撮像部１２から撮像時刻が異なる複数の画像を取得し、各画像上に、複数の追跡領域を設定し、複数の追跡領域内の画像を追跡して、複数の画像間での動きを追跡領域毎に算出する機能を有している。
【００３２】
本実施の形態の追跡領域の具体的例を図２及び図３に示す。図２は、撮像部１２で撮像された画像５０上に４個の追跡領域５２（５２０〜５２３）が均等に（等間隔に）配置された具体的一例を示している。また、図３は、撮像部１２で撮像された画像５０上に４個の追跡領域５２（５２０〜５２３）が右側が疎になるように偏り配置された具体的一例を示している。なお、自車両の運転手の右側に当たる方を、画像５０の右側としている。
【００３３】
図２、図３に示した何れの場合においても、追跡領域５２の画像５０上での縦方向の位置は、予め定められた位置、あるいは地図情報や車載センサ情報から設定された水平線上の位置に配置されている。一方、横方向の位置は、初期状態（例えば、後述の運動推定処理開始時）では、均等配置、または予め定められた配置としている。また、後述の運動推定処理の開始後は、構造パターン選択部２６の選択結果に応じて、左右のいずれかが疎になるように偏り配置または、均等配置としている。なお、本実施の形態では、このように追跡領域５２を水平方向に並べて配置しているが、車両は平面を走っているため、水平方向を追跡すれば十分である。
【００３４】
偏り配置の場合の追跡領域の位置は、画像５０の横方向をＸ軸、縦方向をＹ軸、画像５０の中心の座標を（ｃｘ、ｃｙ）、画像５０の幅をｗ、及び撮像部１２のカメラの焦点距離をｆとし、画像５０上に、Ｎ個（図３ではＮ＝４）の追跡領域５２を配置する場合、ｉ番目（ｉ＝０〜Ｎ−１）の点の横座標ｘ＿ｉは、以下の（１）式及び（２）式により算出される。
【００３５】
ｔ＝ｉ／（Ｎ−１）    ・・・（１）
ｘ＿ｉ＝（ｋ１×ｔ×ｔ＋ｋ２×ｔ＋ｋ３）×ｗ＋ｃｘ    ・・・（２）
上記（２）式のｋ１、ｋ２、ｋ３により、追跡領域５２の偏った配置が定められる。ｋ１の符号により、偏り方が左右のいずれで有るかが決まる。ｋ１が正（＋）の場合は、右側が疎、左側が密になり、ｋ１が負（−）の場合は、右側が密、左側が疎に偏る。またｋ１＝０の場合は、上記（２）式は、ｔに対する１次式となり、追跡領域５２が均等配置された場合と同様になる。また、ｋ２により追跡領域５２同士の間隔が決まる。
【００３６】
追跡部２２は、このように配置された複数の追跡領域５２毎に、撮像時刻が異なる複数の画像５０間での動きを算出する。画像間での動きの算出の仕方は、一般に行われている手法を適用すればよい。例えば、追跡領域５２内の画像上で追跡しやすい特徴点を複数抽出し、各画像５０上における対応する追跡領域５２内の画像間で、対応する特徴点を追跡し、対応する特徴点の動きを算出するようにする方法が挙げられる。
【００３７】
なお、追跡領域５２内の予め定められた点や、ランダムに選択した点を追跡してもかまわない。これは、構造パターンを仮定して設定された追跡領域内には追跡に適した特徴（コーナーやエッジ）が多く存在することが期待できるため、追跡しやすい特徴点を検出せずとも信頼性の高い追跡が期待できるためである。
【００３８】
運動推定部２４は、運動推定アルゴリズムを用いて、追跡部２２で算出した追跡領域５２の動きから自車両の運動を推定して出力する機能を有している。なお、本実施の形態としては、自車両の運動として、ヨー回転速度（ヨーレート）及びピッチ回転速度（ピッチレート）を推定結果として出力している。
【００３９】
本実施の形態の運動推定部２４では、ヨーレートとピッチレートとを別々に算出している。ヨーレートは、各追跡領域５２の横方向（Ｘ軸方向）の変位量に基づいて算出される。また、ピッチレートは、各追跡領域５２の縦方向（Ｙ軸方向）の変位量に基づいて算出される。本実施の形態では、各追跡領域５２の画像の変位量をカメラの回転量に変換し、カメラの回転量を自車両の回転量（運動）として推定している。なお、運動推定アルゴリズムとして、ヨーレート及びピッチレートの算出にあたり、各追跡領域５２の変位量の中央値を用いるか重み付平均を用いるかが設定されている。
【００４０】
また、本実施の形態の運動推定部２４は、追跡領域５２の信頼度Ｒを算出し、算出した信頼度Ｒに基づいて、自車両の運動を推定するのに用いる追跡領域５２を決定する機能を有している。信頼度Ｒの算出方法は、特に限定されず、一般的な手法を用いればよい。以下に、本実施の形態で用いた具体的手法について説明する。
【００４１】
本実施の形態では、追跡領域５２の信頼度Ｒは、追跡時の誤差から算出される信頼度Ｒ＿ｅｒｒｏｒと、ヨーレート及びピッチレートから算出される信頼度Ｒ＿ｆｌｏｗと、の重み付き和で算出される。
【００４２】
信頼度Ｒ＿ｅｒｒｏｒは、点の追跡を行った際の追跡点近傍の画像の輝度差を追跡誤差Ｅとして、追跡誤差Ｅの逆数を信頼度Ｒ＿ｅｒｒｏｒとして算出する。誤差Ｅは、追跡領域５２の画像Ｉ＿０上の点（ｘ、ｙ）を画像Ｉ＿１で追跡した結果の変位量が（ｄｘ、ｄｙ）であった場合、追跡時のウインドウサイズをｗとすると、以下の（３）式により算出される。
【００４３】
【数１】
0005811868.tif 000002
・・・（３）
さらに、信頼度Ｒ＿ｅｒｒｏｒは、以下の（４）式で算出される。なお、（４）式中のｅは、０除算を防止するための小さな値である。
【００４４】
Ｒ＿ｅｒｒｏｒ＝１（Ｅ＋ｅ）    ・・・（４）
また、信頼度Ｒ＿ｆｌｏｗは、ｉ番目の追跡領域５２で推定されたＸ軸方向の変位量をＶｉ＿ｘ、及びＹ軸方向の変位量をＶｉ＿ｙとし、推定されたヨーレート及びピッチレートから後述の（５）式の関係を用いて算出される追跡領域５２画像上での変位量をそれぞれＭ＿ｘ、Ｍ＿ｙとした場合、以下の疑似コードにより算出される。
Ｒ＿ｆｌｏｗ＝ｃｏｎｓｔ．
ｉｆ（｜Ｖｉ＿ｘ｜＞＊ｓｃａｌｅ０）｛Ｒ＿ｆｌｏｗ＝Ｒ＿ｆｌｏｗ−ｗ；｝
ｉｆ（｜Ｖｉ＿ｙ｜＞＊ｓｃａｌｅ１）｛Ｒ＿ｆｌｏｗ＝Ｒ＿ｆｌｏｗ−ｗ；｝
なお、上記擬似コードにおいてｓｃａｌｅ０及びｓｃａｌｅ１は、ヨーレート及びピッチレートからの外れ値を許容する範囲を制限するパラメータであり、正の値であるｗは、外れ値に対する信頼度のペナルティである。
【００４５】
このようにして得られた信頼度Ｒ＿ｅｒｒｏｒと信頼度Ｒ＿ｆｌｏｗとの重み付き和として信頼度Ｒを算出する。また、信頼度Ｒが予め定められた閾値よりも低い追跡領域５２は、予め定められたフレーム数の間、運動推定処理には用いないようにしている。すなわち、信頼度Ｒが閾値以上（信頼度が高い）の追跡領域５２を運動推定処理に用いる追跡領域５２として決定している。なお、後述の構造パターン選択処理においても、信頼度Ｒが閾値以上の追跡領域５２を用い、信頼度Ｒが閾値未満（信頼度が低い）の追跡領域５２は用いないことが好ましい。
【００４６】
また、本実施の形態の構造パターン選択部２６は、運動推定部２４により推定されたヨーレート及びピッチレートから、現在、自車両が走行している環境に近い構造パターンを選択する機能を有している。本実施の形態では、構造パターンの具体的例として、対向車線の有無、及び走路の形状（カーブ路・直線路）について選択している。
【００４７】
また、構造パターン選択部２６は、選択した現在の環境に適した構造パターンに対応した追跡領域５２の位置（配置）を記憶部１４から取得し、追跡部２２に設定すると共に、記憶部１４から運動推定アルゴリズムを取得して運動推定部２４に設定する。
【００４８】
次に、本実施の形態の運動推定装置１０のコンピュータ２０で実行される運動推定処理について説明する。本実施の形態に係る運動推定処理全体の流れの一例のフローチャートを図４に示す。
【００４９】
ステップ１００では、異なる時刻（タイミング）で撮像部１２によって撮像された複数の画像５０を取得する。次のステップ１０２では、追跡部２２により、上述したように追跡領域５２毎に画像間の動き（変位量）を算出する。
【００５０】
次のステップ１０４では、運動推定部２４により、運動推定アルゴリズムを用いて、追跡領域５２毎の変位量から運動（ヨーレート及びピッチレート）を推定する運動推定処理を実行する。当該ステップ１０４は、図５に一例を示した運動推定処理ルーチンによって実現される。
【００５１】
まずステップ２００では、上述したように信頼度Ｒを算出し、次のステップ２０２では、算出された信頼度Ｒに基づいて、使用数抵抗素子Ｒ追跡領域５２を決定する。次のステップ２０４では、設定されている運動推定アルゴリズムを取得する。なお、本実施の形態では、初期状態の場合では、予め定められた運動推定アルゴリズムが設定されているものとしている。
【００５２】
次のステップ２０６では、ヨーレート算出処理を実行して、取得した運動推定アルゴリズムに基づいてヨーレートを算出し、さらに次のステップ２０８では、ピッチレート算出処理を実行して、取得した運動推定アルゴリズムに基づいてピッチレートを算出する。ヨーレート算出処理、及びピッチレート算出処理は、ヨーレートは各追跡領域５２の横方向（Ｘ軸方向）の変位量に基づいて算出し、ピッチレートは各追跡領域５２の縦方向（Ｙ軸方向）の変位量に基づいて算出する他、略同様の処理であるため、ここでは一緒に説明する。
【００５３】
ステップ２０６のヨーレート算出処理、及びステップ２０８のピッチレート算出処理は、図６に一例を示したヨーレート・ピッチレート算出処理ルーチンによって実現される。まず、ステップ３００では、取得した運動推定アルゴリズムが中央値であるか、重み付き平均であるかを判断する。中央値の場合は、ステップ３０２へ進み、重み付き平均の場合は、ステップ３０６へ進む。
【００５４】
運動推定アルゴリズムが中央値の場合は、ステップ３０２では、全ての追跡領域５２の変位量から中央値ｍを算出する。次のステップ３０４では、カメラの画角とフレームレートｐｓと、から画像上での変位量（ここでは、中央値ｍ）を、以下の（５）式を用いて回転速度ｖに変換する。
【００５５】
ｖ＝変位量（ｍ）×ａｔａｎ（ｗ／２／ｆ）／ｆｐｓ    ・・・（５）
一方、運動推定アルゴリズムが重み付き平均の場合は、ステップ３０６では、全ての追跡領域５２の変位量をソートする。次のステップ３０８では、中央値ｍを含む、Ｍ個（予め定められた数）の変位量の平均値ｍａｖｅを算出する。次のステップ３１０では、カメラの画角とフレームレートｐｓと、から画像上での変位量（ここでは、平均値ｍａｖｅ）を、上述の（５）式を用いて回転速度ｖに変換する。
【００５６】
このように、画像の変位量（中央値ｍまたは平均値ｍａｖｅ）をカメラの回転量に変換し、カメラの回転量を自車両の回転量（ヨーレート・ピッチレート）として推定した後、本処理を終了し、図５に示したステップ２１０へ進む。ステップ２１０では、推定したヨーレート及びピッチレートを出力した後、本処理を終了し、図４に示したステップ１０６へ進む。
【００５７】
ステップ１０６では、構造パターン選択部２６により、追跡部２２で算出された追跡領域５２毎の動きの分布と、運動推定部２４で推定されたヨーレート及びピッチレートに基づいて、現在自車両が走行質得る環境に近い構造パターンを選択する構造パターン選択処理を実行する。当該ステップ１０６は、図７に一例を示した構造パターン選択処理ルーチンによって実現される。
【００５８】
まずステップ４００では、図８に一例を示した対向車線有無判定処理ルーチンによって実現される、対向車線の有無を判定する対向車線有無判定処理を実行する。さらに、次のステップ４０２では、図９に一例を示したカーブ路判定処理ルーチンによって実現される、カーブ路及び直線路のいずれであるかを判定するカーブ路判定処理を実行する。
【００５９】
これらの判定処理において、ｉ番目の追跡領域５２から算出されたＸ軸方向及びＹ軸方向の変位量をそれぞれＶｉ＿ｘ、Ｖｉ＿ｙとする。なお、日本の場合、車両は左側通行であるため、ｉ＝Ｎ／２〜Ｎ−１番目の追跡領域５２は、画像５０上で対向車線を含む領域に設定された追跡領域５２とし、反対側を歩道を含む領域に設定されたとしている。以降では、説明の簡略化のため、前者を右側領域、後者を左側領域と称する。
【００６０】
右側領域及び左側領域のそれぞれにおける追跡領域５２の変位量の平均（左側：ＬｅｆｔＡｖｅ、右側：ＲｉｇｈｔＡｖｅ）と、分散（左側：ＬｅｆｔＳｔｄｅｖ、右側：ＲｉｇｈｔＳｔｄｅｖ）を算出する。また、現在のヨーレートから、上記（５）式を用いて、画像中央での変位量（変位量Ｖ）を逆算する。
【００６１】
これらの判定処理に用いる閾値の意味と値の算出方法は、以下の用になっている。
【００６２】
閾値ｔｈ１＝（｜ＬｅｆｔＡｖｅ−Ｖ｜＋｜ＲｉｇｈｔＡｖｅ−Ｖ｜）／２）
閾値ｔｈ２＝事前に予め定められた値
閾値ｔｈ３＝事前に予め定められた値
対向車線有無判定処理について図８を参照して説明する。ステップ５００では、上述したようにＬｅｆｔＳｔｄｅｖ、ＲｉｇｈｔＳｔｄｅｖ、及び閾値ｔｈ１を算出する。次のステップ５０２では、ＲｉｇｈｔＳｔｄｅｖ−ＬｅｆｔＳｔｄｅｖ＞ｔｈ１を満たしているか否かを判断する。対向車線が有る場合、右側領域の方が左側領域に比べて変位量が大きく、右側領域の分散が大きくなる。そこで、条件を満たしている場合は、ステップ５０４へ進み、対向車線有りと判定し、満たしていない場合は、ステップ５０６へ進み、対向車線無しと判定して本処理を終了する。
【００６３】
さらに、カーブ路判定処理について図９を参照して説明する。ステップ６００では、上述したように変位量Ｖを算出する。次のステップ６０２では、｜Ｖ｜＞ｔｈ２を満たしているか否かを判断する。カーブ路である場合、ヨー・ピッチが発生するため、画像全体に変位が生じる。そこで、条件を満たしていない場合（画像全体の変位量が少ない場合）は、ステップ６０８へ進み、直線路であると判定する。一方、条件を満たしている場合は、ステップ６０４へ進む。
【００６４】
ステップ６０４では、｜ＲｉｇｈｔＡｖｅ−ＬｅｆｔＡｖｅ｜＞ｔｈ３を満たしているか否かを判断する。すなわち、画像全体に生じている変位が、カーブに起因するものであるか、例えば坂道等、走路の上下変動に起因するものであるかを判断する。条件を満たしている場合は、ステップ６０６へ進み、カーブ路であると判定し、条件を満たしていない場合は、ステップ６０８へ進み、直線路であると判定して本処理を終了する。
【００６５】
このようにして図４のステップ１０６の構造パターン選択処理により自車両が現在走行している環境の構造パターンが選択されると、次のステップ１０８に進む。ステップ１０８では、記憶部１４に記憶されている構造パターンと、追跡領域５２の配置と、運動推定アルゴリズムとの対応関係に基づいて、選択された構造パターンに応じた追跡領域５２の配置を追跡部２２に設定し、さらに次のステップ１１０では、選択された構造パターンに応じた運動推定アルゴリズムを運動推定部２４に設定した後、ステップ１００にリターンする。本実施の形態における、構造パターンと、追跡領域５２の配置と、運動推定アルゴリズムとの対応関係の具体的一例を図１０に示す。
【００６６】
本処理により、構造パターン選択部２６によって、追跡領域５２及び運動推定アルゴリズムが設定されることにより、次回からは、追跡部２２では、設定された配置における追跡領域５２内の画像を追跡して、複数の画像間での動きを追跡領域毎に算出する。また、運動推定部２４では、設定された運動推定アルゴリズムにより自車両の運動を推定する。
【００６７】
以上説明したように、本実施の形態の運動推定装置１０は、追跡部２２、運動推定部２４、及び構造パターン選択部２６を備えている。追跡部２２は、撮像部１２から撮像時刻が異なる複数の画像を取得し、各画像上に、複数の追跡領域を設定し、複数の追跡領域内の画像を追跡して、複数の画像間での動きを追跡領域毎に算出する。運動推定部２４は、運動推定アルゴリズムを用いて、追跡領域５２の動きから自車両のヨーレート及びピッチレートを推定して出力する。構造パターン選択部２６は、推定されたヨーレート及びピッチレートから、現在、自車両が走行している環境に近い構造パターン（対向車線の有無及び走路の形状）を選択する。また、構造パターン選択部２６は、選択した現在の環境に適した構造パターンに対応した追跡領域５２の配置を追跡部２２に設定し、運動推定アルゴリズムを運動推定部２４に設定する。
【００６８】
このように構造パターン選択部２６で構造パターンを選択することにより、現在の自車両が走行中の環境における構造パターンを仮定しているため、追跡時の誤りが発生しづらい場所に追跡領域５２を設定することができるため、追跡領域５２の数を従来技術と比較して減らすことができる。従って、運動推定の誤りを増やすことなく、計算量を削減することができる。
【００６９】
また、本実施の形態では、運動推定部２４では、ヨーレート及びピッチレートを推定しており、ローレートについては推定してない。これにより、運動の算出速度を高速化することができると共に、より計算量を削減することができる。
【００７０】
また、本実施の形態では、運動推定部２４及び構造パターン選択部２６は、各々の各処理において、信頼度Ｒが低い追跡領域５２を用いず、信頼度Ｒが高い追跡領域５２のみを使用している。これにより、より運動推定の誤りを減らすことができる。
【００７１】
なお、本実施の形態では、構造パターンを対向車線の有無、及び走路形状（カーブ路・直線路）の組み合わせで表現しているがこれに限らない。自車両の近くまたは遠くに障害物が有るか否かを判断することができるものならばよく、ガードレールや中央分離帯等、路側物等の有無、車線数等を用いて表現してもよい。
【００７２】
また、本実施の形態では、構造パターン選択部２６が構造パターンを選択すると共に、追跡部２２への追跡領域５２の配置の設定、及び運動推定部２４への運動推定アルゴリズムの設定を行っているがこれに限らず、構造パターンの選択機能と、追跡領域５２及び運動推定アルゴリズムの設定機能とを別個のものとして構成してもよい。
【００７３】
なお、本実施の形態で説明した運動推定装置１０、コンピュータ２０等の構成、運動推定処理等の各処理の流れ等は一例であり、本発明の主旨を逸脱しない範囲内において状況に応じて変更可能であることは言うまでもない。
【符号の説明】
【００７４】
１０  運動推定装置
１２  撮像部
１４  記憶部
２０  コンピュータ
２２  追跡部
２４  運動推定部
２６  構造パターン選択部
【図１】
0005811868.tif 000003
【図２】
0005811868.tif 000004
【図３】
0005811868.tif 000005
【図４】
0005811868.tif 000006
【図５】
0005811868.tif 000007
【図６】
0005811868.tif 000008
【図７】
0005811868.tif 000009
【図８】
0005811868.tif 000010
【図９】
0005811868.tif 000011
【図１０】
0005811868.tif 000012