JP2018037020A - Information processing device and information processing program - Google Patents

Information processing device and information processing program Download PDF

Info

Publication number
JP2018037020A
JP2018037020A JP2016171974A JP2016171974A JP2018037020A JP 2018037020 A JP2018037020 A JP 2018037020A JP 2016171974 A JP2016171974 A JP 2016171974A JP 2016171974 A JP2016171974 A JP 2016171974A JP 2018037020 A JP2018037020 A JP 2018037020A
Authority
JP
Japan
Prior art keywords
data
reference data
processing
inspection data
inspection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016171974A
Other languages
Japanese (ja)
Other versions
JP6855711B2 (en
Inventor
林 千登
Kazutaka Hayashi
千登 林
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
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 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)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing device for reducing a calculation amount in collation processing in performing parallel processing.SOLUTION: Reference data storage means of the information processing device subtracts the average value of values of elements in reference data composed of a plurality of elements from values of the elements, and stores a plurality of reference data obtained by normalizing the length of a multidimensional vector composed of the elements, normalization means subtracts the average value of values of elements in inspection data composed of a plurality of elements from values of the elements, and normalizes the length of the multidimensional vector composed of the elements, collation means collates each normalized reference data stored in the reference data storage means with normalized inspection data by the normalization means, and determination means compares a collation result by the collation means with a predetermined threshold, consolidates collation results of a plurality of reference data and the inspection data to determine the authenticity of the inspection data, and performs the normalization means and the collation means with parallel processing.SELECTED DRAWING: Figure 1

Description

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

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

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

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

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

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

特開2005−038389号公報JP 2005-038389 A 特開2006−053736号公報JP 2006-053736 A 特開2002−253539号公報JP 2002-253539 A 特開2010−009332号公報JP 2010-009332 A 特開2003−076717号公報Japanese Patent Application Laid-Open No. 2003-077617

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

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化した基準データを複数記憶している基準データ記憶手段と、複数の要素によって構成されている検査データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化する正規化手段と、前記基準データ記憶手段内に記憶されている正規化後の各基準データと前記正規化手段による正規化後の検査データを照合する照合手段と、前記照合手段による照合結果と予め定められた閾値との比較を行って、複数の前記基準データと前記検査データとの照合結果を集約して検査データの真偽を判定する判定手段を具備し、前記正規化手段と前記照合手段を並列処理にて行う、情報処理装置である。
The gist of the present invention for achieving the object lies in the inventions of the following items.
The invention according to claim 1 normalizes the length of a multidimensional vector constituted by the elements by subtracting the average value of the elements in the reference data constituted by a plurality of elements from the value of the elements A plurality of reference data storage means for storing a plurality of reference data and an average value of element values in inspection data constituted by a plurality of elements are subtracted from the value of the element, Normalization means for normalizing the length of the dimension vector; collation means for collating each reference data after normalization stored in the reference data storage means and inspection data after normalization by the normalization means; A determination means for comparing the verification result by the verification means with a predetermined threshold value, and aggregating the verification results of the plurality of reference data and the inspection data to determine the authenticity of the inspection data. The above Performing the comparison means and-normalized means in a parallel processing, an information processing apparatus.

請求項2の発明は、前記正規化後の基準データと前記正規化後の検査データは、それぞれベクトルであり、該正規化後の基準データを複数個まとめてマトリクスとし、該検査データから画像処理により変換し正規化したデータを複数個まとめたマトリクスとし、前記照合手段は、複数の基準データに対して、前記画像処理した検査データとの相関値をまとめて算出する、請求項1に記載の情報処理装置である。   According to a second aspect of the present invention, the normalized reference data and the normalized inspection data are vectors, and a plurality of the normalized reference data are combined into a matrix, and image processing is performed from the inspection data. 2. The matrix according to claim 1, wherein a plurality of pieces of data converted and normalized according to claim 1 are combined into a matrix, and the collating unit collectively calculates correlation values with the inspection data subjected to the image processing with respect to a plurality of reference data. Information processing apparatus.

請求項3の発明は、前記判定手段による処理を並列計算で行う、請求項2に記載の情報処理装置である。   A third aspect of the present invention is the information processing apparatus according to the second aspect, wherein the processing by the determination means is performed by parallel calculation.

請求項4の発明は、前記判定手段による処理を並列計算におけるマッパー若しくはリデューサーで行う、又は、エクセキューター若しくはドライバーで行う、請求項3に記載の情報処理装置である。   According to a fourth aspect of the present invention, there is provided the information processing apparatus according to the third aspect, 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.

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

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

請求項7の発明は、さらに、画像処理により検査データから変換されて作られた複数のデータをそれぞれ正規化し、該正規化された個々のデータをベクトルとし、複数分をまとめてマトリクスを構成し、該マトリクス内の位置情報を管理する管理手段と、前記マトリクス内の位置から元の情報に対応付ける情報を記憶しておく記憶手段と、前記対応を用いて、前記マトリクス内の位置から元の情報を抽出する抽出手段を具備する請求項2に記載の情報処理装置である。   The invention of claim 7 further normalizes each of a plurality of pieces of data created by converting from inspection data by image processing, sets the normalized individual data as a vector, and forms a matrix by combining a plurality of pieces of data. Management means for managing position information in the matrix, storage means for storing information associated with the original information from the position in the matrix, and original information from the position in the matrix using the correspondence The information processing apparatus according to claim 2, further comprising an extraction unit configured to extract.

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

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

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

請求項11の発明は、複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値である基準データを複数記憶している基準データ記憶手段と、複数の要素によって構成されている検査データ内の要素の値の平均値を検査データとして生成する生成手段と、前記基準データ記憶手段内に記憶されている各基準データと前記生成手段による検査データを照合する照合手段と、前記照合手段による照合結果と予め定められた閾値との比較を行って、複数の前記基準データと前記検査データとの照合結果を集約して検査データの真偽を判定する判定手段を具備し、前記正規化手段と前記照合手段を並列処理にて行う、情報処理装置である。   The invention according to claim 11 is the reference data storage means for storing the average value of the elements in the reference data constituted by a plurality of elements, a plurality of reference data as the values of the elements, and the plurality of elements Generating means for generating an average value of the element values in the inspection data configured as inspection data, and collation for comparing each reference data stored in the reference data storage means with the inspection data by the generating means A determination means for comparing the result of the verification by the verification means and a predetermined threshold value, and aggregating the verification results of the plurality of reference data and the inspection data to determine the authenticity of the inspection data And an information processing apparatus that performs the normalization means and the collation means in parallel processing.

請求項12の発明は、コンピュータを、複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化した基準データを複数記憶している基準データ記憶手段と、複数の要素によって構成されている検査データ内の要素の値の平均値を、該要素の値から減算し、該要素によって構成される多次元ベクトルの長さを正規化する正規化手段と、前記基準データ記憶手段内に記憶されている正規化後の各基準データと前記正規化手段による正規化後の検査データを照合する照合手段と、前記照合手段による照合結果と予め定められた閾値との比較を行って、複数の前記基準データと前記検査データとの照合結果を集約して検査データの真偽を判定する判定手段として機能させ、前記正規化手段と前記照合手段を並列処理にて行う、情報処理プログラムである。   In the invention of claim 12, the computer subtracts the average value of the element values in the reference data constituted by a plurality of elements from the value of the elements, and the length of the multidimensional vector constituted by the elements The reference data storage means for storing a plurality of reference data normalized, and the average value of the element values in the inspection data constituted by a plurality of elements is subtracted from the value of the elements, and constituted by the elements Normalization means for normalizing the length of the multidimensional vector to be performed, each reference data after normalization stored in the reference data storage means and the inspection data after normalization by the normalization means are collated Judgment of the verification data by comparing the verification result by the verification unit with a predetermined threshold value and aggregating the verification results of the plurality of reference data and the inspection data To function as a step, it performs the verification means and the normalizing means in a parallel processing, an information processing program.

請求項13の発明は、コンピュータを、複数の要素によって構成されている基準データ内の要素の値の平均値を、該要素の値である基準データを複数記憶している基準データ記憶手段と、複数の要素によって構成されている検査データ内の要素の値の平均値を検査データとして生成する生成手段と、前記基準データ記憶手段内に記憶されている各基準データと前記生成手段による検査データを照合する照合手段と、前記照合手段による照合結果と予め定められた閾値との比較を行って、複数の前記基準データと前記検査データとの照合結果を集約して検査データの真偽を判定する判定手段として機能させ、前記正規化手段と前記照合手段を並列処理にて行う、情報処理プログラムである。   In the invention of claim 13, the computer comprises a reference data storage means for storing an average value of element values in the reference data constituted by a plurality of elements, and a plurality of reference data which are the values of the elements; A generation unit that generates, as inspection data, an average value of elements in inspection data constituted by a plurality of elements, each reference data stored in the reference data storage unit, and inspection data by the generation unit The collation means for collation and the collation result by the collation means are compared with a predetermined threshold value, and the collation results of the plurality of reference data and the inspection data are aggregated to determine the authenticity of the inspection data An information processing program that functions as a determination unit and performs the normalization unit and the collation unit in parallel processing.

請求項1の情報処理装置によれば、並列処理をするにあたって、照合処理における計算量を減少させる。   According to the information processing apparatus of the first aspect, when performing parallel processing, the amount of calculation in the collation processing is reduced.

請求項2の情報処理装置によれば、複数の基準データに対して、画像処理した検査データとの相関値がまとめて算出される。   According to the information processing apparatus of the second aspect, correlation values with the inspection data subjected to image processing are collectively calculated for a plurality of reference data.

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

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

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

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

請求項7の情報処理装置によれば、マトリクス演算により、画像処理を考慮した照合計算をまとめて高速に行える。   According to the information processing apparatus of the seventh aspect, the collation calculation considering the image processing can be collectively performed at high speed by the matrix calculation.

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

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

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

請求項11の情報処理装置によれば、並列処理をするにあたって、照合処理における計算量を減少させる。   According to the information processing apparatus of the eleventh aspect, when performing parallel processing, the amount of calculation in the collation processing is reduced.

請求項12の情報処理プログラムによれば、並列処理をするにあたって、照合処理における計算量を減少させる。   According to the information processing program of the twelfth aspect, when performing parallel processing, the amount of calculation in the collation processing is reduced.

請求項13の情報処理プログラムによれば、並列処理をするにあたって、照合処理における計算量を減少させる。   According to the information processing program of the thirteenth aspect, when performing parallel processing, the amount of calculation in the collation processing is reduced.

本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural 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 authenticity determination. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process example by this Embodiment. 本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the process 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 structural example of the computer which implement | achieves this Embodiment.

まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する情報処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
基準データと検査データを比較することによって、検査データの真偽を判定する技術がある。例えば、特許文献1では、ランダム性を有する読み取り可能な固有の特徴が表面に沿って分布している固体の真偽を判定する。基準データは、真の固体の特徴が予め読み取られることで得られた、真の固体上に分布する特徴を表すデータであり、例えば、光学的に読み取られたものである。より具体的には、真の固体に光を照射し、反射光又は透過光を読み取ることで得られた画像データである。検査データは、判定対象の固体の特徴を読み取ることで、判定対象の固体上に分布する特徴を表すデータであり、例えば、光学的に読み取られたものである。より具体的には、判定対象の固体に光を照射し、反射光又は透過光を読み取ることで得られた画像データである。
そして、基準データ及び検査データに基づき、真の固体及び判定対象の固体のうちの一方の固体上の所定サイズの第1領域に分布する特徴を表すデータと、他方の固体上で前記第1領域と同サイズの第2領域に分布する特徴を表すデータとの相関値を演算することを、他方の固体上での第2領域の位置を所定サイズよりも大きい領域内で移動させながら繰り返す。そして、その演算によって得られた複数の相関値の最大値が第1の所定値以上で、かつ、相関値の最大値から相関値の平均値を減じた値を相関値の標準偏差で除すことで得られる相関値の最大値のノーマライズド・スコアが第2の所定値以上か否かに基づいて、判定対象の固体の真偽を判定している。
より具体的には、基準データとの位置のずれに対して、1ドットずつずらして同じ処理を繰り返している。そして、回転方向のずれ、大きさのずれに対しては、検査データ(検査画像)を回転、拡大縮小させて対応する。この場合、基準データ側での回転、拡大縮小したものは必ずしも登録の必要が無くなる。登録データ(登録画像)は膨大なデータ量となるため、これらを複製して保存する必要がなくなると、記憶容量の面でもデータ転送の面でも大きな効率化効果が得られる。ただし、基準データを回転、拡大縮小させて対応させてもよい。1回の演算処理については、比較的処理負荷は軽いが、位置や回転等のずれに対しても計算の繰り返しで対応するため、実際の処理負荷は重いものとなる。より具体的に説明すると、一つの検査データを照合する際に、照合する基準データ側が膨大な数となることが、処理負荷が重くなることの主因である。基準データ側は簡単に億を越える数となり得るが、一つの検査データと一つの基準データの間の照合処理がmsオーダーであったとしても、億を越える基準データ全てに対して処理を終えるには何日もかかってしまうような計算となる。
First, before describing the present embodiment, the premise or an information processing apparatus using the present embodiment will be described. This description is intended to facilitate understanding of the present embodiment.
There is a technique for determining the authenticity of inspection data by comparing reference data and inspection data. For example, in Patent Document 1, the authenticity of a solid in which readable and unique features having randomness are distributed along the surface is determined. The reference data is data representing features distributed on the true solid obtained by reading the features of the true solid in advance, and is optically read, for example. 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 features distributed on the determination target solid by reading the characteristics of the determination target solid, 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 characteristics distributed in a first region of a predetermined size on one of the true solid and the solid to be determined, and the first region on the other solid The calculation of the correlation value with the data representing the feature distributed in the second area of the same size is repeated while moving the position of the second area on the other solid in the area 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 a value obtained by subtracting the average value of the correlation values from the maximum correlation value is divided by the standard deviation of the correlation values. Based on whether or not the normalized score of the maximum correlation value obtained in this way is greater than or equal to the second predetermined value, the authenticity of the object to be determined is determined.
More specifically, the same processing is repeated by shifting one dot at a time with respect to the positional deviation from the reference data. Then, the rotation data and the size shift are dealt with by rotating and enlarging / reducing the inspection data (inspection image). In this case, it is not always necessary to register the data rotated or enlarged on the reference data side. Since the registration data (registered image) has an enormous amount of data, if it is not necessary to duplicate and store these, a large efficiency effect can be obtained both in terms of storage capacity and data transfer. However, the reference data may be rotated and enlarged / reduced. Although the processing load for one calculation is relatively light, the actual processing load is heavy because it is possible to cope with deviations in position, rotation, etc. by repeated calculation. More specifically, when collating one piece of inspection data, the large number of reference data to be collated is the main cause of the heavy processing load. The reference data side can easily exceed 100 million, but even if the verification process between one inspection data and one reference data is in the order of ms, it will finish processing for all the reference data exceeding 100 million. Is a calculation that takes 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 of a configuration example of the present embodiment.
The module generally refers to components such as software (computer program) and hardware that can be logically separated. Therefore, the module in the present embodiment indicates not only a module in a computer program but also a module in a hardware configuration. Therefore, the present embodiment is a computer program for causing these modules to function (a program for causing a computer to execute each procedure, a program for causing a computer to function as each means, and a function for each computer. This also serves as an explanation of the program and system and method for realizing the above. However, for the sake of explanation, the words “store”, “store”, and equivalents thereof are used. However, when the embodiment is a computer program, these words are stored in a storage device or stored in memory. This means that control is performed so as to be stored in the apparatus. Modules may correspond to functions one-to-one, but in mounting, one module may be configured by one program, or a plurality of modules may be configured by one program, and conversely, one module May be composed of a plurality of programs. Note that one module may include other modules. Hereinafter, “connection” is used not only for physical connection but also for logical connection (data exchange, instruction, reference relationship between data, etc.). “Predetermined” means that the process is determined before the target process, and not only before the process according to this embodiment starts but also after the process according to this embodiment starts. Also, if it is before the target processing, it is used in accordance with the situation / status at that time or with the intention to be decided according to the status / status up to that point. When there are a plurality of “predetermined values”, they may be different values, or two or more values (of course, including all values) may be the same. In addition, the description of “do B when A” is used to mean “determine whether or not A and do B when A”. However, the case where it is not necessary to determine whether or not A is excluded.
In addition, the system or device is configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including one-to-one correspondence communication connection), etc., and one computer, hardware, device. The case where it implement | achieves by etc. is also included. “Apparatus” and “system” are used as synonymous terms. Of course, the “system” does not include a social “mechanism” (social system) that is an artificial arrangement.
In addition, when performing a plurality of processes in each module or in each module, the target information is read from the storage device for each process, and the processing result is written to the storage device after performing the processing. is there. Therefore, description of reading from the storage device before processing and writing to the storage device after processing may be omitted. Here, the storage device 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. As illustrated in the example of FIG. 1, the reference data processing module 105, the reference data database 125, and the inspection data processing module 140 are used. have.
The information processing apparatus 100 performs parallel processing (also referred to as distributed processing or parallel distributed processing). For example, there are Spark, Storm, Hadoop, etc., and when processing an image, a GPU (Graphics Processing Unit) may be used. Computation is implemented in a numerical matrix calculation that can realize high-speed parallel computing with a parallel processing mechanism.
In addition, data that is cut out in consideration of movement, rotation, enlargement / reduction, distortion, etc. is prepared for the inspection data. When tensor calculation is possible, this cut-out can also be performed at high speed using high-speed tensor calculation processing (a 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 indicating which pixel is extracted, a vector from which a partial image is extracted can be created. Similarly, scaling and rotation can also be realized as matrix calculation by preparing a matrix corresponding to the designated conversion. If tensor calculation can be realized at high speed by using GPU or the like, high speed can be expected by calculating these matrices together as a tensor.
Partial segmentation (corresponding to shifting the position and collating), rotation, and enlargement / reduction can be combined. If the total number of conversion processes is N, a vector obtained by converting the inspection data can be created corresponding to each. That is, N inspection images for collation calculation are generated from one inspection image. These inspection images for verification calculation are treated as vectors, and normalization is performed for each vector. Then, by arranging the normalized vectors to form a matrix on the inspection image side, and simply multiplying the matrix on the registered reference data side, a calculation for correlating a large amount of reference data is performed. Can be done together. These processes can be speeded up by parallel processing on the GPU together with distributed processing. The above-described “perform normalization for each vector” will be described in detail. In order to strictly execute Equation 1 described later, normalization for each vector is necessary. However, when the accuracy may be somewhat reduced (when the performance is high enough to determine authenticity), an 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 receiving 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 receiving module 110 is connected to the optimization processing (reference) module 115. The registration data receiving 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 an image means, for example, reading an image with a scanner, a camera, etc., receiving an image from an external device via a communication line by fax, etc., a hard disk (in addition to what is built in a computer, via a network) And the like, and the like read out the images stored in the device etc.). The image may be a binary image or a multi-value image (including a color image). One image may be received or a plurality of images may be received. Further, as a solid photographed in the image, any solid material having random and readable unique features distributed along the surface may be used, for example, various paper documents (in addition to banknotes and securities, For example, there are passports, various rights documents, resident's cards, birth certificates, insurance certificates, guarantees, confidential documents, etc.), product surfaces (for example, drugs (especially tablets)), and the like.

適正化処理(基準)モジュール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 receiving module 110 and the registration module 120. The optimization (reference) module 115 subtracts the average value of the element values in the reference data constituted by a plurality of elements from the value of the element, and performs multidimensional vector normalization constituted by the elements. Do. The normalization here is normalization in which the length of the multidimensional vector is set to a predetermined numerical value. This “predetermined numerical value” may be 1, for example. Even if it is not necessarily 1, it can be calculated in the same way even if it is multiplied by a constant, for example.
The normalized reference data 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 normalization processing on the reference data subjected to image processing.
Further, as the affine transformation, a conversion matrix for performing a conversion process and a partial image cut-out process by rotation at a predetermined angle, enlargement / reduction at a predetermined magnification, or a combination thereof is stored, and the conversion matrix is The calculation data of the inspection data may be generated by executing matrix calculation using the data.
In addition, image processing (for example, partial cutout, rotation, enlargement / reduction, other affine transformations, distortion correction, pixel value change processing, etc. is included (in the description of this embodiment, enlargement etc. This is shown as an example of image processing))), and normalize multiple data created by converting from inspection data, and each normalized data is used as a vector, and the data is combined into a matrix However, position information in the matrix may be managed. Then, information associated with the original information from the position in the matrix may be stored, and the original information may be extracted from the position within the matrix using the correspondence. Here, the position in the matrix includes a row number or a column number, and the original information includes information on a cutout position, a rotation angle, a scaling factor, and the like.
Further, a determination rule corresponding to the position of the matrix may be stored based on the correspondence, and the collation module 160 may determine the authenticity using the determination rule. For example, when an image converted from an inspection image is prepared at a small angle (for example, 72 ways in increments of 5 degrees) in order to cope with a shift in rotation or enlargement / reduction, a plurality of close conversion angles may be used depending on circumstances. There may be a case where the collation calculation result exceeds a threshold value for a thing. In order to be able to execute a process that distinguishes a case where the threshold value has been exceeded multiple times between greatly different rotation angles in this case, a determination rule according to the conversion method when the inspection image is converted is constructed. It becomes desirable.
In addition, when a plurality of inspection data is simultaneously input to the collation module 160, information for identifying the original inspection data is notified to the collation module 160, or the collation result is sent to the original inspection image before the processing of the collation module 160. You may make it divide | segment according to.
The process of the optimization process (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 forms the reference data processed by the optimization processing (reference) module 115 into a matrix 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.
Note that, as described above, the optimization process (reference) module 115 does not perform the normalization process, and calculates the average value of the element values in the reference data constituted by a plurality of elements as the value of the element. A plurality of pieces of reference data may be generated.

基準データデータベース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 includes a target part information storage module 130 and a reference data storage module 135, 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). A module 155 is connected. The reference data database 125 stores processing results (reference data) by the reference data processing module 105. For example, the reference data database 125 is desirably a DB (DataBase) in a distributed environment.
The target part 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 part information storage module 130.
The reference data storage module 135 subtracts the average value of the element values in the reference data constituted by a plurality of elements from the value of the element, and normalizes the length of the multidimensional vector constituted by the elements A plurality of reference data obtained by performing is stored. Specifically, a plurality of reference data of 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 in a matrix in which a plurality of reference data are collected. There are cases where the data are stored together in this matrix, and when the data is distributed to the distributed / parallel calculation, the data is arranged in a matrix.
In both cases, information indicating which position (row, column) of the matrix is the original reference data needs to be held. That is, it is necessary to display which reference data matches the data when the collation is confirmed.
This information may be stored, for example, in the reference data storage module 135 and referenced when reporting results. In this case, since the matrix ID (identifier) and the position in the matrix (information on the number of rows and columns) are used to make an inquiry, it is necessary to distribute the matrix with an ID. There is. Further, instead of directly assigning 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 correspondence information of the identifier of the reference data with the position in each matrix may be distributed together during distributed parallel calculation. In this case, when the collation is successful, the information on the identifier of the corresponding reference data can be selected by the apparatus performing 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 this embodiment, the collation module 160 operates in a distributed parallel manner to increase the speed. There is no necessity that there are a plurality of output modules 165, inspection data receiving modules 145, molding modules 150, and optimization processing (inspection) modules 155 for the verification module 160. That is, although there are a plurality of collation modules 160, there may be one other module (output module 165, inspection data receiving module 145, molding module 150, optimization processing (inspection) module 155).
The inspection data processing module 140 performs processing on the inspection data, compares it with the reference data, and determines whether the inspection data is true or false. The processing of the inspection data processing module 140 will be described later using the flowchart shown in the example of FIG.
The inspection data reception module 145 is connected to the molding module 150. The inspection data reception module 145 receives inspection data and passes the inspection data to the molding module 150. The inspection data may be an image. To accept an image, for example, reading an image with a scanner, a camera, etc., receiving an image from an external device via a communication line with a fax, etc. In addition to what is built in the computer, it includes reading out an image stored in a computer etc.). The image may be a binary image or a multi-value image (including a color image). One image may be received or a plurality of images may be received. In the case of a plurality of sheets, information that can be associated with the processing result of the verification module 160 and the original inspection data is stored. Or you may make it pass to the collation module 160 (or output module 165 not via the collation module 160) with the test data and the data which shape | molded and normalized the test data.
Further, as a solid imaged in the image, any solid material that is an object to be inspected and in which readable unique features having randomness are distributed along the surface may be used. For example, various paper documents (banknotes) In addition to securities and securities, there are, for example, passports, various rights documents, resident's cards, birth certificates, insurance certificates, guarantees, confidential documents, etc.) and product surfaces (for example, drugs (especially tablets)). If the image to be inspected corresponds to the reference image, it is determined to be true, and if different from any reference image, it is determined to be false. Note that “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 forming module 150 forms the inspection data for verification.
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 verification module 160. The optimization processing (inspection) module 155 subtracts the average value of the element values in the inspection data constituted by a plurality of elements from the value of the element, and the length of the multidimensional vector constituted by the elements Perform normalization. The normalization here is normalization in which the length of the multidimensional vector is set to a predetermined numerical value. This “predetermined numerical value” may be 1, for example. Even if it is not necessarily 1, it can be calculated in the same way even if it is multiplied by a constant, for example.
Note that the inspection data after normalization may be a matrix. Regarding the matrix processing, specifically, an image cut out from the inspection data while shifting the position, a rotated image, an enlarged or reduced image, and other affine transformations, distortion correction, and pixel value change What is necessary is just to put together the normalized image data of image processing such as processing and the result of combining these processings into a matrix. At this time, it is desirable to form a matrix by a predetermined number, and when the data to be matrixed becomes half-finished, a vector whose values are all 0 may be added to the missing part. This makes it possible to perform processing that is simple and does not cause adverse effects.
Further, the optimization process (inspection) module 155 may perform the normalization process 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 optimization process (reference) module 115 described above, and the reference data may be replaced with the inspection data in the description. It should be noted that, depending on where the function of collecting the normalized vector data into a matrix is provided, whether the reference data is normalized or the inspection data is normalized differs.
In this optimization processing module 155, collation module 160, or target part information storage module 130, a plurality of data (or data obtained by optimizing this data) created by the molding module 150 based on the inspection data are collected. Processing to form a matrix may be performed, and correspondence information between each matrix and position information in the matrix may be stored. This is because it is necessary when outputting information on how to form and match the registered reference image with success.
As described above, the optimization process (inspection) module 155 does not perform the normalization process, and calculates the average value of the elements in the inspection data constituted by a plurality of elements as the value of the element. You may make it produce | generate as a certain test | inspection data.

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

Figure 2018037020
ただし、Fは基準画像(基準データの集合の一例)、fは基準画像の個々の画素の画素値(白黒画像の明度値、特定色の明度値や彩度等を含む)、L(L=M×N)は基準画像の総画素数、Gは検査画像(検査データの一例)の部分領域、gは検査画像の部分領域の個々の画素の明度値、fAVEは基準画像の個々の画素の明度値の平均値、gAVEは検査画像の部分領域の個々の画素の明度値の平均値である。複数の照合画像を演算対象の検査画像として上記の演算を各々行うことで、基準画像のドット数をm×n、照合画像のドット数をM×Nとすると、単一の検査画像当たり(M―m+1)×(N−n+1)個の相関値が得られる。 The verification 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 reference 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 normalized reference data and the normalized inspection data are each a vector, and a plurality of normalized reference data are collected into a matrix and converted from the inspection data by image processing and normalized. Is a matrix in which a plurality of are collected.
Then, the collation module 160 collectively calculates correlation values between the plurality of reference data and the image processed inspection image. Note that the collation module 160 obtains a result equivalent to the calculation result of Expression 1 without executing the calculation of Expression 1 itself. That is, since it has been normalized first, the calculated value of Equation 1 can be obtained simply by calculating the inner product of the vectors. For this reason, it is possible to collectively perform collation calculation between a plurality of pieces of data image-processed from a plurality of reference data and inspection data only by performing multiplication between matrices. That is, the calculation of Expression 1 is realized by normalization processing by the optimization processing (inspection) module 155 and computation (more specifically, multiplication) between the matrices performed by the matching module 160.
Figure 2018037020
Here, F is a reference image (an example of a set of reference data), f i is a pixel value of each pixel of the reference image (including a lightness value of a black and white image, a lightness value and a saturation of a specific color), and L (L = M × N) is the total number of pixels of the reference image, G is a partial area of the inspection image (an example of inspection data), g i is the brightness value of each pixel of the partial area of the inspection image, and f AVE is an individual of the reference image G AVE is the average value of the brightness values of the individual pixels in the partial area of the inspection image. By performing each of the above calculations using a plurality of verification 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 verification image is M × N, (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 verification module 160 is performed in parallel processing. In addition, when the load of image processing increases, 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 a mapper in parallel calculation. Specifically, the correlation value calculation itself may be performed by a mapper in the case of Hadoop. Further, it may be performed by both a mapper and a reducer (a combiner may be inserted between the mapper and the reducer). Specifically, both of them may be performed step by step. As a stepwise process, for example, a mapper performs a process of determining matching based on the calculated correlation value, information when matching is successful (information indicating which reference image is successfully matched, The process of generating information indicating which conversion has been applied and the correct answer for collation may be performed by the reducer. In addition, when using Spark as a distributed processing system, an executor (executor (or a worker in terms of expression)) to be processed in parallel and a portion to be collected (a portion that is executed by a reducer) (Driver).
The above-mentioned “information indicating which reference image is successfully collated” will be described in detail. When a plurality of inspection-side images are collectively input into the information processing apparatus 100, the processing is processing for generating information indicating information indicating which inspection-side image and which reference image are successfully collated. Further, as auxiliary information, it is desirable to generate information indicating how the collation is successful when the image on the inspection side is converted.
Further, as “information when collation is successful”, “information indicating which image on the inspection side is successfully collated” may be included. Here, when a plurality of inspection-side images are input to the information processing apparatus 100, which inspection-side image among them has been successfully verified.
In addition, as “information when the collation is successful”, there are “inspection data created by image processing (rotation, movement, etc.) on the image on the inspection side, and which inspection data after the image processing and the reference side "Information indicating whether or not the collation has succeeded with the other data" may be included. Therefore, the information is also information indicating what kind of image processing (rotation angle, moving direction, moving distance, etc.) has been 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 verification module 160. The output module 165 outputs the determination result by the collation module 160. To output the determination result is, for example, printing on a printing device such as a printer, displaying on a display device such as a display, writing to a storage device such as a determination result database, or storing it in a storage medium such as a memory card. , Passing to another information processing apparatus, and the like.

図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 illustrating an example of true / false 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 Judgment. Note that “included” in “the reference image 200 is included in the inspection image 210” does not need to be completely identical. That is, strictly speaking, since the shooting is different, it is almost impossible to include the pixel value sequence of the reference image. This means that a portion 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 for the reference image 200 shown in the example of FIG. The processing result of the reference image processing module 105 for the reference image 200 is a vector (one-dimensional vector) in which pixel values (in the example of FIG. 2, “pixel value−average value of pixel values”) are arranged in one column.
The inspection data reception module 145 receives the inspection image 210 shown in the example of FIG. Then, a cutout image 220 shown in the example of FIG. 2 (b2) is cut out from the inspection image 210. Note that this cut-out process is one of processing examples of the molding module 150. In addition to the above, the processing described above is applied to processing for cutting out a rotated object, processing for extracting from an enlarged / reduced object, processing for extracting from a rotated / enlarged / reduced object, processing for adding noise to a pixel value, etc. There are various molding processes, such as the process of performing. Then, the optimization process (search) module 155 performs a process of subtracting the average value from the formed pixel vector. Moreover, you may perform the process which optimizes length. As a result of processing by the shaping module 150 and the optimization processing (inspection) module 155 of the cutout image 220, a pixel value (in the example of FIG. 2, “pixel value−average value of pixel values”) is a vector (primary). Original vector).
The collation module 160 calculates a correlation coefficient between the reference image 200 and the cutout image 220.
The example of FIG. 2C shows a case where the position where the partial image is cut out by the molding module 150 is changed in the X and Y directions. 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 (贋).
At this time, if the difference between the highest correlation coefficient value and other values, for example, the one with the second highest value (which can be determined by the difference or ratio) does not satisfy the predetermined condition, the determination is true. It may not be.
When determining the conditions here, the determination may be made with reference to information specified at the time of molding (for example, the rotation angle and the ratio of enlargement / reduction). For example, if the rotation angle (rotation increment) is made fine, or the enlargement / reduction ratio (magnification) is made fine, the collation may be successful multiple times near the setting. Even in this case, the designation of deformation at the time of molding may be referred to in the verification result determination process so that the verification can be determined to be successful.

図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 illustrating an example of parallel processing for authenticity determination.
In the registered image DB 300, a plurality of reference images 200 (four in the example of FIG. 2) are stored. Then, the authenticity of the inspection image 210 is determined.
In the example of FIG. 3, the collation module 160 is further subjected to distributed parallel processing on the part that performs correlation calculation. At this time, the inspection data receiving module 145, the molding module 150, etc. need not be plural. In the plurality of collation modules 160, the inspection image 210 and the reference image 200a are collated, the inspection image 210 and the reference image 200b are collated, the inspection image 210 and the reference image 200c are collated, and the inspection image 210 and the reference image 200d are collated. 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. In other words, 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 cut image 220a and the reference image 200a are collated, the cut image 220b and the reference image 200a are collated, and the cut image 220c and the reference image 200a are collated. . That is, correlation coefficient calculation 310a, correlation coefficient calculation 310b, and correlation coefficient calculation 310c are performed. Then, a correlation coefficient 320 of pixel values is generated from the correlation coefficient calculation 310a, the correlation coefficient calculation 310b, and the correlation coefficient calculation 310c, and a maximum value (Max) 330, an average value (Mean) 340, a standard deviation ( σ) 350 is calculated, and the following determination is made.
(“Maximum value (Max) 330” ≧ threshold A (ncc_threshold))) and (((“maximum value (Max) 330” − “mean value (Mean) 340”) / “standard deviation (σ) 350”)) If it is ≧ threshold value B (nscore_threshold)), it is determined as a determination result (true) 390a, and in other cases, it is determined as a determination result (贋) 390b.
The determination result of each inspection data processing module 140 is acquired, and the reference image 200 that has become the determination result (true) 390a is compared with the inspection image 210 (true). At this time, when conversion such as rotation and enlargement / reduction is also performed, the same determination may be made. Further, the determination may be made with reference to the correlation value, the type of conversion, and the 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 an example of processing according to this embodiment.
In step S402, the registration data reception module 110 reads registration data 450 that is reference data.
In step S404, the optimization process (reference) module 115 performs the optimization process. Detailed processing in 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 part information storage module 130 and the reference data storage module 135. Detailed processing in 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 registered data 450 has been completed. If completed, the processing is terminated (step S499). Otherwise, the process returns to step Sstep S402.

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

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

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

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

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

