WO2021049721A1 - Method and device for performing machine learning and testing on plurality of images - Google Patents

Method and device for performing machine learning and testing on plurality of images Download PDF

Info

Publication number
WO2021049721A1
WO2021049721A1 PCT/KR2020/000251 KR2020000251W WO2021049721A1 WO 2021049721 A1 WO2021049721 A1 WO 2021049721A1 KR 2020000251 W KR2020000251 W KR 2020000251W WO 2021049721 A1 WO2021049721 A1 WO 2021049721A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
criterion
image
images
satisfied
Prior art date
Application number
PCT/KR2020/000251
Other languages
French (fr)
Korean (ko)
Inventor
추연학
정재호
박주영
Original Assignee
라온피플 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라온피플 주식회사 filed Critical 라온피플 주식회사
Priority to CN202080041294.6A priority Critical patent/CN113906471A/en
Publication of WO2021049721A1 publication Critical patent/WO2021049721A1/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

Definitions

  • the embodiments disclosed herein relate to a method and apparatus for performing machine learning and testing on a plurality of images, and 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 a test.
  • Machine learning needs to be performed on. For example, machine learning may be performed on a plurality of images photographing good or defective products, or machine learning may be performed on a plurality of images photographing various types of goods.
  • learning is first performed using images separately prepared for training in order to perform a test to distinguish between good and defective products through photographed images. For example, by performing learning on a plurality of images of good or defective products, after grasping the characteristics of images of good or defective products, testing the image of the goods to determine whether the goods are good or not It is a method of determining whether the product is defective.
  • the accuracy of the test result is degraded if there is a change in the environment, such as a change in the brightness or position of the light illuminating the article after learning.
  • Korean Patent Registration No. 10-1867475 discloses a description of clustering similar models by performing unsupervised learning on static data using an autoencoder.
  • the above-described background technology is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and is not necessarily a known technology disclosed to the general public before filing the present invention. .
  • Embodiments disclosed herein are to provide a machine learning and test execution method and apparatus for increasing test accuracy by reflecting a learning result in real time by performing both machine learning and testing on a plurality of images.
  • both learning and testing are performed on a plurality of images, but the test is performed by reflecting the results of learning.
  • any one of the above-described task solving means it is possible to perform a test by reflecting the learning result in real time by performing both learning and testing on a plurality of images but reflecting the learning result, and thus, the environment It can be expected to increase test accuracy by adaptively responding to changes.
  • FIG. 1 is a diagram illustrating a system for performing machine learning and testing on a plurality of images according to an exemplary embodiment.
  • FIG. 2 is a block diagram illustrating a configuration of the computing device illustrated in FIG. 1.
  • 3 to 8 are flowcharts illustrating a method for performing machine learning and testing on a plurality of images according to embodiments.
  • a method of performing machine learning and testing on a plurality of images includes the steps of receiving a plurality of images, and learning and learning about the plurality of images. Performing all tests, but may include performing the test by reflecting the result of performing the learning.
  • 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.
  • 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 are performed 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 the result of performing the learning.
  • an apparatus for performing machine learning and testing includes an input/output unit for receiving operation and data input related to machine learning and testing, displaying data processing results, and communication for transmitting and receiving data with an external device. And a communication unit for performing machine learning and a storage unit for storing a program for performing the test, and a control unit for performing machine learning and testing on a plurality of images by executing the program, wherein the control unit includes: Both learning and testing may be performed on a plurality of images to be received, but the test may be performed by reflecting the result of performing the learning.
  • a system for performing machine learning and testing on a plurality of images according to an exemplary embodiment may include a photographing unit 10 and a computing device 100.
  • the system shown in FIG. 1 is a machine vision system for determining whether articles 1 are good or defective, and 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 good or defective by analyzing the received image. To this end, the computing device 100 learns the received images (hereinafter, it is used in the same meaning as'machine learning') to determine the characteristics of a normal image (an image in which a good product was photographed) and an abnormal image (an image in which a defective product was photographed). I can grasp it.
  • the photographing unit 10 is a component for photographing the appearance of the article 1 and may be implemented as a camera including an image sensor.
  • the photographing unit 10 is illustrated as being a separate component from the computing device 100, but differently, the photographing unit 10 may be a component included in the computing device 100.
  • the photographing unit 10 may include an illumination for illuminating the article 1 when photographing in order to secure a clearer image.
  • the photographing unit 10 may photograph items 1 moving through a conveyor belt or the like one by one and transmit the photographed images to the computing device 100.
  • the computing device 100 performs machine learning and tests on a plurality of images received from the photographing unit 10.
  • the computing device 100 determines whether the product 1 included in the image is a good product or a defective product by analyzing the image in which the product 1 is photographed.
  • the computing device 100 performs both learning and testing on a plurality of images, but by reflecting the learning result and performing the test, the learning result may be reflected in the test in real time. 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, it is not necessary to separately prepare an image for learning, so an effect of improving user convenience can be expected.
  • the test is performed while learning the image that has been tested at the same time, and the result of the learning is reflected when the test is performed on the next image, so even if the surrounding environment such as the brightness or location of the light changes, it is adaptively. In response, it can be expected to increase test accuracy.
  • FIG. 2 is a block diagram illustrating the configuration of the computing device 100 illustrated in FIG. 1.
  • the computing device 100 may include an input/output unit 110, a communication unit 120, a control unit 130, and a storage unit 140.
  • the input/output unit 110 is a component for receiving inputs such as settings related to machine learning and test performance from a user, and outputting a test result. 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 results of learning and testing on a screen.
  • the communication unit 120 is a component for performing communication for transmitting and receiving data with an external device, and may support various types of wired/wireless communication. For example, the communication unit 120 may sequentially receive images photographed of the article 1 from the photographing unit 10.
  • the communication unit 120 may be implemented as a communication chipset supporting various communication protocols.
  • the controller 130 is a component including at least one processor such as a CPU, and controls the overall operation of the computing device 100.
  • the control unit 130 may perform machine learning and testing on a plurality of images by executing a program stored in the storage unit 140. A detailed operation of the controller 130 performing machine learning and testing on a plurality of images will be described in detail below.
  • Various types of programs and data may be stored in the storage unit 140.
  • a program for performing machine learning and testing on a plurality of images may be stored in the storage unit 140, and a plurality of images to be learned and tested may also be stored.
  • the controller 130 may learn and test a plurality of images received through the communication unit 120, but may perform a test by reflecting a result of performing the learning.
  • the communication unit 120 may receive images photographed by the article 1 one by one from the photographing unit 10 in order, and the controller 130 may perform learning and testing one by one in the order in which the images were received.
  • the controller 130 may learn and test each of the plurality of images one by one, but may perform a test on the next image by reflecting the results learned before. For example, when learning and testing on any one image (first image), the controller 130 reflects the learning result for the corresponding image (first image), Perform the test. In addition, the controller 130 may perform learning on the next image (second image) and reflect the result when performing a test on the next image (third image).
  • test criteria for example, characteristics of a normal image (an image in which a good product was photographed).
  • test criteria may be pre-stored in the storage unit 140, or the control unit 130 may directly grasp and store them in the storage unit 140 in the process of learning the images.
  • control unit 130 directly grasps the test criterion in the process of learning the images.
  • the controller 130 starts learning one by one for a plurality of images in order. Initially, since the test criterion was not prepared, the controller 130 only learns the image. When learning is performed on images one by one in order, and when a preset certain criterion (hereinafter, referred to as'preparation criterion') is satisfied, the controller 130 determines that preparation for setting the test criterion is completed, and the subsequent images Regarding, both learning and testing are performed, but the test is performed by reflecting the learning results performed until the preparation criteria are satisfied and the learning results of the images in subsequent steps.
  • a preset certain criterion hereinafter, referred to as'preparation criterion'
  • the controller 130 sets a test criterion based on the learning result performed until the preparation criterion is satisfied, and then performs a test on the subsequent images.
  • the control unit 130 continuously updates the test criteria based on the result while simultaneously performing the test and learning on the subsequent images. That is, in performing a test on images in a subsequent sequence, the controller 130 performs the test by reflecting the learning results of other images performed just before the test execution.
  • a method for the controller 130 to determine whether the preparation criterion is satisfied is as follows.
  • the controller 130 may determine whether or not the preparation criterion is satisfied based on the time at which learning has been performed to the present or the number of images that have been trained to date. This is because test criteria such as characteristics of normal images can be grasped only when learning is performed for at least a predetermined time or on at least a predetermined number of images.
  • control unit 130 may check the time at which learning has been performed so far, and determine that the preparation criterion is satisfied if the checked time exceeds a preset value.
  • controller 130 may check the number of images that have been trained so far, and determine that the preparation criterion is satisfied if the confirmed number exceeds a preset value.
  • controller 130 may determine whether preparations for setting the test criteria are completed in various ways (whether the preparation criteria are 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 this as a test criterion.
  • the test criterion is described as an example as a characteristic of a normal image, but differently, the characteristic of an abnormal image may be a test criterion.
  • the controller 130 performs a test on any one image (first image) on the basis of 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.
  • the controller 130 performs learning as well as testing 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 a sequence following the first image, the controller 130 determines whether the second image is a normal image based on the characteristics of the normal image in 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 on each image and learning at the same time.
  • the control unit 130 updates the test criterion (characteristic of a normal image) every time it learns about one image. May not be efficient at Therefore, instead of updating the test criterion for each image, the test criterion may be updated only when a preset certain criterion (hereinafter, referred to as “update criterion”) is satisfied.
  • update criterion a preset certain criterion
  • the controller 130 determines the characteristics of the normal image based on the previously performed learning result.
  • the test criterion is described as an example as a characteristic of a normal image, but differently, the characteristic of an abnormal image may be a test criterion.
  • the controller 130 performs a test on any one image (first image) on the basis of 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.
  • the controller 130 performs learning as well as testing on the first image.
  • the controller 130 determines whether or not a preset update criterion is satisfied.
  • the controller 130 checks the time when the feature of the normal image has been identified or the time when the feature of the normal image has been updated has been completed, and if the time has exceeded a preset value, the update criterion It can be judged as satisfying.
  • the controller 130 checks the number of images that have been trained after the time when the feature of the normal image has been identified or the time when the feature of the normal image has been updated is completed, and if the confirmed number exceeds a preset value, it is updated. It can be determined that the criteria are satisfied.
  • the controller 130 reflects the learning result and updates the test criterion only when a certain criterion (update criterion) is satisfied, thereby reflecting the learning result in real time and increasing efficiency.
  • the method of performing machine learning and testing according to the embodiments illustrated in FIGS. 3 to 8 includes steps processed in a time series by the computing device 100 illustrated in FIGS. 1 and 2. Therefore, even though the contents are omitted below, the contents described above with respect to the computing device 100 shown in FIGS. 1 and 2 are also included in the method of performing machine learning and testing according to the embodiments shown in FIGS. 3 to 8. Can be applied.
  • FIG. 3 is a flowchart illustrating a method for performing machine learning and testing on a plurality of images according to an exemplary embodiment.
  • the computing device 100 receives a plurality of images.
  • 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.
  • step 302 the computing device 100 performs both learning and testing on a plurality of images, but performs a test by reflecting the learning result.
  • the computing device 100 performs learning and testing on each of the plurality of images in order, reflecting the result of learning on the previous image, and performs a test on the next image.
  • step 401 the computing device 100 learns a plurality of received images one by one.
  • step 402 the computing device 100 determines whether the 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.
  • step 403 the computing device 100 determines whether a predetermined criterion (preparation criterion) is satisfied, and if the preparatory criterion is not satisfied, returns to step 401, and if the preparatory criterion is satisfied, the computing device 100 proceeds to step 404.
  • the'preparation criterion' is a criterion for determining whether preparation for setting a criterion (test criterion) for testing 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 completed.
  • the computing device 100 determines whether or not the preparation criterion is satisfied based on the time at which the training has been performed to the present or the number of images that have been trained to date, a detailed process will be described with reference to FIGS. 7 and 8 below. .
  • step 404 the computing device 100 performs both learning and testing on the remaining images, but performs a test by reflecting the learning results of other images.
  • the computing device 100 When it is determined that the preparation criterion is satisfied, the computing device 100 performs both learning and testing for the subsequent images, but reflects the learning result performed until the preparation criterion is satisfied and the learning results for the subsequent images. 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 a learning result performed until the preparation criterion is satisfied, and then performs tests on images in a subsequent sequence. In this case, the computing device 100 continuously updates the test criteria based on the result while simultaneously performing the test and learning on the subsequent images. That is, when the computing device 100 performs a test on images in a subsequent sequence, the computing device 100 performs the test by reflecting the learning results of other images performed just before the test.
  • step 501 the computing device 100 identifies features of a normal image based on a result of performing previous learning.
  • 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 features of the normal image identified in step 501 with each image.
  • step 503 the computing device 100 performs learning on the image tested in step 502.
  • step 504 the computing device 100 updates the features of the normal image based on the result of performing the learning in step 503.
  • step 505 the computing device 100 determines whether the next image exists, returns to step 502 if the next image exists, and terminates the process if the next image does not exist.
  • the computing device 100 does not update each time learning of one image is completed, and only updates when a predetermined condition (update condition) is satisfied. By doing so, it is possible to increase the efficiency while reflecting the learning result in real time. This embodiment will be described with reference to FIG. 6 below.
  • step 601 the computing device 100 identifies features of a normal image based on a result of performing previous learning.
  • the computing device 100 detects an abnormal image by performing a test on the image based on features of the normal image.
  • the computing device 100 may determine whether each image is a normal image or an abnormal image by comparing the features of the normal image identified in step 601 with each image.
  • step 603 the computing device 100 learns the image that has been tested in step 602.
  • 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 ends. Conversely, if there is a next image, the process proceeds to step 605.
  • step 605 the computing device 100 determines whether or not a preset criterion (update criterion) is satisfied.
  • the computing device 100 checks the time at which the learning was performed after the time when the feature of the normal image was completed or the time when the update of the feature of the normal image was completed, and if the checked time exceeds a preset value, it is updated. It can be determined that the criteria are satisfied.
  • the computing device 100 checks the number of images that have been trained after the time when the feature identification of the normal image has been completed or the time when the update of the features of the normal image is completed, and if the confirmed number exceeds a preset value, It can be determined that the update criteria are satisfied.
  • step 605 if it is determined that the preset criterion is not satisfied, the computing device 100 returns to and performs step 602 again. Conversely, if it is determined that the preset criterion is satisfied, the computing device 100 proceeds to step 606.
  • step 606 the computing device 100 updates the features of the normal image based on the results of learning the images after the features of the normal image are last updated. After performing step 606, the computing device 100 returns and performs step 602 again.
  • step 701 the computing device 100 checks the time at which learning has been performed.
  • 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 the preset value, step 401 of FIG. Do it again.
  • step 801 the computing device 100 checks the number of images that have been trained so far.
  • step 802 the computing device 100 determines whether the confirmed 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 the preset value, step 401 of FIG. 4 Do it again.
  • the computing device 100 learns the images until the preparation criterion is satisfied, thereby grasping the criteria for testing, and learning the subsequent images and at the same time grasping the learning results up to the previous image.
  • the test can be performed based on the established test criteria.
  • the term' ⁇ unit' used in the above embodiments refers to 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.
  • The' ⁇ unit' may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors.
  • ' ⁇ unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , Subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables.
  • the components and functions provided within the' ⁇ units' may be combined into a smaller number of elements and' ⁇ units', or may be separated from the additional elements and' ⁇ units'.
  • components and' ⁇ units' may be implemented to play one or more CPUs in a device or a security multimedia card.
  • the method of 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 that stores instructions and data executable by a computer.
  • the instructions and data may be stored in the form of a program code, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation.
  • the computer-readable medium may be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media.
  • the computer-readable medium may be a computer recording medium, which is volatile and non-volatile implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.
  • 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 disk, or a memory included in a server accessible through a network.
  • the method of 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.
  • the computer program may be recorded on a tangible computer-readable recording medium (eg, a memory, a hard disk, a magnetic/optical medium or a solid-state drive (SSD), etc.).
  • the method of performing machine learning and testing according to the embodiments described with reference to FIGS. 3 to 8 may be implemented by executing the computer program as described above by the computing device.
  • the computing device may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device.
  • a processor may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a 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 a variety of buses, and can be mounted on a common motherboard or in other suitable manner.
  • the processor can process commands within the computing device.
  • commands include, for example, to display graphic information for providing a GUI (Graphic User Interface) on an external input or output device, such as a display connected to a high-speed interface.
  • GUI Graphic User Interface
  • multiple processors and/or multiple buses may be used with multiple memories and memory types as appropriate.
  • the processor may be implemented as a chipset formed by chips including a plurality of independent analog and/or digital processors.
  • the memory also stores information within the computing device.
  • the memory may be composed of volatile memory units or a set of them.
  • the memory may be composed of a nonvolatile memory unit or a set of them.
  • the memory may be another type of computer-readable medium such as a magnetic or optical disk.
  • the storage device may provide a large-capacity storage space to the computing device.
  • the storage device may be a computer-readable medium or a configuration including such a medium, for example, devices in a storage area network (SAN) or other configurations, a floppy disk device, a hard disk device, an optical disk device, Alternatively, it may be a tape device, a flash memory, or another semiconductor memory device or device array similar thereto.
  • SAN storage area network
  • floppy disk device a hard disk device
  • optical disk device Alternatively, it may be a tape device, a flash memory, or another semiconductor memory device or device array similar thereto.

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 for performing machine learning and testing on a plurality of images comprises: a step for receiving a plurality of images; and a step for performing both learning and testing on the plurality of images, wherein the testing is performed by reflecting the result of performing the learning.

Description

복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 방법 및 장치Method and apparatus for performing machine learning and testing on a plurality of images
본 명세서에서 개시되는 실시예들은 복수의 이미지들에 대해서 기계학습 및 테스트를 수행하기 위한 방법 및 장치에 관한 것이며, 특히 동일한 이미지에 대해서 기계학습과 테스트를 모두 수행하고, 기계학습의 결과를 반영하여 테스트를 수행하기 위한 방법 및 장치에 관한 것이다.The embodiments disclosed herein relate to a method and apparatus for performing machine learning and testing on a plurality of images, and 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 a test.
2019년 과제정보 및 사사표기2019 project information and resignation
1. 과제고유번호: 17110944831. Assignment identification number: 1711094483
2. 사사표기: 본 연구는 과학기술정보통신부와 정보통신기술진흥센터의 글로벌SW전문기업육성사업의 연구결과로 수행되었음(IITP-2019-0-01423-001).2. Remarks: This study was conducted as a result of the research of the Ministry of Science and ICT and the Center for Promotion of Information and Communication Technology (IITP-2019-0-01423-001).
최근 AI 기술이 머신비전(machine vision) 분야에 활용되면서 공장 자동화에 큰 기여를 하고 있다. 그런데, AI 기술을 머신비전 분야에 활용하기 위해서는 제품상 결함의 존재 및 정도를 판단하거나 물품의 종류를 판단하기 위한 기준이 필요하고, 이러한 기준을 설정하기 위해 미리 물품을 촬영한 복수의 이미지들에 대해 기계학습(machine learning)을 수행해야 한다. 예를 들어, 양품 또는 불량품을 촬영한 복수의 이미지들에 대해 기계학습을 수행하거나, 또는 다양한 종류의 물품을 촬영한 복수의 이미지들에 대해 기계학습을 수행할 수 있다.Recently, AI technology has been used in the field of machine vision, making a great contribution 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 the product or to determine the type of product. Machine learning needs to be performed on. For example, machine learning may be performed on a plurality of images photographing good or defective products, or machine learning may be performed on a plurality of images photographing various types of goods.
일반적으로 사용되는 머신비전 기술에서는 촬영 이미지를 통해 양품과 불량품을 구분하는 테스트(test)를 수행하기 위해 훈련(training)용으로 별도로 준비된 이미지들을 이용하여 학습(learning)을 먼저 수행한다. 예를 들어, 양품 또는 불량품을 촬영한 복수의 이미지들에 대해서 학습을 수행함으로써 양품을 촬영한 이미지 또는 불량품을 촬영한 이미지의 특징을 파악한 후, 물품을 촬영한 이미지를 테스트하여 물품이 양품인지 아니면 불량품인지를 판단하는 방식이다.In a commonly used machine vision technology, learning is first performed using images separately prepared for training in order to perform a test to distinguish between good and defective products through photographed images. For example, by performing learning on a plurality of images of good or defective products, after grasping the characteristics of images of good or defective products, testing the image of the goods to determine whether the goods are good or not It is a method of determining whether the product is defective.
그런데, 이와 같이 학습과 테스트를 분리하여 실행하는 기존 방식의 경우 다음과 같은 문제점이 존재한다.However, in the case of the existing method of separating learning and testing as described above, the following problems exist.
첫째로, 불량품의 발생 비율이 극히 낮은 생산공정의 특징상 불량품을 촬영한 이미지를 확보하기가 쉽지 않을 뿐 아니라, 학습 수행 전 복수의 이미지들을 양품에 대한 이미지와 불량품에 대한 이미지로 분류하는 작업을 따로 수행해야 해 시간과 노력이 소요된다.First, not only is it not easy to secure images of defective products due to the characteristics of the production process where the rate of occurrence of defective products is extremely low, and the task of classifying multiple images into images of good products and images of defective products before the learning is performed. It must be done separately, which takes time and effort.
둘째로, 한 번의 학습 수행 결과에 기초하여 테스트를 수행하므로 학습 후 물품을 비추는 조명의 밝기나 위치가 달라지는 등의 환경변화가 생길 경우 테스트 결과의 정확도가 떨어지게 된다.Second, since the test is performed based on the result of one-time learning, the accuracy of the test result is degraded if there is a change in the environment, such as a change in the brightness or position of the light illuminating the article after learning.
관련하여 선행기술 문헌인 한국등록특허 제10-1867475호에는 정적자료(static data)에 대하여 오토인코더를 이용하여 비지도 학습을 수행함으로써 유사한 모델들을 클러스터링하는 내용이 개시되어 있다.In a related art document, Korean Patent Registration No. 10-1867475 discloses a description of clustering similar models by performing unsupervised learning on static data using an autoencoder.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-described background technology is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and is not necessarily a known technology disclosed to the general public before filing the present invention. .
본 명세서에서 개시되는 실시예들은, 복수의 이미지들에 대해서 기계학습 및 테스트를 모두 수행함으로써 실시간으로 학습 결과를 반영하여 테스트 정확도를 높이기 위한 기계학습 및 테스트 수행 방법 및 장치를 제공하기 위한 것이다.Embodiments disclosed herein are to provide a machine learning and test execution method and apparatus for increasing test accuracy by reflecting a learning result in real time by performing both machine learning and testing on a plurality of images.
기계학습 및 테스트의 정확도를 높이기 위해, 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 학습을 수행한 결과를 반영하여 테스트를 수행하도록 한다.In order to increase the accuracy of machine learning and testing, both learning and testing are performed on a plurality of images, but the test is performed by reflecting the results of learning.
전술한 과제 해결 수단 중 어느 하나에 의하면, 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되 학습 결과를 반영하여 테스트를 수행함으로써, 실시간으로 학습 결과를 반영하여 테스트를 수행할 수 있고, 따라서 환경변화에 적응적으로 반응하여 테스트 정확도를 높이는 효과를 기대할 수 있다.According to any one of the above-described task solving means, it is possible to perform a test by reflecting the learning result in real time by performing both learning and testing on a plurality of images but reflecting the learning result, 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 prepare separate images for training, it is possible to reduce the time and effort required to secure images of defective products or classify images.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained in the disclosed embodiments are not limited to the above-mentioned effects, and other effects not mentioned are obvious to those of ordinary skill in the art to which the embodiments disclosed from the following description belong. It will be understandable.
도 1은 일 실시예에 따른 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 시스템을 도시한 도면이다.1 is a diagram illustrating a system for performing machine learning and testing on a plurality of images according to an exemplary embodiment.
도 2는 도 1에 도시된 컴퓨팅 장치의 구성을 설명하기 위한 블록도이다.FIG. 2 is a block diagram illustrating a configuration of the computing device illustrated in FIG. 1.
도 3 내지 도 8은 실시예들에 따른 복수의 이미지들에 대해 기계학습 및 테스트를 수행하기 위한 방법을 설명하기 위한 순서도들이다.3 to 8 are flowcharts illustrating a method for performing machine learning and testing on a plurality of images according to embodiments.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 일 실시예에 따르면, 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법은, 복수의 이미지들을 수신하는 단계 및 상기 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행하는 단계를 포함할 수 있다.According to an embodiment as a technical means for achieving the above-described technical problem, a method of performing machine learning and testing on a plurality of images includes the steps of receiving a plurality of images, and learning and learning about the plurality of images. Performing all tests, but 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 are performed 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 the result of performing the learning.
또 다른 실시예에 따르면, 기계학습 및 테스트를 수행하기 위한 장치는, 기계학습 및 테스트와 관련된 조작 및 데이터 입력을 수신하고, 데이터 처리 결과를 표시하기 위한 입출력부, 외부 장치와 데이터 송수신을 위한 통신을 수행하는 통신부, 기계학습 및 테스트 수행을 위한 프로그램이 저장되는 저장부 및 상기 프로그램을 실행함으로써 복수의 이미지들에 대한 기계학습 및 테스트를 수행하는 제어부를 포함하며, 상기 제어부는, 상기 통신부를 통해 수신하는 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행할 수 있다.According to another embodiment, an apparatus for performing machine learning and testing includes an input/output unit for receiving operation and data input related to machine learning and testing, displaying data processing results, and communication for transmitting and receiving data with an external device. And a communication unit for performing machine learning and a storage unit for storing a program for performing the test, and a control unit for performing machine learning and testing on a plurality of images by executing the program, wherein the control unit includes: Both learning and testing may be performed on a plurality of images to be received, but the test may be performed by reflecting the result of performing the learning.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.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 features of the embodiments, detailed descriptions of matters widely known to those of ordinary skill in the art to which the following embodiments pertain are omitted. In addition, parts not related to the description of the embodiments are omitted in the drawings, 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, this includes not only the case where it is'directly connected' but also the case where it is'connected with another component in the middle.' In addition, when a certain configuration "includes" a certain configuration, it means that other configurations may be further included rather than excluding other configurations unless otherwise specified.
도 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 exemplary embodiment. Referring to FIG. 1, a system for performing machine learning and testing on a plurality of images according to an exemplary 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 articles 1 are good or defective, and 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 good or defective by analyzing the received image. To this end, the computing device 100 learns the received images (hereinafter, it is used in the same meaning as'machine learning') to determine the characteristics of a normal image (an image in which a good product was photographed) and an abnormal image (an image in which a defective product was photographed). I can grasp it.
촬영부(10)는 물품(1)의 외형을 촬영하기 위한 구성으로서 이미지 센서를 포함하는 카메라 등으로 구현될 수 있다. 도 1에서는 촬영부(10)가 컴퓨팅 장치(100)와 서로 분리된 구성인 것으로 도시하였으나, 이와 다르게 촬영부(10)는 컴퓨팅 장치(100)에 포함되는 구성일 수도 있다. 또한, 촬영부(10)는 보다 선명한 이미지를 확보하기 위해 촬영 시 물품(1)에 빛을 비추기 위한 조명을 포함할 수도 있다.The photographing unit 10 is a component for photographing the 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 a separate component from the computing device 100, but differently, the photographing unit 10 may be a component included in the computing device 100. In addition, the photographing unit 10 may include an illumination for illuminating the article 1 when photographing in order to secure a clearer image.
촬영부(10)는 컨베이어 벨트 등을 통해 이동하는 물품(1)들을 하나씩 촬영하고, 촬영된 이미지들을 컴퓨팅 장치(100)로 전송할 수 있다.The photographing unit 10 may photograph items 1 moving through a conveyor belt or the like 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 tests on a plurality of images received from the photographing unit 10. The computing device 100 determines whether the product 1 included in the image is a good product or a defective product by analyzing the image in which the product 1 is photographed.
특히, 컴퓨팅 장치(100)는 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 학습을 수행한 결과를 반영하여 테스트를 수행함으로써 실시간으로 학습 결과를 테스트에 반영할 수 있다. 즉, 컴퓨팅 장치(100)는 학습용 이미지와 테스트용 이미지를 서로 분리하지 않고, 동일한 이미지에 대해서 학습과 테스트를 모두 수행할 수 있다. 따라서, 학습용 이미지를 따로 준비할 필요가 없어 사용자 편의성이 향상되는 효과를 기대할 수 있다. 또한, 테스트를 수행하면서 동시에 테스트를 수행한 이미지에 대한 학습도 수행하고, 학습을 수행한 결과는 다음 이미지에 대한 테스트 수행 시 반영되므로 조명의 밝기나 위치 등과 같은 주변환경이 변화하더라도 이에 적응적으로 반응하여 테스트 정확도를 높이는 효과를 기대할 수 있다.In particular, the computing device 100 performs both learning and testing on a plurality of images, but by reflecting the learning result and performing the test, the learning result may be reflected in the test in real time. 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, it is not necessary to separately prepare an image for learning, so an effect of improving user convenience can be expected. In addition, the test is performed while learning the image that has been tested at the same time, and the result of the learning is reflected when the test is performed on the next image, so even if the surrounding environment such as the brightness or location of the light changes, it is adaptively. In response, it can be expected to increase test accuracy.
컴퓨팅 장치(100)가 복수의 이미지들에 대해서 학습 및 테스트를 수행하는 구체적인 방법에 대해서는 아래에서 다른 도면들을 참조하여 설명한다.A detailed method for the computing device 100 to learn and test 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 a component for receiving inputs such as settings related to machine learning and test performance from a user, and outputting a test result. 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 results of learning and testing on a screen.
통신부(120)는 외부 장치와 데이터 송수신을 위한 통신을 수행하기 위한 구성으로서, 다양한 방식의 유무선 통신을 지원할 수 있다. 예를 들어, 통신부(120)는 촬영부(10)로부터 물품(1)을 촬영한 이미지를 순서대로 수신할 수 있다. 통신부(120)는 다양한 통신 프로토콜을 지원하는 통신 칩셋으로 구현될 수 있다.The communication unit 120 is a component for performing communication for transmitting and receiving data with an external device, and may support various types of wired/wireless communication. For example, the communication unit 120 may sequentially receive images photographed of 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 component including at least one processor such as a CPU, and controls the overall operation of the computing device 100. In particular, the control unit 130 may perform machine learning and testing on a plurality of images by executing a program stored in the storage unit 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 unit 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 learn and test a plurality of images received through the communication unit 120, but may perform a test by reflecting a result of performing the learning. In this case, the communication unit 120 may receive images photographed by the article 1 one by one from the photographing unit 10 in order, and the controller 130 may perform learning and testing one by one in the order in which the images were received.
제어부(130)는 복수의 이미지들 각각에 대해서 하나씩 학습 및 테스트를 수행하되, 이전까지 학습된 결과를 반영하여 다음 이미지에 대한 테스트를 수행할 수 있다. 예를 들어, 제어부(130)는 어느 하나의 이미지(제1 이미지)에 대해서 학습 및 테스트를 수행하면, 해당 이미지(제1 이미지)에 대한 학습 결과를 반영하여 다음 이미지(제2 이미지)에 대한 테스트를 수행한다. 또한, 제어부(130)는 다음 이미지(제2 이미지)에 대해서도 학습을 수행하고, 그 결과를 그 다음 이미지(제3 이미지)에 대한 테스트 수행 시 반영할 수 있다.The controller 130 may learn and test each of the plurality of images one by one, but may perform a test on the next image by reflecting the results learned before. For example, when learning and testing on any one image (first image), the controller 130 reflects the learning result for the corresponding image (first image), Perform the test. In addition, the controller 130 may 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 controller 130 to perform a test on an image, it is necessary to know in advance the criteria for testing (hereinafter, referred to as “test criteria”), for example, characteristics of a normal image (an image in which a good product was photographed). These test criteria may be pre-stored in the storage unit 140, or the control unit 130 may directly grasp and store them in the storage unit 140 in the process of learning the images.
이하에서는, 제어부(130)가 이미지들에 대해서 학습을 수행하는 과정에서 테스트 기준을 직접 파악하는 실시예에 대해서 설명한다.Hereinafter, an embodiment in which the control unit 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 a plurality of images in order. Initially, since the test criterion was not prepared, the controller 130 only learns the image. When learning is performed on images one by one in order, and when a preset certain criterion (hereinafter, referred to as'preparation criterion') is satisfied, the controller 130 determines that preparation for setting the test criterion is completed, and the subsequent images Regarding, both learning and testing are performed, but the test is performed by reflecting the learning results performed until the preparation criteria are satisfied and the learning results of the images in subsequent steps.
자세하게는, 제어부(130)는 준비 기준이 만족되었다고 판단하면, 준비 기준 만족 시까지 수행한 학습 결과에 기초하여 테스트 기준을 설정하고 이후 순서의 이미지들에 대한 테스트를 수행한다. 이때, 제어부(130)는 이후 순서의 이미지들에 대해서 테스트와 동시에 학습도 수행하면서 그 결과에 기초하여 테스트 기준을 계속해서 업데이트한다. 즉, 제어부(130)는 이후 순서의 이미지들에 대해서 테스트를 수행함에 있어서, 테스트 수행 바로 전까지 수행된 다른 이미지들의 학습 결과를 반영하여 테스트를 수행한다.In detail, if it is determined that the preparation criterion is satisfied, the controller 130 sets a test criterion based on the learning result performed until the preparation criterion is satisfied, and then performs a test on the subsequent images. At this time, the control unit 130 continuously updates the test criteria based on the result while simultaneously performing the test and learning on the subsequent images. That is, in performing a test on images in a subsequent sequence, the controller 130 performs the test by reflecting the learning results of 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 or not the preparation criterion is satisfied based on the time at which learning has been performed to the present or the number of images that have been trained to date. This is because test criteria such as characteristics of normal images can be grasped only when learning is performed for at least a predetermined time or on at least a predetermined number of images.
예를 들어, 제어부(130)는 현재까지 학습을 수행한 시간을 확인하고, 확인된 시간이 미리 설정된 값을 초과하였다면 준비 기준을 만족하는 것으로 판단할 수 있다. 또는 예를 들어, 제어부(130)는 현재까지 학습을 수행한 이미지의 개수를 확인하고, 확인된 개수가 미리 설정된 값을 초과하였다면 준비 기준을 만족하는 것으로 판단할 수 있다.For example, the control unit 130 may check the time at which learning has been performed so far, and determine that the preparation criterion is satisfied if the checked time exceeds a preset value. Alternatively, for example, the controller 130 may check the number of images that have been trained so far, and determine that the preparation criterion is satisfied if the confirmed number exceeds a preset value.
이 밖에도 제어부(130)는 다양한 방식으로 테스트 기준 설정을 위한 준비가 완료되었는지 여부(준비 기준의 만족 여부)를 판단할 수 있다.In addition, the controller 130 may determine whether preparations for setting the test criteria are completed in various ways (whether the preparation criteria are satisfied).
준비 기준이 만족된 경우, 제어부(130)가 이후 순서의 이미지들에 대해서 학습 및 테스트를 모두 수행하는 방법은 다음과 같다.When the preparation criterion is satisfied, a method in which the controller 130 performs both learning and testing on images in subsequent steps 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 this as a test criterion. Here, the test criterion is described as an example as a characteristic of a normal image, but differently, the characteristic of an abnormal image may be a test criterion.
제어부(130)는 파악한 정상 이미지의 특징에 기초하여 어느 하나의 이미지(제1 이미지)에 대해서 테스트를 수행한다. 즉, 제어부(130)는 제1 이미지가 정상 이미지인지 아니면 비정상 이미지인지 여부를 판단한다. 제어부(130)는 제1 이미지가 비정상 이미지라고 판단되면 입출력부(110)를 통해 불량품이 검출되었다는 안내를 표시할 수 있다.The controller 130 performs a test on any one image (first image) on the basis of 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 testing 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 a sequence following the first image, the controller 130 determines whether the second image is a normal image based on the characteristics of the normal image in 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 on each image and learning at the same time.
한편, 위에서는 제어부(130)가 하나의 이미지에 대한 학습을 수행할 때마다 테스트 기준(정상 이미지의 특징)을 업데이트하는 것으로 설명하였는데, 이와 같이 빈번하게 업데이트가 이루어질 경우 처리 속도나 리소스의 활용 측면에서 효율적이지 못할 수 있다. 따라서, 각각의 이미지 마다 테스트 기준을 업데이트하는 대신에, 미리 설정된 일정 기준(이하, ‘업데이트 기준’이라 한다)을 만족하는 경우에만 테스트 기준을 업데이트하도록 할 수도 있다. 이하에서는 이러한 실시예에 대해서 설명한다.On the other hand, in the above, it has been described that the control unit 130 updates the test criterion (characteristic of a normal image) every time it learns about one image. May not be efficient at Therefore, instead of updating the test criterion for each image, the test criterion may be updated only when a preset certain criterion (hereinafter, referred to as “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 as a characteristic of a normal image, but differently, the characteristic of an abnormal image may be a test criterion.
제어부(130)는 파악한 정상 이미지의 특징에 기초하여 어느 하나의 이미지(제1 이미지)에 대해서 테스트를 수행한다. 즉, 제어부(130)는 제1 이미지가 정상 이미지인지 아니면 비정상 이미지인지 여부를 판단한다. 제어부(130)는 제1 이미지가 비정상 이미지라고 판단되면 입출력부(110)를 통해 불량품이 검출되었다는 안내를 표시할 수 있다.The controller 130 performs a test on any one image (first image) on the basis of 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 testing on the first image. When the learning of the first image is completed, the controller 130 determines whether or not a preset update criterion is satisfied. In detail, the controller 130 checks the time when the feature of the normal image has been identified or the time when the feature of the normal image has been updated has been completed, and if the time has exceeded a preset value, the update criterion It can be judged as satisfying. Alternatively, the controller 130 checks the number of images that have been trained after the time when the feature of the normal image has been identified or the time when the feature of the normal image has been updated is completed, and if the confirmed number exceeds a preset value, it is updated. It can be determined that the criteria are satisfied.
이와 같이, 제어부(130)는 일정한 기준(업데이트 기준)이 만족되는 경우에만 학습 결과를 반영하여 테스트 기준을 업데이트함으로써 실시간으로 학습 결과를 반영하면서도 효율성을 높일 수 있다.In this way, the controller 130 reflects the learning result and updates the test criterion only when a certain criterion (update criterion) is satisfied, thereby reflecting the learning result in real time and increasing efficiency.
이하에서는 도 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 of performing machine learning and testing according to the embodiments illustrated in FIGS. 3 to 8 includes steps processed in a time series by the computing device 100 illustrated in FIGS. 1 and 2. Therefore, even though the contents are omitted below, the contents described above with respect to the computing device 100 shown in FIGS. 1 and 2 are also included in the method of 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 exemplary 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 a plurality of images, but performs a test by reflecting the learning result. In other words, the computing device 100 performs learning and testing on each of the plurality of images in order, reflecting the result of learning on the previous image, and performs a test on the next image.
도 4는 도 3의 302 단계에 포함되는 세부 단계들을 설명하기 위한 순서도이다. 도 4를 참조하면, 401 단계에서 컴퓨팅 장치(100)는 수신한 복수의 이미지들에 대해서 하나씩 학습을 수행한다.4 is a flowchart illustrating detailed steps included in step 302 of FIG. 3. Referring to FIG. 4, in step 401, the computing device 100 learns a plurality of received images one by one.
402 단계에서 컴퓨팅 장치(100)는 학습할 다음 이미지가 존재하는지 여부를 판단하고, 다음 이미지가 존재하지 않는다면 프로세스를 종료하고, 다음 이미지가 존재한다면 403 단계로 진행한다.In step 402, the computing device 100 determines whether the 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 predetermined criterion (preparation criterion) is satisfied, and if the preparatory criterion is not satisfied, returns to step 401, and if the preparatory criterion is satisfied, the computing device 100 proceeds to step 404. Here, the'preparation criterion' is a criterion for determining whether preparation for setting a criterion (test criterion) for testing 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 completed. The computing device 100 determines whether or not the preparation criterion is satisfied based on the time at which the training has been performed to the present or the number of images that have been trained to date, a 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 performs a test by reflecting the learning results of other images.
컴퓨팅 장치(100)는 준비 기준이 만족되었다고 판단하면, 이후 순서의 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 준비 기준 만족 시까지 수행된 학습 결과 및 이후 순서의 이미지들에 대한 학습 결과를 반영하여 테스트를 수행한다. 자세하게는, 컴퓨팅 장치(100)는 준비 기준이 만족되었다고 판단하면, 준비 기준 만족 시까지 수행한 학습 결과에 기초하여 테스트 기준을 설정하고 이후 순서의 이미지들에 대한 테스트를 수행한다. 이때, 컴퓨팅 장치(100)는 이후 순서의 이미지들에 대해서 테스트와 동시에 학습도 수행하면서 그 결과에 기초하여 테스트 기준을 계속해서 업데이트한다. 즉, 컴퓨팅 장치(100)는 이후 순서의 이미지들에 대해서 테스트를 수행함에 있어서, 테스트 수행 바로 전까지 수행된 다른 이미지들의 학습 결과를 반영하여 테스트를 수행한다. When it is determined that the preparation criterion is satisfied, the computing device 100 performs both learning and testing for the subsequent images, but reflects the learning result performed until the preparation criterion is satisfied and the learning results for the subsequent images. 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 a learning result performed until the preparation criterion is satisfied, and then performs tests on images in a subsequent sequence. In this case, the computing device 100 continuously updates the test criteria based on the result while simultaneously performing the test and learning on the subsequent images. That is, when the computing device 100 performs a test on images in a subsequent sequence, the computing device 100 performs the test by reflecting the learning results of other images performed just before the test.
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 illustrating detailed steps included in step 404 of FIG. 4. Referring to FIG. 5, in step 501, the computing device 100 identifies features of a normal image based on a result of performing previous learning.
502 단계에서 컴퓨팅 장치(100)는 정상 이미지의 특징에 기초하여 이미지에 테스트를 수행함으로써 비정상 이미지를 검출한다. 컴퓨팅 장치(100)는 501 단계에서 파악된 정상 이미지의 특징을 각각의 이미지와 비교함으로써 각각의 이미지가 정상 이미지인지 아니면 비정상 이미지인지 판단할 수 있다.In step 502, 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 features 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 tested in step 502. In step 504, the computing device 100 updates the features 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 terminates the process if the next image does not exist.
한편, 앞서 설명한 바와 같이 컴퓨팅 장치(100)는 정상 이미지의 특징을 업데이트함에 있어서, 하나의 이미지에 대한 학습이 완료될 때마다 업데이트를 하지 않고 미리 설정된 일정 조건(업데이트 조건)을 만족하는 경우에만 업데이트를 함으로써 실시간으로 학습 결과를 반영하면서도 효율성을 높일 수 있다. 이러한 실시예에 대해서 아래에서 도 6을 참조하여 설명한다.Meanwhile, as described above, in updating the features of a normal image, the computing device 100 does not update each time learning of one image is completed, and only updates when a predetermined condition (update condition) is satisfied. By doing so, it is possible to increase the efficiency while reflecting the learning result in real time. This embodiment will be described with reference to FIG. 6 below.
도 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 identifies features of a normal image based on a result of performing previous learning.
602 단계에서 컴퓨팅 장치(100)는 정상 이미지의 특징에 기초하여 이미지에 테스트를 수행함으로써 비정상 이미지를 검출한다. 컴퓨팅 장치(100)는 601 단계에서 파악된 정상 이미지의 특징을 각각의 이미지와 비교함으로써 각각의 이미지가 정상 이미징인지 아니면 비정상 이미지인지 판단할 수 있다.In step 602, the computing device 100 detects an abnormal image by performing a test on the image based on features of the normal image. The computing device 100 may determine whether each image is a normal image or an abnormal image by comparing the features of the normal image identified in step 601 with each image.
603 단계에서 컴퓨팅 장치(100)는, 602 단계에서 테스트를 수행한 이미지에 대해서 학습을 수행한다. 604 단계에서 컴퓨팅 장치(100)는 다음 이미지가 있는지 판단하고, 판단 결과 다음 이미지가 없다면 프로세스를 종료하고, 반대로 다음 이미지가 있다면 605 단계로 진행한다.In step 603, the computing device 100 learns the image that has been tested 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 ends. Conversely, if there is a next image, the process proceeds to step 605.
605 단계에서 컴퓨팅 장치(100)는 미리 설정된 기준(업데이트 기준)을 만족하는지 여부를 판단한다. 자세하게는, 컴퓨팅 장치(100)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 시간을 확인하고, 확인된 시간이 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다. 또는, 컴퓨팅 장치(100)는 정상 이미지의 특징 파악이 완료된 시점 또는 정상 이미지의 특징에 대한 업데이트가 완료된 시점 이후에 학습을 수행한 이미지의 개수를 확인하고, 확인된 개수가 미리 설정된 값을 초과하였다면 업데이트 기준을 만족하는 것으로 판단할 수 있다.In step 605, the computing device 100 determines whether or not a preset criterion (update criterion) is satisfied. In detail, the computing device 100 checks the time at which the learning was performed after the time when the feature of the normal image was completed or the time when the update of the feature of the normal image was completed, and if the checked time exceeds a preset value, it is updated. It can be determined that the criteria are satisfied. Alternatively, the computing device 100 checks the number of images that have been trained after the time when the feature identification of the normal image has been completed or the time when the update of the features of the normal image is completed, and if the confirmed 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 to 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 results of learning the images after the features of the normal image are 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 of determining whether the computing device 100 satisfies the preparation criterion in step 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 at which learning has been performed. 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 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 that have been trained so far. In step 802, the computing device 100 determines whether the confirmed 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 the preset value, step 401 of FIG. 4 Do it again.
이와 같이, 컴퓨팅 장치(100)는 준비 기준을 만족할 때까지는 이미지들에 대해서 학습을 수행함으로써 테스트를 위한 기준을 파악하고, 이후의 이미지들에 대해서는 학습을 수행하는 동시에 이전의 이미지까지의 학습 결과 파악된 테스트 기준에 기초하여 테스트를 수행할 수 있다.In this way, the computing device 100 learns the images until the preparation criterion is satisfied, thereby grasping the criteria for testing, and learning the subsequent images and at the same time grasping the learning results up to the previous image. The test can be performed based on the established test criteria.
이상에서 설명한 실시예들에 따를 경우, 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되 학습 결과를 반영하여 테스트를 수행함으로써, 실시간으로 학습 결과를 반영하여 테스트를 수행할 수 있고, 따라서 환경변화에 적응적으로 반응하여 테스트 정확도를 높이는 효과를 기대할 수 있다.According to the above-described embodiments, by performing both learning and testing on a plurality of images, but performing a test by reflecting the learning result, it is possible to perform the test by reflecting the learning result in real time, thus changing the environment. It can be expected to increase test accuracy by adaptively responding to.
또한, 학습용 이미지를 따로 준비할 필요가 없어 불량품을 촬영한 이미지를 확보하거나 이미지를 분류하는데 드는 시간 및 노력을 감소시킬 수 있다.In addition, since there is no need to prepare separate images for training, it is possible to reduce the time and effort required to secure images of defective products or classify images.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term'~ unit' used in the above embodiments refers to 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. The'~ unit' may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , Subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The components and functions provided within the'~ units' may be combined into a smaller number of elements and'~ units', or may be separated from the additional elements and'~ units'.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.
도 3 내지 도 8을 통해 설명된 실시예들에 따른 기계학습 및 테스트 수행 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.The method of 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 that stores instructions and data executable by a computer. In this case, the instructions and data may be stored in the form of a program code, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation. Further, the computer-readable medium may be any available medium 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 volatile and non-volatile 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 disk, 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) 등)에 기록될 수 있다.In addition, the method of 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. . Further, the computer program may be recorded on 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 of performing machine learning and testing according to the embodiments described with reference to FIGS. 3 to 8 may be implemented by executing the computer program as described above by the computing device. The computing device may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a 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 a variety of buses, and can be mounted on a common motherboard or in other suitable manner.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.Here, the processor can process commands within the computing device. Such commands include, for example, to display graphic information for providing a GUI (Graphic User Interface) on an external input or output device, such as a display connected to a high-speed interface. This could be a command stored in memory or a storage device. As another embodiment, multiple processors and/or multiple buses may be used with multiple memories and memory types 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.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.The memory also stores information within the computing device. As an example, the memory may be composed of volatile memory units or a set of them. As another example, the memory may be composed of a nonvolatile memory unit or a set of them. Also, the memory may be another type of computer-readable medium such as 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. The storage device may be a computer-readable medium or a configuration including such a medium, for example, devices in a storage area network (SAN) or other configurations, a floppy disk device, a hard disk device, an optical disk device, Alternatively, it may be a tape device, a flash memory, or another semiconductor memory device or device array similar thereto.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustrative purposes only, and those of ordinary skill in the art to which the above-described embodiments belong can easily transform into other specific forms without changing the technical spirit or essential features of the above-described embodiments. You can understand. Therefore, it should be understood that the above-described embodiments are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.
본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected through the present specification is indicated by the claims to be described later rather than the detailed description, and should be interpreted as including all changes or modified forms derived from the meaning and scope of the claims and the concept of equivalents thereof. .

Claims (14)

  1. 복수의 이미지들에 대해 기계학습 및 테스트를 수행하는 방법에 있어서,In a method for performing machine learning and testing on a plurality of images,
    복수의 이미지들을 수신하는 단계; 및Receiving a plurality of images; And
    상기 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행하는 단계를 포함하는, 방법.And performing both learning and testing on the plurality of images, and performing the test by reflecting a result of performing the learning.
  2. 제1항에 있어서,The method of claim 1,
    상기 테스트를 수행하는 단계는,The step of performing the test,
    상기 수신한 이미지들에 대해서 하나씩 학습을 수행하면서 미리 설정된 제1 기준을 만족하는지 판단하는 단계; 및Determining whether a preset first criterion is satisfied while learning the received images one by one; And
    판단 결과 상기 제1 기준을 만족한다면 나머지 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 상기 제1 기준 만족 시까지 수행된 학습 결과 및 나머지 이미지들에 대한 학습 결과를 반영하여 테스트를 수행하는 단계를 포함하는 것을 특징으로 하는 방법.As a result of the determination, if the first criterion is satisfied, both learning and testing are performed for the remaining images, but performing a test by reflecting the learning result performed until the first criterion is satisfied and the learning result for the remaining images. Method comprising the.
  3. 제2항에 있어서,The method of claim 2,
    상기 이미 수행된 학습 결과를 반영하여 테스트를 수행하는 단계는,The step of performing a test by reflecting the already performed learning result,
    상기 제1 기준 만족 시까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악하는 단계;Grasping the characteristics of the normal image based on the learning result performed until the first criterion is satisfied;
    상기 파악한 정상 이미지의 특징에 기초하여 제1 이미지가 정상 이미지인지 여부를 판단하는 단계;Determining whether the first image is a normal image based on the identified characteristics of the normal image;
    상기 제1 이미지에 대해서 학습을 수행하는 단계; 및Performing learning on the first image; And
    상기 제1 이미지에 대해서 학습을 수행한 결과에 기초하여 상기 정상 이미지의 특징을 업데이트하는 단계를 포함하는 것을 특징으로 하는 방법.And updating a feature of the normal image based on a result of performing learning on the first image.
  4. 제2항에 있어서,The method of claim 2,
    상기 이미 수행된 학습 결과를 반영하여 테스트를 수행하는 단계는,The step of performing a test by reflecting the already performed learning result,
    상기 제1 기준 만족 시까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악하는 단계;Grasping the characteristics of the normal image based on the learning result performed until the first criterion is satisfied;
    상기 파악한 정상 이미지의 특징에 기초하에 제1 이미지가 정상 이미지인지 여부를 판단하는 단계;Determining whether the first image is a normal image based on the identified characteristics of the normal image;
    상기 제1 이미지에 대해서 학습을 수행하는 단계;Performing learning on the first image;
    미리 설정된 제2 기준을 만족하는지 판단하는 단계; 및Determining whether a predetermined second criterion is satisfied; And
    판단 결과 상기 제2 기준을 만족한다면 상기 제1 이미지에 대해서 학습을 수행한 결과에 기초하여 상기 정상 이미지의 특징을 업데이트 하고, 판단 결과 상기 제2 기준을 만족하지 않는다면 상기 정상 이미지의 특징에 기초하여 다음 이미지에 대한 테스트 및 학습을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.If the determination result satisfies the second criterion, the feature of the normal image is updated based on the result of learning the first image, and if the determination result does not satisfy the second criterion, the feature of the normal image is And performing testing and learning on the next image.
  5. 제2항에 있어서,The method of claim 2,
    상기 제1 기준을 만족하는지 판단하는 단계는,The step of determining whether the first criterion is satisfied,
    현재까지 학습을 수행한 시간을 확인하는 단계; 및Checking the time at which the learning has been performed up to now; And
    상기 확인된 시간이 미리 설정된 시간을 초과하였다면 상기 제1 기준을 만족하는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 방법.And determining that the first criterion is satisfied if the checked time exceeds a preset time.
  6. 제2항에 있어서,The method of claim 2,
    상기 제1 기준을 만족하는지 판단하는 단계는,The step of determining whether the first criterion is satisfied,
    현재까지 학습을 수행한 이미지의 개수를 확인하는 단계; 및Checking the number of images that have been trained so far; And
    상기 확인된 개수가 미리 설정된 개수를 초과하였다면 상기 제1 기준을 만족하는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 방법.And determining that the first criterion is satisfied if the confirmed number exceeds a preset number.
  7. 제1항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium on which a program for performing the method according to claim 1 is recorded.
  8. 기계학습 및 테스트를 수행하기 위한 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.A computer program performed by an apparatus for performing machine learning and testing and stored in a medium for performing the method according to claim 1.
  9. 기계학습 및 테스트를 수행하기 위한 장치에 있어서,In the device for performing machine learning and testing,
    기계학습 및 테스트와 관련된 조작 및 데이터 입력을 수신하고, 데이터 처리 결과를 표시하기 위한 입출력부;An input/output unit for receiving operation and data input related to machine learning and testing, and displaying a data processing result;
    외부 장치와 데이터 송수신을 위한 통신을 수행하는 통신부;A communication unit for performing communication for transmitting and receiving data with an external device;
    기계학습 및 테스트 수행을 위한 프로그램이 저장되는 저장부; 및A storage unit storing programs for machine learning and test execution; And
    상기 프로그램을 실행함으로써 복수의 이미지들에 대한 기계학습 및 테스트를 수행하는 제어부를 포함하며,And a control unit for performing machine learning and testing on a plurality of images by executing the program,
    상기 제어부는, 상기 통신부를 통해 수신하는 복수의 이미지들에 대해서 학습 및 테스트를 모두 수행하되, 상기 학습을 수행한 결과를 반영하여 상기 테스트를 수행하는, 장치.The controller, wherein the controller performs both learning and testing on a plurality of images received through the communication unit, and performing the test by reflecting a result of performing the learning.
  10. 제9항에 있어서,The method of claim 9,
    상기 제어부는 상기 테스트를 수행함에 있어서,In performing the test, the control unit,
    상기 수신한 이미지들에 대해서 하나씩 학습을 수행하면서 미리 설정된 제1 기준을 만족하는지 판단하고, 판단 결과 상기 제1 기준을 만족한다면 나머지 이미지들에 대해서는 학습 및 테스트를 모두 수행하되, 상기 제1 기준 만족 시까지 수행된 학습 결과 및 나머지 이미지들에 대한 학습 결과를 반영하여 테스트를 수행하는 것을 특징으로 하는 장치.While learning the received images one by one, it is determined whether a preset first criterion is satisfied, and if the first criterion is satisfied as a result of the determination, both learning and testing are performed on the remaining images, but the first criterion is satisfied. The apparatus, characterized in that the test is performed by reflecting the learning result performed until time and the learning result of the remaining images.
  11. 제10항에 있어서,The method of claim 10,
    상기 제어부는 상기 이미 수행된 학습 결과를 반영하여 테스트를 수행함에 있어서,In the control unit performs a test by reflecting the already performed learning result,
    상기 제1 기준 만족 시까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악하고, 상기 파악한 정상 이미지의 특징에 기초하여 제1 이미지가 정상 이미지인지 여부를 판단하고, 상기 제1 이미지에 대해서 학습을 수행하고, 상기 제1 이미지에 대해서 학습을 수행한 결과에 기초하여 상기 정상 이미지의 특징을 업데이트하는 것을 특징으로 하는 장치.Based on the learning result performed until the first criterion is satisfied, the characteristic of the normal image is identified, based on the identified characteristic of the normal image, it is determined whether the first image is a normal image, and the first image is learned. And updating characteristics of the normal image based on a result of performing learning on the first image.
  12. 제10항에 있어서,The method of claim 10,
    상기 제어부는 상기 이미 수행된 학습 결과를 반영하여 테스트를 수행함에 있어서,In the control unit performs a test by reflecting the already performed learning result,
    상기 제1 기준 만족 시까지 수행된 학습 결과에 기초하여 정상 이미지의 특징을 파악하고, 상기 파악한 정상 이미지의 특징에 기초하여 제1 이미지가 정상 이미지인지 여부를 판단하고, 상기 제1 이미지에 대해서 학습을 수행한 후, 미리 설정된 제2 기준을 만족하는지 판단하여, 판단 결과 상기 제2 기준을 만족한다면 상기 제1 이미지에 대해서 학습을 수행한 결과에 기초하여 상기 정상 이미지의 특징을 업데이트 하고, 판단 결과 상기 제2 기준을 만족하지 않는다면 상기 정상 이미지의 특징에 기초하여 다음 이미지에 대한 테스트 및 학습을 수행하는 것을 특징으로 하는 장치.Based on the learning result performed until the first criterion is satisfied, the characteristic of the normal image is identified, based on the identified characteristic of the normal image, it is determined whether the first image is a normal image, and the first image is learned. 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 determination result And if the second criterion is not satisfied, tests and learning are performed on the next image based on the characteristics of the normal image.
  13. 제10항에 있어서,The method of claim 10,
    상기 제어부는 상기 제1 기준을 만족하는지 판단함에 있어서,In determining whether the control unit satisfies the first criterion,
    현재까지 학습을 수행한 시간을 확인하고, 상기 확인된 시간이 미리 설정된 시간을 초과하였다면 상기 제1 기준을 만족하는 것으로 판단하는 것을 특징으로 하는 장치.A device, characterized in that, checking a time for performing learning up to now, and determining that the first criterion is satisfied if the checked time exceeds a preset time.
  14. 제10항에 있어서,The method of claim 10,
    상기 제어부는 상기 제1 기준을 만족하는지 판단함에 있어서,In determining whether the control unit satisfies the first criterion,
    현재까지 학습을 수행한 이미지의 개수를 확인하고, 상기 확인된 개수가 미리 설정된 개수를 초과하였다면 상기 제1 기준을 만족하는 것으로 판단하는 것을 특징으로 하는 장치.A device, characterized in that, checking the number of images that have been trained so far, and determining that the first criterion is satisfied if the confirmed number exceeds a preset number.
PCT/KR2020/000251 2019-09-10 2020-01-07 Method and device for performing machine learning and testing on plurality of images WO2021049721A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202080041294.6A CN113906471A (en) 2019-09-10 2020-01-07 Method and apparatus for performing machine learning and testing on multiple images

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2021049721A1 true WO2021049721A1 (en) 2021-03-18

Family

ID=74866737

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/000251 WO2021049721A1 (en) 2019-09-10 2020-01-07 Method and device for performing machine learning and testing on plurality of images

Country Status (3)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990078833A (en) * 1999-08-11 1999-11-05 김주환 An automatic teaching device in marking inspection process of a semiconductor packages and the method thereof
WO2017145960A1 (en) * 2016-02-24 2017-08-31 日本電気株式会社 Learning device, learning method, and recording medium
KR101838664B1 (en) * 2017-11-28 2018-03-14 서울전선 주식회사 Apparatus for inspecting surface of cable
JP2018054375A (en) * 2016-09-27 2018-04-05 日本電気株式会社 Image inspection device, image inspection method and image inspection program
JP2019087181A (en) * 2017-11-10 2019-06-06 アズビル株式会社 Device and method for image inspection

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4912028B2 (en) * 2006-05-01 2012-04-04 日本電信電話株式会社 Sequential learning type non-stationary video detection apparatus, sequential learning type non-stationary video detection method, and program implementing the method
KR101842347B1 (en) * 2016-05-04 2018-03-26 두산중공업 주식회사 Plant system, and fault detecting method thereof
JP6942472B2 (en) * 2017-01-13 2021-09-29 キヤノン株式会社 Video recognition device, video recognition method and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990078833A (en) * 1999-08-11 1999-11-05 김주환 An automatic teaching device in marking inspection process of a semiconductor packages and the method thereof
WO2017145960A1 (en) * 2016-02-24 2017-08-31 日本電気株式会社 Learning device, learning method, and recording medium
JP2018054375A (en) * 2016-09-27 2018-04-05 日本電気株式会社 Image inspection device, image inspection method and image inspection program
JP2019087181A (en) * 2017-11-10 2019-06-06 アズビル株式会社 Device and method for image inspection
KR101838664B1 (en) * 2017-11-28 2018-03-14 서울전선 주식회사 Apparatus for inspecting surface of cable

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2021095991A1 (en) Device and method for generating defect image
WO2017095014A1 (en) Cell abnormality diagnosing system using dnn learning, and diagnosis managing method of same
WO2012002635A1 (en) System test apparatus
WO2021194056A1 (en) Method for training deep learning network based on artificial intelligence and learning device using the same
WO2021066253A1 (en) Artificial intelligence (ai)-based object inspection system and method
EP3120217A1 (en) Display device and method for controlling the same
WO2022055099A1 (en) Anomaly detection method and device therefor
WO2022059969A1 (en) Deep neural network pre-training method for electrocardiogram data classificiation
WO2020004749A1 (en) Apparatus and method for allowing equipment to learn by using video file
WO2015194709A1 (en) Portable display device and method of controlling therefor
WO2019168264A1 (en) Electronic device and method for controlling same
WO2023038214A1 (en) Surface defect detection device and method
WO2021049721A1 (en) Method and device for performing machine learning and testing on plurality of images
WO2022124720A1 (en) Method for detecting error of operating system kernel memory in real time
WO2016072610A1 (en) Recognition method and recognition device
WO2017222228A1 (en) Method for recognizing screen transition in image content, and server for operating same
WO2022080582A1 (en) Target-oriented reinforcement learning method, and device for performing same
EP3895116A1 (en) Display system for sensing defect on large-size display
WO2021080043A1 (en) Somatic mutation detection device and method, having reduced sequencing platform-specific errors
WO2022075543A1 (en) Anomaly detection method using multi-modal sensor, and computing device for performing same
WO2016137035A1 (en) Test case generation device and method, and computer-readable recording medium for recording program for executing same
WO2018066852A1 (en) Substrate inspection device and substrate distortion compensating method using same
WO2022139327A1 (en) Method and apparatus for detecting unsupported utterances in natural language understanding
WO2021125550A1 (en) Electronic device and method for controlling the electronic device.
WO2019208869A1 (en) Method and apparatus for detecting facial features by using learning

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20862448

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20862448

Country of ref document: EP

Kind code of ref document: A1