(57)【特許請求の範囲】
【請求項１】
画像中のある関心点に関する複数の標本点について、前記標本点における画像の方向を示す方向情報を、前記標本点ごとに算出する標本点方向算出部と、
前記標本点方向算出部が前記標本点ごとに算出した複数の前記方向情報を、前記画像の方向が示す角度の順に並べ替える並べ替え部と、
前記方向情報と、所定の算出条件とに基づいて、当該方向情報の有用度を前記方向情報ごとに算出する有用度算出部と、
前記有用度算出部が前記方向情報ごとに算出した前記有用度について、前記並べ替え部が並べ替えた前記方向情報の順に累積した有用度累積値を、前記方向情報ごとに前記方向情報に関連付けて算出する累積値算出部と、
前記累積値算出部が算出した複数の前記有用度累積値にそれぞれ関連づけられた前記方向情報と、当該方向情報に対して段階的にそのウインドウ幅を順次変化させて設定されるスキャンウインドウとに基づいて、前記スキャンウインドウのうち前記ウインドウ幅が相対的に広い第１スキャンウインドウによる前記方向情報のスキャン回数を、前記ウインドウ幅が相対的に狭い第２スキャンウインドウによる前記方向情報のスキャン回数よりも少なくした間引きスキャンによって、前記関心点の方向を算出する関心点方向算出部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記関心点方向算出部は、
前記順に並べられた前記方向情報のうち前記順の向きに所定の幅ぶん離れた複数の前記方向情報を前記スキャンウインドウによって抽出し、抽出された当該方向情報にそれぞれ関連付けられた当該複数の前記有用度累積値に基づいて、前記関心点の方向を算出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記関心点方向算出部は、
前記順に並べられた前記方向情報のうち前記順の向きに所定の幅ぶん離れた２つの前記方向情報を前記スキャンウインドウによって抽出し、抽出された当該方向情報にそれぞれ関連付けられた前記有用度累積値どうしの差分を、前記方向情報ごとに算出し、算出された前記差分が極値である前記方向情報に基づいて、前記関心点の方向を算出する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
情報処理装置が、画像中のある関心点に関する複数の標本点について、前記標本点における画像の方向を示す方向情報を、前記標本点ごとに算出する標本点方向算出ステップと、
前記情報処理装置が、前記標本点方向算出ステップにおいて前記標本点ごとに算出された複数の前記方向情報を、前記画像の方向が示す角度の順に並べ替える並べ替えステップと、
前記情報処理装置が、前記方向情報と、所定の算出条件とに基づいて、当該方向情報の有用度を前記方向情報ごとに算出する有用度算出ステップと、
前記情報処理装置が、前記有用度算出ステップにおいて前記方向情報ごとに算出された前記有用度について、前記並べ替え部が並べ替えた前記方向情報の順に累積した有用度累積値を、前記方向情報ごとに前記方向情報に関連付けて算出する累積値算出ステップと、
前記情報処理装置が、前記累積値算出ステップにおいて算出された複数の前記有用度累積値にそれぞれ関連づけられた前記方向情報と、当該方向情報に対して段階的にそのウインドウ幅を順次変化させて設定されるスキャンウインドウとに基づいて、前記スキャンウインドウのうち前記ウインドウ幅が相対的に広い第１スキャンウインドウによる前記方向情報のスキャン回数を、前記ウインドウ幅が相対的に狭い第２スキャンウインドウによる前記方向情報のスキャン回数よりも少なくした間引きスキャンによって、前記関心点の方向を算出する関心点方向算出ステップと、
を有することを特徴とする情報処理方法。
【請求項５】
情報処理装置が備えるコンピュータに
画像中のある関心点に関する複数の標本点について、前記標本点における画像の方向を示す方向情報を、前記標本点ごとに算出する標本点方向算出ステップと、
前記標本点方向算出ステップにおいて前記標本点ごとに算出された複数の前記方向情報を、前記画像の方向が示す角度の順に並べ替える並べ替えステップと、
前記方向情報と、所定の算出条件とに基づいて、当該方向情報の有用度を前記方向情報ごとに算出する有用度算出ステップと、
前記有用度算出ステップにおいて前記方向情報ごとに算出された前記有用度について、前記並べ替え部が並べ替えた前記方向情報の順に累積した有用度累積値を、前記方向情報ごとに前記方向情報に関連付けて算出する累積値算出ステップと、
前記累積値算出ステップにおいて算出された複数の前記有用度累積値にそれぞれ関連づけられた前記方向情報と、当該方向情報に対して段階的にそのウインドウ幅を順次変化させて設定されるスキャンウインドウとに基づいて、前記スキャンウインドウのうち前記ウインドウ幅が相対的に広い第１スキャンウインドウによる前記方向情報のスキャン回数を、前記ウインドウ幅が相対的に狭い第２スキャンウインドウによる前記方向情報のスキャン回数よりも少なくした間引きスキャンによって、前記関心点の方向を算出する関心点方向算出ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関するものである。
【背景技術】
【０００２】
カメラ撮影などで得られた画像（以下、対象画像）に対して、予め用意した複数の候補画像の中から類似した画像を検索するための、画像処理技術が研究開発されている。
このような画像処理技術においては、一般的には、予め候補画像に対して画像特徴量を記述しておき、検索時に対象画像に対しても画像特徴量を算出して、それら画像特徴量の類似度を計測することで類似した候補画像を決定することが行われる。また、この画像特徴量の算出においては、画像中の特徴的な箇所を関心点として算出し、関心点近傍における画像信号の変化量を特徴量記述子として得ることが行われる。このとき特徴量記述子は複数の数値により構成され、特徴量空間におけるベクトル量として扱うことができる。
【０００３】
関心点の算出や特徴量記述方法の従来の方法としては、画像にデジタルフィルタを適用して所定の条件を満たす箇所を関心点として算出し、関心点近傍にデジタルフィルタを適用して関心点の方向を決定し、関心点を原点とし、関心点の方向を軸にした座標空間におけるデジタルフィルタ応答の群を特徴量記述子とする方法がある。
この関心点の算出に関する従来の方法としては、関心点に求められる特徴（対象画像や候補画像それぞれにおいて、同等な点が同等に選択される）を備えるために、画像内のｘ、ｙおよびスケール次元で構成する３次元空間から、例えばヘッセの行列式の最小検査によって、関心点を選択する方法がある。
また、この関心点の方向を決定する従来の方法としては、関心点を取り囲む領域内に設ける、それぞれが複数の画素を含む複数のタイルに対し、ｘ方向とｙ方向のデジタルフィルタを適用してコントラスト関連の応答を生成し、関心点方向を決定する方法がある。すなわち、この関心点の方向を決定する従来の方法としては、各タイルからｘ方向ｙ方向成分を持つベクトルを算出し、各タイルから算出されたベクトルを向き決定ウィンドウ毎に合成し、その合成ベクトルのなかから、最大ベクトルを選択することで関心点方向を決定する方法がある。
そのデジタルフィルタの適用としては、積分画像上の該当するタイルへ、ｘ方向とｙ方向のボックスフィルタそれぞれを適用する方法がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４９８２５５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来の情報処理装置には、関心点ベクトルを算出するための計算コストが大きく、関心点ベクトルを算出するための演算に時間がかかるという問題があった。
【０００６】
本発明は、上記問題に鑑みてなされたものであり、関心点を用いたデジタル画像処理に要する計算コストを低減することができる情報処理装置、情報処理方法、およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
（１）上記問題を解決するために、本発明の一態様は、画像中のある関心点に関する複数の標本点について、前記標本点における画像の方向を示す方向情報を、前記標本点ごとに算出する標本点方向算出部と、前記標本点方向算出部が前記標本点ごとに算出した複数の前記方向情報を、前記画像の方向が示す角度の順に並べ替える並べ替え部と、前記方向情報と、所定の算出条件とに基づいて、当該方向情報の有用度を前記方向情報ごとに算出する有用度算出部と、前記有用度算出部が前記方向情報ごとに算出した前記有用度について、前記並べ替え部が並べ替えた前記方向情報の順に累積した有用度累積値を、前記方向情報ごとに前記方向情報に関連付けて算出する累積値算出部と、前記累積値算出部が算出した複数の前記有用度累積値にそれぞれ関連づけられた前記方向情報と、当該方向情報に対して段階的にそのウインドウ幅を順次変化させて設定されるスキャンウインドウとに基づいて、前記スキャンウインドウのうち前記ウインドウ幅が相対的に広い第１スキャンウインドウによる前記方向情報のスキャン回数を、前記ウインドウ幅が相対的に狭い第２スキャンウインドウによる前記方向情報のスキャン回数よりも少なくした間引きスキャンによって、前記関心点の方向を算出する関心点方向算出部と、を備えることを特徴とする情報処理装置である。
【０００８】
（２）また、本発明の一態様は、（１）に記載の情報処理装置において、前記関心点方向算出部は、前記順に並べられた前記方向情報のうち前記順の向きに所定の幅ぶん離れた複数の前記方向情報を前記スキャンウインドウによって抽出し、抽出された当該方向情報にそれぞれ関連付けられた当該複数の前記有用度累積値に基づいて、前記関心点の方向を算出することを特徴とする。
【０００９】
（３）また、本発明の一態様は、（２）に記載の情報処理装置において、前記関心点方向算出部は、前記順に並べられた前記方向情報のうち前記順の向きに所定の幅ぶん離れた２つの前記方向情報を前記スキャンウインドウによって抽出し、抽出された当該方向情報にそれぞれ関連付けられた前記有用度累積値どうしの差分を、前記方向情報ごとに算出し、算出された前記差分が極値である前記方向情報に基づいて、前記関心点の方向を算出することを特徴とする。
【００１０】
（４）また、本発明の一態様は、情報処理装置が、画像中のある関心点に関する複数の標本点について、前記標本点における画像の方向を示す方向情報を、前記標本点ごとに算出する標本点方向算出ステップと、前記情報処理装置が、前記標本点方向算出ステップにおいて前記標本点ごとに算出された複数の前記方向情報を、前記画像の方向が示す角度の順に並べ替える並べ替えステップと、前記情報処理装置が、前記方向情報と、所定の算出条件とに基づいて、当該方向情報の有用度を前記方向情報ごとに算出する有用度算出ステップと、前記情報処理装置が、前記有用度算出ステップにおいて前記方向情報ごとに算出された前記有用度について、前記並べ替え部が並べ替えた前記方向情報の順に累積した有用度累積値を、前記方向情報ごとに前記方向情報に関連付けて算出する累積値算出ステップと、前記情報処理装置が、前記累積値算出ステップにおいて算出された複数の前記有用度累積値にそれぞれ関連づけられた前記方向情報と、当該方向情報に対して段階的にそのウインドウ幅を順次変化させて設定されるスキャンウインドウとに基づいて、前記スキャンウインドウのうち前記ウインドウ幅が相対的に広い第１スキャンウインドウによる前記方向情報のスキャン回数を、前記ウインドウ幅が相対的に狭い第２スキャンウインドウによる前記方向情報のスキャン回数よりも少なくした間引きスキャンによって、前記関心点の方向を算出する関心点方向算出ステップと、を有することを特徴とする情報処理方法である。
【００１１】
（５）また、本発明の一態様は、情報処理装置が備えるコンピュータに画像中のある関心点に関する複数の標本点について、前記標本点における画像の方向を示す方向情報を、前記標本点ごとに算出する標本点方向算出ステップと、前記標本点方向算出ステップにおいて前記標本点ごとに算出された複数の前記方向情報を、前記画像の方向が示す角度の順に並べ替える並べ替えステップと、前記方向情報と、所定の算出条件とに基づいて、当該方向情報の有用度を前記方向情報ごとに算出する有用度算出ステップと、前記有用度算出ステップにおいて前記方向情報ごとに算出された前記有用度について、前記並べ替え部が並べ替えた前記方向情報の順に累積した有用度累積値を、前記方向情報ごとに前記方向情報に関連付けて算出する累積値算出ステップと、前記累積値算出ステップにおいて算出された複数の前記有用度累積値にそれぞれ関連づけられた前記方向情報と、当該方向情報に対して段階的にそのウインドウ幅を順次変化させて設定されるスキャンウインドウとに基づいて、前記スキャンウインドウのうち前記ウインドウ幅が相対的に広い第１スキャンウインドウによる前記方向情報のスキャン回数を、前記ウインドウ幅が相対的に狭い第２スキャンウインドウによる前記方向情報のスキャン回数よりも少なくした間引きスキャンによって、前記関心点の方向を算出する関心点方向算出ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１２】
本発明によれば、関心点を用いたデジタル画像処理に要する計算コストを低減することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態による情報処理装置の機能構成の一例を示すブロック図である。
【図２】本実施形態のデジタル画像の標本点の構成の一例を示す模式図である。
【図３】本実施形態の情報処理装置の動作の一例を示すフローチャートである。
【図４】本実施形態の記憶部に記憶される標本ベクトル情報の一例を示す表である。
【図５】本実施形態の関心点方向算出部が設定するスキャンウインドウの一例を示す模式図である。
【図６】本実施形態の関心点方向算出部が関心点の方向を算出する手順の一例を示す模式図である。
【図７】実施形態の記憶部に記憶される標本ベクトル情報の変形例を示す表である。
【図８】本実施形態の情報処理装置による方向算出手順の変形例を示す模式図である。
【図９】本実施形態の情報処理装置による方向算出手順の変形例である間引きスキャンの一例を示す模式図である。
【発明を実施するための形態】
【００１４】
［実施形態］
以下、図面を参照して、本発明の実施の形態について説明する。
図１は、本発明の実施形態による情報処理装置１の機能構成の一例を示すブロック図である。ここで、情報処理装置１の機能構成の詳細の説明に先立って、情報処理装置１が行う処理の概要について説明する。本実施形態の情報処理装置１は、デジタル画像を構成する複数の点（例えば、画素）のうち、特徴的な点（関心点）に基づいて、デジタル画像の特徴を判定する。一例として、この情報処理装置１は、判定対象のデジタル画像（対象画像）について、複数のデジタル画像（候補画像）の中から、この対象画像に類似する画像を検索（選択）する。この具体例において情報処理装置１は、デジタル画像内のある画素を、画像の特徴を示す関心点として選択し、選択した関心点における画像の方向（関心点方向）に基づいて、候補画像の中から、対象画像に類似する画像を検索（選択）する。この関心点の選択は、さまざまな条件に基づいて行われる。以下、あるデジタル画像について、何らかの条件に基づいて関心点が選択されている場合において、この関心点における画像の方向、すなわち関心点方向を算出する仕組みについて説明する。
【００１５】
図２は、本実施形態のデジタル画像ＰＩＣの標本点ＰＳの構成の一例を示す模式図である。この標本点ＰＳは、図２に示すｘ軸方向およびｙ軸方向に、格子状に配列される。なお、この図２は、ある関心点ＰＣに関する複数の標本点ＰＳを示している。この標本点ＰＳの間隔は、例えば、関心点ＰＣごとに予め定められている、１ｓ（ｓは、スケールを示す。）である。
【００１６】
ここで、このデジタル画像ＰＩＣのうち、ある条件によって選択された点を関心点ＰＣと称する。また、この関心点ＰＣの周囲のある範囲に含まれる複数の点を標本点ＰＳと称する。すなわち、標本点ＰＳとは、関心点ＰＣの周囲のある範囲に含まれる複数の点である。この一例においては、関心点ＰＣの周囲のある範囲を範囲Ｃ６ｓと称する。ここで、範囲Ｃ６ｓとは、関心点ＰＣの周囲６ｓの円形の範囲である。範囲Ｃ６ｓについて、関心点ＰＣの位置が範囲Ｃ６ｓに含まれる場合と、関心点ＰＣの位置が範囲Ｃ６ｓに含まれない場合とがある。図２に示す一例において、関心点ＰＣの位置が範囲Ｃ６ｓに含まれる場合には、この範囲Ｃ６ｓの内部には、１１３点の標本点ＰＳが含まれる。図２に示す一例において、関心点ＰＣの位置が範囲Ｃ６ｓに含まれない場合、この範囲Ｃ６ｓの内部には、１１２点の標本点ＰＳが含まれる。以下の説明においては、関心点ＰＣの位置が範囲Ｃ６ｓに含まれる場合を、一例として説明する。すなわち、この一例の場合、範囲Ｃ６ｓの内部には、１１３点の標本点ＰＳが含まれる。換言すれば、この一例の場合、ある関心点ＰＣに関する標本点ＰＳの数は、１１３点である。これらの標本点ＰＳは、標本点番号ｎによって識別される。具体的には、標本点ＰＳ１は、標本点番号１である。また、標本点ＰＳ１１３は、標本点番号１１３である。なお、以下の説明において、この標本点ＰＳを、サンプル点とも称する。
【００１７】
情報処理装置１は、この関心点ＰＣの周囲の複数の標本点ＰＳそれぞれについて、画像的な方向を算出し、算出した標本点ＰＳの画像的なベクトル（標本ベクトル）の分布に基づいて、関心点ＰＣの方向を算出する。具体的には、標本点ＰＳの標本ベクトルＶＳとは、標本点ＰＳにおける画像の方向および大きさを示すベクトルである。標本点ＰＳの画像の方向とは、標本点ＰＳの周囲の画像のデジタル応答に基づいて算出される方向である。また、標本点ＰＳの画像の大きさとは、標本点ＰＳの周囲の画像のデジタル応答に基づいて算出される大きさである。この一例においては、標本点ＰＳの標本ベクトルＶＳは、標本点ＰＳのウエーブレット応答（ｄｘ，ｄｙ）に基づいて算出される。具体的には、情報処理装置１は、ある関心点ＰＣについて、その周囲の標本点ＰＳのウエーブレット応答（ｄｘ，ｄｙ）を算出する。また、情報処理装置１は、算出した標本点ＰＳのウエーブレット応答（ｄｘ，ｄｙ）を次に示す式（１）および式（２）に代入することにより、標本点ＰＳごとに、標本点ＰＳについての角度θおよび大きさｒ、すなわち、標本点ＰＳにおける標本ベクトルＶＳを算出する。
【００１８】
【数１】
0006002744.tif 000002
【００１９】
【数２】
0006002744.tif 000003
【００２０】
ここで、標本点ＰＳについての角度θを標本点ＰＳの方向とも称する。また、標本点ＰＳについての大きさｒを標本点ＰＳの大きさとも称する。情報処理装置１は、このようにして算出した標本点ＰＳの向きの分布に基づいて、関心点ＰＣの方向を算出する。以下、この情報処理装置１が行う関心点ＰＣの方向の算出の仕組みの詳細について説明する。
【００２１】
図１に戻り、情報処理装置１は、制御部１０と、記憶部２０とを備えている。制御部１０は、ＣＰＵ（Central  Processing  Unit）を備えており、各種の演算を実行する。記憶部２０は、フラッシュメモリ、ＨＤＤ（Hard  Disk  Drive）、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、レジスタなどの記憶装置を備えており制御部１０が利用する情報が記憶される。この記憶部２０には、制御部１０のＣＰＵが実行するプログラムが予め格納される。また、記憶部２０には、ＣＰＵが演算処理を行った演算結果が格納される。また、記憶部２０には、デジタル画像ＰＩＣの情報が記憶されている。
【００２２】
この制御部１０は、その機能部として画像情報取得部１０１と、関心点抽出部１０２と、標本ベクトル算出部１０３と、並べ替え部１１１と、有用度算出部１１２と、累積値算出部１１３と、画像検索部１０４と、検索結果出力部１０５と、方向算出部１１０とを備えている。
【００２３】
画像情報取得部１０１は、記憶部２０に記憶されているデジタル画像ＰＩＣの情報（画像情報）を取得する。この一例においては、候補画像の中から、対象画像に類似する画像を検索（選択）するため、画像情報取得部１０１は、対象画像と、複数の候補画像とを取得する。
【００２４】
関心点抽出部１０２は、画像情報取得部１０１が取得したデジタル画像ＰＩＣの情報に基づいて、このデジタル画像ＰＩＣの関心点ＰＣを抽出する。この一例においては、対象画像に類似する候補画像を選択するために、関心点抽出部１０２は、１枚のデジタル画像ＰＩＣについて千点程度の関心点ＰＣを抽出する。
【００２５】
標本ベクトル算出部１０３は、関心点ＰＣにおける画像の方向を算出する。具体的には、標本ベクトル算出部１０３は、関心点抽出部１０２が抽出した千点程度のそれぞれの関心点ＰＣについて、複数（この一例においては、１１３点）の標本点ＰＳを選択する。また、標本ベクトル算出部１０３は、選択した標本点ＰＳのそれぞれについて、標本点ＰＳの標本ベクトルＶＳを算出する。具体的には、標本ベクトル算出部１０３は、算出した標本点ＰＳのウエーブレット応答（ｄｘ，ｄｙ）を、上述した式（１）および式（２）に代入することにより、その標本点ＰＳについての角度θおよび大きさｒを算出する。標本ベクトル算出部１０３は、標本点ＰＳについて、ウエーブレット応答（ｄｘ，ｄｙ）に基づく標本ベクトルＶＳの算出を繰り返し実行して、各関心点ＰＣについての１１３点すべての標本点ＰＳについて、標本点ＰＳの標本ベクトルＶＳを算出する。
なお、ここでは、標本ベクトル算出部１０３は、各関心点ＰＣについての１１３点すべての標本点ＰＳについて、標本点ＰＳの標本ベクトルＶＳを算出するとして説明したが、これに限られない。標本ベクトル算出部１０３は、各関心点ＰＣについての標本点ＰＳ１１３点のうち、一部の標本点ＰＳについて、標本点ＰＳの標本ベクトルＶＳを算出してもよい。
【００２６】
また、標本ベクトル算出部１０３は、算出した標本点の標本ベクトルＶＳと、標本点ＰＳの番号を示すインデックスとを関連付けて、標本ベクトル情報として記憶部２０に記憶させる。この記憶部２０に記憶される標本ベクトル情報の具体例については、図４を参照して後述する。なお、この標本ベクトル情報には、標本点ＰＳにおける画像の方向を示す情報が含まれている。すなわち、この標本ベクトル情報には、標本点ＰＳにおける画像の方向を示す方向情報が含まれる。
【００２７】
方向算出部１１０は、標本ベクトル算出部１０３が算出した各標本点ＰＳの標本ベクトルＶＳに基づいて、関心点ＰＣの方向を算出する。この方向算出部１１０は、並べ替え部１１１と、有用度算出部１１２と、累積値算出部１１３と、関心点方向算出部１１４とを備えている。この方向算出部１１０が行う関心点ＰＣの方向を算出する具体的な手順について、図３から図６を参照して説明する。
【００２８】
［関心点の方向を算出する手順］
図３は、本実施形態の情報処理装置１の動作の一例を示すフローチャートである。同図に示すステップＳ１０からステップＳ３０は、上述した画像情報取得部１０１、関心点抽出部１０２、および標本ベクトル算出部１０３が行う動作である。すなわち、ステップＳ１０において、画像情報取得部１０１は、記憶部２０に記憶されているデジタル画像ＰＩＣの情報（画像情報）を取得する。
【００２９】
次に、関心点抽出部１０２は、ステップＳ１０において、画像情報取得部１０１が取得したデジタル画像ＰＩＣの情報に基づいて、このデジタル画像ＰＩＣの関心点ＰＣを抽出する（ステップＳ２０）。
【００３０】
次に、標本ベクトル算出部１０３は、ステップＳ２０において、関心点抽出部１０２が抽出した千点程度のそれぞれの関心点ＰＣについて、複数（この一例においては、１１３点）の標本点ＰＳを選択する。また、標本ベクトル算出部１０３は、選択した標本点ＰＳのそれぞれについて、標本点ＰＳの角度θおよび大きさｒ、すなわち標本点ＰＳの標本ベクトルＶＳを算出する（ステップＳ３０）。
【００３１】
標本ベクトル算出部１０３は、ある関心点ＰＣについての、すべての標本点ＰＳについて、標本ベクトルＶＳを算出する。本実施形態の一例においては、標本ベクトル算出部１０３は、１１３点の標本点ＰＳについて、すなわち、図２に示す標本点ＰＳ１から標本点ＰＳ１１３までについて、それぞれの角度θ１から角度θ１１３までを算出する。また、標本ベクトル算出部１０３は、１１３点の標本点ＰＳについて、すなわち、図２に示す標本点ＰＳ１から標本点ＰＳ１１３までについて、それぞれの大きさｒ１から大きさｒ１１３までを算出する。また、標本ベクトル算出部１０３は、算出した角度θ１から角度θ１１３までと、大きさｒ１から大きさｒ１１３までと、標本点番号１から標本点番号１１３までとをそれぞれ関連付けて、標本ベクトル情報として記憶部２０に記憶させる。
【００３２】
すなわち、標本ベクトル算出部１０３は、デジタル画像ＰＩＣ中のある関心点ＰＣの周囲の複数の標本点ＰＳについて、標本点ＰＳにおける画像の方向および大きさを示す標本ベクトルＶＳを、標本点ＰＳごとに算出する。標本ベクトル算出部１０３は、算出した標本点ＰＳごとの標本ベクトルＶＳを標本ベクトル情報として記憶部２０に記憶させる。
【００３３】
次に、並べ替え部１１１は、ステップＳ３０において記憶部２０に記憶された標本ベクトル情報を、角度θの大きさの順に並べ替える（ステップＳ４０）。この記憶部２０に記憶される標本ベクトル情報の一例について、図４を参照して説明する。
【００３４】
図４は、本実施形態の記憶部２０に記憶される標本ベクトル情報の一例を示す表である。なお、この図４の具体例においては、並べ替え部１１１が標本ベクトル情報を並べ替えた後の状態を示している。標本ベクトル算出部１０３は、標本点ＰＳごとに算出した標本ベクトル情報を記憶部２０に記憶させる。このとき、標本ベクトル算出部１０３は、標本ベクトルＶＳと標本点番号ｎとを関連付けて、記憶部２０に記憶させる。図４に示す具体例においては、標本ベクトル算出部１０３は、標本点ＰＳ５について、標本点番号ｎ＝５と、角度θ＝０．２と、長さｒ＝１．０とを関連付けて、記憶部２０に記憶させる。標本ベクトル算出部１０３は、標本点番号ｎの順に、標本ベクトルＶＳと標本点番号ｎとを関連付けて、繰り返し記憶部２０に記憶させることにより、ある関心点ＰＣの標本点ＰＳ１から標本点ＰＳ１１３までの標本ベクトルＶＳを記憶させる。これにより、記憶部２０には、標本点番号ｎの小さい方から大きい方に向かう順番に、標本ベクトル情報が記憶される。
【００３５】
この図４に示す具体例においては、標本点番号ｎ＝５の標本点ＰＳ５の角度θは、角度θ＝０．２である。この具体例において、標本点ＰＳ５の角度θ＝０．２は、ある関心点ＰＣについての、すべての標本点ＰＳ（つまり、標本点ＰＳ１から標本点ＰＳ１１３まで）において、その大きさが最も小さい。並べ替え部１１１は、標本点ＰＳ５の標本ベクトルＶＳを、インデックスＩＤＸ＝１を付して、標本ベクトルＶＳを並べ替える。また、この具体例において、標本点ＰＳ１０の角度θ＝１．９は、標本点ＰＳ１から標本点ＰＳ１１３までにおいて、その大きさが標本点ＰＳ５に次いで小さい。並べ替え部１１１は、標本点ＰＳ１０の標本ベクトルＶＳを、インデックスＩＤＸ＝２を付して、標本ベクトルＶＳを並べ替える。また、この具体例において、標本点ＰＳ２５の角度θ＝５．８は、標本点ＰＳ１から標本点ＰＳ１１３までにおいて、その大きさが標本点ＰＳ１０に次いで小さい。並べ替え部１１１は、標本点ＰＳ２５の標本ベクトルＶＳを、インデックスＩＤＸ＝３を付して、標本ベクトルＶＳを並べ替える。並べ替え部１１１は、この手順を繰り返して標本点ＰＳ１から標本点ＰＳ１１３までの各標本点ＰＳの標本ベクトルＶＳに、角度θの大きさの順にインデックスＩＤＸを付して並べ替える。
【００３６】
すなわち、並べ替え部１１１は、標本ベクトル算出部１０３が標本点ごとに算出した複数の標本ベクトルＶＳを、標本点ＰＳにおける画像が示す角度θの順に並べ替える。
【００３７】
図３に戻り、有用度算出部１１２は、各標本点ＰＳの標本ベクトルＶＳに基づいて、有用係数を算出する（ステップＳ５０）。この有用係数は、様々な手順によって算出することができる。この具体例においては、有用度算出部１１２が、角度θについての有用係数Ｋθと、大きさｒについての有用係数ＫＲとを算出し、さらにこれら有用係数Ｋθおよび有用係数ＫＲを合成した合成有用係数Ｋを算出する場合について説明する。
【００３８】
有用度算出部１１２は、角度θについての有用係数Ｋθを算出する。この有用係数Ｋθとは、標本点ＰＳの角度θが密集しているほど、標本ベクトルＶＳの有用度が高いことを示す係数である。有用度算出部１１２は、並べ替え部１１１が並べ替えた後の標本ベクトル情報について、インデックスＩＤＸが隣接する標本ベクトルＶＳの角度θの角度差に基づいて、この角度θの密集度を算出する。具体的には、図４に示すように、有用度算出部１１２は、インデックスＩＤＸ＝４の標本点ＰＳ３０について、隣接するインデックスＩＤＸ＝３の標本点ＰＳ２５の角度θ、および隣接するインデックスＩＤＸ＝５の標本点ＰＳ２８の角度θとの差に基づいて、有用係数Ｋθを算出する。この具体例においては、有用度算出部１１２は、標本点ＰＳ２５の角度θ＝５．８との差、および標本点ＰＳ２８の角度θ＝６．９との差、つまり、角度差Δθ＝１．１を算出する。有用度算出部１１２は、算出した角度差Δθ＝１．１に基づいて、有用係数Ｋθが０から１の範囲になるように正規化演算を行い、有用係数Ｋθ＝０．２を算出する。ここで、有用係数Ｋθが０から１の範囲になるように正規化演算を行うのは、この有用係数Ｋθと、後述する有用係数ＫＲとを合成する段階において、係数どうしの値域をあわせるためである。また、有用係数Ｋθが０から１の範囲になるように正規化演算するのは一例であって、係数どうしの値域をあわせられればよく、有用係数Ｋθが０から１以外の範囲になるように正規化演算を行ってもよい。なお、この具体例においては、有用係数Ｋθが小さいほど、この標本ベクトルＶＳの有用度が高いことを示す。
【００３９】
なお、有用度算出部１１２は、図４に示すインデックスＩＤＸ＝１の標本点ＰＳ５について、次のようにして有用係数Ｋθを算出する。すなわち、有用度算出部１１２は、インデックスＩＤＸ＝１に隣接するインデックスＩＤＸ＝１１３の標本点ＰＳ２１の角度θ、および隣接するインデックスＩＤＸ＝２の標本点ＰＳ１０の角度θとの差に基づいて、有用係数Ｋθを算出する。つまり、図４に示すインデックスＩＤＸ＝１において、隣接するインデックスＩＤＸとは、インデックスＩＤＸ２と、インデックスＩＤＸ１１３とである。
また、有用度算出部１１２は、図４に示すインデックスＩＤＸ＝１１３の標本点ＰＳ２１について、次のようにして有用係数Ｋθを算出する。すなわち、有用度算出部１１２は、インデックスＩＤＸ＝１１３に隣接するインデックスＩＤＸ＝１の標本点ＰＳ５の角度θ、および隣接するインデックスＩＤＸ＝１１２の標本点ＰＳ４５の角度θとの差に基づいて、有用係数Ｋθを算出する。つまり、図４に示すインデックスＩＤＸ＝１１３において、隣接するインデックスＩＤＸとは、インデックスＩＤＸ１１２と、インデックスＩＤＸ１とである。
つまり、有用度算出部１１２は、インデックスＩＤＸ＝１１３と、インデックスＩＤＸ＝１とが隣接するインデックスＩＤＸであるとして、有用係数Ｋθを算出する。
【００４０】
次に、有用度算出部１１２は、大きさｒについての有用係数ＫＲを算出する。この有用係数ＫＲとは、標本点ＰＳの大きさｒが大きいほど、標本ベクトルＶＳの有用度が高いことを示す係数である。有用度算出部１１２は、並べ替え部１１１が並べ替えた後の標本ベクトル情報について、標本ベクトルＶＳの大きさｒに基づいて、有用係数ＫＲを算出する。具体的には、図４に示すように、有用度算出部１１２は、インデックスＩＤＸ＝４の標本点ＰＳ３０について、標本点ＰＳ３０の大きさｒに基づいて、有用係数ＫＲを算出する。この具体例においては、有用度算出部１１２は、標本点ＰＳ３０の大きさｒ＝２．２に基づいて、有用係数ＫＲが０から１の範囲になるように正規化演算を行い、有用係数ＫＲ＝０．１を算出する。ここで、有用係数ＫＲが０から１の範囲になるように正規化演算を行うのは、この有用係数ＫＲと、前述した有用係数Ｋθとを合成する段階において、係数どうしの値域をあわせるためである。また、有用係数ＫＲが０から１の範囲になるように正規化演算するのは一例であって、係数どうしの値域をあわせられればよく、有用係数ＫＲが０から１以外の範囲になるように正規化演算を行ってもよい。なお、この具体例においては、有用係数ＫＲが小さいほど、この標本ベクトルＶＳの有用度が高いことを示す。
【００４１】
次に、有用度算出部１１２は、有用係数Ｋθと有用係数ＫＲとを合成した合成有用係数Ｋを算出する。この合成有用係数Ｋとは、値が小さいほど標本ベクトルＶＳの有用度が高いことを示す係数である。なお、上述した有用係数Ｋθの正規化演算、および有用係数ＫＲの正規化演算において、正規化後の値の大小の方向を、有用係数Ｋθと有用係数ＫＲとの間で合わせている。このため、有用度算出部１１２は、有用係数Ｋθの性質と、有用係数ＫＲの性質とが、合成有用係数Ｋに引き継がれるようにして、合成有用係数Ｋを算出することができる。
この有用度算出部１１２は、それぞれの標本点ＰＳについて、有用係数Ｋθと有用係数ＫＲとに基づいて合成有用係数Ｋを算出する。具体的には、図４に示すように、有用度算出部１１２は、インデックスＩＤＸ＝４の標本点ＰＳ３０について、合成有用係数Ｋ＝０．０２を算出する。
【００４２】
なお、有用度算出部１１２は、有用係数Ｋθと有用係数ＫＲとを、加算、乗算、加重平均、二乗和平方根などの演算に基づいて、合成有用係数Ｋを算出すればよい。この一例では、有用度算出部１１２は、有用係数Ｋθと有用係数ＫＲとの乗算によって、合成有用係数Ｋを算出する。
【００４３】
すなわち、有用度算出部１１２は、標本ベクトル情報と、所定の算出条件とに基づいて、標本ベクトルＶＳの有用度を標本ベクトルＶＳごとに算出する。
【００４４】
図３に戻り、累積値算出部１１３は、有用度算出部１１２が算出した合成有用係数Ｋを、インデックスＩＤＸの順に累積した積分ファクタＦＩを算出する。この積分ファクタＦＩは、有用度累積値とも称する。具体的には、図４に示すように、累積値算出部１１３は、インデックスＩＤＸ＝１の標本点ＰＳ５について、標本点ＰＳ５の合成有用係数Ｋ＝０．１に基づいて、積分ファクタＦＩ＝０．１を算出する。また、累積値算出部１１３は、インデックスＩＤＸ＝２の標本点ＰＳ１０について、標本点ＰＳ１０の合成有用係数Ｋ＝０．０６と、インデックスＩＤＸ＝１の積分ファクタＦＩ＝０．１とを加算し、積分ファクタＦＩ＝０．１６を算出する。また、累積値算出部１１３は、インデックスＩＤＸ＝３の標本点ＰＳ２５について、標本点ＰＳ２５の合成有用係数Ｋ＝０．３６と、インデックスＩＤＸ＝２の積分ファクタＦＩ＝０．１６とを加算し、積分ファクタＦＩ＝０．５２を算出する。
【００４５】
すなわち、累積値算出部１１３は、有用度算出部１１２が標本ベクトルＶＳごとに算出した合成有用係数Ｋについて、並べ替え部１１１が並べ替えた標本ベクトル情報の順に累積した有用度累積値を、標本ベクトルＶＳごとにインデックスＩＤＸに関連付けて算出する。
【００４６】
図３に戻り、関心点方向算出部１１４は、累積値算出部１１３が算出した複数の積分ファクタＦＩにそれぞれ関連づけられた標本ベクトルＶＳに基づいて、関心点ＰＣの方向を算出する（ステップＳ７０からステップＳ１００まで）。具体的には、関心点方向算出部１１４は、標本ベクトル情報に対して、スキャンウインドウＷを設定する。このスキャンウインドウＷについて、図５を参照して説明する。
【００４７】
図５は、本実施形態の関心点方向算出部１１４が設定するスキャンウインドウＷの一例を示す模式図である。関心点方向算出部１１４は、インデックスＩＤＸ＝１からインデックスＩＤＸ＝１１３までの各積分ファクタＦＩに対して、あるウインドウ幅ＷｄのスキャンウインドウＷを設定する。具体的には、関心点方向算出部１１４は、そのウインドウ幅Ｗｄが、インデックスＩＤＸ５個分であるスキャンウインドウＷを設定する。このウインドウ幅Ｗｄについて、インデックスＩＤＸ５個分とするのは説明の便宜上の例示である。また、ここでいうスキャンウインドウＷとは、説明の便宜上用いられる名称であり、スキャンウインドウＷの開始インデックスＩＤＸの番号や終了インデックスＩＤＸの番号、スキャンウインドウＷの番号の組が予め記憶されていてもよく、予め記憶されていなくてもよい。
【００４８】
関心点方向算出部１１４は、インデックスＩＤＸ＝３について、スキャンウインドウＷ３を設定する（図５（ａ））。このスキャンウインドウＷ３は、インデックスＩＤＸ＝１からインデックスＩＤＸ＝５までのウインドウ幅Ｗｄを有する。また、関心点方向算出部１１４は、インデックスＩＤＸ＝４について、スキャンウインドウＷ４を設定する（図５（ｂ））。このスキャンウインドウＷ４は、インデックスＩＤＸ＝２からインデックスＩＤＸ＝６までのウインドウ幅Ｗｄを有する。また、関心点方向算出部１１４は、インデックスＩＤＸ＝５について、スキャンウインドウＷ５を設定する（図５（ｃ））。このスキャンウインドウＷ５は、インデックスＩＤＸ＝３からインデックスＩＤＸ＝７までのウインドウ幅Ｗｄを有する。
【００４９】
なお、関心点方向算出部１１４は、インデックスＩＤＸ＝１、２、１１２、１１３については、インデックスＩＤＸ＝１１３の次に、インデックスＩＤＸ＝１が配置され、つまりインデックスＩＤＸが循環しているものとして、スキャンウインドウＷを設定する。具体的には、関心点方向算出部１１４は、インデックスＩＤＸ＝１について、スキャンウインドウＷ１を設定する。このスキャンウインドウＷ１は、インデックスＩＤＸ＝１１２からインデックスＩＤＸ＝３までのウインドウ幅Ｗｄを有する。また、インデックスＩＤＸ＝２について、スキャンウインドウＷ２を設定する。このスキャンウインドウＷ２は、インデックスＩＤＸ＝１１３からインデックスＩＤＸ＝４までのウインドウ幅Ｗｄを有する。また、インデックスＩＤＸ＝１１２について、スキャンウインドウＷ１１２を設定する。このスキャンウインドウＷ１１２は、インデックスＩＤＸ＝１１０からインデックスＩＤＸ＝１までのウインドウ幅Ｗｄを有する。また、インデックスＩＤＸ＝１１３について、スキャンウインドウＷ１１３を設定する。このスキャンウインドウＷ１１３は、インデックスＩＤＸ＝１１１からインデックスＩＤＸ＝２までのウインドウ幅Ｗｄを有する。図５（ｄ）にスキャンウインドウＷ１１３の一例を示す。なお、スキャンウインドウＷ１、スキャンウインドウＷ２、スキャンウインドウＷ１１２の図示は、省略する。
【００５０】
このように、関心点方向算出部１１４は、あるウインドウ幅Ｗｄ（この一例では、インデックスＩＤＸ  ５個分）のスキャンウインドウＷを、インデックスＩＤＸごとに順に適用する。次に、関心点方向算出部１１４が、スキャンウインドウＷを、インデックスＩＤＸごとに順に適用して、積分ファクタＦＩとの差分を算出する手順について説明する。
【００５１】
関心点方向算出部１１４は、各インデックスＩＤＸについて、スキャンウインドウＷに含まれるインデックスＩＤＸのうち、最大側のインデックスＩＤＸＨの積分ファクタＦＩと、最小側のインデックスＩＤＸＬの積分ファクタＦＩとの差分を算出する（図３のステップＳ７０）。具体的には、関心点方向算出部１１４は、インデックスＩＤＸ＝１について、スキャンウインドウＷ１に含まれるインデックスＩＤＸのうち、最大側のインデックスＩＤＸ＝３の積分ファクタＦＩと最小側のインデックスＩＤＸ＝１１２の積分ファクタＦＩとの差分を算出する。なお、スキャンウインドウＷ１においては、インデックスＩＤＸが循環しているため、最大側のインデックスＩＤＸ＝３の積分ファクタＦＩと、最小側のインデックスＩＤＸ＝１１２の積分ファクタＦＩに併せて、循環直前のインデックスＩＤＸ＝１１３の積分ファクタＦＩを用いて、差分を算出する。より具体例には、関心点方向算出部１１４は、最大側のインデックスＩＤＸ＝３の積分ファクタＦＩ＝０．５２に循環直前のインデックスＩＤＸ＝１１３の積分ファクタＦＩ＝５．０８を加えた値と、最小側のインデックスＩＤＸ＝１１２の積分ファクタＦＩ＝５．００との差分＝０．６０を算出する。
【００５２】
次に、関心点方向算出部１１４は、算出した差分が、各関心点ＰＣにおいて最有用であるか否かについて判定する。この具体例において算出する差分は、値が小さいほど標本ベクトルＶＳの有用度が高いことを示す合成有用係数Ｋから算出した積分ファクタＦＩを基にしているため、最有用であることを、算出した差分が最小値であるか否かによって判定する（図３のステップＳ８０）。関心点方向算出部１１４は、算出した差分が、各関心点ＰＣにおいて最小値であると判定した場合（ステップＳ８０；ＹＥＳ）には、スキャンウインドウＷの番号（つまり、インデックスＩＤＸ）を記憶させ（ステップＳ９０）、次のスキャンウインドウＷについて、処理を行うため、ステップＳ７０に処理を戻す。
【００５３】
ここで、関心点方向算出部１１４によるスキャンウインドウＷについての演算において、スキャンウインドウＷ１（つまり、インデックスＩＤＸ＝１）を最初の演算とする一例では、この関心点ＰＣに対する複数のスキャンウインドウＷのうち、Ｗ１についての演算により算出された差分がどのような値であっても、最初に観測する最小値である。関心点方向算出部１１４は、このインデックスＩＤＸ＝１を、最小値を示すインデックスＩＤＸの番号として、ここでは、差分＝０．６０を差分の最小値として記憶させる。
【００５４】
一方、関心点方向算出部１１４は、算出した差分が、各関心点ＰＣにおいて最小値でないと判定した場合（ステップＳ８０；ＮＯ）には、スキャンウインドウＷの番号を記憶させない。関心点方向算出部１１４は、このスキャンウインドウＷについての処理を終え、次のスキャンウインドウＷについて処理を行うため、処理をステップＳ７０に戻す。
【００５５】
上述したように関心点方向算出部１１４は、あるインデックスＩＤＸについて差分を算出した後、その差分が各関心点ＰＣにおいて最小値であるか否かについて判定する。上述の一例においては、関心点方向算出部１１４は、インデックスＩＤＸ＝１について、差分＝（｜０．５２＋５．０８−５．００｜）＝０．６０を算出する。次に、関心点方向算出部１１４は、算出した差分＝０．６０が各関心点ＰＣにおいて最小値であるか否かについて判定する。また、関心点方向算出部１１４は、インデックスＩＤＸ＝２について、差分＝（｜０．５４＋５．０８−５．０８｜）＝０．５４を算出する。次に、関心点方向算出部１１４は、算出した差分＝０．５４が各関心点ＰＣにおいて最小値であるか否かについて判定する。また、関心点方向算出部１１４は、インデックスＩＤＸ＝３について差分（｜０．６２−０．１｜）＝０．５２を算出する。次に、関心点方向算出部１１４は、算出した差分＝０．５２が各関心点ＰＣにおいて最小値であるか否かについて判定する。また、関心点方向算出部１１４は、インデックスＩＤＸ＝４について、差分（｜０．６７−０．１６｜）＝０．５１を算出する。次に、関心点方向算出部１１４は、算出した差分＝０．５１が各関心点ＰＣにおいて最小値であるか否かについて判定する。また、関心点方向算出部１１４は、インデックスＩＤＸ＝５について、差分（｜０．７２−０．５２｜）＝０．２を算出する。次に、関心点方向算出部１１４は、算出した差分＝０．２が各関心点ＰＣにおいて最小値であるか否かについて判定する。このようにして、関心点方向算出部１１４は、インデックスＩＤＸ＝１からインデックスＩＤＸ＝１１３まで、差分を算出した後、その差分が各関心点ＰＣにおいて最小値であるか否かについて判定する。
【００５６】
ここで、インデックスＩＤＸが循環しない範囲、すなわち、インデックスＩＤＸ＝３からインデックス＝５まで、関心点方向算出部１１４が算出する差分について、図５を参照してより具体的に説明する。関心点方向算出部１１４は、インデックスＩＤＸ＝３について、スキャンウインドウＷ３のうち、最大側のインデックスＩＤＸＨ５（つまり、インデックスＩＤＸ＝５）の積分ファクタＦＩと最小側のインデックスＩＤＸＬ１（つまり、インデックスＩＤＸ＝１）の積分ファクタＦＩとの差分を算出する。図５（ａ）に示す具体例においては、関心点方向算出部１１４は、最大側のインデックスＩＤＸＨ５の積分ファクタＦＩ＝０．６２と、最小側のインデックスＩＤＸＬ１の積分ファクタＦＩ＝０．１との差分＝０．５２を算出する。
【００５７】
関心点方向算出部１１４は、この関心点ＰＣに対する複数のスキャンウインドウＷのうち、差分の算出済みのスキャンウインドウＷについて、算出した差分が最小値を示すスキャンウインドウＷの番号を記憶させる。図５（ａ）に示す具体例においては、インデックスＩＤＸ＝３について算出された差分（｜０．６２−０．１｜）＝０．５２は、インデックスＩＤＸ＝２のときに観測された最小値０．５４に比較して小さいため、この関心点ＰＣについての最小値と判断する。関心点方向算出部１１４は、インデックスＩＤＸ＝３を、最小値を示すインデックスＩＤＸの番号として、差分＝０．５２を差分の最小値として記憶させる。
【００５８】
次に、関心点方向算出部１１４は、インデックスＩＤＸ＝４について、スキャンウインドウＷ４のうち、最大側のインデックスＩＤＸＨ６（つまり、インデックスＩＤＸ＝６）の積分ファクタＦＩと最小側のインデックスＩＤＸＬ２（つまり、インデックスＩＤＸ＝２）の積分ファクタＦＩとの差分を算出する。図５（ｂ）に示す具体例においては、関心点方向算出部１１４は、最大側のインデックスＩＤＸＨ６の積分ファクタＦＩ＝０．６７と、最小側のインデックスＩＤＸＬ２の積分ファクタＦＩ＝０．１６との差分＝０．５１を算出する。
【００５９】
この一例においては、インデックスＩＤＸ＝４について求めた差分＝０．５１は、インデックスＩＤＸ＝３のときに観測された最小値０．５２に比較して小さいため、この関心点ＰＣについての最小値と判断する。関心点方向算出部１１４は、このインデックスＩＤＸ＝４を、最小値を示すインデックスＩＤＸの番号として、差分＝０．５１を差分の最小値として記憶させる。
【００６０】
次に、関心点方向算出部１１４は、インデックスＩＤＸ＝５について、スキャンウインドウＷ５のうち、最大側のインデックスＩＤＸＨ７（つまり、インデックスＩＤＸ＝７）の積分ファクタＦＩと最小側のインデックスＩＤＸＬ３（つまり、インデックスＩＤＸ＝３）の積分ファクタＦＩとの差分を算出する。図５（ｃ）に示す具体例においては、関心点方向算出部１１４は、最大側のインデックスＩＤＸＨ７の積分ファクタＦＩ＝０．７２と、最小側のインデックスＩＤＸＬ３の積分ファクタＦＩ＝０．５２との差分＝０．２を算出する。このように、関心点方向算出部１１４は、あるウインドウ幅Ｗｄ（この一例では、インデックスＩＤＸ５個分）のスキャンウインドウＷを、インデックスＩＤＸごとに順に適用して、積分ファクタＦＩの差を算出する。
【００６１】
この一例においては、インデックスＩＤＸ＝５について求めた差分＝０．２は、インデックスＩＤＸ＝４のときに観測された最小値０．５１に比較して小さいため、この関心点ＰＣについての最小値と判断する。関心点方向算出部１１４は、このインデックスＩＤＸ＝５を、最小値を示すインデックスＩＤＸの番号として、差分＝０．２を差分の最小値として記憶させる。
【００６２】
関心点方向算出部１１４は、上述した最大側のインデックスＩＤＸＨと最小側のインデックスＩＤＸＬ間の差分を求める手順を、インデックスＩＤＸ＝１からインデックスＩＤＸ＝１１３について順次適用することにより、差分の最小値（極値）となるインデックスＩＤＸを求める。なお、関心点方向算出部１１４は、インデックスＩＤＸの番号の両端については、インデックスＩＤＸの番号を循環させて、上述した最大側のインデックスＩＤＸＨと最小側のインデックスＩＤＸＬ間の差分を求める手順を適用する。
この関心点方向算出部１１４が行う手順、すなわち、インデックスＩＤＸの番号を循環させて、最大側のインデックスＩＤＸＨと最小側のインデックスＩＤＸＬ間の差分を求める手順の具体例について、図５（ｄ）を参照して説明する。関心点方向算出部１１４は、インデックスＩＤＸ＝１１３について、スキャンウインドウＷ１１３のうち、最大側のインデックスＩＤＸＨ２（つまり、インデックスＩＤＸ＝２）の積分ファクタＦＩと最小側のインデックスＩＤＸＬ１１１（つまり、インデックスＩＤＸ＝１１１）の積分ファクタＦＩとの差分を算出する。ここで、関心点方向算出部１１４は、算出した差分が負の数にならないように補正して、差分を算出する。具体的には、関心点方向算出部１１４は、最大側のインデックスＩＤＸＨ２の積分ファクタＦＩ＝０．１６に、循環直前のインデックスＩＤＸ＝１１３の積分ファクタＦＩ＝５．０８を加算して、積分ファクタＦＩ＝５．２４を算出する。関心点方向算出部１１４は、この算出した積分ファクタＦＩ＝５．２４を、最大側のインデックスＩＤＸＨ２の積分ファクタＦＩと見立てて、最大側のインデックスＩＤＸＨ２の積分ファクタＦＩと、最小側のインデックスＩＤＸＬ１１１の積分ファクタＦＩとの差分を算出する。より具体的には、関心点方向算出部１１４は、最大側のインデックスＩＤＸＨ２の積分ファクタＦＩ＝５．２４と、最小側のインデックスＩＤＸＬ１１１の積分ファクタＦＩ＝４．９１との差分＝０．３３を算出する。
なお、この一例においては、インデックスＩＤＸの番号の両端とは、インデックスＩＤＸ＝１およびインデックスＩＤＸ＝１１３である。
次に、関心点方向算出部１１４は、差分の最小値（極値）となるインデックスＩＤＸに基づいて、関心点ＰＣの方向を算出する手順について、図６を参照して説明する。
【００６３】
図６は、本実施形態の関心点方向算出部１１４が関心点ＰＣの方向を算出する手順の一例を示す模式図である。この一例においては、インデックスＩＤＸ＝５のスキャンウインドウＷ５による、最大側のインデックスＩＤＸＨ７（つまり、インデックスＩＤＸ＝７）と最小側のインデックスＩＤＸＬ３（つまり、インデックスＩＤＸ＝３）との間の差分が最小値（極値）である場合について説明する。この場合、関心点方向算出部１１４は、インデックスＩＤＸ＝５のスキャンウインドウＷ５に基づいて、関心点ＰＣの方向を算出する。
【００６４】
関心点方向算出部１１４は、最大側のインデックスＩＤＸＨ７のインデックスＩＤＸと、最小側のインデックスＩＤＸＬ３のインデックスＩＤＸを取得する。この図６に示す一例では、ウインドウ幅Ｗｄ＝５であり、最大側のインデックスＩＤＸＨ７のインデックスＩＤＸ＝７、最小側のインデックスＩＤＸＬ３のインデックスＩＤＸ＝３である。この場合、関心点方向算出部１１４は、インデックスＩＤＸ＝７およびインデックスＩＤＸ＝３を取得する。また、関心点方向算出部１１４は、取得したインデックスＩＤＸの中央値のインデックスＩＤＸを算出する。この一例では、関心点方向算出部１１４は、取得したインデックスＩＤＸの中央値のインデックスＩＤＸ＝５を算出する。次に、関心点方向算出部１１４は、算出した中央値のインデックスＩＤＸが示す角度θｍを関心点ＰＣの方向として算出する。この一例では、関心点方向算出部１１４は、算出した中央値のインデックスＩＤＸ＝５が示す角度θｍ＝６．９を関心点ＰＣの方向として算出する（図３のステップＳ１００）。
なお、関心点方向算出部１１４は、最大側のインデックスＩＤＸＨが示す角度θＨと、最小側のインデックスＩＤＸＬが示す角度θＬとの平均値を、関心点ＰＣの方向として算出してもよい。
【００６５】
方向算出部１１０は、上述したステップＳ３０からステップＳ１００までの処理を関心点ＰＣごとに繰り返し行い、デジタル画像ＰＩＣの各関心点ＰＣについて、関心点ＰＣの方向を算出する。
【００６６】
図１に戻り、画像検索部１０４は、上述のようにして算出した関心点ＰＣの方向に基づいて算出された画像特徴量に基づいて、対象画像に類似する画像を、複数の候補画像の中から検索する。この検索の際、画像検索部１０４は、例えば、対象画像に係る記述子群と各候補画像に係る記述子群とのマッチングを行い、マッチング度合いが高いものから順に複数の候補画像を並べ、最上位の候補画像を対象画像と似た画像として検索する。ここで、マッチングの度合いとは、例えば、対象画像に係る記述子群に含まれるそれぞれの記述子と、候補画像に係る記述子群に含まれるそれぞれの記述子とを比較した時、最近傍探索法（Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ  Ｍｅｔｈｏｄ）等によって記述子間の距離が近い記述子を選択し、その選択された記述子が属する候補画像の記述子の数を計数した結果である得票数によって表される。
なお、画像検索部１０４は、最上位の候補画像を対象画像と似た画像として検索する構成に代えて、例えば、上位から所定順位までの候補画像を対象画像と似た画像として検索する構成等、マッチング度合が高い順に基づいて対象画像と似た画像を検索する構成であってもよい。
検索結果出力部１０５は、画像検索部１０４が判定した結果を、ディスプレイ（不図示）などに判定結果として出力する。
【００６７】
［まとめ］
以上説明したように、本実施形態の情報処理装置１は、方向算出部１１０を備えている。この方向算出部１１０は、ある関心点ＰＣについて、標本点ＰＳごとに算出した標本ベクトルＶＳを、このベクトルの角度θの大きさによって順に並べ替える。つまり、方向算出部１１０は、標本ベクトルＶＳを、ベクトルの角度θの大きさによって並べ替え、この並べ替えた標本ベクトルＶＳに対して、インデックスＩＤＸを順番に付する。これにより、標本ベクトルＶＳが、角度θの大きさ順に並べられるため、方向算出部１１０は、隣接する標本ベクトルＶＳどうしの演算を行うことにより、角度θの密集度を求めることができる。すなわち、方向算出部１１０は、隣接する標本ベクトルＶＳどうしの演算を行うことにより、角度θについての有用係数Ｋθを算出することができる。また、本実施形態の方向算出部１１０は、関心点ＰＣの方向をスキャンウインドウＷによって判定する演算の前に、予め、標本点ＰＳごとに有用係数（合成有用係数Ｋ）を算出する。すなわち、本実施形態の方向算出部１１０は、複数のスキャンウインドウＷによる方向算出演算の段階の前に、標本点ＰＳについてのベクトル演算を終えている。このため、方向算出部１１０は、スキャンウインドウＷごとには、標本点ＰＳについてのベクトル演算を行わない。
【００６８】
一方、本実施形態の情報処理装置１によらない従来の技術においては、次のように関心点ＰＣの方向を算出する手法が考えられる。一例として、従来の技術においては、標本点ＳＰごとに標本ベクトルＶＳを算出し、算出した標本ベクトルＶＳの評価値（例えば、標本ベクトルＶＳの大きさ）を求める。この手順を、標本点ＳＰごとに繰り返し適用して、評価値が最大になる標本点ＳＰの方向を、関心点ＰＣの方向として算出する。この場合、ある関心点ＰＣの方向を算出するためには、複数の標本点ＰＳの標本ベクトルＶＳを算出する演算を行う。つまりこの場合、方向算出のため複数の標本点ＰＳについてそれぞれベクトル演算を行う。この演算コストは、本実施形態の方向算出部１１０の手順による演算コストよりも大きい。つまり、本実施形態の情報処理装置１は、方向算出部１１０を備えることにより、関心点ＰＣの方向を算出するための計算コストを低減することができる。
【００６９】
［変形例１］
図７を参照して、本実施形態の情報処理装置１の変形例について説明する。
図７は、本実施形態の記憶部２０に記憶される標本ベクトル情報の変形例を示す表である。この変形例においては、標本ベクトルＶＳのうち、大きさｒによらず、角度θに基づいて、関心点ＰＣの方向を算出する点において、上述した実施形態と異なる。
【００７０】
この変形例において、標本ベクトル算出部１０３は、標本点ＰＳごとに算出した角度θを記憶部２０に記憶させる。ここで、標本ベクトル算出部１０３は、標本点方向算出部とも称する。また、有用度算出部１１２は、各標本点ＰＳの角度θに基づいて、有用係数Ｋθを算出する。また、累積値算出部１１３は、有用度算出部１１２が算出した有用係数Ｋθを、インデックスＩＤＸの順に累積した積分ファクタＦＩを算出する。
【００７１】
すなわち、この変形例において、標本ベクトル算出部１０３は、デジタル画像ＰＩＣ中のある関心点ＰＣの周囲の複数の標本点ＰＳについて、標本点ＰＳにおける画像の方向を示す標本ベクトルＶＳを、標本点ＰＳごとに算出する。標本ベクトル算出部１０３は、算出した標本点ＰＳごとの標本ベクトルＶＳを標本ベクトル情報として記憶部２０に記憶させる。
【００７２】
すなわち、この変形例においては、角度θに基づいて、有用係数Ｋθ、および積分ファクタＦＩを算出して、関心点ＰＣの方向を算出する。これにより、本変形例の方向算出部１１０によれば、標本ベクトルＶＳの大きさを求める場合に比べて、さらに計算コストを低減することができる。
【００７３】
［変形例２］
図８及び図９を参照して、本実施形態の情報処理装置１の第２の変形例について説明する。
図８は、本実施形態の情報処理装置１による方向算出手順の変形例を示す模式図である。図９は、本実施形態の情報処理装置による方向算出手順の変形例である間引きスキャンの一例を示す模式図である。この変形例においては、方向算出のためのスキャンウインドウＷの幅を段階的に順次変化させる点において、上述した実施形態と異なる。
【００７４】
ここで、図８及び図９に示すように、ΔＦＩの値がなめらかな連続的カーブなので、間引く手法（一定間隔のサンプル取得）で走査数削減（計算コスト削減）しても、情報処理装置１の方向算出が機能する。したがって、本実施形態の情報処理装置１によれば、計算コストが削減できる。なお、図９において、ΔＦＩのグラフのうち、太線はスキャン対象のインデックスＩＤＸを示し、細線は間引き対象のインデックスＩＤＸを示す。この変形例においては、情報処理装置１は、スキャンウインドウＷの幅を３段階に順次変化させる。具体的には、この変形例において情報処理装置１は、スキャンウインドウＷの幅を、インデックスＩＤＸ４７個分、３７個分、２９個分の３段階に順次変化させる。以下の説明において、第１段階目のスキャンウインドウＷの幅をウインドウ幅Ｗｄ１と、第２段階目のスキャンウインドウＷの幅をウインドウ幅Ｗｄ２と、第３段階目のスキャンウインドウＷの幅をウインドウ幅Ｗｄ３と称する。すなわち、この変形例において、ウインドウ幅Ｗｄ１は、インデックスＩＤＸ４７個分である。また、この変形例において、ウインドウ幅Ｗｄ２は、インデックスＩＤＸ３７個分である。この変形例において、ウインドウ幅Ｗｄ３は、インデックスＩＤＸ２９個分である。
【００７５】
ここで、ウインドウ幅が広いほど、求められるΔＦＩの値の起伏が滑らかになる。つまり、ウインドウ幅が広いほど、大局的な視野をもった探索になる。また、ウインドウ幅が狭いほど、求められるΔＦＩの値の起伏が尖ってくる。つまり、ウインドウ幅が狭いほど、極小的な視野をもった探索になる。
この一例の場合は、「幅の広いウインドウでの極値」かつ「幅の狭いウインドウでの極値」で、つまり、大局的にも極小的にも極値を記録した方向となる。ここで、例えば狭いスキャン幅だけで探索している場合の課題を考えると、多峰性で似た程度の極値が複数表れてきた場合に、極大（極小）度合いが少しでも高いほうを選択するぐらいしか方法が残されていない。つまり、標本点の極小域での輝度変化、撮影歪みの具合で、極値が逆転してしまうかもしれない極値を選択している可能性がある。
これに対し、多段スキャンの活用では、別ウィンドウサイズ（大局的）なスキャン結果も合わせて極値を選択するので、角度特定精度としては撮影歪みなどへの頑健性（ロバスト性）が高いと考えられる。
【００７６】
なお、ここではウインドウ幅について、スパンの数ではなく、ウインドウ内に含まれる要素数を便宜上ウインドウ幅と定義しただけである。
【００７７】
また、以下の説明において、あるウインドウ幅の左端、右端が指すＦＩ値を用い、ΔＦＩ＝ＦＩ右端−ＦＩ左端として導出する。説明し易いように、真ん中のインデックス番号を中心に左右同じだけ離れた範囲をウインドウ幅とした。ウインドウ幅＝要素数とした本説明方法では、ウインドウ幅奇数が説明に都合よい。奇数であれば、算出されたΔＦＩを、中央インデックスからの導出値とすればよいが、偶数だと中央候補が２つなので補正が必要である。
【００７８】
また、積分ファクタをどの程度間引きしながらスキャンするかを表す数値を、図９に示すように、飛ばしたインデックスの幅Ｗｓと称する。この変形例では、図９（ａ）に示すように、１段目は８サンプル程度スキャンする。この場合、スキャン幅＝全幅＝１１３サンプルに対し、１１３÷８≒１４、幅１４あたりスキャン１回、つまり１３飛ばしで間引きする。仮に１段目を、１３サンプル取得することとしたならば、８飛ばしで間引きすれば成立する。本例はあくまで例示で、１段目の例示でいう、ウインドウ幅Ｗｄ１＝４７、サンプル取得数＝８、という数値に限られない。この例示する数値の場合、スキャンウインドウＷを適度（例えば、３分の１づつ程度）にオーバーラップさせたことは、極値選択が安定する目的で、全体としては、総スキャン（ここでは３段の合計）の計算コストも省力化できる。
【００７９】
また、各段において求められるスキャン幅の中から、ΔＦＩ計算を何回行うかを示した数値をサンプルと称する。ここでは、１段目が８サンプル、２段目が８サンプル、３段目は精度を上げるため３７サンプル、合計５３サンプルである場合を例示する。ここで例示するサンプル手法及びサンプル数によれば、計５３サンプルとなり、１１３サンプル全てをスキャンする場合に比べて、方向算出に対するスキャンコストを下げる効果が得られる。
【００８０】
この変形例において、角度θの順に配列された合成有用係数Ｋ（図８（ａ））を元に、積分ファクタＦＩを算出する（図８（ｂ））手順については、上述した実施形態と同様である。この変形例においては、角度θの順に並べられた積分ファクタＦＩに対して、まずウインドウ幅Ｗｄ１のスキャンウインドウＷ１１−１からスキャンウインドウＷ１１−８によって、積分ファクタＦＩを間引きスキャンする（図９（ａ））。このウインドウ幅Ｗｄ１は、例えば、インデックスＩＤＸ４７個分である。また、飛ばしたインデックス幅Ｗｓ１は、インデックスＩＤＸ１３個分である。また、取得サンプルの個数は８個である。この一例においては、スキャンウインドウＷ１１−１からスキャンウインドウＷ１１−８によるスキャンによって、差分の最小値（極値）を記録したスキャンウインドウＷ１１−３が、（ｃ−１）ステップにおける優位方向であると判定される。
本変形例（ｃ−１）ステップにおいては、ウインドウ幅が比較的大きいため、ウインドウ幅が狭い場合に比べて、合成有用係数Ｋ、および積分ファクタＦＩの変化が滑らかである。このため、間引きスキャンを行ったとしても、最大側のインデックスＩＤＸＨと最小側のインデックスＩＤＸＬとの間の差分の極値として、真の極値（全スキャンにより得られる極値）の近傍を合理的な確率で特定可能である。すなわち、本変形例においては、最大側のインデックスＩＤＸＨと最小側のインデックスＩＤＸＬとの間の差分の極値の特定を可能にしつつ、スキャンウインドウＷ１１によって積分ファクタＦＩをスキャンする回数を低減することができる。
【００８１】
次に、ウインドウ幅Ｗｄ２のスキャンウインドウＷ１２−１からスキャンウインドウＷ１２−８を設定し、このスキャンウインドウＷ１２−１からスキャンウインドウＷ１２−８によって積分ファクタＦＩをスキャンする（図９（ｂ））。このウインドウ幅Ｗｄ２は、例えば、インデックスＩＤＸ３７個分である。また、飛ばしたインデックス幅Ｗｓ２は、インデックスＩＤＸ５個分である。また、取得サンプルの個数は８個である。この（ｃ−２）ステップにおいては、（ｃ−１）ステップにおいて判定された優位方向を示すスキャンウインドウＷ１１−３のウインドウ幅をスキャン幅にして、スキャン幅＝４７サンプルに対し、４７÷８≒６、幅６あたりスキャン１回、つまり５飛ばしで間引きでスキャンを実施する。すなわち、この（ｃ−２）ステップにおいては、スキャンウインドウＷ１１−１からスキャンウインドウＷ１１−８によるスキャンによって、優位方向であると判定されたスキャンウインドウＷ１１−３近傍を含むスキャン範囲Ｗθ１をスキャンする。この一例においては、スキャンウインドウＷ１２−１からスキャンウインドウＷ１２−８によるスキャンによって、差分の最小値（極値）を記録したスキャンウインドウＷ１２−４が、（ｃ−２）ステップにおける優位方向であると判定される。スキャン範囲Ｗθ１に対して、間引きスキャンを行うため、スキャンウインドウＷ１２によって積分ファクタＦＩをスキャンする回数が低減される。
【００８２】
次に、ウインドウ幅Ｗｄ３のスキャンウインドウＷ１３を設定し、このスキャンウインドウＷ１３によって積分ファクタＦＩをスキャンする（図９（ｃ））。このとき、スキャンウインドウＷ１２によるスキャンによって、優位方向であると判定されたスキャンウインドウＷ１２−４近傍を含むスキャン範囲Ｗθ２をスキャンする。このウインドウ幅Ｗｄ３は、例えば、インデックスＩＤＸ２９個分である。なお、第３段目、すなわち最終段のスキャンのため、スキャンの間引きはせずに、方向特定精度を維持する。スキャン範囲Ｗθ２に対して、スキャンを行うため、１１３個すべてのインデックスＩＤＸに対してスキャンを行う場合に比べて、積分ファクタＦＩをスキャンする回数が低減される。すなわち、この第２の変形例によれば、関心点ＰＣの算出のための計算コストをさらに低減することができる。
【００８３】
なお、関心点と標本点は画像中の画素位置であることが望ましいが、必ずしも画素位置である必要はなく、画素位置を整数位置とすれば少数精度の位置であってもよい。
また、関心点の位置の検出方法は特許文献１に記載の方法でもよく、あるいは画像中の濃度勾配や色変化が大きい位置を探索してもよい。
また、標本点の位置は関心点に対する相対位置として予め設定してもよく、あるいは画像の特徴量を計算した結果から位置を設定してもよい。
また、各標本点で計算する画像の方向は、周辺画素に対してデジタルフィルタを適用して得られる。微分フィルタや特許文献１に記載のウェーブレットフィルタでもよい。
また、関心点の方向を算出したのちに、関心点を原点として方向を軸とした座標を設定し、その座標上の各点について画像勾配などの特徴量を算出し、複数の関心点周辺の特徴量を画像の特徴量として記述してもよい。
【００８４】
なお、本発明の実施形態における情報処理装置１の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、上述した種々の処理を行ってもよい。
【００８５】
なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８６】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００８７】
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８８】
１…情報処理装置、１０…制御部、２０…記憶部、１０１…画像情報取得部、１０２…関心点抽出部、１０３…標本ベクトル算出部、１０４…画像検索部、１０５…検索結果出力部、１１０…方向算出部、１１１…並べ替え部、１１２…有用度算出部、１１３…累積値算出部、１１４…関心点方向算出部
【図１】
0006002744.tif 000004
【図２】
0006002744.tif 000005
【図３】
0006002744.tif 000006
【図４】
0006002744.tif 000007
【図５】
0006002744.tif 000008
【図６】
0006002744.tif 000009
【図７】
0006002744.tif 000010
【図８】
0006002744.tif 000011
【図９】
0006002744.tif 000012