説明

画像検索装置、画像検索方法及びプログラム

【課題】利用価値の高い順序で検索結果を得ることができるようにする。
【解決手段】特徴量間の距離が最小となる局所特徴量の組合せにおいて、縮小画像の生成処理において縮小画像のサイズが大きい方から順に解像度に応じて付与されるスケール番号の差を解像度の差と定義し、最も頻度の高い解像度の差を類似度の重み付け係数に反映させ、得られた最終投票数VoteMaxに掛け合わせて最終的な類似度として出力するようにして、画像の解像度が反映された検索結果を出力できるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、局所特徴点及び局所特徴量に基づく検索を行うために用いて好適な画像検索装置、画像検索方法及びプログラムに関する。
【背景技術】
【0002】
従来、画像の局所的な特徴量(局所特徴量)を用いて類似画像を検索する方法が提案されている。この方法では、まず、画像から特徴的な点(局所特徴点)を抽出する。抽出方法については例えば非特許文献1に開示されている方法が挙げられる。そして、当該特徴点とその周辺の画像情報とに基づいて、当該特徴点に対応する特徴量(局所特徴量)を計算する。局所特徴量については例えば非特許文献2に開示されている方法によって計算することができる。このように画像の検索は、局所特徴量同士のマッチングによって行われる。
【0003】
局所特徴量を利用する手法においては、局所特徴量を回転不変、拡大・縮小不変となる複数の要素で構成される情報として定義する。これにより、画像を回転させたり、拡大又は縮小させたりした場合であっても、画像を検索することができる。また、局所特徴量は一般的にベクトルとして表現される。ただし、局所特徴量が回転不変、拡大・縮小不変であることは理論上の話であり、実際のデジタル画像においては、画像の回転や拡大・縮小処理前の局所特徴量と処理後の対応する局所特徴量との間に若干の変動が生じる。
【0004】
例えば非特許文献2に記載の方法では、回転不変の局所特徴量を算出するために、局所特徴点周辺の局所領域の画素パターンから主方向を算出し、局所特徴量の算出時に主方向を基準に局所領域を回転させて方向を正規化する。また、拡大・縮小不変の局所特徴量を算出するために、異なる解像度の画像を内部で生成し、各解像度の画像からそれぞれ局所特徴点を抽出し、局所特徴量を算出する。ここで、内部で生成した一連の異なる解像度の画像集合は一般的にスケールスペースと呼ばれる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】C.Harris and M.J. Stephens,"A combined corner and edge detector," In Alvey Vision Conference,pages 147-152, 1988.
【非特許文献2】David G. Lowe, "Distinctive Image Features from Scale-Invariant Keypoints," International Journal of Computer Vision, 60, 2 (2004), pp.91-110.
【非特許文献3】J. J. Koenderink and A. J. van Doorn, "Representation of local geometry in the visual system," Riological cybernetics, vol.55, pp.367-375, 1987.
【非特許文献4】M. A. Fischler and R. C. Bollers, "Random sample consensus: A paradigm formodel fitting with applications to image analysis and automated cartography," Commum. ACM, no.24, vol.6, pp.381-395, June 1981.
【発明の概要】
【発明が解決しようとする課題】
【0006】
検索結果により画像が表示される順位は、多くの場合、クエリ画像と登録画像との間の類似度が局所特徴量のマッチングにより算出され、その類似度を用いて決定される。局所特徴量のマッチング方法としては、局所特徴量をベクトルに表現してベクトル間の距離を測るものや、ハッシュ表を用いる方法などがある。ところが、このような従来の方法では、検索結果の画像の利用価値の順序と結果の表示順序とが合致しないことがある。このような現象が生じる場合の例とその原因について以下に説明する。
【0007】
例えば、クエリ画像と同じ解像度で回転のない第1の登録画像と、クエリ画像よりはるかに解像度が高いが若干回転している第2の登録画像とが検索される場合を考える。まず、局所特徴量をマッチングするために、前述のように、それぞれの画像に対してスケールスペースを生成し、各解像度の画像から回転不変の局所特徴量を算出する。
【0008】
このとき、第2の登録画像からは、クエリ画像には存在しない高解像度の画像がスケールスペースに含まれ、その画像からも局所特徴量が算出される。ところが、これらの局所特徴量は検索時のクエリ画像との局所特徴量のマッチングには寄与しない。クエリ画像と重なる解像度のスケールスペースから算出された第2の登録画像の局所特徴量だけが、クエリ画像との局所特徴量同士のマッチングに寄与することになる。
【0009】
ここで、第2の登録画像とクエリ画像との間でマッチした局所特徴量ペアのベクトル間距離は、第1の登録画像とクエリ画像との間でマッチした局所特徴量ペア間のベクトル間距離よりも大きくなる可能性が高い。これは、クエリ画像に対して第1の登録画像が回転していない一方で第2の登録画像は若干回転していることに起因する。すなわち、第2の登録画像は回転によって画像にノイズが付与され、そのノイズが局所特徴量を変動させるからである。
【0010】
この結果、クエリ画像と第1の登録画像との類似度は、解像度の高い第2の登録画像との類似度よりも大きくなる。ところが、第2の登録画像の回転量がユーザの気にならない程度の回転量であった場合には、解像度の高い第2の登録画像の方が第1の登録画像よりも利用価値が高いことがある。例えば、解像度の高い画像の方が、画像の回転や拡大など画像加工時の画質劣化問題を回避しやすいため、再利用性に優れている。
【0011】
このように、従来の方法では検索結果の画像の利用価値の順序と結果の表示順序とが合致しないという現象が容易に生じ得るという問題がある。
【0012】
本発明は前述の問題点に鑑み、利用価値の高い順序で検索結果を得ることができるようにすることを目的としている。
【課題を解決するための手段】
【0013】
本発明の画像検索装置は、入力画像を用いて予め登録されている登録画像を検索する画像検索装置であって、前記入力画像及び登録画像から局所的な局所特徴を抽出する局所特徴抽出手段と、前記局所特徴抽出手段によって抽出された局所特徴に基づいて前記入力画像と前記登録画像との間の第1の類似度を算出する第1の類似度算出手段と、前記第1の類似度算出手段によって算出された第1の類似度と、前記入力画像及び登録画像の解像度情報とに基づいて前記入力画像と前記登録画像との間の第2の類似度を算出する第2の類似度算出手段と、前記第2の類似度算出手段によって算出された第2の類似度に応じて検索結果を出力する出力手段とを備えることを特徴とする。
【発明の効果】
【0014】
本発明によれば、画像の解像度が反映された利用価値の高い順序で検索結果を出力することができる。
【図面の簡単な説明】
【0015】
【図1】実施形態における画像検索装置の構成例を示すブロック図である。
【図2】実施形態において、画像の局所特徴点及び局所特徴量を抽出する処理手順の一例を示すフローチャートである。
【図3】図2のステップS204における縮小画像の生成処理の概要を説明する図である。
【図4】局所特徴点の抽出する概要を説明する図である。
【図5】解像度を考慮しないで類似度を算出する処理手順の一例を示すフローチャートである。
【図6】実施形態における類似度を算出する処理手順の一例を示すフローチャートである。
【図7】実施形態における画像検索装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について、図面を参照しながら説明する。
図1は、本実施形態における画像検索装置100の構成例を示すブロック図である。
図1において、画像検索装置100は、第1の画像入力部102、第2の画像入力部105、第1の局所特徴点/局所特徴量抽出部103、第2の局所特徴点/局所特徴量抽出部106及び局所特徴量比較部107から構成されている。
【0017】
画像検索装置100では、入力画像101が第1の画像入力部102に入力されると、第1の局所特徴点/局所特徴量抽出部103は、局所特徴として局所特徴点とその局所特徴量とを抽出する。同様に、比較対象となる入力画像104が第2の画像入力部105に入力されると、第2の局所特徴点/局所特徴量抽出部106は、局所特徴として局所特徴点とその局所特徴量とを抽出する。本実施形態では、入力画像101をクエリ画像とし、比較対象となる入力画像104をデータベースに登録されている登録画像として説明する。また、局所特徴点とその局所特徴量とを抽出する処理の詳細については後述する。
【0018】
局所特徴点/局所特徴量比較部107は、第1の局所特徴点/局所特徴量抽出部103及び第2の局所特徴点/局所特徴量抽出部106で抽出されたそれぞれの局所特徴点及び局所特徴量同士を比較し、画像表示順序として比較結果108を出力する。この局所特徴点及び局所特徴量の比較処理の詳細についても後述する。
【0019】
図7は、本実施形態に係る画像検索装置1400のハードウェア構成例を示すブロック図である。
図7において、画像検索装置1400は例えばパーソナルコンピュータであり、ROM1430には、後述するフローチャートの処理をCPU1410の制御により実現させるプログラムが格納されている。そして、プログラムを実行させる際には、ROM1430に格納されたプログラムをRAM1420に読み出してCPU1410が処理できるようにしている。
【0020】
バス1450は、ROM1430、RAM1420、CPU1410及びHDD1440とデータのやりとりを行う。また、画像検索装置1400は、ユーザインターフェース1460に接続されるキーボードやマウスなどの入出力機器からの入力を受ける。さらに、画像検索装置1400は、ネットワークインターフェース1470を介してネットワーク1500を経由し、データベース(DB)1510、クライアント端末(CLIENT)1520、及びプリンタ(PRINTER)1530とデータの入出力を行う。
【0021】
また、複数のハードウェアとソフトウェアとの協働によって後述する実施形態の処理を実現してもよい。例えば、画像検索装置1400がクライアント端末1520やプリンタ1530から検索依頼とクエリ画像とを受け付け、後述するフローチャートの処理を行い、データベース1510からクエリ画像に類似する画像を検索する形態が挙げられる。
【0022】
[局所特徴抽出処理]
次に、画像の局所特徴(局所特徴点及び局所特徴量)抽出処理を説明する。画像の局所特徴抽出処理は、画像データを読み出すステップ、輝度成分の抽出ステップ、縮小画像の作成ステップ、局所特徴点の抽出ステップ、及び局所特徴量の算出ステップからなる。
【0023】
図2は、本実施形態において、画像の局所特徴点及び局所特徴量を抽出する処理手順の一例を示すフローチャートである。
まず、ステップS201により処理を開始し、ステップS202において、第1の画像入力部102及び第2の画像入力部105は、それぞれの画像データを読み出す。そして、ステップS203において、第1の局所特徴点/局所特徴量抽出部103及び第2の局所特徴点/局所特徴量抽出部106はそれぞれ、画像データから輝度成分を抽出し、輝度成分画像を生成する。
【0024】
次に、ステップS204において、第1の局所特徴点/局所特徴量抽出部103及び第2の局所特徴点/局所特徴量抽出部106はそれぞれ、ステップS203で作成した当該輝度成分画像を倍率pに従って順次縮小し、縮小画像をn枚生成する。ただし、倍率p及び縮小画像の枚数nは予め決められているものとする。
【0025】
図3は、図2のステップS204における縮小画像の生成処理の概要を説明する図である。なお、図3では、倍率pを2の−(1/4)乗とし、縮小画像の枚数nを9とした場合の例を示している。また、図3に示す例では、倍率pを面積比ではなく辺の長さの比としている。
【0026】
図3において、301はステップS203で作成した輝度成分画像である。302は輝度成分画像301から倍率pに従って4回縮小された縮小画像であり、輝度成分画像301を1/2に縮小した画像に相当する。また、303は輝度成分画像301から倍率pに従って8回縮小された縮小画像であり、輝度成分画像301を1/4に縮小した画像に相当する。なお、画像を縮小する方法は単純に画素を間引く方法、線形補間を用いる方法、低域フィルタ適用後にサンプリングする方法などを用いることができるが、何れの方法でもよい。本実施形態では、線形補間による縮小方法を用いて画像を縮小するものとする。
【0027】
304はスケール番号であり、縮小画像のサイズが大きい方から順に解像度に応じて付与される番号である。本実施形態では、スケール番号は1から始まるようにしているが、0から始まるようにしてもよい。
【0028】
図2の説明に戻り、次に、ステップS205において、第1の局所特徴点/局所特徴量抽出部103及び第2の局所特徴点/局所特徴量抽出部106は、ステップS204で得られたn枚の縮小画像のそれぞれから局所的な特徴点(局所特徴点)を抽出する。ここで抽出する局所特徴点は、画像に回転や縮小などの画像処理を施しても同じ場所から安定的に抽出されるようなロバストな局所特徴点である。このような局所特徴点を抽出する方法として、本実施形態では、非特許文献1に記載されているHarris作用素を用いる。
【0029】
具体的には、Harris作用素を作用させて得られた画像の画素それぞれについて、着目画素とその周辺にある8つの画素との合計9画素の画素値を調べる。そして、着目画素の画素値が予め定めた値以上であり、かつ局所極大になる(当該9画素の中で当該画素の画素値が最大になる)場合に、その着目画素が位置する点を局所特徴点として抽出する。なお、ロバストな局所特徴点を抽出可能な方法であれば、上述のHarris作用素による特徴点抽出方法に限らず、どのような特徴点抽出方法でも適用可能である。
【0030】
次に、ステップS206において、ステップS205で得られた局所特徴点それぞれについて、画像の回転があっても不変となるように定義された特徴量(局所特徴量)を算出する。この局所特徴量の算出方法として、本実施形態では非特許文献3に記載されているLocal Jet及びそれらの導関数の組み合わせを用いる。この方法により算出される局所特徴量は、拡大縮小、回転に対して、比較的高い耐性を持つような特性を持たせることができる。具体的には、以下の式(1)により局所特徴量を算出する。
【0031】
【数1】

