JP4556121B2 - Information processing apparatus and method, and program - Google Patents
Information processing apparatus and method, and program Download PDFInfo
- Publication number
- JP4556121B2 JP4556121B2 JP2005002934A JP2005002934A JP4556121B2 JP 4556121 B2 JP4556121 B2 JP 4556121B2 JP 2005002934 A JP2005002934 A JP 2005002934A JP 2005002934 A JP2005002934 A JP 2005002934A JP 4556121 B2 JP4556121 B2 JP 4556121B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- unit
- neighborhood
- feature
- search
- 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.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 29
- 238000000034 method Methods 0.000 title description 204
- 239000013598 vector Substances 0.000 claims description 1363
- 238000012545 processing Methods 0.000 claims description 200
- 238000003860 storage Methods 0.000 claims description 171
- 230000008859 change Effects 0.000 claims description 65
- 238000000605 extraction Methods 0.000 claims description 56
- 230000005484 gravity Effects 0.000 claims description 15
- 230000009471 action Effects 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 178
- 238000006243 chemical reaction Methods 0.000 description 77
- 238000004364 calculation method Methods 0.000 description 52
- 238000010586 diagram Methods 0.000 description 37
- 238000009826 distribution Methods 0.000 description 27
- 238000000513 principal component analysis Methods 0.000 description 20
- 238000007906 compression Methods 0.000 description 17
- 230000006835 compression Effects 0.000 description 16
- 230000009466 transformation Effects 0.000 description 13
- 238000012790 confirmation Methods 0.000 description 12
- 239000000284 extract Substances 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、複数の評価基準に基づいて検索を行う場合であっても、目的の要素を高速に検索することができるようにする情報処理装置および方法、並びにプログラムに関する。 The present invention relates to an information processing apparatus and method, and a program, and in particular, an information processing apparatus capable of searching for a target element at high speed even when searching based on a plurality of evaluation criteria. The present invention relates to a method and a program.
従来、あるn次元入力ベクトルが与えられたときに、n次元ベクトル群の集合の中から、入力ベクトルに近い最近傍ベクトルを見つけることは、Nearest Neighbor探索問題といわれ、数多くの高速探索方式が提案されている。 Conventionally, finding a nearest neighbor vector close to an input vector from a set of n-dimensional vectors when a certain n-dimensional input vector is given is called the Nearest Neighbor search problem, and many fast search methods have been proposed. Has been.
例えば、ベクトル量子化における最適ベクトル探索方法として、N個のセントロイドベクトルv(i)のうち、所定のセントロイドベクトルを注目ベクトルv1とするとき、注目ベクトルv1とセントロイドベクトルv(i)との距離のうち、N/k番目に注目ベクトルv1に近い距離を、注目ベクトルの半径距離DRとし、入力ベクトルuと注目ベクトルv1との距離D1と、半径距離DRの1/2の値DR/2とを比較し、その比較結果に対応して、最適ベクトルを探索する範囲を決定する方法がある(例えば、特許文献1参照)。 For example, as an optimal vector search method in vector quantization, when a predetermined centroid vector among N centroid vectors v (i) is an attention vector v 1 , the attention vector v 1 and the centroid vector v (i ) Is the N / kth closest distance to the vector of interest v 1 as the radial distance D R of the vector of interest, the distance D 1 between the input vector u and the vector of interest v 1 , and the radial distance D R of There is a method of comparing a half value D R / 2 and determining a search range for an optimal vector corresponding to the comparison result (see, for example, Patent Document 1).
また、このような探索方法は、画像認識処理等における特徴ベクトルの探索にも利用される。特徴ベクトルとは画像の特徴パラメータを組み合わせベクトル化したものである。処理対象の画像の特徴ベクトルと、予め用意されたモデル画像の特徴ベクトルとが比較されることにより、処理対象の画像とモデル画像の関係が特定される。このように特徴ベクトルを用いた画像認識処理は、視点変化や明度変化に強い認識を行うことができる。 Such a search method is also used for searching for a feature vector in image recognition processing or the like. A feature vector is a vector obtained by combining feature parameters of an image. By comparing the feature vector of the image to be processed with the feature vector of the model image prepared in advance, the relationship between the image to be processed and the model image is specified. As described above, the image recognition process using the feature vector can perform recognition that is strong against a viewpoint change and a brightness change.
しかしながら、以上のような方法においては、検索対象と比較する特徴の種類が複数の場合、各特徴について個別に検索を行い、最終的に全ての特徴に対して条件を満たす要素を特定するので、明らかに不要な要素に対しても検索処理を行うことになり、検索処理の効率が悪く、処理が遅くなってしまうという課題があった。 However, in the above method, when there are a plurality of types of features to be compared with the search target, the search is performed individually for each feature, and finally the elements that satisfy the conditions for all the features are specified. There is a problem that search processing is performed even for elements that are clearly unnecessary, the efficiency of the search processing is low, and the processing is slow.
本発明はこのような状況に鑑みてなされたものであり、複数の条件を満たす入力ベクトルの近傍ベクトルを高速に検索することができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to search a neighborhood vector of an input vector satisfying a plurality of conditions at high speed.
本発明の情報処理装置は、入力画像と予め用意されたモデル画像とで、画像の特徴パラメータを組み合わせベクトル化した特徴ベクトルを比較することにより、特徴を比較する情報処理装置であって、前記モデル画像の前記特徴ベクトルを、前記特徴ベクトルが存在する空間の次元数毎にグループ化して記憶する特徴ベクトル記憶手段と、前記入力画像から、前記入力画像の前記特徴ベクトルである入力ベクトルを複数抽出する入力ベクトル抽出手段と、処理対象の前記グループに対して、前記入力ベクトル抽出手段により抽出された前記入力ベクトルの中の処理対象の前記入力ベクトルから、前記特徴ベクトル記憶手段から読み出された前記特徴ベクトルまでの距離と、前記処理対象の入力ベクトルから、前記処理対象の入力ベクトルの近傍に位置する近傍ベクトルの候補とされる前記特徴ベクトルまでの距離とを比較し、前記距離が短い方の特徴ベクトルを新たな前記近傍ベクトルの候補とする処理を前記グループ内の全ての特徴ベクトルについて1つずつ行うことにより、前記グループにおける前記近傍ベクトルの候補を検索する検索手段と、前記検索手段による検索により、前記近傍ベクトルの候補が新たな特徴ベクトルに更新された場合、前記近傍ベクトルの候補が更新されたことを示す変化フラグを立てる変化フラグ更新手段と、前記変化フラグ更新手段により前記変化フラグが立てられていない前記近傍ベクトルの候補が存在する場合、全ての入力ベクトルについて前記検索が行われるまで、次の処理対象の前記入力ベクトルについて前記検索を行わせ、前記変化フラグ更新手段により前記変化フラグが立てられていない前記近傍ベクトルの候補が存在しない場合、前記グループに対する前記検索を終了させ、全ての前記グループに対する前記検索が行われるまで、次の処理対象の前記グループに対して前記検索を行わせる制御手段と、前記制御手段による制御に従って前記検索が全ての前記グループに対して行われた後、現在の前記近傍ベクトルの候補を前記近傍ベクトルとして設定する近傍ベクトル設定手段とを備える。 The information processing apparatus of the present invention is an information processing apparatus for comparing features by comparing feature vectors obtained by combining feature parameters of an image with an input image and a model image prepared in advance, and comparing the model Feature vector storage means for grouping and storing the feature vectors of the image for each dimension of the space in which the feature vectors exist, and extracting a plurality of input vectors that are the feature vectors of the input image from the input image The feature read from the feature vector storage means from the input vector of the processing target in the input vector extracted by the input vector extraction means for the group to be processed of the input vector extraction means From the distance to the vector and the input vector to be processed, the proximity of the input vector to be processed Is compared with the distance to the feature vector that is a candidate for the neighborhood vector located at the position, and the feature vector with the shorter distance is used as a new candidate for the neighborhood vector for all feature vectors in the group By performing one by one, a search unit that searches for candidates for the neighborhood vector in the group, and when the neighborhood vector candidate is updated to a new feature vector by the search by the search unit , the candidate for the neighborhood vector If there are change flag update means for setting a change flag indicating that the change flag has been updated and candidates for the neighborhood vector for which the change flag is not set by the change flag update means , the search is performed for all input vectors. Until the input vector to be processed next is searched, If there is no candidate for the neighborhood vector for which the change flag is not set by the update unit, the search for the group is terminated, and the group to be processed next is processed until the search for all the groups is performed. neighborhood vector to be set and to control means for performing the said search, after the search under the control of said control means is performed for all of the groups, the current candidate for the neighborhood vector as the neighboring vector for Setting means.
前記特徴ベクトル記憶手段により記憶される前記特徴ベクトルのグループ毎に、前記グループに属する前記特徴ベクトルをそれぞれ質点とし、各質点に働く重力の合力の作用点である重心点を共通代表点とし、前記共通代表点と、前記共通代表点の近傍に位置する前記特徴ベクトルとを対応させた近傍テーブルを記憶する近傍テーブル記憶手段をさらに備え、前記検索手段は、前記近傍テーブル記憶手段により記憶されている前記近傍テーブルに含まれる前記共通代表点と前記共通代表点の近傍に位置する前記特徴ベクトルとの距離が、前記共通代表点と前記入力ベクトルとの距離よりも短い場合、前記近傍テーブル記憶手段により記憶されている前記近傍テーブルに含まれる特徴ベクトルの中から、前記グループにおける前記近傍ベクトルの候補を検索することができる。 For each group of feature vectors stored by the feature vector storage means, each of the feature vectors belonging to the group is a mass point, and a center of gravity that is a point of action of the resultant force of gravity acting on each mass point is a common representative point, It further includes a neighborhood table storage unit that stores a neighborhood table that associates a common representative point with the feature vector located in the vicinity of the common representative point, and the search unit is stored in the neighborhood table storage unit. When the distance between the common representative point included in the neighborhood table and the feature vector located in the vicinity of the common representative point is shorter than the distance between the common representative point and the input vector, the neighborhood table storage means from the feature vectors included in the neighborhood table stored, the neighborhood vector in the group It is possible to search for candidates.
前記特徴ベクトル記憶手段により記憶される前記特徴ベクトルのグループ毎に、前記グループに属する前記特徴ベクトルをそれぞれ質点とし、各質点に働く重力の合力の作用点である重心点を求め、前記重心点を前記共通代表点として設定する共通代表点設定手段と、前記共通代表点設定手段により設定された前記共通代表点の近傍に位置する前記特徴ベクトルを前記共通代表点に対応させることにより、前記近傍テーブルを作成する近傍テーブル作成手段とをさらに備え、前記近傍テーブル記憶手段は、前記近傍テーブル作成手段により作成された前記近傍テーブルを記憶することができる。 For each group of feature vectors stored by the feature vector storage means, each feature vector belonging to the group is used as a mass point, a center of gravity is obtained as a point of action of the resultant force of gravity acting on each mass point, and the center of gravity is obtained. the common and common representative point setting means for setting a representative point, by matching the feature vectors located in the vicinity of the common representative point that is set by the common representative point setting means to the common representative point, the neighborhood table The neighborhood table creating means for creating the neighborhood table, and the neighborhood table storage means can store the neighborhood table created by the neighborhood table creating means.
前記モデル画像から前記特徴ベクトルを抽出する特徴ベクトル抽出手段をさらに備え、前記特徴ベクトル記憶手段は、前記特徴ベクトル抽出手段により抽出された前記特徴ベクトルを記憶することができる。 The image processing apparatus may further include a feature vector extraction unit that extracts the feature vector from the model image, and the feature vector storage unit may store the feature vector extracted by the feature vector extraction unit .
本発明の情報処理方法は、入力画像と予め用意されたモデル画像とで、画像の特徴パラメータを組み合わせベクトル化した特徴ベクトルを比較することにより、特徴を比較する情報処理装置の情報処理方法であって、前記情報処理装置の特徴ベクトル記憶手段が、前記モデル画像の前記特徴ベクトルを、前記特徴ベクトルが存在する空間の次元数毎にグループ化して記憶し、前記情報処理装置の入力ベクトル抽出手段が、前記入力画像から、前記入力画像の前記特徴ベクトルである入力ベクトルを複数抽出し、前記情報処理装置の検索手段が、処理対象の前記グループに対して、抽出された前記入力ベクトルの中の処理対象の前記入力ベクトルから、記憶部から読み出された前記特徴ベクトルまでの距離と、前記処理対象の入力ベクトルから、前記処理対象の入力ベクトルの近傍に位置する近傍ベクトルの候補とされる前記特徴ベクトルまでの距離とを比較し、前記距離が短い方の特徴ベクトルを新たな前記近傍ベクトルの候補とする処理を前記グループ内の全ての特徴ベクトルについて1つずつ行うことにより、前記グループにおける前記近傍ベクトルの候補を検索し、前記情報処理装置の変化フラグ更新手段が、その検索により、前記近傍ベクトルの候補が新たな特徴ベクトルに更新された場合、前記近傍ベクトルの候補が更新されたことを示す変化フラグを立て、前記情報処理装置の制御手段が、前記変化フラグが立てられていない前記近傍ベクトルの候補が存在する場合、全ての入力ベクトルについて前記検索が行われるまで、次の処理対象の前記入力ベクトルについて前記検索を行わせ、前記変化フラグが立てられていない前記近傍ベクトルの候補が存在しない場合、前記グループに対する前記検索を終了させ、全ての前記グループに対する前記検索が行われるまで、次の処理対象の前記グループに対して前記検索を行わせ、前記情報処理装置の近傍ベクトル設定手段が、その制御に従って前記検索が全ての前記グループに対して行われた後、現在の前記近傍ベクトルの候補を前記近傍ベクトルとして設定する。 The information processing method of the present invention is an information processing method of an information processing apparatus that compares features by comparing feature vectors obtained by combining feature parameters of an image with an input image and a model image prepared in advance. Then, the feature vector storage means of the information processing device stores the feature vectors of the model image grouped according to the number of dimensions of the space in which the feature vector exists, and the input vector extraction means of the information processing device , from the input image, the input vector the a feature vector of the input image a plurality of extraction, search means of the information processing apparatus, to the group to be processed, the processing in the extracted the input vector The distance from the target input vector to the feature vector read from the storage unit, and the processing target input vector Comparing the distance to the feature vector that is a candidate for a neighborhood vector located in the vicinity of the input vector to be processed, and setting the feature vector having a shorter distance as a new candidate for the neighborhood vector by performing one for all feature vectors in the group, searching for candidates of the neighboring vector in the group, change flag updating means of the information processing apparatus, by the search, a new candidate of the neighboring vector If it is updated feature vector, sets a change flag indicating that the candidate of the neighboring vector is updated, the control unit of the information processing apparatus, a candidate of the neighboring vector in which the change flag is not set exists If, until the search for all the input vectors is performed, prior to the said input vector processed next When the search is performed and there is no candidate for the neighborhood vector for which the change flag is not set, the search for the group is terminated, and until the search for all the groups is performed, the next processing target The search is performed on the group, and the neighborhood vector setting unit of the information processing apparatus performs the search on all the groups according to the control, and then selects the current neighborhood vector candidate as the neighborhood vector Set as.
本発明のプログラムは、入力画像と予め用意されたモデル画像とで、画像の特徴パラメータを組み合わせベクトル化した特徴ベクトルを比較することにより、特徴を比較するコンピュータを、前記モデル画像の前記特徴ベクトルを、前記特徴ベクトルが存在する空間の次元数毎にグループ化して記憶する特徴ベクトル記憶手段と、前記入力画像から、前記入力画像の前記特徴ベクトルである入力ベクトルを複数抽出する入力ベクトル抽出手段と、処理対象の前記グループに対して、前記入力ベクトル抽出手段により抽出された前記入力ベクトルの中の処理対象の前記入力ベクトルから、前記特徴ベクトル記憶手段から読み出された前記特徴ベクトルまでの距離と、前記処理対象の入力ベクトルから、前記処理対象の入力ベクトルの近傍に位置する近傍ベクトルの候補とされる前記特徴ベクトルまでの距離とを比較し、前記距離が短い方の特徴ベクトルを新たな前記近傍ベクトルの候補とする処理を前記グループ内の全ての特徴ベクトルについて1つずつ行うことにより、前記グループにおける前記近傍ベクトルの候補を検索する検索手段と、前記検索手段による検索により、前記近傍ベクトルの候補が新たな特徴ベクトルに更新された場合、前記近傍ベクトルの候補が更新されたことを示す変化フラグを立てる変化フラグ更新手段と、前記変化フラグ更新手段により前記変化フラグが立てられていない前記近傍ベクトルの候補が存在する場合、全ての入力ベクトルについて前記検索が行われるまで、次の処理対象の前記入力ベクトルについて前記検索を行わせ、前記変化フラグ更新手段により前記変化フラグが立てられていない前記近傍ベクトルの候補が存在しない場合、前記グループに対する前記検索を終了させ、全ての前記グループに対する前記検索が行われるまで、次の処理対象の前記グループに対して前記検索を行わせる制御手段と、前記制御手段による制御に従って前記検索が全ての前記グループに対して行われた後、現在の前記近傍ベクトルの候補を前記近傍ベクトルとして設定する近傍ベクトル設定手段として機能させる。 The program of the present invention compares a feature vector obtained by combining and combining feature parameters of an image with an input image and a model image prepared in advance, thereby comparing a feature with a computer that compares the feature vector of the model image. Feature vector storage means for grouping and storing each dimension of the space in which the feature vector exists ; input vector extraction means for extracting a plurality of input vectors that are the feature vectors of the input image from the input image; For the group to be processed, a distance from the input vector to be processed in the input vector extracted by the input vector extraction unit to the feature vector read from the feature vector storage unit; Positioned near the input vector to be processed from the input vector to be processed One of all the feature vectors in the group is compared with a distance to the feature vector that is a candidate for a neighboring vector, and the feature vector with the shorter distance is used as a new candidate for the neighboring vector. By performing each of the above, when the neighborhood vector candidate is updated to a new feature vector by the search means for searching for the neighborhood vector candidate in the group, and the search by the search means , the neighborhood vector candidate is updated. When there is a change flag update unit that sets a change flag indicating that the change flag has been set, and when there are candidates for the neighborhood vector for which the change flag is not set by the change flag update unit, until the search is performed for all input vectors The search is performed for the input vector to be processed next, and the change flag is updated. If there is no candidate for the neighborhood vector for which the change flag is not set by the stage, the search for the group is terminated, and until the search for all the groups is performed, Control means for performing the search, and a neighborhood vector setting means for setting the current neighborhood vector candidate as the neighborhood vector after the search is performed for all the groups according to the control by the control means. Make it work.
本発明の情報処理装置および方法、並びにプログラムにおいては、モデル画像の特徴ベクトルが、特徴ベクトルが存在する空間の次元数毎にグループ化されて記憶され、入力画像から、入力画像の特徴ベクトルである入力ベクトルが複数抽出され、処理対象のグループに対して、抽出された入力ベクトルの中の処理対象の入力ベクトルから、記憶部から読み出された特徴ベクトルまでの距離と、処理対象の入力ベクトルから、処理対象の入力ベクトルの近傍に位置する近傍ベクトルの候補とされる特徴ベクトルまでの距離とが比較され、距離が短い方の特徴ベクトルを新たな近傍ベクトルの候補とする処理がグループ内の全ての特徴ベクトルについて1つずつ行われることにより、グループにおける近傍ベクトルの候補が検索され、その検索により、近傍ベクトルの候補が新たな特徴ベクトルに更新された場合、近傍ベクトルの候補が更新されたことを示す変化フラグが立てられ、その変化フラグが立てられていない近傍ベクトルの候補が存在する場合、全ての入力ベクトルについて検索が行われるまで、次の処理対象の入力ベクトルについて検索が行われ、変化フラグが立てられていない近傍ベクトルの候補が存在しない場合、グループに対する検索が終了され、全てのグループに対する検索が行われるまで、次の処理対象のグループに対して検索が行われ、その制御に従って検索が全てのグループに対して行われた後、現在の近傍ベクトルの候補が近傍ベクトルとして設定される。 In the information processing apparatus, method, and program of the present invention, the feature vectors of the model image are stored by being grouped according to the number of dimensions of the space in which the feature vector exists, and are the feature vectors of the input image from the input image. Multiple input vectors are extracted, and for the group to be processed, the distance from the input vector to be processed in the extracted input vector to the feature vector read from the storage unit, and the input vector to be processed , The distance to the feature vector that is a candidate for a neighborhood vector that is located in the vicinity of the input vector to be processed is compared, and the processing that uses the feature vector with the shorter distance as a new neighborhood vector candidate is all by performed one for feature vector of the candidate neighboring vectors in the group it is retrieved, the search More, if the candidate of the neighboring vector is updated to a new feature vector, it is set if the change flag to indicate that the candidate of the neighboring vector is updated, if the candidate of the neighboring vector the change flag is not set exists Until the search is performed for all input vectors, the search is performed for the next input vector to be processed. If there is no neighborhood vector candidate for which no change flag is set, the search for the group is terminated, Until the group is searched, the next group to be processed is searched. After the search is performed for all groups according to the control, the current neighborhood vector candidate is set as the neighborhood vector. The
本発明によれば、複数の条件を同時に満たす要素を検索する場合であっても目的の要素を高速に検索することができる。 According to the present invention, a target element can be searched at high speed even when searching for an element that satisfies a plurality of conditions simultaneously.
以下、本発明の実施の形態について図を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明を適用した特徴量比較装置の構成例を示す図である。 FIG. 1 is a diagram illustrating a configuration example of a feature amount comparison apparatus to which the present invention is applied.
図1に示される特徴量比較装置10は、画像や音声等の対象となる情報の特徴を示すパラメータ等をベクトル化した特徴ベクトルを認識するための装置であり、入力された特徴ベクトルである入力ベクトルをモデルとなるベクトル群と比較し、入力ベクトルに最も近いベクトル(最近傍ベクトル)をベクトルの集合毎に検索し、その最近傍ベクトル群を出力する装置である。特徴量比較装置10は、図1に示されるように、ベクトル情報記憶部11、共通代表点設定部12、共通代表点情報記憶部13、近傍テーブル群作成部14、近傍テーブル群記憶部15、および最近傍ベクトル群検索部16を有している。
A feature
ベクトル情報記憶部11は、例えばハードディスクや半導体メモリ等の記憶媒体を有しており、モデルとなる特徴ベクトルに関する情報であるベクトル情報を予め記憶する。特徴ベクトルはモデル毎に集合として扱われ、ベクトル情報記憶部11は、特徴ベクトルの集合を複数記憶する。つまり、ベクトル情報記憶部11は、複数のモデルの特徴ベクトルを記憶し、必要に応じて、その特徴ベクトルを、共通代表点設定部12、近傍テーブル群作成部14、および最近傍ベクトル群検索部16に供給する。
The vector
共通代表点設定部12は、ベクトル情報記憶部11より特徴ベクトルを取得し、各集合(モデル)に共通の代表点(共通代表点)を設定する。共通代表点は、各集合(モデル)の特徴ベクトルの分布の特徴を示す情報であり、全てまたは一部の特徴ベクトルを代表する点(ベクトル)である。つまり、共通代表点は、ベクトル情報記憶部11に記憶されている複数の集合を1つの集合としたときの、その集合の要素の分布の特徴を示す点(新たな要素)である。換言すると、共通代表点の集合は、ベクトル情報記憶部11に記憶されている各集合の特徴を平均化した集合(各集合間の要素の分布の違いを吸収した集合)である。
The common representative
この共通代表点の数は任意であり例えばユーザに設定されたり予め決められていたりする。ただし、特徴ベクトルを代表するという性質から、共通代表点の数は、全特徴ベクトルの数より少ないことが望ましく、さらに、各集合(モデル)の特徴ベクトルの数よりも少ないのが望ましい。共通代表点設定部12は、このように設定された数の共通代表点を、全てのまたは一部の特徴ベクトルに基づいて設定する。共通代表点の設定方法の詳細は後述する。共通代表点設定部12は、設定した共通代表点の情報(共通代表点情報)を共通代表点情報記憶部13に供給し、記憶させる。
The number of common representative points is arbitrary, and is set by a user or determined in advance, for example. However, from the property of representing feature vectors, the number of common representative points is preferably less than the number of all feature vectors, and more preferably less than the number of feature vectors in each set (model). The common representative
共通代表点情報記憶部13は、例えばハードディスクや半導体メモリ等の記憶媒体を有しており、共通代表点設定部12より供給された共通代表点情報を記憶する。共通代表点情報記憶部13は、その共通代表点情報を、必要に応じて、近傍テーブル群作成部14および最近傍ベクトル群検索部16に供給する。
The common representative point information storage unit 13 includes a storage medium such as a hard disk or a semiconductor memory, and stores the common representative point information supplied from the common representative
近傍テーブル群作成部14は、ベクトル情報記憶部11よりベクトル情報を取得し、さらに、共通代表点情報記憶部13より共通代表点情報を取得すると、それらに基づいて、集合(モデル)毎に、各共通代表点の近傍に位置する特徴ベクトルの一覧である近傍テーブルを作成する。近傍テーブルは、後述するように、各共通代表点の近傍に位置する特徴ベクトルをリストアップしたテーブル情報であり、各集合(モデル)に作成される。つまり、共通代表点(群)は全集合(モデル)の特徴ベクトルを代表する点(群)であり、近傍テーブルは、各集合とその共通代表点との関係を示すテーブル情報である。近傍テーブルの作成方法の詳細や、近傍テーブルを利用する方法については後述する。近傍テーブル群作成部14は、このような近傍テーブルを集合(モデル)毎に作成すると、その近傍テーブル群を近傍テーブル群記憶部15に供給して記憶させる。
When the neighborhood table
近傍テーブル群記憶部15は、例えばハードディスクや半導体メモリ等の記憶媒体を有しており、近傍テーブル群作成部14より供給された近傍テーブル群を記憶する。近傍テーブル群記憶部15は、その近傍テーブル群を、必要に応じて、最近傍ベクトル群検索部16に供給する。
The neighborhood table
最近傍ベクトル群検索部16は、特徴量比較装置10の外部より入力された特徴ベクトルである入力ベクトルを取得すると、ベクトル情報記憶部11より取得したベクトル情報、共通代表点情報記憶部13より取得した共通代表点情報、および近傍テーブル群記憶部15より取得した近傍テーブル群を必要に応じて利用し、それらに基づいて入力ベクトルに最も近い最近傍ベクトルを集合(モデル)毎に検索する。最近傍ベクトル群検索部16は、そのようにして検索された最近傍ベクトル群を特徴量比較装置10の外部に比較結果として出力する。
When the nearest neighbor vector
次に、図2乃至図5を参照して、この特徴量比較装置10による特徴量の比較方法について詳細に説明する。
Next, a feature amount comparison method by the feature
特徴量比較装置10は、入力ベクトルの特徴量をモデルの特徴ベクトルと比較する前に、まず、図2に示されるように、共通代表点を設定し、近傍テーブルを生成する。
Before comparing the feature quantity of the input vector with the feature vector of the model, the feature
ベクトル情報記憶部11(図1)には、図2に示されるように、複数のモデル(集合)からなる、検索対象ベクトルグループ群21が記憶されている。検索対象ベクトルグループ群は、M個の検索対象ベクトルグループ(すなわち、集合(モデル))21−1乃至21−Mにより構成される。各グループは特徴ベクトル22の集合である。
The vector information storage unit 11 (FIG. 1) stores a search target
共通代表点設定部12(図1)は、この検索対象ベクトルグループ群21を統一し、その1つの集合23からなる特徴ベクトル群を形成すると、その集合23の要素となる特徴ベクトル群を代表する(特徴ベクトル群の分布の様子を示す)代表点、すなわち、全集合(全モデル)に共通の代表点である共通代表点24をR個設定する。
When the common representative point setting unit 12 (FIG. 1) unifies the search target
近傍テーブル群作成部14(図1)は、共通代表点情報記憶部13(図1)を介して、この共通代表点24に関する情報を取得すると、ベクトル情報記憶部11より取得したベクトル情報に基づいて、集合毎に近傍テーブル25−1乃至25−Mを作成し、近傍テーブル群記憶部15に記憶させる。
When the neighborhood table group creation unit 14 (FIG. 1) acquires information about the common
この近傍テーブルは、例えば図3のように構成される。近傍テーブルにリストアップする各共通代表点の近傍ベクトルの数は任意であり、ユーザにより指定された数であってもよいし、予め定められた数であってもよいが、共通代表点の近傍の特徴ベクトルを示すという近傍テーブルの性質上、各集合の特徴ベクトルの数より少ないことが望ましい。 This neighborhood table is configured as shown in FIG. 3, for example. The number of neighborhood vectors of each common representative point listed in the neighborhood table is arbitrary and may be a number designated by the user or a predetermined number. It is desirable that the number of feature vectors in each set is smaller than the number of feature vectors in the neighborhood table.
各近傍テーブルには、図3に示されるように、R個の共通代表点のそれぞれについて、K個の近傍ベクトルの識別情報と、その近傍ベクトルの共通代表点からの距離の2分の1の値が近い順に登録されている。 In each neighborhood table, as shown in FIG. 3, for each of the R common representative points, identification information of K neighborhood vectors and a half of the distance from the common representative point of the neighborhood vectors. The values are registered in order of closeness.
例えば、近傍テーブル25−1には、共通代表点1の近傍ベクトルとして、最も近い特徴ベクトルの識別情報が「No.3」であり、その特徴ベクトルと共通代表点1との距離の2分の1の値が「0.29」であり、2番目に近い特徴ベクトルの識別情報が「No.8」であり、その特徴ベクトルと共通代表点1との距離の2分の1の値が「0.32」であり、3番目に近い特徴ベクトルの識別情報が「No.9」であり、その特徴ベクトルと共通代表点1との距離の2分の1の値が「0.42」であり、4番目に近い特徴ベクトルの識別情報が「No.2」であり、その特徴ベクトルと共通代表点1との距離の2分の1の値が「0.46」であり、5番目に近い特徴ベクトルの識別情報が「No.5」であり、その特徴ベクトルと共通代表点1との距離の2分の1の値が「0.51」であることが示されている。同様に、近傍テーブル25−1には、共通代表点2乃至共通代表点Rのそれぞれについて近傍ベクトルが近い順に5番目(K番目)まで登録されている。
For example, in the neighborhood table 25-1, as the neighborhood vector of the common
近傍テーブル群作成部14は、このような近傍テーブルを特徴ベクトルの集合(モデル)毎にM個作成する。
The neighborhood table
この近傍テーブルは、入力ベクトルの近傍ベクトルを検索する際に、検索対象とする特徴ベクトルの絞り込みに利用される。 This neighborhood table is used to narrow down feature vectors to be searched when searching for neighborhood vectors of input vectors.
最近傍ベクトル群検索部16は、図4に示されるように、処理対象の情報26の特徴を各モデルの特徴と比較するために、情報26の特徴ベクトルである入力ベクトル27に近似する最近傍ベクトルを、検索対象ベクトルグループ群21の各グループの特徴ベクトル22から検索する。つまり、最近傍ベクトル群検索部16は、まず、集合検索対象ベクトルグループ21−1について入力ベクトル27の最近傍ベクトル28−1を検索し、次に、集合検索対象ベクトルグループ21−2について入力ベクトル27の最近傍ベクトル28−2を検索する。最近傍ベクトル群検索部16は、集合検索対象ベクトルグループ21−3乃至21−Mについても同様に入力ベクトル27の最近傍ベクトルをそれぞれ検索する。そして、最近傍ベクトル群検索部16は、このように検索された最近傍ベクトル群を処理対象の情報26とモデルとの比較結果として出力する。
As shown in FIG. 4, the nearest neighbor vector
この最近傍ベクトルの検索の際に、最近傍ベクトル群検索部16は、図3の近傍テーブル群を利用することにより、その検索範囲を削減し、高速に最近傍ベクトル群を検索する。つまり、最近傍ベクトル群検索部16は、まず、入力ベクトル27と共通代表点との距離を算出する。次に、最近傍ベクトル群検索部16は、その距離を、近傍テーブルにおける、近傍ベクトルと共通代表点との距離の2分の1と比較する。入力ベクトル27と共通代表点との距離の方が短い場合、最近傍ベクトル群検索部16は、入力ベクトル27の最近傍ベクトルを、近傍テーブルに登録された共通代表点の近傍ベクトル群(共通代表点も含む)の中から検索し、その他の特徴ベクトルについては検索範囲外として検索しない。逆に、入力ベクトル27と共通代表点との距離の方が遠い場合、最近傍ベクトル群検索部16は、入力ベクトル27の最近傍ベクトルを、その集合の全ての特徴ベクトルの中から検索する。
When searching for the nearest neighbor vector, the nearest neighbor vector
図5を参照してその範囲設定の原理を説明する。入力ベクトルv、共通代表点r、および、近傍テーブルに登録されているこの共通代表点rから最も遠い(すなわち、共通代表点rからK番目に近い)近傍ベクトルkが図5に示されるような位置関係であるとする。円31は、共通代表点rと近傍ベクトルkとの距離Dを示し、円32は、その距離Dの2分の1(D/2)を示している。
The principle of setting the range will be described with reference to FIG. The input vector v, the common representative point r, and the neighborhood vector k farthest from the common representative point r registered in the neighborhood table (that is, the Kth closest to the common representative point r) are as shown in FIG. Suppose that it is a positional relationship. A
共通代表点rを基準に考えると、入力ベクトルvの最近傍ベクトルが入力ベクトルから最も離れた場合、その最近傍ベクトルは、共通代表点rとなる。つまり、図5の点線の円で示されるように、入力ベクトルvの最近傍ベクトルが共通代表点rより遠い位置に存在することはない(最近傍ベクトルは必ず点線の円内に位置する)。 Considering the common representative point r as a reference, when the nearest neighbor vector of the input vector v is farthest from the input vector, the nearest neighbor vector becomes the common representative point r. That is, as indicated by a dotted circle in FIG. 5, the nearest neighbor vector of the input vector v does not exist at a position far from the common representative point r (the nearest neighbor vector is always located within the dotted circle).
従って、入力ベクトルvが円32の内側に存在する場合、すなわち、入力ベクトルvと共通代表点rとの距離dが近傍ベクトルkと共通代表点rとの距離Dの2分の1より短い(d<D/2)場合、点線の円が円31の外にはみ出すことはない。つまり、この場合、入力ベクトルvの最近傍ベクトルは、必ず、共通代表点の近傍ベクトルkより近い位置に存在する。
Therefore, when the input vector v exists inside the
以上のような原理に基づいて、最近傍ベクトル群検索部16は、入力ベクトル27と各共通代表点との距離を算出し、近傍テーブルに登録されている、その共通代表点から最も遠い近傍ベクトルの、共通代表点との距離の2分の1の値と、算出した距離を比較する。そして、最近傍ベクトル群検索部16は、このような処理を各共通代表点について行い、入力ベクトルと共通代表点との距離の方が短くなる共通代表点が存在する場合、その共通代表点の近傍ベクトルの中から入力ベクトルの最近傍ベクトルを検索する。そして、どの共通代表点に対しても入力ベクトルと共通代表点との距離の方が短くなる共通代表点が存在しなかった場合のみ、最近傍ベクトル群検索部16は、検索対象ベクトルグループ内の全ての特徴ベクトルを検索対象とし、それらの中から最近傍ベクトルを検索する。
Based on the principle as described above, the nearest neighbor vector
最近傍ベクトル群検索部16は、このような検索を検索対象ベクトルグループ(モデル)毎に行い、比較結果として最近傍ベクトル群を出力する。このようにすることにより、特徴量比較装置10は、明らかに最近傍ベクトルとはならない不要な特徴ベクトルを検索対象から除外することができるので、目的の要素を高速に検索することができる。また、共通代表点設定部12が全検索対象ベクトルグループ(モデル)に共通の共通代表点を設定し、最近傍ベクトル群検索部16が、その共通代表点を基準として最近傍ベクトルを検索することにより、特徴量比較装置10は、検索対象ベクトルグループが複数存在する場合であっても、各検索対象ベクトルグループから最近傍ベクトルを高速に検索することができる。つまり、特徴量比較装置10は、検索対象の集合が複数存在する場合であっても、各集合から目的の要素を高速に検索することができる。
The nearest neighbor vector
次に、図1の特徴量比較装置10の各部の詳細な構成について説明する。
Next, a detailed configuration of each part of the feature
図6は、共通代表点設定部12の詳細な構成例を示す図である。図6において、共通代表点設定部12は、共通代表点目標数設定部41、ベクトルグループ統一部42、重心算出部43、共通代表点設定部44、共通代表点数判定部45、共通代表点分割部46、メンバベクトル割り当て部47、および共通代表点記憶制御部48を有している。
FIG. 6 is a diagram illustrating a detailed configuration example of the common representative
共通代表点目標数設定部41は、例えばユーザ入力等に基づいて共通代表点目標数の設定を行い、その情報を共通代表点数判定部45に供給する。この共通代表点目標数は例えば2のn乗(nは整数)に設定される。また、共通代表点目標数は、ユーザ等に指示された値であってもよいし、予め定められた値であってもよい。
The common representative point target
ベクトルグループ統一部42は、ベクトル情報記憶部11よりベクトル情報を取得すると、その情報に基づいて、ベクトル情報記憶部11が記憶している全てのベクトルグループを統一し、全てのベクトルを含む1つのベクトルグループを作成する。そしてベクトルグループ統一部42は、その情報を重心算出部43に供給する。
When the vector
重心算出部43は、ベクトルグループ統一部42より供給されるベクトル情報、またはメンバベクトル割り当て部47より供給されるベクトル情報に基づいて、ベクトルグループ毎にベクトル群の重心(ベクトルの分布の重心位置)を算出する。例えば、ベクトルグループ統一部42より供給されたベクトル情報においては、ベクトルグループは1つに統一されているので、そのベクトル情報に基づいて重心位置を算出する場合、重心算出部43は、全てのベクトル群の重心を算出する。また、メンバベクトル割り当て部47より供給されるベクトル情報に基づいて重心位置を算出する場合、重心算出部43は、メンバベクトル割り当て部47によって同じ共通代表点に割り当てられたメンバベクトル群を1つのベクトルグループとし、そのベクトルグループ毎に重心位置を算出する。重心算出部43は、算出した重心に関する情報を共通代表点設定部44に供給する。
Based on the vector information supplied from the vector
共通代表点設定部44は、重心算出部43より供給された重心位置を共通代表点に設定し、その情報を共通代表点数判定部45およびメンバベクトル割り当て部47に供給する。
The common representative
共通代表点数判定部45は、共通代表点設定部44より供給された設定結果を取得するか、または、メンバベクトル割り当て部47より割り当て結果を取得すると、その設定結果または割り当て結果における共通代表点の数が共通代表点目標数設定部41より供給された共通代表点目標数より少ないか否かを判定し、その判定結果に基づいて、共通代表点の情報を共通代表点分割部46または共通代表点記憶制御部48に供給する。
When the common representative point
共通代表点分割部46は、共通代表点数判定部45より共通代表点に関する情報を取得すると、各共通代表点を2つに分割し、それらを元の位置から互いに離れるように所定の向きにに微小量ずらす。例えば、共通代表点分割部46は、2つに分割した点の一方の位置をx軸の正方向に微小量ずらし、他方の位置をx軸の負方向にずらす。なお、この2点位置の補正の方向は互いに逆向きであればどのような方向であっても良い。つまり、共通代表点分割部46は、共通代表点の数を分割して位置補正することにより、共通代表点の数を2倍に増やす。共通代表点分割部46は、この分割して位置補正した共通代表点の情報をメンバベクトル割り当て部47に供給する。
When the common representative
メンバベクトル割り当て部47は、共通代表点分割部46より供給される共通代表点に関する情報、すなわち、共通代表点分割部46において分割され、その数が2倍になった共通代表点に関する情報を取得すると、それらの各共通代表点にメンバベクトルを割り当て、その割り当て結果を重心算出部43に供給するとともに、共通代表点数判定部45にその共通代表点の数に関する情報を供給する。
The member
また、メンバベクトル割り当て部47は、共通代表点設定部44より供給される共通代表点の設定結果を取得すると、その設定結果に基づいて、設定された各共通代表点に対してメンバベクトルの割り当てを行い、その割り当て結果を重心算出部43に供給するとともに、共通代表点の数に関する情報を供給する。
Further, when the member
共通代表点記憶制御部48は、共通代表点数判定部45より供給される共通代表点に関する情報を共通代表点情報記憶部13に供給し、記憶させる。
The common representative point
図7は、図1の近傍テーブル群作成部14の詳細な構成例を示すブロック図である。
FIG. 7 is a block diagram illustrating a detailed configuration example of the neighborhood table
図7において、近傍テーブル群作成部14は、初期化処理部61、近傍テーブル群作成制御部62、近傍テーブル作成部63、および近傍テーブル記憶制御部64を有している。
In FIG. 7, the neighborhood table
初期化処理部61は、ベクトル情報記憶部11よりベクトル情報を取得し、共通代表点情報記憶部13より共通代表点情報を取得すると、近傍テーブル群の作成に必要な変数を初期値に設定する等の初期化処理を行う。
When the
近傍テーブル群作成制御部62は、近傍テーブル群の作成に関する制御処理を行う。近傍テーブル作成部63は、近傍テーブルの作成に関する処理を行う。近傍テーブル記憶制御部64は、近傍テーブル群記憶部15を制御し、作成された近傍テーブルを記憶させる。
The neighborhood table group creation control unit 62 performs control processing related to creation of neighborhood table groups. The neighborhood
図8は、図7の近傍テーブル作成部63の詳細な構成例を示すブロック図である。図8において、近傍テーブル作成部14は、近傍テーブル群作成制御部81、距離情報作成部82、距離情報ソート部83、距離情報抽出部84、およびレコード保持部85を有している。
FIG. 8 is a block diagram illustrating a detailed configuration example of the neighborhood
近傍テーブル作成制御部81は、近傍テーブルの作成に関する制御処理を行う。距離情報作成部82は、近傍テーブルに用いられる距離情報の作成に関する処理を行う。距離情報ソート部83は、距離情報作成部82が作成した各距離情報を、その値の小さい順(距離の短い順)に整列(ソート)させる。距離情報抽出部84は、そのソートされた距離情報の内、距離の短いほうから所定の数の距離情報を抽出する。レコード保持部85は、その抽出された距離情報を近傍テーブルのレコードとして保持し、その情報を近傍テーブル作成制御部81に返す。
The neighborhood table creation control unit 81 performs control processing related to creation of the neighborhood table. The distance
図9は、図8の距離情報作成部82の詳細な構成例を示すブロック図である。図9において、距離情報作成部82は、距離情報作成制御部101、距離算出部102、1/2乗算部103、および距離情報保持部104を有している。
FIG. 9 is a block diagram illustrating a detailed configuration example of the distance
距離情報作成制御部101は、距離情報の作成に関する制御処理を行う。距離算出部102は、処理対象に指定されている共通代表点とメンバベクトルとの距離を算出する。1/2乗算部103は、算出された共通代表点とメンバベクトルとの距離に1/2を乗算する。距離情報保持部104は、その共通代表点とメンバベクトルとの距離の1/2の値を距離情報として保持し、その情報を距離情報作成制御部101に返す。
The distance information
図10は、図1の最近傍ベクトル群検索部16の詳細な構成例を示すブロック図である。図10において最近傍ベクトル群検索部16は、初期化処理部121、最近傍ベクトル群検索制御部122、および最近傍ベクトル検索部123を有しており、ベクトル情報記憶部11に記憶されているモデルから入力ベクトルの最近傍ベクトル群を検索する。
FIG. 10 is a block diagram illustrating a detailed configuration example of the nearest neighbor vector
初期化処理部121は、入力ベクトルを取得すると、ベクトル情報記憶部11よりベクトル情報を取得し、共通代表点情報記憶部13より共通代表点情報を取得し、近傍テーブル群記憶部15より近傍テーブル群を取得し、入力ベクトルの最近傍ベクトル群の検索に必要な変数を初期値に設定する等の初期化処理を行う。
When acquiring the input vector, the
最近傍ベクトル群検索制御部122は、入力ベクトルの最近傍ベクトル群の検索に関する制御処理を行う。最近傍ベクトル検索部123は、最近傍ベクトル群検索制御部122に制御され、ベクトルグループ毎に入力ベクトルの最近傍ベクトルを検索し、その検索結果を最近傍ベクトル群検索制御部122に返す。
The nearest neighbor vector group
図11は、図10の最近傍ベクトル検索部123の詳細な構成例を示すブロック図である。図11において、最近傍ベクトル検索部123は、初期化処理部141、最近傍ベクトル検索制御部152、距離算出部143、距離比較部144、テーブル内検索部145、最近傍ベクトル設定部146、およびグループ内全体検索部147を有しており、モデル(ベクトルグループ)毎の最近傍ベクトルの検索処理を行う。
FIG. 11 is a block diagram illustrating a detailed configuration example of the nearest neighbor
初期化処理部141は、入力ベクトルの最近傍ベクトルの検索に必要な変数を初期値に設定する等の初期化処理を行う。最近傍ベクトル検索制御部142は、処理対象のベクトルグループにおける入力ベクトルの最近傍ベクトルの検索に関する制御処理を行う。
The
距離算出部143は、入力ベクトルと処理対象の共通代表点との距離を算出する。距離比較部144は、算出された入力ベクトルと処理対象の共通代表点との距離を、近傍テーブルの距離情報と比較し、その比較結果に応じてテーブル内検索部145に最近傍ベクトルの検索処理を実行させる。
The
テーブル内検索部145は、近傍テーブルに登録されているメンバベクトルの中から入力ベクトルの最近傍ベクトルを検索し、その検索結果を最近傍ベクトル設定部146に供給する。
The in-
最近傍ベクトル設定部146は、テーブル内検索部145またはグループ内全体検索部147により検索されたメンバベクトルを入力ベクトルの最近傍ベクトルとして設定し、その設定結果を最近傍ベクトル検索制御部142に返す。
The nearest neighbor
グループ内全体検索部147は、最近傍ベクトル検索制御部142によって全ての共通代表点の近傍ベクトルの中に入力ベクトルの最近傍ベクトルが存在しないと判定された場合、処理対象のベクトルグループ内の全てのメンバベクトルの中から入力ベクトルの最近傍ベクトルを検索し、その検索結果を最近傍ベクトル設定部146に供給する。
When the nearest neighborhood vector
図12は、図11のテーブル内検索部145の詳細な構成例を示すブロック図である。図12においてテーブル内検索部145は、初期化処理部161、テーブル内検索制御部162、距離算出部163、更新制御部164、およびデータ保持部165を有しており、近傍テーブルに登録されているメンバベクトルに対する最近傍ベクトルの検索(最近傍ベクトルのテーブル内検索)を行う。
FIG. 12 is a block diagram illustrating a detailed configuration example of the in-
初期化処理部161は、最近傍ベクトルのテーブル内検索に必要な変数を初期値に設定する等の初期化処理を行う。例えば、初期化処理部161は、最近傍ベクトルの候補であるVkeepを入力ベクトルからの距離が無限遠の仮想点を設定し、入力ベクトルからの距離Dkeepを無限遠に設定する。また、初期化処理部161は、変数kの値を初期値(例えば「0」)に設定する。テーブル内検索制御部162は、最近傍ベクトルのテーブル内検索に関する制御処理を行う。距離算出部163は、入力ベクトルと、近傍テーブルに登録されているメンバベクトルとの距離を算出する。更新制御部164は、その算出された入力ベクトルとメンバベクトルとの距離に基づいてデータ保持部165が保持しているデータの更新を制御する。また、更新制御部164は、その制御結果をテーブル内検索制御部162に返す。データ保持部165は、入力ベクトルに最も近いベクトル(最近傍ベクトルの候補)に関するデータ(例えば、VkeepおよびDkeep)を保持する。
The
図13は、図11のグループ内全体検索部147の詳細な構成例を示すブロック図である。図13においてグループ内全体検索部147は、初期化処理部181、グループ内全体検索制御部182、距離算出部183、および更新制御部184、およびデータ保持部185を有しており、ベクトルグループの全てのメンバベクトルに対する最近傍ベクトルの検索(最近傍ベクトルのグループ内全体検索)を行う。
FIG. 13 is a block diagram illustrating a detailed configuration example of the in-group
初期化処理部181は、最近傍ベクトルのグループ内全体検索に必要な変数を初期値に設定する等の初期化処理を行う。例えば、初期化処理部181は、最近傍ベクトルの候補であるVkeepを入力ベクトルからの距離が無限遠の仮想点を設定し、入力ベクトルからの距離Dkeepを無限遠に設定する。また、初期化処理部181は、変数iの値を初期値(例えば「0」)に設定する。グループ内全体検索制御部182は、最近傍ベクトルのグループ内全体検索に関する制御処理を行う。距離算出部183は、入力ベクトルと、ベクトルグループ内のメンバベクトルとの距離を算出する。更新制御部184は、その算出された入力ベクトルとメンバベクトルとの距離に基づいてデータ保持部185が保持しているデータの更新を制御する。また、更新制御部184は、その制御結果をグループ内全体検索制御部182に返す。データ保持部185は、入力ベクトルに最も近いベクトル(最近傍ベクトルの候補)に関するデータ(例えば、VkeepおよびDkeep)を保持する。
The
次に、以上のような構成の特徴量比較装置10により実行される各処理の流れについて説明する。
Next, the flow of each process executed by the feature
最初に、特徴量比較装置10は、共通代表点設定部12(図1)によってベクトル情報保持部11が保持しているベクトル情報に基づいて、各ベクトルグループ(モデル)に共通な代表点群を設定する。この共通代表点設定処理の流れを図14のフローチャートを参照して説明する。
First, the feature
共通代表点設定処理が開始されると、ステップS1において、共通代表点目標数設定部41(図6)は、入力された目標数(例えば、2のn乗(nは整数))に基づいて、共通代表点の目標数の変数NumReqを設定し、その値を共通代表点数判定部45に供給する。
When the common representative point setting process is started, in step S1, the common representative point target number setting unit 41 (FIG. 6) is based on the input target number (for example, 2 to the nth power (n is an integer)). The variable NumReq for the target number of common representative points is set, and the value is supplied to the common representative point
ステップS2において、ベクトルグループ統一部42は、ベクトル情報記憶部11よりベクトル情報を取得し、そのベクトル情報に基づいて、ベクトル情報記憶部11に記憶されているベクトルグループの全グループを統一し、各グループの全部または一部のメンバベクトルからなる1つのグループを生成する。つまり、ベクトルグループ統一部42は、各グループの全てのメンバベクトル、若しくは、各グループより任意の方法で抽出した一部のメンバベクトルを1つのグループとして再構成する。このグループの統一にメンバベクトルの全てを用いるかまたは一部のメンバベクトルを用いるかは毎回任意の方法で決定するようにしてもよいし、予め定められていてもよい。
In step S2, the vector
グループが統一されると、重心算出部43は、ステップS3において、そのグループが統一されたベクトル情報をベクトルグループ統一部42より取得すると、その情報に基づいて、メンバベクトルの重心点(各メンバベクトルをそれぞれ質点とし、各質点にはたらく重力の合力の作用点)を算出し、その算出結果を共通代表点設定部44に供給する。
When the group is unified, the center-of-
共通代表点設定部44は、ステップS4においてその重心点を共通代表点として設定し、共通代表点の数を示す変数GpNumの値を「1」に設定し、その設定結果を共通代表点数判定部45に供給する。共通代表点数判定部45は、ステップS5において、共通代表点の数GpNumの値が目標数NumReqの値より小さいか否かを判定する。
In step S4, the common representative
共通代表点の数GpNumの値が目標数NumReqの値より小さいと判定した場合、すなわち、目標数分の共通代表点を設定していない(設定した共通代表点の数が目標値に達していない)と判定した場合、共通代表点数判定部45は、その共通代表点の情報を共通代表点分割部46に供給し、処理をステップS6に進める。
If it is determined that the number of common representative points GpNum is smaller than the target number NumReq, that is, the target number of common representative points is not set (the number of set common representative points has not reached the target value). ), The common representative point
ステップS6において、共通代表点分割部46は、供給された共通代表点の情報に基づいて、各共通代表点を2つに分割し、位置を補正する。そして、共通代表点分割部46は、ステップS7において、共通代表点の数GpNumの値を2倍にし、その共通代表点の情報をメンバベクトル割り当て部47に供給する。
In step S6, the common representative
メンバベクトル割り当て部47は、ステップS8において、各メンバベクトルを共通代表点に割り当て、ステップS9において、各メンバベクトルが属する共通代表点が全て前回と同じであるか否か、すなわち、各共通代表点が前回の割り当て時と同じであり、かつ、その各共通代表点に前回の割り当て時と同じメンバベクトルが割り当てられたか否かを判定する。
The member
各メンバベクトルが属する共通代表点が全て前回と同じでないと判定した場合、すなわち、前回の割り当て時と、共通代表点が異なるか、若しくは、各共通代表点に割り当てられたメンバベクトルが異なると判定した場合、メンバベクトル割り当て部47は、その判定結果を重心算出部43に供給し、処理をステップS10に進める。
If it is determined that the common representative points to which each member vector belongs are not all the same as the previous time, that is, the common representative points are different from the previous assignment, or the member vectors assigned to each common representative point are different. In this case, the member
ステップS10において、重心算出部43は同じ共通代表点に属するメンバベクトル同士の重心点を算出し、共通代表点設定部44はその重心点を新たな共通代表点とする。つまり、重心算出部43は、1つの共通代表点に割り当てられたメンバベクトル群を1つのグループとし、そのグループ毎に重心点を算出する。共通代表点設定部44は、その算出された重心点をそれぞれ共通代表点とし、その処理結果をメンバベクトル割り当て部47に供給し、処理をステップS8に戻し、それ以降の処理を繰り返す。メンバベクトル割り当て部47は、供給された共通代表点の情報に基づいて、再度、各共通代表点に対するメンバベクトルの割り当てを行う。
In step S10, the center-of-
つまり、メンバベクトル割り当て部47、重心算出部43、および共通代表点設定部44は、メンバベクトル割り当て部47がステップS9において、各メンバベクトルが属する共通代表点が全て前回と同じであると判定するまで、ステップS8乃至ステップS10の処理を繰り返す。
That is, the member
ステップS9において、各メンバベクトルが属する共通代表点が全て前回と同じであると判定した場合、メンバベクトル割り当て部47は、その判定結果を共通代表点数判定部45に供給し、処理をステップS5に戻し、それ以降の処理を実行させる。
If it is determined in step S9 that all the common representative points to which each member vector belongs are the same as the previous time, the member
すなわち、共通代表点数判定部45、共通代表点分割部46、メンバベクトル割り当て部47、重心算出部43、および共通代表点設定部44は、共通代表点数判定部45がステップS5において、共通代表点の数GpNumの値が目標数NumReqの値より小さくないと判定するまで、ステップS5乃至ステップS10の処理を繰り返す。
That is, the common representative point
そして、ステップS5において、共通代表点の数GpNumの値が目標数NumReqの値より小さくないと判定した場合、すなわち、目標数分の共通代表点を設定した(設定した共通代表点の数が目標値に達した)と判定した場合、共通代表点数判定部45は、その共通代表点の情報を共通代表点記憶制御部48に供給し、処理をステップS11に進める。
In step S5, when it is determined that the value of the number of common representative points GpNum is not smaller than the value of the target number NumReq, that is, the common representative points for the target number are set (the number of set common representative points is the target number). If it is determined that the value has reached, the common representative point
共通代表点記憶制御部48は、ステップS11において、その共通代表点の情報を、共通代表点情報記憶部13に供給して記憶させる。共通代表点情報記憶部13は、その供給された共通代表点の情報を記憶する。
In step S11, the common representative point
共通代表点記憶制御部48は、ステップS11の処理を終了すると、共通代表点設定処理を終了する。
The common representative point
以上のように、共通代表点設定部12が共通代表点設定処理を行い、重心点を用いて共通代表点をR個設定することにより、特徴量比較装置10は、検索対象のベクトル集合(モデル)が複数存在する場合であっても、各集合(モデル)の近傍テーブルを容易に作成し、さらに、その近傍テーブルを用いて各集合(モデル)に対する入力ベクトルの近傍ベクトルを高速に検索することができる。
As described above, the common representative
以上のようにしてR個の共通代表点を設定した特徴量比較装置10は、各ベクトルグループ(モデル)について、その各共通代表点の近傍ベクトルに関するテーブル情報である近傍テーブルをベクトルグループの数(M個)だけ作成する(M個の近傍テーブルからなる近傍テーブル群を作成する)。近傍テーブル群作成部14(図1)は、共通代表点情報記憶部13に記憶されている共通代表点の情報と、ベクトル情報記憶部11に記憶されているベクトル情報に基づいて、近傍テーブル群作成処理を実行する。図15のフローチャートを参照してその近傍テーブル群作成処理の流れについて説明する。
The feature
近傍テーブル群作成処理が開始されると、近傍テーブル群作成部14の初期化処理部61(図7)は、ステップS31において、処理対象のベクトルグループを示す変数j(0≦j≦M−1)の値、処理対象の共通代表点を示す変数h(0≦h≦R−1)の値、および処理対象のメンバベクトルを示す変数i(0≦i≦N−1)の値をそれぞれ初期値(例えば「0」)に設定する等の初期化処理を行う。なお、M、R、およびNはそれぞれ任意の自然数である。
When the neighborhood table group creation process is started, the initialization processing unit 61 (FIG. 7) of the neighborhood table
ステップS32において、近傍テーブル群作成制御部62は、M個全てのベクトルグループについて近傍テーブルを作成したか否かを判定し、まだ近傍テーブルを未作成のベクトルグループが存在すると判定した場合、その判定結果を近傍テーブル作成部63に供給し、処理をステップS33に進める。ステップS33において、近傍テーブル作成部63は、ベクトルグループS(j)の近傍テーブルを作成する。この近傍テーブルの作成処理の詳細については後述する。
In step S32, the neighborhood table group creation control unit 62 determines whether or not neighborhood tables have been created for all M vector groups. If it is determined that there are vector groups for which neighborhood tables have not yet been created, the determination is made. The result is supplied to the neighborhood
近傍テーブルを作成すると近傍テーブル作成部63は、その作成した近傍テーブルを近傍テーブル記憶制御部64に供給し、処理をステップS34に進める。
When the neighborhood table is created, the neighborhood
ステップS34において近傍テーブル記憶制御部64は、その作成した近傍テーブルを取得すると、それを近傍テーブル群記憶部15に供給し、既に記憶されている他のベクトルグループの近傍テーブルにより構成される近傍テーブル群(1つまたは複数の近傍テーブル)に追加するように記憶させる。近傍テーブル群記憶部15は、その制御に基づいて、供給された近傍テーブルを既に記憶している近傍テーブル群に追加するように記憶する。なお、近傍テーブル群記憶部15が1つも近傍テーブルを記憶しておらず、供給された近傍テーブルが1つ目の近傍テーブルの場合、近傍テーブル群記憶部15は、その供給された近傍テーブルを新たな近傍テーブル群として記憶する。
In step S34, when the neighborhood table
ステップS34の処理を終了すると近傍テーブル記憶制御部64は、処理結果を近傍テーブル群作成制御部62に返す。近傍テーブル群作成制御部62は、ステップS35において変数jの値に「+1」を加算し、近傍テーブルを作成する処理対象ベクトルグループを変更する。
When the process of step S34 is completed, the neighborhood table
以上のように、近傍テーブル群作成制御部62、近傍テーブル作成部63、および近傍テーブル記憶制御部64は、近傍テーブル群作成制御部62がステップS32において全てのベクトルグループの近傍テーブルを作成した(M個の近傍テーブルを作成した)と判定するまで、ステップS32乃至ステップS35の処理を繰り返す。そして、ステップS32において全てのベクトルグループの近傍テーブルを作成したと判定した場合、近傍テーブル群作成制御部62は、近傍テーブル群作成処理を終了する。
As described above, the neighborhood table group creation control unit 62, the neighborhood
このように近傍テーブル群作成処理を実行することにより近傍テーブル群作成処理部14は、各ベクトルグループについて近傍テーブルを作成する(M個の近傍テーブルからなる近傍テーブル群を作成する)ことができる。その際、各ベクトルグループに共通の共通代表点を用いることにより、近傍テーブル群作成処理部14は、検索対象のベクトル集合(ベクトルグループ)が複数存在する場合であっても、それぞれの近傍テーブルを高速に作成することができる。また、この近傍テーブル群を入力ベクトルの最近傍ベクトルの検索に用いることにより、特徴量比較装置10は、検索対象のベクトル集合が複数存在する場合であっても、各集合から入力ベクトルの近傍ベクトルを高速に検索することができる。
By executing the neighborhood table group creation processing in this way, the neighborhood table group
次に、図15のステップS33において、近傍テーブル作成部63(図7)が実行する近傍テーブル作成処理の流れの詳細について図16のフローチャートを参照して説明する。 Next, details of the flow of the neighborhood table creation process executed by the neighborhood table creation unit 63 (FIG. 7) in step S33 of FIG. 15 will be described with reference to the flowchart of FIG.
近傍テーブル作成処理が開始されると、近傍テーブル作成部63の近傍テーブル作成制御部81(図8)は、ステップS51において、R個全ての共通代表点のレコードを作成したか否かを判定する。近傍テーブルは、図3を参照して説明したように、各共通代表点に対応するレコードにより構成される。近傍テーブル作成制御部81は、その共通代表点の近傍ベクトルが全て(K個(Kは任意の自然数))求められ、R個のレコードの作成が完了し、近傍テーブルが完成したか否かを判定する。まだレコードを作成していない(近傍テーブルを求めていない)共通代表点が存在し、全ての共通代表点のレコードを作成していないと判定した場合、近傍テーブル作成制御部81は、処理をステップS52に進める。
When the neighborhood table creation process is started, the neighborhood table creation control unit 81 (FIG. 8) of the neighborhood
ステップS52において、距離情報作成部82は、処理対象の共通代表点C(h)と各ベクトルVm(処理対象のベクトルグループのメンバベクトルのそれぞれ)との距離情報(共通代表点C(h)とメンバベクトルVmとの距離の2分の1)を作成する。この距離情報の作成処理の詳細は後述する。距離情報作成部82は、距離情報を作成するとそれを距離情報ソート部83に供給し、処理をステップS53に進める。ステップS53において、距離情報ソート部83は、作成した距離情報を距離が短い順(値の小さい順)にソートし、そのソート結果を距離情報抽出部84に供給する。距離情報抽出部84は、ステップS54において距離の短い方からK個分の距離情報を抽出し、その抽出した距離情報をレコード保持部85に供給する。
In step S52, the distance
レコード保持部85は、ステップS55において、この距離情報抽出部84が抽出した距離情報群を、現在処理対象とされているグループS(j)の近傍テーブルに、共通代表点C(h)のレコードとして追加するように保持する。すなわち、レコード保持部85は、距離情報抽出部84より供給された距離情報群を近傍テーブルのレコードとして保持する。
In step S55, the
レコード保持部85は、その処理結果を近傍テーブル作成制御部81に返す。近傍テーブル作成制御部81は、ステップS56において変数hの値に「+1」を加算し、処理対象共通代表点を変更し、処理をステップS51に戻し、それ以降の処理を繰り返す。
The
つまり、近傍テーブル作成制御部81、距離情報作成部82、距離情報ソート部83、距離情報抽出部84、およびレコード保持部85は、ステップS51において近傍テーブル作成制御部81が全ての共通代表点のレコードを作成したと判定するまで、ステップS51乃至ステップS56の処理を繰り返す。
That is, the neighborhood table creation control unit 81, the distance
そして、ステップS51において、全ての共通代表点のレコードが作成され、処理対象のベクトルグループについて近傍テーブルが作成されたと判定した場合、近傍テーブル作成制御部81は、近傍テーブル作成処理を終了し、レコード保持部85が保持しているレコード群を近傍テーブルとして近傍テーブル記憶制御部64(図7)に供給させ、処理を図15のステップS33に戻し、ステップS34以降の処理を実行させる。
If it is determined in step S51 that all common representative point records have been created and a neighborhood table has been created for the vector group to be processed, the neighborhood table creation control unit 81 ends the neighborhood table creation process, and records The record group held by the holding
次に、図16のステップS52において、距離情報作成部82(図8)が実行する距離情報作成処理の流れの詳細について図17のフローチャートを参照して説明する。 Next, details of the flow of the distance information creation process executed by the distance information creation unit 82 (FIG. 8) in step S52 of FIG. 16 will be described with reference to the flowchart of FIG.
距離情報作成処理が開始されると、距離情報作成部82の距離情報作成制御部101(図9)は、ステップS71において、現在処理対象とされる共通代表点C(h)について、現在処理対象とされるベクトルグループS(j)内のN個全てのメンバベクトルVm(i,j)の距離情報を作成したか否かを判定する。まだ距離情報を作成していないメンバベクトルVm(i,j)が存在し、R個全ての共通代表点のレコードを作成していないと判定した場合、距離情報作成制御部101は、処理をステップS72に進める。
When the distance information creation process is started, the distance information creation control unit 101 (FIG. 9) of the distance
距離算出部102は、ステップS72において、現在処理対象とされている共通代表点C(h)とメンバベクトルVm(i,j)との距離を算出する。例えば、共通代表点C(h)およびメンバベクトルVm(i,j)が1つの平面上に存在し、x座標およびy座標でその位置が示される場合、共通代表点C(h)の座標を(x1,y1)とし、メンバベクトルVm(i,j)の座標を(x2,y2)とすると、共通代表点C(h)とメンバベクトルVm(i,j)との距離Dcm(h,i,j)は以下の式(1)により示される。
In step S72, the
Dcm=√(x1−x2)2+(y1−y2)2 ・・・(1) Dcm = √ (x1−x2) 2 + (y1−y2) 2 (1)
すなわち、距離Dcmは各座標の差の2乗の総和の平方根で示される。距離算出部102は、このように距離を算出するとそれを1/2乗算部103に供給する。1/2乗算部13は、ステップS73において、その算出された距離に1/2を乗算し、Dcm/2を算出し、その乗算結果を距離情報保持部104に供給する。
That is, the distance Dcm is indicated by the square root of the sum of the squares of the differences between the coordinates. When the
距離情報保持部104は、ステップS74において、その乗算結果をメンバベクトルVm(i,j)の距離情報として保持し、その処理結果を距離情報作成制御部101に返す。距離情報作成制御部101は、ステップS75において、処理対象のメンバベクトルVmを示す変数iの値に「+1」を加算し、処理対象メンバベクトルを変更する。処理対象メンバベクトルを変更すると距離情報作成制御部101は、処理をステップS71に戻し、新たな処理対象メンバベクトルについて、それ以降の処理を繰り返す。
In step S74, the distance
つまり、距離情報作成制御部101、距離算出部102、1/2乗算部103、および距離情報保持部104は、ステップS71において距離情報作成制御部101が全てのメンバベクトルの距離情報を作成したと判定するまでステップS71乃至ステップS75の処理を繰り返す。
That is, the distance information
そして、ステップS71において、現在処理対象とされる共通代表点C(h)について、現在処理対象とされるベクトルグループS(j)内のN個全てのメンバベクトルVm(i,j)の距離情報を作成したと判定した場合、距離情報作成制御部101は、距離情報作成処理を終了し、距離情報保持部104が保持している距離情報を距離情報ソート部83(図8)に供給させ、図16のステップS52に処理を戻し、ステップS53以降の処理を実行させる。
In step S71, the distance information of all N member vectors Vm (i, j) in the vector group S (j) that is the current processing target for the common representative point C (h) that is the current processing target. The distance information
図1の特徴量比較装置10の最近傍ベクトル群検索部16は、近傍テーブル群記憶部15に記憶されている近傍テーブル群、共通代表点情報記憶部13に記憶されている共通代表点の情報、およびベクトル情報記憶部11に記憶されているベクトル情報に基づいて、入力ベクトルに対する最近傍ベクトルをベクトルグループ(モデル)毎に検索し、それらを最近傍ベクトル群として出力する。この最近傍ベクトル群検索処理の流れを図18のフローチャートを参照して説明する。入力ベクトルが入力され、最近傍ベクトル群検索処理が開始されると、最近傍ベクトル群検索部16の初期化処理部121は、ステップS91において、ベクトル情報記憶部11よりベクトル情報を取得し、共通代表点情報記憶部13より共通代表点の情報を取得し、近傍テーブル群記憶部15より近傍テーブル群を取得し、さらに、処理対象のベクトルグループを示す変数jの値、処理対象の共通代表点を示す変数hの値、並びに、処理対象のメンバベクトルを示す変数iおよび変数kの値をそれぞれ初期値(例えば「0」)に設定する等の初期化処理を行う。
The nearest neighbor vector
最近傍ベクトル群検索制御部122は、ステップS92において、M個全てのベクトルグループ(モデル)について入力ベクトルの最近傍ベクトルを検索したか否かを判定し、未処理のベクトルグループが存在すると判定した場合、その判定結果を最近傍ベクトル検索部123に供給し、処理をステップS93に進める。ステップS93において、最近傍ベクトル検索部123は、処理対象のベクトルグループについて入力ベクトルの最近傍ベクトルを検索する処理を実行する。この最近傍ベクトル検索処理の詳細については後述する。最近傍ベクトル検索部123は、最近傍ベクトルを検索するとその検索結果を最近傍ベクトル群検索制御部122に供給し、処理をステップS94に進める。ステップS94において、最近傍ベクトル群検索制御部122は、変数jの値に「+1」を加算し、処理対象ベクトルグループを変更し、処理をステップS91に戻し、新たな処理対象ベクトルグループについてそれ以降の処理を繰り返す。
In step S92, the nearest neighbor vector group
すなわち、最近傍ベクトル群検索制御部122および最近傍ベクトル検索部123は、ステップS92において最近傍ベクトル群検索制御部122がM個全てのベクトルグループについて最近傍ベクトルを検索したと判定するまでステップS92乃至ステップS94の処理を繰り返す。
That is, the nearest neighbor vector group
そして、ステップS92において、全てのベクトルグループについて入力ベクトルの最近傍ベクトルを検索し、全ての最近傍ベクトル群が得られたと判定した場合、最近傍ベクトル群検索制御部122は、最近傍ベクトル群を出力し、最近傍ベクトル群検索処理を終了する。
In step S92, when the nearest neighbor vectors of the input vectors are searched for all the vector groups and it is determined that all the nearest neighbor vectors are obtained, the nearest neighbor vector group
このように最近傍ベクトル群検索部16が入力ベクトルの最近傍ベクトルを各ベクトルグループ(モデル)に対して検索し、最近傍ベクトル群を出力することにより、特徴量比較装置10は、複数のモデルが存在する場合であっても、容易に各モデルの特徴と入力情報の特徴を比較することができる。
As described above, the nearest neighbor vector
次に、図18のステップS93において、最近傍ベクトル検索部123(図10)が実行する最近傍ベクトル検索処理の流れの詳細について図19のフローチャートを参照して説明する。 Next, details of the flow of the nearest neighbor vector search process executed by the nearest neighbor vector search unit 123 (FIG. 10) in step S93 of FIG. 18 will be described with reference to the flowchart of FIG.
最近傍ベクトル検索処理が開始されると、最近傍ベクトル検索部123の初期化処理部141(図11)は、ステップS111において、処理対象の共通代表点を示す変数hの値、並びに処理対象のメンバベクトルを示す変数iおよび変数kの値をそれぞれ初期値(例えば「0」)に設定する等の初期化処理を行う。
When the nearest neighbor vector search process is started, the initialization processor 141 (FIG. 11) of the nearest neighbor
ステップS112において、最近傍ベクトル検索制御部142は、R個全ての共通代表点C(h)について最近傍ベクトルの存在判定を行ったか否かを判定する。全ての共通代表点C(h)について最近傍ベクトルの存在判定を行っていない、すなわち、未処理の共通代表点が存在すると判定した場合、最近傍ベクトル検索制御部142は、その判定結果を距離算出部143に供給し、処理をステップS113に進める。
In step S112, the nearest neighbor vector
ステップS113において、距離算出部143は、入力ベクトルVinと共通代表点C(h)との距離Dinc(h)を算出し、その算出結果を距離比較部144に供給する。距離算出部143は、上述した式(1)、すなわち、共通代表点とメンバベクトルとの距離の場合と同様に、各座標の差の2乗の総和の平方根を算出する。
In step S113, the
距離比較部144は、ステップS114において、距離Dinc(h)を、近傍テーブルの共通代表点C(h)のレコードの距離情報の最大値と比較し、ステップS115において距離Dinc(h)の方が短いか否かを判定する。そして距離Dinc(h)よりも近傍テーブルの共通代表点C(h)のレコードの距離情報の最大値の方が短いと判定した場合、距離比較部144は、その比較結果を最近傍ベクトル検索制御部142に返し、処理をステップS116に進める。
In step S114, the
ステップS116において、最近傍ベクトル検索制御部142は、変数hの値に「+1」を加算し、処理対象共通代表点C(h)を変更し、処理をステップS112に戻し、新たな共通代表点C(h)についてステップS112以降の処理を実行する。
In step S116, the nearest neighbor vector
つまり、最近傍ベクトル検索制御部142、距離算出部143、および距離比較部144は、ステップS112において最近傍ベクトル検索制御部142が全ての共通代表点C(h)について最近傍ベクトルの存在判定を行ったと判定するか、ステップS115において距離比較部144が距離Dinc(h)の方が近傍テーブルの共通代表点C(h)のレコードの距離情報の最大値よりも短いと判定するまで、ステップS112乃至ステップS116の処理を繰り返す。
That is, the nearest neighbor vector
そして、ステップS115において、距離Dinc(h)の方が近傍テーブルの共通代表点C(h)のレコードの距離情報の最大値よりも短いと判定した場合、距離比較部144は、その判定結果をテーブル内検索部145に供給し、処理をステップS117に進める。ステップS117において、テーブル内検索部145は、処置対象の近傍テーブル内において入力ベクトルに最も近いベクトルを検索する。すなわち、テーブル内検索部145は、入力ベクトルの最近傍ベクトルの検索範囲を近傍テーブルに登録された近傍ベクトルに限定し、それらの近傍ベクトルの中から最近傍ベクトルを検索する。この最近傍ベクトルのテーブル内検索処理の流れの詳細については後述する。
In step S115, when it is determined that the distance Dinc (h) is shorter than the maximum value of the distance information of the record of the common representative point C (h) in the neighborhood table, the
テーブル内検索部145は、ステップS117の処理を終了すると、検索結果を最近傍ベクトル設定部146に供給する。最近傍ベクトル146は、ステップS118において、その検索結果として供給された、テーブル内検索部145により検索されたベクトルを最近傍ベクトルに設定し、その最近傍ベクトルを最近傍ベクトル群検索制御部122に供給し、最近傍ベクトル検索処理を終了して処理を図18のステップS93に戻し、ステップS94以降の処理を実行させる。
The
つまり、近傍テーブルにおいて、入力ベクトルとの距離が、そのレコードの距離情報の最大値(距離の2分の1)よりも短くなる共通代表点が存在する場合、テーブル内検索部145は、その共通代表点の近傍ベクトル(近傍テーブルに登録されたメンバベクトル)の中から入力ベクトルの最近傍ベクトルを検索する。
That is, in the neighborhood table, when there is a common representative point whose distance to the input vector is shorter than the maximum value of distance information of the record (1/2 of the distance), the in-
また、ステップS112において、全ての共通代表点C(h)について最近傍ベクトルの存在判定を行ったと判定した場合、すなわち、近傍テーブルにおいて、入力ベクトルとの距離が、そのレコードの距離情報の最大値(距離の2分の1)よりも短くなる共通代表点が存在しない場合、最近傍ベクトル検索制御部142は、その判定結果をグループ内全体検索部147に供給し、処理をステップS119に進める。
In step S112, if it is determined that the presence determination of the nearest neighbor vector has been performed for all common representative points C (h), that is, the distance from the input vector in the vicinity table is the maximum value of the distance information of the record. If there is no common representative point shorter than (half the distance), the nearest neighbor vector
ステップS119において、グループ内全体検索部147は、グループ内の全てのメンバベクトルから入力ベクトルに最も近いベクトル(最近傍ベクトル)を検索する。そして、グループ内全体検索部147は、その検索結果を最近傍ベクトル設定部146に供給し、処理をステップS118に戻し、それ以降の処理を実行させる。
In step S119, the in-group
この場合、最近傍ベクトル設定部146は、ステップS118において、その検索結果として供給された、グループ内全体検索部147により検索されたメンバベクトルを最近傍ベクトルに設定し、その最近傍ベクトルを最近傍ベクトル群検索制御部122に供給し、最近傍ベクトル検索処理を終了して処理を図18のステップS93に戻し、ステップS94以降の処理を実行させる。
In this case, the nearest neighbor
以上のように、最近傍ベクトル検索部123は、入力ベクトルと共通代表点との距離に応じて最近傍ベクトルの検索範囲を近傍ベクトル内か若しくはベクトルグループ全体に設定し、その検索範囲で検索処理を行う。このようにすることにより、入力ベクトルが共通代表点のいずれかに近い場合、具体的には、入力ベクトルと共通代表点との距離が、近傍テーブルのその共通代表点のレコードに登録されている距離情報(共通代表点と近傍ベクトルとの距離の2分の1)の最大値より短くなる共通代表点が存在する場合、最近傍ベクトル検索部123は、最近傍ベクトルの検索範囲をその共通代表点の近傍ベクトルに限定することができるので、不要な候補(明らかに最近傍ベクトルとならないメンバベクトル)を検索範囲より除去し、最近傍ベクトルを高速に検索することができる。
As described above, the nearest neighbor
また、上述したように処理を行うことにより、ベクトルグループの全てのメンバベクトルを検索範囲とする必要があるグループのみベクトルグループ全体に対して検索処理を行い、明らかに不要なメンバベクトルが存在するベクトルグループに対しては、近傍ベクトル内に対する検索処理に切り替えることができる。つまり、最近傍ベクトル検索部123は、検索対象のベクトル集合が複数存在する場合であっても、検索の精度を低下させることなく、各集合から入力ベクトルの近傍ベクトルを高速に検索することができるようにするものである。
Further, by performing the processing as described above, only the group that needs to have all the member vectors of the vector group as the search range is subjected to the search processing for the entire vector group. For groups, it is possible to switch to search processing within the neighborhood vector. That is, even when there are a plurality of vector sets to be searched, the nearest neighbor
次に、図19のステップS117において、テーブル内検索部145(図11)が実行するテーブル内検索処理の流れの詳細について図20のフローチャートを参照して説明する。 Next, details of the flow of the table search processing executed by the table search unit 145 (FIG. 11) in step S117 of FIG. 19 will be described with reference to the flowchart of FIG.
最初に、テーブル内検索処理が開始されると、テーブル内検索部145の初期化処理部161(図12)は、ステップS131において、処理対象の近傍ベクトルを示す変数kの値をそれぞれ初期値(例えば「0」)に設定したり、データ保持部165が保持する最近傍ベクトルの候補Vkeepを入力ベクトルから無限遠の仮想点に設定したり、その最近傍ベクトルの候補Vkeepの入力ベクトルからの距離Dkeepを無限遠に設定したりする等の初期化処理を行う。
First, when the intra-table search process is started, the initialization processing unit 161 (FIG. 12) of the
テーブル内検索制御部162は、ステップS132において、レコードに含まれるK個全ての近傍ベクトルVt(k)(0≦k≦K−1)について検索したか否かを判定する。未処理の近傍ベクトルVt(k)が存在すると判定した場合、テーブル内検索制御部162は、判定結果を距離算出部163に供給し、処理をステップS133に進める。
In step S132, the in-table
ステップS133において、距離算出部163は、入力ベクトルVinと処理対象の近傍ベクトルVt(k)との距離Dint(k)を算出し、算出結果を更新制御部164に供給し、処理をステップS134に進める。
In step S133, the
ステップS134において更新制御部164は、距離Dint(k)が、入力ベクトルVinと最近傍ベクトル候補Vkeepとの距離Dkeepより短いか否かを判定する。距離Dint(k)が、距離Dkeepより短いと判定した場合、更新制御部164は、処理対象の近傍ベクトルVt(k)と距離Dint(k)の情報をデータ保持部165に供給し、ステップS135に処理を進める。ステップS135において、データ保持部165は、保持している最近傍ベクトルの候補Vkeepとその入力ベクトルからの距離Dkeepの情報を、供給された近傍ベクトルVt(k)と距離Dint(k)の情報を用いて更新する。
In step S134, the
更新制御部164は、その制御結果をテーブル内検索制御部162に返し、処理をステップS136に進める。また、ステップS134において距離Dint(k)が、入力ベクトルVinと保持しているベクトルVkeepとの距離Dkeepより長いと判定した場合、更新制御部164は、ステップS135の処理を省略し、その制御結果をテーブル内検索制御部162に返し、ステップS136に処理を進める。
The
ステップS136において、テーブル内検索制御部162は、変数kの値に「+1」を加算し、処理対象近傍ベクトルVt(k)を変更し、処理をステップS132に戻し、新たな処理対象近傍ベクトルVt(k)について、それ以降の処理を繰り返す。
In step S136, the in-table
すなわち、テーブル内検索制御部162、距離算出部163、更新制御部164、およびデータ保持部165は、テーブル内検索制御部162がステップS132においてレコードに含まれる全ての近傍ベクトルVt(k)について検索したと判定するまでステップS132乃至ステップS136の処理を繰り返す。
That is, the in-table
そして、ステプS132において、レコードに含まれる全ての近傍ベクトルVt(k)について検索したと判定した場合、テーブル内検索制御部162は、データ保持部165が保持している最近傍ベクトルの候補Vkeepおよびその入力ベクトルからの距離Dkeepの情報を検索結果として最近傍ベクトル設定部146に供給させ、テーブル内検索処理を終了し、図19のステップS117に処理を戻し、ステップS118以降の処理を実行させる。
If it is determined in step S132 that all the neighboring vectors Vt (k) included in the record have been searched, the in-table
次に、図19のステップS119において、グループ内全体検索部147(図11)が実行するグループ内全体検索処理の流れの詳細について図21のフローチャートを参照して説明する。 Next, details of the flow of the entire group search process executed by the entire group searching unit 147 (FIG. 11) in step S119 of FIG. 19 will be described with reference to the flowchart of FIG.
最初に、グループ内全体検索処理が開始されると、グループ内全体検索部147の初期化処理部181(図13)は、ステップS151において、処理対象のメンバベクトルを示す変数iの値をそれぞれ初期値(例えば「0」)に設定したり、データ保持部185が保持する最近傍ベクトルの候補Vkeepを入力ベクトルから無限遠の仮想点に設定したり、その最近傍ベクトルの候補Vkeepの入力ベクトルからの距離Dkeepを無限遠に設定したりする等の初期化処理を行う。
First, when the entire group search process is started, the initialization processing unit 181 (FIG. 13) of the group
ステップS152において、グループ内全体検索制御部182は、グループに含まれるN個全てのメンバベクトルVm(i,j)について処理を行ったか否かを判定する。未処理のメンバベクトルVm(i,j)が存在すると判定した場合、グループ内全体検索制御部182は、判定結果を距離算出部183に供給し、処理をステップS153に進める。
In step S152, the in-group entire search control unit 182 determines whether or not processing has been performed for all N member vectors Vm (i, j) included in the group. If it is determined that there is an unprocessed member vector Vm (i, j), the in-group overall search control unit 182 supplies the determination result to the
ステップS153において、距離算出部183は、入力ベクトルVinと処理対象のメンバベクトルVm(i,j)との距離Dint(i)を算出し、算出結果を更新制御部184に供給し、処理をステップS154に進める。
In step S153, the
ステップS154において更新制御部184は、距離Dint(i)が、入力ベクトルVinと最近傍ベクトルの候補Vkeepとの距離Dkeepより短いか否かを判定する。距離Dint(i)が、距離Dkeepより短いと判定した場合、更新制御部184は、処理対象のメンバベクトルVm(i,j)と距離Dint(i)の情報をデータ保持部185に供給し、ステップS155に処理を進める。ステップS155において、データ保持部185は、保持している最近傍ベクトルの候補Vkeepと、その入力ベクトルからの距離Dkeepの情報を、供給されたメンバベクトルVm(i,j)と距離Dint(i)の情報を用いて更新する。
In step S154, the
更新制御部184は、その制御結果をグループ内全体検索制御部182に返し、処理をステップS156に進める。また、ステップS154において距離Dint(i)が、入力ベクトルVinと保持している最近傍ベクトルVkeepとその入力ベクトルからの距離Dkeepより長いと判定した場合、更新制御部184は、ステップS155の処理を省略し、その制御結果をテーブル内検索制御部182に返し、ステップS156に処理を進める。
The
ステップS156において、テーブル内検索制御部162は、変数iの値に「+1」を加算し、処理対象メンバベクトルVm(i,j)を変更し、処理をステップS152に戻し、新たな処理対象メンバベクトルVm(i,j)について、それ以降の処理を繰り返す。
In step S156, the in-table
すなわち、テーブル内検索制御部162、距離算出部163、更新制御部164、およびデータ保持部165は、テーブル内検索制御部162がステップS132においてレコードに含まれるN個全てのメンバベクトルVm(i,j)(0≦i≦N−1)について検索したと判定するまでステップS152乃至ステップS156の処理を繰り返す。
That is, the in-table
そして、ステップS152において、ベクトルグループに含まれるN個のメンバベクトルVm(i,j)について全て検索したと判定した場合、グループ内全体検索制御部182は、データ保持部185が保持している最近傍ベクトルVkeepおよびその入力ベクトルからの距離Dkeepの情報を検索結果として最近傍ベクトル設定部146に供給させ、グループ内全体検索処理を終了し、図19のステップS119に処理を戻し、ステップS118以降の処理を実行させる。
If it is determined in step S152 that all N member vectors Vm (i, j) included in the vector group have been searched, the intra-group entire search control unit 182 Information on the side vector Vkeep and the distance Dkeep from the input vector is supplied to the nearest neighborhood
以上のように、図1の特徴量比較装置10は、各ベクトルグループ(モデル)に共通の代表点を算出し、その共通代表点を用いて近傍テーブルを作成し、それらを用いて入力ベクトルの最近傍ベクトルの検索を行うので、検索対象のベクトル集合が複数存在する場合であっても、各集合から入力ベクトルの近傍ベクトルを高速に検索することができるようにするものである。つまり、特徴量比較装置10は、検索対象の集合が複数存在する場合であっても、各集合から目的の要素を高速に検索することができる。
As described above, the feature
なお、以上において、各パラメータの定数N、M、R、およびK等は、互いの大小関係に矛盾が生じない限り任意の自然数であり、ユーザにより指定された値であっても良いし、予め定められた値であってもよい。 In the above, the constants N, M, R, K, etc. of each parameter are arbitrary natural numbers as long as there is no contradiction in the magnitude relationship between them, and may be values designated by the user in advance. It may be a predetermined value.
また、本発明は、最近傍ベクトルを検索する入力ベクトルや検索対象のメンバベクトル(モデル)がどのようなベクトル情報であってももちろんよく、さらに、例えばベクトル情報以外の検索にも適用することができる。例えば、集合の中から目的の要素を検索する検索処理であればどのような検索処理であっても本発明を適用することができる。 In addition, the present invention may be any vector information as an input vector for searching the nearest neighbor vector or a member vector (model) to be searched, and may be applied to a search other than vector information, for example. it can. For example, the present invention can be applied to any search process that searches a target element from a set.
また、図1においては、特徴量比較装置10として説明したが、本発明は複数の装置により構成されるシステムにも適用することができ、例えば、図1の特徴量比較装置10の各部が互いに異なる装置として構成されるようにしてもよい。図22は、本発明を適用した特徴量比較システムの構成例を示す図である。
In FIG. 1, the feature
図22において、特徴量比較システム200は、記憶装置211、共通代表点設定装置212、近傍テーブル群作成装置214、および最近傍ベクトル群検索装置216を有しており、図1の特徴量比較装置10と同様の処理を行う。
22, the feature amount comparison system 200 includes a storage device 211, a common representative
記憶装置211は、ベクトル情報記憶部11、共通代表点情報記憶部13、および近傍テーブル群記憶部15を内蔵しており、上述した各種の情報をそれぞれの記憶部において記憶する。
The storage device 211 includes a vector
共通代表点設定装置212は図1の共通代表点設定部12に対応し、近傍テーブル群作成装置214は図1の近傍テーブル群作成部14に対応し、最近傍ベクトル群検索装置216は図1の最近傍ベクトル群検索部16に対応し、それぞれ同様の処理を行う。従って、これらの説明については省略する。
The common representative
つまり、このように複数の装置により構成される特徴量比較システム200の場合であっても、図1の特徴量比較装置10の場合と同様に、本発明を適用することができる。すなわち、特徴量比較システム200は、検索対象の集合が複数存在する場合であっても、各集合から目的の要素を高速に検索することができる。
That is, even in the case of the feature quantity comparison system 200 configured by a plurality of devices in this way, the present invention can be applied as in the case of the feature
また、図1の特徴量比較装置10は、他の装置の一部として構成されるようにしてもよい。例えば、特徴量比較装置10が、画像認識処理等を行う画像処理装置の一部として構成されるようにしてもよい。
1 may be configured as a part of another device. For example, the feature
図23は、本発明を適用した画像処理装置の構成例を示すブロック図である。図23において、画像処理装置230は、入力画像の特徴をベクトル化し、その特徴ベクトルをモデル画像の特徴ベクトルと比較することにより、それらの画像に共通する(または近似する)特徴を検出することにより、入力画像を認識する装置である。 FIG. 23 is a block diagram illustrating a configuration example of an image processing apparatus to which the present invention has been applied. In FIG. 23, the image processing device 230 vectorizes the features of the input image and compares the feature vector with the feature vector of the model image, thereby detecting features common to (or approximate to) those images. A device for recognizing an input image.
図23において画像処理部230は、学習部231および認識部232により構成される。学習部231は、モデル画像の特徴ベクトルをモデル辞書として登録する処理を行う処理部であり、特徴点抽出部241、特徴量抽出部242、およびモデル辞書登録部243を有している。
In FIG. 23, the image processing unit 230 includes a learning unit 231 and a
特徴点抽出部241は、モデル画像から予め定められた所定の特徴点を抽出し、それを特徴量抽出部242に供給する。特徴量抽出部242は、特徴点抽出部241において抽出された特徴点の特徴量を抽出し、それを特徴ベクトルとしてモデル辞書登録部243に登録する。
The feature
認識部232は、入力画像が入力されると、その特徴ベクトルを抽出し、それをモデル画像の特徴ベクトルと比較し、モデルと一致する(近似する)部分を判定する処理部であり、特徴点抽出部244、特徴量抽出部245、特徴量比較部246、およびモデル検出判定部247を有している。
When the input image is input, the
特徴点抽出部244は、入力画像から予め定められた所定の特徴点を抽出し、それを特徴量抽出部245に供給する。特徴量抽出部245は、特徴点抽出部244において抽出された特徴点の特徴量を抽出し、それを特徴量比較部246に供給する。特徴量比較部246は、図1の特徴量比較装置10と同様の構成を有しており、図1の特徴量比較装置10と同様の処理を実行することにより、モデル辞書登録部243に登録されているモデル画像の特徴ベクトルと入力画像の特徴ベクトルとを比較し、その比較結果をモデル検出判定部247に供給する。モデル検出判定部247は、この比較結果に基づいて入力画像の特徴をモデル画像において検出できたか否かを判定し、その判定結果を認識処理結果として装置外部に出力する。
The feature
このように、図1の特徴量比較装置10を特徴量比較部246とし、画像処理装置230の特徴ベクトルの比較処理に用いるようにするようにしてもよい。この場合も特徴量比較部246は上述した特徴量比較装置10における各処理と同様の処理を実行する。
As described above, the feature
さらに、このとき、特徴量比較装置10の各部(図1)と同様の処理部が特徴量比較部246以外として構成されるようにしてもよい。図24は、図23の画像処理装置230の他の構成例を示すブロック図である。
Further, at this time, a processing unit similar to each unit (FIG. 1) of the feature
図24の場合、画像処理装置250は、図23の画像処理装置230と同様に、学習部251および認識部252を有している。学習部251は、学習部231のモデル辞書登録部243の代わりに、モデル辞書登録部263、共通代表点設定部12、および近傍テーブル群作成部14を有している。モデル辞書登録部263は、モデル辞書登録部243の機能の他に、ベクトル情報記憶部11、共通代表点情報記憶部13、および近傍テーブル郡記憶部15を有している。
In the case of FIG. 24, the image processing apparatus 250 includes a learning unit 251 and a recognition unit 252 as in the image processing apparatus 230 of FIG. The learning unit 251 includes a model dictionary registration unit 263, a common representative
また、認識部252は、認識部232の特徴量比較部246の代わりに最近傍ベクトル群検索部16を有している。
The recognition unit 252 includes a nearest neighbor vector
つまり、図23の画像処理装置230の場合、図1の特徴量比較装置10に対応する特徴量比較部246は認識部232が有しており、図24の画像処理装置250の場合、認識部252は、図1の特徴量比較装置10の最近傍ベクトル群検索部16のみを有し、図1の特徴量比較装置10のそれ以外の構成(ベクトル情報記憶部11、共通代表点設定部12、共通代表点情報記憶部13、近傍テーブル群作成部14、および近傍テーブル郡記憶部15)は学習部251が有している。
That is, in the case of the image processing device 230 in FIG. 23, the
このように、特徴量比較装置10の各部は、実質的にそれらの処理内容等が変化しない限り(特徴量比較装置10に対応するように構成されている限り)、どのように画像処理装置230に構成されるようにしてもよい。
As described above, how each unit of the feature
また、以上において説明した本発明の特徴量比較の構成を、他の技術と組み合わせるようにしてもよい。例えば、メンバベクトル群の処理をさらに容易にするために、主成分分析を利用した座標変換処理を上述した特徴量比較処理に適用するようにしてもよい。 Moreover, you may make it combine the structure of the feature-value comparison of this invention demonstrated above with another technique. For example, in order to further facilitate the processing of the member vector group, a coordinate conversion process using principal component analysis may be applied to the above-described feature amount comparison process.
図25は、特徴量比較装置の他の構成例を示すブロック図である。図25の特徴量比較装置280は、図1の特徴量比較装置10による特徴量比較処理に対して、主成分分析を利用した座標変換処理を適用するようにしたものであり、ベクトル情報記憶部11、メンバベクトル座標変換部281、入力ベクトル座標変換部282、最近傍ベクトル群座標変換部283、変換座標ベクトル情報記憶部291、変換座標共通代表点設定部292、変換座標共通代表点情報記憶部293、変換座標近傍テーブル群作成部294、変換座標近傍テーブル群記憶部295、および変換座標最近傍ベクトル群検索部296を有している。
FIG. 25 is a block diagram illustrating another configuration example of the feature amount comparison apparatus. A feature value comparison device 280 in FIG. 25 is configured to apply a coordinate conversion process using principal component analysis to the feature value comparison process by the feature
メンバベクトル座標変換部281は、ベクトル情報記憶部11に記憶されているベクトル情報に基づいて後述するように主成分分析を行い、各メンバベクトルの座標を変換する。メンバベクトル座標変換部281は、この座標変換された、変換座標上のベクトル情報(変換座標ベクトル情報)を変換座標ベクトル情報記憶部291に供給し、記憶させる。また、メンバベクトル座標変換部281は、主成分分析結果に関する情報を入力ベクトル座標変換部282に供給する。
The member vector coordinate
入力ベクトル座標変換部282は、メンバベクトル座標変換部281より供給された主成分分析結果に関する情報に基づいて、入力ベクトルに対してメンバベクトル座標変換部281と同様の座標変換処理を行い、その座標変換された変換座標上の入力ベクトル(変換座標入力ベクトル)を変換座標最近傍ベクトル群検索部296に供給する。また、入力ベクトル座標変換部282は、主成分分析結果に関する情報を最近傍ベクトル群座標変換部283に供給する。
The input vector coordinate
最近傍ベクトル群座標変換部283は、変換座標最近傍ベクトル群検索部296より供給される変換座標上の最近傍ベクトル群(変換座標最近傍ベクトル群)を取得すると、入力ベクトル座標変換部282より供給される主成分分析結果に関する情報に基づいて、その取得した変換座標最近傍ベクトル群に対して入力ベクトル座標変換部282に対応する座標変換処理を行い、変換座標最近傍ベクトル群を元の座標系(ベクトル情報記憶部11に記憶されているベクトル情報の座標系)に変換し、その元の座標系の最近傍ベクトル群を特徴量比較装置280の外部に出力する。
When the nearest neighbor vector group coordinate
変換座標ベクトル情報記憶部291、変換座標共通代表点設定部292、変換座標共通代表点情報記憶部293、変換座標近傍テーブル群作成部294、変換座標近傍テーブル群記憶部295、および変換座標最近傍ベクトル群検索部296は、それぞれ、図1のベクトル情報記憶部11、共通代表点設定部12、共通代表点情報記憶部13、近傍テーブル群作成部14、近傍テーブル群15、および最近傍ベクトル群検索部16に対応しており、変換座標上において処理を行う以外これらと同様の処理を行う。従って、その説明は省略する。
Conversion coordinate vector
次に、図26を参照し、主成分分析を用いた座標変換について説明する。図26Aは、ベクトルグループ21−1における特徴ベクトル22(メンバベクトル)の分布の例を示している。図26Aに示されるようにベクトルグループ21−1の特徴ベクトル22がx座標およびy座標で示される平面上に分布しているとする。この特徴ベクトル22は例えば画像情報等の所定の特徴を示すベクトルであるため、この特徴ベクトル22の分布は均一にならず、所定の偏りが生じる可能性が大きい。例えば、特徴点として画像のエッジ部分が抽出されるようにすると場合、各特徴ベクトル22にはエッジ部分の特徴が含まれる。つまり、どの特徴ベクトル22にも同一または近似する特徴が含まれるため、それらの特徴ベクトル22の分布にも偏りが生じる。
Next, coordinate transformation using principal component analysis will be described with reference to FIG. FIG. 26A shows an example of the distribution of feature vectors 22 (member vectors) in the vector group 21-1. As shown in FIG. 26A, it is assumed that the
従って、特徴ベクトル22の分布には、各特徴ベクトル22が最も広範囲に分布する方向(すなわち、分布への寄与率が最も高い方向)が存在する。この寄与率が最も高い方向を主成分と称する。
Therefore, the distribution of the
図25の特徴量比較装置280は、メンバベクトルの分布からこの主成分を分析し、図26Bに示されるように、その主成分を軸とする座標にメンバベクトルの座標を変換する。 The feature quantity comparison device 280 in FIG. 25 analyzes the principal component from the distribution of the member vectors, and converts the coordinates of the member vector into coordinates having the principal component as an axis, as shown in FIG. 26B.
つまり、特徴量比較装置280は、図26Aに示されるようにx座標およびy座標で示される座標系に分布されている特徴ベクトル22の座標を、特徴ベクトル22の主成分であるx’座標およびx’座標に垂直なy’座標で示される座標系に変換する。図26Bは、座標変換後の特徴ベクトル22の分布を示している。
That is, as shown in FIG. 26A, the feature quantity comparison device 280 converts the coordinates of the
この座標変換により、図26Aに示されるように、x座標方向に範囲a、y座標方向に範囲bと、互いにほぼ同程度であった特徴ベクトル22の分布が、図26Bに示されるように、x’座標方向にa’、y’座標方向にb’に変化する(a’≫b’)。つまり、特徴ベクトル22の分布は座標変換によりx’座標方向に偏ることになる。
By this coordinate transformation, as shown in FIG. 26A, the distribution of the
このように主成分分析を行って座標変換することにより、特徴量比較装置280は、例えば、図27に示されるように、メンバベクトルの分布に対して寄与率の低い方向の分布を省略し、次元圧縮することができる。例えば、図27Aのようにx’軸方向にほぼ直列に分布する特徴ベクトル22群がベクトルグループ21−1のメンバベクトルである場合、この特徴ベクトル22を図27Bのように座標変換すると、特徴ベクトル22が主成分であるx’座標方向にのみ分布し、x’座標に垂直なy’座標方向にはほとんど分布していないことがわかる。このような場合、特徴量比較装置280は、分布への寄与率が主成分に対して圧倒的に小さいy’軸方向への分布を省略し、全ての特徴ベクトル22がx’軸上(1次元上)に存在するものとする。つまり、この場合、特徴量比較装置280は、特徴ベクトル22の分布を2次元上から1次元上に次元圧縮している。このように特徴ベクトルの分布を次元圧縮することにより、特徴量比較装置280は、例えばベクトル間の距離演算等において、演算式の次数を削減することができ、演算量を低減させることができる。つまり、特徴量比較装置280は、このような次元圧縮することにより、入力ベクトルの最近傍ベクトルの検索処理の負荷を低減させ、高速に処理することができる。
By performing the principal component analysis and converting the coordinates in this way, the feature amount comparison apparatus 280 omits the distribution in the direction in which the contribution rate is low with respect to the distribution of the member vectors, for example, as illustrated in FIG. Dimensional compression is possible. For example, when a group of
また、次元圧縮以外にも、特徴量比較装置280は、このように主成分分析を行って座標変換することにより、例えば、図28に示されるように、寄与率の偏りを利用して最近傍ベクトルの検索を高速に行うことができる。 In addition to dimensional compression, the feature quantity comparison device 280 performs the principal component analysis in this way and performs coordinate transformation, for example, as shown in FIG. Vector search can be performed at high speed.
最近傍ベクトルの検索においては、上述したように、特徴量比較装置280は、検索範囲内の各メンバベクトルに対して入力ベクトルまでの距離を1つずつ算出していき、最もその距離が短いものを最近棒ベクトルとする。具体的には、特徴量比較装置280は、最初に、最近傍ベクトル候補Vkeepの初期値として入力ベクトルからの距離Dkeepが無限遠の点を保持する。そして、特徴量比較装置280は、検索範囲内の全てのメンバベクトルと入力ベクトルとの距離を1つずつ算出し、その算出された距離が保持している距離Dkeepより短い場合、最近傍ベクトル候補Vkeepとその入力ベクトルからの距離Dkeepを更新する。特徴量比較装置280は、このような処理を繰り返し、最終的に保持されていた候補(全てのメンバベクトルを処理した後に保持されていた候補)Vkeepを最近傍ベクトルに設定する。 In the nearest neighbor vector search, as described above, the feature quantity comparison device 280 calculates the distance to the input vector one by one for each member vector in the search range, and the distance is the shortest. Let be the recent bar vector. Specifically, the feature quantity comparison device 280 first holds a point where the distance Dkeep from the input vector is infinite as an initial value of the nearest neighbor vector candidate Vkeep. Then, the feature quantity comparison device 280 calculates the distance between all the member vectors in the search range and the input vector one by one, and if the calculated distance is shorter than the held distance Dkeep, the nearest neighbor vector candidate Update the distance Dkeep from Vkeep and its input vector. The feature quantity comparison device 280 repeats such processing, and finally sets a candidate (keep held after processing all member vectors) Vkeep as a nearest neighbor vector.
つまり、図28Aに示されるようなベクトルグループ21において、入力ベクトル27に対して特徴ベクトル22Aが最近傍ベクトルの候補Vkeepとして保持されている場合、特徴量比較装置280は、まず特徴ベクトル22Bと入力ベクトル27との距離を算出し、それを特徴ベクトル22Aと入力ベクトル27との距離と比較する。特徴ベクトル22Aの方が入力ベクトル27に近い場合、特徴量比較装置280は、次に、特徴ベクトル22Cと入力ベクトル27との距離を算出し、それを特徴ベクトル22Aと入力ベクトル27との距離と比較する。同様に特徴ベクトル22Aの方が入力ベクトル27に近いとすると、特徴量比較装置280は、次に、特徴ベクトル22Dと入力ベクトル27との距離を算出し、それを特徴ベクトル22Aと入力ベクトル27との距離と比較する。このように特徴量比較装置280は、特徴ベクトルと入力ベクトルとの距離を1つずつ算出し、それを現在の最近傍ベクトルの候補と入力ベクトルとの距離と比較する。そして新たに入力ベクトルから最も近いメンバベクトルが検索されれば、特徴量比較装置280は、そのメンバベクトルを新たな最近傍ベクトルの候補に設定し、その情報を保持する。
That is, in the
このとき算出されるベクトル間の距離は、式(1)で示されるように、2点の各座標成分の差の2乗の総和の平方根で示される。この各座標成分の差の2乗は必ず正の値であるので、2つの距離の差の絶対値(どちらの特徴ベクトルが入力ベクトルに近いか)は、この正の値の総和で決定される。つまり、例えば、ある2点間の距離を算出してその大きさをある基準距離と比較する場合、その2点のある座標成分の差の2乗が基準距離の2乗より大きい場合、その2点間の距離は、必ず基準距離より長くなる。 The distance between the vectors calculated at this time is represented by the square root of the sum of the squares of the differences between the coordinate components of the two points, as represented by Expression (1). Since the square of the difference between the coordinate components is always a positive value, the absolute value of the difference between the two distances (which feature vector is closer to the input vector) is determined by the sum of the positive values. . That is, for example, when calculating the distance between two points and comparing the magnitude with a certain reference distance, if the square of the difference between the coordinate components of the two points is greater than the square of the reference distance, The distance between the points is always longer than the reference distance.
従って、メンバベクトルと入力ベクトルとの距離を算出する際に、寄与率の高い成分の差の2乗(値が比較的大きい項)から順に算出して加算し、その加算の度に、最近傍ベクトルの候補Vkeepの入力ベクトルからの距離Dkeepの2乗と比較することにより、特徴量比較装置280は、加算結果が距離Dkeepの2乗を越えた時点で(寄与率の低い成分の差の2乗(値が比較的小さい項)を加算しなくても)、そのメンバベクトルは最近傍ベクトルの候補とはなりえないので、そのメンバベクトルに対する距離演算を中止し、次のメンバベクトルに対する距離演算に移行することができる。
Therefore, when calculating the distance between the member vector and the input vector, the difference is calculated and added in order from the square of the component having a high contribution rate (a term having a relatively large value), and the nearest neighbor is added each time the addition is performed. By comparing with the square of the distance Dkeep from the input vector of the vector candidate Vkeep, the feature quantity comparison device 280 is configured to add (the
換言すると、特徴量比較装置280は、メンバベクトルと入力ベクトルとの距離を算出する際に、寄与率の高い順に、2点の座標の各成分の差の2乗を加算していくようにすると、その加算結果は図28Bに示される曲線のようになる。つまり、このように特徴ベクトル22の分布に成分ごとに偏りを持たせるようにし、上述したように加算を行うことにより、特徴量比較装置280は、早い次元の段階において保持している最近傍ベクトルの候補の距離(Dkeep)の値を越える可能性を高くすることができ、演算を省略することができる可能性が高くなる。
In other words, when calculating the distance between the member vector and the input vector, the feature amount comparison apparatus 280 adds the squares of the differences between the components of the coordinates of the two points in descending order of the contribution rate. The addition result is like a curve shown in FIG. 28B. In other words, the feature quantity comparison device 280 is provided with a bias for each component in the distribution of the
従って、成分の差の2乗を加算する度にその加算結果と保持している距離(Dkeep)の値とを比較するようにすることにより、特徴量比較装置280は、距離演算の演算量を削減し、効率良く最近傍ベクトルを検索することができるので、入力ベクトルの最近傍ベクトルを高速に検索することができる。 Therefore, each time the square of the component difference is added, by comparing the addition result with the value of the distance (Dkeep) that is held, the feature amount comparison device 280 can calculate the calculation amount of the distance calculation. It is possible to search for the nearest neighbor vector efficiently and to search for the nearest neighbor vector of the input vector at high speed.
次に、図25の特徴量比較装置280の詳細な構成例を説明する。図29は、図25のメンバベクトル座標変換部281の詳細な構成例を示すブロック図である。図29において、メンバベクトル座標変換部281は、ベクトルグループ統一部311、主成分分析部312、座標変換部313、次元圧縮部314、および変換座標ベクトル情報記憶制御部315を有している。
Next, a detailed configuration example of the feature amount comparison apparatus 280 in FIG. 25 will be described. FIG. 29 is a block diagram illustrating a detailed configuration example of the member vector coordinate
ベクトルグループ統一部311は、ベクトル情報記憶部11より取得したベクトル情報に基づいて、ベクトルグループを統一し、1つのベクトルグループを生成し、その情報を主成分分析部312に供給する。
The vector
主成分分析部312は、メンバベクトルの分布の主成分分析を行い、その分析結果を座標変換部313に供給する。座標変換部313は、供給された分析結果に基づいて主成分を座標軸とする座標系に各メンバベクトルを座標変換し、その変換結果を次元圧縮部314に供給する。次元圧縮部314は、必要に応じて変換座標上のメンバベクトルの分布を次元圧縮し、その処理結果を変換座標ベクトル情報記憶制御部315に供給する。変換座標ベクトル情報記憶制御部315は、供給された変換座標上のメンバベクトルのベクトル情報である変換座標ベクトル情報を変換座標ベクトル情報記憶部291に供給し、記憶させる。
The principal
次に、この特徴量比較装置280により実行される特徴量比較処理の流れを図30のフローチャートを参照して説明する。 Next, the flow of the feature amount comparison process executed by the feature amount comparison apparatus 280 will be described with reference to the flowchart of FIG.
特徴量比較処理が開始されると、メンバベクトル座標変換部281は、ステップS171において、ベクトル情報記憶部11より供給されたベクトル情報に基づいて全メンバベクトルの分布の主成分を分析し、その分析結果に基づいて各メンバベクトルを座標変換する。このメンバベクトル座標変換処理の詳細については後述する。
When the feature amount comparison process is started, the member vector coordinate
ステップS172において、変換座標共通代表点設定部292は、変換座標ベクトル情報記憶部291より変換座標ベクトル情報を取得すると、その変換座標上のベクトル情報に基づいて変換座標上の共通代表点(変換座標共通代表点)を設定する。なお、この変換座標共通代表点設定処理は、変換座標上であること以外は、図14のフローチャートを参照して説明した共通代表点設定処理と同様であるのでその詳細な説明を省略する。
In step S172, when the conversion coordinate common representative
ステップS173において、変換座標近傍テーブル群作成部294は、変換座標ベクトル情報記憶部291より取得した変換座標上のベクトル情報、および、変換座標共通代表点情報記憶部293より取得した変換座標上の共通代表点に基づいて変換座標上の近傍テーブル群(変換座標近傍テーブル群)を作成する。なお、この変換座標近傍テーブル群作成処理は、変換座標上であること以外は、図15のフローチャートを参照して説明した近傍テーブル群作成処理と同様であるのでその詳細な説明を省略する。
In step S173, the converted coordinate neighborhood table
入力ベクトル座標変換部282は、ステップS174において、入力ベクトルが入力されたか否かを判定し、入力されたと判定した場合、ステップS175において、メンバベクトル座標変換部281より供給された主成分分析結果に関する情報に基づいて、入力ベクトルの座標を変換し、その変換座標上の入力ベクトル(変換座標入力ベクトル)を変換座標最近傍ベクトル群検索部296に供給する。
In step S174, the input vector coordinate
変換座標最近傍ベクトル検索部296は、ステップS176において、その変換座標上において、供給された変換座標入力ベクトルの最近傍ベクトル群(変換座標最近傍ベクトル群)を検索する。この変換座標最近傍ベクトル検索処理は、変換座標上であること以外は、図18のフローチャートを参照して説明した最近傍ベクトル群検索処理と同様であるのでその詳細な説明を省略する。変換座標最近傍ベクトル群を検索した変換座標最近傍ベクトル検索部296は、それを最近傍ベクトル群座標変換部283に供給し、処理をステップS177に進める。
In step S176, the converted coordinate nearest neighbor
ステップS177において、最近傍ベクトル群座標変換部283は、入力ベクトル座標変換部282より供給された主成分分析結果に関する情報に基づいて、各変換座標最近傍ベクトルの座標を元の座標系に変換する。最近傍ベクトル群座標変換部283は、その変換後の最近傍ベクトル群(元の座標系の最近傍ベクトル群)を特徴量比較結果として特徴量比較装置280の外部に出力し、処理をステップS178に進める。
In step S177, the nearest neighbor vector group coordinate
また、ステップS174において入力ベクトルが入力されていないと判定した場合、入力ベクトル座標変換部282は、処理をステップS178に進める。そして、ステップS178において、最近傍ベクトル群座標変換部283は、特徴量比較処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS174に戻し、それ以降の処理を繰り返す。
If it is determined in step S174 that no input vector is input, the input vector coordinate
なお、ステップS178において、例えばユーザの指示等に基づいて特徴量比較処理を終了すると判定した場合、最近傍ベクトル群座標変換部283は、特徴量比較処理を終了する。
If it is determined in step S178 that the feature amount comparison process is to end based on, for example, a user instruction, the nearest neighbor vector group coordinate
次に、図30のステップS171において実行されるメンバベクトル座標変換処理の流れの詳細について図31のフローチャートを参照して説明する。 Next, details of the flow of the member vector coordinate transformation process executed in step S171 of FIG. 30 will be described with reference to the flowchart of FIG.
メンバベクトル座標変換処理が開始されるとメンバベクトル座標変換部281のベクトルグループ統一部311(図29)は、ステップS191において、ベクトル情報記憶部11より供給されたベクトル情報に基づいて、全ベクトルグループを統一し、各ベクトルグループの全部または一部のメンバベクトルからなる1つのベクトルグループを生成し、その情報を主成分分析部312に供給し、処理をステップS192に進める。
When the member vector coordinate conversion process is started, the vector group unification unit 311 (FIG. 29) of the member vector coordinate
ステップS192において、主成分分析部312は、全メンバベクトルの主成分分析を行い、その分析結果を座標変換部313に供給し、処理をステップS193に進める。ステップS193において、座標変換部313は、その分析結果に基づいて全メンバベクトルの座標を変換し、その変換結果を次元圧縮部314に供給し、処理をステップS194に進める。ステップS194において、次元圧縮部314は、例えばユーザ指示等に基づいて、供給された変換座標メンバベクトルに対して次元圧縮を行うか否かを判定し、行うと判定した場合、ステップS195に処理を進め、変換座標メンバベクトルの分布に対する寄与率の低い次元(座標)から次元圧縮処理を行い、変換座標メンバベクトルの分布を所望の次元数に次元圧縮する。ステップS195の処理が終了すると、次元圧縮部314は、その処理結果を変換座標ベクトル情報記憶制御部315に供給し、処理をステップS196に進める。
In step S192, the principal
また、ステップS194において、次元圧縮を行わないと判定した場合、次元圧縮部314は、ステップS195の処理を省略し、次元圧縮処理を行わずに、変換座標メンバベクトルのベクトル情報をそのまま変換座標ベクトル情報記憶制御部315に供給し、処理をステップS196に進める。
If it is determined in step S194 that the dimension compression is not performed, the
ステップS196において、変換座標ベクトル情報記憶制御部315は、供給された変換座標ベクトル情報を変換座標ベクトル情報記憶部291(図25)に供給し、記憶させる。変換座標ベクトル情報記憶部291は、変換座標ベクトル情報記憶制御部315より供給された変換座標ベクトル情報を記憶する。
In step S196, the conversion coordinate vector information
ステップS196の処理を終了すると変換座標ベクトル情報記憶制御部315は、メンバベクトル座標変換処理を終了し、処理を図30のステップS171に戻し、それ以降の処理を実行させる。
When the process of step S196 ends, the converted coordinate vector information
以上のように、メンバベクトルの分布の主成分を分析し、その分析結果に基づいて各ベクトルの座標変換を行い、特徴量の比較をその変換座標上において行うことにより、特徴量比較装置280は、より高速に、各集合から入力ベクトルの近傍ベクトルを検索することができる。つまり、特徴量比較装置280は、検索対象の集合が複数存在する場合であっても、各集合から目的の要素をより高速に検索することができる。 As described above, by analyzing the principal components of the distribution of member vectors, performing coordinate conversion of each vector based on the analysis result, and comparing feature quantities on the converted coordinates, the feature quantity comparison device 280 The neighborhood vector of the input vector can be searched from each set at higher speed. That is, the feature quantity comparison apparatus 280 can search for a target element from each set at a higher speed even when there are a plurality of sets to be searched.
なお、以上においては、1種類の特徴ベクトルの比較処理について説明したが、比較する特徴ベクトルの種類(ベクトルを構成する座標成分の種類)はいくつであってもよく、複数であっても良い。つまり、互いに異なる空間に存在する複数の特徴ベクトルをそれぞれ同じモデルと比較するようにしてもよい。また、比較する特徴ベクトルの種類が複数の場合、各特徴ベクトルの次元数が互いに異なっていてもよい。 In the above, the comparison processing of one type of feature vector has been described. However, the number of types of feature vectors to be compared (the types of coordinate components constituting the vectors) may be any number, and may be plural. That is, a plurality of feature vectors existing in different spaces may be compared with the same model. When there are a plurality of types of feature vectors to be compared, the number of dimensions of each feature vector may be different from each other.
ただし、その場合、単に上述したような比較処理を特徴ベクトル毎に行うようにしても良いが、1種類目の特徴ベクトルの比較処理結果を次に比較する特徴ベクトルの比較処理に利用するようにし、特徴量比較装置が検索処理をより高速に行うことができるようにしてもよい。 However, in this case, the comparison processing as described above may be performed for each feature vector. However, the comparison processing result of the first type of feature vector is used for the comparison processing of the feature vector to be compared next. The feature amount comparison apparatus may be configured to perform the search process at a higher speed.
図32は、複数種類の特徴ベクトルを比較する場合の処理の流れの例を説明する模式図である。 FIG. 32 is a schematic diagram illustrating an example of a flow of processing when comparing a plurality of types of feature vectors.
図32においては、1つのモデル辞書331(最上段)に記憶されているモデル毎に特徴量(モデル特徴量332)が抽出され(上から2段目)、そのモデル特徴量332の種類毎にベクトルマップが構築される(上から3段目)。図32においては、特徴量1の36次元ベクトルマップ構築333−1(上から3段目左側)と特徴量2の18次元ベクトルマップ構築333−2(上から3段目右側)が行われる。そして、入力ベクトル334(最下段左側)が入力されると、その入力ベクトル334の特徴量1の類似ペア群の検索335が特徴量1の36次元ベクトルマップに対して行われ(上から4段目左側)る。
In FIG. 32, a feature quantity (model feature quantity 332) is extracted for each model stored in one model dictionary 331 (uppermost stage) (second stage from the top), and for each type of model feature quantity 332 A vector map is constructed (third level from the top). In FIG. 32, a 36-dimensional vector map construction 333-1 (left side in the third stage from the top) of the
特徴量1の36次元ベクトルマップは、例えば、上述したような共通代表点と近傍テーブルを用いて構築されたものであり、その場合、特徴量1の類似ペア群の検索335は、例えば図1乃至図21を参照して上述した最近傍ベクトル検索処理と同様の方法で行われる。つまり、この特徴量1の類似ペア群の検索335においては最近傍ベクトル候補の初期値として無限遠の点が設定され、検索範囲内の全てのメンバベクトルと入力ベクトルとの距離が1つずつ算出され、入力ベクトルから最も近いメンバベクトルが検索される度に最近傍ベクトルの候補がそのメンバベクトルに更新される。このような検索処理を繰り返し、ベクトルグループ内の最近傍ベクトルが求められる。
The 36-dimensional vector map of the
そして、このような特徴量1の類似ペア群の検索335の検索結果として得られた特徴量1の類似ペア群が初期値336として利用され(上から4段目中央)、特徴量2の類似ペア群の検索337が行われる(上から4段目右側)。このような手順で検索処理が行われることにより、特徴量2の類似ペア群の検索337の検索結果が特徴量1および特徴量2の両方における入力ベクトルの近傍ベクトル338(2種類の特徴量において入力ベクトルと近似するベクトル)となる。
Then, the similar pair group of
特徴量1の類似ペア群の検索335のように無限遠の点から検索を行う場合、全てのメンバベクトルが最近傍ベクトルの候補となり得ることになる。従って、このような検索の場合、特徴量比較装置による最近傍ベクトル検索における演算量が比較的多くなってしまう。これに対して、特徴量2の類似ペア群の検索337のように、所定の点から検索を行う場合、特徴量比較装置は、明らかに最近傍ベクトルとはならない遠点(所定の点より遠い点)についての演算を省略することができる。
When a search is performed from a point at infinity as in the
図32においては、特徴量比較装置は、特徴量1と特徴量2の両方において入力ベクトルの近傍ベクトルとなるメンバベクトルを検索するので、特徴量1の類似ペア群の検索335において近傍ベクトルとならないメンバベクトルを特徴量2の類似ペア群の検索337において検索対象とする必要がない。従って、上述したように、特徴量1の類似ペア群の検索335における検索結果を特徴量2の類似ペア群の検索337の初期値とすることにより、特徴量比較装置は、特徴量2の類似ペア群の検索337における演算量を削減することができる。
In FIG. 32, since the feature quantity comparison device searches for a member vector that is a neighborhood vector of the input vector in both
さらに、このように特徴量を比較することにより、特徴量比較装置は、特徴量1の類似ペア検索と特徴量2の類似ペア検索を互いに独立して行い、それらの検索結果を改めて比較し、両方を満たすペアを抽出するという複雑な処理を必要とせずに、特徴量1の類似ペア群の検索335および特徴量2の類似ペア群の検索337を行うのみで特徴量1および特徴量2の両方における入力ベクトルの近傍ベクトル338を検索することができ、全体の演算量も削減することができる。
Further, by comparing the feature quantities in this way, the feature quantity comparison device performs a similar pair search of the
すなわち、このような検索を行うことにより特徴量比較装置は、例えば、特徴ベクトルを利用した画像認識等において、複数の評価基準で最近傍となる、入力ベクトルに対する最近傍ベクトルを検出する際、複数の評価基準での近傍探索を順列に行い、前段の近傍計算による最近傍ベクトルより近い近傍ベクトルが検出された時点で、複数の評価基準で最近傍となる最近傍ベクトルが存在しないことが確定するので、近傍探索を中断することにより、複数の条件を満たす入力ベクトルの近傍ベクトル(複数の評価基準で最近傍探索)を高速に検索することができる。つまり、この特徴量比較装置は、複数の条件を満たす目的の要素を集合の中から高速に検索することができる。 That is, by performing such a search, the feature amount comparison apparatus, for example, in image recognition using a feature vector, when detecting a nearest neighbor vector with respect to an input vector that is nearest to a plurality of evaluation criteria, The neighborhood search with the evaluation criteria is permuted, and when a neighborhood vector closer to the nearest neighborhood vector is detected by the neighborhood calculation in the previous stage, it is determined that there is no nearest neighborhood vector that is the nearest neighborhood based on multiple assessment criteria. Therefore, by interrupting the neighborhood search, it is possible to quickly search for a neighborhood vector (nearest neighbor search based on a plurality of evaluation criteria) of an input vector that satisfies a plurality of conditions. That is, this feature quantity comparison apparatus can search a target element satisfying a plurality of conditions from a set at high speed.
以下において、このような特徴量比較方法を適用した装置の例について説明する。 Hereinafter, an example of an apparatus to which such a feature amount comparison method is applied will be described.
図33は、本発明を適用した画像処理装置の他の構成例を説明する図である。 FIG. 33 is a diagram illustrating another configuration example of the image processing apparatus to which the present invention has been applied.
図33において、画像処理装置350は、学習部351および認識部352を有している。学習部351は、特徴量の比較対象となるモデル画像の特徴を予め準備する処理部であり、複数種類特徴点抽出部361、複数種類特徴量抽出部362、およびモデル辞書登録部363を有している。
In FIG. 33, the image processing device 350 includes a learning unit 351 and a recognition unit 352. The learning unit 351 is a processing unit that prepares the features of a model image to be compared for feature amounts in advance, and includes a plurality of types of feature
複数種類特徴点抽出部361は、入力されたモデル画像から複数種類の特徴点を抽出し、それらとモデル画像を複数種類特徴量抽出部362に供給する。なお、複数種類特徴点抽出部361は、モデル画像から抽出する特徴点の種類が複数であること以外(例えば、各特徴点の抽出方法等について)は図23の特徴点抽出部241と同様であるのでその詳細の説明は省略する。
The multiple-type feature
複数種類特徴量抽出部362は、複数種類特徴点抽出部361において抽出された各特徴点の特徴量をモデル画像より抽出し、モデル特徴量としてモデル辞書登録部363に供給する。なお、複数種類特徴量抽出部362は、モデル画像から特徴量を抽出する特徴点の種類が複数であること以外(例えば、各特徴点の特徴量の抽出方法等について)は図23の特徴量抽出部242と同様であるのでその詳細の説明は省略する。
The multi-type feature quantity extraction unit 362 extracts the feature quantity of each feature point extracted by the multi-type feature
モデル辞書登録部363は、複数種類特徴量抽出部362より供給されたモデル特徴量群332をモデル辞書に登録して保持する。また、モデル辞書登録部363は、必要に応じてそのモデル特徴量群332を認識部352の複数種類特徴量比較部366に供給する。なお、モデル辞書登録部363は、保持するモデル特徴量の種類が複数であること以外(例えば、各モデル特徴量の保持方法等について)は図23のモデル辞書登録部243と同様であるのでその詳細の説明は省略する。
The model
認識部352は、入力された入力画像の特徴ベクトルを、以上のような学習部351においてモデル辞書に登録されたモデル画像の特徴ベクトルと比較することにより、入力画像を認識する処理部であり、特徴点抽出部364、特徴量抽出部365、複数種類特徴量比較部366、およびモデル検出判定部367を有している。
The recognition unit 352 is a processing unit that recognizes an input image by comparing the feature vector of the input image with the feature vector of the model image registered in the model dictionary in the learning unit 351 as described above. A feature
特徴点抽出部364は、入力された入力画像より所定の特徴点を抽出し、その特徴点および入力画像を特徴量抽出部365に供給する。特徴点抽出部364は、図23の特徴点抽出部244と基本的に同様の構成であり同様の処理を行うのでその詳細な説明を省略する。
The feature
特徴量抽出部365は、特徴点抽出部364において抽出された特徴点の特徴量を抽出し、その特徴量に関する情報を複数種類特徴量比較部366に供給する。特徴量抽出部365は、図23の特徴量抽出部245と基本的に同様の構成であり同様の処理を行うのでその詳細な説明を省略する。
The feature
複数種類特徴量比較部366は、特徴量抽出部365より供給された入力画像の特徴量に基づいて入力画像の特徴ベクトル(入力ベクトル)をモデル辞書登録部363が保持しているモデル特徴量群332と比較し、複数種類の特徴点の全てについて入力ベクトルの近傍ベクトルとなるメンバベクトルを検索することにより、入力画像の特徴とモデル画像の特徴とを比較し、その比較結果をモデル検出判定部367に供給する。複数種類特徴量比較部366の詳細については後述する。
The multi-type feature
モデル検出判定部367は、複数種類特徴量比較部366における比較結果に基づいて、入力画像よりモデル画像の特徴を検出したか否かを判定する。モデル検出判定部367は、図23のモデル検出判定部247と基本的に同様の構成であり同様の処理を行うのでその詳細な説明を省略する。
The model
図34は、図33の複数種類特徴量比較部366の詳細な構成例を示すブロック図である。
FIG. 34 is a block diagram illustrating a detailed configuration example of the plural types of feature
図33において、複数種類特徴量比較部366は、特徴量情報取得部381、ベクトル情報記憶部391、共通代表点設定部392、共通代表点情報記憶部393、近傍テーブル群作成部394、近傍テーブル群記憶部395、および近傍ベクトル群検索部396を有している。
33, a plurality of types of feature
特徴量情報取得部381は、比較対象となる特徴点の種類を特定する特徴量情報を外部(例えばユーザ入力等)より取得し、それを必要に応じて共通代表点設定部392、近傍テーブル群作成部394、および近傍ベクトル群検索部396に供給する。
The feature amount information acquisition unit 381 acquires feature amount information for specifying the type of feature point to be compared from the outside (for example, user input), and uses it as necessary, a common representative
ベクトル情報記憶部391、共通代表点設定部392、共通代表点情報記憶部393、近傍テーブル群作成部394、および近傍テーブル群記憶部395は、複数種類の特徴ベクトルのそれぞれに対して処理を行うこと以外は、それぞれ、図1のベクトル情報記憶部11、共通代表点設定部12、共通代表点情報記憶部13、近傍テーブル群作成部14、および近傍テーブル群記憶部15に対応し、同様の処理を行う。従って、これらの詳細についての説明は省略する。
The vector
近傍ベクトル群検索部396は、ベクトル情報記憶部391より取得したベクトル情報、共通代表点情報記憶部393より取得した共通代表点情報、および近傍テーブル群記憶部395より取得した近傍テーブル群に基づいて、入力された入力ベクトル群に対する近傍ベクトル群を検索する。そして、近傍ベクトル群検索部396は、その検索結果である近傍ベクトル群をモデル検出判定部367(図33)に供給する。
The neighborhood vector
図35は、図36の近傍ベクトル群検索部396の詳細な構成例を示すブロック図である。図36において、近傍ベクトル群検索部396は、初期化処理部411、近傍ベクトル群検索制御部412、近傍ベクトル検索部413、特徴別近傍ベクトル候補設定部414、変化フラグ確認部415、および近傍ベクトル設定部416を有している。
FIG. 35 is a block diagram illustrating a detailed configuration example of the neighborhood vector
初期化処理部411は、近傍ベクトル群の検索に必要な変数を初期値に設定する等の初期化処理を行う。例えば、初期化処理部411は、1つの入力ベクトルに対応する近傍ベクトルである特徴別近傍ベクトルの候補である特徴別近傍ベクトル候補を初期化したり、変数j(0≦j≦M−1)を初期値(例えば、「0」)に設定したり、特徴別近傍ベクトル候補の変化フラグを初期化したりする。変化フラグについては後述する。
The
近傍ベクトル群検索制御部412は、検索対象として設定された特徴の全種類について条件を満たす近傍ベクトル群の検索に関する制御処理を行う。近傍ベクトル検索部413は、入力された各入力ベクトルについて特徴別近傍ベクトルの検索を行う。このとき、近傍ベクトル検索部413は、図1乃至図21を参照して説明したように、入力ベクトルとモデルのメンバベクトルとの距離を1つずつ算出し、特徴別近傍ベクトルの候補より短い距離のメンバベクトルが検索された場合、特徴別近傍ベクトルの候補の情報を更新し、そのメンバベクトルを新たな特徴別近傍ベクトルの候補とする。近傍ベクトル検索部413は、以上のような処理を繰り返し、最終的に保持されている特徴別近傍ベクトルの候補を特徴別近傍ベクトル(検索結果)とする。
The neighborhood vector group
特徴別近傍ベクトル候補設定部414は、近傍ベクトル検索部413による前回の検索結果(特徴別近傍ベクトル)を、次の検索における特徴別近傍ベクトル候補の初期値に設定する。特徴別近傍ベクトル検索部414は、その特徴別近傍ベクトル候補を用いて新たな入力ベクトルに対する特徴別近傍ベクトル検索を行う。
The feature-specific neighborhood vector candidate setting unit 414 sets the previous search result (feature-specific neighborhood vector) by the neighborhood
また、近傍ベクトル検索部413は、特徴別近傍ベクトルの検索においてその候補が更新された場合、その更新を示す変化フラグを立てる。近傍ベクトル候補設定部414は、この変化フラグの情報を変化フラグ確認部415に供給する。
Further, when the candidate is updated in the search for the feature-specific neighborhood vector, the neighborhood
変化フラグ確認部415は、供給された各変化フラグの状態を確認し、その確認結果を近傍ベクトル群検索制御部412に供給する。変化フラグは、近傍ベクトル候補が変化したことを示すフラグであり、候補毎に設けられている。つまり、変化フラグが立っている候補は、少なくとも1度は更新された候補であることを示す。
The change flag confirmation unit 415 confirms the state of each supplied change flag and supplies the confirmation result to the neighborhood vector group
近傍ベクトル群検索制御部412は、この確認結果に基づいて、近傍ベクトル群の検索処理を制御する。例えば、不変の特徴別近傍ベクトル候補が存在しなくなった時点で、近傍ベクトル群検索制御部412は近傍ベクトル群の検索処理を終了し、各部を制御して、次のベクトルグループについての検索処理に移行させる。また、例えば、近傍ベクトル検索部413が全ての入力ベクトルについて特徴別近傍ベクトルの検索を終了させたときに、変化フラグが立っていない不変の特徴別近傍ベクトル候補が存在する場合、その特徴別近傍ベクトル(候補)を近傍ベクトル設定部416に供給する。
The neighborhood vector group
近傍ベクトル設定部416は、近傍ベクトル群検索制御部412に制御されて、不変であった特徴別近傍ベクトル(候補)を近傍ベクトル(群)として設定する。
The neighborhood
次にこのような画像処理装置350(図33)の複数種類特徴量比較部366(図34)により実行される複数種類特徴量比較処理の流れを図36のフローチャートを参照して説明する。 Next, the flow of the multiple-type feature quantity comparison process executed by the multiple-type feature quantity comparison unit 366 (FIG. 34) of the image processing apparatus 350 (FIG. 33) will be described with reference to the flowchart of FIG.
複数種類特徴量比較処理が開始されると、複数種類特徴量比較部366の特徴量情報取得部381は、ステップS211において、モデル辞書登録部363やユーザ入力等より比較する特徴量(特徴ベクトル)に関する情報を取得する。特徴量情報取得部381は、取得したその情報を共通代表点設定部392および近傍テーブル群作成部394に供給し、処理をステップS212に進める。
When the multi-type feature quantity comparison process is started, the feature quantity information acquisition unit 381 of the multi-type feature
ステップS212において共通代表点設定部392は、ベクトル情報記憶部391より取得したベクトル情報(モデル辞書登録部363より供給されベクトル情報記憶部391に記憶されていたベクトル情報)に基づいて、特徴量の種類毎に(特徴ベクトルの種類毎に)共通代表点を設定する。共通代表点設定部392は、その共通代表点を設定すると、それを共通代表点情報記憶部393に供給し、記憶させ、処理をステップS213に進める。
In step S212, the common representative
ステップS213において、近傍テーブル群作成部394は、ベクトル情報記憶部391より取得したベクトル情報(モデル辞書登録部363より供給されベクトル情報記憶部391に記憶されていたベクトル情報)、および共通代表点情報記憶部393より取得した共通代表点情報(ステップS212の処理により設定された共通代表点)に基づいて、特徴量の種類毎に(特徴ベクトルの種類毎に)近傍テーブルを作成する。近傍テーブル群作成部394は、その近傍テーブルを作成すると、それを近傍テーブル群記憶部395に供給し、記憶させ、処理をステップS214に進める。
In step S213, the neighborhood table
ステップS214において、近傍ベクトル群検索部396は、ベクトル情報記憶部391より取得したベクトル情報(モデル辞書登録部363より供給されベクトル情報記憶部391に記憶されていたベクトル情報)、共通代表点情報記憶部393より取得した共通代表点情報(ステップS212の処理により設定された共通代表点)、および近傍テーブル群記憶部395より取得した近傍テーブル群に基づいて、入力された入力ベクトル群に対応する近傍ベクトル群を検索する。この近傍ベクトル群検索処理の詳細については後述する。近傍ベクトル群検索部396は、近傍ベクトル群を検索すると、その近傍ベクトル群を検索結果として、モデル検出判定部367(図33)に供給し、複数種類特徴量比較処理を終了する。
In step S214, the neighborhood vector
次に、図36のステップS214において実行される近傍ベクトル群検索処理の流れについて図37のフローチャートを参照して説明する。 Next, the flow of the neighborhood vector group search process executed in step S214 of FIG. 36 will be described with reference to the flowchart of FIG.
近傍ベクトル群検索処理が開始されると、近傍ベクトル群検索部396の初期化処理部411は、ステップS241において初期化処理を行い、特徴別近傍ベクトル候補を初期値として無限遠の点に設定したり、変化フラグの設定を初期化したり、処理対象のベクトルグループを示す変数jの値を初期値(例えば「0」)に設定したりする。初期化処理が終了すると初期化処理部411は、その処理結果を近傍ベクトル群検索制御部412に供給し、処理をステップS242に進める。
When the neighborhood vector group search process is started, the
ステップS242において、近傍ベクトル群検索制御部412は、全てのベクトルグループについて入力ベクトル群の近傍ベクトル群を検索したか否かを判定し、未検索のベクトルグループが存在すると判定した場合、その判定結果を近傍ベクトル検索部413に供給し、処理をステップS243に進める。
In step S242, the neighborhood vector group
ステップS243において、近傍ベクトル検索部413は、1つ目の入力ベクトルについて、特徴別近傍ベクトルを検索する。この特徴別近傍ベクトルの検索方法は、どのような方法であってもよく、例えば、図19のフローチャートを参照して説明した最近傍ベクトル検索処理のような方法であっても良い。また、検索されるベクトルの数は1つでも良いし、複数であってももちろんよい。特徴別近傍のベクトルを検索すると、近傍ベクトル検索部413は、その検索結果を近傍ベクトル候補設定部414に供給し、処理をステップS244に進める。
In step S243, the neighborhood
近傍ベクトル候補設定部414は、ステップS244において、検索されたベクトルを次の検索における特徴別近傍ベクトル候補の初期値として設定し、その情報を近傍ベクトル検索部413に供給し、処理をステップS245に進める。
In step S244, the neighborhood vector candidate setting unit 414 sets the searched vector as an initial value of the feature-specific neighborhood vector candidate in the next search, supplies the information to the neighborhood
ステップS245において、近傍ベクトル検索部413は、次の入力ベクトルについて特徴別近傍ベクトルを検索する。この検索において、近傍ベクトル検索部413は、特徴別近傍ベクトル候補より近いベクトルが検索された場合、特徴別近傍ベクトル候補を更新し、その検索されたベクトルを特徴別近傍ベクトル候補とし、その特徴別近傍ベクトル候補に対応する変化フラグを立てる。検索が終了すると、近傍ベクトル検索部413は、最終的な特徴別近傍ベクトル候補を特徴別近傍ベクトルとして特徴別近傍ベクトル候補設定部414に供給する。また、近傍ベクトル検索部413は、変化フラグの情報も特徴別近傍ベクトル候補設定部414に供給する。
In step S245, the neighborhood
ステップS246において、特徴別近傍ベクトル候補設定部414は、ステップS244の場合と同様に、今回検索されたベクトルをさらに次の検索における特徴別近傍ベクトル候補の初期値として設定する。このとき変化フラグの値はそのままにする。特徴別近傍ベクトル候補設定部414は、さらに、その情報を近傍ベクトル検索部413に供給するとともに、各特徴別近傍ベクトル候補の変化フラグの情報を変化フラグ確認部415に供給し、処理をステップS247に進める。
In step S246, similar to the case of step S244, the feature-specific neighborhood vector candidate setting unit 414 further sets the currently searched vector as the initial value of the feature-specific neighborhood vector candidate in the next search. At this time, the value of the change flag is left as it is. The feature-specific neighborhood vector candidate setting unit 414 further supplies the information to the neighborhood
ステップS247において、変化フラグ確認部415は、供給された特徴別近傍ベクトル候補の変化フラグの状態を確認し、その確認結果を近傍ベクトル群検索制御部412に供給し、ステップS248に処理を進める。
In step S247, the change flag confirmation unit 415 confirms the state of the change flag of the supplied feature-specific neighborhood vector candidate, supplies the confirmation result to the neighborhood vector group
近傍ベクトル群検索制御部412は、ステップS248において、確認結果に基づいて、不変の特徴別近傍ベクトル候補が存在するか否かを判定する。不変の特徴別近傍ベクトル候補が存在すると判定した場合、近傍ベクトル群検索制御部412は、処理をステップS249に進め、入力された入力ベクトル群の全ての入力ベクトルについて特徴別近傍ベクトルを検索したか否かを判定する。
In step S248, the neighborhood vector group
入力された入力ベクトル群に未処理の入力ベクトルが存在すると判定した場合、近傍ベクトル群検索制御部412は、その判定結果を近傍ベクトル検索部413に供給するとともに、処理をステップS245に戻し、次の入力ベクトルに対する処理を実行させる。つまり、近傍ベクトル群検索制御部412、近傍ベクトル検索部413、特徴別近傍ベクトル候補設定部414、および変化フラグ確認部415は、近傍ベクトル群検索制御部412が、ステップS248において不変の特徴別近傍ベクトル候補が存在しないと判定するか、ステップS249において入力された入力ベクトル群の全ての入力ベクトルについて特徴別近傍ベクトルを検索したと判定するまで、ステップS245乃至ステップS249の処理を繰り返す。
When it is determined that there is an unprocessed input vector in the input vector group that has been input, the neighborhood vector group
そして、ステップS249において、入力された入力ベクトル群の全ての入力ベクトルについて特徴別近傍ベクトルを検索したと判定した場合、近傍ベクトル群検索制御部412は、特徴ベクトル近傍ベクトルを近傍ベクトル設定部416に供給し、処理をステップS250に供給する。
If it is determined in step S249 that the feature-based neighborhood vectors have been searched for all the input vectors of the input vector group, the neighborhood vector group
ステップS250において、近傍ベクトル設定部416は、供給された特徴ベクトル近傍ベクトルの内、不変の特徴別近傍ベクトルを入力ベクトル群の近傍ベクトル群に設定する。設定が終了すると、近傍ベクトル設定部416は、その近傍ベクトル群をモデル検出判定部367(図33)に供給し、処理の終了を近傍ベクトル群検索制御部412に通知し、処理をステップS251に進める。
In step S250, the neighborhood
また、ステップS248において、全ての特徴別近傍ベクトル候補の変化フラグが立っており、不変の特徴別近傍ベクトル候補が存在しないと判定した場合、近傍ベクトル群検索制御部412は、そのベクトルグループには全ての入力ベクトルに対して近傍に位置するベクトルが存在しないと判定し(そのベクトルグループにおいて所望の近傍ベクトル群が得られないと判定し)、そのベクトルグループにおける近傍ベクトル群の検索を終了し、処理をステップS251に進める。
If it is determined in step S248 that all the feature-specific neighborhood vector candidate change flags are set and there is no invariant feature-specific neighborhood vector candidate, the neighborhood vector group
ステップS251において、近傍ベクトル群検索制御部412は、変数jの値に「+1」を加算し、処理対象ベクトルグループを変更する。また、近傍ベクトル群検索制御部412は、ステップS252において、特徴別近傍ベクトル候補を初期化し、無限遠の仮想点に設定し、処理をステップS242に戻し、それ以降の処理を繰り返す。
In step S251, the neighborhood vector group
つまり、近傍ベクトル群検索制御部412、近傍ベクトル検索部413、特徴別近傍ベクトル候補設定部414、および変化フラグ確認部415は、近傍ベクトル群検索制御部412がステップS242において全てのベクトルグループにおいて近傍ベクトル群を検索したと判定するまで、ステップS242乃至ステップS252の処理を繰り返す。
That is, the neighborhood vector group
そして、ステップS242において全てのベクトルグループにおいて近傍ベクトル群を検索したと判定した場合、近傍ベクトル群検索制御部412は、近傍ベクトル群検索処理を終了し、処理を図36のステップS214に処理を戻し、さらに複数種類特徴量比較処理を終了させる。
If it is determined in step S242 that the neighborhood vector group has been searched in all the vector groups, the neighborhood vector group
以上のように、複数種類の特徴ベクトルの検索において、1つの特徴ベクトルの検索結果を他の特徴ベクトルの検索に利用することにより、近傍ベクトル検索部396は、不要な演算量を削減することができ、より高速に入力ベクトル群の近傍ベクトル群を検索することができる。つまり、近傍ベクトル検索部396は、検索対象のベクトル集合が複数存在し、さらに、複数種類の入力ベクトルからなる入力ベクトル群を検索対象のベクトル集合と比較する場合であっても、各ベクトル集合から入力ベクトル群の近傍ベクトル群を高速に検索することができる。
As described above, in the search for a plurality of types of feature vectors, the neighborhood
従って、画像処理装置350は、検索対象のベクトル集合が複数存在し、さらに、複数種類の入力ベクトルからなる入力ベクトル群を検索対象のベクトル集合と比較する場合であっても、各ベクトル集合から入力ベクトル群の近傍ベクトル群を高速に検索することができる。つまり、画像処理装置350は、検索対象の集合が複数存在し、さらに、複数種類の要素を検索する場合であっても、各集合から目的の要素群を高速に検索することができる。 Therefore, the image processing apparatus 350 has a plurality of vector sets to be searched, and even if an input vector group consisting of a plurality of types of input vectors is compared with the vector set to be searched, input from each vector set is performed. The neighborhood vector group of the vector group can be searched at high speed. In other words, the image processing apparatus 350 can search a target element group from each set at high speed even when there are a plurality of sets to be searched, and even when a plurality of types of elements are searched.
なお、以上においては、検索対象のベクトルグループ(モデル)が複数存在する場合について説明したが、図32乃至図37を参照して説明した、検索対象と比較する特徴の種類が複数の場合の検索方法は、検索対象のベクトルグループ(モデル)が1つの場合であっても適用することができる。つまり、この1つの特徴ベクトルの検索結果を他の特徴ベクトルの検索に利用する検索方法は、比較する特徴の種類(入力ベクトルの種類)が複数であればよく、モデルとなるベクトルグループの数には依存しない。 In the above description, the case where there are a plurality of search target vector groups (models) has been described. However, the search performed when there are a plurality of types of features to be compared with the search target described with reference to FIGS. 32 to 37. The method can be applied even when there is one vector group (model) to be searched. That is, the search method using the search result of one feature vector for searching for another feature vector only needs to have a plurality of types of features to be compared (types of input vectors). Is not dependent.
従って、画像処理装置350は、検索対象と複数種類の特徴を比較する場合、互いに種類が異なる入力ベクトルからなる入力ベクトル群の近傍ベクトル群を高速に検索することができる。つまり、画像処理装置350は、検索対象と複数種類の特徴を比較する場合であっても、目的の要素群を検索対象の集合から高速に求めることができる。 Therefore, the image processing device 350 can quickly search for a neighborhood vector group of input vector groups composed of input vectors of different types when comparing a search target with a plurality of types of features. That is, the image processing apparatus 350 can obtain the target element group from the search target set at high speed even when comparing the search target with a plurality of types of features.
なお、以上において説明した各装置は、例えば上述した処理部単位で分割された複数の装置により構成されるようにしてもよい。もちろん、分割単位はどのような単位であってもよく処理部単位以外の単位であってもよい。また、複数の装置として説明したものを1つの装置として構成するようにしてもよい。また、上述していない機能を上述した装置にさらに組み合わせるようにしてもよい。また、矛盾や不具合等が生じない限り、上述した機能(処理部)の一部を省略するようにしてもよい。さらに、ある処理部において実行するように説明した処理を他の処理部において実行するようにしてもよい。 Note that each device described above may be configured by a plurality of devices divided in units of the above-described processing units, for example. Of course, the division unit may be any unit and may be a unit other than the processing unit. Moreover, you may make it comprise what was demonstrated as a some apparatus as one apparatus. Moreover, you may make it further combine the function which is not mentioned above with the apparatus mentioned above. In addition, as long as no contradiction or malfunction occurs, a part of the above-described function (processing unit) may be omitted. Furthermore, the processing described to be executed in a certain processing unit may be executed in another processing unit.
また、本発明を適用した検索処理方法は、画像認識処理以外にも適用可能であり、例えば、音声データやテキストデータ等の画像データ以外のデータに対する情報処理に利用することもできる。 The search processing method to which the present invention is applied can be applied to other than image recognition processing, and can be used for information processing on data other than image data such as voice data and text data.
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図1の特徴量比較装置10、図22の特徴量比較システム200の各装置、図23の画像処理装置230、図24の画像処理装置250、図25の特徴量比較装置280、および図33の画像処理装置350は、図38に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
The series of processes described above can be executed by hardware or can be executed by software. In this case, for example, the feature
図38において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
In FIG. 38, a CPU (Central Processing Unit) 501 of the personal computer 500 performs various processes according to a program stored in a ROM (Read Only Memory) 502 or a program loaded from a
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
The
入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
The input /
入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
A
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 When the above-described series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
この記録媒体は、例えば、図38に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
For example, as shown in FIG. 38, the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk (
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus composed of a plurality of devices (apparatuses).
10 特徴量装置, 11 ベクトル情報記憶部, 12 共通代表点設定部, 13 共通代表点情報記憶部, 14 近傍テーブル群作成部, 15 近傍テーブル群記憶部, 16 最近傍ベクトル群検索部, 41 共通代表点目標数設定部, 42 ベクトルグループ統一部, 43 重心算出部, 44 共通代表点設定部, 45 共通代表点数判定部, 46 共通代表点分割部, 47 メンバベクトル割り当て部, 48 共通代表点記憶制御部, 61 初期化処理部, 62 近傍テーブル群作成制御部, 63 近傍テーブル作成部, 64 近傍テーブル記憶制御部, 81 近傍テーブル作成制御部, 82 距離情報作成部, 83 距離情報ソート部, 84 距離情報抽出部, 85 レコード保持部, 101 距離情報作成制御部, 102 距離算出部, 103 1/2乗算部, 104 距離情報保持部, 121 初期化処理部, 122 最近傍ベクトル群検索制御部, 123 最近傍ベクトル検索部, 141 初期化処理部, 142 最近傍ベクトル検索制御部, 143 距離算出部, 144 距離比較部, 145 テーブル内検索部, 146 最近傍ベクトル設定部, 147 グループ内全体検索部, 161 初期化処理部, 162 テーブル内検索制御部, 163 距離算出部, 164 更新制御部, 165 データ保持部, 181 初期化処理部, 182 グループ内全体検索制御部, 183 距離算出部, 184 更新制御部, 185 データ保持部, 200 特徴量比較システム, 230 画像処理装置, 246 特徴量比較部, 250 画像処理装置, 263 モデル辞書登録部, 280 特徴量比較装置, 281 メンバベクトル座標変換部, 282 入力ベクトル座標変換部, 283 最近傍ベクトル座標変換部, 311 ベクトルグループ統一部, 312 主成分分析部, 313 座標変換部, 314 次元圧縮部, 315 変換座標ベクトル情報記憶制御部, 350 画像処理装置, 366 複数種類特徴量比較部, 381 特徴量情報取得部, 411 初期化処理部, 412 近傍ベクトル群検索制御部, 413 近傍ベクトル検索部, 414 特徴別近傍ベクトル候補設定部, 415 変化フラグ確認部, 416 近傍ベクトル設定部, 500 パーソナルコンピュータ DESCRIPTION OF SYMBOLS 10 Feature-value apparatus, 11 Vector information storage part, 12 Common representative point setting part, 13 Common representative point information storage part, 14 Neighbor table group creation part, 15 Neighbor table group memory part, 16 Nearest vector group search part, 41 Common Representative point target number setting unit, 42 vector group unifying unit, 43 centroid calculating unit, 44 common representative point setting unit, 45 common representative point number determining unit, 46 common representative point dividing unit, 47 member vector assigning unit, 48 common representative point storage Control unit, 61 initialization processing unit, 62 neighborhood table group creation control unit, 63 neighborhood table creation unit, 64 neighborhood table storage control unit, 81 neighborhood table creation control unit, 82 distance information creation unit, 83 distance information sort unit, 84 Distance information extraction unit, 85 record holding unit, 101 distance information creation control unit, 102 distance calculation unit, 103 1/2 multiplication unit, 104 distance information holding unit, 121 initialization processing unit, 122 nearest neighbor vector group search control unit, 123 nearest neighbor vector search unit, 141 initialization processing unit, 142 nearest neighbor vector Search control unit, 143 distance calculation unit, 144 distance comparison unit, 145 in-table search unit, 146 nearest neighbor vector setting unit, 147 entire group search unit, 161 initialization processing unit, 162 in-table search control unit, 163 distance calculation Unit, 164 update control unit, 165 data holding unit, 181 initialization processing unit, 182 whole group search control unit, 183 distance calculation unit, 184 update control unit, 185 data holding unit, 200 feature quantity comparison system, 230 image processing Device, 246 feature comparison unit, 250 strokes Image processing device, 263 model dictionary registration unit, 280 feature quantity comparison device, 281 member vector coordinate conversion unit, 282 input vector coordinate conversion unit, 283 nearest neighbor vector coordinate conversion unit, 311 vector group unification unit, 312 principal component analysis unit, 313 Coordinate transformation unit, 314 dimensional compression unit, 315 transformation coordinate vector information storage control unit, 350 image processing device, 366 multiple types feature quantity comparison unit, 381 feature quantity information acquisition unit, 411 initialization processing unit, 412 neighborhood vector group search Control unit, 413 neighborhood vector search unit, 414 feature-specific neighborhood vector candidate setting unit, 415 change flag confirmation unit, 416 neighborhood vector setting unit, 500 personal computer
Claims (6)
前記モデル画像の前記特徴ベクトルを、前記特徴ベクトルが存在する空間の次元数毎にグループ化して記憶する特徴ベクトル記憶手段と、
前記入力画像から、前記入力画像の前記特徴ベクトルである入力ベクトルを複数抽出する入力ベクトル抽出手段と、
処理対象の前記グループに対して、前記入力ベクトル抽出手段により抽出された前記入力ベクトルの中の処理対象の前記入力ベクトルから、前記特徴ベクトル記憶手段から読み出された前記特徴ベクトルまでの距離と、前記処理対象の入力ベクトルから、前記処理対象の入力ベクトルの近傍に位置する近傍ベクトルの候補とされる前記特徴ベクトルまでの距離とを比較し、前記距離が短い方の特徴ベクトルを新たな前記近傍ベクトルの候補とする処理を前記グループ内の全ての特徴ベクトルについて1つずつ行うことにより、前記グループにおける前記近傍ベクトルの候補を検索する検索手段と、
前記検索手段による検索により、前記近傍ベクトルの候補が新たな特徴ベクトルに更新された場合、前記近傍ベクトルの候補が更新されたことを示す変化フラグを立てる変化フラグ更新手段と、
前記変化フラグ更新手段により前記変化フラグが立てられていない前記近傍ベクトルの候補が存在する場合、全ての入力ベクトルについて前記検索が行われるまで、次の処理対象の前記入力ベクトルについて前記検索を行わせ、
前記変化フラグ更新手段により前記変化フラグが立てられていない前記近傍ベクトルの候補が存在しない場合、前記グループに対する前記検索を終了させ、全ての前記グループに対する前記検索が行われるまで、次の処理対象の前記グループに対して前記検索を行わせる
制御手段と、
前記制御手段による制御に従って前記検索が全ての前記グループに対して行われた後、現在の前記近傍ベクトルの候補を前記近傍ベクトルとして設定する近傍ベクトル設定手段と
を備える情報処理装置。 An information processing apparatus for comparing features by comparing feature vectors obtained by combining feature parameters of an image with an input image and a model image prepared in advance.
Feature vector storage means for storing the feature vectors of the model image grouped for each dimension of the space in which the feature vectors exist ;
Input vector extraction means for extracting a plurality of input vectors that are the feature vectors of the input image from the input image;
For the group to be processed, a distance from the input vector to be processed in the input vector extracted by the input vector extraction unit to the feature vector read from the feature vector storage unit; Compare the distance from the input vector to be processed to the feature vector that is a candidate for a nearby vector located in the vicinity of the input vector to be processed, and use the shorter feature vector as the new neighborhood Search means for searching for candidates for the neighboring vectors in the group by performing processing as vector candidates one by one for all feature vectors in the group ;
Change flag updating means for setting a change flag indicating that the neighborhood vector candidate is updated when the neighborhood vector candidate is updated to a new feature vector by the search by the search means ;
If there is a candidate for the neighborhood vector for which the change flag is not set by the change flag update means, the search is performed for the next input vector to be processed until the search is performed for all input vectors. ,
When there is no candidate for the neighborhood vector for which the change flag has not been raised by the change flag update unit, the search for the group is terminated, and the next processing target object is processed until the search for all the groups is performed. Let the group perform the search
And control means,
An information processing apparatus comprising: neighborhood vector setting means for setting a current candidate for the neighborhood vector as the neighborhood vector after the search is performed for all the groups in accordance with control by the control means .
前記検索手段は、前記近傍テーブル記憶手段により記憶されている前記近傍テーブルに含まれる前記共通代表点と前記共通代表点の近傍に位置する前記特徴ベクトルとの距離が、前記共通代表点と前記入力ベクトルとの距離よりも短い場合、前記近傍テーブル記憶手段により記憶されている前記近傍テーブルに含まれる特徴ベクトルの中から、前記グループにおける前記近傍ベクトルの候補を検索する
請求項1に記載の情報処理装置。 For each group of feature vectors stored by the feature vector storage means, each of the feature vectors belonging to the group is a mass point, and a center of gravity that is a point of action of the resultant force of gravity acting on each mass point is a common representative point, Further comprising a neighborhood table storage means for storing a neighborhood table in which a common representative point is associated with the feature vector located in the vicinity of the common representative point;
The search means is configured such that a distance between the common representative point included in the neighborhood table stored in the neighborhood table storage means and the feature vector located in the vicinity of the common representative point is the input to the common representative point and the input The information processing according to claim 1, wherein if the distance to the vector is shorter than the distance vector, the candidate for the neighborhood vector in the group is searched from the feature vectors included in the neighborhood table stored by the neighborhood table storage unit. apparatus.
前記共通代表点設定手段により設定された前記共通代表点の近傍に位置する前記特徴ベクトルを前記共通代表点に対応させることにより、前記近傍テーブルを作成する近傍テーブル作成手段と
をさらに備え、
前記近傍テーブル記憶手段は、前記近傍テーブル作成手段により作成された前記近傍テーブルを記憶する
請求項2に記載の情報処理装置。 For each group of feature vectors stored by the feature vector storage means, the feature vector belonging to the group is used as a mass point, a center of gravity is obtained as a point of action of the resultant force of gravity acting on each mass point, and the center of gravity is determined. Common representative point setting means for setting as the common representative point;
Wherein by matching the feature vectors located in the vicinity of the common representative point that is set to the common representative point by a common representative point setting means further includes a neighborhood table creation means for creating the neighborhood table,
The information processing apparatus according to claim 2, wherein the neighborhood table storage unit stores the neighborhood table created by the neighborhood table creation unit.
前記特徴ベクトル記憶手段は、前記特徴ベクトル抽出手段により抽出された前記特徴ベクトルを記憶する
請求項1に記載の情報処理装置。 Further comprising feature vector extraction means for extracting the feature vector from the model image;
The information processing apparatus according to claim 1, wherein the feature vector storage unit stores the feature vector extracted by the feature vector extraction unit.
前記情報処理装置の特徴ベクトル記憶手段が、前記モデル画像の前記特徴ベクトルを、前記特徴ベクトルが存在する空間の次元数毎にグループ化して記憶し、
前記情報処理装置の入力ベクトル抽出手段が、前記入力画像から、前記入力画像の前記特徴ベクトルである入力ベクトルを複数抽出し、
前記情報処理装置の検索手段が、処理対象の前記グループに対して、抽出された前記入力ベクトルの中の処理対象の前記入力ベクトルから、記憶部から読み出された前記特徴ベクトルまでの距離と、前記処理対象の入力ベクトルから、前記処理対象の入力ベクトルの近傍に位置する近傍ベクトルの候補とされる前記特徴ベクトルまでの距離とを比較し、前記距離が短い方の特徴ベクトルを新たな前記近傍ベクトルの候補とする処理を前記グループ内の全ての特徴ベクトルについて1つずつ行うことにより、前記グループにおける前記近傍ベクトルの候補を検索し、
前記情報処理装置の変化フラグ更新手段が、その検索により、前記近傍ベクトルの候補が新たな特徴ベクトルに更新された場合、前記近傍ベクトルの候補が更新されたことを示す変化フラグを立て、
前記情報処理装置の制御手段が、
前記変化フラグが立てられていない前記近傍ベクトルの候補が存在する場合、全ての入力ベクトルについて前記検索が行われるまで、次の処理対象の前記入力ベクトルについて前記検索を行わせ、
前記変化フラグが立てられていない前記近傍ベクトルの候補が存在しない場合、前記グループに対する前記検索を終了させ、全ての前記グループに対する前記検索が行われるまで、次の処理対象の前記グループに対して前記検索を行わせ、
前記情報処理装置の近傍ベクトル設定手段が、その制御に従って前記検索が全ての前記グループに対して行われた後、現在の前記近傍ベクトルの候補を前記近傍ベクトルとして設定する
情報処理方法。 An information processing method of an information processing apparatus for comparing features by comparing a feature vector obtained by combining vector feature parameters with an input image and a model image prepared in advance,
The feature vector storage means of the information processing apparatus stores the feature vectors of the model image grouped for each dimensionality of the space in which the feature vectors exist ,
The input vector extracting unit of the information processing apparatus, from the input image, a plurality of extracting the input vector is a feature vector of the input image,
The search means of the information processing apparatus, for the group to be processed, a distance from the input vector to be processed in the input vector extracted to the feature vector read from the storage unit, Compare the distance from the input vector to be processed to the feature vector that is a candidate for a nearby vector located in the vicinity of the input vector to be processed, and use the shorter feature vector as the new neighborhood By performing the processing as a vector candidate one by one for all feature vectors in the group, the candidate for the neighborhood vector in the group is searched,
Change flag updating means of the information processing apparatus, by the search, if the candidate of the neighboring vector is updated to a new feature vector, it sets a change flag indicating that the candidate of the neighboring vector is updated,
Control means of the information processing apparatus,
If there is a candidate for the neighborhood vector for which the change flag is not set, the search is performed for the input vector to be processed next until the search is performed for all the input vectors.
If there is no candidate for the neighborhood vector for which the change flag is not set, the search for the group is terminated, and the group to be processed next is processed until the search for all the groups is performed. Do a search ,
A neighborhood vector setting unit of the information processing apparatus sets the current neighborhood vector candidate as the neighborhood vector after the search is performed on all the groups according to the control .
前記モデル画像の前記特徴ベクトルを、前記特徴ベクトルが存在する空間の次元数毎にグループ化して記憶する特徴ベクトル記憶手段と、
前記入力画像から、前記入力画像の前記特徴ベクトルである入力ベクトルを複数抽出する入力ベクトル抽出手段と、
処理対象の前記グループに対して、前記入力ベクトル抽出手段により抽出された前記入力ベクトルの中の処理対象の前記入力ベクトルから、前記特徴ベクトル記憶手段から読み出された前記特徴ベクトルまでの距離と、前記処理対象の入力ベクトルから、前記処理対象の入力ベクトルの近傍に位置する近傍ベクトルの候補とされる前記特徴ベクトルまでの距離とを比較し、前記距離が短い方の特徴ベクトルを新たな前記近傍ベクトルの候補とする処理を前記グループ内の全ての特徴ベクトルについて1つずつ行うことにより、前記グループにおける前記近傍ベクトルの候補を検索する検索手段と、
前記検索手段による検索により、前記近傍ベクトルの候補が新たな特徴ベクトルに更新された場合、前記近傍ベクトルの候補が更新されたことを示す変化フラグを立てる変化フラグ更新手段と、
前記変化フラグ更新手段により前記変化フラグが立てられていない前記近傍ベクトルの候補が存在する場合、全ての入力ベクトルについて前記検索が行われるまで、次の処理対象の前記入力ベクトルについて前記検索を行わせ、
前記変化フラグ更新手段により前記変化フラグが立てられていない前記近傍ベクトルの候補が存在しない場合、前記グループに対する前記検索を終了させ、全ての前記グループに対する前記検索が行われるまで、次の処理対象の前記グループに対して前記検索を行わせる制御手段と、
前記制御手段による制御に従って前記検索が全ての前記グループに対して行われた後、現在の前記近傍ベクトルの候補を前記近傍ベクトルとして設定する近傍ベクトル設定手段
として機能させるためのプログラム。 A computer for comparing features by comparing feature vectors obtained by combining vector feature parameters with an input image and a model image prepared in advance.
Feature vector storage means for storing the feature vectors of the model image grouped for each dimension of the space in which the feature vectors exist ;
Input vector extraction means for extracting a plurality of input vectors that are the feature vectors of the input image from the input image;
For the group to be processed, a distance from the input vector to be processed in the input vector extracted by the input vector extraction unit to the feature vector read from the feature vector storage unit; Compare the distance from the input vector to be processed to the feature vector that is a candidate for a nearby vector located in the vicinity of the input vector to be processed, and use the shorter feature vector as the new neighborhood Search means for searching for candidates for the neighboring vectors in the group by performing processing as vector candidates one by one for all feature vectors in the group ;
Change flag updating means for setting a change flag indicating that the neighborhood vector candidate is updated when the neighborhood vector candidate is updated to a new feature vector by the search by the search means ;
If there is a candidate for the neighborhood vector for which the change flag is not set by the change flag update means, the search is performed for the next input vector to be processed until the search is performed for all input vectors. ,
If there is no candidate for the neighborhood vector for which the change flag has not been raised by the change flag update means, the search for the group is terminated, and the next processing target is processed until the search for all the groups is performed. Control means for performing the search for the group ;
A program for functioning as neighborhood vector setting means for setting a current candidate for the neighborhood vector as the neighborhood vector after the search is performed for all the groups in accordance with control by the control means .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005002934A JP4556121B2 (en) | 2005-01-07 | 2005-01-07 | Information processing apparatus and method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005002934A JP4556121B2 (en) | 2005-01-07 | 2005-01-07 | Information processing apparatus and method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006190192A JP2006190192A (en) | 2006-07-20 |
JP4556121B2 true JP4556121B2 (en) | 2010-10-06 |
Family
ID=36797326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005002934A Expired - Fee Related JP4556121B2 (en) | 2005-01-07 | 2005-01-07 | Information processing apparatus and method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4556121B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5380789B2 (en) | 2007-06-06 | 2014-01-08 | ソニー株式会社 | Information processing apparatus, information processing method, and computer program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010989A (en) * | 1998-06-19 | 2000-01-14 | Nippon Telegr & Teleph Corp <Ntt> | Similar object retrieval method/device and recording medium recording similar object retrieval program |
JP2001126063A (en) * | 1999-10-26 | 2001-05-11 | Matsushita Electric Ind Co Ltd | Method and device for recognizing pattern |
JP2002183205A (en) * | 2000-12-11 | 2002-06-28 | Minolta Co Ltd | Computer-readable recording medium with database construction program recorded thereon, method and device for constructing database, computer-readable recording medium with database retrieval program recorded thereon, and method and device for retrieving database |
WO2004047026A1 (en) * | 2002-11-20 | 2004-06-03 | Fujitsu Limited | Image search program |
-
2005
- 2005-01-07 JP JP2005002934A patent/JP4556121B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010989A (en) * | 1998-06-19 | 2000-01-14 | Nippon Telegr & Teleph Corp <Ntt> | Similar object retrieval method/device and recording medium recording similar object retrieval program |
JP2001126063A (en) * | 1999-10-26 | 2001-05-11 | Matsushita Electric Ind Co Ltd | Method and device for recognizing pattern |
JP2002183205A (en) * | 2000-12-11 | 2002-06-28 | Minolta Co Ltd | Computer-readable recording medium with database construction program recorded thereon, method and device for constructing database, computer-readable recording medium with database retrieval program recorded thereon, and method and device for retrieving database |
WO2004047026A1 (en) * | 2002-11-20 | 2004-06-03 | Fujitsu Limited | Image search program |
Also Published As
Publication number | Publication date |
---|---|
JP2006190192A (en) | 2006-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4556120B2 (en) | Information processing apparatus and method, and program | |
JP6378855B1 (en) | Image search system, image search method and program | |
KR101581112B1 (en) | Method for generating hierarchical structured pattern-based descriptor and method for recognizing object using the descriptor and device therefor | |
US9147252B2 (en) | Method for partitioning a pattern into optimized sub-patterns | |
JP5944406B2 (en) | Method and apparatus for finding nearest neighbors | |
Agathos et al. | 3D articulated object retrieval using a graph-based representation | |
CN110598715B (en) | Image recognition method, device, computer equipment and readable storage medium | |
JP6897749B2 (en) | Learning methods, learning systems, and learning programs | |
JP2020135892A (en) | Error correction method, apparatus, and computer-readable medium | |
WO2019207910A1 (en) | Data analysis system and data analysis mehtod | |
JP2018018330A (en) | Data retrieval program, data retrieval method and data retrieval device | |
CN106203508A (en) | A kind of image classification method based on Hadoop platform | |
CN103064857B (en) | Image inquiry method and image querying equipment | |
JP3903613B2 (en) | Search device and computer-readable recording medium storing search program | |
CN107507199A (en) | A kind of image partition method and system | |
CN102375990B (en) | Method and equipment for processing images | |
CN110209895B (en) | Vector retrieval method, device and equipment | |
JP4556121B2 (en) | Information processing apparatus and method, and program | |
CN113313213B (en) | Data set processing method for accelerating training of target detection algorithm | |
CN110956177A (en) | Hybrid verification code identification method and system | |
JP5791666B2 (en) | Dynamic generation device for visual keywords | |
JP3712583B2 (en) | Information clustering apparatus and recording medium recording information clustering program | |
Nayef et al. | Efficient symbol retrieval by building a symbol index from a collection of line drawings | |
WO2020255223A1 (en) | Identification result explanation device, identification result explanation method, and identification result explanation program | |
KR20220068357A (en) | Deep learning object detection processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070703 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100603 |
|
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: 20100624 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100707 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |