JP2019096118A - Pattern recognition program, device and method - Google Patents
Pattern recognition program, device and method Download PDFInfo
- Publication number
- JP2019096118A JP2019096118A JP2017225755A JP2017225755A JP2019096118A JP 2019096118 A JP2019096118 A JP 2019096118A JP 2017225755 A JP2017225755 A JP 2017225755A JP 2017225755 A JP2017225755 A JP 2017225755A JP 2019096118 A JP2019096118 A JP 2019096118A
- Authority
- JP
- Japan
- Prior art keywords
- axis
- category
- feature
- range
- cluster
- 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.)
- Pending
Links
Landscapes
- Character Discrimination (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
Description
本発明は、入力画像に対してパターン認識を実行するパターン認識プログラム、装置、及び方法に関する。 The present invention relates to a pattern recognition program, apparatus, and method for executing pattern recognition on an input image.
入力画像に対するパターン認識の例としては、文書画像上の各文字の種別(文字コード)を認識する文字認識がある。このようなパターン認識では、認識精度を高精度に保ったまま、認識処理にかかる時間を削減して高速化することが求められている。 An example of pattern recognition for an input image is character recognition that recognizes the type (character code) of each character on a document image. In such pattern recognition, it is required to reduce the time required for the recognition process to speed up while maintaining the recognition accuracy with high accuracy.
パターン認識において、認識対象のことをパターンと呼び、すべてのパターンの作る集合のことをパターン空間と呼ぶ。パターンに対して特徴抽出を行うことにより得られる1つ以上の特徴量の組を特徴ベクトルと呼び、特徴ベクトルの要素の数を特徴ベクトルの次元と呼ぶ。特徴ベクトルのそれぞれの要素の値(特徴量)の組を特徴ベクトルの値と呼び、すべての特徴ベクトルの値の作る集合のことを特徴空間と呼ぶ。特徴空間の次元は、特徴空間の要素である特徴ベクトルの次元と等しい。同一種類とみなすことのできるパターンあるいは特徴ベクトルの集合をカテゴリと呼ぶ。パターン認識のために入力される未知のパターンあるいは未知のパターンから求められた特徴ベクトルが、どのカテゴリに属するのかを決定することを、パターン認識と呼ぶ。 In pattern recognition, an object to be recognized is called a pattern, and a set of all patterns is called a pattern space. A set of one or more feature quantities obtained by performing feature extraction on a pattern is called a feature vector, and the number of elements of the feature vector is called a feature vector dimension. A set of values (feature quantities) of each element of the feature vector is called a value of the feature vector, and a set formed by all the feature vector values is called a feature space. The dimension of the feature space is equal to the dimension of the feature vector which is an element of the feature space. A set of patterns or feature vectors that can be regarded as the same type is called a category. Determining which category a feature vector obtained from an unknown pattern or an unknown pattern input for pattern recognition belongs to is called pattern recognition.
例えば未知の文字画像に対して文字認識を行うパターン認識処理では、入力された文字画像から特徴ベクトルが生成され、メモリ上の辞書に保持されている複数の特徴ベクトルとの間でマッチングが行われる。マッチング処理では、入力文字画像の特徴ベクトルと、辞書内の各特徴ベクトル間で距離(例えばユークリッド距離)が計算される。この計算を行う処理を、マッチング処理という。この結果、辞書中の特徴ベクトル数分の距離値が得られ、その中で、最小の距離値となる特徴ベクトルに対応付けられている文字コードが、入力文字画像に対する文字の認識結果(パターン認識結果)として出力される。 For example, in pattern recognition processing in which character recognition is performed on an unknown character image, a feature vector is generated from the input character image, and matching is performed with a plurality of feature vectors stored in a dictionary on the memory . In the matching process, distances (for example, Euclidean distances) are calculated between feature vectors of the input character image and feature vectors in the dictionary. The process of performing this calculation is called matching process. As a result, distance values corresponding to the number of feature vectors in the dictionary are obtained, and among them, the character code associated with the feature vector that is the minimum distance value is the recognition result of the character for the input character image (pattern recognition Output as a result).
このような例のパターン認識処理において、未知の入力画像の特徴ベクトルと辞書内の全ての特徴ベクトルとの間のマッチング処理には、多くの処理時間が必要となる。そこで、マッチング処理の高速化のために、大分類、詳細分類の2段階処理が用いられる。大分類とは、辞書の中の特徴ベクトルの集合から、認識対象である入力文字画像から生成した特徴ベクトルに近い特徴ベクトルを抽出し、詳細分類をする際の対象を絞り込む処理である。絞り込んだ文字コードだけを対象として詳細分類をすると、従来のマッチング処理時間を大幅に削減することが可能になる。 In the pattern recognition process of such an example, a large amount of processing time is required for the matching process between the feature vector of the unknown input image and all the feature vectors in the dictionary. Therefore, in order to speed up the matching process, a two-step process of large classification and detailed classification is used. The large classification is a process of extracting a feature vector close to a feature vector generated from an input character image to be recognized from a set of feature vectors in a dictionary, and narrowing down objects when performing detailed classification. If detailed classification is performed only on narrowed character codes, it becomes possible to significantly reduce the conventional matching processing time.
パターン認識のための大分類技術として、例えば次のような従来技術が知られている(例えば特許文献1)。この従来技術では、学習用の各文字画像から得た特徴ベクトルが、特徴空間の各次元の軸(直交軸)に投影されて、各軸上に文字のカテゴリ(文字の種別=文字コード)の存在範囲を記録した辞書が作成される。大分類時には、未知の入力画像の特徴ベクトルが各軸に投影され、各軸で求めた文字カテゴリ集合との論理ANDがとられ、その結果が大分類結果とされる。 For example, the following prior art is known as a large classification technique for pattern recognition (for example, Patent Document 1). In this conventional technique, a feature vector obtained from each character image for learning is projected onto an axis (orthogonal axis) of each dimension of the feature space, and a character category (type of character = character code) is formed on each axis. A dictionary recording the range of existence is created. At the time of the large classification, the feature vector of the unknown input image is projected on each axis, and the logical AND with the character category set obtained on each axis is taken, and the result is taken as the large classification result.
パターン認識のための他の大分類技術として、例えば次のような従来技術が知られている(例えば非特許文献1、2)。この従来技術は、Hash法の一つであるLSH(Locality Sensitive Hashing)を用いた大分類技術である。LSHは、直交軸ではなく、ランダムに生成した軸を使用してHashingにより大分類を行う技術である。 For example, the following prior art is known as another major classification technique for pattern recognition (for example, Non-Patent Documents 1 and 2). This conventional technology is a large classification technology using LSH (Locality Sensitive Hashing), which is one of the Hash methods. LSH is a technology that performs major classification by Hashing using randomly generated axes, not orthogonal axes.
上述の直交軸を用いた大分類技術は、他の手法と比較して、分類正解率、絞り込み能力、処理速度の点から性能の良い大分類技術である。しかし、この従来技術は、全カテゴリで共通の直交座標系を使用しているため、特徴空間上で学習サンプルが無い領域が、辞書上で学習サンプルがあるように扱われてしまう。 The above-mentioned large classification technology using orthogonal axes is a large classification technology with better performance in terms of classification accuracy rate, narrowing ability, and processing speed as compared with other methods. However, since this prior art uses a common orthogonal coordinate system in all categories, an area without a learning sample on the feature space is treated as if there is a learning sample on the dictionary.
一方、LSHを用いた従来技術では、ランダムな多数軸を使用するので、特徴空間上の学習サンプルの分布は正確にとらえられるため、絞り込み精度は高くなる傾向にある。しかし、軸数の決め方がランダムなので、精度の保証がなく、多くの軸を使用するので、処理時間がかかってしまう。 On the other hand, in the prior art using LSH, since the random multiple axes are used, the distribution of learning samples on the feature space is accurately captured, and the narrowing accuracy tends to be high. However, since the method of determining the number of axes is random, there is no guarantee of accuracy, and many axes are used, resulting in long processing time.
そこで、本発明の1つの側面では、学習サンプルがある範囲を特徴空間上に記述する際の正確性を向上させることを目的とする。 Therefore, one aspect of the present invention is to improve the accuracy in describing a range in which a learning sample is present on a feature space.
態様の一例のパターン認識プログラムは、特徴空間において、学習サンプルのパターンを種別する各カテゴリの分布形状に合わせた軸群を設定する処理を、コンピュータに実行させる。次に、パターン認識プログラムは、カテゴリ毎に、カテゴリの学習サンプルから抽出される特徴ベクトルに対応する特徴空間上の特徴点を軸群の各軸に投影して得られるカテゴリ範囲に基づいて、与えられたパターンを分類する処理を、コンピュータに実行させる。 The pattern recognition program according to an example of the aspect causes the computer to execute a process of setting an axis group that matches the distribution shape of each category that classifies the pattern of the learning sample in the feature space. Next, the pattern recognition program is provided for each category based on the category range obtained by projecting feature points on the feature space corresponding to the feature vector extracted from the learning sample of the category on each axis of the axis group. The computer is caused to execute a process of classifying the identified pattern.
学習サンプルがある範囲を特徴空間上に記述する際の正確性を向上させることが可能となる。 It is possible to improve the accuracy in describing the range in which the learning sample is present on the feature space.
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。まず本実施形態の詳細について説明する前に、その前提となる特徴ベクトル及び特徴空間について説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. First, before describing the details of the present embodiment, the feature vectors and feature spaces that are the premise thereof will be described.
図1は、画像からの文字認識における特徴ベクトルと特徴空間の関係を説明する図である。パターン認識では、辞書または認識対象の画像は、その画像から抽出した特徴量の数値を並べたベクトルである特徴ベクトルで表現される。1つの文字画像は、特徴ベクトルで表現されるので、ベクトルの次元数の軸数を持つ特徴空間を考えると、1つの特徴ベクトルは、特徴空間内の1点として表現される。例えば、パターン認識の一例として文字認識が実行される場合、図1に例示される文字画像101(ここでは「あ」という文字が表示されている)が入力されたら、それが図1に例示されるn個の要素値からなる特徴ベクトル102=(v1 ,v2 ,・・・,vn )で表現される。 FIG. 1 is a diagram for explaining the relationship between a feature vector and a feature space in character recognition from an image. In pattern recognition, a dictionary or an image to be recognized is represented by a feature vector which is a vector in which the numerical values of feature amounts extracted from the image are arranged. Since one character image is represented by a feature vector, one feature vector is represented as one point in the feature space in consideration of a feature space having the number of dimension axes of the vector. For example, when character recognition is performed as an example of pattern recognition, when character image 101 illustrated in FIG. 1 (here, the character “A” is displayed) is input, it is illustrated in FIG. It is expressed by a feature vector 102 = (v 1 , v 2 ,..., V n) consisting of n element values.
図1の105及び106は、文字画像からの特徴ベクトルの抽出方式を示す図である。この例では、以下の手続きに従い、「方向指数ヒストグラム」を用いた特徴ベクトル102が抽出される。 105 and 106 in FIG. 1 are diagrams showing a method of extracting feature vectors from a character image. In this example, the feature vector 102 using the “direction index histogram” is extracted according to the following procedure.
手続1:文字画像105から輪郭を構成する各画素を抽出する。
手続2:輪郭画素を、「|」「/」「―」「\」の4方向の何れかに分類する。
画素の分類方法としては、注目する画素の8近傍画素のどの方向に
輪郭画素値が存在するかによって分類する。
Procedure 1: Extract each pixel constituting an outline from the character image 105.
Procedure 2: Classify contour pixels in one of four directions of "|""/""-""\".
As a pixel classification method, in any direction of eight neighboring pixels of the pixel of interest
Classification is based on the presence of contour pixel values.
手続3:文字画像105をn×n(図1の例では3×3)の領域に分割し、
各分割された領域内の方向毎の画素数を求める。
106として示される方向毎の画素数を「方向指数ヒストグラム」と呼ぶ。
手続4:分割領域の順番(領域1から9)に、方向指数の数値を並べて、
特徴ベクトル102とする。図1105及び106の例では、
9領域×4方向=36個の方向指数を要素値とする特徴ベクトル102
=(v1 ,v2 ,・・・,v36 )が得られる。
Procedure 3: Divide the character image 105 into n × n (3 × 3 in the example of FIG. 1) regions,
The number of pixels in each direction in each divided area is obtained.
The number of pixels in each direction shown as 106 is called a "direction index histogram".
Procedure 4: Arrange the numerical values of the direction index in the order of the divided areas (areas 1 to 9),
The feature vector 102 is used. In the example of FIGS. 1105 and 106:
9 regions x 4 directions = feature vectors 102 with 36 direction indices
= (V 1, v 2, ···, v36) is obtained.
特徴ベクトル102の次元数がn次元である場合、図1に例示される文字画像101内の1つの文字は、図1に例示されるようなn次元の特徴空間103の中の1点104で表すことができる。 When the number of dimensions of the feature vector 102 is n, one character in the character image 101 illustrated in FIG. 1 corresponds to one point 104 in the n-dimensional feature space 103 illustrated in FIG. Can be represented.
次に、本実施形態の基礎技術となる、本出願人が先に出願したパターン認識のための大分類技術について説明する。図2は、特許文献1に係る本出願人によるパターン認識のための大分類技術の説明図である。学習用の全画像のサンプルパターンから直交軸が決定される。図2では、説明を簡単にするために、X軸とY軸の2次元の直交軸が決定されている。次に、各カテゴリ(例えば文字認識だったら文字種別)の学習用の各サンプルパターンの特徴ベクトルが、上記直交軸で定まる特徴空間の各次元の軸(例えばX軸及びY軸)に投影されて、各軸上に文字のカテゴリ(文字の種別=文字コード)の存在範囲を記録した辞書が作成される。そして、パターン認識の大分類時には、未知の入力画像の特徴ベクトルが各軸に投影され、各軸で求めた文字カテゴリ集合との論理ANDがとられ、その結果が大分類結果とされる。 Next, the major classification technology for pattern recognition, which the applicant filed earlier, which is the basic technology of the present embodiment, will be described. FIG. 2 is an explanatory view of a large classification technique for pattern recognition by the applicant according to Patent Document 1; Orthogonal axes are determined from sample patterns of the entire image for learning. In FIG. 2, two-dimensional orthogonal axes of the X axis and the Y axis are determined to simplify the description. Next, the feature vector of each sample pattern for learning of each category (for example, character type in the case of character recognition) is projected on an axis (for example, X axis and Y axis) of each dimension of the feature space determined by the orthogonal axis. A dictionary is created in which the range of existence of character categories (type of characters = character code) is recorded on each axis. Then, at the time of major classification of pattern recognition, the feature vector of the unknown input image is projected on each axis, and the logical AND with the character category set obtained on each axis is taken, and the result is taken as the major classification result.
上記大分類処理の具体的な処理について以下に説明する。まず、1つのカテゴリ(例えば1つの文字種別)の1つの学習用サンプルパターンの特徴ベクトルの要素(例えば図1のv1 ,v2 ,・・・,vn の何れか)(図2の例の場合は2次元なのでv1 ,v2 の何れか)が1つ抽出される。そして、抽出された要素に対応する軸上の位置が算出される。例えば、要素v1 については、その要素のX軸上の値(位置)が算出される。同様に、要素v2 については、その要素のY軸上の値(位置)が算出される。 The specific processing of the above-mentioned large classification processing will be described below. First, the elements of the feature vector of one learning sample pattern of one category (for example, one character type) (for example, any of v 1 , v 2 ,..., V n in FIG. 1) In this case, one of v 1 and v 2 ) is extracted because it is two-dimensional. Then, the position on the axis corresponding to the extracted element is calculated. For example, elements v 1, the value on the X axis of the element (position) is calculated. Similarly, elements v 2, the value on the Y-axis of the element (position) is calculated.
次に、上記1つのカテゴリ(例えば1つの文字種別)について、パターンの形が細かく変形した他の全ての学習用サンプルパターンについても同様の処理が実行される。例えば文字認識の場合、同じ文字「あ」でも、様々に変形された「あ」が存在する。これらがそれぞれ、学習用サンプルパターンとして与えられる。この結果、1つのカテゴリについて、各軸上の範囲が決定される。なお、各範囲の両端には、所定のマージン(margin)が加えられる。例えば図2の例では、カテゴリAの特徴空間内での特徴点が「A」で示される3つの位置にあったとする。このとき、各特徴点「A」の特徴ベクトルについて、その特徴ベクトルのx要素値がX軸上の位置に投影され、y要素値がY軸上の位置に投影されることにより、カテゴリAの各特徴ベクトルに関して、X軸上の範囲201AxとY軸上の範囲201Ayが算出される。これらの結果に各軸毎にマージンが加えられることにより、カテゴリAについて、X軸上の範囲202AxとY軸上の範囲202Ayが算出される。 Next, the same processing is performed on all the other learning sample patterns in which the shape of the pattern is finely deformed for one category (for example, one character type). For example, in the case of character recognition, even with the same character "A", there are variously modified "A". Each of these is given as a learning sample pattern. As a result, the range on each axis is determined for one category. A predetermined margin is added to both ends of each range. For example, in the example of FIG. 2, it is assumed that the feature points in the feature space of category A are at three positions indicated by "A". At this time, for the feature vector of each feature point “A”, the x element value of the feature vector is projected to the position on the X axis, and the y element value is projected to the position on the Y axis. A range 201Ax on the X axis and a range 201Ay on the Y axis are calculated for each feature vector. By adding a margin for each axis to these results, a range 202Ax on the X axis and a range 202Ay on the Y axis are calculated for the category A.
以上と同様の処理が他のカテゴリについても実行される。図2の例において、他のカテゴリBの特徴空間内での特徴点が「B」で示される3つの位置にあったとする。このとき、特には図示しないが、各特徴点「B」の特徴ベクトルについて、X軸上の範囲201BxとY軸上の範囲201Byが算出される。これらの結果に各軸毎にマージンが加えられることにより、特には図示しないが、カテゴリBについて、X軸上の範囲202BxとY軸上の範囲202Byが算出される。 The same processing as described above is performed for other categories. In the example of FIG. 2, it is assumed that the feature points in the feature space of another category B are at three positions indicated by “B”. At this time, although not shown, a range 201Bx on the X-axis and a range 201By on the Y-axis are calculated for the feature vectors of the feature points "B". By adding a margin for each axis to these results, although not shown, a range 202Bx on the X axis and a range 202By on the Y axis are calculated for the category B.
更に同様に、図2において、カテゴリCの特徴空間内での特徴点が「C」で示される3つの位置にあったとする。このとき、特には図示しないが、各特徴点「C」の特徴ベクトルについて、X軸上の範囲201CxとY軸上の範囲201Cyが算出される。これらの結果に各軸毎にマージンが加えられることにより、特には図示しないが、カテゴリCについて、X軸上の範囲202CxとY軸上の範囲202Cyが算出される。 Furthermore, similarly, in FIG. 2, it is assumed that feature points in the feature space of category C are at three positions indicated by “C”. At this time, although not shown, a range 201Cx on the X axis and a range 201Cy on the Y axis are calculated for the feature vectors of the feature points "C". By adding a margin for each axis to these results, a range 202Cx on the X axis and a range 202Cy on the Y axis are calculated for the category C, although not particularly shown.
以上の動作が繰り返されることにより、各カテゴリ毎に、特徴空間内の各直交軸上の範囲の値を構成要素とする辞書が作成される。この場合、特徴空間内での各カテゴリの特徴点の範囲は、そのカテゴリの各直交軸上の範囲の交差部分領域として定義される。図2の例では、X軸とY軸とで定義される特徴空間内でのカテゴリAの特徴点の範囲は、カテゴリAについて、X軸上の範囲202AxとY軸上の範囲202Ayとが交差する実線の四角で囲まれた4つの領域として定義される。また、上記特徴空間内でのカテゴリBの特徴点の範囲は、カテゴリBについて、X軸上の範囲202BxとY軸上の範囲202By(共に図示せず)とが交差する細かい破線の四角で囲まれた1つの領域として定義される。更に、上記特徴空間内でのカテゴリCの特徴点の範囲は、カテゴリCについて、X軸上の範囲202CxとY軸上の範囲202Cy(共に図示せず)とが交差する粗い破線の四角で囲まれた1つの領域として定義される。 By repeating the above operation, a dictionary having the value of the range on each orthogonal axis in the feature space as a component is created for each category. In this case, the range of feature points of each category in the feature space is defined as an intersection partial region of the range on each orthogonal axis of the category. In the example of FIG. 2, the range of the feature point of category A in the feature space defined by the X axis and the Y axis is such that the range 202Ax on the X axis intersects with the range 202Ay on the Y axis for the category A It is defined as four areas surrounded by solid squares. In addition, the range of the feature points of category B in the feature space is surrounded by a small broken-lined square in which the range 202Bx on the X axis and the range 202By on the Y axis (both not shown) intersect for the category B. Defined as a single region. Furthermore, the range of the feature points of category C in the feature space is surrounded by a rough dashed square where the range 202Cx on the X axis and the range 202Cy on the Y axis (both not shown) intersect for the category C. Defined as a single region.
以上のようにして作成された辞書を用いて、未知のパターン(例えば入力文字)xを大分類する場合の処理は、以下の通りとなる。未知パターンxの特徴ベクトルの各要素、図2の例ではx要素値とy要素値がそれぞれ、X軸及びY軸のどのカテゴリの範囲に対して重なるか又は最も近いかが判定される。図2の例では、未知パターンxの特徴点「X」は、X軸では、カテゴリCの範囲に重なり、カテゴリAの範囲に近い。また、Y軸では、カテゴリA及びCの各範囲に重なる。これより、未知パターンxは、カテゴリA及びCに大分類される。 The process in the case where the unknown pattern (for example, input character) x is roughly classified using the dictionary created as described above is as follows. It is determined to which category of the X axis and the Y axis the respective element of the feature vector of the unknown pattern x, the x element value and the y element value in the example of FIG. In the example of FIG. 2, the feature point “X” of the unknown pattern x overlaps the range of the category C on the X axis and is close to the range of the category A. In addition, in the Y axis, each range of the categories A and C overlaps. From this, the unknown pattern x is roughly classified into categories A and C.
図3は、ハッシュテーブルを用いた上記辞書の表現形式及び大分類方式の説明図である。各軸K(K=1〜n)(nは次元数)毎に、各カテゴリA、B、C等毎に、軸K上の各値に対応するi=1〜最大値までのインデックス値毎に、各カテゴリの範囲が存在するか(=1)否か(=0)が設定された辞書ビット列bit1AK、bit1BK、bit1CK等からなる、ハッシュテーブル辞書301が作成される。未知パターンxが入力されたとき、その特徴ベクトルのk番目の要素値の軸K上での位置に対応する各辞書ビット列bit1AK、bit1BK、bit1CK等の各kビット目の値の集合として、未知パターンxの軸Kに対するマッチング結果ビット列bit2xKが得られる。このようにして得られる全ての軸K(K=1〜n)毎のマッチング結果ビット列bit2xKについて、ビット位置毎にAND積が演算されることにより、最終マッチング結果ビット列bit3x (図示せず)が得られる。このbit3x 中で値1が設定されているビット位置に対応するカテゴリが、大分類結果とされる。 FIG. 3 is an explanatory view of the expression form of the above-mentioned dictionary using the hash table and the large classification method. For each index value from i = 1 to the maximum value corresponding to each value on axis K, for each category A, B, C, etc., for each axis K (K = 1 to n) (n is the number of dimensions) A hash table dictionary 301 consisting of a dictionary bit string bit1 AK , bit1 BK , bit1 CK, etc. in which the range of each category exists (= 1) or not (= 0) is set is created. When an unknown pattern x is input, each dictionary bit string bit1 AK , bit1 BK , bit1 CK, etc. corresponding to the position of the k-th element value of the feature vector on the axis K The matching result bit string bit2 x K for the axis K of the unknown pattern x is obtained. The final matching result bit string bit3 x (not shown) is calculated by calculating the AND product for each bit position for the matching result bit string bit2 xK for every axis K (K = 1 to n) obtained in this manner. Is obtained. The category corresponding to the bit position for which the value 1 is set in this bit3 x is taken as the major classification result.
上述した大分類手法は、高速な大分類処理を可能とする技術であるが、実際には特徴点が存在しないカテゴリ範囲が指定されてしまう場合がある。図2の例では、カテゴリAについて、4つの実線枠で示される特徴空間上のカテゴリ範囲のうち、左上の実線枠203Aと右下の実線枠204Aの範囲には実際にはカテゴリAの特徴点は存在しないにもかかわらず、カテゴリAの範囲と判定されてしまう。例えば、図4において(見方は図2と同様)、未知パターンxの特徴点「X」が、特徴空間内のカテゴリAに対応する実線枠で囲まれた4つの領域のうちの右下の領域204A内に存在する場合を想定する。未知パターンxの特徴ベクトルの各要素値をX軸及びY軸に投影させたときの位置は、共にまずカテゴリBのX軸上の範囲及びY軸上の範囲に含まれる。このため、上記未知パターンxはまず、カテゴリBに大分類される。これと共に、未知パターンxの特徴ベクトルの各要素値をX軸及びY軸に投影させたときの位置は、カテゴリAのX軸上の範囲202Ax及びY軸上の範囲202Ayにも含まれる。このため、上記未知パターンxは、カテゴリAにも大分類されてしまう。しかし実際には、図4に示されるように、未知パターンxの特徴点「X」は、カテゴリAの特徴点「A」が実際に存在する領域には含まれておらず、正解の大分類結果はカテゴリBのみである。従って、この大分類手法では、カテゴリAが余計に選択されてしまっているため、大分類処理の絞り込み能力が低下している。 The above-described large classification method is a technology that enables high-speed large classification processing, but in practice there may be cases where a category range in which no feature point exists is designated. In the example of FIG. 2, among the category ranges on the feature space indicated by four solid frames for the category A, the feature points of the category A are actually in the range of the solid line frame 203A at the upper left and the solid line frame 204A at the lower right. Although it does not exist, it is determined to be a range of category A. For example, in FIG. 4 (viewing is the same as in FIG. 2), the lower right one of the four regions surrounded by the solid line frame corresponding to the category A in the feature space is the feature point “X” of the unknown pattern x. It is assumed that it exists in 204A. The positions when projecting each element value of the feature vector of the unknown pattern x onto the X axis and the Y axis are both included in the range on the X axis of Category B and the range on the Y axis. Therefore, the unknown pattern x is first classified into category B. Along with this, the position when each element value of the feature vector of the unknown pattern x is projected onto the X axis and the Y axis is also included in the range 202Ax on the X axis of category A and the range 202Ay on the Y axis. Therefore, the unknown pattern x is also roughly classified into category A. However, in fact, as shown in FIG. 4, the feature point “X” of the unknown pattern x is not included in the area where the feature point “A” of category A actually exists, and the major classification of the correct answer The result is category B only. Therefore, in this large classification method, since category A is additionally selected, the narrowing ability of the large classification processing is lowered.
上記大分類手法において、「学習サンプルが無い領域」だけを削除する手法が考えられる。しかし、このような領域は図3で説明したような辞書の記述では削除できないため、大分類処理の中でチェック処理を行うことになる。このため、大分類処理が遅くなる課題がある。 In the above-described large classification method, a method may be considered in which only the "region without a learning sample" is deleted. However, since such an area can not be deleted by the dictionary description as described in FIG. 3, the check process is performed in the large classification process. For this reason, there is a problem that the large classification processing is delayed.
以下に説明するパターン認識装置の第1及び第2の実施形態は、上記課題を解決する技術である。各実施形態の手法は、処理時間をかけて特徴分布を正確に反映する辞書を作成し、精度を落とさずに大分類処理を高速化する手法である。具体的には、学習サンプルの各カテゴリの特徴の分布に合わせて、なるべく少ない軸数で各カテゴリの分布形状を識別できるような軸が設定される。軸は直交する軸セットを基本とし、互いに直交しない複数のセットで構成する。これにより、特徴空間上に学習サンプルがある範囲がより忠実に辞書に記述できるようになる。未知パターン(例えば未知入力文字)は、図2から図4で説明した大分類手法よりも狭いカテゴリの範囲にプロットされるため、より正確に大分類結果のカテゴリを絞り込むことが可能となる。 The first and second embodiments of the pattern recognition apparatus described below are techniques for solving the above-mentioned problems. The method of each embodiment is a method of creating a dictionary that accurately reflects the feature distribution over the processing time, and speeding up the large classification processing without reducing the accuracy. Specifically, in accordance with the distribution of the features of each category of the learning sample, an axis that can identify the distribution shape of each category with as few axes as possible is set. The axes are based on orthogonal axis sets, and are composed of a plurality of sets that are not orthogonal to one another. This enables the range in which the learning sample is present on the feature space to be described more faithfully in the dictionary. Since unknown patterns (for example, unknown input characters) are plotted in a narrower category range than the large classification method described in FIGS. 2 to 4, it is possible to narrow down the large classification result category more accurately.
図5は、パターン認識装置の第1の実施形態のブロック図である。第1の実施形態は、特徴抽出部501、固有値・固有ベクトル抽出部502、階層的クラスタリング部503、クラスタ選択部504、直交軸決定部505、及び軸出力判定部506を含む。501から506の各部は、特徴空間において、学習サンプルのパターンを種別する各カテゴリの分布形状に合わせた軸群を設定する設定部に対応する。また、パターン認識装置は、分類部(不図示)をさらに含む。 FIG. 5 is a block diagram of a first embodiment of a pattern recognition apparatus. The first embodiment includes a feature extraction unit 501, an eigenvalue / eigenvector extraction unit 502, a hierarchical clustering unit 503, a cluster selection unit 504, an orthogonal axis determination unit 505, and an axis output determination unit 506. Each of the units 501 to 506 corresponds to a setting unit that sets an axis group that matches the distribution shape of each category that classifies the pattern of the learning sample in the feature space. The pattern recognition apparatus further includes a classification unit (not shown).
特徴抽出部501は、カテゴリ1からカテゴリNのN個のカテゴリ毎に用意されるそれぞれ複数サンプルからなる学習サンプルの文字画像510から、それぞれ特徴量を抽出する。これにより、特徴抽出部501は、カテゴリ1からカテゴリNのN個のカテゴリ毎にそれぞれ複数組ずつの特徴ベクトル511を出力する。 The feature extraction unit 501 extracts feature amounts from character images 510 of learning samples each consisting of a plurality of samples prepared for each of N categories from category 1 to category N. Thereby, the feature extraction unit 501 outputs a plurality of sets of feature vectors 511 for each of N categories from category 1 to category N.
固有ベクトル抽出部502は、カテゴリ毎に、そのカテゴリに対応する複数組の特徴ベクトル511から固有ベクトルを算出し、その結果得られる全ての固有ベクトルを、軸の候補として第1軸集合512に含ませる。 The eigenvector extraction unit 502 calculates, for each category, eigenvectors from a plurality of sets of feature vectors 511 corresponding to the category, and causes all of the resulting eigenvectors to be included in the first axis set 512 as axis candidates.
階層的クラスタリング部503は、第1軸集合512に含まれる固有ベクトルをクラスタリングして、類似している固有ベクトル同士が同一のクラスタに分類されたクラスタ集合513を出力する。 The hierarchical clustering unit 503 clusters the eigenvectors included in the first axis set 512, and outputs a cluster set 513 in which similar eigenvectors are classified into the same cluster.
クラスタ選択部504は、クラスタ集合513中で構成要素の固有ベクトル数が最も多い未選択のクラスタを選択する(以下「選択クラスタ」と記載)。 The cluster selection unit 504 selects an unselected cluster having the largest number of component eigenvectors in the cluster set 513 (hereinafter referred to as “selected cluster”).
直交軸決定部505は、選択クラスタの代表ベクトルを含み、相互にほぼ直交する代表ベクトルが格納された第3軸集合515を、クラスタ集合513から算出する。 The orthogonal axis determination unit 505 calculates, from the cluster set 513, a third axis set 515 that includes representative vectors of the selected cluster and in which representative vectors substantially orthogonal to each other are stored.
軸出力判定部506は、第3軸集合515中の各代表ベクトルを第2軸集合514(軸候補群)に追加する。軸出力判定部506は、第2軸集合514に含まれる代表ベクトルの数が所定の閾値を超えるまで、又は学習サンプルが無い領域(図4参照)が無くなるまで、クラスタ選択部504及び直交軸決定部505による処理を繰り返し実行させる。軸出力判定部506は、上記条件が判定された時点で第2軸集合514に含まれる各代表ベクトルを各出力軸として含む出力軸集合516(軸群)を出力する。 The axis output determination unit 506 adds each representative vector in the third axis set 515 to the second axis set 514 (axis candidate group). The axis output determination unit 506 determines the cluster selection unit 504 and the orthogonal axes until the number of representative vectors included in the second axis set 514 exceeds a predetermined threshold or until there is no area (see FIG. 4) in which no learning sample exists. The processing by the unit 505 is repeatedly executed. The axis output determination unit 506 outputs an output axis set 516 (axis group) including each representative vector included in the second axis set 514 as each output axis when the above condition is determined.
その後、カテゴリ1からカテゴリNのそれぞれ毎に、複数組ずつの特徴ベクトル511によって決まる各特徴点を、出力軸集合516中の各軸に投影させることにより、そのカテゴリの各軸上の範囲がマージン付きで決定された辞書が作成される。辞書データの表現形式は、前述した図3の場合と同様のハッシュデータ形式である。そして、このような辞書を用いて、与えられたパターンから抽出される特徴ベクトルに対応する特徴空間上の特徴点を出力軸集合516中の各軸に投影して得られる位置が含まれるカテゴリ範囲が抽出され、その範囲に対応するカテゴリの集合が出力される。これらの処理を実行する部分は、カテゴリ毎に、カテゴリの学習サンプルから抽出される特徴ベクトルに対応する特徴空間上の特徴点を軸群の各軸に投影して得られるカテゴリ範囲に基づいて、与えられたパターンを分類する分類部の一部に対応する。 After that, by projecting each feature point determined by a plurality of sets of feature vectors 511 on each axis in the output axis set 516 for each of category 1 to category N, the range on each axis of the category is a margin The dictionary determined in The expression format of the dictionary data is a hash data format similar to the case of FIG. 3 described above. Then, using such a dictionary, a category range including positions obtained by projecting feature points on the feature space corresponding to feature vectors extracted from a given pattern on each axis in the output axis set 516. Are extracted, and a set of categories corresponding to the range is output. The part that executes these processes is, for each category, based on the category range obtained by projecting feature points on the feature space corresponding to the feature vector extracted from the learning sample of the category on each axis of the axis group. It corresponds to a part of a classification unit that classifies a given pattern.
上述の第1の実施形態で作成された出力軸集合516中の各軸を用いることにより、図2から図4で説明した従来の大分類手法と比較して、大分類した集合の中に正解が入る精度は変えないまま、絞り込み能力をより向上させることが可能となる。図4で説明したように、従来の大分類手法では、カテゴリによっては特徴空間上で、学習サンプルがない無駄なカテゴリ領域が生じていた。これにより、図4では未知パターンxはカテゴリBに加えてカテゴリAにも大分類されてしまっていた。これに対して、第1の実施形態では、出力軸集合516から得られる例えば図6に示されるような軸1から軸4が用いられることにより、上記無駄なカテゴリ領域が生じることを回避することができる。そのため、無駄なカテゴリ領域が減るので、大分類時に入力した未知パターンと近くないカテゴリが選択されることを防ぐことができる。その結果、大分類の精度は変えずに、処理時間を短縮することが可能となる。図6の例では、例えばカテゴリAについて、軸1のカテゴリAの範囲と軸2のカテゴリAの範囲とから601Aとして示される領域が定まり、軸3のカテゴリAの範囲と軸4のカテゴリAの範囲とから602Aとして示される領域が定まる。この結果、軸1から4で定義される特徴空間上のカテゴリAの範囲は、領域601Aと602Aが重なる領域600Aとして決まる。このカテゴリAの範囲600Aには、カテゴリAの特徴点が1つも存在しない領域は無い。カテゴリBとカテゴリCについても同様に、各カテゴリの特徴点が1つも存在しない領域が除去された、細かい破線で示される領域と粗い破線で示される領域がそれぞれ、カテゴリB及びCの各範囲として定まる。このようなカテゴリ範囲から作成された辞書を用いることで、未知パターンxの特徴空間内の特徴点「X」を軸1、軸2、軸3、及び軸4に投影した結果、各投影結果のAND積が正しくカテゴリ「B」のみと重なるように大分類を行うことができる。 By using each of the axes in the output shaft set 516 created in the first embodiment described above, the correct solution is obtained in the roughly classified set as compared with the conventional large classification method described in FIGS. 2 to 4 It is possible to further improve the narrowing ability without changing the accuracy of entering. As described in FIG. 4, in the conventional large classification method, useless category regions without learning samples are generated on the feature space depending on the category. As a result, in FIG. 4, the unknown pattern x is roughly classified into the category A in addition to the category B. On the other hand, in the first embodiment, the use of the axes 1 to 4 obtained from the output shaft set 516, for example, as shown in FIG. Can. Therefore, since the useless category area is reduced, it is possible to prevent the selection of a category which is not close to the unknown pattern input at the time of the large classification. As a result, it is possible to shorten the processing time without changing the accuracy of the large classification. In the example of FIG. 6, for example, for category A, an area shown as 601A is defined from the range of category A of axis 1 and the range of category A of axis 2 and the range of category A of axis 3 and category A of axis 4 From the range, an area shown as 602A is determined. As a result, the range of the category A on the feature space defined by the axes 1 to 4 is determined as a region 600A where the regions 601A and 602A overlap. In the range 600A of the category A, there is no region in which no feature point of the category A exists. Similarly, for Category B and Category C, an area indicated by a fine broken line and an area indicated by a coarse broken line, from which an area where there is no feature point in each category has been removed, are respectively taken as the ranges of Category B and C. It becomes settled. As a result of projecting the feature point “X” in the feature space of the unknown pattern x on the axis 1, axis 2, axis 3 and axis 4 by using the dictionary created from such a category range, Major classification can be performed such that the AND product correctly overlaps with only the category "B".
図7は、図5の特徴抽出部501及び固有ベクトル抽出部502の処理例を示すフローチャートである。まず、特には図示しない制御部が、第1軸集合512を空集合に設定する(ステップS701)。 FIG. 7 is a flowchart showing an example of processing of the feature extraction unit 501 and the eigenvector extraction unit 502 of FIG. First, a control unit (not shown) sets the first axis set 512 to an empty set (step S701).
次に、図5において、制御部が、カテゴリ1からカテゴリNのうち、未処理のカテゴリ(以降「選択カテゴリ」と記載)を1つ選択する(ステップS702)。 Next, in FIG. 5, the control unit selects one unprocessed category (hereinafter referred to as “selected category”) among the categories 1 to N (step S702).
次に、特徴抽出部501が、選択カテゴリに対する図5の文字画像510の集合を入力する(ステップS703)。更に、特徴抽出部501が、ステップS703で入力した選択カテゴリの文字画像510の集合からそれぞれ、特徴ベクトル511の集合を抽出する(ステップS704)。特徴ベクトル511としては例えば、図1の105及び106で説明した「方向指数ヒストグラム」を用いたベクトルが採用される。 Next, the feature extraction unit 501 inputs a set of character images 510 of FIG. 5 for the selected category (step S703). Furthermore, the feature extraction unit 501 extracts a set of feature vectors 511 from the set of character images 510 of the selected category input in step S703 (step S704). As the feature vector 511, for example, a vector using the “direction index histogram” described with reference to 105 and 106 in FIG. 1 is employed.
続いて、固有ベクトル抽出部502が、ステップS704で算出された選択カテゴリの特徴ベクトル511の集合から、固有ベクトルの集合を抽出する(ステップS705)。固有ベクトルは、例えば以下のようにして算出される。 Subsequently, the eigenvector extraction unit 502 extracts a set of eigenvectors from the set of feature vectors 511 of the selected category calculated in step S704 (step S705). The eigenvectors are calculated, for example, as follows.
いま1つのカテゴリ(文字認識の場合は例えば「あ」などの1種類の文字)について、m個の文字画像を収集して、それらを全てn次元の特徴ベクトルに変換するとする。 Suppose that m character images are collected for one category (one type of character such as “A” for character recognition), and they are all converted into n-dimensional feature vectors.
このとき、第k番目のベクトルを、下記(1)式で定義する。 At this time, the k-th vector is defined by the following equation (1).
このカテゴリの平均ベクトルは、下記(2)式で表される。 The average vector of this category is expressed by the following equation (2).
このとき、上記平均ベクトルの第i要素は、下記(3)式で定義される。 At this time, the i-th element of the average vector is defined by the following equation (3).
(1)式で表現される各ベクトル(k番目のベクトル)と、(2)式及び(3)式で表現される平均ベクトルの各要素から、共分散行列Σが算出される。この共分散行列Σの第i行、第j列の要素σijは,下記(4)式により算出される。 The covariance matrix Σ is calculated from each vector (k-th vector) expressed by the equation (1) and each element of the mean vector expressed by the equations (2) and (3). The element σ ij of the i-th row and the j-th column of the covariance matrix Σ is calculated by the following equation (4).
次にn×nの共分散行列Σを対象に、下記(5)式で示される固有方程式を作成する。ここで、Eはn×nの単位行列である。 Next, with the n × n covariance matrix Σ as an object, a unique equation represented by the following equation (5) is created. Here, E is an n × n identity matrix.
次に(5)式の方程式を解くことにより、固有値λを求める。λはn個の解を持つ。
更に、上記固有値の解の中の1つのλの値を使って、下記(6)式で示される方程式を解くことにより、n次元の固有ベクトルxを1つ求める。この計算を各固有値の解について繰り返すことにより、n個の固有値と固有ベクトルの組を求める。
Next, the eigenvalue λ is determined by solving the equation (5). λ has n solutions.
Furthermore, one n-dimensional eigenvector x is obtained by solving the equation shown in the following equation (6) using one λ value in the solution of the above-mentioned eigenvalues. By repeating this calculation for each eigenvalue solution, pairs of n eigenvalues and eigenvectors are obtained.
固有ベクトル抽出部502は、このようにして抽出した固有ベクトルの集合を第1軸集合512に追加する(ステップS706)。 The eigenvector extraction unit 502 adds the set of eigenvectors extracted in this manner to the first axis set 512 (step S706).
制御部は、カテゴリ1からカテゴリNのうちの全てのカテゴリについて選択が終了したか否かを判定する(ステップS707)。制御部は、ステップS707の判定がNOならば、ステップS702の処理に戻って、次の選択カテゴリに対する上記ステップS702からS706の一連の処理を実行する。 The control unit determines whether or not the selection has been completed for all the categories of category 1 to category N (step S 707). If the determination in step S707 is NO, the control unit returns to the process in step S702, and executes the series of processes in steps S702 to S706 for the next selected category.
制御部は、ステップS707の判定がYESになると、第1軸集合512を出力する(ステップS708)。その後、制御部は、図7のフローチャートで例示される特徴抽出部501と固有ベクトル抽出部502による上記繰返し処理を終了する。 If the determination in step S707 is YES, the control unit outputs the first axis set 512 (step S708). Thereafter, the control unit ends the above-described repetitive processing by the feature extraction unit 501 and the eigenvector extraction unit 502 illustrated in the flowchart of FIG. 7.
以上のようにして、図7のフローチャートで例示される図5の特徴抽出部501及び固有ベクトル抽出部502の処理により、選択カテゴリ毎に特徴ベクトル511及び固有ベクトルが算出され、その固有ベクトルによって定義される選択カテゴリに対する特徴空間の軸が第1軸集合512に得られる。 As described above, the feature vector 511 and the eigenvector are calculated for each selected category by the processing of the feature extraction unit 501 and the eigenvector extraction unit 502 of FIG. 5 illustrated in the flowchart of FIG. The axes of the feature space for the category are obtained in a first set of axes 512.
次に、図5の階層的クラスタリング部503の処理例について説明する。階層的クラスタリング処理では、第1軸集合512として得られている固有ベクトルについて、重心に近いものは重心に集めてクラスタにまとめ、重心と重心との距離が離れていれば、別クラスタになるようなクラスタリングが行われる。階層的クラスタリングは、最も似ている組み合わせから順番にまとまり(クラスタ)にしていく方法である。例えば、階層的クラスタリング処理の一手法である凝集型(agglomerative)では、N個の対象からなるデータが与えられたとき、1個の対象だけを含むN個のクラスタがある初期状態が、最初に生成される。この初期状態から、クラスタ間の距離(非類似度)d(C1,C2)が計算され、最もこの距離の近い2つのクラスタが逐次的に1つのクラスタにまとめられる。この処理が、全ての対象が1つのクラスタにまとめられるまで繰り返されることで、階層構造が獲得される。 Next, a processing example of the hierarchical clustering unit 503 in FIG. 5 will be described. In hierarchical clustering processing, with regard to the eigenvectors obtained as the first axis set 512, those close to the center of gravity are collected at the center of gravity and grouped into a cluster, and if the distance between the center of gravity and the center of gravity is separated, another cluster is obtained. Clustering is performed. Hierarchical clustering is a method of grouping (clusters) in order from the most similar combination. For example, in agglomerative, which is a method of hierarchical clustering processing, when data of N objects is given, an initial state in which N clusters containing only one object are initially It is generated. From this initial state, the distance (dissimilarity) d (C1, C2) between clusters is calculated, and the two closest clusters of this distance are sequentially grouped into one cluster. A hierarchical structure is acquired by repeating this process until all objects are put together into one cluster.
図8は、階層的クラスタリング処理の説明図である。図8は、説明の簡単のために、各カテゴリA、B、Cの各固有ベクトルが、2次元の特徴空間上に存在している例を示している。図8の特徴空間において、第1軸集合512中のカテゴリAの軸ベクトル(固有ベクトル)が、1、2、3、及び4番の特徴点(記号「A」からの矢印で指し示される部分)で示されている。また、カテゴリBの軸ベクトルが、5、6、7、及び8番の特徴点(記号「B」からの矢印で指し示される部分)で示されている。更に、カテゴリCの軸ベクトルが、9、10,11、及び12番の特徴点(記号「C」からの矢印で指し示される部分)で示されている。上述の階層的クラスタリング処理において、初期状態は、1から12までの全ての1つの番号をそれぞれ1つずつ含む12個のクラスタからスタートする。そして、最終的には、カテゴリAの2番とカテゴリCの9番及び11番とが1つのクラスタにまとめられる。また、カテゴリAの1番とカテゴリCの10番及び12番とが1つのクラスタにまとめられる。更に、カテゴリBの5、8、7番が1つのクラスタにまとめられる。カテゴリAの4番、カテゴリAの3番、及びカテゴリBの6番は、それぞれ単独のクラスタを形成する。以上の階層的クラスタリング処理により、それぞれのカテゴリから第1軸集合512に得られる軸ベクトル(固有ベクトル)のうち、似た軸同士が1つの軸(=クラスタ)で代表されることになる。 FIG. 8 is an explanatory diagram of hierarchical clustering processing. FIG. 8 shows an example in which each eigenvector of each category A, B, C exists on a two-dimensional feature space, for the sake of simplicity of explanation. In the feature space of FIG. 8, the axis vector (eigenvector) of category A in the first axis set 512 is the first, second, third, and fourth feature points (portion indicated by the arrow from the symbol “A”) It is indicated by. Further, the axis vector of category B is indicated by the fifth, sixth, seventh, and eighth feature points (portions indicated by arrows from the symbol “B”). Furthermore, the axis vector of category C is indicated by 9, 10, 11, and 12 feature points (portions indicated by arrows from symbol "C"). In the above-described hierarchical clustering process, the initial state starts from twelve clusters including one each of all one numbers from one to twelve. And, finally, the category A No. 2 and the category C No. 9 and No. 11 are combined into one cluster. Also, the category A No. 1 and the category C No. 10 and No. 12 are combined into one cluster. Furthermore, Category B's 5, 8 and 7 are combined into one cluster. Category A No. 4, Category A No. 3 and Category B No. 6 each form a single cluster. Of the axis vectors (eigenvectors) obtained from each category to the first axis set 512, similar axes are represented by one axis (= cluster) by the above hierarchical clustering processing.
図9は、上述の階層的クラスタリング処理の手法に基づく図5の階層的クラスタリング部503の処理例を示すフローチャートである。まず、階層的クラスタリング部503は、固有ベクトル抽出部502が出力した第1軸集合512中の各固有ベクトルをそれぞれ1クラスタの代表ベクトルとみなしてクラスタ集合513を作成し、全クラスタ間の距離を算出する(ステップS901)。距離としては例えば、各2つのクラスタの代表ベクトル間のユークリッド距離が算出される。 FIG. 9 is a flowchart showing a process example of the hierarchical clustering unit 503 of FIG. 5 based on the above-described hierarchical clustering process. First, the hierarchical clustering unit 503 regards each eigenvector in the first axis set 512 output by the eigenvector extraction unit 502 as a representative vector of one cluster to create a cluster set 513 and calculates the distance between all clusters (Step S901). As the distance, for example, the Euclidean distance between representative vectors of two clusters is calculated.
次に、階層的クラスタリング部503は、ステップS901で算出した距離のうち、最も小さい距離Dminを算出した2つのクラスタを求める(ステップS902)。 Next, the hierarchical clustering unit 503 obtains two clusters for which the smallest distance Dmin is calculated among the distances calculated in step S901 (step S902).
次に、階層的クラスタリング部503は、上記最小距離Dminが、所定の閾値よりも小さいか否かを判定する(ステップS903)。ステップS903の判定がYESならば、階層的クラスタリング部503は、ステップS902で算出した2つのクラスタを統合して1つの新クラスタとする(ステップS904)。 Next, the hierarchical clustering unit 503 determines whether the minimum distance Dmin is smaller than a predetermined threshold (step S903). If the determination in step S903 is YES, the hierarchical clustering unit 503 integrates the two clusters calculated in step S902 into one new cluster (step S904).
次に、階層的クラスタリング部503は、ステップS904で生成した新クラスタに属する固有ベクトルの数を、新クラスタを生成した2つのクラスタにそれぞれ属する固有ベクトルの数の合計の値とする(ステップS905)。また、階層的クラスタリング部503は、ステップS904で生成した新クラスタを生成した元の2つのクラスタを、クラスタ集合513から削除する(ステップS906)。更に、階層的クラスタリング部503は、ステップS904で生成した新クラスタを、クラスタ集合513に追加する(ステップS907)。 Next, the hierarchical clustering unit 503 sets the number of eigenvectors belonging to the new cluster generated in step S904 as the value of the total number of eigenvectors respectively belonging to the two clusters which generated the new cluster (step S905). Also, the hierarchical clustering unit 503 deletes from the cluster set 513 the two original clusters that generated the new cluster generated in step S904 (step S906). Furthermore, the hierarchical clustering unit 503 adds the new cluster generated in step S904 to the cluster set 513 (step S907).
続いて、階層的クラスタリング部503は、ステップS904で生成した新クラスタを生成した元の2つのクラスタの代表ベクトルの例えば平均又は重心を算出することにより、上記新クラスタの代表ベクトルを算出する。そして、階層的クラスタリング部503は再び、ステップS901の場合と同様にして、クラスタ集合513内の全クラスタ間の距離を算出する(ステップS908)。その後、階層的クラスタリング部503は、ステップS903の処理に戻り、クラスタリングを繰り返す。 Subsequently, the hierarchical clustering unit 503 calculates the representative vector of the new cluster by calculating, for example, the average or the center of gravity of the representative vectors of the two original clusters which generated the new cluster generated in step S904. Then, the hierarchical clustering unit 503 calculates the distance between all clusters in the cluster set 513 again as in the case of step S901 (step S908). Thereafter, the hierarchical clustering unit 503 returns to the process of step S903 and repeats clustering.
以上の繰返し動作の結果、階層的クラスタリング部503は、クラスタ集合513中の各クラスタ間の距離が十分に離れて、ステップS903で最小距離Dminが所定の閾値よりも小さくなったと判定すると、ステップS909の処理に進む。ステップS909において、階層的クラスタリング部503は、ステップS902からS908の一連の処理の繰返しによる階層的クラスタリング処理を終了し、作成したクラスタ集合513を出力する。その後、階層的クラスタリング部503は、図9のフローチャートで例示される処理を終了する。 As a result of the above repetitive operation, when the hierarchical clustering unit 503 determines that the distance between the clusters in the cluster set 513 is sufficiently long and the minimum distance Dmin becomes smaller than the predetermined threshold in step S903, step S909 is performed. Go to the process of In step S909, the hierarchical clustering unit 503 ends the hierarchical clustering process by repeating the series of processes in steps S902 to S908, and outputs the created cluster set 513. Thereafter, the hierarchical clustering unit 503 ends the process illustrated in the flowchart of FIG.
図10は、図5のクラスタ選択部504、直交軸決定部505、及び軸出力判定部506の処理例を示すフローチャートである。まず、クラスタ選択部504は、第2軸集合514を空集合に設定する(ステップS1001)。 FIG. 10 is a flowchart showing an example of processing of the cluster selection unit 504, the orthogonal axis determination unit 505, and the axis output determination unit 506 in FIG. First, the cluster selection unit 504 sets the second axis set 514 as an empty set (step S1001).
次に、クラスタ選択部504は、階層的クラスタリング部503が出力したクラスタ集合513の中で、選択済み以外で、構成要素の固有ベクトル数が最も多いクラスタを選択する(以降このクラスタを「選択クラスタ」と記載)。クラスタ選択部504は、クラスタ集合513において選択クラスタを選択済みとする(以上、ステップS1002)。 Next, the cluster selection unit 504 selects a cluster having the largest number of eigenvectors of components other than already selected in the cluster set 513 output from the hierarchical clustering unit 503 (hereinafter, this cluster is “selected cluster”) And written). The cluster selection unit 504 makes the selected cluster already selected in the cluster set 513 (the above, step S1002).
次に、直交軸決定部505が、ステップS1002で選択した選択クラスタの代表ベクトルを含み、相互にほぼ直交する代表ベクトルが格納された第3軸集合515を、クラスタ集合513から算出する(ステップS1003)。この処理の詳細については、図11のフローチャートを用いて後述する。 Next, the orthogonal axis determination unit 505 calculates, from the cluster set 513, a third axis set 515 in which the representative vectors of the selected cluster selected in step S1002 and including the representative vectors substantially orthogonal to each other are stored (step S1003). ). The details of this process will be described later using the flowchart of FIG.
次に、軸出力判定部506は、第3軸集合515中の各代表ベクトルを第2軸集合514に追加し、第3軸集合515中の各代表ベクトルのクラスタを、クラスタ集合513で選択済みとする(ステップS1004)。 Next, the axis output determination unit 506 adds each representative vector in the third axis set 515 to the second axis set 514, and selects a cluster of each representative vector in the third axis set 515 by the cluster set 513. (Step S1004).
次に、軸出力判定部506は、第2軸集合514中の代表ベクトルの数が、所定の閾値よりも大きくなったか否かを判定する(ステップS1005)。 Next, the axis output determination unit 506 determines whether the number of representative vectors in the second axis set 514 has become larger than a predetermined threshold (step S1005).
軸出力判定部506は、ステップ905の判定がYESになったら、第2軸集合514内の各代表ベクトルを辞書で用いられる出力軸として、それらの軸が格納された出力軸集合516を出力する(ステップS1010)。その後、軸出力判定部506は、図10で例示されるフローチャートの処理を終了する。 When the determination in step 905 is YES, the axis output determination unit 506 outputs an output axis set 516 in which the axes are stored, with each representative vector in the second axis set 514 as an output axis used in the dictionary. (Step S1010). Thereafter, the axis output determination unit 506 ends the processing of the flowchart illustrated in FIG.
軸出力判定部506は、ステップS1005の判定がNOの場合、学習サンプルから得られたカテゴリ1からNのそれぞれ毎に、そのカテゴリ内の複数組ずつの特徴ベクトル511(図5参照)によって決まる各特徴点を、第2軸集合514中の全ての軸に投影させる。これにより、軸出力判定部506は、図2の場合と同様にして、各カテゴリの第2軸集合514中の各軸上の範囲を、マージンを付加して算出する(以上、ステップS1006)。 When the determination in step S1005 is NO, the axis output determining unit 506 determines each of the categories 1 to N obtained from the learning sample, each determined by a plurality of sets of feature vectors 511 (see FIG. 5) in the category. Feature points are projected onto all the axes in the second set of axes 514. Thereby, the axis output determination unit 506 calculates the range on each axis in the second axis set 514 of each category by adding a margin, as in the case of FIG. 2 (step S1006).
その後、軸出力判定部506は、ステップS1007からS1009の一連の処理を繰り返し実行する。まず、軸出力判定部506は、図5のカテゴリ1からNのうちの一つを選択する(ステップS1007)。 After that, the axis output determination unit 506 repeatedly executes the series of processes of steps S1007 to S1009. First, the axis output determination unit 506 selects one of categories 1 to N in FIG. 5 (step S1007).
次に、軸出力判定部506は、第2軸集合514内の全軸で構成される特徴空間上の、ステップS1007で選択したカテゴリの存在範囲内に、学習サンプルの特徴点が無い領域(図4参照)があるか否かを判定する(ステップS1008)。 Next, the axis output determination unit 506 determines that there is no feature point of the learning sample within the existence range of the category selected in step S1007 on the feature space composed of all the axes in the second axis set 514 (see FIG. It is determined whether or not there is 4) (step S1008).
軸出力判定部506は、ステップS1008の判定がNOの場合、カテゴリ1からNのうちの全てのカテゴリを選択したか否かを判定する(ステップS1009)。 If the determination in step S1008 is NO, the axis output determining unit 506 determines whether all categories of categories 1 to N have been selected (step S1009).
軸出力判定部506は、ステップS1009の判定がNOならば、ステップS1007の処理に戻って、次のカテゴリを選択し捨てS1008の判定を繰り返す。 If the determination in step S1009 is NO, the axis output determination unit 506 returns to the process in step S1007, selects the next category, and repeats the determination in step S1008.
軸出力判定部506は、ステップS1009の判定がYESになると、第2軸集合514内の各代表ベクトルを辞書で用いられる軸データとして、それらの軸データが格納された出力軸集合516を出力する(ステップS1010)。その後、軸出力判定部506は、図10で例示されるフローチャートの処理を終了する。 When the determination in step S1009 is YES, the axis output determination unit 506 outputs an output axis set 516 in which the axis data is stored as axis data used in the dictionary as each representative vector in the second axis set 514. (Step S1010). Thereafter, the axis output determination unit 506 ends the processing of the flowchart illustrated in FIG.
軸出力判定部506は、ステップS1007からS1009の繰返し処理で、第2軸集合514内の全軸の特徴空間上の選択カテゴリの存在範囲内に、学習サンプルの特徴点が無い領域がある(ステップS1008の判定がYES)と判定すると、ステップS1002に戻る。このようにして、軸出力判定部506は、クラスタ選択部504及び直交軸決定部505による処理を繰り返し実行させる。ステップS1002からS1009の一連の動作は、第2軸集合514中の代表ベクトル数が閾値を超えるまで(ステップS1005の判定がYES)、又は学習サンプルが無い領域(図4参照)が無くなるまで(ステップS1009の判定がYES)、繰り返し実行される。ここで、クラスタ選択部504で最初に選択された選択クラスタと、ステップS1008の後に次に選択された選択クラスタとは、互いに直交するとは限らない。従って、最終的に、出力軸集合516に含まれる軸は非直交軸を含んでもよい。 The axis output determination unit 506 repeats the process from step S1007 to step S1009 to find that there is no feature point of the learning sample in the existing range of the selected category on the feature space of all axes in the second axis set 514 (step If it is determined that the determination in S1008 is YES), the process returns to step S1002. Thus, the axis output determination unit 506 repeatedly executes the processing by the cluster selection unit 504 and the orthogonal axis determination unit 505. A series of operations from step S1002 to S1009 are performed until the number of representative vectors in the second axis set 514 exceeds the threshold (YES in the determination in step S1005) or until there is no area without learning samples (see FIG. 4) The determination in S1009 is YES), and is repeatedly executed. Here, the selected cluster first selected by the cluster selection unit 504 and the selected cluster next selected after step S1008 are not necessarily orthogonal to each other. Thus, ultimately, the axes included in the output axis set 516 may include non-orthogonal axes.
図11は、図10のステップS1003の、直交軸決定部505の詳細処理例を示すフローチャートである。まず、直交軸決定部505は、図5で、特徴ベクトル511の次元数を変数dにセットする。また、直交軸決定部505は、階層的クラスタリング部503が出力したクラスタ集合513と、クラスタ選択部504が図10のステップS1002で選択した選択クラスタの代表ベクトルを入力する(以上、ステップS1101)。 FIG. 11 is a flowchart showing a detailed processing example of the orthogonal axis determination unit 505 in step S1003 of FIG. First, the orthogonal axis determination unit 505 sets the number of dimensions of the feature vector 511 to the variable d in FIG. The orthogonal axis determination unit 505 also receives the cluster set 513 output by the hierarchical clustering unit 503 and the representative vector of the selected cluster selected by the cluster selection unit 504 in step S1002 in FIG. 10 (the above, step S1101).
次に、直交軸決定部505は、第3軸集合515に選択クラスタの代表ベクトルのみを格納し、第3軸集合515の代表ベクトルの数を示す変数nに値「1」をセットする(ステップS1102)。 Next, the orthogonal axis determination unit 505 stores only the representative vector of the selected cluster in the third axis set 515, and sets the value “1” to a variable n indicating the number of representative vectors of the third axis set 515 (step S1102).
更に、直交軸決定部505は、クラスタ内固有ベクトル数最大値Maxを0にリセットし、クラスタ選択フラグTに未選択状態を示す値「−1」をセットする(ステップS1103)。 Further, the orthogonal axis determination unit 505 resets the intra-cluster eigenvector number maximum value Max to 0, and sets the cluster selection flag T to a value “−1” indicating a non-selected state (step S1103).
その後、直交軸決定部505は、クラスタ集合513から、図10のステップS1002、S1004、又は後述する図11のステップS1110で選択済みとされたクラスタ以外の、1つのクラスタ(以降「クラスタC」と記載)を選択する(ステップS1104)。 After that, the orthogonal axis determination unit 505 selects one cluster (hereinafter referred to as “cluster C”) from the cluster set 513 other than the clusters selected in step S1002 and S1004 in FIG. 10 or step S1110 in FIG. Description) is selected (step S1104).
次に直交軸決定部505は、クラスタCの代表ベクトルと第3軸集合515内の全ての代表ベクトルとの内積値を計算し、その内積値が所定の閾値よりも小さいか否か、すなわち2つの代表ベクトルがほぼ直交しているか否かを判定する(ステップS1105)。 Next, the orthogonal axis determination unit 505 calculates the inner product value of the representative vector of cluster C and all the representative vectors in the third axis set 515, and determines whether the inner product value is smaller than a predetermined threshold value, ie, 2 It is determined whether two representative vectors are substantially orthogonal (step S1105).
直交軸決定部505は、ステップS1105の判定がYESの場合、クラスタCの構成要素である固有ベクトルの数がクラスタ内固有ベクトル数最大値Maxよりも大きいか否かを判定する(ステップS1106)。 If the determination in step S1105 is YES, the orthogonal axis determination unit 505 determines whether the number of eigenvectors that are components of cluster C is larger than the intra-cluster eigenvector number maximum value Max (step S1106).
直交軸決定部505は、クラスタCの固有ベクトル数がいままでの最大値Maxよりも大きければ(ステップS1106の判定がYESなら)、ステップS1107の処理を実行する。直交軸決定部505は、ステップS1107で、クラスタ選択フラグTにクラスタCのクラスタ番号をセットし、クラスタ内固有ベクトル数最大値MaxにクラスタCを構成する固有ベクトルの数をセットする。直交軸決定部505は、クラスタCの固有ベクトル数がいままでの最大値Maxよりも大きくなければ(ステップS1106の判定がNOなら)、ステップS1107の処理はスキップする。 If the number of eigenvectors of cluster C is larger than the maximum value Max so far (if the determination in step S1106 is YES), the orthogonal axis determination unit 505 executes the process of step S1107. In step S1107, the orthogonal axis determination unit 505 sets the cluster number of the cluster C in the cluster selection flag T, and sets the number of eigenvectors constituting the cluster C in the intra-cluster eigenvector number maximum value Max. If the number of eigenvectors of the cluster C is not larger than the maximum value Max so far (if the determination in step S1106 is NO), the orthogonal axis determination unit 505 skips the process of step S1107.
その後、直交軸決定部505は、クラスタ集合513内で、図10のステップS1002、S1004、又は後述する図11のステップS1110で選択済みとされたクラスタ以外の未選択クラスタを全て調査したか否かを判定する(ステップS1108)。 After that, the orthogonal axis determination unit 505 checks whether all unselected clusters other than the clusters selected in step S1002 and S1004 in FIG. 10 or step S1110 in FIG. Is determined (step S1108).
直交軸決定部505は、ステップS1108の判定がNOならば、ステップS1104の処理に戻って、次の未選択クラスタの調査を繰り返し実行する。 If the determination in step S1108 is NO, the orthogonal axis determination unit 505 returns to the process of step S1104 and repeatedly executes the examination of the next unselected cluster.
直交軸決定部505は、ステップS1108の判定がYESとなると、クラスタ選択フラグTの値が「−1」でないか否か、即ち第3軸集合515内の全ての代表ベクトルとほぼ直交する代表ベクトルが得られたか否かを判定する(ステップS1109)。 When the determination in step S1108 is YES, the orthogonal axis determination unit 505 determines whether the value of the cluster selection flag T is not “−1”, that is, a representative vector substantially orthogonal to all representative vectors in the third axis set 515. Is determined (step S1109).
直交軸決定部505は、ステップS1109の判定がYESならば、クラスタ集合513中で、クラスタ選択フラグTに設定されている番号のクラスタの代表ベクトルを第3軸集合515に追加する。また、直交軸決定部505は、クラスタ集合513で、上記番号のクラスタを選択済みとする(ステップS1110)。 If the determination in step S1109 is YES, the orthogonal axis determination unit 505 adds the representative vector of the cluster of the number set in the cluster selection flag T to the third axis set 515 in the cluster set 513. Further, the orthogonal axis determination unit 505 makes the cluster having the above-described number already selected in the cluster set 513 (step S1110).
このようにして、第3軸集合515内の全ての代表ベクトルとほぼ直交し、かつ構成要素である固有ベクトルの数が最大のクラスタが1つ選択されて、第3軸集合515に新たに追加されることになる。 In this manner, one cluster that is substantially orthogonal to all representative vectors in the third axis set 515 and has the largest number of constituent eigenvectors is selected and added to the third axis set 515 anew. It will be
更に、直交軸決定部505は、第3軸集合515内の代表ベクトルの数を示す変数nの値を+1する(ステップS1111)。 Further, the orthogonal axis determination unit 505 increments the value of the variable n indicating the number of representative vectors in the third axis set 515 by 1 (step S1111).
その後、直交軸決定部505は、クラスタ内固有ベクトル数最大値Maxを0にリセットし、クラスタ選択フラグTに未選択状態を示す値「−1」をセットする(ステップS1112)。 Thereafter, the orthogonal axis determination unit 505 resets the intra-cluster eigenvector number maximum value Max to 0, and sets the cluster selection flag T to a value “−1” indicating a non-selected state (step S1112).
直交軸決定部505は、第3軸集合515内の代表ベクトルの数を示す変数nの値が、特徴ベクトル511の次元数を示す変数dの値よりも小さいか否かを判定する(ステップS1113)。 The orthogonal axis determination unit 505 determines whether the value of the variable n indicating the number of representative vectors in the third axis set 515 is smaller than the value of the variable d indicating the number of dimensions of the feature vector 511 (step S1113). ).
直交軸決定部505は、ステップS1113の判定がYESならば、ステップS1104の処理に戻って、第3軸集合515内の全ての代表ベクトルとほぼ直交し、かつ構成要素である固有ベクトルの数が次に多いクラスタの選択及び第3軸集合515への追加が繰り返し試みられる。 If the determination in step S1113 is YES, the orthogonal axis determination unit 505 returns to the process of step S1104 and is substantially orthogonal to all the representative vectors in the third axis set 515, and the number of constituent eigenvectors is next Selection of a large number of clusters and addition to the third axis set 515 are repeatedly attempted.
直交軸決定部505は、上述の繰返し処理で、次の条件が満たされた場合に、第3軸集合515を出力して(ステップS1114)、図11のフローチャートで例示される図10のステップS1003の処理を終了する。この終了条件は、第3軸集合515内の全ての代表ベクトルとほぼ直交する代表ベクトルが得られなくなった(ステップS1109の判定がNO)と判定された場合である。又は、第3軸集合515内の代表ベクトルの数nが特徴ベクトル511の次元数dに達した(ステップS1113の判定がNO)と判定された場合である。 The orthogonal axis determination unit 505 outputs the third axis set 515 (step S1114) when the following condition is satisfied in the above-described repetitive processing (step S1114), and the step S1003 in FIG. End the processing of. This end condition is a case where it is determined that a representative vector substantially orthogonal to all the representative vectors in the third axis set 515 has not been obtained (the determination in step S1109 is NO). Alternatively, it is determined that the number n of representative vectors in the third axis set 515 has reached the number d of dimensions of the feature vector 511 (the determination in step S1113 is NO).
図10及び図11のフローチャートの処理では、できるだけ多くの固有ベクトルが含まれるクラスタが選択され、その代表ベクトルを含み相互にほぼ直交する代表ベクトルが選択されるときにもできるだけ多くの固有ベクトルが含まれるクラスタが選択される。この処理により、できるだけ多くのカテゴリの範囲を無駄なく包含できる代表ベクトルからなる出力軸集合516を取得することができる。このようにして作成された出力軸集合516中の各軸を用いることで、特徴空間上で学習サンプルがない無駄なカテゴリ領域を除くことができ、大分類時に、精度は変えずに処理時間を短縮でき、絞り込み能力の向上が実現される。 In the processing of the flowcharts of FIGS. 10 and 11, a cluster including as many eigenvectors as possible is selected, and a cluster including as many eigenvectors as possible even when representative vectors including the representative vectors are selected and substantially orthogonal to each other are selected. Is selected. By this processing, it is possible to obtain an output axis set 516 composed of representative vectors that can encompass the range of as many categories as possible without waste. By using each of the axes in the output axis set 516 created in this way, it is possible to remove useless category areas without learning samples on the feature space, and in the large classification, the processing time is not changed. It is possible to shorten and improve the narrowing ability.
図12は、パターン認識装置の第2の実施形態のブロック図である。第2の実施形態は、特徴抽出部501、共通軸抽出部1201、各カテゴリ範囲抽出部1202と、軸追加カテゴリ判定部1203と、軸追加部1204、及び軸出力判定部1205を含む。 FIG. 12 is a block diagram of a second embodiment of the pattern recognition apparatus. The second embodiment includes a feature extraction unit 501, a common axis extraction unit 1201, each category range extraction unit 1202, an axis addition category determination unit 1203, an axis addition unit 1204, and an axis output determination unit 1205.
特徴抽出部501は、図5の特徴抽出部501と同じであり、カテゴリ1からカテゴリNのN個のカテゴリ毎に用意されるそれぞれ複数サンプルからなる学習サンプルの文字画像510から、それぞれ特徴量を抽出する。これにより、特徴抽出部501は、カテゴリ1からカテゴリNのN個のカテゴリ毎にそれぞれ複数組ずつの特徴ベクトル511を出力する。文字画像510及び特徴ベクトル511はそれぞれ、図5の文字画像510及び特徴ベクトル511と同じものである。 The feature extraction unit 501 is the same as the feature extraction unit 501 of FIG. 5, and the feature amounts are extracted from character images 510 of learning samples each consisting of a plurality of samples prepared for each of N categories from category 1 to category N. Extract. Thereby, the feature extraction unit 501 outputs a plurality of sets of feature vectors 511 for each of N categories from category 1 to category N. The character image 510 and the feature vector 511 are the same as the character image 510 and the feature vector 511 of FIG. 5, respectively.
共通軸抽出部1201は、カテゴリ 1からNの全てのカテゴリの全ての学習サンプルの特徴ベクトル511から、固有ベクトルを共通軸として規定個求め、共通軸集合1210を作成する。 The common axis extraction unit 1201 obtains a specified number of eigenvectors as common axes from the feature vectors 511 of all the learning samples of all the categories from category 1 to N, and creates a common axis set 1210.
カテゴリ範囲抽出部1202は、カテゴリ1からN毎に、当該カテゴリ内の全ての学習サンプルの特徴ベクトル511に対応する特徴空間内の特徴点を、共通軸集合1210中の各共通軸に投影して各共通軸上の値を求め、一定のマージンを加える。これにより、カテゴリ範囲抽出部1202は、カテゴリ毎に、各共通軸上のカテゴリ範囲を作成する。 The category range extraction unit 1202 projects the feature points in the feature space corresponding to the feature vectors 511 of all the learning samples in the category on each common axis in the common axis set 1210 for each of the categories 1 to N. Find the value on each common axis and add a fixed margin. Thus, the category range extraction unit 1202 creates a category range on each common axis for each category.
軸追加カテゴリ判定部1203は、カテゴリ1からNを1つずつ指定しながら、各共通軸の指定されたカテゴリの範囲から得られる特徴空間内のカテゴリの範囲に、指定されたカテゴリの学習サンプルの特徴点が1つもない領域があるか否かを判定する。軸追加カテゴリ判定部1203は、学習サンプルの特徴点が1つもない領域があるカテゴリを、軸を追加すべきカテゴリとして判定する。 The axis additional category determination unit 1203 specifies the categories of the learning sample of the specified category in the range of the category in the feature space obtained from the range of the specified category of each common axis while specifying the categories 1 to N one by one. It is determined whether there is an area having no feature point. The axis additional category determination unit 1203 determines a category having a region having no feature point of the learning sample as a category to which an axis is to be added.
軸追加部1204は、軸追加カテゴリ判定部1203で判定されたカテゴリの学習サンプルの特徴ベクトル511のみから固有値と固有ベクトルを算出する。軸追加部1204は、固有値の大きい順に、固有ベクトルを新たな追加軸として追加軸集合1211(初期値は共通軸集合1210)に1つずつ追加する。軸追加部1204は、追加軸集合1211によって定義される特徴空間内の上記判定されたカテゴリの範囲にそのカテゴリの学習サンプルの特徴点が1つもない領域がなくなるまで、上記固有ベクトルを1つずつ追加する処理を繰り返す。 The axis addition unit 1204 calculates an eigenvalue and an eigenvector only from the feature vector 511 of the learning sample of the category determined by the axis addition category determination unit 1203. The axis adding unit 1204 adds one by one to the additional axis set 1211 (initial value is the common axis set 1210) using the eigenvectors as new additional axes in descending order of eigenvalues. The axis addition unit 1204 adds the above eigenvectors one by one until the range of the above-described determined category in the feature space defined by the additional axis set 1211 has no feature point of the learning sample of that category. Repeat the process.
軸出力判定部1205は、上記軸追加カテゴリ判定部1203及び軸追加部1204による処理を、繰り返す。軸出力判定部1205は、全てのカテゴリについての処理が終了した時点で、追加軸集合1211内の各軸を出力軸とする出力軸集合1212を出力する。 The axis output determination unit 1205 repeats the processing by the above-described additional axis category determination unit 1203 and the additional axis unit 1204. The axis output determination unit 1205 outputs an output axis set 1212 having each axis in the additional axis set 1211 as an output axis when the processing for all the categories is completed.
図13、図14、及び図15は、第2の実施形態の説明図である。上述した第2の実施形態において、共通軸抽出部1201及びカテゴリ範囲抽出部1202は、図2から図4で説明した従来の大分類手法と同様にして、共通軸集合1210中の各共通軸上の各カテゴリ範囲を抽出している。軸追加カテゴリ判定部1203は、各共通軸上のカテゴリ範囲から求まる特徴空間上のカテゴリ範囲において、そのカテゴリの全学習サンプルの特徴ベクトル511から求まる特徴点が1つも存在しない領域があるか否かを判定する。例えば、図13の例において、共通軸1及び共通軸2のカテゴリ範囲から求まる特徴空間上のカテゴリAの範囲は、1301A及び1302Aで示される領域となる。このうち、領域1301Aには、学習サンプルのカテゴリAの特徴ベクトル511から求まる特徴点「A」が存在する。しかし、図4の場合と同様に、領域1302AにはカテゴリAの特徴点「A」は1つも存在しない。軸追加カテゴリ判定部1203は、カテゴリAについて、カテゴリAの特徴点が1つも存在しない領域1302Aがあることを判定する。この判定結果に基づいて、軸追加部1204が、領域1302Aが無くなるまで、学習サンプルのカテゴリAのみの特徴ベクトル511から固有ベクトルとして求まる追加軸1及び追加軸2を固有値の大きい順に追加する。この結果、例えばカテゴリAについて、共通軸1のカテゴリAの範囲と共通軸2のカテゴリAの範囲とから1301A及び1302Aとして示される領域が定まる。また、追加軸1のカテゴリAの範囲と追加軸2のカテゴリAの範囲とから1303Aとして示される領域が定まる。この結果、共通軸1及び2と追加軸1及び2とで定義される特徴空間上のカテゴリAの範囲は、領域1301Aと1303Aが重なる領域1300Aとして決まる。このカテゴリAの範囲1300Aには、カテゴリAの特徴点が1つも存在しない領域は無い。 13, 14 and 15 are explanatory diagrams of the second embodiment. In the second embodiment described above, the common axis extraction unit 1201 and the category range extraction unit 1202 are similar to the conventional large classification method described in FIG. 2 to FIG. Each category range of is extracted. In the category range on the feature space obtained from the category range on each common axis, the axis additional category determination unit 1203 determines whether there is a region where there is no feature point obtained from the feature vectors 511 of all the learning samples of the category. Determine For example, in the example of FIG. 13, the range of category A on the feature space obtained from the category range of common axis 1 and common axis 2 is the area indicated by 1301A and 1302A. Among these, in the area 1301A, a feature point “A” obtained from the feature vector 511 of the category A of the learning sample is present. However, as in the case of FIG. 4, there is no feature point “A” of category A in the area 1302A. The axis additional category determination unit 1203 determines that there is an area 1302A in which there is no feature point of category A for category A. Based on the determination result, the axis addition unit 1204 adds additional axes 1 and 2 determined as eigenvectors from the feature vector 511 of only the category A of the learning sample, in descending order of eigenvalues, until the region 1302A disappears. As a result, for example, for the category A, the areas shown as 1301 A and 1302 A are determined from the range of the category A of the common axis 1 and the range of the category A of the common axis 2. Further, an area indicated as 1303 A is determined from the range of the category A of the additional axis 1 and the range of the category A of the additional axis 2. As a result, the range of the category A on the feature space defined by the common axes 1 and 2 and the additional axes 1 and 2 is determined as an area 1300A where the areas 1301A and 1303A overlap. In the range 1300A of this category A, there is no region in which no feature point of category A exists.
図14に例示されるように、カテゴリBとカテゴリCについても同様に、追加軸1及び2により、各カテゴリの特徴点が1つも存在しない領域が除去された、細かい破線で示される領域と粗い破線で示される領域がそれぞれ、カテゴリB及びCの各範囲として定まる。なお、カテゴリBとカテゴリCについて、追加軸1及び2だけでは各カテゴリの特徴点が1つも存在しない領域を除去しきれないときには、更に追加軸が追加されてよい。このようなカテゴリ範囲から作成された辞書を用いることで、未知パターンxの特徴空間内の特徴点「X」を共通軸1、共通軸2、追加軸1、及び追加軸4に投影した結果、各投影結果のAND積が正しくカテゴリ「B」のみと重なるように大分類を行うことができる。 As illustrated in FIG. 14, similarly for Category B and Category C, a region indicated by a fine broken line and a rough region in which regions where there is no feature point in each category have been removed by additional axes 1 and 2 Areas indicated by broken lines are determined as the ranges of categories B and C, respectively. In addition, as for the category B and the category C, an additional axis may be further added when it is not possible to remove an area in which there is no feature point of each category by the additional axes 1 and 2 alone. As a result of projecting the feature point “X” in the feature space of the unknown pattern x on the common axis 1, the common axis 2, the additional axis 1, and the additional axis 4 by using the dictionary created from such a category range, Major classification can be performed such that the AND product of each projection result correctly overlaps with only the category "B".
図15に示されるように、例えばカテゴリA、B、Cのそれぞれに対しては、Aの軸1、2、Bの軸1、2、Cの軸1、2というように、それぞれのカテゴリの分布に沿った最適な軸がある。ここで、カテゴリAとカテゴリCは、近い分布を示しているため、カテゴリAとCから求まる軸1、2が採用されるようにすることもできる。 As shown in FIG. 15, for each of the categories A, B and C, for example, the axes 1 and 2 of A, the axes 1 and 2 of B, and the axes 1 and 2 of C, respectively. There is an optimal axis along the distribution. Here, since the category A and the category C show close distributions, axes 1 and 2 obtained from the categories A and C can be adopted.
図16は、図12に示される第2の実施形態における共通軸抽出部1201、カテゴリ範囲抽出部1202、軸追加カテゴリ判定部1203、軸追加部1204、及び軸出力判定部1205の処理例を示すフローチャートである。 FIG. 16 shows a process example of the common axis extraction unit 1201, the category range extraction unit 1202, the axis addition category determination unit 1203, the axis addition unit 1204, and the axis output determination unit 1205 in the second embodiment shown in FIG. It is a flowchart.
まず、共通軸抽出部1201は、特徴抽出部501が抽出しているカテゴリ1からNの全カテゴリの全学習サンプルの特徴ベクトル511から、固有ベクトルを共通軸として規定個求め、共通軸集合1210を作成する(ステップS1601)。 First, the common axis extraction unit 1201 obtains a defined number of eigenvectors as common axes from the feature vectors 511 of all the learning samples of all the categories 1 to N extracted by the feature extraction unit 501, and generates a common axis set 1210. (Step S1601).
次にカテゴリ範囲抽出部1202は、カテゴリ1からN毎に、当該カテゴリ内の全ての学習サンプルの特徴ベクトル511に対応する特徴空間内の特徴点を、共通軸集合1210中の各共通軸に投影して各共通軸上の値を求め、一定のマージンを加える。これにより、カテゴリ範囲抽出部1202は、カテゴリ毎に、各共通軸上のカテゴリ範囲を作成する。カテゴリ範囲抽出部1202は、共通軸集合1210を追加軸集合1211の初期値とする(以上、ステップS1602)。 Next, the category range extraction unit 1202 projects the feature points in the feature space corresponding to the feature vectors 511 of all the learning samples in the category on each common axis in the common axis set 1210 for each of the categories 1 to N. Calculate the value on each common axis and add a fixed margin. Thus, the category range extraction unit 1202 creates a category range on each common axis for each category. The category range extraction unit 1202 sets the common axis set 1210 as the initial value of the additional axis set 1211 (the above, step S1602).
次に、軸出力判定部1205が、カテゴリ1からNのうち未処理のカテゴリを1つ指定する(以降このカテゴリを「指定カテゴリ」と記載)(ステップS1604)。 Next, the axis output determination unit 1205 designates one unprocessed category among the categories 1 to N (hereinafter, this category is referred to as “designated category”) (step S1604).
次に、軸追加カテゴリ判定部1203が、追加軸集合1211中の各軸の指定カテゴリの範囲から得られる特徴空間内のカテゴリの範囲に、指定カテゴリの学習サンプルの特徴点が1つもない領域があるか否かを判定する(ステップS1605)。ステップS1605の判定がNOならば、軸出力判定部1205によるステップS1610の処理に移行する。 Next, in the range of the category in the feature space obtained by the axis additional category determination unit 1203 from the range of the specified category of each axis in the additional axis set 1211, there is a region where there are no feature points of the learning sample of the specified category. It is determined whether there is any (step S1605). If the determination in step S1605 is NO, the process proceeds to step S1610 by the axis output determination unit 1205.
ステップS1605の判定がYESの場合、軸追加部1204が、指定カテゴリの学習サンプルの特徴ベクトル511のみから固有値と固有ベクトルを算出し、各固有ベクトルを対応する各固有値の大きい順に並び替える(ステップS1606)。 If the determination in step S1605 is YES, the axis adding unit 1204 calculates eigenvalues and eigenvectors only from the feature vector 511 of the learning sample of the specified category, and sorts the eigenvectors in descending order of the corresponding eigenvalues (step S1606).
軸追加部1204は、並び替えた順に、1つの固有ベクトルを選択し、その固有ベクトルで定義される追加軸を、追加軸集合1211に追加する(ステップS1607)。ここで追加される追加軸は、共通軸及び既に追加されている追加軸と、互いに直交するとは限らない。従って、最終的に、出力軸集合1212に含まれる軸は非直交軸を含んでもよい。 The axis adding unit 1204 selects one eigenvector in the sorted order, and adds an additional axis defined by the eigenvector to the additional axis set 1211 (step S1607). The additional axes added here are not necessarily orthogonal to the common axis and the additional axes already added. Thus, ultimately, the axes included in the output shaft set 1212 may include non-orthogonal axes.
軸追加部1204は、追加軸集合1211中の各軸の指定カテゴリの範囲から得られる特徴空間内のカテゴリの範囲に、指定カテゴリの学習サンプルの特徴点が1つもない領域があるか否かを判定する(ステップS1608)。 The axis adding unit 1204 determines whether or not there is a region having no feature point of the learning sample of the specified category in the range of the category in the feature space obtained from the range of the specified category of each axis in the additional axis set 1211 It determines (step S1608).
ステップS1608の判定がYESの場合、軸追加部1204は、追加軸集合1211中の軸数が所定の閾値よりも大きくなったか否かを判定する(ステップS1609)。 If the determination in step S1608 is YES, the axis adding unit 1204 determines whether the number of axes in the additional axis set 1211 is larger than a predetermined threshold (step S1609).
ステップS1609の判定がNOの場合、軸追加部1204は、ステップS1607の処理に戻り、更に並び替えられた順に次の固有ベクトルを選択して、その固有ベクトルで定義される追加軸を追加軸集合1211に追加する。そして、軸追加部1204は、あらたな追加軸集合1211から定まる特徴空間について、ステップS1608の判定を繰り返す。 If the determination in step S1609 is NO, the axis adding unit 1204 returns to the process of step S1607, selects the next eigenvector in the rearranged order, and adds an additional axis defined by the eigenvector to the additional axis set 1211 to add. Then, the axis adding unit 1204 repeats the determination in step S1608 for the feature space determined from the new additional axis set 1211.
ステップS1607からS1609の一連の処理が繰り返される結果、特徴空間上で指定カテゴリの学習サンプルの特徴点が1つもない領域がなくなってステップS1608の反映がNOとなった場合、軸出力判定部1205によるステップS1610の処理に進む。また、追加軸集合1211の軸数が所定の閾値を超えてステップS1609の判定がYESとなった場合も、軸出力判定部1205によるステップS1610の処理に進む。 As a result of the series of processes from step S1607 to S1609 being repeated, if there is no area having no feature point of the learning sample of the specified category in the feature space and the reflection of step S1608 becomes NO, the axis output determination unit 1205 The process proceeds to step S1610. Also, when the number of axes of the additional axis set 1211 exceeds the predetermined threshold and the determination in step S1609 is YES, the process proceeds to step S1610 by the axis output determination unit 1205.
ステップS1610において、軸出力判定部1205は、カテゴリ1からNの全てのカテゴリの処理が終了したか否かを判定する(ステップS1610)。 In step S1610, the axis output determination unit 1205 determines whether the processing of all the categories 1 to N has been completed (step S1610).
軸出力判定部1205は、ステップS1610の判定がNOならば、ステップS1604の処理に戻り、未処理の新たなカテゴリを1つ指定し、その指定カテゴリについて、ステップS1605からS1609の一連の処理を実行する。 If the determination in step S1610 is NO, the axis output determination unit 1205 returns to the process of step S1604, specifies one unprocessed new category, and executes the series of processes from step S1605 to S1609 for the specified category. Do.
軸出力判定部1205は、ステップS1610の判定がYESになると、追加軸集合1211中に得られている各軸を辞書で用いられる出力軸として含む出力軸集合1212を出力する。その後、軸出力判定部1205は、図16のフローチャートで例示される処理を終了する。 If the determination in step S1610 is YES, the axis output determination unit 1205 outputs an output axis set 1212 including each axis obtained in the additional axis set 1211 as an output axis used in the dictionary. Thereafter, the axis output determination unit 1205 ends the process illustrated in the flowchart of FIG.
図16のフローチャートの処理で作成された出力軸集合1212中の各軸を用いることで、特徴空間上で学習サンプルがない無駄なカテゴリ領域を除くことができ、大分類時に、精度は変えずに処理時間を短縮でき、絞り込み能力の向上が実現される。 By using each axis in the output axis set 1212 created by the processing of the flowchart in FIG. 16, it is possible to remove useless category areas without learning samples in the feature space, and the accuracy is not changed at the time of major classification. Processing time can be shortened, and improvement in narrowing capability can be realized.
図17は、図5の第1の実施形態又は図12の第2の実施形態のパターン認識装置を実現可能なコンピュータ1701のハードウェア構成の一例を示す図である。図17に示されるコンピュータ1701は、プロセッサ1705、メモリ1706、ハードディスク装置(半導体ディスク装置でもよい)1707、及び入出力インタフェース1708を含む。更に、コンピュータ1701は、DVDディスクなどの可搬型記録媒体1711が挿入される光学ドライブ装置1709を有する。これらの構成要素は、バス1710により相互に接続されている。入出力インタフェース1708には、外部に、スキャナ1702やカメラ1703が接続されて、文字画像510(図5又は図12参照)を読み込むことができる。図17に示される構成は上記パターン認識装置を実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。 FIG. 17 is a diagram showing an example of a hardware configuration of a computer 1701 capable of realizing the pattern recognition apparatus of the first embodiment of FIG. 5 or the second embodiment of FIG. The computer 1701 shown in FIG. 17 includes a processor 1705, a memory 1706, a hard disk drive (which may be a semiconductor disk drive) 1707, and an input / output interface 1708. Furthermore, the computer 1701 has an optical drive device 1709 into which a portable recording medium 1711 such as a DVD disk is inserted. These components are connected to one another by a bus 1710. A scanner 1702 and a camera 1703 are externally connected to the input / output interface 1708, and a character image 510 (see FIG. 5 or 12) can be read. The configuration shown in FIG. 17 is an example of a computer that can realize the pattern recognition apparatus, and such a computer is not limited to this configuration.
メモリ1706は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。 The memory 1706 is, for example, a semiconductor memory such as a read only memory (ROM), a random access memory (RAM), or a flash memory, and stores a program and data used for processing.
プロセッサ1705は、例えば、メモリ1706を利用して、図7、図9から図11又は図16のフローチャートの処理に対応するプログラムを実行することにより、図5又は図12に示される各ブロックとして動作する。 The processor 1705 operates as each block shown in FIG. 5 or 12 by executing a program corresponding to the processing of the flowchart of FIG. 7, FIG. 9 to FIG. 11 or FIG. Do.
ハードディスク装置1707は例えば、図5又は図12の文字画像510や特徴ベクトル511、図5の第1軸集合512、クラスタ集合513、第2軸集合514、第3軸集合515、出力軸集合516、図12の共通軸集合1210、追加軸集合1211、又は出力軸集合1212などを記憶する。 For example, the hard disk drive 1707 includes the character image 510 or the feature vector 511 of FIG. 5 or 12, the first axis set 512 of FIG. 5, the cluster set 513, the second axis set 514, the third axis set 515, the output axis set 516, The common axis set 1210, the additional axis set 1211 or the output axis set 1212 shown in FIG. 12 are stored.
また、図5又は図12のパターン認識装置は、ハードディスク装置1707に図7、図9から図11又は図16のフローチャートの処理に対応するプログラム及びデータを格納しておき、それらをメモリ1706にロードして使用することができる。 The pattern recognition apparatus shown in FIG. 5 or 12 stores programs and data corresponding to the processes of the flowcharts of FIG. 7 and FIGS. 9 to 11 or 16 in the hard disk drive 1707 and loads them into the memory 1706 Can be used.
光学ドライブ装置1709は、可搬型記録媒体1711を駆動し、その記録内容にアクセスする。オペレータ又はユーザは、この可搬型記録媒体1711に上述のプログラム及びデータを格納しておき、メモリ1706にロードして使用することができる。 The optical drive device 1709 drives the portable recording medium 1711 and accesses the recorded contents. An operator or a user can store the program and data described above in the portable recording medium 1711 and load it into the memory 1706 for use.
このように、上述のプログラム及びデータを格納するコンピュータ読取り可能な記録媒体は、メモリ1706、ハードディスク装置1707、又は可搬型記録媒体1711のような、物理的な(非一時的な)記録媒体である。 Thus, the computer-readable recording medium for storing the program and data described above is a physical (non-transitory) recording medium such as the memory 1706, the hard disk drive 1707, or the portable recording medium 1711. .
なお、上述のプログラム又はデータを外部の装置から特には図示しないネットワークインタフェースを介して受信し、それらをメモリ1706にロードして使用するようにしてもよい。 Note that the above-described program or data may be received from an external device via a network interface (not shown) and loaded into the memory 1706 for use.
なお、図5又は図12のパターン認識装置の全ての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。 In addition, it is not necessary to include all the components of the pattern recognition apparatus of FIG. 5 or FIG. 12, and it is also possible to abbreviate | omit a part of components according to a use or conditions.
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができる。 While the embodiments of the disclosure and the advantages thereof have been described in detail, those skilled in the art can make various changes, additions, and omissions without departing from the scope of the present invention as set forth in the claims. .
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。 In addition, the present invention is not limited to the embodiment described above, and can be variously modified in the implementation stage without departing from the scope of the invention. Also, the functions executed in the above-described embodiment may be implemented in combination as appropriate. The embodiment described above includes various steps, and various inventions can be extracted by appropriate combinations of a plurality of disclosed configuration requirements. For example, if some configuration requirements are removed from all the configuration requirements shown in the embodiment, a configuration from which this configuration requirement is removed can be extracted as the invention if the effect can be obtained.
501 特徴抽出部
502 固有ベクトル抽出部
503 階層的クラスタリング部
504 クラスタ選択部
505 直交軸決定部
506 軸出力判定部
510 文字画像
511 特徴ベクトル
512 第1軸集合
513 クラスタ集合
514 第2軸集合
515 第3軸集合
516、1212 出力軸集合
1201 共通軸抽出部
1202 カテゴリ範囲抽出部
1203 軸追加カテゴリ判定部
1204 軸追加部
1205 軸出力判定部
1210 共通軸集合
1211 追加軸集合
501 Feature Extraction Unit 502 Eigenvector Extraction Unit 503 Hierarchical Clustering Unit 504 Cluster Selection Unit 505 Orthogonal Axis Determination Unit 506 Axis Output Determination Unit 510 Character Image 511 Feature Vector 512 First Axis Set 513 Cluster Set 514 Second Axis Set 515 Third Axis Set 516, 1212 Output axis set 1201 Common axis extraction section 1202 Category range extraction section 1203 Axis additional category determination section 1204 Axis addition section 1205 Axis output determination section 1210 Common axis set 1211 Additional axis set
Claims (6)
前記カテゴリ毎に、前記カテゴリの学習サンプルから抽出される特徴ベクトルに対応する前記特徴空間上の特徴点を前記軸群の各軸に投影して得られるカテゴリ範囲に基づいて、与えられたパターンを分類する、
処理をコンピュータに実行させるためのパターン認識プログラム。 Set the axis group according to the distribution shape in the feature space of each category that classifies the pattern of learning sample,
For each of the categories, given patterns are provided based on category ranges obtained by projecting feature points on the feature space corresponding to feature vectors extracted from learning samples of the categories on each axis of the axis group. Classify,
Pattern recognition program for making a computer execute processing.
与えられたパターンから抽出される特徴ベクトルに対応する前記特徴空間上の特徴点を前記軸群の各軸に投影して得られる位置が含まれる前記カテゴリ範囲を抽出し、前記抽出したカテゴリ範囲に対応するカテゴリの集合を出力することにより、前記与えられたパターンが属するカテゴリを分類する、
処理を更に前記コンピュータに実行させるための請求項1に記載のパターン認識プログラム。 A dictionary in which a category range obtained by projecting feature points on the feature space corresponding to a feature vector extracted from a learning sample of the category onto each axis of the axis group is associated with the category for each category Create
The category range including the position obtained by projecting the feature point on the feature space corresponding to the feature vector extracted from the given pattern onto each axis of the axis group is extracted, and the extracted category range is extracted. Classify the category to which the given pattern belongs by outputting a set of corresponding categories,
The pattern recognition program according to claim 1, further causing the computer to execute a process.
前記カテゴリ毎に前記学習サンプルの特徴ベクトルから固有ベクトルを算出し、その結果得られる全ての固有ベクトルをクラスタリングして、類似している固有ベクトル同士が同一のクラスタに分類されたクラスタ集合を出力する処理と、
前記クラスタ集合中で固有ベクトル数が最も多いクラスタを選択しながら、前記選択したクラスタの代表ベクトルを含み、相互に所定の誤差内で直交する代表ベクトルを前記クラスタ集合から算出して軸候補として軸候補群に順次追加する処理と、
前記軸候補群に含まれる前記軸候補の数が所定の閾値を超えるまで、又は前記各カテゴリの学習サンプルに対応する前記特徴空間上の特徴点を前記軸候補群に含まれる各軸候補に投影して得られるカテゴリ範囲の前記特徴空間内の交差領域に前記特徴点が存在しない領域が無くなるまで、前記軸候補を前記軸候補群に順次追加する処理を繰り返し実行した後に、前記軸候補群を前記軸群として出力する処理と、
を実行する請求項1又は2に記載のパターン認識プログラム。 In the process of setting the axis group,
Calculating an eigenvector from the feature vector of the learning sample for each category, clustering all eigenvectors obtained as a result, and outputting a cluster set in which similar eigenvectors are classified into the same cluster;
An axis candidate as an axis candidate by calculating, from the cluster set, representative vectors that include representative vectors of the selected cluster and that are orthogonal to each other within a predetermined error while selecting a cluster with the largest number of eigenvectors in the cluster set The process of sequentially adding to the group,
The feature points on the feature space corresponding to the learning samples of each category are projected to each axis candidate included in the axis candidate group until the number of axis candidates included in the axis candidate group exceeds a predetermined threshold After repeatedly executing the process of sequentially adding the axis candidate to the axis candidate group until there is no area where the feature point does not exist in the intersection area in the feature space of the category range obtained by A process of outputting as the axis group;
The pattern recognition program according to claim 1 or 2, which executes.
全ての前記カテゴリの全ての前記学習サンプルの特徴ベクトルから所定個数の固有ベクトルを共通軸として求める処理と、
前記カテゴリ毎に、前記カテゴリの学習サンプルに対応する前記特徴空間上の特徴点を前記各共通軸に投影することにより前記共通軸上のカテゴリ範囲を抽出する処理と、
前記各共通軸を軸候補群に含ませた後、前記カテゴリ毎に、前記各共通軸上のカテゴリの範囲の前記特徴空間内の交差領域に前記カテゴリの学習サンプルに対応する特徴点が1つもない領域がある場合に、前記カテゴリの学習サンプルの特徴ベクトルのみから固有値と固有ベクトルを算出し、前記固有値の大きい順に前記固有ベクトルを新たな追加軸として前記軸候補群に追加する処理を、前記軸候補群内の軸で定義される前記特徴空間内の前記カテゴリの範囲に前記カテゴリの学習サンプルに対応する特徴点が1つもない領域がなくなるまで繰り返す処理と、
を実行する請求項1又は2に記載のパターン認識プログラム。 In the process of setting the axis group,
A process of obtaining a predetermined number of eigenvectors as a common axis from feature vectors of all the learning samples of all the categories;
A process of extracting a category range on the common axis by projecting feature points on the feature space corresponding to learning samples of the category on the common axis for each category;
After each common axis is included in the axis candidate group, there is also one feature point corresponding to a learning sample of the category in the intersection region in the feature space of the range of the category on the common axis for each category. If there is no region, a process of calculating eigenvalues and eigenvectors only from feature vectors of learning samples of the category, and adding the eigenvectors as new additional axes to the axis candidate group in descending order of the eigenvalues is the axis candidate A process of repeating until the range of the category in the feature space defined by the axis in the group has no feature point corresponding to the learning sample of the category;
The pattern recognition program according to claim 1 or 2, which executes.
特徴空間において、学習サンプルのパターンを種別する各カテゴリの分布形状に合わせた軸群を設定し、
前記カテゴリ毎に、前記カテゴリの学習サンプルから抽出される特徴ベクトルに対応する前記特徴空間上の特徴点を前記軸群の各軸に投影して得られるカテゴリ範囲に基づいて、与えられたパターンを分類する、
パターン認識方法。 In the feature space, the computer sets an axis group that matches the distribution shape of each category that classifies the pattern of the learning sample,
For each of the categories, given patterns are provided based on category ranges obtained by projecting feature points on the feature space corresponding to feature vectors extracted from learning samples of the categories on each axis of the axis group. Classify,
Pattern recognition method.
前記カテゴリ毎に、前記カテゴリの学習サンプルから抽出される特徴ベクトルに対応する前記特徴空間上の特徴点を前記軸群の各軸に投影して得られるカテゴリ範囲に基づいて、与えられたパターンを分類する分類部と、
を備えるパターン認識装置。 A setting unit configured to set an axis group according to the distribution shape of each category that classifies the pattern of the learning sample in the feature space;
For each of the categories, given patterns are provided based on category ranges obtained by projecting feature points on the feature space corresponding to feature vectors extracted from learning samples of the categories on each axis of the axis group. A classification unit to classify,
Pattern recognition apparatus comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225755A JP2019096118A (en) | 2017-11-24 | 2017-11-24 | Pattern recognition program, device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225755A JP2019096118A (en) | 2017-11-24 | 2017-11-24 | Pattern recognition program, device and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019096118A true JP2019096118A (en) | 2019-06-20 |
Family
ID=66971732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017225755A Pending JP2019096118A (en) | 2017-11-24 | 2017-11-24 | Pattern recognition program, device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019096118A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111882061A (en) * | 2020-07-24 | 2020-11-03 | 成都成信高科信息技术有限公司 | Convolutional neural network training method based on hierarchical random gradient descent |
-
2017
- 2017-11-24 JP JP2017225755A patent/JP2019096118A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111882061A (en) * | 2020-07-24 | 2020-11-03 | 成都成信高科信息技术有限公司 | Convolutional neural network training method based on hierarchical random gradient descent |
CN111882061B (en) * | 2020-07-24 | 2023-05-23 | 成都成信高科信息技术有限公司 | Convolutional neural network training method based on hierarchical random gradient descent |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577990B (en) | Large-scale face recognition method based on GPU (graphics processing Unit) accelerated retrieval | |
CN110837836B (en) | Semi-supervised semantic segmentation method based on maximized confidence | |
Van Der Maaten | Accelerating t-SNE using tree-based algorithms | |
KR101967410B1 (en) | Automatically mining person models of celebrities for visual search applications | |
JP5660078B2 (en) | Multi-class classifier, method and program | |
RU2693916C1 (en) | Character recognition using a hierarchical classification | |
US8606022B2 (en) | Information processing apparatus, method and program | |
CN113111871A (en) | Training method and device of text recognition model and text recognition method and device | |
JP6167767B2 (en) | Index generation device and search device | |
JP2002109536A (en) | Data clustering method, and application thereof | |
US8874573B2 (en) | Information processing apparatus, information processing method, and program | |
US9569698B2 (en) | Method of classifying a multimodal object | |
JPWO2013129580A1 (en) | Approximate nearest neighbor search device, approximate nearest neighbor search method and program thereof | |
CN110097096B (en) | Text classification method based on TF-IDF matrix and capsule network | |
US9589185B2 (en) | Symbol recognition using decision forests | |
CN110442741B (en) | Tensor fusion and reordering-based cross-modal image-text mutual search method | |
Noering et al. | Pattern discovery in time series using autoencoder in comparison to nonlearning approaches | |
Wasi et al. | Arbex: Attentive feature extraction with reliability balancing for robust facial expression learning | |
JPH11203415A (en) | Device and method for preparing similar pattern category discrimination dictionary | |
US10121085B2 (en) | Information processing apparatus and method of searching for similar data | |
JP2019096118A (en) | Pattern recognition program, device and method | |
JP2017084006A (en) | Image processor and method thereof | |
US20220277194A1 (en) | Storage medium and inference method | |
CN111737469A (en) | Data mining method and device, terminal equipment and readable storage medium | |
JP4343038B2 (en) | Partial image search system, method and program |