KR102670083B1 - Vision inspection system for applying environmental weight to output of plurality of artificial intelligence models - Google Patents

Vision inspection system for applying environmental weight to output of plurality of artificial intelligence models Download PDF

Info

Publication number
KR102670083B1
KR102670083B1 KR1020220157553A KR20220157553A KR102670083B1 KR 102670083 B1 KR102670083 B1 KR 102670083B1 KR 1020220157553 A KR1020220157553 A KR 1020220157553A KR 20220157553 A KR20220157553 A KR 20220157553A KR 102670083 B1 KR102670083 B1 KR 102670083B1
Authority
KR
South Korea
Prior art keywords
artificial intelligence
image
information
weight
intelligence model
Prior art date
Application number
KR1020220157553A
Other languages
Korean (ko)
Other versions
KR20230094134A (en
Inventor
이용주
박철우
김효창
주현철
박경석
Original Assignee
주식회사 아이코어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이코어 filed Critical 주식회사 아이코어
Priority to KR1020220157553A priority Critical patent/KR102670083B1/en
Publication of KR20230094134A publication Critical patent/KR20230094134A/en
Application granted granted Critical
Publication of KR102670083B1 publication Critical patent/KR102670083B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Signal Processing (AREA)
  • Pathology (AREA)
  • Immunology (AREA)
  • Biochemistry (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

비전 검사 시스템이 개시된다. 본 비전 검사 시스템은, 검사 대상을 촬영하는 카메라, 고장과 관련된 semantic 정보를 추출하여 고장을 검출하는 제1 인공지능 모델 및 특징 정보(feature information)를 추출하여 고장을 검출하는 제2 인공지능 모델을 포함하는 메모리, 프로세서를 포함한다. 프로세서는, 카메라를 통해 획득된 이미지를 제1 인공지능 모델에 입력하여 제1 출력 정보를 획득하고, 이미지를 제2 인공지능 모델에 입력하여 제2 출력 정보를 획득하고, 제1 출력 정보 및 제2 출력 정보를 기반으로 이미지에 포함된 객체의 고장을 검출한다.A vision inspection system is launched. This vision inspection system includes a camera that photographs the inspection object, a first artificial intelligence model that detects failures by extracting semantic information related to the failure, and a second artificial intelligence model that detects failures by extracting feature information. Includes memory and processor. The processor inputs the image obtained through the camera into the first artificial intelligence model to obtain first output information, inputs the image into the second artificial intelligence model to obtain second output information, and obtains the first output information and the first output information. 2 Detect faults in objects included in the image based on the output information.

Description

복수의 인공지능 모델의 출력에 환경에 따른 가중치를 적용하는 비전 검사 시스템 { VISION INSPECTION SYSTEM FOR APPLYING ENVIRONMENTAL WEIGHT TO OUTPUT OF PLURALITY OF ARTIFICIAL INTELLIGENCE MODELS }A vision inspection system that applies weights according to the environment to the output of multiple artificial intelligence models { VISION INSPECTION SYSTEM FOR APPLYING ENVIRONMENTAL WEIGHT TO OUTPUT OF PLURALITY OF ARTIFICIAL INTELLIGENCE MODELS }

본 개시는 비전 검사 시스템에 관한 것으로, 보다 상세하게는, 복수의 인공지능 모델로부터 독립적으로 획득된 출력들을 조합하여 고장을 검출하는 비전 검사 시스템에 관한 것이다.This disclosure relates to a vision inspection system, and more specifically, to a vision inspection system that detects failures by combining outputs independently obtained from a plurality of artificial intelligence models.

고장 검출을 위한 비전 검사 기술에 있어, 고장 검출의 자동화 및 판단의 정밀성을 위해 인공지능 모델이 이용되기 시작했다.In vision inspection technology for fault detection, artificial intelligence models have begun to be used for automation of fault detection and precision of judgment.

다만, 인공지능 모델의 판단 정확도를 담보하기 위해서는 다양한 상황에 대한 방대한 훈련 데이터가 필요하기 때문에, 다양한 출처의 이미지 데이터를 분류하고 전처리하는 과정이 필요하다.However, in order to ensure the judgment accuracy of the artificial intelligence model, a large amount of training data for various situations is required, so a process of classifying and preprocessing image data from various sources is necessary.

또한, 인공지능 모델의 구체적인 네트워크 구성 내지는 훈련 기법에 따라 장단점이 명확하기 때문에, 인공지능 모델의 판단 정확도에 백퍼센트 의존할 정도의 기술수준에는 이르지 못하고 있다.In addition, since the pros and cons are clear depending on the specific network configuration or training technique of the artificial intelligence model, the technology level has not been reached to rely 100% on the judgment accuracy of the artificial intelligence model.

공개특허공보 제10-2020-0046137호Public Patent Publication No. 10-2020-0046137

본 개시는 독립적으로 훈련 및 운영되는 두 개의 인공지능 모델의 출력을 조합하는 앙상블 기법을 바탕으로 고장 검출을 수행하는 비전 검사 시스템을 제공한다.This disclosure provides a vision inspection system that performs failure detection based on an ensemble technique that combines the output of two independently trained and operated artificial intelligence models.

*본 개시는 입출력 포맷이 동일한 서로 다른 인공지능 모델들을 활용하고, 훈련을 최소화하여, 효율적인 고장 검출 환경을 제공하는 비전 검사 시스템을 제공한다.*This disclosure provides a vision inspection system that utilizes different artificial intelligence models with the same input and output format, minimizes training, and provides an efficient failure detection environment.

본 개시의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present disclosure are not limited to the purposes mentioned above, and other objects and advantages of the present disclosure that are not mentioned can be understood by the following description and will be more clearly understood by the examples of the present disclosure. Additionally, it will be readily apparent that the objects and advantages of the present disclosure can be realized by the means and combinations thereof indicated in the patent claims.

본 개시의 일 실시 예에 따른 비전 검사 시스템은, 검사 대상을 촬영하는 카메라, 고장과 관련된 semantic 정보를 추출하여 고장을 검출하는 제1 인공지능 모델 및 특징 정보(feature information)를 추출하여 고장을 검출하는 제2 인공지능 모델을 포함하는 메모리, 상기 카메라 및 상기 메모리와 연결된 프로세서를 포함한다. 상기 프로세서는, 상기 카메라를 통해 획득된 이미지를 상기 제1 인공지능 모델에 입력하여 제1 출력 정보를 획득하고, 상기 이미지를 상기 제2 인공지능 모델에 입력하여 제2 출력 정보를 획득하고, 상기 제1 출력 정보 및 상기 제2 출력 정보를 기반으로 상기 이미지에 포함된 객체의 고장을 검출한다.A vision inspection system according to an embodiment of the present disclosure includes a camera that photographs an inspection object, a first artificial intelligence model that detects a failure by extracting semantic information related to the failure, and a failure that is detected by extracting feature information. It includes a memory including a second artificial intelligence model, the camera, and a processor connected to the memory. The processor acquires first output information by inputting the image acquired through the camera into the first artificial intelligence model, and obtains second output information by inputting the image into the second artificial intelligence model, A failure of an object included in the image is detected based on the first output information and the second output information.

상기 제1 인공지능 모델은, 정상에 해당하는 객체를 포함하는 제1 이미지 및 고장에 해당하는 객체를 포함하는 제2 이미지를 기반으로 훈련된 모델일 수 있다. 그리고, 상기 제2 인공지능 모델은, 상기 제1 이미지로부터 정상 객체의 특징 정보를 추출할 수 있다.The first artificial intelligence model may be a model trained based on a first image including a normal object and a second image including a faulty object. And, the second artificial intelligence model can extract characteristic information of a normal object from the first image.

상기 제1 출력 정보는, 상기 이미지에 포함된 객체의 고장 영역을 나타내는 제1 마스크를 포함하고, 상기 제2 출력 정보는, 상기 이미지에 포함된 객체의 고장 영역을 나타내는 제2 마스크를 포함할 수 있다.The first output information may include a first mask indicating a failure area of the object included in the image, and the second output information may include a second mask indicating a failure area of the object included in the image. there is.

이 경우, 상기 제1 인공지능 모델은, 상기 이미지에 포함된 객체의 고장과 관련된 semantic 정보를 획득하고, 상기 획득된 semantic 정보에 따라 상기 제1 마스크를 출력할 수 있다. 또한, 상기 제2 인공지능 모델은, 상기 이미지에 포함된 객체의 특징 정보를 추출하고, 상기 추출된 특징 정보를 기반으로 상기 이미지에 포함된 객체의 분류를 식별하고, 상기 분류에 매칭되는 정상 객체의 특징 정보를 상기 추출된 특징 정보와 비교하여 고장 정보를 획득하고, 상기 획득된 고장 정보에 따라 상기 제2 마스크를 출력할 수 있다.In this case, the first artificial intelligence model may acquire semantic information related to a failure of an object included in the image and output the first mask according to the obtained semantic information. In addition, the second artificial intelligence model extracts feature information of the object included in the image, identifies a classification of the object included in the image based on the extracted feature information, and identifies a normal object matching the classification. Failure information may be obtained by comparing the characteristic information of with the extracted characteristic information, and the second mask may be output according to the obtained failure information.

한편, 상기 프로세서는, 상기 제1 출력 정보에 제1 가중치를 적용하여 제1 값을 획득하고, 상기 제2 출력 정보에 제2 가중치를 적용하여 제2 값을 획득하고, 상기 제1 값 및 상기 제2 값을 기반으로 상기 이미지에 포함된 객체의 고장 영역을 식별할 수 있다.Meanwhile, the processor obtains a first value by applying a first weight to the first output information, obtains a second value by applying a second weight to the second output information, and obtains the first value and the Based on the second value, the failure area of the object included in the image can be identified.

이 경우, 상기 프로세서는, 상기 이미지가 촬영된 환경에 대한 정보를 기반으로, 상기 제1 가중치 및 상기 제2 가중치를 각각 설정할 수 있다.In this case, the processor may set the first weight and the second weight, respectively, based on information about the environment in which the image was captured.

상기 프로세서는, 상기 제1 인공지능 모델 및 상기 제2 인공지능 모델 각각의 입력과 매칭되지 않는 사이즈의 이미지가 입력된 경우, 상기 입력된 이미지를 객체 인식을 위한 적어도 하나의 인공지능 모델에 입력하여 객체를 식별하고, 상기 입력된 이미지 내에서 상기 식별된 객체를 포함하는 영역을 추출하고, 상기 추출된 영역을 상기 제1 인공지능 모델 및 상기 제2 인공지능 모델 각각에 입력할 수도 있다.When an image of a size that does not match the input of each of the first artificial intelligence model and the second artificial intelligence model is input, the processor inputs the input image into at least one artificial intelligence model for object recognition An object may be identified, an area including the identified object may be extracted from the input image, and the extracted area may be input into each of the first artificial intelligence model and the second artificial intelligence model.

본 개시의 일 실시 예에 따른 비전 검사 시스템은, 고장과 관련된 semantic 정보를 추출하여 고장을 검출하는 제1 인공지능 모델 및 특징 정보(feature information)를 추출하여 고장을 검출하는 제2 인공지능 모델을 포함하는 메모리, 상기 메모리와 연결된 프로세서를 포함한다. 상기 프로세서는, 객체를 포함하는 이미지를 상기 제1 인공지능 모델에 입력하여 제1 출력 정보를 획득하고, 상기 이미지를 상기 제2 인공지능 모델에 입력하여 제2 출력 정보를 획득하고, 상기 제1 출력 정보 및 상기 제2 출력 정보를 기반으로 상기 이미지에 포함된 객체의 고장을 검출한다. A vision inspection system according to an embodiment of the present disclosure includes a first artificial intelligence model that detects a failure by extracting semantic information related to the failure, and a second artificial intelligence model that detects the failure by extracting feature information. It includes a memory, and a processor connected to the memory. The processor acquires first output information by inputting an image including an object into the first artificial intelligence model, obtains second output information by inputting the image into the second artificial intelligence model, and obtains second output information by inputting the image including the object into the first artificial intelligence model. A failure of an object included in the image is detected based on the output information and the second output information.

이때, 이미지는 메모리(120)에 기저장된 것이거나 또는 적어도 하나의 외부 전자 장치로부터 수신된 것일 수 있다.At this time, the image may be pre-stored in the memory 120 or may be received from at least one external electronic device.

본 개시에 따른 비전 검사 시스템은, 서로 다른 두 개의 인공지능 모델의 출력을 활용함으로써 다양한 클래스의 객체에 대한 정밀한 고장 검출이 가능하다는 효과가 있다.The vision inspection system according to the present disclosure has the effect of enabling precise failure detection for objects of various classes by utilizing the output of two different artificial intelligence models.

본 개시에 따른 비전 검사 시스템은, 두 개의 인공지능 모델의 훈련/구축에 공통된 훈련 데이터(이미지)를 활용할 수 있고, 하나의 인공지능 모델에 대해서만 노드 간 가중치를 업데이트하는 훈련이 수행되면 충분하므로, 정밀한 고장 검출 환경을 구축하는 데에 소요되는 로드가 비교적 적다는 장점이 있다.The vision inspection system according to the present disclosure can utilize common training data (images) for training/building two artificial intelligence models, and it is sufficient if training to update weights between nodes is performed for only one artificial intelligence model, The advantage is that the load required to establish a precise failure detection environment is relatively small.

도 1은 본 개시의 일 실시 예에 따른 비전 검사 시스템의 구성을 설명하기 위한 블록도,
도 2는 본 개시의 일 실시 예에 따른 비전 검사 시스템의 동작을 설명하기 위한 흐름도,
도 3은 본 개시의 일 실시 예에 따른 비전 검사 시스템이 서로 다른 두 개의 인공지능 모델에 이미지를 각각 입력하는 동작을 설명하기 위한 도면,
도 4는 본 개시의 일 실시 예에 따른 비전 검사 시스템의 제1 인공지능 모델이 훈련되는 과정을 설명하기 위한 흐름도,
도 5는 본 개시의 일 실시 예에 따른 비전 검사 시스템의 제2 인공지능 모델을 구축하는 과정을 설명하기 위한 흐름도,
도 6은 본 개시의 일 실시 예에 따른 비전 검사 시스템이 제2 인공지능 모델을 활용하여 고장을 검출하는 과정을 설명하기 위한 흐름도,
도 7은 본 개시의 다양한 실시 예에 따른 비전 검사 시스템의 상세한 구성을 설명하기 위한 블록도, 그리고
도 8은 본 개시의 일 실시 예에 따른 비전 검사 시스템 내 FPGA를 포함하는 카메라의 구성을 설명하기 위한 도면이다.
1 is a block diagram for explaining the configuration of a vision inspection system according to an embodiment of the present disclosure;
2 is a flowchart for explaining the operation of a vision inspection system according to an embodiment of the present disclosure;
3 is a diagram illustrating the operation of the vision inspection system inputting images into two different artificial intelligence models according to an embodiment of the present disclosure;
4 is a flowchart illustrating the process of training the first artificial intelligence model of the vision inspection system according to an embodiment of the present disclosure;
5 is a flowchart illustrating the process of building a second artificial intelligence model of a vision inspection system according to an embodiment of the present disclosure;
6 is a flowchart illustrating a process in which a vision inspection system detects a failure using a second artificial intelligence model according to an embodiment of the present disclosure;
7 is a block diagram for explaining the detailed configuration of a vision inspection system according to various embodiments of the present disclosure; and
FIG. 8 is a diagram for explaining the configuration of a camera including an FPGA in a vision inspection system according to an embodiment of the present disclosure.

본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.Before explaining the present disclosure in detail, the description method of the present specification and drawings will be explained.

먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다. First, the terms used in the specification and claims are general terms selected in consideration of their functions in various embodiments of the present disclosure. However, these terms may vary depending on the intention of technicians working in the relevant technical field, legal or technical interpretation, and the emergence of new technologies. Additionally, some terms are arbitrarily selected by the applicant. These terms may be interpreted as defined in this specification, and if there is no specific term definition, they may be interpreted based on the overall content of this specification and common technical knowledge in the relevant technical field.

또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다. In addition, the same reference numbers or symbols in each drawing attached to this specification indicate parts or components that perform substantially the same function. For convenience of explanation and understanding, the same reference numerals or symbols are used in different embodiments. That is, even if all components having the same reference number are shown in multiple drawings, the multiple drawings do not represent one embodiment.

또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다. Additionally, in this specification and claims, terms including ordinal numbers such as “first”, “second”, etc. may be used to distinguish between components. These ordinal numbers are used to distinguish identical or similar components from each other, and the meaning of the term should not be interpreted limitedly due to the use of these ordinal numbers. For example, the order of use or arrangement of components combined with these ordinal numbers should not be limited by the number. If necessary, each ordinal number may be used interchangeably.

본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, singular expressions include plural expressions, unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “consist of” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are intended to indicate the presence of one or more other It should be understood that this does not exclude in advance the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.

본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In embodiments of the present disclosure, terms such as “module”, “unit”, “part”, etc. are terms to refer to components that perform at least one function or operation, and these components are either hardware or software. It may be implemented or may be implemented through a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. are integrated into at least one module or chip, except in cases where each needs to be implemented with individual specific hardware, and is integrated into at least one processor. It can be implemented as:

또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Additionally, in an embodiment of the present disclosure, when a part is connected to another part, this includes not only direct connection but also indirect connection through other media. In addition, the meaning that a part includes a certain component does not mean that other components are excluded, but that other components can be further included, unless specifically stated to the contrary.

도 1은 본 개시의 일 실시 예에 따른 비전 검사 시스템의 구성을 설명하기 위한 블록도이다.1 is a block diagram for explaining the configuration of a vision inspection system according to an embodiment of the present disclosure.

도 1을 참조하면, 비전 검사 시스템(100)은 카메라(110), 메모리(120), 프로세서(130) 등을 포함할 수 있다.Referring to FIG. 1, the vision inspection system 100 may include a camera 110, memory 120, processor 130, etc.

비전 검사 시스템(100)은 다양한 부품/제품 등의 고장을 검출하기 위한 시스템/장치에 해당할 수 있다. 비전 검사 시스템(100) 내 상술한 구성들은 모두 하나의 장치 내에 포함될 수도 있고, 서로 유무선 통신 가능한 복수의 장치/모듈 내에 구비될 수도 있다.The vision inspection system 100 may correspond to a system/device for detecting failures in various parts/products, etc. All of the above-described components within the vision inspection system 100 may be included in one device, or may be provided in a plurality of devices/modules capable of wired and wireless communication with each other.

카메라(110)는 검사 대상을 촬영하여 적어도 하나의 이미지를 생성하기 위한 구성이다. 카메라(110)는 RGB 카메라, TOF(Time of Flight) 카메라 등으로 구현될 수 있으나, 이에 한정되지 않는다.The camera 110 is configured to capture an inspection object and generate at least one image. The camera 110 may be implemented as an RGB camera, a time of flight (TOF) camera, etc., but is not limited thereto.

카메라(110)는 적어도 하나의 광 센서, 특정 지점 또는 특정 범위를 촬영하기 위하여 빛의 경로를 조절하는 렌즈 등을 포함할 수 있다.The camera 110 may include at least one optical sensor, a lens that adjusts the path of light to photograph a specific point or a specific range, etc.

카메라(110)는 고정되어 있거나 또는 움직이는 검사 대상을 촬영할 수 있다. 이 경우, 검사 대상은 카메라(110)의 촬영 범위를 지나가는 경로에 따라 이동하도록 배치될 수 있다. 또한, 카메라(110)가 적어도 하나의 이동수단(ex. 바퀴, 롤러 등)에 부착되어 이동하면서 촬영이 수행될 수도 있다. 구체적으로, 검사 대상에 대한 에어리어 스캔 방식, 라인 스캔 방식 등이 이용될 수 있으나, 이에 한정되지 않는다.The camera 110 can photograph a fixed or moving inspection target. In this case, the inspection object may be arranged to move along a path passing through the capturing range of the camera 110. Additionally, photography may be performed while the camera 110 is attached to at least one moving means (e.g. wheels, rollers, etc.) and moves. Specifically, an area scan method or a line scan method for the inspection object may be used, but the method is not limited thereto.

메모리(120)는 비전 검사 시스템(100)에 포함되는 적어도 하나의 전자 장치의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.The memory 120 stores an operating system (OS) for controlling the overall operation of at least one electronic device included in the vision inspection system 100 and at least one instruction or data related to components of the electronic device. This is a configuration for

메모리(120)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 휘발성 메모리를 포함할 수 있다. 또한, 메모리(120)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.The memory 120 may include non-volatile memory, such as ROM or flash memory, and may include volatile memory, such as DRAM. Additionally, the memory 120 may include a hard disk, solid state drive (SSD), etc.

도 1을 참조하면, 메모리(120)는 독립적으로 고장 검출을 수행하는 제1 인공지능 모델(121) 및 제2 인공지능 모델(122)을 각각 포함할 수 있다.Referring to FIG. 1, the memory 120 may include a first artificial intelligence model 121 and a second artificial intelligence model 122 that independently perform failure detection.

본 인공지능 모델들 각각은, 신경망(Neural Network)을 기반으로 하는 네트워크 모델(신경망 모델)에 해당할 수 있다. 네트워크 모델은 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 서로 다른 레이어의 노드 간 가중치를 기반으로 연결 관계를 형성할 수 있다.Each of these artificial intelligence models may correspond to a network model (neural network model) based on a neural network. A network model may include a plurality of network nodes with weights. Multiple network nodes can form a connection relationship based on weights between nodes of different layers.

일 실시 예로, 제1 인공지능 모델(121)은 객체의 고장과 관련된 semantic 정보를 추출하는 Semantic Segmentation 모델에 해당할 수 있다.In one embodiment, the first artificial intelligence model 121 may correspond to a Semantic Segmentation model that extracts semantic information related to a failure of an object.

Semantic 정보는, 객체의 분류(ex. 부품 종류, 제품 종류 등), 고장 여부, 고장 정도, 고장 영역 등에 대한 정보를 포함할 수 있다.Semantic information may include information about object classification (e.g. part type, product type, etc.), failure status, failure degree, failure area, etc.

제1 인공지능 모델(121)에 이미지가 입력되면, 제1 인공지능 모델(121)은 이미지 내 객체를 인식하고, 객체의 고장 여부를 판단할 수 있으며, 이미지 내에서 객체의 고장 영역을 나타내는 마스크를 출력할 수 있다.When an image is input to the first artificial intelligence model 121, the first artificial intelligence model 121 can recognize the object in the image, determine whether the object is broken, and create a mask indicating the broken area of the object in the image. can be output.

일 실시 예로, 제2 인공지능 모델(122)은 정상 객체와의 비교를 통해 이상치를 검출하는 Anomaly Detection 모델에 해당할 수 있다.As an example, the second artificial intelligence model 122 may correspond to an Anomaly Detection model that detects outliers through comparison with normal objects.

제2 인공지능 모델(122)은 적어도 하나의 레이어를 통해 이미지의 특징 정보(feature information)를 추출할 수 있다. 여기서, 제2 인공지능 모델(122)은 특징 정보를 활용하여 객체의 분류를 식별할 수 있다.The second artificial intelligence model 122 can extract feature information of an image through at least one layer. Here, the second artificial intelligence model 122 can identify the classification of the object using feature information.

또한, 제2 인공지능 모델(122)은 식별된 분류에 매칭되는 정상 객체(: 고장이 없는 객체)의 특징 정보를 상술한 특징 정보와 비교하여 고장 여부, 고장 영역 등을 판단할 수 있다. 그 결과, 이미지 내에서 객체의 고장 영역을 나타내는 마스크가 출력될 수 있다.In addition, the second artificial intelligence model 122 can compare the characteristic information of a normal object (: an object without a failure) matching the identified classification with the above-described characteristic information to determine whether there is a failure, a failure area, etc. As a result, a mask representing the faulty area of the object within the image may be output.

프로세서(130)는 비전 검사 시스템(100)을 전반적으로 제어하기 위한 구성이다. 구체적으로, 프로세서(130)는 메모리(110)와 연결되는 한편 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 본 개시의 다양한 실시 예들에 따른 동작을 수행할 수 있다.The processor 130 is configured to overall control the vision inspection system 100. Specifically, the processor 130 may perform operations according to various embodiments of the present disclosure by being connected to the memory 110 and executing at least one instruction stored in the memory 110.

프로세서(130)는 하나 이상의 프로세서로 구성될 수 있다. 이때, 하나 이상의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있다.Processor 130 may be comprised of one or more processors. At this time, the one or more processors may include general-purpose processors such as CPU, AP, and DSP (Digital Signal Processor), graphics-specific processors such as GPU and VPU (Vision Processing Unit), or artificial intelligence-specific processors such as NPU.

프로세서(130)는 메모리(110)에 저장된 상술한 인공지능 모델들(121, 122)을 각각 구동할 수 있으며, 각 모델의 훈련도 수행할 수 있다.The processor 130 can drive the above-described artificial intelligence models 121 and 122 stored in the memory 110, respectively, and can also perform training of each model.

도 2는 본 개시의 일 실시 예에 따른 비전 검사 시스템의 동작을 설명하기 위한 흐름도이다.Figure 2 is a flowchart for explaining the operation of a vision inspection system according to an embodiment of the present disclosure.

도 2를 참조하면, 프로세서(130)는 카메라(110)를 통해 획득된 이미지를 제1 인공지능 모델(121)에 입력하여 제1 출력 정보를 획득할 수 있다(S210). 이때, 제1 인공지능 모델(121)은 상술한 Semantic Segmentation 모델일 수 있다.Referring to FIG. 2, the processor 130 may input the image acquired through the camera 110 into the first artificial intelligence model 121 to obtain first output information (S210). At this time, the first artificial intelligence model 121 may be the Semantic Segmentation model described above.

여기서, 제1 출력 정보는 이미지 내 객체의 고장 영역을 나타내는 마스크에 해당할 수 있다.Here, the first output information may correspond to a mask indicating a faulty area of an object in the image.

또한, 프로세서(130)는 카메라(110)를 통해 획득된 이미지를 제2 인공지능 모델(122)에도 입력하여 제2 출력 정보를 획득할 수 있다(S220). 이때, 제2 인공지능 모델(122)은 상술한 Anomaly Detection 모델일 수 있다.Additionally, the processor 130 may input the image acquired through the camera 110 to the second artificial intelligence model 122 to obtain second output information (S220). At this time, the second artificial intelligence model 122 may be the Anomaly Detection model described above.

여기서, 제2 출력 정보 역시 이미지 내 객체의 고장 영역을 나타내는 마스크에 해당할 수 있다.Here, the second output information may also correspond to a mask representing the faulty area of the object in the image.

그리고, 프로세서(130)는 제1 출력 정보 및 제2 출력 정보를 기반으로 이미지에 포함된 객체의 고장을 검출할 수 있다(S230).And, the processor 130 may detect a failure of an object included in the image based on the first output information and the second output information (S230).

예를 들어, 프로세서(130)는 제1 출력 정보에 제1 가중치를 적용하여 제1 값을 획득하고, 제2 출력 정보에 제2 가중치를 적용하여 제2 값을 획득할 수 있다. 그리고, 프로세서(130)는 제1 값 및 제2 값을 기반으로 이미지에 포함된 객체의 고장 영역을 식별할 수 있다. 구체적으로, 제1 값 및 제2 값이 단순히 더해질 수 있으나, 이에 한정되지 않는다.For example, the processor 130 may obtain a first value by applying a first weight to first output information and obtain a second value by applying a second weight to second output information. Additionally, the processor 130 may identify a faulty area of an object included in the image based on the first value and the second value. Specifically, the first value and the second value may be simply added, but the present invention is not limited to this.

여기서, 제1 출력 정보에 매칭되는 제1 마스크의 픽셀 각각에 제1 가중치가 적용되고, 제2 출력 정보에 매칭되는 제2 마스크의 픽셀 각각에 제2 가중치가 적용된 결과, 객체의 고장 영역을 나타내는 (최종) 마스크가 획득될 수 있다. 이때, 최종 마스크 내에서 픽셀 값이 일정 값 이상인 영역이 고장 영역으로 식별될 수 있다.Here, the first weight is applied to each pixel of the first mask matching the first output information, and the second weight is applied to each pixel of the second mask matching the second output information, indicating the fault area of the object. The (final) mask can be obtained. At this time, an area in the final mask where the pixel value is above a certain value may be identified as a failure area.

*관련하여, 도 3은 본 개시의 일 실시 예에 따른 비전 검사 시스템이 서로 다른 두 개의 인공지능 모델에 이미지를 각각 입력하는 동작을 설명하기 위한 도면이다.*Relatedly, FIG. 3 is a diagram illustrating the operation of a vision inspection system inputting images to two different artificial intelligence models according to an embodiment of the present disclosure.

도 3을 참조하면, 프로세서(130)는 검사 대상 객체가 촬영된 이미지(310)를 각 인공지능 모델(121, 122)로 입력할 수 있다.Referring to FIG. 3, the processor 130 may input an image 310 in which an object to be inspected is photographed into each artificial intelligence model 121 and 122.

이때, 제1 인공지능 모델(121) 및 제2 인공지능 모델(122)은 각각 고장 영역을 나타내는 마스크(320, 330)를 출력할 수 있다. At this time, the first artificial intelligence model 121 and the second artificial intelligence model 122 may output masks 320 and 330 representing the failure area, respectively.

그리고, 프로세서(130)는 마스크들(320, 330) 각각에 가중치(제1 가중치, 제2 가중치)를 부여하여 합산함에 따라 최종 마스크(340)를 획득할 수 있다.Additionally, the processor 130 may obtain the final mask 340 by assigning weights (first weight, second weight) to each of the masks 320 and 330 and adding them together.

구체적인 예로, 제1 가중치와 제2 가중치가 동일한 경우, 제1 출력 정보(마스크(320))와 제2 출력 정보(마스크(330))의 평균치가 획득될 수 있다.As a specific example, when the first weight and the second weight are the same, the average value of the first output information (mask 320) and the second output information (mask 330) may be obtained.

이 경우, 프로세서(130)는 각 인공지능 모델(121, 122)로부터 출력된 마스크들(320, 330)의 픽셀 위치마다 평균을 산출함으로써 마스크(340)를 획득할 수 있다. 마스크(340) 내에서 특정 값 이상의 R/G/B 값을 가지는 영역이 고장 영역으로 식별될 수 있다.In this case, the processor 130 can obtain the mask 340 by calculating the average for each pixel position of the masks 320 and 330 output from each artificial intelligence model 121 and 122. An area within the mask 340 having an R/G/B value greater than a certain value may be identified as a fault area.

한편, 제1 가중치 및 제2 가중치는, 각 모델(121, 122)로부터 출력된 마스크(320, 330)의 픽셀 위치 별로 다르게 설정될 수도 있다. Meanwhile, the first weight and the second weight may be set differently for each pixel position of the masks 320 and 330 output from each model 121 and 122.

즉, 마스크(340)의 일부 영역에 대해서는 마스크(320)에 대한 제1 가중치가 마스크(330)에 대한 제2 가중치보다 더 크게 적용되고, 마스크(340)의 다른 영역에 대해서는 마스크(330)에 대한 제2 가중치가 마스크(320)에 대한 제1 가중치보다 더 크게 적용될 수 있다.That is, for some areas of the mask 340, the first weight for the mask 320 is applied larger than the second weight for the mask 330, and for other areas of the mask 340, the first weight for the mask 320 is applied larger than the second weight for the mask 330. The second weight for the mask 320 may be applied larger than the first weight for the mask 320 .

또한, 일 실시 예로, 프로세서(130)는 이미지가 촬영된 환경에 대한 정보를 기반으로 제1 가중치 및 제2 가중치를 각각 설정할 수도 있다.Additionally, in one embodiment, the processor 130 may set the first weight and the second weight, respectively, based on information about the environment in which the image was captured.

환경에 대한 정보는, 촬영이 수행된 장소의 밝기, 습도, 공기 오염도, 카메라와 객체 간의 거리 등에 대한 정보를 포함할 수 있으나, 이에 한정되지 않는다.Information about the environment may include, but is not limited to, information about the brightness, humidity, air pollution level, distance between the camera and the object, etc. of the place where the shooting was performed.

이 경우, 메모리(120)에는 환경에 따른 각 인공지능 모델(121, 122)의 정확도에 대한 정보가 픽셀 위치 별로 저장될 수 있다. In this case, information about the accuracy of each artificial intelligence model 121 and 122 depending on the environment may be stored in the memory 120 for each pixel location.

예를 들어, 특정 픽셀 위치에 대하여, 임계치 이상의 밝기에서 촬영된 이미지들에 대해서는 제1 인공지능 모델(121)이 출력하는 마스크의 정확도가 제2 인공지능 모델(122)이 출력하는 마스크보다 높은 반면, 임계치 미만의 밝기에서 촬영된 이미지들에 대해서는 제2 인공지능 모델(122)이 출력하는 마스크의 정확도가 제1 인공지능 모델(121)이 출력하는 마스크의 정확도보다 높을 수 있다.For example, for images taken at a brightness above the threshold for a specific pixel position, the accuracy of the mask output by the first artificial intelligence model 121 is higher than the mask output by the second artificial intelligence model 122. , for images taken at brightness below the threshold, the accuracy of the mask output by the second artificial intelligence model 122 may be higher than the accuracy of the mask output by the first artificial intelligence model 121.

관련하여, 프로세서(130)는 조도 센서를 통해 카메라(110)의 주변 밝기를 식별할 수 있으며, 카메라(110)를 통해 촬영을 수행하여 이미지를 획득할 수 있다.In relation to this, the processor 130 can identify the surrounding brightness of the camera 110 through the illuminance sensor and acquire an image by performing photography through the camera 110.

여기서, 프로세서(130)는, 마스크 내 적어도 하나의 픽셀 위치에 대하여, 주변 밝기가 임계치 이상이면 제1 가중치를 제2 가중치보다 더 높게 설정하고, 주변 밝기가 임계치 미만이면 제1 가중치보다 제2 가중치를 더 높게 설정할 수 있다.Here, for at least one pixel position in the mask, the processor 130 sets the first weight higher than the second weight if the surrounding brightness is greater than the threshold, and sets the second weight higher than the first weight if the surrounding brightness is less than the threshold. can be set higher.

한편, 메모리(120)에는 상술한 제1 가중치 및 제2 가중치를 마스크 내 픽셀 별로 판단하도록 훈련된 인공지능 모델이 저장될 수 있다.Meanwhile, an artificial intelligence model trained to determine the above-described first and second weights for each pixel in the mask may be stored in the memory 120.

본 인공지능 모델은, 신경망 모델일 수 있으며, 예를 들어, 다양한 환경에 대한 정보(ex. 밝기, 습도, 공기 오염도, 카메라의 거리 등)를 입력으로 하고, 상술한 제1 가중치 및 제2 가중치를 출력으로 하는 인공지능 모델(가중치 판단 모델)일 수 있다.This artificial intelligence model may be a neural network model, and for example, inputs information about various environments (ex. brightness, humidity, air pollution, camera distance, etc.), and uses the first and second weights described above. It may be an artificial intelligence model (weight judgment model) with as output.

구체적으로, 프로세서(130)는 카메라(110)를 통해 촬영된 이미지, 이미지가 촬영된 환경에 대한 정보, 이미지가 입력된 결과 각 모델(121, 122)로부터 출력된 마스크들에 대한 (픽셀 위치 별) 다양한 가중치 조합(제1 가중치, 제2 가중치)에 따라 도출된 최종 마스크의 정확도(: 이미지 내 실제 고장 영역과 비교) 등을 활용하여 상술한 인공지능 모델(가중치 판단 모델)을 훈련시킬 수 있다. 여기서, 가중치 판단 모델을 구성하는 노드 간의 가중치는, 최종 마스크의 픽셀 위치 별 정확도가 향상되는 방향으로 업데이트될 수 있다.Specifically, the processor 130 provides an image captured through the camera 110, information about the environment in which the image was captured, and masks output from each model 121 and 122 as a result of image input (by pixel position). ) The above-described artificial intelligence model (weight judgment model) can be trained by utilizing the accuracy of the final mask derived according to various weight combinations (first weight, second weight) (compared to the actual fault area in the image), etc. . Here, the weights between nodes constituting the weight determination model can be updated in a way that improves the accuracy of each pixel position of the final mask.

이후, 프로세서(130)는 카메라(110)의 촬영과 관련된 환경에 대한 정보를 가중치 판단 모델에 입력한 결과에 따라 제1 가중치 및 제2 가중치를 유동적으로 설정할 수 있다. 그리고, 프로세서(130)는 카메라(110)를 통해 촬영된 이미지를 각 모델(121, 122)에 입력한 결과 획득되는 마스크들에 제1 가중치 및 제2 가중치를 반영하여 최종 마스크(고장 검출 결과)를 획득할 수 있다.Thereafter, the processor 130 may flexibly set the first weight and the second weight according to the result of inputting information about the environment related to shooting by the camera 110 into the weight determination model. Then, the processor 130 reflects the first weight and the second weight on the masks obtained as a result of inputting the image captured through the camera 110 into each model 121 and 122 to create a final mask (failure detection result). can be obtained.

한편, 도 4는 본 개시의 일 실시 예에 따른 비전 검사 시스템의 제1 인공지능 모델이 훈련되는 과정을 설명하기 위한 흐름도이다. Meanwhile, FIG. 4 is a flowchart illustrating the process of training the first artificial intelligence model of the vision inspection system according to an embodiment of the present disclosure.

제1 인공지능 모델(121)의 훈련은 프로세서(130)에 의해 수행되거나 또는 적어도 하나의 외부 전자 장치에 의해 수행될 수 있다. 도 4를 통해서는, 제1 인공지능 모델(121)의 훈련이 프로세서(130)를 통해 수행되는 상황을 가정하여 설명한다.Training of the first artificial intelligence model 121 may be performed by the processor 130 or by at least one external electronic device. 4, the description will be made assuming that training of the first artificial intelligence model 121 is performed through the processor 130.

도 4를 참조하면, 프로세서(130)는 정상 객체가 촬영된 이미지 및 고장 객체가 촬영된 이미지를 각각 하나 이상 획득할 수 있다(S410). 각 이미지는 다양한 클래스(: 객체의 분류)의 객체에 대한 이미지일 수 있으며, 카메라(110)를 통해 촬영된 것일 수도 있고, 외부 전자 장치로부터 수신된 이미지일 수 있다.Referring to FIG. 4, the processor 130 may obtain one or more images of a normal object and one or more images of a malfunctioning object (S410). Each image may be an image of an object of various classes (classification of objects), may be captured through the camera 110, or may be an image received from an external electronic device.

이때, 각 이미지에는 고장 영역과 관련된 라벨이 매칭되어 등록될 수 있다. 예를 들어, 라벨은, 정상/고장 여부, 고장 영역, 고장 정도 등에 대한 정보를 포함할 수 있으나, 이에 한정되지 않는다.At this time, a label related to the fault area may be matched and registered in each image. For example, the label may include, but is not limited to, information on normal/failure status, fault area, fault level, etc.

프로세서(130)는 획득된 이미지에 대한 전처리를 수행할 수 있다(S420).The processor 130 may perform preprocessing on the acquired image (S420).

일 실시 예로, 프로세서(130)는 제1 인공지능 모델(121)의 입력 사이즈에 맞도록 각 이미지를 축소/확대할 수 있다. In one embodiment, the processor 130 may reduce/enlarge each image to fit the input size of the first artificial intelligence model 121.

또는, 제1 인공지능 모델(121)의 입력과 매칭되지 않는 사이즈의 이미지가 입력된 경우, 프로세서(130)는 객체 인식을 위한 적어도 하나의 인공지능 모델에 해당 이미지를 입력하여 객체를 포함하는 영역만을 입력 사이즈에 맞도록 추출할 수 있다.Alternatively, when an image of a size that does not match the input of the first artificial intelligence model 121 is input, the processor 130 inputs the image into at least one artificial intelligence model for object recognition to determine the area containing the object. Only can be extracted to fit the input size.

또한, 훈련 데이터의 확보를 위해, 프로세서(130)는 정상 객체의 이미지 및 고장 객체의 이미지 각각을 활용하여 하나 이상의 이미지를 추가로 생성할 수 있다.Additionally, to secure training data, the processor 130 may additionally generate one or more images using images of normal objects and images of malfunctioning objects, respectively.

예를 들어, 프로세서(130)는 획득된 이미지에 대하여 밝기, 대조 등을 변경하거나 또는 이미지의 회전, 와핑, 크롭 등의 동작을 수행하여 새로운 이미지를 생성할 수 있다.For example, the processor 130 may change the brightness, contrast, etc. of the acquired image, or perform operations such as rotating, warping, and cropping the image to create a new image.

다른 예로, 프로세서(130)는 이미지를 생성하기 위한 적어도 하나의 GAN(Generative Adversarial Networks)을 활용할 수도 있다.As another example, the processor 130 may utilize at least one Generative Adversarial Networks (GAN) to generate an image.

구체적으로, GAN은 적어도 하나의 정상 객체의 이미지 및 적어도 하나의 고장 객체의 이미지를 통해 훈련된 결과, 정상 객체의 이미지를 활용하여 고장 객체의 이미지를 생성하거나 또는 고장 객체의 이미지를 활용하여 정상 객체의 이미지를 생성할 수 있다. 이 경우, GAN은 검사 대상인 객체의 분류 별로 훈련될 수 있다.Specifically, as a result of being trained using at least one image of a normal object and an image of at least one faulty object, GAN generates an image of a faulty object by utilizing an image of a normal object, or generates an image of a faulty object by utilizing an image of a faulty object. An image can be created. In this case, GAN can be trained for each classification of the object being inspected.

또한, GAN은 적어도 하나의 정상 객체의 이미지 및 고장 객체의 고장 영역을 나타내는 마스크 이미지를 통해 훈련될 수도 있다.Additionally, the GAN may be trained using at least one image of a normal object and a mask image representing a faulty area of a faulty object.

이렇듯 전처리 과정이 수행되면, 프로세서(130)는 훈련을 위한 이미지들을 제1 인공지능 모델(121)에 입력하고(S430), 제1 인공지능 모델(121)의 출력을 상술한 라벨과 비교(S440)할 수 있다. 그리고, 프로세서(130)는 비교 결과에 따라 제1 인공지능 모델(121) 내 노드 간 가중치를 업데이트할 수 있다(S450).When the preprocessing process is performed in this way, the processor 130 inputs images for training into the first artificial intelligence model 121 (S430) and compares the output of the first artificial intelligence model 121 with the above-described label (S440) )can do. Additionally, the processor 130 may update the weights between nodes in the first artificial intelligence model 121 according to the comparison result (S450).

한편, 도 5는 본 개시의 일 실시 예에 따른 비전 검사 시스템의 제2 인공지능 모델이 구축되는 과정을 설명하기 위한 흐름도이다.Meanwhile, Figure 5 is a flowchart illustrating the process of constructing a second artificial intelligence model of a vision inspection system according to an embodiment of the present disclosure.

제2 인공지능 모델(122)의 구축은 프로세서(130)에 의해 수행되거나 또는 적어도 하나의 외부 전자 장치에 의해 수행될 수 있다. 도 5를 통해서는, 제2 인공지능 모델(122)의 구축이 프로세서(130)를 통해 수행되는 상황을 가정하여 설명한다.Construction of the second artificial intelligence model 122 may be performed by the processor 130 or by at least one external electronic device. 5, the description will be made assuming that construction of the second artificial intelligence model 122 is performed through the processor 130.

도 5를 참조하면, 프로세서(130)는 정상 객체가 촬영된 이미지를 하나 이상 획득할 수 있다(S510). 각 이미지는, 다양한 클래스(: 객체의 분류)에 해당하는 객체의 이미지일 수 있으며, 카메라(110)를 통해 촬영된 것일 수도 있고, 외부 전자 장치로부터 수신된 이미지일 수 있다.Referring to FIG. 5, the processor 130 may acquire one or more images in which a normal object is photographed (S510). Each image may be an image of an object corresponding to various classes (classification of objects), may be captured through the camera 110, or may be an image received from an external electronic device.

