WO2023182795A1 - 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법 - Google Patents

제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법 Download PDF

Info

Publication number
WO2023182795A1
WO2023182795A1 PCT/KR2023/003768 KR2023003768W WO2023182795A1 WO 2023182795 A1 WO2023182795 A1 WO 2023182795A1 KR 2023003768 W KR2023003768 W KR 2023003768W WO 2023182795 A1 WO2023182795 A1 WO 2023182795A1
Authority
WO
WIPO (PCT)
Prior art keywords
normal
product image
product
abnormal
belonging
Prior art date
Application number
PCT/KR2023/003768
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 WO2023182795A1 publication Critical patent/WO2023182795A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • This disclosure relates to an artificial intelligence device and method for detecting defective products based on product images. Specifically, it relates to an artificial intelligence device and method that can determine whether a product is good or defective by determining defects based on images taken of the product being produced.
  • the visual inspection method is a method in which workers inspect products for defects using various auxiliary devices in accordance with the speed of the process in production facilities.
  • the visual inspection method has a problem in that accuracy or efficiency varies depending on the worker's skill, concentration, and fatigue.
  • a vision inspection system is a system that can determine whether a product is defective based on the image of the product.
  • the present disclosure aims to solve the above-described problems and other problems.
  • the purpose of the present disclosure is to provide an artificial intelligence device and method that can distinguish between normal and defective products by constructing a large amount of learning data using image data of normal products and training an artificial neural network.
  • the purpose of this disclosure is to provide an artificial intelligence device and method that can automatically distinguish between good and defective products based on product images obtained during the product production process.
  • An artificial intelligence device includes a memory that stores at least one normal product image belonging to the normal classification and at least one abnormal product image belonging to the abnormal classification, and a representation vector of the product image belonging to the same classification.
  • a learning processor that performs contrastive learning on the feature extraction model so that the expression vectors of product images belonging to different categories are closer to each other, and at least one belonging to the normal category in the contrastively learned feature extraction model. It includes a processor that inputs a normal product image, acquires an embedding vector for each patch unit of at least one normal product image, and obtains a normal distribution of the obtained embedding vector for each patch unit.
  • the artificial intelligence device applies at least one of brightness change, color change, contrast change, rotation, and rescale to at least one normal product image belonging to the normal classification to obtain a normal product belonging to the normal classification.
  • a processor that creates images.
  • the artificial intelligence device applies at least one of cut-out, cut-pate, and noise addition to at least one normal product image belonging to the normal classification to make it abnormal. It includes a processor that generates images of abnormal products belonging to the classification.
  • the artificial intelligence device includes a processor that generates an abnormal product image belonging to the abnormal classification by overlapping at least one normal product image belonging to the normal classification and at least one abnormal product image belonging to the abnormal classification. do.
  • the artificial intelligence device includes a learning processor that performs contrastive learning on a feature extraction model based on a loss function based on contrastive loss.
  • the artificial intelligence device acquires an inspection product image for the product subject to inspection, inputs the inspection product image into a feature extraction model, and generates an embedding vector for each patch unit of the inspection product image from the feature extraction model. It includes a processor that acquires the distance between the embedding vector for each patch unit of the inspected product image and the normal distribution for each patch unit, and determines whether the product to be inspected is a normal product or a defective product according to the distance value. .
  • the method for detecting defective products includes the steps of storing at least one normal product image belonging to a normal category and at least one abnormal product image belonging to an abnormal category, a representation vector of a product image belonging to the same category ( A step of conducting contrastive learning on the feature extraction model so that the representation vectors of product images belonging to different categories are brought closer together and the expression vectors of product images belonging to different categories are distant from each other.
  • the contrastive learning feature extraction model has at least one belonging to the normal category It includes steps of inputting one normal product image to obtain an embedding vector for each patch unit of at least one normal product image, and obtaining a normal distribution of the obtained embedding vector for each patch unit.
  • the method for detecting defective products applies at least one of brightness change, color change, contrast change, rotation, and rescale to at least one normal product image belonging to the normal classification to obtain a normal product belonging to the normal classification. It includes the step of creating a product image.
  • the method for detecting defective products applies at least one of cut-out, cut-pate, and noise addition to at least one normal product image belonging to the normal classification. It includes the step of generating an abnormal product image belonging to an abnormal classification.
  • the defective product detection method includes the step of generating an abnormal product image belonging to the abnormal classification by overlapping at least one normal product image belonging to the normal classification and at least one abnormal product image belonging to the abnormal classification. Includes.
  • the method for detecting defective products includes the step of conducting contrastive learning for a feature extraction model based on a loss function based on contrastive loss.
  • the method for detecting defective products includes the steps of acquiring an inspection product image for a product subject to inspection, inputting the inspection product image into a feature extraction model, and selecting each patch unit of the inspection product image from the feature extraction model. Obtaining an embedding vector, obtaining the distance between the embedding vector for each patch unit of the inspected product image and the normal distribution for each patch unit, and determining whether the product to be inspected is a normal product or a defective product according to the distance value. Includes more steps.
  • an artificial intelligence device can construct a large amount of learning data using image data of normal products and train an artificial neural network to determine whether a product is normal or defective.
  • an artificial intelligence device can automatically distinguish between a normal product and a defective product based on an image of the product acquired during the product production process.
  • FIG 1 shows an artificial intelligence device according to an embodiment of the present disclosure.
  • Figure 2 shows an artificial intelligence server according to an embodiment of the present disclosure.
  • Figure 3 is a flowchart for explaining a method of operating an artificial intelligence device according to an embodiment of the present disclosure.
  • Figure 4 is a flowchart for explaining a method of increasing training data according to an embodiment of the present disclosure.
  • Figure 5 is a diagram for explaining a method of obtaining a product image according to an embodiment of the present disclosure.
  • Figure 6 is a diagram for explaining a method of generating a normal product image according to an embodiment of the present disclosure.
  • Figure 7 is a diagram for explaining a method of generating an abnormal product image according to an embodiment of the present disclosure.
  • Figure 8 is a diagram for explaining a method of generating an abnormal product image according to an embodiment of the present disclosure.
  • Figure 9 is a diagram for explaining a feature extraction model according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram illustrating a method of obtaining an embedding vector for each patch unit according to an embodiment of the present disclosure.
  • FIG. 11 is a flowchart illustrating a method for determining defective products according to an embodiment of the present disclosure.
  • Machine learning refers to the field of defining various problems dealt with in the field of artificial intelligence and researching methodologies to solve them. do.
  • Machine learning is also defined as an algorithm that improves the performance of a task through consistent experience.
  • ANN Artificial Neural Network
  • ANN is a model used in machine learning. It can refer to an overall model with problem-solving capabilities that is composed of artificial neurons (nodes) that form a network through the combination of synapses. Artificial neural networks can be defined by connection patterns between neurons in different layers, a learning process that updates model parameters, and an activation function that generates output values.
  • An artificial neural network may include an input layer, an output layer, and optionally one or more hidden layers. Each layer includes one or more neurons, and the artificial neural network may include synapses connecting neurons. In an artificial neural network, each neuron can output the activation function value for the input signals, weight, and bias input through the synapse.
  • Model parameters refer to parameters determined through learning and include the weight of synaptic connections and the bias of neurons.
  • Hyperparameters refer to parameters that must be set before learning in a machine learning algorithm and include learning rate, number of repetitions, mini-batch size, initialization function, etc.
  • the purpose of artificial neural network learning can be seen as determining model parameters that minimize the loss function.
  • the loss function can be used as an indicator to determine optimal model parameters in the learning process of an artificial neural network.
  • Machine learning can be classified into supervised learning, unsupervised learning, and reinforcement learning depending on the learning method.
  • Supervised learning refers to a method of training an artificial neural network with a given label for the learning data.
  • a label refers to the correct answer (or result value) that the artificial neural network must infer when learning data is input to the artificial neural network. It can mean.
  • Unsupervised learning can refer to a method of training an artificial neural network in a state where no labels for training data are given.
  • Reinforcement learning can refer to a learning method in which an agent defined within an environment learns to select an action or action sequence that maximizes the cumulative reward in each state.
  • machine learning implemented with a deep neural network is also called deep learning, and deep learning is a part of machine learning.
  • machine learning is used to include deep learning.
  • FIG 1 shows an artificial intelligence device according to an embodiment of the present disclosure.
  • the artificial intelligence (AI) device 100 includes TVs, projectors, mobile phones, smartphones, desktop computers, laptops, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation, tablet PCs, wearable devices, It can be implemented as a fixed or movable device, such as a set-top box (STB), DMB receiver, radio, washing machine, refrigerator, desktop computer, digital signage, robot, vehicle, etc.
  • PDAs personal digital assistants
  • PMPs portable multimedia players
  • STB set-top box
  • DMB receiver radio, washing machine, refrigerator, desktop computer, digital signage, robot, vehicle, etc.
  • the terminal 100 includes a communication unit 110, an input unit 120, a learning processor 130, a sensing unit 140, an output unit 150, a memory 170, and a processor 180. It can be included.
  • the communication unit 110 can transmit and receive data with external devices such as other AI devices 100a to 100e or the AI server 200 using wired or wireless communication technology.
  • the communication unit 110 may transmit and receive sensor information, user input, learning models, and control signals with external devices.
  • the communication technologies used by the communication unit 110 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), and Wireless-Fidelity (Wi-Fi). ), Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc.
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • LTE Long Term Evolution
  • 5G Fifth Generation
  • WLAN Wireless LAN
  • Wi-Fi Wireless-Fidelity
  • Bluetooth Bluetooth
  • RFID Radio Frequency Identification
  • IrDA Infrared Data Association
  • ZigBee ZigBee
  • NFC Near Field Communication
  • the input unit 120 can acquire various types of data.
  • the input unit 120 may include a camera for inputting video signals, a microphone for receiving audio signals, and a user input unit for receiving information from the user.
  • the camera or microphone may be treated as a sensor, and the signal obtained from the camera or microphone may be referred to as sensing data or sensor information.
  • the input unit 120 may acquire training data for model learning and input data to be used when obtaining an output using the learning model.
  • the input unit 120 may acquire unprocessed input data, and in this case, the processor 180 or the learning processor 130 may extract input features by preprocessing the input data.
  • the learning processor 130 can train a model composed of an artificial neural network using training data.
  • the learned artificial neural network may be referred to as a learning model.
  • a learning model can be used to infer a result value for new input data other than learning data, and the inferred value can be used as the basis for a decision to perform an operation.
  • the learning processor 130 may perform AI processing together with the learning processor 240 of the AI server 200.
  • the learning processor 130 may include memory integrated or implemented in the AI device 100.
  • the learning processor 130 may be implemented using the memory 170, an external memory directly coupled to the AI device 100, or a memory maintained in an external device.
  • the sensing unit 140 may use various sensors to obtain at least one of internal information of the AI device 100, information about the surrounding environment of the AI device 100, and user information.
  • the sensors included in the sensing unit 140 include a proximity sensor, illuminance sensor, acceleration sensor, magnetic sensor, gyro sensor, inertial sensor, RGB sensor, IR sensor, fingerprint recognition sensor, ultrasonic sensor, light sensor, microphone, and lidar. , radar, etc.
  • the output unit 150 may generate output related to vision, hearing, or tactile sensation.
  • the output unit 150 may include a display unit that outputs visual information, a speaker that outputs auditory information, and a haptic module that outputs tactile information.
  • the memory 170 may store data supporting various functions of the AI device 100.
  • the memory 170 may store input data, learning data, learning models, learning history, etc. obtained from the input unit 120.
  • the processor 180 may determine at least one executable operation of the AI device 100 based on information determined or generated using a data analysis algorithm or a machine learning algorithm. Additionally, the processor 180 may control the components of the AI device 100 to perform the determined operation.
  • the processor 180 may request, retrieve, receive, or utilize data from the learning processor 130 or the memory 170, and perform an operation that is predicted or determined to be desirable among the at least one executable operation.
  • Components of the AI device 100 can be controlled to execute.
  • the processor 180 may generate a control signal to control the external device and transmit the generated control signal to the external device.
  • the processor 180 may obtain intent information regarding user input and determine the user's request based on the obtained intent information.
  • the processor 180 extracts the embedding vector for each patch unit for the image feature through the image feature extraction network that learned the image input and compares it with the normal distribution of the embedding vector for each patch unit of the normal product. Through this, images can be classified and judged (good or defective).
  • At this time, at least one or more of the image classification and decision engines may be configured, at least in part, of an artificial neural network learned according to a machine learning algorithm.
  • at least one of the image classification and decision engines is learned by the learning processor 130, is learned by the learning processor 240 of the AI server 200, or is learned by distributed processing thereof. It may have happened.
  • the processor 180 collects history information including the user's feedback on the operation or operation of the AI device 100 and stores it in the memory 170 or the learning processor 130, or in the AI server 200, etc. Can be transmitted to an external device. The collected historical information can be used to update the learning model.
  • the processor 180 may control at least some of the components of the AI device 100 to run an application program stored in the memory 170. Furthermore, the processor 180 may operate two or more of the components included in the AI device 100 in combination with each other to run the application program.
  • Figure 2 shows an artificial intelligence server according to an embodiment of the present disclosure.
  • the artificial intelligence server 200 may refer to a device that trains an artificial neural network using a machine learning algorithm or uses a learned artificial neural network.
  • the AI server 200 may be composed of a plurality of servers to perform distributed processing, and may be defined as a 5G network.
  • the AI server 200 may be included as a part of the AI device 100 and may perform at least part of the AI processing.
  • the AI server 200 may include a communication unit 210, a memory 230, a learning processor 240, and a processor 260.
  • the communication unit 210 can transmit and receive data with an external device such as the AI device 100.
  • Memory 230 may include a model storage unit 231.
  • the model storage unit 231 may store a model (or artificial neural network, 231a) that is being trained or has been learned through the learning processor 240.
  • the learning processor 240 can train the artificial neural network 231a using training data.
  • the learning model may be used while mounted on the AI server 200 of the artificial neural network, or may be mounted and used on an external device such as the AI device 100.
  • Learning models can be implemented in hardware, software, or a combination of hardware and software.
  • the learning model When part or all of the learning model is implemented as software, one or more instructions constituting the learning model may be stored in the memory 230.
  • the processor 260 may infer a result value for new input data using a learning model and generate a response or control command based on the inferred result value.
  • Figure 3 is a flowchart for explaining a method of operating an artificial intelligence device according to an embodiment of the present disclosure.
  • the processor 180 of the artificial intelligence device 100 may store at least one normal product image belonging to the normal classification and at least one abnormal product image belonging to the abnormal classification in the memory 170 (S301 ).
  • the processor 180 may acquire a normal product image belonging to a positive class as training data and store it in the memory 170.
  • a normal product image may refer to an image taken of a normal product without any defects among the products being produced.
  • the processor 180 may obtain an image of a normal product belonging to an abnormal classification as training data and store it in the memory 170.
  • An abnormal product image may refer to an image taken of a defective, abnormal product among manufactured products.
  • the processor 180 may generate normal product images and abnormal product images based on normal product images belonging to the normal classification and normal product images belonging to the abnormal classification, respectively.
  • Figure 4 is a flowchart for explaining a method of increasing training data according to an embodiment of the present disclosure.
  • the processor 180 may acquire a normal product image belonging to the normal classification or an abnormal product image belonging to the abnormal classification (S401).
  • a normal product image or an abnormal product image may be a partial image corresponding to a predetermined size from the entire image taken of the product.
  • Figure 5 is a diagram for explaining a method of obtaining a product image according to an embodiment of the present disclosure.
  • the processor 180 may acquire a partial image 502 corresponding to a predetermined size from the entire product image 501 in which the product is photographed.
  • the processor 180 may acquire a partial image 502 corresponding to a predetermined size while traversing each part of the entire product image 501.
  • the processor 180 may acquire each partial image 402 as a normal or abnormal product image.
  • the processor 180 may generate a normal product image belonging to the normal classification by modifying at least one normal product image belonging to the normal classification (S402).
  • the processor 180 can increase the number of normal product images belonging to the normal classification by applying a predetermined transformation to the normal product image to generate additional normal product images belonging to the normal classification.
  • the processor 180 may apply at least one of brightness change, color change, contrast change, rotation, and rescale to the normal product image to increase the normal product image belonging to the normal classification.
  • Figure 6 is a diagram for explaining a method of generating a normal product image according to an embodiment of the present disclosure.
  • the processor 180 may increase normal product images 600 belonging to the normal classification.
  • the processor 180 may change the brightness of the normal product image 601, which is previously classified as normal, to brighter and generate a normal product image 602 that is brighter than the normal product image 601. Additionally, the processor 180 may apply rotation to the existing normal product image 601 to generate a normal product image 603 in which the normal product image 601 is rotated at a predetermined angle.
  • the processor 180 may generate an abnormal product image belonging to the abnormal category by modifying at least one normal product image belonging to the normal category (S403).
  • the processor 180 may transform a normal product image belonging to the normal category to generate an abnormally modified image belonging to the abnormal category.
  • the processor 180 applies at least one of cut-out, cut-pate, and noise addition to a normal product image belonging to the normal classification to create an abnormal deformed image belonging to the abnormal classification. can be created.
  • Figure 7 is a diagram for explaining a method of generating an abnormal product image according to an embodiment of the present disclosure.
  • the processor 180 cuts out a predetermined image portion of the normal product image 601 belonging to the normal classification to create an abnormal deformed image 701 belonging to the abnormal classification 700. can be created. Additionally, the processor 180 may generate an abnormal deformed image 702 belonging to the abnormal classification 700 by cutting and pasting a predetermined image portion of the normal product image 601 belonging to the normal classification. .
  • the processor 180 may generate an abnormal product image belonging to the abnormal classification by overlapping at least one normal product image belonging to the normal classification and an abnormal product image belonging to the abnormal classification (S404).
  • the processor 180 may generate an abnormal product image close to the normal product image by superimposing a normal product image on an abnormal product image, which is an image of a defective product generated during the product production process.
  • Figure 8 is a diagram for explaining a method of generating an abnormal product image according to an embodiment of the present disclosure.
  • the processor 180 may generate an abnormal product image 803 by overlapping a normal product image 801 and an abnormal product image 802.
  • the processor 180 may apply a weighted sum to the normal product image 801 and the abnormal product image 802 to overlap them.
  • an overlapping image can be created by multiplying the normal product image (801) by the ⁇ (0 ⁇ 1) value, multiplying the abnormal product image (802) by the (1- ⁇ ) value, and then summing the two images. there is.
  • the processor 180 can reduce the characteristics of the normal product image to the overlapping image so that it can belong to the abnormal classification.
  • the learning processor 130 can perform contrast learning on the feature extraction model (S302).
  • the learning processor 130 performs contrastive learning on the feature extraction model so that the representation vectors of product images belonging to the same category are close to each other, and the expression vectors of product images belonging to different categories are distant from each other. ) can be done.
  • the learning processor 130 inputs at least one normal product image belonging to the normal classification and at least one abnormal product image belonging to the abnormal classification into the feature extraction model, and inputs at least one image belonging to the same classification output from the feature extraction model.
  • the feature extraction model can be subjected to contrastive learning so that the distance between expression vectors between product images becomes closer, and the distance between expression vectors of product images belonging to different categories becomes greater.
  • the normal product image belonging to the normal classification and the abnormal product image belonging to the abnormal classification may be images created in the embodiment of FIG. 4 as described above.
  • the feature extraction model may be an artificial neural network model that receives predetermined image data and outputs an expression vector for the input predetermined image data.
  • the feature extraction model may be a convolutional neural network (CNN).
  • the learning processor 130 may perform contrastive learning on the feature extraction model based on a loss function based on contrastive loss.
  • Equation 1 The loss function based on contrastive loss can be obtained using Equation 1 below.
  • x+ means a normal product image belonging to the normal category. Additionally, x- refers to an abnormal product image belonging to the abnormal category.
  • the z() function is a function that outputs expression vectors
  • the sim() function is a function that measures the similarity between expression vectors.
  • is a temperature hyper-parameter.
  • Figure 9 is a diagram for explaining a feature extraction model according to an embodiment of the present disclosure.
  • the learning processor 130 inputs product images 901 and 902 belonging to different categories into the feature extraction model 903, and outputs the normal product image 901 from the feature extraction model 902. ) and the first expression vector 905 of the abnormal product image 902 can be contrast-learned based on the loss function 906 based on contrast loss so that the first expression vector 904 of ) and the first expression vector 905 of the abnormal product image 902 are distant from each other.
  • the normal product image 901 and the abnormal product image 902 may be images created in the embodiment of FIG. 4 as described above.
  • the processor 180 may obtain an embedding vector for each patch unit of the normal product image based on the learned feature extraction model (S303).
  • the processor 180 may input at least one normal product image belonging to the normal classification into the contrast-learned feature extraction model and obtain an embedding vector for each patch unit of the at least one normal product image.
  • FIG. 10 is a diagram illustrating a method of obtaining an embedding vector for each patch unit according to an embodiment of the present disclosure.
  • the processor 180 may input N normal product images 1001 belonging to the normal classification into the feature extraction model 1003.
  • the normal product image 1001 may have a size of W (width)*H (height).
  • the processor 180 may obtain an embedding vector 1004 for each patch unit 1002 of the normal product image 1001 from the feature extraction model 1003.
  • the normal product image 1001 may have a size of W (width)*H (height).
  • the processor 180 may obtain an embedding vector 1004 for each patch unit 1002 of the normal product image 1001 from the feature extraction model 1003.
  • Each patch unit (1002) is positioned in the normal product image (1001) It may be a divided image unit with a predetermined size based on the value.
  • the embedding vector for each patch unit is It can be defined as, and the embedding vector set for each patch unit for N normal product images is It can be defined as:
  • the processor 180 may obtain the normal distribution of the embedding vector for each patch unit (S304).
  • the processor 180 may obtain a Gaussian distribution for each patch unit for each of at least one embedding vector for each patch unit.
  • the processor 180 calculates a Gaussian distribution based on an embedding vector set for each patch for N normal product images 1001. You can obtain (1005). in this case, is a set of embedding vectors for each patch of N normal product images (1001) is the sample mean of, is the sample covariance.
  • the processor 180 may obtain a Gaussian distribution 1006, which is a normal distribution of the embedding vector for each patch unit (i, j).
  • the processor 180 can determine whether the product to be inspected is a normal product or a defective product using a contrastively learned feature extraction model and a normal distribution.
  • FIG. 11 is a flowchart illustrating a method for determining defective products according to an embodiment of the present disclosure.
  • the processor 180 may acquire an inspection product image for the product subject to inspection (S1101).
  • the inspection product image may be an image taken using a camera, etc. during the production or inspection process of the product.
  • the inspection product image may be an image stored in the memory 170 or an image received and stored from an external device through the communication unit 110.
  • the processor 180 may input the acquired inspection product image into a feature extraction model and obtain an embedding vector for each patch unit of the inspection product image from the feature extraction model (S1102).
  • the processor 180 may obtain the distance between the embedding vector for each patch unit of the acquired inspection product image and the normal distribution for each patch unit (S1103).
  • the processor 180 can obtain the distance value using Equation 3 below.
  • the embedding vector for each patch unit of the acquired inspection product image is the embedding vector for each patch unit of the acquired inspection product image, and may be a Gaussian distribution value for each patch unit obtained from the normal product image described in the embodiment of FIG. 10 above.
  • the processor 180 can determine whether the product to be inspected is a normal product or a defective product according to the obtained distance (S1105).
  • the processor 180 can determine the product as a normal product if the distance is less than a predetermined defect standard value (S1106).
  • the Gaussian distribution for each patch unit is a distribution estimated from a normal product image, and the smaller the distance value of the image to be inspected from the embedding vector for each patch unit, the higher the probability that it is a normal product.
  • the processor 180 may determine the product to be defective if the distance exceeds a predetermined defect standard value (S1107).
  • the above-described method can be implemented as processor-readable code on a program-recorded medium.
  • media that the processor can read include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

본 개시의 실시 예에 따른 인 공 지능 장치는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 저장하는 메모리, 동일 분류에 속하는 제품 이미지의 표현 벡터(Representation Vector)가 가까워지도록 하고, 서로 다른 분류에 속하는 제품 이미지의의 표현 벡터가 서로 멀어지도록 특징 추출 모델에 대한 대조 학습(Contrastive Leaning)을 시키는 러닝 프로세서 및 상기 대조 학습된 특징 추출 모델에 상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지를 입력하여 적어도 하나의 정상 제품 이미지의 패치 단위별 임베딩 벡터(embedding vector)를 획득하고, 상기 획득한 패치 단위별 임베딩 벡터의 정규 분포를 획득하는 프로세서를 포함한다.

Description

제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법
본 개시는 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법에 관한 것이다. 구체적으로, 생산되는 제품을 촬영한 이미지를 기초로 불량을 판별하여 제품이 양품인지 또는 불량인지를 판별할 수 있는 인공 지능 장치 및 그 방법에 관한 것이다.
제품을 생산하는 경우 제품 생산 과정에서 생산되는 제품에 대한 불량여부를 검사하는 절차를 거친다.
제품 불량여부를 검사하는 경우 육안 검사 방식이 사용될 수도 있다. 육안 검사 방식은 생산 설비에서 공정의 속도에 맞춰 작업자가 각종 보조 장치들을 이용하여 제품의 불량 여부를 검사하는 방식이다. 그러나, 육안 검사 방식은 작업자의 숙련도, 집중도 및 피로도에 따라서 정확성 또는 효율성이 달라지는 문제점이 있다.
최근 육안 검사 방식의 문제점을 해결하기 위하여 제품 생산 과정에 제품의 불량 여부를 검출할 수 있는 비전 검사 시스템이 도입되고 있다.
비전 검사 시스템은 제품에 대한 이미지를 기초로 제품의 불량 여부를 판별할 수 있는 시스템이다.
그러나, 비점 검사 시스템을 구축하기 위해 정상 제품에 대한 이미지 및 불량 제품에 대한 이미지들이 필요하다. 그러나, 실제 제품 생산 현장에서는 제품 생산 불량률이 낮다. 따라서, 정상 제품에 대한 이미지를 많이 구할 수 있으나, 불량 제품에 대한 이미지를 구하기가 어려운 문제가 있다.
따라서, 불량 제품에 대한 이미지를 구하기 어려운 문제를 해결하여 비전 검사 시스템을 구축할 수 있는 기술이 필요한 실정이다.
본 개시는 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.
본 개시는 정상 제품의 이미지 데이터를 이용하여 다량이 학습 데이터를 구축하여 인공 신경망을 학습시켜 제품에 대한 정상과 불량을 판별할 수 있는 인공 지능 장치 및 그 방법을 제공하는 것을 목적으로 한다.
본 개시는 제품 생산 과정에서 획득하는 제품의 이미지를 기반으로 정상 제품과 불량 제품을 자동으로 판별할 수 있는 인공 지능 장치 및 그 방법을 제공하는 것을 목적으로 한다.
본 개시의 실시 예에 따른 인공 지능 장치는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 저장하는 메모리, 동일 분류에 속하는 제품 이미지의 표현 벡터(Representation Vector)가 가까워지도록 하고, 서로 다른 분류에 속하는 제품 이미지의의 표현 벡터가 서로 멀어지도록 특징 추출 모델에 대한 대조 학습(Contrastive Leaning)을 시키는 러닝 프로세서 및 대조 학습된 특징 추출 모델에 정상 분류에 속하는 적어도 하나의 정상 제품 이미지를 입력하여 적어도 하나의 정상 제품 이미지의 패치 단위별 임베딩 벡터(embedding vector)를 획득하고, 획득한 패치 단위별 임베딩 벡터의 정규 분포를 획득하는 프로세서를 포함한다.
또한, 본 개시의 실시 예에 따른 인공 지능 장치는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지에 대하여 밝기 변경, 컬러 변경, 명암 변경, 회전 및 리스케일 중 적어도 하나를 적용하여 정상 분류에 속하는 정상 제품 이미지를 생성하는 프로세서를 포함한다.
또한, 본 개시의 실시 예에 따른 인공 지능 장치는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지에 대하여 컷 아웃(Cut-Out), 컷 페이스트(Cut-Pate) 및 노이즈 추가 중 적어도 하나를 적용하여 비정상 분류에 속하는 비정상 제품 이미지를 생성하는 프로세서를 포함한다.
또한, 본 개시의 실시 예에 따른 인공 지능 장치는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 중첩하여 비정상 분류에 속하는 비정상 제품 이미지를 생성하는 프로세서를 포함한다.
또한, 본 개시의 실시 예에 따른 인공 지능 장치는 대조 손실(Contrastive Loss)기반의 손실함수를 기초로 특징 추출 모델에 대한 대조 학습을 시키는 러닝 프로세서를 포함한다.
또한, 본 개시의 실시 예에 따른 인공 지능 장치는 검사 대상이 되는 제품에 대한 검사 제품 이미지를 획득하고, 검사 제품 이미지를 특징 추출 모델에 입력하여 특징 추출 모델로부터 검사 제품 이미지의 패치 단위별 임베딩 벡터를 획득하고, 검사 제품 이미지의 패치 단위별 임베딩 벡터와 패치 단위별 정규 분포 사이의 거리를 획득하고, 거리 값에 따라 검사 대상이 되는 제품이 정상 제품인지 불량 제품인지 여부를 판별하는 프로세서를 포함한다.
또한, 본 개시의 실시 예에 따른 불량 제품 감지 방법은 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 저장하는 단계, 동일 분류에 속하는 제품 이미지의 표현 벡터(Representation Vector)가 가까워지도록 하고, 서로 다른 분류에 속하는 제품 이미지의의 표현 벡터가 서로 멀어지도록 특징 추출 모델에 대한 대조 학습(Contrastive Leaning)을 시키는 단계, 대조 학습된 특징 추출 모델에 정상 분류에 속하는 적어도 하나의 정상 제품 이미지를 입력하여 적어도 하나의 정상 제품 이미지의 패치 단위별 임베딩 벡터(embedding vector)를 획득하는 단계 및 획득한 패치 단위별 임베딩 벡터의 정규 분포를 획득하는 단계를 포함한다.
또한, 본 개시의 실시 예에 따른 불량 제품 감지 방법은 정상 분류에 속하는 적어도 하나의 정상 제품 이미지에 대하여 밝기 변경, 컬러 변경, 명암 변경, 회전 및 리스케일 중 적어도 하나를 적용하여 정상 분류에 속하는 정상 제품 이미지를 생성하는 단계를 포함한다.
또한, 본 개시의 실시 예에 따른 불량 제품 감지 방법은 정상 분류에 속하는 적어도 하나의 정상 제품 이미지에 대하여 컷 아웃(Cut-Out), 컷 페이스트(Cut-Pate) 및 노이즈 추가 중 적어도 하나를 적용하여 비정상 분류에 속하는 비정상 제품 이미지를 생성하는 단계를 포함한다.
또한, 본 개시의 실시 예에 따른 불량 제품 감지 방법은 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 중첩하여 비정상 분류에 속하는 비정상 제품 이미지를 생성하는 단계를 포함한다.
또한, 본 개시의 실시 예에 따른 불량 제품 감지 방법은 대조 손실(Contrastive Loss)기반의 손실함수를 기초로 특징 추출 모델에 대한 대조 학습을 시키는 단계를 포함한다.
또한, 본 개시의 실시 예에 따른 불량 제품 감지 방법은 검사 대상이 되는 제품에 대한 검사 제품 이미지를 획득하는 단계, 검사 제품 이미지를 특징 추출 모델에 입력하여 특징 추출 모델로부터 검사 제품 이미지의 패치 단위별 임베딩 벡터를 획득하는 단계, 검사 제품 이미지의 패치 단위별 임베딩 벡터와 패치 단위별 정규 분포 사이의 거리를 획득하는 단계 및 거리 값에 따라 검사 대상이 되는 제품이 정상 제품인지 불량 제품인지 여부를 판별하는 단계를 더 포함한다.
본 개시의 실시 예에 따르면, 인공 지능 장치는 정상 제품의 이미지 데이터를 이용하여 다량이 학습 데이터를 구축하여 인공 신경망을 학습시켜 제품에 대한 정상과 불량을 판별할 수 있다.
본 개시의 실시 예에 따르면, 인공 지능 장치는 제품 생산 과정에서 획득하는 제품의 이미지를 기반으로 정상 제품과 불량 제품을 자동으로 판별할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 인공 지능 장치를 나타낸다.
도 2는 본 개시의 일 실시 예에 따른 인공 지능 서버를 나타낸다.
도 3은 본 개시의 일 실시 예에 따른 인공 지능 장치의 동작 방법을 설명하기 위한 순서도이다.
도 4는 본 개시의 일 실시 예에 따른 학습용 데이터를 증가시키는 방법을 설명하기 위한 순서도이다.
도 5는 본 개시의 일 실시 예에 따른 제품 이미지를 획득하는 방법을 설명하기 위한 도면이다.
도 6는 본 개시의 일 실시 예에 따른 정상 제품 이미지 생성하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 비정상 제품 이미지를 생성하는 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 비정상 제품 이미지를 생성하는 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 특징 추출 모델을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 패치 단위별 임베딩 벡터를 획득하는 방법을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 불량 제품 판별 방법을 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
<인공 지능(AI: Artificial Intelligence)>
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
도 1은 본 개시의 일 실시 예에 따른 인공 지능 장치를 나타낸다.
인공 지능(AI) 장치(100)는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
도 1을 참조하면, 단말기(100)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180) 등을 포함할 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치(100a 내지 100e)나 AI 서버(200) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth쪠), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 러닝 프로세서(130)는 AI 서버(200)의 러닝 프로세서(240)과 함께 AI 프로세싱을 수행할 수 있다.
이때, 러닝 프로세서(130)는 AI 장치(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), AI 장치(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(140)는 다양한 센서들을 이용하여 AI 장치(100) 내부 정보, AI 장치(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
메모리(170)는 AI 장치(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(180)는 AI 장치(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(100)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 프로세서(180)은 영상 입력을 학습한 이미지 특징 추출 네트워크를 통해 이미지 특징에 대한 패치 단위별 임베딩 벡터(embedding vector)를 추출하고 이를 정상 제품의 패치 단위별 임베딩 벡터의 정규 분포와 비교하는 것을 통해 이미지를 분류 및 판정(양품 또는 불량) 할 수 있다.
이때, 상기 이미지 분류 및 판정 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, 상기 이미지 분류 및 판정 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 AI 장치(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, AI 장치(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
도 2는 본 개시의 일 실시 예에 따른 인공 지능 서버를 나타낸다.
도 2를 참조하면, 인공 지능 서버(200)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(200)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(200)는 AI 장치(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
AI 서버(200)는 통신부(210), 메모리(230), 러닝 프로세서(240) 및 프로세서(260) 등을 포함할 수 있다.
통신부(210)는 AI 장치(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(230)는 모델 저장부(231)를 포함할 수 있다. 모델 저장부(231)는 러닝 프로세서(240)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.
러닝 프로세서(240)는 학습 데이터를 이용하여 인공 신경망(231a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(200)에 탑재된 상태에서 이용되거나, AI 장치(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(230)에 저장될 수 있다.
프로세서(260)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 인공 지능 장치의 동작 방법을 설명하기 위한 순서도이다.
도 3을 참고하면, 인공 지능 장치(100)의 프로세서(180)는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 메모리(170)에 저장할 수 있다(S301).
프로세서(180) 정상 분류(positive class)에 속하는 정상 제품 이미지를 학습용 데이터로 획득하고 메모리(170)에 저장할 수 있다. 정상 제품 이미지는 생산되는 제품 중 불량이 없는 정상 제품을 촬영한 이미지를 의미할 수 있다. 한편, 프로세서(180)는 비정상 분류에 속하는 정상 제품 이미지를 학습용 데이터로 획득하고 메모리(170)에 저장할 수 있다. 비정상 제품 이미지는 생산되는 제품 중 불량인 비정상 제품을 촬영한 이미지를 의미할 수 있다. 한편, 프로세서(180)는 학습용 데이터를 증가시키기 위하여 정상 분류에 속하는 정상 제품 이미지 및 비정상 분류에 속하는 정상 제품 이미지 각각을 기초로 정상 제품 이미지 및 비정상 제품 이미지를 생성할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 학습용 데이터를 증가시키는 방법을 설명하기 위한 순서도이다.
프로세서(180)는 정상 분류에 속하는 정상 제품 이미지 또는 비정상 분류에속하는 비정상 제품 이미지를 획득할 수 있다(S401).
한편, 정상 제품 이미지 또는 비정상 제품 이미지는 제품을 촬영한 전체 이미지에서 소정의 크기에 해당하는 부분 이미지일 수 있다.
도 5는 본 개시의 일 실시 예에 따른 제품 이미지를 획득하는 방법을 설명하기 위한 도면이다.
도 5를 참고하면, 프로세서(180)는 제품을 촬영한 전체 제품 이미지(501)에서 소정의 크기에 해당하는 부분 이미지(502)를 획득할 수 있다.
예를 들어, 프로세서(180)는 전체 제품 이미지(501)의 각 부분을 순회하면서 소정의 크기에 해당하는 부분 이미지(502)를 획득할 수 있다.
제품을 촬영한 전체 제품 이미지(501)가 정상 또는 비정상 제품에 대한 이미지인 경우, 프로세서(180)는 각각의 부분 이미지(402)를 정상 또는 비정상 제품 이미지로서 획득할 수 있다.
한편, 도 4를 참고하면, 프로세서(180)는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지를 변형하여 정상 분류에 속하는 정상 제품 이미지를 생성할 수 있다(S402).
학습 데이터를 구축하기 위하여 생산되는 제품에 대한 정상 제품 이미지를 획득하는 경우 획득할 수 있는 정상 제품 이미지의 수가 제한적일 수 있고, 또한 주변 환경 조건으로 인해 변형될 수 있는 이미지의 특성을 반영하지 못하여 이미지의 다양성이 부족할 수 있다. 따라서, 프로세서(180)는 정상 제품 이미지에 대한 소정의 변형을 적용하여 정상 분류에 속하는 정상 제품 이미지를 추가로 생성함으로써 정상 분류에 속하는 정상 제품 이미지의 수 증가시킬 수 있다.
예를 들어, 프로세서(180)는 정상 제품 이미지에 대하여 밝기 변경, 컬러 변경, 명암 변경, 회전 및 리스케일 중 적어도 하나를 적용하여 상기 정상 분류에 속하는 정상 제품 이미지를 증가시킬 수 있다.
도 6는 본 개시의 일 실시 예에 따른 정상 제품 이미지 생성하는 방법을 설명하기 위한 도면이다.
도 6을 참고하면, 프로세서(180)는 정상 분류에 속하는 정상 제품 이미지들(600)을 증가시킬 수 있다. 프로세서(180)는 기존에 정상 분류에 속하는 정상 제품 이미지(601)에 대하여 밝기를 밝게 변경하여 정상 제품 이미지(601)에 비해 밝은 정상 제품 이미지(602)를 생성할 수 있다. 또한, 프로세서(180)는 기존에 정상 제품 이미지(601)에 대하여 회전을 적용하여 정상 제품 이미지(601)가 소정의 각도로 회전된 정상 제품 이미지(603)를 생성할 수 있다.
한편, 도 4를 참고하면, 프로세서(180)는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지를 변형하여 비정상 분류에 속하는 비정상 제품 이미지를 생성할 수 있다(S403).
생산 과정의 불량률이 낮은 것이 일반적이고 불량의 원인은 매우 다양하기 때문에 비정상 제품 이미지를 획득하기가 어려운 문제가 있다. 따라서, 프로세서(180)는 정상 분류에 속하는 정상 제품 이미지를 변형하여 비정상 분류에 속하는 비정상 변형 이미지를 생성할 수 있다.
예를 들어, 프로세서(180)는 정상 분류에 속하는 정상 제품 이미지에 대하여 컷 아웃(Cut-Out), 컷 페이스트(Cut-Pate) 및 노이즈 추가 중 적어도 하나를 적용하여 비정상 분류에 속하는 비정상 변형 이미지를 생성할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 비정상 제품 이미지를 생성하는 방법을 설명하기 위한 도면이다.
도 7을 참고하면, 프로세서(180)는 정상 분류에 속하는 정상 제품 이미지(601)에 대하여 소정의 이미지 부분을 컷 아웃(Cut-Out)하여 비정상 분류(700)에 속하는 비정상 변형 이미지(701)를 생성할 수 있다. 또한, 프로세서(180)는 정상 분류에 속하는 정상 제품 이미지(601)에 대하여 소정의 이미지 부분을 컷 페이스트(Cut-Pate)하여 비정상 분류(700)에 속하는 비정상 변형 이미지(702)를 생성할 수 있다.
한편, 도 4를 참고하면, 프로세서(180)는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지와 비정상 분류에 속하는 비정상 제품 이미지를 중첩하여 비정상 분류에 속하는 비정상 제품 이미지를 생성할 수 있다(S404).
예를 들어, 프로세서(180)는 제품 생산 과정에서 발생한 불량 제품에 대한 이미지인 비정상 제품 이미지에 대하여 정상 제품 이미지를 중첩시켜 정상 제품 이미지에 가까운 비정상 제품 이미지를 생성할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 비정상 제품 이미지를 생성하는 방법을 설명하기 위한 도면이다.
도 8을 참고하면, 프로세서(180)는 정상 제품 이미지(801)와 비정상 제품 이미지(802)를 중첩하여 비정상 제품 이미지(803)를 생성할 수 있다.
이 경우, 프로세서(180)은 정상 제품 이미지(801)과 비정상 제품 이미지(802)에 가중치 합(Weighted Sum)을 적용하여 중첩할 수 있다. 즉, 정상 제품 이미지에(801)에 ω(0≤ω≤1)값을 곱하고 비정상 제품 이미지(802)에 (1-ω)값을 곱한 후 두 이미지를 합산하는 방식으로 중첩한 이미지를 만들 수 있다.
따라서, 프로세서(180)는 중첩된 이미지에의 정상 제품 이미지의 특징을 감소시켜 비정상 분류에 속할 수 있도록 할 수 있다.
한편, 다시 도 3을 참고하면, 러닝 프로세서(130)는 특징 추출 모델을 대조 학습시킬 수 있다(S302).
러닝 프로세서(130)는 동일 분류에 속하는 제품 이미지의 표현 벡터(Representation Vector)가 서로 가까워지도록 하고, 서로 다른 분류에 속하는 제품 이미지의의 표현 벡터가 서로 멀어지도록 특징 추출 모델에 대한 대조 학습(Contrastive Leaning)을 시킬 수 있다.
한편, 러닝 프로세서(130)는 정상 분류에 속하는 적어도 하나의 정상 제품 이미지, 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 특징 추출 모델에 입력하고, 특징 추출 모델로부터 출력되는 동일 분류에 속하는 적어도 하나의 제품 이미지 간의 표현 벡터 간의 거리가 가까워지고, 서로 다른 분류에 속하는 제품 이미지의 표현 벡터 간의 거리가 멀어지도록 특징 추출 모델을 대조 학습(Contrastive Learning)시킬 수 있다. 여기서, 정상 분류에 속하는 정상 제품 이미지 및 비정상 분류에 속하는 비정상 제품 이미지는 상기 내용과 같이 도 4의 실시 예로 생성한 이미지일 수 있다.
한편, 특징 추출 모델은 소정의 이미지 데이터를 입력받고 입력된 소정의 이미지 데이터에 대한 표현 벡터를 출력하는 인공 신경망 모델일 수 있다. 예를 들어, 특징 추출 모델은 합성곱 신경망 (CNN, Convolutional Neural Network)일 수 있다.
한편, 러닝 프로세서(130)는 대조 손실(Contrastive Loss)기반의 손실함수를 기초로 상기 특징 추출 모델에 대한 대조 학습을 시킬 수 있다.
대조 손실(Contrastive Loss)기반의 손실함수는 다음과 같은 수학식 1로 구할 수 있다.
Figure PCTKR2023003768-appb-img-000001
x+는 정상 분류에 속하는 정상 제품 이미지를 의미한다. 또한, x-는 비정상 분류에 속하는 비정상 제품 이미지를 의미한다.
또한, z()함수는 표현 벡터를 출력하는 함수이고, sim()함수는 표현벡터 간 유사도를 측정하는 함수이다. Τ는 온도 하이퍼 파라미터(Temperature hyper-parameter)이다.
도 9는 본 개시의 일 실시 예에 따른 특징 추출 모델을 설명하기 위한 도면이다.
도 9를 참고하면, 러닝 프로세서(130)는 서로 다른 분류에 속하는 제품 이미지(901, 902)를 특징 추출 모델(903)에 각각 입력하여, 특징 추출 모델(902)로부터 출력되는 정상 제품 이미지(901)의 제1 표현 벡터(904) 및 비정상 제품 이미지(902의 제1 표현 벡터(905)가 서로 멀어지도록 대조 손실기반의 손실함수(906)를 기반으로 대조 학습시킬 수 있다. 여기서, 정상 제품 이미지(901) 및 비정상 제품 이미지(902)는 상기 내용과 같이 도 4의 실시 예로 생성한 이미지일 수 있다.
한편, 다시 도 3을 참고하면, 프로세서(180)는 학습된 특징 추출 모델을 기초로 정상 제품 이미지의 패치 단위별 임베딩 벡터를 획득할 수 있다(S303).
프로세서(180)는 대조 학습된 특징 추출 모델에 정상 분류에 속하는 적어도 하나 이상의 정상 제품 이미지를 입력하여, 적어도 하나 이상의 정상 제품 이미지의 패치 단위별 임베딩 벡터(embedding vector)를 획득할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 패치 단위별 임베딩 벡터를 획득하는 방법을 설명하기 위한 도면이다.
도 10을 참고하면, 프로세서(180)는 정상 분류에 속하는 N개의 정상 제품 이미지(1001)를 특징 추출 모델(1003)에 입력할 수 있다.
정상 제품 이미지(1001)는 W(폭)*H(높이)의 크기를 가질 수 있다.
프로세서(180)는 정상 제품 이미지(1001)의 패치 단위(1002)별 임베딩 벡터(1004)를 특징 추출 모델(1003)로부터 획득할 수 있다.
정상 제품 이미지(1001)는 W(폭)*H(높이)의 크기를 가질 수 있다.
프로세서(180)는 정상 제품 이미지(1001)의 패치 단위(1002)별 임베딩 벡터(1004)를 특징 추출 모델(1003)로부터 획득할 수 있다.
각각의 패치 단위(1002)는 정상 제품 이미지(1001)에서의 위치
Figure PCTKR2023003768-appb-img-000002
값을 기준으로 소정의 크기를 갖는 분할된 이미지 단위일수 있다. 이 경우, 패치 단위별 임베딩 벡터는
Figure PCTKR2023003768-appb-img-000003
로 정의될 수 있으며, N개의 정상 제품 이미지들에 대한 패치 단위별 임베딩 벡터 세트는
Figure PCTKR2023003768-appb-img-000004
로 정의될 수 있다.
한편, 다시 도 3을 참고하면, 프로세서(180)는 패치 단위별 임베딩 벡터의 정규분포를 획득할 수 있다(S304).
프로세서(180)는 적어도 하나의 패치 단위별 임베딩 벡터 각각에 대하여 패치 단위별 가우시안 분포를 획득할 수 있다.
도 10을 참고하면, 프로세서(180)는 N개의 정상 제품 이미지(1001)들에 대하여 패치 단위별 임베딩 벡터 세트를 기초로 가우시안 분포
Figure PCTKR2023003768-appb-img-000005
(1005)를 획득할 수 있다. 이 경우,
Figure PCTKR2023003768-appb-img-000006
는 N개의 정상 제품 이미지(1001)들의 패치 단위별 임베딩 벡터 세트
Figure PCTKR2023003768-appb-img-000007
의 표본 평균(sample mean)이고,
Figure PCTKR2023003768-appb-img-000008
는 표본 공분산(sample covariance)이다.
한편, 표본 공분산(sample covariance)
Figure PCTKR2023003768-appb-img-000009
는 다음과 같은 수학식 2로 계산될 수 있다.
Figure PCTKR2023003768-appb-img-000010
여기서,
Figure PCTKR2023003768-appb-img-000011
은 표본 공분산(sample covariance) 행렬
Figure PCTKR2023003768-appb-img-000012
을 풀랭크(full rank)하고 가역(invertible)으로 만들기 위한 정규화 변수(regularization term)이다.
프로세서(180)는 패치 단위(i, j)별 임베딩 벡터의 정규 분포인 가우시안 분포(1006)를 획득할 수 있다.
한편, 프로세서(180)는 대조 학습된 특징 추출 모델 및 정규 분포를 이용하여 검사 대상 제품이 정상 제품인지 불량 제품인지 여부를 판별할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 불량 제품 판별 방법을 설명하기 위한 순서도이다.
프로세서(180)는 검사 대상이 되는 제품에 대한 검사 제품 이미지를 획득할 수 있다(S1101). 검사 제품 이미지는 제품의 생산 과정 또는 검수 과정에서 카메라 등을 이용해 촬영된 이미지일 수 있다. 검사 제품 이미지는 메모리(170)에 저장된 이미지이거나 통신부(110)를 통해 외부 장치로부터 수신되어 저장된 이미지일 수 있다.
프로세서(180)는 획득한 검사 제품 이미지를 특징 추출 모델에 입력하고, 특징 추출 모델로부터 검사 제품 이미지의 패치 단위별 임베딩 벡터를 획득할 수 있다(S1102).
또한, 프로세서(180)는 획득한 검사 제품 이미지의 패치 단위별 임베딩 벡터와 패치 단위별 정규 분포 사이의 거리를 획득할 수 있다(S1103).
프로세서(180)는 다음과 같은 수학식 3에 의해 거리 값을 획득할 수 있다.
Figure PCTKR2023003768-appb-img-000013
이 경우,
Figure PCTKR2023003768-appb-img-000014
는 획득한 검사 제품 이미지의 패치 단위별 임베딩 벡터이고,
Figure PCTKR2023003768-appb-img-000015
Figure PCTKR2023003768-appb-img-000016
는 상기 도 10의 실시 예에서 설명한 정상 제품 이미지로부터 획득한 패치 단위별 가우시안 분포 값일 수 있다.
프로세서(180)는 획득한 거리에 따라 검사 대상이 되는 제품이 정상 제품인지 불량 제품인지 여부를 판별할 수 있다(S1105).
프로세서(180)는 거리가 소정의 불량 기준 값 이하인 경우 정상 제품으로 판별할 수 있다(S1106). 패치 단위별 가우시안 분포는 정상 제품 이미지로부터 추정한 분포로 검사 대상 이미지의 패치 단위별 임베딩 벡터와의 거리 값이 작을수록 정상 제품일 확률이 높기 때문이다.
한편, 프로세서(180)는 거리가 소정의 불량 기준 값을 초과하는 경우 불량 제품으로 판별할 수 있다(S1107).
본 개시의 일실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.

Claims (12)

  1. 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 저장하는 메모리;
    동일 분류에 속하는 제품 이미지의 표현 벡터(Representation Vector)가 가까워지도록 하고, 서로 다른 분류에 속하는 제품 이미지의의 표현 벡터가 서로 멀어지도록 특징 추출 모델에 대한 대조 학습(Contrastive Leaning)을 시키는 러닝 프로세서; 및
    상기 대조 학습된 특징 추출 모델에 상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지를 입력하여 적어도 하나의 정상 제품 이미지의 패치 단위별 임베딩 벡터(embedding vector)를 획득하고, 상기 획득한 패치 단위별 임베딩 벡터의 정규 분포를 획득하는 프로세서를 포함하는,
    인공 지능 장치.
  2. 제1 항에 있어서,
    상기 프로세서는,
    상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지에 대하여 밝기 변경, 컬러 변경, 명암 변경, 회전 및 리스케일 중 적어도 하나를 적용하여 상기 정상 분류에 속하는 정상 제품 이미지를 생성하는,
    인공 지능 장치.
  3. 제1 항에 있어서,
    상기 프로세서는,
    상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지에 대하여 컷 아웃(Cut-Out), 컷 페이스트(Cut-Pate) 및 노이즈 추가 중 적어도 하나를 적용하여 상기 비정상 분류에 속하는 비정상 제품 이미지를 생성하는,
    인공 지능 장치.
  4. 제1 항에 있어서,
    상기 프로세서는,
    상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 중첩하여 상기 비정상 분류에 속하는 비정상 제품 이미지를 생성하는,
    인공 지능 장치.
  5. 제1 항에 있어서,
    상기 러닝 프로세서는,
    대조 손실(Contrastive Loss)기반의 손실함수를 기초로 상기 특징 추출 모델에 대한 대조 학습을 시키는,
    인공 지능 장치.
  6. 제1 항에 있어서,
    상기 프로세서는,
    검사 대상이 되는 제품에 대한 검사 제품 이미지를 획득하고, 상기 검사 제품 이미지를 상기 특징 추출 모델에 입력하여 상기 특징 추출 모델로부터 상기 검사 제품 이미지의 패치 단위별 임베딩 벡터를 획득하고, 상기 검사 제품 이미지의 패치 단위별 임베딩 벡터와 상기 패치 단위별 정규 분포 사이의 거리를 획득하고, 상기 거리 값에 따라 상기 검사 대상이 되는 제품이 정상 제품인지 불량 제품인지 여부를 판별하는,
    인공 지능 장치.
  7. 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 저장하는 단계;
    동일 분류에 속하는 제품 이미지의 표현 벡터(Representation Vector)가 가까워지도록 하고, 서로 다른 분류에 속하는 제품 이미지의의 표현 벡터가 서로 멀어지도록 특징 추출 모델에 대한 대조 학습(Contrastive Leaning)을 시키는 단계;
    상기 대조 학습된 특징 추출 모델에 상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지를 입력하여 적어도 하나의 정상 제품 이미지의 패치 단위별 임베딩 벡터(embedding vector)를 획득하는 단계; 및
    상기 획득한 패치 단위별 임베딩 벡터의 정규 분포를 획득하는 단계를 포함하는,
    불량 제품 감지 방법.
  8. 제7 항에 있어서,
    상기 제품 이미지를 저장하는 단계는,
    상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지에 대하여 밝기 변경, 컬러 변경, 명암 변경, 회전 및 리스케일 중 적어도 하나를 적용하여 상기 정상 분류에 속하는 정상 제품 이미지를 생성하는 단계를 포함하는,
    불량 제품 감지 방법.
  9. 제7 항에 있어서,
    상기 제품 이미지를 저장하는 단계는,
    상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지에 대하여 컷 아웃(Cut-Out), 컷 페이스트(Cut-Pate) 및 노이즈 추가 중 적어도 하나를 적용하여 상기 비정상 분류에 속하는 비정상 제품 이미지를 생성하는 단계를 포함하는,
    불량 제품 감지 방법.
  10. 제7 항에 있어서,
    상기 제품 이미지를 저장하는 단계는,
    상기 정상 분류에 속하는 적어도 하나의 정상 제품 이미지 및 비정상 분류에 속하는 적어도 하나의 비정상 제품 이미지를 중첩하여 상기 비정상 분류에 속하는 비정상 제품 이미지를 생성하는 단계를 포함하는,
    불량 제품 감지 방법.
  11. 제7 항에 있어서,
    상기 대조 학습을 시키는 단계는,
    대조 손실(Contrastive Loss)기반의 손실함수를 기초로 상기 특징 추출 모델에 대한 대조 학습을 시키는 단계를 포함하는,
    불량 제품 감지 방법.
  12. 제7 항에 있어서,
    검사 대상이 되는 제품에 대한 검사 제품 이미지를 획득하는 단계;
    상기 검사 제품 이미지를 상기 특징 추출 모델에 입력하여 상기 특징 추출 모델로부터 상기 검사 제품 이미지의 패치 단위별 임베딩 벡터를 획득하는 단계;
    상기 검사 제품 이미지의 패치 단위별 임베딩 벡터와 상기 패치 단위별 정규 분포 사이의 거리를 획득하는 단계 및
    상기 거리 값에 따라 상기 검사 대상이 되는 제품이 정상 제품인지 불량 제품인지 여부를 판별하는 단계를 더 포함하는,
    불량 제품 감지 방법.
PCT/KR2023/003768 2022-03-23 2023-03-22 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법 WO2023182795A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0036221 2022-03-23
KR1020220036221A KR20230138314A (ko) 2022-03-23 2022-03-23 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법

Publications (1)

Publication Number Publication Date
WO2023182795A1 true WO2023182795A1 (ko) 2023-09-28

Family

ID=88101824

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/003768 WO2023182795A1 (ko) 2022-03-23 2023-03-22 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법

Country Status (2)

Country Link
KR (1) KR20230138314A (ko)
WO (1) WO2023182795A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129714A (ja) * 2006-11-17 2008-06-05 Univ Of Tsukuba 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法
US20210326660A1 (en) * 2020-04-21 2021-10-21 Google Llc Supervised Contrastive Learning with Multiple Positive Examples
JP2021174456A (ja) * 2020-04-30 2021-11-01 ボッシュ株式会社 異常判定方法及び異常判定装置
KR20220016245A (ko) * 2019-11-12 2022-02-08 라온피플 주식회사 불량 이미지 생성 장치 및 방법
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
JP2008129714A (ja) * 2006-11-17 2008-06-05 Univ Of Tsukuba 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法
KR20220016245A (ko) * 2019-11-12 2022-02-08 라온피플 주식회사 불량 이미지 생성 장치 및 방법
US20210326660A1 (en) * 2020-04-21 2021-10-21 Google Llc Supervised Contrastive Learning with Multiple Positive Examples
JP2021174456A (ja) * 2020-04-30 2021-11-01 ボッシュ株式会社 異常判定方法及び異常判定装置
JP2022037623A (ja) * 2020-08-25 2022-03-09 株式会社Ye Digital 異常検知方法、異常検知装置および異常検知プログラム

Also Published As

Publication number Publication date
KR20230138314A (ko) 2023-10-05

Similar Documents

Publication Publication Date Title
WO2019074195A1 (ko) 딥러닝 기반 이미지 비교 장치, 방법 및 컴퓨터 판독가능매체에 저장된 컴퓨터 프로그램
WO2018212494A1 (ko) 객체를 식별하는 방법 및 디바이스
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2019132410A1 (en) Electronic device and control method thereof
WO2019172642A1 (ko) 심장 박동을 측정하기 위한 전자 장치 및 방법
WO2023106890A1 (ko) 전자 장치 및 그 제어 방법
WO2019190171A1 (ko) 전자 장치 및 그 제어 방법
WO2024080791A1 (ko) 데이터셋을 생성하기 위한 방법
WO2020204219A1 (ko) 인공지능을 이용한 사물 인식 학습에서 아웃라이어를 분류하는 방법 및 분류장치와 로봇
WO2023182795A1 (ko) 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법
WO2019107674A1 (en) Computing apparatus and information input method of the computing apparatus
WO2021040192A1 (ko) 인공지능 모델을 학습시키는 시스템 및 방법
WO2020204610A1 (ko) 딥러닝 기반 컬러링 방법, 시스템 및 프로그램
WO2023182713A1 (ko) 인공지능 기반으로 텍스트 및 비-텍스트 이미지를 포함하는 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
WO2020149493A1 (ko) 전자 장치 및 이의 제어 방법
WO2023182796A1 (ko) 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법
WO2022177345A1 (ko) 인공지능 기반으로 화면 정보를 인지하여 화면 상의 오브젝트에 이벤트를 발생시키는 방법 및 시스템
WO2022039494A1 (ko) 단말의 모델을 갱신하는 서버 및 그 동작 방법
WO2023182794A1 (ko) 검사 성능을 유지하기 위한 메모리 기반 비전 검사 장치 및 그 방법
WO2022035054A1 (ko) 로봇 및 이의 제어 방법
WO2023054913A1 (ko) 포스 터치를 확인하는 전자 장치와 이의 동작 방법
WO2023128677A1 (ko) 다중 레이블 세트를 이용한 학습 모델 생성 방법 및 이를 위한 장치
WO2020130687A1 (en) System and method for automated execution of user-specified commands
WO2022092335A1 (ko) 개인 인증 방법

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: 23775291

Country of ref document: EP

Kind code of ref document: A1