KR102308437B1 - 대상체의 외부의 검사를 최적화하기 위한 장치 및 그 방법 - Google Patents

대상체의 외부의 검사를 최적화하기 위한 장치 및 그 방법 Download PDF

Info

Publication number
KR102308437B1
KR102308437B1 KR1020207002467A KR20207002467A KR102308437B1 KR 102308437 B1 KR102308437 B1 KR 102308437B1 KR 1020207002467 A KR1020207002467 A KR 1020207002467A KR 20207002467 A KR20207002467 A KR 20207002467A KR 102308437 B1 KR102308437 B1 KR 102308437B1
Authority
KR
South Korea
Prior art keywords
image
configuration
score
images
processor
Prior art date
Application number
KR1020207002467A
Other languages
English (en)
Other versions
KR20200014438A (ko
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 KR20200014438A publication Critical patent/KR20200014438A/ko
Application granted granted Critical
Publication of KR102308437B1 publication Critical patent/KR102308437B1/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • 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
    • 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/8854Grading and classifying of flaws
    • G01N2021/8861Determining coordinates of flaws
    • 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/8854Grading and classifying of flaws
    • G01N2021/8867Grading and classifying of flaws using sequentially two or more inspection runs, e.g. coarse and fine, or detecting then analysing
    • 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/8854Grading and classifying of flaws
    • G01N2021/888Marking defects
    • 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
    • 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/8806Specially adapted optical and illumination features

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biochemistry (AREA)
  • Immunology (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

대상체의 이미지들을 캡처하는 카메라; 대상체의 이미지들, 및 대상체의 하나 이상의 미리 설정된 외부 속성을 포함하는 속성 데이터를 저장하는 메모리; 및 프로세서를 포함하고, 프로세서는: 복수의 이미지 프로세스를 포함하는 공정에 대한 제1 프로세스 구성을 결정하고; 제1 프로세스 구성 하에서 공정을 수행하고; 처리된 이미지 세트들로부터 검사 데이터를 생성하고; 검사 데이터를 속성 데이터와 비교함으로써 검사 점수를 생성하고; 검사 점수를 미리 설정된 임계 점수와 비교하고; 검사 점수가 미리 설정된 임계 점수를 만족시키는 경우, 제1 프로세스 구성을 최적 구성으로서 설정하도록 구성되는 기술이 제공된다.

Description

대상체의 외부의 검사를 최적화하기 위한 장치 및 그 방법
본 출원은 2017년 7월 7일자로 출원된 미국 가특허 출원 제62/529,582호에 기초하며 그것의 우선권을 주장하고, 그 전체 내용은 참조에 의해 본 개시에 포함된다.
본 개시는 복수의 이미지 스트림을 처리하기 위한 공정을 최적화하기 위한 장치 및 그 방법에 관한 것이다.
MOI(Mechanical Optical Inspection)를 수행하는 것과 관련하여, 초기에 MOI의 대상인 대상체(target object)의 이미지를 획득한 다음, 그 이미지에 기초하여 대상체가 사양을 따르는지를 결정하는 것이 가능하다. 즉, 대상체를 검사하는 프로세스에서, 예를 들어, 대응하는 대상체가 사양을 따르는 형상을 갖는지 및/또는 대상체의 표면이 결함을 갖는지와 관련하여 진단이 수행될 수 있다.
그러나, 대상체의 결함을 정확하게 지정하는 것이 어려울 수 있다. 이를 위해, 대상체의 이미지와 관련하여 다양한 이미지 프로세스들 또는 이미지 처리 기술들이 수행될 수 있다. 적어도, 대상체의 결함에 대한 명확한 정의가 없을 수 있고, 다양한 유형의 결함이 존재하기 때문에, 결함을 감지하기 위한 다양한 유형의 이미지 프로세스가 존재할 수 있다.
다양한 유형의 결함을 감지하기 위해, MOI 공정은 적절한 구성을 요구할 수 있다. 즉, MOI 공정을 수행하는 것과 관련하여, 다음 예들 중 적어도 하나와 관련하여 구성이 요구될 수 있다: 대상체의 이미지들 중 어느 이미지에 이미지 프로세스가 적용될 것인지; MOI 공정에 어떤 종류의 이미지 프로세스가 포함될 것인지; 각각의 이미지 프로세스들이 어떤 시퀀스로 이미지에 적용될 것인지; 및 각각의 이미지 프로세스들에 사용되는 파라미터 값들이 어떻게 선택될 것인지.
그러한 구성 프로세스는 상당한 양의 시간이 요구될 수 있다는 문제를 갖는다. 또한, 이러한 방식에 따르면, 특정 구성을 MOI 공정에 적용하는 프로세스에서 국부적 최대들(local maxima) 또는 국부적 최소들(local minima)에 대응하는 구성이 최적 구성으로서 잘못 도출될 수 있다.
본 개시는 관련 기술의 위에서 언급된 문제점들을 해결하기 위해, 대상체의 결함을 검사하기 위해 하나 이상의 이미지 세트를 처리하기 위한 프로세스를 최적화하는 기술을 제공한다.
본 개시의 일 실시예에 따르면, 대상체의 하나 이상의 이미지 세트를 캡처하는 적어도 하나의 카메라; 대상체의 하나 이상의 이미지 세트, 및 대상체의 하나 이상의 미리 설정된 외부 속성(feature)를 포함하는 속성 데이터를 저장하는 메모리; 및 프로세서를 포함하고, 프로세서는: 메모리로부터 하나 이상의 이미지 세트를 획득하고 - 각각의 이미지 세트는 하나 이상의 미리 설정된 세팅 하에서 캡처됨 -; 복수의 이미지 프로세스를 포함하는 공정에 대한 제1 프로세스 구성을 결정하고; 제1 프로세스 구성 하에서 하나 이상의 이미지 세트에 대해 공정을 수행하고; 제1 프로세스 구성 하에서 처리된 하나 이상의 이미지 세트로부터 대상체의 외부에 대한 검사 데이터를 생성하고; 대상체의 외부에 대한 검사 데이터를 속성 데이터와 비교함으로써 검사 점수를 생성하고; 검사 점수를 미리 설정된 임계 점수와 비교하고; 검사 점수가 미리 설정된 임계 점수를 만족시키는 경우, 제1 프로세스 구성을 최적 구성으로서 설정하고; 검사 점수가 미리 설정된 임계 점수를 만족시키지 않는 경우, 공정에 대한 제2 프로세스 구성을 결정하는 기술이 제공된다.
구체적으로, 프로세서는 제1 프로세스 구성을 결정할 때: 하나 이상의 이미지 세트로부터, 제1 프로세스 구성 하에서의 공정이 수행되는 제1 이미지 세트를 결정하고; 복수의 이미지 프로세스로부터, 제1 프로세스 구성 하에서의 공정에서 수행되는 제1 이미지 프로세스 세트를 결정하고; 제1 이미지 프로세스 세트에 대한 제1 파라미터 값들을 결정하고; 제1 이미지 프로세스 세트의 제1 시퀀스를 결정할 수 있다.
구체적으로, 프로세서는 검사 점수를 생성할 때: 검사 데이터로부터 하나 이상의 플래그를 획득하고 - 하나 이상의 플래그 각각은 대상체의 외부가 미리 설정된 외부 속성들 중 적어도 하나를 포함하는지를 나타냄 -; 하나 이상의 플래그 각각이 메모리에 저장된 속성 데이터와 일치하는지를 결정하고; 하나 이상의 플래그의 총 수에 대한, 속성 데이터와 일치하는 플래그 수의 비를 나타내는 검사 점수를 생성할 수 있다.
구체적으로, 프로세서는 검사 점수를 생성할 때: 검사 데이터로부터 대상체 상의 제1 영역을 획득하고 - 제1 영역은 미리 설정된 외부 속성들 중 적어도 하나를 포함함 -; 메모리에 사전 저장된 속성 데이터로부터 대상체 상의 제2 영역을 획득하고 - 제2 영역은 미리 설정된 외부 속성들 중 적어도 하나를 포함함 -; 제1 영역과 제2 영역 사이의 중첩 영역을 결정하고; 제2 영역 내에서의 중첩 영역의 비율을 나타내는 검사 점수를 생성할 수 있다.
구체적으로, 프로세서는, 제2 프로세스 구성을 결정할 때, 검사 점수와 미리 설정된 임계 점수 사이의 차이에 따라, 하나 이상의 이미지 세트로부터의 제2 이미지 세트, 복수의 이미지 프로세스로부터의 제2 이미지 프로세스 세트, 제2 이미지 프로세스 세트에 대한 제2 파라미터 값들, 및 제2 이미지 프로세스 세트의 제2 시퀀스를 결정할 수 있다.
구체적으로, 프로세서는 제2 프로세스 구성을 결정할 때: 제1 프로세스 구성 하에서 공정을 수행하기 전에 공정에 대해 이전 프로세스 구성을 사용하여 생성된 이전 검사 점수와, 공정에 대해 제1 프로세스 구성을 사용하여 생성된 검사 점수 사이의 차이를 도출하고; 도출된 차이에 따라 제1 프로세스 구성을 수정함으로써 제2 프로세스 구성을 결정할 수 있다.
구체적으로, 프로세서는 제2 프로세스 구성 하에서 공정을 수행할 수 있다.
구체적으로, 대상체의 외부의 검사를 최적화하기 위한 장치는: 대상체에 광을 조사하도록 구성되는 광원을 더 포함하고, 하나 이상의 미리 설정된 세팅은 대상체에 조사되는 광의 파장, 대상체 내로의 광의 조사 각도, 광의 조도(illumination), 및 적어도 하나의 카메라의 유형 중 적어도 하나를 포함한다.
구체적으로, 제1 시퀀스는 제1 이미지 프로세스 세트 중의 적어도 2개의 상이한 이미지 프로세스를 제1 이미지 세트에 병렬로 적용하는 서브시퀀스를 포함한다.
구체적으로, 제1 시퀀스는 적어도 2개의 상이한 이미지 프로세스를 제1 이미지 세트에 병렬로 적용한 후, 제1 이미지 프로세스 세트 중의 단일 이미지 프로세스를 제1 이미지 세트에 적용하는 서브시퀀스를 포함한다.
본 개시의 일 실시예에 따르면, 대상체의 하나 이상의 이미지 세트를 캡처하는 단계 - 각각의 이미지 세트는 하나 이상의 미리 설정된 세팅 하에서 캡처됨 -; 복수의 이미지 프로세스를 포함하는 공정에 대한 제1 프로세스 구성을 결정하는 단계; 제1 프로세스 구성 하에서 하나 이상의 이미지 세트에 대해 공정을 수행하는 단계; 제1 프로세스 구성 하에서 처리된 하나 이상의 이미지 세트로부터 대상체의 외부에 대한 검사 데이터를 생성하는 단계; 대상체의 외부에 대한 검사 데이터를 속성 데이터와 비교함으로써 검사 점수를 생성하는 단계 - 속성 데이터는 메모리에 사전 저장되고, 대상체의 하나 이상의 미리 설정된 외부 속성을 포함함 -; 검사 점수를 미리 설정된 임계 점수와 비교하는 단계; 검사 점수가 미리 설정된 임계 점수를 만족시키는 경우, 제1 프로세스 구성을 최적 구성으로서 설정하는 단계; 및 검사 점수가 미리 설정된 임계 점수를 만족시키지 않는 경우, 공정에 대한 제2 프로세스 구성을 결정하는 단계를 포함하는 기술이 제공된다.
구체적으로, 제1 프로세스 구성을 결정하는 단계는: 하나 이상의 이미지 세트로부터, 제1 프로세스 구성 하에서의 공정이 수행되는 제1 이미지 세트를 결정하는 단계; 복수의 이미지 프로세스로부터, 제1 프로세스 구성 하에서의 공정에서 수행되는 제1 이미지 프로세스 세트를 결정하는 단계; 제1 이미지 프로세스 세트에 대한 제1 파라미터 값들을 결정하는 단계; 및 제1 이미지 프로세스 세트의 제1 시퀀스를 결정하는 단계를 포함한다.
구체적으로, 검사 점수를 생성하는 단계는: 검사 데이터로부터 하나 이상의 플래그를 획득하는 단계 - 하나 이상의 플래그 각각은 대상체의 외부가 미리 설정된 외부 속성들 중 적어도 하나를 포함하는지를 나타냄 -; 하나 이상의 플래그 각각이 메모리에 사전 저장된 속성 데이터와 일치하는지를 결정하는 단계; 및 하나 이상의 플래그의 총 수에 대한, 속성 데이터와 일치하는 플래그 수의 비를 나타내는 검사 점수를 생성하는 단계를 포함한다.
구체적으로, 검사 점수를 생성하는 단계는: 검사 데이터로부터 대상체 상의 제1 영역을 획득하는 단계 - 제1 영역은 미리 설정된 외부 속성들 중 적어도 하나를 포함함 -; 메모리에 사전 저장된 속성 데이터로부터 대상체 상의 제2 영역을 획득하는 단계 - 제2 영역은 미리 설정된 외부 속성들 중 적어도 하나를 포함함 -; 제1 영역과 제2 영역 사이의 중첩 영역을 결정하는 단계; 및 제2 영역에서 중첩 영역의 비율을 나타내는 검사 점수를 생성하는 단계를 포함한다.
구체적으로, 공정에 대한 제2 프로세스 구성을 결정하는 단계는 검사 점수와 미리 설정된 임계 점수 사이의 차이에 따라, 하나 이상의 이미지 세트로부터의 제2 이미지 세트, 복수의 이미지 프로세스로부터의 제2 이미지 프로세스 세트, 제2 이미지 프로세스 세트에 대한 제2 파라미터 값들, 및 제2 이미지 프로세스 세트의 제2 시퀀스를 결정하는 단계를 포함한다.
구체적으로, 공정에 대한 제2 프로세스 구성을 결정하는 단계는: 제1 프로세스 구성 하에서 공정을 수행하기 전에 공정에 대해 이전 프로세스 구성을 사용하여 생성된 이전 검사 점수와, 공정에 대해 제1 프로세스 구성을 사용하여 생성된 검사 점수 사이의 차이를 도출하는 단계; 및 도출된 차이에 따라 제1 프로세스 구성을 수정함으로써 제2 프로세스 구성을 결정하는 단계를 포함한다.
구체적으로, 대상체의 외부의 검사를 최적화하기 위한 방법은 제2 프로세스 구성 하에서 공정을 수행하는 단계를 더 포함한다.
구체적으로, 하나 이상의 미리 설정된 세팅은 대상체의 하나 이상의 이미지 세트를 캡처하기 위해 대상체에 조사되는 광의 파장, 대상체 내로의 광의 조사 각도, 광의 조도, 및 대상체의 하나 이상의 이미지 세트를 캡처하도록 구성되는 적어도 하나의 카메라의 유형 중 적어도 하나를 포함한다.
구체적으로, 제1 시퀀스는 제1 이미지 프로세스 세트 중의 적어도 2개의 상이한 이미지 프로세스를 제1 이미지 세트에 병렬로 적용하는 서브시퀀스를 포함한다.
구체적으로, 제1 시퀀스는 적어도 2개의 상이한 이미지 프로세스를 제1 이미지 세트에 병렬로 적용한 후, 제1 이미지 프로세스 세트 중의 단일 이미지 프로세스를 제1 이미지 세트에 적용하는 서브시퀀스를 포함한다.
본 개시의 다양한 실시예들에 따르면, 전자 장치는 대상체의 외부의 결함을 검사하기 위한 공정의 최적화된 구성을 도출함으로써 대상체의 결함을 정확하고 효율적으로 감지할 수 있다.
본 개시의 다양한 실시예들에 따르면, 전자 장치는 대상체의 결함을 검사하기 위한 공정의 최적화와 관련하여, 국부적 최대들 또는 국부적 최소들에 대응하는 구성이 아닌 최적 구성을 정확하게 도출할 수 있다.
본 개시의 다양한 실시예들에 따르면, 전자 장치는 객관적인 표준에 따라 결함 검사 공정의 최적 구성을 도출할 수 있다.
도 1은 본 개시의 다양한 실시예들에 따른 전자 장치의 전반적인 공정 프로세스를 도시한다.
도 2는 본 개시의 다양한 실시예들에 따른 전자 장치의 블록도를 도시한다.
도 3은 본 개시의 실시예에 따라 이미지를 처리하기 위한 공정을 도시한다.
도 4는 본 개시의 실시예에 따라 이미지를 처리하기 위한 공정을 최적화하는 프로세스를 도시한다.
도 5는 본 개시의 실시예에 따라 프로세서에 의해 검사 데이터를 평가하기 위한 방법을 도시한다.
도 6은 본 개시의 실시예에 따라 공정의 새로운 구성을 결정하는 프로세스 동안 프로세서에 의해 파라미터 값을 결정하기 위한 방법을 도시한다.
도 7은 본 개시의 실시예에 따라 분기 서브시퀀스 및 병합 서브시퀀스를 도시한다.
도 8은 본 개시에 따라 전자 장치에 의해 수행될 수 있는 공정 최적화 방법의 실시예를 도시한다.
본 문서에 개시된 다양한 실시예들은 본 개시의 기술적 사상을 명확하게 설명하기 위해 예시되며, 실시예의 특정 모드로 제한되어서는 안 된다. 본 개시의 기술적 사상은 각각의 실시예의 다양한 수정, 등가물 및 대안, 및 각각의 실시예의 전부 또는 일부로부터 선택된 실시예들의 조합을 포함한다. 추가로, 본 개시의 기술적 사상의 범위는 이하의 다양한 실시예들 또는 그 특정 설명들로 제한되지 않는다.
기술적 또는 과학적 용어들을 포함하여, 본 문서에서 사용되는 용어는 달리 정의되지 않는 한 본 개시가 속하는 기술분야의 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미를 가질 수 있다.
본 문서에서 사용된 "포함한다(include, comprise)", "포함할 수 있다(may include, may comprise)", "갖는다", 및 "가질 수 있다"와 같은 표현들은 해당 속성(예를 들어, 기능, 동작, 또는 구성요소)가 존재한다는 것을 의미하며, 다른 속성의 존재를 배제하지 않는다. 즉, 그러한 표현들은 다른 실시예가 포함될 수 있는 가능성을 암시하는 개방형 용어들로 이해되어야 한다.
본 문서에서 사용된 단수 표현들은 문맥상 달리 지시되지 않는 한 복수의 의미를 포함할 수 있으며, 이는 청구항들에 사용된 단수 표현들에도 적용된다.
본 문서에서 표현 "제1", "제2", 및 그와 유사한 것은 문맥상 달리 지시되지 않는 한, 동일한 종류의 복수의 엔티티를 나타내는 것과 관련하여 엔티티를 다른 엔티티와 구별하기 위해 사용되며, 해당 엔티티들 간의 순서 또는 중요성을 제한하지 않는다.
본 문서에서 사용되는 표현 "A, B 및 C", "A, B 또는 C", "A, B 및/또는 C", "A, B 및 C 중 적어도 하나", "A, B 또는 C 중 적어도 하나", "A, B 및/또는 C 중 적어도 하나", 및 그와 유사한 것은 각각의 열거된 항목들 또는 열거된 항목들의 모든 가능한 조합을 나타낼 수 있다. 예를 들어, "A 또는 B 중 적어도 하나"는 (1) 적어도 하나의 A, (2) 적어도 하나의 B 및 (3) 적어도 하나의 A 및 적어도 하나의 B를 모두 나타낼 수 있다.
표현 "~에 기초하여"는 본 문서에서 그 표현을 포함하는 문구 또는 문장에 설명된 결정 또는 판단의 액션 또는 동작에 영향을 미치는 하나 이상의 인자를 설명하기 위해 사용되며, 이러한 표현은 해당 결정 또는 판단의 액션 또는 동작에 영향을 미치는 추가 인자들을 배제하지 않는다.
본 문서에서 사용된 구성요소(element)(예를 들어, 제1 구성요소)가 다른 구성요소(예를 들어, 제2 구성요소)에 "연결된다"는 표현은 그 구성요소가 다른 구성요소에 직접 연결될뿐만 아니라 또 다른 상이한 구성요소(예를 들어, 제3 구성요소)를 통해서도 연결된다는 것을 의미할 수 있다.
본 문서에서 사용된 표현 "~로 구성되는"은 문맥에 따라 "~로 설정되는", "~ 할 수 있는", "~로 수정되는", "~로 적응되는", "~가 가능한", 및 그와 유사한 것의 의미를 가질 수 있다. 이러한 표현은 "하드웨어 기반으로 특별히 설계되는"의 의미로 제한되지 않으며, 특정 동작을 수행하도록 구성되는 프로세서는 예를 들어 소프트웨어를 실행함으로써 특정 동작을 수행할 수 있는 범용 프로세서를 나타낼 수 있다.
이하, 첨부된 도면을 참조하여 본 개시의 다양한 실시예들이 설명될 것이다. 첨부 도면들 및 그 설명에서, 동일하거나 실질적으로 동등한 구성요소들에는 동일한 참조 번호들이 부여될 수 있다. 다양한 실시예들에 대한 이하의 설명에서, 동일하거나 대응하는 구성요소들에 대한 반복되는 설명들은 해당 구성요소들이 해당 실시예에 포함되지 않음을 의미하지 않고서 생략될 수 있다.
도 1은 본 개시의 다양한 실시예들에 따른 전자 장치의 전반적인 공정 프로세스를 도시한다. 본 개시의 다양한 실시예들에 따른 전자 장치는 대상체의 외부의 결함을 검사하기 위해 복수의 이미지 세트를 처리하기 위한 공정의 최적화를 수행할 수 있다. 일부 실시예들에서, 본 개시에 따른 전자 장치는 샘플로서 제공되는 적어도 하나의 대상체의 결함을 검사할 수 있다. 적어도 하나의 대상체 각각은 결함을 갖거나 갖지 않을 수 있다. 샘플로서 제공된 적어도 하나의 대상체와 함께, 각각의 대상체가 실제로 결함을 갖는지를 확인하고 대응하는 대상체에 관련된 결함의 실제 위치를 나타내기 위해 속성 데이터(400)가 제공될 수 있다. 속성 데이터(400)는 대응하는 대상체의 실제 결함에 관한 진본 정보, 및/또는 측정을 통해 획득된 결과 값과 비교될 정보일 수 있다. 본 개시에 따른 전자 장치는 제공된 속성 데이터를 저장할 수 있다.
본 개시에 따른 전자 장치는 하나 이상의 이미지 세트(100)를 획득할 수 있다. 전자 장치는 광원(30)(이하에 설명됨)을 사용하여 대상체(2)에 광을 발산할 수 있고, 카메라(40)(이하에 설명됨)를 사용하여 반사광을 캡처할 수 있다. 전자 장치는 캡처된 광을 이용하여 대상체에 관한 하나 이상의 이미지 세트(100)를 획득할 수 있다.
이후, 본 개시에 따른 전자 장치는 대상체의 결함을 검사하기 위한 공정(200)을 시작할 수 있다. 이러한 공정은 특정 구성에 기초한 공정일 수 있다. 전자 장치는 특정 구성에 따라 복수의 이미지 세트로부터 하나 이상의 이미지 세트를 선택할 수 있고, 미리 설정된 이미지 프로세스들을 선택된 이미지 세트들에 미리 설정된 시퀀스로 적용할 수 있다. 미리 설정된 이미지 프로세스들은 특정 구성에 포함된 정의에 기초한 파라미터 값들을 가질 수 있다.
본 개시에 따른 전자 장치는 특정 구성에 기초한 공정에 따라 검사 데이터(300)를 획득할 수 있다. 검사 데이터(300)는 전자 장치가 대응하는 대상체의 결함을 검사한 결과의 측정 데이터일 수 있다. 전자 장치는 검사 데이터(300)를 저장된 속성 데이터(400)와 비교할 수 있고, 비교 결과에 따라 공정의 구성을 수정할 수 있다.
일 실시예에서, 전자 장치는 특정 구성에 따른 공정의 적용, 대응하는 공정의 결과에 따른 공정의 평가, 및 평가 결과에 기초한 공정 구성의 수정을 자동으로 반복할 수 있다. 반복되는 프로세스들 동안 공정의 적절한 구성이 도출되면, 대응하는 구성은 이러한 공정의 최적화된 구성으로서 결정될 수 있다. 이러한 방식으로, 본 개시에 따른 전자 장치는 대상체의 결함을 검사하기 위한 공정을 최적화할 수 있다. 공정의 최적화된 구성이 결정된 후, 전자 장치는 최적화된 구성에 기초한 공정을 통해 다른 대상체들의 결함 검사를 진행할 수 있다.
본 개시의 다양한 실시예들에 따르면, 전자 장치는 대상체의 결함을 검사하기 위한 공정의 최적화된 구성을 도출함으로써 대상체의 결함을 정확하고 효율적으로 감지할 수 있다.
본 개시의 다양한 실시예들에 따르면, 전자 장치는 대상체의 결함을 검사하기 위한 공정의 최적화와 관련하여, 국부적 최대들 또는 국부적 최소들에 대응하는 구성이 아닌 최적 구성을 정확하게 도출할 수 있다.
본 개시의 다양한 실시예들에 따르면, 전자 장치는 객관적인 표준에 따라 결함 검사 공정의 최적 구성을 도출할 수 있다.
도 2는 본 개시의 다양한 실시예들에 따른 전자 장치(1)의 블록도를 도시한다. 본 개시에 따른 위에서 설명된 전자 장치는 도시된 전자 장치(1)에 의해 표현될 수 있다. 실시예에 따르면, 전자 장치(1)는 광원(30), 카메라(40), 메모리(20), 및/또는 프로세서(10)를 포함할 수 있다. 일부 실시예들에서, 전자 장치(1)의 상기 구성요소들 중 적어도 하나가 생략될 수 있거나, 다른 구성요소가 전자 장치(1)에 추가될 수 있다. 일부 실시예들에서, 동일한 것에 추가하여, 또는 그에 대한 대안으로, 일부 구성요소들은 통합되어 구현될 수 있거나, 단일 엔티티 또는 복수의 엔티티로서 구현될 수 있다.
전자 장치(1) 내부/외부의 구성요소들 중 적어도 일부 구성요소들은 데이터 및/또는 신호들을 교환하기 위해 예를 들어 GPIO(General Purpose Input/Output), SPI(Serial Peripheral Interface) 및/또는 MIPI(mobile industry processor interface)를 통해 상호 연결될 수 있다.
광원(30)은 대상체에 광을 조사할 수 있다. 전자 장치(1)는 적어도 하나의 광원(30)을 포함할 수 있으며, 적어도 하나의 광원(30) 각각은 다양하게 구성될 수 있다. 실시예에서, 광원(30)은 생략될 수 있다.
카메라(40)는 대상체의 하나 이상의 이미지 세트를 캡처할 수 있다. 카메라(40)는 광원(30)에 의해 조사된 후 대상체(2)로부터 반사된 광을 캡처하여, 대상체(2)의 이미지를 획득할 수 있다. 이러한 이미지는 하나 이상의 이미지 세트에 포함될 수 있다. 전자 장치(1)는 적어도 하나의 카메라(40)를 포함할 수 있고, 적어도 하나의 카메라(40) 각각은 다양하게 구성될 수 있다.
메모리(20)는 전자 장치(1)를 구동하는 데 필요한 다양한 유형의 정보를 저장할 수 있다. 메모리(20)에 저장된 데이터는 전자 장치(1)의 적어도 하나의 구성요소에 의해 획득, 처리 또는 사용되는 데이터일 수 있고, 소프트웨어(예를 들어, 프로그램들)를 포함할 수 있다. 메모리(20)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(20)는 대상체의 하나 이상의 이미지 세트를 저장할 수 있다. 추가로, 메모리(20)는 대상체의 결함 부분에 관한 속성 데이터를 저장할 수 있다. 속성 데이터는 하나 이상의 미리 설정된 외부 속성 또는 대상체의 외부 결함에 관한 정보를 포함할 수 있다.
프로세서(10)는 프로세서(10)에 연결된 전자 장치(1)의 적어도 하나의 구성요소를 제어하기 위해 소프트웨어(예를 들어, 프로그램들)를 구동할 수 있다. 추가로, 프로세서(10)는 본 개시에 관련된 하나 이상의 다양한 공정, 예컨대 계산, 처리, 데이터 생성, 및 수정을 수행할 수 있다. 추가로, 프로세서(10)는 메모리(20)로부터 데이터를 로딩하거나 데이터를 메모리(20)에 저장할 수 있다.
프로세서(10)는 메모리(20)로부터 하나 이상의 이미지 세트(100)를 획득할 수 있다. 이미지 세트들 각각은 하나 이상의 미리 설정된 세팅 하에서 캡처된 것일 수 있다.
프로세서(10)는 하나 이상의 이미지 세트(100)를 처리하기 위한 공정의 제1 구성을 결정할 수 있다. 프로세서(10)는 제1 구성에 기초한 공정에 따라 하나 이상의 이미지 세트를 처리할 수 있다. 공정은 하나 이상의 이미지 프로세스를 포함할 수 있다. 프로세서(10)는 제1 구성에 기초하여 공정에 의해 처리된 하나 이상의 이미지 세트로부터 대상체의 결함에 관한 검사 데이터(300)를 생성할 수 있다.
프로세서(10)는 검사 데이터(300)를 메모리(20)로부터 획득된 속성 데이터(400)와 비교함으로써 검사 점수를 생성할 수 있다. 검사 점수는 공정이 제1 구성에 따라 대상체의 결함을 감지하는 효율성의 정도를 평가한 다음, 평가 결과를 표현하는 수치 값을 제공함으로써 생성될 수 있다.
프로세서(10)는 검사 점수를 미리 설정된 임계 점수와 비교할 수 있다. 비교 결과에 따라, 프로세서(10)는 제1 구성을 최적 구성으로서 결정할 수 있거나, 제2 구성을 새로 결정할 수 있다. 제1 구성에 따라 도출된 검사 점수가 미리 설정된 임계 점수를 만족하는 경우, 프로세서(10)는 제1 구성을 최적 구성으로서 결정할 수 있다. 이러한 경우, 프로세서(10)는 실시예에 따라 제1 구성을 메모리에 저장할 수 있다. 추가로, 제1 구성에 따라 도출된 검사 점수가 미리 설정된 임계 점수를 만족시키지 못하는 경우, 프로세서(10)는 하나 이상의 이미지 세트를 처리하기 위한 공정의 제2 구성을 결정할 수 있다. 제2 구성에 기초한 공정은 제1 구성에 기초한 공정 후에 수행될 수 있다. 프로세서(10)는 최적 구성이 도출될 때까지 공정의 구성을 변경하면서도 하나 이상의 이미지 세트에 대한 공정을 계속 수행할 수 있다. 실시예에서, 검사 점수가 임계 점수를 만족시킨다는 사실은 검사 점수의 값이 임계 점수보다 높다는 것을 의미할 수 있다. 실시예에서, 검사 점수가 임계 점수를 만족시킨다는 사실은 검사 점수의 값이 임계 점수보다 낮다는 것을 의미할 수 있다. 실시예에서, 검사 점수가 임계 점수를 만족시킨다는 사실은 검사 점수의 값이 미리 설정된 임계 점수의 미리 설정된 백분율 범위 내에 존재한다는 것을 의미할 수 있다.
본 개시에서, 대상체(2)는 MOI의 대상이 되는 다양한 객체들일 수 있다. 대상체(2)는 예를 들어 반도체, 반도체 기판, 및/또는 반도체 기판 상에 실장된 다이일 수 있다. 본 개시의 대상체는 위에서 언급된 대상들에 제한되지 않는다.
본 개시에서, 결함은 대상체의 표면 또는 내부에서 발견될 수 있는 대상체의 특징적인 부분을 지칭할 수 있다. 실시예에서, 결함은 대상체의 사양과 비교되는 대상체의 표면 또는 내부의 차이를 지칭할 수 있다. 실시예에서, 결함은 대상체의 무색 표면에 나타나는 특정 색상의 얼룩일 수 있다. 실시예에서, 결함은 대상체의 표면 상의 스크래치일 수 있다. 실시예에서, 결함은 대상체 상의 함몰부 또는 돌출부일 수 있다. 실시예에서, 결함은 머시닝 프로세스에 따라 대상체 상에 의도적으로 생성된 속성일 수 있다. 본 개시에서, 결함은 또한 예를 들어 속성, 비정상 및/또는 불완전으로도 지칭될 수 있다.
본 개시에서, 대상체(2)의 이미지는 대상체(2)의 이미지를 촬영함으로써 획득될 수 있다. 광원(30)에 의해 대상체를 향해 조사된 광은 대상체(2)로부터 반사될 수 있고, 반사된 광을 카메라(40)에 의해 캡처함으로써 생성된 이미지가 대상체(2)의 이미지일 수 있다. 실시예에서, 이미지는 대상체(2)의 부분 영역 또는 ROI(Region Of Interest)의 이미지를 촬영함으로써 획득될 수 있다. 대상체(2)의 각각의 FOV(Field Of View)에 기초한 각각의 뷰에 대한 이미지가 존재할 수 있다.
본 개시에서, 이미지 세트는 미리 설정된 세팅 하에서 촬영된 대상체의 이미지 세트일 수 있다. 예를 들어, 특정 세팅 하에서 촬영된 대상체의 이미지들은 단일 이미지 세트에 포함될 수 있다. 본 개시에서 사용될 때, 미리 설정된 세팅은 대상체의 이미지들을 촬영하는 것에 관련된 모든 인자들에 대해 구성된 값들의 세트를 지칭할 수 있다. 인자들은 예를 들어 광원(30)의 유형, 양 및 배열, 카메라(40)의 유형, 양 및 배열, 광원(30)에 관련된 파라미터들, 카메라(40)에 관련된 파라미터들, 광의 파장, 광의 조도, 광이 대상체에 조사되는 각도, 및 이들의 임의의 조합을 포함할 수 있다.
본 개시에서, 공정은 대상체의 결함을 검사하기 위해, 대상체의 이미지 세트를 처리하고 이미지 세트로부터 대상체의 결함을 감지하기 위한 일련의 프로세스들을 지칭할 수 있다. 공정은 프로세서가 미리 설정된 시퀀스에 따라 하나 이상의 이미지 세트 중 미리 설정된 이미지 세트에 적어도 하나의 이미지 프로세스 세트를 적용하는 것일 수 있다. 공정의 내용은 공정이 어떻게 구성되는지에 따라 달라질 수 있다. 위에서 설명된 바와 같이, 공정의 구성은 예를 들어 공정이 적용될 이미지 세트를 결정하는 방법; 복수의 이미지 프로세스 중에서, 공정에 포함된 이미지 프로세스 세트를 결정하는 방법; 이미지 프로세스 세트에 사용된 파라미터들의 값들을 결정하는 방법; 및 이미지 프로세스 세트 중의 이미지 프로세스들이 적용될 시퀀스에 관한 구성들을 포함할 수 있다. 본 개시에서, 구성은 또한 프로세스 구성으로 지칭될 수 있다.
본 개시에서, 이미지 프로세스는 대상체의 결함을 검사하기 위해 대상체의 이미지들에 적용되는 모든 이미지 처리를 포함하는 개념일 수 있다. 이미지 프로세스의 개념은 예를 들어 데이터 처리, 이미지 처리 알고리즘, 및/또는 데이터 처리 알고리즘을 포함할 수 있다. 적어도 하나의 이미지 프로세스가 공정에 속할 수 있다. 이미지 프로세스들의 유형은 이하에 설명될 것이다.
본 개시에서, 검사 데이터는 대상체의 이미지에 공정을 적용함으로써 검사된 대상체의 결함에 관한 측정의 결과를 지칭할 수 있다. 검사 데이터는 프로세서(10)에 의한 특정 구성에 기초한 공정에 따라 하나 이상의 이미지 세트를 처리 함으로써 획득된 결과일 수 있다. 검사 데이터는 플래그를 포함할 수 있다. 검사 데이터의 플래그는 대응하는 대상체에 결함이 존재하는지를 나타낼 수 있다. 실시예에서, 플래그는 이진 표시자일 수 있다. 실시예에서, 검사 데이터는 속성 위치 이미지를 포함할 수 있다. 검사 데이터의 속성 위치 이미지는 대응하는 대상체에 존재하는 결함이 차지하는 대상체의 영역을 나타낼 수 있다. 실시예에서, 속성 위치 이미지는 위에서 언급된 대상체 이미지와 유사한 히트맵 이미지 유형으로 표현될 수 있다. 실시예에서, 속성 위치 이미지는 공간 위치 맵으로 지칭될 수 있다. 검사 데이터는 하나 이상의 이미지 세트에 공정을 적용함으로써 획득되고, 따라서 연속 이미지 입력들에 따라 복수의 플래그 및/또는 복수의 속성 위치 이미지를 포함할 수 있다.
본 개시에서, 속성 데이터(400)는 대상체의 실제 결함에 관한 정보를 포함할 수 있다. 속성 데이터(400)는 샘플로서 제공되는 대상체와 함께 제공될 수 있고, 대상체 상에 존재하는 결함에 관한 진본 정보를 포함할 수 있다. 속성 데이터는 대응하는 대상체가 결함을 갖는지에 관한 정보, 및 대상체 상의 결함의 위치에 관한 정보를 포함할 수 있다. 위치 정보는 결함이 존재하는 대상체의 표면 상의 영역을 나타낼 수 있다. 실시예에서, 속성 데이터(400)는 대상체(2)를 육안으로 검사한 후에 사람에 의해 생성된 정보, 또는 컴퓨터와 같은 장비에 의해 생성된 정보일 수 있다.
본 개시에서, 검사 점수는 검사 데이터가 대상체의 결함을 얼마나 정확하게 감지했는지를 수치로 나타내는 데이터일 수 있으며, 검사 데이터는 특정 구성에 기초한 공정이 하나 이상의 이미지 세트와 관련하여 수행될 때 도출된다. 검사 점수는 특정 구성에 기초한 공정에 따라 도출된 검사 데이터와 사전 저장된 속성 데이터를 비교함으로써 획득될 수 있다. 특정 구성에 기초한 공정에 따라 도출된 검사 데이터가 플래그인 경우, 검사 점수는 검사 데이터의 하나 이상의 플래그의 수에 대한, 속성 데이터의 내용과 일치하는 플래그 수의 비에 의해 표현될 수 있다. 특정 구성에 기초한 공정에 따라 도출된 검사 데이터가 속성 위치 이미지인 경우, 실시예에서, 공정은 검사 데이터의 속성 위치 이미지에 의해 나타난 결함이 존재하는 영역과 속성 데이터에 의해 나타난 결함이 존재하는 영역 사이의 중첩 영역을 먼저 결정할 수 있다. 다음으로, 검사 점수는 속성 데이터에 의해 나타난 결함이 존재하는 영역에 대한 중첩 영역의 비율에 의해 표현될 수 있다. 수치 데이터인 이러한 비율은 해당 특정 구성에 기초한 공정의 정확성을 결정하기 위해 사용될 수 있다. 검사 점수는 또한 예를 들어 평가 데이터 및/또는 점수로 지칭될 수 있다.
본 개시에서, 검사 점수와 비교되는 미리 설정된 임계 점수는 공정의 특정 구성을 최적 구성으로서 결정하기 위한 기준 값일 수 있다. 위에서 설명된 바와 같이, 특정 구성에 기초한 공정에 의해 획득된 검사 점수가 미리 설정된 임계 점수를 만족시키는 경우, 대응하는 특정 구성은 최적 구성으로서 결정될 수 있다. 미리 설정된 임계 점수는 공정의 요구되는 최적화 정도에 따라 적절하게 결정될 수 있다.
본 개시에서, 프로그램은 메모리(20)에 저장된 소프트웨어를 지칭하고, 전자 장치(1)의 자원들, 애플리케이션들, 및/또는 애플리케이션들이 전자 장치(1)의 자원들을 이용할 수 있도록 애플리케이션들에 다양한 기능들을 제공하는 미들웨어를 제어하기 위한 운영 체제를 포함할 수 있다.
본 개시에서, 전자 장치(1)는 다양한 유형의 디바이스일 수 있다. 예를 들어, 전자 장치는 휴대용 통신 디바이스, 컴퓨터 디바이스, 휴대용 멀티미디어 디바이스, 웨어러블 디바이스, 또는 위에서 언급된 디바이스들 중 하나 이상의 조합에 기초한 디바이스일 수 있다. 본 개시에 따른 전자 장치는 위에서 언급된 디바이스들에 제한되지 않는다. 전자 장치(1)는 또한 단순히 디바이스로 지칭될 수 있다.
실시예에서, 전자 장치(1)는 복수의 광원(30)을 포함할 수 있다. 복수의 광원(30) 각각은 다르게 구성될 수 있다. 실시예에서, 광원(30)은 RGB(Red, Green, Blue) 광을 조사하는 2차원 광원들, 또는 패턴 광을 조사하는 3차원 광원들일 수 있다. 실시예에서, 복수의 광원(30) 각각은 대상체(2)에 수직으로 광을 조사하기 위해 대상체(2)의 법선에 위치될 수 있거나, 대상체(2) 상에 비스듬하게 광을 조사하기 위해 대상체(2)의 법선으로부터 미리 설정된 각도만큼 기울어진 지점에 위치될 수 있다. 복수의 광원(30) 각각의 배열에 따라, 대상체(2)에 조사되는 광의 각도가 상이할 수 있다. 실시예에서, 복수의 광원(30) 각각에 의해 조사되는 광은 다른 파장을 가질 수 있다. 실시예에서, 복수의 광원(30) 각각에 의해 조사되는 광은 상이한 조도를 가질 수 있다.
실시예에서, 전자 장치(1)는 복수의 카메라(40)를 포함할 수 있다. 복수의 카메라(40) 각각은 다르게 구성될 수 있다. 실시예에서, 복수의 카메라(40) 각각은 상이한 유형을 가질 수 있다. 예를 들어, 하나 이상의 카메라(40)는 CCD(Charged Coupled Device) 및 CMOS(Complementary Metal-Oxide-Semiconductor)와 같은 이미지 센서일 수 있다. 실시예에서, 복수의 카메라(40) 각각은 대상체로부터 반사된 광을 캡처할 수 있도록 대상체 근처에 다양한 유형으로 배열될 수 있다.
실시예에서, 메모리(20)는 하나 이상의 이미지 세트에 적용될 수 있는 복수의 이미지 프로세스를 저장할 수 있다.
실시예에서, 프로세서(10)는 공정의 제1 구성을 결정하기 위해, 하나 이상의 이미지 세트로부터, 제1 구성에 기초한 공정이 적용될 제1 이미지 세트를 결정할 수 있다.
실시예에서, 프로세서(10)는 공정의 제1 구성을 결정하기 위해, 복수의 이미지 프로세스로부터 제1 구성에 기초한 공정에 포함된 제1 이미지 세트를 결정할 수 있다.
실시예에서, 프로세서(10)는 공정의 제1 구성을 결정하기 위해, 결정된 제1 이미지 프로세스 세트에 포함된 이미지 프로세스들의 하나 이상의 파라미터의 제1 파라미터 값들을 결정할 수 있다.
실시예에서, 프로세서(10)는 공정의 제1 구성을 결정하기 위해, 결정된 제1 이미지 프로세스 세트에 포함된 이미지 프로세스들이 공정 동안 제1 이미지 세트에 적용되는 제1 시퀀스를 결정할 수 있다.
실시예에서, 프로세서(10)는 공정의 제1 구성에 따라 복수의 이미지 세트를 처리할 수 있다. 구체적으로, 프로세서(10)는 제1 시퀀스에 따라 파라미터들로서 제1 파라미터 값들을 갖는 제1 이미지 프로세스 세트를 적용함으로써, 제1 이미지 세트를 처리할 수 있다.
실시예에서, 프로세서(10)는 속성 데이터를 검사 데이터와 비교하고 검사 점수를 생성하기 위해 검사 데이터로부터 하나 이상의 플래그를 획득할 수 있다. 하나 이상의 플래그 각각은 대상체의 외부가 미리 설정된 외부 속성 또는 외부 결함을 갖는지를 나타낼 수 있다. 프로세서(10)는 하나 이상의 플래그 각각이, 메모리에 사전 저장된 속성 데이터에 의해 나타내어지는 결함에 관한 정보와 일치하는지를 결정할 수 있다. 이를 위해, 프로세서(10)는 속성 데이터를 하나 이상의 플래그 각각과 비교할 수 있다. 프로세서(10)는 속성 데이터와 일치하는 플래그 수 대 검사 데이터 내부의 플래그 수의 비를 나타내는 검사 저장소를 생성할 수 있다.
실시예에서, 프로세서(10)는 속성 데이터를 검사 데이터와 비교하고 검사 점수를 생성하기 위해 검사 데이터로부터 속성 위치 이미지를 획득할 수 있다. 속성 위치 이미지는 제1 영역에 관한 정보를 가질 수 있고, 제1 영역은 대상체의 외부 상의 적어도 하나의 미리 설정된 외부 속성 또는 외부 결함을 포함할 수 있다. 추가로, 프로세서(10)는 메모리에 사전 저장된 속성 데이터로부터 제2 영역을 획득할 수 있다. 제2 영역은 적어도 하나의 미리 설정된 외부 속성 또는 외부 결함을 포함할 수 있다. 즉, 제1 영역은 공정에 따른 검사 또는 측정의 결과로서 보이는 결함 영역일 수 있고, 제2 영역은 메모리에 사전 저장된 대상체 샘플의 실제 결함 영역일 수 있다. 프로세서(10)는 제1 영역과 제2 영역 사이의 중첩 영역을 도출할 수 있다. 프로세서(10)는 속성 데이터에 의해 나타내어지는 결함이 존재하는 제2 영역에 대한 중첩 영역의 비율을 나타내는 검사 점수를 생성할 수 있다.
실시예에서, 프로세서(10)는 공정의 제1 구성에 따라 도출된 검사 점수를 위에서 언급된 미리 설정된 임계 점수와 비교함으로써 공정의 제2 구성을 결정할 수 있다. 실시예에서, 프로세서(10)는 제1 구성에 기초한 검사 점수와 위에서 언급된 미리 설정된 임계 점수 사이의 차이에 기초하여 공정의 제2 구성을 결정할 수 있다. 구체적으로, 위에서 언급된 차이에 기초하여, 프로세서(10)는 복수의 이미지 세트로부터, 제2 구성에 기초한 공정이 적용되는 제2 이미지 세트를 결정할 수 있고; 프로세서(10)는 복수의 이미지 프로세스로부터 제2 구성에 기초한 공정에 포함된 제2 이미지 프로세스 세트를 결정할 수 있고; 프로세서(10)는 제2 이미지 프로세스 세트의 파라미터들의 제2 파라미터 값들을 결정할 수 있고; 프로세서(10)는 제2 이미지 프로세스 세트가 적용되는 제2 시퀀스를 결정할 수 있다. 본 개시에서 사용될 때, 제2 구성은 제1 구성에 기초한 공정에 후속하여, 복수의 이미지 세트를 처리하기 위한 공정에 적용되는 구성을 지칭할 수 있다.
실시예에서, 공정의 제2 구성을 결정하는 것과 관련하여, 프로세서(10)는 공정의 구성이 변경됨에 따라 검사 점수가 어떻게 변경되는지에 기초하여 제1 구성을 수정할 수 있고, 그에 의해 제2 구성을 결정할 수 있다. 프로세서(10)는 초기에 특정 구성에 기초한 공정을 복수의 이미지 세트에 적용하고, 그에 의해 검사 점수를 도출할 수 있다. 특정 구성에 기초한 공정에 후속하여, 프로세서(10)는 제1 구성에 기초한 공정을 복수의 이미지 세트에 적용할 수 있다.
프로세서(10)는 제1 구성에 기초하여 검사 점수를 도출할 수 있고, 그것을 제1 구성 이전에 적용된 특정 구성에 기초하여 검사 점수와 비교할 수 있다. 프로세서(10)는 이러한 비교 프로세스에서 검사 점수가 어떻게 변경되는지를 측정할 수 있고, 검사 점수의 변경에 기초하여 제1 구성을 수정할 수 있고, 그에 의해 제2 구성을 결정할 수 있다. 검사 점수의 변경은 2개의 검사 점수 사이의 차이를 포함할 수 있다.
실시예에서, 공정의 제2 구성을 결정하는 것과 관련하여, 프로세서(10)는 제2 구성 이전에 사용된 제1 구성에 기초하여 다양한 방법들로 제2 구성의 세부사항들을 결정할 수 있다. 예를 들어, 프로세서(10)는 다양한 방법들로, 제2 구성에 사용되는 이미지 세트, 이미지 프로세스 세트, 파라미터 값들, 및/또는 이미지 프로세스 세트의 시퀀스를 결정할 수 있다. 이를 위해, 시행 착오 방식, 기울기 상승/하강(gradient ascent/descent), 어닐링, 및/또는 Gibbs 측정(Gibbs measure)과 같은 방법들이 사용될 수 있다. 이러한 방법들은 아래에서 설명될 것이다.
실시예에서, 프로세서(10)는 제1 구성의 검사 점수에 기초하여 결정된 제2 구성에 기초하여 공정을 수행할 수 있다. 즉, 프로세서(10)는 제2 시퀀스에 따라 파라미터로서 제2 파라미터 값을 갖는 제2 이미지 프로세스 세트를 적용할 수 있고, 그에 의해 제2 이미지 세트를 처리할 수 있다.
실시예에서, 프로세서(10)는 이전 구성의 검사 점수에 기초하여 다음 공정에 사용될 구성을 결정하는 작업을 반복적으로 수행할 수 있다. 이러한 반복된 작업은 위에서 언급된 프로세스에 따라 구성이 최적 구성으로서 결정될 때까지 계속될 수 있다.
실시예에서, 특정 구성에 기초한 공정의 시퀀스는 적어도 하나의 서브시퀀스를 포함할 수 있다. 공정 동안의 미리 설정된 이미지 세트는 복수의 이미지 프로세스를 거칠 수 있다. 이러한 경우에서, 미리 설정된 이미지 세트는 시퀀스에 따라 복수의 이미지 프로세스 각각을 거칠 수 있다. 실시예에서, 이미지 세트는 공정의 중간 단계 동안 복수의 이미지 프로세스를 병렬 방식으로 거칠 수 있고; 위에서 설명된 바와 같이 분기하는 시퀀스의 부분은 분기 서브시퀀스로서 지칭될 수 있다. 실시예에서, 병렬 방식으로 이미지 프로세스들을 거친 이미지 세트는 단일 이미지 프로세스를 겪을 수 있고; 위에서 설명된 바와 같이 병합되는 시퀀스의 부분은 병합 서브시퀀스로서 지칭될 수 있다.
실시예에서, 전자 장치(1)는 통신 인터페이스(도 2에 도시되지 않음)를 더 포함할 수 있다. 통신 인터페이스는 전자 장치(1)와 서버 사이, 또는 전자 장치(1)와 다른 외부 전자 장치 사이에서 유선 또는 무선 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스는 LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), WiBro(Wireless Broadband), WiFi(wireless fidelity), 블루투스(Bluetooth), NFC(near field communication), GPS(Global Positioning System) 또는 GNSS(global navigation satellite system)와 같은 방식에 따라 무선 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스는 USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232) 또는 POTS(plain old telephone service)와 같은 방식에 따라 유선 통신을 수행할 수 있다.
실시예에서, 프로세서(10)는 서버로부터 정보를 획득하기 위해 통신 인터페이스를 제어할 수 있다. 서버로부터 획득된 정보는 메모리(20)에 저장될 수 있다. 실시예에서, 서버로부터 획득된 정보는 예를 들어 위에서 언급된 속성 데이터, 위에서 언급된 복수의 이미지 프로세스, 및/또는 위에서 언급된 하나 이상의 이미지 세트를 포함할 수 있다.
실시예에서, 위에서 언급된 공정 최적화 프로세스는 복수의 전자 장치에 의해 병렬 방식으로 수행될 수 있다. 구체적으로, 프로세서(10)에 의해 공정의 구성을 평가하고 공정의 다음 구성을 결정하는 프로세스는 복수의 전자 장치의 컴퓨팅 능력을 이용하도록 복수의 전자 장치에 의해 병렬 방식으로 수행될 수 있다. 이것은 공정의 최적 구성을 도출하는 프로세스가 빠른 방식으로 진행될 수 있게 할 수 있다. 병렬 방식으로 수행된 최적화 프로세스의 결과는 단일 전자 장치에 의해 집계 및 처리될 수 있고, 공정에 관한 최적 구성을 도출하기 위해 사용될 수 있다. 실시예에서, 병렬 방식으로 수행되는 공정 최적화 프로세스는 원격으로 설치된 복수의 전자 장치에 의해 수행될 수 있다. 즉, 병렬 방식으로 수행되는 공정 최적화 프로세스는 클라우드 컴퓨팅에 의해 수행될 수 있다.
실시예에서, 위에서 언급된 공정 최적화 프로세스는 데이터 보안을 개선 또는 보장하기 위해 전자 장치(1) 내부의 프로세서(10)에 의해 수행될 수 있다.
실시예에서, 프로세서(10)는 검사 데이터 및/또는 검사 점수에 기초하여 광원(30) 및/또는 카메라(40)를 제어할 수 있다.
실시예에서, 프로세서(10)가 미리 설정된 횟수만큼 공정의 최적 구성을 결정하기 위한 태스크를 반복했지만 최적 구성으로 간주되는 구성을 도출하지 못한 경우, 프로세서(10)는 추가의 이미지 세트를 획득하기 위해 광원(30) 및/또는 카메라(40)를 제어할 수 있다.
실시예에서, 프로세서(10)가 공정의 다음 구성의 세부 사항을 결정하는 프로세스에서 미리 설정된 이미지 데이터를 필요로 하는 경우, 프로세서(10)는 필요한 이미지를 획득하기 위해 광원(30) 및/또는 카메라(40)를 제어할 수 있다.
실시예에서, 프로세서(10)는 예를 들어 광원(30)의 배열, 카메라(40)의 배열, 광원(30)에 관련된 파라미터들, 카메라(40)에 관련된 파라미터들, 광의 파장, 광의 조도, 및/또는 광이 대상체에 조사되는 각도를 변경하기 위해 광원(30) 및/또는 카메라(40)를 제어할 수 있다.
실시예에서, 전자 장치(1)는 입력 디바이스(도 2에 도시되지 않음)를 더 포함할 수 있다. 입력 디바이스는 외부로부터 전자 장치(1)의 적어도 하나의 구성요소에 전달될 데이터를 수신하기 위한 디바이스일 수 있다. 예를 들어, 입력 디바이스는 마우스, 키보드, 및/또는 터치패드를 포함할 수 있다.
실시예에서, 전자 장치(1)는 출력 디바이스(도 2에 도시되지 않음)를 더 포함할 수 있다. 출력 디바이스는 전자 장치(1)의 검사 결과 및 그것의 공정 조건과 같은 다양한 유형의 데이터를 시각적 유형으로 사용자에게 제공하는 디바이스일 수 있다. 예를 들어, 출력 디바이스는 디스플레이, 프로젝터, 및/또는 홀로그램을 포함할 수 있다.
실시예에서, 복수의 상이한 공정이 사용될 수 있다. 대상체의 각각의 부분들의 속성들에 따라 대상체의 각각의 부분들의 촬영 이미지들로부터 결함을 감지하기 위해 상이한 공정들을 적용할 필요가 있을 수 있다. 이러한 경우에서, 대상체의 각각의 부분들의 이미지들에 적용되는 공정들은 상이한 구성들을 가질 필요가 있을 수 있다. 따라서, 전자 장치(1)는 대상체의 각각의 부분들의 이미지들에 따라 독립적으로 최적화 프로세스를 수행할 수 있다. 실시예에서, 대상체의 각각의 ROI에 대해 별개의 공정 또는 별개의 구성이 적용될 수 있다. 따라서, 전자 장치(1)는 각각의 ROI에 대하여 독립적으로 최적화 프로세스를 수행할 수 있다. 실시예에서, 각각의 최적화 프로세스들을 거친 공정들로부터 최적 성능을 갖는 공정이 선택될 수 있다.
실시예에서, 전자 장치(1)는 디지털 컴퓨터 시스템에 의해 구현될 수 있다.
실시예에서, 프로세서(10)는 기울기 하강 방법(후술함)에 따라 최적 구성을 도출할 수 있다.
실시예에서, 프로세서(10)는 시뮬레이션된 어닐링 방법(후술함)에 따라 최적 구성을 도출할 수 있다.
실시예에서, 프로세서(10)에 의해 수행되는 계산의 적어도 일부는 GPU(Graphical Processing Unit)에 의해 수행될 수 있다. 즉, 프로세서(10)는 GPU에 의해 적어도 부분적으로 또는 전체적으로 구현될 수 있다.
본 개시에 따른 전자 장치(1)의 다양한 실시예들은 서로 결합될 수 있다. 각각의 실시예들은 임의의 순열로 결합될 수 있으며, 이러한 결합에 의해 만들어진 전자 장치(1)의 임의의 실시예는 또한 본 개시의 범위에 속한다. 추가로, 위에서 개시된 본 개시에 따른 전자 장치(1)의 내부/외부 구성요소들은 실시예에 따라 추가, 수정, 변경 또는 삭제될 수 있다. 추가로, 위에서 개시된 전자 장치(1)의 내부/외부 구성요소들은 하드웨어 컴포넌트들로서 구현될 수 있다.
도 3은 본 개시의 실시예에 따라 이미지를 처리하기 위한 공정을 도시한다. 위에서 설명된 바와 같이, 공정은 대상체의 결함을 검사하기 위해 대상체의 이미지 세트를 처리하고, 결함에 관한 측정 데이터(즉, 검사 데이터)를 획득하는 프로세스를 지칭할 수 있다. 도시된 실시예에서, 본 개시에 따른 공정은 미리 설정된 구성에 기초한 공정을 지칭할 수 있다. 이러한 구성에 따르면, 공정은 복수의 이미지 세트(100)에 적용될 미리 설정된 이미지 프로세스들(210, 220 및 230)을 포함할 수 있다.
초기에, 프로세서(10)는 복수의 이미지 세트(100)를 획득할 수 있다. 프로세서(10)는 미리 설정된 구성에 기초한 공정의 이미지 프로세스를 복수의 이미지 세트에 연속적으로 적용할 수 있다. 이러한 미리 설정된 구성에서, 공정은 3개의 이미지 프로세스(210, 220 및 230)를 포함할 수 있다. 실시예에서, 이미지 프로세스(210)는 복수의 이미지 세트(100) 중에서, 대응하는 구성에 기초한 공정이 적용될 미리 설정된 이미지 세트를 선택하기 위한 선택 프로세스에 대응할 수 있다. 선택 프로세스는 입력된 복수의 이미지 세트(100)로부터, 공정의 대응하는 구성에 따라, 미리 설정된 이미지 세트(110)를 선택할 수 있고, 선택된 이미지 세트를 출력할 수 있다.
프로세서(10)는 출력된 미리 설정된 이미지 세트(110)에 다음 이미지 프로세스들(220, 230)을 연속적으로 적용하고, 그에 의해 이미지 세트를 처리할 수 있다. 실시예에서, 도시된 바와 같이, 이미지 세트들이 각각의 이미지 프로세스들에 따라 처리됨에 따라 이미지 세트들의 수가 감소될 수 있다. 이러한 공정에서 사용되는 이미지 프로세스들은 위에서 언급된 미리 설정된 구성에 따라 복수의 이미지 프로세스로부터 선택된 것들일 수 있다. 추가로, 이러한 공정에서 사용되는 이미지 프로세스들의 적용 시퀀스는 위에서 언급된 미리 설정된 구성에 따라 결정될 수 있다.
프로세서(10)는 공정의 각각의 이미지 프로세스들을 거친 이미지 세트들로부터 검사 데이터(300)를 추출할 수 있다. 검사 데이터(300)는 위에서 언급된 바와 같이 대상체의 이미지 세트들로부터 획득된 대상체의 결함에 관한 정보일 수 있다.
도시된 실시예에서, 프로세서(10)는 검사 데이터가 대상체의 결함을 정확하게 기술하고 있는지를 평가하지 않을 수 있거나, 평가 결과에 따라 도시된 공정의 구성을 수정하지 않을 수 있다. 그러한 실시예에서, 예를 들어, 사람은 검사 데이터의 정확성을 평가하기 위해 검사 데이터를 속성 데이터와 비교할 수 있다.
도 4는 본 개시의 실시예에 따라 이미지를 처리하기 위한 공정을 최적화하는 프로세스를 도시한다. 위에서 설명된 바와 같이, 본 개시에 따른 전자 장치(1) 또는 프로세서(10)는 대상체의 결함을 검사하기 위한 공정을 최적화할 수 있다. 최적화 프로세스를 위해, 프로세서(10)는 대상체의 이미지 세트를 처리하기 위한 공정의 구성을 변경하면서 최적 구성을 찾는 작업을 수행할 수 있다. 도시된 실시예는 위에서 설명된 실시예와 비교하여 공정의 구성을 최적화하기 위한 추가의 공정들(250, 260, 270 및 280)을 갖는다.
프로세서(10)는 현재 구성에 기초한 공정에 기인하는 250개의 검사 데이터(300)를 평가할 수 있다. 프로세서(10)는 이러한 평가 프로세스(250)에서 검사 데이터(300)와 속성 데이터(400)를 비교할 수 있다. 비교 결과에 따라, 프로세서(10)는 검사 데이터(300)의 정확도를 나타내는 검사 점수(500)를 생성할 수 있다.
검사 점수(500)는 현재 구성에 기초한 공정이 대상체의 결함을 얼마나 정확하게 감지하는지의 수치 표현일 수 있다. 위에서 언급된 바와 같이, 검사 데이터(300)가 대상체가 결함을 갖는지를 나타내는 플래그인 경우, 프로세서(10)는 검사 데이터의 플래그 수에 대한, 대상체가 결함을 갖는지 여부를 속성 데이터와 동일하게 나타내는 플래그 수의 비를 검사 점수로서 결정할 수 있다. 위에서 설명된 바와 같이, 검사 데이터(300)가 속성 위치 이미지일 때, 프로세서(10)는 속성 위치 이미지의 영역에 대한, 속성 데이터에 의해 나타난 결함이 존재하는 중첩 영역의 비를 검사 점수로서 결정할 수 있다.
프로세서(10)는 검사 점수(500)를 미리 정의되어 있는 미리 설정된 임계 점수와 비교할 수 있고, 비교 결과에 따라 현재 구성을 메모리(20)에 저장할지 또는 새로운 구성을 결정(260)할 것인지를 결정할 수 있다. 프로세서(10)에 의한 검사 데이터 평가 프로세스(250)는 평가기 모듈에 의해 수행될 수 있다. 본 개시에서 사용될 때, "모듈"은 소프트웨어 또는 펌웨어로서 구현된 로직, 논리 블록, 컴포넌트 또는 회로를 지칭할 수 있다. 모듈은 일체형으로 구성된 컴포넌트, 하나 이상의 기능을 수행하는 최소 유닛 또는 그 일부를 구성할 수 있다. 예를 들어, 모듈은 ASIC(application-specific integrated circuit)에 의해 구성될 수 있다. 실시예에서, 평가기 모듈의 공정은 위에서 언급된 프로세서(10)에 의해 수행될 수 있다.
프로세서(10)는 다양한 데이터에 기초하여 현재 구성(예를 들어, 제1 구성) 이후에 적용될 공정의 구성(예를 들어, 제2 구성)을 결정할 수 있다(270). 예를 들어, 프로세서(10)는 현재 구성에 기초한 검사 점수, 및/또는 구성들에 기초한 검사 점수의 변경 경향을 고려하여 공정의 다음 구성을 결정할 수 있다.
위에서 설명된 바와 같이, 프로세서(10)에 의한 공정의 구성을 결정하는 것은 다음을 포함할 수 있다: 복수의 이미지 세트로부터, 해당 구성에 기초한 공정이 적용될 이미지 세트(예를 들어, 제2 이미지 세트)를 결정(선택)하는 것; 복수의 이미지 프로세스로부터 이미지 세트에 적용될 이미지 프로세스 세트(예를 들어, 제2 이미지 프로세스 세트)를 결정(선택)하는 것; 결정된 이미지 프로세스 세트에 적용될 시퀀스(예를 들어, 제2 시퀀스)를 결정하는 것; 및 결정된 이미지 프로세스 세트에 사용될 파라미터 값(예를 들어, 제2 파라미터 값)을 결정하는 것.
프로세서(10)는 결정된 다음 구성(예를 들어, 제2 구성)에 따라 복수의 이미지 세트(100)에 공정을 적용할 수 있다(280). 즉, 프로세서(10)는 제2 시퀀스에 따라, 파라미터로서 제2 파라미터 값을 갖는 제2 이미지 프로세스 세트를 제2 이미지 세트에 적용할 수 있다. 다음 구성(예를 들어, 제2 구성)에 기초한 공정으로부터 획득된 검사 데이터를 참조하여, 프로세서(10)는 다음 구성(예를 들어, 제2 구성)을 다시 최적 구성으로서 저장할지 또는 새로운 구성(예를 들어, 제3 구성)을 결정할지를 결정할 수 있다.
프로세서(10)에 의한 공정 구성을 최적화하는 프로세스(270)는 최적화기 모듈에 의해 수행될 수 있다. 모듈들은 위에서 설명되었다. 실시예에서, 최적화기 모듈에 의한 공정은 위에서 언급된 프로세서(10)에 의해 수행될 수 있다.
실시예에서, 프로세서(10)는 또한 공정 구성에 따라 검사 데이터(300)를 계산하는 방식을 변경할 수 있다(290). 예를 들어, 프로세서(10)는 공정 구성에 의해 이루어진 정의에 따라 검사 점수를 계산하는 것과 관련하여 별도의 가중치를 할당할 수 있거나, 검사 점수를 계산할 때 특정 데이터를 배제할 수 있거나, 속성 데이터와 검사 데이터를 비교할 때 상이한 표준을 사용할 수 있다.
실시예에서, 각각의 이미지 프로세스는 또한 FPGA(Field Programmable Gate Arrays)와 같은 하드웨어 컴포넌트에 의해 구현될 수 있다. 실시예에서, 각각의 이미지 프로세스는 또한 별개의 독립적인 전자 장치(예를 들어, 컴퓨터)에 의해 수행될 수 있다. 실시예에서, 각각의 이미지 프로세스에 의한 처리 전/후의 이미지 세트들은 각각의 이미지 프로세스를 수행하는 개별 전자 장치들 사이에서 다양한 유형들(예를 들어, 이더넷 또는 WiFi)로 전송될 수 있다. 실시예에서, 공정의 각각의 구성요소들[예를 들어, 이미지 프로세스, 평가 프로세스(250) 및/또는 최적화 프로세스(270)]는 원격 서버에 의해 구현될 수 있고, 인터넷과 같은 유형에 의해 서로 통신할 수 있다. 최적 구성은 각각의 전자 장치에 의해 수행되는 최적화 프로세스에 따라 도출된 구성들로부터 선택될 수 있으며, 이러한 최적 구성은 다음 최적화 프로세스의 초기 값으로서 사용될 수 있다.
실시예에서, 각각의 이미지 프로세스는 다양한 이미지 처리 및/또는 데이터 선택 처리일 수 있다. 예를 들어, 각각의 이미지 프로세스는 데이터 선택 연산자들, 형태학적 연산자(morphological operator), 요소별 룩업 테이블들(elementwise lookup tables), 컨볼루션 연산자들, 히스토그램 계산 및 역 투영 연산자들(backprojection operators), 고역 통과/저역 통과/대역 통과 필터들, 임계값 연산자들, 잡음 감소 알고리즘들, 복합 연산자들(complex operators), 픽셀 레벨 분류기들, 블롭 검출(blob detection), 라벨링 알고리즘들, 윤곽 검출, 형상 추정 알고리즘들, 및/또는 픽셀별 산술 연산자들 중 하나 또는 이들의 임의의 조합일 수 있다. 본 개시에 따른 이미지 프로세스는 위에서 언급된 화상 프로세스들에 제한되지 않는다.
데이터 선택 연산자는 복수의 이미지로부터 미리 설정된 이미지들을 선택하기 위한 이미지 프로세스를 구성할 수 있다. 데이터 선택 연산자는 위에서 언급된 선택 프로세스에 대응할 수 있다. 실시예에서, 데이터 선택 연산자는 복수의 이미지 세트로부터 미리 설정된 이미지 세트를 선택할 수 있다. 대상체의 영역의 복수의 촬영된 이미지를 갖는 컨테이너를 가정하면, 데이터 선택 연산자는 컨테이너로부터 미리 설정된 이미지 서브세트를 선택할 수 있고, 선택된 서브세트를 컨테이너에 반환할 수 있다. 실시예에서, 이 컨테이너는 다양한 세팅들 하에서 획득된 대상체의 복수의 이미지를 포함할 수 있다. 이 컨테이너는 위에서 언급된 메모리(20)에 대응할 수 있다. 실시예에서, 데이터 선택 연산자는 적어도 하나의 파라미터를 포함할 수 있다. 각각의 파라미터는 입력된 이미지들로부터 어떤 이미지가 선택될지를 결정하기 위해 사용될 수 있다. 실시예에서, 이러한 파라미터는 이진 파라미터 일 수 있다. 실시예에서, 데이터 선택 연산자는 출력된 이미지 세트를 감소시키기 위해, 입력된 이미지 세트에 추가 처리를 적용할 수 있다. 예를 들어, 데이터 선택 연산자는 입력된 이미지 세트의 가중 평균을 도출할 수 있고, 도출된 평균 값을 출력할 수 있다. 예를 들어, 데이터 선택 연산자는 가중된 평균에 기초하여 이미지들의 조합에 필요한 가중치를 나타내기 위해 부동 소수점 유형의 파라미터들의 세트를 가질 수 있다.
형태학적 연산자는 교집합, 합집합, 내포, 또는 여집합(complement)과 같은 연산자를 사용하여 구조화 구성요소와 함께 이진 이미지를 주로 처리하기 위한 공정을 수행할 수 있다. 본 개시에서 사용될 때, 이진 이미지는 2개의 구별 가능한 픽셀 값에 의해서만 표현된 이미지를 지칭할 수 있다. 형태학적 연산자는 구조화 구성요소에 의해 나타내어진 대상체의 형상의 속성에 기초하여 이진 이미지 상에 나타나는 대상체를 처리하는 이미지 프로세스를 구성할 수 있다. 실시예에 따르면, 형태학적 연산자는 이미지 영역을 감소시키는 부식(erosion), 이미지 영역을 증가시키는 팽창(dilation), 또는 침식과 팽창 사이의 차이인 형태학적 기울기를 사용하는 방법과 같은 처리를 포함할 수 있다. 형태학적 연산자는 또한 그레이스케일 이미지를 위해 사용될 수 있고, 예를 들어 형태학적 연산자의 구조화 구성요소에 의해 나타내어진 대상체의 반경 및/또는 그 형상을 파라미터들로서 가질 수 있다.
요소별 룩업 테이블 이미지 프로세스는 룩업 테이블에서 이루어진 정의에 따라 이미지의 각각의 픽셀의 값을 다양화하는 이미지 처리일 수 있다. 요소별 룩업 테이블 이미지 프로세스는 이미지의 대비를 변경할 수 있다. 요소별 룩업 테이블 이미지 프로세스의 파라미터는 룩업 테이블에 의해 정의된 함수의 파라미터일 수 있다. 룩업 테이블들의 값들은 적어도 하나의 곡률 파라미터에 기초한 곡선에 의해 표현될 수 있다.
컨볼루션 연산자들은 컨볼루션 필터를 입력 이미지에 적용하는 이미지 프로세스를 구성할 수 있다. 컨볼루션 연산자들은 예를 들어 블러 연산자들, 샤프닝 및/또는 대역 통과 연산자들일 수 있다. 컨볼루션 연산자들의 파라미터들은 이미지 컨볼루션의 커널 크기(반경) 및/또는 사용된 컨볼루션 필터의 강도를 포함할 수 있다.
히스토그램 역투영 연산자들은 히스토그램 상의 픽셀 수의 비에 따라 픽셀들을 교체함으로써 이미지를 변경하는 이미지 프로세스를 구성할 수 있다. 이러한 경우에서, 히스토그램은 전체 이미지 또는 전체 이미지의 일부 영역에 해당하는 픽셀들에 대해 계산될 수 있다. 히스토그램 역투영 연산자들은 히스토그램이 계산되는 이미지의 크기 및 형상, 히스토그램의 빈(bin)(간격), 및 그와 유사한 것을 파라미터들로서 가질 수 있다.
고역 통과/저역 통과/대역 통과 필터들은 주파수 영역에서 입력된 이미지를 필터링하는 이미지 프로세스를 구성할 수 있다. 고역 통과/저역 통과/대역 통과 필터들은 그 순서대로, 주파수 영역에서 표현된 이미지의 고주파 영역, 저주파 영역 및 특정 주파수 영역을 필터링할 수 있다. 필터링된 주파수 영역이 사라진 이미지는 다시 시간 영역으로 변환되어 출력될 수 있다. 고역 통과/저역 통과/대역 통과 필터들은 필터링의 표준이 되는 주파수 값들을 파라미터들로서 가질 수 있다.
임계값 연산자들은 다수의 레벨에서 양자화된 이미지를 2개의 레벨에서 양자화된 이미지로 변환하는 이미지 프로세스를 구성할 수 있다. 즉, 임계값 연산자들은 상수 값과의 비교에 기초하여 새로운 픽셀 값을 할당함으로써 결과 값을 획득할 수 있다. 이 변수는 임계값이라고 지칭될 수 있다. 이 변수는 전체 이미지에 걸쳐 동일하게 적용될 수 있거나, 이미지의 각각의 픽셀 주변부의 상대적인 속성에 따라 적응적으로 변경될 수 있다. 임계값 연산자들은 이러한 변수를 파라미터로서 가질 수 있다. 이러한 변수의 값이 주어질 수 있고; 대안적으로, 그것은 Otsu 임계값 알고리즘의 경우에서와 같이 이미지 히스토그램을 이상적으로 분할하기 위해 동적으로 계산될 수 있다. 임계값 연산자들은 적응적으로 변경되는 변수를 계산할 때 고려되는 픽셀 주변 영역의 크기 및 형상을 파라미터들로서 더 포함할 수 있다.
잡음 감소 알고리즘들은 열 잡음에 의해 주로 생성되는 작은 지점들을 제거하기 위한 이미지 프로세스를 구성할 수 있다. 실시예에서, 잡음 감소 알고리즘들은 스펙클들(speckles)을 제거하기 위한 중간값 필터(median filter)를 구성할 수 있다. 중간값 필터는 주어진 픽셀 값을 대응하는 픽셀의 주변부에서의 픽셀들의 중간값으로 치환할 수 있다. 잡음 감소 알고리즘들은 이진 이미지에 적용될 수 있다. 이미지의 각각의 지점은 개별적으로 분석될 수 있고, 각각의 속성에 따라 필터링될 수 있다. 잡음 감소 알고리즘들은 중간 값이 계산되는 픽셀 주변 영역의 크기 및 형상을 파라미터들로서 가질 수 있다. 추가로, 잡음 감소 알고리즘들은 제거될 지점들 또는 블롭들의 참조 크기 값을 파라미터들로서 가질 수 있다.
복합 연산자들은 인공 신경망에 의해 구현되는 이미지 프로세스를 구성할 수 있다. 복합 연산자들은 인공 신경망에 기초한 훈련을 사용하여 그들의 파라미터들을 계속하여 최적화할 수 있다. 그러한 훈련은 이미지 프로세스 내부에서 수행될 수 있거나, 입력된 외부 파라미터에 기초하여 수행될 수 있다. 예를 들어, 인공 신경망들에 기초한 복합 연산자들은 이미지의 특정 패턴을 감지하기에 최적화되도록 훈련될 수 있다. 이러한 경우에서, 인공 신경망들에 기초한 복합 연산자들은 입력된 이미지를 수신할 수 있으며, 예를 들어 특정 패턴이 전체 이미지에 걸쳐 감지되는지 또는 히트맵 형태(heat-map type)로 감지되는지를 출력할 수 있다.
픽셀 레벨 분류기들은 픽셀 레벨들을 정의하고 각각의 픽셀 레벨에 대하여 입력 이미지의 픽셀들을 분류하는 이미지 프로세스를 구성할 수 있다. 픽셀 레벨 분류기들은 인공 신경망들을 사용하는 이미지 프로세스와 유사한 방식으로 이용될 수 있다. 예를 들어, 픽셀 레벨 분류기들은 분류 트리에 따라 픽셀들을 구별하는 트리 분류기들일 수 있고, 트리 분류기들은 이미지의 주어진 영역이 결함을 포함하는지에 관한 추정치를 획득하기 위해 사용될 수 있다. 픽셀 레벨 분류기들은 대응하는 이미지 프로세스를 전체 이미지에 적용한 결과의 평가 값을 히트맵으로서 출력할 수 있다. 픽셀 레벨 분류기들은 적용 대상 픽셀들을 결정하는 윈도우의 정확도, 감도 및/또는 크기 및 유형을 파라미터들로서 가질 수 있다.
블롭 검출 및 라벨링 알고리즘들은 입력된 이진 이미지로부터 블롭들을 감지하고 대응하는 블롭을 나타내는 연속된 숫자들과 함께 블롭들을 표현하는 이미지를 출력하는 이미지 프로세스를 구성할 수 있다. 실시예에서, 입력된 이진 이미지는 연결되지 않은 복수의 블롭을 포함할 수 있다. 출력된 이미지는 이미지의 각각의 블롭들이 구별된 정수 픽셀 값들에 의해 나타나도록 성형될 수 있다. 블롭 검출 및 라벨링 알고리즘들은 발견될 블롭들의 속성을 파라미터들로서 가질 수 있다. 예를 들어, 파라미터들은 블롭들의 크기, 면적 및/또는 볼록함(convexity)을 포함할 수 있다.
윤곽 검출 및 형상 추정 알고리즘들은 블롭 검출의 경우에서와 같이 특정 형상 또는 윤곽을 분석하고 출력하는 이미지 프로세스를 구성할 수 있다. 이러한 이미지 프로세스는 입력된 이미지의 특정 형상 또는 윤곽을 분석할 수 있고, 입력 이미지로부터 볼록하지 않은 모든 블롭을 삭제할 수 있다.
픽셀별 산술 연산자들은 입력 이미지의 각각의 픽셀에 관해 산술 연산을 수행하고 결과 값을 출력하는 이미지 프로세스를 구성할 수 있다. 그러한 공정에 대해 논리 연산자가 사용될 수 있다. 실시예에서, 픽셀별 산술 연산자들은 상이한 이미지들 사이에서 수행될 수 있다. 실시예에서, 픽셀별 산술 연산자들은 별도의 메타데이터를 사용하여 각각의 픽셀들을 처리할 수 있다. 예를 들어, 픽셀별 산술 연산자들은 메타데이터에 의해 정의된 특정 영역에 포함되지 않은 모든 픽셀을 0으로 설정할 수 있다.
도 5는 본 개시의 실시예에 따라 프로세서에 의해 검사 데이터를 평가하기 위한 방법을 도시한다. 위에서 설명된 바와 같이, 프로세서(10)는 미리 설정된 구성에 기초한 공정의 검사 데이터를 속성 데이터와 비교하여 검사 점수를 생성할 수 있다. 프로세서(10)는 검사 데이터를 평가함으로써 검사 점수를 생성하기 위해 다양한 방법들을 사용할 수 있다.
실시예에서, 검사 데이터가 플래그를 포함하는 경우, 프로세서(10)는 플래그를 사용하여 검사 점수를 생성할 수 있다.
초기에, 대상체의 미리 설정된 부분의 촬영된 이미지는 특정 구성에 기초한 공정에 의해 처리될 수 있다. 처리의 결과로서 획득된 검사 데이터는 미리 설정된 부분이 결함을 포함하는지를 나타내는 플래그를 포함할 수 있다.
미리 설정된 부분이 실제 결함을 갖고, 검사 데이터의 플래그가 결함이 없음을 나타내는 것으로 가정하면, 즉, 특정 구성에 기초한 공정이 결함을 검출하지 못한 경우, 프로세서(10)는 플래그를 FN(False Negative)으로 분류할 수 있다. 미리 설정된 부분이 실제 결함을 갖고, 검사 데이터의 플래그가 결함이 있음을 나타내는 것으로 가정하면, 즉, 특정 구성에 기초한 공정이 결함을 성공적으로 검출한 경우, 프로세서(10)는 플래그를 TP(True Positive)로 분류할 수 있다. 미리 설정된 부분이 실제 결함을 갖지 않고, 검사 데이터의 플래그가 결함이 있음을 나타내는 것으로 가정하면, 즉, 특정 구성에 기초한 공정이 결함을 잘못 검출한 경우, 프로세서(10)는 플래그를 FP(False Positive)로 분류할 수 있다. 미리 설정된 부분이 실제 결함을 갖지 않고, 검사 데이터의 플래그가 결함이 없음을 나타내는 것으로 가정하면, 즉, 특정 구성에 기초한 공정이 공정에 결함이 없음을 성공적으로 확인한 경우, 프로세서(10)는 플래그를 TN(True Negative)으로 분류할 수 있다. 이와 관련하여, 프로세서(10)는 속성 데이터(400)를 참조하여 대상체의 미리 설정된 부분이 실제 결함을 갖는지를 확인할 수 있다.
프로세서(10)는 도시된 수학식(5010)의 경우에서와 같이 각각의 분류된 플래그들을 계산할 수 있다. 도시된 수학식에서, TP, TN, FP 및 FN은 각각 TP, TN, FP 및 FN으로 분류된 플래그들의 수를 나타낼 수 있다. 수학식(5010)의 결과 값(S)은 위에서 언급된 검사 점수의 실시예일 수 있다. 결과 값(S)은 검사 데이터가 갖는 하나 이상의 플래그 중 속성 데이터의 내용과 일치하는 플래그들의 비를 나타낼 수 있다.
검사 데이터가 속성 위치 이미지를 포함하는 경우, 프로세서(10)는 속성 위치 이미지를 이용하여 검사 점수를 생성할 수 있다. 대상체의 미리 설정된 부분의 촬영 이미지는 특정 구성에 기초한 공정에 의해 처리될 수 있고, 속성 위치 이미지를 포함하는 검사 데이터가 획득될 수 있다. 도시된 속성 위치 이미지의 실시예(5030)에서, 대상체의 결함 부분은 이미지 상에 흰색 선으로 나타난다. 추가로, 도시된 속성 데이터의 실시예(5030)에서, 대상체 상에 실제로 존재하는 결함 부분이 이미지 상에 흰색 선으로 나타날 수 있다. 실시예에서, 속성 위치 이미지 및 속성 데이터에 의해 나타내어진 결함 부분들은 미리 설정된 영역들, 예를 들어 흰색으로 표시된 영역들로서 나타날 수 있다.
프로세서(10)는 속성 위치 이미지(5030)에 의해 나타내어지는 결함이 나타나는 영역과 속성 데이터(5020)에 의해 나타내어지는 결함이 나타나는 영역 사이에서 중첩 영역을 도출할 수 있다. 프로세서(10)는 중첩 영역에 기초하여 검사 점수를 생성할 수 있다.
실시예에서, 검사 점수는 속성 데이터에 의해 나타내어지는 결함이 존재하는 영역에 대한 중첩 영역의 비율로서 결정될 수 있다.
실시예에서, 프로세서(10)는 검사 점수를 결정하는 것과 관련하여 IOU(intersection-over-union) 측정을 사용할 수 있다. 검사 데이터의 속성 위치 이미지에 의해 나타내어지는 결함을 갖는 영역은 H로 라벨링될 수 있고, 속성 데이터에 의해 나타내어지는 결함을 갖는 영역은 L로 라벨링될 수 있다. 각각의 영역은 픽셀 번호로 표현될 수 있다. 이러한 경우에서, IOU 측정에 의해 도출된 검사 점수는 도시된 수학식(5040)에서와 같이 표현될 수 있다. 이 검사 점수는 0.0과 1.0 사이의 값을 가질 수 있다. 도시된 수학식에서, 분자는 H 및 L 영역 둘 다에 속하는 픽셀의 수를 나타낼 수 있다. 즉, 분자는 픽셀별 "and" 연산자를 두 영역 모두에 적용한 결과와 동일할 수 있다. 도시된 수학식에서, 분모는 영역 H 및 L 중 하나에 속하는 픽셀의 수를 나타낼 수 있다. 즉, 분모는 픽셀별 "or" 연산자를 두 영역 모두에 적용한 결과와 동일할 수 있다.
실시예에서, IOU 측정은 대상체의 각각의 부분의 각각의 이미지에 대해 수행될 수 있고, 결과 값은 전체 부분에 대해 집계될 수 있다. 실시예에서, 대상체의 전체 부분의 이미지가 도출될 수 있고, 전체 부분의 이미지에 대해 IOU 측정이 수행될 수 있다.
프로세서(10)에 의해 검사 데이터를 평가하고 검사 점수를 생성하기 위한 방법은 위에서 언급된 방법들에 제한되지 않는다.
도 6은 본 개시의 실시예에 따라 공정의 새로운 구성을 결정하는 프로세스 동안 프로세서에 의해 파라미터 값을 결정하기 위한 방법을 도시한다. 위에서 언급된 바와 같이, 프로세서(10)는 대상체의 결함을 검사하기 위한 공정의 최적 구성을 찾기 위해 현재 구성 이후에 적용될 구성을 결정할 수 있다. 다음 구성을 결정하는 프로세스에서, 프로세서(10)는 다음 구성에 기초하여 공정의 이미지 프로세스들에 적용될 파라미터들의 파라미터 값들을 결정할 수 있다. 프로세서(10)는 적절한 파라미터 값들을 결정함으로써, 공정이 대상체의 결함을 가장 정확하게 검사할 수 있게 하는 최적 구성을 찾을 수 있다. 즉, 프로세서(10)는 위에서 언급된 검사 데이터를 최대로 하는 파라미터 값들을 찾을 수 있다. 이를 위해, 프로세서(10)는 다양한 방법들을 사용하여 파라미터 값들을 결정하는 것을 계속할 수 있다.
파라미터 값들을 결정하기 위한 방법들은 크게 이산 방법들(discrete methods) 및 연속 방법들(continuous methods)을 포함할 수 있다. 이산 방법을 따를 때, 프로세서(10)는 미리 설정된 기울기로 파라미터 값을 연속적으로 변경시키면서 최적의 결과를 제공하는 파라미터 값을 계속하여 찾을 수 있다. 복수의 파라미터들 중 부분적인 서브세트가 이산형 파라미터(discrete-type parameter)에 대응하는 경우, 최적화 프로세스의 적어도 일부는 이산 방법에 기초하여 최적화 프로세스를 거쳐야 할 수 있다. 이산 방법의 경우, 최적화에 이상적인 기울기 값을 효율적으로 추정하거나 결정하기가 어려울 수 있다. 연속 방법을 따르는 경우, 프로세서(10)는 파라미터 값을 연속적으로 변경하면서 최적의 결과를 제공하는 파라미터를 계속하여 찾을 수 있다. 이산 방법이 사용되는지 또는 연속 방법이 사용되는지에 관계없이 최적의 파라미터 값을 찾는 것이 가능할 수 있다.
프로세서(10)는 최적의 파라미터를 찾기 위해 시행착오 방식을 이용할 수 있다. 이러한 시행착오 방법에 따르면, 프로세서(10)는 파라미터 값을 무작위로 결정하고, 그 값을 이용하여 공정을 수행함으로써 도출된 검사 데이터(300)를 평가할 수 있으며, 그에 의해 최적의 파라미터 값을 연속하여 찾을 수 있다. 검사 데이터(300)를 평가한 결과, 즉 검사 점수(500)에 따라, 프로세스 또는 10은 새로운 파라미터 값을 이용하여 공정을 다시 수행할 수 있다. 프로세서(10)는 시행착오 방법을 반복적으로 수행할 수 있다.
미리 설정된 파라미터에 대하여 특정 파라미터 값을 구성한 후에 공정을 수행한 결과로서 보다 정확한 결함 검사 결과가 도출될 때, 그 값은 대응하는 파라미터의 최적 값으로서 결정될 수 있고, 최적화는 다른 파라미터 값과 관련하여 시행 착오 방식을 통해 수행될 수 있다. 이러한 경우에서, 대안적으로, 프로세서(10)는 더 정확한 결함 검사 결과의 도출을 가능하게 하는 특정 파라미터 값, 및 그것보다 먼저 적용된 파라미터 값을 분석할 수 있고, 그에 의해 경향을 도출하고, 경향에 기초하여 대응하는 파라미터에 적용될 다음 파라미터 값을 결정할 수 있다. 본 개시에서 사용될 때, 경향은 검사 점수(500)가 파라미터 값의 변경 방향 및 그 변경의 크기와 관련하여 어떻게 변경되는지를 나타낼 수 있다. 실시예에서, 미리 설정된 파라미터에 대해 특정 값을 구성한 후 공정을 수행한 결과로서, 더 부정확한 결함 검사 결과가 도출될 때, 프로세서(10)는 대응하는 값을 폐기할 수 있고, 이전 구성에 기초한 파라미터 값으로 되돌릴 수 있다.
실시예에서, 프로세서(10)는 미리 설정된 파라미터에 적용될 파라미터 값을 연속적으로 변경하면서 최적의 파라미터 값을 찾을 수 있다. 이산 방법이 사용될 때, 프로세서(10)는 파라미터 값을 미리 설정된 기울기로 변경할 수 있고; 연속 방법이 사용될 때, 프로세서(10)는 파라미터 값을 연속적으로 변경할 수 있다. 추가로, 파라미터의 최적 파라미터 값이 결정될 때, 프로세서(10)는 다음 파라미터의 최적 파라미터를 차례로 결정하는 것을 계속할 수 있다.
실시예에서, 프로세서(10)는 모든 파라미터 중 복수의 파라미터를 포함하는 파라미터 서브세트를 결정할 수 있고, 파라미터 서브세트에 적용될 파라미터 값을 한 번에 연속적으로 변경하면서 최적의 파라미터 값을 찾을 수 있다. 초기에, 프로세서(10)는 미리 설정된 파라미터 값들을 파라미터 서브세트에 적용할 수 있다. 프로세서(10)는 미리 설정된 파라미터 값들이 적용된 공정을 수행할 수 있고, 결과적인 검사 점수를 획득할 수 있다. 새로운 파라미터 값들의 적용이 필요하다고 결정되면, 프로세서(10)는 파라미터들의 서브세트에 적용될 모든 파라미터 값들을 변경할 수 있다. 이러한 경우에서, 파라미터 서브세트에 포함되지 않은 다른 파라미터들의 값은 고정될 수 있다. 대응하는 파라미터 서브세트의 최적 파라미터 값들이 결정된 후, 프로세서(10)는 상이한 파라미터 서브세트를 결정할 수 있고, 결정된 파라미터 서브세트의 파라미터 값들을 한 번에 변경할 수 있으며, 그에 의해 최적화를 수행할 수 있다.
실시예에서, 프로세서(10)는 미리 설정된 파라미터에 적용될 파라미터 값을 무작위로 계속하여 선택하면서 최적의 파라미터 값을 찾을 수 있다. 프로세서(10)는 무작위로 선택된 파라미터 값에 기초한 파라미터를 이용하여 공정을 수행할 수 있고, 결과에 따라 무작위 파라미터 값이 최적 파라미터 값인지 결정할 수 있다.
프로세서(10)는 위에서 언급된 기울기 값을 결정할 수 있다. 실시예에서, 프로세서(10)는 전체 데이터 세트의 서브세트와 관련하여 파라미터의 변경의 적절한 방향 및 그 변경의 적절한 크기를 결정할 수 있고, 결정된 변경의 방향 및 변경의 크기를 전체 데이터 세트에 적용할 수 있으며, 이에 의해, 위에서 언급된 기울기 값을 결정한다. 본 개시에 사용될 때, 전체 데이터 세트는 복수의 이미지 세트 모두를 지칭할 수 있고, 데이터 세트의 서브세트는 복수의 이미지 세트의 일부 이미지들을 지칭할 수 있다. 초기에, 프로세서(10)는 미리 설정된 이미지 프로세스의 파라미터 값을 계속하여 변경하면서, 변경된 파라미터에 기초한 공정이 전체 데이터 세트의 부분 서브세트에 적용될 때 획득되는 결과가 무엇인지를 평가할 수 있다. 프로세서(10)는 이 프로세스를 통해 최적의 결과를 도출하는 변경의 방향 및 변경의 크기가 무엇인지를 결정할 수 있다. 데이터 서브세트와 관련하여 변경의 적절한 방향 및 변경의 적절한 크기가 결정되면, 프로세서(10)는 그것을 전체 데이터 세트에 적용할 수 있고, 그에 의해 변경의 방향 및 변경의 크기의 적합성을 다시 결정할 수 있다. 프로세서(10)는 이러한 프로세스를 통해 전체 데이터 세트에 대한 파라미터 값의 변경의 적절한 방향 및 그 변경의 적절한 크기를 결정할 수 있으며, 그에 기초하여 위에서 언급된 기울기를 결정할 수 있다. 실시예에서, 전체 데이터 세트의 서브세트는 무작위로 결정될 수 있다. 실시예에서, 프로세서(10)는 나머지 파라미터들의 파라미터 값이 고정된 상태에서 일부 파라미터들의 값을 변경하면서 적절한 파라미터 값의 기울기를 결정할 수 있다.
프로세서(10)는 공정을 위해 사용되는 이미지 프로세스의 최적 파라미터를 찾기 위해 다양한 최적화 방법들을 사용할 수 있다. 예를 들어, 프로세서(10)는 기울기 상승/하강 방법을 사용할 수 있는데, 이는 함수의 한 지점에서의 기울기 값을 사용하는 계단식 방식으로, 또는 함수의 전체 범위에서 전역적 최적값을 추정하기 위한 확률적 접근법으로서 최적값이 발견될 넓은 범위에 대해 효율적인 어닐링 방법으로 함수의 최대/최소 값을 찾기 위한 1차 반복 최적화 알고리즘이다.
그러나, 기울기 상승/하강 방법은, 예를 들어, 방법이 전체 함수 범위에서의 최대/최소 값이 아니라 국부적 최대들 또는 국부적 최소들을 찾을 수 있다는 문제점을 가질 수 있다. 예를 들어, 특정 변수 값에 기초한 결과 값은 함수의 도시된 그래프(6010)에서와 같이 제공될 수 있다. 도시된 그래프(6010)에서, x축은 특정 파라미터, 즉 본 개시의 파라미터 값에 대응할 수 있고, y축은 특정 변수에 기초한 결과 값, 즉 본 개시의 검사 점수에 대응할 수 있다. 도시된 그래프(6010)에서의 최적 결과 값은 전역적 최대 또는 전역적 최소로서 나타날 수 있으며, 최적 파라미터 값은 전역적 최대 또는 전역적 최소의 파라미터 값일 수 있다. 그러나, 기울기 상승/하강 방법이 사용될 때, 예를 들어, 특정 범위 내의 최대/최소 값인 국부적 최대들 또는 국부적 최소들이 전역적 최대 또는 전역적 최소로 잘못 결정될 수 있다.
실시예에서, 국부적 최대들 또는 국부적 최소들을 도출하는 것을 피하기 위해, 프로세서(10)는 최적의 파라미터 값을 찾기 위한 최적화 방법의 시작점으로서 무작위 값을 적용할 수 있다. 즉, 최적화 방법에 기초한 최적화는 도시된 그래프(6010)의 한 지점에서 진행하기 시작할 수 있고, 프로세서(10)는 시작점을 무작위로 결정할 수 있다. 이는 최적화 방법의 결과로서 국부적 최대들 또는 국부적 최소들을 도출하는 것을 회피할 수 있게 한다. 무작위 시작점에서 시작된 최적화는 고정된 횟수만큼 반복적으로 수행될 수 있거나, 미리 설정된 조건이 만족될 때까지 반복적으로 수행될 수 있다. 반복된 최적화 프로세스에서 획득된 파라미터 값들 중 최적의 결과를 제공하는 파라미터 값이 최적 파라미터 값으로서 결정될 수 있다.
실시예에서, 프로세서(10)는 국부적 최대들 또는 국부적 최소들을 전역적 최대 또는 전역적 최소로 잘못 결정하는 것을 회피하기 위해 Gibbs 측정을 이용할 수 있다. Gibbs 측정은 확률 분포를 이용하는 최적화 방법일 수 있으며, 이는 파라미터 값에 기초한 공정의 검사 점수(500)의 확률적 표현을 제공한다. Gibbs 측정에 기초한 확률 분포의 함수는 도시된 수학식(6020)에서와 같이 표현될 수 있다.
도시된 수학식(6020)에서, Θ는 파라미터 값들의 벡터, 즉 파라미터 값들의 세트를 나타낼 수 있다. P(Θ)는 파라미터 값들의 세트, 즉 파라미터 공간에서의 확률값 Θ를 나타낼 수 있다. β는 역 온도(inverse temperature)로 지칭되는 P(Θ)의 파라미터를 나타낼 수 있다. Z[β]는 Θ의 전체 범위에서 확률 값들의 합산을 나타내는 정규화 값을 나타낼 수 있고, 분할 함수(partition function)로 지칭될 수 있다. E(Θ)는 Θ에 기초한 공정에 의한 결함 검사 결과의 평가를 나타내며, 에너지 함수로 지칭될 수 있다.
Z[β]는 매우 큰 전체 파라미터 공간의 합산과 연관되어 있기 때문에 처리하기 어려울 수 있지만, 확률 분포는 MCMC(Monte Carlo Markov Chain)와 같은 방법을 사용하여 획득될 수 있다. 예를 들어 Christophe Andrieu, Nando De Freitas, Arnaud Doucet 및 Michael I. Jordan의 "An Introduction to MCMC for Machine Learning, 2003"에 소개된 MCMC 방법은 예를 들어 Markov 체인을 정의하며, Markov 체인의 고정 분포는 Gibbs 측정의 확률 분포와 일치할 수 있다. Markov 체인의 분포로부터 파라미터 값들을 추출함으로써 P(Θ)와 유사한 파라미터 샘플이 획득될 수 있다. 역 온도 파라미터인 β 값이 증가함에 따라, P(Θ)는 E(Θ)의 최대들로 점진적으로 집중될 수 있다. 따라서, 큰 β 값을 갖는 지점에서 P(Θ)의 파라미터 샘플은 최소들이 되는 파라미터일 수 있으며, 이는 최적의 결과 값을 가져 오는 최적 파라미터일 수 있다.
예를 들어, 파라미터는 무작위 선택에 의해 Θ0으로부터 Θ1로 전환될 수 있다. 새로운 파라미터 Θ1은 Θ0에 비해 E(Θ)의 값을 감소시킬 수 있다. 이러한 경우에서, 새로운 파라미터 Θ1에 대한 변경은 최적 파라미터를 향한 방향의 변경 인 것으로 결정될 수 있다. 대안적으로, 도시된 수학식(6030)으로부터 도출된 확률 값에 따라 새로운 파라미터 Θ1에 대한 변경이 필요한지가 결정될 수 있다. 도시된 수학식(6030)은 Z[β]의 값을 계산할 필요없이 쉽게 계산될 수 있다.
도 7은 본 개시의 실시예에 따른 분기 서브시퀀스 및 병합 서브시퀀스를 도시한다. 위에서 설명된 바와 같이, 특정 구성에 기초한 공정의 시퀀스는 적어도 하나의 서브시퀀스를 포함할 수 있고, 서브시퀀스는 분기 서브시퀀스(7010) 및 병합 서브시퀀스(7020)를 포함할 수 있다.
실시예에서, 시퀀스는 분기 서브시퀀스(7010)를 포함할 수 있다. 위에서 설명된 바와 같이, 미리 설정된 이미지 세트(7030)는 공정 동안 병렬 방식으로 2개 이상의 이미지 프로세스(220 및 221)를 거칠 수 있다. 이와 관련하여, 이미지 프로세스는 공정의 구성에 따라 결정된 복수의 이미지 프로세스 중 하나일 수 있다. 예를 들어, 이미지 프로세스(210)를 거친 미리 설정된 이미지 세트(7030)는 다음 단계에서 2개 이상의 이미지 프로세스(220 및 221)에 입력될 수 있다. 이미지 세트는 둘 이상의 상이한 이미지 프로세스(220 및 221)를 거친 후, 별개로 구성된 이미지 프로세스 라인을 거칠 수 있다.
실시예에서, 시퀀스는 병합 서브시퀀스(7020)를 포함할 수 있다. 위에서 설명된 바와 같이, 병렬 방식으로 특정 이미지 프로세스들(230 및 231)을 거친 이미지 세트들(7040 및 7050)은 단일의 동일한 이미지 프로세스(235)를 거칠 수 있다.
실시예에서, 병렬 방식으로 적용되는 이미지 프로세스들(230 및 231)은 동일한 이미지 프로세스 또는 상이한 이미지 프로세스들일 수 있다. 이미지 프로세스들(230 및 231)이 동일한 이미지 프로세스인 경우에도, 이미지 프로세스들(230 및 231)에 입력되는 이미지 세트들(7060 및 7070)은 서로 다를 수 있고, 따라서 이미지 프로세스들(230 및 231)은 공정 동안 병렬 방식으로 배열되는 것으로 고려될 수 있다. 실시예에서, 이미지 세트들(7040 및 7050)은 상이한 처리를 거친 상이한 이미지 세트들일 수 있다. 단일의 동일한 이미지 프로세스(235)를 거쳐야 하는 이미지 세트들(7040 및 7050)은 단일의 이미지 세트로서 출력될 수 있고, 나중에 동일한 이미지 프로세스 라인을 거칠 수 있다.
실시예에서, M개의 이미지 세트가 입력되어, N개의 이미지 세트가 출력되도록 병합될 수 있다. 이러한 경우에서, M과 N은 상이한 자연수일 수 있다. M개의 이미지 세트는 상이한 이미지 프로세스 라인을 거친 이미지 세트들일 수 있다. N 개의 이미지 세트는 N개의 상이한 이미지 프로세스 라인에 입력될 수 있다.
실시예에서, 복수의 분기 서브시퀀스 및 복수의 병합 서브시퀀스가 단일 시퀀스 내에 배열될 수 있다. 실시예에서, 분기 서브시퀀스 바로 다음에 병합 서브시퀀스가 배열될 것을 요구하는 어떠한 제한도 없이, 분기 서브시퀀스가 분기 이미지들의 세트 중 하나에 다시 적용될 수 있다. 실시예에서, 이미지 세트를 병합한 후, 병합 서브시퀀스는 단일의 동일한 이미지 프로세스를 거치지 않을 수 있고, 병합 이미지 세트를 사용하여 직접 검사 데이터를 생성할 수 있다.
실시예에서, 분기 서브시퀀스 및 병합 서브시퀀스에 포함되는 이미지 프로세스들은 공정의 특정 구성에 따라 위에서 언급된 복수의 이미지 프로세스로부터 선택된 이미지 프로세스들일 수 있다.
도 8은 본 개시에 따라 전자 장치(1)에 의해 수행될 수 있는 공정 최적화 방법의 실시예를 도시한다. 본 개시에 따른 방법 또는 알고리즘의 각각의 단계들은 도시된 순서도에서 연속적인 순서로 설명되어 있지만, 각각의 단계들은 또한 본 개시에 따른 임의의 조합들 및/또는 임의의 순서로 수행될 수 있다. 본 흐름도를 참조한 설명은 방법 또는 알고리즘에 변경 또는 수정을 적용하는 것을 배제하지 않으며, 특정 단계가 필수적이거나 바람직하다는 것을 의미하지는 않는다. 실시예에서, 적어도 일부 단계들은 병렬, 반복 또는 휴리스틱 방식으로 수행될 수 있다. 실시예에서, 적어도 일부 단계들이 생략될 수 있거나 다른 단계들이 추가될 수 있다.
본 개시에 따른 전자 장치(1)는 하나 이상의 이미지 세트를 처리하여 대상체의 결함을 검사하는 것과 관련하여 본 개시의 다양한 실시예들에 따른 공정 최적화 방법을 수행할 수 있다. 본 개시의 실시예에 따른 공정 최적화 방법은 대상체의 하나 이상의 이미지 세트를 캡처하는 단계(S100); 공정의 미리 설정된 구성을 결정하는 단계(S200); 하나 이상의 이미지 세트에 관련하여 미리 설정된 구성에 기초하여 공정을 수행하는 단계(S300); 처리된 하나 이상의 이미지 세트로부터 검사 데이터를 생성하는 단계(S400); 검사 데이터를 속성 데이터와 비교하여 검사 점수를 생성하는 단계(S500); 및/또는 검사 점수가 미리 설정된 임계 점수를 만족하는지에 따라(S600) 미리 설정된 구성을 최적 구성으로서 설정하거나(S610) 미리 설정된 구성 후에 적용될 구성을 결정하는 단계(S620)를 포함할 수 있다.
단계(S100)에서, 전자 장치(1)의 카메라(40)는 대상체의 하나 이상의 이미지 세트를 캡처할 수 있다. 단계(S200)에서, 프로세서(10)는 하나 이상의 이미지 세트를 처리하기 위한 공정의 미리 설정된 구성(예를 들어, 제1 구성)을 결정할 수 있다. 단계(S300)에서, 프로세서(10)는 하나 이상의 이미지 세트에 대해 결정된 미리 설정된 구성(예를 들어, 제1 구성)에 기초하여 공정을 수행할 수 있다.
단계(S400)에서, 프로세서(10)는 미리 설정된 구성(예를 들어, 제1 구성)에 따라 처리된 하나 이상의 이미지 세트로부터 대상체의 결함 또는 속성에 관한 검사 데이터(300)를 생성할 수 있다. 단계(S500)에서, 프로세서(10)는 메모리에 저장된 대상체의 결함 또는 속성에 관한 속성 데이터(400)와 검사 데이터를 비교하여, 검사 점수(500)를 생성할 수 있다.
단계들(S600 내지 S620)에서, 프로세서(10)는 생성된 검사 점수가 미리 설정된 임계 점수 이상인지를 결정할 수 있고, 검사 점수(500)가 미리 설정된 임계 점수를 만족시키는 현재 구성, 즉 미리 설정된 구성(예를 들어, 제1 구성)을 최적 구성으로서 설정할 수 있다. 실시예에서, 프로세서(10)는 최적 구성으로 결정된 미리 설정된 구성을 메모리(20)에 저장할 수 있다. 검사 점수(500)가 미리 설정된 임계 점수를 만족시키지 못하면, 프로세서(10)는 현재 구성 후에 적용될 구성(예를 들어, 제2 구성)을 결정할 수 있다.
본 개시에 따른 공정 최적화 방법의 실시예에서, 공정의 미리 설정된 구성을 결정하는 단계(S200)는 프로세서(10)에 의해, 복수의 이미지 세트로부터 미리 설정된 구성(예를 들어, 제1 구성)에 기초한 공정이 적용될 이미지 세트(예를 들어, 제1 이미지 세트)를 선택(결정)하는 단계를 포함할 수 있다. 추가로, 단계(S200)는 복수의 이미지 프로세스 중 미리 설정된 구성(예를 들어, 제1 구성)에 기초하여 공정에 포함된 이미지 프로세스 세트(예를 들어, 제1 이미지 프로세스 세트)를 결정하는 단계를 포함할 수 있다. 추가로, 단계(S200)는 프로세서(10)에 의해 이미지 프로세스 세트(예를 들어, 제1 이미지 프로세스 세트)의 이미지 프로세스에 대해 사용되는 파라미터의 값들(예를 들어, 제1 파라미터 값)을 결정하는 단계를 포함할 수 있다. 추가로, 단계(S200)는 프로세서(10)에 의해 이미지 세트(예를 들어, 제1 이미지 세트)에 적용될 이미지 프로세스 세트(예를 들어, 제1 이미지 프로세스 세트)의 적용 시퀀스(예를 들어, 제1 시퀀스)를 결정하는 단계를 포함할 수 있다.
실시예에서, 미리 설정된 구성에 따라 복수의 이미지 세트를 처리하는 단계(S300)는 파라미터의 값들(예를 들어, 제1 파라미터 값)을 갖는 이미지 프로세스 세트(예를 들어, 제1 이미지 프로세스 세트)를 이미지 세트(예를 들어, 제1 이미지 세트)에 적용하고 프로세서(10)에 의해 그것을 처리하는 단계를 포함할 수 있다.
실시예에서, 검사 점수를 생성하는 단계(S500)는 프로세서(10)에 의해 검사 데이터(300)로부터 하나 이상의 플래그를 획득하는 단계 - 플래그들은 대상체가 적어도 하나의 미리 설정된 외부 속성 또는 외부 결함을 갖는지를 나타냄 -; 하나 이상의 플래그 각각을 속성 데이터(400)와 비교하고 하나 이상의 플래그 각각이 속성 데이터(400)와 일치하는지를 결정하는 단계; 및/또는 하나 이상의 플래그의 전체 수와 관련하여 속성 데이터(400)와 일치하는 플래그 수의 비를 나타내는 검사 점수를 생성하는 단계를 포함할 수 있다.
실시예에서, 검사 점수를 생성하는 단계(S500)는 프로세서(10)에 의해 검사 데이터(300)로부터 대상체의 적어도 하나의 미리 설정된 외부 속성 또는 외부 결함이 존재하는 영역(예를 들어, 제1 영역)을 획득하는 단계; 속성 데이터(400)로부터 대상체의 적어도 하나의 외부 속성 또는 외부 결함이 존재하는 영역(예를 들어, 제1 영역)을 획득하는 단계; 2개의 영역(예를 들어, 제1 및 제2 영역) 사이의 중첩 영역을 결정하는 단계; 및/또는 속성 데이터(400)에 의해 나타내어진 결함 또는 속성이 존재하는 영역(예를 들어, 제2 영역)에 대한 중첩 영역의 비율을 나타내는 검사 점수를 생성하는 단계를 포함할 수 있다.
실시예에서, 공정의 다음 구성(예를 들어, 제2 구성)을 결정하는 단계(S620)는 예를 들어 프로세서(10)에 의해, 복수의 이미지 세트 중에서 다음 구성의 이미지 세트(예를 들어, 제2 이미지 세트)를 결정하는 단계; 복수의 이미지 프로세스 중 다음 구성의 이미지 프로세스 세트(예를 들어, 제2 이미지 프로세스 세트)를 결정하는 단계; 다음 구성의 이미지 프로세스 세트(예를 들어, 제2 이미지 프로세스 세트)에 사용될 파라미터의 값들(예를 들어, 제2 파라미터 값)을 결정하는 단계; 및 다음 구성의 이미지 프로세스 세트(예를 들어, 제2 이미지 프로세스 세트)가 적용될 시퀀스(예를 들어, 제2 시퀀스)를 결정하는 단계를 포함할 수 있다. 프로세서(10)는 미리 설정된 구성(예를 들어, 제1 구성)에 기초한 검사 점수와 위에서 언급된 미리 설정된 임계 점수 사이의 차이에 기초하여 공정의 다음 구성(예를 들어, 제2 구성)을 결정할 수 있다.
실시예에서, 공정의 다음 구성(예를 들어, 제2 구성)을 결정하는 단계(S620)는 미리 설정된 구성(예를 들어, 제1 구성) 이전에 공정에 적용된 구성을 사용하여 생성된 검사 점수와 미리 설정된 구성(예를 들어, 제1 구성)을 사용하여 생성된 검사 점수 사이의 차이를 도출하는 단계를 포함할 수 있다. 추가로, 단계(S620)는 프로세서(10)에 의해, 도출된 차이에 기초하여 미리 설정된 구성(예를 들어, 제1 구성)을 수정하여 다음 구성(예를 들어, 제2 구성)을 결정하는 단계를 포함할 수 있다.
실시예에서, 공정의 다음 구성(예를 들어, 제2 구성)을 결정하는 단계(S620)는 예를 들어 프로세서(10)에 의해, 다음 구성(예를 들어, 제2 구성)에 기초하여 공정을 수행하는 단계를 포함할 수 있다. 즉, 단계(S620)는 예를 들어 프로세서(10)에 의해 파라미터의 값들(예를 들어, 제2 파라미터 값)을 갖는 이미지 프로세스 세트(예를 들어, 제2 이미지 프로세스 세트)를 적용 시퀀스(예를 들어, 제2 시퀀스)에 따라 이미지 세트(예를 들어, 제2 이미지 세트)에 적용하여 그것을 처리하는 단계를 포함할 수 있다.
실시예에서, 대상체의 하나 이상의 이미지 세트는 하나 이상의 미리 설정된 세팅 하에서 캡처된 이미지들일 수 있다. 실시예에서, 하나 이상의 미리 설정된 세팅은, 예를 들어 광원(30)의 유형, 양 및 배열, 카메라(40)의 유형, 양 및 배열, 광원(30)에 관련된 파라미터들, 카메라(40)에 관련된 파라미터들, 광의 파장, 광의 조도, 광이 대상체에 조사되는 각도 및/또는 이들의 임의의 조합을 포함할 수 있다.
실시예에서, 미리 설정된 구성(예를 들어, 제1 구성)에 기초한 시퀀스(예를 들어, 제1 구성)는 이미지 프로세스 세트(예를 들어, 제1 이미지 프로세스 세트) 중 적어도 2개의 상이한 이미지 프로세스를 이미지 세트(예를 들어, 제1 이미지 세트)에 병렬로 적용하기 위한 서브시퀀스를 포함할 수 있다.
실시예에서, 미리 설정된 구성(예를 들어, 제1 구성)에 기초한 시퀀스(예를 들어, 제1 구성)는 이미지 프로세스 세트(예를 들어, 제1 이미지 프로세스 세트) 중 적어도 2개의 상이한 이미지 프로세스가 병렬 방식으로 적용된 이미지 프로세스 세트(예를 들어, 제1 이미지 세트)에 단일 이미지 프로세스를 적용하기 위한 서브시퀀스를 포함할 수 있다.
본 개시의 다양한 실시예들은 머신 판독가능한 저장 매체 내에 소프트웨어로서 구현될 수 있다. 소프트웨어는 본 개시의 다양한 실시예들을 구현하기 위한 소프트웨어일 수 있다. 소프트웨어는 본 개시가 속하는 기술분야의 프로그래머들에 의해 본 개시의 다양한 실시예로부터 추론될 수 있다. 예를 들어, 소프트웨어는 명령어(예를 들어, 코드 또는 코드 세그먼트)를 포함하는 머신 판독가능한 프로그램일 수 있다. 머신은 검색된 명령어에 따라 동작할 수 있는 디바이스, 예를 들어 컴퓨터일 수 있다. 실시예에서, 머신은 본 개시의 실시예들에 따른 전자 장치일 수 있다. 실시예에서, 머신의 프로세서는 머신의 구성요소들이 명령어에 대응하는 기능을 수행하도록, 검색된 명령어를 실행할 수 있다. 실시예에서, 프로세서는 본 개시의 실시예들에 따른 프로세서(10)일 수 있다. 저장 매체는 데이터를 저장하는 임의의 유형의 머신 판독가능한 기록 매체를 지칭할 수 있다. 저장 매체는, 예를 들어, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광학 데이터 저장 디바이스, 및 그와 유사한 것을 포함할 수 있다. 실시예에서, 저장 매체는 메모리(20)일 수 있다. 실시예에서, 저장 매체는 네트워크 또는 그와 유사한 것을 통해 연결된 컴퓨터 시스템에 걸쳐 분산되도록 구현될 수 있다. 소프트웨어는 컴퓨터 시스템 또는 그와 유사한 것에 걸쳐 분산되고 저장되며, 그에 따라 수행될 수 있다. 저장 매체는 비-일시적 저장 매체일 수 있다. 비-일시적 저장 매체는 데이터가 반영구적으로 또는 일시적으로 저장되는지에 관계없이 실체있는 매체를 지칭하며, 일시적인 방식으로 전파되는 임의의 신호는 포함하지 않는다.
본 개시의 기술적 사상이 다양한 실시예들을 참조하여 위에서 설명되었지만, 본 개시의 기술적 사상은 본 개시가 속하는 기술분야의 통상의 기술자에 의해 이해될 수 있는 범위 내에서 이루어질 수 있는 다양한 대체들, 수정들 및 변경들을 포함한다. 또한, 이러한 대체들, 수정들 및 변경들은 첨부된 청구항들에 포함되는 것으로 이해되어야 한다.
발명의 모드
본 개시의 다양한 실시예들이 최상의 모드에서 설명되었다.
산업상 이용가능성
본 개시는 대상체의 검사와 관련된 분야에 적용가능하다.

Claims (20)

  1. 대상체(target object)의 외부의 검사를 최적화하기 위한 장치로서,
    상기 대상체의 하나 이상의 이미지 세트를 캡처하는 적어도 하나의 카메라;
    상기 대상체의 상기 하나 이상의 이미지 세트, 및 상기 대상체의 하나 이상의 미리 설정된 외부 속성(feature)을 포함하는 속성 데이터를 저장하는 메모리; 및
    프로세서를 포함하고, 상기 프로세서는:
    상기 메모리로부터 상기 하나 이상의 이미지 세트를 획득하고 - 각각의 이미지 세트는 하나 이상의 미리 설정된 세팅 하에서 캡처됨 -;
    복수의 이미지 프로세스를 포함하는 공정에 대한 제1 프로세스 구성을 결정하고 - 상기 제1 프로세스 구성은, 상기 하나 이상의 이미지 세트 중 상기 공정이 수행될 제1 이미지 세트, 상기 복수의 이미지 프로세스 중 상기 제1 이미지 세트에 수행될 제1 이미지 프로세스 세트, 및 상기 제1 이미지 프로세스 세트가 수행될 제1 시퀀스를 지정함 - ;
    상기 제1 프로세스 구성 하에서 상기 하나 이상의 이미지 세트에 대해 상기 공정을 수행하고;
    상기 제1 프로세스 구성 하에서 처리된 상기 하나 이상의 이미지 세트로부터 상기 대상체의 외부에 대한 검사 데이터를 생성하고;
    상기 대상체의 외부에 대한 상기 검사 데이터를 상기 속성 데이터와 비교함으로써 검사 점수를 생성하고;
    상기 검사 점수를 미리 설정된 임계 점수와 비교하고;
    상기 검사 점수가 상기 미리 설정된 임계 점수를 만족시키는 경우, 상기 제1 프로세스 구성을 최적 구성으로서 설정하고;
    상기 검사 점수가 상기 미리 설정된 임계 점수를 만족시키지 않는 경우, 상기 제1 프로세스 구성의 상기 제1 이미지 세트, 상기 제1 이미지 프로세스 세트 및 상기 제1 시퀀스 중에서 선택된 적어도 하나를 수정하여 상기 공정에 대한 제2 프로세스 구성을 결정하는, 장치.
  2. 제1항에 있어서,
    상기 제1 프로세스 구성은, 상기 제1 이미지 프로세스 세트에 대한 제1 파라미터 값들을 더 지정하는, 장치.
  3. 제1항에 있어서, 상기 프로세서는 상기 검사 점수를 생성할 때:
    상기 검사 데이터로부터 하나 이상의 플래그를 획득하고 - 상기 하나 이상의 플래그 각각은 상기 대상체의 외부가 상기 미리 설정된 외부 속성들 중 적어도 하나를 포함하는지를 나타냄 -;
    상기 하나 이상의 플래그 각각이 상기 메모리에 저장된 상기 속성 데이터와 일치하는지를 결정하고;
    상기 하나 이상의 플래그의 총 수에 대한, 상기 속성 데이터와 일치하는 플래그 수의 비를 나타내는 상기 검사 점수를 생성하는, 장치.
  4. 제1항에 있어서, 상기 프로세서는 상기 검사 점수를 생성할 때:
    상기 검사 데이터로부터 상기 대상체 상의 제1 영역을 획득하고 - 상기 제1 영역은 상기 미리 설정된 외부 속성들 중 적어도 하나를 포함함 -;
    상기 메모리에 사전 저장된 상기 속성 데이터로부터 상기 대상체 상의 제2 영역을 획득하고 - 상기 제2 영역은 상기 미리 설정된 외부 속성들 중 적어도 하나를 포함함 -;
    상기 제1 영역과 상기 제2 영역 사이의 중첩 영역을 결정하고;
    상기 제2 영역 내에서의 상기 중첩 영역의 비율을 나타내는 상기 검사 점수를 생성하는, 장치.
  5. 제1항에 있어서, 상기 프로세서는, 상기 제2 프로세스 구성을 결정할 때:
    상기 검사 점수와 상기 미리 설정된 임계 점수 사이의 차이에 따라, 상기 하나 이상의 이미지 세트로부터의 제2 이미지 세트, 상기 복수의 이미지 프로세스로부터의 제2 이미지 프로세스 세트, 상기 제2 이미지 프로세스 세트에 대한 제2 파라미터 값들, 및 상기 제2 이미지 프로세스 세트의 제2 시퀀스를 결정하는 장치.
  6. 제1항에 있어서, 상기 프로세서는 상기 제2 프로세스 구성을 결정할 때:
    상기 제1 프로세스 구성 하에서 상기 공정을 수행하기 전에 상기 공정에 대해 이전 프로세스 구성을 사용하여 생성된 이전 검사 점수와, 상기 공정에 대해 상기 제1 프로세스 구성을 사용하여 생성된 상기 검사 점수 사이의 차이를 도출하고;
    도출된 차이에 따라 상기 제1 프로세스 구성을 수정함으로써 상기 제2 프로세스 구성을 결정하는 장치.
  7. 제5항에 있어서, 상기 프로세서는 상기 제2 프로세스 구성 하에서 상기 공정을 수행하는 장치.
  8. 제1항에 있어서,
    상기 대상체에 광을 조사하도록 구성되는 광원을 더 포함하고,
    상기 하나 이상의 미리 설정된 세팅은 상기 대상체에 조사되는 광의 파장, 상기 대상체 내로의 광의 조사 각도, 광의 조도(illumination), 및 상기 적어도 하나의 카메라의 유형 중 적어도 하나를 포함하는 장치.
  9. 제2항에 있어서, 상기 제1 시퀀스는 상기 제1 이미지 프로세스 세트 중의 적어도 2개의 상이한 이미지 프로세스를 상기 제1 이미지 세트에 병렬로 적용하는 서브시퀀스를 포함하는 장치.
  10. 제9항에 있어서, 상기 제1 시퀀스는 상기 적어도 2개의 상이한 이미지 프로세스를 상기 제1 이미지 세트에 병렬로 적용한 후, 상기 제1 이미지 프로세스 세트 중의 단일 이미지 프로세스를 상기 제1 이미지 세트에 적용하는 서브시퀀스를 포함하는 장치.
  11. 대상체의 외부의 검사를 최적화하기 위한 방법으로서,
    상기 대상체의 하나 이상의 이미지 세트를 캡처하는 단계 - 각각의 이미지 세트는 하나 이상의 미리 설정된 세팅 하에서 캡처됨 -;
    복수의 이미지 프로세스를 포함하는 공정에 대한 제1 프로세스 구성을 결정하는 단계 - 상기 제1 프로세스 구성은, 상기 하나 이상의 이미지 세트 중 상기 공정이 수행될 제1 이미지 세트, 상기 복수의 이미지 프로세스 중 상기 제1 이미지 세트에 수행될 제1 이미지 프로세스 세트, 및 상기 제1 이미지 프로세스 세트가 수행될 제1 시퀀스를 지정함 - ;
    상기 제1 프로세스 구성 하에서 상기 하나 이상의 이미지 세트에 대해 상기 공정을 수행하는 단계;
    상기 제1 프로세스 구성 하에서 처리된 상기 하나 이상의 이미지 세트로부터 상기 대상체의 외부에 대한 검사 데이터를 생성하는 단계;
    상기 대상체의 외부에 대한 상기 검사 데이터를 속성 데이터와 비교함으로써 검사 점수를 생성하는 단계 - 상기 속성 데이터는 메모리 내에 미리 저장되고, 상기 대상체의 하나 이상의 미리 설정된 외부 속성을 포함함 -;
    상기 검사 점수를 미리 설정된 임계 점수와 비교하는 단계;
    상기 검사 점수가 상기 미리 설정된 임계 점수를 만족시키는 경우, 상기 제1 프로세스 구성을 최적 구성으로서 설정하는 단계; 및
    상기 검사 점수가 상기 미리 설정된 임계 점수를 만족시키지 않는 경우, 상기 제1 프로세스 구성의 상기 제1 이미지 세트, 상기 제1 이미지 프로세스 세트 및 상기 제1 시퀀스 중에서 선택된 적어도 하나를 수정하여 상기 공정에 대한 제2 프로세스 구성을 결정하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 제1 프로세스 구성은, 상기 제1 이미지 프로세스 세트에 대한 제1 파라미터 값들을 더 지정하는, 방법.
  13. 제11항에 있어서, 상기 검사 점수를 생성하는 단계는:
    상기 검사 데이터로부터 하나 이상의 플래그를 획득하는 단계 - 상기 하나 이상의 플래그 각각은 상기 대상체의 외부가 상기 미리 설정된 외부 속성들 중 적어도 하나를 포함하는지를 나타냄 -;
    상기 하나 이상의 플래그 각각이 상기 메모리에 사전 저장된 상기 속성 데이터와 일치하는지를 결정하는 단계; 및
    상기 하나 이상의 플래그의 총 수에 대한, 상기 속성 데이터와 일치하는 플래그 수의 비를 나타내는 상기 검사 점수를 생성하는 단계
    를 포함하는 방법.
  14. 제11항에 있어서, 상기 검사 점수를 생성하는 단계는:
    상기 검사 데이터로부터 상기 대상체 상의 제1 영역을 획득하는 단계 - 상기 제1 영역은 상기 미리 설정된 외부 속성들 중 적어도 하나를 포함함 -;
    상기 메모리에 사전 저장된 상기 속성 데이터로부터 상기 대상체 상의 제2 영역을 획득하는 단계 - 상기 제2 영역은 상기 미리 설정된 외부 속성들 중 적어도 하나를 포함함 -;
    상기 제1 영역과 상기 제2 영역 사이의 중첩 영역을 결정하는 단계; 및
    상기 제2 영역 내에서의 상기 중첩 영역의 비율을 나타내는 상기 검사 점수를 생성하는 단계
    를 포함하는 방법.
  15. 제11항에 있어서, 상기 공정에 대한 상기 제2 프로세스 구성을 결정하는 단계는,
    상기 검사 점수와 상기 미리 설정된 임계 점수 사이의 차이에 따라, 상기 하나 이상의 이미지 세트로부터의 제2 이미지 세트, 상기 복수의 이미지 프로세스로부터의 제2 이미지 프로세스 세트, 상기 제2 이미지 프로세스 세트에 대한 제2 파라미터 값들, 및 상기 제2 이미지 프로세스 세트의 제2 시퀀스를 결정하는 단계
    를 포함하는 방법.
  16. 제11항에 있어서, 상기 공정에 대한 상기 제2 프로세스 구성을 결정하는 단계는:
    상기 제1 프로세스 구성 하에서 상기 공정을 수행하기 전에 상기 공정에 대해 이전 프로세스 구성을 사용하여 생성된 이전 검사 점수와, 상기 공정에 대해 상기 제1 프로세스 구성을 사용하여 생성된 상기 검사 점수 사이의 차이를 도출하는 단계; 및
    도출된 차이에 따라 상기 제1 프로세스 구성을 수정함으로써 상기 제2 프로세스 구성을 결정하는 단계
    를 포함하는 방법.
  17. 제15항에 있어서, 상기 제2 프로세스 구성 하에서 상기 공정을 수행하는 단계를 더 포함하는 방법.
  18. 제11항에 있어서,
    상기 하나 이상의 미리 설정된 세팅은 상기 대상체의 상기 하나 이상의 이미지 세트를 캡처하기 위해 상기 대상체에 조사되는 광의 파장, 상기 대상체 내로의 광의 조사 각도, 광의 조도, 및 상기 대상체의 상기 하나 이상의 이미지 세트를 캡처하도록 구성되는 적어도 하나의 카메라의 유형 중 적어도 하나를 포함하는 방법.
  19. 제12항에 있어서, 상기 제1 시퀀스는 상기 제1 이미지 프로세스 세트 중의 적어도 2개의 상이한 이미지 프로세스를 상기 제1 이미지 세트에 병렬로 적용하는 서브시퀀스를 포함하는 방법.
  20. 제19항에 있어서, 상기 제1 시퀀스는 상기 적어도 2개의 상이한 이미지 프로세스를 상기 제1 이미지 세트에 병렬로 적용한 후, 상기 제1 이미지 프로세스 세트 중의 단일 이미지 프로세스를 상기 제1 이미지 세트에 적용하는 서브시퀀스를 포함하는 방법.
KR1020207002467A 2017-07-07 2018-07-06 대상체의 외부의 검사를 최적화하기 위한 장치 및 그 방법 KR102308437B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762529582P 2017-07-07 2017-07-07
US62/529,582 2017-07-07
PCT/KR2018/007697 WO2019009664A1 (en) 2017-07-07 2018-07-06 APPARATUS FOR OPTIMIZING THE INSPECTION OF THE OUTSIDE OF A TARGET OBJECT AND ASSOCIATED METHOD

Publications (2)

Publication Number Publication Date
KR20200014438A KR20200014438A (ko) 2020-02-10
KR102308437B1 true KR102308437B1 (ko) 2021-10-06

Family

ID=64951063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207002467A KR102308437B1 (ko) 2017-07-07 2018-07-06 대상체의 외부의 검사를 최적화하기 위한 장치 및 그 방법

Country Status (5)

Country Link
US (2) US11268910B2 (ko)
EP (1) EP3649460A4 (ko)
KR (1) KR102308437B1 (ko)
CN (1) CN111065915B (ko)
WO (1) WO2019009664A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6843780B2 (ja) * 2018-01-18 2021-03-17 ヤフー株式会社 情報処理装置、学習済みモデル、情報処理方法、およびプログラム
US11087452B2 (en) * 2018-02-05 2021-08-10 Nec Corporation False alarm reduction system for automatic manufacturing quality control
KR20220001125A (ko) 2020-06-29 2022-01-05 삼성전자주식회사 기판 불량 검출 방법 및 장치
US20220408035A1 (en) * 2021-05-07 2022-12-22 Richard Edward Pimpinella Computational High-Speed Hyperspectral Infrared Camera System
CN113916892B (zh) * 2021-09-28 2022-10-28 南京理工大学 基于多目视觉的刹车盘涂胶缺陷检测装置及方法
CN113887845B (zh) * 2021-12-07 2022-04-08 中国南方电网有限责任公司超高压输电公司广州局 极端事件预测方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009253100A (ja) * 2008-04-08 2009-10-29 Hitachi High-Technologies Corp 半導体パターンの検査方法及び検査装置
KR101113602B1 (ko) * 2003-01-15 2012-02-22 네거브테크 리미티드 웨이퍼 결함 검출 시스템
JP2012517702A (ja) * 2009-02-06 2012-08-02 ケーエルエー−テンカー コーポレイション ウエハの検査のための1つまたは複数のパラメータの選択方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148097A (en) * 1995-06-07 2000-11-14 Asahi Kogaku Kogyo Kabushiki Kaisha Optical member inspecting apparatus and method of inspection thereof
JPH10143660A (ja) * 1996-11-11 1998-05-29 Hitachi Ltd 欠陥判定処理方法およびその装置
US7106895B1 (en) * 1999-05-05 2006-09-12 Kla-Tencor Method and apparatus for inspecting reticles implementing parallel processing
JP2002140693A (ja) 2000-10-31 2002-05-17 Keyence Corp 画像処理パラメータ決定装置、画像処理パラメータ決定方法および画像処理パラメータ決定プログラムを記録した記録媒体
US7945105B1 (en) * 2008-04-07 2011-05-17 Decision Sciences International Corporation Automated target shape detection for vehicle muon tomography
JP4933601B2 (ja) * 2009-08-18 2012-05-16 株式会社ニューフレアテクノロジー 検査装置および検査方法
JP5695924B2 (ja) 2010-02-01 2015-04-08 株式会社ニューフレアテクノロジー 欠陥推定装置および欠陥推定方法並びに検査装置および検査方法
US8993470B2 (en) 2010-04-03 2015-03-31 Studiengesellschaft Kohle Mbh Catalysts for the alkyne metathesis
JP2013101015A (ja) * 2011-11-08 2013-05-23 Canon Inc 検品装置、検品方法、検品システム、コンピュータプログラム
US9310316B2 (en) * 2012-09-11 2016-04-12 Kla-Tencor Corp. Selecting parameters for defect detection methods
JP6009956B2 (ja) * 2013-01-31 2016-10-19 株式会社日立ハイテクノロジーズ 欠陥検査装置および欠陥検査方法
IN2014DN06211A (ko) * 2014-02-03 2015-10-23 Prosper Creative Co Ltd
JP6763301B2 (ja) * 2014-09-02 2020-09-30 株式会社ニコン 検査装置、検査方法、検査処理プログラムおよび構造物の製造方法
JP6649802B2 (ja) * 2016-02-26 2020-02-19 株式会社キーエンス 三次元画像検査装置、三次元画像検査方法、三次元画像検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP6681743B2 (ja) * 2016-02-26 2020-04-15 株式会社キーエンス 画像検査装置、画像検査方法、画像検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP6764701B2 (ja) * 2016-06-13 2020-10-07 株式会社キーエンス 画像処理センサ、画像処理方法、画像処理プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
US10409171B2 (en) * 2017-01-25 2019-09-10 Kla-Tencor Corporation Overlay control with non-zero offset prediction
JP6917781B2 (ja) * 2017-05-31 2021-08-11 株式会社キーエンス 画像検査装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101113602B1 (ko) * 2003-01-15 2012-02-22 네거브테크 리미티드 웨이퍼 결함 검출 시스템
JP2009253100A (ja) * 2008-04-08 2009-10-29 Hitachi High-Technologies Corp 半導体パターンの検査方法及び検査装置
JP2012517702A (ja) * 2009-02-06 2012-08-02 ケーエルエー−テンカー コーポレイション ウエハの検査のための1つまたは複数のパラメータの選択方法

Also Published As

Publication number Publication date
KR20200014438A (ko) 2020-02-10
US20220178841A1 (en) 2022-06-09
US11747284B2 (en) 2023-09-05
WO2019009664A1 (en) 2019-01-10
EP3649460A4 (en) 2021-03-24
US11268910B2 (en) 2022-03-08
CN111065915B (zh) 2023-03-10
CN111065915A (zh) 2020-04-24
EP3649460A1 (en) 2020-05-13
US20200292463A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
KR102308437B1 (ko) 대상체의 외부의 검사를 최적화하기 위한 장치 및 그 방법
US10489900B2 (en) Inspection apparatus, inspection method, and program
US9928592B2 (en) Image-based signal detection for object metrology
US10043090B2 (en) Information processing device, information processing method, computer-readable recording medium, and inspection system
JP7262021B2 (ja) 奥行取得装置、奥行取得方法およびプログラム
US20170262985A1 (en) Systems and methods for image-based quantification for allergen skin reaction
US10007971B2 (en) Systems and methods for user machine interaction for image-based metrology
US10824906B2 (en) Image processing device, non-transitory computer readable storage medium, and image processing system
US20170186144A1 (en) Method, image processing system and computer-readable recording medium for item defect inspection
US20170262979A1 (en) Image correction and metrology for object quantification
EP3418726A1 (en) Defect detection apparatus, defect detection method, and program
US20170258391A1 (en) Multimodal fusion for object detection
US20170262977A1 (en) Systems and methods for image metrology and user interfaces
CN111598913B (zh) 一种基于机器人视觉的图像分割方法和***
JP2018506046A (ja) タイヤ表面の欠陥を検出する方法
JP7139243B2 (ja) 画像分析システム及び方法
JP2009259036A (ja) 画像処理装置、画像処理方法、画像処理プログラム、記録媒体、及び画像処理システム
JP2014027597A (ja) 画像処理装置、物体識別装置、及びプログラム
WO2020175666A1 (ja) カラーフィルタ検査装置、検査装置、カラーフィルタ検査方法および検査方法
CN113016023B (zh) 信息处理方法以及计算机可读的非暂时性记录介质
JP4801697B2 (ja) 画像形成方法,画像形成装置、及びコンピュータプログラム
CN112508925B (zh) 电子锁面板质量检测方法、***、计算机装置和存储介质
JP2014135007A (ja) フラットパネルディスプレイの自動ムラ検出装置および自動ムラ検出方法
Dias et al. Identification of marks on tires using artificial vision for quality control
JP7017100B2 (ja) 粒子画像解析装置及び粒子画像解析方法

Legal Events

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