KR20220149727A - 결함 검출 시스템 - Google Patents

결함 검출 시스템 Download PDF

Info

Publication number
KR20220149727A
KR20220149727A KR1020227034140A KR20227034140A KR20220149727A KR 20220149727 A KR20220149727 A KR 20220149727A KR 1020227034140 A KR1020227034140 A KR 1020227034140A KR 20227034140 A KR20227034140 A KR 20227034140A KR 20220149727 A KR20220149727 A KR 20220149727A
Authority
KR
South Korea
Prior art keywords
images
subset
image
generating
computing system
Prior art date
Application number
KR1020227034140A
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 나노트로닉스 이미징, 인코포레이티드
Publication of KR20220149727A publication Critical patent/KR20220149727A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • G06F18/41Interactive pattern learning with a human teacher
    • G06K9/6254
    • G06K9/6257
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7796Active pattern-learning, e.g. online learning of image or video features based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Abstract

컴퓨팅 시스템은 대상 표본의 대상 표면 내에 존재하는 결함을 검출하도록 예측 모델을 훈련시키기 위한 훈련 데이터 세트를 생성하고, 훈련 데이터 세트를 기반으로 대상 표본의 대상 표면 내에 존재하는 결함을 검출하도록 예측 모델을 훈련시킨다. 컴퓨팅 시스템은, 예측 모델을 훈련시키기 위한 이미지 세트를 식별함으로써 훈련 데이터 세트를 생성하고, 이미지 세트는 제 1 서브세트의 이미지를 포함한다. 딥 러닝 네트워크는 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성한다. 딥 러닝 네트워크는 제 1 서브세트의 이미지와 라벨링된 제 2 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 라벨링을 위한 제 3 서브세트의 이미지를 생성한다. 컴퓨팅 시스템은 임계 수의 라벨링된 이미지가 생성될 때까지 프로세스를 계속한다.

Description

결함 검출 시스템
관련 출원에 대한 교차 참조
본 출원은 2020년 3월 9일 출원된 미국 가출원 제62/987,002호에 대한 우선권을 주장하며, 그 전체가 본원에 참고로 포함된다.
본 개시는 일반적으로 결함 검출 시스템에 관한 것이다.
딥 러닝 모델은 객체 검출 작업에서 대중화되었다. 이들 모델은 효과적으로 훈련되기 위해 많은 수의 라벨링된 데이터를 필요로 한다. 대부분의 경우, 많은 양의 데이터를 수집하는 것은 어렵지 않지만, 데이터를 수동으로 라벨링하는 것은 매우 지루하고 시간 소모적인 과정일 수 있다. 데이터 세트의 자동 라벨링은 그 적용 가능성을 높이고 있지만, 여전히 인간 작업자를 대체하는 데 필요한 선행 과정이 부족하고 이전의 과거 사례가 없는 경우에 종종 제대로 처리되지 않는다.
일부 실시형태에서, 컴퓨팅 시스템이 본원에 개시된다. 컴퓨팅 시스템은 프로세서와 메모리를 포함한다. 메모리에는, 프로세서에 의해 실행될 때, 동작을 수행하는 프로그래밍 명령이 저장되어 있다. 동작은 대상 표본의 대상 표면 내에 존재하는 결함을 검출하도록 예측 모델을 훈련시키기 위한 훈련 데이터 세트를 생성하는 단계와 훈련 데이터 세트를 기반으로 대상 표본의 대상 표면 내에 존재하는 결함을 검출하도록 예측 모델을 훈련시키는 단계를 포함한다. 컴퓨팅 시스템은, 예측 모델을 훈련시키기 위한 이미지 세트를 식별하고, 여기서 이미지 세트는 제 1 서브세트의 이미지를 포함하고, 제 1 서브세트의 이미지의 각각의 이미지는 각각의 표본 상의 결함을 식별하는 라벨로 라벨링되고; 딥 러닝 네트워크에 의해, 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성하고; 작업자에게 제 2 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트(prompt)하고; 딥 러닝 네트워크에 의해, 제 1 서브세트의 이미지와 라벨링된 제 2 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 라벨링을 위한 제 3 서브세트의 이미지를 생성하고; 작업자에게 제 3 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하고; 및 제 1 서브세트의 이미지, 제 2 서브세트의 이미지, 및 제 3 서브세트의 이미지를 집계함으로써 훈련 데이터 세트를 생성하고, 여기서 제 1 서브세트의 이미지, 제 2 서브세트의 이미지, 및 제 3 서브세트의 이미지 내의 각각의 이미지는 라벨링된다.
일부 실시형태에서, 방법이 본원에 개시된다. 컴퓨팅 시스템은 표본의 표면 내의 결함을 검출하도록 예측 모델을 훈련시키기 위한 이미지 세트를 식별한다. 이미지 세트는 제 1 서브세트의 이미지를 포함한다. 제 1 서브세트의 이미지의 각각의 이미지는 각각의 표본 상의 결함을 식별하는 라벨로 라벨링된다. 컴퓨팅 시스템의 딥 러닝 네트워크는 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성한다. 컴퓨팅 시스템은 작업자에게 제 2 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트한다. 딥 러닝 네트워크는 제 1 서브세트의 이미지와 라벨링된 제 2 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 라벨링을 위한 제 3 서브세트의 이미지를 생성한다. 컴퓨팅 시스템은 작업자에게 제 3 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트한다. 컴퓨팅 시스템은 제 1 서브세트의 이미지, 제 2 서브세트의 이미지, 및 제 3 서브세트의 이미지를 집계한다. 제 1 서브세트의 이미지, 제 2 서브세트의 이미지, 및 제 3 서브세트의 이미지 내의 각각의 이미지는 예측 모델을 훈련시키기 위한 훈련 데이터 세트를 형성하기 위해 라벨링된다.
일부 실시형태에서, 컴퓨팅 시스템이 본원에 개시된다. 컴퓨팅 시스템은 프로세서와 메모리를 포함한다. 메모리에는, 프로세서에 의해 실행될 때, 동작을 수행하는 프로그래밍 명령이 저장되어 있다. 동작은 표본의 표면 내의 결함을 검출하도록 예측 모델을 훈련시키기 위한 이미지 세트를 식별하는 단계를 포함한다. 이미지 세트는 제 1 서브세트의 이미지를 포함한다. 제 1 서브세트의 이미지의 각각의 이미지는 각각의 표본 상의 결함을 식별하는 라벨로 라벨링된다. 동작은, 컴퓨팅 시스템의 딥 러닝 네트워크에 의해, 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성하는 단계를 더 포함한다. 동작은 작업자에게 제 2 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하는 단계를 더 포함한다. 동작은, 딥 러닝 네트워크에 의해, 제 1 서브세트의 이미지와 라벨링된 제 2 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 라벨링을 위한 제 3 서브세트의 이미지를 생성하는 단계를 더 포함한다. 동작은 작업자에게 제 3 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하는 단계를 더 포함한다. 동작은 제 1 서브세트의 이미지, 제 2 서브세트의 이미지, 및 제 3 서브세트의 이미지를 집계하는 단계를 더 포함한다. 제 1 서브세트의 이미지, 제 2 서브세트의 이미지, 및 제 3 서브세트의 이미지 내의 각각의 이미지는 예측 모델을 훈련시키기 위한 훈련 데이터 세트를 형성하기 위해 라벨링된다.
본 개시의 상기한 특징이 상세하게 이해될 수 있도록, 위에서 간략하게 요약된 본 개시의 보다 구체적인 설명이, 일부가 첨부된 도면에 도시된 실시형태를 참조하여 제공될 것이다. 그러나, 첨부된 도면은 본 개시의 일반적인 실시형태만을 도시하고, 따라서 본 개시가 기타 동등하게 효과적인 실시형태를 인정할 수 있기 때문에 그 범위를 제한하는 것으로 해석되어서는 안 된다는 점에 주목해야 한다.
도 1은 예시적인 실시형태에 따른 이미징 시스템을 도시하는 블록도이다.
도 2는 예시적인 실시형태에 따른 딥 러닝 모델의 아키텍처를 도시하고 있다.
도 3은 예시적인 실시형태에 따른 예측 모델을 훈련시키기 위해 훈련 데이터 세트를 생성하는 방법을 도시하는 흐름도이다.
도 4는 예시적인 실시형태에 따른 표본 내의 결함을 식별하는 방법을 도시하는 흐름도이다.
도 5는 예시적인 실시형태에 따른 예측 모델에 의해 생성된 예시적인 그래픽 출력을 도시하고 있다.
도 6a는 예시적인 실시형태에 따른 시스템 버스 컴퓨팅 시스템 아키텍처를 도시하고 있다.
도 6b는 예시적인 실시형태에 따른 칩셋 아키텍처를 갖는 컴퓨터 시스템을 도시하고 있다.
이해를 돕기 위해, 가능한 한 동일한 참조 번호를 사용하여 도면에 공통적인 동일한 요소를 지정했다. 하나의 실시형태에 개시된 요소들은 특별한 언급 없이도 다른 실시형태에서 유리하게 활용될 수 있을 것이다.
적절하게 일반화되는 객체 검출 및 분류를 위한 머신 러닝 모델을 훈련시키면 다양한 훈련 데이터 세트로부터 이익을 얻을 수 있다. 이러한 훈련 데이터 세트는 일반적으로, 사람이 이미지 목록을 순차적으로 살펴보고, 도입된 임계값에 도달할 때까지 각각의 이미지에서 충분히 많은 수의 예제에 라벨링을 하는 인간의 주석을 포함한다. 이러한 종래의 프로세스는, 특히 유사한 예제가 많이 반복될 수 있을 때, 시간 소모적이고 걸리고 불필요하다. 대규모 데이터 세트의 경우, 비용과 시간의 내재적인 제약으로 인해 모든 예제를 라벨링하는 것은 불가능할 수 있다. 최적의 처리를 위해, 기본 작업은 딥 러닝 알고리즘의 훈련에 대한 기여도를 기반으로 인간의 라벨링을 위한 이미지의 우선순위를 정하는 것이다.
순진하게도, 대부분의 작업자는 이미지가 저장될 수 있는 순서 또는 호스 디렉토리(hose directory)의 번호에 따라 영숫자 순으로 이미지를 분류하고 라벨링할 수 있다. 이는 수집 및 파일 시스템에 따라 다를 수 있으며, 획득한 데이터와 연관성이 없을 수 있다. 기본 클래스에 대한 간략한 전체 검사 및 결정 이후, 작업자는 할당된 시간 내에 디렉터리를 통해 순차적으로 모든 이미지를 라벨링할 수 있다. 많은 데이터가 과도한 반복일 수 있고, 필요한 감도가 부족할 수 있으며, 라벨링된 데이터를 최적의 훈련에 부적합하게 만들 수 있는 기타 반복 및 배경 불규칙성을 포함할 수 있다. 최종 훈련된 모델과 라벨링 간의 피드백은 일반적으로 비공식적일 수 있다. 흔히, 라벨러(labeler)와 데이터 처리 간의 분리가 너무 커서, 라벨러는 라벨링된 데이터의 유용성에 대한 피드백이나 라벨링 프로세스를 공식적으로 최적화하는 방법에 대한 지식을 받지 못한다. 총 오류는 일반적으로 보고되지만, 이러한 오류는 데이터로부터 분류되기 쉽고 전체 훈련 모델에 부정적인 영향을 미치지 않는다. 작업자가 특정 예제를 무시하거나 흘려버리도록 지시를 받을 수 있지만, 규정 준수는 특히 매우 큰 그룹과 많은 라벨러에 대해 해결되지 않은 문제가 되어 추적하거나 효과적으로 시행하기 어려울 수 있다.
작업자는 또한 습관적 패턴과 라벨링을 형성할 수 있으며, 특정 클래스, 즉 많은 수의 예제가 있는 클래스를 검출하는 데 매우 능숙해질 수 있다. 이는 효율성의 착각을 만들 수 있지만, 대신에 희귀한 클래스 및 식별하고 분류하기 어려운 객체에서 편향을 전파한다. 작업자는 많은 이미지에 대해 공통 클래스에 반복적으로 노출될 때 희귀한 예제를 결함으로 라벨링하기보다는 이들을 배경으로 무시할 가능성이 더 높다. 딥 러닝 아키텍처와 같은 특정 아키텍처의 경우, 라벨링된 클래스로 분류되지 않은 영역이 배경으로 처리되고, 모델이 이러한 유형의 결함을 검출하지 못하게 되기 때문에, 이는 매우 큰 문제를 나타낸다. 여러 라벨러 또는 투표 프로세스를 통해 이 문제를 해결할 수 있지만, 비용이 많이 들고 결과가 크게 향상된다는 보장은 없다.
본원에 제공된 하나 이상의 기술은, 라벨의 고유성과 다양성을 최대화하기 위해 수동으로 라벨링될 데이터세트의 이미지 순서를 지속적으로 업데이트함으로써 종래의 프로세스를 개선하는 데 사용될 수 있는 다단계 접근법을 제시한다. 일부 실시형태에서, 다단계 접근법은 이전에 보이지 않았던 데이터의 이미지에서 영역을 예측하도록 구성된 딥 러닝 분할 모델을 사용할 수 있다. 일부 실시형태에서, 다단계 접근법은, 객체가 무작위로 분포될 수 있고, 클래스 내에서 형태가 변할 수 있으며, 클래스당 작거나 많은 수로 나타날 수 있는 데이터 세트에 초점을 맞출 수 있다. 이들 데이터 세트에 대해, 현재의 접근법은 높은 정확도의 모델 라벨링을 달성할 수 있다.
또한, 본원에 제공된 하나 이상의 기술은 종래의 자동 라벨링 기술에 비해 개선을 제공한다. 예를 들어, 종래의 접근법을 사용하여, 종래의 시스템은 이전 데이터에 대해 훈련된 모델을 실행하여 원하는 데이터 세트에 대한 라벨 및 경계 상자(bounding box)를 생성한다. 라벨러는 단순히 경계 상자를 수정한다. 반도체 영역 및 유사한 독점 재료 영역에서, 종래의 자동 라벨링 접근법은 과거 데이터에 대한 노출 부족 및 검사와 분류 작업의 대상이 되는 재료 특이적 클래스에 대한 액세스 부족으로 인해 실패했다. 이를 해결하기 위해, 본원에 제공된 하나 이상의 기술은 사용자 또는 작업자에게 작은 이미지 서브세트를 라벨링하고 전체 분류 작업에 대한 클래스 초점을 정의하도록 프롬프트한다. 목표는 업계 전체 또는 다중 사용자 클래스 제한을 시행하는 것이 아니라, 대신에 핵심적인 인플루언서에 대한 수동 라벨링에 중점을 둔다. 본 시스템에 의해 구현된 모델은 라벨링할 작업자의 계층적 순서 목록을 제공할 수 있다. 일부 실시형태에서, 모델은 능동적 학습 방식으로 훈련될 수 있다. 예를 들어, 모델은 초기의 작은 데이터 세트에 대해 훈련될 수 있고, 이후 데이터의 다음 배치(batch)를 라벨링하는 것을 지원하기 위해 모델을 사용할 수 있으며, 이후 새로운 데이터를 포함하는 모델을 재훈련시킬 수 있다.
또한, 종래의 접근법과는 달리, 본원에 설명된 하나 이상의 기술은 더 희귀한 클래스 예제를 포함하는 선별된 훈련 데이터 세트를 활용할 수 있다. 이 선별된 훈련 데이터 세트는 모델이 훈련 데이터 세트에서 더 나은 클래스 균형을 달성하는 데 도움이 될 수 있다.
도 1은 예시적인 실시형태에 따라 스테이지 상에 지지된 표본의 검사를 위한 예시적인 컴퓨팅 환경(100)을 도시하고 있다. 도시된 바와 같이, 컴퓨팅 환경(100)은 예시적인 실시형태에 따른 컴퓨팅 시스템(150)과 통신하는 장치(102)를 포함할 수 있다. 장치(102)는 하나 이상의 광원(104, 106)으로 표본(101)을 조명하도록 구성될 수 있다. 하나 이상의 광원(104, 106)은 비스듬한 광(108, 110)을 소정 각도로 표본(101)을 향해 지향시키도록 구성될 수 있다. 경사 조명은 반사광(112)으로서 표본(101)의 표면으로부터 반사될 수 있다. 장치(102)는 반사광을 캡처하도록 구성된 이미지 센서를 갖는 카메라 장치(114)를 포함할 수 있다. 일부 실시형태에서, 광원(104, 106)은 물체 주위에 원주방향으로 배치된 다양한 위치로 이동할 있고, 이미지는 각각의 위치에서 촬영된다.
일부 실시형태에서, 장치(102)는 카메라 장치(114)에 의해 캡처된 이미지를 처리를 위해 컴퓨팅 시스템(150)에 제공할 수 있다. 컴퓨팅 시스템(150)은 하나 이상의 통신 채널을 통해 장치(102)와 통신할 수 있다. 일부 실시형태에서, 하나 이상의 통신 채널은 셀룰러 또는 와이파이 네트워크와 같은 인터넷을 통한 개별 연결을 나타낼 수 있다. 일부 실시형태에서, 하나 이상의 통신 채널은 무선 주파수 식별(RFID), 근거리 통신(NFC), 블루투스(Bluetooth™), 저에너지 블루투스(BLE), 와이파이(Wi-Fi™), 지그비(ZigBee™), 주변 후방산란 통신(ambient backscatter communication, ABC) 프로토콜, USB, WAN 또는 LAN와 같은 직접 연결을 사용하여 단말, 서비스 및 모바일 장치를 연결할 수 있다. 컴퓨팅 시스템(150)은 카메라 장치(114)에 의해 캡처된 이미지를 분석하고 표본(101)의 지형을 생성하도록 구성될 수 있다.
도시된 바와 같이, 컴퓨팅 시스템(150)은 전처리 엔진(152)과 예측 모델(154)을 포함할 수 있다. 전처리 엔진(152)과 예측 모델(154) 각각은 하나 이상의 소프트웨어 모듈을 포함할 수 있다. 하나 이상의 소프트웨어 모듈은 하나 이상의 알고리즘 단계를 구현하는 일련의 기계 명령(예를 들어, 프로그램 코드)을 나타내는 매체(예를 들어, 컴퓨팅 시스템(150)의 메모리)에 저장된 코드 또는 명령의 모음일 수 있다. 이러한 기계 명령은 프로세서가 명령을 구현하기 위해 해석하는 실제 컴퓨터 코드일 수 있거나, 대안적으로 실제 컴퓨터 코드를 얻기 위해 해석되는 명령의 더 높은 수준의 코딩일 수 있다. 하나 이상의 소프트웨어 모듈은 또한 하나 이상의 하드웨어 구성요소를 포함할 수 있다. 예시적인 알고리즘의 하나 이상의 양태는, 명령의 결과로서라기보다는, 하드웨어 구성요소(예를 들어, 회로) 자체에 의해 수행될 수 있다.
전처리 엔진(152)은 예측 모델(154)을 훈련시키기 위해 하나 이상의 훈련 데이터 세트를 생성하도록 구성될 수 있다. 위에서 언급한 바와 같이, 사용자가 예측 모델(154)을 훈련시키기 위한 훈련 세트를 수동으로 라벨링하고 개발하는 것은 종종 지루한 작업이다. 전처리 엔진(152)은 딥 러닝 모델(156)을 포함할 수 있다. 딥 러닝 모델(156)은 라벨링을 위한 이미지를 분류하도록 훈련될 수 있다. 일부 실시형태에서, 딥 러닝 모델(156)은 초기의 작은 이미지 서브세트에 대해 훈련될 수 있다. 초기의 작은 이미지 서브세트 내의 관심 있는 모든 객체는 직사각형 경계 상자로 라벨링될 수 있다. 일부 실시형태에서, 모든 라벨링된 객체의 경제 상자 내부의 픽셀은 제 1 카테고리(예를 들어, "전경")로 그룹화될 수 있고, 나머지 이미지 픽셀은 제 2 카테고리(예를 들어, "배경")로 그룹화될 수 있다. 이러한 분류를 사용하여, 두 개의 입력 분할 마스크, 즉 배경에 대한 제 1 입력 분할 마스크와 전경에 대한 제 2 입력 분할 마스크가 생성될 수 있다. 일부 실시형태에서, 경계 상자의 경계 상의 픽셀을 분류하는 모호성을 제거하거나 줄이기 위해 전경 객체 주위의 경계 상자는 확대될 수 있다.
일부 실시형태에서, 딥 러닝 모델(156)은 두 개의 확률 맵, 즉 전경에 속하는 각각의 픽셀의 확률을 제공하는 제 1 확률 맵과 배경에 속하는 각각의 픽셀의 확률을 제공하는 제 2 확률 맵을 생성하도록 훈련될 수 있다. 일부 실시형태에서, 각각의 확률 맵의 크기는 입력 이미지와 동일한 크기일 수 있다. 제 1 확률 맵과 제 2 확률 맵을 사용하여, 전처리 엔진(152)은 픽셀이 보이지 않았다는 척도, 예를 들어 S unseen 을 계산할 수 있다. 아직 라벨링되지 않은 새 클래스의 예제에 속하거나 이전에 라벨링된 클래스의 참신해 보이는 예제에 속할 수 있는 픽셀은 높은 신규 점수(unseen score)를 받을 것이다. 예를 들어:
Figure pct00001
픽셀당 신규 점수를 사용하여, 전처리 엔진은 전체 이미지 메트릭을 계산하고 이미지의 순위를 지정하는 데 사용할 수 있다. 일부 실시형태에서, 높은 이미지 메트릭은, 보이지 않았고 따라서 라벨링 우선순위를 받을 자격이 있는 픽셀을 이미지가 포함하고 있다는 높은 신뢰도에 해당할 수 있다. 일부 실시형태에서, 적은 수의 높은 점수의 픽셀을 갖는 이미지 또는 많은 수의 낮은 점수의 픽셀을 갖는 이미지 중 어떤 이미지가 더 높은 우선순위를 가져야 하는지 불분명할 수 있다. 이를 설명하기 위해, 일부 실시형태에서, 전처리 엔진(152)은 두 개의 메트릭, 즉 임계 메트릭(M thresh )과 알파 메트릭(M alpha )을 계산할 수 있다. 일부 실시형태에서, 임계 메트릭은 일부 임계값보다 높은 신규 점수를 갖는 픽셀의 수와 동일할 수 있다. 임계 메트릭 하에서, 낮은 점수의 픽셀은 메트릭에 영향을 미치지 않을 수 있다. 예를 들어:
Figure pct00002
일부 실시형태에서, 알파 메트릭은 파워 α에서 모든 신규 점수의 합과 동일할 수 있다. 알파 메트릭 하에서, 모든 픽셀이 설명될 수 있지만, 더 낮은 점수의 픽셀은 점수에 미치는 영향이 적다.
Figure pct00003
이들 메트릭 중 하나를 사용하여 이미지의 순위를 지정한 후, 라벨링될 다음 이미지 배치가 생성될 수 있다. 이 프로세스는 능동적 학습 방식으로 반복될 수 있는데, 새로운 이미지가 라벨링되고 딥 러닝 모델(156)이 새롭게 이용 가능한 라벨링된 이미지를 사용하여 재훈련될 수 있으며, 딥 러닝 모델(156)이 호출되어 라벨링될 다음 이미지 배치를 생성할 수 있다.
충분한 양의 데이터가 라벨링된 후, 예측 모델(154)은 표본 내의 결함을 검출하도록 훈련될 수 있다. 일부 실시형태에서, 예측 모델(154)은 또한 데이터세트의 나머지를 자동으로 라벨링하기 위해 사용될 수 있다.
도 2는 예시적인 실시형태에 따른 딥 러닝 모델(156)의 아키텍처(200)를 도시하고 있다. 도시된 바와 같이, 아키텍처(200)는 U-네트(U-net) 아키텍처를 기반으로 할 수 있다. 아키텍처(200)는 클래스당 픽셀 확률을 직접 얻기 위해 분할 마스크를 생성하는 최종 소프트맥스 계층(softmax layer)을 제거하는 수정된 U-네트 아키텍처이다. 아키텍처(200)는 또한 입력 크기 및 합성곱 계층(convolutional layer)에 의해 사용되는 특성 맵(feature map)의 수를 일치시키기 위해 다른 세트의 합성곱 계층 패딩을 포함한다.
도 3은 예시적인 실시형태에 따른 예측 모델(154)을 훈련시키기 위해 훈련 데이터 세트를 생성하는 방법(300)을 도시하는 흐름도이다. 방법(300)은 단계 302에서 시작할 수 있다.
단계 302에서, 컴퓨팅 시스템(150)은 예측 모델(154)을 훈련시키기 위한 이미지 세트를 수신할 수 있다. 일부 실시형태에서, 컴퓨팅 시스템(150)은 컴퓨팅 시스템(150)과 통신하는 클라이언트 장치로부터 이미지 세트를 수신할 수 있다. 일부 실시형태에서, 컴퓨팅 시스템(150)은 컴퓨팅 시스템(150)과 관련된 데이터베이스로부터 이미지 세트를 수신할 수 있다. 일부 실시형태에서, 컴퓨팅 시스템(150)은 제 3 자 웹사이트 또는 시스템으로부터 이미지 세트를 수신할 수 있다. 일부 실시형태에서, 이미지 세트는 라벨링된 이미지 서브세트를 포함할 수 있다. 라벨링된 이미지 서브세트는 사람이나 작업자에 의해 라벨링될 수 있다. 라벨링된 이미지 서브세트는 이미지 내의 모든 결함에 대한 라벨을 포함할 수 있다. 일부 실시형태에서, 종래의 패러다임 하에서 작업자에 의해 수행될 수 있는 작업자에 의한 임의의 선택 편향을 방지하고 영숫자 편향을 강제하기 위해 무작위 선택은 선택되지 않았다.
단계 304에서, 컴퓨팅 시스템(150)은 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성할 수 있다. 예를 들어, 컴퓨팅 시스템(150)은 이미지 세트를 처리를 위해 딥 러닝 모델(156)에 제공할 수 있다. 이미지 세트는 라벨링되지 않은 이미지의 나머지 부분과 함께 라벨링된 이미지 서브세트를 포함할 수 있다. 딥 러닝 모델(156)은 각각의 이미지에 대해 두 개의 확률 맵, 즉 전경에 속하는 각각의 픽셀의 확률을 제공하는 제 1 확률 맵과 배경에 속하는 각각의 픽셀의 확률을 제공하는 제 2 확률 맵을 생성할 수 있다. 제 1 확률 맵과 제 2 확률 맵을 사용하여, 전처리 엔진(152)은 S unseen 메트릭을 계산할 수 있다. S unseen 메트릭을 기반으로, 전처리 엔진(152)은 각각의 이미지에 대한 M alpha 메트릭을 생성할 수 있다. 전처리 엔진(152)이 각각의 M alpha 메트릭을 생성하고 나면, 전처리 엔진(152)은 이미지의 순위를 지정하고 가장 높은 점수의 이미지 세트를 선택하여 제 2 서브세트의 이미지를 형성할 수 있다.
단계 306에서, 컴퓨팅 시스템(150)은 사용자에게 제 2 서브세트의 이미지를 라벨링하도록 프롬프트할 수 있다. 예를 들어, 컴퓨팅 시스템(150)은 사용자에게 제 2 서브세트의 이미지에 포함된 모든 결함을 라벨링하도록 프롬프트할 수 있다. 딥 러닝 모델(156)은 원래 이미지 세트로부터 라벨링된 이미지 서브세트에 비해 보이지 않았던 픽셀을 포함하는 제 2 서브세트의 이미지를 식별할 수 있었기 때문에, 딥 러닝 모델(156)은 예측 모델(154)의 후속 훈련에 유용할 수 있는 추가 이미지를 식별했다.
단계 308에서, 컴퓨팅 시스템(150)은 후속 라벨링을 위한 제 3 서브세트의 이미지를 생성할 수 있다. 예를 들어, 컴퓨팅 시스템(150)은 지속적인 훈련을 위해 이미지 세트를 딥 러닝 모델(156)에 제공할 수 있다. 이미지 세트는 라벨링된 이미지 서브세트, 제 2 서브세트의 이미지(현재 라벨링됨) 및 나머지 라벨링되지 않은 이미지를 포함할 수 있다. 딥 러닝 모델(156)은 각각의 이미지에 대해 두 개의 확률 맵, 즉 전경에 속하는 각각의 픽셀의 확률을 제공하는 제 1 확률 맵과 배경에 속하는 각각의 픽셀의 확률을 제공하는 제 2 확률 맵을 생성할 수 있다. 제 1 확률 맵과 제 2 확률 맵을 사용하여, 전처리 엔진(152)은 S unseen 메트릭을 계산할 수 있다. S unseen 메트릭을 기반으로, 전처리 엔진(152)은 각각의 이미지에 대한 M alpha 메트릭을 생성할 수 있다. 전처리 엔진(152)이 각각의 M alpha 메트릭을 생성하고 나면, 전처리 엔진(152)은 이미지의 순위를 지정하고 가장 높은 점수의 이미지 세트를 선택하여 제 3 서브세트의 이미지를 형성할 수 있다.
단계 310에서, 컴퓨팅 시스템(150)은 사용자에게 제 3 서브세트의 이미지를 라벨링하도록 프롬프트할 수 있다. 예를 들어, 컴퓨팅 시스템(150)은 사용자에게 제 3 서브세트의 이미지에 포함된 모든 결함을 라벨링하도록 프롬프트할 수 있다. 딥 러닝 모델(156)은 원래 이미지 세트로부터 라벨링된 이미지 서브세트에 비해 보이지 않았던 픽셀을 포함하는 제 3 서브세트의 이미지를 식별할 수 있었기 때문에, 딥 러닝 모델(156)은 예측 모델(154)의 후속 훈련에 유용할 수 있는 추가 이미지를 식별했다.
단계 312에서, 컴퓨팅 시스템(150)은 M thresh 에 의해 지정된, 예측 모델(154)을 훈련시키기 위한 임계 수의 라벨링된 이미지가 존재하는지 여부를 결정할 수 있다. 예를 들어, 단계 304 내지 단계 310을 기반으로, 컴퓨팅 시스템(150)은 예측 모델(154)을 훈련시키기 위한 충분한 라벨링된 이미지가 존재하는지 여부를 결정할 수 있다. 단계 312에서 컴퓨팅 시스템(150)이 임계 수의 라벨링된 이미지가 존재하지 않는다고 결정하면, 방법(300)은 이미지 라벨의 생성을 계속하기 위해 단계 308로 되돌아갈 수 있다. 다시 말해서, 임계량의 라벨링된 이미지가 존재하지 않는 경우, 컴퓨팅 시스템(150)은 라벨링을 위한 새로운 라벨링되지 않은 이미지의 지속적인 순위 지정을 위해 서브세트의 라벨링된 이미지, 제 2 서브세트의 라벨링된 이미지, 제 3 서브세트의 라벨링된 이미지, 제 n 서브세트의 라벨링된 이미지, 및 나머지 라벨링되지 않은 이미지를 딥 러닝 모델(156)에 제공하는 프로세스를 계속할 수 있다.
그러나, 단계 312에서 컴퓨팅 시스템(150)이 임계량의 라벨링된 이미지가 존재한다고 결정하면, 방법(300)은 단계 314로 진행할 수 있다. 단계 314에서, 컴퓨팅 시스템(150)은 예측 모델(154)을 훈련시키기 위한 라벨링된 이미지 세트를 출력할 수 있다. .
도 4는 예시적인 실시형태에 따른, 표본 내의 결함을 식별하는 방법(400)을 도시하는 흐름도이다. 방법(400)은 단계 402에서 시작할 수 있다.
단계 402에서, 컴퓨팅 시스템(150)은 표본 내에 존재하는 결함을 식별하도록 예측 모델(154)을 훈련시키기 위한 훈련 세트를 식별할 수 있다. 훈련 세트는 딥 러닝 모델(156)에 의해 생성된 라벨링된 이미지 세트를 나타낼 수 있다. 예를 들어, 훈련 세트는 다양한 표본의 다수의 이미지를 포함할 수 있고, 각각의 이미지는 하나 이상의 아티팩트 라벨을 포함한다.
단계 404에서, 컴퓨팅 시스템(150)은 예측 모델(154)을 훈련시킬 수 있다. 예를 들어, 컴퓨팅 시스템(150)은 훈련 세트를 기반으로 표본의 이미지 내의 결함을 식별하도록 예측 모델(154)을 훈련시킬 수 있다. 일부 실시형태에서, 예측 모델(154)은 고속 영역 기반 합성곱 신경망(faster region based convolutional neural network, R-CNN)을 나타낼 수 있다. 예측 모델(154)은 알고리즘적으로 선택된 이미지(즉, 동일한 수의 라벨링된 경계 상자)를 라벨링하는 데 걸린 시간까지 순차적으로 라벨링된 이미지에 대해 훈련될 수 있다.
단계 406에서, 컴퓨팅 시스템(150)은 검사 중인 표본의 이미지를 장치(102)로부터 수신할 수 있다. 일부 실시형태에서, 검사 중인 표본은 하나 이상의 결함을 포함하거나 포함하지 않을 수 있는 반도체 기판일 수 있다. 논의에서는 하나의 특정 예로서 반도체 기판이 언급되지만, 본 기술 분야의 숙련자는 본원에 개시된 기술이 반도체 기판으로 제한되지 않는다는 것을 인식할 것이다. 예를 들어, 본원에 개시된 기술은 생물학적 조직 내의 특징 또는 결함/이상 검출로 확장될 수 있다.
단계 408에서, 컴퓨팅 시스템(150)은 표본의 이미지 내에 존재하는 하나 이상의 결함을 식별할 수 있다. 예를 들어, 컴퓨팅 시스템(150)은 완전히 훈련된 예측 모델(154)에 입력으로서 이미지를 제공할 수 있다. 예측 모델(154)은 표본의 이미지 내에 존재하는 하나 이상의 결함을 식별하기 위해 이미지를 분석할 수 있다. 일부 실시형태에서, 예측 모델(154)은 각각의 결함 주위에 경계 상자를 생성함으로써 이미지 내에 존재하는 하나 이상의 결함을 식별할 수 있다. 일부 실시형태에서, 예측 모델(154)은 장치와 관련된 확률 맵을 생성함으로써 이미지 내에 존재하는 하나 이상의 결함을 식별할 수 있다.
단계 410에서, 컴퓨팅 시스템(150)은 표본의 이미지 내에 존재하는 하나 이상의 결함의 그래픽 표현을 생성할 수 있다. 일부 실시형태에서, 예측 모델(154)은 이미지 내의 식별된 하나 이상의 결함 각각에 대해 하나 이상의 경계 상자를 중첩시키는 그래픽 표현을 생성할 수 있다. 일부 실시형태에서, 예측 모델(154)은 이미지 위에 히트 맵(heat map)을 중첩시키는 그래픽 표현을 생성할 수 있다. 히트 맵은 결함이 존재하는 위치를 기반으로 강도(intensity)를 확인하는 단계를 포함할 수 있다. 예를 들어, 결함이 존재하는 이미지 영역은 결함이 존재하지 않는 이미지 영역보다 더 높은 강도를 갖는다.
도 5는 예시적인 실시형태에 따른 예측 모델(154)에 의해 생성된 예시적인 그래픽 출력(500)을 도시하고 있다. 도시된 바와 같이, 그래픽 출력(500)은 예측 모델(154)에 의해 생성된 확률 맵(502)에 해당할 수 있다. 확률 맵(502)은 표본의 이미지 상에 중첩될 수 있다. 확률 맵(502)의 더 높은 강도 영역은 결함이 해당 위치에 존재할 높은 확률을 나타낼 수 있다.
도 6a는 예시적인 실시형태에 따른 시스템 버스 컴퓨팅 시스템 아키텍처(600)를 도시하고 있다. 시스템(600)의 하나 이상의 구성요소는 버스(605)를 사용하여 서로 전기적으로 통신할 수 있다. 시스템(600)은 프로세서(예를 들어, 하나 이상의 CPU, GPU 또는 다른 유형의 프로세서)(610) 및 판독 전용 메모리(ROM)(620) 및 랜덤 액세스 메모리(RAM)(625)와 같은 시스템 메모리(615)를 포함하는 다양한 시스템 구성요소를 프로세서(610)에 결합시키는 시스템 버스(605)를 포함할 수 있다. 시스템(600)은, 프로세서(610)에 직접 연결되거나, 이에 근접하거나, 이의 일부로서 통합된 고속 메모리의 캐시를 포함할 수 있다. 시스템(600)은 프로세서(610)에 의한 빠른 액세스를 위해 메모리(615) 및/또는 저장 장치(630)로부터 캐시(612)로 데이터를 복사할 수 있다. 이러한 방식으로, 캐시(612)는 데이터를 기다리는 동안의 프로세서(610) 지연을 피하는 성능 향상을 제공할 수 있다. 이들 및 다른 모듈은 다양한 동작을 수행하도록 프로세서(610)를 제어하거나 제어하도록 구성될 수 있다. 다른 시스템 메모리(615)도 사용할 수 있다. 메모리(615)는 다양한 성능 특성을 갖는 다수의 다양한 유형의 메모리를 포함할 수 있다. 프로세서(610)는 단일 프로세서 또는 다수의 프로세서를 나타낼 수 있다. 프로세서(610)는 프로세서(610)를 제어하도록 구성된, 저장 장치(630)에 저장된 서비스 1(632), 서비스 2(634) 및 서비스 3(636)과 같은, 범용 프로세서 또는 하드웨어 모듈 또는 소프트웨어 모듈, 및 소프트웨어 명령이 실제 프로세서 설계에 통합되는 특수 목적 프로세서 중 하나 이상을 포함할 수 있다. 프로세서(610)는 본질적으로 다수의 코어 또는 프로세서, 버스, 메모리 제어기, 캐시 등을 포함하는 완전히 자체 완비된 컴퓨팅 시스템일 수 있다. 다중 코어 프로세서는 대칭 또는 비대칭일 수 있다.
컴퓨팅 장치(600)와의 사용자 상호작용을 가능하게 하기 위해, 입력 장치(645)는 음성용 마이크, 제스처 또는 그래픽 입력용 터치 검출 스크린, 키보드, 마우스, 모션 입력, 음성 등과 같은 임의의 수의 입력 메커니즘일 수 있다. 출력 장치(635)는 또한 본 기술 분야의 숙련자에게 알려진 다수의 출력 메커니즘 중 하나 이상일 수 있다. 경우에 따라, 다중 모드 시스템은 사용자가 컴퓨팅 장치(600)와 통신하기 위해 여러 유형의 입력을 제공할 수 있도록 할 수 있다. 통신 인터페이스(640)는 일반적으로 사용자 입력 및 시스템 출력을 통제하고 관리할 수 있다. 특정 하드웨어 장치에서 작동하는 데 제한이 없고, 따라서 여기의 기본 기능은 개발될 때 개선된 하드웨어 또는 펌웨어 장치로 쉽게 대체될 수 있다.
저장 장치(630)는 비휘발성 메모리일 수 있고, 자기 카세트, 플래시 메모리 카드, 반도체 메모리 장치, 디지털 다용도 디스크, 카트리지, 랜덤 액세스 메모리(RAM)(625), 판독 전용 메모리(ROM)(620) 및 이들의 하이브리드와 같이, 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 하드 디스크 또는 다른 유형의 컴퓨터 판독 가능 매체일 수 있다.
저장 장치(630)는 프로세서(610)를 제어하기 위한 서비스(632, 634, 636)를 포함할 수 있다. 다른 하드웨어 또는 소프트웨어 모듈이 고려된다. 저장 장치(630)는 시스템 버스(605)에 연결될 수 있다. 일 양태에서, 특정 기능을 수행하는 하드웨어 모듈은, 기능을 수행하기 위해 프로세서(610), 버스(605), 디스플레이(635) 등과 같은 필요한 하드웨어 구성요소와 관련하여 컴퓨터 판독 가능 매체에 저장된 소프트웨어 구성요소를 포함할 수 있다.
도 6b는 예시적인 실시형태에 따른 칩셋 아키텍처를 갖는 컴퓨터 시스템(650)을 도시하고 있다. 컴퓨터 시스템(650)은 개시된 기술을 구현하기 위해 사용될 수 있는 컴퓨터 하드웨어, 소프트웨어, 및 펌웨어의 예일 수 있다. 시스템(650)은 식별된 계산을 수행하도록 구성된 소프트웨어, 펌웨어 및 하드웨어를 실행할 수 있는 임의의 수의 물리적 및/또는 논리적으로 구별되는 리소스를 나타내는 하나 이상의 프로세서(655)를 포함할 수 있다. 하나 이상의 프로세서(655)는 하나 이상의 프로세서(655)에 대한 입력 및 출력을 제어할 수 있는 칩셋(660)과 통신할 수 있다. 이 예에서, 칩셋(660)은 디스플레이와 같은 출력(665)에 정보를 출력하고, 예를 들어 자기 매체 및 반도체 매체를 포함할 수 있는 저장 장치(670)에 대해 정보를 읽고 기록할 수 있다. 칩셋(660)은 또한 RAM(675)에 대해 데이터를 읽고 기록할 수 있다. 다양한 사용자 인터페이스 구성요소(685)와 인터페이스하기 위한 브리지(680)는 칩셋(660)과 인터페이스하기 위해 제공될 수 있다. 이러한 사용자 인터페이스 구성요소(685)는 키보드, 마이크로폰, 터치 검출 및 처리 회로, 마우스와 같은 포인팅 장치 등을 포함할 수 있다. 일반적으로, 시스템(650)에 대한 입력은 기계가 생성하고 및/또는 인간이 생성한 다양한 소스 중 임의의 것에서 비롯될 수 있다.
칩셋(660)은 또한 다양한 물리적 인터페이스를 가질 수 있는 하나 이상의 통신 인터페이스(690)와 인터페이스할 수 있다. 이러한 통신 인터페이스는 유선 및 무선 근거리 통신망용, 광대역 무선 통신망용 및 개인 통신망용 인터페이스를 포함할 수 있다. 본원에 개시된 GUI를 생성, 디스플레이 및 사용하기 위한 방법의 일부 응용은 물리적 인터페이스를 통해 정렬된 데이터세트를 수신하는 단계를 포함하거나, 저장 장치(670 또는 675)에 저장된 데이터를 분석하는 하나 이상의 프로세서(655)에 의해 기계 자체에 의해 생성될 수 있다. 또한, 기계는 사용자 인터페이스 구성요소(685)를 통해 사용자로부터 입력을 수신하고, 하나 이상의 프로세서(655)를 사용하여 이러한 입력을 해석함으로써 브라우징 기능과 같은 적절한 기능을 실행할 수 있다.
예시적인 시스템(600 및 650)은 하나 이상의 프로세서(610)를 가질 수 있거나, 더 큰 처리 능력을 제공하기 위해 함께 네트워크화된 컴퓨팅 장치의 그룹 또는 클러스터의 일부일 수 있다는 것을 인식할 수 있을 것이다.
상기한 내용은 본원에 설명된 실시형태에 관한 것이지만, 그 기본 범위를 벗어나지 않으면서 다른 및 추가 실시형태가 고안될 수 있다. 예를 들어, 본 개시의 양태는 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 본원에 설명된 일 실시형태는 컴퓨터 시스템과 함께 사용하기 위한 프로그램 제품으로 구현될 수 있다. 프로그램 제품의 프로그램(들)은 실시형태의 기능(본원에 설명된 방법을 포함함)을 정의하고, 다양한 컴퓨터 판독 가능 저장 매체에 포함될 수 있다. 예시적인 컴퓨터 판독 가능 저장 매체는: (i) 정보가 영구적으로 저장되는 기록 불가능한 저장 매체(예를 들어, CD-ROM 드라이브로 판독 가능한 CD-ROM 디스크와 같은 컴퓨터 내의 판독 전용 메모리(ROM) 장치, 플래시 메모리, ROM 칩, 또는 임의의 유형의 반도체 비휘발성 메모리); 및 (ii) 변경 가능한 정보가 저장되는 기록 가능한 저장 매체(예를 들어, 디스켓 드라이브 또는 하드 디스크 드라이브 내의 플로피 디스크 또는 임의의 유형의 반도체 랜덤 액세스 메모리)를 포함하지만 이에 한정되지는 않는다. 이러한 컴퓨터 판독 가능 저장 매체는 개시된 실시형태의 기능을 지시하는 컴퓨터 판독 가능 명령을 운반할 때 본 개시의 실시형태이다.
앞의 예들은 예시적이며 제한적이지 않다는 것이 본 기술 분야의 숙련자는 인정할 것이다. 이에 대한 모든 치환, 향상, 등가물 및 개선은 명세서를 읽고 도면을 연구할 때 본 기술 분야의 숙련자에게 자명한 것으로 본 개시의 진정한 사상 및 범위 내에 포함되기 위한 것이다. 따라서 다음의 첨부된 청구범위는 이러한 교시의 진정한 사상 및 범위에 속하는 모든 수정, 치환 및 등가물을 포함하기 위한 것이다.

Claims (20)

  1. 프로세서; 및
    메모리를 포함하는 컴퓨팅 시스템으로서,
    상기 메모리에는, 상기 프로세서에 의해 실행될 때, 동작을 수행하는 프로그래밍 명령이 저장되어 있고, 상기 동작은:
    대상 표본의 대상 표면 내에 존재하는 결함을 검출하도록 예측 모델을 훈련시키기 위한 훈련 데이터 세트를 생성하는 단계; 및
    상기 훈련 데이터 세트를 기반으로 상기 대상 표본의 대상 표면 내에 존재하는 결함을 검출하도록 예측 모델을 훈련시키는 단계를 포함하고;
    상기 대상 표본의 대상 표면 내에 존재하는 결함을 검출하도록 예측 모델을 훈련시키기 위한 훈련 데이터 세트를 생성하는 단계는:
    상기 예측 모델을 훈련시키기 위한 이미지 세트를 식별하는 단계, 여기서 상기 이미지 세트는 제 1 서브세트의 이미지를 포함하고, 상기 제 1 서브세트의 이미지의 각각의 이미지는 각각의 표본 상의 결함을 식별하는 라벨로 라벨링되고;
    딥 러닝 네트워크에 의해, 상기 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성하는 단계와;
    작업자에게 상기 제 2 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하는 단계와;
    상기 딥 러닝 네트워크에 의해, 상기 제 1 서브세트의 이미지와 상기 라벨링된 제 2 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 라벨링을 위한 제 3 서브세트의 이미지를 생성하는 단계와;
    작업자에게 상기 제 3 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하는 단계; 및
    상기 제 1 서브세트의 이미지, 상기 제 2 서브세트의 이미지, 및 상기 제 3 서브세트의 이미지를 집계하는 단계를 포함하고, 여기서 상기 제 1 서브세트의 이미지, 상기 제 2 서브세트의 이미지, 및 상기 제 3 서브세트의 이미지 내의 각각의 이미지는 라벨링된, 컴퓨팅 시스템.
  2. 제 1 항에 있어서,
    상기 딥 러닝 네트워크에 의해, 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성하는 단계는:
    상기 이미지 세트 내의 각각의 이미지에 대해, 제 1 카테고리에 속하는 이미지 내의 각각의 픽셀의 제 1 확률에 해당하는 제 1 확률 맵을 생성하는 단계; 및
    상기 이미지 세트 내의 각각의 이미지에 대해, 제 2 카테고리에 속하는 이미지 내의 각각의 픽셀의 제 2 확률에 해당하는 제 2 확률 맵을 생성하는 단계를 포함하는, 컴퓨팅 시스템.
  3. 제 2 항에 있어서,
    상기 이미지 세트 내의 각각의 이미지에 대해, 상기 제 1 확률 맵과 상기 제 2 확률 맵을 기반으로 신규 메트릭을 생성하는 단계를 더 포함하고, 상기 신규 메트릭은 상기 딥 러닝 네트워크에 의해 보이지 않았던 픽셀을 포함하는 이미지의 가능성에 해당하는, 컴퓨팅 시스템.
  4. 제 3 항에 있어서,
    상기 이미지에 대한 신규 메트릭은 상기 이미지 내의 각각의 픽셀에 대한 상기 신규 메트릭의 집계를 기반으로 하는, 컴퓨팅 시스템.
  5. 제 4 항에 있어서,
    대응하는 신규 메트릭을 기반으로 상기 이미지에 대한 알파 메트릭을 생성하는 단계를 더 포함하는 컴퓨팅 시스템.
  6. 제 4 항에 있어서,
    임계값을 초과하는 신규 점수를 갖는 상기 이미지 내의 픽셀의 수를 기반으로 상기 이미지에 대한 임계 메트릭을 생성하는 단계를 더 포함하는 컴퓨팅 시스템.
  7. 제 1 항에 있어서,
    이미징 장치로부터 컴퓨팅 시스템에 의해, 상기 대상 표본의 대상 표면의 대상 이미지를 수신하는 단계와;
    상기 예측 모델에 의해, 상기 대상 표본의 대상 표면 내에 존재하는 하나 이상의 결함을 검출하는 단계; 및
    상기 검출을 기반으로, 상기 컴퓨팅 시스템에 의해, 하나 이상의 결함을 보여주는 그래픽 출력을 생성하는 단계를 더 포함하는 컴퓨팅 시스템.
  8. 컴퓨팅 시스템에 의해, 표본의 표면 내의 결함을 검출하도록 예측 모델을 훈련시키기 위한 이미지 세트를 식별하는 단계와, 여기서 상기 이미지 세트는 제 1 서브세트의 이미지를 포함하고, 상기 제 1 서브세트의 이미지의 각각의 이미지는 각각의 표본 상의 결함을 식별하는 라벨로 라벨링되고;
    상기 컴퓨팅 시스템의 딥 러닝 네트워크에 의해, 상기 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성하는 단계와;
    상기 컴퓨팅 시스템에 의해, 작업자에게 상기 제 2 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하는 단계와;
    상기 딥 러닝 네트워크에 의해, 상기 제 1 서브세트의 이미지와 상기 라벨링된 제 2 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 라벨링을 위한 제 3 서브세트의 이미지를 생성하는 단계와;
    상기 컴퓨팅 시스템에 의해, 작업자에게 상기 제 3 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하는 단계; 및
    상기 컴퓨팅 시스템에 의해, 상기 제 1 서브세트의 이미지, 상기 제 2 서브세트의 이미지, 및 상기 제 3 서브세트의 이미지를 집계하는 단계를 포함하고, 여기서 상기 제 1 서브세트의 이미지, 상기 제 2 서브세트의 이미지, 및 상기 제 3 서브세트의 이미지 내의 각각의 이미지는 상기 예측 모델을 훈련시키기 위한 훈련 데이터 세트를 형성하기 위해 라벨링된, 방법.
  9. 제 8 항에 있어서,
    상기 딥 러닝 네트워크에 의해, 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성하는 단계는:
    상기 이미지 세트 내의 각각의 이미지에 대해, 제 1 카테고리에 속하는 상기 이미지 내의 각각의 픽셀의 제 1 확률에 해당하는 제 1 확률 맵을 생성하는 단계; 및
    상기 이미지 세트 내의 각각의 이미지에 대해, 제 2 카테고리에 속하는 상기 이미지 내의 각각의 픽셀의 제 2 확률에 해당하는 제 2 확률 맵을 생성하는 단계를 포함하는, 방법.
  10. 제 9 항에 있어서,
    상기 이미지 세트 내의 각각의 이미지에 대해, 상기 제 1 확률 맵과 상기 제 2 확률 맵을 기반으로 신규 메트릭을 생성하는 단계를 더 포함하고, 상기 신규 메트릭은 상기 딥 러닝 네트워크에 의해 보이지 않았던 픽셀을 포함하는 상기 이미지의 가능성에 해당하는, 방법.
  11. 제 10 항에 있어서,
    상기 이미지에 대한 신규 메트릭은 상기 이미지 내의 각각의 픽셀에 대한 신규 메트릭의 집계를 기반으로 하는, 방법.
  12. 제 11 항에 있어서,
    대응하는 신규 메트릭을 기반으로 상기 이미지에 대한 알파 메트릭을 생성하는 단계를 더 포함하는 방법.
  13. 제 11 항에 있어서,
    임계값을 초과하는 신규 점수를 갖는 상기 이미지 내의 픽셀의 수를 기반으로 상기 이미지에 대한 임계 메트릭을 생성하는 단계를 더 포함하는 방법.
  14. 제 8 항에 있어서,
    상기 훈련 데이터 세트를 기반으로 대상 이미지 내의 대상 결함을 검출하도록 상기 예측 모델을 훈련시키는 단계를 더 포함하는 방법.
  15. 프로세서; 및
    메모리를 포함하는 컴퓨팅 시스템으로서,
    상기 메모리에는, 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 시스템으로 하여금 동작을 수행하도록 하는 프로그래밍 명령이 저장되어 있고, 상기 동작은:
    표본의 표면 내의 결함을 검출하도록 예측 모델을 훈련시키기 위한 이미지 세트를 식별하는 단계와, 상기 이미지 세트는 제 1 서브세트의 이미지를 포함하고, 상기 제 1 서브세트의 이미지의 각각의 이미지는 각각의 표본 상의 결함을 식별하는 라벨로 라벨링되고;
    상기 컴퓨팅 시스템의 딥 러닝 네트워크에 의해, 상기 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성하는 단계와;
    작업자에게 상기 제 2 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하는 단계와;
    상기 딥 러닝 네트워크에 의해, 상기 제 1 서브세트의 이미지와 상기 라벨링된 제 2 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 라벨링을 위한 제 3 서브세트의 이미지를 생성하는 단계와;
    작업자에게 상기 제 3 서브세트의 이미지 내의 각각의 이미지를 라벨링하도록 프롬프트하는 단계; 및
    상기 제 1 서브세트의 이미지, 상기 제 2 서브세트의 이미지, 및 상기 제 3 서브세트의 이미지를 집계하는 단계를 포함하고, 상기 제 1 서브세트의 이미지, 상기 제 2 서브세트의 이미지, 및 상기 제 3 서브세트의 이미지 내의 각각의 이미지는 상기 예측 모델을 훈련시키기 위한 훈련 데이터 세트를 형성하기 위해 라벨링된, 컴퓨팅 시스템.
  16. 제 15 항에 있어서,
    상기 딥 러닝 네트워크에 의해, 제 1 서브세트의 이미지를 포함하는 이미지 세트를 기반으로 후속 라벨링을 위한 제 2 서브세트의 이미지를 생성하는 단계는:
    상기 이미지 세트 내의 각각의 이미지에 대해, 제 1 카테고리에 속하는 상기 이미지 내의 각각의 픽셀의 제 1 확률에 해당하는 제 1 확률 맵을 생성하는 단계; 및
    상기 이미지 세트 내의 각각의 이미지에 대해, 제 2 카테고리에 속하는 상기 이미지 내의 각각의 픽셀의 제 2 확률에 해당하는 제 2 확률 맵을 생성하는 단계를 포함하는, 컴퓨팅 시스템.
  17. 제 16 항에 있어서,
    상기 이미지 세트 내의 각각의 이미지에 대해, 상기 제 1 확률 맵과 상기 제 2 확률 맵을 기반으로 신규 메트릭을 생성하는 단계를 더 포함하고, 상기 신규 메트릭은 상기 딥 러닝 네트워크에 의해 보이지 않았던 픽셀을 포함하는 상기 이미지의 가능성에 해당하는, 컴퓨팅 시스템.
  18. 제 17 항에 있어서,
    상기 이미지에 대한 신규 메트릭은 상기 이미지 내의 각각의 픽셀에 대한 신규 메트릭의 집계를 기반으로 하는, 컴퓨팅 시스템.
  19. 제 18 항에 있어서,
    대응하는 신규 메트릭을 기반으로 상기 이미지에 대한 알파 메트릭을 생성하는 단계를 더 포함하는 컴퓨팅 시스템.
  20. 제 18 항에 있어서,
    임계값을 초과하는 신규 점수를 갖는 상기 이미지 내의 픽셀의 수를 기반으로 상기 이미지에 대한 임계 메트릭을 생성하는 단계를 더 포함하는 컴퓨팅 시스템.
KR1020227034140A 2020-03-09 2021-03-09 결함 검출 시스템 KR20220149727A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062987002P 2020-03-09 2020-03-09
US62/987,002 2020-03-09
PCT/US2021/021449 WO2021183473A1 (en) 2020-03-09 2021-03-09 Defect detection system

Publications (1)

Publication Number Publication Date
KR20220149727A true KR20220149727A (ko) 2022-11-08

Family

ID=77555785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227034140A KR20220149727A (ko) 2020-03-09 2021-03-09 결함 검출 시스템

Country Status (7)

Country Link
US (2) US11416711B2 (ko)
EP (1) EP4118580A4 (ko)
JP (1) JP2023516775A (ko)
KR (1) KR20220149727A (ko)
CN (1) CN115136209A (ko)
TW (2) TWI798655B (ko)
WO (1) WO2021183473A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7281041B2 (ja) * 2018-11-29 2023-05-25 京セラドキュメントソリューションズ株式会社 種類判別システム
KR20220045499A (ko) * 2020-10-05 2022-04-12 삼성전자주식회사 웨이퍼 상의 결함을 추론하는 시스템 및 방법
US11823366B2 (en) * 2020-12-28 2023-11-21 Wipro Limited System and method for anomaly detection using images

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008236634A1 (en) * 2007-04-05 2008-10-16 Aureon Laboratories, Inc. Systems and methods for treating, diagnosing and predicting the occurrence of a medical condition
US8825570B2 (en) * 2012-07-31 2014-09-02 Hewlett-Packard Development Company, L.P. Active learning with per-case symmetrical importance scores
US10108714B2 (en) 2015-12-22 2018-10-23 International Business Machines Corporation Segmenting social media users by means of life event detection and entity matching
US10424064B2 (en) * 2016-10-18 2019-09-24 Adobe Inc. Instance-level semantic segmentation system
CA3042239A1 (en) * 2016-10-28 2018-05-03 Illumina, Inc. Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing
JP2020510463A (ja) * 2017-01-27 2020-04-09 アーテリーズ インコーポレイテッド 全層畳み込みネットワークを利用する自動化されたセグメンテーション
US10417524B2 (en) * 2017-02-16 2019-09-17 Mitsubishi Electric Research Laboratories, Inc. Deep active learning method for civil infrastructure defect detection
WO2018165753A1 (en) * 2017-03-14 2018-09-20 University Of Manitoba Structure defect detection using machine learning algorithms
US11216927B2 (en) * 2017-03-16 2022-01-04 Siemens Aktiengesellschaft Visual localization in images using weakly supervised neural network
US20180373980A1 (en) * 2017-06-27 2018-12-27 drive.ai Inc. Method for training and refining an artificial intelligence
US10474464B2 (en) 2017-07-05 2019-11-12 Deep Vision, Inc. Deep vision processor
US11200665B2 (en) * 2017-08-02 2021-12-14 Shanghai Sixth People's Hospital Fundus image processing method, computer apparatus, and storage medium
CN107368614B (zh) * 2017-09-12 2020-07-07 猪八戒股份有限公司 基于深度学习的图像检索方法及装置
US10713769B2 (en) * 2018-06-05 2020-07-14 Kla-Tencor Corp. Active learning for defect classifier training
US11062180B2 (en) * 2018-07-18 2021-07-13 Shenzhen Malong Technologies Co., Ltd. Complexity-based progressive training for machine vision models
WO2020146905A1 (en) * 2019-01-13 2020-07-16 Lightlab Imaging, Inc. Systems and methods for classification of arterial image regions and features thereof
US11151706B2 (en) * 2019-01-16 2021-10-19 Applied Material Israel, Ltd. Method of classifying defects in a semiconductor specimen and system thereof
EP3966782A2 (en) * 2019-05-06 2022-03-16 Tesaro, Inc. Methods for characterizing and treating a cancer type using cancer images
US10984529B2 (en) * 2019-09-05 2021-04-20 Pearl Inc. Systems and methods for automated medical image annotation
EP3798899A1 (en) * 2019-09-30 2021-03-31 Basf Se Quantifying plant infestation by estimating the number of insects on leaves, by convolutional neural networks that provide density maps
US20210142168A1 (en) * 2019-11-07 2021-05-13 Nokia Technologies Oy Methods and apparatuses for training neural networks

Also Published As

Publication number Publication date
TW202143083A (zh) 2021-11-16
JP2023516775A (ja) 2023-04-20
CN115136209A (zh) 2022-09-30
US20210279520A1 (en) 2021-09-09
US20220391641A1 (en) 2022-12-08
US11416711B2 (en) 2022-08-16
WO2021183473A1 (en) 2021-09-16
TW202324175A (zh) 2023-06-16
TWI798655B (zh) 2023-04-11
EP4118580A1 (en) 2023-01-18
EP4118580A4 (en) 2024-02-28

Similar Documents

Publication Publication Date Title
Chen et al. YOLO-face: a real-time face detector
RU2743931C1 (ru) Система и способ обработки изображений с использованием глубинных нейронных сетей
US10191889B2 (en) Systems, apparatuses and methods for generating a user interface by performing computer vision and optical character recognition on a graphical representation
KR20220149727A (ko) 결함 검출 시스템
JP2017138989A (ja) 画像に含まれるテキストを検出する方法、装置及びコンピュータ読み取り可能な記録媒体
US11600088B2 (en) Utilizing machine learning and image filtering techniques to detect and analyze handwritten text
Shinde et al. Wafer defect localization and classification using deep learning techniques
CN113614778A (zh) 图像分析系统及使用该图像分析系统的方法
CN110533046A (zh) 一种图像实例分割方法和装置
US20210357644A1 (en) Explanatory visualizations for object detection
Nguyen et al. Multi-task model for comic book image analysis
Naosekpam et al. Multi-lingual Indian text detector for mobile devices
Chakraborty et al. Language identification from multi-lingual scene text images: a CNN based classifier ensemble approach
Shahriyar et al. An approach for multi label image classification using single label convolutional neural network
JP2019502994A (ja) 自動核セグメンテーション
Lorentz et al. Explaining defect detection with saliency maps
CN112070093A (zh) 生成图像分类模型的方法、图像分类方法、装置和设备
CN116681961A (zh) 基于半监督方法和噪声处理的弱监督目标检测方法
Maity et al. Selfdocseg: A self-supervised vision-based approach towards document segmentation
Tang et al. Two-stage filtering method to improve the performance of object detection trained by synthetic dataset in heavily cluttered industry scenes
Keyrouz et al. Enhanced chemical structure recognition and prediction using Bayesian fusion
CN113128496B (zh) 一种从图像中提取结构化数据的方法、装置和设备
CN113869352A (zh) 模型训练方法、服装检索方法及相关装置
CN115039144A (zh) 手写中的数学检测
Cheng et al. Weighted multiple instance-based deep correlation filter for video tracking processing