ステップS710では、照合処理を行う。ステップS710の詳細な処理については、図9の例に示すフローチャートを用いて後述する。
ステップS712では、結果を出力する。例えば、ステップS710での照合処理結果をディスプレイ、プリンタ等の表示装置や、DB等の情報記憶装置等に出力して処理を終了する。
In step S710, collation processing is performed. Detailed processing in 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, and the processing is terminated.

図8は、本実施の形態による処理例を示すフローチャートである。
ステップS802では、平行移動画像を切り出す。
ステップS804では、歪み画像を切り出す。
ステップS806では、拡大縮小画像を切り出す。
ステップS808では、回転画像を切り出す。
ステップS810では、焦点ぼけ画像を切り出す。なお、ここでの「切り出す」は、加工した画像をつくって、そこから切り出す、又は、ぼけ画像を本来の画素値を算出しながら切り出す等が含まれる。
なお、ステップS802〜ステップS810の処理は、いずれか一つ処理を行うようにしてもよいし、複数の処理を行うようにしてもよい。
FIG. 8 is a flowchart showing an example of processing according to this embodiment.
In step S802, a translation image is cut out.
In step S804, a distortion 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, a defocused image is cut out. Here, “cutting out” includes making a processed image and cutting it out, or cutting out a blurred image while calculating the original pixel value.
Note that any one of the processes in steps S802 to S810 may be performed, or a plurality of processes may be performed.

検査データ(例えば、画像)から、照合処理の対象とする情報(部分画像)を切り出すが、その切り出し位置等に関して、平行移動、回転、拡大縮小等の予め定められた処理とパラメータの組み合わせに応じて、切り出した情報(部分画像)を生成する。
この処理は、各処理の組み合わせ等もあり得る。したがって、処理負荷が高まる場合もあり得るが、現画像をベクトルとし、そこから切り出す位置を指定するマトリクス(スパースマトリクス:sparse matrix、疎行列)を予め準備しておくことで、高速な演算機構(GPU等)を利用することもできるし、各出力画像に対応する処理フローの独立性が高いため、この部分と次の適正化処理を合わせて分散並列処理とする構成も可能である。ただし、前述した通り、この部分の負荷は分散並列処理をかける必要がないケースもあり得るので、分散処理は必ずしも必要ない。
ステップS812では、結果を出力する。つまり、ステップS706の処理に渡す。
The information (partial image) to be subjected to the collation process is cut out from the inspection data (for example, an image). The cut-out position, etc., depends on a combination of predetermined processing such as translation, rotation, enlargement / reduction, and parameters. Thus, the cut out information (partial image) is generated.
This process may be a combination of processes. Therefore, although the processing load may increase, a high-speed calculation mechanism (sparse matrix) is prepared in advance by setting a matrix (sparse matrix) that designates a position to be cut out from the current image as a vector. GPU or the like) can also be used, and the processing flow corresponding to each output image is highly independent, so that this part and the next optimization processing can be combined to form distributed parallel processing. However, as described above, there may be a case where the load of this portion does not need to be subjected to distributed parallel processing, so distributed processing is not necessarily required.
In step S812, the result is output. That is, it passes 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 this embodiment. Here, it is an example when enormous reference data is registered, and a processing flow in distributed processing will be described.
In step S902, an inspection data processing unit (column) is received.
In step S904, information on the reference data processing unit group (for example, an ID string of the reference data processing unit group) is acquired.
In step S906, a set of inspection data processing units and reference data processing units is configured (a job for distributed processing or the like is designed). That is, a job sequence that is a combination of both (inspection data processing unit and reference data processing unit) is created.

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

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

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

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

