JPWO2010143573A1 - 物体認識用画像データベースの作成方法、作成装置および作成処理プログラム - Google Patents
物体認識用画像データベースの作成方法、作成装置および作成処理プログラム Download PDFInfo
- Publication number
- JPWO2010143573A1 JPWO2010143573A1 JP2011518472A JP2011518472A JPWO2010143573A1 JP WO2010143573 A1 JPWO2010143573 A1 JP WO2010143573A1 JP 2011518472 A JP2011518472 A JP 2011518472A JP 2011518472 A JP2011518472 A JP 2011518472A JP WO2010143573 A1 JPWO2010143573 A1 JP WO2010143573A1
- Authority
- JP
- Japan
- Prior art keywords
- registered
- vector
- value
- identifier
- recognition
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 207
- 239000013598 vector Substances 0.000 claims abstract description 272
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 73
- 230000008569 process Effects 0.000 claims description 55
- 238000001514 detection method Methods 0.000 claims description 38
- 239000000284 extract Substances 0.000 claims description 8
- 238000002474 experimental method Methods 0.000 description 56
- 230000006870 function Effects 0.000 description 17
- 230000000052 comparative effect Effects 0.000 description 10
- 230000007423 decrease Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 7
- 238000013139 quantization Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012733 comparative method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
確率的な連想データ構造を用いた、空間的効率の良い画像データベースの作成手法および検索手法を提供する。画像データベースに登録されるべき画像であって物体を表す画像から、その画像の各所の局所的な特徴をそれぞれ表現する1以上の特徴ベクトルを局所特徴量としてそれぞれ抽出する特徴抽出工程と、登録されるべき要素としての複数のキーにそれぞれ割り当てられた値をそのキーに基づいて連想させる連想データ構造であって、偽陽性を許容することによりデータの容量を圧縮する圧縮データ構造を構造要素として含む連想データ構造を用い、各特徴ベクトルをキーとして前記連想データ構造に登録する登録工程とを備える。
Description
この発明は、物体認識用画像データベースの作成方法、作成装置および作成処理プログラムに関する。より詳細には、データを要素とする集合があるとき各データ(キー)に割り当てられた値をそのキーに基づいて連想させるデータ構造であって、偽陽性(False Positive)を許容することによりデータ容量を圧縮する連想データ構造を用いてなる、特徴ベクトルの圧縮表現とその特定物体認識への応用に関する。
特定物体認識とは、物体のインスタンスを認識するタスクである。この明細書では、SIFT(例えば、非特許文献1参照)などの局所特徴量を用いた特定物体認識について述べる。
我々の周囲には物体のインスタンスが無数にあるため、特定物体認識を真に実用的なものとするには、識別できる物体数の大規模化が必須である。局所特徴量は数十から数百の次元を持つ実数値ベクトルであり、高い識別性を持つため、多数の物体を識別する目的に適している。認識処理の基本は、未知の物体から得た局所特徴量と既知の物体から得た局所特徴量を照合する処理である。特徴ベクトルの照合は最近傍探索によって容易に実現できるものの、その大規模化には、まだいくつかの障害を乗り越える必要がある。最も重要な障害は、処理速度とメモリ量に関するものである。
幸い、処理速度については、これまでに有効な手法が提案されている。その中には、k-d木などの木構造に基づくもの(例えば、前記非特許文献1参照)、ハッシュに基づくもの(例えば、特許文献1、非特許文献2参照)などがある。これらの手法では、近似最近傍探索を用いることによって、処理速度を大幅に改善している。
一方、メモリ量の問題については十分な解決策は得られていない。局所特徴量は画像あたり数百から数千個にもなるため、物体数が大規模になるとその記録には膨大なメモリが必要となる。
これまでに、特徴ベクトルをVisual Word (例えば、非特許文献3参照)と呼ばれる代表ベクトルに置換することで必要なメモリ量を削減する手法が提案されている。この手法は、画像に写っている物体のクラス(例えば、一般的な「車」というカテゴリー)を認識する「一般物体認識」には有効な手法といえる。しかし、画像中の物体のインスタンス(例えば、前者の「車」というカテゴリーの中の特定のモデル名)まで認識する「特定物体認識」への適合性は高いとはいえない。大規模な特定物体認識を行うためには、Visual Wordの数を多くしなければならない。高い認識率を得るためには、一つのVisual Wordに2〜3個の特徴ベクトルを対応付けるのが限界でありそれより多くの特徴ベクトルを一つのVisual Wordで代表させるようにすると認識率が低下してしまう(例えば、非特許文献4参照)。特定物体認識におけるメモリ量削減の決め手にはなり得ない。
これまでに、特徴ベクトルをVisual Word (例えば、非特許文献3参照)と呼ばれる代表ベクトルに置換することで必要なメモリ量を削減する手法が提案されている。この手法は、画像に写っている物体のクラス(例えば、一般的な「車」というカテゴリー)を認識する「一般物体認識」には有効な手法といえる。しかし、画像中の物体のインスタンス(例えば、前者の「車」というカテゴリーの中の特定のモデル名)まで認識する「特定物体認識」への適合性は高いとはいえない。大規模な特定物体認識を行うためには、Visual Wordの数を多くしなければならない。高い認識率を得るためには、一つのVisual Wordに2〜3個の特徴ベクトルを対応付けるのが限界でありそれより多くの特徴ベクトルを一つのVisual Wordで代表させるようにすると認識率が低下してしまう(例えば、非特許文献4参照)。特定物体認識におけるメモリ量削減の決め手にはなり得ない。
この他のメモリ量削減手法として、スカラ量子化(例えば、非特許文献5参照)や特徴ベクトルの取捨選択(例えば、非特許文献6、前記非特許文献4参照)などがある。しかし、上記の近似最近傍探索を用いた照合では、特徴ベクトル間の距離を計算する必要があるため、いずれにせよ個々の特徴ベクトルを記録しなければならない。従って、記録する特徴ベクトル数に応じたメモリ量が必要となり、その削減には限界が生じる。
また、この問題を解決する一つの考え方は、照合に際して距離計算を放棄することである。これにより特徴ベクトルの記録も不要となるため、メモリ量の大幅な削減が可能となる。実際、特徴ベクトルをハッシュ表に登録しておき、それを検索することによって認識する手法が提案されている(例えば、特許文献1、前記非特許文献2参照)。この手法では、特徴ベクトルの照合を、距離あるいは類似度という量的な概念に基づく類似検索ではなく、ハッシュ関数の値(ハッシュ値)が同じかどうかという一致検索によって実現している。ハッシュ表には特徴ベクトルの有無が記録されるだけなので、メモリ量の大幅な削減が可能となる。
D. Lowe: "Distinctive Image Features from Scale-Invariant Keypoints", International Journal of Computer Vision, Vol. 60, No. 2, pp. 91-110 (2004).
野口和人, 黄瀬浩一, 岩村雅一:"近似最近傍探索の多段階化による物体の高速認識", 画像の認識・理解シンポジウム(MIRU2007)論文集、OS-B2-02, pp. 111-118 (2007).
K. Kise, K. Noguchi and M. Iwamura: "Memory Efficient Recognition of Specific Objects with Local Features", Proc. of the 19th International Conference of Pattern Recognition (ICPR2008) WeAT3.1 (2008).
井上勝文, 三宅弘志, 黄瀬浩一:"局所記述子に基づく3次元物体認識のためのメモリ削減−局所記述子の取捨選択によるアプローチ−", 画像の認識・理解シンポジウム(MIRU2008)論文集、OS15-3, pp. 363-370 (2008).
本道貴行, 黄瀬浩一:"特定物体認識のためのデータベース容量削減法の検討〜局所特徴量の量子化と取捨選択〜", 電子情報通信学会技術研究報告、Vol. 108,No. 484,PRMU2008-265, pp. 171-176 (2009).
B. Chazelle, J. Kilian, R. Rubinfeld and A. Tal: "The Bloomier Filter: An Efficient Data Structure for Static Support Lookup Table", Proc. 15th Annual ACM-SIAM SODA, pp. 30-39 (2004).
ところが、この手法にもまだメモリ量削減の余地がある。正しい認識のためには、類似した特徴ベクトルが同じハッシュ値を持つようにしなければならない。ところが、これによって、ハッシュ表に記録される特徴ベクトルに偏りが生じる。その結果、ハッシュ表の大部分には何も記録されず、空間効率、即ち、メモリ空間のうちで有効利用されるメモリ領域の割合が悪化する。
この発明は、以上のような事情を考慮してなされたものであって、前述の課題を解決するため、データ集合の要素としての「キー」にそれぞれ割り当てられた値をそのキーに基づいて提供する連想データ構造を用いた、空間的効率の良い画像データベースの作成手法および検索手法を提供する。前記連想データ構造は、データ容量の圧縮、即ち、データの格納に必要なメモリ量を削減し高い空間効率を得る代償として偽陽性を許容するデータ構造を組み合わせてなる。前記データ構造は、多数のキーが登録されている状態で、あるキーが登録されているか否かを調べる(検索する)ために用いられる。前述の偽陽性は、検索を行うとそのキーに割り当てられていない値が返される場合があったり、そのキーが登録されていないにもかかわらず値が返されたりすることが起こることがあり得ることである。その意味で、前記データ構造は、確率的なデータ構造といえる。つまり、正解が得られる保証がなく誤った結果が返されることがあっても、誤った結果を返す確率が実用上支障のない程度に低ければよいとするのである。データベースの作成に要するメモリ量を抑制するために、偽陽性を許容することも一つの選択肢である。
上記のハッシュ表を用いる代わりに前記データ構造を用いて、特徴ベクトルが記録されているかどうかを検索できる。大きな違いは、記録されていない特徴ベクトルを誤って検出するという偽陽性が生じるかどうかにある。ハッシュ表を用いる手法では偽陽性は生じ得ない。一方、前記データ構造を用いる手法では、一定の偽陽性を容認することの引き替えに、高い空間効率を得ることが可能となる。
この発明は、物体認識用画像データベースに登録されるべき物体が撮影された画像から、その画像の局所的特徴を表す複数の特徴ベクトルを抽出する特徴抽出工程と、データを登録できかつあるデータが登録済か否かを判定し得るデータ構造に対し、ある物体から抽出された各特徴ベクトルを、その物体に予め割り当てられた識別子が前記特徴ベクトルから連想されるように登録する登録工程とを備え、各工程をコンピュータが実行し、前記登録に係る物体は、nビット(nは自然数)の識別子が割り当てられ、前記登録工程は、前記識別子の各ビットのゼロ値登録用と1値登録用として用意された2×n個の前記データ構造に対し、各特徴ベクトルが抽出された物体の識別子に応じて各ビットのゼロ値登録用と1値登録用の何れか一方のデータ構造に前記特徴ベクトルをそれぞれ登録し、前記画像データベースは、検索質問としてある物体の画像が与えられたとき同じ物体が登録されているか否かの認識処理を行うべく、前記コンピュータまたは他のコンピュータによってアクセスされ、前記認識処理は、前記検索質問から複数の特徴ベクトルを検索質問ベクトルとして抽出し、各検索質問ベクトルと同値の特徴ベクトルが各データ構造に登録されているか否かを調べ、すべてのビットについてゼロ値または1値のいずれかに同値の特徴ベクトルが登録されているときは登録された各ビットの値に応じたnビット値を識別子の候補として得、各検索質問ベクトルにつき得られた候補を統計処理して検索質問に適合する識別子を見出すことを特徴とする物体認識用画像データベースの作成方法を提供する。
また、異なる観点から、この発明は、物体認識用画像データベースに登録されるべき物体が撮影された画像から、その画像の局所的特徴を表す複数の特徴ベクトルを抽出する特徴抽出部と、データを登録できかつあるデータが登録済か否かを判定し得るデータ構造体の集合からなるデータ構造部と、ある物体から抽出された各特徴ベクトルからその物体に予め割り当てられた識別子が前記特徴ベクトルから連想されるように前記特徴ベクトルを前記データ構造部に登録する登録部とを備え、前記登録に係る物体は、nビット(nは自然数)の識別子が割り当てられ、前記データ構造部は、前記識別子の各ビットのゼロ値登録用および1値登録用として2×n個のデータ構造体を少なくとも有し、前記登録部は、各特徴ベクトルが抽出された物体の識別子に応じて各ビットのゼロ値登録用と1値登録用の何れか一方のデータ構造に前記特徴ベクトルをそれぞれ登録し、前記画像データベースは、検索質問としてある物体の画像が与えられたとき同じ物体が登録されているか否かの認識処理を行う認識装置によってアクセスされ、前記認識装置は、前記検索質問から複数の特徴ベクトルを検索質問ベクトルとして抽出し、各検索質問ベクトルと同値の特徴ベクトルが各データ構造に登録されているか否かを調べ、すべてのビットについてゼロ値または1値のいずれかに同値の特徴ベクトルが登録されているときは登録された各ビットの値に応じたnビット値を識別子の候補として得、各検索質問ベクトルにつき得られた候補を統計処理して検索質問に適合する識別子を見出すことを特徴とする物体認識用画像データベースの作成装置を提供する。
さらに、この発明は、物体認識用画像データベースに登録されるべき物体が撮影された画像から、その画像の局所的特徴を表す複数の特徴ベクトルを抽出する特徴抽出処理と、データを登録できかつあるデータが登録済か否かを判定し得るデータ構造に対し、ある物体から抽出された各特徴ベクトルを、その物体に予め割り当てられた識別子が前記特徴ベクトルから連想されるように登録する登録処理とをコンピュータに実行させ、前記登録に係る物体は、nビット(nは自然数)の識別子が割り当てられ、前記登録処理は、前記識別子の各ビットのゼロ値登録用と1値登録用として用意された2×n個の前記データ構造に対し、各特徴ベクトルが抽出された物体の識別子に応じて各ビットのゼロ値登録用と1値登録用の何れか一方のデータ構造に前記特徴ベクトルをそれぞれ登録し、前記画像データベースは、検索質問としてある物体の画像が与えられたとき同じ物体が登録されているか否かの認識処理を行うべく、前記コンピュータまたは他のコンピュータによってアクセスされ、前記認識処理は、前記検索質問から複数の特徴ベクトルを検索質問ベクトルとして抽出し、各検索質問ベクトルと同値の特徴ベクトルが各データ構造に登録されているか否かを調べ、すべてのビットについてゼロ値または1値のいずれかに同値の特徴ベクトルが登録されているときは登録された各ビットの値に応じたnビット値を識別子の候補として得、各検索質問ベクトルにつき得られた候補を統計処理して検索質問に適合する識別子を見出すことを特徴とする物体認識用画像データベースの作成処理プログラムを提供する。
この発明の物体認識用画像データベースの作成方法において、前記登録工程は、前記識別子の各ビットのゼロ値登録用と1値登録用として用意された2×n個の前記データ構造に対し、各特徴ベクトルが抽出された物体の識別子に応じて各ビットのゼロ値登録用と1値登録用の何れか一方のデータ構造に前記特徴ベクトルをそれぞれ登録ので、特徴ベクトルが各ビットのゼロ値用または1値用のデータ構造に登録されているか否か、いずれのデータ構造に登録されているかに基づいてその特徴ベクトルから識別子の値を連想することができる。前記データ構造は、偽陽性を許容することによりデータ容量を圧縮するものであるから、従来と同じメモリ量でより大規模な物体認識用画像データベース実現することができる。後述する図9、図10、図15、図16などに示すように、本願発明は、ハッシュ表を用いて近似最近傍探索を行う手法と比較した場合に、より一層メモリ量の削減が可能であることが実験的に検証されている。
この発明において、前記データ構造として適用可能なものの具体的な一例は、ブルーム・フィルタ(Bloom Filter)であり、前記連想データ構造として適用可能なものの具体的な一例は、ブルーミア・フィルタ(Bloomier Filter、例えば、前記非特許文献6参照)である。ブルーミア・フィルタは、登録されるべき要素としての複数のキーにそれぞれ割り当てられた値をそのキーに基づいて連想させるための手法として知られたデータ構造である。ここで、連想とは、あるキーが与えられたときに、所定のデータ構造によりそのキーに対応付けられた値を短時間で得ることのできる仕組みを意味し、連想するとは、その仕組みによりキーに対応付けられた値を得ることといえる。ブルーミア・フィルタは、一般に複数の共通なハッシュ関数を有する複数のブルーム・フィルタ(mビットのビット配列)で構成され、あるキーが与えられたとき各ハッシュ関数から得られるハッシュ値を用いて各ブルーム・フィルタを参照し、参照結果に基づいて前記キーに対応付けられた値を得ることができる。その詳細は後述する。
この発明の物体認識用画像データベースに登録されるものは、物体を表す画像であり、検索質問(クエリー)も画像として与えられる。検索質問の画像が表す物体と一致する物体を前記画像データベースから検索できれば、その物体が認識されたといえる。
このような物体認識では、短時間のうちに物体認識が完了すること、および、少ないメモリ量で画像データベースを実現することが重要である。両者は、しばしばトレードオフの関係にあるが、この発明は、どちらかといえば、それらのうちメモリ量の削減に課題の重点がある。即ち、多量の画像データが登録される画像データベースを構築するときに有効な手法である。
以上の作用効果は、この発明による物体認識用画像データベースの作成装置および作成処理プログラムについても同様である。
このような物体認識では、短時間のうちに物体認識が完了すること、および、少ないメモリ量で画像データベースを実現することが重要である。両者は、しばしばトレードオフの関係にあるが、この発明は、どちらかといえば、それらのうちメモリ量の削減に課題の重点がある。即ち、多量の画像データが登録される画像データベースを構築するときに有効な手法である。
以上の作用効果は、この発明による物体認識用画像データベースの作成装置および作成処理プログラムについても同様である。
以下、この発明の好ましい態様について説明する。
この発明の物体認識用画像データベースの作成方法において、各データ構造は、偽陽性を許容することによりデータを格納するメモリの容量を削減するものであってもよい。
前記登録工程は、所定の規則を適用して前記識別子に係る誤り検出用の値を得、得られた値を前記誤り検出用のデータ構造に登録し、前記認識処理は、得られた識別子の候補と前記誤り検出用データ構造に登録された値とを照合し、両者が一致する場合は前記検索質問ベクトルについての判定結果を統計処理の対象とし、一致しない場合は統計処理の対象としなくてもよい。このようにすれば、前記登録工程は、前記識別子の値に所定の規則を適用して誤り検出用の値を得、得られた値を前記誤り検出用データ構造にさらに登録するので、検索質問ベクトルがあるビット桁のゼロ値にも1値にも登録されていると判断された場合にも、誤り検出用データ構造に登録された値との整合性を判定し、誤り検出用データ構造を用いない場合よりも高い精度で検索質問ベクトルに関連する画像を検索することができる。
また、前記誤り検出用の値が少なくとも1ビットからなり、前記誤り検出用データ構造は、ビットのゼロ値登録用と1値登録用としてデータ構造が用意されてなるものでもよい。このようにすれば、2×n個の前記データ構造を用いて識別子を連想する連想データ構造が構成されるところ、さらに前記データ構造を追加することにより検出用データ構造を構成することができる。
この発明の物体認識用画像データベースの作成方法において、各データ構造は、偽陽性を許容することによりデータを格納するメモリの容量を削減するものであってもよい。
前記登録工程は、所定の規則を適用して前記識別子に係る誤り検出用の値を得、得られた値を前記誤り検出用のデータ構造に登録し、前記認識処理は、得られた識別子の候補と前記誤り検出用データ構造に登録された値とを照合し、両者が一致する場合は前記検索質問ベクトルについての判定結果を統計処理の対象とし、一致しない場合は統計処理の対象としなくてもよい。このようにすれば、前記登録工程は、前記識別子の値に所定の規則を適用して誤り検出用の値を得、得られた値を前記誤り検出用データ構造にさらに登録するので、検索質問ベクトルがあるビット桁のゼロ値にも1値にも登録されていると判断された場合にも、誤り検出用データ構造に登録された値との整合性を判定し、誤り検出用データ構造を用いない場合よりも高い精度で検索質問ベクトルに関連する画像を検索することができる。
また、前記誤り検出用の値が少なくとも1ビットからなり、前記誤り検出用データ構造は、ビットのゼロ値登録用と1値登録用としてデータ構造が用意されてなるものでもよい。このようにすれば、2×n個の前記データ構造を用いて識別子を連想する連想データ構造が構成されるところ、さらに前記データ構造を追加することにより検出用データ構造を構成することができる。
また、前記認識処理は、偽陽性のために、ゼロ値および1値登録用のいずれのデータ構造にも同一の検索質問ベクトルが登録されていると判断されるビットの数が予め定められた数を超える場合、その検索質問ベクトルについての判定結果を統計処理の対象から除外してもよい。このようにすれば、いわゆる偽陽性によりある検索質問ベクトルに関連する画像の識別子として所定の数を超える値が得られた場合、誤った値を多数含むその判断結果を特定の基礎から除外することにより、前記除外を行わない場合よりも高い精度で検索質問ベクトルに関連する画像を検索することができる。
さらにまた、前記認識処理は、前記検索質問ベクトルに関連があると判定される識別子の値に対して所定の得点を与え、前記検索質問ベクトルに関連があると判定される識別子が存しない場合はいずれの識別子にも得点を与えず、前記検索質問から抽出される検索質問ベクトルについての統計処理に基づき最多得点を得た識別子を決定してもよい。このようにすれば、複数の検索質問ベクトルの判断結果を多数決処理する、いわゆる投票処理により、個々の判断結果が正しい確率が100%でなくても、多数決処理により妥当な結果を得ることができる。
前記データ構造は、ブルーム・フィルタであってもよい。
また、前述の作成方法および検索方法において、各データ構造は、それを構成するビットの数m(mは自然数)が予め定められた登録ベクトルの最大数よりも大きくてもよい。より好ましくは、mは、各登録ベクトルが登録された後の各データ構造が、適度にゼロ値のビットを含む疎な状態になるように決定される。このようにすれば、データ構造の誤検出の確率、即ち、偽陽性の発生確率を低い値にすることができる。ただし、あまりmを大きくしすぎると空間効率が低下する。設計者は、両者の兼ね合いから実験的にあるいは経験的に妥当な値を決定すればよい。
ここで示した種々の好ましい態様は、それら複数を組み合わせることもできる。
また、前述の作成方法および検索方法において、各データ構造は、それを構成するビットの数m(mは自然数)が予め定められた登録ベクトルの最大数よりも大きくてもよい。より好ましくは、mは、各登録ベクトルが登録された後の各データ構造が、適度にゼロ値のビットを含む疎な状態になるように決定される。このようにすれば、データ構造の誤検出の確率、即ち、偽陽性の発生確率を低い値にすることができる。ただし、あまりmを大きくしすぎると空間効率が低下する。設計者は、両者の兼ね合いから実験的にあるいは経験的に妥当な値を決定すればよい。
ここで示した種々の好ましい態様は、それら複数を組み合わせることもできる。
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
この発明の詳細な説明に先立ち、その技術的意義を把握しやすくするために関連研究について、少し詳しく説明しておく。
1. 関連研究について
この発明の詳細な説明に先立ち、その技術的意義を把握しやすくするために関連研究について、少し詳しく説明しておく。
1. 関連研究について
局所特徴量を用いた特定物体認識では、メモリ量の削減が重要な課題である。削減の従来手法には、特徴ベクトルのベクトル量子化を行うもの(前記非特許文献7参照)や、スカラ量子化を行うもの(前記非特許文献3参照)がある。
前者の、ベクトル量子化をする手法では、複数の特徴ベクトルをVisual Wordと呼ばれる代表ベクトルに置き換えることでメモリ量を削減している。しかし大規模な認識を行うためには、一つのVisual Wordに2〜3個の特徴ベクトルを対応付けるのが限度であり、それ以上の数を一つのVisual Wordに対応付けると認識率が低下することが報告されている(前記非特許文献5参照)。
一方、後者のスカラ量子化する手法では、特徴ベクトルの各次元をスカラ量子化することでメモリ量を削減している。この手法では、ある程度大規模な物体認識でも有効であるが、特徴ベクトルの数を1 bitで表現したとしても、特徴ベクトルの数に比例してメモリ量が増加するため、更なる大規模な物体認識を行うには限界がある。このため、特徴ベクトルそのものの容量を削減する手法には限界がある。
特徴ベクトル自体の容量を削減する以外のアプローチには、主記憶ではなく補助記憶を利用する手法がある(例えば、F. Fraundorfer, H. Stewenius and D. Nister: "A Binning Scheme for Fast Hard Drive Based Image Search", Proc. of CVPR2007, pp. 1-6 (2007)参照。また、姫井教考, 和田俊和:"B+木を用いた補助記憶装置上での近似最近傍探索", 電子情報通信学会技術研究報告、Vol. 108,No. 484,PRMU2008-273, pp. 223-228 (2009)参照)。その他、データベースに登録する特徴ベクトルをサンプリングする手法(例えば、前記非特許文献5、4参照)がある。
補助記憶を利用する手法では、記録している場所へのポインタのみを主記憶に保存することでメモリ量を削減している。この手法では、かなり大規模な物体認識を行えるが、認識処理に時間がかかるという問題点が生じる。
特徴ベクトルをサンプリングする手法では、認識に有効な特徴ベクトルを取捨選択することによりメモリ量を削減している。この手法でも、大規模な物体認識を行うためには、削減できる特徴ベクトルの数に限界があり、それ以上の数を削減すると認識率が低下してしまう。
上に述べたような手法では、特徴ベクトルの距離を計算するため、どの手法でも個々の特徴ベクトル自体を記録する必要があり、認識に必要なメモリ量を削減するには限界がある。
この問題を解決するための一つのアプローチとして、特徴ベクトルの距離計算を放棄することが考えられる。このような考えに基づいた手法として、ハッシュ表を用いた手法(前記特許文献1、非特許文献2参照)が提案されている。しかし、この手法にも問題点があり、ハッシュ表に登録される特徴ベクトルに偏りがあり、ハッシュ表の大部分が何も記録されず、空間効率が悪い。そこでこの発明では、特徴ベクトルの距離計算を行わないという考えに基づき、ハッシュ表と比べてはるかに空間効率の良いブルーミア・フィルタを用い、メモリ量を削減する手法を提案する。
2. 野口らの手法
2. 野口らの手法
本節では、この発明の基礎となる野口らの手法(前記特許文献1、非特許文献2参照)について説明する。野口らの手法は、PCA-SIFT(例えば、Y. Ke and R. Sukthankar: "PCA-SIFT:A more distinctive representation for local image descriptors", Proc. of CVPR2004, Vol. 2, pp. 506-513 (2004)参照)で求めた36次元の特徴ベクトルを用いる特定物体認識手法である。野口らの手法は、ハッシュ表に特徴ベクトルを登録するデータベース作成処理と、このデータベースを用い、投票処理に基づいて物体を認識する認識処理の二つに分かれる。以下に、具体的な処理について説明する。
2-1. データベース作成
2-1. データベース作成
本節では、野口らの手法のデータベース作成処理について説明する。野口らの手法ではまず、特徴ベクトルpの第1次元から第d次元(d≦36)までをとり、p'=(p1, p2, …, pd)を作成する。次にこのベクトルp'を用い、
というハッシュ関数より、ハッシュ表に登録するためのインデックスを求める。ここで、Hsizeは、ハッシュ表のサイズである。求まったインデックスに、特徴ベクトルpに対する物体IDを登録する。ここで、物体IDは、この発明の「識別子」に対応する。
野口らの手法では、特徴ベクトルの登録時に衝突が生じた場合、リストとして特徴ベクトルを登録していく。但し、計算コストの削減のために、リスト長に閾値cを設け、リスト長がcよりも長くなる場合、リスト全体をハッシュ表から削除し、以後の登録を禁止する。これは、同じハッシュ値を持つ特徴ベクトルは互いに類似しているため、物体認識にあまり寄与しないという考えに基づく。以上の処理を全ての特徴ベクトルに対して行い、データベースを作成する。
2-2. 認識処理
2-2. 認識処理
野口らの手法では、質問画像からPCA-SIFTで求めた特徴ベクトルを用い、データベース作成処理と同様に、ハッシュ表のインデックスを求める。そして、求めたハッシュインデックスに登録されている物体ID全てに投票を行う。この処理を、質問画像から得られる特徴ベクトル全てに対して行い、最終的に最も得票数が多い物体を認識結果とする。以下に具体的な処理について説明する。
まず、質問画像から得られる特徴ベクトルから、ハッシュ表のインデックスを求める。このとき、野口らの手法で用いるハッシュ関数の性質より、次のような問題が発生する。検索質問画像とデータベースの画像が全く同じになるということはほとんどないため、質問画像から得られる特徴ベクトルは、各次元の値がデータベース作成に用いる特徴ベクトルと異なったものとなる。これが原因で異なったビットベクトルに変換されてしまうと、真に対応する物体IDをハッシュ表より検索することができなくなる。そこで、この問題に対処するために、各次元の値に、許容変動幅eを設ける。具体的に説明すると、検索質問となる特徴ベクトル q=(q1, q2, …, qd)において、
も用いて特徴ベクトルを検索する。例を示すと、ビットベクトル u=(1, 0, 0, 1)の第3次元目がこの処理の対象であった場合、u'=(1, 0, 1, 1)も用いて検索する。しかし、この処理を全ての次元に対して行うと、処理時間が膨大になってしまうため、処理の対象とする次元数に閾値bを設ける。これにより、最も多い場合で、検索に用いるビットベクトルu'の数を2b個に抑えている。
以上の処理を行うことで、ハッシュ表に登録されている物体IDに投票を行い、最も得票数の多い物体を認識結果とする。
野口らの手法では、処理を効率化するために図1に示すような複数の識別器を直列に並べた構成とする。この多段階化の構成は、本願発明にも適用可能である。第s段では、b = s-1とした識別器を用いる。質問画像をこの認識器にかけた場合の処理について具体的に説明する。まず第1段では、b=0としたときのビットベクトルを用いて認識する。このとき、得票数が一位の物体と他の物体との得票数の差が十分に大きければ、この時点で得票数一位の物体を認識結果として出力する。十分な得票数差が得られなければ、第2段の識別器に移り、b=1としたときのビットベクトルを用いて認識する。この処理を繰り返すことにより質問画像を認識する。この識別器の多段階化による認識手法の特徴は、識別器の段が移ったとき、前の段で検索に用いられたビットベクトル以外のビットベクトルを用いて認識を行うという、差分探索性があることである。このため、最終段の識別器まで移ったとしても、最初から2b個のビットベクトルを用いて認識するのとほぼ同じ処理時間で認識できる。
2-3. 野口らの手法の課題
2-3. 野口らの手法の課題
野口らの手法では、認識率を確保するために、ビットベクトルの次元dの値を大きくする必要がある。しかし、dの値を大きくすればハッシュ表の大きさも指数的に増加する。
またHsize = 2dとした予備実験により、約一千万個のPCA-SIFT特徴ベクトルを野口らの手法でハッシュ表にマッピングしてみたところ、d=24のとき65%以上、d=28のとき96%以上のハッシュインデックスが、一つの特徴ベクトルにも対応しない、またはリストが削除された状態となっていることが分かった。以上から、野口らの手法には、ハッシュ表の空間効率の観点から、なお改善の余地があるといえる。
この課題に対処すべく、この発明ではハッシュ表と比べると、はるかに空間効率の良いデータ構造として、偽陽性を許容することによりデータの容量を圧縮するデータ構造を用いることにした。前記データ構造の具体的な構成の一例は、ブルーム・フィルタであり、前記連想データ構造の具体的な構成の一例は、ブルーミア・フィルタである。
3. ブルーム・フィルタとブルーミア・フィルタ
またHsize = 2dとした予備実験により、約一千万個のPCA-SIFT特徴ベクトルを野口らの手法でハッシュ表にマッピングしてみたところ、d=24のとき65%以上、d=28のとき96%以上のハッシュインデックスが、一つの特徴ベクトルにも対応しない、またはリストが削除された状態となっていることが分かった。以上から、野口らの手法には、ハッシュ表の空間効率の観点から、なお改善の余地があるといえる。
この課題に対処すべく、この発明ではハッシュ表と比べると、はるかに空間効率の良いデータ構造として、偽陽性を許容することによりデータの容量を圧縮するデータ構造を用いることにした。前記データ構造の具体的な構成の一例は、ブルーム・フィルタであり、前記連想データ構造の具体的な構成の一例は、ブルーミア・フィルタである。
3. ブルーム・フィルタとブルーミア・フィルタ
本節では、この発明に係る連想データ構造として適用可能なブルーミア・フィルタ(前記非特許文献6参照)と、その基礎となるブルーム・フィルタ(詳細は、例えば、B. H. Bloom: "Space/Time Trade-offs in Hash Coding with Allowable Errors", Commun. ACM, Vol. 13, No. 7, pp. 422-426 (1970)参照)について説明する。
3-1. ブルーム・フィルタ
3-1. ブルーム・フィルタ
ブルーム・フィルタは、平衡2分探索木やハッシュ表と比べてはるかに空間効率の良いデータ構造である。このブルーム・フィルタは、あるデータ集合と要素が与えられたとき、この要素がデータ集合のメンバであるか否かを調べるために用いられる。この手法には、ある要素がデータ集合のメンバではないにもかかわらず、集合のメンバであると判断される偽陽性(False Positive)の可能性が高くなるという問題点や、データ集合から元の要素を取り出すことができないという問題点がある。一方この手法には、メモリ量を増やすことなくデータ集合にいくらでも要素を追加することができるという利点がある。もちろん要素を追加すればするほど偽陽性の可能性は高くなるが、同じメモリ量で保存できる要素数は、平衡2分探索木やハッシュ表と比べると圧倒的に多い。
この発明では、この空間効率の良さを利用し、ブルーム・フィルタを特徴ベクトルの圧縮表現に用いる。この明細書では、以後データ集合の要素を特徴ベクトルとして話を進める。以下に、ブルーム・フィルタへの特徴ベクトル登録方法と特徴ベクトルの認識方法の具体的な処理について説明する。
図2に特徴ベクトルの登録処理の流れを示す。まず、空のブルーム・フィルタとしてm bitの配列を用意し、全てのbitを0で初期化する。以下では、mを"TableSize"と呼ぶこととする。次に、k個のハッシュ関数を用意し、それぞれのハッシュ関数に対して、特徴ベクトルをキーとしてハッシュ値を計算する。ここで、得られるハッシュ値は1〜mの整数値とする。そして、得られたk個のハッシュ値 x1, x2, …, xkを基に、ブルーム・フィルタのxi(i=1, 2, …, k)番目のbitを1にすることで特徴ベクトルを登録する。特徴ベクトルの認識処理も探索処理と同様に、特徴ベクトルをキーとしてそれぞれのハッシュ関数からハッシュ値を得る。そして、得られたハッシュ値に対応するbitが全て1になっていれば、データ集合にその特徴ベクトルが含まれているとする。
3-2. ブルーミア・フィルタ
3-2. ブルーミア・フィルタ
この発明で、ブルーミア・フィルタ(Bloomier Filter)は、複数のブルーム・フィルタを用いることで、登録した特徴ベクトルと関連する値を連想させるために用いられるデータ構造である。この手法にも、偽陽性の可能性があるという問題点や、元の特徴ベクトルをデータ集合から取り出すことができないという問題点があるものの、ハッシュ表などと比べると、圧倒的に空間効率が良いという利点がある。この発明では、この性質を利用し、ブルーミア・フィルタを特定物体認識に用いる。以下に、ブルーミア・フィルタの動作について具体的に説明する。
ブルーミア・フィルタで連想させる値が0と1の二種類のみの例について説明する。まず2つのブルーム・フィルタ XとYを用意する。次に、特徴ベクトルに連想させたい値が0である場合、ブルーム・フィルタ Xに特徴ベクトルを登録しておき、連想させたい値が1である場合、ブルーム・フィルタ Yに特徴ベクトルを登録しておく。これによりある特徴ベクトルを認識させたとき、ブルーム・フィルタ Xに存在すれば、その特徴ベクトルから連想される値は0である可能性が高く、また、ブルーム・フィルタ Yに存在すれば、連想される値は1である可能性が高いとすることができる。
この発明では、上記のブルーミア・フィルタの動作を利用し、特定物体を認識するために用いる物体IDを連想させることを考える。物体IDをn bitで表現するとしたとき、bitごとに二つのブルーム・フィルタを用意することで、これを実現させる。これにより、N個の物体を識別するために、物体ごとにブルーム・フィルタを用意するとN個のブルーム・フィルタが必要となるが、ブルーミア・フィルタを用いることで、log2N個のブルーム・フィルタで物体を識別することができる。
4. この発明の手法
4. この発明の手法
本節では、ブルーミア・フィルタを用いた特定物体認識手法について述べる。この発明でも、野口らの手法と同様に、画像からPCA-SIFTによって求めた特徴ベクトルを用いる。まず、ブルーミア・フィルタへ特徴ベクトルを登録するデータベース作成処理について説明する。次に、ブルーミア・フィルタを用いた物体認識手法について具体的に説明する。
4-1. データベース作成
4-1. データベース作成
本節では、ブルーミア・フィルタへ特徴ベクトルを登録するデータベース作成処理について説明する。まず、物体を識別するために用いる物体IDをn bitで表現するとしたとき、2n個のブルーム・フィルタを用意する。このとき0を連想させるブルーム・フィルタをX1, X2, …, Xn、1を連想させるブルーム・フィルタをY1, Y2, …, Ynとする。それぞれのブルーム・フィルタのTableSizeは、
具体例を示すと、ブルーム・フィルタ Xiの場合、物体IDをbit表現したときにi番目のbitが0である全ての物体から得られる特徴ベクトル数がMの値となり、
次に、物体IDを連想させるために、n個のブルーム・フィルタに対して特徴ベクトルを登録していく。例えば、2bitで物体IDを表現するとき、物体IDの3を"10"で表現したとすると、bit列の1 bit目が"1"、2 bit目が"0"であるため、Y1とX2のブルーム・フィルタに物体ID3の物体から得られる特徴ベクトルを保存する。以下に具体的な処理を説明する。
この発明では野口らの手法と同様に、特徴ベクトルのd次元を用いて、ビットベクトルuを作成する。データベースに登録する特徴ベクトル全てをビットベクトルで表現したとき、同じビットベクトルが閾値c個以上あれば、そのビットベクトルに変換される特徴ベクトルは、認識にはあまり有効でないと考え、データベースに登録しない。それ以外の場合は、求めたビットベクトルuをキーとし、k個のハッシュ関数を用いて、ブルーム・フィルタのどのビットを1にするかを決める。
この実施形態では、k=8とし、ハッシュ関数にインターネット上のGeneral Purpose Hash Function Algorithms, [online]、平成21年6月3日検索、<URL: http://www.partow.net/programming/hashfunctions/index.html#RSHashFunction.> で紹介されている8個のハッシュ関数を用いる。ただし、これは一例にすぎず、他のハッシュ関数を用いてもよい。
以上の処理を全ての特徴ベクトルに対して行い、データベースを作成する。この発明では、データベースから元の特徴ベクトルを取り出すことができないが、ブルーム・フィルタの性質上、元の特徴ベクトルをそのまま保存するよりも、かなりメモリ量を圧縮して特徴ベクトルを表現することができる。
4-2. 物体認識
4-2. 物体認識
本節では、ブルーミア・フィルタを用いた物体認識手法について説明する。まず、提案する物体認識手法の処理の流れを説明する。この手法では、検索質問画像から得られる特徴ベクトルqを用い、物体IDのi(i=1, 2, …, n)番目のbitが0か1かを求めるために、XiとYiのブルーム・フィルタにqに対応する特徴ベクトルが登録されているかを調べる。このとき、Xiに登録されていれば、物体IDのi番目のbitを0とし、Yiに登録されていれば、物体IDのi番目のbitを1とする。そして、全てのbitに対して値を求め、最終的に求まった物体IDの物体に投票を行う。この処理を検索質問画像から得られる特徴ベクトル全てに対して行い、最も得票数の多かった物体を認識結果とする。以下に具体的な処理について説明する。
質問画像から得られる特徴ベクトルは、一般に各次元の値がデータベース作成に用いる特徴ベクトルのものと異なったものとなる。このためこの実施形態でも、野口らの手法と同様に、各次元の値の許容変動幅eを設け変動に対処する。また、この処理を行う次元数を閾値b個以下に制限し、次元数がbを上回るときには、次元のインデックスの大きいものからb個を採用する。そしてこれらのビットベクトルを用いて、物体IDのi(i=1, 2, …, n)番目のbitが0か1かを求める。
このとき、ブルーム・フィルタ Xiに存在していれば、物体IDのi番目のbitを0とし、ブルーム・フィルタ Yiに存在していれば、物体IDのi番目のbitを1とする。XiとYiの両方に含まれていない場合は、このビットベクトルをキーとした特徴ベクトルはデータベースに登録されていないとし、i番目以降の処理を打ち切る。
この処理では、XiとYiの両方に含まれていた場合に問題が起こる。これは、どちらかのブルーム・フィルタが偽陽性を引き起こし、実際には登録されていないにもかかわらず、登録されていると判断されるために起こる。この発明では、このような場合、両方の可能性を試すことにより対処する。具体的には、物体IDのi番目のbitが0となる物体IDと1となる物体IDの両方を投票の対象とする。但し、全てのbitに対して上記の処理を行うと誤投票が増加してしまうため、この発明では、偽陽性に対処する物体IDの次元数に閾値tを設け、投票する物体ID数を2t個に制限する。対処する次元数がt個を超える場合、次元の小さいものからt個採用する。
上記の処理を繰り返し、求まった物体IDの物体に投票する。この処理を検索質問画像から得られる全ての特徴ベクトルに対して行い、最終的に最も得票数の多かった物体を認識結果とする。
またこの実施形態では、認識処理の効率化を図るために、野口らの手法と同様に、第s段がb = s-1とした識別器を用いて認識を行う。これによって、十分に他の物体との得票数差が得られれば、途中の段で処理を打ち切ることができるため、認識処理を効率的に行うことができる。
4-3. 誤り検出
4-3. 誤り検出
この発明では、上記の処理で作成したデータベースに加え、投票時に投票誤りを検出するための処理も提案する。まず、データベース作成の際には、上記の通常のブルーミア・フィルタに加え、誤り検出用のブルーミア・フィルタも作成する。これは、ある検索質問画像から得られた特徴ベクトルを用いて認識処理で求まったIDに、本当に投票を行ってよいかを決めるための簡易的な誤り検出器である。
この誤り検出ブルーミア・フィルタを以下のように作成する。まず、二つのブルーム・フィルタ P0, P1を用意する。そして、物体IDを2bit表現したとき、1の数が偶数個の物体IDから得られる特徴ベクトルをP0に登録し、1の数が奇数個の物体IDから得られる特徴ベクトルをP1に登録する。それぞれのブルーム・フィルタのTableSizeは、式(4)と同様に与えられる。
認識処理では、求まった物体IDの物体に投票を行うかどうかを、誤り検出ブルーミア・フィルタを用いて決める。このとき、誤り検出ブルーミア・フィルタに登録されていなかった場合や、両方に登録されていた場合、求まった物体IDは誤ったIDと判断し、投票を行わない。
5. データベース作成処理、認識処理の具体例
前節で述べたデータベース作成処理、認識処理についての具体例を本節に示す。なお、説明を理解しやすくするため、本節では非常に小さな物体IDのbit数、特徴ベクトル数を例示しているが、実際に本願発明が適用される場面では、後述する実験例、あるいはそれよりさらに大規模なデータベースが処理の対象となる。
前節で述べたデータベース作成処理、認識処理についての具体例を本節に示す。なお、説明を理解しやすくするため、本節では非常に小さな物体IDのbit数、特徴ベクトル数を例示しているが、実際に本願発明が適用される場面では、後述する実験例、あるいはそれよりさらに大規模なデータベースが処理の対象となる。
5-1. データベース作成処理
いま、物体IDが「3」の物体から得られる特徴ベクトルをデータベースに登録する処理について具体的に述べる。まず特徴ベクトルを登録するブルーム・フィルタを決める。ここで、物体ID3を2bitで表現するとしたとき、物体ID3に10というbit列を割り当てたとする。例では、bit列の1番目の数字が1,2番目の数字が0であるので、bit列の1番目の数字に1を連想させるブルーム・フィルタ Y1と、bit列の2番目の数字に0を連想させるブルーム・フィルタ X2に特徴ベクトルを登録する。
また、物体IDをbit列で表現したとき、1が奇数個現れるので、誤り検出ブルーム・フィルタ P1にも特徴ベクトルを登録する。次に、物体ID3の物体より得られる特徴ベクトルを、図2に示すような手順で登録する。
いま、物体IDが「3」の物体から得られる特徴ベクトルをデータベースに登録する処理について具体的に述べる。まず特徴ベクトルを登録するブルーム・フィルタを決める。ここで、物体ID3を2bitで表現するとしたとき、物体ID3に10というbit列を割り当てたとする。例では、bit列の1番目の数字が1,2番目の数字が0であるので、bit列の1番目の数字に1を連想させるブルーム・フィルタ Y1と、bit列の2番目の数字に0を連想させるブルーム・フィルタ X2に特徴ベクトルを登録する。
また、物体IDをbit列で表現したとき、1が奇数個現れるので、誤り検出ブルーム・フィルタ P1にも特徴ベクトルを登録する。次に、物体ID3の物体より得られる特徴ベクトルを、図2に示すような手順で登録する。
まず、物体ID3の物体から得られる特徴ベクトルの1次元目からd次元を用い、ビットベクトルを作成する。特徴ベクトルの各次元の値が非負であるとき1とし、負であるとき0に変換する。具体的に説明すると、今物体ID3の物体から得られる特徴ベクトルとして、
P1 = ( 24,-500, 249, 32),
P2 = (239, 123, -11, -57),
…
があるとき、d=3とすると、P1,P2,・・・はそれぞれ低次元側(左側)から3ビットの各要素を0または1に符号化してなるビットベクトル、
u1 = (1, 0, 1),
u2 = ( 1, 1, 0),
…
に変換される。
P1 = ( 24,-500, 249, 32),
P2 = (239, 123, -11, -57),
…
があるとき、d=3とすると、P1,P2,・・・はそれぞれ低次元側(左側)から3ビットの各要素を0または1に符号化してなるビットベクトル、
u1 = (1, 0, 1),
u2 = ( 1, 1, 0),
…
に変換される。
このとき、同じビットベクトルに変換される特徴ベクトルがc個以上あった場合、このビットベクトルに変換される特徴ベクトルは、類似しているため認識にはあまり有効でないと考え、以後の処理に用いない。
次に、ビットベクトルをキーとしてk個のハッシュ関数からそれぞれハッシュ値を得る。そして、得られたハッシュ値に対応するブルーム・フィルタのbitを1にする。ここで、対象のブルーム・フィルタは、前述のごとくY1, X2, P1であり、何も登録されていない初期後の状態で、各ブルーム・フィルタは、全ての要素が0(ゼロ)である。
ここで、kをk=3とし、ブルーム・フィルタのTableSizeをm=8としたとき、ビットベクトルu1,u2を登録する例を図23に示す。
ここで、kをk=3とし、ブルーム・フィルタのTableSizeをm=8としたとき、ビットベクトルu1,u2を登録する例を図23に示す。
図23で、まず、ビットベクトルu1をキーとして、前述のk個のハッシュ関数からk=3個のハッシュ値を求める。いま、求まったハッシュ値が1,2,4であったとき、(00000000)に初期化されたブルーム・フィルタ Y1, X2, P1の1,2,4番目のbitを1にする。u1登録後のY1, X2, P1は、いずれも(11010000)になる(図23(a)参照)。
続いてu2をキーとし、前述のk個のハッシュ関数から2,5,7というハッシュ値が求まったとすると、既に、u1が登録されたY1, X2, P1のベクトル(11010000)のうち2,5,7番目のbitを1にする。u2登録後のY1, X2, P1は、いずれも(11011010)になる(図23(b)参照)。
以上の処理を、物体ID3の物体から得られる全ての特徴ベクトルについて繰り返し、ブルーム・フィルタY1とX2とP1に登録する。
さらに、他の物体IDについても同様の処理行う。例えば、物体ID4について、11というbit列を割り当てたとする。bit列の1番目および2番目の数字がいずれも1であるので、bit列の1番目の数字に1を連想させるブルーム・フィルタ Y1と、bit列の2番目の数字に1を連想させるブルーム・フィルタ Y2と、偶数ビットの誤り検出ブルーム・フィルタ P0とに、物体ID4の物体から得られる全ての特徴ベクトルを登録する。
以上のようにして、各物体の各特徴ベクトルについて登録を行い、データベースを作成する。
さらに、他の物体IDについても同様の処理行う。例えば、物体ID4について、11というbit列を割り当てたとする。bit列の1番目および2番目の数字がいずれも1であるので、bit列の1番目の数字に1を連想させるブルーム・フィルタ Y1と、bit列の2番目の数字に1を連想させるブルーム・フィルタ Y2と、偶数ビットの誤り検出ブルーム・フィルタ P0とに、物体ID4の物体から得られる全ての特徴ベクトルを登録する。
以上のようにして、各物体の各特徴ベクトルについて登録を行い、データベースを作成する。
5-2. 認識処理
続いて、認識処理の具体例について述べる。まず、検索質問画像から得られる特徴ベクトルを用いて、全てのブルーム・フィルタに対して検索を行う。
いま、検索質問画像から得られる特徴ベクトル(検索質問特徴ベクトル)として、
q1 = ( 31,-480, 220, 49),
q2 = (239, 20, 113, -82),
…
があるとき、データ登録処理時と同様に、特徴ベクトルからビットベクトル、
u1' = ( 1, 0, 1),
u2' = ( 1, 1, 1),
…
を作成する。
続いて、認識処理の具体例について述べる。まず、検索質問画像から得られる特徴ベクトルを用いて、全てのブルーム・フィルタに対して検索を行う。
いま、検索質問画像から得られる特徴ベクトル(検索質問特徴ベクトル)として、
q1 = ( 31,-480, 220, 49),
q2 = (239, 20, 113, -82),
…
があるとき、データ登録処理時と同様に、特徴ベクトルからビットベクトル、
u1' = ( 1, 0, 1),
u2' = ( 1, 1, 1),
…
を作成する。
このビットベクトルをキーとして、前述のk=3個のハッシュ関数からそれぞれハッシュ値を求める。物体IDのビット列に対応する各ブルーム・フィルタ X1, X2, Y1, Y2について、対応するbitが全て1になっているかを調べる。もし、全てのbitが1となっていれば、キーの特徴ベクトルがそのブルーム・フィルタに登録されているとする。
具体的に述べると、ブルーム・フィルタ Y1が(11011010)となっているとする。
検索質問の特徴ベクトルq1から得られたビットベクトルu1'についてハッシュ値を求めると、u1'は登録時のu1と同じ値であるから、登録処理と同様のハッシュ値1,2,4が得られる。ブルーム・フィルタ Y1の1,2,4番目のbitをみると全てが1になっている。この場合、q1はブルーム・フィルタ Y1に登録されていると判断する。
検索質問の特徴ベクトルq1から得られたビットベクトルu1'についてハッシュ値を求めると、u1'は登録時のu1と同じ値であるから、登録処理と同様のハッシュ値1,2,4が得られる。ブルーム・フィルタ Y1の1,2,4番目のbitをみると全てが1になっている。この場合、q1はブルーム・フィルタ Y1に登録されていると判断する。
但し、一般に、ブルーム・フィルタでは、登録されていないにも関わらず、登録されていると判断されることがある。今q2が実際にはブルーム・フィルタに登録されていない特徴ベクトルであると仮定する。q2より求めたビットベクトルu2'からハッシュ値を求めると2,4,5であったとする。このハッシュ値よりブルーム・フィルタ Y1=(11011010)の対応する第2,4,5 bitを調べると、全て1になっている。このように、実際には登録されていない特徴ベクトルでも、ブルーム・フィルタが偽陽性を起こし、登録されていると判断されることがある。
説明を続ける。このように、検索質問の各特徴ベクトルにつき、前述した手順で検索処理を行うことで、物体IDのi番目のbitが何であるかを判断する。ある検索質問の特徴ベクトルがブルーム・フィルタ Xiに登録されていたとする。この場合、物体IDのi番目のbitを0とする。一方、その特徴ベクトルがYiに登録されていたとすると、物体IDのi番目のbitを1とする。仮に、Y1とX2に特徴ベクトルが登録されていたとすると、物体IDのbit列は「10」となるため、ID3の物体に投票を行う。
このとき、ブルーム・フィルタが偽陽性を起こし、XiとYiの両方に特徴ベクトルが登録されていると判断されたとする。その場合、この発明では両方の可能性を試す。即ち、その検索質問特徴ベクトルについては、図23に示すように、物体IDのi番目のbitが0の物体と1となる物体の両方に投票を行うこととする。例えば、検索処理の結果、ある検索質問特徴ベクトルがX1,Y1,X2に登録されていたと判断されると、物体IDのbit列00と10の2つのID候補を用意する。そして、誤り検出ブルーム・フィルタを参照し、投票してもよい物体IDを決める。即ち、誤り検出ブルーム・フィルタ P0に特徴ベクトルが登録されていたとき、前記ID候補のうち物体IDに1が偶数個のID「00」のみ投票を行い、逆に、P1に特徴ベクトルが登録されていたとき、物体IDに1が奇数個のID「10」のみ投票を行う(図24参照)。なお、ここでは、ブルーム・フィルタを用いた誤り検出の一例を示したが、誤り検出に代えて、例えば、複数のブルーム・フィルタにより公知の誤り符号訂正の手法を適用できるように構成してもよい。このようにすれば、偽陽性に起因する誤った判断をより低減することができる。
上記の検索処理および投票処理を検索質問画像から得られる全ての特徴ベクトルに対して行う。その結果、最終的に最も得票数の多かった物体を認識結果とする。
なお、投票に際しては、票に重みを付けてもよい。例えば、物体IDがiの物体から抽出されデータベースに登録された特徴ベクトル数がNi個のとき、その物体IDへの投票に1/√Niの重みを付けて投票するようにしてもよい。
なお、投票に際しては、票に重みを付けてもよい。例えば、物体IDがiの物体から抽出されデータベースに登録された特徴ベクトル数がNi個のとき、その物体IDへの投票に1/√Niの重みを付けて投票するようにしてもよい。
5. 実験例
本節では、この発明の有効性を確かめるために、55個の3次元物体を用いたデータセットと、5000個の2次元物体を用いたデータセットに対して行った実験の結果について述べる。
5-1. 実験条件
まず、55個の3次元物体のデータセットについて説明する。図3に本実験で用いた3次元物体の例を示す。本実験では、物体に対して、真正面、真正面から上へ15°、30°の角度から、ウェブカメラで、5°ごとに物体を回転させて撮影した画像を用いた。ウェブカメラは、株式会社ロジクール製、製品型名 Qcam(登録商標) Pro 9000、解像度:640480のものである。このうち、データベース作成用画像として、回転角度が0°, 10°, …, 350°の画像36枚×3方向の、1物体当たり108枚を用い、残りの画像を検索質問画像とした。データベース作成用画像から得られる特徴ベクトルの数は、約120万個である。
本節では、この発明の有効性を確かめるために、55個の3次元物体を用いたデータセットと、5000個の2次元物体を用いたデータセットに対して行った実験の結果について述べる。
5-1. 実験条件
まず、55個の3次元物体のデータセットについて説明する。図3に本実験で用いた3次元物体の例を示す。本実験では、物体に対して、真正面、真正面から上へ15°、30°の角度から、ウェブカメラで、5°ごとに物体を回転させて撮影した画像を用いた。ウェブカメラは、株式会社ロジクール製、製品型名 Qcam(登録商標) Pro 9000、解像度:640480のものである。このうち、データベース作成用画像として、回転角度が0°, 10°, …, 350°の画像36枚×3方向の、1物体当たり108枚を用い、残りの画像を検索質問画像とした。データベース作成用画像から得られる特徴ベクトルの数は、約120万個である。
次に、5000個の2次元物体のデータセットについて説明する。本実験では、Googleイメージ検索において、"雑誌"、"ポスター"、"表紙"等の検索キーワードで収集した1667枚の画像と、PCA-SIFTのサイトで公開されていた1667枚の画像と、写真共有サイトのFlickrにおいて、"animal"、"birthday"、"food"、"japan"等のタグにより収集した1666枚の画像をデータベース作成用画像とした。
図4に例を示す。なお、収集の際には、600×600 pixel以下のサイズの画像は除外し、画像の長辺が640pixel以下になるように縮小した。また、得られる特徴ベクトルが100個以下になる画像も除外した。データベース作成用画像から得られる特徴ベクトルの数は、約1千万個である。検索質問画像としては、次のように用意した。まず、データベースに含まれる画像の内、Googleイメージ検索で収集した画像から100枚、PCA-SIFTのサイトから得た画像から200枚、Flickrから収集した画像から200枚の合計500枚を無作為に選択した。次に、これらの画像をA4の用紙にカラーレーザプリンタ(株式会社沖データ製、製品型名 C5200n)を用いて印刷し、カメラ(キャノン株式会社社製、製品型名 EOS Kiss Digital、630万画素、付属レンズ型名:EF-S 18-55mm USM)で撮影した。
撮影した画像の例を図5に示す。図5に示す通り、紙面全体が写る配置で、紙面に対するカメラの光軸の角度θを 90°, 75°, 60°に変化させた。また、角度を90°として紙面の一部分を撮影した。その結果、1枚の紙面に対して、合計4通りの画像を得た。さらに、撮影した画像を512×341pixelに縮小し、PCA-SIFTにより特徴ベクトルを求めた。
両実験において、この発明と野口らの手法を用いてそれぞれ物体の認識を行った場合の、物体の認識率と、質問画像一枚の認識にかかった平均の処理時間と、認識に必要なメモリ量を比較した。但し、処理時間に特徴ベクトルの抽出時間等は含めないものとする。
本実験では、この発明と野口らの手法で用いられているパラメータの内、両方のビットベクトルを試す次元数b、ハッシュのリスト長c、ビットベクトルの次元数dを変化させて物体の認識率を調べた。ここで各パラメータの変動幅は、b=0, 1, …, 10、c=1, 2, …, 10、d=24,28である。また両手法において、特徴ベクトルの許容変動幅eはe=200とした。使用した計算機は、CPUがAMD Opteron8378 2.4GHz、メモリが128GBのものである。
5-2. 実験1:55個の3次元物体を用いた実験
5-2. 実験1:55個の3次元物体を用いた実験
この発明の手法において、前節で述べたパラメータ以外に、特徴ベクトルの保存容量a、偽陽性に対処する次元数tも変化させて物体の認識率を調べた。aとtの変動幅は、a=8, 16, 24, 32、t=1, 2, 3, 4, 5とする。野口らの手法のハッシュ表のハッシュサイズは、Hsize=2dとした。d=24のときの結果を図6、d=28のときの結果を図7に示す。横軸に認識率、縦軸に処理時間を示す。
図6、7に示す実験結果より、この発明の手法ではbの値を大きくすれば物体の認識率が高くなるが、大きくしすぎると認識率が低下し、処理時間も増加することが分かった。これは、bによって特徴ベクトルの変動に対処することができるが、bを増加しすぎると誤投票が多くなるため認識率が低下し、さらに投票回数が増加することが、処理時間の増加に繋がっていると考えられる。
図8にbを変化させたときの認識率を比較した例を示す。ここで用いたパラメータは、a=8, d=28で最も認識率の高かったc=8, t=2を用いた。また結果より、この発明の手法の方が野口らの手法と比べて、一枚の認識にかかる処理時間は多くかかるものの、物体の認識率では若干良い結果を得るものがあった。認識処理に時間がかかる原因として、野口らの手法では、一つの検索質問ベクトルqに対してハッシュ表を一度検索するだけで投票を行えるが、この発明の手法では、2n個のブルーム・フィルタを検索しなければ投票を行えないことが挙げられる。
次に、この発明の手法のパラメータaを変化させたものと、野口らの手法とで、パラメータcを変化させたとき、認識処理に必要なメモリ量を比較した結果をdごとに図9と図10に示す。横軸にパラメータc、縦軸にメモリ量を示す。
図9と図10に示す実験結果より、この発明の手法の方が野口らの手法と比べて、かなり空間効率がよいことが分かる。これは、野口らの手法ではメモリ量の大部分がハッシュ表のエントリに用いられていることに起因している。
上記の結果より、この発明の手法は野口らの手法と比べ、認識にかかる処理時間は多くかかるものの、認識率とメモリ量の点で優れているといえる。
上記の結果より、この発明の手法は野口らの手法と比べ、認識にかかる処理時間は多くかかるものの、認識率とメモリ量の点で優れているといえる。
最後に、この発明の手法において、tを変化させたときの物体の認識率を比較した。実験では、a=8, d=28のときに最も認識率の高かったパラメータb=3, c=8を用いた。図11に実験結果を示す。結果より、tの値を大きくすれば物体の認識率が高くなるが、大きくしすぎると認識率が低下することが分かった。これは、tを増加させることで誤投票が増加してしまうことが原因として挙げられる。
5-3. 実験2:5000個の2次元物体を用いた実験
5-3. 実験2:5000個の2次元物体を用いた実験
実験1と同様に、5.1節で述べたパラメータ以外に、パラメータa, tも変化させて物体の認識率を調べた。パラメータの変動幅は、実験1と同じである。また野口らの手法に用いるハッシュ表のサイズも実験1と同じサイズとした。d=24のときの結果を図12、d=28のときの結果を図13に示す。横軸に認識率、縦軸に一枚の認識にかかった平均の処理時間を示す。結果より、実験1と同様に、bを大きくすれば認識率が増加するが、さらに大きくすると認識率が低下し、処理時間も長くなることが分かった。
図14にbを変化させたときの認識率を比較した例を示す。ここで用いたパラメータは、a=8, d=28で最も認識率の高かったc=2, t=3を用いた。また実験結果より、処理時間ではこの発明の手法は野口らの手法と比べて、特にd=24のとき大きく劣ることが分かったが、認識率ではd=28のとき、若干良い結果を得るものがあった。d=24で認識率、処理時間共に野口らの手法に比べて劣る原因として、検索処理時に同じビットベクトルに変換される割合が大きくなるため、投票処理時に他の物体との得票数差が開かないことが挙げられる。
次に、この発明の手法のパラメータaを変化させたものと、野口らの手法とで、パラメータcを変化させたとき、認識処理に必要なメモリ量を比較した結果をdごとに図15と図16に示す。横軸にパラメータc、縦軸にメモリ量を示す。
図15と図16に示す実験結果より、d=24の結果において、a=24, 32のとき野口らの手法より認識に必要なメモリ量が多くなってしまったが、d=28のとき、野口らの手法に比べてこの発明の手法はかなり空間効率がよいことが分かった。d=24、a=24, 32のときにメモリ量が多くなった原因として、この発明の手法では、一つの特徴ベクトルに対して、n個のブルーム・フィルタに登録しなればならないことが原因として挙げられる。
さらに、同程度のメモリが使える状況での比較を行った。メモリ量がほぼ同じであるこの発明の手法のd=28、a=8,16と、比較手法1として野口らの手法のd=24と、比較手法2として、野口らの手法においてd=28、Hsize = 224-1としたときの手法の3手法に着目する。これらの3手法でb,cの値を変化させたときの認識率と処理時間の違いを調べた。但しこの発明の手法では、tの値もt=1, 2, 3, 4, 5と変化させて実験を行った。
図17に、その実験結果を示す。横軸に認識率、縦軸に1枚の認識にかかった平均の処理時間を示す。実験結果より、使用するメモリ量をほぼ同じにしたとき、この発明の手法は、比較手法と比べて処理時間は多くかかるものの、パラメータによって認識率をかなり向上させることができた。このことからこの発明の手法は、効率よく特徴ベクトル表現を圧縮できているといえる。
最後に、この発明の手法において、tを変化させたときの物体の認識率を比較した。実験では、a=8, d=28のときに最も認識率の高かったパラメータb=6, c=2を用いた。図18にその実験結果を示す。実験1と同様に、tを大きくすれば認識率が増加するが、さらに大きくすると認識率が低下してしまうことが分かった。
5-4. 誤り検出の効果
5-4. 誤り検出の効果
最後に、前述の誤り検出ブルーミア・フィルタの有効性を調べるために、bおよびtを変化させ、誤り検出ブルーミア・フィルタを用いる場合と用いない場合の認識率を比較した。bを変化させた場合の実験およびtを変化させた場合の実験で用いたパラメータは、それぞれ最も認識率の高いものを用いた。
まず、55物体を対象とした実験について述べる。用いたパラメータを表1に、bに関する実験結果を図19に、tに関する実験結果を図20にそれぞれ示す。
まず、55物体を対象とした実験について述べる。用いたパラメータを表1に、bに関する実験結果を図19に、tに関する実験結果を図20にそれぞれ示す。
図19と図20に示す実験結果より、b,t共に大きくすれば認識率が増加するが、大きくしすぎると認識率が低下してしまうことが分かった。これは、値を増加させると、誤投票も増加してしまうことが原因であると考えられる。また実験結果より、特にtを変化させた場合、誤り検出ブルーミア・フィルタを用いた場合、誤った投票を検出することで誤投票が抑えられるため、用いない場合より高い認識率を得ることができると分かった。このため、誤り検出ブルーミア・フィルタを用いることは有効であるといえる。
次に2次元物体の結果について述べる。ただし、この実験については、物体数を5000ではなく1万とした。用いたパラメータを表2に、bに関する実験結果を図21に、tに関する実験結果を図22にそれぞれ示す。55物体の結果と同様に、共に大きくすれば認識率が増加するが、大きくしすぎると認識率が低下してしまうことが分かった。また、誤り検出ブルーミア・フィルタを用いた場合、用いない場合より高い認識率を得ることができると分かった。このため、誤り検出ブルーミア・フィルタを用いることは有効であるといえる。
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
特定物体を認識する手法に、局所特徴量を表す特徴ベクトルの最近傍探索を用いる手法がある。この手法では、特徴ベクトル間の距離を計算するために、特徴ベクトルそのものを記録する必要があるが、一般に物体認識に関与する特徴ベクトルの数は膨大であるため、莫大なメモリ量が必要となる。この問題を解決するため、特徴ベクトルの距離を計算しない枠組みが必要となる。
この発明は、特徴ベクトルの距離を計算しないメモリ量削減手法として、ハッシュ表などと比べてはるかに空間効率の良いブルーミア・フィルタを用いる手法を提案した。また、平面および3次元特定物体の認識実験を通して、ハッシュ表を用いる手法とこの発明を比較し、その有効性を検証した。
1 画像データベース
Claims (9)
- 物体認識用画像データベースに登録されるべき物体が撮影された画像から、その画像の局所的特徴を表す複数の特徴ベクトルを抽出する特徴抽出工程と、
データを登録できかつあるデータが登録済か否かを判定し得るデータ構造に対し、ある物体から抽出された各特徴ベクトルを、その物体に予め割り当てられた識別子が前記特徴ベクトルから連想されるように登録する登録工程とを備え、
各工程をコンピュータが実行し、
前記登録に係る物体は、nビット(nは自然数)の識別子が割り当てられ、
前記登録工程は、前記識別子の各ビットのゼロ値登録用と1値登録用として用意された2×n個の前記データ構造に対し、各特徴ベクトルが抽出された物体の識別子に応じて各ビットのゼロ値登録用と1値登録用の何れか一方のデータ構造に前記特徴ベクトルをそれぞれ登録し、
前記画像データベースは、検索質問としてある物体の画像が与えられたとき同じ物体が登録されているか否かの認識処理を行うべく、前記コンピュータまたは他のコンピュータによってアクセスされ、
前記認識処理は、前記検索質問から複数の特徴ベクトルを検索質問ベクトルとして抽出し、各検索質問ベクトルと同値の特徴ベクトルが各データ構造に登録されているか否かを調べ、すべてのビットについてゼロ値または1値のいずれかに同値の特徴ベクトルが登録されているときは登録された各ビットの値に応じたnビット値を識別子の候補として得、各検索質問ベクトルにつき得られた候補を統計処理して検索質問に適合する識別子を見出すことを特徴とする物体認識用画像データベースの作成方法。 - 各データ構造は、偽陽性を許容することによりデータを格納するメモリの容量を削減するものである請求項1に記載の作成方法。
- 前記登録工程は、所定の規則を適用して前記識別子に係る誤り検出用の値を得、得られた値を前記誤り検出用のデータ構造に登録し、
前記認識処理は、得られた識別子の候補と前記誤り検出用データ構造に登録された値とを照合し、両者が一致する場合は前記検索質問ベクトルについての判定結果を統計処理の対象とし、一致しない場合は統計処理の対象としない請求項1または2に記載の作成方法。 - 前記誤り検出用の値が少なくとも1ビットからなり、
前記誤り検出用データ構造は、ビットのゼロ値登録用と1値登録用としてデータ構造が用意されてなる請求項3に記載の作成方法。 - 前記認識処理は、偽陽性のために、ゼロ値および1値登録用のいずれのデータ構造にも同一の検索質問ベクトルが登録されていると判断されるビットの数が予め定められた数を超える場合、その検索質問ベクトルについての判定結果を統計処理の対象から除外する請求項2〜4のいずれか一つに記載の作成方法。
- 前記認識処理は、前記検索質問ベクトルに関連があると判定される識別子の値に対して所定の得点を与え、前記検索質問ベクトルに関連があると判定される識別子が存しない場合はいずれの識別子にも得点を与えず、
前記検索質問から抽出される検索質問ベクトルについての統計処理に基づき最多得点を得た識別子を決定する請求項1〜5のいずれか一つに記載の作成方法。 - 前記データ構造はブルーム・フィルタである請求項1〜6のいずれか一つに記載の作成方法。
- 物体認識用画像データベースに登録されるべき物体が撮影された画像から、その画像の局所的特徴を表す複数の特徴ベクトルを抽出する特徴抽出部と、
データを登録できかつあるデータが登録済か否かを判定し得るデータ構造体の集合からなるデータ構造部と、
ある物体から抽出された各特徴ベクトルからその物体に予め割り当てられた識別子が前記特徴ベクトルから連想されるように前記特徴ベクトルを前記データ構造部に登録する登録部とを備え、
前記登録に係る物体は、nビット(nは自然数)の識別子が割り当てられ、
前記データ構造部は、前記識別子の各ビットのゼロ値登録用および1値登録用として2×n個のデータ構造体を少なくとも有し、
前記登録部は、各特徴ベクトルが抽出された物体の識別子に応じて各ビットのゼロ値登録用と1値登録用の何れか一方のデータ構造に前記特徴ベクトルをそれぞれ登録し、
前記画像データベースは、検索質問としてある物体の画像が与えられたとき同じ物体が登録されているか否かの認識処理を行う認識装置によってアクセスされ、
前記認識装置は、前記検索質問から複数の特徴ベクトルを検索質問ベクトルとして抽出し、各検索質問ベクトルと同値の特徴ベクトルが各データ構造に登録されているか否かを調べ、すべてのビットについてゼロ値または1値のいずれかに同値の特徴ベクトルが登録されているときは登録された各ビットの値に応じたnビット値を識別子の候補として得、各検索質問ベクトルにつき得られた候補を統計処理して検索質問に適合する識別子を見出すことを特徴とする物体認識用画像データベースの作成装置。 - 物体認識用画像データベースに登録されるべき物体が撮影された画像から、その画像の局所的特徴を表す複数の特徴ベクトルを抽出する特徴抽出処理と、
データを登録できかつあるデータが登録済か否かを判定し得るデータ構造に対し、ある物体から抽出された各特徴ベクトルを、その物体に予め割り当てられた識別子が前記特徴ベクトルから連想されるように登録する登録処理とをコンピュータに実行させ、
前記登録に係る物体は、nビット(nは自然数)の識別子が割り当てられ、
前記登録処理は、前記識別子の各ビットのゼロ値登録用と1値登録用として用意された2×n個の前記データ構造に対し、各特徴ベクトルが抽出された物体の識別子に応じて各ビットのゼロ値登録用と1値登録用の何れか一方のデータ構造に前記特徴ベクトルをそれぞれ登録し、
前記画像データベースは、検索質問としてある物体の画像が与えられたとき同じ物体が登録されているか否かの認識処理を行うべく、前記コンピュータまたは他のコンピュータによってアクセスされ、
前記認識処理は、前記検索質問から複数の特徴ベクトルを検索質問ベクトルとして抽出し、各検索質問ベクトルと同値の特徴ベクトルが各データ構造に登録されているか否かを調べ、すべてのビットについてゼロ値または1値のいずれかに同値の特徴ベクトルが登録されているときは登録された各ビットの値に応じたnビット値を識別子の候補として得、各検索質問ベクトルにつき得られた候補を統計処理して検索質問に適合する識別子を見出すことを特徴とする物体認識用画像データベースの作成処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011518472A JP5354507B2 (ja) | 2009-06-10 | 2010-06-02 | 物体認識用画像データベースの作成方法、作成装置および作成処理プログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009139148 | 2009-06-10 | ||
JP2009139148 | 2009-06-10 | ||
JP2011518472A JP5354507B2 (ja) | 2009-06-10 | 2010-06-02 | 物体認識用画像データベースの作成方法、作成装置および作成処理プログラム |
PCT/JP2010/059352 WO2010143573A1 (ja) | 2009-06-10 | 2010-06-02 | 物体認識用画像データベースの作成方法、作成装置および作成処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010143573A1 true JPWO2010143573A1 (ja) | 2012-11-22 |
JP5354507B2 JP5354507B2 (ja) | 2013-11-27 |
Family
ID=43308828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011518472A Expired - Fee Related JP5354507B2 (ja) | 2009-06-10 | 2010-06-02 | 物体認識用画像データベースの作成方法、作成装置および作成処理プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120084305A1 (ja) |
EP (1) | EP2442273A4 (ja) |
JP (1) | JP5354507B2 (ja) |
CN (1) | CN102460511B (ja) |
WO (1) | WO2010143573A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087267B2 (en) | 2011-06-10 | 2015-07-21 | Image Vision Labs, Inc. | Image scene recognition |
JP5563016B2 (ja) * | 2012-05-30 | 2014-07-30 | 株式会社デンソーアイティーラボラトリ | 情報検索装置、情報検索方法及びプログラム |
KR101546653B1 (ko) | 2012-06-26 | 2015-08-25 | 한국과학기술원 | 증강현실 기반의 실시간 관심 컨텍스트 등록 시스템 및 그 방법 |
US9223804B2 (en) | 2012-08-27 | 2015-12-29 | Qualcomm Incorporated | Determining capacity of search structures |
US8972337B1 (en) | 2013-02-21 | 2015-03-03 | Amazon Technologies, Inc. | Efficient query processing in columnar databases using bloom filters |
US9940686B2 (en) * | 2014-05-14 | 2018-04-10 | Intel Corporation | Exploiting frame to frame coherency in a sort-middle architecture |
US20160117631A1 (en) * | 2014-10-22 | 2016-04-28 | Honeywell International Inc. | Orphaned item identification |
CN104615676B (zh) * | 2015-01-20 | 2018-08-24 | 同济大学 | 一种基于最大相似度匹配的图片检索方法 |
JP6512294B2 (ja) * | 2015-07-14 | 2019-05-15 | 富士通株式会社 | 圧縮プログラム、圧縮方法および圧縮装置 |
US9704245B2 (en) | 2015-08-18 | 2017-07-11 | International Business Machines Corporation | Determining localization from images of a vicinity |
CN109740037B (zh) * | 2019-01-02 | 2023-11-24 | 山东省科学院情报研究所 | 多源、异构流态大数据分布式在线实时处理方法及系统 |
US11797206B2 (en) * | 2020-12-17 | 2023-10-24 | EMC IP Holding Company LLC | Hash migration using a gold image library management system |
US11892980B2 (en) * | 2021-09-16 | 2024-02-06 | EMC IP Holding Company LLC | Memory optimized algorithm for evaluating deduplication hashes for large data sets |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043474B2 (en) * | 2002-04-15 | 2006-05-09 | International Business Machines Corporation | System and method for measuring image similarity based on semantic meaning |
JP4479478B2 (ja) * | 2004-11-22 | 2010-06-09 | 株式会社日立製作所 | パターン認識方法および装置 |
JP4883649B2 (ja) | 2006-08-31 | 2012-02-22 | 公立大学法人大阪府立大学 | 画像認識方法、画像認識装置および画像認識プログラム |
KR100903961B1 (ko) * | 2007-12-17 | 2009-06-25 | 한국전자통신연구원 | 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템 |
CN100592297C (zh) * | 2008-02-22 | 2010-02-24 | 南京大学 | 一种基于表示转换的多义数字图像检索方法 |
US7970808B2 (en) * | 2008-05-05 | 2011-06-28 | Microsoft Corporation | Leveraging cross-document context to label entity |
-
2010
- 2010-06-02 WO PCT/JP2010/059352 patent/WO2010143573A1/ja active Application Filing
- 2010-06-02 JP JP2011518472A patent/JP5354507B2/ja not_active Expired - Fee Related
- 2010-06-02 EP EP10786104.9A patent/EP2442273A4/en not_active Withdrawn
- 2010-06-02 US US13/376,890 patent/US20120084305A1/en not_active Abandoned
- 2010-06-02 CN CN201080035625.1A patent/CN102460511B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP5354507B2 (ja) | 2013-11-27 |
EP2442273A1 (en) | 2012-04-18 |
EP2442273A4 (en) | 2014-04-23 |
WO2010143573A1 (ja) | 2010-12-16 |
CN102460511B (zh) | 2014-04-16 |
US20120084305A1 (en) | 2012-04-05 |
CN102460511A (zh) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5354507B2 (ja) | 物体認識用画像データベースの作成方法、作成装置および作成処理プログラム | |
Wang et al. | Contextual weighting for vocabulary tree based image retrieval | |
CN110059198B (zh) | 一种基于相似性保持的跨模态数据的离散哈希检索方法 | |
JP5294342B2 (ja) | 物体認識用画像データベースの作成方法、処理装置および処理用プログラム | |
US8254697B2 (en) | Scalable near duplicate image search with geometric constraints | |
JP4883649B2 (ja) | 画像認識方法、画像認識装置および画像認識プログラム | |
Jégou et al. | On the burstiness of visual elements | |
JP5181886B2 (ja) | 電子書類の検索方法、検索システム及びコンピュータプログラム | |
JP5095534B2 (ja) | ジャンクションを生成するシステム及び方法 | |
Xie et al. | Fast and accurate near-duplicate image search with affinity propagation on the ImageWeb | |
US20130301935A1 (en) | Method and Apparatus of Identifying Similar Images | |
Zheng et al. | Visual phraselet: Refining spatial constraints for large scale image search | |
CN106462728A (zh) | 用于基于图像特征的识别的系统和方法 | |
JP6211407B2 (ja) | 画像検索システム、画像検索装置、検索サーバ装置、画像検索方法、及び画像検索プログラム | |
CN103324650A (zh) | 一种图像检索方法及系统 | |
WO2001046858A1 (fr) | Creation d'un indice vectoriel, recherche de vecteurs similaires et dispositifs correspondants | |
Amato et al. | Large scale image retrieval using vector of locally aggregated descriptors | |
Zhou et al. | Visual word expansion and BSIFT verification for large-scale image search | |
JP6017277B2 (ja) | 特徴ベクトルの集合で表されるコンテンツ間の類似度を算出するプログラム、装置及び方法 | |
JP6364387B2 (ja) | 特徴量生成装置、方法、及びプログラム | |
JP2014134920A (ja) | 設計書の検索システム、設計書の検索システムの構築方法およびそのためのプログラム | |
Nayef et al. | Efficient symbol retrieval by building a symbol index from a collection of line drawings | |
CN114595350B (zh) | 一种百亿级图像快速搜索的方法 | |
Al-Barhamtoshy | Towards large scale image similarity discovery model | |
Kubytskyi et al. | An Effective Approach to Image Embeddings for E-Commerce. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130426 |
|
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: 20130806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130819 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |