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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; 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
본 명세서에서 개시되는 실시예들은 복수의 이미지들에 대해서 기계학습 및 테스트를 수행하기 위한 방법 및 장치에 관한 것이며, 특히 동일한 이미지에 대해서 기계학습과 테스트를 모두 수행하고, 기계학습의 결과를 반영하여 테스트를 수행하기 위한 방법 및 장치에 관한 것이다.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
도 1에 도시된 시스템은 물품(1)들이 양품인지 아니면 불량품인지 여부를 판단하기 위한 머신비전 시스템으로서, 촬영부(10)가 물품(1)에 대한 이미지를 촬영하여 컴퓨팅 장치(100)로 전송하면, 컴퓨팅 장치(100)는 수신한 이미지를 분석함으로써 촬영된 물품(1)이 양품인지 아니면 불량품인지 여부를 판단한다. 이를 위해 컴퓨팅 장치(100)는 수신한 이미지들을 학습(이하에서 ‘기계학습’과 동일한 의미로 사용된다)함으로써 정상 이미지(양품이 촬영된 이미지)와 비정상 이미지(불량품이 촬영된 이미지)의 특징을 파악할 수 있다.The system shown in FIG. 1 is a machine vision system for determining whether the
촬영부(10)는 물품(1)의 외형을 촬영하기 위한 구성으로서 이미지 센서를 포함하는 카메라 등으로 구현될 수 있다. 도 1에서는 촬영부(10)가 컴퓨팅 장치(100)와 서로 분리된 구성인 것으로 도시하였으나, 이와 다르게 촬영부(10)는 컴퓨팅 장치(100)에 포함되는 구성일 수도 있다. 또한, 촬영부(10)는 보다 선명한 이미지를 확보하기 위해 촬영 시 물품(1)에 빛을 비추기 위한 조명을 포함할 수도 있다.The photographing
촬영부(10)는 컨베이어 벨트 등을 통해 이동하는 물품(1)들을 하나씩 촬영하고, 촬영된 이미지들을 컴퓨팅 장치(100)로 전송할 수 있다.The photographing
컴퓨팅 장치(100)는 촬영부(10)로부터 수신한 복수의 이미지들에 대한 기계학습 및 테스트를 수행한다. 컴퓨팅 장치(100)는 물품(1)이 촬영된 이미지를 분석함으로써 이미지에 포함된 물품(1)이 양품인지 아니면 불량품인지 여부를 판단한다.The
특히, 컴퓨팅 장치(100)는 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 학습을 수행한 결과를 반영하여 테스트를 수행함으로써 실시간으로 학습 결과를 테스트에 반영할 수 있다. 즉, 컴퓨팅 장치(100)는 학습용 이미지와 테스트용 이미지를 서로 분리하지 않고, 동일한 이미지에 대해서 학습과 테스트를 모두 수행할 수 있다. 따라서, 학습용 이미지를 따로 준비할 필요가 없어 사용자 편의성이 향상되는 효과를 기대할 수 있다. 또한, 테스트를 수행하면서 동시에 테스트를 수행한 이미지에 대한 학습도 수행하고, 학습을 수행한 결과는 다음 이미지에 대한 테스트 수행 시 반영되므로 조명의 밝기나 위치 등과 같은 주변환경이 변화하더라도 이에 적응적으로 반응하여 테스트 정확도를 높이는 효과를 기대할 수 있다.In particular, the
컴퓨팅 장치(100)가 복수의 이미지들에 대해서 학습 및 테스트를 수행하는 구체적인 방법에 대해서는 아래에서 다른 도면들을 참조하여 설명한다.A specific method for the
도 2는 도 1에 도시된 컴퓨팅 장치(100)의 구성을 설명하기 위한 블록도이다. 도 2를 참조하면, 일 실시예에 따른 컴퓨팅 장치(100)는 입출력부(110), 통신부(120), 제어부(130) 및 저장부(140)를 포함할 수 있다.FIG. 2 is a block diagram illustrating the configuration of the
입출력부(110)는 기계학습 및 테스트 수행과 관련된 설정 등의 입력을 사용자로부터 수신하고, 테스트 결과 등을 출력하기 위한 구성이다. 일 실시예에 따르면, 입출력부(110)는 키보드 및 마우스 등의 입력 장치들을 통해 사용자로부터 설정 입력을 수신하고, 학습 및 테스트를 수행한 결과를 화면에 표시할 수 있다.The input/
통신부(120)는 외부 장치와 데이터 송수신을 위한 통신을 수행하기 위한 구성으로서, 다양한 방식의 유무선 통신을 지원할 수 있다. 예를 들어, 통신부(120)는 촬영부(10)로부터 물품(1)을 촬영한 이미지를 순서대로 수신할 수 있다. 통신부(120)는 다양한 통신 프로토콜을 지원하는 통신 칩셋으로 구현될 수 있다.The
제어부(130)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 컴퓨팅 장치(100)의 전반적인 동작을 제어한다. 특히, 제어부(130)는 저장부(140)에 저장된 프로그램을 실행시킴으로써 복수의 이미지들에 대해 기계학습 및 테스트를 수행할 수 있다. 제어부(130)가 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 구체적인 동작에 대해서는 아래에서 자세히 설명한다.The
저장부(140)에는 다양한 종류의 프로그램 및 데이터가 저장될 수 있다. 특히, 저장부(140)에는 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 프로그램이 저장될 수 있으며, 학습 및 테스트의 대상이 되는 복수의 이미지들도 저장될 수 있다.Various types of programs and data may be stored in the
일 실시예에 따르면, 제어부(130)는 통신부(120)를 통해 수신한 복수의 이미지들에 대해서 학습 및 테스트를 수행하되, 학습을 수행한 결과를 반영하여 테스트를 수행할 수 있다. 이때, 통신부(120)는 물품(1)을 촬영한 이미지를 하나씩 순서대로 촬영부(10)로부터 수신하고, 제어부(130)는 이미지를 수신한 순서대로 하나씩 학습 및 테스트를 수행할 수도 있다.According to an embodiment, the
제어부(130)는 복수의 이미지들 각각에 대해서 하나씩 학습 및 테스트를 수행하되, 이전까지 학습된 결과를 반영하여 다음 이미지에 대한 테스트를 수행할 수 있다. 예를 들어, 제어부(130)는 어느 하나의 이미지(제1 이미지)에 대해서 학습 및 테스트를 수행하면, 해당 이미지(제1 이미지)에 대한 학습 결과를 반영하여 다음 이미지(제2 이미지)에 대한 테스트를 수행한다. 또한, 제어부(130)는 다음 이미지(제2 이미지)에 대해서도 학습을 수행하고, 그 결과를 그 다음 이미지(제3 이미지)에 대한 테스트 수행 시 반영할 수 있다.The
제어부(130)가 이미지에 대해서 테스트를 수행하기 위해서는 테스트를 위한 기준(이하, ‘테스트 기준’이라 한다), 예컨대 정상 이미지(양품이 촬영된 이미지)의 특징 등을 미리 알고 있어야 한다. 이러한 테스트 기준은 저장부(140)에 미리 저장되어 있을 수도 있고, 또는 이미지들에 대해서 학습을 수행하는 과정에서 제어부(130)가 직접 파악하여 저장부(140)에 저장할 수도 있다.In order for the
이하에서는, 제어부(130)가 이미지들에 대해서 학습을 수행하는 과정에서 테스트 기준을 직접 파악하는 실시예에 대해서 설명한다.Hereinafter, an embodiment in which the
제어부(130)는 복수의 이미지들에 대해서 순서대로 하나씩 학습을 수행하기 시작한다. 처음에는 테스트 기준이 준비되지 않았으므로 제어부(130)는 이미지에 대한 학습만을 수행한다. 순서대로 하나씩 이미지에 대한 학습을 수행하다가 미리 설정된 일정 기준(이하, ‘준비 기준’이라 한다)을 만족하게 되면, 제어부(130)는 테스트 기준 설정을 위한 준비가 완료되었다고 판단하고 이후 순서의 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 준비 기준 만족 시까지 수행된 학습 결과 및 이후 순서의 이미지들에 대한 학습 결과를 반영하여 테스트를 수행한다.The
자세하게는, 제어부(130)는 준비 기준이 만족되었다고 판단하면, 준비 기준 만족 시까지 수행한 학습 결과에 기초하여 테스트 기준을 설정하고 이후 순서의 이미지들에 대한 테스트를 수행한다. 이때, 제어부(130)는 이후 순서의 이미지들에 대해서 테스트와 동시에 학습도 수행하면서 그 결과에 기초하여 테스트 기준을 계속해서 업데이트한다. 즉, 제어부(130)는 이후 순서의 이미지들에 대해서 테스트를 수행함에 있어서, 테스트 수행 바로 전까지 수행된 다른 이미지들의 학습 결과를 반영하여 테스트를 수행한다.In detail, if it is determined that the preparation criterion is satisfied, the
제어부(130)가 준비 기준이 만족되었는지 여부를 판단하는 방법은 다음과 같다.A method for the
제어부(130)는 현재까지 학습을 수행한 시간 또는 현재까지 학습을 수행한 이미지의 개수에 기초하여 준비 기준의 만족 여부를 판단할 수 있다. 왜냐하면, 적어도 일정 시간 이상 학습을 수행하거나 적어도 일정 개수 이상의 이미지에 대해서 학습을 수행해야 정상 이미지의 특징 등과 같은 테스트 기준을 파악할 수 있기 때문이다.The
예를 들어, 제어부(130)는 현재까지 학습을 수행한 시간을 확인하고, 확인된 시간이 미리 설정된 값을 초과하였다면 준비 기준을 만족하는 것으로 판단할 수 있다. 또는 예를 들어, 제어부(130)는 현재까지 학습을 수행한 이미지의 개수를 확인하고, 확인된 개수가 미리 설정된 값을 초과하였다면 준비 기준을 만족하는 것으로 판단할 수 있다.For example, the
이 밖에도 제어부(130)는 다양한 방식으로 테스트 기준 설정을 위한 준비가 완료되었는지 여부(준비 기준의 만족 여부)를 판단할 수 있다.In addition, the
준비 기준이 만족된 경우, 제어부(130)가 이후 순서의 이미지들에 대해서 학습 및 테스트를 모두 수행하는 방법은 다음과 같다.When the preparation criterion is satisfied, a method for the
제어부(130)는 준비 기준이 만족되었다고 판단하면, 준비 기준 만족 시까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악하고 이를 테스트 기준으로 설정한다. 여기에서는 테스트 기준이 정상 이미지의 특징인 것으로 예를 들어 설명하지만, 이와 다르게 비정상 이미지의 특징 등이 테스트 기준이 될 수도 있다.If it is determined that the preparation criterion is satisfied, the
제어부(130)는 파악한 정상 이미지의 특징에 기초하여 어느 하나의 이미지(제1 이미지)에 대해서 테스트를 수행한다. 즉, 제어부(130)는 제1 이미지가 정상 이미지인지 아니면 비정상 이미지인지 여부를 판단한다. 제어부(130)는 제1 이미지가 비정상 이미지라고 판단되면 입출력부(110)를 통해 불량품이 검출되었다는 안내를 표시할 수 있다.The
제어부(130)는 제1 이미지에 대해서 테스트뿐만 아니라 학습도 수행한다. 제어부(130)는 제1 이미지에 대해서 학습을 수행한 결과에 기초하여 정상 이미지의 특징을 업데이트 한다. 따라서, 제1 이미지 다음 순서의 이미지(제2 이미지)에 대해서 테스트를 수행할 때 제어부(130)는 제1 이미지에 대한 학습 결과가 반영된 정상 이미지의 특징에 기초하여 제2 이미지가 정상 이미지인지 여부를 판단할 수 있다. 이와 같이, 제어부(130)는 각각의 이미지에 대해서 테스트를 수행하는 동시에 학습을 수행함으로써 테스트 기준을 계속해서 업데이트할 수 있다.The
한편, 위에서는 제어부(130)가 하나의 이미지에 대한 학습을 수행할 때마다 테스트 기준(정상 이미지의 특징)을 업데이트하는 것으로 설명하였는데, 이와 같이 빈번하게 업데이트가 이루어질 경우 처리 속도나 리소스의 활용 측면에서 효율적이지 못할 수 있다. 따라서, 각각의 이미지 마다 테스트 기준을 업데이트하는 대신에, 미리 설정된 일정 기준(이하, ‘업데이트 기준’이라 한다)을 만족하는 경우에만 테스트 기준을 업데이트하도록 할 수도 있다. 이하에서는 이러한 실시예에 대해서 설명한다.Meanwhile, in the above, it has been described that the
제어부(130)는 준비 기준이 만족된다고 판단되면, 이전까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악한다. 여기에서는 테스트 기준이 정상 이미지의 특징인 것으로 예를 들어 설명하지만, 이와 다르게 비정상 이미지의 특징 등이 테스트 기준이 될 수도 있다.When it is determined that the preparation criterion is satisfied, the
제어부(130)는 파악한 정상 이미지의 특징에 기초하여 어느 하나의 이미지(제1 이미지)에 대해서 테스트를 수행한다. 즉, 제어부(130)는 제1 이미지가 정상 이미지인지 아니면 비정상 이미지인지 여부를 판단한다. 제어부(130)는 제1 이미지가 비정상 이미지라고 판단되면 입출력부(110)를 통해 불량품이 검출되었다는 안내를 표시할 수 있다.The
제어부(130)는 제1 이미지에 대해서 테스트뿐만 아니라 학습도 수행한다. 제어부(130)는 제1 이미지에 대한 학습이 완료되면, 미리 설정된 업데이트 기준이 만족되었는지 여부를 판단한다. 자세하게는, 제어부(130)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 시간을 확인하고, 확인된 시간이 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다. 또는, 제어부(130)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 이미지의 개수를 확인하고, 확인된 개수가 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다.The
이와 같이, 제어부(130)는 일정한 기준(업데이트 기준)이 만족되는 경우에만 학습 결과를 반영하여 테스트 기준을 업데이트함으로써 실시간으로 학습 결과를 반영하면서도 효율성을 높일 수 있다.In this way, the
이하에서는 도 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
도 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
302 단계에서 컴퓨팅 장치(100)는 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 학습 결과를 반영하여 테스트를 수행한다. 다시 말해, 컴퓨팅 장치(100)는 복수의 이미지들 각각에 대해서 순서대로 학습과 테스트를 수행하면서, 이전 이미지에 대해서 학습한 결과를 반영하여 다음의 이미지에 대한 테스트를 수행한다.In
도 4는 도 3의 302 단계에 포함되는 세부 단계들을 설명하기 위한 순서도이다. 도 4를 참조하면, 401 단계에서 컴퓨팅 장치(100)는 수신한 복수의 이미지들에 대해서 하나씩 학습을 수행한다.4 is a flowchart for explaining detailed steps included in
402 단계에서 컴퓨팅 장치(100)는 학습할 다음 이미지가 존재하는지 여부를 판단하고, 다음 이미지가 존재하지 않는다면 프로세스를 종료하고, 다음 이미지가 존재한다면 403 단계로 진행한다.In
403 단계에서 컴퓨팅 장치(100)는 미리 설정된 기준(준비 기준)이 만족되었는지 여부를 판단하고, 준비 기준이 만족되지 않았다면 돌아가서 401 단계를 수행하고, 준비 기준이 만족되었다면 404 단계로 진행한다. 여기서 ‘준비 기준’이란 앞서 설명한 바와 같이 테스트를 위한 기준(테스트 기준)을 설정하기 위한 준비가 완료되었는지 여부를 판단하기 위한 기준이다. 즉, 컴퓨팅 장치(100)는 준비 기준을 만족하면 테스트 기준을 설정하기 위한 준비가 완료되었다고 판단한다. 컴퓨팅 장치(100)는 현재까지 학습을 수행한 시간 또는 현재까지 학습을 수행한 이미지의 개수에 기초하여 준비 기준의 만족 여부를 판단하는데, 자세한 프로세스는 아래에서 도 7 및 도 8을 참조하여 설명한다.In
404 단계에서 컴퓨팅 장치(100)는 나머지 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 다른 이미지의 학습 결과를 반영하여 테스트를 수행한다. In
컴퓨팅 장치(100)는 준비 기준이 만족되었다고 판단하면, 이후 순서의 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 준비 기준 만족 시까지 수행된 학습 결과 및 이후 순서의 이미지들에 대한 학습 결과를 반영하여 테스트를 수행한다. 자세하게는, 컴퓨팅 장치(100)는 준비 기준이 만족되었다고 판단하면, 준비 기준 만족 시까지 수행한 학습 결과에 기초하여 테스트 기준을 설정하고 이후 순서의 이미지들에 대한 테스트를 수행한다. 이때, 컴퓨팅 장치(100)는 이후 순서의 이미지들에 대해서 테스트와 동시에 학습도 수행하면서 그 결과에 기초하여 테스트 기준을 계속해서 업데이트한다. 즉, 컴퓨팅 장치(100)는 이후 순서의 이미지들에 대해서 테스트를 수행함에 있어서, 테스트 수행 바로 전까지 수행된 다른 이미지들의 학습 결과를 반영하여 테스트를 수행한다. If the
404 단계에서 컴퓨팅 장치(100)가 다른 이미지의 학습 결과를 반영하여 테스트를 수행하는 구체적인 프로세스에 대해서는 아래에서 도 5 및 도 6을 참조하여 설명한다.A detailed process in which the
도 5은 도 4의 404 단계에 포함되는 세부 단계들을 설명하기 위한 순서도이다. 도 5를 참조하면, 501 단계에서 컴퓨팅 장치(100)는 이전까지의 학습 수행 결과에 기초하여 정상 이미지의 특징을 파악한다.5 is a flowchart for explaining detailed steps included in
502 단계에서 컴퓨팅 장치(100)는 정상 이미지의 특징에 기초하여 이미지에 테스트를 수행함으로써 비정상 이미지를 검출한다. 컴퓨팅 장치(100)는 501 단계에서 파악된 정상 이미지의 특징을 각각의 이미지와 비교함으로써 각각의 이미지가 정상 이미지인지 아니면 비정상 이미지인지 판단할 수 있다.In
503 단계에서 컴퓨팅 장치(100)는, 502 단계에서 테스트를 수행한 이미지에 대해서 학습을 수행한다. 504 단계에서 컴퓨팅 장치(100)는, 503 단계에서 학습을 수행한 결과에 기초하여 정상 이미지의 특징을 업데이트한다.In
505 단계에서 컴퓨팅 장치(100)는 다음 이미지가 존재하는지 판단하고, 다음 이미지가 존재한다면 되돌아가 502 단계를 수행하고, 다음 이미지가 존재하지 않는다면 프로세스를 종료한다.In
한편, 앞서 설명한 바와 같이 컴퓨팅 장치(100)는 정상 이미지의 특징을 업데이트함에 있어서, 하나의 이미지에 대한 학습이 완료될 때마다 업데이트를 하지 않고 미리 설정된 일정 조건(업데이트 조건)을 만족하는 경우에만 업데이트를 함으로써 실시간으로 학습 결과를 반영하면서도 효율성을 높일 수 있다. 이러한 실시예에 대해서 아래에서 도 6을 참조하여 설명한다.On the other hand, as described above, in updating the characteristics of the normal image, the
도 6은 도 4의 404 단계에 포함되는 세부 단계들을 설명하기 위한 순서도이다. 도 6을 참조하면, 601 단계에서 컴퓨팅 장치(100)는 이전까지의 학습 수행 결과에 기초하여 정상 이미지의 특징을 파악한다.6 is a flowchart illustrating detailed steps included in
602 단계에서 컴퓨팅 장치(100)는 정상 이미지의 특징에 기초하여 이미지에 테스트를 수행함으로써 비정상 이미지를 검출한다. 컴퓨팅 장치(100)는 601 단계에서 파악된 정상 이미지의 특징을 각각의 이미지와 비교함으로써 각각의 이미지가 정상 이미징인지 아니면 비정상 이미지인지 판단할 수 있다.In
603 단계에서 컴퓨팅 장치(100)는, 602 단계에서 테스트를 수행한 이미지에 대해서 학습을 수행한다. 604 단계에서 컴퓨팅 장치(100)는 다음 이미지가 있는지 판단하고, 판단 결과 다음 이미지가 없다면 프로세스를 종료하고, 반대로 다음 이미지가 있다면 605 단계로 진행한다.In
605 단계에서 컴퓨팅 장치(100)는 미리 설정된 기준(업데이트 기준)을 만족하는지 여부를 판단한다. 자세하게는, 컴퓨팅 장치(100)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 시간을 확인하고, 확인된 시간이 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다. 또는, 컴퓨팅 장치(100)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 이미지의 개수를 확인하고, 확인된 개수가 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다.In
605 단계의 판단 결과, 미리 설정된 기준을 만족하지 않는다고 판단되면 컴퓨팅 장치(100)는 돌아가서 602 단계를 다시 수행하고, 반대로 미리 설정된 기준을 만족한다고 판단되면 컴퓨팅 장치(100)는 606 단계로 진행한다.As a result of the determination in
606 단계에서 컴퓨팅 장치(100)는 정상 이미지의 특징이 마지막으로 업데이트된 이후에 이미지들을 학습한 결과에 기초하여 정상 이미지의 특징을 업데이트한다. 606 단계를 수행한 후 컴퓨팅 장치(100)는 돌아가서 602 단계를 다시 수행한다.In
이하에서는 도 7 및 도 8을 참조하여 컴퓨팅 장치(100)가 도 4의 403 단계에서 준비 기준의 만족 여부를 판단하는 구체적인 방법에 대해서 설명한다.Hereinafter, a detailed method in which the
도 7을 참조하면, 701 단계에서 컴퓨팅 장치(100)는 현재까지 학습을 수행한 시간을 확인한다. 702 단계에서 컴퓨팅 장치(100)는 확인된 시간이 미리 설정된 값을 초과하는지 여부를 판단하고, 미리 설정된 값을 초과한다면 도 4의 404 단계로 진행하고, 미리 설정된 값 이하라면 도 4의 401 단계를 다시 수행한다.Referring to FIG. 7 , in
도 8을 참조하면, 801 단계에서 컴퓨팅 장치(100)는 현재까지 학습을 수행한 이미지의 개수를 확인한다. 802 단계에서 컴퓨팅 장치(100)는 확인된 개수가 미리 설정된 값을 초과하는지 여부를 판단하고, 미리 설정된 값을 초과한다면 도 4의 404 단계로 진행하고, 미리 설정된 값 이하라면 도 4의 401 단계를 다시 수행한다.Referring to FIG. 8 , in
이와 같이, 컴퓨팅 장치(100)는 준비 기준을 만족할 때까지는 이미지들에 대해서 학습을 수행함으로써 테스트를 위한 기준을 파악하고, 이후의 이미지들에 대해서는 학습을 수행하는 동시에 이전의 이미지까지의 학습 결과 파악된 테스트 기준에 기초하여 테스트를 수행할 수 있다.In this way, the
이상에서 설명한 실시예들에 따를 경우, 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되 학습 결과를 반영하여 테스트를 수행함으로써, 실시간으로 학습 결과를 반영하여 테스트를 수행할 수 있고, 따라서 환경변화에 적응적으로 반응하여 테스트 정확도를 높이는 효과를 기대할 수 있다.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.
상기 제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 기준을 만족하는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 방법.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 기준을 만족하는지 판단하고, 판단 결과 상기 제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.
상기 제어부는 상기 제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.
상기 제어부는 상기 제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.
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)
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)
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 |
-
2019
- 2019-09-10 KR KR1020190111843A patent/KR102357729B1/en active IP Right Grant
-
2020
- 2020-01-07 CN CN202080041294.6A patent/CN113906471A/en active Pending
- 2020-01-07 WO PCT/KR2020/000251 patent/WO2021049721A1/en active Application Filing
Patent Citations (3)
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 |