KR102357729B1 - Method and apparatus for performing machine learning and test on plurality of images - Google Patents

Method and apparatus for performing machine learning and test on plurality of images Download PDF

Info

Publication number
KR102357729B1
KR102357729B1 KR1020190111843A KR20190111843A KR102357729B1 KR 102357729 B1 KR102357729 B1 KR 102357729B1 KR 1020190111843 A KR1020190111843 A KR 1020190111843A KR 20190111843 A KR20190111843 A KR 20190111843A KR 102357729 B1 KR102357729 B1 KR 102357729B1
Authority
KR
South Korea
Prior art keywords
learning
image
criterion
images
satisfied
Prior art date
Application number
KR1020190111843A
Other languages
Korean (ko)
Other versions
KR20210030576A (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 KR1020190111843A priority Critical patent/KR102357729B1/en
Priority to CN202080041294.6A priority patent/CN113906471A/en
Priority to PCT/KR2020/000251 priority patent/WO2021049721A1/en
Publication of KR20210030576A publication Critical patent/KR20210030576A/en
Application granted granted Critical
Publication of KR102357729B1 publication Critical patent/KR102357729B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법은, 복수의 이미지들을 수신하는 단계 및 상기 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행하는 단계를 포함한다.A method of performing machine learning and testing on a plurality of images includes receiving a plurality of images and performing both learning and testing on the plurality of images, but reflecting the results of the learning and performing the test It includes the step of performing.

Description

복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 방법 및 장치 {METHOD AND APPARATUS FOR PERFORMING MACHINE LEARNING AND TEST ON PLURALITY OF IMAGES}METHOD AND APPARATUS FOR PERFORMING MACHINE LEARNING AND TEST ON PLURALITY OF IMAGES

본 명세서에서 개시되는 실시예들은 복수의 이미지들에 대해서 기계학습 및 테스트를 수행하기 위한 방법 및 장치에 관한 것이며, 특히 동일한 이미지에 대해서 기계학습과 테스트를 모두 수행하고, 기계학습의 결과를 반영하여 테스트를 수행하기 위한 방법 및 장치에 관한 것이다.Embodiments disclosed in the present specification relate to a method and apparatus for performing machine learning and testing on a plurality of images, in particular, performing both machine learning and testing on the same image, and reflecting the results of machine learning It relates to a method and apparatus for performing the test.

최근 AI 기술이 머신비전(machine vision) 분야에 활용되면서 공장 자동화에 큰 기여를 하고 있다. 그런데, AI 기술을 머신비전 분야에 활용하기 위해서는 제품상 결함의 존재 및 정도를 판단하거나 물품의 종류를 판단하기 위한 기준이 필요하고, 이러한 기준을 설정하기 위해 미리 물품을 촬영한 복수의 이미지들에 대해 기계학습(machine learning)을 수행해야 한다. 예를 들어, 양품 또는 불량품을 촬영한 복수의 이미지들에 대해 기계학습을 수행하거나, 또는 다양한 종류의 물품을 촬영한 복수의 이미지들에 대해 기계학습을 수행할 수 있다.Recently, AI technology has been used in the field of machine vision, contributing greatly to factory automation. However, in order to use AI technology in the field of machine vision, it is necessary to determine the existence and degree of defects in a product or to determine the type of product. machine learning should be performed. For example, machine learning may be performed on a plurality of images obtained by photographing a good product or a defective product, or machine learning may be performed on a plurality of images obtained by photographing various types of goods.

일반적으로 사용되는 머신비전 기술에서는 촬영 이미지를 통해 양품과 불량품을 구분하는 테스트(test)를 수행하기 위해 훈련(training)용으로 별도로 준비된 이미지들을 이용하여 학습(learning)을 먼저 수행한다. 예를 들어, 양품 또는 불량품을 촬영한 복수의 이미지들에 대해서 학습을 수행함으로써 양품을 촬영한 이미지 또는 불량품을 촬영한 이미지의 특징을 파악한 후, 물품을 촬영한 이미지를 테스트하여 물품이 양품인지 아니면 불량품인지를 판단하는 방식이다.In general machine vision technology, in order to perform a test to distinguish between good and bad products through photographed images, learning is first performed using images prepared separately for training. For example, by performing learning on a plurality of images of good or defective products, the characteristics of an image of a good product or an image of a defective product are identified, and then the image of the product is tested to determine whether the product is good or not. A method of determining whether a product is defective.

그런데, 이와 같이 학습과 테스트를 분리하여 실행하는 기존 방식의 경우 다음과 같은 문제점이 존재한다.However, in the case of the existing method of separately executing learning and testing as described above, the following problems exist.

첫째로, 불량품의 발생 비율이 극히 낮은 생산공정의 특징상 불량품을 촬영한 이미지를 확보하기가 쉽지 않을 뿐 아니라, 학습 수행 전 복수의 이미지들을 양품에 대한 이미지와 불량품에 대한 이미지로 분류하는 작업을 따로 수행해야 해 시간과 노력이 소요된다.First, due to the characteristics of the production process, where the occurrence rate of defective products is extremely low, it is not easy to obtain images of defective products, and it is difficult to classify a plurality of images into images of good products and images of defective products before learning. It takes time and effort to do it separately.

둘째로, 한 번의 학습 수행 결과에 기초하여 테스트를 수행하므로 학습 후 물품을 비추는 조명의 밝기나 위치가 달라지는 등의 환경변화가 생길 경우 테스트 결과의 정확도가 떨어지게 된다.Second, since the test is performed based on the result of one learning, if the environment changes, such as the brightness or location of the lighting illuminating the article after learning, the accuracy of the test result decreases.

관련하여 선행기술 문헌인 한국등록특허 제10-1867475호에는 정적자료(static data)에 대하여 오토인코더를 이용하여 비지도 학습을 수행함으로써 유사한 모델들을 클러스터링하는 내용이 개시되어 있다.In relation to this, Korean Patent Registration No. 10-1867475, a prior art document, discloses clustering of similar models by performing unsupervised learning on static data using an autoencoder.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-mentioned background art is technical information that the inventor possessed for the purpose of derivation of the present invention or acquired during the derivation process of the present invention, and it cannot be said that it is necessarily known technology disclosed to the general public before the filing of the present invention. .

본 명세서에서 개시되는 실시예들은, 복수의 이미지들에 대해서 기계학습 및 테스트를 모두 수행함으로써 실시간으로 학습 결과를 반영하여 테스트 정확도를 높이기 위한 기계학습 및 테스트 수행 방법 및 장치를 제공하기 위한 것이다.Embodiments disclosed herein are intended to provide a machine learning and test performing method and apparatus for increasing test accuracy by reflecting the learning result in real time by performing both machine learning and testing on a plurality of images.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 일 실시예에 따르면, 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법은, 복수의 이미지들을 수신하는 단계 및 상기 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행하는 단계를 포함할 수 있다.According to an embodiment, as a technical means for achieving the above-described technical problem, a method for performing machine learning and testing on a plurality of images includes receiving a plurality of images, learning and All of the tests are performed, but the method may include performing the test by reflecting the result of performing the learning.

다른 실시예에 따르면, 컴퓨팅 장치에서 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법을 수행하기 위한 컴퓨터 프로그램으로서, 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법은, 복수의 이미지들을 수신하는 단계 및 상기 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행하는 단계를 포함할 수 있다.According to another embodiment, as a computer program for performing a method of performing machine learning and testing on a plurality of images in a computing device, the method of performing machine learning and testing on a plurality of images includes: and performing both learning and testing on the plurality of images, and performing the test by reflecting a result of performing the learning.

또 다른 실시예에 따르면, 컴퓨팅 장치에서 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서, 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법은, 복수의 이미지들을 수신하는 단계 및 상기 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행하는 단계를 포함할 수 있다.According to another embodiment, as a computer-readable recording medium in which a program for performing a method of performing machine learning and testing on a plurality of images in a computing device is recorded, machine learning and testing on a plurality of images The performing method may include receiving a plurality of images and performing both learning and testing on the plurality of images, and performing the test by reflecting a result of performing the learning.

또 다른 실시예에 따르면, 기계학습 및 테스트를 수행하기 위한 장치는, 기계학습 및 테스트와 관련된 조작 및 데이터 입력을 수신하고, 데이터 처리 결과를 표시하기 위한 입출력부, 외부 장치와 데이터 송수신을 위한 통신을 수행하는 통신부, 기계학습 및 테스트 수행을 위한 프로그램이 저장되는 저장부 및 상기 프로그램을 실행함으로써 복수의 이미지들에 대한 기계학습 및 테스트를 수행하는 제어부를 포함하며, 상기 제어부는, 상기 통신부를 통해 수신하는 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행할 수 있다.According to another embodiment, a device for performing machine learning and testing includes an input/output unit for receiving manipulation and data input related to machine learning and testing, and displaying a data processing result, and communication for transmitting and receiving data with an external device and a communication unit for performing machine learning and testing, a storage unit storing a program for machine learning and testing, and a control unit for performing machine learning and testing on a plurality of images by executing the program, wherein the control unit is configured to perform machine learning and testing through the communication unit. Both learning and testing may be performed on a plurality of received images, but the test may be performed by reflecting a result of performing the learning.

전술한 과제 해결 수단 중 어느 하나에 의하면, 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되 학습 결과를 반영하여 테스트를 수행함으로써, 실시간으로 학습 결과를 반영하여 테스트를 수행할 수 있고, 따라서 환경변화에 적응적으로 반응하여 테스트 정확도를 높이는 효과를 기대할 수 있다.According to any one of the above-described problem solving means, both learning and testing are performed on a plurality of images, but by performing the test by reflecting the learning result, the test can be performed by reflecting the learning result in real time, and thus the environment It can be expected to increase test accuracy by adaptively responding to changes.

또한, 학습용 이미지를 따로 준비할 필요가 없어 불량품을 촬영한 이미지를 확보하거나 이미지를 분류하는데 드는 시간 및 노력을 감소시킬 수 있다.In addition, since there is no need to separately prepare an image for learning, it is possible to reduce time and effort required to secure an image of a defective product or to classify an image.

개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable in the disclosed embodiments are not limited to the above-mentioned effects, and other effects not mentioned are clear to those of ordinary skill in the art to which the embodiments disclosed from the description below belong. can be understood clearly.

도 1은 일 실시예에 따른 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 시스템을 도시한 도면이다.
도 2는 도 1에 도시된 컴퓨팅 장치의 구성을 설명하기 위한 블록도이다.
도 3 내지 도 8은 실시예들에 따른 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 방법을 설명하기 위한 순서도들이다.
1 is a diagram illustrating a system for performing machine learning and testing on a plurality of images according to an embodiment.
FIG. 2 is a block diagram illustrating the configuration of the computing device shown in FIG. 1 .
3 to 8 are flowcharts for explaining a method for performing machine learning and testing on a plurality of images according to embodiments.

아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be modified and implemented in various different forms. In order to more clearly describe the characteristics of the embodiments, detailed descriptions of matters widely known to those of ordinary skill in the art to which the following embodiments belong are omitted. In addition, in the drawings, parts irrelevant to the description of the embodiments are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a component is said to be "connected" with another component, it includes not only the case where it is 'directly connected', but also the case where it is 'connected with another component in between'. In addition, when a component "includes" a component, it means that other components may be further included, rather than excluding other components, unless otherwise stated.

도 1은 일 실시예에 따른 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 시스템을 도시한 도면이다. 도 1을 참조하면, 일 실시예에 따른 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 시스템은, 촬영부(10) 및 컴퓨팅 장치(100)를 포함할 수 있다.1 is a diagram illustrating a system for performing machine learning and testing on a plurality of images according to an embodiment. Referring to FIG. 1 , a system for performing machine learning and testing on a plurality of images according to an embodiment may include a photographing unit 10 and a computing device 100 .

도 1에 도시된 시스템은 물품(1)들이 양품인지 아니면 불량품인지 여부를 판단하기 위한 머신비전 시스템으로서, 촬영부(10)가 물품(1)에 대한 이미지를 촬영하여 컴퓨팅 장치(100)로 전송하면, 컴퓨팅 장치(100)는 수신한 이미지를 분석함으로써 촬영된 물품(1)이 양품인지 아니면 불량품인지 여부를 판단한다. 이를 위해 컴퓨팅 장치(100)는 수신한 이미지들을 학습(이하에서 ‘기계학습’과 동일한 의미로 사용된다)함으로써 정상 이미지(양품이 촬영된 이미지)와 비정상 이미지(불량품이 촬영된 이미지)의 특징을 파악할 수 있다.The system shown in FIG. 1 is a machine vision system for determining whether the articles 1 are good or defective. The photographing unit 10 captures an image of the article 1 and transmits it to the computing device 100 . Then, the computing device 100 determines whether the photographed article 1 is a good product or a defective product by analyzing the received image. To this end, the computing device 100 learns the received images (hereinafter, used in the same sense as 'machine learning') to learn the characteristics of normal images (images in which good products are photographed) and abnormal images (images in which defective products are photographed). can figure out

촬영부(10)는 물품(1)의 외형을 촬영하기 위한 구성으로서 이미지 센서를 포함하는 카메라 등으로 구현될 수 있다. 도 1에서는 촬영부(10)가 컴퓨팅 장치(100)와 서로 분리된 구성인 것으로 도시하였으나, 이와 다르게 촬영부(10)는 컴퓨팅 장치(100)에 포함되는 구성일 수도 있다. 또한, 촬영부(10)는 보다 선명한 이미지를 확보하기 위해 촬영 시 물품(1)에 빛을 비추기 위한 조명을 포함할 수도 있다.The photographing unit 10 is a configuration for photographing the external appearance of the article 1 and may be implemented as a camera including an image sensor. In FIG. 1 , the photographing unit 10 is illustrated as being separate from the computing device 100 . Alternatively, the photographing unit 10 may be included in the computing device 100 . In addition, the photographing unit 10 may include a light for illuminating the article 1 when photographing in order to secure a clearer image.

촬영부(10)는 컨베이어 벨트 등을 통해 이동하는 물품(1)들을 하나씩 촬영하고, 촬영된 이미지들을 컴퓨팅 장치(100)로 전송할 수 있다.The photographing unit 10 may photograph the items 1 moving through a conveyor belt, etc. one by one, and transmit the photographed images to the computing device 100 .

컴퓨팅 장치(100)는 촬영부(10)로부터 수신한 복수의 이미지들에 대한 기계학습 및 테스트를 수행한다. 컴퓨팅 장치(100)는 물품(1)이 촬영된 이미지를 분석함으로써 이미지에 포함된 물품(1)이 양품인지 아니면 불량품인지 여부를 판단한다.The computing device 100 performs machine learning and testing on the plurality of images received from the photographing unit 10 . The computing device 100 determines whether the article 1 included in the image is a good product or a defective product by analyzing the photographed image of the article 1 .

특히, 컴퓨팅 장치(100)는 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 학습을 수행한 결과를 반영하여 테스트를 수행함으로써 실시간으로 학습 결과를 테스트에 반영할 수 있다. 즉, 컴퓨팅 장치(100)는 학습용 이미지와 테스트용 이미지를 서로 분리하지 않고, 동일한 이미지에 대해서 학습과 테스트를 모두 수행할 수 있다. 따라서, 학습용 이미지를 따로 준비할 필요가 없어 사용자 편의성이 향상되는 효과를 기대할 수 있다. 또한, 테스트를 수행하면서 동시에 테스트를 수행한 이미지에 대한 학습도 수행하고, 학습을 수행한 결과는 다음 이미지에 대한 테스트 수행 시 반영되므로 조명의 밝기나 위치 등과 같은 주변환경이 변화하더라도 이에 적응적으로 반응하여 테스트 정확도를 높이는 효과를 기대할 수 있다.In particular, the computing device 100 may perform both learning and testing on a plurality of images, but may reflect the learning result to the test in real time by performing the test by reflecting the learning result. That is, the computing device 100 may perform both learning and testing on the same image without separating the training image and the test image from each other. Therefore, there is no need to separately prepare an image for learning, and the effect of improving user convenience can be expected. In addition, while performing the test, learning is also performed on the image that was tested at the same time, and the results of learning are reflected when performing the test on the next image, so even if the surrounding environment such as brightness or location of lighting changes, it can be adaptively In response, the effect of increasing the test accuracy can be expected.

컴퓨팅 장치(100)가 복수의 이미지들에 대해서 학습 및 테스트를 수행하는 구체적인 방법에 대해서는 아래에서 다른 도면들을 참조하여 설명한다.A specific method for the computing device 100 to learn and test on a plurality of images will be described below with reference to other drawings.

도 2는 도 1에 도시된 컴퓨팅 장치(100)의 구성을 설명하기 위한 블록도이다. 도 2를 참조하면, 일 실시예에 따른 컴퓨팅 장치(100)는 입출력부(110), 통신부(120), 제어부(130) 및 저장부(140)를 포함할 수 있다.FIG. 2 is a block diagram illustrating the configuration of the computing device 100 illustrated in FIG. 1 . Referring to FIG. 2 , the computing device 100 according to an embodiment may include an input/output unit 110 , a communication unit 120 , a control unit 130 , and a storage unit 140 .

입출력부(110)는 기계학습 및 테스트 수행과 관련된 설정 등의 입력을 사용자로부터 수신하고, 테스트 결과 등을 출력하기 위한 구성이다. 일 실시예에 따르면, 입출력부(110)는 키보드 및 마우스 등의 입력 장치들을 통해 사용자로부터 설정 입력을 수신하고, 학습 및 테스트를 수행한 결과를 화면에 표시할 수 있다.The input/output unit 110 is configured to receive input from a user, such as settings related to machine learning and test execution, and output test results, and the like. According to an embodiment, the input/output unit 110 may receive a setting input from a user through input devices such as a keyboard and a mouse, and display the results of learning and testing on the screen.

통신부(120)는 외부 장치와 데이터 송수신을 위한 통신을 수행하기 위한 구성으로서, 다양한 방식의 유무선 통신을 지원할 수 있다. 예를 들어, 통신부(120)는 촬영부(10)로부터 물품(1)을 촬영한 이미지를 순서대로 수신할 수 있다. 통신부(120)는 다양한 통신 프로토콜을 지원하는 통신 칩셋으로 구현될 수 있다.The communication unit 120 is a configuration for performing communication for data transmission/reception with an external device, and may support various types of wired/wireless communication. For example, the communication unit 120 may sequentially receive images obtained by photographing the article 1 from the photographing unit 10 . The communication unit 120 may be implemented as a communication chipset supporting various communication protocols.

제어부(130)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 컴퓨팅 장치(100)의 전반적인 동작을 제어한다. 특히, 제어부(130)는 저장부(140)에 저장된 프로그램을 실행시킴으로써 복수의 이미지들에 대해 기계학습 및 테스트를 수행할 수 있다. 제어부(130)가 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 구체적인 동작에 대해서는 아래에서 자세히 설명한다.The controller 130 is a configuration including at least one processor such as a CPU, and controls the overall operation of the computing device 100 . In particular, the controller 130 may perform machine learning and testing on a plurality of images by executing a program stored in the storage 140 . A detailed operation of the controller 130 performing machine learning and testing on a plurality of images will be described in detail below.

저장부(140)에는 다양한 종류의 프로그램 및 데이터가 저장될 수 있다. 특히, 저장부(140)에는 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 프로그램이 저장될 수 있으며, 학습 및 테스트의 대상이 되는 복수의 이미지들도 저장될 수 있다.Various types of programs and data may be stored in the storage unit 140 . In particular, a program for performing machine learning and testing on a plurality of images may be stored in the storage 140 , and a plurality of images to be learned and tested may also be stored.

일 실시예에 따르면, 제어부(130)는 통신부(120)를 통해 수신한 복수의 이미지들에 대해서 학습 및 테스트를 수행하되, 학습을 수행한 결과를 반영하여 테스트를 수행할 수 있다. 이때, 통신부(120)는 물품(1)을 촬영한 이미지를 하나씩 순서대로 촬영부(10)로부터 수신하고, 제어부(130)는 이미지를 수신한 순서대로 하나씩 학습 및 테스트를 수행할 수도 있다.According to an embodiment, the controller 130 may perform learning and testing on a plurality of images received through the communication unit 120 , and may perform the test by reflecting the learning result. In this case, the communication unit 120 may receive images of the article 1 one by one from the photographing unit 10 in order, and the control unit 130 may perform learning and testing one by one in the order in which the images are received.

제어부(130)는 복수의 이미지들 각각에 대해서 하나씩 학습 및 테스트를 수행하되, 이전까지 학습된 결과를 반영하여 다음 이미지에 대한 테스트를 수행할 수 있다. 예를 들어, 제어부(130)는 어느 하나의 이미지(제1 이미지)에 대해서 학습 및 테스트를 수행하면, 해당 이미지(제1 이미지)에 대한 학습 결과를 반영하여 다음 이미지(제2 이미지)에 대한 테스트를 수행한다. 또한, 제어부(130)는 다음 이미지(제2 이미지)에 대해서도 학습을 수행하고, 그 결과를 그 다음 이미지(제3 이미지)에 대한 테스트 수행 시 반영할 수 있다.The controller 130 may perform learning and testing on each of the plurality of images one by one, and may perform a test on the next image by reflecting the previously learned results. For example, when learning and testing is performed on any one image (first image), the control unit 130 reflects the learning result for the corresponding image (first image) for the next image (second image). do the test In addition, the controller 130 may also perform learning on the next image (second image), and reflect the result when performing a test on the next image (third image).

제어부(130)가 이미지에 대해서 테스트를 수행하기 위해서는 테스트를 위한 기준(이하, ‘테스트 기준’이라 한다), 예컨대 정상 이미지(양품이 촬영된 이미지)의 특징 등을 미리 알고 있어야 한다. 이러한 테스트 기준은 저장부(140)에 미리 저장되어 있을 수도 있고, 또는 이미지들에 대해서 학습을 수행하는 과정에서 제어부(130)가 직접 파악하여 저장부(140)에 저장할 수도 있다.In order for the control unit 130 to perform a test on an image, it should know in advance a test criterion (hereinafter referred to as a 'test criterion'), for example, the characteristics of a normal image (an image of a good product). These test criteria may be previously stored in the storage unit 140 , or the control unit 130 may directly grasp and store the images in the storage unit 140 in the process of learning the images.

이하에서는, 제어부(130)가 이미지들에 대해서 학습을 수행하는 과정에서 테스트 기준을 직접 파악하는 실시예에 대해서 설명한다.Hereinafter, an embodiment in which the controller 130 directly grasps the test criterion in the process of learning the images will be described.

제어부(130)는 복수의 이미지들에 대해서 순서대로 하나씩 학습을 수행하기 시작한다. 처음에는 테스트 기준이 준비되지 않았으므로 제어부(130)는 이미지에 대한 학습만을 수행한다. 순서대로 하나씩 이미지에 대한 학습을 수행하다가 미리 설정된 일정 기준(이하, ‘준비 기준’이라 한다)을 만족하게 되면, 제어부(130)는 테스트 기준 설정을 위한 준비가 완료되었다고 판단하고 이후 순서의 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 준비 기준 만족 시까지 수행된 학습 결과 및 이후 순서의 이미지들에 대한 학습 결과를 반영하여 테스트를 수행한다.The controller 130 starts learning one by one for the plurality of images in order. At first, since the test standard is not prepared, the controller 130 only learns the image. If a predetermined criterion (hereinafter, referred to as a 'preparation criterion') is satisfied while learning the images one by one in order, the controller 130 determines that the preparation for setting the test criterion is complete, Both learning and testing are performed for the , but the test is performed by reflecting the learning results performed until the preparation criteria are satisfied and the learning results for the images in the subsequent order.

자세하게는, 제어부(130)는 준비 기준이 만족되었다고 판단하면, 준비 기준 만족 시까지 수행한 학습 결과에 기초하여 테스트 기준을 설정하고 이후 순서의 이미지들에 대한 테스트를 수행한다. 이때, 제어부(130)는 이후 순서의 이미지들에 대해서 테스트와 동시에 학습도 수행하면서 그 결과에 기초하여 테스트 기준을 계속해서 업데이트한다. 즉, 제어부(130)는 이후 순서의 이미지들에 대해서 테스트를 수행함에 있어서, 테스트 수행 바로 전까지 수행된 다른 이미지들의 학습 결과를 반영하여 테스트를 수행한다.In detail, if it is determined that the preparation criterion is satisfied, the controller 130 sets the test criterion based on the learning result performed until the preparation criterion is satisfied, and then tests the images in the following order. In this case, the control unit 130 continuously updates the test criteria based on the results while also performing the test and learning for the images in the subsequent order. That is, when performing the test on the images in the subsequent order, the controller 130 performs the test by reflecting the learning results of the other images performed just before the test execution.

제어부(130)가 준비 기준이 만족되었는지 여부를 판단하는 방법은 다음과 같다.A method for the controller 130 to determine whether the preparation criterion is satisfied is as follows.

제어부(130)는 현재까지 학습을 수행한 시간 또는 현재까지 학습을 수행한 이미지의 개수에 기초하여 준비 기준의 만족 여부를 판단할 수 있다. 왜냐하면, 적어도 일정 시간 이상 학습을 수행하거나 적어도 일정 개수 이상의 이미지에 대해서 학습을 수행해야 정상 이미지의 특징 등과 같은 테스트 기준을 파악할 수 있기 때문이다.The controller 130 may determine whether the preparation criterion is satisfied based on the time the learning has been performed so far or the number of images for which the learning has been performed so far. This is because the test criteria such as the characteristic of a normal image can be grasped only when learning is performed for at least a certain time or learning is performed on at least a certain number of images.

예를 들어, 제어부(130)는 현재까지 학습을 수행한 시간을 확인하고, 확인된 시간이 미리 설정된 값을 초과하였다면 준비 기준을 만족하는 것으로 판단할 수 있다. 또는 예를 들어, 제어부(130)는 현재까지 학습을 수행한 이미지의 개수를 확인하고, 확인된 개수가 미리 설정된 값을 초과하였다면 준비 기준을 만족하는 것으로 판단할 수 있다.For example, the controller 130 may check the time for which the learning has been performed so far, and if the checked time exceeds a preset value, it may determine that the preparation criterion is satisfied. Alternatively, for example, the controller 130 may check the number of images for which learning has been performed so far, and if the checked number exceeds a preset value, it may be determined that the preparation criterion is satisfied.

이 밖에도 제어부(130)는 다양한 방식으로 테스트 기준 설정을 위한 준비가 완료되었는지 여부(준비 기준의 만족 여부)를 판단할 수 있다.In addition, the controller 130 may determine whether the preparation for setting the test criterion is completed (whether the preparation criterion is satisfied) in various ways.

준비 기준이 만족된 경우, 제어부(130)가 이후 순서의 이미지들에 대해서 학습 및 테스트를 모두 수행하는 방법은 다음과 같다.When the preparation criterion is satisfied, a method for the controller 130 to perform both learning and testing on images of a subsequent order is as follows.

제어부(130)는 준비 기준이 만족되었다고 판단하면, 준비 기준 만족 시까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악하고 이를 테스트 기준으로 설정한다. 여기에서는 테스트 기준이 정상 이미지의 특징인 것으로 예를 들어 설명하지만, 이와 다르게 비정상 이미지의 특징 등이 테스트 기준이 될 수도 있다.If it is determined that the preparation criterion is satisfied, the controller 130 determines the characteristics of the normal image based on the learning result performed until the preparation criterion is satisfied, and sets it as the test criterion. Here, the test criterion is described as an example of a characteristic of a normal image, but otherwise, the characteristic of an abnormal image may be the test criterion.

제어부(130)는 파악한 정상 이미지의 특징에 기초하여 어느 하나의 이미지(제1 이미지)에 대해서 테스트를 수행한다. 즉, 제어부(130)는 제1 이미지가 정상 이미지인지 아니면 비정상 이미지인지 여부를 판단한다. 제어부(130)는 제1 이미지가 비정상 이미지라고 판단되면 입출력부(110)를 통해 불량품이 검출되었다는 안내를 표시할 수 있다.The controller 130 performs a test on any one image (the first image) based on the identified characteristics of the normal image. That is, the controller 130 determines whether the first image is a normal image or an abnormal image. When it is determined that the first image is an abnormal image, the controller 130 may display a guide indicating that a defective product has been detected through the input/output unit 110 .

제어부(130)는 제1 이미지에 대해서 테스트뿐만 아니라 학습도 수행한다. 제어부(130)는 제1 이미지에 대해서 학습을 수행한 결과에 기초하여 정상 이미지의 특징을 업데이트 한다. 따라서, 제1 이미지 다음 순서의 이미지(제2 이미지)에 대해서 테스트를 수행할 때 제어부(130)는 제1 이미지에 대한 학습 결과가 반영된 정상 이미지의 특징에 기초하여 제2 이미지가 정상 이미지인지 여부를 판단할 수 있다. 이와 같이, 제어부(130)는 각각의 이미지에 대해서 테스트를 수행하는 동시에 학습을 수행함으로써 테스트 기준을 계속해서 업데이트할 수 있다.The controller 130 performs learning as well as a test on the first image. The controller 130 updates the characteristics of the normal image based on the result of learning the first image. Therefore, when performing a test on an image (second image) in the order following the first image, the controller 130 determines whether the second image is a normal image based on the characteristics of the normal image to which the learning result for the first image is reflected can be judged In this way, the controller 130 may continuously update the test criteria by performing a test and learning at the same time for each image.

한편, 위에서는 제어부(130)가 하나의 이미지에 대한 학습을 수행할 때마다 테스트 기준(정상 이미지의 특징)을 업데이트하는 것으로 설명하였는데, 이와 같이 빈번하게 업데이트가 이루어질 경우 처리 속도나 리소스의 활용 측면에서 효율적이지 못할 수 있다. 따라서, 각각의 이미지 마다 테스트 기준을 업데이트하는 대신에, 미리 설정된 일정 기준(이하, ‘업데이트 기준’이라 한다)을 만족하는 경우에만 테스트 기준을 업데이트하도록 할 수도 있다. 이하에서는 이러한 실시예에 대해서 설명한다.Meanwhile, in the above, it has been described that the control unit 130 updates the test criteria (characteristics of a normal image) whenever the learning for one image is performed. may not be effective in Therefore, instead of updating the test criterion for each image, the test criterion may be updated only when a preset predetermined criterion (hereinafter, referred to as an 'update criterion') is satisfied. Hereinafter, such an embodiment will be described.

제어부(130)는 준비 기준이 만족된다고 판단되면, 이전까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악한다. 여기에서는 테스트 기준이 정상 이미지의 특징인 것으로 예를 들어 설명하지만, 이와 다르게 비정상 이미지의 특징 등이 테스트 기준이 될 수도 있다.When it is determined that the preparation criterion is satisfied, the controller 130 determines the characteristics of the normal image based on the previously performed learning result. Here, the test criterion is described as an example of a characteristic of a normal image, but otherwise, the characteristic of an abnormal image may be the test criterion.

제어부(130)는 파악한 정상 이미지의 특징에 기초하여 어느 하나의 이미지(제1 이미지)에 대해서 테스트를 수행한다. 즉, 제어부(130)는 제1 이미지가 정상 이미지인지 아니면 비정상 이미지인지 여부를 판단한다. 제어부(130)는 제1 이미지가 비정상 이미지라고 판단되면 입출력부(110)를 통해 불량품이 검출되었다는 안내를 표시할 수 있다.The controller 130 performs a test on any one image (the first image) based on the identified characteristics of the normal image. That is, the controller 130 determines whether the first image is a normal image or an abnormal image. When it is determined that the first image is an abnormal image, the controller 130 may display a guide indicating that a defective product has been detected through the input/output unit 110 .

제어부(130)는 제1 이미지에 대해서 테스트뿐만 아니라 학습도 수행한다. 제어부(130)는 제1 이미지에 대한 학습이 완료되면, 미리 설정된 업데이트 기준이 만족되었는지 여부를 판단한다. 자세하게는, 제어부(130)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 시간을 확인하고, 확인된 시간이 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다. 또는, 제어부(130)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 이미지의 개수를 확인하고, 확인된 개수가 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다.The controller 130 performs learning as well as a test on the first image. When learning of the first image is completed, the controller 130 determines whether a preset update criterion is satisfied. In detail, the control unit 130 checks the learning time after the time when the characteristic identification of the normal image is completed or the time when the update of the characteristic of the normal image is completed, and if the checked time exceeds a preset value, the update criterion can be considered to be satisfied. Alternatively, the controller 130 checks the number of images for which learning is performed after the time point when the characterization of the normal image is completed or the time point when the update of the characteristics of the normal image is completed, and if the checked number exceeds a preset value, update it It can be judged that the criteria are satisfied.

이와 같이, 제어부(130)는 일정한 기준(업데이트 기준)이 만족되는 경우에만 학습 결과를 반영하여 테스트 기준을 업데이트함으로써 실시간으로 학습 결과를 반영하면서도 효율성을 높일 수 있다.In this way, the controller 130 reflects the learning result and updates the test criterion by reflecting the learning result only when a certain criterion (updating criterion) is satisfied, so that the efficiency can be improved while reflecting the learning result in real time.

이하에서는 도 3 내지 도 8을 참조하여 실시예들에 따른 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법에 대해서 설명한다. 도 3 내지 도 8에 도시된 실시예들에 따른 기계학습 및 테스트 수행 방법은 도 1 및 도 2에 도시된 컴퓨팅 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 및 도 2에 도시된 컴퓨팅 장치(100)에 관하여 이상에서 기술한 내용은 도 3 내지 도 8에 도시된 실시예들에 따른 기계학습 및 테스트 수행 방법에도 적용될 수 있다.Hereinafter, a method of performing machine learning and testing on a plurality of images according to embodiments will be described with reference to FIGS. 3 to 8 . The method for performing machine learning and testing according to the embodiments shown in FIGS. 3 to 8 includes steps that are time-series processed by the computing device 100 shown in FIGS. 1 and 2 . Therefore, even if omitted below, the content described above with respect to the computing device 100 shown in FIGS. 1 and 2 is also in the method for performing machine learning and testing according to the embodiments shown in FIGS. 3 to 8 . can be applied.

도 3은 일 실시예에 따른 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a method for performing machine learning and testing on a plurality of images according to an embodiment.

도 3을 참조하면, 301 단계에서 컴퓨팅 장치(100)는 복수의 이미지들을 수신한다. 이때, 컴퓨팅 장치(100)는 복수의 이미지들을 한 번에 수신할 수도 있고, 학습 및 테스트를 수행하면서 대상이 되는 이미지들을 하나씩 순서대로 수신할 수도 있다.Referring to FIG. 3 , in step 301 , the computing device 100 receives a plurality of images. In this case, the computing device 100 may receive a plurality of images at once, or may receive target images one by one while performing learning and testing.

302 단계에서 컴퓨팅 장치(100)는 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 학습 결과를 반영하여 테스트를 수행한다. 다시 말해, 컴퓨팅 장치(100)는 복수의 이미지들 각각에 대해서 순서대로 학습과 테스트를 수행하면서, 이전 이미지에 대해서 학습한 결과를 반영하여 다음의 이미지에 대한 테스트를 수행한다.In step 302 , the computing device 100 performs both learning and testing on the plurality of images, but performs the test by reflecting the learning result. In other words, the computing device 100 performs a test on the next image by reflecting the learning result on the previous image while sequentially performing learning and testing on each of the plurality of images.

도 4는 도 3의 302 단계에 포함되는 세부 단계들을 설명하기 위한 순서도이다. 도 4를 참조하면, 401 단계에서 컴퓨팅 장치(100)는 수신한 복수의 이미지들에 대해서 하나씩 학습을 수행한다.4 is a flowchart for explaining detailed steps included in step 302 of FIG. 3 . Referring to FIG. 4 , in step 401 , the computing device 100 performs learning on a plurality of received images one by one.

402 단계에서 컴퓨팅 장치(100)는 학습할 다음 이미지가 존재하는지 여부를 판단하고, 다음 이미지가 존재하지 않는다면 프로세스를 종료하고, 다음 이미지가 존재한다면 403 단계로 진행한다.In step 402 , the computing device 100 determines whether a next image to be learned exists, ends the process if the next image does not exist, and proceeds to step 403 if the next image exists.

403 단계에서 컴퓨팅 장치(100)는 미리 설정된 기준(준비 기준)이 만족되었는지 여부를 판단하고, 준비 기준이 만족되지 않았다면 돌아가서 401 단계를 수행하고, 준비 기준이 만족되었다면 404 단계로 진행한다. 여기서 ‘준비 기준’이란 앞서 설명한 바와 같이 테스트를 위한 기준(테스트 기준)을 설정하기 위한 준비가 완료되었는지 여부를 판단하기 위한 기준이다. 즉, 컴퓨팅 장치(100)는 준비 기준을 만족하면 테스트 기준을 설정하기 위한 준비가 완료되었다고 판단한다. 컴퓨팅 장치(100)는 현재까지 학습을 수행한 시간 또는 현재까지 학습을 수행한 이미지의 개수에 기초하여 준비 기준의 만족 여부를 판단하는데, 자세한 프로세스는 아래에서 도 7 및 도 8을 참조하여 설명한다.In step 403 , the computing device 100 determines whether a preset criterion (preparation criterion) is satisfied, returns to step 401 if the preparation criterion is not satisfied, and proceeds to step 404 if the preparation criterion is satisfied. Here, the 'preparation criterion' is a criterion for judging whether the preparation for setting the criterion (test criterion) for the test is completed as described above. That is, when the preparation criterion is satisfied, the computing device 100 determines that preparation for setting the test criterion is complete. The computing device 100 determines whether the preparation criterion is satisfied based on the time the learning has been performed so far or the number of images for which the learning has been performed so far, the detailed process will be described with reference to FIGS. 7 and 8 below. .

404 단계에서 컴퓨팅 장치(100)는 나머지 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 다른 이미지의 학습 결과를 반영하여 테스트를 수행한다. In step 404, the computing device 100 performs both learning and testing on the remaining images, but reflects the learning results of other images to perform the test.

컴퓨팅 장치(100)는 준비 기준이 만족되었다고 판단하면, 이후 순서의 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 준비 기준 만족 시까지 수행된 학습 결과 및 이후 순서의 이미지들에 대한 학습 결과를 반영하여 테스트를 수행한다. 자세하게는, 컴퓨팅 장치(100)는 준비 기준이 만족되었다고 판단하면, 준비 기준 만족 시까지 수행한 학습 결과에 기초하여 테스트 기준을 설정하고 이후 순서의 이미지들에 대한 테스트를 수행한다. 이때, 컴퓨팅 장치(100)는 이후 순서의 이미지들에 대해서 테스트와 동시에 학습도 수행하면서 그 결과에 기초하여 테스트 기준을 계속해서 업데이트한다. 즉, 컴퓨팅 장치(100)는 이후 순서의 이미지들에 대해서 테스트를 수행함에 있어서, 테스트 수행 바로 전까지 수행된 다른 이미지들의 학습 결과를 반영하여 테스트를 수행한다. If the computing device 100 determines that the preparation criterion is satisfied, both learning and testing are performed on the images in the subsequent order, but the learning result performed until the preparation criterion is satisfied and the learning result of the images in the subsequent order are reflected to perform the test. In detail, when it is determined that the preparation criterion is satisfied, the computing device 100 sets a test criterion based on the learning result performed until the preparation criterion is satisfied, and then tests the images in the following order. In this case, the computing device 100 continuously updates the test criteria based on the results while also performing testing and learning on the images in the subsequent order. That is, when the computing device 100 performs the test on the images in the subsequent order, the test is performed by reflecting the learning results of other images performed just before the test execution.

404 단계에서 컴퓨팅 장치(100)가 다른 이미지의 학습 결과를 반영하여 테스트를 수행하는 구체적인 프로세스에 대해서는 아래에서 도 5 및 도 6을 참조하여 설명한다.A detailed process in which the computing device 100 performs a test by reflecting the learning result of another image in step 404 will be described below with reference to FIGS. 5 and 6 .

도 5은 도 4의 404 단계에 포함되는 세부 단계들을 설명하기 위한 순서도이다. 도 5를 참조하면, 501 단계에서 컴퓨팅 장치(100)는 이전까지의 학습 수행 결과에 기초하여 정상 이미지의 특징을 파악한다.5 is a flowchart for explaining detailed steps included in step 404 of FIG. 4 . Referring to FIG. 5 , in step 501 , the computing device 100 determines the characteristics of a normal image based on a previous learning performance result.

502 단계에서 컴퓨팅 장치(100)는 정상 이미지의 특징에 기초하여 이미지에 테스트를 수행함으로써 비정상 이미지를 검출한다. 컴퓨팅 장치(100)는 501 단계에서 파악된 정상 이미지의 특징을 각각의 이미지와 비교함으로써 각각의 이미지가 정상 이미지인지 아니면 비정상 이미지인지 판단할 수 있다.In operation 502 , the computing device 100 detects an abnormal image by performing a test on the image based on characteristics of the normal image. The computing device 100 may determine whether each image is a normal image or an abnormal image by comparing the characteristics of the normal image identified in step 501 with each image.

503 단계에서 컴퓨팅 장치(100)는, 502 단계에서 테스트를 수행한 이미지에 대해서 학습을 수행한다. 504 단계에서 컴퓨팅 장치(100)는, 503 단계에서 학습을 수행한 결과에 기초하여 정상 이미지의 특징을 업데이트한다.In step 503 , the computing device 100 performs learning on the image for which the test is performed in step 502 . In step 504 , the computing device 100 updates the characteristic of the normal image based on the result of performing the learning in step 503 .

505 단계에서 컴퓨팅 장치(100)는 다음 이미지가 존재하는지 판단하고, 다음 이미지가 존재한다면 되돌아가 502 단계를 수행하고, 다음 이미지가 존재하지 않는다면 프로세스를 종료한다.In step 505 , the computing device 100 determines whether the next image exists, returns to step 502 if the next image exists, and ends the process if the next image does not exist.

한편, 앞서 설명한 바와 같이 컴퓨팅 장치(100)는 정상 이미지의 특징을 업데이트함에 있어서, 하나의 이미지에 대한 학습이 완료될 때마다 업데이트를 하지 않고 미리 설정된 일정 조건(업데이트 조건)을 만족하는 경우에만 업데이트를 함으로써 실시간으로 학습 결과를 반영하면서도 효율성을 높일 수 있다. 이러한 실시예에 대해서 아래에서 도 6을 참조하여 설명한다.On the other hand, as described above, in updating the characteristics of the normal image, the computing device 100 does not update whenever learning of one image is completed, but only updates when a preset condition (update condition) is satisfied. By doing this, it is possible to increase the efficiency while reflecting the learning results in real time. This embodiment will be described below with reference to FIG. 6 .

도 6은 도 4의 404 단계에 포함되는 세부 단계들을 설명하기 위한 순서도이다. 도 6을 참조하면, 601 단계에서 컴퓨팅 장치(100)는 이전까지의 학습 수행 결과에 기초하여 정상 이미지의 특징을 파악한다.6 is a flowchart illustrating detailed steps included in step 404 of FIG. 4 . Referring to FIG. 6 , in step 601 , the computing device 100 determines the characteristics of a normal image based on the previous learning performance result.

602 단계에서 컴퓨팅 장치(100)는 정상 이미지의 특징에 기초하여 이미지에 테스트를 수행함으로써 비정상 이미지를 검출한다. 컴퓨팅 장치(100)는 601 단계에서 파악된 정상 이미지의 특징을 각각의 이미지와 비교함으로써 각각의 이미지가 정상 이미징인지 아니면 비정상 이미지인지 판단할 수 있다.In operation 602, the computing device 100 detects an abnormal image by performing a test on the image based on the characteristics of the normal image. The computing device 100 may determine whether each image is a normal image or an abnormal image by comparing the characteristics of the normal image identified in step 601 with each image.

603 단계에서 컴퓨팅 장치(100)는, 602 단계에서 테스트를 수행한 이미지에 대해서 학습을 수행한다. 604 단계에서 컴퓨팅 장치(100)는 다음 이미지가 있는지 판단하고, 판단 결과 다음 이미지가 없다면 프로세스를 종료하고, 반대로 다음 이미지가 있다면 605 단계로 진행한다.In step 603 , the computing device 100 performs learning on the image for which the test is performed in step 602 . In step 604 , the computing device 100 determines whether there is a next image, and if there is no next image as a result of the determination, the process is terminated. Conversely, if there is a next image, the computing device 100 proceeds to step 605 .

605 단계에서 컴퓨팅 장치(100)는 미리 설정된 기준(업데이트 기준)을 만족하는지 여부를 판단한다. 자세하게는, 컴퓨팅 장치(100)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 시간을 확인하고, 확인된 시간이 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다. 또는, 컴퓨팅 장치(100)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 이미지의 개수를 확인하고, 확인된 개수가 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다.In operation 605, the computing device 100 determines whether a preset criterion (update criterion) is satisfied. In detail, the computing device 100 checks a time at which learning is performed after a time point at which characterization of a normal image is completed or a time point at which an update on the characteristics of a normal image is completed, and updates if the checked time exceeds a preset value It can be judged that the criteria are satisfied. Alternatively, the computing device 100 checks the number of images for which learning has been performed after the time point at which the characteristic identification of the normal image is completed or the time point at which the update of the characteristic of the normal image is completed, and if the checked number exceeds a preset value It can be determined that the update criteria are satisfied.

605 단계의 판단 결과, 미리 설정된 기준을 만족하지 않는다고 판단되면 컴퓨팅 장치(100)는 돌아가서 602 단계를 다시 수행하고, 반대로 미리 설정된 기준을 만족한다고 판단되면 컴퓨팅 장치(100)는 606 단계로 진행한다.As a result of the determination in step 605 , if it is determined that the preset criterion is not satisfied, the computing device 100 returns and performs step 602 again. Conversely, if it is determined that the preset criterion is satisfied, the computing device 100 proceeds to step 606 .

606 단계에서 컴퓨팅 장치(100)는 정상 이미지의 특징이 마지막으로 업데이트된 이후에 이미지들을 학습한 결과에 기초하여 정상 이미지의 특징을 업데이트한다. 606 단계를 수행한 후 컴퓨팅 장치(100)는 돌아가서 602 단계를 다시 수행한다.In step 606 , the computing device 100 updates the features of the normal image based on the result of learning the images after the features of the normal image were last updated. After performing step 606, the computing device 100 returns and performs step 602 again.

이하에서는 도 7 및 도 8을 참조하여 컴퓨팅 장치(100)가 도 4의 403 단계에서 준비 기준의 만족 여부를 판단하는 구체적인 방법에 대해서 설명한다.Hereinafter, a detailed method in which the computing device 100 determines whether the preparation criterion is satisfied in operation 403 of FIG. 4 will be described with reference to FIGS. 7 and 8 .

도 7을 참조하면, 701 단계에서 컴퓨팅 장치(100)는 현재까지 학습을 수행한 시간을 확인한다. 702 단계에서 컴퓨팅 장치(100)는 확인된 시간이 미리 설정된 값을 초과하는지 여부를 판단하고, 미리 설정된 값을 초과한다면 도 4의 404 단계로 진행하고, 미리 설정된 값 이하라면 도 4의 401 단계를 다시 수행한다.Referring to FIG. 7 , in step 701 , the computing device 100 checks the time for which learning has been performed so far. In step 702, the computing device 100 determines whether the checked time exceeds a preset value, and if it exceeds the preset value, proceeds to step 404 of FIG. 4, and if it is less than or equal to the preset value, step 401 of FIG. do it again

도 8을 참조하면, 801 단계에서 컴퓨팅 장치(100)는 현재까지 학습을 수행한 이미지의 개수를 확인한다. 802 단계에서 컴퓨팅 장치(100)는 확인된 개수가 미리 설정된 값을 초과하는지 여부를 판단하고, 미리 설정된 값을 초과한다면 도 4의 404 단계로 진행하고, 미리 설정된 값 이하라면 도 4의 401 단계를 다시 수행한다.Referring to FIG. 8 , in step 801 , the computing device 100 checks the number of images for which learning has been performed so far. In step 802, the computing device 100 determines whether the checked number exceeds a preset value, and if it exceeds the preset value, proceeds to step 404 of FIG. 4, and if it is less than or equal to the preset value, step 401 of FIG. do it again

이와 같이, 컴퓨팅 장치(100)는 준비 기준을 만족할 때까지는 이미지들에 대해서 학습을 수행함으로써 테스트를 위한 기준을 파악하고, 이후의 이미지들에 대해서는 학습을 수행하는 동시에 이전의 이미지까지의 학습 결과 파악된 테스트 기준에 기초하여 테스트를 수행할 수 있다.In this way, the computing device 100 identifies the standards for the test by performing learning on the images until the preparation criteria are satisfied, and performs learning on the subsequent images and simultaneously grasps the learning results up to the previous image. A test can be performed based on the established test criteria.

이상에서 설명한 실시예들에 따를 경우, 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되 학습 결과를 반영하여 테스트를 수행함으로써, 실시간으로 학습 결과를 반영하여 테스트를 수행할 수 있고, 따라서 환경변화에 적응적으로 반응하여 테스트 정확도를 높이는 효과를 기대할 수 있다.According to the embodiments described above, both learning and testing are performed on a plurality of images, but by performing the test by reflecting the learning result, the test can be performed by reflecting the learning result in real time, and thus the environment change It can be expected to have the effect of increasing the test accuracy by adaptively responding to the

또한, 학습용 이미지를 따로 준비할 필요가 없어 불량품을 촬영한 이미지를 확보하거나 이미지를 분류하는데 드는 시간 및 노력을 감소시킬 수 있다.In addition, since there is no need to separately prepare an image for learning, it is possible to reduce time and effort required to secure an image of a defective product or to classify an image.

이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term '~ unit' used in the above embodiments means software or hardware components such as field programmable gate array (FPGA) or ASIC, and '~ unit' performs certain roles. However, '-part' is not limited to software or hardware. '~unit' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors. Accordingly, as an example, '~' indicates components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.

구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The functions provided in the components and '~ units' may be combined into a smaller number of elements and '~ units' or separated from additional components and '~ units'.

뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, components and '~ units' may be implemented to play one or more CPUs in a device or secure multimedia card.

도 3 내지 도 8을 통해 설명된 실시예들에 따른 기계학습 및 테스트 수행 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.The method for performing machine learning and testing according to the embodiments described with reference to FIGS. 3 to 8 may also be implemented in the form of a computer-readable medium for storing instructions and data executable by a computer. In this case, the instructions and data may be stored in the form of program codes, and when executed by the processor, a predetermined program module may be generated to perform a predetermined operation. In addition, computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may be a computer recording medium, which is a volatile and non-volatile and non-volatile storage medium implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. It may include both volatile, removable and non-removable media. For example, the computer recording medium may be a magnetic storage medium such as HDD and SSD, an optical recording medium such as CD, DVD, and Blu-ray disc, or a memory included in a server accessible through a network.

또한 도 3 내지 도 8을 통해 설명된 실시예들에 따른 기계학습 및 테스트 수행 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.Also, the method for performing machine learning and testing according to the embodiments described with reference to FIGS. 3 to 8 may be implemented as a computer program (or computer program product) including instructions executable by a computer. The computer program includes programmable machine instructions processed by a processor, and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. . In addition, the computer program may be recorded in a tangible computer-readable recording medium (eg, a memory, a hard disk, a magnetic/optical medium, or a solid-state drive (SSD), etc.).

따라서 도 3 내지 도 8을 통해 설명된 실시예들에 따른 기계학습 및 테스트 수행 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.Accordingly, the method for performing machine learning and testing according to the embodiments described with reference to FIGS. 3 to 8 may be implemented by executing the above-described computer program by a computing device. The computing device may include at least a portion of a processor, a memory, a storage device, a high-speed interface connected to the memory and the high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device. Each of these components is connected to each other using various buses, and may be mounted on a common motherboard or in any other suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.Here, the processor may process a command within the computing device, such as, for example, to display graphic information for providing a graphic user interface (GUI) on an external input or output device, such as a display connected to a high-speed interface. Examples are instructions stored in memory or a storage device. In other embodiments, multiple processors and/or multiple buses may be used with multiple memories and types of memory as appropriate. In addition, the processor may be implemented as a chipset formed by chips including a plurality of independent analog and/or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.Memory also stores information within the computing device. As an example, the memory may be configured as a volatile memory unit or a set thereof. As another example, the memory may be configured as a non-volatile memory unit or a set thereof. The memory may also be another form of computer readable medium, such as, for example, a magnetic or optical disk.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.In addition, the storage device may provide a large-capacity storage space to the computing device. A storage device may be a computer-readable medium or a component comprising such a medium, and may include, for example, devices or other components within a storage area network (SAN), a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory, or other semiconductor memory device or device array similar thereto.

상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustration, and those of ordinary skill in the art to which the above-described embodiments pertain can easily transform into other specific forms without changing the technical idea or essential features of the above-described embodiments. you will understand Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected through this specification is indicated by the claims described below rather than the detailed description, and it should be construed to include all changes or modifications derived from the meaning and scope of the claims and their equivalents. .

10: 촬영부 100: 컴퓨팅 장치
110: 입출력부 120: 통신부
130: 제어부 140: 저장부
10: photographing unit 100: computing device
110: input/output unit 120: communication unit
130: control unit 140: storage unit

Claims (14)

복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법에 있어서,
복수의 이미지들을 수신하는 단계; 및
상기 복수의 이미지들 중 적어도 일부에 대해서는 각각의 이미지에 대해서 학습 및 테스트를 모두 수행하되, 테스트를 수행한 특정 이미지에 대해서 학습도 수행하고, 상기 특정 이미지에 대해서 학습을 수행한 결과를 반영하여 다음 이미지에 대한 테스트를 수행하는 단계를 포함하며,
상기 테스트를 수행하는 단계는,
상기 수신한 이미지들에 대해서 하나씩 학습을 수행하면서 미리 설정된 제1 기준을 만족하는지 판단하는 단계; 및
판단 결과 상기 제1 기준을 만족한다면 나머지 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 상기 제1 기준 만족 시까지 수행된 학습 결과 및 나머지 이미지들에 대한 학습 결과를 반영하여 테스트를 수행하는 단계를 포함하고,
상기 제1 기준 만족 시까지 수행된 학습 결과 및 나머지 이미지들에 대한 학습 결과를 반영하여 테스트를 수행하는 단계는,
상기 제1 기준 만족 시까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악하는 단계;
상기 파악한 정상 이미지의 특징에 기초하에 제1 이미지가 정상 이미지인지 여부를 판단하는 단계;
상기 제1 이미지에 대해서 학습을 수행하는 단계;
미리 설정된 제2 기준을 만족하는지 판단하는 단계; 및
판단 결과 상기 제2 기준을 만족한다면 상기 제1 이미지에 대해서 학습을 수행한 결과에 기초하여 상기 정상 이미지의 특징을 업데이트 하고, 판단 결과 상기 제2 기준을 만족하지 않는다면 상기 정상 이미지의 특징에 기초하여 다음 이미지에 대한 테스트 및 학습을 수행하는 단계를 포함하는 것을 특징으로 하는, 방법.
In a method for performing machine learning and testing on a plurality of images,
receiving a plurality of images; and
For at least some of the plurality of images, both learning and testing are performed on each image, but learning is also performed on a specific image that has been tested, and the result of learning on the specific image is reflected performing a test on the image;
The step of performing the test is
determining whether a preset first criterion is satisfied while learning is performed on the received images one by one; and
If the determination result satisfies the first criterion, all of the learning and testing are performed on the remaining images, but the test is performed by reflecting the learning results performed until the first criterion is satisfied and the learning results for the remaining images; including,
The step of performing a test by reflecting the learning results performed until the first criterion is satisfied and the learning results for the remaining images,
identifying a characteristic of a normal image based on a learning result performed until the first criterion is satisfied;
determining whether the first image is a normal image based on the identified characteristics of the normal image;
performing learning on the first image;
determining whether a preset second criterion is satisfied; and
As a result of the determination, if the second criterion is satisfied, the characteristic of the normal image is updated based on a result of performing learning on the first image, and if the determination result does not satisfy the second criterion, based on the characteristic of the normal image A method, comprising: performing testing and learning on the next image.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 제1 기준을 만족하는지 판단하는 단계는,
현재까지 학습을 수행한 시간을 확인하는 단계; 및
상기 확인된 시간이 미리 설정된 시간을 초과하였다면 상기 제1 기준을 만족하는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 1,
The step of determining whether the first criterion is satisfied,
Checking the time of performing the learning so far; and
and determining that the first criterion is satisfied if the checked time exceeds a preset time.
제1항에 있어서,
상기 제1 기준을 만족하는지 판단하는 단계는,
현재까지 학습을 수행한 이미지의 개수를 확인하는 단계; 및
상기 확인된 개수가 미리 설정된 개수를 초과하였다면 상기 제1 기준을 만족하는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 방법.
According to claim 1,
The step of determining whether the first criterion is satisfied,
checking the number of images for which learning has been performed so far; and
and determining that the first criterion is satisfied if the checked number exceeds a preset number.
제1항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium in which a program for performing the method according to claim 1 is recorded. 기계학습 및 테스트를 수행하기 위한 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.A computer program stored in a medium for performing the method according to claim 1 performed by an apparatus for performing machine learning and testing. 기계학습 및 테스트를 수행하기 위한 장치에 있어서,
기계학습 및 테스트와 관련된 조작 및 데이터 입력을 수신하고, 데이터 처리 결과를 표시하기 위한 입출력부;
외부 장치와 데이터 송수신을 위한 통신을 수행하는 통신부;
기계학습 및 테스트 수행을 위한 프로그램이 저장되는 저장부; 및
상기 프로그램을 실행함으로써 복수의 이미지들에 대한 기계학습 및 테스트를 수행하는 제어부를 포함하며,
상기 제어부는, 상기 통신부를 통해 수신하는 복수의 이미지들 중 적어도 일부에 대해서는 각각의 이미지에 대해서 학습 및 테스트를 모두 수행하되, 테스트를 수행한 특정 이미지에 대해서 학습도 수행하고, 상기 특정 이미지에 대해서 학습을 수행한 결과를 반영하여 다음 이미지에 대한 테스트를 수행하며,
상기 제어부는 상기 테스트를 수행함에 있어서,
상기 수신한 이미지들에 대해서 하나씩 학습을 수행하면서 미리 설정된 제1 기준을 만족하는지 판단하고, 판단 결과 상기 제1 기준을 만족한다면 나머지 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 상기 제1 기준 만족 시까지 수행된 학습 결과 및 나머지 이미지들에 대한 학습 결과를 반영하여 테스트를 수행하고,
상기 제어부는 상기 제1 기준 만족 시까지 수행된 학습 결과 및 나머지 이미지들에 대한 학습 결과를 반영하여 테스트를 수행함에 있어서,
상기 제1 기준 만족 시까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악하고, 상기 파악한 정상 이미지의 특징에 기초하여 제1 이미지가 정상 이미지인지 여부를 판단하고, 상기 제1 이미지에 대해서 학습을 수행한 후, 미리 설정된 제2 기준을 만족하는지 판단하여, 판단 결과 상기 제2 기준을 만족한다면 상기 제1 이미지에 대해서 학습을 수행한 결과에 기초하여 상기 정상 이미지의 특징을 업데이트 하고, 판단 결과 상기 제2 기준을 만족하지 않는다면 상기 정상 이미지의 특징에 기초하여 다음 이미지에 대한 테스트 및 학습을 수행하는 것을 특징으로 하는, 장치.
A device for performing machine learning and testing, comprising:
an input/output unit for receiving manipulation and data input related to machine learning and testing, and displaying data processing results;
a communication unit for performing communication for transmitting and receiving data with an external device;
a storage unit in which a program for machine learning and test execution is stored; and
A control unit for performing machine learning and testing on a plurality of images by executing the program,
The control unit performs both learning and testing on each image for at least some of the plurality of images received through the communication unit, but also performs learning on the specific image on which the test is performed, and for the specific image The test is performed on the next image by reflecting the learning result,
In performing the test, the control unit
While learning is performed on the received images one by one, it is determined whether a preset first criterion is satisfied. The test is performed by reflecting the learning results performed up to the time and the learning results for the remaining images,
In performing the test, the control unit reflects the learning results performed until the first criterion is satisfied and the learning results for the remaining images,
Determine the characteristics of the normal image based on the learning result performed until the first criterion is satisfied, determine whether the first image is a normal image based on the identified characteristics of the normal image, and learn about the first image After performing , it is determined whether a preset second criterion is satisfied, and if the determination result satisfies the second criterion, the characteristic of the normal image is updated based on the result of learning the first image, and the result of the determination If the second criterion is not satisfied, testing and learning for the next image are performed based on the characteristics of the normal image.
삭제delete 삭제delete 삭제delete 제9항에 있어서,
상기 제어부는 상기 제1 기준을 만족하는지 판단함에 있어서,
현재까지 학습을 수행한 시간을 확인하고, 상기 확인된 시간이 미리 설정된 시간을 초과하였다면 상기 제1 기준을 만족하는 것으로 판단하는 것을 특징으로 하는 장치.
10. The method of claim 9,
In determining whether the control unit satisfies the first criterion,
The apparatus of claim 1 , wherein a time for which learning has been performed so far is checked, and if the checked time exceeds a preset time, it is determined that the first criterion is satisfied.
제9항에 있어서,
상기 제어부는 상기 제1 기준을 만족하는지 판단함에 있어서,
현재까지 학습을 수행한 이미지의 개수를 확인하고, 상기 확인된 개수가 미리 설정된 개수를 초과하였다면 상기 제1 기준을 만족하는 것으로 판단하는 것을 특징으로 하는 장치.
10. The method of claim 9,
In determining whether the control unit satisfies the first criterion,
Checking the number of images for which learning has been performed so far, and determining that the first criterion is satisfied if the checked number exceeds a preset number.
KR1020190111843A 2019-09-10 2019-09-10 Method and apparatus for performing machine learning and test on plurality of images KR102357729B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190111843A KR102357729B1 (en) 2019-09-10 2019-09-10 Method and apparatus for performing machine learning and test on plurality of images
CN202080041294.6A CN113906471A (en) 2019-09-10 2020-01-07 Method and apparatus for performing machine learning and testing on multiple images
PCT/KR2020/000251 WO2021049721A1 (en) 2019-09-10 2020-01-07 Method and device for performing machine learning and testing on plurality of images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190111843A KR102357729B1 (en) 2019-09-10 2019-09-10 Method and apparatus for performing machine learning and test on plurality of images

Publications (2)

Publication Number Publication Date
KR20210030576A KR20210030576A (en) 2021-03-18
KR102357729B1 true KR102357729B1 (en) 2022-02-03

Family

ID=74866737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190111843A KR102357729B1 (en) 2019-09-10 2019-09-10 Method and apparatus for performing machine learning and test on plurality of images

Country Status (3)

Country Link
KR (1) KR102357729B1 (en)
CN (1) CN113906471A (en)
WO (1) WO2021049721A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299250A (en) 2006-05-01 2007-11-15 Nippon Telegr & Teleph Corp <Ntt> Sequential learning type nonstationary video image detection system, sequential learning type nonstationary video image detection method and program implementing the same
JP2018112996A (en) 2017-01-13 2018-07-19 キヤノン株式会社 Video recognition device, video recognition method and program
JP2019087181A (en) * 2017-11-10 2019-06-06 アズビル株式会社 Device and method for image inspection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100327101B1 (en) * 1999-08-11 2002-03-18 김주환 An automatic teaching method in marking inspection process of a semiconductor packages
US10878286B2 (en) * 2016-02-24 2020-12-29 Nec Corporation Learning device, learning method, and recording medium
KR101842347B1 (en) * 2016-05-04 2018-03-26 두산중공업 주식회사 Plant system, and fault detecting method thereof
JP6897042B2 (en) * 2016-09-27 2021-06-30 日本電気株式会社 Image inspection equipment, image inspection method and image inspection program
KR101838664B1 (en) * 2017-11-28 2018-03-14 서울전선 주식회사 Apparatus for inspecting surface of cable

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299250A (en) 2006-05-01 2007-11-15 Nippon Telegr & Teleph Corp <Ntt> Sequential learning type nonstationary video image detection system, sequential learning type nonstationary video image detection method and program implementing the same
JP2018112996A (en) 2017-01-13 2018-07-19 キヤノン株式会社 Video recognition device, video recognition method and program
JP2019087181A (en) * 2017-11-10 2019-06-06 アズビル株式会社 Device and method for image inspection

Also Published As

Publication number Publication date
WO2021049721A1 (en) 2021-03-18
CN113906471A (en) 2022-01-07
KR20210030576A (en) 2021-03-18

Similar Documents

Publication Publication Date Title
US10803398B2 (en) Apparatus and method for information processing
US20170186144A1 (en) Method, image processing system and computer-readable recording medium for item defect inspection
CN110852983A (en) Method for detecting defects in semiconductor device
US11468261B2 (en) Information processing apparatus, image processing method, and computer-readable recording medium recording image processing program
JP2022002100A (en) Image processing device, image processing method, and program
JP7054436B2 (en) Detection system, information processing device, evaluation method and program
US20180173966A1 (en) Method and device for target detection
US9335936B2 (en) Event based tagging of storage system commands
US20200242415A1 (en) Training method of neural network and classification method based on neural network and device thereof
KR20210117782A (en) Method and system for quality inspection of new product using deep learning
KR20210057518A (en) Apparatus and method for generating a defect image
CN111178446A (en) Target classification model optimization method and device based on neural network
US20150116543A1 (en) Information processing apparatus, information processing method, and storage medium
US20110099150A1 (en) Method for a cloning process to enable cloning a larger System drive to a smaller system
KR102357729B1 (en) Method and apparatus for performing machine learning and test on plurality of images
KR102175289B1 (en) Method and apparatus for performing machine learning on image
KR102427690B1 (en) Apparatus and method for classification based on deep learning
KR102225099B1 (en) Apparatus and method for generating a defect image
CN117173568A (en) Target detection model training method and target detection method
US8692890B2 (en) Testing apparatus and method using same
US11620812B2 (en) Online distillation using frame cache
US20180285125A1 (en) Methods and apparatus to configure parameters of a high-speed input-output interface
US20120072158A1 (en) Test method and system for testing image processor of electronic device
KR20200143957A (en) Method and system for auto training for product inspection
US20160139682A1 (en) Displaying corrected logogram input

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant