KR102475851B1 - System and method of defect inspection using generation and transformation of input and output data based on deep learning - Google Patents

System and method of defect inspection using generation and transformation of input and output data based on deep learning Download PDF

Info

Publication number
KR102475851B1
KR102475851B1 KR1020200086725A KR20200086725A KR102475851B1 KR 102475851 B1 KR102475851 B1 KR 102475851B1 KR 1020200086725 A KR1020200086725 A KR 1020200086725A KR 20200086725 A KR20200086725 A KR 20200086725A KR 102475851 B1 KR102475851 B1 KR 102475851B1
Authority
KR
South Korea
Prior art keywords
image
input
layer
feature map
defect
Prior art date
Application number
KR1020200086725A
Other languages
Korean (ko)
Other versions
KR20220008530A (en
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 한국생산기술연구원
Priority to KR1020200086725A priority Critical patent/KR102475851B1/en
Publication of KR20220008530A publication Critical patent/KR20220008530A/en
Application granted granted Critical
Publication of KR102475851B1 publication Critical patent/KR102475851B1/en

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
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06K9/6267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

본 발명은 원본 데이터의 부족 현상을 효과적으로 해결할 수 있게 하는 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템 및 방법에 관한 것으로서, 원본 영상이 입력되면 상기 원본 영상과 동일하거나 유사한 복수개의 복원 영상을 생성하고, 상기 복원 영상을 이용하여 보간 영상을 생성하는 보간 영상 생성 모듈; 및 상기 복원 영상과 상기 보간 영상을 딥러닝 방식으로 학습시켜서 제품의 결함을 분류하는 결함 검사 모듈;를 포함할 수 있다.The present invention relates to a deep learning-based product defect inspection system and method using input/output data generation and transformation that can effectively solve the shortage of original data, and when an original image is input, a plurality of restored images identical or similar to the original image. an interpolation image generation module for generating an interpolation image and generating an interpolation image using the reconstructed image; and a defect inspection module configured to classify product defects by learning the reconstructed image and the interpolated image using a deep learning method.

Description

입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템 및 방법{System and method of defect inspection using generation and transformation of input and output data based on deep learning}System and method of defect inspection using generation and transformation of input and output data based on deep learning}

본 발명은 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템에 관한 것으로서, 보다 상세하게는 원본 데이터의 부족 현상을 효과적으로 해결할 수 있게 하는 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템 및 방법에 관한 것이다.The present invention relates to a deep learning-based product defect inspection system using input/output data generation and transformation, and more particularly, a deep learning-based product defect inspection system using input/output data generation and transformation that can effectively solve the shortage of original data. and methods.

최근 스마트 팩토리 구현을 위한 다양한 기술들이 집중적으로 연구되고 있다. 예컨대, 스마트 팩토리 구현을 위해서는 원료량, 원료 품질, 제조 공정 데이터(온도, 습도 등), 설비 운전 조건 등의 다양한 공정 데이터가 필요하고, 그 결과로 나타나는 제품의 품질 데이터가 데이터베이스화 되어야 한다. 즉, 공장의 인풋(input)과 아웃풋(output) 간의 상관 관계를 분석하여 품질을 예측하고, 대량 결함 발생을 사전에 방지하며, 설비 고장을 사전에 예측하여 선제적으로 대응할 수 있어야 한다.Recently, various technologies for smart factory implementation have been intensively researched. For example, in order to implement a smart factory, various process data such as raw material amount, material quality, manufacturing process data (temperature, humidity, etc.), and facility operating conditions are required, and the resulting product quality data must be databased. That is, it is necessary to predict quality by analyzing the correlation between input and output of the factory, prevent mass defects in advance, and predict facility failures in advance to respond preemptively.

이러한, 스마트 팩토리 구현을 위해 제품의 결함을 실시간 검사하고 제품 품질을 판정하는 결함 검사 시스템은 핵심 기술 중 하나이다. To implement such a smart factory, a defect inspection system that inspects product defects in real time and determines product quality is one of the core technologies.

일반적으로 결함 검사를 위한 비전 시스템의 구성은 다음과 같다. In general, the configuration of a vision system for defect inspection is as follows.

제품의 상태를 영상화 하는 조명과 카메라로 구성된 광학 모듈, 영상에서 결함의 위치와 종류를 자동 판단하는 인식 모듈, 그리고 마지막으로 제품의 영상과 판단 결과를 저장하는 데이터베이스로 크게 3가지를 포함하여 구성될 수 있다.It consists of three major components: an optical module composed of lighting and a camera that visualizes the state of the product, a recognition module that automatically determines the location and type of defects in the image, and a database that stores the product image and judgment results. can

특히, 이중에서도 영상에서 결함의 위치와 종류를 판단하는 인식 모듈이 결함 검사 성능에 영향을 미치는 주요 요소이다. 종래에는 정상과 결함을 판단하기 위해, 개발자의 경험적 판단으로 룰베이스(rule-base) 방법에 의존하여 특징의 주요 인자를 추출하는 알고리즘 개발 방법으로 시스템을 개발하였지만, 이러한 방법은 개발 기간이 길어지고, 제품과 결함에 따라 매번 주요 인자 추출 알고리즘을 개발해야하는 단점과 그에 따른 인식 성능 저하가 나타났다. 따라서 최근에는 결함 검출 및 분류를 위한 특징 추출을 스스로 할 수 있는 딥러닝 기술을 이용하여 인식 알고리즘을 개발하는 추세이다.In particular, a recognition module that determines the location and type of a defect in an image is a major factor influencing defect inspection performance. Conventionally, in order to determine normality and defect, the system was developed as an algorithm development method that extracts the main factor of the feature by relying on the rule-base method based on the developer's empirical judgment, but this method takes a long development period and , the disadvantage of having to develop a key factor extraction algorithm every time depending on the product and defect, and the consequent degradation in recognition performance. Therefore, in recent years, there is a tendency to develop recognition algorithms using deep learning technology that can independently extract features for defect detection and classification.

그러나, 실제 제조업에 데이터 드라이븐(data-driven) 기술 중 하나인 딥러닝 기술을 적용할 때 충분한 양의 데이터가 있어야 효과적인 성능을 확보할 수 있는 것으로서, 종래에는 이렇게 학습시킬 결함 데이터가 부족한 경우가 실제 제조업에서는 빈번히 발생했었다. 이러한 데이터 부족 현상으로 인해 제조업에 인공지능 적용이 어려운 경우가 많았다. 이렇게 적은 양의 데이터를 이용하여 학습을 진행할 경우 학습된 데이터에 대해서는 우수한 성능을 보이지만, 실제 학습된 모델을 이용하여 결함 검사를 진행할 경우에는 성능이 떨어지는 오버피팅(over-fitting) 문제가 발생했었다.However, when deep learning technology, one of data-driven technologies, is applied to actual manufacturing, effective performance can be secured only when there is a sufficient amount of data. In practice, this happened frequently. This lack of data has often made it difficult to apply artificial intelligence to manufacturing. When learning is performed using such a small amount of data, an over-fitting problem occurs, which shows excellent performance for the learned data, but deteriorates performance when performing defect inspection using the actually learned model.

본 발명은 상기와 같은 문제점을 포함하여 여러 문제점들을 해결하기 위한 것으로서, 적은 양의 데이터만으로도 우수한 일반화 성능을 확보할 수 있는 획기적인 기술로서, 딥러닝 방식으로 스스로 적은 양의 원본 영상을 다수회로 복원한 대량의 복원 영상과 보간 영상을 학습하게 하여 결함의 특징을 추출할 수 있고, 복원 영상으로부터 보간 영상을 추가적으로 생성하여 데이터 부족 현상을 해결할 수 있으며, 다양하고도 많은 양의 복원 영상과 보간 영상을 빠른 시간 안에 취득할 수 있어서 원본 영상의 부족 현상을 방지함으로써 제조업 제품의 결함 검사 및 품질 진단에 대한 정밀도와 판정의 정확도를 크게 향상시킬 수 있고, 제품의 결함 검사 뿐만 아니라, 비파괴 검사와 같은 진단 분야에도 사용될 수 있으며, 스마트 팩토리(Smart Factory) 구현의 필수 기술로서 생산 조업 조건에 따른 설비의 상태를 판정하고 설비 상태에 따른 제품의 품질을 예측하여 생산 조건을 최적화하는 기술에도 응용할 수 있게 하는 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템 및 방법을 제공하는 것을 목적으로 한다. 그러나 이러한 과제는 예시적인 것으로, 이에 의해 본 발명의 범위가 한정되는 것은 아니다.The present invention is intended to solve various problems, including the above problems, and is a groundbreaking technology that can secure excellent generalization performance with only a small amount of data. Defect features can be extracted by learning a large amount of restored and interpolated images, and interpolation images can be additionally generated from restored images to solve the data shortage problem, and a variety of and large amounts of restored and interpolated images can be quickly generated. It can be acquired within a short period of time, thereby preventing the shortage of original images, greatly improving the precision and accuracy of judgment for defect inspection and quality diagnosis of manufacturing products. As an essential technology for realizing a smart factory, input/output data generation that can be applied to technology that optimizes production conditions by determining the state of facilities according to production operating conditions and predicting product quality according to facility conditions And to provide a deep learning-based product defect inspection system and method using deformation. However, these tasks are illustrative, and the scope of the present invention is not limited thereby.

상기 과제를 해결하기 위한 본 발명의 사상에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템은, 원본 영상이 입력되면 상기 원본 영상과 동일하거나 유사한 복수개의 복원 영상을 생성하고, 상기 복원 영상을 이용하여 보간 영상을 생성하는 보간 영상 생성 모듈; 및 상기 복원 영상과 상기 보간 영상을 딥러닝 방식으로 학습시켜서 제품의 결함을 분류하는 결함 검사 모듈;를 포함할 수 있다.Deep learning-based product defect inspection system using input/output data generation and transformation according to the spirit of the present invention for solving the above problems generates a plurality of restored images identical or similar to the original image when an original image is input, and the restored image An interpolation image generation module for generating an interpolation image using an image; and a defect inspection module configured to classify product defects by learning the reconstructed image and the interpolated image using a deep learning method.

또한, 본 발명에 따르면, 상기 보간 영상 생성 모듈은, 입력된 원본 영상을 특징맵으로 맵핑하는 제 1 인코더; 상기 특징맵을 제 1 복원용 제트값(Z1)에 기초하여 제 1 복원 영상으로 복원하고, 제 2 복원용 제트값(Z2)을 기초하여 제 2 복원 영상으로 복원하는 제 1 디코더; 및 상기 특징맵을 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)을 모두 이용한 양자 보간식에 의해서 상기 양자 보간식의 변수(a)를 N회 변화시키면서 산출된 복수개의 제 N 보간 제트값(ZNnew)에 기초하여 복수개의 제 N 보간 영상으로 복원하는 제 2 디코더;를 포함할 수 있다.In addition, according to the present invention, the interpolation image generation module may include: a first encoder for mapping an input original image to a feature map; a first decoder for restoring the feature map into a first reconstruction image based on a first restoration jet value Z1 and restoring a second reconstruction image based on a second restoration jet value Z2; And the feature map is calculated by changing the variable (a) of the quantum interpolation equation N times by a quantum interpolation equation using both the first restoration jet value Z1 and the second restoration jet value Z2 A second decoder for restoring a plurality of N-th interpolated images based on a plurality of N-th interpolated jet values ZNnew.

또한, 본 발명에 따르면, 상기 제 1 복원용 제트값과 상기 제 2 복원용 제트값은, 상기 제 1 복원 영상이 상기 원본 영상과 동일하거나 유사하게 생성되도록 학습되는 매개 랜덤 은닉 변수일 수 있다.Further, according to the present invention, the first restoration jet value and the second restoration jet value may be intermediate random hidden variables that are learned so that the first reconstruction image is generated identically or similarly to the original image.

또한, 본 발명에 따르면, 상기 양자 보간식은, ZNnew = a*Z1 + (1-a)*Z2, (여기서, 0 < a < 1)일 수 있다.Also, according to the present invention, the quantum interpolation equation may be ZNnew = a*Z1 + (1-a)*Z2, where 0 < a < 1).

또한, 본 발명에 따르면, 상기 양자 보간식에 따른 새로운 레이블(label) Y는, YNnew = a*Y1 + (1-a)*Y2, (여기서, 0 < a < 1)이고, [a, 1-a, 0, 0, 0,,,]과 같이. 클라스(class)별 가중치가 반영된 소프트(soft) 레이블 백터값으로 표시될 수 있다.In addition, according to the present invention, the new label Y according to the quantum interpolation equation is YNnew = a * Y1 + (1-a) * Y2, (where 0 < a < 1), [a, 1 Like -a, 0, 0, 0,,,]. It can be expressed as a soft label vector value in which weights for each class are reflected.

또한, 본 발명에 따르면, 상기 제 1 인코더는, 필터로 입력값을 컨볼루션하여 보다 작은 사이즈의 특징맵을 추출하는 컨볼루션 레이어(convolution layer); 배치의 평균이나 표준편차를 기초로 정규화된 출력값을 생성하는 배치 정규화 레이어(batch normalization layer); 컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 활성화 함수(activation function); 및 특징맵에서 풀링 커널 크기만큼의 데이터를 더 작은 사이즈의 데이터로 서브샘플링하는 풀링 레이어(pooling layer);를 포함할 수 있다.In addition, according to the present invention, the first encoder may include a convolution layer for extracting a feature map having a smaller size by convolving an input value with a filter; a batch normalization layer that generates normalized output values based on the mean or standard deviation of the batches; an activation function for additionally activating data after a convolution operation; and a pooling layer for subsampling data as much as the size of the pooling kernel in the feature map into data of a smaller size.

또한, 본 발명에 따르면, 상기 제 1 디코더 또는 상기 제 2 디코더는, 필터로 입력값을 디컨볼루션하여 보다 큰 사이즈의 특징맵을 추출하는 디컨볼루션 레이어(deconvolution layer); 배치의 평균이나 표준편차를 기초로 정규화된 출력값을 생성하는 배치 정규화 레이어(batch normalization layer); 컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 활성화 함수(activation function); 및 특징맵에서 풀링 커널 크기만큼의 데이터를 더 큰 사이즈의 데이터로 업샘플링하는 언풀링 레이어(unpooling layer);를 포함할 수 있다.In addition, according to the present invention, the first decoder or the second decoder may include a deconvolution layer for extracting a feature map having a larger size by deconvoluting an input value with a filter; a batch normalization layer that generates normalized output values based on the mean or standard deviation of the batches; an activation function for additionally activating data after a convolution operation; and an unpooling layer upsampling data as large as the size of the pooling kernel in the feature map to data of a larger size.

또한, 본 발명에 따르면, 상기 결함 검사 모듈은, 적어도 컨볼루션 레이어, 풀링 레이어, 활성화 함수 및 이들의 조합들 중 어느 하나 이상을 포함하여 복수개의 상기 복원 영상 및 상기 보간 영상으로부터 결함 특징맵을 추출하는 결함 특징 추출부; 적어도 디컨볼루션 레이어, 언풀링 레이어, 활성화 함수 및 이들의 조합들 중 어느 하나 이상을 포함하여 상기 결함 특징맵을 결함 복원 영상으로 복원하는 결함 복원부; 및 상기 결함 복원 영상을 결함의 종류별로 분류하는 분류기;를 포함할 수 있다.In addition, according to the present invention, the defect inspection module extracts a defect feature map from a plurality of the reconstructed images and the interpolated image, including at least one or more of a convolution layer, a pooling layer, an activation function, and combinations thereof. a defect feature extraction unit; a defect restoration unit that restores the defect feature map into a defect restoration image, including at least one of a deconvolution layer, an unpooling layer, an activation function, and combinations thereof; and a classifier for classifying the defect restoration image according to defect types.

한편, 상기 과제를 해결하기 위한 본 발명의 사상에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법은, (a) 원본 영상이 입력되면 상기 원본 영상과 동일하거나 유사한 복수개의 복원 영상을 생성하고, 상기 복원 영상을 이용하여 보간 영상을 생성하는 단계; 및 (b) 상기 복원 영상과 상기 보간 영상을 딥러닝 방식으로 학습시켜서 제품의 결함을 분류하는 단계;를 포함할 수 있다.On the other hand, a deep learning-based product defect inspection method using input and output data generation and transformation according to the spirit of the present invention for solving the above problems is, (a) when an original image is input, a plurality of restored images identical or similar to the original image are input. generating, and generating an interpolation image using the reconstructed image; and (b) classifying defects of the product by learning the reconstructed image and the interpolated image using a deep learning method.

또한, 본 발명에 따르면, 상기 (a) 단계는, (a-1) 입력된 원본 영상을 특징맵으로 맵핑하는 단계; (a-2) 상기 특징맵을 제 1 복원용 제트값(Z1)에 기초하여 제 1 복원 영상으로 복원하고, 제 2 복원용 제트값(Z2)을 기초하여 제 2 복원 영상으로 복원하는 단계; 및 (a-3) 상기 특징맵을 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)을 모두 이용한 양자 보간식에 의해서 상기 양자 보간식의 변수(a)를 N회 변화시키면서 산출된 복수개의 제 N 보간 제트값(ZNnew)에 기초하여 복수개의 제 N 보간 영상으로 복원하는 단계;를 포함할 수 있다.In addition, according to the present invention, the step (a) may include (a-1) mapping the input original image to a feature map; (a-2) restoring the feature map into a first reconstruction image based on a first restoration jet value Z1, and restoring a second reconstruction image based on a second restoration jet value Z2; and (a-3) a variable (a) of the quantum interpolation equation is set to N by a quantum interpolation equation using both the first restoration jet value Z1 and the second restoration jet value Z2 for the feature map. and restoring a plurality of N-th interpolated images based on the plurality of N-th interpolated jet values ZNnew calculated while changing the number of times.

또한, 본 발명에 따르면, 상기 (b) 단계는, (b-1) 적어도 컨볼루션 레이어, 풀링 레이어, 활성화 함수 및 이들의 조합들 중 어느 하나 이상을 이용하여 복수개의 상기 복원 영상 및 상기 보간 영상으로부터 결함 특징맵을 추출하는 단계; (b-2) 적어도 디컨볼루션 레이어, 언풀링 레이어, 활성화 함수 및 이들의 조합들 중 어느 하나 이상을 포함하여 상기 결함 특징맵을 결함 복원 영상으로 복원하는 단계; 및 (b-3) 상기 결함 복원 영상을 결함의 종류별로 분류하는 단계;를 포함할 수 있다.In addition, according to the present invention, in the step (b), (b-1) a plurality of the reconstructed images and the interpolated images using at least one or more of a convolution layer, a pooling layer, an activation function, and combinations thereof extracting a defect feature map from; (b-2) restoring the defect feature map into a defect reconstructed image by including at least one or more of a deconvolution layer, an unpooling layer, an activation function, and combinations thereof; and (b-3) classifying the defect reconstruction image according to defect types.

상기한 바와 같이 이루어진 본 발명의 여러 실시예들에 따르면, 적은 양의 데이터만으로도 우수한 일반화 성능을 확보할 수 있는 획기적인 기술로서, 딥러닝 방식으로 스스로 적은 양의 원본 영상을 다수회로 복원한 대량의 복원 영상과 보간 영상을 학습하게 하여 결함의 특징을 추출할 수 있고, 복원 영상으로부터 보간 영상을 추가적으로 생성하여 데이터 부족 현상을 해결할 수 있으며, 다양하고도 많은 양의 복원 영상과 보간 영상을 빠른 시간 안에 취득할 수 있어서 원본 영상의 부족 현상을 방지함으로써 제조업 제품의 결함 검사 및 품질 진단에 대한 정밀도와 판정의 정확도를 크게 향상시킬 수 있고, 제품의 결함 검사 뿐만 아니라, 비파괴 검사와 같은 진단 분야에도 사용될 수 있으며, 스마트 팩토리(Smart Factory) 구현의 필수 기술로서 생산 조업 조건에 따른 설비의 상태를 판정하고 설비 상태에 따른 제품의 품질을 예측하여 생산 조건을 최적화하는 기술에도 응용할 수 있는 효과를 갖는 것이다. 물론 이러한 효과에 의해 본 발명의 범위가 한정되는 것은 아니다.According to various embodiments of the present invention made as described above, it is an innovative technology capable of securing excellent generalization performance with only a small amount of data, and a large amount of restoration by restoring a small amount of original image multiple times by itself using a deep learning method. Defect features can be extracted by learning images and interpolation images, and interpolation images can be additionally generated from restored images to solve the data shortage phenomenon, and various and large amounts of restored images and interpolated images can be acquired in a short time It can greatly improve the precision and accuracy of judgment for defect inspection and quality diagnosis of manufacturing products by preventing the shortage of original images, and can be used not only for product defect inspection but also for diagnostic fields such as non-destructive inspection. , As an essential technology for realizing a smart factory, it has an effect that can be applied to technology that optimizes production conditions by determining the state of facilities according to production operating conditions and predicting product quality according to facility conditions. Of course, the scope of the present invention is not limited by these effects.

도 1은 본 발명의 일부 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템을 개념적으로 나타내는 블록도이다.
도 2는 도 1의 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템의 보간 영상 생성 모듈을 나타내는 개념도이다.
도 3은 도 1의 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템의 보간 영상 생성 모듈을 보다 상세하게 나타내는 개념도이다.
도 4는 도 1의 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템의 제 1 인코더와, 제 N 복원용 제트값 및 제 1 디코더 간의 관계의 일례를 개념적으로 나타내는 개념도이다.
도 5는 도 1의 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템의 결함 검사 모듈을 개념적으로 나타내는 개념도이다.
도 6은 본 발명의 일부 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법을 나타내는 순서도이다.
도 7은 본 발명의 일부 다른 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법을 나타내는 순서도이다.
1 is a block diagram conceptually illustrating a deep learning-based product defect inspection system using input/output data generation and transformation according to some embodiments of the present invention.
FIG. 2 is a conceptual diagram illustrating an interpolation image generating module of a deep learning-based product defect inspection system using input/output data generation and transformation of FIG. 1 .
FIG. 3 is a conceptual diagram showing an interpolation image generation module of the deep learning-based product defect inspection system using the generation and transformation of input/output data of FIG. 1 in more detail.
FIG. 4 is a conceptual diagram conceptually illustrating an example of a relationship between a first encoder, an Nth restoring jet value, and a first decoder of the deep learning-based product defect inspection system using the generation and transformation of input/output data of FIG. 1 .
5 is a conceptual diagram conceptually illustrating a defect inspection module of a deep learning-based product defect inspection system using the generation and transformation of input/output data of FIG. 1 .
6 is a flowchart illustrating a deep learning-based product defect inspection method using input/output data generation and transformation according to some embodiments of the present invention.
7 is a flowchart illustrating a deep learning-based product defect inspection method using input/output data generation and transformation according to some other embodiments of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 여러 실시예들을 상세히 설명하기로 한다.Hereinafter, several preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려 이들 실시예들은 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다. 또한, 도면에서 각 층의 두께나 크기는 설명의 편의 및 명확성을 위하여 과장된 것이다.The embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art, and the following examples may be modified in many different forms, and the scope of the present invention is as follows It is not limited to the examples. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the spirit of the invention to those skilled in the art. In addition, the thickness or size of each layer in the drawings is exaggerated for convenience and clarity of explanation.

본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이, 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)" 및/또는 "포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다.Terms used in this specification are used to describe specific embodiments and are not intended to limit the present invention. As used herein, the singular form may include the plural form unless the context clearly indicates otherwise. Also, when used herein, "comprise" and/or "comprising" specifies the presence of the recited shapes, numbers, steps, operations, elements, elements, and/or groups thereof. and does not exclude the presence or addition of one or more other shapes, numbers, operations, elements, elements and/or groups.

이하, 본 발명의 실시예들은 본 발명의 이상적인 실시예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 제조 기술 및/또는 공차(tolerance)에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명 사상의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조상 초래되는 형상의 변화를 포함하여야 한다.Hereinafter, embodiments of the present invention will be described with reference to drawings schematically showing ideal embodiments of the present invention. In the drawings, variations of the depicted shape may be expected, depending on, for example, manufacturing techniques and/or tolerances. Therefore, embodiments of the inventive concept should not be construed as being limited to the specific shape of the region shown in this specification, but should include, for example, a change in shape caused by manufacturing.

도 1은 본 발명의 일부 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템(100)을 개념적으로 나타내는 블록도이다.1 is a block diagram conceptually showing a deep learning-based product defect inspection system 100 using input/output data generation and transformation according to some embodiments of the present invention.

먼저, 도 1에 도시된 바와 같이, 본 발명의 일부 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템(100)은, 크게 보간 영상 생성 모듈(10) 및 결함 검사 모듈(20)을 포함할 수 있다.First, as shown in FIG. 1, the deep learning-based product defect inspection system 100 using input/output data generation and transformation according to some embodiments of the present invention includes an interpolation image generation module 10 and a defect inspection module. (20) may be included.

여기서, 예컨대, 도 1에 도시된 바와 같이, 상기 보간 영상 생성 모듈(10)은, 원본 영상(1)이 입력되면 상기 원본 영상(1)과 동일하거나 유사한 복수개의 복원 영상(2)을 생성하고, 상기 복원 영상(2)을 이용하여 보간 영상(3)을 생성하는 모듈로서, 예를 들면, 상기 보간 영상 생성 모듈(10)은 기계 학습 모드 및 개체 검출 모드의 2개 모드로 동작할 수 있다.Here, for example, as shown in FIG. 1, the interpolation image generating module 10 generates a plurality of reconstructed images 2 identical or similar to the original image 1 when the original image 1 is input, and , A module for generating an interpolated image 3 using the reconstructed image 2. For example, the interpolated image generation module 10 can operate in two modes: a machine learning mode and an object detection mode. .

더욱 구체적으로 예를 들면, 기계 학습 모드에서는 상기 보간 영상 생성 모듈(10)이 학습 데이터(GTD, Ground Truth Data)를 통하여 개체 분류에 대한 학습을 수행할 수 있다.More specifically, for example, in the machine learning mode, the interpolation image generating module 10 may perform learning on object classification through learning data (GTD, Ground Truth Data).

이때, 상기 보간 영상 생성 모듈(10)은 영상에 대한 학습을 수행할 수 있는 신경망 회로(Neural Network), 예를 들어 CNN(Convolutional Neural Network)을 포함하여 기계 학습 및 영상 내의 특정 개체의 분류를 수행할 수 있다.At this time, the interpolation image generation module 10 includes a neural network capable of learning about an image, for example, a convolutional neural network (CNN) to perform machine learning and classification of a specific entity in the image. can do.

또한, 학습 데이터는 레이블링(labeling)된 GTD(Ground Truth Data)를 통하여 개체 분류 모듈을 기계 학습시킬 수 있다. 예를 들어 학습 데이터는 특정 개체의 복수의 종류의 분류명과 연결된 결함 영상을 포함할 수 있다.In addition, the learning data may machine-learn the entity classification module through labeled ground truth data (GTD). For example, the training data may include a defect image associated with a plurality of classification names of a specific entity.

또한, 예컨대, 도 1에 도시된 바와 같이, 상기 결함 검사 모듈(20)은, 상기 복원 영상(2)과 상기 보간 영상(3)을 딥러닝 방식으로 학습시켜서 제품의 결함을 분류하는 모듈로서, 예를 들면, 상기 결함 검사 모듈(20)은 기계 학습 모드 및 개체 검출 모드의 2개 모드로 동작할 수 있다.In addition, for example, as shown in FIG. 1, the defect inspection module 20 is a module for classifying product defects by learning the reconstructed image 2 and the interpolated image 3 using a deep learning method, For example, the defect inspection module 20 may operate in two modes: a machine learning mode and an object detection mode.

예를 들면, 기계 학습 모드에서는 상기 결함 검사 모듈(20)이 학습 데이터(GTD, Ground Truth Data)를 통하여 개체 분류에 대한 학습을 수행할 수 있다.For example, in the machine learning mode, the defect inspection module 20 may perform learning about object classification through learning data (GTD, Ground Truth Data).

이때, 상기 결함 검사 모듈(20)은 영상에 대한 학습을 수행할 수 있는 신경망 회로(Neural Network), 예를 들어 CNN(Convolutional Neural Network)을 포함하여 기계 학습 및 영상 내의 특정 개체의 분류를 수행할 수 있다.At this time, the defect inspection module 20 includes a neural network capable of learning about an image, for example, a convolutional neural network (CNN) to perform machine learning and classification of a specific object in an image. can

또한, 학습 데이터는 레이블링(labeling)된 GTD(Ground Truth Data)를 통하여 개체 분류 모듈을 기계 학습시킬 수 있다. 예를 들어 학습 데이터는 특정 개체의 복수의 종류의 분류명과 연결된 결함 영상을 포함할 수 있다.In addition, the learning data may machine-learn the entity classification module through labeled ground truth data (GTD). For example, the training data may include a defect image associated with a plurality of classification names of a specific entity.

도 2는 도 1의 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템(100)의 보간 영상 생성 모듈(10)을 나타내는 개념도이다.FIG. 2 is a conceptual diagram illustrating an interpolation image generating module 10 of the deep learning-based product defect inspection system 100 using the input/output data generation and transformation of FIG. 1 .

더욱 구체적으로 예를 들면, 도 2에 도시된 바와 같이, 상기 보간 영상 생성 모듈(10)은, 베리에이셔널 오토인코더(variational auto-encoder) 형태의 딥러닝 모델로서, 입력된 원본 영상을 특징맵으로 맵핑하는 제 1 인코더(E1)와, 상기 특징맵을 제 1 복원용 제트값(Z1)에 기초하여 제 1 복원 영상으로 복원하고, 제 2 복원용 제트값(Z2)을 기초하여 제 2 복원 영상으로 복원하는 제 1 디코더(D1) 및 상기 특징맵을 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)을 모두 이용한 양자 보간식에 의해서 상기 양자 보간식의 변수(a)를 N회 변화시키면서 산출된 복수개의 제 N 보간 제트값(ZNnew)에 기초하여 복수개의 제 N 보간 영상으로 복원하는 제 2 디코더(D2)를 포함할 수 있다.More specifically, for example, as shown in FIG. 2, the interpolation image generation module 10, as a deep learning model in the form of a variational auto-encoder, features an input original image. A first encoder (E1) that maps to a map, and the feature map is reconstructed into a first restored image based on the first restoration jet value (Z1), and based on the second restoration jet value (Z2), the second The first decoder (D1) for restoring the reconstructed image and the feature map by a quantum interpolation equation using both the first restoration jet value Z1 and the second restoration jet value Z2 It may include a second decoder D2 for restoring a plurality of N-th interpolated images based on a plurality of N-th interpolated jet values ZNnew calculated by changing the variable a N times.

여기서, N은 양의 정수로서, 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)은, 상기 제 1 복원 영상이 상기 원본 영상과 동일하거나 유사하게 생성되도록 학습되는 매개 랜덤 은닉 변수이고, 상기 양자 보간식은,Here, N is a positive integer, and the first restoration jet value Z1 and the second restoration jet value Z2 are learned so that the first reconstruction image is generated identically or similarly to the original image. Each random hidden variable, and the quantum interpolation equation is

ZNnew = a*Z1 + (1-a)*Z2, (여기서, 0 < a < 1)ZNnew = a*Z1 + (1-a)*Z2, where 0 < a < 1)

일 수 있다.can be

이 때, 상기 양자 보간식에 따른 새로운 레이블(label) Y는,At this time, the new label Y according to the quantum interpolation equation,

YNnew = a*Y1 + (1-a)*Y2, (여기서, 0 < a < 1)이고, [a, 1-a, 0, 0, 0,,,]과 같이. 클라스(class)별 가중치가 반영된 소프트(soft) 레이블 백터값으로 표시될 수 있다.YNnew = a*Y1 + (1-a)*Y2, (where 0 < a < 1), as in [a, 1-a, 0, 0, 0,,,]. It can be expressed as a soft label vector value in which weights for each class are reflected.

즉, 새로운 레이블 백터값은, 기존의 하드 레이블(hard label), 즉, class는 1이고, 나머지는 0으로 표기되는 원핫 인코딩(one-hot encoding)이 아니라, 예컨대, 1 보다 작은 a(클라스별 가중치인 분류 변수)를 class로 표시하는 [0.3, 0.7, 0, 0, 0]이나 [0.9, 0.1, 0, 0, 0] 등과 같이 소프트(soft) 레이블 백터값일 수 있다.That is, the new label vector value is not an existing hard label, that is, one-hot encoding in which class is 1 and the rest is 0, but, for example, a less than 1 (class-specific It can be a soft label vector value, such as [0.3, 0.7, 0, 0, 0] or [0.9, 0.1, 0, 0, 0], which represents a classification variable that is a weight) as a class.

따라서, 인코더(Encoder)와 디코더(Decoder)로 구성된 베리에이셔널 오토인코더(Variational auto-encoder) 구조를 이용하여 입력 영상과 출력 영상이 동일하거나 유사하게 나오도록 딥러닝 모델을 학습할 수 있고, 학습된 베리에이셔널 오토인코더 구조에서 인코더 부분은 제거한 후 디코더 부분에 다양한 복원용 제트값(ZN)을 입력해서 많은 수의 데이터를 생성하고, 이를 통해 결함 검사 모델의 입력이 될 빅 데이터들을 생성할 수 있다.Therefore, it is possible to learn a deep learning model so that the input image and the output image are the same or similar using a variational auto-encoder structure composed of an encoder and a decoder, After removing the encoder part from the learned variational autoencoder structure, a large number of data is generated by inputting various jet values (ZN) for restoration to the decoder part, and through this, big data to be input to the defect inspection model is generated. can do.

여기서, 제트값은 임의의 제트값을 사용하지 않고, 양자 보간식을 이용하여 제트값을 보간(interpolation)하여 다양한 보간 영상을 생성할 수 있는 것으로서, 예컨대, Z1, Z2, ... ZN의 조합을 이용하여 새로운 ZNnew를 만들 때, 각 Z1, Z2. ... , ZN에 해당되는 레이블(label) Y도 보간해서 새로운 Ynew를 만들 수 있다.Here, the jet value may generate various interpolated images by interpolating the jet value using a quantum interpolation formula without using any jet value, for example, a combination of Z1, Z2, ... ZN. When creating a new ZNnew using , each Z1, Z2. ... , a label Y corresponding to ZN can also be interpolated to create a new Ynew.

이렇게 함으로써 데이터 증감(data augmentation) 효과뿐만 아니라 레이블(label)에 가중치를 주어서 우수한 일반화 성능을 가지는 딥러닝 모델을 구현할 수 있다. 그러므로, 이렇게 만든 새로운 ZNnew를 이용하여 디코더에 입력하여 새로운 영상 Xnew를 생성하고 Xnew의 label인 새로운 Ynew를 페어(pair)로 하는 대량의 빅 데이터들을 생성할 수 있다.By doing this, it is possible to implement a deep learning model that has excellent generalization performance by giving weights to labels as well as data augmentation effect. Therefore, a new image Xnew can be generated by inputting the new ZNnew to a decoder, and a large amount of big data paired with a new Ynew, which is a label of Xnew, can be generated.

도 3은 도 1의 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템(100)의 보간 영상 생성 모듈(10)을 보다 상세하게 나타내는 개념도이다.FIG. 3 is a conceptual diagram showing the interpolation image generation module 10 of the deep learning-based product defect inspection system 100 using the input/output data generation and transformation of FIG. 1 in more detail.

더욱 구체적으로 예를 들면, 도 3에 도시된 바와 같이, 상기 제 1 인코더(E1)는, 필터로 입력값을 컨볼루션하여 보다 작은 사이즈의 특징맵을 추출하는 컨볼루션 레이어(11)(convolution layer)와, 배치의 평균이나 표준편차를 기초로 정규화된 출력값을 생성하는 배치 정규화 레이어(12)(batch normalization layer)와, 컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 활성화 함수(13)(activation function) 및 특징맵에서 풀링 커널 크기만큼의 데이터를 더 작은 사이즈의 데이터로 서브샘플링하는 풀링 레이어(14)(pooling layer)를 포함할 수 있다.More specifically, for example, as shown in FIG. 3, the first encoder E1 is a convolution layer 11 (convolution layer 11) that extracts a feature map of a smaller size by convolving an input value with a filter. ), a batch normalization layer (12) that generates normalized output values based on the average or standard deviation of the batch, and an activation function (13) that additionally activates data after the convolution operation (activation function) and a pooling layer 14 for subsampling data as much as the size of the pooling kernel in the feature map into data of a smaller size.

또한, 상기 제 1 디코더(D1) 또는 상기 제 2 디코더(D2)는, 필터로 입력값을 디컨볼루션하여 보다 큰 사이즈의 특징맵을 추출하는 디컨볼루션 레이어(15)(deconvolution layer)와, 배치의 평균이나 표준편차를 기초로 정규화된 출력값을 생성하는 배치 정규화 레이어(16)(batch normalization layer)와, 컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 활성화 함수(17)(activation function) 및 특징맵에서 풀링 커널 크기만큼의 데이터를 더 큰 사이즈의 데이터로 업샘플링하는 언풀링 레이어(18)(unpooling layer)를 포함할 수 있다.In addition, the first decoder (D1) or the second decoder (D2) deconvolution layer (15) (deconvolution layer) for extracting a feature map of a larger size by deconvolution of the input value with a filter; A batch normalization layer (16) that generates normalized output values based on the average or standard deviation of the batch, an activation function (17) that additionally activates the data after the convolution operation, and a feature map may include an unpooling layer 18 (unpooling layer) for upsampling data equal to the size of the pooling kernel to data of a larger size.

예를 들면, 도 3에 도시된 바와 같이, 상기 제 1 인코더(E1)의 상기 컨볼루션 레이어(11)는 제 1 컨볼루션 레이어와 제 2 컨볼루션 레이어 등을 포함할 수 있다. 이 경우, 상기 제 2 컨볼루션 레이어는 상기 제 1 컨볼루션 레이어의 후방에 존재한다. 즉, 상기 제 2 컨볼루션 레이어는 상기 제 1 컨볼루션 레이어의 출력을 이용할 수 있다.For example, as shown in FIG. 3 , the convolution layer 11 of the first encoder E1 may include a first convolution layer and a second convolution layer. In this case, the second convolution layer is behind the first convolution layer. That is, the second convolution layer may use the output of the first convolution layer.

보다 구체적으로, 상기 제 1 컨볼루션 레이어는 입력된 원본 영상의 사이즈 보다 작은 사이즈의 컨볼루션 필터 커널에 기초하여 특징맵(Feature Map)을 추출할 수 있다. 예컨대, 상기 컨볼루션 필터 커널은 원본 사이즈보다 작은 크기의 행렬이다. 이 때, 상기 제 1 컨볼루션 레이어는 컨볼루션 필터 커널을 이동시켜 가면서 원본 영상에 곱하여 특징맵을 추출할 수 있다. 이 때, 컨볼루션 연산을 완료한 후에, 정규화된 출력값을 생성하는 상기 배치 정규화 레이어(12) 또는 데이터 활성화를 위하여 추가적으로 상기 활성화 함수(13), 예를 들어, ReLU 등에 통과시킬 수 있다.More specifically, the first convolution layer may extract a feature map based on a convolution filter kernel having a size smaller than that of the input original image. For example, the convolution filter kernel is a matrix having a smaller size than the original size. In this case, the first convolution layer may extract a feature map by multiplying the original image while moving the convolution filter kernel. At this time, after completing the convolution operation, the activation function 13, for example, ReLU, may be additionally passed to the batch normalization layer 12 that generates a normalized output value or to activate data.

이러한, 상기 컨볼루션 레이어(11)를 통과한 후에는 데이터 및 연산량을 줄이기 위하여 상기 풀링 레이어(14)를 통과할 수 있다.After passing through the convolution layer 11, it may pass through the pooling layer 14 to reduce the amount of data and computation.

이 경우, 상기 풀링 레이어(14)는 특징맵에서 풀링 커널(예를 들어 n x m) 크기만큼의 데이터를 더 작은 사이즈의 데이터로 서브샘플링(Subsampling)할 수 있다.In this case, the pooling layer 14 may subsample data as large as the size of a pooling kernel (for example, n x m) in the feature map into data of a smaller size.

이와 같이, 상기 제 1 인코더(E1)의 CNN은 복수의 컨볼루션 레이어(11) 및 풀링 레이어(14)를 반복적으로 통과시켜 연산을 수행할 수 있다.In this way, the CNN of the first encoder E1 may perform an operation by repeatedly passing the plurality of convolution layers 11 and the pooling layer 14 .

또한, 예컨대, 도 3에 도시된 바와 같이, 상기 제 1 디코더(D1)는, 필터로 입력값을 디컨볼루션하여 보다 큰 사이즈의 특징맵을 추출하는 디컨볼루션 레이어(15)(deconvolution layer)와, 배치(batch)의 평균이나 표준편차를 기초로 정규화된 출력값을 생성하는 배치 정규화 레이어(16)(batch normalization layer)와, 컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 활성화 함수(17)(activation function) 및 특징맵에서 풀링 커널 크기만큼의 데이터를 더 큰 사이즈의 데이터로 업샘플링하는 언풀링 레이어(18)(unpooling layer)를 포함할 수 있다.In addition, for example, as shown in FIG. 3, the first decoder D1 deconvolution layer 15 (deconvolution layer) for extracting a feature map of a larger size by deconvolution of the input value with a filter And, a batch normalization layer 16 that generates normalized output values based on the mean or standard deviation of the batch, and an activation function 17 that additionally activates data after the convolution operation (activation function) and an unpooling layer 18 (unpooling layer) for upsampling data as large as the size of the pooling kernel in the feature map to data of a larger size.

또한, 예컨대, 상기 제 1 디코더(D1)의 상기 디컨볼루션 레이어(15)는 제 1 디컨볼루션 레이어와 제 2 디컨볼루션 레이어 등을 포함할 수 있다. 이 경우, 상기 제 2 디컨볼루션 레이어는 상기 제 1 디컨볼루션 레이어의 후방에 존재한다. 즉, 상기 제 2 디컨볼루션 레이어는 상기 제 1 디컨볼루션 레이어의 출력을 이용할 수 있다.Also, for example, the deconvolution layer 15 of the first decoder D1 may include a first deconvolution layer and a second deconvolution layer. In this case, the second deconvolution layer is behind the first deconvolution layer. That is, the second deconvolution layer may use the output of the first deconvolution layer.

보다 구체적으로, 상기 제 1 디컨볼루션 레이어는 입력된 특징맵의 사이즈 보다 넓은 사이즈의 특징맵을 추출할 수 있다. 이 때, 상기 제 1 디컨볼루션 레이어는 디컨볼루션 필터 커널을 이동시켜 가면서 원본 영상에 곱하여 특징맵을 추출할 수 있다. 이 때, 디컨볼루션 연산을 완료한 후에, 정규화된 출력값을 생성하는 상기 배치 정규화 레이어(16) 또는 데이터 활성화를 위하여 추가적으로 상기 활성화 함수(17), 예를 들어, ReLU 등에 통과시킬 수 있다.More specifically, the first deconvolution layer may extract a feature map having a larger size than the size of the input feature map. In this case, the first deconvolution layer may extract a feature map by multiplying the original image while moving the deconvolution filter kernel. At this time, after completing the deconvolution operation, the activation function 17, for example, ReLU, may be additionally passed to the batch normalization layer 16 that generates a normalized output value or to activate data.

이러한, 상기 디컨볼루션 레이어를 통과한 후에는 데이터 및 연산량을 늘리기 위하여 상기 언풀링 레이어(18)를 통과할 수 있다.After passing through the deconvolution layer, it may pass through the unpooling layer 18 to increase the amount of data and computation.

이 경우, 상기 언풀링 레이어(18)는 특징맵에서 언풀링 커널 크기만큼의 데이터를 더 큰 사이즈의 데이터로 업샘플링(Upsampling)할 수 있다.In this case, the unpooling layer 18 may upsample data corresponding to the size of the unpooling kernel in the feature map to data of a larger size.

이와 같이, 상기 제 1 디코더(D1)의 CNN은 복수의 디컨볼루션 레이어(15) 및 언풀링 레이어(18)를 반복적으로 통과시켜 연산을 수행할 수 있다.As such, the CNN of the first decoder D1 may perform an operation by repeatedly passing the plurality of deconvolution layers 15 and the unpooling layer 18.

도 4는 도 1의 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템(100)의 제 1 인코더(E1)와, 제 N 복원용 제트값(ZN) 및 제 1 디코더(D1) 간의 관계의 일례를 개념적으로 나타내는 개념도이다.FIG. 4 shows the relationship between the first encoder E1, the Nth restoring jet value ZN, and the first decoder D1 of the deep learning-based product defect inspection system 100 using the input/output data generation and transformation of FIG. 1 It is a conceptual diagram conceptually showing an example of

도 2 내지 도 4에 도시된 바와 같이, 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)은, 상기 제 1 복원 영상이 상기 원본 영상과 동일하거나 유사하게 생성되도록 학습되는 매개 랜덤 은닉 변수이고, 상기 제 N 보간 제트값(ZNnew)는 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)에 의해 결정되는 매개 랜덤 은닉 변수일 수 있다.As shown in FIGS. 2 to 4 , the first reconstruction jet value Z1 and the second restoration jet value Z2 are generated such that the first reconstruction image is identical to or similar to the original image. An intermediate random hidden variable to be learned, and the Nth interpolation jet value ZNnew may be an intermediate random hidden variable determined by the first restoring jet value Z1 and the second restoring jet value Z2. .

