KR101950681B1 - Defect inspection device, system, method and computer readable storage medium - Google Patents

Defect inspection device, system, method and computer readable storage medium Download PDF

Info

Publication number
KR101950681B1
KR101950681B1 KR1020180051972A KR20180051972A KR101950681B1 KR 101950681 B1 KR101950681 B1 KR 101950681B1 KR 1020180051972 A KR1020180051972 A KR 1020180051972A KR 20180051972 A KR20180051972 A KR 20180051972A KR 101950681 B1 KR101950681 B1 KR 101950681B1
Authority
KR
South Korea
Prior art keywords
image
pattern
type
machine learning
defect
Prior art date
Application number
KR1020180051972A
Other languages
Korean (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 주식회사 스켈터랩스
Priority to KR1020180051972A priority Critical patent/KR101950681B1/en
Application granted granted Critical
Publication of KR101950681B1 publication Critical patent/KR101950681B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/168Segmentation; Edge detection involving transform domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

Provided is a method for inspecting a defect of an object. According to an embodiment of the present invention, the method comprises the steps of: determining an object type by using an object image; dividing the object image into one or more partial images based on the determined object type; converting the partial image into a rectangular patch image based on each shape of the one or more divided partial images; inspecting, by a machine learning module, whether an object is defective by using the converted rectangular patch image by using one or more rectangular patch images; and outputting, by the machine learning module, a result of an inspection.

Description

결함 검사 장치, 시스템, 방법 및 컴퓨터 판독가능 저장 매체{DEFECT INSPECTION DEVICE, SYSTEM, METHOD AND COMPUTER READABLE STORAGE MEDIUM}≪ Desc / Clms Page number 1 > DEFECT INSPECTION DEVICE, SYSTEM, METHOD AND COMPUTER READABLE STORAGE MEDIUM,

본 개시는 하나 이상의 패턴 유형을 가지는 오브젝트의 결함을 검사하기 위한 장치, 시스템, 방법 및 컴퓨터 판독가능 저장 매체에 관한 것이다.The present disclosure relates to an apparatus, a system, a method, and a computer-readable storage medium for inspecting a defect in an object having one or more pattern types.

여기에서 달리 언급하지 않으면 본 섹션에서 기술되는 내용은 본 출원에서의 청구범위의 선행 기술이 아니며, 본 섹션에 기재하였다는 이유로 선행 기술로 인정되어서는 안 된다.Unless otherwise stated herein, the description in this section is not prior art to the claims in this application and should not be considered prior art for the reasons described in this section.

최근 인공지능 기술의 발달에 따라, 다양한 산업분야에서 머신 러닝 기법을 결합하고자 하는 시도가 증가하고 있다. 일련의 공정을 거쳐 제조되는 제품 상에는 결함이 형성될 수 있다. 보통, 이러한 결함은 별도의 결함 검사 공정을 거쳐 검출되며, 이러한 결함의 검사 공정에 머신 러닝 기법이 이용될 수 있다.Recently, with the development of artificial intelligence technology, there are increasing attempts to combine machine learning techniques in various industrial fields. Defects can be formed on products manufactured through a series of processes. Normally, these defects are detected through a separate defect inspection process, and a machine learning technique can be used for inspection of such defects.

예컨대, 대한민국 공개 특허공보 제10-2017-0074812호(선행기술문헌 1)에 따르면, 반도체 표본을 검사하는 시스템 및 방법이 제시되어 있으며, 반도체 표본의 이미지를 이용하여 검사 관련 애플리케이션에 대한 학습을 수행하도록 하고 있다. 또한, 대한민국 등록 특허공보 제10-1711073호(선행기술문헌 2)에 따르면, 딥 러닝 알고리즘을 적용한 플렉서블 터치 스크린 패널에 형성되는 미세 크랙을 검출하기 위한 장치 및 방법이 제시되어 있다. 이러한 선행기술문헌 2에서는 피검사대상의 이미지를 미리 정해진 크기의 블록으로 구분하고, 구분된 블록을 다시 사각형의 세부 패치로 분리하여 세부 패치를 이용하여 머신러닝 기법을 이용한 결함을 검출하도록 하고 있다.For example, Korean Patent Laid-Open Publication No. 10-2017-0074812 (Prior Art Document 1) discloses a system and method for inspecting a semiconductor sample, and performs learning about an inspection-related application using an image of a semiconductor sample . According to Korean Patent Registration No. 10-1711073 (Prior Art Document 2), an apparatus and a method for detecting micro cracks formed on a flexible touch screen panel to which a deep learning algorithm is applied are disclosed. In this prior art document 2, the image to be inspected is divided into blocks of predetermined sizes, and the divided blocks are separated into square patches to detect defects using the machine learning technique using the detailed patches.

머신 러닝 기법을 이용하여, 제품에 형성된 결함이 검출되도록 하기 위해서는, 결함 검출에 대하여 많은 수의 학습을 수행할 필요가 있으며, 이러한 학습은 결함의 유형에 따라 수행될 필요가 있으므로, 많은 데이터가 요구될 수 있다. 선행기술문헌 1 및 2에서 나타나는 바와 같이, 반도체 표본, 터치 스크린 패널과 같은 오브젝트는 단일 유형의 패턴을 가지며, 단일 유형의 패턴을 가지는 오브젝트에 대해서는 오브젝트의 이미지를 미리 정해진 크기의 패치로 자르면, 각 패치가 동일 유형의 패턴을 가지므로, 머신 러닝 기법을 이용하여, 각각의 패치에 대하여 일괄적으로 결함 검사를 수행할 수 있다. 그러나, 검사될 오브젝트가 다중 유형의 패턴을 가지는 경우, 종래의 결함 검사 방법은 적합하지 않거나, 머신 러닝을 위하여 매우 많은 양의 정보가 필요할 수 있다. In order to detect defects formed in a product by using a machine learning technique, it is necessary to perform a large number of learning operations on defect detection, and since such learning needs to be performed according to the type of defects, . As shown in the prior art documents 1 and 2, an object such as a semiconductor sample or a touch screen panel has a pattern of a single type, and for an object having a single type pattern, if an image of the object is cut into a patch of a predetermined size, Since the patches have patterns of the same type, defect inspection can be collectively performed for each patch using a machine learning technique. However, when the object to be inspected has multiple types of patterns, the conventional defect inspection method is not suitable, or a very large amount of information may be required for machine learning.

본 개시는 위와 같은 문제점들을 해결하기 위한 것으로서, 머신 러닝 모듈의 결함 검출에 관한 학습의 효율성을 향상 시키고 결함의 검출 성능을 또한 향상시킬 수 있는 결함 검출 장치, 시스템, 방법 및 컴퓨터 판독가능 저장매체를 제시한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems and it is an object of the present invention to provide a defect detection apparatus, a system, a method, and a computer readable storage medium capable of improving the efficiency of learning about defect detection of a machine learning module, present.

본 개시의 일부 실시예에서, 하나 이상의 패턴 유형을 가지는 오브젝트를 검사하기 위한 결함 검사 방법이 설명된다. 일 예시적인 방법은 컴퓨팅 장치의 제어 하에서 수행될 수 있으며, 컴퓨팅 장치는 머신 러닝 모듈을 포함할 수 있다. 일부 예시에서, 결함 검출 방법은 오브젝트에 대한 오브젝트 이미지를 이용하여, 오브젝트의 유형을 결정하는 단계; 오브젝트의 결정된 유형에 기초하여, 오브젝트 이미지를 하나 이상의 부분 이미지로 분할하는 단계 - 하나 이상의 부분 이미지 각각은 하나의 패턴을 가지며, 하나의 패턴은 하나 이상의 패턴 유형 중 하나임 -; 분할된 하나 이상의 부분 이미지 각각의 형태에 기초하여, 해당 부분 이미지를 사각형의 패치 이미지로 변환하는 단계; 하나 이상의 사각형의 패치 이미지를 이용하여 결함 검출에 관한 머신 러닝을 수행하는 컴퓨팅 장치의 머신 러닝 모듈에 의해, 변환된 사각형의 패치 이미지를 이용하여 오브젝트에 결함이 있는지 여부를 검사하는 단계; 및 머신 러닝 모듈에 의한 검사의 결과를 출력하는 단계를 포함할 수 있다.In some embodiments of the present disclosure, a defect inspection method for inspecting an object having one or more pattern types is described. One exemplary method may be performed under the control of a computing device, and the computing device may include a machine learning module. In some examples, a defect detection method includes determining an object type using an object image for an object; Dividing an object image into one or more partial images, each based on a determined type of object, wherein each of the one or more partial images has one pattern, wherein one pattern is one of one or more pattern types; Converting the partial image into a rectangular patch image based on the shape of each of the one or more partial images divided; Checking whether an object is defective by using a patch image of the transformed rectangle by a machine learning module of a computing device that performs machine learning on defect detection using a patch image of one or more squares; And outputting a result of the inspection by the machine learning module.

일부 실시예에서, 결함 검사 장치가 설명된다. 일 예시적인 결함 검사 장치는 오브젝트 유형 결정 모듈, 이미지 분할 모듈, 패치 이미지 변환 모듈, 머신 러닝 모듈 및 출력 모듈을 포함할 수 있다. 오브젝트 유형 결정 모듈은 오브젝트에 대한 오브젝트 이미지를 이용하여, 오브젝트의 유형을 결정하도록 구성될 수 있다. 이미지 분할 모듈은 오브젝트 유형 결정 모듈에 의해 결정된 오브젝트의 유형에 기초하여, 오브젝트 이미지를 하나 이상의 부분 이미지로 분할하도록 구성될 수 있다. 이미지 분할 모듈은 하나 이상의 이미지 각각이 하나의 패턴을 가지도록 분할할 수 있으며, 여기서, 하나의 패턴은 하나 이상의 패턴 유형 중 하나이다. 패치 이미지 변환 모듈은 이미지 분할 모듈에 의해 분할된 하나 이상의 부분 이미지 각각의 형태에 기초하여, 해당 부분 이미지를 사각형의 패치 이미지로 변환하도록 구성될 수 있다. 머신 러닝 모듈은 변환된 사각형의 패치 이미지를 이용하여 오브젝트에 결함이 있는지 여부를 검사하도록 구성될 수 있다. 또한 머신 러닝 모듈은 변환된 사각형의 패치 이미지를 포함하는 하나 이상의 사각형의 패치 이미지를 이용하여 결함 검출을 위한 학습을 수행하도록 구성될 수 있다. 출력 모듈은 머신 러닝 모듈에 의한 검사의 결과를 출력하도록 구성될 수 있다.In some embodiments, a defect inspection apparatus is described. One exemplary defect inspection apparatus may include an object type determination module, an image segmentation module, a patch image conversion module, a machine learning module, and an output module. The object type determination module may be configured to determine an object type using an object image for the object. The image segmentation module may be configured to segment the object image into one or more partial images based on the type of object determined by the object type determination module. The image segmentation module may divide each of the one or more images into one pattern, wherein one pattern is one of one or more pattern types. The patch image conversion module may be configured to convert the partial image into a rectangular patch image based on the shape of each of the one or more partial images divided by the image segmentation module. The machine learning module may be configured to use the patch image of the transformed rectangle to check whether the object is defective. The machine learning module may also be configured to perform learning for defect detection using one or more rectangular patch images containing patch images of the transformed rectangles. The output module may be configured to output the result of the inspection by the machine learning module.

일부 실시예에서, 하나 이상의 패턴 유형을 가지는 오브젝트의 결함을 검사하기 위하여 하나 이상의 컴퓨터 실행가능 명령어를 저장한 컴퓨터 판독가능 저장 매체가 설명된다. 하나 이상의 컴퓨터 실행가능 명령어가 실행되는 경우, 컴퓨팅 장치로 하여금, 오브젝트에 대한 오브젝트 이미지를 이용하여, 오브젝트의 유형을 결정하는 동작; 오브젝트의 결정된 유형에 기초하여, 오브젝트 이미지를 하나 이상의 부분 이미지로 분할하는 동작 - 하나 이상의 부분 이미지 각각은 하나의 패턴을 가지며, 하나의 패턴은 하나 이상의 패턴 유형 중 하나임 -; 분할된 하나 이상의 부분 이미지 각각의 형태에 기초하여, 해당 부분 이미지를 사각형의 패치 이미지로 변환하는 동작; 하나 이상의 사각형의 패치 이미지를 이용하여 결함 검출에 관한 머신 러닝을 수행하는 컴퓨팅 장치의 머신 러닝 모듈에 의해, 변환된 사각형의 패치 이미지를 이용하여 오브젝트에 결함이 있는지 여부를 검사하는 동작; 및 머신 러닝 모듈에 의한 검사의 결과를 출력하는 동작을 포함하는 동작들을 수행하도록 할 수 있다.In some embodiments, a computer-readable storage medium storing one or more computer-executable instructions for inspecting a defect of an object having one or more pattern types is described. When the one or more computer executable instructions are executed, causing the computing device to determine an object type using an object image for the object; Dividing an object image into one or more partial images based on a determined type of object, each of the one or more partial images having one pattern, wherein one pattern is one of one or more pattern types; Converting the partial image into a rectangular patch image based on the shape of each of the one or more partial images segmented; Checking whether an object is defective by using a patch image of the transformed rectangle by a machine learning module of a computing device that performs machine learning on defect detection using one or more rectangular patch images; And outputting the result of the inspection by the machine learning module.

이상의 간단한 요약 및 효과에 관한 설명은 단순히 예시적인 것으로서 본 개시에서 의도한 기술적 사항을 제한하기 위한 것이 아니다. 이하의 상세한 설명과 첨부된 도면을 참조함으로써, 전술한 예시적인 실시예들과 기술적 특징들에 더하여, 추가적인 실시예와 기술적 특징들이 이해될 수 있을 것이다.The foregoing brief summary and effect description are exemplary only and are not intended to limit the spirit of the invention disclosed in the present disclosure. Additional embodiments and technical features may be understood in addition to the above-described exemplary embodiments and technical features, with reference to the following detailed description and the accompanying drawings.

앞서 설명한 본 개시의 특징들과 기타 추가적인 특징들에 대해서는 첨부된 도면을 참조하여 이하에서 자세하게 설명한다. 이러한 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이며, 본 개시의 기술적 사상의 범위를 제한하는 것으로 간주되어서는 안 된다. 본 개시의 기술적 사상은 첨부된 도면을 사용하여 더 구체적이고 상세하게 기술될 것이다.
도 1은 본 개시의 적어도 일부 실시예에 따른 결함 검사 장치를 개략적으로 예시하는 블록도이고;
도 2는 도 1에 따른 결함 검사 장치를 포함하는 결함 검사 시스템의 예시적인 블록도 이고;
도 3은 본 개시의 적어도 일부 실시예에 따른 결함 검사 방법에 관한 예시적인 프로세스를 도시하는 흐름도이고;
도 4는 본 개시의 적어도 일부 실시예에 따라 결함 검사를 수행하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램 제품을 도시하고;
도 5는 본 개시의 적어도 일부 실시예에 따라 배열되는 컴퓨팅 장치의 예시적인 블록도이며;
도 6은 본 개시의 적어도 일부 실시예에 따른 결함 검사의 일 예시를 나타내는 도면이다.
The features of the present disclosure described above and other additional features will be described in detail below with reference to the accompanying drawings. These drawings depict only a few embodiments in accordance with the present disclosure and are not to be construed as limiting the scope of the present teachings. The technical spirit of the present disclosure will be described in more detail and in detail using the accompanying drawings.
1 is a block diagram that schematically illustrates a defect inspection apparatus according to at least some embodiments of the present disclosure;
2 is an exemplary block diagram of a defect inspection system including a defect inspection apparatus according to Fig. 1;
3 is a flow chart illustrating an exemplary process for a defect inspection method in accordance with at least some embodiments of the present disclosure;
Figure 4 illustrates an exemplary computer program product that may be used to perform defect inspection in accordance with at least some embodiments of the present disclosure;
5 is an exemplary block diagram of a computing device arranged in accordance with at least some embodiments of the present disclosure;
6 is a diagram illustrating an example of a defect check according to at least some embodiments of the present disclosure;

이하, 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 구현예 및 실시예를 상세히 설명한다. 그러나, 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 구현예 및 실시예에 한정되지 않는다. Hereinafter, embodiments and embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention. It should be understood, however, that the present invention may be embodied in many different forms and is not limited to the embodiments and examples described herein.

본 개시는 일반적으로 하나 이상의 패턴 유형을 가지는 오브젝트를 검사하기 위한 결함 검사 장치, 시스템, 방법 및 컴퓨터 판독가능 저장 매체에 관한 것으로서, 하나 이상의 유형의 패턴을 가지는 오브젝트에 대한 결함 검사를 수행하기에 적합한 장치, 시스템, 방법 및 컴퓨터 판독가능 저장 매체를 제시한다.The present disclosure generally relates to a defect inspection apparatus, system, method and computer-readable storage medium for inspecting an object having one or more pattern types, and is suitable for performing defect inspection for objects having patterns of one or more types Apparatus, system, method, and computer-readable storage medium.

도 1은 본 개시의 적어도 일부 실시예에 따른 결함 검사 장치(100)를 개략적으로 예시하는 블록도이다. 결함 검사 장치(100)는 검사될 오브젝트의 이미지를 이용하여 오브젝트가 결함이 있는지 여부를 검사하기 위한 처리를 수행할 수 있는 컴퓨팅 장치이다. 오브젝트는 예컨대, 반도체, 직물과 같이 단일 유형의 패턴을 가지는 오브젝트뿐만 아니라, 예컨대, 톱니 바퀴, 다양한 유형의 소켓, 등을 포함하는 다양한 유형의 기계 부품과 같이 다중 유형의 패턴을 가지는 오브젝트일 수 있다. 결함 검사 장치(100)는 예컨대, 예컨대, 독립형 서버, 웹 서버, 등과 같은 서버형 컴퓨터, 데스크 탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 특정 용도 장치 또는 상기 기능 중 임의의 것을 포함하는 융합 장치와 같은 전자 장치를 포함하지만, 이에 제한되는 것은 아니다.1 is a block diagram that schematically illustrates a defect inspection apparatus 100 according to at least some embodiments of the present disclosure. The defect inspection apparatus 100 is a computing device that can perform processing for checking whether an object is defective by using an image of an object to be inspected. An object may be an object having multiple types of patterns, such as various types of mechanical parts, including, for example, gears, various types of sockets, etc., as well as objects having a single type of pattern such as semiconductor, . The defect inspection apparatus 100 may be, for example, a server-type computer such as a stand-alone server, a web server, etc., a desktop computer, a laptop computer, a smart phone, a tablet computer, Electronic devices such as, but not limited to, electronic devices.

도 1에 도시된 바와 같이, 예시적인 결함 검사 장치(100)는 메모리(110), 오브젝트 유형 결정 모듈(120), 이미지 분할 모듈(130), 패치 이미지 변환 모듈(140), 머신 러닝 모듈(150) 및 출력 모듈(160)을 포함할 수 있다. 결함 검사 장치(100)에 포함되는 컴포넌트, 예컨대, 오브젝트 유형 결정 모듈(120), 이미지 분할 모듈(130), 패치 이미지 변환 모듈(140), 머신 러닝 모듈(150) 및 출력 모듈(160) 각각은 개별적으로 구현될 수 있거나 컴포넌트들 중 둘 이상이 결합하여 하나의 컴포넌트를 형성하는 방식으로 구현될 수 있다. 결함 검사 장치(100)에 포함되는 컴포넌트는 장치, 서버, 프로그램 유닛 또는 이들의 적절한 조합을 형성할 수 있다. 또한, 결함 검사 장치(100)의 컴포넌트 중 일부, 예컨대, 오브젝트 유형 결정 모듈(120), 이미지 분할 모듈(130) 및 패치 이미지 변환 모듈(140)은 이하에서 설명되는 기능, 동작, 작용, 등을 수행하기 위하여 이하에서 설명될 추가적인 실시예에 따라, 머신 러닝 모듈과 협력할 수 있다.1, the exemplary defect inspection apparatus 100 includes a memory 110, an object type determination module 120, an image segmentation module 130, a patch image conversion module 140, a machine learning module 150 And an output module 160. [0027] Each of the components included in the defect inspection apparatus 100, such as the object type determination module 120, the image segmentation module 130, the patch image conversion module 140, the machine learning module 150, and the output module 160, Or may be implemented in a manner such that two or more of the components combine to form one component. The components included in the defect inspection apparatus 100 may form a device, a server, a program unit, or a suitable combination thereof. In addition, some of the components of the defect inspection apparatus 100, such as the object type determination module 120, the image segmentation module 130, and the patch image conversion module 140, may perform functions, operations, May cooperate with the machine learning module in accordance with additional embodiments to be described below for implementation.

메모리(110)는 오브젝트의 이미지 (이하 "오브젝트 이미지"라 함)를 저장할 수 있다. 메모리(110)에 저장되는 오브젝트 이미지는 잘 알려진 다양한 유형의 이미지 파일로서 저장될 수 있다. 일부 예시에서, 메모리(110)는 이미지 분할 모듈(130), 패치 이미지 변환 모듈(140) 및 출력 모듈(160)의 동작에 따라 처리된 데이터를 저장할 수 있다.The memory 110 may store an image of an object (hereinafter referred to as an "object image"). The object images stored in the memory 110 may be stored as well-known various types of image files. In some examples, the memory 110 may store processed data according to the operation of the image segmentation module 130, the patch image transformation module 140, and the output module 160.

일부 실시예에서, 오브젝트 유형 결정 모듈(120)은 메모리(110)에 저장된 오브젝트 이미지를 판독할 수 있다. 오브젝트 유형 결정 모듈(120)은 오브젝트 이미지를 이용하여, 오브젝트의 유형을 결정하도록 구성될 수 있다. 오브젝트 유형의 결정에는 다양한 이미지 인식 기법이 이용될 수 있다. 일부 예시에서, 오브젝트 유형 결정 모듈(120)은 오브젝트 이미지로부터 검사되는 오브젝트가 하나 이상의 미리 정해진 오브젝트의 유형 중 하나라고 결정할 수 있다. 오브젝트의 유형은 예컨대, 오브젝트의 형태, 구성 또는 종류, 오브젝트가 가지는 패턴 유형, 오브젝트가 가지는 패턴의 위치, 등을 포함할 수 있으나, 이에 제한되지 않는다. 일부 다른 예시에서, 오브젝트 유형 결정 모듈(120)은 머신 러닝 모듈(150)과 협력하여, 오브젝트 이미지로부터 오브젝트의 유형을 결정할 수 있다.In some embodiments, the object type determination module 120 may read an object image stored in the memory 110. The object type determination module 120 can be configured to determine an object type using an object image. Various image recognition techniques can be used to determine the object type. In some instances, the object type determination module 120 may determine that the object being inspected from the object image is one of more than one type of predetermined object. The type of object may include, but is not limited to, the type, configuration or type of the object, the type of pattern the object has, the position of the pattern the object has, and the like. In some other instances, object type determination module 120 may cooperate with machine learning module 150 to determine the type of object from an object image.

일부 실시예에서, 이미지 분할 모듈(130)은 오브젝트 유형 결정 모듈(120)에 의하여 결정된 오브젝트의 유형에 기초하여, 오브젝트 이미지를 하나 이상의 부분 이미지로 분할하도록 구성될 수 있다. 이미지 분할 모듈(130)은 패턴 유형별로 오브젝트 이미지를 분할할 수 있다. 즉, 이미지 분할 모듈(130)에 의하여 분할되는 하나 이상의 부분 이미지 각각은 하나의 패턴을 가질 수 있다. 일부 예시에서, 이미지 분할 모듈(130)은 오브젝트 이미지의 분할에 다양한 도형 인식 알고리즘을 이용할 수 있다. 일 예시에서, 오브젝트는 하나 이상의 도형 패턴을 포함할 수 있으며, 오브젝트는 하나 이상의 도형 패턴을 각각 부분 이미지로 분할할 수 있다. 예컨대, 이미지 분할 모듈(130)은 원형 패턴을 검출하기 위하여 Hough circle transform과 같은 알고리즘을 이용할 수 있거나 다각형 패턴의 검출을 위하여 Ramer-Douglas-Peucker algorithm과 같은 알고리즘을 이용할 수 있다. 일부 다른 예시에서, 이미지 분할 모듈(130)은 머신 러닝 모듈(150)과 협력하여, 오브젝트 이미지를 하나 이상의 부분 이미지로 분할할 수 있다. 분할된 하나 이상의 부분 이미지 각각은, 예컨대, 원, 타원과 같은 원형, 삼각형, 사각형, 오각형, 등과 같은 다각형, 부채꼴, 링형, 부분적인 링형, 등과 같이 다양한 형태일 수 있다.In some embodiments, the image segmentation module 130 may be configured to segment the object image into one or more partial images, based on the type of object determined by the object type determination module 120. The image segmentation module 130 may divide an object image according to a pattern type. That is, each of the one or more partial images divided by the image segmentation module 130 may have one pattern. In some instances, the image segmentation module 130 may utilize various shape recognition algorithms for segmenting the object image. In one example, an object may include one or more shape patterns, and an object may divide one or more shape patterns into partial images, respectively. For example, the image segmentation module 130 may use an algorithm such as the Hough circle transform to detect the circular pattern, or may use an algorithm such as the Ramer-Douglas-Peucker algorithm to detect the polygonal pattern. In some other instances, image segmentation module 130 may cooperate with machine learning module 150 to segment the object image into one or more partial images. Each of the one or more segment images may be in various forms such as a circle, a circle, an ellipse, a polygon such as a circle, a triangle, a rectangle, a pentagon, etc., a sector, a ring,

일부 실시예에서, 패치 이미지 변환 모듈(140)은 분할된 하나 이상의 부분 이미지 각각의 형태에 기초하여, 해당 부분 이미지를 패치 이미지로 변환하도록 구성될 수 있다. 이와 같이, 패치 이미지 변환 모듈(140)은 이미지 분할 모듈(130)에 의하여 분할된 하나 이상의 부분 이미지를 이용하여 하나 이상의 패치 이미지를 생성할 수 있다. 패치 이미지는 결함 검사 장치(100)와 같은 컴퓨팅 장치가 처리하기에 용이하도록 사각형의 이미지이다. In some embodiments, the patch image conversion module 140 may be configured to convert the partial image into a patch image based on the shape of each of the one or more partial images that have been segmented. As such, the patch image transform module 140 may generate one or more patch images using one or more partial images segmented by the image segmentation module 130. The patch image is a rectangular image for facilitating processing by a computing device such as the defect inspection apparatus 100.

일부 실시예에서, 패치 이미지 변환 모듈(140)은 부분 이미지를 사각형의 패치 이미지로 변환하도록 다양한 유형의 변환을 이용할 수 있다. 일부 예시에서, 패치 이미지 변환 모듈(140)은 극-직교 좌표 변환(polar coordinate to cartesian coordinate transform)과 같은 좌표 변환을 이용하여 부분 이미지를 사각형의 패치 이미지로 변환할 수 있다. 추가적으로 또는 대안적으로, 패치 이미지 변환 모듈(140)은 스쿠 변환(skew transform), 시어 변환(shear transform) 및/또는 이미지 와핑(image warping), 등과 같은 다양한 유형의 이미지 처리 기법을 이용하여 부분 이미지를 변환할 수 있다. 일부 예시에서, 패치 이미지 변환 모듈(140)은 부분 이미지의 패턴에 대응하는 패턴 유형에 기초하여, 해당 부분 이미지를 변환하도록 구성될 수 있다. 이미지 분할 모듈(130)에 의한 오브젝트 이미지의 분할 및 패치 이미지 변환 모듈(140)에 의한 부분 이미지의 변환의 예시는 도 6에서 예시되고 이하에서 상세히 설명될 것이다.In some embodiments, the patch image transform module 140 may use various types of transforms to transform the partial image into a rectangular patch image. In some examples, the patch image transform module 140 may transform a partial image into a rectangular patch image using coordinate transformations such as polar coordinate to cartesian coordinate transforms. Additionally or alternatively, the patch image transform module 140 may use various types of image processing techniques, such as skew transform, shear transform, and / or image warping, Can be converted. In some examples, the patch image conversion module 140 may be configured to convert the partial image based on the pattern type corresponding to the pattern of the partial image. Partitioning of the object image by the image segmentation module 130 and an example of the transformation of the partial image by the patch image transformation module 140 are illustrated in FIG. 6 and will be described in detail below.

일부 실시예에서, 머신 러닝 모듈(150)은 오브젝트의 결함을 검사하기에 앞서, 사각형의 패치 이미지를 이용하여 결함 검출을 위한 학습을 미리 수행할 수 있다. 이후, 머신 러닝 모듈(150)은 패치 이미지 변환 모듈(140)에 의해 변환된 사각형의 패치 이미지를 이용하여 오브젝트에 결함이 있는지 여부를 검사하도록 구성될 수 있다. 한편, 머신 러닝 모듈(150)은 또한 검사에 이용된 사각형의 패치 이미지를 머신 러닝 모듈(150)의 학습에 이용할 수 있다. 일부 예시에서, 결함 검출 장치(100)의 사용자는 입력 장치(도시되지 않음)를 통하여, 머신 러닝 모듈(150)에 의해 결정된 검사 결과에 대한 피드백을 입력할 수 있으며, 그러한 피드백에 기초하여, 결함 검출에 대한 학습을 수행할 수 있다. 머신 러닝 모듈(150)은 알려진 다양한 머신 러닝 기법을 이용 할 수 있다. 예컨대, 머신 러닝 모듈(150)은 딥 뉴럴 네트워크(Deep Neural Network; DNN), 컨벌루셔널 뉴럴 네트워크(Convolutional Neural Network; CNN), 리커런트 뉴럴 네트워크 (Recurrent Neural Network; RNN), 서포트 벡터 머신(Support Vector Machine; SVM), 등과 같은 다양한 머신 러닝 모델을 이용할 수 있다. 일부 예시에서, 머신 러닝 모듈(150)은 오브젝트의 결함을 검출하기 위하여, canny edge detection, SHIFT, SURF, 등의 다양한 이미지 처리 기법을 이용할 수 있다.In some embodiments, the machine learning module 150 may perform pre-learning for defect detection using a rectangular patch image prior to examining the defect of the object. Thereafter, the machine learning module 150 may be configured to check whether there is a defect in the object using the patch image of the rectangle converted by the patch image conversion module 140. On the other hand, the machine learning module 150 can also use the rectangular patch image used for the inspection in the learning of the machine learning module 150. In some instances, a user of the fault detection apparatus 100 may input feedback on the test results determined by the machine learning module 150 via an input device (not shown) and, based on such feedback, Learning for detection can be performed. The machine learning module 150 may utilize various known machine learning techniques. For example, the machine learning module 150 may include a Deep Neural Network (DNN), a Convolutional Neural Network (CNN), a Recurrent Neural Network (RNN), a Support Vector Machine Vector Machine (SVM), and so on. In some instances, the machine learning module 150 may utilize various image processing techniques such as canny edge detection, SHIFT, SURF, etc. to detect defects in an object.

일부 실시예에서, 출력 모듈(160)은 머신 러닝 모듈(150)에 의한 검사의 결과를 출력하도록 구성될 수 있다. 일부 예시에서, 검사의 결과는 검출된 결함의 유형, 검출된 결함의 위치 및 검출된 결함에 대한 신뢰도 중 적어도 하나를 포함할 수 있다. 추가적인 일부 예시에서, 출력 모듈(160)은 머신 러닝 모듈(150)의 검사 결과에 기초하여, 미리 정해진 조건에 따라 불량에 대한 최종적인 결정을 수행할 수 있다. 예컨대, 미리 정해진 기준은 사용자에 의해 설정된 민감도 또는 검출 대상 불량의 유형을 포함할 수 있으나, 이에 제한되지는 않는다.In some embodiments, the output module 160 may be configured to output the results of the inspection by the machine learning module 150. In some examples, the results of the inspection may include at least one of the type of the detected defect, the location of the detected defect, and the reliability for the detected defect. In some additional examples, the output module 160 may perform a final determination of the failure based on predetermined conditions, based on the inspection results of the machine learning module 150. For example, the predetermined criterion may include, but is not limited to, the sensitivity set by the user or the type of the detected object defect.

도 2는 도 1에 따른 결함 검사 장치(100)를 포함하는 결함 검사 시스템(200)의 예시적인 블록도 이다. 도 2에 따른 결함 검사 시스템(200)은 결함 검사 장치(100) 및 오브젝트로부터 오브젝트 이미지를 획득하도록 구성된 이미지 캡처 장치(210)를 포함할 수 있다. 이미지 캡처 장치(210)는 결함 검사 장치(100)와 유선 또는 무선으로 연결될 수 있다. 또한, 이미지 캡처 장치(210)는 획득한 오브젝트 이미지를 유선 또는 무선 네트워크를 통하여 결함 검사 장치(100)에 전송할 수 있다. 이미지 캡처 장치(210)는 결함 검사 장치(100)와 일체로 형성될 수 있지만, 결함 검사 장치(100)와 별개의 장치로서 구성될 수 있다.2 is an exemplary block diagram of a defect inspection system 200 including a defect inspection apparatus 100 according to FIG. The defect inspection system 200 according to FIG. 2 may include a defect inspection apparatus 100 and an image capture apparatus 210 configured to acquire an object image from an object. The image capturing apparatus 210 may be connected to the defect inspection apparatus 100 in a wired or wireless manner. The image capture device 210 may transmit the acquired object image to the defect inspection apparatus 100 via a wired or wireless network. The image capturing apparatus 210 may be formed integrally with the defect inspection apparatus 100, but may be configured as a separate apparatus from the defect inspection apparatus 100.

도 3은 본 개시의 적어도 일부 실시예에 따른 결함 검사 방법에 관한 예시적인 프로세스(300)를 도시하는 흐름도이다. 예컨대, 프로세스(300)는 도 1 및 도 2의 불량 검출 장치(100)와 같은 컴퓨팅 장치의 제어 하에서 수행될 수 있다. 프로세스(300)는 하나 이상의 패턴 유형을 가지는 오브젝트를 검사하도록 수행될 수 있다. 오브젝트는 예컨대, 반도체, 직물과 같이 단일 유형의 패턴을 가지는 오브젝트 및 예컨대, 톱니 바퀴, 다양한 유형의 소켓, 등을 포함하는 다양한 유형의 기계 부품과 같이 다중 유형의 패턴을 가지는 오브젝트를 포함할 수 있다. 도 3에 도시된 프로세스(300)는 블록(310, 320, 330, 340 및/또는 350)에 의해 예시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 포함할 수 있다. 한편, 도 3에 예시된 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다. 프로세스(300)는 오브젝트의 유형을 결정하는 블록(310)에서 시작할 수 있다.FIG. 3 is a flow chart illustrating an exemplary process 300 for a defect inspection method in accordance with at least some embodiments of the present disclosure. For example, the process 300 may be performed under the control of a computing device, such as the fault detection device 100 of FIGS. Process 300 may be performed to examine objects having one or more pattern types. An object can include objects having multiple types of patterns, such as various types of mechanical parts, including, for example, semiconductor, textured objects, and objects having a single type of pattern, e.g., gears, various types of sockets, . The process 300 illustrated in FIG. 3 may include one or more actions, functions, or actions as illustrated by blocks 310, 320, 330, 340, and / or 350. On the other hand, the schematic operations illustrated in FIG. 3 are provided by way of example only, and some of the operations may be optional, combined with fewer operations, or extended with additional operations, without departing from the essence of the disclosed embodiments . Process 300 may begin at block 310, which determines the type of object.

블록(310)에서, 컴퓨팅 장치는 오브젝트에 대한 오브젝트 이미지를 이용하여 오브젝트의 유형을 결정할 수 있다. 일부 예시에서, 컴퓨팅 장치는 오브젝트 이미지로부터 검사될 오브젝트가 하나 이상의 미리 정해진 오브젝트의 유형 중 하나라고 결정할 수 있다. 일부 다른 예시에서, 컴퓨팅 장치는 머신 러닝 모듈을 이용하여 오브젝트 이미지로부터 오브젝트의 유형을 결정할 수 있다. 오브젝트의 결정을 함에 있어서, 다양한 이미지 인식 기법이 이용될 수 있다. 오브젝트의 유형은, 예컨대, 오브젝트의 형태, 구성 또는 종류, 오브젝트가 가지는 패턴 유형, 오브젝트가 가지는 패턴의 위치, 등을 포함할 수 있으나, 이에 제한되지 않는다. 프로세스(300)는 블록(310)에서, 오브젝트 이미지를 하나 이상의 부분 이미지로 분할하는 블록(320)으로 이어질 수 있다.At block 310, the computing device may determine the type of object using an object image for the object. In some instances, the computing device may determine from the object image that the object to be examined is one of more than one type of predetermined object. In some other instances, a computing device may use a machine learning module to determine the type of object from an object image. In determining the object, various image recognition techniques can be used. The type of object may include, but is not limited to, the type, configuration or kind of the object, the pattern type of the object, the position of the pattern of the object, and the like. The process 300 may proceed to block 310, which may proceed to block 320, where the object image is divided into one or more partial images.

블록(320)에서, 컴퓨팅 장치는 블록(310)에서 결정된 오브젝트의 유형에 기초하여, 오브젝트 이미지를 하나 이상의 부분 이미지로 분할할 수 있다. 컴퓨팅 장치는 패턴 유형별로 오브젝트 이미지를 분할할 수 있다. 일부 예시에서, 컴퓨팅 장치는 예컨대, Hough circle transform, Ramer-Douglas-Peucker algorithm, 등과 같은 다양한 도형 인식 알고리즘을 이용하여 오브젝트 이미지를 분할할 수 있다. 프로세스(300)는 블록(320)에서 부분 이미지를 사각형의 패치 이미지로 변환하는 블록(330)으로 이어질 수 있다.At block 320, the computing device may partition the object image into one or more partial images, based on the type of object determined at block 310. [ The computing device may partition the object image by pattern type. In some instances, a computing device may partition an object image using various shape recognition algorithms such as, for example, a Hough circle transform, a Ramer-Douglas-Peucker algorithm, and the like. Process 300 may proceed to block 330, which converts the partial image to a rectangular patch image at block 320. [

블록(330)에서, 컴퓨팅 장치는 블록(320)에서 분할된 하나 이상의 부분 이미지 각각을 사각형의 패치 이미지로 변환할 수 있다. 컴퓨팅 장치는 부분 이미지의 형태에 기초하여 해당 부분 이미지를 변환할 수 있다. 일부 예시에서, 컴퓨팅 장치는 극-직교 좌표 변환(polar coordinate to cartesian coordinate transform)과 같은 좌표 변환을 이용하여 부분 이미지를 사각형의 패치 이미지로 변환할 수 있다. 추가적으로 또는 대안적으로, 컴퓨팅 장치는 스쿠 변환(skew transform) 및/또는 시어 변환(shear transform), 이미지 와핑(image warping), 등과 같은 다양한 유형의 이미지 처리 기법을 이용하여 부분 이미지를 변환할 수 있다. 일부 예시에서, 컴퓨팅 장치는 부분 이미지의 패턴에 대응하는 패턴 유형에 기초하여 해당 부분 이미지를 변환할 수 있다. 프로세스(300)는 블록(330)에서 머신 러닝 모듈에 의하여, 변환된 사각형의 패치 이미지를 이용하여 오브젝트의 불량을 검사하는 블록(340)으로 이어질 수 있다.At block 330, the computing device may convert each of the one or more sub-images segmented at block 320 into a rectangular patch image. The computing device may convert the partial image based on the shape of the partial image. In some instances, a computing device may transform a partial image into a rectangular patch image using coordinate transformations such as polar coordinate to cartesian coordinate transforms. Additionally or alternatively, the computing device may transform a partial image using various types of image processing techniques, such as skew transform and / or shear transform, image warping, and the like . In some instances, the computing device may convert the partial image based on the pattern type corresponding to the pattern of the partial image. The process 300 may lead to block 340, which uses the machine learning module at block 330 to check for an object defect using the translated patch image of the rectangle.

블록(340)에서, 컴퓨팅 장치는 블록(330)에서 변환된 사각형의 패치 이미지를 이용하여, 컴퓨팅 장치의 머신 러닝 모듈에 의하여 오브젝트의 결함을 검사할 수 있다. 한편, 컴퓨팅 장치의 머신 러닝 모듈은 변환된 사각형의 패치 이미지와 같은 하나 이상의 사각형의 패치 이미지를 이용하여 결함 검출을 위한 학습을 수행할 수 있다. 프로세스(300)는 블록(340)에서 검사의 결과를 출력하는 블록(350)으로 이어질 수 있다.At block 340, the computing device can use the patch image of the transformed quadrangle at block 330 to inspect the object for defects by the machine learning module of the computing device. On the other hand, the machine learning module of the computing device can perform learning for defect detection using one or more square patch images such as a patch image of a transformed rectangle. Process 300 may proceed to block 350, which outputs the result of the check at block 340. [

블록(350)에서, 컴퓨팅 장치는 블록(340)에서 머신 러닝 모듈에 의하여 수행된 결함의 검사의 결과를 출력할 수 있다. 일부 예시에서, 검사의 결과는 검출된 결함의 유형, 검출된 결함의 위치 및 검출된 결함에 대한 신뢰도 중 적어도 하나를 포함할 수 있다. 추가적인 일부 예시에서, 컴퓨팅 장치는 머신 러닝 모듈의 검사 결과에 기초하여, 미리 정해진 조건에 따라 결함에 대한 최종적인 결정을 수행할 수 있다.At block 350, the computing device may output the result of the examination of the defect performed by the machine learning module at block 340. [ In some examples, the results of the inspection may include at least one of the type of the detected defect, the location of the detected defect, and the reliability for the detected defect. In some additional examples, the computing device may perform a final determination of a fault based on a pre-determined condition based on the inspection results of the machine learning module.

이와 같이, 본 개시에 따르면, 다중 유형의 패턴을 가지는 오브젝트에 대해서 패턴 별로 이미지를 분할함으로써, 패턴 유형 마다 결함을 검사할 수 있으며, 패턴 별로 분할된 이미지를 사각형의 패치 이미지로 변환함으로써, 머신 러닝 모듈에 의해 검사되는 이미지를 패턴 유형 마다 정규화할 수 있으므로, 머신 러닝 모듈의 결함 검출에 관한 학습의 효율성 및 결함의 검출 성능을 향상시킬 수 있다.As described above, according to the present disclosure, it is possible to inspect defects for each pattern type by dividing an image for each pattern for an object having multiple types of patterns. By converting an image divided for each pattern into a rectangular patch image, Since the image inspected by the module can be normalized for each pattern type, it is possible to improve the efficiency of learning about the defect detection of the machine learning module and the defect detection performance.

도 4는 본 개시의 적어도 일부 실시예에 따라 결함 검사를 수행하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램 제품(400)을 도시한다. 예시적인 컴퓨터 프로그램 제품의 예시적인 실시예는 신호 포함 매체(402)를 이용하여 제공된다. 일부 실시예에서, 하나 이상의 컴퓨터 프로그램 제품(400)의 신호 포함 매체(402)는 컴퓨터 판독가능 매체(406), 기록 가능 매체(408) 및/또는 통신 매체(410)를 포함할 수 있다.FIG. 4 illustrates an exemplary computer program product 400 that may be used to perform defect inspection in accordance with at least some embodiments of the present disclosure. Exemplary embodiments of an exemplary computer program product are provided using signal embedding medium 402. [ In some embodiments, the signal-bearing medium 402 of one or more computer program products 400 may comprise a computer-readable medium 406, a recordable medium 408 and / or a communication medium 410.

신호 포함 매체(402)에 포함된 명령어(404)는 본 개시에 따른 결함 검출 장치와 같은 컴퓨팅 장치에 의해 실행될 수 있다. 명령어(404)는 실행되면, 컴퓨팅 장치로 하여금 하나 이상의 패턴 유형을 가지는 오브젝트의 결함을 검사하도록 할 수 있다. 명령어(404)는 오브젝트에 대한 오브젝트 이미지를 이용하여, 오브젝트의 유형을 결정하기 위한 하나 이상의 명령어; 오브젝트의 결정된 유형에 기초하여, 오브젝트 이미지를 하나 이상의 부분 이미지로 분할하기 위한 하나 이상의 명령어 - 상기 하나 이상의 부분 이미지 각각은 상기 하나의 패턴을 가지며, 하나의 패턴은 하나 이상의 패턴 유형 중 하나임 -; 분할된 하나 이상의 부분 이미지 각각의 형태에 기초하여, 해당 부분 이미지를 사각형의 패치 이미지로 변환하기 위한 하나 이상의 명령어; 하나 이상의 사각형의 패치 이미지를 이용하여 결함 검출에 관한 머신 러닝을 수행하는 컴퓨팅 장치의 머신 러닝 모듈에 의해, 변환된 사각형의 패치 이미지를 이용하여 오브젝트에 결함이 있는지 여부를 검사하기 위한 하나 이상의 명령어; 및 머신 러닝 모듈에 의한 검사의 결과를 출력하기 위한 하나 이상의 명령어를 포함할 수 있다.The instructions 404 included in the signal bearing medium 402 may be executed by a computing device, such as a fault detection device according to the present disclosure. Instruction 404, when executed, may cause the computing device to check for defects in objects having one or more pattern types. Instruction 404 may include one or more instructions for determining the type of object using an object image for the object; One or more instructions for partitioning an object image into one or more partial images based on a determined type of object, each of the one or more partial images having the one pattern, wherein one pattern is one of one or more pattern types; One or more instructions for transforming the partial image into a rectangular patch image based on the shape of each of the one or more partial images segmented; One or more instructions for inspecting an object for defects using a patch image of the transformed rectangle by a machine learning module of a computing device that performs machine learning on defect detection using one or more rectangular patch images; And one or more instructions for outputting the results of the inspection by the machine learning module.

도 5는 본 개시의 적어도 일부 실시예에 따라 배열되는 컴퓨팅 장치(500)의 예시적인 블록도이다. 일 예시적인 기본적인 구성(502)에서, 컴퓨팅 장치(500)는 하나 이상의 프로세서(504) 및 시스템 메모리(506)를 포함할 수 있다. 메모리 버스(508)는 프로세서(504) 및 시스템 메모리(506) 사이에서 통신하기 위하여 이용될 수 있다. 요구되는 구성에 따라, 프로세서(504)는 마이크로 프로세서(μP), 마이크로 컨트롤러(μC), 디지털 신호 프로세서(DSP), 또는 그들의 임의의 조합을 포함하는 임의의 유형일 수 있으나, 이에 제한되지는 않는다. 프로세서(504)는 레벨 1 캐시(510), 레벨 2 캐시(512)와 같은 하나 이상의 레벨(level)의 캐시(cache), 프로세서 코어(514), 및 레지스터(516)를 포함할 수 있다. 프로세서 코어(514)는 산술 논리 연산장치(arithmetic logic unit; ALU), 부동 소수점 장치(floating point unit; FPU), 디지털 신호 처리 코어(DSP Core), 또는 그들의 임의의 조합을 포함할 수 있다. 메모리 컨트롤러(518)는 또한 프로세서(504)와 함께 사용될 수 있거나, 또는 일부 구현예에서 메모리 컨트롤러(518)는 프로세서(504)의 내적인 일부일 수 있다.5 is an exemplary block diagram of a computing device 500 that is arranged in accordance with at least some embodiments of the present disclosure. In one exemplary basic configuration 502, computing device 500 may include one or more processors 504 and system memory 506. [ The memory bus 508 may be used to communicate between the processor 504 and the system memory 506. Depending on the configuration desired, the processor 504 may be of any type, including, but not limited to, a microprocessor (uP), a microcontroller (uC), a digital signal processor (DSP), or any combination thereof. The processor 504 may include one or more levels of a cache, such as a level 1 cache 510, a level 2 cache 512, a processor core 514, and a register 516. The processor core 514 may comprise an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. The memory controller 518 may also be used with the processor 504 or, in some implementations, the memory controller 518 may be an internal portion of the processor 504. [

요구되는 구성에 따라, 시스템 메모리(506)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그들의 임의의 조합을 포함하는 임의의 유형일 수 있으나, 이에 제한되지는 않는다. 시스템 메모리(506)는 운영 체제(520), 하나 이상의 어플리케이션(application)(522), 및 프로그램 데이터(524)를 포함할 수 있다. 어플리케이션(522)은 도 1 및 2의 결함 검출 장치(100), 시스템(200) 및/또는 도 3의 프로세스(300)에 관하여 기술된 기능 블록 및/또는 작용을 포함하여 여기에서 기술된 바와 같은 기능을 수행하도록 배열된 기여도 연산 알고리즘(526)을 포함할 수 있다. 일부 실시예에서, 어플리케이션(522)은 최적의 전송 환경을 결정하기 위한 구현이 여기에서 설명된 바와 같이 제공될 수 있도록 운영 체제(520) 상에서 프로그램 데이터(524)로 동작하도록 배열될 수 있다. 예컨대, 결함 검출 장치(100)는 컴퓨팅 장치(500)의 전부 또는 일부를 포함할 수 있으며 최적의 전송 환경을 결정하는 구현이 여기에서 설명된 바와 같이 제공될 수 있도록 어플리케이션(522)의 전부 또는 일부를 수행하는 것이 가능할 수 있다. 이러한 기술된 기본적인 구성은 도 5에서 파선(502) 내의 그 구성요소들에 의해 도시된다.Depending on the configuration desired, the system memory 506 may be any type, including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof, Do not. The system memory 506 may include an operating system 520, one or more applications 522, and program data 524. The application 522 may be implemented in any of a variety of ways, including the functional blocks and / or operations described with respect to the defect detection apparatus 100, the system 200, and / or the process 300 of FIG. 3, And a contribution computation algorithm 526 arranged to perform the function. In some embodiments, application 522 may be arranged to operate with program data 524 on operating system 520 such that an implementation for determining an optimal transmission environment may be provided as described herein. For example, the fault detection apparatus 100 may include all or a portion of the computing device 500 and may include all or some of the applications 522 such that an implementation that determines an optimal transmission environment may be provided as described herein. Lt; / RTI > This described basic configuration is illustrated by its components in dashed line 502 in FIG.

컴퓨팅 장치(500)는 기본적인 구성(502) 및 임의의 요구되는 장치 및 인터페이스(interface) 사이의 통신을 용이하게 하도록 추가적인 특징 또는 기능, 및 추가적인 인터페이스를 가질 수 있다. 예를 들어, 버스/인터페이스 컨트롤러(530)는 저장부 인터페이스 버스(534)를 통한 기본적인 구성(502) 및 하나 이상의 데이터 저장 장치(532) 사이의 통신을 용이하게 하도록 사용될 수 있다. 데이터 저장 장치(532)는 이동식 저장 장치(536), 고정식 저장 장치(538), 또는 그 조합일 수 있다. 이동식 저장 장치 및 고정식 저장 장치의 예를 몇 가지 들자면, 플렉서블 디스크 드라이브(flexible disk drive) 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다목적 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(SSD), 및 테이프 드라이브 등을 포함한다. 예시적인 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈(program module), 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술에서 구현되는 휘발성 및 비휘발성의 이동식 및 고정식 매체를 포함할 수 있다.The computing device 500 may have additional features or functionality and additional interfaces to facilitate communication between the basic configuration 502 and any desired devices and interfaces. For example, the bus / interface controller 530 may be used to facilitate communication between the basic configuration 502 and the one or more data storage devices 532 via the storage interface bus 534. [ The data storage device 532 may be a removable storage device 536, a fixed storage device 538, or a combination thereof. Examples of removable storage devices and fixed storage devices include magnetic disk devices such as flexible disk drives and hard disk drives (HDD), compact disk (CD) drives or digital versatile disk (DVD) drives, Optical disk drives, solid state drives (SSDs), and tape drives, and the like. Exemplary computer storage media includes volatile and nonvolatile removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data can do.

시스템 메모리(506), 이동식 저장 장치(536) 및 고정식 저장 장치(538)는 모두 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다목적 디스크(DVD) 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 요구되는 정보를 저장하도록 사용될 수 있고, 컴퓨팅 장치(500)에 의해 액세스될 수 있는 임의의 기타 매체를 포함하나, 이에 제한되지는 않는다. 임의의 그러한 컴퓨터 저장 매체는 컴퓨팅 장치(500)의 일부일 수 있다.The system memory 506, the removable storage device 536, and the fixed storage device 538 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, But is not limited to, any other medium which can be used to store the required information and which can be accessed by the computing device 500. Any such computer storage media may be part of the computing device 500.

컴퓨팅 장치(500)는 또한 버스/인터페이스 컨트롤러(542)를 통한 다양한 인터페이스 장치(예컨대, 출력 인터페이스, 주변 인터페이스, 및 통신 인터페이스)로부터 기본적인 구성(502)으로의 통신을 용이하게 하기 위한 인터페이스 버스(542)를 포함할 수 있다. 예시적인 출력 장치(542)는 그래픽 처리 유닛(648) 및 오디오 처리 유닛(550)을 포함할 수 있으며, 이는 하나 이상의 A/V 포트(552)를 통하여 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 예시적인 주변 인터페이스(544)는 직렬 인터페이스 컨트롤러(554) 또는 병렬 인터페이스 컨트롤러(556)를 포함할 수 있으며, 이는 하나 이상의 I/O 포트(558)를 통하여 입력 장치(예컨대, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 기타 주변 장치(예컨대, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(546)는 네트워크 컨트롤러(560)를 포함하며, 이는 하나 이상의 통신 포트(564)를 통한 네트워크 통신 상에서의 하나 이상의 다른 컴퓨팅 장치(562)와의 통신을 용이하게 하도록 배열될 수 있다.The computing device 500 also includes an interface bus 542 for facilitating communication from various interface devices (e.g., an output interface, a peripheral interface, and a communication interface) to the basic configuration 502 via a bus / ). Exemplary output device 542 may include a graphics processing unit 648 and an audio processing unit 550 which may be coupled to one or more A / V ports 552 to communicate with various external devices, Lt; / RTI > The exemplary peripheral interface 544 may include a serial interface controller 554 or a parallel interface controller 556 which may be coupled to an input device (e.g., a keyboard, a mouse, a pen, A voice input device, a touch input device, etc.) or other peripheral device (e.g., a printer, a scanner, etc.). Exemplary communication device 546 includes a network controller 560 that may be arranged to facilitate communication with one or more other computing devices 562 on a network communication via one or more communication ports 564. [

도 6은 본 개시의 적어도 일부 실시예에 따른 결함 검사의 일 예시를 나타내는 도면이다. 도 6(a)에 도시된 610은 일 예시적인 오브젝트 이미지를 나타내고, 도 6(b)에 도시된 620-1, 620-2, 620-3, 620-4, 620-5, 620-6, 620-7, ..., 620-n은 오브젝트 이미지(610)로부터 패턴별로 분할된 부분 이미지를 나타내며, 도 6(c)에 도시된 630-1, 630-2, 630-3, 630-4, 630-5, 630-6, 630-7, ..., 630-n은 각각 부분 이미지(620-1, 620-2, 620-3, 620-4, 620-5, 620-6, 620-7, ..., 620-n)로부터 변환된 사각형의 패치 이미지를 나타낸다.6 is a diagram illustrating an example of a defect check according to at least some embodiments of the present disclosure; 6 (a) shows an exemplary object image 610, and 620-1, 620-2, 620-3, 620-4, 620-5, 620-6, 620-7, ..., 620-n represent partial images divided by the pattern from the object image 610, and 630-1, 630-2, 630-3, 630-4 , 630 - 6, 630 - 7, 630 - n are partial images 620 - 1, 620 - 2, 620 - 3, 620 - -7, ..., 620-n).

도 6에 나타난 바와 같이, 본 개시에 따르면, 오브젝트 이미지(610)를, 각각의 패턴에 대한 부분 이미지(620-1, 620-2, 620-3, 620-4, 620-5, 620-6, 620-7, ..., 620-n)로 분할한다. 이러한 각각의 부분 이미지(620-1, 620-2, 620-3, 620-4, 620-5, 620-6, 620-7, ..., 620-n )는 오브젝트 이미지(610) 내에서의 위치, 방향, 각도, 등이 상이하다. 예컨대, 부분 이미지(620-5, 620-6, 620-7)는 볼트/너트에 대한 이미지로서 동일한 패턴 유형을 가지지만, 오브젝트 이미지(610) 내에서의 위치, 방향, 각도, 등이 상이하므로, 결함 검출을 위한 머신 러닝에 있어서는 부분 이미지(620-5, 620-6, 620-7) 각각이 상이한 유형의 학습 데이터로서 이용될 수 있다. 그러나, 본 개시에 따르면, 이러한 부분 이미지 부분 이미지(620-1, 620-2, 620-3, 620-4, 620-5, 620-6, 620-7, ..., 620-n)를 사각형의 패치 이미지(630-1, 630-2, 630-3, 630-4, 630-5, 630-6, 630-7, ..., 630-n)로 변환함으로써 패턴 유형마다 정규화를 수행한다. 예컨대, 본 개시에 따르면, 동일한 패턴 유형을 가지는 부분 이미지(620-5, 620-6 및 620-7)를 사각형의 패치 이미지(630-5, 630-6 및 630-7)로 변환함으로써, 동일한 패턴 유형을 가지는 패턴에 대한 패치 이미지는 유사한 형태를 가지도록 할 수 있다. 이와 같이, 본 개시에 따르면, 머신 러닝 모듈은 효율적으로 패턴 별로 결함 검출을 위한 학습을 수행할 수 있게 된다.As shown in Figure 6, according to the present disclosure, an object image 610 is generated for each of the patterns 620-1, 620-2, 620-3, 620-4, 620-5, 620-6 , 620-7, ..., 620-n. Each of these partial images 620-1, 620-2, 620-3, 620-4, 620-5, 620-6, 620-7, ... 620- Direction, angle, and the like. For example, partial images 620-5, 620-6, and 620-7 have the same pattern type as images for bolts / nuts, but differ in position, direction, angle, etc. within object image 610 , And in the machine learning for defect detection, each of the partial images 620-5, 620-6, and 620-7 may be used as different types of learning data. However, according to the present disclosure, such partial image partial images 620-1, 620-2, 620-3, 620-4, 620-5, 620-6, 620-7, ..., 620- 630 - 6, 630 - 7,..., 630 - n) of the rectangular pattern image to perform normalization for each pattern type do. For example, according to the present disclosure, by converting partial images 620-5, 620-6, and 620-7 having the same pattern type into rectangular patch images 630-5, 630-6, and 630-7, A patch image for a pattern having a pattern type may have a similar shape. Thus, according to the present disclosure, the machine learning module can efficiently perform learning for defect detection on a pattern-by-pattern basis.

청구된 대상은 여기에서 기술된 특정 구현예로 범위가 제한되지 않는다. 예컨대, 일부 구현예는 장치 또는 장치의 조합 상에서 동작하도록 사용될 수 있는 것과 같은 하드웨어로 있을 수 있는 반면, 예컨대, 다른 구현예는 소프트웨어 및/또는 펌웨어로 있을 수 있다. 마찬가지로, 청구된 대상은 이러한 점에서 범위가 제한되지 않지만, 일부 구현예는 신호 베어링 매체, 저장 매체와 같은 하나 이상의 물품을 포함할 수 있다. CD-ROM, 컴퓨터 디스크, 플래시 메모리 등과 같은 이러한 저장 매체는, 예컨대, 컴퓨팅 시스템, 컴퓨팅 플랫폼 또는 기타 시스템과 같은 컴퓨팅 장치에 의하여 실행되면, 예컨대, 앞서 설명된 구현예 중 하나와 같은 청구된 대상에 따라 프로세서의 실행을 야기시킬 수 있는 명령을 저장할 수 있다. 하나의 가능성으로서, 컴퓨팅 장치는 하나 이상의 처리 유닛 또는 프로세서, 디스플레이, 키보드 및/또는 마우스와 같은 하나 이상의 입/출력 장치, 및 정적 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리, 플래시 메모리 및/또는 하드 드라이브와 같은 하나 이상의 메모리를 포함할 수 있다.The claimed subject matter is not to be limited in scope to the specific embodiments described herein. For example, some implementations may be in hardware, such as may be used to operate on a device or combination of devices, while other implementations may be in software and / or firmware, for example. Likewise, although the claimed subject matter is not limited in scope in this respect, some embodiments may include one or more articles, such as signal bearing media, storage media. Such a storage medium, such as a CD-ROM, a computer disk, a flash memory, etc., may, for example, be executed by a computing device, such as a computing system, computing platform or other system, Thereby storing instructions that can cause the execution of the processor. As one possibility, a computing device may include one or more processing units or processors, one or more input / output devices such as a display, a keyboard and / or a mouse, and a static random access memory, a dynamic random access memory, a flash memory and / Lt; / RTI > memory.

시스템의 양상들의 하드웨어 및 소프트웨어 구현 사이에는 구별이 거의 없다; 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 맥락에서 하드웨어 및 소프트웨어 사이의 선택이 중요할 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 본 개시에서 기재된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicles)(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락(context)에 따라 변경될 것이다. 예를 들어, 구현자가 속도 및 정확성이 가장 중요하다고 결정한다면, 구현자는 주로 하드웨어 및/또는 펌웨어 수단을 선택할 수 있으며, 유연성이 가장 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있으며; 또는, 다른 대안으로서, 구현자는 하드웨어, 소프트웨어 및/또는 펌웨어의 어떤 결합을 선택할 수 있다.There is little distinction between hardware and software implementations of aspects of the system; The use of hardware or software is a design choice that generally represents a trade-off between cost-effectiveness (although not always in that the choice between hardware and software in some contexts may be important) . There are a variety of vehicles (e.g., hardware, software and / or firmware) in which the processes and / or systems and / or other technologies described herein may be affected and preferred means include processes and / And / or the context in which other technologies are used. For example, if the implementer decides that speed and accuracy are the most important, the implementer can chose mainly hardware and / or firmware means, and if flexibility is of paramount importance, the implementer can chose mainly the software implementation; Alternatively, as an alternative, the implementer may select any combination of hardware, software, and / or firmware.

전술한 상세한 설명은 블록도, 흐름도, 및/또는 예시를 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 예시는 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예시 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 그들의 실질적으로 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해할 것이다. 일 실시예에서, 본 개시에 기재된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 본 개시의 실시예의 일부 양상은, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 이들의 실질적으로 임의의 조합으로써, 전체적으로 또는 부분적으로 균등하게 집적 회로에서 구현될 수 있다는 점, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자의 기술 범위 내라는 점을 알 수 있을 것이다. 또한, 당업자라면, 본 개시의 대상의 매커니즘(mechanism)들이 다양한 형태의 프로그램 제품으로 분배될 수 있음을 이해할 것이며, 본 개시의 대상의 예시는, 분배를 실제로 수행하는데 사용되는 신호 베어링 매체의 특정 유형과 무관하게 적용됨을 이해할 것이다. The foregoing detailed description has described various embodiments of devices and / or processes by way of block diagrams, flowcharts, and / or illustrations. As long as such block diagrams, flowcharts, and / or illustrations contain one or more functions and / or operations, those skilled in the art will recognize that each function and / or operation in such block diagrams, flowcharts or illustrations may be implemented in hardware, software, firmware, It is to be understood that they may be implemented individually and / or collectively by virtually any of a wide range of combinations. In one embodiment, some portions of the subject matter described in this disclosure may be implemented in the form of an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), or other integrated form. However, those skilled in the art will appreciate that some aspects of embodiments of the present disclosure may be implemented as a combination of one or more computer programs (e.g., one or more programs running on one or more computer systems) running on one or more computers, (I. E., One or more programs running on one or more microprocessors), firmware, or substantially any combination thereof, may be implemented in whole or in part in an integrated circuit, software and / And / or the design of the circuitry is within the skill of one of ordinary skill in the art in light of the present disclosure. It will also be understood by those skilled in the art that the mechanisms of the subject matter of the present disclosure may be distributed in various types of program products and examples of objects of the present disclosure may include certain types of signal bearing media ≪ / RTI >

특정 예시적 기법이 다양한 방법 및 시스템을 이용하여 여기에서 기술되고 도시되었으나, 청구된 대상에서 벗어나지 않고, 다양한 기타의 수정이 이루어질 수 있고, 등가물이 대체될 수 있음이 당업자에 의해 이해되어야 한다. 추가적으로, 여기에 기술된 중심 개념으로부터 벗어남이 없이 특정 상황을 청구된 대상의 교시로 적응시키도록 많은 수정이 이루어질 수 있다. 따라서, 청구된 대상이 개시된 특정 예시로 제한되지 않으나, 그러한 청구된 대상은 또한 첨부된 청구범위 및 그 균등의 범위 내에 들어가는 모든 구현예를 포함할 수 있음이 의도된다.Although specific example techniques have been described and illustrated herein using various methods and systems, it should be understood by those skilled in the art that various other modifications can be made, and equivalents may be substituted, without departing from the claimed subject matter. In addition, many modifications may be made to adapt a particular situation to the teachings of the claimed subject matter without departing from the central concept described herein. Accordingly, it is intended that the claimed subject matter is not limited to the specific examples disclosed, but that the claimed subject matter may also include all embodiments falling within the scope of the appended claims and their equivalents.

Claims (13)

컴퓨팅 장치의 제어 하에서 수행되고, 하나 이상의 패턴 유형을 가지는 오브젝트를 검사하기 위한 결함 검사 방법으로서, 상기 컴퓨팅 장치는 결함 검출에 관한 머신 러닝을 수행하는 머신 러닝 모듈을 포함하고, 상기 결함 검사 방법은
상기 오브젝트에 대한 오브젝트 이미지를 이용하여, 상기 오브젝트의 유형을 결정하는 단계;
상기 오브젝트의 상기 결정된 유형에 기초하여, 상기 오브젝트 이미지를 하나 이상의 부분으로 분할하는 단계 - 상기 오브젝트 이미지는 상기 하나 이상의 부분 각각이 하나의 패턴을 가지고 상기 하나의 패턴이 상기 하나 이상의 패턴 유형 중 하나의 패턴 유형을 가지도록 분할됨 -;
상기 머신 러닝 모듈이 상기 결함 검출에 관한 머신 러닝을 각각의 패턴 유형마다 수행 가능하도록, 상기 분할된 하나 이상의 부분 각각의 형태 및 해당 부분의 패턴에 대응하는 패턴 유형에 기초하여, 해당 부분을 사각형의 패치 이미지로 변환하는 단계 - 상기 하나 이상의 부분 각각은, 변환될 사각형의 패치 이미지가 해당하는 패턴 유형마다 정규화되도록 변환됨 -;
상기 컴퓨팅 장치의 상기 머신 러닝 모듈에 의해, 상기 변환된 사각형의 패치 이미지를 이용하여 상기 오브젝트에 결함이 있는지 여부를 검사하는 단계; 및
상기 머신 러닝 모듈에 의한 검사의 결과를 출력하는 단계
를 포함하는 결함 검사 방법.
A defect inspection method for inspecting an object having at least one pattern type, the inspection being performed under the control of a computing device, the computing device comprising a machine learning module for performing machine learning on defect detection,
Determining a type of the object using an object image for the object;
Dividing the object image into one or more portions based on the determined type of the object, wherein the object image has a plurality of portions, each of the one or more portions having one pattern and the one pattern being one of the one or more pattern types Divided to have a pattern type -;
Wherein the machine learning module is configured to perform a machine learning of the defect detection for each pattern type based on the type of each of the divided one or more portions and the pattern type corresponding to the pattern of the corresponding portion, Converting each of the one or more portions into a patch image, wherein the patch image of the rectangle to be transformed is transformed to be normalized for each pattern type;
Checking, by the machine learning module of the computing device, whether the object has a defect using the transformed rectangular patch image; And
Outputting a result of the inspection by the machine learning module
And a defect inspection method.
제1항에 있어서,
상기 오브젝트의 유형을 결정하는 단계는 하나 이상의 미리 정해진 오브젝트의 유형 중 하나를 결정하는 단계를 포함하는 것인, 결함 검사 방법.
The method according to claim 1,
Wherein determining the type of the object comprises determining one of one or more types of predetermined objects.
제1항에 있어서,
상기 오브젝트의 유형을 결정하는 단계는 상기 머신 러닝 모듈을 이용하여 상기 오브젝트의 유형을 결정하는 단계를 포함하는 것인, 결함 검사 방법.
The method according to claim 1,
Wherein determining the type of object comprises determining the type of the object using the machine learning module.
제1항에 있어서,
상기 오브젝트 이미지를 하나 이상의 부분으로 분할하는 단계는 도형 인식 알고리즘 또는 상기 머신 러닝 모듈을 이용하여, 상기 하나 이상의 부분 각각이 하나의 패턴을 가지도록 상기 오브젝트 이미지를 분할하는 단계를 포함하는 것인, 결함 검사 방법.
The method according to claim 1,
Wherein dividing the object image into one or more parts comprises using the figure recognition algorithm or the machine learning module to divide the object image such that each of the one or more parts has one pattern. method of inspection.
제1항에 있어서,
상기 사각형의 패치 이미지로 변환하는 단계는 좌표변환(coordinate transform), 스쿠 변환(skew transform) 또는 시어 변환(shear transform), 이미지 와핑(image warping) 중 적어도 하나를 이용하여 상기 해당 부분을 변환하는 단계를 포함하는 것인, 결함 검사 방법.
The method according to claim 1,
The step of converting the quadrangle into a patch image may include transforming the corresponding portion using at least one of a coordinate transform, a skew transform, a shear transform, and image warping And a defect inspection method.
삭제delete 제1항에 있어서,
상기 검사의 결과는 검출된 결함의 유형, 검출된 결함의 위치 및 검출된 결함에 대한 예측된 신뢰도 중 적어도 하나를 포함하는 것인, 결함 검사 방법.
The method according to claim 1,
Wherein the result of the checking includes at least one of a type of the detected defect, a position of the detected defect, and a predicted reliability for the detected defect.
하나 이상의 패턴 유형을 가지는 오브젝트를 검사하기 위한 결함 검사 장치로서,
상기 오브젝트에 대한 오브젝트 이미지를 이용하여, 상기 오브젝트의 유형을 결정하도록 구성된 오브젝트 유형 결정 모듈;
상기 오브젝트 유형 결정 모듈에 의해 결정된 상기 오브젝트의 유형에 기초하여, 상기 오브젝트 이미지를 하나 이상의 부분으로 분할하도록 구성된 이미지 분할 모듈 - 상기 이미지 분할 모듈은 상기 하나 이상의 부분 각각이 하나의 패턴을 가지고 상기 하나의 패턴이 상기 하나 이상의 패턴 유형 중 하나의 패턴 유형을 가지도록 분할함 -;
상기 이미지 분할 모듈에 의해 분할된 상기 하나 이상의 부분 각각의 형태 및 해당 부분의 패턴에 대응하는 패턴 유형에 기초하여, 해당 부분을 사각형의 패치 이미지로 변환하도록 구성된 패치 이미지 변환 모듈 - 상기 하나 이상의 부분 각각은, 변환될 사각형의 패치 이미지가 해당하는 패턴 유형마다 정규화되도록 변환됨 -;
상기 변환된 사각형의 패치 이미지를 이용하여 상기 오브젝트에 결함이 있는지 여부를 검사하고, 상기 변환된 사각형의 패치 이미지를 포함하는 하나 이상의 사각형의 패치 이미지를 이용하여, 각각의 패턴 유형마다, 결함 검출을 위한 머신 러닝을 수행하도록 구성된 머신 러닝 모듈; 및
상기 머신 러닝 모듈에 의한 검사의 결과를 출력하도록 구성된 출력 모듈
을 포함하는 결함 검사 장치.
A defect inspection apparatus for inspecting an object having at least one pattern type,
An object type determination module configured to determine a type of the object using an object image for the object;
An image segmentation module configured to segment the object image into one or more portions based on the type of the object determined by the object type determination module, the image segmentation module comprising: The pattern having a pattern type of one of the at least one pattern type;
A patch image conversion module configured to convert the portion into a rectangular patch image based on the type of each of the one or more portions divided by the image segmentation module and the pattern type corresponding to the pattern of the portion, The patch image of the rectangle to be transformed is transformed to be normalized for each pattern type;
Checking whether there is a defect in the object using the converted patch image of the quadrangle and performing defect detection for each pattern type using one or more rectangular patch images including the converted patch image of the quadrangle A machine learning module configured to perform machine learning for the machine; And
An output module configured to output a result of the inspection by the machine learning module
And a defect inspection apparatus.
제8항에 있어서,
상기 이미지 분할 모듈은 도형 인식 알고리즘을 이용하여 상기 하나 이상의 부분 각각이 하나의 패턴을 가지도록 상기 오브젝트 이미지를 분할하도록 구성되는 것인, 결함 검사 장치.
9. The method of claim 8,
Wherein the image segmenting module is configured to divide the object image so that each of the one or more portions has one pattern using a graphics recognition algorithm.
제8항에 있어서,
상기 패치 이미지 변환 모듈은 좌표변환(coordinate transform), 스쿠 변환(skew transform) 또는 시어 변환(shear transform) 중 적어도 하나를 이용하여 상기 해당 부분을 변환하도록 구성되는 것인, 결함 검사 장치.
9. The method of claim 8,
Wherein the patch image conversion module is configured to convert the corresponding portion using at least one of a coordinate transform, a skew transform, and a shear transform.
삭제delete 제8항에 따른 결함 검사 장치; 및
오브젝트로부터 오브젝트의 이미지를 획득하도록 구성된 이미지 캡처 장치
를 포함하는 결함 검사 시스템.
A defect inspection apparatus according to claim 8; And
An image capture device configured to acquire an image of an object from an object
And a defect inspection system.
하나 이상의 패턴 유형을 가지는 오브젝트의 결함을 검사하기 위하여 하나 이상의 컴퓨터 실행가능 명령어를 저장한 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 컴퓨터 실행가능 명령어가 실행되는 경우, 결함 검출에 관한 머신 러닝을 수행하는 머신 러닝 모듈을 포함하는 컴퓨팅 장치로 하여금,
상기 오브젝트에 대한 오브젝트 이미지를 이용하여, 상기 오브젝트의 유형을 결정하는 동작;
상기 오브젝트의 상기 결정된 유형에 기초하여, 상기 오브젝트 이미지를 하나 이상의 부분으로 분할하는 동작 - 상기 오브젝트 이미지는 상기 하나 이상의 부분 각각이 하나의 패턴을 가지고 상기 하나의 패턴이 상기 하나 이상의 패턴 유형 중 하나의 패턴 유형을 가지도록 분할됨 -;
상기 머신 러닝 모듈이 상기 결함 검출에 관한 머신 러닝을 각각의 패턴 유형마다 수행 가능하도록, 상기 분할된 하나 이상의 부분 각각의 형태 및 해당 부분의 패턴에 대응하는 패턴 유형에 기초하여, 해당 부분을 사각형의 패치 이미지로 변환하는 동작 - 상기 하나 이상의 부분 각각은, 변환될 사각형의 패치 이미지가 해당하는 패턴 유형마다 정규화되도록 변환됨 -;
상기 컴퓨팅 장치의 상기 머신 러닝 모듈에 의해, 상기 변환된 사각형의 패치 이미지를 이용하여 상기 오브젝트에 결함이 있는지 여부를 검사하는 동작; 및
상기 머신 러닝 모듈에 의한 검사의 결과를 출력하는 동작
을 포함하는 동작들을 수행하도록 하는 컴퓨터 판독가능 저장 매체.
A computer-readable medium having stored thereon one or more computer-executable instructions for examining a defect in an object having one or more pattern types, the computer-readable medium having computer-executable instructions that, when executed, Allowing a computing device, including a machine learning module,
Determining an object type of the object using an object image of the object;
Dividing the object image into one or more portions based on the determined type of the object, wherein the object image has a plurality of portions, each of the one or more portions having one pattern and the one pattern having one of the one or more pattern types Divided to have a pattern type -;
Wherein the machine learning module is configured to perform a machine learning of the defect detection for each pattern type based on the type of each of the divided one or more portions and the pattern type corresponding to the pattern of the corresponding portion, Converting each of the one or more parts into a patch image of a rectangle to be transformed so as to be normalized for each pattern type corresponding thereto;
Checking, by the machine learning module of the computing device, whether the object has a defect using the transformed rectangular patch image; And
An operation for outputting a result of the inspection by the machine learning module
≪ / RTI >
KR1020180051972A 2018-05-04 2018-05-04 Defect inspection device, system, method and computer readable storage medium KR101950681B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180051972A KR101950681B1 (en) 2018-05-04 2018-05-04 Defect inspection device, system, method and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180051972A KR101950681B1 (en) 2018-05-04 2018-05-04 Defect inspection device, system, method and computer readable storage medium

Publications (1)

Publication Number Publication Date
KR101950681B1 true KR101950681B1 (en) 2019-02-21

Family

ID=65585154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180051972A KR101950681B1 (en) 2018-05-04 2018-05-04 Defect inspection device, system, method and computer readable storage medium

Country Status (1)

Country Link
KR (1) KR101950681B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111080615A (en) * 2019-12-12 2020-04-28 创新奇智(重庆)科技有限公司 PCB defect detection system and detection method based on convolutional neural network
WO2021095991A1 (en) * 2019-11-12 2021-05-20 라온피플 주식회사 Device and method for generating defect image
WO2021187683A1 (en) * 2020-03-20 2021-09-23 라온피플 주식회사 Method and system for testing quality of new product by using deep learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130142769A (en) * 2012-06-20 2013-12-30 한국기술교육대학교 산학협력단 Apparatus and method for vision inspecting using image division
KR101711073B1 (en) * 2016-07-25 2017-02-28 (주)제이엘케이인스펙션 Micro cracks detection device and method of flexible touch screen panel using deep learning algorithm
KR101768521B1 (en) * 2016-05-02 2017-08-17 네이버 주식회사 Method and system providing informational data of object included in image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130142769A (en) * 2012-06-20 2013-12-30 한국기술교육대학교 산학협력단 Apparatus and method for vision inspecting using image division
KR101768521B1 (en) * 2016-05-02 2017-08-17 네이버 주식회사 Method and system providing informational data of object included in image
KR101711073B1 (en) * 2016-07-25 2017-02-28 (주)제이엘케이인스펙션 Micro cracks detection device and method of flexible touch screen panel using deep learning algorithm

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095991A1 (en) * 2019-11-12 2021-05-20 라온피플 주식회사 Device and method for generating defect image
CN111080615A (en) * 2019-12-12 2020-04-28 创新奇智(重庆)科技有限公司 PCB defect detection system and detection method based on convolutional neural network
CN111080615B (en) * 2019-12-12 2023-06-16 创新奇智(重庆)科技有限公司 PCB defect detection system and detection method based on convolutional neural network
WO2021187683A1 (en) * 2020-03-20 2021-09-23 라온피플 주식회사 Method and system for testing quality of new product by using deep learning

Similar Documents

Publication Publication Date Title
KR101950681B1 (en) Defect inspection device, system, method and computer readable storage medium
US10880541B2 (en) Stereo correspondence and depth sensors
Wang et al. Shape robust text detection with progressive scale expansion network
WO2018120724A1 (en) Image tampering detection method and system, electronic apparatus and storage medium
US11189019B2 (en) Method for detecting defects, electronic device, and computer readable medium
EP3176751B1 (en) Information processing device, information processing method, computer-readable recording medium, and inspection system
US10147015B2 (en) Image processing device, image processing method, and computer-readable recording medium
US20190188525A1 (en) Method and apparatus for recognizing image
TW201439966A (en) Performing object detection operations via a graphics processing unit
US8693739B2 (en) Systems and methods for performing facial detection
JP4529728B2 (en) Method and apparatus for inspecting foreign matter in container
JP2016206837A (en) Object detection method and image search system
US20220366181A1 (en) Devices, systems, and methods for anomaly detection
KR102204956B1 (en) Method for semantic segmentation and apparatus thereof
JP6784791B2 (en) Digitization of industrial inspection sheets by inferring visual relationships
US20200285879A1 (en) Scene text detector for unconstrained environments
JP6106808B2 (en) Specify barcode placement in document
US9104450B2 (en) Graphical user interface component classification
US9292914B2 (en) Device for measuring critical dimension of pattern and method thereof
US20230092072A1 (en) Method of detecting misprints, computing device, and storage medium
Lahdenoja et al. Extracting local binary patterns with MIPA4k vision processor
US11481881B2 (en) Adaptive video subsampling for energy efficient object detection
JP6980128B2 (en) Lane link generator, lane link generator, lane link generator
KR20220043316A (en) License plate detection apparatus and method using image warping
Irmak Real time traffic sign recognition system on FPGA

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant