JP2017045291A - Similar image searching system - Google Patents

Similar image searching system Download PDF

Info

Publication number
JP2017045291A
JP2017045291A JP2015167393A JP2015167393A JP2017045291A JP 2017045291 A JP2017045291 A JP 2017045291A JP 2015167393 A JP2015167393 A JP 2015167393A JP 2015167393 A JP2015167393 A JP 2015167393A JP 2017045291 A JP2017045291 A JP 2017045291A
Authority
JP
Japan
Prior art keywords
image
attribute data
registered
processing unit
similar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015167393A
Other languages
Japanese (ja)
Other versions
JP7019137B2 (en
Inventor
利文 村田
Toshifumi Murata
利文 村田
隆司 新井
Takashi Arai
隆司 新井
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.)
Murata Office Co Ltd
Original Assignee
Murata Office Co Ltd
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 Murata Office Co Ltd filed Critical Murata Office Co Ltd
Priority to JP2015167393A priority Critical patent/JP7019137B2/en
Publication of JP2017045291A publication Critical patent/JP2017045291A/en
Application granted granted Critical
Publication of JP7019137B2 publication Critical patent/JP7019137B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a similar image searching system that searches for a similar image from among images registered in advance.SOLUTION: A similar image searching system includes: a registered image feature vector storage unit which stores a feature vector formed by vectorizing a feature quantity of an image registered in advance, on a data table; a query image input receiving processing unit which receives an input query image; a query image feature quantity extraction processing unit which extracts a feature quantity on the basis of the received query image; a query image vectorization processing unit which calculates a feature vector by vectorizing the extracted feature quantity; a query image feature vector search processing unit which searches for a registered image similar to the query image, in reference to the feature vector in the registered image feature vector storage unit, on the basis of the calculated feature vector; and a search result output processing unit which outputs the registered image similar to the query image as a result of searching.SELECTED DRAWING: Figure 1

Description

本発明は,あらかじめ登録されている画像の中から,類似する画像を検索する類似画像検索システムに関する。   The present invention relates to a similar image search system for searching for similar images from pre-registered images.

画像検索においては,ある画像(クエリ画像)(画像とは,コンピュータで表示可能な,データ化されているイメージ情報をいう)を検索条件として,クエリ画像に類似する画像が,複数の画像(登録画像)を登録しているデータベース(登録画像データベース)に存在するかを検索することが必要な場合がある。この場合,クエリ画像と,登録画像データベースに登録された登録画像とを比較することで類似する画像であるかを判定することが必要であるが,登録している画像の数が多量になるとその判定処理に大幅な処理時間を要することとなる。そのため,高速に判定する類似画像の検索システムが求められている。   In an image search, an image similar to a query image is registered as a plurality of images (registration) using a certain image (query image) (an image means image information that can be displayed on a computer and converted into data) as a search condition. In some cases, it is necessary to search for whether or not the image (registered image database) exists in the registered database. In this case, it is necessary to determine whether the images are similar by comparing the query image and the registered image registered in the registered image database. However, if the number of registered images increases, A large amount of processing time is required for the determination process. Therefore, there is a need for a similar image retrieval system that can determine at high speed.

そこで,多量の画像に対する高速での画像の類似検索処理を行うため,従来は,局所性鋭敏型ハッシュ技術(LSH(locality sensitive hashing))や,セントロイドからの距離でデータを管理するなどの,類似性の高い画像をグルーピングするデータ構造を利用することで,検索候補を絞る方法が一般的に用いられている。この一例として,下記非特許文献1が存在する。また,クエリ画像との類似性に基づいて類似する登録画像を検索するシステムとして特許文献1のシステムが存在している。   Therefore, in order to perform high-speed image similarity search processing for a large number of images, conventionally, such as local sensitive hashing (LSH) or data management by distance from the centroid, A method of narrowing down search candidates by using a data structure for grouping images with high similarity is generally used. The following nonpatent literature 1 exists as an example of this. Further, there is a system disclosed in Patent Document 1 as a system that searches for similar registered images based on similarity to a query image.

また,類似画像検索の際に,画像検索する利用者の所望する属性をもつ画像以外は検索結果から排除したい場合もある。そのときは,非特許文献1などの方法によって十分大きな数の類似画像の候補を得ておき,その後,属性データによって絞り込みを行う方法もある。この属性データとして,その画像に関連するテキストデータを検索キーワードとして用いて絞り込みを行う方法が存在する(特許文献2)。この方法はテキストデータに関連するキーワードをさらに特定し,検索キーワード,関連キーワードに関連づけられた画像を検索することで,類似画像を検索する方法である。   In addition, when searching for similar images, it may be desired to exclude images other than those having attributes desired by the user who searches for images from the search results. In such a case, there is a method in which a sufficiently large number of similar image candidates are obtained by a method such as Non-Patent Document 1 and then narrowed down by attribute data. As this attribute data, there is a method of narrowing down using text data related to the image as a search keyword (Patent Document 2). In this method, a keyword related to text data is further specified, and a similar image is searched by searching for a search keyword and an image associated with the related keyword.

特開2001−160062号公報Japanese Patent Laid-Open No. 2001-160062 特開2008−217117号公報JP 2008-217117 A

重村拓也,清水大輝,寺沢憲吾,”LSHによる大規模画像データからの高速類似検索”,2013年3月6日,一般社団法人情報処理学会,全国大会講演論文集,2013(1),p.393−395Takuya Shigemura, Daiki Shimizu, Kengo Terasawa, “High-speed similarity search from large-scale image data by LSH”, March 6, 2013, Information Processing Society of Japan, Annual Conference Proceedings, 2013 (1), p. 393-395

非特許文献1のLSHを用いた処理は,画像における特徴量に応じてハッシュ値を定め,その定めたハッシュ値に基づいて,類似画像検索を高速に実行する方法である。これはクエリ画像のハッシュ値と,登録画像のハッシュ値とが同じであれば特徴量が近い値である,すなわち2つの画像は類似していると判定できることを利用したものである。   The process using LSH in Non-Patent Document 1 is a method of determining a hash value according to a feature amount in an image and executing a similar image search at a high speed based on the determined hash value. This is based on the fact that if the hash value of the query image and the hash value of the registered image are the same, the feature amount is a close value, that is, it can be determined that the two images are similar.

この場合,登録画像の数が10倍に増えると,検索の結果として得られる画像の数も10倍に増え,処理時間が急増するなどの不都合が起きる。そのため,一般に,登録済みの画像をすべて新しいハッシュ値で再ハッシュするなどの処理が必要となる。   In this case, when the number of registered images increases tenfold, the number of images obtained as a result of the search also increases tenfold, causing inconveniences such as a rapid increase in processing time. Therefore, in general, processing such as re-hashing all registered images with new hash values is required.

さらに,画像の属性データによる絞り込みを行う場合には,求められている検索結果数を担保するために,類似画像の検索の際に,1グループのサイズを大きくとっておく,または数グループに亘って検索するなどの対応が必要となる。その結果,動作効率の悪化や処理時間が大幅に増大するなどの問題が発生する。そのため,せっかく類似画像の検索を高速化したとしても,その効果が失われてしまう問題がある。   Furthermore, when narrowing down by attribute data of images, in order to secure the required number of search results, the size of one group is kept large when searching for similar images, or over several groups. It is necessary to deal with such as searching. As a result, problems such as deterioration in operating efficiency and a significant increase in processing time occur. Therefore, even if the search for similar images is speeded up, the effect is lost.

そこで本発明者は上記課題に鑑み,以下の発明をした。   In view of the above problems, the present inventor has made the following invention.

第1の発明は,あらかじめ登録してある画像から,クエリ画像に類似する画像を検索するための類似画像検索システムであって,前記類似画像検索システムは,あらかじめ登録してある画像である登録画像の特徴量をベクトル化した特徴ベクトルをデータテーブルで記憶する登録画像特徴ベクトル記憶部と,クエリ画像の入力を受け付けるクエリ画像入力受付処理部と,前記入力を受け付けたクエリ画像に基づいて特徴量を抽出するクエリ画像特徴量抽出処理部と,前記抽出した特徴量をベクトル化した特徴ベクトルを算出するクエリ画像ベクトル化処理部と,前記算出した特徴ベクトルに基づいて,前記登録画像特徴ベクトル記憶部の特徴ベクトルを参照して,前記クエリ画像に類似する登録画像を検索するクエリ画像特徴ベクトル検索処理部と,前記検索した結果,前記クエリ画像に類似する登録画像を出力する検索結果出力処理部と,を有する類似画像検索システムである。   A first invention is a similar image retrieval system for retrieving an image similar to a query image from images registered in advance, wherein the similar image retrieval system is a registered image that is an image registered in advance. A registered image feature vector storage unit that stores a feature vector obtained by vectorizing the feature amount in a data table, a query image input reception processing unit that receives an input of a query image, and a feature amount based on the query image that has received the input A query image feature amount extraction processing unit to extract, a query image vectorization processing unit to calculate a feature vector obtained by vectorizing the extracted feature amount, and a registered image feature vector storage unit based on the calculated feature vector A query image feature vector search process for searching a registered image similar to the query image with reference to the feature vector. Parts and the searched result, a similar image retrieval system with a search result output unit for outputting an image similar to the query image.

本発明のように,従来と異なり,登録画像の特徴ベクトルをデータテーブルで記憶し,クエリ画像の特徴ベクトルと比較する処理を実行することで,データテーブルの処理のみで類似する画像を特定することができる。そのため,単純な演算のみとなるので,高速に処理を実現することができる。   As in the present invention, unlike the prior art, the feature vector of the registered image is stored in the data table, and the comparison with the feature vector of the query image is executed, so that a similar image is specified only by the processing of the data table. Can do. For this reason, since only simple calculations are performed, processing can be realized at high speed.

またデータテーブルで特徴ベクトルを管理しているので,登録画像の追加,削除があったとしても,従来のように,局所特徴量のハッシュ値が変わってしまうことによる再ハッシュが必要ないなど,画像の管理を容易にすることもできる。   Also, since feature vectors are managed in the data table, even if registered images are added or deleted, there is no need for re-hashing due to changes in the hash value of local features, as in the past. It is also possible to facilitate management.

上述の発明において,前記クエリ画像特徴ベクトル検索処理部は,前記算出した特徴ベクトルと,前記登録画像特徴ベクトル記憶部に記憶した特徴ベクトルとを用いて,前記クエリ画像と各登録画像との類似度を特定し,前記検索結果出力処理部は,前記特定した類似度が所定範囲の登録画像を,前記クエリ画像に類似する登録画像として出力する,類似画像検索システムのように構成することができる。   In the above-described invention, the query image feature vector search processing unit uses the calculated feature vector and the feature vector stored in the registered image feature vector storage unit to determine the similarity between the query image and each registered image. The search result output processing unit can be configured as a similar image search system that outputs a registered image having a specified similarity in a predetermined range as a registered image similar to the query image.

本発明のように,類似する画像の検索の際には,特徴ベクトルを用いて類似度を特定し,それに基づいて類似する画像を特定することが好ましい。   As in the present invention, when searching for similar images, it is preferable to specify a similarity using a feature vector and specify a similar image based on the similarity.

上述の発明において,前記類似画像検索システムは,さらに,前記登録画像の属性データをエンコードして,前記登録画像に対応づけて記憶する登録画像属性データ記憶部と,前記クエリ画像の属性データの入力を受け付けるクエリ画像属性データ入力受付処理部と,前記入力を受け付けた属性データをエンコードするクエリ画像属性データエンコード処理部と,前記エンコードした値に基づいて,前記登録画像属性データ記憶部を参照し,属性データを用いた絞込処理を実行するクエリ画像属性データ検索処理部と,を有する類似画像検索システムのように構成することができる。   In the above-described invention, the similar image search system further encodes the attribute data of the registered image, stores the image in association with the registered image, and inputs the attribute data of the query image A query image attribute data input reception processing unit that receives the reference, a query image attribute data encoding processing unit that encodes the attribute data that has received the input, and the registered image attribute data storage unit based on the encoded value, It can be configured as a similar image search system having a query image attribute data search processing unit that executes a narrowing process using attribute data.

上述の発明において,前記検索結果出力処理部は,さらに,前記クエリ画像属性データ検索処理部で絞込処理を実行した結果,絞込条件を充足しない属性データに対応する登録画像の類似度を変更し,前記変更後の類似度に基づいて,類似度が所定範囲の登録画像を,前記クエリ画像に類似する登録画像として出力する,類似画像検索システムのように構成することができる。   In the above-described invention, the search result output processing unit further changes the similarity of registered images corresponding to attribute data that does not satisfy the filtering condition as a result of the narrowing processing performed by the query image attribute data search processing unit. Then, it can be configured as a similar image search system that outputs a registered image having a similarity in a predetermined range based on the changed similarity as a registered image similar to the query image.

これらの発明のように,画像の属性データを用いて絞込処理を実行することで,類似する画像の検索処理を実現することもできる。なお,本発明における属性データとは,画像に紐付けられた,その画像の属性を示すテキスト型の情報をいう。   As in these inventions, similar image retrieval processing can be realized by executing narrowing processing using image attribute data. The attribute data in the present invention refers to text-type information associated with an image and indicating the attribute of the image.

上述の発明において,前記登録画像属性データ記憶部は,登録画像の属性データのバイナリーデータであるビット列を,データテーブルで記憶しており,前記クエリ画像属性データ検索処理部は,前記クエリ画像属性データエンコード処理部でエンコードした,前記クエリ画像の属性データのバイナリーデータであるビット列と,前記登録画像属性データ記憶部に記憶する登録画像の属性データのバイナリーデータであるビット列とを,論理演算することで,属性データを用いた絞込処理を実行する,類似画像検索システムのように構成することができる。   In the above invention, the registered image attribute data storage unit stores a bit string that is binary data of registered image attribute data in a data table, and the query image attribute data search processing unit stores the query image attribute data. By performing a logical operation on the bit string that is binary data of the attribute data of the query image encoded by the encoding processing unit and the bit string that is binary data of the attribute data of the registered image stored in the registered image attribute data storage unit, , A similar image retrieval system that executes a narrowing-down process using attribute data can be configured.

本発明のように属性データをテキストデータとして処理するのではなく,バイナリーデータのビット列としてデータテーブルで管理して,バイナリーデータ同士の論理演算で絞込処理を実行することで,より高速の処理を実現することができる。   Instead of processing the attribute data as text data as in the present invention, it is managed in the data table as a bit string of binary data, and a narrowing process is executed by a logical operation between the binary data, so that higher speed processing can be performed. Can be realized.

上述の発明において,前記類似画像検索システムは,さらに,前記属性データの境界を示すバウンダリー情報を備えており,前記クエリ画像属性データ検索処理部は,前記クエリ画像の属性データをエンコードしたバイナリーデータのビット列と,前記登録画像属性データ記憶部に記憶する登録画像の属性データをエンコードしたバイナリーデータのビット列の論理演算の際に,前記バウンダリー情報に基づいて,属性データの境界を判定し,その属性データの境界ごとに,それぞれのバイナリーデータの比較処理を実行する,類似画像検索システムのように構成することができる。   In the above-described invention, the similar image search system further includes boundary information indicating a boundary of the attribute data, and the query image attribute data search processing unit stores binary data obtained by encoding the attribute data of the query image. When performing a logical operation on a bit string and a bit string of binary data obtained by encoding the registered image attribute data stored in the registered image attribute data storage unit, the boundary of the attribute data is determined based on the boundary information, and the attribute data It can be configured like a similar image retrieval system that executes a comparison process of binary data for each boundary.

複数の属性データを絞込の条件として用いる場合,属性データをビット列としてデータテーブルで管理していると,属性データの境界を特定することができず,ビット列同士の論理演算を実行することができない。そのため,本発明のように,属性データの境界を示すバウンダリー情報を用いることで,複数の属性データを絞込の条件として用いることができる。   When using multiple attribute data as filtering conditions, if attribute data is managed as a bit string in the data table, the boundary of attribute data cannot be specified, and logical operations between bit strings cannot be executed. . Therefore, a plurality of attribute data can be used as narrowing conditions by using the boundary information indicating the boundary of the attribute data as in the present invention.

上述の発明において,前記検索結果出力処理部は,前記類似度を所定範囲ごとに分類したヒストグラムを生成し,出力すべき検索結果数が前記ヒストグラムのどの範囲に含まれているかを特定し,前記特定した範囲以上の類似度を有する登録画像をソートの対象として,前記類似度に基づいてソートを行うことで,前記クエリ画像に類似する登録画像を出力する,類似画像検索システムのように構成することができる。   In the above-described invention, the search result output processing unit generates a histogram in which the similarity is classified for each predetermined range, specifies in which range of the histogram the number of search results to be output is included, and A similar image retrieval system that outputs a registered image similar to the query image by sorting registered images having similarities exceeding the specified range as a sort target and sorting based on the similarities is configured. be able to.

類似度に応じて登録画像をソートして検索結果を出力する場合,O(n log(n))の実行時間が必要となる。そのため,ソートの対象となる登録画像の数が少なくなるほど,ソートの実行時間を減らすことができる。そこで,本発明のように構成することで,類似度に基づいてソートを行う登録画像の数を減らすことができるので,より高速化した処理を実現することができる。   When sorting the registered images according to the degree of similarity and outputting the search result, an execution time of O (n log (n)) is required. For this reason, the smaller the number of registered images to be sorted, the shorter the sort execution time can be. Therefore, by configuring as in the present invention, the number of registered images to be sorted based on the similarity can be reduced, so that higher-speed processing can be realized.

上述の類似画像検索システムは,本発明のプログラムをコンピュータに読み込ませることで実現することができる。すなわち,コンピュータを,クエリ画像の入力を受け付けるクエリ画像入力受付処理部,前記入力を受け付けたクエリ画像に基づいて特徴量を抽出するクエリ画像特徴量抽出処理部,前記抽出した特徴量をベクトル化した特徴ベクトルを算出するクエリ画像ベクトル化処理部,前記算出した特徴ベクトルに基づいて,登録画像の特徴量をベクトル化した特徴ベクトルをデータテーブルで記憶する登録画像特徴ベクトル記憶部を参照して,前記クエリ画像に類似する登録画像を検索するクエリ画像特徴ベクトル検索処理部,前記検索した結果,前記クエリ画像に類似する登録画像を出力する検索結果出力処理部,として機能させる類似画像検索プログラムである。   The above-described similar image retrieval system can be realized by causing a computer to read the program of the present invention. In other words, the computer has a query image input reception processing unit that receives an input of a query image, a query image feature amount extraction processing unit that extracts a feature amount based on the query image that has received the input, and the extracted feature amount is vectorized A query image vectorization processing unit that calculates a feature vector, a registered image feature vector storage unit that stores a feature vector obtained by vectorizing a feature amount of a registered image based on the calculated feature vector in a data table, and A similar image search program that functions as a query image feature vector search processing unit that searches for a registered image similar to a query image, and a search result output processing unit that outputs a registered image similar to the query image as a result of the search.

本発明の類似画像検索システムを用いることで,類似画像の検索の高速化を実現することができる。これは,従来のように類似性の高い画像同士のグルーピング等の前処理は行わず,画像のデータ構造の簡素化と反復処理の簡素化を用いた処理を実現することで,単純な繰り返し演算に対するCPUの高速実行の能力を活用し,類似画像の高速化を実現することができる。   By using the similar image retrieval system of the present invention, it is possible to realize a high-speed retrieval of similar images. This is because simple processing such as grouping of images with high similarity is not performed as in the past, and processing using simplification of the data structure of the image and simplification of the iterative processing is realized. By utilizing the CPU's high-speed execution capability, it is possible to increase the speed of similar images.

また,絞り込みの条件として用いる属性データについても,類似する画像の検索と同様,データ構造の簡素化と反復処理の簡素化を用いた処理を実現することで,単純な繰り返し演算に対するCPUの高速実行の能力を活用し,類似画像の高速化を実現することができる。   In addition, for attribute data used as a narrowing-down condition, similar to the search for similar images, by implementing processing using simplified data structure and simplified iterative processing, the CPU can execute high-speed execution for simple repeated operations. Can be used to speed up similar images.

本発明の類似画像検索システムの全体の概念の一例を模式的に示す概念図である。It is a conceptual diagram which shows typically an example of the whole concept of the similar image search system of this invention. コンピュータのハードウェア構成の一例を模式的に示す図である。It is a figure which shows an example of the hardware constitutions of a computer typically. 本発明の類似画像検索システムの全体の処理プロセスの一例を示すフローチャートである。It is a flowchart which shows an example of the whole processing process of the similar image search system of this invention. 類似画像の検索処理の処理プロセスの一例を示すフローチャートである。It is a flowchart which shows an example of the process of a search process of a similar image. 属性データでの絞り込み処理の処理プロセスの一例を示すフローチャートの一例である。It is an example of the flowchart which shows an example of the process of the narrowing-down process by attribute data. 登録画像特徴ベクトル記憶部の一例を模式的に示す図である。It is a figure which shows typically an example of the registration image feature vector memory | storage part. 登録画像属性データ記憶部の一例を模式的に示す図である。It is a figure which shows an example of a registration image attribute data memory | storage part typically. 本発明の類似画像検索システムのデータ構造の概念を模式的に示す模式図である。It is a schematic diagram which shows typically the concept of the data structure of the similar image search system of this invention. 本発明の類似画像検索システムの説明のため,図8を簡易的にした模式図である。It is the schematic diagram which simplified FIG. 8 for description of the similar image search system of this invention. 絞込条件として用いた属性データの一例を模式的に示す図である。It is a figure which shows typically an example of the attribute data used as narrowing-down conditions. 特徴ベクトルQ[]の一例を模式的に示す図である。It is a figure which shows typically an example of feature vector Q []. 初期化した類似度R[]の一例を模式的に示す図である。It is a figure which shows typically an example of initialized similarity R []. 特徴ベクトルV[][]の一例を模式的に示す図である。It is a figure which shows typically an example of feature vector V [] []. j=1のときのS260の処理を模式的に示す図である。It is a figure which shows typically the process of S260 when j = 1. j=3のときのS260の処理を模式的に示す図である。It is a figure which shows typically the process of S260 when j = 3. j=4のときのS260の処理を模式的に示す図である。It is a figure which shows typically the process of S260 when j = 4. 絞込処理を行う際の概念の一例を模式的に示す図である。It is a figure which shows typically an example of the concept at the time of performing a narrowing-down process. 絞込条件に関する概念の一例を模式的に示す図である。It is a figure which shows typically an example of the concept regarding narrowing-down conditions. 依存関係がある場合の属性データを模式的に示す図である。It is a figure which shows typically the attribute data in case there exists dependence.

本発明の類似画像検索システム1の全体の概念図の一例を図1に示す。本発明の類似画像検索システム1は,登録画像の登録や削除処理などの登録画像の管理を行う登録画像管理システム2と,類似画像の検索を行う検索処理システム3とを有する。   An example of an overall conceptual diagram of a similar image search system 1 of the present invention is shown in FIG. The similar image search system 1 of the present invention includes a registered image management system 2 that manages registered images such as registration and deletion of registered images, and a search processing system 3 that searches for similar images.

登録画像管理システム2は,登録画像入力受付処理部20と,登録画像特徴量抽出処理部21と,登録画像ベクトル化処理部22と,登録画像特徴ベクトル登録処理部23と,登録画像特徴ベクトル記憶部24と,登録画像属性データ入力受付処理部25と,登録画像属性データエンコード処理部26と,登録画像属性データ記憶部27とを有する。   The registered image management system 2 includes a registered image input reception processing unit 20, a registered image feature amount extraction processing unit 21, a registered image vectorization processing unit 22, a registered image feature vector registration processing unit 23, and a registered image feature vector storage. A registration image attribute data input reception processing unit 25, a registered image attribute data encoding processing unit 26, and a registered image attribute data storage unit 27.

検索処理システム3は,クエリ画像入力受付処理部30と,クエリ画像特徴量抽出処理部31と,クエリ画像ベクトル化処理部32と,クエリ画像特徴ベクトル検索処理部33と,クエリ画像属性データ入力受付処理部34と,クエリ画像属性データエンコード処理部35と,クエリ画像属性データ検索処理部36と,検索結果出力処理部37と,を有する。   The search processing system 3 includes a query image input reception processing unit 30, a query image feature amount extraction processing unit 31, a query image vectorization processing unit 32, a query image feature vector search processing unit 33, and a query image attribute data input reception. A processing unit 34, a query image attribute data encoding processing unit 35, a query image attribute data search processing unit 36, and a search result output processing unit 37 are included.

類似画像検索システム1,登録画像管理システム2,検索処理システム3は,サーバやパーソナルコンピュータ,可搬型通信端末などの各種のコンピュータにより実現される。図2にコンピュータのハードウェア構成の一例を示す。コンピュータには,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,ディスプレイなどの表示装置72と,演算装置70の処理結果や記憶装置71に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置73と,キーボードやポインティングデバイス(マウスやテンキーなど)などの入力装置74の一部または全部が備えられている。   The similar image retrieval system 1, registered image management system 2, and retrieval processing system 3 are realized by various computers such as a server, a personal computer, and a portable communication terminal. FIG. 2 shows an example of the hardware configuration of the computer. The computer includes an arithmetic device 70 such as a CPU for executing arithmetic processing of a program, a storage device 71 such as a RAM and a hard disk for storing information, a display device 72 such as a display, a processing result of the arithmetic device 70 and a storage device. A communication device 73 that transmits and receives information stored in the network 71 via a network such as the Internet or a LAN, and a part or all of an input device 74 such as a keyboard or a pointing device (such as a mouse or a numeric keypad) are provided.

図1では類似画像検索システム1,登録画像管理システム2,検索処理システム3がそれぞれ一台のコンピュータで実現される場合を示したが,複数台のコンピュータにその機能が分散配置され,実現されても良い。   Although FIG. 1 shows the case where the similar image retrieval system 1, the registered image management system 2, and the retrieval processing system 3 are each realized by one computer, the functions are distributed and implemented in a plurality of computers. Also good.

本発明における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していても良い。   Each means in the present invention is only logically distinguished in function, and may be physically or virtually the same area.

なお,本明細書では,説明の便宜上,登録画像管理システム2と検索処理システム3とに分けて説明するが,実際には,これらが一つのシステムとして構成されていても良いし,複数の異なるシステムとして構成されていても良い。また各システムの処理機能が共通化していても良い。   In this specification, for convenience of explanation, the registration image management system 2 and the search processing system 3 will be described separately. However, actually, these may be configured as one system, or a plurality of different systems. It may be configured as a system. Further, the processing functions of each system may be shared.

登録画像管理システム2における登録画像入力受付処理部20は,類似画像検索システム1において検索対象となる画像(登録画像)の入力を受け付ける。登録画像入力受付処理部20ではあらかじめ類似画像検索システム1で処理対象としている画像フォーマットで画像の入力を受け付ける。この際に,その画像を識別するためのIDが付与される。   A registered image input reception processing unit 20 in the registered image management system 2 receives an input of an image (registered image) to be searched in the similar image search system 1. The registered image input acceptance processing unit 20 accepts input of an image in an image format that is processed in the similar image search system 1 in advance. At this time, an ID for identifying the image is given.

登録画像特徴量抽出処理部21は,登録画像入力受付処理部20で入力を受け付けた画像に対して,あらかじめ定められた方法によりその画像の特徴量を抽出する処理を実行する。特徴量としては,類似性を判定するための諸指標であればよい。特徴量としては,たとえば0から255まで,あるいは65535までなどと上限を設定しサイズを規格化している。   The registered image feature amount extraction processing unit 21 executes a process of extracting the feature amount of the image received by the registered image input reception processing unit 20 by a predetermined method. The feature amount may be any index for determining similarity. As the feature amount, for example, an upper limit is set from 0 to 255 or 65535, and the size is standardized.

本明細書および以下の説明では,特徴量として,Histogram intersectionを用いる場合を説明する。本発明の類似画像検索システム1では,特徴量として,局所特徴量,Bag-of Visual-Words,Histogram intersectionを用いると効果があるが,それらに限られず,固定長ベクトル化した特徴量(特徴ベクトル)であれば,色ヒストグラムや色コリログラム,あるいはほかの画像特徴量であっても良い。また,それらとBag-of-Visual Wordsとの組み合わせであっても良い。   In this specification and the following description, a case where Histogram intersection is used as a feature amount will be described. In the similar image search system 1 of the present invention, it is effective to use a local feature, Bag-of Visual-Words, or Histogram intersection as a feature. ), A color histogram, a color correlogram, or other image feature amount may be used. It may be a combination of them and Bag-of-Visual Words.

登録画像ベクトル化処理部22は,登録画像特徴量抽出処理部21で抽出した特徴量をベクトル化(固定長ベクトル化)する処理を実行する。   The registered image vectorization processing unit 22 performs a process of vectorizing (fixing length vectorization) the feature amount extracted by the registered image feature amount extraction processing unit 21.

特徴ベクトルを算出するにあたり,処理に用いる特徴とbin(選ばれた特徴の粒度)が選ばれると,各binに合致した特徴が画像内に何個存在するかを数え上げ,ヒストグラムを生成する。さらにそのヒストグラムに対して正規化を行う。正規化を行うことによって,類似性の高い画像同士が類似した値を取れるようにできる。これによって,Histogram intersection等によって,画像同士の類似性を求めることができる。   In calculating a feature vector, if a feature used for processing and a bin (granularity of a selected feature) are selected, the number of features that match each bin is counted and a histogram is generated. Further, normalization is performed on the histogram. By performing normalization, it is possible to obtain similar values between images having high similarity. Thus, the similarity between images can be obtained by histogram intersection or the like.

さらに,特徴ベクトルを各特徴の出現頻度に合わせて特性を歪ませて偏りを矯正すると良い。たとえば,画像のほとんどを一つの色が占める画像を母集団(登録画像の母集団)とする場合には,指数関数を乗じることで中間部分を下に押し下げ,出現頻度を全領域に亘って,平均化する。これによって,互いに独立性の高い特徴量を複合させて特徴ベクトルを構成する場合,いずれかの特徴量が強くなり,ほかの特徴量が埋もれてしまって,その特徴量が類似性判定に寄与しなくなるのを回避し,類似性の判定精度を高めることができる。   Furthermore, it is preferable to correct the bias by distorting the characteristics according to the appearance frequency of each feature vector. For example, when an image occupies most of an image as a population (a population of registered images), the middle part is pushed down by multiplying by an exponential function, and the appearance frequency is spread over the entire region. Average. As a result, when a feature vector is constructed by combining highly independent feature quantities, one of the feature quantities becomes stronger and the other feature quantities are buried, which contributes to similarity determination. It is possible to avoid disappearance and increase the accuracy of similarity determination.

このように,特徴ベクトルの各要素のダイナミックレンジをそろえ,偏りを強制することにより,特徴ベクトルが取り得る値の上限,下限を定めて整数化を行うことが可能となる。これによって,特徴ベクトルの要素を2バイト(0〜65535の値)で表現することは十分に可能であり,さらに1バイト(0〜255の値)で表現することも可能となる。   In this way, by aligning the dynamic range of each element of the feature vector and forcing the bias, it is possible to define an upper limit and a lower limit of the value that can be taken by the feature vector to perform integerization. As a result, it is possible to represent the elements of the feature vector with 2 bytes (values from 0 to 65535), and it is also possible to represent them with 1 byte (values from 0 to 255).

登録画像特徴ベクトル登録処理部23は,登録画像ベクトル化処理部22でベクトル化した値(特徴ベクトル)と,登録画像入力受付処理部20で付与されたIDとを,後述する登録画像特徴ベクトル記憶部24に,対応づけて記憶させる。   The registered image feature vector registration processing unit 23 stores a value (feature vector) vectorized by the registered image vectorization processing unit 22 and an ID assigned by the registered image input reception processing unit 20 in a registered image feature vector storage which will be described later. The unit 24 stores the information in association with each other.

登録画像特徴ベクトル記憶部24は,各登録画像のIDと特徴ベクトルとを対応づけて記憶している。図6に登録画像特徴ベクトル記憶部24の一例を模式的に示す。   The registered image feature vector storage unit 24 stores the ID and feature vector of each registered image in association with each other. FIG. 6 schematically shows an example of the registered image feature vector storage unit 24.

登録画像属性データ入力受付処理部25は,登録画像入力受付処理部20で入力を受け付けた登録画像に対応する属性データがある場合に,その属性データの入力を受け付ける。   The registered image attribute data input acceptance processing unit 25 accepts input of attribute data when there is attribute data corresponding to the registered image accepted by the registered image input acceptance processing unit 20.

属性データとして与えるのは,類似画像の検索の際に絞込の条件として用いる情報である。そして属性データは数え上げ型の組合せである。たとえば,属性データが「都道府県」であり,その属性データの取り得る値が,「北海道」,「青森」などの47種類からなる組合せであるなど,属性データはその取り得る値があらかじめ定められている必要がある。   The attribute data is information used as a narrowing condition when searching for similar images. The attribute data is a combination of counting types. For example, the attribute data is “prefecture”, and the possible values of the attribute data are 47 types of combinations such as “Hokkaido” and “Aomori”. Need to be.

各属性データの関係は互いに独立でなくてもよく,依存関係があってもよい。この依存関係としては,上位レベルの属性データの値が択一であり,上位レベルによって下位レベルが取り得る値が変わる場合がある。これを模式的に示すのが図19である。   The relationship between the attribute data does not have to be independent of each other, and may have a dependency relationship. As this dependency relationship, there is a case where the value of the attribute data of the upper level is an alternative, and the value that the lower level can take varies depending on the upper level. This is schematically shown in FIG.

たとえば属性Aの属性データの取り得る値が「テーブル,マット」であり,属性Aの値が「テーブル」のとき,属性B(高さ)が「45cm,70cm」,属性Aの値が「マット」のとき,属性C(面積)が「2畳,4畳」などの場合が該当する。この場合,属性A,属性B,属性Cのエンコードの方法を独立に決め,属性Bと属性Cのビット数の最大長を共通領域として割り当てる。エンコード時には,属性Aの値によって属性Bのエンコードを使うか,属性Cのエンコードを使うかが定まるので,依存関係がある場合でも処理可能となる。   For example, when the value of attribute data of attribute A is “table, mat”, the value of attribute A is “table”, attribute B (height) is “45 cm, 70 cm”, and the value of attribute A is “mat”. ", The case where the attribute C (area) is" 2 tatami mats, 4 tatami mats "or the like is applicable. In this case, the encoding method of attribute A, attribute B, and attribute C is determined independently, and the maximum length of the number of bits of attribute B and attribute C is assigned as a common area. At the time of encoding, whether to use the encoding of the attribute B or the encoding of the attribute C is determined depending on the value of the attribute A, so that processing can be performed even when there is a dependency.

また,連続量(長さ,面積など)や極めて大きなバリエーションがあるもの(時刻データなど)を絞込条件として用いる場合には,それらを適当な区間で区切り,区間に対してビットを割り当てるとともに,絞込処理時には,区間単位で検索対象を絞り込むこととなる。   In addition, when using continuous quantities (length, area, etc.) or extremely large variations (time data, etc.) as narrowing conditions, they are separated by appropriate sections, bits are assigned to the sections, At the time of narrowing down processing, the search target is narrowed down in units of sections.

登録画像属性データエンコード処理部26は,登録画像属性データ入力受付処理部25で入力を受け付けた属性データをエンコード(バイナリーデータとしてビット列化)して記憶する。そしてエンコードした属性データと,当該属性データに対応する登録画像が登録画像入力受付処理部20で付与されたIDとを,後述する登録画像属性データ記憶部27に,対応づけて記憶させる。   The registered image attribute data encoding processing unit 26 encodes the attribute data received by the registered image attribute data input reception processing unit 25 (bit data is converted into binary data) and stores it. The encoded attribute data and the ID to which the registered image corresponding to the attribute data is assigned by the registered image input acceptance processing unit 20 are stored in association with each other in the registered image attribute data storage unit 27 described later.

登録画像属性データ記憶部27は,各登録画像のIDと,エンコードした属性データとを対応づけて記憶している。図7に登録画像属性データ記憶部27の一例を模式的に示す。   The registered image attribute data storage unit 27 stores the ID of each registered image and the encoded attribute data in association with each other. FIG. 7 schematically shows an example of the registered image attribute data storage unit 27.

検索処理システム3におけるクエリ画像入力受付処理部30は,クエリ画像の入力を受け付ける。クエリ画像入力受付処理部30ではあらかじめ類似画像検索システム1で処理対象としている画像フォーマットで画像の入力を受け付ける。   The query image input reception processing unit 30 in the search processing system 3 receives an input of a query image. The query image input acceptance processing unit 30 accepts input of an image in an image format that is processed in the similar image search system 1 in advance.

クエリ画像特徴量抽出処理部31は,クエリ画像入力受付処理部30で入力を受け付けたクエリ画像に対して,あらかじめ定められた方法によりその画像の特徴量を抽出する処理を実行する。なお,画像の特徴量を抽出する処理は,登録画像特徴量抽出処理部21で登録画像から特徴量を抽出する処理と同じである。そのため,特徴量としては,登録画像の特徴量として抽出されている指標と同一の指標となる。この際の特徴量も,たとえば0から255まで,あるいは65535までなどと上限を設定しサイズを規格化している。   The query image feature amount extraction processing unit 31 executes a process of extracting the feature amount of the image by a predetermined method with respect to the query image received by the query image input reception processing unit 30. Note that the process of extracting the feature amount of the image is the same as the process of extracting the feature amount from the registered image by the registered image feature amount extraction processing unit 21. Therefore, the feature quantity is the same index as the index extracted as the feature quantity of the registered image. The feature amount at this time is also standardized in size by setting an upper limit, for example, from 0 to 255, or 65535.

クエリ画像ベクトル化処理部32は,クエリ画像特徴量抽出処理部31で抽出した特徴量をベクトル化(好ましくは固定長ベクトル化)する処理を実行する。   The query image vectorization processing unit 32 executes a process of vectorizing (preferably fixed length vectorizing) the feature amount extracted by the query image feature amount extraction processing unit 31.

クエリ画像特徴ベクトル検索処理部33は,クエリ画像ベクトル化処理部32でベクトル化した値(特徴ベクトル)に基づいて,登録画像管理システム2における登録画像特徴ベクトル記憶部24を参照し,各登録画像との類似度を特定する。「類似度」とは,登録画像の特徴ベクトルと,クエリ画像の特徴ベクトルとが一致する程度であり,類似度が高いと2つの画像の類似性が高いと判定できる。   The query image feature vector search processing unit 33 refers to the registered image feature vector storage unit 24 in the registered image management system 2 on the basis of the value (feature vector) vectorized by the query image vectorization processing unit 32, and registers each registered image. The similarity is specified. The “similarity” is the degree that the feature vector of the registered image matches the feature vector of the query image. If the similarity is high, it can be determined that the similarity between the two images is high.

クエリ画像属性データ入力受付処理部34は,クエリ画像に類似する登録画像の検索のため,絞込条件として用いる属性データがある場合に,その属性データの入力を受け付ける。   The query image attribute data input acceptance processing unit 34 accepts input of attribute data when there is attribute data used as a narrowing condition for searching for a registered image similar to the query image.

クエリ画像属性データエンコード処理部35は,クエリ画像属性データ入力受付処理部34で入力を受け付けた属性データをエンコード(バイナリーデータとしてビット列化)する。   The query image attribute data encoding processing unit 35 encodes the attribute data received by the query image attribute data input reception processing unit 34 (converted into a bit string as binary data).

クエリ画像属性データ検索処理部36は,クエリ画像属性データエンコード処理部35でエンコードされた属性データに基づいて,登録画像管理システム2における登録画像属性データ記憶部27を参照し,一致する登録画像のIDを特定する。   The query image attribute data search processing unit 36 refers to the registered image attribute data storage unit 27 in the registered image management system 2 based on the attribute data encoded by the query image attribute data encoding processing unit 35, and searches for the matching registered image. Specify the ID.

検索結果出力処理部37は,クエリ画像属性データ検索処理部36で検索して抽出した登録画像と,クエリ画像特徴ベクトル検索処理部33で検索して特定した各登録画像の類似度とに基づいて,検索結果として出力する登録画像を特定する。たとえば,クエリ画像特徴ベクトル検索処理部33における処理の結果,クエリ画像と,各登録画像との類似度が特定されているので,クエリ画像属性データ検索処理部36で特定した,属性データを充足していない登録画像の類似度を「0」に変更し,類似度をソートする。そして類似度が高い登録画像のIDを順に,検索結果として出力する。   The search result output processing unit 37 is based on the registered image searched and extracted by the query image attribute data search processing unit 36 and the similarity of each registered image searched and specified by the query image feature vector search processing unit 33. , The registered image to be output as the search result is specified. For example, as a result of the processing in the query image feature vector search processing unit 33, the similarity between the query image and each registered image is specified. Therefore, the attribute data specified by the query image attribute data search processing unit 36 is satisfied. The similarity of registered images that are not registered is changed to “0”, and the similarities are sorted. Then, the IDs of registered images having a high degree of similarity are sequentially output as search results.

管理者用端末4は,本発明における登録画像管理システム2で記憶させる登録画像の管理を行う管理者が利用するコンピュータである。   The administrator terminal 4 is a computer used by an administrator who manages registered images stored in the registered image management system 2 according to the present invention.

利用者用端末5は,本発明における類似画像検索システム1で類似する画像の検索を所望する利用者が用いるコンピュータである。また検索のほか,管理者と同様に,登録画像の登録処理を行えても良い。   The user terminal 5 is a computer used by a user who desires to search for similar images in the similar image search system 1 of the present invention. In addition to searching, registration processing of registered images may be performed in the same manner as the administrator.

本発明の類似画像検索システム1におけるデータ構造の概念を模式的に示す模式図を図8に示す。図8における配列I[]は各登録画像を識別するIDを記憶している。配列V[][]は,各登録画像の特徴量を固定長ベクトル化した値である特徴ベクトルを記憶する。配列A[][]は,各登録画像に対応づけられたエンコードした属性データの値(2進数)を記憶する。配列Q[]は,クエリ画像の特徴ベクトルである。配列C[]は,クエリ画像に対応づけられたエンコードした属性データである。   A schematic diagram schematically showing the concept of the data structure in the similar image search system 1 of the present invention is shown in FIG. An array I [] in FIG. 8 stores an ID for identifying each registered image. The array V [] [] stores a feature vector that is a value obtained by converting the feature amount of each registered image into a fixed length vector. The array A [] [] stores the value (binary number) of encoded attribute data associated with each registered image. The array Q [] is a feature vector of the query image. The array C [] is encoded attribute data associated with the query image.

配列B[]は,バウンダリー情報であって,各絞込条件としての属性データの境界を示す。たとえば,図8の場合,B[]には値として「1」,「1」,「2」,「2」,「3」が入っている。この場合,属性の種類は3種類であり,1番目の属性の値を1バイト目と2バイト目に,2番目の属性の値を3バイト目と4バイト目に,3番目の属性の値を5バイト目に記憶させていることを示している。そのため,図8のB[]では,3つの種類の属性データが用いられていることを示している。   The array B [] is boundary information and indicates the boundary of attribute data as each narrowing-down condition. For example, in the case of FIG. 8, B [] contains “1”, “1”, “2”, “2”, “3” as values. In this case, there are three types of attributes: the value of the first attribute is the first and second bytes, the value of the second attribute is the third and fourth bytes, and the value of the third attribute Is stored in the fifth byte. Therefore, B [] in FIG. 8 indicates that three types of attribute data are used.

また,属性データ1には16ビット(2バイト),属性データ2には16ビット(2バイト),属性データ3には8ビット(1バイト)が,絞込条件として用いる属性データのバイナリーデータのビット列として用いられていることを示している。   The attribute data 1 has 16 bits (2 bytes), the attribute data 2 has 16 bits (2 bytes), the attribute data 3 has 8 bits (1 byte). It is used as a bit string.

図18に,絞込条件としての属性データを用いた絞込処理の概念図の一例を模式的に示す。図18では,絞込条件として3種類の属性データを用いる場合であり,属性データ1が「自治体名」,属性データ2が「植物名」,属性データ3が「生育状態」である場合を示す。自治体数として700,植物名として20種類,生育状態として5段階を設定したとする。そうすると,1自治体に1ビットを割り付けると属性データ1「自治体名」には700ビット必要となることから88バイト(704ビット)が割り当てられる。また,1植物名に1ビットを割り付けると属性データ2「植物名」には24ビット必要となることから3バイト(24ビット)が割り当てられる。同様に,それぞれの生育状態に1ビットを割り付けると属性データ3「生育状態」には5ビット必要となることから1バイト(8ビット)が割り当てられる。   FIG. 18 schematically shows an example of a conceptual diagram of a narrowing process using attribute data as a narrowing condition. FIG. 18 shows a case where three types of attribute data are used as the narrowing-down conditions, where attribute data 1 is “local name”, attribute data 2 is “plant name”, and attribute data 3 is “growth state”. . Assume that the number of local governments is 700, the plant names are 20 types, and the growth state is 5 stages. Then, if 1 bit is assigned to one local government, 700 bytes are required for the attribute data 1 “local name”, so 88 bytes (704 bits) are assigned. If 1 bit is assigned to one plant name, 24 bits are required for the attribute data 2 “plant name”, so 3 bytes (24 bits) are assigned. Similarly, if 1 bit is assigned to each growth state, 5 bits are required for the attribute data 3 “growth state”, so 1 byte (8 bits) is assigned.

したがって,属性データのビット列のうち,バウンダリー情報を示すB[]には先頭1バイト目から88バイト目までは属性データ1を示す「1」が,89バイト目から91バイト目までは属性データ2を示す「2」が,92バイト目は属性データ3を示す「3」が記憶されていることとなる。   Therefore, in the bit string of attribute data, B [] indicating the boundary information is “1” indicating attribute data 1 from the first byte to the 88th byte, and attribute data 2 from the 89th byte to the 91st byte. “2” indicating “3”, and “3” indicating attribute data 3 is stored in the 92nd byte.

さらに,登録画像の属性データを示すA[][i]には,1バイト目から88バイト目までのビット列には自治体名を示すビット列が,89バイト目から91バイト目までのビット列には植物名を示すビット列が,92バイト目のビット列には生育状態を示すビット列が記憶されている。このように,A[][i]には92バイトのビット列が記憶されることとなる。   Furthermore, A [] [i] indicating the attribute data of the registered image includes a bit string indicating the local government name in the bit string from the first byte to the 88th byte, and a plant in the bit string from the 89th byte to the 91st byte. A bit string indicating a name is stored, and a bit string indicating a growing state is stored in the bit string of the 92nd byte. Thus, a 92-byte bit string is stored in A [] [i].

A[][i]には単に「0」または「1」のビット列が代入されているだけなので,先頭の1ビットからどこまでのビットが属性データ1か,どこからどこまでのビットが属性データ2や属性データ3か,を特定することができない。そのため,B[]を参照することで,1バイト目(先頭の1ビット)から88バイト目(先頭から704ビット目)までが属性データ1,89バイト目(先頭から705ビット目)から91バイト目(先頭から728ビット目)までが属性データ2,92バイト目(先頭から729ビット目から736ビット目)までが属性データ3を示していることを特定することができる。   Since A [] [i] is simply assigned a bit string of “0” or “1”, the bit from the first bit to where is attribute data 1 and the bit from where is attribute data 2 or attribute. Data 3 cannot be specified. Therefore, by referring to B [], the first byte (first bit) to the 88th byte (704th bit from the first) is attribute data from the first 89th byte (705th bit from the first) to 91 bytes. It can be specified that the attribute data from the first bit (728th bit to the 728th bit) indicates the attribute data 2 and the 92nd byte (from the 729th bit to the 736th bit) indicates the attribute data 3.

後述するクエリ画像属性データ検索処理部36における,絞込条件としての属性データC[]と,登録画像に対応する属性データA[][i]とを用いた絞込処理の際に,属性データ1の絞込条件として,C[]の先頭の1ビット目から704ビット目までのビット列と,A[][i]の先頭の1ビット目から704ビット目までの論理演算を行い,属性データ2の絞込条件としてC[]の先頭から705ビット目から728ビット目までのビット列と,A[][i]の先頭から705ビット目から728ビット目までのビット列までの論理演算を行い,属性データ3の絞込条件としてC[]の先頭から729ビット目から736ビット目までのビット列と,A[][i]の先頭から729ビット目から736ビット目までのビット列までの論理演算を行うことで,それぞれ絞込処理を実行することができる。ここでは,属性情報A[][i]と絞込条件C[]のビットの配置をそろえておき,各属性をバイト単位で割り付けることで,絞込の操作をバイト単位の論理演算命令(あるいはバイトを超える大きな単位でも良い)によって演算できることを利用して,高速演算を実現する。   At the time of narrowing-down processing using attribute data C [] as a narrowing condition and attribute data A [] [i] corresponding to a registered image in a query image attribute data search processing unit 36 to be described later, attribute data As a narrowing-down condition for 1, the bit string from the first bit to the 704th bit of C [] and the logical operation from the first bit to the 704th bit of A [] [i] are performed, and the attribute data As a filtering condition of 2, a logical operation is performed from the bit string from the 705th bit to the 728th bit from the beginning of C [] and the bit string from the 705th bit to the 728th bit from the beginning of A [] [i] As a filtering condition for attribute data 3, the bit string from the 729th bit to the 736th bit from the beginning of C [] and the bit string from the 729th bit to the 736th bit from the beginning of A [] [i] By performing the management operations can execute narrow-down process, respectively. Here, the bit arrangement of the attribute information A [] [i] and the narrowing condition C [] is aligned, and each attribute is assigned in byte units, so that the narrowing operation is performed by a logical operation instruction (or byte unit) (or High-speed computation is realized by using the fact that computation can be performed by a large unit exceeding bytes).

このように,絞込条件としての属性データは,バイナリーデータとしてのビット列が記憶されているだけであるので,その境界がわからないと,どこまでを一単位の属性データとして処理をしたら良いのか,特定することができない。しかしB[]で各属性データの境界を管理することによって,属性データのデータ領域を動的に管理することができる。そのため,管理者が管理したい画像の内容や種類などによって,絞込条件として用いる属性データの種類を変更することが可能となる。   In this way, the attribute data as the filtering condition is only a bit string stored as binary data, so if you do not know the boundary, specify how far to process as one unit of attribute data I can't. However, by managing the boundary of each attribute data with B [], the data area of the attribute data can be managed dynamically. Therefore, the type of attribute data used as a narrowing condition can be changed according to the content and type of the image that the administrator wants to manage.

配列R[]は,クエリ画像の特徴ベクトル(Q[j])と,登録画像の特徴ベクトル(V[j][i])との類似度を記憶する。本明細書では特徴量として,Histogram intersectionを用いるので,類似度は,後述のS260のように,
R[i]=R[i]+min(Q[j],V[j][i])
として算出することができるが,それ以外にも,L1距離,L2距離などを用いることもできる。
The array R [] stores the similarity between the feature vector (Q [j]) of the query image and the feature vector (V [j] [i]) of the registered image. In this specification, Histogram intersection is used as the feature quantity, so the similarity is as in S260 described later.
R [i] = R [i] + min (Q [j], V [j] [i])
In addition, L1 distance, L2 distance, etc. can also be used.

類似度としてL1距離を用いる場合には,
R[i]=R[i]+|Q[j]−V[j][i]|
のように算出することができる。
また,類似度としてL2距離を用いる場合には,
R[i]=R[i]+(Q[j]−V[j][i])
のように算出することができる。
When using the L1 distance as the similarity,
R [i] = R [i] + | Q [j] -V [j] [i] |
It can be calculated as follows.
When the L2 distance is used as the similarity,
R [i] = R [i] + (Q [j] −V [j] [i]) 2
It can be calculated as follows.

配列P[]は,属性単位の絞込の途中状態と結果を格納する。すなわち,P[]は,C[]に記憶された属性データの値とA[][]に記憶された属性データの値とに基づいて,論理演算子ORについて演算したレジスタである。たとえば属性データとして,「自治体名」,「生物名」,「生育状態」が設けられているとき,各属性データは「AND」の論理演算子で結ばれる。一方,属性データ「自治体」について,利用者は複数の自治体名,たとえば「A市」,「B市」,「C町」を絞込条件として設定できる。この絞込条件としての属性データの一例を図10に示す。したがって,絞込条件として用いた属性データが図10の場合,属性データの単位である「自治体名」に,「A市」,「B市」,「C町」が論理演算子ORでつながっているので,A[][]の属性データ「自治体名」に,「A市」,「B市」,「C町」のいずれかが含まれているかを検索し,その検索結果として,含まれている場合には「1」を,含まれていない場合には「0」として記憶される。   The array P [] stores the intermediate state and result of narrowing down attribute units. In other words, P [] is a register that operates on the logical operator OR based on the value of attribute data stored in C [] and the value of attribute data stored in A [] []. For example, when “local government name”, “organism name”, and “growth state” are provided as attribute data, each attribute data is connected by a logical operator “AND”. On the other hand, with respect to the attribute data “local government”, the user can set a plurality of local government names, for example, “A city”, “B city”, and “C town” as narrowing conditions. An example of attribute data as the narrowing condition is shown in FIG. Therefore, when the attribute data used as the narrowing-down condition is as shown in FIG. 10, “A city”, “B city”, and “C town” are connected by the logical operator OR to the “local name” which is the unit of the attribute data. Therefore, a search is made as to whether any of “A city”, “B city”, and “C town” is included in the attribute data “municipal name” of A [] []. “1” is stored when the ID is included, and “0” is stored when the ID is not included.

配列N[]は,属性データによる絞込処理の絞込の途中状態と結果を格納する。すなわち,C[]に記憶された属性データの値(2進数)とA[][]に記憶された属性データの値(2進数)とに基づいて,論理演算子ANDについて演算したレジスタである。たとえば絞込条件として用いた属性データが図10の場合,属性データ「自治体名」に「A市」,「B市」,「C町」のいずれかが含まれており,属性データ「生物名」として「イネ」が含まれており,属性データ「生育状態」に「D」,「E」のいずれかが含まれている場合に,その検索結果として,含まれている場合には「1」を,含まれていない場合には「0」として記憶される。   The array N [] stores the status and result of narrowing down the narrowing processing based on attribute data. In other words, this is a register that operates on the logical operator AND based on the value of the attribute data (binary number) stored in C [] and the value of the attribute data (binary number) stored in A [] []. . For example, when the attribute data used as the narrowing-down condition is FIG. 10, the attribute data “city name” includes any one of “A city”, “B city”, and “C town”. "Rice" is included as the search result, and "D" or "E" is included in the attribute data "growth state", the search result includes "1" "Is not stored, it is stored as" 0 ".

つぎに本発明の類似画像検索システム1の代表的な処理プロセスの一例を,図3乃至図5に示す。また図8の類似画像検索システム1の処理の概念を,以下の説明のわかりやすさのため簡易化した概念図を図9に示す。以下の説明では図9を用いる。なお,説明の都合上,あらかじめ登録画像管理システム2の各機能において,登録画像は,画像の特徴量が固定長ベクトル化された値で,登録画像特徴ベクトル記憶部24に記憶されていることとする。また,登録画像に対応する属性データはエンコードされ,バイナリーデータであるビット列として,登録画像属性データ記憶部27に記憶されている。これらの操作は管理者用端末4または利用者用端末5からなされている。   Next, an example of a typical processing process of the similar image retrieval system 1 of the present invention is shown in FIGS. FIG. 9 is a conceptual diagram obtained by simplifying the processing concept of the similar image retrieval system 1 of FIG. In the following description, FIG. 9 is used. For convenience of explanation, in each function of the registered image management system 2, the registered image is stored in the registered image feature vector storage unit 24 as a value obtained by converting the feature amount of the image into a fixed length vector. To do. The attribute data corresponding to the registered image is encoded and stored in the registered image attribute data storage unit 27 as a bit string that is binary data. These operations are performed from the administrator terminal 4 or the user terminal 5.

図9では登録画像数が5であり,特徴量は4つの固定長ベクトルで表現されている。また,絞込条件となる属性データは2つであり,2つの属性データは,それぞれ1バイト(8ビット)である場合を示している。   In FIG. 9, the number of registered images is 5, and the feature amount is expressed by four fixed length vectors. In addition, there are two attribute data as a narrowing condition, and the two attribute data are each 1 byte (8 bits).

具体的には,管理者は,管理者用端末4を操作することで登録画像を登録画像管理システム2に読み込ませる。そして登録画像入力受付処理部20でその登録画像の入力を受け付ける。この際にその登録画像に対応するID(図9のI[i])を付す。登録画像入力受付処理部20で入力を受け付けると,登録画像特徴量抽出処理部21が,入力を受け付けた登録画像の特徴量を抽出し,登録画像ベクトル化処理部22がベクトル化した値を算出して,登録画像登録処理部に登録させる。この値は,図9におけるV[j][i]に値が記憶される。   Specifically, the administrator operates the administrator terminal 4 to cause the registered image management system 2 to read the registered image. The registered image input acceptance processing unit 20 accepts input of the registered image. At this time, an ID (I [i] in FIG. 9) corresponding to the registered image is attached. When the registered image input acceptance processing unit 20 accepts an input, the registered image feature amount extraction processing unit 21 extracts the feature amount of the registered image that has received the input, and the registered image vectorization processing unit 22 calculates a vectorized value. Then, it is registered in the registered image registration processing unit. This value is stored in V [j] [i] in FIG.

また,その登録画像に絞込条件としての属性データがある場合には,管理者用端末4を操作することで登録画像に対応する属性データを登録画像管理システム2に入力し,その入力を登録画像属性データ入力受付処理部25で入力を受け付ける。そしてその属性データを,登録画像属性データエンコード処理部26がエンコードされた値(バイナリーデータのビット列)を算出する。そして算出された値が登録画像属性データ記憶部27に記憶される。この値は,図9におけるA[k][i]に値が記憶される。なお,図9では見やすさのため,ビット列ではなく10進数表記がされているが,実際には,バイナリーデータのビット列が記憶されている。   If the registered image has attribute data as a narrowing condition, the attribute data corresponding to the registered image is input to the registered image management system 2 by operating the administrator terminal 4, and the input is registered. The image attribute data input acceptance processing unit 25 accepts input. Then, a value (bit string of binary data) encoded by the registered image attribute data encoding processing unit 26 is calculated from the attribute data. The calculated value is stored in the registered image attribute data storage unit 27. This value is stored in A [k] [i] in FIG. In FIG. 9, for ease of viewing, decimal numbers are used instead of bit strings, but actually, bit strings of binary data are stored.

I[i],V[j][i],A[k][i]はそれぞれ対応して記憶されている。   I [i], V [j] [i], and A [k] [i] are stored correspondingly.

なお,登録画像と属性データの入力操作は同時に行われることが好ましいが,別々のタイミングで行われても良い。その場合,いずれが先に入力されても良い。   Note that the registration image and attribute data input operations are preferably performed simultaneously, but may be performed at different timings. In that case, either may be input first.

なお,図8および図9では,行方向および列方向を通常とは逆に(つまり通常の行方向を列方向に,通常の列方向を行方向にした状態)示している。そのため,たとえばV[j][i]のうち,jは横方向に,iは縦方向に表現されていることとなる。これは,最後の添字がインクリメントされるとメモリ上では通常,その直後に配置されアクセスが早いこと,そのため後述するS260などの内側のループでは,最後の添字が1から登録画像数まで変わるようにすると最高速で実行できるためである。一方,図8および図9では,特徴ベクトルを横長に表現し,多量の登録画像の特徴ベクトルを縦方向に配置したほうがわかりやすいことから,V[x][y]のxは特徴ベクトルの次元数,yは登録画像数に対応させている。また内側のループの制御変数は後述するようにiを用いて処理をしたいこと,などからの理由による。これらは一般的な場合であって,実際に各種のコンピュータシステムで実現する際には,利用するコンパイラが配列をどのようにメモリ上に配置するかにしたがって,添字の順を代える必要がある場合もある。   8 and 9, the row direction and the column direction are shown opposite to the normal direction (that is, the normal row direction is the column direction and the normal column direction is the row direction). Therefore, for example, in V [j] [i], j is expressed in the horizontal direction and i is expressed in the vertical direction. This is because when the last subscript is incremented, the memory is usually arranged immediately after that and access is fast, so that in the inner loop such as S260 described later, the last subscript changes from 1 to the number of registered images. This is because it can be executed at the highest speed. On the other hand, in FIG. 8 and FIG. 9, since it is easier to understand that the feature vector is represented horizontally and the feature vectors of a large number of registered images are arranged in the vertical direction, x in V [x] [y] is the dimension number of the feature vector. , Y correspond to the number of registered images. The control variable of the inner loop is because it is desired to process using i as will be described later. These are general cases, and when implemented on various computer systems, it is necessary to change the order of the subscripts according to how the compiler to be used arranges the arrays in the memory. There is also.

以上の図9のように,配列I[],V[],A[],B[]に値が記憶されている場合に,類似する画像を登録画像から検索することを所望する利用者は,利用者用端末5から所定の操作を行うことで類似画像検索システム1にアクセスし,クエリ画像を検索処理システム3に入力する。そして利用者用端末5から入力されたクエリ画像は,クエリ画像入力受付処理部30で入力を受け付ける(S100)。   As shown in FIG. 9, when values are stored in the arrays I [], V [], A [], B [], a user who desires to search for a similar image from registered images The similar image search system 1 is accessed by performing a predetermined operation from the user terminal 5, and the query image is input to the search processing system 3. The query image input from the user terminal 5 is input by the query image input reception processing unit 30 (S100).

また,そのクエリ画像に対応する属性データを,検索処理システム3に入力する。そして利用者用端末5から入力された属性データは,クエリ画像属性データ入力受付処理部34で入力を受け付ける(S100)。なお,属性データがない場合にはその入力処理,後述の絞込処理は不要となる。   Also, attribute data corresponding to the query image is input to the search processing system 3. The attribute data input from the user terminal 5 is input by the query image attribute data input reception processing unit 34 (S100). If there is no attribute data, the input process and the narrowing process described later are not necessary.

クエリ画像入力受付処理部30でクエリ画像の入力を受け付けると,類似画像の検索処理を実行する(S200)。   When the query image input acceptance processing unit 30 accepts an input of a query image, a similar image search process is executed (S200).

まずクエリ画像入力受付処理部30でクエリ画像の入力を受け付けると,クエリ画像特徴量抽出処理部31は,入力を受け付けたクエリ画像から特徴量を抽出する。そしてクエリ画像ベクトル化処理部32は,クエリ画像特徴量抽出処理部31で抽出した特徴量をベクトル化(好ましくは固定長ベクトル化)することで,特徴ベクトルQ[j](図9)を算出する(S210)。この結果,特徴ベクトルQ[]の値が図11のように,「2」,「0」,「3」,「5」であったとする。   First, when the query image input reception processing unit 30 receives an input of a query image, the query image feature amount extraction processing unit 31 extracts a feature amount from the query image that has received the input. Then, the query image vectorization processing unit 32 calculates the feature vector Q [j] (FIG. 9) by vectorizing the feature amount extracted by the query image feature amount extraction processing unit 31 (preferably, making it a fixed length vector). (S210). As a result, it is assumed that the value of the feature vector Q [] is “2”, “0”, “3”, “5” as shown in FIG.

つぎに,クエリ画像特徴ベクトル検索処理部33は,クエリ画像と各登録画像の類似度を示すR[i](図9)の値を初期化(たとえば「0」を代入する)する(S220)。なお,iは登録されている画像の識別情報を示している。図9では,最初の画像は1,2番目に登録された画像が2,最後に登録された画像が5となるように,登録順に識別情報が付されている場合を示している。初期化した類似度R[]の値を図12に模式的に示す。   Next, the query image feature vector search processing unit 33 initializes the value of R [i] (FIG. 9) indicating the similarity between the query image and each registered image (for example, substitutes “0”) (S220). . Note that i indicates identification information of a registered image. FIG. 9 shows a case where identification information is given in the order of registration so that the first image is 1, the second registered image is 2, and the last registered image is 5. FIG. 12 schematically shows the initialized similarity R [] value.

そしてクエリ画像特徴ベクトル検索処理部33は,クエリ画像ベクトル化処理部32で算出した特徴ベクトルQ[j]と,登録画像特徴ベクトル記憶部24に記憶する各登録画像の特徴ベクトルV[j][i](図9における特徴ベクトルV[j][i]の一例を図13に示す)とをマッチングし,類似度をR[i]に記憶させる。   The query image feature vector search processing unit 33 then calculates the feature vector Q [j] calculated by the query image vectorization processing unit 32 and the feature vector V [j] [ i] (an example of the feature vector V [j] [i] in FIG. 9 is shown in FIG. 13), and the similarity is stored in R [i].

具体的には,特徴ベクトルQ[]のすべてについて,S240〜S260の処理を反復実行する(S230)。なお,Q[]の値が「0」については特徴量がないことを示すのでその処理については次のQ[]の要素の処理に移る(S250)。そしてQ[]の値が「0」ではない場合,V[j][]の要素(添字i)について,
R[i]=R[i]+min(Q[j],V[j][i])
を実行する(S260)。
Specifically, the processing of S240 to S260 is repeatedly executed for all feature vectors Q [] (S230). Note that when the value of Q [] is "0", it indicates that there is no feature amount, so that the processing moves to the processing of the next element of Q [] (S250). If the value of Q [] is not "0", the element (subscript i) of V [j] []
R [i] = R [i] + min (Q [j], V [j] [i])
Is executed (S260).

以上の処理をすべてのQ[]について実行することで,クエリ画像と登録画像との類似度を特定することができる。   By executing the above process for all Q [], the similarity between the query image and the registered image can be specified.

この処理を図9を用いて説明すると,Q[]には要素として「2」,「0」,「3」,「5」が代入されており,iの最大値は5,jの最大値は4である(配列の添字の初期値は1とする)。   This processing will be described with reference to FIG. 9. “2”, “0”, “3”, and “5” are assigned to Q [] as elements, and the maximum value of i is 5 and the maximum value of j Is 4 (the initial value of the array index is 1).

j=1のとき,Q[1]=「2」であるので(S250),i=1〜5のそれぞれについて,S260の処理を実行する。すなわち,
R[1]=R[1]+min(Q[1],V[1][1])
R[2]=R[2]+min(Q[1],V[1][2])
R[3]=R[3]+min(Q[1],V[1][3])
R[4]=R[4]+min(Q[1],V[1][4])
R[5]=R[5]+min(Q[1],V[1][5])
を実行する。
When j = 1, since Q [1] = “2” (S250), the process of S260 is executed for each of i = 1 to 5. That is,
R [1] = R [1] + min (Q [1], V [1] [1])
R [2] = R [2] + min (Q [1], V [1] [2])
R [3] = R [3] + min (Q [1], V [1] [3])
R [4] = R [4] + min (Q [1], V [1] [4])
R [5] = R [5] + min (Q [1], V [1] [5])
Execute.

そうするとR[1]〜R[5]はいずれも初期値「0」,V[1][1]〜V[1][5]はそれぞれ「2」,「0」,「7」,「1」,「2」であるので,S260の処理の結果,R[1]〜R[5]の値は「2」,「0」,「2」,「1」,「2」となる。この処理を模式的に示すのが,図14である。   Then, R [1] to R [5] are all initial values “0”, and V [1] [1] to V [1] [5] are “2”, “0”, “7”, “1”, respectively. ”And“ 2 ”, the values of R [1] to R [5] are“ 2 ”,“ 0 ”,“ 2 ”,“ 1 ”, and“ 2 ”as a result of the process of S260. FIG. 14 schematically shows this processing.

すべてのiについてS260の処理を実行したので,j=1について処理を終了し,jの値をインクリメントし,j=2とする(S230)。   Since the process of S260 has been executed for all i, the process is terminated for j = 1, the value of j is incremented, and j = 2 is set (S230).

j=2のとき,Q[2]=「0」なので(S250),S260の処理は実行せずに,jの値をインクリメントし,j=3とする(S230)。   When j = 2, since Q [2] = “0” (S250), the process of S260 is not executed, and the value of j is incremented to j = 3 (S230).

j=3のとき,Q[3]=「3」であるので(S250),i=1〜5のそれぞれについて,S260の処理を実行する。すなわち,
R[1]=R[1]+min(Q[3],V[3][1])
R[2]=R[2]+min(Q[3],V[3][2])
R[3]=R[3]+min(Q[3],V[3][3])
R[4]=R[4]+min(Q[3],V[3][4])
R[5]=R[5]+min(Q[3],V[3][5])
を実行する。
Since Q [3] = “3” when j = 3 (S250), the process of S260 is executed for each of i = 1 to 5. That is,
R [1] = R [1] + min (Q [3], V [3] [1])
R [2] = R [2] + min (Q [3], V [3] [2])
R [3] = R [3] + min (Q [3], V [3] [3])
R [4] = R [4] + min (Q [3], V [3] [4])
R [5] = R [5] + min (Q [3], V [3] [5])
Execute.

S260の処理前のR[1]〜R[5]は「2」,「0」,「2」,「1」,「2」,V[3][1]〜V[3][5]はそれぞれ「0」,「6」,「2」,「0」,「2」であるので,S260の処理の結果,R[1]〜R[5]の値は「2」,「3」,「4」,「1」,「4」となる。この処理を模式的に示すのが,図15である。   R [1] to R [5] before the processing of S260 are “2”, “0”, “2”, “1”, “2”, V [3] [1] to V [3] [5]. Are “0”, “6”, “2”, “0”, and “2”, respectively, so that the values of R [1] to R [5] are “2” and “3” as a result of the processing of S260. , “4”, “1”, “4”. FIG. 15 schematically shows this processing.

すべてのiについてS260の処理を実行したので,j=3について処理を終了し,jの値をインクリメントし,j=4とする(S230)。   Since the process of S260 has been executed for all i, the process is terminated for j = 3, the value of j is incremented, and j = 4 is set (S230).

j=4のとき,Q[4]=「5」であるので(S250),i=1〜5のそれぞれについて,S260の処理を実行する。すなわち,
R[1]=R[1]+min(Q[4],V[4][1])
R[2]=R[2]+min(Q[4],V[4][2])
R[3]=R[3]+min(Q[4],V[4][3])
R[4]=R[4]+min(Q[4],V[4][4])
R[5]=R[5]+min(Q[4],V[4][5])
を実行する。
Since Q [4] = “5” when j = 4 (S250), the process of S260 is executed for each of i = 1 to 5. That is,
R [1] = R [1] + min (Q [4], V [4] [1])
R [2] = R [2] + min (Q [4], V [4] [2])
R [3] = R [3] + min (Q [4], V [4] [3])
R [4] = R [4] + min (Q [4], V [4] [4])
R [5] = R [5] + min (Q [4], V [4] [5])
Execute.

S260の処理前のR[1]〜R[5]は「2」,「3」,「4」,「1」,「4」V[4][1]〜V[4][5]はそれぞれ「4」,「1」,「0」,「2」,「1」であるので,S260の処理の結果,R[1]〜R[5]の値は「6」,「4」,「4」,「3」,「5」となる。この処理を模式的に示すのが,図16である。   R [1] to R [5] before the processing of S260 are “2”, “3”, “4”, “1”, “4” V [4] [1] to V [4] [5] Since they are “4”, “1”, “0”, “2”, and “1”, respectively, the values of R [1] to R [5] are “6”, “4”, “4”, “3”, “5”. This process is schematically shown in FIG.

以上の処理を実行することで,jが最大値4の場合についても処理を実行したので,S230〜S260の処理を終了し(S240),S270以降の処理を実行する。そして,クエリ画像属性データ入力受付処理部34では絞込条件としての属性データの入力を受け付けているので(S270),クエリ画像属性データ検索処理における絞込条件での絞込処理を実行する(S280)。   By executing the above processing, the processing is executed even when j is the maximum value 4, so the processing of S230 to S260 is terminated (S240), and the processing after S270 is executed. Since the query image attribute data input acceptance processing unit 34 accepts input of attribute data as a refinement condition (S270), a refinement process with the refinement condition in the query image attribute data search process is executed (S280). ).

絞込処理の概念を図17を用いて説明する。まずクエリ画像属性データエンコード処理部35は,クエリ画像属性データ入力受付処理部34で入力を受け付けた絞込条件としての属性データをエンコード(2進数化)し,絞込条件コードC[]にその値(2進数)を記憶させる(S400)。図9ではC[]にそれぞれ「1」,「3」が値(2進数)として記憶されている場合を示しているので,C[1]=「00000001」,C[2]=「00000011」となる。なお,A[][]も図9に対応するバイナリーデータのビット列(2進数)が記憶されている。なおここで絞込条件1は「属性1のbit1=YES」を示し,絞込条件2は「属性2のbit1またはbit2=YES」であることを示している。   The concept of the narrowing process will be described with reference to FIG. First, the query image attribute data encoding processing unit 35 encodes (binarizes) the attribute data as the narrowing condition received by the query image attribute data input reception processing unit 34, and the narrowed down condition code C [] The value (binary number) is stored (S400). Since FIG. 9 shows a case where “1” and “3” are stored as values (binary numbers) in C [], respectively, C [1] = “00000001”, C [2] = “00000011” It becomes. Note that A [] [] also stores a bit string (binary number) of binary data corresponding to FIG. Here, the narrowing condition 1 indicates “bit 1 of attribute 1 = YES”, and the narrowing condition 2 indicates “bit 1 or bit 2 of attribute 2 = YES”.

つぎにクエリ画像属性データ検索処理部36は,配列N[],P[]を初期化し,配列N[]には「1」を,P[]には「0」を代入する(S410)。   Next, the query image attribute data search processing unit 36 initializes the arrays N [] and P [], and substitutes “1” for the array N [] and “0” for P [] (S 410).

そしてクエリ画像属性データ検索処理部36は,配列C[]の要素について,S430以降の処理を反復し実行することで,絞込条件に該当する各登録画像の属性データがあるかを検索する(S420)。   Then, the query image attribute data search processing unit 36 repeats and executes the processes after S430 for the elements of the array C [], thereby searching for attribute data of each registered image corresponding to the narrowing-down conditions ( S420).

具体的には,図17の場合,配列C[]について属性データの種類は2であるので,添字kの最大値は2となる。まずk=1では,すべてのkについて処理を終了していないので(S430),S440の判定処理を実行する。そして,バウンダリー情報の配列であるB[1]を参照すると,新しい属性データに対する処理ではないので(属性1の処理であるので),そのままS450の処理を実行する。   Specifically, in the case of FIG. 17, since the type of attribute data is 2 for the array C [], the maximum value of the subscript k is 2. First, when k = 1, since the process is not completed for all k (S430), the determination process of S440 is executed. Then, referring to B [1], which is an array of boundary information, is not a process for new attribute data (since it is an attribute 1 process), the process of S450 is executed as it is.

具体的にはC[1]のビット列がすべて1であるか,すなわち,「11111111」であるかを判定する(S450)。図17の場合,C[1]=「00000001」なので,C[1]のビット列がすべて0であるか,すなわち「00000000」であるかを判定する(S460)。図17の場合,C[1]=「00000001」なので,A[1][]の要素である添字iについて,i=1〜5について,
P[i]=P[i] OR (C[1] AND A[1][i])
の処理を実行する(S470)。
Specifically, it is determined whether all the bit strings of C [1] are 1, that is, “11111111” (S450). In the case of FIG. 17, since C [1] = “00000001”, it is determined whether all the bit strings of C [1] are 0, that is, “00000000” (S460). In the case of FIG. 17, since C [1] = “00000001”, for subscript i, which is an element of A [1] [], for i = 1 to 5,
P [i] = P [i] OR (C [1] AND A [1] [i])
The process is executed (S470).

そうすると,i=1,3〜5についてはA[1][i]の値が「1(ビット1が「1(YES)」)」(00000001)なので,P[1],P[3]〜P[5]については「1」が記憶される。一方,i=2については,A[1][2]の値が「4(ビット1が「0(NO)」)」(00000100)なので,P[2]=0が記憶される。このときのP[]が図17である。   Then, for i = 1, 3 to 5, the value of A [1] [i] is “1 (bit 1 is“ 1 (YES) ”)” (00000001), so P [1], P [3] ˜ “1” is stored for P [5]. On the other hand, for i = 2, since the value of A [1] [2] is “4 (bit 1 is“ 0 (NO) ”)” (00000100), P [2] = 0 is stored. FIG. 17 shows P [] at this time.

k=1について,i=1〜5の全ての場合についてS470の処理を実行したので,kをインクリメントし,k=2となる(S420)。   For k = 1, since the process of S470 has been executed for all cases of i = 1 to 5, k is incremented and k = 2 is obtained (S420).

そしてk=2ではまだ処理が終了しないので(S430),B[2]が新しい属性かを判定する。すなわちバウンダリー情報の配列であるB[2]を参照すると,B[2]は新しい属性データ(属性2)に対する処理なので(S440),
N[]=N[] AND P[]
の演算を行う。
If k = 2, the process is not finished yet (S430), and it is determined whether B [2] is a new attribute. That is, referring to B [2], which is an array of boundary information, B [2] is processing for new attribute data (attribute 2) (S440).
N [] = N [] AND P []
Perform the operation.

すなわち,N[]については初期値としてi=1〜5のそれぞれに「1」が記憶されており,P[]についてはk=1のときの演算の結果,P[1],P[3]〜P[5]については「1」,P[2]については「0」が記憶されており,i=1〜5についてそれぞれN[]とP[]のANDを演算してN[]に代入することになるので,N[1],N[3]〜N[5]については「1」,N[2]については「0」が記憶されることとなる(S490)。   That is, “1” is stored in each of i = 1 to 5 as an initial value for N [], and P [1], P [3 is the result of calculation when k = 1 for P []. ] To P [5] are stored as “1”, and P [2] are stored as “0”. For i = 1 to 5, N [] and P [] are ANDed to calculate N []. Therefore, “1” is stored for N [1] and N [3] to N [5], and “0” is stored for N [2] (S490).

また,P[]を初期化するため,i=1〜5についてP[]=0を代入する(S490)。   Further, in order to initialize P [], P [] = 0 is substituted for i = 1 to 5 (S490).

つぎに,C[2]のビット列がすべて1であるか,すなわち,「11111111」であるかを判定する(S450)。図17の場合,C[2]=「00000011」なので,C[1]のビット列がすべて0であるか,すなわち「00000000」であるかを判定する(S460)。図17の場合,C[2]=「00000011」なので,A[2][]の要素である添字iについて,i=1〜5について,
P[i]=P[i] OR (C[2] AND A[2][i])
の処理を実行する(S470)。
Next, it is determined whether all the bit strings of C [2] are 1, that is, “11111111” (S450). In the case of FIG. 17, since C [2] = “00000011”, it is determined whether all the bit strings of C [1] are 0, that is, “00000000” (S460). In the case of FIG. 17, since C [2] = “00000011”, for the subscript i that is an element of A [2] [], for i = 1 to 5,
P [i] = P [i] OR (C [2] AND A [2] [i])
The process is executed (S470).

そうすると,
i=1のとき,P[1]=P[1] OR (C[2] AND A[2][1])
の演算をすることになるので,A[2][1]の値が「1(ビット1が「1(YES)」)」(00000001)であることから,P[1]=1が記憶される。
Then
When i = 1, P [1] = P [1] OR (C [2] AND A [2] [1])
Since the value of A [2] [1] is “1 (bit 1 is“ 1 (YES) ”)” (00000001), P [1] = 1 is stored. The

i=2のとき,P[2]=P[2] OR (C[2] AND A[2][2])
の演算をすることになるので,A[2][2]の値が「2(ビット2が「1(YES)」)」(00000010)であることから,P[2]=1が記憶される。
When i = 2, P [2] = P [2] OR (C [2] AND A [2] [2])
Since the value of A [2] [2] is “2 (bit 2 is“ 1 (YES) ”)” (00000010), P [2] = 1 is stored. The

i=3のとき,P[3]=P[3] OR (C[2] AND A[2][3])
の演算をすることになるので,A[2][3]の値が「4(ビット2が「0(NO)」)」(00000100)であることから,P[3]=0が記憶される。
When i = 3, P [3] = P [3] OR (C [2] AND A [2] [3])
Since the value of A [2] [3] is “4 (bit 2 is“ 0 (NO) ”)” (00000100), P [3] = 0 is stored. The

i=4,5のときもi=2と同様の演算を行い,P[4]=1,P[5]=1が記憶される。   When i = 4, 5, the same calculation as i = 2 is performed, and P [4] = 1, P [5] = 1 are stored.

以上のようにS470の処理をi=1〜5について演算を行うと,P[1],P[2],P[4],P[5]について「1」が,P[3]について「0」が記憶されることとなる。   As described above, when the processing of S470 is performed for i = 1 to 5, “1” for P [1], P [2], P [4], and P [5] and “ “0” is stored.

k=1について,i=1〜5の全ての場合についてS470の処理を実行したので,kをインクリメントし,k=3となる(S420)。   For k = 1, since the process of S470 has been executed for all cases of i = 1 to 5, k is incremented to k = 3 (S420).

そしてk=3ではすべての処理が終了したので(S430),
N[]=N[] AND P[]
の演算を行う(S500)。
Since all processing is completed at k = 3 (S430),
N [] = N [] AND P []
(S500).

そうすると,N[1],N[3]〜N[5]については「1」,N[2]については「0」が記憶されており,P[1],P[2],P[4],P[5]について「1」が,P[3]について「0」が記憶されていることから,これらのAND演算を行うと,N[1],N[4],N[5]には「1」が,N[2],N[3]については「0」が演算結果として代入されることとなり,これを最終的なN[]の出力結果とする(S500)。   Then, “1” is stored for N [1], N [3] to N [5], and “0” is stored for N [2]. P [1], P [2], P [4 ] And P [5] are stored as "1" and P [3] is stored as "0". Therefore, when these AND operations are performed, N [1], N [4], and N [5] "1" is substituted for N [2] and N [3], and "0" is substituted as the operation result, which is the final output result of N [] (S500).

以上のような処理を実行することで,絞込条件での絞込処理を実行することができる。   By executing the processing as described above, it is possible to execute the narrowing processing under the narrowing conditions.

S450において,C[k]の全ビットが「1」の場合,S470の処理でORの演算をしたとしても,P[]=1となることが明らかである。そうすると,S470における,
P[i]=P[i] OR (C[k] AND A[k][i])
の演算で,
C[k] AND A[k][i]
の演算をしても,結果は同じとなる。そのため,
C[k] AND A[k][i]
の演算を省略し,S480の演算として処理をした方が,一つ演算を選らすことができるので,処理の高速化につなげることができる。その点において,S450の処理の技術的意義があるが,S450の分岐処理は設けなくても良い。
In S450, when all the bits of C [k] are “1”, it is clear that P [] = 1 even if the OR operation is performed in S470. Then, in S470,
P [i] = P [i] OR (C [k] AND A [k] [i])
In the operation of
C [k] AND A [k] [i]
Even if the operation is performed, the result is the same. for that reason,
C [k] AND A [k] [i]
If one of the operations is omitted and the processing is performed as the operation of S480, one operation can be selected, so that the processing speed can be increased. In this respect, although there is a technical significance of the process of S450, the branch process of S450 may not be provided.

以上のようにして絞込処理を終了すると,検索結果出力処理部37は,R[]の要素であるi=1〜5について,
N[i]=0ならばR[i]=0
の反復処理を実行する(S290)。これは,絞込条件を充足していない登録画像の類似度R[i]を「0」にし,類似度を低くする処理を行う。なお,類似度を低くするとは,類似画像の検索処理で特定した類似度よりも低くすればよく,必ずしも類似度R[i]を「0」にしなくても良い。
When the narrowing-down process is completed as described above, the search result output processing unit 37 determines i = 1 to 5 that are elements of R [].
If N [i] = 0, then R [i] = 0
(S290). In this process, the similarity R [i] of a registered image that does not satisfy the narrowing condition is set to “0” and the similarity is lowered. It should be noted that lowering the similarity is only required to be lower than the similarity specified in the similar image search process, and the similarity R [i] does not necessarily have to be set to “0”.

図17の場合,i=1〜5についてR[i]には「6」,「4」,「4」,「3」,「5」が記憶されているが,N[1],N[4],N[5]には「1」が,N[2],N[3]については「0」が入っているので,i=2,3について,R[i]に「0」を代入する。その結果,i=1〜5について,R[i]には,「6」,「0」,「0」,「3」,「5」が代入されることとなる。   In the case of FIG. 17, “6”, “4”, “4”, “3”, “5” are stored in R [i] for i = 1 to 5, but N [1], N [ 4] and N [5] contain “1”, and N [2] and N [3] contain “0”. Therefore, for i = 2 and 3, R [i] is set to “0”. substitute. As a result, for i = 1 to 5, “6”, “0”, “0”, “3”, and “5” are substituted for R [i].

以上のようにして絞込条件を加味して類似度を修正すると,R[]に基づいて類似度の高い順にソートし,それを出力結果とする(S300)。この場合,R[1]=「6」,R[5]=「5」,R[4]=「3」の順に出力結果と並び替えられ,i=1,5,4に対応する登録画像を特定し,類似画像の検索結果として,利用者用端末5に出力させる。なおこの場合,出力結果に対応する登録画像を出力結果として表示させても良いし,表示させなくても良い。   When the similarity is corrected in consideration of the narrowing-down conditions as described above, sorting is performed in descending order of similarity based on R [], and the result is output (S300). In this case, the output results are rearranged in the order of R [1] = “6”, R [5] = “5”, R [4] = “3”, and registered images corresponding to i = 1, 5, 4 And is output to the user terminal 5 as a similar image search result. In this case, the registered image corresponding to the output result may or may not be displayed as the output result.

実施例1では,登録された画像に基づいて類似画像検索を行う場合を示した。そこで,本実施例では,登録画像が削除された場合でも,単にデータテーブルのデータが削除あるいは処理対象から除外されることで,類似画像の検索処理を実行する場合を示す。本実施例の処理を用いることで,検索の処理プロセスそのものには修正を要さず,検索速度は落とさず,また検索結果は正しい結果を,容易に,得られる。   In the first embodiment, the similar image search is performed based on the registered images. Therefore, in the present embodiment, even when a registered image is deleted, a case where a similar image search process is executed by simply deleting data from the data table or excluding it from the processing target is shown. By using the processing of this embodiment, the search processing process itself does not require correction, the search speed is not reduced, and the search result can be easily obtained as a correct result.

すなわち,管理者用端末4または利用者用端末5から,登録画像管理システム2ですでに登録されている登録画像の削除処理の要求を受け付けた場合,登録画像管理システム2は,登録画像特徴ベクトル記憶部24,登録画像属性データ記憶部27から,その登録画像の特徴ベクトルV[][i],属性データA[][i]の値をゼロにし,検索対象から除外するフラグを立てる処理を実行する。   That is, when a request for deleting a registered image already registered in the registered image management system 2 is received from the administrator terminal 4 or the user terminal 5, the registered image management system 2 displays the registered image feature vector. Processing for setting the flag of the feature vector V [] [i] and attribute data A [] [i] of the registered image from the storage unit 24 and the registered image attribute data storage unit 27 to zero and setting the flag to be excluded from the search target. Run.

属性情報A[][i]の値をゼロにすることにより,削除された画像はどんなクエリ画像に対しても最も似ていない画像となるため,検索処理に特例処理を追加しなくても,実施例1の類似検索および絞込処理による検索結果から除外される。そのため,従来のように,登録画像のハッシュ値の再計算などの処理も不要となる。なお,画像を追加する際には,除外するフラグから消去済みの画像を見つけ,そのメモリ領域を再利用して登録を行うことにより,メモリの利用効率を高めることができる。   By setting the value of the attribute information A [] [i] to zero, the deleted image becomes the image that is most similar to any query image. Therefore, even if no special processing is added to the search processing, Excluded from the search results by the similar search and narrowing-down process of the first embodiment. Therefore, processing such as recalculation of the hash value of the registered image is not required as in the prior art. When adding an image, it is possible to increase the memory utilization efficiency by finding an erased image from the flag to be excluded and re-registering the memory area.

なお,本実施例のように登録画像の削除処理を行う場合であって,フラグを用いて処理対象から除外する場合には,検索処理システム3で類似画像の検索処理を実行する際に,当該フラグをチェックし,処理対象から除外することを示すフラグがある場合には検索処理の対象には含めないようにする。   In the case where the registered image deletion process is performed as in the present embodiment and is excluded from the processing target using the flag, when the search processing system 3 executes the similar image search process, The flag is checked, and if there is a flag indicating that the flag is excluded from processing, it is not included in the search processing target.

S300における検索結果出力処理部37での出力処理にあたり,単に類似度に基づいてソートするのではなく,類似性のヒストグラムと,検索結果として必要な登録画像のリスト長(数)から足きりを行ってもよい。   In the output processing in the search result output processing unit 37 in S300, instead of simply sorting based on the similarity, the search is performed based on the similarity histogram and the list length (number) of registered images required as the search result. May be.

この場合,類似度R[]のソートを単純に行った場合,そのソートに要する実行時間はO(n log(n))となる。そのため,ソートの前に,ソートの対象数(n)をあらかじめ減らしておけば,ソートに要する実行時間を大幅に減少させることができる。   In this case, when the similarity R [] is simply sorted, the execution time required for the sorting is O (n log (n)). Therefore, if the number (n) of sort objects is reduced in advance before sorting, the execution time required for sorting can be greatly reduced.

検索結果出力処理部37は,S300における処理の際に,全登録画像に対する類似度R[]がすでに求められているので,まず,類似度の最小値と最大値とを含む区間を,十分に小さな粒度で区分けしたヒストグラムを作成する。たとえば,類似度の最小値が0,最大値が1000である場合,類似度が0〜9,10〜19,・・・,990〜999,1000のように類似度が10ずつのヒストグラムを作成し,全類似度をカウントアップする。この際の粒度は適宜設定可能である。   Since the similarity R [] for all the registered images has already been obtained in the processing in S300, the search result output processing unit 37 first sufficiently sets an interval including the minimum value and the maximum value of the similarity. Create a histogram with small granularity. For example, when the minimum value of similarity is 0 and the maximum value is 1000, a histogram with 10 similarities such as 0 to 9, 10 to 19, ..., 990 to 999, 1000 is created. The total similarity is counted up. The particle size at this time can be set as appropriate.

そして,検索結果出力処理部37で出力すべき検索結果数kは,あらかじめ第k位までの類似する画像を求めるとして設定されているので,上記で作成した類似度のヒストグラムでk位がどの範囲に入っているかを求め,ソートの対象を限定する。   The number of search results k to be output by the search result output processing unit 37 is set in advance so as to obtain similar images up to the k-th position, and therefore the range of the k-th position in the similarity histogram created above. To determine whether it is in, and limit the sort target.

たとえば,k位が類似度800〜809の範囲に入っていることがヒストグラムから求められた場合,ソートの対象を類似度800以上とし,あらためて,登録画像のIDであるI[]とその類似度R[]とからなるリスト(長さはk+Δ)を生成し,そのリストを,類似度R[]をキーとしてソートする。   For example, when it is determined from the histogram that the k-th place is in the range of similarity 800 to 809, the sort target is set to similarity 800 or more, and I [], which is the ID of the registered image, and its similarity again. A list consisting of R [] (length is k + Δ) is generated, and the list is sorted using similarity R [] as a key.

以上のような処理を実行することで,ソートの対象数をあらかじめ減らすことができ,ソートに要する実行時間を大幅に減少させることができる。   By executing the processing as described above, the number of objects to be sorted can be reduced in advance, and the execution time required for sorting can be greatly reduced.

本発明の類似画像検索システム1を用いることで,従来のように類似性の高い画像同士のグルーピング等の前処理は行わず,画像のデータ構造の簡素化と反復処理の簡素化を用いた処理を実現することで,単純な繰り返し演算に対するCPUの高速実行の能力を活用し,類似画像の高速化を実現することができる。   By using the similar image search system 1 of the present invention, the pre-processing such as grouping of images having high similarity is not performed as in the prior art, and the processing using the simplification of the data structure of the image and the simplification of the iterative processing is performed. By implementing the above, it is possible to realize the speeding up of similar images by utilizing the high-speed execution capability of the CPU for simple repetitive calculations.

また,絞り込みの条件として用いる属性データについても,類似する画像の検索と同様,データ構造の簡素化と反復処理の簡素化を用いた処理を実現することで,単純な繰り返し演算に対するCPUの高速実行の能力を活用し,類似画像の高速化を実現することができる。   In addition, for attribute data used as a narrowing-down condition, similar to the search for similar images, by implementing processing using simplified data structure and simplified iterative processing, the CPU can execute high-speed execution for simple repeated operations. Can be used to speed up similar images.

1:類似画像検索システム
2:登録画像管理システム
3:検索処理システム
4:管理者用端末
5:利用者用端末
20:登録画像入力受付処理部
21:登録画像特徴量抽出処理部
22:登録画像ベクトル化処理部
23:登録画像特徴ベクトル登録処理部
24:登録画像特徴ベクトル記憶部
25:登録画像属性データ入力受付処理部
26:登録画像属性データエンコード処理部
27:登録画像属性データ記憶部
30:クエリ画像入力受付処理部
31:クエリ画像特徴量抽出処理部
32:クエリ画像ベクトル化処理部
33:クエリ画像特徴ベクトル検索処理部
34:クエリ画像属性データ入力受付処理部
35:クエリ画像属性データエンコード処理部
36:クエリ画像属性データ検索処理部
37:検索結果出力処理部
70:演算装置
71:記憶装置
72:表示装置
73:通信装置
74:入力装置
1: Similar image search system 2: Registered image management system 3: Search processing system 4: Administrator terminal 5: User terminal 20: Registered image input reception processing unit 21: Registered image feature amount extraction processing unit 22: Registered image Vectorization processing unit 23: registered image feature vector registration processing unit 24: registered image feature vector storage unit 25: registered image attribute data input reception processing unit 26: registered image attribute data encoding processing unit 27: registered image attribute data storage unit 30: Query image input reception processing unit 31: Query image feature quantity extraction processing unit 32: Query image vectorization processing unit 33: Query image feature vector search processing unit 34: Query image attribute data input reception processing unit 35: Query image attribute data encoding process Unit 36: Query image attribute data search processing unit 37: Search result output processing unit 70: Computing device 71: Storage device Device 72: Display device 73: Communication device 74: Input device

Claims (8)

あらかじめ登録してある画像から,クエリ画像に類似する画像を検索するための類似画像検索システムであって,
前記類似画像検索システムは,
あらかじめ登録してある画像である登録画像の特徴量をベクトル化した特徴ベクトルをデータテーブルで記憶する登録画像特徴ベクトル記憶部と,
クエリ画像の入力を受け付けるクエリ画像入力受付処理部と,
前記入力を受け付けたクエリ画像に基づいて特徴量を抽出するクエリ画像特徴量抽出処理部と,
前記抽出した特徴量をベクトル化した特徴ベクトルを算出するクエリ画像ベクトル化処理部と,
前記算出した特徴ベクトルに基づいて,前記登録画像特徴ベクトル記憶部の特徴ベクトルを参照して,前記クエリ画像に類似する登録画像を検索するクエリ画像特徴ベクトル検索処理部と,
前記検索した結果,前記クエリ画像に類似する登録画像を出力する検索結果出力処理部と,
を有することを特徴とする類似画像検索システム。
A similar image retrieval system for retrieving an image similar to a query image from previously registered images,
The similar image retrieval system includes:
A registered image feature vector storage unit for storing a feature vector obtained by vectorizing a feature amount of a registered image, which is an image registered in advance, in a data table;
A query image input acceptance processing unit for accepting input of a query image;
A query image feature extraction processing unit that extracts a feature based on the query image that has received the input;
A query image vectorization processing unit for calculating a feature vector obtained by vectorizing the extracted feature amount;
A query image feature vector search processing unit that searches for a registered image similar to the query image with reference to a feature vector of the registered image feature vector storage unit based on the calculated feature vector;
As a result of the search, a search result output processing unit that outputs a registered image similar to the query image;
A similar image retrieval system comprising:
前記クエリ画像特徴ベクトル検索処理部は,
前記算出した特徴ベクトルと,前記登録画像特徴ベクトル記憶部に記憶した特徴ベクトルとを用いて,前記クエリ画像と各登録画像との類似度を特定し,
前記検索結果出力処理部は,
前記特定した類似度が所定範囲の登録画像を,前記クエリ画像に類似する登録画像として出力する,
ことを特徴とする請求項1に記載の類似画像検索システム。
The query image feature vector search processing unit includes:
Using the calculated feature vector and the feature vector stored in the registered image feature vector storage unit, the similarity between the query image and each registered image is specified,
The search result output processing unit
Outputting a registered image having the specified similarity in a predetermined range as a registered image similar to the query image;
The similar image search system according to claim 1.
前記類似画像検索システムは,さらに,
前記登録画像の属性データをエンコードして,前記登録画像に対応づけて記憶する登録画像属性データ記憶部と,
前記クエリ画像の属性データの入力を受け付けるクエリ画像属性データ入力受付処理部と,
前記入力を受け付けた属性データをエンコードするクエリ画像属性データエンコード処理部と,
前記エンコードした値に基づいて,前記登録画像属性データ記憶部を参照し,属性データを用いた絞込処理を実行するクエリ画像属性データ検索処理部と,
を有することを特徴とする請求項1または請求項2に記載の類似画像検索システム。
The similar image retrieval system further includes:
A registered image attribute data storage unit that encodes attribute data of the registered image and stores the encoded image data in association with the registered image;
A query image attribute data input acceptance processing unit for accepting input of attribute data of the query image;
A query image attribute data encoding processing unit that encodes the attribute data that has received the input;
A query image attribute data search processing unit for referring to the registered image attribute data storage unit based on the encoded value and executing a narrowing process using the attribute data;
The similar image search system according to claim 1, further comprising:
前記検索結果出力処理部は,さらに,
前記クエリ画像属性データ検索処理部で絞込処理を実行した結果,絞込条件を充足しない属性データに対応する登録画像の類似度を変更し,
前記変更後の類似度に基づいて,類似度が所定範囲の登録画像を,前記クエリ画像に類似する登録画像として出力する,
ことを特徴とする請求項3に記載の類似画像検索システム。
The search result output processing unit further includes:
As a result of executing the narrowing process in the query image attribute data search processing unit, the similarity of registered images corresponding to attribute data that does not satisfy the narrowing condition is changed,
Based on the changed similarity, a registered image having a predetermined similarity is output as a registered image similar to the query image.
The similar image search system according to claim 3, wherein:
前記登録画像属性データ記憶部は,
登録画像の属性データのバイナリーデータであるビット列を,データテーブルで記憶しており,
前記クエリ画像属性データ検索処理部は,
前記クエリ画像属性データエンコード処理部でエンコードした,前記クエリ画像の属性データのバイナリーデータであるビット列と,前記登録画像属性データ記憶部に記憶する登録画像の属性データのバイナリーデータであるビット列とを,論理演算することで,属性データを用いた絞込処理を実行する,
ことを特徴とする請求項3または請求項4に記載の類似画像検索システム。
The registered image attribute data storage unit
A bit string that is binary data of the attribute data of the registered image is stored in a data table.
The query image attribute data search processing unit
A bit string that is binary data of the attribute data of the query image encoded by the query image attribute data encoding processing unit, and a bit string that is binary data of the attribute data of the registered image stored in the registered image attribute data storage unit, Performs a narrowing process using attribute data by performing a logical operation.
The similar image search system according to claim 3 or 4, wherein
前記類似画像検索システムは,さらに,
前記属性データの境界を示すバウンダリー情報を備えており,
前記クエリ画像属性データ検索処理部は,
前記クエリ画像の属性データをエンコードしたバイナリーデータのビット列と,前記登録画像属性データ記憶部に記憶する登録画像の属性データをエンコードしたバイナリーデータのビット列の論理演算の際に,前記バウンダリー情報に基づいて,属性データの境界を判定し,その属性データの境界ごとに,それぞれのバイナリーデータの比較処理を実行する,
ことを特徴とする請求項5に記載の類似画像検索システム。
The similar image retrieval system further includes:
Boundary information indicating the boundary of the attribute data is provided,
The query image attribute data search processing unit
Based on the boundary information, when performing a logical operation on the bit string of binary data that encodes the attribute data of the query image and the bit string of binary data that encodes the attribute data of the registered image stored in the registered image attribute data storage unit , Determine the boundary of the attribute data, and execute the comparison processing of each binary data for each boundary of the attribute data,
The similar image search system according to claim 5, wherein:
前記検索結果出力処理部は,
前記類似度を所定範囲ごとに分類したヒストグラムを生成し,
出力すべき検索結果数が前記ヒストグラムのどの範囲に含まれているかを特定し,
前記特定した範囲以上の類似度を有する登録画像をソートの対象として,前記類似度に基づいてソートを行うことで,前記クエリ画像に類似する登録画像を出力する,
ことを特徴とする請求項2から請求項6のいずれかに記載の類似画像検索システム。
The search result output processing unit
Generating a histogram that classifies the similarity into predetermined ranges;
Specify in which range of the histogram the number of search results to be output is included,
The registered image having a similarity degree equal to or greater than the specified range is subjected to sorting, and the registration image similar to the query image is output by sorting based on the similarity degree.
The similar image search system according to claim 2, wherein:
コンピュータを,
クエリ画像の入力を受け付けるクエリ画像入力受付処理部,
前記入力を受け付けたクエリ画像に基づいて特徴量を抽出するクエリ画像特徴量抽出処理部,
前記抽出した特徴量をベクトル化した特徴ベクトルを算出するクエリ画像ベクトル化処理部
前記算出した特徴ベクトルに基づいて,登録画像の特徴量をベクトル化した特徴ベクトルをデータテーブルで記憶する登録画像特徴ベクトル記憶部を参照して,前記クエリ画像に類似する登録画像を検索するクエリ画像特徴ベクトル検索処理部,
前記検索した結果,前記クエリ画像に類似する登録画像を出力する検索結果出力処理部,
として機能させることを特徴とする類似画像検索プログラム。
Computer
A query image input reception processing unit for receiving an input of a query image,
A query image feature amount extraction processing unit that extracts a feature amount based on the query image that has received the input;
A query image vectorization processing unit that calculates a feature vector obtained by vectorizing the extracted feature amount. A registered image feature vector that stores a feature vector obtained by vectorizing a feature amount of a registered image based on the calculated feature vector in a data table. A query image feature vector search processing unit for searching a registered image similar to the query image with reference to a storage unit;
As a result of the search, a search result output processing unit that outputs a registered image similar to the query image;
A similar image search program characterized by functioning as
JP2015167393A 2015-08-27 2015-08-27 Similar image search system Active JP7019137B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015167393A JP7019137B2 (en) 2015-08-27 2015-08-27 Similar image search system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015167393A JP7019137B2 (en) 2015-08-27 2015-08-27 Similar image search system

Publications (2)

Publication Number Publication Date
JP2017045291A true JP2017045291A (en) 2017-03-02
JP7019137B2 JP7019137B2 (en) 2022-02-15

Family

ID=58210286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015167393A Active JP7019137B2 (en) 2015-08-27 2015-08-27 Similar image search system

Country Status (1)

Country Link
JP (1) JP7019137B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019102796A1 (en) * 2017-11-21 2019-05-31 富士フイルム株式会社 Recognition device, recognition method, and program
KR20190078679A (en) * 2017-12-13 2019-07-05 삼육대학교산학협력단 Management system of image for healing stress and management method using the same
WO2020171549A1 (en) * 2019-02-22 2020-08-27 Samsung Electronics Co., Ltd. Apparatus for searching for content using image and method of controlling same
CN112650775A (en) * 2020-12-30 2021-04-13 深圳云天励飞技术股份有限公司 Data searching method and device, electronic equipment and storage medium
CN113821670A (en) * 2021-07-23 2021-12-21 腾讯科技(深圳)有限公司 Image retrieval method, device, equipment and computer readable storage medium
CN118072046A (en) * 2024-04-19 2024-05-24 云南大学 Chrysanthemum similar variety fine grain identification method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326286A (en) * 1997-05-27 1998-12-08 Mitsubishi Electric Corp Similarity retrieval device and recording medium where similarity retrival program is recorded
JP2001344278A (en) * 2000-03-29 2001-12-14 Seiko Epson Corp Method and device for retrieval, storage medium having retrieval program stored therein, method and device for retrieval object map generation, method and device for image retrieval, storage medium having image retrieval program stored therein, storage medium having image retrieval data stored therein, and method and device for image map generation
WO2011078174A1 (en) * 2009-12-24 2011-06-30 株式会社ニコン Retrieval support system, retrieval support method, and retrieval support program
WO2011128947A1 (en) * 2010-04-16 2011-10-20 三菱電機株式会社 Navigation device
JP2015056077A (en) * 2013-09-12 2015-03-23 Kddi株式会社 Image retrieval device, system, program, and method using image based binary feature vector

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326286A (en) * 1997-05-27 1998-12-08 Mitsubishi Electric Corp Similarity retrieval device and recording medium where similarity retrival program is recorded
JP2001344278A (en) * 2000-03-29 2001-12-14 Seiko Epson Corp Method and device for retrieval, storage medium having retrieval program stored therein, method and device for retrieval object map generation, method and device for image retrieval, storage medium having image retrieval program stored therein, storage medium having image retrieval data stored therein, and method and device for image map generation
WO2011078174A1 (en) * 2009-12-24 2011-06-30 株式会社ニコン Retrieval support system, retrieval support method, and retrieval support program
WO2011128947A1 (en) * 2010-04-16 2011-10-20 三菱電機株式会社 Navigation device
JP2015056077A (en) * 2013-09-12 2015-03-23 Kddi株式会社 Image retrieval device, system, program, and method using image based binary feature vector

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吉田 忠城、外6名: "類似画像検索方式の改変画像検出への適用−デジタルコンテンツ保護・流通システムへの適用と評価", 情報処理学会論文誌, vol. 第42巻,第SIG1(TOD8)号, JPN6008004820, 6 February 2001 (2001-02-06), JP, pages 171 - 181, ISSN: 0004364797 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019102796A1 (en) * 2017-11-21 2019-05-31 富士フイルム株式会社 Recognition device, recognition method, and program
KR20190078679A (en) * 2017-12-13 2019-07-05 삼육대학교산학협력단 Management system of image for healing stress and management method using the same
KR102035173B1 (en) * 2017-12-13 2019-10-22 이모션코리아 주식회사 Management system of image for healing stress and management method using the same
WO2020171549A1 (en) * 2019-02-22 2020-08-27 Samsung Electronics Co., Ltd. Apparatus for searching for content using image and method of controlling same
CN112650775A (en) * 2020-12-30 2021-04-13 深圳云天励飞技术股份有限公司 Data searching method and device, electronic equipment and storage medium
CN112650775B (en) * 2020-12-30 2024-01-05 深圳云天励飞技术股份有限公司 Data searching method and device, electronic equipment and storage medium
CN113821670A (en) * 2021-07-23 2021-12-21 腾讯科技(深圳)有限公司 Image retrieval method, device, equipment and computer readable storage medium
CN113821670B (en) * 2021-07-23 2024-04-16 腾讯科技(深圳)有限公司 Image retrieval method, device, equipment and computer readable storage medium
CN118072046A (en) * 2024-04-19 2024-05-24 云南大学 Chrysanthemum similar variety fine grain identification method, device, equipment and storage medium
CN118072046B (en) * 2024-04-19 2024-06-25 云南大学 Chrysanthemum similar variety fine grain identification method, device, equipment and storage medium

Also Published As

Publication number Publication date
JP7019137B2 (en) 2022-02-15

Similar Documents

Publication Publication Date Title
JP7019137B2 (en) Similar image search system
CN110162695B (en) Information pushing method and equipment
Norouzi et al. Fast exact search in hamming space with multi-index hashing
CN107391554B (en) Efficient distributed locality sensitive hashing method
Yagoubi et al. Massively distributed time series indexing and querying
JP4979000B2 (en) Information retrieval method, apparatus and program
US10949467B2 (en) Random draw forest index structure for searching large scale unstructured data
CN108829865B (en) Information retrieval method and device
US11106708B2 (en) Layered locality sensitive hashing (LSH) partition indexing for big data applications
CN107832456B (en) Parallel KNN text classification method based on critical value data division
US20160103858A1 (en) Data management system comprising a trie data structure, integrated circuits and methods therefor
CN108549696B (en) Time series data similarity query method based on memory calculation
JP2022024102A (en) Method for training search model, method for searching target object and device therefor
CN108027816B (en) Data management system, data management method, and recording medium
Eghbali et al. Online nearest neighbor search using hamming weight trees
JP5994490B2 (en) Data search program, database device, and information processing system
CN110110119B (en) Image retrieval method, device and computer readable storage medium
CN110210506A (en) Characteristic processing method, apparatus and computer equipment based on big data
Cao et al. A new method to construct the KD tree based on presorted results
CN103678513A (en) Interactive search generation method and system
CN109241360B (en) Matching method and device of combined character strings and electronic equipment
US20110191347A1 (en) Adaptive routing of documents to searchable indexes
KR20210006852A (en) Reference distance similarity search
CN110209895B (en) Vector retrieval method, device and equipment
JP6666312B2 (en) Multidimensional data management system and multidimensional data management method

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20160106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161222

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20161222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201012

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20201118

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210430

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20211007

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20211221

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220120

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220125

R150 Certificate of patent or registration of utility model

Ref document number: 7019137

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150