(57)【要約】【課題】高精度なオプティカルフローを算出し、高品質な画像の取得を図ること。【解決手段】フレーム画像内の物体の像１０１は、撮像部などによって入力され、矢印１０２の方向にボケを含んで記録される。記録された物体の像１０１について画像復元処理をおこない、復元像１０３と、フレーム内動きボケ関数１０４を得る。ここで、ＰＳＦ１０５は、撮像部の特性などに基づいて既知であり、フレーム内動きボケ関数１０４は、ＰＳＦ１０５と、フレーム内動きベクトル１０６とがコンボリューションされたものであるため、フレーム内動きボケ関数１０４をＰＳＦ１０５でデコンボリューションして、フレーム内動きベクトル１０６を得ることができる。そして、フレーム内動きベクトル１０６を（フレーム間隔時間／積分時間）倍してフレーム間動きベクトルを算出し、オプティカルフローに決定する。【選択図】図１
2007179354.tif 000002
【特許請求の範囲】
【請求項１】
カメラから入力されてくる一連のフレーム画像内の任意の第１のフレーム画像から任意の注目点を抽出する注目点抽出手段と、
前記第１のフレーム画像に関する画像復元処理により、前記注目点抽出手段によって抽出された注目点に関する動きボケ関数を算出する動きボケ関数算出手段と、
前記動きボケ関数算出手段によって算出された動きボケ関数と、前記カメラのボケ関数とに基づいて、前記第１のフレーム画像内における前記注目点のフレーム内動きベクトルを算出するフレーム内動きベクトル算出手段と、
前記フレーム内動きベクトル算出手段によって算出されたフレーム内動きベクトルと、前記カメラの積分時間およびフレーム間隔時間とに基づいて、前記第１のフレーム画像と、当該第１のフレーム画像の次の第２のフレーム画像との間における前記注目点のフレーム間動きベクトルを算出するフレーム間動きベクトル算出手段と、
前記フレーム間動きベクトル算出手段によって算出されたフレーム間動きベクトルを前記注目点のオプティカルフローに決定するオプティカルフロー決定手段と、
を備えることを特徴とするオプティカルフロー算出装置。
【請求項２】
前記第２のフレーム画像から前記注目点に対応する対応点候補を抽出する対応点候補抽出手段と、
前記フレーム間動きベクトル算出手段によって算出されたフレーム間動きベクトルに基づいて、前記注目点に対応する対応点となる対応点座標を推定する対応点座標推定手段と、
前記対応点候補抽出手段によって抽出された対応点候補と、前記対応点座標推定手段によって推定された対応点座標とに基づいて、前記注目点に対応する対応点を決定する対応点決定手段と、を備え、
前記オプティカルフロー決定手段は、
前記対応点決定手段によって決定された対応点に基づいて、前記注目点のオプティカルフローを決定することを特徴とする請求項１に記載のオプティカルフロー算出装置。
【請求項３】
カメラから入力されてくる一連のフレーム画像内の任意の第１のフレーム画像から任意の注目点を抽出する注目点抽出工程と、
前記第１のフレーム画像に関する画像復元処理により、前記注目点抽出工程によって抽出された注目点に関する動きボケ関数を算出する動きボケ関数算出工程と、
前記動きボケ関数算出工程によって算出された動きボケ関数と、前記カメラのボケ関数とに基づいて、前記第１のフレーム画像内における前記注目点のフレーム内動きベクトルを算出するフレーム内動きベクトル算出工程と、
前記フレーム内動きベクトル算出工程によって算出されたフレーム内動きベクトルと、前記カメラの積分時間およびフレーム間隔時間とに基づいて、前記第１のフレーム画像と、当該第１のフレーム画像の次の第２のフレーム画像との間における前記注目点のフレーム間動きベクトルを算出するフレーム間動きベクトル算出工程と、
前記フレーム間動きベクトル算出工程によって算出されたフレーム間動きベクトルを前記注目点のオプティカルフローに決定するオプティカルフロー決定工程と、
を含むことを特徴とするオプティカルフロー算出方法。
【請求項４】
カメラから入力されてくる一連のフレーム画像内の任意の第１のフレーム画像から任意の注目点を抽出させる注目点抽出工程と、
前記第１のフレーム画像に関する画像復元処理により、前記注目点抽出工程によって抽出された注目点に関する動きボケ関数を算出させる動きボケ関数算出工程と、
前記動きボケ関数算出工程によって算出された動きボケ関数と、前記カメラのボケ関数とに基づいて、前記第１のフレーム画像内における前記注目点のフレーム内動きベクトルを算出させるフレーム内動きベクトル算出工程と、
前記フレーム内動きベクトル算出工程によって算出されたフレーム内動きベクトルと、前記カメラの積分時間およびフレーム間隔時間とに基づいて、前記第１のフレーム画像と、当該第１のフレーム画像の次の第２のフレーム画像との間における前記注目点のフレーム間動きベクトルを算出させるフレーム間動きベクトル算出工程と、
前記フレーム間動きベクトル算出工程によって算出されたフレーム間動きベクトルを前記注目点のオプティカルフローに決定させるオプティカルフロー決定工程と、
をコンピュータに実行させることを特徴とするオプティカルフロー算出プログラム。
【請求項５】
請求項４に記載のオプティカルフロー算出プログラムを記録したコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、カメラから入力されてくる一連のフレーム画像におけるオプティカルフローを高精度に算出するオプティカルフロー算出装置、オプティカルフロー算出方法、オプティカルフロー算出プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
従来より、時間的に連続した複数のフレーム画像から、あるフレーム画像中に存在する物体の３次元構造を推定するために、オプティカルフロー（動きベクトル）を算出する方法がある。このオプティカルフロー（動きベクトル）の算出は、第一フレーム画像内の基点と、第二フレーム画像内における、基点に対応する対応点に基づいておこなう方法がとられている。
【０００３】
より具体的には、たとえば、第一フレーム画像内の基点を含む所定領域の画素値と、第二フレーム画像内における第一フレーム画像内の基点を中心とした検索領域内における、基点に対応する対応点を含む所定領域の画素値の相関値を算出する。そして、算出した相関値の最も高い所定領域の対応点を正式な対応点に決定して、決定した対応点と第一フレーム画像内の基点から動きベクトルを算出する。このように、第一フレーム画像中の各画素について動きベクトルを算出して、あるフレーム画像中に存在する物体の３次元構造を推定するためのオプティカルフロー（動きベクトル）を算出する（たとえば、下記特許文献１参照。）。
【０００４】
ここで、図９−１および図９−２を用いて、従来のオプティカルフロー算出方式によって、時間的に連続した２つのフレーム画像（ここでは第一フレーム画像、第二フレーム画像とする）のオプティカルフローを算出する場合について説明する。図９−１は、従来のオプティカルフロー算出方式を示す第一フレーム画像に関する説明図である。図９−１において、第一フレーム画像９１０は、注目点９１１と、テンプレート９１２と、から構成されている。注目点９１１は、任意の座標（ｘ１，ｙ１）に位置しており、第一フレーム画像９１０と、後述する第二フレーム画像９２０における動きベクトルの基点となる構成でもよい。また、テンプレート９１２は、注目点９１１の座標（ｘ１，ｙ１）を中心とする微小な領域を切り出したもので、細密なオプティカルフローを取得するために、より微少なサイズが要求される。
【０００５】
つづいて、図９−２について説明する。図９−２は、従来のオプティカルフロー算出方式を示す第二フレーム画像に関する説明図である。図９−２において、第二フレーム画像９２０は、対応点９２１と、対応点９２１における微小領域９２２と、検索領域９２３と、から構成されている。対応点９２１は、検索領域９２３内における注目点９１１に対応する座標（ｘ２，ｙ２）に位置している。また、検索領域９２３は、注目点９１１の座標（ｘ１，ｙ１）を中心とした領域で、対応点９２１の座標（ｘ２，ｙ２）を中心とした微小領域９２２を含んでいる。
【０００６】
オプティカルフローの算出は、まず、第一フレーム画像９１０におけるテンプレート９１２と、第二フレーム画像９２０における座標（ｘ２，ｙ２）を中心とした微小領域９２２との相関値を算出する。より具体的には、たとえば、第一フレーム画像９１０のテンプレート９１２と、第二フレーム画像９２０の座標（ｘ２，ｙ２）を中心とした微小領域９２２の各画素値の差のＲＭＳ（Ｒｏｏｔ  Ｍｅａｎ  Ｓｑｕａｒｅ（二乗平均平方根））を算出する。そして、検索領域９２３内をラスタスキャンしながら相関マップを作成し、相関値が最も大きくなる座標（ｘ２ｍａｘ，ｙ２ｍａｘ）を座標（ｘ１，ｙ１）の対応点９２１とする。この２つの対応した座標から座標（ｘ１，ｙ１）における動きベクトルを（ｘ２ｍａｘ−ｘ１，ｙ２ｍａｘ−ｙ１）として算出し、これを第一フレーム画像９１０内の各画素について算出することでオプティカルフローを得ることができる。
【０００７】
【特許文献１】特開平１０−９１７９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、画像内の物体の動きが速い場合、第一フレーム画像と第二フレーム画像間の物体の移動距離が長くなるため、座標（ｘ１，ｙ１）の対応点である座標（ｘ２ｍａｘ，ｙ２ｍａｘ）は、座標（ｘ１，ｙ１）から離れた位置となる。したがって、物体の動きが速い場合に狭い検索領域であると、座標（ｘ１，ｙ１）の対応点である座標（ｘ２ｍａｘ，ｙ２ｍａｘ）が含まれず、適切なオプティカルフローが得られないという問題がある。
【０００９】
また一方で、細密なオプティカルフローを得るには、第一フレーム画像の注目点周辺の局所的な特徴から、第二フレーム画像における対応点を決定しなければならないため、テンプレートのサイズは小さく設定する必要がある。したがって、物体の動きが速い場合に広い検索領域であると、サイズの小さなテンプレートに含まれる特徴量は比較的少ないため、相関値が同程度となる対応点候補が複数検出されてしまい、正確な対応点を決定できず、適切なオプティカルフローが得られないという問題がある。換言すれば、物体の動きが速くなるほど、適切なオプティカルフローを得られずに、物体の３次元構造を正確に推定できないという問題がある。
【００１０】
この発明は、上述した従来技術による問題点を解消するため、フレーム画像の復元処理によって得られる動きボケ関数を用いて、簡単かつ高精度にオプティカルフローを算出して、物体の３次元構造推定の高品質化を図ることができるオプティカルフロー算出装置、オプティカルフロー算出方法、オプティカルフロー算出プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、この発明にかかるオプティカルフロー算出装置、オプティカルフロー算出方法、オプティカルフロー算出プログラムおよび記録媒体は、カメラから入力されてくる一連のフレーム画像内の任意の第１のフレーム画像から任意の注目点を抽出し、前記第１のフレーム画像に関する画像復元処理により、抽出された注目点に関する動きボケ関数を算出し、算出された動きボケ関数と、前記カメラのボケ関数とに基づいて、前記第１のフレーム画像内における前記注目点のフレーム内動きベクトルを算出し、算出されたフレーム内動きベクトルと、前記カメラの積分時間およびフレーム間隔時間とに基づいて、前記第１のフレーム画像と、当該第１のフレーム画像の次の第２のフレーム画像との間における前記注目点のフレーム間動きベクトルを算出し、算出されたフレーム間動きベクトルを前記注目点のオプティカルフローに決定することを特徴とする。
【００１２】
この発明によれば、第１のフレーム画像を用いるだけで、注目点における第２のフレーム画像間とのフレーム間動きベクトルを算出し、オプティカルフローを決定することができる。
【００１３】
また、上記発明において、前記第２のフレーム画像から前記注目点に対応する対応点候補を抽出し、算出されたフレーム間動きベクトルに基づいて、前記注目点に対応する対応点となる対応点座標を推定し、抽出された対応点候補と、推定された対応点座標とに基づいて、前記注目点に対応する対応点を決定し、決定された対応点に基づいて、前記注目点のオプティカルフローを決定することとしてもよい。
【００１４】
この発明によれば、第２のフレーム画像から抽出された対応点候補と、第１のフレーム画像から推定された対応点座標とに基づいて、注目点に対応する対応点を決定して、高精度に注目点のオプティカルフローを決定することができる。
【発明の効果】
【００１５】
本発明にかかるオプティカルフロー算出装置、オプティカルフロー算出方法、オプティカルフロー算出プログラムおよび記録媒体によれば、フレーム間動きベクトルによって注目点のオプティカルフローを決定できるため、簡単かつ高精度にオプティカルフローを算出して、物体の３次元構造推定の高品質化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、この発明にかかるオプティカルフロー算出装置、オプティカルフロー算出方法、オプティカルフロー算出プログラムおよび記録媒体の好適な実施の形態を詳細に説明する。
【００１７】
（実施の形態１）
（オプティカルフロー算出の概要）
まず、図１〜図４を用いて、この発明の実施の形態にかかるオプティカルフロー算出の概要について説明する。図１は、この発明の実施の形態にかかるフレーム内動きベクトルの概要を示す説明図である。
【００１８】
図１において、図示しない撮像部などによって入力されるフレーム画像内の物体の像１０１は、矢印１０２の方向にボケを含んで記録される。より具体的には、たとえば、撮像部によって入力されるフレーム画像内の物体の像１０１は、所定時間積分された各画素の輝度値を有しているため、単一フレーム画像内においてもボケを含んで記録されることとなる。
【００１９】
フレーム内動きボケ関数１０４は、ＰＳＦ１０５（Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ（ボケ関数））と、フレーム内動きベクトル１０６とがコンボリューション（たたみ込み積分）されたものである。ここで、ＰＳＦ１０５は、撮像部などがあらかじめ有しているものであり、撮像部の特性などに基づいて既知である構成でもよい。また、フレーム内動きベクトル１０６は、撮像部によってフレーム画像内の各画素の輝度値が積分される所定時間における、物体の動きベクトルである。
【００２０】
復元像１０３は、フレーム画像内の物体が静止していた場合に得られる真の物体像などであり、ボケを含んだフレーム画像内の物体の像１０１について画像復元処理をおこなうことで、復元像１０３と、フレーム内動きボケ関数１０４を得ることができる。
【００２１】
つぎに、フレーム内動きベクトル１０６の算出の概要について説明する。撮像部などによって入力されるフレーム画像内の物体の像１０１における座標をｇ（ｘ，ｙ）とすると、ｇ（ｘ，ｙ）は、ｆ（ｘ，ｙ）をフレーム画像内の物体が静止していた場合に得られる真の物体像（復元像１０３）、ｈ（ｘ，ｙ）をフレーム内動きボケ関数１０４、ｎ（ｘ，ｙ）をノイズとして、下記式（１）によってあらわすことができる。
【００２２】
ｇ（ｘ，ｙ）＝ｆ（ｘ，ｙ）＊ｈ（ｘ，ｙ）＋ｎ（ｘ，ｙ）・・・（１）
【００２３】
ここで、『＊』はコンボリュージョン（たたみ込み積分）をあらわし、ｇ（ｘ，ｙ）から、公知の画像復元処理によって、ｆ（ｘ，ｙ）、ｈ（ｘ，ｙ）を得ることができる。以下に、ＡＤ（Ａｙｅｒｓ  Ｄａｉｎｔｙ）法による画像復元処理の手順の概要を説明する。
【００２４】
ＡＤ法による画像復元処理は、下記手順（１）〜手順（１１）によっておこなう。
・手順（１）：Ｇ（ｕ，ｖ）＝ＦＦＴ［ｇ（ｘ，ｙ）］
・手順（２）：Ｆ’（ｕ，ｖ）＝ＦＦＴ［ｆ’（ｘ，ｙ）］（初期ｆ’（ｘ，ｙ）はランダム画像）
・手順（３）：Ｈ（ｕ，ｖ）＝Ｇ（ｕ，ｖ）／（Ｆ’（ｕ，ｖ）＋ｓｎ）（ここで、ｓｎは撮像部におけるＳ／Ｎである。）
・手順（４）：ｈ（ｘ，ｙ）＝ＩＦＦＴ［Ｈ（ｕ，ｖ）］
・手順（５）：もし、ｈ（ｘ，ｙ）＞０ならｈ’（ｘ，ｙ）＝ｈ（ｘ，ｙ）、それ以外はｈ’（ｘ，ｙ）＝０
・手順（６）：Ｈ’（ｕ，ｖ）＝ＦＦＴ［ｈ’（ｘ，ｙ）］
・手順（７）：Ｆ（ｕ，ｖ）＝Ｇ（ｕ，ｖ）／（Ｈ’（ｕ，ｖ）＋ｓｎ）
・手順（８）：ｆ（ｘ，ｙ）＝ＩＦＦＴ［Ｆ（ｕ，ｖ）］
・手順（９）：もし、ｆ（ｘ，ｙ）＞０ならｆ’（ｘ，ｙ）＝ｆ（ｘ，ｙ）、それ以外はｆ’（ｘ，ｙ）＝０
・手順（１０）：手順（２）〜手順（９）をあらかじめ決められた回数繰り返す。
・手順（１１）：各ループにおいて、下記式（２）に示すフーリエエラーが最小となるｆ’（ｘ，ｙ）、ｈ’（ｘ，ｙ）をそれぞれ復元像１０３、フレーム内動きボケ関数１０４とする。
【００２５】
Ｅｒｒｏｒ＝Σ｜Ｇ（ｕ，ｖ）−Ｆ’（ｕ，ｖ）×Ｈ’（ｕ，ｖ）｜・・・（２）
【００２６】
上述の手順（１）〜手順（１１）により得たフレーム内動きボケ関数ｈ’（ｘ，ｙ）は、撮像部などがあらかじめ有しているＰＳＦ１０５と、フレーム内動きベクトル１０６がコンボリューションされたものであり、ＰＳＦ１０５をｐｓｆ（ｘ，ｙ）、フレーム内動きベクトル１０６をｍ（ｘ，ｙ）とすると、下記の式（３）によってあらわすことができる。
【００２７】
ｈ’（ｘ，ｙ）＝ｐｓｆ（ｘ，ｙ）＊ｍ（ｘ，ｙ）・・・（３）
【００２８】
この式（３）より、ｈ’（ｘ，ｙ）を既知のｐｓｆ（ｘ，ｙ）を用いてデコンボリューションすることにより、フレーム画像内の物体の像１０１における積分時間内のフレーム内動きベクトル１０６を算出することができる。
【００２９】
つづいて、図２−１〜図２−３を用いて、この発明の実施の形態にかかるフレーム間動きベクトルの算出の概要について説明する。図２−１は、この発明の実施の形態にかかる第一フレーム画像を示す説明図である。また、図２−２は、この発明の実施の形態にかかる第二フレーム画像を示す説明図である。
【００３０】
図２−１において、オプティカルフロー算出装置に入力された第一フレーム画像２１０は、相対的に移動する複数の矩形の物体を撮像したフレーム画像であり、複数の物体の像２１４〜２１６を含んでいる。相対的な移動は、より具体的には、撮像する装置あるいは撮像される物体の少なくともいずれかが移動することである。図２−１において、物体の像２１４〜２１６は、たとえば、図１で前述したように、フレーム画像内において、ＰＳＦとフレーム内動きベクトルを有している。したがって、第１フレーム画像２１０において、図示のように右上から左下へのフレーム内動きベクトルによって、矩形ではなく六角形に類似した形状となっている。また、物体の像２１４〜２１６は、それぞれの中心を注目点２１１〜２１３としている。また、図２−２において、オプティカルフロー算出装置に入力された第二フレーム画像２２０は、図２−１で前述した第一フレーム画像２１０と連続するフレーム画像で、物体の像２１４〜２１６に対応する物体の像２２４〜２２６を含んでいる。図２−２において、物体の像２２４〜２２６は、たとえば、前述した物体の像２２４〜２２６と同様に、フレーム画像内でＰＳＦとフレーム内動きベクトルを有しているため、六角形に類似した形状となっている。また、物体の像２２４〜２２６は、それぞれの中心を対応点候補２２１〜２２３としている。
【００３１】
つぎに、図２−３を用いて、この発明の実施の形態にかかるオプティカルフロー算出装置における第一フレーム画像２１０と第二フレーム画像２２０の間のフレーム間動きベクトルについて説明する。図２−３は、この発明の実施の形態にかかるフレーム間動きベクトルを示す説明図である。
【００３２】
図２−３は、前述の第一フレーム画像２１０と第２フレーム画像２２０を同一図面上に示したもので、注目点２１１〜２１３は、注目点２１１〜２１３のそれぞれを基点とするフレーム間動きベクトル２３１〜２３３を有している。これらフレーム間動きベクトル２３１〜２３３は、たとえば、図１で前述したフレーム内動きベクトルの算出によって算出された第一フレーム画像２１０における、注目点２１１〜２１３のフレーム内動きベクトルに基づいて算出することができる。
【００３３】
より具体的には、たとえば、第一フレーム画像２１０と第二フレーム画像２２０の間のフレーム間隔時間は、ごく短いものである（たとえば３３ミリ秒）ため、物体の動きを等速運動と仮定することができる。そして、第一フレーム画像２１０から第二フレーム画像２２０までの注目点２１１〜２１３の動きであるフレーム間動きベクトル２３１〜２３３は、第一フレーム画像２１０における注目点２１１〜２１３のフレーム内動きベクトルを（フレーム間隔時間／積分時間）倍して算出する。
【００３４】
ここで、図３−１および図３−２を用いて、この発明の実施の形態にかかるオプティカルフロー算出装置によるオプティカルフロー算出について説明する。この発明の実施の形態にかかるオプティカルフローの算出は、図２−１〜図２−３で説明したフレーム間動きベクトルと、相関マップとを用いておこなう構成としている。図３−１は、この発明の実施の形態にかかる対応点候補の抽出について示す説明図である。なお、図３−１の説明においては、図２−１〜図２−３で前述した注目点２１１と、対応点候補２２１〜２２３を用いて説明する。
【００３５】
図３−１において、相関マップ３００は、注目点２１１の座標を中心とする検索領域３１０内に、対応点候補２２１〜２２３に関する相関値の相関ピーク３０１〜３０３を垂直方向に示している。相関マップ３００の作成は、たとえば、検索領域３１０をラスタスキャンしながら、注目点２１１を含む微小領域を切り出したテンプレートの画素値と所定値以上となる相関値を算出して、対応点候補２２１〜２２３に関する相関ピーク３０１〜３０３を抽出する構成でもよい。テンプレートは、たとえば、図示はしないが、注目点２１１を中心とした矩形の領域などである。
【００３６】
相関ピーク３０１〜３０３における相関値は、より具体的には、第一フレーム画像２１０内の注目点２１１を含むテンプレートの画素値と、第二フレーム画像２２０内における検索領域３１０内の対応点候補２２１〜２２３を中心とした微小領域の画素値の相関値で、各画素値の差のＲＭＳ（二乗平均平方根）を算出して得ることができる。
【００３７】
ここで、相関ピーク３０１〜３０３の算出は、ノイズなどの影響によって注目点２１１におけるテンプレートとの正確な相関関係が反映されない場合がある。図３−１において、相関ピーク３０１〜３０３の中で最大ピークは、対応点候補２２２における相関ピーク３０２である。注目点２１１におけるテンプレートに対する相関ピーク３０１〜３０３の中で、相関値が最大となる対応点候補２２２を注目点２１１に対応する対応点とすると、点線３０４が注目点２１１のオプティカルフローとなる。
【００３８】
一方で、図２−１〜図２−３で前述した注目点２１１を基点とするフレーム間動きベクトル２３１の終点は対応点候補２２１である。この発明の実施の形態によれば、相関ピーク３０１〜３０３の中から、フレーム間動きベクトル２３１に近接した対応点候補２２１を注目点２１１に対応する対応点に決定する構成でもよい。したがって、図３−１では、対応点候補２２１を注目点２１１に対応する対応点に決定して、フレーム間動きベクトル２３１が注目点２１１のオプティカルフローとなる。なお、図３−１の説明では、フレーム間動きベクトル２３１の終点と対応点候補２２１を同一な位置として説明したが、フレーム間動きベクトル２３１の終点近傍にある対応点候補２２１〜２２３を、注目点２１１に対応する対応点に決定する構成としてもよい。
【００３９】
つづいて、図３−２を用いて、この発明の実施の形態にかかるオプティカルフロー算出装置による対応点の決定について説明する。図３−２は、この発明の実施の形態にかかる対応点の決定について示す説明図である。
【００４０】
図３−２において、注目点２１１〜２１３は、図２−１〜図２−３で前述したフレーム間動きベクトル２３１〜２３３の基点となっている。また、図３−２では、注目点２１１を基点としたフレーム間動きベクトルの終点は、対応点候補２２１である。そして、注目点２１２を基点としたフレーム間動きベクトルの終点は、対応点候補２２２である。同様に、注目点２１３を基点としたフレーム間動きベクトルの終点は、対応点候補２２３である。なお、図３−２では、フレーム間動きベクトル２３１〜２３３の終点と対応点候補２２１〜２２３を同一な位置として説明しているが、対応点候補２２１〜２２３は、相関マップの作成によって抽出するものでもよく、フレーム間動きベクトル２３１〜２３３の終点近傍にあることとしてもよい。
【００４１】
ここで、注目点２１１の座標を中心とする検索領域３１０は、対応点候補２２１〜２２３を含んでおり、注目点２１１との相関値が最も高い対応点候補２２１〜２２３は、図３−１で前述したように、注目点２１１から点線３０４方向に位置する対応点候補２２２である。一方で、第一フレーム画像２１０における注目点２１１は、第二フレーム画像２２０内では、フレーム間動きベクトル２３１の方向へ移動したものとされる。したがって、図３−２においては、対応点候補２２２は注目点２１１に対して相関値は高いものの、ノイズなどによる最大ピークを示したものであり、対応点候補２２１を注目点２１１の対応点に決定する。
【００４２】
同様にして、注目点２１２に対応する対応点は、対応点候補２２２とし、注目点２１３に対応する対応点は、対応点候補２２３と決定する。そして、本実施の形態では、注目点２１１〜２１３と、注目点２１１〜２１３に対応する対応点との関係に基づいてオプティカルフローを算出することができる。なお、注目点２１１〜２１３は、３点に限ることはなく、任意の各画素についてオプティカルフローを算出することとしてもよい。
【００４３】
（オプティカルフロー算出装置のハードウェア構成）
つぎに、図４を用いて、この発明の実施の形態にかかるオプティカルフロー算出装置のハードウェア構成について説明する。図４は、この発明の実施の形態にかかるオプティカルフロー算出装置のハードウェア構成を示すブロック図である。
【００４４】
図４において、オプティカルフロー算出装置は、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、ＨＤＤ（ハードディスクドライブ）４０４と、ＨＤ（ハードディスク）４０５と、ＦＤＤ（フレキシブルディスクドライブ）４０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）４０７と、ディスプレイ４０８と、通信Ｉ／Ｆ（インターフェース）４０９と、キーボード４１０と、マウス４１１と、映像Ｉ／Ｆ４１２と、カメラ４１３と、を備えている。また、各構成部はバス４００によってそれぞれ接続されている。
【００４５】
ここで、ＣＰＵ４０１は、オプティカルフロー算出装置の全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。ＨＤＤ４０４は、ＣＰＵ４０１の制御にしたがってＨＤ４０５に対するデータのリード／ライトを制御する。ＨＤ４０５は、ＨＤＤ４０４の制御で書き込まれたデータを記憶する。
【００４６】
ＦＤＤ４０６は、ＣＰＵ４０１の制御にしたがってＦＤ４０７に対するデータのリード／ライトを制御する。ＦＤ４０７は、ＦＤＤ４０６の制御で書き込まれたデータを記憶したり、ＦＤ４０７に記憶されたデータをオプティカルフロー算出装置に読み取らせたりする。
【００４７】
また、着脱可能な記録媒体として、ＦＤ４０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリカードなどであってもよい。ディスプレイ４０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ４０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４８】
通信Ｉ／Ｆ４０９は、通信回線を通じてインターネットなどのネットワーク４１４に接続され、このネットワーク４１４を介して他の装置に接続される。そして、通信Ｉ／Ｆ４０９は、ネットワーク４１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信Ｉ／Ｆ４０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００４９】
キーボード４１０は、文字、数字、各種指示などの入力のためのキーを備え、押下されたキーに対応するデータを装置内部へ入力する。また、タッチパネル式の入力パッドやテンキーなどであってもよい。また、マウス４１１を操作することで、マウス４１１の本体下部の移動を検出するセンサによる出力および本体上部の各ボタンのＯＮ／ＯＦＦを随時装置内部へ入力して、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなってもよい。なお、ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００５０】
また、映像Ｉ／Ｆ４１２は、カメラ４１３と接続される。映像Ｉ／Ｆ４１２は、カメラ４１３全体の制御をおこなう制御ＩＣと、カメラ４１３によって撮影されたフレーム画像を一時的に記録するＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）などのバッファメモリなどによって構成される。また、バッファメモリは、複数のフレームバッファを有する構成でもよく、たとえば、２つのフレームバッファにより、後述するカメラ４１３によって撮影されるフレーム画像を交互に格納することとしてもよい。そして、カメラ４１３によって撮影されたフレーム画像について、オプティカルフロー算出装置の各構成への入出力を制御する構成でもよい。
【００５１】
カメラ４１３は、被写体を撮影して連続する一連のフレーム画像として取り込む。カメラ４１３は、モノクロやカラーのどちらでもよく、ビデオカメラなどによって構成され、Ｃ−ＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）あるいはＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などの光電変換素子を有している。
【００５２】
また、カメラ４１３は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩＥＥＥ１３９４（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ  １３９４）などによって映像Ｉ／Ｆ４１２と接続されており、撮影したフレーム画像を、映像Ｉ／Ｆ４１２を介して逐次オプティカルフロー算出装置へ出力する構成としてもよい。
【００５３】
（オプティカルフロー算出装置の機能的構成）
つぎに、図５を用いて、この発明の実施の形態にかかるオプティカルフロー算出装置の機能的構成について説明する。図５は、この発明の実施の形態にかかるオプティカルフロー算出装置の機能的構成を示すブロック図である。図５において、オプティカルフロー算出装置５００は、フレーム画像取得部５０１と、第一フレーム画像保持部５０２と、テンプレート切り出し部５０３と、フレーム画像復元部５０４と、フレーム内動きベクトル算出部５０５と、フレーム間動きベクトル算出部５０６と、対応点座標推定部５０７と、オプティカルフロー決定部５０８と、第二フレーム画像保持部５０９と、相関マップ生成部５１０と、対応点候補抽出部５１１と、抽出しきい値指定部５１２と、対応点決定部５１３と、から構成されている。
【００５４】
図５において、フレーム画像取得部５０１は、撮像部５１４と、増幅部５１５と、Ａ／Ｄ（アナログ／デジタル）変換部５１６と、から構成されている。撮像部５１４によって撮像された一連のフレーム画像の画像信号は、増幅部５１５に出力される。増幅部５１５は、入力されたフレーム画像の画像信号を増幅し、Ａ／Ｄ変換部５１６へ出力する。Ａ／Ｄ変換部５１６は、入力されたフレーム画像の画像信号を変換してデジタル画像信号として第一フレーム画像保持部５０２や第二フレーム画像保持部５０９へ出力する。なお、このフレーム画像取得部５０１における撮像部５１４、増幅部５１５、Ａ／Ｄ変換部５１６は、具体的には、たとえば、図４に示した映像Ｉ／Ｆ４１２やカメラ４１３によって、その機能を実現する。
【００５５】
第一フレーム画像保持部５０２や第二フレーム画像保持部５０９は、フレーム画像取得部５０１から随時連続して入力される２フレームのフレーム画像が記録される。図５の説明においては、第一フレーム画像保持部５０２は、第一フレーム画像２１０を保持し、第二フレーム画像保持部５０９は、第一フレーム画像２１０に連続する第二フレーム画像２２０を保持する構成である。なお、第一フレーム画像保持部５０２や第二フレーム画像保持部５０９は、具体的には、たとえば、図４で示した映像Ｉ／Ｆ４１２におけるバッファメモリや、ＨＤ４０５や、ＲＡＭ４０３や、その他メモリなどによって、その機能を実現する。
【００５６】
テンプレート切り出し部５０３は、第一フレーム画像保持部５０２によって保持された、第一フレーム画像２１０における注目点２１１の座標を中心としたテンプレートを切り出す。テンプレートは、たとえば、注目点２１１を中心とした、物体の像２１４を含む矩形の領域などである。なお、図５における説明では、注目点２１１に関して説明をするが、注目点２１１に限るものではなく、たとえば、テンプレート切り出し部５０３は、第一フレーム画像２１０から任意の点を注目点２１１として抽出し、テンプレートを切り出してもよい。
【００５７】
フレーム画像復元部５０４は、テンプレート切り出し部５０３によって切り出されたテンプレートに対して、画像復元処理をおこなって、復元画像とフレーム内動きボケ関数に分離する。画像復元処理は、たとえば、前述のＡＤ法による方式でもよく、所定の回数だけ画像復元処理をおこなって、フーリエエラーが最小となる復元画像とフレーム内動きボケ関数に分離する構成でもよい。
【００５８】
フレーム内動きベクトル算出部５０５は、フレーム画像復元部５０４によって分離されたフレーム内動きボケ関数と、フレーム画像取得部５０１のボケ関数とに基づいて、第一フレーム画像２１０内の注目点２１１のフレーム内動きベクトルを算出する。より具体的には、図１を参照すると、フレーム画像復元部５０４によって分離されたフレーム内動きボケ関数１０４は、フレーム画像取得部５０１のＰＳＦ１０５（Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ（ボケ関数））とフレーム内動きベクトル１０６がコンボリューションされたものである。したがって、フレーム内動きベクトル算出部５０５は、フレーム内動きボケ関数１０４をフレーム画像取得部５０１のＰＳＦ１０５を用いてデコンボリューションして、フレーム内動きベクトル１０６を算出する。
【００５９】
フレーム間動きベクトル算出部５０６は、フレーム内動きベクトル算出部５０５によって算出されたフレーム内動きベクトルと、積分時間およびフレーム間隔時間とに基づいて、フレーム間動きベクトルを算出する。積分時間は、フレーム画像内の輝度値を積分する所定時間であり、より具体的には、図２−１〜図２−３を参照すると、第一フレーム画像２１０における各画素の輝度値を積分する時間である。また、フレーム間隔時間は、連続する２フレーム画像間の時間であり、より具体的には、図２−１〜図２−３を参照すると、第一フレーム画像２１０と第二フレーム画像２２０との時間間隔である。積分時間およびフレーム間隔時間は、撮像部５１４の特性などによるもので、フレーム間動きベクトルの算出は、フレーム内動きベクトルを（フレーム間隔時間／積分時間）倍して算出することとしてもよい。
【００６０】
対応点座標推定部５０７は、フレーム間動きベクトル算出部５０６によって算出されたフレーム間動きベクトルに基づいて、注目点２１１に対応する対応点となる対応点座標を推定する。より具体的には、たとえば、テンプレート切り出し部５０３によってテンプレートを切り出す際に用いた注目点２１１の座標に、フレーム間動きベクトルを加算して対応点座標を推定する。
【００６１】
オプティカルフロー決定部５０８は、フレーム間動きベクトル算出部４０６によって算出されたフレーム間動きベクトルを、注目点２１１のオプティカルフローに決定する。また、オプティカルフロー決定部５０８は、対応点決定部５１３によって決定された対応点に基づいて、注目点２１１のオプティカルフローを決定する構成でもよい。より具体的には、たとえば、注目点２１１と、対応点から、注目点２１１のフレーム間動きベクトルを算出して、注目点２１１のオプティカルフローに決定する。なお、図５の説明では、注目点２１１に関して説明をおこなったが、第一フレーム画像２１０の他の座標を注目点としてオプティカルフローを決定することで、第一フレーム画像２１０内の各画素に対するオプティカルフローを得る構成でもよい。
【００６２】
相関マップ生成部５１０は、第二フレーム画像保持部５０９によって保持された第二フレーム画像２２０において、テンプレート切り出し部５０３によって切り出されたテンプレートの注目点２１１を中心とする検索領域３１０内の各領域との相関処理をおこなって、相関マップ３００を生成する。より具体的には、たとえば、検索領域３１０内をラスタスキャンしながら、注目点２１１を含むテンプレートの画素値との相関値を算出して、相関値の分布図を生成する。相関値は、たとえば、テンプレートの画素値と、検索領域３１０内の各画素値の差のＲＭＳ（二乗平均平方根）などを算出して得ることができる。
【００６３】
対応点候補抽出部５１１は、後述する抽出しきい値指定部５１２によって指定されたしきい値を用いて、相関マップ３００における相関値から対応点候補２２１〜２２３の抽出をおこなう。より具体的には、たとえば、相関マップ３００において、しきい値以上となる相関値をもつ相関ピーク３０１〜３０３の対応点候補２２１〜２２３を抽出する。
【００６４】
抽出しきい値指定部５１２は、相関マップ３００における注目点２１１に対する対応点候補２２１〜２２３を抽出する相関値のしきい値を指定する。しきい値は、たとえば、任意の値でもよく、ユーザにより設定できる構成としてもよい。
【００６５】
対応点決定部５１３は、対応点候補抽出部５１１によって抽出された対応点候補２２１〜２２３の中から、対応点座標推定部５０７によって推定された対応点座標に最も近い対応点候補２２１を注目点２１１に対応する対応点に決定する。
【００６６】
なお、図５において上述したテンプレート切り出し部５０３、フレーム画像復元部５０４、フレーム内動きベクトル算出部５０５、フレーム間動きベクトル算出部５０６、対応点座標推定部５０７、オプティカルフロー決定部５０８、相関マップ生成部５１０、対応点候補抽出部５１１、抽出しきい値指定部５１２、対応点決定部５１３は、具体的には、たとえば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、ＨＤ４０５などの記録媒体に記録されたプログラムを、ＣＰＵ４０１が実行することによって、また通信Ｉ／Ｆ４０９やキーボード４１０やマウス４１１によって、その機能を実現する。
【００６７】
（オプティカルフロー算出装置５００の処理の内容）
つぎに、図６を用いて、この発明の実施の形態にかかるオプティカルフロー算出装置５００の処理の内容について説明する。図６は、この発明の実施の形態にかかるオプティカルフロー算出装置の処理の内容を示すフローチャートである。図６のフローチャートにおいて、まず、オプティカルフロー算出装置５００は、フレーム画像取得部５０１によって取得されたフレーム画像の入力を受け付けたか否かを判断する（ステップＳ６０１）。
【００６８】
ステップＳ６０１において、フレーム画像の入力を受け付けるのを待って、受け付けた場合（ステップＳ６０１：Ｙｅｓ）は、第一フレーム画像保持部５０２および第二フレーム画像保持部５０９に、連続する２フレームのフレーム画像を記録する（ステップＳ６０２）。フレーム画像の記録は、たとえば、第一フレーム画像保持部５０２によって第一フレーム画像２１０を保持し、第二フレーム画像保持部５０９によって第二フレーム画像２２０を保持する。また、フレーム画像の保持は、連続して入力されるフレーム画像を交互に必要な容量分保持するものとして、上書きや消去を繰り返す構成としてもよい。
【００６９】
つぎに、オプティカルフロー算出装置５００は、ステップＳ６０２において記録されたフレーム画像に基づいて、オプティカルフロー算出座標を算出する（ステップＳ６０３）。オプティカルフロー算出座標の算出は、第一フレーム画像保持部５０２に保持された第一フレーム画像２１０内における任意の点の座標を算出してもよく、具体的に本実施の形態では、注目点２１１の座標を算出する。
【００７０】
つづいて、オプティカルフロー算出装置５００は、ステップＳ６０３において算出されたオプティカルフロー算出座標に対応する対応点座標推定処理を実行する（ステップＳ６０４）。対応点座標推定処理は、たとえば、第一フレーム画像保持部５０２に保持された第一フレーム画像２１０内の注目点２１１に関するフレーム間動きベクトルに基づいておこなう構成であり、対応点座標推定処理の詳細は図７に後述する。
【００７１】
そして、オプティカルフロー算出装置５００は、ステップＳ６０３において算出されたオプティカルフロー算出座標に対応する対応点候補抽出処理を実行する（ステップＳ６０５）。対応点候補抽出処理は、たとえば、第二フレーム画像保持部５０９に保持された第二フレーム画像２２０内において、注目点２１１に関する相関マップ３００に基づいておこなう構成でもよく、対応点候補抽出処理の詳細は図８に後述する。
【００７２】
なお、図６のフローチャートにおいては、ステップＳ６０４において対応点座標推定処理を実行して、ステップＳ６０５における対応点候補抽出処理を実行するものとしているが、処理の順序はこれに限るものではなく、たとえば、先に対応点候補抽出処理を実行して、その後対応点座標推定処理を実行したり、対応点座標推定処理と対応点候補抽出処理を同時に実行することとしてもよい。
【００７３】
つぎに、対応点決定部５１３により、ステップＳ６０４において推定された対応点座標と、ステップＳ６０５において抽出された対応点候補とに基づいて、対応点を決定する（ステップＳ６０６）。より具体的に対応点の決定は、たとえば、ステップＳ６０５において抽出された対応点候補２２１〜２２３の中から、ステップＳ６０４において推定された対応点座標に最も近い対応点候補２２１を、注目点２１１に対応する対応点に決定する。
【００７４】
つづいて、オプティカルフロー算出装置５００は、オプティカルフローを算出する（ステップＳ６０７）。オプティカルフローの算出は、たとえば、ステップＳ６０６において決定された注目点２１１に対応する対応点に基づいておこなう。より具体的には、オプティカルフロー決定部５０８により、注目点２１１と、ステップＳ６０６において決定された対応点から、注目点２１１のフレーム間動きベクトルを算出して、注目点２１１のオプティカルフローに決定する。
【００７５】
なお、図６のフローチャートにおいては、ステップＳ６０７において、注目点２１１と、ステップＳ６０６において決定された対応点から、注目点２１１のフレーム間動きベクトルを算出して、注目点２１１のオプティカルフローに決定する構成としたが、図７に後述するステップＳ６０４の対応点座標推定処理において算出されるフレーム間動きベクトルに基づいて、オプティカルフローを決定する構成としてもよい。その場合、ステップＳ６０５における第二フレーム画像を用いた対応点候補抽出処理を実行することなく、第一フレーム画像のみで、オプティカルフローが決定できる。
【００７６】
そして、オプティカルフロー算出装置５００は、すべてのオプティカルフローの算出が終了したか否かを判断する（ステップＳ６０８）。より具体的には、たとえば、オプティカルフロー決定部５０８により、第一フレーム画像２１０における注目点２１１の他の座標を注目点として、第一フレーム画像２１０内の各画素に対するオプティカルフローの決定が終了したか否かを判断する。
【００７７】
ステップＳ６０８において、すべてのオプティカルフローの算出が終了していない場合（ステップＳ６０８：Ｎｏ）は、ステップＳ６０３に戻って処理を繰り返す。また、ステップＳ６０８において、すべてのオプティカルフローの算出が終了した場合（ステップＳ６０８：Ｙｅｓ）は、そのまま一連の処理を終了する。
【００７８】
つづいて、図７を用いて、この発明の実施の形態にかかるオプティカルフロー算出装置５００における対応点座標推定処理（図６のステップＳ６０４）の内容について説明する。図７は、この発明の実施の形態にかかる対応点座標推定処理（図６のステップＳ６０４）の内容を示すフローチャートである。
【００７９】
図７のフローチャートにおいて、まず、テンプレート切り出し部５０３により、図６におけるステップＳ６０３において算出されたオプティカルフロー算出座標に基づいて、テンプレートを切り出す（ステップＳ７０１）。テンプレートの切り出しは、たとえば、前述したように、ステップＳ６０３において算出された注目点２１１の座標を中心とした所定領域のテンプレートを切り出すこととしてもよい。
【００８０】
つぎに、フレーム画像復元部５０４により、ステップＳ７０１において切り出されたテンプレートに対して、画像復元処理をおこなう（ステップＳ７０２）。画像復元処理は、たとえば、前述のＡＤ法による方式でもよく、所定の回数だけ画像復元処理をおこなって、フーリエエラーが最小となる復元画像とフレーム内動きボケ関数に分離する構成でもよい。
【００８１】
つづいて、フレーム内動きベクトル算出部５０５により、ステップＳ７０２において分離されたフレーム内動きボケ関数と、フレーム画像取得部５０１のボケ関数とに基づいて、フレーム内動きベクトルを算出する（ステップＳ７０３）。より具体的には、たとえば、フレーム内動きボケ関数をフレーム画像取得部５０１のボケ関数によりデコンボリューションして、第一フレーム画像２１０内の注目点２１１のフレーム内動きベクトルを算出する。
【００８２】
そして、フレーム間動きベクトル算出部５０６により、ステップＳ７０３において算出されたフレーム内動きベクトルと、積分時間およびフレーム間隔時間とに基づいて、フレーム間動きベクトルを算出する（ステップＳ７０４）。フレーム間動きベクトルの算出は、より具体的には、フレーム内動きベクトルを（フレーム間隔時間／積分時間）倍して算出することとしてもよい。
【００８３】
つぎに、対応点座標推定部５０７により、ステップＳ７０４において算出されたフレーム間動きベクトルに基づいて、注目点２１１に対応する対応点となる対応点座標を推定する（ステップＳ７０５）。具体的には、たとえば、前述したように、ステップＳ７０１においてテンプレートを切り出した注目点２１１の座標に、フレーム間動きベクトルを加算して対応点座標を推定する。そして、図６におけるステップＳ６０４の対応点座標推定処理を終了して、ステップＳ６０５へ移行する。
【００８４】
さらに、図８を用いて、この発明の実施の形態にかかるオプティカルフロー算出装置５００における対応点候補抽出処理（図６のステップＳ６０５）の内容について説明する。図８は、この発明の実施の形態にかかる対応点候補抽出処理（図６のステップＳ６０５）の内容を示すフローチャートである。
【００８５】
図８のフローチャートにおいて、まず、相関マップ生成部５１０により、相関処理座標を算出する（ステップＳ８０１）。相関処理座標の算出は、たとえば、前述したように、第二フレーム画像２２０において、注目点２１１と相関処理をおこなう座標を算出する構成でもよく、注目点２１１の座標を中心とする検索領域３１０内の任意の座標としてもよい。
【００８６】
つづいて、相関マップ生成部５１０により、ステップＳ８０１において算出された相関処理座標に基づいて、相関領域を切り出す（ステップＳ８０２）とともに、相関領域における相関値を算出する（ステップＳ８０３）。相関領域の切り出しは、たとえば、前述したように、相関処理座標を中心とした微小領域を切り出す構成でもよく、注目点２１１におけるテンプレートの画素値と、相関領域内の画素値の差のＲＭＳ（二乗平均平方根）などを相関値として算出してもよい。
【００８７】
そして、相関マップ生成部５１０により、相関マップ３００の生成が終了したか否かを判断する（ステップＳ８０４）。より具体的には、たとえば、検索領域３１０内をラスタスキャンしながら、相関値の算出が終了したか否かを判断する。ここで、相関マップ３００の生成が終了していない場合（ステップＳ８０４：Ｎｏ）は、ステップＳ８０１に戻って処理を繰り返す。また、相関マップ３００の生成が終了した場合（ステップＳ８０４：Ｙｅｓ）は、対応点候補抽出部５１１により、相関マップ３００に対して、抽出しきい値指定部５１２によって指定された抽出しきい値を読み込む（ステップＳ８０５）。
【００８８】
つぎに、対応点候補抽出部５１１により、ステップＳ８０５において読み込まれた抽出しきい値を用いて、相関マップ３００における相関値から対応点候補２２１〜２２３を抽出する（ステップＳ８０６）。より具体的には、たとえば、相関マップ３００において、しきい値以上となる相関値をもつ相関ピーク３０１〜３０３の対応点候補２２１〜２２３を抽出する。そして、図６におけるステップＳ６０５の対応点候補抽出処理を終了して、ステップＳ６０６へ移行する。
【００８９】
このように、この発明の実施の形態によれば、注目点のフレーム間動きベクトルを算出し、算出されたフレーム間動きベクトルに基づいてオプティカルフローを決定することができる。したがって、単一のフレーム画像を用いるだけで、オプティカルフローを得ることができ、高速に移動する物体であっても、次フレーム画像に依存することなくオプティカルフローを算出し、物体の３次元構造推定の高品質化を図ることができる。
【００９０】
また、対応点座標推定処理によって対応点座標を推定する。そして、対応点候補抽出処理によって抽出された対応点候補の中から、推定された対応点座標に近いものを対応点に決定してオプティカルフローを算出することができる。したがって、検索領域内に類似した輝度分布をもつ領域が複数あっても、正確な対応点を決定して、簡単かつ高精度にオプティカルフローを算出し、物体の３次元構造推定の高品質化を図ることができる。
【００９１】
以上説明したように、この発明によれば、フレーム間動きベクトルによって注目点のオプティカルフローを決定できるため、簡単かつ高精度にオプティカルフローを算出して、物体の３次元構造推定の高品質化を図ることができる。
【００９２】
なお、本実施の形態で説明したオプティカルフロー算出方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【００９３】
（付記１）カメラから入力されてくる一連のフレーム画像内の任意の第１のフレーム画像から任意の注目点を抽出する注目点抽出手段と、
前記第１のフレーム画像に関する画像復元処理により、前記注目点抽出手段によって抽出された注目点に関する動きボケ関数を算出する動きボケ関数算出手段と、
前記動きボケ関数算出手段によって算出された動きボケ関数と、前記カメラのボケ関数とに基づいて、前記第１のフレーム画像内における前記注目点のフレーム内動きベクトルを算出するフレーム内動きベクトル算出手段と、
前記フレーム内動きベクトル算出手段によって算出されたフレーム内動きベクトルと、前記カメラの積分時間およびフレーム間隔時間とに基づいて、前記第１のフレーム画像と、当該第１のフレーム画像の次の第２のフレーム画像との間における前記注目点のフレーム間動きベクトルを算出するフレーム間動きベクトル算出手段と、
前記フレーム間動きベクトル算出手段によって算出されたフレーム間動きベクトルを前記注目点のオプティカルフローに決定するオプティカルフロー決定手段と、
を備えることを特徴とするオプティカルフロー算出装置。
【００９４】
（付記２）前記第２のフレーム画像から前記注目点に対応する対応点候補を抽出する対応点候補抽出手段と、
前記フレーム間動きベクトル算出手段によって算出されたフレーム間動きベクトルに基づいて、前記注目点に対応する対応点となる対応点座標を推定する対応点座標推定手段と、
前記対応点候補抽出手段によって抽出された対応点候補と、前記対応点座標推定手段によって推定された対応点座標とに基づいて、前記注目点に対応する対応点を決定する対応点決定手段と、を備え、
前記オプティカルフロー決定手段は、
前記対応点決定手段によって決定された対応点に基づいて、前記注目点のオプティカルフローを決定することを特徴とする付記１に記載のオプティカルフロー算出装置。
【００９５】
（付記３）カメラから入力されてくる一連のフレーム画像内の任意の第１のフレーム画像から任意の注目点を抽出する注目点抽出工程と、
前記第１のフレーム画像に関する画像復元処理により、前記注目点抽出工程によって抽出された注目点に関する動きボケ関数を算出する動きボケ関数算出工程と、
前記動きボケ関数算出工程によって算出された動きボケ関数と、前記カメラのボケ関数とに基づいて、前記第１のフレーム画像内における前記注目点のフレーム内動きベクトルを算出するフレーム内動きベクトル算出工程と、
前記フレーム内動きベクトル算出工程によって算出されたフレーム内動きベクトルと、前記カメラの積分時間およびフレーム間隔時間とに基づいて、前記第１のフレーム画像と、当該第１のフレーム画像の次の第２のフレーム画像との間における前記注目点のフレーム間動きベクトルを算出するフレーム間動きベクトル算出工程と、
前記フレーム間動きベクトル算出工程によって算出されたフレーム間動きベクトルを前記注目点のオプティカルフローに決定するオプティカルフロー決定工程と、
を含むことを特徴とするオプティカルフロー算出方法。
【００９６】
（付記４）前記第２のフレーム画像から前記注目点に対応する対応点候補を抽出する対応点候補抽出工程と、
前記フレーム間動きベクトル算出工程によって算出されたフレーム間動きベクトルに基づいて、前記注目点に対応する対応点となる対応点座標を推定する対応点座標推定工程と、
前記対応点候補抽出工程によって抽出された対応点候補と、前記対応点座標推定工程によって推定された対応点座標とに基づいて、前記注目点に対応する対応点を決定する対応点決定工程と、を含み、
前記オプティカルフロー決定工程は、
前記対応点決定工程によって決定された対応点に基づいて、前記注目点のオプティカルフローを決定することを特徴とする付記３に記載のオプティカルフロー算出方法。
【００９７】
（付記５）カメラから入力されてくる一連のフレーム画像内の任意の第１のフレーム画像から任意の注目点を抽出させる注目点抽出工程と、
前記第１のフレーム画像に関する画像復元処理により、前記注目点抽出工程によって抽出された注目点に関する動きボケ関数を算出させる動きボケ関数算出工程と、
前記動きボケ関数算出工程によって算出された動きボケ関数と、前記カメラのボケ関数とに基づいて、前記第１のフレーム画像内における前記注目点のフレーム内動きベクトルを算出させるフレーム内動きベクトル算出工程と、
前記フレーム内動きベクトル算出工程によって算出されたフレーム内動きベクトルと、前記カメラの積分時間およびフレーム間隔時間とに基づいて、前記第１のフレーム画像と、当該第１のフレーム画像の次の第２のフレーム画像との間における前記注目点のフレーム間動きベクトルを算出させるフレーム間動きベクトル算出工程と、
前記フレーム間動きベクトル算出工程によって算出されたフレーム間動きベクトルを前記注目点のオプティカルフローに決定させるオプティカルフロー決定工程と、
をコンピュータに実行させることを特徴とするオプティカルフロー算出プログラム。
【００９８】
（付記６）前記第２のフレーム画像から前記注目点に対応する対応点候補を抽出させる対応点候補抽出工程と、
前記フレーム間動きベクトル算出工程によって算出されたフレーム間動きベクトルに基づいて、前記注目点に対応する対応点となる対応点座標を推定させる対応点座標推定工程と、
前記対応点候補抽出工程によって抽出された対応点候補と、前記対応点座標推定工程によって推定された対応点座標とに基づいて、前記注目点に対応する対応点を決定させる対応点決定工程と、をコンピュータに実行させ、
前記オプティカルフロー決定工程は、
さらに、前記対応点決定工程によって決定された対応点に基づいて、前記注目点のオプティカルフローを決定させることを特徴とする付記５に記載のオプティカルフロー算出プログラム。
【００９９】
（付記７）付記４〜６のいずれか一つに記載のオプティカルフロー算出プログラムを記録したコンピュータに読み取り可能な記録媒体。
【産業上の利用可能性】
【０１００】
以上のように、本発明にかかるオプティカルフロー算出装置、オプティカルフロー算出方法、オプティカルフロー算出プログラムおよび記録媒体は、２次元に投影された画像から、画像中の物体の３次元構造の推定などに用いるオプティカルフローの算出に有用であり、特に、車両や航空機など、高速に移動する物体の動画像に関するオプティカルフローを算出する場合や、航空機など高速に移動するプラットフォームに設置された撮像部によって撮像された動画像に関するオプティカルフローを算出する場合に適している。
【図面の簡単な説明】
【０１０１】
【図１】この発明の実施の形態にかかるフレーム内動きベクトルの概要を示す説明図である。
【図２−１】この発明の実施の形態にかかる第一フレーム画像を示す説明図である。
【図２−２】この発明の実施の形態にかかる第二フレーム画像を示す説明図である。
【図２−３】この発明の実施の形態にかかるフレーム間動きベクトルを示す説明図である。
【図３−１】この発明の実施の形態にかかる対応点候補の抽出について示す説明図である。
【図３−２】この発明の実施の形態にかかる対応点の決定について示す説明図である。
【図４】この発明の実施の形態にかかるオプティカルフロー算出装置のハードウェア構成を示すブロック図である。
【図５】この発明の実施の形態にかかるオプティカルフロー算出装置の機能的構成を示すブロック図である。
【図６】この発明の実施の形態にかかるオプティカルフロー算出装置の処理の内容を示すフローチャートである。
【図７】この発明の実施の形態にかかる対応点座標推定処理（図６のステップＳ６０４）の内容を示すフローチャートである。
【図８】この発明の実施の形態にかかる対応点候補抽出処理（図６のステップＳ６０５）の内容を示すフローチャートである。
【図９−１】従来のオプティカルフロー算出方式を示す第一フレーム画像に関する説明図である。
【図９−２】従来のオプティカルフロー算出方式を示す第二フレーム画像に関する説明図である。
【符号の説明】
【０１０２】
４００  バス
４０１  ＣＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０４  ＨＤＤ
４０５  ＨＤ
４０６  ＦＤＤ
４０７  ＦＤ
４０８  ディスプレイ
４０９  通信Ｉ／Ｆ
４１０  キーボード
４１１  マウス
４１２  映像Ｉ／Ｆ
４１３  カメラ
５００  オプティカルフロー算出装置
５０１  フレーム画像取得部
５０２  第一フレーム画像保持部
５０３  テンプレート切り出し部
５０４  フレーム画像復元部
５０５  フレーム内動きベクトル算出部
５０６  フレーム間動きベクトル算出部
５０７  対応点座標推定部
５０８  オプティカルフロー決定部
５０９  第二フレーム画像保持部
５１０  相関マップ生成部
５１１  対応点候補抽出部
５１２  抽出しきい値指定部
５１３  対応点決定部
５１４  撮像部
５１５  増幅部
５１６  Ａ／Ｄ変換部
【図１】
2007179354.tif 000003
【図２−１】
2007179354.tif 000004
【図２−２】
2007179354.tif 000005
【図２−３】
2007179354.tif 000006
【図３−１】
2007179354.tif 000007
【図３−２】
2007179354.tif 000008
【図４】
2007179354.tif 000009
【図５】
2007179354.tif 000010
【図６】
2007179354.tif 000011
【図７】
2007179354.tif 000012
【図８】
2007179354.tif 000013
【図９−１】
2007179354.tif 000014
【図９−２】
2007179354.tif 000015