[go: up one dir, main page]

JP4556121B2 - Information processing apparatus and method, and program - Google Patents

Information processing apparatus and method, and program Download PDF

Info

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
Application number
JP2005002934A
Other languages
Japanese (ja)
Other versions
JP2006190192A (en
Inventor
章 中村
洋貴 鈴木
隆之 芦ヶ原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005002934A priority Critical patent/JP4556121B2/en
Publication of JP2006190192A publication Critical patent/JP2006190192A/en
Application granted granted Critical
Publication of JP4556121B2 publication Critical patent/JP4556121B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances 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.

特許3273581号公報Japanese Patent No. 32735881

しかしながら、以上のような方法においては、検索対象と比較する特徴の種類が複数の場合、各特徴について個別に検索を行い、最終的に全ての特徴に対して条件を満たす要素を特定するので、明らかに不要な要素に対しても検索処理を行うことになり、検索処理の効率が悪く、処理が遅くなってしまうという課題があった。   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 amount comparison apparatus 10 shown in FIG. 1 is an apparatus for recognizing a feature vector obtained by vectorizing a parameter or the like indicating the feature of information to be processed such as an image or sound, and is an input feature vector. This is a device that compares a vector with a vector group as a model, searches for a vector closest to an input vector (nearest neighbor vector) for each set of vectors, and outputs the nearest neighbor vector group. As shown in FIG. 1, the feature quantity comparison apparatus 10 includes a vector information storage unit 11, a common representative point setting unit 12, a common representative point information storage unit 13, a neighborhood table group creation unit 14, a neighborhood table group storage unit 15, And a nearest neighbor vector group search unit 16.

ベクトル情報記憶部11は、例えばハードディスクや半導体メモリ等の記憶媒体を有しており、モデルとなる特徴ベクトルに関する情報であるベクトル情報を予め記憶する。特徴ベクトルはモデル毎に集合として扱われ、ベクトル情報記憶部11は、特徴ベクトルの集合を複数記憶する。つまり、ベクトル情報記憶部11は、複数のモデルの特徴ベクトルを記憶し、必要に応じて、その特徴ベクトルを、共通代表点設定部12、近傍テーブル群作成部14、および最近傍ベクトル群検索部16に供給する。   The vector information storage unit 11 has a storage medium such as a hard disk or a semiconductor memory, for example, and stores in advance vector information that is information relating to a feature vector serving as a model. The feature vectors are handled as a set for each model, and the vector information storage unit 11 stores a plurality of sets of feature vectors. That is, the vector information storage unit 11 stores feature vectors of a plurality of models, and if necessary, the feature vectors are stored as common representative point setting unit 12, neighborhood table group creation unit 14, and nearest neighbor vector group search unit. 16 is supplied.

共通代表点設定部12は、ベクトル情報記憶部11より特徴ベクトルを取得し、各集合(モデル)に共通の代表点(共通代表点)を設定する。共通代表点は、各集合(モデル)の特徴ベクトルの分布の特徴を示す情報であり、全てまたは一部の特徴ベクトルを代表する点(ベクトル)である。つまり、共通代表点は、ベクトル情報記憶部11に記憶されている複数の集合を1つの集合としたときの、その集合の要素の分布の特徴を示す点(新たな要素)である。換言すると、共通代表点の集合は、ベクトル情報記憶部11に記憶されている各集合の特徴を平均化した集合(各集合間の要素の分布の違いを吸収した集合)である。   The common representative point setting unit 12 acquires a feature vector from the vector information storage unit 11 and sets a common representative point (common representative point) for each set (model). The common representative point is information indicating the feature of distribution of the feature vector of each set (model), and is a point (vector) representing all or part of the feature vector. That is, the common representative point is a point (new element) indicating the distribution characteristics of the elements of the set when a plurality of sets stored in the vector information storage unit 11 are set as one set. In other words, the set of common representative points is a set obtained by averaging the characteristics of each set stored in the vector information storage unit 11 (a set that absorbs the difference in element distribution between the sets).

この共通代表点の数は任意であり例えばユーザに設定されたり予め決められていたりする。ただし、特徴ベクトルを代表するという性質から、共通代表点の数は、全特徴ベクトルの数より少ないことが望ましく、さらに、各集合(モデル)の特徴ベクトルの数よりも少ないのが望ましい。共通代表点設定部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 point setting unit 12 sets the number of common representative points set in this way based on all or a part of feature vectors. Details of the common representative point setting method will be described later. The common representative point setting unit 12 supplies the common representative point information (common representative point information) that has been set to the common representative point information storage unit 13 for storage.

共通代表点情報記憶部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 point setting unit 12. The common representative point information storage unit 13 supplies the common representative point information to the neighborhood table group creation unit 14 and the nearest neighborhood vector group search unit 16 as necessary.

近傍テーブル群作成部14は、ベクトル情報記憶部11よりベクトル情報を取得し、さらに、共通代表点情報記憶部13より共通代表点情報を取得すると、それらに基づいて、集合(モデル)毎に、各共通代表点の近傍に位置する特徴ベクトルの一覧である近傍テーブルを作成する。近傍テーブルは、後述するように、各共通代表点の近傍に位置する特徴ベクトルをリストアップしたテーブル情報であり、各集合(モデル)に作成される。つまり、共通代表点(群)は全集合(モデル)の特徴ベクトルを代表する点(群)であり、近傍テーブルは、各集合とその共通代表点との関係を示すテーブル情報である。近傍テーブルの作成方法の詳細や、近傍テーブルを利用する方法については後述する。近傍テーブル群作成部14は、このような近傍テーブルを集合(モデル)毎に作成すると、その近傍テーブル群を近傍テーブル群記憶部15に供給して記憶させる。   When the neighborhood table group creation unit 14 acquires vector information from the vector information storage unit 11 and further acquires common representative point information from the common representative point information storage unit 13, based on them, for each set (model), A neighborhood table that is a list of feature vectors located in the vicinity of each common representative point is created. As will be described later, the neighborhood table is table information listing feature vectors located in the vicinity of each common representative point, and is created for each set (model). That is, the common representative point (group) is a point (group) representing the feature vectors of all sets (models), and the neighborhood table is table information indicating the relationship between each set and its common representative point. Details of the method of creating the neighborhood table and a method of using the neighborhood table will be described later. When the neighborhood table group creation unit 14 creates such a neighborhood table for each set (model), the neighborhood table group creation unit 14 supplies the neighborhood table group to the neighborhood table group storage unit 15 for storage.

近傍テーブル群記憶部15は、例えばハードディスクや半導体メモリ等の記憶媒体を有しており、近傍テーブル群作成部14より供給された近傍テーブル群を記憶する。近傍テーブル群記憶部15は、その近傍テーブル群を、必要に応じて、最近傍ベクトル群検索部16に供給する。   The neighborhood table group storage unit 15 includes a storage medium such as a hard disk or a semiconductor memory, and stores the neighborhood table group supplied from the neighborhood table group creation unit 14. The neighborhood table group storage unit 15 supplies the neighborhood table group to the nearest neighborhood vector group search unit 16 as necessary.

最近傍ベクトル群検索部16は、特徴量比較装置10の外部より入力された特徴ベクトルである入力ベクトルを取得すると、ベクトル情報記憶部11より取得したベクトル情報、共通代表点情報記憶部13より取得した共通代表点情報、および近傍テーブル群記憶部15より取得した近傍テーブル群を必要に応じて利用し、それらに基づいて入力ベクトルに最も近い最近傍ベクトルを集合(モデル)毎に検索する。最近傍ベクトル群検索部16は、そのようにして検索された最近傍ベクトル群を特徴量比較装置10の外部に比較結果として出力する。   When the nearest neighbor vector group search unit 16 acquires an input vector, which is a feature vector input from the outside of the feature quantity comparison device 10, the vector information acquired from the vector information storage unit 11 and the common representative point information storage unit 13 The common representative point information and the neighborhood table group acquired from the neighborhood table group storage unit 15 are used as necessary, and the nearest neighbor vector closest to the input vector is searched for each set (model) based on them. The nearest neighbor vector group search unit 16 outputs the nearest neighbor vector group searched in this way to the outside of the feature quantity comparison device 10 as a comparison result.

次に、図2乃至図5を参照して、この特徴量比較装置10による特徴量の比較方法について詳細に説明する。   Next, a feature amount comparison method by the feature amount comparison apparatus 10 will be described in detail with reference to FIGS.

特徴量比較装置10は、入力ベクトルの特徴量をモデルの特徴ベクトルと比較する前に、まず、図2に示されるように、共通代表点を設定し、近傍テーブルを生成する。   Before comparing the feature quantity of the input vector with the feature vector of the model, the feature quantity comparison apparatus 10 first sets a common representative point and generates a neighborhood table as shown in FIG.

ベクトル情報記憶部11(図1)には、図2に示されるように、複数のモデル(集合)からなる、検索対象ベクトルグループ群21が記憶されている。検索対象ベクトルグループ群は、M個の検索対象ベクトルグループ(すなわち、集合(モデル))21−1乃至21−Mにより構成される。各グループは特徴ベクトル22の集合である。   The vector information storage unit 11 (FIG. 1) stores a search target vector group group 21 composed of a plurality of models (sets), as shown in FIG. The search target vector group group includes M search target vector groups (that is, sets (models)) 21-1 to 21-M. Each group is a set of feature vectors 22.

共通代表点設定部12(図1)は、この検索対象ベクトルグループ群21を統一し、その1つの集合23からなる特徴ベクトル群を形成すると、その集合23の要素となる特徴ベクトル群を代表する(特徴ベクトル群の分布の様子を示す)代表点、すなわち、全集合(全モデル)に共通の代表点である共通代表点24をR個設定する。   When the common representative point setting unit 12 (FIG. 1) unifies the search target vector group group 21 and forms a feature vector group including the one set 23, the common representative point setting unit 12 (FIG. 1) represents the feature vector group that is an element of the set 23. R representative points (indicating the distribution of the feature vector group), that is, common representative points 24 that are common to all sets (all models) are set.

近傍テーブル群作成部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 representative point 24 via the common representative point information storage unit 13 (FIG. 1), the neighborhood table group creation unit 14 (FIG. 1) is based on the vector information acquired from the vector information storage unit 11. Thus, the neighborhood tables 25-1 to 25-M are created for each set and stored in the neighborhood table group storage unit 15.

この近傍テーブルは、例えば図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 representative point 1, the identification information of the closest feature vector is “No. 3”, and the distance between the feature vector and the common representative point 1 is ½. The value of 1 is “0.29”, the identification information of the second closest feature vector is “No. 8”, and the value of half the distance between the feature vector and the common representative point 1 is “ 0.32 ”, the identification information of the feature vector closest to the third is“ No. 9 ”, and the value of a half of the distance between the feature vector and the common representative point 1 is“ 0.42 ”. Yes, the identification information of the feature vector closest to the fourth is “No. 2”, and the value of a half of the distance between the feature vector and the common representative point 1 is “0.46”. The identification information of the near feature vector is “No. 5”, and the feature vector and the common representative 1 1 value of half the distance between is shown to be "0.51". Similarly, in the neighborhood table 25-1, the common vectors from the common representative point 2 to the common representative point R are registered up to the fifth (K-th) in order from the nearest.

近傍テーブル群作成部14は、このような近傍テーブルを特徴ベクトルの集合(モデル)毎にM個作成する。   The neighborhood table group creation unit 14 creates M neighborhood tables for each set (model) of feature vectors.

この近傍テーブルは、入力ベクトルの近傍ベクトルを検索する際に、検索対象とする特徴ベクトルの絞り込みに利用される。   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 group search unit 16 approximates an input vector 27 that is a feature vector of the information 26 in order to compare the feature of the information 26 to be processed with the feature of each model. A vector is searched from the feature vector 22 of each group of the search target vector group group 21. That is, the nearest neighbor vector group search unit 16 first searches the nearest vector 28-1 of the input vector 27 for the set search target vector group 21-1, and then inputs the input vector for the set search target vector group 21-2. 27 nearest neighbor vectors 28-2 are searched. The nearest neighbor vector group search unit 16 similarly searches the nearest neighbor vectors of the input vector 27 for the set search target vector groups 21-3 to 21-M. Then, the nearest neighbor vector group search unit 16 outputs the nearest neighbor vector group searched in this way as a comparison result between the processing target information 26 and the model.

この最近傍ベクトルの検索の際に、最近傍ベクトル群検索部16は、図3の近傍テーブル群を利用することにより、その検索範囲を削減し、高速に最近傍ベクトル群を検索する。つまり、最近傍ベクトル群検索部16は、まず、入力ベクトル27と共通代表点との距離を算出する。次に、最近傍ベクトル群検索部16は、その距離を、近傍テーブルにおける、近傍ベクトルと共通代表点との距離の2分の1と比較する。入力ベクトル27と共通代表点との距離の方が短い場合、最近傍ベクトル群検索部16は、入力ベクトル27の最近傍ベクトルを、近傍テーブルに登録された共通代表点の近傍ベクトル群(共通代表点も含む)の中から検索し、その他の特徴ベクトルについては検索範囲外として検索しない。逆に、入力ベクトル27と共通代表点との距離の方が遠い場合、最近傍ベクトル群検索部16は、入力ベクトル27の最近傍ベクトルを、その集合の全ての特徴ベクトルの中から検索する。   When searching for the nearest neighbor vector, the nearest neighbor vector group search unit 16 uses the neighborhood table group of FIG. 3 to reduce the search range and search for the nearest neighbor vector group at high speed. That is, the nearest neighbor vector group search unit 16 first calculates the distance between the input vector 27 and the common representative point. Next, the nearest neighborhood vector group search unit 16 compares the distance with one half of the distance between the neighborhood vector and the common representative point in the neighborhood table. When the distance between the input vector 27 and the common representative point is shorter, the nearest neighbor vector group search unit 16 uses the nearest neighbor vector of the input vector 27 as a neighborhood vector group (common representative point) of the common representative points registered in the neighborhood table. (Including points), and other feature vectors are not searched out of the search range. Conversely, when the distance between the input vector 27 and the common representative point is far, the nearest neighbor vector group search unit 16 searches for the nearest neighbor vector of the input vector 27 from all the feature vectors of the set.

図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 circle 31 indicates a distance D between the common representative point r and the neighborhood vector k, and a circle 32 indicates a half (D / 2) of the distance D.

共通代表点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 circle 32, that is, the distance d between the input vector v and the common representative point r is shorter than half of the distance D between the neighboring vector k and the common representative point r ( In the case of d <D / 2), the dotted circle does not protrude outside the circle 31. That is, in this case, the nearest neighbor vector of the input vector v always exists at a position closer to the neighborhood vector k of the common representative point.

以上のような原理に基づいて、最近傍ベクトル群検索部16は、入力ベクトル27と各共通代表点との距離を算出し、近傍テーブルに登録されている、その共通代表点から最も遠い近傍ベクトルの、共通代表点との距離の2分の1の値と、算出した距離を比較する。そして、最近傍ベクトル群検索部16は、このような処理を各共通代表点について行い、入力ベクトルと共通代表点との距離の方が短くなる共通代表点が存在する場合、その共通代表点の近傍ベクトルの中から入力ベクトルの最近傍ベクトルを検索する。そして、どの共通代表点に対しても入力ベクトルと共通代表点との距離の方が短くなる共通代表点が存在しなかった場合のみ、最近傍ベクトル群検索部16は、検索対象ベクトルグループ内の全ての特徴ベクトルを検索対象とし、それらの中から最近傍ベクトルを検索する。   Based on the principle as described above, the nearest neighbor vector group search unit 16 calculates the distance between the input vector 27 and each common representative point, and the nearest neighbor vector registered in the neighbor table from the common representative point. The half of the distance to the common representative point is compared with the calculated distance. The nearest neighbor vector group search unit 16 performs such processing for each common representative point, and when there is a common representative point whose distance between the input vector and the common representative point is shorter, The nearest neighbor vector of the input vector is searched from the neighborhood vectors. Then, only when there is no common representative point in which the distance between the input vector and the common representative point is shorter for any common representative point, the nearest neighbor vector group search unit 16 includes the search target vector group. All feature vectors are searched, and the nearest neighbor vector is searched from them.

最近傍ベクトル群検索部16は、このような検索を検索対象ベクトルグループ(モデル)毎に行い、比較結果として最近傍ベクトル群を出力する。このようにすることにより、特徴量比較装置10は、明らかに最近傍ベクトルとはならない不要な特徴ベクトルを検索対象から除外することができるので、目的の要素を高速に検索することができる。また、共通代表点設定部12が全検索対象ベクトルグループ(モデル)に共通の共通代表点を設定し、最近傍ベクトル群検索部16が、その共通代表点を基準として最近傍ベクトルを検索することにより、特徴量比較装置10は、検索対象ベクトルグループが複数存在する場合であっても、各検索対象ベクトルグループから最近傍ベクトルを高速に検索することができる。つまり、特徴量比較装置10は、検索対象の集合が複数存在する場合であっても、各集合から目的の要素を高速に検索することができる。   The nearest neighbor vector group search unit 16 performs such a search for each search target vector group (model), and outputs a nearest neighbor vector group as a comparison result. By doing in this way, the feature quantity comparison apparatus 10 can exclude unnecessary feature vectors that are not clearly the nearest neighbor vector from the search target, so that the target element can be searched at high speed. The common representative point setting unit 12 sets a common representative point common to all search target vector groups (models), and the nearest neighbor vector group searching unit 16 searches for the nearest neighbor vector based on the common representative point. Thus, the feature quantity comparison apparatus 10 can search the nearest neighbor vector from each search target vector group at high speed even when there are a plurality of search target vector groups. That is, the feature quantity comparison apparatus 10 can search a target element from each set at high speed even when there are a plurality of sets to be searched.

次に、図1の特徴量比較装置10の各部の詳細な構成について説明する。   Next, a detailed configuration of each part of the feature amount comparison apparatus 10 of FIG. 1 will be described.

図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 point setting unit 12. In FIG. 6, the common representative point setting unit 12 includes a common representative point target number setting unit 41, a vector group unification unit 42, a centroid calculation unit 43, a common representative point setting unit 44, a common representative point number determination unit 45, and a common representative point division. A unit 46, a member vector allocation unit 47, and a common representative point storage control unit 48.

共通代表点目標数設定部41は、例えばユーザ入力等に基づいて共通代表点目標数の設定を行い、その情報を共通代表点数判定部45に供給する。この共通代表点目標数は例えば2のn乗(nは整数)に設定される。また、共通代表点目標数は、ユーザ等に指示された値であってもよいし、予め定められた値であってもよい。   The common representative point target number setting unit 41 sets the common representative point target number based on, for example, a user input and supplies the information to the common representative point number determination unit 45. The target number of common representative points is set to 2 to the nth power (n is an integer), for example. In addition, the common representative point target number may be a value instructed by a user or the like, or may be a predetermined value.

ベクトルグループ統一部42は、ベクトル情報記憶部11よりベクトル情報を取得すると、その情報に基づいて、ベクトル情報記憶部11が記憶している全てのベクトルグループを統一し、全てのベクトルを含む1つのベクトルグループを作成する。そしてベクトルグループ統一部42は、その情報を重心算出部43に供給する。   When the vector group unification unit 42 obtains vector information from the vector information storage unit 11, based on the information, the vector group unification unit 42 unifies all the vector groups stored in the vector information storage unit 11 and includes one vector including all vectors. Create a vector group. Then, the vector group unification unit 42 supplies the information to the centroid calculation unit 43.

重心算出部43は、ベクトルグループ統一部42より供給されるベクトル情報、またはメンバベクトル割り当て部47より供給されるベクトル情報に基づいて、ベクトルグループ毎にベクトル群の重心(ベクトルの分布の重心位置)を算出する。例えば、ベクトルグループ統一部42より供給されたベクトル情報においては、ベクトルグループは1つに統一されているので、そのベクトル情報に基づいて重心位置を算出する場合、重心算出部43は、全てのベクトル群の重心を算出する。また、メンバベクトル割り当て部47より供給されるベクトル情報に基づいて重心位置を算出する場合、重心算出部43は、メンバベクトル割り当て部47によって同じ共通代表点に割り当てられたメンバベクトル群を1つのベクトルグループとし、そのベクトルグループ毎に重心位置を算出する。重心算出部43は、算出した重心に関する情報を共通代表点設定部44に供給する。   Based on the vector information supplied from the vector group unifying unit 42 or the vector information supplied from the member vector allocating unit 47, the centroid calculating unit 43 calculates the centroid of the vector group for each vector group (the centroid position of the vector distribution). Is calculated. For example, in the vector information supplied from the vector group unification unit 42, since the vector group is unified into one, when calculating the centroid position based on the vector information, the centroid calculation unit 43 includes all vectors. Calculate the center of gravity of the group. Further, when calculating the centroid position based on the vector information supplied from the member vector allocating unit 47, the centroid calculating unit 43 sets the member vector group allocated to the same common representative point by the member vector allocating unit 47 as one vector. A barycentric position is calculated for each vector group. The center-of-gravity calculation unit 43 supplies information regarding the calculated center of gravity to the common representative point setting unit 44.

共通代表点設定部44は、重心算出部43より供給された重心位置を共通代表点に設定し、その情報を共通代表点数判定部45およびメンバベクトル割り当て部47に供給する。   The common representative point setting unit 44 sets the centroid position supplied from the centroid calculating unit 43 as a common representative point, and supplies the information to the common representative point number determining unit 45 and the member vector assigning unit 47.

共通代表点数判定部45は、共通代表点設定部44より供給された設定結果を取得するか、または、メンバベクトル割り当て部47より割り当て結果を取得すると、その設定結果または割り当て結果における共通代表点の数が共通代表点目標数設定部41より供給された共通代表点目標数より少ないか否かを判定し、その判定結果に基づいて、共通代表点の情報を共通代表点分割部46または共通代表点記憶制御部48に供給する。   When the common representative point number determination unit 45 acquires the setting result supplied from the common representative point setting unit 44 or the allocation result from the member vector allocation unit 47, the common representative point number determination unit 45 determines the common representative point in the setting result or allocation result. It is determined whether or not the number is less than the common representative point target number supplied from the common representative point target number setting unit 41, and based on the determination result, information on the common representative point is shared by the common representative point dividing unit 46 or the common representative point. This is supplied to the point storage controller 48.

共通代表点分割部46は、共通代表点数判定部45より共通代表点に関する情報を取得すると、各共通代表点を2つに分割し、それらを元の位置から互いに離れるように所定の向きにに微小量ずらす。例えば、共通代表点分割部46は、2つに分割した点の一方の位置をx軸の正方向に微小量ずらし、他方の位置をx軸の負方向にずらす。なお、この2点位置の補正の方向は互いに逆向きであればどのような方向であっても良い。つまり、共通代表点分割部46は、共通代表点の数を分割して位置補正することにより、共通代表点の数を2倍に増やす。共通代表点分割部46は、この分割して位置補正した共通代表点の情報をメンバベクトル割り当て部47に供給する。   When the common representative point dividing unit 46 obtains information on the common representative points from the common representative point number determining unit 45, the common representative point dividing unit 46 divides each common representative point into two and sets them in a predetermined direction so as to be separated from the original position. Shift a small amount. For example, the common representative point dividing unit 46 shifts one position of the divided point by a small amount in the positive direction of the x axis and shifts the other position in the negative direction of the x axis. Note that the two point positions may be corrected in any direction as long as they are opposite to each other. That is, the common representative point dividing unit 46 divides the number of common representative points and corrects the position, thereby increasing the number of common representative points by a factor of two. The common representative point dividing unit 46 supplies the information of the common representative point that has been divided and corrected in position to the member vector assigning unit 47.

メンバベクトル割り当て部47は、共通代表点分割部46より供給される共通代表点に関する情報、すなわち、共通代表点分割部46において分割され、その数が2倍になった共通代表点に関する情報を取得すると、それらの各共通代表点にメンバベクトルを割り当て、その割り当て結果を重心算出部43に供給するとともに、共通代表点数判定部45にその共通代表点の数に関する情報を供給する。   The member vector assigning unit 47 obtains information on the common representative points supplied from the common representative point dividing unit 46, that is, information on the common representative points divided by the common representative point dividing unit 46 and doubled in number. Then, a member vector is allocated to each of these common representative points, and the allocation result is supplied to the centroid calculating unit 43, and information regarding the number of common representative points is supplied to the common representative point number determining unit 45.

また、メンバベクトル割り当て部47は、共通代表点設定部44より供給される共通代表点の設定結果を取得すると、その設定結果に基づいて、設定された各共通代表点に対してメンバベクトルの割り当てを行い、その割り当て結果を重心算出部43に供給するとともに、共通代表点の数に関する情報を供給する。   Further, when the member vector assigning unit 47 obtains the common representative point setting result supplied from the common representative point setting unit 44, the member vector assigning unit 47 assigns a member vector to each set common representative point based on the setting result. The allocation result is supplied to the center of gravity calculation unit 43 and information regarding the number of common representative points is supplied.

共通代表点記憶制御部48は、共通代表点数判定部45より供給される共通代表点に関する情報を共通代表点情報記憶部13に供給し、記憶させる。   The common representative point storage control unit 48 supplies information related to the common representative points supplied from the common representative point number determination unit 45 to the common representative point information storage unit 13 and stores the information.

図7は、図1の近傍テーブル群作成部14の詳細な構成例を示すブロック図である。   FIG. 7 is a block diagram illustrating a detailed configuration example of the neighborhood table group creation unit 14 of FIG.

図7において、近傍テーブル群作成部14は、初期化処理部61、近傍テーブル群作成制御部62、近傍テーブル作成部63、および近傍テーブル記憶制御部64を有している。   In FIG. 7, the neighborhood table group creation unit 14 includes an initialization processing unit 61, a neighborhood table group creation control unit 62, a neighborhood table creation unit 63, and a neighborhood table storage control unit 64.

初期化処理部61は、ベクトル情報記憶部11よりベクトル情報を取得し、共通代表点情報記憶部13より共通代表点情報を取得すると、近傍テーブル群の作成に必要な変数を初期値に設定する等の初期化処理を行う。   When the initialization processing unit 61 acquires vector information from the vector information storage unit 11 and the common representative point information from the common representative point information storage unit 13, the initialization processing unit 61 sets variables necessary for creating the neighborhood table group to initial values. And so on.

近傍テーブル群作成制御部62は、近傍テーブル群の作成に関する制御処理を行う。近傍テーブル作成部63は、近傍テーブルの作成に関する処理を行う。近傍テーブル記憶制御部64は、近傍テーブル群記憶部15を制御し、作成された近傍テーブルを記憶させる。   The neighborhood table group creation control unit 62 performs control processing related to creation of neighborhood table groups. The neighborhood table creation unit 63 performs processing related to creation of the neighborhood table. The neighborhood table storage control unit 64 controls the neighborhood table group storage unit 15 to store the created neighborhood table.

図8は、図7の近傍テーブル作成部63の詳細な構成例を示すブロック図である。図8において、近傍テーブル作成部14は、近傍テーブル群作成制御部81、距離情報作成部82、距離情報ソート部83、距離情報抽出部84、およびレコード保持部85を有している。   FIG. 8 is a block diagram illustrating a detailed configuration example of the neighborhood table creation unit 63 in FIG. In FIG. 8, the neighborhood table creation unit 14 includes a neighborhood table group creation control unit 81, a distance information creation unit 82, a distance information sort unit 83, a distance information extraction unit 84, and a record holding unit 85.

近傍テーブル作成制御部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 information creation unit 82 performs processing related to creation of distance information used for the neighborhood table. The distance information sorting unit 83 arranges (sorts) the pieces of distance information created by the distance information creating unit 82 in ascending order of values (in order of short distance). The distance information extraction unit 84 extracts a predetermined number of distance information from the shorter distance information among the sorted distance information. The record holding unit 85 holds the extracted distance information as a record in the neighborhood table, and returns the information to the neighborhood table creation control unit 81.

図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 information creation unit 82 of FIG. In FIG. 9, the distance information creation unit 82 includes a distance information creation control unit 101, a distance calculation unit 102, a 1/2 multiplication unit 103, and a distance information holding unit 104.

距離情報作成制御部101は、距離情報の作成に関する制御処理を行う。距離算出部102は、処理対象に指定されている共通代表点とメンバベクトルとの距離を算出する。1/2乗算部103は、算出された共通代表点とメンバベクトルとの距離に1/2を乗算する。距離情報保持部104は、その共通代表点とメンバベクトルとの距離の1/2の値を距離情報として保持し、その情報を距離情報作成制御部101に返す。   The distance information creation control unit 101 performs control processing related to creation of distance information. The distance calculation unit 102 calculates the distance between the common representative point designated as the processing target and the member vector. The 1/2 multiplier 103 multiplies the calculated distance between the common representative point and the member vector by 1/2. The distance information holding unit 104 holds a half value of the distance between the common representative point and the member vector as distance information, and returns the information to the distance information creation control unit 101.

図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 group search unit 16 of FIG. In FIG. 10, the nearest neighbor vector group search unit 16 includes an initialization processing unit 121, a nearest neighbor vector group search control unit 122, and a nearest neighbor vector search unit 123, which are stored in the vector information storage unit 11. The nearest neighbor vector group of the input vector is searched from the model.

初期化処理部121は、入力ベクトルを取得すると、ベクトル情報記憶部11よりベクトル情報を取得し、共通代表点情報記憶部13より共通代表点情報を取得し、近傍テーブル群記憶部15より近傍テーブル群を取得し、入力ベクトルの最近傍ベクトル群の検索に必要な変数を初期値に設定する等の初期化処理を行う。   When acquiring the input vector, the initialization processing unit 121 acquires vector information from the vector information storage unit 11, acquires common representative point information from the common representative point information storage unit 13, and stores a neighborhood table from the neighborhood table group storage unit 15. A group is acquired, and initialization processing such as setting a variable necessary for searching the nearest neighbor vector group of the input vector to an initial value is performed.

最近傍ベクトル群検索制御部122は、入力ベクトルの最近傍ベクトル群の検索に関する制御処理を行う。最近傍ベクトル検索部123は、最近傍ベクトル群検索制御部122に制御され、ベクトルグループ毎に入力ベクトルの最近傍ベクトルを検索し、その検索結果を最近傍ベクトル群検索制御部122に返す。   The nearest neighbor vector group search control unit 122 performs control processing related to the search for the nearest neighbor vector group of the input vector. The nearest neighbor vector search unit 123 is controlled by the nearest neighbor vector group search control unit 122, searches for the nearest neighbor vector of the input vector for each vector group, and returns the search result to the nearest neighbor vector group search control unit 122.

図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 vector search unit 123 of FIG. In FIG. 11, the nearest neighbor vector search unit 123 includes an initialization processing unit 141, a nearest neighbor vector search control unit 152, a distance calculation unit 143, a distance comparison unit 144, an in-table search unit 145, a nearest neighbor vector setting unit 146, and An entire group search unit 147 is provided, and the nearest neighbor vector search process for each model (vector group) is performed.

初期化処理部141は、入力ベクトルの最近傍ベクトルの検索に必要な変数を初期値に設定する等の初期化処理を行う。最近傍ベクトル検索制御部142は、処理対象のベクトルグループにおける入力ベクトルの最近傍ベクトルの検索に関する制御処理を行う。   The initialization processing unit 141 performs initialization processing such as setting a variable necessary for searching for the nearest neighbor vector of an input vector to an initial value. The nearest neighbor vector search control unit 142 performs control processing related to the search of the nearest neighbor vector of the input vector in the processing target vector group.

距離算出部143は、入力ベクトルと処理対象の共通代表点との距離を算出する。距離比較部144は、算出された入力ベクトルと処理対象の共通代表点との距離を、近傍テーブルの距離情報と比較し、その比較結果に応じてテーブル内検索部145に最近傍ベクトルの検索処理を実行させる。   The distance calculation unit 143 calculates the distance between the input vector and the common representative point to be processed. The distance comparison unit 144 compares the distance between the calculated input vector and the common representative point to be processed with the distance information in the neighborhood table, and causes the in-table search unit 145 to search for the nearest neighbor vector according to the comparison result. Is executed.

テーブル内検索部145は、近傍テーブルに登録されているメンバベクトルの中から入力ベクトルの最近傍ベクトルを検索し、その検索結果を最近傍ベクトル設定部146に供給する。   The in-table search unit 145 searches for the nearest neighbor vector of the input vector from among the member vectors registered in the neighborhood table, and supplies the search result to the nearest neighbor vector setting unit 146.

最近傍ベクトル設定部146は、テーブル内検索部145またはグループ内全体検索部147により検索されたメンバベクトルを入力ベクトルの最近傍ベクトルとして設定し、その設定結果を最近傍ベクトル検索制御部142に返す。   The nearest neighbor vector setting unit 146 sets the member vector searched by the in-table search unit 145 or the entire group search unit 147 as the nearest neighbor vector of the input vector, and returns the setting result to the nearest neighbor vector search control unit 142. .

グループ内全体検索部147は、最近傍ベクトル検索制御部142によって全ての共通代表点の近傍ベクトルの中に入力ベクトルの最近傍ベクトルが存在しないと判定された場合、処理対象のベクトルグループ内の全てのメンバベクトルの中から入力ベクトルの最近傍ベクトルを検索し、その検索結果を最近傍ベクトル設定部146に供給する。   When the nearest neighborhood vector search control unit 142 determines that the nearest neighbor vector of the input vector does not exist among the neighborhood vectors of all the common representative points, the in-group overall search unit 147 The nearest neighbor vector of the input vector is searched from among the member vectors, and the search result is supplied to the nearest neighbor vector setting unit 146.

図12は、図11のテーブル内検索部145の詳細な構成例を示すブロック図である。図12においてテーブル内検索部145は、初期化処理部161、テーブル内検索制御部162、距離算出部163、更新制御部164、およびデータ保持部165を有しており、近傍テーブルに登録されているメンバベクトルに対する最近傍ベクトルの検索(最近傍ベクトルのテーブル内検索)を行う。   FIG. 12 is a block diagram illustrating a detailed configuration example of the in-table search unit 145 of FIG. 12, the in-table search unit 145 includes an initialization processing unit 161, an in-table search control unit 162, a distance calculation unit 163, an update control unit 164, and a data holding unit 165, and is registered in the neighborhood table. The nearest neighbor vector is searched for a member vector (search in the nearest neighbor vector table).

初期化処理部161は、最近傍ベクトルのテーブル内検索に必要な変数を初期値に設定する等の初期化処理を行う。例えば、初期化処理部161は、最近傍ベクトルの候補であるVkeepを入力ベクトルからの距離が無限遠の仮想点を設定し、入力ベクトルからの距離Dkeepを無限遠に設定する。また、初期化処理部161は、変数kの値を初期値(例えば「0」)に設定する。テーブル内検索制御部162は、最近傍ベクトルのテーブル内検索に関する制御処理を行う。距離算出部163は、入力ベクトルと、近傍テーブルに登録されているメンバベクトルとの距離を算出する。更新制御部164は、その算出された入力ベクトルとメンバベクトルとの距離に基づいてデータ保持部165が保持しているデータの更新を制御する。また、更新制御部164は、その制御結果をテーブル内検索制御部162に返す。データ保持部165は、入力ベクトルに最も近いベクトル(最近傍ベクトルの候補)に関するデータ(例えば、VkeepおよびDkeep)を保持する。   The initialization processing unit 161 performs an initialization process such as setting variables necessary for searching the nearest neighbor vector in the table to initial values. For example, the initialization processing unit 161 sets Vkeep, which is a nearest neighbor vector candidate, as a virtual point whose distance from the input vector is infinity, and sets the distance Dkeep from the input vector as infinity. Further, the initialization processing unit 161 sets the value of the variable k to an initial value (for example, “0”). The in-table search control unit 162 performs control processing related to the in-table search for the nearest neighbor vector. The distance calculation unit 163 calculates the distance between the input vector and the member vector registered in the neighborhood table. The update control unit 164 controls the update of data held by the data holding unit 165 based on the calculated distance between the input vector and the member vector. The update control unit 164 returns the control result to the in-table search control unit 162. The data holding unit 165 holds data (for example, Vkeep and Dkeep) related to a vector closest to the input vector (nearest neighbor vector candidate).

図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 entire search unit 147 of FIG. In FIG. 13, the entire group search unit 147 includes an initialization processing unit 181, an entire group search control unit 182, a distance calculation unit 183, an update control unit 184, and a data holding unit 185. The nearest neighbor vector search for all member vectors (entire search within the group of nearest neighbor vectors) is performed.

初期化処理部181は、最近傍ベクトルのグループ内全体検索に必要な変数を初期値に設定する等の初期化処理を行う。例えば、初期化処理部181は、最近傍ベクトルの候補であるVkeepを入力ベクトルからの距離が無限遠の仮想点を設定し、入力ベクトルからの距離Dkeepを無限遠に設定する。また、初期化処理部181は、変数iの値を初期値(例えば「0」)に設定する。グループ内全体検索制御部182は、最近傍ベクトルのグループ内全体検索に関する制御処理を行う。距離算出部183は、入力ベクトルと、ベクトルグループ内のメンバベクトルとの距離を算出する。更新制御部184は、その算出された入力ベクトルとメンバベクトルとの距離に基づいてデータ保持部185が保持しているデータの更新を制御する。また、更新制御部184は、その制御結果をグループ内全体検索制御部182に返す。データ保持部185は、入力ベクトルに最も近いベクトル(最近傍ベクトルの候補)に関するデータ(例えば、VkeepおよびDkeep)を保持する。   The initialization processing unit 181 performs initialization processing such as setting a variable necessary for the entire search within the group of the nearest neighbor vector to an initial value. For example, the initialization processing unit 181 sets a virtual point whose distance from the input vector is infinity for Vkeep, which is a candidate for the nearest neighbor vector, and sets the distance Dkeep from the input vector to infinity. Further, the initialization processing unit 181 sets the value of the variable i to an initial value (for example, “0”). The in-group entire search control unit 182 performs control processing relating to the entire in-group search for the nearest neighbor vector. The distance calculation unit 183 calculates the distance between the input vector and the member vector in the vector group. The update control unit 184 controls updating of data held by the data holding unit 185 based on the calculated distance between the input vector and the member vector. Also, the update control unit 184 returns the control result to the in-group overall search control unit 182. The data holding unit 185 holds data (for example, Vkeep and Dkeep) related to the vector closest to the input vector (nearest vector candidate).

次に、以上のような構成の特徴量比較装置10により実行される各処理の流れについて説明する。   Next, the flow of each process executed by the feature quantity comparison apparatus 10 having the above configuration will be described.

最初に、特徴量比較装置10は、共通代表点設定部12(図1)によってベクトル情報保持部11が保持しているベクトル情報に基づいて、各ベクトルグループ(モデル)に共通な代表点群を設定する。この共通代表点設定処理の流れを図14のフローチャートを参照して説明する。   First, the feature quantity comparison apparatus 10 determines a representative point group common to each vector group (model) based on the vector information held in the vector information holding unit 11 by the common representative point setting unit 12 (FIG. 1). Set. The flow of the common representative point setting process will be described with reference to the flowchart of FIG.

共通代表点設定処理が開始されると、ステップ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 number determination unit 45.

ステップS2において、ベクトルグループ統一部42は、ベクトル情報記憶部11よりベクトル情報を取得し、そのベクトル情報に基づいて、ベクトル情報記憶部11に記憶されているベクトルグループの全グループを統一し、各グループの全部または一部のメンバベクトルからなる1つのグループを生成する。つまり、ベクトルグループ統一部42は、各グループの全てのメンバベクトル、若しくは、各グループより任意の方法で抽出した一部のメンバベクトルを1つのグループとして再構成する。このグループの統一にメンバベクトルの全てを用いるかまたは一部のメンバベクトルを用いるかは毎回任意の方法で決定するようにしてもよいし、予め定められていてもよい。   In step S2, the vector group unification unit 42 acquires vector information from the vector information storage unit 11, unifies all the vector groups stored in the vector information storage unit 11 based on the vector information, One group consisting of all or part of the member vectors is generated. That is, the vector group unifying unit 42 reconfigures all member vectors of each group or a part of member vectors extracted from each group by an arbitrary method as one group. Whether to use all of the member vectors or a part of the member vectors for unification of the group may be determined by an arbitrary method every time or may be determined in advance.

グループが統一されると、重心算出部43は、ステップS3において、そのグループが統一されたベクトル情報をベクトルグループ統一部42より取得すると、その情報に基づいて、メンバベクトルの重心点(各メンバベクトルをそれぞれ質点とし、各質点にはたらく重力の合力の作用点)を算出し、その算出結果を共通代表点設定部44に供給する。   When the group is unified, the center-of-gravity calculation unit 43 acquires vector information of the group unified from the vector group unification unit 42 in step S3, and based on the information, the center-of-gravity point (each member vector) Are used as mass points, and the resultant action point of gravity acting on each mass point is calculated, and the calculation result is supplied to the common representative point setting unit 44.

共通代表点設定部44は、ステップS4においてその重心点を共通代表点として設定し、共通代表点の数を示す変数GpNumの値を「1」に設定し、その設定結果を共通代表点数判定部45に供給する。共通代表点数判定部45は、ステップS5において、共通代表点の数GpNumの値が目標数NumReqの値より小さいか否かを判定する。   In step S4, the common representative point setting unit 44 sets the center of gravity as a common representative point, sets the value of the variable GpNum indicating the number of common representative points to “1”, and sets the setting result as the common representative point number determination unit. 45. In step S5, the common representative point number determination unit 45 determines whether or not the value of the number of common representative points GpNum is smaller than the target number NumReq.

共通代表点の数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 number determining unit 45 supplies the common representative point information to the common representative point dividing unit 46, and the process proceeds to step S6.

ステップS6において、共通代表点分割部46は、供給された共通代表点の情報に基づいて、各共通代表点を2つに分割し、位置を補正する。そして、共通代表点分割部46は、ステップS7において、共通代表点の数GpNumの値を2倍にし、その共通代表点の情報をメンバベクトル割り当て部47に供給する。   In step S6, the common representative point dividing unit 46 divides each common representative point into two based on the supplied common representative point information, and corrects the position. Then, in step S7, the common representative point dividing unit 46 doubles the number of common representative points GpNum, and supplies the common representative point information to the member vector assigning unit 47.

メンバベクトル割り当て部47は、ステップS8において、各メンバベクトルを共通代表点に割り当て、ステップS9において、各メンバベクトルが属する共通代表点が全て前回と同じであるか否か、すなわち、各共通代表点が前回の割り当て時と同じであり、かつ、その各共通代表点に前回の割り当て時と同じメンバベクトルが割り当てられたか否かを判定する。   The member vector assigning unit 47 assigns each member vector to a common representative point in step S8, and in step S9, whether or not all the common representative points to which each member vector belongs is the same as the previous time, that is, each common representative point. Is the same as in the previous assignment, and it is determined whether or not the same member vector as in the previous assignment is assigned to each common representative point.

各メンバベクトルが属する共通代表点が全て前回と同じでないと判定した場合、すなわち、前回の割り当て時と、共通代表点が異なるか、若しくは、各共通代表点に割り当てられたメンバベクトルが異なると判定した場合、メンバベクトル割り当て部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 vector allocation unit 47 supplies the determination result to the centroid calculation unit 43, and the process proceeds to step S10.

ステップS10において、重心算出部43は同じ共通代表点に属するメンバベクトル同士の重心点を算出し、共通代表点設定部44はその重心点を新たな共通代表点とする。つまり、重心算出部43は、1つの共通代表点に割り当てられたメンバベクトル群を1つのグループとし、そのグループ毎に重心点を算出する。共通代表点設定部44は、その算出された重心点をそれぞれ共通代表点とし、その処理結果をメンバベクトル割り当て部47に供給し、処理をステップS8に戻し、それ以降の処理を繰り返す。メンバベクトル割り当て部47は、供給された共通代表点の情報に基づいて、再度、各共通代表点に対するメンバベクトルの割り当てを行う。   In step S10, the center-of-gravity calculation unit 43 calculates the center-of-gravity point of member vectors belonging to the same common representative point, and the common representative point setting unit 44 sets the center-of-gravity point as a new common representative point. That is, the center-of-gravity calculation unit 43 sets the member vector group assigned to one common representative point as one group, and calculates the center-of-gravity point for each group. The common representative point setting unit 44 sets the calculated barycentric points as common representative points, supplies the processing result to the member vector allocation unit 47, returns the processing to step S8, and repeats the subsequent processing. The member vector assigning unit 47 assigns member vectors to the common representative points again based on the supplied common representative point information.

つまり、メンバベクトル割り当て部47、重心算出部43、および共通代表点設定部44は、メンバベクトル割り当て部47がステップS9において、各メンバベクトルが属する共通代表点が全て前回と同じであると判定するまで、ステップS8乃至ステップS10の処理を繰り返す。   That is, the member vector assigning unit 47, the centroid calculating unit 43, and the common representative point setting unit 44 determine that the member vector assigning unit 47 determines that all the common representative points to which each member vector belongs are the same as in the previous time in step S9. Steps S8 to S10 are repeated until the above.

ステップ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 vector allocation unit 47 supplies the determination result to the common representative point number determination unit 45, and the process proceeds to step S5. Return and execute the subsequent processing.

すなわち、共通代表点数判定部45、共通代表点分割部46、メンバベクトル割り当て部47、重心算出部43、および共通代表点設定部44は、共通代表点数判定部45がステップS5において、共通代表点の数GpNumの値が目標数NumReqの値より小さくないと判定するまで、ステップS5乃至ステップS10の処理を繰り返す。   That is, the common representative point number determining unit 45, the common representative point dividing unit 46, the member vector assigning unit 47, the centroid calculating unit 43, and the common representative point setting unit 44 are configured such that the common representative point number determining unit 45 uses the common representative point determining unit 45 in step S5. Steps S5 to S10 are repeated until it is determined that the number GpNum is not smaller than the target number NumReq.

そして、ステップ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 number determination unit 45 supplies information on the common representative point to the common representative point storage control unit 48, and the process proceeds to step S11.

共通代表点記憶制御部48は、ステップS11において、その共通代表点の情報を、共通代表点情報記憶部13に供給して記憶させる。共通代表点情報記憶部13は、その供給された共通代表点の情報を記憶する。   In step S11, the common representative point storage control unit 48 supplies the common representative point information to the common representative point information storage unit 13 for storage. The common representative point information storage unit 13 stores information on the supplied common representative point information.

共通代表点記憶制御部48は、ステップS11の処理を終了すると、共通代表点設定処理を終了する。   The common representative point storage control unit 48 ends the common representative point setting process when the process of step S11 ends.

以上のように、共通代表点設定部12が共通代表点設定処理を行い、重心点を用いて共通代表点をR個設定することにより、特徴量比較装置10は、検索対象のベクトル集合(モデル)が複数存在する場合であっても、各集合(モデル)の近傍テーブルを容易に作成し、さらに、その近傍テーブルを用いて各集合(モデル)に対する入力ベクトルの近傍ベクトルを高速に検索することができる。   As described above, the common representative point setting unit 12 performs the common representative point setting process, and sets R common representative points using the centroid points. ) Easily create a neighborhood table for each set (model), and use that neighborhood table to quickly search for neighborhood vectors of input vectors for each set (model). Can do.

以上のようにしてR個の共通代表点を設定した特徴量比較装置10は、各ベクトルグループ(モデル)について、その各共通代表点の近傍ベクトルに関するテーブル情報である近傍テーブルをベクトルグループの数(M個)だけ作成する(M個の近傍テーブルからなる近傍テーブル群を作成する)。近傍テーブル群作成部14(図1)は、共通代表点情報記憶部13に記憶されている共通代表点の情報と、ベクトル情報記憶部11に記憶されているベクトル情報に基づいて、近傍テーブル群作成処理を実行する。図15のフローチャートを参照してその近傍テーブル群作成処理の流れについて説明する。   The feature quantity comparison apparatus 10 having set R common representative points as described above, for each vector group (model), the neighborhood table, which is table information related to the neighborhood vector of each common representative point, is represented by the number of vector groups ( M)) (create a neighborhood table group consisting of M neighborhood tables). The neighborhood table group creation unit 14 (FIG. 1) is based on the common representative point information stored in the common representative point information storage unit 13 and the vector information stored in the vector information storage unit 11. Execute the creation process. The flow of the neighborhood table group creation process will be described with reference to the flowchart of FIG.

近傍テーブル群作成処理が開始されると、近傍テーブル群作成部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 group creation unit 14 in step S31, variable j (0 ≦ j ≦ M−1) indicating the vector group to be processed. ), A variable h (0 ≦ h ≦ R−1) indicating a common representative point to be processed, and a variable i (0 ≦ i ≦ N−1) indicating a member vector to be processed are initialized. An initialization process such as setting to a value (eg, “0”) is performed. M, R, and N are arbitrary natural numbers.

ステップ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 table creation unit 63, and the process proceeds to step S33. In step S33, the neighborhood table creation unit 63 creates a neighborhood table for the vector group S (j). Details of this neighborhood table creation processing will be described later.

近傍テーブルを作成すると近傍テーブル作成部63は、その作成した近傍テーブルを近傍テーブル記憶制御部64に供給し、処理をステップS34に進める。   When the neighborhood table is created, the neighborhood table creation unit 63 supplies the created neighborhood table to the neighborhood table storage control unit 64, and the process proceeds to step S34.

ステップS34において近傍テーブル記憶制御部64は、その作成した近傍テーブルを取得すると、それを近傍テーブル群記憶部15に供給し、既に記憶されている他のベクトルグループの近傍テーブルにより構成される近傍テーブル群(1つまたは複数の近傍テーブル)に追加するように記憶させる。近傍テーブル群記憶部15は、その制御に基づいて、供給された近傍テーブルを既に記憶している近傍テーブル群に追加するように記憶する。なお、近傍テーブル群記憶部15が1つも近傍テーブルを記憶しておらず、供給された近傍テーブルが1つ目の近傍テーブルの場合、近傍テーブル群記憶部15は、その供給された近傍テーブルを新たな近傍テーブル群として記憶する。   In step S34, when the neighborhood table storage control unit 64 acquires the created neighborhood table, the neighborhood table storage control unit 64 supplies the neighborhood table to the neighborhood table group storage unit 15, and is composed of neighborhood tables of other vector groups already stored. Remember to add to group (one or more neighborhood tables). Based on the control, the neighborhood table group storage unit 15 stores the supplied neighborhood table so as to be added to the already stored neighborhood table group. If the neighborhood table group storage unit 15 stores no neighborhood table and the supplied neighborhood table is the first neighborhood table, the neighborhood table group storage unit 15 stores the supplied neighborhood table. Store as a new neighborhood table group.

ステップS34の処理を終了すると近傍テーブル記憶制御部64は、処理結果を近傍テーブル群作成制御部62に返す。近傍テーブル群作成制御部62は、ステップS35において変数jの値に「+1」を加算し、近傍テーブルを作成する処理対象ベクトルグループを変更する。   When the process of step S34 is completed, the neighborhood table storage control unit 64 returns the processing result to the neighborhood table group creation control unit 62. In step S <b> 35, the neighborhood table group creation control unit 62 adds “+1” to the value of the variable j, and changes the processing target vector group for creating 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 table creation unit 63, and the neighborhood table storage control unit 64 created neighborhood tables for all vector groups in step S32. Steps S32 to S35 are repeated until it is determined that M neighborhood tables have been created). If it is determined in step S32 that the neighborhood tables for all vector groups have been created, the neighborhood table group creation control unit 62 ends the neighborhood table group creation process.

このように近傍テーブル群作成処理を実行することにより近傍テーブル群作成処理部14は、各ベクトルグループについて近傍テーブルを作成する(M個の近傍テーブルからなる近傍テーブル群を作成する)ことができる。その際、各ベクトルグループに共通の共通代表点を用いることにより、近傍テーブル群作成処理部14は、検索対象のベクトル集合(ベクトルグループ)が複数存在する場合であっても、それぞれの近傍テーブルを高速に作成することができる。また、この近傍テーブル群を入力ベクトルの最近傍ベクトルの検索に用いることにより、特徴量比較装置10は、検索対象のベクトル集合が複数存在する場合であっても、各集合から入力ベクトルの近傍ベクトルを高速に検索することができる。   By executing the neighborhood table group creation processing in this way, the neighborhood table group creation processing unit 14 can create a neighborhood table for each vector group (create a neighborhood table group including M neighborhood tables). At that time, by using a common representative point common to each vector group, the neighborhood table group creation processing unit 14 selects each neighborhood table even when there are a plurality of search target vector sets (vector groups). Can be created at high speed. Further, by using this neighborhood table group for the search of the nearest neighbor vector of the input vector, the feature quantity comparison apparatus 10 can use the neighborhood vector of the input vector from each set even when there are a plurality of vector sets to be searched. Can be searched at high speed.

次に、図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 table creation unit 63 determines whether or not all R common representative point records have been created in step S51. . As described with reference to FIG. 3, the neighborhood table is composed of records corresponding to the common representative points. The neighborhood table creation control unit 81 obtains all the neighborhood vectors of the common representative points (K (K is an arbitrary natural number)), completes creation of R records, and determines whether the neighborhood table is completed. judge. When it is determined that there is a common representative point for which no record has yet been created (neighbor table has not been obtained) and records for all common representative points have not been created, the neighborhood table creation control unit 81 performs processing. Proceed to S52.

ステップ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 information creation unit 82 obtains distance information (common representative point C (h)) between the common representative point C (h) to be processed and each vector Vm (each member vector of the vector group to be processed). 1/2) of the distance to the member vector Vm is created. Details of this distance information creation processing will be described later. When the distance information creation unit 82 creates the distance information, the distance information creation unit 82 supplies the distance information to the distance information sorting unit 83, and the process proceeds to step S53. In step S <b> 53, the distance information sorting unit 83 sorts the created distance information in ascending order of distance (in ascending order of value) and supplies the sorting result to the distance information extracting unit 84. The distance information extraction unit 84 extracts K pieces of distance information from the shorter distance in step S54, and supplies the extracted distance information to the record holding unit 85.

レコード保持部85は、ステップS55において、この距離情報抽出部84が抽出した距離情報群を、現在処理対象とされているグループS(j)の近傍テーブルに、共通代表点C(h)のレコードとして追加するように保持する。すなわち、レコード保持部85は、距離情報抽出部84より供給された距離情報群を近傍テーブルのレコードとして保持する。   In step S55, the record holding unit 85 records the distance information group extracted by the distance information extraction unit 84 in the neighborhood table of the group S (j) that is the current processing target, and records the common representative point C (h). Hold as you add. That is, the record holding unit 85 holds the distance information group supplied from the distance information extraction unit 84 as a record in the neighborhood table.

レコード保持部85は、その処理結果を近傍テーブル作成制御部81に返す。近傍テーブル作成制御部81は、ステップS56において変数hの値に「+1」を加算し、処理対象共通代表点を変更し、処理をステップS51に戻し、それ以降の処理を繰り返す。   The record holding unit 85 returns the processing result to the neighborhood table creation control unit 81. In step S56, the neighborhood table creation control unit 81 adds “+1” to the value of the variable h, changes the processing target common representative point, returns the processing to step S51, and repeats the subsequent processing.