따라서, 도 4에 도시된 바와 같이, 이러한 매개 랜덤 은닉 변수(latent variables)는 입력층(input layer)와 출력층(output layer) 사이에서 입력된 데이터들의 변환 과정에서 가중치를 달리하여 출력될 수 있도록 학습되는 변수로서, 본 발명은 인코더(encoder)와 디코더(decoder) 사이의 매개 랜덤 은닉 변수를 달리하여 동일한 원본 영상(1)으로부터 상기 원본 영상(1)과 동일하거나 유사하게 복원된 복수개의 복원 영상(2) 및 이들 복원 영상들로부터 파생된 보간 영상(3)들을 생성할 수 있다.Therefore, as shown in FIG. 4, these intermediate random hidden variables (latent variables) are learning to be output by varying the weight in the process of converting the input data between the input layer and the output layer. As a variable, the present invention is a plurality of reconstructed images (which are identical or similar to the original image (1) reconstructed from the same original image (1) by varying the intermediate random hidden variable between the encoder and the decoder ( 2) and interpolated images 3 derived from these reconstructed images.

그러므로, 하나의 원본 영상으로부터 복수개의 복원 영상과 보간 영상을 대량으로 생성하여 데이터 부족 현상을 해결할 수 있으며, 레이블링(labeling) 작업의 시간을 획기적으로 단축할 수 있고, 레이블링 작업시 발생할 수 있는 레이블 에러(label error) 현상을 획기적으로 줄일 수 있으며, 다양하고도 많은 양의 복원 영상과 보간 영상을 빠른 시간 안에 취득할 수 있어서 원본 영상의 부족 현상을 방지함으로써 제조업 제품의 결함 검사 및 품질 진단에 대한 정밀도와 판정의 정확도를 크게 향상시킬 수 있다.Therefore, it is possible to solve the data shortage phenomenon by generating a plurality of reconstructed images and interpolated images in large quantities from one original image, and to drastically reduce the time of labeling work, and to reduce label errors that may occur during labeling work. (label error) phenomenon can be drastically reduced, and various and large amounts of restored images and interpolated images can be acquired in a short time, preventing the lack of original images, thereby improving the accuracy of defect inspection and quality diagnosis of manufacturing products. and the accuracy of judgment can be greatly improved.

도 5는 도 1의 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템(100)의 결함 검사 모듈(20)을 개념적으로 나타내는 개념도이다.FIG. 5 is a conceptual diagram conceptually illustrating the defect inspection module 20 of the deep learning-based product defect inspection system 100 using the generation and transformation of input/output data of FIG. 1 .

한편, 더욱 구체적으로 예를 들면, 도 1 및 도 5에 도시된 바와 같이, 상기 결함 검사 모듈(20)은, 적어도 컨볼루션 레이어(211), 풀링 레이어(212), 활성화 함수(213) 및 이들의 조합들 중 어느 하나 이상을 포함하여 복수개의 상기 복원 영상 및 상기 보간 영상으로부터 결함 특징맵을 추출하는 결함 특징 추출부(21)와, 적어도 디컨볼루션 레이어(221), 언풀링 레이어(222), 활성화 함수(223) 이들의 조합들 중 어느 하나 이상을 포함하여 상기 결함 특징맵을 결함 복원 영상으로 복원하는 결함 복원부(22) 및 상기 결함 복원 영상을 결함의 종류별로 분류하는 분류기(23)를 포함할 수 있다.On the other hand, more specifically, for example, as shown in FIGS. 1 and 5, the defect inspection module 20 includes at least a convolution layer 211, a pooling layer 212, an activation function 213, and these A defect feature extractor 21 extracting a defect feature map from a plurality of reconstructed images and the interpolated image including any one or more combinations of, at least a deconvolution layer 221 and an unpooling layer 222 , activation function 223, a defect restoration unit 22 that restores the defect feature map into a defect restoration image by including any one or more of these combinations, and a classifier 23 that classifies the defect restoration image by defect type. can include

여기서, 예컨대, 상기 결함 특징 추출부(21)의 상기 컨볼루션 레이어(211)(convolution layer)는, 필터로 입력값을 컨볼루션하여 보다 작은 사이즈의 특징맵을 추출할 수 있는 계층이고, 상기 풀링 레이어(212)는, 특징맵에서 풀링 커널 크기만큼의 데이터를 더 작은 사이즈의 데이터로 서브샘플링할 수 있는 계층이며, 상기 활성화 함수(213)는 컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 함수일 수 있다.Here, for example, the convolution layer 211 (convolution layer) of the defect feature extraction unit 21 is a layer capable of extracting a feature map of a smaller size by convolving an input value with a filter, and the pooling The layer 212 is a layer capable of subsampling data as much as the size of the pooling kernel in the feature map into data of a smaller size, and the activation function 213 may be a function that additionally activates data after the convolution operation. .

또한, 예컨대, 상기 결함 복원부(22)의 상기 디컨볼루션 레이어(221)는, 필터로 입력값을 디컨볼루션하여 보다 큰 사이즈의 특징맵을 추출할 수 있는 계층이고, 상기 언풀링 레이어(222)는, 특징맵에서 풀링 커널 크기만큼의 데이터를 더 큰 사이즈의 데이터로 업샘플링할 수 있는 계층이며, 상기 활성화 함수(223)는, 컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 함수일 수 있다.In addition, for example, the deconvolution layer 221 of the defect restoration unit 22 is a layer capable of extracting a feature map of a larger size by deconvolution of an input value with a filter, and the unpooling layer ( 222) is a layer capable of upsampling data as large as the size of the pooling kernel in the feature map to data of a larger size, and the activation function 223 may be a function that additionally activates data after the convolution operation.

예를 들면, 도 5에 도시된 바와 같이, 상기 결함 특징 추출부(21)의 상기 컨볼루션 레이어(211)는 제 1 컨볼루션 레이어와 제 2 컨볼루션 레이어 등을 포함할 수 있다. 이 경우, 상기 제 2 컨볼루션 레이어는 상기 제 1 컨볼루션 레이어의 후방에 존재한다. 즉, 상기 제 2 컨볼루션 레이어는 상기 제 1 컨볼루션 레이어의 출력을 이용할 수 있다.For example, as shown in FIG. 5 , the convolution layer 211 of the defect feature extractor 21 may include a first convolution layer and a second convolution layer. In this case, the second convolution layer is behind the first convolution layer. That is, the second convolution layer may use the output of the first convolution layer.

보다 구체적으로, 상기 제 1 컨볼루션 레이어는 입력된 원본 영상의 사이즈 보다 작은 사이즈의 컨볼루션 필터 커널에 기초하여 특징맵(Feature Map)을 추출할 수 있다. 예컨대, 상기 컨볼루션 필터 커널은 원본 사이즈보다 작은 크기의 행렬이다. 이 때, 상기 제 1 컨볼루션 레이어는 컨볼루션 필터 커널을 이동시켜 가면서 원본 영상에 곱하여 특징맵을 추출할 수 있다. 이 때, 컨볼루션 연산을 완료한 후에, 데이터 활성화를 위하여 추가적으로 상기 활성화 함수(213), 예를 들어, ReLU 등에 통과시킬 수 있다.More specifically, the first convolution layer may extract a feature map based on a convolution filter kernel having a size smaller than that of the input original image. For example, the convolution filter kernel is a matrix having a smaller size than the original size. In this case, the first convolution layer may extract a feature map by multiplying the original image while moving the convolution filter kernel. At this time, after completing the convolution operation, the activation function 213, for example, ReLU, may be additionally passed to activate data.

이러한, 상기 컨볼루션 레이어를 통과한 후에는 데이터 및 연산량을 줄이기 위하여 상기 풀링 레이어(212)를 통과할 수 있다.After passing through the convolution layer, it may pass through the pooling layer 212 to reduce the amount of data and computation.

이 경우, 상기 풀링 레이어(212)는 특징맵에서 풀링 커널(예를 들어 n x m) 크기만큼의 데이터를 더 작은 사이즈의 데이터로 서브샘플링(Subsampling)할 수 있다.In this case, the pooling layer 212 may subsample data as large as the size of a pooling kernel (for example, n x m) in the feature map into data of a smaller size.

이와 같이, 상기 결함 특징 추출부(21)의 CNN은 복수의 컨볼루션 레이어(211) 및 풀링 레이어(212)를 반복적으로 통과시켜 연산을 수행할 수 있다.In this way, the CNN of the defect feature extraction unit 21 may perform an operation by repeatedly passing a plurality of convolution layers 211 and a pooling layer 212 .

또한, 예컨대, 상기 결함 복원부(22)의 상기 디컨볼루션 레이어(221)는 제 1 디컨볼루션 레이어와 제 2 디컨볼루션 레이어 등을 포함할 수 있다. 이 경우, 상기 제 2 디컨볼루션 레이어는 상기 제 1 디컨볼루션 레이어의 후방에 존재한다. 즉, 상기 제 2 디컨볼루션 레이어는 상기 제 1 디컨볼루션 레이어의 출력을 이용할 수 있다.Also, for example, the deconvolution layer 221 of the defect restoration unit 22 may include a first deconvolution layer and a second deconvolution layer. In this case, the second deconvolution layer is behind the first deconvolution layer. That is, the second deconvolution layer may use the output of the first deconvolution layer.

보다 구체적으로, 상기 제 1 디컨볼루션 레이어는 입력된 특징맵의 사이즈 보다 넓은 사이즈의 특징맵을 추출할 수 있다. 이 때, 상기 제 1 디컨볼루션 레이어는 디컨볼루션 필터 커널을 이동시켜 가면서 원본 영상에 곱하여 특징맵을 추출할 수 있다. 이 때, 디컨볼루션 연산을 완료한 후에, 데이터 활성화를 위하여 추가적으로 상기 활성화 함수(223), 예를 들어, ReLU 등에 통과시킬 수 있다.More specifically, the first deconvolution layer may extract a feature map having a larger size than the size of the input feature map. In this case, the first deconvolution layer may extract a feature map by multiplying the original image while moving the deconvolution filter kernel. At this time, after completing the deconvolution operation, the activation function 223, for example, ReLU, may be additionally passed to activate data.

이러한, 상기 디컨볼루션 레이어를 통과한 후에는 데이터 및 연산량을 늘리기 위하여 상기 언풀링 레이어(222)를 통과할 수 있다.After passing through the deconvolution layer, it may pass through the unpooling layer 222 to increase the amount of data and computation.

이 경우, 상기 언풀링 레이어(222)는 특징맵에서 언풀링 커널 크기만큼의 데이터를 더 큰 사이즈의 데이터로 업샘플링(Upsampling)할 수 있다.In this case, the unpooling layer 222 may upsample data corresponding to the size of the unpooling kernel in the feature map to data of a larger size.

이와 같이, 상기 결함 복원부(22)의 CNN은 복수의 디컨볼루션 레이어(221) 및 언풀링 레이어(222)를 반복적으로 통과시켜 연산을 수행할 수 있다.In this way, the CNN of the defect restoration unit 22 may perform an operation by repeatedly passing a plurality of deconvolution layers 221 and an unpooling layer 222 .

그러므로, 상기 결함 특징 추출부(21)와 상기 결함 복원부(22) 및 상기 분류기(23)를 이용하여 상술된 상기 복원 영상들과 상기 보간 영상들을 반복적으로 학습시켜서 최종적으로 제품의 결함을 분류하여 높은 정확도와 정밀도로 판별할 수 있다.Therefore, by using the defect feature extraction unit 21, the defect restoration unit 22, and the classifier 23, the above-described reconstructed images and the interpolated images are repeatedly learned to finally classify product defects. It can be discriminated with high accuracy and precision.

도 6은 본 발명의 일부 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법을 나타내는 순서도이다.6 is a flowchart illustrating a deep learning-based product defect inspection method using input/output data generation and transformation according to some embodiments of the present invention.

도 1 내지 도 6에 도시된 바와 같이, 본 발명의 일부 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법은, (a) 원본 영상(1)이 입력되면 상기 원본 영상(1)과 동일하거나 유사한 복수개의 복원 영상(2)을 생성하고, 상기 복원 영상(2)을 이용하여 보간 영상(3)을 생성하는 단계 및 (b) 상기 복원 영상(2)과 상기 보간 영상(3)을 딥러닝 방식으로 학습시켜서 제품의 결함을 분류하는 단계를 포함할 수 있다.As shown in FIGS. 1 to 6, in the deep learning-based product defect inspection method using input/output data generation and transformation according to some embodiments of the present invention, (a) when an original image 1 is input, the original image Generating a plurality of reconstructed images (2) identical or similar to (1), and generating an interpolated image (3) using the reconstructed image (2), and (b) the reconstructed image (2) and the interpolated image It may include a step of classifying product defects by learning (3) in a deep learning method.

도 7은 본 발명의 일부 다른 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법을 나타내는 순서도이다.7 is a flowchart illustrating a deep learning-based product defect inspection method using input/output data generation and transformation according to some other embodiments of the present invention.

도 1 내지 도 7에 도시된 바와 같이, 본 발명의 일부 다른 실시예들에 따른 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법은, (a) 원본 영상(1)이 입력되면 상기 원본 영상(1)과 동일하거나 유사한 복수개의 복원 영상(2)을 생성하고, 상기 복원 영상(2)을 이용하여 보간 영상(3)을 생성하는 단계 및 (b) 상기 복원 영상(2)과 상기 보간 영상(3)을 딥러닝 방식으로 학습시켜서 제품의 결함을 분류하는 단계를 포함할 수 있는 것으로서, 상기 (a) 단계는, (a-1) 입력된 원본 영상(1)을 특징맵으로 맵핑하는 단계와, (a-2) 상기 특징맵을 제 1 복원용 제트값(Z1)에 기초하여 제 1 복원 영상으로 복원하고, 제 2 복원용 제트값(Z2)을 기초하여 제 2 복원 영상으로 복원하는 단계 및 (a-3) 상기 특징맵을 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)을 모두 이용한 양자 보간식에 의해서 상기 양자 보간식의 변수(a)를 N회 변화시키면서 산출된 복수개의 제 N 보간 제트값(ZNnew)에 기초하여 복수개의 제 N 보간 영상으로 복원하는 단계를 포함할 수 있고, 상기 (b) 단계는, (b-1) 적어도 컨볼루션 레이어(211), 풀링 레이어(212), 활성화 함수(213) 및 이들의 조합들 중 어느 하나 이상을 이용하여 복수개의 상기 복원 영상(2) 및 상기 보간 영상(3)으로부터 결함 특징맵을 추출하는 단계와, (b-2) 적어도 디컨볼루션 레이어(221), 언풀링 레이어(222), 활성화 함수(223) 및 이들의 조합들 중 어느 하나 이상을 포함하여 상기 결함 특징맵을 결함 복원 영상으로 복원하는 단계 및 (b-3) 상기 결함 복원 영상(2)을 결함의 종류별로 분류하는 단계를 포함할 수 있다.1 to 7, a deep learning-based product defect inspection method using input/output data generation and transformation according to some other embodiments of the present invention, (a) when an original image 1 is input, the original generating a plurality of reconstructed images (2) identical to or similar to image (1) and generating an interpolated image (3) using the reconstructed image (2); and (b) the reconstructed image (2) and the interpolation It may include the step of classifying defects of the product by learning the image (3) using a deep learning method, wherein the (a) step is to map the input original image (1) to a feature map (a-2) restoring the feature map into a first reconstruction image based on the first restoration jet value Z1, and restoring the feature map into a second reconstruction image based on the second restoration jet value Z2 and (a-3) a variable (a) of the quantum interpolation equation by a quantum interpolation equation using both the first restoration jet value Z1 and the second restoration jet value Z2 for the feature map. It may include a step of restoring a plurality of N th interpolated images based on a plurality of N th interpolation jet values ZNnew calculated by changing N times, wherein the step (b) comprises: (b-1) at least convolution Defect feature maps are extracted from the plurality of reconstructed images 2 and the interpolated images 3 using one or more of a solution layer 211, a pooling layer 212, an activation function 213, and combinations thereof. (b-2) converting the defect feature map into a defect reconstruction image, including at least one of a deconvolution layer 221, an unpooling layer 222, an activation function 223, and combinations thereof; and (b-3) classifying the defect restoration image 2 according to defect types.

그러므로, 원본 영상을 얻기 어려운 환경 하에서도, 다양하고도 많은 양의 복원 영상과 이진 영상을 빠른 시간 안에 취득할 수 있어서 원본 영상의 부족 현상을 방지함으로써 제조업 제품의 결함 검사 및 품질 진단에 대한 정밀도와 판정의 정확도를 크게 향상시킬 수 있고, 제품의 결함 검사 뿐만 아니라, 비파괴 검사와 같은 진단 분야에도 사용될 수 있으며, 스마트 팩토리(Smart Factory) 구현의 필수 기술로서 생산 조업 조건에 따른 설비의 상태를 판정하고 설비 상태에 따른 제품의 품질을 예측하여 생산 조건을 최적화하는 기술에도 응용할 수 있다.Therefore, even under circumstances where it is difficult to obtain original images, various and large amounts of reconstructed images and binary images can be acquired in a short time, thereby preventing the lack of original images, thereby improving the accuracy and quality of defect inspection and quality diagnosis of manufacturing products. It can greatly improve the accuracy of judgment, and can be used not only for product defect inspection, but also for diagnostic fields such as non-destructive inspection. It can also be applied to technology that optimizes production conditions by predicting product quality according to facility conditions.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

1: 원본 영상
2: 복원 영상
3: 보간 영상
10: 보간 영상 생성 모듈
E1: 제 1 인코더
D1: 제 1 디코더
D2: 제 2 디코더
Z1: 제 1 복원용 제트값
Z2: 제 2 복원용 제트값
ZNnew: 제 N 보간 제트값
a: 변수
11: 컨볼루션 레이어
12: 배치 정규화 레이어
13: 활성화 함수
14: 풀링 레이어
15: 디컨볼루션 레이어
16: 배치 정규화 레이어
17: 활성화 함수
18: 언풀링 레이어
20: 결함 검사 모듈
21: 결함 특징 추출부
211: 컨볼루션 레이어
212: 풀링 레이어
213: 활성화 함수
22: 결함 복원부
221: 디컨볼루션 레이어
222: 언풀링 레이어
223: 활성화 함수
23: 분류기
100: 딥러닝 기반 제품 결함 검사 시스템
1: original video
2: Restoration image
3: interpolated image
10: interpolation image generation module
E1: first encoder
D1: first decoder
D2: second decoder
Z1: jet value for first restoration
Z2: jet value for second restoration
ZNnew: Nth interpolation jet value
a: variable
11: Convolution layer
12: Batch normalization layer
13: activation function
14: pooling layer
15: deconvolution layer
16: Batch normalization layer
17: Activation function
18: unpooling layer
20: defect inspection module
21: defect feature extraction unit
211: convolution layer
212: pooling layer
213: activation function
22: defect restoration unit
221: deconvolution layer
222: unpooling layer
223: activation function
23: classifier
100: Deep learning-based product defect inspection system

Claims (11)

원본 영상이 입력되면 상기 원본 영상과 동일하거나 유사한 복수개의 복원 영상을 생성하고, 상기 복원 영상을 이용하여 보간 영상을 생성하는 보간 영상 생성 모듈; 및
상기 복원 영상과 상기 보간 영상을 딥러닝 방식으로 학습시켜서 제품의 결함을 분류하는 결함 검사 모듈;을 포함하고,
상기 보간 영상 생성 모듈은,
입력된 원본 영상을 특징맵으로 맵핑하는 제 1 인코더;
상기 특징맵을 제 1 복원용 제트값(Z1)에 기초하여 제 1 복원 영상으로 복원하고, 제 2 복원용 제트값(Z2)을 기초하여 제 2 복원 영상으로 복원하는 제 1 디코더; 및
상기 특징맵을 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)을 모두 이용한 양자 보간식에 의해서 상기 양자 보간식의 변수(a)를 N회 변화시키면서 산출된 복수개의 제 N 보간 제트값(ZNnew)에 기초하여 복수개의 제 N 보간 영상으로 복원하는 제 2 디코더;
를 포함하는, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템.
an interpolation image generation module for generating a plurality of reconstructed images identical to or similar to the original image when an original image is input, and generating an interpolated image using the reconstructed image; and
A defect inspection module for classifying defects of a product by learning the reconstructed image and the interpolated image using a deep learning method;
The interpolation image generation module,
A first encoder for mapping an input original image to a feature map;
a first decoder for restoring the feature map into a first reconstruction image based on a first restoration jet value Z1 and restoring a second reconstruction image based on a second restoration jet value Z2; and
The feature map is calculated by changing the variable (a) of the quantum interpolation equation N times by a quantum interpolation equation using both the first restoration jet value Z1 and the second restoration jet value Z2. a second decoder for restoring a plurality of N-th interpolated images based on the N-th interpolated jet values ZNnew;
Including, deep learning-based product defect inspection system using input and output data generation and transformation.
삭제delete 제 1 항에 있어서,
상기 제 1 복원용 제트값과 상기 제 2 복원용 제트값은, 상기 제 1 복원 영상이 상기 원본 영상과 동일하거나 유사하게 생성되도록 학습되는 매개 랜덤 은닉 변수인, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템.
According to claim 1,
The first restoring jet value and the second restoring jet value are intermediate random hidden variables that are learned so that the first restored image is generated identically or similarly to the original image. Deep learning using input/output data generation and transformation Based product defect inspection system.
제 3 항에 있어서,
상기 양자 보간식은,
ZNnew = a*Z1 + (1-a)*Z2, (여기서, 0 < a < 1)
인, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템.
According to claim 3,
The quantum interpolation equation,
ZNnew = a*Z1 + (1-a)*Z2, where 0 < a < 1)
Deep learning-based product defect inspection system using input/output data generation and transformation.
제 4 항에 있어서,
상기 양자 보간식에 따른 새로운 레이블(label) Y는,
YNnew = a*Y1 + (1-a)*Y2, (여기서, 0 < a < 1)이고,
[a, 1-a, 0, 0, 0,,,]과 같이. 클라스(class)별 가중치가 반영된 소프트(soft) 레이블 백터값으로 표시되는, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템.
According to claim 4,
The new label Y according to the quantum interpolation equation,
YNnew = a*Y1 + (1-a)*Y2, where 0 < a < 1),
Like [a, 1-a, 0, 0, 0,,,]. Deep learning-based product defect inspection system using input/output data generation and transformation, represented by soft label vector values with weights for each class reflected.
제 1 항에 있어서,
상기 제 1 인코더는,
필터로 입력값을 컨볼루션하여 보다 작은 사이즈의 특징맵을 추출하는 컨볼루션 레이어(convolution layer);
배치의 평균이나 표준편차를 기초로 정규화된 출력값을 생성하는 배치 정규화 레이어(batch normalization layer);
컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 활성화 함수(activation function); 및
특징맵에서 풀링 커널 크기만큼의 데이터를 더 작은 사이즈의 데이터로 서브샘플링하는 풀링 레이어(pooling layer);
를 포함하는, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템.
According to claim 1,
The first encoder,
a convolution layer that extracts a feature map of a smaller size by convolving input values with a filter;
a batch normalization layer that generates normalized output values based on the mean or standard deviation of the batches;
an activation function for additionally activating data after a convolution operation; and
a pooling layer for subsampling data as much as the size of the pooling kernel in the feature map into data of a smaller size;
Including, deep learning-based product defect inspection system using input and output data generation and transformation.
제 1 항에 있어서,
상기 제 1 디코더 또는 상기 제 2 디코더는,
필터로 입력값을 디컨볼루션하여 보다 큰 사이즈의 특징맵을 추출하는 디컨볼루션 레이어(deconvolution layer);
배치의 평균이나 표준편차를 기초로 정규화된 출력값을 생성하는 배치 정규화 레이어(batch normalization layer);
컨볼루션 연산 이후에 추가적으로 데이터를 활성화하는 활성화 함수(activation function); 및
특징맵에서 풀링 커널 크기만큼의 데이터를 더 큰 사이즈의 데이터로 업샘플링하는 언풀링 레이어(unpooling layer);
를 포함하는, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템.
According to claim 1,
The first decoder or the second decoder,
a deconvolution layer for extracting a feature map of a larger size by deconvoluting input values with a filter;
a batch normalization layer that generates normalized output values based on the mean or standard deviation of the batches;
an activation function for additionally activating data after a convolution operation; and
an unpooling layer upsampling data as large as the size of the pooling kernel in the feature map to data of a larger size;
Including, deep learning-based product defect inspection system using input and output data generation and transformation.
제 1 항에 있어서,
상기 결함 검사 모듈은,
적어도 컨볼루션 레이어, 풀링 레이어, 활성화 함수 및 이들의 조합들 중 어느 하나 이상을 포함하여 복수개의 상기 복원 영상 및 상기 보간 영상으로부터 결함 특징맵을 추출하는 결함 특징 추출부;
적어도 디컨볼루션 레이어, 언풀링 레이어, 활성화 함수 및 이들의 조합들 중 어느 하나 이상을 포함하여 상기 결함 특징맵을 결함 복원 영상으로 복원하는 결함 복원부; 및
상기 결함 복원 영상을 결함의 종류별로 분류하는 분류기;
를 포함하는, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 시스템.
According to claim 1,
The defect inspection module,
a defect feature extractor extracting a defect feature map from the plurality of reconstructed images and the interpolated image including at least one of a convolution layer, a pooling layer, an activation function, and combinations thereof;
a defect restoration unit that restores the defect feature map into a defect restoration image, including at least one of a deconvolution layer, an unpooling layer, an activation function, and combinations thereof; and
a classifier for classifying the defect restoration image according to defect types;
Including, deep learning-based product defect inspection system using input and output data generation and transformation.
(a) 원본 영상이 입력되면 상기 원본 영상과 동일하거나 유사한 복수개의 복원 영상을 생성하고, 상기 복원 영상을 이용하여 보간 영상을 생성하는 단계; 및
(b) 상기 복원 영상과 상기 보간 영상을 딥러닝 방식으로 학습시켜서 제품의 결함을 분류하는 단계;를 포함하고,
상기 (a) 단계는,
(a-1) 입력된 원본 영상을 특징맵으로 맵핑하는 단계;
(a-2) 상기 특징맵을 제 1 복원용 제트값(Z1)에 기초하여 제 1 복원 영상으로 복원하고, 제 2 복원용 제트값(Z2)을 기초하여 제 2 복원 영상으로 복원하는 단계; 및
(a-3) 상기 특징맵을 상기 제 1 복원용 제트값(Z1)과 상기 제 2 복원용 제트값(Z2)을 모두 이용한 양자 보간식에 의해서 상기 양자 보간식의 변수(a)를 N회 변화시키면서 산출된 복수개의 제 N 보간 제트값(ZNnew)에 기초하여 복수개의 제 N 보간 영상으로 복원하는 단계;
를 포함하는, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법.
(a) generating a plurality of restored images identical to or similar to the original image when an original image is input, and generating an interpolated image using the restored image; and
(b) classifying defects of the product by learning the reconstructed image and the interpolated image using a deep learning method;
In step (a),
(a-1) mapping the input original image to a feature map;
(a-2) restoring the feature map into a first reconstruction image based on a first restoration jet value Z1, and restoring a second reconstruction image based on a second restoration jet value Z2; and
(a-3) By a quantum interpolation equation using both the first restoration jet value Z1 and the second restoration jet value Z2 for the feature map, the variable (a) of the quantum interpolation equation is changed N times. restoring a plurality of N-th interpolated images based on a plurality of N-th interpolated jet values ZNnew calculated while changing;
Including, deep learning-based product defect inspection method using input and output data generation and transformation.
삭제delete 제 9 항에 있어서,
상기 (b) 단계는,
(b-1) 적어도 컨볼루션 레이어, 풀링 레이어, 활성화 함수 및 이들의 조합들 중 어느 하나 이상을 이용하여 복수개의 상기 복원 영상 및 상기 보간 영상으로부터 결함 특징맵을 추출하는 단계;
(b-2) 적어도 디컨볼루션 레이어, 언풀링 레이어, 활성화 함수 및 이들의 조합들 중 어느 하나 이상을 포함하여 상기 결함 특징맵을 결함 복원 영상으로 복원하는 단계; 및
(b-3) 상기 결함 복원 영상을 결함의 종류별로 분류하는 단계;
를 포함하는, 입출력 데이터 생성 및 변형을 이용한 딥러닝 기반 제품 결함 검사 방법.
According to claim 9,
In step (b),
(b-1) extracting defect feature maps from the plurality of reconstructed images and the interpolated image using at least one or more of a convolution layer, a pooling layer, an activation function, and combinations thereof;
(b-2) restoring the defect feature map into a defect reconstructed image by including at least one or more of a deconvolution layer, an unpooling layer, an activation function, and combinations thereof; and
(b-3) classifying the defect restoration image according to defect types;
Including, deep learning-based product defect inspection method using input and output data generation and transformation.
KR1020200086725A 2020-07-14 2020-07-14 System and method of defect inspection using generation and transformation of input and output data based on deep learning KR102475851B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200086725A KR102475851B1 (en) 2020-07-14 2020-07-14 System and method of defect inspection using generation and transformation of input and output data based on deep learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200086725A KR102475851B1 (en) 2020-07-14 2020-07-14 System and method of defect inspection using generation and transformation of input and output data based on deep learning

Publications (2)

Publication Number Publication Date
KR20220008530A KR20220008530A (en) 2022-01-21
KR102475851B1 true KR102475851B1 (en) 2022-12-09

Family

ID=80050258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200086725A KR102475851B1 (en) 2020-07-14 2020-07-14 System and method of defect inspection using generation and transformation of input and output data based on deep learning

Country Status (1)

Country Link
KR (1) KR102475851B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102611665B1 (en) * 2022-11-16 2023-12-08 서울시립대학교 산학협력단 Server, method and computer program for augmenting numerical learning data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005156334A (en) 2003-11-25 2005-06-16 Nec Tohoku Sangyo System Kk Pseudo defective image automatic creation device and imaging inspection device
JP2012226732A (en) * 2011-04-06 2012-11-15 Nippon Steel Corp Operation prediction apparatus, operation prediction method and computer program
KR101688458B1 (en) 2016-04-27 2016-12-23 디아이티 주식회사 Image inspection apparatus for manufactured articles using deep neural network training method and image inspection method of manufactured articles thereby
JP2019046390A (en) 2017-09-06 2019-03-22 株式会社東芝 Learning device, method for learning, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101992239B1 (en) * 2017-08-24 2019-06-25 주식회사 수아랩 Method, apparatus and computer program stored in computer readable medium for generating training data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005156334A (en) 2003-11-25 2005-06-16 Nec Tohoku Sangyo System Kk Pseudo defective image automatic creation device and imaging inspection device
JP2012226732A (en) * 2011-04-06 2012-11-15 Nippon Steel Corp Operation prediction apparatus, operation prediction method and computer program
KR101688458B1 (en) 2016-04-27 2016-12-23 디아이티 주식회사 Image inspection apparatus for manufactured articles using deep neural network training method and image inspection method of manufactured articles thereby
JP2019046390A (en) 2017-09-06 2019-03-22 株式会社東芝 Learning device, method for learning, and program

Also Published As

Publication number Publication date
KR20220008530A (en) 2022-01-21

Similar Documents

Publication Publication Date Title
US11710045B2 (en) System and method for knowledge distillation
Alawieh et al. Wafer map defect patterns classification using deep selective learning
CN114677346B (en) Method for detecting end-to-end semi-supervised image surface defects based on memory information
KR20210087874A (en) Machine learning-based defect detection of a specimen
CN111126433A (en) Positive and negative sample data balancing method in factory PCB defect detection
TWI786570B (en) Generating a training set usable for examination of a semiconductor specimen
CN114724043A (en) Self-encoder anomaly detection method based on contrast learning
Rios et al. Feature visualization for 3D point cloud autoencoders
CN114943694A (en) Defect detection method based on confrontation generation network and attention
CN116245826A (en) DCGAN-based part surface defect detection method
KR102475851B1 (en) System and method of defect inspection using generation and transformation of input and output data based on deep learning
Zhao et al. Large scale autonomous driving scenarios clustering with self-supervised feature extraction
Rasmus et al. Denoising autoencoder with modulated lateral connections learns invariant representations of natural images
KR20230127931A (en) Defect detection system, method and storage medium for display device
Vriesman et al. Texture CNN for thermoelectric metal pipe image classification
Cao et al. Unsupervised defect segmentation of magnetic tile based on attention enhanced flexible U-Net
Song et al. Anomaly composition and decomposition network for accurate visual inspection of texture defects
Roslan et al. Real-time plastic surface defect detection using deep learning
Gao et al. Semi-supervised small sample fault diagnosis under a wide range of speed variation conditions based on uncertainty analysis
CN116994044A (en) Construction method of image anomaly detection model based on mask multi-mode generation countermeasure network
CN115170897A (en) Image processing method based on mask region convolution neural network and application thereof
CN114758133A (en) Image flaw segmentation method based on super-pixel active learning and semi-supervised learning strategies
KR102302540B1 (en) System and method of defect inspection using generation of label data based on deep learning
Bäuerle et al. CAD2Real: Deep learning with domain randomization of CAD data for 3D pose estimation of electronic control unit housings
CN116468940B (en) Perception enhancement and motion judgment algorithm based on deep learning, storage medium and equipment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant