KR102439163B1 - Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI - Google Patents

Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI Download PDF

Info

Publication number
KR102439163B1
KR102439163B1 KR1020220077832A KR20220077832A KR102439163B1 KR 102439163 B1 KR102439163 B1 KR 102439163B1 KR 1020220077832 A KR1020220077832 A KR 1020220077832A KR 20220077832 A KR20220077832 A KR 20220077832A KR 102439163 B1 KR102439163 B1 KR 102439163B1
Authority
KR
South Korea
Prior art keywords
feature
features
image
feature map
defective
Prior art date
Application number
KR1020220077832A
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 KR1020220077832A priority Critical patent/KR102439163B1/en
Application granted granted Critical
Publication of KR102439163B1 publication Critical patent/KR102439163B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • 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
    • 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/8883Scan 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 involving the calculation of gauges, generating models
    • 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
    • G01N2201/00Features of devices classified in G01N21/00
    • G01N2201/12Circuits of general importance; Signal processing
    • G01N2201/129Using chemometrical methods
    • G01N2201/1296Using chemometrical methods using neural networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

The present disclosure relates to a defective product detection device which generates a feature map with respect to an image of an object to be inspected and a good product by using an unsupervised learning model based on artificial intelligence and determines whether there is a defect based on the mahalanobis' distance. The present invention comprises a communication unit, a memory, and a processor.

Description

인공지능 기반의 비지도 학습 모델을 이용한 불량 제품 검출 장치 및 그 제어방법 {Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI}Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI}

본 개시는 불량 제품 검출 장치에 관한 것으로, 보다 상세하게는 인공지능 기반의 비지도 학습 모델을 이용하여 검사 대상에 대하여 불량 여부를 검출하는 장치에 관한 것이다.The present disclosure relates to an apparatus for detecting defective products, and more particularly, to an apparatus for detecting whether an inspection object is defective using an artificial intelligence-based unsupervised learning model.

제품의 제조 과정에서 양품과 불량품을 분리하는 것은 매우 중요한 과정이며, 불량품을 제대로 분리해내지 못하게 되는 경우 클라이언트에게 양품 대신 불량품이 제공되는 일이 발생된다.Separating good and defective products is a very important process in the manufacturing process of a product, and if it is not possible to properly separate defective products, defective products may be provided to clients instead of good products.

이러한 중요도에도 불구하고 아직도 많은 분야에서 양품과 불량품을 분리하는 과정이 수작업으로 진행되고 있다.Despite this importance, the process of separating good and defective products is still being done manually in many fields.

인공지능을 이용하여 양품과 불량품을 분리할 경우, 수작업에 비해 높은 정확도와 빠른 처리 속도가 기대되지만, 현재로서는 수작업에 비해 높은 정확도와 빠른 처리 속도를 보장하는 기술이 공개되어 있지 않은 실정이다.When using artificial intelligence to separate good and defective products, higher accuracy and faster processing speed than manual work are expected.

대한민국 공개특허공보 제10-0517635호, (2005.09.21)Republic of Korea Patent Publication No. 10-0517635, (2005.09.21)

본 개시에 개시된 실시예는 인공지능 기반의 비지도 학습 모델을 이용한 불량 제품 검출 장치를 제공하는데 그 목적이 있다.An object of the present disclosure is to provide an apparatus for detecting defective products using an artificial intelligence-based unsupervised learning model.

본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present disclosure are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 개시의 일 실시예에 따른 불량 제품 검출 장치는, 통신부; 미리 학습된 복수의 학습 모델이 저장된 메모리; 및 적어도 하나의 코어를 포함하는 프로세서를 포함하며, 상기 프로세서는, 타겟의 양품 이미지에 대한 제1 피쳐맵을 생성하고, 상기 타겟의 검사 대상 이미지에 대한 제2 피쳐맵을 생성하고, 상기 제1 피쳐맵과 상기 제2 피쳐맵의 마할라노비스 거리(Mahalanobis distance)를 산출하고, 상기 산출된 마할라노비스 거리(Mahalanobis distance)를 기반으로 상기 검사 대상 이미지의 불량 여부를 판단하는 것을 특징으로 한다.A defective product detection apparatus according to an embodiment of the present disclosure for solving the above-described problems includes: a communication unit; a memory in which a plurality of pre-trained learning models are stored; and a processor including at least one core, wherein the processor generates a first feature map for a non-defective image of a target, generates a second feature map for an inspection target image of the target, and the first A Mahalanobis distance of the feature map and the second feature map is calculated, and based on the calculated Mahalanobis distance, whether the inspection target image is defective or not is determined.

또한, 상기 프로세서는, 상기 양품 이미지의 사이즈를 1/N로 리사이즈하고, 상기 양품 이미지에 대하여 상기 리사이즈된 이미지를 상기 복수의 학습모델을 통해 피쳐를 추출하여 제1 피쳐 세트, 제2 피쳐 세트 및 제3 피쳐 세트를 포함하는 피쳐 세트를 획득하고, 상기 획득된 피쳐 세트에 포함된 피쳐의 고유벡터(eigenvector)를 결정하고, 상기 결정된 고유벡터를 기초로 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하여 상기 제1 피쳐맵을 생성할 수 있다.In addition, the processor resizes the size of the non-defective image to 1/N, extracts features from the resized image with respect to the non-defective image through the plurality of learning models, a first feature set, a second feature set, and Obtaining a feature set including a third feature set, determining an eigenvector of a feature included in the obtained feature set, and selecting a new feature in which the variance between each feature is maximized based on the determined eigenvector. by generating the first feature map.

또한, 상기 프로세서는, 상기 검사 대상 이미지의 사이즈를 1/N로 리사이즈하고, 상기 검사 대상 이미지에 대하여 상기 리사이즈된 이미지를 상기 복수의 학습모델을 통해 피쳐를 추출하여 제1 피쳐 세트, 제2 피쳐 세트 및 제3 피쳐 세트를 포함하는 피쳐 세트를 획득하고, 상기 획득된 피쳐 세트에 포함된 피쳐의 고유벡터(eigenvector)를 결정하고, 상기 결정된 고유벡터를 기초로 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하여 상기 제2 피쳐맵을 생성할 수 있다.In addition, the processor resizes the size of the inspection target image to 1/N, extracts features from the resized image with respect to the inspection target image through the plurality of learning models, a first feature set, a second feature Obtain a feature set including a set and a third feature set, determine an eigenvector of a feature included in the obtained feature set, and based on the determined eigenvector, a new feature in which the variance between each feature is maximized. The second feature map may be generated by generating a feature.

또한, 상기 프로세서는, 상기 제1 피쳐맵 및 상기 제2 피쳐맵을 생성할 때, 기 설정된 개수의 신규 피쳐를 생성하고, 상기 신규 피쳐는 기존 피쳐도 적용이 가능한 것을 특징으로 한다.In addition, when generating the first feature map and the second feature map, the processor generates a preset number of new features, and the new features may be applied to existing features.

또한, 상기 양품 이미지 및 상기 검사 대상 이미지는 ImageNET data를 통해 사전 훈련된 pre-trained 모델을 통해 전처리된 RGB 포맷의 224 x 224 사이즈의 이미지이고, 상기 프로세서는 상기 양품 이미지 및 상기 검사 대상 이미지를 1/8로 리사이즈 하여 28 x 28 사이즈의 이미지를 획득하고, 상기 복수의 학습 모델은 제1, 제2 및 제3 학습 모델을 포함하고, 상기 제1 학습 모델은 NasNet을 적용한 신경망 모델이고, 상기 제2 학습 모델은 MobileNet을 적용한 신경망 모델이고, 상기 제3 학습 모델은 EfficientNet을 적용한 신경망 모델인 것을 특징으로 한다.In addition, the non-defective image and the inspection target image are images of 224 x 224 size in RGB format pre-processed through a pre-trained model pre-trained through ImageNET data, and the processor converts the non-defective image and the inspection target image to 1 Resizing to /8 to obtain an image of size 28 x 28, the plurality of learning models including first, second and third learning models, the first learning model is a neural network model to which NasNet is applied, The second learning model is a neural network model to which MobileNet is applied, and the third learning model is a neural network model to which EfficientNet is applied.

또한, 상기 프로세서는, 상기 제1 학습 모델을 통해 256개의 피쳐를 추출하여 상기 제1 피쳐 세트를 획득하고, 상기 제2 학습 모델을 통해 256개의 피쳐를 추출하여 상기 제2 피쳐 세트를 획득하고, 상기 제3 학습 모델을 통해 240개의 피쳐를 추출하여 상기 제3 피쳐 세트를 획득하여 총 752개의 피쳐를 획득하고, 상기 752개의 피쳐에서 400개의 상기 신규 피쳐를 생성하여 상기 제1 피쳐맵 및 상기 제2 피쳐맵을 생성하는 것을 특징으로 한다.In addition, the processor extracts 256 features through the first learning model to obtain the first set of features, and extracts 256 features through the second learning model to obtain the second set of features, By extracting 240 features through the third learning model to obtain the third feature set, a total of 752 features are obtained, and 400 new features are generated from the 752 features to obtain the first feature map and the first feature map. 2 It is characterized in that the feature map is generated.

또한, 상기 프로세서는, 상기 산출된 마할라노비스 거리와 기 설정된 불량 판단 기준을 기반으로 상기 타겟의 검사 대상 이미지의 불량을 판단하되, 상기 제1 피쳐맵 내 피쳐들의 표준편차에 기초하여 상기 불량 판단의 민감도를 위한 임계값(threshold)을 산출할 수 있다.In addition, the processor determines the failure of the inspection target image of the target based on the calculated Mahalanobis distance and a preset failure determination criterion, but determines the failure based on the standard deviation of the features in the first feature map It is possible to calculate a threshold for the sensitivity of .

또한, 상기 프로세서는, 상기 제1 피쳐맵 내 적어도 일부의 피쳐에 대하여 정밀도(Precision) 및 민감도(Recall Curve)를 산출하고, ROC Curves를 이용하여 상기 산출된 정밀도 및 민감도를 기반으로 상기 임계값을 산출할 수 있다.In addition, the processor calculates precision and sensitivity (Recall Curve) for at least some features in the first feature map, and calculates the threshold value based on the calculated precision and sensitivity using ROC Curves. can be calculated.

또한, 상술한 과제를 해결하기 위한 본 개시의 일 실시예에 따른 불량 제품 검출 방법은, 불량 제품 검출 장치에 의해 수행되는 방법으로, 타겟의 양품 이미지에 대한 제1 피쳐맵을 생성하는 단계; 상기 타겟의 검사 대상 이미지에 대한 제2 피쳐맵을 생성하는 단계; 상기 제1 피쳐맵과 상기 제2 피쳐맵의 마할라노비스 거리(Mahalanobis distance)를 산출하는 단계; 및 상기 산출된 마할라노비스 거리(Mahalanobis distance)를 기반으로 상기 검사 대상 이미지의 불량 여부를 판단하는 단계를 포함한다.In addition, a defective product detection method according to an embodiment of the present disclosure for solving the above-described problems is a method performed by a defective product detection apparatus, comprising: generating a first feature map for a non-defective image of a target; generating a second feature map for the inspection target image of the target; calculating a Mahalanobis distance between the first feature map and the second feature map; and determining whether the inspection target image is defective based on the calculated Mahalanobis distance.

이 외에도, 본 개시를 구현하기 위한 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.In addition to this, a computer program stored in a computer-readable recording medium for execution for implementing the present disclosure may be further provided.

이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, a computer-readable recording medium for recording a computer program for executing a method for implementing the present disclosure may be further provided.

본 개시의 전술한 과제 해결 수단에 의하면, 인공지능 기반의 비지도 학습 모델을 이용한 불량 제품 검출 장치를 제공하는 효과를 제공한다.According to the above-described problem solving means of the present disclosure, there is provided an effect of providing an apparatus for detecting defective products using an artificial intelligence-based unsupervised learning model.

본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 개시의 실시예에 따른 복수의 학습 모델을 이용한 불량 제품 검출 시스템의 개략도이다.
도 2는 본 개시의 실시예에 따른 복수의 학습 모델을 이용한 불량 제품 검출 장치의 블록도이다.
도 3 내지 도 6은 본 개시의 실시예에 따른 복수의 학습 모델을 이용한 불량 제품 검출 방법의 흐름도이다.
도 7은 양품 이미지에 대판 제1 피쳐맵을 생성하는 것을 예시한 도면이다.
도 8은 검사 대상 이미지에 대판 제2 피쳐맵을 생성하는 것을 예시한 도면이다.
도 9는 제1 학습 모델의 NasNet을 적용한 신경망 모델의 예시도이다.
도 10은 제2 학습 모델의 MobileNet을 적용한 신경망 모델의 예시도이다.
도 11은 제3 학습 모델의 EfficientNet을 적용한 신경망 모델의 예시도이다.
도 12는 신규 피쳐를 생성하여 피쳐 개수 축소를 예시한 도면이다.
도 13은 S300 내지 S600을 예시한 도면이다.
도 14는 제1 피쳐맵과 제2 피쳐맵의 마할라노비스 거리를 산출하는 것을 예시한 도면이다.
도 15는 양품과 불량 판단의 민감도를 위한 임계값 산출을 예시한 도면이다.
도 16은 원본 이미지 사이즈로 보간하고, 최종 불량 여부를 표시하는 것을 예시한 도면이다.
도 17은 나사의 불량품을 예시한 도면이다.
1 is a schematic diagram of a defective product detection system using a plurality of learning models according to an embodiment of the present disclosure;
2 is a block diagram of an apparatus for detecting defective products using a plurality of learning models according to an embodiment of the present disclosure.
3 to 6 are flowcharts of a method for detecting a defective product using a plurality of learning models according to an embodiment of the present disclosure.
7 is a diagram illustrating the generation of a first feature map of a non-defective product.
8 is a diagram illustrating the generation of a second base plate feature map in an image to be inspected.
9 is an exemplary diagram of a neural network model to which NasNet of the first learning model is applied.
10 is an exemplary diagram of a neural network model to which MobileNet of the second learning model is applied.
11 is an exemplary diagram of a neural network model to which EfficientNet of the third learning model is applied.
12 is a diagram illustrating a reduction in the number of features by creating new features.
13 is a view illustrating S300 to S600.
14 is a diagram illustrating an example of calculating a Mahalanobis distance between a first feature map and a second feature map.
15 is a diagram illustrating calculation of a threshold value for the sensitivity of judgment of good and bad products.
16 is a diagram illustrating an example of interpolating with an original image size and displaying whether or not a final defect is present.
17 is a diagram illustrating an example of a defective product of a screw.

본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 ‘부, 모듈, 부재, 블록’이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.Like reference numerals refer to like elements throughout this disclosure. The present disclosure does not describe all elements of the embodiments, and general contents in the technical field to which the present disclosure pertains or overlapping contents between the embodiments are omitted. The term 'part, module, member, block' used in the specification may be implemented in software or hardware, and according to embodiments, a plurality of 'part, module, member, block' may be implemented as a single component, It is also possible for one 'part, module, member, block' to include a plurality of components.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is "connected" with another part, this includes not only direct connection but also indirect connection, and indirect connection includes connection through a wireless communication network. do.

또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.

명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification, when a member is said to be located "on" another member, this includes not only a case in which a member is in contact with another member but also a case in which another member exists between the two members.

제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.Terms such as first, second, etc. are used to distinguish one component from another, and the component is not limited by the above-mentioned terms.

단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.The singular expression includes the plural expression unless the context clearly dictates otherwise.

각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.In each step, the identification code is used for convenience of description, and the identification code does not describe the order of each step, and each step may be performed differently from the specified order unless the specific order is clearly stated in the context. have.

이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the working principle and embodiments of the present disclosure will be described with reference to the accompanying drawings.

본 명세서에서 '본 개시에 따른 불량 제품 검출 장치(100)'는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 본 개시에 따른 불량 제품 검출 장치(100)는, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.In the present specification, the 'defective product detecting apparatus 100 according to the present disclosure' includes various devices capable of providing a result to a user by performing an arithmetic process. For example, the defective product detection apparatus 100 according to the present disclosure may include all of a computer, a server device, and a portable terminal, or may have any one form.

여기에서, 상기 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.Here, the computer may include, for example, a laptop, a desktop, a laptop, a tablet PC, a slate PC, etc. equipped with a web browser (WEB Browser).

상기 서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.The server device is a server that processes information by communicating with an external device, and may include an application server, a computing server, a database server, a file server, a game server, a mail server, a proxy server, and a web server.

상기 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.The portable terminal is, for example, a wireless communication device that guarantees portability and mobility, and includes a Personal Communication System (PCS), a Global System for Mobile communications (GSM), a Personal Digital Cellular (PDC), a Personal Handyphone System (PHS), and a PDA. (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminal, smart phone ) and wearable devices such as watches, rings, bracelets, anklets, necklaces, eyeglasses, contact lenses, or head-mounted-devices (HMDs) of all kinds. may include.

이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 본 개시의 실시예에 따른 복수의 학습 모델을 이용한 불량 제품 검출 시스템(10)의 개략도이다.1 is a schematic diagram of a defective product detection system 10 using a plurality of learning models according to an embodiment of the present disclosure.

본 개시의 실시예에서 활용되는 인공지능 신경망은 대표적으로 비지도 학습을 기반으로 구축된 신경망이 이용될 수 있다.As an artificial intelligence neural network utilized in an embodiment of the present disclosure, a neural network constructed based on unsupervised learning may be typically used.

도 1를 참조하면, 타겟에 대한 적어도 하나의 양품 이미지를 CNN 신경망에 입력하고, 타겟에 대하여 실제로 검사가 필요한 검사 대상의 이미지를 입력하여 특이점을 검출함으로써, 검사 대상의 불량 여부를 판단하게 된다.Referring to FIG. 1 , by inputting at least one non-defective image of a target to the CNN neural network, and detecting a singularity by inputting an image of an inspection target that actually needs to be inspected with respect to the target, it is determined whether the inspection object is defective.

이때, 타겟은 제조, 제작되는 제품이라면 무엇이든 적용이 가능하며, 본 개시의 실시예에서는 나사를 예시로 설명하도록 한다.At this time, the target can be applied to any manufactured or manufactured product, and in the embodiment of the present disclosure, a screw will be described as an example.

본 개시의 실시예에서 양품 이미지는 타겟에서 불량이 존재하지 않는 것으로 분류된 양품의 이미지이고, 검사 대상 이미지는 실제로 불량 여부를 판단해야 하는 불량 검출 검사 대상의 이미지를 의미한다.In the exemplary embodiment of the present disclosure, the non-defective image is an image of a non-defective product classified as non-defective in the target, and the inspection target image refers to an image of a defective detection inspection target for which it is actually determined whether a defect is present.

또한 본 개시의 실시예에서 불량 검출, 불량 검사는 모두 같은 의미로 해석될 수 있다.In addition, in the exemplary embodiment of the present disclosure, both the detection of the defect and the inspection of the defect may be interpreted as the same meaning.

도 2는 본 개시의 실시예에 따른 복수의 학습 모델을 이용한 불량 제품 검출 장치(100)의 블록도이다.2 is a block diagram of an apparatus 100 for detecting defective products using a plurality of learning models according to an embodiment of the present disclosure.

도 2를 참조하면, 본 개시의 실시예에 따른 불량 제품 검출 장치(100)는 프로세서(110), 메모리(120), 통신부(130) 및 입출력 인터페이스를 포함한다.Referring to FIG. 2 , the defective product detection apparatus 100 according to an embodiment of the present disclosure includes a processor 110 , a memory 120 , a communication unit 130 , and an input/output interface.

다만, 몇몇 실시예에서 불량 제품 검출 장치(100)는 도 2에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수도 있다.However, in some embodiments, the defective product detecting apparatus 100 may include fewer or more components than those illustrated in FIG. 2 .

메모리(120)는 미리 학습된 복수의 학습 모델이 저장되어 있으며, 이외에도 불량 제품 검출 방법을 실행하기 위한 각종 명령어, 알고리즘, 인공지능 모델 등이 저장될 수 있다.The memory 120 stores a plurality of pre-trained learning models, and in addition, various commands, algorithms, artificial intelligence models, and the like for executing the defective product detection method may be stored.

또한, 메모리(120)는 복수의 서로 다른 타겟에 대한 불량 발생 정보가 저장되어 있을 수 있다. 불량 발생 정보는 타겟의 종류마다 불량이 발생하는 위치, 불량 발생 위치마다의 불량 발생 확률을 포함할 수 있다.Also, the memory 120 may store defect occurrence information for a plurality of different targets. The defect occurrence information may include a position where a defect occurs for each type of target and a probability of occurrence of a defect for each defect occurrence position.

메모리(120)는 본 장치의 다양한 기능을 지원하는 데이터와, 제어부의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 있고, 본 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 장치의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.The memory 120 may store data supporting various functions of the device, a program for the operation of the controller, and store input/output data (eg, music files, still images, moving images, etc.) , a plurality of application programs (application programs or applications) running on the device, data for operation of the device, and commands may be stored. At least some of these application programs may be downloaded from an external server through wireless communication.

이러한, 메모리(120)는 플래시 메모리(120) 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(120)(예를 들어 SD 또는 XD 메모리(120) 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리(120), 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(120)는 본 장치와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.The memory 120 is a flash memory 120 type (flash memory type), a hard disk type (hard disk type), an SSD type (Solid State Disk type), an SDD type (Silicon Disk Drive type), a multimedia card micro type (multimedia card micro type), card type memory 120 (eg, SD or XD memory 120, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory; a ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), the magnetic memory 120, a magnetic disk, and an optical disk may include at least one type of storage medium. In addition, although the memory 120 is separated from the device, it may be a database connected by wire or wirelessly.

통신부(130)는 내부 또는 외부의 장치, 서버와 통신할 수 있으며, 촬영 수단을 통해 촬영된 검사 대상에 대한 이미지를 수신할 수도 있고, 검사 대상에 대하여 판단된 불량 여부, 불량으로 판단된 검사 대상의 이미지를 외부 장치, 서버 또는 불량 제품 검출 장치(100)와 연결된 출력 장치로 제공할 수 있다.The communication unit 130 may communicate with an internal or external device or server, may receive an image of an inspection target photographed through a photographing means, and may determine whether the inspection target is defective or an inspection target determined to be defective. may be provided to an external device, a server, or an output device connected to the defective product detection device 100 .

몇몇 실시예에서, 불량 제품 검출 장치(100)는 서버 장치를 포함할 수 있으며, 통신부(130)를 통해서 외부 공장의 서버로부터 검사 대상에 대하여 촬영된 이미지를 수신하고, 이를 분석하여 불량 여부에 대한 판단 결과를 해당 공장의 서버로 제공함으로써, 불량 제품 검출 서비스를 제공할 수도 있다.In some embodiments, the defective product detection apparatus 100 may include a server device, and receives an image photographed for an inspection target from a server of an external factory through the communication unit 130 , and analyzes it to determine whether or not the product is defective. By providing the determination result to the server of the factory, a defective product detection service may be provided.

입출력 인터페이스부(140)는 본 장치에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 입출력 인터페이스부(140)는 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리(120) 카드(memory card) 포트, 식별 모듈(SIM)이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 중 적어도 하나를 포함할 수 있다. 본 장치에서는, 입출력 인터페이스부(140)에 연결된 외부의 입출력 장치(200)와 관련된 적절한 제어를 수행할 수 있다.The input/output interface unit 140 functions as a passage with various types of external devices connected to the apparatus. The input/output interface unit 140 includes a wired/wireless headset port, an external charger port, a wired/wireless data port, a memory 120 card port, and an identification module (SIM). It may include at least one of a port for connecting a device to be used, an audio I/O (Input/Output) port, a video I/O (Input/Output) port, and an earphone port. have. The device may perform appropriate control related to the external input/output device 200 connected to the input/output interface unit 140 .

프로세서(110)는 본 장치 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리(120), 및 메모리(120)에 저장된 데이터를 이용하여 전술한 동작을 수행하는 적어도 하나의 프로세서(110)로 구현될 수 있다. 이때, 메모리(120)와 프로세서(110)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리(120)와 프로세서(110)는 단일 칩으로 구현될 수도 있다.The processor 110 performs the above-described operation using the data stored in the memory 120 and the data stored in the memory 120 for storing the algorithm for controlling the operation of the components in the apparatus or the data for the program that reproduces the algorithm. It may be implemented with at least one processor 110 . In this case, the memory 120 and the processor 110 may be implemented as separate chips. Alternatively, the memory 120 and the processor 110 may be implemented as a single chip.

또한, 프로세서(110)는 이하의 도 2 내지 도 N에서 설명되는 본 개시에 따른 다양한 실시 예들을 본 장치 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.In addition, the processor 110 may control any one or a plurality of the components described above in order to implement various embodiments according to the present disclosure described with reference to FIGS. 2 to N below on the device.

아래에서는 도 3 내지 도 6의 흐름도와 각종 예시 도면들을 참조하여, 본 개시의 실시예에 따른 불량 제품 검출 장치(100), 방법에 대해서 보다 상세하게 설명하도록 한다.Hereinafter, the defective product detection apparatus 100 and method according to an embodiment of the present disclosure will be described in more detail with reference to the flowcharts of FIGS. 3 to 6 and various exemplary drawings.

도 3 내지 도 6은 본 개시의 실시예에 따른 복수의 학습 모델을 이용한 불량 제품 검출 방법의 흐름도이다.3 to 6 are flowcharts of a method for detecting a defective product using a plurality of learning models according to an embodiment of the present disclosure.

도 3을 참조하여 본 개시의 실시예에 따른 복수의 학습 모델을 이용한 불량 제품 검출 방법에 대해서 설명하도록 한다.A method for detecting a defective product using a plurality of learning models according to an embodiment of the present disclosure will be described with reference to FIG. 3 .

프로세서(110)가 양품 이미지에 대한 제1 피쳐맵(Feature Map)을 생성한다. (S100)The processor 110 generates a first feature map for the non-defective image. (S100)

프로세서(110)가 검사 대상 이미지에 대한 제2 피쳐맵(Feature Map)을 생성한다. (S200)The processor 110 generates a second feature map for the image to be inspected. (S200)

본 개시의 실시예에서 양품 이미지 및 검사 대상 이미지는 ImageNET data를 통해 사전 훈련된 pre-trained 모델을 통해 전처리된 RGB 포맷의 224 x 224 사이즈의 이미지이다.In an embodiment of the present disclosure, the non-defective image and the image to be inspected are images of 224 x 224 size in RGB format pre-processed through a pre-trained model pre-trained through ImageNET data.

보다 상세하게는, 프로세서(110)는 S100, S200을 수행하기 이전에, 양품과 검사 대상에 대한 Raw 이미지가 수신되면, ImageNET data를 통해 사전 훈련된 pre-trained 모델을 통해 전처리를 수행하여, RGB 포맷의 224 x 224 사이즈의 양품 이미지, 검사 대상 이미지를 획득할 수 있다.More specifically, the processor 110 performs pre-processing through a pre-trained model pre-trained through ImageNET data when a raw image of a good product and an inspection target is received before performing S100 and S200, and RGB It is possible to obtain a non-defective image of a 224 x 224 format and an image to be inspected.

먼저, S100, S200에 대해서 보다 상세하게 설명하도록 한다.First, S100 and S200 will be described in more detail.

※ S100에 대한 상세 설명※ Detailed description of S100

도 4 및 도 7은 S100에 대해서 보다 상세하게 도시되어 있으며, 도 4 및 도 7을 참조하면 S100은 아래 단계들을 더 포함할 수 있다.4 and 7 are illustrated in more detail with respect to S100. Referring to FIGS. 4 and 7, S100 may further include the following steps.

프로세서(110)가 양품 이미지를 1/N로 리사이즈 한다. (S110)The processor 110 resizes the non-defective image to 1/N. (S110)

프로세서(110)는 양품 이미지를 1/8로 리사이즈 하며, 구체적으로 프로세서(110)는 224 x 224 사이즈의 이미지를 28 x 28 사이즈로 축소할 수 있다.The processor 110 resizes the non-defective image to 1/8, and specifically, the processor 110 may reduce the 224 x 224 image to a 28 x 28 size.

본 개시의 실시예에서 프로세서(110)가 이미지를 축소하여 리사이즈 하는 것은 이미지의 화질을 다운시키는 것을 의미하며, 이를 통해 처리속도를 현저하게 향상시키게 된다.In the embodiment of the present disclosure, when the processor 110 reduces and resizes the image, it means that the image quality is lowered, thereby remarkably improving the processing speed.

프로세서(110)가 S110에서 리사이즈된 이미지를 제1, 제2 및 제3 학습모델에 입력한다. (S120)The processor 110 inputs the resized image in S110 to the first, second, and third learning models. (S120)

본 개시의 실시예에서 복수 개의 학습 모델은 제1, 제2 및 제3 학습모델을 포함할 수 있으며, 제1 학습 모델은 NasNet을 적용한 신경망 모델이고, 제2 학습 모델은 MobileNet을 적용한 신경망 모델이고, 제3 학습 모델은 EfficientNet을 적용한 신경망 모델이 각각 적용될 수 있다.In an embodiment of the present disclosure, the plurality of learning models may include first, second and third learning models, the first learning model is a neural network model to which NasNet is applied, and the second learning model is a neural network model to which MobileNet is applied. , a neural network model to which EfficientNet is applied may be applied as the third learning model, respectively.

프로세서(110)가 제1 피쳐 세트(Feature set), 제2 피쳐 세트(Feature set) 및 제3 피쳐 세트(Feature set)를 획득한다. (S130)The processor 110 acquires a first feature set, a second feature set, and a third feature set. (S130)

프로세서(110)는 제1 학습 모델을 통해 복수 개의 피쳐가 포함된 제1 피쳐 세트, 제2 학습 모델을 통해 복수 개의 피쳐가 포함된 제2 피쳐 세트, 제3 학습 모델을 통해 복수 개의 피쳐가 포함된 제3 피쳐 세트를 획득할 수 있다.The processor 110 includes a first feature set including a plurality of features through a first learning model, a second feature set including a plurality of features through a second learning model, and a plurality of features through a third learning model A third feature set can be obtained.

도 9는 제1 학습 모델의 NasNet을 적용한 신경망 모델의 예시도이다.9 is an exemplary diagram of a neural network model to which NasNet of the first learning model is applied.

도 10은 제2 학습 모델의 MobileNet을 적용한 신경망 모델의 예시도이다.10 is an exemplary diagram of a neural network model to which MobileNet of the second learning model is applied.

도 11은 제3 학습 모델의 EfficientNet을 적용한 신경망 모델의 예시도이다.11 is an exemplary diagram of a neural network model to which EfficientNet of the third learning model is applied.

프로세서(110)는 제1 학습 모델을 통해 256개의 피쳐를 추출하여 제1 피쳐 세트를 획득할 수 있다. (도 9의 P=65536 참조)The processor 110 may obtain a first feature set by extracting 256 features through the first learning model. (See P=65536 in FIG. 9)

프로세서(110)는 제2 학습 모델을 통해 256개의 피쳐를 추출하여 제2 피쳐 세트를 획득할 수 있다. (도 10의 Conv dw / s2 참조)The processor 110 may obtain a second feature set by extracting 256 features through the second learning model. (See Conv dw/s2 in Fig. 10)

프로세서(110)는 제3 학습 모델을 통해 240개의 피쳐를 추출하여 제3 피쳐 세트를 획득할 수 있다. (도 11의 28 x 28 x 40, 28 x 28 x 80, 28 x 28 x 80 참조)The processor 110 may obtain a third feature set by extracting 240 features through the third learning model. (Refer to 28 x 28 x 40, 28 x 28 x 80, 28 x 28 x 80 in Fig. 11)

따라서, 프로세서(110)는 총 752개의 피쳐(256 + 256 + 240)를 획득할 수 있다.Accordingly, the processor 110 may acquire a total of 752 features (256 + 256 + 240).

프로세서(110)가 양품 이미지에 대하여 획득된 피쳐의 개수를 축소한다. (S140)The processor 110 reduces the number of features acquired for the non-defective image. (S140)

본 개시의 실시예에서 불량 제품 검출 장치(100)는 처리 속도의 향상을 위해서, S140과 같이 피쳐의 개수를 축소할 수 있다.In the exemplary embodiment of the present disclosure, the defective product detecting apparatus 100 may reduce the number of features as in S140 in order to improve the processing speed.

보다 상세하게는, 프로세서(110)는 S130에서 획득된 피쳐 세트에 포함된 피쳐의 고유벡터(eigenvector)를 결정하고, 결정된 고유벡터를 기초로 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하여 제1 피쳐맵을 생성할 수 있다.More specifically, the processor 110 determines an eigenvector of a feature included in the feature set obtained in S130, and generates a new feature in which the variance between each feature is maximized based on the determined eigenvector. 1 You can create a feature map.

프로세서(110)는 처리 성능을 보장하면서 처리 속도를 향상시키기 위해서, 위와 같이 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하여 피쳐맵을 생성하며, 이 과정에서 주성분 분석(Principal Component Analysis, PCA)을 이용할 수 있다. 따라서, 프로세서(110)가 생성하는 신규 피쳐는 기존의 피쳐가 적용될 수도 있다.In order to improve processing speed while guaranteeing processing performance, the processor 110 generates a feature map by creating a new feature in which the dispersion between each feature is maximized as above, and in this process, Principal Component Analysis (PCA) is available. Accordingly, existing features may be applied to new features generated by the processor 110 .

그리고, 프로세서(110)는 제1 피쳐맵 및 제2 피쳐맵을 생성할 때, 기 설정된 개수의 신규 피쳐를 생성할 수 있으며, 제1, 제2 및 제3 피쳐 세트에 포함된 K개의 피쳐에서 M개의 신규 피쳐를 생성할 수 있다.In addition, when generating the first feature map and the second feature map, the processor 110 may generate a preset number of new features, and from the K features included in the first, second, and third feature sets. M new features can be created.

구체적으로, 프로세서(110)는 제1, 제2 및 제3 피쳐 세트에 포함된 752개의 피쳐에서 400개의 신규 피쳐를 생성할 수 있다.Specifically, the processor 110 may generate 400 new features from 752 features included in the first, second, and third feature sets.

프로세서(110)가 양품 이미지에 대한 제1 피쳐맵을 생성한다. (S150)The processor 110 generates a first feature map for the non-defective image. (S150)

프로세서(110)는 S140에서 생성된 신규 피쳐를 기반으로 양품 이미지에 대한 제1 피쳐맵을 생성할 수 있다.The processor 110 may generate a first feature map for the non-defective image based on the new feature generated in S140 .

※ S200에 대한 상세 설명※ Detailed description of S200

S200에 대한 상세 설명은 전술한 S100에 대한 상세 설명과 동일하며, 양품 이미지에 대하여 수행된 프로세스를 검사 대상 이미지에 대하여 수행하는 것에 차이점이 존재한다.The detailed description of S200 is the same as the detailed description of S100 described above, and there is a difference in performing the process performed on the non-defective image on the inspection target image.

도 5 및 도 8은 S100에 대해서 보다 상세하게 도시되어 있으며, 도 5 및 도 8을 참조하면 S200은 아래 단계들을 더 포함할 수 있다.5 and 8 are illustrated in more detail with respect to S100. Referring to FIGS. 5 and 8, S200 may further include the following steps.

프로세서(110)가 검사 대상 이미지를 1/N로 리사이즈 한다. (S210)The processor 110 resizes the inspection target image to 1/N. (S210)

프로세서(110)는 검사 대상 이미지를 1/8로 리사이즈 하며, 구체적으로 프로세서(110)는 224 x 224 사이즈의 이미지를 28 x 28 사이즈로 축소할 수 있다.The processor 110 resizes the inspection target image to 1/8, and specifically, the processor 110 may reduce the 224 x 224 image to a 28 x 28 size.

본 개시의 실시예에서 프로세서(110)가 이미지를 축소하여 리사이즈 하는 것은 이미지의 화질을 다운시키는 것을 의미하며, 이를 통해 처리속도를 현저하게 향상시키게 된다.In the embodiment of the present disclosure, when the processor 110 reduces and resizes the image, it means that the image quality is lowered, thereby remarkably improving the processing speed.

프로세서(110)가 S210에서 리사이즈된 이미지를 제1, 제2 및 제3 학습모델에 입력한다. (S220)The processor 110 inputs the resized image in S210 to the first, second, and third learning models. (S220)

본 개시의 실시예에서 복수 개의 학습 모델은 제1, 제2 및 제3 학습모델을 포함할 수 있으며, 제1 학습 모델은 NasNet을 적용한 신경망 모델이고, 제2 학습 모델은 MobileNet을 적용한 신경망 모델이고, 제3 학습 모델은 EfficientNet을 적용한 신경망 모델이 각각 적용될 수 있다.In an embodiment of the present disclosure, the plurality of learning models may include first, second and third learning models, the first learning model is a neural network model to which NasNet is applied, and the second learning model is a neural network model to which MobileNet is applied. , a neural network model to which EfficientNet is applied may be applied as the third learning model, respectively.

프로세서(110)가 제1 피쳐 세트, 제2 피쳐 세트 및 제3 피쳐 세트를 획득한다. (S230)The processor 110 obtains a first feature set, a second feature set, and a third feature set. (S230)

프로세서(110)는 제1 학습 모델을 통해 복수 개의 피쳐가 포함된 제1 피쳐 세트, 제2 학습 모델을 통해 복수 개의 피쳐가 포함된 제2 피쳐 세트, 제3 학습 모델을 통해 복수 개의 피쳐가 포함된 제3 피쳐 세트를 획득할 수 있다.The processor 110 includes a first feature set including a plurality of features through a first learning model, a second feature set including a plurality of features through a second learning model, and a plurality of features through a third learning model A third feature set can be obtained.

도 9는 제1 학습 모델의 NasNet을 적용한 신경망 모델의 예시도이다.9 is an exemplary diagram of a neural network model to which NasNet of the first learning model is applied.

도 10은 제2 학습 모델의 MobileNet을 적용한 신경망 모델의 예시도이다.10 is an exemplary diagram of a neural network model to which MobileNet of the second learning model is applied.

도 11은 제3 학습 모델의 EfficientNet을 적용한 신경망 모델의 예시도이다.11 is an exemplary diagram of a neural network model to which EfficientNet of the third learning model is applied.

프로세서(110)는 제1 학습 모델을 통해 256개의 피쳐를 추출하여 제1 피쳐 세트를 획득할 수 있다. (도 9의 P=65536 참조)The processor 110 may obtain a first feature set by extracting 256 features through the first learning model. (See P=65536 in FIG. 9)

프로세서(110)는 제2 학습 모델을 통해 256개의 피쳐를 추출하여 제2 피쳐 세트를 획득할 수 있다. (도 10의 Conv dw / s2 참조)The processor 110 may obtain a second feature set by extracting 256 features through the second learning model. (See Conv dw/s2 in Fig. 10)

프로세서(110)는 제3 학습 모델을 통해 240개의 피쳐를 추출하여 제3 피쳐 세트를 획득할 수 있다. (도 11의 28 x 28 x 40, 28 x 28 x 80, 28 x 28 x 80 참조)The processor 110 may obtain a third feature set by extracting 240 features through the third learning model. (Refer to 28 x 28 x 40, 28 x 28 x 80, 28 x 28 x 80 in Fig. 11)

따라서, 프로세서(110)는 총 752개의 피쳐(256 + 256 + 240)를 획득할 수 있다.Accordingly, the processor 110 may acquire a total of 752 features (256 + 256 + 240).

프로세서(110)가 검사 대상 이미지에 대하여 획득된 피쳐의 개수를 축소한다. (S240)The processor 110 reduces the number of features acquired for the image to be inspected. (S240)

도 12는 신규 피쳐를 생성하여 피쳐 개수 축소를 예시한 도면이다.12 is a diagram illustrating a reduction in the number of features by creating new features.

본 개시의 실시예에서 불량 제품 검출 장치(100)는 처리 속도의 향상을 위해서, S240과 같이 피쳐의 개수를 축소할 수 있다.In the exemplary embodiment of the present disclosure, the defective product detecting apparatus 100 may reduce the number of features as in S240 in order to improve processing speed.

보다 상세하게는, 프로세서(110)는 S230에서 획득된 피쳐 세트에 포함된 피쳐의 고유벡터(eigenvector)를 결정하고, 결정된 고유벡터를 기초로 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하여 제2 피쳐맵을 생성할 수 있다.More specifically, the processor 110 determines an eigenvector of a feature included in the feature set obtained in S230, and generates a new feature in which the variance between each feature is maximized based on the determined eigenvector. 2 You can create a feature map.

프로세서(110)는 처리 성능을 보장하면서 처리 속도를 향상시키기 위해서, 위와 같이 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하여 피쳐맵을 생성하며, 이 과정에서 주성분 분석(Principal Component Analysis, PCA)을 이용할 수 있다. 따라서, 프로세서(110)가 생성하는 신규 피쳐는 기존의 피쳐가 적용될 수도 있다.In order to improve processing speed while guaranteeing processing performance, the processor 110 generates a feature map by creating a new feature in which the dispersion between each feature is maximized as above, and in this process, Principal Component Analysis (PCA) is available. Accordingly, existing features may be applied to new features generated by the processor 110 .

그리고, 프로세서(110)는 제1 피쳐맵 및 제2 피쳐맵을 생성할 때, 기 설정된 개수의 신규 피쳐를 생성할 수 있으며, 제1, 제2 및 제3 피쳐 세트에 포함된 K개의 피쳐에서 M개의 신규 피쳐를 생성할 수 있다.In addition, when generating the first feature map and the second feature map, the processor 110 may generate a preset number of new features, and from the K features included in the first, second, and third feature sets. M new features can be created.

구체적으로, 프로세서(110)는 제1, 제2 및 제3 피쳐 세트에 포함된 752개의 피쳐에서 400개의 신규 피쳐를 생성할 수 있다.Specifically, the processor 110 may generate 400 new features from 752 features included in the first, second, and third feature sets.

전술한 바와 같이, 일 실시예로 메모리(120)는 복수의 서로 다른 타겟에 대한 불량 발생 정보가 저장되어 있을 수 있으며, 불량 발생 정보는 타겟의 종류마다 불량이 발생하는 위치, 불량 발생 위치마다의 불량 발생 확률을 포함할 수 있다.As described above, according to an embodiment, the memory 120 may store defect occurrence information for a plurality of different targets, and the defect occurrence information is a location where a defect occurs for each type of target and a location where a defect occurs for each type of target. It may include the probability of occurrence of a defect.

프로세서(110)는 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하되, 검사 대상의 불량 발생 정보를 고려하여 신규 피처를 생성할 수 있다.The processor 110 may generate a new feature in which the dispersion between each feature is maximized, but may generate the new feature in consideration of defect occurrence information of the inspection target.

본 개시의 실시예에 따른 불량 제품 검출 장치(100)는 해당 타겟의 제조/제작 과정에서 불량이 자주 발생하는 위치, 각 불량 발생 위치마다의 불량 발생 확률을 고려하여 신규 피쳐를 생성하기 때문에, 보다 효율적이고 높은 성공 확률로 불량 여부를 판단할 수 있게 된다.The defective product detection apparatus 100 according to the embodiment of the present disclosure generates a new feature in consideration of a location where a defect frequently occurs in the manufacturing/manufacturing process of a corresponding target, and a defect occurrence probability at each defective occurrence location, Defects can be determined efficiently and with high success probability.

프로세서(110)가 검사 대상 이미지에 대한 제2 피쳐맵을 생성한다. (S250)The processor 110 generates a second feature map for the image to be inspected. (S250)

프로세서(110)는 S240에서 생성된 신규 피쳐를 기반으로 검사 대상 이미지에 대한 제2 피쳐맵을 생성할 수 있다.The processor 110 may generate a second feature map for the inspection target image based on the new feature generated in S240 .

본 개시의 실시예에 따른 불량 제품 검출 장치(100)는 상술한 바와 같이, 양품 이미지를 이용하여 제1 피쳐맵을 생성함으로써, 벤치마크 세트(Benchmark set)를 생성하고, 이를 검사 대상 이미지를 이용하여 생성된 제2 피쳐맵과 비교하여 마할라노비스 거리를 산출함으로써 불량 제품을 검출할 수 있게 되며, 제1 피쳐맵과 제2 피쳐맵의 도메인이 다르다는 특징을 갖고 있다.As described above, the defective product detection apparatus 100 according to an embodiment of the present disclosure generates a benchmark set by generating a first feature map using a non-defective image, and uses the same as an inspection target image. By calculating the Mahalanobis distance by comparing with the generated second feature map, a defective product can be detected, and the domains of the first feature map and the second feature map are different.

도 13은 S300 내지 S600을 예시한 도면이다.13 is a view illustrating S300 to S600.

도 6 및 도 13을 참조하면, 본 개시의 실시예에 따른 불량 제품 검출 방법은 하기 단계들을 더 포함한다.6 and 13 , the method for detecting a defective product according to an embodiment of the present disclosure further includes the following steps.

프로세서(110)가 제1 피쳐맵과 제2 피쳐맵의 마할라노비스 거리(Mahalanobis Distance)를 산출한다. (S300)The processor 110 calculates a Mahalanobis distance between the first feature map and the second feature map. (S300)

프로세서(110)가 양품과 불량 여부 판단 기준을 위한 임계값(threshold)을 산출한다. (S400)The processor 110 calculates a threshold for determining whether the product is good or defective. (S400)

프로세서(110)가 S300에서 산출된 마할라노비스 거리를 기반으로 검사 대상 이미지의 불량 여부를 판단한다. (S500)The processor 110 determines whether the inspection target image is defective based on the Mahalanobis distance calculated in S300 . (S500)

도 14는 제1 피쳐맵과 제2 피쳐맵의 마할라노비스 거리를 산출하는 것을 예시한 도면이다.14 is a diagram illustrating an example of calculating a Mahalanobis distance between a first feature map and a second feature map.

프로세서(110)는 제1 피쳐맵과 제2 피쳐맵의 마할라노비스 거리를 산출하고, 산출된 마할라노비스 거리를 기반으로 검사 대상 이미지의 불량 여부를 판단할 수 있다.The processor 110 may calculate the Mahalanobis distance of the first feature map and the second feature map, and determine whether the inspection target image is defective based on the calculated Mahalanobis distance.

이때, 프로세서(110)는 제1 피쳐맵 내 피쳐들의 표준편차에 기초하여 불량 판단의 민감도를 위한 임계값(threshold)을 산출할 수 있다.In this case, the processor 110 may calculate a threshold for the sensitivity of the failure determination based on the standard deviation of the features in the first feature map.

그리고, 프로세서(110)는 S500을 수행할 때, S300에서 산출된 마할라노비스 거리와 S400에서 산출된 임계값을 기반으로 검사 대상 이미지의 불량 여부를 판단할 수 있다.Then, when performing S500, the processor 110 may determine whether the inspection target image is defective based on the Mahalanobis distance calculated in S300 and the threshold value calculated in S400.

예를 들어, 불량 제품 검출 장치(100)는 제1 피쳐맵 내 피쳐들의 표준편차가 크면 불량 판단의 민감도를 낮게 설정하여 임계값을 산출하고, 제1 피쳐맵 내 피쳐들의 표준편차가 작으면 불량 판단의 민감도를 높게 설정하여 임계값을 산출할 수 있다.For example, if the standard deviation of the features in the first feature map is large, the defective product detection apparatus 100 sets the sensitivity of the defect determination to be low and calculates a threshold value, and if the standard deviation of the features in the first feature map is small, the defect The threshold value can be calculated by setting the sensitivity of the judgment to be high.

메모리(120)는 민감도 상수(S), 임계값 산출 알고리즘이 저장되어 있으며, 프로세서(110)는 표준편차, 민감도 상수(S), 임계값 산출 알고리즘을 이용하여 임계값을 산출할 수 있다.The memory 120 stores the sensitivity constant S and the threshold value calculation algorithm, and the processor 110 may calculate the threshold value using the standard deviation, the sensitivity constant S, and the threshold value calculation algorithm.

도 15는 양품과 불량 판단의 민감도를 위한 임계값 산출을 예시한 도면이다.15 is a diagram illustrating calculation of a threshold value for the sensitivity of judgment of good and bad products.

일 실시예로, 프로세서(110)는 임계값 결정을 위해 제1 피쳐맵 내 적어도 일부의 피쳐에 대하여 정밀도(Precision, TP/(TP+FP)), 민감도(Recall Curve, TP/(TP+FN))를 산출하고, ROC Curves를 이용하여 상기 산출된 정밀도 및 민감도를 기반으로 임계값(threshold)을 산출할 수 있다.In one embodiment, the processor 110 determines a threshold value for at least some features in the first feature map, including precision (Precision, TP/(TP+FP)), and sensitivity (Recall Curve, TP/(TP+FN). )), and a threshold can be calculated based on the calculated precision and sensitivity using ROC Curves.

