(57)【特許請求の範囲】
【請求項１】
入力画像における特徴部を抽出する抽出処理を行う抽出手段と、
前記入力画像に対する画像解析を行う解析手段と、
前記入力画像を複数の画像領域に分割する分割手段とを有し、
前記解析手段は、前記抽出処理の後に前記画像領域ごとに前記画像解析を行い、
前記抽出手段は、前記画像解析の結果に応じて前記抽出処理を再度行うか否かを選択し、前記抽出処理を再度行う場合は、前記画像領域ごとの前記画像解析の結果に応じて、該画像領域ごとに前記抽出処理における前記特徴部の抽出方法を選択することを特徴とする画像処理装置。
【請求項２】
前記抽出手段は、前記抽出方法として、前記抽出処理に用いるフィルタの種類、該フィルタのパラメータ値および前記画像領域における特徴値を算出するための演算式の種類のうち少なくとも１つを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記解析手段は、前記画像解析として、コントラスト、最大画素値および繰り返しパターンのうち少なくとも１つに関する解析を行うことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記解析手段は、前記画像解析により得られる前記特徴部に対する信頼度に応じて前記抽出方法を変更することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記入力画像よりも後に生成された他の入力画像における前記特徴部に対応する対応部を検出する対応部検出手段と、
前記特徴部と前記対応部を用いて動きベクトルを検出するベクトル検出手段とを有することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記特徴部または前記対応部の信頼度を判定する信頼度判定手段を有し、
前記ベクトル検出手段は、前記信頼度に応じて前記動きベクトルの検出を行うか否かを選択することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
撮像を行う撮像手段と、
該撮像手段を用いて生成された入力画像の特徴部を抽出し、該特徴部の動きベクトルを算出する請求項５または６に記載の画像処理装置と、
前記動きベクトルを用いて防振動作を行う防振手段とを有することを特徴とする撮像装置。
【請求項８】
コンピュータに、画像処理を行わせるコンピュータプログラムである画像処理プログラムであって、
前記画像処理は、
入力画像における特徴部を抽出する抽出処理と、
前記入力画像に対する画像解析を行う解析処理と、
前記入力画像を複数の画像領域に分割する処理とを含み、
前記抽出処理の後に前記画像領域ごとに前記画像解析を行い、
前記画像解析の結果に応じて前記抽出処理を再度行うか否かを選択し、前記抽出処理を再度行う場合は、前記画像領域ごとの前記画像解析の結果に応じて、該画像領域ごとに前記特徴部の抽出方法を選択することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像から特徴部を抽出する画像処理技術に関する。
【背景技術】
【０００２】
撮像装置において手振れ補正（防振）を行うために、映像の前フレーム画像にて抽出した特徴点が後フレーム画像のどこに移動したかを示す動きベクトルを検出し、該動きベクトルに応じて光学系や撮像素子をシフトしたり映像の切り出し範囲をシフトしたりする。後フレーム画像における特徴点の位置は、一般に、前フレーム画像にて抽出した特徴点を含むテンプレート画像を用いたテンプレートマッチングにより探索される。
【０００３】
ただし、前フレーム画像の全体から複数の特徴点を抽出すると、該複数の特徴点の分布が不均一になることが多い。不均一に分布する特徴点に対して得られる動きベクトルを手振れ補正の用途で使用する場合には、特徴点が集中した領域で得られる動きベクトルが支配的となる手振れ補正が行われ、映像全体に対して良好な手振れ補正を行うことが難しくなる。
【０００４】
特許文献１には、特徴点を均一に分布させるために入力画像を複数の画像領域（画像ブロック）に分割し、特徴の大きさを表す特徴値を画素ごとに計算し、各画像領域内で特徴値が最も大きい画素を特徴点として抽出する画像処理が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１９２０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１にて開示された画像処理においても、画像領域内で特徴点を抽出する際に画像領域内に低い特徴値しか現れないと、特徴点が抽出されなかったり、テンプレートマッチングに不適切な特徴点が抽出されたりするおそれがある。この結果、正しい動きベクトルの検出、さらには正しい手振れ補正ができないことがある。
【０００７】
なお、特許文献１にて開示された画像処理においては、特徴点が画像領域内で抽出されない場合は、その画像領域では動きベクトルの算出処理を行わない。しかし、これでは、動きベクトルの算出が不均一になってしまい、入力画像を複数の画像領域に分割した意味が薄れる。
【０００８】
本発明は、入力画像から均一な分布で、かつ正しく特徴点を抽出することができるようにした画像処理装置を提供する。
【課題を解決するための手段】
【０００９】
本発明の一側面としての画像処理装置は、入力画像における特徴部を抽出する抽出処理を行う抽出手段と、前記入力画像に対する画像解析を行う解析手段と、前記入力画像を複数の画像領域に分割する分割手段とを有し、前記解析手段は、前記抽出処理の後に前記画像領域ごとに前記画像解析を行い、前記抽出手段は、前記画像解析の結果に応じて前記抽出処理を再度行うか否かを選択し、前記抽出処理を再度行う場合は、前記画像領域ごとの前記画像解析の結果に応じて、該画像領域ごとに前記抽出処理における前記特徴部の抽出方法を選択することを特徴とする。
【００１０】
なお、撮像を行う撮像手段と、該撮像手段を用いて生成された入力画像の特徴部を抽出し、該特徴部の動きベクトルを算出する上記画像処理装置と、該動きベクトルを用いて防振動作を行う防振手段とを有する撮像装置も、本発明の他の一側面を構成する。
【００１１】
また、本発明の他の一側面としての画像処理プログラムは、コンピュータに、画像処理を行わせるコンピュータプログラムである画像処理プログラムであって、前記画像処理は、入力画像における特徴部を抽出する抽出処理と、前記入力画像に対する画像解析を行う解析処理と、前記入力画像を複数の画像領域に分割する処理とを含み、前記抽出処理の後に前記画像領域ごとに前記画像解析を行い、前記画像解析の結果に応じて前記抽出処理を再度行うか否かを選択し、前記抽出処理を再度行う場合は、前記画像領域ごとの前記画像解析の結果に応じて、該画像領域ごとに前記特徴部の抽出方法を選択することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、入力画像を複数の画像領域に分割した上で画像領域ごとに画像解析結果に応じた抽出方法を用いて特徴点を抽出するため、入力画像から、均一な分布で、かつ正しい特徴点を抽出することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１である画像処理装置の構成を示すブロック図。
【図２】実施例１における入力画像の分割例を示す図。
【図３】実施例１の画像処理装置における特徴点抽出部の構成を示すブロック図。
【図４】実施例１の画像処理装置におけるテンプレートマッチング部の構成を示すブロック図。
【図５】実施例１の画像処理装置が行う処理を示すフローチャート。
【図６】実施例１における画像解析を示すグラフ。
【図７】実施例１における特徴点抽出部が行う処理を示すフローチャート。
【図８】特徴評価式の違いによる固有値と特徴値との関係の等高線を示す図。
【図９】実施例１におけるテンプレートマッチング部が行う処理を示すフローチャート。
【図１０】実施例１におけるテンプレートマッチングを説明する図。
【図１１】本発明の実施例２である画像処理装置の構成を示すブロック図。
【図１２】実施例２の画像処理装置が行う処理を示すフローチャート。
【図１３】図１に示した画像解析部を分割した画像処理装置の構成を示すブロック図。
【図１４】図１３の画像処理装置が行う処理を示すフローチャート。
【図１５】本発明の実施例３である撮像装置の構成を示すブロック図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１５】
図１には、本発明の実施例１である画像処理装置の構成を示す。画像処理装置１００は、画像入力部１０１と、グリッド分割部１０２と、画像解析部１０３と、バンドパスフィルタ部１０４と、メモリ１０５とを有する。また、画像処理装置１００は、特徴点抽出部１０６と、テンプレートマッチング部１０７と、信頼度判定部１０８と、動きベクトル検出部１０９とを有する。
【００１６】
画像入力部１０１には、撮像により生成された映像信号のフレーム画像（入力画像）が入力される。本実施例の画像処理装置は、このフレーム画像における特徴部（以下、特徴点という）を抽出する。図２（ａ）にはフレーム画像の例を示している。２０１は主被写体であり、２０２は背景領域である。仮にこの状態でフレーム画像内の特徴点を抽出する処理を行うと、主被写体２０１の周辺に複数の特徴点が集中して抽出される。
【００１７】
グリッド分割部（分割手段）１０２は、フレーム画像を、図２（ｂ）に示すように、グリッド（格子）２０３により複数の画像領域（以下、画像ブロックという）に分割する。画像ブロックごとに少なくとも１つの特徴点の抽出を行うことで、抽出される特徴点が主被写体２０１の周辺に集中することを防ぐことができる。
【００１８】
画像解析部（解析手段）１０３は、グリッド分割部１０２により分割された画像ブロックごとに、コントラスト、最大画素値および繰り返しパターンに関する画像解析処理を行う。具体的には、低コントラスト判定、画素値の最大値突出判定および繰り返しパターン判定を行う。これらの判定の内容については後述する。
【００１９】
バンドパスフィルタ部１０４は、各画像ブロックに対してバンドパスフィルタを適用することで画像ブロックの高周波成分と低周波成分をカットするバンドパスフィルタ処理を行う。バンドパスフィルタ部１０４は、画像解析部１０３での画像解析の結果に応じて、画像ブロックごとに、バンドパスフィルタ処理に用いるバンドパスフィルタの周波数特性を設定（選択）する。
【００２０】
メモリ１０５は、フレーム周期で順次入力されるフレーム画像のそれぞれにて分割された複数の画像ブロックを１フレーム分または複数フレーム分、一時的に記憶（保持）する。テンプレートマッチング部１０７においてメモリ１０５に保持された画像ブロックを使用する場合は、バンドパスフィルタ部１０４にて高周波および低周波成分がカットされた画像ブロック（以下、バンドパス画像ブロックともいう）がメモリ１０５に保持される。
【００２１】
特徴点抽出部（抽出手段）１０６は、画像解析部１０３による画像解析の結果とバンドパスフィルタ部１０４からのバンドパス画像ブロックとを用いて、バンドパス画像ブロックごとに少なくとも１つの特徴点を抽出する処理を行う。ここで、特徴点の抽出は、入力画像としての前フレーム画像から得られたバンドパス画像ブロック（以下、前フレーム画像ブロックという）に対して行われる。
【００２２】
テンプレートマッチング部（対応部検出手段）１０７は、テンプレートマッチング処理を行う。まず、テンプレートマッチング部１０７は、前フレーム画像ブロックから、特徴点抽出部１０６により抽出された特徴点ごとに所定の小サイズの部分画像を切り出してテンプレート画像（以下、単にテンプレートという）を作成する。そして、このテンプレートと後フレーム画像（後入力画像）が分割されてメモリ１０５に保持されたバンドパス画像ブロック（以下、後フレーム画像ブロックという）内の小サイズの画像領域である候補領域との相関値を、該候補領域を移動させながら順次算出する。相関値が最小値となる候補領域内に、特徴点に対応する対応点（対応部）が含まれる。
【００２３】
信頼度判定部（信頼度判定手段）１０８は、テンプレートマッチング部１０７によって算出された相関値を用いて、候補領域の低コントラスト判定、画素値（相関値）の最大値突出判定および繰り返しパターン判定を行う。候補領域が低コントラストである、候補領域における相関値の最大値が低い（低ピークである）又は候補領域の画像が繰り返しパターンであると判定された場合は、検出した対応点の信頼度は低いと判定する。
【００２４】
動きベクトル検出部（ベクトル検出手段）１０９は、前フレーム画像ブロックでの特徴点の位置と、後フレーム画像ブロックのうちテンプレートマッチング部１０７で算出された相関値が最小値となる（つまり最も類似度が高い）候補領域の位置とを取得する。そして、これら特徴点の位置と対応点の位置とを用いて動きベクトルを検出（算出）する。この際、動きベクトル検出部１０９は、信頼度判定部１０８から入力される信頼度の判定結果に応じて動きベクトルの検出を行うか否かを選択する。
【００２５】
図３には、特徴点の抽出処理を行う特徴点抽出部１０６の構成を示す。特徴点抽出部１０６は、特徴フィルタ部１０６１と、特徴評価部１０６２と、特徴点決定部１０６３とを有する。
【００２６】
特徴フィルタ部１０６１は、水平／垂直１次微分フィルタ、水平／垂直２次微分フィルタおよび平滑化フィルタ等の複数種類の特徴点抽出用フィルタ（以下、特徴フィルタともいう）を保持している。各特徴フィルタは、パラメータ値の調整（変更）が可能である。特徴フィルタ部１０６１は、画像解析部１０３からの画像解析の結果に応じて、バンドパス画像ブロック（前フレーム画像ブロック）ごとに、適用する特徴フィルタの種類とそのパラメータ値とを変更（選択）する。そして、選択した特徴フィルタおよびそのパラメータ値をそのバンドパス画像ブロックに適用してフィルタ処理を行う。
【００２７】
特徴評価部１０６２は、特徴フィルタ部１０６１でフィルタ処理された前フレーム画像ブロックごとに、２つのエッジの交点や曲線上での曲率の極大点等、周辺の微分値が複数方向に大きい画素（以下、候補点という）の特徴値を特徴評価式により算出する。特徴評価部１０６２は、特徴値を算出するための演算式である特徴評価式を複数種類用意しており、画像解析部１０３での画像解析の結果に応じて、前フレーム画像ブロックごとにどの特徴評価式を使用するかを選択する。
【００２８】
特徴点決定部１０６３は、特徴評価部１０６２によって画素ごとに算出された特徴値のうち最も大きい特徴値が算出された候補点（画素）を、前フレーム画像ブロックにおける特徴点と決定する。
【００２９】
図４には、テンプレートマッチング処理を行うテンプレートマッチング部１０７の構成を示す。テンプレートマッチング部１０７は、相関値算出部１０７１と、相関値判定部１０７２とを有する。
【００３０】
相関値算出部１０７１は、基準画像としての前フレーム画像ブロックに対して特徴点抽出部１０６により抽出された特徴点を中心画素とするテンプレートを作成する。そして、このテンプレートと参照画像としての後フレーム画像ブロック内の候補領域との相関値を算出する。
【００３１】
相関値判定部１０７２は、相関値算出部１０７１にて算出された相関値の最小を算出し、該最小相関値が得られた位置、つまりは前フレーム画像ブロック内の特徴点に対応する後フレーム画像ブロック内の対応点の情報を出力する。
【００３２】
図５のフローチャートには、以上のように構成された画像処理装置１００における画像処理全体の流れを示している。この処理は、全体がコンピュータにより構成された画像処理装置１００がコンピュータプログラムである画像処理プログラムに従って実行する。
【００３３】
本実施例では、前述したように前フレーム画像（ブロック）と後フレーム画像（ブロック）との間で動きベクトルを検出するが、これら前後フレーム画像は必ずしも時間的に隣接したフレーム画像でなくてもよい。このことは、後述する実施例２でも同じである。
【００３４】
ステップＳ５０１では、画像入力部１０１は、前フレーム画像および後フレーム画像を取り込む。
【００３５】
ステップＳ５０２では、グリッド分割部１０２は、前後フレーム画像をそれぞれ複数の画像ブロックに分割し、複数の前フレーム画像ブロックおよび複数の後フレーム画像ブロックをメモリ１０５に保持させる。
【００３６】
ステップＳ５０３では、画像解析部１０３は、メモリ１０５に保持された前フレーム画像ブロックごとに、画像解析として、前述した３つの判定、すなわち低コントラスト判定、画素値の最大値突出判定および繰り返しパターン判定を行う。画像解析部１０３は、画像ブロックの画素値として画素の輝度値を用い、該輝度値の最大値、最小値、平均値および極大値をそれぞれ求めて上記３つの判定に用いる。
【００３７】
図６には、画素値と上記３つの判定との関係を示す。図６（ａ）は、３つの判定が良好な結果となる場合を示している。低コントラスト判定では、画像ブロック内の画素の輝度値の最大値と最小値の差が所定の閾値よりも小さい場合に、その画像ブロックが低コントラストであると判定する。図６（ｂ）は、低コントラスト判定により低コントラストであると判定される場合を示しており、図６（ａ）に比べて画素値の最大値と最小値との差が少ない。
【００３８】
画素値の最大値突出判定では、画像ブロック内の画素の輝度値の最大値（ピーク）がどれだけ際立っているかを判定する。具体的には、輝度値の最大値と平均値との差を輝度値の最大値と最小値との差で除して得られるピーク評価値が所定の閾値よりも小さい場合に、その画像ブロックは低ピークであると判定される。一方、ピーク評価値が閾値よりも大きい場合は、その画像ブロックは高ピークであると判定される。図６（ｃ）は、画素値の最大値突出判定により低ピークであると判定される場合を示しており、図６（ａ）に比べてピーク評価値が小さい。
【００３９】
繰り返しパターン判定では、画像ブロック内の輝度値の最大値と極大値との差が所定の閾値よりも小さい場合に、該画像ブロック内の画像が繰り返しパターンであると判定する。図６（ｄ）は繰り返しパターン判定で繰り返しパターンであると判定される場合を示しており、図６（ａ）に比べて画素値の最大値と極大値との差が小さい。
【００４０】
なお、本実施例では画素の輝度値を用いて画像解析を行う場合について説明したが、色成分を用いて画像解析を行ってもよい。また、低コントラスト判定、画素値の最大値突出判定および繰り返しパターン判定は、図６（ａ）〜（ｄ）に示した状態を判別することができれば上述した以外の方法で行ってもよい。さらに、低コントラスト判定、画素値の最大値突出判定および繰り返しパターン判定は必ずしも全て行う必要はなく、少なくとも１つを行えばよい。
【００４１】
ステップＳ５０４では、バンドパスフィルタ部１０４は、ステップＳ５０２で分割された前フレーム画像ブロックごとおよび後フレーム画像ブロックごとにバンドパスフィルタ処理を行う。前述したように、バンドパスフィルタの周波数特性はステップＳ５０３にて行った画像解析の結果に応じて画像ブロックごとに変更する。
【００４２】
表１には、画像解析の結果とバンドパスフィルタの周波数特性との関係を示す。画像解析の結果、画像ブロックが低コントラストもしくは低ピークであると判定された場合（以下、ケース１という）は、バンドパスフィルタ部１０４は、バンドパスフィルタの通過帯域を高域側に設定する。これにより、画像ブロックが低コントラストや低ピークである場合でもエッジを強調することができる。ただし、この場合はノイズも強調されるので、低周波側の通過端を変更することで、ノイズの孤立点の輝度値と画像ブロック内の輝度値の最大値との差が一定値以上になるようにノイズ抑圧のためのパラメータ設定を行う。
【００４３】
画像解析の結果、画像ブロック内の画像が繰り返しパターン（以下、ケース２という）であると判定された場合は、バンドパスフィルタ部１０４は、バンドパスフィルタの通過帯域を低域側に設定する。これにより、画像ブロック内に存在する繰り返しパターンを不鮮明にし、１つの画像ブロック内で輝度値の最大値が複数出現する場合や、最大値と極大値との差がほとんどない場合の影響を抑えることができる。
【００４４】
ステップＳ５０５では、特徴点抽出部１０６は、ステップＳ５０４でバンドパスフィルタ処理された各前フレーム画像ブロックにおいて特徴点を抽出する。図７のフローチャートには、特徴点抽出部１０６にて行われる特徴点抽出処理の流れを示している。
【００４５】
ステップＳ７０１において、特徴フィルタ部１０６１は、ステップＳ５０４で生成されたバンドパス画像ブロックとしての前フレーム画像ブロックに対してフィルタ処理を行う。この際、特徴フィルタ部１０６１は、ステップＳ５０３での画像解析の結果に応じてフィルタ処理にて用いる特徴フィルタ（水平／垂直１次微分フィルタ、水平／垂直２次微分フィルタまたは平滑化フィルタ等）とそのパラメータ値を変更する。
【００４６】
表１には、画像解析の結果と特徴フィルタおよびパラメータ値の関係を示す。上述したケース１では、画像ブロック内の画素値の変化がなだらかであるので、特徴フィルタ部１０６１は、水平および垂直微分フィルタとしてそれぞれ２次微分フィルタを選択する。これにより、１次微分フィルタを用いる場合に比べてより鋭敏な出力を得ることができる。ただし、前述したようにケース１ではバンドパスフィルタの周波数特性を高域側に設定したことでノイズも強調されている。このため、高感度画像等のノイズが多い画像に対しては、そのバンドパスフィルタによるノイズ抑圧と併せて、平滑化フィルタによるさらなるノイズ低減を行ってもよい。また、本実施例では、２次微分フィルタとしてガウシアンフィルタを用いる。ガウシアンフィルタのフィルタ係数Ｇ（ｘ，ｙ）は以下の式（１）で表される。
【００４７】
【数１】
0006584083.tif 000002
【００４８】
式（１）におけるσの値が小さいほど２次微分フィルタによる平滑化の効果が小さくなり、σの値が大きいほど効果が大きくなる。特徴フィルタ部１０６１は、画像解析の結果に応じて、パラメータ値として式（１）のフィルタ係数Ｇ（ｘ，ｙ）（つまりはσ）を調整する。
【００４９】
また、上述したケース２では、特徴フィルタ部１０６１は、水平および垂直微分フィルタとしてそれぞれ１次微分フィルタを選択する。これにより、２次微分フィルタを用いる場合に比べてより不鮮明な出力を得て、繰り返しパターンの影響を抑える。さらにこのケース２では、特徴フィルタ部１０６１は、式（１）で示したフィルタ係数を有するガウシアンフィルタを平滑化フィルタとして選択し、１次微分フィルタを適用した後の前フレーム画像ブロックに該平滑化フィルタを適用する。そして、画像解析の結果に応じて、平滑化フィルタのパラメータ値として式（１）のフィルタ係数を調整する。
【００５０】
なお、本実施例では平滑化フィルタとしてガウシアンフィルタを用いたが、移動平均フィルタ等の他の平滑化フィルタを用いてもよい。
【００５１】
また、本実施例では、ステップＳ５０４でのバンドパスフィルタ処理で用いるバンドパスフィルタの周波数特性とステップＳ５０５での特徴点抽出処理で用いる特徴フィルタおよびパラメータ値とを、ステップＳ５０３での共通の画像解析結果に応じて選択する。しかし、図１３および図１４にそれぞれ示すように、特徴点抽出処理のための画像解析部１０３１と画像解析を行うステップ（Ｓ５０３１）とを、バンドパスフィルタ処理のための画像解析部１０３および画像解析を行うステップ（Ｓ５０３）とは別に設けてもよい。つまり、ステップＳ５０４で生成されたバンドパス画像ブロックに対する画像解析を行い、その結果に応じて特徴フィルタおよびパラメータ値を選択してもよい。
【００５２】
ステップＳ７０２では、特徴評価部１０６２は、ステップＳ７０１でフィルタ処理がなされた前フレーム画像ブロックにおける前述した候補点（画素）に対して特徴評価式を用いて特徴値を算出する。特徴評価部１０６２は、前述したように複数種類の特徴評価式からステップＳ５０３での画像解析の結果に応じて使用する特徴評価式を選択する。
【００５３】
本実施例では、特徴評価部１０６２は、Harris corner検出器の特徴評価式とShi and Tomasiの特徴評価式とを用意している。
【００５４】
特徴評価部１０６２は、ステップＳ７０１で水平および垂直微分フィルタを適用した結果としての画素値から、以下の式（２）で表される自己相関行列Ｈを作成する。
【００５５】
【数２】
0006584083.tif 000003
【００５６】
式（２）において、Ｉｘは水平微分フィルタを適用した結果としての画素値を、Ｉｙは垂直微分フィルタを適用した結果としての画素値をそれぞれ表している。＊はガウシアンフィルタＧのコンボリューションを表す。
Ｈａｒｒｉｓ検出器の特徴評価式を以下の式（３）に示す。
【００５７】
【数３】
0006584083.tif 000004
【００５８】
式（３）において、αは定数であり、実験的には０．０４〜０．１５の値が良いとされている。ｄｅｔは自己相関行列Ｈの行列式を表し、ｔｒは自己相関行列Ｈの主対角成分の和を表す。
【００５９】
また、Shi and Tomasiの特徴評価式を以下の式（４）に示す。
【００６０】
【数４】
0006584083.tif 000005
【００６１】
式（４）では、式（２）の自己相関行列Ｈの固有値λ１，λ２のうち小さい方の固有値を特徴値とする。
【００６２】
表１には、画像解析の結果と選択する特徴評価式との関係を示す。また、図８には、式（３）と式（４）の固有値と特徴値との関係の等高線で示す。図８のcornerと表示されている部分が候補点である。同図に示すように、式（３）は式（４）に比べてcornerと表示されている領域が少ないので、式（３）を用いることで、より厳しく特徴値の算出、つまりは特徴点の判定が行われる。
【００６３】
上述したケース１では、画像ブロック内の画素値の変化がなだらかであるので、特徴点の判定が緩い式（４）（Shi and Tomasi）を選択する。一方、ケース２では、特徴点の判定をより厳しく行う式（３）（Harris corner）を選択する。
【００６４】
なお、本実施例では、特徴値の算出にHarris corner検出器およびShi and Tomasiの特徴評価式を用いたが、調和平均等の他の特徴評価式を用いてもよい。
【００６５】
ステップＳ７０３では、特徴点決定部１０６３は、ステップＳ７０２にて前フレーム画像ブロック内の候補点ごとに算出された特徴値のうち最大値が算出された候補点（画素）を特徴点として決定する。
【００６６】
図５に戻り、ステップＳ５０６では、テンプレートマッチング部１０７は、ステップＳ５０５にて前フレーム画像ブロックから抽出された特徴点を中心とするテンプレートを作成する。そして、前述したように該テンプレートと後フレーム画像ブロック内での候補領域との相関値を、該候補領域を移動させながら順次算出する。
【００６７】
図９のフローチャートには、テンプレートマッチング部１０７が行うテンプレートマッチング処理の流れを示している。
【００６８】
ステップＳ９０１では、相関値算出部１０７１は、テンプレートと後フレーム画像ブロックの候補領域との相関値を算出する。図１０にテンプレートマッチングの概要を示す。
【００６９】
図１０（ａ）はそれぞれ基準画像としての４つの前フレーム画像ブロックを、図１０（ｂ）はそれぞれ参照画像としての４つの後フレーム画像ブロックを示している。図１０（ａ）中の１００１（黒丸）は特徴点を示し、１００２（枠）はテンプレートを示す。また、図１０（ａ），（ｂ）において、１００３は前後フレーム画像をそれぞれ４つの画像ブロックに分割するグリッドである。さらに、図１０（ｂ）において、１００４（実線枠）は参照画像内で対応点１００７を探索するサーチ範囲を示し、１００５（点線枠）は相関値が算出される候補領域を示す。
【００７０】
図１０（ａ）に示すように、まず相関値算出部１０７１は、基準画像における特徴点を中心とした小サイズの部分画像を切り出してテンプレート１００２を作成する。次に、相関値算出部１０７１は、テンプレートブロック１００２と図１０（ｂ）に示した参照画像におけるサーチ領域１００４内において候補領域１００５を移動させながら、テンプレートと各位置の候補領域１００５との相関値を算出する。なお、参照画像の全域に対して候補領域を移動させて相関値を算出するのでは演算量が膨大なものとなるため、本実施例では、参照画像内の一部に相関値を算出するサーチ範囲１００４を設定する。サーチ範囲１００４の位置や大きさに制限はないが、サーチ範囲１００４内に基準画像内の特徴点に対応する対応点が含まれている必要がある。
【００７１】
本実施例では、相関値として、差分絶対値和（Sum of Absolute Difference：以下、ＳＡＤと略す）を用いる場合について説明する。ＳＡＤの計算式を式（５）に示す。
【００７２】
【数５】
0006584083.tif 000006
【００７３】
式（５）において、ｆ（ｉ，ｊ）はテンプレート１００２内の座標（ｉ，ｊ）における輝度値を表す。また、ｇ（ｉ，ｊ）はサーチ範囲１００４内において相関値が算出される候補領域１００５内の座標（ｉ，ｊ）における輝度値を表す。
【００７４】
ＳＡＤでは、これら輝度値ｆ（ｉ，ｊ）およびｇ（ｉ，ｊ）について差の絶対値を計算し、その総和を求めることで、相関値Ｓ＿ＳＡＤを得る。相関値Ｓ＿ＳＡＤの値が小さいほど、テンプレート１００２と候補領域１００５との輝度値の差が小さい、つまりはテンプレート１００２と候補領域１００５内のテクスチャが類似していることを表す。
【００７５】
本実施例では、相関値としてＳＡＤを用いる場合について説明したが、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いてもよい。
【００７６】
ステップＳ９０２では、相関値判定部１０７２は、ステップＳ９０１で算出された相関値が最小値となる候補領域１００５の位置、つまりは後フレーム画像ブロックにおける対応点の位置の情報を出力する。
【００７７】
再び図５に戻り、ステップＳ５０７では、信頼度判定部１０８は、画素値としてステップＳ５０６にて算出された相関値を用い、該相関値の最大値、最小値、平均値および極小値を求める。そして、これら相関値の最大値、最小値、平均値および極小値を用いて、対応点の信頼度に関する判定として、低コントラスト判定、画素値の最大値突出判定および繰り返しパターン判定を行う。
【００７８】
対応点検出に対する信頼度判定としてのこれら３つの判定の内容は、図６（ａ）〜（ｄ）を用いて説明した画像解析での３つの判定と基本的には同じである。ただし、相関値が小さいほどテンプレートと候補領域との類似度が高いため、図６（ａ）〜（ｄ）の画素値の最大値は相関値では最小値を表し、画素値の最小値は相関値では最大値を表す。また、画素値の極大値は相関値では極小値を表す。
【００７９】
図６（ａ）は上記３つの判定が良好な結果、つまりは検出された対応点の信頼度は高いとの結果が得られる場合を示している。図６（ｂ）は、相関値の最大値と最小値との差が所定の閾値よりも小さい場合、すなわち候補領域内は低コントラストであると判定される場合を示している。図６（ｃ）は、相関値の最小値と平均値の差を相関値の最大値と最小値の差で除して得られる評価値が所定の閾値よりも小さい場合、すなわち候補領域は低ピークであると判定される場合を示している。なお、上記評価値が閾値よりも大きい場合は、候補領域は高ピークであると判定される。図６（ｄ）は、候補領域内の相関値の最小値と極小値との差が所定の閾値よりも小さい場合、すなわち候補領域の画像は繰り返しパターンであると判定される場合を示している。このように、候補領域が低コントラストであるとの判定、候補領域は低ピークであるとの判定および候補領域の画像が繰り返しパターンであるとの判定は、検出された対応点の信頼度、さらに言えば、特徴点と対応点の信頼度が低いとの判定と同義である。
【００８０】
図５において、ステップＳ５０８では、動きベクトル検出部１０９は、ステップＳ５０７での信頼度の判定結果が信頼度が低いとの判定結果である場合に、信頼度判定の対象であった特徴点と対応点を用いて動きベクトルを検出する。すなわち、特徴点の位置を始点とし、対応点の位置を終点としたベクトルを検出する。ステップＳ５０７での信頼度判定結果が低コントラスト、低ピークまたは繰り返しパターンとの判定がなされた場合は、動きベクトル検出部１０９は、信頼度判定の対象であった特徴点および対応点を用いた動きベクトルの検出は行わない。
【００８１】
本実施例によれば、入力画像（前フレーム画像）を複数の画像ブロックに分割した上で画像ブロックごとに画像解析結果に応じた抽出方法を用いて特徴点を抽出するため、入力画像から、均一な分布で、かつ正しく特徴点を抽出することができる。しかも、基準画像（前フレーム画像）内の特徴点に対応する参照画像（後フレーム画像）内の対応点を求めたときに、特徴点と対応点の信頼度が低い場合には動きベクトルの検出は行わないようにしたので、検出される動きベクトルの信頼性を高めることができる。
【００８２】
【表１】
0006584083.tif 000007
【実施例２】
【００８３】
図１１には、本発明の実施例２である画像処理装置１１００の構成を示す。本実施例において、実施例１（図１）と共通する構成要素には実施例１と同符号を付す。
【００８４】
本実施例の画像処理装置１１００は、図１に示した画像解析部１０３に代えて、画像解析部１１０１を有する。また、本実施例の画像処理装置１１００では、実施例１において図３に示すように特徴抽出部１０６内に含まれていた特徴評価部１１０２が、画像解析部１１０１とテンプレートマッチング部１０７との間に配置されている。
【００８５】
実施例１の画像処理装置１００では、画像解析部１０３をバンドパスフィルタ部１０４と特徴抽出部１０６の前に配置した。これにより、画像解析において画素値として輝度値を用い、また画像解析の結果をバンドパスフィルタの周波数特性、特徴フィルタとそのパラメータ値および特徴評価式の選択に用いた。これに対して、本実施例の画像処理装置１１００では、画像解析部１１０１をバンドパスフィルタ部１０４と特徴抽出部１０６の後に配置している。これにより、特徴抽出部１０６によって得られた特徴値を用いて画像解析を行う。画像解析の結果、低コントラスト、低ピークまたは繰り返しパターンの判定がなされた場合は、バンドパスフィルタ部１０４と特徴評価部１１０２は、バンドパスフィルタの周波数特性、特徴フィルタとそのパラメータ値および特徴評価式を選択し直す（変更する）。そして、再度、バンドパスフィルタ処理および特徴点抽出処理を行う。
【００８６】
図１２のフローチャートには、本実施例の画像処理装置１１００における画像処理全体の流れを示している。この処理は、全体がコンピュータにより構成された画像処理装置１１００がコンピュータプログラムである画像処理プログラムに従って実行する。なお、図１２中のステップのうち図５に示したステップと共通するものについては、図５と同ステップ番号を付して説明を省略する。
【００８７】
ステップＳ５０１およびステップＳ５０２を経た後のステップＳ１２０１では、バンドパスフィルタ部１０４は、ステップＳ５０２で分割された前フレーム画像ブロックごとおよび後フレーム画像ブロックごとにバンドパスフィルタ処理を行う。１回目の本ステップでは、まだ画像解析が行われていないので、バンドパスフィルタ部１０４はバンドパスフィルタの周波数特性をデフォルトの周波数特性に設定する。本実施例では、デフォルトの周波数特性として、中域を通過帯域とするように設定する。
【００８８】
２回目以降の本ステップでは、バンドパスフィルタ部１０４は、バンドパスフィルタの周波数特性を、後述するステップＳ１２０３にて行われる画像解析の結果に応じて前フレーム画像ブロックごとおよび後フレーム画像ブロックごとに選択する。画像解析の結果とバンドパスフィルタの周波数特性との関係は実施例１と同じである。
【００８９】
ステップＳ１２０２では、特徴点抽出部１０６は、ステップＳ１２０１でバンドパスフィルタ処理された各前フレーム画像ブロックに対して特徴フィルタによるフィルタ処理を行い、さらに特徴点の候補点に対して特徴評価式を用いて特徴値を算出する。１回目の本ステップでも、まだ画像解析が行われていないので、特徴点抽出部１０６はデフォルトの特徴フィルタとそのパラメータ値および特徴評価式を設定する。なお、本ステップでも、特徴点抽出部１０６は、実施例１と同様に、特徴値が最大である候補点をその前フレーム画像ブロックの特徴点として決定する。
【００９０】
本実施例では、水平および垂直微分フィルタとして１次微分フィルタをデフォルトで採用するとともに、平滑化フィルタとして式（１）に示したフィルタ係数Ｇ（ｘ，ｙ）におけるσを１としたガウシアンフィルタをデフォルトで採用する。また、実施例１で説明したHarris corner検出器の特徴評価式（式（３））をデフォルトで採用する。
【００９１】
２回目以降の本ステップでは、特徴点抽出部１０６は、後述するステップＳ１２０３にて行われる画像解析の結果に応じて特徴フィルタとそのパラメータ値および特徴評価式を前フレーム画像ブロックごとに選択する。後述のステップＳ１２０３において行う画像解析の結果からグリッドごとに変更する。画像解析の結果と特徴フィルタ、そのパラメータ値および特徴評価式との関係は実施例１と同じである。
【００９２】
ステップＳ１２０３では、画像解析部１１０１は、前フレーム画像ブロックごとに、画像解析として、実施例１で説明した低コントラスト判定、画素値の最大値突出判定および繰り返しパターン判定を行う。この際、画像解析部１０３は、画像ブロックの画素値としてステップＳ１２０２で算出した特徴値を用い、該特徴値の最大値、最小値、平均値および極大値をそれぞれ求めて上記３つの判定に用いる。
【００９３】
図６（ａ）は上記３つの判定が良好な結果、つまりは画像ブロックで検出された特徴点の信頼度は高いとの結果が得られる場合を示している。図６（ｂ）は、特徴値の最大値と最小値との差が所定の閾値よりも小さい場合、すなわちその特徴点が抽出された画像ブロックは低コントラストであると判定される場合を示している。図６（ｃ）は、特徴値の最大値と平均値の差を特徴値の最大値と最小値の差で除して得られる評価値が所定の閾値よりも小さい場合、すなわち画像ブロックは低ピークであると判定される場合を示している。なお、上記評価値が閾値よりも大きい場合は、その特徴点が抽出された画像ブロックは高ピークであると判定される。図６（ｄ）は、特徴値の最大値と極大値との差が所定の閾値よりも小さい場合、すなわちその特徴点が抽出された画像ブロックの画像は繰り返しパターンであると判定される場合を示している。このように、その特徴点が抽出された画像ブロックが低コントラストであるとの判定、該画像ブロックは低ピークであるとの判定および該画像ブロックの画像が繰り返しパターンであるとの判定は、抽出された特徴点の信頼度が低いとの判定と同義である。
【００９４】
ステップＳ１２０４では、特徴評価部１１０２は、ステップＳ１２０３での特徴点の信頼度の判定結果に応じてバンドパスフィルタ処理および特徴点抽出処理を再度行うか否かを選択（判定）する。上述した低コントラスト、低ピークおよび繰り返しパターンの判定（特徴点の信頼度が低いとの判定）がなされた場合は、ステップＳ１２０１およびステップＳ１２０２に戻る。ステップＳ１２０１では、バンドパスフィルタ部１０４は、画像解析の結果に応じてバンドパスフィルタの周波数特性を変更する。そして、特徴点の信頼度判定の対象であった前フレーム画像ブロックとこれに対応する後フレーム画像ブロックに対して、変更後の周波数特性を有するバンドパスフィルタを適用して、再度バンドパスフィルタ処理を行う。また、ステップＳ１２０２では、特徴点抽出部１０６は、画像解析の結果に応じて、特徴フィルタとそのパラメータ値および特徴評価式を変更する。そして、変更後の周波数特性のパンドパスフィルタによりパンドパスフィルタ処理された前フレーム画像ブロックに対して、変更後の特徴フィルタ、パラメータ値および特徴評価式を用いて特徴点抽出処理を行う。
【００９５】
ステップＳ１２０４で、低コントラスト、低ピークおよび繰り返しパターンのいずれの判定もなされなかった（特徴点の信頼度が高いとの判定がなされた）場合は、ステップＳ５０６〜Ｓ５０８に進む。そして、本処理を終了する。
【００９６】
本実施例では、入力画像（前フレーム画像）を複数の画像ブロックに分割し、該画像ブロックごとに特徴点を抽出する。そして、その後の画像ブロックごとの画像解析の結果、特徴点の信頼度が低いと判定された場合は、画像解析結果（信頼度）に応じた抽出方法を用いて再度、特徴点を抽出する。このため、入力画像から、均一な分布で、かつ正しく特徴点を抽出することができる。
【００９７】
しかも、前述した実施例１では、１回の画像解析の結果に応じてバンドパスフィルタの周波数特性、特徴フィルタとそのパラメータ値および特徴評価値を選択してこれらを固定する。この方法では、信頼度判定部１０８により特徴点と対応点の信頼度が低いと判定されまで処理が進み、結果的にそれらの特徴点と対応点を用いた動きベクトルの算出が行われずに処理が終了する。
【００９８】
これに対して、本実施例では、特徴値を算出した時点で画像解析を行い、特徴点の信頼性が確保されるまでバンドパスフィルタの周波数特性や特徴フィルタ等を変更しながらバンドパスフィルタ処理および特徴点抽出処理を行う。これにより、信頼度判定部１０８により特徴点と対応点の信頼度が低いと判定される場合、つまりは動きベクトルが検出されない画像ブロックを実施例１よりも少なくすることができる。
【実施例３】
【００９９】
図１５には、実施例１または実施例２で説明した画像処理装置（図１５には符号３００を付している）を含むデジタルスチルカメラやビデオカメラ等の撮像装置５００を示している。
【０１００】
撮像装置５００は、撮像光学系５０１により形成された被写体像を撮像（光電変換）するＣＭＯＳセンサやＣＣＤセンサ等の撮像素子（撮像手段）５０２と、該撮像素子５０２からの出力信号を用いて映像信号を生成する映像信号生成部５０３とを有する。映像信号は、記録媒体５０４に記録されたり、モニタ５０５に表示されたりする。なお、撮像光学系５０１は、撮像装置５００に一体に設けられていてもよいし、撮像装置５００に対して交換可能に設けられていてもよい。
撮像装置５００内の画像処理装置３００は、映像信号生成部５０３にて生成された映像信号のフレーム画像を入力画像として実施例１または実施例２で説明した画像処理を行うことで、動きベクトルを検出する。本実施例では、この検出される動きベクトルは、撮像装置５００を手で持って撮像を行っているユーザの手振れに起因する映像振れに対応するものである。
【０１０１】
撮像装置５００には、いわゆる電子防振動作を行う電子防振部（防振手段）５０６も設けられている。電子防振部５０６は、画像処理装置３００により検出された動きベクトルの情報を用いて、映像信号生成部５０３にて生成された映像信号（連続フレーム画像）から記録用または表示用に切り出す範囲をシフトさせる。これにより、記録映像または表示映像の振れを低減（補正）する。なお、電子防振部５０６に電子防振動作を行わせるか否かは、ユーザが任意に選択することができる。
【０１０２】
なお、検出された動きベクトルの情報を用いて撮像光学系５０１内の光学素子や撮像素子５０２をシフトさせるいわゆる光学防振動作を行うことで、映像信号生成部５０３にて生成される映像信号における映像振れを低減してもよい。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０３】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【０１０４】
１００  画像処理装置
１０２  グリッド分割部
１０３  画像解析部
１０６  特徴点抽出部
１００１  特徴点
【図１】
0006584083.tif 000008
【図２】
0006584083.tif 000009
【図３】
0006584083.tif 000010
【図４】
0006584083.tif 000011
【図５】
0006584083.tif 000012
【図６】
0006584083.tif 000013
【図７】
0006584083.tif 000014
【図８】
0006584083.tif 000015
【図９】
0006584083.tif 000016
【図１０】
0006584083.tif 000017
【図１１】
0006584083.tif 000018
【図１２】
0006584083.tif 000019
【図１３】
0006584083.tif 000020
【図１４】
0006584083.tif 000021
【図１５】
0006584083.tif 000022