제2 인공지능 모델(122)은 Anomaly Detection 모델로서 정상 객체의 이미지로부터 특징 정보를 추출한 이후 고장 객체의 검출에 활용할 수 있다.The second artificial intelligence model 122 is an Anomaly Detection model that extracts feature information from images of normal objects and can then be used to detect faulty objects.

도 5를 참조하면, 프로세서(130)는 획득된 정상 객체의 이미지에 대한 전처리를 수행할 수 있다(S520). 상술한 S420과 마찬가지로 다양한 실시 예에 따른 전처리 과정이 정상 객체의 이미지에 대해 수행될 수 있다.Referring to FIG. 5, the processor 130 may perform preprocessing on the acquired image of the normal object (S520). Similar to S420 described above, a preprocessing process according to various embodiments may be performed on an image of a normal object.

그리고, 프로세서(130)는 (정상 객체의) 이미지들을 제2 인공지능 모델(122)에 입력할 수 있다(S530).And, the processor 130 may input images (of normal objects) into the second artificial intelligence model 122 (S530).

이 경우, 특징 정보가 다수 레이어를 통해 출력될 수 있는 바, 일부 레이어들의 특징 정보만이 랜덤으로 선별될 수 있다(S540).In this case, since feature information can be output through multiple layers, only feature information of some layers can be randomly selected (S540).

그리고, 클래스(: 객체의 분류) 별로, 프로세서(130)는 레이어 단위의 특징 정보의 평균 및 공분산을 추출하여 저장할 수 있다(S550).Additionally, for each class (classification of an object), the processor 130 may extract and store the average and covariance of feature information in each layer (S550).

이후, 고장 객체의 이미지가 제2 인공지능 모델(122)에 입력되는 경우, 제2 인공지능 모델(122)은 정상 객체에 대하여 저장된 평균/공분산 등을 활용하여 고장을 검출할 수 있다.Thereafter, when the image of the malfunctioning object is input to the second artificial intelligence model 122, the second artificial intelligence model 122 may detect the malfunction using the average/covariance stored for the normal object.

관련하여, 도 6은 본 개시의 일 실시 예에 따른 비전 검사 시스템이 제2 인공지능 모델을 활용하여 고장을 검출하는 과정을 설명하기 위한 흐름도이다.In relation to this, FIG. 6 is a flowchart illustrating a process in which a vision inspection system detects a failure using a second artificial intelligence model according to an embodiment of the present disclosure.

도 6을 참조하면, 프로세서(130)는 검사 대상인 객체가 촬영된 이미지를 획득할 수 있다(S610). 이때, 프로세서(130)는 카메라(110)를 통해 이미지를 촬영하거나 또는 외부 전자 장치로부터 이미지를 수신할 수 있다.Referring to FIG. 6, the processor 130 may obtain an image in which an object to be inspected is captured (S610). At this time, the processor 130 may capture an image through the camera 110 or receive an image from an external electronic device.

그리고, 프로세서(130)는 제2 인공지능 모델(122)에 이미지를 입력할 수 있다(S620). 제2 인공지능 모델(122)에 이미지가 입력되는 동안, 제1 인공지능 모델(121)에도 이미지가 입력됨은 물론이다.And, the processor 130 may input an image into the second artificial intelligence model 122 (S620). Of course, while an image is input to the second artificial intelligence model 122, an image is also input to the first artificial intelligence model 121.

이때, 프로세서(130)는 제2 인공지능 모델(122)의 레이어들을 통해 레이어 단위의 특징 정보를 다수 획득할 수 있다.At this time, the processor 130 may obtain a large number of layer-wise feature information through the layers of the second artificial intelligence model 122.

여기서, 프로세서(130)는 특징 정보를 활용하여 이미지 내 객체의 클래스를 분류할 수 있다(S640).Here, the processor 130 may classify the class of the object in the image using feature information (S640).

또한, 프로세서(130)는 특징 정보를 출력하는 레이어들 중 일부 레이어들을 선별하여 특징 정보를 추출할 수 있다(S630). 일 예로, Encoder 형태로 일정 수에 해당하는 레이어의 특징 정보(ex. Feature Map)가 추출될 수 있으나, 이에 한정되지 않는다.Additionally, the processor 130 may extract feature information by selecting some layers among the layers that output feature information (S630). For example, feature information (e.g. Feature Map) of a certain number of layers may be extracted in the form of an encoder, but the method is not limited to this.

이때, 프로세서(130)는 분류된 클래스에 해당하는 정상 객체의 특징 정보의 평균과 공분산을, 추출된 특징 정보와 비교할 수 있다(S650). 예를 들어, 마할라노비스(Mahalanobis) 거리에 따라 편차가 계산될 수 있으나, 이 밖에 pooled feature map의 KNN 거리가 비교되어 outlier가 추출되는 PatchCore 기법, Semi-orthogonal 기법 등도 활용될 수 있다.At this time, the processor 130 may compare the average and covariance of the feature information of the normal object corresponding to the classified class with the extracted feature information (S650). For example, the deviation can be calculated according to the Mahalanobis distance, but in addition, the PatchCore technique and the Semi-orthogonal technique, in which outliers are extracted by comparing the KNN distance of the pooled feature map, can also be used.

그리고, 프로세서(130)는 비교 결과에 따라 고장 정보(ex. 고장 여부, 고장 정도, 고장 영역 등)를 획득함으로써 고장 검출을 수행할 수 있다(S660). 구체적으로, 비교 결과 정상 객체와의 차이가 큰 이미지 내 영역에 대해 픽셀 값이 차별적으로 설정된 결과 마스크(ex. 330)가 출력될 수 있다.In addition, the processor 130 may perform failure detection by obtaining failure information (e.g., failure status, failure degree, failure area, etc.) according to the comparison result (S660). Specifically, a result mask (ex. 330) with pixel values set differentially for areas within the image that have a large difference from the normal object as a result of comparison may be output.

도 7은 본 개시의 다양한 실시 예에 따른 비전 검사 시스템의 상세한 구성을 설명하기 위한 블록도이다.Figure 7 is a block diagram for explaining the detailed configuration of a vision inspection system according to various embodiments of the present disclosure.

도 7을 참조하면, 비전 검사 시스템(100)은 카메라(110), 메모리(120), 프로세서(130) 외에 사용자 입력부(140), 통신부(150), 출력부(160) 등을 포함할 수 있다.Referring to FIG. 7, the vision inspection system 100 may include a user input unit 140, a communication unit 150, an output unit 160, etc. in addition to a camera 110, a memory 120, and a processor 130. .

사용자 입력부(140)는 사용자로부터 다양한 명령 내지는 정보를 입력 받기 위한 구성이다.The user input unit 140 is configured to receive input of various commands or information from the user.

예를 들어, 사용자 입력부(140)는 비전 검사 시스템(100)에 포함되는 장치의 터치 센서, 버튼, 카메라, 마이크, 키보드 등으로 구성될 수 있으나, 이에 한정되지 않는다.For example, the user input unit 140 may be comprised of a touch sensor, button, camera, microphone, keyboard, etc. of a device included in the vision inspection system 100, but is not limited thereto.

일 실시 예로, 비전 검사 시스템(100)은 사용자 입력부(140)를 통해 수신되는 사용자 입력에 따라 카메라(110)의 촬영을 제어하거나 및/또는 고장 검출(ex. 제1 인공지능 모델 및 제2 인공지능 모델 구동)을 수행할 수 있다.In one embodiment, the vision inspection system 100 controls shooting of the camera 110 and/or detects failures (ex. the first artificial intelligence model and the second artificial intelligence model) according to the user input received through the user input unit 140. Intelligent model operation) can be performed.

통신부(150)는 비전 검사 시스템(100)이 다양한 외부 장치와 데이터를 송수신하기 위한 구성으로, 통신을 위한 적어도 하나의 회로를 포함할 수 있다.The communication unit 150 is a component that allows the vision inspection system 100 to transmit and receive data with various external devices, and may include at least one circuit for communication.

통신부(150)는 TCP/IP(Transmission Control Protocol/Internet Protocol), UDP(User Datagram Protocol), HTTP(Hyper Text Transfer Protocol), HTTPS(Secure Hyper Text Transfer Protocol), FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol), MQTT(Message Queuing Telemetry Transport) 등의 통신 규약(프로토콜)을 이용하여 하나 이상의 외부 전자 장치와 다양한 정보를 송수신할 수 있다.The communication unit 150 includes TCP/IP (Transmission Control Protocol/Internet Protocol), UDP (User Datagram Protocol), HTTP (Hyper Text Transfer Protocol), HTTPS (Secure Hyper Text Transfer Protocol), FTP (File Transfer Protocol), and SFTP ( Various information can be transmitted and received with one or more external electronic devices using communication protocols (protocols) such as Secure File Transfer Protocol (Secure File Transfer Protocol) and Message Queuing Telemetry Transport (MQTT).

이를 위해, 통신부(150)는 유선 통신 및/또는 무선 통신을 통해 구현된 네트워크를 기반으로, 외부 장치와 연결될 수 있다. 이때, 통신부(150)는 외부 장치와 직접적으로 연결될 수도 있지만, 네트워크를 제공하는 하나 이상의 외부 서버(ex. ISP(Internet Service Provider))를 통해서 외부 전자 장치와 연결될 수도 있다.To this end, the communication unit 150 may be connected to an external device based on a network implemented through wired communication and/or wireless communication. At this time, the communication unit 150 may be connected directly to an external device, but may also be connected to an external electronic device through one or more external servers (ex. Internet Service Provider (ISP)) that provide a network.

네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.Depending on the area or size, the network may be a personal area network (PAN), a local area network (LAN), or a wide area network (WAN). Depending on the openness of the network, it may be an intranet, It may be an extranet, or the Internet.

무선 통신은 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등의 통신 방식 중 적어도 하나를 포함할 수 있다.Wireless communications include LTE (long-term evolution), LTE-A (LTE Advance), 5G (5th Generation) mobile communications, CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system), and WiBro. At least one of the following communication methods: (Wireless Broadband), GSM (Global System for Mobile Communications), DMA (Time Division Multiple Access), WiFi (Wi-Fi), WiFi Direct, Bluetooth, NFC (near field communication), and Zigbee. It can be included.

유선 통신은 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 통신 방식 중 적어도 하나를 포함할 수 있다. Wired communication may include at least one of communication methods such as Ethernet, optical network, USB (Universal Serial Bus), and Thunderbolt.

여기서, 통신부(130)는 상술한 유무선 통신 방식에 따른 네트워크 인터페이스(Network Interface) 또는 네트워크 칩을 포함할 수 있다. 한편, 통신 방식은 상술한 예에 한정되지 아니하고, 기술의 발전에 따라 새롭게 등장하는 통신 방식을 포함할 수 있다.Here, the communication unit 130 may include a network interface or a network chip according to the wired or wireless communication method described above. Meanwhile, the communication method is not limited to the examples described above and may include newly emerging communication methods as technology develops.

일 실시 예로, 비전 검사 시스템(100)은 통신부(150)를 통해 외부 전자 장치로부터 이미지를 수신할 수 있다. 여기서, 이미지는 정상 객체 또는 고장 객체가 촬영된 이미지일 수 있다. In one embodiment, the vision inspection system 100 may receive an image from an external electronic device through the communication unit 150. Here, the image may be an image of a normal object or a malfunctioning object.

이렇듯 통신부(150)가 구비된 경우, 비전 검사 시스템(100)이 카메라(110)를 구비하지 않는 실시 예도 가능하다.In this way, when the communication unit 150 is provided, an embodiment in which the vision inspection system 100 does not include the camera 110 is also possible.

출력부(160)는 다양한 정보를 출력하여 사용자에게 제공하기 위한 구성이다. 출력부(160)는 스피커, 디스플레이, 이어폰/헤드셋 단자 등으로 구현될 수 있으나, 이에 한정되지 않는다.The output unit 160 is configured to output various information and provide it to the user. The output unit 160 may be implemented as a speaker, display, earphone/headset terminal, etc., but is not limited thereto.

일 실시 예로, 비전 검사 시스템(100)은 검사 대상인 객체의 고장이 검출된 경우, 출력부(160)의 디스플레이를 통해 이미지 내 고장 영역을 표시할 수 있다. 여기서, 고장 영역은 각 모델(121, 122)로부터 출력된 마스크들이 가중치에 따라 조합된 최종 마스크에 따라 선택될 수 있다.In one embodiment, when a failure of an object subject to inspection is detected, the vision inspection system 100 may display the failure area in the image through the display of the output unit 160. Here, the fault area may be selected according to the final mask in which the masks output from each model 121 and 122 are combined according to the weight.

한편, 카메라(110)는, 단순히 이미지 센서만을 포함할 수도 있으나, 이미지 센서에 대하여 적어도 하나의 프로세싱 모듈을 포함할 수도 있다.Meanwhile, the camera 110 may simply include an image sensor, but may also include at least one processing module for the image sensor.

관련하여, 도 8은 본 개시의 일 실시 예에 따른 비전 검사 시스템 내 FPGA(field programmable gate arrays)를 포함하는 카메라의 구성을 설명하기 위한 도면이다.In relation to this, FIG. 8 is a diagram for explaining the configuration of a camera including field programmable gate arrays (FPGA) in a vision inspection system according to an embodiment of the present disclosure.

일반적인 스마트 카메라는 64bit RISC Processor Module에 CMOS 이미지 센서가 MIPI Interface 나 LVDS Interface를 통해 직접 연결되는 구조로 되어있다. 즉, 사용되는 이미지 센서 해상도 및 종류에 따라 이미지 처리가 달라지게 된다. 이 경우, 이미지 센서가 변경되면 검사 알고리즘을 처리하는 모듈의 프로그램도 변경이 필요하다. 사용자는 각 검사 유형에 맞는 해상도의 카메라를 별도로 구매해야 하기 때문에 비용적인 측면에서 부담이 될 수 있다.A typical smart camera has a structure in which a CMOS image sensor is directly connected to a 64-bit RISC Processor Module through a MIPI Interface or LVDS Interface. In other words, image processing varies depending on the resolution and type of image sensor used. In this case, when the image sensor is changed, the program of the module that processes the inspection algorithm also needs to be changed. Because users must separately purchase a camera with a resolution appropriate for each type of inspection, it can be a burden in terms of cost.

반면, 도 8을 참조하면, 본 개시의 일 실시 예에 따른 카메라(110)는 이미지 센서에서 이미지를 받고 이미지 처리하는 별도의 모듈(FPGA)을 포함하고 검사 알고리즘 처리를 위한 프로세서(130)로 이미지 데이터를 빠르게 전달할 수 있다(ex. USB 3.0). On the other hand, referring to FIG. 8, the camera 110 according to an embodiment of the present disclosure includes a separate module (FPGA) that receives images from an image sensor and processes the images, and processes the images with a processor 130 for inspection algorithm processing. Data can be transmitted quickly (ex. USB 3.0).

이 경우, 프로세서(130)는 연결된 해상도에 맞는 Buffer 설정만으로 쉽게 다양한 해상도의 이미지를 적용할 수 있다. 사용자는 하나의 프로세서(130)에 필요한 해상도의 이미지 센서를 다양하게 연결하여 사용 가능 하기 때문에 비용적인 측면에서도 많은 이점이 생기고 각 검사 유형에 맞게 쉽고 빠르게 대응할 수 있다.In this case, the processor 130 can easily apply images of various resolutions simply by setting the buffer appropriate for the connected resolution. Since the user can connect and use a variety of image sensors of the required resolution to one processor 130, there are many advantages in terms of cost and it is possible to respond easily and quickly to each inspection type.

특히, CMOS 이미지센서에서 받은 데이터는 노이즈 등으로 인해 검사에 바로 사용되기 힘든 반면, 도 8의 카메라(110)의 FPGA 모듈에서는 노이즈 저감 및 defect 보정을 위한 ISP(Image Signal Processing) 처리 후 사용자가 원하는 이미지 사이즈를 설정하고 프로세서(130)로 보정된 이미지 데이터를 전송할 수 있다.In particular, while data received from a CMOS image sensor is difficult to use directly for inspection due to noise, etc., the FPGA module of the camera 110 in FIG. 8 processes the data as desired by the user after ISP (Image Signal Processing) for noise reduction and defect correction. The image size can be set and the corrected image data can be transmitted to the processor 130.

이후, 프로세서(130)는 미리 학습된 데이터셋을 활용하여 보정된 이미지에 대한 고장 검출을 시행할 수 있다(ex. 도 2). 여기서, 룰 기반의 검사와 딥러닝 검사가 함께 활용될 수 있다. 이렇듯, 모든 검사가 별도 컴퓨팅 유닛 없이(별도 서버 등) 비전 검사 시스템(100) 내에서 수행될 수 있기 때문에 시스템을 구성하는데 소모되는 비용이 획기적으로 절감될 수 있다.Thereafter, the processor 130 may perform failure detection on the corrected image using the pre-learned dataset (ex. FIG. 2). Here, rule-based inspection and deep learning inspection can be used together. In this way, because all inspections can be performed within the vision inspection system 100 without a separate computing unit (separate server, etc.), the cost consumed in configuring the system can be dramatically reduced.

한편, 이상에서 설명된 다양한 실시 예들은 서로 저촉되지 않는 한 둘 이상이 서로 결합되어 구현될 수 있다.Meanwhile, the various embodiments described above may be implemented by combining two or more of them as long as they do not conflict with each other.

한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.Meanwhile, the various embodiments described above may be implemented in a recording medium that can be read by a computer or similar device using software, hardware, or a combination thereof.

하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. According to hardware implementation, embodiments described in the present disclosure include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and field programmable gate arrays (FPGAs). ), processors, controllers, micro-controllers, microprocessors, and other electrical units for performing functions.

일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.In some cases, embodiments described herein may be implemented in the processor itself. According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules described above may perform one or more functions and operations described herein.

한편, 상술한 본 개시의 다양한 실시 예들에 따른 비전 검사 시스템(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions) 또는 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어 또는 컴퓨터 프로그램은 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 비전 검사 시스템에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다. Meanwhile, computer instructions or computer programs for performing processing operations in the vision inspection system 100 according to various embodiments of the present disclosure described above are non-transitory computer-readable medium. ) can be stored in . Computer instructions or computer programs stored in such non-transitory computer-readable media, when executed by a processor of a specific device, cause the specific device to perform processing operations in the vision inspection system according to the various embodiments described above.

비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.A non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories. Specific examples of non-transitory computer-readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.

이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In the above, preferred embodiments of the present disclosure have been shown and described, but the present disclosure is not limited to the specific embodiments described above, and may be used in the technical field pertaining to the disclosure without departing from the gist of the disclosure as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical ideas or perspectives of the present disclosure.

100: 비전 검사 시스템 110: 카메라
120: 메모리 130: 프로세서
100: vision inspection system 110: camera
120: memory 130: processor

Claims (1)

