JP6855711B2 - Information processing equipment and information processing programs - Google Patents

Information processing equipment and information processing programs Download PDF

Info

Publication number
JP6855711B2
JP6855711B2 JP2016171974A JP2016171974A JP6855711B2 JP 6855711 B2 JP6855711 B2 JP 6855711B2 JP 2016171974 A JP2016171974 A JP 2016171974A JP 2016171974 A JP2016171974 A JP 2016171974A JP 6855711 B2 JP6855711 B2 JP 6855711B2
Authority
JP
Japan
Prior art keywords
data
processing
image
inspection
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016171974A
Other languages
Japanese (ja)
Other versions
JP2018037020A (en
Inventor
林 千登
千登 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2016171974A priority Critical patent/JP6855711B2/en
Publication of JP2018037020A publication Critical patent/JP2018037020A/en
Application granted granted Critical
Publication of JP6855711B2 publication Critical patent/JP6855711B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Description

本発明は、情報処理装置及び情報処理プログラムに関する。 The present invention relates to an information processing device and an information processing program.

特許文献1には、固体の真偽判定を簡単かつ高精度に行うことを課題とし、紙を形成する繊維質材料の絡み具合は製造時に制御できないランダム性を有しており、これに伴い紙の透明度も個々の紙固有のランダムな変化が生じており、これを利用し、紙上の基準領域(例えば、2×2mm程度のサイズの非印刷部分)を光学的に読み取り、基準データとして登録しておき、真偽判定時には、基準領域を含み基準領域よりも大サイズ(例えば、4×4mm程度)の照合領域をスキャナで読み取り、読み取りによって得られた照合データから基準領域と同サイズの部分領域のデータを抽出し、基準データとの相関値を正規化相関法により演算することを、照合領域内での部分領域の位置をずらしながら繰り返し、相関値の最大値及び該最大値のノーマライズド・スコアを各々閾値と比較することで真偽判定を行うことが開示されている。 Patent Document 1 has an object of easily and highly accurately determining the authenticity of a solid, and the degree of entanglement of the fibrous material forming the paper has randomness that cannot be controlled at the time of production. The transparency of the paper also changes randomly, which is peculiar to each paper. Using this, the reference area on the paper (for example, the non-printed part with a size of about 2 x 2 mm) is optically read and registered as reference data. At the time of authenticity determination, a collation area including the reference area and having a size larger than the reference area (for example, about 4 × 4 mm) is read by a scanner, and a partial area having the same size as the reference area is read from the collation data obtained by the reading. Data is extracted and the correlation value with the reference data is calculated by the normalization correlation method, which is repeated while shifting the position of the partial area in the matching area, and the maximum value of the correlation value and the normalized value of the maximum value are repeated. It is disclosed that authenticity determination is performed by comparing each score with a threshold value.

特許文献2には、固体の真偽判定を簡単かつ高精度に行うことを課題とし、真物である紙上の基準領域を異なる2方向から光学的に読み取り、基準画像として登録しておき、真偽判定対象の紙に対し、基準領域を含み基準領域よりも大きいサイズの照合領域をスキャナで異なる2方向から読み取り、読み取りによって得られた各照合データから基準領域と同サイズの部分領域のデータを抽出し、同じ方向から光学的に読み取った基準画像と照合画像との組において、基準画像との相関値を正規化相関法により演算することを、照合領域内での部分領域の位置をずらしながら繰り返し、相関値の最大値及び該最大値のノーマライズド・スコアを各々閾値と比較することで真偽判定を行い、各組における真偽判定において共に「真」と判定されてはじめて真偽判定対象の紙を「真」と判定することが開示されている。 Patent Document 2 has an object of easily and highly accurately determining the authenticity of a solid, and optically reads a reference region on a genuine paper from two different directions and registers it as a reference image. For the paper to be falsely determined, a collation area including the reference area and a size larger than the reference area is read from two different directions by a scanner, and the data of the partial area having the same size as the reference area is read from each collation data obtained by the reading. In the pair of the reference image and the collation image extracted and optically read from the same direction, the correlation value with the reference image is calculated by the normalization correlation method while shifting the position of the partial region in the collation region. Authenticity is determined by repeatedly comparing the maximum value of the correlation value and the normalized score of the maximum value with the threshold value, and the authenticity is determined only when both are determined to be "true" in the authenticity determination in each group. It is disclosed that the paper is judged to be "true".

特許文献3には、医用画像から画像処理によって自動的に撮像装置、部位、撮像方向等の撮像属性情報を抽出して管理情報に付加し、膨大な量の医用画像の効率的な管理を可能にすることを課題とし、テンプレート画像記憶部に、分類毎に識別すべきカテゴリに関するテンプレート画像を記憶しておき、画像分類部は、医用画像の管理情報と画像サイズから入力画像を分類し、テンプレート画像選択部は、テンプレート画像記憶部から入力画像の分類結果を用いて識別の候補となる複数のカテゴリのテンプレート画像を選択し、画像識別部は、選択されたテンプレート画像と入力画像とを比較し、最もよく一致するテンプレート画像のカテゴリを判定し、管理情報付加部は、識別されたカテゴリのテンプレート画像が持つ撮像属性情報を管理情報に付加することが開示されている。 In Patent Document 3, imaging attribute information such as an imaging device, a site, and an imaging direction is automatically extracted from a medical image by image processing and added to management information, enabling efficient management of a huge amount of medical images. In the template image storage unit, template images related to categories to be identified for each classification are stored, and the image classification unit classifies input images from medical image management information and image size, and templates. The image selection unit selects template images of a plurality of categories that are candidates for identification from the template image storage unit using the classification result of the input image, and the image identification unit compares the selected template image with the input image. It is disclosed that the management information addition unit adds the imaging attribute information of the template image of the identified category to the management information by determining the category of the template image that matches the best.

特許文献4には、データベースに大量の画像が格納される場合であっても、クラスタリング処理のために必要なメモリ容量が少なくて済み、また、データベースを逐次的に更新することのできる画像検索用データベース装置を提供することを課題とし、画像検索用のデータベース装置は、クラスタリング処理に用いるために、ベクトル空間における部分空間の範囲を記憶するメモリと、複数の画像の特徴量ベクトルを各特徴量ベクトルが属する部分空間に関連付けて記憶するHDDとを備え、このデータベース装置では、画像に含まれる複数の特徴点の各々の局所特徴量が特徴量ベクトルとして表され、複数の特徴量ベクトルが含まれるベクトル空間においてクラスタリング処理が行われてベクトル空間が複数の部分空間に分割され、各部分空間と各画像との対応関係を示す検索テーブルが生成されることが開示されている。 In Patent Document 4, even when a large number of images are stored in the database, the memory capacity required for the clustering process is small, and the database can be sequentially updated for image search. The subject is to provide a database device, and the database device for image retrieval uses a memory for storing a range of a subspace in a vector space and a feature amount vector of a plurality of images for each feature amount vector in order to be used for clustering processing. In this database device, each local feature quantity of a plurality of feature points included in an image is represented as a feature quantity vector, and a vector including a plurality of feature quantity vectors is provided. It is disclosed that a clustering process is performed in a space to divide a vector space into a plurality of subspaces, and a search table showing the correspondence between each subspace and each image is generated.

特許文献5には、ユーザが簡単な操作でもって、大量の情報の中から自分の意図する情報を検索できるようにする情報検索技術を提供することを課題とし、ユーザに対してサンプルの情報を提示し、それに対するユーザの適否の判定情報を入力し、その適合とされた情報から例えば特徴量の平均値をとることで検索キー情報を作成し、作成した検索キー情報とサンプルの情報との間の距離から、検索キー情報と適合とされた情報との間の類似度が例えば1に近くなり、検索キー情報と不適合とされた情報との間の類似度が例えば0に近くなるようにと、特徴量毎に定義される距離から類似度への変換規則を作成し、適合とされた情報が上位になる類似度の統合形態を決定して、その統合形態と作成した変換規則とから、蓄積手段に蓄積される情報の中から検索キー情報に類似する情報を検索することが開示されている。 Patent Document 5 has an object of providing an information retrieval technique that enables a user to search for information intended by himself / herself from a large amount of information with a simple operation, and provides the user with sample information. Search key information is created by presenting, inputting the user's suitability judgment information for it, and taking, for example, the average value of the feature amount from the conforming information, and the created search key information and the sample information From the distance between them, the similarity between the search key information and the conforming information is, for example, close to 1, and the similarity between the search key information and the nonconforming information is, for example, close to 0. And, a conversion rule from the distance defined for each feature quantity to the similarity is created, the integrated form of the similarity in which the conforming information is higher is determined, and the integrated form and the created conversion rule are used. , It is disclosed to search for information similar to the search key information from the information stored in the storage means.

特開2005−038389号公報Japanese Unexamined Patent Publication No. 2005-038389 特開2006−053736号公報Japanese Unexamined Patent Publication No. 2006-053736 特開2002−253539号公報Japanese Unexamined Patent Publication No. 2002-253539 特開2010−009332号公報Japanese Unexamined Patent Publication No. 2010-09332 特開2003−076717号公報Japanese Unexamined Patent Publication No. 2003-07767

固体の真偽判定を行う技術がある。具体的には、真の物体を撮影した基準データと検査対象(つまり、その時点では真偽不明)である物体を撮影した検査データとのマッチング処理によって、真偽判定を行う。
しかし、この真偽判定の処理として正規品の確認処理とするような場合には、膨大な数の正規品の情報と対象品の情報との間で真偽判定の処理が必要となり、さらには、位置や回転等によるずれに対応するために、多くの計算量が必要となる。あらゆるずれに対応するためには基準データが膨大となり、単に並列処理するだけでは処理時間がかかることになる。
本発明は、並列処理をするにあたって、照合処理における計算量を減少させるようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
There is a technique for determining the authenticity of a solid. Specifically, the authenticity is determined by the matching process between the reference data obtained by photographing the true object and the inspection data obtained by photographing the object which is the inspection target (that is, the truth is unknown at that time).
However, if the genuine product confirmation process is used as the true / false determination process, it is necessary to perform a true / false determination process between a huge amount of genuine product information and the target product information. , A large amount of calculation is required to deal with deviations due to position, rotation, etc. In order to deal with any deviation, the reference data becomes enormous, and it takes a long time to simply process in parallel.
An object of the present invention is to provide an information processing apparatus and an information processing program that reduce the amount of calculation in collation processing in parallel processing.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化した基準データを複数記憶している基準データ記憶手段と、複数の要素によって構成されている検査データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化する正規化手段と、前記基準データ記憶手段内に記憶されている正規化後の各基準データと前記正規化手段による正規化後の検査データを照合する照合手段と、前記照合手段による照合結果と予め定められた閾値との比較を行って、複数の前記基準データと前記検査データとの照合結果を集約して検査データの真偽を判定する判定手段を具備し、前記正規化手段と前記照合手段を並列処理にて行い、前記正規化後の基準データと前記正規化後の検査データは、それぞれベクトルであり、該正規化後の基準データを複数個まとめてマトリクスとし、該検査データから画像処理により変換し正規化したデータを複数個まとめたマトリクスとし、前記照合手段は、複数の基準データに対して、前記画像処理した検査データとの相関値をまとめて算出し、さらに、画像処理により検査データから変換されて作られた複数のデータをそれぞれ正規化し、該正規化された個々のデータをベクトルとし、複数分をまとめてマトリクスを構成し、該マトリクス内の位置情報を管理する管理手段と、前記マトリクス内の位置から元の情報に対応付ける情報を記憶しておく記憶手段と、前記対応を用いて、前記マトリクス内の位置から元の情報を抽出する抽出手段を具備する情報処理装置である。
The gist of the present invention for achieving such an object lies in the inventions of the following items.
In the invention of claim 1, the average value of the values of the elements in the reference data composed of a plurality of elements is subtracted from the values of the elements, and the length of the multidimensional vector composed of the elements is normalized. The reference data storage means for storing a plurality of the reference data and the average value of the values of the elements in the inspection data composed of the plurality of elements are subtracted from the values of the elements, and the multiple elements are composed of the elements. A normalization means for normalizing the length of the dimension vector, and a collation means for collating each standard data after normalization stored in the reference data storage means with the inspection data after normalization by the normalization means. The collation result by the collation means is compared with a predetermined threshold value, and the collation results of a plurality of the reference data and the inspection data are aggregated to determine the authenticity of the inspection data. , have rows the verification means and the normalizing means in a parallel process, the inspection data after the normalization with the reference data after the normalization are each vector, a plurality of reference data after the normalization Summary The inspection data is converted into a matrix by image processing, and a plurality of normalized data are collected. The collation means collects the correlation values of the plurality of reference data with the image-processed inspection data. Then, each of the plurality of data created by being converted from the inspection data by image processing is normalized, the normalized individual data is used as a vector, and the plurality of data are put together to form a matrix, and the matrix is formed. Using the management means for managing the position information in the matrix, the storage means for storing the information associated with the original information from the position in the matrix, and the correspondence, the original information is extracted from the position in the matrix. It is an information processing apparatus including an extraction means.

請求項の発明は、前記判定手段による処理を並列計算で行う、請求項に記載の情報処理装置である。 The invention of claim 2 performs processing by the determining means in parallel computing is an information processing apparatus according to claim 1.

請求項の発明は、前記判定手段による処理を並列計算におけるマッパー若しくはリデューサーで行う、又は、エクセキューター若しくはドライバーで行う、請求項に記載の情報処理装置である。 The invention according to claim 3 is the information processing apparatus according to claim 2 , wherein the processing by the determination means is performed by a mapper or a reducer in parallel calculation, or by an executor or a driver.

請求項の発明は、前記基準データと前記検査データは画像であり、前記検査データに対してアフィン変換を含む画像処理を行う画像処理手段をさらに具備し、前記正規化手段は、前記画像処理手段によって画像処理された検査データを対象として、正規化処理を行う、請求項からのいずれか一項に記載の情報処理装置である。 The invention of claim 4 further includes image processing means for performing image processing including affine conversion on the inspection data, wherein the reference data and the inspection data are images, and the normalization means is the image processing. The information processing apparatus according to any one of claims 1 to 3 , which performs normalization processing on inspection data image-processed by means.

請求項の発明は、前記アフィン変換として、予め定めた角度での回転、予め定めた倍率での拡大縮小、又はそれらの組み合わせによる変換処理と部分データの切り出し処理を行う変換用マトリクスを保存し、マトリクス演算を実行して検査データの計算用データを作成する、請求項に記載の情報処理装置である。 The invention of claim 5 stores, as the affine transformation, a conversion matrix that performs conversion processing by rotation at a predetermined angle, enlargement / reduction at a predetermined magnification, or a combination thereof and extraction processing of partial data. The information processing apparatus according to claim 4 , wherein the matrix calculation is executed to create data for calculation of inspection data.

請求項の発明は、さらに、前記対応に基づいて行列の位置に応じた判定規則を記憶する第2の記憶手段を具備し、前記判定手段は、前記判定規則を用いて真偽を判定する、請求項1から5のいずれか一項に記載の情報処理装置である。 The invention of claim 6 further includes a second storage means for storing a determination rule according to the position of the matrix based on the correspondence, and the determination means determines authenticity using the determination rule. , The information processing apparatus according to any one of claims 1 to 5.

請求項の発明は、さらに、複数の検査データを同時に前記判定手段に投入する場合には、元の検査データを識別する情報を該判定手段に通知する、又は、前記判定手段の処理前に照合結果を元の検査データに応じて分割する処理手段を具備する請求項に記載の情報処理装置である。 The invention of claim 7 further, when a plurality of inspection data are input to the determination means at the same time, notifies the determination means of the information identifying the original inspection data, or before the processing of the determination means. The information processing apparatus according to claim 6 , further comprising a processing means for dividing the collation result according to the original inspection data.

請求項の発明は、前記正規化手段は、対象外の要素となっている値を0にする、請求項1からのいずれか一項に記載の情報処理装置である。 The invention of claim 8 is the information processing apparatus according to any one of claims 1 to 7 , wherein the normalization means sets a value that is not a target element to 0.

請求項の発明は、コンピュータを、複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化した基準データを複数記憶している基準データ記憶手段と、複数の要素によって構成されている検査データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化する正規化手段と、前記基準データ記憶手段内に記憶されている正規化後の各基準データと前記正規化手段による正規化後の検査データを照合する照合手段と、前記照合手段による照合結果と予め定められた閾値との比較を行って、複数の前記基準データと前記検査データとの照合結果を集約して検査データの真偽を判定する判定手段として機能させ、前記正規化手段と前記照合手段を並列処理にて行い、前記正規化後の基準データと前記正規化後の検査データは、それぞれベクトルであり、該正規化後の基準データを複数個まとめてマトリクスとし、該検査データから画像処理により変換し正規化したデータを複数個まとめたマトリクスとし、前記照合手段は、複数の基準データに対して、前記画像処理した検査データとの相関値をまとめて算出し、さらに、画像処理により検査データから変換されて作られた複数のデータをそれぞれ正規化し、該正規化された個々のデータをベクトルとし、複数分をまとめてマトリクスを構成し、該マトリクス内の位置情報を管理する管理手段と、前記マトリクス内の位置から元の情報に対応付ける情報を記憶しておく記憶手段と、前記対応を用いて、前記マトリクス内の位置から元の情報を抽出する抽出手段として機能させるための情報処理プログラムである。 The invention of claim 9 causes the computer to subtract the average value of the values of the elements in the reference data composed of the plurality of elements from the values of the elements, and the length of the multidimensional vector composed of the elements. The standard data storage means that stores a plurality of standard data normalized by, and the average value of the values of the elements in the inspection data composed of the plurality of elements are subtracted from the values of the elements and configured by the elements. The normalization means for normalizing the length of the multidimensional vector to be formed is collated with each reference data after normalization stored in the reference data storage means and the inspection data after normalization by the normalization means. A determination means that compares the collation means with the collation result by the collation means and a predetermined threshold value, aggregates the collation results between the plurality of reference data and the inspection data, and determines the authenticity of the inspection data. to function as a, have a row the collating means and the normalizing means in a parallel process, the inspection data after the normalization with the reference data after the normalization are each vector, the reference data after the normalization A plurality of data are collectively formed into a matrix, and a plurality of data converted and normalized by image processing from the inspection data are put together into a matrix, and the collation means correlates a plurality of reference data with the inspection data subjected to the image processing. The values are calculated collectively, and a plurality of data created by being converted from the inspection data by image processing are normalized respectively, the normalized individual data is used as a vector, and the plurality of data are collectively formed into a matrix. Using the management means for managing the position information in the matrix, the storage means for storing the information associated with the original information from the position in the matrix, and the correspondence, the original information from the position in the matrix. It is an information processing program for functioning as an extraction means for extracting data.

請求項1の情報処理装置によれば、並列処理をするにあたって、照合処理における計算量を減少させる。また、複数の基準データに対して、画像処理した検査データとの相関値がまとめて算出される。そして、マトリクス演算により、画像処理を考慮した照合計算をまとめて高速に行える。 According to the information processing apparatus of claim 1, the amount of calculation in the collation processing is reduced in the parallel processing. In addition, the correlation values with the image-processed inspection data are collectively calculated for the plurality of reference data. Then, by the matrix calculation, the collation calculation considering the image processing can be collectively performed at high speed.

請求項の情報処理装置によれば、並列計算で真偽の判定を行う。 According to the information processing apparatus of claim 2 , the authenticity is determined by parallel calculation.

請求項の情報処理装置によれば、並列計算におけるマッパー若しくはリデューサー、又は、エクセキューター若しくはドライバーが、真偽の判定を行う。 According to the information processing apparatus of claim 3 , the mapper or reducer, or the executor or driver in the parallel calculation determines the authenticity.

請求項の情報処理装置によれば、検査データに対して画像処理を行った後に、正規化処理が行われる。 According to the information processing apparatus of claim 4 , the normalization process is performed after the image processing is performed on the inspection data.

請求項の情報処理装置によれば、アフィン変換として、予め定めた角度での回転、予め定めた倍率での拡大縮小、又はそれらの組み合わせによる変換処理と部分データの切り出し処理を行う変換用マトリクスを保存し、マトリクス演算を実行して検査データの計算用データが作成される。 According to the information processing apparatus of claim 5 , as the affine transformation, a conversion matrix that performs conversion processing by rotation at a predetermined angle, enlargement / reduction at a predetermined magnification, or a combination thereof and extraction processing of partial data. Is saved, and matrix calculation is executed to create data for calculation of inspection data.

請求項の情報処理装置によれば、判定規則を用いて真偽が判定される。 According to the information processing apparatus of claim 6 , the authenticity is determined using the determination rule.

請求項の情報処理装置によれば、複数の検査データを同時に判定手段に投入する場合には、元の検査データを識別する情報が判定手段に通知され、又は、判定処理前に照合結果が元の検査データに応じて分割される。 According to the information processing apparatus of claim 7 , when a plurality of inspection data are input to the determination means at the same time, the information for identifying the original inspection data is notified to the determination means, or the collation result is obtained before the determination process. Divided according to the original inspection data.

請求項の情報処理装置によれば、対象外の要素となっている値を0にする正規化が行われる。 According to the information processing apparatus of claim 8 , normalization is performed so that the value that is not the target element is set to 0.

請求項の情報処理プログラムによれば、並列処理をするにあたって、照合処理における計算量を減少させる。また、複数の基準データに対して、画像処理した検査データとの相関値がまとめて算出される。そして、マトリクス演算により、画像処理を考慮した照合計算をまとめて高速に行える。 According to the information processing program of claim 9, the amount of calculation in the collation processing is reduced in the parallel processing. In addition, the correlation values with the image-processed inspection data are collectively calculated for the plurality of reference data. Then, by the matrix calculation, the collation calculation considering the image processing can be collectively performed at high speed.

本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module configuration diagram about the configuration example of this embodiment. 真偽の判定処理例を示す説明図である。It is explanatory drawing which shows the authenticity determination processing example. 真偽判定の並列処理例を示す説明図である。It is explanatory drawing which shows the parallel processing example of true and false judgment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment. 本実施の形態のシステム構成例を示す説明図である。It is explanatory drawing which shows the system configuration example of this embodiment. 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware configuration example of the computer which realizes this embodiment.

まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する情報処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
基準データと検査データを比較することによって、検査データの真偽を判定する技術がある。例えば、特許文献1では、ランダム性を有する読み取り可能な固有の特徴が表面に沿って分布している固体の真偽を判定する。基準データは、真の固体の特徴が予め読み取られることで得られた、真の固体上に分布する特徴を表すデータであり、例えば、光学的に読み取られたものである。より具体的には、真の固体に光を照射し、反射光又は透過光を読み取ることで得られた画像データである。検査データは、判定対象の固体の特徴を読み取ることで、判定対象の固体上に分布する特徴を表すデータであり、例えば、光学的に読み取られたものである。より具体的には、判定対象の固体に光を照射し、反射光又は透過光を読み取ることで得られた画像データである。
そして、基準データ及び検査データに基づき、真の固体及び判定対象の固体のうちの一方の固体上の所定サイズの第1領域に分布する特徴を表すデータと、他方の固体上で前記第1領域と同サイズの第2領域に分布する特徴を表すデータとの相関値を演算することを、他方の固体上での第2領域の位置を所定サイズよりも大きい領域内で移動させながら繰り返す。そして、その演算によって得られた複数の相関値の最大値が第1の所定値以上で、かつ、相関値の最大値から相関値の平均値を減じた値を相関値の標準偏差で除すことで得られる相関値の最大値のノーマライズド・スコアが第2の所定値以上か否かに基づいて、判定対象の固体の真偽を判定している。
より具体的には、基準データとの位置のずれに対して、1ドットずつずらして同じ処理を繰り返している。そして、回転方向のずれ、大きさのずれに対しては、検査データ(検査画像)を回転、拡大縮小させて対応する。この場合、基準データ側での回転、拡大縮小したものは必ずしも登録の必要が無くなる。登録データ(登録画像)は膨大なデータ量となるため、これらを複製して保存する必要がなくなると、記憶容量の面でもデータ転送の面でも大きな効率化効果が得られる。ただし、基準データを回転、拡大縮小させて対応させてもよい。1回の演算処理については、比較的処理負荷は軽いが、位置や回転等のずれに対しても計算の繰り返しで対応するため、実際の処理負荷は重いものとなる。より具体的に説明すると、一つの検査データを照合する際に、照合する基準データ側が膨大な数となることが、処理負荷が重くなることの主因である。基準データ側は簡単に億を越える数となり得るが、一つの検査データと一つの基準データの間の照合処理がmsオーダーであったとしても、億を越える基準データ全てに対して処理を終えるには何日もかかってしまうような計算となる。
First, before explaining the present embodiment, the premise or the information processing device using the present embodiment will be described. It should be noted that this description is intended to facilitate understanding of the present embodiment.
There is a technique for determining the authenticity of inspection data by comparing the reference data and the inspection data. For example, Patent Document 1 determines the authenticity of a solid in which unique readable features with randomness are distributed along the surface. The reference data is data representing the characteristics distributed on the true solid, which is obtained by reading the characteristics of the true solid in advance, and is, for example, optically read. More specifically, it is image data obtained by irradiating a true solid with light and reading reflected light or transmitted light. The inspection data is data representing the characteristics distributed on the solid to be determined by reading the characteristics of the solid to be determined, and is, for example, optically read. More specifically, it is image data obtained by irradiating a solid to be determined with light and reading reflected light or transmitted light.
Then, based on the reference data and the inspection data, data representing the characteristics distributed in the first region of a predetermined size on one of the true solid and the solid to be judged, and the first region on the other solid. The calculation of the correlation value with the data representing the characteristics distributed in the second region having the same size as the above is repeated while moving the position of the second region on the other solid within the region larger than the predetermined size. Then, the maximum value of the plurality of correlation values obtained by the calculation is equal to or greater than the first predetermined value, and the value obtained by subtracting the average value of the correlation values from the maximum value of the correlation value is divided by the standard deviation of the correlation values. The authenticity of the individual to be determined is determined based on whether or not the normalized score of the maximum value of the correlation value obtained by the above is equal to or greater than the second predetermined value.
More specifically, the same process is repeated by shifting the position from the reference data by one dot. Then, the inspection data (inspection image) is rotated and enlarged / reduced to deal with the deviation in the rotation direction and the deviation in size. In this case, it is not always necessary to register the rotated and enlarged / reduced data on the reference data side. Since the registered data (registered image) has a huge amount of data, if it is not necessary to duplicate and save the registered data (registered image), a great efficiency effect can be obtained in terms of both storage capacity and data transfer. However, the reference data may be rotated and enlarged / reduced to correspond. Although the processing load is relatively light for one calculation process, the actual processing load is heavy because the calculation is repeated to deal with deviations such as position and rotation. More specifically, when collating one inspection data, the number of reference data to be collated becomes enormous, which is the main reason for the heavy processing load. The number on the reference data side can easily exceed 100 million, but even if the collation processing between one inspection data and one reference data is on the ms order, the processing for all the reference data exceeding 100 million can be completed. Is a calculation that would take days.

以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
Hereinafter, an example of a preferred embodiment for realizing the present invention will be described with reference to the drawings.
FIG. 1 shows a conceptual module configuration diagram for a configuration example of the present embodiment.
The module generally refers to parts such as software (computer program) and hardware that can be logically separated. Therefore, the module in this embodiment refers not only to the module in the computer program but also to the module in the hardware configuration. Therefore, in the present embodiment, a computer program for functioning as those modules (a program for causing the computer to execute each procedure, a program for causing the computer to function as each means, and each function for the computer). It also serves as an explanation of the program), system and method for realizing the above. However, for convenience of explanation, words equivalent to "remember" and "remember" are used, but these words are stored in a storage device or stored when the embodiment is a computer program. It means that it is controlled so that it is stored in the device. Further, the modules may have a one-to-one correspondence with the functions, but in the implementation, one module may be configured by one program, a plurality of modules may be configured by one program, and conversely, one module may be configured. May be composed of a plurality of programs. In addition, one module may include another module. In addition, hereinafter, "connection" is used not only for physical connection but also for logical connection (data transfer, instruction, reference relationship between data, etc.). "Predetermined" means that it is determined before the target process, not only before the process according to the present embodiment starts, but also after the process according to the present embodiment starts. However, if it is before the target process, it is used with the intention that it is determined according to the situation / state at that time or according to the situation / state up to that point. When there are a plurality of "predetermined values", they may be different values, or two or more values (including all values, of course) may be the same. Further, the description "if A, do B" is used to mean "determine whether or not it is A, and if it is determined to be A, do B". However, this excludes cases where it is not necessary to determine whether or not it is A.
In addition, a system or device is configured by connecting a plurality of computers, hardware, devices, etc. by communication means such as a network (including a one-to-one correspondence communication connection), and one computer, hardware, device, etc. It also includes cases where it is realized by such means. "Device" and "system" are used as synonymous terms. Of course, the "system" does not include anything that is nothing more than a social "mechanism" (social system) that is an artificial arrangement.
In addition, for each process by each module or when multiple processes are performed in the module, the target information is read from the storage device, and after the processes are performed, the process results are written to the storage device. is there. Therefore, the description of reading from the storage device before processing and writing to the storage device after processing may be omitted. The storage device here may include a hard disk, a RAM (Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like.

本実施の形態である情報処理装置100は、検査データの真偽を判定するものであって、図1の例に示すように、基準データ処理モジュール105、基準データデータベース125、検査データ処理モジュール140を有している。
情報処理装置100は、並列処理(分散処理、並列分散処理ともいわれる)を行う。例えば、Spark、Storm、Hadoop(ハドゥープ)等があり、また、画像を対象とする場合はGPU(Graphics Processing Unit)を用いるようにしてもよい。並列処理機構で高速な並列計算処理を実現できる数値行列計算にまとめて演算を実現する。
また、検査データについて移動、回転、拡大縮小、歪等も考慮にいれて切り出したデータを用意する。テンソル計算が可能な場合には、この切り出しもテンソル計算高速処理(CuDNN等のライブラリ)を用いて高速計算が可能となる。
より詳細に説明する。
1つの検査データは画素を一次元に並べると1本のベクトルとなる。このベクトルに対して、どの画素を抜き出すかを示したマトリクスを掛けると、部分画像を抜き出したベクトルを作ることができる。同様に拡大縮小、回転も指定された変換に対応したマトリクスを用意しておくことで行列計算として実現することもできる。GPUの利用などでテンソル計算が高速に実現できるのであれば、これらの行列をまとめてテンソルとして計算することで高速化が期待できる。
部分切り出し(位置をずらせて照合させることに対応)や回転、拡大縮小は組み合わせることもでき、変換の処理の総数がN個あれば、それぞれに対応して、検査データを変換したベクトルができる、つまり、検査画像1個から、照合計算用の検査画像N個を生成することになる。これらの照合計算用の検査画像は、それぞれをベクトルとして扱い、各ベクトル毎に正規化を行う。そして、正規化されたベクトルを並べることで検査画像側のマトリクスとし、これに対して、登録されている基準データ側のマトリクスを乗算するだけで、大量の基準データに対して相関をとる計算がまとめてできる。これらの処理を、分散処理とともに、GPU上での並列処理で高速化することができる。なお、前述の「各ベクトル毎に正規化を行う」について詳述する。後述する式1を厳密に実行するには、各ベクトル毎の正規化が必要である。しかし、精度を多少落としてもよい場合(真偽判定できる程度の性能を得ている場合)は、複数ベクトル毎の平均値を用いてもよい。
The information processing apparatus 100 according to the present embodiment determines the authenticity of the inspection data, and as shown in the example of FIG. 1, the reference data processing module 105, the reference data database 125, and the inspection data processing module 140. have.
The information processing device 100 performs parallel processing (also referred to as distributed processing or parallel distributed processing). For example, there are Spark, Storm, Hadoop, etc., and when an image is targeted, a GPU (Graphics Processing Unit) may be used. The parallel processing mechanism realizes high-speed parallel calculation processing in a numerical matrix calculation that can realize high-speed parallel calculation processing.
In addition, the inspection data is cut out in consideration of movement, rotation, enlargement / reduction, distortion, and the like. If tensor calculation is possible, this cutout can also be performed at high speed using tensor calculation high-speed processing (library such as CuDNN).
This will be described in more detail.
One inspection data becomes one vector when pixels are arranged one-dimensionally. By multiplying this vector by a matrix showing which pixel is extracted, a vector in which a partial image is extracted can be created. Similarly, enlargement / reduction and rotation can be realized as matrix calculation by preparing a matrix corresponding to the specified conversion. If tensor calculation can be realized at high speed by using GPU etc., high speed can be expected by calculating these matrices together as a tensor.
Partial cutout (corresponding to shifting the position and collating), rotation, and enlargement / reduction can be combined, and if the total number of conversion processes is N, a vector in which inspection data is converted can be created corresponding to each. That is, N inspection images for collation calculation are generated from one inspection image. Each of these inspection images for collation calculation is treated as a vector, and normalization is performed for each vector. Then, by arranging the normalized vectors, a matrix on the inspection image side is created, and by simply multiplying this by the matrix on the registered reference data side, a calculation that correlates a large amount of reference data can be performed. You can do it all together. These processes can be speeded up by parallel processing on the GPU as well as distributed processing. The above-mentioned "normalization for each vector" will be described in detail. In order to strictly execute Equation 1 described later, normalization for each vector is required. However, if the accuracy may be reduced to some extent (when the performance is sufficient to determine the authenticity), the average value for each of a plurality of vectors may be used.

基準データ処理モジュール105は、登録データ受付モジュール110、適正化処理(基準)モジュール115、登録モジュール120を有している。基準データ処理モジュール105は、基準データを作成する。基準データ処理モジュール105の処理については、図4の例に示すフローチャートを用いて後述する。
登録データ受付モジュール110は、適正化処理(基準)モジュール115と接続されている。登録データ受付モジュール110は、基準データを受け付けて、その基準データを適正化処理(基準)モジュール115へ渡す。基準データは画像であってもよい。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像に撮影されている固体として、ランダム性を有する読み取り可能な固有の特徴が表面に沿って分布している固体であればよい、例えば、各種の紙文書(紙幣や有価証券以外に、例えば旅券、各種の権利書、住民票、出生証明書、保険証書、保証書、機密文書等)、製造物の表面(例えば、薬(特に、錠剤等))等がある。
The reference data processing module 105 includes a registration data reception module 110, an optimization processing (reference) module 115, and a registration module 120. The reference data processing module 105 creates reference data. The processing of the reference data processing module 105 will be described later using the flowchart shown in the example of FIG.
The registration data reception module 110 is connected to the optimization processing (reference) module 115. The registration data reception module 110 receives the reference data and passes the reference data to the optimization processing (reference) module 115. The reference data may be an image. Accepting images means, for example, reading images with a scanner, camera, etc., receiving images from an external device via a communication line by fax, etc., and using a hard disk (in addition to those built into a computer, via a network). It includes reading out an image stored in (including those connected to the user) and the like. The image may be a binary image or a multi-valued image (including a color image). The number of images to be accepted may be one or a plurality of images. Further, the solid imaged may be a solid in which unique readable features having randomness are distributed along the surface, for example, various paper documents (in addition to banknotes and securities). For example, there are passports, various titles, resident's cards, birth certificates, insurance certificates, guarantees, confidential documents, etc., and the surface of products (for example, medicines (particularly tablets)).

適正化処理(基準)モジュール115は、登録データ受付モジュール110、登録モジュール120と接続されている。適正化処理(基準)モジュール115は、複数の要素によって構成されている基準データ内の要素の値の平均値を、その要素の値から減算し、その要素によって構成される多次元ベクトル正規化を行う。ここでの正規化は、多次元ベクトルの長さを予め定められた数値にする正規化である。この「予め定められた数値」は、例えば、1であってもよい。また、必ずしも1でなくても、例えば定数倍されていたりしても同様に計算可能である。
なお、正規化後の基準データは、マトリクス(Matrix)であってもよい。
また、基準データが画像である場合は、適正化処理(基準)モジュール115は、その基準データに対してアフィン変換を含む画像処理を行うようにしてもよい。
そして、適正化処理(基準)モジュール115は、画像処理された基準データを対象として、正規化処理を行うようにしてもよい。
また、アフィン変換として、予め定めた角度での回転、予め定めた倍率での拡大縮小、又はそれらの組み合わせによる変換処理と部分画像の切り出し処理を行う変換用マトリクスを保存し、その変換用マトリクスを用いてマトリクス演算を実行して検査データの計算用データを作成するようにしてもよい。
また、画像処理(例えば、部分切り出し、回転、拡大縮小、その他のアフィン変換、ゆがみ補正、画素値の変更処理等を含む(なお、本実施の形態の説明において、拡大等とあるのは、この画像処理の一例として示したものである))により検査データから変換されて作られた複数のデータをそれぞれ正規化し、その正規化された個々のデータをベクトルとし、複数分をまとめてマトリクスを構成し、そのマトリクス内の位置情報を管理するようにしてもよい。そして、マトリクス内の位置から元の情報に対応付ける情報を記憶しておき、その対応を用いて、マトリクス内の位置から元の情報を抽出するようにしてもよい。ここで、マトリクス内の位置として、行番号、又は列番号があり、元の情報として、切り出し位置の情報、回転の角度、拡大縮小の倍率等がある。
また、対応に基づいて行列の位置に応じた判定規則を記憶しておき、照合モジュール160は、その判定規則を用いて真偽を判定するようにしてもよい。例えば、回転や拡大縮小のずれに対応するために、小さい角度(例えば、5度刻みで72通り等)で検査画像から変換した画像を用意した場合には、場合によっては近い変換角度の複数のものについて照合計算結果が閾値を越えてしまう場合がおきうる。この様な場合と、大きく異なる回転角度の間で複数回閾値を越えたもの等を区別した処理を実行できるためには、検査画像を変換した際の変換の仕方に応じた判定ルールを構築することが望ましくなる。
また、複数の検査データを同時に照合モジュール160に投入する場合には、元の検査データを識別する情報を照合モジュール160に通知する、又は、照合モジュール160の処理前に照合結果を元の検査画像に応じて分割するようにしてもよい。
適正化処理(基準)モジュール115の処理については、図5の例に示すフローチャートを用いて後述する。
登録モジュール120は、適正化処理(基準)モジュール115、基準データデータベース125と接続されている。登録モジュール120は、適正化処理(基準)モジュール115によって処理された基準データをマトリクス化して基準データデータベース125に登録する。登録モジュール120の処理については、図6の例に示すフローチャートを用いて後述する。
なお、前述したように、適正化処理(基準)モジュール115は、正規化処理を行わずに、複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値である基準データとして複数生成するようにしてもよい。
The optimization processing (reference) module 115 is connected to the registration data reception module 110 and the registration module 120. The optimization processing (reference) module 115 subtracts the average value of the values of the elements in the reference data composed of a plurality of elements from the values of the elements, and performs multidimensional vector normalization composed of the elements. Do. The normalization here is a normalization in which the length of a multidimensional vector is set to a predetermined numerical value. This "predetermined numerical value" may be 1, for example. Further, it is not always 1 and can be calculated in the same manner even if it is multiplied by a constant, for example.
The reference data after normalization may be a matrix.
When the reference data is an image, the optimization processing (reference) module 115 may perform image processing including affine transformation on the reference data.
Then, the optimization processing (reference) module 115 may perform the normalization processing on the image-processed reference data.
Further, as an affine transformation, a conversion matrix that performs conversion processing by rotation at a predetermined angle, enlargement / reduction at a predetermined magnification, or a combination thereof and cutout processing of a partial image is saved, and the conversion matrix is stored. It may be used to perform a matrix operation to create data for calculation of inspection data.
Further, it includes image processing (for example, partial cropping, rotation, enlargement / reduction, other affine transformation, distortion correction, pixel value change processing, etc. It is shown as an example of image processing)), and each of the multiple data created by being converted from the inspection data is normalized, and the normalized individual data is used as a vector, and the plurality of data are grouped together to form a matrix. However, the position information in the matrix may be managed. Then, the information associated with the original information may be stored from the position in the matrix, and the original information may be extracted from the position in the matrix by using the correspondence. Here, the position in the matrix includes a row number or a column number, and the original information includes information on the cutting position, the angle of rotation, the magnification of enlargement / reduction, and the like.
Further, the determination rule according to the position of the matrix may be stored based on the correspondence, and the collation module 160 may determine the authenticity by using the determination rule. For example, when an image converted from an inspection image at a small angle (for example, 72 ways in 5 degree increments) is prepared in order to cope with a deviation of rotation or enlargement / reduction, in some cases, a plurality of conversion angles close to each other are prepared. In some cases, the collation calculation result may exceed the threshold value. In order to be able to execute processing that distinguishes between such cases and those that exceed the threshold value multiple times between significantly different rotation angles, a judgment rule is constructed according to the conversion method when the inspection image is converted. Is desirable.
Further, when a plurality of inspection data are input to the collation module 160 at the same time, the collation module 160 is notified of the information identifying the original inspection data, or the collation result is the original inspection image before the processing of the collation module 160. It may be divided according to.
The processing of the optimization processing (reference) module 115 will be described later using the flowchart shown in the example of FIG.
The registration module 120 is connected to the optimization processing (reference) module 115 and the reference data database 125. The registration module 120 creates a matrix of the reference data processed by the optimization processing (reference) module 115 and registers it in the reference data database 125. The processing of the registration module 120 will be described later using the flowchart shown in the example of FIG.
As described above, the optimization processing (reference) module 115 does not perform the normalization processing, and sets the average value of the values of the elements in the reference data composed of a plurality of elements as the value of the element. A plurality of data may be generated as a certain reference data.

基準データデータベース125は、対象部情報記憶モジュール130、基準データ記憶モジュール135を有しており、基準データ処理モジュール105の登録モジュール120、検査データ処理モジュール140の照合モジュール160、適正化処理(検査)モジュール155と接続されている。基準データデータベース125は、基準データ処理モジュール105による処理結果(基準データ)を記憶している。例えば、基準データデータベース125は、分散環境下のDB(DataBase)等が望ましい。
対象部情報記憶モジュール130は、適正化処理(検査)モジュール155によって処理された検査データを記憶している。照合モジュール160は、基準データ記憶モジュール135内の基準データと対象部情報記憶モジュール130内の検査データとの照合を行うようにしてもよい。
基準データ記憶モジュール135は、複数の要素によって構成されている基準データ内の要素の値の平均値を、その要素の値から減算し、その要素によって構成される多次元ベクトルの長さの正規化を行った基準データを複数記憶している。具体的には、適正化処理(基準)モジュール115、登録モジュール120による処理結果の基準データを複数記憶している。
基準データを照合処理にかける際に、基準データの複数個をまとめたマトリクスにして分散処理をかけることになる。このマトリクスにまとめて記憶しておく場合と、分散・並列計算にデータを配分する際にマトリクスに構成する場合がありえる。
また、その双方の場合とも、マトリクスのどの位置(行、列)のデータが、元の基準データのどれであるかを示す情報が保持されている必要がある。つまり、照合が確認された際に、どの基準データと一致するデータであるのかを表示するために必要だからである。
この情報は、例えば、基準データ記憶モジュール135内に保存されていて、結果のレポート時に参照されてもよい。なお、この際には、問い合わせるためにマトリクスのID(識別子)とマトリクス内の位置(行や列の番号の情報)が使われることになるので、マトリクスにはIDが付与されて配布される必要がある。また、IDに相当する情報をマトリクスに直接付与せずに、ジョブ(Job、処理)のIDとジョブ内で扱ったマトリクスの個数情報等からIDに相当する情報を算出するようにしてもよい。
一方で、各マトリクス内の位置ともとの基準データの識別子の対応情報を分散並列計算時に一緒に配布する構成としてもよい。この場合には、照合が成功した場合に、対応する基準データの識別子の情報を分散並列計算している装置側で選んで後の処理に送ることができるようになる。
The reference data database 125 has a target unit information storage module 130 and a reference data storage module 135, and includes a registration module 120 of the reference data processing module 105, a collation module 160 of the inspection data processing module 140, and an optimization process (inspection). It is connected to module 155. The reference data database 125 stores the processing result (reference data) by the reference data processing module 105. For example, the reference data database 125 is preferably a DB (DataBase) or the like in a distributed environment.
The target unit information storage module 130 stores the inspection data processed by the optimization processing (inspection) module 155. The collation module 160 may collate the reference data in the reference data storage module 135 with the inspection data in the target unit information storage module 130.
The reference data storage module 135 subtracts the average value of the values of the elements in the reference data composed of a plurality of elements from the values of the elements, and normalizes the length of the multidimensional vector composed of the elements. Stores a plurality of reference data for which the above was performed. Specifically, a plurality of reference data of the processing results by the optimization processing (reference) module 115 and the registration module 120 are stored.
When the reference data is subjected to the collation processing, the distribution processing is performed by forming a matrix in which a plurality of the reference data are put together. It may be stored together in this matrix, or it may be configured in a matrix when allocating data to distributed / parallel calculations.
Further, in both cases, it is necessary to hold information indicating which position (row, column) of the data in the matrix is which of the original reference data. That is, when the collation is confirmed, it is necessary to display which reference data matches the data.
This information may be stored, for example, in the reference data storage module 135 and referenced when reporting the results. In this case, the matrix ID (identifier) and the position in the matrix (row and column number information) will be used for inquiries, so the matrix must be given an ID and distributed. There is. Further, instead of directly assigning the information corresponding to the ID to the matrix, the information corresponding to the ID may be calculated from the ID of the job (Job, processing) and the number information of the matrix handled in the job.
On the other hand, the position in each matrix and the correspondence information of the identifier of the original reference data may be distributed together at the time of distributed parallel calculation. In this case, if the collation is successful, the information of the identifier of the corresponding reference data can be selected by the device performing the distributed parallel calculation and sent to the subsequent processing.

検査データ処理モジュール140は、検査データ受付モジュール145、成形モジュール150、適正化処理(検査)モジュール155、照合モジュール160、出力モジュール165を有している。
なお、本実施の形態では、照合モジュール160が分散並列で動作することで高速化を図る。その照合モジュール160に対して、出力モジュール165、検査データ受付モジュール145、成形モジュール150、適正化処理(検査)モジュール155は複数である必然性は無い。つまり、照合モジュール160は複数あるが、他のモジュール(出力モジュール165、検査データ受付モジュール145、成形モジュール150、適正化処理(検査)モジュール155)は1つであってもよい。
検査データ処理モジュール140は、検査データに対する処理を行い、基準データとの照合を行って、検査データの真偽を判定する。検査データ処理モジュール140の処理については、図7の例に示すフローチャートを用いて後述する。
検査データ受付モジュール145は、成形モジュール150と接続されている。検査データ受付モジュール145は、検査データを受け付けて、その検査データを成形モジュール150へ渡す。検査データは画像であってもよい。画像を受け付けるとは、登録データ受付モジュール110で受け付ける画像と同様に、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。なお、この複数枚である場合、照合モジュール160の処理結果ともとの検査データとの対応がとれる情報を記憶している。又は、検査データ、検査データを成形・正規化したデータとともに照合モジュール160(又は、照合モジュール160を介さずに、出力モジュール165)へ渡すようにしてもよい。
また、画像に撮影されている固体として、検査対象であって、ランダム性を有する読み取り可能な固有の特徴が表面に沿って分布している固体であればよい、例えば、各種の紙文書(紙幣や有価証券以外に、例えば旅券、各種の権利書、住民票、出生証明書、保険証書、保証書、機密文書等)、製造物の表面(例えば、薬(特に、錠剤等))等がある。この検査対象の画像が基準画像と対応する場合、真と判定されることになり、いずれの基準画像とも異なる場合、偽と判定されることになる。なお、「検査対象の画像が基準画像と対応する」とは、同じ固体が撮影されている画像であることを示している。
The inspection data processing module 140 includes an inspection data receiving module 145, a molding module 150, an optimization processing (inspection) module 155, a collation module 160, and an output module 165.
In the present embodiment, the collation module 160 operates in distributed parallel to increase the speed. It is not necessary that the number of output modules 165, inspection data receiving modules 145, molding modules 150, and optimization processing (inspection) modules 155 is plural with respect to the collation module 160. That is, although there are a plurality of collation modules 160, there may be one other module (output module 165, inspection data reception module 145, molding module 150, optimization processing (inspection) module 155).
The inspection data processing module 140 processes the inspection data, collates it with the reference data, and determines the authenticity of the inspection data. The processing of the inspection data processing module 140 will be described later using the flowchart shown in the example of FIG. 7.
The inspection data receiving module 145 is connected to the molding module 150. The inspection data reception module 145 receives the inspection data and passes the inspection data to the molding module 150. The inspection data may be an image. Accepting an image means reading an image with a scanner, a camera, or the like, receiving an image from an external device via a communication line by fax or the like, and a hard disk (computer), as in the case of an image accepted by the registration data reception module 110. In addition to those built into the computer, reading images stored in (including those connected via a network) and the like are included. The image may be a binary image or a multi-valued image (including a color image). The number of images to be accepted may be one or a plurality of images. In the case of the plurality of sheets, information that can correspond to the processing result of the collation module 160 and the original inspection data is stored. Alternatively, the inspection data and the inspection data may be passed to the collation module 160 (or the output module 165 without going through the collation module 160) together with the molded / normalized data.
Further, the solid photographed in the image may be a solid to be inspected and has unique readable features having randomness distributed along the surface, for example, various paper documents (tickets). In addition to securities and securities, there are, for example, passports, various titles, resident cards, birth certificates, insurance certificates, guarantees, confidential documents, etc., and the surface of products (for example, medicines (particularly tablets)). If the image to be inspected corresponds to the reference image, it is determined to be true, and if it is different from any of the reference images, it is determined to be false. In addition, "the image to be inspected corresponds to the reference image" indicates that the same solid is captured.

成形モジュール150は、検査データ受付モジュール145、適正化処理(検査)モジュール155と接続されている。成形モジュール150は、検査データを照合用に成形する。
また、検査データが画像である場合は、成形モジュール150は、その検査データに対してアフィン変換を含む画像処理を行うようにしてもよい。
成形モジュール150の処理については、図8の例に示すフローチャートを用いて後述する。
The molding module 150 is connected to the inspection data receiving module 145 and the optimization processing (inspection) module 155. The molding module 150 molds the inspection data for collation.
When the inspection data is an image, the molding module 150 may perform image processing including affine transformation on the inspection data.
The processing of the molding module 150 will be described later using the flowchart shown in the example of FIG.

適正化処理(検査)モジュール155は、基準データデータベース125、成形モジュール150、照合モジュール160と接続されている。適正化処理(検査)モジュール155は、複数の要素によって構成されている検査データ内の要素の値の平均値を、その要素の値から減算し、その要素によって構成される多次元ベクトルの長さの正規化を行う。ここでの正規化は、多次元ベクトルの長さを予め定められた数値にする正規化である。この「予め定められた数値」は、例えば、1であってもよい。また、必ずしも1でなくても、例えば定数倍されていたりしても同様に計算可能である。
なお、正規化後の検査データは、マトリクスであってもよい。なお、マトリクス化処理について、具体的には、検査用データから位置をずらしながら切り出した画像、回転させた画像、拡大又は縮小させた画像、そして、その他のアフィン変換、ゆがみ補正、画素値の変更処理等の画像処理、それらの処理を組み合わせた結果のデータを、それぞれ正規化したものをまとめてマトリクスにすればよい。このとき、予め定めた数ずつマトリクスにすることが望ましく、マトリクス化対象のデータが半端になったときには、足りない部分に値が全て0となるベクトルを追加するようにすればよい。これによって、簡単かつ悪影響が生じない処理とすることができるようになる。
また、適正化処理(検査)モジュール155は、成形モジュール150によって画像処理された検査データを対象として、正規化処理を行うようにしてもよい。
なお、適正化処理(検査)モジュール155による処理は、前述した適正化処理(基準)モジュール115と同等の処理であり、その説明において基準データを検査データと置き換えればよい。なお、正規化したベクトルデータをマトリクスにまとめる機能をどこに持たせるかにより、基準データを正規化するか、検査データを正規化するかが異なることになる。
この適正化処理モジュール155、照合モジュール160、又は対象部情報記憶モジュール130で、検査データをもとに成形モジュール150で作成されるデータ(又は、このデータを適正化したデータ)を複数個まとめてマトリクスとする処理を行い、各マトリクスとマトリクス内の位置情報から元の成形処理との対応情報を記憶するようにしてもよい。これは、どのように成形すれば登録されている基準画像と照合が成功するかの情報を出力する際に必要だからである。
なお、前述したように、 適正化処理(検査)モジュール155は、正規化処理を行わずに、複数の要素によって構成されている検査データ内の要素の値の平均値を、該要素の値である検査データとして生成するようにしてもよい。
The optimization processing (inspection) module 155 is connected to the reference data database 125, the molding module 150, and the collation module 160. The optimization processing (inspection) module 155 subtracts the average value of the values of the elements in the inspection data composed of a plurality of elements from the values of the elements, and the length of the multidimensional vector composed of the elements. Normalize. The normalization here is a normalization in which the length of a multidimensional vector is set to a predetermined numerical value. This "predetermined numerical value" may be 1, for example. Further, it is not always 1 and can be calculated in the same manner even if it is multiplied by a constant, for example.
The inspection data after normalization may be a matrix. Regarding the matrix processing, specifically, an image cut out while shifting the position from the inspection data, a rotated image, an enlarged or reduced image, and other affine transformations, distortion correction, and pixel value change. Image processing such as processing and data resulting from a combination of these processing may be normalized to form a matrix. At this time, it is desirable to make a matrix by a predetermined number, and when the data to be matrixed becomes odd, a vector whose values are all 0 may be added to the missing part. As a result, the process can be simple and does not cause an adverse effect.
Further, the optimization processing (inspection) module 155 may perform normalization processing on the inspection data image-processed by the molding module 150.
The process by the optimization process (inspection) module 155 is the same process as the above-mentioned optimization process (reference) module 115, and the reference data may be replaced with the inspection data in the description thereof. It should be noted that whether the reference data is normalized or the inspection data is normalized depends on where the function of collecting the normalized vector data in the matrix is provided.
The optimization processing module 155, the collation module 160, or the target part information storage module 130 collects a plurality of data (or data obtained by optimizing this data) created by the molding module 150 based on the inspection data. The process of forming a matrix may be performed, and the correspondence information between each matrix and the original molding process may be stored from the position information in the matrix. This is because it is necessary to output information on how to form the image to succeed in collation with the registered reference image.
As described above, the optimization processing (inspection) module 155 does not perform the normalization processing, and uses the value of the element as the average value of the values of the elements in the inspection data composed of a plurality of elements. It may be generated as a certain inspection data.

照合モジュール160は、基準データデータベース125、適正化処理(検査)モジュール155、出力モジュール165と接続されている。照合モジュール160は、基準データ記憶モジュール135内に記憶されている正規化後の各基準データと適正化処理(検査)モジュール155による正規化後の検査データを照合する。
また、正規化後の基準データと正規化後の検査データは、それぞれベクトルであり、その正規化後の基準データを複数個まとめてマトリクスとし、その検査データから画像処理により変換し正規化したデータを複数個まとめたマトリクスとする。
そして、照合モジュール160は、複数の基準データに対して、画像処理した検査画像との相関値をまとめて算出する。なお、照合モジュール160は、式1の計算そのものを実行しなくても、式1の計算結果と同等の結果を得ることになる。つまり、先に正規化してあるため、単にベクトルの内積を算出するだけで式1の計算値を得ることができる。このため、マトリクス間の乗算を行うだけで、複数の基準データと検査データから画像処理した複数のデータの間での照合計算をまとめて行うことを実現できる。つまり、式1の計算を、適正化処理(検査)モジュール155による正規化処理と照合モジュール160で行われるマトリクス同士の演算(より具体的には乗算)により実現する。

Figure 0006855711
ただし、Fは基準画像(基準データの集合の一例)、fは基準画像の個々の画素の画素値(白黒画像の明度値、特定色の明度値や彩度等を含む)、L(L=M×N)は基準画像の総画素数、Gは検査画像(検査データの一例)の部分領域、gは検査画像の部分領域の個々の画素の明度値、fAVEは基準画像の個々の画素の明度値の平均値、gAVEは検査画像の部分領域の個々の画素の明度値の平均値である。複数の照合画像を演算対象の検査画像として上記の演算を各々行うことで、基準画像のドット数をm×n、照合画像のドット数をM×Nとすると、単一の検査画像当たり(M―m+1)×(N−n+1)個の相関値が得られる。 The collation module 160 is connected to the reference data database 125, the optimization processing (inspection) module 155, and the output module 165. The collation module 160 collates each standard data after normalization stored in the reference data storage module 135 with the inspection data after normalization by the optimization processing (inspection) module 155.
In addition, the standard data after normalization and the inspection data after normalization are vectors, respectively, and a plurality of the standard data after normalization are put together into a matrix, and the inspection data is converted by image processing and normalized. Is a matrix in which a plurality of the above are put together.
Then, the collation module 160 collectively calculates the correlation value with the image-processed inspection image for the plurality of reference data. The collation module 160 can obtain the same result as the calculation result of the formula 1 without executing the calculation itself of the formula 1. That is, since it is normalized first, the calculated value of Equation 1 can be obtained simply by calculating the inner product of the vectors. Therefore, it is possible to collectively perform the collation calculation between the plurality of reference data and the plurality of image-processed data from the inspection data simply by performing the multiplication between the matrices. That is, the calculation of Equation 1 is realized by the normalization process by the optimization process (inspection) module 155 and the calculation (more specifically, multiplication) between the matrices performed by the collation module 160.
Figure 0006855711
However, (an example of a set of reference data) F is the reference image, f i (including brightness values of black and white image, a specific color lightness values and chroma, etc.) pixel value of each pixel of the reference image, L (L = M × N) is the total number of pixels of the reference image, a partial region of the G inspection image (an example of the inspection data), g i is the brightness value of each pixel of a partial region of the test image, each of f AVE is the reference image The average value of the brightness values of the pixels, g AVE is the average value of the brightness values of the individual pixels in the partial region of the inspection image. By performing the above calculations with a plurality of collated images as inspection images to be calculated, assuming that the number of dots in the reference image is m × n and the number of dots in the collated image is M × N, a single inspection image (M). -M + 1) × (N−n + 1) correlation values are obtained.

そして、照合モジュール160は、照合結果と予め定められた閾値との比較を行って、複数の基準データと検査データとの照合結果を集約して検査データの真偽を判定する。
少なくとも照合モジュール160による処理は、並列処理にて行う。なお、画像処理の負荷が高くなる場合には、適正化処理(検査)モジュール155の処理を並列処理とすることが望ましい。
また、照合モジュール160による処理を並列計算におけるマッパー(Mapper)で行うようにしてもよい。具体的には、相関値の計算自体は、Hadoopの場合ではマッパーで行うようにしてもよい。また、マッパーとリデューサー(Reducer)の両方(なお、マッパーとリデューサーとの間にコンバイナー(Combiner)が入る場合もある)で行うようにしてもよい。具体的には、それらの両方で段階的に行うようにしてもよい。段階的として、例えば、計算した相関値を元に照合の判定を行う処理をマッパーで行い、照合が成功したときの情報(どの基準画像との間で照合が成功したかを示す情報、更には、どの変換を適用したものが照合に正解したかを示す情報等)を生成する処理をリデューサーで行うようにしてもよい。また、分散処理システムとして、スパーク(Spark)を用いる場合には、並列処理するところをエクセキューター(Executor(又は、表現によりWorker))、まとめる部分(リデューサーで実行して入る部分)をドライバー(Driver)で実行することになる。
前述の「どの基準画像との間で照合が成功したかを示す情報」について、詳述する。複数の検査側の画像がまとめて情報処理装置100に投入されているときには、どの検査側の画像とどの基準画像の間で照合が成功したかの情報を示す情報を生成する処理となる。さらに、付属的な情報として、検査側の画像をどのように変換した際に照合が成功したかを示す情報も生成することが望ましい。
また、「照合が成功したときの情報」として、「どの検査側の画像との間で照合が成功したかを示す情報」を含めてもよい。ここでは、検査側の複数の画像が情報処理装置100に投入されてきた場合に、そのうちのどの検査側の画像が照合に成功したかを示すことになる。
また、「照合が成功したときの情報」として、「検査側の画像に対して画像処理(回転、移動等)によって複数作成された検査データがあり、その画像処理後のどの検査データと基準側のデータとの間で照合が成功したかを示す情報」を含めてもよい。したがって、その情報は、検査側の画像に対して、どうような画像処理(回転角度、移動方向、移動距離等)を行わせたかを示す情報ともなる。
照合モジュール160の処理については、図9の例に示すフローチャートを用いて後述する。
Then, the collation module 160 compares the collation result with a predetermined threshold value, aggregates the collation results of the plurality of reference data and the inspection data, and determines the authenticity of the inspection data.
At least the processing by the collation module 160 is performed by parallel processing. When the load of image processing becomes high, it is desirable that the processing of the optimization processing (inspection) module 155 be parallel processing.
Further, the processing by the collation module 160 may be performed by the mapper in the parallel calculation. Specifically, the calculation of the correlation value itself may be performed by the mapper in the case of Hadoop. Further, both the mapper and the reducer (the combiner may be inserted between the mapper and the reducer) may be used. Specifically, both of them may be performed step by step. As a stepwise, for example, the mapper performs a process of determining the collation based on the calculated correlation value, and the information when the collation is successful (information indicating which reference image the collation was successful with, and further , Information indicating which conversion is applied correctly in the collation, etc.) may be generated by the reducer. In addition, when Spark is used as the distributed processing system, the parallel processing is performed by the executor (Executor (or Worker by expression)), and the part to be summarized (the part to be executed by the reducer) is the driver (the part to be executed by the reducer). It will be executed by Driver).
The above-mentioned "information indicating which reference image the collation was successful with" will be described in detail. When a plurality of images on the inspection side are collectively input to the information processing apparatus 100, the process is to generate information indicating information on which inspection side image and which reference image the collation was successful. Further, as ancillary information, it is desirable to generate information indicating how the collation was successful when the image on the inspection side was converted.
Further, as "information when the collation is successful", "information indicating which inspection side image the collation was successful with" may be included. Here, when a plurality of images on the inspection side are input to the information processing apparatus 100, which of the images on the inspection side has succeeded in collation is shown.
In addition, as "information when collation is successful", there are multiple inspection data created by image processing (rotation, movement, etc.) on the image on the inspection side, and which inspection data and the reference side after the image processing are used. Information indicating whether the collation with the data of the above was successful may be included. Therefore, the information also serves as information indicating what kind of image processing (rotation angle, moving direction, moving distance, etc.) was performed on the image on the inspection side.
The processing of the collation module 160 will be described later using the flowchart shown in the example of FIG.

出力モジュール165は、照合モジュール160と接続されている。出力モジュール165は、照合モジュール160による判定結果を出力する。判定結果を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、判定結果データベース等の記憶装置へ書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。 The output module 165 is connected to the collation module 160. The output module 165 outputs the determination result by the collation module 160. To output the judgment result is, for example, printing with a printing device such as a printer, displaying on a display device such as a display, writing to a storage device such as a judgment result database, or storing in a storage medium such as a memory card. , Passing to other information processing devices, etc. are included.

図2は、真偽の判定処理例を示す説明図である。基準画像200に対して、検査画像210の真(基準画像200が検査画像210内に含まれている)、偽(基準画像200が検査画像210内に含まれていない)のいずれであるかを判定するものである。なお、ここでの「基準画像200が検査画像210内に含まれている」の「含まれている」には、完全同一であることまでは必要としていない。つまり、厳密には撮影が別々のものであるので、基準画像の画素値列が含まれることはほとんど起こり得ない。基準画像と対応する部分が含まれているという意味である。
図2(a)の例に示す基準画像200に対して、基準データ処理モジュール105による処理結果が、予め基準データ記憶モジュール135に登録されているとする。基準画像200の基準データ処理モジュール105による処理結果は、画素値(図2の例では、「画素値−画素値の平均値」)を1列に並べたベクトル(一次元のベクトル)である。
図2(b1)の例に示す検査画像210を、検査データ受付モジュール145が受け付ける。そして、検査画像210から図2(b2)の例に示す切出画像220を切り出す。なお、この切り出し処理は、成形モジュール150の処理例の一つである。この他に、回転させたものを切り出す処理、拡大、縮小したものから切り出す処理、回転・拡大縮小したものから切り出す処理、画素値にノイズを入れる等の処理を施したものに対して前述の処理を行う処理等、さまざまな成形処理がある。そして、成形後の画素ベクトルに対して、平均値を減算する処理が適正化処理(検索)モジュール155で行われる。また、長さを適正化する処理を行ってもよい。切出画像220の成形モジュール150、適正化処理(検査)モジュール155による処理結果は、画素値(図2の例では、「画素値−画素値の平均値」)を一列に並べたベクトル(一次元のベクトル)である。
照合モジュール160は、基準画像200と切出画像220の相関係数を算出する。
そして、図2(c)の例は、成形モジュール150で部分画像を切り出す位置をX、Y方向に変化させた場合を示す。そして、例えば、最も高い相関係数の値(図2の例では、頂点230)が予め定められた閾値よりも高ければ真と判定し、それ以外は偽(贋)と判定する。
このとき、更に、最も高い相関係数の値とそれ以外の値、例えば二番目に高い値をもつものとの違い(差や比率で判定できる)が予め定めた条件を満たさないときには判定を真としないようにしてもよい。
ここでの条件を判定するときに、成形時の指定の情報(例えば、回転角や拡大・縮小の比率)を参照して判定するようにしてもよい。例えば、回転角(回転の刻み)を細かくしたり、拡大・縮小の比率(倍率)の刻みを細かくしたりすると、設定の近いところで複数回照合が成功してしまう場合があり得る。その場合にも、照合を成功と判定できるようにするために、成形時の変形の指定を照合結果の判定処理で参照すればよい。
FIG. 2 is an explanatory diagram showing an example of authenticity determination processing. Whether the inspection image 210 is true (the reference image 200 is included in the inspection image 210) or false (the reference image 200 is not included in the inspection image 210) with respect to the reference image 200 is determined. It is a judgment. It should be noted that the "included" of "the reference image 200 is included in the inspection image 210" here does not need to be exactly the same. That is, strictly speaking, since the shooting is separate, it is almost impossible that the pixel value sequence of the reference image is included. It means that the part corresponding to the reference image is included.
It is assumed that the processing result by the reference data processing module 105 is registered in the reference data storage module 135 in advance with respect to the reference image 200 shown in the example of FIG. 2A. The processing result of the reference image 200 by the reference data processing module 105 is a vector (one-dimensional vector) in which pixel values (“pixel value − average value of pixel values” in the example of FIG. 2) are arranged in a row.
The inspection data reception module 145 receives the inspection image 210 shown in the example of FIG. 2 (b1). Then, the cut-out image 220 shown in the example of FIG. 2 (b2) is cut out from the inspection image 210. This cutting process is one of the processing examples of the molding module 150. In addition to this, the above-mentioned processing is performed on the processed ones such as cutting out the rotated one, cutting out from the enlarged / reduced one, cutting out from the rotated / enlarged / reduced one, and adding noise to the pixel value. There are various molding processes such as the process of performing. Then, the optimization processing (search) module 155 performs a process of subtracting the average value from the molded pixel vector. Further, a process for optimizing the length may be performed. The processing result by the molding module 150 and the optimization processing (inspection) module 155 of the cutout image 220 is a vector (primary) in which pixel values (“pixel value − average value of pixel values” in the example of FIG. 2) are arranged in a row. The original vector).
The collation module 160 calculates the correlation coefficient between the reference image 200 and the cutout image 220.
Then, the example of FIG. 2C shows a case where the position where the partial image is cut out is changed in the X and Y directions by the molding module 150. Then, for example, if the value of the highest correlation coefficient (vertex 230 in the example of FIG. 2) is higher than a predetermined threshold value, it is determined to be true, and otherwise it is determined to be false (fake).
At this time, if the difference between the value of the highest correlation coefficient and the other value, for example, the value having the second highest value (which can be determined by the difference or ratio) does not satisfy the predetermined conditions, the determination is true. You may not do it.
When determining the condition here, the determination may be made by referring to the specified information at the time of molding (for example, the rotation angle and the enlargement / reduction ratio). For example, if the angle of rotation (rotation step) is made finer or the enlargement / reduction ratio (magnification) is made finer, the collation may succeed multiple times near the setting. Even in that case, in order to be able to determine that the collation is successful, the designation of the deformation at the time of molding may be referred to in the collation result determination process.

図3は、真偽判定の並列処理例を示す説明図である。
登録画像DB300内には、複数の基準画像200(図2の例では、4個)が記憶されている。そして、検査画像210の真偽を判定する。
図3の例では、照合モジュール160の、さらには、相関計算を行う部分が分散並列処理される構成である。なお、このとき、検査データ受付モジュール145、成形モジュール150等は複数個である必要はない。複数の照合モジュール160で、検査画像210と基準画像200aとの照合、検査画像210と基準画像200bとの照合、検査画像210と基準画像200cとの照合、検査画像210と基準画像200dとの照合が行われる。
FIG. 3 is an explanatory diagram showing an example of parallel processing for true / false determination.
A plurality of reference images 200 (4 in the example of FIG. 2) are stored in the registered image DB 300. Then, the authenticity of the inspection image 210 is determined.
In the example of FIG. 3, the collation module 160 and the part for performing the correlation calculation are distributed and parallel processed. At this time, it is not necessary to have a plurality of inspection data receiving modules 145, molding modules 150, and the like. A plurality of collation modules 160 collate the inspection image 210 with the reference image 200a, collate the inspection image 210 with the reference image 200b, collate the inspection image 210 with the reference image 200c, and collate the inspection image 210 with the reference image 200d. Is done.

ただし、検査画像210は、切り出しが必要である。つまり、図3の例では、基準画像200a、基準画像200b、基準画像200cは、それぞれ別の物体に関する情報を登録したものである。例えば、検査データ処理モジュール140aにあっては、切出画像220aと基準画像200aとの照合、切出画像220bと基準画像200aとの照合、切出画像220cと基準画像200aとの照合が行われる。つまり、相関係数算出310a、相関係数算出310b、相関係数算出310cが行われる。そして、相関係数算出310a、相関係数算出310b、相関係数算出310cから、画素値の相関係数320を生成して、最大値(Max)330、平均値(Mean)340、標準偏差(σ)350を算出し、以下の判定を行う。
(「最大値(Max)330」≧閾値A(ncc_threshold))、かつ、(((「最大値(Max)330」−「平均値(Mean)340」)/「標準偏差(σ)350」)≧閾値B(nscore_threshold))である場合は、判定結果(真)390aとして、それ以外の場合は、判定結果(贋)390bであると判定している。
各検査データ処理モジュール140の判定結果を取得して、判定結果(真)390aとなった基準画像200と検査画像210とが照合した(真)となる。このとき、回転、拡大縮小等の変換も行われる場合は、同様の計算で判定する構成としてもよい。また、相関値と変換の種類やパラメータの値を参照して判定する構成としてもよい。
However, the inspection image 210 needs to be cut out. That is, in the example of FIG. 3, the reference image 200a, the reference image 200b, and the reference image 200c are registered information about different objects. For example, in the inspection data processing module 140a, the cutout image 220a and the reference image 200a are collated, the cutout image 220b and the reference image 200a are collated, and the cutout image 220c and the reference image 200a are collated. .. That is, the correlation coefficient calculation 310a, the correlation coefficient calculation 310b, and the correlation coefficient calculation 310c are performed. Then, the correlation coefficient 320 of the pixel value is generated from the correlation coefficient calculation 310a, the correlation coefficient calculation 310b, and the correlation coefficient calculation 310c, and the maximum value (Max) 330, the mean value (Mean) 340, and the standard deviation ( σ) 350 is calculated, and the following determination is made.
("Maximum value (Max) 330" ≥ threshold value A (ncc_threshold)) and (((" Maximum value (Max) 330 "-" Mean value (Mean) 340 ")) /" Standard deviation (σ) 350 ") When ≧ threshold value B (nscore_threshold)), it is determined that the determination result (true) is 390a, and in other cases, it is determined that the determination result (fake) is 390b.
The determination result of each inspection data processing module 140 is acquired, and the reference image 200, which is the determination result (true) 390a, and the inspection image 210 are collated (true). At this time, when conversion such as rotation and enlargement / reduction is also performed, the configuration may be determined by the same calculation. Further, the determination may be made by referring to the correlation value and the conversion type or parameter value.

図4は、本実施の形態による処理例を示すフローチャートである。
ステップS402では、登録データ受付モジュール110は、基準データである登録データ450を読み込む。
ステップS404では、適正化処理(基準)モジュール115は、適正化処理を行う。ステップS404の詳細な処理については、図5の例に示すフローチャートを用いて後述する。
ステップS406では、登録モジュール120は、基準データ情報を対象部情報記憶モジュール130、基準データ記憶モジュール135に登録する。ステップS406の詳細な処理については、図6の例に示すフローチャートを用いて後述する。
ステップS408では、全ての登録データ450についての処理を終了したか否かを判断し、終了した場合は処理を終了し(ステップS499)、それ以外の場合はステップSステップS402へ戻る。
FIG. 4 is a flowchart showing a processing example according to the present embodiment.
In step S402, the registration data reception module 110 reads the registration data 450, which is the reference data.
In step S404, the optimization process (reference) module 115 performs the optimization process. The detailed processing of step S404 will be described later using the flowchart shown in the example of FIG.
In step S406, the registration module 120 registers the reference data information in the target unit information storage module 130 and the reference data storage module 135. The detailed processing of step S406 will be described later using the flowchart shown in the example of FIG.
In step S408, it is determined whether or not the processing for all the registered data 450 is completed, and if it is completed, the processing is terminated (step S499), and if not, the process returns to step Sstep S402.

図5は、本実施の形態による処理例を示すフローチャートである。
ステップS502では、対象としている要素を整理する。ここでは、画像の例で説明する。
予め指定された大きさ(例えば、32×32画素、64×64画素等)の領域内の情報を切り出す。
そして、予め定められた値の範囲に各要素(画素)の情報を収める。例えば、その範囲外の画素を処理対象から外すようにしてもよい。つまり、その範囲外の情報を削除するようにしてもよい。
また、例えば、各要素(画素)の値をその範囲内に収めるよう変換する。照合モジュール160で使用する照合アルゴリズムが、なだらかに画素値が変動する場合を対象としていることに合わせた処理である。具体的には、シグモイド関数や双曲線関数のtanhを用いるようにしてもよい。
FIG. 5 is a flowchart showing a processing example according to the present embodiment.
In step S502, the target elements are arranged. Here, an example of an image will be described.
Information in a region of a predetermined size (for example, 32 × 32 pixels, 64 × 64 pixels, etc.) is cut out.
Then, the information of each element (pixel) is stored in the range of the predetermined value. For example, pixels outside the range may be excluded from the processing target. That is, the information outside the range may be deleted.
Further, for example, the value of each element (pixel) is converted so as to be within the range. This is a process that matches the collation algorithm used in the collation module 160 for the case where the pixel value fluctuates gently. Specifically, the sigmoid function or the hyperbolic function tanh may be used.

ステップS504では、正規化を行う。ここでの正規化は、対象とする要素の平均値を求め、その平均値を各要素の値から減算し、各要素の値を並べた多次元のベクトルに見立ててベクトルの長さを1にするように値を変換する。一般的な正規化の処理としてもよい。この際、対象外要素となっている画素の値は0にしてもよい。式1の計算をベクトルの正規化と正規化されたベクトル間の内積計算として効率的に実行するための対応方法である。 In step S504, normalization is performed. The normalization here is to find the average value of the target element, subtract the average value from the value of each element, and set the length of the vector to 1 as if it were a multidimensional vector in which the values of each element are arranged. Convert the value so that it does. It may be a general normalization process. At this time, the value of the pixel that is the non-target element may be set to 0. This is a corresponding method for efficiently executing the calculation of Equation 1 as a normalization of vectors and an inner product calculation between the normalized vectors.

図6は、本実施の形態による処理例(基準データ集約処理例)を示すフローチャートである。
ステップS602では、基準データを受信する。
ステップS604では、集約処理を行う。つまり、受信した基準データをベクトルとし、予め定められた数毎(ここでの「数」として、複数種類であってもよいし、可変であってもよい)に基準データをまとめて、基準データマトリクスにする(基準データ処理単位に形成処理)。なお、対象外の要素情報を用いる構成の場合には、対象外要素情報も対応してマトリクス化する。
ステップS606では、処理後の基準データを保存する。
FIG. 6 is a flowchart showing a processing example (reference data aggregation processing example) according to the present embodiment.
In step S602, the reference data is received.
In step S604, aggregation processing is performed. That is, the received reference data is used as a vector, and the reference data is collected for each predetermined number (the "number" here may be of a plurality of types or may be variable), and the reference data is collected. Make a matrix (formation process in reference data processing unit). In the case of a configuration using non-target element information, the non-target element information is also correspondingly formed into a matrix.
In step S606, the processed reference data is saved.

図7は、本実施の形態による処理例を示すフローチャートである。
ステップS702では、検査データ受付モジュール145は、検査データを受け付ける。
ステップS704では、検査データに対して、平行移動や回転、拡大縮小等に対応する成形処理を行う。ステップS704の詳細な処理については、図8の例に示すフローチャートを用いて後述する。
ステップS706では、ステップS704による処理結果のそれぞれに対して、適正化処理を行う。ステップS706の詳細な処理については、図5の例に示すフローチャートを用いて前述した。
FIG. 7 is a flowchart showing a processing example according to the present embodiment.
In step S702, the inspection data reception module 145 receives the inspection data.
In step S704, the inspection data is subjected to a molding process corresponding to translation, rotation, enlargement / reduction, and the like. The detailed processing of step S704 will be described later using the flowchart shown in the example of FIG.
In step S706, optimization processing is performed for each of the processing results in step S704. The detailed processing of step S706 has been described above using the flowchart shown in the example of FIG.

ステップS708では、検査データ処理単位形成処理を行う。具体的には、ステップS706による各適正化処理結果をベクトルとして、それらをまとめたマトリクス情報を形成(検査データ処理単位に形成処理)する。
つまり、適正化処理を経た平行移動、回転、拡大縮小化後の画像情報を、各ベクトル情報とし、予め定められた個数毎にマトリクスにまとめて、検査データ処理単位とする。一つの検査データに対して、複数の検査データ処理単位となることもある。一つの検査データに対応する複数の検査データ処理単位の集まりを、検査データ処理単位列、とする。
In step S708, the inspection data processing unit formation process is performed. Specifically, each optimization processing result in step S706 is used as a vector, and matrix information summarizing them is formed (formation processing is performed in the inspection data processing unit).
That is, the image information after translation, rotation, and enlargement / reduction after the optimization processing is used as each vector information, and is grouped into a matrix for each predetermined number to be an inspection data processing unit. One inspection data may be a plurality of inspection data processing units. A collection of a plurality of inspection data processing units corresponding to one inspection data is referred to as an inspection data processing unit string.

ステップS710では、照合処理を行う。ステップS710の詳細な処理については、図9の例に示すフローチャートを用いて後述する。
ステップS712では、結果を出力する。例えば、ステップS710での照合処理結果をディスプレイ、プリンタ等の表示装置や、DB等の情報記憶装置等に出力して処理を終了する。
In step S710, collation processing is performed. The detailed processing of step S710 will be described later using the flowchart shown in the example of FIG.
In step S712, the result is output. For example, the collation processing result in step S710 is output to a display device such as a display or a printer, an information storage device such as a DB, or the like to end the processing.

図8は、本実施の形態による処理例を示すフローチャートである。
ステップS802では、平行移動画像を切り出す。
ステップS804では、歪み画像を切り出す。
ステップS806では、拡大縮小画像を切り出す。
ステップS808では、回転画像を切り出す。
ステップS810では、焦点ぼけ画像を切り出す。なお、ここでの「切り出す」は、加工した画像をつくって、そこから切り出す、又は、ぼけ画像を本来の画素値を算出しながら切り出す等が含まれる。
なお、ステップS802〜ステップS810の処理は、いずれか一つ処理を行うようにしてもよいし、複数の処理を行うようにしてもよい。
FIG. 8 is a flowchart showing a processing example according to the present embodiment.
In step S802, the parallel movement image is cut out.
In step S804, a distorted image is cut out.
In step S806, the enlarged / reduced image is cut out.
In step S808, the rotated image is cut out.
In step S810, an out-of-focus image is cut out. The "cut out" here includes creating a processed image and cutting out from the processed image, or cutting out a blurred image while calculating the original pixel value.
The processes of steps S802 to S810 may be performed by any one of them, or may be performed by a plurality of processes.

検査データ(例えば、画像)から、照合処理の対象とする情報(部分画像)を切り出すが、その切り出し位置等に関して、平行移動、回転、拡大縮小等の予め定められた処理とパラメータの組み合わせに応じて、切り出した情報(部分画像)を生成する。
この処理は、各処理の組み合わせ等もあり得る。したがって、処理負荷が高まる場合もあり得るが、現画像をベクトルとし、そこから切り出す位置を指定するマトリクス(スパースマトリクス:sparse matrix、疎行列)を予め準備しておくことで、高速な演算機構(GPU等)を利用することもできるし、各出力画像に対応する処理フローの独立性が高いため、この部分と次の適正化処理を合わせて分散並列処理とする構成も可能である。ただし、前述した通り、この部分の負荷は分散並列処理をかける必要がないケースもあり得るので、分散処理は必ずしも必要ない。
ステップS812では、結果を出力する。つまり、ステップS706の処理に渡す。
Information (partial image) to be collated is cut out from the inspection data (for example, an image), and the cutout position, etc., depends on a combination of parameters and predetermined processing such as translation, rotation, enlargement / reduction, etc. To generate the cut out information (partial image).
This process may be a combination of each process. Therefore, the processing load may increase, but by using the current image as a vector and preparing in advance a matrix (sparse matrix) that specifies the position to cut out from it, a high-speed calculation mechanism (sparse matrix) can be used. (GPU, etc.) can also be used, and since the processing flow corresponding to each output image is highly independent, it is possible to combine this portion with the following optimization processing to form a distributed parallel processing. However, as described above, the load in this part may not need to be subjected to distributed parallel processing, so distributed processing is not always necessary.
In step S812, the result is output. That is, it is passed to the process of step S706.

図9は、本実施の形態による処理例(照合処理例)を示すフローチャートである。ここでは、膨大な基準データが登録されている場合の例であって、分散処理での処理フローを説明する。
ステップS902では、検査データ処理単位(列)を受け付ける。
ステップS904では、基準データ処理単位群の情報(例えば、基準データ処理単位群のID列)を取得する。
ステップS906では、検査データ処理単位と基準データ処理単位の組を構成(分散処理等のジョブを設計)する。つまり、両者(検査データ処理単位と基準データ処理単位)の組み合わせとなるジョブの列を作成する。
FIG. 9 is a flowchart showing a processing example (collation processing example) according to the present embodiment. Here, it is an example when a huge amount of reference data is registered, and the processing flow in the distributed processing will be described.
In step S902, the inspection data processing unit (column) is accepted.
In step S904, the information of the reference data processing unit group (for example, the ID string of the reference data processing unit group) is acquired.
In step S906, a set of an inspection data processing unit and a reference data processing unit is configured (a job such as distributed processing is designed). That is, a row of jobs that is a combination of both (inspection data processing unit and reference data processing unit) is created.

ステップS908では、照合ジョブ実行処理を行う。つまり、ジョブの列をまとめて、又は部分列毎に分散処理に投入し、照合ジョブを実行する。ステップS908の詳細な処理については、図10の例に示すフローチャートを用いて後述する。 In step S908, the collation job execution process is performed. That is, the job columns are collectively or each subsequence is input to the distributed processing, and the collation job is executed. The detailed processing of step S908 will be described later using the flowchart shown in the example of FIG.

ステップS910では、各照合ジョブの処理結果に対して集約処理(照合ジョブ結果集約処理)を行う。
検査データ一つに対応する照合ジョブ出力を集め、照合計算値が予め定めた閾値を越える照合ジョブ出力要素(照合ジョブ出力は、ベクトルかマトリクス状となっており、照合ジョブ出力要素はそのベクトルの要素、又はマトリクスの要素の値となる)を調べる。
なお、検査データ処理単位が複数となっている場合には、基準データ毎に照合ジョブ出力をまとめる処理が必要となる。
基準データ毎に、以下の処理を行う。
・閾値を越えたものがない場合は、その旨を示す情報を基準データの識別子と対応させて保存する。
・閾値を越えたものが1つの場合は、その旨を示す情報を基準データの識別子と対応させて保存する。
例えば、複数の基準データで閾値を越えていた場合には、平行移動に対応する照合計算値で、周期的に閾値を越えるものが表れる場合は、一致と認められないことを出力するようにしてもよい。
また、複数の基準データで閾値を越えていた場合には、平行移動の距離が予め定められた閾値以内であれば、照合の正解(真)とするようにしてもよい。
また、複数の基準データで閾値を越えていた場合には、回転、拡大縮小のパラメータの差分が予め定められた閾値以内であれば、照合の正解(真)とするようにしてもよい。
In step S910, aggregation processing (collation job result aggregation processing) is performed on the processing results of each collation job.
Matching job output corresponding to one inspection data is collected, and the matching calculation value exceeds a predetermined threshold value. Matching job output element (The matching job output is in the form of a vector or matrix, and the matching job output element is the vector. (It becomes the value of the element or the element of the matrix) is examined.
When there are a plurality of inspection data processing units, it is necessary to process the collation job output for each reference data.
The following processing is performed for each reference data.
-If there is nothing that exceeds the threshold value, the information indicating that fact is saved in association with the identifier of the reference data.
-If there is one item that exceeds the threshold value, information indicating that fact is saved in association with the identifier of the reference data.
For example, if a plurality of reference data exceeds the threshold value, and if a collation calculation value corresponding to translation appears that exceeds the threshold value periodically, it is output that it is not recognized as a match. May be good.
Further, when the threshold value is exceeded in a plurality of reference data, the correct answer (true) of the collation may be set as long as the parallel movement distance is within a predetermined threshold value.
Further, when the threshold value is exceeded in a plurality of reference data, if the difference between the rotation and enlargement / reduction parameters is within a predetermined threshold value, the correct answer (true) of the collation may be set.

全基準データに対して、以下の処理を行う。
・照合に成功したものが一つの場合は、照合成功として対応する基準データの識別子を出力する。
・照合に成功したものがない場合は、照合に成功するものがないことを示す情報を出力する。
・複数の基準データに対して照合に成功していた場合には、予め定められた方法で対応する情報を出力する。例えば、出力する情報として、エラーとしたり、複数の照合成功の情報を出力したり、様々なバリエーションがあり得る。
ステップS912では、結果を出力する。つまり、ステップS712の処理に渡す。
The following processing is performed on all the reference data.
-If only one item has been successfully collated, the identifier of the corresponding reference data is output as the collation success.
-If no match is successful, information indicating that no match is successful is output.
-If the matching is successful for multiple reference data, the corresponding information is output by a predetermined method. For example, as the information to be output, there may be various variations such as an error or information on the success of a plurality of collations.
In step S912, the result is output. That is, it is passed to the process of step S712.

図10は、本実施の形態による処理例(照合ジョブ実行処理例)を示すフローチャートである。
ステップS1002では、ジョブ情報を受信する。
ステップS1004では、基準データ処理単位と検査データ処理単位を受信する。
ステップS1006では、照合値を計算(マトリクスの乗算処理、テンソルの乗算処理)する。
ステップS1008では、結果を出力する。つまり、ステップS910の処理に渡す。
FIG. 10 is a flowchart showing a processing example (collation job execution processing example) according to the present embodiment.
In step S1002, job information is received.
In step S1004, the reference data processing unit and the inspection data processing unit are received.
In step S1006, the collation value is calculated (matrix multiplication process, tensor multiplication process).
In step S1008, the result is output. That is, it is passed to the process of step S910.

ジョブ情報を受信した計算機(Hadoopの場合はMapper、Sparkの場合にはExecutor)は、基準データ処理単位を入手(ジョブ情報に同梱されている場合やID等を元に、DB等の格納場所から取得する場合等があり得る)すると共に、検査データ処理単位を入手する(ジョブ情報に同梱されている場合や、所定の格納場所から入手する場合等があり得る)。
入手した基準データ処理単位と検査データ処理単位は、GPU等で高速に計算可能なマトリクス情報に成形してあるため、そのままGPU等でマトリクスの乗算計算を実行する。なお、基準データ処理単位や検査データ処理単位が列としてまとめられていた場合には、テンソル計算となる。
処理結果がベクトル情報、又は、マトリクス情報として得られ、これを出力する。なお、Hadoopの場合は、リデューサーに向けた送信となる。Sparkの場合は、Driver programに向けた送信となる。
The computer that received the job information (Mapper in the case of Hadoop, Executor in the case of Spark) obtains the reference data processing unit (when it is included in the job information or based on the ID etc., the storage location of the DB etc. (It may be obtained from) and the inspection data processing unit (may be included in the job information, or it may be obtained from a predetermined storage location, etc.).
Since the obtained reference data processing unit and inspection data processing unit are formed into matrix information that can be calculated at high speed by the GPU or the like, the matrix multiplication calculation is executed by the GPU or the like as it is. If the reference data processing unit and the inspection data processing unit are grouped as a column, the tensor calculation is performed.
The processing result is obtained as vector information or matrix information, and this is output. In the case of Hadoop, the transmission is directed to the reducer. In the case of Spark, the transmission is directed to the Driver program.

図11は、本実施の形態のシステム構成例を示す説明図である。照合ジョブ結果集約処理の各処理装置の配置例について説明する。ここでは、並列処理環境として、Hadoop1120の例を用いる。
HDFS(Hadoop Distributed File System)1110は、予め基準画像を記憶している。
クライアント1100は、検査画像210をHDFS1110へ送信する。ここで検査画像を送信した場合は、それぞれのMapperで平行移動、正規化等を行う構成となる。クライアント1100で検査データ処理単位(列)にまで変換して登録してあれば、Mapper側では多重に検査画像の平行移動処理等を行う必要がなくなる。また、検査データ処理単位(列)作成のステップ自体を別途分散処理でMapperで行う構成としてもよい。
Hadoop1120内の各Mapper1130は、各処理装置1140を用いて、検査画像210と各基準画像200との照合を行う。具体的には、各処理装置1140内のGPU等1142で、マトリクスの乗算処理を行って相関係数を算出する。つまり、正規化したベクトルの内積計算を行い、GPU等1142上の線形代数演算ライブラリを利用して実現する。
そして、照合ジョブ結果集約処理を、Reducer1150で実行し、処理結果をクライアント1100に送信する。
FIG. 11 is an explanatory diagram showing a system configuration example of the present embodiment. An example of arranging each processing device for collation job result aggregation processing will be described. Here, an example of Hadoop 1120 is used as a parallel processing environment.
The HDFS (Hadoop Distributed File System) 1110 stores a reference image in advance.
The client 1100 transmits the inspection image 210 to the HDFS 1110. When the inspection image is transmitted here, each Mapper is configured to perform translation, normalization, and the like. If the client 1100 converts and registers the inspection data processing unit (column), it is not necessary to perform multiple translation processing of the inspection image on the Mapper side. Further, the step itself for creating the inspection data processing unit (column) may be separately performed by Mapper in the distributed processing.
Each Mapper 1130 in Hadoop 1120 uses each processing device 1140 to collate the inspection image 210 with each reference image 200. Specifically, the GPU or the like 1142 in each processing device 1140 performs a matrix multiplication process to calculate the correlation coefficient. That is, the inner product of the normalized vectors is calculated and realized by using the linear algebra operation library on 1142 such as GPU.
Then, the collation job result aggregation process is executed by the Reducer 1150, and the process result is transmitted to the client 1100.

また、照合ジョブ結果集約処理を、Mapper1130に部分的に配置してもよい。
この場合、各Mapper1130が処理するジョブの単位毎に、配布されたジョブにある基準データ毎に照合ジョブ結果集約処理の「基準データ毎」の部分を実行して、その処理結果をReducer1150に送信する。
また、照合ジョブ結果集約処理を新たに分散処理のジョブとして構成し、「基準データ毎」や「全基準データ」に対しての一部をMapper1130で分散処理させる構成としてもよい。ほとんどの基準画像に対しては照合は失敗することになるはずである。したがって、照合失敗時には結果データを送信しない、又は、照合失敗した結果を集約した情報を送信するようにしてもよい。これによって、この処理を行わない場合に比べて、照合ジョブ結果集約処理の負荷を軽くすることができる。
Further, the collation job result aggregation process may be partially arranged in Mapper 1130.
In this case, for each job unit processed by each Mapper 1130, the "reference data" part of the collation job result aggregation process is executed for each reference data in the distributed job, and the processing result is transmitted to the Reducer 1150. ..
Further, the collation job result aggregation process may be newly configured as a distributed processing job, and a part of "for each reference data" or "all reference data" may be distributed in Mapper 1130. Matching should fail for most reference images. Therefore, when the collation fails, the result data may not be transmitted, or the information summarizing the collation failure results may be transmitted. As a result, the load of the collation job result aggregation process can be reduced as compared with the case where this process is not performed.

図12を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図12に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部1217と、プリンタ等のデータ出力部1218を備えたハードウェア構成例を示している。 A hardware configuration example of the information processing apparatus according to this embodiment will be described with reference to FIG. The configuration shown in FIG. 12 is configured by, for example, a personal computer (PC) or the like, and shows an example of a hardware configuration including a data reading unit 1217 such as a scanner and a data output unit 1218 such as a printer.

CPU(Central Processing Unit)1201(又はGPU)は、前述の実施の形態において説明した各種のモジュール、すなわち、基準データ処理モジュール105、登録データ受付モジュール110、適正化処理(基準)モジュール115、登録モジュール120、検査データ処理モジュール140、検査データ受付モジュール145、成形モジュール150、適正化処理(検査)モジュール155、照合モジュール160、出力モジュール165等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。 The CPU (Central Processing Unit) 1201 (or GPU) is the various modules described in the above-described embodiment, that is, the reference data processing module 105, the registration data reception module 110, the optimization processing (reference) module 115, and the registration module. According to a computer program that describes the execution sequence of each module such as 120, inspection data processing module 140, inspection data reception module 145, molding module 150, optimization processing (inspection) module 155, collation module 160, output module 165, etc. It is a control unit that executes processing.

ROM(Read Only Memory)1202は、CPU1201が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1203は、CPU1201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス1204により相互に接続されている。 The ROM (Read Only Memory) 1202 stores programs, calculation parameters, and the like used by the CPU 1201. The RAM (Random Access Memory) 1203 stores a program used in the execution of the CPU 1201 and parameters that are appropriately changed in the execution. These are connected to each other by a host bus 1204 composed of a CPU bus or the like.

ホストバス1204は、ブリッジ1205を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス1206に接続されている。 The host bus 1204 is connected to an external bus 1206 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 1205.

キーボード1208、マウス等のポインティングデバイス1209は、操作者により操作されるデバイスである。ディスプレイ1210は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス1209とディスプレイ1210の両方の機能を備えているタッチスクリーン等であってもよい。 The pointing device 1209 such as the keyboard 1208 and the mouse is a device operated by the operator. The display 1210 has a liquid crystal display device, a CRT (Cathode Ray Tube), or the like, and displays various information as text or image information. Further, a touch screen or the like having the functions of both the pointing device 1209 and the display 1210 may be used.

HDD(Hard Disk Drive)1211は、ハードディスク(フラッシュ・メモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU1201によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象部情報記憶モジュール130、基準データ記憶モジュール135等としての機能を実現させる。さらに、その他の各種データ(検査データ、照合結果等を含む)、各種コンピュータ・プログラム等が格納される。 The HDD (Hard Disk Drive) 1211 has a built-in hard disk (which may be a flash memory or the like), drives the hard disk, and records or reproduces programs and information executed by the CPU 1201. The hard disk realizes functions as a target unit information storage module 130, a reference data storage module 135, and the like. Further, various other data (including inspection data, collation results, etc.), various computer programs, and the like are stored.

ドライブ1212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1213に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1207、外部バス1206、ブリッジ1205、及びホストバス1204を介して接続されているRAM1203に供給する。なお、リムーバブル記録媒体1213も、データ記録領域として利用可能である。 The drive 1212 reads out the data or program recorded on the removable recording medium 1213 such as the mounted magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and transfers the data or program to the interface 1207 and the external bus 1206. , Bridge 1205, and RAM 1203 connected via host bus 1204. The removable recording medium 1213 can also be used as a data recording area.

接続ポート1214は、外部接続機器1215を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1214は、インタフェース1207、及び外部バス1206、ブリッジ1205、ホストバス1204等を介してCPU1201等に接続されている。通信部1216は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1217は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1218は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。 The connection port 1214 is a port for connecting the external connection device 1215, and has a connection portion such as USB or IEEE 1394. The connection port 1214 is connected to the CPU 1201 and the like via the interface 1207, the external bus 1206, the bridge 1205, the host bus 1204, and the like. The communication unit 1216 is connected to the communication line and executes data communication processing with the outside. The data reading unit 1217 is, for example, a scanner, and executes a document reading process. The data output unit 1218 is, for example, a printer, and executes a document data output process.

なお、図12に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図12に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図12に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。 The hardware configuration of the information processing apparatus shown in FIG. 12 shows one configuration example, and the present embodiment is not limited to the configuration shown in FIG. 12, and the module described in the present embodiment is executed. Any configuration may be possible. For example, some modules may be configured with dedicated hardware (for example, Applied Special Integrated Circuit (ASIC), etc.), and some modules are in an external system and connected by a communication line. Further, a plurality of systems shown in FIG. 12 may be connected to each other by a communication line so as to cooperate with each other. In addition to personal computers, mobile information and communication devices (including mobile phones, smartphones, mobile devices, wearable computers, etc.), home information appliances, robots, copiers, fax machines, scanners, printers, multifunction devices (scanners, printers, etc.) It may be incorporated in an image processing device) having any two or more functions such as a copying machine and a fax machine.

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分又は全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
The described program may be stored in a recording medium and provided, or the program may be provided by a communication means. In that case, for example, the program described above may be regarded as an invention of "a computer-readable recording medium on which the program is recorded".
The "computer-readable recording medium on which a program is recorded" means a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum "DVD-R, DVD-RW, DVD-RAM, etc." and DVD + RW. Standards such as "DVD + R, DVD + RW, etc.", compact discs (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), etc., Blu-ray discs (CD-RW) Blu-ray (registered trademark) Disc), optical magnetic disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM (registered trademark)) )), Flash memory, random access memory (RAM), SD (Secure Digital) memory card and the like.
Then, the whole or a part of the program may be recorded on the recording medium and stored, distributed, or the like. Further, by communication, for example, a wired network used for a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), the Internet, an intranet, an extranet, or wireless communication. It may be transmitted using a transmission medium such as a network or a combination thereof, or may be carried on a carrier.
Further, the program may be a part or all of other programs, or may be recorded on a recording medium together with a separate program. Further, the recording may be divided into a plurality of recording media. Further, it may be recorded in any mode as long as it can be restored, such as compression and encryption.