ジョブ情報を受信した計算機(Hadoopの場合はMapper、Sparkの場合にはExecutor)は、基準データ処理単位を入手(ジョブ情報に同梱されている場合やID等を元に、DB等の格納場所から取得する場合等があり得る)すると共に、検査データ処理単位を入手する(ジョブ情報に同梱されている場合や、所定の格納場所から入手する場合等があり得る)。
入手した基準データ処理単位と検査データ処理単位は、GPU等で高速に計算可能なマトリクス情報に成形してあるため、そのままGPU等でマトリクスの乗算計算を実行する。なお、基準データ処理単位や検査データ処理単位が列としてまとめられていた場合には、テンソル計算となる。
処理結果がベクトル情報、又は、マトリクス情報として得られ、これを出力する。なお、Hadoopの場合は、リデューサーに向けた送信となる。Sparkの場合は、Driver programに向けた送信となる。
The computer that has 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 bundled with the job information or based on the ID etc., the storage location of the DB, etc. And the inspection data processing unit is obtained (may be included in the job information or obtained from a predetermined storage location).
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 a GPU or the like, matrix multiplication calculation is directly executed by the GPU or the like. Note that when the reference data processing unit and the inspection data processing unit are grouped as columns, tensor calculation is performed.
A processing result is obtained as vector information or matrix information, which is output. In the case of Hadoop, 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 according to the present embodiment. An arrangement example of each processing apparatus for the collation job result aggregation process will be described. Here, an example of Hadoop 1120 is used as a parallel processing environment.
An HDFS (Hadoop Distributed File System) 1110 stores a reference image in advance.
The client 1100 transmits the inspection image 210 to the HDFS 1110. Here, when the inspection image is transmitted, each mapper is configured to perform translation, normalization, and the like. If the client 1100 converts and registers the inspection data processing units (columns), there is no need to perform multiple inspection image parallel movement processing on the Mapper side. Further, the step of creating the inspection data processing unit (column) itself may be separately performed by Mapper by distributed processing.
Each Mapper 1130 in the Hadoop 1120 uses each processing device 1140 to collate the inspection image 210 with each reference image 200. Specifically, the correlation coefficient is calculated by performing matrix multiplication processing with the GPU 1142 in each processing device 1140. That is, the inner product calculation of the normalized vector is performed, and the linear algebra calculation library on the GPU 1142 is used.
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 the Maper 1130.
In this case, for each unit of job processed by each Mapper 1130, the “for each reference data” portion of the collation job result aggregation processing 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 “every reference data” or “all reference data” may be distributed and processed by the Mapper 1130. For most reference images, matching should fail. Therefore, the result data may not be transmitted when collation fails, or information in which the collation failure results are aggregated 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 the present embodiment will be described with reference to FIG. The configuration shown in FIG. 12 is configured by a personal computer (PC), for example, and shows a hardware configuration example 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) includes various modules described in the above-described embodiments, that is, the reference data processing module 105, the registration data receiving module 110, the optimization processing (reference) module 115, and the registration module. 120, an inspection data processing module 140, an inspection data receiving module 145, a molding module 150, an optimization processing (inspection) module 155, a collation module 160, an output module 165, and the like. It is a control part which performs a process.

ROM(Read Only Memory)1202は、CPU1201が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1203は、CPU1201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス1204により相互に接続されている。   A ROM (Read Only Memory) 1202 stores programs used by the CPU 1201, calculation parameters, and the like. A RAM (Random Access Memory) 1203 stores programs used in the execution of the CPU 1201, parameters that change as appropriate during the execution, and the like. These are connected to each other by a host bus 1204 configured by 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の両方の機能を備えているタッチスクリーン等であってもよい。   A keyboard 1208 and a pointing device 1209 such as a mouse are devices operated by an operator. The display 1210 includes a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various types of information as text or image information. Further, a touch screen or the like having both functions of the pointing device 1209 and the display 1210 may be used.

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

ドライブ1212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1213に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1207、外部バス1206、ブリッジ1205、及びホストバス1204を介して接続されているRAM1203に供給する。なお、リムーバブル記録媒体1213も、データ記録領域として利用可能である。   The drive 1212 reads data or a program recorded in a removable recording medium 1213 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and the data or program is read out to the interface 1207 and the external bus 1206. , The bridge 1205, and the RAM 1203 connected via the host bus 1204. Note that 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 unit such as USB, IEEE1394. 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 a communication line and executes data communication processing with the outside. The data reading unit 1217 is a scanner, for example, and executes document reading processing. The data output unit 1218 is a printer, for example, and executes document data output processing.

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

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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 program described above may be provided by being stored in a recording medium, or the program may be provided by communication means. In that case, for example, the above-described program may be regarded as an invention of a “computer-readable recording medium recording the program”.
The “computer-readable recording medium on which a program is recorded” refers to 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, such as “DVD-R, DVD-RW, DVD-RAM,” and DVD + RW. Standard “DVD + R, DVD + RW, etc.”, compact disc (CD), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), Blu-ray disc ( Blu-ray (registered trademark) Disc), magneto-optical 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 for storage or distribution. Also, by communication, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wired network used for the Internet, an intranet, an extranet, or a wireless communication It may be transmitted using a transmission medium such as a network or a combination of these, or may be carried on a carrier wave.
Furthermore, the program may be a part or all of another program, or may be recorded on a recording medium together with a separate program. Moreover, it may be divided and recorded on a plurality of recording media. Further, it may be recorded in any manner as long as it can be restored, such as compression or 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
DESCRIPTION OF SYMBOLS 100 ... Information processing apparatus 105 ... Reference data processing module 110 ... Registration data reception module 115 ... Optimization process (reference) 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 receiving 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 (13)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020115844A1 (en) * 2018-12-05 2020-06-11 日本電気株式会社 Sparse matrix normalization device, sparse matrix normalization method, sparse matrix normalization program, and data structure

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020115844A1 (en) * 2018-12-05 2020-06-11 日本電気株式会社 Sparse matrix normalization device, sparse matrix normalization method, sparse matrix normalization program, and data structure
JPWO2020115844A1 (en) * 2018-12-05 2021-10-07 日本電気株式会社 Sparse matrix standardizer, sparse matrix standardization method, sparse matrix standardization program and data structure
JP7230925B2 (en) 2018-12-05 2023-03-01 日本電気株式会社 Sparse matrix normalization device, sparse matrix normalization method and sparse matrix normalization program

Also Published As

Publication number Publication date
JP6855711B2 (en) 2021-04-07

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
US20110249905A1 (en) Systems and methods for automatically extracting data from electronic documents including tables
JP2012089132A (en) Method of detecting duplicate document content using two-dimensional visual fingerprinting
US11663296B2 (en) Automatic work order analysis
US11790681B2 (en) Classifying pharmacovigilance documents using image analysis
US11023720B1 (en) Document parsing using multistage machine learning
US20220374473A1 (en) System for graph-based clustering of documents
CN111444362A (en) Malicious picture intercepting method, device, equipment and storage medium
Chakraborty et al. Application of daisy descriptor for language identification in the wild
JP7384603B2 (en) Document form identification
JP6855711B2 (en) Information processing equipment and information processing programs
Gireeshan et al. RETRACTED ARTICLE: Feature reduced blind steganalysis using DCT and spatial transform on JPEG images with and without cross validation using ensemble classifiers
CN113408553A (en) Image category identification method and device, electronic equipment and storage equipment
GUNAYDIN et al. Digitization and Archiving of Company Invoices using Deep Learning and Text Recognition-Processing Techniques
US20230274568A1 (en) Systems and methods for intelligent zonal recognition and automated context mapping
US12014576B2 (en) Systems and methods for capturing electronic signatures
Rahman et al. A Novel Framework for Detection of Morphed Images Using Deep Learning Techniques
Almukhtar Facial emotions recognition using local monotonic pattern and grey level co‐occurrence matrices images aided development
Agarwal et al. Image operator forensics and sequence estimation using robust deep neural network
Folmsbee Developing AI Pipelines for Semantic Segmentation in Digital Pathology
Dutta et al. A systematic literature review on image splicing detection and localization using emerging technologies
van Holland Splitting multi-document les into logical sub-documents using multimodal deep learning models
CN114821615A (en) Picture text recognition method, device and equipment
CN115495410A (en) Intelligent image file sorting method based on OCR technology

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