WO2022025216A1 - Information processing device using compression data search engine, and information processing method therefor - Google Patents

Information processing device using compression data search engine, and information processing method therefor Download PDF

Info

Publication number
WO2022025216A1
WO2022025216A1 PCT/JP2021/028220 JP2021028220W WO2022025216A1 WO 2022025216 A1 WO2022025216 A1 WO 2022025216A1 JP 2021028220 W JP2021028220 W JP 2021028220W WO 2022025216 A1 WO2022025216 A1 WO 2022025216A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
learning
search
information
memory
Prior art date
Application number
PCT/JP2021/028220
Other languages
French (fr)
Japanese (ja)
Inventor
寛治 大塚
陽一 佐藤
典子 姫田
久美子 小池
Original Assignee
学校法人明星学苑
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 学校法人明星学苑 filed Critical 学校法人明星学苑
Priority to JP2022539581A priority Critical patent/JPWO2022025216A1/ja
Publication of WO2022025216A1 publication Critical patent/WO2022025216A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Abstract

[Problem] To eliminate the shortcomings of inductive deep learning that requires an enormous amount of repetition and learning, and to enable reliable inference operations at higher speed and with lower power consumption. [Solution] Provided is an information processing device for general machine learning, the device comprising: a retrieval engine which includes a learning means that, in order to extract registration/retrieval data features, adds learning information to filtered data serving as a learning component, and registers the filtered data in a learning memory, a retrieval means for extracting the learning information by retrieving the learning component data, and a means for outputting correct learning information by a majority decision of the retrieved learning information; and/or a retrieval engine which includes a retrieval means for diffusion processing retrieval information and extracting learning information.

Description

圧縮データ検索エンジンを用いた情報処理装置及びその情報処理方法Information processing equipment using a compressed data search engine and its information processing method
 本発明は、圧縮データ検索エンジンを用いた情報処理装置及びその情報処理方法に係り、特に、汎用機械学習・推論を可能として高速且つ低消費電力で確実な推論操作を行うことが可能な情報処理装置、情報処理方法、情報登録/抽出方法及び顔認特徴抽出方法並びにコンピュータプログラムに関する。 The present invention relates to an information processing apparatus using a compressed data search engine and an information processing method thereof, and in particular, information processing capable of performing general-purpose machine learning / inference and performing reliable inference operation at high speed and low power consumption. It relates to an apparatus, an information processing method, an information registration / extraction method, a face recognition feature extraction method, and a computer program.
 近年、クラウドコンピューティングの時代となり、ビッグデータを取り扱う情報処理が多くなってきた。特に人工知能(AI:Artifitial Interigent)処理ではビッグデータの中から頻度の高い高速アクセスが求められている。検索エンジンには歴史的に見て2つの方法があり、(CAM:Contents Addrassable Memory)によるハードウェアを主体とする方法とHash関数を用いたソフトウエアによる方法がある。前者は高速検索が可能であるが、検索するメモリマットが増大すると、全メモリマットを同時アクセスするため、マットが大きくなると膨大な消費電力となり、小規模の限定的な用途にのみ使用されている。その例として、特許文献1の連想メモリがある。一般的に、特許文献1に記載された検索機能を実現するためには、CAM内の全メモリ空間へのアクセスが必要となり、大きな空間では回路構成が複雑になるだけではなく、消費電力が大きくなるという問題があった。特に、この消費電力が大きくなるという問題は、CAMの規模に伴って大きくなるものであるため、現在では非常に深刻な問題である。 In recent years, in the age of cloud computing, the amount of information processing that handles big data has increased. In particular, in artificial intelligence (AI: Artificial Intelligence) processing, high-speed access with high frequency is required from among big data. Historically, there are two methods for search engines, one is a hardware-based method using (CAM: Contensable Memory) and the other is a software-based method using a Hash function. The former is capable of high-speed search, but when the number of memory mats to be searched increases, all memory mats are accessed at the same time, so the larger the mat, the enormous power consumption, and it is used only for small-scale limited applications. .. As an example, there is an associative memory of Patent Document 1. Generally, in order to realize the search function described in Patent Document 1, it is necessary to access the entire memory space in the CAM, and in a large space, not only the circuit configuration becomes complicated but also the power consumption is large. There was a problem of becoming. In particular, the problem that the power consumption increases is a very serious problem at present because it increases with the scale of the CAM.
 これに対し後者は大きな規模の記憶対象に適用可能であり、一般的な検索エンジンとして多用されている。しかし、検索しやすいように小さなデータベースをHash関数の演算を用いて構築している。その小さなデータベースを検索することで効率を上げているが、大きなデータ量から小さなデータ量に変換すると、そのアドレスの衝突が起こり、衝突回避の繰り返し演算が必要で、リアルタイム的に高速処理ができない。1回のキーワード検索で、最高速の実績を上げているのはGoogleで約100msから1s程度となっている。 On the other hand, the latter is applicable to large-scale storage objects and is often used as a general search engine. However, a small database is constructed using the operation of the Hash function so that it can be easily searched. The efficiency is improved by searching the small database, but when converting from a large amount of data to a small amount of data, collisions of the addresses occur, repeated operations for collision avoidance are required, and high-speed processing cannot be performed in real time. It is about 100ms to 1s on Google that has achieved the fastest performance in one keyword search.
 AI処理中の高速アクセスに耐えられるように、本出願の関連特許文献2では高速で大容量処理で低消費電力のハードウェアを主体とする検索エンジンの提案がなされている。 In order to withstand high-speed access during AI processing, the related Patent Document 2 of this application proposes a search engine mainly composed of high-speed, large-capacity processing, and low power consumption hardware.
特許第5575997号公報Japanese Patent No. 5575997 特開2019-144872JP-A-2019-144872 特許第6166306号公報Japanese Patent No. 6166306 特許第6205386号公報Japanese Patent No. 6205386
 特許文献2では元データが消失することで、ごく小ビットのエントリアドレスの検索を可能としている。元データが失われることは、汎用検索エンジン向きではない。さらに元データはRDB(Relational Data Base)としてSQL(Structured Query Language)などの見出し検索で、ビッグデータから効率的に必要データを抽出しているが、検索機能にはこの見出し項目も配慮する必要がある。元データを参照する特許文献3にみられるが、見出しとの関連付けが不足している。 In Patent Document 2, the original data is lost, which makes it possible to search for a very small bit entry address. Losing the original data is not suitable for general purpose search engines. Furthermore, the original data is an RDB (Relational Data Base), and the necessary data is efficiently extracted from the big data by heading search such as SQL (Structured Quality Language), but it is necessary to consider this heading item in the search function. be. Although it can be seen in Patent Document 3 which refers to the original data, the association with the heading is insufficient.
 これらのビッグデータから高速リアルタイムに低消費電力で検索する新たな方法を提案する。本出願はこのAI処理に伴う限定的検索エンジンではなく、汎用的に使えるリアルタイム高速検索に展開した新規なアイデアを含む。 We propose a new method to search from these big data in high speed and in real time with low power consumption. This application includes a new idea developed for a general-purpose real-time high-speed search, not a limited search engine associated with this AI processing.
 本発明の一形態は、汎用機械学習を行うための情報処理装置であって、特長抽出用のフィルタでデータをフィルタリングするフィルタと、フィルタリング後のデータを学習部品とし、前記学習部品に学習情報を付与して学習メモリマットに登録する学習手段と、学習部品の探索を行って前記学習メモリマットに登録した学習情報を抽出する検索手段と、検索した学習情報から正解学習情報を多数決判定する手段、を含む検索エンジンを備えたことを特徴とする情報処理装置である。 One embodiment of the present invention is an information processing apparatus for performing general-purpose machine learning, in which a filter for filtering data with a filter for feature extraction and the filtered data are used as learning components, and learning information is stored in the learning components. A learning means that is assigned and registered in the learning memory mat, a search means that searches for learning parts and extracts the learning information registered in the learning memory mat, and a means that determines a majority of correct learning information from the searched learning information. It is an information processing device characterized by being equipped with a search engine including.
 また、本発明の一形態は、汎用機械学習を行うための情報処理装置であって、検索情報データの一部をマスクするマスク手段と、前記マスク手段によりマスクされた前記データを検索対象の学習部品とし、前記学習部品に学習情報を付与し検索メモリマットに登録する学習手段と、学習部品の探索を行って前記検索メモリマットに登録した学習情報を抽出する検索手段と、検索した学習情報から正解学習情報を判定する手段と、を含む検索エンジンを備えたことを特徴とする情報処理装置である。 Further, one embodiment of the present invention is an information processing apparatus for performing general-purpose machine learning, in which a masking means that masks a part of search information data and learning that the data masked by the masking means is searched. From the learning means as a component, the learning information is added to the learning component and registered in the search memory mat, the search means for searching the learning component and extracting the learning information registered in the search memory mat, and the searched learning information. It is an information processing device provided with a search engine including a means for determining correct answer learning information.
 本発明によれば、汎用検索が可能となり、膨大な電力と演算時間が必要な従来の検索エンジンの欠点を排除し、すなわち、膨大なデータベースから高速且つ低消費電力で確実な検索を行うことが可能となる。 According to the present invention, general-purpose search becomes possible, and the drawbacks of a conventional search engine that requires enormous power and calculation time can be eliminated, that is, a reliable search can be performed from an enormous database at high speed and with low power consumption. It will be possible.
検索エンジンのプロセスブロックダイヤグラムSearch engine process block diagram 登録・検索データを用いた検索エンジンのプロセスブロックダイヤグラムSearch engine process block diagram using registration / search data 拡散処理を説明する図Diagram illustrating diffusion processing 拡散処理の有効性を説明する図Figure explaining the effectiveness of diffusion processing 学習メモリの登録データの構成を示す図The figure which shows the structure of the registration data of a learning memory 検索メモリ1の構成例を示す図The figure which shows the configuration example of the search memory 1. 検索メモリ1の検索方法を示す図The figure which shows the search method of the search memory 1. 検索メモリの登録に必要なブロック(分割メモリ)数の計算例Calculation example of the number of blocks (divided memory) required for registering search memory 登録時に発生する分割データ(登録アドレス)の衝突を示す図Figure showing collision of divided data (registered address) that occurs at the time of registration 学習メモリの登録データの構成例(人物画像の例)を示す図The figure which shows the composition example (example of a person image) of the registration data of a learning memory. 学習メモリの登録データの構成例(数字画像の例)を示す図The figure which shows the composition example (example of a numerical image) of the registration data of a learning memory. 偶奇分離によるプーリングの基本的な考え方を示す図Diagram showing the basic concept of pooling by even-odd separation 検索メモリ1の構成例とデータの登録方法を示す図The figure which shows the configuration example of the search memory 1 and the data registration method. 検索メモリ1の検索方法を示す図The figure which shows the search method of the search memory 1. 学習情報の例を示す図Diagram showing an example of learning information 顔認証における学習情報を設定した場合の具体例を示す図A diagram showing a specific example when learning information in face recognition is set. 登録・検索データを用いた検索エンジンによる顔認証画像処理のアルゴリズムを示す図A diagram showing an algorithm for face recognition image processing by a search engine using registration / search data. 顔認識の概略フローを示す図Diagram showing the schematic flow of face recognition 顔部品データの作成アルゴリズムを示す図Diagram showing the algorithm for creating face part data 基準画像(基準データ)の作成例を示す図A diagram showing an example of creating a reference image (reference data) 学習のためのプログラム処理を示す図Diagram showing program processing for learning 検索(推論)を行うためのプログラム処理を示す図Diagram showing program processing for performing search (inference) 拡散処理の例を示す図Diagram showing an example of diffusion processing 本体データを作成する例を示す図Diagram showing an example of creating main unit data 検索データを用いた検索エンジンのプロセスブロックダイヤグラムSearch engine process block diagram using search data マスクデータを含むデータの処理方法を示す図The figure which shows the processing method of the data including the mask data. マスクデータを置き換えた場合の前処理の例を示す図The figure which shows the example of the preprocessing when the mask data is replaced. マスクデータを「0」 に置き換えたデータを2進数に変換したデータを示す図The figure which shows the data which converted the data which replaced the mask data with "0" into a binary number. マスクデータを「0」に置き換えた場合の拡散処理の例を示す図The figure which shows the example of the diffusion processing when the mask data is replaced with "0". 48ビットの拡散式の一例を示す図The figure which shows an example of the 48-bit diffusion type 検索メモリ2への登録(左側からの登録)を示す図The figure which shows the registration to the search memory 2 (registration from the left side) 検索メモリ2への登録(右側からの登録)を示す図The figure which shows the registration to the search memory 2 (registration from the right side). 検索メモリ2への登録結果を示す図The figure which shows the registration result in the search memory 2. 検索メモリ2を読み出した場合の例を示す図The figure which shows the example when the search memory 2 is read. 検索情報の具体例を示す図Diagram showing specific examples of search information 検索情報のマスク例(2分割データマスクの例)を示す図The figure which shows the mask example of the search information (the example of the two division data mask). 検索情報の拡散処理の例(2分割データマスクの例)を示す図The figure which shows the example of the diffusion processing of the search information (the example of a two-part data mask). 分割単位が5bit、分割メモリのワード数が32である場合の、登録数(nx)に対する分割メモリ(左右登録の片側分)への登録数を示す図The figure which shows the number of registrations in the division memory (one side of the left-right registration) with respect to the registration number (nx) when the division unit is 5 bits and the number of words of the division memory is 32. 拡散処理後の検索メモリ2に登録されるデータの例(2分割データマスクの例)を示す図The figure which shows the example (example of a 2-division data mask) of the data registered in the search memory 2 after the diffusion process. 検索メモリ2への登録結果(2分割データマスクの例)を示す図The figure which shows the registration result (example of a 2-division data mask) in search memory 2 検索メモリ2を読み出した場合の例(2分割データマスクの例)を示す図The figure which shows the example (example of a 2-division data mask) when the search memory 2 is read out. マスク処理後の登録データの例(3分割データマスクの例)を示す図The figure which shows the example of the registration data after mask processing (the example of 3 division data mask). 入力データの挿入位置を変更した場合による拡散処理の例を示す図The figure which shows the example of the diffusion processing when the insertion position of the input data is changed. 図43の各拡散出力を連結し、拡散出力を拡張した例を示す図The figure which shows the example which connected each diffusion output of FIG. 43 and expanded the diffusion output. マスク分割データ数と、左右一致が複数個発生した場合の個数との関係を示す図The figure which shows the relationship between the number of mask division data and the number when a plurality of left-right matches occur. 左右一致数に対する他の試行例と計算結果を示す図Diagram showing other trial examples and calculation results for the number of left-right matches 特徴情報に基づき検索情報を作成し、それを検索メモリ2に登録する流れを示す図The figure which shows the flow of creating search information based on feature information and registering it in search memory 2. 検索情報リストの例を示す図Diagram showing an example of a search information list 複数のマスク状態とマスク分類番号との関係を示す図Diagram showing the relationship between multiple mask states and mask classification numbers 本実施形態の回路構成の例を示す図The figure which shows the example of the circuit structure of this embodiment.
 以下、図面を参照して、本発明の実施形態について詳細に説明する。なお、本発明は以下の実施形態及び実施例に記載した内容により限定されるものではない。又、以下に記載した実施形態及び実施例における構成要件には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。更に、以下に記載した実施形態及び実施例で開示した構成要素は適宜組み合わせてもよいし、適宜選択して用いてもよい。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The present invention is not limited to the contents described in the following embodiments and examples. Further, the constituent requirements in the embodiments and examples described below include those that can be easily assumed by those skilled in the art, those that are substantially the same, and those that are in a so-called equal range. Further, the components disclosed in the embodiments and examples described below may be appropriately combined or appropriately selected and used.
 図1に、プロセスブロックダイヤグラムを用いて、本実施例の検索エンジンの全体像を示す。本実施例は、検索メモリ1及び学習メモリを用いた検索と、検索メモリ2を用いた検索の2種類の検索が可能である。そして、これら検索結果は出力セレクタ(SEL)より、検索出力選択データによって選択的に出力される。 FIG. 1 shows an overall picture of the search engine of this embodiment using a process block diagram. In this embodiment, two types of searches, a search using the search memory 1 and the learning memory and a search using the search memory 2, are possible. Then, these search results are selectively output from the output selector (SEL) by the search output selection data.
 本実施例の検索エンジンでは、
 ・登録・検索データ
 ・検索情報
と呼ぶ2種類のデータを用いて登録・検索を行う。登録・検索データは検索メモリ1及び学習メモリにて用いられ、検索情報は、検索メモリ2にて用いられる。
In the search engine of this embodiment,
-Registration / search data-Registration / search is performed using two types of data called search information. The registration / search data is used in the search memory 1 and the learning memory, and the search information is used in the search memory 2.
 登録・検索データは、検索対象である画像等のデータ(このデータを元データと呼ぶことにする)から生成される。元データはビット数で表すと非常に大きなデータになり、元データを検索エンジンにそのまま登録するとメモリリソースの増大という問題が生じる。また、元データは、例えば解像度が高い画像データであり、一般には様々な解像度を有する画像である。この画像データを処理するため解像度を合わせ、学習情報と呼ぶ検索条件を付加する前処理を行う。この前処理後のデータが検索エンジンの入力データとして、検索メモリ1及び学習メモリに記憶され得る。 Registration / search data is generated from data such as images to be searched (this data is called original data). The original data becomes very large data in terms of the number of bits, and if the original data is registered in the search engine as it is, there arises a problem of an increase in memory resources. Further, the original data is, for example, image data having a high resolution, and is generally an image having various resolutions. In order to process this image data, the resolution is adjusted and preprocessing is performed to add a search condition called learning information. The preprocessed data can be stored in the search memory 1 and the learning memory as input data of the search engine.
 一方、検索情報は画像データが無くとも、画像データを特定する、特徴等の図書館の収録図書を検索する検索条件のようなものである。この情報から登録データの共有情報となる学習情報を検索することができる。これら検索情報及び学習情報が検索メモリ2に記憶され得る。 On the other hand, the search information is like a search condition for searching the books recorded in the library such as features that specify the image data even if there is no image data. From this information, it is possible to search for learning information that is shared information of registered data. These search information and learning information can be stored in the search memory 2.
 登録・検索データ及び/又は検索情報を用いて学習情報を特定することで、全データの検索を可能とすることが本実施例の特徴の一つである。 One of the features of this embodiment is that all data can be searched by specifying the learning information using the registration / search data and / or the search information.
 そして、登録・検索データ及び検索情報の2種類の異なる情報を用いた検索結果のアンドをとることで、より高度な検索が可能となる。例えば、ある人物を検索する場合に、登録・検索データを用いた検索により特定された人物を、検索情報を用いた検索結果により、正しく特定されているか検証することができる。 Then, by taking the and of the search result using two different types of information, the registration / search data and the search information, a more advanced search becomes possible. For example, when searching for a certain person, it is possible to verify whether or not the person specified by the search using the registration / search data is correctly specified by the search result using the search information.
 <<検索メモリ1及び学習メモリによる検索>>
 まず、登録・検索データ、検索メモリ1及び学習メモリを用いた検索について説明する。図2は、図1から登録・検索データ、検索メモリ1及び学習メモリを用いた検索に関する部分を抽出した図である。
<< Search by search memory 1 and learning memory >>
First, a search using the registration / search data, the search memory 1, and the learning memory will be described. FIG. 2 is a diagram in which a part related to a search using the registration / search data, the search memory 1, and the learning memory is extracted from FIG.
 基本的な機能がCAMと同じなので同じ名前を用いると検索エンジンに登録する入力データをキーデータ、登録アドレスはエントリアドレスとなる。しかし、本検索エンジンは、検索メモリと学習メモリの大きく2種類のメモリから構成され、入力データは登録目的により異なるデータ形式となる。ここでは学習メモリの登録アドレスのことを登録番号(エントリアドレス)、検索メモリ1の入力データのことをキーデータと呼ぶことにする。 Since the basic function is the same as CAM, if the same name is used, the input data to be registered in the search engine will be the key data, and the registered address will be the entry address. However, this search engine is composed of two types of memories, a search memory and a learning memory, and the input data has a different data format depending on the purpose of registration. Here, the registered address of the learning memory is referred to as a registration number (entry address), and the input data of the search memory 1 is referred to as key data.
 検索エンジンに登録するデータは特長抽出用のフィルタでフィルタリング等の前処理をした後、学習部品(基本的な登録データ)となる。したがって、データを加工して学習メモリに登録するため、重要な概念として、元データはここで特徴データ(基本的な登録データ)に変換され、元データは登録されないだけでなく元データそのものはその後の処理工程から消滅する。 The data registered in the search engine becomes learning parts (basic registration data) after pre-processing such as filtering with a filter for feature extraction. Therefore, in order to process the data and register it in the learning memory, as an important concept, the original data is converted to feature data (basic registration data) here, and not only the original data is not registered, but the original data itself is then Disappears from the processing process of.
 複数のフィルタを用いるため学習部品のデータ長は一般に異なるデータ長となる。このため学習部品のビット長を合わせた後、データの偏りを取り除く拡散処理を行う。 Since multiple filters are used, the data lengths of the learning parts are generally different. Therefore, after adjusting the bit lengths of the learning components, a diffusion process is performed to remove the bias of the data.
 拡散処理は、図3に示される様に、数学的には登録データのビット空間で表されるビットデータを拡散処理により生成される新たなビット空間のビットデータに1対1で対応付ける処理である。このため、拡散処理を行うことで単に元データの偏りを無くすだけでなく、元データを再現性のある任意のビット数に変換することができる。また、拡散処理は、図4に示される様に、「0」と「1」の並びに偏りのあるデータを偏りの少ない同図のような正規分布の中心付近のデータに変換する処理で、偏りのあるデータをランダムと見做せるデータに変換する処理である。偏りデータの位置を正規分布の中心付近に持っていくと、「0」と「1」の数がほぼ同じ数になる。 As shown in FIG. 3, the diffusion process is a process in which the bit data mathematically represented in the bit space of the registered data is associated with the bit data in the new bit space generated by the diffusion process on a one-to-one basis. .. Therefore, by performing the diffusion process, it is possible not only to eliminate the bias of the original data but also to convert the original data into an arbitrary number of bits having reproducibility. Further, as shown in FIG. 4, the diffusion process is a process of converting the biased data of “0” and “1” into the data near the center of the normal distribution as shown in the figure with less bias. It is a process to convert some data into data that can be regarded as random. If the position of the bias data is moved to the vicinity of the center of the normal distribution, the numbers of "0" and "1" become almost the same.
 具体的には、拡散処理として、処理するデータを任意のビット数を有するBCH(Bose-Chaudhuri- Hocqenghem)の検査符号に変換する処理を行う。この変換は元データから任意のビット数への不可逆的なものである。このため、学習メモリや検索メモリ1に記憶された情報をリバースエンジニアリングにより得ることができたとしても、それらから拡散処理前の情報を復元することはできない。これは、秘密保持の観点において有利に作用する。BCHの詳細については、必要に応じて特許文献2の記載も参照されたい。 Specifically, as a diffusion process, a process of converting the data to be processed into a BCH (Bose-Chaudhuri-Hocqenghem) inspection code having an arbitrary number of bits is performed. This conversion is irreversible from the original data to any number of bits. Therefore, even if the information stored in the learning memory or the search memory 1 can be obtained by reverse engineering, the information before the diffusion process cannot be restored from them. This has an advantage in terms of confidentiality. For details of BCH, refer to the description of Patent Document 2 as necessary.
 図5に示すように学習メモリには、拡散処理をした後の学習部品(本体データ)と学習情報を付加したデータを学習メモリに登録する。例えば、1kワードのデータを登録する場合、登録番号は0~1023までのアドレスデータになり、本体データは40~120ビットの2進数で構成され、学習情報はA~Nのいずれかを特定するデータとして14ビットの2進数で構成される。 As shown in FIG. 5, in the learning memory, the learning parts (main body data) after the diffusion processing and the data to which the learning information is added are registered in the learning memory. For example, when registering 1k word data, the registration number is address data from 0 to 1023, the main body data is composed of 40 to 120 bit binary numbers, and the learning information specifies any of A to N. The data is composed of 14-bit binary numbers.
 また、図6に示すように検索メモリ1は複数の分割メモリ(図6では、k個の分割メモリ)により構成されており、登録データはq ビット単位で分割したk個のブロックから成り、各ブロックのデータをアドレスにして各ブロック専用の分割メモリに、検索メモリとは別の学習メモリの登録番号を登録する。本例では検索メモリの入力データをk個に分割し、分割した各分割データを各分割メモリのアドレスに対応付けている。検索メモリの登録では後で述べる左右登録を行うため検索メモリを構成する複数の分割メモリの2か所に同じ登録番号を登録する。分割メモリの登録データはフラグデータを含むことができる。
フラグデータは、登録したら「1」となり、未登録状態では「0」になる。
Further, as shown in FIG. 6, the search memory 1 is composed of a plurality of divided memories (k divided memories in FIG. 6), and the registered data is composed of k blocks divided in q-bit units. Using the block data as an address, register the registration number of the learning memory different from the search memory in the divided memory dedicated to each block. In this example, the input data of the search memory is divided into k pieces, and each divided data is associated with the address of each divided memory. In the registration of the search memory, the same registration number is registered in two places of a plurality of divided memories constituting the search memory in order to perform the left-right registration described later. The registration data of the divided memory can include flag data.
The flag data becomes "1" when it is registered, and becomes "0" when it is not registered.
 図7に示すように、検索は、検索データ、すなわちキーデータの全ブロックのデータをアドレスにして全分割メモリを並列に同時読み出しを行う。同時に読み出したデータの中に一致したデータが有ればそれが検索結果であり、無ければ登録データは無いと判断する。分割メモリを並列に読み出したとき同じ登録番号が読み出されると、その登録番号が学習メモリの登録番号になる。 As shown in FIG. 7, in the search, the search data, that is, the data of all blocks of the key data is used as an address, and all the divided memories are simultaneously read in parallel. If there is matching data among the data read at the same time, it is the search result, and if not, it is judged that there is no registered data. If the same registration number is read when the divided memories are read in parallel, the registration number becomes the registration number of the learning memory.
 検索メモリに登録できるデータ(学習メモリの登録番号)の総数は分割メモリのワード数と分割メモリの個数により決まる。 The total number of data (learning memory registration number) that can be registered in the search memory is determined by the number of words in the divided memory and the number of divided memories.
 登録データがマスク指定無しでランダムなデータであるとすると登録可能数を確率論を用いて求めることができる。確率論ではnワードのメモリに登録できる確率をpとすると、
  p = 1/n 
となる。また登録できない確率をp’とすると
  p + p’= 1  (ここで、p’は p’= 1 - p となる)
となる。ここで、メモリにm個のデータを登録する場合は登録をm回繰り返することになり、
  (p + p’)m= 1
のように表せる。この式を展開すると次のようになる。
   m        m         m           
 1 = Σ mCrprp’m-r = Σ mCr pr(1-p)m-r = Σ mCr(1/n)r(1- 1/n)n(m/n-r/n)     
   r=0       r=0        r=0         
 ここで、nが十分に大きければ、 
  (1-1/n)n = 1/e
と置ける(nを10進数で表した時の桁数までは正しく、誤差はそれ以下)。具体的には
       1/e    = 0.367879441
に対し、下記のようになる。 
       (1-1/100) 100            = 0.366032   
       (1-1/1000) 1000          = 0.367695  
        (1-1/10000) 10000        = 0.367861  
       (1-1/100000) 100000    = 0.367878
       (1-1/1000000) 1000000    = 0.367879
       (1-1/10000000) 10000000  = 0.3678794
 
そのため次式が成り立つ。
   m       m           nx   
1 = Σ mCr prp’m-r = Σ mCr(1/n)r(1/e)x-r/n= Σ nxCr(1/n)r(1/e)x-r/n    
  r=0       r=0          r=0      
(x=m/n)
 この式の各項の意味はm個の登録データの内r個のデータがnワードの中の同じワードに登録される確率を表している。つまり、この式の通り登録すると r重の衝突が発生し最後のデータのみ登録されることを示している。この多衝突を避ける方法が隣のブロックアドレスを用いて隣の分割メモリに登録する方法である。
 また、nが十分に大きいところではrが大きくなると、
   (1/n)≒ 0
となり、rが小さくなると、
   (1/n)- (r/n)  ≒ 1
となるため上式は実質的に、
   m       nx 
1 = Σ mCr prp’m-r = Σ nx Cr(1/n)r(1/e)x     (x=m/n)
   r=0      r=0
と見做すことができる。
Assuming that the registered data is random data without specifying a mask, the number that can be registered can be obtained by using probability theory. In probability theory, if the probability that can be registered in n-word memory is p,
p = 1 / n
Will be. If the probability of not being able to register is p', then p + p'= 1 (where p'is p'= 1-p)
Will be. Here, when registering m data in the memory, the registration will be repeated m times.
(P + p') m = 1
Can be expressed as. When this formula is expanded, it becomes as follows.
m m m
1 = Σ m C r p r p'mrb = Σ m C r p r (1-p) mr = Σ m C r (1 / n) r (1-1 / n) n (m / nr / n)
r = 0 r = 0 r = 0
Here, if n is large enough
(1-1 / n) n = 1 / e
(The number of digits when n is expressed in decimal is correct, and the error is less than that). Specifically, 1 / e = 0.367879441
On the other hand, it becomes as follows.
(1-1 / 100) 100 = 0.36 6032
(1-1 / 1000) 1000 = 0.367 695
(1-1 / 10000) 10000 = 0. 3678 61
(1-1 / 100000) 100000 = 0. 36787 8
(1-1 / 100000) 1000000 = 0. 367879
(1-1 / 10000000) 10000000 = 0. 3678794
 
Therefore, the following equation holds.
m m nx
1 = Σ m C r p r p'mrb = Σ m C r (1 / n) r (1 / e) xr / n = Σ nx C r (1 / n) r (1 / e) xr / n
r = 0 r = 0 r = 0
(x = m / n)
The meaning of each term in this formula represents the probability that r data out of m registered data will be registered in the same word in n words. In other words, it is shown that if registration is performed according to this equation, r-fold collision occurs and only the last data is registered. The method of avoiding this multiple collision is the method of registering in the adjacent divided memory using the adjacent block address.
Also, where n is sufficiently large, when r becomes large,
(1 / n) r ≒ 0
And when r becomes smaller,
(1 / n) -(r / n) ≒ 1
Therefore, the above formula is practically
m nx
1 = Σ m C r p r p'mrb = Σ nx C r (1 / n) r (1 / e) x (x = m / n)
r = 0 r = 0
Can be regarded as.
 q=10,n=1024とした時、上式を本登録方法に従い適用すると、図8に示されるように、登録データ数と登録に必要な分割メモリ数の関係がわかる。丸(1)~丸(20)は登録に必要な分割メモリの数を表しており、登録には分割メモリの登録率が0.01以下になる数を確保する必要がある。実際には左右登録を行い左右一致のデータを読み出すため下記の分割メモリ数の2倍必要になる。同図におけるxは分割メモリのワード数を単位とした登録数を表している。登録に必要な分割メモリの数はxに対してほぼ+3の関係がある。従って、検索メモリの分割メモリの数は想定する最大登録数xに対し、片側でx+3個以上に設定する必要がある。例えば、登録数m=1024とした場合、片側で、4個の分割メモリがあればよい。 When q = 10, n = 1024, if the above formula is applied according to this registration method, the relationship between the number of registered data and the number of divided memories required for registration can be understood as shown in FIG. Circles (1) to (20) represent the number of divided memories required for registration, and it is necessary to secure a number in which the registration rate of the divided memories is 0.01 or less for registration. Actually, since the left and right registration is performed and the left and right matching data is read, twice the number of divided memories below is required. In the figure, x represents the number of registrations in units of the number of words in the divided memory. The number of divided memories required for registration has a relation of approximately +3 with respect to x. Therefore, it is necessary to set the number of divided memories of the search memory to x + 3 or more on one side with respect to the assumed maximum number of registrations x. For example, if the number of registrations is m = 1024, it is sufficient to have four divided memories on one side.
 分割メモリへのデータ登録時に発生するアドレスの衝突について先に求めた2項分布の式から、未登録状態PE、登録状態Pw、衝突状態(確率的には多重登録状態)Pcの一般式を算出する。   
まず、未登録状態の式を求めると、
   PE = mC0 P(1-P)m 
        = (1-1/n)m    
        = (1-1/n)n(m/n)    
 ここで、
    m/n=x
とおくと、
    PE = (1-1/n)nx     
 nが十分に大きいときは
     (1-1/n)n = 1/e   
とおけるので
    PE = (1/e)x 
となる。
 同様にして、登録状態Pwの式を求めると、
   Pw = mC1 P(1-P)m-1 
     = (m/n)(1-1/n)n(m-1)/n    
     = x(1/e)      
 また、衝突状態Pcの式は
   Pc = 1-PE-Pw                
となる。
From the binomial distribution formula obtained earlier for the address collision that occurs when data is registered in the divided memory, the general formulas of the unregistered state PE, the registered state Pw , and the collision state (probabilistically multiple registration state) Pc are obtained. calculate.
First, if you ask for an unregistered expression,
P E = m C 0 P 0 (1-P) m
= (1-1 / n) m
= (1-1 / n) n (m / n)
here,
m / n = x
If you say
P E = (1-1 / n) nx
When n is large enough (1-1 / n) n = 1 / e
P E = (1 / e) x
Will be.
Similarly, when the formula of the registration state Pw is obtained,
Pw = m C 1 P 1 (1-P) m-1
= (m / n) (1-1 / n) n (m-1) / n
= x (1 / e) x
The formula for the collision state Pc is Pc = 1-P E -P w .
Will be.
 本方式では衝突が発生する度毎に衝突した分割データとは関連性の無い隣の分割データで隣の分割メモリに登録することになるので分割メモリから見ると、常に x = 1 の状態が保たれることになる。これは図9から分かるように最も登録確率の高い状態で登録することを意味している。 In this method, every time a collision occurs, the adjacent divided data that is not related to the collided divided data is registered in the adjacent divided memory, so when viewed from the divided memory, the state of x = 1 is always maintained. It will be drooping. This means that the registration is performed in the state where the registration probability is the highest, as can be seen from FIG.
 ここでは、システムに登録された人物の画像を検索対象とする画像認識を例に、登録するデータについて述べる。システムに登録するデータの前処理では、各画像の解像度を合わせ、それと同時に基本となる画像を異なる条件下で撮影した同じ登録者の画像とAND処理を行う。このデータをフィルタリングし、フィルタリング後のデータに対して、拡散処理を行うことで2種類の圧縮データを作成する。2種類のデータの1つは学習メモリに登録するデータの1つで、ここでは本体データと呼ぶことにする。登録できる本体データはユニークなデータのみであり、既に登録されているデータと同じデータを登録することはできない。この学習メモリには登録時に本体データの他に登録番号と学習情報を付加する。学習情報については本体データが同じでも追加登録が可能である。学習情報の基本構成は、画像認識についての学習メモリの登録データを例に示すと図10のような構成になる。学習情報は、A~Nのそれぞれに対応するビットにより構成される。Aは、部品番号を示し、B~Nは、顔認証の登録者を示す(この場合は、B~Nが基本となる画像の別を表している)。B~Nのうち、Bが1であるならば、その本体データは登録者Bを示すとともに、元データ登録ファイルのBに対応する基本となる画像を示す。ここで、基本となる画像とは、登録者の顔をフレームに合わせた特定の顔写真である。フラグが、「1」であれば、本体データ又は学習情報が既に登録されており、「0」であれば、本体データ及びは学習情報が未登録であることを示す。 Here, the data to be registered will be described by taking as an example image recognition in which the image of the person registered in the system is searched. In the preprocessing of the data to be registered in the system, the resolution of each image is adjusted, and at the same time, the basic image is ANDed with the image of the same registrant taken under different conditions. By filtering this data and performing diffusion processing on the filtered data, two types of compressed data are created. One of the two types of data is one of the data registered in the learning memory, and is referred to as the main body data here. The main body data that can be registered is only unique data, and the same data that has already been registered cannot be registered. A registration number and learning information are added to this learning memory in addition to the main body data at the time of registration. Additional registration is possible for learning information even if the main body data is the same. The basic configuration of the learning information is as shown in FIG. 10 when the registration data of the learning memory for image recognition is shown as an example. The learning information is composed of bits corresponding to each of A to N. A indicates a part number, and B to N indicate a registrant of face recognition (in this case, B to N represent different images based on the image). If B is 1 among B to N, the main body data indicates the registrant B and the basic image corresponding to B of the original data registration file. Here, the basic image is a specific facial photograph in which the face of the registrant is fitted to the frame. If the flag is "1", the main body data or learning information is already registered, and if it is "0", it means that the main body data or learning information is not registered.
 もう1つのデータは、学習メモリの登録番号を検索するためのメモリである検索メモリ1に入力するデータである。検索メモリ1は複数の分割メモリで構成されており、入力データを分割した分割データの其々は其々の分割メモリのアドレスに対応している。 検索メモリ1の入力データを用いて検索メモリ1から学習メモリの登録番号を読み出し、この登録番号を用いて学習メモリの学習情報を読み出すことになる。学習情報は、登録者や、画像を分割した場合は分割画像の位置情報等で構成される。学習情報で、図1および2に記載の元データ登録ファイルを検索すれば基本となる画像を知ることができる。すなわち、本システムでは画像データがなくとも画像データを特長づけるデータが分かれば登録画像が検索できる。 The other data is the data to be input to the search memory 1 which is the memory for searching the registration number of the learning memory. The search memory 1 is composed of a plurality of divided memories, and each of the divided data obtained by dividing the input data corresponds to the address of each divided memory. The registration number of the learning memory is read from the search memory 1 using the input data of the search memory 1, and the learning information of the learning memory is read using this registration number. The learning information is composed of the registrant, the position information of the divided image when the image is divided, and the like. The basic image can be known by searching the original data registration file shown in FIGS. 1 and 2 in the learning information. That is, in this system, even if there is no image data, the registered image can be searched if the data characteristic of the image data is known.
 元データ登録ファイルには、図10のB~Nで表されるデータを登録番号にして、B~Nに対応する基本となる画像をそれぞれ登録する。本例ではB~Nで表されるデータが基本となる登録画像の別を表す。本システムでは撮影条件の異なる基本となる登録画像を入力画像として、学習メモリに学習情報を登録することで、本システムにおける学習が行われる。これらの登録した任意の画像で検索すると、例えば、検索画像が登録者Bのものであれば、読み出した学習情報のBは1となる。これは基本となる登録画像と少し異なる画像を基本となる画像と同じであると学習させたためである。この関係から元データ登録ファイルには基本となる登録画像のみ登録することができる。基本となる登録画像と異なる画像を元データファイルに登録する場合は別名で別領域に登録する必要がある。 In the original data registration file, the data represented by B to N in FIG. 10 is used as the registration number, and the basic images corresponding to B to N are registered respectively. In this example, the data represented by B to N represents the distinction between the basic registered images. In this system, learning is performed in this system by registering learning information in a learning memory using basic registered images with different shooting conditions as input images. When searching with any of these registered images, for example, if the search image belongs to the registrant B, the read learning information B is 1. This is because the image that is slightly different from the basic registered image is learned to be the same as the basic image. From this relationship, only the basic registered image can be registered in the original data registration file. When registering an image different from the basic registered image in the original data file, it is necessary to register it in another area with another name.
 図11に、0~9の数字を認識するための学習メモリの登録データの例を示す。この例では、数字「2」に関する学習メモリの登録データを説明する。まず、MSPゴシックの「2」をベースとし、偶奇分離によるプーリングを行い丸(1)~丸(4)に示されるように、形状の異なる4種類の「2」を学習させている。それら4種類の「2」について、部品番号(部品座標)0~Nに対応する縦列分離データを作成する。部品番号Iを例にすると、学習メモリには登録番号をアドレスとして、14~30ビットの本体データ(縦列分離データのI列のデータ、すなわち部品番号“I”のビットデータ)、並びに、学習情報として数字情報(「0010000000」)及び部品番号(“I”の位置が「1」、その他が「0」であるデータ)が登録される。検索メモリ1との関係を説明しておくと、本体データが、拡散処理され、キーデータとなり、キーデータが検索メモリ1に登録される。そして、キーデータをアドレスとして、学習メモリの登録番号が、検索メモリ1に登録される。 FIG. 11 shows an example of registration data of the learning memory for recognizing the numbers 0 to 9. In this example, the registration data of the learning memory regarding the number "2" will be described. First, based on the MS P Gothic "2", pooling is performed by even-odd separation to learn four types of "2" with different shapes as shown in circles (1) to (4). Parallel parking data corresponding to part numbers (part coordinates) 0 to N is created for these four types of "2". Taking the part number I as an example, the learning memory has 14 to 30 bits of main body data (data in column I of column separation data, that is, bit data of part number “I”) and learning information with the registration number as an address. Numerical information (“0010000000”) and part number (data in which the position of “I” is “1” and the others are “0”) are registered as. Explaining the relationship with the search memory 1, the main body data is diffused and becomes key data, and the key data is registered in the search memory 1. Then, the registration number of the learning memory is registered in the search memory 1 with the key data as the address.
 図12に、上述のMSPゴシックの「2」の例を基にして、偶奇分離によるプーリングの基本的な考え方を示す。まず、「2」の画像データ(元画像)のデジタル変換を行う。元画像のグレイ表示データとして、画素の値を256階調(0~255)で表している。そして、一定の階調を閾値として、白とする画素を「0」、黒とする画像を「1」として、元画像の2進数表示データを得る。得られた、元画像の2進数表示データの縦列の番号が奇数の列だけを抜き出したデータと、同じく縦列の番号が偶数の列だけを抜き出したデータを作成する。このように列の偶数番号と奇数番号のデータをそれぞれ取り出す処理を偶奇分離と呼ぶ。さらに、縦列の偶奇分離によって得られた2つのデータのそれぞれに対して、横列の偶奇分離を行い、横列の奇数番号のデータのみからなる丸(1)および丸(3)、並びに横列の偶数番号のデータのみからなる丸(2)および丸(4)を得る。このように、1枚の元画像から4種類のプーリング形態の画像データが生成される。これら丸(1)および丸(4)の画像データによって、元画像の2進数表示データが有している画像情報は全て保存される。 FIG. 12 shows the basic concept of pooling by even-odd separation based on the above-mentioned example of MS P Gothic “2”. First, digital conversion of the image data (original image) of "2" is performed. As the gray display data of the original image, the pixel value is represented by 256 gradations (0 to 255). Then, the binary display data of the original image is obtained by setting a constant gradation as a threshold value, setting the pixel to be white as "0", and setting the image to be black as "1". The data obtained by extracting only the columns having odd column numbers in the binary display data of the original image and the data extracting only the columns having even numbers in the parallel columns are created. The process of extracting even-numbered and odd-numbered data in a column in this way is called even-odd separation. Furthermore, even-odd separation of the rows is performed for each of the two data obtained by parallel-odd separation, and circles (1) and circles (3) consisting only of odd-numbered data in the rows, and even numbers in the rows. Obtain circles (2) and circles (4) consisting only of the data of. In this way, four types of pooling form image data are generated from one original image. The image data of the circles (1) and (4) saves all the image information contained in the binary display data of the original image.
 ここからは、学習メモリや検索メモリ1に登録するデータの前処理をさらに詳細に説明する。例えば、検索時に入力される画像が、比較対象の画像にどの程度近いかを判定する場合、正確に判定するためには画像の解像度を高くする必要があり、解像度が高くなると情報量も多くなる。情報量が多くなるとに個々の情報に焦点を合わせる必要が生じ、解像度に合わせて画像を分割する必要が生じる。画像を分割した単位で比較するためには、画像の部品化が必須となり、分割した画像(画像データ)を部品(部品データ)と呼ぶ。 From here, the preprocessing of the data to be registered in the learning memory and the search memory 1 will be explained in more detail. For example, when determining how close an image input during a search is to the image to be compared, it is necessary to increase the resolution of the image in order to make an accurate determination, and the higher the resolution, the larger the amount of information. .. As the amount of information increases, it becomes necessary to focus on individual information, and it becomes necessary to divide the image according to the resolution. In order to compare images in divided units, it is essential to make the images into parts, and the divided images (image data) are called parts (part data).
 学習メモリや検索メモリ1に登録する画像データは次のようになる。登録する1枚の画像データを例にとると画像を分割した場合のデータは次のような階層構成を有することになる。 The image data registered in the learning memory and the search memory 1 are as follows. Taking one image data to be registered as an example, the data when the image is divided has the following hierarchical structure.
 (1)画像の全体データ
 (2)全体データを分割した部品データ
 (3)部品データから作成するフィルタリングデータ
ここで、例えば(2)の画像の分割数(部品数)を64、(3)のフィルタリング数を8とすると1枚の画像は64×8=512より512個のデータで構成されることになる。
(1) Overall image data (2) Parts data obtained by dividing the entire data (3) Filtering data created from the parts data Here, for example, the number of divided images (number of parts) in (2) is 64, and (3). Assuming that the number of filtering is 8, one image is composed of 512 data from 64 × 8 = 512.
 顔認証の例では、全体データから部品データとフィルタリングデータを作成するために、部品データの作成前に前処理として比較データ(基準となる画像)と登録データ(検索・登録時の画像)のAND処理を行い荒い特徴抽出を行う。次に特徴抽出後の全体データを分割し部品データを作成する。 In the face recognition example, in order to create part data and filtering data from the entire data, AND of comparison data (reference image) and registration data (image at the time of search / registration) as preprocessing before creating part data. Performs processing and rough feature extraction. Next, the entire data after feature extraction is divided to create component data.
 先の通り、64分割とすると縦横共に8分割し、処理順序に従い分割画像(部品)に例えば0~63まで番号を付加し、その番号順に処理する。部品データのフィルタリングには色々考えられるがここではプーリング処理を行う。プーリング処理は、画像微小変形を除くのに有効である。プーリング処理は、ほぼ同じ大きさの正面画像の比較を行う場合は有効なフィルタリング処理である。具体例を挙げると、部品データを「縦2ドット×横2ドット」の領域で分割し、この中に所定量の数値情報、例えば白黒を「0」と「1」で表した場合、「1」が1個でも含まれていた場合「1」と判断する。このようにすると、例えば縦の太さが少しぐらい異なっていても同じ太さと認識される。つまり、フィルタリングにより互いに似たデータであれば同じデータと認識させることができる。縦横のドット数を適当に変化させることでどの程度似ていれば同じデータと認識できるかを調節することができる。 As mentioned above, if it is divided into 64, it is divided into 8 in both vertical and horizontal directions, numbers are added to the divided images (parts) according to the processing order, for example, from 0 to 63, and the images are processed in the order of the numbers. There are various possibilities for filtering component data, but here, pooling processing is performed. The pooling process is effective in removing minute image deformation. The pooling process is an effective filtering process when comparing front images of almost the same size. To give a specific example, when the component data is divided into areas of "vertical 2 dots x horizontal 2 dots" and a predetermined amount of numerical information, for example, black and white is represented by "0" and "1", "1". If even one "" is included, it is judged as "1". By doing so, for example, even if the vertical thickness is slightly different, it is recognized as the same thickness. That is, if the data are similar to each other by filtering, they can be recognized as the same data. By appropriately changing the number of dots in the vertical and horizontal directions, it is possible to adjust how similar the data can be recognized as the same data.
 分割した画像データを学習メモリの本体データとして登録する場合、次のような方法を用いる。 When registering the divided image data as the main body data of the learning memory, the following method is used.
 (a)一番下の階層にあるフィルタリングデータを作成する。部品データをフィルタリングすると何種類かの特徴抽出度の異なるデータが生成されることになる。従ってこのレベルになると部品データが異なってもフィルタリングデータとしては同じデータと認識されることがある。フィルタリングデータのレベルで同じデータなら拡散しても同じデータになる。同じデータなら登録番号も同じである。しかし、学習情報は部品が異なれば異なることになる。このような意味からフィルタリングデータは登録データの中で最も基本となるデータであり最下層にあるデータということができる。 (A) Create filtering data at the bottom level. Filtering component data will generate several types of data with different degrees of feature extraction. Therefore, at this level, even if the component data is different, it may be recognized as the same data as filtering data. If the data is the same at the level of filtering data, it will be the same data even if it is diffused. If the data is the same, the registration number is also the same. However, the learning information will be different if the parts are different. In this sense, the filtering data is the most basic data among the registered data and can be said to be the data at the bottom layer.
 (b)作成順にフィルタリングデータを拡散処理し40~120ビットの本体データを作成する。   (B) Diffuse the filtering data in the order of creation to create 40-120 bit main unit data. The
 (c)本体データに学習情報と既登録の有無を確認するフラグを付加し、学習メモリに登録する。本体データの多重登録は不可であるが、学習情報については追加登録ができる。 (C) Add learning information and a flag to confirm whether or not it has already been registered to the main body data, and register it in the learning memory. Multiple registration of main unit data is not possible, but additional registration is possible for learning information.
 先の顔認証の例では、1枚の画像について512個フィルタリングデータが作成され、作成順序に従いこのデータをシリアルに登録することになる。ただし、作成したフィルタリングデータが既登録の場合は登録できず、未登録の場合のみ登録されることになる。このため、登録動作は1枚の画像につき必ず512回行うが、実際の登録数は512以下になる。 In the previous face recognition example, 512 filtering data are created for one image, and this data is serially registered according to the creation order. However, if the created filtering data is already registered, it cannot be registered, and it will be registered only if it is not registered. Therefore, the registration operation is always performed 512 times per image, but the actual number of registrations is 512 or less.
 検索メモリ1の入力データの作成は拡散処理の部分を除くと学習メモリの本体データ作成と同じデータを用い同じ手順で作成する。大きな違いは入力データのビット数を検索メモリ1の分割メモリの構成に合わせる必要があり、この構成に合った拡散処理を行う必要がある。 The input data of the search memory 1 is created by the same procedure using the same data as the main body data creation of the learning memory except for the diffusion processing part. The big difference is that it is necessary to match the number of bits of the input data with the configuration of the divided memory of the search memory 1, and it is necessary to perform the spreading process according to this configuration.
 ビット数を分割メモリの構成に合わせられた検索メモリ1の入力データ(キーデータ)はn個に分割され、それらをアドレスとして、図13に示される様に、学習メモリの登録番号が検索メモリ1に登録される。本例では検索メモリの入力データをn個に分割し、分割した各分割データを各分割メモリのアドレスに対応付けている。検索メモリ1への登録は左右から同じ登録番号を登録する。分割メモリを並列に読み出したとき同じ登録番号が読み出されたらその登録番号が、学習情報を格納している学習メモリのアドレス(登録番号)である。図13では検索メモリ1が2mワードの分割メモリn個から構成されるため入力データのビット長はm×n bitとなり、フィルタリングデータから作成される拡散処理後のビット数をこのビット数に合わせている。検索メモリ1には前述したように左右から学習メモリの登録番号を分割メモリに登録する。対応した分割メモリにm ビットの分割データが示すアドレスに登録する。
左右から2か所に同じ登録番号を登録することで、分割メモリを並列に読み出すと同じ登録番号が読み出され、この登録番号が学習メモリの読み出しアドレスになる。
検索メモリ1に登録できるデータ数はおおよそ次式で表せる。
The input data (key data) of the search memory 1 whose number of bits is matched to the configuration of the divided memory is divided into n pieces, and the registration number of the learning memory is the search memory 1 as shown in FIG. To be registered in. In this example, the input data of the search memory is divided into n pieces, and each divided data is associated with the address of each divided memory. For registration in the search memory 1, the same registration number is registered from the left and right. If the same registration number is read when the divided memories are read in parallel, the registration number is the address (registration number) of the learning memory storing the learning information. In FIG. 13, since the search memory 1 is composed of n divided memories of 2 m words, the bit length of the input data is m × n bits, and the number of bits after diffusion processing created from the filtering data is adjusted to this number of bits. ing. In the search memory 1, as described above, the registration numbers of the learning memory are registered in the divided memory from the left and right. Register to the address indicated by the m-bit split data in the corresponding split memory.
By registering the same registration number in two places from the left and right, the same registration number is read when the divided memory is read in parallel, and this registration number becomes the read address of the learning memory.
The number of data that can be registered in the search memory 1 can be roughly expressed by the following equation.
 
   最大登録数= (n-8)(2m)/2  
 
 分割メモリ数が10個(n=10)を例として、左右登録を説明すると、検索メモリ1への登録は、第1区分の分割キーデータをアドレスとして第1列目の分割メモリに学習メモリの登録番号を登録し、この登録を繰り返す。しかし、キーデータとしてはユニークであっても分割キーデータで見るとユニークではなくなるため、分割キーデータの衝突が発生することになる。この場合は第2区分の分割キーデータをアドレスとして、第2列目の分割メモリに学習メモリの登録番号を登録する。それでも衝突が発生すると、第3列目乃至5列目の衝突しない分割メモリに登録する。登録が終わったら第1区分に戻って登録を続ける。この左右登録では第1区分の登録と同時に第10区分側についても同様な方法で、同じ登録番号の登録を行う。例えば、第10区分の分割キーデータを用いて、第10列目の分割メモリへ登録する際に分割キーデータが衝突した場合、第9区分の分割キーデータを用いて隣の第9列目の分割メモリに第1区分と同じ登録番号を登録する。それでも衝突が発生すると、第6列目乃至第8列目の衝突しない分割メモリに登録する。登録が終わったら第10区分に戻って登録を続ける。左右登録の場合、複数の読み出しデータの中で一致するデータが読み出し対象の登録番号となる。一致するデータがなければ読み出し対象の登録番号は無いということになる。この方法を用いれば1回の読み出し動作で読み出し結果が得られることになる。この検索メモリ1及び2は、これらステップを制御する制御回路も備えている。

Maximum number of registrations = (n-8) (2 m ) / 2

Taking the number of divided memories of 10 (n = 10) as an example, left and right registration will be described. In the registration to the search memory 1, the division key data of the first division is used as an address and the learning memory is stored in the divided memory of the first column. Register the registration number and repeat this registration. However, even if the key data is unique, it will not be unique when viewed from the divided key data, so that a collision of the divided key data will occur. In this case, the registration number of the learning memory is registered in the divided memory of the second column using the divided key data of the second division as the address. If a collision still occurs, the data is registered in the non-collision split memory of the third to fifth columns. After registration is complete, return to the first category and continue registration. In this left-right registration, the same registration number is registered on the 10th division side at the same time as the registration of the 1st division by the same method. For example, if the division key data collides when registering in the division memory of the 10th column using the division key data of the 10th division, the division key data of the 9th division is used and the adjacent 9th column is used. Register the same registration number as the first division in the divided memory. If a collision still occurs, it is registered in the non-collision split memory of the 6th column to the 8th column. After registration is complete, return to the 10th category and continue registration. In the case of left / right registration, the matching data among the plurality of read data becomes the registration number to be read. If there is no matching data, it means that there is no registration number to be read. If this method is used, the read result can be obtained by one read operation. The search memories 1 and 2 also include a control circuit for controlling these steps.
 次に学習情報を読み出し、それに基づき登録データを読み出す推論について説明する。推論では夫々の部品からキーデータを作成し、キーデータで検索メモリを検索し、検索結果を登録番号として、それに基づき学習メモリをアクセスし学習情報を読み出す。読み出した複数の学習情報を多数決判定し正解情報を抽出することになる。特に、入力した入力データをフィルタリングし、検索メモリ1のフィルタリングデータを作成し、このデータを用いて、特定の画像を読み出す方法を説明する。 Next, the inference to read the learning information and read the registered data based on it will be explained. In inference, key data is created from each component, the search memory is searched by the key data, the search result is used as a registration number, the learning memory is accessed based on the registration number, and the learning information is read out. The majority of the read learning information is judged and the correct answer information is extracted. In particular, a method of filtering the input input data, creating the filtering data of the search memory 1, and using this data to read out a specific image will be described.
 先の分割した画像の例では、まず、入力データである比較画像の分割を行い、それぞれフィルタリングデータを作成する。例えば、フィルタリング処理が1部品に対して8種類行われるならば、1部品に対して、8個のフィルタリングデータが得られる。次に各フィルタリングデータを拡散処理するにより、検索メモリ1の入力データを作成する。この検索メモリ1の入力データを用いて、検索メモリ1から学習メモリの登録番号を読み出す。図14に示されるように、データが登録されていればn個の読み出しデータの中に一致するデータがある。一致したデータが有れば、それが検索データが格納されている学習メモリの登録番号である。一致したデータが無ければ登録データは無いと判断する。
この登録番号を用いて、学習メモリから学習情報を読み出す。図15に学習情報の例を示す。図10に示される学習情報A乃至Nには、例えば、Xさん(登録者)、26(部品座標)、h(フィルタリングの種類を示す、フィルタリング番号)のような情報を登録してもよい。
In the above example of the divided image, first, the comparison image which is the input data is divided, and filtering data is created for each. For example, if eight types of filtering processing are performed for one component, eight filtering data can be obtained for one component. Next, the input data of the search memory 1 is created by spreading the filtering data. Using the input data of the search memory 1, the registration number of the learning memory is read from the search memory 1. As shown in FIG. 14, if the data is registered, there is matching data among the n read data. If there is matching data, it is the registration number of the learning memory in which the search data is stored. If there is no matching data, it is judged that there is no registered data.
The learning information is read from the learning memory using this registration number. FIG. 15 shows an example of learning information. Information such as Mr. X (registrant), 26 (part coordinates), and h (filtering number indicating the type of filtering) may be registered in the learning information A to N shown in FIG.
 図16に、顔認証において、学習情報を設定した場合の具体例を示す。当然ではあるがフィルタリング処理後の部品画像は多数の人に共有されることがある。すなわち、異なる人の画像であっても、同一の本体データとなる場合がある。しかし、学習メモリに登録できるフィルタリング後の部品画像(本体データ)は同じデータが現れた場合は登録できない。そこで、この本体データに各人物の特徴あるいは識別情報を学習情報として追加するようにし、学習情報が異なれば本体データが同じでも追加の学習情報を登録することができる。このようにすると、学習済みの学習データで認証を行うと、各部品にその認証対象者の特徴レベルと認識情報が現れる。未学習のデータで認証を行うと部品レベルで学習情報が一致する割合が非常に少なくなる。この一致割合により、学習済みか否かの判断ができるようになる。その人物が学習済みか否かを特長付けるデータ(その人物を特定するのに必要な各種情報、例えば、認証対象者を識別する識別フラグ、写真番号、写真のバーツ番号、プーリング番号(フィルタリング番号)、各部品レベルの一致情報等)が学習情報である。学習情報と部品化した元データ(基準画像でもよい)の対応ファイルを作成しておけば、推論データから一致部分を元データ登録ファイルで確認することができる。 FIG. 16 shows a specific example when learning information is set in face recognition. As a matter of course, the component image after the filtering process may be shared by a large number of people. That is, even if the images of different people are the same, the main body data may be the same. However, the filtered component image (main unit data) that can be registered in the learning memory cannot be registered when the same data appears. Therefore, the characteristics or identification information of each person can be added to the main body data as learning information, and if the learning information is different, additional learning information can be registered even if the main body data is the same. In this way, when authentication is performed with the learned learning data, the feature level and recognition information of the person to be authenticated appear in each component. When authentication is performed with unlearned data, the ratio of learning information matching at the component level becomes very small. Based on this matching ratio, it becomes possible to judge whether or not learning has been completed. Data that characterizes whether or not the person has been learned (various information necessary to identify the person, such as an identification flag that identifies the person to be authenticated, a photo number, a baht number of a photo, and a pooling number (filtering number)). , Matching information at each component level, etc.) is learning information. If a file corresponding to the learning information and the original data (which may be a reference image) that has been made into parts is created, the matching part can be confirmed from the inference data in the original data registration file.
 部品単位で読み出された学習情報を用いて検索データを判定し、部品単位の判定結果それぞれに対し、多数決をとることで、全体画像の特定及び読み出しを行う。すなわち、部品単位で読み出した複数の学習情報を多数決判定し、それにより特定された登録者の画像が読み出される。図2における該当部分を説明すると、部品単位での学習メモリからの学習情報(読み出しデータ丸(3))を、全体画像単位で多数決判定し、登録者を特定する。その情報を用いて、登録者の画像(読み出しデータ丸(1))を出力データとして得ることができる。 The search data is judged using the learning information read out for each part, and the entire image is specified and read out by taking a majority vote for each judgment result for each part. That is, a majority decision is made on a plurality of learning information read out for each component, and the image of the registrant specified by the majority decision is read out. Explaining the relevant part in FIG. 2, the learning information (read data circle (3)) from the learning memory for each part is determined by majority vote for each whole image, and the registrant is specified. Using that information, the image of the registrant (read data circle (1)) can be obtained as output data.
 次に、本検索エンジンを用いた顔認証画像処理について説明する。図17が、顔認証画像処理のアルゴリズムである。本例では、学習メモリは8k word×64bitで構成され、検索メモリ1は8k word ×(13bit+αbit)のメモリ10個で構成される。 Next, face recognition image processing using this search engine will be described. FIG. 17 is an algorithm for face recognition image processing. In this example, the learning memory is composed of 8kword × 64bit, and the search memory 1 is composed of 10 8kword × (13bit + αbit) memories.
 まず、学習(検索対象のデータをシステムに登録する)では、学習の最初の元画像はHD(1080×800画素)であり、データが大きいため、この画像から登録者の特徴をつかむため、登録者の代表とする画像から、顔の一部分を顔画像として取り出した基準画像を作成する。同じ登録者のその他の画像に対しては、基準画像とのAND処理を行い、入力画像の特徴部分を抽出した画像データを作成する。次いでフィルタリング処理をして登録の元である学習部品となるデータを作成する。学習部品は、フィルタの種類(数)に応じてそれぞれ作成されることになる。 First, in learning (registering the data to be searched in the system), the first original image of learning is HD (1080 x 800 pixels), and since the data is large, it is registered in order to grasp the characteristics of the registrant from this image. A reference image is created by extracting a part of the face as a face image from the representative image of the person. For other images of the same registrant, AND processing with the reference image is performed, and image data obtained by extracting the characteristic portion of the input image is created. Next, filtering processing is performed to create data that is a learning component that is the source of registration. Learning components will be created according to the type (number) of filters.
 フィルタリング処理後のデータが検索エンジンの登録データとなり、元画像データはこの作業で学習部品に変換される。
フィルタリングの内容により学習部品のデータビット数が異なるので、フィルタリング後、最大のビット数をもつデータにそろえるため、下位ビットに「0」を加えビット数の調整を行う。本例では216ビットに標準化する。この揃えたビット数が大きく、データの偏りも大きいので、拡散処理を行い40ビットに変換し、学習メモリに登録する。一方、検索メモリ1への登録は、分割メモリの登録数に合わせ拡散処理により120ビットとし、検索メモリ1に登録する。
The data after the filtering process becomes the registered data of the search engine, and the original image data is converted into learning parts by this work.
Since the number of data bits of the learning component differs depending on the content of filtering, after filtering, "0" is added to the lower bits to adjust the number of bits in order to align the data with the maximum number of bits. In this example, it is standardized to 216 bits. Since the number of aligned bits is large and the data bias is large, diffusion processing is performed to convert the bits into 40 bits, and the data is registered in the learning memory. On the other hand, the registration in the search memory 1 is 120 bits by diffusion processing according to the number of registrations in the divided memory, and is registered in the search memory 1.
 また、推論では、入力画像をフィルタリングし拡散処理するまでは上記学習と同じである。推論ではフィルタリングにより得られた学習部品を拡散処理しキーデータを作成した後、そのキーデータで検索メモリ1の検索を行う。検索メモリ1の検索は分割したキーデータで全分割メモリを同時検索し、一致データを求める。求めた一致データで学習メモリを検索し、学習情報を取り出す。取り出した学習情報の多数決判定により推論結果を出力する。 In addition, inference is the same as the above learning until the input image is filtered and diffused. In the inference, the learning component obtained by filtering is diffused to create key data, and then the search memory 1 is searched with the key data. In the search of the search memory 1, the all-divided memory is simultaneously searched with the divided key data, and the matching data is obtained. The learning memory is searched with the obtained matching data, and the learning information is fetched. The inference result is output by the majority judgment of the extracted learning information.
 本アルゴリズムによる顔認証の概略フローを示すと図18のようになる。例えば1080×800の膨大なピクセル数の画像を処理する場合は、画像処理ツールを用いて、この画像から輝度情報だけを取り出し、2値化と画素の調整を行う操作を次に行う。通常の人物画像は髪の毛の部分が多いし、背景の部分が存在し髪形や背景の影響を受けることになる。このため単純に全体の分割を行うのではなく、顔の特徴に関係する顔の一部分を顔画像として取り出すことが多い。登録者の輪郭周辺より外側の情報を削除する処理を輪郭処理と呼ぶ。本例では、その輪郭処理を行い、基準画像によるAND処理、及び部品化を行う。顔の目鼻口の輪郭とそれらの距離が判れば、登録されている人かどうかを認識することができるため、輪郭処理を行う。輪郭処理は道路に関する輪郭情報が把握できれば自動運転等にも有効である。認識可能な範囲で画像の解像度を落として輪郭処理を行うと、輪郭の周辺にランダムな矩形情報(ランダムなドット)が現れるが、この情報は通常のフィルタリングを行っても除去できない。このフィルタリングを行っても除去できない情報を取り除くため、基準となる輪郭画像を決め、基準となる輪郭画像と学習する輪郭画像のAND処理を行っている。この方法は正常部品と不良部品のAND処理により不良個所の特定にも有効である。AND処理後のデータを多数の部品に分解すると、似ている画像ならフィルタリングレベルで同じ部品が多数発生し、違っている場所の特定も可能になる。従ってAND処理と部品に分割することにより学習済み画像と検索画像がどの程度一致するか数値化可能になる。 Figure 18 shows the outline flow of face recognition by this algorithm. For example, when processing an image having a huge number of pixels of 1080 × 800, an image processing tool is used to extract only the luminance information from this image, and then perform operations such as binarization and pixel adjustment. A normal person image has many hair parts, and there is a background part, which is influenced by the hairstyle and the background. For this reason, instead of simply dividing the entire face, a part of the face related to facial features is often taken out as a facial image. The process of deleting information outside the contour of the registrant is called contour process. In this example, the contour processing is performed, the AND processing using the reference image, and the componentization are performed. If the contours of the eyes, nose and mouth of the face and their distances are known, it is possible to recognize whether or not the person is a registered person, so contour processing is performed. Contour processing is also effective for automatic driving if the contour information about the road can be grasped. When contour processing is performed by reducing the resolution of the image within the recognizable range, random rectangular information (random dots) appears around the contour, but this information cannot be removed by normal filtering. In order to remove information that cannot be removed even by performing this filtering, a reference contour image is determined, and AND processing is performed between the reference contour image and the contour image to be learned. This method is also effective in identifying defective parts by ANDing normal parts and defective parts. When the data after AND processing is decomposed into a large number of parts, many of the same parts are generated at the filtering level for similar images, and it is possible to identify different locations. Therefore, by performing AND processing and dividing into parts, it becomes possible to quantify how much the learned image and the search image match.
 これら前処理の後、フィルタリング処理するが、学習のためには多くの学習部品の作成を行い、学習部品に対応する学習情報の登録を行う。顔認識では顔全体を処理するには大きすぎるので顔全体をパーツに分割する顔部品データの作成、すなわち部品化が必要である。この部品化は、全ての登録者に対して行う。図19に、の顔部品データの作成アルゴリズムを示す。ここでは、前処理により作成した輝度変換後の顔写真(144×144の画素を有する)を2値画像(例えば、データ形式はBMPである)に変換し、2値信号化する(この場合、数値データは、R=G=Bである)。そして、プーリング処理により画像データを1/4に圧縮し、画像サイズ(ドット数)を72×72の画素に調整し、1枚目の写真データを用いて得られたデータを加工して、基準データ(基準画像)を作成する。そして、その画像を分割し、12×36の画素で構成される12個の部品データを作成する。基準画像は入力画像の特徴部分を抽出するために使用する。このため学習する複数の画像を特徴抽出が可能な画像にグループ化し、各グループ毎に基準画像を作成する。画像の回転、位置ずれ等が大きく、画像が多数ある場合は画像を複数のグループに分類しグループ毎に基準画像を作成し、この基準画像でグループ内の特徴抽出を行うことになる。図20に、基準画像(基準データ)の作成例を示す。本例では、登録者毎に基準画像を作成している。登録者の代表とする入力画像に対して、四角で囲われている部分のみを残し、その他の情報は削除している。残したい部分については目的に合わせ指定することができる。 After these pre-processing, filtering processing is performed, but for learning, many learning parts are created and learning information corresponding to the learning parts is registered. Since face recognition is too large to process the entire face, it is necessary to create face component data that divides the entire face into parts, that is, to make parts. This componentization is performed for all registrants. FIG. 19 shows an algorithm for creating face component data. Here, the face photograph (having 144 × 144 pixels) after the luminance conversion created by the preprocessing is converted into a binary image (for example, the data format is BMP) and converted into a binary signal (in this case, BMP). The numerical data is R = G = B). Then, the image data is compressed to 1/4 by the pooling process, the image size (number of dots) is adjusted to 72 × 72 pixels, and the data obtained by using the first photographic data is processed to be a reference. Create data (reference image). Then, the image is divided to create twelve component data composed of 12 × 36 pixels. The reference image is used to extract the characteristic part of the input image. Therefore, a plurality of images to be learned are grouped into images capable of feature extraction, and a reference image is created for each group. When the rotation and misalignment of the image are large and there are many images, the images are classified into a plurality of groups, a reference image is created for each group, and the features in the group are extracted with this reference image. FIG. 20 shows an example of creating a reference image (reference data). In this example, a reference image is created for each registrant. For the input image that is the representative of the registrant, only the part surrounded by the square is left, and other information is deleted. The part you want to keep can be specified according to the purpose.
 異なる条件下で撮影した同じ登録者の2枚目以降の写真データについては、プーリング処理までは1枚目の基準データと同様の処理を行い、その後、プーリング後のデータと基準データとでAND処理を行うことで、入力画像の特徴部分を抽出し、得られた画像を分割し、12×36の画素で構成される12個の部品データ(顔部品データ)を作成する。これらの処理を同じ登録者のその他の写真データについても繰り返す。 For the second and subsequent photo data of the same registrant taken under different conditions, the same processing as the standard data of the first image is performed until the pooling process, and then the data after pooling and the standard data are ANDed. By performing the above, the characteristic portion of the input image is extracted, the obtained image is divided, and 12 component data (face component data) composed of 12 × 36 pixels are created. These processes are repeated for other photo data of the same registrant.
 本例の顔認識では図21に示されるように顔部品データのそれぞれに対して特長抽出のフィルタリング処理を行う。本例では9種類のフィルタを用いており、このフィルタを用いたフィルタリング後の各々のデータが学習部品になる。フィルタリング後のデータは様々なビット数になるため、下位ビットに「0」を加えビット長を同じ長さに合わせる処理を行う(ここでは、216ビットに合せている)。そして、そのデータに、5ビットのパスワード情報を追加し、221ビットの長さを有するデータを作成する。パスワードは、拡散処理後の正しいデータを導くための、暗号キーである。この暗号キーが正しくなければ、拡散処理において正しい出力を得ることができない。その後、拡散処理により学習メモリの40ビットの学習メモリの学習部品(図5の本体データに対応)と120ビットの検索メモリ1のキーデータ(図6の登録データに対応)を作成する。ここで、学習メモリの40ビットは、221ビットのデータから直接作成してもよいし、120ビットの検索メモリ1のキーデータから作成してもよい。さらに、120ビットの検索メモリ1のキーデータに、64ビットのパスワードを追加して、学習メモリの40ビットを作成することもできる。 In the face recognition of this example, as shown in FIG. 21, each of the face component data is subjected to feature extraction filtering processing. In this example, nine types of filters are used, and each data after filtering using this filter becomes a learning component. Since the data after filtering has various bit numbers, "0" is added to the lower bits to match the bit lengths to the same length (here, 216 bits are matched). Then, 5-bit password information is added to the data to create data having a length of 221 bits. The password is an encryption key for guiding the correct data after the spreading process. If this encryption key is not correct, the correct output cannot be obtained in the spreading process. After that, the learning component of the 40-bit learning memory of the learning memory (corresponding to the main body data of FIG. 5) and the key data of the 120-bit search memory 1 (corresponding to the registered data of FIG. 6) are created by the spreading process. Here, the 40 bits of the learning memory may be created directly from the 221-bit data or may be created from the key data of the 120-bit search memory 1. Further, a 64-bit password can be added to the key data of the 120-bit search memory 1 to create 40 bits of the learning memory.
 推論では図22に示すように12×36画素の顔部品データをフィルタリング処理し、学習時と同じ方法で拡散処理を行い検索メモリ1の120ビットのキーデータを作成する。このキーデータを用いて検索メモリの分割メモリを全部読み出し、一致データを抽出し、この一致データを登録番号(エントリアドレス)として学習メモリにアクセスし学習情報を読み出す。学習時にパスワードが設定されている場合、正しいパスワードがわからないと、正しいキーデータを作成することができず、正しいキーデータでなければ、正しい学習情報を読み出すことはできない。 In the inference, as shown in FIG. 22, the face component data of 12 × 36 pixels is filtered, and the diffusion processing is performed by the same method as at the time of learning to create 120-bit key data of the search memory 1. Using this key data, the entire divided memory of the search memory is read, the matching data is extracted, and the matching data is used as the registration number (entry address) to access the learning memory and read the learning information. If a password is set at the time of learning, the correct key data cannot be created unless the correct password is known, and the correct learning information cannot be read unless the key data is correct.
 検索メモリ1の読み出し結果に一致データが無ければ、学習情報は登録されていないと判断する。学習情報が登録されていない場合、その場で追加登録が必要であれば、追加登録することができる。追加登録をする場合は、学習時の処理と同じ手順で学習処理を行う。その場で追加登録できる部分は従来のCNNと異なり、追加登録に起因する既登録の他データに関する膨大な再計算は不要である。 If there is no matching data in the read result of the search memory 1, it is determined that the learning information is not registered. If the learning information is not registered, additional registration is possible if additional registration is required on the spot. When performing additional registration, the learning process is performed in the same procedure as the learning process. Unlike the conventional CNN, the part that can be additionally registered on the spot does not require a huge recalculation of other registered data due to the additional registration.
 拡散処理の具体例として、216ビットの入力データから検索メモリの登録データ(120ビット)を作成する例を示すと図23のようになる。前述したようにフィルタリング後のデータは54ビット~216ビットであり、ビット長がまちまちである。そこで、フィルタリング後のデータの下位に「0」を付加しデータ長を合わせるが、データに偏りが発生する。このため長さを合わせた216ビットのデータを均等な18ビットの長さで丸(1)~丸(12)の12列に分割する。上位1列から順番に3列目ごとのデータを抜き出し、Aとし、次に上位2列から順番に3列目ごとのデータをAと同様な方法でBとし、最後に上位3列から順番に3列目ごとのデータをAと同様な方法でCとする。このデータ列を3つ横にならべたものを(A、B、C)(B、C、A)(C、A、B)ビットとしシャッフル1~シャッフル3を作成する(A、B、Cを組み合わせて3倍のビット数にする操作をシャッフルと呼ぶ)。シャッフル1~シャッフル3をそれぞれ40ビットに拡散処理し、40ビットの拡散処理後のデータD、E、Fを作成しそれを組み合わせて120ビットにする。ここでは、シャッフル1~シャッフル3の216ビットに、パスワードの5ビット(ここでは、オール0)をそれぞれ追加し、221ビット入力、40ビット出力の拡散式を適用し、221ビットから40ビットをそれぞれ作成している。この120ビットのデータを検索メモリ1のキーデータとして使用する。 As a specific example of the diffusion process, FIG. 23 shows an example of creating registration data (120 bits) of the search memory from 216-bit input data. As described above, the filtered data is 54 bits to 216 bits, and the bit length varies. Therefore, "0" is added to the lower part of the filtered data to match the data length, but the data is biased. Therefore, the 216-bit data including the total length is divided into 12 columns of circles (1) to circles (12) with an equal length of 18 bits. The data for each third column is extracted in order from the top 1 column and designated as A, then the data for each third column is designated as B in the same manner as A in order from the top 2 columns, and finally in order from the top 3 columns. Let the data for each third column be C in the same way as A. Shuffle 1 to shuffle 3 are created by arranging three of these data strings horizontally as (A, B, C) (B, C, A) (C, A, B) bits (A, B, C). The operation of combining to triple the number of bits is called shuffle). Shuffle 1 to shuffle 3 are each spread to 40 bits, and 40-bit spread-processed data D, E, and F are created and combined to make 120 bits. Here, 5 bits of password (here, all 0) are added to 216 bits of shuffle 1 to shuffle 3, and a diffusion formula of 221 bit input and 40 bit output is applied, and 221 bits to 40 bits are applied respectively. Creating. This 120-bit data is used as the key data of the search memory 1.
 さらに、この120ビットのデータを図24のような形に変換し、拡散することで40ビットの学習メモリの学習部品(本体データ)とする。ここでは、上位37ビット及び下位64ビットは全て「0」としているが、この下位64ビットをパスワードを入力するビットとすることができる。ビット数を3分の1にすることで、リソースの低減を図ることができる。学習メモリの登録番号が検索メモリ1の登録データになるため、検索メモリ1の登録データと一緒に学習メモリの登録番号を作成すると効率が良い。 Further, this 120-bit data is converted into the form shown in FIG. 24 and diffused to be a learning component (main body data) of a 40-bit learning memory. Here, the upper 37 bits and the lower 64 bits are all set to "0", but the lower 64 bits can be used as the bit for inputting the password. Resources can be reduced by reducing the number of bits to one-third. Since the registration number of the learning memory becomes the registration data of the search memory 1, it is efficient to create the registration number of the learning memory together with the registration data of the search memory 1.
 得られた40ビットに、学習情報を付加し、学習メモリに登録する。学習情報は、顔認識の場合、登録する顔に番号を割り当て、その番号を学習情報とする等のように、認識する顔が特定できるデータである。この検索メモリ1のキーデータの作成方法や学習メモリの学習部品や学習情報の作成方法は一つの例であり、いろいろな方法が考えられる。 Learning information is added to the obtained 40 bits and registered in the learning memory. In the case of face recognition, the learning information is data that can identify the face to be recognized, such as assigning a number to the face to be registered and using the number as learning information. The method of creating the key data of the search memory 1 and the method of creating the learning component and the learning information of the learning memory are one example, and various methods can be considered.
 学習と推論のアルゴリズムについて一通り画像認識を例にとって説明したが、このアルゴリズムはこれに限られたものではなく、言語認識は単語、フレーズ、コンテキストを会話テーマの別に群として画像のごとく扱い、フィルタリング登録することもできる。 The learning and inference algorithms have been explained using image recognition as an example, but this algorithm is not limited to this, and language recognition treats words, phrases, and contexts as groups according to conversation themes and filters them like images. You can also register.
 ここで、フィルタリング処理とは、登録データのCNNの特徴抽出と同じで、畳み込みとプーリングを繰り返しながら特徴の抽出を行う代わりに複数のフィルタを用いて特徴的なパターン(学習部品)に変換する処理を表している。 Here, the filtering process is the same as the CNN feature extraction of registered data, and instead of extracting the features while repeating convolution and pooling, it is converted into a characteristic pattern (learning component) using a plurality of filters. Represents.
 フィルタパターンについては例えば画像ではなく、人の目と鼻に対応するT型や鼻と口に対応する逆T型など様々な特長的なフィルタを考えることができる。 Regarding the filter pattern, for example, instead of an image, various characteristic filters such as a T-type corresponding to the human eye and nose and an inverted T-type corresponding to the nose and mouth can be considered.
 推論データからフィルタリングにより複数の学習部品を得、複数の学習部品で検索メモリ1を検索し、検索結果から学習メモリの学習情報を求め、学習情報の多数決判断を行うことは、実効的にCNNと同じ結果となる。 Obtaining a plurality of learning parts by filtering from inference data, searching the search memory 1 with a plurality of learning parts, obtaining the learning information of the learning memory from the search results, and making a majority decision of the learning information is effectively CNN. Same result.
 <<検索メモリ2を用いた検索>>
 ここからは、検索メモリ2を用いた検索について説明する。すなわち、検索メモリ2を用いた検索エンジンでは、画像データと一緒に画像を識別できるデータを検索情報として登録する。このようにすると、画像データが無くとも、検索情報から登録した画像データを検索することができるようになる。
<< Search using search memory 2 >>
From here, the search using the search memory 2 will be described. That is, in the search engine using the search memory 2, data that can identify an image is registered as search information together with the image data. By doing so, the registered image data can be searched from the search information even if there is no image data.
 例えば人の顔を登録する場合、その人を特定できる情報であれは何でも良く、その情報を特徴情報と呼ぶ。そして、その特徴情報の集合体を検索情報として登録できる。ただし、決まったフォーマットに従い登録することになる。 For example, when registering a person's face, any information that can identify the person is acceptable, and that information is called feature information. Then, the aggregate of the feature information can be registered as the search information. However, it will be registered according to the fixed format.
 具体的な特徴情報としては次のようなものを取り上げることができる。
 
 ・身長(非常に高い、高い、普通、低い等)→2ビット
 ・年齢(老人、中年、若者、子供)→2ビット
 ・性別(男、女) →2ビット
 ・職業(サービス、製造、土木・建設、運輸・物流、流通、飲食・宿泊、不動産、金融・保険、病院・福祉、官公庁・自治体、情報・通信、教育、流通、学生、主婦・主夫、その他)→4ビット
 ・体型(痩せ型、普通、太り目、太っている)→2ビット
 ・体格(大柄、普通、小柄、その他)→2ビット
 ・人種(日本人、アジア系外人、欧米人、その他)→2ビット
 ・髪の毛(黒、白髪まじり、白髪、その他)→2ビット
 ・顔の形(細長、丸形、四角い、その他)→2ビット
 ・・・・・など
のような特徴情報を記載した登録表である検索情報リストを作成し、特徴情報の集合体である検索情報を2進数で表示する。この2進数表示のビットが20ビットあったとすると100万種の識別が可能になる。特徴情報である検索情報を拡散処理し検索メモリ2の入力データとし、登録番号の代わりに学習情報として、顔認証の例であれば、B~Nに登録者を登録すれば、基本となる登録画像が検索できる。
The following can be taken up as specific feature information.

・ Height (very tall, high, normal, low, etc.) → 2 bits ・ Age (old, middle-aged, young, children) → 2 bits ・ Gender (male, female) → 2 bits ・ Occupation (service, manufacturing, civil engineering)・ Construction, transportation / logistics, distribution, food / drink / accommodation, real estate, finance / insurance, hospital / welfare, government / local government, information / communication, education, distribution, students, housewife / husband, etc.) → 4 bits ・ Body type (thin) Type, normal, fat, fat) → 2 bits ・ Physique (large, normal, petite, etc.) → 2 bits ・ Race (Japanese, Asian foreigners, Westerners, etc.) → 2 bits ・ Hair ( Black, gray hair, gray hair, etc.) → 2 bits ・ Face shape (slender, round, square, etc.) → 2 bits ・ ・ ・ ・ ・ Search information list that is a registration table that describes feature information such as Is created, and the search information, which is a collection of feature information, is displayed in binary. If there are 20 bits in this binary display, it is possible to identify one million types. In the case of face recognition, if the registrant is registered in B to N, the search information, which is the feature information, is diffused and used as the input data of the search memory 2, and is used as learning information instead of the registration number. Images can be searched.
 この検索では検索情報が検索メモリ2の入力データになる。 In this search, the search information becomes the input data of the search memory 2.
 検索情報はユニークなデータであるという条件を満たした上で、元データの識別、絞り込みが可能な目次のようなデータである。このため、元データと同じ形式のデータが無くとも検索が行える。本検索動作は、学習メモリを経由しないため、学習メモリに関係する部分は検索動作から削除することになるが、検索メモリ1の入力データの代わりに検索情報を用いること、検索メモリ2を使用することが異なるだけで、検索メモリ1の検索と同じである。図25に、図1から検索情報及び検索メモリ2を用いた検索に関する部分を抽出した図を示す。 The search information is data like a table of contents that can identify and narrow down the original data after satisfying the condition that it is unique data. Therefore, the search can be performed even if there is no data in the same format as the original data. Since this search operation does not go through the learning memory, the part related to the learning memory is deleted from the search operation, but the search information is used instead of the input data of the search memory 1, and the search memory 2 is used. It is the same as the search of the search memory 1 except that. FIG. 25 shows a diagram in which the search information and the portion related to the search using the search memory 2 are extracted from FIG.
 本検索では元データに対応する検索データが無くとも検索情報のみで登録されている元データが検索できるため、検索情報を変更しながら検索動作を繰り返すことで知りたい情報しぼりこむ、いわゆるあいまい検索が可能である。
ただし、不明な情報もあるのでこの情報のビット数をn倍化し、複数のグループに分けグループ単位でマスクできるようにする。
In this search, even if there is no search data corresponding to the original data, the original data registered only with the search information can be searched, so the so-called ambiguous search that narrows down the information you want to know by repeating the search operation while changing the search information is possible. It is possible.
However, since some information is unknown, the number of bits of this information is multiplied by n so that it can be divided into a plurality of groups and masked in group units.
 検索情報は登録する検索メモリ2の構成に合わせたビット長に拡散処理によって変換され、それは検索メモリ2を構成する分割メモリのワード数に合わせて分割される(この分割データをブロックという)。一方、マスクデータは検索情報の分割単位でマスクされることになる。検索情報は、画像データとは全く別の観点から作成するため、拡散処理する場合、検索情報の分割データ長と検索メモリ2のブロック長を合わせる必要がない。例えば、検索情報は5ビット単位で分割し、その単位でマスクし、検索メモリ2のブロック長は10ビットとするといった設定が可能となる。登録時にマスク位置を無視しているため、検索時のマスク位置に任意のデータを指定すると任意のデータが登録データと誤認され、そのデータに対応する誤情報が読み出されることになる。マスク位置に任意のデータを指定することにより多数の想定外のデータが読み出され、絞り込みが出来なくなることもある。したがって、データが読み出しデータの絞り込みを考えると読み出し時のマスク位置指定が重要であることが分かる。 The search information is converted into a bit length that matches the configuration of the search memory 2 to be registered by diffusion processing, and it is divided according to the number of words in the divided memory that constitutes the search memory 2 (this divided data is called a block). On the other hand, the mask data is masked in the division unit of the search information. Since the search information is created from a completely different viewpoint from the image data, it is not necessary to match the divided data length of the search information with the block length of the search memory 2 in the case of diffusion processing. For example, the search information can be divided into 5 bit units, masked in that unit, and the block length of the search memory 2 can be set to 10 bits. Since the mask position is ignored at the time of registration, if arbitrary data is specified for the mask position at the time of search, the arbitrary data is mistaken for the registered data, and the erroneous information corresponding to the data is read out. By specifying arbitrary data for the mask position, a large amount of unexpected data may be read out and narrowing down may not be possible. Therefore, it can be seen that it is important to specify the mask position at the time of reading when considering the narrowing down of the data read.
 <<マスク機能導入について>>
 検索情報はあらかじめ決めた形式に記述し、2進符号化することになるが、不明な情報を含むことがあり、その場合はその情報をマスクし登録及び検索を行うことになる。このため、検索情報の登録及び検索にマスク機能を導入する必要がある。
<< Introduction of mask function >>
The search information is described in a predetermined format and coded in binary, but unknown information may be included. In that case, the information is masked and registered and searched. Therefore, it is necessary to introduce a mask function for registration and search of search information.
 まず、マスク機能の導入方法の基本的な考え方は、登録・検索時にマスクデータを無視することである。このようにすると、登録データ及び検索データにマスク部分が含まれなくなるため、結果としてマスクデータを含む情報を登録・検索したことになる。 First, the basic idea of how to introduce the mask function is to ignore the mask data at the time of registration / search. By doing so, the mask portion is not included in the registered data and the search data, and as a result, the information including the mask data is registered / searched.
 具体的な方法として、以下の2つの方法がある。
 
 ・基本的な考え方をそのまま実行する方法
 ・マスク位置に分割メモリの最下位ビットあるいは最上位ビットを割り当て、拡散処理後に従来と同じ方法を用いて登録及び検索する方法
 <<基本的な考え方をそのまま実行する方法>>
 極めて偏りの大きい登録データ丸(1)~丸(4)を複数個の検索メモリ2に登録し、それを検索した場合の結果を図26に示す。ここでは、長さ20ビットの登録データを5ビットを分割単位として、4つの分割データに分けて、登録している(検索メモリ2を構成する分割メモリのワード数に合わせて分割されたデータであるブロックのビット数と、登録データの分割単位のビット数を同じにしてある)。ここで、登録データ丸(1)~丸(4)のそれぞれのセルに示される数字は、5ビットの2進数の数字を10進数で表したものである。*は、マスクデータを示している。検索メモリ2への登録方法は、先に述べた検索メモリ1への登録方法と同様であるが、マスクデータを無視して、登録する点が異なる。本方式は検索メモリ2の分割メモリの個数を増やせば必ず登録できるが何個必要かは登録データの偏りとマスク数により決まるという特徴がある。この場合、登録データ丸(1)~丸(4)の偏りが極めて大きいため、全てのデータを登録するために、4つのブロックを1つのセットとして、合計4セットの分割メモリが必要となっている。検索データ(キーデータ)である、「0232」で、4セットの検索メモリ2を同時に読み出すと、各丸(1)~丸(4)の分割メモリから複数個のデータが読み出される。図26に示される様に、丸(1)に関して、0、4、10、13の4つの登録データ、丸(3)に関して、14の1つの登録データ、丸(4)に関して、15の1つの登録データが、読み出される。検索条件を登録順とすると、0、14、15が選択されることになる。このように、検索時にマスク位置指定を行わないと、条件を満足するデータが3個得られることになる(当然ではあるがマスク位置指定を行えば3個のどれか明らかになる)。この方法は拡散処理ができないため入力データのビット長と、検索メモリのキーデータ長を合わせる必要がある。また、読み出し時にマスク部分にでたらめな値が入ると誤読み出しが発生する可能性があり、読み出し時にマスク指定が必要である。
As a specific method, there are the following two methods.

-A method to execute the basic idea as it is-A method to allocate the least significant bit or the most significant bit of the divided memory to the mask position and register and search using the same method as before after the diffusion process << Basic idea as it is How to do >>
FIG. 26 shows the results when the registered data circles (1) to (4) having an extremely large bias are registered in a plurality of search memories 2 and searched. Here, the registered data having a length of 20 bits is divided into four divided data with 5 bits as a divided unit and registered (data divided according to the number of words in the divided memory constituting the search memory 2). The number of bits in a block is the same as the number of bits in the division unit of registered data). Here, the numbers shown in the respective cells of the registered data circles (1) to (4) are 5-bit binary numbers expressed in decimal numbers. * Indicates mask data. The method of registering in the search memory 2 is the same as the method of registering in the search memory 1 described above, except that the mask data is ignored and the data is registered. This method can always be registered by increasing the number of divided memories of the search memory 2, but the number of required is determined by the bias of the registered data and the number of masks. In this case, since the bias of the registered data circles (1) to (4) is extremely large, a total of 4 sets of divided memories are required with 4 blocks as one set in order to register all the data. There is. When four sets of search memory 2 are simultaneously read by "0232" which is search data (key data), a plurality of data are read from the divided memory of each circle (1) to (4). As shown in FIG. 26, for the circle (1), four registration data of 0, 4, 10, 13, 13, for the circle (3), one registration data of 14, and for the circle (4), one of 15. The registration data is read out. If the search condition is the registration order, 0, 14, and 15 will be selected. In this way, if the mask position is not specified at the time of search, three pieces of data satisfying the conditions can be obtained (naturally, if the mask position is specified, any of the three pieces will be clarified). Since this method cannot perform diffusion processing, it is necessary to match the bit length of the input data with the key data length of the search memory. Further, if a random value is entered in the mask portion at the time of reading, erroneous reading may occur, and it is necessary to specify the mask at the time of reading.
 <<マスク位置に分割メモリの最下位ビットあるいは最上位ビットを割り当て、拡散処理後に従来と同じ方法を用いて登録及び検索する方法>>
 マスク位置に分割メモリの最下位ビット(オール「0」)あるいは最上位ビット(オール「1」)を割り当て、拡散処理後に従来と同じ方法を用いて登録及び検索する。この方法は拡散処理が行えるため、入力データのビット長を検索メモリのキーデータ長に合わせる必要がない。ただし、読み出し時のマスク指定は、基本的な考え方をそのまま実行する方法と同様に必要である。なお、オール「0」のほうがオール「1」よりデータの性質の変化がすくない傾向がある。分割メモリが64ワードで登録データ数が64個の場合、先に述べた左右登録を用いた場合、検索メモリ2の分割メモリの数は8個以上必要である。ただし、分割メモリのワード数が小さくなると e の精度低くなるため図8に関して述べた分割メモリに登録される数からのずれが大きくなる。
<< Method of allocating the least significant bit or most significant bit of the divided memory to the mask position and registering and searching using the same method as before after the spreading process >>
The least significant bit (all "0") or the most significant bit (all "1") of the divided memory is assigned to the mask position, and after the spreading process, registration and retrieval are performed using the same method as before. Since this method can perform diffusion processing, it is not necessary to match the bit length of the input data with the key data length of the search memory. However, it is necessary to specify the mask at the time of reading in the same way as the method of executing the basic idea as it is. It should be noted that all "0" tend to have less change in data properties than all "1". When the divided memory is 64 words and the number of registered data is 64, when the left-right registration described above is used, the number of divided memories of the search memory 2 needs to be 8 or more. However, when the number of words in the divided memory becomes small, the accuracy of e becomes low, so that the deviation from the number registered in the divided memory described with respect to FIG. 8 becomes large.
 マスク無の64個のランダムデータを丸(1)~丸(8)の分割メモリに左端から順に登録した場合の分割メモリの登録データ数を確立論を用いて計算した理論値とマスクデータを「0」又は「63」に置き換えて登録した試行結果の登録数を比較すると表1のようになる。 The theoretical value and mask data calculated using the establishment theory for the number of registered data in the divided memory when 64 random data without mask are registered in the divided memory of circles (1) to (8) in order from the left end are described as " Table 1 shows a comparison of the number of registered trial results registered by replacing with "0" or "63".
Figure JPOXMLDOC01-appb-T000001

 
 なお、試行結果は登録データと乱数の位置をランダムに決めた場合のデータで、12回行った試行結果の平均値である。また、試行に使用した登録データは48ビット、8つの分割データから構成される6種データでマスクデータを「0」又は「63」に置き換えて登録したものである。以上からマスクデータをビット単位で「0」又は「63」と置いても理論値と同じ結果が得られることが分かる。
Figure JPOXMLDOC01-appb-T000001


The trial result is the data when the registered data and the position of the random number are randomly determined, and is the average value of the trial results performed 12 times. The registered data used in the trial is 48-bit, 6 types of data composed of 8 divided data, and the mask data is replaced with "0" or "63" and registered. From the above, it can be seen that the same result as the theoretical value can be obtained even if the mask data is set to "0" or "63" in bit units.
 試行結果の中の1例を示すと図27のようになる。本例では、登録データの空白部分がマスクデータであり、前処理としてその部分に「0」又は「63」を置く。次に、マスクデータを「0」 に置き換えたデータを2進数に変換したデータを図28に示す。この2進数に変換されたデータが、拡散処理される拡散入力データである。 Figure 27 shows an example of the trial results. In this example, the blank part of the registered data is mask data, and "0" or "63" is placed in that part as preprocessing. Next, FIG. 28 shows the data obtained by converting the mask data replaced with “0” into a binary number. The data converted into the binary number is the diffusion input data to be diffused.
 図29に示されるように、この拡散入力データが拡散処理され、2進数の拡散出力データとなる。同図に示されるように、48ビットの入力データを拡散処理し、48ビットの出力データを生成する処理を行っている。それを10進数に変換したものが、10進数変換後の拡散出力データである。 As shown in FIG. 29, this diffusion input data is diffused to become binary diffusion output data. As shown in the figure, 48-bit input data is diffused and 48-bit output data is generated. What is converted into a decimal number is the diffused output data after the decimal number conversion.
 図30に、拡散式(48ビット入力、48ビット出力のもの)を示す。この拡散式により、入力データ(a47 、a46  、 ・・・ a1 、 a0)から拡散処理後の出力データ(c47 、c46  、 ・・・ c1 、 c0)を求めることができる。同図は、例えば拡散処理後の24番目のビットの出力データc23が入力データ(a47 、a46  、 ・・・ a1 、 a0)から以下の式で求められることを示している。 FIG. 30 shows a diffusion type (48-bit input, 48-bit output). By this diffusion formula, the output data (c47, c46, ... c1, c0) after the diffusion process can be obtained from the input data (a47, a46, ... a1, a0). The figure shows that, for example, the output data c23 of the 24th bit after the diffusion process can be obtained from the input data (a47, a46, ... a1, a0) by the following equation.
 c23=a44+a39+a38+a36+a34+a27+a26+a24+a22+a17+a16+a12+a10+a09+a08+a06+a05+a02+a00
 
ここで、式中の+はEOR演算を表わしている。
EOR演算では、
  0+0=0
  0+1=1
  1+0=1
  1+1=0
となる。
他の出力データも同様に求めることができる。
c23 = a44 + a39 + a38 + a36 + a34 + a27 + a26 + a24 + a22 + a17 + a16 + a12 + a10 + a09 + a08 + a06 + a05 + a02 + a00

Here, + in the equation represents an EOR operation.
In EOR operation
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0
Will be.
Other output data can be obtained in the same way.
 図31に検索メモリ2の左側分割メモリへの登録結果を示す。本例の検索メモリ2は左右で合計12列の分割メモリから構成されているが、左側6列の登録結果を示している(本来は、図8の表から0~63のデータを登録するためには、分割メモリが4個あれば十分であり、このことは図31の結果と整合的である)。図中の0番のキーデータを用いて検索メモリ2に登録する場合を考える。まず左端の分割キーデータは39であるため、検索メモリ2のアドレス39に登録番号0(登録者を表す基準画像に対応する番号)を登録する。本来は、学習情報を登録するのであるが、ここでは理解を容易にするために、登録番号を登録することとする。これを繰り返し、衝突がある場合は隣の分割キーデータを用いて登録番号を登録する。例えば、図中の34番のキーデータを用いて検索メモリ2に登録する場合を考えると、左端の分割データは39であるため、検索メモリ2のアドレス39に登録番号34を登録すべきであるが、すでに登録番号0番が登録されている。そのため、隣の分割キーデータの9より、2列目の検索メモリ2のアドレス9に登録番号34を登録する。 FIG. 31 shows the registration result of the search memory 2 in the left split memory. The search memory 2 of this example is composed of a total of 12 columns of divided memory on the left and right, but shows the registration results of the 6 columns on the left side (originally, in order to register data 0 to 63 from the table of FIG. 8). Four split memories are sufficient for this, which is consistent with the results in FIG. 31). Consider a case where the key data No. 0 in the figure is used and registered in the search memory 2. First, since the leftmost division key data is 39, the registration number 0 (the number corresponding to the reference image representing the registrant) is registered at the address 39 of the search memory 2. Originally, the learning information is registered, but here, in order to facilitate understanding, the registration number is registered. This is repeated, and if there is a collision, the registration number is registered using the adjacent division key data. For example, considering the case of registering in the search memory 2 using the key data of No. 34 in the figure, since the leftmost divided data is 39, the registration number 34 should be registered in the address 39 of the search memory 2. However, the registration number 0 has already been registered. Therefore, the registration number 34 is registered in the address 9 of the search memory 2 in the second column from the adjacent division key data 9.
 図32に検索メモリ2の右側分割メモリへの登録結果を示す。先と同じ0番のキーデータを用いて検索メモリ2に登録する場合を考える。同図の拡散出力データは、図31のデータと同じものであるが、便宜上左右を反転している。左端の分割キーデータは62であるため、検索メモリ2のアドレス62に登録番号0を登録する。これらの左右分割メモリへの登録作業を繰り返し、検索メモリ2への登録を完了させると図33のようになる。ここで、検索メモリ2の登録結果の丸(1)~丸(4)の4列は、図31の「左側登録結果」の1~4の4列に相当し、検索メモリ2の登録結果の丸(5)~丸(8)の4列は、図32の「右側登録結果」の1~4の4列を左右反転したものに相当する。 FIG. 32 shows the registration result of the search memory 2 in the right split memory. Consider the case of registering in the search memory 2 using the same 0th key data as before. The diffusion output data in the figure is the same as the data in FIG. 31, but the left and right sides are reversed for convenience. Since the leftmost division key data is 62, the registration number 0 is registered at the address 62 of the search memory 2. When the registration work in the left-right divided memory is repeated and the registration in the search memory 2 is completed, the result is as shown in FIG. 33. Here, the four columns of the circles (1) to (4) of the registration result of the search memory 2 correspond to the four columns of 1 to 4 of the "left side registration result" in FIG. The four columns of circles (5) to (8) correspond to the left-right inverted four columns of columns 1 to 4 of the "right registration result" in FIG. 32.
 図34に、登録データを検索入力データにして検索メモリ2を読み出した場合の例を示す。検索入力から拡散出力を算出するまでは登録工程と同じである。登録との違いは得られた拡散出力のブロックデータをアドレスにして検索メモリ2の対応する分割メモリを並列読み出しすることである。並列読み出しした結果で一致するものがあればそれが読み出し結果になる。例えば、0番のキーデータの場合であれば、左右の端部の分割メモリから共に登録番号0番(登録者を表す基準画像に対応する番号)が読み出される。それらが一致しているため、そのキーデータによって読み出されるべき情報は、登録番号0番(登録者を表す基準画像に対応する番号)であることがわかる。先にも述べたように、検索メモリ2には、検索メモリ1と異なり、学習メモリの登録番号を登録するのではなく、登録者を表す基準画像に対応する番号を登録することになる。図34のA~Cは、拡散処理後のデータが左右何列目で登録されたかを表している。例えば、同図でA各列に〇の入っているデータは、左右第1列目で登録されていることを示している。同様に、Bが左右第2列目、Cが左右第3列目で登録されていることを示している(なお、A、B、Cの登録個数は登録数に対する登録率を表していることになる)。 FIG. 34 shows an example when the search memory 2 is read out by using the registered data as the search input data. The process from the search input to the calculation of the diffusion output is the same as the registration process. The difference from the registration is that the block data of the obtained diffusion output is used as an address and the corresponding divided memory of the search memory 2 is read out in parallel. If there is a match in the parallel read results, that is the read result. For example, in the case of the 0th key data, the registration number 0 (the number corresponding to the reference image representing the registrant) is read out from the divided memory at the left and right ends. Since they match, it can be seen that the information to be read by the key data is the registration number 0 (the number corresponding to the reference image representing the registrant). As described above, unlike the search memory 1, the search memory 2 does not register the registration number of the learning memory, but registers the number corresponding to the reference image representing the registrant. A to C in FIG. 34 indicate in what column on the left and right the data after the diffusion processing was registered. For example, in the figure, the data in which ◯ is entered in each column A indicates that the data is registered in the first column on the left and right. Similarly, it indicates that B is registered in the second left and right columns and C is registered in the third column on the left and right (note that the number of registrations of A, B, and C represents the registration rate with respect to the number of registrations. become).
 以上から検索情報にマスクデータが含まれていても、登録されている情報(学習情報)が正しく読み出されることが分かる。しかも、先に示したように各分割メモリに登録される登録個数もマスク無しの場合とほぼ同じ結果になることが分かる。 From the above, it can be seen that the registered information (learning information) is correctly read even if the search information includes mask data. Moreover, as shown above, it can be seen that the number of registrations registered in each divided memory is almost the same as in the case without a mask.
 前述したように検索情報を、任意の単位で分割し、この単位でマスクし、マスクした情報を登録しておけば検索情報に不明な情報が含まれている場合でも、不明情報を含む単位をマスクすることにより検索可能になる。検索情報の具体例を示すと図35のようになる。話を簡単にするため検索情報が20ビットで表され、分割単位が5ビットで登録データ数が160件だとした場合を示す。これら検索情報はマスクされていないがこの検索情報を分割単位の2つ分をマスクしたデータを登録し結果の比較を行う。図36に示されるように、2列目及び4列目の分割データをマスクするために、2列目及び4列目に「0」を入力する(2分割データマスクの例である)。 As described above, if the search information is divided into arbitrary units, masked in this unit, and the masked information is registered, even if the search information contains unknown information, the unit containing the unknown information can be used. It becomes searchable by masking. A specific example of the search information is shown in FIG. 35. To simplify the story, the case where the search information is represented by 20 bits, the division unit is 5 bits, and the number of registered data is 160 is shown. Although these search information is not masked, the search information is registered with data masked for two division units and the results are compared. As shown in FIG. 36, in order to mask the divided data in the second and fourth columns, "0" is input in the second and fourth columns (an example of the two divided data mask).
 左右一致の数が計算結果から大きくずれていることが分かり調べたところ同図の太枠で示されるように登録条件に反する同じデータが多数あることが判明した。原因はマスク数が多すぎ同じデータが多数発生したことによる。後に詳細に述べるが、同じデータは登録できないという条件を考慮し、多重登録の部分を除く必要がある。 It was found that the number of left-right matches was significantly different from the calculation result, and it was found that there were many same data that violated the registration conditions as shown by the thick frame in the figure. The cause is that the number of masks is too large and the same data is generated many times. As will be described in detail later, it is necessary to exclude the multiple registration part in consideration of the condition that the same data cannot be registered.
 実際には、検索情報登録時に何種類かのマスクデータも同時登録する。従って、登録データ数は、
  マスクデータ無し登録数×マスクの種類
ということになる。なお、マスクデータは、検索メモリ1及び学習メモリへの画像登録時のフィルタに相当することになる。
Actually, several types of mask data are also registered at the same time when the search information is registered. Therefore, the number of registered data is
The number of registrations without mask data x the type of mask. The mask data corresponds to the filter at the time of image registration in the search memory 1 and the learning memory.
 図37に、図36に示したデータを拡散処理した場合の例を示す。本例では48ビットの拡散式を使用した(a47~a35までの上位13ビットに固定的に“0”を入れることで、設定できる入力の範囲をa35~a0とした拡散処理フォーマットを使用している)。a47~a36を「0」とし(図37では、a47~a36の記載は省略されている)、a35~a16に検索情報を入力し、a15~a0を「0」とし、c47~c0に拡散処理結果が出力される。登録データ数が160なので、図8の計算例でx=5になる。この場合に必要な検索メモリ2の分割メモリ数は片側7個になる。図8の表ではx=5の場合、7個目の分割メモリの登録率は0.1、8個目の分割メモリの登録率は0.01となる。ここでは5bit単位で分割しているため、分割メモリのワード数は32である。これから7個目と8個目の分割メモリの登録個数を算出すると、
   7個目の分割メモリの登録個数は  0.1×32 = 3.2(個)→3個
      8個目の分割メモリの登録個数は 0.01×32 = 0.32(個)→0個
となる。図38に、分割単位が5bit、分割メモリのワード数が32である場合の、登録数(nx)に対する分割メモリ(左右登録の片側分)マル1~マル20への登録数を示す。これから、8個目の分割メモリの登録個数はゼロであるため、分割メモリが7個でも登録可能ということになる。このように、左右登録の最後の列の登録個数がゼロあるいはゼロに近い場合はその列を無視しても登録可能である場合が多いことがわかる。
FIG. 37 shows an example of the case where the data shown in FIG. 36 is diffused. In this example, a 48-bit diffusion formula is used (a diffusion processing format is used in which the input range that can be set is a35 to a0 by fixing "0" to the upper 13 bits from a47 to a35. Yes). A47 to a36 are set to "0" (in FIG. 37, the description of a47 to a36 is omitted), search information is input to a35 to a16, a15 to a0 are set to "0", and diffusion processing is performed to c47 to c0. The result is output. Since the number of registered data is 160, x = 5 in the calculation example of FIG. In this case, the number of divided memories of the search memory 2 required is 7 on each side. In the table of FIG. 8, when x = 5, the registration rate of the 7th divided memory is 0.1, and the registration rate of the 8th divided memory is 0.01. Here, since it is divided in units of 5 bits, the number of words in the divided memory is 32. From now on, when the number of registered 7th and 8th divided memories is calculated,
The number of registered 7th divided memory is 0.1 × 32 = 3.2 (pieces) → 3 pieces The number of registered 8th divided memory is 0.01 × 32 = 0.32 (pieces) → 0 pieces. FIG. 38 shows the number of registrations in the division memory (one side of the left and right registration) circles 1 to 20 with respect to the registration number (nx) when the division unit is 5 bits and the number of words in the division memory is 32. From this, since the number of registered 8th divided memory is zero, it is possible to register even 7 divided memories. As described above, when the number of registrations in the last column of left and right registration is zero or close to zero, it can be seen that registration is possible in many cases even if the column is ignored.
  これから検索メモリ2の登録に必要なビット数は5×7 = 35 となりc47からc13までの35ビットを、分割メモリの左側に登録する。同様に上記検索情報の上位下位反転データを作成しこのデータから上記と同じ拡散処理を行い、出力されたc47からc13までの35ビットを分割メモリの右側へ登録する。この方法は、登録データを増やすと登録に必要な分割メモリの数も増加する、つまり、登録数を増やすと48ビットの出力では不足するために適用される(5×14 で計算される 70ビットが必要である)。この方法は検索メモリ2を用いたシステムに限らず、検索メモリ1を用いたシステムにおいても適用することができる。図39に、図37の例を基に、分割メモリの左側に登録するデータ及びそれを10進数に変換したデータ、並びに分割メモリの右側に登録するデータ及びそれを10進数に変換したデータを示す。 From now on, the number of bits required to register the search memory 2 will be 5 × 7 = 35, and 35 bits from c47 to c13 will be registered on the left side of the divided memory. Similarly, the upper / lower inverted data of the above search information is created, the same diffusion processing as above is performed from this data, and the output 35 bits from c47 to c13 are registered on the right side of the divided memory. This method is applied because the number of divided memories required for registration increases as the number of registered data increases, that is, the output of 48 bits is insufficient when the number of registered data increases (70 bits calculated by 5 × 14). is required). This method can be applied not only to the system using the search memory 2 but also to the system using the search memory 1. FIG. 39 shows the data registered on the left side of the divided memory and the data converted into a decimal number, and the data registered on the right side of the divided memory and the data converted into a decimal number based on the example of FIG. 37. ..
 図40に、登録元データの一部、検索メモリ2の入力データの一部、および検索メモリ2への登録結果(2分割データマスクのデータ160個の登録結果の一部)を示す。登録結果におけるセル内の番号は、登録元データの番号(検索メモリ1における学習メモリの登録番号に相当するもの)を示している。 FIG. 40 shows a part of the registration source data, a part of the input data of the search memory 2, and the registration result in the search memory 2 (a part of the registration result of 160 data of the 2-division data mask). The number in the cell in the registration result indicates the number of the registration source data (corresponding to the registration number of the learning memory in the search memory 1).
 図41に、本例の検索メモリ2を読み出した結果を示す。同図には、登録元データの一部および、それによる読み出し結果が示されている。例えば、0番の登録元データ「13 0 2 0」から、先の例と同様に検索メモリ2の入力データ(キーデータ)を作成し、作成された入力データを用いて検索メモリ2を読み出すと、分割メモリの1列目と14列目の値が「0」で一致(左右一致)しており、そのキーデータによって読み出されるべき情報は、登録番号0番に対応する情報であることがわかる。 FIG. 41 shows the result of reading the search memory 2 of this example. The figure shows a part of the registration source data and the reading result by the data. For example, if the input data (key data) of the search memory 2 is created from the registration source data "13.0 2 0" of the 0th as in the previous example, and the search memory 2 is read using the created input data. , It can be seen that the values in the first column and the 14th column of the divided memory match (left and right match) with "0", and the information to be read by the key data is the information corresponding to the registration number 0. ..
 ここで、入力データをシフトさせて作成した複数の登録データをそれぞれ拡散処理し、それら拡散出力を連結することで、拡張出力(ビット数)を拡張する方法を説明する。 Here, a method of expanding the extended output (number of bits) by spreading processing each of a plurality of registered data created by shifting the input data and concatenating the spread outputs will be described.
 図42に、マスク処理後の登録データの例(3つの分割データをマスクする例)を示す。まず、登録データが10進数で示されている。それを2進数で表示したものを示す(各データを左から5ビット毎で区切り、左からそれぞれ1~6分割データと呼ぶ)。次に、登録データをマスクするためにマスク位置を指定するが、ここでは、マスク情報登録ファイルに基づき、1、2、6分割データをマスク位置と指定し、1,2、6分割データのデータを全て「0」とすることで、マスク処理後の登録データを作成する。次に、図43に示されるように、丸(1)において、マスク処理後の登録データを48ビットの拡散式のa47~a18に入力し、「0」をa17~a0に入力する。その隣に、拡散後の拡散出力c47~c0を2進数で示す。その隣に、それら2進数を10進数に変換したデータを示す。ここでは、有効データをc47~c3とし、それらを5ビット毎に10進数に変換し、9個の10進数を示している。同図の丸(2)では、同様に、同じマスク処理後の登録データを48ビットの拡散式のa42~a13に入力し、「0」をa47~a43、a12~a0に入力し拡散処理した結果を同様に示す。同図の丸(3)~丸(5)において示されるように、同じマスク処理後の登録データをシフトさせて拡散処理をすることで、計5パターンの拡散出力結果が得られる。得られた各拡散出力を連結すると拡散出力のビット長が5倍に拡張できる。 FIG. 42 shows an example of registered data after mask processing (an example of masking three divided data). First, the registration data is shown in decimal. It is shown as a binary number (each data is divided by 5 bits from the left and is called 1 to 6 divided data from the left). Next, the mask position is specified to mask the registered data. Here, based on the mask information registration file, the 1st, 2nd, and 6th division data are specified as the mask position, and the 1st, 2nd, and 6th division data data. By setting all to "0", the registration data after mask processing is created. Next, as shown in FIG. 43, in the circle (1), the registered data after the mask processing is input to the 48-bit diffusion type a47 to a18, and “0” is input to a17 to a0. Next to it, the diffusion outputs c47 to c0 after diffusion are shown in binary. Next to it, the data obtained by converting those binary numbers into decimal numbers is shown. Here, the valid data are c47 to c3, and they are converted into decimal numbers every 5 bits, and 9 decimal numbers are shown. Similarly, in the circle (2) in the figure, the same registered data after mask processing is input to the 48-bit diffusion type a42 to a13, and "0" is input to a47 to a43 and a12 to a0 for diffusion processing. The results are shown in the same way. As shown by circles (3) to (5) in the figure, by shifting the registration data after the same mask processing and performing the diffusion processing, a total of 5 patterns of diffusion output results can be obtained. By concatenating the obtained diffusion outputs, the bit length of the diffusion output can be expanded five times.
 図44に、図43の丸(1)~丸(5)についての各拡散出力を連結し、拡散出力を拡張した例を示す。図43の丸(1)~丸(5)についての各拡散出力を左から順に連結させている。本例では分割メモリのワード数を32ワードとしているため分割キーデータ長は5ビットになる。このため48ビット中45ビットだけ取り出し、それを作成順に連結したものが上記のデータである。しかし、この拡散出力の拡張は他にも方法があり、例えば、48ビットの拡散出力をそのまま作成順に連結しその後で分割キー長に合わせて分割しても良い。この場合は先の方法では分割キー単位で45分割の出力データが得られるのに対し48分割の出力データが得られることになる。これらの方法を用いると登録データ数に合わせて分割メモリのキーデータ長を自由に設定できることになる。 FIG. 44 shows an example in which the diffusion outputs of the circles (1) to (5) in FIG. 43 are connected to expand the diffusion output. The diffusion outputs of the circles (1) to (5) in FIG. 43 are connected in order from the left. In this example, since the number of words in the divided memory is 32 words, the divided key data length is 5 bits. Therefore, the above data is obtained by extracting only 45 bits out of 48 bits and concatenating them in the order of creation. However, there is another method for expanding this diffusion output. For example, the 48-bit diffusion output may be concatenated as it is in the order of creation and then divided according to the division key length. In this case, in the above method, the output data of 45 divisions can be obtained for each division key, whereas the output data of 48 divisions can be obtained. By using these methods, the key data length of the divided memory can be freely set according to the number of registered data.
 図45に、分割単位でマスクされた分割データ(マスク分割データ)がない登録元データ、マスク分割データを1個含む登録元データ、マスク分割データを2個含む登録元データ(同図のマスクなし、マスク1、マスク2にそれぞれ対応している)について各3回(同図の丸(1)~丸(3)が何回目かを示す)の登録・読み出しを実施し、左右一致が複数個発生した場合のその個数を示す。登録データが、32個、64個、160個、190個のそれぞれの場合について、左側の分割メモリと右側の分割メモリの読み出し結果が同じ情報を示す左右一致が複数個発生した場合のその回数を示している。なお、各回登録元データは、乱数を用いてそれぞれ作成している。 FIG. 45 shows registration source data without masked division data (mask division data) in division units, registration source data including one mask division data, and registration source data including two mask division data (without mask in the figure). , Mask 1 and Mask 2 are supported respectively), and registration / reading is performed 3 times each (indicating how many times the circles (1) to (3) in the figure indicate), and there are multiple left-right matches. The number of occurrences is shown. For each of 32, 64, 160, and 190 registered data, the number of times when multiple left-right matches occur in which the read results of the left split memory and the right split memory show the same information. Shows. In addition, each registration source data is created by using random numbers.
 また、図45に、上記それぞれにおいて、左右登録する際に必要であった分割メモリの列数を示す。試行結果を見るとマスク分割データが2個である「マスク2」について、左右一致の個数が急増しているがこれはマスク分割データを増やしすぎたため図36の代表例に示すように同じ登録データが多数発生したことが原因であることが判明した。 Further, FIG. 45 shows the number of columns of the divided memory required for the left and right registration in each of the above. Looking at the trial results, the number of left-right matches for "Mask 2", which has two mask division data, has increased sharply, but this is because the number of mask division data has increased too much, and the same registration data is shown as shown in the representative example of FIG. It turned out that the cause was a large number of occurrences.
 同じデータは登録できないという条件を考慮し多重登録の部分を除いた後、データを追加すると、修正後の個数となり、これは理論的な計算結果の範囲内にあるとみることができる。この計算式を示すと次のようになる。データの登録数は分割メモリのワード数 n を単位とし登録率をxとすると nx のように表せる。また検索時の左右一致数を r とすると次式(1)で表すことができる。 Considering the condition that the same data cannot be registered, if the data is added after removing the multiple registration part, the number will be the corrected number, which can be considered to be within the range of the theoretical calculation result. This calculation formula is as follows. The number of registered data can be expressed as nx when the number of words in the divided memory is n and the registration rate is x. Also, if the number of left-right matches at the time of search is r, it can be expressed by the following equation (1).
 ( (x-1)C(r-1)P(r-1)(1-P)(x-1)-(r-1)  )×nx        ( P = 1/n )    (1)
この式は登録率で表現しており、登録数がm個のデータを分割メモリに登録した時、r個登録される場合の下式(2)と同じ形をしている。ということは式の意味は同じである。
( (X-1) C (r-1) P (r-1) (1-P) (x-1)-(r-1) ) × nx (P = 1 / n) (1)
This formula is expressed by the registration rate, and has the same form as the following formula (2) when r data are registered in the divided memory when m data are registered. That is, the meaning of the formula is the same.
  mCrPr(1-P)m-r            ( P = 1/n )        (2)
この式は左右一致登録の場合も成り立つ。
ただし左右登録では同じデータを1個ずつ左右から登録することが前提となっており、式の中にこの前提が組み込まれている。このため読み出し時に左右一致の数が1個だけの場合は、(2)の式で表されている一致数 r の数は”ゼロ”になる。これは、式(2)のr の値を r-1 と置くことを意味している。
当然であるが左右登録に使用した分割メモリも前提に合わせて式から削除する必要がある。
登録データを分割メモリ単位で見るには登録データの個数mで見るよりは登録率 x で見た方が見やすくなる。そこで登録率 x を使用すると一致個数を計算する場合の登録率は xではなく、x-1 を使用することになる。この関係を登録率で表すと式(2)に前提条件を反映させた式は式(1)そのものになることが分かる。
m C r P r (1-P) mr (P = 1 / n) (2)
This formula also holds for left-right match registration.
However, left and right registration is premised on registering the same data one by one from the left and right, and this premise is incorporated in the formula. Therefore, if the number of left-right matches is only one at the time of reading, the number of matches r represented by the equation (2) is "zero". This means that the value of r in equation (2) is set to r-1.
As a matter of course, it is necessary to delete the divided memory used for left and right registration from the formula according to the premise.
To view the registered data in units of divided memory, it is easier to see by the registration rate x than by the number m of registered data. Therefore, if the registration rate x is used, the registration rate when calculating the number of matches is x-1 instead of x. When this relationship is expressed by the registration rate, it can be seen that the equation that reflects the preconditions in equation (2) is equation (1) itself.
 この式を用いて、n=32、x=5(登録数160)の場合について左右一致数を計算すると、表2のようになる。読み出し時に左右一致する数が2個以上現れる個数が、19個となり、図45の例はばらつきの範囲内にあることが分かる。
Figure JPOXMLDOC01-appb-T000002

 
Table 2 shows the calculation of the number of left-right matches for the cases of n = 32 and x = 5 (registered number 160) using this formula. It can be seen that the number in which two or more matching numbers appear on the left and right at the time of reading is 19, and the example in FIG. 45 is within the range of variation.
Figure JPOXMLDOC01-appb-T000002

 n=32で、x=6とすると、登録数は192個となり、左右一致の出現個数は表3のようになる。
Figure JPOXMLDOC01-appb-T000003

 
If n = 32 and x = 6, the number of registrations is 192, and the number of left-right matches appearing is as shown in Table 3.
Figure JPOXMLDOC01-appb-T000003

 さらに、nを増やしn=16kで、x=6とすると、登録数は96k個となり、左右一致の出現個数は表4のようになる。
Figure JPOXMLDOC01-appb-T000004

 
Further, if n is increased and n = 16k and x = 6, the number of registrations is 96k, and the number of occurrences of left-right matching is as shown in Table 4.
Figure JPOXMLDOC01-appb-T000004

 以上から登録数を大幅に増やしても左右一致の複数発生個数にほとんど変化しないことが分かる。これは左右一致の複数発生率が登録数に反比例して減少することを示している。しかも、この算出式から左右一致の複数発生率は登録数と分割メモリのワードのみに依存し、拡散処理の影響はなく拡散処理による分割メモリ数の調節の影響は受けないことを示している。 From the above, it can be seen that even if the number of registrations is significantly increased, there is almost no change in the number of multiple occurrences of left-right matching. This indicates that the multiple occurrence rate of left-right matching decreases in inverse proportion to the number of registrations. Moreover, from this calculation formula, it is shown that the multiple occurrence rate of the left-right match depends only on the number of registrations and the word of the divided memory, is not affected by the spreading process, and is not affected by the adjustment of the number of divided memories by the spreading process.
 検索メモリ2の分割データ(ブロック)長q=5 (n=32) 、キーデータ長を5×40とし 、登録数=512(x=512/32)とすると、xの値は16となる。この場合について、分割メモリの数 g:19×2 で構成した検索メモリ2に512個のデータを登録し、それを読み出した場合の左右一致数について4回行った試行結果(読出し丸(5)~読出し丸(8):ここで番号は何回目の試行かを示す)と、以下の計算式上の g’を15~19まで変化させた場合の比較結果を表にまとめると次のようになる。 If the division data (block) length of the search memory 2 is q = 5 (n = 32), the key data length is 5 × 40, and the number of registrations is 512 (x = 512/32), the value of x is 16. In this case, 512 data were registered in the search memory 2 composed of the number of divided memories g: 19 × 2, and the trial result (reading circle (5)) was performed four times for the number of left-right matches when the data was read. -Reading circle (8): Here, the number indicates the number of trials) and the comparison results when g'in the following formula is changed from 15 to 19 are summarized in the table as follows. Become.
 分割メモリのワード数を単位とした登録データ数を片側に対しxとすると、読み出しの対象となる分割メモリの数g’はxの内1個はすでに登録済みであるためx-1となる。これから確率計算の対象となる分割メモリの数g’は
    g’=x-1
となる。また、左右一致数rについても同様な理由により実行的なr’は
         r’= r-1
となる。これを確率計算の式に当てはめると左右一致数の計算式は
    g’Cr’ Pr’ (1-P)g’-r’
       ( g’= x-1 、r’= r-1 )
のようになる。
Assuming that the number of registered data in units of the number of words in the divided memory is x for one side, the number g'of the divided memory to be read is x-1 because one of x has already been registered. From now on, the number of divided memories g'that will be the target of probability calculation is g'= x-1
Will be. Also, for the number of left-right matches r, the executable r'is r'= r-1 for the same reason.
Will be. Applying this to the formula for probability calculation, the formula for calculating the number of left-right matches is g'C r'P r ' (1-P) g'-r'
(g'= x-1, r'= r-1)
become that way.
Figure JPOXMLDOC01-appb-T000005

 
Figure JPOXMLDOC01-appb-T000005

 
 一致数が1個の場合に着目して、読出しデータ、読出し丸(5)~読出し丸(8)と計算式のg’を 15~19とした時の結果を比較すると、読出しデータは307~323の間に分布し平均値は319になる。これに最も近い計算結果は g’=15の場合である。これから計算式の x を g’=  x-1に置き換えることができることが分かる。また、一致数に着目すると計算式上の一致数+1と置くと試行結果とよく合うことが分かる。
この読出し丸(5)~読出し丸(8)と、計算式上で
    g’=15、
    一致数-1
と置いた時の結果を示すと図46のようになる。この通り、試行結果とよく合うことが分かる。
Focusing on the case where the number of matches is one, comparing the read data, read circles (5) to read circles (8) and the results when g'in the calculation formula is 15 to 19, the read data is 307 to. It is distributed between 323 and the average value is 319. The closest calculation result is for g'= 15. From this we can see that we can replace x in the formula with g'= x-1. Also, focusing on the number of matches, it can be seen that if the number of matches in the calculation formula is set to +1 it matches well with the trial results.
The read circles (5) to read circles (8) and g'= 15 on the calculation formula,
Number of matches-1
The result when it is placed is as shown in FIG. As you can see, it fits well with the trial results.
 読み出しの時、g’がx-1で表されるのは登録数を分割メモリのワード数を単位にして表すと、xになる。入力の一致数を計算する時、登録データの読出しでは、理論上のx個の内、1個が必ず読出しに割り当てられる。この割り当てられた1個は計算から削除され、残りのx-1が計算の対象となり、計算上は
    g’=x-1
となる。実際に登録に使用される分割メモリの個数は登録状態が確率的に登録されるためx+3となる。しかし、一致個数の分布を求める場合はこの確率的に登録される分割メモリの個数ではなく理論上のxが用いられる。なお、一致数についても同じ考えが成り立つと考えられる。登録データの読み出しであればすでに1個は登録済みであり、計算式は残りの一致数について表していると考えられ、
  計算式上の一致数+1
が実際の一致数となる。
At the time of reading, g'is represented by x-1 when the number of registrations is expressed in units of the number of words in the divided memory. When calculating the number of matches in the input, when reading the registered data, one of the theoretical x is always assigned to the read. This assigned one is removed from the calculation, the remaining x-1 is included in the calculation, and g'= x-1 in the calculation.
Will be. The number of divided memories actually used for registration is x + 3 because the registration status is stochastically registered. However, when finding the distribution of the number of matches, the theoretical x is used instead of the number of probabilistically registered divided memories. It is considered that the same idea holds for the number of matches. If the registered data is read, one has already been registered, and the calculation formula is considered to represent the remaining number of matches.
Number of matches in the formula +1
Is the actual number of matches.
 検索情報を用いた検索には、学習メモリは不要であり(検索メモリ2があればよい)、検索メモリ2に登録する学習情報は、登録元データを元データ登録ファイルに登録する登録番号とすることができる。しかし、マスク無し情報以外に、複数のマスク情報を含む情報が加わると、元データ登録ファイルの登録番号に複数の検索情報が登録されることになり登録条件を満足しなくなるという問題が発生する。この問題を解決するため、検索情報の登録番号に下位ビット領域を設けこの下位ビット領域にマスク情報の登録番号を割り当てる。マスクの種類数を本体データのフィルタ数と同様一定の値に固定する。例えばマスクの種類数を登録情報の下位3ビットに割り当てる。このようにすると、検索メモリ2への登録データ数は元データ登録ファイルに割り当てられた数の倍数になるが、検索情報自体を格納する確認用メモリは無くても動作上問題はない。確認用メモリがあれば、このデータを確認用メモリ(元データ登録ファイル)に収容すればよい。この場合は、例えば元データに画像データを登録した時、同時に検索情報の内容も見ることができるようになる。このようにすると検索情報の登録番号の定められた下位ビットを削除すれば元データファイルの登録番号になる。 The learning memory is not required for the search using the search information (the search memory 2 is sufficient), and the learning information to be registered in the search memory 2 is a registration number for registering the registration source data in the original data registration file. be able to. However, if information including a plurality of mask information is added in addition to the non-mask information, a plurality of search information is registered in the registration number of the original data registration file, which causes a problem that the registration condition is not satisfied. In order to solve this problem, a lower bit area is provided in the registration number of the search information, and the registration number of the mask information is assigned to this lower bit area. The number of mask types is fixed to a constant value like the number of filters in the main body data. For example, the number of mask types is assigned to the lower 3 bits of the registration information. By doing so, the number of registered data in the search memory 2 is a multiple of the number allocated to the original data registration file, but there is no operational problem even if there is no confirmation memory for storing the search information itself. If there is a confirmation memory, this data may be stored in the confirmation memory (original data registration file). In this case, for example, when the image data is registered in the original data, the contents of the search information can be viewed at the same time. In this way, if the lower bits defined by the registration number of the search information are deleted, the registration number of the original data file can be obtained.
 図47に、例えば人を特定するための情報である特徴情報に基づき検索情報を作成し、それを検索メモリ2に登録する流れを示す。画像データの登録番号を特定するための特徴情報を含む検索情報リストを作成しておき、特徴情報を検索情報リスト単位で検索し、検索情報を作成する。そして、検索情報を拡散処理し、得られたキーデータを検索メモリ2に登録する。 FIG. 47 shows a flow of creating search information based on feature information, which is information for identifying a person, and registering the search information in the search memory 2. A search information list including feature information for specifying the registration number of image data is created, and the feature information is searched for each search information list to create search information. Then, the search information is diffused and the obtained key data is registered in the search memory 2.
 図48に検索情報リストの例を示す。このリストの項目に対応するコードを選択することで検索情報を作成することができる。この検索情報リストに対応する項目が無い場合はこのデータをマスクするべきデータと考える。 FIG. 48 shows an example of the search information list. Search information can be created by selecting the code corresponding to the item in this list. If there is no item corresponding to this search information list, it is considered that this data should be masked.
 各検索情報リストに基づき作成された検索情報(マスクされる箇所を含む場合がある)を拡散処理し、検索メモリ2のキーデータを作成する。このキーデータを用いて検索メモリ2に元データ登録ファイルの画像データ番号を登録する。ここでマスクの種類が例えば8種類あったとすると登録番号はユニークでなければならないためマスクが無い場合の8倍の登録番号が必要になる。
ここで、マスクが有ろうと無かろうと同じ画像が選択されるとすると、登録番号を
    画像番号(上位ビット)+マスク部分(下位3ビット)
のような構成にすれば登録番号の増加分を吸収することができる。このようにすると登録番号の定められた下位3ビットを削除すれば元データファイルの登録番号を得ることができる。
The search information created based on each search information list (which may include a masked portion) is diffused to create key data of the search memory 2. The image data number of the original data registration file is registered in the search memory 2 using this key data. Here, if there are eight types of masks, for example, the registration number must be unique, so eight times as many registration numbers as when there is no mask are required.
Here, assuming that the same image is selected with or without a mask, the registration number is the image number (upper bit) + mask part (lower 3 bits).
With the above configuration, it is possible to absorb the increase in the registration number. By doing so, the registration number of the original data file can be obtained by deleting the lower 3 bits in which the registration number is defined.
 図49に、マスクの種類が8種類である場合の複数のマスク状態とマスク分類番号との関係を示す。ここでは、8種類のマスクに対して、0番~7番のマスク分類番号を付し、検索情報リストでハッチングされた箇所をマスク位置としている。マスクにより複数の画像が検索できるようにする方法が一般的である。しかしここでは検索情報が不確かであっても画像検索ができる必要があり、複数のマスク情報から1つの画像データの登録番号が検索できるようにしている。例えば丸(1)と丸(2)はマスク状態が発生しにくい情報としマスク状態がこれらに限定されるならばマスク無しを含め8種類のマスク状態が発生することになる。しかもこの状態のそれぞれを検索情報として、登録情報(学習情報)を登録できるようにするには1つの画像データに対し8種類の登録番号が必要になる。検索時に得られた登録番号の定められた下位ビット(マスク分類番号に相当する部分)を削除すれば、1つの画像データの登録番号を得ることができる。したがって、本例は、使用目的毎のマスク位置情報を登録しておきその目的毎に登録・検索する用途向きである。マスク位置の指定が間違うと読み出せないのでセキュリテイ機能1つとしての利用可能である。検索時に何処をマスクするか、検索データをどう変更するかは検索側で決めることができ検索情報を少しずつ変更することで検索できる画像番号が変更できこの操作により所望の画像データを得ることができる。またこの操作により画像データの検索情報を把握することができる。 FIG. 49 shows the relationship between a plurality of mask states and mask classification numbers when there are eight types of masks. Here, mask classification numbers 0 to 7 are assigned to eight types of masks, and the hatched portion in the search information list is used as the mask position. A method of enabling a plurality of images to be searched by a mask is common. However, here, it is necessary to be able to perform an image search even if the search information is uncertain, and the registration number of one image data can be searched from a plurality of mask information. For example, circles (1) and circles (2) are information in which mask states are unlikely to occur, and if the mask states are limited to these, eight types of mask states including no mask will occur. Moreover, in order to enable registration of registration information (learning information) using each of these states as search information, eight types of registration numbers are required for one image data. If the lower bits (the part corresponding to the mask classification number) of the registration number obtained at the time of search are deleted, the registration number of one image data can be obtained. Therefore, this example is suitable for applications in which mask position information for each purpose of use is registered and registered / searched for each purpose. If the mask position is specified incorrectly, it cannot be read, so it can be used as one security function. The search side can decide where to mask and how to change the search data at the time of search, and the searchable image number can be changed by changing the search information little by little, and the desired image data can be obtained by this operation. can. In addition, the search information of the image data can be grasped by this operation.
 これまで、比較的必要性の高い「検索メモリ2を用いた検索」に関して、マスク情報を用いる方法を説明してきたが、これらのマスク情報を用いる方法は、「検索メモリ2を用いた検索」のためのシステムに限らず、「検索メモリ1及び学習メモリによる検索」のためのシステムにも適用できる。例えば、特長抽出用のフィルタでフィルタリング等の前処理をした後のデータをマスクして、検索メモリ1の登録データとすることができ、学習メモリに学習情報としてマスク分類番号を登録することができる。 So far, the method of using the mask information has been described with respect to the relatively highly necessary "search using the search memory 2", but the method of using these mask information is the "search using the search memory 2". It can be applied not only to the system for "search memory 1" but also to the system for "search by search memory 1 and learning memory". For example, the data after preprocessing such as filtering can be masked by the filter for feature extraction to be the registered data of the search memory 1, and the mask classification number can be registered as the learning information in the learning memory. ..
 図50に、本実施形態の回路構成の例を示す。同図に示すように、本実施形態は、検索メモリ1(マット)102と、検索メモリ2(マット)103と、学習メモリマット104と、制御回路105と、拡散回路106とを主に備える。制御回路105は、検索メモリ1(マット)102、検索メモリ2(マット)103、学習メモリマット104及び拡散回路106のそれぞれと接続されており、情報処理を総合的に制御する機能を担っている。 FIG. 50 shows an example of the circuit configuration of this embodiment. As shown in the figure, the present embodiment mainly includes a search memory 1 (mat) 102, a search memory 2 (mat) 103, a learning memory mat 104, a control circuit 105, and a diffusion circuit 106. The control circuit 105 is connected to each of the search memory 1 (mat) 102, the search memory 2 (mat) 103, the learning memory mat 104, and the diffusion circuit 106, and has a function of comprehensively controlling information processing. ..
 検索メモリ1(マット)102及び検索メモリ2(マット)103は、複数の分割メモリ102a、102b、102c・・・103a、103b、103c・・・によって構築されている。複数の分割メモリは、検索メモリ1(マット)102及び検索メモリ2(マット)103を検索するキーデータを分割メモリの数に合わせて分割し、分割したキーデータで分割メモリのアドレスを選択することができる。即ち、検索メモリ1(マット)102及び検索メモリ2(マット)103を複数の分割メモリ102a、102b、102c・・・103a、103b、103c・・・に分割して構築することで、キーデータが割り当てられる領域が複数に分割される。検索メモリ1(マット)102で選択された情報を元に、学習メモリマット104の登録番号を登録する。 The search memory 1 (mat) 102 and the search memory 2 (mat) 103 are constructed by a plurality of divided memories 102a, 102b, 102c ... 103a, 103b, 103c ... For the plurality of divided memories, the key data for searching the search memory 1 (mat) 102 and the search memory 2 (mat) 103 is divided according to the number of divided memories, and the address of the divided memory is selected by the divided key data. Can be done. That is, the key data can be obtained by dividing the search memory 1 (mat) 102 and the search memory 2 (mat) 103 into a plurality of divided memories 102a, 102b, 102c ... 103a, 103b, 103c ... The allocated area is divided into multiple parts. The registration number of the learning memory mat 104 is registered based on the information selected in the search memory 1 (mat) 102.
 各分割メモリは、SRAMなどの記憶装置を用いて構成することができる。この意味において、本発明は、複数のSRAMを利用して実現した検索エンジンであるということができる。 Each divided memory can be configured by using a storage device such as SRAM. In this sense, it can be said that the present invention is a search engine realized by using a plurality of SRAMs.
 本検索エンジンの構成は、拡散回路106で学習メモリマットと検索メモリ1(マット)102及び検索メモリ2(マット)103に入力する拡散データを作成し制御回路105に入力する。制御回路105の構成は拡散後の入力データを入力する入力部1051と、入力データを分割するための分割部1052と、書き込み部1053、衝突情報記憶部1054を経て学習メモリマット104と検索メモリ1(マット)102及び検索メモリ2(マット)103にデータを登録する書き込み系と後で述べる読み出し系から成る。検索メモリ1(マット)102への書き込みは、分割した上位入力データと下位入力データ(即ち左右)のデータをアドレスとして、上位入力データ用と下位入力データ用(即ち左右)の分割メモリに学習メモリマット104の登録番号(エントリアドレス)を書き込む。具体的な書き込み動作については分割した最上位入力データと最下位入力データを対応する分割メモリのアドレスとして両方に同じ学習メモリマット104の登録番号を書き込む。この書き込み動作でアドレスが衝突したら、衝突したもののみを対象にして隣の分割入力データをアドレスにして隣の分割メモリに学習メモリマット104の登録番号を書き込む。登録が終了したら元の分割入力データに戻り登録を続ける。 In the configuration of this search engine, the diffusion circuit 106 creates diffusion data to be input to the learning memory mat, the search memory 1 (mat) 102, and the search memory 2 (mat) 103, and inputs the diffusion data to the control circuit 105. The configuration of the control circuit 105 consists of an input unit 1051 for inputting input data after diffusion, a division unit 1052 for dividing the input data, a writing unit 1053, and a learning memory mat 104 and a search memory 1 via a collision information storage unit 1054. It is composed of a writing system for registering data in the (mat) 102 and the search memory 2 (mat) 103, and a reading system described later. For writing to the search memory 1 (mat) 102, the divided upper input data and lower input data (that is, left and right) data are used as addresses, and the learning memory is stored in the divided memory for the upper input data and the lower input data (that is, left and right). Write the registration number (entry address) of the mat 104. As for the specific writing operation, the same registration number of the learning memory mat 104 is written in both the divided top-level input data and the bottom-level input data as the corresponding divided memory addresses. When the addresses collide in this writing operation, the registration number of the learning memory mat 104 is written in the adjacent divided memory with the adjacent divided input data as the address only for the collided ones. When the registration is completed, it returns to the original split input data and continues the registration.
 検索メモリマットの分割メモリには学習メモリマットの登録番号とは別に分割メモリの登録で衝突の有無を識別するためのフラグデータを付加する。分割メモリの登録時に、上位入力データと下位入力データから(即ち左右から)同じ学習メモリマットの登録番号を登録するのは読み出し時に検索メモリマットを構成する分割メモリを同時に読み出すため、左右登録により一致するデータを見つけることにより、検索データの絞り込みを行うためである。 In addition to the registration number of the learning memory mat, flag data for identifying the presence or absence of a collision is added to the divided memory of the search memory mat by registering the divided memory. When registering the divided memory, the registration number of the same learning memory mat is registered from the upper input data and the lower input data (that is, from the left and right) because the divided memory constituting the search memory mat is read at the same time at the time of reading. This is to narrow down the search data by finding the data to be used.
 検索メモリ2(マット)103への書き込みは、元データファイルの登録番号、マスクの種類を特定する情報、及び衝突の有無を識別するためのフラグデータを含む登録情報を学習情報として書き込む。 For writing to the search memory 2 (mat) 103, the registration information including the registration number of the original data file, the information for specifying the mask type, and the flag data for identifying the presence or absence of a collision is written as learning information.
 読み出し系については分割部1052により分割されたキーデータを入力する読み出し部1055、読み出し部1055は分割したキーデータで検索メモリ1(マット)102及び検索メモリ2(マット)103の分割メモリ102a、102b、102c・・・103a、103b、103c・・・を読み出し、読み出し結果を確認部1056に送り、確認部1056は一致データで学習メモリ104の読み出しを行い学習メモリ104又は検索メモリ2(マット)103に登録されている学習情報を読み出し、読み出し結果を出力部1056に送る。一致データが無ければ登録されている学習情報は無いということになる。出力部では学習情報の多数決判断を行う。多数決判断でその結果が設定した閾値を超えていれば多数データが推論の結果となる。出力部は、その結果を正解データとして出力する。さらに出力部1056は、検索メモリ1(マット)102を用いて得られた検索結果と検索メモリ2(マット)103を用いて得られた検索結果の両方を用いて、推論の結果を出力することができる。これにより、より高度な検索が可能となる。 Regarding the reading system, the reading unit 1055 for inputting the key data divided by the dividing unit 1052, and the reading unit 1055 are the divided memories 102a and 102b of the search memory 1 (mat) 102 and the search memory 2 (mat) 103 with the divided key data. , 102c ... 103a, 103b, 103c ... are read, the read result is sent to the confirmation unit 1056, the confirmation unit 1056 reads out the learning memory 104 with the matching data, and the learning memory 104 or the search memory 2 (mat) 103. The learning information registered in is read out, and the read-out result is sent to the output unit 1056. If there is no matching data, it means that there is no registered learning information. The output unit makes a majority decision on the learning information. If the result of the majority decision exceeds the set threshold, the majority data will be the result of inference. The output unit outputs the result as correct answer data. Further, the output unit 1056 outputs the inference result using both the search result obtained by using the search memory 1 (mat) 102 and the search result obtained by using the search memory 2 (mat) 103. Can be done. This enables more advanced searches.
 本発明は、上述のように、従来の回路構成、特にメモリ回路をベースとしながら、まったく新しい論理的方式論を提供するものである。すなわち、本発明は、キーデータとその登録番号の構成を巧みに利用したプログラムレスのアーキテクチャに関する。別の言い方をすれば、本発明は、脳型のアーキテクチャに関するものである。 As described above, the present invention provides a completely new logical methodology based on a conventional circuit configuration, particularly a memory circuit. That is, the present invention relates to a programless architecture that skillfully utilizes the structure of key data and its registration number. In other words, the invention relates to a brain-type architecture.
 なお前記説明においては、本発明が、画像処理に適用されていたが、本発明の適用対象はこれに限定されない。 Although the present invention has been applied to image processing in the above description, the scope of application of the present invention is not limited to this.
  102…検索メモリ1(マット)
  103…検索メモリ2(マット)
  104…学習メモリ(マット)
  105…制御回路
  106…拡散回路
  1051…入力部
  1052…分割部
  1053…書込部
  1054…衝突情報記憶部
  1055…読出部
  1056…出力部
 
 
102 ... Search memory 1 (matt)
103 ... Search memory 2 (matt)
104 ... Learning memory (mat)
105 ... Control circuit 106 ... Diffusion circuit 1051 ... Input unit 1052 ... Division unit 1053 ... Writing unit 1054 ... Collision information storage unit 1055 ... Reading unit 1056 ... Output unit

Claims (18)

  1.  汎用機械学習を行うための情報処理装置であって、
     特長抽出用のフィルタでデータをフィルタリングするフィルタと、
     学習メモリマットと、
     フィルタリングしたデータを検索対象の学習部品とし、前記学習部品に学習情報を付与して学習メモリマットに登録する学習手段と、
     学習部品の探索を行って前記学習メモリマットに登録した学習情報を抽出する検索手段と、
     検索した学習情報から正解学習情報を多数決判定する手段と、
     を含む検索エンジンを備えたことを特徴とする情報処理装置。
    An information processing device for general-purpose machine learning
    Features A filter that filters data with a filter for extraction,
    Learning memory mat and
    A learning means in which filtered data is used as a learning component to be searched, learning information is added to the learning component, and the learning component is registered in the learning memory mat.
    A search means for searching for learning components and extracting learning information registered in the learning memory mat,
    A means to determine the correct answer learning information by majority vote from the searched learning information,
    An information processing device characterized by being equipped with a search engine including.
  2.  追加データを学習して、追加の学習情報を登録する手段を更に備えたことを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, further comprising means for learning additional data and registering additional learning information.
  3.  前記データを拡散処理して圧縮・伸張する拡散処理手段を更に備えたことを特徴とする請求項1又は2に記載の情報処理装置。 The information processing apparatus according to claim 1 or 2, further comprising a diffusion processing means for compressing and decompressing the data.
  4.  前記拡散処理は、データの偏りを無くす変換処理であることを特徴とする請求項3に記載の情報処理装置。 The information processing apparatus according to claim 3, wherein the diffusion process is a conversion process that eliminates data bias.
  5.  前記検索手段が、
     データを入力するための入力部と、
     入力データを分割するための分割部と、 
     複数の分割メモリにより構成される検索メモリマットと、
     前記検索メモリマットに、分割した前記入力データをアドレスにして前記学習メモリマットの登録番号を登録するための検索メモリ書込部と、
     分割した前記入力データをアドレスにして前記検索メモリマットをアクセスする検索手段と、
     前記検索メモリマットからの読み出し結果により、前記学習メモリマットの前記学習情報を抽出する読出部と、
     を備えたことを特徴とする請求項1乃至4のいずれかに記載の情報処理装置。
    The search means
    Input section for inputting data and
    The division part for dividing the input data and
    A search memory mat consisting of multiple split memories,
    A search memory writing unit for registering the registration number of the learning memory mat using the divided input data as an address in the search memory mat.
    A search means for accessing the search memory mat using the divided input data as an address,
    A reading unit that extracts the learning information of the learning memory mat based on the reading result from the search memory mat.
    The information processing apparatus according to any one of claims 1 to 4, wherein the information processing apparatus is provided.
  6.  前記検索メモリ書込部は、分割した上位入力データと下位入力データをアドレスとして、対応する両方の分割メモリに、前記学習メモリマットの同じ登録番号を登録することを特徴とする請求項5に記載の情報処理装置。 The fifth aspect of claim 5, wherein the search memory writing unit registers the same registration number of the learning memory mat in both of the corresponding divided memories using the divided upper input data and the lower input data as addresses. Information processing device.
  7.  前記上位入力データ又は下位入力データのアドレスが衝突したら、隣の分割データをアドレスとして前記学習メモリマットの登録番号を登録し、登録が終了したら元の前記上位入力データ又は下位入力データに戻り登録を続けることを特徴とする請求項6に記載の情報処理装置。 When the addresses of the upper input data or the lower input data collide, the registration number of the learning memory mat is registered using the adjacent divided data as the address, and when the registration is completed, the original upper input data or the lower input data is returned and registered. The information processing apparatus according to claim 6, wherein the information processing apparatus is continued.
  8.  前記分割メモリの登録データは、前記学習メモリの登録番号と、登録の有無を識別するためのフラグデータを含むことを特徴とする請求項6又は7に記載の情報処理装置。 The information processing device according to claim 6 or 7, wherein the registration data of the divided memory includes a registration number of the learning memory and flag data for identifying the presence / absence of registration.
  9.  前記検索手段は、分割した前記入力データで対応する全ての分割メモリを同時に読み出し、一致する読み出しデータを学習メモリマットに登録したデータを読み出すアドレスとすることを特徴とする請求項5乃至8のいずれかに記載の情報処理装置。 The search means according to any one of claims 5 to 8, wherein the search means simultaneously reads all the corresponding divided memories of the divided input data, and the matching read data is used as an address for reading the data registered in the learning memory mat. Information processing device described in Crab.
  10.  汎用機械学習を行うための情報処理装置であって、
     検索情報データの一部をマスクするマスク手段と、
     前記マスク手段によりマスクされた前記データを検索対象の学習部品とし、前記学習部品に学習情報を付与し検索メモリマットに登録する学習手段と、
     学習部品の探索を行って前記検索メモリマットに登録した学習情報を抽出する検索手段と、
     検索した学習情報から正解学習情報を判定する手段と、
     を含む検索エンジンを備えたことを特徴とする情報処理装置。
    An information processing device for general-purpose machine learning
    Masking means to mask a part of search information data,
    A learning means in which the data masked by the masking means is used as a learning component to be searched, learning information is added to the learning component, and the data is registered in the search memory mat.
    A search means for searching for learning parts and extracting learning information registered in the search memory mat,
    A means of determining correct learning information from the searched learning information,
    An information processing device characterized by being equipped with a search engine including.
  11.  追加データを学習して、追加の学習情報を登録する手段を更に備えたことを特徴とする請求項10に記載の情報処理装置。 The information processing apparatus according to claim 10, further comprising means for learning additional data and registering additional learning information.
  12.  前記検索情報データを拡散処理して圧縮・伸張する拡散処理手段を更に備えたことを特徴とする請求項10又は11に記載の情報処理装置。 The information processing apparatus according to claim 10, further comprising a diffusion processing means for compressing and decompressing the search information data.
  13.  前記拡散処理は、データの偏りを無くす変換処理であることを特徴とする請求項12に記載の情報処理装置。 The information processing apparatus according to claim 12, wherein the diffusion process is a conversion process that eliminates data bias.
  14.  前記検索手段が、
     データを入力するための入力部と、
     入力データを分割するための分割部と、 
     複数の分割メモリにより構成される前記検索メモリマットと、
     前記検索メモリマットに、分割した前記入力データをアドレスにして前記学習情報を登録するための検索メモリ書込部と、
     分割した前記入力データをアドレスにして前記検索メモリマットをアクセスする検索手段と、
     前記検索メモリマットからの読み出し結果により、前記学習情報を抽出する読出部と、
     を備えたことを特徴とする請求項10乃至13のいずれかに記載の情報処理装置。
    The search means
    Input section for inputting data and
    The division part for dividing the input data and
    The search memory mat composed of a plurality of divided memories and
    A search memory writing unit for registering the learning information using the divided input data as an address in the search memory mat.
    A search means for accessing the search memory mat using the divided input data as an address,
    A reading unit that extracts the learning information based on the reading result from the search memory mat,
    The information processing apparatus according to any one of claims 10 to 13, wherein the information processing apparatus is provided.
  15.  前記検索メモリ書込部は、分割した上位入力データと下位入力データをアドレスとして、対応する両方の分割メモリに、同じ前記学習情報を登録することを特徴とする請求項14に記載の情報処理装置。 The information processing apparatus according to claim 14, wherein the search memory writing unit registers the same learning information in both of the corresponding divided memories using the divided upper input data and the lower input data as addresses. ..
  16.  前記上位入力データ又は下位入力データのアドレスが衝突したら、隣の分割データをアドレスとして同じ前記学習情報を登録し、登録が終了したら元の前記上位入力データ又は下位入力データに戻り登録を続けることを特徴とする請求項15に記載の情報処理装置。 When the addresses of the upper input data or the lower input data collide, the same learning information is registered using the adjacent divided data as the address, and when the registration is completed, the original upper input data or the lower input data is returned and the registration is continued. The information processing apparatus according to claim 15, which is characterized.
  17.  前記分割メモリの登録データは、同じ前記学習情報と、登録の有無を識別するためのフラグデータを含むことを特徴とする請求項15又は16に記載の情報処理装置。 The information processing apparatus according to claim 15, wherein the registration data of the divided memory includes the same learning information and flag data for identifying the presence or absence of registration.
  18.  前記検索手段は、分割した前記入力データで対応する全ての分割メモリを同時に読み出し、一致する読み出しデータを前記学習情報とすることを特徴とする請求項14乃至17のいずれかに記載の情報処理装置。
     
    The information processing apparatus according to any one of claims 14 to 17, wherein the search means simultaneously reads out all the corresponding divided memories with the divided input data, and uses the matching read data as the learning information. ..
PCT/JP2021/028220 2020-07-31 2021-07-29 Information processing device using compression data search engine, and information processing method therefor WO2022025216A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022539581A JPWO2022025216A1 (en) 2020-07-31 2021-07-29

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020131250 2020-07-31
JP2020-131250 2020-07-31

Publications (1)

Publication Number Publication Date
WO2022025216A1 true WO2022025216A1 (en) 2022-02-03

Family

ID=80036350

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/028220 WO2022025216A1 (en) 2020-07-31 2021-07-29 Information processing device using compression data search engine, and information processing method therefor

Country Status (2)

Country Link
JP (1) JPWO2022025216A1 (en)
WO (1) WO2022025216A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016018421A (en) * 2014-07-09 2016-02-01 住友電気工業株式会社 Image classification device, number plate reading device, number plate reading system, and image classification method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016018421A (en) * 2014-07-09 2016-02-01 住友電気工業株式会社 Image classification device, number plate reading device, number plate reading system, and image classification method

Also Published As

Publication number Publication date
JPWO2022025216A1 (en) 2022-02-03

Similar Documents

Publication Publication Date Title
Wilkinson et al. Semantic and verbatim word spotting using deep neural networks
JP3445394B2 (en) How to compare at least two image sections
JP2726568B2 (en) Character recognition method and device
US20210224332A1 (en) Chart question answering
CN101916382A (en) Method for recognizing image of plant leaf
US9633256B2 (en) Methods and systems for efficient automated symbol recognition using multiple clusters of symbol patterns
US9589185B2 (en) Symbol recognition using decision forests
US6978044B2 (en) Pattern string matching apparatus and pattern string matching method
US7046847B2 (en) Document processing method, system and medium
CN111666937A (en) Method and system for recognizing text in image
WO2022025216A1 (en) Information processing device using compression data search engine, and information processing method therefor
CN116311391A (en) High-low precision mixed multidimensional feature fusion fingerprint retrieval method
CN115376152A (en) Method for checking duplicate of flow chart
CN115146073A (en) Test question knowledge point marking method for cross-space semantic knowledge injection and application
JPH0516632B2 (en)
US5825923A (en) Method for performing character recognition on a pixel matrix
WO2021025092A1 (en) Information processing device using pressure data search engine, and information processing method of this
Rabby et al. Towards Building A Robust Large-Scale Bangla Text Recognition Solution Using A Unique Multiple-Domain Character-Based Document Recognition Approach
CN115577688B (en) Table structuring processing method, device, storage medium and apparatus
JP3072126B2 (en) Method and apparatus for identifying typeface
JPS62271086A (en) Pattern recognizing device
JP2938276B2 (en) Character recognition device
Kropotov et al. Nikita Lomov1, 2 (), Dmitry Kropotov¹, 3
JP3151866B2 (en) English character recognition method
JPS6154569A (en) Document poicture processing system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21849456

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022539581

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21849456

Country of ref document: EP

Kind code of ref document: A1