【0032】
ただし、式(1)の右辺で用いている記号は、以下の式(2)から式(7)に示すように定義される。
【0033】
【数2】

【0034】
ここで、式(2)右辺のG(x,y)はガウス関数であり、I(x,y)は画像の座標(x,y)における画素値であり、"*"は畳み込み演算を表す記号である。また、式(3)は式(2)で定義された変数Lのxに関する偏導関数であり、式(4)は当該変数Lのyに関する偏導関数である。式(5)は式(3)で定義された変数Lxのyに関する偏導関数である。式(6)は式(3)で定義された変数Lxのxに関する偏導関数であり、式(7)は式(4)で定義されたLyのyに関する偏導関数である。
【0035】
なお、局所特徴量の算出方法は、上述の方法に限らず他の局所特徴量の算出方法も適用可能である。他の局所特徴量の算出方法として、例えば非特許文献2に記載されている方法がある。この方法では、局所特徴点周辺の局所領域内の各画素に対して画素値の勾配方向を算出し、そのヒストグラムを局所特徴量としている。
【0036】
図4は、局所特徴点の抽出する概要を説明する図である。図4(a)は入力画像410を示しており、図4(b)は、入力画像410から抽出した局所特徴点421、422を重畳した入力画像420を示している。図4に示す例では、局所特徴点421、422に対してそれぞれ局所特徴量が計算される。
【0037】
[類似度算出方法]
まず、一般的な方法を用いて類似度を算出する方法について説明する。類似度の算出方法では様々な方法を用いることができるが、以下の説明では、例えば非特許文献4に記載されているRANSACを利用した類似度算出方法について説明する。
【0038】
ここで、入力画像の局所特徴点をQとし、その座標をQ(x',y')とし、その局所特徴点Qの局所特徴量をVqとする。また、比較対象となる入力画像の画像上の局所特徴点をSとして、その座標をS(x,y)とし、その局所特徴点Sの局所特徴量をVsとする。
【0039】
図5は、解像度を考慮しないで類似度を算出する処理手順の一例を示すフローチャートである。
ステップS501で処理を開始すると、ステップS502において、局所特徴量Vqと局所特徴量Vsとを照合して最小距離対応点リストを作成する。具体的には、まず、局所特徴量Vqと局所特徴量Vsとの全ての組み合わせについて局所特徴量間の距離を計算する。次に、計算した局所特徴量間の距離が閾値Tv以下となり、かつ、最小距離となるような局所特徴量Vqと局所特徴量Vsとの組み合わせ(対応点)を抽出する。これらの対応点を最小距離対応点リストに登録することにより、最小距離対応点リストを作成する。
【0040】
ここで、最小距離対応点リストには、例えばk番目の最小距離対応点をそれぞれQk、Skと表わし、これらの座標をQk(xk',yk')、Sk(xk,yk)とし、添え字を合わせて記載する。なお、1つの局所特徴点に対応付けられる局所特徴量は2つ以上あってもよいが、以下の説明では説明を簡略化するため、1つの局所特徴点に対応付けられる局所特徴量は1つだけとする。そして、前記Qk、Skの局所特徴量をそれぞれVq(k)、Vs(k)とする。また、ステップS502では、m組の対応点が最小距離対応点リストに登録されるものとする。
【0041】
次に、ステップS521において、mが3以上であるか否かを判定する。この判定の結果、mが3未満である場合は、類似度を算出できないため、ステップS522に進み、処理を終了する。
【0042】
一方、ステップS521の判定の結果、mが3以上である場合は、ステップS503において、最終投票数を表す変数VoteMaxを0に初期化する。そして、ステップS504において、類似度算出処理の反復カウント数を表す変数Countを0に初期化する。
【0043】
次に、ステップS505において、反復カウント数Countが予め定められた最大反復処理回数Rnを超えていないか否かを判定する。この判定の結果、反復カウント数Countが最大反復処理回数Rnを超えていない場合はステップS506へ進み、投票数を表す変数Voteを0に初期化する。一方、ステップS505の判定の結果、反復カウント数Countが最大反復処理回数Rnを超えている場合には、ステップS519へ進み、最終投票数VoteMaxを類似度として出力し、ステップS520において処理を終了する。
【0044】
次に、ステップS507において、最小距離対応点リストから対応点の組の座標をランダムに2組抽出する。ここで、抽出した2組の座標をQ1(x1',y1')、S1(x1,y1)、及びQ2(x2',y2')、S2(x2,y2)と定義する。そして、ステップS508において、変換行列M、Tを計算する。ここで、行列Mは、以下の式(8)において変数a〜dで構成される行列であり、行列Tは変数e〜fで構成される行列である。
【0045】
【数3】

