JP2015079308A - Recognition system - Google Patents

Recognition system Download PDF

Info

Publication number
JP2015079308A
JP2015079308A JP2013214982A JP2013214982A JP2015079308A JP 2015079308 A JP2015079308 A JP 2015079308A JP 2013214982 A JP2013214982 A JP 2013214982A JP 2013214982 A JP2013214982 A JP 2013214982A JP 2015079308 A JP2015079308 A JP 2015079308A
Authority
JP
Japan
Prior art keywords
distance
feature
recognition system
classifiers
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013214982A
Other languages
Japanese (ja)
Other versions
JP6188147B2 (en
Inventor
ハンスユルゲン マタウシュ
Hansjuergen Matthew
ハンスユルゲン マタウシュ
豊偉 安
Fengwei An
豊偉 安
インドラ バグス ウィジャクソノ
Bagus Wicaksono Indra
インドラ バグス ウィジャクソノ
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.)
Hiroshima University NUC
Original Assignee
Hiroshima University NUC
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 Hiroshima University NUC filed Critical Hiroshima University NUC
Priority to JP2013214982A priority Critical patent/JP6188147B2/en
Priority to PCT/JP2014/005185 priority patent/WO2015056436A1/en
Publication of JP2015079308A publication Critical patent/JP2015079308A/en
Application granted granted Critical
Publication of JP6188147B2 publication Critical patent/JP6188147B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a recognition system which improves identification accuracy and is suitable for hardware processing.SOLUTION: A recognition system (100) includes a plurality of identification classifiers (10) and a determination part (20). To the identification classifiers (10), input data of an unknown class are given in common. A feature vector of input data is generated by a feature descriptor that is not overlapped with the other classifiers. One or more representative vectors are selected which are the closest to the feature vector among representative vectors of clusters. As a classification result of the input data, a class label corresponding to the selected representative vectors is outputted. Upon receiving the classification results from the plurality of identification classifiers, the determination part (20) determines a class of the input data in accordance with a majority decision of the classification results.

Description

本発明は、認識システムに関し、特に、ハードウェア処理に適した認識システムに関する。   The present invention relates to a recognition system, and more particularly to a recognition system suitable for hardware processing.

画像認識や音声認識などの各種認識システムにおいて処理の高速化は共通の課題である。認識処理は、ソフトウェアで実施するよりもハードウェアで実行する方がより高速化することができる。しかし、認識システムをハードウェアに実装するとなると、計算処理上の制約、効率的なリソース利用、消費電力、回路規模などのさまざまな問題を解決しなければならない。   High speed processing is a common problem in various recognition systems such as image recognition and voice recognition. The recognition process can be performed at higher speed when executed by hardware than when executed by software. However, when the recognition system is implemented in hardware, various problems such as computational limitations, efficient resource utilization, power consumption, and circuit scale must be solved.

サポートベクターマシン(SVM)は、最も識別能力に優れたクラス分類器の一つとして知られている。しかし、SVMは、通常、ソフトウェアによって実施され、ハードウェア処理には向いていない。SVMをハードウェアに実装しようとすると、学習アルゴリズムを大幅に縮減しなければならなくなるであろう。一方、ハードウェア処理に適したクラス分類手法として最近傍探索(Nearest Neighbor Search)がある(例えば、非特許文献1を参照)。しかし、最近傍探索には、SVMと比べて識別精度が劣るという欠点がある。   A support vector machine (SVM) is known as one of the class classifiers having the best discrimination ability. However, SVM is usually implemented by software and is not suitable for hardware processing. If one tries to implement SVM in hardware, the learning algorithm will have to be significantly reduced. On the other hand, there is Nearest Neighbor Search as a class classification method suitable for hardware processing (see, for example, Non-Patent Document 1). However, the nearest neighbor search has a drawback that the identification accuracy is inferior to that of the SVM.

T.Chen, S.Chien, "Flexible hardware architecture of hierarchical k-means clustering for large cluster number," IEEE Transactions on VLSI Systems 19(8), 2011, p.1336-1345T. Chen, S. Chien, "Flexible hardware architecture of hierarchical k-means clustering for large cluster number," IEEE Transactions on VLSI Systems 19 (8), 2011, p.1336-1345

単純に最近傍探索の識別精度を上げようとすると計算量が大幅に増大しかねない。計算量の増大は、処理速度の低下や、消費電力および回路規模の増大といった好ましくない結果を招いてしまう。   Simply increasing the identification accuracy of nearest neighbor search can significantly increase the amount of computation. An increase in calculation amount leads to undesirable results such as a reduction in processing speed and an increase in power consumption and circuit scale.

上記問題に鑑み、本発明は、識別精度に優れ、ハードウェア処理に適した認識システムを提供することを目的とする。   In view of the above problems, an object of the present invention is to provide a recognition system that is excellent in identification accuracy and suitable for hardware processing.

本発明の一局面に従った認識システムは、未知クラスの入力データが共通に与えられ、他と重複しない特徴記述子によって前記入力データの特徴ベクトルを生成し、各クラスタの代表ベクトルのうち前記特徴ベクトルに最近傍の1または複数の代表ベクトルを選出し、前記入力データのクラス分類結果として、該選出した代表ベクトルに対応付けられたクラスラベルを出力する複数の識別分類器と、前記複数の識別分類器からクラス分類結果を受け、これらクラス分類結果の多数決によって前記入力データのクラスを判定する判定部と、を備えている。   In a recognition system according to an aspect of the present invention, input data of an unknown class is given in common, a feature vector of the input data is generated by a feature descriptor that does not overlap with others, and the feature among the representative vectors of each cluster A plurality of classification classifiers that select one or more representative vectors closest to the vector and output a class label associated with the selected representative vector as a class classification result of the input data; and the plurality of classifications A determination unit that receives a classification result from the classifier and determines a class of the input data by majority of the classification results.

これによると、各識別分類器によって未知クラスの入力データが相補的な特徴領域(ドメイン)においてクラス分類され、各ドメインにおけるクラス分類結果が判定部に集約されて最終的に多数決によってクラス判定が行われる。したがって、個々の識別分類器は、計算量を増大させずに識別精度が比較的低いものであっても、それらの識別結果を総合的に評価することで、システム全体としての識別精度を向上させることができる。また、個々の識別分類器で実施される最近傍探索はハードウェア処理に適しているため、識別分類器をハードウェアに実装することは容易である。これにより、システム全体としての認識速度を高速化することができる。   According to this, each classifier classifies input data of unknown classes in complementary feature regions (domains), and class classification results in each domain are aggregated in the determination unit, and finally class determination is performed by majority vote. Is called. Therefore, each classification classifier improves the identification accuracy of the entire system by comprehensively evaluating the identification results even if the identification accuracy is relatively low without increasing the amount of calculation. be able to. Moreover, since the nearest neighbor search performed by each classification classifier is suitable for hardware processing, it is easy to implement the classification classifier in hardware. As a result, the recognition speed of the entire system can be increased.

前記複数の識別分類器は、さらに、前記選出した代表ベクトルと前記特徴ベクトルとの距離を出力してもよく、また、前記判定部は、前記複数の識別分類器によるクラス分類結果に前記距離を重み付け加算した重み付き多数決によって前記入力データのクラスを判定してもよい。   The plurality of classification classifiers may further output a distance between the selected representative vector and the feature vector, and the determination unit adds the distance to a class classification result by the plurality of classification classifiers. The class of the input data may be determined by a weighted majority vote obtained by weighted addition.

前記判定部は、前記多数決が同数となった場合、前記複数の識別分類器から出力されるクラスラベルのうち優先度が最も高いクラスラベルを採用してもよい。   The determination unit may employ a class label having the highest priority among the class labels output from the plurality of discriminating classifiers when the number of majority votes is the same.

前記複数の識別分類器のそれぞれは、前記入力データから前記特徴ベクトルを生成する特徴抽出部と、前記各クラスタの代表ベクトルを記憶するメモリと、前記特徴ベクトルと前記各クラスタの代表ベクトルとの距離を計算する距離計算回路と、前記距離計算回路によって計算された距離のうち最小のものを探索する最小距離探索回路とを有していてもよい。   Each of the plurality of classification classifiers includes a feature extraction unit that generates the feature vector from the input data, a memory that stores a representative vector of each cluster, and a distance between the feature vector and the representative vector of each cluster And a minimum distance search circuit for searching for a minimum one of the distances calculated by the distance calculation circuit.

