【文献】
黄瀬 浩一,局所特徴量を用いた画像照合による特定物体認識,人工知能学会誌,日本,(社)人工知能学会,2010年11月 1日,第25巻 第6号,p.769-776
【文献】
藤吉 弘亘,Gradientベースの特徴抽出 −SIFTとHOG−,情報処理学会研究報告,日本,社団法人情報処理学会,2007年 9月 3日,第2007巻 第87号,p.211-224
【文献】
小林 匠,高次局所自己相関に着目した画像特徴量と画像認識への応用,電子情報通信学会誌,日本,社団法人電子情報通信学会,2011年 4月 1日,第94巻 第4号,p.335-340
【文献】
本道 貴行,特定物体認識のためのデータベース容量削減法の検討,情報処理学会研究報告,日本,社団法人情報処理学会,2009年 3月 6日,第2009巻 第29号,p.171-176
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態について説明する。
【0016】
==第1の実施形態==
図1は、本発明の第1の実施形態である局所特徴量抽出装置の構成を示す図である。局所特徴量抽出装置1Aは、特徴点検出部10、局所領域取得部12、サブ領域分割部14、サブ領域特徴ベクトル生成部16、及び次元選定部18を含んで構成される。局所特徴量抽出装置1Aは、例えば、パーソナルコンピュータや携帯情報端末等の情報処理装置を用いて構成することができる。そして、局所特徴量抽出装置1Aを構成する各部は、例えば、メモリ等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。なお、後述する他の実施形態における構成要素についても同様に実現することができる。
【0017】
特徴点検出部10は、画像から特徴的な点(特徴点)を多数検出し、各特徴点の座標位置、スケール(大きさ)、及び角度を出力する。
【0018】
局所領域取得部12は、検出された各特徴点の座標値、スケール、及び角度から、特徴量抽出を行う局所領域を取得する。
【0019】
サブ領域分割部14は、局所領域をサブ領域に分割する。例えば、サブ領域分割部14は、
図32に示したように、局所領域を16ブロック(4×4ブロック)に分割することができる。また例えば、サブ領域分割部14は、局所領域を25ブロック(5×5ブロック)に分割することもできる。
【0020】
サブ領域特徴ベクトル生成部16は、局所領域のサブ領域ごとに特徴ベクトルを生成する。サブ領域の特徴ベクトルとしては、例えば、勾配方向ヒストグラムを用いることができる。具体的には、サブ領域特徴ベクトル生成部16は、各サブ領域の画素ごとに勾配方向を算出し、それを8方向に量子化する。ここで求める勾配方向は、特徴点検出部10が出力する各特徴点の角度に対する相対的な方向である。すなわち、特徴点検出部10が出力する角度に対して正規化された方向である。そして、サブ領域特徴ベクトル生成部16は、サブ領域ごとに量子化された8方向の頻度を集計し、勾配方向ヒストグラムを生成する。この場合、サブ領域特徴ベクトル生成部16は、各特徴点に対して生成される16ブロック×8方向=128次元の勾配方向ヒストグラムにより構成される特徴ベクトルを出力する。また、勾配方向を8方向に量子化するだけに限らず、4方向、6方向、10方向など任意の量子化数に量子化してよい。勾配方向をD方向に量子化する場合、量子化前の勾配方向をG(0〜2πラジアン)とすると、勾配方向の量子化値i(i=0,・・・,D−1)は、例えば式(1)や式(2)などで求めることができるが、これに限られない。
【0022】
【数2】
ここでfloor()は小数点以下を切り捨てる関数、round()は四捨五入を行う関数、modは剰余を求める演算である。また、勾配方向ヒストグラムを生成するときに、単純な頻度を集計するのではなく、勾配の大きさを加算して集計してもよい。また、勾配方向ヒストグラムを集計するときに、画素が属するサブ領域だけではなく、サブ領域間の距離に応じて近接するサブ領域(隣接するブロックなど)にも重み値を加算するようにしてもよい。また、量子化された勾配方向の前後の勾配方向にも重み値を加算するようにしてもよい。なお、サブ領域の特徴ベクトルは勾配方向ヒストグラムに限られず、色情報など、複数の次元(要素)を有するものであればよい。本実施形態においては、サブ領域の特徴ベクトルとして、勾配方向ヒストグラムを用いることとして説明する。
【0023】
次元選定部18は、サブ領域の位置関係に基づいて、近接するサブ領域の特徴ベクトル間の相関が低くなるように、局所特徴量として出力する次元(要素)を選定する(間引きする)。より具体的には、次元選定部18は、例えば、隣接するサブ領域間では少なくとも1つの勾配方向が異なるように次元を選定する。なお、本実施形態では、近接するサブ領域として主に隣接するサブ領域を用いることとするが、近接するサブ領域は隣接するサブ領域に限られず、例えば、対象のサブ領域から所定距離内にあるサブ領域を近接するサブ領域とすることもできる。
【0024】
また、次元選定部18は、単に次元を選定するだけではなく、選定の優先順位を決定することができる。すなわち、次元選定部18は、例えば、隣接するサブ領域間では同一の勾配方向の次元が選定されないように、優先順位をつけて次元を選定することができる。そして、次元選定部18は、選定した次元から構成される特徴ベクトルを、局所特徴量として出力する。なお、次元選定部18は、優先順位に基づいて次元を並び替えた状態で、局所特徴量を出力することができる。
【0025】
図2〜
図7を参照して、次元選定部18における次元選定の具体例を説明する。
図2は、局所領域を4×4ブロックのサブ領域に分割し、勾配方向を8方向に量子化して生成された128次元の勾配方向ヒストグラムの特徴ベクトルから次元を選定する場合の一例を示す図である。
図2の例では、SIFT特徴量と同様の128次元(4×4=16ブロック×8方向)の特徴ベクトルから次元の選定が行われている。
【0026】
図2に示すように、次元選定部18は、128次元から半分の次元数である64次元を選定する場合、隣接する左右、上下のブロック(サブ領域)では、同一の勾配方向の次元が選定されないように、次元を選定することができる。
図2では、勾配方向ヒストグラムにおける量子化された勾配方向をi(i=0,1,2,3,4,5,6,7)とした場合に、i=0,2,4,6の要素を選定するブロックと、i=1,3,5,7の要素を選定するブロックとが交互に並んでいる例が示されている。また、
図2では、別の例として、i=0,3,4,7の要素を選定するブロックと、i=1,2,5,6の要素を選定するブロックとが交互に並んでいる例が示されている。そして、
図2の例では、隣接するブロックで選定された勾配方向(次元)を合わせると、全8方向となっている。すなわち、隣接するブロック間で特徴量を補完し合う関係となっている。
【0027】
また、
図2に示すように、次元選定部18は、32次元を選定する場合、斜め45°に位置するブロック間でも、同一の勾配方向の次元が選定されないように、次元を選定することができる。そして、
図2の例では、隣接する2×2ブロックで選定された勾配方向(次元)を合わせると、全8方向となっている。すなわち、この場合においても、隣接するブロック間で特徴量を補完し合う関係となっている。
【0028】
このように、隣接するブロック間で勾配方向が重ならないように、また全勾配方向が均等に選定されることが望ましい。また同時に、
図2に示す例のように、局所領域の全体から均等に次元が選定されることが望ましい。なお、
図2に示した次元選定方法は一例であり、この選定方法に限らない。
【0029】
図3は、次元選定の別の一例を示す図である。
図3の例では、サブ領域分割部14が、局所領域を5×5=25ブロックのサブ領域に分割し、サブ領域特徴ベクトル生成部16が、各サブ領域から6方向の勾配方向ヒストグラムを生成している。すなわち、
図3に示すように、サブ領域特徴ベクトル生成部16が生成する特徴ベクトルは150次元である。
【0030】
図3に示すように、次元選定部18は、150次元から半分の75次元を選定する場合に、隣接する左右、上下のブロックでは、同一の勾配方向の次元が選定されないように、次元を選定することができる。この例では、勾配方向ヒストグラムにおける量子化された勾配方向をi(i=0,1,2,3,4,5)とした場合に、i=0,2,4の要素を選定するブロックと、i=1,3,5の要素を選定するブロックとが交互に並んでいる。そして、
図3の例では、隣接するブロックで選定された勾配方向を合わせると、全6方向となっている。
【0031】
また、次元選定部18は、75次元から50次元を選定する場合は、斜め45°に位置するブロック間で、1つの方向のみが同一になる(残り1つの方向は異なる)ように次元を選定することができる。また、次元選定部18は、50次元から25次元を選定する場合は、斜め45°に位置するブロック間で、選定される勾配方向が一致しないように次元を選定することができる。
【0032】
図3に示す例では、次元選定部18は、1次元から25次元までは各サブ領域から1つの勾配方向を選定し、26次元から50次元までは2つの勾配方向を選定し、51次元から75次元までは3つの勾配方向を選定している。
【0033】
また、次元選定部18は、1〜25次元、26次元〜50次元、51次元〜75次元の間は、例えば
図4に示すようなブロックの順番で次元を追加するように選定していってもよい。
図4に示す優先順位を用いる場合、次元選定部18は、中心に近いブロックの優先順位を高くして、勾配方向を選定していくことができる。
図5は、150次元の特徴ベクトルの要素の番号の一例を示す図である。この例では、5×5=25ブロックをラスタスキャン順に番号b(b=0,1,・・・,24)で表し、量子化された勾配方向をi(i=0,1,2,3,4,5)とした場合に、特徴ベクトルの要素の番号k(k=0,1,・・・,149)をk=6×b+iとしている。なお、
図5に示した勾配方向とそれに対応する番号kは模式的に示したもので、必ずしも実際の画像上の勾配方向と一致している必要はない。例えば要素番号0は、
図5では上方向の勾配として図示しているが、実際の画像上では画像座標系における0度方向の勾配に対応させることが多い。一例として、
図6に、
図5とは異なる勾配方向の対応付けを示す。
図5と比較すると、
図6のほうが実際の画像上での画像座標系における対応付けに近い場合があるが、本質的な差はない。
【0034】
また、
図7は、
図4に示した優先順位に従って
図5または
図6に示した要素を選定していくことにより得られる局所特徴量の構成例を示す図である。次元選定部18は、例えば、
図7に示す順序で次元(要素)を出力することができる。具体的には、次元選定部18は、例えば150次元の局所特徴量を出力する場合、
図7に示す順序で全150次元の要素を出力することができる。また、次元選定部18は、例えば25次元の局所特徴量を出力する場合、
図7に示す1行目(76番目、45番目、83番目、・・・、120番目)の要素を
図7に示す順(左から右)に出力することができる。また、次元選定部18は、例えば50次元の局所特徴量を出力する場合、
図7に示す1行目に加えて、
図7に示す2行目の要素を
図7に示す順(左から右)に出力することができる。
【0035】
ところで、
図7に示す例では、局所特徴量は階層的な構造となっている。すなわち、例えば、25次元の局所特徴量と150次元の局所特徴量とにおいて、先頭の25次元分の局所特徴量における要素の並びは同一となっている。このように、次元選定部18は、階層的(プログレッシブ)に次元を選定することにより、アプリケーションや通信容量、端末スペックなどに応じて、任意の次元数の局所特徴量、すなわち任意のサイズの局所特徴量を抽出して出力することができる。また、次元選定部18が、階層的に次元を選定し、優先順位に基づいて次元を並び替えて出力することにより、異なる次元数の局所特徴量を用いて、画像の照合を行うことができる。例えば、75次元の局所特徴量と50次元の局所特徴量を用いて画像の照合が行われる場合、先頭の50次元だけを用いることにより、局所特徴量間の距離計算を行うことができる。
【0036】
なお、
図4〜
図7に示す優先順位は一例であり、次元を選定する際の順序はこれに限られない。例えば、ブロックの順番に関しては、
図4の例の他に、
図8(a)や
図8(b)に示すような順番でもよい。また例えば、全てのサブ領域からまんべんなく次元が選定されるように優先順位が定められることとしてもよい。また、局所領域の中央付近が重要として、中央付近のサブ領域の選定頻度が高くなるように優先順位が定められることとしてもよい。また、次元の選定順序を示す情報は、例えば、プログラムにおいて規定されていてもよいし、プログラムの実行時に参照されるテーブル等(選定順序記憶部)に記憶されていてもよい。
【0037】
また、次元選定部18は、
図9(a)や
図9(b)に示すような選定を行ってもよい。この場合、あるサブ領域では6次元が選定され、当該サブ領域に近接する他のサブ領域では0次元が選定されている。このような場合においても、近接するサブ領域間の相関が低くなるようにサブ領域ごとに次元が選定されていると言うことができる。
【0038】
また、局所領域やサブ領域の形状は、
図2や
図3に示したような正方形に限られず、任意の形状とすることができる。例えば、
図10に示すように、局所領域取得部12は、円状の局所領域を取得することとしてもよい。この場合、サブ領域分割部14は、
図10に示すように、円状の局所領域を例えば9分割や17分割のサブ領域に分割することができる。この場合においても、次元選定部18は、各サブ領域において、例えば
図11に示すように、次元を選定することができる。なお、
図11に示す例では、72次元から40次元を選定する際に、中央のサブ領域では次元の間引きが行われていない。
【0039】
図12は、局所特徴量抽出装置1Aにおける処理の一例を示すフローチャートである。まず、特徴点検出部10は、画像内の特徴点を検出し、各特徴点の座標位置、スケール(大きさ)、及び角度を出力する(S1101)。特徴点が検出されると、局所領域取得部12は、検出された各特徴点の座標値、スケール、及び角度に基づいて、特徴量抽出を行う局所領域を取得する(S1102)。そして、サブ領域分割部14は、局所領域をサブ領域に分割する(S1103)。サブ領域特徴ベクトル生成部16は、局所領域のサブ領域ごとに、勾配方向ヒストグラムを生成する(S1104)。最後に、次元選定部18は、定められた選定順序に従って、局所特徴量として出力する次元(要素)を選定する(S1105)。
【0040】
このように、第1の実施形態の局所特徴量抽出装置1Aでは、次元選定部18が、サブ領域の位置関係に基づいて、近接するサブ領域間の相関が低くなるように、局所特徴量として出力する次元(要素)を選定する。つまり、近接するサブ領域は相関が高いことが多いため、次元選定部18は、近接するサブ領域からは同じ特徴ベクトルの次元(要素)が選定されないように、次元の選定を行うことができる。これにより、被写体識別の精度を維持しつつ、特徴量のサイズを小さくすることが可能となる。
【0041】
また、次元選定部18は、
図7に例示したように、局所特徴量を階層的(プログレッシブ)に出力することができる。これにより、選定された次元数(特徴量のサイズ)が異なる局所特徴量の間であっても、相互に照合(距離計算)を行うことができる。
【0042】
また、次元選定部18は、サブ領域の位置関係に基づいて次元の選定を行うため、次元の選定の際に学習を行う必要がない。つまり、データ(画像)に依存せずに汎用的な局所特徴量の抽出を行うことができる。
【0043】
なお、局所特徴量抽出装置1Aでは、サブ領域特徴ベクトル生成部16と次元選定部18の処理の順序を入れ替えてもよい。すなわち、局所特徴量抽出装置1Aでは、次元選定部18において次元を選定した後に、サブ領域特徴ベクトル生成部16において、選定された次元に対する特徴ベクトルが生成されることとしてもよい。
【0044】
==第2の実施形態==
次に第2の実施形態について説明する。
図13は、本発明の第2の実施形態における局所特徴量抽出装置の構成を示す図である。第2の実施形態においては、選定される次元数を変更することが可能となっている。
図13に示すように、局所特徴量抽出装置1Bは、特徴点検出部10、局所領域取得部12、サブ領域分割部14、サブ領域特徴ベクトル生成部16、次元数決定部20、及び次元選定部18を含んで構成される。このように、局所特徴量抽出装置1Bは、第1の実施形態の局所特徴量抽出装置1Aに次元数決定部20を追加した構成となっている。なお、第1の実施形態と同一の構成要素については同一の符号を付して説明を省略する。
【0045】
次元数決定部20は、次元選定部18において選定される次元数を決定することができる。例えば、次元数決定部20は、次元数を示す情報をユーザから受け付けることにより、次元数を決定することができる。なお、次元数を示す情報は、次元数そのものを示すものである必要はなく、例えば、検索精度や検索速度などを示す情報であってもよい。具体的には、次元数決定部20は、例えば、検索精度を高くすることを要求する入力を受け付けた場合には、次元数が多くなるように次元数を決定することとしてもよい。また、次元数決定部20は、例えば、検索速度を速くすることを要求する入力を受け付けた場合には、次元数が少なくなるように次元数を決定することとしてもよい。
【0046】
また、例えば、次元数決定部20は、局所特徴量抽出装置1Bが用いられるアプリケーションや通信容量、端末の処理スペックなどに基づいて次元数を決定することとしてもよい。具体的には、次元数決定部20は、例えば、通信容量が小さい(通信速度が遅い)場合には、通信容量が大きい(通信速度が速い)場合と比較して次元数が少なくなるように次元数を決定することとしてもよい。また、次元数決定部20は、例えば、端末の処理スペックが低い場合には、処理スペックが高い場合と比較して次元数が少なくなるように次元数を決定することとしてもよい。また、次元数決定部20は、例えば、端末の処理負荷に応じて動的に次元数を決定することとしてもよい。また、次元数決定部20は、例えば、画像全体で使用できる局所特徴量のサイズが決められている場合に、画像全体で抽出された特徴点数から逆算して、各特徴点において選定される次元数を決定してもよい。
【0047】
なお、次元数決定部20は、画像から検出される全ての特徴点に対して同じ次元数を決定することとしてもよいし、特徴点ごとに異なる次元数を決定してもよい。例えば、次元数決定部20は、外部情報によって特徴点の重要度が与えられた場合に、重要度の高い特徴点は次元数を多くし、重要度の低い特徴点は次元数を少なくしてもよい。
【0048】
例えば、次元数決定部20は、画像内の領域に応じて重要度を判定することとしてもよい。具体的には、次元数決定部20は、例えば、画像の中央の特徴点は、画像の周辺部の特徴点よりも重要とみなして、画像の中央の特徴点に対する次元数が多くなるように次元数を決定してもよい。
【0049】
また、例えば、次元数決定部20は、特徴ベクトルに基づいて特徴点の重要度を判断することとしてもよい。具体的には、次元数決定部20は、例えば、特徴ベクトルの値を参照し、頻繁に出現するパターンであると判定可能である場合には、識別のための局所特徴量としてはあまり役立たないとみなし、重要度が低いと判断することとしてもよい。逆に、次元数決定部20は、このような場合に、識別能力を高めるために次元数を増やすこととしてもよい。
【0050】
また、例えば、次元数決定部20は、画像内の他の特徴点の特徴ベクトルの値との関係性に基づいて特徴点の重要度を判断することとしてもよい。具体的には、次元数決定部20は、例えば、特徴ベクトルの値を他の特徴点の特徴ベクトルの値と比較することにより、特徴ベクトルが頻繁に出現するパターンであるかどうかを判定し、その判定結果に基づいて重要度を判断することとしてもよい。
【0051】
また、例えば、次元数決定部20は、特徴点検出部10による特徴点検出時の情報に基づいて各特徴点の重要度を判断することとしてもよい。具体的には、次元数決定部20は、例えば、特徴点のスケールの情報に基づいて特徴点の重要度を判断してもよい。例えば、次元数決定部20は、スケール値が大きい特徴点は重要度が高いと判断することとしてもよい。
【0052】
次元選定部18は、次元数決定部20により決定された次元数に基づいて、第1の実施形態の次元選定部18と同様に特徴ベクトルの次元を選定し、局所特徴量として出力することができる。なお、上述したように、選定される次元数は、画像から検出される全ての特徴点に対して同じであってもよいし、特徴点ごとに異なっていてもよい。
【0053】
このように、第2の実施形態の局所特徴量抽出装置1Bでは、次元数決定部20が、次元選定部18において選定される次元数を決定することができる。これにより、ユーザ入力や通信容量、端末の処理スペックなどに基づいて、適切な次元数を決定することが可能となる。
【0054】
==第3の実施形態==
次に第3の実施形態について説明する。
図14は、本発明の第3の実施形態における局所特徴量抽出装置の構成を示す図である。第3の実施形態においては、特徴ベクトルを量子化することにより、局所特徴量のサイズをさらに小さくすることが可能である。
図14に示すように、局所特徴量抽出装置1Cは、特徴点検出部10、局所領域取得部12、サブ領域分割部14、サブ領域特徴ベクトル生成部16、次元選定部18、及び量子化部22を含んで構成される。このように、局所特徴量抽出装置1Cは、第1の実施形態の局所特徴量抽出装置1Aに量子化部22を追加した構成となっている。なお、第1の実施形態と同一の構成要素については同一の符号を付して説明を省略する。
【0055】
量子化部22は、サブ領域特徴ベクトル生成部16から出力される勾配方向ヒストグラムの各次元をN値に量子化することができる。なお、量子化部22における量子化手法は任意である。量子化部22は、ベクトル量子化などによって複数の次元をまとめて量子化するのではなく、各次元を個別に量子化することができる。これにより、次元選定部18は、量子化が行われた後においても、第1の実施形態の場合と同様に次元の選定を行うことができる。
【0056】
量子化の具体例について説明する。例えば、N=2の場合、量子化部22は
図15に示すように勾配方向ヒストグラムの各次元を2値に量子化することができる。ここで、勾配方向ヒストグラムにおける勾配方向の数をD(例えば、D=6や、D=8)、各サブ領域の勾配方向ヒストグラムの値をhi(i=0,・・・,D−1)とあらわすこととする。量子化部22は、hiの量子化値qi(i=0,・・・,D−1)を次式(3)に基づいて求めることができる。
【0057】
【数3】
また、量子化部22は、閾値thを例えば次式(4)により算出することができる。
【0058】
【数4】
ここで、αはあらかじめ決められた係数である。なお、αは全てのサブ領域に対して同じ値であってもよいし、サブ領域ごとに異なる値であってもよい。
【0059】
また、式(4)による閾値は一例であり、量子化部22は、他の式に基づいて閾値thを算出することとしてもよい。例えば、量子化部22は、閾値thを、th=α・max(hi:i=0,・・・,D−1)として算出してもよい。また、量子化部22は、量子化値0と1とがほぼ半数となるように閾値を定めることとしてもよい。具体的には、量子化部22は、例えば、hi(i=0,・・・,D−1)を昇順にソートした前半半分の量子化値を0、後半半分の量子化値を1とすることができる。
【0060】
また、量子化部22は、閾値thをサブ領域ごとに定めてもよいし、局所領域全体で定めてもよい。例えば、量子化部22は、式(4)による閾値thの計算を、サブ領域ごとではなく、局所領域全体の勾配方向ヒストグラムの値を用いて行うことにより、閾値thを局所領域全体で定めることができる。
【0061】
このように、第3の実施形態の局所特徴量抽出装置1Cでは、量子化部22によって特徴ベクトルの量子化を行うことにより、局所特徴量のサイズをさらに小さくすることができる。
【0062】
==第4の実施形態==
次に第4の実施形態について説明する。
図16は、本発明の4の実施形態における局所特徴量抽出装置の構成を示す図である。第4の実施形態においては、次元選定が行われた後に量子化を行うことにより、局所特徴量のサイズをさらに小さくすることが可能である。
図16に示すように、局所特徴量抽出装置1Dは、特徴点検出部10、局所領域取得部12、サブ領域分割部14、サブ領域特徴ベクトル生成部16、次元選定部18、及び量子化部24を含んで構成される。このように、局所特徴量抽出装置1Dは、第1の実施形態の局所特徴量抽出装置1Aに量子化部24を追加した構成となっている。なお、第1の実施形態と同一の構成要素については同一の符号を付して説明を省略する。
【0063】
量子化部24は、第3の実施形態における量子化部22と同様に、特徴ベクトルの各次元を個別に量子化することができる。さらに、量子化部24は、例えばベクトル量子化の手法を用いることにより、特徴ベクトルの複数の次元をまとめて量子化することも可能である。
【0064】
このように、第4の実施形態の局所特徴量抽出装置1Dでは、量子化部24によって特徴ベクトルの量子化を行うことにより、局所特徴量のサイズをさらに小さくすることができる。また、量子化部24が特徴ベクトルの複数の次元をまとめて量子化する場合、第3の実施形態と比較して、量子化の対象となる次元数を少なくし、量子化に必要な処理量を低減することができる。
【0065】
==第5の実施形態==
次に第5の実施形態について説明する。
図17は、本発明の第5の実施形態における局所特徴量抽出装置の構成を示す図である。
図17に示すように、局所特徴量抽出装置1Eは、特徴点検出部10、局所領域取得部12、サブ領域分割部14、サブ領域特徴ベクトル生成部16、次元選定部18、及び特徴ベクトル拡張部26を含んで構成される。このように、局所特徴量抽出装置1Eは、第1の実施形態の局所特徴量抽出装置1Aに特徴ベクトル拡張部26を追加した構成となっている。なお、第1の実施形態と同一の構成要素については同一の符号を付して説明を省略する。また、特徴ベクトル拡張部26は、第1の実施形態に限らず、他の実施形態の特徴量抽出装置に対しても適用可能である。
【0066】
特徴ベクトル拡張部26は、サブ領域特徴ベクトル生成部16から出力された特徴ベクトルを用いて、より大きなスケール(拡張分割領域)における次元を生成することにより、特徴ベクトルを拡張することができる。なお、特徴ベクトル拡張部26は、サブ領域特徴ベクトル生成部16から出力される特徴ベクトルのみの情報を用いて特徴ベクトルを拡張することができる。したがって、特徴ベクトルを拡張するために元の画像に戻って特・BR>・抽出を行う必要がないため、元の画像から特徴ベクトルを生成する処理時間と比較すると、特徴ベクトルの拡張にかかる処理時間はごくわずかである。
【0067】
例えば、特徴ベクトル拡張部26は、隣接するサブ領域の勾配方向ヒストグラムを合成することにより、新たな勾配方向ヒストグラムを生成してもよい。例えば、特徴ベクトル拡張部26は、サブ領域分割部14で分割されたN×Nブロックの勾配方向ヒストグラム(N×N×D次元)から、隣接する2×2=4ブロックの勾配方向ヒストグラムの総和をとる(同一勾配の要素の総和をとる)ことにより、(N−1)×(N−1)ブロックの勾配方向ヒストグラム((N−1)×(N−1)×D次元)を生成してもよい。これにより、特徴ベクトル拡張部26は、元の特徴ベクトルに基づいて、スケール(2×2ブロック)での勾配方向ヒストグラムを生成することができる。このように生成される特徴ベクトルは、元の特徴ベクトルには無い新たな情報(より大きなスケールでのヒストグラム情報)であるため、識別精度を向上させることが可能となる。また、拡張する際に考慮するブロックは2×2ブロックに限られない。例えば、特徴ベクトル拡張部26は、3×3ブロックの勾配方向ヒストグラムの総和をとることにより、(N−2)×(N−2)ブロックの勾配方向ヒストグラム((N−2)×(N−2)×D次元)を生成してもよい。このように、特徴ベクトル拡張部26は、順次ブロックサイズを拡張することにより、階層的なスケールの勾配方向ヒストグラムを生成していくことができる。
【0068】
図18は、2×2ブロックの勾配方向ヒストグラムの総和をとる(同一勾配の要素の総和をとる)ことにより特徴ベクトルを拡張する場合の一例を示す図である。
図18に示すように、特徴ベクトル拡張部26は、例えば、5×5×6次元(150次元)の勾配方向ヒストグラムを拡張することにより、4×4×6次元(96次元)の勾配方向ヒストグラムを生成することができる。
【0069】
図18の例では、5×5=25ブロックの階層(階層1と呼ぶ)のブロックをラスタスキャン順に番号b1(b1=0,1,・・・,24)で表し、拡張して生成される4×4=16ブロックの階層(階層2と呼ぶ)のブロックをラスタスキャン順に番号b2(b2=0,1,・・・,15)で表すと、
ブロックb2=0のヒストグラムは、ブロックb1=0、1、5、6から生成され、
ブロックb2=1は、ブロックb1=1、2、6、7から生成され、
ブロックb2=2は、ブロックb1=2、3、7、8から生成され、
ブロックb2=3は、ブロックb1=3、4、8、9から生成され、
ブロックb2=4は、ブロックb1=5、6、10、11から生成され、
ブロックb2=5は、ブロックb1=6、7、11、12から生成され、
ブロックb2=6は、ブロックb1=7、8、12、13から生成され、
ブロックb2=7は、ブロックb1=8、9、13、14から生成され、
ブロックb2=8は、ブロックb1=10、11、15、16から生成され、
ブロックb2=9は、ブロックb1=11、12、16、17から生成され、
ブロックb2=10は、ブロックb1=12、13、17、18から生成され、
ブロックb2=11は、ブロックb1=13、14、18、19から生成され、
ブロックb2=12は、ブロックb1=15、16、20、21から生成され、
ブロックb2=13は、ブロックb1=16、17、21、22から生成され、
ブロックb2=14は、ブロックb1=17、18、22、23から生成され、
ブロックb2=15は、ブロックb1=18、19、23、24から生成される。
【0070】
同様に、特徴ベクトル拡張部26は、5×5×6次元(150次元)の勾配方向ヒストグラムから、隣接する3×3ブロックの勾配方向ヒストグラムの総和をとることにより、3×3×6次元(54次元)の勾配方向ヒストグラムを生成することも可能である。また、特徴ベクトル拡張部26は、拡張により生成された4×4×6次元(96次元)の勾配方向ヒストグラムをもとにして、さらに拡張された勾配方向ヒストグラムを生成することも可能である。例えば、特徴ベクトル拡張部26は、
図18に示すように、拡張により生成された4×4×6次元(96次元)の勾配方向ヒストグラムをもとにして、2×2ブロックの勾配方向ヒストグラムの総和をとることにより、さらに3×3×6次元(54次元)の勾配方向ヒストグラムを生成することができる。
【0071】
この例では、3×3=9ブロックの階層(階層3と呼ぶ)のブロックをラスタスキャン順に番号b3(b3=0,1,・・・,8)で表すと、
ブロックb3=0のヒストグラムは、ブロックb2=0、1、4、5から生成され、
ブロックb3=1は、ブロックb2=1、2、5、6から生成され、
ブロックb3=2は、ブロックb2=2、3、6、7から生成され、
ブロックb3=3は、ブロックb2=4、5、8、9から生成され、
ブロックb3=4は、ブロックb2=5、6、9、10から生成され、
ブロックb3=5は、ブロックb2=6、7、10、11から生成され、
ブロックb3=6は、ブロックb2=8、9、12、13から生成され、
ブロックb3=7は、ブロックb2=9、10、13、14から生成され、
ブロックb3=8は、ブロックb2=10、11、14、15から生成される。
【0072】
また、特徴ベクトル拡張部26は、後段の次元選定部18において選択される次元とは異なる次元を用いて勾配方向ヒストグラムを拡張することも可能である。
図20に具体例を示す。例えば、次元選定部18において、150次元の勾配方向ヒストグラムから75次元が選択される場合、特徴ベクトル拡張部26は、残りの(非選択の)75次元を拡張することにより96次元の勾配方向ヒストグラムを生成することとしてもよい。
【0073】
例えば、階層1において
図7に示した優先順位に従って75次元が選択されたとする。ここで、勾配方向ヒストグラムにおける量子化された勾配方向をi(i=0,1,2,3,4,5)とすると、ブロックb1=偶数番号のブロックではi=0,2,4の要素の次元が選択され、ブロックb1=奇数番号のブロックではi=1,3,5の要素の次元が選択される。
【0074】
したがって、特徴ベクトル拡張部26は、拡張された階層2の96次元の勾配方向ヒストグラムを生成するときは、階層1のブロックb1=偶数番号のブロックでは非選択のi=1,3,5の要素の次元、ブロックb1=奇数番号のブロックでは非選択のi=0,2,4の要素の次元、のみを用いて階層2の勾配方向ヒストグラムを生成することができる。
【0075】
例えば、上述の例で、階層2のブロックb2=0の勾配方向ヒストグラムを、階層1のブロックb1=0、1、5、6の勾配方向ヒストグラムから生成するときに、特徴ベクトル拡張部26は、ブロックb1=0、6では非選択のi=1,3,5の要素の次元のみ、ブロックb1=1、5では非選択のi=0,2,4の要素の次元のみを用いてもよい。
【0076】
次元選定部18は、こうして生成された階層2の96次元の勾配方向ヒストグラムから、階層1と同様のパターン(i=0,2,4の要素を選定するブロックと、i=1,3,5の要素を選定するブロックとが交互に並ぶ)で半分の48次元を選択してもよい(合計で75+48=123次元)。
【0077】
そして、特徴ベクトル拡張部26は、階層2から階層3へ拡張する際は、同様に階層2の非選択の48次元を用いて、階層3の54次元の勾配方向ヒストグラムを生成してもよい。そしてさらに、次元選定部18は、生成された階層3の54次元の勾配方向ヒストグラムから、同様のパターン(i=0,2,4の要素を選定するブロックと、i=1,3,5の要素を選定するブロックとが交互に並ぶ)で半分の27次元を選択してもよい(合計で75+48+27=150次元)。
【0078】
これにより、拡張により生成される勾配方向ヒストグラムは、次元選定部18から出力される特徴ベクトルには無い新たな情報であるため、識別精度を向上させることが可能となる。
【0079】
そして、次元選定部18は、
図18の右側に示すように、各スケールで生成された勾配方向ヒストグラムについて、隣接するサブ領域間で、同一の勾配方向を選定しないように次元を選定することにより局所特徴量を出力することができる。
【0080】
次に、階層2で生成された96次元の勾配方向ヒストグラム(4×4=16ブロック)から、次元選択する優先順位の例を示す。階層2から選択する次元のうち、1〜16次元、17次元〜32次元、33次元〜48次元の間は、次元選定部18は、例えば
図21に示すようなブロックの順番で次元を追加するように選定していってもよい。
【0081】
図21に示す優先順位を用いることにより、次元選定部18は、中心に近いブロックの優先順位を高くして、勾配方向を選定していくことができる。また、ブロック番号をb2、勾配方向ヒストグラムにおける量子化された勾配方向をi(i=0,1,2,3,4,5)、96次元の勾配方向ヒストグラムの特徴ベクトルの要素の番号k(k=0,1,・・・,95)をk=6×b+iとした場合に、例えば
図22に示した優先順位に従って次元(要素)を順に選択していってもよい。
【0082】
次に、階層3で生成された54次元の勾配方向ヒストグラム(3×3=9ブロック)から、次元選択する優先順位の例を示す。階層3から選択する次元のうち、1〜9次元、10次元〜18次元、19次元〜27次元の間は、次元選定部18は、例えば
図23に示すようなブロックの順番で次元を追加するように選定していってもよい。
図23に示す優先順位を用いる場合、次元選定部18は、中心に近いブロックの優先順位を高くして、勾配方向を選定していくことができる。また、ブロック番号をb3、勾配方向ヒストグラムにおける量子化された勾配方向をi(i=0,1,2,3,4,5)、54次元の勾配方向ヒストグラムの特徴ベクトルの要素の番号k(k=0,1,・・・,53)をk=6×b+iとした場合に、次元選定部18は、例えば
図24に示した優先順位に従って次元(要素)を順に選択していってもよい。
【0083】
また具体例として、次元選定部18は、
図7に示した階層1の優先順位に従って1〜75次元(150次元の半分)を順に選択していき、次に
図22に示した階層2の優先順位に従って1〜48次元(96次元の半分)を順に選択していき、76〜123次元を構成してもよい(75次元+48次元=128次元)。またさらに、次元選定部18は、次に
図24に示した階層3の優先順位に従って1〜27次元(54次元の半分)を順に選択していき、124〜150次元を構成してもよい(75次元+48次元+27次元=150次元)。
【0084】
なお、特徴ベクトル拡張部26における拡張のパターンは上述の例に限られない。例えば、特徴ベクトル拡張部26は、サブ領域(ブロック)ごとの勾配方向ヒストグラムを量子化することにより、拡張された特徴ベクトルを生成することとしてもよい。具体的には、例えば、局所領域全体の勾配方向ヒストグラムの総和量に係数αを掛けた値を閾値として、各サブ領域の勾配方向ヒストグラムの総和量が閾値以下であれば0、閾値以上であれば1とすることにより、拡張された特徴ベクトルを生成することができる。また、特徴ベクトル拡張部26は、勾配方向ヒストグラムの総和ではなく、例えば差分によって特徴ベクトルを拡張することも可能である。具体的には、例えば、特徴ベクトル拡張部26は、異なるサブ領域間の勾配方向ヒストグラムの同一次元の値の差分に基づいて特徴ベクトルを拡張することとしてもよい。
【0085】
また、第3の実施形態や第4の実施形態との組み合わせで、特徴ベクトル(勾配方向ヒストグラム)を量子化してもよい。なお、量子化は、階層ごと(階層1、階層2、階層3)に、異なるパラメータを用いて行ってもよい。例えば、量子化を式(1)に基づいて行い、その閾値thを式2で算出する場合に、係数αを階層ごとに異なる値にしてもよい。例えば階層1ではα=0.063、階層2ではα=0.10、階層3ではα=0.12などである。
【0086】
このように、第5の実施形態の局所特徴量抽出装置1Eでは、特徴ベクトル拡張部26によって特徴ベクトルを拡張することができる。これにより、元の特徴ベクトルには無い新たな情報を含む特徴ベクトルが生成され、識別精度を向上させることができる。
【0087】
==第6の実施形態==
次に第6の実施形態について説明する。
図25は、本発明の第6の実施形態における局所特徴量抽出装置の構成を示す図である。
図25に示すように、局所特徴量抽出装置1Fは、特徴点検出部10、局所領域取得部12、サブ領域分割部14、第1のサブ領域特徴ベクトル生成部16、第2のサブ領域特徴ベクトル生成部28、及び次元選定部18を含んで構成される。このように、局所特徴量抽出装置1Fは、第1の実施形態の局所特徴量抽出装置1Aに第2のサブ領域特徴ベクトル生成部28を追加した構成となっている。なお、第1の実施形態と同一の構成要素については同一の符号を付して説明を省略する。また、第2のサブ領域特徴ベクトル生成部28は、第1の実施形態に限らず、他の実施形態の特徴量抽出装置に対しても適用可能である。
【0088】
第2のサブ領域特徴ベクトル生成部28は、第1のサブ領域特徴ベクトル生成部16とは異なる勾配方向の勾配方向ヒストグラムを生成することができる。例えば、第1のサブ領域特徴ベクトル生成部16が45°間隔の8方向の勾配方向ヒストグラムを生成する場合であれば、第2のサブ領域特徴ベクトル生成部28は、60°間隔の6方向の勾配方向ヒストグラムを生成することとしてもよい。
【0089】
そして、次元選定部18は、第1のサブ領域特徴ベクトル生成部16および第2のサブ領域特徴ベクトル生成部28のそれぞれで生成された特徴ベクトルについて、隣接するサブ領域間で、同一の勾配方向を選定しないように次元を選定することにより局所特徴量を出力することができる。
【0090】
このように、第6の実施形態の局所特徴量抽出装置1Fでは、第2のサブ領域特徴ベクトル生成部28が、第1のサブ領域特徴ベクトル生成部16とは異なる勾配方向の勾配方向ヒストグラムを生成するため、特徴ベクトルの情報量が増加し、識別精度を向上させることが可能となる。
【0091】
なお、第6の実施形態では第1のサブ領域特徴ベクトル生成部16および第2のサブ領域特徴ベクトル生成部28の2つを示したが、特徴ベクトル生成部は3つ以上であってもよい。
【0092】
==第7の実施形態==
次に第7の実施形態について説明する。
図26は、本発明の第7の実施形態における局所特徴量抽出装置の構成を示す図である。
図26に示すように、局所特徴量抽出装置1Gは、特徴点検出部10、局所領域取得部12、第1のサブ領域分割部14、第2のサブ領域分割部30、第1のサブ領域特徴ベクトル生成部16、第2のサブ領域特徴ベクトル生成部28、及び次元選定部18を含んで構成される。このように、局所特徴量抽出装置1Gは、第6の実施形態の局所特徴量抽出装置1Fに第2のサブ領域分割部30を追加した構成となっている。なお、第6の実施形態と同一の構成要素については同一の符号を付して説明を省略する。
【0093】
第2のサブ領域分割部30は、第1のサブ領域分割部14とは異なる手法により領域分割を行うことができる。例えば、第1のサブ領域分割部14が局所領域を4×4ブロックに分割する場合であれば、第2のサブ領域分割部30は5×5ブロックに分割することとしてもよい。
【0094】
そして、第1のサブ領域特徴ベクトル生成部16は、第1のサブ領域分割部14により分割されたサブ領域ごとに勾配方向ヒストグラムを生成する。また、第2のサブ領域特徴ベクトル生成部28は、第2のサブ領域分割部30により分割されたサブ領域ごとに勾配方向ヒストグラムを生成する。
【0095】
このように、第7の実施形態の局所特徴量抽出装置1Gでは、第2のサブ領域分割部30が、第1のサブ領域分割部14とは異なる手法により局所領域の分割を行うため、特徴ベクトルの情報量が増加し、識別精度を向上させることが可能となる。
【0096】
なお、第7の実施形態では第1のサブ領域分割部14および第2のサブ領域分割部30の2つを示したが、サブ領域分割部は3つ以上であってもよい。
【0097】
==第8の実施形態==
次に第8の実施形態について説明する。
図27は、本発明の第8の実施形態における局所特徴量抽出装置の構成を示す図である。
図27に示すように、局所特徴量抽出装置1Hは、特徴点検出部10、第1の局所領域取得部12、第2の局所領域取得部32、第1のサブ領域分割部14、第2のサブ領域分割部30、第1のサブ領域特徴ベクトル生成部16、第2のサブ領域特徴ベクトル生成部28、及び次元選定部18を含んで構成される。このように、局所特徴量抽出装置1Hは、第7の実施形態の局所特徴量抽出装置1Gに第2の局所領域取得部32を追加した構成となっている。なお、第7の実施形態と同一の構成要素については同一の符号を付して説明を省略する。
【0098】
第2の局所領域取得部32は、第1の局所領域取得部12とは異なる手法により局所領域を取得することができる。例えば、第1の局所領域取得部12が正方形の局所領域を取得する場合であれば、第2の局所領域取得部32は円形の局所領域を取得することとしてもよい。
【0099】
そして、第1のサブ領域分割部14は、第1の局所領域取得部12により取得された局所領域をサブ領域に分割する。また、第2のサブ領域分割部30は、第2の局所領域取得部32により取得された局所領域をサブ領域に分割する。
【0100】
このように、第8の実施形態の局所特徴量抽出装置1Hでは、第2の局所領域取得部32が、第1の局所領域取得部12とは異なる手法により局所領域の取得を行うため、特徴ベクトルの情報量が増加し、識別精度を向上させることが可能となる。
【0101】
なお、第8の実施形態では第1の局所領域取得部12および第2の局所領域取得部32の2つを示したが、局所領域取得部は3つ以上であってもよい。
【0102】
==第9の実施形態==
次に第9の実施形態について説明する。
図28は、本発明の第9の実施形態における局所特徴量抽出装置の構成を示す図である。
図28に示すように、局所特徴量抽出装置1Jは、特徴点検出部10、局所領域取得部12、サブ領域分割部14、サブ領域特徴ベクトル生成部16、次元選定部18、及び符号化部34を含んで構成される。このように、局所特徴量抽出装置1Jは、第1の実施形態の局所特徴量抽出装置1Aに符号化部34を追加した構成となっている。なお、第1の実施形態と同一の構成要素については同一の符号を付して説明を省略する。また、符号化部34は、第1の実施形態に限らず、他の実施形態の特徴量抽出装置に対しても適用可能である。
【0103】
符号化部34は、次元選定部18から出力される、優先順位順に次元が並んでいる特徴ベクトルを符号化し、特徴量のビットストリームとして出力することができる。符号化部34は、例えば、特徴ベクトルを固定ビット長で符号化してもよい。また、符号化部34は、例えば、ハフマン符号や算術符号を用いたエントロピー符号化等のロスレス符号化(可逆圧縮)による符号化を行ってもよいし、ロッシー符号化(非可逆圧縮)による符号化を行ってもよい。
【0104】
具体的には、例えば、特徴ベクトルが第3の実施形態に示した量子化部22によって0・1の2値に量子化されたバイナリ特徴量の場合であれば、符号化部34は、N次元をNビット(N/8バイト)として固定ビット長で符号化してもよい。例えば、符号化部34は、96次元の特徴ベクトル(96ビット)を96/8=12バイトとして符号化することとしてもよい。また例えば、符号化部34は、ハフマン符号や算術符号などを用いてエントロピー符号化してもよい。また例えば、符号化部34は、算術符号などのエントロピー符号を用いる際に、すでに符号化済みの次元の情報を用いることで効率的な符号化(コンテキスト符号化)を行うこととしてもよい。
【0105】
また、符号化部34は、画像から抽出された特徴ベクトル群の情報を用いて符号化を行うことも可能である。例えば、画像の中には繰り返し出現するパターンが多いため、符号化部34は、それらの類似した特徴ベクトルをグルーピングすることにより符号化することとしてもよい。また、画像が動画のフレームの場合は、符号化部34は、連続するフレーム間で特徴点のトラッキング(追跡)を行って、過去のフレームの特徴点から対応を取り、特徴ベクトルの差分値だけを符号化することとしてもよい。このように、符号化部34が特徴ベクトル群の情報を用いて符号化を行うことにより、特徴ベクトルを個々に圧縮するよりも更に大きな符号化圧縮が可能となる。
【0106】
また、符号化部34は、画像から抽出された特徴ベクトル群について、任意の順番で符号化を行うことができる。例えば、符号化部34は、特徴ベクトル(特徴点)の抽出された順に符号化していくこととしてもよい。また、特徴点の特徴ベクトルと共に、特徴点の座標位置(X座標値、Y座標値)の情報も符号化したい場合がある。この場合、符号化部34は、特徴点をラスタスキャン順などのある決められた順序に並び替え、その座標値の差分値だけを符号化することとしてもよい。この場合、符号化部34は、特徴ベクトルの符号化をこの順序に符号化することができる。これにより、特徴点の座標値を固定ビット長で符号化する場合よりも短いビット長で座標値の情報を符号化することができる。
【0107】
また、特徴点の特徴ベクトルと共に、特徴点検出部10が出力する特徴点のスケール情報も符号化したい場合がある。この場合、符号化部34は、特徴ベクトルをスケール値順に並び替えて符号化し、スケール値が変化する番号とそのスケール値のみを符号化することができる。これにより、個々の特徴ベクトルに対してスケール値を全て符号化する必要がなくなる。また、スケール情報と座標値の両方を符号化する場合、符号化部34は、特徴ベクトルをスケール値順に並び替え、同じスケール値の特徴点に対してはラスタスキャン順で符号化していくことも可能である。また、符号化部34は、スケール情報と同様に角度情報についても符号化することができる。
【0108】
また、符号化部34は、特徴ベクトル群を特徴点の重要度順に符号化していくこともできる。なお、特徴点の重要度は、例えば、第1の実施形態の場合と同様の基準とすることができる。これにより、特徴量のマッチング(照合)を行う装置は、先頭から(重要な特徴点から)順に特徴量のマッチングを行っていき、マッチングの可否(マッチするか否か)が判定できた段階でマッチングを打ち切るなど、効率的なマッチングを行うことができる。
【0109】
また、画像全体で選定された特徴ベクトルの次元数が同じである場合、符号化部34は、その次元数をビットストリームの先頭などに記述(符号化)すればよい。また、特徴点ごとに次元数が異なる場合、符号化部34は、個々の特徴点の次元数がわかるようにその情報を符号化する必要がある。この場合、符号化部34は、特徴点ごとに次元数の情報を符号化してもよい。また、符号化部34は、スケール情報の符号化を行う場合と同様に、特徴ベクトルを次元数順に並び替えて符号化し、次元数が変化する番号とその次元数の値のみを符号化することとしてもよい。これにより、個々の特徴ベクトルに対して次元数の値を全て符号化する必要がなくなる。
【0110】
このように、第9の実施形態の局所特徴量抽出装置1Jでは、符号化部34が、局所特徴量の符号化を行うため、特徴量のサイズをさらに小さくすることができる。
【0111】
==適用例==
図29は、第1〜第9の実施形態に示した局所特徴量抽出装置を適用可能な照合システムの一例を示す図である。
図29に示すように、照合システムは、照合装置100、特徴量データベース(DB:Database)110、及び局所特徴量抽出装置120を含んで構成されている。
【0112】
照合装置100は、局所特徴量抽出装置120から送信される検索要求に含まれる局所特徴量を特徴量DB110に記憶されている局所特徴量と照合することにより、局所特徴量抽出装置120に入力された画像内の被写体と類似する被写体を含む画像を検索することができる。
【0113】
特徴量DB110は、複数の画像から抽出された局所特徴量を抽出元の画像と対応づけて記憶している。特徴量DB110に記憶されている局所特徴量は、例えば
図7に示した順序で出力された150次元の特徴ベクトルとすることができる。
【0114】
局所特徴量抽出装置120は、第1〜第9のいずれかの実施形態において示された局所特徴量抽出装置を用いることができる。
【0115】
局所特徴量抽出装置120は、入力画像において検出される特徴点の局所特徴量を含む検索要求を生成して照合装置100に送信する。照合装置100では、受信した局所特徴量を特徴量DB110に記憶されている局所特徴量と照合することにより、入力画像に類似する画像を判定する。そして、照合装置100は、入力画像に類似していると判定した画像を示す情報を検索結果として局所特徴量抽出装置120に出力する。
【0116】
このような照合システムにおいて、局所特徴量抽出装置120では、第1〜第9の実施形態で説明したように、サブ領域の位置関係に基づいて、近接するサブ領域間の相関が低くなるように、局所特徴量として出力する次元(要素)が選定されている。したがって、照合装置100での照合精度を維持しつつ、局所特徴量のサイズを小さくすることができる。
【0117】
したがって、局所特徴量抽出装置120から照合装置100に局所特徴量を送信する際の通信時間を短くすることができる。また、局所特徴量のサイズが小さいため、照合装置100での照合の処理負荷を低くすることができる。さらに、
図7に示したように、局所特徴量が階層的(プログレッシブ)な構造となっているため、局所特徴量抽出装置120で抽出された局所特徴量の次元数と、特徴量DB110に記憶110に格納されている局所特徴量の次元数とが異なる場合であっても、照合装置100は、互いに共通する次元数までの局所特徴量を用いることにより照合処理を実行することができる。
【0118】
例えば、
図30に示すように、特徴量DB110に記憶されている局所特徴量が150次元であり、局所特徴量抽出装置120で抽出される局所特徴量が50次元である場合を考える。この場合、照合装置100は、双方の50次元までの局所特徴量を用いることにより照合を行うことができる。つまり、例えば局所特徴量抽出装置120の処理能力に応じて局所特徴量の次元数を変更しても、変更された次元数の局所特徴量を用いて、照合装置100において照合処理を実行することが可能である。
【0119】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。
【0120】
この出願は、2011年11月18日に出願された日本出願特願2011−253257を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【0121】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0122】
本実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)画像内の特徴点を検出する特徴点検出部と、各特徴点に対する局所領域を取得する局所領域取得部と、各局所領域を複数のサブ領域に分割するサブ領域分割部と、各局所領域内のサブ領域ごとに複数次元の特徴ベクトルを生成するサブ領域特徴ベクトル生成部と、各局所領域内のサブ領域の位置関係に基づいて、近接するサブ領域間の相関が低くなるようにサブ領域ごとに前記特徴ベクトルから次元を選定し、選定された次元の要素を局所領域の特徴量として出力する次元選定部と、を備える局所特徴量抽出装置。
(付記2)付記1に記載の局所特徴量抽出装置であって、前記次元選定部は、隣接するサブ領域間において、選定される次元が少なくとも1つは異なるように前記特徴ベクトルから次元を選定する、局所特徴量抽出装置。
(付記3)付記1または2に記載の局所特徴量抽出装置であって、前記次元選定部は、局所領域内の複数のサブ領域の特徴ベクトルにおいて次元を選定するための選定順位に従って、前記特徴ベクトルから次元を選定する、局所特徴量抽出装置。
(付記4)付記3に記載の局所特徴量抽出装置であって、前記次元選定部は、前記選定順位に従って選定された次元の順に、選定された次元の要素を局所領域の特徴量として出力する、局所特徴量抽出装置。
(付記5)付記1〜4の何れか一項に記載の局所特徴量抽出装置であって、前記次元選定部において選定される次元数を決定する次元数決定部をさらに備え、前記次元選定部は、局所領域の特徴量の次元数が前記決定された次元数となるように、前記特徴ベクトルから次元を選定する、局所特徴量抽出装置。
(付記6)付記5に記載の局所特徴量抽出装置であって、前記次元数決定部は、検出された前記特徴点の数に応じて、各特徴点に対する局所領域の特徴量において選定される次元数を決定する、局所特徴量抽出装置。
(付記7)付記5に記載の局所特徴量抽出装置であって、前記次元数決定部は、各特徴点の重要度を示す情報に基づいて、各特徴点に対する局所領域の特徴量において選定される次元数を決定する、局所特徴量抽出装置。
(付記8)付記1〜7の何れか一項に記載の局所特徴量抽出装置であって、サブ領域ごとの前記特徴ベクトルを量子化する量子化部をさらに備え、前記次元選定部は、量子化された前記特徴ベクトルから次元を選定する、局所特徴量抽出装置。
(付記9)付記1〜7の何れか一項に記載の局所特徴量抽出装置であって、前記局所領域の特徴量を量子化する量子化部をさらに備える、局所特徴量抽出装置。
(付記10)付記1〜9の何れか一項に記載の局所特徴量抽出装置であって、近接する複数のサブ領域の前記特徴ベクトルに基づいて、前記サブ領域より大きいサブ領域である拡張サブ領域における特徴ベクトルを生成する特徴ベクトル拡張部をさらに備え、前記次元選定部は、さらに、各局所領域内の拡張サブ領域の位置関係に基づいて、近接する拡張サブ領域間の相関が低くなるように拡張サブ領域ごとに前記特徴ベクトルから次元を選定し、選定された次元の要素を局所領域の特徴量として出力する、局所特徴量抽出装置。
(付記11)付記10に記載の局所特徴量抽出装置であって、前記特徴ベクトルの要素は方向に依存した特徴量であり、前記特徴ベクトル拡張部は、サブ領域ごとの前記特徴ベクトルにおける、前記次元選定部で選定されない次元の要素に基づいて、前記拡張サブ領域における特徴ベクトルを生成する、局所特徴量抽出装置。
(付記12)付記1〜11の何れか一項に記載の局所特徴量抽出装置であって、各局所領域内のサブ領域ごとに、前記サブ領域特徴ベクトル生成部により生成される特徴ベクトルとは少なくとも1つの要素の方向が異なる、複数次元の特徴ベクトルを生成する第2のサブ領域特徴ベクトル生成部をさらに備える、局所特徴量抽出装置。
(付記13)付記12に記載の局所特徴量抽出装置であって、各局所領域を、前記サブ領域分割部により分割される複数のサブ領域とは異なる、複数のサブ領域に分割する第2のサブ領域分割部をさらに備え、前記第2のサブ領域特徴ベクトル生成部は、前記第2のサブ領域分割部により分割されたサブ領域ごとに前記特徴ベクトルを生成する、局所特徴量抽出装置。
(付記14)付記13に記載の局所特徴量抽出装置であって、各特徴点に対して、前記局所領域取得部により取得される局所領域とは異なる局所領域を取得する第2の局所領域取得部をさらに備え、前記第2のサブ領域分割部は、前記第2の局所領域取得部により取得される各局所領域を複数のサブ領域に分割する、局所特徴量抽出装置。
(付記15)コンピュータが、画像内の特徴点を検出し、各特徴点に対する局所領域を取得し、各局所領域を複数のサブ領域に分割し、各局所領域内のサブ領域ごとに複数次元の特徴ベクトルを生成し、各局所領域内のサブ領域の位置関係に基づいて、近接するサブ領域間の相関が低くなるようにサブ領域ごとに前記特徴ベクトルから次元を選定し、選定された次元の要素を局所領域の特徴量として出力する、局所特徴量抽出方法。
(付記16)コンピュータに、画像内の特徴点を検出する機能と、各特徴点に対する局所領域を取得する機能と、各局所領域を複数のサブ領域に分割する機能と、各局所領域内のサブ領域ごとに複数次元の特徴ベクトルを生成する機能と、各局所領域内のサブ領域の位置関係に基づいて、近接するサブ領域間の相関が低くなるようにサブ領域ごとに前記特徴ベクトルから次元を選定し、選定された次元の要素を局所領域の特徴量として出力する機能と、を実現させるためのプログラム。
(付記17)付記1〜14の何れか一項に記載の局所特徴量抽出装置であって、前記局所領域の特徴量を符号化する符号化部をさらに備える、局所特徴量抽出装置。