비전 검사 시스템에 있어서,
검사 대상을 촬영하는 카메라;
고장과 관련된 semantic 정보를 추출하여 고장을 검출하는 제1 인공지능 모델 및 특징 정보(feature information)를 추출하여 고장을 검출하는 제2 인공지능 모델을 포함하는 메모리; 및
상기 카메라 및 상기 메모리와 연결된 프로세서;를 포함하고,
상기 프로세서는,
상기 카메라를 통해 획득된 이미지를 상기 제1 인공지능 모델에 입력하여 제1 출력 정보를 획득하고,
상기 이미지를 상기 제2 인공지능 모델에 입력하여 제2 출력 정보를 획득하고,
상기 제1 출력 정보 및 상기 제2 출력 정보를 기반으로 상기 이미지에 포함된 객체의 고장을 검출하고,
상기 제1 출력 정보는,
상기 이미지에 포함된 객체의 고장 영역을 나타내는 제1 마스크를 포함하고,
상기 제2 출력 정보는,
상기 이미지에 포함된 객체의 고장 영역을 나타내는 제2 마스크를 포함하고,
상기 제1 인공지능 모델은,
상기 이미지에 포함된 객체의 고장과 관련된 semantic 정보를 획득하고,
상기 획득된 semantic 정보에 따라 상기 제1 마스크를 출력하고,
상기 제2 인공지능 모델은,
상기 이미지에 포함된 객체의 특징 정보를 추출하고,
상기 추출된 특징 정보를 기반으로 상기 이미지에 포함된 객체의 분류를 식별하고,
상기 분류에 매칭되는 정상 객체의 특징 정보를 상기 추출된 특징 정보와 비교하여 고장 정보를 획득하고,
상기 획득된 고장 정보에 따라 상기 제2 마스크를 출력하고,
상기 프로세서는,
상기 제1 출력 정보에 제1 가중치를 적용하여 제1 값을 획득하고,
상기 제2 출력 정보에 제2 가중치를 적용하여 제2 값을 획득하고,
상기 제1 값 및 상기 제2 값을 합산한 값을 바탕으로 상기 이미지에 포함된 객체의 고장 영역을 식별하고,
상기 프로세서는,
상기 이미지가 촬영된 환경에 대한 정보를 가중치 판단 모델에 입력하고, 상기 가중치 판단 모델의 출력에 따라 상기 제1 가중치 및 상기 제2 가중치를 각각 설정하고,
상기 가중치 판단 모델은,
상기 제1 가중치 및 상기 제2 가중치를 마스크 내 픽셀 별로 판단하도록 훈련된 인공지능 모델이며,
밝기, 습도, 공기 오염도, 및 카메라의 거리 중 적어도 하나를 포함하는 환경에 대한 정보를 입력으로 하고, 상기 제1 가중치 및 상기 제2 가중치를 출력으로 하는, 모델인, 비전 검사 시스템.
In the vision inspection system,
A camera that photographs the inspection object;
A memory including a first artificial intelligence model for detecting a failure by extracting semantic information related to the failure and a second artificial intelligence model for detecting the failure by extracting feature information; and
Including a processor connected to the camera and the memory,
The processor,
Input the image acquired through the camera into the first artificial intelligence model to obtain first output information,
Input the image into the second artificial intelligence model to obtain second output information,
Detecting a failure of an object included in the image based on the first output information and the second output information,
The first output information is,
Includes a first mask representing a faulty area of an object included in the image,
The second output information is,
A second mask representing a faulty area of an object included in the image,
The first artificial intelligence model is,
Obtaining semantic information related to failure of objects included in the image,
Output the first mask according to the obtained semantic information,
The second artificial intelligence model is,
Extract feature information of objects included in the image,
Identify the classification of objects included in the image based on the extracted feature information,
Obtaining failure information by comparing feature information of a normal object matching the classification with the extracted feature information,
Outputting the second mask according to the obtained failure information,
The processor,
Obtaining a first value by applying a first weight to the first output information,
Obtaining a second value by applying a second weight to the second output information,
Identifying a faulty area of an object included in the image based on the sum of the first value and the second value,
The processor,
Inputting information about the environment in which the image was captured into a weight determination model, setting the first weight and the second weight respectively according to the output of the weight determination model,
The weight judgment model is,
An artificial intelligence model trained to determine the first weight and the second weight for each pixel in the mask,
A vision inspection system that is a model that inputs information about the environment including at least one of brightness, humidity, air pollution, and camera distance, and outputs the first weight and the second weight.
KR1020220157553A 2021-12-20 2022-11-22 Vision inspection system for applying environmental weight to output of plurality of artificial intelligence models KR102670083B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220157553A KR102670083B1 (en) 2021-12-20 2022-11-22 Vision inspection system for applying environmental weight to output of plurality of artificial intelligence models

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210182483A KR102471441B1 (en) 2021-12-20 2021-12-20 Vision inspection system for detecting failure based on deep learning
KR1020220157553A KR102670083B1 (en) 2021-12-20 2022-11-22 Vision inspection system for applying environmental weight to output of plurality of artificial intelligence models

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210182483A Division KR102471441B1 (en) 2021-12-20 2021-12-20 Vision inspection system for detecting failure based on deep learning

Publications (2)

Publication Number Publication Date
KR20230094134A KR20230094134A (en) 2023-06-27
KR102670083B1 true KR102670083B1 (en) 2024-05-29

Family

ID=84237033

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020210182483A KR102471441B1 (en) 2021-12-20 2021-12-20 Vision inspection system for detecting failure based on deep learning
KR1020220157552A KR102670082B1 (en) 2021-12-20 2022-11-22 Vision inspection system for detecting failure based on ensemble method beween artificial intelligence models
KR1020220157553A KR102670083B1 (en) 2021-12-20 2022-11-22 Vision inspection system for applying environmental weight to output of plurality of artificial intelligence models

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020210182483A KR102471441B1 (en) 2021-12-20 2021-12-20 Vision inspection system for detecting failure based on deep learning
KR1020220157552A KR102670082B1 (en) 2021-12-20 2022-11-22 Vision inspection system for detecting failure based on ensemble method beween artificial intelligence models

Country Status (2)

Country Link
KR (3) KR102471441B1 (en)
CN (1) CN116309239A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102625543B1 (en) * 2023-08-14 2024-01-16 주식회사 아이코어 Electronic apparatus for identigying defect of object through ensemble of artificial intelligence models, and control method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019530096A (en) 2016-10-14 2019-10-17 富士通株式会社 Digital image processing to remove unwanted parts
KR102206753B1 (en) * 2019-01-24 2021-01-22 주식회사 수아랩 Defect inspection apparatus
US20210073972A1 (en) * 2019-09-06 2021-03-11 Accenture Global Solutions Limited Intelligent defect detection from image data

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107745697A (en) * 2017-11-16 2018-03-02 北京图森未来科技有限公司 A kind of auto cleaning system and method
KR102175286B1 (en) 2018-10-11 2020-11-06 라온피플 주식회사 Apparatus and method for inspecting for defects
JP6973623B2 (en) * 2018-12-25 2021-12-01 Jfeスチール株式会社 Trained model generation method, trained model, surface defect detection method, steel material manufacturing method, pass / fail judgment method, grade judgment method, surface defect judgment program, pass / fail judgment program, judgment system, and steel material manufacturing equipment.
KR20210061146A (en) * 2019-11-19 2021-05-27 삼성전자주식회사 Electronic apparatus and control method thereof
KR102313626B1 (en) * 2019-12-02 2021-10-15 주식회사 수아랩 Method for training neural network
CN111222574B (en) * 2020-01-07 2022-04-05 西北工业大学 Ship and civil ship target detection and classification method based on multi-model decision-level fusion
CN111666945A (en) * 2020-05-11 2020-09-15 深圳力维智联技术有限公司 Storefront violation identification method and device based on semantic segmentation and storage medium
CN111860593B (en) * 2020-06-15 2023-08-18 国能信控互联技术有限公司 Fan blade fault detection method based on generation countermeasure network
CN111860169B (en) * 2020-06-18 2024-04-30 北京旷视科技有限公司 Skin analysis method, device, storage medium and electronic equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019530096A (en) 2016-10-14 2019-10-17 富士通株式会社 Digital image processing to remove unwanted parts
KR102206753B1 (en) * 2019-01-24 2021-01-22 주식회사 수아랩 Defect inspection apparatus
US20210073972A1 (en) * 2019-09-06 2021-03-11 Accenture Global Solutions Limited Intelligent defect detection from image data

Also Published As

Publication number Publication date
KR102670082B1 (en) 2024-05-29
CN116309239A (en) 2023-06-23
KR20230094134A (en) 2023-06-27
KR102471441B1 (en) 2022-11-28
KR20230094133A (en) 2023-06-27

Similar Documents

Publication Publication Date Title
US10713469B2 (en) Intelligent auto cropping of digital images
JP6581068B2 (en) Image processing apparatus, image processing method, program, operation control system, and vehicle
CN111507958B (en) Target detection method, training method of detection model and electronic equipment
US10997469B2 (en) Method and system for facilitating improved training of a supervised machine learning process
KR102670083B1 (en) Vision inspection system for applying environmental weight to output of plurality of artificial intelligence models
US9836456B2 (en) Techniques for providing user image capture feedback for improved machine language translation
US11087137B2 (en) Methods and systems for identification and augmentation of video content
US10089551B2 (en) Self-optimized object detection using online detector selection
US10346988B2 (en) Method for generating foreground using multiple background models and apparatus thereof
KR102478499B1 (en) A method for controlling a prosess and a device for controlling a process
KR102476048B1 (en) A method for detecting a process abnormality and a device for detecting a process abnormality
US20230058809A1 (en) Method and apparatus for detecting defect based on phased pass/fail determination
WO2020251523A1 (en) Modifying sensor data using generative adversarial models
JP2019220014A (en) Image analyzing apparatus, image analyzing method and program
US9824462B2 (en) Method for detecting object and object detecting apparatus
CN113537248A (en) Image recognition method and device, electronic equipment and storage medium
US20210264638A1 (en) Image processing device, movable device, method, and program
JP7002912B2 (en) Image sensors, person detection methods, programs and control systems
WO2022125353A1 (en) Reducing false negatives and finding new classes in object detectors
EP4348569A1 (en) Glare removal using dual cameras
JP7286747B2 (en) Image sensor, motion detection method, program and control system
WO2024038505A1 (en) Video processing device, video processing system, and video processing method
KR102625543B1 (en) Electronic apparatus for identigying defect of object through ensemble of artificial intelligence models, and control method thereof
US20240112325A1 (en) Automatic Optical Inspection Using Hybrid Imaging System
US11678068B2 (en) Glare removal using dual cameras

Legal Events

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