KR102298708B1 - 검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들 - Google Patents

검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들 Download PDF

Info

Publication number
KR102298708B1
KR102298708B1 KR1020200072380A KR20200072380A KR102298708B1 KR 102298708 B1 KR102298708 B1 KR 102298708B1 KR 1020200072380 A KR1020200072380 A KR 1020200072380A KR 20200072380 A KR20200072380 A KR 20200072380A KR 102298708 B1 KR102298708 B1 KR 102298708B1
Authority
KR
South Korea
Prior art keywords
defect
neural network
defects
artificial neural
inspection object
Prior art date
Application number
KR1020200072380A
Other languages
English (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 KR1020200072380A priority Critical patent/KR102298708B1/ko
Application granted granted Critical
Publication of KR102298708B1 publication Critical patent/KR102298708B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • 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
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8887Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques
    • 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]

Abstract

검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 검사 대상에 존재하는 결함을 검사하는 방법은, 상기 검사 대상에서 발생 가능한 복수의 결함들 중에서 학습 데이터 수가 적은 제1 결함을 제외한 나머지 결함들에 대한 학습 데이터를 이용하여 인공 신경망을 학습하는 단계와, 상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 나머지 결함들 중에서 상기 제1 결함과 유사한 제2 결함의 클래스 값으로 변경하는 단계와, 상기 나머지 결함들에 대한 학습 데이터와 클래스 값이 변경된 학습 데이터를 이용하여 학습된 인공 신경망을 재학습하는 단계와, 상기 학습된 인공 신경망 및 재학습된 인공 신경망을 이용하여 상기 검사 대상에 결함이 존재하는지 여부를 검사하는 단계를 포함한다.

Description

검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들{METHOD OF INSPECTING DEFECTS PRESENT IN THE INSPECTION OBJECT AND APPARATUSES PERFORMING THE SAME}
아래 실시예들은 검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치에 관한 것이다.
최근에는 검사 대상(또는 제품)이 촬영된 영상을 통해 제품의 결함을 검사할 수 있다. 영상에서 결함의 종류를 판단하는 인식 모듈은 영상 결함 검사 성능에 많은 영향을 미치는 주요 요소일 수 있다.
과거에는 개발자의 경험적 판단으로 검사 대상에 대한 정상과 결함을 판단하는 rule-base 방법에 의존하여 검사 대상에 대한 특징의 주요 인자를 추출하는 알고리즘 개발 방법으로 결함 검사 시스템을 개발하였다.
하지만, 기존의 결함 검사 방법은 개발 기간이 길어지는 단점 및 제품과 결함에 따라 매번 주요 인자 추출 알고리즘을 개발해야 하는 단점이 있다.
실시예들은 검사 대상에서 발생 가능한 결함(또는 불량)에 대한 극히 적은 학습 데이터로 학습된 깊은 딥러닝 모델을 통해 검사 대상의 결함 존재 여부를 검사하고, 검사 대상에 존재하는 결함을 분류하는 기술을 제공할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 검사 대상에 존재하는 결함을 검사하는 방법은 상기 검사 대상에서 발생 가능한 복수의 결함들 중에서 학습 데이터 수가 적은 제1 결함을 제외한 나머지 결함들에 대한 학습 데이터를 이용하여 인공 신경망을 학습하는 단계와, 상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 나머지 결함들 중에서 상기 제1 결함과 유사한 제2 결함의 클래스 값으로 변경하는 단계와, 상기 나머지 결함들에 대한 학습 데이터와 클래스 값이 변경된 학습 데이터를 이용하여 학습된 인공 신경망을 재학습하는 단계와, 상기 학습된 인공 신경망 및 재학습된 인공 신경망을 이용하여 상기 검사 대상에 결함이 존재하는지 여부를 검사하는 단계를 포함한다.
상기 나머지 결함들은 학습 데이터 수가 많은 결함이고, 각 클래스 값은 각 결함을 대표하는 식별값이고, 각 학습 데이터는 각 결함을 포함하는 검사 대상에 대한 이미지 데이터이고, 클래스 값이 레이블링될 수 있다.
상기 변경하는 단계는 상기 학습된 인공 신경망에 상기 제1 결함에 대한 학습 데이터들을 입력하여 상기 나머지 결함들 중에서 상기 제2 결함을 추출하는 단계와, 상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 제2 결함의 클래스 값으로 변경하는 단계를 포함할 수 있다.
상기 검사하는 단계는 상기 검사 대상의 이미지 데이터를 획득하는 단계와, 상기 학습된 인공 신경망에 상기 이미지 데이터를 입력하여 상기 검사 대상에 결함이 존재하는지 여부를 판단하는 단계와, 상기 재학습된 인공 신경망을 이용하여 상기 검사 대상에 존재하는 결함을 상기 복수의 결함들 중에서 어느 하나의 결함으로 분류하는 단계를 포함할 수 있다.
상기 분류하는 단계는 상기 검사 대상에 존재하는 결함이 상기 제1 결함 또는 상기 제2 결함인 경우, 상기 학습된 인공 신경망을 이용하여 상기 이미지의 특징 및 상기 제2 결함을 대표하는 대표 이미지의 특징을 추출하는 단계와, 상기 이미지의 특징 및 상기 대표 이미지의 특징 간의 차이값에 기초하여 상기 검사 대상에 존재하는 결함을 상기 제1 결함 또는 상기 제2 결함으로 분류하는 단계를 포함할 수 있다.
일 실시예에 따른 검사 대상에 존재하는 결함을 검사하는 장치는 인스트럭션들을 포함하는 메모리; 및 상기 인스트럭션들을 실행하기 위한 컨트롤러를 포함하고, 상기 컨트롤러는 상기 검사 대상에서 발생 가능한 복수의 결함들 중에서 학습 데이터 수가 적은 제1 결함을 제외한 나머지 결함들에 대한 학습 데이터를 이용하여 인공 신경망을 학습하고, 상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 나머지 결함들 중에서 상기 제1 결함과 유사한 제2 결함의 클래스 값으로 변경하고, 상기 나머지 결함들에 대한 학습 데이터와 클래스 값이 변경된 학습 데이터를 이용하여 학습된 인공 신경망을 재학습하고, 상기 학습된 인공 신경망 및 재학습된 인공 신경망을 이용하여 상기 검사 대상에 결함이 존재하는지 여부를 검사한다.
상기 나머지 결함들은 학습 데이터 수가 많은 결함이고, 각 클래스 값은 각 결함을 대표하는 식별값이고, 각 학습 데이터는 각 결함을 포함하는 검사 대상에 대한 이미지 데이터이고, 클래스 값이 레이블링될 수 있다.
상기 컨트롤러는 상기 학습된 인공 신경망에 상기 제1 결함에 대한 학습 데이터들을 입력하여 상기 나머지 결함들 중에서 상기 제2 결함을 추출하고, 상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 제2 결함의 클래스 값으로 변경할 수 있다.
상기 컨트롤러는 상기 검사 대상의 이미지 데이터를 획득하고, 상기 학습된 인공 신경망에 상기 이미지 데이터를 입력하여 상기 검사 대상에 결함이 존재하는지 여부를 판단하고, 상기 재학습된 인공 신경망을 이용하여 상기 검사 대상에 존재하는 결함을 상기 복수의 결함들 중에서 어느 하나의 결함으로 분류할 수 있다.
상기 컨트롤러는 상기 검사 대상에 존재하는 결함이 상기 제1 결함 또는 상기 제2 결함인 경우, 상기 학습된 인공 신경망을 이용하여 상기 이미지의 특징 및 상기 제2 결함을 대표하는 대표 이미지의 특징을 추출하고, 상기 이미지의 특징 및 상기 대표 이미지의 특징 간의 차이값에 기초하여 상기 검사 대상에 존재하는 결함을 상기 제1 결함 또는 상기 제2 결함으로 분류할 수 있다.
도 1은 기존의 결함 검사 방법을 설명하기 위한 일 예를 나타낸다.
도 2는 일 실시예에 따른 결함 검사 시스템의 개략적인 블록도를 나타낸다.
도 3은 도 2에 도시된 결함 검사 장치의 개략적인 블록도를 나타낸다.
도 4는 도 3에 도시된 컨트롤러의 결함 검사 동작을 설명하기 위한 일 예를 나타낸다.
도 5는 도 2에 도시된 결함 검사 장치의 동작을 설명하기 위한 순서도를 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 기존의 결함 검사 방법을 설명하기 위한 일 예를 나타낸다.
최근에는 스마트 팩토리(smart factory) 구현을 위한 다양한 기술들이 집중 연구되고 있다. 스마트 팩토리는 입력(input)과 출력(output)의 상관관계를 분석하여 품질을 예측하고, 대량 결함 발생을 사전에 방지하고, 설비 고장을 사전에 예측하여 선제적으로 대응할 수 있어야 한다.
스마트 팩토리 구현을 위해서는 공정 데이터가 필요하고, 그 결과로 나타나는 제품의 품질 데이터가 DB(data base)화 되어 있어야 한다. 공정 데이터는 원료량, 원료 품질, 제조 공정 데이터(온도, 습도 등) 및 설비 운전 조건 등의 다양한 데이터일 수 있다.
제품의 결함을 검사하는 결함 검사 시스템은 스마트 팩토리 구현을 위한 핵심 기술일 수 있다. 예를 들어, 결함 검사 시스템은 비전 시스템, 광학 모듈, 데이터 처리 모듈 및 MMI(Man machine interface) 모듈로 구성되어 제품의 결함을 실시간 검사하고 제품의 품질을 판정할 수 있다. 이때, 결함 검사 시스템의 주요 요소는 영상에서 결함의 위치와 종류를 판단하는 데이터 처리 모듈(또는 결함 인식 모듈)일 수 있다.
비전 시스템은 제품의 표면 결함을 검사할 수 있다. 광학 모듈은 제품을 촬영하기 위해서 카메라와 조명으로 구성되어 제품에 대한 영상을 획득할 수 있다. 데이터 처리 모듈은 광학 모듈에서 획득된 영상에서 결함을 검사할 수 있다. MMI 모듈은 제품에 대한 영상과 결함 검사 결과를 표시(또는 디스플레이) 및 저장할 수 있다.
다만, 기존의 결함 검사 방법은 제품과 결함에 따라 주요 인자 추출 알고리즘을 개발해야 하는 단점 및 개발 기간이 길어지는 단점이 있다. 기존의 결함 검사 방법은 상술한 단점으로 인해 기존의 결함을 인식하는 성능이 저하되는 문제가 나타날 수 있다.
최근에는 신경망 레이어가 깊게 쌓여 있는 구조로 레이어 수가 많아질수록 복잡하고 어려운 문제를 풀 수 있는 딥러닝 기술을 이용하여 제품의 결함을 검사하는 인식 알고리즘을 개발하는 추세이다. 딥러닝 기술이 적용된 결함 검사 기술은 영상을 통해 제품의 결함 검출 및 분류를 위한 특징을 추출하여 양품과 불량, 더 나아가서 불량의 종류를 판별하는 결함 검사 기술일 수 있다.
딥러닝 기술이 적용된 제품 결함 검사 방법은 일반적인 딥러닝 모델인 인공 신경망을 학습시켜야 한다. 이때, 딥러닝 모델을 충분히 학습시키기 위해서는 충분한 양의 학습 데이터가 확보되어야 한다. 학습 데이터는 제품에서 발생 가능한 복수의 결함들 각각에 대응하는 데이터일 수 있다. 복수의 결함들은 일반적인 결함 및 치명적인 결함일 수 있다.
하지만, 일반적으로 제조업에서는 딥러닝 기반의 인공 신경망을 학습하기 위해서 요구되는 학습 데이터를 확보하기 어렵다. 특히, 제조업에서는 치명적인 결함에 대응하는 데이터를 확보하기 어렵다. 일반적인 결함에 대응하는 데이터는 치명적인 결함에 대응하는 데이터 보다 상대적으로 용이하게 확보 가능하다. 일반적인 결함은 클래스간 불균형일 수 있다.
도 2는 일 실시예에 따른 결함 검사 시스템의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 결함 검사 시스템(10)은 이미지 제공 장치(100) 및 결함 검사 장치(300)를 포함할 수 있다.
이미지 제공 장치(100)는 결함 검사 장치(300)가 검사할 검사 대상의 이미지를 결함 검사 장치(300)에 제공할 수 있다. 예를 들어, 이미지 제공 장치(100)는 카메라를 이용하여 검사 대상을 촬영하여 검사 대상에 대응하는 이미지(또는 영상)을 생성할 수 있다. 검사 대상은 다양한 결함(또는 불량)이 발생될 수 있는 다양한 오브젝트(object)일 수 있다. 오브젝트는 스마트 팩토리 및 일반적인 팩토리 등에서 다양한 공정 과정을 거쳐 생성된 제품일 수 있다. 검사 대상의 이미지는 검사 대상의 내부 및/또는 외부 이미지일 수 있다.
결함 검사 장치(300)는 검사 대상에서 발생 가능한 결함(또는 불량)에 대한 극히 적은 학습 데이터로 학습된 깊은 딥러닝 모델을 통해 검사 대상의 결함 존재 여부를 검사하고, 검사 대상에 존재하는 결함을 분류할 수 있다. 이때, 딥러닝 모델은 검사 대상을 검사하여 결함을 분류하기 위한 딥러닝 분류 모델로 CNN(convolutional neural network), DNN(deep neural network) 등 다양한 인공 신경망일 수 있다.
이에, 결함 검사 장치(300)는 극히 적은 데이터로 학습 데이터로도 검사 대상에 존재하는 결함을 검출할 수 있고, 획기적으로 우수한 결함 검사 성능 및 고성능 결함 검사 시스템을 가질 수 있다.
결함 검사 장치(300)는 딥러닝을 이용한 영상 분석 기술을 다양한 제조업 제품의 품질 진단, 결함 검사에 응용하고, 영상에서 개발된 딥러닝을 활용한 결함 검사 기술을 다양한 제품의 내외부 결함 검사, 품질 정량화의 핵심 기술로 사용할 수 있다. 예를 들어, 결함 검사 장치(300)는 특정 대상을 자동으로 검사하는 기술을 통해 결함 검사뿐만 아니라, 비파괴 검사와 같은 진단 분야에도 사용될 수 있다.
결함 검사 장치(300)는 Smart Factory 구현의 필수기술로, 생산 조업 조건에 따른 설비의 상태를 판정하고 설비 상태에 따른 제품의 품질을 예측하여 생산 조건을 최적화하는 기술에도 응용 가능할 수 있다.
도 3은 도 2에 도시된 결함 검사 장치의 개략적인 블록도를 나타낸다.
결함 검사 장치(300)는 메모리(310) 및 컨트롤러(330)를 포함할 수 있다.
메모리(310)는 컨트롤러(330)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 컨트롤러(330)의 동작 및/또는 컨트롤러(330)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
컨트롤러(330)는 메모리(310)에 저장된 데이터를 처리할 수 있다. 컨트롤러(330)는 메모리(310)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 컨트롤러(330)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
컨트롤러(330)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
컨트롤러(330)는 결함 검사 장치(300)의 전반적인 동작을 제어할 수 있다. 예를 들어, 컨트롤러(330)는 메모리(310)의 동작을 제어할 수 있다.
컨트롤러(330)는 검사 대상에서 발생 가능한 복수의 결함들 각각에 대한 학습 데이터들을 획득(또는 확보)할 수 있다. 예를 들어, 복수의 결함들은 검사 대상에 대한 결함 검사를 통해 총 분류 가능한 결함들일 수 있다. 복수의 결함들은 검사 대상에 치명적인 결함들 및 일반적인 결함들일 수 있다. 치명적인 결함들은 인공 신경망을 충분히 학습시킬 수 없는 극히 적은 수의 학습 데이터가 확보될 수 있다. 일반적인 결함들은 인공 신경망을 충분히 학습시킬 수 있는 많은 수의 학습 데이터가 확보될 수 있다. 학습 데이터는 결함을 포함하는 검사 대상의 이미지 데이터일 수 있다. 이하에서는 설명의 편의를 위해서 치명적인 결함을 제1 결함으로 명명하고, 일반적인 결함을 제2 결함으로 명명하며, 제1 결함이 하나의 결함인 것으로 가정하도록 한다.
컨트롤러(330)는 각 학습 데이터에 각 학습 데이터에 대응하는 결함에 대한 정보를 레이블링(labeling)할 수 있다. 결함에 대한 정보는 결함을 대표하거나, 나타내는 식별값인 클래스(Class) 값일 수 있다. 제1 결함의 클래스 값이 클래스 2인 경우, 컨트롤러(330)는 어느 하나의 결함에 대한 학습 데이터에 클래스 2를 레이블링할 수 있다. 클래스 값은 결함의 종류 및/또는 명칭을 나타내는 일련 번호일 수 있다. 클래스 값이 결함의 종류 및/또는 명칭을 나타내는 숫자이지만, 이에 한정하는 것은 아니다. 예를 들어, 클래스 값은 결함의 종류 및/또는 명칭 등 결함을 대표하거나, 나타내는 다양한 의미의 기호 등일 수 있다. 이하에서는 설명의 편의를 위해서, 클래스 값이 일련 번호임을 가정하도록 한다.
컨트롤러(330)는 복수의 결함들 중에서 제1 결함을 제외한 나머지 결함들에 대한 학습 데이터를 이용하여 인공 신경망을 학습할 수 있다. 제1 결함의 클래스 값이 클래스 2이고, 복수의 결함들이 N개인 경우, 인공 신경망은 인공 신경망의 출력 노드가 N-1개의 노드만으로 구성되어 학습될 수 있다.
컨트롤러(330)는 학습된 인공 신경망을 이용하여 제1 결함을 테스트함으로써, 제1 결함에 대한 테스트 결과 중에서 제1 결함의 추론 결과로 가장 많이 분류되는 결함을 제1 결함과 유사한 결함으로 결정할 수 있다. 예를 들어, 컨트롤러(330)는 학습된 인공 신경망에 제1 결함에 대한 학습 데이터들을 입력하여 나머지 결함들 중에서 가장 많이 추론되는 제2 결함을 추출할 수 있다. 컨트롤러(330)는 추출된 제2 결함을 제1 결함과 유사한 결함으로 결정할 수 있다. 제2 결함은 학습된 인공 신경망에서 출력되는 제1 결함에 대한 출력값(또는 추론값)일 수 있다.
컨트롤러(330)는 제1 결함에 대한 학습 데이터의 클래스 값을 제2 결함의 클래스 값으로 변경할 수 있다. 제2 결함의 클래스 값이 클래스 3인 경우, 컨트롤러(330)는 제1 결함에 대한 학습 데이터들의 클래스 값을 클래스 2에서 클래스 3으로 변경할 수 있다. 결과적으로 제1 결함에 대한 학습 데이터들과 제2 결함에 대한 학습 데이터들은 모두 하나의 값인 클래스 3으로 레이블링될 수 있다.
컨트롤러(330)는 나머지 결함들에 대한 학습 데이트들 및 클래스 값이 변경된 학습 데이터들을 포함한 전체 학습 데이터를 이용하여 학습된 인공 신경망을 재학습할 수 있다.
컨트롤러(330)는 학습된 인공 신경망 및 재학습된 인공 신경망을 이용하여 검사 대상에 결함이 존재하는지 여부를 검사할 수 있다. 컨트롤러(330)의 결함 검사 동작은 도 4에서 상세하게 설명하도록 한다.
이하에서는 설명의 편의를 위하여, 학습된 인공 신경망을 제1 인공 신경망으로 명명하고, 재학습된 인공 신경망을 제2 인공 신경망으로 명명하도록 한다.
도 4는 도 3에 도시된 컨트롤러의 결함 검사 동작을 설명하기 위한 일 예를 나타낸다.
컨트롤러(330)는 이미지 제공 장치(100)로부터 전송된 검사 대상에 대한 이미지 데이터를 획득할 수 있다.
컨트롤러(330)는 제1 인공 신경망을 이용하여 검사 대상에 결함이 존재하는지 여부를 판단할 수 있다. 제1 인공 신경망은 Convolution, Batch normalization, activation, pooling을 기본으로 하여 여러층을 쌓은 딥러닝 모델인 1단계 기본 분류 모델일 수 있다.
예를 들어, 컨트롤러(330)는 제1 인공 신경망에 검사 대상에 대한 이미지 데이터를 입력하여 검사 대상에 결함이 존재하는지 여부를 판단할 수 있다. 검사 대상에 제1 결함 또는 제2 결함이 존재하는 경우, 컨트롤러(330)는 제1 인공 신경망이 출력한 출력값이 클래스 3(또는 제2 결함)임을 확인하여 검사 대상에 결함이 존재한다고 판단할 수 있다. 검사 대상에 존재하는 결함이 제2 결함으로 확인된 경우, 검사 대상에 존재하는 결함은 제1 결함 또는 제2 결함일 수 있다.
컨트롤러(330)는 제1 인공 신경망 및/또는 제2 인공 신경망을 이용하여 검사 대상에 존재하는 결함을 복수의 결함들 중에서 어느 하나의 결함으로 분류(또는 결정)할 수 있다.
검사 대상에 결함이 존재한다고 판단되고, 검사 대상에 존재하는 결함이 나머지 결함들 중에서 어느 하나의 결함으로 확인된 경우, 컨트롤러(330)는 검사 대상에 대한 이미지 데이터가 입력된 제1 인공 신경망의 출력값에 기초하여 검사 대상에 존재하는 결함을 나머지 결함들 중에서 어느 하나의 결함으로 분류할 수 있다. 이때, 어느 하나의 결함은 나머지 결함들 중에서 제1 인공 신경망이 출력한 클래스 값에 대응하는 결함일 수 있다.
검사 대상에 결함이 존재한다고 판단되고, 검사 대상에 존재하는 결함이 제2 결함으로 확인된 경우, 컨트롤러(330)는 제2 인공 신경망을 이용하여 검사 대상에 존재하는 결함을 제1 결함 또는 제2 결함으로 분류할 수 있다. 제2 인공 신경망은 Feature extraction 2 모델을 2개의 입력에 공유하는 구조로 두 입력 영상의 차이점을 찾는 딥러닝 분류 모델인 2단계 집중 분류 모델일 수 있다.
예를 들어, 컨트롤러(330)는 제2 인공 신경망의 feature extraction 2를 이용하여 검사 대상에 대한 이미지 데이터의 특징 및 대표 이미지 데이터의 특징을 추출할 수 있다. 이때, 특징은 특징 벡터일 수 있다.
컨트롤러(330)는 제2 인공 신경망의 Distance extraction/decision 모델을 통해 추출된 특징들 간의 거리를 비교하여 검사 대상에 존재하는 결함과 제2 결함이 유사한지 여부를 판단할 수 있다. 이때, 제2 인공 신경망의 Distance extraction/decision 모델은 추출된 특징 벡터들 간의 차이를 계산할 수 있다.
예를 들어, 컨트롤러(330)는 추출된 특징 벡터들 간의 거리를 비교하여 추출된 특징 벡터들 간의 차이값을 계산할 수 있다. 이때, 차이값은 abs(F(X2) - F(X3)로, 추출된 특징 벡터들 간의 거리 차이값의 절대값일 수 있다. 차이값은 0과 1사이의 값으로 출력될 수 있다.
컨트롤러(330)는 차이값에 기초하여 검사 대상에 존재하는 결함과 제2 결함이 유사한지 여부를 판단할 수 있다. 예를 들어, 컨트롤러(330)는 차이값이 1과 가까우면 두 입력이 동일한 결함이고, 0과 가까우면 두 입력이 다른 결함으로 판단할 수 있다. 컨트롤러(330)는 차이값이 특정값 이하면 제2 결함과 유사하고, 특정값 이상이면 제2 결함과 유사하지 않다고 판단할 수 있다.
컨트롤러(330)는 검사 대상에 존재하는 결함과 제2 결함 간의 유사 여부에 기초하여 검사 대상에 존재하는 결함을 제1 결함 또는 제2 결함으로 분류할 수 있다.
도 5는 도 2에 도시된 결함 검사 장치의 동작을 설명하기 위한 순서도를 나타낸다.
컨트롤러(330)는 복수의 결함들 중에서 제1 결함을 제외한 나머지 결함들에 대한 학습 데이터를 이용하여 인공 신경망을 학습할 수 있다(510).
컨트롤러(330)는 학습된 인공 신경망을 이용하여 나머지 결함들 중에서 제1 결함과 유사한 제2 결함을 추출할 수 있다(520).
컨트롤러(330)는 제1 결함에 대한 학습 데이터의 클래스 값을 제2 결함의 클래스 값으로 변경할 수 있다(530).
컨트롤러(330)는 나머지 결함들에 대한 학습 데이터 및 클래스 값이 변경된 학습 데이터를 이용하여 학습된 인공 신경망을 재학습할 수 있다(540).
컨트롤러(330)는 학습된 인공 신경망을 이용하여 검사 대상에 결함이 존재하는지 여부를 판단할 수 있다(550).
검사 대상에 결함이 존재하고, 검사 대상에 존재하는 결함이 제2 결함으로 확인된 경우, 컨트롤러(330)는 재학습된 인공 신경망을 이용하여 검사 대상에 존재하는 결함 제2 결함과 유사한지 여부를 판단함으로써, 검사 대상에 존재하는 결함을 제1 결함 또는 제2 결함으로 분류할 수 있다(560).
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (10)

  1. 검사 대상에 존재하는 결함을 검사하는 방법에 있어서,
    상기 검사 대상에서 발생 가능한 복수의 결함들 중에서 제1 결함을 제외한 나머지 결함들에 대한 학습 데이터를 이용하여 인공 신경망을 학습하는 단계;
    상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 나머지 결함들 중에서 상기 제1 결함과 유사한 제2 결함의 클래스 값으로 변경하는 단계;
    상기 나머지 결함들에 대한 학습 데이터와 클래스 값이 변경된 학습 데이터를 이용하여 학습된 인공 신경망을 재학습하는 단계; 및
    상기 학습된 인공 신경망 및 재학습된 인공 신경망을 이용하여 상기 검사 대상에 결함이 존재하는지 여부를 검사하는 단계
    를 포함하고,
    상기 제1 결함은 상기 나머지 결함들에 대한 학습 데이터 수보다 학습 데이터 수가 적어 상기 인공 신경망을 학습시킬 수 없는 결함인,
    상기 나머지 결함들은 상기 제1 결함보다 학습 데이터 수가 많아 상기 인공 신경망을 학습시킬 수 있는 결함인, 방법.
  2. 제1항에 있어서,
    각 클래스 값은 각 결함을 대표하는 식별값이고,
    각 학습 데이터는 각 결함을 포함하는 검사 대상에 대한 이미지 데이터이고, 클래스 값이 레이블링되는, 방법.
  3. 제1항에 있어서,
    상기 변경하는 단계는,
    상기 학습된 인공 신경망에 상기 제1 결함에 대한 학습 데이터들을 입력하여 상기 나머지 결함들 중에서 상기 제2 결함을 추출하는 단계; 및
    상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 제2 결함의 클래스 값으로 변경하는 단계
    를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 검사하는 단계는,
    상기 검사 대상의 이미지 데이터를 획득하는 단계;
    상기 학습된 인공 신경망에 상기 이미지 데이터를 입력하여 상기 검사 대상에 결함이 존재하는지 여부를 판단하는 단계; 및
    상기 재학습된 인공 신경망을 이용하여 상기 검사 대상에 존재하는 결함을 상기 복수의 결함들 중에서 어느 하나의 결함으로 분류하는 단계
    를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 분류하는 단계는,
    상기 검사 대상에 존재하는 결함이 상기 제1 결함 또는 상기 제2 결함인 경우,
    상기 학습된 인공 신경망을 이용하여 상기 이미지의 특징 및 상기 제2 결함을 대표하는 대표 이미지의 특징을 추출하는 단계; 및
    상기 이미지의 특징 및 상기 대표 이미지의 특징 간의 차이값에 기초하여 상기 검사 대상에 존재하는 결함을 상기 제1 결함 또는 상기 제2 결함으로 분류하는 단계
    를 포함하는, 방법.
  6. 검사 대상에 존재하는 결함을 검사하는 장치에 있어서,
    인스트럭션들을 포함하는 메모리; 및
    상기 인스트럭션들을 실행하기 위한 컨트롤러
    를 포함하고,
    상기 컨트롤러는,
    상기 검사 대상에서 발생 가능한 복수의 결함들 중에서 제1 결함을 제외한 나머지 결함들에 대한 학습 데이터를 이용하여 인공 신경망을 학습하고, 상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 나머지 결함들 중에서 상기 제1 결함과 유사한 제2 결함의 클래스 값으로 변경하고, 상기 나머지 결함들에 대한 학습 데이터와 클래스 값이 변경된 학습 데이터를 이용하여 학습된 인공 신경망을 재학습하고, 상기 학습된 인공 신경망 및 재학습된 인공 신경망을 이용하여 상기 검사 대상에 결함이 존재하는지 여부를 검사하고,
    상기 제1 결함은 상기 나머지 결함들에 대한 학습 데이터 수보다 학습 데이터 수가 적어 상기 인공 신경망을 학습시킬 수 없는 결함이고,
    상기 나머지 결함들은 상기 제1 결함보다 학습 데이터 수가 많아 상기 인공 신경망을 학습시킬 수 있는 결함인, 장치.
  7. 제6항에 있어서,
    각 클래스 값은 각 결함을 대표하는 식별값이고,
    각 학습 데이터는 각 결함을 포함하는 검사 대상에 대한 이미지 데이터이고, 클래스 값이 레이블링되는, 장치.
  8. 제6항에 있어서,
    상기 컨트롤러는,
    상기 학습된 인공 신경망에 상기 제1 결함에 대한 학습 데이터들을 입력하여 상기 나머지 결함들 중에서 상기 제2 결함을 추출하고, 상기 제1 결함에 대한 학습 데이터의 클래스 값을 상기 제2 결함의 클래스 값으로 변경하는, 장치.
  9. 제6항에 있어서,
    상기 컨트롤러는,
    상기 검사 대상의 이미지 데이터를 획득하고, 상기 학습된 인공 신경망에 상기 이미지 데이터를 입력하여 상기 검사 대상에 결함이 존재하는지 여부를 판단하고, 상기 재학습된 인공 신경망을 이용하여 상기 검사 대상에 존재하는 결함을 상기 복수의 결함들 중에서 어느 하나의 결함으로 분류하는, 장치.
  10. 제9항에 있어서,
    상기 컨트롤러는,
    상기 검사 대상에 존재하는 결함이 상기 제1 결함 또는 상기 제2 결함인 경우,
    상기 학습된 인공 신경망을 이용하여 상기 이미지의 특징 및 상기 제2 결함을 대표하는 대표 이미지의 특징을 추출하고, 상기 이미지의 특징 및 상기 대표 이미지의 특징 간의 차이값에 기초하여 상기 검사 대상에 존재하는 결함을 상기 제1 결함 또는 상기 제2 결함으로 분류하는, 장치.
KR1020200072380A 2020-06-15 2020-06-15 검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들 KR102298708B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200072380A KR102298708B1 (ko) 2020-06-15 2020-06-15 검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200072380A KR102298708B1 (ko) 2020-06-15 2020-06-15 검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들

Publications (1)

Publication Number Publication Date
KR102298708B1 true KR102298708B1 (ko) 2021-09-07

Family

ID=77796927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200072380A KR102298708B1 (ko) 2020-06-15 2020-06-15 검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들

Country Status (1)

Country Link
KR (1) KR102298708B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102465045B1 (ko) * 2021-09-14 2022-11-09 주식회사 파워인스 인공지능 모델을 이용한 비파괴검사시스템 및 비파괴검사 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015114967A (ja) * 2013-12-13 2015-06-22 株式会社日立ハイテクノロジーズ 異常検知方法およびその装置
KR101843066B1 (ko) * 2017-08-23 2018-05-15 주식회사 뷰노 기계 학습에 있어서 데이터 확대를 이용하여 데이터의 분류를 수행하는 방법 및 이를 이용한 장치
KR20180113572A (ko) * 2016-05-24 2018-10-16 가부시키가이샤 히다치 하이테크놀로지즈 결함 분류 장치 및 결함 분류 방법
WO2019107614A1 (ko) * 2017-11-30 2019-06-06 전자부품연구원 제조 공정에서 딥러닝을 활용한 머신 비전 기반 품질검사 방법 및 시스템
JP2020052689A (ja) * 2018-09-26 2020-04-02 キヤノン株式会社 画像処理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015114967A (ja) * 2013-12-13 2015-06-22 株式会社日立ハイテクノロジーズ 異常検知方法およびその装置
KR20180113572A (ko) * 2016-05-24 2018-10-16 가부시키가이샤 히다치 하이테크놀로지즈 결함 분류 장치 및 결함 분류 방법
KR101843066B1 (ko) * 2017-08-23 2018-05-15 주식회사 뷰노 기계 학습에 있어서 데이터 확대를 이용하여 데이터의 분류를 수행하는 방법 및 이를 이용한 장치
WO2019107614A1 (ko) * 2017-11-30 2019-06-06 전자부품연구원 제조 공정에서 딥러닝을 활용한 머신 비전 기반 품질검사 방법 및 시스템
JP2020052689A (ja) * 2018-09-26 2020-04-02 キヤノン株式会社 画像処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102465045B1 (ko) * 2021-09-14 2022-11-09 주식회사 파워인스 인공지능 모델을 이용한 비파괴검사시스템 및 비파괴검사 방법

Similar Documents

Publication Publication Date Title
CN111179251B (zh) 基于孪生神经网络利用模板比对的缺陷检测系统及方法
KR102422093B1 (ko) 이미지 기반 표본 프로세스 제어
EP3502966B1 (en) Data generation apparatus, data generation method, and data generation program
US10885618B2 (en) Inspection apparatus, data generation apparatus, data generation method, and data generation program
KR20200096861A (ko) 불량 감지 방법 및 장치
CN112534470A (zh) 用于基于图像的目标对象检验的系统及方法
KR102297232B1 (ko) 형태학적 영상처리를 활용한 이상 탐지 방법
CN114494780A (zh) 基于特征对比的半监督工业缺陷检测方法及系统
KR102416474B1 (ko) 기계학습 기반 고장 진단 장치 및 방법
US11774371B2 (en) Defect size measurement using deep learning methods
KR102298708B1 (ko) 검사 대상에 존재하는 결함을 검사하는 방법 및 이를 수행하는 장치들
CN113469950A (zh) 一种基于深度学习的复合绝缘子异常发热缺陷的诊断方法
CN117152152B (zh) 检测试剂盒的生产管理系统及方法
CN116563291B (zh) 一种smt智能防错上料检测仪
KR102434442B1 (ko) 검사 대상의 결함 검사를 고속으로 수행하는 방법 및 이를 수행하는 장치들
JP2023145412A (ja) 欠陥検出方法及びシステム
Gaita et al. A Machine Learning Based Wafer Test Ranking for Root Cause Analysis
KR20230036650A (ko) 영상 패치 기반의 불량 검출 시스템 및 방법
WO2023032549A1 (ja) 欠陥検査装置、欠陥検査方法および予測モデル生成方法
TWI840640B (zh) 半監督學習系統及半監督學習方法
KR102613633B1 (ko) 진단 키트의 검사 결과를 판독하는 ai 모델 학습 장치 및 그 동작 방법
KR20230119842A (ko) 인공지능 기반의 제품의 외관 결함을 검사하는 방법 및 장치
Agrawal et al. Automated Socket Anomaly Detection through Deep Learning
KR102178238B1 (ko) 회전 커널을 이용한 머신러닝 기반 결함 분류 장치 및 방법
US11967060B2 (en) Wafer level spatial signature grouping using transfer learning

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant