JP6375420B2 - Relevance determination device and relevance determination program - Google Patents

Relevance determination device and relevance determination program Download PDF

Info

Publication number
JP6375420B2
JP6375420B2 JP2017139451A JP2017139451A JP6375420B2 JP 6375420 B2 JP6375420 B2 JP 6375420B2 JP 2017139451 A JP2017139451 A JP 2017139451A JP 2017139451 A JP2017139451 A JP 2017139451A JP 6375420 B2 JP6375420 B2 JP 6375420B2
Authority
JP
Japan
Prior art keywords
vector
real
matrix
vectors
feature vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017139451A
Other languages
Japanese (ja)
Other versions
JP2017215984A (en
Inventor
満 安倍
満 安倍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso IT Laboratory Inc
Original Assignee
Denso IT Laboratory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso IT Laboratory Inc filed Critical Denso IT Laboratory Inc
Priority to JP2017139451A priority Critical patent/JP6375420B2/en
Publication of JP2017215984A publication Critical patent/JP2017215984A/en
Application granted granted Critical
Publication of JP6375420B2 publication Critical patent/JP6375420B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、画像、音声、文字等のコンテンツの特徴ベクトルを用いた演算処理を行う関連性判定装置、関連性判定プログラム、及び関連性判定方法に関し、特に、複数の実数ベクトルと二値ベクトルに変換された特徴ベクトルとの内積の計算を含むベクトル演算によって特徴ベクトルと複数の実数ベクトルの各々との関連性の判定を行う関連性判定装置、及び関連性判定プログラムに関するものである。   The present invention relates to a relevance determination device, a relevance determination program, and a relevance determination method that perform arithmetic processing using feature vectors of content such as images, sounds, and characters, and more particularly to a plurality of real vectors and binary vectors. The present invention relates to a relevance determination device and a relevance determination program for determining relevance between a feature vector and each of a plurality of real vectors by a vector operation including calculation of an inner product with a converted feature vector.

従来より、画像検索、音声認識、文章検索、パターン認識など、多くの分野で特徴量が用いられている。特徴量とは、画像、音声、文章などの情報を、計算機で扱いやすいように変換したものである。特徴量は、D次元のベクトル(特徴ベクトル)で表される。   Conventionally, feature quantities are used in many fields such as image search, voice recognition, sentence search, and pattern recognition. The feature amount is information obtained by converting information such as images, sounds, and sentences so as to be easily handled by a computer. The feature amount is represented by a D-dimensional vector (feature vector).

特徴ベクトルを用いた演算を行うことで、例えば、コンテンツの類似度を判定することができる。すなわち、画像αの特徴ベクトルと、画像βの特徴ベクトルの距離が小さければ、αとβは似ているとみなすことができる。同様に、音声波形αの特徴ベクトルと、音声波形βの特徴ベクトルとの距離が小さければ、αとβは似ているとみなすことができる。このように、音声認識、文章検索、パターン認識等の情報処理では、情報を特徴ベクトルに変換して、特徴ベクトル同士を比較して、その距離を求めることにより情報の類似度を判断する。   By performing the calculation using the feature vector, for example, the similarity of content can be determined. That is, if the distance between the feature vector of the image α and the feature vector of the image β is small, it can be considered that α and β are similar. Similarly, if the distance between the feature vector of the speech waveform α and the feature vector of the speech waveform β is small, it can be considered that α and β are similar. As described above, in information processing such as speech recognition, sentence search, and pattern recognition, information is converted into feature vectors, the feature vectors are compared with each other, and the distance between them is determined to determine information similarity.

特徴ベクトル間の距離の尺度としては、L1ノルム、L2ノルム、ベクトル間角度などが用いられる。これらは、特徴ベクトルx,y∈Rについて、次のように計算できる。
L1ノルム

Figure 0006375420
L2ノルム
Figure 0006375420
ベクトル間角度
Figure 0006375420
As a measure of the distance between feature vectors, an L1 norm, an L2 norm, an angle between vectors, or the like is used. These feature vectors x, for Y∈R D, can be calculated as follows.
L1 norm
Figure 0006375420
L2 norm
Figure 0006375420
Angle between vectors
Figure 0006375420

特徴ベクトルが実数ベクトルである場合には、以下のような問題がある。まず、2つの特徴ベクトルx,y∈Rの間の距離の計算が遅くなるという問題がある。例えば、L2ノルムの二乗を距離の尺度として用いる場合、

Figure 0006375420
であるから、D回の引き算、D回の乗算、D−1回の加算が必要である。特に、特徴ベクトルが浮動小数で表現される場合には、この計算負荷は非常に高くなる。特徴ベクトルが高次元になれば、この計算負荷はさらに高くなる。 When the feature vector is a real vector, there are the following problems. First, there is a problem that two feature vectors x, the calculation of the distance between the Y∈R D slows. For example, when the L2 norm square is used as a distance measure,
Figure 0006375420
Therefore, D subtractions, D multiplications, and D-1 additions are required. In particular, when the feature vector is expressed by a floating point number, the calculation load becomes very high. If the feature vector has a higher dimension, the calculation load becomes higher.

また、大量のメモリを消費する点も問題となる。特徴ベクトルを4バイトの単精度実数で表現する場合、D次元の特徴ベクトルは4Dバイトのメモリを消費する。特徴ベクトルが高次元になれば、このメモリ消費量は大きくなる。大量の特徴ベクトルを扱う場合、扱う特徴ベクトルの数だけメモリを消費することになる。   Another problem is that a large amount of memory is consumed. When a feature vector is represented by a 4-byte single-precision real number, the D-dimensional feature vector consumes 4D bytes of memory. As the feature vector becomes higher in dimension, the memory consumption increases. When dealing with a large amount of feature vectors, the memory is consumed by the number of feature vectors to be handled.

そこで近年、特徴ベクトルを0と1の列から成るバイナリコードに変換することにより、これら2つの問題を解決する手法が提案されている。代表的な手法として、ランダムプロジェクション(random projection、非特許文献1参照)、ベリースパースランダムプロジェクション(very sparse random projection、非特許文献2参照)、及びスペクトラルハッシング(Spectral Hashing、非特許文献3参照)がある。   Therefore, in recent years, a method for solving these two problems by converting a feature vector into a binary code composed of a sequence of 0 and 1 has been proposed. Typical techniques include random projection (see random projection, Non-Patent Document 1), belly sparse random projection (see Non-Patent Document 2), and spectral hashing (Spectral Hashing, see Non-Patent Document 3). is there.

これらの手法では、D次元の特徴ベクトルがdビットのバイナリコードに変換される。この変換は、もともとの空間における距離が、変換後の空間におけるハミング距離と強く相関するように行われる(もともとの空間における距離と、変換後の空間におけるハミング距離と強く相関する根拠については、非特許文献1の1121ページのLemma3.2を参照)。これによって、特徴ベクトル間の距離の計算を、バイナリコード同士のハミング距離計算で代用できるようになる。   In these methods, a D-dimensional feature vector is converted into a d-bit binary code. This conversion is performed so that the distance in the original space strongly correlates with the Hamming distance in the converted space (for the reason that the distance in the original space and the Hamming distance in the converted space are strongly correlated) (See Lemma 3.2 on page 1121 of Patent Document 1). As a result, the calculation of the distance between feature vectors can be replaced by the calculation of the Hamming distance between binary codes.

ハミング距離とは、二つのバイナリコードのうち、異なるビットの数を数えたものである。この計算は、二つのコードのXORをとった後に1が立っているビット数を数えるだけなので、非常に高速に行うことができる。多くの場合、バイナリコード変換によって、数十〜数百倍程度の高速化が可能である。また、特徴ベクトル間の距離の計算を、バイナリコード同士のハミング距離計算で代用することにより、もともと4Dバイトであったメモリの必要容量を、d/8バイトまで削減できる。これにより、数十〜数百分の一にメモリ容量を節約できる。   The Hamming distance is obtained by counting the number of different bits in two binary codes. This calculation can be performed very quickly because it only counts the number of bits that are 1 after XORing the two codes. In many cases, binary code conversion can increase the speed by several tens to several hundred times. Further, by substituting the calculation of the distance between feature vectors with the calculation of the Hamming distance between binary codes, the required memory capacity, which was originally 4D bytes, can be reduced to d / 8 bytes. Thereby, memory capacity can be saved to tens to hundreds of times.

抽出された特徴量をバイナリコードに変換して、さまざまなアルゴリズムを適用することで、コンテンツの検索や認識などが可能となる。例えば類似コンテンツを検索する場合には、あらかじめデータベースに登録されているコンテンツの特徴量を、すべてバイナリコードに変換しておく。また、入力クエリとして与えられたコンテンツの特徴量をバイナリコードに変換する。そして、入力クエリのバイナリコードと、データベースに登録されているすべてのバイナリコードとの間のハミング距離を計算することで、入力クエリに類似するコンテンツを検索して出力できる。   By converting the extracted feature quantity into binary code and applying various algorithms, it becomes possible to search and recognize content. For example, when searching for similar content, all the feature quantities registered in the database in advance are converted into binary codes. Also, the feature amount of the content given as an input query is converted into a binary code. Then, by calculating the Hamming distance between the binary code of the input query and all the binary codes registered in the database, it is possible to search and output content similar to the input query.

Michel X. Goemans, avid P. Williamson, "Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming", Journal of the ACM Volume 42 , Issue 6 (November 1995) Pages: 1115-1145Michel X. Goemans, avid P. Williamson, "Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming", Journal of the ACM Volume 42, Issue 6 (November 1995) Pages: 1115-1145 Ping Li, Trevor J. Hastie, Kenneth W. Church, "very sparse random projections", KDD '06 Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining (2006)Ping Li, Trevor J. Hastie, Kenneth W. Church, "very sparse random projections", KDD '06 Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining (2006) Y. Weiss, A. Torralba, R. Fergus., "Spectral Hashing", Advances in Neural Information Processing Systems, 2008.Y. Weiss, A. Torralba, R. Fergus., "Spectral Hashing", Advances in Neural Information Processing Systems, 2008.

バイナリコードはdビットの0と1の列からなる。これを、各要素が−1及び1の二値のみを取るd次元のベクトルと考えることもできる。以下の説明における混乱を避けるために、「バイナリコード」と「二値ベクトル」という用語について、以下のように区別をする。「バイナリコード」は、0と1の列からなるデータ表現である。例えば、C言語において128ビットのバイナリコードをメモリ上に格納する場合は、符号無し整数(unsigned char)型の16要素分の配列を用意すればよい(8bit×16=128bit)。   The binary code consists of a sequence of 0's and 1's of d bits. This can be considered as a d-dimensional vector in which each element takes only binary values of −1 and 1. In order to avoid confusion in the following description, the terms “binary code” and “binary vector” are distinguished as follows. A “binary code” is a data representation consisting of a sequence of 0s and 1s. For example, when a 128-bit binary code is stored in a memory in the C language, an array for 16 elements of an unsigned integer type may be prepared (8 bits × 16 = 128 bits).

一方、「二値ベクトル」は、各要素が二値のみを取るベクトルである。例えば、二値ベクトルを各要素が−1及び1のみをとるベクトルとする場合には、バイナリコード「01101110」に対応する二値ベクトルは、(−1,1,1,−1,1,1,1,−1)である。もちろん、各要素が0及び1の二値のみを取るベクトルも二値ベクトルであるし、さらには、各要素が任意のα及びβ(ここでα≠βである)の二値のみを取るベクトルも二値ベクトルである。ただし、「バイナリコード」と「二値ベクトル」の違いは、情報の表現に関するものであり、両者に本質的な違いはない。 On the other hand, a “binary vector” is a vector in which each element takes only binary values. For example, when a binary vector is a vector in which each element takes only −1 and 1, the binary vector corresponding to the binary code “01101110” is (−1, 1, 1, −1, 1, 1). , 1, -1) T. Of course, a vector in which each element takes only binary values of 0 and 1 is also a binary vector, and furthermore, a vector in which each element takes only binary values of arbitrary α and β (where α ≠ β) Is also a binary vector. However, the difference between the “binary code” and the “binary vector” relates to the expression of information, and there is no essential difference between the two.

特徴ベクトルを、各要素が−1及び1の二値のみを取るd次元の二値ベクトルに変換すれば、SVM(サポートベクトルマシン)による識別処理や、k−meansクラスタリングなど、さまざまな処理をバイナリコードに対しても適用できる。しかしながら、これらのケースではハミング距離による高速距離計算の恩恵を受けることができないことがある。すなわち、アルゴリズムによっては、バイナリコード変換による高速距離計算の恩恵を受けられないことがある。   If a feature vector is converted into a d-dimensional binary vector in which each element takes only binary values of -1 and 1, various processes such as identification processing by SVM (support vector machine) and k-means clustering are binary. It can also be applied to code. However, in these cases, it may not be possible to benefit from high-speed distance calculation by Hamming distance. That is, depending on the algorithm, there are cases where the benefits of high-speed distance calculation by binary code conversion cannot be obtained.

バイナリコード変換による高速距離計算の恩恵を受けられない例として、以下では、識別器(Classifier)による認識処理及びk−meansクラスタリングを説明する。まず、識別器による認識処理については、例えば、二値ベクトルx∈{−1,1}を2クラスに識別する問題に対して、線形SVM(線形サポートベクトルマシン)等の線形識別器を適用することを考える。線形SVMでは以下の式を評価する。

Figure 0006375420
f(x)が正ならばxはクラスAに属し、f(x)が負ならばxはクラスBに属するものとして識別する。 wは、重みパラメータであって、w∈Rである。bは、バイアスパラメータであって、b∈Rである。パラメータw及びbは、学習用に用意した特徴量を用いて、学習処理により自動的に決定される。 As an example in which the benefits of high-speed distance calculation by binary code conversion cannot be obtained, recognition processing by a classifier (Classifier) and k-means clustering will be described below. First, for recognition processing by a classifier, for example, a linear classifier such as a linear SVM (Linear Support Vector Machine) is applied to the problem of classifying a binary vector xε {−1,1} d into two classes. Think about what to do. In the linear SVM, the following expression is evaluated.
Figure 0006375420
If f (x) is positive, x belongs to class A, and if f (x) is negative, x is identified as belonging to class B. w is a weight parameter, and wεR d . b is a bias parameter, and bεR 1 . The parameters w and b are automatically determined by a learning process using feature amounts prepared for learning.

ここで、学習用に用意した特徴量が二値ベクトルであっても、w∈Rは二値にならず、実数値になってしまう。f(x)の計算にはwxが含まれているが、xが二値である一方でwが実数値のベクトルであるため、wxの計算には、浮動小数点演算が必要になってしまう。このように、SVMを適用する識別器による認識処理では、特徴ベクトルを二値ベクトルとすることによる計算高速化の恩恵を受けることができない。 Here, even if the feature quantity prepared for learning is a binary vector, wεR d is not a binary value but a real value. The calculation of f (x) includes w T x, but since x is binary and w is a real-valued vector, the calculation of w T x requires a floating point operation. turn into. As described above, the recognition processing by the discriminator to which the SVM is applied cannot benefit from the speeding up of calculation by making the feature vector a binary vector.

次に、二値ベクトルに対して、k−meansクラスタリングを適用する場合、すなわち、d次元の二値ベクトルがN個与えられたとき、互いに距離が近い二値ベクトルをまとめたk個のクラスタを求める問題を考える。k−meansとは、次の手順によりk個のクラスタと代表ベクトルを算出するアルゴリズムである。   Next, when k-means clustering is applied to a binary vector, i.e., when n d-dimensional binary vectors are given, k clusters obtained by collecting binary vectors that are close to each other are obtained. Think about the problem you want. k-means is an algorithm for calculating k clusters and representative vectors according to the following procedure.

ステップ1:N個の特徴量からk個をランダムに選出し、これをクラスタの代表ベクトルとする。
ステップ2:入力として与えられたN個の特徴量それぞれについて、最も距離が近い代表ベクトルを求める。
ステップ3:各代表ベクトルに所属する特徴量の平均を計算し、これを新しい代表ベクトルとする。
ステップ4:ステップ2、ステップ3を収束するまで繰り返す。
Step 1: k features are randomly selected from N feature amounts and set as cluster representative vectors.
Step 2: For each of the N feature values given as input, a representative vector having the closest distance is obtained.
Step 3: The average of the feature quantities belonging to each representative vector is calculated and set as a new representative vector.
Step 4: Repeat Step 2 and Step 3 until convergence.

k−meansクラスタリングにおいて問題となるのは、ステップ3において、新しい代表ベクトルが二値ベクトルの平均で定義される点である。入力として与えられたデータが二値ベクトルであっても、平均の演算により、代表ベクトルは実数のベクトルになる。そのため、ステップ2における距離計算では、二値ベクトルと実数ベクトルとの間の距離を求めなければならなくなる。つまり、浮動小数点演算が必要になってしまう。このように、k−meansクラスタリングにおいても、特徴ベクトルを二値ベクトルとすることによる計算高速化の恩恵を受けることができない。   The problem in k-means clustering is that in step 3 a new representative vector is defined by the average of the binary vectors. Even if the data given as input is a binary vector, the representative vector becomes a real vector by the average calculation. Therefore, in the distance calculation in step 2, it is necessary to obtain the distance between the binary vector and the real vector. In other words, floating point arithmetic is required. As described above, even in k-means clustering, it is not possible to receive the benefit of speeding up the calculation by making the feature vector a binary vector.

上記のように、識別器(Classifier)による認識処理やk−meansクラスタリングでは、特徴ベクトルを二値ベクトルとすることによる計算高速化の恩恵を受けることができない。その理由は、いずれもd次元の二値ベクトルp∈{−1,1}と、d次元の実数ベクトルq∈Rとの内積演算が必要であるという点にある。なお、k−meansクラスタリングで必要なのは、dビットの二値ベクトルp∈{−1,1}と、d次元の実数ベクトルq∈Rとの間の「距離」であるが、これも結局のところ、pqという内積の演算に帰着される。なぜなら、pとqとの間のユークリッド距離の二乗は、下式で表現されるからである。

Figure 0006375420
As described above, recognition processing by a classifier (Classifier) and k-means clustering cannot benefit from speeding up computation by using a feature vector as a binary vector. The reason is that an inner product operation between the d-dimensional binary vector pε {−1,1} d and the d-dimensional real vector qεR d is necessary. Note that k-means clustering requires a “distance” between a d-bit binary vector pε {−1,1} d and a d-dimensional real vector qεR d , but this is also the result. However, this results in an inner product operation called p T q. This is because the square of the Euclidean distance between p and q is expressed by the following equation.
Figure 0006375420

よって、識別器による認識処理においてもk−meansクラスタリングにおいても、二値ベクトルとd次元の実数ベクトルとの内積の演算を高速化することこそが、問題の解決につながる。   Therefore, speeding up the calculation of the inner product of a binary vector and a d-dimensional real vector in both recognition processing by the classifier and k-means clustering leads to the solution of the problem.

そこで、本出願人は、特徴ベクトルがd次元の二値ベクトルp∈{−1,1}である場合において、そのような特徴ベクトルとd次元の実数ベクトルq∈Rとの間の内積(pqもしくはqp)の演算を高速に行う関連性判定装置を提案している(特願2013−214182号、以下、「先願」という。)。 Therefore, the present applicant has determined that the inner product between such a feature vector and a d-dimensional real vector qεR d when the feature vector is a d-dimensional binary vector pε {−1,1} d. (Japanese Patent Application No. 2013-214182, hereinafter referred to as “Prior Application”) has been proposed (Japanese Patent Application No. 2013-214182), which proposes a high-speed calculation of p T q or q T p.

先願の関連性判定装置は、二値化された特徴ベクトルを取得する特徴ベクトル取得部と、実数ベクトルを二値または三値の離散値のみから構成された要素を持つ複数の基底ベクトルの線形和に分解することで得られた前記複数の基底ベクトルを取得する基底ベクトル取得部と、前記特徴ベクトルと前記複数の基底ベクトルの各々との内積計算を順次行うことで、前記実数ベクトルと前記特徴ベクトルとの関連性を判定するベクトル演算部とを備えている。この構成により、実数ベクトルは複数の二値の基底ベクトルの線形和に分解されたうえで二値化された特徴ベクトルとの内積計算が行なわれるので、特徴ベクトルと実数ベクトルの内積計算を高速化できる。   The relevance determination device of the prior application includes a feature vector acquisition unit that acquires a binarized feature vector, and a linear vector of a plurality of base vectors each having an element composed of only a binary or ternary discrete value as a real vector A basis vector acquisition unit that acquires the plurality of basis vectors obtained by decomposing into a sum, and sequentially performing inner product calculation of the feature vector and each of the plurality of basis vectors, thereby the real vector and the feature A vector operation unit for determining relevance with the vector. With this configuration, real vectors are decomposed into linear sums of multiple binary basis vectors, and the inner product calculation of the binarized feature vector is performed, so the inner product calculation of the feature vector and the real vector is accelerated. it can.

ところで、二値化された特徴ベクトルと複数の実数ベクトルとの内積を計算することで、特徴ベクトルと複数の実数ベクトルの各々との関連性を判定する必要がある場合がある。例えば、上述のように、線形SVMでは、特徴ベクトルがクラスAに属するか、クラスBに属するか、即ち、特徴ベクトルがある識別基準に該当するか否かのみを判断するものであるが、このような識別を複数の基準について行いたい場合がある。具体的な例としては、撮影された画像に映っているのが、大人であるか否か、子供であるか否か、車であるか否か、道路標識であるか否かをそれぞれ判断したい場合がある。   Incidentally, it may be necessary to determine the relevance between the feature vector and each of the plurality of real vectors by calculating the inner product of the binarized feature vector and the plurality of real vectors. For example, as described above, in linear SVM, only whether a feature vector belongs to class A or class B, that is, whether or not the feature vector falls under a certain identification criterion, is determined. There are cases where such identification is desired for a plurality of criteria. As a specific example, I would like to determine whether the captured image is an adult, a child, a car, or a road sign. There is a case.

また、上述のk−meansクラスタリングでは、入力として与えられたN個の特徴ベクトルの各々について、k個の代表ベクトルとの間で内積計算を伴う距離の計算を行う。ここで、k個の代表ベクトルの各々は、上述のように、二値ベクトルの平均で定義されるので、実数ベクトルである。よって、k−meansクラスタリングでも、二値化された特徴ベクトルと複数の実数ベクトルとの内積計算が必要となる。   In the k-means clustering described above, for each of the N feature vectors given as an input, a distance with an inner product calculation is calculated with k representative vectors. Here, each of the k representative vectors is a real vector because it is defined by the average of the binary vectors as described above. Therefore, k-means clustering also requires inner product calculation of binarized feature vectors and a plurality of real vectors.

そこで、本発明は、二値化された特徴ベクトルと複数の実数ベクトルとの内積計算を高速化することで、そのような特徴ベクトルと複数の実数ベクトルとの関連性の判定を高速に行うことを目的とする。   Therefore, the present invention speeds up the inner product calculation of a binarized feature vector and a plurality of real vectors, thereby quickly determining the relevance between such a feature vector and a plurality of real vectors. With the goal.

本発明の関連性判定装置は、二値化された特徴ベクトルを取得する特徴ベクトル取得部と、複数の実数ベクトルからなる実数行列を、係数行列と、要素として二値または三値の離散値のみを持つ複数の基底ベクトルからなる基底行列との積に分解して得られた前記ベクトルと前記係数行列とを含む辞書データを記憶するデータベースと、前記特徴ベクトルと前記複数の実数ベクトルの各々との内積の計算として、前記特徴ベクトルと前記基底行列との積を計算し、さらに当該積と前記係数行列との積を計算して、その結果を用いて、前記複数の実数ベクトルの各々と前記特徴ベクトルとの関連性を判定するベクトル演算部とを備えた構成を有している。この構成により、特徴ベクトルと複数の実数ベクトルの各々との内積を計算のために、複数の実数ベクトルからなる実数行列が離散値の基底行列と係数行列に分解されており、特徴ベクトルと基底行列との積を計算し、さらに係数行列との積を計算するので、特徴ベクトルと複数の実数ベクトルの各々との内積演算の結果を高速に取得でき、よって特徴ベクトルと複数の実数ベクトルとの関連性の判定を高速に行うことができる。   The relevance determination device of the present invention includes a feature vector acquisition unit that acquires a binarized feature vector, a real matrix composed of a plurality of real vectors, a coefficient matrix, and only binary or ternary discrete values as elements. A database storing dictionary data including the vector and the coefficient matrix obtained by decomposing the product into a base matrix composed of a plurality of basis vectors having a plurality of basis vectors, and the feature vector and each of the plurality of real vectors As an inner product calculation, a product of the feature vector and the base matrix is calculated, a product of the product and the coefficient matrix is further calculated, and the result is used to calculate each of the plurality of real vectors and the feature. It has the structure provided with the vector calculating part which determines the relationship with a vector. With this configuration, in order to calculate the inner product of a feature vector and each of a plurality of real vectors, a real matrix made up of a plurality of real vectors is decomposed into a discrete value base matrix and a coefficient matrix. And the product with the coefficient matrix, the result of the inner product operation between the feature vector and each of multiple real vectors can be obtained at high speed, and the relationship between the feature vector and multiple real vectors can be obtained. Sex determination can be performed at high speed.

上記の関連性判定装置は、前記複数の実数ベクトルを並べることで前記実数行列を生成する実数行列生成部をさらに備えていてよい。この構成により、容易に複数の実数ベクトルから実数行列を生成できる。   The relevance determination device may further include a real matrix generation unit that generates the real matrix by arranging the plurality of real vectors. With this configuration, a real matrix can be easily generated from a plurality of real vectors.

上記の関連性判定装置において、前記実数行列生成部は、前記複数の実数ベクトルが所定のパラメータを有する場合に、当該パラメータの順に従って前記複数の実数ベクトルを並べることにより前記実数行列を生成してよい。この構成により、実数行列において互いに似た実数ベクトルが隣り合うこととなるので、隣り合う係数行列もまた類似するようになる。   In the above relevance determination device, when the plurality of real vectors have predetermined parameters, the real matrix generation unit generates the real matrix by arranging the plurality of real vectors according to the order of the parameters. Good. With this configuration, since real vectors similar to each other in the real number matrix are adjacent to each other, adjacent coefficient matrices are also similar.

上記の関連性判定装置において、前記特徴ベクトルは、HOG特徴量であってよく、前記複数の実数ベクトルは、複数の線形識別器のパラメータに対応する複数の重みベクトルであってよく、前記ベクトル演算部は、前記関連性の判定として、前記複数の線形識別器の識別関数によって、前記複数の基準の各々に対する前記特徴ベクトルの識別を行なってよい。この構成により、複数の線形識別器による特徴ベクトルの識別を高速化できる。   In the above relevance determination device, the feature vector may be a HOG feature, the plurality of real vectors may be a plurality of weight vectors corresponding to parameters of a plurality of linear classifiers, and the vector calculation The unit may identify the feature vector for each of the plurality of criteria by using an identification function of the plurality of linear classifiers as the determination of the relevance. With this configuration, it is possible to speed up feature vector identification by a plurality of linear classifiers.

上記の関連性判定装置において、前記実数行列生成部は、前記特徴ベクトル及び前記複数の実数ベクトルが1又は複数のパラメータを有する場合に、当該パラメータの順に従って前記複数の実数ベクトルを並べることにより前記実数行列を生成し、前記ベクトル演算部は、前記係数行列を構成する複数のベクトルであって前記複数の実数ベクトルが並べられた方向と同方向の複数のベクトルの各々を前記パラメータに関する連続関数で表現し、前記識別関数を最大にする前記パラメータを、前記特徴ベクトルのパラメータ値として求めてよい。この構成により、複数の実数ベクトルをまとめて実数行列を生成する際に、複数の実数ベクトルをそれが滑らかに変化するパラメータの順に並べて実数行列を生成することで、識別関数をそのパラメータに関する連続関数で表現できるので、高い分解能で特徴ベクトルのパラメータ値を求めることができる。   In the above-described relevance determination device, when the feature vector and the plurality of real vectors have one or a plurality of parameters, the real matrix generation unit arranges the plurality of real vectors according to the order of the parameters. A real number matrix is generated, and the vector calculation unit is a continuous function related to the parameter for each of a plurality of vectors constituting the coefficient matrix and having the same direction as the direction in which the plurality of real number vectors are arranged. The parameter that expresses and maximizes the discriminant function may be obtained as a parameter value of the feature vector. With this configuration, when a real matrix is generated by combining a plurality of real vectors, a real matrix is generated by arranging a plurality of real vectors in the order of parameters in which they change smoothly. Therefore, the parameter value of the feature vector can be obtained with high resolution.

上記の関連性判定装置において、前記特徴ベクトルは、k−meansクラスタリングによるクラスタリングの対象となるベクトルであってよく、前記実数ベクトルは、k−meansクラスタリングにおける代表ベクトルであってよく、前記ベクトル演算部は、前記関連性の判定として、前記特徴ベクトルと前記代表ベクトルとの間の距離の演算を含むクラスタリング処理を行なってよい。この構成により、k−meansクラスタリングにおける特徴ベクトルと代表ベクトルとの間の距離の演算を高速化できる。   In the above-described relevance determination device, the feature vector may be a vector to be clustered by k-means clustering, the real vector may be a representative vector in k-means clustering, and the vector calculation unit May perform a clustering process including a calculation of a distance between the feature vector and the representative vector as the determination of the relevance. With this configuration, the calculation of the distance between the feature vector and the representative vector in k-means clustering can be speeded up.

上記の関連性判定装置において、前記特徴ベクトルは、k−means treeによる近似最近傍探索の対象となるベクトルであってよく、前記実数ベクトルは、k−分木のノードに登録されている代表ベクトルであってよく、前記ベクトル演算部は、前記関連性の判定として、前記特徴ベクトルと前記代表ベクトルとの間の距離の演算を含むクラスタリング処理を行なってよい。この構成により、k−means treeによる近似最近傍探索における特徴ベクトルとk−分木のノードに登録されている代表ベクトルとの間の距離の演算を高速化できる。   In the above-described relevance determination apparatus, the feature vector may be a vector to be subjected to an approximate nearest neighbor search by k-means tree, and the real vector is a representative vector registered in a node of a k-ary tree. The vector calculation unit may perform a clustering process including calculation of a distance between the feature vector and the representative vector as the determination of the relevance. With this configuration, it is possible to speed up the calculation of the distance between the feature vector in the approximate nearest neighbor search by k-means tree and the representative vector registered in the node of the k-ary tree.

上記の関連性判定装置において、前記特徴ベクトルは、画像の特徴量を表すベクトルであってよい。この構成により、画像の特徴量の演算における特徴ベクトルと複数の実数ベクトルの内積計算を高速化できる。   In the above-described relevance determination device, the feature vector may be a vector that represents a feature amount of an image. With this configuration, it is possible to speed up the inner product calculation of the feature vector and the plurality of real vectors in the calculation of the feature amount of the image.

本発明の関連性判定プログラムは、コンピュータを、上記の関連性判定装置として機能させるための関連性判定プログラムである。この構成によっても、特徴ベクトルと複数の実数ベクトルの各々との内積を計算のために、複数の実数ベクトルからなる実数行列を離散値の基底行列と係数行列に分解したうえで、特徴ベクトルと基底行列との積を計算し、さらに係数行列との積を計算するので、特徴ベクトルと複数の実数ベクトルの各々との内積演算の結果を高速に取得でき、よって特徴ベクトルと複数の実数ベクトルとの関連性の判定を高速に行うことができる。   The relevance determination program of the present invention is a relevance determination program for causing a computer to function as the above-described relevance determination device. Even with this configuration, in order to calculate the inner product of a feature vector and each of a plurality of real vectors, a real matrix composed of a plurality of real vectors is decomposed into a discrete value base matrix and a coefficient matrix, and then the feature vector and the base Since the product with the matrix is calculated and the product with the coefficient matrix is further calculated, the result of the inner product operation between the feature vector and each of the plurality of real vectors can be obtained at high speed, and thus the feature vector and the plurality of real vectors can be obtained. Relevance can be determined at high speed.

本発明によれば、二値化された特徴ベクトルと複数の実数ベクトルの各々との内積計算を高速化でき、そのような特徴ベクトルと複数の実数ベクトルの各々との関連性の判定を高速に行うことができる。   According to the present invention, it is possible to speed up the inner product calculation of a binarized feature vector and each of a plurality of real vectors, and to quickly determine the relevance between such a feature vector and each of a plurality of real vectors. It can be carried out.

複数の識別基準で画像中の人を識別する場合の線形SVMの例を示す図The figure which shows the example of linear SVM in the case of identifying the person in an image with a some identification reference | standard 複数の識別基準で画像中の人を識別する場合の線形SVMの例を示す図The figure which shows the example of linear SVM in the case of identifying the person in an image with a some identification reference | standard 本発明の第1の実施の形態の特徴量演算装置の構成を示すブロック図The block diagram which shows the structure of the feature-value calculating apparatus of the 1st Embodiment of this invention. 本発明の第1の実施の形態における実数行列の分解を示す図The figure which shows decomposition | disassembly of the real number matrix in the 1st Embodiment of this invention 本発明の第1の実施の形態における実数行列と基底行列との関係を説明するための図The figure for demonstrating the relationship between the real number matrix and basis matrix in the 1st Embodiment of this invention 本発明の第2の実施の形態における計算例を示す図The figure which shows the example of a calculation in the 2nd Embodiment of this invention 本発明の第1の応用例の物体認識装置の構成を示すブロック図The block diagram which shows the structure of the object recognition apparatus of the 1st application example of this invention. 本発明の第1の応用例の回転する道路標識と回転角度ごとの辞書及びバイアスを示す図The figure which shows the dictionary and bias for every rotating road sign, rotation angle of the 1st application example of this invention 本発明の第1の応用例の係数行列の性質を示す図The figure which shows the property of the coefficient matrix of the 1st application example of this invention 本発明の第1の応用例の識別関数の例を示すグラフThe graph which shows the example of the discriminant function of the 1st application example of this invention 本発明の第2の応用例のk−meansクラスタリング装置の構成を示すブロック図The block diagram which shows the structure of the k-means clustering apparatus of the 2nd application example of this invention.

以下、本発明の実施の形態の特徴量演算装置について、図面を参照しながら説明する。   Hereinafter, a feature value computing device according to an embodiment of the present invention will be described with reference to the drawings.

まず、特徴ベクトルとの内積を計算すべき実数ベクトルが複数ある場合について説明する。図1は、複数の識別基準で画像中の人を識別する場合の線形SVMの例を示す図である。この例では、入力されたある特徴ベクトルに対して、図1に示すように、単にその特徴ベクトルの画像内に人がいるか否かの識別ではなく、それが「大人(正面)」であるか否か、「大人(横)」であるか否か、「子供(正面)」であるか否かをそれぞれ識別する。即ち、特徴ベクトルを識別する基準が複数ある。この場合、図1に示すように、識線形SVMの評価式f(x)の重みパラメータ(以下、「辞書」ともいう。)qは、識別基準ごとに複数(q,q,q,…,q)用意する必要があり、バイアスbも識別基準ごとに複数(b,b,b,…,b)用意する必要がある。 First, a case where there are a plurality of real vectors whose inner products with feature vectors are to be calculated will be described. FIG. 1 is a diagram illustrating an example of a linear SVM when a person in an image is identified based on a plurality of identification criteria. In this example, for an input feature vector, as shown in FIG. 1, it is not simply identification of whether or not there is a person in the image of the feature vector, but whether it is “adult (front)”. No, “adult (horizontal)”, and “child (front)” are identified. That is, there are a plurality of criteria for identifying feature vectors. In this case, as shown in FIG. 1, a plurality of (q 1 , q 2 , q 3 ) weight parameters (hereinafter also referred to as “dictionaries”) q of the evaluation formula f (x) of the linac SVM are provided for each identification criterion. ,..., Q L ) and a plurality of bias b (b 1 , b 2 , b 3 ,..., B L ) must be prepared for each identification criterion.

図2は、被写体までの距離に応じた複数の識別基準で画像中の人を識別する場合の線形SVMの例を示す図である。この例では、人の識別が、被写体までの距離、即ち画像内の被写体のスケールの変化に対してロバストとなるように、入力されたある特徴ベクトルに対して、図2に示すように、単にその特徴ベクトルの画像内に大人がいるか否かを識別するだけでなく、それが「大人(遠)」であるか否か、「大人(中距離)」であるか否か、「大人(近)」であるか否かをそれぞれ識別する。即ち、この場合も、特徴ベクトルを識別する基準が複数あり、よって、図2に示すように、線形SVMの辞書qは、識別基準ごとに複数(q,q,q,…,q)用意する必要があり、バイアスbも識別基準ごとに複数(b,b,b,…,b)用意する必要がある。 FIG. 2 is a diagram illustrating an example of a linear SVM when a person in an image is identified based on a plurality of identification criteria according to the distance to the subject. In this example, as shown in FIG. 2, for a certain feature vector input, the identification of a person is robust to the distance to the subject, that is, the change in the scale of the subject in the image. In addition to identifying whether there is an adult in the image of the feature vector, whether it is “adult (far)”, whether it is “adult (medium distance)”, “adult (near) ) ”Or not. That is, in this case as well, there are a plurality of criteria for identifying feature vectors. Therefore, as shown in FIG. 2, the linear SVM dictionary q is divided into a plurality (q 1 , q 2 , q 3 ,. L ) must be prepared, and a plurality of bias b (b 1 , b 2 , b 3 ,..., B L ) must be prepared for each identification criterion.

このように、ある特徴ベクトルに対して複数の基準で識別を行う場合には、それらの複数の基準が互いに似ていることが多い。図1及び図2もそのような例を示しており、即ち、図1の例では、「大人(正面)」と「大人(横)」は、大人という共通点を有し、「大人(正面)」と「子供(正面)」は、人の正面という共通点を有し、また、「大人(正面)」と「大人(横)」と「子供(正面)」は、人という共通点を有する。図2の例でも、「大人(遠)」と「大人(中距離)」と「大人(近)」は、「大人」という共通点を有する。よって、図1及び図2の複数の実数ベクトルである辞書(q,q,q,…,q)は互いに似ている。また、k−meansクラスタリングにおいても、k個の実数ベクトルである代表ベクトルが互いに似ていることが多い。本発明の実施の形態の関連性判定装置は、このように複数の実数ベクトルが互いに似ているという性質を生かして、処理を高速化する。 As described above, when a certain feature vector is identified by a plurality of criteria, the plurality of criteria are often similar to each other. FIG. 1 and FIG. 2 also show such an example, that is, in the example of FIG. 1, “adult (front)” and “adult (horizontal)” have the common point of adults. ) ”And“ Children (front) ”have the common feature of people, and“ Adults (front) ”,“ Adults (horizontal) ”and“ Children (front) ”have the common features of people. Have. Also in the example of FIG. 2, “adult (far)”, “adult (medium distance)”, and “adult (near)” have a common point of “adult”. Therefore, the dictionaries (q 1 , q 2 , q 3 ,..., Q L ) that are a plurality of real vectors in FIGS. 1 and 2 are similar to each other. In k-means clustering, representative vectors that are k real vectors are often similar to each other. The relevance determination apparatus according to the embodiment of the present invention speeds up processing by taking advantage of the property that a plurality of real vectors are similar to each other.

1.実施の形態
1−1.第1の実施の形態
図3は、本発明の実施の形態の特徴量演算装置100の構成を示すブロック図である。特徴量演算装置100は、コンテンツ取得部101と、特徴ベクトル生成部102と、特徴ベクトル二値化部103と、実数行列取得部104と、実数行列分解部105と、ベクトル演算部106と、データベース107とを備えている。
1. Embodiment 1-1. First Embodiment FIG. 3 is a block diagram showing a configuration of a feature quantity computing device 100 according to an embodiment of the present invention. The feature amount calculation apparatus 100 includes a content acquisition unit 101, a feature vector generation unit 102, a feature vector binarization unit 103, a real number matrix acquisition unit 104, a real number matrix decomposition unit 105, a vector calculation unit 106, a database 107.

本実施の形態の特徴量演算装置100は、後述するように、特徴ベクトルと辞書データとしてデータベースに保存された複数の実数ベクトルとの内積演算を伴うベクトル演算によって、特徴ベクトルと複数の実数ベクトルとの関連性を判定する関連性判定装置として機能する。即ち、特徴演算装置100は、本発明の関連性判定装置に相当する。   As will be described later, the feature quantity computing device 100 of the present embodiment performs a feature vector and a plurality of real vectors by a vector operation involving an inner product operation between the feature vector and a plurality of real vectors stored in a database as dictionary data. It functions as a relevance determination device that determines the relevance of each other. That is, the feature calculation device 100 corresponds to the relevance determination device of the present invention.

関連性判定装置としての特徴量演算装置100は、コンピュータが本発明の実施の形態の関連性判定プログラムを実行することにより実現される。関連性判定プログラムは、記録媒体に記録されて、記録媒体からコンピュータによって読み出されてもよいし、ネットワークを通じてコンピュータにダウンロードされてもよい。   The feature quantity computing device 100 as a relevance determination device is realized by a computer executing the relevance determination program according to the embodiment of the present invention. The relevance determination program may be recorded on a recording medium and read from the recording medium by a computer, or may be downloaded to a computer through a network.

コンテンツ取得部101は、画像データ、音声データ、文字データ等のコンテンツデータを取得する。これらのコンテンツデータは、外部機器から与えられるものであってもよく、コンテンツ取得部101で生成されるものであってもよい。例えば、コンテンツ取得部101がカメラであり、そこでコンテンツデータとして画像データが生成されてよい。   The content acquisition unit 101 acquires content data such as image data, audio data, and character data. These content data may be provided from an external device or may be generated by the content acquisition unit 101. For example, the content acquisition unit 101 may be a camera, and image data may be generated there as content data.

特徴ベクトル生成部102は、コンテンツ取得部101にて取得されたコンテンツデータからD次元の特徴ベクトルを生成する。例えばコンテンツが画像である場合には、特徴ベクトル生成部102は、画像の特徴量を抽出する。特徴ベクトル二値化部103は、特徴ベクトル生成部102で生成されたD次元の特徴ベクトルを二値化して、各要素が−1及び1の二値のみをとるd次元の二値ベクトルp∈{−1,1}を生成する。この特徴ベクトル二値化部103は、本発明の「特徴ベクトル取得部」に相当する。 The feature vector generation unit 102 generates a D-dimensional feature vector from the content data acquired by the content acquisition unit 101. For example, when the content is an image, the feature vector generation unit 102 extracts the feature amount of the image. The feature vector binarization unit 103 binarizes the D-dimensional feature vector generated by the feature vector generation unit 102, and each element has only a binary value of -1 and 1, and a d-dimensional binary vector pε {-1, 1} d is generated. The feature vector binarization unit 103 corresponds to the “feature vector acquisition unit” of the present invention.

なお、コンテンツ取得部101、特徴ベクトル生成部102、及び特徴ベクトル二値化部103からなる構成は、最終的に二値化された特徴ベクトルを取得できる構成であればよく、例えば、コンテンツ取得部101及び特徴ベクトル生成部102を備えずに、特徴ベクトル二値化部103が外部機器から特徴ベクトルを取得して、その取得した特徴ベクトルを二値化する構成であってよいし、また、特徴ベクトル二値化部103外部機器から二値化された特徴ベクトルを直接取得する構成であってもよい。   The configuration including the content acquisition unit 101, the feature vector generation unit 102, and the feature vector binarization unit 103 may be any configuration that can finally acquire a binarized feature vector. For example, the content acquisition unit 101 and feature vector generation unit 102 are not provided, and feature vector binarization unit 103 may acquire a feature vector from an external device and binarize the acquired feature vector. The vector binarization unit 103 may be configured to directly obtain a binarized feature vector from an external device.

実数行列取得部104は、複数のd次元の実数ベクトルq∈R(n=1,2,…,L)を取得する。複数の実数ベクトルqは、外部機器から与えられるものであってもよく、特徴量演算装置100の図示しない記憶装置から読み出されるものであってもよく、実数行列取得部104で生成されるものであってもよい。各実数ベクトルqは、その要素に浮動小数を含む実数を持つ。ここで、複数の実数ベクトルqを並べたものを実数行列Q=(q,q,q,…,q)∈Rd×Lと表記する。 The real matrix acquisition unit 104 acquires a plurality of d-dimensional real vector q n ∈R d (n = 1, 2,..., L). The plurality of real number vectors q n may be given from an external device, may be read from a storage device (not shown) of the feature value computing device 100, and is generated by the real number matrix acquisition unit 104. It may be. Each real vector q n has a real number including a floating point number in its element. Here, an array of a plurality of real number vectors q n is expressed as a real number matrix Q = (q 1 , q 2 , q 3 ,..., Q L ) ∈R d × L.

このように複数の実数ベクトルqをまとめた実数行列Qを用いると、図1及び図2の複数の線形SVMは、下式(1)のようにまとめて表現することができる。

Figure 0006375420
When a real matrix Q in which a plurality of real vectors q n are combined in this way, the plurality of linear SVMs in FIGS. 1 and 2 can be expressed collectively as in the following equation (1).
Figure 0006375420

実数行列分解部105は、図4に示すように、d行L列の実数行列Qを、二値の基底行列M∈{−1,1}d×kと係数行列との積に分解する。具体的には、実数行列分解部105は、d行L列の実数行列Qを、下式(2)によって、二値の要素を持つ基底行列Mと実数の要素を持つ係数行列Cに分解する。

Figure 0006375420
ここで、図4に示すように、M=(m,m,…,m)∈{−1,1}d×kであり、C=(c,c,…,c∈Rk×Lである。 As shown in FIG. 4, the real matrix decomposition unit 105 decomposes the real matrix Q of d rows and L columns into a product of a binary base matrix M∈ {−1,1} d × k and a coefficient matrix. Specifically, the real number matrix decomposition unit 105 decomposes the real number matrix Q of d rows and L columns into a base matrix M having binary elements and a coefficient matrix C having real elements by the following equation (2). .
Figure 0006375420
Here, as shown in FIG. 4, M = (m 1 , m 2 ,..., M k ) ∈ {−1, 1} d × k , and C = (c 1 , c 2 ,..., C L ) T ∈ R k × L.

すなわち、基底行列Mは、k個の基底ベクトルmからなり、ここで、基底ベクトルmは、要素が−1及び1のみをとるd次元の二値ベクトルであり、従って、基底行列Mは、要素が−1及び1のみをとるd行k列の二値行列である。 That is, the basis matrix M is composed of k basis vectors m i , where the basis vector mi is a d-dimensional binary vector having elements of only −1 and 1, and thus the basis matrix M is , Is a binary matrix of d rows and k columns in which elements take only -1 and 1.

また、係数行列Cは、L個(Lはクラス数)の係数ベクトルcからなり、ここで、係数ベクトルcは、k個(kは基底数)の基底ベクトルに係る実数の係数を要素として持つk次元の実数ベクトルである。もちろん、QとMCはなるべく一致するように分解することが好ましいが、誤差を含んでもよい。以下、実数行列分解部105が実数行列Qを式(2)のように分解する手法を説明する。 The coefficient matrix C, L number (L is the number of classes) a coefficient vector c n of where the coefficient vector c n, k pieces (k is the number of base) coefficients of real elements according to basis vectors As a k-dimensional real vector. Of course, it is preferable to decompose Q and MC so that they coincide as much as possible, but an error may be included. Hereinafter, a method in which the real matrix decomposition unit 105 decomposes the real matrix Q as shown in Expression (2) will be described.

(第1の分解手法)
第1の分解手法として、データ非依存型の分解手法を説明する。第1の分解手法では、実数行列分解部105は、分解誤差を表す下式(3)のコスト関数gを解くことで分解
を行う。

Figure 0006375420
ただし、基底行列Mは二値であり、M∈{−1,1}d×kである。 (First decomposition method)
As a first decomposition method, a data-independent decomposition method will be described. In the first decomposition method, a real matrix decomposition unit 105 performs degradation by solving the cost function g 1 of the formula (3) representing the degradation error.
Figure 0006375420
However, the base matrix M is binary and M∈ {−1,1} d × k .

実数行列分解部105は、以下の手順で上記のコスト関数gを解く。
(1)基底行列M及び係数行列Cをランダムに初期化する。
(2)基底行列Mの要素を固定して、係数行列Cの要素を最小二乗法により最適化することで、コスト関数gが最小になるように係数行列Cの要素を更新する。
(3)係数行列Cの要素を固定して、コスト関数gが最小になるように全探索で基底行列Mの要素を更新する。この最小化アルゴリズムである全探索については、後に詳しく述べる。
(4)収束するまで(2)及び(3)を繰り返す。例えば、コスト関数gが所定の収束条件(例えば、減少量が一定値以下となる)を満たしたときに、収束したと判定する。
(5)ステップ(1)〜ステップ(4)により得た解を候補として保持する。
(6)ステップ(1)〜ステップ(5)を繰り返し、最もコスト関数gを小さくできた候補基底行列M及び候補係数行列Cを最終結果として採用する。なお、このステップ(1)〜ステップ(5)の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を回避できる。
The real matrix decomposition unit 105 solves the cost function g 1 according to the following procedure.
(1) The base matrix M and the coefficient matrix C are initialized at random.
(2) fixing the elements of a basis matrix M, the elements of the coefficient matrix C by optimizing the least squares method, the cost function g 1 updates the elements of the coefficient matrix C to minimize.
(3) to fix the elements of the coefficient matrix C, the cost function g 1 updates the elements of the basis matrix M at full search to minimize. The full search which is this minimization algorithm will be described in detail later.
(4) Repeat (2) and (3) until convergence. For example, when the cost function g 1 satisfies a predetermined convergence condition (for example, the amount of decrease is a certain value or less), it is determined that the cost function g 1 has converged.
(5) The solutions obtained in steps (1) to (4) are held as candidates.
(6) Step (1) to repeat steps (5), to adopt the most cost function g 1 Decrease be candidate basis matrix M and the candidate coefficient matrix C as the final result. Note that the steps (1) to (5) need not be repeated, but the problem of initial value dependency can be avoided by repeating a plurality of times.

次に、ステップ(3)における基底行列Mの更新処理を説明する。図5の破線枠で囲ったように、基底行列Mのj行目の行ベクトルの要素は、実数行列のj行目の要素のみに依存する。よって、基底行列Mの各行ベクトルの値は、他の行とは独立して最適化することができるので、基底行列Mは、行ごとに網羅探索(全探索)を行うことができる。基底行列Mのj行目の行ベクトルは、本実施の形態のように二値分解の場合は2k通りしか存在しない(なお、後述の第2の実施の形態の三値分解の場合にも3通りしか存在しない)。よって、実数行列分解部105は、これらをすべて網羅的にチェックし、コスト関数g1を最小化する行ベクトルを採用する。これを基底行列Mのすべての行ベクトルに対して適用して、基底行列Mの要素を更新する。 Next, the update process of the base matrix M in step (3) will be described. As surrounded by the broken line frame in FIG. 5, the element of the row vector of the jth row of the base matrix M depends only on the element of the jth row of the real number matrix. Therefore, the value of each row vector of the base matrix M can be optimized independently of other rows, so that the base matrix M can perform an exhaustive search (full search) for each row. Row vector of the j-th row of the base matrix M is absent only 2 k as in the case of binary decomposition as in the present embodiment (Also in the case of a three-value decomposition of the second embodiment described later There are only 3k ways). Therefore, the real number matrix decomposing unit 105 comprehensively checks them and employs a row vector that minimizes the cost function g 1 . This is applied to all the row vectors of the base matrix M to update the elements of the base matrix M.

(第2の分解手法)
第2の分解手法として、係数行列Cを疎にするデータ非依存型の分解手法を説明する。第2の分解手法では、実数行列分解部105は、分解誤差である下式(4)のコスト関数gを解くことで分解を行う。

Figure 0006375420
ただし、基底行列Mは二値であり、M∈{−1,1}d×kである。また、|C|は、係数行列Cの要素のL1ノルムであり、λはその係数である。 (Second decomposition method)
As a second decomposition method, a data-independent decomposition method that makes the coefficient matrix C sparse will be described. In the second decomposition techniques, real matrix decomposition unit 105 performs degradation by solving the cost function g 2 of the formula is an exploded error (4).
Figure 0006375420
However, the base matrix M is binary and M∈ {−1,1} d × k . Further, | C | 1 is the L1 norm of the element of the coefficient matrix C, and λ is its coefficient.

実数行列分解部105は、以下の手順で上記のコスト関数gを解く。
(1)基底行列M及び係数行列Cをランダムに初期化する。
(2)基底行列Mの要素を固定して、係数行列Cの要素を近接勾配法で最適化する。
(3)係数行列Cの要素を固定して、コスト関数gが最小になるように全探索で基底行列Mの要素を更新する。
(4)収束するまで(2)及び(3)を繰り返す。例えば、コスト関数gが所定の収束条件(例えば、減少量が一定値以下となる)を満たしたときに、収束したと判定する。
(5)ステップ(1)〜ステップ(4)により得た解を候補として保持する。
(6)ステップ(1)〜ステップ(5)を繰り返し、最もコスト関数gを小さくできた候補基底行列M及び候補係数行列Cを最終結果として採用する。なお、このステップ(1)〜ステップ(5)の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を回避できる。
Real matrix decomposition unit 105 solves a cost function g 2 of the following procedure.
(1) The base matrix M and the coefficient matrix C are initialized at random.
(2) The elements of the base matrix M are fixed, and the elements of the coefficient matrix C are optimized by the proximity gradient method.
(3) to fix the elements of the coefficient matrix C, the cost function g 2 updates the elements of the basis matrix M at full search to minimize.
(4) Repeat (2) and (3) until convergence. For example, when the cost function g 2 satisfies a predetermined convergence condition (e.g., decrease amount is less than a predetermined value), it is judged to have converged.
(5) The solutions obtained in steps (1) to (4) are held as candidates.
(6) Step (1) to repeat steps (5), adopts the highest cost function g 2 Decrease be candidate basis matrix M and the candidate coefficient matrix C as the final result. Note that the steps (1) to (5) need not be repeated, but the problem of initial value dependency can be avoided by repeating a plurality of times.

第2の分解手法によれば、係数行列Cを疎にすることができる。係数行列Cを疎にすることで、積MCの計算において、係数行列Cのゼロ要素にかかわる部分を省略することができ、さらに高速に内積計算を行うことができる。   According to the second decomposition method, the coefficient matrix C can be made sparse. By making the coefficient matrix C sparse, in the calculation of the product MC, the portion related to the zero element of the coefficient matrix C can be omitted, and the inner product calculation can be performed at higher speed.

(第3の分解手法)
次に、第3の分解手法を説明する。第1の分解手法では、コスト関数gとして、分解誤差

Figure 0006375420
を定義し、この分解誤差を最小化することを考えた。しかしながら、実数行列を基底行列と係数行列との積に近似した後に実際に近似をしたいのは、特徴ベクトルと実数行列の積Qpである。 (Third decomposition method)
Next, the third decomposition method will be described. In the first decomposition method, the decomposition error is expressed as the cost function g 1.
Figure 0006375420
To minimize this decomposition error. However, what is actually desired to be approximated after the real matrix is approximated to the product of the base matrix and the coefficient matrix is the product Q T p of the feature vector and the real matrix.

そこで、第3の分解手法では、特徴ベクトルpをあらかじめS個集め、これをまとめたものをP∈Rd×Sとする。そして、分解誤差を

Figure 0006375420
と定義して、これを最小化する。即ち、第3の分解手法では、実数行列分解部105は、下式(5)のコスト関数gを解くことで分解を行う。
Figure 0006375420
このコスト関数gによれば、実数行列Qは、実際のデータの分布に従って分解されることになるため、分解の際の近似精度が向上する。 Therefore, in the third decomposition method, S feature vectors p are collected in advance, and the sum of these is defined as P∈R d × S. And the decomposition error
Figure 0006375420
And minimize this. That is, in the third decomposition techniques, real matrix decomposition unit 105 performs degradation by solving the cost function g 3 of the following formula (5).
Figure 0006375420
According to the cost function g 3, real matrix Q, since that would be resolved according to the distribution of the actual data, is improved approximation accuracy of the degradation.

この近似分解は、基底ベクトルmを逐次的に求めることで行うことができる。第3の分解手法の手順は以下のとおりである。
(1)第1又は第2の分解手法によって、基底行列M及び係数行列Cを求めて、これをそれらの初期値とする。
(2)基底行列Mの要素を固定して、係数行列Cの要素を最小二乗法で最適化する。
(3)係数行列Cの要素を固定して、基底行列Mの要素を最適化することで、基底行列Mの要素を更新する。この基底行列Mの更新処理については後述する。
(4)収束するまで(2)及び(3)を繰り返し、コスト関数gを最小化した基底行列M及び係数行列Cを候補として保持する。
(5)ステップ(1)〜(6)を繰り返し、コスト関数gを最小化した基底行列M及び係数行列Cを最終結果として採用する。なお、ステップ(1)では再度第1又は第2の分解手法による基底行列M及び係数行列Cの最適化が行われるので、初期値が変更される。また、ステップ(5)の繰り返しはなくてもよいが、複数回繰り返すことで、初期値依存の問題を軽減できる。
This approximation decomposition can be performed by obtaining the basis vectors m i sequentially. The procedure of the third decomposition method is as follows.
(1) The base matrix M and the coefficient matrix C are obtained by the first or second decomposition method and set as initial values thereof.
(2) The elements of the base matrix M are fixed, and the elements of the coefficient matrix C are optimized by the least square method.
(3) The elements of the base matrix M are updated by fixing the elements of the coefficient matrix C and optimizing the elements of the base matrix M. The update process of the base matrix M will be described later.
(4) until convergence Repeat (2) and (3), to hold the cost function g 3 as a minimized basis matrix M and the candidate coefficient matrix C have.
(5) Step (1) repeatedly to (6), employs a cost function g 3 as a final result a basis matrix M and the coefficient matrix C minimized. In step (1), since the base matrix M and the coefficient matrix C are optimized again by the first or second decomposition method, the initial values are changed. In addition, although step (5) may not be repeated, the problem of initial value dependency can be reduced by repeating a plurality of times.

次に、ステップ(3)における基底行列Mの更新処理を説明する。データ依存分解の場合、基底行列Mの行ベクトルの値は、もはや他の行と独立せず、依存してしまう。基底行列Mの要素は、二値又は三値、即ち離散値であるため、基底行列Mの最適化は、組合最適化問題となる。よって、基底行列Mの最適化には、例えば、グリーディアルゴリズム(Greedy algorithm)、タブーサーチ(Tabu search)、シミュレイテッドアニーリング(Simulated annealing)等のアルゴリズムを用いることができる。ステップ(1)でよい初期値が得られているので、これらのアルゴリズムでも良好に分解誤差を最小化できる。   Next, the update process of the base matrix M in step (3) will be described. In the case of data-dependent decomposition, the value of the row vector of the base matrix M is no longer independent of other rows and is dependent. Since the elements of the base matrix M are binary or ternary, that is, discrete values, the optimization of the base matrix M becomes a combinatorial optimization problem. Thus, for example, an algorithm such as a greedy algorithm, a tabu search, or a simulated annealing can be used to optimize the base matrix M. Since a good initial value is obtained in step (1), these algorithms can satisfactorily minimize the decomposition error.

例えばグリーディアルゴリズムを用いる場合は、以下の手順で基底行列Mを最適化する。
(3−1)基底行列Mの要素のうち、ランダムにT個を選択する。
(3−2)2通りの組み合わせ(後述の三値分解の場合は3通り)を試し、最もコスト関数gを最小化したものを採用する。
(3−3)ステップ(3−1)及びステップ(3−2)を収束するまで繰り返す。
For example, when the greedy algorithm is used, the base matrix M is optimized by the following procedure.
(3-1) T elements of the base matrix M are selected at random.
(3-2) tried combination of street 2 T (3 T as if 3 value decomposition described later), it is taken from the one cost function g 3 minimized.
(3-3) Repeat step (3-1) and step (3-2) until convergence.

(第4の分解手法)
第4の分解手法は、第2の分解手法と第3の分解手法とを組み合わせてものである。具体的には、実数行列分解部105は、下式(6)のコスト関数gを解くことで分解を行う。

Figure 0006375420
このコスト関数gによれば、実数行列Qは、実際のデータの分布に従って分解されることになるため、分解の際の近似精度が向上するとともに、係数行列Cを疎にすることができる。即ち、第2の分解手法のメリットと第3の分解手法のメリットをいずれも得ることができる。具体的な分解の手順は、第3の分解手法と同様である。 (Fourth decomposition method)
The fourth decomposition method is a combination of the second decomposition method and the third decomposition method. Specifically, real matrix decomposition unit 105 performs degradation by solving the cost function g 4 of the formula (6).
Figure 0006375420
According to the cost function g 4, real matrix Q, since that would be resolved according to the distribution of actual data, as well as improved accuracy of approximation during decomposition can be sparsely coefficient matrix C. That is, both of the advantages of the second decomposition method and the third decomposition method can be obtained. The specific decomposition procedure is the same as that in the third decomposition method.

(第1及び第2の分解手法の変形例)
上記の第1及び第2のデータ非依存分解の手法は、分解数をkとしたとき、k通り(三値分解の場合はk通り)の探索が必要であるため、kが大きいときは、適用が難しい。そのような場合は、あらかじめ実数行列Qに所属する実数ベクトルqの互いの類似度を調べ、似ている実数ベクトルどうしをクラスタリングし、各クラスタに対して第1又は第2の分解手法を適用すればよい。
(Modification of the first and second decomposition methods)
In the first and second data-independent decomposition methods, when the number of decompositions is k, k 2 types of search (k 3 types in the case of ternary decomposition) are required. Is difficult to apply. In such a case, the similarities of the real vectors q n belonging to the real matrix Q are examined in advance, the similar real vectors are clustered, and the first or second decomposition method is applied to each cluster. do it.

ベクトル演算部106は、特徴ベクトルを用いた演算を行なう。演算の具体的内容については、後述にて、本実施の形態の特徴量演算装置100の応用例とともに具体的に説明する。この特徴ベクトルを用いた演算には、二値化された特徴ベクトルp∈{−1,1}と実数行列分解部105にて分解された実数行列Qとの積Qpの計算が含まれる。以下では、まず、この積Qpの計算について説明する。 The vector calculation unit 106 performs a calculation using a feature vector. Specific contents of the calculation will be specifically described later together with an application example of the feature amount calculation apparatus 100 of the present embodiment. The calculation using the feature vector includes calculation of a product Q T p of the binarized feature vector pε {−1,1} d and the real matrix Q decomposed by the real matrix decomposition unit 105. It is. In the following, calculation of the product Q T p will be described first.

積Qpは、下式(7)のように式変形できる。

Figure 0006375420
ここで、m pは二値ベクトル同士の内積である。また、cn,iは、n番目のクラスの係数ベクトルcのi番目の要素、即ち係数行列Cのi行n列の要素である。この二値ベクトル同士の内積m pは、極めて高速に計算可能である。その理由は以下のとおりである。 The product Q T p can be transformed into the following equation (7).
Figure 0006375420
Here, m i T p is an inner product of binary vectors. Further, c n, i is an i-th element of the coefficient vector c n of the n-th class, that is, an element of i rows and n columns of the coefficient matrix C. The inner product m i T p between the binary vectors can be calculated extremely quickly. The reason is as follows.

二値ベクトル同士の内積は、ハミング距離の演算に帰着できる。ハミング距離とは、2つのバイナリコードにおいて、値が異なるビットを数えたものであり、2つの二値ベクトルの間のハミング距離は、すなわち値が異なる要素数を数えたものである。ここで、mとpのハミング距離をDhamming(m,p)と記述すると、内積m pは、Dhamming(m,p)と下式(8)の関係がある。

Figure 0006375420
ここで、前述のとおり、dはバイナリコードのビット数である。 An inner product between binary vectors can be reduced to a Hamming distance calculation. The Hamming distance is obtained by counting bits having different values in two binary codes, and the Hamming distance between two binary vectors is obtained by counting the number of elements having different values. Here, m i and Hamming distance p D hamming (m i, p ) and the described, the inner product m i T p is a relationship of D hamming (m i, p) and the following equation (8).
Figure 0006375420
Here, as described above, d is the number of bits of the binary code.

ハミング距離の演算は、2つのバイナリコードにおいて、XORを適用した後に、1が立っているビットを数えることで計算できるので、極めて高速である。二値ベクトルがバイナリコード(0と1のビット列)で表現されているのであれば、ハミング距離は、下式(9)で計算できる。

Figure 0006375420
ここで、XOR関数はmとpをバイナリコード表現で考えたときに排他的論理和を取る操作であり、BITCOUNT関数はバイナリコードの1が立っているビット数を数えあげる処理のことである。 The calculation of the Hamming distance is extremely fast because it can be calculated by counting the bits in which 1 stands after applying XOR in two binary codes. If the binary vector is expressed by a binary code (bit sequence of 0 and 1), the Hamming distance can be calculated by the following equation (9).
Figure 0006375420
Here, XOR function is an operation of the exclusive OR when considering the m i and p in binary code representation, BITCOUNT function is processing to enumerate the number of bits 1 of the binary code is standing .

以上をまとめると、積Qpは下式(10)のように変形できる。

Figure 0006375420
すなわち、dビットのハミング距離計算をk回行い、k個のハミング距離について、係数行列Cに関する重み付け和を計算し、定数項を足したものがQpになる。よって、kが十分小さければ、Qpを浮動小数点精度で計算するよりも、はるかに高速に計算できるようになる。 In summary, the product Q T p can be transformed as shown in the following equation (10).
Figure 0006375420
That is, d-bit Hamming distance calculation is performed k times, a weighted sum related to the coefficient matrix C is calculated for k Hamming distances, and Q T p is obtained by adding a constant term. Thus, if k is sufficiently small, Q T p can be calculated much faster than calculating floating point precision.

データベース107には、実数行列分解部105にて分解された複数の実数行列Qについて、基底行列Mと係数行列Cの積が辞書データとして記憶されている。ベクトル演算部106は、データベース107から基底行列Mと係数行列Cとの積を読み出して、上記の演算を行う。   The database 107 stores the product of the base matrix M and the coefficient matrix C as dictionary data for a plurality of real number matrices Q decomposed by the real number matrix decomposition unit 105. The vector calculation unit 106 reads the product of the base matrix M and the coefficient matrix C from the database 107 and performs the above calculation.

以上のように、本実施の形態の特徴量演算装置100によれば、特徴ベクトルを用いた演算処理に特徴ベクトルと実数行列との積演算が含まれている場合にも、特徴ベクトルを二値化した上で、実数行列についても、二値行列である基底行列と係数行列との積に分解するので、特徴ベクトルと実数行列との積の計算において、特徴ベクトルと基底行列との積を計算した上で、さらに係数行列との積を計算することで、特徴ベクトルと実数行列との積演算を高速化できる。   As described above, according to the feature amount computing apparatus 100 of the present embodiment, even when the computation processing using the feature vector includes the product computation of the feature vector and the real number matrix, the feature vector is binarized. Then, the real matrix is also decomposed into the product of the base matrix and coefficient matrix, which is a binary matrix, so the product of the feature vector and the base matrix is calculated when calculating the product of the feature vector and the real matrix. In addition, by further calculating the product of the coefficient matrix, the product operation of the feature vector and the real number matrix can be speeded up.

また、複数の実数ベクトルを1つの実数行列としてまとめ、その実数行列を二値行列である基底行列と係数行列とに分解するので、先願の技術のように各実数ベクトルをそれぞれ分解する場合と比較して、基底行列を構成する基底ベクトルの個数、即ち基底数を小さくすることができる。原理的には、1クラスあたり1個以下の基底数(即ち、基底数k≦クラス数L)とすることも可能である。   In addition, since a plurality of real vectors are combined into one real matrix and the real matrix is decomposed into a binary matrix, a base matrix and a coefficient matrix, each real vector is decomposed as in the prior application technique. In comparison, the number of basis vectors constituting the basis matrix, that is, the number of basis can be reduced. In principle, it is possible to set the number of bases to one or less per class (that is, base number k ≦ number of classes L).

1−2.第1の実施の形態の拡張
上記の第1の実施の形態では、二値ベクトルm、pを、それぞれ、m∈{−1,1}、p∈{−1,1}と定義して、実数行列を二値の基底行列と実数の係数行列との積に分解することで積演算Qpが高速になることを説明した。しかしながら、m、pをより一般的な二値ベクトルm´∈{−a,a}、p´∈{−a,a}としても、それらの高速な積演算が可能である。この場合、m´p´=a(m p)であることから、−1及び1により定義される二値ベクトル同士の内積にaを掛ければよい。
1-2. Extension of the First Embodiment In the first embodiment described above, the binary vectors m i and p are converted to m i ε {−1,1} d and pε {−1,1} d , respectively. By definition, it has been explained that the product operation Q T p becomes faster by decomposing a real matrix into a product of a binary base matrix and a real coefficient matrix. However, even if m i and p are more general binary vectors m i ′ ε {−a, a} d and p′ε {−a, a} d , their high-speed product operations can be performed. In this case, since m iT p ′ = a 2 (m i T p), the inner product of binary vectors defined by −1 and 1 may be multiplied by a 2 .

さらに、特徴ベクトル及び基底ベクトルを任意の二値ベクトルm´´∈{α,β}、p´´∈{γ,δ}としても、高速な内積演算が可能である。ここで、係数α、β、γ、δは実数であり、α≠β、γ≠δである。この場合、m´´及びp´´は、−1及び1により定義される二値ベクトルm及びpの各要素に線形変換を施すことで得られ、下式(11)及び(12)のように展開される。

Figure 0006375420
Figure 0006375420
なお、式(11)及び(12)中の太字の「1」は、長さがdですべての要素が1であるベクトルである。また、式(11)及び(12)中のA、B、C、Dは実数であり、式(11)及び(12)が成立するようにあらかじめ計算しておけばよい。 Furthermore, even if the feature vector and the base vector are arbitrary binary vectors m i ″ ε {α, β} d , p ″ ε {γ, δ} d , high-speed inner product calculation is possible. Here, the coefficients α, β, γ, and δ are real numbers, and α ≠ β and γ ≠ δ. In this case, m i'' and p'' is obtained by performing a linear transformation to each element of the binary vector m i and p defined by -1 and 1, the following equation (11) and (12) It is expanded like this.
Figure 0006375420
Figure 0006375420
Note that the bold “1” in the equations (11) and (12) is a vector having a length of d and all elements being 1. Further, A, B, C, and D in the equations (11) and (12) are real numbers, and may be calculated in advance so that the equations (11) and (12) are satisfied.

内積m´´p´´は、下式(13)のように展開できる。

Figure 0006375420
式(13)の括弧内の計算は、−1及び1からなる二値ベクトル同士の内積である。従って、特徴ベクトルが任意の二値の要素をもつ二値ベクトルにされ、かつ、実数行列を二値の基底行列と実数の係数行列との積に展開した場合にも、高速演算が可能である。 The inner product m i ″ T p ″ can be expanded as shown in the following equation (13).
Figure 0006375420
The calculation in the parentheses in the equation (13) is an inner product of binary vectors consisting of -1 and 1. Therefore, even when the feature vector is a binary vector having an arbitrary binary element and the real matrix is expanded into a product of a binary base matrix and a real coefficient matrix, high-speed calculation is possible. .

1−3.第2の実施の形態
次に、第2の実施の形態の特徴量演算装置を説明する。第2の実施の形態の特徴量演算装置の構成は、図1に示した第1の実施の形態のそれと同じである。第1の実施の形態では、実数行列分解部105は、実数行列Qを式(1)によって二値の基底行列と実数の係数行列に分解したが、本実施の形態の特徴量演算装置100の実数行列分解部105は、実数行列を三値の基底行列と実数の係数行列に分解する。
1-3. Second Embodiment Next, a feature amount computing device according to a second embodiment will be described. The configuration of the feature quantity computing device of the second embodiment is the same as that of the first embodiment shown in FIG. In the first embodiment, the real number matrix decomposing unit 105 decomposes the real number matrix Q into a binary base matrix and a real coefficient matrix according to equation (1). The real matrix decomposition unit 105 decomposes the real matrix into a ternary basis matrix and a real coefficient matrix.

実数行列分解部105は、d行L列の実数行列Q∈Rd×Lを、三値の基底行列と実数の係数行列の積に分解する。具体的には、実数行列分解部105は、d行L列の実数行列Q∈Rd×Lを、下式(14)によって、三値の要素を持つ基底行列Mと実数の要素を持つ係数行列Cに分解する。

Figure 0006375420
ここで、M=(m,m,…,m)∈{−1,0,1}d×kであり、C=(c,c,…,c∈Rk×Lである。すなわち、基底行列Mは、k個の基底ベクトルmからなり、ここで、基底ベクトルmは、要素が−1、0、及び1のみをとるd次元の三値ベクトルであり、従って、基底行列Mは、要素が−1、0、及び1のみをとるd行k列の三値行列である。 The real matrix decomposition unit 105 decomposes the real matrix QεR d × L with d rows and L columns into a product of a ternary basis matrix and a real coefficient matrix. Specifically, the real matrix decomposing unit 105 converts the real matrix QεR d × L of d rows and L columns into a base matrix M having ternary elements and a coefficient having real elements by the following equation (14). Decompose into matrix C.
Figure 0006375420
Here, M = (m 1 , m 2 ,..., M k ) ∈ {−1, 0, 1} d × k , and C = (c 1 , c 2 ,..., C L ) T ∈ R k × L. That is, the basis matrix M consists of k basis vectors m i, where the basis vectors m i, the element is a three-value vector of d-dimensional take -1,0, and 1 only, therefore, basal The matrix M is a ternary matrix of d rows and k columns having elements of only −1, 0, and 1.

また、係数行列Cは、L個(Lはクラス数)の係数ベクトルcからなり、ここで、係数ベクトルcは、k個の基底ベクトルに係る実数の係数を要素として持つk次元の実数ベクトルである。もちろん、QとMCはなるべく一致するように分解することが好ましいが、誤差を含んでもよい。実数行列分解部105は、第1の実施の形態と同様にして、第1〜第3の分解手法によって実数行列Qを分解できる。 The coefficient matrix C, L number (L is the number of classes) a coefficient vector c n of where the coefficient vector c n, k-dimensional real number having real coefficients according to the k basis vectors as elements Is a vector. Of course, it is preferable to decompose Q and MC so that they coincide as much as possible, but an error may be included. The real number matrix decomposition unit 105 can decompose the real number matrix Q by the first to third decomposition methods in the same manner as in the first embodiment.

ベクトル演算部106は、積Qpを計算する。以下では、積Qpを計算するベクトル演算部106を特に、積演算部106とも呼ぶ。積Qpは、下式(15)のように式変形できる。

Figure 0006375420
ここで、m pは、三値ベクトルmと二値ベクトルpとの内積である。積演算部106は、ここで、三値ベクトルmの代わりに、以下に定義する0置換ベクトルm bin、フィルタベクトルm filter、及び0要素数zを用いる。 Vector operation unit 106 calculates product Q T p. Hereinafter, the vector calculation unit 106 that calculates the product Q T p is also specifically referred to as a product calculation unit 106. The product Q T p can be transformed into the following equation (15).
Figure 0006375420
Here, m i T p is the inner product of the ternary vector m i and binary vector p. Product unit 106, here, instead of the three-valued vector m i, 0 permutation vector m i bin as defined below, filter vector m i filter, and using a 0 element number z i.

まず、積演算部106は、mの0の要素を、−1又1に置き換える。mの各要素について、それを−1に置き換えるか、1に置き換えるかは、いずれでもよい。この置き換えによって、0置換ベクトルm bin∈{−1,1}が生成される。この0置換ベクトルm bin∈{−1,1}は二値ベクトルである。 First, product unit 106, a zero element of m i, replaced by -1 The 1. For each element of m i, to replace it to -1, is either replaced by 1, it may be any. By this replacement, a zero replacement vector m i bin ε {−1, 1} d is generated. The 0 substitution vector m i bin ε {−1, 1} d is a binary vector.

また、積演算部106は、mの0の要素を−1に置き換え、0以外の要素を1に置き換える。この置き換えによって、フィルタベクトルm filter∈{−1,1}が生成される。このフィルタベクトルm filterも二値ベクトルである。 Also, product unit 106 replaces the 0 element of m i -1, replace the elements other than 0 to 1. By this replacement, a filter vector m i filter ε {−1, 1} d is generated. The filter vector m i filter is also binary vector.

さらに、積演算部106は、mの0の要素数zを求める。zは整数となる。積演算部106は、これらの二値ベクトルm bin、フィルタベクトルm filter、及び0要素数zを用いて、式(15)におけるm pを、下の式(16)及び式(17)によって計算する。

Figure 0006375420
Figure 0006375420
ここで、式(17)のAND関数は、二値ベクトルをバイナリコード表現で考えたときに、論理積を取る操作である。 Furthermore, product unit 106 calculates the number of elements z i 0 of m i. z i is an integer. The product calculation unit 106 uses the binary vector m i bin , the filter vector m i filter , and the number of 0 elements z i to calculate m i T p in the equation (15) and the following equations (16) and Calculate according to (17).
Figure 0006375420
Figure 0006375420
Here, the AND function of Expression (17) is an operation for taking a logical product when a binary vector is considered in binary code expression.

以下、図6の具体例を用いて、式(16)及び(17)の導出を説明する。図6は、本実施の形態の計算例を示す図である。図6の例では、p={−1,1,−1,1,−1,1}であり、m={−1,0,1,0,1,1}である。この例では、m bin={−1,*,1,*,1,1}となる。ここで、「*」は−1又は1の任意のいずれかを示す。また、m filter={1,−1,1,−1,1,1}となり、z=2となる。 Hereinafter, the derivation of Expressions (16) and (17) will be described using the specific example of FIG. FIG. 6 is a diagram illustrating a calculation example of the present embodiment. In the example of FIG. 6, p = {- 1,1, -1,1, -1,1} and is, m i = - a {1,0,1,0,1,1}. In this example, m i bin = {- 1 , *, 1, *, 1,1} a. Here, “*” represents any one of −1 or 1. Also, m i filter = {1, -1,1, -1,1,1} , and becomes a z i = 2.

式(17)におけるpとm binとの排他的論理和は、XOR(p,m bin)={−1,*,1,*,1,−1}となり、すなわち、pとmの要素のうち、非0で異なっている要素すなわち−1と1又は1と−1の組となる要素が1となり、−1と−1又は1と1の組となる要素が−1となる。 The exclusive OR of p and m i bin in equation (17) is XOR (p, m i bin ) = {− 1, *, 1, *, 1, −1}, that is, p and mi Among the elements of, elements that are non-zero and different, that is, elements that are a pair of -1 and 1 or 1 and -1, are 1, and elements that are a pair of -1 and -1 or 1 and 1 are -1. .

次に、その排他的論理和とm filterとの論理積は、AND(XOR(p,m bin),m filter))={−1,−1,1,−1,1,−1}となり、pとmの要素のうち、非0で異なっている要素に1が立ち、それ以外は−1となる。このビットカウントを取ると、1である要素の個数、すなわち非0で異なっている要素の個数が数え上げられ、Dfiltered_hamming(p,m bin,m filter)=2となる。 Next, the logical product of the exclusive OR and m i filter is, AND (XOR (p, m i bin), m i filter)) = {- 1, -1,1, -1,1, - 1}, and the elements of p and m i, 1 is standing on elements that differ nonzero, is -1 otherwise. When this bit count is taken, the number of elements that are 1, that is, the number of non-zero and different elements is counted, and D filtered_hamming (p, m i bin , m i filter ) = 2.

ここで、pとmの要素のうち、1と1又は−1と−1の組となる要素の個数は、全要素数d=6から、非0で異なっている要素の個数Dfiltered_hamming=2と0である要素の個数z=2を引くことで求められる。すなわち、1と1又は−1と−1の組となる要素の数=d−Dfiltered_hamming−z=6−2−2=2となる。 Among the elements of p and m i, 1 and 1 or -1 and the number of sets to become elements of -1, the total number of elements d = 6, elements that differ nonzero number D filtered_hamming = It is obtained by subtracting the number z i = 2 of elements that are 2 and 0. That is, the number of elements that are a set of 1 and 1 or −1 and −1 = d−D filtered_hamming− z i = 6-2-2 = 2.

pは、1と1又は−1と−1の組となる要素(積が1になる要素の組)の個数から、−1と1又は1と−1との組となる要素(積が−1になる要素の組)の個数を引いた値と等しいため、m p=(d−Dfiltered_hamming−z)−Dfiltered_hamming=d−z−2Dfiltered_hammingとなり、式(16)が得られ、その値は、6−2−2×2=0となる。なお、この結果は、当然ながら、p={−1,1,−1,1,−1,1}×{−1,0,1,0,1,1}=1+0+(−1)+0+(−1)+1=0と一致する。 m i T p is an element (a set of −1 and 1 or 1 and −1) from the number of elements (a set of elements whose product is 1) that is a set of 1 and 1 or −1 and −1. since the product is equal to the value obtained by subtracting the number of pairs) of the elements becomes -1, m i T p = ( d-D filtered_hamming -z i) -D filtered_hamming = d-z i -2D filtered_hamming next, formula (16 ), And the value is 6-2-2 × 2 = 0. It should be noted that, as a matter of course, p T m i = {− 1,1, −1,1, −1,1} × {−1,0,1,0,1,1} = 1 + 0 + (− 1 ) +0 + (− 1) + 1 = 0.

式(15)〜(17)をまとめると、積QTpは、下式(18)のように変形できる。

Figure 0006375420
積演算部106は、この式(18)によって、積QTpを計算する。 Summarizing the equations (15) to (17), the product Q T p can be transformed as the following equation (18).
Figure 0006375420
The product calculation unit 106 calculates the product Q T p by this equation (18).

関数Dfiltered_hamming(p,m bin,m filter)は、ハミング距離演算と非常に似ており、AND演算が加わっただけである。したがって、Q∈Rd×Lを、三値行列と係数行列との積に分解した場合でも、Qpを浮動小数点精度で計算するよりも、はるかに高速にQpを計算できるようになる。 The function D filtered_hamming (p, m i bin , m i filter ) is very similar to the Hamming distance calculation and only an AND operation is added. Therefore, the Q∈R d × L, even when decomposed into a product of the three value matrix and the coefficient matrix, rather than calculating the Q T p in floating point precision, so that it can calculate the Q T p much faster Become.

以上のように、d次元の実数行列Q∈Rd×Lを、二値ではなく三値の基底行列と係数行列との積に分解することの利点は、式(10)の近似が、より少ない数の基底数の基底行列でも成立するようになることにある。すなわち、基底数を小さく抑えられることになるため、さらなる高速化につながる。 As described above, the advantage of decomposing a d-dimensional real matrix Q∈R d × L into a product of a ternary basis matrix and a coefficient matrix instead of binary is that the approximation of Equation (10) is more The reason is that even a basis matrix with a small number of basis numbers is established. That is, since the number of bases can be kept small, the speed is further increased.

1−4.第2の実施の形態の拡張
上記の第2の実施の形態では、二値ベクトルp及び三値ベクトルmを、それぞれ、p∈{−1,1}、m∈{−1,0,1}と定義して、複数の実数ベクトルからなる実数行列を三値の基底行列と係数行列との積に分解することで内積演算pが高速になることを説明した。しかしながら、p、mをより一般的な二値ベクトルp´∈{−a,a}、三値ベクトルm∈{−a,0,a}としても、それらの高速な内積演算が可能である。この場合、p´´=a(p)であることから、−1及び1により定義される二値ベクトル同士の内積にaを掛ければよい。
1-4. In the second embodiment of the extension above second embodiment, the binary vector p and ternary vector m i, respectively, p∈ {-1,1} d, m i ∈ {-1,0 , 1} d , it has been explained that the inner product operation p T m i is accelerated by decomposing a real matrix composed of a plurality of real vectors into a product of a ternary basis matrix and a coefficient matrix. However, even if p and m i are more general binary vectors p′∈ {−a, a} d and ternary vectors m i ∈ {−a, 0, a} d , their high-speed inner product operations can be performed. Is possible. In this case, since p ′ T m i ′ = a 2 (p T m i ), the inner product of binary vectors defined by −1 and 1 may be multiplied by a 2 .

さらに、二値ベクトルp及び三値ベクトルmをp∈{α,β}、m∈{γ−δ,γ,γ+δ}と一般化しても、高速な内積演算が可能である。ここで、α、β、γ、δは実数であり、α≠β、δ≠0である。この場合、m及びpの各要素に下式(19)及び(20)の線形変換を施すことで、それぞれm´´及びp´´が得られる。

Figure 0006375420
Figure 0006375420
なお、式(19)及び(20)中の太字の「1」は、長さがdですべての要素が1であるベクトルである。また、式(19)及び(20)中のA、B、C、Dは実数であり、式(19)及び(20)が成立するようにあらかじめ計算しておく。 Furthermore, the binary vector p and ternary vector m i the p∈ {α, β} d, m i ∈ {γ-δ, γ, γ + δ} be d and generalized, which enables high-speed dot product operations. Here, α, β, γ, and δ are real numbers, and α ≠ β and δ ≠ 0. In this case, by performing a linear transformation of the formula (19) and (20) to each element of the m i and p, m i'' and p'' is obtained, respectively.
Figure 0006375420
Figure 0006375420
Note that the bold “1” in the equations (19) and (20) is a vector having a length of d and all elements being 1. Further, A, B, C, and D in the equations (19) and (20) are real numbers, and are calculated in advance so that the equations (19) and (20) are satisfied.

内積m´´p´´は、下式(21)のように展開できる。

Figure 0006375420
式(21)の括弧内の計算は、−1及び1からなる二値ベクトル同士の内積、又は−1及び1からなる二値ベクトルと−1、0、1からなる三値ベクトルとの内積である。従って、特徴ベクトルが任意の二値ベクトルにされ、かつ、実数行列を上記のとおり一般化した三値行列を用いて展開した場合にも、そのような特徴ベクトルと実数行列との積を高速に演算できる。 The inner product m i ″ T p ″ can be expanded as shown in the following equation (21).
Figure 0006375420
The calculation in the parenthesis of the equation (21) is an inner product of binary vectors consisting of -1 and 1, or an inner product of a binary vector consisting of -1 and 1, and a ternary vector consisting of -1, 0, 1. is there. Therefore, even when the feature vector is an arbitrary binary vector and the real matrix is expanded using the generalized ternary matrix as described above, the product of such a feature vector and the real matrix can be increased at high speed. Can be calculated.

2.応用例
次に、ベクトル演算部106における演算処理について説明する。上記の第1及び第2の実施の形態のベクトル演算部106は、二値化された特徴ベクトルpと複数の実数ベクトルqをまとめた実数行列Qとの積の計算を伴うものであるが、そのような演算処理は種々ある。すなわち、本発明の上記の実施の形態は、特徴ベクトルを用いて演算処理を行なう種々の装置に応用できる。
2. Application Example Next, calculation processing in the vector calculation unit 106 will be described. The vector calculation unit 106 of the first and second embodiments described above involves calculation of the product of the binarized feature vector p and a real matrix Q that is a collection of a plurality of real vectors q. There are various such arithmetic processes. That is, the above-described embodiment of the present invention can be applied to various devices that perform arithmetic processing using feature vectors.

2−1.第1の応用例
本応用では、本発明がHOG特徴量を用いてSVMにより複数種類の物体を認識する物体認識装置に応用される。図7は、物体認識装置の構成を示すブロック図である。物体認識装置10は、ピラミッド画像生成部11と、HOG特徴量抽出部12と、バイナリコード変換部13と、パラメータ決定部14と、パラメータ行列分解部15と、線形SVM識別部16と、ピーク検出部17とを備えている。
2-1. First Application Example In this application, the present invention is applied to an object recognition apparatus that recognizes a plurality of types of objects by SVM using HOG feature values. FIG. 7 is a block diagram illustrating a configuration of the object recognition apparatus. The object recognition apparatus 10 includes a pyramid image generation unit 11, an HOG feature amount extraction unit 12, a binary code conversion unit 13, a parameter determination unit 14, a parameter matrix decomposition unit 15, a linear SVM identification unit 16, and a peak detection Part 17.

ピラミッド画像生成部11は、入力クエリとしての画像を取得して、当該画像を複数段階の倍率でそれぞれ縮小してなるG段のピラミッド画像を生成する。これにより、サイズの異なる物体に対処できる。このピラミッド画像生成部11は、図3に示したコンテンツ取得部101に対応する。HOG特徴量抽出部12は、ピラミッド画像の各段における画像を、16×16ピクセルのサイズのブロックに分割し、各ブロックからHOG特徴量を抽出する。HOG特徴量抽出部12は、各ブロックからD次元の特徴量を抽出する。このHOG特徴量抽出部12は、図3に示した特徴ベクトル抽出部102に対応する。バイナリコード変換部13は、各セルに与えられたD次元の特徴量を、d次元の二値ベクトルに変換する。このバイナリコード変換部13は、図3に示した特徴ベクトル二値化部103に対応する。   The pyramid image generation unit 11 acquires an image as an input query, and generates a G-stage pyramid image obtained by reducing the image at a plurality of levels of magnification. Thereby, it is possible to deal with objects of different sizes. This pyramid image generation unit 11 corresponds to the content acquisition unit 101 shown in FIG. The HOG feature amount extraction unit 12 divides the image at each stage of the pyramid image into blocks each having a size of 16 × 16 pixels, and extracts the HOG feature amount from each block. The HOG feature quantity extraction unit 12 extracts a D-dimensional feature quantity from each block. The HOG feature amount extraction unit 12 corresponds to the feature vector extraction unit 102 shown in FIG. The binary code conversion unit 13 converts the D-dimensional feature value given to each cell into a d-dimensional binary vector. The binary code conversion unit 13 corresponds to the feature vector binarization unit 103 shown in FIG.

パラメータ決定部14は、認識したい対象の種類(大人、子供、車、バイクといった種類であって、パラメータで定義される)ごとに、それぞれ線形SVM識別部16における線形SVMにて用いる重みベクトルw(n=1,2,…,L)及び実数のバイアスb(n=1,2,…,L)を決定する。パラメータ決定部14は、学習用に用意された特徴量を用いて、学習処理によってL種類の重みベクトルw及びバイアスbを決定して、重みベクトルwをまとめた重み行列Wを生成する。このパラメータ決定部14は、図3に示した実数行列取得部104に対応する。パラメータ行列分解部15は、重み行列Wを第1又は第2の実施の形態で説明した式(2)又は式(14)によって離散値の基底行列と係数行列との積に分解する。このパラメータ行列分解部15は、図3に示した実数行列分解部105に対応する。 The parameter determination unit 14 uses the weight vector w n used in the linear SVM in the linear SVM identification unit 16 for each type of object to be recognized (adult, child, car, motorcycle, etc., which is defined by parameters). (N = 1, 2,..., L) and a real bias b n (n = 1, 2,..., L) are determined. Parameter determination unit 14 uses the feature quantity prepared for the learning, and determining the L type of weight vector w n and the bias b n by the learning process to generate a weight matrix W summarizes the weight vector w n . The parameter determination unit 14 corresponds to the real number matrix acquisition unit 104 shown in FIG. The parameter matrix decomposition unit 15 decomposes the weight matrix W into a product of a discrete value base matrix and a coefficient matrix according to the equation (2) or the equation (14) described in the first or second embodiment. The parameter matrix decomposition unit 15 corresponds to the real number matrix decomposition unit 105 shown in FIG.

線形SVM識別部16は、線形SVMによって特徴ベクトルの識別を行なう。線形SVM識別部16は、まず、s×sブロックをひとまとまりとして、検出ウィンドウを構成する。1つの検出ウィンドウから抽出される特徴ベクトルは、s×s×d次元のベクトルとなる。線形SVM識別部16は、この特徴ベクトルに対して、下式(22)の線形SVMを適用する。

Figure 0006375420
ここで、線形SVMにおける積演算Wxは、第1又は第2の実施の形態として説明した実数行列と二値ベクトルの高速な積演算により実現できる。 The linear SVM identifying unit 16 identifies feature vectors using a linear SVM. First, the linear SVM identification unit 16 configures a detection window by collecting s x × s y blocks as a group. The feature vector extracted from one detection window is a vector of s x × s y × d dimensions. The linear SVM identification unit 16 applies the linear SVM of the following expression (22) to this feature vector.
Figure 0006375420
Here, the product operation W T x in the linear SVM can be realized by the high-speed product operation of the real matrix and the binary vector described as the first or second embodiment.

検出位置付近では、検出結果が固まることがある。そこで、ピーク検出部17は、周辺でf(x)の値が最大になったところを、代表的な検出位置とする。この線形SVM識別部16及びピーク検出部17は、特徴ベクトルを用いた処理を行なう構成であり、図3のベクトル演算部106に対応する。   The detection result may be hardened in the vicinity of the detection position. Therefore, the peak detection unit 17 sets a position where the value of f (x) is maximized around as a representative detection position. The linear SVM identification unit 16 and the peak detection unit 17 are configured to perform processing using feature vectors, and correspond to the vector calculation unit 106 in FIG.

次に、この物体認識装置10において、HOG特徴量により、回転し得る物体を検出する例を説明する。図8は、回転する道路標識について、それぞれの回転角度で辞書q及びバイアスbを作成する場合を示している。図8において左右方向は道路標識の回転角度θを示している。 Next, an example will be described in which the object recognition apparatus 10 detects a rotatable object based on the HOG feature amount. FIG. 8 shows a case where a dictionary q n and a bias b n are created at each rotation angle for a rotating road sign. In FIG. 8, the left-right direction indicates the rotation angle θ of the road sign.

従来のアプローチでは、回転角度ごとに学習処理を行って辞書q及びバイアスbを取得する。その後、入力画像からHOG特徴量を抽出して、検出ウィンドウ(スライディングウィンドウ)をL回適用することでこの道路標識の検出を行っている。しかしながら、このような従来の手法では、1検出ウィンドウあたりL回の内積計算が必要となり、計算量が多くなる。また、検出の角度分解能は2pi/Lであり、粗い。 In the conventional approach, the learning process is performed for each rotation angle to obtain the dictionary q n and the bias b n . Thereafter, the HOG feature amount is extracted from the input image, and this road sign is detected by applying a detection window (sliding window) L times. However, such a conventional method requires L times of inner product calculation per detection window, which increases the amount of calculation. Further, the angular resolution of detection is 2 pi / L, which is rough.

そこで、本応用例では、パラメータ決定部14が辞書qをまとめて行列Qとし、SVM識別部16は、下式(23)により複数の辞書qと特徴ベクトルpとの内積計算をまとめて行う。

Figure 0006375420
このようにk個の整数基底に分解することにより、1検出ウィンドウあたり、k回の二値と二値との内積演算又は二値と三値との内積演算で処理が可能となる。このとき、隣り合う辞書同士が似ているため、整数基底の数kを小さくすることができ、原理的には1クラスあたり1個以下(k≦L)とすることも可能である。 Therefore, in this application example, the parameter determination unit 14 collects the dictionary q n into the matrix Q, and the SVM identification unit 16 collects the inner product calculation of the plurality of dictionaries q n and the feature vector p by the following equation (23). Do.
Figure 0006375420
By decomposing into k integer bases in this way, processing can be performed by k inner product operations of binary and binary values or inner product operations of binary values and ternary values per detection window. At this time, since adjacent dictionaries are similar, the number k of integer bases can be reduced, and in principle, one or less (k ≦ L) can be set per class.

本応用例では、さらに、ピーク検出部17が、係数行列Cの性質に着目した検出分解能の高精度化を行う。図9は、係数行列Cの性質を示す図である。実数ベクトルqが回転角度θをパラメータとして、そのパラメータに従って変化するものである場合には、複数の実数ベクトルqをまとめて実数行列Qを生成する際に、図8に示すように、複数の実数ベクトルqをパラメータθの順に並べると、図9に示すように、係数行列Cの実数ベクトルqが並べられた方向と同方向の各ベクトル、即ち係数行列Cの各行ベクトルの要素の行方向の変化が滑らかになる。 In this application example, the peak detection unit 17 further increases the accuracy of detection resolution focusing on the property of the coefficient matrix C. FIG. 9 is a diagram illustrating the properties of the coefficient matrix C. When the real vector q n changes according to the rotation angle θ as a parameter, a plurality of real vectors q n are combined to generate a real matrix Q as shown in FIG. of arranging the real vector q n in the order parameter theta, as shown in FIG. 9, the vector of the real vector q n is ordered in the same direction as the direction of the coefficient matrix C, i.e. the coefficient matrix C of each row vector elements The line direction changes smoothly.

そこで、ピーク検出部17は、係数行列Cの行ベクトルを多項式でフィッティングして、下式(24)のように連続関数で表現する。

Figure 0006375420
ここで、αは、フィッティングの係数である。 Therefore, the peak detector 17 fits the row vector of the coefficient matrix C with a polynomial and expresses it with a continuous function as shown in the following equation (24).
Figure 0006375420
Here, α i is a fitting coefficient.

これを用いて識別関数の式を整理すると、回転角度θにおける識別関数は下式(25)のようにパラメータθに関する連続関数の形式で表現できる。

Figure 0006375420
ピーク検出部17は、この識別関数を用いてピークの検出を行う。c(θ)は式(24)に示すように多項式であるから、fθ(p)もまた連続関数(連続の多項式)となる。図10は、fθ(p)の例を示すグラフである。図10において、横軸は回転角度θであり、縦軸はfθ(p)である。ピーク検出部17は、fθ(p)が正の最大をとるときのθを対象の回転角度、即ち特徴ベクトルpのパラメータ値として検出する。 If the formula of the discriminant function is arranged using this, the discriminant function at the rotation angle θ can be expressed in the form of a continuous function related to the parameter θ as in the following formula (25).
Figure 0006375420
The peak detection unit 17 detects a peak using this discrimination function. Since c i (θ) is a polynomial as shown in equation (24), f θ (p) is also a continuous function (continuous polynomial). FIG. 10 is a graph showing an example of f θ (p). In FIG. 10, the horizontal axis represents the rotation angle θ, and the vertical axis represents f θ (p). The peak detection unit 17 detects θ when f θ (p) takes a positive maximum as the target rotation angle, that is, the parameter value of the feature vector p.

以上のように、複数の辞書qをまとめて行列Qを生成する際に、複数の辞書qをそれが滑らかに変化するように、パラメータ(図8の例ではθ)の順に並べて行列Qを生成することで、識別関数をそのパラメータに関する多項式の形式で表現できるので、高い分解能でそのパラメータを検出できるようになる。 As described above, when generating a matrix Q together multiple dictionaries q n, as the multiple dictionaries q n it changes smoothly, the parameter matrix arranged in the order of (the θ in the example of FIG. 8) Q Since the discriminant function can be expressed in the form of a polynomial related to the parameter, the parameter can be detected with high resolution.

なお、上記ではパラメータを回転角度として説明したが、パラメータは例えばスケールであってもよい。すなわち、図2のように検出ウィンドウの大きさは固定とし、検出ウィンドウ内における人物のサイズ(スケール)ごとに、別々に識別器を学習しておき、スケールσに関して多項式のフィッティングを行い、スケールσに関して識別器のピークを求めることで、高精度にスケール推定をおこなえるようになる。また、このように工夫することで、ピラミッド画像自体の生成を不要とできる。さらにパラメータが複数であってもよい。例えば、回転角度θとスケールσの両方に関して上記の多項式へのフィッティングを行ってもよい。この場合、係数はc(θ,σ)のように、二次元の多項式となる。 In the above description, the parameter is described as the rotation angle, but the parameter may be a scale, for example. That is, as shown in FIG. 2, the size of the detection window is fixed, the classifier is separately learned for each person size (scale) in the detection window, the polynomial is fitted to the scale σ, and the scale σ By obtaining the peak of the discriminator for, the scale can be estimated with high accuracy. Further, by devising in this way, generation of the pyramid image itself can be made unnecessary. Furthermore, there may be a plurality of parameters. For example, fitting to the above polynomial may be performed for both the rotation angle θ and the scale σ. In this case, the coefficient is a two-dimensional polynomial such as c i (θ, σ).

また、係数αは、まず係数行列Cを求めてから各行をフィッティングして求めることができるが、係数行列Cの個々の要素cn,iを求めずに直接係数αを求めてもよい。さらに、フィッティングする関数は多項式でなくてもよく、例えば三角関数(サイン、コサイン)にフィッティングしてもよい。 The coefficient α i can be obtained by first obtaining the coefficient matrix C and then fitting each row. However, the coefficient α i may be obtained directly without obtaining the individual elements cn , i of the coefficient matrix C. . Furthermore, the function to be fitted may not be a polynomial, and may be fitted to a trigonometric function (sine, cosine), for example.

2−2.第2の応用例
本実施の形態では、本発明がk−meansクラスタリングに応用される。図11は、k−meansクラスタリング装置の構成を示すブロック図である。k−meansクラスタリング装置20は、コンテンツ取得部21と、特徴ベクトル生成部22と、特徴ベクトル二値化部23と、代表行列更新部24と、収束判定部25と、代表行列分解部26と、最近接代表ベクトル探索部27とを備えている。
2-2. Second Application Example In the present embodiment, the present invention is applied to k-means clustering. FIG. 11 is a block diagram illustrating a configuration of the k-means clustering apparatus. The k-means clustering device 20 includes a content acquisition unit 21, a feature vector generation unit 22, a feature vector binarization unit 23, a representative matrix update unit 24, a convergence determination unit 25, a representative matrix decomposition unit 26, The closest representative vector search unit 27 is provided.

コンテンツ取得部21は、クラスタリングの対象となるN個のコンテンツを取得する。特徴ベクトル生成部22は、コンテンツ取得部21にて取得した各コンテンツからそれらの特徴量を特徴ベクトルpとして抽出する。特徴ベクトル二値化部23は、特徴ベクトル抽出部22にて抽出された各特徴ベクトルを二値化する。   The content acquisition unit 21 acquires N contents to be clustered. The feature vector generation unit 22 extracts the feature amount from each content acquired by the content acquisition unit 21 as a feature vector p. The feature vector binarization unit 23 binarizes each feature vector extracted by the feature vector extraction unit 22.

代表行列更新部24は、まず、特徴ベクトル二値化部23で二値化されたN個の特徴ベクトルからk(=L)個をランダムに選出してこれを代表ベクトルq(n=1,2,…,L)とし、これらの代表ベクトルqをまとめた行列を代表行列Qとする。収束判定部25は、代表行列更新部24が代表行列を更新するごとに収束判定を行なう。収束判定部25にて収束したと判定された場合には、k−meansクラスタリング装置20はクラスタリングの処理を終了する。代表行列分解部26は、代表行列更新部24にて更新された代表行列を離散値(二値又は三値)行列に分解する。 First, the representative matrix update unit 24 randomly selects k (= L) from the N feature vectors binarized by the feature vector binarization unit 23, and selects them as the representative vector q n (n = 1). , 2,..., L), and a matrix in which these representative vectors q n are collected is a representative matrix Q. The convergence determination unit 25 performs convergence determination every time the representative matrix update unit 24 updates the representative matrix. If the convergence determination unit 25 determines that the convergence has been achieved, the k-means clustering apparatus 20 ends the clustering process. The representative matrix decomposition unit 26 decomposes the representative matrix updated by the representative matrix update unit 24 into a discrete value (binary or ternary) matrix.

最近接代表ベクトル探索部27は、特徴ベクトル二値化部23より入力されるN個の二値ベクトルをそれぞれ最も近傍の代表ベクトルqに所属させる。最近接代表ベクトル探索部27は、この結果を代表行列更新部24に出力する。代表行列更新部24は、各代表ベクトルqについて、それに所属する特徴ベクトル(二値化されている)の平均ベクトルを算出して、これを新しい代表ベクトルqとする。このようにして代表行列更新部24で更新される代表ベクトルqは、二値ベクトルの平均で算出されるので、実数ベクトルとなる。 The closest representative vector search unit 27 causes the N binary vectors input from the feature vector binarization unit 23 to belong to the nearest representative vector q n , respectively. The closest representative vector search unit 27 outputs this result to the representative matrix update unit 24. For each representative vector q n , the representative matrix update unit 24 calculates an average vector of feature vectors (binarized) belonging to the representative vector q n and sets this as a new representative vector q n . The representative vector q n updated by the representative matrix update unit 24 in this way is calculated as the average of the binary vectors, and thus becomes a real vector.

従って、仮に代表行列分解部26がなければ、最近接代表ベクトル探索部27は、更新された代表ベクトル(実数ベクトル)と特徴ベクトル(二値ベクトル)との距離を求めるためにそれらの内積を計算しなければならない。そこで、本実施の形態では、上記のように、この代表ベクトルq(実数ベクトル)の集合である代表行列Qを代表行列分解部26によって、第1又は第2の実施の形態で説明したように、離散値(二値又は三値)行列と実数の係数行列との積に分解する。それによって、最近接代表ベクトル探索部27における、各特徴ベクトルと各代表ベクトルとの距離の計算を高速にでき、よって各特徴ベクトルが最も近接する代表ベクトル(すなわち、所属すべき代表ベクトル)を高速に探索できる。 Accordingly, if there is no representative matrix decomposition unit 26, the nearest representative vector search unit 27 calculates the inner product of them to obtain the distance between the updated representative vector (real vector) and the feature vector (binary vector). Must. Therefore, in the present embodiment, as described above, the representative matrix Q that is a set of the representative vectors q n (real vector) is described by the representative matrix decomposing unit 26 in the first or second embodiment. And a product of a discrete value (binary or ternary) matrix and a real coefficient matrix. As a result, the nearest representative vector search unit 27 can calculate the distance between each feature vector and each representative vector at high speed, so that the representative vector to which each feature vector is closest (that is, the representative vector to which the feature vector belongs) is fast. To explore.

2−3.第3の応用例
本実施の形態では、本発明がk−means treeによる近似最近傍探索に応用される。本実施の形態の近似最近傍探索装置は、k−meansを用いたk−分木による近似最近傍探索手法として、Marius Muja and David G. Lowe, "Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration", in International Conference on Computer Vision Theory and Applications (VISAPP' 09), 2009(http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN、http://people .cs.ubc.ca/~mariusm/uploads/FLANN/flann_visapp09.pdf)に提案されている手法を採用する。
2-3. Third Application Example In the present embodiment, the present invention is applied to an approximate nearest neighbor search by k-means tree. The approximate nearest neighbor search apparatus according to the present embodiment uses Marius Muja and David G. Lowe, “Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration”, in as an approximate nearest neighbor search method using a k-ary tree using k-means. International Conference on Computer Vision Theory and Applications (VISAPP '09), 2009 (http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN, http: // people .cs.ubc.ca /~mariusm/uploads/FLANN/flann_visapp09.pdf)

具体的には、本実施の形態の近似最近傍探索装置は、N個のデータに対してk−meansを再帰的に適用することでk−分木を構築し、上記提案の木探索の原理により近似的に最近傍点を探索する。この手法は、データが実数ベクトルであり、かつノードに登録されている代表ベクトルが二値ベクトルである場合を前提として設計される。但し、データが二値ベクトルであって、ノードに登録されている代表ベクトルが実数ベクトルである場合にも、第1又は第2の実施の形態を採用することで、木探索を高速化できる。   Specifically, the approximate nearest neighbor search apparatus of the present embodiment constructs a k-ary tree by recursively applying k-means to N pieces of data, and the principle of the tree search proposed above. To search for the nearest neighbor point approximately. This method is designed on the assumption that the data is a real vector and the representative vector registered in the node is a binary vector. However, even when the data is a binary vector and the representative vector registered in the node is a real vector, the tree search can be speeded up by adopting the first or second embodiment.

3.変形例
特徴量演算装置100において、コンテンツ取得部101、特徴ベクトル生成部102、特徴ベクトル二値化部103、実数行列取得部104、実数行列分解部105、及びベクトル演算部106の一部と他の部分とが別々の装置として構成されていてもよい。特に、コンテンツ取得部101、特徴ベクトル生成部102、特徴ベクトル二値化部103、及びベクトル演算部106が特徴演算装置100に搭載され、実数行列取得部104、及び実数行列分解部105が別の装置に搭載されてよい。この場合には、実数行列分解部105にて分解された複数の実数行列が特徴演算装置100のデータベース107に記憶され、ベクトル演算部106は、データベース107から分解された複数の実数行列を取得する。
3. Modified Example In the feature amount calculation device 100, a part of the content acquisition unit 101, the feature vector generation unit 102, the feature vector binarization unit 103, the real number matrix acquisition unit 104, the real number matrix decomposition unit 105, and the vector calculation unit 106 and others These parts may be configured as separate devices. In particular, the content acquisition unit 101, the feature vector generation unit 102, the feature vector binarization unit 103, and the vector calculation unit 106 are mounted on the feature calculation device 100, and the real matrix acquisition unit 104 and the real matrix decomposition unit 105 are different from each other. It may be mounted on the device. In this case, a plurality of real number matrices decomposed by the real number matrix decomposition unit 105 are stored in the database 107 of the feature calculation apparatus 100, and the vector calculation unit 106 acquires the plurality of real number matrices decomposed from the database 107. .

上記の実施の形態では、基底行列Mが二値又は三値であったが、基底行列Mが二値又は三値でなくともよい。基底行列Mのとり得る要素の種類が有限の数であれば上記の分解手法を適用して実数行列を分解することができる。また、係数行列Cも、基底行列Mと同様にあらかじめ定められた離散的な値でもよい。例えば、係数行列Cの要素を2のべき乗に制約してもよく、そうすることで、処理を高速化できる。また、分解する実数行列Qの要素の平均値が著しく大きい(若しくは小さい)場合、すなわち、平均値が0から著しく離れている場合には、この平均値をあらかじめ実数行列Qの各要素から引いてオフセット実数行列を生成し、このオフセット実数行列Q´を基底行列Mと係数行列Cに分解すると、より少ない基底で式(2)や式(14)の近似分解を行うことができる。   In the above embodiment, the base matrix M is binary or ternary, but the base matrix M may not be binary or ternary. If the number of types of elements that the base matrix M can take is a finite number, the real matrix can be decomposed by applying the above decomposition method. Also, the coefficient matrix C may be a discrete value determined in advance as in the base matrix M. For example, the elements of the coefficient matrix C may be constrained to a power of 2, and the processing can be speeded up by doing so. When the average value of the elements of the real number matrix Q to be decomposed is remarkably large (or small), that is, when the average value is significantly different from 0, the average value is subtracted from each element of the real number matrix Q in advance. When an offset real number matrix is generated and the offset real number matrix Q ′ is decomposed into a base matrix M and a coefficient matrix C, approximate decomposition of Expression (2) and Expression (14) can be performed with fewer bases.

なお、第1及び第2の実施の形態において、コンテンツ取得部101にて取得されるコンテンツデータは、車両から得られる計測データであってよい。さらに、車両から得られる計測データは、例えば、車両に設置されたカメラで撮影された画像データ、車両に設置されたセンサで計測されたセンシングデータであってよい。この場合に、関連性判定装置としての特徴演算装置100のベクトル演算部106は、計測データと辞書データとの関連性を判定する。例えば、計測データとして、車両に設置されたカメラで撮影された画像データが取得される場合には、辞書データとして複数の人物画像のデータがデータベースに保存されており、関連性判定装置としての特徴演算装置100のベクトル演算部106は、上記の応用例のいずれかによって、画像データの画像に人物が含まれるか否かを判定してよい。   In the first and second embodiments, the content data acquired by the content acquisition unit 101 may be measurement data obtained from a vehicle. Furthermore, the measurement data obtained from the vehicle may be, for example, image data captured by a camera installed in the vehicle, or sensing data measured by a sensor installed in the vehicle. In this case, the vector calculation unit 106 of the feature calculation device 100 as the relevance determination device determines the relevance between the measurement data and the dictionary data. For example, when image data taken by a camera installed in a vehicle is acquired as measurement data, data of a plurality of person images are stored in a database as dictionary data, and the feature as a relevance determination device The vector calculation unit 106 of the calculation device 100 may determine whether or not a person is included in the image of the image data according to any of the application examples described above.

本発明は、二値化された特徴ベクトルと複数の実数ベクトルの各々との内積計算を高速化でき、そのような特徴ベクトルと複数の実数ベクトルの各々との関連性の判定を高速に行うことができるという効果を有し、複数の実数ベクトルと二値ベクトルに変換された特徴ベクトルとの内積の計算を含むベクトル演算によって特徴ベクトルと複数の実数ベクトルの各々との関連性の判定を行う関連性判定装置等として有用である。   The present invention is capable of speeding up the inner product calculation of a binarized feature vector and each of a plurality of real vectors, and determining the relevance between such a feature vector and each of a plurality of real vectors at high speed. A relationship that determines the relationship between a feature vector and each of a plurality of real vectors by a vector operation including the calculation of the inner product of a plurality of real vectors and a feature vector converted to a binary vector. It is useful as a sex determination device.

100 特徴量演算装置
101 コンテンツ取得部
102 特徴ベクトル生成部
103 特徴ベクトル二値化部
104 実数行列取得部
105 実数行列分解部
106 ベクトル演算部(積演算部)
10 物体認識装置
11 ピラミッド画像生成部
12 HOG特徴量抽出部
13 バイナリコード変換部
14 パラメータ決定部
15 パラメータ行列分解部
16 線形SVM識別部
17 ピーク検出部
20 k−meansクラスタリング装置
21 コンテンツ取得部
22 特徴ベクトル生成部
23 特徴ベクトル二値化部
24 代表行列更新部
25 収束判定部
26 代表行列分解部
27 最近接代表ベクトル算出部
DESCRIPTION OF SYMBOLS 100 Feature amount calculating device 101 Content acquisition part 102 Feature vector generation part 103 Feature vector binarization part 104 Real number matrix acquisition part 105 Real number matrix decomposition part 106 Vector calculation part (product operation part)
DESCRIPTION OF SYMBOLS 10 Object recognition apparatus 11 Pyramid image generation part 12 HOG feature-value extraction part 13 Binary code conversion part 14 Parameter determination part 15 Parameter matrix decomposition part 16 Linear SVM identification part 17 Peak detection part 20 k-means clustering apparatus 21 Content acquisition part 22 Feature Vector generation unit 23 Feature vector binarization unit 24 Representative matrix update unit 25 Convergence determination unit 26 Representative matrix decomposition unit 27 Nearest representative vector calculation unit

Claims (9)

二値化された特徴ベクトルを取得する特徴ベクトル取得部と、
複数の実数ベクトルからなる実数行列を、係数行列と、要素として二値または三値の離散値のみを持つ複数の基底ベクトルからなる基底行列との積に分解して得られた前記ベクトルと前記係数行列とを含む辞書データを記憶するデータベースと、
前記特徴ベクトルと前記複数の実数ベクトルの各々との内積の計算として、前記特徴ベクトルと前記基底行列との積を計算し、さらに当該積と前記係数行列との積を計算して、その結果を用いて、前記複数の実数ベクトルの各々と前記特徴ベクトルとの関連性を判定するベクトル演算部と、
を備えたことを特徴とする関連性判定装置。
A feature vector acquisition unit for acquiring a binarized feature vector;
The vector obtained by decomposing a real matrix composed of a plurality of real vectors into a product of a coefficient matrix and a base matrix composed of a plurality of base vectors having only binary or ternary discrete values as elements and the coefficients A database for storing dictionary data including a matrix;
As the calculation of the inner product of the feature vector and each of the plurality of real vectors, the product of the feature vector and the base matrix is calculated, the product of the product and the coefficient matrix is calculated, and the result is A vector operation unit for determining the relevance between each of the plurality of real vectors and the feature vector;
A relevance determination device characterized by comprising:
前記複数の実数ベクトルを並べることで前記実数行列を生成する実数行列生成部をさらに備えたことを特徴とする請求項1に記載の関連性判定装置。   The relevance determination device according to claim 1, further comprising a real number matrix generation unit that generates the real number matrix by arranging the plurality of real number vectors. 前記実数行列生成部は、前記複数の実数ベクトルが所定のパラメータを有する場合に、当該パラメータの順に従って前記複数の実数ベクトルを並べることにより前記実数行列を生成することを特徴とする請求項2に記載の関連性判定装置。   The real number matrix generation unit generates the real number matrix by arranging the plurality of real number vectors according to the order of the parameters when the plurality of real number vectors have a predetermined parameter. The relevance determination device described. 前記特徴ベクトルは、HOG特徴量であり、
前記複数の実数ベクトルは、複数の線形識別器のパラメータに対応する複数の重みベクトルであり、
前記ベクトル演算部は、前記関連性の判定として、前記複数の線形識別器の識別関数によって、複数の基準の各々に対する前記特徴ベクトルの識別を行なう
ことを特徴とする請求項2に記載の関連性判定装置。
The feature vector is a HOG feature amount,
The plurality of real vectors are a plurality of weight vectors corresponding to parameters of a plurality of linear classifiers,
The relevance according to claim 2, wherein the vector calculation unit identifies the feature vector for each of a plurality of criteria by using an identification function of the plurality of linear classifiers as the relevance determination. Judgment device.
前記実数行列生成部は、前記特徴ベクトル及び前記複数の実数ベクトルが1又は複数のパラメータを有する場合に、当該パラメータの順に従って前記複数の実数ベクトルを並べることにより前記実数行列を生成し、
前記ベクトル演算部は、前記係数行列を構成する複数のベクトルであって前記複数の実数ベクトルが並べられた方向と同方向の複数のベクトルの各々を前記パラメータに関する連続関数で表現し、前記識別関数を最大にする前記パラメータを、前記特徴ベクトルのパラメータ値として求めることを特徴とする請求項4に記載の関連性判定装置。
When the feature vector and the plurality of real vectors have one or more parameters, the real matrix generation unit generates the real matrix by arranging the plurality of real vectors according to the order of the parameters,
The vector calculation unit represents each of a plurality of vectors constituting the coefficient matrix in the same direction as a direction in which the plurality of real vectors are arranged as a continuous function related to the parameter, and the identification function The relevance determination apparatus according to claim 4, wherein the parameter that maximizes the value is obtained as a parameter value of the feature vector.
前記特徴ベクトルは、k−meansクラスタリングによるクラスタリングの対象となるベクトルであり、
前記実数ベクトルは、k−meansクラスタリングにおける代表ベクトルであり、
前記ベクトル演算部は、前記関連性の判定として、前記特徴ベクトルと前記代表ベクトルとの間の距離の演算を含むクラスタリング処理を行なう
ことを特徴とする請求項1ないし3のいずれか一項に記載の関連性判定装置。
The feature vector is a vector to be clustered by k-means clustering,
The real vector is a representative vector in k-means clustering,
The said vector calculating part performs the clustering process including the calculation of the distance between the said feature vector and the said representative vector as determination of the said relationship. The Claim 1 thru | or 3 characterized by the above-mentioned. Relevance determination device.
前記特徴ベクトルは、k−means treeによる近似最近傍探索の対象となるベクトルであり、
前記実数ベクトルは、k−分木のノードに登録されている代表ベクトルであり、
前記ベクトル演算部は、前記関連性の判定として、前記特徴ベクトルと前記代表ベクトルとの間の距離の演算を含むクラスタリング処理を行なう
ことを特徴とする請求項1ないし3のいずれか一項に記載の関連性判定装置。
The feature vector is a vector to be subjected to an approximate nearest neighbor search by k-means tree,
The real vector is a representative vector registered in a node of the k-ary tree,
The said vector calculating part performs the clustering process including the calculation of the distance between the said feature vector and the said representative vector as determination of the said relationship. The Claim 1 thru | or 3 characterized by the above-mentioned. Relevance determination device.
前記特徴ベクトルは、画像の特徴量を表すベクトルであることを特徴とする請求項1ないし7のいずれか一項に記載の関連性判定装置。   The relevance determination apparatus according to claim 1, wherein the feature vector is a vector that represents a feature amount of an image. コンピュータを、請求項1ないし8のいずれか一項に記載の関連性判定装置として機能させるための関連性判定プログラム。   A relevance determination program for causing a computer to function as the relevance determination device according to any one of claims 1 to 8.
JP2017139451A 2017-07-18 2017-07-18 Relevance determination device and relevance determination program Active JP6375420B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017139451A JP6375420B2 (en) 2017-07-18 2017-07-18 Relevance determination device and relevance determination program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017139451A JP6375420B2 (en) 2017-07-18 2017-07-18 Relevance determination device and relevance determination program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014010648A Division JP6259671B2 (en) 2014-01-23 2014-01-23 Relevance determination device, relevance determination program, and relevance determination method

Publications (2)

Publication Number Publication Date
JP2017215984A JP2017215984A (en) 2017-12-07
JP6375420B2 true JP6375420B2 (en) 2018-08-15

Family

ID=60577100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017139451A Active JP6375420B2 (en) 2017-07-18 2017-07-18 Relevance determination device and relevance determination program

Country Status (1)

Country Link
JP (1) JP6375420B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111492049B (en) 2017-11-08 2023-11-03 株式会社钟化 Inspection equipment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5258915B2 (en) * 2011-02-28 2013-08-07 株式会社デンソーアイティーラボラトリ Feature conversion device, similar information search device including the same, coding parameter generation method, and computer program

Also Published As

Publication number Publication date
JP2017215984A (en) 2017-12-07

Similar Documents

Publication Publication Date Title
JP6566397B2 (en) Recognition device, real matrix decomposition method, recognition method
JP7360497B2 (en) Cross-modal feature extraction method, extraction device, and program
JP6055391B2 (en) Relevance determination device, relevance determination program, and relevance determination method
Shen et al. A fast optimization method for general binary code learning
CN109716362B (en) Neural network device, vehicle control system, decomposition processing device, and program
Al Maadeed et al. Automatic prediction of age, gender, and nationality in offline handwriting
JP6259671B2 (en) Relevance determination device, relevance determination program, and relevance determination method
JP6235414B2 (en) Feature quantity computing device, feature quantity computing method, and feature quantity computing program
Schonberger et al. Paige: pairwise image geometry encoding for improved efficiency in structure-from-motion
CN112163114B (en) Image retrieval method based on feature fusion
Patro et al. Dictionary-based classifiers for exploiting feature sequence information and their application to hyperspectral remotely sensed data
EP4285281A1 (en) Annotation-efficient image anomaly detection
Jayady et al. Theme Identification using Machine Learning Techniques
Ganji et al. Multi variant handwritten Telugu character recognition using transfer learning
Akhand et al. Human age prediction from facial image using transfer learning in deep convolutional neural networks
Salman et al. Gene expression analysis via spatial clustering and evaluation indexing
JP6375420B2 (en) Relevance determination device and relevance determination program
Menon et al. Document classification with hierarchically structured dictionaries
Liu et al. Multiview Cross-Media Hashing with Semantic Consistency
Xia et al. Graph based family relationship recognition from a single image
Jilcha et al. Machine learning-based advertisement banner identification technique for effective piracy website detection process
Kaur et al. Newspaper text recognition printed in Gurumukhi script: SVM versus MLP
CN112149566A (en) Image processing method and device, electronic equipment and storage medium
JP2022131443A (en) Inference program and inference method
Gauquier et al. Automatically Inferring the Document Class of a Scientific Article

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180717

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180723

R150 Certificate of patent or registration of utility model

Ref document number: 6375420

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250