Method for determining quality of inspection data using machine learning model, information processing device, and computer program

The method employs a vector neural network model to classify and determine the quality of test data by using teacher data classified into multiple classes and known feature spectra, addressing the challenges of autoencoder models in distinguishing defects from compression issues.

JP7655115B2Active Publication Date: 2025-04-02SEIKO EPSON CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021108801
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-30
Publication Date
2025-04-02
Estimated Expiration
2041-06-30

AI Technical Summary

Technical Problem

Existing learning models using autoencoders struggle to accurately distinguish between inspection image data defects and inappropriate compression processing, leading to a need for improved methods to determine the quality of test data.

Method used

A method utilizing a vector neural network type machine learning model with multiple vector neuronal layers, where teacher data is classified into multiple classes, trained using these data, and known feature spectra are obtained from specific layers to determine the quality of test data by calculating similarity with these feature spectra.

Benefits of technology

This approach enhances the accuracy of determining whether test data is good or defective by using a vector neural network model, allowing for effective classification without requiring defective data as teacher data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007655115000003
    Figure 0007655115000003
  • Figure 0007655115000004
    Figure 0007655115000004
  • Figure 0007655115000005
    Figure 0007655115000005
Patent Text Reader

Abstract

To provide a technique to perform learning of a machine learning model by using only non-defective training data to determine the quality of inspection data.SOLUTION: A method for quality determination includes: (a) a step of classifying a plurality of pieces of non-defective data into a plurality of classes to generate a plurality of pieces of training data; (b) a step of executing learning of a machine learning model by using the plurality of pieces of training data; (c) a step of preparing a known characteristic spectrum group; and (d) a step of executing quality determination processing on inspection data by using the machine learning model and the known characteristic spectrum group. The step (d) includes: (d1) a step of calculating a characteristic spectrum related to the inspection data; (d2) a step of operating the similarity between the characteristic spectrum and the known characteristic spectrum group; and (d3) a step of determining that the inspection data is non-defective when the similarity is equal to or more than a threshold, and determining that the inspection data is defective when the similarity is less than the threshold.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a method for determining the quality of inspection data using a machine learning model, an information processing device, and a computer program. [Background technology]

[0002] Patent Document 1 discloses an appearance inspection system that judges the quality of a product from its image. In this appearance inspection system, the quality judgment is performed using a learning model generated by an autoencoder. In a learning model using an autoencoder, it is possible to perform learning using only data of good products. For example, when an autoencoder is trained using only image data of good products and the inspection image data is decoded by the trained autoencoder, output image data close to the trained image data of good products is obtained. At this time, if there is a large difference between the inspection image data and the output image data, it can be determined that the inspection data is defective. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication No. 2021-44994 Summary of the Invention [Problem to be solved by the invention]

[0004] However, in a learning model using an autoencoder, if the compression process in the encoding section is not set appropriately, it may not be possible to distinguish whether the difference between the inspection image data and the output image data is due to a defect or due to an inappropriate compression process. Therefore, a technology that uses a machine learning model other than an autoencoder to improve the accuracy of pass / fail judgment is desired. [Means for solving the problem]

[0005] According to a first embodiment of the present disclosure, there is provided a method for determining the quality of inspection data using a vector neural network type machine learning model having multiple vector neuron layers. This method includes the steps of (a) creating multiple teacher data by classifying multiple non-defective product data into multiple classes and assigning multiple labels for distinguishing the multiple classes to each non-defective product data, (b) executing learning of the machine learning model using the multiple teacher data, (c) preparing a group of known feature spectra obtained from the output of at least one specific layer of the multiple vector neuron layers when the multiple teacher data are input to the trained machine learning model, and (d) executing a quality determination process of the inspection data using the trained machine learning model and the group of known feature spectra. The step (d) includes the steps of (d1) calculating a feature spectrum from the output of the specific layer in response to input of the inspection data to the machine learning model, (d2) calculating a similarity between the feature spectrum and the group of known feature spectra, and (d3) determining that the inspection data is good if the similarity is equal to or greater than a preset threshold, and determining that the inspection data is defective if the similarity is less than the threshold.

[0006] According to a second embodiment of the present disclosure, there is provided an information processing device that executes a pass / fail judgment process for judging the pass / fail of inspection data using a vector neural network type machine learning model having a plurality of vector neuron layers. The information processing device includes a memory that stores the machine learning model, and a processor that executes a calculation using the machine learning model. The processor executes the following processes: (a) creating a plurality of teacher data by classifying a plurality of non-defective product data into a plurality of classes and assigning a plurality of labels that distinguish the plurality of classes to each non-defective product data; (b) executing learning of the machine learning model using the plurality of teacher data; (c) preparing a group of known feature spectra obtained from the output of at least one specific layer of the plurality of vector neuron layers when the plurality of teacher data are input to the learned machine learning model; and (d) executing a pass / fail judgment process of the inspection data using the learned machine learning model and the group of known feature spectra. The process (d) includes: (d1) a process of calculating a feature spectrum from the output of the specific layer in response to input of the inspection data to the machine learning model; (d2) a process of calculating a similarity between the feature spectrum and the group of known feature spectra; and (d3) a process of determining that the inspection data is a good product if the similarity is equal to or greater than a preset threshold, and determining that the inspection data is a defective product if the similarity is less than the threshold.

[0007] According to a third aspect of the present disclosure, there is provided a computer program for causing a processor to execute a pass / fail judgment process for judging the pass / fail of inspection data by using a vector neural network type machine learning model having a plurality of vector neuron layers. This computer program causes the processor to execute the following processes: (a) creating a plurality of teacher data by classifying a plurality of non-defective product data into a plurality of classes and assigning a plurality of labels for distinguishing the plurality of classes to each of the non-defective product data; (b) executing learning of the machine learning model by using the plurality of teacher data; (c) preparing a group of known feature spectra obtained from the output of at least one specific layer of the plurality of vector neuron layers when the plurality of teacher data are input to the learned machine learning model; and (d) executing a pass / fail judgment process of the inspection data by using the learned machine learning model and the group of known feature spectra. The process (d) includes: (d1) a process of calculating a feature spectrum from the output of the specific layer in response to input of the inspection data to the machine learning model; (d2) a process of calculating a similarity between the feature spectrum and the group of known feature spectra; and (d3) a process of determining that the inspection data is a good product if the similarity is equal to or greater than a preset threshold, and determining that the inspection data is a defective product if the similarity is less than the threshold. [Brief description of the drawings]

[0008] [Figure 1] FIG. 2 is a block diagram of a quality determination system. [Diagram 2] FIG. 1 is an explanatory diagram showing an example of the configuration of a machine learning model. [Diagram 3] A flowchart showing the steps for preparing a machine learning model. [Figure 4] FIG. 2 is an explanatory diagram showing an example of an inspection target product. [Diagram 5] FIG. 11 is an explanatory diagram showing teacher data that has been subjected to clustering processing. [Figure 6] FIG. [Figure 7] FIG. 4 is an explanatory diagram showing the configuration of a group of known characteristic spectra. [Figure 8] 11 is a flowchart showing a processing procedure of a quality determination step. [Figure 9] FIG. 11 is an explanatory diagram showing how class-specific similarities regarding inspection data are calculated. [Figure 10] FIG. 11 is an explanatory diagram showing a first calculation method of class similarity. [Figure 11] FIG. 11 is an explanatory diagram showing a second calculation method of class similarity. [Figure 12] FIG. 11 is an explanatory diagram showing a third calculation method of class similarity. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] A. Implementation: FIG. 1 is a block diagram showing a quality determination system according to an embodiment. The quality determination system includes an information processing device 100 and a camera 400. The camera 400 is for taking an image of an inspection target product. As the camera 400, a camera for taking a color image may be used, or a camera for taking a monochrome image or a spectral image may be used. In this embodiment, the image taken by the camera 400 is used as teacher data or inspection data, but data other than images may also be used as teacher data or inspection data. In this case, instead of the camera 400, an inspection data acquisition device according to the type of data is used.

[0010] The information processing device 100 has a processor 110, a memory 120, an interface circuit 130, and an input device 140 and a display unit 150 connected to the interface circuit 130. A camera 400 is also connected to the interface circuit 130. For example, but not limited to, the processor 110 not only has a function of executing the processes described in detail below, but also has a function of displaying on the display unit 150 data obtained by the processes and data generated in the course of the processes.

[0011] The processor 110 functions as a class discrimination processing unit 112 that executes class discrimination processing of the inspection data. The class discrimination processing unit 112 includes a similarity calculation unit 310 and a pass / fail determination unit 320. The class discrimination processing unit 112 is realized by the processor 110 executing a computer program stored in the memory 120. However, the class discrimination processing unit 112 may be realized by a hardware circuit. The term processor in this specification includes such a hardware circuit. Furthermore, the processor that executes the class discrimination processing may be a processor included in a remote computer connected to the information processing device 100 via a network.

[0012] The memory 120 stores a machine learning model 200, a training data group TD, and a known feature spectrum group KSp. The machine learning model 200 is used for processing by the class discrimination processing unit 112. An example configuration and operation of the machine learning model 200 will be described later. The training data group TD is a collection of labeled data used for training the machine learning model 200. In this embodiment, the training data group TD is a collection of image data. The known feature spectrum group KSp is a collection of feature spectra obtained when the training data group TD is input to the trained machine learning model 200. The feature spectra will be described later.

[0013] 2 is an explanatory diagram showing a configuration example of the machine learning model 200. The machine learning model 200 includes, in order from the input data IM side, a convolution layer 210, a primary vector neuron layer 220, a first convolution vector neuron layer 230, a second convolution vector neuron layer 240, and a classification vector neuron layer 250. Of these five layers 210 to 250, the convolution layer 210 is the lowest layer, and the classification vector neuron layer 250 is the highest layer. In the following description, the layers 210 to 250 are also referred to as the "Conv layer 210", the "PrimeVN layer 220", the "ConvVN1 layer 230", the "ConvVN2 layer 240", and the "ClassVN layer 250", respectively.

[0014] 2, two convolution vector neuron layers 230 and 240 are used, but the number of convolution vector neuron layers is arbitrary, and the convolution vector neuron layer may be omitted. However, it is preferable to use one or more convolution vector neuron layers.

[0015] The configuration of each of the layers 210 to 250 in FIG. 3 can be described as follows. <Description of the configuration of machine learning model 200> ·Conv layer 210: Conv[32,5,2] ·PrimeVN layer 220: PrimeVN[16,1,1] ·ConvVN1 layer 230:ConvVN1[12,3,2] ·ConvVN2 layer 240:ConvVN2[6,3,1] ·ClassVN layer 250:ClassVN[Nm,4,1] Vector dimension VD: VD=16 In the description of each of these layers 210 to 250, the character string before the parentheses is the layer name, and the numbers in the parentheses are, in order, the number of channels, the surface size of the kernel, and the stride. For example, the layer name of the Conv layer 210 is "Conv", the number of channels is 32, the surface size of the kernel is 5 x 5, and the stride is 2. In FIG. 2, these descriptions are shown under each layer. The hatched rectangles drawn in each layer represent the surface size of the kernel used when calculating the output vector of the adjacent upper layer. In this embodiment, since the input data IM is image data, the surface size of the kernel is also two-dimensional. Note that the parameter values ​​used in the description of each of the layers 210 to 250 are merely examples and can be changed arbitrarily.

[0016] The Conv layer 210 is a layer composed of scalar neurons. The other four layers 220 to 250 are layers composed of vector neurons. A vector neuron is a neuron that takes a vector as input and output. In the above description, the dimension of the output vector of each vector neuron is constant at 16. In the following, the term "node" is used as a superordinate concept of scalar neurons and vector neurons.

[0017] In FIG. 2, for the Conv layer 210, a first axis x and a second axis y that define the planar coordinates of the node array, and a third axis z that represents the depth are shown. Also, it is shown that the sizes of the Conv layer 210 in the x, y, and z directions are 13, 13, and 32. The sizes in the x and y directions are called "resolution." The size in the z direction is the number of channels. These three axes x, y, and z are also used as coordinate axes indicating the position of each node in other layers. However, in FIG. 2, the illustration of these axes x, y, and z is omitted in layers other than the Conv layer 210.

[0018] As is well known, the resolution W1 after convolution is given by the following equation: W1 = Ceil{(W0 - Wk + 1) / S} (1) Here, W0 is the resolution before convolution, Wk is the surface size of the kernel, S is the stride, and Ceil{X} is a function that rounds up X to the nearest integer. The resolution of each layer shown in FIG. 2 is an example in which the resolution of the input data IM is 29, and the actual resolution of each layer is changed appropriately depending on the size of the input data IM.

[0019] The ClassVN layer 250 has Nm channels. In the example of FIG. 2, Nm=2. In general, Nm is an integer equal to or greater than 2, and is the number of classes that can be discriminated using the machine learning model 200. The number of discriminable classes Nm can be set to a different value for each machine learning model 200. The two channels of the ClassVN layer 250 output judgment values ​​Class1 to Class2 for the two classes. Usually, the class having the largest value among these judgment values ​​Class1 to Class2 is used as the class discrimination result for the input data IM. In addition, if the largest value among the judgment values ​​Class1 to Class2 is less than a predetermined threshold, it is also possible to determine that the class of the input data IM is unknown.

[0020] In this disclosure, as described later, instead of using the judgment values ​​Class1 to Class2 of the ClassVN layer 250, which is the output layer, a method is used in which a similarity calculated from the output of a specific vector neuron layer is used to determine whether input data is known or unknown.

[0021] FIG. 2 further illustrates a partial region Rn in each layer 210, 220, 230, 240, and 250. The subscript "n" of the partial region Rn is the code of each layer. For example, the partial region R210 indicates a partial region in the Conv layer 210. The "partial region Rn" is a region in each layer that is identified by a planar position (x, y) defined by the position of the first axis x and the position of the second axis y, and includes a plurality of channels along the third axis z. The partial region Rn has dimensions of "Width" x "Height" x "Depth" corresponding to the first axis x, the second axis y, and the third axis z. In this embodiment, the number of nodes included in one "partial region Rn" is "1 x 1 x number of depths", that is, "1 x 1 x number of channels".

[0022] 2, a feature spectrum Sp_ConvVN1, which will be described later, is calculated from the output of the ConvVN1 layer 230 and input to a similarity calculation unit 310. Similarly, feature spectra Sp_ConvVN2 and Sp_ClassVN are calculated from the outputs of the ConvVN2 layer 240 and the ClassVN layer 250, respectively, and input to the similarity calculation unit 310. The similarity calculation unit 310 calculates the similarities between these feature spectra Sp_ConvVN1, Sp_ConvVN, and Sp_ClassVN and a known feature spectrum group KSp that has been created in advance.

[0023] In this disclosure, the vector neuron layer used to calculate the similarity is also called the "specific layer". As the specific layer, any number of vector neuron layers, one or more, can be used. The configuration of the feature spectrum and the method of calculating the similarity using the feature spectrum will be described later.

[0024] 3 is a flowchart showing a processing procedure of a preparation step for a machine learning model. In step S110, a plurality of non-defective product samples are photographed to generate a plurality of non-defective product data.

[0025] FIG. 4 is an explanatory diagram showing an example of an inspection target product. Here, examples of a non-defective product PDa and a defective product PDb are shown. The defective product PDb has a scratch DF that is not present in the non-defective product PDa. The non-defective sample photographed in step S110 is a product that has no defects such as a scratch DF.

[0026] In step S120, preprocessing is applied to the non-defective data. As the preprocessing, for example, size adjustment, data normalization (min-max normalization), etc. are possible. FIG. 4 shows an example in which, as size adjustment, an image of a non-defective product PDa is divided into a plurality of patch images PPDa by division lines shown by dashed lines. Each of these patch images PPDa is used as non-defective product data. However, the preprocessing may be omitted. In step S130, the class discrimination processing unit 112 executes a process of dividing a plurality of non-defective product data into a plurality of groups.

[0027] FIG. 5 shows grouped good data. In this example, a plurality of good data are grouped into a first good data group TD1 and a second good data group TD2 by clustering processing. In the clustering processing, for example, image data, which is good data, is converted to grayscale, and the two-dimensional data is converted to one-dimensional data by raster scanning and arranging the luminance from the upper left pixel, and the data is classified into a plurality of groups by k-means. Alternatively, a method may be used in which the image data is converted to one-dimensional data, the dimensions are reduced by applying PCA (principal component analysis), and the data is classified into a plurality of groups by k-means. In the example of FIG. 5, the data is classified into two groups TD1 and TD2 centered on the respective centers of gravity G1 and G2. Note that grouping may be performed using a method other than k-means. For example, the good data may be arranged and classified into a plurality of groups by their ordinal numbers.

[0028] In step S140 in Fig. 3, a label is assigned to each group to create multiple training data groups. In this embodiment, two training data groups are created by assigning labels "1" and "2" to two groups of non-defective product data, respectively. These labels correspond to the two classes Class1 to Class2 of the machine learning model 200 shown in Fig. 2. In this disclosure, "label" and "class" mean the same thing.

[0029] In step S150, the class discrimination processing unit 112 uses a plurality of sets of teacher data to train the machine learning model 200. When the training using the plurality of sets of teacher data is completed, the trained machine learning model 200 is stored in the memory 120.

[0030] In step S160, a group of known characteristic spectra KSp is generated by inputting a plurality of pieces of training data again into the trained machine learning model 200. The group of known characteristic spectra KSp is a collection of characteristic spectra, which will be described below.

[0031] FIG. 6 is an explanatory diagram showing a feature spectrum Sp obtained by inputting arbitrary input data to the trained machine learning model 200. Here, the feature spectrum Sp obtained from the output of the ConvVN1 layer 230 will be described. The horizontal axis of FIG. 6 is the position of a vector element with respect to the output vector of a plurality of nodes included in one partial region R230 of the ConvVN1 layer 230. The position of this vector element is expressed by a combination of the element number ND of the output vector in each node and the channel number NC. In this embodiment, since the vector dimension is 16 (the number of elements of the output vector output by each node), the element number ND of the output vector is 16, from 0 to 15. In addition, since the number of channels of the ConvVN1 layer 230 is 12, the channel number NC is 12, from 0 to 11. In other words, this feature spectrum Sp is obtained by arranging a plurality of element values ​​of the output vector of each vector neuron included in one partial region R230 across a plurality of channels along the third axis z.

[0032] The vertical axis of Fig. 6 is the feature value C at each spectral position. V In this example, the feature value C V is the value of each element of the output vector V ND Feature value C V For the feature value C, statistical processing such as centering to the average value 0 may be performed. V The value of each element of the output vector V ND Alternatively, the normalization coefficient may be used as it is. In the latter case, the feature value C included in the feature spectrum Sp may be used as it is. V The number of is equal to the number of channels, which is 12. The normalization coefficient is a value corresponding to the vector length of the output vector of the node.

[0033] The number of feature spectra Sp obtained from the output of the ConvVN1 layer 230 for one piece of input data is equal to the number of planar positions (x, y) of the ConvVN1 layer 230, i.e., the number of subregions R230, and is therefore 36. Similarly, for one piece of input data, 16 feature spectra Sp are obtained from the output of the ConvVN2 layer 240, and one feature spectrum Sp is obtained from the output of the ClassVN layer 250.

[0034] When training data is input again to the trained machine learning model 200, the similarity calculation unit 310 calculates the feature spectrum Sp shown in FIG. 6 and registers it in the memory 120 as a known feature spectrum group KSp.

[0035] Fig. 7 is an explanatory diagram showing the configuration of the known feature spectrum group KSp. In this example, a known feature spectrum group KSp_ConvVN1 obtained from the output of the ConvVN1 layer 230 of the machine learning model 200 is shown. The known feature spectrum group KSp_ConvVN2 obtained from the output of the ConvVN2 layer 240 and the known feature spectrum group KSp_ConvVN1 obtained from the output of the ClassVN layer 250 also have the same configuration, but are omitted from Fig. 7. Note that it is sufficient that the known feature spectrum group KSp is obtained from the output of at least one vector neuron layer and registered.

[0036] Each record of the known feature spectrum group KSp_ConvVN1 includes a parameter i indicating the order of the labels or classes, a parameter j indicating the order of the specific layers, a parameter k indicating the order of the subregions Rn, a parameter q indicating the data number, and a known feature spectrum KSp. The known feature spectrum KSp is the same as the feature spectrum Sp in FIG. 6.

[0037] The parameter i of the class takes the same value as the label, 1 to 2. The parameter j of the specific layer takes the value of 1 to 3 indicating which of the three specific layers 230, 240, 250 it is. The parameter k of the partial region Rn takes a value indicating which of the multiple partial regions Rn included in each specific layer it is, that is, which planar position (x, y) it is. For the ConvVN1 layer 230, the number of partial regions R230 is 36, so k = 1 to 36. The parameter q of the data number indicates the number of the teacher data with the same label, and takes a value of 1 to max1 for class 1 and 1 to max2 for class 2. Note that the known feature spectrum group KSp does not need to be divided by class. In other words, the known feature spectrum group KSp may be configured to include known feature spectra for all classes without distinguishing between multiple classes.

