WO2024024263A1 - 検査装置及び方法 - Google Patents

検査装置及び方法 Download PDF

Info

Publication number
WO2024024263A1
WO2024024263A1 PCT/JP2023/020364 JP2023020364W WO2024024263A1 WO 2024024263 A1 WO2024024263 A1 WO 2024024263A1 JP 2023020364 W JP2023020364 W JP 2023020364W WO 2024024263 A1 WO2024024263 A1 WO 2024024263A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
model
value
abnormality
learning
Prior art date
Application number
PCT/JP2023/020364
Other languages
English (en)
French (fr)
Inventor
裕紀 若菜
敦 根尾
正裕 山崎
正禎 尾島
Original Assignee
株式会社日立産機システム
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立産機システム filed Critical 株式会社日立産機システム
Publication of WO2024024263A1 publication Critical patent/WO2024024263A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Definitions

  • the present invention generally relates to testing objects to be tested, such as products.
  • a method is known in which a product is inspected using a machine learning model that inputs data to be inspected (for example, photographed image data) and outputs product inspection results (for example, Patent Document 1).
  • Patent Document 1 there is an encoder model and a decoder model, and all data input to the encoder model is subject to decoding processing using the decoder model. Therefore, the processing load is large.
  • An encoder model and a decoder model are used to inspect the inspection target.
  • the encoder model is a model that inputs the data to be inspected and outputs the degree of abnormality of the inspected object.
  • the decoder model takes as input an OK/NG value, which is a value representing whether the inspection target is normal or abnormal, and a feature amount of the data to be inspected, and when the input OK/NG value indicates an abnormality, the input This is a model that outputs restored data of the inspection target based on the extracted feature values.
  • FIG. 1 shows a configuration example of an entire system including an inspection device according to a first embodiment. An overview of the flow of inference processing is shown. An example of the distribution of the degree of abnormality between normal products and abnormal products is shown. The processing flow of the determination unit is shown. An example of the configuration of an entire system including an inspection device according to a second embodiment is shown.
  • an "interface device” may be one or more interface devices.
  • the one or more interface devices may be at least one of the following: - An I/O interface device that is one or more I/O (Input/Output) interface devices.
  • the I/O interface device is an interface device for at least one of an I/O device and a remote display computer.
  • the I/O interface device for the display computer may be a communication interface device.
  • the at least one I/O device may be a user interface device, eg, an input device such as a keyboard and pointing device, or an output device such as a display device.
  • - Communication interface equipment which is one or more communication interface devices.
  • the one or more communication interface devices may be one or more of the same type of communication interface device (for example, one or more NICs (Network Interface Cards)) or two or more different types of communication interface devices (for example, one or more NICs (Network Interface Cards)). It may also be an HBA (Host Bus Adapter).
  • HBA Hypervisor Adapter
  • memory refers to one or more memory devices, typically a main storage device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.
  • persistent storage refers to one or more persistent storage devices.
  • the persistent storage device is typically a non-volatile storage device (for example, an auxiliary storage device), and specifically, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • a “storage device” may be at least a memory and a persistent storage device.
  • a "processor” refers to one or more processor modules.
  • the at least one processor module is typically a microprocessor device such as a CPU (Central Processing Unit), but may be another type of processor device such as a GPU (Graphics Processing Unit).
  • At least one processor device may be single-core or multi-core.
  • the at least one processor module may be a processor core.
  • processing may be explained using a program as the subject, but a program is executed by a processor and performs a prescribed process using a storage device and/or an interface device as appropriate.
  • the subject of the processing may be a processor (or a device such as a controller having the processor).
  • a program may be installed on a device, such as a computer, from a program source.
  • the program source may be, for example, a program distribution server or a computer-readable (eg, non-transitory) recording medium.
  • two or more programs may be realized as one program, or one program may be realized as two or more programs.
  • processing may be explained using functions as subject matter, but functions may be realized by one or more computer programs being executed by a processor.
  • a function When a function is realized by a program being executed by a processor, the specified processing is performed using a storage device and/or an interface device as appropriate, so the function may be implemented as at least a part of the processor. good.
  • a process described using a function as a subject may be a process performed by a processor or a device having the processor.
  • the description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
  • inspected objects can be "inspected objects," in the following embodiments, it is assumed that the inspected object is a product as an example of an object.
  • data to be inspected is typically multidimensional data, and specifically, for example, image data or sound data.
  • the "data to be inspected” is image data of the product, particularly image data of the appearance of the product, and therefore the inspection apparatus according to the embodiments below is an appearance inspection apparatus. do.
  • FIG. 1 shows an example of the configuration of the entire system including the inspection device according to the first embodiment.
  • the inspection device 110 includes an interface device 131, a storage device 132, and a processor 133 connected thereto.
  • the inspection device 110 may be a core device (for example, a server device) that can communicate with a plurality of edge devices (for example, clients) (for example, it may be a cloud computing system based on a cloud infrastructure), but in this embodiment, the inspection device 110 is an edge device (for example, an information processing terminal such as a personal computer). Since the load of learning processing is low, even if the inspection device 110 is an edge device, in addition to inference processing including product inspection, learning processing of a machine learning model can also be performed by the edge device.
  • the interface device 131 receives product image data from the data source 101.
  • Image data is stored in storage device 132 by processor 133 .
  • the data source 101 may be a camera in this embodiment, but may also be a microphone, or an information processing terminal connected to a sensing device such as a camera or a microphone.
  • the inspection device 110 includes a display device 102 and an input device 103 (for example, a keyboard and a pointing device), and these devices 102 and 103 are connected to an interface device 131.
  • a display device 102 and an input device 103 for example, a keyboard and a pointing device
  • the storage device 132 stores an encoder model 141 and a decoder model 142.
  • Encoder model 141 and decoder model 142 are both machine learning models.
  • the encoder model 141 and the decoder model 142 are both deep learning models, for example, and specifically, are neural networks (especially DNN (Deep Neural Network)).
  • management data 143 is stored in the storage device 132.
  • the management data 143 may include various data related to learning and inference, such as at least some of the following: - Data representing one or more types of learning parameters to be used and learning termination conditions for each of the encoder model 141 and decoder model 142.
  • ⁇ Data representing the threshold value.
  • the threshold value is a value that is compared with the degree of abnormality of the product in order to determine whether the OK/NG value, which will be described later, represents a normal product (OK) or an abnormal product (NG).
  • the image data input to the encoder model 141 For each product that is inspected in the inference process (for example, for each product that is determined to be an abnormal product), the image data input to the encoder model 141, the feature amount output from the middle layer of the encoder model 141, and the encoder The degree of abnormality output from the model 141, the image data restored by the decoder 203, and the difference image data generated by the difference calculation unit 204.
  • the storage device 132 stores one or more computer programs. When these computer programs are executed by the processor 133, functions such as the learning section 151, the inference section 152, the encoder 201, the determination section 202, the decoder 203, the difference calculation section 204, and the visual confirmation section 205 are realized.
  • the learning unit 151 performs learning processing including learning the encoder model 141 and decoder model 142.
  • the inference unit 152 performs inference processing using the learned encoder model 141 and decoder model 142.
  • the encoder 201 performs encoding processing using the encoder model 141.
  • a determining unit 202 determines whether the product is a normal product or an abnormal product based on the degree of abnormality of the product.
  • the decoder 203 uses the decoder model 142 to perform decoding processing.
  • a difference calculation unit 204 generates image data representing a difference between input image data and restored image data.
  • a visual confirmation unit 205 causes the user to visually confirm the image represented by the data
  • the encoder model 141 is a model that inputs image data of a product (an example of data to be inspected) and outputs the degree of abnormality of the product.
  • the decoder model 142 inputs an OK/NG value, which is a value indicating whether the product is normal or abnormal, and a feature amount of image data of the product. This is a model that outputs restored data of the product based on the extracted feature values. In this way, the encoder model 141 and the decoder model 142 can be trained independently and differently, and since not all image data input to the encoder model 141 is restored, the The processing load related to the machine learning model used for testing can be reduced.
  • the learning parameters include a learning rate, a learning rate attenuation for each update, a batch size, the number of epochs, a batch size, etc., and at least one of them is used during learning.
  • the learning parameters of the encoder model 141 and the learning parameters of the decoder model 142 may be different.
  • a “learning parameter” may be a set of a parameter item and a parameter value. Therefore, “the learning parameters are different” may mean that the parameter items are different, the parameter items may be the same but the parameter values are different, or they may be mixed.
  • FIG. 2 shows an overview of the flow of inference processing.
  • the encoder model 141 includes an input layer 211, two sequential intermediate layers 213A and 213B, and an output layer 215. The number of intermediate layers 213 may be greater or less than two. Decoder model 142 also includes an input layer, one or more hidden layers, and an output layer (not shown). In addition, in the inference process, image data input to the encoder model 141 and features output from the intermediate layer 213 (in this embodiment, the intermediate layer 213B) of the encoder model 141 are used for each product to be inspected in the inference process. The amount and the degree of abnormality output from the encoder model 141 may be included in the management data 143.
  • the inference unit 152 inputs product image data 210.
  • the encoder 201 performs encoding processing using the encoder model 141. Encoding processing involves inputting image data 210 to the input layer 211, calculating feature amounts of the image data 210 in intermediate layers 213A and 213B, and outputting based on the feature amounts output from the final intermediate layer 213B. This includes outputting the degree of abnormality of the product from the layer 215.
  • the determination unit 202 determines whether the degree of abnormality output from the encoder 201 is greater than or equal to the threshold represented by the management data 143.
  • the determination unit 202 outputs a value representing this determination result as an OK/NG value. If the degree of abnormality is greater than or equal to the threshold, the OK/NG value is "1" (representing NG), and if the degree of abnormality is less than the threshold, the OK/NG value is "0" (representing OK). ).
  • the decoder 203 uses the decoder model 142 to perform decoding processing.
  • the decoding process includes inputting an OK/NG value to the decoder model 142, inputting the feature amount output from the final intermediate layer 213B to the decoder model 142, and inputting the input OK/NG value indicating NG. If so, it includes restoring the image data of the product based on the input feature amount and outputting the restored image data. If the OK/NG value input to the decoder model 142 indicates OK, the decoder 203 does not restore the image data based on the input feature amount.
  • the difference calculation unit 204 generates difference image data (an example of difference data representing a difference), which is image data representing the difference between the input image data 210 and the restored image data (image data output from the decoder 203). do.
  • the image data is data of a photographed image of the external appearance of the product
  • the difference image data is image data in which abnormalities such as scratches on the product are emphasized.
  • the decoder model 142 since the decoder model 142 is trained to restore the image data of a normal product from the feature values of the image data of the abnormal product, in the inference process, the decoder model 142 uses the feature values of the image data of the abnormal product
  • the image data restored based on is image data similar to the image data of the normal product.
  • the visual confirmation unit 205 displays the inspection result based on the difference image represented by the generated difference image data on the display device 102, and receives a response to the inspection result from the user.
  • the visual confirmation unit 205 displays a UI (User Interface) on the display device 102 that displays the inspection results and the acceptance of a response as to whether the product is normal or not, and via the UI, the user interface displays whether the product is normal or not. Accept answers.
  • the displayed test results may include a difference image, and may also include an input image (an image represented by input image data). The user visually checks the displayed test results and inputs an answer on whether the product is normal into the UI.
  • the visual confirmation unit 205 identifies the degree of abnormality corresponding to the product from, for example, the management data 143 in the learning process after the inference process.
  • the determining unit 202 inputs the identified degree of abnormality (the degree of abnormality of a normal product) to the determining unit 202 as a feedback value.
  • the encoder model 141 is a neural network including a plurality of sequential intermediate layers 213.
  • the learning unit 151 performs learning processing, and in the learning processing, the feature amount input to the decoder model 142 is the feature amount output from the final layer among the plurality of intermediate layers 213. Since the feature amount of the final layer among the plurality of intermediate layers 213 is the feature amount with the smallest data size, the learning load on the decoder model 142 can be reduced.
  • image data is restored only when the OK/NG value input to the decoder model 142 represents NG. This reduces the load of inference processing. Furthermore, the frequency with which the user has to visually check is reduced, and as a result, the burden on the user is also reduced.
  • An example of learning in this embodiment is as follows.
  • the learning of the encoder model 141 consists of one or more DNNs.
  • data of each of a plurality of images for example, a plurality of normal images and a plurality of abnormal images (images that are not normal images)
  • Ru One or more learning parameters (parameter items and parameter values) for the learning are determined by the user according to requirements such as obtaining sufficient accuracy and avoiding overfitting. For example, the parameter values for the number of epochs, learning rate, and learning rate decay for each update may vary depending on requirements.
  • the batch size may be determined according to the hardware specifications of the inspection device 110.
  • the feature amount from the intermediate layer 213 of the encoder model 141 (the feature amount of the training data input to the decoder model 142) is used as training data.
  • the feature amount as the training data may be the feature amount of normal image data input to the decoder model 142.
  • a decoder model 142 for image restoration is generated (learned) from the feature amount.
  • the number of training data (number of feature data) used for learning the decoder model 142 may be the same as or different from the number of training data used for learning the encoder model 141.
  • one or more learning parameters of the decoder model 142 may be determined according to requirements or the hardware specifications of the inspection device 110.
  • the encoder model 141 and the decoder model 142 can be trained independently, the learning parameters of the learning of these models 141 and 142 (for example, the respective parameter values of the learning rate and the number of epochs, or other learning parameters) may be different.
  • the encoder model 141 is a model that outputs the degree of abnormality of a product, and the decoder model 142 restores and outputs the image data of the product when the OK/NG value determined based on the degree of abnormality of the product represents an abnormality. This is a model that Therefore, the processing load is reduced compared to when all image data input to the encoder model 141 is restored.
  • the degree of abnormality is input to the determination unit 202, and the OK/NG value based on the degree of abnormality is output from the determination unit 202.
  • the relationship between the degree of abnormality and the OK/NG value depends on the threshold value with which the degree of abnormality is compared. In the learning process, the threshold value is determined as described with reference to FIGS. 3 and 4.
  • FIG. 3 shows an example of the distribution of the degree of abnormality between normal products and abnormal products.
  • FIG. 4 shows a processing flow of the determination unit 202.
  • image data of a normal product is an example of normal data
  • image data of an abnormal product is an example of abnormal data.
  • the "abnormal product" in the learning process is not limited to a product with an abnormal location, but may be an object other than the product.
  • the degree of abnormality varies between normal products and abnormal products, overall, the degree of abnormality is lower for normal products than for abnormal products.
  • the threshold value of the degree of abnormality may be determined based on the average value as an example of the statistical value of the degree of abnormality of normal products, but in this embodiment, it is determined as follows.
  • the learning unit 151 includes statistics of the degree of abnormality and its frequency in the management data 143 for each image data of a normal product. In addition, in the learning process, the learning unit 151 includes statistics on the degree of abnormality and its frequency in the management data 143 for each image data of the abnormal product.
  • the determination unit 202 calculates the median value of the variance of the degree of abnormality for normal products from the relationship between the degree of abnormality and the frequency, and calculates DT, which is a value as a distance from the median value.
  • DT is an example of the first distance, and is the maximum distance between the median of the abnormality degrees of normal products and the abnormality degree of normal products.
  • the determination unit 202 determines a threshold value for the degree of abnormality based on the DT, and includes the threshold value in the management data 143.
  • the determination unit 202 outputs a value indicating whether the degree of abnormality output from the encoder model 141 (encoder 201) is equal to or greater than a threshold to the decoder model 142 (decoder 203) as an OK/NG value.
  • the output value from the encoder model 141 (here, a high-dimensional feature such as the degree of abnormality) does not directly become the input value of the decoder model 142, but the output value from the encoder model 141 is converted into a single value such as an OK/NG value. It is converted into a scalar value that can be expressed in bits and output to the decoder model 142. This contributes to reducing the load of learning processing by learning the encoder model 141 and decoder model 142 separately.
  • the determination unit 202 calculates an index based on the variation in the degree of abnormality output from the encoder model 141 for each of the plurality of image data of normal products, and sets a threshold value for the degree of abnormality based on the index. Determine. Therefore, it is expected that the threshold value will be an appropriate value.
  • the OK/NG value will be an NG value (value representing NG) if the degree of abnormality is zero or more, and an OK value (value representing OK) if the degree of abnormality is less than zero.
  • the index on which the threshold is based is the maximum distance DT from the median of the variance of the abnormality degrees of normal products to the abnormality degree of normal products.
  • the minimum value and/or maximum value of the degree of abnormality of a normal product may be a predefined value, or may be determined by the determination unit 202 based on the distribution of degree of abnormality (statistics of degree of abnormality) obtained in the learning process. (The same may be applied to the minimum value and/or maximum value of the degree of abnormality of abnormal products).
  • the inference processing for example, each time an OK/NG value representing NG is output from the determination unit 202, the degree of abnormality compared with the threshold, the restored image data, and the answer to visual confirmation (whether the product is normal or abnormal) are determined.
  • the management data 143 includes data representing the answer to the question.
  • visual confirmation is performed only when the OK/NG value indicates NG, but as a result of the visual confirmation, an answer that the product is normal may be input.
  • the determination unit 202 identifies the degree of abnormality corresponding to the answer that the product is a normal product from the management data 143, degree) is input to the determination unit 202 as a feedback value.
  • the feedback value is the degree of abnormality of the normal product when the OK/NG value becomes a value representing NG even though the image data input to the encoder model in the inference process is the image data of a normal product.
  • the determination unit 202 calculates DT based on this feedback value, and updates the threshold based on the calculated DT.
  • the threshold value can be set to a more appropriate value based on the feedback value in the inference process.
  • the feedback value may be used to update the threshold itself instead of or in addition to calculating DT.
  • the threshold value may be updated directly based on the feedback value (without calculating an index such as DT based on the feedback value) or indirectly. It may be updated (an index such as DT may be calculated based on the feedback value, and the threshold value may be updated based on the calculated index).
  • the determination unit 202 may calculate DF for the abnormal product as an example of an index based on the variation in the degree of abnormality output from the encoder model 141 for each of the plurality of image data of the abnormal product.
  • DF is an example of the second distance, and is a value as the maximum distance of the abnormality degree from the median of the variance of the abnormality degree for the abnormal product.
  • the learning unit 151 may adopt DT ⁇ DF (DT is smaller than DF) as the end condition for learning the encoder model 141. The fact that the condition DT ⁇ DF is satisfied for the encoder model 141 means that the encoder model 141 has been correctly generated (learned).
  • the determination as to whether DT ⁇ DF is satisfied may be performed after learning using a predetermined number of image data is performed.
  • the threshold value used by the determination unit 202 is learned as described above to be an appropriate value, the OK/NG value incorrectly indicates NG in the inference process even though the inspection target is a normal product. value. Therefore, the possibility that the image data will be restored by the decoder 203 is reduced, and as a result, it is expected that the processing load will be reduced.
  • a second embodiment will be described. At that time, differences with the first embodiment will be mainly explained, and explanations of common points with the first embodiment will be omitted or simplified.
  • FIG. 5 shows an example of the configuration of the entire system including the inspection device according to the second embodiment.
  • the interface device 131 of the inspection device 110 is connected to the control device 501 (interface device 511 of the control device 501) that controls one or more controlled devices. Communication between the inspection device 110 and the control device 501 may be performed using, for example, TCP/IP.
  • the control device 501 includes an interface device 511, a storage device including a shared memory 512, and a processor 513 connected to the interface device 511 and the storage device.
  • a conveying device for the product 550 (for example, a device that drives the conveying belt 533) can be employed as the device to be controlled.
  • An I/O (Input/Output) device 502 is connected to the interface device 511 of the control device 501 .
  • Devices such as peripheral devices, peripheral devices, or other controlled devices are connected to the I/O device 502 .
  • Input/output is performed from the control device 501 to these devices via the I/O device 502.
  • the peripheral device may be a device such as a camera 531 for photographing the product 550 or optical sensors 532A and 532B for detecting the product 550.
  • the inspection device 110 may be connected to the I/O device 502 instead of or in addition to the interface device 511 of the control device.
  • the inspection device 110 may be connected to the camera 531.
  • the processor 513 of the control device 501 executes an OS (Operating System) 563, and also executes a control program 561 and an information program 562 that operate on the OS 563.
  • the OS 563 may be a real-time general-purpose OS (an OS that is a general-purpose OS for information processing but has a real-time function that can provide the necessary real-time performance), and the execution timing of the control program 561 and the information program 562 is in real-time. It may be controlled by a general-purpose OS. Alternatively, the execution timing of the control program 561 and the information program 562 may be controlled by runtime software.
  • the control program 561 is a program that performs a scan process, which is a process that controls the controlled device and is a process that has real-time properties, within the control cycle determined for the control program 561.
  • the information program 562 is a program that performs information processing defined for the information program 562.
  • the shared memory 512 is a shared memory for the control program 561 and the information program 562, and has a control area where data is written from the control program 561 and an information area where data is written from the information program 562.
  • the information area is smaller than the control area.
  • control program 561 When the control program 561 detects the product 550 on the conveyor belt 533 through the optical sensors 532A and 532B, it causes the camera 531 to take a picture. As a result, an image of the product 550 detected through the optical sensors 532A and 532B is photographed, and data of the photographed image is input from the camera 531 to the inspection device 110 via the control device 501 or not.
  • the inference unit 152 of the inspection device 110 performs inference processing on the image data. In the inference process, the determination unit 202 outputs the OK/NG value to the control device 501 in addition to the decoder 203.
  • the information program 562 receives the OK/NG value and writes it into the information area of the shared memory 512.
  • the control program 561 reads the OK/NG value from the information area, and controls at least one controlled device based on the OK/NG value.
  • the control target device includes an exclusion device that excludes the photographed product 550 from the conveyor belt 533, and when the read OK/NG value indicates NG, the control program 561 causes the exclusion device to: The photographed product 550 is removed from the conveyor belt 533.
  • control based on the OK/NG value instead of excluding the product 550, or other processing may be performed.
  • the control device 501 may be an industrial control device.
  • the controlled device may be, for example, industrial equipment such as an industrial motor or a compressor.
  • the control device 501 may be a main computing device of the control system, and the inspection device 110 may be a computing device as an expansion device in the control system.
  • functions such as the learning section 151, inference section 152, encoder 201, determination section 202, decoder 203, difference calculation section 204, and visual confirmation section 205 described above are realized. You can.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

それぞれ機械学習モデルであるエンコーダモデル及びデコーダモデルが検査対象の検査に用いられる。エンコーダモデルは、検査対象のデータを入力とし検査対象の異常度を出力とするモデルである。デコーダモデルは、検査対象が正常か異常かを表す値であるOK/NG値と、検査対象のデータの特徴量とを入力とし、当該入力されたOK/NG値が異常を表す場合に当該入力された特徴量を基に検査対象の復元されたデータを出力とするモデルである。

Description

検査装置及び方法
 本発明は、概して、製品のような検査対象の検査に関する。
 例えば、検査対象のデータ(例えば撮影画像データ)を入力とし製品の検査結果を出力とする機械学習モデルを用いて、製品の検査を行う方法が知られている(例えば、特許文献1)。
特開2021-81814号公報
 特許文献1によれば、エンコーダモデル及びデコーダモデルがあり、エンコーダモデルに入力された全てのデータが、デコーダモデルを用いたデコード処理の対象である。このため、処理の負荷が大きい。
 それぞれ機械学習モデルであるエンコーダモデル及びデコーダモデルが検査対象の検査に用いられる。エンコーダモデルは、検査対象のデータを入力とし検査対象の異常度を出力とするモデルである。デコーダモデルは、検査対象が正常か異常かを表す値であるOK/NG値と、検査対象のデータの特徴量とを入力とし、当該入力されたOK/NG値が異常を表す場合に当該入力された特徴量を基に検査対象の復元されたデータを出力とするモデルである。
 本発明によれば、検査対象の検査に用いる機械学習モデルに関する処理の負荷を低減することができる。
第1の実施形態に係る検査装置を含むシステム全体の構成例を示す。 推論処理のフローの概要を示す。 正常品と異常品の異常度の分布の例を示す。 判定部の処理フローを示す。 第2の実施形態に係る検査装置を含むシステム全体の構成例を示す。
 以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイスであるI/Oインターフェース装置。I/Oインターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイスである通信インターフェース装置。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
 また、以下の説明では、「メモリ」は、一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
 また、以下の説明では、「永続記憶装置」は、一つ以上の永続記憶デバイスである。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)であり、具体的には、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)である。
 また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
 また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサモジュールである。少なくとも一つのプロセッサモジュールは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスであるが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサモジュールは、プロセッサコアでもよい。
 また、以下の説明では、プログラムを主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶装置及び/又はインターフェース装置等を用いながら行うため、処理の主語が、プロセッサ(或いは、そのプロセッサを有するコントローラのようなデバイス)とされてもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体であってもよい。また、以下の説明において、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。
 また、以下の説明では、機能を主語として処理を説明する場合があるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
 また、様々な物又はサービスを「検査対象」とすることができるが、以下の実施形態では、検査対象は、物の一例としての製品であるとする。
 また、「検査対象のデータ」は、典型的には多次元データであり、具体的には、例えば、画像データや音データである。以下の実施形態では、「検査対象のデータ」は、製品の画像データ、特に、製品の外観の画像データであるとし、このため、以下の実施形態に係る検査装置は、外観検査装置であるとする。
 図1は、第1の実施形態に係る検査装置を含むシステム全体の構成例を示す。
 検査装置110は、インターフェース装置131、記憶装置132及びそれらに接続されたプロセッサ133を備える。検査装置110は、複数のエッジ装置(例えばクライアント)と通信可能なコア装置(例えばサーバ装置)でもよいが(例えば、クラウド基盤に基づくクラウドコンピューティングシステムでもよいが)、本実施形態では、検査装置110は、エッジ装置(例えば、パーソナルコンピュータのような情報処理端末)である。学習処理の負荷が低いため、検査装置110がエッジ装置であっても、製品の検査を含む推論処理に加えて、機械学習モデルの学習処理も、エッジ装置により行うことができる。
 インターフェース装置131は、データソース101から製品の画像データを受け付ける。画像データは、プロセッサ133により記憶装置132に格納される。データソース101は、本実施形態ではカメラでよいが、マイクロフォンでもよいし、カメラやマイクロフォンのようなセンシングデバイスが接続された情報処理端末でもよい。
 検査装置110は、表示デバイス102及び入力デバイス103(例えば、キーボード及びポインティングデバイス)を備え、それらのデバイス102及び103はインターフェース装置131に接続される。
 記憶装置132には、エンコーダモデル141及びデコーダモデル142が格納される。エンコーダモデル141及びデコーダモデル142は、いずれも機械学習モデルである。エンコーダモデル141及びデコーダモデル142は、例えば、いずれも深層学習モデルであり、具体的には、ニューラルネットワーク(特にDNN(Deep Neural Network))である。
 また、記憶装置132には、管理データ143が格納される。管理データ143は、学習及び推論に関する種々のデータ、例えば、下記のうちの少なくとも一部を含んでよい。
・エンコーダモデル141及びデコーダモデル142の各々について、使用される一種類以上の学習パラメータと、学習の終了条件とを表すデータ。
・閾値を表すデータ。当該閾値は、後述のOK/NG値を正常品(OK)と異常品(NG)のいずれを表す値とするかのために製品の異常度と比較される値。
・推論処理において検査対象とされた製品毎に(例えば、異常品と判定された製品毎に)、エンコーダモデル141に入力された画像データ、エンコーダモデル141の中間層から出力された特徴量、エンコーダモデル141から出力された異常度、デコーダ203により復元された画像データ、差分算出部204により生成された差分画像データ。
 記憶装置132には、一つ以上のコンピュータプログラムが格納される。それらのコンピュータプログラムがプロセッサ133に実行されることで、学習部151、推論部152、エンコーダ201、判定部202、デコーダ203、差分算出部204及び目視確認部205といった機能が実現される。学習部151が、エンコーダモデル141及びデコーダモデル142の学習を含む学習処理を行う。推論部152が、学習済のエンコーダモデル141及びデコーダモデル142を用いた推論処理を行う。エンコーダ201が、エンコーダモデル141を用いてエンコード処理を行う。判定部202が、製品の異常度から製品が正常品か異常品かを判定する。デコーダ203が、デコーダモデル142を用いてデコード処理を行う。差分算出部204が、入力された画像データと復元された画像データの差分を表す画像データを生成する。目視確認部205が、当該データが表す画像の目視確認をユーザに実行させる。
 エンコーダモデル141は、製品の画像データ(検査対象のデータの一例)を入力とし当該製品の異常度を出力とするモデルである。デコーダモデル142は、製品が正常か異常かを表す値であるOK/NG値と、製品の画像データの特徴量とを入力とし、当該入力されたOK/NG値が異常を表す場合に当該入力された特徴量を基に当該製品の復元されたデータを出力とするモデルである。このように、エンコーダモデル141とデコーダモデル142の学習を、それぞれ独立した異なる学習とすることができ、また、エンコーダモデル141に入力された全ての画像データについて復元が行われるわけではないため、製品の検査に用いる機械学習モデルに関する処理の負荷を低減することができる。なお、学習パラメータは、学習率、各更新の学習率減衰、バッチサイズ、エポック数、及び、バッチサイズなどが有り、学習時にはそのうちの少なくとも一つ以上を用いる。エンコーダモデル141の学習パラメータとデコーダモデル142の学習パラメータは異なってよい。「学習パラメータ」とは、パラメータ項目及びパラメータ値の組でよい。従って、「学習パラメータが異なる」とは、パラメータ項目が異なることでもよいし、パラメータ項目が同じであってパラメータ値が異なることでもよいし、それらが混在してもよい。
 図2は、推論処理のフローの概要を示す。
 エンコーダモデル141は、入力層211と、シーケンシャルな二つの中間層213A及び213Bと、出力層215とを備える。中間層213の数は、2より多くても少なくてもよい。デコーダモデル142も、図示しないが、入力層、一つ以上の中間層及び出力層を備える。また、推論処理において、当該推論処理において検査対象とされた製品毎に、エンコーダモデル141に入力された画像データ、エンコーダモデル141の中間層213(本実施形態では中間層213B)から出力された特徴量、及び、エンコーダモデル141から出力された異常度が、管理データ143に含められてよい。
 推論部152は、製品の画像データ210を入力する。エンコーダ201が、エンコーダモデル141を用いてエンコード処理を行う。エンコード処理は、画像データ210を入力層211に入力することと、画像データ210の特徴量を中間層213A及び213Bにおいて算出することと、最終の中間層213Bから出力された特徴量を基に出力層215から当該製品の異常度を出力することとを含む。
 判定部202が、エンコーダ201から出力された異常度が、管理データ143が表す閾値以上か否かを判定する。判定部202が、この判定結果を表す値を、OK/NG値として出力する。異常度が閾値以上であれば、OK/NG値は、“1”であり(NGを表し)、異常度が閾値未満であれば、OK/NG値は、“0”である(OKを表す)。
 デコーダ203が、デコーダモデル142を用いてデコード処理を行う。デコード処理は、OK/NG値をデコーダモデル142に入力することと、最終の中間層213Bから出力された特徴量をデコーダモデル142に入力することと、入力されたOK/NG値がNGを表していれば入力された特徴量を基に製品の画像データを復元し復元された画像データを出力することとを含む。デコーダ203は、デコーダモデル142に入力されたOK/NG値がOKを表していれば、入力された特徴量を基に画像データを復元することを行わない。
 差分算出部204が、入力された画像データ210と復元された画像データ(デコーダ203から出力された画像データ)の差分を表す画像データである差分画像データ(差分を表す差分データの一例)を生成する。例えば、画像データは、製品の外観の撮影画像のデータであり、差分画像データは、製品の傷等の異常箇所が強調された画像データである。具体的には、例えば、デコーダモデル142は、異常品の画像データの特徴量から正常品の画像データを復元するよう学習されているため、推論処理に置いて、異常品の画像データの特徴量を基に復元された画像データは、正常品の画像データに類似した画像データである。このため、異常品の入力された画像データと復元された画像データを比較した場合、入力された画像データが表す画像に傷等の異常箇所がある場合、当該異常箇所が差分として検出され、結果として、異常箇所を強調とした差分画像データを生成することができる。
 目視確認部205が、生成された差分画像データが表す差分画像に基づく検査結果を表示デバイス102に表示し、当該検査結果に対する回答をユーザから受け付ける。例えば、目視確認部205が、検査結果と正常品か否かの回答受付とを表示したUI(User Interface)を表示デバイス102に表示し、当該UIを介して、製品が正常品か否かの回答を受け付ける。表示された検査結果は、差分画像を含んでよく、更に、入力画像(入力された画像データが表す画像)も含んでよい。ユーザは、表示された検査結果を目視確認し、製品が正常品か否かの回答をUIに入力する。当該回答が、製品が正常品であることを表している場合、推論処理後の学習処理において、目視確認部205が、当該製品に対応した異常度を、例えば管理データ143から特定する。推論処理後の学習処理において、判定部202が、当該特定された異常度(正常品の異常度)を、フィードバック値として判定部202に入力する。
 エンコーダモデル141は、シーケンシャルな複数の中間層213を含むニューラルネットワークである。学習部151が学習処理を行うが、当該学習処理では、デコーダモデル142に入力される特徴量は、複数の中間層213のうちの最終層から出力された特徴量である。複数の中間層213のうちの最終層の特徴量が、最もデータサイズの小さい特徴量であるため、デコーダモデル142の学習の負荷を低減することができる。
 また、デコーダモデル142に入力されたOK/NG値がNGを表す場合に限り画像データが復元されるようになっている。これにより、推論処理の負荷が低減する。また、ユーザが目視確認しなければならない頻度が減り、結果として、ユーザにとっての負担も低減する。
 本実施形態での学習の一例は、下記の通りである。
 エンコーダモデル141の学習では、一つ以上のDNNで構成される。エンコーダモデル141の生成(学習)において、複数の画像(例えば、複数の正常画像と、複数の異常画像(正常画像ではない画像))の各々の画像のデータが、当該学習の訓練データとして使用される。当該学習の一つ又は複数の学習パラメータ(パラメータ項目及びパラメータ値)は、十分な精度が得られることや、過学習の発生が避けられる等の要件に応じて、ユーザにより決定される。例えば、エポック数、学習率、及び、各更新の学習率減衰のパラメータ値は、要件により異なってよい。バッチサイズは、検査装置110のハードウェアスペックに応じて決定されてよい。
 デコーダモデル142の生成(学習)では、エンコーダモデル141の中間層213からの特徴量(デコーダモデル142に入力された訓練データの特徴量)が、訓練データとして使用される。訓練データとしての特徴量は、デコーダモデル142に入力された正常画像データの特徴量でよい。当該特徴量から画像復元のためのデコーダモデル142が生成(学習)される。デコーダモデル142の学習に使用される訓練データの数(特徴量データの数)は、エンコーダモデル141の学習に使用される訓練データの数と同じでよいし異なっていてもよい。また、エンコーダモデル141と同様に、デコーダモデル142の一つ以上の学習パラメータは、要件や検査装置110のハードウェアスペックに応じて決められてよい。また、エンコーダモデル141とデコーダモデル142はそれぞれ独立した学習が可能であるため、それらのモデル141及び142の学習の学習パラメータ(例えば、学習率及びエポック数のそれぞれのパラメータ値、或いは、他の学習パラメータ)が異なってよい。
 エンコーダモデル141は、製品の異常度を出力するモデルであり、デコーダモデル142は、製品の異常度を基に決定されたOK/NG値が異常を表す場合に当該製品の画像データを復元し出力するモデルである。このため、エンコーダモデル141に入力された全ての画像データについて復元が行われることに比べて、処理負荷が低減する。
 異常度が判定部202に入力され当該異常度に基づくOK/NG値は判定部202から出力される。異常度とOK/NG値の関係は、異常度と比較される閾値に依存する。学習処理において、閾値は、図3及び図4を参照して説明する通りに決定される。
 図3は、正常品と異常品の異常度の分布の例を示す。図4は、判定部202の処理フローを示す。
 学習処理において、訓練データとして、正常品の複数の画像データと、異常品の複数の画像データが、エンコーダモデル141に入力される。正常品の画像データが、正常データの一例であり、異常品の画像データが、異常データの一例である。学習処理における「異常品」は、異常箇所を持つ製品に限らず、製品以外の対象であってもよい。
 正常品と異常品のいずれについても異常度はばらつくものの、全体として、正常品の方が異常品よりも異常度は低い。
 異常度の閾値は、正常品の異常度の統計値の一例としての平均値ベースに決定されてもよいが、本実施形態では、次のように決定される。
 すなわち、学習処理において、学習部151が、正常品の画像データ毎に、異常度とその頻度の統計を、管理データ143に含める。また、学習処理において、学習部151が、異常品の画像データ毎に、異常度とその頻度の統計を、管理データ143に含める。
 学習処理において、判定部202は、正常品について、異常度と頻度との関係から、異常度の分散の中央値を算出し、当該中央値からの距離としての値であるDTを算出する。DTは、第1の距離の一例であり、正常品の異常度の中央値と、正常品の異常度との最大距離である。判定部202は、DTを基に、異常度の閾値を決定し、当該閾値を管理データ143に含める。
 推論処理では、判定部202は、エンコーダモデル141(エンコーダ201)から出力された異常度が閾値以上か否かを表す値を、OK/NG値としてデコーダモデル142(デコーダ203)へ出力する。
 このように、エンコーダモデル141からの出力値(ここでは異常度といった高次元特徴量)がそのままデコーダモデル142の入力値となるのではなく、エンコーダモデル141からの出力値がOK/NG値といった1ビットで表現可能なスカラ値に変換されてデコーダモデル142へ出力される。これは、エンコーダモデル141とデコーダモデル142を別々に学習し以って学習処理の負荷を低減することに寄与する。
 また、学習処理において、判定部202は、正常品の複数の画像データの各々についてエンコーダモデル141から出力された異常度についてのばらつきに基づく指標を算出し、当該指標を基に、異常度の閾値を決定する。このため、閾値が適切な値となることが期待される。
 閾値が未設定(未学習)の場合、OK/NG値は、異常度がゼロ以上ならばNG値(NGを表す値)となり、異常度がゼロ未満ならばOK値(OKを表す値)となる。つまり、正常品の異常度はゼロ以下となる。本実施形態では、閾値のベースとなる指標は、正常品の異常度の分散の中央値からの、正常品の異常度までの最大距離DTである。これにより、正常値の分布の中央値が異常度分布においてどの位置にあるかに応じて閾値が適切な値となる。なお、正常品の異常度の最小値及び/又は最大値は、予め定義された値でもよいし、学習処理において得られる異常度の分布(異常度の統計)を基に判定部202により決定された値でもよい(異常品の異常度の最小値及び/又は最大値についても同様でよい)。
 推論処理では、例えば、NGを表すOK/NG値が判定部202から出力される都度に、閾値と比較された異常度、復元された画像データ、及び、目視確認の回答(正常品か異常品かの回答)を表すデータが、管理データ143に含められる。本実施形態では、OK/NG値がNGを表す場合に限り目視確認がされるが、目視確認の結果として、正常品であるとの回答が入力され得る。推論処理後の学習処理では、上述したように、判定部202が、製品が正常品であるとの回答に対応した異常度を管理データ143から特定し、特定された異常度(正常品の異常度)を、フィードバック値として判定部202に入力する。すなわち、フィードバック値は、推論処理においてエンコーダモデルに入力された画像データが正常品の画像データであるにも関わらずOK/NG値がNGを表す値となった場合の当該正常製品の異常度である。判定部202は、このフィードバック値を基に、DTを算出し、算出されたDTを基に閾値を更新する。これにより、推論処理におけるフィードバック値を基に、閾値をより適切な値とすることができる。なお、フィードバック値は、DTの算出に代えて又は加えて、閾値それ自体の更新に使用されてもよい。言い換えれば、閾値は、フィードバック値を基に、直接的に更新されてもよいし(フィードバック値を基にDTのような指標が計算されること無しに更新されてもよいし)、間接的に更新されてもよい(フィードバック値を基にDTのような指標が計算され、当該計算された指標を基に閾値が更新されてもよい)。
 また、判定部202は、学習処理において、異常品について、異常品の複数の画像データの各々についてエンコーダモデル141から出力された異常度についてのばらつきに基づく指標の一例として、DFを算出してよい。DFは、第2の距離の一例であり、異常品について、異常度の分散の中央値から異常度の最大距離としての値である。学習処理において、学習部151は、エンコーダモデル141の学習の終了条件として、DT<DF(DTがDFより小さいこと)を採用してよい。エンコーダモデル141についてDT<DFの条件が満たされたことが、エンコーダモデル141が正しく生成(学習)されたことを意味する。このため、学習処理において、出力される異常度が適切であることが期待され、故に、適切な閾値が設定されることが期待される。結果として、異常品が正常品として誤判定される頻度の低減が期待される。なお、DT<DFが満たされたか否かの判定は、所定数の画像データを用いた学習が行われた後に行われてもよい。
 また、判定部202で使用される閾値が、適切な値となるよう上述の通り学習されるため、検査対象が正常品であるにも関わらず推論処理においてOK/NG値が誤ってNGを表す値となる可能性が低減する。故に、デコーダ203により画像データが復元される可能性が低減し、結果として、処理負荷が低減することが期待される。
[第2の実施形態]
 第2の実施形態を説明する。その際、第1の実施形態との相違点を主に説明し、第1の実施形態との共通点については説明を省略又は簡略する。
 図5は、第2の実施形態に係る検査装置を含むシステム全体の構成例を示す。
 検査装置110のインターフェース装置131が、一つ又は複数の制御対象装置を制御するコントロール装置501(コントロール装置501のインターフェース装置511)に接続される。検査装置110とコントロール装置501間は、例えばTCP/IPで通信されてよい。
 コントロール装置501は、インターフェース装置511、共有メモリ512を含む記憶装置、当該インターフェース装置511及び記憶装置に接続されたプロセッサ513を有する。制御対象装置として、製品550の搬送装置(例えば、搬送ベルト533を駆動する装置)を採用することができる。
 コントロール装置501のインターフェース装置511には、I/O(Input/Output)装置502が接続される。I/O装置502に、周辺装置や、周辺装置又は他の制御対象装置といった装置が接続される。それらの装置に対し、I/O装置502経由で、コントロール装置501から入出力がされる。周辺装置は、製品550を撮影するためのカメラ531や製品550を検出するための光学センサ532A及び532Bといった装置でよい。検査装置110は、コントロール装置のインターフェース装置511に代えて又は加えて、I/O装置502に接続されてもよい。カメラ531に検査装置110が接続されてもよい。
 コントロール装置501のプロセッサ513は、OS(Operating System)563を実行し、且つ、OS563上で動作する制御プログラム561と情報プログラム562を実行する。OS563は、リアルタイム汎用OS(情報処理向けの汎用OSの系統ではあるものの必要とされるリアルタイム性を提供できるリアルタイム機能を持ったOS)でよく、制御プログラム561や情報プログラム562の実行タイミングは、リアルタイム汎用OSにより制御されてよい。或いは、制御プログラム561や情報プログラム562の実行タイミングは、ランタイムソフトウェアにより制御されてよい。
 制御プログラム561は、当該制御プログラム561について定められた制御周期毎に、制御対象装置を制御する処理でありリアルタイム性を有する処理であるスキャン処理を当該制御周期内に行うプログラムである。情報プログラム562は、当該情報プログラム562について定められた情報処理を行うプログラムである。
 共有メモリ512は、制御プログラム561及び情報プログラム562の共有メモリであり、制御プログラム561からデータが書き込まれる領域である制御領域と、情報プログラム562からデータが書き込まれる領域である情報領域とを有する。情報領域は制御領域よりも小さい。
 第2の実施形態では、例えば以下の処理が行われる。
 制御プログラム561が、搬送ベルト533上の製品550を光学センサ532A及び532Bを通じて検出すると、カメラ531に撮影を実行させる。これにより、光学センサ532A及び532Bを通じて検出された製品550の画像が撮影され、その撮影画像のデータが、カメラ531からコントロール装置501経由で又は非経由で検査装置110に入力される。検査装置110の推論部152が、当該画像データについて推論処理を行う。推論処理において、判定部202が、OK/NG値を、デコーダ203の他に加えてコントロール装置501にも出力する。情報プログラム562が、OK/NG値を受けて、共有メモリ512の情報領域に書き込む。OK/NG値は小サイズなので、OK/NG値の書込み先が、制御領域に比べてサイズの小さい情報領域であることに問題は生じない。制御プログラム561が、当該情報領域から当該OK/NG値を読み出し、当該OK/NG値を基に、少なくとも一つの制御対象装置を制御する。例えば、制御対象装置として、撮影された製品550を搬送ベルト533から除外する装置である除外装置があり、制御プログラム561は、読み出したOK/NG値がNGを表している場合、除外装置に、撮影された製品550を搬送ベルト533から除外させる。OK/NG値に基づく制御として、製品550の除外に代えて又は他の処理が行われてよい。
 コントロール装置501は、産業用のコントロール装置でよい。制御対象装置は、例えば、産業用モータやコンプレッサのような産業機器でよい。コントロール装置501が、コントロールシステムのメインの演算装置でよく、検査装置110が、コントロールシステムにおける拡張装置としての演算装置でもよい。拡張装置としての演算装置において情報プログラムが実行されることで、上述した学習部151、推論部152、エンコーダ201、判定部202、デコーダ203、差分算出部204及び目視確認部205といった機能が実現されてもよい。
 以上、幾つかの実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
 110…検査装置、131…インターフェース装置、132…記憶装置、133…プロセッサ、141…エンコーダモデル、142…デコーダモデル

Claims (12)

  1.  検査対象のデータを受け付けるインターフェース装置と、
     それぞれ機械学習モデルであるエンコーダモデル及びデコーダモデルが格納された記憶装置と、
     前記インターフェース装置及び前記記憶装置に接続されたプロセッサと
    を備え、
     前記プロセッサは、前記エンコーダモデル及び前記デコーダモデルを学習することを含む学習処理と、学習済のエンコーダモデル及びデコーダモデルを用いて前記検査対象の検査を行うことを含む推論処理とを行うようになっており、
     前記エンコーダモデルは、前記検査対象のデータを入力とし前記検査対象の異常度を出力とするモデルであり、
     前記デコーダモデルは、前記検査対象が正常か異常かを表し前記異常度を基に決定された値であるOK/NG値と、前記検査対象のデータの特徴量とを入力とし、当該入力されたOK/NG値が異常を表す場合に当該入力された特徴量を基に前記検査対象の復元されたデータを出力とするモデルである、
    検査装置。
  2.  前記推論処理において、前記プロセッサが、前記エンコーダモデルから出力された異常度が閾値以上か否かを表す値を、前記検査対象が正常か異常かを表す値として出力する、
    請求項1に記載の検査装置。
  3.  前記学習処理において、
      複数の正常データがそれぞれ前記エンコーダモデルに入力され、
      前記複数の正常データの各々は、正常な対象のデータであり、
      前記プロセッサは、前記複数の正常データの各々について前記エンコーダモデルから出力された異常度についてのばらつきに基づく指標を基に、異常度の閾値を決定し、
     当該決定された閾値が、前記推論処理における前記閾値である、
    請求項2に記載の検査装置。
  4.  前記指標は、第1の距離であり、
     前記第1の距離は、正常データについての異常度の分散の中央値からの、正常データについての異常度までの最大距離である、
    請求項3に記載の検査装置。
  5.  前記推論処理後の前記学習処理において、
     フィードバック値に基づき、前記閾値が更新され、
     前記フィードバック値は、前記推論処理において前記エンコーダモデルに入力されたデータが正常データであるにも関わらず前記OK/NG値が異常を表す値となった場合の当該正常データに対応した製品の異常度である、
    請求項3に記載の検査装置。
  6.  前記インターフェース装置に表示デバイスが接続されており、
     前記推論処理において、前記プロセッサは、前記エンコーダモデルから前記復元されたデータが出力された場合、当該復元されたデータと、当該復元されたデータに対応し前記エンコーダモデルに入力されたデータとの差分を算出し、当該差分に基づく検査結果を前記表示デバイスに表示し、当該検査結果に対する回答をユーザから受け付け、
     当該回答が、製品が正常であることを表している場合、前記フィードバック値は、当該入力されたデータに対応した製品の異常度である、
    請求項5に記載の検査装置。
  7.  前記検査対象のデータは、前記検査対象の撮影画像のデータである、
    請求項6に記載の検査装置。
  8.  前記エンコーダモデルは、シーケンシャルな複数の中間層を含むニューラルネットワークであり、
     前記学習処理において、前記デコーダモデルに入力される特徴量は、前記複数の中間層のうちの最終層から出力された特徴量である、
    請求項1に記載の検査装置。
  9.  前記インターフェース装置が、一つ又は複数の制御対象装置を制御するコントロール装置に接続され、
     前記コントロール装置は、制御プログラムと情報プログラムを実行し、前記制御プログラム及び前記情報プログラムの共有メモリを有し、
     前記制御プログラムは、当該制御プログラムについて定められた制御周期毎に、制御対象装置を制御する処理でありリアルタイム性を有する処理であるスキャン処理を当該制御周期内に行うプログラムであり、
     前記情報プログラムは、当該情報プログラムについて定められた情報処理を行うプログラムであり、
     前記共有メモリは、前記制御プログラムからデータが書き込まれる領域である制御領域と、前記情報プログラムからデータが書き込まれる領域である情報領域とを有し、
     前記情報領域は前記制御領域よりも小さく、
     前記プロセッサが、前記インターフェース装置を通じて前記OK/NG値を前記コントロール装置に出力し、
     前記コントロール装置において、
      前記情報プログラムが、前記OK/NG値を、前記情報領域に書き込み、
      前記制御プログラムが、前記情報領域から前記OK/NG値を読み出し、当該OK/NG値を基に、少なくとも一つの制御対象装置を制御する、
    請求項1に記載の検査装置。
  10.  前記エンコーダモデルの学習パラメータと前記デコーダモデルの学習パラメータは異なり、
     学習パラメータ毎に、学習パラメータは、パラメータ項目及びパラメータ値の組であり、
     学習パラメータが異なることは、パラメータ項目が異なること、及び/又は、パラメータ項目が同じであるがパラメータ値が異なることである、
    請求項1に記載の検査装置。
  11.  前記プロセッサは、前記第1の距離が第2の距離未満の場合に、前記エンコーダモデルの学習を終了し、
     前記第2の距離は、異常データについての異常度の分散の中央値からの、異常データについての異常度までの最大距離である、
    請求項4に記載の検査装置。
  12.  それぞれ機械学習モデルであるエンコーダモデル及びデコーダモデルを学習することを含む学習処理と、
     学習済のエンコーダモデル及びデコーダモデルを用いて検査対象の検査を行うことを含む推論処理と
    を行い、
     前記エンコーダモデルは、前記検査対象のデータを入力とし前記検査対象の異常度を出力とするモデルであり、
     前記デコーダモデルは、前記検査対象が正常か異常かを表す値であるOK/NG値と、前記検査対象のデータの特徴量とを入力とし、当該入力されたOK/NG値が異常を表す場合に当該入力された特徴量を基に前記検査対象の復元されたデータを出力とするモデルである、
    検査方法。
PCT/JP2023/020364 2022-07-29 2023-05-31 検査装置及び方法 WO2024024263A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-122335 2022-07-29
JP2022122335A JP2024018792A (ja) 2022-07-29 2022-07-29 検査装置及び方法

Publications (1)

Publication Number Publication Date
WO2024024263A1 true WO2024024263A1 (ja) 2024-02-01

Family

ID=89706094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/020364 WO2024024263A1 (ja) 2022-07-29 2023-05-31 検査装置及び方法

Country Status (2)

Country Link
JP (1) JP2024018792A (ja)
WO (1) WO2024024263A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221759A (zh) * 2021-05-17 2021-08-06 北京文安智能技术股份有限公司 基于异常检测模型的道路遗撒识别方法以及装置
JP2021140739A (ja) * 2020-02-28 2021-09-16 株式会社Pros Cons プログラム、学習済みモデルの生成方法、情報処理方法及び情報処理装置
JP2021143884A (ja) * 2020-03-11 2021-09-24 株式会社Screenホールディングス 検査装置、検査方法、プログラム、学習装置、学習方法、および学習済みデータセット
JP2022015575A (ja) * 2020-07-09 2022-01-21 コニカミノルタ株式会社 異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法
JP2022037623A (ja) * 2020-08-25 2022-03-09 株式会社Ye Digital 異常検知方法、異常検知装置および異常検知プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021140739A (ja) * 2020-02-28 2021-09-16 株式会社Pros Cons プログラム、学習済みモデルの生成方法、情報処理方法及び情報処理装置
JP2021143884A (ja) * 2020-03-11 2021-09-24 株式会社Screenホールディングス 検査装置、検査方法、プログラム、学習装置、学習方法、および学習済みデータセット
JP2022015575A (ja) * 2020-07-09 2022-01-21 コニカミノルタ株式会社 異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法
JP2022037623A (ja) * 2020-08-25 2022-03-09 株式会社Ye Digital 異常検知方法、異常検知装置および異常検知プログラム
CN113221759A (zh) * 2021-05-17 2021-08-06 北京文安智能技术股份有限公司 基于异常检测模型的道路遗撒识别方法以及装置

Also Published As

Publication number Publication date
JP2024018792A (ja) 2024-02-08

Similar Documents

Publication Publication Date Title
WO2022068645A1 (zh) 数据库故障发现方法、装置、电子设备及存储介质
US10346782B2 (en) Adaptive augmented decision engine
CN113095402B (zh) 一种基于编码输入的生成对抗网络故障检测方法及系统
JP2016085704A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
US11720820B2 (en) Operational support system and method
CN113837596B (zh) 一种故障确定方法、装置、电子设备及存储介质
US20210374864A1 (en) Real-time time series prediction for anomaly detection
CN111684367B (zh) 控制装置、控制系统、控制方法以及计算机可读存储介质
CN115082920A (zh) 深度学习模型的训练方法、图像处理方法和装置
CN112364939A (zh) 异常值检测方法、装置、设备及存储介质
US20220011760A1 (en) Model fidelity monitoring and regeneration for manufacturing process decision support
CN113643260A (zh) 用于检测图像质量的方法、装置、设备、介质和产品
WO2024024263A1 (ja) 検査装置及び方法
JP7307215B2 (ja) 運用支援システム及び方法
WO2023181241A1 (ja) 監視サーバ装置、システム、方法、及びプログラム
CN115393514A (zh) 三维重建模型的训练方法、三维重建方法、装置、设备
CN113961962A (zh) 一种基于隐私保护的模型训练方法、系统及计算机设备
CN109741250B (zh) 图像处理方法及装置、存储介质和电子设备
JP2021089711A (ja) 動画ブレの検出方法及び装置
WO2022259661A1 (ja) 学習装置、学習プログラム、異常検出装置、および異常検出プログラム
CN115391084B (zh) 一种云游戏异常的智能解决方法及系统
CN113033760A (zh) 用于测试神经网络中算子精度的方法、测试装置及其系统
US20220309406A1 (en) Non-transitory computer readable medium, information processing apparatus, and method of generating a learning model
JP7459696B2 (ja) 異常検知システム、学習装置、異常検知プログラム、学習プログラム、異常検知方法、および学習方法演算装置の学習方法
WO2021240845A1 (ja) データ分析装置及び方法

Legal Events

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

Ref document number: 23846000

Country of ref document: EP

Kind code of ref document: A1