프로세서(110)는 FP와 TP의 합이 최소가 되는 임계값(β)을 산출할 수 있다.The processor 110 may calculate a threshold value β at which the sum of FP and TP is minimum.

프로세서(110)가 리사이즈되어 축소된 이미지를 원본 이미지의 사이즈로 보간(Interpolation)하고, 검사 대상의 최종 불량 여부를 표시한다. (S600)The processor 110 interpolates the resized and reduced image to the size of the original image, and displays whether the test target is defective. (S600)

도 16은 원본 이미지 사이즈로 보간하고, 최종 불량 여부를 표시하는 것을 예시한 도면이다.16 is a diagram illustrating an example of interpolating with an original image size and displaying whether or not a final defect is present.

프로세서(110)는 S210에서 검사 대상의 이미지를 리사이즈 하여 축소하였으므로, S600에서 보간(Interpolation)을 수행하여 사이즈를 확대시킬 수 있다.Since the processor 110 resizes and reduces the image of the inspection object in S210 , the size may be enlarged by performing interpolation in S600 .

상세하게는, 프로세서(110)는 S210에서 검사 대상의 이미지를 28 x 28 사이즈로 축소하였으므로, 28 x 28 사이즈의 Feature의 Anomaly detection 값을 원본 사이즈인 224 x 224 사이즈로 보간한 후, 가우시안 필터를 활용하여 노이즈를 제거하고, 최종적으로 불량 여부를 표시할 수 있다.In detail, since the processor 110 reduced the image of the inspection target to the size of 28 x 28 in S210, the anomaly detection value of the feature having the size of 28 x 28 is interpolated to the size of 224 x 224, which is the original size, and then a Gaussian filter is applied. It can be used to remove noise and finally indicate whether it is defective or not.

일 실시예로, 프로세서(110)는 입출력 인터페이스(140) 및 외부의 입출력 장치(200) 중 적어도 하나를 통해서 검사 대상의 불량 여부를 표시할 수 있다.As an embodiment, the processor 110 may display whether the test target is defective through at least one of the input/output interface 140 and the external input/output device 200 .

또한, 프로세서는 검사 대상 이미지의 불량 발생 위치를 이미지/영상으로 표시할 수도 있다.In addition, the processor may display a defect occurrence location of the inspection target image as an image/image.

도 17은 나사의 불량품을 예시한 도면이다.17 is a diagram illustrating an example of a defective product of a screw.

전술한 바와 같이, 일 실시예로 메모리(120)는 복수의 서로 다른 타겟에 대한 불량 발생 정보가 저장되어 있을 수 있으며, 불량 발생 정보는 타겟의 종류마다 불량이 발생하는 위치, 불량 발생 위치마다의 불량 발생 확률을 포함할 수 있다.As described above, according to an embodiment, the memory 120 may store defect occurrence information for a plurality of different targets, and the defect occurrence information is a location where a defect occurs for each type of target and a location where a defect occurs for each type of target. It may include the probability of occurrence of a defect.

프로세서(110)는 S140, S240 과정에서 신규 피쳐를 생성할 때, 메모리(120)에 저장된 불량 발생 정보를 이용하여 신규 피쳐를 생성할 수 있다.When generating a new feature in steps S140 and S240 , the processor 110 may create a new feature using defect occurrence information stored in the memory 120 .

프로세서(110)는 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하되, 검사 대상의 불량 발생 정보를 고려하여 신규 피처를 생성할 수 있다.The processor 110 may generate a new feature in which the dispersion between each feature is maximized, but may generate the new feature in consideration of defect occurrence information of the inspection target.

본 개시의 실시예에 따른 불량 제품 검출 장치(100)는 해당 타겟의 제조/제작 과정에서 불량이 자주 발생하는 위치, 각 불량 발생 위치마다의 불량 발생 확률을 고려하여 신규 피쳐를 생성하기 때문에, 보다 효율적이고 높은 성공 확률로 불량 여부를 판단할 수 있게 된다.The defective product detection apparatus 100 according to the embodiment of the present disclosure generates a new feature in consideration of a location where a defect frequently occurs in the manufacturing/manufacturing process of a corresponding target, and a defect occurrence probability at each defective occurrence location, Defects can be determined efficiently and with high success probability.

예를 들어, 도 17과 같은 나사가 타겟으로 적용되는 경우, 해당 나사가 A 영역에 불량이 자주 발생하는 경우, 이를 고려하여 신규 피쳐를 생성함으로써 보다 효율적으로 불량 여부를 검출할 수 있게 된다.For example, when a screw as shown in FIG. 17 is applied as a target, and when the screw frequently has defects in area A, a new feature is created in consideration of this to more efficiently detect whether the screw is defective.

이상에서 전술한 본 개시의 일 실시예에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The method according to an embodiment of the present disclosure described above may be implemented as a program (or application) to be executed in combination with a server, which is hardware, and stored in a medium.

상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-described program is C, C++, JAVA, machine language, etc. that a processor (CPU) of the computer can read through a device interface of the computer in order for the computer to read the program and execute the methods implemented as a program It may include code (Code) coded in the computer language of Such code may include functional code related to a function defining functions necessary for executing the methods, etc. can do. In addition, the code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. have. In addition, when the processor of the computer needs to communicate with any other computer or server located remotely in order to execute the functions, the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.

상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. That is, the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user. In addition, the medium may be distributed in a computer system connected by a network, and computer-readable codes may be stored in a distributed manner.

본 개시의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in relation to an embodiment of the present disclosure may be implemented directly in hardware, implemented as a software module executed by hardware, or implemented by a combination thereof. A software module may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present disclosure pertains.

이상, 첨부된 도면을 참조로 하여 본 개시의 실시예를 설명하였지만, 본 개시가 속하는 기술분야의 통상의 기술자는 본 개시가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Above, although embodiments of the present disclosure have been described with reference to the accompanying drawings, those of ordinary skill in the art to which the present disclosure pertains can realize that the present disclosure can be embodied in other specific forms without changing its technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

10: 불량 제품 검출 시스템
30: 나사
100: 불량 제품 검출 장치
110: 프로세서
120: 메모리
130: 통신부
140: 입출력 인터페이스
200: 입출력 장치
10: Defective product detection system
30: screw
100: defective product detection device
110: processor
120: memory
130: communication department
140: input/output interface
200: input/output device

Claims (10)

통신부;
미리 학습된 복수의 학습 모델이 저장된 메모리; 및
적어도 하나의 코어를 포함하고, 타겟의 양품 이미지에 대한 제1 피쳐맵(Feature Map)을 생성하고, 상기 타겟의 검사 대상 이미지에 대한 제2 피쳐맵을 생성하고, 상기 제1 피쳐맵과 상기 제2 피쳐맵의 마할라노비스 거리(Mahalanobis distance)를 산출하며, 상기 산출된 마할라노비스 거리(Mahalanobis distance)를 기반으로 상기 검사 대상 이미지의 불량 여부를 판단하는 프로세서를 포함하고,
상기 프로세서는,
상기 산출된 마할라노비스 거리와 불량 판단을 위해 기 설정된 기준을 기반으로 상기 타겟의 검사 대상 이미지의 불량을 판단하되, 상기 제1 피쳐맵 내 피쳐들의 표준편차를 기반으로 상기 불량 판단의 민감도(Recall Curve)를 설정하기 위한 임계값(threshold)을 산출하고, 상기 산출된 마할라노비스 거리와 상기 산출된 임계값을 기반으로 상기 검사 대상 이미지의 불량 여부를 판단하고,
상기 임계값을 산출 시에, 상기 제1 피쳐맵 내 적어도 일부의 피쳐에 대하여 정밀도(Precision) 및 민감도(Recall Curve)를 산출하고, ROC Curves를 이용하여 상기 적어도 일부의 피쳐에 대하여 산출된 정밀도 및 민감도를 기반으로 상기 임계값을 산출하는,
불량 제품 검출 장치.
communication department;
a memory in which a plurality of pre-trained learning models are stored; and
It includes at least one core, generates a first feature map for a non-defective image of a target, generates a second feature map for an inspection target image of the target, and includes the first feature map and the second feature map. 2 A processor for calculating a Mahalanobis distance of the feature map, and determining whether the image to be inspected is defective based on the calculated Mahalanobis distance,
The processor is
Determining the defect of the inspection target image of the target based on the calculated Mahalanobis distance and a preset criterion for determining the defect, but based on the standard deviation of the features in the first feature map, the sensitivity of the defect determination (Recall) Curve) is calculated, and based on the calculated Mahalanobis distance and the calculated threshold value, it is determined whether the inspection target image is defective,
When calculating the threshold value, precision and sensitivity (Recall Curve) are calculated for at least some features in the first feature map, and the precision calculated for the at least some features using ROC Curves and calculating the threshold value based on the sensitivity,
Defective product detection device.
제1항에 있어서,
상기 프로세서는,
상기 양품 이미지의 사이즈를 1/N로 리사이즈하고,
상기 양품 이미지에 대하여 상기 리사이즈된 이미지를 상기 복수의 학습모델을 통해 피쳐를 추출하여 제1 피쳐 세트, 제2 피쳐 세트 및 제3 피쳐 세트를 포함하는 피쳐 세트를 획득하고,
상기 획득된 피쳐 세트에 포함된 피쳐의 고유벡터(eigenvector)를 결정하고, 상기 결정된 고유벡터를 기초로 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하여 상기 제1 피쳐맵을 생성하는,
불량 제품 검출 장치.
According to claim 1,
The processor is
Resize the size of the image of the good product to 1/N,
Obtaining a feature set including a first feature set, a second feature set and a third feature set by extracting features from the resized image with respect to the non-defective image through the plurality of learning models,
Determining an eigenvector of a feature included in the acquired feature set, and generating a new feature having a maximum variance between each feature based on the determined eigenvector to generate the first feature map,
Defective product detection device.
제2항에 있어서,
상기 프로세서는,
상기 검사 대상 이미지의 사이즈를 1/N로 리사이즈하고,
상기 검사 대상 이미지에 대하여 상기 리사이즈된 이미지를 상기 복수의 학습모델을 통해 피쳐를 추출하여 제1 피쳐 세트, 제2 피쳐 세트 및 제3 피쳐 세트를 포함하는 피쳐 세트를 획득하고,
상기 획득된 피쳐 세트에 포함된 피쳐의 고유벡터(eigenvector)를 결정하고, 상기 결정된 고유벡터를 기초로 각 피쳐 간의 분산이 최대가 되는 신규 피쳐를 생성하여 상기 제2 피쳐맵을 생성하는,
불량 제품 검출 장치.
3. The method of claim 2,
The processor is
Resize the size of the image to be inspected to 1/N,
Obtaining a feature set including a first feature set, a second feature set, and a third feature set by extracting features from the resized image with respect to the inspection target image through the plurality of learning models,
Determining an eigenvector of a feature included in the obtained feature set, and generating a new feature having a maximum variance between each feature based on the determined eigenvector to generate the second feature map,
Defective product detection device.
제3항에 있어서,
상기 프로세서는,
상기 제1 피쳐맵 및 상기 제2 피쳐맵을 생성할 때, 기 설정된 개수의 신규 피쳐를 생성하고,
상기 신규 피쳐는 기존 피쳐도 적용이 가능한 것을 특징으로 하는,
불량 제품 검출 장치.
4. The method of claim 3,
The processor is
When generating the first feature map and the second feature map, a preset number of new features are created,
The new feature is characterized in that it can be applied to existing features,
Defective product detection device.
제4항에 있어서,
상기 양품 이미지 및 상기 검사 대상 이미지는 ImageNET data를 통해 사전 훈련된 pre-trained 모델을 통해 전처리된 RGB 포맷의 224 x 224 사이즈의 이미지이고,
상기 프로세서는 상기 양품 이미지 및 상기 검사 대상 이미지를 1/8로 리사이즈 하여 28 x 28 사이즈의 이미지를 획득하고,
상기 복수의 학습 모델은 제1, 제2 및 제3 학습 모델을 포함하고,
상기 제1 학습 모델은 NasNet을 적용한 신경망 모델이고,
상기 제2 학습 모델은 MobileNet을 적용한 신경망 모델이고,
상기 제3 학습 모델은 EfficientNet을 적용한 신경망 모델인 것을 특징으로 하는,
불량 제품 검출 장치.
5. The method of claim 4,
The non-defective image and the image to be inspected are images of 224 x 224 size in RGB format pre-processed through a pre-trained model pre-trained through ImageNET data,
The processor resizes the non-defective image and the inspection target image to 1/8 to obtain an image of 28 x 28 size,
The plurality of learning models include first, second and third learning models,
The first learning model is a neural network model to which NasNet is applied,
The second learning model is a neural network model to which MobileNet is applied,
The third learning model is characterized in that it is a neural network model to which EfficientNet is applied,
Defective product detection device.
제5항에 있어서,
상기 프로세서는,
상기 제1 학습 모델을 통해 256개의 피쳐를 추출하여 상기 제1 피쳐 세트를 획득하고,
상기 제2 학습 모델을 통해 256개의 피쳐를 추출하여 상기 제2 피쳐 세트를 획득하고,
상기 제3 학습 모델을 통해 240개의 피쳐를 추출하여 상기 제3 피쳐 세트를 획득하여 총 752개의 피쳐를 획득하고,
상기 752개의 피쳐에서 400개의 상기 신규 피쳐를 생성하여 상기 제1 피쳐맵 및 상기 제2 피쳐맵을 생성하는 것을 특징으로 하는,
불량 제품 검출 장치.
6. The method of claim 5,
The processor is
Extracting 256 features through the first learning model to obtain the first set of features,
Extracting 256 features through the second learning model to obtain the second set of features,
A total of 752 features are obtained by extracting 240 features through the third learning model to obtain the third set of features,
The first feature map and the second feature map are generated by generating 400 new features from the 752 features,
Defective product detection device.
삭제delete 삭제delete 불량 제품 검출 장치에 의해 수행되는 방법으로,
타겟의 양품 이미지에 대한 제1 피쳐맵을 생성하는 단계;
상기 타겟의 검사 대상 이미지에 대한 제2 피쳐맵을 생성하는 단계;
상기 제1 피쳐맵과 상기 제2 피쳐맵의 마할라노비스 거리(Mahalanobis distance)를 산출하는 단계; 및
상기 산출된 마할라노비스 거리(Mahalanobis distance)를 기반으로 상기 검사 대상 이미지의 불량 여부를 판단하는 단계를 포함하며,
상기 불량 제품 검출 장치는,
상기 산출된 마할라노비스 거리와 불량 판단을 위해 기 설정된 기준을 기반으로 상기 타겟의 검사 대상 이미지의 불량을 판단하되, 상기 제1 피쳐맵 내 피쳐들의 표준편차를 기반으로 상기 불량 판단의 민감도(Recall Curve)를 설정하기 위한 임계값(threshold)을 산출하고, 상기 산출된 마할라노비스 거리와 상기 산출된 임계값을 기반으로 상기 검사 대상 이미지의 불량 여부를 판단하고,
상기 임계값을 산출 시에, 상기 제1 피쳐맵 내 적어도 일부의 피쳐에 대하여 정밀도(Precision) 및 민감도(Recall Curve)를 산출하고, ROC Curves를 이용하여 상기 적어도 일부의 피쳐에 대하여 산출된 정밀도 및 민감도를 기반으로 상기 임계값을 산출하는,
불량 제품 검출 방법.
A method performed by a defective product detection device, comprising:
generating a first feature map for a non-defective image of a target;
generating a second feature map for the inspection target image of the target;
calculating a Mahalanobis distance between the first feature map and the second feature map; and
Comprising the step of determining whether the inspection target image is defective based on the calculated Mahalanobis distance,
The defective product detection device,
Determining the defect of the inspection target image of the target based on the calculated Mahalanobis distance and a preset criterion for determining the defect, but based on the standard deviation of the features in the first feature map, the sensitivity of the defect determination (Recall) Curve) is calculated, and based on the calculated Mahalanobis distance and the calculated threshold value, it is determined whether the inspection target image is defective,
When calculating the threshold value, precision and sensitivity (Recall Curve) are calculated for at least some features in the first feature map, and the precision calculated for the at least some features using ROC Curves and calculating the threshold value based on the sensitivity,
How to detect defective products.
하드웨어인 컴퓨터와 결합되어, 제9항의 불량 제품 검출 방법을 실행시키기 위한 불량 제품 검출 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium storing a defective product detection program for executing the defective product detection method of claim 9 by being combined with a computer as hardware.
KR1020220077832A 2022-06-24 2022-06-24 Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI KR102439163B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220077832A KR102439163B1 (en) 2022-06-24 2022-06-24 Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220077832A KR102439163B1 (en) 2022-06-24 2022-06-24 Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI

Publications (1)

Publication Number Publication Date
KR102439163B1 true KR102439163B1 (en) 2022-09-01

Family

ID=83282252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220077832A KR102439163B1 (en) 2022-06-24 2022-06-24 Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI

Country Status (1)

Country Link
KR (1) KR102439163B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102613402B1 (en) * 2022-09-22 2023-12-14 주식회사 씨인사이드 Vision inspection system for battery cap

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100517635B1 (en) 2003-04-21 2005-09-28 용인송담대학 System for detecting and taking out defective
JP2010203845A (en) * 2009-03-02 2010-09-16 Omron Corp Device, method and program for defect detection
JP2013224833A (en) * 2012-04-20 2013-10-31 Keyence Corp Visual inspection device, visual inspection method and computer program
KR101816212B1 (en) * 2016-09-12 2018-01-08 두산중공업 주식회사 Apparatus for analyzing influence of combustibles
JP2019149028A (en) * 2018-02-27 2019-09-05 キヤノン株式会社 Information processing device, control method and program therefor
KR102257734B1 (en) * 2017-03-21 2021-05-27 제이에프이 스틸 가부시키가이샤 Surface defect inspection method and surface defect inspection device
JP2021526628A (en) * 2018-04-05 2021-10-07 イーエニエーエスセー テック − インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシアInesc Tec − Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciencia Spectrophotometric methods and equipment for predicting quantified values of components from samples
JP2021174456A (en) * 2020-04-30 2021-11-01 ボッシュ株式会社 Abnormality determination method and abnormality determination device
JP7063515B1 (en) * 2020-11-09 2022-05-09 有限会社ウィン Optical microscope system based on ergonomic field of view

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100517635B1 (en) 2003-04-21 2005-09-28 용인송담대학 System for detecting and taking out defective
JP2010203845A (en) * 2009-03-02 2010-09-16 Omron Corp Device, method and program for defect detection
JP2013224833A (en) * 2012-04-20 2013-10-31 Keyence Corp Visual inspection device, visual inspection method and computer program
KR101816212B1 (en) * 2016-09-12 2018-01-08 두산중공업 주식회사 Apparatus for analyzing influence of combustibles
KR102257734B1 (en) * 2017-03-21 2021-05-27 제이에프이 스틸 가부시키가이샤 Surface defect inspection method and surface defect inspection device
JP2019149028A (en) * 2018-02-27 2019-09-05 キヤノン株式会社 Information processing device, control method and program therefor
JP2021526628A (en) * 2018-04-05 2021-10-07 イーエニエーエスセー テック − インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシアInesc Tec − Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciencia Spectrophotometric methods and equipment for predicting quantified values of components from samples
JP2021174456A (en) * 2020-04-30 2021-11-01 ボッシュ株式会社 Abnormality determination method and abnormality determination device
JP7063515B1 (en) * 2020-11-09 2022-05-09 有限会社ウィン Optical microscope system based on ergonomic field of view

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102613402B1 (en) * 2022-09-22 2023-12-14 주식회사 씨인사이드 Vision inspection system for battery cap

Similar Documents

Publication Publication Date Title
CN109389030B (en) Face characteristic point detection method and device, computer equipment and storage medium
US10810721B2 (en) Digital image defect identification and correction
JP7350878B2 (en) Image analysis method, device, program
KR102439163B1 (en) Apparatus, method, and program for detecting defective products using unsupervised learning models based on AI
US11620474B2 (en) Model reselection for accommodating unsatisfactory training data
US20140133758A1 (en) Real-time face detection using pixel pairs
CN112132265A (en) Model training method, cup-to-tray ratio determining method, device, equipment and storage medium
CN112767354A (en) Defect detection method, device and equipment based on image segmentation and storage medium
CN111125529A (en) Product matching method and device, computer equipment and storage medium
US11741611B2 (en) Cyclical object segmentation neural networks
KR102450965B1 (en) Apparatus and method for automated training learning model for fault detection based on artificial intelligence
CN113469151A (en) Method, device, equipment and medium for screening sensor in industrial manufacturing
CN113240042A (en) Image classification preprocessing method, image classification preprocessing device, image classification equipment and storage medium
US9075494B2 (en) Systems and methods for performing object selection
KR102192461B1 (en) Apparatus and method for learning neural network capable of modeling uncerrainty
CN117033039A (en) Fault detection method, device, computer equipment and storage medium
US20230021551A1 (en) Using training images and scaled training images to train an image segmentation model
US20210366129A1 (en) Image processing apparatus, image processing method, and storage medium
KR102301293B1 (en) A method of measuring the performance of a user terminal that analyzes the degree of computer aging
CN113486853B (en) Video detection method and device, electronic equipment and medium
US20210365790A1 (en) Method and apparatus with neural network data processing
JP7173308B2 (en) DETECTION DEVICE, DETECTION METHOD AND DETECTION PROGRAM
CN114549849A (en) Image recognition method and device, computer equipment and storage medium
CN113627534A (en) Method and device for identifying type of dynamic image and electronic equipment
US20200184597A1 (en) Image processing apparatus configured to perform edge preserving smoothing and image processing method thereof

Legal Events

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