100…情報処理装置
105…基準データ処理モジュール
110…登録データ受付モジュール
115…適正化処理(基準)モジュール
120…登録モジュール
125…基準データデータベース
130…対象部情報記憶モジュール
135…基準データ記憶モジュール
140…検査データ処理モジュール
145…検査データ受付モジュール
150…成形モジュール
155…適正化処理(検査)モジュール
160…照合モジュール
165…出力モジュール
1100…クライアント
1110…HDFS
1120…Hadoop
1130…Mapper
1140…処理装置
1142…GPU等
1150…Reducer
100 ... Information processing device 105 ... Reference data processing module 110 ... Registration data reception module 115 ... Optimization processing (standard) module 120 ... Registration module 125 ... Reference data database 130 ... Target part information storage module 135 ... Reference data storage module 140 ... Inspection data processing module 145 ... Inspection data reception module 150 ... Molding module 155 ... Optimization processing (inspection) module 160 ... Verification module 165 ... Output module 1100 ... Client 1110 ... HDFS
1120 ... Hadoop
1130 ... Mapper
1140 ... Processing device 1142 ... GPU, etc. 1150 ... Reducer

Claims (9)

複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化した基準データを複数記憶している基準データ記憶手段と、
複数の要素によって構成されている検査データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化する正規化手段と、
前記基準データ記憶手段内に記憶されている正規化後の各基準データと前記正規化手段による正規化後の検査データを照合する照合手段と、
前記照合手段による照合結果と予め定められた閾値との比較を行って、複数の前記基準データと前記検査データとの照合結果を集約して検査データの真偽を判定する判定手段
を具備し、
前記正規化手段と前記照合手段を並列処理にて行い、
前記正規化後の基準データと前記正規化後の検査データは、それぞれベクトルであり、該正規化後の基準データを複数個まとめてマトリクスとし、該検査データから画像処理により変換し正規化したデータを複数個まとめたマトリクスとし、
前記照合手段は、複数の基準データに対して、前記画像処理した検査データとの相関値をまとめて算出し、
さらに、
画像処理により検査データから変換されて作られた複数のデータをそれぞれ正規化し、該正規化された個々のデータをベクトルとし、複数分をまとめてマトリクスを構成し、該マトリクス内の位置情報を管理する管理手段と、
前記マトリクス内の位置から元の情報に対応付ける情報を記憶しておく記憶手段と、
前記対応を用いて、前記マトリクス内の位置から元の情報を抽出する抽出手段
を具備する情報処理装置。
The average value of the element values in the reference data composed of a plurality of elements is subtracted from the value of the element, and a plurality of reference data in which the length of the multidimensional vector composed of the elements is normalized is stored. Reference data storage means and
A normalization means that subtracts the average value of the value of an element in the inspection data composed of a plurality of elements from the value of the element and normalizes the length of the multidimensional vector composed of the element.
A collation means for collating each standard data after normalization stored in the reference data storage means with the inspection data after normalization by the normalization means.
A determination means for comparing the collation result by the collation means with a predetermined threshold value, aggregating the collation results between the plurality of reference data and the inspection data, and determining the authenticity of the inspection data is provided.
There line said verification means and the normalizing means in a parallel process,
The standard data after normalization and the inspection data after the normalization are each a vector, and a plurality of the standard data after the normalization are put together into a matrix, and the inspection data is converted by image processing and normalized. As a matrix that summarizes multiple
The collation means collectively calculates a correlation value with the image-processed inspection data for a plurality of reference data.
further,
Multiple data created by being converted from inspection data by image processing are normalized, the normalized individual data is used as a vector, and the plurality of data are put together to form a matrix, and the position information in the matrix is managed. Management means to do
A storage means for storing information associated with the original information from a position in the matrix,
An extraction means that extracts the original information from a position in the matrix using the correspondence.
Information processing device equipped with.
前記判定手段による処理を並列計算で行う、
請求項に記載の情報処理装置。
The processing by the determination means is performed by parallel calculation.
The information processing device according to claim 1.
前記判定手段による処理を並列計算におけるマッパー若しくはリデューサーで行う、又は、エクセキューター若しくはドライバーで行う、
請求項に記載の情報処理装置。
The processing by the determination means is performed by the mapper or reducer in parallel calculation, or by the executor or driver.
The information processing device according to claim 2.
前記基準データと前記検査データは画像であり、
前記検査データに対してアフィン変換を含む画像処理を行う画像処理手段
をさらに具備し、
前記正規化手段は、前記画像処理手段によって画像処理された検査データを対象として、正規化処理を行う、
請求項からのいずれか一項に記載の情報処理装置。
The reference data and the inspection data are images, and
An image processing means for performing image processing including affine transformation on the inspection data is further provided.
The normalization means performs normalization processing on the inspection data image-processed by the image processing means.
The information processing device according to any one of claims 1 to 3.
前記アフィン変換として、予め定めた角度での回転、予め定めた倍率での拡大縮小、又はそれらの組み合わせによる変換処理と部分データの切り出し処理を行う変換用マトリクスを保存し、マトリクス演算を実行して検査データの計算用データを作成する、
請求項に記載の情報処理装置。
As the affine transformation, a conversion matrix that performs conversion processing by rotation at a predetermined angle, enlargement / reduction at a predetermined magnification, or a combination thereof and extraction processing of partial data is saved, and a matrix calculation is executed. Create data for calculation of inspection data,
The information processing device according to claim 4.
さらに、
前記対応に基づいて行列の位置に応じた判定規則を記憶する第2の記憶手段
を具備し、
前記判定手段は、前記判定規則を用いて真偽を判定する、
請求項1から5のいずれか一項に記載の情報処理装置。
further,
A second storage means for storing the determination rule according to the position of the matrix based on the above correspondence is provided.
The determination means determines authenticity using the determination rule.
The information processing device according to any one of claims 1 to 5.
さらに、
複数の検査データを同時に前記判定手段に投入する場合には、元の検査データを識別する情報を該判定手段に通知する、又は、前記判定手段の処理前に照合結果を元の検査データに応じて分割する処理手段
を具備する請求項に記載の情報処理装置。
further,
When a plurality of inspection data are input to the determination means at the same time, the information for identifying the original inspection data is notified to the determination means, or the collation result is determined according to the original inspection data before the processing of the determination means. The information processing apparatus according to claim 6 , further comprising a processing means for dividing the data.
前記正規化手段は、対象外の要素となっている値を0にする、
請求項1からのいずれか一項に記載の情報処理装置。
The normalization means sets a value that is not a target element to 0.
The information processing device according to any one of claims 1 to 7.
コンピュータを、
複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化した基準データを複数記憶している基準データ記憶手段と、
複数の要素によって構成されている検査データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化する正規化手段と、
前記基準データ記憶手段内に記憶されている正規化後の各基準データと前記正規化手段による正規化後の検査データを照合する照合手段と、
前記照合手段による照合結果と予め定められた閾値との比較を行って、複数の前記基準データと前記検査データとの照合結果を集約して検査データの真偽を判定する判定手段
として機能させ、
前記正規化手段と前記照合手段を並列処理にて行い、
前記正規化後の基準データと前記正規化後の検査データは、それぞれベクトルであり、該正規化後の基準データを複数個まとめてマトリクスとし、該検査データから画像処理により変換し正規化したデータを複数個まとめたマトリクスとし、
前記照合手段は、複数の基準データに対して、前記画像処理した検査データとの相関値をまとめて算出し、
さらに、
画像処理により検査データから変換されて作られた複数のデータをそれぞれ正規化し、該正規化された個々のデータをベクトルとし、複数分をまとめてマトリクスを構成し、該マトリクス内の位置情報を管理する管理手段と、
前記マトリクス内の位置から元の情報に対応付ける情報を記憶しておく記憶手段と、
前記対応を用いて、前記マトリクス内の位置から元の情報を抽出する抽出手段
として機能させるための情報処理プログラム。
Computer,
The average value of the element values in the reference data composed of a plurality of elements is subtracted from the value of the element, and a plurality of reference data in which the length of the multidimensional vector composed of the elements is normalized is stored. Reference data storage means and
A normalization means that subtracts the average value of the value of an element in the inspection data composed of a plurality of elements from the value of the element and normalizes the length of the multidimensional vector composed of the element.
A collation means for collating each standard data after normalization stored in the reference data storage means with the inspection data after normalization by the normalization means.
The collation result by the collation means is compared with a predetermined threshold value, and the collation results of the plurality of reference data and the inspection data are aggregated to function as a determination means for determining the authenticity of the inspection data.
There line said verification means and the normalizing means in a parallel process,
The standard data after normalization and the inspection data after the normalization are each a vector, and a plurality of the standard data after the normalization are put together into a matrix, and the inspection data is converted by image processing and normalized. As a matrix that summarizes multiple
The collation means collectively calculates a correlation value with the image-processed inspection data for a plurality of reference data.
further,
Multiple data created by being converted from inspection data by image processing are normalized, the normalized individual data is used as a vector, and the plurality of data are put together to form a matrix, and the position information in the matrix is managed. Management means to do
A storage means for storing information associated with the original information from a position in the matrix,
An extraction means that extracts the original information from a position in the matrix using the correspondence.
An information processing program to function as.
JP2016171974A 2016-09-02 2016-09-02 Information processing equipment and information processing programs Active JP6855711B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016171974A JP6855711B2 (en) 2016-09-02 2016-09-02 Information processing equipment and information processing programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016171974A JP6855711B2 (en) 2016-09-02 2016-09-02 Information processing equipment and information processing programs

Publications (2)

Publication Number Publication Date
JP2018037020A JP2018037020A (en) 2018-03-08
JP6855711B2 true JP6855711B2 (en) 2021-04-07

Family

ID=61565918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016171974A Active JP6855711B2 (en) 2016-09-02 2016-09-02 Information processing equipment and information processing programs

Country Status (1)

Country Link
JP (1) JP6855711B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220050886A1 (en) * 2018-12-05 2022-02-17 Nec Corporation Sparse matrix standardization device, sparse matrix standardization method, sparse matrix standardization program, and data structure

Also Published As

Publication number Publication date
JP2018037020A (en) 2018-03-08

Similar Documents

Publication Publication Date Title
US9754164B2 (en) Systems and methods for classifying objects in digital images captured using mobile devices
US8897563B1 (en) Systems and methods for automatically processing electronic documents
CA3154393A1 (en) System and methods for authentication of documents
EP3869385B1 (en) Method for extracting structural data from image, apparatus and device
US8699789B2 (en) Document classification using multiple views
US20160092730A1 (en) Content-based document image classification
US11030447B2 (en) On-device partial recognition systems and methods
US11663296B2 (en) Automatic work order analysis
CN112036145A (en) Financial statement identification method and device, computer equipment and readable storage medium
US11790681B2 (en) Classifying pharmacovigilance documents using image analysis
US11610417B2 (en) Image processing apparatus, control method thereof and storage medium
US9875401B2 (en) Image processing apparatus, non-transitory computer readable medium, and image processing method for classifying document images into categories
CN111444362A (en) Malicious picture intercepting method, device, equipment and storage medium
CN110889341A (en) Form image recognition method and device based on AI (Artificial Intelligence), computer equipment and storage medium
CN109583463B (en) System and method for training a classifier for determining a category of a document
JP6855711B2 (en) Information processing equipment and information processing programs
Evangelou et al. PU learning-based recognition of structural elements in architectural floor plans
US12014576B2 (en) Systems and methods for capturing electronic signatures
US20230274568A1 (en) Systems and methods for intelligent zonal recognition and automated context mapping
Hong et al. Information Extraction and Analysis on Certificates and Medical Receipts
US20240176951A1 (en) Electronic document validation
US20220092761A1 (en) Information processing apparatus and non-transitory computer readable medium
Almukhtar Facial emotions recognition using local monotonic pattern and grey level co‐occurrence matrices images aided development
JP2023001649A (en) Character verification device and program
CN116226050A (en) File processing method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210301

R150 Certificate of patent or registration of utility model

Ref document number: 6855711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350