【0046】
ここで、以下の説明では説明を簡略化するため、相似変換だけを考える。この場合には、上記式(8)は以下の式(9)のように書き換えられる。
【0047】
【数4】

【0048】
また、式(9)における変数a、b、e、fは、座標Q1(x1',y1')、S1(x1,y1)及びQ2(x2',y2')、S2(x2,y2)の座標値を用いて以下の式(10)〜式(13)で表すことができる。
【0049】
【数5】

【0050】
次に、ステップS509において、ステップS507で最短距離対応点リストからランダムに抽出された2組の点以外の点を選択するために、対応点選択変数kを3に初期化する。そして、ステップS510において、対応点選択変数kが最短距離対応点リストに登録されている対応点の組数mを超えていないか否かを判定する。この判定の結果、組数mを超えている場合はステップS516へ進む。ステップS516の処理については後述する。
【0051】
一方、ステップS510の判定の結果、組数mを超えていない場合は、ステップS511において、最小距離対応点リストから新たな対応点の組を1組抽出する。ここでは、抽出した座標をSk(xk,yk)、Qk(xk',yk')と定義する。なお、抽出する際には、ステップS507と同様に付加情報を利用する。
【0052】
次に、ステップS512において、式(9)によりSk(xk,yk)を変換した座標Sk'(xk",yk")を求める。その後、ステップS513において、座標Sk'(xk",yk")と座標Qk(xk',yk')との幾何学的距離をユークリッド距離で計算し、当該ユークリッド距離が閾値Td以下であるか否かを判定する。この判定の結果、当該ユークリッド距離が閾値Td以下の場合はステップS514へ進み、投票数Voteをインクリメントした後、ステップS515へ進む。一方、ステップS513の判定の結果、当該ユークリッド距離が閾値Tdより大きい場合は、何もせずにステップS515へ進む。
【0053】
次に、ステップS515において、対応点選択変数kをインクリメントし、ステップS510に戻り、対応点選択変数kが最短距離対応点リストに登録されている対応点の組数mを超えるまで、上述の処理を繰り返す。
【0054】
次に、ステップS510で、対応点選択変数kが当該対応点リストに登録されている対応点の組数mを超えた場合について説明する。ステップS516においては、投票数Voteの値と最終投票数VoteMaxの値とを比較し、投票数Voteの値が最終投票数VoteMaxの値よりも大きいか否かを判定する。この判定の結果、投票数Voteの値が最終投票数VoteMaxの値よりも大きい場合にはステップS517へ進む。
【0055】
ステップS517においては、最終投票数VoteMaxの値を投票数Voteの値で置き換える。そして、ステップS518において反復カウント数Countをインクリメントし、ステップS505に戻る。一方、ステップS516の判定の結果、投票数Voteの値が最終投票数VoteMaxの値以下の場合にはステップS518へ処理を移し、反復カウント数CountをインクリメントしてステップS505に処理を戻す。
【0056】
なお、図5の説明では、相似変換だけを考慮して説明したが、アフィン変換などその他の幾何学変換についても、ステップS508でそれぞれに応じた変換行列を求めることにより、対応可能である。例えば、アフィン変換の場合には、まずステップS507で、ランダムに選択する対応点の組の座標数を3とする。次に、ステップS508で、式(9)ではなく式(8)を用い、ステップS507で選択した3組の対応点(合計6点)を用いて変数a〜fを求めればよい。
【0057】
また、図5の説明では、ステップS519で類似度として最終投票数VoteMaxを出力する例について説明したが、他の類似度を計算するようにしてもよい。例えば、ステップS503以降の処理を行わずに、ステップS502で作成された最小距離対応点リストに登録された対応点の組数mを類似度として出力する方法がある。
【0058】
次に、本実施形態における類似度算出方法について、図6を参照しながら説明する。
図6は、本実施形態において、局所特徴点/局所特徴量比較部107により類似度を算出する処理手順の一例を示すフローチャートである。図6に示すフローチャートでは、図5の処理手順にステップS601の処理が追加され、さらに図5のステップS519の処理がステップS602の処理に入れ替わっている。なお、図5の同じ符号を付しているステップS501〜S518、S520〜S522については図5と同様であるため、説明は省略する。
【0059】
まず、ステップS601の処理について説明する。
【0060】
図5に示した手順では、まず、ステップS502で、局所特徴量Vqと局所特徴量Vsとの全ての組み合わせについて局所特徴量間の距離を計算する。次に、計算した局所特徴量間の距離が閾値Tv以下となり、かつ、最小距離となるような局所特徴量Vqと局所特徴量Vsとの組み合わせ(対応点)を抽出し、これらの対応点を登録することにより最小距離対応点リストを作成する。
【0061】
このとき、図3に示したスケール番号304に着目することにより比較対象画像との間の解像度の差を推定することができる。以下にその方法を説明する。ここで、局所特徴量間の距離が閾値Tv以下となり、かつ、最小距離となるような局所特徴量Vqと局所特徴量Vsとの組み合わせ(対応点)があった場合に、それぞれのスケール番号をSq、Ssとする。また、局所特徴量Vqが属する画像をクエリ画像とした場合に、局所特徴量Vsが属する画像の類似度を算出する場合を想定する。
【0062】
解像度の差をΔS=Ss−Sqとしたとき、局所特徴量Vqと局所特徴量Vsとが正しい対応点(正対応点)である場合には、解像度の差ΔSは一定値となる。一方、対応が誤っている点(誤対応点)の解像度の差ΔSは正対応点の解像度の差ΔSと一致しないことが多い。つまり、特徴量間の距離で抽出した対応点すべてに対して解像度の差ΔSを算出し、解像度の差ΔSの最頻値ΔSmodを求めることにより、最頻値ΔSmodを持つ対応点を正対応点と推定できる。
【0063】
また、最頻値ΔSmodは比較画像間の解像度の差を表わし、ΔSmod>0の場合は局所特徴点Vsが属する画像の解像度の方が大きいことを示す。また、ΔSmod=0の場合は比較画像間に解像度の差がなく、ΔSmod<0の場合は、局所特徴点Vsが属する画像の解像度の方が小さいことを示す。
【0064】
ステップS601では、局所特徴量Vsが属する画像の解像度の方が大きい場合は類似度が大きくなり、局所特徴量Vsが属する画像の解像度の方が小さい場合は類似度が小さくなるように、重み付けするための重み係数wを決定する。本実施形態では、以下の式(14)により重み係数wを決定する。ここで決定した重み係数wは、後述するステップS602で用いられる。
【0065】
【数6】

【0066】
次に、ステップS602の処理について説明する。
【0067】
図5のステップS519では、第1の類似度算出手段として機能することにより最終投票数VoteMaxを類似度として出力した。ここで、ステップS519で出力した類似度を第1の類似度とした場合、ステップS602では、第2の類似度算出手段として機能することにより第1の類似度とステップS601で算出した重み係数wとを用いて第2の類似度を算出する。本実施形態においては、第2の類似度Sim2を以下の式(15)により算出し、これを総合類似度とする。このように検索結果の表示順序は、第2の類似度Sim2に応じて決定される。
【0068】
【数7】

【0069】
以上のように本実施形態によれば、比較対象画像間の対応点のスケール番号に着目して解像度の差を推定し、解像度の差を類似度に反映するようにした。これにより、ユーザの感覚により合致した類似度を算出することが可能になる。
【0070】
なお、本実施形態では、スケール番号に着目することによって第1の類似度に重みを付けて第2の類似度を算出し、第2の類似度を総合類似度としたが、解像度情報を利用した類似度算出方法であれば、他の類似度算出方法でもよい。例えば、第1の類似度が所定の閾値以上の場合に、式(14)の結果をそのまま総合類似度としもよい。
【0071】
また、本実施形態では、スケール番号に着目することによって解像度の差を推定したが、解像度の差を推定することができれば他の推定方法を用いもよい。例えば、クエリ画像である入力画像101と登録画像である入力画像104との位置合わせに利用可能なパラメータを用いて解像度の差を求めることができる。以下、推定方法の一例として、最終投票数VoteMaxを算出した時の変換行列Mを用いる方法について説明する。具体的には、以下の式(16)により、変換行列Mの要素値を用いて、入力画像104に対する入力画像101の縮小率Rを算出する。
【0072】
【数8】

【0073】
ここで、R<1である場合は、登録画像である入力画像104の方がクエリ画像である入力画像101よりも解像度が高い。このように、縮小率Rを算出することによって解像度の差を推定することが可能となる。さらに、縮小率Rを類似度に反映させるために式(14)及び式(15)を用いる場合は、以下の式(17)を用いて最頻値ΔSmodを求める。
【0074】
【数9】

【0075】
また、クエリ画像である入力画像101と登録画像である入力画像104との位置合わせを行った後に、画像の周波数成分を比較することによっても解像度の差を求めることができる。以下、図5及び図6において、最終投票数VoteMaxを算出した時の変換行列M、Tを用いる方法について説明する。具体的には、以下の式(18)により入力画像101に拡大・縮小、及び回転処理を施して入力画像104と位置合わせをする。
【0076】
【数10】

【0077】
ここで、Qk(xk',yk')は位置合わせ前の入力画像101の画素座標であり、Qk'(Xk',Yk')は位置合わせ後の入力画像の画素座標である。すなわち、Qk(xk',yk')の位置にある画素値をQk'(Xk',Yk')の位置の画素値として設定することにより、位置合わせ後の入力画像を生成する。このとき、線形補間を用いるように構成してもよい。
【0078】
次に、周波数成分の比較方法としては、まず、入力画像104と前述の位置合わせ後の入力画像とを周波数変換する。ここで、入力画像104の最大周波数をfsmaxとし、位置合わせ後の入力画像の最大周波数をfqmaxとした場合、入力画像104に対する位置合わせ後の入力画像の縮小率Rは以下の式(19)により推定できる。
【0079】
【数11】

【0080】
さらに、この縮小率Rを類似度に反映させるために式(14)及び式(15)を用いる場合は、前述のように、式(17)により最頻値ΔSmodを求めればよい。なお、縮小率Rは、周波数成分の比ではなく周波数成分の差を用いるようにしてもよい。また、位置合わせを行った後の入力画像と登録画像とが重なりあう領域あるいはその一部に対して周波数成分を比較してもよい。
【0081】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0082】
103 第1の局所特徴点/局所特徴量抽出部
106 第2の局所特徴点/局所特徴量抽出部
107 局所特徴点/局所特徴量比較部

【特許請求の範囲】
【請求項1】
入力画像を用いて予め登録されている登録画像を検索する画像検索装置であって、
前記入力画像及び登録画像から局所的な局所特徴を抽出する局所特徴抽出手段と、
前記局所特徴抽出手段によって抽出された局所特徴に基づいて前記入力画像と前記登録画像との間の第1の類似度を算出する第1の類似度算出手段と、
前記第1の類似度算出手段によって算出された第1の類似度と、前記入力画像及び登録画像の解像度情報とに基づいて前記入力画像と前記登録画像との間の第2の類似度を算出する第2の類似度算出手段と、
前記第2の類似度算出手段によって算出された第2の類似度に応じて検索結果を出力する出力手段とを備えることを特徴とする画像検索装置。
【請求項2】
前記第2の類似度算出手段は、前記解像度情報を用いて前記第1の類似度に重み付けすることにより前記第2の類似度を算出することを特徴とする請求項1に記載の画像検索装置。
【請求項3】
前記解像度情報は、前記入力画像と前記登録画像との解像度の差であることを特徴とする請求項1又は2に記載の画像検索装置。
【請求項4】
前記解像度の差は、前記入力画像と前記登録画像との位置合わせに用いられるパラメータによって算出される値であることを特徴とする請求項3に記載の画像検索装置。
【請求項5】
前記解像度の差は、前記入力画像と前記登録画像との位置合わせが行われたた後に、それぞれの画像の周波数成分の比較によって算出される値であることを特徴とする請求項3に記載の画像検索装置。
【請求項6】
前記周波数成分の比較は、前記周波数成分の差又は比による比較であることであることを特徴とする請求項5に記載の画像検索装置。
【請求項7】
前記周波数成分の比較は、前記入力画像及び登録画像の最大周波数の比較であることを特徴とする請求項5又は6に記載の画像検索装置。
【請求項8】
前記周波数成分の比較は、前記位置合わせを行った後の前記入力画像と前記登録画像とが重なりあう領域あるいはその一部に対して行われることを特徴とする請求項5又は6に記載の画像検索装置。
【請求項9】
前記位置合わせは、前記入力画像又は前記登録画像に対する回転、拡大又は縮小によるものであることを特徴とする請求項4〜8の何れか1項に記載の画像検索装置。
【請求項10】
前記解像度の差は、前記入力画像と前記登録画像とで局所特徴を照合することにより得られる対応点の前記解像度に応じて付与された番号の差であることを特徴とする請求項3に記載の画像検索装置。
【請求項11】
入力画像を用いて予め登録されている登録画像を検索する画像検索方法であって、
前記入力画像及び登録画像から局所的な局所特徴を抽出する局所特徴抽出工程と、
前記局所特徴抽出工程において抽出された局所特徴に基づいて前記入力画像と前記登録画像との間の第1の類似度を算出する第1の類似度算出工程と、
前記第1の類似度算出工程において算出された第1の類似度と、前記入力画像及び登録画像の解像度情報とに基づいて前記入力画像と前記登録画像との間の第2の類似度を算出する第2の類似度算出工程と、
前記第2の類似度算出工程において算出された第2の類似度に応じて検索結果を出力する出力工程とを備えることを特徴とする画像検索方法。
【請求項12】
入力画像を用いて予め登録されている登録画像を検索する画像検索装置を制御するためのプログラムであって、
前記入力画像及び登録画像から局所的な局所特徴を抽出する局所特徴抽出工程と、
前記局所特徴抽出工程において抽出された局所特徴に基づいて前記入力画像と前記登録画像との間の第1の類似度を算出する第1の類似度算出工程と、
前記第1の類似度算出工程において算出された第1の類似度と、前記入力画像及び登録画像の解像度情報とに基づいて前記入力画像と前記登録画像との間の第2の類似度を算出する第2の類似度算出工程と、
前記第2の類似度算出工程において算出された第2の類似度に応じて検索結果を出力する出力工程とをコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate