(57)【要約】【課題】単眼ステレオ視に基づく運動量推定を実施するに当たり、演算負荷を軽減しつつ、運動量及び三次元座標を高精度に算出する方法を提供する。【解決手段】単眼カメラによって撮像された画像を用いるステレオ視に基づく運動量推定を行うに当たり、個々のオプティカルフローの向きを考慮して、異なる向きを有するオプティカルフローを形成する特徴点を効率的にサンプリングして基礎行列の算出に用いる。具体的には、基礎行列の算出に用いるオプティカルフローを形成する特徴点のサンプリングにおいて、サンプリングされた特徴点をオプティカルフローの向きに基づいて所定数のグループに振り分け、複数の特徴点が振り分けられたグループについては特徴点を１つに収束させ、特徴点が振り分けられなかったグループについては改めて特徴点を選択する処理を繰り返して、全てのグループに特徴点が１個ずつ属する状態とし、これらの特徴点に基づいて基礎行列を算出する。【選択図】      図３
2013104660.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載されて所定の領域を撮像する撮像手段と、
前記撮像手段が第１の位置及び第１の姿勢にあるときに撮像された第１の画像から、複数の特徴点を抽出する特徴点抽出手段と、
前記特徴点抽出手段によって前記第１の画像から抽出された前記特徴点の各々に対応する点を、前記撮像手段が前記第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索し、特徴点の移動状態を表すオプティカルフローを算出するオプティカルフロー算出手段と、
前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択する特徴点選択ステップと、選択されたｎ個の特徴点に基づいて基礎行列を算出する基礎行列算出ステップと、算出された基礎行列に基づいて、前記特徴点抽出手段によって抽出された全ての特徴点についてのエピポーラ誤差を算出する誤差算出ステップと、を所定回数Ｎだけ繰り返し、斯くして得られたＮ個の基礎行列のうち最も小さいエピポーラ誤差を示す基礎行列を最適基礎行列として選択する基礎行列算出手段と、
前記基礎行列算出手段によって算出された前記最適基礎行列から、オプティカルフローによって得られる、特徴点に対応する点、及び前記撮像手段の内部パラメータに基づいて、前記撮像手段の運動量を算出することにより、前記移動体の運動量を算出する運動量算出手段と、
前記運動量算出手段によって算出された前記撮像手段の運動量に基づいて、個々の特徴点の三次元座標を算出する三次元座標算出手段と、
を備える運動量推定装置において、
前記特徴点選択ステップにおいて、前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択した後に、
選択されたｎ個の特徴点を、オプティカルフローの向きに基づいて予め定められたｎ個のグループに分けるグループ分けステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が２個以上存在するグループについては、当該グループに属する２個以上の特徴点のうち１個のみを残して、その他の特徴点を削除する特徴点収束ステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が存在しないグループについては、当該グループの数と同じ数の特徴点を改めて選択する特徴点再選択ステップと、
を、前記ｎ個のグループの全てに特徴点が１個ずつ属する状態になるまで繰り返す、
運動量推定方法。
【請求項２】
請求項１に記載の運動量推定方法であって、
前記所定数ｎが８である、
運動量推定方法。
【請求項３】
移動体に搭載されて所定の領域を撮像する撮像手段と、
前記撮像手段が第１の位置及び第１の姿勢にあるときに撮像された第１の画像から、複数の特徴点を抽出する特徴点抽出手段と、
前記特徴点抽出手段によって前記第１の画像から抽出された前記特徴点の各々に対応する点を、前記撮像手段が前記第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索し、特徴点の移動状態を表すオプティカルフローを算出するオプティカルフロー算出手段と、
前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択する特徴点選択ステップと、選択されたｎ個の特徴点に基づいて基礎行列を算出する基礎行列算出ステップと、算出された基礎行列に基づいて、前記特徴点抽出手段によって抽出された全ての特徴点についてのエピポーラ誤差を算出する誤差算出ステップと、を所定回数Ｎだけ繰り返し、斯くして得られたＮ個の基礎行列のうち最も小さいエピポーラ誤差を示す基礎行列を最適基礎行列として選択する基礎行列算出手段と、
前記基礎行列算出手段によって算出された前記最適基礎行列から、オプティカルフローによって得られる、特徴点に対応する点、及び前記撮像手段の内部パラメータに基づいて、前記撮像手段の運動量を算出することにより、前記移動体の運動量を算出する運動量算出手段と、
前記運動量算出手段によって算出された前記撮像手段の運動量に基づいて、個々の特徴点の三次元座標を算出する三次元座標算出手段と、
を備える運動量推定装置において、
前記特徴点選択ステップにおいて、前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択した後に、
選択されたｎ個の特徴点を、オプティカルフローの向きに基づいて予め定められたｎ個のグループに分けるグループ分けステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が２個以上存在するグループについては、当該グループに属する２個以上の特徴点のうち１個のみを残して、その他の特徴点を削除する特徴点収束ステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が存在しないグループについては、当該グループの数と同じ数の特徴点を改めて選択する特徴点再選択ステップと、
を、前記ｎ個のグループの全てに特徴点が１個ずつ属する状態になるまで繰り返す、
運動量推定装置。
【請求項４】
請求項３に記載の運動量推定装置であって、
前記所定数ｎが８である、
運動量推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両等の移動体に取り付けられたカメラによって撮像された画像を用いるステレオ視に基づく運動量推定方法、及び当該方法を使用する運動量推定装置に関する。より詳細には、本発明は、車両等の移動体に取り付けられた単眼カメラによって撮像された画像を用いるステレオ視に基づく運動量推定方法の推定精度を向上させる方法、及び当該方法を使用する運動量推定装置に関する。
【背景技術】
【０００２】
従来から、車両等の移動体に搭載されたカメラによって周辺物の画像を撮像し、周辺の環境を三次元的に認識するシステムが開発されている。カメラ画像によって三次元座標（距離）を測定する方法としては、複数台のカメラを利用するステレオ視（以降、「複眼ステレオ視」とも称する）が一般的であるが、１台のカメラでも、異なる視点（異なる位置及び姿勢）から撮像された複数の画像を利用することにより、ステレオ視を実現することが可能であることが知られている（以降、「単眼ステレオ視」とも称する）。
【０００３】
当該技術分野において周知であるように、単眼ステレオ視に基づく運動量推定を行う手法としては、例えば、異なる視点から撮像された複数の画像における特徴点のオプティカルフロー（光学的流動）を利用する手法が挙げられる。当該手法においては、先ず、異なる視点から２つの画像を撮像し、撮像された画像を画像処理装置に取り込む。斯くして取り込まれた２つの画像のうちの一方から複数の特徴点を算出する。これら複数の特徴点に対応する点を他方の画像から検索し、特徴点の移動状態を示すオプティカルフローを算出する。複数の特徴点から所定数の特徴点を選択し、選択された特徴点に基づいて基礎行列を算出し、算出された基礎行列に基づいて、選択された特徴点についてのエピポーラ誤差を算出する。この特徴点の選択、基礎行列の算出、及びエピポーラ誤差の算出を繰り返し、最も小さいエピポーラ誤差を示す最適な基礎行列を選択する。斯くして選択された最適な基礎行列に基づいてカメラ（を搭載する車両等の移動体）の運動量を算出し、算出された運動量に基づいて特徴点の三次元座標を算出する。
【０００４】
上記のように、オプティカルフローを利用して単眼ステレオ視に基づく運動量推定を行うに当たっては、個々の基礎行列の算出に用いる所定数の特徴点を選択する度に、選択された特徴点についてのエピポーラ誤差を求める必要があるため、最適な基礎行列を選択するのに必要とされる演算負荷が非常に大きい。そこで、当該技術分野においては、かかる演算負荷を軽減することを目的として、種々の方法が提案されている。
【０００５】
例えば、個々の基礎行列の算出の度に選択される所定数の特徴点についてのエピポーラ誤差を求める代わりに、車輪速度センサ等の運動量検出手段から得られる情報を利用する等してカメラ（を搭載する車両等の移動体）の仮の運動量を算出又は推定し、斯くして得られた仮の運動量に基づいて仮の基礎行列を推定し、推定された仮の基礎行列に基づいて、個々の特徴点についてのエピポーラ誤差を予め算出し、大きいエピポーラ誤差を有する特徴点を除去し、残った特徴点に基づいて最適な基礎行列を算出する方法が提案されている（例えば、特許文献１を参照）。
【０００６】
上記方法によれば、個々の基礎行列の算出のために所定数の特徴点を選択する度に選択された特徴点についてのエピポーラ誤差を求める必要が無いため、最適な基礎行列を算出するために必要とされる演算負荷を軽減することができる。しかしながら、そもそもオプティカルフローは誤差を有するため、上記方法のように個々の基礎行列の算出に用いる所定数の特徴点をランダム且つ無条件に選択した場合、オプティカルフローが有する誤差の影響により、算出された基礎行列が必ずしも正しくない場合がある。従って、基礎行列の算出精度を高めるためには、個々の基礎行列の算出に用いる特徴点の数を増やして、オプティカルフローが有する誤差の影響を小さくする必要がある。結果として、上記のような方法においても、運動量や三次元座標の算出精度を高めようとすると、最適な基礎行列を算出するために必要とされる演算負荷を十分に軽減することは困難である。
【０００７】
そこで、当該技術分野においては、オプティカルフローが有する誤差の影響を小さくすることを目的として、個々の基礎行列の算出に用いる特徴点をランダム且つ無条件に選択（サンプリング）するのではなく、個々のオプティカルフローの大きさを考慮して、異なる大きさを有するオプティカルフローを形成する所定数の特徴点を選択して基礎行列の算出に用いることが提案されている（例えば、特許文献２を参照）。
【０００８】
しかしながら、上記方法においては、個々の基礎行列の算出に用いる所定数の特徴点を選択する際に、オプティカルフローの大きさは考慮されているものの、オプティカルフローの向きが考慮されていないため、依然として運動量や三次元座標の算出精度を十分に高めることは困難である。
【０００９】
上述のように、当該技術分野においては、演算負荷を軽減しつつ単眼カメラ画像によるステレオ視に基づく運動量推定を高精度に実現することができる技術に対する継続的な要求が存在する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−２５６０２９号公報
【特許文献２】特開２０１０−０８５２４０号公報
【非特許文献】
【００１１】
Ｍｕｌｔｉｐｌｅ  Ｖｉｅｗ  Ｇｅｏｍｅｔｒｙ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，  Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ，  ２００３，  Ｒｉｃｈａｒｄ  Ｈａｒｔｌｅｙ  ＆  Ａｎｄｒｅｗ  Ｚｉｓｓｅｒｍａｎ，  Ｃａｍｂｒｉｄｇｅ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ
【発明の概要】
【発明が解決しようとする課題】
【００１２】
前述のように、当該技術分野においては、演算負荷を軽減しつつ単眼カメラ画像によるステレオ視に基づく運動量推定を高精度に実現することができる技術に対する継続的な要求が存在する。本発明は、かかる要求に応えるために為されたものである。より具体的には、本発明の１つの目的は、単眼ステレオ視に基づく運動量推定を実施するに当たり、演算負荷を軽減しつつ、運動量及び三次元座標を高精度に算出する方法を提供することである。
【課題を解決するための手段】
【００１３】
本発明の上記１つの目的は、
移動体に搭載されて所定の領域を撮像する撮像手段と、
前記撮像手段が第１の位置及び第１の姿勢にあるときに撮像された第１の画像から、複数の特徴点を抽出する特徴点抽出手段と、
前記特徴点抽出手段によって前記第１の画像から抽出された前記特徴点の各々に対応する点を、前記撮像手段が前記第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索し、特徴点の移動状態を表すオプティカルフローを算出するオプティカルフロー算出手段と、
前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択する特徴点選択ステップと、選択されたｎ個の特徴点に基づいて基礎行列を算出する基礎行列算出ステップと、算出された基礎行列に基づいて、前記特徴点抽出手段によって抽出された全ての特徴点についてのエピポーラ誤差を算出する誤差算出ステップと、を所定回数Ｎだけ繰り返し、斯くして得られたＮ個の基礎行列のうち最も小さいエピポーラ誤差を示す基礎行列を最適基礎行列として選択する基礎行列算出手段と、
前記基礎行列算出手段によって算出された前記最適基礎行列から、オプティカルフローによって得られる、特徴点に対応する点、及び前記撮像手段の内部パラメータに基づいて、前記撮像手段の運動量を算出することにより、前記移動体の運動量を算出する運動量算出手段と、
前記運動量算出手段によって算出された前記撮像手段の運動量に基づいて、個々の特徴点の三次元座標を算出する三次元座標算出手段と、
を備える運動量推定装置において、
前記特徴点選択ステップにおいて、前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択した後に、
選択されたｎ個の特徴点を、オプティカルフローの向きに基づいて予め定められたｎ個のグループに分けるグループ分けステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が２個以上存在するグループについては、当該グループに属する２個以上の特徴点のうち１個のみを残して、その他の特徴点を削除する特徴点収束ステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が存在しないグループについては、当該グループの数と同じ数の特徴点を改めて選択する特徴点再選択ステップと、
を、前記ｎ個のグループの全てに特徴点が１個ずつ属する状態になるまで繰り返す、
運動量推定方法によって達成される。
【発明の効果】
【００１４】
上記のように、本発明に係る運動量推定方法においては、単眼カメラによって撮像された画像を用いるステレオ視に基づく運動量推定を行うに当たり、異なる向きを有するオプティカルフローを形成する特徴点を効率的にサンプリングして基礎行列の算出に用いるので、演算負荷を軽減しつつ、カメラの運動量及び特徴点の三次元座標を高精度に算出することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の１つの実施態様に係る運動量推定方法において実行される種々の処理の流れの概要を表すフローチャートである。
【図２】図１に示すフローチャートに含まれる基礎行列算出ステップ（Ｓ４００）において実行される種々の処理の流れを表すフローチャートである。
【図３】図２に示すフローチャートに含まれる特徴点選択ステップ（Ｓ４１０）において実行される種々の処理の流れを表すフローチャートである。
【発明を実施するための形態】
【００１６】
前述のように、本発明は、単眼ステレオ視に基づく運動量推定を実施するに当たり、演算負荷を軽減しつつ、運動量及び三次元座標を高精度に算出する方法を提供することを１つの目的とする。
【００１７】
本発明者は、上記目的を達成すべく鋭意研究の結果、単眼カメラによって撮像された画像を用いるステレオ視に基づく運動量推定を行うに当たり、従来技術のように個々の基礎行列の算出に用いるオプティカルフローを形成する特徴点（対応点）をランダム且つ無条件に選択するのではなく、個々のオプティカルフローの向きを考慮して、異なる向きを有するオプティカルフローを形成する特徴点を効率的にサンプリングして基礎行列の算出に用いることにより、演算負荷を軽減しつつ、カメラの運動量及び特徴点の三次元座標を高精度に算出することができることを見出し、本発明を想到するに至ったものである。
【００１８】
即ち、本発明の第１の実施態様は、
移動体に搭載されて所定の領域を撮像する撮像手段と、
前記撮像手段が第１の位置及び第１の姿勢にあるときに撮像された第１の画像から、複数の特徴点を抽出する特徴点抽出手段と、
前記特徴点抽出手段によって前記第１の画像から抽出された前記特徴点の各々に対応する点を、前記撮像手段が前記第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索し、特徴点の移動状態を表すオプティカルフローを算出するオプティカルフロー算出手段と、
前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択する特徴点選択ステップと、選択されたｎ個の特徴点に基づいて基礎行列を算出する基礎行列算出ステップと、算出された基礎行列に基づいて、前記特徴点抽出手段によって抽出された全ての特徴点についてのエピポーラ誤差を算出する誤差算出ステップと、を所定回数Ｎだけ繰り返し、斯くして得られたＮ個の基礎行列のうち最も小さいエピポーラ誤差を示す基礎行列を最適基礎行列として選択する基礎行列算出手段と、
前記基礎行列算出手段によって算出された前記最適基礎行列から、オプティカルフローによって得られる、特徴点に対応する点、及び前記撮像手段の内部パラメータに基づいて、前記撮像手段の運動量を算出することにより、前記移動体の運動量を算出する運動量算出手段と、
前記運動量算出手段によって算出された前記撮像手段の運動量に基づいて、個々の特徴点の三次元座標を算出する三次元座標算出手段と、
を備える運動量推定装置において、
前記特徴点選択ステップにおいて、前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択した後に、
選択されたｎ個の特徴点を、オプティカルフローの向きに基づいて予め定められたｎ個のグループに分けるグループ分けステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が２個以上存在するグループについては、当該グループに属する２個以上の特徴点のうち１個のみを残して、その他の特徴点を削除する特徴点収束ステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が存在しないグループについては、当該グループの数と同じ数の特徴点を改めて選択する特徴点再選択ステップと、
を、前記ｎ個のグループの全てに特徴点が１個ずつ属する状態になるまで繰り返す、
運動量推定方法である。
【００１９】
上記撮像手段は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラ等の撮像装置であり、車両等の移動体に搭載されて、例えば移動体の前方等の所定の領域を撮像する。撮像された画像は、例えば、Ａ／Ｄ（アナログ／デジタル）変換された画像信号として、画像メモリ等のデータ記憶手段に格納することができる。
【００２０】
上記特徴点抽出手段は、撮像手段が第１の位置及び第１の姿勢にあるときに撮像された第１の画像から、複数の特徴点を抽出する。当業者に周知であるように、特徴点とは、画像における境界の形状を定義するために必要となる点であり、例えば、コーナーやエッジに該当する。かかる特徴点の抽出には、当該技術分野において広く知られている種々の方法を用いることができる。具体的には、特徴点の抽出には、例えば、ハリス（Ｈａｒｒｉｓ）オペレータやＳＵＳＡＮオペレータを使用することができる。
【００２１】
上記オプティカルフロー算出手段は、特徴点抽出手段によって第１の画像から抽出された特徴点の各々に対応する点を、撮像手段が第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索し、特徴点の移動状態を表すオプティカルフローを算出する。当業者に周知であるように、オプティカルフローとは、第１の画像と第２の画像との間で特徴点が移動した軌跡である。換言すれば、オプティカルフローとは、時系列的な画像の組を利用して、画像の速度場を求め、当該速度場をベクトル集合で表現したものである。
【００２２】
かかるオプティカルフローの算出には、当該技術分野において広く知られている種々の方法を用いることができる。一般的に、オプティカルフローの算出方法は、勾配法とブロックマッチング法とに大別することができる。勾配法においては「オプティカルフロー拘束方程式」と呼ばれる輝度の時間／空間的微分（輝度勾配）の拘束方程式を用いて、これに制約条件を付加することによってオプティカルフローを求める。代表的な勾配法としては、例えば、Ｌｕｃａｓ−Ｋａｎａｄｅ法やＫＬＴ（Ｋａｎａｄｅ−Ｌｕｃａｓ−Ｔｏｍａｓｉ）トラッカー等を挙げることができる。一方、ブロックマッチング法においては、一方の画像における特定のブロックをテンプレートとし、他方の画像において、対応する箇所を検索することによってオプティカルフローを求める。
【００２３】
上記基礎行列算出手段は、特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択する特徴点選択ステップと、選択されたｎ個の特徴点に基づいて基礎行列を算出する基礎行列算出ステップと、算出された基礎行列に基づいて、特徴点抽出手段によって抽出された全ての特徴点についてのエピポーラ誤差を算出する誤差算出ステップと、を所定回数Ｎだけ繰り返し、斯くして得られたＮ個の基礎行列のうち最も小さいエピポーラ誤差を示す基礎行列を最適基礎行列として選択する。
【００２４】
上記基礎行列算出手段は、特徴点選択ステップにおいて、特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択する。本実施態様に係る運動量推定方法は、上記特徴点選択ステップに特徴を有するものであるが、詳細については後述する。上記特徴点選択ステップにおいて選択される特徴点の数である所定数ｎは、例えば、後述する基礎行列の算出に用いるアルゴリズム等に応じて、任意の自然数に設定することができる。所定数ｎを大きくするほど、個々の基礎行列の算出精度は高まるものの、基礎行列の算出に必要とされる演算負荷も高まる。逆に、所定数ｎを小さくするほど、個々の基礎行列の算出に必要とされる演算負荷は低くなるものの、基礎行列の算出精度も低くなる。
【００２５】
次に、上記基礎行列算出手段は、基礎行列算出ステップにおいて、選択されたｎ個の特徴点に基づいて基礎行列を算出する。当業者に周知であるように、基礎行列とは、エピポーラ幾何学に基づいてステレオ視における画像間での点対応を数学的に記述する基礎行列である。換言すれば、基礎行列とは、画像間のエピポーラ拘束を表す行列である。かかる基礎行列の算出には、当該技術分野において広く知られている種々の方法を用いることができる。具体的には、基礎行列の算出には、例えば、公知のハートレー（Ｈａｒｔｌｅｙ）の８点アルゴリズムや、７点アルゴリズム、５点アルゴリズム等を使用することができる。
【００２６】
次に、上記基礎行列算出手段は、誤差算出ステップにおいて、算出された基礎行列に基づいて、前記特徴点抽出手段によって抽出された全ての特徴点についてのエピポーラ誤差を算出する。当業者に周知であるように、エピポーラ誤差とは、算出された基礎行列に基づくエピポーラ線と特徴点との間の距離である。
【００２７】
上記基礎行列算出手段は、上述の特徴点選択ステップ、基礎行列算出ステップ、及び誤差算出ステップを所定回数Ｎだけ繰り返し、斯くして得られたＮ個の基礎行列のうち最も小さいエピポーラ誤差を示す基礎行列を最適基礎行列として選択する。これにより、例えば、オプティカルフロー算出手段が、特徴点抽出手段によって第１の画像から抽出された特徴点の各々に対応する点（対応点）を、撮像手段が第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索する際に、誤った点を検出した場合等、一部の対応点に大きい誤差が存在する場合に、かかる外れ値（アウトライア）の影響を排除し、基礎行列の算出精度を向上させることができる。即ち、基礎行列算出手段による最適な基礎行列の算出においては、エピポーラ誤差を評価量とするＲＡＮＳＡＣ（ＲＡＮｄａｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）と称されるロバストな手法を用いて、基礎行列の算出精度を向上させることができる。
【００２８】
尚、上述の特徴点選択ステップ、基礎行列算出ステップ、及び誤差算出ステップを繰り返し実行する回数である所定回数Ｎは、例えば、Ｍｕｌｔｉｐｌｅ  Ｖｉｅｗ  Ｇｅｏｍｅｔｒｙ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，  Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ，  ２００３，  Ｒｉｃｈａｒｄ  Ｈａｒｔｌｅｙ  ＆  Ａｎｄｒｅｗ  Ｚｉｓｓｅｒｍａｎ，  Ｃａｍｂｒｉｄｇｅ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ（非特許文献１）に記載されている統計学的な手法等に応じて、任意の自然数に設定することができる。所定回数Ｎを大きくするほど、最終的に選択される最適な基礎行列の算出精度は高まるものの、最適な基礎行列の算出に必要とされる演算負荷も高まる。逆に、所定回数Ｎを小さくするほど、最適な基礎行列の算出に必要とされる演算負荷は低くなるものの、最適な基礎行列の算出精度も低くなる。
【００２９】
上記運動量算出手段は、基礎行列算出手段によって算出された最適基礎行列から、オプティカルフローによって得られる、特徴点に対応する点、及び撮像手段の内部パラメータに基づいて、撮像手段の運動量を算出することにより、移動体の運動量を算出する。当業者に周知であるように、撮像手段の内部パラメータとは、例えば、撮像手段が備えるレンズの焦点距離、画角、光軸点等を指す。
【００３０】
上記三次元座標算出手段は、運動量算出手段によって算出された前記撮像手段の運動量に基づいて、個々の特徴点の三次元座標を算出する。
【００３１】
尚、本実施態様に係る運動量推定方法を使用する運動量推定装置が備える特徴点抽出手段、オプティカルフロー算出手段、基礎行列算出手段、運動量算出手段、及び三次元座標算出手段は、必ずしもそれぞれが個別の構成要素として構成されている必要は無い。例えば、これらの各種手段は、運動量推定装置が搭載された車両等の移動体が備える電子制御装置（ＥＣＵ：Ｅｌｅｃｔｒｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）において実現される機能として実装されていてもよい。また、これらの各種手段は、運動量推定装置専用のＥＣＵにおいて実装されていてもよく、あるいは運動量推定装置が搭載された車両等の移動体が備える他の目的のためのＥＣＵにおいて実装されていてもよい。更に、これらの各種手段は、単一のＥＣＵにおいて実装されていてもよく、あるいは複数のＥＣＵにおいて分散的に実装されていてもよい。
【００３２】
また、上記ＥＣＵの構成としては、例えば、上記各種手段によって行われる各種処理に相当する演算処理等を実行するための中央処理装置（ＣＰＵ：Ｃｏｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）（例えば、マイクロコンピュータ等）、例えば、上記演算処理等をＣＰＵに実行させるためのプログラムや上記撮像手段からの画像信号等を格納するためのデータ記憶装置（例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等）、例えば、上記撮像手段からの画像信号等を受け取ったり、上記演算処理の結果を他の機器（例えば、表示装置等）に送出したりするためのデータ入出力ポート等を含む構成を挙げることができる。但し、本実施態様に係る運動量推定方法を使用する運動量推定装置が備える各種手段を実現する構成は上記説明によって限定されるものではなく、各々の手段の機能を実現することができる限り、如何なる構成であってもよい。
【００３３】
前述のように、本実施態様に係る運動量推定方法は、撮像手段と、特徴点抽出手段と、オプティカルフロー算出手段と、基礎行列算出手段と、運動量算出手段と、三次元座標算出手段と、を備える運動量推定装置において、ステレオ視に基づく運動量推定を行うに当たり、従来技術のように個々の基礎行列の算出に用いるオプティカルフローを形成する特徴点（対応点）をランダム且つ無条件に選択するのではなく、個々のオプティカルフローの向きを考慮して、異なる向きを有するオプティカルフローを形成する特徴点を効率的にサンプリングして基礎行列の算出に用いることにより、演算負荷を軽減しつつ、カメラの運動量及び特徴点の三次元座標を高精度に算出する。
【００３４】
具体的には、本実施態様に係る運動量推定方法によれば、特徴点選択ステップにおいて、特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択した後に、
選択されたｎ個の特徴点を、オプティカルフローの向きに基づいて予め定められたｎ個のグループに分けるグループ分けステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が２個以上存在するグループについては、当該グループに属する２個以上の特徴点のうち１個のみを残して、その他の特徴点を削除する特徴点収束ステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が存在しないグループについては、当該グループの数と同じ数の特徴点を改めて選択する特徴点再選択ステップと、
が、ｎ個のグループの全てに特徴点が１個ずつ属する状態になるまで繰り返される。
【００３５】
上記グループ分けステップにおいては、選択されたｎ個の特徴点が、オプティカルフローの向きに基づいて予め定められたｎ個のグループに振り分けられる。オプティカルフローの向きに基づいて予め定められたｎ個のグループとは、例えば、個々の特徴点によって形成されるオプティカルフローの向きの角度の範囲に応じて分けられたｎ個（即ち、選択された特徴点の数と同じ数）のグループであってもよい。より具体的には、オプティカルフローの向きに基づいて予め定められたｎ個のグループは、例えば、撮像手段によって撮像された画像における水平方向をＸ軸方向、鉛直方向をＹ軸方向とするＸ−Ｙ座標平面におけるＸ軸上での正の向きの角度が０°（ゼロ度）であり、且つ反時計回り方向を角度が増大する方向であると定義した場合、３６０°をｎ個の角度領域に分け、個々のオプティカルフローの向きの角度（以降、単に「θ」と表記する場合がある）が何れの角度領域に該当するかに応じて、特徴点をグループ分けすることができる。この場合、ｎ個の角度領域は均等に分けられたものであってもよく、不均等に分けられたものであってもよい。また、個々の特徴点によって形成されるオプティカルフローの向きの角度（θ）は、個々の特徴点の第１の画像における座標と第２の画像における座標とから幾何学的に算出することができる。
【００３６】
上記特徴点収束ステップにおいては、上記グループ分けステップにおいてｎ個の特徴点がｎ個のグループに振り分けられた結果、ｎ個のグループのうち、当該グループに属する特徴点が２個以上存在するグループが存在する場合は、当該グループに属する２個以上の特徴点のうち１個のみを残して、その他の特徴点を削除することにより、当該グループに属する特徴点を１個に収束させる。この際、特徴点が２個以上属するグループにおいて残される１個の特徴点（以降、「代表特徴点」と称する場合がある）は、例えば、ランダム且つ無条件に選択することができる。
【００３７】
あるいは、２個以上の特徴点が振り分けられたグループに属する個々の特徴点によって形成されるオプティカルフローの向きの角度と当該グループに隣り合う２つのグループの代表特徴点によって形成されるオプティカルフローの向きの角度との差（角度差）をそれぞれ算出し、当該グループに隣り合う２つのグループの一方のグループの代表特徴点との角度差（ｄ１）と他方のグループの代表特徴点との角度差（ｄ２）とがより均等な（ｄ１とｄ２との差がより小さい）特徴点を、当該グループの代表特徴点として選択することができる。
【００３８】
尚、上記説明における「隣り合うグループ」とは、それぞれのグループを定義付けるオプティカルフローの向きの角度領域が隣り合うグループを指す。例えば、３６０°を均等に４５°ずつの角度領域に分け、個々の角度領域に対応する８個のグループとして、０〜４５°の角度領域に対応するグループ１、４５〜９０°の角度領域に対応するグループ２、…、３１５〜３６０°の角度領域に対応するグループ８を設定する場合、グループ２に隣り合う２つのグループは、グループ１及びグループ３である。
【００３９】
上記特徴点再選択ステップにおいては、上記グループ分けステップにおいてｎ個の特徴点がｎ個のグループに振り分けられた結果、ｎ個のグループのうち、当該グループに属する特徴点が存在しないグループについては、当該グループの数と同じ数の特徴点を改めて選択する。上記特徴点収束ステップの結果、当該グループに属する特徴点が存在する全てのグループには特徴点が１個ずつ存在するので、特徴点再選択ステップにおいて当該グループに属する特徴点が存在しないグループの数と同じ数の特徴点が補充されることにより、特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点が改めて選択された状態となる。
【００４０】
前述のように、本実施態様に係る運動量推定方法によれば、特徴点選択ステップにおいて、上記グループ分けステップ、特徴点収束ステップ、及び特徴点再選択ステップが、ｎ個のグループの全てに特徴点が１個ずつ属する状態になるまで繰り返される。これにより、種々の異なる向きを有するオプティカルフローを形成する特徴点を効率的にサンプリングして基礎行列の算出に用いることができる。その結果、個々の基礎行列の算出精度が高まり、移動体の運動量及び特徴点の三次元座標の算出精度も高まる。
【００４１】
また、本実施態様に係る運動量推定方法によれば、基礎行列の算出に用いる特徴点を選択（サンプリング）する際に、個々のオプティカルフローの向きを考慮して、種々の異なる向きを有するオプティカルフローを形成する特徴点を積極的且つ効率的にサンプリングすることができる。これにより、例えば、特定の角度領域に該当する向きを有するオプティカルフローを形成する特徴点ばかりを偏ってサンプリングした等の理由により大きい誤差を示す基礎行列を算出する可能性を低減することができる。その結果、最適な基礎行列を算出するために必要とされる演算負荷を軽減することができる。
【００４２】
即ち、本実施態様に係る運動量推定方法によれば、単眼ステレオ視に基づく運動量推定を実施するに当たり、演算負荷を軽減しつつ、運動量及び三次元座標を高精度に算出する方法を提供するという、本発明の１つの目的を達成することができる。
【００４３】
ところで、前述のように、上記基礎行列算出手段は、特徴点選択ステップにおいて、特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択する。この所定数ｎは、例えば、基礎行列の算出に用いるアルゴリズム等に応じて、任意の自然数に設定することができる。一方、基礎行列の算出には、例えば、公知のハートレーの８点アルゴリズムや、７点アルゴリズム、５点アルゴリズム等、当該技術分野において広く知られている種々の方法を用いることができる。
【００４４】
上記のように、基礎行列の算出には種々のアルゴリズムを用いることができる。例えば、前述のハートレーの８点アルゴリズムのように、基礎行列の算出において８個の特徴点を使用するアルゴリズムを用いる場合は、上記所定数ｎは８となる。かかる実施態様もまた、本発明の１つの実施態様として、本発明の範囲に含まれる。
【００４５】
従って、本発明の第２の実施態様は、
本発明の前記第１の実施態様に係る運動量推定方法であって、
前記所定数ｎが８である、
運動量推定方法である。
【００４６】
上記のように、本実施態様に係る運動量推定方法においては、前記所定数ｎが８である。即ち、本実施態様に係る運動量推定方法によれば、前述の特徴点選択ステップにおいて、特徴点抽出手段によって抽出された複数の特徴点から８個の特徴点が選択される。その後、グループ分けステップにおいて、選択された８個の特徴点は、オプティカルフローの向きに基づいて予め定められた８個のグループに分けられ、特徴点収束ステップにおいて、８個のグループのうち、当該グループに属する特徴点が２個以上存在するグループについては、当該グループに属する２個以上の特徴点のうち１個のみを残して、その他の特徴点が削除され、特徴点再選択ステップにおいて、８個のグループのうち、当該グループに属する特徴点が存在しないグループについては、当該グループの数と同じ数の特徴点が改めて選択される。これらのステップが繰り返し実行され、やがて８個のグループの全てに特徴点が１個ずつ属する状態となる。
【００４７】
上記のようにして８個の特徴点が選択（サンプリング）されると、前述の基礎行列算出ステップにおいて、選択された８個の特徴点に基づいて基礎行列が算出される。この際、基礎行列の算出には、例えば、前述のハートレーの８点アルゴリズムのように、８個の特徴点を基礎行列の算出に用いるアルゴリズムが用いられる。
【００４８】
ところで、本発明は、前述のように、これまで説明してきた各種実施態様及びそれらの変形例を含む種々の運動量推定方法を使用する運動量推定装置にも関する。そこで、かかる運動量推定装置としての本発明の実施態様について以下に述べるが、運動量推定方法としての本発明の前述の実施態様について説明と重複するので、運動量推定装置としての本発明の実施態様についての詳細な説明は割愛する。
【００４９】
即ち、本発明の第３の実施態様は、
移動体に搭載されて所定の領域を撮像する撮像手段と、
前記撮像手段が第１の位置及び第１の姿勢にあるときに撮像された第１の画像から、複数の特徴点を抽出する特徴点抽出手段と、
前記特徴点抽出手段によって前記第１の画像から抽出された前記特徴点の各々に対応する点を、前記撮像手段が前記第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索し、特徴点の移動状態を表すオプティカルフローを算出するオプティカルフロー算出手段と、
前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択する特徴点選択ステップと、選択されたｎ個の特徴点に基づいて基礎行列を算出する基礎行列算出ステップと、算出された基礎行列に基づいて、前記特徴点抽出手段によって抽出された全ての特徴点についてのエピポーラ誤差を算出する誤差算出ステップと、を所定回数Ｎだけ繰り返し、斯くして得られたＮ個の基礎行列のうち最も小さいエピポーラ誤差を示す基礎行列を最適基礎行列として選択する基礎行列算出手段と、
前記基礎行列算出手段によって算出された前記最適基礎行列から、オプティカルフローによって得られる、特徴点に対応する点、及び前記撮像手段の内部パラメータに基づいて、前記撮像手段の運動量を算出することにより、前記移動体の運動量を算出する運動量算出手段と、
前記運動量算出手段によって算出された前記撮像手段の運動量に基づいて、個々の特徴点の三次元座標を算出する三次元座標算出手段と、
を備える運動量推定装置において、
前記特徴点選択ステップにおいて、前記特徴点抽出手段によって抽出された複数の特徴点から所定数ｎの特徴点を選択した後に、
選択されたｎ個の特徴点を、オプティカルフローの向きに基づいて予め定められたｎ個のグループに分けるグループ分けステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が２個以上存在するグループについては、当該グループに属する２個以上の特徴点のうち１個のみを残して、その他の特徴点を削除する特徴点収束ステップと、
前記ｎ個のグループのうち、当該グループに属する特徴点が存在しないグループについては、当該グループの数と同じ数の特徴点を改めて選択する特徴点再選択ステップと、
を、前記ｎ個のグループの全てに特徴点が１個ずつ属する状態になるまで繰り返す、
運動量推定装置である。
【００５０】
また、本発明の第４の実施態様は、
本発明の前記第３の実施態様に係る運動量推定装置であって、
前記所定数ｎが８である、
運動量推定装置である。
【００５１】
本発明の幾つかの実施態様に係る運動量推定方法の構成等につき、添付図面等を参照しつつ以下に説明する。但し、以下に述べる説明はあくまでも例示を目的とするものであり、本発明の範囲が以下の説明に限定されるものと解釈されるべきではない。
【実施例】
【００５２】
１．運動量推定方法において実行される種々の処理の流れ（概要）
図１は、前述のように、本発明の１つの実施態様に係る運動量推定方法において実行される種々の処理の流れの概要を表すフローチャートである。図１に示すように、本実施例に係る運動量推定方法は、
車両等の移動体に搭載された撮像手段（例えば、カメラ等）によって所定の領域を撮像し、撮像された画像を取り込む画像取込ステップ（Ｓ１００）と、
前記撮像手段が第１の位置及び第１の姿勢にあるときに撮像された第１の画像から、複数の特徴点を抽出する特徴点抽出ステップ（Ｓ２００）と、
前記特徴点抽出ステップ（Ｓ２００）において前記第１の画像から抽出された前記特徴点の各々に対応する点を、前記撮像手段が前記第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索し、特徴点の移動状態を表すオプティカルフローを算出するオプティカルフロー算出ステップ（Ｓ３００）と、
前記特徴点抽出ステップ（Ｓ２００）において抽出された複数の特徴点から所定数ｎの特徴点を選択し、選択されたｎ個の特徴点に基づいて基礎行列を算出する基礎行列算出ステップ（Ｓ４００）と、
前記基礎行列算出ステップ（Ｓ４００）において算出された基礎行列から、オプティカルフローによって得られる対応点（特徴点に対応する点）及び撮像手段の内部パラメータに基づいて、前記撮像手段の運動量を算出することにより、移動体の運動量を算出する運動量算出ステップ（Ｓ５００）と、
前記運動量算出ステップ（Ｓ５００）において算出された撮像手段の運動量に基づいて、個々の特徴点の三次元座標を算出する三次元座標算出ステップ（Ｓ６００）と、
を含む。
【００５３】
上記画像取込ステップ（Ｓ１００）においては、前述のように、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラ等の撮像手段を車両等の移動体に搭載して、例えば移動体の前方等の所定の領域の複数の画像を撮像する。撮像された画像は、例えば、Ａ／Ｄ（アナログ／デジタル）変換された画像信号として、画像メモリ等のデータ記憶手段に格納することができる。尚、上記撮像手段は、例えば、時々刻々と変化する移動体周辺の状況を撮影する。従って、上記撮像手段は、例えば、所定のフレームレート（単位時間当たりに撮影する枚数）で画像を撮像するタイプのもの（例えば、動画撮像手段等）であってもよい。
【００５４】
上記特徴点抽出ステップ（Ｓ２００）においては、上記画像取込ステップ（Ｓ１００）において取り込まれた画像のうち、第１の位置及び第１の姿勢にあるときに撮像された第１の画像から、例えばコーナーやエッジ等の複数の特徴点を抽出する。前述のように、特徴点の抽出には、例えば、ハリス（Ｈａｒｒｉｓ）オペレータやＳＵＳＡＮオペレータを使用することができる。
【００５５】
上記オプティカルフロー算出ステップ（Ｓ３００）においては、上記特徴点抽出ステップ（Ｓ２００）において抽出された特徴点の移動状態を表すオプティカルフローを、上記画像取込ステップ（Ｓ１００）において取り込まれた画像のうち、第２の位置及び第２の姿勢にあるときに撮像された第２の画像を用いて算出する。前述のように、オプティカルフローの算出には、例えばＬｕｃａｓ−Ｋａｎａｄｅ法等の勾配法やブロックマッチング法を使用することができる。
【００５６】
上記基礎行列算出ステップ（Ｓ４００）においては、上記特徴点抽出ステップ（Ｓ２００）において抽出された複数の特徴点から所定数ｎの特徴点を選択し、選択されたｎ個の特徴点に基づいて基礎行列を算出する。本実施例に係る運動量推定方法は、上記特徴点の選択手法に特徴を有するものであるが、詳細については後述する。また、前述のように、基礎行列の算出には、例えば、公知のハートレーの８点アルゴリズムや、７点アルゴリズム、５点アルゴリズム等を使用することができる。更に、前述のように、本実施例に係る運動量推定方法においては、基礎行列の算出精度を向上させることを目的として、例えばエピポーラ誤差を評価量とするＲＡＮＳＡＣ手法を用いて、基礎行列の算出における外れ値（アウトライア）の影響を低減して、基礎行列の算出精度を向上させることができる。本実施例に係る運動量推定方法における基礎行列の算出精度の向上についても、後に詳述する。
【００５７】
上記運動量算出ステップ（Ｓ５００）においては、上記基礎行列算出ステップ（Ｓ４００）において算出された基礎行列から、オプティカルフローによって得られる対応点（特徴点に対応する点）及び撮像手段の内部パラメータ（例えば、撮像手段が備えるレンズの焦点距離、画角、光軸点等）に基づいて、撮像手段の運動量を算出する。前述のように、撮像手段は移動体に搭載されているので、撮像手段の運動量を算出することにより、移動体の運動量を算出することができる。
【００５８】
上記三次元座標算出ステップ（Ｓ６００）においては、上記運動量算出ステップ（Ｓ５００）において算出された撮像手段の運動量に基づいて、個々の特徴点の三次元座標を算出する。このようにして、本実施例に係る運動量推定方法によれば、車両等の移動体に搭載された撮像手段（例えば、単眼カメラ等）によって移動体の周辺の画像を撮像することにより、移動体の周辺の環境を三次元的に認識することができる。
【００５９】
本実施例に係る運動量推定方法においては、上述のように、ＲＡＮＳＡＣ手法を用いて基礎行列の算出精度を向上させたり、基礎行列の算出に用いる特徴点のサンプリング手法に工夫を凝らして基礎行列の算出に必要とされる演算負荷を軽減したりしている。そこで、本実施例に係る運動量推定方法における、これらの特徴につき、以下に説明する。
【００６０】
２．エピポーラ誤差を評価量とするＲＡＮＳＡＣ手法による基礎行列の算出精度の向上
図２は、前述のように、図１に示すフローチャートに含まれる基礎行列算出ステップ（Ｓ４００）において実行される種々の処理の流れを表すフローチャートである。図２に示すように、本実施例に係る運動量推定方法の基礎行列算出ステップ（Ｓ４００）においては、前述の特徴点選択ステップ（Ｓ４１０）、基礎行列算出ステップ（Ｓ４２０）、及び誤差算出ステップ（Ｓ４３０）が所定回数Ｎだけ繰り返され、その後、最適基礎行列選択ステップ（Ｓ４４０）において、斯くして得られたＮ個の基礎行列のうち最も小さいエピポーラ誤差を示す基礎行列が最適基礎行列として選択される。
【００６１】
上記により、例えば、前述のオプティカルフロー算出ステップ（Ｓ３００）において、特徴点抽出手段によって第１の画像から抽出された特徴点の各々に対応する点（対応点）を、撮像手段が第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像から検索する際に、誤った点を検出した場合等、一部の対応点に大きい誤差が存在する場合に、かかる外れ値（アウトライア）の影響を排除し、基礎行列の算出精度を向上させることができる。即ち、基礎行列算出ステップ（Ｓ４００）において実行される特徴点選択ステップ（Ｓ４１０）、基礎行列算出ステップ（Ｓ４２０）、及び誤差算出ステップ（Ｓ４３０）、及び最適基礎行列選択ステップ（Ｓ４４０）による一連の処理の流れは、エピポーラ誤差を評価量とするＲＡＮＳＡＣ手法に該当し、最適な基礎行列の算出精度を向上させることができる。
【００６２】
次に、本実施例に係る運動量推定方法において基礎行列の算出に用いる特徴点のサンプリング手法に工夫を凝らして基礎行列の算出に必要とされる演算負荷を軽減している一連の処理の流れにつき、以下に説明する。
【００６３】
３．エピポーラ誤差を評価量とするＲＡＮＳＡＣ手法による基礎行列の算出精度の向上
図３は、前述のように、図２に示すフローチャートに含まれる特徴点選択ステップ（Ｓ４１０）において実行される種々の処理の流れを表すフローチャートである。図３に示すように、本実施例に係る運動量推定方法の基礎行列算出ステップ（Ｓ４００）に含まれる特徴点選択ステップ（Ｓ４１０）においては、ステップＳ４１１において、前述の特徴点抽出ステップ（Ｓ２００）において抽出された複数の特徴点から、所定数ｎの特徴点が選択される。所定数ｎは、前述のように、例えば、基礎行列の算出に用いるアルゴリズム等に応じて、任意の自然数に設定することができる。本実施例においては、所定数ｎが８であるものとして説明する。
【００６４】
次に、グループ分けステップ（Ｓ４１２）において、選択された８個（ｎ個）の特徴点が、オプティカルフローの向きに基づいて予め定められた８個（ｎ個）のグループに分けられる。ここで、オプティカルフローの向きに基づいて予め定められた８個（ｎ個）のグループとは、前述のように、個々の特徴点によって形成されるオプティカルフローの向きの角度の範囲に応じて分けられたｎ個（本実施例においては８個）のグループである。本実施例においては、これら８個のグループは、撮像手段によって撮像された画像における水平方向をＸ軸方向、鉛直方向をＹ軸方向とするＸ−Ｙ座標平面におけるＸ軸上での正の向きの角度が０°（ゼロ度）であり、且つ反時計回り方向を角度が増大する方向であると定義した場合、３６０°を８個の角度領域に分けることによって設定した。
【００６５】
即ち、本実施例においては、３６０°を均等に４５°ずつの角度領域に分け、個々の角度領域に対応する８個のグループを設定した。結果として、本実施例においては、グループ１の角度領域は０〜４５°、グループ２の角度領域は４５〜９０°、…、グループ８の角度領域は３１５〜３６０°となるように８個のグループを分けた。但し、本実施例においては８個のグループを均等な角度領域を有するように分けたが、前述のように、個々のグループを不均等に分けてもよい。
【００６６】
また、個々の特徴点によって形成されるオプティカルフローの向きの角度（θ）は、前述のように、個々の特徴点の第１の画像における座標と第２の画像における座標とから、幾何学的に算出することができる。より詳しくは、撮像手段が第１の位置及び第１の姿勢にあるときに撮像された第１の画像における特徴点ｐ１の座標を（ｕ１，ｖ１）とし、撮像手段が第１の位置及び第１の姿勢とは異なる第２の位置及び第２の姿勢にあるときに撮像された第２の画像における前記特徴点ｐ１に対応する点ｐ２の座標を（ｕ２，ｖ２）とする。この場合、特徴点ｐ１によって形成されるオプティカルフローの向きの角度（θ）は、例えば、以下の式によって算出することができる。
【００６７】
【数１】
2013104660.tif 000003
【００６８】
当該グループ分けステップ（Ｓ４１２）においては、上記のようにして算出されたオプティカルフローの向きの角度（θ）に基づいて、ステップＳ４１１において選択された８個の特徴点の各々が、上述の８個のグループ１乃至８に分類される。その結果、８個の特徴点が８個のグループの各々に１個ずつ配分される可能性もあるが、８個のグループの中の何れかに複数（即ち、２個以上）の特徴点が配分され、結果として特徴点が１個も配分されない空のグループが生ずる可能性もある。しかしながら、本発明は、前述のように、個々の基礎行列の算出に用いるオプティカルフローを形成する特徴点（対応点）を選択する際に、従来技術のように個々の基礎行列の算出に用いるオプティカルフローを形成する特徴点をランダム且つ無条件に選択するのではなく、個々のオプティカルフローの向きを考慮して、異なる向きを有するオプティカルフローを形成する特徴点を効率的にサンプリングして基礎行列の算出に用いることにより、演算負荷を軽減しつつ、カメラの運動量及び特徴点の三次元座標を高精度に算出しようとするものである。
【００６９】
従って、本実施例に係る運動量推定方法においては、８個のグループの中に、複数の特徴点が属するグループが存在するか否かを確認する（ステップＳ４１３）。複数の特徴点が属するグループが存在する場合（ステップＳ４１３：Ｙｅｓ）、特徴点収束ステップ（Ｓ４１５）において、かかるグループに属する複数の特徴点のうち１個だけを残し、その他の特徴点を削除する。この際、特徴点が２個以上属するグループにおいて残される１個の特徴点（代表特徴点）は、前述のように、例えば、ランダム且つ無条件に選択したり、あるいは、当該グループに隣り合う２つのグループの代表特徴点との角度差がより均等な特徴点を選択したりすることによって決定することができる。
【００７０】
一方、本実施例に係る運動量推定方法においては、特徴点が１個も属していない空のグループが存在するか否かについても確認する（ステップＳ４１４）。特徴点が１個も属していない空のグループが存在する場合（ステップＳ４１５：Ｙｅｓ）、特徴点再選択ステップ（Ｓ４１６）において、空のグループの数と同じ数の特徴点が改めて選択される。これにより、８個の特徴点が改めて選択された状態となるので、グループ分けステップ（Ｓ４１２）に戻り、上述の各ステップが繰り返される。
【００７１】
一方、特徴点が１個も属していない空のグループが存在しない場合（ステップＳ４１５：Ｎｏ）は、８個のグループの全てに特徴点が１個ずつ属する状態になっていることを意味する。従って、本実施例に係る運動量推定方法においては、次の基礎行列算出ステップ（Ｓ４２０）に処理が移る。
【００７２】
上述のように、本実施例に係る運動量推定方法によれば、特徴点選択ステップ（Ｓ４１０）において、上記グループ分けステップ（Ｓ４１２）、特徴点収束ステップ（Ｓ４１５）、及び特徴点再選択ステップ（Ｓ４１６）が、８個のグループの全てに特徴点が１個ずつ属する状態になるまで繰り返される。これにより、種々の異なる向きを有するオプティカルフローを形成する特徴点を効率的にサンプリングして基礎行列の算出に用いることができる。その結果、本実施例に係る運動量推定方法によれば、個々の基礎行列の算出精度が高まり、移動体の運動量及び特徴点の三次元座標の算出精度も高まる。
【００７３】
以上、本発明を説明することを目的として、特定の構成を有する幾つかの実施態様について説明してきたが、本発明の範囲は、これらの例示的な実施態様に限定されるものではなく、特許請求の範囲及び明細書に記載された事項の範囲内で、適宜修正を加えることができることは言うまでも無い。
【図１】
2013104660.tif 000004
【図２】
2013104660.tif 000005
【図３】
2013104660.tif 000006