(57)【特許請求の範囲】
【請求項１】
撮像装置により撮影された第１の画像から所定の特徴を表す第１の特徴点を抽出し、前記撮像装置により撮影された第２の画像から所定の特徴を表す第２の特徴点を抽出する抽出手段と、
前記第１の特徴点に応じて前記第１の画像に対して第１の領域を設定し、前記第１の特徴点の位置に基づいて前記第２の画像に対して前記第１の領域より大きい第２の領域を設定し、前記第２の領域の中で前記第１の領域に類似している領域を検出する領域検出手段と、
前記第２の画像に設定した前記第２の領域の中で所定の特徴を表す特定点を抽出して、前記第２の画像の中の前記第２の特徴点と前記特定点とに基づいて、前記第２の画像の中に前記第２の領域を設定した際に用いた前記第１の特徴点の信頼度を判定する判定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第１の領域の位置と前記第２の領域の中から前記第１の領域に類似しているとして検出された領域の位置とに基づいて、前記第１の特徴点に対応した動きベクトルを検出する動き検出手段を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記動きベクトル検出手段は、前記第１の特徴点に対応した動きベクトルを使用して前記第１の画像と第２の画像との間の動きベクトルを求める際に、前記判定された第１の特徴点の信頼度に応じて、前記第１の特徴点に対応した動きベクトルの使用を制御することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記判定手段は、前記第２の画像に設定した前記第２の領域の中に前記第２の特徴点が存在しないときに、前記第２の画像に設定した前記第２の領域の中から前記特定点を抽出することを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記判定手段は、前記第２の画像の中で前記第２の特徴点と前記特定点との間の距離を求め、前記距離が遠くなるほど前記第１の特徴点の信頼度を低く判定することを特徴とする請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記動き検出手段は、前記第１の特徴点に対応した動きベクトルを使用して前記第１の画像と第２の画像との間の動きベクトルを求める際には、前記判定された前記第１の特徴点の信頼度の低さに応じて、前記第１の特徴点に対応した動きベクトルを使用しないように制御するか、又は、動きベクトルの使用割合を低く制御することを特徴とする請求項２又は３に記載の画像処理装置。
【請求項７】
撮像装置により撮影された第１の画像から所定の特徴を表す第１の特徴点を抽出し、前記撮像装置により撮影された第２の画像から所定の特徴を表す第２の特徴点を抽出する抽出手段と、
前記第１の特徴点に応じて前記第１の画像に対して第１の領域を設定し、前記第１の特徴点の位置に基づいて前記第２の画像に対して前記第１の領域より大きい第２の領域を設定し、前記第２の領域の中で前記第１の領域に類似している領域を検出する領域検出手段と、
前記第２の画像に設定した前記第２の領域の中で所定の特徴を表す第１の特定点を抽出して、前記第２の画像の中の前記第２の特徴点と前記第１の特定点とに基づいて前記第１の特徴点の第１の信頼度を判定し、
前記第２の特徴点の位置に基づいて前記第１の画像に対して第３の領域を設定し、前記第１の画像に設定した前記第３の領域の中で所定の特徴を表す第２の特定点を抽出して、前記第１の画像の中の前記第１の特徴点と前記第２の特定点とに基づいて前記第１の特徴点の第２の信頼度を判定し、
前記第１の信頼度と前記第２の信頼度とに基づいて、前記第２の画像の中に前記第２の領域を設定した際に用いた前記第１の特徴点の第３の信頼度を判定する判定手段と、
を有することを特徴とする画像処理装置。
【請求項８】
前記第１の領域の位置と前記第２の領域の中から前記第１の領域に類似しているとして検出された領域の位置とに基づいて、前記第１の特徴点に対応した動きベクトルを検出し、前記第１の特徴点に対応した動きベクトルを使用して前記第１の画像と第２の画像との間の動きベクトルを求める際に、前記第３の信頼度に応じて、前記第１の特徴点に対応した動きベクトルの使用を制御する動き検出手段を有することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記判定手段は、
前記第２の画像の中に設定した前記第２の領域に第２の特徴点が存在しないとき、前記第２の画像の中に設定した前記第２の領域から前記第１の特定点を抽出し、
前記第１の画像の中に設定した前記第３の領域に第１の特徴点が存在しないとき、前記第１の画像の中に設定した前記第３の領域から前記第２の特定点を抽出することを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
前記判定手段は、
前記第２の画像の中で、前記第２の特徴点と前記第１の特定点との間の距離を求めて、前記距離が遠くなるほど前記第１の信頼度を低く判定し、
前記第１の画像の中で、前記第１の特徴点と前記第２の特定点との間の距離を求めて、前記距離が遠くなるほど前記第２の信頼度を低く判定することを特徴とする請求項７〜９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記判定手段は、前記第１の信頼度と前記第２の信頼度との和が小さくなるほど、前記第３の信頼度を低く判定し、
前記動き検出手段は、前記第１の特徴点に対応した動きベクトルを使用して前記第１の画像と前記第２の画像との間の動きベクトルを求める際には、前記第３の信頼度の低さに応じて、前記第１の特徴点に対応した動きベクトルを使用しないように制御するか、又は、動きベクトルの使用割合を低く制御することを特徴とする請求項８に記載の画像処理装置。
【請求項１２】
前記判定手段は、前記第１の信頼度と前記第２の信頼度との差が大きくなるほど、前記第３の信頼度を低く判定し、
前記動き検出手段は、前記第１の特徴点に対応した動きベクトルを使用して前記第１の画像と前記第２の画像との間の動きベクトルを求める際には、前記第３の信頼度の低さに応じて、前記第１の特徴点に対応した動きベクトルを使用しないように制御するか、又は、動きベクトルの使用割合を低く制御することを特徴とする請求項８に記載の画像処理装置。
【請求項１３】
前記判定手段は、前記第２の特徴点と前記第１の特定点との間の距離と方向により表されるベクトルと、前記第１の特徴点と前記第２の特定点との間の前記距離と方向により表されるベクトルとの二つのベクトルを求め、前記二つのベクトルの間の角度差が大きくなるほど、前記第３の信頼度を低く判定し、
前記動き検出手段は、前記第１の特徴点に対応した動きベクトルを使用して前記第１の画像と前記第２の画像との間の動きベクトルを求める際には、前記第３の信頼度の低さに応じて、前記第１の特徴点に対応した動きベクトルを使用しないように制御するか、又は、動きベクトルの使用割合を低く制御することを特徴とする請求項８に記載の画像処理装置。
【請求項１４】
前記第１の領域の位置と前記第２の領域の中から前記第１の領域に類似しているとして検出された領域の位置とに基づいて、前記第１の特徴点に対応した動きベクトルを検出し、前記第１の特徴点に対応した動きベクトルを使用して前記第１の画像と前記第２の画像との間の仮の動きベクトルを求める仮動き検出手段と、
前記第１の画像と前記第２の画像との間の仮の動きベクトルに基づいて前記第２の画像と前記第２の特徴点の座標を修正する修正手段とを有することを特徴とする請求項１〜１３のいずれか１項に記載の画像処理装置。
【請求項１５】
撮像装置により撮影された第１の画像から所定の特徴を表す第１の特徴点を抽出し、前記撮像装置により撮影された第２の画像から所定の特徴を表す第２の特徴点を抽出するステップと、
前記第１の特徴点に応じて前記第１の画像に対して第１の領域を設定し、前記第１の特徴点の位置に基づいて前記第２の画像に対して前記第１の領域より大きい第２の領域を設定し、前記第２の領域の中で前記第１の領域に類似している領域を検出するステップと、
前記第２の画像に設定した前記第２の領域の中で所定の特徴を表す特定点を抽出して、前記第２の画像の中の前記第２の特徴点と前記特定点とに基づいて、前記第２の画像の中に前記第２の領域を設定した際に用いた前記第１の特徴点の信頼度を判定するステップと、
を含むことを特徴とする画像処理方法。
【請求項１６】
撮像装置により撮影された第１の画像から所定の特徴を表す第１の特徴点を抽出し、前記撮像装置により撮影された第２の画像から所定の特徴を表す第２の特徴点を抽出するステップと、
前記第１の特徴点に応じて前記第１の画像に対して第１の領域を設定し、前記第１の特徴点の位置に基づいて前記第２の画像に対して前記第１の領域より大きい第２の領域を設定し、前記第２の領域の中で前記第１の領域に類似している領域を検出するステップと、
前記第２の画像に設定した前記第２の領域の中で所定の特徴を表す第１の特定点を抽出して、前記第２の画像の中の前記第２の特徴点と前記第１の特定点とに基づいて前記第１の特徴点の第１の信頼度を判定するステップと、
前記第２の特徴点の位置に基づいて前記第１の画像に対して第３の領域を設定し、前記第１の画像に設定した前記第３の領域の中で所定の特徴を表す第２の特定点を抽出して、
前記第１の画像の中の前記第１の特徴点と前記第２の特定点とに基づいて前記第１の特徴点の第２の信頼度を判定するステップと、
前記第１の信頼度と前記第２の信頼度とに基づいて、前記第２の画像の中に前記第２の領域を設定した際に用いた前記第１の特徴点の第３の信頼度を判定するステップと、
を含むことを特徴とする画像処理方法。
【請求項１７】
コンピュータを、請求項１〜１４のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から特徴点を抽出して動きベクトルを検出する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
デジタルスチルカメラやデジタルビデオカメラ等の撮像装置を用いて撮影された映像に対して画像処理による手振れ補正を行う場合、画像処理装置は、フレーム画像間の動き量を検出し、その動き量に応じて複数枚の画像の位置合わせを行う。フレーム画像間の動き量を検出する方法としては、ジャイロセンサのような外部機器の情報を用いたり、撮影されたフレーム画像から動き量を推定したりする方法等がある。
【０００３】
フレーム画像を用いた動き量推定の方法は、従来から種々提案されているが、その代表的なものとしてテンプレートマッチングによる動きベクトル検出がある。テンプレートマッチングを行う場合、画像処理装置は、先ず映像中の或る２枚のフレーム画像の一方を基準画像とし、もう一方を参照画像とする。そして、画像処理装置は、基準画像上に配置した所定の大きさの矩形領域をテンプレートブロックとし、参照画像の各位置においてテンプレートブロック内の画素値の分布との相関を求める。このとき、参照画像中で最も相関が高くなる位置がテンプレートブロックの移動先であり、基準画像上でのテンプレートブロックの位置を基準とした時の移動先への向きと移動量が動きベクトルとなる。
【０００４】
また、動きベクトルの検出率を向上させるための技術としては、フレーム画像の特徴点を抽出し、その抽出した特徴点にテンプレートブロックを配置し、フレーム画像でテンプレートマッチングを行う技術がある。
【０００５】
ただし、抽出される特徴点は、背景や被写体の動きの大きさと向き、ノイズなどの要因によって、フレーム画像間で大きく移動してしまうことがあり、そのためフレーム画像毎に動きベクトルの品質が変動してしまうという問題がある。このようなことから、特許文献１には、フレーム画像で特徴点を追跡し、その追跡の成功回数に応じて特徴点の信頼度を判定し、信頼度の低い特徴点を削除して信頼度の高い特徴点で動きベクトル検出を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３３６２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特徴点を追跡する処理の場合、演算量が多く計算コストが高くなり、また、特徴点が敏感に移動して不安定化するという問題もあり、このため正確な動きベクトルの検出が難しい。
【０００８】
本発明はこのような問題点に鑑みてなされたものであり、少ない演算量で、より正確な動きベクトルを検出可能となる画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、撮像装置により撮影された第１の画像から所定の特徴を表す第１の特徴点を抽出し、前記撮像装置により撮影された第２の画像から所定の特徴を表す第２の特徴点を抽出する抽出手段と、前記第１の特徴点に応じて前記第１の画像に対して第１の領域を設定し、前記第１の特徴点の位置に基づいて前記第２の画像に対して前記第１の領域より大きい第２の領域を設定し、前記第２の領域の中で前記第１の領域に類似している領域を検出する領域検出手段と、前記第２の画像に設定した前記第２の領域の中で所定の特徴を表す特定点を抽出して、前記第２の画像の中の前記第２の特徴点と前記特定点とに基づいて、前記第２の画像の中に前記第２の領域を設定した際に用いた前記第１の特徴点の信頼度を判定する判定手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、少ない演算量で、より正確な動きベクトルを検出可能となる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態の画像処理装置の構成を示す図である。
【図２】特徴点抽出部の構成を示す図である。
【図３】テンプレートマッチング部の構成を示す図である。
【図４】第１の実施形態の特徴点信頼度判定部の構成を示す図である。
【図５】第１，第２の実施形態の装置の各処理の流れを示すフローチャートである。
【図６】特徴点抽出部の処理の詳細なフローチャートである。
【図７】テンプレートマッチング部の処理の詳細なフローチャートである。
【図８】テンプレートマッチングの概要説明に用いる図である。
【図９】第１の実施形態の信頼度判定部の処理の詳細なフローチャートである。
【図１０】第１の実施形態の信頼度判定部の概要説明に用いる図である。
【図１１】信頼度判定部による信頼度設定の説明に用いる図である。
【図１２】第２の実施形態の画像処理装置の構成を示す図である。
【図１３】第２の実施形態の特徴点信頼度判定部の構成を示す図である。
【図１４】第２の実施形態の信頼度判定部の処理の詳細なフローチャートである。
【図１５】第２の実施形態の信頼度判定部の概要説明に用いる図である。
【図１６】第２の実施形態の信頼度判定部の信頼度設定の説明に用いる図である。
【図１７】第３の実施形態の画像処理装置の構成を示す図である。
【図１８】第３の実施形態の装置の各処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
＜第１の実施形態＞
図１には、第１の実施形態である画像処理装置１００の概略構成を示す。本実施形態の画像処理装置１００は、一例として、複数枚の画像の位置合わせなどの際に使用可能な動きベクトルを高精度に検出する装置である。複数枚の画像の位置合わせ処理は、例えば撮像装置により撮影された画像信号に対し、画像処理による手振れ補正等が行われる際に用いられる。本実施形態において、撮像装置により撮影された画像信号は、デジタルビデオカメラ等による動画像信号だけでなく、デジタルスチルカメラによる連続撮影等で得られた複数枚の静止画像信号であってもよい。以下の説明では、デジタルビデオカメラによる動画像の中の１枚の画像やデジタルスチルカメラで連続撮影された複数の静止画像の中の１枚の画像を、それぞれ区別せずに「フレーム」と呼ぶことにする。本実施形態の画像処理装置１００では、動画像や連続撮影による複数の静止画像のように時間軸方向に連なる複数のフレームのうち近接した２枚のフレーム間の相関を求め、それら２枚のフレーム間の相関に基づいて動きベクトルを検出する。それら２枚のフレームは、動きベクトル検出に用いられるフレームであるため、時間軸上で近接したフレームであり、時間軸方向において相互に関連した或る程度の相関を有するフレームであるとする。近接した二つのフレームとは、隣接フレームだけでなく、１フレーム以上離れたフレームを含む。
【００１３】
図１に示す本実施形態の画像処理装置１００は、画像入力部１０１と画像メモリ１０２と特徴点抽出部１０３と特徴点メモリ１０４とテンプレートマッチング部１０５と特徴点信頼度判定部１０６と動きベクトル検出部１０７とを有して構成されている。
【００１４】
画像入力部１０１（以下、入力部１０１と表記する。）には、デジタルスチルカメラやデジタルビデオカメラ等の撮像装置により撮影された画像信号が入力される。なお、以下の説明では、画像信号を単に「画像」と表記する。入力部１０１に入力された画像１１０は、特徴点抽出部１０３と画像メモリ１０２と特徴点信頼度判定部１０６とテンプレートマッチング部１０５に送られる。
【００１５】
画像メモリ１０２は、入力部１０１より供給された１フレーム分の画像又は複数フレーム分の画像を、一時的に記憶する。本実施形態では、画像メモリ１０２に記憶されたフレームの画像が第１の画像であり、以下の説明では基準画像１１１と表記する。また、本実施形態では、その基準画像１１１のフレームよりも時間軸上で後のフレームの画像（画像メモリ１０２に未だ記憶されていない画像）が第２の画像であり、以下の説明では参照画像１１２と表記する。参照画像１１２のフレームは、画像メモリ１０２から基準画像１１１のフレームが出力されたときに、入力部１０１から出力された画像１１０に相当する。そして、画像メモリ１０２は、一時的に記憶した基準画像１１１をテンプレートマッチング部１０５に出力する。なお、第１の実施形態では、参照画像１１２は基準画像１１１よりも時間軸上で例えば１フレーム後の画像となる例を挙げて説明するが、参照画像は基準画像よりも複数フレーム後の画像となされてもよく、これは後述の第２，第３の実施形態の例でも同様である。また、画像メモリ１０２に記憶されたフレーム画像が参照画像となされ、その参照画像のフレームよりも後のフレームが基準画像となされてもよく、このことは後述する第２，第３の実施形態の例でも同様である。
【００１６】
特徴点抽出部１０３（以下、抽出部１０３と表記する。）は、入力部１０１より供給された画像１１０から、画像の所定の特徴を表す特徴点を抽出する。詳細については後述するが、抽出部１０３は、画像の所定の特徴を表す特徴点の情報として、画像１１０の中の例えば二つのエッジの交点や曲率が極大である曲線状の点などのコーナー点の特徴値と座標を求める。そして、抽出部１０３は、それら特徴値と座標とで表される特徴点の情報を出力する。なお、以下の説明では、特徴点の情報を単に「特徴点」と表記する。抽出部１０３から出力された特徴点１１３は、特徴点メモリ１０４と特徴点信頼度判定部１０６へ送られる。
【００１７】
特徴点メモリ１０４は、抽出部１０３により抽出された特徴点１１３を、１フレームの時間分又は複数フレームの時間分だけ一時的に記憶する。なお、画像メモリ１０２に記憶されたフレーム画像が基準画像１１１となされ、その基準画像１１１より１フレーム後の画像が参照画像１１２となされている場合には、特徴点メモリ１０４が特徴点１１３を一時的に保持する時間も１フレームの時間分となされる。本実施形態の場合、特徴点メモリ１０４に記憶された特徴点は、画像メモリ１０２に保持された基準画像１１１に相当するフレームから抽出された第１の特徴点である。以下の説明では、第１の特徴点を基準画像特徴点１１４と表記する。また、本実施形態では、基準画像特徴点１１４より１フレーム時間分だけ後のフレームの特徴点（特徴点メモリ１０４に未だ記憶されていない画像の特徴点）は、参照画像１１２に相当するフレームから抽出された第２の特徴点である。以下の説明では、第２の特徴点を参照画像特徴点１１５と表記する。参照画像特徴点１１５は、特徴点メモリ１０４から基準画像特徴点１１４が出力されたときに、抽出部１０３から出力された特徴点１１３に相当する。そして、特徴点メモリ１０４は、一時的に記憶保持した基準画像特徴点１１４を、テンプレートマッチング部１０５と特徴点信頼度判定部１０６に出力する。なお、画像メモリ１０２の出力が参照画像となされ、参照画像よりも後のフレームが基準画像となされた場合には、それに合わせて、特徴点メモリ１０４の出力が参照画像特徴点となり、参照画像特徴点よりも後のフレームの特徴点が基準画像特徴点となる。このことは後述する第２，第３の実施形態の例でも同様である。
【００１８】
テンプレートマッチング部１０５（以下、マッチング部１０５と表記する。）は、基準画像１１１からテンプレートブロックを生成し、参照画像１１２に対してテンプレートマッチング領域（以下、マッチング領域と表記する。）を設定する。本実施形態においては、このマッチング部１０５が領域検出手段の一例である。そして、マッチング部１０５は、テンプレートブロックを用いてマッチング領域に対するテンプレートマッチング処理を行う。このテンプレートマッチング処理により、マッチング領域内の各画像領域とテンプレートブロックとがどの程度類似しているのかについての類似度の評価が行われる。より具体的には、マッチング部１０５は、テンプレートマッチング処理による類似度を表す値として相関値を算出し、その算出された相関値とその位置の情報を出力する。マッチング部１０５によるテンプレートブロックの生成とテンプレートマッチング領域の設定、及び、相関値算出処理と位置情報の出力処理の詳細については後述する。なお、以下の説明では、相関値及びその位置情報を纏めて「相関情報」と表記する。マッチング部１０５により算出された相関情報１１６は、動きベクトル検出部１０７に送られる。
【００１９】
特徴点信頼度判定部１０６（以下、判定部１０６と表記する。）は、参照画像特徴点１１５と基準画像特徴点１１４と参照画像１１２とを使用して、特徴点の信頼度１１７を判定する。判定部１０６による特徴点の信頼度判定処理の詳細については後述する。なお、以下の説明では、特徴点の信頼度の情報を単に「特徴点の信頼度」と表記する。判定部１０６による特徴点の信頼度１１７は、動きベクトル検出部１０７に送られる。
【００２０】
動きベクトル検出部１０７は、基準画像１１１と参照画像１１２との間の類似度とその位置を表す相関情報１１６と、判定部１０６からの信頼度１１７とに基づいて、基準画像特徴点１１４に対応した動きベクトルを検出する。以下、動きベクトル検出部１０７を検出部１０７と表記する。また、検出部１０７は、基準画像特徴点１１４に対応した動きベクトルを使用して、基準画像１１１と参照画像１１２との間の画像全体の動きベクトル１１８を求める。また、詳細については後述するが、検出部１０７は、画像全体の動きベクトル１１８を求める際には、特徴点の信頼度１１７に応じて、基準画像特徴点１１４に対応した動きベクトルの使用を制御する。検出部１０７により検出された動きベクトル１１８の情報は、図示しない後段の構成に送られ、例えば画像処理による手振れ補正等の際に使用される。
【００２１】
図２には、特徴点抽出部１０３の構成例を示す。図２に示すように、抽出部１０３は、特徴フィルタ部１０３１と特徴評価部１０３２と特徴点決定部１０３３とを有して構成されている。
【００２２】
特徴フィルタ部１０３１（以下、フィルタ部１０３１と表記する。）は、水平微分フィルタと垂直微分フィルタと平滑化フィルタから構成され、図１の入力部１０１から供給された画像１１０に対してフィルタ処理を施す。フィルタ部１０３１におけるフィルタ処理の詳細については後述する。フィルタ部１０３１によりフィルタ処理された画像は、特徴評価部１０３２に送られる。
【００２３】
特徴評価部１０３２（以下、評価部１０３２と表記する。）は、フィルタ部１０３１によりフィルタ処理された画像の中で２つのエッジの交点や曲率が極大になっている曲線状の点などのコーナー点について、画素毎に特徴評価式を用いて特徴値を算出する。特徴評価式を用いた特徴値の算出処理の詳細については後述する。評価部１０３２により算出された特徴値は、特徴点決定部１０３３に送られる。
【００２４】
特徴点決定部１０３３（以下、決定部１０３３と表記する。）は、評価部１０３２によって画素毎に算出された特徴値とその特徴値の画素の座標（位置情報）とを特徴点１１３として決定する。決定部１０３３による特徴点決定処理の詳細については後述する。決定部１０３３により決定された特徴点１１３は、図１の特徴点メモリ１０４と判定部１０６に送られる。
【００２５】
図３には、テンプレートマッチング部１０５の構成例を示す。図３に示すように、マッチング部１０５は、相関値算出部１０５１と相関値判定部１０５２とを有して構成されている。
【００２６】
相関値算出部１０５１（以下、算出部１０５１と表記する。）は、基準画像１１１の中で、基準画像特徴点１１４を例えば中心とした所定の大きさの矩形領域を、テンプレートブロックとして設定する。また、算出部１０５１は、テンプレートブロックを用いたテンプレートマッチング処理が行われるマッチング領域を、参照画像１１２に対して設定する。マッチング領域は、少なくともテンプレートブロックよりも大きな矩形領域となされる。そして、算出部１０５１は、基準画像特徴点１１４を含むテンプレートブロックを用い、参照画像１１２に設定されたマッチング領域に対するテンプレートマッチング処理を行って、類似度を表す相関値を算出する。テンプレートブロック及びマッチング領域の設定処理と、それらを用いたテンプレートマッチング処理による相関値の算出処理の詳細については後述する。算出部１０５１にて算出された相関値は、相関値判定部１０５２に送られる。
【００２７】
相関値判定部１０５２は、マッチング領域内において相関値の極小値（最小値）を求め、その極小値に対応した相関値の位置（座標）を求める。相関値判定部１０５２において、マッチング領域内で相関値の極小値を求めてそれに対応した位置（座標）を求める処理の詳細については後述する。相関値判定部１０５２により求められた極小値の相関値とその位置情報からなる相関情報１１６が検出部１０７に送られる。
【００２８】
図４には、判定部１０６の構成例を示す。図４に示すように、判定部１０６は、マッチング領域内特徴点探索部１０６１とマッチング特定点抽出部１０６２とマッチング特定点・特徴点比較部１０６３と信頼度設定部１０６４とを有して構成されている。
【００２９】
マッチング領域内特徴点探索部１０６１（以下、探索部１０６１と表記する。）は、テンプレートマッチング部１０５にて設定されたのと同様のマッチング領域を、参照画像１１２内に設定する。そして、探索部１０６１は、参照画像１１２のマッチング領域内に参照画像特徴点１１５が在るか否か探索する。探索部１０６１による参照画像特徴点１１５の探索処理の詳細については後述する。探索部１０６１による特徴点探索の結果は、マッチング特定点抽出部１０６２と信頼度設定部１０６４に送られる。
【００３０】
マッチング特定点抽出部１０６２（以下、特定点抽出部１０６２と表記する。）は、探索部１０６１による探索処理において参照画像１１２のマッチング領域内に参照画像特徴点１１５がない場合、マッチング領域内の特徴値からマッチング特定点を抽出する。このマッチング特定点とその抽出処理の詳細については後述する。特定点抽出部１０６２により抽出されたマッチング特定点の情報は、マッチング特定点・特徴点比較部１０６３へ送られる。なお、以下の説明では、マッチング特定点の情報を単に「特定点」と表記する。
【００３１】
マッチング特定点・特徴点比較部１０６３（以下、比較部１０６３と表記する。）は、特定点抽出部１０６２で抽出された特定点と、参照画像特徴点１１５とを比較して距離を算出する。特定点と参照画像特徴点１１５との比較による距離算出処理の詳細は後述する。比較部１０６３により算出された距離の情報は、信頼度設定部１０６４に送られる。なお、以下の説明では、距離の情報を単に「距離」と表記する。
【００３２】
信頼度設定部１０６４は、探索部１０６１による探索結果と、比較部１０６３による距離とに基づいて、基準画像特徴点１１４に対する信頼度１１７を設定する。信頼度設定部１０６４による信頼度設定処理の詳細については後述する。信頼度設定部１０６４による信頼度１１７は、検出部１０７に送られる。
【００３３】
以上のように構成された画像処理装置１００における各部の処理について、図５に示すフローチャートを用いて詳細に説明する。なお、本実施形態では、前述したように、時間軸方向に連なるフレーム間で動きベクトル１１８の検出を行うものとし、基準画像１１１のフレームと参照画像１１２のフレームは時間軸方向において相互に関連している近接したフレームである。
【００３４】
図５のフローチャートにおいて、入力部１０１は、ステップＳ５０１において、撮像装置により撮影された画像１１０が入力されると、その画像１１０を画像メモリ１０２と抽出部１０３と判定部１０６とマッチング部１０５に送る。本実施形態では、前述したように、画像メモリ１０２に記憶された画像を基準画像１１１とし、その基準画像１１１のフレームよりも時間軸上で後のフレームの画像を参照画像１１２とする。ステップＳ５０１の後、画像処理装置１００の処理は、抽出部１０３にて行われるステップＳ５０２に進む。
【００３５】
抽出部１０３は、ステップＳ５０２において、入力部１０１から送られてきた画像１１０から特徴点を抽出する。抽出された特徴点は、特徴点メモリ１０４と判定部１０６に送られる。本実施形態では、前述したように、特徴点メモリ１０４に記憶された特徴点を基準画像特徴点１１４とし、その基準画像特徴点１１４よりも後のフレームの特徴点を参照画像特徴点１１５としている。
【００３６】
図６には、前述の図２の構成を有する抽出部１０３が図５のステップＳ５０２で行う特徴点抽出処理の詳細なフローチャートを示す。なお、本実施形態では、Ｈａｒｒｉｓ  Ｃｏｒｎｅｒ検出器により特徴点の抽出が行われる例を挙げる。
【００３７】
図６のステップＳ６０１において、抽出部１０３は、入力部１０１から送られてきた画像１１０に対して、図２の特徴フィルタ部１０３１によるフィルタ処理を施す。本実施形態の場合、特徴フィルタ部１０３１は、入力された画像１１０に対して、水平微分フィルタと垂直微分フィルタにより水平方向と垂直方向、さらに斜め方向の一次微分フィルタ処理を施す。そして、特徴フィルタ部１０３１は、それら各方向の１次微分フィルタ処理を施した結果に対し、平滑化フィルタによるガウシアンフィルタ処理を施す。ステップＳ６０１の後、抽出部１０３の処理は、図２の評価部１０３２にて行われるステップＳ６０２に進む。
【００３８】
ステップＳ６０２に進むと、評価部１０３２は、ステップＳ６０１でフィルタ処理された画像の中で２つのエッジの交点や曲率が極大である曲線状の点などのコーナー点について、画素毎に特徴評価式による特徴値を算出する。
【００３９】
具体的には、評価部１０３２は、ステップＳ６０１の水平微分フィルタと垂直微分フィルタを施した結果から、自己相関行列Ｈを作成する。自己相関行列Ｈの算出式を下記の式（１）に示す。
【００４０】
【数１】
0006624841.tif 000002
【００４１】
式（１）において、Ｉｘは水平微分フィルタ処理を施した結果を表し、Ｉｙは垂直微分フィルタ処理を施した結果を、Ｇは平滑化フィルタであるガウシアンフィルタによる畳み込み処理を表している。また、Ｈａｒｒｉｓ検出器の特徴評価式を下記の式（２）に示す。
【００４２】
Harris＝det(H)−α(tr(H))2    (α＝0.04〜0.15)      ・・・式（２）
【００４３】
式（２）において、αは定数であり、実験的に良い値とされている０．０４〜０．１５を用いる。また、ｄｅｔは自己相関行列Ｈの行列式を表し、ｔｒは自己相関行列Ｈの主対角成分の和を表す。ステップＳ６０２の後、抽出部１０３の処理は、図２の決定部１０３３により行われるステップＳ６０３の処理に進む。
【００４４】
決定部１０３３は、ステップＳ６０３において、ステップＳ６０２で画素毎に算出された特徴値に基づいて、特徴点を決定する。本実施形態では、特徴値の高いものから順番に、予め決められた個数の特徴値を特徴点１１３として抽出する。このとき特徴点の分布の偏りを防ぐために、いわゆるグリッド分割処理などを行っても良い。なお、本実施形態では、特徴点の抽出にＨａｒｒｉｓ  ｃｏｒｎｅｒ検出器を使用したが、これに限るものではなく、Ｓｈｉ ａｎｄ Ｔｏｍａｓｉ方式などの他の特徴点抽出方式を用いてもよい。
【００４５】
抽出部１０３による図６の特徴点抽出処理が終了すると、画像処理装置１００の処理は、図１のマッチング部１０５にて行われる図５のステップＳ５０３と、図１の判定部１０６にて行われる図５のステップＳ５０４の処理に進む。
【００４６】
図５のステップＳ５０３において、マッチング部１０５は、ステップＳ５０２で抽出された基準画像特徴点１１４を基に、基準画像１１１にテンプレートブロックを配置する。また、マッチング部１０５は、参照画像１１２に対してマッチング領域を設定する。そして、マッチング部１０５は、テンプレートブロックを用い、マッチング領域に対してテンプレートマッチング処理を行うことにより、マッチング領域毎に相関情報１１６を算出する。
【００４７】
図７には、前述の図３の構成を有するマッチング部１０５が図５のステップＳ５０３で行うテンプレートマッチング処理の詳細なフローチャートを示す。マッチング部１０５は、図７のステップＳ７０１において、図３の算出部１０５１により、基準画像１１１のテンプレートブロックと参照画像１１２のマッチング領域との間のテンプレートマッチング処理を行って相関値を求める。
【００４８】
図８（ａ）と図８（ｂ）を参照して、マッチング部１０５の算出部１０５１によるテンプレートマッチング処理の概要を説明する。図８（ａ）は基準画像１１１を示し、図８（ｂ）は参照画像１１２を示している。また、図８（ａ）の例では、基準画像１１１内の基準画像特徴点１１４の一例として基準画像特徴点８０１を示している。算出部１０５１は、図８（ａ）に示すように、基準画像１１１に対し、基準画像特徴点８０１を含む矩形領域をテンプレートブロック８０２として設定する。一方、算出部１０５１は、参照画像１１２に対しては、図８（ｂ）に示すように、図８（ａ）の基準画像１１１内に配置されたテンプレートブロック８０２に対応した相関値算出領域８０４を設定する。相関値算出領域８０４は、テンプレートブロック８０２に対応した大きさの矩形形状の領域である。なお、図８（ｂ）の相関値算出領域８０４の中の点８０５は、参照画像１１２内において図８（ａ）の基準画像特徴点８０１に対応した座標（以下、対応座標８０５と表記する。）を表している。また、算出部１０５１は、図８（ｂ）に示すように、参照画像１１２に対して、対応座標８０５を中心としたサーチ範囲８０３を設定する。そして、算出部１０５１は、サーチ範囲８０３内で相関値算出領域８０４を図８（ｂ）内の矢印で示すように移動させつつ、テンプレートブロック８０２と相関値算出領域８０４との間の相関値を算出する。なお、サーチ範囲８０３の位置や大きさの設定については特に制限はない。本実施形態において、算出部１０５１は、このサーチ範囲８０３を、テンプレートマッチング処理の際のマッチング領域として設定する。なお、マッチング領域は、サーチ範囲８０３の中に設定されてもよく、この場合、マッチング領域の大きさは変更可能となされ、マッチング領域の最大の大きさがサーチ範囲８０３の大きさとなる。本実施形態においては、サーチ範囲８０３内で相関値を算出するようにしているため、算出部１０５１は、例えば参照画像１１２の全領域に対して相関値を算出するような膨大な量の演算は行わなくてもよい。
【００４９】
本実施形態において、算出部１０５１は、相関値の算出方法の一例として、差分絶対値和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ、以下ＳＡＤと表記する。）を用いている。以下、ＳＡＤによる相関値Ｓ＿ＳＡＤの算出例について説明する。式（３）には、ＳＡＤの計算式を示す。
【００５０】
【数２】
0006624841.tif 000003
【００５１】
式（３）において、ｆ（ｉ，ｊ）はテンプレートブロック８０２内の座標（ｉ，ｊ）の画素の輝度値を表しており、ｇ（ｉ，ｊ）はサーチ範囲８０３内で相関値算出の対象となる相関値算出領域８０４内の画素の輝度値を表している。算出部１０５１は、テンプレートブロック８０２の輝度値ｆ（ｉ，ｊ）と相関値算出領域８０４の輝度値ｇ（ｉ，ｊ）との差の絶対値を計算する。そして、算出部１０５１は、テンプレートブロック８０２内の各輝度値と相関値算出領域８０４内の各輝度値との差の絶対値の総和を求めることで、相関値Ｓ＿ＳＡＤを得る。この相関値Ｓ＿ＳＡＤは、その値が小さいほど、テンプレートブロック８０２と相関値算出領域８０４の間の輝度値の差が小さいことを表している。つまり、相関値Ｓ＿ＳＡＤの値が小さいほど、テンプレートブロック８０２と相関値算出領域８０４のブロック内のテクスチャ（画像の模様や質感等）が類似していて、類似度が高いことを表している。
【００５２】
なお、本実施形態では、相関値の算出方法の一例としてＳＡＤを使用した例を挙げたが、これに限るものではなく、例えば差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値算出方法を用いてもよい。
【００５３】
図７のフローチャートに説明を戻し、ステップＳ７０１で相関値を算出した後、マッチング部１０５の処理は、図３の相関値判定部１０５２にて行われるステップＳ７０２の処理に進む。ステップＳ７０２において、相関値判定部１０５２は、ステップＳ７０１で算出された相関値から、サーチ範囲８０３内で相関値が最小値（極小値）となった相関値算出領域８０４の位置（例えば相関値算出領域８０４の中心座標等）を検出する。このときの相関値算出領域８０４の位置（座標）が、前述した極小値の相関値の位置情報である。そして、マッチング部１０５は、相関値判定部１０５２による位置情報とその相関値からなる相関情報１１６の検出処理が終わると、その相関情報１１６を図１の検出部１０７へ送って図７のフローチャートの処理を終了する。
【００５４】
図５のフローチャートに説明を戻す。図５のステップＳ５０４において、判定部１０６は、参照画像特徴点１１５及び基準画像特徴点１１４と参照画像１１２とから、基準画像特徴点１１４の信頼度の判定を行う。
【００５５】
図９には、前述の図４の構成を有する判定部１０６が図５のステップＳ５０４で行う特徴点信頼度判定処理の詳細なフローチャートを示す。図９のステップＳ９０１において、判定部１０６の探索部１０６１は、前述したテンプレートマッチング処理で用いたのと同様のマッチング領域に対する探索処理を行うことで、マッチング領域内に参照画像特徴点１１５が存在するか否か判定する。なお、この場合も図８（ｂ）の例と同様に、マッチング領域の大きさは、最大でサーチ範囲８０３の大きさにすることができ、参照画像特徴点がサーチ範囲８０３内に存在するかどうかの判定を行うことができる。
【００５６】
図１０（ａ）と図１０（ｂ）を参照して、探索部１０６１における探索処理の概要を説明する。図１０（ａ）は基準画像１１１を示し、図１０（ｂ）は参照画像１１２を示している。また、図１０（ａ）の例では、基準画像１１１内の基準画像特徴点１１４の一例として基準画像特徴点１００１と１００２を示している。探索部１０６１は、図１０（ｂ）に示すように、参照画像１１２に対して、基準画像１１１内の基準画像特徴点１００１と１００２に対応したマッチング領域１００７と１００８を設定する。なお、図１０（ｂ）のマッチング領域１００７，１００８の中の各点１００３，１００４は、参照画像１１２内において図１０（ａ）の基準画像特徴点１００１，１００２にそれぞれ対応した座標（以下、対応座標１００３，１００４と表記する。）を表している。また、図１０（ｂ）の点１００５，１００６は、それぞれが参照画像特徴点１１５（以下、参照画像特徴点１００５，１００６と表記する。）を表している。図１０（ｂ）の場合、参照画像特徴点１００５はマッチング領域１００７内に在り、参照画像特徴点１００６はマッチング領域１００８から外れている例を示している。
【００５７】
これら図１０（ａ）と図１０（ｂ）に示すように、探索部１０６１は、基準画像１１１の基準画像特徴点１００１，１００２に対応させるように参照画像１１２に設定したマッチング領域１００７，１００８の中に、参照画像特徴点が存在するか探索する。この例の場合、探索部１０６１は、ステップＳ９０１において、マッチング領域１００７に対する探索処理の際には参照画像特徴点１００５が在ると判定し、マッチング領域１００８に対する探索処理の際には参照画像特徴点が無いと判定する。そして、ステップＳ９０１において、探索部１０６１にて参照画像特徴点が存在すると判定された場合、判定部１０６の処理は、図４の信頼度設定部１０６４で行われるステップＳ９０４の処理に進む。一方、ステップＳ９０１において、探索部１０６１にて参照画像特徴点が無いと判定された場合、判定部１０６の処理は、図４の特定点抽出部１０６２で行われるステップＳ９０２の処理に進む。
【００５８】
ステップＳ９０２の処理に進んだ場合、特定点抽出部１０６２は、参照画像１１２に対して、マッチング領域１００８内で特定点を１点抽出する。具体的には、特定点抽出部１０６２は、前述した抽出部１０３における特徴点抽出処理と同様の処理により特定点を抽出する。図１０（ｂ）には、特定点抽出部１０６２が、マッチング領域１００８内から特定点１００９を抽出した例を示している。ステップＳ９０２の処理後、判定部１０６の処理は、図４の比較部１０６３で行われるステップＳ９０３の処理に進む。
【００５９】
ステップＳ９０３において、比較部１０６３は、特定点抽出部１０６２が抽出した特定点と、その特定点が抽出されたマッチング領域から外れた参照画像特徴点との間の距離を算出する。図１０（ｂ）の例の場合は、比較部１０６３は、特定点１００９が抽出されたマッチング領域１００８から外れた例えば参照画像特徴点１００６と、特定点１００９との間の距離を算出する。ステップＳ９０３の処理後、判定部１０６の処理は、信頼度設定部１０６４で行われるステップＳ９０４の処理に進む。
【００６０】
ステップＳ９０４において、信頼度設定部１０６４は、比較部１０６３が算出した距離が遠くなるにつれて、基準画像特徴点の信頼度が低くなるようにする。図１０（ａ）と図１０（ｂ）の例の場合は、比較部１０６３による算出対象となされたマッチング領域１００８の対応座標１００４に応じた基準画像１１１内の基準画像特徴点１００２の信頼度を低くする。一例として、信頼度設定部１０６４は、例えば図１１（ａ）のように距離と信頼度を線形で変化させる。また、信頼度設定部１０６４は、図１１（ｂ）のように距離が少しでも離れていたら信頼度を急に下げ、一定値まで下がったら信頼度を緩やかに変化させてもよい。その他にも、信頼度設定部１０６４は、図１１（ｃ）のように一定の距離までは信頼度を緩やかに下げ、所定の距離より離れた場合に信頼度を急に下げるように変化させてもよい。なお、前述のステップＳ９０１においてマッチング領域１００７の中に参照画像特徴点１００５が在ると判定されている場合、ステップＳ９０４では、信頼度設定部１０６４は、基準画像特徴点の信頼度を例えば最も高く設定する。
【００６１】
判定部１０６は、参照画像１１２の各マッチング領域について図９の特徴点信頼度判定処理が終了すると、各基準画像特徴点１１４の信頼度１１７を図１の検出部１０７へ送って、図９のフローチャートの処理を終了する。
【００６２】
図５のフローチャートに説明を戻す。図５のステップＳ５０５において、図１の検出部１０７は、マッチング部１０５による相関情報１１６と、判定部１０６による基準画像特徴点１１４の信頼度１１７とに基づいて、動きベクトルを検出する。具体的には、検出部１０７は、相関情報１１６に含まれる位置情報から、基準画像１１１上のテンプレートブロックが参照画像１１２においてどの位置に移動したかを表す、動きベクトルを検出する。そして、検出部１０７は、マッチング領域毎、つまり各マッチング領域の中心位置に対応した特徴点毎に検出された動きベクトルを使用して、画像全体の動きベクトルを求める。一例として、検出部１０７は、特徴点毎に検出した各動きベクトルの方向と大きさの総和や平均等を求めることにより、画像全体に対する動きベクトルを求める。
【００６３】
ただし、画像全体の動きベクトルを求める際には、検出部１０７は、信頼度の低い基準画像特徴点を基に検出された動きベクトルについては、そのときの信頼度に応じて、その動きベクトルの使用を制御する。一例として、検出部１０７は、信頼度の低い基準画像特徴点（一例として信頼度が閾値未満の基準画像特徴点）を基に検出された動きベクトルについては、画像全体の動きベクトルを求める際に使用しないように制御する。また例えば、検出部１０７は、画像全体の動きベクトルを求める際に、信頼度が低い基準画像特徴点を基に検出された動きベクトルを使用してもよいが、この場合、その信頼度の値に応じて、その動きベクトルの影響を小さくするような制御を行う。動きベクトルの影響を小さくする手法としては、一例として、画像全体の動きベクトルを求める際に、信頼度に応じて、その動きベクトルの使用割合（影響度）を低くするような方法が考えられる。なお、検出部１０７は、画像全体の動きベクトルを求める際には、信頼度が閾値以上の基準画像特徴点を基に検出された動きベクトルについては、例えばその動きベクトルをそのまま使用するようにしてもよい。また、前述のステップＳ９０１で参照画像特徴点が在ると判定され、ステップＳ９０４で基準画像特徴点に最も高い信頼度が設定された場合、検出部１０７は、画像全体の動きベクトルを求める際、その基準画像特徴点に対応した動きベクトルをそのまま使用する。これら基準画像特徴点の信頼度に応じた動きベクトルの使用制御はあくまで一例である。
【００６４】
以上説明したように、本実施形態の画像処理装置１００は、フレーム画像間で特徴点が移動してしまった場合でも、その移動距離に応じて特徴点の信頼度を判定し、その信頼度を動きベクトル検出処理に反映することで、精度の良い動きベクトル検出が可能となる。具体的には、画像処理装置１００は、画像全体の動きベクトルを求める際、信頼度の低い特徴点を基に検出された動きベクトルの使用を制限することにより、精度の良い動きベクトル検出を行うことが可能となる。また、本実施形態の画像処理装置１００においては、マッチング領域毎に、テンプレートマッチング処理と特徴点信頼度判定処理を行っているため、少ない演算量で精度良く動きベクトルを検出することができる。
【００６５】
＜第２の実施形態＞
図１２には、第２の実施形態の画像処理装置１２００の構成例を示す。なお、図１２において、図１に示した構成要素と共通するものについては、図１と同じ指示符号を付して、それらの説明については省略する。第２の実施形態の画像処理装置１２００の場合、特徴点信頼度判定部１２０１（以下、判定部１２０１と表記する。）で行われる処理が、第１の実施形態の特徴点信頼度判定部１０６で行われる処理とは異なる。
【００６６】
判定部１２０１は、参照画像１１２と基準画像特徴点１１４及び参照画像特徴点１１５に加えて、基準画像１１１をも用いて、基準画像特徴点１１４の信頼度１１７を判定して、その信頼度１１７を検出部１０７へ出力する。
【００６７】
図１３には、第２の実施形態の場合の判定部１２０１の構成例を示す。なお、図１３において、図４に示した構成要素と共通するものについては、図４と同じ指示符号を付して、それらの説明については省略する。
【００６８】
図１３に示すように、判定部１２０１は、参照画像マッチング領域内特徴点探索部１２０１４と参照画像マッチング特定点抽出部１２０１５と参照画像マッチング特定点・特徴点比較部１２０１６と信頼度設定部１２０１７とを有する。さらに、判定部１２０１は、基準画像マッチング領域内特徴点探索部１２０１１と基準画像マッチング特定点抽出部１２０１２と基準画像マッチング特定点・特徴点比較部１２０１３とを有する。なお、参照画像マッチング領域内特徴点探索部１２０１４（以下、参照探索部１２０１４と表記する。）は、図４の探索部１０６１と同一の動作を行うため、その詳細な説明については省略する。また、参照画像マッチング特定点抽出部１２０１５（以下、参照特定点抽出部１２０１５と表記する。）は、図４の特定点抽出部１０６２と同一の動作を行うため、その詳細な説明については省略する。同様に、参照画像マッチング特定点・特徴点比較部１２０１６（以下、参照比較部１２０１６と表記する。）は、図４の比較部１０６３と同一の動作を行うため、その詳細な説明については省略する。第２の実施形態においては、参照特定点抽出部１２０１５により抽出された特定点が第１の特定点である。
【００６９】
基準画像マッチング領域内特徴点探索部１２０１１（以下、基準探索部１２０１１と表記する。）は、基準画像１１１内において、参照画像１１２の参照画像特徴点１１５に対応した座標を中心としたマッチング領域を設定する。マッチング領域の大きさについては、前述の第１の実施形態で説明したのと同様の大きさに設定される。そして、基準探索部１２０１１は、そのマッチング領域内に基準画像特徴点１１４が在るか否か探索する。なお、基準探索部１２０１１における探索処理は、探索対象画像が基準画像１１１になっていること以外、基本的には前述した図１０（ａ），図１０（ｂ）で説明したのと同様の処理であるため、その詳細については省略する。この基準探索部１２０１１による探索結果は、基準画像マッチング特定点抽出部１２０１２と信頼度設定部１２０１７に送られる。
【００７０】
基準画像マッチング特定点抽出部１２０１２（以下、基準特定点抽出部１２０１２と表記する。）は、基準探索部１２０１１において基準画像特徴点１１４が探索できなかった場合、マッチング領域内の特徴値からマッチング特定点を抽出する。第２の実施形態においては、基準特定点抽出部１２０１２により抽出された特定点が、第２の特定点である。なお、基準特定点抽出部１２０１２における抽出処理は、抽出対象画像が基準画像１１１になっていること以外、基本的には前述した図１０（ａ），図１０（ｂ）で説明したのと同様の処理であるため、その詳細については省略する。基準特定点抽出部１２０１２により抽出されたマッチング特定点の情報は、基準画像マッチング特定点・特徴点比較部１２０１３へ送られる。
【００７１】
基準画像マッチング特定点・特徴点比較部１２０１３（以下、基準比較部１２０１３と表記する。）は、基準特定点抽出部１２０１２により抽出された特定点と、基準画像特徴点１１４とを比較して距離を算出する。基準比較部１２０１３における距離算出処理は、特定点との間の距離算出対象が基準画像特徴点１１４になっていること以外、基本的には前述した図１０（ａ），図１０（ｂ）で説明したのと同様の処理であるため、その詳細については省略する。基準比較部１２０１３により算出された距離の情報は、信頼度設定部１２０１７に送られる。
【００７２】
信頼度設定部１２０１７は、基準探索部１２０１１及び参照探索部１２０１４による探索結果と、基準比較部１２０１３及び参照比較部１２０１６による距離とに基づいて、基準画像特徴点１１４の信頼度を設定する。第２の実施形態の場合の信頼度設定部１２０１７による信頼度設定処理の詳細については後述する。信頼度設定部１２０１７による信頼度１１７は、図１２の検出部１０７に送られる。
【００７３】
図１２に示した第２の実施形態の画像処理装置１２００における各部の処理のフローチャートは、前述の図５に示したフローチャートと略々同じであるが、第２の実施形態の場合には、ステップＳ５０４の信頼度判定処理が第１の実施形態の例とは異なる。第２の実施形態の場合、図１２の判定部１２０１は、図５のステップＳ５０４において、参照画像特徴点１１５と基準画像特徴点１１４と参照画像１１２と基準画像１１１とを用いて、基準画像特徴点１１４の信頼度１１７を判定する。なお、第２の実施形態の場合、図５のステップＳ５０１，Ｓ５０２，Ｓ５０３，Ｓ５０５の処理については、第１の実施形態で説明した処理と基本的に同一であるため、それらの説明については省略する。
【００７４】
図１４には、第２の実施形態の場合におけるステップＳ５０４の処理の詳細なフローチャートを示す。なお、図１４のフローチャートにおいて、ステップＳ９０１〜Ｓ９０３の処理は、前述の図９のステップＳ９０１〜Ｓ９０３の処理と同じであるため、それらの詳細な説明については省略する。一方、図１４において、ステップＳ１５０１の処理は図１３の基準探索部１２０１１が行い、ステップＳ１５０２の処理は図１３の基準特定点抽出部１２０１２が、ステップＳ１５０３の処理は図１３の基準比較部１２０１３が行う処理となされている。また、図１５（ａ）と図１５（ｂ）には、第２の実施形態の判定部１２０１において、基準探索部１２０１１〜基準比較部１２０１３にて行われる処理の概要を説明するための図を示す。以下、図１４と図１５（ａ）及び図１５（ｂ）を参照しながら、基準探索部１２０１１〜基準比較部１２０１３おいて行われる処理について詳細に説明する。
【００７５】
図１５（ａ）は基準画像１１１を示し、図１５（ｂ）は参照画像１１２を示している。また、図１５（ｂ）の例では、参照画像１１２内の参照画像特徴点１１５の一例として参照画像特徴点１６０１と１６０２を示している。基準探索部１２０１１は、図１４のステップＳ１５０１において、図１５（ａ）に示すように、基準画像１１１に対して、参照画像１１２内の参照画像特徴点１６０１と１６０２に対応したマッチング領域１６０７と１６０８を設定する。なお、図１５（ａ）のマッチング領域１６０７，１６０８の中の各点１６０３，１６０４は、基準画像１１１内において図１５（ｂ）の参照画像特徴点１６０１，１６０２にそれぞれ対応した座標（以下、対応座標１６０３，１６０４と表記する。）を表している。また、図１５（ａ）の点１６０５，１６０６は、それぞれが基準画像特徴点１１４（以下、基準画像特徴点１６０５，１６０６と表記する。）を表している。図１５（ａ）の場合、基準画像特徴点１６０５はマッチング領域１６０７内に在り、基準画像特徴点１６０６はマッチング領域１６０８から外れている例を示している。
【００７６】
また、基準探索部１２０１１は、ステップＳ１５０１において、参照画像１１２の参照画像特徴点１６０１，１６０２に対応させるように基準画像１１１内に設定したマッチング領域１６０７，１６０８の中に、基準画像特徴点が在るか探索する。この例の場合、基準探索部１２０１１は、ステップＳ１５０１において、マッチング領域１６０７に対する探索処理の際には基準画像特徴点１６０５が在ると判定し、マッチング領域１６０８に対する探索処理の際には基準画像特徴点が無いと判定する。そして、ステップＳ１５０１において、基準探索部１２０１１にて基準画像特徴点が存在すると判定された場合、判定部１２０１の処理は、図１３の信頼度設定部１２０１７で行われるステップＳ１５０４の処理に進む。一方、ステップＳ１５０１において、基準探索部１２０１１にて基準画像特徴点が無いと判定された場合、判定部１２０１の処理は、図１３の基準特定点抽出部１２０１２で行われるステップＳ１５０２の処理に進む。
【００７７】
ステップＳ１５０２の処理に進んだ場合、基準特定点抽出部１２０１２は、基準画像１１１に対して、マッチング領域１６０８内で特定点を１点抽出する。具体的には、基準特定点抽出部１２０１２は、前述の抽出部１０３における特徴点抽出処理と同様の処理により特定点を抽出する。図１５（ａ）には、基準特定点抽出部１２０１２が、マッチング領域１６０８内から特定点１６０９を抽出した例を示している。ステップＳ１５０２の処理後、判定部１２０１の処理は、図１３の基準比較部１２０１３で行われるステップＳ１５０３の処理に進む。
【００７８】
ステップＳ１５０３において、基準比較部１２０１３は、基準特定点抽出部１２０１２が抽出した特定点と、その特定点が抽出されたマッチング領域から外れた基準画像特徴点との間の距離を算出する。図１５（ａ）の例の場合は、基準比較部１２０１３は、特定点１６０９が抽出されたマッチング領域１６０８から外れた例えば基準画像特徴点１６０６と、特定点１６０９との間の距離を算出する。ステップＳ１５０３の処理後、判定部１２０１の処理は、信頼度設定部１２０１７で行われるステップＳ１５０４の処理に進む。
【００７９】
ステップＳ１５０４において、信頼度設定部１２０１７は、基準比較部１２０１３により得られた距離を用いて、前述の第１の実施形態の図１１（ａ）〜図１１（ｃ）で説明したのと同様にして信頼度を求める。第２の実施形態においては、基準比較部１２０１３により得られた距離を用いて求められた信頼度が第２の信頼度である。また、このときの信頼度設定部１２０１７は、参照探索部１２０１４〜参照比較部１２０１６により前述の第１の実施形態と同様にして求められた距離を用いて、図１１（ａ）〜図１１（ｃ）で説明したように信頼度を求める。第２の実施形態においては、参照比較部１２０１６により得られた距離を用いて求められた信頼度が第１の信頼度である。そして、信頼度設定部１２０１７は、それら二つの信頼度から、基準画像特徴点１１４に対する最終的な信頼度を設定する。具体的には、信頼度設定部１２０１７は、例えば、基準比較部１２０１３による距離に応じた信頼度と、参照比較部１２０１６による距離に応じた信頼度との和を求め、その和が低くなるにつれて最終的な信頼度を低くするように設定する。又は、信頼度設定部１２０１７は、例えば、基準比較部１２０１３による距離に応じた信頼度と、参照比較部１２０１６による距離に応じた信頼度との差を求め、その差が高くなるにつれて最終的な信頼度を低くするように設定してもよい。又は、信頼度設定部１２０１７は、基準比較部１２０１３による距離に応じた信頼度と参照比較部１２０１６による距離に応じた信頼度にそれぞれ重みを付けた二つの信頼度について、前述同様に和又は差を求めて最終的な信頼度を設定してもよい。なお、信頼度設定部１２０１７は、ステップＳ９０１でマッチング領域内に参照画像特徴点が在ると判断され、且つ、ステップＳ１５０１でマッチング領域内に基準画像特徴点が在ると判断された場合には、基準画像特徴点の信頼度を例えば最も高く設定する。
【００８０】
その他、第２の実施形態において、図１３の基準比較部１２０１３は、図１５（ａ）の特定点１６０９と基準画像特徴点１６０６との間の距離と共に方向も算出してベクトルを求めてもよい。この場合、同様に、参照比較部１２０１６は、前述の図１０（ｂ）の特定点１００９と参照画像特徴点１００６との間の距離と共に方向も算出してベクトルを求める。そして、信頼度設定部１２０１７は、それら二つのベクトルの角度を比較し、それら角度の比較結果に応じて最終的な信頼度を設定する。一例として、信頼度設定部１２０１７は、二つのベクトルの角度の差を求め、例えば図１６（ａ）のように、角度の差に応じて最終的な信頼度を線形に変化させる。また、信頼度設定部１２０１７は、図１６（ｂ）のように角度に少しでも差が生じたならば、最終的な信頼度を急に下げ、そして、一定の信頼度まで下がった後には、最終的な信頼度を緩やかに変化させてもよい。その他にも、信頼度設定部１２０１７は、図１６（ｃ）のように、一定の角度差までは信頼度を緩やかに下げ、特定の角度差以上になった場合には最終的な信頼度を急に下げるように変化させてもよい。
【００８１】
第２の実施形態において、判定部１２０１は、図１４の特徴点信頼度判定処理が終了すると、各基準画像特徴点１１４の信頼度１１７を図１の検出部１０７へ送って、図１４のフローチャートの処理を終了する。第２の実施形態の場合の検出部１０７における処理は前述の第１の実施形態の例と同様である。
【００８２】
以上説明したように、第２の実施形態の画像処理装置１２００は、信頼度の判定の際に、基準画像と参照画像の両画像を用いるようにしているため、前述した第１の実施形態の場合よりも更に精度の高い信頼度判定を行うことができる。したがって、第２の実施形態の画像処理装置１２００は、第１の実施形態の場合よりも精度良く動きベクトルを検出可能である。
【００８３】
＜第３の実施形態＞
図１７には、第３の実施形態の画像処理装置１８００の構成例を示す。なお、図１７において、図１に示した構成要素と共通するものについては、図１と同じ指示符号を付して、それらの説明については省略する。第３の実施形態の画像処理装置１８００は、図１に示した各構成要素に加えて、仮動きベクトル動き算出部１８０１と参照画像・参照画像特徴点座標修正部１８０２を有している。
【００８４】
仮動きベクトル算出部１８０１（以下、ベクトル算出部１８０１と表記する。）は、マッチング部１０５から出力された相関情報１１６が入力され、その相関情報１１６を基に仮動きベクトル１２１を算出する。ベクトル算出部１８０１が相関情報１１６から仮動きベクトル１２１を算出する処理は、基本的には前述の動きベクトル検出部１０７による動きベクトル検出処理と同じである。ベクトル算出部１８０１により算出された仮動きベクトル１２１は、参照画像・参照画像特徴点座標修正部１８０２に送られる。
【００８５】
参照画像・参照画像特徴点座標修正部１８０２（以下、修正部１８０２と表記する。）は、仮動きベクトル１２１を使用して、参照画像１１２及び参照画像特徴点１１５の座標を修正する。具体的には、修正部１８０２は、仮動きベクトル１２１で示される移動量及び方向に基づいて、参照画像１１２及び参照画像特徴点１１５の座標位置を移動前の座標に戻す処理を行う。修正部１８０２により座標が修正された参照画像１２２及び参照画像特徴点１２３は、判定部１０６に送られる。
【００８６】
第３の実施形態において、判定部１０６は、修正部１８０２により各々座標が修正された参照画像１２２と参照画像特徴点１２３を使用して、前述の第１の実施形態の例と同様にして、基準画像特徴点１１４の信頼度を判定する。
【００８７】
第３の実施形態の画像処理装置１８００における各部の処理を、図１８のフローチャートを用いて詳細に説明する。なお、図１８のフローチャートにおいて、ステップＳ５０１〜Ｓ５０３，Ｓ５０４，Ｓ５０５の処理は、前述の図５のステップＳ５０１〜Ｓ５０３，Ｓ５０４，Ｓ５０５の処理と同じであるため、それらの詳細な説明については省略する。一方、図１８において、ステップＳ１９０１の処理は図１７のベクトル算出部１８０１が行い、ステップＳ１９０２の処理は図１７の修正部１８０２が行う処理となされている。以下、ステップＳ１９０１，Ｓ１９０２の処理について、詳細に説明する。
【００８８】
図１８のフローチャートにおいて、ベクトル算出部１８０１は、ステップＳ５０３の後のステップＳ１９０１において、マッチング部１０５から供給される相関情報１１６から前述の第１の実施形態で説明したようにして動きベクトルを算出する。ただし、ベクトル算出部１８０１での動きベクトル算出処理の際には、前述の検出部１０７での動きベクトル検出で使用される信頼度１１７については用いない。また、ベクトル算出部１８０１は、前述の第１の実施形態で説明したようにして、特徴点毎に検出された動きベクトルを使用して画像全体の動きベクトルを求めて、それを仮動きベクトル１２１とする。
【００８９】
ステップＳ１９０１の後、画像処理装置１８００の処理は、修正部１８０２にて行われるステップＳ１９０２に進む。ステップＳ１９０２では、修正部１８０２は、ベクトル算出部１８０１から送られてきた仮動きベクトル１２１を使用し、参照画像１１２及び参照画像特徴点１１５の座標を修正する。
【００９０】
ステップＳ１９０２の後、画像処理装置１８００の処理は、判定部１０６により行われるステップＳ５０５に進む。第３の実施形態の場合、判定部１０６は、移動前の座標位置に戻された参照画像１２２と参照画像特徴点１２３を用いて、基準画像特徴点１１４の信頼度を判定する。判定部１０６における信頼度判定処理は、前述の第１の実施形態で説明したのと同様であるため、その詳細な説明については省略する。
【００９１】
なお、第３の実施形態では、参照画像１１２と参照画像特徴点１１５の座標修正が１度しか行われていないが、ベクトル算出部１８０１による仮動きベクトル算出処理と修正部１８０２による座標修正処理は複数回繰り返し行われてもよい。また、第３の本実施形態において、例えば画像が異なる解像度毎に階層化され、ベクトル算出処理が階層処理として行われるような場合、座標修正は特定の階層に対してのみ行うようにしてもよい。この場合、演算量の削減が可能となる。さらに、第３の実施形態は、第１の実施形態を基に説明したが、前述の第２の実施形態に対して仮動きベクトル算出処理と座標修正処理を適用することも可能である。
【００９２】
第３の実施形態の画像処理装置１８００によれば、仮動きベクトル算出処理の後に、参照画像１１２及び参照画像特徴点１１５の座標修正処理を行うことにより、画像間の移動量が大きいときでも、精度の高い信頼度判定を行うことが可能となる。
【００９３】
＜その他の実施形態＞
本発明は、上述の各実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣによっても実現可能である。
【００９４】
また、前述の各実施形態の画像処理装置は、撮像装置であるデジタルカメラの他、タブレット端末やスマートフォン、電子ゲーム機、ナビゲーション装置、パーソナルコンピュータなど様々な情報処理装置にも適用可能である。各実施形態の画像処理装置がそれら情報処理装置に適用された場合、各実施形態に係る処理は、情報処理装置内のＣＰＵ等が各実施形態に係るコンピュータプログラムを実行することにより実現される。各実施形態に係るコンピュータプログラムは、記録媒体や各種ネットワークや通信回線を介して情報処理装置に提供される。
【００９５】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００９６】
１００  画像処理装置、１０１  画像入力部、１０２  画像メモリ、１０３  特徴点抽出部、１０４  特徴点メモリ、１０５  テンプレートマッチング部、１０６  特徴点信頼度判定部、１０７  動きベクトル検出部、１０３１  特徴フィルタ部、１０３２  特徴評価部、１０３３  特徴点決定部、１０５１  相関値算出部、１０５２  相関値判定部、１０６１  マッチング領域内特徴点探索部、１０６２  マッチング特定点抽出部、１０６３  マッチング特定点・特徴点比較部、１０６４  信頼度設定部、１２００  画像処理装置
１２０１  特徴点信頼度判定部、１２０１１  基準画像マッチング領域内特徴点探索部、１２０１２  基準画像マッチング特定点抽出部、１２０１３  基準画像マッチング特定点・特徴点比較部、１２０１４  参照画像マッチング領域内特徴点探索部、１２０１５  参照画像マッチング特定点抽出部、１２０１６  参照画像マッチング特定点・特徴点比較部、１２０１７  信頼度判定部、１８００  画像処理装置、１８０１  仮動きベクトル算出部、１８０２  参照画像・参照画像特徴点座標修正部
【図１】
0006624841.tif 000004
【図２】
0006624841.tif 000005
【図３】
0006624841.tif 000006
【図４】
0006624841.tif 000007
【図５】
0006624841.tif 000008
【図６】
0006624841.tif 000009
【図７】
0006624841.tif 000010
【図８】
0006624841.tif 000011
【図９】
0006624841.tif 000012
【図１０】
0006624841.tif 000013
【図１１】
0006624841.tif 000014
【図１２】
0006624841.tif 000015
【図１３】
0006624841.tif 000016
【図１４】
0006624841.tif 000017
【図１５】
0006624841.tif 000018
【図１６】
0006624841.tif 000019
【図１７】
0006624841.tif 000020
【図１８】
0006624841.tif 000021