(57)【特許請求の範囲】
【請求項１】
画像の局所特徴量が互いに類似するように決定されている、第１の画像上の特徴点の座標と、第２の画像上の特徴点の座標と、のペアを複数取得する取得手段と、
前記ペアのそれぞれについて評価値を設定する設定手段であって、当該ペアを構成するいずれかの特徴点の局所特徴量に類似した局所特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との少なくとも一方に基づいて、当該数が少ないほど評価が高くなるように前記評価値を設定する設定手段と、
ＲＡＮＳＡＣ法を用いて前記第１の画像と前記第２の画像との類似性を判定する判定手段とを備え、
前記判定手段は、ＲＡＮＳＡＣ法において前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する関数を導出する際に、前記評価値に基づいて前記複数のペアから選択されたペアを用いる
ことを特徴とする画像処理装置。
【請求項２】
画像の局所特徴量が互いに類似するように決定されている、第１の画像上の特徴点の座標と、第２の画像上の特徴点の座標と、のペアを複数取得する取得手段と、
前記ペアのそれぞれについて評価値を設定する設定手段であって、当該ペアを構成するいずれかの特徴点の局所特徴量に類似した局所特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との少なくとも一方に基づいて、当該数が少ないほど評価が高くなるように前記評価値を設定する設定手段と、
前記第１の画像と前記第２の画像との類似性を判定する判定手段であって、
前記評価値に基づいて前記複数のペアから選択されたペアを用いて、前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する関数を導出する処理と、
前記複数のペアのうち選択されなかったペアを用いて、前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する前記関数の変換精度を判定する処理と、
を繰り返すことにより、導出された前記関数のうち変換精度の最も高い関数を判定し、当該関数の変換精度に基づいて前記第１の画像と前記第２の画像との類似性を判定する判定手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
前記評価値は、前記ペアを構成するいずれかの特徴点の局所特徴量との差が閾値以内である局所特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との積又は和であり、値が小さいほど高い評価を示すことを特徴とする、請求項１又は２に記載の画像処理装置。
【請求項４】
前記評価値は、前記ペアを構成するいずれかの特徴点の局所特徴量との差が閾値以内である局所特徴量を有する前記第１の画像上の特徴点の数又は前記第２の画像上の特徴点の数であり、値が小さいほど高い評価を示すことを特徴とする、請求項１又は２に記載の画像処理装置。
【請求項５】
前記判定手段は、前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する関数を導出することを繰り返し、
前記判定手段は、前記関数の導出を繰り返す際に、先に２以上のペアの第１のセットを選択し、後から２以上のペアの第２のセットを選択し、
前記第１のセットに含まれる少なくとも１つのペアの評価は、前記第２のセットに含まれる少なくとも１つのペアの評価よりも高いことを特徴とする、請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記判定手段は、前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する関数を導出することを繰り返し、
前記判定手段は、前記関数の導出を繰り返す際に、先に２以上のペアの第１のセットを選択し、後から２以上のペアの第２のセットを選択し、
前記第１のセットに含まれる最も評価が高いペアの評価は、前記第２のセットに含まれる最も評価が高いペアの評価以上であることを特徴とする、請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項７】
前記取得手段は、
前記第１の画像及び前記第２の画像を取得し、
前記第１の画像から複数の特徴点を抽出し、かつ当該特徴点における画像の局所特徴量を算出し、
前記第２の画像から複数の特徴点を抽出し、かつ当該特徴点における画像の局所特徴量を算出し、
前記第１の画像から抽出された特徴点のそれぞれについて、当該特徴点とペアにする特徴点として、最も局所特徴量が近くかつ局所特徴量の差が閾値以内である前記第２の画像の特徴点を選択する
ことを特徴とする、請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記第１の画像上の特徴点の局所特徴量と、前記第２の画像上の特徴点の局所特徴量と、の少なくとも一方を量子化することにより量子化特徴量を生成する量子化手段をさらに備え、
前記設定手段は、前記ペアを構成するいずれかの特徴点の量子化特徴量と同じ量子化特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との少なくとも一方に基づいて、当該数が少ないほど評価が高くなるように前記評価値を設定する
ことを特徴とする、請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記第１の画像上の特徴点の局所特徴量と、前記第２の画像上の特徴点の局所特徴量と、の少なくとも一方を量子化することにより量子化特徴量を生成する量子化手段をさらに備え、
前記設定手段は、前記ペアを構成するいずれかの特徴点の量子化特徴量に類似する量子化特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との少なくとも一方に基づいて、当該数が少ないほど評価が高くなるように前記評価値を設定する
ことを特徴とする、請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項１０】
前記量子化手段は、特徴量空間を規則に基づき分割するか又は複数の局所特徴量をクラスタリングにより分割することで、局所特徴量を量子化することを特徴とする、請求項８又は９に記載の画像処理装置。
【請求項１１】
前記設定手段は、前記ペアを構成するいずれかの特徴点の局所特徴量に類似した局所特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との少なくとも一方と、前記ペアを構成する特徴点間の局所特徴量の差と、に基づいて、当該数が少ないほど及び当該差が少ないほど評価が高くなるように前記評価値を設定することを特徴とする、請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記判定手段は、前記評価値に基づいて前記複数のペアから２以上のペアを選択する際に、第１のペアを構成する特徴点と第２のペアを構成する特徴点との画像上の距離が閾値より大きくなるように前記２以上のペアを選択することを特徴とする、請求項１乃至１１の何れか１項に記載の画像処理装置。
【請求項１３】
前記局所特徴量は濃度勾配が最大となるように画像に対して回転補正を行ってから算出されており、
前記判定手段は、前記評価値に基づいて前記複数のペアから２以上のペアを選択する際に、第１のペアを構成する特徴点の局所特徴量を求めた際の回転補正量と、第２のペアを構成する特徴点の局所特徴量を求めた際の回転補正量と、の差が閾値より小さくなるように前記２以上のペアを選択することを特徴とする、請求項１乃至１２の何れか１項に記載の画像処理装置。
【請求項１４】
複数の前記第２の画像について評価された前記類似性を参照することにより、前記類似性がより大きい第２の画像を検索する検索手段をさらに備えることを特徴とする、請求項１乃至１３の何れか１項に記載の画像処理装置。
【請求項１５】
画像処理装置が行う画像処理方法であって、
画像の局所特徴量が互いに類似するように決定されている、第１の画像上の特徴点の座標と、第２の画像上の特徴点の座標と、のペアを複数取得する取得工程と、
前記ペアのそれぞれについて評価値を設定する設定工程であって、当該ペアを構成するいずれかの特徴点の局所特徴量に類似した局所特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との少なくとも一方に基づいて、当該数が少ないほど評価が高くなるように前記評価値を設定する設定工程と、
ＲＡＮＳＡＣ法を用いて前記第１の画像と前記第２の画像との類似性を判定する判定工程とを備え、
前記判定工程は、ＲＡＮＳＡＣ法において前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する関数を導出する際に、前記評価値に基づいて前記複数のペアから選択されたペアを用いる
ことを特徴とする画像処理方法。
【請求項１６】
画像処理装置が行う画像処理方法であって、
画像の局所特徴量が互いに類似するように決定されている、第１の画像上の特徴点の座標と、第２の画像上の特徴点の座標と、のペアを複数取得する取得工程と、
前記ペアのそれぞれについて評価値を設定する設定工程であって、当該ペアを構成するいずれかの特徴点の局所特徴量に類似した局所特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との少なくとも一方に基づいて、当該数が少ないほど評価が高くなるように前記評価値を設定する設定工程と、
前記第１の画像と前記第２の画像との類似性を判定する判定工程であって、
前記評価値に基づいて前記複数のペアから選択されたペアを用いて、前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する関数を導出する処理と、
前記複数のペアのうち選択されなかったペアを用いて、前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する前記関数の変換精度を判定する処理と、
を繰り返すことにより、導出された前記関数のうち変換精度の最も高い関数を判定し、当該関数の変換精度に基づいて前記第１の画像と前記第２の画像との類似性を判定する判定工程と、
を備えることを特徴とする画像処理方法。
【請求項１７】
コンピュータを、請求項１乃至１４の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
画像の局所的な特徴量（局所特徴量）を用いて類似画像を検索する方法が提案されている。局所特徴量は、例えば以下のようにして計算できる。まず、画像から特徴的な点（特徴点）が抽出される（非特許文献１）。そして、特徴点とその周辺の画像情報とに基づいて局所特徴量が計算される（非特許文献２）。局所特徴量は一般的にベクトルとして表現される。局所特徴量が回転不変又は拡大・縮小不変であれば、画像を回転させたり、拡大又は縮小させたりした場合であっても、類似画像の計算が可能となる。例えば非特許文献２には、特徴点周辺の局所領域の画素パターンから主方向を算出し、局所特徴量算出時に主方向を基準として局所領域を回転させることにより方向の正規化を行うことで、回転不変の局所特徴量を算出することが記載されている。また、異なるスケールの画像を内部で生成し、各スケールの画像からそれぞれ特徴点の抽出と局所特徴量の算出とを行うことにより、拡大・縮小不変の局所特徴量を算出することもできる。
【０００３】
様々な方式により、１枚の画像から複数の特徴点についての局所特徴量が算出される。それぞれの画像について算出された局所特徴量同士の比較を行うことにより、類似画像のマッチングが行われる。以下では、検索元画像に類似する画像を、候補画像群から検索する場合について説明する。特許文献１に記載の投票方式では、検索元画像から抽出された特徴点についての局所特徴量と類似する局所特徴量を有する特徴点が存在する場合に、候補画像に対して投票が行われる。投票数が多いほど、候補画像は検索元画像に類似するものと判定される。
【０００４】
別の方式として、非特許文献３に記載のＲＡＮＳＡＣ処理が挙げられる。以下に、ＲＡＮＳＡＣ処理の一例について説明する。ＲＡＮＳＡＣ処理においては、２つの特徴点についての局所特徴量が閾値以上に類似するように、検索元画像の特徴点と候補画像の特徴点とのペア（特徴点ペア）が設定される。次に、複数の特徴点ペアからランダムにいくつかの特徴点ペア（例えば２つの特徴点ペア）が選択される。さらに、選択された特徴点ペアの座標（例えば２つの特徴点ペアなら４つの特徴点の座標）の座標を参照して、検索元画像の特徴点の座標を、ペアとなっている候補画像の特徴点の座標へと変換する関数、例えばアフィン変換が導出される。一例においては、検索元画像の特徴点の座標を、候補画像の特徴点の座標へと変換する変換行列が導出される。そして、残りの特徴点ペアが変換を満たしているか否か、すなわち検索元画像の特徴点の座標を変換すると候補画像の特徴点の座標になるか否かが判定される。予め定めた閾値以上の特徴点ペアが変換を満たす場合に、検索元画像は候補画像に一致すると判定される。一方で、変換を満たす特徴点ペアの数が閾値未満の場合には、新たにいくつかの特徴点ペアがランダムに選択され、同様の処理が繰り返される。反復回数が制限回数に達した場合には、検索元画像は候補画像に一致しないと判定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２８４０８４号公報
【非特許文献】
【０００６】
【非特許文献１】C.Harris and M.J. Stephens,“A combined corner and edge detector," In Alvey Vision Conference,pages 147-152, 1988.
【非特許文献２】David G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints," International Journal of Computer Vision, 60, 2 (2004), pp.91-110.
【非特許文献３】M. A. Fischler and R. C. Bolles, "Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography", Commun. ACM, No. 24, vol. 6, pp. 381-395, June 1981.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＲＡＮＳＡＣ処理においては、１組の検索元画像と候補画像とが一致するか否かを判定するために、特徴点ペアの選択、変換行列の導出、及び残りの特徴点ペアが変換を満たしているか否かの判定が繰り返される。一般的には、反復の制限回数は１００回程度に設定される。制限回数を増加させると必要とされる処理能力が増大する一方で、制限回数を減少させると安定した検索結果が得られにくくなり、類似した画像を類似していないと判定する可能性が高くなる。
【０００８】
本発明は、画像の局所特徴量を用いてＲＡＮＳＡＣ処理により類似画像を検索する際に、安定した検索結果を得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。すなわち、
画像の局所特徴量が互いに類似するように決定されている、第１の画像上の特徴点の座標と、第２の画像上の特徴点の座標と、のペアを複数取得する取得手段と、
前記ペアのそれぞれについて評価値を設定する設定手段であって、当該ペアを構成するいずれかの特徴点の局所特徴量に類似した局所特徴量を有する前記第１の画像上の特徴点の数と前記第２の画像上の特徴点の数との少なくとも一方に基づいて、当該数が少ないほど評価が高くなるように前記評価値を設定する設定手段と、
ＲＡＮＳＡＣ法を用いて前記第１の画像と前記第２の画像との類似性を判定する判定手段とを備え、
前記判定手段は、ＲＡＮＳＡＣ法において前記第２の画像上の特徴点の座標を対応する前記第１の画像上の特徴点の座標へと変換する関数を導出する際に、前記評価値に基づいて前記複数のペアから選択されたペアを用いる
ことを特徴とする。
【発明の効果】
【００１０】
画像の局所特徴量を用いてＲＡＮＳＡＣ処理により類似画像を検索する際に、安定した検索結果を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に係る画像処理装置の機器構成を示すブロック図。
【図２】実施形態１に係る画像処理装置の機能構成例を示すブロック図。
【図３】実施形態１に係る画像処理方法の一例を示すフローチャート。
【図４】実施形態１に係る特徴量抽出処理の一例を示すフローチャート。
【図５】実施形態１に係る縮小画像生成処理の一例を説明する図。
【図６】実施形態１に係る特徴量比較処理の一例を示すフローチャート。
【図７】実施形態１における特徴点ペアのリスト及び特徴量のスキーマ例を示す図。
【図８】特徴量空間上での局所特徴量分布の一例を示す図。
【図９】実施形態１におけるＮｑ（ｋ）の算出方法の一例を示すフローチャート。
【図１０】実施形態１におけるＮｓ（ｋ）の算出方法の一例を示すフローチャート。
【図１１】実施形態２に係る画像処理装置の機能構成例を示すブロック図。
【図１２】実施形態２に係る画像処理方法の一例を示すフローチャート。
【図１３】２次元の特徴量空間を格子形状に分割する方法の一例を示す図。
【図１４】実施形態２における特徴量のスキーマ例を示す図。
【図１５】実施形態２におけるインデックス化した局所特徴量の例を示す図。
【図１６】実施形態２におけるＮｑ（ｋ）の算出方法の一例を示すフローチャート。
【図１７】実施形態２におけるＮｓ（ｋ）の算出方法の一例を示すフローチャート。
【図１８】実施形態３に係る特徴量ペアの選択方法の一例を示すフローチャート。
【図１９】実施形態４に係る特徴量ペアの選択方法の一例を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例を図面に基づいて説明する。ただし、本発明の範囲は以下の実施例に限定されるものではない。
【００１３】
［実施形態１］
上述のように、ＲＡＮＳＡＣ処理においては、局所特徴量の類似性に基づいて特徴点ペアが対応付けられる。これらの特徴点ペアが同一の特徴を示している場合（特徴点ペアが正しく対応している場合）には、変換行列が精度良く導出される可能性が高い。一方で、従来のＲＡＮＳＡＣ処理において特徴点ペアはランダムに選択されるため、特徴点ペアが同一の特徴を示していない（特徴点ペアが正しく対応していない）可能性が十分に存在する。このように、特徴点ペアが正しく対応していない場合には、検索元画像の特徴点を検索先画像（候補画像）の特徴点に精度良く変換できるような変換行列が導出される可能性は低い。この場合、残りの特徴点ペアが変換を満たしているか否かを判定するための重い処理が行われた後に、新たな特徴点ペアがランダムに選択されることになる。
【００１４】
例えば、互いに局所特徴量が類似している複数の特徴点が検索元画像に存在する場合、これらの特徴点に対して局所特徴量が類似する検索先画像の特徴点が示す特徴は、複数の特徴点が示す複数の特徴のいずれかでありうる。このため、検索元画像の特徴点の１つと局所特徴量が類似している検索先画像の特徴点を選択しても、実際には検索先画像の特徴点は検索元画像の別の特徴点が示す特徴を示しており、対応付けられた特徴点が同じ特徴を示していない可能性が十分に存在する。互いに局所特徴量が類似している複数の特徴点が検索先画像に存在する場合も同様である。
【００１５】
本実施形態においては、正しく対応している可能性の高い特徴点ペアが選択される。具体的には、類似した局所特徴量を有する特徴点が少ないような特徴点が、変換行列の導出のために選択される。この特徴により、正しく対応していない特徴点ペアに基づく無駄な変換行列の導出及び判定処理を省略することが可能になる。このように、正しく対応している可能性が高い特徴点ペアを用いて変換行列の導出及び判定処理を行うことにより、ＲＡＮＳＡＣ処理における反復回数が同じであったとしても、有効な反復回数は増加する。このため、従来技術よりも信頼性の高い判定結果を安定して得ることができる。また、反復回数を減らすことにより、安定した検索結果を実現しながらも画像比較処理の速度を向上させることが可能となる。
【００１６】
以下、本発明の実施形態１について、図面を参照しながら説明する。本実施形態のコンピュータ装置１００の構成について、図１のブロック図を参照して説明する。コンピュータ装置１００は、サーバ装置又はクライアント装置等でありうる。単一のコンピュータ装置１００がサーバ装置又はクライアント装置を実現していてもよいし、必要に応じて複数のコンピュータ装置１００に各機能を分散することによりサーバ装置又はクライアント装置等が実現されてもよい。サーバ装置又はクライアント装置等を複数のコンピュータ装置１００で構成する場合には、コンピュータ装置１００が互いに通信可能なように、それぞれのコンピュータ装置１００はＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）等の通信手段で接続される。コンピュータ装置１００は、パーソナルコンピュータ（ＰＣ）又はワークステーション（ＷＳ）等の情報処理装置によって実現することができる。
【００１７】
図１において、ＣＰＵ１０１はコンピュータ装置１００全体を制御する中央処理装置である。ＲＯＭ１０２は変更を必要としないプログラム又はパラメータ等を格納する読み出し専用メモリである。ＲＡＭ１０３は外部装置等から供給されるプログラム又はデータ等を一時記憶するランダムアクセスメモリである。外部記憶装置１０４は記憶装置であり、例えばコンピュータ装置１００に固定して設置されたハードディスク又はメモリカード等でありうる。また、外部記憶装置１０４は、コンピュータ装置１００から着脱可能なフレキシブルディスク（ＦＤ）、コンパクトディスク（ＣＤ）等の光ディスク、磁気カード、光カード、ＩＣカード、又はメモリカード等であってもよい。
【００１８】
入力インターフェイス１０５はコンピュータ装置１００と入力デバイス１０９とを接続するインターフェイスである。入力デバイス１０９は、ユーザの操作を受け、データをコンピュータ装置１００へと入力する。入力デバイス１０９は、例えばポインティングデバイス又はキーボード等でありうる。出力インターフェイス１０６はコンピュータ装置１００とモニタ１１０又はプリンタ等の出力デバイスとを接続するインターフェイスである。モニタ１１０は、コンピュータ装置１００の保持するデータ又はコンピュータ装置１００に供給されたデータ等を表示する。通信インターフェイス１０７は、コンピュータ装置１００を、インターネット等のネットワーク回線１１１、又はデジタルカメラ１１２、デジタルビデオカメラ１１３若しくはスマートフォン１１４等の外部機器に接続する。システムバス１０８は、各ユニット１０１〜１０７を通信可能に接続する伝送路である。
【００１９】
後述する各部の動作は、ＲＯＭ１０２又は外部記憶装置１０４等のコンピュータ読み取り可能な記憶媒体に格納された各部の動作に対応するプログラムを、ＲＡＭ１０３に展開し、このプログラムに従ってＣＰＵ１０１が動作することにより実現できる。もっとも、後述する各部のうち全部又は一部の動作は、専用のハードウェアによって実現されてもよい。
【００２０】
次に、実施形態１に係る画像処理を説明する。実施形態１に係る画像比較装置２００は、比較元画像及び比較先画像から画像特徴量を抽出して、抽出された画像特徴量に従って比較元画像と比較先画像とを比較して比較結果を表示する。画像比較装置２００は、例えば、コンピュータ装置１００を用いて実現できる。図２は、画像比較装置２００の機能構成例を示すブロック図である。図２に示す各部が行う動作の詳細については、後述する。
【００２１】
画像取得部２０１は、比較元画像及び比較先画像を取得する。画像の種類は特に限定されず、通常の２次元画像であってもよいし、多次元の画像であってもよい。特徴量抽出部２０２は、画像取得部２０１が取得した比較元画像及び比較先画像から複数の特徴点により構成される特徴点群を抽出する。また、特徴量抽出部２０２は、それぞれの特徴点における画像の局所特徴量を算出する。
【００２２】
特徴量比較部２０３は、局所特徴量の類似性に基づいて、比較元画像の特徴点と比較先画像の特徴点とにより構成される特徴点ペアを生成することにより、特徴点ペアを複数取得する。具体的には、特徴量比較部２０３は、画像の局所特徴量が互いに類似している、比較元画像上の特徴点の座標と、比較先画像上の特徴点の座標と、のペアを生成する。さらに、特徴量比較部２０３は、特徴点ペアのそれぞれについて評価値を設定する。具体的には、特徴量比較部２０３は、特徴点ペアを構成するいずれかの特徴点の局所特徴量に類似した局所特徴量を有する比較元画像上の特徴点の数と比較先画像上の特徴点の数との少なくとも一方に基づいて評価値を設定する。この評価値は、特徴点の数が少ないほど高くなるように設定される。
【００２３】
類似度算出部２０４は、比較元画像及び比較先画像の類似性を判定する。本実施形態において、類似度算出部２０４は、ＲＡＮＳＡＣ処理を行って比較先画像を比較元画像へと変換する変換行列を導出し、この変換行列の変換精度に基づいて比較元画像と比較先画像との類似性を示す値を算出する。本実施形態では、アフィン変換行列、とりわけ相似変換行列が導出される。もっとも、ＲＡＮＳＡＣ処理により導出される関数は、比較先画像を比較元画像へと変換するための変換行列として表される必要はなく、一方の画像の座標を他方の画像の座標へと変換する関数であれば特に限定されない。結果出力部２０５は、類似度算出部２０４による比較結果を、例えばモニタ１１０等に出力する。記憶部２０６は、例えばＲＡＭ１０３等であり、処理中のデータを記憶する。これらの各部は、上述のように、ＣＰＵ１０１が動作することにより実現される。
【００２４】
図３は、実施形態１に係る画像比較装置２００が行う処理の一例を示すフローチャートである。ステップＳ３０１において、画像取得部２０１は、比較元画像を取得し、記憶部２０６に保存する。ステップＳ３０２において、特徴量抽出部２０２は、比較元画像から特徴点及び局所特徴量を抽出する。
【００２５】
図４は、ステップＳ３０２における処理の一例を示すフローチャートである。本実施形態においては、画像特徴量として画像の局所的な特徴量（局所特徴量）が用いられる。ステップＳ４０１において、特徴量抽出部２０２は、比較元画像から輝度成分を抽出し、抽出した輝度成分に基づいて輝度成分画像を生成する。
【００２６】
ステップＳ４０２で、特徴量抽出部２０２は、輝度成分画像を倍率（縮小率）ｐに従って縮小することを繰り返すことにより、オリジナルの輝度成分画像から段階的に縮小されているｎ枚の縮小画像を生成する。ここで、ｎ枚の縮小画像にはオリジナルの輝度成分画像が含まれるものとする。また、倍率ｐ及び縮小画像の枚数ｎは予め決められているものとする。縮小画像を生成する方法は特に限定されず、公知の方法を用いることができる。本実施形態においては、線形補間を用いて縮小画像を生成するものとする。
【００２７】
図５は、ステップＳ４０２における処理の一例を説明する図である。図５には、倍率ｐが２−（１／４）であり、縮小画像の枚数ｎが９である場合を示している。もちろん、倍率ｐ及び縮小画像の枚数ｎが９は異なる値であってもよい。図５には、ステップＳ４０１で生成されたオリジナルの輝度成分画像５０１が示されている。また、図５には、輝度成分画像５０１に対して倍率ｐに従って再帰的に４回の縮小処理を行って得られた縮小画像５０２が示されている。図５には、さらに、輝度成分画像５０１に対して倍率ｐに従って再帰的に８回の縮小処理を行って得られた縮小画像５０３が示されている。図５の例では、縮小画像５０２は、輝度成分画像５０１の縦横の長さを１／２に縮小して得られる画像に相当し、縮小画像５０３は、輝度成分画像５０１の縦横の長さを１／４に縮小して得られる画像に相当する。
【００２８】
ステップＳ４０３において、特徴量抽出部２０２は、比較元画像から特徴点を抽出する。本実施形態においては、ｎ枚の縮小画像の各々から、画像の回転があってもロバスト（ｒｏｂｕｓｔ）に抽出されるような特徴点が抽出される。複数の縮小画像を用いることにより、様々なスケールにおいて特徴点を検出することが可能になる。それぞれの縮小画像について抽出される特徴点の数は特に制限されない。特徴点の抽出方法は特に限定されず、従来知られている任意の方法を用いることができる。以下では、非特許文献１に記載のＨａｒｒｉｓ作用素を用いる方法について説明する。
【００２９】
具体的には、特徴量抽出部２０２は、それぞれの縮小画像にＨａｒｒｉｓ作用素を作用させ、得られた出力画像Ｈ上の各画素について、注目画素の画素値と、注目画素の近傍にある８つの画素の画素値を調べる。そして、注目画素が局所極大になる（計９画素の中で注目画素が最大の画素値を有している）場合に、注目画素を特徴点として抽出する。本実施形態では、注目画素が局所極大になったときでも、注目画素の画素値が閾値以下である場合には、注目画素は特徴点として抽出されない。
【００３０】
ステップＳ４０４で、特徴量抽出部２０２は、ステップＳ４０３で抽出された特徴点の各々について、画像の回転があっても不変となるように定義された特徴量（局所特徴量）を算出する。局所特徴量の算出方法は特に限定されず、ＳＩＦＴ等の従来知られている任意の方法を用いることができる。以下では、J.J.Koenderink and A.J.van Doorn, "Representation of local geometry in the visual system," Riological Cybernetics, vol.55, pp.367-375, 1987.に記載のＬｏｃａｌ  Ｊｅｔ及びそれらの導関数の組み合わせを用いる方法について説明する。
【００３１】
画像の回転があっても特徴量が不変となるように、濃度勾配が最大となる方向を例えば０度になる様に特徴抽出領域を回転補正してから、特徴量の計算が行われる。具体的には、以下の式（１）により局所特徴量Ｖが算出される。
【数１】
0006431302.tif 000002
【００３２】
式（１）の右辺で用いている記号は、以下に示す式（２）から式（７）で定義される。ここで、式（２）右辺のＧ（ｘ，ｙ）はガウス関数であり、Ｉ（ｘ，ｙ）は画像の座標（ｘ，ｙ）における画素値であり、「＊」は畳み込み演算を表す記号である。また、式（３）は式（２）で定義された変数Ｌのｘに関する偏導関数であり、式（４）は同じ変数Ｌのｙに関する偏導関数である。式（５）は式（３）で定義された変数Ｌｘのｙに関する偏導関数であり、式（６）は式（３）で定義された変数Ｌｘのｘに関する偏導関数であり、式（７）は式（４）で定義されたＬｙのｙに関する偏導関数である。
【００３３】
【数２】
0006431302.tif 000003
【００３４】
こうして、複数の特徴点のそれぞれについて算出された局所特徴量群を得ることができる。本実施形態においては、複数の縮小画像のそれぞれから得られた局所特徴量をまとめることにより、１つの検索元画像に対して１つの局所特徴量群が生成される。具体的には、複数の特徴点について、特徴点の座標と局所特徴量との組み合わせが記録される。本実施形態において、縮小画像から抽出された特徴点の座標としては、オリジナルの画像（縮小されていない画像）の対応する点の座標が記録される。
【００３５】
ステップＳ３０３において、画像取得部２０１は、比較先画像を取得し、記憶部２０６に保存する。ステップＳ３０４において、特徴量抽出部２０２は、比較先画像から特徴点及び局所特徴量を抽出する。これらの処理は、ステップＳ３０１及びＳ３０２と同様に行われる。
【００３６】
ステップＳ３０５において、特徴量比較部２０３及び類似度算出部２０４は、比較元画像及び比較先画像の類似性を判定する。図６は、ステップＳ３０５における処理の一例を示すフローチャートである。以下では、比較元画像の特徴点のうち１つをＱ（ｘ’，ｙ’）とし、特徴点Ｑにおける局所特徴量をＶｑとする。また、比較先画像の特徴点のうち１つをＳ（ｘ，ｙ）とし、特徴点Ｓにおける局所特徴量をＶｓとする。
【００３７】
ステップＳ６０１において、特徴量比較部２０３は、最終投票数を表す変数ＶｏｔｅＭａｘを０に初期化する。次に、ステップＳ６０２において、特徴量比較部２０３は、比較元画像の特徴点と比較先画像の特徴点との全ての組み合わせについて、特徴量間の距離を計算する。すなわち、特徴量比較部２０３は、特徴点Ｑにおける局所特徴量Ｖｑ（ベクトル）と特徴点Ｓにおける局所特徴量Ｖｓ（ベクトル）とのベクトル間距離を計算する処理を、全ての組み合わせについて行う。さらに、特徴量比較部２０３は、得られた特徴量間の距離に基づいて、特徴点ペアのリストを作成する。この特徴点ペアとは、類似した局所特徴量を有する比較元画像の特徴点と比較先画像の特徴点とのペア、すなわち近傍の局所特徴量を有する特徴点のペアのことを指す。例えば、特徴量比較部２０３は、比較元画像の特徴点のそれぞれについて、特徴量間の距離が最短であるような比較先画像の特徴点を抽出することにより、特徴点ペアのリストを作成することができる。特徴量比較部２０３は、特徴量間の距離が最短でありかつ閾値以内（Ｔｖ以下）であるような比較先画像の特徴点のみを抽出してもよい。
【００３８】
図７（Ａ）は、特徴点ペアのリストの例を示す。以下では、比較元画像のｋ番目の特徴点のことをＱｋ（ｘ’ｋ，ｙ’ｋ）と呼び、特徴点Ｑｋと特徴点ペアを構成する比較先画像の特徴点のことをＳｋ（ｘｋ，ｙｋ）と呼ぶ。また、特徴点Ｑｋ及びＳｋにおける局所特徴量をＶｑ（ｋ）及びＶｓ（ｋ）と呼ぶ。図７（Ａ）に示されるように、比較元画像のそれぞれの特徴点Ｑｋについて、特徴点Ｑｋの識別子であるＩＤと、局所特徴量Ｖｑ（ｋ）と、対応する比較先画像の特徴点Ｓｋにおける局所特徴量Ｖｓ（ｋ）とが記録される。本実施形態では、比較元画像の特徴点の数はｍ個である。以下では、説明のために、比較元画像の全ての特徴点についてペアとなる比較先画像の特徴点が決定されているものとする。このような、比較元画像の特徴点Ｑｋとペアとなる比較先画像の特徴点Ｓｋの検出方法については、図１０を参照して後に詳しく説明する。
【００３９】
本実施形態において、特徴量比較部２０３はさらに、比較元画像の特徴点のそれぞれについて、局所特徴量が類似している比較元画像の特徴点の数を取得する。例えば、特徴量比較部２０３は、比較元画像の特徴点Ｑｋとの特徴量間の距離が閾値Ｔｖ以下であるような比較元画像の特徴点の数、すなわち近傍の局所特徴量を有する特徴点の数Ｎｑ（ｋ）を取得する。Ｎｑ（ｋ）の算出方法については、図９を参照して後に詳しく説明する。また、特徴量比較部２０３は、比較元画像の特徴点のそれぞれについて、局所特徴量が類似している比較先画像の特徴点の数を取得する。例えば、特徴量比較部２０３は、比較元画像の特徴点Ｑｋとの特徴量間の距離が閾値Ｔｖ以下であるような比較先画像の特徴点の数、すなわち近傍の局所特徴量を有する特徴点の数Ｎｓ（ｋ）を取得する。Ｎｓ（ｋ）の算出方法については、図１０を参照して後に詳しく説明する。これらの情報、及び局所特徴量Ｖｑ（ｋ）とＶｓ（ｋ）との間のベクトル間距離ＤＶ（ｋ）も、特徴点ペアのリストに記録される。
【００４０】
さらに、特徴量比較部２０３は、Ｎｑ（ｋ）とＮｓ（ｋ）との積も算出する。この積は、比較先画像及び比較元画像における、近傍の特徴量を有する特徴点の数の組み合わせに相当し、特徴点ペアの信頼性を表す評価値Ｎ（ｋ）として用いられる。この評価値Ｎ（ｋ）が大きいほど、特徴点ペアは同一の特徴を示していない誤対応ペアである可能性が高いものと考えられる。すなわち、より小さい評価値Ｎ（ｋ）は、特徴点ペアの評価がより高いことを示し、変換行列を算出する際に特徴点ペアが優先して選択されるべきであることを示す。この点については、ステップＳ６０６と関連してより詳しく説明する。もっとも、Ｎｑ（ｋ）とＮｓ（ｋ）との積の代わりに、Ｎｑ（ｋ）とＮｓ（ｋ）との和を用いてもよい。この和も、特徴点ペアの信頼性を表している。
【００４１】
さらなる実施形態においては、Ｎｑ（ｋ）及びＮｓ（ｋ）以外のパラメータを参酌して、評価値Ｎ（ｋ）が算出される。例えば、一実施形態においては、特徴点ペアを構成する特徴点間での局所特徴量Ｖｑ（ｋ），Ｖｓ（ｋ）の類似度をさらに参酌することができる。例えば、Ｖｑ（ｋ）とＶｓ（ｋ）との差が少ないほど評価値Ｎ（ｋ）が小さく（評価が高く）なるように、評価値Ｎ（ｋ）を設定することができる。一実施形態において、Ｎ（ｋ）は以下のように算出される。
Ｎ（ｋ）＝Ｗ１×Ｎｑ（ｋ）×Ｎｓ（ｋ）＋Ｗ２×｜Ｖｑ（ｋ）−Ｖｓ（ｋ）｜
Ｗ１及びＷ２は重み付け係数であり、適宜設定することができる。例えば、Ｗ１及びＷ２は予め規定されていてもよい。このような実施形態においては、正しく対応している可能性がより高く、かつＶｑ（ｋ）とＶｓ（ｋ）とがより類似している特徴点ペアが、変換行列を導出するために用いる特徴点ペアとして選択されやすくなる。
【００４２】
本実施形態においては、Ｎｑ（ｋ）とＮｓ（ｋ）とを組み合わせて特徴点ペアの評価値を算出するが、Ｎｑ（ｋ）及びＮｓ（ｋ）のそれぞれについても、値が大きいほど特徴点ペアが誤対応ペアである可能性が高いものと考えられる。したがって、特徴点ペアの評価値Ｎ（ｋ）は、Ｎｑ（ｋ）又はＮｓ（ｋ）の一方であってもよい。このような、Ｎｑ（ｋ）とＮｓ（ｋ）との一方を算出するための重い処理を省略する構成によっても、反復処理の回数を減らせることが期待される。
【００４３】
また、本実施形態においては、比較元画像の特徴点Ｑｋの局所特徴量と局所特徴量が類似している比較元画像の特徴点の数Ｎｑ（ｋ）及び比較元画像の特徴点の数Ｎｓ（ｋ）に基づいて、評価値Ｎ（ｋ）が算出された。しかしながら、特徴点Ｑｋの局所特徴量と特徴点Ｓｋの局所特徴量は類似している。したがって、比較先画像の特徴点Ｓｋの局所特徴量と局所特徴量が類似している比較元画像の特徴点の数及び比較元画像の特徴点の数に基づいて、評価値Ｎ（ｋ）を算出してもよい。このように、一実施形態においては、特徴点ペアを構成するいずれかの特徴点の局所特徴量に類似した局所特徴量を有する比較元画像上の特徴点の数と比較先画像上の特徴点の数との少なくとも一方に基づいて、評価値Ｎ（ｋ）が算出される。
【００４４】
また、図７（Ｂ）は、１つの特徴点について記録される情報の例を示す。図７（Ｂ）に示すように、比較元画像の特徴点及び比較先画像の特徴点のそれぞれについて、局所特徴量Ｖｑ（ｋ）又はＶｓ（ｋ）と、座標（ｘ’ｋ，ｙ’ｋ）又は（ｘｋ，ｙｋ）と、局所特徴量を算出した際の回転補正量とが記録される。
【００４５】
もっとも、図７（Ａ）（Ｂ）に示した情報が全て算出及び記録されることは必須ではない。例えば、後述するように、本実施形態において、Ｎｑ（ｋ）とＮｓ（ｋ）との双方を用いることは必須ではなく、使用しない情報を算出する必要はない。
【００４６】
ここで、図８を参照して、特徴量ベクトル空間上での局所特徴量の分布例を示す。図８には、比較元画像の特徴量空間８１０と、比較先画像の特徴量空間８２０とが示されている。特徴量空間８１０には、比較元画像の各特徴点における局所特徴量８１１，８１２が示されている。また、特徴量空間８２０には、比較先画像の各特徴点における局所特徴量８１１〜８１４が示されている。表現上の便宜のため、特徴量空間は２次元空間として表されている。
【００４７】
特徴量空間８１０には、特徴点Ｑｋについての局所特徴量Ｖｑ（ｋ）８１１と、この特徴量Ｖｑ（ｋ）８１１を中心とする半径Ｔｖ（距離閾値）の円が示されている。この円内には、局所特徴量Ｖｑ（ｋ）８１１と、局所特徴量８１２とが存在する。したがって、比較元画像の特徴点Ｑｋとの特徴量間の距離が閾値Ｔｖ以下であるような比較元画像の特徴点の数Ｎｑ（ｋ）は、２である。
【００４８】
同様に、特徴量空間８２０にも、特徴点Ｑｋについての局所特徴量Ｖｑ（ｋ）８１１と、この特徴量Ｖｑ（ｋ）８１１を中心とする半径Ｔｖ（距離閾値）の円が示されている。この円内には、局所特徴量８２１〜８２４が存在する。したがって、比較元画像の特徴点Ｑｋとの特徴量間の距離が閾値Ｔｖ以下であるような比較先画像の特徴点の数Ｎｓ（ｋ）は、４である。また、図８には、局所特徴量Ｖｑ（ｋ）８１１に最も近い局所特徴量Ｖｓ（ｋ）８２１が示されており、それぞれに対応する特徴点ＱｋとＳｋとは特徴点ペアを形成する。この場合、比較先画像及び比較元画像における、近傍の特徴量を有する特徴点の数の組み合わせを示す値Ｎｑ（ｋ）×Ｎｓ（ｋ）は、２×４＝８となる。
【００４９】
ここで、図９のフローチャートを参照して、特徴点Ｑｋと局所特徴量が類似している比較元画像の特徴点の数Ｎｑ（ｋ）を算出する処理の一例について説明する。ステップＳ９０１において、特徴量比較部２０３は、特徴量抽出部２０２により算出された、比較元画像の各特徴点における局所特徴量を読み込む。以下では、比較元画像における特徴点の総数はｍ個であるものとし、ｉ番目の特徴点Ｑｉにおける局所特徴量をＶｑ（ｉ）と表記する。
【００５０】
ステップＳ９０２において、特徴量比較部２０３は、変数ｊを１に初期化する。また、ステップＳ９０３において、特徴量比較部２０３は、変数Ｎｑ（ｊ）を０に初期化する。
【００５１】
ステップＳ９０４において、特徴量比較部２０３は、ｍ個全ての特徴点についてステップＳ９０５〜Ｓ９１１の処理を行ったか、すなわちｊがｍを超えていないかを判定する。ｍ個全ての特徴点についての処理が終わっている場合、図９の処理は終了する。ｍ個全ての特徴点についての処理が終わっていない場合、処理はステップＳ９０５に進む。
【００５２】
ステップＳ９０５において、特徴量比較部２０３は、変数ｉを１に初期化する。ステップＳ９０６において、特徴量比較部２０３は、ｍ個全ての特徴点についてステップＳ９０８〜Ｓ９１１の処理を行ったか、すなわちｉがｍを超えていないかを判定する。ｍ個全ての特徴点についての処理が終わっている場合、処理はステップＳ９０７に進む。ｍ個全ての特徴点についての処理が終わっていない場合、処理はステップＳ９０８に進む。ステップＳ９０７において、特徴量比較部２０３は、変数ｊに１を加える。その後、処理はステップＳ９０３に戻る。
【００５３】
ステップＳ９０８において、特徴量比較部２０３は、局所特徴量Ｖｑ（ｉ）とＶｑ（ｊ）との間のベクトル間距離Ｄを算出する。ステップＳ９０９において、特徴量比較部２０３は、算出された距離Ｄが閾値Ｔｖよりも小さいか否かを判定する。距離Ｄが閾値Ｔｖよりも小さいことは、局所特徴量Ｖｑ（ｉ）と局所特徴量Ｖｑ（ｊ）とが類似していることを意味する。距離Ｄが閾値Ｔｖよりも小さい場合、処理はステップＳ９１０に進む。距離Ｄが閾値Ｔｖ以上である場合、処理はステップＳ９１１に進む。
【００５４】
ステップＳ９１０において、特徴量比較部２０３は、変数Ｎｑ（ｊ）に１を加える。ステップＳ９１１において、特徴量比較部２０３は、変数ｉに１を加え、その後処理はステップＳ９０６に戻る。
【００５５】
このようにして、特徴点Ｑｋと局所特徴量が類似している比較元画像の特徴点の数Ｎｑ（ｋ）が算出される。算出されたＮｑ（ｋ）は、特徴点ペアのリストに記録される。
【００５６】
次に、図１０のフローチャートを参照して、特徴点Ｑｋと局所特徴量が類似している比較先画像の特徴点の数Ｎｓ（ｋ）を算出する処理の一例について説明する。ステップＳ１００１において、特徴量比較部２０３は、特徴量抽出部２０２により算出された、比較元画像及び比較先画像の各特徴点における局所特徴量を読み込む。以下では、比較元画像における特徴点の総数はｍ個であるものとし、ｊ番目の特徴点Ｑｊにおける局所特徴量をＶｑ（ｊ）と表記する。また、比較先画像における特徴点の総数はｎ個であるものとし、ｉ番目の特徴点Ｓ（ｉ）における局所特徴量をＶｓ（ｉ）と表記する。
【００５７】
ステップＳ１００２において、特徴量比較部２０３は、変数ｊを１に初期化する。ステップＳ１００３において、特徴量比較部２０３は、変数Ｎｓ（ｊ）を０に初期化する。
【００５８】
ステップＳ１００４において、特徴量比較部２０３は、ｍ個全ての特徴点についてステップＳ１００５〜Ｓ１０１３の処理を行ったか否か、すなわちｊがｍに達しているか否かを判定する。全ての特徴点について処理を行っている場合、図１０の処理は終了する。全ての特徴点について処理を行っていない場合、処理はステップＳ１００５に進む。ステップＳ１００５において、特徴量比較部２０３は、変数ｉを１に初期化し、変数Ｄｍｉｎを閾値Ｔｖよりも十分に大きな値、例えば６５５３５等に初期化する。
【００５９】
ステップＳ１００６において、特徴量比較部２０３は、ｎ個全ての特徴点についてステップＳ１００７〜Ｓ１０１３の処理を行ったか否か、すなわちｉがｎに達しているか否かを判定する。全ての特徴点について処理を行っている場合、処理はステップＳ１０１４に進む。全ての特徴点について処理を行っていない場合、処理はステップＳ１００７に進む。ステップＳ１０１４において、特徴量比較部２０３は、ステップＳ１０１３で仮に選択された特徴点が存在する場合には、この特徴点を、特徴点Ｑｊとペアとなる特徴点Ｓｊとして、特徴点ペアのリストに登録する。また、特徴量比較部２０３は、特徴点Ｓｊにおける局所特徴量Ｖｓ（ｊ）を、特徴点ペアのリストに登録する。さらに、特徴量比較部２０３は、変数Ｄｍｉｎの値を、特徴点Ｑｊと特徴点Ｓｊとの間のベクトル間距離ＤＶ（ｊ）として、特徴点ペアのリストに登録する。そして、特徴量比較部２０３は、得られたＮｓ（ｋ）を、特徴点ペアのリストに登録する。ステップＳ１０１５において、特徴量比較部２０３は、変数ｊに１を加え、その後処理はステップＳ１００３に戻る。
【００６０】
ステップＳ１００７において、特徴量比較部２０３は、特徴点Ｑｊにおける局所特徴量Ｖｑ（ｊ）と、特徴点Ｓ（ｉ）における局所特徴量Ｖｓ（ｉ）との間のベクトル間距離Ｄを算出する。ステップＳ１００８において、特徴量比較部２０３は、ステップＳ１００７で算出された距離Ｄが閾値Ｔｖよりも小さいか否かを判定する。距離Ｄが閾値Ｔｖよりも小さいことは、局所特徴量Ｖｑ（ｊ）と局所特徴量Ｖｓ（ｉ）とが類似していることを意味する。距離Ｄが閾値Ｔｖよりも小さい場合、処理はステップＳ１０１０に進む。距離Ｄが閾値Ｔｖ以上である場合、処理はステップＳ１００９に進む。ステップＳ１００９において、特徴量比較部２０３は、変数ｉに１を加える。その後、処理はステップＳ１００６に戻る。
【００６１】
ステップＳ１０１０において、特徴量比較部２０３は、変数Ｎｓ（ｊ）に１を加える。ステップＳ１０１１において、特徴量比較部２０３は、ステップＳ１００７で算出された距離Ｄが変数Ｄｍｉｎよりも小さいか否かを判定する。距離Ｄが変数Ｄｍｉｎよりも小さいことは、局所特徴量Ｖｓ（ｉ）が、局所特徴量Ｖｓ（１）〜Ｖｓ（ｉ−１）よりも局所特徴量Ｖｑ（ｊ）と類似していることを意味する。距離Ｄが変数Ｄｍｉｎよりも小さい場合、処理はステップＳ１０１２に進む。距離Ｄが変数Ｄｍｉｎ以上である場合、処理はステップＳ１００９に戻る。
【００６２】
ステップＳ１０１２において、特徴量比較部２０３は、変数Ｄｍｉｎに、ステップＳ１００７で算出された距離Ｄをセットする。ステップＳ１０１３において、特徴量比較部２０３は、特徴点Ｓ（ｉ）を仮に選択する。仮に選択された特徴点Ｓ（ｉ）は、比較された特徴点Ｓ（１）〜Ｓ（ｉ）の中で、局所特徴量Ｖｑ（ｊ）に最も類似する局所特徴量を有している特徴点である。この後の処理で、局所特徴量Ｖｑ（ｊ）により類似する局所特徴量を有する特徴点が発見された場合、選択される特徴点は更新される。その後、処理はステップＳ１００９に戻る。
【００６３】
このようにして、特徴点Ｑｋと局所特徴量が最も類似している比較先画像の特徴点Ｓｋが判定されるとともに、特徴点Ｑｋと局所特徴量が類似している比較先画像の特徴点の数Ｎｓ（ｋ）が算出される。本実施形態では、特徴点Ｑｋと局所特徴量が最も近くかつ局所特徴量の差が閾値Ｔｖ以内である、比較先画像の特徴点Ｓｋが、特徴点Ｑｋとペアになる特徴点Ｓｋとして選択される。
【００６４】
以上のように、ステップＳ６０２において、特徴量比較部２０３は、図７に示すような特徴点ペアのリストを作成する。本実施形態において、特徴量比較部２０３は、Ｎ（ｋ）の値が昇順となるように、特徴点ペアのリストをソートする。
【００６５】
ステップＳ６０３において、類似度算出部２０４は、変数Ｃｏｕｎｔを０に初期化する。変数Ｃｏｕｎｔは、変換行列導出及び評価処理（ステップＳ６０５〜Ｓ６１８）の反復回数を表す。次に、ステップＳ６０４で、類似度算出部２０４は、反復回数Ｃｏｕｎｔが予め定められた最大反復回数Ｒｎを超えているか否かを判定する。反復回数Ｃｏｕｎｔが予め定められた最大反復回数Ｒｎを超えている場合、処理はステップＳ６１９へ進む。反復回数Ｃｏｕｎｔが予め定められた最大反復回数Ｒｎを超えていない場合、処理はステップＳ６０５に進む。ステップＳ６１９において、類似度算出部２０４は、最終投票数ＶｏｔｅＭａｘを結果出力部２０５へと出力し、図７の処理を終了する。出力された最終投票数ＶｏｔｅＭａｘは、ステップＳ６０７で導出された相似変換のうちもっとも投票数が多かったものについての投票数であり、比較元画像と比較先画像との類似度を表している。ステップＳ６０５において、類似度算出部２０４は、投票数を表す変数Ｖｏｔｅを０に初期化する。
【００６６】
ステップＳ６０６において、類似度算出部２０４は、特徴点ペアのリストを参照して、特徴点ペアを２組抽出する。通常のＲＡＮＳＡＣ法では、複数の特徴点ペアから、ランダムに２組の特徴点ペアを選択する。しかしながら、本実施形態においては、上述した特徴点ペアの評価値Ｎ（ｋ）を参照することにより、同一の特徴を示していない誤対応ペアである可能性が低い特徴点ペアが選択される。
【００６７】
すなわち、Ｎ（ｋ）が大きいということは、特徴点ペアは誤対応ペアである可能性が高いことを示す。例えば、Ｎ（ｋ）＝２の場合、特徴点ペアが正しく対応している確率は、概ね１／２となってしまう。一方で、Ｎ（ｋ）が小さい特徴点ペアを選ぶことにより、正しく対応している可能性が高い特徴点ペアを用いてステップＳ６１０〜Ｓ６１５の処理を行うことができる。このように、本実施形態においては、評価値Ｎ（ｋ）に基づいて複数の特徴量ペアから２組の特徴量ペアが選択される。
【００６８】
理想的には、Ｎｑ（ｋ）＝Ｎｓ（ｋ）＝１であるような特徴点ペアを選択することが望ましい。しかしながら、必ずしもこのような特徴点ペアが存在するとは限らない。本実施形態においては、できるだけＮ（ｋ）が小さい特徴点ペアが優先的に選択される。ステップＳ６０２において、特徴点ペアのリストは、Ｎ（ｋ）の値が昇順となるようにソートされている。したがって、類似度算出部２０４は、リストの上位からに特徴点ペアを２組ずつ選択することができる。具体的な一例としては、類似度算出部２０４は、初回の処理においてはｋ＝１の特徴点ペア及びｋ＝２の特徴点ペアを選択し、２回目の処理においてはｋ＝２の特徴点ペア及びｋ＝３の特徴点ペアを選択する。このように、類似度算出部２０４は、１個ずつずらしながら２つの特徴点ペアを選択していく。
【００６９】
もっとも、上記の特徴点ペアの選択方法は一例にすぎない。例えば、初回の処理においてはｋ＝１の特徴点ペア及びｋ＝２の特徴点ペアを選択し、２回目の処理においてはｋ＝１の特徴点ペア及びｋ＝３の特徴点ペアを選択してもよい。以下に、先に２以上の特徴点ペアの第１のセットが選択され、後から２以上のペアの第２のセットが選択される場合について説明する。一実施形態においては、明らかに評価の低い（又は評価値が大きい）特徴量ペアのセットが先に選択されないように、特徴量ペアのセットが選択される。例えば、第１のセットに含まれる少なくとも１つの特徴量ペアの評価が、第２のセットに含まれる少なくとも１つの特徴量ペアの評価よりも高くなるように、２つのセットは選択される。別の実施形態においては、特徴量ペアのセットに含まれる特徴量ペアのうち最も評価が高いものに従って、特徴量ペアのセットが選択される。例えば、第１のセットに含まれる最も評価が高いペアの評価が、前記第２のセットに含まれる最も評価が高いペアの評価以上となるように、２つのセットは選択される。さらには、特徴量ペアのセットに含まれる特徴量ペアのそれぞれの評価値に基づいて算出される値に基づいて、特徴量ペアのセットを選択してもよい。例えば、第１のセットに含まれる特徴量ペアのそれぞれの評価値の和又は積等が、第２のセットに含まれる特徴量ペアのそれぞれの評価値の和又は積等よりも小さくなるように、２つのセットを選択することができる。このような選択方法は、３以上の特徴量ペアを選択する場合にも適用可能である。
【００７０】
ステップＳ６０７において、類似度算出部２０４は、変換先画像上の特徴点の座標を対応する変換元画像上の特徴点の座標へと変換する関数を導出する。この処理は、通常のＲＡＮＳＡＣ法で行われる処理に類似しているが、関数の導出にはステップＳ６０６で評価値Ｎ（ｋ）に基づいて選択された特徴量ペアが用いられる。以下では、一方の特徴点ペアを構成する特徴点をＱ１（ｘ’１，ｙ’１）及びＳ１（ｘ１，ｙ１）とし、他方の特徴点ペアを構成する特徴点をＱ２（ｘ’２，ｙ’２）及びＳ２（ｘ２，ｙ２）とする。
【００７１】
まず、Ｑ１（ｘ’１，ｙ’１）、Ｓ１（ｘ１，ｙ１）、Ｑ２（ｘ’２，ｙ’２）、及びＳ２（ｘ２，ｙ２）が式（８）に示す変換を満たしていると仮定し、式（８）中の変数ａからｆが求められる。変数ａ〜ｄで構成される行列を変換行列Ｍと呼び、変数ｅ〜ｆで構成される行列を変換行列Ｔと呼ぶ。
【００７２】
【数３】
0006431302.tif 000004
【００７３】
本実施形態においては、簡略化のため、特徴点Ｑ１，Ｑ２の座標を特徴点Ｓ１，Ｓ２の座標に変換する相似変換が導出される。この場合、上記式（８）は以下の式（９）のように書き換えられる。
【００７４】
【数４】
0006431302.tif 000005
【００７５】
このとき、変数ａ、ｂ、ｅ、ｆはｘ’１、ｙ’１、ｘ１、ｙ１、ｘ’２、ｙ’２、ｘ２及びｙ２を使って式（１０）から式（１３）で表される。
【００７６】
【数５】
0006431302.tif 000006
【００７７】
ステップＳ６０８で、類似度算出部２０４は、特徴点ペアを示す変数ｋを初期化する。類似度算出部２０４は、ステップＳ６０６で選択されなかった特徴点ペアのうち特徴点ペアのリストの先頭にあるものを示すように、変数ｋを初期化する。本実施形態においては、１回目の反復処理においてはｋ＝１及びｋ＝２の特徴点ペアが選択されているため、ｋは３に初期化される。また、２回目以降の反復処理においてはｋ＝１の特徴点ペアは選択されないため、ｋは１に初期化される。
【００７８】
ステップＳ６０９で、類似度算出部２０４は、全ての特徴点ペアについてステップＳ６１０〜Ｓ６１５の投票処理を行ったか、すなわち変数ｋが特徴点ペアの総数ｍを超えているかを判定する。超えている場合、処理はステップＳ６１６に進む。超えていない場合、処理はステップＳ６１０に進む。
【００７９】
ステップＳ６１０で、類似度算出部２０４は、特徴点ペアのリストから特徴点ペアＱｋ（ｘ’ｋ，ｙ’ｋ），Ｓｋ（ｘｋ，ｙｋ）を抽出する。変数ｋはステップＳ６０６で選択されなかった特徴点ペアを示すように設定されるため、ステップＳ６１０においては、ステップＳ６０６で選択された特徴点ペアＱ１，Ｓ１及びＱ２，Ｓ２以外が抽出される。ステップＳ６１１で、類似度算出部２０４は、式（９）に従って座標Ｓｋ（ｘｋ，ｙｋ）を変換することにより座標Ｓ’ｋ（ｘ’ｋ，ｙ’ｋ）を求める。この座標Ｓ’ｋ（ｘ’ｋ，ｙ’ｋ）は、特徴点Ｓｋ（ｘｋ，ｙｋ）を、ステップＳ６０７で導出された相似変換に従って座標変換することにより得られる座標である。
【００８０】
ステップＳ６１２で、類似度算出部２０４は、座標Ｓ’ｋ（ｘ’ｋ，ｙ’ｋ）と座標Ｑｋ（ｘ’ｋ，ｙ’ｋ）との誤差Ｄ（Ｓ’ｋ，Ｑｋ）を算出する。本実施形態において、類似度算出部２０４は座標Ｓ’ｋ（ｘ’ｋ，ｙ’ｋ）と座標Ｑｋ（ｘ’ｋ，ｙ’ｋ）との幾何学的距離、例えばユークリッド距離を算出し、座標間の誤差として用いる。こうして算出された誤差は、検索先画像上の座標Ｓｋを検索元画像上の座標へと変換する、ステップＳ６０７で導出された関数の変換精度を表している。この誤差が小さいほど、関数の変換精度は高いといえる。そして、類似度算出部２０４は、算出された誤差Ｄ（Ｓ’ｋ，Ｑｋ）が小さいか否か、例えば閾値Ｔｄ以下であるか否かを判定する。誤差Ｄ（Ｓ’ｋ，Ｑｋ）が閾値Ｔｄ以下の場合、処理はステップＳ６１３へ進む。誤差Ｄ（Ｓ’ｋ，Ｑｋ）が閾値Ｔｄを超える場合、処理はステップＳ６１５へ進む。
【００８１】
ステップＳ６１３において、類似度算出部２０４は、ステップＳ６１０で抽出した座標Ｑｋ（ｘ’ｋ，ｙ’ｋ）及び座標Ｓｋ（ｘｋ，ｙｋ）の組を、精度良く変換できた特徴点ペアを記録するリストに記録する。もっとも、座標Ｓ’ｋ（ｘ’ｋ，ｙ’ｋ）を記録してもよい。この情報は、検索元画像と検索先画像との間で合致している部分領域を求める際に活用することが可能である。ステップＳ６１４において、類似度算出部２０４は、投票数Ｖｏｔｅをインクリメントし、例えばすなわち投票数Ｖｏｔｅに１を加える。この投票数Ｖｏｔｅは、ステップＳ６０７で導出された相似変換により精度良く座標変換できた特徴点ペアの数を示している。すなわち、投票数Ｖｏｔｅがより大きいことは、ステップＳ６０７で導出された変換行列の変換精度がより高いことを示す。
【００８２】
ステップＳ６１５で、類似度算出部２０４は、変数ｋをインクリメントする。ここで、類似度算出部２０４は、ステップＳ６０６で選択されなかった特徴点ペアを示すように、変数ｋをインクリメントする。例えば、２回目以降の反復処理においては、ｋ＝２及びｋ＝３の特徴点ペアが選択されているため、ｋは１の次は４に設定される。以上のステップＳ６０９〜Ｓ６１５を繰り返すことにより、ステップＳ６０６で選択されなかった特徴点ペアのそれぞれを用いて、Ｓ６０７で導出された関数の変換精度が判定される。
【００８３】
ステップＳ６１６で、類似度算出部２０４は、投票数Ｖｏｔｅの値と最終投票数ＶｏｔｅＭａｘの値とを比較する。投票数Ｖｏｔｅの値が最終投票数ＶｏｔｅＭａｘの値よりも大きい場合、処理はステップＳ６１７へ進む。投票数Ｖｏｔｅの値が最終投票数ＶｏｔｅＭａｘの値以下の場合、処理はステップＳ６１８へ進む。ステップＳ６１７において、類似度算出部２０４は、最終投票数ＶｏｔｅＭａｘの値を投票数Ｖｏｔｅの値で置き換える。ステップＳ６１８において、類似度算出部２０４は、反復回数Ｃｏｕｎｔをインクリメントし、例えば反復回数Ｃｏｕｎｔに１を加える。その後、処理はステップＳ６０４に戻る。
【００８４】
図６のフローチャートにおいては、最大反復回数ＲｎだけステップＳ６０５〜Ｓ６１８の処理が繰り返された。すなわち、Ｒｎ個の変換行列がステップＳ６０７で導出され、それぞれの変換行列について変換精度が判定される。ステップＳ６１６及びＳ６１７では導出された変換行列のうちもっとも変換精度が高いものが判定され、この変換行列についての投票数Ｖｏｔｅの値に従って、検索元画像と検索先画像との類似性が判定される。
【００８５】
別の実施形態においては、投票数Ｖｏｔｅが所定の閾値を超えた場合、反復処理を終了してもよい。例えば、ステップＳ６０４において、最終投票数ＶｏｔｅＭａｘが所定の閾値を超えている場合、処理はステップＳ６１９に進んでもよい。このような構成は、例えば、複数の比較先画像から、比較元画像に類似している画像を検索する場合に有利である。このような実施形態によれば、精度の低い変換行列が導出される可能性が下がって投票数Ｖｏｔｅが多くなり、その結果より少ない反復回数で投票数Ｖｏｔｅが閾値以上である画像、すなわち比較元画像に類似している比較先画像を検出することができる。
【００８６】
ステップＳ３０６において、結果出力部２０５は、類似度算出部２０４から受け取った、比較元画像と比較先画像との類似度を示す値ＶｏｔｅＭａｘを出力する。値ＶｏｔｅＭａｘがより大きいことは、より多くの特徴量ペアについて座標値が相似変換を満たしていること、すなわち画像がより良好な相似関係を有することを示している。したがって、値ＶｏｔｅＭａｘが大きいほど、比較元画像と比較先画像とは類似しているといえる。
【００８７】
結果出力部２０５は、出力インターフェイス１０６を介して得られた類似度をモニタ１１０へと出力してもよい。また、結果出力部２０５は、通信インターフェイス１０７を介して得られた結果を外部機器に出力してもよい。さらに、さらなる処理、例えば比較元画像に最も類似している比較先画像を検出する処理のために、結果出力部２０５は、ＲＡＭ１０３又は外部記憶装置１０４等の記憶部に得られた結果を格納してもよい。
【００８８】
上述の説明においては、選択された特徴点ペアを用いて相似変換が導出された。しかしながら、用いられる座標変換は相似変換には限られず、その他の幾何学変換を用いることもできる。この場合、ステップＳ６０７において、導出しようとする変換に対応した変換行列が算出される。例えば、アフィン変換を用いる場合、ステップＳ６０６において、３組の対応点ペアが選択される。そして、ステップＳ６０７においては、式（９）の代わりに式（８）を用いて、ステップＳ６０６で選択された３組の対応点ペア（合計６点）を用いて変数ａ〜ｆが導出される。
【００８９】
本実施形態によれば、正しく対応している可能性の高い特徴点ペアを用いて変換行列を導出することにより、精度の低い座標変換関数が導出される可能性を下げ、画像検索処理を安定的に行うことができる。
【００９０】
［実施形態２］
以下、本発明の実施形態２について、図面を参照しながら説明する。実施形態１では、ステップＳ６０２において、図１０及び図１１の処理により、ＶｑとＶｓとのベクトル特徴量間距離を全ての組み合わせについて計算するので計算量が多い事が課題である。本実施形態では、代わりに、比較元画像及び比較先画像の局所特徴量が予め量子化され、それぞれの量子化値について属する局所特徴量の数が予め記述される。そして、本実施形態では、特徴点Ｑｋと同じ量子化値を有する比較元画像の特徴点の数がＮｑ（ｋ）として、特徴点Ｑｋと同じ量子化値を有する比較先画像の特徴点の数がＮｓ（ｋ）として、それぞれ用いられる。
【００９１】
図１１は、実施形態２に係る画像比較装置１１００の機能構成例を示すブロック図である。画像取得部１１０１、特徴量抽出部１１０２、特徴量比較部１１０５及び類似度算出部１１０６は、実施形態１の画像取得部２０１、特徴量抽出部２０２、特徴量比較部２０３及び類似度算出部２０４と同様である。また、結果出力部１１０７及び記憶部１１０８は、実施形態１の結果出力部２０５及び記憶部２０６と同様である。これらの各部については、以下では相違点についてのみ説明する。特徴量量子化部１１０３は、特徴量抽出部１１０２で抽出されたそれぞれの局所特徴量を量子化する。頻度計測部１１０４は、量子化値ごとの局所特徴量の出現頻度を計測する。
【００９２】
次に、実施形態２に係る処理の一例を示す図１２のフローチャートを参照して、画像比較装置１１００が備える各部の動作をより詳しく説明する。ステップＳ１２０１において、画像取得部１１０１は比較元画像を取得し、記憶部１１０８に保存する。ステップＳ１２０２で、特徴量抽出部１１０２は、実施形態１と同様に、比較元画像から特徴点群及び特徴点における局所特徴量群を抽出する。
【００９３】
図１４には、局所特徴量を記録する際に用いられるスキーマ例を示す。局所特徴量には、識別子として、ユニークな局所特徴量ＩＤが付与される。また、局所特徴量の情報として、局所特徴量ベクトルと、局所特徴量が得られた特徴点の座標情報が記録される。本実施形態においては、比較元画像から抽出された全ての局所特徴量がこのような形で記憶される。
【００９４】
ステップＳ１２０３で特徴量量子化部１１０３は、ステップＳ１２０２で抽出された局所特徴量群を量子化することにより、比較元画像の量子化局所特徴量群を生成する。実施形態２においては、実施形態１と同様、Ｌｏｃａｌ  Ｊｅｔ及びそれらの導関数の組み合わせにより各特徴点から算出された、Ｎ次元のベクトルである局所特徴量が用いられる。ここでは、Ｎ次元のうちのｎ番目の次元の特徴量が、Ｋｎ階調に量子化される。ここで、Ｎ及びＫｎはあらかじめ決められているものとする。
【００９５】
具体的には、特徴量量子化部１１０３は、以下の式（１４）に従って局所特徴量を量子化する。
Ｑｎ＝（（Ｖｎ−Ｖｎ＿ｍｉｎ）＊Ｋｎ）／（Ｖｎ＿ｍａｘ−Ｖｎ＿ｍｉｎ＋１）      ・・・（１４）
ここで、Ｑｎは、Ｎ次元のうちのｎ番目の次元の特徴量Ｖｎを量子化した値である。Ｖｎ＿ｍａｘ及びＶｎ＿ｍｉｎは、それぞれｎ番目の次元の特徴量が取りうる値の最大値及び最小値である。
【００９６】
量子化局所特徴量は、各次元について算出された量子化値によって構成される。また、量子化局所特徴量群は、局所特徴量群を構成する局所特徴量について算出された量子化局所特徴量のそれぞれを含む。
【００９７】
本実施形態においては、次元ごとに量子化階調数が設定される。しかしながら、階調数はいくつかの次元について共通であってもよいし、全次元について共通であってもよい。式（１４）に従う量子化方法は、図１３（Ａ）に示すように、特徴量空間を格子状に分割する方法に相当する。図１３（Ａ）には、格子状の各量子化領域１３０１及び局所特徴量１３０２が示されている。一方で、特徴量空間の分割方法は特に限定されない。例えば、図１３（Ｂ）に示す形状に特徴量空間を分割してもよい。図１３（Ａ）（Ｂ）には、二次元の特徴量空間が分割された様子が示されているが、実際にはＮ次元の特徴量空間について分割が行われる。
【００９８】
また、多次元特徴量空間を分割可能な方法であれば、式（１４）に従う規則を用いる必要はなく、どのような分割方法を用いて局所特徴量を量子化してもよい。例えば、複数の画像に対して機械学習を行うことによりクラスタリングのルールを作成し、作成されたルールに従って局所特徴量をクラスタリングしてもよく、これは多次元特徴量空間を分割することに相当する。
【００９９】
また、各次元についての量子化を行った後、量子化値群のラベル化を行うこともできる。例えば、以下の式（１５）に従って量子化ラベルＩＤＸを算出することができ、この量子化ラベルＩＤＸは１次元の特徴量と同様に扱うことができる。
ＩＤＸ＝Ｑ１＋Ｑ２×Ｋ１＋Ｑ３×Ｋ１×Ｋ２＋・・・＋Ｑｎ×Ｋ１×Ｋ２×・・・×Ｋｎ−１  ・・・（１５）
【０１００】
全次元の階調数が共通である場合は、以下の式（１６）に従って量子化ラベルＩＤＸを算出することもできる。ここで、Ｋは共通の階調数である。
【０１０１】
【数６】
0006431302.tif 000007
【０１０２】
もっとも、ラベル化方法は上記の方法には限定されず、例えば式（１５）又は（１６）以外の式に従って量子化ラベルを算出することもできる。また、ラベル化を行うことは必須ではなく、多次元の量子化特徴量について出現頻度の計測を行ってもよい。
【０１０３】
ステップＳ１２０４で、頻度計測部１１０４は、ステップＳ１２０３で生成された量子化局所特徴量群について、量子化値ごとの局所特徴量の出現頻度を計測する。図１５は、ステップＳ１２０４において作成される、局所特徴量の出現頻度を記録するテーブルの一例を示す。図１５のテーブルには、量子化ラベルＩＤＸごとに、該当する量子化ラベルを有する局所特徴量のＩＤが記録されている。局所特徴量ＩＤに対応する実際の局所特徴量は、図１４に示す記録を参照することにより取得することができる。また、図１５のテープルには、それぞれの量子化ラベルＩＤＸについて、該当する量子化ラベルを有する局所特徴量の数が記録されている。
【０１０４】
ステップＳ１２０５で、画像取得部１１０１は、比較先画像を取得し、記憶部１１０８に保存する。ステップＳ１２０６で、特徴量抽出部１１０２は、比較先画像から特徴点群及び特徴点における局所特徴量群を抽出する。ステップＳ１２０７で、特徴量量子化部１１０３は、ステップＳ１２０６で抽出された局所特徴量群を量子化することにより、比較先画像の量子化局所特徴量群を生成する。本実施形態において、特徴量量子化部１１０３は、同じ方法を用いて、比較元画像の局所特徴量と比較先画像の局所特徴量とを量子化する。ステップＳ１２０８で、頻度計測部１１０４は、ステップＳ１２０７で生成された量子化局所特徴量群について、量子化値ごとの局所特徴量の出現頻度を計測する。ステップＳ１２０５〜Ｓ１２０８の処理は、処理対象となる画像が異なることを除いては、ステップＳ１２０１〜Ｓ１２０４の処理と同様であり、説明を省略する。
【０１０５】
ステップＳ１２０９で特徴量比較部１１０５及び類似度算出部１１０６は、比較元画像及び比較先画像の類似性を判定する。ステップＳ１２０９の処理は実施形態１のステップＳ３０５と類似しているが、ステップＳ３０５の処理を詳しく示す図９のステップＳ６０２における処理が異なる。具体的には、比較元画像の特徴点Ｑｋとペアとなる比較先画像の特徴点Ｓｋの検出方法、並びにＮｑ（ｋ）及びＳｑ（ｋ）の算出方法が異なる。本実施形態におけるこれらの方法について、図１６及び１７を参照して以下に詳しく説明する。
【０１０６】
図１６は、本実施形態における、特徴点Ｑｋと局所特徴量が類似している比較元画像の特徴点の数Ｎｑ（ｋ）を算出する処理の一例を示すフローチャートである。ステップＳ１６０１〜Ｓ１６０４については、図９のステップＳ９０１〜Ｓ９０４と同様であるから、説明を省略する。
【０１０７】
ステップＳ１６０４においてｍ個全ての特徴点についての処理が終わっていないと判定された場合、処理はステップＳ１６０５に進む。ステップＳ１６０５において、特徴量比較部１１０５は、特徴点Ｑｊの局所特徴量Ｖｑ（ｊ）についての量子化ラベルＬ１を取得する。量子化ラベルは、上述のように、ステップＳ１２０３で算出されている。
【０１０８】
ステップＳ１６０６において、特徴量比較部１１０５は、比較元画像における、量子化ラベルＬ１を有する局所特徴量の数を取得する。この処理は、ステップＳ１２０４で作成された、図１５に示すテーブルを参照することにより容易に行うことができる。同じ量子化ラベルを有する局所特徴量は、互いに類似しているものと考えられる。すなわち、量子化ラベルＬ１を有する局所特徴量の数は、特徴点Ｑｊの局所特徴量Ｖｑ（ｊ）と類似する局所特徴量を有する特徴点の数として用いることができる。そして、特徴量比較部１１０５は、得られた局所特徴量の数をＮｑ（ｊ）に代入する。ステップＳ１６０７において、特徴量比較部１１０５は、ｊをインクリメントし、すなわちｊに１を加え、その後処理はステップＳ１６０３に戻る。
【０１０９】
図１７は、本実施形態における、特徴点Ｑｋに対応する特徴点Ｓｋを検出する処理、及び特徴点Ｑｋと局所特徴量が類似している比較先画像の特徴点の数Ｎｓ（ｋ）を算出する処理の一例を示すフローチャートである。ステップＳ１７０１〜Ｓ１７０４については、図１０のステップＳ１００１〜Ｓ１００４と同様であるから、説明を省略する。
【０１１０】
ステップＳ１７０４においてｍ個全ての特徴点についての処理が終わっていないと判定された場合、処理はステップＳ１７０５に進む。ステップＳ１７０５において、特徴量比較部１１０５は、特徴点Ｑｊの局所特徴量Ｖｑ（ｊ）についての量子化ラベルＬ１を取得する。量子化ラベルは、上述のように、ステップＳ１２０３で算出されている。
【０１１１】
ステップＳ１７０６において、特徴量比較部１１０５は、比較先画像における、量子化ラベルＬ１を有する局所特徴量の数を取得する。この処理は、ステップＳ１２０８で作成されたテーブルを参照することにより容易に行うことができる。そして、特徴量比較部１１０５は、得られた局所特徴量の数をＮｓ（ｊ）に代入する。
【０１１２】
ステップＳ１７０７において、特徴量比較部１１０５は、Ｎｓ（ｊ）が０であるか否かを判定する。Ｎｓ（ｊ）が０である場合、すなわち特徴点Ｑｊと局所特徴量が類似している比較先画像の特徴点が存在しない場合、処理はステップＳ１７１６に進む。ステップＳ１７１６で、特徴量比較部１１０５は、ｊをインクリメントし、すなわちｊに１を加え、その後処理はステップＳ１７０３に戻る。ステップＳ１７０７においてＮｓ（ｊ）が０ではない場合、処理はステップＳ１７０８に進む。
【０１１３】
ステップＳ１７０８において、特徴量比較部１１０５は、カウンタｉを１に初期化し、また変数Ｄｍｉｎを閾値Ｔｖよりも十分に大きな値、例えば６５５３５等に初期化する。変数Ｄｍｉｎは、特徴点Ｑｊの局所特徴量Ｖｑ（ｊ）と同じ量子化ラベルを有する比較先画像の局所特徴量のそれぞれについて、Ｖｑ（ｊ）との距離Ｄを順次算出する際に、最小の距離Ｄを仮に格納する変数である。ステップＳ１７０９において、特徴量比較部１１０５は、カウンタｉがＮｓ（ｊ）以下であるか否かを判定する。超えている場合には、処理はステップＳ１７１５に進む。超えていない場合、処理はステップＳ１７１０に進む。
【０１１４】
ステップＳ１７１０において、特徴量比較部１１０５は、Ｖｑ（ｊ）と、比較先画像における量子化ラベルＬ１を有するｉ番目の局所特徴量Ｖｓ＜ｉ＞との間のベクトル間距離Ｄを算出する。ｉ番目の局所特徴量の局所特徴量ＩＤは、ステップＳ１２０８で作成されたテーブル及びステップＳ１２０６で記録された情報を参照して取得することができる。
【０１１５】
ステップＳ１７１１において、特徴量比較部１１０５は、ステップＳ１７１０で算出された距離Ｄと、変数Ｄｍｉｎとの比較を行う。距離Ｄの方が小さい、すなわち距離Ｄが最小である場合、処理はステップＳ１７１２に進む。距離Ｄが変数Ｄｍｉｎ以上である場合、処理はステップＳ１７１４に進む。
【０１１６】
ステップＳ１７１２において、特徴量比較部１１０５は、変数Ｄｍｉｎを距離Ｄで更新する。ステップＳ１７１３において、特徴量比較部１１０５は、局所特徴量Ｖｓ＜ｉ＞を有する特徴点Ｓ＜ｉ＞を仮に選択する。仮に選択された特徴点Ｓ＜ｉ＞は、比較された特徴点Ｓ＜１＞〜Ｓ＜ｉ−１＞の中で、局所特徴量Ｖｑ（ｊ）に最も類似する局所特徴量を有している特徴点である。この後の処理で、局所特徴量Ｖｑ（ｊ）により類似する局所特徴量を有する特徴点が発見された場合、選択される特徴点は更新される。
【０１１７】
ステップＳ１７１４で、特徴量比較部１１０５は、カウンタｉをインクリメント、すなわちｉに１を加える。その後、処理はステップＳ１７０９に戻る。
【０１１８】
ステップＳ１７１５において、特徴量比較部１１０５は、ステップＳ１７１３で仮に選択された特徴点が存在する場合には、この特徴点を、特徴点Ｑｊとペアとなる特徴点Ｓｊとして、特徴点ペアのリストに登録する。また、特徴量比較部１１０５は、特徴点Ｓｊにおける局所特徴量Ｖｓ（ｊ）を、特徴点ペアのリストに登録する。さらに、特徴量比較部１１０５は、変数Ｄｍｉｎの値を、特徴点Ｑｊと特徴点Ｓｊとの間のベクトル間距離ＤＶ（ｊ）として、特徴点ペアのリストに登録する。その後、処理はステップＳ１７１６に進む。
【０１１９】
以上の処理により、Ｎｑ（ｋ）及びＮｓ（ｋ）が求められる。その後、実施形態１と同様に、特徴量比較部１１０５は、特徴点ペアの評価値Ｎ（ｋ）を算出し、この値が昇順となるように特徴点ペアのリストをソートする。ステップＳ６０３以降の処理は実施形態１と同様であり、説明を省略する。
【０１２０】
実施形態１では、局所特徴量Ｖｑと局所特徴量Ｖｓとの間のベクトル特徴量間距離が、全ての特徴点の組み合わせについて算出された。一方で、本実施形態においては、局所特徴量が量子化され、それぞれの量子化値に属する局所特徴量が予め抽出される。この情報を参照することにより、１つの局所特徴量Ｖｑに類似する局所特徴量Ｖｑ又は局所特徴量Ｖｓを容易に検索することができる。ベクトル特徴量間距離の計算は、検索された局所特徴量Ｖｑ又はＶｓについて行えばよいため、計算量を大幅に削減することができる。
【０１２１】
なお、比較先画像の局所特徴量について量子化ラベルのようなインデックスを作成することは、画像検索システムにおける常套手段であるから、量子化ラベルを算出するための負荷は大きな問題にはならないものと考えられる。
【０１２２】
本実施形態においては、比較元画像及び比較先画像の局所特徴量が予め量子化された。しかしながら、比較元画像と比較先画像との双方について局所特徴量を予め量子化することは必須ではない。例えば、上述のように特徴点ペアの評価値Ｎ（ｋ）をＮｑ（ｋ）とＮｓ（ｋ）の一方を用いて算出する場合、比較元画像と比較先画像との一方の局所特徴量について量子化が行われればよい。このように、一実施形態においては、比較元画像上の特徴点の局所特徴量と、比較先画像上の特徴点の局所特徴量と、の少なくとも一方を量子化することにより、量子化特徴量が算出される。また、実施形態１と同様に、Ｎｑ（ｋ）及びＮｓ（ｋ）は、比較先画像上の特徴点Ｓｋと同じ量子化値を有する比較元画像及び比較先画像の特徴点の数であってもよい。このように、一実施形態においては、Ｎｑ（ｋ）及びＮｓ（ｋ）は、特徴点ペアを構成する比較元画像上又は比較先画像上の特徴点の量子化特徴量と同じ特徴量を有する、比較元画像上及び比較先画像上の特徴点の数を表す。そして、特徴点ペアについての評価値Ｎ（ｋ）は、こうして得られたＮｑ（ｋ）及びＮｓ（ｋ）の少なくとも一方に基づいて、これらの数が少ないほど高くなるように設定される。
【０１２３】
また、別の実施形態においては、Ｎｑ（ｋ）及びＮｓ（ｋ）は、特徴点ペアを構成する比較元画像上又は比較先画像上の特徴点の量子化特徴量と類似する特徴量を有する、比較元画像上及び比較先画像上の特徴点の数を表す。例えば、Ｎｑ（ｋ）及びＮｓ（ｋ）は、特徴点ペアを構成する特徴点が属する量子化領域（又はクラスタリング領域）に属する特徴点の数と、この量子化領域に隣接する量子化領域（又はクラスタリング領域）に属する特徴点の数と、の和であってもよい。ある量子化領域（又はクラスタリング領域）に隣接する量子化領域（又はクラスタリング領域）は、予め定義されていてもよい。
【０１２４】
［実施形態３］
実施形態１，２では、ＲＡＮＳＡＣ処理により変換行列を導出するために用いる特徴点ペアとして、正しく対応している可能性の高い特徴点ペアが選択された。実施形態３においては、さらに、画像上での特徴点同士の距離が遠くなるように、特徴点ペアが選択される。このような構成により、特徴点同士の距離が近すぎるために得られる変換行列の精度が低くなることが防止される。実施形態３の処理は、ステップＳ６０６における処理が異なることを除いて実施形態１，２と同様である。以下では、実施形態１との違いについて説明する。
【０１２５】
図１８は、実施形態３におけるステップＳ６０６の処理を示すフローチャートである。ステップＳ１８０１において、類似度算出部２０４は、ステップＳ６０２で作成された特徴点ペアのリストを読み込む。上述したように、特徴点ペアのリストは、Ｎ（ｋ）の値が昇順となるようにソートされている。また、特徴点ペアのリストには、ｍ組の特徴点ペアが登録されている。
【０１２６】
ステップＳ１８０２において、類似度算出部２０４は、特徴点ペアのリストに対する参照カウンタｉにＣ１をセットする。次に、ステップＳ１８０３において、類似度算出部２０４は、特徴点ペアのリストに対する参照カウンタｊにＣ２をセットする。図６のフローチャートの開始時に、Ｃ１及びＣ２には１がセットされている。以下の処理では、ｉ番目の特徴点ペアと、ｉ＋ｊ番目の特徴点ペアとの間で、画像上での距離が判定される。
【０１２７】
ステップＳ１８０４において、類似度算出部２０４は、（ｉ＋１）＞ｍであるか否か、すなわち全ての特徴点ペアの組み合わせについて判定を行ったか否かを判定する。（ｉ＋１）＞ｍである場合、図１８の処理は終了する。（ｉ＋１）≦ｍである場合、処理はステップＳ１８０５に進む。
【０１２８】
ステップＳ１８０５において、類似度算出部２０４は、（ｉ＋ｊ）＞ｍであるか否か、すなわち１つの特徴点ペアｉについて、特徴点ペアｉ＋１〜ｍの全てに対する判定が行われたか否かを判定する。（ｉ＋ｊ）＞ｍである場合、処理はステップＳ１８０６に進む。（ｉ＋ｊ）≦ｍである場合、処理はステップＳ１８０７に進む。ステップＳ１８０６において、類似度算出部２０４は、ｉをインクリメント、すなわちｉに１を加える。
【０１２９】
ステップＳ１８０７において、類似度算出部２０４は、ｉ番目の特徴点ペアのうち比較元画像上の特徴点と、ｉ＋ｊ番目の特徴点ペアのうち比較元画像上の特徴点と、の間距離Ｄｑを算出する。さらに、ステップＳ１８０８において、類似度算出部２０４は、ｉ番目の特徴点ペアのうち比較先画像上の特徴点と、ｉ＋ｊ番目の特徴点ペアのうち比較先画像上の特徴点と、の間距離Ｄｓを算出する。
【０１３０】
ステップＳ１８０９において、類似度算出部２０４は、Ｄｑ＞ＴｄｑかつＤｓ＞Ｔｄｓであるか否かを判定する。この条件を満たす場合、処理はステップＳ１８１１に進む。この条件を満たさない場合、処理はステップＳ１８１０に進む。
【０１３１】
Ｔｄｑ及びＴｄｓは、座標間距離の閾値であり、ＤｑがＴｄｑよりも大きいことは、比較元画像上において、ｉ番目及びｉ＋ｊ番目の特徴点ペアを構成するそれぞれの特徴点間の距離が十分に離れていることを意味する。また、ＤｓがＴｄｓよりも大きいことは、比較先画像上において、ｉ番目及びｉ＋ｊ番目の特徴点ペアを構成するそれぞれの特徴点間の距離が十分に離れていることを意味する。本実施形態においては、この条件を満たす場合、ｉ番目の特徴点ペアとｉ＋ｊ番目の特徴点ペアとは画像上で十分に離れていると判定される。この場合、これらの特徴点ペアが近すぎるために、これらの特徴点ペアを用いて生成された変換行列の精度が低くなる可能性は低いと考えられるため、これらの特徴点ペアは変換行列の生成のために用いられる。閾値Ｔｄｑ及びＴｄｓの設定方法は特に限定されず、例えば予め定義された値でありうる。閾値Ｔｄｑと閾値Ｔｄｓとは同じ値であってもよい。
【０１３２】
もっとも、ＤｑとＤｓとの双方について閾値よりも大きいか否かを判定する必要はない。すなわち、一実施形態においては、比較元画像と比較先画像との少なくとも一方において、第１の特徴点ペアを構成する特徴点と第２の特徴点ペアを構成する特徴点との画像上の距離が閾値より大きくなるように、第１及び第２の特徴点ペアが選択される。
【０１３３】
ステップＳ１８１０において、類似度算出部２０４は、ｊをインクリメント、すなわちｊに１を加え、その後処理はステップＳ１８０５に戻る。
【０１３４】
ステップＳ１８１１にて、類似度算出部２０４は、特徴点ペアのリストのうち、ｉ番目の特徴点ペアと、ｉ＋ｊ番目の特徴点ペアとを選択する。また、類似度算出部２０４は、変数Ｃ１にｉをセットし、変数Ｃ２にｊをセットする。こうして、ステップＳ６０６の処理が終了する。こうして選択された２組の特徴点ペアを用いて、ステップＳ６０７〜Ｓ６１８の処理が行われる。ステップＳ６０５〜Ｓ６１８の処理が繰り返し行われる場合、再びステップＳ６０６にて、新たな２組の特徴点ペアが選択される。この場合、ステップＳ１８１１でセットされたＣ１＝ｉ及びＣ２＝ｊを用いて処理が行われる。すなわち、画像上での距離が十分に離れている２つの特徴点ペアの探索が継続されることになる。
【０１３５】
上述の説明では、２つの特徴点ペアについて、画像上での距離が十分に離れているか否かが判定された。しかしながら、本実施形態の方法は、３つ以上の特徴点ペアを選択する場合にも拡張可能である。すなわち、複数の特徴点ペアを構成する特徴点間の画像上の距離に基づいて、複数の特徴点ペアを選択することができる。具体的な方法は特に限定されないが、例えば複数の特徴点ペアに含まれる任意の２つの特徴点ペア間の距離が閾値より大きくなるように、複数の特徴点ペアを選択することができる。また、複数の特徴点ペアに含まれる少なくとも１つの特徴点ペアの組み合わせについて、特徴点ペア間の距離が閾値より大きくなるように、複数の特徴点ペアを選択することもできる。
【０１３６】
実施形態３では、抽出された特徴点ペアのうち、正しく対応している可能性が高く、かつ画像上での距離が十分に離れている複数の特徴点ペアが、変換行列を求めるために用いられる。このため、精度の低い座標変換関数が導出される可能性を下げ、画像検索処理を安定的に行うことができる。
【０１３７】
［実施形態４］
実施形態４では、局所特徴量を算出する際に行われた回転角度補正が類似している複数の特徴点ペアが選択され、変換行列を導出するために用いられる。ステップＳ４０４においては、画像が回転していても特徴量が不変となるように、濃度勾配が最大となるように画像に対して回転補正が行われた。局所特徴量としてＳＩＦＴ等を用いる場合であっても、特徴量の算出の際に回転補正を行うことができる。このときの回転補正量は、図７に示す局所特徴量のスキーマ例に示すように、局所特徴量の１つとして記憶することができる。ところで、同一のオブジェクトから検出された複数の特徴点について、局所特徴量を算出する際の回転補正量は同じ程度の値になることが想定される。そこで、本実施形態では、ＲＡＮＳＡＣ処理により変換行列を導出するために、正しく対応している可能性が高く、回転補正量が類似している複数の特徴点ペアが選択される。このような構成によれば、同一のオブジェクトに関する複数の特徴点ペアが選択される可能性が高くなり、導出される変換行列の精度が高くなることが期待される。
【０１３８】
実施形態４の処理は、ステップＳ６０６における処理が異なることを除いて実施形態１，２と同様である。実施形態３の処理に対して、以下の実施形態４の処理を組み合わせることもまた容易である。例えば、特徴点間距離に関する条件と、回転補正量に関する条件と、の双方が満たされる特徴点ペアのセットを選択することもできる。以下では、実施形態１との違いについて説明する。
【０１３９】
図１９は、実施形態４におけるステップＳ６０６の処理を示すフローチャートである。ステップＳ１９０１〜Ｓ１９０６及びＳ１９１０〜Ｓ１９１１の処理は、図１８のステップＳ１８０１〜Ｓ１８０６及びＳ１８１０〜Ｓ１８１１の処理と同様であり、詳細な説明は省略する。
【０１４０】
ステップＳ１９０７において、類似度算出部２０４は、ｉ番目の特徴点ペアのうち比較元画像上の特徴点について記録されている回転補正量と、ｉ＋ｊ番目の特徴点ペアのうち比較元画像上の特徴点について記録されている回転補正量と、の差Ａｑを算出する。ステップＳ１９０８において、類似度算出部２０４は、ｉ番目の特徴点ペアのうち比較先画像上の特徴点について記録されている回転補正量と、ｉ＋ｊ番目の特徴点ペアのうち比較先画像上の特徴点について記録されている回転補正量と、の間距離Ａｓを算出する。
【０１４１】
ステップＳ１９０９において、類似度算出部２０４は、Ａｑ＜ＴａｑかつＡｓ＜Ｔａｓであるか否かを判定する。この条件を満たす場合、処理はステップＳ１９１１に進む。この条件を満たさない場合、処理はステップＳ１９１０に進む。
【０１４２】
Ｔａｑ及びＴａｓは、回転補正量の閾値であり、ＡｑがＴｄｑよりも小さいことは、ｉ番目及びｉ＋ｊ番目の特徴点ペアを構成する比較元画像上の特徴点間について、局所特徴量を算出した際の回転補正量が揃っていることを意味する。また、ＡｓがＴｄｓよりも小さいことは、ｉ番目及びｉ＋ｊ番目の特徴点ペアを構成する比較先画像上の特徴点間について、局所特徴量を算出した際の回転補正量が揃っていることを意味する。本実施形態においては、この条件を満たす場合、ｉ番目の特徴点ペアとｉ＋ｊ番目の特徴点ペアとは、回転補正量が類似していると判定される。この場合、これらの特徴点ペアは変換行列の生成のために用いられる。閾値Ｔａｑ及びＴａｓの設定方法は特に限定されず、例えば予め定義された値でありうる。閾値Ｔａｑと閾値Ｔａｓとは同じ値であってもよい。一実施形態において、閾値Ｔａｑ及び閾値Ｔａｓは５度であり、経験的にはこの場合良好な精度が得られるものと考えられる。
【０１４３】
もっとも、ＡｑとＡｓとの双方について閾値よりも小さいか否かを判定する必要はない。すなわち、一実施形態においては、比較元画像と比較先画像との少なくとも一方について、第１の特徴点ペアを構成する特徴点の局所特徴量を求めた際の回転補正量と、第２の特徴点ペアを構成する特徴点の局所特徴量を求めた際の回転補正量と、の差が求められる。そして、求められた差が閾値より小さくなるように、第１及び第２の特徴点ペアが選択される。
【０１４４】
図１９のフローチャートに従って選択された２組の特徴点ペアを用いて、ステップＳ６０７〜Ｓ６１８の処理が行われる。
【０１４５】
上述の説明では、２つの特徴点ペアについて、回転補正量が類似しているか否かが判定された。しかしながら、本実施形態の方法は、３つ以上の特徴点ペアを選択する場合にも拡張可能である。すなわち、複数の特徴点ペアを構成する特徴点についての回転補正量に基づいて、複数の特徴点ペアを選択することができる。具体的な方法としては、実施形態３で説明した方法と同様の方法が挙げられる。
【０１４６】
実施形態４では、抽出された特徴点ペアのうち、正しく対応している可能性が高く、かつ回転補正量が揃っている複数の特徴点ペアが、変換行列を求めるために用いられる。このため、精度の低い座標変換関数が導出される可能性を下げ、画像検索処理を安定的に行うことができる。
【０１４７】
［その他の実施形態］
実施形態１〜４に従って判定された比較元画像と比較先画像との類似性は、複数の比較先画像から、比較元画像に類似する画像を検索するために用いることができる。例えば、検索部（不図示）は、複数の比較先画像のそれぞれについて、比較元画像との類似性を示す値ＶｏｔｅＭａｘを取得する。そして、検索部は、より大きい値ＶｏｔｅＭａｘが得られた比較先画像を、比較元画像に類似する画像として判定することができる。一実施形態において、検索部は、最も大きい値ＶｏｔｅＭａｘが得られた比較先画像を、比較元画像に類似する画像として判定することができる。別の実施形態において、検索部は、値ＶｏｔｅＭａｘが閾値以上である比較先画像を、比較元画像に類似する画像として判定することができる。この場合、検索部は、値ＶｏｔｅＭａｘに従って比較先画像をソートしてもよい。
【０１４８】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１４９】
２００：画像検索装置  ２０２：特徴量抽出部  ２０３：特徴量比較部  ２０４：類似性判定部
【図１】
0006431302.tif 000008
【図２】
0006431302.tif 000009
【図３】
0006431302.tif 000010
【図４】
0006431302.tif 000011
【図５】
0006431302.tif 000012
【図６】
0006431302.tif 000013
【図７】
0006431302.tif 000014
【図８】
0006431302.tif 000015
【図９】
0006431302.tif 000016
【図１０】
0006431302.tif 000017
【図１１】
0006431302.tif 000018
【図１２】
0006431302.tif 000019
【図１３】
0006431302.tif 000020
【図１４】
0006431302.tif 000021
【図１５】
0006431302.tif 000022
【図１６】
0006431302.tif 000023
【図１７】
0006431302.tif 000024
【図１８】
0006431302.tif 000025
【図１９】
0006431302.tif 000026