(57)【要約】【課題】  非合焦領域の広い画像からも十分な個数の特徴点を精度よく検出するための、処理の負荷が小さい技術を提供する。【解決手段】  撮像画像を解析して特徴点を検出する情報処理装置は、検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する検出手段と、前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換手段と、検出された前記特徴点の個数と前記第１の目標値とに基づき第２の目標値を設定して、前記検出手段に前記第２の画像から特徴点を検出させる制御手段とを備える。【選択図】  図２
2015005221.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像を解析して特徴点を検出する情報処理装置であって、
検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する検出手段と、
前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換手段と、
検出された前記特徴点の個数と前記第１の目標値とに基づき第２の目標値を設定して、前記検出手段に前記第２の画像から特徴点を検出させる制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記変換手段は、前記検出手段が検出した特徴点の個数が前記第１の目標値に達していない場合に、前記画像変換処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出手段は、
前記第１の画像を構成する画素毎に、特徴点としての性質の大きさを表すスコア情報を取得し、
前記スコア情報が所定の閾値よりも大きい画素を特徴点として検出する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記検出手段は、前記スコア情報が所定の閾値よりも大きい画素の個数が前記目標値よりも大きい場合は、前記スコア情報の大きさが上位のものから目標値の個数の画素を前記特徴点として検出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御手段は、
前記変換手段に、前記第２の画像に対して画像変換処理を行い第３の画像を取得させ、
前記検出手段が前記第２の画像から検出した特徴点の個数と前記第２の目標値とに基づき第３の目標値を設定して、前記検出手段に前記第３の画像から特徴点を検出させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
撮像画像を解析して特徴点を検出する情報処理装置であって、
検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する検出手段と、
前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換手段と、
前記第１の目標値を設定して前記検出手段に前記第２の画像から特徴点を検出させ、当該検出された特徴点から、前記第１の画像から検出された特徴点の個数と前記第１の目標値とに基づき決定される第２の目標値を目標とする個数の特徴点を前記第２の画像の特徴点として取得する制御手段と
を備える
ことを特徴とする情報処理装置。
【請求項７】
前記変換手段は、前記画像変換処理として、解像度変換処理と、フィルタ処理と、色調変換処理との少なくともいずれかを行うことを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
撮像を行い前記第１の画像を取得する撮像手段を更に備える請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
撮像画像を解析して特徴点を検出する情報処理装置であって、
検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する第１の検出手段と、
前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換手段と、
検出された前記特徴点の個数と前記第１の目標値とに基づき第２の目標値を設定して、前記第２の画像から特徴点を検出する第２の検出手段と
を備えることを特徴とする情報処理装置。
【請求項１０】
撮像画像を解析して特徴点を検出する情報処理装置であって、
検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する第１の検出手段と、
前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換手段と、
前記第１の目標値を設定して、前記第２の画像から特徴点を検出する第２の検出手段と、
前記第２の検出手段が検出した特徴点から、前記第１の画像から検出された特徴点の個数と前記第１の目標値とに基づき決定される第２の目標値を目標とする個数の特徴点を前記第２の画像の特徴点として取得する取得手段と
を備えることを特徴とする情報処理装置。
【請求項１１】
撮像画像を解析して特徴点を検出する、情報処理装置の各手段が実行する情報処理方法であって、
検出手段が、検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する検出工程と、
変換手段が、前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換工程と、
制御手段が、検出された前記特徴点の個数と前記第１の目標値とに基づき第２の目標値を設定して、前記検出手段に前記第２の画像から特徴点を検出させる制御工程と
を備えることを特徴とする情報処理方法。
【請求項１２】
撮像画像を解析して特徴点を検出する情報処理装置の各手段が実行する情報処理方法であって、
検出手段が、検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する検出工程と、
変換手段が、前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換工程と、
制御手段が、前記第１の目標値を設定して前記検出手段に前記第２の画像から特徴点を検出させ、当該検出された特徴点から、前記第１の画像から検出された特徴点の個数と前記第１の目標値とに基づき決定される第２の目標値を目標とする個数の特徴点を前記第２の画像の特徴点として取得する制御工程と
を備える
ことを特徴とする情報処理方法。
【請求項１３】
撮像画像を解析して特徴点を検出する情報処理装置の各手段が実行する情報処理方法であって、
第１の検出手段が、検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する第１の検出工程と、
変換手段が、前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換工程と、
第２の検出手段が、検出された前記特徴点の個数と前記第１の目標値とに基づき第２の目標値を設定して、前記第２の画像から特徴点を検出する第２の検出工程と
を備えることを特徴とする情報処理方法。
【請求項１４】
撮像画像を解析して特徴点を検出する情報処理装置の各手段が実行する情報処理方法であって、
第１の検出手段が、検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する第１の検出工程と、
変換手段が、前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換工程と、
第２の検出手段が、前記第１の目標値を設定して、前記第２の画像から特徴点を検出する第２の検出工程と、
取得手段が、前記第２の検出手段が検出した特徴点から、前記第１の画像から検出された特徴点の個数と前記第１の目標値とに基づき決定される第２の目標値を目標とする個数の特徴点を前記第２の画像の特徴点として取得する取得工程と
を備えることを特徴とする情報処理方法。
【請求項１５】
コンピュータを請求項１から１０のいずれか１項に記載の情報処理装置が備える各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の特徴点を検出する情報処理装置、情報処理方法、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
コンピュータビジョン分野には、特徴点検出（もしくは、特徴点抽出）と呼ばれる処理がある。特徴点検出とは、被写体を撮像して得られた画像において、被写体を際立って検出できる画像上の点を特徴点として検出する処理をいう。非特許文献１によれば、特徴点検出の方式には、ハリス作用素など、様々な方式が存在する。
【０００３】
特徴点検出は、例えば、次のように応用できる。連続する画像から特徴点を検出し、これらの特徴点の特徴量を算出する。さらに、画像間でこの特徴量の類似性が最も高い特徴点同士を対応付けた場合、その相対位置は特徴点の移動量とみなすことができる。この移動量から、特徴点が含まれる被写体や画像全体の動きを求めることが可能となる。例えば、画像に手ブレによる動きが含まれている場合、移動量を補正する形で幾何変換を行えば手ブレ補正処理を行うことが可能となる。また、左右２つの画像から構成されるステレオ画像から特徴点を検出した場合、画像間で対応付けられた特徴点の相対位置から、三角測量の原理を用いて特徴点の奥行きを推定することができる。つまり、ステレオ画像から３次元画像を構成することができる。その他、画像検索、画像認識などにも応用することができ、特徴点検出の産業上の利用範囲は広い。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】金澤靖，金谷健一，「コンピュータビジョンのための画像の特徴点の抽出」，電子情報通信学会誌  Ｖｏｌ．８７，  Ｎｏ．１２，ｐｐ１０４３−１０４８，  ２００４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
焦点深度の浅く非合焦領域の広い画像などの特徴点が検出しにくい画像から特徴点を検出する場合、設定した目標数の特徴点を検出できない場合がある。そのため、特徴点検出を行う従来の構成においては、ブレ補正処理など、求めた特徴点の結果を用いて実行する処理の性能が低下するという課題があった。
【０００６】
本発明は上記課題に鑑みなされたものであり、非合焦領域の広い画像からも十分な個数の特徴点を精度よく検出するための、処理の負荷が小さい技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明による情報処理装置は以下の構成を備える。即ち、
撮像画像を解析して特徴点を検出する情報処理装置であって、
検出すべき特徴点の個数を示す第１の目標値を設定して、第１の画像から特徴点を検出する検出手段と、
前記第１の画像に対して画像変換処理を行い第２の画像を取得する変換手段と、
検出された前記特徴点の個数と前記第１の目標値とに基づき第２の目標値を設定して、前記検出手段に前記第２の画像から特徴点を検出させる制御手段と
を備える。
【発明の効果】
【０００８】
本発明によれば、非合焦領域の広い画像からも十分な個数の特徴点を精度よく検出するための、処理の負荷が小さい技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】特徴点検出処理を実行する装置の構成を説明する図。
【図２】特徴点検出処理の手順を説明するフロー図。
【図３】画素毎の特徴点検出処理を説明するフロー図。
【図４】画像毎の特徴点情報の可変長配列のフォーマット例を説明する図。
【図５】上位抽出処理を説明するフロー図。
【図６】特徴点実検出と目標数の計算の例を示す図。
【図７】画像分割の例を説明する図。
【図８】特徴点検出処理の手順を説明するフロー図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。
【００１１】
＜＜実施形態１＞＞
本実施形態の特徴点検出処理では、目標値を設定して撮影画像から特徴点を検出し、当該画像を変換画像に変換し、検出された特徴点の個数と目標値とに基づき新たな目標値を設定して、変換画像から特徴点を検出する、という処理を再帰的に繰り返す。これにより、非合焦領域の広い撮影画像から所定の個数の特徴点を取得するために、例えば、特徴点検出に使われるフィルタのサイズを大きくするなどの手法よりも、小さい処理の負荷で十分な個数の特徴点を精度よく検出することが可能となる。
【００１２】
（ＰＣの構成）
本実施形態では、ディスプレイ（表示装置）が接続された情報処理装置としてのＰＣ（パーソナルコンピュータ）内で、ＣＰＵ（中央演算処理装置）が撮像画像を解析して特徴点を検出するための各処理を行う。以下、ＰＣの構成と各モジュールの動作について、図１（ａ）を参照して説明する。図１（ａ）は、ＰＣの内部構成を説明する図である。
【００１３】
１００１はバスであり、ＰＣ内でのデータの流れを司る。１００２はＲＡＭ（書込み可能メモリ）であり、ＣＰＵのワークエリア等として機能する。１００３はグラフィックプロセッサであり、ディスプレイに画像を表示する際に必要となる計算処理を行うプロセッサである。１００４はディスプレイであり、ユーザＩ／Ｆから入力されたコマンドや、それに対するＰＣの応答出力等を表示する表示装置である。１００５はＣＰＵであり、オペレーティングシステム（ＯＳ）やアプリケーションプログラム等のコンピュータプログラムに基づいて他の構成要素と協働し、ＰＣ全体の動作を制御する。１００６はユーザＩ／Ｆであり、ユーザからの指示やコマンドの入力を受け付ける。本実施形態では、ユーザＩ／Ｆはタッチパネルにより実現されるが、これに限定されず、例えば、キーボード、ポインティングデバイスなどでもよい。１００７は不揮発性の外部ストレージであり、大容量メモリとして機能する。本実施形態では、ハードディスク装置（以下、ＨＤと呼ぶ）により実現されるが、ＳＳＤ等の他の記憶方式を用いてもよい。１００８はネットワークＩ／Ｆであり、外部装置とのデータのやり取りを中継する。１００９はカメラなどの外部撮像部であり、被写体を撮像して撮像画像を取得する。
【００１４】
本実施形態では、実行されるプラグラムおよびデータは、外部ストレージ１００７に記録されており、これらをＲＡＭ１００２へ入力し、ＣＰＵ１００５が実行および処理する構成をとる。プログラムおよびデータはバス１００１を介して入出力が行われる。画像データの入力は、特に説明しない限り、外部ストレージ１００７から画像データを読み込み、内部画像フォーマットに変換することにより行う。もっとも、画像の入力は、外部撮像部１００９やネットワークＩ／Ｆ１００８から行うことも可能である。本実施形態の特徴点検出で扱う内部画像は、輝度成分のみで構成された８ビットのフォーマットの画像である。ＵＩ（ユーザインターフェース）画面や処理画像結果は、グラフィックプロセッサ１００３を介して、ディスプレイ１００４上に表示することができる。グラフィックプロセッサは、入力した画像の幾何変換を行うことが可能で、変換した画像をＲＡＭ１００２に記憶したり、ディスプレイ１００４に直接出力したりすることも可能である。ユーザＩ／Ｆ１００６は、ディスプレイ１００４上の任意の座標位置でタッチされたか否かの情報を入力することができる。処理データは、外部ストレージ１００７に記録したりＲＡＭ１００２に記憶したりして、他のプログラムと共有することができる。
【００１５】
なお、本実施形態では、特徴点検出処理を行う情報処理装置をＰＣにより実現する例を説明するが、これに限られない。本実施形態に係る特徴点検出処理は、カメラ装置、組込みシステム、タブレット端末、スマートフォン等の情報処理を行うどのような情報機器を用いて実現することができる。実施形態７では、カメラ装置を用いて構成した場合について説明する。
【００１６】
（特徴点検出処理）
本実施形態では、目標値（ｄｍａｘ）に基づく画像からの特徴点検出、画像変換、新たな目標値の決定、当該目標値に基づく変換画像からの特徴点検出、という処理を、検出済みの特徴点の累計値が当所の目標値に達するまで再帰的に繰り返す。以下、ＰＣが実行する特徴点検出処理の具体的な動作について、図２を参照して説明する。図２は、本実施形態に係る特徴点検出処理の全体の手順を説明するフロー図である。なお、特に説明しない限り、ステップ番号順に、それぞれのステップが実行される。ただし、互いに依存関係のない独立した処理についてはステップ順に処理を実行する必要はなく、順序を入れ替えて実行することも可能である。
【００１７】
本実施形態では、入力画像から、スケール率パラメータｓ［１］＝１／４，  ｓ［２］＝１／１６，  ｓ［３］＝１／２５６で縮小画像を生成し、処理を行う場合を一例として説明する。つまり、等倍の入力画像を合わせた４スケール（スケール数＝４）でマルチスケール処理がなされる。なお、スケール数、スケール率は、これに限定されるものではない。
【００１８】
Ｓ１０１０では、制御変数ｉを０で初期化する。Ｓ１０２０では、特徴点の検出対象となる画像を入力する。以後、入力画像を画像［０］と表す。
【００１９】
Ｓ１０３０では、変数ｄｍａｘに検出する特徴点の個数の目標数を設定する。この目標数は、画像サイズや特徴点検出の用途により異なるが、固定値を用いたり、あるいは、画像サイズ等に基づいて決定したりすることができる。画像サイズに基づいて決定する手法としては、例えば、画像サイズを画素数で表した上で、当該画素数をｓｉｚｅ、画像サイズのｋ％を検出目標として、ｄｍａｘ＝（ｋ／１００）×ｓｉｚｅという計算式を用いて決定することができる。以下、本実施形態では、ｋ＝０．０５とする。
【００２０】
Ｓ１０４０では、画像［ｉ］に対し、図３で示されるフローに従い画素毎の特徴点検出処理をサブルーチンとして実行し、ｄｍａｘを目標数として特徴点を検出する。画素毎の特徴点検出処理では、処理対象の画像の各画素についてスコアを算出し、スコアの値が所定の閾値よりも大きい画素を特徴点として検出する。ただし、本実施形態におけるスコア（スコア情報）は、処理対象の画像を構成する画素の、特徴点としての性質の大きさを表す値であり、公知の特徴点検出アルゴリズムにより画素毎に算出されるものとして説明する。本実施形態ではスコアが大きいほど特徴点の性質が大きいが、スコア算出方法によっては、スコアの値が小さいほど特徴点としての性質の大きい場合もありうる。本実施形態の手法はいずれの場合にも適用可能である。本実施形態では、検出した一特徴点の情報は、特徴点の座標とスコアとを含む構造体として表され、これを特徴点情報と呼ぶことにする。この特徴点情報は、特徴点情報を要素とする二次元の特徴点情報配列に格納される。具体的には、画像［ｉ］の特徴点情報の集合が特徴点情報配列［ｉ］に格納される。
【００２１】
特徴点情報配列［ｉ］自体は、一次元の可変長配列として構成され、本実施形態ではスケール数が４であるので、この可変長配列が４つ存在することになる。次に、可変長配列の動作について説明する。可変長配列は、初期状態は要素数が０であり、画像［ｉ］の特徴点検出数に応じて、特徴点情報配列［ｉ］に要素が追加される構成をとる。例えば、要素のインデックスをｊとすると、特徴点情報配列［ｉ］［ｊ］を参照することにより、特徴点情報にアクセスできる。
【００２２】
次に、可変長配列のフォーマットについて説明する。図４は、画像毎の特徴点情報の可変長配列のフォーマット例を説明する図である。図４では、１行が、可変長配列の一つの要素、つまり、特徴点情報を表している。図４において、「ｘ座標」、「ｙ座標」は特徴点の画像における位置を示す座標であり、「スコア」は特徴点としての性質の大きさを示す値である。
【００２３】
図３のサブルーチンに示される画素毎の特徴点検出処理を行う際は、特徴点情報配列［ｉ］のアドレスと目標数としてｄｍａｘを設定する。アドレスの受け渡しによって共有される特徴点情報配列の追加・変更の結果は、本フロー、および、他のプログラムから共有されうる。また、画素毎の特徴点検出処理において検出された特徴点数を戻り値として受け取り、変数ｄに代入する。画素毎の特徴点検出処理の詳細については後述する。
【００２４】
Ｓ１０５０では、制御変数ｉを１だけインクリメントする。Ｓ１０６０では、制御変数ｉが、スケール数（前述の例では、４）を超えるか否かを判定し、スケール数を超える場合（Ｓ１０６０でＹＥＳ）には、本フローを終了し、超えない場合（Ｓ１０６０でＮＯ）には、Ｓ１０７０に遷移する。
【００２５】
Ｓ１０７０では、ｓ［ｉ］をスケール率パラメータとして縮小された画像を取得する。以後、ｓ［ｉ］をパラメータとして変換されたを画像［ｉ］と表す。取得手法に限定はなく、本ステップで縮小画像を生成してもよいし、あらかじめ生成されている縮小画像を入力してもよい。例えば、ｉ＝１の場合はスケール率パラメータｓ［１］＝１／４であるので、面積比が１／４になるように画像［０］を縦横それぞれ２分の１に縮小して得られる画像を取得する。
【００２６】
Ｓ１０８０では、ｄｍａｘ−ｄを計算し、ｄｍａｘに代入する。新しいｄｍａｘ値は、ループ終了判定、および、次のループ処理で使われる。Ｓ１０９０ではｄｍａｘが０であるか否かを判定する。ｄｍａｘが０の場合（Ｓ１０９０でＹＥＳ）は処理を終了し、０でない場合（Ｓ１０９０でＮＯ）にはＳ１０４０に遷移する。このように複数の縮小画像に対してループ処理が実行され、マルチスケール処理による特徴点検出が実行される。
【００２７】
（画素毎の特徴点検出）
次に、図２のＳ１０４０で実行される画素毎の特徴点検出処理について、図３を参照して説明する。図３は画素毎の特徴点検出処理の手順を示すフロー図である。画素毎の特徴点検出処理では、処理対象の画像の各画素についてスコアを算出し、スコアが所定の閾値を超える画素、又は、スコアの大きさが上位のものから目標値の個数の画素を特徴点として検出する。なお、本実施形態ではスコアが大きいほど特徴点の性質が大きいものとして説明したが、スコアの算出方式によっては、スコアが小さいほど特徴点の性質が大きい場合もある。この場合には、スコア上位の特徴点を抽出する代わりにスコア下位の特徴点を抽出すればよい。
【００２８】
Ｓ３０００では、サブルーチンの呼び出し元から配列のアドレスと特徴点の目標数を受け取り、ｄｍａｘ’に目標数を代入する。Ｓ３０１０では制御変数ｘを０で初期化する。Ｓ３０２０では対象画素のスコアＳをハリス作用素により算出する。本ステップは、繰り返し実行されるたびに、ラスタ順に画素を走査しながら対象画素を設定する。
【００２９】
Ｓ３０３０では、Ｓと予め定められた閾値との大小を比較する。Ｓが閾値を超える場合（Ｓ３０３０でＹＥＳ）にはＳ３０４０へ遷移し、Ｓが閾値以下の場合（Ｓ３０３０でＮＯ）にはＳ３０６０へ遷移する。本実施形態では、閾値は定数として説明するが、外部から設定できる可変数であってもよい。
【００３０】
Ｓ３０４０ではｘを１だけインクリメントする。Ｓ３０５０では、配列のアドレス、対象画素の特徴点情報、目標数であるｄｍａｘ’を入力として、図５で示されるフローのサブルーチンを実行し、上位抽出処理を行う。上位抽出処理では、検出された特徴点の個数がｄｍａｘ’を超えたときは、検出済みの特徴点のうちスコアが上位のものからｄｍａｘ’個を特徴点として検出する処理を行う。上位抽出処理の詳細は、図５を参照して後述する。Ｓ３０６０では、画像内の画素の処理が全て終了したかを判定する。終了している場合（Ｓ３０６０でＹＥＳ）にはＳ３０７０へ遷移し、未終了の場合（Ｓ３０６０でＮＯ）にはＳ３０２０へ遷移する。
【００３１】
Ｓ３０７０では、ｍｉｎ（ｄｍａｘ’，ｘ）の計算結果を戻り値としてサブルーチンの呼び出し元（すなわち、図２のＳ１０４０）に返す。関数ｍｉｎ（ｘ，ｙ）は、二つの引数ｘ、ｙの大小を比較して、小さい値を返す関数である。上位抽出処理が特徴点の検出数をｄｍａｘ’に制限しているため、実検出数がｄｍａｘ’を超えることはない。
【００３２】
（上位抽出処理）
次に、図３のＳ３０５０で実行される上位抽出処理について、図５のフローを参照して説明する。図５は、上位抽出処理を説明するフロー図である。
【００３３】
Ｓ４０１０では，サブルーチンの呼び出し元から、特徴点情報配列のアドレス、対象画素の特徴点情報、目標数を受け取り、特徴点情報をＦとし、ｄｍａｘ’’に受け取った目標数を代入する。
【００３４】
Ｓ４０２０では，配列の要素数とｄｍａｘ’’との大小を比較し、要素数とｄｍａｘ’’とが等しい場合（Ｓ４０２０でＹＥＳ）にはＳ４０３０に遷移し、異なる場合（Ｓ４０２０でＮＯ）にはＳ４０６０に遷移する。Ｓ４０３０では、配列の要素の中からスコア値が最小の特徴点情報を探索し、Ｆｍｉｎとして取得する。
【００３５】
Ｓ４０４０では、ＦのスコアとＦｍｉｎのスコアとの大小を比較し、Ｆのスコアが大きい場合（Ｓ４０４０でＹＥＳ）にはＳ４０５０へ遷移し、それ以外の場合（Ｓ４０４０でＮＯ）には処理を終了する。
【００３６】
Ｓ４０５０では、配列のＦｍｉｎの位置に特徴点情報Ｆを上書きして、上位抽出処理を終了する。Ｓ４０６０では、配列の後尾にＦを追加して、上位抽出処理を終了する。このように、スコアの最小値を探索し、その要素を次々に入れ替えることにより、配列にはスコア上位の特徴点情報が格納されることになる。
【００３７】
検出する特徴点を無制限にすると特徴点を利用する他のプログラムの処理量が増えるため、検出の目標数を設定しその数以下に検出数を抑えることは重要なことである。しかし、逆に、必要な検出数が得られない場合、特徴点を利用する他のプログラムの処理結果に対する精度は低下する。本実施形態によれば、入力画像から特徴点が十分な数検出できない場合にのみ、縮小画像から特徴点を検出することによって、あらかじめ設定した目標数に近い特徴点を検出することができる。そのような場合の例について、図６を参照して説明する。図６は、特徴点実検出と目標数の計算の例である。この例では、画像から１０００点の特徴点を検出することを目標とする。等倍画像から９８点の特徴点を検出した場合、１０００−９８の計算結果９０２が次のスケールの画像に対する特徴点検出の検出の目標数になる。同様に、目標数と検出数の差から、各スケール画像の目標数の設定を繰り返すことによって、各スケール画像で特徴点を見つけ、合計１０００点の特徴点を見つけることができる。また、図６は、等倍画像のみから特徴点を検出する場合、９８点しか検出できないことも示している。
【００３８】
次に、本方式と他方式の比較について説明する。特徴点が十分な数、検出できないケースとしては、画像の焦点深度の浅く非合焦領域の広い場合、すなわち、画像がボケている場合があげられる。このようにボケた画像（以下、「ボケ画像」という）から特徴点検出を行うには、特徴点検出に使われるフィルタのサイズを大きくするなどの手法がある。しかし、この手法は、処理量の増加につながり、デメリットが大きい。本方式は、比較的小さい、かつ、固定サイズのフィルタを用いても、縮小処理を併用することにより、ボケ画像から特徴点を検出することが可能となる。また、これらの処理を、より小さな縮小画像を取得しながら、連続的に繰り返すことによって、画像ボケの程度が様々な画像にも対応することができる。
【００３９】
（他の構成）
本実施形態では、画像全体の処理フローとして説明したが、それに限定されない。例えば、図７のように、画像を格子状に分割して分割画像を生成し、この分割画像の各々に対し、特徴点検出目標数を設定し特徴点を検出する構成をとってもよい。図７は、画像を格子状に分割した状態を説明している。斜線はフォーカスの合焦領域を示し、白地は非合焦領域を示す。分割画像ごとに目標数の特徴点を設定し特徴点検出を行うと、画面全体から均等に特徴点を検出することが可能となる。しかし、本方式を利用せずに、被写界深度が浅い画像を分割して処理する場合、非合焦領域ではボケが大きく、その分割画像領域から特徴点検出を行うことが難しい。画像分割と本方式を併用することにより、ボケた領域からも特徴点検出が可能となり、画面均等に特徴点を検出しつつ、目標数に近い特徴点を検出することが可能となる。
【００４０】
本実施形態では、画像変換処理として、画像を縮小する解像度変換処理の場合の例について説明しているが、拡大処理を行ってもよい。拡大により、画像の特性が変化するため、等倍画像では検出できなかった特徴点を検出できる可能性が向上する。また、拡大画像から特徴点を検出することにより、特徴点座標の精度が向上するメリットもある。
【００４１】
本実施形態では、上位抽出法に関して、スコアの最小値を探索し、次々に入れ替えるという手法を取ったがそれに限定されず、例えば、都度、ソート処理を行って、最小値を取得する構成をとってもよい。
【００４２】
また、本実施形態では、画像から特徴点を検出する処理をＣＰＵ１００５の制御に基づき実行する場合を説明したが、複数の縮小画像にそれぞれ対応する複数の検出装置を設け、それぞれが特徴点を検出してもよい。
【００４３】
＜＜実施形態２＞＞
本発明の第二の実施形態について説明する。本実施形態では、特徴点検出処理において、特徴点検出と変換画像毎の目標値の設定を異なるループで処理する例について説明する。本実施形態では、変換画像の特徴点検出処理が変換前の画像の特徴点検出処理の結果に依存しないため、複数の特徴点検出処理を並列に実行することができる。なお、本実施形態の動作および構成の多くは実施形態１と共通するので、実施形態１との相違点を中心に説明する。
【００４４】
（特徴点検出処理）
以下、特徴点検出処理の具体的な処理について、図８を参照して説明する。図８は、本実施形態に係る特徴点検出処理を説明するフロー図である。
【００４５】
本実施形態では、入力画像から、スケール率パラメータ、ｓ［１］＝１／４，  ｓ［２］＝１／１６，  ｓ［３］＝１／２５６の縮小画像を生成し、処理を行う場合を一例として説明する。
【００４６】
Ｓ２０１０では、制御変数ｉを０で初期化する。Ｓ２０２０では、特徴点の検出対象となる画像を入力する。以後、入力画像を画像［０］と表す。Ｓ２０３０では、変数ｄｍａｘに特徴点検出の目標数を設定する。
【００４７】
Ｓ２０４０では、画像［ｉ］に対し、図３のフローで示される画素毎の特徴点検出処理をサブルーチンとして実行し、ｄｍａｘを上限数とする特徴点を検出する。Ｓ２０４０では、二次元配列である一時配列を使用する。この一時配列は、４つの可変長配列からなり、画像［ｉ］の可変長配列を一時配列［ｉ］として表す。サブルーチンへは、一時配列［ｉ］のアドレスと目標数としてｄｍａｘを設定する。また、検出できた特徴点数を戻り値として受け取り、特徴点数を変数ｄ［ｉ］に代入する。画素毎の特徴点検出処理、及び、そのサブルーチンとなる上位抽出処理の内容は実施形態１と同様であるため、詳細な説明は省略する。
【００４８】
Ｓ２０５０では、ｉを１だけインクリメントする。Ｓ２０６０では、ｉが、スケール数を超えるか否かを判定し、スケール数を超える場合（Ｓ２０６０でＹＥＳ）にはＳ２０８０に遷移し、超えない場合（Ｓ２０６０でＮＯ）にはＳ２０７０に遷移する。
【００４９】
Ｓ２０７０では、ｓ［ｉ］をスケール率パラメータとして縮小された画像を取得する。以後、Ｓ２０４０に遷移しループ処理を繰り返す。なお、このループ処理は、並列に行うことも可能である。
【００５０】
Ｓ２０８０では、制御変数ｉを０で初期化するＳ２０９０では、ｄｍａｘとｄ［ｉ］との大小を比較し、小さい値をｄに代入する。すなわち、ｄにｍｉｎ（ｄｍａｘ，ｄ［ｉ］）を代入する。Ｓ２１００では、一時配列［ｉ］に格納された特徴点情報から、スコアの上位ｄ個の特徴点を他のプログラムが共有可能なメモリ領域へ格納する。Ｓ２１１０では、ｄｍａｘ−ｄを計算し、ｄｍａｘに代入する。新しいｄｍａｘ値は、ループ終了判定、および、次のループ処理で使われる。Ｓ２１２０では、ｉを１だけインクリメントする。
【００５１】
Ｓ２１３０では、ｄｍａｘ＝０となるか、または、ｉがスケール数を超えるかを判定する。これらの少なくともいずれかが成立する場合（Ｓ２１３０でＹＥＳ）は処理を終了し、偽の場合（Ｓ２１３０でＮＯ）にはＳ２０９０に遷移する。以後、処理が終了するまで、ループ処理が繰り返される。
【００５２】
本実施形態によれば、実施形態１と同様の効果を得ることができる。また、処理をＳ２０１０からＳ２０７０の特徴点検出フェーズと、Ｓ２０８０からＳ２１３０の特徴点上位抽出フェーズにわけている。特徴点検出フェーズでは、ｄｍａｘが固定であることから、縮小画像ごとのループ処理に依存関係がない。このため、ある大きさの縮小画像に対する画素毎の特徴点検出処理（Ｓ２０４０）が完了していない間も、次の縮小画像に対して画素毎の特徴点検出処理を行うことができる。したがって、本実施形態によれば、各縮小画像の特徴点検出処理を並列に実行することが可能である。また、特徴点を利用するプログラム、例えば、特徴量算出プログラムの特徴量算出処理と特徴点上位抽出フェーズを並列して実行することも可能である。この場合、特徴点検出フェーズで得た全ての特徴点の特徴量を算出し、特徴点上位抽出フェーズ終了後に、抽出処理における下位の特徴点とその特徴量を破棄する。このような構成をとることにより、等倍画像を優先する形で、目標数の特徴点とその特徴量を抽出することができる。
【００５３】
＜＜実施形態３＞＞
本発明の第三の実施形態について説明する。本実施形態では、特徴点検出処理において、画像を変換する処理としてノイズリダクションのためのフィルタ処理を用いた場合の例を説明する。なお、本実施形態の動作および構成の多くは実施形態１と共通するので、本実施形態に特有の構成を中心に説明する。
【００５４】
（特徴点検出処理）
本実施形態では、入力画像をノイズリダクションパラメータ、ｓ［１］＝１０，  ｓ［２］＝２０，  ｓ［３］＝３０の３段階でノイズリダクション処理を行った画像を扱う場合を一例として説明する。なお、処理画像数、パラメータは、これに限定されない。
【００５５】
以下、特徴点検出処理の具体的な処理について、図２を参照して説明する。図２のＳ１０７０において、実施形態１では、パラメータｓ［ｉ］で縮小された画像［ｉ］を取得していた。本実施形態では、縮小画像を取得する代わりに、ｓ［ｉ］をεパラメータとして、εフィルタによるノイズリダクション処理がなされた画像を取得する。取得手法に限定はなく、本ステップでノイズリダクション処理を生成してもよいし、あらかじめノイズリダクション処理が施された画像を入力してもよい。また、あらかじめノイズリダクション処理が施された処理画像を入力して取得する場合、処理画像は、入力画像に対し、フィルタ係数がそれぞれ異なるノイズリダクション処理を施したものであってもよい。あるいは、処理画像に対し同一のフィルタ係数のノイズリダクション処理を多重に施したものを処理画像として取得してもよい。
【００５６】
特徴点の検出方式によっては、ノイズのある画像から特徴点を検出することは難しい。また、ノイズリダクション処理は、その効果を強めると、画像のボケの程度が大きくなることが多い。画像のボケの程度が大きい場合、特徴点検出が難しくなる。本実施形態によれば、入力画像にノイズが多く、特徴点が十分な数検出できない場合に、ノイズリダクション画像から特徴点を検出することによって、あらかじめ設定した特徴点検出目標数に近い数の特徴点を検出することができる。また、ノイズリダクションを順次行うことにより、ボケの程度が大きすぎて特徴点が見つからなくなるリスクが軽減される。
【００５７】
本実施形態は、図２のフローに従ってノイズリダクション処理を施した画像を取得する場合について説明したが、それに限定はなく、図８のフローに従って処理をしてもよい。また、フィルタ処理も、εフィルタに限定されず、ガウシアンフィルタ、メディアンフィルタなど他のフィルタを用いてもよい。
【００５８】
＜＜実施形態４＞＞
本発明の第四の実施形態について説明する。本実施形態では、特徴点検出処理において、画像を変換する処理として色調変換処理を用いた場合、特に、ガンマ変換処理を用いた場合の例を説明する。なお、本実施形態の動作および構成の多くは実施形態１と共通するので、本実施形態に特有の構成を中心に説明する。
【００５９】
（特徴点検出処理）
本実施形態では、入力画像を、ガンマ変換パラメータ、ｓ［１］＝１．２，  ｓ［２］＝０．８でガンマ変換処理を行う場合を一例として説明する。つまり、ガンマ変換を行わない入力画像を含めて３つの画像で処理がなされる。なお、処理画像数、パラメータは、これに限定されるものではない。
【００６０】
以下、特徴点検出処理の具体的な処理について、図２を参照して説明する。図２のＳ１０７０において、実施形態１では、パラメータｓ［ｉ］で縮小された画像［ｉ］を取得していた。本実施形態では、縮小画像を取得する代わりに、ｓ［ｉ］をガンマ値として、ガンマ変換処理がなされた画像を取得する。なお、画像の取得手法に限定はなく、本ステップでガンマ変換処理画像を生成してもよいし、あらかじめ生成してあった画像を入力する構成をとってもよい。
【００６１】
一般に、コントラスの低い画像から特徴点を検出することは難しい。ガンマ変換を施すと、特定の輝度レンジのコントラストが向上する。つまり、コントラスト特性が異なる画像を生成できる。本実施形態によれば、入力画像のコントラストが低く、特徴点が十分な数検出できない場合に、ガンマ変換画像から特徴点を検出することによって、特徴点を検出しやすくなる。その結果、複数の画像の総計で、あらかじめ設定した目標数に近い特徴点を検出することが可能となる。
【００６２】
本実施形態は、図２のフローに従って、ガンマ変換画像処理を施した画像を取得する場合について説明したが、それに限定はなく、図８のフローに従って処理をしてもよい。また、ガンマ変換画像処理に限定されず、ゲインやオフセット調整による色調補正を行ってもよい。ゲインやオフセットを調整した画像から特徴点を検出することによって、ガンマ変換した画像と同様の効果が得られる。
【００６３】
＜＜実施形態５＞＞
本発明の第五の実施形態について説明する。本実施形態では、特徴点検出処理において、目標数の計算に上限値を設定する例について説明する。なお、本実施形態の動作および構成の多くは実施形態１と共通するので、本実施形態に特有の構成を中心に説明する。
【００６４】
（特徴点検出処理）
以下、特徴点検出処理の具体的な処理について図２を参照して説明する。実施形態１と同様に、入力画像を、スケール率パラメータ、ｓ［１］＝１／４，  ｓ［２］＝１／１６，  ｓ［３］＝１／２５６で縮小した画像を生成し、処理を行う場合を一例として説明する。
【００６５】
図２のＳ１０８０において、実施形態１では、ｄｍａｘ−ｄを計算し、ｄｍａｘに代入していた。本実施形態では、ｄｍａｘ−ｄを計算する代わりに、ｍｉｎ（ｄｍａｘ−ｄ，ｍａｘ［ｉ］）を計算し、ｄｍａｘに代入する。前述のように、関数ｍｉｎ（ｘ，ｙ）は、二つの引数ｘ、ｙの大小を比較して、小さい値を戻り値とする関数である。ｍａｘ［ｉ］は、あらかじめ設定したｉ番目のスケールごとの特徴点検出数の上限である。例えば、画像サイズを画素数で表した場合、当該画素数をｓｉｚｅ、画像サイズのｋ％を検出上限とすると、ｍａｘ［ｉ］＝（ｋ／１００）×ｓｉｚｅ×ｓ［ｉ］とう計算式で算出することができる。本実施形態では、ｋ＝０．０５とする。
【００６６】
本実施形態では、ｄｍａｘ−ｄの値がｍａｘ［ｉ］よりも大きい場合は次の目標値はｍａｘ［ｉ］に設定される。このように、本実施形態では、縮小画像ごとに解像度に応じて特徴点検出数の上限を設けることができるため、不要な特徴点を抑制することができる。なお、本実施形態では、Ｓ１０７０において縮小画像を取得する場合について説明したが、実施形態３、４のように、フィルタ処理、色調変換処理を施した画像を取得する構成をとることもできる。この場合、実施形態３、４と同様の効果を得ることができる。
【００６７】
＜＜実施形態６＞＞
本発明の第六の実施形態について説明する。本実施形態では、特徴点検出処理において、目標数の計算に下限値を設定する例について説明する。なお、本実施形態の動作および構成の多くは実施形態１と共通するので、本実施形態に特有の構成を中心に説明する。
【００６８】
（特徴点検出処理）
以下、特徴点検出処理の具体的な動作について、図２を参照して説明する。実施形態１と同様に、入力画像を、スケール率パラメータ、ｓ［１］＝１／４，  ｓ［２］＝１／１６，  ｓ［３］＝１／２５６で縮小画像を生成し、処理を行う場合を一例として説明する。
【００６９】
図２のＳ１０８０において、実施形態１では、ｄｍａｘ−ｄを計算し、ｄｍａｘに代入していた。本実施形態では、ｄｍａｘ−ｄを計算する代わりに、ｍａｘ（ｄｍａｘ−ｄ，ｄｍｉｎ）を計算し、ｄｍａｘに代入する。関数ｍａｘ（ｘ，ｙ）は、二つの引数ｘ、ｙの大小を比較して、大きい値を戻り値とする関数である。ｄｍｉｎは、あらかじめ設定した入力画像、あるいは、縮小画像から検出される特徴点数の下限である。本実施形態では、ｄｍａｘ−ｄの値がｄｍｉｎよりも小さい場合は、次の目標値はｄｍｉｎに設定される。本実施形態では、ｄｍｉｎ＝１００とする。
【００７０】
特徴点検出結果は、ブレ補正や、画像検、画像認識など、さまざまな用途に使用することができる。そのため、できるだけ多様な特性をもつ特徴点を検出・保存しておくことは、特徴点検出結果の流用性を高めることになる。そして、異なる解像度から検出した特徴点の特性は異なる。本実施形態では、縮小画像ごとに目標の下限値を設けることにより、縮小画像においても最低限の数の特徴点を検出することができる。つまり、特徴点検出結果を利用する処理は、より多様な特性を持つ特徴点を利用することができる。各処理は、処理毎に特徴点を選別して使うことができる。
【００７１】
本実施形態では、Ｓ１０７０で縮小画像を取得する場合について説明したが、実施形態３、４のように、それぞれ、フィルタ処理、色調変換処理を施した画像を取得する構成をとることもできる。この結果、それぞれ、実施形態３、４と同様の効果を得ることができる。
【００７２】
＜＜実施形態７＞＞
第一の実施形態から第六の実施形態では特徴点検出処理がＰＣ内で行われる例を説明したが、本実施形態では、ＰＣ以外の装置で実行される例について説明する。本実施形態では、特に、特徴点検出機能を持つカメラ装置を例に説明する。なお、本実施形態の動作および構成の多くは実施形態２と共通するので、本実施形態に特有の構成を中心に説明する。
【００７３】
（カメラ装置の構成）
図１（ｂ）は、カメラ装置の構成を説明する図である。図１（ｂ）のカメラ装置の構成および動作は、多くが図１（ａ）と同等であるが、図１（ａ）の外部撮像部１００９の代わりに、図１（ｂ）では、撮像を行い画像を取得する撮像手段としての撮像部１０１０が追加されている。撮像部１０１０は、センサおよびセンサ画像をデジタル画像に変換する回路である。撮像部１０１０が撮像して取得した撮像画像は、ＲＡＭ１００２に保存される。
【００７４】
更に、カメラ装置にはＰＣに比べて、特徴点検出部１０１４、画像変換部１０１１が追加されている。特徴点検出部１０１４は、撮像部１０１０が取得した撮像画像から特徴点を検出する構成要素であり、画像変換部１０１１は、撮像画像に対して、解像度変換、ノイズリダクション、色調変換等の画像処理を行う構成要素である。
【００７５】
特徴点検出部１０１４内には、撮像画像を構成する各画素についてスコアを算出する特徴点スコア算出部１０１２、及び、スコアが上位の画素を特徴点として抽出する上位抽出部１０１３が存在する。画像変換部１０１１内には、解像度変換部１０１５、フィルタ部１０１６、色調変換部１０１７が存在する。解像度変換部１０１５は撮像画像の解像度を変換する構成要素である。フィルタ部１０１６は、撮像画像に対してノイズリダクションを行うためのフィルタリング処理を行う構成要素である。色調変換部１０１７は撮像画像の色調を変換する構成要素である。ＰＣを用いた前述の実施形態では、これらの構成は、ＣＰＵ１００５がプログラムに基づきハードウェア資源の動作を制御することにより実現されたが、本実施形態では、専用の回路により実現される場合の例を説明する。
【００７６】
なお、カメラ装置は前述の実施形態と同様に、バス１００１、ＲＡＭ１００２、グラフィックプロセッサ１００３、ディスプレイ１００４、ＣＰＵ１００５、ユーザＩ／Ｆ１００６、外部ストレージ１００７、及びネットワークＩ／Ｆ１００８を有する。これらの機能は前述の実施形態と同様である。
【００７７】
（特徴点検出処理）
本カメラ装置内部では、実施形態２で説明した図８のフローが実行される。ただし、ＣＰＵ１００５で実行していたＳ２０４０の処理が、特徴点検出部１０１４の中の特徴点スコア算出部１０１２で行われる。また、Ｓ２１１０で実行していた処理が、上位抽出部１０１３にて行われる。他の処理は、ＣＰＵ１００５で実行される。ただし、本実施形態では、図８のフローの実行前に、画像変換部１０１１が解像度変換部１０１５を用いて縮小画像を生成しておく。
【００７８】
以下、追加された回路の動作に関して説明する。解像度変換部１０１５は、縮小画像を生成する。ＲＡＭ１００２に保存された撮像画像を読み出して縮小し、縮小画像をＲＡＭ１００２に保存する。縮小アルゴリズムはバイリニア法、バイキュービック法などがあるが、ここでは特にその手法を限定しない。
【００７９】
特徴点スコア算出部１０１２は、ＲＡＭ１００２に保存された撮像画像、もしくは、縮小画像から、ラスタ順で画素を読み出し、画素ごとに特徴点スコアを算出する回路である。算出された特徴点スコアは、スコアが閾値よりも大きい場合に、特徴点座標情報ともに上位抽出部１０１３へ出力される。
【００８０】
上位抽出部１０１３は、スコアが高い特徴点を目標数で設定された数だけ抽出する回路である。ＣＰＵ１００５は、図８のＳ２１１０において、実施形態１で図２のＳ１０８０を参照して説明したように、ｄｍａｘ−ｄを計算して、その計算結果を目標数ｄｍａｘとして設定する。ただし、上限数算出の式に限定はなく、実施形態５や実施形態６で説明した計算式、すなわち、ｍｉｎ（ｄｍａｘ−ｄ，ｍａｘ［ｉ］）やｍａｘ（ｄｍａｘ−ｄ，ｄｍｉｎ）を用いることも可能である。
【００８１】
上位抽出部１０１３は、特徴点スコア算出部１０１２から出力された特徴点スコアに基づいて、特徴点スコア上位の特徴点情報を目標数だけ抽出する。この処理は、実施形態１において図５を参照して説明した上位抽出処理と同様である。また、画像内の全画素の処理が終了した時点で、保持していた特徴点情報を、実施形態１で図４を参照して説明した可変長配列のフォーマットとして、ＲＡＭ１００２に保存する。保存された特徴点情報は、他の処理モジュールで用いられる。
【００８２】
ＣＰＵ１００５は、ユーザの指示に従って、ユーザＩ／Ｆ１００６が発生させた撮像信号を受け取る。このとき、撮像部１０１０を制御して、画像を撮像する。また、画像変換部１０１１、特徴点スコア算出部１０１２、上位抽出部１０１３を制御し、撮像画像および縮小画像から特徴点を検出する。
【００８３】
特徴点検出は、例えば、動画の手ブレ補正処理に応用できる。動画像から、連続的に特徴点を検出し、画像間で特徴点のマッチングをとることにより、特徴点の移動量が算出できる。個々の特徴点の移動量から画面全体の移動量を求め、それを補正する形で幾何変換を行うことによりブレを補正が行える。
【００８４】
なお、本実施形態では、上位抽出部１０１３が、特徴点スコアの上位点を抽出する場合について説明しているが、それに限定されず、ＣＰＵ１００５が処理を行う構成をとってもよい。また、画像変換は、画像変換部１０１１が行う場合につき説明しているが、ＣＰＵ１００５が行うなどの構成をとってもよい。
【００８５】
本実施形態では、画像全体を一度に処理する場合について説明したが、これに限定されない。例えば、図７のように、画像を格子状に分割して分割画像を生成し、この分割画像に対し特徴点検出目標数を設定し特徴点を検出する構成をとってもよい。また、特徴点検出部を複数持ち、分割画像毎に異なる特徴点検出部がそれぞれ特徴点を検出する構成をとってもよい。
【００８６】
本実施形態では、図８のフローに従うとして説明したが、フローに限定はなく、図２のフローに従って処理を行ってもよい。また、ここでは、画像変換部１０１１が解像度変換部１０１５を用いて画像を縮小する場合について説明をした。しかし、画像変換部のフィルタ部１０１６は、εフィルタ処理を実行して、ノイズリダクション画像を生成してＲＡＭ１００２に保存することができる。また、色調変換部１０１７は、ガンマ変換、ゲイン調整、オフセット調整を行うことが可能で、処理画像をＲＡＭ１００２に保存することができる。これらの機能を利用することで、実施形態３、４で説明したフローを実行し、フィルタ部１０１６がフィルタ処理、色調変換部１０１７がガンマ変換処理を行う構成をとることもできる。この結果それぞれ実施形態３、４の構成と同様の効果を得ることができる。
【００８７】
以上のように、上記構成は、設定した目標数の特徴点を入力画像から検出できない場合、入力画像を変換した画像から、同じ特徴点検出器を用いて、不足分の特徴点を検出する。このため、ボケ画像等の特徴点が検出しにくい画像から特徴点を検出する場合のように、入力画像そのものから十分かつ適切な特徴点を検出することが困難な場合でも、より目標数に近い数の特徴点を検出することができる。そのため、求めた特徴点の結果を用いて実行する処理の性能を改善することができる。
【００８８】
＜＜その他の実施形態＞＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015005221.tif 000003
【図２】
2015005221.tif 000004
【図３】
2015005221.tif 000005
【図４】
2015005221.tif 000006
【図５】
2015005221.tif 000007
【図６】
2015005221.tif 000008
【図７】
2015005221.tif 000009
【図８】
2015005221.tif 000010