つまり、近傍テーブル作成制御部81、距離情報作成部82、距離情報ソート部83、距離情報抽出部84、およびレコード保持部85は、ステップS51において近傍テーブル作成制御部81が全ての共通代表点のレコードを作成したと判定するまで、ステップS51乃至ステップS56の処理を繰り返す。   That is, the neighborhood table creation control unit 81, the distance information creation unit 82, the distance information sort unit 83, the distance information extraction unit 84, and the record holding unit 85 are configured so that the neighborhood table creation control unit 81 sets all the common representative points in step S51. Steps S51 to S56 are repeated until it is determined that a record has been created.

そして、ステップ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 unit 85 is supplied as a neighborhood table to the neighborhood table storage control unit 64 (FIG. 7), the process is returned to step S33 in FIG. 15, and the processes after step S34 are executed.

次に、図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 information creation unit 82 performs the current processing target for the common representative point C (h) that is the current processing target in step S71. It is determined whether or not the distance information of all N member vectors Vm (i, j) in the vector group S (j) is created. When it is determined that there is a member vector Vm (i, j) for which distance information has not yet been created and records for all R common representative points have not been created, the distance information creation control unit 101 performs processing. Proceed to S72.

距離算出部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 distance calculation unit 102 calculates the distance between the common representative point C (h) currently processed and the member vector Vm (i, j). For example, when the common representative point C (h) and the member vector Vm (i, j) exist on one plane and the position is indicated by the x coordinate and the y coordinate, the coordinates of the common representative point C (h) are If (x1, y1) and the coordinates of the member vector Vm (i, j) are (x2, y2), the distance Dcm (h, i) between the common representative point C (h) and the member vector Vm (i, j) , J) is expressed by the following equation (1).

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 distance calculation unit 102 calculates the distance in this way, the distance calculation unit 102 supplies the distance to the ½ multiplication unit 103. In step S <b> 73, the ½ multiplier 13 multiplies the calculated distance by ½, calculates Dcm / 2, and supplies the multiplication result to the distance information holding unit 104.

距離情報保持部104は、ステップS74において、その乗算結果をメンバベクトルVm(i,j)の距離情報として保持し、その処理結果を距離情報作成制御部101に返す。距離情報作成制御部101は、ステップS75において、処理対象のメンバベクトルVmを示す変数iの値に「+1」を加算し、処理対象メンバベクトルを変更する。処理対象メンバベクトルを変更すると距離情報作成制御部101は、処理をステップS71に戻し、新たな処理対象メンバベクトルについて、それ以降の処理を繰り返す。   In step S74, the distance information holding unit 104 holds the multiplication result as distance information of the member vector Vm (i, j), and returns the processing result to the distance information creation control unit 101. In step S75, the distance information creation control unit 101 adds “+1” to the value of the variable i indicating the processing target member vector Vm to change the processing target member vector. When the process target member vector is changed, the distance information creation control unit 101 returns the process to step S71, and repeats the subsequent processes for the new process target member vector.

つまり、距離情報作成制御部101、距離算出部102、1/2乗算部103、および距離情報保持部104は、ステップS71において距離情報作成制御部101が全てのメンバベクトルの距離情報を作成したと判定するまでステップS71乃至ステップS75の処理を繰り返す。   That is, the distance information creation control unit 101, the distance calculation unit 102, the ½ multiplication unit 103, and the distance information holding unit 104 have created the distance information for all the member vectors in step S71. Steps S71 to S75 are repeated until it is determined.

そして、ステップ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 creation control unit 101 ends the distance information creation process, and supplies the distance information held by the distance information holding unit 104 to the distance information sorting unit 83 (FIG. 8). The process returns to step S52 in FIG. 16 to execute the processes after step S53.

図1の特徴量比較装置10の最近傍ベクトル群検索部16は、近傍テーブル群記憶部15に記憶されている近傍テーブル群、共通代表点情報記憶部13に記憶されている共通代表点の情報、およびベクトル情報記憶部11に記憶されているベクトル情報に基づいて、入力ベクトルに対する最近傍ベクトルをベクトルグループ(モデル)毎に検索し、それらを最近傍ベクトル群として出力する。この最近傍ベクトル群検索処理の流れを図18のフローチャートを参照して説明する。入力ベクトルが入力され、最近傍ベクトル群検索処理が開始されると、最近傍ベクトル群検索部16の初期化処理部121は、ステップS91において、ベクトル情報記憶部11よりベクトル情報を取得し、共通代表点情報記憶部13より共通代表点の情報を取得し、近傍テーブル群記憶部15より近傍テーブル群を取得し、さらに、処理対象のベクトルグループを示す変数jの値、処理対象の共通代表点を示す変数hの値、並びに、処理対象のメンバベクトルを示す変数iおよび変数kの値をそれぞれ初期値(例えば「0」)に設定する等の初期化処理を行う。   The nearest neighbor vector group search unit 16 of the feature quantity comparison device 10 of FIG. 1 has information on common representative points stored in the neighborhood table group stored in the neighborhood table group storage unit 15 and the common representative point information storage unit 13. Based on the vector information stored in the vector information storage unit 11, the nearest neighbor vector for the input vector is searched for each vector group (model), and these are output as a nearest neighbor vector group. The flow of this nearest neighbor vector group search process will be described with reference to the flowchart of FIG. When the input vector is input and the nearest neighbor vector group search process is started, the initialization processing unit 121 of the nearest neighbor vector group search unit 16 acquires the vector information from the vector information storage unit 11 in step S91. The information of the common representative point is acquired from the representative point information storage unit 13, the neighborhood table group is acquired from the neighborhood table group storage unit 15, and the value of the variable j indicating the vector group to be processed, the common representative point of the processing target Initialization processing such as setting the value of the variable h indicating, and the values of the variables i and k indicating the member vector to be processed to initial values (for example, “0”).

最近傍ベクトル群検索制御部122は、ステップS92において、M個全てのベクトルグループ(モデル)について入力ベクトルの最近傍ベクトルを検索したか否かを判定し、未処理のベクトルグループが存在すると判定した場合、その判定結果を最近傍ベクトル検索部123に供給し、処理をステップS93に進める。ステップS93において、最近傍ベクトル検索部123は、処理対象のベクトルグループについて入力ベクトルの最近傍ベクトルを検索する処理を実行する。この最近傍ベクトル検索処理の詳細については後述する。最近傍ベクトル検索部123は、最近傍ベクトルを検索するとその検索結果を最近傍ベクトル群検索制御部122に供給し、処理をステップS94に進める。ステップS94において、最近傍ベクトル群検索制御部122は、変数jの値に「+1」を加算し、処理対象ベクトルグループを変更し、処理をステップS91に戻し、新たな処理対象ベクトルグループについてそれ以降の処理を繰り返す。   In step S92, the nearest neighbor vector group search control unit 122 determines whether or not the nearest vector of the input vector has been searched for all M vector groups (models), and determines that there is an unprocessed vector group. In this case, the determination result is supplied to the nearest neighbor vector search unit 123, and the process proceeds to step S93. In step S93, the nearest neighbor vector search unit 123 executes a process of searching for the nearest neighbor vector of the input vector for the processing target vector group. Details of this nearest neighbor vector search processing will be described later. When the nearest neighbor vector search unit 123 searches for the nearest neighbor vector, the nearest neighbor vector search unit 123 supplies the search result to the nearest neighbor vector group search control unit 122, and the process proceeds to step S94. In step S94, the nearest neighbor vector group search control unit 122 adds “+1” to the value of the variable j, changes the processing target vector group, returns the process to step S91, and thereafter processes the new processing target vector group. Repeat the process.

すなわち、最近傍ベクトル群検索制御部122および最近傍ベクトル検索部123は、ステップS92において最近傍ベクトル群検索制御部122がM個全てのベクトルグループについて最近傍ベクトルを検索したと判定するまでステップS92乃至ステップS94の処理を繰り返す。   That is, the nearest neighbor vector group search control unit 122 and the nearest neighbor vector search unit 123 perform step S92 until it is determined in step S92 that the nearest neighbor vector group search control unit 122 has searched nearest neighbor vectors for all M vector groups. Thru | or the process of step S94 is repeated.

そして、ステップ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 search control unit 122 selects the nearest neighbor vector group. To output the nearest neighbor vector group search process.

このように最近傍ベクトル群検索部16が入力ベクトルの最近傍ベクトルを各ベクトルグループ(モデル)に対して検索し、最近傍ベクトル群を出力することにより、特徴量比較装置10は、複数のモデルが存在する場合であっても、容易に各モデルの特徴と入力情報の特徴を比較することができる。   As described above, the nearest neighbor vector group search unit 16 searches each vector group (model) for the nearest neighbor vector of the input vector, and outputs the nearest neighbor vector group. Even if there is a feature, the features of each model can be easily compared with the features of the input information.

次に、図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 vector search unit 123, in step S111, sets the value of the variable h indicating the common representative point to be processed, and the processing target. Initialization processing such as setting the values of variable i and variable k indicating the member vector to initial values (for example, “0”) is performed.

ステップS112において、最近傍ベクトル検索制御部142は、R個全ての共通代表点C(h)について最近傍ベクトルの存在判定を行ったか否かを判定する。全ての共通代表点C(h)について最近傍ベクトルの存在判定を行っていない、すなわち、未処理の共通代表点が存在すると判定した場合、最近傍ベクトル検索制御部142は、その判定結果を距離算出部143に供給し、処理をステップS113に進める。   In step S112, the nearest neighbor vector search control unit 142 determines whether or not the presence determination of the nearest neighbor vector has been performed for all R common representative points C (h). When it is determined that the presence determination of the nearest neighbor vector is not performed for all the common representative points C (h), that is, it is determined that there is an unprocessed common representative point, the nearest neighbor vector search control unit 142 sets the determination result as a distance. The data is supplied to the calculation unit 143, and the process proceeds to step S113.

ステップS113において、距離算出部143は、入力ベクトルVinと共通代表点C(h)との距離Dinc(h)を算出し、その算出結果を距離比較部144に供給する。距離算出部143は、上述した式(1)、すなわち、共通代表点とメンバベクトルとの距離の場合と同様に、各座標の差の2乗の総和の平方根を算出する。   In step S113, the distance calculation unit 143 calculates the distance Dinc (h) between the input vector Vin and the common representative point C (h), and supplies the calculation result to the distance comparison unit 144. The distance calculation unit 143 calculates the square root of the sum of the squares of the differences between the coordinates as in the case of the above-described equation (1), that is, the distance between the common representative point and the member vector.

距離比較部144は、ステップS114において、距離Dinc(h)を、近傍テーブルの共通代表点C(h)のレコードの距離情報の最大値と比較し、ステップS115において距離Dinc(h)の方が短いか否かを判定する。そして距離Dinc(h)よりも近傍テーブルの共通代表点C(h)のレコードの距離情報の最大値の方が短いと判定した場合、距離比較部144は、その比較結果を最近傍ベクトル検索制御部142に返し、処理をステップS116に進める。   In step S114, the distance comparison unit 144 compares the distance Dinc (h) with the maximum value of the distance information of the record of the common representative point C (h) in the neighborhood table. In step S115, the distance Dinc (h) is greater. Determine whether it is short. If it is determined that the maximum value of the distance information of the record of the common representative point C (h) in the neighborhood table is shorter than the distance Dinc (h), the distance comparison unit 144 uses the comparison result as the nearest neighbor vector search control. Returning to unit 142, the process proceeds to step S116.

ステップS116において、最近傍ベクトル検索制御部142は、変数hの値に「+1」を加算し、処理対象共通代表点C(h)を変更し、処理をステップS112に戻し、新たな共通代表点C(h)についてステップS112以降の処理を実行する。   In step S116, the nearest neighbor vector search control unit 142 adds “+1” to the value of the variable h, changes the processing target common representative point C (h), returns the process to step S112, and sets a new common representative point. For C (h), the processes after step S112 are executed.

つまり、最近傍ベクトル検索制御部142、距離算出部143、および距離比較部144は、ステップS112において最近傍ベクトル検索制御部142が全ての共通代表点C(h)について最近傍ベクトルの存在判定を行ったと判定するか、ステップS115において距離比較部144が距離Dinc(h)の方が近傍テーブルの共通代表点C(h)のレコードの距離情報の最大値よりも短いと判定するまで、ステップS112乃至ステップS116の処理を繰り返す。   That is, the nearest neighbor vector search control unit 142, the distance calculation unit 143, and the distance comparison unit 144 determine that the nearest neighbor vector search control unit 142 determines the presence of the nearest neighbor vector for all common representative points C (h) in step S112. Until the distance comparison unit 144 determines in step S115 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 process proceeds to step S112. Thru | or the process of step S116 is repeated.

そして、ステップ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 distance comparison unit 144 determines the determination result. The data is supplied to the in-table search unit 145, and the process proceeds to step S117. In step S117, the in-table search unit 145 searches for a vector closest to the input vector in the treatment target vicinity table. That is, the in-table search unit 145 limits the search range of the nearest neighbor vector of the input vector to the neighborhood vectors registered in the neighborhood table, and searches for the nearest neighbor vector from those neighborhood vectors. The details of the flow of the nearest neighbor vector search process will be described later.

テーブル内検索部145は、ステップS117の処理を終了すると、検索結果を最近傍ベクトル設定部146に供給する。最近傍ベクトル146は、ステップS118において、その検索結果として供給された、テーブル内検索部145により検索されたベクトルを最近傍ベクトルに設定し、その最近傍ベクトルを最近傍ベクトル群検索制御部122に供給し、最近傍ベクトル検索処理を終了して処理を図18のステップS93に戻し、ステップS94以降の処理を実行させる。   The table search unit 145 supplies the search result to the nearest neighbor vector setting unit 146 when the process of step S117 is completed. The nearest neighbor vector 146 sets the vector searched by the in-table search unit 145 supplied as the search result in step S118 as the nearest neighbor vector, and sets the nearest neighbor vector to the nearest neighbor vector group search control unit 122. Then, the nearest neighbor vector search process ends, the process returns to step S93 in FIG. 18, and the processes after step S94 are executed.

つまり、近傍テーブルにおいて、入力ベクトルとの距離が、そのレコードの距離情報の最大値(距離の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-table search unit 145 determines the common point. The nearest neighbor vector of the input vector is searched from the neighborhood vectors of representative points (member vectors registered in the neighborhood table).

また、ステップ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 search control unit 142 supplies the determination result to the in-group overall search unit 147, and the process proceeds to step S119.

ステップS119において、グループ内全体検索部147は、グループ内の全てのメンバベクトルから入力ベクトルに最も近いベクトル(最近傍ベクトル)を検索する。そして、グループ内全体検索部147は、その検索結果を最近傍ベクトル設定部146に供給し、処理をステップS118に戻し、それ以降の処理を実行させる。   In step S119, the in-group entire search unit 147 searches for a vector (nearest neighbor vector) closest to the input vector from all member vectors in the group. Then, the entire group search unit 147 supplies the search result to the nearest neighbor vector setting unit 146, returns the process to step S118, and executes the subsequent processes.

この場合、最近傍ベクトル設定部146は、ステップS118において、その検索結果として供給された、グループ内全体検索部147により検索されたメンバベクトルを最近傍ベクトルに設定し、その最近傍ベクトルを最近傍ベクトル群検索制御部122に供給し、最近傍ベクトル検索処理を終了して処理を図18のステップS93に戻し、ステップS94以降の処理を実行させる。   In this case, the nearest neighbor vector setting unit 146 sets the member vector searched by the overall group search unit 147 supplied as the search result in step S118 as the nearest neighbor vector, and sets the nearest neighbor vector to the nearest neighbor. This is supplied to the vector group search control unit 122, the nearest neighbor vector search process is terminated, the process returns to step S93 in FIG. 18, and the processes after step S94 are executed.

以上のように、最近傍ベクトル検索部123は、入力ベクトルと共通代表点との距離に応じて最近傍ベクトルの検索範囲を近傍ベクトル内か若しくはベクトルグループ全体に設定し、その検索範囲で検索処理を行う。このようにすることにより、入力ベクトルが共通代表点のいずれかに近い場合、具体的には、入力ベクトルと共通代表点との距離が、近傍テーブルのその共通代表点のレコードに登録されている距離情報(共通代表点と近傍ベクトルとの距離の2分の1)の最大値より短くなる共通代表点が存在する場合、最近傍ベクトル検索部123は、最近傍ベクトルの検索範囲をその共通代表点の近傍ベクトルに限定することができるので、不要な候補(明らかに最近傍ベクトルとならないメンバベクトル)を検索範囲より除去し、最近傍ベクトルを高速に検索することができる。   As described above, the nearest neighbor vector search unit 123 sets the nearest neighborhood vector search range within the neighborhood vector or the entire vector group according to the distance between the input vector and the common representative point, and performs search processing within the search range. I do. In this way, when the input vector is close to one of the common representative points, specifically, the distance between the input vector and the common representative point is registered in the record of the common representative point in the neighborhood table. When there is a common representative point that is shorter than the maximum value of the distance information (one half of the distance between the common representative point and the neighborhood vector), the nearest neighborhood vector search unit 123 sets the search range of the nearest neighborhood vector as the common representative point. Since it can be limited to the neighborhood vectors of points, unnecessary candidates (member vectors that are not clearly nearest neighbor vectors) can be removed from the search range, and the nearest neighbor vectors can be searched at high speed.

また、上述したように処理を行うことにより、ベクトルグループの全てのメンバベクトルを検索範囲とする必要があるグループのみベクトルグループ全体に対して検索処理を行い、明らかに不要なメンバベクトルが存在するベクトルグループに対しては、近傍ベクトル内に対する検索処理に切り替えることができる。つまり、最近傍ベクトル検索部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 vector search unit 123 can search a neighborhood vector of an input vector from each set at high speed without reducing the search accuracy. It is what you want to do.

次に、図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 intra-table search unit 145 sets the value of the variable k indicating the neighborhood vector to be processed to the initial value (step S131). For example, “0” is set, the nearest vector candidate Vkeep held by the data holding unit 165 is set to a virtual point at infinity from the input vector, or the distance from the nearest vector candidate Vkeep to the input vector An initialization process such as setting Dkeep to infinity is performed.

テーブル内検索制御部162は、ステップS132において、レコードに含まれるK個全ての近傍ベクトルVt(k)(0≦k≦K−1)について検索したか否かを判定する。未処理の近傍ベクトルVt(k)が存在すると判定した場合、テーブル内検索制御部162は、判定結果を距離算出部163に供給し、処理をステップS133に進める。   In step S132, the in-table search control unit 162 determines whether or not all K neighborhood vectors Vt (k) (0 ≦ k ≦ K−1) included in the record have been searched. If it is determined that there is an unprocessed neighborhood vector Vt (k), the in-table search control unit 162 supplies the determination result to the distance calculation unit 163, and the process proceeds to step S133.

ステップS133において、距離算出部163は、入力ベクトルVinと処理対象の近傍ベクトルVt(k)との距離Dint(k)を算出し、算出結果を更新制御部164に供給し、処理をステップS134に進める。   In step S133, the distance calculation unit 163 calculates a distance Dint (k) between the input vector Vin and the neighborhood vector Vt (k) to be processed, supplies the calculation result to the update control unit 164, and the process proceeds to step S134. Proceed.

ステップ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 update control unit 164 determines whether or not the distance Dint (k) is shorter than the distance Dkeep between the input vector Vin and the nearest neighbor vector candidate Vkeep. When it is determined that the distance Dint (k) is shorter than the distance Dkeep, the update control unit 164 supplies information on the processing target neighborhood vector Vt (k) and the distance Dint (k) to the data holding unit 165, and step S135. Proceed with the process. In step S135, the data holding unit 165 stores the information on the stored nearest neighbor vector candidate Vkeep and the distance Dkeep from the input vector, and the supplied neighborhood vector Vt (k) and distance Dint (k). Use to update.

更新制御部164は、その制御結果をテーブル内検索制御部162に返し、処理をステップS136に進める。また、ステップS134において距離Dint(k)が、入力ベクトルVinと保持しているベクトルVkeepとの距離Dkeepより長いと判定した場合、更新制御部164は、ステップS135の処理を省略し、その制御結果をテーブル内検索制御部162に返し、ステップS136に処理を進める。   The update control unit 164 returns the control result to the in-table search control unit 162, and the process proceeds to step S136. If it is determined in step S134 that the distance Dint (k) is longer than the distance Dkeep between the input vector Vin and the held vector Vkeep, the update control unit 164 omits the process in step S135 and the control result thereof Is returned to the in-table search control unit 162, and the process proceeds to step S136.

ステップS136において、テーブル内検索制御部162は、変数kの値に「+1」を加算し、処理対象近傍ベクトルVt(k)を変更し、処理をステップS132に戻し、新たな処理対象近傍ベクトルVt(k)について、それ以降の処理を繰り返す。   In step S136, the in-table search control unit 162 adds “+1” to the value of the variable k, changes the processing target neighborhood vector Vt (k), returns the processing to step S132, and sets a new processing target neighborhood vector Vt. The subsequent processing is repeated for (k).

すなわち、テーブル内検索制御部162、距離算出部163、更新制御部164、およびデータ保持部165は、テーブル内検索制御部162がステップS132においてレコードに含まれる全ての近傍ベクトルVt(k)について検索したと判定するまでステップS132乃至ステップS136の処理を繰り返す。   That is, the in-table search control unit 162, the distance calculation unit 163, the update control unit 164, and the data holding unit 165 search the table search control unit 162 for all neighboring vectors Vt (k) included in the record in step S132. The processing from step S132 to step S136 is repeated until it is determined that it has been performed.

そして、ステプ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 search control unit 162 stores the nearest neighbor vector candidates Vkeep and the data holding unit 165. Information on the distance Dkeep from the input vector is supplied as a search result to the nearest neighbor vector setting unit 146, the table search process is terminated, the process returns to step S117 in FIG. 19, and the processes after step S118 are executed.

次に、図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 internal search unit 147 initializes the value of the variable i indicating the member vector to be processed in step S151. Set to a value (for example, “0”), set the nearest neighbor vector candidate Vkeep held by the data holding unit 185 to a virtual point at infinity from the input vector, or from the nearest neighbor vector candidate Vkeep input vector The initialization process such as setting the distance Dkeep to infinity is performed.

ステップ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 distance calculation unit 183, and the process proceeds to step S153.

ステップS153において、距離算出部183は、入力ベクトルVinと処理対象のメンバベクトルVm(i,j)との距離Dint(i)を算出し、算出結果を更新制御部184に供給し、処理をステップS154に進める。   In step S153, the distance calculation unit 183 calculates the distance Dint (i) between the input vector Vin and the member vector Vm (i, j) to be processed, supplies the calculation result to the update control unit 184, and performs the processing step. Proceed to S154.

ステップ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 update control unit 184 determines whether the distance Dint (i) is shorter than the distance Dkeep between the input vector Vin and the nearest neighbor vector candidate Vkeep. When it is determined that the distance Dint (i) is shorter than the distance Dkeep, the update control unit 184 supplies information on the processing target member vector Vm (i, j) and the distance Dint (i) to the data holding unit 185, The process proceeds to step S155. In step S155, the data holding unit 185 uses the supplied member vector Vm (i, j) and the distance Dint (i) as the information on the held nearest neighbor vector candidate Vkeep and the distance Dkeep from the input vector. Update using the information.

更新制御部184は、その制御結果をグループ内全体検索制御部182に返し、処理をステップS156に進める。また、ステップS154において距離Dint(i)が、入力ベクトルVinと保持している最近傍ベクトルVkeepとその入力ベクトルからの距離Dkeepより長いと判定した場合、更新制御部184は、ステップS155の処理を省略し、その制御結果をテーブル内検索制御部182に返し、ステップS156に処理を進める。   The update control unit 184 returns the control result to the in-group overall search control unit 182 and advances the process to step S156. If it is determined in step S154 that the distance Dint (i) is longer than the input vector Vin, the nearest neighbor vector Vkeep held and the distance Dkeep from the input vector, the update control unit 184 performs the process of step S155. The control result is omitted, and the control result is returned to the in-table search control unit 182, and the process proceeds to step S156.

ステップS156において、テーブル内検索制御部162は、変数iの値に「+1」を加算し、処理対象メンバベクトルVm(i,j)を変更し、処理をステップS152に戻し、新たな処理対象メンバベクトルVm(i,j)について、それ以降の処理を繰り返す。   In step S156, the in-table search control unit 162 adds “+1” to the value of the variable i, changes the processing target member vector Vm (i, j), returns the processing to step S152, and sets a new processing target member. The subsequent processing is repeated for the vector Vm (i, j).

すなわち、テーブル内検索制御部162、距離算出部163、更新制御部164、およびデータ保持部165は、テーブル内検索制御部162がステップS132においてレコードに含まれるN個全てのメンバベクトルVm(i,j)(0≦i≦N−1)について検索したと判定するまでステップS152乃至ステップS156の処理を繰り返す。   That is, the in-table search control unit 162, the distance calculation unit 163, the update control unit 164, and the data holding unit 165 are configured so that the in-table search control unit 162 includes all N member vectors Vm (i, j) The processing from step S152 to step S156 is repeated until it is determined that the search is performed for (0 ≦ i ≦ N−1).

そして、ステップ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 vector setting unit 146 as a search result, the entire group search process is terminated, the process returns to step S119 in FIG. Execute the process.

以上のように、図1の特徴量比較装置10は、各ベクトルグループ(モデル)に共通の代表点を算出し、その共通代表点を用いて近傍テーブルを作成し、それらを用いて入力ベクトルの最近傍ベクトルの検索を行うので、検索対象のベクトル集合が複数存在する場合であっても、各集合から入力ベクトルの近傍ベクトルを高速に検索することができるようにするものである。つまり、特徴量比較装置10は、検索対象の集合が複数存在する場合であっても、各集合から目的の要素を高速に検索することができる。   As described above, the feature quantity comparison apparatus 10 in FIG. 1 calculates a representative point common to each vector group (model), creates a neighborhood table using the common representative point, and uses them to calculate an input vector. Since the nearest neighbor vector is searched, even if there are a plurality of search target vector sets, the neighborhood vector of the input vector can be searched from each set at high speed. That is, the feature quantity comparison apparatus 10 can search a target element from each set at high speed even when there are a plurality of sets to be searched.

なお、以上において、各パラメータの定数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 amount comparison device 10 has been described. However, the present invention can also be applied to a system including a plurality of devices. For example, the units of the feature amount comparison device 10 in FIG. You may make it comprise as a different apparatus. FIG. 22 is a diagram illustrating a configuration example of a feature amount comparison system to which the present invention is applied.

図22において、特徴量比較システム200は、記憶装置211、共通代表点設定装置212、近傍テーブル群作成装置214、および最近傍ベクトル群検索装置216を有しており、図1の特徴量比較装置10と同様の処理を行う。   22, the feature amount comparison system 200 includes a storage device 211, a common representative point setting device 212, a neighborhood table group creation device 214, and a nearest neighbor vector group search device 216. The feature amount comparison device in FIG. Processing similar to 10 is performed.

記憶装置211は、ベクトル情報記憶部11、共通代表点情報記憶部13、および近傍テーブル群記憶部15を内蔵しており、上述した各種の情報をそれぞれの記憶部において記憶する。   The storage device 211 includes a vector information storage unit 11, a common representative point information storage unit 13, and a neighborhood table group storage unit 15, and stores the various types of information described above in the respective storage units.

共通代表点設定装置212は図1の共通代表点設定部12に対応し、近傍テーブル群作成装置214は図1の近傍テーブル群作成部14に対応し、最近傍ベクトル群検索装置216は図1の最近傍ベクトル群検索部16に対応し、それぞれ同様の処理を行う。従って、これらの説明については省略する。   The common representative point setting device 212 corresponds to the common representative point setting unit 12 in FIG. 1, the neighborhood table group creation device 214 corresponds to the neighborhood table group creation unit 14 in FIG. 1, and the nearest neighborhood vector group search device 216 corresponds to FIG. Corresponding to the nearest neighbor vector group search unit 16 and the same processing is performed. Therefore, these descriptions are omitted.

つまり、このように複数の装置により構成される特徴量比較システム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 quantity comparison device 10 of FIG. That is, the feature quantity comparison system 200 can search a target element from each set at high speed even when there are a plurality of sets to be searched.

また、図1の特徴量比較装置10は、他の装置の一部として構成されるようにしてもよい。例えば、特徴量比較装置10が、画像認識処理等を行う画像処理装置の一部として構成されるようにしてもよい。   1 may be configured as a part of another device. For example, the feature amount comparison apparatus 10 may be configured as a part of an image processing apparatus that performs image recognition processing or the like.

図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 recognition unit 232. The learning unit 231 is a processing unit that performs a process of registering a feature vector of a model image as a model dictionary, and includes a feature point extraction unit 241, a feature amount extraction unit 242, and a model dictionary registration unit 243.

特徴点抽出部241は、モデル画像から予め定められた所定の特徴点を抽出し、それを特徴量抽出部242に供給する。特徴量抽出部242は、特徴点抽出部241において抽出された特徴点の特徴量を抽出し、それを特徴ベクトルとしてモデル辞書登録部243に登録する。   The feature point extraction unit 241 extracts a predetermined feature point determined in advance from the model image and supplies it to the feature amount extraction unit 242. The feature amount extraction unit 242 extracts feature amounts of the feature points extracted by the feature point extraction unit 241, and registers them as feature vectors in the model dictionary registration unit 243.

認識部232は、入力画像が入力されると、その特徴ベクトルを抽出し、それをモデル画像の特徴ベクトルと比較し、モデルと一致する(近似する)部分を判定する処理部であり、特徴点抽出部244、特徴量抽出部245、特徴量比較部246、およびモデル検出判定部247を有している。   When the input image is input, the recognition unit 232 extracts the feature vector, compares it with the feature vector of the model image, and determines a portion that matches (approximates) the model. An extraction unit 244, a feature amount extraction unit 245, a feature amount comparison unit 246, and a model detection determination unit 247 are included.

特徴点抽出部244は、入力画像から予め定められた所定の特徴点を抽出し、それを特徴量抽出部245に供給する。特徴量抽出部245は、特徴点抽出部244において抽出された特徴点の特徴量を抽出し、それを特徴量比較部246に供給する。特徴量比較部246は、図1の特徴量比較装置10と同様の構成を有しており、図1の特徴量比較装置10と同様の処理を実行することにより、モデル辞書登録部243に登録されているモデル画像の特徴ベクトルと入力画像の特徴ベクトルとを比較し、その比較結果をモデル検出判定部247に供給する。モデル検出判定部247は、この比較結果に基づいて入力画像の特徴をモデル画像において検出できたか否かを判定し、その判定結果を認識処理結果として装置外部に出力する。   The feature point extraction unit 244 extracts a predetermined feature point determined in advance from the input image and supplies it to the feature amount extraction unit 245. The feature amount extraction unit 245 extracts the feature amount of the feature point extracted by the feature point extraction unit 244 and supplies it to the feature amount comparison unit 246. The feature amount comparison unit 246 has the same configuration as that of the feature amount comparison device 10 in FIG. 1, and is registered in the model dictionary registration unit 243 by executing the same processing as the feature amount comparison device 10 in FIG. 1. The feature vector of the model image that has been input is compared with the feature vector of the input image, and the comparison result is supplied to the model detection determination unit 247. The model detection / determination unit 247 determines whether or not the feature of the input image has been detected in the model image based on the comparison result, and outputs the determination result to the outside of the apparatus as a recognition processing result.

このように、図1の特徴量比較装置10を特徴量比較部246とし、画像処理装置230の特徴ベクトルの比較処理に用いるようにするようにしてもよい。この場合も特徴量比較部246は上述した特徴量比較装置10における各処理と同様の処理を実行する。   As described above, the feature quantity comparison apparatus 10 of FIG. 1 may be used as the feature quantity comparison unit 246 and used for the feature vector comparison processing of the image processing apparatus 230. Also in this case, the feature quantity comparison unit 246 executes the same process as each process in the feature quantity comparison apparatus 10 described above.

さらに、このとき、特徴量比較装置10の各部(図1)と同様の処理部が特徴量比較部246以外として構成されるようにしてもよい。図24は、図23の画像処理装置230の他の構成例を示すブロック図である。   Further, at this time, a processing unit similar to each unit (FIG. 1) of the feature quantity comparison device 10 may be configured as other than the feature quantity comparison unit 246. FIG. 24 is a block diagram illustrating another configuration example of the image processing device 230 in FIG.

図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 point setting unit 12, and a neighborhood table group creation unit 14 instead of the model dictionary registration unit 243 of the learning unit 231. The model dictionary registration unit 263 includes a vector information storage unit 11, a common representative point information storage unit 13, and a neighborhood table group storage unit 15 in addition to the function of the model dictionary registration unit 243.

また、認識部252は、認識部232の特徴量比較部246の代わりに最近傍ベクトル群検索部16を有している。   The recognition unit 252 includes a nearest neighbor vector group search unit 16 instead of the feature amount comparison unit 246 of the recognition unit 232.

つまり、図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 recognition unit 232 includes the feature amount comparison unit 246 corresponding to the feature amount comparison device 10 in FIG. 1, and in the case of the image processing device 250 in FIG. 252 has only the nearest neighbor vector group search unit 16 of the feature quantity comparison device 10 of FIG. 1, and other configurations (vector information storage unit 11, common representative point setting unit 12 of the feature quantity comparison device 10 of FIG. The learning unit 251 includes the common representative point information storage unit 13, the neighborhood table group creation unit 14, and the neighborhood table group storage unit 15).

このように、特徴量比較装置10の各部は、実質的にそれらの処理内容等が変化しない限り(特徴量比較装置10に対応するように構成されている限り)、どのように画像処理装置230に構成されるようにしてもよい。   As described above, how each unit of the feature quantity comparison device 10 can be processed by the image processing device 230 as long as the processing content or the like thereof does not substantially change (as long as the processing amount is configured to correspond to the feature quantity comparison device 10). You may make it comprise.

また、以上において説明した本発明の特徴量比較の構成を、他の技術と組み合わせるようにしてもよい。例えば、メンバベクトル群の処理をさらに容易にするために、主成分分析を利用した座標変換処理を上述した特徴量比較処理に適用するようにしてもよい。   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 value comparison device 10 in FIG. 11, member vector coordinate conversion unit 281, input vector coordinate conversion unit 282, nearest neighbor vector group coordinate conversion unit 283, conversion coordinate vector information storage unit 291, conversion coordinate common representative point setting unit 292, conversion coordinate common representative point information storage unit 293, a conversion coordinate neighborhood table group creation unit 294, a conversion coordinate neighborhood table group storage unit 295, and a conversion coordinate nearest neighbor vector group search unit 296.

メンバベクトル座標変換部281は、ベクトル情報記憶部11に記憶されているベクトル情報に基づいて後述するように主成分分析を行い、各メンバベクトルの座標を変換する。メンバベクトル座標変換部281は、この座標変換された、変換座標上のベクトル情報(変換座標ベクトル情報)を変換座標ベクトル情報記憶部291に供給し、記憶させる。また、メンバベクトル座標変換部281は、主成分分析結果に関する情報を入力ベクトル座標変換部282に供給する。   The member vector coordinate conversion unit 281 performs principal component analysis based on the vector information stored in the vector information storage unit 11 as described later, and converts the coordinates of each member vector. The member vector coordinate transformation unit 281 supplies the vector information (transformed coordinate vector information) on the transformed coordinates after the coordinate transformation to the transformed coordinate vector information storage unit 291 for storage. The member vector coordinate conversion unit 281 supplies information related to the principal component analysis result to the input vector coordinate conversion unit 282.

入力ベクトル座標変換部282は、メンバベクトル座標変換部281より供給された主成分分析結果に関する情報に基づいて、入力ベクトルに対してメンバベクトル座標変換部281と同様の座標変換処理を行い、その座標変換された変換座標上の入力ベクトル(変換座標入力ベクトル)を変換座標最近傍ベクトル群検索部296に供給する。また、入力ベクトル座標変換部282は、主成分分析結果に関する情報を最近傍ベクトル群座標変換部283に供給する。   The input vector coordinate conversion unit 282 performs the same coordinate conversion processing on the input vector as the member vector coordinate conversion unit 281 based on the information on the principal component analysis result supplied from the member vector coordinate conversion unit 281, and the coordinates The converted input vector on the converted coordinate (converted coordinate input vector) is supplied to the converted coordinate nearest neighbor vector group search unit 296. Further, the input vector coordinate conversion unit 282 supplies information on the principal component analysis result to the nearest neighbor vector group coordinate conversion unit 283.

最近傍ベクトル群座標変換部283は、変換座標最近傍ベクトル群検索部296より供給される変換座標上の最近傍ベクトル群(変換座標最近傍ベクトル群)を取得すると、入力ベクトル座標変換部282より供給される主成分分析結果に関する情報に基づいて、その取得した変換座標最近傍ベクトル群に対して入力ベクトル座標変換部282に対応する座標変換処理を行い、変換座標最近傍ベクトル群を元の座標系(ベクトル情報記憶部11に記憶されているベクトル情報の座標系)に変換し、その元の座標系の最近傍ベクトル群を特徴量比較装置280の外部に出力する。   When the nearest neighbor vector group coordinate conversion unit 283 acquires the nearest neighbor vector group (transformed coordinate nearest neighbor vector group) on the transformed coordinate supplied from the transformed coordinate nearest neighbor vector group search unit 296, the nearest neighbor vector group coordinate transformation unit 283 receives from the input vector coordinate transformation unit 282. Based on the supplied information on the principal component analysis result, a coordinate conversion process corresponding to the input vector coordinate conversion unit 282 is performed on the acquired converted coordinate nearest neighbor vector group, and the converted coordinate nearest neighbor vector group is converted into the original coordinates. The system is converted into a system (coordinate system of vector information stored in the vector information storage unit 11), and the nearest neighbor vector group of the original coordinate system is output to the outside of the feature quantity comparison device 280.

変換座標ベクトル情報記憶部291、変換座標共通代表点設定部292、変換座標共通代表点情報記憶部293、変換座標近傍テーブル群作成部294、変換座標近傍テーブル群記憶部295、および変換座標最近傍ベクトル群検索部296は、それぞれ、図1のベクトル情報記憶部11、共通代表点設定部12、共通代表点情報記憶部13、近傍テーブル群作成部14、近傍テーブル群15、および最近傍ベクトル群検索部16に対応しており、変換座標上において処理を行う以外これらと同様の処理を行う。従って、その説明は省略する。   Conversion coordinate vector information storage unit 291, conversion coordinate common representative point setting unit 292, conversion coordinate common representative point information storage unit 293, conversion coordinate neighborhood table group creation unit 294, conversion coordinate neighborhood table group storage unit 295, and conversion coordinate nearest neighbor The vector group search unit 296 includes the vector information storage unit 11, the common representative point setting unit 12, the common representative point information storage unit 13, the neighborhood table group creation unit 14, the neighborhood table group 15, and the nearest neighborhood vector group shown in FIG. It corresponds to the search unit 16 and performs the same processing as these except for processing on the converted coordinates. Therefore, the description is omitted.

次に、図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 feature vectors 22 of the vector group 21-1 are distributed on the plane indicated by the x-coordinate and the y-coordinate. Since the feature vector 22 is a vector indicating a predetermined feature such as image information, for example, the distribution of the feature vector 22 is not uniform, and there is a high possibility that a predetermined bias occurs. For example, when an edge portion of an image is extracted as a feature point, each feature vector 22 includes the feature of the edge portion. That is, since any feature vector 22 includes the same or similar features, the distribution of the feature vectors 22 is also biased.

従って、特徴ベクトル22の分布には、各特徴ベクトル22が最も広範囲に分布する方向(すなわち、分布への寄与率が最も高い方向)が存在する。この寄与率が最も高い方向を主成分と称する。   Therefore, the distribution of the feature vectors 22 has a direction in which each feature vector 22 is distributed in the widest range (that is, a direction having the highest contribution ratio to the distribution). The direction with the highest contribution rate is referred to as the main component.

図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 feature vector 22 distributed in the coordinate system indicated by the x coordinate and the y coordinate to the x ′ coordinate that is the main component of the feature vector 22 and Convert to a coordinate system indicated by y ′ coordinates perpendicular to x ′ coordinates. FIG. 26B shows the distribution of the feature vector 22 after coordinate conversion.

この座標変換により、図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 feature vector 22 that is almost the same as the range a in the x coordinate direction and the range b in the y coordinate direction, as shown in FIG. It changes to a ′ in the x ′ coordinate direction and b ′ in the y ′ coordinate direction (a ′ >> b ′). That is, the distribution of the feature vector 22 is biased in the x ′ coordinate direction by coordinate conversion.

このように主成分分析を行って座標変換することにより、特徴量比較装置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 feature vectors 22 distributed almost in series in the x′-axis direction as shown in FIG. 27A is a member vector of the vector group 21-1, if the feature vector 22 is coordinate-transformed as shown in FIG. It can be seen that 22 is distributed only in the x ′ coordinate direction, which is the main component, and hardly distributed in the y ′ coordinate direction perpendicular to the x ′ coordinate. In such a case, the feature quantity comparison apparatus 280 omits the distribution in the y′-axis direction whose contribution ratio to the distribution is overwhelmingly smaller than the main component, and all the feature vectors 22 are on the x′-axis (1 Dimensional)). That is, in this case, the feature quantity comparison device 280 dimensionally compresses the distribution of the feature vector 22 from two dimensions to one dimension. By dimensionally compressing the feature vector distribution in this way, the feature quantity comparison device 280 can reduce the order of the arithmetic expression, for example, in the calculation of the distance between vectors, and can reduce the calculation quantity. That is, the feature quantity comparison apparatus 280 can perform high-speed processing by reducing the load of the nearest neighbor vector search process by performing such dimension compression.

また、次元圧縮以外にも、特徴量比較装置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 vector group 21 as shown in FIG. 28A, when the feature vector 22A is held as the nearest neighbor vector candidate Vkeep with respect to the input vector 27, the feature quantity comparison device 280 first inputs the feature vector 22B. The distance from the vector 27 is calculated and compared with the distance between the feature vector 22A and the input vector 27. When the feature vector 22A is closer to the input vector 27, the feature quantity comparison device 280 next calculates the distance between the feature vector 22C and the input vector 27, and calculates the distance between the feature vector 22A and the input vector 27. Compare. Similarly, if the feature vector 22A is closer to the input vector 27, the feature amount comparison device 280 next calculates the distance between the feature vector 22D and the input vector 27, and calculates the distance between the feature vector 22A and the input vector 27. Compare with distance. In this way, the feature quantity comparison device 280 calculates the distance between the feature vector and the input vector one by one, and compares it with the distance between the current nearest neighbor vector candidate and the input vector. If a member vector closest to the input vector is newly searched, the feature quantity comparison device 280 sets the member vector as a new nearest neighbor vector candidate and holds the information.

このとき算出されるベクトル間の距離は、式(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 difference 2 of the component with a low contribution ratio to the second) when the addition result exceeds the square of the distance Dkeep. Since the member vector cannot be a candidate of the nearest neighbor vector (even if a value with a relatively small value) is not added), the distance calculation for the member vector is stopped and the distance calculation for the next member vector is stopped. Can be migrated to.

換言すると、特徴量比較装置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 feature vector 22 and performs the addition as described above. The possibility of exceeding the value of the candidate distance (Dkeep) is increased, and the possibility that the calculation can be omitted increases.

従って、成分の差の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 conversion unit 281 of FIG. 29, the member vector coordinate conversion unit 281 has a vector group unification unit 311, a principal component analysis unit 312, a coordinate conversion unit 313, a dimension compression unit 314, and a conversion coordinate vector information storage control unit 315.

ベクトルグループ統一部311は、ベクトル情報記憶部11より取得したベクトル情報に基づいて、ベクトルグループを統一し、1つのベクトルグループを生成し、その情報を主成分分析部312に供給する。   The vector group unification unit 311 unifies vector groups based on the vector information acquired from the vector information storage unit 11, generates one vector group, and supplies the information to the principal component analysis unit 312.

主成分分析部312は、メンバベクトルの分布の主成分分析を行い、その分析結果を座標変換部313に供給する。座標変換部313は、供給された分析結果に基づいて主成分を座標軸とする座標系に各メンバベクトルを座標変換し、その変換結果を次元圧縮部314に供給する。次元圧縮部314は、必要に応じて変換座標上のメンバベクトルの分布を次元圧縮し、その処理結果を変換座標ベクトル情報記憶制御部315に供給する。変換座標ベクトル情報記憶制御部315は、供給された変換座標上のメンバベクトルのベクトル情報である変換座標ベクトル情報を変換座標ベクトル情報記憶部291に供給し、記憶させる。   The principal component analysis unit 312 performs a principal component analysis of the member vector distribution and supplies the analysis result to the coordinate conversion unit 313. The coordinate conversion unit 313 performs coordinate conversion of each member vector into a coordinate system having the principal component as a coordinate axis based on the supplied analysis result, and supplies the conversion result to the dimension compression unit 314. The dimension compression unit 314 performs dimension compression on the distribution of the member vectors on the converted coordinates as necessary, and supplies the processing result to the converted coordinate vector information storage control unit 315. The conversion coordinate vector information storage control unit 315 supplies the conversion coordinate vector information, which is vector information of the member vector on the supplied conversion coordinates, to the conversion coordinate vector information storage unit 291 and stores it.

次に、この特徴量比較装置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 conversion unit 281 analyzes the principal components of the distribution of all member vectors based on the vector information supplied from the vector information storage unit 11 in step S171, and the analysis. Each member vector is coordinate-transformed based on the result. Details of the member vector coordinate conversion processing will be described later.

ステップS172において、変換座標共通代表点設定部292は、変換座標ベクトル情報記憶部291より変換座標ベクトル情報を取得すると、その変換座標上のベクトル情報に基づいて変換座標上の共通代表点(変換座標共通代表点)を設定する。なお、この変換座標共通代表点設定処理は、変換座標上であること以外は、図14のフローチャートを参照して説明した共通代表点設定処理と同様であるのでその詳細な説明を省略する。   In step S172, when the conversion coordinate common representative point setting unit 292 acquires the conversion coordinate vector information from the conversion coordinate vector information storage unit 291, the common representative point (conversion coordinate) on the conversion coordinate based on the vector information on the conversion coordinate. Set a common representative point. The conversion coordinate common representative point setting process is the same as the common representative point setting process described with reference to the flowchart of FIG.

ステップS173において、変換座標近傍テーブル群作成部294は、変換座標ベクトル情報記憶部291より取得した変換座標上のベクトル情報、および、変換座標共通代表点情報記憶部293より取得した変換座標上の共通代表点に基づいて変換座標上の近傍テーブル群(変換座標近傍テーブル群)を作成する。なお、この変換座標近傍テーブル群作成処理は、変換座標上であること以外は、図15のフローチャートを参照して説明した近傍テーブル群作成処理と同様であるのでその詳細な説明を省略する。   In step S173, the converted coordinate neighborhood table group creation unit 294 generates the vector information on the converted coordinates acquired from the converted coordinate vector information storage unit 291 and the common on the converted coordinates acquired from the converted coordinate common representative point information storage unit 293. Based on the representative points, a neighborhood table group (transformed coordinate neighborhood table group) on the transformed coordinates is created. The conversion coordinate neighborhood table group creation process is the same as the neighborhood table group creation process described with reference to the flowchart of FIG.

入力ベクトル座標変換部282は、ステップS174において、入力ベクトルが入力されたか否かを判定し、入力されたと判定した場合、ステップS175において、メンバベクトル座標変換部281より供給された主成分分析結果に関する情報に基づいて、入力ベクトルの座標を変換し、その変換座標上の入力ベクトル(変換座標入力ベクトル)を変換座標最近傍ベクトル群検索部296に供給する。   In step S174, the input vector coordinate conversion unit 282 determines whether or not an input vector has been input. If it is determined that the input vector has been input, the input vector coordinate conversion unit 282 relates to the principal component analysis result supplied from the member vector coordinate conversion unit 281 in step S175. Based on the information, the coordinates of the input vector are converted, and the input vector on the conversion coordinate (converted coordinate input vector) is supplied to the converted coordinate nearest neighbor vector group search unit 296.

変換座標最近傍ベクトル検索部296は、ステップS176において、その変換座標上において、供給された変換座標入力ベクトルの最近傍ベクトル群(変換座標最近傍ベクトル群)を検索する。この変換座標最近傍ベクトル検索処理は、変換座標上であること以外は、図18のフローチャートを参照して説明した最近傍ベクトル群検索処理と同様であるのでその詳細な説明を省略する。変換座標最近傍ベクトル群を検索した変換座標最近傍ベクトル検索部296は、それを最近傍ベクトル群座標変換部283に供給し、処理をステップS177に進める。   In step S176, the converted coordinate nearest neighbor vector search unit 296 searches for the nearest neighbor vector group (converted coordinate nearest neighbor vector group) of the supplied converted coordinate input vector on the converted coordinate. Since this converted coordinate nearest neighbor vector search process is the same as the nearest neighbor vector group search process described with reference to the flowchart of FIG. 18 except that it is on the converted coordinates, detailed description thereof is omitted. The converted coordinate nearest neighbor vector search unit 296 that has searched for the converted coordinate nearest neighbor vector group supplies the converted coordinate nearest neighbor vector search unit 296 to the nearest neighbor vector group coordinate conversion unit 283, and advances the process to step S177.

ステップS177において、最近傍ベクトル群座標変換部283は、入力ベクトル座標変換部282より供給された主成分分析結果に関する情報に基づいて、各変換座標最近傍ベクトルの座標を元の座標系に変換する。最近傍ベクトル群座標変換部283は、その変換後の最近傍ベクトル群(元の座標系の最近傍ベクトル群)を特徴量比較結果として特徴量比較装置280の外部に出力し、処理をステップS178に進める。   In step S177, the nearest neighbor vector group coordinate conversion unit 283 converts the coordinates of each converted coordinate nearest neighbor vector into the original coordinate system based on the information on the principal component analysis result supplied from the input vector coordinate conversion unit 282. . The nearest neighbor vector group coordinate conversion unit 283 outputs the converted nearest neighbor vector group (the nearest neighbor vector group of the original coordinate system) to the outside of the feature quantity comparison device 280 as a feature quantity comparison result, and the process is performed in step S178. Proceed to

また、ステップS174において入力ベクトルが入力されていないと判定した場合、入力ベクトル座標変換部282は、処理をステップS178に進める。そして、ステップS178において、最近傍ベクトル群座標変換部283は、特徴量比較処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS174に戻し、それ以降の処理を繰り返す。   If it is determined in step S174 that no input vector is input, the input vector coordinate conversion unit 282 advances the process to step S178. In step S178, the nearest neighbor vector group coordinate conversion unit 283 determines whether or not to end the feature amount comparison process. If it determines not to end the process, the process returns to step S174, and the subsequent processes are repeated. .

なお、ステップ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 conversion unit 283 ends the feature amount comparison process.

次に、図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 conversion unit 281 executes all vector groups based on the vector information supplied from the vector information storage unit 11 in step S191. Are generated, one vector group including all or part of the member vectors of each vector group is generated, the information is supplied to the principal component analysis unit 312, and the process proceeds to step S192.

ステップS192において、主成分分析部312は、全メンバベクトルの主成分分析を行い、その分析結果を座標変換部313に供給し、処理をステップS193に進める。ステップS193において、座標変換部313は、その分析結果に基づいて全メンバベクトルの座標を変換し、その変換結果を次元圧縮部314に供給し、処理をステップS194に進める。ステップS194において、次元圧縮部314は、例えばユーザ指示等に基づいて、供給された変換座標メンバベクトルに対して次元圧縮を行うか否かを判定し、行うと判定した場合、ステップS195に処理を進め、変換座標メンバベクトルの分布に対する寄与率の低い次元(座標)から次元圧縮処理を行い、変換座標メンバベクトルの分布を所望の次元数に次元圧縮する。ステップS195の処理が終了すると、次元圧縮部314は、その処理結果を変換座標ベクトル情報記憶制御部315に供給し、処理をステップS196に進める。   In step S192, the principal component analysis unit 312 performs principal component analysis of all member vectors, supplies the analysis result to the coordinate conversion unit 313, and advances the processing to step S193. In step S193, the coordinate conversion unit 313 converts the coordinates of all member vectors based on the analysis result, supplies the conversion result to the dimension compression unit 314, and advances the processing to step S194. In step S194, the dimension compression unit 314 determines whether or not to perform dimension compression on the supplied transformed coordinate member vector based on, for example, a user instruction and the like. If it is determined to perform the process, the process proceeds to step S195. Then, dimension compression processing is performed from a dimension (coordinate) having a low contribution rate to the distribution of the converted coordinate member vector, and the distribution of the converted coordinate member vector is dimensionally compressed to a desired number of dimensions. When the process of step S195 ends, the dimension compression unit 314 supplies the processing result to the converted coordinate vector information storage control unit 315, and the process proceeds to step S196.

また、ステップS194において、次元圧縮を行わないと判定した場合、次元圧縮部314は、ステップS195の処理を省略し、次元圧縮処理を行わずに、変換座標メンバベクトルのベクトル情報をそのまま変換座標ベクトル情報記憶制御部315に供給し、処理をステップS196に進める。   If it is determined in step S194 that the dimension compression is not performed, the dimension compression unit 314 omits the process in step S195, and without performing the dimension compression process, the vector information of the converted coordinate member vector is directly used as the converted coordinate vector. The information is supplied to the information storage control unit 315, and the process proceeds to step S196.

ステップS196において、変換座標ベクトル情報記憶制御部315は、供給された変換座標ベクトル情報を変換座標ベクトル情報記憶部291(図25)に供給し、記憶させる。変換座標ベクトル情報記憶部291は、変換座標ベクトル情報記憶制御部315より供給された変換座標ベクトル情報を記憶する。   In step S196, the conversion coordinate vector information storage control unit 315 supplies the supplied conversion coordinate vector information to the conversion coordinate vector information storage unit 291 (FIG. 25) and stores it. The converted coordinate vector information storage unit 291 stores the converted coordinate vector information supplied from the converted coordinate vector information storage control unit 315.

ステップS196の処理を終了すると変換座標ベクトル情報記憶制御部315は、メンバベクトル座標変換処理を終了し、処理を図30のステップS171に戻し、それ以降の処理を実行させる。   When the process of step S196 ends, the converted coordinate vector information storage control unit 315 ends the member vector coordinate conversion process, returns the process to step S171 of FIG. 30, and executes the subsequent processes.

以上のように、メンバベクトルの分布の主成分を分析し、その分析結果に基づいて各ベクトルの座標変換を行い、特徴量の比較をその変換座標上において行うことにより、特徴量比較装置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 feature quantity 1 and an 18-dimensional vector map construction 333-2 (right side in the third stage from the top) of the feature quantity 2 are performed. Then, when the input vector 334 (left side of the lowermost stage) is input, a search for a similar pair group 335 of the feature quantity 1 of the input vector 334 is performed on the 36-dimensional vector map of the feature quantity 1 (four stages from the top). Left side)

特徴量1の36次元ベクトルマップは、例えば、上述したような共通代表点と近傍テーブルを用いて構築されたものであり、その場合、特徴量1の類似ペア群の検索335は、例えば図1乃至図21を参照して上述した最近傍ベクトル検索処理と同様の方法で行われる。つまり、この特徴量1の類似ペア群の検索335においては最近傍ベクトル候補の初期値として無限遠の点が設定され、検索範囲内の全てのメンバベクトルと入力ベクトルとの距離が1つずつ算出され、入力ベクトルから最も近いメンバベクトルが検索される度に最近傍ベクトルの候補がそのメンバベクトルに更新される。このような検索処理を繰り返し、ベクトルグループ内の最近傍ベクトルが求められる。   The 36-dimensional vector map of the feature quantity 1 is constructed using, for example, the common representative points and the neighborhood table as described above. In this case, the search 335 for the similar pair group of the feature quantity 1 is performed as shown in FIG. It is performed by the same method as the nearest neighbor vector search process described above with reference to FIG. That is, in the similar pair group search 335 of the feature quantity 1, an infinite point is set as the initial value of the nearest neighbor vector candidate, and the distances between all the member vectors in the search range and the input vector are calculated one by one. Each time the nearest member vector is retrieved from the input vector, the nearest neighbor vector candidate is updated to that member vector. Such search processing is repeated to obtain the nearest neighbor vector in the vector group.

そして、このような特徴量1の類似ペア群の検索335の検索結果として得られた特徴量1の類似ペア群が初期値336として利用され(上から4段目中央)、特徴量2の類似ペア群の検索337が行われる(上から4段目右側)。このような手順で検索処理が行われることにより、特徴量2の類似ペア群の検索337の検索結果が特徴量1および特徴量2の両方における入力ベクトルの近傍ベクトル338(2種類の特徴量において入力ベクトルと近似するベクトル)となる。   Then, the similar pair group of feature quantity 1 obtained as a search result of the similar pair group search 335 of feature quantity 1 is used as the initial value 336 (fourth center from the top), and the similarity of feature quantity 2 A pair group search 337 is performed (right side of the fourth row from the top). By performing the search process according to such a procedure, the search result of the similar pair group search 337 of the feature quantity 2 becomes the neighborhood vector 338 of the input vector in both the feature quantity 1 and the feature quantity 2 (in the two types of feature quantities). Vector approximating the input vector).

特徴量1の類似ペア群の検索335のように無限遠の点から検索を行う場合、全てのメンバベクトルが最近傍ベクトルの候補となり得ることになる。従って、このような検索の場合、特徴量比較装置による最近傍ベクトル検索における演算量が比較的多くなってしまう。これに対して、特徴量2の類似ペア群の検索337のように、所定の点から検索を行う場合、特徴量比較装置は、明らかに最近傍ベクトルとはならない遠点(所定の点より遠い点)についての演算を省略することができる。   When a search is performed from a point at infinity as in the search 335 for a similar pair group of feature amount 1, all member vectors can be candidates for the nearest neighbor vector. Therefore, in the case of such a search, the amount of calculation in the nearest neighbor vector search by the feature quantity comparison device becomes relatively large. On the other hand, when a search is performed from a predetermined point, such as the search 337 for a similar pair group of feature amount 2, the feature amount comparison device clearly has a far point that is not a nearest neighbor vector (distant from the predetermined point). The calculation for point) can be omitted.

図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 feature quantity 1 and feature quantity 2, it does not become a neighborhood vector in the search 335 of a similar pair group of feature quantity 1. The member vector does not need to be a search target in the search 337 of the similar pair group of the feature amount 2. Therefore, as described above, by using the search result in the similar pair group search 335 of the feature quantity 1 as the initial value of the search 337 of the similar pair group of the feature quantity 2, the feature quantity comparison apparatus can detect the similarity of the feature quantity 2. The calculation amount in the pair group search 337 can be reduced.

さらに、このように特徴量を比較することにより、特徴量比較装置は、特徴量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 feature quantity 1 and a similar pair search of the feature quantity 2 independently of each other, and compares the search results again. The feature quantity 1 and the feature quantity 2 can be obtained only by performing the search 335 of the similar pair group of the feature quantity 1 and the search 337 of the similar pair group of the feature quantity 2 without requiring a complicated process of extracting pairs satisfying both. The neighborhood vector 338 of the input vector in both can be searched, and the total calculation amount can be reduced.

すなわち、このような検索を行うことにより特徴量比較装置は、例えば、特徴ベクトルを利用した画像認識等において、複数の評価基準で最近傍となる、入力ベクトルに対する最近傍ベクトルを検出する際、複数の評価基準での近傍探索を順列に行い、前段の近傍計算による最近傍ベクトルより近い近傍ベクトルが検出された時点で、複数の評価基準で最近傍となる最近傍ベクトルが存在しないことが確定するので、近傍探索を中断することにより、複数の条件を満たす入力ベクトルの近傍ベクトル(複数の評価基準で最近傍探索)を高速に検索することができる。つまり、この特徴量比較装置は、複数の条件を満たす目的の要素を集合の中から高速に検索することができる。   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 point extraction unit 361, a plurality of types of feature amount extraction unit 362, and a model dictionary registration unit 363. ing.

複数種類特徴点抽出部361は、入力されたモデル画像から複数種類の特徴点を抽出し、それらとモデル画像を複数種類特徴量抽出部362に供給する。なお、複数種類特徴点抽出部361は、モデル画像から抽出する特徴点の種類が複数であること以外(例えば、各特徴点の抽出方法等について)は図23の特徴点抽出部241と同様であるのでその詳細の説明は省略する。   The multiple-type feature point extraction unit 361 extracts multiple types of feature points from the input model image, and supplies them to the multiple-type feature amount extraction unit 362. Note that the multi-type feature point extraction unit 361 is the same as the feature point extraction unit 241 in FIG. 23 except that there are a plurality of types of feature points to be extracted from the model image (for example, the method for extracting each feature point). Since there is, detailed description thereof is omitted.

複数種類特徴量抽出部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 point extraction unit 361 from the model image, and supplies it to the model dictionary registration unit 363 as a model feature quantity. Note that the multi-type feature quantity extraction unit 362 performs the feature quantity shown in FIG. 23 except that there are a plurality of types of feature points for extracting feature quantities from the model image (for example, a feature quantity extraction method for each feature point). Since it is the same as that of the extraction part 242, the detailed description is abbreviate | omitted.

モデル辞書登録部363は、複数種類特徴量抽出部362より供給されたモデル特徴量群332をモデル辞書に登録して保持する。また、モデル辞書登録部363は、必要に応じてそのモデル特徴量群332を認識部352の複数種類特徴量比較部366に供給する。なお、モデル辞書登録部363は、保持するモデル特徴量の種類が複数であること以外(例えば、各モデル特徴量の保持方法等について)は図23のモデル辞書登録部243と同様であるのでその詳細の説明は省略する。   The model dictionary registration unit 363 registers and holds the model feature quantity group 332 supplied from the plural types of feature quantity extraction unit 362 in the model dictionary. In addition, the model dictionary registration unit 363 supplies the model feature amount group 332 to the multiple types feature amount comparison unit 366 of the recognition unit 352 as necessary. The model dictionary registration unit 363 is the same as the model dictionary registration unit 243 in FIG. 23 except that there are a plurality of types of model feature values to be held (for example, for each model feature value holding method). Detailed description is omitted.

認識部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 point extraction unit 364, a feature amount extraction unit 365, a plurality of types of feature amount comparison unit 366, and a model detection determination unit 367 are provided.

特徴点抽出部364は、入力された入力画像より所定の特徴点を抽出し、その特徴点および入力画像を特徴量抽出部365に供給する。特徴点抽出部364は、図23の特徴点抽出部244と基本的に同様の構成であり同様の処理を行うのでその詳細な説明を省略する。   The feature point extraction unit 364 extracts predetermined feature points from the input image that has been input, and supplies the feature points and the input image to the feature amount extraction unit 365. The feature point extraction unit 364 has basically the same configuration as the feature point extraction unit 244 in FIG. 23 and performs the same processing, and thus detailed description thereof is omitted.

特徴量抽出部365は、特徴点抽出部364において抽出された特徴点の特徴量を抽出し、その特徴量に関する情報を複数種類特徴量比較部366に供給する。特徴量抽出部365は、図23の特徴量抽出部245と基本的に同様の構成であり同様の処理を行うのでその詳細な説明を省略する。   The feature amount extraction unit 365 extracts the feature amount of the feature point extracted by the feature point extraction unit 364, and supplies information regarding the feature amount to the multiple types feature amount comparison unit 366. Since the feature quantity extraction unit 365 has basically the same configuration as the feature quantity extraction unit 245 of FIG. 23 and performs the same processing, a detailed description thereof will be omitted.

複数種類特徴量比較部366は、特徴量抽出部365より供給された入力画像の特徴量に基づいて入力画像の特徴ベクトル(入力ベクトル)をモデル辞書登録部363が保持しているモデル特徴量群332と比較し、複数種類の特徴点の全てについて入力ベクトルの近傍ベクトルとなるメンバベクトルを検索することにより、入力画像の特徴とモデル画像の特徴とを比較し、その比較結果をモデル検出判定部367に供給する。複数種類特徴量比較部366の詳細については後述する。   The multi-type feature quantity comparison unit 366 has a model feature quantity group in which the model dictionary registration unit 363 holds a feature vector (input vector) of the input image based on the feature quantity of the input image supplied from the feature quantity extraction unit 365. Compared with 332, by searching for a member vector that is a neighborhood vector of the input vector for all of a plurality of types of feature points, the feature of the input image is compared with the feature of the model image, and the comparison result is used as a model detection determination unit. 367. Details of the multiple-type feature amount comparison unit 366 will be described later.

モデル検出判定部367は、複数種類特徴量比較部366における比較結果に基づいて、入力画像よりモデル画像の特徴を検出したか否かを判定する。モデル検出判定部367は、図23のモデル検出判定部247と基本的に同様の構成であり同様の処理を行うのでその詳細な説明を省略する。   The model detection determination unit 367 determines whether or not the feature of the model image has been detected from the input image based on the comparison result in the plural types of feature amount comparison unit 366. The model detection / determination unit 367 has basically the same configuration as the model detection / determination unit 247 in FIG. 23 and performs the same processing, and thus detailed description thereof is omitted.

図34は、図33の複数種類特徴量比較部366の詳細な構成例を示すブロック図である。   FIG. 34 is a block diagram illustrating a detailed configuration example of the plural types of feature amount comparison unit 366 of FIG.

図33において、複数種類特徴量比較部366は、特徴量情報取得部381、ベクトル情報記憶部391、共通代表点設定部392、共通代表点情報記憶部393、近傍テーブル群作成部394、近傍テーブル群記憶部395、および近傍ベクトル群検索部396を有している。   33, a plurality of types of feature quantity comparison unit 366 includes a feature quantity information acquisition unit 381, a vector information storage unit 391, a common representative point setting unit 392, a common representative point information storage unit 393, a neighborhood table group creation unit 394, and a neighborhood table. A group storage unit 395 and a neighborhood vector group search unit 396 are provided.

特徴量情報取得部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 point setting unit 392, a neighborhood table group The data is supplied to the creation unit 394 and the neighborhood vector group search unit 396.

ベクトル情報記憶部391、共通代表点設定部392、共通代表点情報記憶部393、近傍テーブル群作成部394、および近傍テーブル群記憶部395は、複数種類の特徴ベクトルのそれぞれに対して処理を行うこと以外は、それぞれ、図1のベクトル情報記憶部11、共通代表点設定部12、共通代表点情報記憶部13、近傍テーブル群作成部14、および近傍テーブル群記憶部15に対応し、同様の処理を行う。従って、これらの詳細についての説明は省略する。   The vector information storage unit 391, the common representative point setting unit 392, the common representative point information storage unit 393, the neighborhood table group creation unit 394, and the neighborhood table group storage unit 395 perform processing on each of a plurality of types of feature vectors. 1 correspond to the vector information storage unit 11, the common representative point setting unit 12, the common representative point information storage unit 13, the neighborhood table group creation unit 14, and the neighborhood table group storage unit 15 of FIG. Process. Therefore, description of these details is omitted.

近傍ベクトル群検索部396は、ベクトル情報記憶部391より取得したベクトル情報、共通代表点情報記憶部393より取得した共通代表点情報、および近傍テーブル群記憶部395より取得した近傍テーブル群に基づいて、入力された入力ベクトル群に対する近傍ベクトル群を検索する。そして、近傍ベクトル群検索部396は、その検索結果である近傍ベクトル群をモデル検出判定部367(図33)に供給する。   The neighborhood vector group search unit 396 is based on the vector information acquired from the vector information storage unit 391, the common representative point information acquired from the common representative point information storage unit 393, and the neighborhood table group acquired from the neighborhood table group storage unit 395. Then, a neighborhood vector group for the inputted input vector group is searched. Then, the neighborhood vector group search unit 396 supplies the neighborhood vector group that is the search result to the model detection determination unit 367 (FIG. 33).

図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 group search unit 396 in FIG. 36, the neighborhood vector group search unit 396 includes an initialization processing unit 411, a neighborhood vector group search control unit 412, a neighborhood vector search unit 413, a feature-specific neighborhood vector candidate setting unit 414, a change flag confirmation unit 415, and a neighborhood vector. A setting unit 416 is provided.

初期化処理部411は、近傍ベクトル群の検索に必要な変数を初期値に設定する等の初期化処理を行う。例えば、初期化処理部411は、1つの入力ベクトルに対応する近傍ベクトルである特徴別近傍ベクトルの候補である特徴別近傍ベクトル候補を初期化したり、変数j(0≦j≦M−1)を初期値(例えば、「0」)に設定したり、特徴別近傍ベクトル候補の変化フラグを初期化したりする。変化フラグについては後述する。   The initialization processing unit 411 performs initialization processing such as setting a variable necessary for searching for a neighborhood vector group to an initial value. For example, the initialization processing unit 411 initializes a feature-specific neighborhood vector candidate that is a candidate for a feature-specific neighborhood vector that is a neighborhood vector corresponding to one input vector, or sets a variable j (0 ≦ j ≦ M−1). It is set to an initial value (for example, “0”), or a feature-specific neighborhood vector candidate change flag is initialized. The change flag will be described later.

近傍ベクトル群検索制御部412は、検索対象として設定された特徴の全種類について条件を満たす近傍ベクトル群の検索に関する制御処理を行う。近傍ベクトル検索部413は、入力された各入力ベクトルについて特徴別近傍ベクトルの検索を行う。このとき、近傍ベクトル検索部413は、図1乃至図21を参照して説明したように、入力ベクトルとモデルのメンバベクトルとの距離を1つずつ算出し、特徴別近傍ベクトルの候補より短い距離のメンバベクトルが検索された場合、特徴別近傍ベクトルの候補の情報を更新し、そのメンバベクトルを新たな特徴別近傍ベクトルの候補とする。近傍ベクトル検索部413は、以上のような処理を繰り返し、最終的に保持されている特徴別近傍ベクトルの候補を特徴別近傍ベクトル(検索結果)とする。   The neighborhood vector group search control unit 412 performs control processing related to the search for neighborhood vector groups that satisfy the conditions for all types of features set as search targets. The neighborhood vector search unit 413 searches for feature-specific neighborhood vectors for each input vector input. At this time, as described with reference to FIGS. 1 to 21, the neighborhood vector search unit 413 calculates the distance between the input vector and the model member vector one by one, and is shorter than the feature-specific neighborhood vector candidates. When the member vector is searched, the information on the feature-specific neighborhood vector candidates is updated, and the member vector is set as a new feature-based neighborhood vector candidate. The neighborhood vector search unit 413 repeats the processing as described above, and finally sets the feature-specific neighborhood vector candidates as feature-specific neighborhood vectors (search results).

特徴別近傍ベクトル候補設定部414は、近傍ベクトル検索部413による前回の検索結果(特徴別近傍ベクトル)を、次の検索における特徴別近傍ベクトル候補の初期値に設定する。特徴別近傍ベクトル検索部414は、その特徴別近傍ベクトル候補を用いて新たな入力ベクトルに対する特徴別近傍ベクトル検索を行う。   The feature-specific neighborhood vector candidate setting unit 414 sets the previous search result (feature-specific neighborhood vector) by the neighborhood vector search unit 413 as the initial value of the feature-specific neighborhood vector candidate in the next search. The feature-specific neighborhood vector search unit 414 performs feature-specific neighborhood vector search for a new input vector using the feature-specific neighborhood vector candidates.

また、近傍ベクトル検索部413は、特徴別近傍ベクトルの検索においてその候補が更新された場合、その更新を示す変化フラグを立てる。近傍ベクトル候補設定部414は、この変化フラグの情報を変化フラグ確認部415に供給する。   Further, when the candidate is updated in the search for the feature-specific neighborhood vector, the neighborhood vector search unit 413 sets a change flag indicating the update. The neighborhood vector candidate setting unit 414 supplies the change flag information to the change flag confirmation unit 415.

変化フラグ確認部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 search control unit 412. The change flag is a flag indicating that the neighborhood vector candidate has changed, and is provided for each candidate. That is, a candidate with a change flag is a candidate that has been updated at least once.

近傍ベクトル群検索制御部412は、この確認結果に基づいて、近傍ベクトル群の検索処理を制御する。例えば、不変の特徴別近傍ベクトル候補が存在しなくなった時点で、近傍ベクトル群検索制御部412は近傍ベクトル群の検索処理を終了し、各部を制御して、次のベクトルグループについての検索処理に移行させる。また、例えば、近傍ベクトル検索部413が全ての入力ベクトルについて特徴別近傍ベクトルの検索を終了させたときに、変化フラグが立っていない不変の特徴別近傍ベクトル候補が存在する場合、その特徴別近傍ベクトル(候補)を近傍ベクトル設定部416に供給する。   The neighborhood vector group search control unit 412 controls the neighborhood vector group search process based on the confirmation result. For example, when there are no more invariant feature-specific neighborhood vector candidates, the neighborhood vector group search control unit 412 finishes the neighborhood vector group search process, and controls each unit to search for the next vector group. Transition. For example, when the neighborhood vector search unit 413 finishes searching for feature-specific neighborhood vectors for all input vectors and there is an invariant feature-specific neighborhood vector candidate for which no change flag is set, the feature-specific neighborhood The vector (candidate) is supplied to the neighborhood vector setting unit 416.

近傍ベクトル設定部416は、近傍ベクトル群検索制御部412に制御されて、不変であった特徴別近傍ベクトル(候補)を近傍ベクトル(群)として設定する。   The neighborhood vector setting unit 416 is controlled by the neighborhood vector group search control unit 412 to set the feature-specific neighborhood vector (candidate) that has not changed as a neighborhood vector (group).

次にこのような画像処理装置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 quantity comparison unit 366 compares the feature quantity (feature vector) in step S211 using the model dictionary registration unit 363, user input, or the like. Get information about. The feature amount information acquisition unit 381 supplies the acquired information to the common representative point setting unit 392 and the neighborhood table group creation unit 394, and the process proceeds to step S212.

ステップS212において共通代表点設定部392は、ベクトル情報記憶部391より取得したベクトル情報(モデル辞書登録部363より供給されベクトル情報記憶部391に記憶されていたベクトル情報)に基づいて、特徴量の種類毎に(特徴ベクトルの種類毎に)共通代表点を設定する。共通代表点設定部392は、その共通代表点を設定すると、それを共通代表点情報記憶部393に供給し、記憶させ、処理をステップS213に進める。   In step S212, the common representative point setting unit 392 determines the feature amount based on the vector information acquired from the vector information storage unit 391 (vector information supplied from the model dictionary registration unit 363 and stored in the vector information storage unit 391). A common representative point is set for each type (for each type of feature vector). When the common representative point setting unit 392 sets the common representative point, the common representative point setting unit 392 supplies the common representative point to the common representative point information storage unit 393 for storage, and the process proceeds to step S213.

ステップS213において、近傍テーブル群作成部394は、ベクトル情報記憶部391より取得したベクトル情報(モデル辞書登録部363より供給されベクトル情報記憶部391に記憶されていたベクトル情報)、および共通代表点情報記憶部393より取得した共通代表点情報(ステップS212の処理により設定された共通代表点)に基づいて、特徴量の種類毎に(特徴ベクトルの種類毎に)近傍テーブルを作成する。近傍テーブル群作成部394は、その近傍テーブルを作成すると、それを近傍テーブル群記憶部395に供給し、記憶させ、処理をステップS214に進める。   In step S213, the neighborhood table group creation unit 394 obtains vector information acquired from the vector information storage unit 391 (vector information supplied from the model dictionary registration unit 363 and stored in the vector information storage unit 391), and common representative point information. Based on the common representative point information acquired from the storage unit 393 (common representative point set by the processing in step S212), a neighborhood table is created for each type of feature amount (for each type of feature vector). When the neighborhood table group creation unit 394 creates the neighborhood table, the neighborhood table group creation unit 394 supplies the neighborhood table to the neighborhood table group storage unit 395 and stores it, and the process proceeds to step S214.

ステップS214において、近傍ベクトル群検索部396は、ベクトル情報記憶部391より取得したベクトル情報(モデル辞書登録部363より供給されベクトル情報記憶部391に記憶されていたベクトル情報)、共通代表点情報記憶部393より取得した共通代表点情報(ステップS212の処理により設定された共通代表点)、および近傍テーブル群記憶部395より取得した近傍テーブル群に基づいて、入力された入力ベクトル群に対応する近傍ベクトル群を検索する。この近傍ベクトル群検索処理の詳細については後述する。近傍ベクトル群検索部396は、近傍ベクトル群を検索すると、その近傍ベクトル群を検索結果として、モデル検出判定部367(図33)に供給し、複数種類特徴量比較処理を終了する。   In step S214, the neighborhood vector group search unit 396 stores the vector information acquired from the vector information storage unit 391 (vector information supplied from the model dictionary registration unit 363 and stored in the vector information storage unit 391), and common representative point information storage. Based on the common representative point information acquired from the unit 393 (common representative point set by the processing in step S212) and the neighborhood table group obtained from the neighborhood table group storage unit 395, the neighborhood corresponding to the input vector group input Search for vectors. Details of the neighborhood vector group search process will be described later. When the neighborhood vector group search unit 396 searches for the neighborhood vector group, the neighborhood vector group is supplied as a search result to the model detection determination unit 367 (FIG. 33), and the multiple-type feature amount comparison process ends.

次に、図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 initialization processing unit 411 of the neighborhood vector group search unit 396 performs the initialization process in step S241, and sets the feature-specific neighborhood vector candidate as an initial value at a point at infinity. In addition, the setting of the change flag is initialized, or the value of the variable j indicating the vector group to be processed is set to an initial value (for example, “0”). When the initialization process ends, the initialization processing unit 411 supplies the processing result to the neighborhood vector group search control unit 412 and advances the process to step S242.

ステップS242において、近傍ベクトル群検索制御部412は、全てのベクトルグループについて入力ベクトル群の近傍ベクトル群を検索したか否かを判定し、未検索のベクトルグループが存在すると判定した場合、その判定結果を近傍ベクトル検索部413に供給し、処理をステップS243に進める。   In step S242, the neighborhood vector group search control unit 412 determines whether or not the neighborhood vector group of the input vector group has been searched for all vector groups, and if it is determined that there is an unsearched vector group, the determination result Is supplied to the neighborhood vector search unit 413, and the process proceeds to step S243.

ステップS243において、近傍ベクトル検索部413は、1つ目の入力ベクトルについて、特徴別近傍ベクトルを検索する。この特徴別近傍ベクトルの検索方法は、どのような方法であってもよく、例えば、図19のフローチャートを参照して説明した最近傍ベクトル検索処理のような方法であっても良い。また、検索されるベクトルの数は1つでも良いし、複数であってももちろんよい。特徴別近傍のベクトルを検索すると、近傍ベクトル検索部413は、その検索結果を近傍ベクトル候補設定部414に供給し、処理をステップS244に進める。   In step S243, the neighborhood vector search unit 413 searches for feature-specific neighborhood vectors for the first input vector. This feature-based neighborhood vector search method may be any method, for example, a method such as the nearest neighbor vector search process described with reference to the flowchart of FIG. The number of vectors to be searched may be one or may be plural. When searching for the feature-by-feature vectors, the neighborhood vector search unit 413 supplies the search result to the neighborhood vector candidate setting unit 414, and the process proceeds to step S244.

近傍ベクトル候補設定部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 vector search unit 413, and the process proceeds to step S245. Proceed.

ステップS245において、近傍ベクトル検索部413は、次の入力ベクトルについて特徴別近傍ベクトルを検索する。この検索において、近傍ベクトル検索部413は、特徴別近傍ベクトル候補より近いベクトルが検索された場合、特徴別近傍ベクトル候補を更新し、その検索されたベクトルを特徴別近傍ベクトル候補とし、その特徴別近傍ベクトル候補に対応する変化フラグを立てる。検索が終了すると、近傍ベクトル検索部413は、最終的な特徴別近傍ベクトル候補を特徴別近傍ベクトルとして特徴別近傍ベクトル候補設定部414に供給する。また、近傍ベクトル検索部413は、変化フラグの情報も特徴別近傍ベクトル候補設定部414に供給する。   In step S245, the neighborhood vector search unit 413 searches for feature-specific neighborhood vectors for the next input vector. In this search, when a vector closer to the feature-specific neighborhood vector candidate is searched, the neighborhood vector search unit 413 updates the feature-based neighborhood vector candidate, sets the searched vector as the feature-based neighborhood vector candidate, A change flag corresponding to the neighborhood vector candidate is set. When the search is completed, the neighborhood vector search unit 413 supplies the final feature-specific neighborhood vector candidate to the feature-specific neighborhood vector candidate setting unit 414 as a feature-specific neighborhood vector. The neighborhood vector search unit 413 also supplies information on change flags to the feature-specific neighborhood vector candidate setting unit 414.

ステップ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 vector search unit 413, and also supplies the change flag confirmation unit 415 with information on the change flag of each feature-based neighborhood vector candidate, and the process proceeds to step S247. Proceed to

ステップ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 search control unit 412, and advances the process to step S248.

近傍ベクトル群検索制御部412は、ステップS248において、確認結果に基づいて、不変の特徴別近傍ベクトル候補が存在するか否かを判定する。不変の特徴別近傍ベクトル候補が存在すると判定した場合、近傍ベクトル群検索制御部412は、処理をステップS249に進め、入力された入力ベクトル群の全ての入力ベクトルについて特徴別近傍ベクトルを検索したか否かを判定する。   In step S248, the neighborhood vector group search control unit 412 determines whether there is an invariant feature neighborhood vector candidate based on the confirmation result. If it is determined that there are invariant feature-specific neighborhood vector candidates, the neighborhood vector group search control unit 412 advances the process to step S249, and has searched for feature-specific neighborhood vectors for all input vectors in the input vector group that has been input. Determine whether or not.

入力された入力ベクトル群に未処理の入力ベクトルが存在すると判定した場合、近傍ベクトル群検索制御部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 search control unit 412 supplies the determination result to the neighborhood vector search unit 413 and returns the process to step S245, To process the input vector. That is, the neighborhood vector group search control unit 412, the neighborhood vector search unit 413, the feature-specific neighborhood vector candidate setting unit 414, and the change flag confirmation unit 415 are the feature vector neighborhoods that the neighborhood vector group search control unit 412 does not change in step S 248. The processing from step S245 to step S249 is repeated until it is determined that no vector candidate exists or until it is determined that feature-based neighborhood vectors have been searched for all input vectors of the input vector group input in step S249.

そして、ステップ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 search control unit 412 sends the feature vector neighborhood vector to the neighborhood vector setting unit 416. Then, the process is supplied to step S250.

ステップS250において、近傍ベクトル設定部416は、供給された特徴ベクトル近傍ベクトルの内、不変の特徴別近傍ベクトルを入力ベクトル群の近傍ベクトル群に設定する。設定が終了すると、近傍ベクトル設定部416は、その近傍ベクトル群をモデル検出判定部367(図33)に供給し、処理の終了を近傍ベクトル群検索制御部412に通知し、処理をステップS251に進める。   In step S250, the neighborhood vector setting unit 416 sets an invariant feature-specific neighborhood vector among the supplied feature vector neighborhood vectors as a neighborhood vector group of the input vector group. When the setting is completed, the neighborhood vector setting unit 416 supplies the neighborhood vector group to the model detection determining unit 367 (FIG. 33), notifies the neighborhood vector group search control unit 412 of the end of the process, and the process proceeds to step S251. Proceed.

また、ステップ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 search control unit 412 includes the vector group. It is determined that there is no vector located in the vicinity with respect to all input vectors (determined that a desired neighborhood vector group cannot be obtained in the vector group), and the search for the neighborhood vector group in the vector group is terminated. The process proceeds to step S251.

ステップS251において、近傍ベクトル群検索制御部412は、変数jの値に「+1」を加算し、処理対象ベクトルグループを変更する。また、近傍ベクトル群検索制御部412は、ステップS252において、特徴別近傍ベクトル候補を初期化し、無限遠の仮想点に設定し、処理をステップS242に戻し、それ以降の処理を繰り返す。   In step S251, the neighborhood vector group search control unit 412 adds “+1” to the value of the variable j to change the processing target vector group. In step S252, the neighborhood vector group search control unit 412 initializes the feature-specific neighborhood vector candidate, sets it as an infinite virtual point, returns the processing to step S242, and repeats the subsequent processing.

つまり、近傍ベクトル群検索制御部412、近傍ベクトル検索部413、特徴別近傍ベクトル候補設定部414、および変化フラグ確認部415は、近傍ベクトル群検索制御部412がステップS242において全てのベクトルグループにおいて近傍ベクトル群を検索したと判定するまで、ステップS242乃至ステップS252の処理を繰り返す。   That is, the neighborhood vector group search control unit 412, the neighborhood vector search unit 413, the feature-specific neighborhood vector candidate setting unit 414, and the change flag confirmation unit 415 are the neighborhood vector group search control unit 412 in the neighborhood of all vector groups in step S <b> 242. The processing from step S242 to step S252 is repeated until it is determined that the vector group has been searched.

そして、ステップ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 search control unit 412 ends the neighborhood vector group search process, and the process returns to step S214 in FIG. Further, the plural types of feature amount comparison processing is terminated.

以上のように、複数種類の特徴ベクトルの検索において、1つの特徴ベクトルの検索結果を他の特徴ベクトルの検索に利用することにより、近傍ベクトル検索部396は、不要な演算量を削減することができ、より高速に入力ベクトル群の近傍ベクトル群を検索することができる。つまり、近傍ベクトル検索部396は、検索対象のベクトル集合が複数存在し、さらに、複数種類の入力ベクトルからなる入力ベクトル群を検索対象のベクトル集合と比較する場合であっても、各ベクトル集合から入力ベクトル群の近傍ベクトル群を高速に検索することができる。   As described above, in the search for a plurality of types of feature vectors, the neighborhood vector search unit 396 can reduce unnecessary calculation amount by using the search result of one feature vector for the search of other feature vectors. It is possible to search the neighborhood vector group of the input vector group at higher speed. That is, the neighborhood vector search unit 396 includes a plurality of vector sets to be searched, and even when comparing an input vector group including a plurality of types of input vectors with the vector set to be searched, The neighborhood vector group of the input vector group can be searched at high speed.

従って、画像処理装置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 amount comparison device 10 of FIG. 1, the devices of the feature amount comparison system 200 of FIG. 22, the image processing device 230 of FIG. 23, the image processing device 250 of FIG. 24, and the feature amount comparison device 280 of FIG. 33 and the image processing apparatus 350 in FIG. 33 may be configured as a personal computer as shown in FIG.

図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 storage unit 513 into a RAM (Random Access Memory) 503. Execute the process. The RAM 503 also appropriately stores data necessary for the CPU 501 to execute various processes.

CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。   The CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input / output interface 510 is also connected to the bus 504.

入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。   The input / output interface 510 includes an input unit 511 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 512 including a speaker, and a hard disk. A communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.

入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。   A drive 515 is connected to the input / output interface 510 as necessary, and a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.

上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。   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 ( Removable media 521 including a CD-ROM (compact disk-read only memory), a DVD (digital versatile disk), a magneto-optical disk (including MD (mini-disk) (registered trademark)), or a semiconductor memory In addition to being configured, it is configured by a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in a state of being pre-installed in the apparatus main body.

なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   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).

本発明を適用した特徴量比較装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the feature-value comparison apparatus to which this invention is applied. 近傍テーブル群作成の様子を説明する図である。It is a figure explaining the mode of neighborhood table group creation. 近傍テーブル群の構成例を示す図である。It is a figure which shows the structural example of a neighborhood table group. 最近傍ベクトルの検索の様子を説明する図である。It is a figure explaining the mode of search of a nearest neighbor vector. 検索範囲の絞り込みの例を説明する図である。It is a figure explaining the example of narrowing down a search range. 図1の共通代表点設定部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the common representative point setting part of FIG. 図1の近傍テーブル群作成部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the neighborhood table group production | generation part of FIG. 図7の近傍テーブル作成部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the vicinity table preparation part of FIG. 図8の距離情報作成部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the distance information preparation part of FIG. 図1の最近傍ベクトル群検索部の詳細な構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a detailed configuration example of a nearest neighbor vector group search unit in FIG. 1. 図10の最近傍ベクトル検索部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the nearest neighbor vector search part of FIG. 図11のテーブル内検索部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the search part in a table of FIG. 図11のグループ内全体検索部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the whole group internal search part of FIG. 共通代表点設定処理の例を説明するフローチャートである。It is a flowchart explaining the example of a common representative point setting process. 近傍テーブル群作成処理の例を説明するフローチャートである。It is a flowchart explaining the example of a neighborhood table group creation process. 近傍テーブル作成処理の例を説明するフローチャートである。It is a flowchart explaining the example of a neighborhood table creation process. 距離情報作成処理の例を説明するフローチャートである。It is a flowchart explaining the example of distance information creation processing. 最近傍ベクトル群検索処理の例を説明するフローチャートである。It is a flowchart explaining the example of a nearest neighbor vector group search process. 最近傍ベクトル検索処理の例を説明するフローチャートである。It is a flowchart explaining the example of a nearest neighbor vector search process. テーブル内検索処理の例を説明するフローチャートである。It is a flowchart explaining the example of the search process in a table. グループ内全体検索処理の例を説明するフローチャートである。It is a flowchart explaining the example of the whole group search process. 本発明を適用した特徴量比較システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the feature-value comparison system to which this invention is applied. 本発明を適用した画像処理装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the image processing apparatus to which this invention is applied. 本発明を適用した画像処理装置の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of the image processing apparatus to which this invention is applied. 本発明を適用した特徴量比較装置の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of the feature-value comparison apparatus to which this invention is applied. 座標変換の様子を説明する模式図である。It is a schematic diagram explaining the mode of coordinate transformation. 次元圧縮の様子を説明する模式図である。It is a schematic diagram explaining the mode of dimensional compression. ベクトル間距離の比較の様子を説明する図である。It is a figure explaining the mode of comparison of the distance between vectors. 図25のメンバベクトル座標変換部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the member vector coordinate transformation part of FIG. 特徴量比較処理を説明するフローチャートである。It is a flowchart explaining a feature-value comparison process. メンバベクトル座標変換処理を説明するフローチャートである。It is a flowchart explaining a member vector coordinate transformation process. 近傍ベクトル群を検索する様子を説明する図である。It is a figure explaining a mode that a neighborhood vector group is searched. 本発明を適用した画像処理装置のさらに他の構成例を示すブロック図である。FIG. 20 is a block diagram illustrating still another configuration example of an image processing apparatus to which the present invention has been applied. 図33の複数種類特徴量比較部の詳細な構成例を示すブロック図である。It is a block diagram which shows the detailed structural example of the multiple types feature-value comparison part of FIG. 図34の近傍ベクトル群検索部の詳細な構成例を示すブロック図である。FIG. 35 is a block diagram illustrating a detailed configuration example of a neighborhood vector group search unit in FIG. 34. 複数種類特徴量比較処理を説明するフローチャートである。It is a flowchart explaining a multiple types feature-value comparison process. 近傍ベクトル群検索処理を説明するフローチャートである。It is a flowchart explaining a neighborhood vector group search process. 本発明を適用したパーソナルコンピュータの構成例を示す図である。It is a figure which shows the structural example of the personal computer to which this invention is applied.

符号の説明Explanation of symbols

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 .
JP2005002934A 2005-01-07 2005-01-07 Information processing apparatus and method, and program Expired - Fee Related JP4556121B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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