JP2011221689A - Learning device, learning method, recognition device, recognition method, and program - Google Patents

Learning device, learning method, recognition device, recognition method, and program Download PDF

Info

Publication number
JP2011221689A
JP2011221689A JP2010088462A JP2010088462A JP2011221689A JP 2011221689 A JP2011221689 A JP 2011221689A JP 2010088462 A JP2010088462 A JP 2010088462A JP 2010088462 A JP2010088462 A JP 2010088462A JP 2011221689 A JP2011221689 A JP 2011221689A
Authority
JP
Japan
Prior art keywords
feature
vector
model
hash function
query
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.)
Withdrawn
Application number
JP2010088462A
Other languages
Japanese (ja)
Inventor
Ka-Nyong Oh
嘉寧 呉
Yoshiaki Iwai
嘉昭 岩井
Shunichi Honma
俊一 本間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2010088462A priority Critical patent/JP2011221689A/en
Publication of JP2011221689A publication Critical patent/JP2011221689A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To raise recognition accuracy when object recognition using a local feature quantity is performed by LSH.SOLUTION: A hash function is applied to a model feature quantity vector representing the feature quantity of a model feature point extracted from a model image, and the model feature quantity vector is quantized. Quantization is performed so that an inner product value between the model feature quantity vector and a hash function vector is compared with a threshold, and is quantized to one value of two values of 1 and 0. In addition, when the two values are within a quantization error margin which is set to the hash function vector on a feature quantity space, the other value of the two values is also set as a quantization value. The model feature point which has the model feature quantity vector is clustered so as to belong to a plurality of clusters based on the quantization value of the model feature quantity vector. This invention is applicable to a device which performs an object recognition using the local feature quantity.

Description

本発明は、学習装置、学習方法、認識装置、認識方法、およびプログラムに関し、特に、局所特徴量を用いた認識をLSHによって行う場合の認識精度を向上させることができるようにした学習装置、学習方法、認識装置、認識方法、およびプログラムに関する。   The present invention relates to a learning device, a learning method, a recognition device, a recognition method, and a program, and in particular, a learning device capable of improving recognition accuracy when recognition using a local feature amount is performed by LSH, and learning The present invention relates to a method, a recognition device, a recognition method, and a program.

画像内に写る物体を認識する物体認識の方法として、物体を局所的な特徴量で記述し、局所特徴量同士のマッチングを行う方法がある。局所特徴量を用いた物体認識によれば、視点変化や画像内の物体の部分的な隠れがある場合などに対してもロバスト性を確保することが可能になる。   As an object recognition method for recognizing an object appearing in an image, there is a method in which an object is described with local feature values and matching between local feature values is performed. According to object recognition using local feature amounts, robustness can be ensured even when there is a change in viewpoint or partial occlusion of an object in an image.

局所特徴量を用いた物体認識においては、多数のクエリ特徴点とモデル特徴点のマッチング(最近傍探索)が行われるため、全ての特徴量間の類似度を求めるための膨大な計算量が問題になる。ここで、クエリ特徴点は、物体認識時にクエリとして入力された画像であるクエリ画像から抽出された特徴点であり、モデル特徴点は、物体認識の前に行われる学習時に用いられる画像であるモデル画像から抽出された特徴点である。   In object recognition using local features, many query feature points and model feature points are matched (nearest neighbor search), so a huge amount of computation is required to determine the similarity between all feature values. become. Here, the query feature point is a feature point extracted from a query image that is an image input as a query at the time of object recognition, and the model feature point is a model that is an image used at the time of learning performed before object recognition. It is a feature point extracted from the image.

そこで、局所特徴量を用いた物体認識を高速化させる方法として、近年、LSH(Locality Sensitive Hashing)などの方法が用いられている。   Therefore, in recent years, a method such as LSH (Locality Sensitive Hashing) has been used as a method for speeding up object recognition using local features.

LSHを用いた場合、学習時、モデル特徴点の特徴量を表すモデル特徴量ベクトルにハッシュ関数を適用してハッシュ値が計算され、閾値処理によってモデル特徴量ベクトルの量子化が行われる。また、量子化後の値に応じて各モデル特徴点がクラスタリングされる。   When LSH is used, at the time of learning, a hash value is calculated by applying a hash function to a model feature amount vector representing a feature amount of a model feature point, and the model feature amount vector is quantized by threshold processing. Each model feature point is clustered according to the value after quantization.

図1は、特徴量ベクトルの量子化の例を示す図である。   FIG. 1 is a diagram illustrating an example of quantization of a feature vector.

図1の例においては、ハッシュ関数ベクトルf乃至fが予め用意されている。ハッシュ関数は、それが適用される特徴量ベクトルと次元数が同じベクトルとして表される。 In the example of FIG. 1, hash function vectors f 1 to f 3 are prepared in advance. The hash function is represented as a vector having the same dimensionality as the feature vector to which the hash function is applied.

例えば、図1に示すように、モデル特徴量ベクトルとして特徴量ベクトルAが抽出された場合、特徴量ベクトルAと、ハッシュ関数ベクトルf乃至fのそれぞれとの内積がハッシュ値として算出される。算出された内積値が閾値以上であるか否かに応じて、特徴量ベクトルが1と0のうちのいずれかの値に量子化される。 For example, as shown in FIG. 1, when a feature vector A is extracted as a model feature vector, an inner product of the feature vector A and each of the hash function vectors f 1 to f 3 is calculated as a hash value. . Depending on whether the calculated inner product value is equal to or greater than the threshold value, the feature vector is quantized to one of 1 and 0.

図1の例においては、ハッシュ関数ベクトルfを用いることによって特徴量ベクトルAが値0に量子化されている。また、ハッシュ関数ベクトルfとfを用いることによって、それぞれ、特徴量ベクトルAが値1に量子化されている。 In the example of FIG. 1, the feature vector A is quantized to a value of 0 by using the hash function vector f 1 . Further, the feature vector A is quantized to a value 1 by using the hash function vectors f 2 and f 3 , respectively.

この場合、特徴量ベクトルAにより特徴量が表されるモデル特徴点は、[0,1,1]をキーとするクラスタ([0,1,1]によって識別されるクラスタ)に属する特徴点としてクラスタリングされる。   In this case, the model feature point whose feature amount is represented by the feature amount vector A is a feature point belonging to a cluster (cluster identified by [0, 1, 1]) having [0, 1, 1] as a key. Clustered.

同様に、モデル特徴量ベクトルとして特徴量ベクトルBが抽出された場合、特徴量ベクトルBと、ハッシュ関数ベクトルf乃至fのそれぞれとの内積が計算される。 Similarly, when the feature vector B is extracted as the model feature vector, the inner product of the feature vector B and each of the hash function vectors f 1 to f 3 is calculated.

図1の例においては、ハッシュ関数ベクトルfを用いることによって特徴量ベクトルBが値0に量子化されている。また、ハッシュ関数ベクトルfとfを用いることによって、それぞれ、特徴量ベクトルBが値0と値1に量子化されている。 In the example of FIG. 1, the feature vector B is quantized to a value 0 by using the hash function vector f 1 . Further, by using the hash function vectors f 2 and f 3 , the feature vector B is quantized to a value 0 and a value 1, respectively.

この場合、特徴量ベクトルBにより特徴量が表されるモデル特徴点は、[0,0,1]をキーとするクラスタに属する特徴点としてクラスタリングされる。   In this case, the model feature points whose feature amounts are represented by the feature amount vector B are clustered as feature points belonging to a cluster having [0, 0, 1] as a key.

学習時においては、全てのモデル特徴量ベクトルがこのようにして量子化され、量子化結果に基づいてモデル特徴点がクラスタリングされる。   At the time of learning, all model feature quantity vectors are quantized in this way, and model feature points are clustered based on the quantization result.

一方、認識時、図1を参照して説明した処理と同様の処理によって、クエリ特徴点の特徴量を表すクエリ特徴量ベクトルにハッシュ関数を適用してハッシュ値が計算され、閾値処理によってクエリ特徴量ベクトルの量子化が行われる。   On the other hand, at the time of recognition, a hash value is calculated by applying a hash function to a query feature quantity vector representing a feature quantity of a query feature point by a process similar to the process described with reference to FIG. Quantization of the quantity vector is performed.

また、量子化後の値に応じて各クエリ特徴点がクラスタリングされ、同じクラスタに属するモデル特徴点との間で、特徴量ベクトルの類似度が計算され、最近傍のモデル特徴点が決定される。   Also, each query feature point is clustered according to the quantized value, the feature vector similarity is calculated with model feature points belonging to the same cluster, and the nearest model feature point is determined. .

クラスタリングが行われるため、LSHによれば、全ての特徴点間の特徴量の類似度を計算する完全な最近傍探索より少ない量の計算で、近似的に、最近傍探索を実現することが可能になる。   Since clustering is performed, according to LSH, it is possible to achieve a nearest neighbor search approximately with a smaller amount of computation than a perfect nearest neighbor search that calculates the similarity of feature quantities between all feature points. become.

’Locality−sensitive hashing scheme based on p-stable distributions’, Mayur Datar, Piotr Indyk, Proceedings of the twentieth annual symposium on Computational geometry, pp. 253-262, 2004‘Locality-sensitive hashing scheme based on p-stable distributions’, Mayur Datar, Piotr Indyk, Proceedings of the twentieth annual symposium on Computational geometry, pp. 253-262, 2004 Object Recognition Using Locality-Sensitive Hashing of Shape Contexts’, Andrea Frome, Jitendra Malik, Nearest-Neighbor Methods in Learning and Vision, Eds. G. Shakhnarovich, T. Darrell, P. Indyk, 2005Object Recognition Using Locality-Sensitive Hashing of Shape Contexts ’, Andrea Frome, Jitendra Malik, Nearest-Neighbor Methods in Learning and Vision, Eds. G. Shakhnarovich, T. Darrell, P. Indyk, 2005

ハッシュ関数を適用して求められたハッシュ値が閾値以上であるか否かに応じて1と0の二値のうちのいずれかの値に特徴量ベクトルを量子化する方法では、量子化誤差が発生しやすく、それがもとで、近似最近傍探索を正しく行うことができないことがある。   In a method of quantizing a feature vector into one of two values of 1 and 0 depending on whether or not a hash value obtained by applying a hash function is greater than or equal to a threshold value, a quantization error is generated. This is likely to occur, and the approximate nearest neighbor search may not be performed correctly.

図2は、特徴量ベクトルの量子化誤差について説明する図である。   FIG. 2 is a diagram for explaining a quantization error of a feature vector.

例えば、図2の特徴量ベクトルAとBは、学習時にモデル画像から抽出されたモデル特徴点の特徴量を表す特徴量ベクトルである。ハッシュ関数ベクトルfには、ハッシュ関数ベクトルfと直交する超平面(特徴量空間が2次元で表される場合、直交する直線)が閾値として設定されている。   For example, the feature quantity vectors A and B in FIG. 2 are feature quantity vectors representing the feature quantities of model feature points extracted from the model image during learning. In the hash function vector f, a hyperplane orthogonal to the hash function vector f (or a straight line orthogonal when the feature amount space is expressed in two dimensions) is set as a threshold value.

図2の例においては、特徴量ベクトルAとハッシュ関数ベクトルfの内積値は閾値としての0以上であり、特徴量ベクトルAは値1に量子化されている。また、特徴量ベクトルBとハッシュ関数ベクトルfの内積値は閾値としての0未満であり、特徴量ベクトルBは値0に量子化されている。   In the example of FIG. 2, the inner product value of the feature quantity vector A and the hash function vector f is 0 or more as a threshold value, and the feature quantity vector A is quantized to a value of 1. Further, the inner product value of the feature vector B and the hash function vector f is less than 0 as a threshold, and the feature vector B is quantized to a value of 0.

特徴量ベクトルAとBは特徴量空間上では接近しているにも関わらず、異なる値に量子化されている。これにより、特徴量ベクトルAにより特徴量が表されるモデル特徴点と、特徴量ベクトルBにより特徴量が表されるモデル特徴点がそれぞれ異なるクラスタに属する特徴点としてクラスタリングされてしまう。   The feature vectors A and B are quantized to different values even though they are close in the feature space. As a result, the model feature point whose feature amount is represented by the feature amount vector A and the model feature point whose feature amount is represented by the feature amount vector B are clustered as feature points belonging to different clusters.

閾値処理の対象になるハッシュ値はハッシュ関数ベクトルと特徴量ベクトルとの内積値であるため、以上のような量子化は、ハッシュ関数ベクトルと直交する超平面で特徴量空間を二分して、1と0の二値のうちのいずれかの値を設定する処理に相当する。   Since the hash value to be subjected to the threshold processing is the inner product value of the hash function vector and the feature quantity vector, the quantization as described above bisects the feature quantity space by a hyperplane orthogonal to the hash function vector. This corresponds to the process of setting one of the two values 0 and 0.

従って、切断面の両側の、切断面近辺に特徴量ベクトルがある場合(内積が0に近い場合)、たとえ接近していてもそれぞれの特徴量ベクトルが異なる値に量子化されてしまう。その結果、特徴量空間においては接近している特徴量ベクトルを有する特徴点同士が異なるクラスタに属する特徴点としてクラスタリングされてしまい、全ての特徴点間の類似度を求める完全な最近傍探索と比較してマッチング性能が低下する。   Therefore, when there is a feature vector near the cut surface on both sides of the cut surface (when the inner product is close to 0), each feature vector is quantized to a different value even if they are close. As a result, in the feature space, feature points having close feature vectors are clustered as feature points belonging to different clusters, and compared with a complete nearest neighbor search for similarity between all feature points. As a result, matching performance deteriorates.

本発明はこのような状況に鑑みてなされたものであり、局所特徴量を用いた物体認識をLSHによって行う場合の認識精度を向上させることができるようにするものである。   The present invention has been made in view of such a situation, and makes it possible to improve recognition accuracy when object recognition using local features is performed by LSH.

本発明の一側面の学習装置は、入力されたモデルデータの特徴点であるモデル特徴点を決定し、前記モデル特徴点の特徴量を抽出する抽出手段と、前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定する量子化手段と、前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングするクラスタリング手段とを備える。   The learning device according to one aspect of the present invention determines a model feature point that is a feature point of input model data, and extracts the feature amount of the model feature point, and represents the feature amount of the model feature point Depending on whether or not the inner product value of the model feature vector and the LSH hash function vector having the same dimension as the model feature vector is equal to or greater than a threshold, the model feature vector is set to 1 and 0. When the model feature vector is quantized to one of binary values and the model feature vector is within the margin set in the hash function vector in the feature space, the other of the binary values of 1 and 0 is used. Quantization means for setting a value as a value after quantization of the model feature quantity vector, and the model feature points are obtained by using the model feature quantity vector obtained by using the respective hash function vectors. The combination of values after quantization Torr and a clustering unit for clustering the feature point belonging to the cluster identified.

前記モデル特徴量ベクトルの情報と、前記モデル特徴点が属するクラスタの情報とを対応付けて記憶する記憶手段をさらに設けることができる。   Storage means for storing the information of the model feature vector and the information of the cluster to which the model feature point belongs can be further provided.

前記マージンは、前記ハッシュ関数ベクトルと直交する超平面の近傍を含むように前記ハッシュ関数ベクトルに設定されるようにすることができる。   The margin may be set in the hash function vector so as to include a neighborhood of a hyperplane orthogonal to the hash function vector.

本発明の一側面の学習方法は、入力されたモデルデータの特徴点であるモデル特徴点を決定し、前記モデル特徴点の特徴量を抽出し、前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定し、前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングするステップを含む。   A learning method according to one aspect of the present invention determines a model feature point that is a feature point of input model data, extracts a feature amount of the model feature point, and represents a feature amount of the model feature point Depending on whether the inner product value of the vector and the LSH hash function vector having the same number of dimensions as the model feature vector is equal to or greater than a threshold value, the model feature vector is a binary value of 1 and 0. If one of the values is quantized and the model feature vector is within the margin set in the hash function vector in the feature space, the other of the binary values 1 and 0 is A set of model feature vectors obtained by quantizing the model feature vectors obtained by using the hash function vectors. Comprising the step of clustering the feature point belonging to the cluster identified by Align.

本発明の一側面のプログラムは、入力されたモデルデータの特徴点であるモデル特徴点を決定し、前記モデル特徴点の特徴量を抽出し、前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定し、前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングするステップを含む処理をコンピュータに実行させる。   A program according to one aspect of the present invention determines a model feature point that is a feature point of input model data, extracts a feature amount of the model feature point, and a model feature amount vector representing the feature amount of the model feature point Depending on whether the inner product value of the model feature vector and the LSH hash function vector having the same number of dimensions is greater than or equal to a threshold value, the model feature vector is expressed as one of binary values 1 and 0. When the model feature vector is within the margin set in the hash function vector in the feature space, the other one of the binary values 1 and 0 is Set as a value after quantization of a model feature quantity vector, and the model feature point is a set of values after quantization of the model feature quantity vector obtained by using the respective hash function vectors To execute a process including the step of clustering the feature point belonging to the cluster identified in the computer by mating.

本発明の他の側面の認識装置は、クエリとして入力されたデータの特徴点であるクエリ特徴点を決定し、前記クエリ特徴点の特徴量を抽出する抽出手段と、前記クエリ特徴点の特徴量を表すクエリ特徴量ベクトルと、ハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記クエリ特徴量ベクトルを1と0の二値のうちの一方の値に量子化する量子化手段と、前記クエリ特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記クエリ特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングするクラスタリング手段と、前記クエリ特徴点と、前記クエリ特徴点と同じクラスタに属するそれぞれの前記モデル特徴点との類似度を算出し、算出した類似度に基づいて、前記クエリ特徴点の最近傍となる前記モデル特徴点を決定する認識手段とを備える。   According to another aspect of the present invention, there is provided a recognition apparatus that determines a query feature point, which is a feature point of data input as a query, and extracts a feature amount of the query feature point, and a feature amount of the query feature point Quantize the query feature vector into one of binary values 1 and 0 depending on whether or not the inner product value of the query feature vector representing the hash function vector is greater than or equal to a threshold value Clustering means for clustering the query feature points as feature points belonging to a cluster identified by a combination of values obtained by quantizing the query feature quantity vectors obtained by using the hash function vectors. , Calculating the similarity between the query feature point and each of the model feature points belonging to the same cluster as the query feature point, and based on the calculated similarity , And a recognition means for determining the model feature point serving as a nearest neighbor of the query feature points.

学習装置により生成されたモデル特徴量ベクトルの情報と、前記モデル特徴点が属するクラスタの情報とを対応付けて記憶する記憶手段をさらに設けることができる。   A storage unit that stores information on the model feature vector generated by the learning device and information on the cluster to which the model feature point belongs can be further provided.

本発明の他の側面の認識方法は、クエリとして入力されたデータの特徴点であるクエリ特徴点を決定し、前記クエリ特徴点の特徴量を抽出し、前記クエリ特徴点の特徴量を表すクエリ特徴量ベクトルと、ハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記クエリ特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、前記クエリ特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記クエリ特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングし、前記クエリ特徴点と、前記クエリ特徴点と同じクラスタに属するそれぞれの前記モデル特徴点との類似度を算出し、算出した類似度に基づいて、前記クエリ特徴点の最近傍となる前記モデル特徴点を決定するステップを含む。   According to another aspect of the present invention, there is provided a recognition method that determines a query feature point that is a feature point of data input as a query, extracts a feature amount of the query feature point, and represents a feature amount of the query feature point. The query feature vector is quantized into one of binary values 1 and 0 according to whether or not the inner product value of the feature vector and the hash function vector is greater than or equal to a threshold, and the query feature point As a feature point belonging to a cluster identified by a combination of values after quantization of the query feature vector obtained using the hash function vectors, and the query feature point and the query feature point The similarity between each model feature point belonging to the same cluster is calculated, and based on the calculated similarity, the model feature that is closest to the query feature point Including the step of determining the.

本発明の他の側面のプログラムは、クエリとして入力されたデータの特徴点であるクエリ特徴点を決定し、前記クエリ特徴点の特徴量を抽出し、前記クエリ特徴点の特徴量を表すクエリ特徴量ベクトルと、ハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記クエリ特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、前記クエリ特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記クエリ特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングし、前記クエリ特徴点と、前記クエリ特徴点と同じクラスタに属するそれぞれの前記モデル特徴点との類似度を算出し、算出した類似度に基づいて、前記クエリ特徴点の最近傍となる前記モデル特徴点を決定するステップを含む処理をコンピュータに実行させる。   A program according to another aspect of the present invention determines a query feature point that is a feature point of data input as a query, extracts a feature amount of the query feature point, and represents a feature amount of the query feature point Depending on whether or not the inner product value of the quantity vector and the hash function vector is greater than or equal to a threshold value, the query feature quantity vector is quantized into one of binary values of 1 and 0, and the query feature point is Clustering as feature points belonging to a cluster identified by a combination of values after quantization of the query feature vector obtained using the hash function vectors, the query feature points, and the query feature points, A similarity with each model feature point belonging to the same cluster is calculated, and the model feature that is the nearest neighbor of the query feature point is calculated based on the calculated similarity. To execute a process including the step of determining a point at the computer.

本発明の一側面においては、入力されたモデルデータの特徴点であるモデル特徴点が決定され、前記モデル特徴点の特徴量が抽出され、前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルが1と0の二値のうちの一方の値に量子化される。また、前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値が、前記モデル特徴量ベクトルの量子化後の値として設定され、前記モデル特徴点が、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングされる。   In one aspect of the present invention, a model feature point that is a feature point of input model data is determined, a feature amount of the model feature point is extracted, and a model feature amount vector representing the feature amount of the model feature point; Depending on whether the inner product value of the LSH hash function vector having the same dimension number as the model feature vector is equal to or greater than a threshold value, the model feature vector is one of binary values of 1 and 0. Quantized to one value. Further, when the model feature vector is within a margin set in the hash function vector in the feature space, the other one of the binary values 1 and 0 is the quantum of the model feature vector. Clustered as feature points belonging to clusters that are set as values after quantization and the model feature points are identified by a combination of the quantized values of the model feature quantity vectors obtained using the respective hash function vectors Is done.

本発明の他の側面においては、クエリとして入力されたデータの特徴点であるクエリ特徴点が決定され、前記クエリ特徴点の特徴量が抽出され、前記クエリ特徴点の特徴量を表すクエリ特徴量ベクトルと、ハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記クエリ特徴量ベクトルが1と0の二値のうちの一方の値に量子化される。また、前記クエリ特徴点が、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記クエリ特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングされ、前記クエリ特徴点と、前記クエリ特徴点と同じクラスタに属するそれぞれの前記モデル特徴点との類似度が算出され、算出された類似度に基づいて、前記クエリ特徴点の最近傍となる前記モデル特徴点が決定される。   In another aspect of the present invention, a query feature point that is a feature point of data input as a query is determined, a feature amount of the query feature point is extracted, and a query feature amount that represents the feature amount of the query feature point The query feature vector is quantized to one of binary values 1 and 0 depending on whether or not the inner product value of the vector and the hash function vector is equal to or greater than a threshold value. Further, the query feature points are clustered as feature points belonging to a cluster identified by a combination of values after quantization of the query feature quantity vectors obtained by using the hash function vectors, and the query feature points And the similarity between each of the model feature points belonging to the same cluster as the query feature point is calculated, and the model feature point that is closest to the query feature point is determined based on the calculated similarity. The

本発明によれば、局所特徴量を用いた物体認識をLSHによって行う場合の認識精度を向上させることができる。   According to the present invention, it is possible to improve the recognition accuracy when object recognition using local features is performed by LSH.

特徴量ベクトルの量子化の例を示す図である。It is a figure which shows the example of quantization of a feature-value vector. 量子化誤差について説明する図である。It is a figure explaining a quantization error. 本発明の一実施形態に係る学習装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the learning apparatus which concerns on one Embodiment of this invention. 図3のインデックス作成部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the index preparation part of FIG. 量子化誤差の補正の例を示す図である。It is a figure which shows the example of correction | amendment of a quantization error. 量子化値の例を示す図である。It is a figure which shows the example of a quantization value. 本発明の一実施形態に係る認識装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the recognition apparatus which concerns on one Embodiment of this invention. 図7の認識部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the recognition part of FIG. 学習装置の学習処理について説明するフローチャートである。It is a flowchart explaining the learning process of a learning apparatus. 図9のステップS4において行われるインデックス作成処理について説明するフローチャートである。10 is a flowchart for describing index creation processing performed in step S4 of FIG. 9. 認識装置の認識処理について説明するフローチャートである。It is a flowchart explaining the recognition process of a recognition apparatus. 図11のステップS34において行われる最近傍候補選択処理について説明するフローチャートである。It is a flowchart explaining the nearest neighbor candidate selection process performed in step S34 of FIG. 物体認識装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of an object recognition apparatus. 特徴点の決定の例を示す図である。It is a figure which shows the example of the determination of a feature point. 特徴点間の位置関係を示す図である。It is a figure which shows the positional relationship between feature points. 特徴点のマッチングについて説明する図である。It is a figure explaining the matching of a feature point. コンピュータの構成例を示すブロック図である。It is a block diagram which shows the structural example of a computer.

[学習装置の構成例]
図3は、本発明の一実施形態に係る学習装置の構成例を示すブロック図である。
[Configuration example of learning device]
FIG. 3 is a block diagram illustrating a configuration example of a learning device according to an embodiment of the present invention.

KNNマッチングなどの最近傍探索をLSHによって行う処理は、オフラインフェーズとしての学習処理と、オンラインフェーズとしての認識処理とからなる。図3の学習装置1は学習処理を行う装置である。   The process of performing nearest neighbor search by LSH, such as KNN matching, includes a learning process as an offline phase and a recognition process as an online phase. The learning device 1 in FIG. 3 is a device that performs learning processing.

学習装置1はコンピュータにより構成される。図3に示す機能部のうちの少なくとも一部は、学習装置1を構成するコンピュータのCPUにより所定のプログラムが実行されることによって実現される。   The learning device 1 is configured by a computer. At least a part of the functional units shown in FIG. 3 is realized by executing a predetermined program by the CPU of the computer constituting the learning apparatus 1.

図3に示すように、学習装置1は、画像処理部11、特徴量抽出部12、インデックス作成部13、ハッシュ関数記憶部14、およびモデル辞書記憶部15から構成される。画像処理部11に対しては、認識させようとする物体の画像であるモデル画像が入力される。   As illustrated in FIG. 3, the learning device 1 includes an image processing unit 11, a feature amount extraction unit 12, an index creation unit 13, a hash function storage unit 14, and a model dictionary storage unit 15. A model image that is an image of an object to be recognized is input to the image processing unit 11.

画像処理部11は、モデル画像をグレースケールの画像に変換する処理、グレースケールのモデル画像に基づいてエッジ画像を生成する処理、多重解像度処理などの初期処理を行う。画像処理部11は、初期処理によって得られたモデル画像のデータを特徴量抽出部12に出力する。   The image processing unit 11 performs initial processing such as processing for converting a model image into a grayscale image, processing for generating an edge image based on the grayscale model image, and multi-resolution processing. The image processing unit 11 outputs the model image data obtained by the initial processing to the feature amount extraction unit 12.

特徴量抽出部12は、モデル画像のエッジ上の各点を特徴点として決定する。例えば、特徴量抽出部12は、多重解像度処理によって得られた解像度の異なる各画像に含まれる、特徴点に対応する位置の画素の情報を特徴量(局所特徴量)として抽出する。   The feature quantity extraction unit 12 determines each point on the edge of the model image as a feature point. For example, the feature amount extraction unit 12 extracts, as a feature amount (local feature amount), information on a pixel at a position corresponding to a feature point included in each image having different resolutions obtained by multi-resolution processing.

特徴量抽出部12は、抽出した特徴量を表す特徴量ベクトルの情報をモデル辞書記憶部15に記憶させるとともに、インデックス作成部13に出力する。   The feature quantity extraction unit 12 stores the feature quantity vector information representing the extracted feature quantity in the model dictionary storage unit 15 and outputs the information to the index creation unit 13.

以下、適宜、モデル画像の特徴点をモデル特徴点といい、モデル特徴点の特徴量を表す特徴量ベクトルをモデル特徴量ベクトルという。   Hereinafter, the feature points of the model image are appropriately referred to as model feature points, and the feature amount vectors representing the feature amounts of the model feature points are referred to as model feature amount vectors.

インデックス作成部13は、ハッシュ関数記憶部14に記憶されているLSHのハッシュ関数を読み出し、読み出したハッシュ関数を用いてモデル特徴量ベクトルを量子化する。   The index creation unit 13 reads the LSH hash function stored in the hash function storage unit 14 and quantizes the model feature quantity vector using the read hash function.

また、インデックス作成部13は、モデル特徴点を、モデル特徴量ベクトルに複数のハッシュ関数を適用してそれぞれ求められた量子化値の組み合わせをキーとするクラスタに属する特徴点としてクラスタリングする。   Further, the index creation unit 13 clusters the model feature points as feature points belonging to a cluster using a combination of quantized values obtained by applying a plurality of hash functions to the model feature quantity vector as keys.

インデックス作成部13は、それぞれのモデル特徴点と、モデル特徴点が属するクラスタの識別情報であるキーを対応付けた情報であるインデックス情報を作成し、モデル辞書記憶部15に記憶させる。インデックス作成部13によるモデル特徴量ベクトルの量子化とクラスタリングについては後述する。   The index creation unit 13 creates index information that is information that associates each model feature point with a key that is identification information of a cluster to which the model feature point belongs, and stores the index information in the model dictionary storage unit 15. The quantization and clustering of the model feature vector by the index creation unit 13 will be described later.

ハッシュ関数記憶部14は、予め生成された、複数のLSHのハッシュ関数を記憶する。LSHのハッシュ関数の生成については例えば非特許文献1に記載されている。   The hash function storage unit 14 stores a plurality of LSH hash functions generated in advance. The generation of the LSH hash function is described in Non-Patent Document 1, for example.

ハッシュ関数記憶部14に記憶されているそれぞれのハッシュ関数には、モデル特徴量ベクトルの量子化誤差を軽減するためのマージンである量子化誤差マージンが設定されている。ハッシュ関数記憶部14は、量子化誤差マージンに関する情報をハッシュ関数に対応付けて記憶する。   Each hash function stored in the hash function storage unit 14 is set with a quantization error margin which is a margin for reducing the quantization error of the model feature vector. The hash function storage unit 14 stores information related to the quantization error margin in association with the hash function.

モデル辞書記憶部15は、特徴量抽出部12により抽出されたモデル特徴量ベクトルの情報と、インデックス作成部13により作成されたインデックス情報を含むモデル辞書を記憶する。モデル辞書記憶部15に記憶されたモデル辞書は、物体認識を実際に行う認識装置に提供される。学習装置1から認識装置に対するモデル辞書の提供は、有線または無線による通信によって、または記録媒体を介して行われる。   The model dictionary storage unit 15 stores a model dictionary including information on the model feature quantity vector extracted by the feature quantity extraction unit 12 and index information created by the index creation unit 13. The model dictionary stored in the model dictionary storage unit 15 is provided to a recognition device that actually performs object recognition. The model dictionary is provided from the learning device 1 to the recognition device by wired or wireless communication or via a recording medium.

図4は、図3のインデックス作成部13の構成例を示すブロック図である。   FIG. 4 is a block diagram illustrating a configuration example of the index creating unit 13 in FIG.

図4に示すように、インデックス作成部13は、量子化部21とクラスタリング部22から構成される。   As shown in FIG. 4, the index creation unit 13 includes a quantization unit 21 and a clustering unit 22.

量子化部21は、ハッシュ関数記憶部14に記憶されているハッシュ関数を、特徴量抽出部12から供給されたモデル特徴量ベクトルに適用してハッシュ値を算出する。   The quantization unit 21 calculates a hash value by applying the hash function stored in the hash function storage unit 14 to the model feature quantity vector supplied from the feature quantity extraction unit 12.

ハッシュ関数記憶部14に記憶されているハッシュ関数は、モデル特徴量ベクトルと次元数が同じベクトル(ハッシュ関数ベクトル)として表される。量子化部21により算出されるハッシュ値は実数のベクトルとなり、ベクトルの各項はモデル特徴量ベクトルとハッシュ関数ベクトルの内積である。   The hash function stored in the hash function storage unit 14 is expressed as a vector (hash function vector) having the same number of dimensions as the model feature vector. The hash value calculated by the quantization unit 21 is a real vector, and each term of the vector is an inner product of a model feature vector and a hash function vector.

量子化部21は、ハッシュ値として算出した内積値と閾値を比較し、モデル特徴量ベクトルを1と0の二値のうちのいずれか一方の値に量子化する。例えば、量子化部21は、モデル特徴量ベクトルとハッシュ関数ベクトルの内積値が閾値としての0以上の場合、モデル特徴量ベクトルを値1に量子化し、0未満の場合、モデル特徴量ベクトルを値0に量子化する。   The quantization unit 21 compares the inner product value calculated as the hash value with a threshold value, and quantizes the model feature vector into one of binary values of 1 and 0. For example, the quantization unit 21 quantizes the model feature vector to a value 1 when the inner product value of the model feature vector and the hash function vector is 0 or more as a threshold value, and if the value is less than 0, the quantizer 21 Quantize to zero.

また、量子化部21は、特徴量空間上で、モデル特徴量ベクトルがハッシュ関数ベクトルに設定されている量子化誤差マージンの範囲内にある場合、そのモデル特徴量ベクトルを値1に量子化している場合には値0を、値0に量子化している場合には1を、それぞれ量子化値として設定する。   Further, when the model feature vector is within the quantization error margin set in the hash function vector in the feature quantity space, the quantization unit 21 quantizes the model feature quantity vector to a value of 1. If it is, the value 0 is set as the quantization value, and if it is quantized to the value 0, 1 is set as the quantization value.

図5は、量子化誤差の補正の例を示す図である。   FIG. 5 is a diagram illustrating an example of correcting the quantization error.

図5の特徴量ベクトルAとBはモデル特徴量ベクトルである。ハッシュ関数ベクトルfは、複数用意されているもののうちの1つのハッシュ関数を表すベクトルである。ハッシュ関数ベクトルfに対しては、ハッシュ関数ベクトルfと直交する超平面が、特徴量空間を二分する閾値として設定されている。   Feature quantity vectors A and B in FIG. 5 are model feature quantity vectors. The hash function vector f is a vector representing one hash function among a plurality of prepared hash functions. For the hash function vector f, a hyperplane orthogonal to the hash function vector f is set as a threshold value that bisects the feature amount space.

また、閾値を表す超平面とハッシュ関数ベクトルfとの交点を基準として、閾値を表す超平面の一方の面側の近傍と、他方の面側の近傍を内側に含むように境界Aと境界Bが設定されている。境界Aと境界Bの内側の範囲が、ハッシュ関数ベクトルfの量子化誤差マージンとなる。   Further, with reference to the intersection of the hyperplane representing the threshold and the hash function vector f, the boundary A and the boundary B include the neighborhood on one side of the hyperplane representing the threshold and the neighborhood on the other side on the inside. Is set. The range inside the boundary A and the boundary B is a quantization error margin of the hash function vector f.

例えば、特徴量ベクトルAとハッシュ関数ベクトルfの内積値が0以上の値として求められた場合、上述したようにして特徴量ベクトルAは値1に量子化される。また、特徴量ベクトルAは、特徴量空間上で、ハッシュ関数ベクトルfの量子化マージンの範囲に含まれるから、値0も特徴量ベクトルAの量子化値として設定される。   For example, when the inner product value of the feature vector A and the hash function vector f is obtained as a value of 0 or more, the feature vector A is quantized to a value 1 as described above. In addition, since the feature quantity vector A is included in the quantization margin range of the hash function vector f in the feature quantity space, the value 0 is also set as the quantization value of the feature quantity vector A.

ハッシュ関数ベクトルfを用いた場合、特徴量ベクトルAは、0と1の両方の値に量子化されることになる。   When the hash function vector f is used, the feature vector A is quantized to both 0 and 1 values.

同様に、特徴量ベクトルBとハッシュ関数ベクトルfの内積値が0未満の値として求められた場合、特徴量ベクトルBは値0に量子化される。また、特徴量ベクトルBは、特徴量空間上で、ハッシュ関数ベクトルfの量子化マージンの範囲に含まれるから、値1も特徴量ベクトルBの量子化値として設定される。   Similarly, when the inner product value of the feature vector B and the hash function vector f is obtained as a value less than 0, the feature vector B is quantized to a value of 0. Since the feature vector B is included in the quantization margin range of the hash function vector f in the feature space, the value 1 is also set as the quantization value of the feature vector B.

ハッシュ関数ベクトルfを用いた場合、特徴量ベクトルBは、0と1の両方の値に量子化されることになる。   When the hash function vector f is used, the feature vector B is quantized to both 0 and 1 values.

量子化部21は、以上のようなモデル特徴量ベクトルの量子化を、ハッシュ関数記憶部14に記憶されているそれぞれのハッシュ関数ベクトルを用いて行う。量子化部21により得られた量子化値はクラスタリング部22に供給される。   The quantization unit 21 performs the quantization of the model feature amount vector as described above using each hash function vector stored in the hash function storage unit 14. The quantized value obtained by the quantizing unit 21 is supplied to the clustering unit 22.

クラスタリング部22は、量子化部21により得られた量子化値に基づいて、それぞれのモデル特徴点をクラスタリングする。   The clustering unit 22 clusters each model feature point based on the quantized value obtained by the quantizing unit 21.

図6は、モデル特徴量ベクトルの量子化値の例を示す図である。   FIG. 6 is a diagram illustrating an example of the quantized value of the model feature quantity vector.

図6は、ハッシュ関数ベクトルf乃至fをそれぞれ用いて得られた、モデル特徴量ベクトルである特徴量ベクトルAとBの量子化値の例を示している。 FIG. 6 shows an example of quantized values of feature quantity vectors A and B, which are model feature quantity vectors, obtained using the hash function vectors f 1 to f 3 , respectively.

図6に示すように、ハッシュ関数ベクトルfを用いた場合、特徴量ベクトルAは値0に量子化される。 As shown in FIG. 6, when the hash function vector f 1 is used, the feature quantity vector A is quantized to a value of 0.

また、ハッシュ関数ベクトルfを用いた場合、特徴量ベクトルAは値1に量子化される。ここで、特徴量ベクトルAは、特徴量空間上で、ハッシュ関数ベクトルfに設定された量子化マージンの範囲に含まれる特徴量ベクトルであるため、値0も、特徴量ベクトルAの量子化値として設定される。 When the hash function vector f 2 is used, the feature quantity vector A is quantized to a value of 1. Here, since the feature quantity vector A is a feature quantity vector included in the range of the quantization margin set in the hash function vector f 2 in the feature quantity space, the value 0 is also quantized of the feature quantity vector A. Set as a value.

ハッシュ関数ベクトルfを用いた場合、特徴量ベクトルAは値1に量子化される。 When using a hash function vector f 3, feature vector A is quantized to the value 1.

同様に、ハッシュ関数ベクトルfを用いた場合、特徴量ベクトルBは値0に量子化される。 Similarly, when the hash function vector f 1 is used, the feature vector B is quantized to a value of 0.

また、ハッシュ関数ベクトルfを用いた場合、特徴量ベクトルBは値0に量子化される。特徴量ベクトルBは、特徴量空間上で、ハッシュ関数ベクトルfに設定された量子化マージンの範囲に含まれる特徴量ベクトルであるため、値1も、特徴量ベクトルBの量子化値として設定される。 In the case of using a hash function vector f 2, feature vector B is quantized to the value 0. The feature amount vector B set on the feature space, since a feature vector included in the scope of the set quantization margin hash function vector f 2, as the value 1 is also quantized value of the feature vector B Is done.

ハッシュ関数ベクトルfを用いた場合、特徴量ベクトルBは値1に量子化される。 When using a hash function vector f 3, feature vector B is quantized to the value 1.

この場合、クラスタリング部22は、特徴量ベクトルAにより特徴量が表されるモデル特徴点を、それぞれのハッシュ関数ベクトルを用いて算出された量子化値の組み合わせである[0,1,1]をキーとするクラスタと、[0,0,1]をキーとするクラスタの2つのクラスタに属する特徴点としてクラスタリングする。   In this case, the clustering unit 22 uses [0, 1, 1], which is a combination of quantized values calculated using the respective hash function vectors for the model feature points represented by the feature amount vector A. Clustering is performed as feature points belonging to two clusters, a cluster having a key and a cluster having [0, 0, 1] as a key.

また、クラスタリング部22は、特徴量ベクトルBにより特徴量が表されるモデル特徴点を、それぞれのハッシュ関数ベクトルを用いて算出された量子化値の組み合わせである[0,0,1]をキーとするクラスタと、[0,1,1]をキーとするクラスタの2つのクラスタに属する特徴点としてクラスタリングする。   In addition, the clustering unit 22 uses [0, 0, 1], which is a combination of quantized values calculated using the respective hash function vectors, for the model feature points represented by the feature vector B. And a feature point belonging to two clusters having [0, 1, 1] as a key.

クラスタリング部22は、特徴量ベクトルAにより特徴量が表されるモデル特徴点のIDと、[0,1,1]および[0,0,1]を対応付けたインデックス情報を作成する。また、クラスタリング部22は、特徴量ベクトルBにより特徴量が表されるモデル特徴点のIDと、[0,0,1]および[0,1,1]を対応付けたインデックス情報を作成する。   The clustering unit 22 creates index information in which [0, 1, 1] and [0, 0, 1] are associated with the ID of the model feature point whose feature quantity is represented by the feature vector A. Further, the clustering unit 22 creates index information in which [0, 0, 1] and [0, 1, 1] are associated with the ID of the model feature point whose feature value is represented by the feature value vector B.

このように、インデックス作成部13においては、各モデル特徴量ベクトルを対象として、モデル特徴量ベクトルとハッシュ関数ベクトルの内積値が算出され、閾値と比較することによって1と0の二値のうちの一方の値にモデル特徴量ベクトルが量子化される。   As described above, the index creation unit 13 calculates the inner product value of the model feature quantity vector and the hash function vector for each model feature quantity vector, and compares it with the threshold value, so that one of the binary values 1 and 0 can be obtained. The model feature vector is quantized to one value.

また、ハッシュ関数ベクトルに設定された量子化誤差マージンの範囲にモデル特徴量ベクトルが含まれる場合、1と0の二値のうちの他方の値も量子化値として設定され、量子化値に基づいてモデル特徴点がクラスタリングされる。   Further, when the model feature vector is included in the range of the quantization error margin set in the hash function vector, the other value of the binary values 1 and 0 is also set as the quantization value, and is based on the quantization value. Model feature points are clustered.

これにより、ハッシュ関数ベクトルの閾値となる超平面の近傍にあるモデル特徴量ベクトルにより特徴量が表されるモデル特徴点を、値1をキーに含むクラスタと値0をキーに含むクラスタの両方のクラスタにクラスタリングすることができる。   As a result, the model feature point whose feature value is represented by the model feature value vector in the vicinity of the hyperplane serving as the threshold value of the hash function vector is represented by both the cluster including the value 1 as the key and the cluster including the value 0 as the key. Can be clustered into clusters.

すなわち、いずれかのハッシュ関数ベクトルの閾値となる超平面の近傍にあるモデル特徴量ベクトルを有するモデル特徴点については、冗長性を持った形でクラスタリングすることが可能になる。   That is, it is possible to perform clustering in a form having redundancy on model feature points having a model feature quantity vector in the vicinity of a hyperplane serving as a threshold for any hash function vector.

以上のようにして学習装置1により生成されたモデル辞書は認識装置に提供され、局所特徴量を用いた物体認識が行われる。   The model dictionary generated by the learning device 1 as described above is provided to the recognition device, and object recognition using local features is performed.

[認識装置の構成例]
図7は、本発明の一実施形態に係る認識装置の構成例を示すブロック図である。
[Configuration example of recognition device]
FIG. 7 is a block diagram illustrating a configuration example of a recognition apparatus according to an embodiment of the present invention.

図7の認識装置2は、局所特徴量を用いた物体認識をLSHによって行う装置である。   The recognition device 2 in FIG. 7 is a device that performs object recognition using local features by LSH.

認識装置2もコンピュータにより構成される。図7に示す機能部のうちの少なくとも一部は、認識装置2を構成するコンピュータのCPUにより所定のプログラムが実行されることによって実現される。学習装置1と認識装置2が同じコンピュータにより実現されるようにしてもよいし、それぞれ異なるコンピュータにより実現されるようにしてもよい。   The recognition device 2 is also configured by a computer. At least a part of the functional units shown in FIG. 7 is realized by executing a predetermined program by the CPU of the computer constituting the recognition device 2. The learning device 1 and the recognition device 2 may be realized by the same computer, or may be realized by different computers.

図7に示すように、認識装置2は、画像処理部31、特徴量抽出部32、認識部33、ハッシュ関数記憶部34、およびモデル辞書記憶部35から構成される。画像処理部31に対してはクエリ画像が入力される。   As illustrated in FIG. 7, the recognition device 2 includes an image processing unit 31, a feature amount extraction unit 32, a recognition unit 33, a hash function storage unit 34, and a model dictionary storage unit 35. A query image is input to the image processing unit 31.

画像処理部31は、図3の画像処理部11と同様の処理を行う。すなわち、画像処理部31は、クエリ画像に基づいて初期処理を行う。画像処理部31は、初期処理を行うことによって得られたクエリ画像のデータを特徴量抽出部32に出力する。   The image processing unit 31 performs the same processing as the image processing unit 11 in FIG. That is, the image processing unit 31 performs initial processing based on the query image. The image processing unit 31 outputs the query image data obtained by performing the initial processing to the feature amount extraction unit 32.

特徴量抽出部32は、図3の特徴量抽出部12と同様に、クエリ画像の特徴点を決定し、それぞれの特徴点の特徴量を抽出する。   Similar to the feature quantity extraction unit 12 of FIG. 3, the feature quantity extraction unit 32 determines the feature points of the query image and extracts the feature quantities of the respective feature points.

以下、適宜、クエリ画像の特徴点をクエリ特徴点といい、クエリ特徴点の特徴量を表す特徴量ベクトルをクエリ特徴量ベクトルという。   Hereinafter, the feature points of the query image will be referred to as query feature points as appropriate, and the feature amount vectors representing the feature amounts of the query feature points will be referred to as query feature amount vectors.

認識部33は、ハッシュ関数記憶部34に記憶されているLSHのハッシュ関数に基づいてクエリ特徴量ベクトルを量子化し、クエリ特徴点をクラスタリングする。また、認識部33は、モデル辞書記憶部35に記憶されているインデックス情報に基づいて、クエリ特徴点と同じクラスタに属するモデル特徴点を最近傍候補として選択し、クエリ特徴点と最近傍候補のモデル特徴点との特徴量ベクトルの類似度を算出する。   The recognizing unit 33 quantizes the query feature quantity vector based on the LSH hash function stored in the hash function storage unit 34 and clusters the query feature points. Further, the recognition unit 33 selects a model feature point belonging to the same cluster as the query feature point as the nearest neighbor based on the index information stored in the model dictionary storage unit 35, and selects the query feature point and the nearest neighbor candidate. The similarity of the feature quantity vector with the model feature point is calculated.

認識部33は、特徴量ベクトルの類似度が高い順に所定の数のモデル特徴点を選択し、その中から、最近傍のモデル特徴点を選択する。   The recognizing unit 33 selects a predetermined number of model feature points in descending order of the feature vector similarity, and selects the nearest model feature point.

認識部33は、クエリ特徴点とマッチした最近傍のモデル特徴点の数などに基づいて、クエリ画像に含まれる物体がどのモデル画像に含まれる物体であるのかを認識し、認識結果を出力する。   The recognition unit 33 recognizes which model image the object included in the query image is based on, for example, the number of nearest model feature points that match the query feature point, and outputs a recognition result. .

ハッシュ関数記憶部34は、学習装置1のハッシュ関数記憶部14に記憶されているものと同じ複数のLSHのハッシュ関数を記憶する。ハッシュ関数記憶部34に記憶されているハッシュ関数には量子化誤差マージンは設定されていない。   The hash function storage unit 34 stores the same plurality of LSH hash functions as those stored in the hash function storage unit 14 of the learning device 1. No quantization error margin is set for the hash function stored in the hash function storage unit 34.

モデル辞書記憶部35は、学習装置1から提供されたモデル辞書を記憶する。   The model dictionary storage unit 35 stores the model dictionary provided from the learning device 1.

図8は、図7の認識部33の構成例を示すブロック図である。   FIG. 8 is a block diagram illustrating a configuration example of the recognition unit 33 in FIG.

図8に示すように、認識部33は、量子化部41、クラスタリング部42、類似度算出部43、および出力部44から構成される。   As shown in FIG. 8, the recognition unit 33 includes a quantization unit 41, a clustering unit 42, a similarity calculation unit 43, and an output unit 44.

量子化部41は、ハッシュ関数記憶部34に記憶されているハッシュ関数をクエリ特徴量ベクトルに適用してハッシュ値を算出する。   The quantization unit 41 calculates a hash value by applying the hash function stored in the hash function storage unit 34 to the query feature quantity vector.

量子化部41は、ハッシュ値として算出した内積値と閾値を比較し、クエリ特徴量ベクトルを1と0の二値のうちのいずれか一方の値に量子化する。例えば、量子化部41は、クエリ特徴量ベクトルとハッシュ関数ベクトルの内積値が閾値としての0以上の場合、クエリ特徴量ベクトルを値1に量子化し、0未満の場合、クエリ特徴量ベクトルを値0に量子化する。   The quantization unit 41 compares the inner product value calculated as the hash value with a threshold value, and quantizes the query feature vector into one of binary values of 1 and 0. For example, the quantization unit 41 quantizes the query feature quantity vector to a value 1 when the inner product value of the query feature quantity vector and the hash function vector is 0 or more as a threshold value. Quantize to zero.

量子化部41は、クエリ特徴量ベクトルの量子化を、ハッシュ関数記憶部34に記憶されているそれぞれのハッシュ関数ベクトルを用いて行う。   The quantization unit 41 quantizes the query feature quantity vector using each hash function vector stored in the hash function storage unit 34.

例えば、図6を参照して説明したように、ハッシュ関数ベクトルf乃至fを用いることによって、クエリ特徴量ベクトルである特徴量ベクトルAがそれぞれ値0,1,1に量子化される。量子化部41がクエリ特徴量ベクトルの量子化に用いるハッシュ関数には量子化誤差マージンが設定されていないから、クエリ特徴量ベクトルの量子化値として求められる値は、1つのハッシュ関数ベクトルにつき0または1の1つの値である。 For example, as described with reference to FIG. 6, by using the hash function vectors f 1 to f 3 , the feature quantity vector A that is a query feature quantity vector is quantized to values 0, 1, and 1, respectively. Since a quantization error margin is not set for the hash function used by the quantization unit 41 to quantize the query feature value vector, the value obtained as the quantization value of the query feature value vector is 0 for one hash function vector. Or one value of 1.

また、ハッシュ関数ベクトルf乃至fを用いることによって、クエリ特徴量ベクトルである特徴量ベクトルBがそれぞれ値0,0,1に量子化される。 Further, by using the hash function vectors f 1 to f 3 , the feature quantity vector B, which is a query feature quantity vector, is quantized to values 0, 0, and 1, respectively.

量子化部41は、量子化値をクラスタリング部42に出力する。学習装置1により生成されたインデックス情報がすでに冗長性を持つため、また、実行速度を重視するため、量子化部41による量子化においては、上述したような量子化誤差の補正は行われない。   The quantization unit 41 outputs the quantized value to the clustering unit 42. Since the index information generated by the learning device 1 already has redundancy and importance is placed on the execution speed, the quantization error correction as described above is not performed in the quantization performed by the quantization unit 41.

クラスタリング部42は、図4のクラスタリング部22と同様に、量子化部41により得られた量子化値に基づいて、それぞれのクエリ特徴点をクラスタリングする。   Similar to the clustering unit 22 in FIG. 4, the clustering unit 42 clusters each query feature point based on the quantization value obtained by the quantization unit 41.

例えばクエリ特徴量ベクトルがそれぞれ値0,1,1に量子化された場合、クラスタリング部42は、そのクエリ特徴量ベクトルにより特徴量が表されるクエリ特徴点を、[0,1,1]をキーとするクラスタに属する特徴点としてクラスタリングする。   For example, when the query feature quantity vector is quantized to values 0, 1, and 1, respectively, the clustering unit 42 sets [0, 1, 1] as the query feature point whose feature quantity is represented by the query feature quantity vector. Clustering is performed as feature points belonging to the cluster as a key.

また、クエリ特徴量ベクトルがそれぞれ値0,0,1に量子化された場合、クラスタリング部42は、そのクエリ特徴量ベクトルにより特徴量が表されるクエリ特徴点を、[0,0,1]をキーとするクラスタに属する特徴点としてクラスタリングする。   When the query feature quantity vector is quantized to values 0, 0, and 1, respectively, the clustering unit 42 determines the query feature point whose feature quantity is represented by the query feature quantity vector as [0, 0, 1]. Clustered as feature points belonging to a cluster using as a key.

クラスタリング部42は、クエリ特徴点が属するクラスタのキーの情報を類似度算出部43に出力する。   The clustering unit 42 outputs information on the key of the cluster to which the query feature point belongs to the similarity calculation unit 43.

類似度算出部43は、モデル辞書記憶部35に記憶されているモデル辞書に含まれるインデックス情報に基づいて、クエリ特徴点が属するクラスタと同じクラスタに属するモデル特徴点を最近傍候補の特徴点として特定する。   Based on the index information included in the model dictionary stored in the model dictionary storage unit 35, the similarity calculation unit 43 sets a model feature point belonging to the same cluster as the cluster to which the query feature point belongs as the feature point of the nearest neighbor candidate. Identify.

類似度算出部43は、最近傍候補のモデル特徴量ベクトルの情報をモデル辞書記憶部35から読み出し、クエリ特徴点と、最近傍候補のモデル特徴点との特徴量ベクトルの類似度を算出する。クエリ特徴点の特徴量ベクトルの情報は、特徴量抽出部32から供給されている。   The similarity calculation unit 43 reads information on the model feature vector of the nearest neighbor candidate from the model dictionary storage unit 35, and calculates the similarity of the feature vector between the query feature point and the model feature point of the nearest neighbor candidate. Information on the feature quantity vector of the query feature point is supplied from the feature quantity extraction unit 32.

類似度算出部43は、類似度が高い順に所定の数のモデル特徴点を選択し、一般化ハフ変換やoutlier除去処理などの処理を行うことによって、最近傍のモデル特徴点を選択する。類似度の最も高いモデル特徴点が、最近傍のモデル特徴点として選択されるようにしてもよい。類似度算出部43は、最近傍のモデル特徴点の情報を出力部44に出力する。   The similarity calculation unit 43 selects a predetermined number of model feature points in descending order of similarity, and performs processing such as generalized Hough transform and outlier removal processing to select the nearest model feature point. The model feature point with the highest degree of similarity may be selected as the nearest model feature point. The similarity calculation unit 43 outputs information on the nearest model feature point to the output unit 44.

出力部44は、クエリ特徴点とマッチした最近傍のモデル特徴点の数などに基づいて、クエリ画像に含まれる物体がどのモデル画像に含まれる物体であるのかを認識し、認識結果を出力する。   The output unit 44 recognizes which model image the object included in the query image is based on the number of nearest model feature points that match the query feature point, and outputs the recognition result. .

学習時にモデル特徴点が冗長性を持った形でクラスタリングされているため、クエリ特徴点が、最近傍のモデル特徴点と異なるクラスタに属する特徴点としてクラスタリングされてしまう可能性を低減することが可能になる。   Since model feature points are clustered in a redundant manner during learning, it is possible to reduce the possibility that query feature points will be clustered as feature points belonging to a cluster different from the nearest model feature point become.

従って、クエリ特徴点との特徴量ベクトルの類似度を実際に算出する対象として、最近傍のモデル特徴点が含まれる可能性が高くなり、マッチングの精度を高めることが可能になる。また、最終的な認識結果の精度をも高めることが可能になる。   Therefore, it is highly possible that the nearest model feature point is included as a target for actually calculating the similarity of the feature quantity vector with the query feature point, and matching accuracy can be improved. It is also possible to increase the accuracy of the final recognition result.

[装置の動作]
ここで、図9のフローチャートを参照して、学習装置1の学習処理について説明する。
[Device operation]
Here, the learning process of the learning device 1 will be described with reference to the flowchart of FIG.

図9の処理は、モデル画像が学習装置1に入力されたときに開始される。   The process of FIG. 9 is started when a model image is input to the learning device 1.

ステップS1において、画像処理部11は初期処理を行う。   In step S1, the image processing unit 11 performs initial processing.

ステップS2において、特徴量抽出部12は、初期処理によって得られたエッジ画像の各点をモデル特徴点として決定する。   In step S2, the feature amount extraction unit 12 determines each point of the edge image obtained by the initial processing as a model feature point.

ステップS3において、特徴量抽出部12は、それぞれのモデル特徴点の特徴量を抽出し、抽出した特徴量を表すモデル特徴量ベクトルの情報をモデル辞書記憶部15に記憶させる。   In step S <b> 3, the feature amount extraction unit 12 extracts the feature amounts of the respective model feature points, and stores the model feature amount vector information representing the extracted feature amounts in the model dictionary storage unit 15.

ステップS4において、インデックス作成部13によりインデックス作成処理が行われる。インデックス作成処理においては、モデル特徴量ベクトルが量子化され、量子化値に基づいてモデル特徴点がクラスタリングされる。インデックス作成処理が終了した後、処理は終了される。   In step S4, the index creation unit 13 performs index creation processing. In the index creation process, model feature vectors are quantized, and model feature points are clustered based on the quantized values. After the index creation process ends, the process ends.

次に、図10のフローチャートを参照して、図9のステップS4において行われるインデックス作成処理について説明する。   Next, the index creation process performed in step S4 of FIG. 9 will be described with reference to the flowchart of FIG.

図10の処理は、1つのモデル特徴点の特徴量を表すモデル特徴量ベクトルの情報が特徴量抽出部12から供給される毎に行われる。   The process in FIG. 10 is performed every time information of a model feature quantity vector representing a feature quantity of one model feature point is supplied from the feature quantity extraction unit 12.

ステップS11において、インデックス作成部13の量子化部21は、ハッシュ関数記憶部14に記憶されているハッシュ関数を1つ選択する。   In step S <b> 11, the quantization unit 21 of the index creation unit 13 selects one hash function stored in the hash function storage unit 14.

ステップS12において、量子化部21は、モデル特徴量ベクトルと、選択したハッシュ関数ベクトルとの内積値を算出する。   In step S12, the quantization unit 21 calculates an inner product value between the model feature vector and the selected hash function vector.

ステップS13において、量子化部21は、算出した内積値が閾値としての0以上である場合、モデル特徴量ベクトルを値1に量子化し、0未満の場合、モデル特徴量ベクトルを値0に量子化する。   In step S13, the quantization unit 21 quantizes the model feature vector to a value 1 when the calculated inner product value is 0 or more as a threshold value, and quantizes the model feature vector to a value 0 when it is less than 0. To do.

ステップS14において、量子化部21は、特徴量空間上で、モデル特徴量ベクトルがハッシュ関数ベクトルに設定されている量子化誤差マージンの範囲内にあるか否かを判定する。   In step S14, the quantization unit 21 determines whether or not the model feature quantity vector is within the quantization error margin set in the hash function vector on the feature quantity space.

モデル特徴量ベクトルが量子化誤差マージンの範囲内にあるとステップS14において判定した場合、ステップS15において、量子化部21は、モデル特徴量ベクトルの量子化誤差を補正する。   If it is determined in step S14 that the model feature vector is within the quantization error margin, in step S15, the quantization unit 21 corrects the quantization error of the model feature vector.

すなわち、量子化部21は、モデル特徴量ベクトルを1と0の二値のうちの一方の値である値1にステップS13において量子化している場合には、他方の値である値0を設定する。また、量子化部21は、モデル特徴量ベクトルを1と0の二値のうちの一方の値である値0にステップS13において量子化している場合には、他方の値である値1を設定する。   That is, the quantization unit 21 sets the value 0 which is the other value when the model feature vector is quantized in step S13 to the value 1 which is one of the binary values 1 and 0. To do. In addition, when the quantizing unit 21 quantizes the model feature vector to the value 0 which is one of the binary values 1 and 0 in step S13, the quantization unit 21 sets the value 1 which is the other value. To do.

モデル特徴量ベクトルが量子化誤差マージンの範囲内にないとステップS14において判定された場合、ステップS15の処理はスキップされる。   If it is determined in step S14 that the model feature vector is not within the quantization error margin, the process in step S15 is skipped.

ステップS16において、量子化部21は、ハッシュ関数記憶部14に記憶されている全てのハッシュ関数を選択したか否かを判定する。量子化部21は、まだ選択していないハッシュ関数があるとステップS16において判定した場合、ステップS11に戻り、違うハッシュ関数を選択して以上の処理を繰り返す。   In step S <b> 16, the quantization unit 21 determines whether all hash functions stored in the hash function storage unit 14 have been selected. If it is determined in step S16 that there is a hash function that has not yet been selected, the quantization unit 21 returns to step S11, selects a different hash function, and repeats the above processing.

一方、全てのハッシュ関数を選択したとステップS16において判定された場合、ステップS17において、クラスタリング部22は、モデル特徴点を、量子化値の組み合わせをキーとするクラスタに属する特徴点としてクラスタリングする。また、クラスタリング部22は、モデル特徴点のIDと、キーを対応付けたインデックス情報を作成し、記憶させる。   On the other hand, if it is determined in step S16 that all hash functions have been selected, in step S17, the clustering unit 22 clusters the model feature points as feature points belonging to a cluster having a combination of quantized values as a key. The clustering unit 22 also creates and stores index information in which model feature point IDs are associated with keys.

以上の処理が、特徴量抽出部12により抽出された全てのモデル特徴点を対象として行われる。その後、図9のステップS4に戻り、それ以降の処理が行われる。   The above processing is performed on all model feature points extracted by the feature amount extraction unit 12. Thereafter, the process returns to step S4 in FIG. 9, and the subsequent processing is performed.

以上の処理により、いずれかのハッシュ関数ベクトルの閾値となる超平面の近傍にあるモデル特徴量ベクトルを有するモデル特徴点については、冗長性を持った形でクラスタリングすることが可能になる。   With the above processing, the model feature points having the model feature quantity vector in the vicinity of the hyperplane serving as the threshold value for any one of the hash function vectors can be clustered with redundancy.

次に、図11のフローチャートを参照して、認識装置2の認識処理について説明する。   Next, the recognition process of the recognition device 2 will be described with reference to the flowchart of FIG.

図11の処理は、クエリ画像が認識装置2に入力されたときに開始される。   The process of FIG. 11 is started when a query image is input to the recognition device 2.

ステップS31において、画像処理部31は初期処理を行う。   In step S31, the image processing unit 31 performs initial processing.

ステップS32において、特徴量抽出部32は、初期処理によって得られたエッジ画像の各点をクエリ特徴点として決定する。   In step S32, the feature amount extraction unit 32 determines each point of the edge image obtained by the initial processing as a query feature point.

ステップS33において、特徴量抽出部32は、それぞれのクエリ特徴点の特徴量を抽出し、抽出した特徴量を表すクエリ特徴量ベクトルの情報を出力する。   In step S33, the feature quantity extraction unit 32 extracts the feature quantities of the respective query feature points, and outputs query feature quantity vector information representing the extracted feature quantities.

ステップS34において、認識部33により最近傍候補選択処理が行われる。最近傍候補選択処理においては、クエリ特徴量ベクトルが量子化され、クエリ特徴点がクラスタリングされる。また、クエリ特徴点と、同じクラスタに属するそれぞれのモデル特徴点との特徴量ベクトルの類似度が算出される。   In step S34, the nearest neighbor candidate selection process is performed by the recognition unit 33. In the nearest neighbor selection process, the query feature vector is quantized and the query feature points are clustered. Further, the similarity of the feature quantity vector between the query feature point and each model feature point belonging to the same cluster is calculated.

ステップS35において、認識部33は、一般化ハフ変換やoutlier除去処理などの処理を行うことによって、ステップS34の処理によって選択された最近傍候補の中から、最近傍のモデル特徴点を決定する。   In step S <b> 35, the recognition unit 33 determines the nearest model feature point from the nearest neighbor candidates selected by the process in step S <b> 34 by performing processes such as generalized Hough transform and outlier removal process.

ステップS36において、認識部33は、全てのクエリ特徴点を対象として以上の処理が行われた後、クエリ画像に含まれる物体がどのモデル画像に含まれる物体であるのかを認識する。その後、処理は終了される。   In step S36, the recognition unit 33 recognizes which model image the object included in the query image is after the above processing has been performed on all query feature points. Thereafter, the process is terminated.

次に、図12のフローチャートを参照して、図11のステップS34において行われる最近傍候補選択処理について説明する。   Next, the nearest neighbor candidate selection process performed in step S34 in FIG. 11 will be described with reference to the flowchart in FIG.

図12の処理は、1つのクエリ特徴点の特徴量を表すクエリ特徴量ベクトルの情報が特徴量抽出部32から供給される毎に行われる。   The process of FIG. 12 is performed every time information of a query feature quantity vector representing a feature quantity of one query feature point is supplied from the feature quantity extraction unit 32.

ステップS51において、認識部33の量子化部41は、ハッシュ関数記憶部34に記憶されているハッシュ関数を1つ選択する。   In step S <b> 51, the quantization unit 41 of the recognition unit 33 selects one hash function stored in the hash function storage unit 34.

ステップS52において、量子化部41は、クエリ特徴量ベクトルと、選択したハッシュ関数ベクトルとの内積値を算出する。   In step S52, the quantization unit 41 calculates an inner product value between the query feature vector and the selected hash function vector.

ステップS53において、量子化部41は、算出した内積値が閾値としての0以上である場合、クエリ特徴量ベクトルを値1に量子化し、0未満の場合、クエリ特徴量ベクトルを値0に量子化する。   In step S53, the quantization unit 41 quantizes the query feature quantity vector to a value 1 when the calculated inner product value is 0 or more as a threshold, and quantizes the query feature quantity vector to a value 0 when it is less than 0. To do.

ステップS54において、量子化部41は、ハッシュ関数記憶部34に記憶されている全てのハッシュ関数を選択したか否かを判定する。量子化部41は、まだ選択していないハッシュ関数があるとステップS54において判定した場合、ステップS51に戻り、違うハッシュ関数を選択して以上の処理を繰り返す。   In step S54, the quantization unit 41 determines whether all hash functions stored in the hash function storage unit 34 have been selected. If it is determined in step S54 that there is a hash function that has not yet been selected, the quantization unit 41 returns to step S51, selects a different hash function, and repeats the above processing.

一方、全てのハッシュ関数を選択したとステップS54において判定された場合、ステップS55において、クラスタリング部42は、クエリ特徴点を、量子化値の組み合わせをキーとするクラスタに属する特徴点としてクラスタリングする。   On the other hand, if it is determined in step S54 that all the hash functions have been selected, in step S55, the clustering unit 42 clusters the query feature points as feature points belonging to a cluster using the combination of quantized values as a key.

ステップS56において、類似度算出部43は、インデックス情報に基づいて、クエリ特徴点と同じクラスタに属するモデル特徴点を最近傍候補として選択する。また、類似度算出部43は、クエリ特徴点と、最近傍候補のモデル特徴点との特徴量ベクトルの類似度を算出する。   In step S56, the similarity calculation unit 43 selects a model feature point belonging to the same cluster as the query feature point as a nearest neighbor candidate based on the index information. In addition, the similarity calculation unit 43 calculates the similarity of the feature quantity vector between the query feature point and the model feature point of the nearest neighbor candidate.

ステップS57において、類似度算出部43は、特徴量ベクトルの類似度が高い順に所定の数のモデル特徴点を選択する。   In step S57, the similarity calculation unit 43 selects a predetermined number of model feature points in descending order of the feature vector similarity.

以上の処理が、特徴量抽出部32により抽出された全てのクエリ特徴点を対象として行われる。その後、図11のステップS34に戻り、それ以降の処理が行われる。   The above processing is performed on all query feature points extracted by the feature amount extraction unit 32. Thereafter, the process returns to step S34 in FIG. 11, and the subsequent processing is performed.

以上の処理により、クエリ特徴点が、最近傍のモデル特徴点と異なるクラスタに属する特徴点としてクラスタリングされてしまう可能性を低減することができ、マッチングの精度と、最終的な認識結果の精度を高めることが可能になる。   With the above processing, it is possible to reduce the possibility that query feature points will be clustered as feature points belonging to a different cluster from the nearest model feature point, and to improve the accuracy of matching and the accuracy of the final recognition result. It becomes possible to increase.

[変形例]
以上においては、特徴量ベクトルの量子化誤差の補正が学習時にのみ行われるものとしたが、認識時にも行われるようにしてもよい。また、学習時ではなく、認識時にのみ行われるようにしてもよい。
[Modification]
In the above, the correction of the quantization error of the feature vector is performed only at the time of learning, but it may be performed at the time of recognition. Further, it may be performed only at the time of recognition, not at the time of learning.

また、以上においては、画像から抽出した局所特徴量のマッチングをLSHによって行う場合について説明したが、マッチングの対象になる情報は、画像から抽出された特徴量に限られない。例えば、音声データから抽出された特徴量のマッチングなどに適用することも可能である。   In the above description, the case where matching of local feature values extracted from an image is performed by LSH has been described. However, information to be matched is not limited to feature values extracted from an image. For example, the present invention can be applied to matching of feature amounts extracted from audio data.

[適用例]
局所特徴量を用いた物体認識を以上のようにしてLSHによって行うことは、例えば、特開2008−77625号公報や特開2008−243175号公報に記載されている物体認識に適用可能である。
[Application example]
Performing object recognition using local features by LSH as described above is applicable to object recognition described in, for example, Japanese Patent Application Laid-Open Nos. 2008-77625 and 2008-243175.

図13は、物体認識装置の構成例を示すブロック図である。   FIG. 13 is a block diagram illustrating a configuration example of the object recognition apparatus.

図13に示す物体認識装置111の構成は、特開2008−243175号公報に記載されている物体認識装置の構成と基本的に同様である。   The configuration of the object recognition device 111 shown in FIG. 13 is basically the same as the configuration of the object recognition device described in Japanese Patent Application Laid-Open No. 2008-243175.

図13に示すように、物体認識装置111は、モデル特徴量登録部131とクエリ(ターゲット)画像認識部132から構成される。   As illustrated in FIG. 13, the object recognition device 111 includes a model feature amount registration unit 131 and a query (target) image recognition unit 132.

モデル特徴量登録部131は、カメラ部151、フレームメモリ152、エッジ強度画像生成部153、エッジ画像生成部154、モデル特徴量抽出部155、およびモデル辞書記憶部156から構成される。   The model feature amount registration unit 131 includes a camera unit 151, a frame memory 152, an edge strength image generation unit 153, an edge image generation unit 154, a model feature amount extraction unit 155, and a model dictionary storage unit 156.

カメラ部151は、被写体の像を撮像し、撮像して得られた画像をモデル画像としてフレームメモリ152に供給する。   The camera unit 151 captures an image of a subject and supplies the image obtained by the imaging to the frame memory 152 as a model image.

フレームメモリ152は、カメラ部151から供給されたモデル画像を蓄積する。   The frame memory 152 stores the model image supplied from the camera unit 151.

エッジ強度画像生成部153は、フレームメモリ152に蓄積されているモデル画像を基にエッジ強度画像を生成する。エッジ強度画像は、モデル画像の所定の領域における位置の変化に対する画素値の変化の大きさの度合いを示すエッジ強度からなる。エッジ強度画像において、画素値の変化が急峻かつ大きいほど、エッジ強度は強くなり、画素値の変化が緩やかかつ小さいほどエッジ強度は弱くなる。   The edge strength image generation unit 153 generates an edge strength image based on the model image stored in the frame memory 152. The edge strength image is composed of edge strength indicating the degree of change in the pixel value with respect to the change in position in a predetermined region of the model image. In an edge strength image, the sharper and larger the change in pixel value, the stronger the edge strength, and the slower and smaller the change in pixel value, the weaker the edge strength.

すなわち、エッジ強度画像生成部153は、モデル画像内の注目画素を含む近傍の領域における画素値の変化の大きさの度合いを示すエッジ強度からなるエッジ強度画像を生成する。エッジ強度画像生成部153は、生成したエッジ強度画像をモデル特徴量抽出部155に供給する。   That is, the edge strength image generation unit 153 generates an edge strength image including edge strength indicating the degree of change in pixel value in a neighboring region including the target pixel in the model image. The edge strength image generation unit 153 supplies the generated edge strength image to the model feature amount extraction unit 155.

エッジ画像生成部154は、フレームメモリ152に蓄積されているモデル画像を基にエッジ画像を生成する。エッジ画像は、モデル画像の画素の画素値の大小の境界を示す画像である。   The edge image generation unit 154 generates an edge image based on the model image stored in the frame memory 152. The edge image is an image that shows a magnitude boundary between pixel values of the pixels of the model image.

例えば、エッジ画像生成部154は、モデル画像内の注目画素の画素値の大きさが予め定められた閾値以上であれば1とし、それ以外を0とした画像をエッジ画像として生成する。エッジ画像生成部154は、生成したエッジ画像をモデル特徴量抽出部155に供給する。   For example, the edge image generation unit 154 generates an image having a value of 1 if the pixel value of the target pixel in the model image is equal to or greater than a predetermined threshold value, and generating 0 as the edge image. The edge image generation unit 154 supplies the generated edge image to the model feature amount extraction unit 155.

モデル特徴量抽出部155は、エッジ画像生成部154から供給されたエッジ画像上にモデル特徴点を決定する。   The model feature quantity extraction unit 155 determines model feature points on the edge image supplied from the edge image generation unit 154.

また、モデル特徴量抽出部155は、モデル特徴点のうちの基準の点となるベース点と、ベース点以外のモデル特徴点であってベース点に従属して決定される点であるサポート点との幾何学的位置関係を決定する。   Further, the model feature quantity extraction unit 155 includes a base point that is a reference point among the model feature points, and a support point that is a model feature point other than the base point and is determined depending on the base point. The geometric positional relationship of is determined.

ここで、幾何学的位置関係は、注目される2点のうちの1点を基準とした場合、他の1点の位置を基準の点からの距離および角度で表す関係とされる。すなわち、モデル特徴量抽出部155は、ベース点に対するサポート点の相対位置を決定する。   Here, the geometric positional relationship is a relationship in which the position of one other point is expressed by a distance and an angle from the reference point when one of the two points of interest is used as a reference. That is, the model feature amount extraction unit 155 determines the relative position of the support point with respect to the base point.

モデル特徴点は、エッジ画像上の局所領域に設定される参照円と、エッジ画像とが交差する点であるエッジ点とされる。ベース点は、その参照円上のエッジ点の1つであり、その他の点はサポート点とされる。   The model feature points are edge points that are points where a reference circle set in a local region on the edge image and the edge image intersect. The base point is one of the edge points on the reference circle, and the other points are the support points.

具体的には、モデル特徴量抽出部155は、図14に示すように、エッジ画像Eの局所領域としての参照円Rを決定し、参照円Rと交差するエッジ画像E上のエッジ点を、ベース点b、サポート点s1,s2,s3とする。   Specifically, as illustrated in FIG. 14, the model feature amount extraction unit 155 determines a reference circle R as a local region of the edge image E, and determines an edge point on the edge image E that intersects the reference circle R as Let base point b and support points s1, s2, and s3.

図15に示すように、サポート点s1乃至s3のベース点bからの相対的な位置(距離および角度)は、相対距離r1,r2,r3、および、基準軸Iからの相対角度θ1,θ2,θ3で表される。   As shown in FIG. 15, the relative positions (distance and angle) of the support points s1 to s3 from the base point b are relative distances r1, r2, r3 and relative angles θ1, θ2, relative to the reference axis I. It is represented by θ3.

モデル特徴量抽出部155においては、参照円Rの大きさと位置を変えて、ベース点とサポート点のセットが複数選択される。   In the model feature amount extraction unit 155, a plurality of sets of base points and support points are selected by changing the size and position of the reference circle R.

モデル特徴量抽出部155は、エッジ強度画像生成部153から供給されたエッジ強度画像を基に、モデル特徴点(ベース点とサポート点)のエッジ強度をモデル特徴量として抽出する。モデル特徴量は、所定の次元数の特徴量ベクトルであるモデル特徴量ベクトルとして表される。   The model feature amount extraction unit 155 extracts the edge strengths of model feature points (base points and support points) as model feature amounts based on the edge strength image supplied from the edge strength image generation unit 153. The model feature amount is represented as a model feature amount vector which is a feature amount vector having a predetermined number of dimensions.

また、モデル特徴量抽出部155は、図3の特徴量抽出部12と同様にして、予め与えられているLSHのハッシュ関数を用いてモデル特徴量ベクトルを量子化する。モデル特徴量抽出部155においても、上述したような、量子化誤差を補正する処理が行われる。   Also, the model feature quantity extraction unit 155 quantizes the model feature quantity vector using a previously provided LSH hash function in the same manner as the feature quantity extraction unit 12 of FIG. The model feature quantity extraction unit 155 also performs the process of correcting the quantization error as described above.

モデル特徴量抽出部155は、モデル特徴点を、モデル特徴量ベクトルに複数のハッシュ関数を適用してそれぞれ求められた量子化値の組み合わせをキーとするクラスタに属する特徴点としてクラスタリングする。   The model feature quantity extraction unit 155 clusters the model feature points as feature points belonging to a cluster using a combination of quantized values obtained by applying a plurality of hash functions to the model feature quantity vector as keys.

モデル特徴量抽出部155は、それぞれのモデル特徴点と、モデル特徴点が属するクラスタの識別情報であるキーを対応付けた情報であるインデックス情報を作成し、モデル辞書記憶部156に記憶させる。   The model feature quantity extraction unit 155 creates index information that is information that associates each model feature point with a key that is identification information of a cluster to which the model feature point belongs, and stores the index information in the model dictionary storage unit 156.

また、モデル特徴量抽出部155は、ベース点とサポート点との幾何学的位置関係とモデル特徴量ベクトルの情報を、モデル画像毎にモデル辞書記憶部156に記憶させる。   In addition, the model feature quantity extraction unit 155 causes the model dictionary storage unit 156 to store the geometric positional relationship between the base points and the support points and the model feature quantity vector information for each model image.

モデル辞書記憶部156は、例えばハードディスクドライブなどの記憶装置から構成される。   The model dictionary storage unit 156 includes a storage device such as a hard disk drive.

一方、図13のクエリ画像認識部132は、カメラ部161、フレームメモリ162、エッジ強度画像生成部163、エッジ画像生成部164、クエリ特徴量抽出部165、マッチング部166、および物体同定部167から構成される。   On the other hand, the query image recognition unit 132 in FIG. 13 includes a camera unit 161, a frame memory 162, an edge strength image generation unit 163, an edge image generation unit 164, a query feature quantity extraction unit 165, a matching unit 166, and an object identification unit 167. Composed.

カメラ部161、フレームメモリ162、エッジ強度画像生成部163、エッジ画像生成部164は、それぞれ、モデル特徴量登録部131のカメラ部151、フレームメモリ152、エッジ強度画像生成部153、エッジ画像生成部154と同様である。   The camera unit 161, the frame memory 162, the edge strength image generation unit 163, and the edge image generation unit 164 are respectively a camera unit 151, a frame memory 152, an edge strength image generation unit 153, and an edge image generation unit of the model feature amount registration unit 131. The same as 154.

すなわち、カメラ部161は、被写体の像を撮像し、撮像して得られた画像をクエリ画像としてフレームメモリ162に供給する。   That is, the camera unit 161 captures an image of a subject and supplies the image obtained by the imaging to the frame memory 162 as a query image.

フレームメモリ162は、カメラ部161から供給されたクエリ画像を蓄積する。   The frame memory 162 stores the query image supplied from the camera unit 161.

エッジ強度画像生成部163は、フレームメモリ162に蓄積されているクエリ画像を基にエッジ強度画像を生成する。   The edge strength image generation unit 163 generates an edge strength image based on the query image stored in the frame memory 162.

エッジ画像生成部164は、フレームメモリ162に蓄積されているクエリ画像を基にエッジ画像を生成する。   The edge image generation unit 164 generates an edge image based on the query image stored in the frame memory 162.

クエリ特徴量抽出部165は、クエリ画像のエッジ画像およびエッジ強度画像を基に、モデル画像のモデル特徴点に対応するクエリ画像のエッジ点におけるエッジ強度を、クエリ画像の特徴量であるクエリ特徴量として抽出する。クエリ特徴量は、所定の次元数の特徴量ベクトルであるクエリ特徴量ベクトルとして表される。   The query feature quantity extraction unit 165 obtains the edge strength at the edge point of the query image corresponding to the model feature point of the model image, based on the edge image and the edge strength image of the query image, as a query feature quantity that is the feature quantity of the query image. Extract as The query feature quantity is represented as a query feature quantity vector that is a feature quantity vector having a predetermined number of dimensions.

クエリ特徴量抽出部165は、クエリ特徴量ベクトルの情報を、クラスタの識別情報であるキーの情報とともにマッチング部166に供給する。   The query feature quantity extraction unit 165 supplies the query feature quantity vector information to the matching unit 166 together with key information which is cluster identification information.

マッチング部166は、図7の認識部33と同様にして、予め与えられているLSHのハッシュ関数を用いてクエリ特徴量ベクトルを量子化する。   The matching unit 166 quantizes the query feature quantity vector using a previously provided LSH hash function in the same manner as the recognition unit 33 in FIG. 7.

マッチング部166は、クエリ特徴点(ベース点およびサポート点)を、クエリ特徴量ベクトルに複数のハッシュ関数を適用してそれぞれ求められた量子化値の組み合わせをキーとするクラスタに属する特徴点としてクラスタリングする。   The matching unit 166 clusters the query feature points (base points and support points) as feature points belonging to a cluster using a combination of quantized values obtained by applying a plurality of hash functions to the query feature quantity vector as keys. To do.

マッチング部166は、モデル辞書記憶部156に記憶されているインデックス情報に基づいて、クエリ特徴点と同じクラスタに属するモデル特徴点を最近傍候補として選択する。例えば、クエリ画像のベース点およびサポート点のセットを構成するそれぞれのクエリ特徴点について、同じクラスタに属するモデル特徴点が検出される。   Based on the index information stored in the model dictionary storage unit 156, the matching unit 166 selects a model feature point belonging to the same cluster as the query feature point as a nearest neighbor candidate. For example, model feature points belonging to the same cluster are detected for each query feature point constituting a set of base points and support points of a query image.

マッチング部166は、検出したモデル特徴点のモデル特徴量ベクトルの情報をモデル辞書記憶部156から読み出し、クエリ特徴点と、最近傍候補のモデル特徴点との特徴量ベクトルの類似度を算出する。マッチング部166は、算出した類似度に基づいて、クエリ特徴点の最近傍となるモデル特徴点を決定する。   The matching unit 166 reads the model feature vector information of the detected model feature points from the model dictionary storage unit 156, and calculates the feature vector similarity between the query feature point and the nearest neighbor candidate model feature point. The matching unit 166 determines a model feature point that is closest to the query feature point based on the calculated similarity.

物体同定部167は、最近傍のモデル特徴点の数を基に、クエリ画像に含まれている物体を同定する。   The object identification unit 167 identifies an object included in the query image based on the number of nearest model feature points.

マッチング部166によるマッチングについて説明する。   The matching by the matching unit 166 will be described.

例えば、モデル画像が持つP個の特徴点であるエッジ点と、クエリ画像におけるP個の特徴点に対応する点とについて、特徴量同士のコストが算出され、コストの値が十分高い点がマッチングペアとして取得される。   For example, for the edge points that are P feature points of the model image and the points corresponding to the P feature points in the query image, the cost between the feature amounts is calculated, and the points with sufficiently high cost values are matched. Obtained as a pair.

図16Aは、モデル画像(モデル画像のエッジ画像E)のベース点b1と、クエリ画像(クエリ画像のエッジ画像E’)の点p'とのマッチングを説明する図である。   FIG. 16A is a diagram for explaining matching between the base point b1 of the model image (the edge image E of the model image) and the point p ′ of the query image (the edge image E ′ of the query image).

まず、クエリ画像の点p'の基準軸にあわせ、モデル画像のサポート点sの位置補正が行われる。具体的には、モデル画像のベース点b1が持つ基準軸方向nθ、クエリ画像の点p'が持つ基準軸方向n'θを用いて、図16Bに示すようにして位置補正が行われる。つまり、モデル画像のベース点b1が持つ基準軸方向nθを、クエリ画像の点p’が持つ基準軸方向n’θとの差dθ分だけ矢印方向に傾ける。   First, the position correction of the support point s of the model image is performed in accordance with the reference axis of the point p ′ of the query image. Specifically, position correction is performed as shown in FIG. 16B using the reference axis direction nθ possessed by the base point b1 of the model image and the reference axis direction n′θ possessed by the point p ′ of the query image. That is, the reference axis direction nθ possessed by the base point b1 of the model image is tilted in the direction of the arrow by the difference dθ from the reference axis direction n′θ possessed by the point p ′ of the query image.

続いて、ベースb1を点p'の位置にあわせ、b1-p'間の特徴量コストd(b1,p')を算出し、各サポート点については、図16Cに示す探索領域内で特徴量コストd(s1j,p'k)が最小となる点を探索する。   Subsequently, the base b1 is aligned with the position of the point p ′, and the feature amount cost d (b1, p ′) between b1 and p ′ is calculated. For each support point, the feature amount within the search area shown in FIG. 16C. The point where the cost d (s1j, p'k) is minimum is searched.

モデル特徴点をm、クエリ特徴点をtとすると、局所特徴量間の距離を表すd(m,t)は下式(1)で表される。

Figure 2011221689
Assuming that the model feature point is m and the query feature point is t, d (m, t) representing the distance between the local feature amounts is expressed by the following equation (1).
Figure 2011221689

式(1)のhm(k)はモデル特徴点の特徴量を表し、ht(k)はクエリ特徴点の特徴量を表す。   In equation (1), hm (k) represents the feature quantity of the model feature point, and ht (k) represents the feature quantity of the query feature point.

また、ベース点、及びサポート点をあわせたTotalのマッチングコストは下式(2)で表される。

Figure 2011221689
The total matching cost including the base point and the support point is expressed by the following equation (2).
Figure 2011221689

式(2)のα1j、β1jは、それぞれ、角度、距離のペナルティコストであり、下式(3)で表される。

Figure 2011221689
Α1j and β1j in equation (2) are the penalty costs of angle and distance, respectively, and are represented by the following equation (3).
Figure 2011221689

また、θp'k、rp'kは各サポート点に最もマッチする点p’kのベース点biからの角度、及び距離である。   Θp′k and rp′k are the angle and distance from the base point bi of the point p′k that best matches each support point.

以上の計算を全てのクエリ特徴点について行い、最大コストを持つ点をモデルのベース点b1の対応点b’1とする。   The above calculation is performed for all the query feature points, and the point having the maximum cost is set as the corresponding point b'1 of the model base point b1.

このように、図3の学習装置1において行われる学習処理、図7の認識装置2において行われる認識処理は、特開2008−77625号公報や特開2008−243175号公報に記載されている物体認識に適用可能である。   As described above, the learning process performed in the learning apparatus 1 in FIG. 3 and the recognition process performed in the recognition apparatus 2 in FIG. 7 are objects described in Japanese Patent Application Laid-Open Nos. 2008-77625 and 2008-243175. Applicable to recognition.

[コンピュータの構成例]
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
[Computer configuration example]
The series of processes described above can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software is installed from a program recording medium into a computer incorporated in dedicated hardware or a general-purpose personal computer.

図17は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。   FIG. 17 is a block diagram illustrating a configuration example of hardware of a computer that executes the above-described series of processing by a program.

CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203は、バス204により相互に接続されている。   A CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, and a RAM (Random Access Memory) 203 are connected to each other via a bus 204.

バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウスなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続される。また、入出力インタフェース205には、ハードディスクや不揮発性のメモリなどよりなる記憶部208、ネットワークインタフェースなどよりなる通信部209、リムーバブルメディア211を駆動するドライブ210が接続される。   An input / output interface 205 is further connected to the bus 204. To the input / output interface 205, an input unit 206 such as a keyboard and a mouse and an output unit 207 such as a display and a speaker are connected. The input / output interface 205 is connected to a storage unit 208 made up of a hard disk, nonvolatile memory, etc., a communication unit 209 made up of a network interface, etc., and a drive 210 that drives the removable medium 211.

以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを入出力インタフェース205及びバス204を介してRAM203にロードして実行することにより、上述した一連の処理が行われる。   In the computer configured as described above, for example, the CPU 201 loads the program stored in the storage unit 208 to the RAM 203 via the input / output interface 205 and the bus 204 and executes it, thereby executing the above-described series of processing. Is done.

CPU201が実行するプログラムは、例えばリムーバブルメディア211に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部208にインストールされる。   The program executed by the CPU 201 is recorded in the removable medium 211 or provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting, and is installed in the storage unit 208.

なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。   The program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.

本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。   The embodiments of the present invention are not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention.

1 学習装置, 2 認識装置, 11 画像処理部, 12 特徴量抽出部, 13 インデックス作成部, 14 ハッシュ関数記憶部, 15 モデル辞書記憶部, 21 量子化部, 22 クラスタリング部, 31 画像処理部, 32 特徴量抽出部, 33 認識部, 34 ハッシュ関数記憶部, 35 モデル辞書記憶部, 41 量子化部, 42 クラスタリング部, 43 類似度算出部, 44 出力部   DESCRIPTION OF SYMBOLS 1 Learning apparatus, 2 Recognition apparatus, 11 Image processing part, 12 Feature-value extraction part, 13 Index creation part, 14 Hash function memory | storage part, 15 Model dictionary memory | storage part, 21 Quantization part, 22 Clustering part, 31 Image processing part, 32 feature quantity extraction unit, 33 recognition unit, 34 hash function storage unit, 35 model dictionary storage unit, 41 quantization unit, 42 clustering unit, 43 similarity calculation unit, 44 output unit

Claims (9)

入力されたモデルデータの特徴点であるモデル特徴点を決定し、前記モデル特徴点の特徴量を抽出する抽出手段と、
前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定する量子化手段と、
前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングするクラスタリング手段と
を備える学習装置。
Extracting means for determining a model feature point that is a feature point of the input model data and extracting a feature amount of the model feature point;
According to whether or not the inner product value of the model feature quantity vector representing the feature quantity of the model feature point and the hash function vector of the LSH hash function vector having the same dimension number as the model feature quantity vector is greater than or equal to a threshold value, If the model feature vector is quantized to one of binary values 1 and 0, and the model feature vector is within the margin set in the hash function vector in the feature space, 1 and Quantization means for setting the other of the binary values of 0 as a value after quantization of the model feature vector;
Clustering means for clustering the model feature points as feature points belonging to a cluster identified by a combination of values after quantization of the model feature quantity vectors obtained by using the hash function vectors. .
前記モデル特徴量ベクトルの情報と、前記モデル特徴点が属するクラスタの情報とを対応付けて記憶する記憶手段をさらに備える
請求項1に記載の学習装置。
The learning apparatus according to claim 1, further comprising a storage unit that stores information on the model feature quantity vector and information on a cluster to which the model feature point belongs in association with each other.
前記マージンは、前記ハッシュ関数ベクトルと直交する超平面の近傍を含むように前記ハッシュ関数ベクトルに設定される
請求項1に記載の学習装置。
The learning device according to claim 1, wherein the margin is set in the hash function vector so as to include a vicinity of a hyperplane orthogonal to the hash function vector.
入力されたモデルデータの特徴点であるモデル特徴点を決定し、
前記モデル特徴点の特徴量を抽出し、
前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、
前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定し、
前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングする
ステップを含む学習方法。
Determine model feature points that are the feature points of the input model data,
Extracting feature quantities of the model feature points;
According to whether or not the inner product value of the model feature quantity vector representing the feature quantity of the model feature point and the hash function vector of the LSH hash function vector having the same dimension number as the model feature quantity vector is greater than or equal to a threshold value, Quantize the model feature vector into one of the binary values 1 and 0,
When the model feature quantity vector is within the margin set in the hash function vector in the feature quantity space, the other one of the binary values 1 and 0 is quantized after the model feature quantity vector is quantized. As the value of
A learning method including a step of clustering the model feature points as feature points belonging to a cluster identified by a combination of values after quantization of the model feature vector obtained using the hash function vectors.
入力されたモデルデータの特徴点であるモデル特徴点を決定し、
前記モデル特徴点の特徴量を抽出し、
前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、
前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定し、
前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングする
ステップを含む処理をコンピュータに実行させるプログラム。
Determine model feature points that are the feature points of the input model data,
Extracting feature quantities of the model feature points;
According to whether or not the inner product value of the model feature quantity vector representing the feature quantity of the model feature point and the hash function vector of the LSH hash function vector having the same dimension number as the model feature quantity vector is greater than or equal to a threshold value, Quantize the model feature vector into one of the binary values 1 and 0,
When the model feature quantity vector is within the margin set in the hash function vector in the feature quantity space, the other one of the binary values 1 and 0 is quantized after the model feature quantity vector is quantized. As the value of
Clustering the model feature points as feature points belonging to a cluster identified by a combination of values after quantization of the model feature vector obtained by using the hash function vectors. The program to be executed.
入力されたモデルデータの特徴点であるモデル特徴点を決定し、
前記モデル特徴点の特徴量を抽出し、
前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、
前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定し、
前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングする
学習装置により生成された情報に基づいて処理を行う認識装置において、
クエリとして入力されたデータの特徴点であるクエリ特徴点を決定し、前記クエリ特徴点の特徴量を抽出する抽出手段と、
前記クエリ特徴点の特徴量を表すクエリ特徴量ベクトルと、前記ハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記クエリ特徴量ベクトルを1と0の二値のうちの一方の値に量子化する量子化手段と、
前記クエリ特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記クエリ特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングするクラスタリング手段と、
前記クエリ特徴点と、前記クエリ特徴点と同じクラスタに属するそれぞれの前記モデル特徴点との類似度を算出し、算出した類似度に基づいて、前記クエリ特徴点の最近傍となる前記モデル特徴点を決定する認識手段と
を備える認識装置。
Determine model feature points that are the feature points of the input model data,
Extracting feature quantities of the model feature points;
According to whether or not the inner product value of the model feature quantity vector representing the feature quantity of the model feature point and the hash function vector of the LSH hash function vector having the same dimension number as the model feature quantity vector is greater than or equal to a threshold value, Quantize the model feature vector into one of the binary values 1 and 0,
When the model feature quantity vector is within the margin set in the hash function vector in the feature quantity space, the other one of the binary values 1 and 0 is quantized after the model feature quantity vector is quantized. As the value of
Information generated by a learning device that clusters the model feature points as feature points belonging to a cluster identified by a combination of values after quantization of the model feature vector obtained using the hash function vectors In a recognition device that performs processing based on
Extracting means for determining a query feature point that is a feature point of data input as a query and extracting a feature amount of the query feature point;
Depending on whether or not the inner product value of the query feature quantity vector representing the feature quantity of the query feature point and the hash function vector is greater than or equal to a threshold value, the query feature quantity vector is one of binary values of 1 and 0. A quantization means for quantizing to one value;
Clustering means for clustering the query feature points as feature points belonging to a cluster identified by a combination of values after quantization of the query feature vector obtained using the hash function vectors;
A similarity between the query feature point and each of the model feature points belonging to the same cluster as the query feature point is calculated, and the model feature point that is closest to the query feature point based on the calculated similarity A recognition device comprising: recognition means for determining
前記学習装置により生成された前記モデル特徴量ベクトルの情報と、前記モデル特徴点が属するクラスタの情報とを対応付けて記憶する記憶手段をさらに備える
請求項6に記載の認識装置。
The recognition apparatus according to claim 6, further comprising a storage unit that stores information on the model feature vector generated by the learning device and information on a cluster to which the model feature point belongs in association with each other.
入力されたモデルデータの特徴点であるモデル特徴点を決定し、
前記モデル特徴点の特徴量を抽出し、
前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、
前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定し、
前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングする
学習装置により生成された情報に基づいて行う認識方法において、
クエリとして入力されたデータの特徴点であるクエリ特徴点を決定し、
前記クエリ特徴点の特徴量を抽出し、
前記クエリ特徴点の特徴量を表すクエリ特徴量ベクトルと、前記ハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記クエリ特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、
前記クエリ特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記クエリ特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングし、
前記クエリ特徴点と、前記クエリ特徴点と同じクラスタに属するそれぞれの前記モデル特徴点との類似度を算出し、算出した類似度に基づいて、前記クエリ特徴点の最近傍となる前記モデル特徴点を決定する
ステップを含む認識方法。
Determine model feature points that are the feature points of the input model data,
Extracting feature quantities of the model feature points;
According to whether or not the inner product value of the model feature quantity vector representing the feature quantity of the model feature point and the hash function vector of the LSH hash function vector having the same dimension number as the model feature quantity vector is greater than or equal to a threshold value, Quantize the model feature vector into one of the binary values 1 and 0,
When the model feature quantity vector is within the margin set in the hash function vector in the feature quantity space, the other one of the binary values 1 and 0 is quantized after the model feature quantity vector is quantized. As the value of
Information generated by a learning device that clusters the model feature points as feature points belonging to a cluster identified by a combination of values after quantization of the model feature vector obtained using the hash function vectors In the recognition method performed based on
Determine the query feature points that are the feature points of the data entered as queries,
Extracting feature quantities of the query feature points;
Depending on whether or not the inner product value of the query feature quantity vector representing the feature quantity of the query feature point and the hash function vector is greater than or equal to a threshold value, the query feature quantity vector is one of binary values 1 and 0 Quantize to one value,
Clustering the query feature points as feature points belonging to a cluster identified by a combination of values after quantization of the query feature vector obtained using the hash function vectors,
A similarity between the query feature point and each of the model feature points belonging to the same cluster as the query feature point is calculated, and the model feature point that is closest to the query feature point based on the calculated similarity A recognition method including the step of determining.
入力されたモデルデータの特徴点であるモデル特徴点を決定し、
前記モデル特徴点の特徴量を抽出し、
前記モデル特徴点の特徴量を表すモデル特徴量ベクトルと、前記モデル特徴量ベクトルと次元数が同じベクトルであるLSHのハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記モデル特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、
前記モデル特徴量ベクトルが、特徴量空間において前記ハッシュ関数ベクトルに設定されたマージンの範囲内にある場合、1と0の二値のうちの他方の値を、前記モデル特徴量ベクトルの量子化後の値として設定し、
前記モデル特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記モデル特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングする
学習装置により生成された情報に基づく処理をコンピュータに実行させるプログラムにおいて、
クエリとして入力されたデータの特徴点であるクエリ特徴点を決定し、
前記クエリ特徴点の特徴量を抽出し、
前記クエリ特徴点の特徴量を表すクエリ特徴量ベクトルと、前記ハッシュ関数ベクトルとの内積値が閾値以上であるか否かに応じて、前記クエリ特徴量ベクトルを1と0の二値のうちの一方の値に量子化し、
前記クエリ特徴点を、それぞれの前記ハッシュ関数ベクトルを用いて得られた前記クエリ特徴量ベクトルの量子化後の値の組み合わせにより識別されるクラスタに属する特徴点としてクラスタリングし、
前記クエリ特徴点と、前記クエリ特徴点と同じクラスタに属するそれぞれの前記モデル特徴点との類似度を算出し、算出した類似度に基づいて、前記クエリ特徴点の最近傍となる前記モデル特徴点を決定する
ステップを含む処理をコンピュータに実行させるプログラム。
Determine model feature points that are the feature points of the input model data,
Extracting feature quantities of the model feature points;
According to whether or not the inner product value of the model feature quantity vector representing the feature quantity of the model feature point and the hash function vector of the LSH hash function vector having the same dimension number as the model feature quantity vector is greater than or equal to a threshold value, Quantize the model feature vector into one of the binary values 1 and 0,
When the model feature quantity vector is within the margin set in the hash function vector in the feature quantity space, the other one of the binary values 1 and 0 is quantized after the model feature quantity vector is quantized. As the value of
Information generated by a learning device that clusters the model feature points as feature points belonging to a cluster identified by a combination of values after quantization of the model feature vector obtained using the hash function vectors In a program for causing a computer to execute processing based on
Determine the query feature points that are the feature points of the data entered as queries,
Extracting feature quantities of the query feature points;
Depending on whether or not the inner product value of the query feature quantity vector representing the feature quantity of the query feature point and the hash function vector is greater than or equal to a threshold value, the query feature quantity vector is one of binary values of 1 and 0. Quantize to one value,
Clustering the query feature points as feature points belonging to a cluster identified by a combination of values after quantization of the query feature vector obtained using the hash function vectors,
A similarity between the query feature point and each of the model feature points belonging to the same cluster as the query feature point is calculated, and the model feature point that is closest to the query feature point based on the calculated similarity A program that causes a computer to execute a process including a step.
JP2010088462A 2010-04-07 2010-04-07 Learning device, learning method, recognition device, recognition method, and program Withdrawn JP2011221689A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010088462A JP2011221689A (en) 2010-04-07 2010-04-07 Learning device, learning method, recognition device, recognition method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010088462A JP2011221689A (en) 2010-04-07 2010-04-07 Learning device, learning method, recognition device, recognition method, and program

Publications (1)

Publication Number Publication Date
JP2011221689A true JP2011221689A (en) 2011-11-04

Family

ID=45038622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010088462A Withdrawn JP2011221689A (en) 2010-04-07 2010-04-07 Learning device, learning method, recognition device, recognition method, and program

Country Status (1)

Country Link
JP (1) JP2011221689A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014118978A1 (en) * 2013-02-01 2014-08-07 富士通株式会社 Learning method, image processing device and learning program
WO2014118976A1 (en) * 2013-02-01 2014-08-07 富士通株式会社 Learning method, information conversion device, and learning program
JP2015204030A (en) * 2014-04-15 2015-11-16 キヤノン株式会社 Authentication device and authentication method
CN106341689A (en) * 2016-09-07 2017-01-18 中山大学 Method and system for optimizing AVS2 quantization module and inverse quantization module
JP2018504710A (en) * 2015-01-27 2018-02-15 ノキア テクノロジーズ オサケユイチア Location and mapping methods
US10303717B2 (en) 2014-02-10 2019-05-28 Nec Corporation Search system, search method and program recording medium
CN111079828A (en) * 2019-12-13 2020-04-28 智慧神州(北京)科技有限公司 Image clustering method and device based on neural network and storage medium
US10783152B2 (en) 2016-02-05 2020-09-22 Fujitsu Limited Information processing apparatus and data comparison method

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635991B2 (en) 2013-02-01 2020-04-28 Fujitsu Limited Learning method, information processing device, and recording medium
WO2014118978A1 (en) * 2013-02-01 2014-08-07 富士通株式会社 Learning method, image processing device and learning program
JP6004014B2 (en) * 2013-02-01 2016-10-05 富士通株式会社 Learning method, information conversion apparatus, and learning program
US9792561B2 (en) 2013-02-01 2017-10-17 Fujitsu Limited Learning method, information conversion device, and recording medium
JP6004015B2 (en) * 2013-02-01 2016-10-05 富士通株式会社 Learning method, information processing apparatus, and learning program
WO2014118976A1 (en) * 2013-02-01 2014-08-07 富士通株式会社 Learning method, information conversion device, and learning program
US11386149B2 (en) 2014-02-10 2022-07-12 Nec Corporation Search system, search method and program recording medium
US10303717B2 (en) 2014-02-10 2019-05-28 Nec Corporation Search system, search method and program recording medium
US11321387B2 (en) 2014-02-10 2022-05-03 Nec Corporation Search system, search method and program recording medium
JP2015204030A (en) * 2014-04-15 2015-11-16 キヤノン株式会社 Authentication device and authentication method
US10366304B2 (en) 2015-01-27 2019-07-30 Nokia Technologies Oy Localization and mapping method
JP2018504710A (en) * 2015-01-27 2018-02-15 ノキア テクノロジーズ オサケユイチア Location and mapping methods
US10783152B2 (en) 2016-02-05 2020-09-22 Fujitsu Limited Information processing apparatus and data comparison method
CN106341689A (en) * 2016-09-07 2017-01-18 中山大学 Method and system for optimizing AVS2 quantization module and inverse quantization module
CN106341689B (en) * 2016-09-07 2019-04-23 中山大学 A kind of optimization method and system of AVS2 quantization modules and inverse quantization module
CN111079828A (en) * 2019-12-13 2020-04-28 智慧神州(北京)科技有限公司 Image clustering method and device based on neural network and storage medium
CN111079828B (en) * 2019-12-13 2023-10-20 北京因特睿软件有限公司 Image clustering method, device and storage medium based on neural network

Similar Documents

Publication Publication Date Title
US8270723B2 (en) Recognition device, recognition method, and program
JP2011221689A (en) Learning device, learning method, recognition device, recognition method, and program
US9754151B2 (en) Derived virtual quality parameters for fingerprint matching
Cao et al. Face alignment by explicit shape regression
JP4547639B2 (en) Image processing apparatus and method, and program
Sanderson et al. Multi-region probabilistic histograms for robust and scalable identity inference
Li et al. Probabilistic elastic matching for pose variant face verification
JP4518092B2 (en) Object recognition device, object recognition method, object recognition program, feature amount registration device, feature amount registration method, and feature amount registration program
Escalera et al. Blurred shape model for binary and grey-level symbol recognition
EP1835460B1 (en) Image processing system, learning device and method, and program
US10192098B2 (en) Palm print image matching techniques
US7835547B2 (en) Image recognition device, image recognition method, and program for causing computer to execute the method
US8620087B2 (en) Feature selection device
Calonder et al. Compact signatures for high-speed interest point description and matching
JP2011008507A (en) Image retrieval method and system
US10748018B2 (en) Multi-stage tattoo matching techniques
AU2019200711A1 (en) Biometric verification
US10127681B2 (en) Systems and methods for point-based image alignment
CN111783770B (en) Image correction method, device and computer readable storage medium
US9223804B2 (en) Determining capacity of search structures
Ouamane et al. A novel statistical and multiscale local binary feature for 2D and 3D face verification
JP7121132B2 (en) Image processing method, apparatus and electronic equipment
JP2015007919A (en) Program, apparatus, and method of realizing high accuracy geometric inspection for images different in point of view
Liu et al. Finger-vein recognition with modified binary tree model
JP5616310B2 (en) Image matching apparatus and image matching program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130702