前記複数の識別分類器のそれぞれは、複数のサンプルデータを前記特徴抽出部に入力して複数の学習用特徴ベクトルを生成し、それら学習用特徴ベクトルに対してK平均法によりクラスタリングを実施して前記各クラスタの代表ベクトルを生成するものであってもよく、クラスタリングにおいて、前記距離計算回路および前記最小距離探索回路が、各クラスタの重心と各学習用特徴ベクトルとの最短距離の計算に使用されてもよい。   Each of the plurality of classification classifiers inputs a plurality of sample data to the feature extraction unit to generate a plurality of learning feature vectors, and performs clustering on the learning feature vectors by a K-average method. In the clustering, the distance calculation circuit and the minimum distance search circuit are used for calculating the shortest distance between the center of gravity of each cluster and each learning feature vector. May be.

さらに、前記距離計算回路は、前記特徴ベクトルと前記各クラスタの代表ベクトルとが所定数の要素単位で区切られて入力され、パイプライン処理により前記距離を計算してもよい。さらに、前記最小距離探索回路は、閾値よりも小さい距離を探索してもよい。   Further, the distance calculation circuit may input the feature vector and the representative vector of each cluster in a predetermined number of element units and calculate the distance by pipeline processing. Further, the minimum distance search circuit may search for a distance smaller than a threshold value.

あるいは、前記複数の識別分類器のそれぞれは、前記入力データから前記特徴ベクトルを生成する特徴抽出部と、前記各クラスタの代表ベクトルを参照データとして記憶しており、前記特徴ベクトルが検索データとして入力され、記憶している参照データの中から前記特徴ベクトルに距離が近いものを選び出す連想メモリとを有していてもよい。   Alternatively, each of the plurality of classification classifiers stores a feature extraction unit that generates the feature vector from the input data and a representative vector of each cluster as reference data, and the feature vector is input as search data And an associative memory for selecting one having a distance close to the feature vector from the stored reference data.

前記複数の識別分類器のそれぞれは、複数のサンプルデータを前記特徴抽出部に入力して複数の学習用特徴ベクトルを生成し、それら学習用特徴ベクトルに対してK平均法によりクラスタリングを実施して前記各クラスタの代表ベクトルを生成するものであってもよく、クラスタリングにおいて、前記連想メモリが、各クラスタの重心と各学習用特徴ベクトルとの最短距離の計算に使用されてもよい。   Each of the plurality of classification classifiers inputs a plurality of sample data to the feature extraction unit to generate a plurality of learning feature vectors, and performs clustering on the learning feature vectors by a K-average method. A representative vector of each cluster may be generated, and in the clustering, the associative memory may be used to calculate the shortest distance between the center of gravity of each cluster and each learning feature vector.

前記距離が、ユークリッド距離またはユークリッド2乗距離であってもよい。   The distance may be a Euclidean distance or a Euclidean square distance.

前記入力データが、画像データであってもよい。   The input data may be image data.

前記複数の識別分類器、および前記判定部が、前記画像データが人の画像であるか否かを判定してもよい。   The plurality of identification classifiers and the determination unit may determine whether the image data is a human image.

前記特徴記述子が、HOG(Histograms of Oriented Gradients)およびLBP(Local Binary Pattern)を含み得る。   The feature descriptor may include HOG (Histograms of Oriented Gradients) and LBP (Local Binary Pattern).

以上のように、本発明によると、識別精度に優れ、ハードウェア処理に適した認識システムを提供することができる。   As described above, according to the present invention, it is possible to provide a recognition system that is excellent in identification accuracy and suitable for hardware processing.

本発明の実施形態の一般例に係る認識システムの一般的な構成図General configuration diagram of a recognition system according to a general example of an embodiment of the present invention 一例に係る識別分類器の構成図Configuration diagram of an identification classifier according to an example 別例に係る識別分類器の構成図Configuration diagram of identification classifier according to another example 一例に係る距離計算回路および最小距離探索回路の構成図Configuration diagram of distance calculation circuit and minimum distance search circuit according to an example ベクトルを格納するメモリブロックを模式的に示す図The figure which shows the memory block which stores the vector typically 一例に係るタイミング信号生成回路の構成図Configuration diagram of timing signal generation circuit according to an example 距離計算回路および最小距離探索回路のパイプライン動作のタイミングチャートPipeline operation timing chart of distance calculation circuit and minimum distance search circuit 具体例に係る認識システムにおける主要部の構成図Configuration diagram of main parts in recognition system according to specific example 学習用特徴ベクトルのクラス分類結果の一例を示すグラフA graph showing an example of classification results of learning feature vectors 判定部における判定処理の例を示すフローチャートThe flowchart which shows the example of the determination process in a determination part

以下、図面を参照しながら本発明を実施するための形態について説明する。なお、本発明は、以下の実施形態に限定されるものではない。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. In addition, this invention is not limited to the following embodiment.

<認識システムの一般例>
図1は、本発明の実施形態の一般例に係る認識システムの構成を示す。一般例に係る認識システム100は、複数の識別分類器10と、判定部20とを備えている。
<General example of recognition system>
FIG. 1 shows a configuration of a recognition system according to a general example of an embodiment of the present invention. The recognition system 100 according to the general example includes a plurality of identification classifiers 10 and a determination unit 20.

各識別分類器10は、未知クラスの入力データを受け、入力データのクラスを判定してクラス分類結果を出力する。より詳細には、各識別分類器10は、あらかじめサンプルデータの学習によって所定数のクラスタを生成し、各クラスタの重心(centroid)で定義される代表ベクトル(プロトタイプともいう)を獲得している。各識別分類器10は、所定の特徴記述子(局所記述子、局所特徴記述子ともいう)によって入力データから特徴ベクトルを生成し、特徴ベクトルと各クラスタのプロトタイプとの距離を計算し、特徴ベクトルに最近傍の1または複数のプロトタイプを選出する。各プロトタイプには、クラスラベル、クラスタラベル、およびクラスタの重心位置の各情報が対応付けられている。各識別分類器10は、選出したプロトタイプ(以下、「ウィナー(winner)」と称することがある)に対応付けられたクラスラベルおよびウィナーと特徴ベクトルとの距離(以下、「ウィナー距離」と称することがある)を入力データのクラス分類結果として出力する。   Each identification classifier 10 receives input data of an unknown class, determines a class of the input data, and outputs a class classification result. More specifically, each identification classifier 10 generates a predetermined number of clusters in advance by learning sample data, and acquires a representative vector (also referred to as a prototype) defined by the centroid of each cluster. Each identification classifier 10 generates a feature vector from input data according to a predetermined feature descriptor (also referred to as a local descriptor or a local feature descriptor), calculates a distance between the feature vector and a prototype of each cluster, and Select one or more prototypes closest to. Each prototype is associated with information on a class label, a cluster label, and the center of gravity position of the cluster. Each identification classifier 10 is referred to as a class label associated with a selected prototype (hereinafter, sometimes referred to as “winner”) and a distance between the winner and the feature vector (hereinafter referred to as “winner distance”). Is output as the classification result of the input data.

判定部20は、複数の識別分類器10からクラス分類結果を受け、これらクラス分類結果の多数決によって入力データのクラスを判定する。より詳細には、判定部20は、複数の識別分類器10によるクラス分類結果にウィナー距離を重み付けした重み付き多数決によって入力データのクラスを判定する。   The determination unit 20 receives the class classification results from the plurality of identification classifiers 10, and determines the class of the input data based on the majority of the class classification results. More specifically, the determination unit 20 determines a class of input data by a weighted majority vote obtained by weighting the Wiener distance to the class classification result by the plurality of classifiers 10.

ここで重要な点は、複数の識別分類器10に共通の入力データが与えられ、各識別分類器10は、他の識別分類器10と重複しない特徴記述子によって入力データの特徴ベクトルを生成する点である。すなわち、認識システム100は、未知クラスの入力データを相補的な複数の特徴領域(局所特徴領域またはドメインともいう)においてクラス分類し、各ドメインにおけるクラス分類結果を集約して最終的に重み付き多数決によって入力データのクラスを判定する。   The important point here is that input data common to a plurality of discriminating classifiers 10 is given, and each discriminating classifier 10 generates a feature vector of input data by a feature descriptor that does not overlap with other discriminating classifiers 10. Is a point. That is, the recognition system 100 classifies input data of an unknown class in a plurality of complementary feature regions (also referred to as local feature regions or domains), aggregates the class classification results in each domain, and finally obtains a weighted majority decision. To determine the class of input data.

