JP2015079308A - Recognition system - Google Patents
Recognition system Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/254—Fusion techniques of classification results, e.g. of results related to same input data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine 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
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.
単純に最近傍探索の識別精度を上げようとすると計算量が大幅に増大しかねない。計算量の増大は、処理速度の低下や、消費電力および回路規模の増大といった好ましくない結果を招いてしまう。 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.
以下、図面を参照しながら本発明を実施するための形態について説明する。なお、本発明は、以下の実施形態に限定されるものではない。 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
各識別分類器10は、未知クラスの入力データを受け、入力データのクラスを判定してクラス分類結果を出力する。より詳細には、各識別分類器10は、あらかじめサンプルデータの学習によって所定数のクラスタを生成し、各クラスタの重心(centroid)で定義される代表ベクトル(プロトタイプともいう)を獲得している。各識別分類器10は、所定の特徴記述子(局所記述子、局所特徴記述子ともいう)によって入力データから特徴ベクトルを生成し、特徴ベクトルと各クラスタのプロトタイプとの距離を計算し、特徴ベクトルに最近傍の1または複数のプロトタイプを選出する。各プロトタイプには、クラスラベル、クラスタラベル、およびクラスタの重心位置の各情報が対応付けられている。各識別分類器10は、選出したプロトタイプ(以下、「ウィナー(winner)」と称することがある)に対応付けられたクラスラベルおよびウィナーと特徴ベクトルとの距離(以下、「ウィナー距離」と称することがある)を入力データのクラス分類結果として出力する。
Each
判定部20は、複数の識別分類器10からクラス分類結果を受け、これらクラス分類結果の多数決によって入力データのクラスを判定する。より詳細には、判定部20は、複数の識別分類器10によるクラス分類結果にウィナー距離を重み付けした重み付き多数決によって入力データのクラスを判定する。
The
ここで重要な点は、複数の識別分類器10に共通の入力データが与えられ、各識別分類器10は、他の識別分類器10と重複しない特徴記述子によって入力データの特徴ベクトルを生成する点である。すなわち、認識システム100は、未知クラスの入力データを相補的な複数の特徴領域(局所特徴領域またはドメインともいう)においてクラス分類し、各ドメインにおけるクラス分類結果を集約して最終的に重み付き多数決によって入力データのクラスを判定する。
The important point here is that input data common to a plurality of
次に、識別分類器10の構成について説明する。図2Aは、一例に係る識別分類器10の構成を示す。一例に係る識別分類器10は、メモリ11と、距離計算回路12と、最小距離探索回路13と、特徴抽出部14とを備えている。図2Bは、別例に係る識別分類器10の構成を示す。別例に係る識別分類器10は、特徴抽出部14と、連想メモリ15とを備えている。
Next, the configuration of the
特徴抽出部14は、所定の特徴記述子によって、入力データの特徴ベクトルを生成する。ここで、特徴ベクトルの次元数が大きいとベクトル間の距離計算の負荷が大きくなってしまう。そこで、特徴抽出部14は、PCA(Principal Component Analysis)法やPLS(Partial Least Squares)法などを適用して、次元を縮小した特徴ベクトルを扱うようにしてもよい。PCA法やPLS法などによってベクトルの次元が縮小されても、識別分類器10のクラス分類精度は低下しない。
The
メモリ11は、あらかじめ学習によって獲得したプロトタイプを記憶する記憶装置である。メモリ11は、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの揮発性メモリおよび/またはフラッシュメモリなどの不揮発性メモリで構成することができる。
The
連想メモリ15は、あらかじめ学習によって獲得したプロトタイプを参照データとして記憶している。連想メモリ15は、特徴抽出部14によって生成された特徴ベクトルが検索データとして入力され、記憶しているプロトタイプの中から特徴ベクトルとの距離が近いものを選び出す。距離として、例えば、ユークリッド距離またはユークリッド2乗距離を採用することができる。連想メモリ15が最近傍連想メモリの場合、特徴ベクトルと最も距離が近い1個のプロトタイプが選択される。連想メモリ15がk近傍連想メモリの場合、特徴ベクトルと最も距離が近いk個のプロトタイプが選択される。なお、k近傍連想メモリについては、本願発明者による特願2013−154887の明細書などに詳しく記載されている。
The
メモリ11または連想メモリ15に記憶されるプロトタイプは、複数のサンプルデータを特徴抽出部14に入力して複数の学習用特徴ベクトルを生成し、それら学習用特徴ベクトルに対してクラスタリングを実施することで獲得することができる。
The prototype stored in the
クラスタリングは、K平均法などを用いて実施することができる。例えば、任意の次元の空間においてn個の学習用特徴ベクトルXi(i=1,2,…,n)をm個のクラスタに分類するとする。K近傍法によると、次の4つのステップでクラスタリングが実施される。
ステップ1:各学習用特徴ベクトルXiに対してランダムにクラスタを割り当てる。
ステップ2:各クラスタの重心(プロトタイプ)Pj(i=1,2,…,m)を計算する。
ステップ3:各学習用特徴ベクトルXiと各プロトタイプPjとの距離を計算し、各学習用特徴ベクトルXiを最近傍のプロトタイプPjのクラスタに割り当る。
ステップ4:各学習用特徴ベクトルXiのクラスタの割り当てが変化しなくなるまでステップ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:
上記4つのステップのうち、ステップ3は、図2Aの構成における距離計算回路12および最小距離探索回路13によって、または、図2Bの構成における連想メモリ15によって、それぞれハードウェア処理することができ、それ以外のステップは、図示しない演算処理装置によってソフトウェア処理することができる。このように、距離計算回路12および最小距離探索回路13、または連想メモリ15を使用して、ハードウェアおよびソフトウェアが協働して学習用特徴ベクトルのクラスタリングを実施してプロトタイプを獲得することができる。
Of the above four steps,
距離計算回路12は、特徴ベクトルとプロトタイプとの距離を計算するハードウェアである。距離計算回路12には、メモリ11に記憶されているすべてのプロトタイプが一つずつ順に入力される。最小距離探索回路13は、距離計算回路12によって計算された距離のうち最小のものを探索するハードウェアである。距離計算回路12および最小距離探索回路13は、例えば、FPGA(Field Programmable Gate Array)などに実装することができる。2つのベクトル間の距離としてさまざまなものがあるが、ユークリッド距離を採用することが好ましい。ユークリッド距離は、マンハッタン距離やハミング距離などよりも正確な尺度となり得るからである。特徴ベクトルをF={F1,F2,…,Fd}、プロトタイプをP={P1,P2,…,Pd}とすると、特徴ベクトルFとプロトタイプPとのユークリッド距離DEは次式(1)で与えられる。ただし、1≦j≦dである。
The
DE=√Σ(Fj−Pj)2 … (1)
ユークリッド距離の計算には平方根計算が含まれるため、ハードウェアによる処理に向いていない。したがって、次式(2)で与えられるユークリッド2乗距離DE 2を採用する。
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.
DE 2=Σ(Fj−Pj)2 … (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の要素FjおよびプロトタイプPの要素Pjはいずれも16ビット値であり、距離計算回路12は特徴ベクトルFとプロトタイプPとのユークリッド2乗距離として42ビット値を計算する。
FIG. 3 shows a configuration example of the
特徴抽出部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
マルチプレクサ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
図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
図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
図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
マルチプレクサ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
なお、レジスタ132および137を、複数のデータを記憶可能なスタックメモリに置き換えてもよい。スタックメモリを使用することで、最小距離探索回路13において複数のウィナーおよびウィナー距離を保持することができ、識別分類器10が特徴ベクトルに最近傍の複数のプロトタイプを選出できるようになる。
Note that the
上記構成の距離計算回路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
以上のように、本実施形態によると、未知クラスの入力データが各識別分類器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
なお、図3の距離計算回路12ではベクトルが4要素単位で区切られてパイプライン処理されるが、各ステージにおけるレジスタの個数を増やすことで、一度に処理可能なベクトルの要素数を増やすことができる。これにより、ベクトル間の距離計算をより短時間で完了することができる。あるいは、ベクトルの次元数よりも十分に多い数のレジスタを設けてベクトルの全要素を一度に処理するようにしてもよい。これにより、ベクトル間の距離計算を最小時間で完了することができる。
In the
また、特徴抽出部14が生成した特徴ベクトルをメモリ11に一時的に記憶させてもよい。この場合、距離計算回路12は、メモリ11から特徴ベクトルおよびプロトタイプを読み出し、これらベクトル間の距離を計算する。
Further, the feature vector generated by the
<認識システムの一例>
次に、本発明の実施形態の一例に係る認識システムについて説明する。図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
具体的には、認識システム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
識別分類器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
識別分類器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
入力された画像データが人の画像であるか否かを認識するシステムでは、人の画像であるというポジティブな判定よりも、人の画像でないというネガティブな判定の方が重視される場合がある。そこで、そのような場合には、判定部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
図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
なお、ステップ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
特徴記述子は、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
100 認識システム
10,10_1,10_2 識別分類器
11 メモリ
12 距離計算回路
13 最小距離探索回路
14 特徴抽出部
15 連想メモリ
20 判定部
DESCRIPTION OF
Claims (13)
前記複数の識別分類器からクラス分類結果を受け、これらクラス分類結果の多数決によって前記入力データのクラスを判定する判定部と、を備えている認識システム。 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.
クラスタリングにおいて、前記距離計算回路および前記最小距離探索回路が、各クラスタの重心と各学習用特徴ベクトルとの最短距離の計算に使用される、請求項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.
クラスタリングにおいて、前記連想メモリが、各クラスタの重心と各学習用特徴ベクトルとの最短距離の計算に使用される、請求項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.
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)
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)
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)
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)
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 |
-
2013
- 2013-10-15 JP JP2013214982A patent/JP6188147B2/en not_active Expired - Fee Related
-
2014
- 2014-10-10 WO PCT/JP2014/005185 patent/WO2015056436A1/en active Application Filing
Patent Citations (3)
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)
Title |
---|
佐用 敦, 外2名: "口唇変化を利用した個人認証システムにおける識別器生成手法に関する検討", 電子情報通信学会技術研究報告, vol. 110, no. 217, JPN6014047917, 28 September 2010 (2010-09-28), JP, pages 7 - 12, ISSN: 0003580016 * |
Cited By (14)
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 |