(57)【特許請求の範囲】
【請求項１】
入力された参照画像の中心を原点とする座標系において、前記参照画像中の所定の基点の座標の値に応じて、前記参照画像よりも後に入力された探索画像における前記基点に対応する対応点を探索する領域の大きさを決定する探索領域決定手段と、
前記参照画像における前記基点を中心とした所定の範囲の画像領域と、前記探索領域決定手段により決定された領域に含まれる探索点を中心とする前記探索画像における前記所定の範囲の画像領域とを比較して、前記対応点を探索する対応点探索手段と、
前記参照画像および前記探索画像を撮像する撮像装置の左右方向への回転を検出する回転検出手段と、
を備え、
前記探索領域決定手段は、
前記回転検出手段により回転が検出されると、当該回転の向きと逆の向きに、前記基点の左右方向の座標の絶対値が大きいほど、前記対応点を探索する領域の左右方向の範囲を広く決定する、オプティカルフロー算出装置。
【請求項２】
前記探索領域決定手段は、
前記基点の上下方向の座標の絶対値が大きいほど、前記対応点を探索する領域の上下方向の範囲を広く決定する、
請求項１記載のオプティカルフロー算出装置。
【請求項３】
前記探索領域決定手段は、
前記基点の左右方向の座標の絶対値が大きいほど、前記対応点を探索する領域の左右方向の範囲を広く決定する、
請求項１または２記載のオプティカルフロー算出装置。
【請求項４】
前記探索領域決定手段は、
前記基点の上下方向または左右方向の軸の座標の絶対値に比例させて、前記対応点を探索する領域の前記軸の方向の範囲を広く決定する、
請求項１乃至３のいずれか一項に記載のオプティカルフロー算出装置。
【請求項５】
前記回転検出手段は、
複数の前記基点および前記対応点に基づき、前記参照画像および前記探索画像を撮像する撮像装置の左右方向への回転を検出する、
請求項１乃至４のいずれか一項に記載のオプティカルフロー算出装置。
【請求項６】
前記回転検出手段は、
回転角検出装置から入力された回転角の情報に基づき、前記参照画像および前記探索画像を撮像する撮像装置の左右方向への回転を検出する、
請求項１乃至４のいずれか一項に記載のオプティカルフロー算出装置。
【請求項７】
前記基点の奥行きを算出する奥行き算出手段を備え、
前記探索領域決定手段は、
前記奥行き算出手段により算出された、前記基点の奥行きが大きいほど、前記対応点を探索する領域の上下方向および左右方向の範囲を狭く決定する、
請求項１乃至６のいずれか一項に記載のオプティカルフロー算出装置。
【請求項８】
オプティカルフロー算出装置が実行するオプティカルフロー算出方法であって、
入力された参照画像の中心を原点とする座標系において、前記参照画像中の所定の基点の座標の値に応じて、前記参照画像よりも後に入力された探索画像における前記基点に対応する対応点を探索する領域の大きさを決定する探索領域決定ステップと、
前記参照画像における前記基点を中心とした所定の範囲の画像領域と、前記探索領域決定ステップにより決定された領域に含まれる探索点を中心とする前記探索画像における前記所定の範囲の画像領域とを比較して、前記対応点を探索する対応点探索ステップと、
前記参照画像および前記探索画像を撮像する撮像装置の左右方向への回転を検出するステップと、
を実行し、
前記探索領域決定ステップは、
前記回転を検出するステップにより回転が検出されると、当該回転の向きと逆の向きに、前記基点の左右方向の座標の絶対値が大きいほど、前記対応点を探索する領域の左右方向の範囲を広く決定する、オプティカルフロー算出方法。
【請求項９】
コンピュータに、請求項８に記載の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オプティカルフロー算出装置、オプティカルフロー算出方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、衝突防止やレーンキーピングといった自動車の先進安全運転システム（Advanced Driving Assistant System, ADAS）を搭載した自動車や、自律的に移動するロボット、無人飛行機などが急速に普及しはじめている。これらを実現する手段として、単眼カメラやステレオカメラによる画像を用いて、環境を認識するものが多く提案されている。
【０００３】
環境を認識するための画像処理の一つとして、オプティカルフローと呼ばれる物体などの見かけの動きを、画像から検出する処理がある。
【０００４】
オプティカルフローを検出する方法には、大きく分けて二つある。一つは勾配法と呼ばれるものであり、前フレームの探索点を中心とした領域画像の類似度変化の勾配に基づいて、極値点を見つける方法である。この方法では、局所解に陥る可能性があり、類似度が最高であるとは限らない。もう一つは、テンプレートマッチング法（ブロックマッチング法）と呼ばれるものであり、同じく探索点を中心とした領域画像の類似度に基づくが、ＳＡＤ(Sum of Absolute Differences)やＳＳＤ(Sum of Squared Differences)に代表されるように、ある探索領域範囲を与え、その中を全て探索した上で類似度が最も高くなる点を検出結果とする方法である。この方法では、最終的な類似度が、探索領域内では最高であることが保証されているが、探索領域を広くするほど演算量が増加してしまうデメリットがある。
【０００５】
特許文献１には、オプティカルフローを探索する特徴点の数が多いほど、オプティカルフロー算出の演算負荷が大きくなってしまうため、探索する特徴点の数を制限しつつ、車両の運動量の算出における精度を下げないよう効率的に特徴点を選ぶ技術が開示されている。
【０００６】
特許文献２には、オプティカルフローの探索領域を、前処理として一定のかたまり領域のテンプレートを利用した輝度変動量を計算した結果から、前もってあたりを付けておく技術が開示されている。
【０００７】
特許文献３には、二つのカメラで撮像された点の対応から視差による奥行きを求める技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
オプティカルフローを検出する場合、探索領域の外の領域に対して類似度の比較を行うことはないため、画像に写った移動物体の動きが大きい場合や、自車の動き自体が大きい場合に、本来検出されるべき対応点が検出されない可能性がある。探索領域を大きくすればするほど、より正しい対応点を見つける可能性が高くなるが、類似度の計算回数と比較回数がそれにともない増加するので、演算量が増加するという問題がある。また、いかなる基点座標に対しても探索領域を一意に決めている従来の手法では、対応点が存在し得ない範囲まで類似度の計算や比較をしていることになり非効率であるという問題があった。
【０００９】
そこで、探索における演算量を減らしつつ、正しい対応点を検出する確率を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
オプティカルフロー算出装置を提供する。
【００１１】
このオプティカルフロー算出装置において、入力された参照画像の中心を原点とする座標系において、前記参照画像中の所定の基点の座標の値に応じて、前記参照画像よりも後に入力された探索画像における前記基点に対応する対応点を探索する領域の大きさを決定する探索領域決定手段と、前記参照画像における前記基点を中心とした所定の範囲の画像領域と、前記探索領域決定手段により決定された領域に含まれる探索点を中心とする前記探索画像における前記所定の範囲の画像領域とを比較して、前記対応点を探索する対応点探索手段と、前記参照画像および前記探索画像を撮像する撮像装置の左右方向への回転を検出する回転検出手段と、を備え、前記探索領域決定手段は、前記回転検出手段により回転が検出されると、当該回転の向きと逆の向きに、前記基点の左右方向の座標の絶対値が大きいほど、前記対応点を探索する領域の左右方向の範囲を広く決定する。
【発明の効果】
【００１２】
開示の技術によれば、探索における演算量を減らしつつ、正しい対応点を検出する確率を向上させることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係るオプティカルフロー算出装置の概略図である。
【図２】対応点探索部による対応点の探索処理を説明するための図である。
【図３】直進時、左折時、右折時のオプティカルフローを説明するための図である。
【図４】カメラ座標系を説明するための図である。
【図５】基点座標の上下方向の位置に応じた探索範囲の例を示す図である。
【図６】基点座標の上下方向および左右方向の位置に応じた探索範囲の例を示す図。
【図７】第１の実施形態における探索領域決定部のフローチャートの例である。
【図８】第２の実施形態に係るオプティカルフロー算出装置の概略図である。
【図９】車輪の移動距離とその回転角を説明するための図である。
【図１０】第３の実施形態に係るオプティカルフロー算出装置の概略図である。
【発明を実施するための形態】
【００１４】
＜第１の実施形態＞
図１は、第１の実施形態に係るオプティカルフロー算出装置１の概略図である。
【００１５】
オプティカルフロー算出装置１は、入力された画像に基づき、オプティカルフローを算出し、算出した結果を外部に出力する装置であり、画像入力部１１、画像記憶部１２、特徴点抽出部１３、基点座標記憶部１４、探索領域決定部１５、対応点探索部１６、回転検出部１７を有する。
【００１６】
画像入力部１１は、カメラ等の撮像装置２で撮影され、レンズ歪みを幾何的に補正する歪み補正等の補正処理が行われた画像を入力する。
【００１７】
画像記憶部１２は、画像入力部１１から入力された画像を記憶する。画像が入力されるたびに新しい画像に置き換えられて記憶され、一度記憶部に記憶された画像は、次に画像が入力されたタイミングで、新しい画像とマッチングするために参照フレームとして対応点探索部１６に出力される。
【００１８】
特徴点抽出部１３は、画像入力部１１から入力され、上述の参照フレームとなる画像から、ＨａｒｒｉｓやＦＡＳＴ(Features from Accelerated Segment Test)といったアルゴリズムを使って、特徴点を抽出し、基点座標記憶部１４に出力する。なお、このようにして抽出された特徴点は、コーナーや周辺の輝度変化が大きいなど、対応点が探しやすい点となっている。なお、特徴点を抽出する代わりに、例えば参照フレーム中の一定の間隔の点の座標を基点座標として選択して出力してもよい。
【００１９】
基点座標記憶部１４は、基点座標を記憶し、探索領域決定部１５に出力する。対応点探索をまだ行っていない最初のタイミングや、特徴点抽出部１３によって新たに特徴点が抽出された場合に、特徴点抽出部１３によって抽出された特徴点を、基点座標として記憶する。また、対応点探索部１６によって探索した結果の対応点も、基点座標として記憶する。
【００２０】
探索領域決定部１５は、基点座標記憶部１４から基点座標を入力し、参照フレーム中の基点座標に応じた探索フレーム中の探索領域を決定し、基点座標および探索領域を対応点探索部１６に出力する。
【００２１】
対応点探索部１６は、探索領域内ブロック画像抽出部１６１、類似度計算部１６２、閾値比較部１６３を有する。
【００２２】
対応点探索部１６は、画像記憶部１２に記憶されている、時間的に前の画像である参照フレームと、画像入力部１１から入力された画像である探索フレームと、探索領域決定部１５から入力された基点座標および探索領域とに基づいて、対応点を探す処理である対応点探索処理を行う。なお、対応点探索部１６は、探索領域を超えて探索することはない。
【００２３】
ここで、対応点とは、参照フレーム中の基点座標に対応する、探索フレーム中の座標のことである。また、探索領域とは、対応点を探す基点となる基点座標を中心とした探索フレーム内の領域のことである。
【００２４】
対応点探索処理は、例えば、ブロックマッチング法を用いて行う。ブロックマッチング法は、まず、参照フレーム中の基点座標を中心とした、ある一定の大きさの部分画像を抜き出したテンプレートパッチと呼ばれる矩形等の画像データを作る。そして、この画像データと、探索フレームにおける探索領域内の、テンプレートパッチと同じ大きさのあらゆるブロックに対して、類似度等を判断してマッチング処理を都度行い、最終的に最も類似度の高いブロックを求め、その中心を対応点とする方法である。
【００２５】
図２は、対応点探索部１６による対応点の探索処理を説明するための図である。図２の例では、テンプレートパッチはＮ画素×Ｎ画素の正方形である。
【００２６】
まず、探索領域内ブロック画像抽出部１６１が、探索領域決定部１５で決定された探索フレーム中の水平Ｗ画素×垂直Ｈ画素である探索領域を入力し、当該探索領域内における探索点を中心としたＮ画素×Ｎ画素のブロック画像を抽出する。探索点は、探索領域内における全ての点でも良いし、一定の間隔の点でもよい。
【００２７】
次に、類似度計算部１６２が、テンプレートパッチと、探索領域内ブロック画像抽出部１６１が抽出したブロック画像の類似度を、ＳＡＤ等の方法に従って計算する。ＳＡＤでは、輝度の値の差の絶対値を、ブロック内で総和する。
【００２８】
そして、閾値比較部１６３が、テンプレートパッチと、探索領域内ブロック画像抽出部１６１が抽出したブロック画像の類似度を評価する。ＳＡＤの場合、計算された総和が小さければ小さいほど、類似度が高いとされる。最も低いＳＡＤ値が所定の閾値未満の場合は、最もＳＡＤ値の低いブロックの中心座標が、基点の座標に対する対応点の座標として出力される。一方、ＳＡＤ値が所定の閾値以上の場合には、対応点が見つからなかったためオプティカルフローの検出に失敗した旨を出力する。
【００２９】
回転検出部１７は、対応点探索部１６により算出されたオプティカルフローに基づき、移動体の上下方向の軸周りの回転、すなわち、移動体の左右方向への回転を検知することにより、移動体が右折または左折していることを検出し、検出結果を探索領域決定部１５に出力する。オプティカルフローに基づく移動体が右折または左折していることの検知は、例えば、x座標の符号が異なる複数の基点に対する対応点が全て左に移動した場合は右折をしていると判断し、全て右に移動した場合は左折をしていると判断する等により検知する。
【００３０】
次に、探索領域決定部１５による探索領域の決定方法について説明するために、まず、背景のオプティカルフローについて説明をする。
【００３１】
図３は、直進時、左折時、右折時のオプティカルフローを説明するための図である。例えば車載カメラのように、車の移動の前方に対してカメラが垂直に取り付けられていたとする。この時、純粋に前方に移動している間、すなわち直進時のオプティカルフローは、図３（Ａ）のように、消失点と呼ばれる一点から放射状になる。左折時のオプティカルフローは図３（Ｂ）のように右に、右折時のオプティカルフローは図３（Ｃ）のように左になる。
【００３２】
これは、カメラの撮像をピンホールカメラモデルで表現し、観測された物体のある前の時間におけるカメラ座標系から後の時間におけるカメラ座標系への座標変換と、後の時間のカメラ座標系から画像の２次元座標系への投影変換の式で説明することができる。
【００３３】
観測された物体の前の時間におけるカメラ座標系での、３次元座標を(X,Y,Z)とする。まず、後の時間におけるカメラ座標系への３次元座標変換は、カメラ自体の移動を外部パラメータ行列として同次座標表現を使って以下の式で表される。
【００３４】
【数１】
0006488697.tif 000002
外部パラメータ行列は、３×３の回転成分(R1〜R9)と、並進成分(t1〜t3)から成る。
【００３５】
次に、座標変換によってカメラ座標系に変換された３次元座標(X',Y',Z')を、カメラによって撮像された後の画像の２次元座標に投影する。投影後の２次元座標は、カメラの内部パラメータ行列を用いて、以下の式で表される。
【００３６】
【数２】
0006488697.tif 000003
ここでfx,fyは、撮像素子１画素のx,y方向の大きさで、cx,cyは、画像センサの中心の座標である。
【００３７】
ここで、図４のように、自動車やロボットといった移動体の前方に、移動体の前後方向（進行方向）がカメラの光軸方向となるようにカメラを取り付けた場合を考える。カメラの光軸方向にz軸、重力と反対方向（移動体の上下方向）にy軸、カメラの投影面でy軸に垂直な方向（移動体の左右方向）にx軸を取り、カメラの投影面と逆側の焦点をカメラ座標系の原点とする。
【００３８】
このようにカメラの座標系を取ると、例えば自動車は、フレームが新しくサンプリングされる単位時間の間のうちに、カメラの光軸に対して前方もしくは後方にのみ並進移動し、基本的には重力と反対方向（y軸方向）への上下移動はしないと考えることができる。つまり、外部パラメータ行列の並進成分は、t1とt3のみで、t2=0となる。また、外部パラメータ行列の回転成分に関しても、y軸まわりの回転のみとみなせるため、y軸まわりの回転角をθとしてsinθ,cosθを使って表せる。
【００３９】
つまり、ある前の時間T1のカメラ座標系C1から、次の時間T2のカメラ座標系C2への座標変換は、上記のような移動体の動きの制約によって以下のように表せる。
【００４０】
【数３】
0006488697.tif 000004
これは、タイヤなどによる移動手段を持つような、同様の動き制約のあるロボットに搭載したカメラ映像でも同じことが言える。
【００４１】
ここで、前の時間におけるカメラで撮影された点の座標と、後の時間におけるカメラで撮影された点の座標の差がオプティカルフローとなるので、前者の座標を(x,y)、後者の座標を(x',y')とすると、投影変換の式により、以下となる。
【００４２】
【数４】
0006488697.tif 000005
この時間経過の間、内部パラメータ行列はズームなどの焦点距離変化がなければ不変である。
【００４３】
オプティカルフローは、(x',y')-(x,y)であるので、cx,cyの影響はなく、またfx,fyの影響は、探索領域の決定方法の最後に、x軸方向の探索領域、y軸方向の探索領域にこれらの係数を乗ずれば良い。
【００４４】
前述した外部パラメータ行列によるカメラ座標系の変換を踏まえたオプティカルフローは、以下のように算出される。ここでは、見易くするために、sinθ=S,cosθ=Cと表現している。
【００４５】
【数５】
0006488697.tif 000006
これにより、移動体に対して重力と反対方向（y軸方向）の並進移動がなく、y軸周りの回転しかあり得ない移動体に搭載したカメラでのオプティカルフローにおいて、まずy軸方向のフローの大きさは、前時間T1におけるフレームで撮像された基点座標のy軸座標の値に比例することが分かる。
【００４６】
また、移動体が直進している、すなわち、カメラの光軸方向（z軸方向）に移動している場合には、S=sinθ=0,C=cosθ=1,t1=0となるため、理論的なオプティカルフローは、以下となる。
【００４７】
【数６】
0006488697.tif 000007
つまり、オプティカルフローのx軸方向の大きさは、基点座標のx座標の値に比例し、y軸方向の大きさは、基点座標のy座標の値に比例する。
【００４８】
一方、移動体が直進していない場合でも、回転角が小さい場合には、sinθは0に、cosθは1に近づき、x軸方向のフローは(-t3X)/Z(Z+t3)に近づくため、基点座標のx軸座標に比例していくことが分かる。
【００４９】
また、移動体が右折または左折をしている場合は、回転角が大きいため、x軸方向のフローは、分子は回転による成分S(Z2+X2)が支配的になり、右回転時には左、左回転時には右と、回転の向きと逆の向きに、X座標が原点から外れているほどフローが大きくなるように影響し、分母はX座標が回転の向きと逆の向きに外れているほど、奥行き座標Z'が小さくなるためフローが大きくなるように影響する。
【００５０】
フレームのサンプリングによる単位時間が経過した場合も、カメラ座標系C2を基準としてその次の時間T3におけるカメラ座標系C3へ変換し、投影変換をほどこせば、同様のオプティカルフローが導き出せる。
【００５１】
よって、図５のように、探索領域決定部１５が、参照画像の中心を原点(0,0)とした座標が(xn,yn)である基点に対するオプティカルフローの探索領域を、Wn×Hnとした時に、基点のy座標の絶対値が大きいほど探索領域のy方向の範囲Hnを大きく設定する。それにより、演算負荷を下げながら、誤検出の少ない効率的なオプティカルフロー算出を実現することができる。例えば、Hnをynに正比例させてもよいし、自乗比例させてもよい。なお、現実に撮像した画像では、被写体を画素に量子化した場合におきる誤差や、実際のレンズの歪みと補正処理の誤差、実際のレンズ中心と画像中心の補正処理の誤差があるため、探索領域決定部１５が、Hn=a|yn|+bの式を使って探索領域のy方向の範囲Hnを設定してもよい。ここで、比例定数aは、例えば移動体の速度とカメラのサンプリングレートに応じて、探索領域決定部１５が自動で決定してもよいし、予め設定できるようにしてもよい。定数bは数画素〜10画素程度のオフセットで、予測される誤差の大きさから探索領域決定部１５が自動で決定してもよいし、予め設定できるようにしてもよい。また、算出する基点の数は、予め設定できるようにしてもよい。
【００５２】
また、探索領域決定部１５は、回転検出部１７により、移動体が右折または左折していることが検出された場合、右折には左、左折には右と、回転の向きと逆の向きに、基点のx座標の絶対値が大きいほど探索領域のx方向の範囲Wnを大きく設定する。
【００５３】
移動体が右折または左折していることを検知していない場合、図６のように、基点のy座標の絶対値が大きいほど探索領域のy方向の範囲Hnを大きく設定するとともに、基点のx座標の絶対値が大きいほど探索領域のx方向の範囲Wnを大きく設定する。例えば、y方向における探索領域の決定方法と同様に、探索領域のx方向の大きさをWn=a|xn|+bの式を使って設定してもよい。
【００５４】
図７は、第１の実施形態における探索領域決定部のフローチャートの例である。
【００５５】
まず、オプティカルフローが算出されていない初期状態であるか判断する（ステップＳ１）。
【００５６】
そして、初期状態であれば（ステップＳ１でＹＥＳの場合）、基点のy座標の絶対値が大きいほど探索領域のy方向の範囲Hnを大きく設定する（ステップＳ２）。
【００５７】
初期状態でなければ（ステップＳ１でＮＯの場合）、移動体が右折または左折しているか判断する（ステップＳ３）。
【００５８】
移動体が右折または左折していると判断した場合（ステップＳ３でＹＥＳの場合）、回転の向きと逆の向きに、基点のx座標の絶対値が大きいほど探索領域のx方向の範囲Wnを大きく設定する（ステップＳ４）。
【００５９】
移動体が右折または左折していると判断しない場合（ステップＳ３でＮＯの場合）、基点のy座標の絶対値が大きいほど探索領域のy方向の範囲Hnを大きく設定するとともに、基点のx座標の絶対値が大きいほど探索領域のx方向の範囲Wnを大きく設定する（ステップＳ５）。
【００６０】
なお、直進することが多いとみなせる移動体の場合等は、初期状態の際に、基点のy座標の絶対値が大きいほど探索領域のy方向の範囲Hnを大きく設定するとともに、基点のx座標の絶対値が大きいほど探索領域のx方向の範囲Wnを大きく設定してもよい。つまり、図７のステップＳ１でＹＥＳの場合、ステップ５の処理を行うようにしてもよい。
【００６１】
＜第２の実施形態＞
図８は、本発明の第２の実施形態に係るオプティカルフロー算出装置の概略図である。第１の実施形態に比べ、回転検出部１７が、移動体が右折または左折していることの検知を、算出されたオプティカルフローに基づいて行う代わりに、回転角検出装置３からの入力に基づいて行う点が異なる。
【００６２】
回転角検出装置３は、例えばタイヤに取り付けたホイールエンコーダ、ハンドル操作から得られる操舵角の情報のセンサ、加速度センサ、あるいはジャイロセンサ等である。
【００６３】
例えば、自動車のように前輪で操舵する場合は、操舵角を車内の通信線から取得することで回転角を得るようにしてもよい。また、移動ロボット等で、操舵輪を持たず、二輪の駆動輪の速度差で回転する移動体の場合は、図９のように、車輪の間隔を2d、Δtの時間の間に移動した車輪の移動距離をそれぞれΔLL、ΔLRとした場合の、Δt時間に回転する角度Δθは、Δθ=(ΔLR-ΔLL)/2dである公式を用いて求めてもよい。
【００６４】
回転検出部１７は、回転角検出装置３から入力された情報に基づき、移動体の水平面内での回転角を求める。そして、回転角が所定の閾値以下の場合は、移動体が直進していると判断する。
【００６５】
＜第３の実施形態＞
第３の実施形態では、複数のカメラで撮像された点の対応から視差による奥行きを求め、その点の奥行きに応じて探索領域を決定する。
【００６６】
図１０は、本発明の第３の実施形態に係るオプティカルフロー算出装置の概略図である。
【００６７】
第３の実施形態では、第１の実施形態または第２の実施形態に加え、奥行き算出部１８を備える。また、画像入力部がステレオカメラ等の複数のカメラからの入力を受ける。
【００６８】
奥行き算出部１８は、二つのカメラで撮像された点の対応から視差による奥行きを求め、探索領域決定部１５に出力する。なお、奥行きを求める方法は、任意の方法を用いて良い。
【００６９】
上述した式から、オプティカルフローのy方向およびx方向の大きさは奥行きの二乗に反比例することが分かる。
【００７０】
よって、探索領域決定部１５が、奥行き算出部１８から入力された、基点座標に対応した奥行きが大きいほど、探索領域のy方向の範囲Hnおよび探索領域のx方向の範囲Wnを小さく設定する。例えば、奥行き算出部１８から入力された、基点座標に対応した奥行きをZnとして、x軸方向の探索範囲の大きさをHn=a/Zn2+b、y軸方向の探索範囲の大きさをWn=a/Zn2+bの式を使って算出する。
【００７１】
また、より好適には、第１の実施例または第２の実施例で示した方法と組み合わせ、基点の座標(xn,yn)および基点の奥行きZnを使って、Hn=ayn/Zn2+b、Wn=cxn/Zn2+dと算出してもよい。
【００７２】
＜実施形態の主な効果＞
以上説明したように本実施形態によれば、オプティカルフローを検出するための探索領域を、検出しようとする基点に応じて適応的に変えることにより、探索における演算量を減らしつつ、正しい対応点を検出する確率を向上させることができる。また、それにより、一定時間の間にオプティカルフローを算出できる基点の数を増やしたり、オプティカルフローを算出可能なフレームのサンプリングレートを向上させることも可能となる。
【００７３】
＜変形例＞
パーソナルコンピュータ等のコンピュータに、プログラムをインストールすることにより、オプティカルフロー算出装置を実現してもよい。
【００７４】
オプティカルフロー算出装置を設置する移動体は、自動車やロボットのみならず、航空機や船舶等であってもよい。
【符号の説明】
【００７５】
１  オプティカルフロー算出装置
１１  画像入力部
１２  画像記憶部
１３  特徴点抽出部（「特徴点抽出手段」の一例）
１４  基点座標記憶部
１５  探索領域決定部（「探索領域決定手段」の一例）
１６  対応点探索部（「対応点探索手段」の一例）
１７  回転検出部（「回転検出手段」の一例）
１８  奥行き算出部（「奥行き算出手段」の一例）
２  撮像装置
３  回転角検出装置
【先行技術文献】
【特許文献】
【００７６】
【特許文献１】特許第４７０２５６９号公報
【特許文献２】特許第４９２６１６３号公報
【特許文献３】特許第５４４０４６１号公報
【図１】
0006488697.tif 000008
【図２】
0006488697.tif 000009
【図３】
0006488697.tif 000010
【図４】
0006488697.tif 000011
【図５】
0006488697.tif 000012
【図６】
0006488697.tif 000013
【図７】
0006488697.tif 000014
【図８】
0006488697.tif 000015
【図９】
0006488697.tif 000016
【図１０】
0006488697.tif 000017