次に、識別分類器10の構成について説明する。図2Aは、一例に係る識別分類器10の構成を示す。一例に係る識別分類器10は、メモリ11と、距離計算回路12と、最小距離探索回路13と、特徴抽出部14とを備えている。図2Bは、別例に係る識別分類器10の構成を示す。別例に係る識別分類器10は、特徴抽出部14と、連想メモリ15とを備えている。   Next, the configuration of the identification classifier 10 will be described. FIG. 2A shows a configuration of the identification classifier 10 according to an example. The identification classifier 10 according to an example includes a memory 11, a distance calculation circuit 12, a minimum distance search circuit 13, and a feature extraction unit 14. FIG. 2B shows a configuration of an identification classifier 10 according to another example. The classification classifier 10 according to another example includes a feature extraction unit 14 and an associative memory 15.

特徴抽出部14は、所定の特徴記述子によって、入力データの特徴ベクトルを生成する。ここで、特徴ベクトルの次元数が大きいとベクトル間の距離計算の負荷が大きくなってしまう。そこで、特徴抽出部14は、PCA(Principal Component Analysis)法やPLS(Partial Least Squares)法などを適用して、次元を縮小した特徴ベクトルを扱うようにしてもよい。PCA法やPLS法などによってベクトルの次元が縮小されても、識別分類器10のクラス分類精度は低下しない。   The feature extraction unit 14 generates a feature vector of input data using a predetermined feature descriptor. Here, if the number of dimensions of the feature vector is large, the load for calculating the distance between the vectors increases. Therefore, the feature extraction unit 14 may handle feature vectors with reduced dimensions by applying a PCA (Principal Component Analysis) method, a PLS (Partial Least Squares) method, or the like. Even if the vector dimension is reduced by the PCA method, the PLS method, or the like, the class classification accuracy of the identification classifier 10 does not decrease.

メモリ11は、あらかじめ学習によって獲得したプロトタイプを記憶する記憶装置である。メモリ11は、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの揮発性メモリおよび/またはフラッシュメモリなどの不揮発性メモリで構成することができる。   The memory 11 is a storage device that stores a prototype acquired by learning in advance. The memory 11 can be composed of a volatile memory such as SRAM (Static Random Access Memory) and DRAM (Dynamic Random Access Memory) and / or a nonvolatile memory such as a flash memory.

連想メモリ15は、あらかじめ学習によって獲得したプロトタイプを参照データとして記憶している。連想メモリ15は、特徴抽出部14によって生成された特徴ベクトルが検索データとして入力され、記憶しているプロトタイプの中から特徴ベクトルとの距離が近いものを選び出す。距離として、例えば、ユークリッド距離またはユークリッド2乗距離を採用することができる。連想メモリ15が最近傍連想メモリの場合、特徴ベクトルと最も距離が近い1個のプロトタイプが選択される。連想メモリ15がk近傍連想メモリの場合、特徴ベクトルと最も距離が近いk個のプロトタイプが選択される。なお、k近傍連想メモリについては、本願発明者による特願2013−154887の明細書などに詳しく記載されている。   The associative memory 15 stores a prototype acquired by learning in advance as reference data. The associative memory 15 receives the feature vector generated by the feature extraction unit 14 as search data, and selects one having a short distance from the feature vector from the stored prototypes. As the distance, for example, the Euclidean distance or the Euclidean square distance can be adopted. When the associative memory 15 is the nearest associative memory, one prototype closest to the feature vector is selected. When the associative memory 15 is a k-neighbor associative memory, k prototypes that are closest to the feature vector are selected. The k neighborhood associative memory is described in detail in the specification of Japanese Patent Application No. 2013-154887 by the inventors of the present application.

メモリ11または連想メモリ15に記憶されるプロトタイプは、複数のサンプルデータを特徴抽出部14に入力して複数の学習用特徴ベクトルを生成し、それら学習用特徴ベクトルに対してクラスタリングを実施することで獲得することができる。   The prototype stored in the memory 11 or the associative memory 15 is generated by inputting a plurality of sample data to the feature extraction unit 14 to generate a plurality of feature vectors for learning and performing clustering on the feature vectors for learning. Can be earned.

クラスタリングは、K平均法などを用いて実施することができる。例えば、任意の次元の空間においてn個の学習用特徴ベクトルX(i=1,2,…,n)をm個のクラスタに分類するとする。K近傍法によると、次の4つのステップでクラスタリングが実施される。
ステップ1:各学習用特徴ベクトルXに対してランダムにクラスタを割り当てる。
ステップ2:各クラスタの重心(プロトタイプ)P(i=1,2,…,m)を計算する。
ステップ3:各学習用特徴ベクトルXと各プロトタイプPとの距離を計算し、各学習用特徴ベクトルXを最近傍のプロトタイプPのクラスタに割り当る。
ステップ4:各学習用特徴ベクトルXのクラスタの割り当てが変化しなくなるまでステップ2およびステップ3を繰り返す。
Clustering can be performed using a K-means method or the like. For example, it is assumed that n learning feature vectors X i (i = 1, 2,..., N) are classified into m clusters in a space of an arbitrary dimension. According to the K neighborhood method, clustering is performed in the following four steps.
Step 1: A cluster is randomly assigned to each learning feature vector X i .
Step 2: Calculate the centroid (prototype) P j (i = 1, 2,..., M) of each cluster.
Step 3: The distance between each learning feature vector X i and each prototype P j is calculated, and each learning feature vector X i is assigned to the cluster of the nearest prototype P j .
Step 4: Steps 2 and 3 are repeated until the cluster assignment of each learning feature vector X i does not change.

上記4つのステップのうち、ステップ3は、図2Aの構成における距離計算回路12および最小距離探索回路13によって、または、図2Bの構成における連想メモリ15によって、それぞれハードウェア処理することができ、それ以外のステップは、図示しない演算処理装置によってソフトウェア処理することができる。このように、距離計算回路12および最小距離探索回路13、または連想メモリ15を使用して、ハードウェアおよびソフトウェアが協働して学習用特徴ベクトルのクラスタリングを実施してプロトタイプを獲得することができる。   Of the above four steps, step 3 can be hardware-processed by the distance calculation circuit 12 and the minimum distance search circuit 13 in the configuration of FIG. 2A or by the associative memory 15 in the configuration of FIG. 2B. The other steps can be processed by software by an arithmetic processing unit (not shown). In this way, the distance calculation circuit 12 and the minimum distance search circuit 13 or the associative memory 15 can be used to perform clustering of learning feature vectors in cooperation with hardware and software to obtain a prototype. .

距離計算回路12は、特徴ベクトルとプロトタイプとの距離を計算するハードウェアである。距離計算回路12には、メモリ11に記憶されているすべてのプロトタイプが一つずつ順に入力される。最小距離探索回路13は、距離計算回路12によって計算された距離のうち最小のものを探索するハードウェアである。距離計算回路12および最小距離探索回路13は、例えば、FPGA(Field Programmable Gate Array)などに実装することができる。2つのベクトル間の距離としてさまざまなものがあるが、ユークリッド距離を採用することが好ましい。ユークリッド距離は、マンハッタン距離やハミング距離などよりも正確な尺度となり得るからである。特徴ベクトルをF={F,F,…,F}、プロトタイプをP={P,P,…,P}とすると、特徴ベクトルFとプロトタイプPとのユークリッド距離Dは次式(1)で与えられる。ただし、1≦j≦dである。 The distance calculation circuit 12 is hardware that calculates the distance between the feature vector and the prototype. All prototypes stored in the memory 11 are sequentially input to the distance calculation circuit 12 one by one. The minimum distance search circuit 13 is hardware that searches for the minimum distance among the distances calculated by the distance calculation circuit 12. The distance calculation circuit 12 and the minimum distance search circuit 13 can be mounted on, for example, an FPGA (Field Programmable Gate Array). Although there are various distances between two vectors, it is preferable to employ the Euclidean distance. This is because the Euclidean distance can be a more accurate measure than the Manhattan distance or the Hamming distance. If the feature vector is F = {F 1 , F 2 ,..., F d } and the prototype is P = {P 1 , P 2 ,..., P d }, then the Euclidean distance D E between the feature vector F and the prototype P is It is given by the following equation (1). However, 1 ≦ j ≦ d.

=√Σ(F−P … (1)
ユークリッド距離の計算には平方根計算が含まれるため、ハードウェアによる処理に向いていない。したがって、次式(2)で与えられるユークリッド2乗距離D を採用する。
D E = √Σ (F j −P j ) 2 (1)
Since the calculation of the Euclidean distance includes square root calculation, it is not suitable for processing by hardware. Therefore, the Euclidean square distance D E 2 given by the following equation (2) is adopted.

=Σ(F−P … (2)
ユークリッド2乗距離だと平方根計算が不要となり、ハードウェアで計算回路を実現しやすくなる。なお、ユークリッド2乗距離を採用してもマンハッタン距離やハミング距離などに対する優位性は失われない。
D E 2 = Σ (F j −P j ) 2 (2)
When the Euclidean square distance is used, the square root calculation is not necessary, and a calculation circuit can be easily realized by hardware. Even if the Euclidean square distance is adopted, the advantage over the Manhattan distance, the Hamming distance, etc. is not lost.

図3は、距離計算回路12および最小距離探索回路13の構成例を示す。本例に係る距離計算回路12は、特徴ベクトルFとプロトタイプPとのユークリッド2乗距離を計算する回路である。特徴ベクトルFの要素FおよびプロトタイプPの要素Pはいずれも16ビット値であり、距離計算回路12は特徴ベクトルFとプロトタイプPとのユークリッド2乗距離として42ビット値を計算する。 FIG. 3 shows a configuration example of the distance calculation circuit 12 and the minimum distance search circuit 13. The distance calculation circuit 12 according to this example is a circuit that calculates the Euclidean square distance between the feature vector F and the prototype P. The element F j of the feature vector F and the element P j of the prototype P are both 16-bit values, and the distance calculation circuit 12 calculates a 42-bit value as the Euclidean square distance between the feature vector F and the prototype P.

特徴抽出部14およびメモリ11から特徴ベクトルFおよびプロトタイプPが1ワード単位、すなわち、4要素単位で読み出され、距離計算回路12に入力される。第1ステージ(Stage1)において、距離計算回路12に入力された特徴ベクトルFおよびプロトタイプPの各要素は、8個の16ビットレジスタ1201に格納される。第2ステージ(Stage2)において、4個の16ビット減算器1202は、それぞれ、2個の16ビットレジスタ1201の値どうしを減算し、計算結果が4個の16ビットレジスタ1203に格納される。第3ステージ(Stage3)において、4個の16ビット乗算器1204は、それぞれ、4個の16ビットレジスタ1203の値を2乗し、計算結果が4個の32ビットレジスタ1205に格納される。第4ステージ(Stage4)において、2個の32ビット加算器1206は、それぞれ、2個の32ビットレジスタ1205の値を加算し、計算結果が32ビットレジスタ1207に格納される。第5ステージ(Stage5)において、32ビット加算器1208は、2個の32ビットレジスタ1207の値を加算し、計算結果が32ビットレジスタ1209に格納される。第6ステージ(Stage6)において、42ビット加算器1210は、32ビットレジスタ1209の値と、マルチプレクサ1211の出力とを加算し、計算結果が42ビットレジスタ1212に格納される。なお、42ビットレジスタ1212は、距離計算の開始前に、リセット信号resetによって初期化され、保持値が“0”に設定される。   The feature vector F and the prototype P are read from the feature extraction unit 14 and the memory 11 in units of one word, that is, in units of four elements, and input to the distance calculation circuit 12. In the first stage (Stage 1), each element of the feature vector F and the prototype P input to the distance calculation circuit 12 is stored in eight 16-bit registers 1201. In the second stage (Stage 2), the four 16-bit subtractors 1202 subtract the values of the two 16-bit registers 1201 and store the calculation results in the four 16-bit registers 1203. In the third stage (Stage 3), the four 16-bit multipliers 1204 each square the values of the four 16-bit registers 1203, and the calculation results are stored in the four 32-bit registers 1205. In the fourth stage (Stage 4), the two 32-bit adders 1206 add the values of the two 32-bit registers 1205, respectively, and the calculation result is stored in the 32-bit register 1207. In the fifth stage (Stage 5), the 32-bit adder 1208 adds the values of the two 32-bit registers 1207, and the calculation result is stored in the 32-bit register 1209. In the sixth stage (Stage 6), the 42-bit adder 1210 adds the value of the 32-bit register 1209 and the output of the multiplexer 1211, and the calculation result is stored in the 42-bit register 1212. Note that the 42-bit register 1212 is initialized by a reset signal reset before starting the distance calculation, and the hold value is set to “0”.

マルチプレクサ1211は、42ビットレジスタ1212の値と“0”が入力され、制御信号Load_cmpに応じてこれらのいずれか一方を出力する。制御信号Load_cmpは、特徴抽出部14およびメモリ11から特徴ベクトルFおよびプロトタイプPの最終ワードの読み出しが完了したことを示すタイミング信号One_sampleを所定量だけ遅延させた信号である。したがって、特徴ベクトルFおよびプロトタイプPの最終ワードの読み出しが完了するまでマルチプレクサ1211から42ビットレジスタ1212の値が出力され、上記の第2ステージから第5ステージまでの計算結果が累積加算される。加算器1210のビット幅を42ビットにしている理由は、このような累積加算によるキャリーオーバーに対応するためである。このように、距離計算回路12は、特徴ベクトルFおよびプロトタイプPの次元が4よりも大きい場合、これらベクトルの要素を4個単位で分割して計算することができる。   The multiplexer 1211 receives the value of the 42-bit register 1212 and “0”, and outputs one of them according to the control signal Load_cmp. The control signal Load_cmp is a signal obtained by delaying a timing signal One_sample indicating that the feature vector F and the final word of the prototype P have been read from the feature extraction unit 14 and the memory 11 by a predetermined amount. Therefore, the value of the 42-bit register 1212 is output from the multiplexer 1211 until the reading of the last word of the feature vector F and the prototype P is completed, and the calculation results from the second stage to the fifth stage are cumulatively added. The reason why the bit width of the adder 1210 is 42 bits is to cope with carry-over by such cumulative addition. Thus, when the dimension of the feature vector F and the prototype P is larger than 4, the distance calculation circuit 12 can calculate by dividing the elements of these vectors in units of four.

図4は、プロトタイプを格納するメモリブロックを模式的に示す。メモリ11において、プロトタイプは、n(ただし、nは整数)ワード分のメモリブロック単位で格納されている。nは、格納されるプロトタイプのサイズに応じて変わり得る。プロトタイプの1要素が16ビット値の場合、1ワード当たりちょうど4個の要素が格納される。したがって、プロトタイプの次元数が4の倍数の場合、メモリブロックはすべてプロトタイプの要素によって埋められる。一方、図4の拡大部分に示したようにプロトタイプの次元数が4の倍数でない場合、メモリブロックの最終ワードにおいてプロトタイプの要素が存在しない部分は“0”で埋めるようにする。値“0”がプロトタイプの要素として距離計算回路12に入力されても計算結果に何ら影響はない。このように、認識システム100は、ハードウェアによって任意の次元のベクトル間のユークリッド2乗距離を計算することができる。   FIG. 4 schematically shows a memory block storing a prototype. In the memory 11, the prototype is stored in units of memory blocks corresponding to n (where n is an integer) words. n can vary depending on the size of the prototype stored. If one element of the prototype is a 16-bit value, exactly 4 elements are stored per word. Thus, if the prototype dimension is a multiple of four, all memory blocks are filled with prototype elements. On the other hand, when the dimension number of the prototype is not a multiple of 4 as shown in the enlarged portion of FIG. 4, the portion where the prototype element does not exist in the last word of the memory block is filled with “0”. Even if the value “0” is input to the distance calculation circuit 12 as a prototype element, the calculation result is not affected at all. Thus, the recognition system 100 can calculate the Euclidean square distance between vectors of an arbitrary dimension by hardware.

図5は、タイミング信号One_sampleの生成回路の構成例を示す。カウンタ回路15は、クロック信号CLKに同期して初期値からカウントアップする。なお、カウンタ回路15は、距離計算の開始前に、リセット信号resetによって初期化され、保持値が“0”に設定される。比較器16は、カウンタ回路15の値とベクトルのサイズを表す値Onesampe_defが入力され、これらが一致するとき、“1”を出力し、それ以外は“0”を出力する。比較器16の出力がタイミング信号One_sampleである。値Onesampe_defは、上述したように、メモリ11においてプロトタイプが格納されるメモリブロックのワード数nを表す。例えば、プロトタイプが11次元の場合、値Onesampe_defは“3”であり、プロトタイプが20次元の場合、値Onesampe_defは“5”である。カウンタ回路15の値Addr_prtは、各メモリブロックにおけるワードのリードアドレスとして使用される。すなわち、値Addr_prtが“0”のとき、プロトタイプの先頭ワードが読み出され、値Addr_prtが“n−1”のとき、プロトタイプの最終ワードが読み出される。   FIG. 5 shows a configuration example of a circuit for generating the timing signal One_sample. The counter circuit 15 counts up from the initial value in synchronization with the clock signal CLK. Note that the counter circuit 15 is initialized by the reset signal reset before starting the distance calculation, and the hold value is set to “0”. The comparator 16 receives the value of the counter circuit 15 and the value Onesample_def representing the size of the vector, and outputs “1” when they match, and outputs “0” otherwise. The output of the comparator 16 is a timing signal One_sample. The value Onesample_def represents the number of words n of the memory block in which the prototype is stored in the memory 11 as described above. For example, when the prototype has 11 dimensions, the value Onesample_def is “3”, and when the prototype has 20 dimensions, the value Onesample_def is “5”. The value Addr_prt of the counter circuit 15 is used as a word read address in each memory block. That is, when the value Addr_prt is “0”, the first word of the prototype is read, and when the value Addr_prt is “n−1”, the final word of the prototype is read.

図3へ戻り、最小距離検索回路13において、42ビットレジスタ131は、距離計算の開始前に、リセット信号resetによって初期化され、制御信号Load_cmpが入力されたタイミングで42ビットレジスタ1212の値を格納する。制御信号Load_cmpが“1”となることで最小距離の検索が開始される。42ビットレジスタ132は、検索して得られた42ビット値の最小距離、すなわち、ウィナー距離を格納するレジスタである。42ビットレジスタ131は、距離計算の開始前に、リセット信号resetによって初期化され、制御信号Load_minが入力されたタイミングで42ビットレジスタ131の値を格納する。制御信号Load_minは、新たな最小距離が見つかったときに“1”となる信号である。   Returning to FIG. 3, in the minimum distance search circuit 13, the 42-bit register 131 is initialized by the reset signal reset before starting the distance calculation, and stores the value of the 42-bit register 1212 at the timing when the control signal Load_cmp is input. To do. The search for the minimum distance is started when the control signal Load_cmp becomes “1”. The 42-bit register 132 is a register for storing a minimum distance of 42-bit values obtained by searching, that is, a winner distance. The 42-bit register 131 is initialized by a reset signal reset before starting the distance calculation, and stores the value of the 42-bit register 131 at the timing when the control signal Load_min is input. The control signal Load_min is a signal that becomes “1” when a new minimum distance is found.

マルチプレクサ133は、42ビットレジスタ132の値と閾値Radiusとが入力され、制御信号1NN/RNNに応じてこれらのいずれか一方を出力する。閾値Radiusは、後述するように、最近傍探索(Nearest Neighbor Search)において探索範囲を制限するための閾値である。42ビット比較器134は、42ビットレジスタ131の値Aとマルチプレクサ133の出力Bが入力され、これらの大小を比較し、A<Bのとき、すなわち、新たな最小距離が見つかったときに“1”を出力し、それ以外は“0”を出力する。ANDゲート135は、42ビット比較器134の出力と、制御信号Load_cmpを保持するフリップフロップ136の出力との論理積を演算する。ANDゲート135の出力が制御信号Load_minである。新たな最小距離が見つかったとき、制御信号Load_minは“1”となる。レジスタ137は、特徴ベクトルFとの距離が最小となるプロトタイプP、すなわち、ウィナーのアドレスを格納するレジスタである。レジスタ137は、制御信号Load_minが入力されたタイミングでプロトタイプPのアドレスP_Addrを格納する。   The multiplexer 133 receives the value of the 42-bit register 132 and the threshold Radius, and outputs either one of them according to the control signal 1NN / RNN. The threshold Radius is a threshold for limiting the search range in Nearest Neighbor Search, as will be described later. The 42-bit comparator 134 receives the value A of the 42-bit register 131 and the output B of the multiplexer 133, compares these values, and when A <B, that is, when a new minimum distance is found, “1”. "" Is output, otherwise "0" is output. The AND gate 135 calculates the logical product of the output of the 42-bit comparator 134 and the output of the flip-flop 136 that holds the control signal Load_cmp. The output of the AND gate 135 is a control signal Load_min. When a new minimum distance is found, the control signal Load_min becomes “1”. The register 137 is a register that stores the prototype P that has the smallest distance from the feature vector F, that is, the address of the winner. The register 137 stores the address P_Addr of the prototype P at the timing when the control signal Load_min is input.

なお、レジスタ132および137を、複数のデータを記憶可能なスタックメモリに置き換えてもよい。スタックメモリを使用することで、最小距離探索回路13において複数のウィナーおよびウィナー距離を保持することができ、識別分類器10が特徴ベクトルに最近傍の複数のプロトタイプを選出できるようになる。   Note that the registers 132 and 137 may be replaced with a stack memory capable of storing a plurality of data. By using the stack memory, it is possible to hold a plurality of winners and winner distances in the minimum distance search circuit 13, and the identification classifier 10 can select a plurality of prototypes nearest to the feature vector.

上記構成の距離計算回路12の第1ステージから第6ステージの各ステージおよび最小距離探索回路13は、パイプライン動作が可能である。図6は、32次元の特徴ベクトルFおよびプロトタイプPが入力された場合における、距離計算回路12および最小距離探索回路13のパイプライン動作のタイミングチャートである。1クロックごとに値Addr_prtがインクリメントされて特徴抽出部14およびメモリ11から特徴ベクトルFおよびプロトタイプPの次のワードが距離計算回路12へ入力され、前ステージの計算結果が次ステージへ渡される。そして、15クロックで、32次元のベクトル間の距離計算および最小距離の探索を完了することができる。   Each of the first to sixth stages and the minimum distance search circuit 13 of the distance calculation circuit 12 configured as described above can perform a pipeline operation. FIG. 6 is a timing chart of pipeline operations of the distance calculation circuit 12 and the minimum distance search circuit 13 when a 32-dimensional feature vector F and a prototype P are input. The value Addr_prt is incremented every clock, the feature vector F and the next word of the prototype P are input from the feature extraction unit 14 and the memory 11 to the distance calculation circuit 12, and the calculation result of the previous stage is passed to the next stage. Then, in 15 clocks, the distance calculation between the 32D vectors and the search for the minimum distance can be completed.

以上のように、本実施形態によると、未知クラスの入力データが各識別分類器10によって相補的な特徴領域(ドメイン)においてクラス分類され、各ドメインにおけるクラス分類結果が判定部20に集約されて最終的に多数決によってクラス判定が行われる。したがって、個々の識別分類器10は、計算量を増大させずに識別精度が比較的低いものであっても、それらの識別結果を総合的に評価することで、システム全体としての識別精度を向上させることができる。また、個々の識別分類器10で実施される最近傍探索はハードウェア処理に適しているため、識別分類器10をハードウェアに実装することは容易である。これにより、システム全体としての認識速度を高速化することができる。   As described above, according to the present embodiment, the input data of unknown classes is classified into complementary feature regions (domains) by each discriminating classifier 10, and the class classification results in each domain are collected by the determination unit 20. Finally, class determination is performed by majority vote. Therefore, the individual classification classifier 10 improves the identification accuracy of the entire system by comprehensively evaluating the identification results even when the identification accuracy is relatively low without increasing the amount of calculation. Can be made. Moreover, since the nearest neighbor search performed by each identification classifier 10 is suitable for hardware processing, it is easy to implement the identification classifier 10 in hardware. As a result, the recognition speed of the entire system can be increased.

なお、図3の距離計算回路12ではベクトルが4要素単位で区切られてパイプライン処理されるが、各ステージにおけるレジスタの個数を増やすことで、一度に処理可能なベクトルの要素数を増やすことができる。これにより、ベクトル間の距離計算をより短時間で完了することができる。あるいは、ベクトルの次元数よりも十分に多い数のレジスタを設けてベクトルの全要素を一度に処理するようにしてもよい。これにより、ベクトル間の距離計算を最小時間で完了することができる。   In the distance calculation circuit 12 of FIG. 3, the vector is divided into units of four elements and pipelined. However, by increasing the number of registers in each stage, the number of vector elements that can be processed at a time can be increased. it can. Thereby, the distance calculation between vectors can be completed in a shorter time. Alternatively, a sufficiently larger number of registers than the number of dimensions of the vector may be provided to process all elements of the vector at once. Thereby, the distance calculation between vectors can be completed in a minimum time.

また、特徴抽出部14が生成した特徴ベクトルをメモリ11に一時的に記憶させてもよい。この場合、距離計算回路12は、メモリ11から特徴ベクトルおよびプロトタイプを読み出し、これらベクトル間の距離を計算する。   Further, the feature vector generated by the feature extraction unit 14 may be temporarily stored in the memory 11. In this case, the distance calculation circuit 12 reads the feature vector and the prototype from the memory 11, and calculates the distance between these vectors.

<認識システムの一例>
次に、本発明の実施形態の一例に係る認識システムについて説明する。図7は、本発明の実施形態の一例に係る認識システム10における主要部の構成を示す。一例に係る認識システム10は、入力された画像データが人の画像であるか否かを認識するシステムである。認識システム10は、入力された画像データからエッジ特徴量およびテクスチャ特徴量を抽出し、エッジドメインおよびテクスチャドメインの両観点から、入力された画像データが人の画像であるか(クラス1)、または、人の画像でないか(クラス2)を相補的に判定し、各ドメインにおけるクラス判定結果を総合的に評価して、入力された画像データのクラスを最終的に決定する。
<Example of recognition system>
Next, a recognition system according to an example of the embodiment of the present invention will be described. FIG. 7 shows a configuration of main parts in the recognition system 10 according to an example of the embodiment of the present invention. The recognition system 10 according to an example is a system that recognizes whether or not input image data is a human image. The recognition system 10 extracts an edge feature amount and a texture feature amount from the input image data, and whether the input image data is a human image (class 1) from both the edge domain and texture domain viewpoints, or Whether the image is a human image (class 2) is determined in a complementary manner, and the class determination result in each domain is comprehensively evaluated to finally determine the class of the input image data.

具体的には、認識システム10は、2個の識別分類器10_1および10_2と、判定部20とを備えている。識別分類器10_1は、特徴記述子としてHOG(Histograms of Oriented Gradients)を用いる。周知のように、HOG特徴量を用いることで画像データからエッジ特徴量を抽出することができる。したがって、識別分類器10_1は、特徴ベクトルとしてエッジ特徴量を用いる。一方、識別分類器10_2は、特徴記述子としてLBP(Local Binary Pattern)を用いる。周知のように、LBP特徴量を用いることで画像データからテクスチャ(texture)特徴量を抽出することができる。したがって、識別分類器10_2は、特徴ベクトルとしてテクスチャ特徴量を用いる。   Specifically, the recognition system 10 includes two identification classifiers 10_1 and 10_2 and a determination unit 20. The identification classifier 10_1 uses HOG (Histograms of Oriented Gradients) as a feature descriptor. As is well known, the edge feature value can be extracted from the image data by using the HOG feature value. Therefore, the identification classifier 10_1 uses an edge feature amount as a feature vector. On the other hand, the identification classifier 10_2 uses LBP (Local Binary Pattern) as a feature descriptor. As is well known, a texture feature value can be extracted from image data by using an LBP feature value. Therefore, the identification classifier 10_2 uses the texture feature amount as the feature vector.

識別分類器10_1および10_2は、サンプルデータの学習によって複数のプロトタイプを生成し、それら複数のプロトタイプは、2つのクラス1またはクラス2のいずれかに対応付けられる。すなわち、識別分類器10_1および10_2は、マルチプロトタイプの分類器である。識別分類器10_1および10_2において、特徴ベクトル空間は、クラス1およびクラス2に対応する2つのボロノイセルに分割され、各ボロノイセルには1または複数のプロトタイプが含まれている。識別分類器10_1および10_2は、特徴ベクトルに最近傍のプロトタイプを見つけ、そのプロトタイプを含むボロノイセルに対応するクラスを、入力された画像データのクラスとして判定する。   The discriminating classifiers 10_1 and 10_2 generate a plurality of prototypes by learning sample data, and the plurality of prototypes are associated with either one of two classes 1 or class 2. That is, the identification classifiers 10_1 and 10_2 are multi-prototype classifiers. In the discrimination classifiers 10_1 and 10_2, the feature vector space is divided into two Voronoi cells corresponding to class 1 and class 2, and each Voronoi cell includes one or more prototypes. The discriminating classifiers 10_1 and 10_2 find the prototype nearest to the feature vector, and determine the class corresponding to the Voronoi cell including the prototype as the class of the input image data.

識別分類器10_1および10_2は、最近傍探索により、入力データから生成した特徴ベクトルに最近傍のプロトタイプ(ウィナー)を見つける。ここで、特徴ベクトルとウィナーとの距離(ウィナー距離)が小さいほど、その入力データのクラス分類結果の信頼度は高い。逆に言うと、ウィナー距離が大きいほど、入力データのクラス分類結果の信頼度は低い。そこで、より高い信頼度のクラス分類結果が得られるように、識別分類器10_1および10_2において最近傍探索の探索範囲を制限するための閾値を設けてもよい。   The discrimination classifiers 10_1 and 10_2 find the nearest prototype (winner) in the feature vector generated from the input data by nearest neighbor search. Here, the smaller the distance between the feature vector and the winner (the winner distance), the higher the reliability of the classification result of the input data. In other words, the greater the winner distance, the lower the reliability of the classification result of the input data. Therefore, a threshold value for limiting the search range of the nearest neighbor search may be provided in the identification classifiers 10_1 and 10_2 so that a higher-class classification result can be obtained.

図8は、学習用特徴ベクトルのクラス分類結果の一例を示す。学習用特徴ベクトルには、人の画像のサンプルデータから抽出した特徴量、および人以外の画像のサンプルデータから抽出した特徴量の2種類が含まれる。そのような学習用特徴ベクトルについて、クラス1のプロトタイプとのウィナー距離と度数との関係をグラフ化すると図8に示したようになる。すなわち、ウィナー距離が小さい学習用特徴ベクトルはクラス1に分類される傾向にあり、ウィナー距離が大きい学習用特徴ベクトルはクラス2に分類される傾向にあり、その分布は一部重なり合っている。しかし、ウィナー距離がある値以上になると、もはや学習用特徴ベクトルはクラス1に分類されることなく、すべてクラス2に分類されるようになる。そして、そのようなウィナー距離の上限値を、最小距離探索回路13における閾値Radius(図3を参照)として設定することができる。   FIG. 8 shows an example of the classification result of the learning feature vector. The learning feature vector includes two types of feature amounts extracted from sample data of human images and feature amounts extracted from sample data of non-human images. For such learning feature vectors, the relationship between the Wiener distance and the frequency with the class 1 prototype is graphed as shown in FIG. That is, learning feature vectors with a small winner distance tend to be classified as class 1, learning feature vectors with a large winner distance tend to be classified as class 2, and their distributions partially overlap. However, when the winner distance exceeds a certain value, the learning feature vectors are no longer classified as class 1 but are all classified as class 2. Then, such an upper limit value of the winner distance can be set as a threshold value Radius (see FIG. 3) in the minimum distance search circuit 13.

入力された画像データが人の画像であるか否かを認識するシステムでは、人の画像であるというポジティブな判定よりも、人の画像でないというネガティブな判定の方が重視される場合がある。そこで、そのような場合には、判定部20は、クラス1よりもクラス2の優先度を高めて、入力された画像データの判定を行うことができる。   In a system for recognizing whether or not input image data is a human image, negative determination that the image is not a human image may be more important than positive determination that the image is a human image. Therefore, in such a case, the determination unit 20 can determine the input image data by increasing the priority of class 2 over class 1.

図9は、判定部20における判定処理の例を示すフローチャートである。まず、判定部20は、各識別分類器10_1および10_2からクラス分類結果とウィナー距離を取得する(S1)。そして、判定部20は、クラス分類結果を比較し、両者が一致すれば(S2でYES)、ステップS1で取得したクラス分類結果を最終判定結果として出力する(S4)。一方、クラス分類結果が不一致ならば(S2でNO)、判定部20は、優先度が高いクラス分類結果(この場合、人の画像ではないというクラス2)を採用し、それを最終判定結果として出力する(S4)。   FIG. 9 is a flowchart illustrating an example of determination processing in the determination unit 20. First, the determination unit 20 acquires a class classification result and a winner distance from each of the identification classifiers 10_1 and 10_2 (S1). And the determination part 20 compares a class classification result, and if both correspond (it is YES at S2), it will output the class classification result acquired at step S1 as a final determination result (S4). On the other hand, if the class classification results do not match (NO in S2), the determination unit 20 adopts a class classification result having a high priority (in this case, class 2 that is not a human image) and uses it as the final determination result. Output (S4).

なお、ステップS1において、各識別分類器10_1および10_2から取得したクラス分類結果に各ウィナー距離を重み付けしてもよい。この場合、ステップS2において、クラス分類結果が不一致であっても、クラス1のウィナー距離が小さく、それに比べてクラス2のウィナー距離が大きければ、判定部20は、優先度の高いクラス2ではなく、よりウィナー距離の小さい、すなわち、より信頼度が高いクラス1を採用することができる。   In step S1, each winner distance may be weighted to the class classification result acquired from each of the classification classifiers 10_1 and 10_2. In this case, even if the class classification results do not match in step S2, if the winner distance of class 1 is small and the winner distance of class 2 is larger than that, the determination unit 20 is not a class 2 with high priority. Class 1 having a smaller winner distance, that is, higher reliability can be employed.

特徴記述子は、HOGおよびLBPに限定されない。それ以外に、SIFT(Scale Invariant Feature Transform)、SURF(Speeded Up Robust Features)、Fern、Haarなどの特徴記述子が使用可能である。   Feature descriptors are not limited to HOG and LBP. In addition, feature descriptors such as SIFT (Scale Invariant Feature Transform), SURF (Speeded Up Robust Features), Fern, and Haar can be used.

本発明の実施形態の一例として、入力された画像が人の画像であるか否かを認識する認識システム10について説明したが、入力データは画像データに限定されない。本発明に係る認識システムは、画像データ以外にも、音声データ、テキストデータなどの任意の種類のデータについて認識可能である。例えば、認識システム100を、入力された音声データが特定人物の音声であるか否かを認識するシステムに変形することは容易である。   As an example of the embodiment of the present invention, the recognition system 10 that recognizes whether an input image is a human image has been described. However, the input data is not limited to image data. The recognition system according to the present invention is capable of recognizing arbitrary types of data such as audio data and text data in addition to image data. For example, it is easy to transform the recognition system 100 into a system that recognizes whether or not the input voice data is the voice of a specific person.

100 認識システム
10,10_1,10_2 識別分類器
11 メモリ
12 距離計算回路
13 最小距離探索回路
14 特徴抽出部
15 連想メモリ
20 判定部
DESCRIPTION OF SYMBOLS 100 Recognition system 10,10_1,10_2 Discriminant classifier 11 Memory 12 Distance calculation circuit 13 Minimum distance search circuit 14 Feature extraction part 15 Associative memory 20 Determination part

Claims (13)

未知クラスの入力データが共通に与えられ、他と重複しない特徴記述子によって前記入力データの特徴ベクトルを生成し、各クラスタの代表ベクトルのうち前記特徴ベクトルに最近傍の1または複数の代表ベクトルを選出し、前記入力データのクラス分類結果として、該選出した代表ベクトルに対応付けられたクラスラベルを出力する複数の識別分類器と、
前記複数の識別分類器からクラス分類結果を受け、これらクラス分類結果の多数決によって前記入力データのクラスを判定する判定部と、を備えている認識システム。
An input data of an unknown class is given in common, a feature vector of the input data is generated by a feature descriptor that does not overlap with others, and one or a plurality of representative vectors nearest to the feature vector among representative vectors of each cluster A plurality of discriminating classifiers that output a class label associated with the selected representative vector as a result of classifying the selected input data;
And a determination unit that receives a classification result from the plurality of identification classifiers and determines a class of the input data based on a majority of the classification results.
前記複数の識別分類器は、さらに、前記選出した代表ベクトルと前記特徴ベクトルとの距離を出力するものであり、
前記判定部は、前記複数の識別分類器によるクラス分類結果に前記距離を重み付け加算した重み付き多数決によって前記入力データのクラスを判定する、請求項1に記載の認識システム。
The plurality of identification classifiers further output a distance between the selected representative vector and the feature vector,
The recognition system according to claim 1, wherein the determination unit determines the class of the input data by a weighted majority vote obtained by weighting and adding the distance to a classification result obtained by the plurality of classification classifiers.
前記判定部は、前記多数決が同数となった場合、前記複数の識別分類器から出力されるクラスラベルのうち優先度が最も高いクラスラベルを採用する、請求項1または2に記載の認識システム。   The recognition system according to claim 1, wherein the determination unit employs a class label having the highest priority among class labels output from the plurality of classification classifiers when the number of majority votes is the same. 前記複数の識別分類器のそれぞれは、前記入力データから前記特徴ベクトルを生成する特徴抽出部と、前記各クラスタの代表ベクトルを記憶するメモリと、前記特徴ベクトルと前記各クラスタの代表ベクトルとの距離を計算する距離計算回路と、前記距離計算回路によって計算された距離のうち最小のものを探索する最小距離探索回路とを有する、請求項1から3のいずれかに記載の認識システム。   Each of the plurality of classification classifiers includes a feature extraction unit that generates the feature vector from the input data, a memory that stores a representative vector of each cluster, and a distance between the feature vector and the representative vector of each cluster 4. The recognition system according to claim 1, further comprising: a distance calculation circuit that calculates a minimum distance search circuit that searches for a minimum distance among the distances calculated by the distance calculation circuit. 前記複数の識別分類器のそれぞれは、複数のサンプルデータを前記特徴抽出部に入力して複数の学習用特徴ベクトルを生成し、それら学習用特徴ベクトルに対してK平均法によりクラスタリングを実施して前記各クラスタの代表ベクトルを生成するものであり、
クラスタリングにおいて、前記距離計算回路および前記最小距離探索回路が、各クラスタの重心と各学習用特徴ベクトルとの最短距離の計算に使用される、請求項4に記載の認識システム。
Each of the plurality of classification classifiers inputs a plurality of sample data to the feature extraction unit to generate a plurality of learning feature vectors, and performs clustering on the learning feature vectors by a K-average method. Generating a representative vector of each cluster,
5. The recognition system according to claim 4, wherein in clustering, the distance calculation circuit and the minimum distance search circuit are used to calculate the shortest distance between the center of gravity of each cluster and each learning feature vector.
前記距離計算回路は、前記特徴ベクトルと前記各クラスタの代表ベクトルとが所定数の要素単位で区切られて入力され、パイプライン処理により前記距離を計算する、請求項4または請求項5に記載の認識システム。   6. The distance calculation circuit according to claim 4, wherein the distance calculation circuit inputs the feature vector and the representative vector of each cluster in a unit of a predetermined number of elements and calculates the distance by pipeline processing. Recognition system. 前記最小距離探索回路は、閾値よりも小さい距離を探索する、請求項4から6のいずれかに記載の認識システム。   The recognition system according to claim 4, wherein the minimum distance search circuit searches for a distance smaller than a threshold value. 前記複数の識別分類器のそれぞれは、前記入力データから前記特徴ベクトルを生成する特徴抽出部と、前記各クラスタの代表ベクトルを参照データとして記憶しており、前記特徴ベクトルが検索データとして入力され、記憶している参照データの中から前記特徴ベクトルに距離が近いものを選び出す連想メモリとを有する、請求項1から3のいずれかに記載の認識システム。   Each of the plurality of identification classifiers stores a feature extraction unit that generates the feature vector from the input data and a representative vector of each cluster as reference data, and the feature vector is input as search data, 4. The recognition system according to claim 1, further comprising an associative memory that selects a stored reference data having a distance close to the feature vector. 5. 前記複数の識別分類器のそれぞれは、複数のサンプルデータを前記特徴抽出部に入力して複数の学習用特徴ベクトルを生成し、それら学習用特徴ベクトルに対してK平均法によりクラスタリングを実施して前記各クラスタの代表ベクトルを生成するものであり、
クラスタリングにおいて、前記連想メモリが、各クラスタの重心と各学習用特徴ベクトルとの最短距離の計算に使用される、請求項8に記載の認識システム。
Each of the plurality of classification classifiers inputs a plurality of sample data to the feature extraction unit to generate a plurality of learning feature vectors, and performs clustering on the learning feature vectors by a K-average method. Generating a representative vector of each cluster,
9. The recognition system according to claim 8, wherein, in clustering, the associative memory is used for calculating a shortest distance between the center of gravity of each cluster and each feature vector for learning.
前記距離が、ユークリッド距離またはユークリッド2乗距離である、請求項1から9のいずれかに記載の認識システム。   The recognition system according to claim 1, wherein the distance is a Euclidean distance or a Euclidean square distance. 前記入力データが、画像データである、請求項1から10のいずれかに記載の認識システム。   The recognition system according to claim 1, wherein the input data is image data. 前記複数の識別分類器、および前記判定部が、前記画像データが人の画像であるか否かを判定する、請求項11に記載の認識システム。   The recognition system according to claim 11, wherein the plurality of identification classifiers and the determination unit determine whether or not the image data is a human image. 前記特徴記述子が、HOG(Histograms of Oriented Gradients)およびLBP(Local Binary Pattern)を含む、請求項11または請求項12に記載の認識システム。   The recognition system according to claim 11 or 12, wherein the feature descriptor includes HOG (Histograms of Oriented Gradients) and LBP (Local Binary Pattern).
JP2013214982A 2013-10-15 2013-10-15 Recognition system Expired - Fee Related JP6188147B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013214982A JP6188147B2 (en) 2013-10-15 2013-10-15 Recognition system
PCT/JP2014/005185 WO2015056436A1 (en) 2013-10-15 2014-10-10 Recognition system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013214982A JP6188147B2 (en) 2013-10-15 2013-10-15 Recognition system

Publications (2)

Publication Number Publication Date
JP2015079308A true JP2015079308A (en) 2015-04-23
JP6188147B2 JP6188147B2 (en) 2017-08-30

Family

ID=52827893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013214982A Expired - Fee Related JP6188147B2 (en) 2013-10-15 2013-10-15 Recognition system

Country Status (2)

Country Link
JP (1) JP6188147B2 (en)
WO (1) WO2015056436A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157233A (en) * 2015-02-24 2016-09-01 国立大学法人広島大学 Lvq neural network
JP2017142746A (en) * 2016-02-12 2017-08-17 日本電信電話株式会社 Word vector learning device, natural language processing device, program, and program
CN107766822A (en) * 2017-10-23 2018-03-06 平安科技(深圳)有限公司 Electronic installation, facial image cluster seeking method and computer-readable recording medium
JP2018045483A (en) * 2016-09-15 2018-03-22 オムロン株式会社 Identification information giving system, identification information giving device, identification information giving method and program
JP2020077158A (en) * 2018-11-07 2020-05-21 オムロン株式会社 Image processing device and image processing method
JP2020093083A (en) * 2018-12-11 2020-06-18 メディカルアイピー・カンパニー・リミテッド Medical image reconstruction method and device thereof
WO2020194509A1 (en) * 2019-03-26 2020-10-01 三菱電機株式会社 Reliability assessment device and reliability assessment method
KR102192795B1 (en) * 2019-07-01 2020-12-18 한국과학기술원 Method and apparutus for determining a machine learning data label as a vote by a group of third parties and recording the compensation to the block chain
JP2021064139A (en) * 2019-10-11 2021-04-22 日立造船株式会社 Information processing apparatus, information processing method and information processing program
JP2022189127A (en) * 2021-06-10 2022-12-22 ヤフー株式会社 Information processing device, information processing method, and information processing program

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3859666A4 (en) * 2018-09-26 2022-07-06 Riken Classification device, classification method, program, and information recording medium
JP2022133491A (en) * 2019-08-06 2022-09-14 学校法人明星学苑 Information processing device using compressed data search engine and information processing method thereof
US11138477B2 (en) * 2019-08-15 2021-10-05 Collibra Nv Classification of data using aggregated information from multiple classification modules
JP7315623B2 (en) * 2021-06-17 2023-07-26 ヤフー株式会社 Information processing device, information processing method, and information processing program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298995A (en) * 1999-04-13 2000-10-24 Sony Corp Analog associative memory and analog operation element
JP2010122746A (en) * 2008-11-17 2010-06-03 Secom Co Ltd Image monitoring device
JP2011134115A (en) * 2009-12-24 2011-07-07 Canon Inc Image processing apparatus, image processing method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764793A (en) * 1993-08-30 1995-03-10 Nippon Telegr & Teleph Corp <Ntt> Majority decision type clustering device
US8335683B2 (en) * 2003-01-23 2012-12-18 Microsoft Corporation System for using statistical classifiers for spoken language understanding
JP5616310B2 (en) * 2011-09-27 2014-10-29 日本電信電話株式会社 Image matching apparatus and image matching program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298995A (en) * 1999-04-13 2000-10-24 Sony Corp Analog associative memory and analog operation element
JP2010122746A (en) * 2008-11-17 2010-06-03 Secom Co Ltd Image monitoring device
JP2011134115A (en) * 2009-12-24 2011-07-07 Canon Inc Image processing apparatus, image processing method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佐用 敦, 外2名: "口唇変化を利用した個人認証システムにおける識別器生成手法に関する検討", 電子情報通信学会技術研究報告, vol. 110, no. 217, JPN6014047917, 28 September 2010 (2010-09-28), JP, pages 7 - 12, ISSN: 0003580016 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157233A (en) * 2015-02-24 2016-09-01 国立大学法人広島大学 Lvq neural network
JP2017142746A (en) * 2016-02-12 2017-08-17 日本電信電話株式会社 Word vector learning device, natural language processing device, program, and program
JP2018045483A (en) * 2016-09-15 2018-03-22 オムロン株式会社 Identification information giving system, identification information giving device, identification information giving method and program
WO2018051547A1 (en) * 2016-09-15 2018-03-22 オムロン株式会社 Identification information assignment system, identification information assignment device, identification information assignment method, and program
CN107766822A (en) * 2017-10-23 2018-03-06 平安科技(深圳)有限公司 Electronic installation, facial image cluster seeking method and computer-readable recording medium
JP2020077158A (en) * 2018-11-07 2020-05-21 オムロン株式会社 Image processing device and image processing method
JP2020093083A (en) * 2018-12-11 2020-06-18 メディカルアイピー・カンパニー・リミテッド Medical image reconstruction method and device thereof
WO2020194509A1 (en) * 2019-03-26 2020-10-01 三菱電機株式会社 Reliability assessment device and reliability assessment method
JPWO2020194509A1 (en) * 2019-03-26 2021-09-13 三菱電機株式会社 Reliability evaluation device and reliability evaluation method
KR102192795B1 (en) * 2019-07-01 2020-12-18 한국과학기술원 Method and apparutus for determining a machine learning data label as a vote by a group of third parties and recording the compensation to the block chain
JP2021064139A (en) * 2019-10-11 2021-04-22 日立造船株式会社 Information processing apparatus, information processing method and information processing program
JP7385417B2 (en) 2019-10-11 2023-11-22 日立造船株式会社 Information processing device, information processing method, and information processing program
JP2022189127A (en) * 2021-06-10 2022-12-22 ヤフー株式会社 Information processing device, information processing method, and information processing program
JP7492489B2 (en) 2021-06-10 2024-05-29 Lineヤフー株式会社 Information processing device, information processing method, and information processing program

Also Published As

Publication number Publication date
WO2015056436A1 (en) 2015-04-23
JP6188147B2 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
JP6188147B2 (en) Recognition system
He et al. Unsupervised cross-modal retrieval through adversarial learning
Kim et al. Orchard: Visual object recognition accelerator based on approximate in-memory processing
US10657183B2 (en) Information processing apparatus, similarity search program, and similarity search method
Lin et al. Fast supervised hashing with decision trees for high-dimensional data
Zhu et al. Sparse hashing for fast multimedia search
Wang et al. Binary codes embedding for fast image tagging with incomplete labels
CN110046634B (en) Interpretation method and device of clustering result
JP6203077B2 (en) Learning device, density measuring device, learning method, learning program, and density measuring system
Zografos et al. Discriminative subspace clustering
US10373028B2 (en) Pattern recognition device, pattern recognition method, and computer program product
JP6004015B2 (en) Learning method, information processing apparatus, and learning program
TWI711934B (en) Interpretation method and device of embedded result
Lopez et al. A clinical decision support tool to detect invasive ductal carcinoma in histopathological images using support vector machines, Naïve-Bayes, and K-nearest neighbor classifiers
Tang et al. Robust subspace learning-based low-rank representation for manifold clustering
Mohanty et al. High-performance face detection with CPU-FPGA acceleration
Zhang et al. Code consistent hashing based on information-theoretic criterion
CN111488400B (en) Data classification method, device and computer readable storage medium
JP6004014B2 (en) Learning method, information conversion apparatus, and learning program
Morán et al. Soc kohonen maps based on stochastic computing
Zhang et al. Kernelized sparse hashing for scalable image retrieval
JP2014146207A (en) Searching device, program and method for speedy search through representation of content by set of binary characteristic vector
Weng et al. Random VLAD based deep hashing for efficient image retrieval
Lin et al. Efficient shape classification using region descriptors
JP6663323B2 (en) Data processing method, data processing device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170630

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: 20170718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170728

R150 Certificate of patent or registration of utility model

Ref document number: 6188147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees