JP6364387B2 - Feature generation apparatus, method, and program - Google Patents

Feature generation apparatus, method, and program Download PDF

Info

Publication number
JP6364387B2
JP6364387B2 JP2015160456A JP2015160456A JP6364387B2 JP 6364387 B2 JP6364387 B2 JP 6364387B2 JP 2015160456 A JP2015160456 A JP 2015160456A JP 2015160456 A JP2015160456 A JP 2015160456A JP 6364387 B2 JP6364387 B2 JP 6364387B2
Authority
JP
Japan
Prior art keywords
vector
feature
vectors
feature quantity
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015160456A
Other languages
Japanese (ja)
Other versions
JP2017040972A (en
Inventor
豪 入江
豪 入江
島村 潤
潤 島村
明 小島
明 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015160456A priority Critical patent/JP6364387B2/en
Publication of JP2017040972A publication Critical patent/JP2017040972A/en
Application granted granted Critical
Publication of JP6364387B2 publication Critical patent/JP6364387B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Description

本発明は、特徴量生成装置、方法、及びプログラムに係り、特に、コンテンツの特徴ベクトルをバイナリベクトルに変換する特徴量生成装置、方法、及びプログラムに関する。   The present invention relates to a feature value generation device, method, and program, and more particularly, to a feature value generation device, method, and program for converting a feature vector of content into a binary vector.

通信環境やコンピュータ、分散処理基盤技術の高度・高品質化により、ネットワークに流通するメディアコンテンツの数は膨大なものとなっている。例えば、ある検索エンジンがインデクシングしているウェブページの数は数兆にのぼるといわれている。また、あるサイトでは、日々3.5億の画像がアップロードされていると報告されており、また、あるサイトでは、1分当たり64時間分の映像が新規に公開されているとの報告もある。   Due to the advancement and quality of communication environments, computers, and distributed processing infrastructure technologies, the number of media contents distributed on networks has become enormous. For example, a search engine is said to have trillions of web pages indexed. Some sites report that 350 million images are uploaded every day, and some sites report that 64 hours of video per minute are newly released. .

このような膨大な量のコンテンツは、利用者にとっては豊富な情報源となる一方で、閲覧したいコンテンツに素早くアクセスすることがますます困難になっているという課題ももたらしている。このような流れの中、閲覧・視聴したいコンテンツを効率的に探し出すためのメディア解析技術への要望がますます高まってきている。   Such an enormous amount of content is a rich source of information for users, but also brings about the problem that it becomes increasingly difficult to quickly access the content to be viewed. In such a trend, there is an increasing demand for media analysis technology for efficiently searching for contents to be browsed and viewed.

上記のような用途においては、一般にコンテンツの意味内容に興味があり、意味内容として同一、又は類似したコンテンツを発見する手続きが重要な役割を果たす。ここで言う意味内容とは、コンテンツの内容を表すインスタンスであり、実態を伴い、名称づけできるものを指す。例えば、画像や映像に写っている物体がその代表例である。   In the applications as described above, the procedure for finding content that is the same or similar as the semantic content plays an important role. The meaning content mentioned here is an instance representing the content content, and refers to something that can be named with actuality. For example, an object shown in an image or video is a typical example.

例えば、コンテンツを分類する場合を考えると、同じような意味内容を持つコンテンツを同じカテゴリに分類したいことが多い。あるいは検索の場合、あるコンテンツをクエリとして与えたとき、このコンテンツと同一あるいは類似した意味内容を持つコンテンツを検索することが基本的な要件となる。そのほか、コンテンツ推薦においても、利用者がこれまでに閲覧した/閲覧しているコンテンツと意味内容として同一、ないし類似したコンテンツを発見してこれを推薦する。また、コンテンツ要約の場合においても、意味内容に重複のない部分を発見し、これをまとめていく処理が必要となる。   For example, considering the case of classifying content, it is often desirable to classify content having the same semantic content into the same category. Alternatively, in the case of a search, when a certain content is given as a query, it is a basic requirement to search for a content having the same or similar meaning content as this content. In addition, in content recommendation, a user finds and recommends content that is the same as or similar to the content that the user has browsed / viewed so far. Also in the case of content summarization, it is necessary to find a portion where there is no overlap in semantic content and to collect this.

ここで、意味内容が同一、又は類似したコンテンツを発見する典型的な手続きについて解説しておく。まず、各々のコンテンツを一つ以上の特徴量ベクトルの集合によって表現する。次に、互いに異なる二つのコンテンツに含まれる特徴量ベクトル同士の近さを測り、これが近いペア(マッチするペア)が多数含まれているほど、意味内容が近しい、又は、同一のコンテンツであると見做す。   Here, a typical procedure for finding content having the same or similar meaning will be described. First, each content is expressed by a set of one or more feature vectors. Next, the proximity of feature vectors included in two different contents is measured, and the closer the content (matching pairs) are, the closer the semantic content is, or the same content I look forward to it.

ここで、一つのコンテンツを一つ以上の特徴量ベクトルの集合として表現する理由を、コンテンツが画像で、意味内容が物体である場合を例に説明しよう。なお、意味内容が物体以外のもの、例えば文字や図形、情景や場所などを表す場合も全く同様であり、また、コンテンツが映像である場合にも、映像は画像の系列と考えられるので、この場合にも全く同様である。   Here, the reason why one content is expressed as a set of one or more feature vectors will be described by taking an example where the content is an image and the semantic content is an object. The same applies to the case where the semantic content represents something other than an object, for example, a character or a figure, a scene, or a place. Also, when the content is a video, the video is considered a series of images. The same applies to the case.

通常、物体は、例え同一の物体であっても、どの画像にも同じ位置・姿勢(角度など)・大きさで写っているわけではなく、画像によってさまざまである。然るに画像から抽出される特徴量は、位置・姿勢・大きさに対して不変性を持つことが望ましい。画像一枚そのものを表現するような単純な特徴量ベクトルでは、このような不変性を得ることは難しい。例えばピクセル値をベクトルに並べたもの等は、位置・姿勢・大きさいずれに対しても不変でない。一方、一部情報を抽象化したもの、例えば、色ヒストグラム等は、位置・姿勢に対する不変性は持ちうるが、大きさに対する不変量ではない。また、物体の一部が欠けていたりする場合に対しても脆弱であるし、情報を抽象化している分判別精度が劣化しやすい。一方で、画像の微小な領域を大量に抽出し、各微小領域を表現する一定次元の特徴量ベクトルを得るものとし、この複数の特徴量ベクトルの集合によって画像を表現したとすると、位置・姿勢・大きさ、いずれに対しても不変な特徴量とすることができる。より具体的には、このように表現された二枚の画像があるとき、各画像を表現する特徴量ベクトルの集合から、それぞれ一サンプルずつを取って比較し、同一性を判定する。同一なものの数が多ければ、この二枚の画像は同一の物体を含む可能性が高く、小さければ低いと言える。各画像の(微小領域の)特徴量ベクトル同士の比較は、微小領域の位置や大きさに依らず行われる。また、もし特徴量ベクトル自体が姿勢に対して不変性を持つものであるとすれば、このような表現及びその比較は、位置・姿勢・大きさのいずれにも不変である。実際、姿勢に対して不変性を持つ特徴量ベクトルを得る方法は、多くの方法が知られており、例えば非特許文献1に記載のScale Invariant Feature Transform(SIFT)や非特許文献2に記載のSpeed−up Robust Features(SURF)などが存在する。   Normally, even if the object is the same object, it does not always appear in the same position, posture (angle, etc.) and size in any image, and varies depending on the image. However, it is desirable that the feature amount extracted from the image has invariance with respect to the position, posture, and size. It is difficult to obtain such invariance with a simple feature vector that represents one image itself. For example, a pixel value arranged in a vector is not invariant with respect to position, posture, and size. On the other hand, an abstraction of some information, such as a color histogram, can have invariance with respect to position and orientation, but is not invariant with respect to size. Further, it is vulnerable to a case where a part of an object is missing, and the discrimination accuracy is easily deteriorated as information is abstracted. On the other hand, if a small area of an image is extracted in large quantities to obtain a fixed-dimension feature vector representing each micro-area, and the image is represented by a set of these multiple feature vectors, the position and orientation -It can be a feature quantity that is invariant to size. More specifically, when there are two images expressed in this way, each sample is taken from a set of feature vectors expressing each image and compared to determine the identity. If the number of identical images is large, the two images are likely to contain the same object, and if the number is small, the images are low. Comparison between feature quantity vectors (in small areas) of each image is performed regardless of the position and size of the small area. Further, if the feature vector itself has invariance with respect to the posture, such expression and comparison thereof are invariant with respect to any of position, posture, and size. Actually, many methods are known for obtaining a feature vector having invariance with respect to the posture. For example, Scale Invariant Feature Transform (SIFT) described in Non-Patent Document 1 and Non-Patent Document 2 describe. Speed-up Robust Features (SURF) and the like exist.

以上述べた通り、上記典型的な手続きによれば、コンテンツを一つ以上の特徴量ベクトルの集合として表現することで、位置・姿勢・大きさによらず、頑健に、意味内容が同一、又は、近しいコンテンツを発見することができる。   As described above, according to the above typical procedure, by expressing the content as a set of one or more feature vectors, the semantic content is robustly the same regardless of the position / posture / size, or , Can find close content.

一方で、このような方法は、コンテンツ同士を比較するために、多数の特徴量ベクトルを比較しなければならず、非常に非効率的であるという問題がある。   On the other hand, there is a problem that such a method is very inefficient because a large number of feature vectors must be compared in order to compare contents.

仮に、コンテンツが128次元の特徴量ベクトル10000個で表現されているとしよう。この時、任意の二つのコンテンツを比較するのに、10000×10000×128の、計128億回の演算を要し、一般的なコンピュータで実行した場合、10〜15秒程度の時間を要する。もしコンテンツ数が10000あったとして、これらの中から意味内容が同一あるいは近しいコンテンツを発見するような場合には、さらにこの10000倍の時間を要することとなる。   Suppose that the content is represented by 10,000 128-dimensional feature vectors. At this time, in order to compare two arbitrary contents, a total of 12.8 billion operations of 10,000 × 10000 × 128 are required, and when executed on a general computer, it takes about 10 to 15 seconds. If the number of contents is 10,000, and if contents having the same or similar meaning are found from these, it will take 10,000 times more time.

加えて、このような特徴量ベクトルが実数値(4バイト精度)を全てメモリにストアした場合、約50ギガバイト(GB)という非常に大きなメモリが必要となる。   In addition, when such a feature vector stores all real values (4-byte precision) in a memory, a very large memory of about 50 gigabytes (GB) is required.

以上の問題を鑑み、実用上、高速かつ高効率に、意味内容が同一又は近しいコンテンツを発見可能にする特徴量生成技術が望まれる。   In view of the above problems, there is a demand for a feature value generation technique that makes it possible to discover content having the same or similar meaning content at high speed and high efficiency.

以上の問題に対して、従来よりいくつかの発明がなされ、開示されてきている。   Several inventions have been made and disclosed for the above problems.

非特許文献3には、特徴量ベクトルを量子化することによって、文書検索の容量で同一の物体を含む画像を発見可能にする方法を開示している。画像から、微小領域であるところの多数の特徴点を検出し、各特徴点をSIFT特徴量によって記述する。このようにして抽出された多数のSIFT特徴量をK−means法によってクラスタリングすることで、予めベクトル量子化器(符号張)を学習しておく。この量子化器を用いて、元の画像の特徴量ベクトルを量子(符号)にベクトル量子化することで、画像は複数の量子によって表現されることになる。結果として、画像と量子の関係は、文書とこれに含まれる単語の関係と等価になるので、文書検索と同じ容量で検索が実行できるようになる。   Non-Patent Document 3 discloses a method of making it possible to find an image including the same object with a document search capacity by quantizing a feature vector. A large number of feature points that are minute regions are detected from the image, and each feature point is described by a SIFT feature value. A vector quantizer (sign extension) is learned in advance by clustering a large number of SIFT feature quantities extracted in this way by the K-means method. By using this quantizer to vector-quantize the feature vector of the original image into quanta (code), the image is represented by a plurality of quanta. As a result, the relationship between the image and the quantum is equivalent to the relationship between the document and the words included therein, so that the search can be executed with the same capacity as the document search.

特許文献1には、非特許文献3に開示されている手続きと同様の手続きを取り、さらに、各量子の出現頻度を複数種類求めることで、より高精度に同一の物体を含む画像を発見することができる方法を開示している。   In Patent Document 1, a procedure similar to the procedure disclosed in Non-Patent Document 3 is taken, and furthermore, by obtaining a plurality of types of appearance frequencies of each quantum, an image including the same object is found with higher accuracy. A method that can be used is disclosed.

非特許文献4に開示されている技術は、下記のようなものである。まず、非特許文献3に開示されている手続きと同様に量子化器を学習する。また、特徴量ベクトルの次元に等しい大きさを持つランダムな変換行列を一つ生成し、さらに、量子ごとに各量子に割り当てられた特徴量ベクトルに対して、この変換行列を適用した際に得られるベクトルの中央値ベクトルを求めておく。画像を表現する際には、まず、当該画像に含まれる特徴量ベクトルを量子化器を用いて量子化した後、さらに、先の変換行列を特徴量ベクトルに適用し、特徴量ベクトルが先に求めた中央値ベクトルよりも大きいか否かを判定することによって、二値(例えば1、0)のバイナリベクトルを生成する。これにより、各特徴量ベクトルが、量子と二値とのバイナリベクトルの二種類の情報によって表現されることとなる。画像間(又は異なる画像に含まれる特徴量ベクトル間)の比較を実行する際には、特徴量ベクトルが割り当てられた量子が同一であり、さらに、対応するバイナリベクトル間の距離が一定値以下である場合に限り、両者はマッチすると判定する。   The technique disclosed in Non-Patent Document 4 is as follows. First, the quantizer is learned similarly to the procedure disclosed in Non-Patent Document 3. Also, a random transformation matrix having a size equal to the dimension of the feature vector is generated, and further obtained when this transformation matrix is applied to the feature vector assigned to each quantum for each quantum. The median vector of the obtained vectors is obtained. When expressing an image, first, a feature vector included in the image is quantized using a quantizer, and then the previous transformation matrix is applied to the feature vector. By determining whether or not it is larger than the calculated median vector, a binary (eg, 1, 0) binary vector is generated. As a result, each feature vector is represented by two types of information of a binary vector of quantum and binary. When performing comparison between images (or between feature vectors included in different images), the quantum to which the feature vector is assigned is the same, and the distance between corresponding binary vectors is less than a certain value. Only in some cases, it is determined that both match.

非特許文献5に開示されている技術は、下記のようなものである。まず、非特許文献3に開示されている手続きと同様に量子化器を学習する。画像を表現する際には、まず、当該画像に含まれる特徴量ベクトルを量子化器を用いて量子化する。続いて、量子ごとに、当該量子に割り当てられた特徴量ベクトルと、当該量子の代表ベクトルとの残差ベクトルを求め、その総和を取る。最終的に、量子ごとに計算されたこの残差ベクトルを一列に並べたベクトル(すなわち、「量子数×特徴量ベクトル次元数」の次元を持つ)を求め、これを当該画像の表現とする。   The technique disclosed in Non-Patent Document 5 is as follows. First, the quantizer is learned similarly to the procedure disclosed in Non-Patent Document 3. When expressing an image, first, a feature vector included in the image is quantized using a quantizer. Subsequently, for each quantum, a residual vector between the feature vector assigned to the quantum and the representative vector of the quantum is obtained, and the sum is obtained. Finally, a vector in which the residual vectors calculated for each quantum are arranged in a line (that is, having a dimension of “quantum number × feature vector dimension number”) is obtained and used as the representation of the image.

非特許文献6には、非特許文献5に類似した技術が開示されている。非特許文献5の技術との違いは、量子ごとの残差ベクトルの総和に対して、非特許文献4同様、特徴量ベクトルの次元に等しい大きさを持つランダムな変換行列を適用し、これが中央値ベクトルよりも大きいか否かを判定することによって、二値(例えば1、0)のバイナリベクトルに変換する。最終的に、量子ごとに計算されたバイナリベクトルを一列に並べたベクトル(すなわちこちらも、「量子数×特徴量ベクトル次元数」の次元を持つ)を求め、これを当該画像の表現とする。   Non-Patent Document 6 discloses a technique similar to Non-Patent Document 5. The difference from the technique of Non-Patent Document 5 is that, as in Non-Patent Document 4, a random transformation matrix having a size equal to the dimension of the feature vector is applied to the sum of residual vectors for each quantum. It is converted into a binary vector (for example, 1, 0) by determining whether or not it is larger than the value vector. Finally, a vector in which binary vectors calculated for each quantum are arranged in a line (that is, this also has a dimension of “quantum number × feature amount vector dimension number”) is obtained and used as a representation of the image.

特開2014−229063JP2014-229063

D.G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints ”, International Journal of Computer Vision, pp.91-110, 2004D.G.Lowe, “Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision, pp.91-110, 2004 H. Bay, T. Tuytelaars, and L.V. Gool, “SURF: Speeded Up Robust Features”, Lecture Notes in Computer Science, vol. 3951, pp.404-417, 2006H. Bay, T. Tuytelaars, and L.V.Gool, “SURF: Speeded Up Robust Features”, Lecture Notes in Computer Science, vol. 3951, pp.404-417, 2006 Josef Sivic, Andrew Zisserman. Video Google: A Text Retrieval Approach to Object Matching in Videos. In Proc. IEEE International Conference on Computer Vision (ICCV). Pages. 1470-1477, 2003.Josef Sivic, Andrew Zisserman. Video Google: A Text Retrieval Approach to Object Matching in Videos.In Proc.IEEE International Conference on Computer Vision (ICCV). Pages. 1470-1477, 2003. Herve Jegou, Matthijs Douze, Cordelia Schmid. Hamming Embedding and Weak Geometric Consistency. In Proc. European Conference on Computer Vision (ECCV). Pages. 304-317, 2008.Herve Jegou, Matthijs Douze, Cordelia Schmid. Hamming Embedding and Weak Geometric Consistency. In Proc. European Conference on Computer Vision (ECCV). Pages. 304-317, 2008. Herve Jegou, Matthijs Douze, Cordelia Schmid, Patrick Perez. Aggregating Local Descriptors into a Compact Image Representation. In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Pages. 3304-3311, 2010.Herve Jegou, Matthijs Douze, Cordelia Schmid, Patrick Perez. Aggregating Local Descriptors into a Compact Image Representation. In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Pages. 3304-3311, 2010. Giorgos Tolias, Yannis S. Avrithis, Herve Jegou. To Aggregate or Not To Aggregate: Selective Match Kernels for Image Search. In Proc. IEEE International Conference on Computer Vision (ICCV). Pages. 1401-1408, 2013.Giorgos Tolias, Yannis S. Avrithis, Herve Jegou. To Aggregate or Not To Aggregate: Selective Match Kernels for Image Search.In Proc.IEEE International Conference on Computer Vision (ICCV). Pages. 1401-1408, 2013.

大局的にみれば、既存の技術においては、精度と処理効率の両立がなされていない点が問題である。   From a broad perspective, the problem is that the existing technology does not achieve both accuracy and processing efficiency.

非特許文献3、及び特許文献1に開示されている技術は、特徴量ベクトルを量子化し、コンテンツを量子の集合として表現することで、非効率的な特徴量ベクトルの比較を省き、処理を効率化することができていた。しかしながら、本来実数値の特徴量ベクトルを、単純に量子化してしまうと、量子化誤差の影響が非常に大きく、結果として精度が大きく劣化するという問題が出てきてしまう。   The technologies disclosed in Non-Patent Document 3 and Patent Document 1 quantize feature quantity vectors and express content as a set of quanta, thereby eliminating inefficient feature quantity vector comparisons and improving processing efficiency. It was possible to become. However, if a feature value vector that is originally a real value is simply quantized, the influence of the quantization error becomes very large, resulting in a problem that the accuracy is greatly degraded.

反対に、非特許文献5の技術は、各量子に割り当てられた特徴量ベクトルと代表ベクトルとの残差ベクトルの総和を求めることで、この量子化誤差の影響を低減している。しかしながら、このようにして求められる残差ベクトルは依然として実数値のままであり、現実的な量子数で量子化した場合には非効率的な処理になってしまうという問題がある。つまり、例えば、量子数Kが16ビット、すなわち2^16=65536個の量子によって量子化されるとした場合、最終的にコンテンツを表現するベクトルの長さは1コンテンツあたり65536×128=8,388,608次元と膨大な次元となる。最悪の場合、情報量にして1コンテンツ当たり32メガバイト(MB)、仮にコンテンツ数が10000であるとすると、必要なメモリ容量は312GBにまで膨れ上がることになる。さらに、コンテンツ間の比較を行う場合にも、この非常に高次元な実数値ベクトルの距離を比較することになるので、多大な時間を要してしまう。   On the other hand, the technique of Non-Patent Document 5 reduces the influence of this quantization error by obtaining the sum of residual vectors of feature vectors and representative vectors assigned to each quantum. However, the residual vector obtained in this way is still a real value, and there is a problem that when it is quantized with a realistic quantum number, it becomes an inefficient process. That is, for example, when the quantum number K is 16 bits, that is, 2 ^ 16 = 65536 quanta, the length of the vector that finally represents the content is 65536 × 128 = 8 per content. It becomes an enormous number of dimensions of 388,608. In the worst case, if the amount of information is 32 megabytes (MB) per content and the number of content is 10,000, the required memory capacity will increase to 312 GB. Furthermore, when comparing contents, it takes a great deal of time because the distances of these very high-dimensional real-value vectors are compared.

非特許文献6の技術は、非特許文献5の技術の効率を改善しようとした技術であると見做すことができる。各量子に割り当てられた特徴量ベクトルと代表ベクトルとの残差ベクトルの総和を、ランダムな変換行列と中央値ベクトルによってバイナリベクトル化する。つまり、例えば、先の例と同様、16ビット量子化、コンテンツ数10000の場合、必要な最悪メモリ容量は10GB程度にまで抑えることができる。さらに、バイナリベクトルの比較は論理演算のみ(排他的論理和と、1であるビットの数のカウント)で演算することが可能であり、実数値である残差ベクトルの比較よりも遥かに高速に処理できる。しかしながら、この技術は、本来実数である特徴量ベクトルをランダムな変換行列によってバイナリベクトルに変換するため、元の特徴量ベクトルの持つ情報を必ずしも良好に保存しない。言い換えれば、バイナリ化することによる量子化誤差の影響が無視できない位大きくなる。さらに、非特許文献3、及び特許文献1と同様、量子化による量子化誤差の影響を受けるため、トータルとしての量子化誤差の影響が非常に大きく、結果として甚大な精度劣化を引き起こすという問題が残っていた。   The technique of Non-Patent Document 6 can be regarded as a technique for improving the efficiency of the technique of Non-Patent Document 5. The sum of the residual vectors of the feature vector and the representative vector assigned to each quantum is converted into a binary vector using a random transformation matrix and a median vector. That is, for example, as in the previous example, in the case of 16-bit quantization and the number of contents 10000, the necessary worst memory capacity can be suppressed to about 10 GB. In addition, binary vector comparisons can be performed using only logical operations (exclusive OR and counting the number of bits that are 1), which is much faster than comparing residual vectors that are real values. It can be processed. However, this technique converts a feature quantity vector that is originally a real number into a binary vector using a random transformation matrix, and therefore does not necessarily preserve the information that the original feature quantity vector has. In other words, the influence of quantization error due to binarization becomes so large that it cannot be ignored. Further, as in Non-Patent Document 3 and Patent Document 1, since it is affected by quantization error due to quantization, there is a problem that the influence of the quantization error as a whole is very large, resulting in tremendous accuracy degradation. It remained.

以上概観するに、現在に至るまで、処理時間、メモリ容量の観点での効率的でありながら、意味内容が同一または近しいコンテンツを精度よく発見できるコンテンツの特徴量を生成することができる技術は発明されていなかった。   As described above, a technology capable of generating a feature amount of a content that can be efficiently found from the viewpoint of processing time and memory capacity and can accurately find a content having the same or similar meaning content until the present is invented. Was not.

本発明は、上記問題点を解決するために成されたものであり、意味内容が同一又は近しいコンテンツを、精度よく、かつ効率的に発見することができる特徴量生成装置、方法、及びプログラムを提供することを目的とする。   The present invention has been made to solve the above-described problems, and provides a feature amount generation apparatus, method, and program capable of accurately and efficiently finding content having the same or similar meaning content. The purpose is to provide.

上記目的を達成するために、第1の発明に係る特徴量生成装置は、一つ以上の特徴量ベクトルの集合によって表現されたコンテンツを、前記一つ以上のベクトルの集合が持つ情報量よりも小さい情報量となるようなバイナリベクトルに変換する特徴量生成装置であって、特徴量生成対象のコンテンツを表現する前記一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々に対して、予め定めた量子化器を適用することで、前記特徴量ベクトルの各々に所定個数の量子のうちの少なくとも一つを割り当てる量子化部と、前記量子が割り当てられた前記特徴量ベクトルの各々について、予め求めた所定の変換行列を適用することで、前記バイナリベクトルを求めるバイナリ化部と、を含んで構成されており、前記量子化器、及び前記変換行列は、入力された複数の前記特徴量ベクトルに基づいて、前記特徴量ベクトルと、前記量子化器及び前記変換行列を用いて前記特徴量ベクトルから得られる前記バイナリベクトルとの誤差を最小にするように定められることを特徴とする。   In order to achieve the above object, a feature value generating apparatus according to a first aspect of the present invention relates to content expressed by a set of one or more feature value vectors more than the information amount of the one or more vector sets. A feature amount generating apparatus for converting into a binary vector that results in a small amount of information, and for each of the feature amount vectors that are elements of the set of one or more feature amount vectors that express the content of the feature amount generation target And applying a predetermined quantizer to each of the feature vector to quantize at least one of a predetermined number of quanta, and each of the feature vectors to which the quantum is assigned A binarization unit that obtains the binary vector by applying a predetermined transformation matrix obtained in advance, and the quantizer, and The transformation matrix minimizes an error between the feature vector and the binary vector obtained from the feature vector using the quantizer and the transformation matrix based on the plurality of input feature vectors. It is characterized by being determined.

また、第1の発明に係る特徴量生成装置において、前記量子化部は、前記一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々に対して、前記量子化器を適用することで、前記特徴量ベクトルの各々に前記所定個数の量子のうちの少なくとも一つを割り当てると共に、同一の量子が割り当てられた一つ以上の特徴量ベクトルに基づいて、統合特徴量ベクトルを求め、前記バイナリ化部が、前記統合特徴量ベクトルについて、前記変換行列を適用することで、前記バイナリベクトルを求めるようにしてもよい。   In the feature value generation apparatus according to the first aspect of the invention, the quantization unit applies the quantizer to each feature value vector that is an element of the set of one or more feature value vectors. Thus, at least one of the predetermined number of quanta is assigned to each of the feature quantity vectors, and an integrated feature quantity vector is obtained based on one or more feature quantity vectors to which the same quantum is assigned, The binarization unit may obtain the binary vector by applying the transformation matrix to the integrated feature vector.

第2の発明に係る特徴量生成方法は、一つ以上の特徴量ベクトルの集合によって表現されたコンテンツを、前記一つ以上のベクトルの集合が持つ情報量よりも小さい情報量となるようなバイナリベクトルに変換する特徴量生成装置における特徴量生成方法であって、量子化部が、特徴量生成対象のコンテンツを表現する前記一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々に対して、予め定めた量子化器を適用することで、前記特徴量ベクトルの各々に所定個数の量子のうちの少なくとも一つを割り当てる量子化ステップと、バイナリ化部が、前記量子が割り当てられた前記特徴量ベクトルの各々について、予め求めた所定の変換行列を適用することで、前記バイナリベクトルを求めるバイナリ化ステップと、を含んで実行し、前記量子化器、及び入力された複数の前記特徴量ベクトルに基づいて、前記特徴量ベクトルと、前記量子化器及び前記変換行列を用いて前記特徴量ベクトルから得られる前記バイナリベクトルとの誤差を最小にするように定められることを特徴とする。   According to a second aspect of the present invention, there is provided a feature quantity generation method in which a content expressed by a set of one or more feature quantity vectors has a binary information amount that is smaller than an information quantity of the one or more vector sets. A feature value generation method in a feature value generation device that converts to a vector, wherein each of the feature value vectors is an element of a set of the one or more feature value vectors that represents a content to be generated by the quantization unit On the other hand, by applying a predetermined quantizer, a quantization step for assigning at least one of a predetermined number of quanta to each of the feature vector, and a binarizing unit, the quantum is assigned. A binarization step for obtaining the binary vector by applying a predetermined transformation matrix obtained in advance to each of the feature quantity vectors. Then, based on the quantizer and the plurality of input feature quantity vectors, the feature quantity vector and the binary vector obtained from the feature quantity vector using the quantizer and the transformation matrix It is characterized in that it is determined so as to minimize the error.

また、第2の発明に係る特徴量生成方法において、前記量子化部が割り当てるステップは、前記一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々に対して、前記量子化器を適用することで、前記特徴量ベクトルの各々に前記所定個数の量子のうちの少なくとも一つを割り当てると共に、同一の量子が割り当てられた一つ以上の特徴量ベクトルに基づいて、統合特徴量ベクトルを求め、前記バイナリ化部が求めるステップは、前記統合特徴量ベクトルについて、前記変換行列を適用することで、前記バイナリベクトルを求めるようにしてもよい。   In the feature value generation method according to the second aspect of the invention, the step of assigning by the quantizing unit includes the quantizer for each feature value vector that is an element of the set of one or more feature value vectors. By applying at least one of the predetermined number of quanta to each of the feature quantity vectors, and based on one or more feature quantity vectors to which the same quantum is assigned, an integrated feature quantity vector And the step of obtaining by the binarizing unit may obtain the binary vector by applying the transformation matrix to the integrated feature vector.

第3の発明に係るプログラムは、コンピュータを、第2の発明に係る特徴量生成方法の各ステップを実行させるためのプログラムである。   A program according to a third invention is a program for causing a computer to execute each step of the feature value generation method according to the second invention.

本発明の特徴量生成装置、方法、及びプログラムによれば、量子化器及び変換行列を、特徴量ベクトルと、量子化器及び変換行列を用いて特徴量ベクトルから得られるバイナリベクトルとの誤差を最小にするように定め、特徴量ベクトルの各々に対して、量子化器を適用することで、特徴量ベクトルの各々に所定個数の量子のうちの少なくとも一つを割り当て、変換行列を適用することで、バイナリベクトルを求めることにより、意味内容が同一又は近しいコンテンツを、精度よく、かつ効率的に発見することができる、という効果が得られる。   According to the feature amount generation apparatus, method, and program of the present invention, the quantizer and the transformation matrix are converted into an error between the feature amount vector and a binary vector obtained from the feature amount vector using the quantizer and the transformation matrix. Assigning at least one of a predetermined number of quanta to each feature vector and applying a transformation matrix by defining a minimum and applying a quantizer to each feature vector Thus, by obtaining the binary vector, it is possible to obtain an effect that contents having the same or similar meaning contents can be found accurately and efficiently.

本発明の実施の形態に係る特徴量生成装置の構成を示すブロック図である。It is a block diagram which shows the structure of the feature-value production | generation apparatus which concerns on embodiment of this invention. バイナリベクトルの出力/格納の一例を示す図である。It is a figure which shows an example of the output / storage of a binary vector. バイナリベクトルの出力/格納の一例を示す図である。It is a figure which shows an example of the output / storage of a binary vector. バイナリベクトルの出力/格納の一例を示す図である。It is a figure which shows an example of the output / storage of a binary vector. 本発明の実施の形態に係る特徴量生成装置における変換学習処理ルーチンを示すフローチャートである。It is a flowchart which shows the conversion learning process routine in the feature-value production | generation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る特徴量生成装置におけるバイナリベクトル生成処理ルーチンを示すフローチャートである。It is a flowchart which shows the binary vector production | generation processing routine in the feature-value production | generation apparatus which concerns on embodiment of this invention. 特徴量ベクトルとバイナリベクトルとの誤差の一例を示す図である。It is a figure which shows an example of the difference | error of a feature-value vector and a binary vector.

以下、図面を参照して本発明の実施の形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<<全体構成>> << Overall structure >>

図1は、本発明の実施形態に係る特徴量生成装置1の構成の一例を示す機能ブロック図である。   FIG. 1 is a functional block diagram illustrating an example of a configuration of a feature quantity generation device 1 according to an embodiment of the present invention.

図1に示す特徴量生成装置1は、特徴抽出部11と、変換学習部12と、量子化部13と、バイナリ化部14とを備え、また記憶装置として記憶部3を備えている。   The feature quantity generation device 1 shown in FIG. 1 includes a feature extraction unit 11, a conversion learning unit 12, a quantization unit 13, and a binarization unit 14, and also includes a storage unit 3 as a storage device.

また、特徴量生成装置1は、コンテンツデータベース2と通信手段を介して接続されて相互に情報通信し、コンテンツデータベース2に登録されているコンテンツ21に基づいて、量子化器31、及び変換行列32を学習生成し、記憶部3に量子化器31、及び変換行列32を格納する変換学習処理と、学習生成した量子化器31、及び変換行列32を用い、新たなコンテンツ4に対して量子・バイナリベクトル情報5を生成するバイナリベクトル生成処理とを実行する。   In addition, the feature quantity generation device 1 is connected to the content database 2 via a communication unit and communicates information with each other. Based on the content 21 registered in the content database 2, the quantizer 31 and the transformation matrix 32. Using the learning process for storing the quantizer 31 and the transformation matrix 32 in the storage unit 3, and the quantizer 31 and the transformation matrix 32 that have been learned and generated. Binary vector generation processing for generating binary vector information 5 is executed.

コンテンツデータベース2は、特徴量生成装置1の内部にあっても外部にあっても構わず、通信手段は任意の公知ものを用いることができるが、本実施の形態においては、外部にあるものとして、通信手段は、インターネット、TCP/IPにより通信するよう接続されているものとする。また、コンテンツデータベース2は、いわゆるRDBMS (Relational Database Management System)などで構成されているものとしてもよい。   The content database 2 may be inside or outside the feature value generation apparatus 1, and any known communication means can be used. However, in the present embodiment, the content database 2 is assumed to be outside. It is assumed that the communication means is connected to communicate via the Internet or TCP / IP. Further, the content database 2 may be configured by a so-called RDBMS (Relational Database Management System) or the like.

コンテンツデータベース2には、コンテンツ21が格納されているものとする。コンテンツ21は、本発明の実施の形態の要件を満たす範囲で、任意の種類のメディアであってよく、例えば、画像であれば画像ファイル、音であれば音ファイル、映像であれば映像ファイル、文書であれば文書ファイルなどの集合によってなるものであるとしてよい。さらに、コンテンツデータベース2には、各コンテンツファイル、各文書ファイルに対して、これらそれぞれを一意に識別可能な識別子(例えば、ファイル固有の通し番号によるID等)が関連づけられており、任意のファイルを参照できるものであるとする。その他、メタデータとして、例えばコンテンツの内容を表現するもの(コンテンツのタイトル、概要文、又はキーワード等)、コンテンツのフォーマットに関するもの(コンテンツのデータ量、サムネイル等のサイズ)などを含んでいても構わないが、本発明の実施形態の一例においては利用しない。   It is assumed that content 21 is stored in the content database 2. The content 21 may be any type of media as long as it satisfies the requirements of the embodiment of the present invention. For example, the content 21 is an image file for an image, a sound file for sound, a video file for video, If it is a document, it may consist of a collection of document files. Further, the content database 2 is associated with each content file and each document file by an identifier (for example, an ID based on a file-specific serial number) that can uniquely identify each content file, and refers to any file. Suppose you can. In addition, the metadata may include, for example, content expressing the content (content title, summary sentence, keyword, etc.), content format (content data amount, thumbnail size, etc.), and the like. Although not used in an example embodiment of the present invention.

また、特徴量生成装置1が備える各部及びコンテンツデータベース2は、演算処理装置、記憶装置等を備えたコンピュータやサーバ等により構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは特徴量生成装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現しても構わない。   Moreover, each part with which the feature-value production | generation apparatus 1 is provided, and the content database 2 are comprised by the computer or server provided with the arithmetic processing apparatus, the memory | storage device, etc., and the process of each part is good also as what is performed by a program. This program is stored in a storage device included in the feature value generation apparatus 1 and can be recorded on a recording medium such as a magnetic disk, an optical disk, or a semiconductor memory, or provided through a network. Of course, any other components need not be realized by a single computer or server, but may be realized by being distributed to a plurality of computers connected by a network.

なお、本発明の実施の形態において必須の構成要素ではないが、本発明の実施の形態に係る特徴量生成装置1により生成されたバイナリベクトルを用いてコンテンツ検索を実行する場合に外部に検索装置6を備える。検索装置6は、特徴量生成装置1、ならびにコンテンツデータベース2と相互に通信可能な形で接続されているものとする。   Although not an essential component in the embodiment of the present invention, a search device is externally used when a content search is executed using the binary vector generated by the feature value generation device 1 according to the embodiment of the present invention. 6 is provided. It is assumed that the search device 6 is connected to the feature value generation device 1 and the content database 2 so as to communicate with each other.

<<処理部>>   << Processor >>

本実施の形態における特徴量生成装置1の各処理部について説明する。   Each processing unit of the feature quantity generation device 1 in the present embodiment will be described.

特徴抽出部11は、コンテンツデータベース2に格納されたコンテンツ21、又は、外部から入力されたコンテンツ4を受け取った下で、これを解析し、一つ以上の特徴量ベクトルの集合を抽出してコンテンツデータベース2又は量子化部13に出力する。   The feature extraction unit 11 receives the content 21 stored in the content database 2 or the content 4 input from the outside, analyzes this, and extracts a set of one or more feature vectors to extract the content. The data is output to the database 2 or the quantization unit 13.

変換学習部12は、コンテンツデータベース2に格納された複数の特徴量ベクトルに基づいて、特徴量ベクトルと、量子化器31及び変換行列32を用いて特徴量ベクトルから得られるバイナリベクトルとの誤差を最小にするように量子化器31、及び変換行列32を学習して生成し、学習生成した量子化器31、及び変換行列32を記憶部3に格納する。   The transformation learning unit 12 calculates an error between the feature vector and a binary vector obtained from the feature vector using the quantizer 31 and the transformation matrix 32 based on the plurality of feature vectors stored in the content database 2. The quantizer 31 and the transformation matrix 32 are learned and generated so as to be minimized, and the learned and generated quantizer 31 and the transformation matrix 32 are stored in the storage unit 3.

量子化部13は、特徴量生成対象のコンテンツを表現する一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々について、記憶部3に格納された量子化器31を適用することで、特徴量ベクトルの各々に所定個数の量子のうち少なくとも一つを割り当て、コンテンツデータベース2に格納するか、又は、特徴量ベクトルと共にバイナリ化部14に出力する。量子の数Kは事前に定めて置くものとし、任意の正の整数であればよい。例えばK=512、2048、K=65536などとしておけばよい。特徴量ベクトルに対して量子を割り当てる処理は、各々の特徴量ベクトルに対して、K個の量子の中から一つ以上の量子を関連づける処理である。また、同一の量子が割り当てられた一つ以上の特徴量ベクトルに基づいて、統合特徴量ベクトルを求める。   The quantizing unit 13 applies the quantizer 31 stored in the storage unit 3 to each of the feature quantity vectors that are elements of a set of one or more feature quantity vectors representing the feature quantity generation target content. Then, at least one of a predetermined number of quanta is assigned to each feature vector and stored in the content database 2 or output to the binarization unit 14 together with the feature vector. The quantum number K is determined in advance and may be any positive integer. For example, K = 512, 2048, K = 65536 may be set. The process of assigning quanta to a feature vector is a process of associating one or more quanta from among K quanta with each feature vector. In addition, an integrated feature vector is obtained based on one or more feature vectors assigned the same quantum.

バイナリ化部14は、量子が割り当てられた特徴量ベクトルの各々について、記憶部3に格納された変換行列32を適用することで、バイナリベクトルを求め、求められたバイナリベクトルをコンテンツデータベース2に格納するか、又は外部に出力する。本実施の形態では、統合特徴量ベクトルについて、変換行列を適用することで、バイナリベクトルを求める。   The binarizing unit 14 obtains a binary vector by applying the transformation matrix 32 stored in the storage unit 3 to each feature quantity vector to which the quantum is assigned, and stores the obtained binary vector in the content database 2. Or output to the outside. In the present embodiment, a binary vector is obtained by applying a transformation matrix to the integrated feature vector.

量子、及びバイナリベクトルを格納/出力する形式はいくつか存在する。図2〜4にその一例を示す。本発明の実施形態における特徴量生成装置1は、コンテンツが入力されると、各コンテンツ、量子ごとに一つずつ、各々短いバイナリベクトルを生成する。ここで、あるコンテンツを表現する一つ以上の特徴量ベクトルに対して、量子を割り当てた結果、特定の量子を持たないようなコンテンツも存在することに注意されたい。例えば、図2の例では、コンテンツID=2のコンテンツは、量子ID=2の量子が割り当てられた特徴量ベクトルが存在しないので、これを便宜上N/Aと表現している。   There are several formats for storing / outputting quantum and binary vectors. An example is shown in FIGS. When the content is input, the feature quantity generation device 1 in the embodiment of the present invention generates a short binary vector, one for each content and quantum. Here, it should be noted that there is content that does not have a specific quantum as a result of assigning quanta to one or more feature quantity vectors expressing a certain content. For example, in the example of FIG. 2, the content with content ID = 2 does not have a feature quantity vector to which the quantum with quantum ID = 2 is assigned, and this is expressed as N / A for convenience.

最も単純には、例えば、図2に示すように、コンテンツID、及び量子IDをキーとして、バイナリベクトルを参照できるように出力・格納する方法がありえる。あるいは、コンテンツごとのバイナリベクトル全体に関心がある場合には、図3に示すように、コンテンツごと全ての量子に対して生成された短いバイナリベクトルを一列に並べ、これをコンテンツIDと対応づけて出力・格納してもよい。この形式の場合、存在しない量子(N/A)には仮想的にNULL文字(図中では仮に‘*’としている)を割り当てることで、当該位置にはバイナリベクトルが存在しないことを表現する。実際に、バイナリベクトルを比較する際にこの文字がある箇所はいかなる演算も実行しない(スキップする)こととすればよい。   In the simplest case, for example, as shown in FIG. 2, there can be a method of outputting and storing a binary vector so that it can be referred to using a content ID and a quantum ID as keys. Alternatively, if there is an interest in the entire binary vector for each content, as shown in FIG. 3, the short binary vectors generated for all quanta for each content are arranged in a line, and this is associated with the content ID. It may be output / stored. In the case of this format, a null character (tentatively “*” in the figure) is virtually assigned to a quantum (N / A) that does not exist, thereby expressing that a binary vector does not exist at that position. In fact, when comparing binary vectors, it is only necessary not to execute (skip) any operation where there is this character.

また、特にコンテンツ検索の目的において実用的であるのは、図4の形式である。これは、量子IDをキーとして、当該量子IDを有するコンテンツIDを列挙して格納する。また、さらに、同じく量子IDをキーとして、当該量子IDを有するコンテンツIDと同一の順に、そのコンテンツID・量子IDにおけるバイナリベクトルを列挙して格納する。この形式の利点は、コンテンツ検索において検索処理を実行する際には、ある量子(量子ID)を持つコンテンツを参照し、その範囲で(バイナリベクトルの)比較を行うことが多く、量子IDをキーとして必要な情報(コンテンツID、及びバイナリベクトル)が即座に、過不足なく参照できることである。   Further, the format shown in FIG. 4 is practical for the purpose of content search. This enumerates and stores content IDs having the quantum ID using the quantum ID as a key. Further, similarly, with the quantum ID as a key, binary vectors in the content ID / quantum ID are listed and stored in the same order as the content ID having the quantum ID. The advantage of this format is that when executing a search process in content search, content having a certain quantum (quantum ID) is referred to, and comparison (binary vector) is often performed within that range. Necessary information (content ID and binary vector) can be referred to immediately without excess or deficiency.

検索装置6を備える構成を採る場合には、予めコンテンツデータベース2に格納されたコンテンツ21に対して、特徴量生成装置1によりバイナリベクトルが生成され同じくコンテンツデータベース2に先の形式で格納されているとする。このとき、検索装置6は、コンテンツ4が利用者より入力されて、特徴量生成装置1により生成・出力された量子・バイナリベクトル情報5を入力として受け取ると、コンテンツデータベース2に対して検索を行い、検索結果7を出力する。量子・バイナリベクトル情報5は、当該コンテンツ4が持つ量子、ならびに対応するバイナリベクトルが特定可能な情報である。本発明の実施の形態が適用可能な範囲において、量子・バイナリベクトル情報とバイナリベクトルが持つ情報は等価であるので、以降、混乱しない限りこれに相当する情報をバイナリベクトルと呼称することとする。   When the configuration including the search device 6 is adopted, a binary vector is generated by the feature quantity generation device 1 for the content 21 stored in advance in the content database 2 and is also stored in the content database 2 in the previous format. And At this time, when the content 4 is input by the user and the quantum / binary vector information 5 generated / output by the feature quantity generation device 1 is received as an input, the search device 6 searches the content database 2. The search result 7 is output. The quantum / binary vector information 5 is information that can identify the quantum of the content 4 and the corresponding binary vector. As long as the embodiment of the present invention can be applied, the information possessed by the quantum / binary vector information and the binary vector is equivalent, and hereinafter, the corresponding information will be referred to as a binary vector unless confused.

<<処理概要>> << Process overview >>

次に、本実施の形態における特徴量生成装置1の処理について説明する。本実施の形態における特徴量生成装置1は、特徴量変換関数を学習生成する変換学習処理と、初期の特徴量ベクトルをバイナリベクトルに変換するバイナリベクトル生成処理を実行する。以下、これら2つの処理について説明する。   Next, processing of the feature quantity generation device 1 in the present embodiment will be described. The feature quantity generation device 1 in the present embodiment executes a conversion learning process for learning and generating a feature quantity conversion function and a binary vector generation process for converting an initial feature quantity vector into a binary vector. Hereinafter, these two processes will be described.

最初に、変換学習処理について説明する。図5は、変換学習処理の流れを示すフローチャートである。変換学習処理は、量子化器31及び変換行列32を学習生成する処理であり、実際にコンテンツのバイナリベクトルを生成する前に、少なくとも1度実施しておく処理である。   First, the conversion learning process will be described. FIG. 5 is a flowchart showing the flow of the conversion learning process. The conversion learning process is a process of learning and generating the quantizer 31 and the conversion matrix 32, and is a process that is performed at least once before a binary vector of content is actually generated.

まず、ステップS201では、特徴抽出部11は、コンテンツデータベース2からコンテンツ21を取得し、コンテンツ21に含まれるコンテンツファイルの各々に対して特徴抽出処理を行って複数の特徴量ベクトルを抽出し、コンテンツデータベース2に格納する。   First, in step S201, the feature extraction unit 11 acquires the content 21 from the content database 2, performs a feature extraction process on each of the content files included in the content 21, and extracts a plurality of feature quantity vectors. Store in database 2.

続いて、ステップS202では、変換学習部12が、コンテンツデータベース2から複数の特徴量ベクトルを読み込み、複数の特徴量ベクトルに基づいて、特徴量ベクトルと、量子化器及び変換行列を用いて特徴量ベクトルから得られるバイナリベクトルとの間の誤差が最小となるように量子化器、及び変換行列を学習生成し、記憶部3に格納する。   Subsequently, in step S202, the conversion learning unit 12 reads a plurality of feature quantity vectors from the content database 2, and based on the plurality of feature quantity vectors, the feature quantity vector, the quantizer, and the transformation matrix are used. The quantizer and the transformation matrix are learned and generated so as to minimize the error between the binary vector obtained from the vector and stored in the storage unit 3.

以上のステップS201〜ステップS202の処理により、コンテンツデータベース2に格納されたコンテンツ21から、量子化器31、及び変換行列32を生成することができる。なお、各種処理詳細については後述する。   The quantizer 31 and the transformation matrix 32 can be generated from the content 21 stored in the content database 2 by the processes in steps S201 to S202 described above. Details of various processes will be described later.

続いて、バイナリベクトル生成処理について説明する。図6は、バイナリベクトル生成処理の流れを示すフローチャートである。バイナリベクトル生成処理は、記憶部3に格納された量子化器31、変換行列32を用いて、入力されたコンテンツを表現する一つ以上の特徴量ベクトルの集合からバイナリベクトルを生成する処理である。   Next, the binary vector generation process will be described. FIG. 6 is a flowchart showing the flow of binary vector generation processing. The binary vector generation process is a process of generating a binary vector from a set of one or more feature quantity vectors representing the input content using the quantizer 31 and the transformation matrix 32 stored in the storage unit 3. .

本処理において入力されるコンテンツはコンテンツデータベース2から読み込んでも、外部から入力されても、そのいずれでも構わず、本質的には同じ処理が適用される。以降、簡単のため、外部から入力される場合(図1におけるコンテンツ4が入力された場合)について説明する。   The content input in this processing may be read from the content database 2 or input from the outside, and essentially the same processing is applied. Hereinafter, for the sake of simplicity, a description will be given of a case where input is performed from the outside (when content 4 in FIG. 1 is input).

まず、ステップS301では、特徴抽出部11が、外部からコンテンツ4を得て、一つ以上の特徴量ベクトルの集合の要素である特徴ベクトルの各々を抽出し、量子化部13に伝達する。伝達先は量子化部13でなく、コンテンツデータベース2であっても構わない。   First, in step S <b> 301, the feature extraction unit 11 obtains the content 4 from the outside, extracts each feature vector that is an element of a set of one or more feature quantity vectors, and transmits it to the quantization unit 13. The transmission destination may be the content database 2 instead of the quantization unit 13.

続いて、ステップS302では、量子化部13が、ステップS301で抽出した一つ以上の特徴量ベクトルの各々に対して、記憶部3から取得した量子化器31を適用することで、特徴ベクトルの各々に所定個数の量子のうち少なくとも一つを割り当ててバイナリ化部14に出力する。   Subsequently, in step S302, the quantization unit 13 applies the quantizer 31 acquired from the storage unit 3 to each of the one or more feature amount vectors extracted in step S301, thereby obtaining the feature vector. At least one of a predetermined number of quanta is assigned to each and output to the binarization unit 14.

最後に、ステップS303では、バイナリ化部14が、ステップS302で量子が割り当てられた特徴ベクトルの各々について、割り当てられた量子に基づいて、記憶部3から取得した変換行列32を適用することで、バイナリベクトルを生成し、検索装置6に出力する。   Finally, in step S303, the binarizing unit 14 applies the transformation matrix 32 acquired from the storage unit 3 based on the assigned quantum to each of the feature vectors to which the quantum is assigned in step S302. A binary vector is generated and output to the search device 6.

以上の処理により、入力されたコンテンツ4に対して、バイナリベクトル(量子・バイナリベクトル情報5)を求めることができる。   Through the above processing, a binary vector (quantum / binary vector information 5) can be obtained for the input content 4.

<<各処理の処理詳細>> << Details of each process >>

以降、各処理の詳細処理について、本実施形態における一例を説明する。   Hereinafter, an example of the detailed processing of each processing will be described in the present embodiment.

[特徴抽出] [Feature extraction]

コンテンツの各々に対して、当該コンテンツを表現する一つ以上の特徴量ベクトルの集合を抽出する方法について説明する。初期特徴量抽出処理は、コンテンツの種別に依存し、これによって抽出する/できる特徴量ベクトルは変化するが、抽出する特徴量ベクトルは、コンテンツに対して一義的に定まる、固定の次元を持つベクトルとして表現できるものであれば任意の公知のものを用いてよい。ここでは、コンテンツが画像である場合について述べることとする。   A method for extracting a set of one or more feature quantity vectors representing each content will be described. The initial feature amount extraction process depends on the type of content, and the feature amount vector that can be extracted / changed by this changes, but the extracted feature amount vector is a vector having a fixed dimension that is uniquely determined for the content. Any known one can be used as long as it can be expressed as: Here, the case where the content is an image will be described.

最も好適な例としては、局所特徴量を抽出する。一般に、局所特徴量は、画像から特徴点と呼ばれる領域を検出する特徴点検出法と、領域の画像的特徴を特徴量ベクトルとして記述する記述子の二つによって構成される。例えば非特許文献1に記載のSIFTは、Difference of Gaussian(DoG)と呼ばれる特徴点検出法を用いて特徴点を検出し、各特徴点は輝度値の勾配を表現した記述子によって記述される。これ以外にも様々な特徴点検出法、記述子が一般に知られており、任意のものを用いて構わない。また、必ずしも特徴点検出法に基づいて特徴点を検出する必要はなく、画像中の領域を定めるものであれば任意の手続きを取って構わない。例えば、画像全体を領域とするものとしてもよいし、あるいは画像の高さ・幅に対して一定の割合で(格子状に)領域を取っても構わない。   As a most preferable example, a local feature amount is extracted. In general, the local feature amount is composed of a feature point detection method for detecting a region called a feature point from an image and a descriptor that describes an image feature of the region as a feature amount vector. For example, the SIFT described in Non-Patent Document 1 detects feature points using a feature point detection method called “Difference of Gaussian (DoG)”, and each feature point is described by a descriptor expressing the gradient of the luminance value. Various other feature point detection methods and descriptors are generally known, and any method may be used. Further, it is not always necessary to detect the feature points based on the feature point detection method, and any procedure may be taken as long as the region in the image is determined. For example, the entire image may be set as a region, or the region may be taken at a fixed ratio (in a lattice pattern) with respect to the height and width of the image.

好ましくはSIFTのように、領域の位置・姿勢(角度)や、その大きさに対して不変となるような特徴量ベクトルを得ることができる方法を採用することが好ましい。以降、本実施形態の一例ではSIFTを用いるものとして説明する。SIFTを用いた場合、抽出される局所特徴量は通常128次元の実数値ベクトルとなる。従って、画像一枚は、特徴点数分の128次元実数値ベクトルの集合として表現される。   It is preferable to employ a method that can obtain a feature vector that is invariant to the position / posture (angle) of the region and its size, such as SIFT. Hereinafter, an example of this embodiment will be described assuming that SIFT is used. When SIFT is used, the extracted local feature amount is usually a 128-dimensional real value vector. Therefore, one image is expressed as a set of 128-dimensional real value vectors corresponding to the number of feature points.

また、必ずしも局所特徴量を用いる必要はなく、例えば、領域ごとに明るさ特徴、色特徴、又は形状特徴などを抽出しても構わない。   Further, it is not always necessary to use local feature amounts. For example, brightness features, color features, or shape features may be extracted for each region.

明るさ特徴としては、HSV色空間におけるV値を数え上げることで、ヒストグラムとして抽出することができる。この場合、各画像はV値の量子化数(例えば、16ビット量子化であれば256諧調)と同数の次元を持つベクトルとして表現される。   The brightness feature can be extracted as a histogram by counting the V values in the HSV color space. In this case, each image is represented as a vector having the same number of dimensions as the number of quantizations of the V value (for example, 256 gradations for 16-bit quantization).

色特徴としては、L*a*b*色空間における各軸(L*、a*、b*)の値を数え上げることで、ヒストグラムとして抽出することができる。各軸のヒストグラムのビンの数は、例えば、L*に対して4、a*に対して14、b*に対して14などとすればよく、この場合、3軸の合計ビン数は、4×14×14=784、すなわち784次元のベクトルとなる。   The color feature can be extracted as a histogram by counting the values of the respective axes (L *, a *, b *) in the L * a * b * color space. The number of histogram bins on each axis may be, for example, 4 for L *, 14 for a *, 14 for b *, etc. In this case, the total number of bins for 3 axes is 4 × 14 × 14 = 784, that is, a 784-dimensional vector.

形状特徴としては、例えば参考文献1に記載のHistogram of Oriented Gradients(HOG)として知られる特徴量ベクトルを抽出すればよい。   For example, a feature vector known as Histogram of Oriented Gradients (HOG) described in Reference 1 may be extracted as the shape feature.

[参考文献1]Navneet Dalal, Bill Triggs. Histograms of Oriented Gradients for Human Detection. In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 886-893, 2005. [Reference 1] Navneet Dalal, Bill Triggs. Histograms of Oriented Gradients for Human Detection. In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 886-893, 2005.

また、参考文献2などに記載の、ニューラルネットワークによる特徴量を抽出しても構わない。   Further, the feature amount by the neural network described in Reference 2 may be extracted.

[参考文献2]Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton. ImageNet Classification with Deep Convolutional Neural Networks. In Proc. Advances in Neural Information Processing Systems (NIPS). Pages. 1097-1105, 2012. [Reference 2] Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton. ImageNet Classification with Deep Convolutional Neural Networks. In Proc. Advances in Neural Information Processing Systems (NIPS). Pages. 1097-1105, 2012.

以上のように、コンテンツを表現する一つ以上の特徴量ベクトルを求めることができる。   As described above, one or more feature quantity vectors expressing content can be obtained.

[変換学習:量子化器、変換行列の生成] [Transform learning: Quantizer, transformation matrix generation]

次に、量子化器、及び変換行列の生成方法について説明する。   Next, a quantizer and a method for generating a transformation matrix will be described.

ここでは、M個のコンテンツから抽出された特徴量ベクトルを用いて、量子化器、及び変換行列を生成する。以下(1)式に示すように、j番目のコンテンツから抽出された特徴量ベクトルの集合をSと表し、Sのl番目の要素をs と表す。s は特徴量ベクトルであり、その次元はDである。便宜上、全てのコンテンツから抽出された特徴量ベクトルをまとめたものをSとする。 Here, a quantizer and a transformation matrix are generated using feature quantity vectors extracted from M contents. As shown below (1), a set of feature vectors extracted from the j-th content expressed as S j, represents the l-th element of S j and s j l. s j l is a feature vector, and its dimension is D. For convenience, let S be a set of feature quantity vectors extracted from all contents.

ここで、Sの要素の数(つまり、全てのコンテンツから抽出された特徴量ベクトルの数)をNと表す。さらに、Sの要素を行列表現したものをXと表す。XはD×Nのサイズを持つ行列である。Xの各列は、元の特徴量ベクトルそのものであり、これをx(i=1, 2, ・・・, N)と表す。 Here, the number of elements of S (that is, the number of feature quantity vectors extracted from all contents) is represented as N. Further, X represents a matrix representation of the elements of S. X is a matrix having a size of D × N. Each column of X is the original feature vector itself, which is expressed as x i (i = 1, 2,..., N).

次に、任意の特徴量ベクトルxをバイナリベクトルに変換する手続きの一例を述べる。   Next, an example of a procedure for converting an arbitrary feature vector x into a binary vector will be described.

本発明の実施形態の一例においては、大まかに量子化、バイナリ化の2ステップによってバイナリベクトルに変換される。量子化とは、量子化器を用いて特徴量ベクトルxを最も近い量子に一つ以上割り当てる処理であり、バイナリ化とは、特徴量ベクトルとそれに割り当てられた量子とに基づいてバイナリベクトルを求める処理である。   In an example of an embodiment of the present invention, the image is converted into a binary vector roughly by two steps of quantization and binarization. Quantization is a process of assigning one or more feature vector x to the nearest quantum using a quantizer, and binarization obtains a binary vector based on the feature vector and the assigned quantum. It is processing.

まず、量子化部13における量子化について説明する。本発明の実施形態の一例による量子化器31は、予め定められたK個の量子を代表する代表ベクトルによって規定されるものである(符号拡張などと呼ぶこともある)。然るに、K個の量子に量子化する量子化器を求めることは、すなわちK個の代表ベクトルを求めるに等しい。k番目の量子に対応する代表ベクトルをμと表す。この代表ベクトルの次元数は特徴量ベクトルと同じDである。このような代表ベクトル群を用いれば、任意の特徴量ベクトルxに対する量子を割り当てることができる。すなわち、仮に、P個の量子を割り当てることを考えるとすると、特徴量ベクトルxに最も距離の近いP個の代表ベクトルを求め、その代表ベクトルに対応する量子を割り当てればよい。Pは任意の自然数であればよく、例えばP=5などとすればよい。この処理によって、任意の特徴量ベクトルに対して量子(及びこれに対応する代表ベクトル)を割り当てることができる。 First, the quantization in the quantization unit 13 will be described. The quantizer 31 according to an example of the embodiment of the present invention is defined by a representative vector representing a predetermined number of K quanta (sometimes referred to as code extension or the like). However, obtaining a quantizer that quantizes to K quanta is equivalent to obtaining K representative vectors. A representative vector corresponding to the k-th quantum is denoted by μ k . The number of dimensions of this representative vector is the same as that of the feature vector. If such a representative vector group is used, a quantum for an arbitrary feature vector x can be assigned. That is, assuming that P quanta are assigned, P representative vectors that are closest to the feature vector x are obtained, and quanta corresponding to the representative vector may be assigned. P may be any natural number, for example, P = 5. With this process, a quantum (and a representative vector corresponding to the quantum) can be assigned to an arbitrary feature vector.

続いて、バイナリ化部14におけるバイナリ化について説明する。本発明の実施形態の一例においては、バイナリ化はサイズがc×Dの変換行列Rを用いて実行される。ここで、cは生成されるバイナリベクトルのビット数であり、予め定めた任意の自然数を指定してよい。本発明の実施形態の一例においてはc≦Dとし、例えばD=128であればc=128、c=64、c=32などとすればよい。また、Rの各列は互いに直交するようなものであるとする。先の量子化を経て、特徴量ベクトルxに対して一つ以上の量子及びこれに対応する代表ベクトルが割り当てられる。仮に特徴量ベクトルxにk番目の量子が割り当てられているとすると、k番目の量子に対応する特徴量ベクトルxのバイナリベクトルbNext, binarization in the binarization unit 14 will be described. In an example embodiment of the present invention, binarization is performed using a transformation matrix R of size c × D. Here, c is the number of bits of the generated binary vector, and an arbitrary natural number determined in advance may be designated. In an example of an embodiment of the present invention, c ≦ D. For example, if D = 128, c = 128, c = 64, c = 32, and the like. Also assume that each column of R is orthogonal to each other. Through the previous quantization, one or more quanta and a representative vector corresponding thereto are assigned to the feature vector x. If the k-th quantum is assigned to the feature vector x, the binary vector b k of the feature vector x corresponding to the k-th quantum is

と求められる。このように求められるバイナリベクトルbの値は、代表ベクトルμを起点と見た場合の特徴量ベクトルxの方向(角度)によって決まる。例えば、2つの特徴量ベクトルx、xがあったとしよう。このとき、これら2つの特徴量ベクトルの、代表ベクトルμに対する方向が完全に一致するときは、(2)式によって求まるバイナリベクトルのビットは全て一致する(2つのバイナリベクトルの距離は0)。反対に、もしμに対する方向が真逆であれば、全てのビットが逆になる(2つのバイナリベクトルの距離はc)。また、特徴量ベクトルxに割り当てられている他の量子についても、同様に(2)式を用いた計算を実行する。 Is required. The value of the binary vector b k obtained in this way is determined by the direction (angle) of the feature vector x when the representative vector μ k is regarded as the starting point. For example, suppose that there are two feature quantity vectors x i and x j . At this time, when the directions of these two feature vectors with respect to the representative vector μ k completely match, all the bits of the binary vector obtained by the expression (2) match (the distance between the two binary vectors is 0). Conversely, if the direction for μ k is true, all bits are reversed (the distance between the two binary vectors is c). In addition, the calculation using the equation (2) is similarly executed for other quantum assigned to the feature vector x.

以上が特徴量ベクトルxに対するバイナリベクトルを求める手順である。   The above is the procedure for obtaining a binary vector for the feature vector x.

さて、本発明の実施の形態におけるポイントは、特徴量ベクトルxと、量子化器及び変換行列を用いた結果生成されるバイナリベクトルbが表す特徴ベクトルとの誤差が最小となるように、量子化器及び変換行列を求めることで、良好な検索精度を得ることができるバイナリベクトルを求めることができるようにすることである。 Now, the point in the embodiment of the present invention is that the quantum vector and the feature vector represented by the binary vector b k generated as a result of using the quantizer and the transformation matrix are minimized. It is to obtain a binary vector that can obtain good search accuracy by obtaining a generator and a transformation matrix.

この誤差を図7を用いて説明する。上記説明した量子化、及びバイナリ化の手続きに則った場合、元の特徴量ベクトルx、特徴量ベクトルxに割り当てられた量子の代表ベクトルμ、及び、生成されるバイナリベクトルbの位置関係は、変換行列Rを介して図7のように示すことができる。すなわち、上記量子化、及びバイナリ化の手続きは、特徴量ベクトルxをμ+Rbというベクトルで近似しようとしていることに等しく、結果としてその誤差は This error will be described with reference to FIG. When the quantization and binarization procedures described above are followed, the positional relationship between the original feature vector x, the quantum representative vector μ k assigned to the feature vector x, and the generated binary vector b k Can be shown as shown in FIG. That is, the above quantization and binarization procedures are equivalent to trying to approximate the feature vector x with a vector of μ k + Rb k , and as a result, the error is

と表現できる。 Can be expressed as

本発明の実施の形態における変換学習は、この(3)式が表す誤差が、N個の特徴量ベクトルx(i=1, 2, ・・・,N)に対して最小になるような代表ベクトルμ(k=1,2, ・・・,K)と、変換行列Rとを求めることである。以降、簡単のため、特徴量ベクトルxに割り当てられる量子の数は一つとする。このとき、xには唯一のバイナリベクトルbが求められることとなる。そこで(3)式についてのN個の特徴量ベクトルに対する総和を考える。k番目の量子に割り当てがされている特徴量ベクトルのインデクス集合Nと表すとすると、この総和は In the conversion learning in the embodiment of the present invention, the error represented by the equation (3) is minimized with respect to N feature vector vectors x i (i = 1, 2,..., N). This is to obtain a representative vector μ k (k = 1, 2,..., K) and a transformation matrix R. Hereinafter, for simplicity, the number of quantum assigned to the feature vector x is assumed to be one. At this time, a unique binary vector b i is obtained for x i . Therefore, consider the sum total of N feature vectors for equation (3). If this is expressed as an index set N k of feature vectors assigned to the k th quantum, this sum is

と表すことができる。なお、(2)式に示した通り、バイナリベクトルはR(x−μ)の取る符号によって決定されるのであり、スケールに対して不変であるから、その自由度を許容するためサイズcの対角行列Λを導入し、 It can be expressed as. As shown in the equation (2), the binary vector is determined by the sign taken by R T (x−μ k ) and is invariant to the scale. Therefore, the size c is allowed to allow the degree of freedom. Of the diagonal matrix Λ,

と書く。このように変換行列R及び対角行列Λを用いて、特徴量ベクトルxに対するバイナリベクトルが表現する特徴量ベクトルを復元することにより誤差が求まる。結果的に、特徴量ベクトルxと、バイナリベクトルとの誤差を最小化するように量子化器31及び変換行列32を求めるには、(5)式を最小化するように全ての未知変数を求めるようにすればよい。具体的には、以下(6)式の最適化問題を解く。 Write. In this way, by using the transformation matrix R and the diagonal matrix Λ, an error is obtained by restoring the feature vector represented by the binary vector for the feature vector x i . As a result, in order to obtain the quantizer 31 and the transformation matrix 32 so as to minimize the error between the feature vector x i and the binary vector, all unknown variables are set so as to minimize the equation (5). You just have to ask for it. Specifically, the optimization problem of the following equation (6) is solved.

ただし、Δは対角行列の集合である。   However, Δ is a set of diagonal matrices.

上記(6)式の問題を解く手続き、つまり、K個の代表ベクトル{μ}、変換行列R、並びにその他の未知変数である対角行列Λ、{N}、及び{b}を求める手続きを下記に説明する。 A procedure for solving the problem of the above equation (6), that is, K representative vectors {μ k }, transformation matrix R, and other unknown variables diagonal matrix Λ, {N k }, and {b i } The required procedure is explained below.

まず初期値として、{μ}、及び変換行列Rを適当な方法で生成する。例えば、{μ}はK−means法、変換行列Rはランダムに生成すればよい。続いて、下記〈1〉〜〈5〉の手続きを所定の条件(例えば、所定の回数繰り返す、あるいは、(5)式の値が所定の値よりも小さくなるなど)を充足するまで繰り返す。 First, as initial values, {μ k } and a transformation matrix R are generated by an appropriate method. For example, {μ k } may be generated by the K-means method, and the transformation matrix R may be generated randomly. Subsequently, the following procedures <1> to <5> are repeated until a predetermined condition (for example, a predetermined number of times is repeated or the value of the expression (5) becomes smaller than a predetermined value) is satisfied.

〈1〉バイナリベクトル{b}を求める。{b}は、特徴量ベクトルxと、代表ベクトルμと、変換行列Rとに基づいて、(2)式に従って求めればよい。 <1> A binary vector {b i } is obtained. {B i } may be obtained according to equation (2) based on the feature vector x, the representative vector μ k, and the transformation matrix R.

〈2〉対角行列Λを求める。Λは、特徴量ベクトルxの行列Xと、変換行列Rとに基づいて、下記の(7)式に従って求める。 <2> Find a diagonal matrix Λ. Λ is obtained according to the following equation (7) based on the matrix X of the feature vector x and the transformation matrix R.

ただし、   However,

は全要素に1を持つ列ベクトル、meanは列平均を取る関数、diagはベクトルを対角行列に変換する関数である。 Is a column vector having 1 for all elements, mean is a function that takes a column average, and diag is a function that converts the vector into a diagonal matrix.

〈3〉変換行列Rを求める。まず、バイナリベクトル{b}を列方向に並べた行列をBと表す。Rは次の手順で求める。次に、特徴量ベクトルxの集合Xと、バイナリベクトル{b}を列方向に並べた行列Bと、対角行列Λとに基づいて、下記の(8)式に示す行列Θを求める。 <3> A transformation matrix R is obtained. First, a matrix in which binary vectors {b i } are arranged in the column direction is represented as B. R is determined by the following procedure. Next, based on the set X of the feature vector x, the matrix B in which the binary vectors {b i } are arranged in the column direction, and the diagonal matrix Λ, a matrix Θ shown in the following equation (8) is obtained.

続いて、上記(8)式のΘを特異値分解し、以下(9)式のようにユニタリ行列U、V及び、特異値行列Ωを求める。   Subsequently, the singular value decomposition of Θ in the above equation (8) is performed to obtain unitary matrices U and V and a singular value matrix Ω as in the following equation (9).

最後に、変換行列Rを以下(10)式により求める。   Finally, the transformation matrix R is obtained by the following equation (10).

〈4〉全ての代表ベクトル{μ}を求める。全ての特徴量ベクトルを格納した行列Xの内、k番目の量子に割り当てられた特徴量ベクトルに対応する列のみを抽出した行列をXと表す。また、これに対応するバイナリベクトル行列も同じくBと表す。このとき、k番目の量子に対応する代表ベクトルμを次の(11)式により求める(全てのkに対して同様に実施する)。 <4> Find all representative vectors {μ k }. Of all of the feature matrix X vector storing represent k-th matrix obtained by extracting only the columns corresponding to feature vector assigned to the quantization and X k. Also, similarly expressed as B k binary vector matrix corresponding thereto. At this time, the representative vector μ k corresponding to the k-th quantum is obtained by the following equation (11) (the same applies to all k).

〈5〉{N}を求める。ただし、Nは、k番目の量子が割り当てられている特徴量ベクトルのインデクス集合である。この操作は、各特徴量ベクトルに対して量子を割り当て直す処理に他ならない。各特徴量ベクトルxに対して、xをシフトしたベクトルx−RΛbを求める。全ての代表ベクトル{μ}の中で、先のシフトしたベクトルに最も近いものを選び、選んだ代表ベクトルを新たに特徴量ベクトルxの量子とする。 <5> Find {N k }. N k is an index set of feature vectors to which the k th quantum is assigned. This operation is nothing but the process of reassigning the quantum to each feature vector. For each feature vector x i , a vector x i -RΛb i obtained by shifting x i is obtained. Among all the representative vectors {μ k }, the one closest to the previous shifted vector is selected, and the selected representative vector is newly set as the quantum of the feature vector x i .

以上の手続きによって、上記(5)式を最小とするような量子化器(を規定する代表ベクトル)と変換行列を求めることができる。   By the above procedure, a quantizer (representing vector that defines the above equation (5)) and a transformation matrix can be obtained.

[量子化] [Quantization]

先に述べた通り、本発明の実施形態の一例による量子化器31は、上記のように生成されたK個の量子を代表する代表ベクトルμによって規定されるものであり、量子化は、特徴量ベクトルxに対して最も距離の近いP個の代表ベクトルを求め、その代表ベクトルが代表する量子を割り当てればよい。 As described above, the quantizer 31 according to an example of the embodiment of the present invention is defined by the representative vector μ k representing the K quanta generated as described above. What is necessary is just to obtain P representative vectors that are closest to the feature vector x and assign a quantum represented by the representative vector.

量子化部13では、実用上は、あるコンテンツに対して抽出された全ての特徴量ベクトルの各々に対して量子化を行うと、同一の量子に割り当てられる特徴量ベクトルが一つ以上存在してしまう場合が起こる。このような場合には、同一の量子に割り当てられている一つ以上の特徴量ベクトルを、単一の特徴量ベクトルに統合した統合特徴量ベクトルを求めることが好ましい。統合特徴量ベクトルは、例えば同一の量子に割り当てられた特徴量ベクトルの平均ベクトルや中央値ベクトル、あるいは、当該量子の代表ベクトルに最も近い特徴量ベクトルなどとすればよい。このように統合特徴量ベクトルを求めることで、複数の特徴量ベクトルの情報を効果的に圧縮することが可能となる。統合特徴量ベクトルも、特徴量ベクトルと同一の次元数を持つベクトルという点では特徴量ベクトルと何ら差はなく、以降、これらを特に区別せずに用いる。   In the quantization unit 13, when quantization is performed on each of all feature amount vectors extracted for a certain content, one or more feature amount vectors assigned to the same quantum exist. It happens. In such a case, it is preferable to obtain an integrated feature vector obtained by integrating one or more feature vectors assigned to the same quantum into a single feature vector. The integrated feature vector may be, for example, an average vector or median vector of feature vectors assigned to the same quantum, or a feature vector closest to the representative vector of the quantum. By obtaining the integrated feature quantity vector in this way, it becomes possible to effectively compress information of a plurality of feature quantity vectors. The integrated feature vector also has no difference from the feature vector in that it is a vector having the same dimensionality as the feature vector, and these are used without particular distinction hereinafter.

[バイナリ化] [Binaryization]

バイナリ化部14においては、量子化部13の処理を経て、特徴量ベクトルの各々が量子に割り当てられているため、先に述べた場合と同様、(2)式に従って、特徴ベクトルの各々について、変換行列32を適用することでバイナリ化し、バイナリベクトルを求めればよい。   In the binarizing unit 14, each feature vector is assigned to the quantum through the processing of the quantizing unit 13. Therefore, as described above, according to the equation (2), A binary vector may be obtained by applying the transformation matrix 32 to binarize.

<<コンテンツ検索への適用>> << Application to content search >>

上記説明した本発明の実施の形態に係る特徴量生成装置を、コンテンツ検索に利用する場合の実施形態の一例について説明する。ここでは、コンテンツが画像である場合について説明する。   An example of an embodiment in the case where the feature quantity generation device according to the embodiment of the present invention described above is used for content search will be described. Here, a case where the content is an image will be described.

例えば、コンテンツデータベース2に、M枚のデータベース画像が格納されているとする。上記説明した変換学習処理を通じて量子化器を規定する代表ベクトル群{μ}、ならびに変換行列Rを求め、これが記憶部3に格納されているものとし、さらに、上記M枚のデータベース画像については、上記説明した処理によって既にバイナリベクトルが生成され、図4の形式で格納されているものとする。このとき、目的は新たなクエリ画像が利用者から与えられた時に、当該クエリ画像と同一の意味内容を持つようなデータベース画像を検索することである。 For example, it is assumed that M database images are stored in the content database 2. It is assumed that the representative vector group {μ k } that defines the quantizer and the transformation matrix R are obtained through the transformation learning process described above and stored in the storage unit 3. Further, the M database images are described above. Assume that a binary vector has already been generated by the processing described above and stored in the format of FIG. At this time, when a new query image is given by the user, the purpose is to search for a database image having the same meaning content as the query image.

まず、クエリ画像Qに対して特徴抽出処理を施し、一つ以上の特徴量ベクトルの集合{x 、・・・、x }を抽出したとする。特徴量ベクトルの各々に対して先の量子化器を適用して量子化することにより量子を割り当てる。結果として、L(≦K)個の量子が割り当てられたとする。同一の量子が割り当てられた特徴量ベクトルについては、その平均ベクトルを求めて統合特徴量ベクトルとする。この処理によって、クエリ画像Qは、L個の(統合)特徴量ベクトルによって表現されることとなる。 First, it is assumed that a feature extraction process is performed on the query image Q to extract a set of one or more feature quantity vectors {x q 1 ,..., X q n }. Quantities are assigned to each feature vector by applying the previous quantizer and quantizing. As a result, it is assumed that L (≦ K) quanta are allocated. For the feature quantity vectors to which the same quantum is assigned, the average vector is obtained and set as an integrated feature quantity vector. By this processing, the query image Q is expressed by L (integrated) feature quantity vectors.

続いて、(2)式に基づき、変換行列Rを用いて量子ごとに特徴量ベクトルをバイナリベクトル化する。以上の処理により、クエリ画像Qは、量子数分のバイナリベクトルによって表現された。   Subsequently, based on the equation (2), the feature vector is converted into a binary vector for each quantum using the transformation matrix R. Through the above processing, the query image Q is expressed by a binary vector for the quantum number.

続いて検索処理を行う。上記図4の形式でデータベース画像のバイナリベクトルが格納されているとする。まず、クエリ画像において、空ではない(つまり、特徴量ベクトルに割り当てられたL個の)量子の量子IDを列挙し、当該量子IDをキーとして、データベース画像のバイナリベクトルを参照する。例えば、k番目の量子に対する量子IDがkであるとすると、同じくk番目の量子IDの欄に登録されているバイナリベクトルを全て参照すればよい。   Next, search processing is performed. Assume that a binary vector of a database image is stored in the format shown in FIG. First, in the query image, quantum IDs that are not empty (that is, L number of quantum assigned to the feature vector) are listed, and the binary vector of the database image is referenced using the quantum ID as a key. For example, if the quantum ID for the kth quantum is k, all binary vectors registered in the kth quantum ID field may be referred to.

次に、参照したデータベース画像のバイナリベクトルの各々に対して、バイナリベクトルの比較を行う。例えば、k番目の量子に対するクエリ画像のバイナリベクトルをz 、参照したデータベース画像のバイナリベクトルのうちの一つをz と表すとすると、これらはいずれもバイナリベクトルであるから、その距離は両者の排他的論理和を取ったのち、1となっているビットの数を数え上げることで距離を測れば、両者を比較することができる。あるいは、z とz の内積を求めても構わず、この場合は両者の類似度を得ることができる。 Next, a binary vector comparison is performed for each binary vector of the referenced database image. For example, if the binary vector of the query image for the k-th quantum is expressed as z q k and one of the binary vectors of the referenced database image is expressed as z d k , these are binary vectors. Can be compared by taking the exclusive OR of the two and then measuring the distance by counting the number of 1 bits. Alternatively, the inner product of z q k and z d k may be obtained, and in this case, the similarity between the two can be obtained.

全ての量子ID、全てのバイナリベクトルに対して、上記比較を行ったのち、データベース画像毎に、全ての量子について求めた距離(あるいは類似度)の総和を取り、この総和が最も小さい(あるいは大きい)ものから順に意味内容が同一ないし近いデータベース画像として出力する。   After the above comparison is made for all quantum IDs and all binary vectors, the sum of distances (or similarities) obtained for all quanta is taken for each database image, and this sum is the smallest (or largest). ) Output as database images with the same or similar meaning in order.

バイナリベクトルは情報量が小さく、低容量であり、少数の演算回数で高速に距離(又は類似度)を計算できることから、効率的に処理できる。また、本発明により得られるバイナリベクトルは元の特徴量ベクトルとバイナリベクトルとの誤差が最小となるように求められるのであり、損失が非常に少ない。結果として、元の特徴量ベクトル同様に、精度よくデータベース画像を発見することが可能である。   Since the binary vector has a small amount of information and a low capacity, and can calculate the distance (or similarity) at high speed with a small number of operations, it can be processed efficiently. Further, the binary vector obtained by the present invention is obtained so that the error between the original feature vector and the binary vector is minimized, and the loss is very small. As a result, it is possible to find a database image with high accuracy as in the original feature vector.

以上が本発明の実施形態の一例である。   The above is an example of an embodiment of the present invention.

以上、説明したように、本発明の実施の形態に係る特徴量生成装置によれば、量子化器31及び変換行列32を、特徴量ベクトルと、量子化器及び変換行列を用いて特徴量ベクトルから得られるバイナリベクトルとの誤差を最小にするように定め、特徴量ベクトルの各々に対して、量子化器31を適用することで、特徴量ベクトルの各々に所定個数の量子のうちの少なくとも一つを割り当て、変換行列32を適用することで、バイナリベクトルを求めることにより、意味内容が同一又は近しいコンテンツを、精度よく、かつ効率的に発見することができる。   As described above, according to the feature value generating apparatus according to the embodiment of the present invention, the quantizer 31 and the transformation matrix 32 are converted into the feature value vector using the feature value vector, the quantizer, and the transformation matrix. And the quantizer 31 is applied to each of the feature amount vectors so that at least one of a predetermined number of quanta is applied to each of the feature amount vectors. By assigning one and applying the transformation matrix 32, it is possible to accurately and efficiently find content having the same or similar meaning content by obtaining a binary vector.

また、本発明の実施形態によれば、一つ以上の特徴量ベクトルの集合を、情報損失であるところの誤差が最小となるような、より小さい情報量のバイナリベクトルに変換することで、結果として、コンテンツを表現する小さい情報量のバイナリベクトルを生成可能な特徴量生成方法、特徴量生成装置、特徴量生成プログラムを提供することができる。   In addition, according to the embodiment of the present invention, a result of converting a set of one or more feature vectors into a binary vector having a smaller information amount that minimizes an error that is an information loss is obtained. As described above, it is possible to provide a feature amount generation method, a feature amount generation apparatus, and a feature amount generation program that can generate a binary vector with a small amount of information representing content.

また、本発明の実施形態に係る特徴生成装置により生成されるコンテンツのバイナリベクトルは、元の一つ以上の特徴量ベクトルの集合と比べて、情報量が小さく、さらにバイナリベクトルであることから、高速な比較演算が可能である。   In addition, since the binary vector of the content generated by the feature generation device according to the embodiment of the present invention has a smaller amount of information compared to the original set of one or more feature vector, and is a binary vector, High-speed comparison operation is possible.

さらに、本発明の実施形態に係る特徴生成装置により生成されるコンテンツのバイナリベクトルは、元の一つ以上の特徴量ベクトルとの誤差が最小となるように生成されるため、従来の技術で問題となっていた量子化誤差による精度劣化を抑えることができるのであり、高精度なコンテンツ検索が可能である。   Further, since the binary vector of the content generated by the feature generation device according to the embodiment of the present invention is generated so that an error from the original one or more feature vector is minimized, there is a problem in the conventional technique. Therefore, it is possible to suppress the deterioration of accuracy due to the quantization error, and it is possible to search the content with high accuracy.

なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   The present invention is not limited to the above-described embodiment, and various modifications and applications can be made without departing from the gist of the present invention.

1 特徴量生成装置
2 コンテンツデータベース
3 記憶部
4、21 コンテンツ
5 量子・バイナリベクトル情報
6 検索装置
7 検索結果
11 特徴抽出部
12 変換学習部
13 量子化部
14 バイナリ化部
31 量子化器
32 変換行列
DESCRIPTION OF SYMBOLS 1 Feature-value production | generation apparatus 2 Content database 3 Memory | storage part 4, 21 Content 5 Quantum / binary vector information 6 Search apparatus 7 Search result 11 Feature extraction part 12 Conversion learning part 13 Quantization part 14 Binaryization part 31 Quantizer 32 Conversion matrix

Claims (5)

一つ以上の特徴量ベクトルの集合によって表現されたコンテンツを、前記一つ以上のベクトルの集合が持つ情報量よりも小さい情報量となるようなバイナリベクトルに変換する特徴量生成装置であって、
特徴量生成対象のコンテンツを表現する前記一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々に対して、予め定めた量子化器を適用することで、前記特徴量ベクトルの各々に所定個数の量子のうちの少なくとも一つを割り当てる量子化部と、
前記量子が割り当てられた前記特徴量ベクトルの各々について、予め求めた所定の変換行列を適用することで、前記バイナリベクトルを求めるバイナリ化部と、
を含み、
前記量子化器、及び前記変換行列は、入力された複数の前記特徴量ベクトルに基づいて、前記特徴量ベクトルと、前記量子化器及び前記変換行列を用いて前記特徴量ベクトルから得られる前記バイナリベクトルとの誤差を最小にするように定められることを特徴とする特徴量生成装置。
A feature quantity generation device that converts content expressed by a set of one or more feature quantity vectors into a binary vector that has an information quantity smaller than the information quantity of the one or more vector sets,
By applying a predetermined quantizer to each feature quantity vector that is an element of the set of one or more feature quantity vectors representing the feature quantity generation target content, each of the feature quantity vectors A quantization unit that assigns at least one of a predetermined number of quanta to
A binarization unit that obtains the binary vector by applying a predetermined transformation matrix obtained in advance for each of the feature quantity vectors to which the quantum is assigned;
Including
The quantizer and the transformation matrix are the binary obtained from the feature quantity vector and the feature quantity vector using the quantizer and the transformation matrix, based on the plurality of inputted feature quantity vectors. A feature quantity generation device characterized by being determined so as to minimize an error from a vector.
前記量子化部は、前記一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々に対して、前記量子化器を適用することで、前記特徴量ベクトルの各々に前記所定個数の量子のうちの少なくとも一つを割り当てると共に、同一の量子が割り当てられた一つ以上の特徴量ベクトルに基づいて、統合特徴量ベクトルを求め、
前記バイナリ化部が、前記統合特徴量ベクトルについて、前記変換行列を適用することで、前記バイナリベクトルを求めることを特徴とする請求項1に記載の特徴量生成装置。
The quantization unit applies the quantizer to each feature vector that is an element of the set of one or more feature vectors, so that the predetermined number of feature vectors are applied to each feature vector. Assigning at least one of the quanta and obtaining an integrated feature vector based on one or more feature vectors assigned the same quantum;
The feature quantity generation device according to claim 1, wherein the binarization unit obtains the binary vector by applying the transformation matrix to the integrated feature quantity vector.
一つ以上の特徴量ベクトルの集合によって表現されたコンテンツを、前記一つ以上のベクトルの集合が持つ情報量よりも小さい情報量となるようなバイナリベクトルに変換する特徴量生成装置における特徴量生成方法であって、
量子化部が、特徴量生成対象のコンテンツを表現する前記一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々に対して、予め定めた量子化器を適用することで、前記特徴量ベクトルの各々に所定個数の量子のうちの少なくとも一つを割り当てる量子化ステップと、
バイナリ化部が、前記量子が割り当てられた前記特徴量ベクトルの各々について、予め求めた所定の変換行列を適用することで、前記バイナリベクトルを求めるバイナリ化ステップと、
を含み、
前記量子化器、及び前記変換行列は、入力された複数の前記特徴量ベクトルに基づいて、前記特徴量ベクトルと、前記量子化器及び前記変換行列を用いて前記特徴量ベクトルから得られる前記バイナリベクトルとの誤差を最小にするように定められることを特徴とする特徴量生成方法。
Feature quantity generation in a feature quantity generation device that converts content expressed by a set of one or more feature quantity vectors into a binary vector that has a smaller information quantity than the information quantity of the one or more vector sets. A method,
The quantizing unit applies a predetermined quantizer to each of the feature quantity vectors that are elements of the set of one or more feature quantity vectors that express the content of the feature quantity generation target, A quantization step of assigning at least one of a predetermined number of quanta to each feature vector;
A binarization unit that obtains the binary vector by applying a predetermined transformation matrix obtained in advance for each of the feature vector to which the quantum is assigned;
Including
The quantizer and the transformation matrix are the binary obtained from the feature quantity vector and the feature quantity vector using the quantizer and the transformation matrix, based on the plurality of inputted feature quantity vectors. A feature value generation method characterized by being determined so as to minimize an error from a vector.
前記量子化部が割り当てるステップは、前記一つ以上の特徴量ベクトルの集合の要素である特徴量ベクトルの各々に対して、前記量子化器を適用することで、前記特徴量ベクトルの各々に前記所定個数の量子のうちの少なくとも一つを割り当てると共に、同一の量子に割り当てられた一つ以上の特徴量ベクトルに基づいて、統合特徴量ベクトルを求め、
前記バイナリ化部が求めるステップは、前記統合特徴量ベクトルについて、前記変換行列を適用することで、前記バイナリベクトルを求めることを特徴とする請求項3に特徴量生成方法。
The step of assigning by the quantization unit includes applying the quantizer to each feature vector that is an element of the set of one or more feature vectors, so that the feature vector is applied to each feature vector. Assigning at least one of a predetermined number of quanta and obtaining an integrated feature vector based on one or more feature vectors assigned to the same quantum;
4. The feature quantity generation method according to claim 3, wherein the step of obtaining the binarization section obtains the binary vector by applying the transformation matrix to the integrated feature quantity vector.
コンピュータに、請求項3又は請求項4に記載の特徴量生成方法の各ステップを実行させるためのプログラム。   The program for making a computer perform each step of the feature-value production | generation method of Claim 3 or Claim 4.
JP2015160456A 2015-08-17 2015-08-17 Feature generation apparatus, method, and program Active JP6364387B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015160456A JP6364387B2 (en) 2015-08-17 2015-08-17 Feature generation apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015160456A JP6364387B2 (en) 2015-08-17 2015-08-17 Feature generation apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2017040972A JP2017040972A (en) 2017-02-23
JP6364387B2 true JP6364387B2 (en) 2018-07-25

Family

ID=58203451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015160456A Active JP6364387B2 (en) 2015-08-17 2015-08-17 Feature generation apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP6364387B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113536019A (en) * 2017-09-27 2021-10-22 深圳市商汤科技有限公司 Image retrieval method and device and computer readable storage medium
CN108830288A (en) * 2018-04-25 2018-11-16 北京市商汤科技开发有限公司 Image processing method, the training method of neural network, device, equipment and medium
JP7363929B2 (en) * 2020-01-29 2023-10-18 日本電信電話株式会社 Learning device, search device, learning method, search method and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5563494B2 (en) * 2011-02-01 2014-07-30 株式会社デンソーアイティーラボラトリ Corresponding reference image search device and method, content superimposing device, system and method, and computer program
JP5862413B2 (en) * 2012-03-28 2016-02-16 富士通株式会社 Information conversion rule generation program, information conversion rule generation device, and information conversion rule generation method

Also Published As

Publication number Publication date
JP2017040972A (en) 2017-02-23

Similar Documents

Publication Publication Date Title
Latif et al. Content‐Based Image Retrieval and Feature Extraction: A Comprehensive Review
Zheng et al. SIFT meets CNN: A decade survey of instance retrieval
Zhou et al. Recent advance in content-based image retrieval: A literature survey
Ali et al. A novel image retrieval based on visual words integration of SIFT and SURF
Zhou et al. Scalar quantization for large scale image search
Chou et al. Pattern-based near-duplicate video retrieval and localization on web-scale videos
Liu et al. Indexing of the CNN features for the large scale image search
JP5294342B2 (en) Object recognition image database creation method, processing apparatus, and processing program
Duan et al. Weighted component hashing of binary aggregated descriptors for fast visual search
Zhou et al. Multiple distance-based coding: toward scalable feature matching for large-scale web image search
JP6373292B2 (en) Feature generation apparatus, method, and program
Nair et al. Static video summarization using multi-CNN with sparse autoencoder and random forest classifier
Li et al. Subspace-based multi-view fusion for instance-level image retrieval
JP6104209B2 (en) Hash function generation method, hash value generation method, apparatus, and program
Zhang et al. Video copy detection based on deep CNN features and graph-based sequence matching
Zhang et al. Large‐scale video retrieval via deep local convolutional features
JP6364387B2 (en) Feature generation apparatus, method, and program
Wu et al. A multi-level descriptor using ultra-deep feature for image retrieval
Zhou et al. Visual word expansion and BSIFT verification for large-scale image search
Ciaparrone et al. A comparison of deep learning models for end-to-end face-based video retrieval in unconstrained videos
Battiato et al. Aligning codebooks for near duplicate image detection
Kordopatis-Zilos et al. Finding near-duplicate videos in large-scale collections
Liao et al. An efficient content based video copy detection using the sample based hierarchical adaptive k-means clustering
Che et al. Image retrieval by information fusion based on scalable vocabulary tree and robust Hausdorff distance
JP6134246B2 (en) Hash function generation method, hash value generation method, hash function generation device, hash value generation device, hash function generation program, and hash value generation program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180522

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180702

R150 Certificate of patent or registration of utility model

Ref document number: 6364387

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150