JP2013011920A - 少ないコードブックの情報量によって高次元の特徴ベクトルを検索する検索装置及びプログラム - Google Patents

少ないコードブックの情報量によって高次元の特徴ベクトルを検索する検索装置及びプログラム Download PDF

Info

Publication number
JP2013011920A
JP2013011920A JP2011142458A JP2011142458A JP2013011920A JP 2013011920 A JP2013011920 A JP 2013011920A JP 2011142458 A JP2011142458 A JP 2011142458A JP 2011142458 A JP2011142458 A JP 2011142458A JP 2013011920 A JP2013011920 A JP 2013011920A
Authority
JP
Japan
Prior art keywords
residual
vector
codebook
function
representative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011142458A
Other languages
English (en)
Other versions
JP5637939B2 (ja
Inventor
Yusuke Uchida
祐介 内田
Shigeyuki Sakasawa
茂之 酒澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2011142458A priority Critical patent/JP5637939B2/ja
Publication of JP2013011920A publication Critical patent/JP2013011920A/ja
Application granted granted Critical
Publication of JP5637939B2 publication Critical patent/JP5637939B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • Y02P90/14
    • Y02P90/28
    • Y02P90/285

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】少ないコードブックの情報量によって、高次元の特徴ベクトルの集合からクエリ特徴ベクトルに類似した特徴ベクトルを検索する検索装置等を提供する。
【解決手段】検索装置における学習部は、残差コードブック生成手段を有する。これは、代表ベクトルfと学習ベクトルfとの間の残差ベクトルfを導出することによってN個の残差クラスタを作成し(S71)、fをT個に区分した残差部分ベクトル集合Rn,tを生成し(S72)、残差コードブック識別子テーブルT[n][t]に、いずれかのラベル値mを割り当て(S73)、mそれぞれについて、当該mが割り当てられた全ての残差部分ベクトル集合Rn,tを用いて、当該m番目の残差コードブックを生成し(S74)、M個の残差コードブックそれぞれで量子化した際の量子化誤差が最も小さくなるm'番目の残差コードブックを用いてT[n][t]を更新する(S75)。
【選択図】図7

Description

本発明は、検索用データベースに登録された高次元の特徴ベクトルの集合から、クエリ特徴ベクトル(検索キー)に類似した特徴ベクトルを検索する最近傍探索技術に関する。
最近傍検索技術として、木構造を用いた、R-tree(Rectangle-tree:矩形木)やANN(Approximate Nearest Neighbor)がある。R-treeは、階層的に入れ子になった最小外接矩形により空間を分割するものであって、主に低次元データ空間に対するインデックス化に用いられる。例えば、所定範囲内に存在するベクトルを検索することに適する。また、ANNは、所要程度の検索誤りを許容(近似最近傍検索)ことによって、検索を高速化することができる。
更に、空間における特徴ベクトルの密度に応じてインデックスを生成する技術もある(例えば特許文献1参照)。この技術によれば、R-treeよりも高速に検索することができるが、特徴ベクトルが高次元になるほど、ほぼ全検索と同等の速度になるという問題がある(例えば「次元の呪い」と称される)。即ち、特徴ベクトルが高次元になるほど、最近傍探索の効率が重要となる。
これに対し、高次元の特徴ベクトルに対する検索技術として、ハッシュでデータを構造化(インデキシング)したLSH(Locality Sensitive Hashing)がある。LSHもANNと同様に検索誤りを許容した近似最近傍探索技術である。LSHによれば、類似するデータ同士のハッシュ値は一致し、非類似のデータ同士のハッシュ値は異なる可能性が高くなるように、ハッシュ値を出力するハッシュ関数が用いられる。尚、LSHについて、各バケットに登録される特徴ベクトルの数をなるべく均一にすることで、効率的に検索する技術も提案されている(例えば特許文献2参照)。
更に、ランダムに生成した木構造(kd-tree)のインデックスを複数利用することによって、検索の高精度化を実現する技術もある(例えば非特許文献1参照)。これは、高次元ベクトルを構成する各次元のうち分散の大きな次元を順に決定的に分割するkd-treeに対して、分割する次元や閾値に自由度を持たせたkd-treeを利用している。しかしながら、このような技術についても、特徴ベクトルそのものを登録して、クエリベクトルとの距離計算を行う必要がある。そのために、メモリ効率が悪く、登録ベクトルが高次元且つ大量にある場合には、メモリ上で動作することができないという問題がある。
これに対し、インデックスに、特徴ベクトルそのものを登録するのではなく、最初に、特徴ベクトルを荒く量子化し、その残差ベクトルを更に量子化し、その量子化されたコードを転置インデックスとして登録することによってメモリ使用量を削減する技術がある(例えば非特許文献2参照)。この技術によれば、検索が高速化されると共に、メモリ効率も向上する。尚、この技術は、LSHや非特許文献1に記載された技術と比較して、検索精度とメモリ使用量とのトレードオフに優れる。
特開2002−163272号公報 特開2009−020769号公報
Marius Muja and David G. Lowe、「FastApproximate Nearest Neighbors with Automatic Algorithm Configuration」、IEEE International Conference on Computer Vision、Theory and Applications (VISAPP'09)、2009. Herve Jegou, Matthijs Douze, Cordelia Schmid、「Product Quantization for Nearest Neighbor Search」、IEEE Transactions on Pattern Analysis and Machine Intelligence、25 Feb. 2010. D. G. Lowe, 「Distinctive Image Features fromScale-Invariant Keypoints」、International Journal ofComputer Vision、vol. 60, no. 2, pp. 91-110, 2004.
しかしながら、非特許文献2に記載された技術によれば、残差ベクトルを単一のコードブックで量子化しているために、近似最近傍検索の精度が悪くなるという問題があった。これは、最初に荒く量子化した際に、残差ベクトルの分布が、クラスタ毎に大きく異なるためである。一方で、この残差ベクトルのコードブックを、クラスタ毎に生成してしまうと、コードブックの情報量(メモリ量)が非常に膨大となってしまう。
そこで、本発明は、検索精度とメモリ量とのトレードオフを考慮して、少ないコードブックの情報量によって、高次元の特徴ベクトルの集合からクエリ特徴ベクトルに類似した特徴ベクトルを検索することができる検索装置及びプログラムを提供することを目的とする。
本発明によれば、粗量子化及び直積量子化を用いて符号化された高次元の登録ベクトルの集合からクエリベクトルに類似したベクトルを検索する検索装置であって、
粗量子化における代表識別値n(=1〜N)に割り当てられた学習ベクトルfと、それに対応する代表ベクトルfとの間の残差ベクトルf(=f−f)を、T個の残差部分ベクトルに分割し、t番目の残差部分ベクトルの集合Rn,tをクラスタリングし、各クラスタから直積量子化のためのコードブックを作成する残差コードブック生成手段を有することを特徴とする。
本発明の検索装置における他の実施形態によれば、
残差コードブック生成手段は、
残差コードブック及び残差コードブック識別子テーブルT[n][t]を生成するものであり、
代表ベクトルfと、当該代表ベクトルfに属する学習ベクトルfとの間の残差ベクトルf(=f−f)を導出することによってN個の残差クラスタを作成する第1の機能と、
残差ベクトルfをT個の残差部分ベクトルに分割し、残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)を生成する第2の機能と、
残差部分ベクトル集合Rn,tそれぞれについて、残差コードブック識別子テーブルT[n][t]に、いずれかのラベル値m(m=1,2,..,M)を割り当てる第3の機能と、
ラベル値mそれぞれについて、当該ラベル値mが割り当てられた全ての残差部分ベクトル集合Rn,tを用いて、当該m番目の残差コードブックを生成する第4の機能と、
残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際の量子化誤差が最も小さくなるm'番目の残差コードブックを用いて残差コードブック識別子テーブルT[n][t]を更新する第5の機能と
を有し、第4及び第5の機能を繰り返し実行する
ことも好ましい。
本発明の検索装置における他の実施形態によれば、
コードブックを生成するコードブック生成手段を更に有し、
コードブック生成手段は、
学習ベクトルの集合を、N個のクラスタにクラスタリングする第1の機能と、
クラスタ毎に、代表ベクトルを導出する第2の機能と、
各代表ベクトルに、一意の代表識別値n(=1〜N)を割り当てたコードブックを生成する第3の機能とを実行することも好ましい。
本発明の検索装置における他の実施形態によれば、
登録ベクトルfを量子化するために、代表識別値n(=1〜N)と代表ベクトルfとを対応付けたコードブックを記憶するコードブック記憶手段と、
登録ベクトルfを、コードブックを用いて、代表識別値nに量子化するベクトル量子化手段と、
登録ベクトルfから代表ベクトルfを引いた残差ベクトルfを導出する残差ベクトル導出手段と、
残差ベクトルをT個の残差部分ベクトルf 1, f 2, ..., f Tに分割する残差ベクトル分割手段と、
各残差部分ベクトルf を更に量子化するために、残差識別値l(=1〜L)と残差部分代表ベクトルfとを対応付けた残差コードブックをM個記憶すると共に、代表識別値nに対応付けられた登録ベクトルfの残差部分ベクトルftが、M個の残差コードブックのどれで量子化すべきかを示す残差コードブック識別子テーブルT[n][t]を記憶する残差コードブック記憶手段と、
残差部分ベクトルf を、T[n][t]番目の残差コードブックで量子化する残差部分ベクトル量子化手段と、
登録ベクトルfの代表識別値n毎に、複数の残差部分ベクトルf の残差識別値l(1≦t≦T)の集合と、登録ベクトルfに関する付加情報とを、各登録ベクトルfの登録情報として登録した転置インデックスを生成する転置インデックス生成手段と、
転置インデックスを、登録ベクトルの集合として記憶する転置インデックス記憶手段と
を有することも好ましい。
本発明の検索装置における他の実施形態によれば、
残差コードブック生成手段における第3の機能について、残差コードブック識別子テーブルT[n][t]に、ランダムに、いずれかのラベル値m(m=1,2,..,M)を割り当てることも好ましい。
本発明の検索装置における他の実施形態によれば、
残差コードブック生成手段における第3の機能について、
残差部分ベクトル集合Rn,tの中から、ランダムにいずれか1つの残差部分ベクトル集合Rn,tを選択する第31の機能と、
選択された当該残差部分ベクトル集合Rn,t内の残差部分ベクトルをクラスタリングし、1つの残差コードブックを生成する第32の機能と、
残差部分ベクトル集合Rn,tそれぞれについて、既に作成された全ての残差コードブックそれぞれで量子化した際に、量子化誤差の総和が最小となる残差コードブック及び量子化誤差Dn,tを求める第33の機能と、
全ての残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)の中からDn,tに比例する確率で1つの残差部分ベクトル集合を選択し、その残差部分ベクトル集合内の残差部分ベクトルをクラスタリングすることで、1つの残差コードブックを生成する第34の機能と、
M個の残差コードブックが生成されるまで、第33及び第34の機能を繰り返す第35の機能と、
残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際に、量子化誤差が最小となる当該残差コードブックのラベル値mを、当該残差部分ベクトル集合Rn,tに割り当てる第36の機能と
を有することも好ましい。
本発明の検索装置における他の実施形態によれば、
転置インデックス記憶手段を用いて、クエリベクトルに類似したベクトルを検索するために、
ベクトル量子化手段は、クエリベクトルfを、コードブックを用いて、代表識別値nに量子化し、
残差ベクトル導出手段は、クエリベクトルfから代表ベクトルfを引いたクエリ残差ベクトルfを導出し、
残差ベクトル分割手段は、クエリ残差ベクトルをT個のクエリ残差部分ベクトルに分割する
と共に、
クエリ残差部分ベクトルf と、残差コードブック識別子テーブルT[n][t]により指定される残差コードブックの各残差代表ベクトルft,l(1≦l≦L)とのLp距離を算出し参照テーブルD[t][l]に保持する残差ベクトル距離算出手段と、
登録ベクトルの登録情報である残差識別値l(1≦t≦T)を基に、テーブルD[t][l]を参照することで、クエリベクトルと登録ベクトルのLp距離の推定値を、参照テーブルの重み付き和d(=Σt=1 Tt・D[t][l])として算出する登録ベクトル距離算出手段と、
距離の重み付き和dが、所定閾値以下となる登録ベクトルを、又は、距離の重み付き和dが小さいものから順に所定個数となる登録ベクトルを、検索結果として出力する検索判定手段と
を有することも好ましい。
本発明の検索装置における他の実施形態によれば、
登録ベクトルは、画像の局所特徴領域から抽出された局所特徴ベクトルであり、
登録ベクトルの付加情報は、画像識別子(IDentifier)、局所特徴領域のスケール、局所特徴領域の角度のいずれか1つを含むことも好ましい。
本発明によれば、粗量子化及び直積量子化を用いて符号化された高次元の登録ベクトルの集合からクエリベクトルに類似したベクトルを検索する装置に搭載されたコンピュータを機能させるプログラムであって、
粗量子化における代表識別値n(=1〜N)に割り当てられた学習ベクトルfと、それに対応する代表ベクトルfとの間の残差ベクトルf(=f−f)を、T個の残差部分ベクトルに分割し、t番目の残差部分ベクトルの集合Rn,tをクラスタリングし、各クラスタから直積量子化のためのコードブックを作成する残差コードブック生成手段としてコンピュータを機能させることを特徴とする。
本発明の検索プログラムにおける他の実施形態によれば、
残差コードブック生成手段は、
残差コードブック及び残差コードブック識別子テーブルT[n][t]を生成するものであり、
代表ベクトルfと、当該代表ベクトルfに属する学習ベクトルfとの間の残差ベクトルf(=f−f)を導出することによってN個の残差クラスタを作成する第1の機能と、
残差ベクトルfをT個の残差部分ベクトルに分割し、残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)を生成する第2の機能と、
残差部分ベクトル集合Rn,tそれぞれについて、残差コードブック識別子テーブルT[n][t]に、いずれかのラベル値m(m=1,2,..,M)を割り当てる第3の機能と、
ラベル値mそれぞれについて、当該ラベル値mが割り当てられた全ての残差部分ベクトル集合Rn,tを用いて、当該m番目の残差コードブックを生成する第4の機能と、
残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際の量子化誤差が最も小さくなるm'番目の残差コードブックを用いて残差コードブック識別子テーブルT[n][t]を更新する第5の機能と
を有し、第4及び第5の機能を繰り返し実行する
ようにコンピュータを機能させることも好ましい。
本発明の検索プログラムにおける他の実施形態によれば、
コードブックを生成するコードブック生成手段を更に有し、
コードブック生成手段は、
学習ベクトルの集合を、N個のクラスタにクラスタリングする第1の機能と、
クラスタ毎に、代表ベクトルを導出する第2の機能と、
各代表ベクトルに、一意の代表識別値n(=1〜N)を割り当てたコードブックを生成する第3の機能とを実行する
ようにコンピュータを機能させることも好ましい。
本発明の検索プログラムにおける他の実施形態によれば、
登録ベクトルfを量子化するために、代表識別値n(=1〜N)と代表ベクトルfとを対応付けたコードブックを記憶するコードブック記憶手段と、
登録ベクトルfを、コードブックを用いて、代表識別値nに量子化するベクトル量子化手段と、
登録ベクトルfから代表ベクトルfを引いた残差ベクトルfを導出する残差ベクトル導出手段と、
残差ベクトルをT個の残差部分ベクトルf 1, f 2, ..., f Tに分割する残差ベクトル分割手段と、
各残差部分ベクトルf を更に量子化するために、残差識別値l(=1〜L)と残差部分代表ベクトルfとを対応付けた残差コードブックをM個記憶すると共に、代表識別値nに対応付けられた登録ベクトルfの残差部分ベクトルftが、M個の残差コードブックのどれで量子化すべきかを示す残差コードブック識別子テーブルT[n][t]を記憶する残差コードブック記憶手段と、
残差部分ベクトルf を、T[n][t]番目の残差コードブックで量子化する残差部分ベクトル量子化手段と、
登録ベクトルfの代表識別値n毎に、複数の残差部分ベクトルf の残差識別値l(1≦t≦T)の集合と、登録ベクトルfに関する付加情報とを、各登録ベクトルfの登録情報として登録した転置インデックスを生成する転置インデックス生成手段と、
転置インデックスを、登録ベクトルの集合として記憶する転置インデックス記憶手段と
してコンピュータを更に機能させることも好ましい。
本発明の検索プログラムにおける他の実施形態によれば、
残差コードブック生成手段における第3の機能について、残差コードブック識別子テーブルT[n][t]に、ランダムに、いずれかのラベル値m(m=1,2,..,M)を割り当てるようにコンピュータを機能させることも好ましい。
本発明の検索プログラムにおける他の実施形態によれば、
残差コードブック生成手段における第3の機能について、
残差部分ベクトル集合Rn,tの中から、ランダムにいずれか1つの残差部分ベクトル集合Rn,tを選択する第31の機能と、
選択された当該残差部分ベクトル集合Rn,t内の残差部分ベクトルをクラスタリングし、1つの残差コードブックを生成する第32の機能と、
残差部分ベクトル集合Rn,tそれぞれについて、既に作成された全ての残差コードブックそれぞれで量子化した際に、量子化誤差の総和が最小となる残差コードブック及び量子化誤差Dn,tを求める第33の機能と、
全ての残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)の中からDn,tに比例する確率で1つの残差部分ベクトル集合を選択し、その残差部分ベクトル集合内の残差部分ベクトルをクラスタリングすることで、1つの残差コードブックを生成する第34の機能と、
M個の残差コードブックが生成されるまで、第33及び第34の機能を繰り返す第35の機能と、
残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際に、量子化誤差が最小となる当該残差コードブックのラベル値mを、当該残差部分ベクトル集合Rn,tに割り当てる第36の機能と
してコンピュータを更に機能させることも好ましい。
本発明の検索プログラムにおける他の実施形態によれば、
転置インデックス記憶手段を用いて、クエリベクトルに類似したベクトルを検索するために、
ベクトル量子化手段は、クエリベクトルfを、コードブックを用いて、代表識別値nに量子化し、
残差ベクトル導出手段は、クエリベクトルfから代表ベクトルfを引いたクエリ残差ベクトルfを導出し、
残差ベクトル分割手段は、クエリ残差ベクトルをT個のクエリ残差部分ベクトルに分割する
と共に、
クエリ残差部分ベクトルf と、残差コードブック識別子テーブルT[n][t]により指定される残差コードブックの各残差代表ベクトルft,l(1≦l≦L)とのLp距離を算出し参照テーブルD[t][l]に保持する残差ベクトル距離算出手段と、
登録ベクトルの登録情報である残差識別値l(1≦t≦T)を基に、テーブルD[t][l]を参照することで、クエリベクトルと登録ベクトルのLp距離の推定値を、参照テーブルの重み付き和d(=Σt=1 Tt・D[t][l])として算出する登録ベクトル距離算出手段と、
距離の重み付き和dが、所定閾値以下となる登録ベクトルを、又は、距離の重み付き和dが小さいものから順に所定個数となる登録ベクトルを、検索結果として出力する検索判定手段と
してコンピュータを更に機能させることも好ましい。
本発明の検索プログラムにおける他の実施形態によれば、
登録ベクトルは、画像の局所特徴領域から抽出された局所特徴ベクトルであり、
登録ベクトルの付加情報は、画像識別子(IDentifier)、局所特徴領域のスケール、局所特徴領域の角度のいずれか1つを含むようにコンピュータを機能させることも好ましい。
本発明の検索装置及びプログラムによれば、検索精度とメモリ量とのトレードオフを考慮して、少ないコードブックの情報量によって、高次元の特徴ベクトルの集合からクエリ特徴ベクトルに類似した特徴ベクトルを検索することができる。
検索装置の機能構成図である。 登録部における処理内容の説明図である。 クラスタFに含まれるベクトルを代表ベクトルfに対応付けた説明図である。 検索部における処理内容の説明図である。 本発明における学習部を含む検索装置の機能構成図である。 コードブック生成部の処理ステップを表すフローチャートである。 本発明における残差コードブック生成部の処理ステップを表すフローチャートである。 残差コードブック生成部における処理内容の第1の説明図である。 残差コードブック生成部における処理内容の第2の説明図である。 本発明における第2のラベル値割当方法の処理ステップを表すフローチャートである。 第2のラベル値割当方法の処理内容の説明図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、検索装置の機能構成図である。
本発明が対象とする検索装置1は、粗量子化及び直積量子化を用いて符号化された高次元の登録ベクトルの集合からクエリベクトルに類似したベクトルを検索する。検索装置1は、コードブック記憶部101と、残差コードブック記憶部102と、転置インデックス記憶部103と、登録部11と、検索部12とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。以下では、[登録部][検索部]の順に説明すると共に、その中で記憶部101〜103について説明する。
[登録部]
図2は、登録部における処理内容の説明図である。以下では、図2を参照しつつ、図1の登録部11の各機能が説明される。また、図3は、クラスタFに含まれるベクトルを代表ベクトルfに対応付けた説明図である。
登録部11は、ベクトル量子化部111と、残差ベクトル導出部112と、残差ベクトル分割部113と、残差部分ベクトル量子化部114と、転置インデックス生成部115とを有する。
コードブック記憶部101は、登録ベクトルfを量子化するために、代表識別値n(=1〜N)と代表ベクトルfとを対応付けたコードブックを記憶する(図2のコードブック記憶部101参照)。
代表識別値n: 代表ベクトルf
1: f=(f11,f12,・・・,f1D
2: f=(f21,f22,・・・,f2D
3: f=(f31,f32,・・・,f3D
・・・
N: f=(fN1,fN2,・・・,fND
ベクトル量子化部111は、登録ベクトルfを入力する。ここで、ベクトルは、高次元の特徴ベクトルであって、例えば128次元(D=128)で表されるものであってもよい。
登録ベクトルf: f=(f,f,・・・,f
そして、ベクトル量子化部111は、登録ベクトルfを、コードブック記憶部101に記憶されたコードブックを用いて、代表識別値n(=1〜N、n:整数値)に量子化する(図2のベクトル量子化部111参照)。
n=q(f)=argmin||f−f||
(登録ベクトルfの量子化関数q(f)は、||f−f||が最小となるnを導出
する)
q:R->N(量子化を意味する)
:代表ベクトル
残差ベクトル導出部112は、登録ベクトルfから代表ベクトルfを引いた残差ベクトルfを導出する(図2の残差ベクトル導出部112参照)。尚、図3(a)によれば、クラスタF毎に、多数のベクトルfに対する代表ベクトルfが表されている。また、fとfとの差分となる残差ベクトルもfも表されている。
=f−fn(=q(f)):残差ベクトル
残差ベクトル分割部113は、残差ベクトルをT個の残差部分ベクトルf 1, f 2, ..., f Tに分割する(図2の残差ベクトル分割部113参照)。ここで、例えば1つの残差部分ベクトルを、16次元にしたとする。この場合、残差ベクトルは、8個(T=D/D'=128/16)の残差部分ベクトルに分割される。
=(f 1,1 ,f 1,2 ,・・・,f 1,D'
=(f 2,D'+1 ,f 2,D'+2 ,・・・,f 2,D'+D'
・・・・・
=(f T,(T-1)・D'+1,f T,(T-1)・D'+2,・・・,f T,(T-1)・D'+D'
残差コードブック記憶部102は、各残差部分ベクトルf を更に量子化するために、残差識別値l(=1〜L)と残差部分代表ベクトルfとを対応付けた残差コードブックをM個記憶する(図2の残差コードブック記憶部102及び図3(b)参照)。ここで、本発明における最も特徴的な部分は、残差コードブックを、N×T個ではなく、M個しか記憶する必要が無いことにある。
また、残差コードブック記憶部102は、代表識別値nに対応付けられた登録ベクトルfの残差部分ベクトルf が、M個の残差コードブックのどれで量子化すべきかを示す残差コードブック識別子テーブルT[n][t]も記憶する(図2の残差コードブック識別子テーブル参照)。
ここで、Mは、1 << M << N×Tの関係にある。M=1にすると、残差ベクトルの分布が、クラスタ毎に大きく異なるために、残差ベクトルを量子化する際の量子化誤差が増加し、結果的に近似最近傍検索の精度が悪くなる。一方で、M=N×Tにすると、コードブックの情報量(メモリ量)が非常に膨大となってしまう。そこで、本発明は、1
<< M << N×Tの関係にすることが重要となる。
残差部分ベクトル量子化部114は、代表識別値n=q(f)とすると、残差部分ベクトルf をT[n][t]番目の残差コードブックで量子化する。残差コードブック識別子テーブルT[n][t]には、Mが対応付けられている。量子化結果は、以下のように表される。
=q T[n][t](f
転置インデックス生成部115は、登録ベクトルfの代表識別値n毎に、複数の残差部分ベクトルf の残差識別値l(1≦t≦T)の集合と、登録ベクトルfに関する付加情報(メタデータ)とを、各登録ベクトルfの登録情報として登録した転置インデックスを生成する。「転置インデックス」とは、ベクトルを、識別値に置き換えたものである。これは、代表識別値n(=1〜N)毎に作成された登録ベクトルのリストである。
登録ベクトルのメタデータには、何が割り当てられてもよい。例えば、登録ベクトルが画像検索における画像特徴量である場合、登録ベクトルが所属する画像識別値を割り当てる。例えば画像の局所特徴領域から抽出された局所特徴ベクトルである場合、メタデータ(登録ベクトルの付加情報)は、画像識別子(IDentifier)、局所特徴領域のスケール、局所特徴領域の角度のいずれか1つを含むことも好ましい。また、高精度に検索する場合、登録ベクトルそのものをメタデータに追加的に登録するものであってもよい。
転置インデックス記憶部103は、転置インデックスを、登録ベクトルの集合として記憶する。
[検索部]
検索部12は、登録部11と同様に、ベクトル量子化部111と、残差ベクトル導出部112と、残差ベクトル分割部113とを有し、更に、残差ベクトル距離算出部124と、登録ベクトル距離算出部125と、検索判定部126とを有する。
図4は、検索部における処理内容の説明図である。以下では、図4を参照しつつ、図1の検索部12の各機能が説明される。
検索部12は、クエリベクトルfを入力する。クエリベクトルfは、登録ベクトルと同じ次元のベクトルである。そして、ベクトル量子化部111は、クエリベクトルfを、コードブック記憶部101に記憶されたコードブックを用いて、代表識別値n(=1〜N、n:整数値)に量子化する。残差ベクトル導出部112は、クエリベクトルfから代表ベクトルfを引いたクエリ残差ベクトルfを導出する。残差ベクトル分割部113は、クエリ残差ベクトルをT個のクエリ残差部分ベクトルに分割する。
残差ベクトル距離算出部124は、クエリ残差部分ベクトルf と、残差コードブック識別子テーブルT[n][t]により指定される残差コードブックの各残差代表ベクトルft,l(1≦l≦L)とのLp距離を算出し、テーブルD[t][l]に保持する(図4の残差ベクトル距離算出部124参照)。Lp距離とは、高次元空間におけるベクトル距離を算出するために、ミンコフスキー距離として知られたものである。Lp距離は、以下のように定義される。多次元空間の点XIを以下のように表す。
I=(xi1, xi2, ・・・, xiD)T i=1,2,3,・・・,n
このとき、多次元空間上の2点XIとXKとのLp距離は、次元数D及びパラメータpを用いて、以下のように表す。
Lp(I,K)=(Σj=1 D|xij−xkj|p1/p
登録ベクトル距離算出部125は、登録ベクトルの登録情報である残差識別値l(1≦t≦T)を基に、テーブルD[t][l]を参照することで、クエリベクトルと登録ベクトルの近似距離を、距離の重み付き和d(=Σt=1 Tt・D[t][l])として算出する(図4の登録ベクトル距離算出部125参照)。
検索判定部126は、距離の重み付き和dが、所定閾値以下となる登録ベクトルを、検索結果として出力する(図4の検索判定部126参照)。この検索結果として、複数の登録ベクトルが導出されてもよい。
既存技術によれば、特徴ベクトルを量子化し、その量子化ベクトルの残差ベクトルに識別値を割り当てている。しかしながら、残差符号化のための残差コードブックが、特徴ベクトルで同一であったために、検索精度が低くなってしまう。これに対し、図1〜4で前述した検索装置によれば、クラスタ毎にコードブックを変更することによって、高次元ベクトルを高精度に検索することができる。即ち、クラスタ毎の残差ベクトルの分布に基づいてM個のコードブックを最適化することによって、全てのクラスタの残差コードブックを生成することなく(M=N×T)、単一の残差コードブックを用いるよりも(M=1)、高精度に検索することができる。
前述したような検索装置1に対する登録部11及び検索部12に対して、本発明によれば、最適なM個の残差コードブックのみを生成する学習部13に特徴がある。以下では、学習部13について詳細に説明する。
[学習部]
図5は、本発明における学習部を含む検索装置の機能構成図である。
図5によれば、学習部13は、学習ベクトルを入力する。学習部13は、コードブック生成部131と、残差コードブック生成部132とを有する。
コードブック生成部131は、学習ベクトルの集合を用いて、コードブック記憶部101に記憶すべきコードブックを生成する。
図6は、コードブック生成部の処理ステップを表すフローチャートである。
(S61)学習ベクトルの集合Fを、N個のクラスタにクラスタリングする。

-> F,F,・・・,F
例えばk-means又はk-means++のようなクラスタリングアルゴリズムが用いられる。
(S62)クラスタ毎に、代表ベクトルfを導出する。
,f,・・・,f
(S63)各代表ベクトルに、一意の代表識別値n(=1〜N)を割り当てたコードブックを生成する。が得られる。
残差ベクトル集合:F ={f−f|f∈F
残差コードブック生成部132は、残差コードブック記憶部102に記憶すべき残差コードブック及び残差コードブック識別子テーブルT[n][t]を生成する。
本発明の特徴は、残差コードブック生成部132にあって、粗量子化における代表識別値n(=1〜N)に割り当てられた学習ベクトルfと、それに対応する代表ベクトルfとの間の残差ベクトルf(=f−f)を、T個の残差部分ベクトルに分割し、t番目の残差部分ベクトルの集合Rn,tをクラスタリングし、各クラスタから直積量子化のためのコードブックを作成する。
図7は、本発明における残差コードブック生成部の処理ステップを表すフローチャートである。図8は、残差コードブック生成部における処理内容の第1の説明図である。図9は、残差コードブック生成部における処理内容の第2の説明図である。以下では、図8及び9を参照しつつ、図7のフローチャートの処理内容が説明される。
(S71)代表ベクトルfと、当該代表ベクトルfに属する学習ベクトルfとの間の残差ベクトルf(=f−f)を導出する(図8のS71参照)。これによって、N個の残差クラスタを作成する。
(S72)残差ベクトルfを、T個の残差部分ベクトルf に分割する(図8のS72参照)。これによって、残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)を生成する。図8のS72によれば、N×T個の残差部分ベクトル集合Rn,tが表されている。
(S73)残差部分ベクトル集合Rn,tそれぞれについて、残差コードブック識別子テーブルT[n][t]に、いずれかのラベル値m(m=1,2,..,M)を割り当てる。ここでは、ラベル値mを割り当てるために、以下の2つの方法がある。
[第1のラベル値割当方法]
残差コードブック識別子テーブルT[n][t]に、ランダムに、いずれかのラベル値mを割り当てる。
[第2のラベル値割当方法]
残差コードブック識別子テーブルT[n][t]に、残差コードブックによって導出したラベル値mを割り当てる。この方法については、図10及び図11を用いて後述する。
図9のS73によれば、以下のようにランダムに、ラベル値mが割り当てられている。
1,1:m=2
1,2:m=7
1,3:m=1
・・・
(S74)ラベル値mそれぞれについて、当該ラベル値mが割り当てられた全ての残差部分ベクトル集合Rn,tを用いて、当該m番目の残差コードブックを生成する。図8のS74によれば、ラベル値m=1が割り当てられた全ての残差部分ベクトル集合Rn,tを用いて、当該1番目の残差コードブックが生成されている。
(S75)残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際の量子化誤差が最も小さくなるm'番目の残差コードブックを用いて残差コードブック識別子テーブルT[n][t]を更新する。図9のS75によれば、残差部分ベクトル集合Rn,t毎に、残差コードブックの割り当てが更新されている。
そして、残差部分ベクトルf それぞれについて、S74及びS75の処理を、所定回数、繰り返す。これによって、M個の残差コードブックと、残差コードブックの割り当てとの両方が更新される。
最後に、S73における[第2のラベル値割当方法]について説明する。
図10は、本発明における第2のラベル値割当方法の処理ステップを表すフローチャートである。
図11は、第2のラベル値割当方法の処理内容の説明図である。
(S731)残差部分ベクトル集合Rn,tの中から、任意にいずれか1つの残差部分ベクトル集合Rn,tを選択する。図11のS731によれば、任意に1つの残差部分ベクトル集合Rn,tが選択されている。
(S732)選択された当該残差部分ベクトル集合Rn,t内の残差部分ベクトルをクラスタリングし、1つの残差コードブックを生成する。図11のS732によれば、1つの残差部分ベクトル集合Rn,tから、1つの残差コードブックが生成されている。
(S733)残差部分ベクトル集合Rn,tそれぞれについて、既に作成された全ての残差コードブックそれぞれで量子化した際に、量子化誤差の総和が最小となる残差コードブック及び量子化誤差Dn,tを求める。
(S734)全ての残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)の中からDn,tに比例する確率で1つの残差部分ベクトル集合を選択する。ここで、「比例する確率」とは、正規化確率を意味し、全ての残差部分ベクトル集合Rn,tにおける最小の量子化誤差Dn,tの総和ΣDn,tに対する、当該残差部分ベクトル集合Rn,tの最小の量子化誤差Dn,tの割合である。
残差部分ベクトル集合毎:Dn,t/ΣDn,t
即ち、確率Dn,t/ΣDn,tで、残差部分ベクトル集合Rn,tが選択される。
そして、選択された残差部分ベクトル集合Rn,t内の残差部分ベクトルをクラスタリングすることで、1つの残差コードブックを生成する。
(S735)M個の残差コードブックが生成されるまで、S733及びS734を繰り返す。
(S736)残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際に、量子化誤差が最小となる当該残差コードブックのラベル値mを、当該残差部分ベクトル集合Rn,tに割り当てる。
図10及び図11で前述したように、各残差部分ベクトル集合Rn,tに、当該残差コードブックのラベル値mが割り当てられる。その後、図7及び図9で前述したS74及びS75の処理が繰り返し実行される。
以上、詳細に説明したように、本発明の検索装置及びプログラムによれば、検索精度とメモリ量とのトレードオフを考慮して、少ないコードブックの情報量によって、高次元の特徴ベクトルの集合からクエリ特徴ベクトルに類似した特徴ベクトルを検索することができる。
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
1 検索装置
101 コードブック記憶部
102 残差コードブック記憶部
103 転置インデックス記憶部
11 登録部
111 ベクトル量子化部
112 残差ベクトル導出部
113 残差ベクトル分割部
114 残差部分ベクトル量子化部
115 転置インデックス生成部
12 検索部
124 残差ベクトル距離算出部
125 登録ベクトル距離算出部
126 検索判定部

Claims (16)

  1. 粗量子化及び直積量子化を用いて符号化された高次元の登録ベクトルの集合からクエリベクトルに類似したベクトルを検索する検索装置であって、
    粗量子化における代表識別値n(=1〜N)に割り当てられた学習ベクトルfと、それに対応する代表ベクトルfとの間の残差ベクトルf(=f−f)を、T個の残差部分ベクトルに分割し、t番目の残差部分ベクトルの集合Rn,tをクラスタリングし、各クラスタから直積量子化のためのコードブックを作成する残差コードブック生成手段を有することを特徴とする検索装置。
  2. 前記残差コードブック生成手段は、
    残差コードブック及び残差コードブック識別子テーブルT[n][t]を生成するものであり、
    代表ベクトルfと、当該代表ベクトルfに属する学習ベクトルfとの間の残差ベクトルf(=f−f)を導出することによってN個の残差クラスタを作成する第1の機能と、
    前記残差ベクトルfをT個の残差部分ベクトルに分割し、残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)を生成する第2の機能と、
    前記残差部分ベクトル集合Rn,tそれぞれについて、前記残差コードブック識別子テーブルT[n][t]に、いずれかのラベル値m(m=1,2,..,M)を割り当てる第3の機能と、
    前記ラベル値mそれぞれについて、当該ラベル値mが割り当てられた全ての残差部分ベクトル集合Rn,tを用いて、当該m番目の残差コードブックを生成する第4の機能と、
    前記残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際の量子化誤差が最も小さくなるm'番目の残差コードブックを用いて残差コードブック識別子テーブルT[n][t]を更新する第5の機能と
    を有し、第4及び第5の機能を繰り返し実行する
    ことを特徴とする請求項1に記載の検索装置。
  3. コードブックを生成するコードブック生成手段を更に有し、
    前記コードブック生成手段は、
    前記学習ベクトルの集合を、N個のクラスタにクラスタリングする第1の機能と、
    前記クラスタ毎に、代表ベクトルを導出する第2の機能と、
    各代表ベクトルに、一意の代表識別値n(=1〜N)を割り当てたコードブックを生成する第3の機能とを実行する
    ことを特徴とする請求項2に記載の検索装置。
  4. 前記登録ベクトルfを量子化するために、代表識別値n(=1〜N)と代表ベクトルfとを対応付けたコードブックを記憶するコードブック記憶手段と、
    前記登録ベクトルfを、前記コードブックを用いて、代表識別値nに量子化するベクトル量子化手段と、
    前記登録ベクトルfから代表ベクトルfを引いた残差ベクトルfを導出する残差ベクトル導出手段と、
    前記残差ベクトルをT個の残差部分ベクトルf 1, f 2, ..., f Tに分割する残差ベクトル分割手段と、
    各残差部分ベクトルf を更に量子化するために、残差識別値l(=1〜L)と残差部分代表ベクトルfとを対応付けた残差コードブックをM個記憶すると共に、前記代表識別値nに対応付けられた登録ベクトルfの残差部分ベクトルftが、前記M個の残差コードブックのどれで量子化すべきかを示す残差コードブック識別子テーブルT[n][t]を記憶する残差コードブック記憶手段と、
    前記残差部分ベクトルf を、T[n][t]番目の前記残差コードブックで量子化する残差部分ベクトル量子化手段と、
    前記登録ベクトルfの代表識別値n毎に、複数の残差部分ベクトルf の残差識別値l(1≦t≦T)の集合と、登録ベクトルfに関する付加情報とを、各登録ベクトルfの登録情報として登録した転置インデックスを生成する転置インデックス生成手段と、
    前記転置インデックスを、登録ベクトルの集合として記憶する転置インデックス記憶手段と
    を有することを特徴とする請求項3に記載の検索装置。
  5. 前記残差コードブック生成手段における第3の機能について、前記残差コードブック識別子テーブルT[n][t]に、ランダムに、いずれかのラベル値m(m=1,2,..,M)を割り当てることを特徴とする請求項3又は4に記載の検索装置。
  6. 前記残差コードブック生成手段における第3の機能について、
    前記残差部分ベクトル集合Rn,tの中から、ランダムにいずれか1つの残差部分ベクトル集合Rn,tを選択する第31の機能と、
    選択された当該残差部分ベクトル集合Rn,t内の残差部分ベクトルをクラスタリングし、1つの残差コードブックを生成する第32の機能と、
    前記残差部分ベクトル集合Rn,tそれぞれについて、既に作成された全ての残差コードブックそれぞれで量子化した際に、量子化誤差の総和が最小となる残差コードブック及び量子化誤差Dn,tを求める第33の機能と、
    全ての残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)の中から前記Dn,tに比例する確率で1つの残差部分ベクトル集合を選択し、その残差部分ベクトル集合内の残差部分ベクトルをクラスタリングすることで、1つの残差コードブックを生成する第34の機能と、
    M個の残差コードブックが生成されるまで、第33及び第34の機能を繰り返す第35の機能と、
    前記残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際に、量子化誤差が最小となる当該残差コードブックのラベル値mを、当該残差部分ベクトル集合Rn,tに割り当てる第36の機能と
    を有することを特徴とする請求項3又は4に記載の検索装置。
  7. 前記転置インデックス記憶手段を用いて、クエリベクトルに類似したベクトルを検索するために、
    前記ベクトル量子化手段は、前記クエリベクトルfを、前記コードブックを用いて、代表識別値nに量子化し、
    前記残差ベクトル導出手段は、前記クエリベクトルfから代表ベクトルfを引いたクエリ残差ベクトルfを導出し、
    前記残差ベクトル分割手段は、前記クエリ残差ベクトルをT個のクエリ残差部分ベクトルに分割する
    と共に、
    前記クエリ残差部分ベクトルf と、前記残差コードブック識別子テーブルT[n][t]により指定される残差コードブックの各残差代表ベクトルft,l(1≦l≦L)とのLp距離を算出し参照テーブルD[t][l]に保持する残差ベクトル距離算出手段と、
    前記登録ベクトルの登録情報である残差識別値l(1≦t≦T)を基に、前記テーブルD[t][l]を参照することで、クエリベクトルと登録ベクトルのLp距離の推定値を、参照テーブルの重み付き和d(=Σt=1 Tt・D[t][l])として算出する登録ベクトル距離算出手段と、
    前記距離の重み付き和dが、所定閾値以下となる登録ベクトルを、又は、距離の重み付き和dが小さいものから順に所定個数となる登録ベクトルを、検索結果として出力する検索判定手段と
    を有することを特徴とする請求項2から6のいずれか1項に記載の検索装置。
  8. 前記登録ベクトルは、画像の局所特徴領域から抽出された局所特徴ベクトルであり、
    前記登録ベクトルの付加情報は、画像識別子(IDentifier)、局所特徴領域のスケール、局所特徴領域の角度のいずれか1つを含むことを特徴とする請求項1から7のいずれか1項に記載の検索装置。
  9. 粗量子化及び直積量子化を用いて符号化された高次元の登録ベクトルの集合からクエリベクトルに類似したベクトルを検索する装置に搭載されたコンピュータを機能させるプログラムであって、
    粗量子化における代表識別値n(=1〜N)に割り当てられた学習ベクトルfと、それに対応する代表ベクトルfとの間の残差ベクトルf(=f−f)を、T個の残差部分ベクトルに分割し、t番目の残差部分ベクトルの集合Rn,tをクラスタリングし、各クラスタから直積量子化のためのコードブックを作成する残差コードブック生成手段としてコンピュータを機能させることを特徴とする検索プログラム。
  10. 前記残差コードブック生成手段は、
    残差コードブック及び残差コードブック識別子テーブルT[n][t]を生成するものであり、
    代表ベクトルfと、当該代表ベクトルfに属する学習ベクトルfとの間の残差ベクトルf(=f−f)を導出することによってN個の残差クラスタを作成する第1の機能と、
    前記残差ベクトルfをT個の残差部分ベクトルに分割し、残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)を生成する第2の機能と、
    前記残差部分ベクトル集合Rn,tそれぞれについて、前記残差コードブック識別子テーブルT[n][t]に、いずれかのラベル値m(m=1,2,..,M)を割り当てる第3の機能と、
    前記ラベル値mそれぞれについて、当該ラベル値mが割り当てられた全ての残差部分ベクトル集合Rn,tを用いて、当該m番目の残差コードブックを生成する第4の機能と、
    前記残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際の量子化誤差が最も小さくなるm'番目の残差コードブックを用いて残差コードブック識別子テーブルT[n][t]を更新する第5の機能と
    を有し、第4及び第5の機能を繰り返し実行する
    ようにコンピュータを機能させることを特徴とする請求項9に記載の検索プログラム。
  11. コードブックを生成するコードブック生成手段を更に有し、
    前記コードブック生成手段は、
    前記学習ベクトルの集合を、N個のクラスタにクラスタリングする第1の機能と、
    前記クラスタ毎に、代表ベクトルを導出する第2の機能と、
    各代表ベクトルに、一意の代表識別値n(=1〜N)を割り当てたコードブックを生成する第3の機能とを実行する
    ようにコンピュータを機能させることを特徴とする請求項10に記載の検索プログラム。
  12. 前記登録ベクトルfを量子化するために、代表識別値n(=1〜N)と代表ベクトルfとを対応付けたコードブックを記憶するコードブック記憶手段と、
    前記登録ベクトルfを、前記コードブックを用いて、代表識別値nに量子化するベクトル量子化手段と、
    前記登録ベクトルfから代表ベクトルfを引いた残差ベクトルfを導出する残差ベクトル導出手段と、
    前記残差ベクトルをT個の残差部分ベクトルf 1, f 2, ..., f Tに分割する残差ベクトル分割手段と、
    各残差部分ベクトルf を更に量子化するために、残差識別値l(=1〜L)と残差部分代表ベクトルfとを対応付けた残差コードブックをM個記憶すると共に、前記代表識別値nに対応付けられた登録ベクトルfの残差部分ベクトルftが、前記M個の残差コードブックのどれで量子化すべきかを示す残差コードブック識別子テーブルT[n][t]を記憶する残差コードブック記憶手段と、
    前記残差部分ベクトルf を、T[n][t]番目の前記残差コードブックで量子化する残差部分ベクトル量子化手段と、
    前記登録ベクトルfの代表識別値n毎に、複数の残差部分ベクトルf の残差識別値l(1≦t≦T)の集合と、登録ベクトルfに関する付加情報とを、各登録ベクトルfの登録情報として登録した転置インデックスを生成する転置インデックス生成手段と、
    前記転置インデックスを、登録ベクトルの集合として記憶する転置インデックス記憶手段と
    してコンピュータを更に機能させることを特徴とする請求項11に記載の検索プログラム。
  13. 前記残差コードブック生成手段における第3の機能について、前記残差コードブック識別子テーブルT[n][t]に、ランダムに、いずれかのラベル値m(m=1,2,..,M)を割り当てるようにコンピュータを機能させることを特徴とする請求項11又は12に記載の検索プログラム。
  14. 前記残差コードブック生成手段における第3の機能について、
    前記残差部分ベクトル集合Rn,tの中から、ランダムにいずれか1つの残差部分ベクトル集合Rn,tを選択する第31の機能と、
    選択された当該残差部分ベクトル集合Rn,t内の残差部分ベクトルをクラスタリングし、1つの残差コードブックを生成する第32の機能と、
    前記残差部分ベクトル集合Rn,tそれぞれについて、既に作成された全ての残差コードブックそれぞれで量子化した際に、量子化誤差の総和が最小となる残差コードブック及び量子化誤差Dn,tを求める第33の機能と、
    全ての残差部分ベクトル集合Rn,t(1≦n≦N,1≦t≦T)の中から前記Dn,tに比例する確率で1つの残差部分ベクトル集合を選択し、その残差部分ベクトル集合内の残差部分ベクトルをクラスタリングすることで、1つの残差コードブックを生成する第34の機能と、
    M個の残差コードブックが生成されるまで、第33及び第34の機能を繰り返す第35の機能と、
    前記残差部分ベクトル集合Rn,tそれぞれについて、M個の残差コードブックそれぞれで量子化した際に、量子化誤差が最小となる当該残差コードブックのラベル値mを、当該残差部分ベクトル集合Rn,tに割り当てる第36の機能と
    してコンピュータを更に機能させることを特徴とする請求項11又は12に記載の検索プログラム。
  15. 前記転置インデックス記憶手段を用いて、クエリベクトルに類似したベクトルを検索するために、
    前記ベクトル量子化手段は、前記クエリベクトルfを、前記コードブックを用いて、代表識別値nに量子化し、
    前記残差ベクトル導出手段は、前記クエリベクトルfから代表ベクトルfを引いたクエリ残差ベクトルfを導出し、
    前記残差ベクトル分割手段は、前記クエリ残差ベクトルをT個のクエリ残差部分ベクトルに分割する
    と共に、
    前記クエリ残差部分ベクトルf と、前記残差コードブック識別子テーブルT[n][t]により指定される残差コードブックの各残差代表ベクトルft,l(1≦l≦L)とのLp距離を算出し参照テーブルD[t][l]に保持する残差ベクトル距離算出手段と、
    前記登録ベクトルの登録情報である残差識別値l(1≦t≦T)を基に、前記テーブルD[t][l]を参照することで、クエリベクトルと登録ベクトルのLp距離の推定値を、参照テーブルの重み付き和d(=Σt=1 Tt・D[t][l])として算出する登録ベクトル距離算出手段と、
    前記距離の重み付き和dが、所定閾値以下となる登録ベクトルを、又は、距離の重み付き和dが小さいものから順に所定個数となる登録ベクトルを、検索結果として出力する検索判定手段と
    してコンピュータを更に機能させることを特徴とする請求項9から14のいずれか1項に記載の検索プログラム。
  16. 前記登録ベクトルは、画像の局所特徴領域から抽出された局所特徴ベクトルであり、
    前記登録ベクトルの付加情報は、画像識別子(IDentifier)、局所特徴領域のスケール、局所特徴領域の角度のいずれか1つを含むようにコンピュータを機能させることを特徴とする請求項9から15のいずれか1項に記載の検索プログラム。
JP2011142458A 2011-06-28 2011-06-28 少ないコードブックの情報量によって高次元の特徴ベクトルを検索する検索装置及びプログラム Active JP5637939B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011142458A JP5637939B2 (ja) 2011-06-28 2011-06-28 少ないコードブックの情報量によって高次元の特徴ベクトルを検索する検索装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011142458A JP5637939B2 (ja) 2011-06-28 2011-06-28 少ないコードブックの情報量によって高次元の特徴ベクトルを検索する検索装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2013011920A true JP2013011920A (ja) 2013-01-17
JP5637939B2 JP5637939B2 (ja) 2014-12-10

Family

ID=47685774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011142458A Active JP5637939B2 (ja) 2011-06-28 2011-06-28 少ないコードブックの情報量によって高次元の特徴ベクトルを検索する検索装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5637939B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015022383A (ja) * 2013-07-16 2015-02-02 Kddi株式会社 画像に基づくバイナリ局所特徴ベクトルを用いた検索装置、システム、プログラム及び方法
KR20180110959A (ko) * 2017-03-30 2018-10-11 오드컨셉 주식회사 벡터 양자화의 혼합에 기초한 부호화 방법 및 이를 이용한 최근접 이웃 검색(nns) 방법
CN110309294A (zh) * 2018-03-01 2019-10-08 优酷网络技术(北京)有限公司 内容集合的标签确定方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6640896B2 (ja) 2018-02-15 2020-02-05 株式会社東芝 データ処理装置、データ処理方法およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010A (en) * 1854-06-06 William w
JPH0359700A (ja) * 1989-07-28 1991-03-14 Toshiba Corp 予測残差信号のベクトル量子化方式
JPH0475100A (ja) * 1990-07-17 1992-03-10 Sharp Corp 符号化装置
JPH09154138A (ja) * 1995-05-31 1997-06-10 Toshiba Corp 動画像符号化/復号化装置
JP2002163272A (ja) * 2000-11-15 2002-06-07 Samsung Electronics Co Ltd 特徴ベクトル空間のインデクシング方法及び検索方法
JP2009020769A (ja) * 2007-07-13 2009-01-29 Toshiba Corp パターン探索装置及びその方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010A (en) * 1854-06-06 William w
JPH0359700A (ja) * 1989-07-28 1991-03-14 Toshiba Corp 予測残差信号のベクトル量子化方式
JPH0475100A (ja) * 1990-07-17 1992-03-10 Sharp Corp 符号化装置
JPH09154138A (ja) * 1995-05-31 1997-06-10 Toshiba Corp 動画像符号化/復号化装置
JP2002163272A (ja) * 2000-11-15 2002-06-07 Samsung Electronics Co Ltd 特徴ベクトル空間のインデクシング方法及び検索方法
JP2009020769A (ja) * 2007-07-13 2009-01-29 Toshiba Corp パターン探索装置及びその方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG201100090009; 内田 祐介 他: '大域・局所画像特徴および音響特徴を用いた高精度なコピー検出手法' 電子情報通信学会技術研究報告 Vol.110,No.414, 20110210, pp.49-54., 社団法人電子情報通信学会 *
JPN6014036659; 内田 祐介 他: '大域・局所画像特徴および音響特徴を用いた高精度なコピー検出手法' 電子情報通信学会技術研究報告 Vol.110,No.414, 20110210, pp.49-54., 社団法人電子情報通信学会 *
JPN6014036661; Herve Jegou et al: 'Product Quantization for Nearest Neighbor Search' IEEE Transactions on Pattern Analysis and Machine Intelligence Vol.33,Issue 1, 201101, pp.117-128., IEEE *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015022383A (ja) * 2013-07-16 2015-02-02 Kddi株式会社 画像に基づくバイナリ局所特徴ベクトルを用いた検索装置、システム、プログラム及び方法
KR20180110959A (ko) * 2017-03-30 2018-10-11 오드컨셉 주식회사 벡터 양자화의 혼합에 기초한 부호화 방법 및 이를 이용한 최근접 이웃 검색(nns) 방법
KR101958939B1 (ko) 2017-03-30 2019-03-15 오드컨셉 주식회사 벡터 양자화의 혼합에 기초한 부호화 방법 및 이를 이용한 최근접 이웃 검색(nns) 방법
US11436228B2 (en) * 2017-03-30 2022-09-06 Odd Concepts Inc. Method for encoding based on mixture of vector quantization and nearest neighbor search using thereof
CN110309294A (zh) * 2018-03-01 2019-10-08 优酷网络技术(北京)有限公司 内容集合的标签确定方法及装置
CN110309294B (zh) * 2018-03-01 2022-03-15 阿里巴巴(中国)有限公司 内容集合的标签确定方法及装置

Also Published As

Publication number Publication date
JP5637939B2 (ja) 2014-12-10

Similar Documents

Publication Publication Date Title
JP5436346B2 (ja) 高次元の特徴ベクトルの集合から類似した特徴ベクトルを検索する検索装置及びプログラム
WO2020182019A1 (zh) 图像检索方法、装置、设备及计算机可读存储介质
Baranchuk et al. Revisiting the inverted indices for billion-scale approximate nearest neighbors
CN107085607B (zh) 一种图像特征点匹配方法
CN109697451B (zh) 相似图像聚类方法及装置、存储介质、电子设备
US20080301133A1 (en) Location recognition using informative feature vocabulary trees
US11106708B2 (en) Layered locality sensitive hashing (LSH) partition indexing for big data applications
JP5637939B2 (ja) 少ないコードブックの情報量によって高次元の特徴ベクトルを検索する検索装置及びプログラム
Chiu et al. Learning to index for nearest neighbor search
US9940100B2 (en) Shortlist computation for searching high-dimensional spaces
JP7006966B2 (ja) ベクトル量子化の混合に基づく符号化方法及びこれを用いた最近傍探索(nns)方法
EP3115908A1 (en) Method and apparatus for multimedia content indexing and retrieval based on product quantization
CN111597371A (zh) 外观专利的多模态图像检索方法及系统
CN113495965A (zh) 一种多媒体内容检索方法、装置、设备及存储介质
Chen et al. Robustiq: A robust ann search method for billion-scale similarity search on gpus
Feng et al. A novel ECOC algorithm with centroid distance based soft coding scheme
Sun et al. Automating nearest neighbor search configuration with constrained optimization
CN109446408B (zh) 检索相似数据的方法、装置、设备及计算机可读存储介质
Li et al. Embedding Compression in Recommender Systems: A Survey
JP2018055618A (ja) 確率モデルに基づく階層的なコードブックを用いて量子化するプログラム、装置及び方法
CN113536020B (zh) 数据查询的方法、存储介质和计算机程序产品
JP2013140494A (ja) 高次元の特徴ベクトルを検索する検索装置及びプログラム
CN115129949A (zh) 向量范围检索的方法、装置、设备、介质及程序产品
Li et al. Hubness-based sampling method for nyström spectral clustering
CN113609313A (zh) 数据处理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141021

R150 Certificate of patent or registration of utility model

Ref document number: 5637939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150