[0038] The multiple pieces of teacher data TD used in step S160 do not need to be the same as the multiple pieces of teacher data used in step S150. However, there is an advantage in that there is no need to prepare new teacher data if some or all of the multiple pieces of teacher data used in step S150 are used in step S160 as well.

[0039] 8 is a flowchart showing the processing procedure of the pass / fail judgment step using the trained machine learning model 200. In step S210, the class discrimination processing unit 112 acquires inspection data by having the camera 400 capture an image of the inspection target product. In step S220, the class discrimination processing unit 112 applies preprocessing to the inspection data. This preprocessing is the same as the preprocessing used in step S120 of FIG. 3. As described in FIG. 4, in the preprocessing in this embodiment, an image of one inspection target product is divided into a plurality of patch images, and each patch image is created as inspection data.

[0040] In step S230, the class discrimination processing unit 112 inputs the test data to the trained machine learning model 200 and calculates the feature spectrum Sp from the output of the machine learning model 200. In step S240, the similarity calculation unit 310 calculates the similarity between the feature spectrum Sp obtained in response to the input of the test data and the registered known feature spectrum group KSp. When the known feature spectrum group KSp is configured by class as shown in FIG. 7, the similarity between the known feature spectrum group KSp and the feature spectrum Sp for each class is calculated in step S240. Hereinafter, this similarity is referred to as "class-specific similarity". On the other hand, when the known feature spectrum group KSp is configured to include known feature spectra for all classes without distinguishing between multiple classes, the similarity between the entire known feature spectrum group KSp and the feature spectrum Sp is calculated in step S240. In this embodiment, a method using class-specific similarity will be mainly described.

[0041] 9 is an explanatory diagram showing how to obtain class-specific similarity Sclass for inspection data. When inspection data is input to the machine learning model 200, the class discrimination processing unit 112 calculates feature spectra Sp_ConvVN1, Sp_ConvVN2, and Sp_ClassVN from the outputs of the ConvVN1 layer 230, the ConvVN2 layer 240, and the ClassVN layer 250 of the machine learning model 200. The similarity calculation unit 310 calculates class-specific similarity Sclass_ConvVN1 using the feature spectrum Sp_ConvVN1 obtained from the output of the ConvVN1 layer 230 and the known feature spectrum group KSp_ConvVN1. A specific method of calculating class-specific similarity will be described later. For the ConvVN2 layer 240 and the ClassVN layer 250, the class-specific similarity Sclass_ConvVN2 and Sclass_ClassVN are calculated in the same manner.

[0042] Although it is not necessary to generate all the class-specific similarities Sclass_ConvVN1, Sclass_ConvVN2, and Sclass_ClassVN using the three vector neuron layers 230, 240, and 250, respectively, it is preferable to calculate the class-specific similarities using one or more of these vector neuron layers. As described above, in this disclosure, the vector neuron layer used to calculate the similarities is called a "specific layer."

[0043] The similarity calculation unit 310 calculates the final class similarity Sclass(i) using at least one of these class similarities Sclass_ConvVN1, Sclass_ConvVN2, and Sclass_ClassVN. For example, one of the three class similarities Sclass_ConvVN1, Sclass_ConvVN2, and Sclass_ClassVN selected in advance may be set as the final class similarity Sclass(i). Alternatively, the result of appropriate statistical processing of the three class similarities Sclass_ConvVN1, Sclass_ConvVN2, and Sclass_ClassVN may be set as the final class similarity Sclass(i). The "result of appropriate statistical processing" is a statistical representative value. As the statistical representative value, for example, any of the maximum value, average value, and minimum value can be used, or a weighted average with weights determined from the range of similarity for each layer can be used. However, it is usually preferable to adopt the minimum value of multiple class similarities obtained from multiple specific layers. This class-specific similarity Sclass(i) is an index indicating the degree to which the test data is similar to the training data for each class i.

[0044] In step S250, the quality determining unit 320 determines whether the similarity calculated in step S240 is equal to or greater than a predetermined threshold. As described above, in this embodiment, the class-based similarity Sclass(i) described in Fig. 9 is used as the similarity. In the determination in step S250, one of the following two determination methods can be adopted. <Judgment method J1> If the class similarity Sclass(i) for all classes is less than a threshold, the inspection data is determined to be defective, and if the class similarity Sclass(i) for at least one class is equal to or greater than a threshold, the inspection data is determined to be non-defective. <Judgment method J2> If the class-specific similarity Sclass(i) corresponding to one of the discrimination classes indicated by the judgment values ​​Class1 and Class2 in the ClassVN layer 250 is equal to or greater than a threshold, the inspection data is judged to be good quality, and if the class-specific similarity Sclass(i) for the discrimination class is less than the threshold, the inspection data is judged to be defective. In discrimination method J1, discrimination is performed for all classes, so discrimination can be performed more reliably. In discrimination method J2, the calculation of class-specific similarity in step S240 needs to be performed for only one discrimination class, so the processing speed can be increased.

[0045] If it is determined in step S250 that the similarity is equal to or greater than the threshold, the process proceeds to step S260, where the inspection data is determined to be a good product. On the other hand, if it is determined that the similarity is less than the threshold, the process proceeds to step S270, where the inspection data is determined to be a defective product. As described in FIG. 4, when an image of one inspection target product is divided into a plurality of patch images, the inspection data is determined to be a good product when the similarity is determined to be equal to or greater than the threshold for all the patch images. When the machine learning model 200 of this embodiment was used to inspect a good product PDa and a defective product PDb as shown in FIG. 4, the quality of each product could be correctly determined.

[0046] As described above, the known feature spectrum group KSp can be configured to include known feature spectra for all classes without distinguishing between multiple classes. In this case, in step S240, the similarity between the entire known feature spectrum group KSp and the feature spectrum Sp is calculated, and in step S250, the similarity is compared with a threshold value. This method also makes it possible to correctly determine whether the inspection data is good or bad. In addition, since the similarity is calculated without taking the class into consideration, the similarity calculation process is simplified.

[0047] As described above, in this embodiment, a plurality of pieces of non-defective product data classified into a plurality of classes is used as training data to train the machine learning model 200, and the pass / fail judgment of the inspection data is performed using the similarity calculated using the trained machine learning model 200 and the known feature spectrum group KSp. Therefore, it is possible to make a pass / fail judgment without preparing defective product data as training data.

[0048] B. Similarity calculation method: As a method for calculating the above-mentioned class-specific similarity, for example, any one of the following three methods can be adopted. (1) A first calculation method M1 for calculating class-specific similarity without considering the correspondence between the feature spectrum Sp and the subregion Rn in the known feature spectrum group KSp (2) A second calculation method M2 for calculating the class-specific similarity between the feature spectrum Sp and the corresponding partial region Rn of the known feature spectrum group KSp (3) A third calculation method M3 for calculating class-specific similarities without considering the subregion Rn at all (4) A fourth calculation method M4 for calculating the similarity using a group of known characteristic spectra KSp including known characteristic spectra for all classes Below, a method for calculating the similarity from the output of the ConvVN1 layer 230 according to these four calculation methods M1, M2, M3, and M4 will be sequentially described. Note that in the following description, the parameter q of the test data is omitted.

[0049] FIG. 10 is an explanatory diagram showing a first calculation method M1 of class-specific similarity. In the first calculation method M1, first, a local similarity S(i,j,k) indicating a similarity to each class i for each partial region k is calculated from the output of the ConvVN1 layer 230, which is a specific layer. Note that in FIG. 10, the number of partial regions k is set to 6 for the sake of simplicity, but in the machine learning model 200 of FIG. 2, k=36. From these local similarities S(i,j,k), one of the three types of class-specific similarities Sclass(i,j) shown on the right side of FIG. 10 is calculated. The class-specific similarity Sclass(i,j) is the same as the class-specific similarity Sclass_ConvVN1 shown in FIG. 9.

[0050] In the first calculation method M1, the local similarity S(i,j,k) is calculated using the following formula: S(i,j,k)=max[G{Sp(j,k), KSp(i,j,k=all,q=all)}] (c1) Where: i is a parameter indicating the class, j is a parameter indicating a specific layer, k is a parameter indicating the subregion Rn, q is a parameter indicating the data number, G{a,b} is a function that calculates the similarity between a and b. Sp(j,k) is the feature spectrum obtained from the output of a specific subregion k of a specific layer j according to the test data. KSp(i,j,k=all,q=all) is the known feature spectrum of all data numbers q in all sub-regions k of specific layer j associated with class i in the known feature spectrum group KSp shown in FIG. 7; max[X] is a logical operation that takes the maximum value of X. As the function G{a,b} for calculating the similarity, for example, an equation for calculating cosine similarity or an equation for calculating similarity according to distance can be used.

[0051] The three types of class-specific similarities Sclass(i,j) shown on the right side of Fig. 10 are obtained by taking the maximum, average, or minimum value of the local similarities S(i,j,k) for multiple partial regions k for each class i.Which of the maximum, average, or minimum value to be used depends on the purpose of the class discrimination process, but it is generally considered preferable to use the minimum value.However, which of these three types of calculations to use is preset by the user experimentally or empirically.

[0052] As described above, in the first calculation method M1 of class-specific similarity, (1) Calculating a local similarity S(i,j,k) between a feature spectrum S obtained from an output of a specific subregion k of a specific layer j and all known feature spectra K S associated with the specific layer j and each class i according to the test data; (2) For each class i, a class-specific similarity Sclass(i,j) is calculated by taking the maximum, average, or minimum of the local similarities S(i,j,k) for multiple subregions k. According to the first calculation method M1, the class-specific similarity Sclass(i,j) can be found through relatively simple calculations and procedures.

[0053] 11 is an explanatory diagram showing a second calculation method M2 of the class similarity. In the second calculation method M2, the local similarity S(i,j,k) is calculated using the following formula instead of the above formula (c1). S(i,j,k)=max[G{Sp(j,k), KSp(i,j,k,q=all)}] (c2) Where: KSp(i,j,k,q=all) is the known feature spectrum of all data numbers q in a specific partial region k of a specific layer j associated with class i, among the known feature spectrum group KSp shown in FIG.

[0054] While the above-mentioned first calculation method M1 uses known feature spectra KSp(i,j,k=all,q=all) in all partial regions k of a specific layer j, the second calculation method M2 uses only known feature spectra KSp(i,j,k,q=all) for the same partial region k as the feature spectrum Sp(j,k). The other methods in the second calculation method M2 are the same as those in the first calculation method M1.

[0055] In the second calculation method M2 of the class similarity, (1) According to the test data, a local similarity S(i,j,k) is calculated between a feature spectrum S obtained from an output of a specific subregion k of a specific layer j and all known feature spectra K S associated with the specific subregion k of the specific layer j and each class i; (2) For each class i, a class-specific similarity Sclass(i,j) is calculated by taking the maximum, average, or minimum of the local similarities S(i,j,k) for multiple subregions k. This second calculation method M2 also makes it possible to find the class-specific similarity Sclass(i,j) through relatively simple calculations and procedures.

[0056] 12 is an explanatory diagram showing a third calculation method M3 of class similarity. In the third calculation method M3, class similarity Sclass(i,j) is calculated from the output of the ConvVN1 layer 230, which is a specific layer, without calculating local similarity S(i,j,k).

[0057] The class-specific similarity Sclass(i,j) obtained by the third calculation method M3 is calculated using the following formula. Sclass(i,j)=max[G{Sp(j,k=all), KSp(i,j,k=all,q=all)}] (c3) Where: Sp(j, k=all) is a feature spectrum obtained from the outputs of all subregions k of a specific layer j according to the test data.

[0058] As described above, in the third calculation method M3 of the class similarity, (1) A class-specific similarity Sclass(i,j), which is the similarity between all feature spectra Sp obtained from the output of a specific layer j according to the test data and all known feature spectra KSp associated with that specific layer j and each class i, is calculated for each class. According to the third calculation method M3, the class-specific similarity Sclass(i,j) can be found with even simpler calculations and procedures.

[0059] The above-mentioned three calculation methods M1 to M3 are all methods for calculating class-specific similarities for each specific layer i. As described above, in this embodiment, the class-specific similarities can be calculated using one or more of the vector neuron layers 230, 240, and 250 shown in Fig. 2 as specific layers. When using multiple specific layers, it is preferable to use, for example, the minimum value of multiple class-specific similarities obtained from multiple specific layers as the final similarity.

[0060] In the fourth calculation method M4, a group of known feature spectra KSp including known feature spectra for all classes is used to calculate the similarity with the feature spectrum Sp. The similarity S_all(j) obtained in the fourth calculation method M4 is calculated using the following formula similar to the above formula (c3). S_all(j)=max[G{Sp(j,k=all), KSp(i=all,j,k=all,q=all)}] (c4) Where: Sp(j,k=all) is the feature spectrum obtained from the outputs of all subregions k of a specific layer j according to the test data, KSp(i=all, j, k=all, q=all) is the known feature spectrum of all data numbers q in all partial regions k of a specific layer j for all classes i in the known feature spectrum group KSp shown in FIG. Also in this fourth calculation method M4, when a plurality of specific layers are used, it is preferable to use the minimum value of the plurality of similarities obtained from the plurality of specific layers as the final similarity.

[0061] C. How to calculate the output vector for each layer of the machine learning model: The method of calculating the output of each layer in the machine learning model 200 shown in FIG. 2 is as follows.

[0062] Each node of the PrimeVN layer 220 regards the scalar output of the 1×1×32 nodes of the Conv layer 210 as a 32-dimensional vector, and obtains the vector output of the node by multiplying this vector by a transformation matrix. This transformation matrix is ​​an element of a kernel with a surface size of 1×1, and is updated by learning of the machine learning model 200. It is also possible to integrate the processing of the Conv layer 210 and the PrimeVN layer 220 and configure them as one primary vector neuron layer.

[0063] When the PrimeVN layer 220 is referred to as the "lower layer L" and the ConvVN1 layer 230 adjacent to it on the upper side is referred to as the "upper layer L+1", the output of each node in the upper layer L+1 is determined using the following formula.

number

[0064] As the normalization function F(X), for example, the following formula (E3a) or (E3b) can be used.

number

[0065] In the above formula (E3a), the sum vector u j Norm of |u j The activation value a is normalized by the softmax function j On the other hand, in equation (E3b), the sum vector u j Norm of |u j | is the norm |u j Activation value a by dividing by the sum of | j It should be noted that the normalization function F(X) may be a function other than equation (E3a) or (E3b).

[0066] The ordinal number i in the above equation (E2) is the output vector M L+1 j The integer n is a number that is assigned for convenience to the nodes in the lower layer L used to determine the output vector M L+1 jis the number of nodes in the lower layer L used to determine . Thus, the integer n is given by n = Nk × Nc (E5) Here, Nk is the surface size of the kernel, and Nc is the number of channels in the lower layer, the PrimeVN layer 220. In the example of FIG.

[0067] A kernel used to calculate the output vector of the ConvVN1 layer 230 has 3×3×16=144 elements, with the kernel size 3×3 as the surface size and the number of channels in the lower layer being 16 as the depth. Each of these elements is a prediction matrix W L ij In addition, 12 sets of this kernel are required to generate output vectors for the 12 channels of the ConvVN1 layer 230. Therefore, the prediction matrix W L ij The number of prediction matrices W is 144 × 12 = 1728. L ij is updated by learning of the machine learning model 200.

[0068] As can be seen from the above equations (E1) to (E4), the output vector M L+1 j is calculated by the following calculation: (a) The output vector M of each node in the lower layer L L i The prediction matrix W L ij Multiplying by the predicted vector v ij Seeking (b) Prediction vector v obtained from each node in the lower layer L ij The sum vector u is the sum, i.e., linear combination, of j Seeking (c) Sum vector u j Norm of |u j The activation value a, which is a normalization factor by normalizing | j Seeking (d) Sum vector u j The norm |u j Divide by | and then the activation value a j Multiply by.

[0069] In addition, the activation value a j is the norm |u j is the normalization factor obtained by normalizing |. Therefore, the activation value a j can be considered as an index showing the relative output strength of each node among all nodes in the upper layer L+1. The norm used in (E3), (E3a), (E3b), and (4) is typically the L2 norm, which represents the vector length. In this case, the activation value a j is the output vector M L+1 j The activation value a corresponds to the vector length of j is only used in the above equations (E3) and (E4), and does not need to be output from the node. However, the activation value a j It is also possible to configure the upper layer L+1 to output to the outside.

[0070] The configuration of a vector neural network is almost the same as that of a capsule network, and the vector neurons of a vector neural network correspond to the capsules of a capsule network. However, the calculations according to the above formulas (E1) to (E4) used in a vector neural network are different from those used in a capsule network. The biggest difference between the two is that in a capsule network, the predicted vector v ij Each of the vector neural networks in this embodiment is multiplied by a weight, and the weight is searched for by repeating dynamic routing multiple times. On the other hand, in the vector neural network of this embodiment, the output vector M L+1 jSince the above is obtained, there is no need to repeat dynamic routing, and the calculation speed is faster. In addition, the vector neural network of this embodiment has the advantage that the amount of memory required for calculation is smaller than that of a capsule network, and according to an experiment by the inventor of the present disclosure, the amount of memory required is about 1 / 2 to 1 / 3.

[0071] A vector neural network is the same as a capsule network in that it uses nodes that use vectors as input and output. Therefore, the advantage of using vector neurons is also common to capsule networks. In addition, the multiple layers 210-250 are the same as normal convolutional neural networks in that the higher the layer, the larger the area of ​​the feature represented, and the lower the layer, the smaller the area of ​​the feature represented. Here, "feature" means a characteristic part included in the input data to the neural network. In vector neural networks and capsule networks, the output vector of a certain node contains spatial information that represents the spatial information of the feature represented by the node, making them superior to normal convolutional neural networks. That is, the vector length of the output vector of a certain node represents the probability of the existence of the feature represented by the node, and the vector direction represents spatial information such as the direction and scale of the feature. Therefore, the vector direction of the output vectors of two nodes belonging to the same layer represents the positional relationship of each feature. Alternatively, it can be said that the vector direction of the output vectors of the two nodes represents the variation of the feature. For example, if a node corresponds to the feature of "eyes", the direction of the output vector can represent variations such as the thinness of the eyes and the way they are lifted. In a conventional convolutional neural network, it is said that spatial information of features is lost due to pooling processing. As a result, vector neural networks and capsule networks have the advantage of being superior in the performance of identifying input data compared to conventional convolutional neural networks.

[0072] The advantages of vector neural networks can also be considered as follows. That is, the advantage of vector neural networks is that the output vectors of nodes express the features of the input data as coordinates in a continuous space. Therefore, output vectors can be evaluated such that if the vector directions are close, the features are similar. Another advantage is that even if the features contained in the input data are not covered by the training data, the features can be determined by interpolation. On the other hand, normal convolutional neural networks have the disadvantage that the features of the input data cannot be expressed as coordinates in a continuous space because of the chaotic compression caused by the pooling process.

[0073] The output of each node in the ConvVN2 layer 240 and the ClassVN layer 250 is determined similarly using the above-mentioned formulas (E1) to (E4), and therefore detailed description is omitted. The resolution of the top layer, the ClassVN layer 250, is 1×1, and the number of channels is Nm.

[0074] The output of the ClassVN layer 250 is converted into a plurality of decision values ​​Class0 to Class2 for known classes. These decision values ​​are usually normalized by a softmax function. Specifically, for example, a decision value for each class can be obtained by performing an operation in which the vector length of the output vector of each node of the ClassVN layer 250 is calculated from the output vector of that output vector, and the vector length of each node is further normalized by a softmax function. As described above, the activation value a obtained by the above formula (E3) is j is the output vector M L+1 j The activation value a at each node in the ClassVN layer 250 is a value corresponding to the vector length of j may be output and used as the judgment value for each class.

[0075] In the above-described embodiment, a vector neural network that determines an output vector by calculating the above equations (E1) to (E4) was used as the machine learning model 200. However, instead of this, a capsule network disclosed in U.S. Pat. No. 5,210,798 or WO 2009 / 083553 may be used.

[0076] Other embodiments: The present disclosure is not limited to the above-mentioned embodiment, and can be realized in various forms without departing from the spirit of the present disclosure. For example, the present disclosure can be realized in the following aspects. The technical features in the above-mentioned embodiments corresponding to the technical features in each aspect described below can be appropriately replaced or combined in order to solve some or all of the problems of the present disclosure, or to achieve some or all of the effects of the present disclosure. Furthermore, if the technical feature is not described as essential in this specification, it can be appropriately deleted.

[0077] (1) According to a first embodiment of the present disclosure, there is provided a method for determining the quality of inspection data using a vector neural network type machine learning model having multiple vector neuron layers. This method includes the steps of: (a) creating multiple pieces of teacher data by classifying multiple pieces of non-defective product data into multiple classes and assigning multiple labels for distinguishing the multiple classes to each piece of non-defective product data; (b) executing learning of the machine learning model using the multiple teacher data; (c) preparing a group of known feature spectra obtained from the output of at least one specific layer of the multiple vector neuron layers when the multiple teacher data are input to the trained machine learning model; and (d) executing a quality determination process for the inspection data using the trained machine learning model and the group of known feature spectra. The step (d) includes the steps of (d1) calculating a feature spectrum from the output of the specific layer in response to input of the inspection data to the machine learning model, (d2) calculating a similarity between the feature spectrum and the group of known feature spectra, and (d3) determining that the inspection data is good if the similarity is equal to or greater than a preset threshold, and determining that the inspection data is defective if the similarity is less than the threshold. According to this method, a machine learning model is trained using multiple pieces of good product data classified into multiple classes as training data, and the pass / fail judgment of the inspection data is made using the similarity calculated using the trained machine learning model and a group of known feature spectra. Therefore, it is possible to make a pass / fail judgment without preparing defective product data as training data.

[0078] (2) In the above method, the step (c) may include a step of preparing the group of known feature spectra for each of the plurality of classes, and the similarity calculated in the step (d2) may be a class-specific similarity between the feature spectrum and the group of known feature spectra for each of the plurality of classes, and in the step (d3), the inspection data may be determined to be defective if the similarity for all of the plurality of classes is less than a preset threshold, and the inspection data may be determined to be non-defective if the similarity for at least one class is equal to or greater than the threshold. According to this method, pass / fail judgment can be performed using the similarity for each class.

[0079] (3) In the above method, the step (c) may include a step of preparing the group of known feature spectra for each of the plurality of classes, and the similarity calculated in the step (d2) may be a similarity between the feature spectrum and the group of known feature spectra related to a discrimination class indicated by an output of the machine learning model for the inspection data. According to this method, the pass / fail judgment can be made using the similarity related only to the discrimination class.

[0080] (4) In the above method, the group of known feature spectra may include known feature spectra for all of the classes without distinguishing between the classes. According to this method, the similarity can be calculated by a simple calculation.

[0081] (5) In the above method, the specific layer may have a configuration in which vector neurons arranged on a plane defined by two axes, a first axis and a second axis, are arranged as a plurality of channels along a third axis in a direction different from the two axes, and when a region in the specific layer that is identified at a planar position defined by the position of the first axis and the position of the second axis and includes the plurality of channels along the third axis is called a partial region, the feature spectrum may be obtained for each partial region among the plurality of partial regions included in the specific layer as any one of: (i) a first type of feature spectrum in which a plurality of element values ​​of an output vector of each vector neuron included in the partial region are arranged across the plurality of channels along the third axis; (ii) a second type of feature spectrum obtained by multiplying each element value of the first type of feature spectrum by a normalization coefficient corresponding to the vector length of the output vector; or (iii) a third type of feature spectrum in which the normalization coefficient is arranged across the plurality of channels along the third axis. According to this method, the similarity can be calculated using any one of three types of feature spectra obtained from the output vector of a specific layer.

[0082] (6) In the above method, the step (d2) may include a step of calculating a plurality of local similarities indicating a similarity for each class for the plurality of partial regions of the specific layer by calculating a local similarity, which is a similarity between the feature spectrum obtained from an output of a specific partial region of the specific layer and all of the known feature spectra associated with the specific layer and each class, according to the inspection data; and a step of calculating a class-specific similarity, which is the similarity for each class, by taking a maximum, average, or minimum value of the plurality of local similarities for the plurality of partial regions for each class. According to this method, the class-specific similarity can be calculated by a relatively simple calculation.

[0083] (7) In the above method, the step (d2) may include a step of calculating a plurality of local similarities indicating a similarity for each class for the plurality of partial regions of the specific layer by calculating a local similarity, which is a similarity between the feature spectrum obtained from an output of a specific partial region of the specific layer and all of the known feature spectra associated with the specific partial region of the specific layer and each class, according to the inspection data; and a step of calculating a class-specific similarity, which is the similarity for each class, by taking a maximum, average, or minimum value of the plurality of local similarities for the plurality of partial regions for each class. According to this method, the class-specific similarity can be calculated by a relatively simple calculation.

[0084] (8) In the above method, the step (d2) may include a step of calculating a class-specific similarity, which is the similarity for each class, by calculating, for each class, a similarity between all of the feature spectra obtained from an output of the specific layer and all of the known feature spectra associated with the specific layer and each class, according to the inspection data. According to this method, the class-specific similarity can be calculated by a simpler calculation.

[0085] (9) According to a second embodiment of the present disclosure, there is provided an information processing device that executes a pass / fail judgment process for judging the pass / fail of inspection data using a vector neural network type machine learning model having a plurality of vector neuron layers. The information processing device includes a memory that stores the machine learning model, and a processor that executes a calculation using the machine learning model. The processor executes the following processes: (a) creating a plurality of teacher data by classifying a plurality of non-defective product data into a plurality of classes and assigning a plurality of labels that distinguish the plurality of classes to each non-defective product data; (b) executing learning of the machine learning model using the plurality of teacher data; (c) preparing a group of known feature spectra obtained from the output of at least one specific layer of the plurality of vector neuron layers when the plurality of teacher data are input to the learned machine learning model; and (d) executing a pass / fail judgment process of the inspection data using the learned machine learning model and the group of known feature spectra. The process (d) includes: (d1) a process of calculating a feature spectrum from the output of the specific layer in response to input of the inspection data to the machine learning model; (d2) a process of calculating a similarity between the feature spectrum and the group of known feature spectra; and (d3) a process of determining that the inspection data is a good product if the similarity is equal to or greater than a preset threshold, and determining that the inspection data is a defective product if the similarity is less than the threshold. According to this information processing device, a machine learning model is trained using multiple pieces of good product data classified into multiple classes as training data, and the pass / fail judgment of the inspection data is made using the similarity calculated using the trained machine learning model and a group of known feature spectra, so that a pass / fail judgment can be made without preparing defective product data as training data.

[0086] (10) According to a third aspect of the present disclosure, there is provided a computer program for causing a processor to execute a pass / fail judgment process for judging the pass / fail of inspection data by using a vector neural network type machine learning model having a plurality of vector neuron layers. This computer program causes the processor to execute the following processes: (a) creating a plurality of teacher data by classifying a plurality of non-defective product data into a plurality of classes and assigning a plurality of labels for distinguishing the plurality of classes to each of the non-defective product data; (b) executing learning of the machine learning model by using the plurality of teacher data; (c) preparing a group of known feature spectra obtained from the output of at least one specific layer of the plurality of vector neuron layers when the plurality of teacher data are input to the learned machine learning model; and (d) executing a pass / fail judgment process of the inspection data by using the learned machine learning model and the group of known feature spectra. The process (d) includes: (d1) a process of calculating a feature spectrum from the output of the specific layer in response to input of the inspection data to the machine learning model; (d2) a process of calculating a similarity between the feature spectrum and the group of known feature spectra; and (d3) a process of determining that the inspection data is a good product if the similarity is equal to or greater than a preset threshold, and determining that the inspection data is a defective product if the similarity is less than the threshold. According to this computer program, a machine learning model is trained using multiple pieces of good product data classified into multiple classes as training data, and the pass / fail judgment of the inspection data is made using the similarity calculated using the trained machine learning model and a group of known feature spectra, so that a pass / fail judgment can be made without preparing defective product data as training data.

[0087] The present disclosure may be realized in various forms other than those described above, for example, in the form of a computer program for implementing the functions of a classifier, a non-transitory storage medium on which the computer program is recorded, etc. [Explanation of symbols]

[0088] 100...information processing device, 110...processor, 112...classification processing unit, 120...memory, 130...interface circuit, 140...input device, 150...display unit, 200...machine learning model, 210...convolution layer, 220...primary vector neuron layer, 230...first convolution vector neuron layer, 240...second convolution vector neuron layer, 250...classification vector neuron layer, 310...similarity calculation unit, 320...good / bad judgment unit, 400...camera

Claims

1. A method for determining pass / fail of inspection data using a vector neural network type machine learning model having a plurality of vector neuron layers, comprising: (a) creating a plurality of training data by classifying a plurality of non-defective data into a plurality of classes and assigning a plurality of labels to each non-defective data for distinguishing the plurality of classes; (b) executing learning of the machine learning model using the plurality of training data; (c) preparing a group of known feature spectra obtained from an output of at least one specific layer among the plurality of vector neuron layers when the plurality of teacher data are input to the trained machine learning model; (d) executing a pass / fail determination process for the inspection data by using the trained machine learning model and the group of known feature spectra; Including, The step (d) (d1) calculating a feature spectrum from an output of the specific layer in response to input of the inspection data to the machine learning model; (d2) calculating a similarity between the feature spectrum and the group of known feature spectra; (d3) determining that the inspection data is a non-defective product when the similarity is equal to or greater than a preset threshold, and determining that the inspection data is a defective product when the similarity is less than the threshold; A method comprising:

2. 2. The method of claim 1 , The step (c) includes a step of preparing the group of known characteristic spectra for each of the plurality of classes; the similarity calculated in step (d2) is a class-specific similarity between the feature spectrum and the group of known feature spectra for each of the plurality of classes, In the step (d3), when the similarity for all of the plurality of classes is less than a preset threshold, the inspection data is determined to be defective, and when the similarity for at least one class is equal to or greater than the threshold, the inspection data is determined to be non-defective. method.

3. 2. The method of claim 1 , The step (c) includes a step of preparing the group of known characteristic spectra for each of the plurality of classes; The method, wherein the similarity calculated in step (d2) is a similarity between the feature spectrum and the group of known feature spectra related to a discrimination class indicated by an output of the machine learning model for the inspection data.

4. 2. The method of claim 1 , The method according to claim 1, wherein the group of known feature spectra includes known feature spectra for all of the classes without distinguishing between the classes.

5. The method according to any one of claims 1 to 4, The specific layer has a configuration in which vector neurons arranged on a plane defined by two axes, a first axis and a second axis, are arranged as a plurality of channels along a third axis in a direction different from the two axes, When a region in the specific layer is identified at a planar position defined by the position of the first axis and the position of the second axis and includes the plurality of channels along the third axis, the region is called a partial region, The characteristic spectrum is, for each of the plurality of partial regions included in the specific layer, (i) a first type of feature spectrum in which a plurality of element values ​​of an output vector of each vector neuron included in the partial region are arranged across the plurality of channels along the third axis; (ii) a second type feature spectrum obtained by multiplying each element value of the first type feature spectrum by a normalization coefficient corresponding to the vector length of the output vector; and (iii) a third type of feature spectrum in which the normalization coefficients are arranged across the plurality of channels along the third axis; and The method is as follows:

6. A method according to claim 5 depending on either claim 2 or claim 3, comprising: The step (d2) determining a plurality of local similarities indicating similarities to each class for the plurality of partial regions of the specific layer by determining local similarities between the feature spectrum obtained from an output of the specific partial region of the specific layer and all of the known feature spectra associated with the specific layer and each class according to the inspection data; calculating a class-specific similarity, which is the similarity for each class, by taking a maximum value, an average value, or a minimum value of the plurality of local similarities for the plurality of partial regions for each class; A method comprising:

7. A method according to claim 5 depending on either claim 2 or claim 3, comprising: The step (d2) determining a plurality of local similarities indicating similarities to each class for the plurality of partial regions of the specific layer by determining local similarities between the feature spectrum obtained from an output of the specific partial region of the specific layer and all of the known feature spectra associated with the specific partial region of the specific layer and each class according to the inspection data; calculating a class-specific similarity, which is the similarity for each class, by taking a maximum value, an average value, or a minimum value of the plurality of local similarities for the plurality of partial regions for each class; A method comprising:

8. A method according to claim 5 depending on either claim 2 or claim 3, comprising: The step (d2) determining, for each class, a similarity between all of the feature spectra obtained from the output of the specific layer and all of the known feature spectra associated with the specific layer and each class, in accordance with the inspection data, thereby determining a class-specific similarity, which is the similarity for each class.

9. An information processing device that executes a pass / fail judgment process for judging the pass / fail of inspection data by using a vector neural network type machine learning model having a plurality of vector neuron layers, A memory that stores the machine learning model; A processor that executes a calculation using the machine learning model; Equipped with The processor, (a) creating a plurality of training data by classifying a plurality of non-defective data into a plurality of classes and assigning a plurality of labels to each non-defective data for distinguishing the plurality of classes; (b) a process of executing learning of the machine learning model using the plurality of training data; (c) preparing a group of known feature spectra obtained from an output of at least one specific layer among the plurality of vector neuron layers when the plurality of teacher data are input to the trained machine learning model; (d) executing a pass / fail determination process for the inspection data using the trained machine learning model and the group of known feature spectra; and Run The process (d) is (d1) calculating a feature spectrum from an output of the specific layer in response to input of the inspection data to the machine learning model; (d2) calculating a similarity between the feature spectrum and the group of known feature spectra; (d3) determining that the inspection data is a non-defective product when the similarity is equal to or greater than a preset threshold, and determining that the inspection data is a defective product when the similarity is less than the threshold; An information processing device comprising:

10. A computer program that causes a processor to execute a pass / fail judgment process for judging the pass / fail of inspection data by using a vector neural network type machine learning model having a plurality of vector neuron layers, (a) creating a plurality of training data by classifying a plurality of non-defective data into a plurality of classes and assigning a plurality of labels to each non-defective data for distinguishing the plurality of classes; (b) a process of executing learning of the machine learning model using the plurality of training data; (c) preparing a group of known feature spectra obtained from an output of at least one specific layer among the plurality of vector neuron layers when the plurality of teacher data are input to the trained machine learning model; (d) executing a pass / fail determination process for the inspection data using the trained machine learning model and the group of known feature spectra; and A computer program for causing the processor to execute the The process (d) is (d1) calculating a feature spectrum from an output of the specific layer in response to input of the inspection data to the machine learning model; (d2) calculating a similarity between the feature spectrum and the group of known feature spectra; (d3) determining that the inspection data is a non-defective product when the similarity is equal to or greater than a preset threshold, and determining that the inspection data is a defective product when the similarity is less than the threshold; A computer program comprising:

Citation Information

Patent Citations

  • Inspection system and method of controlling same, and computer program

    JP2010140444A

  • Inspection device, inspection method and program

    JP2017211259A

  • Abnormality determination method and device

    JP2019095932A

  • Image identification device, image identification method, and image identification program

    JP2020035097A

  • Actuator and actuator system

    JP2021044994A