KR20200088682A - Electronic apparatus and controlling method thereof - Google Patents
Electronic apparatus and controlling method thereof Download PDFInfo
- Publication number
- KR20200088682A KR20200088682A KR1020190005296A KR20190005296A KR20200088682A KR 20200088682 A KR20200088682 A KR 20200088682A KR 1020190005296 A KR1020190005296 A KR 1020190005296A KR 20190005296 A KR20190005296 A KR 20190005296A KR 20200088682 A KR20200088682 A KR 20200088682A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- model
- defect
- electronic device
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000007547 defect Effects 0.000 claims abstract description 153
- 230000002950 deficient Effects 0.000 claims description 29
- 238000013461 design Methods 0.000 claims description 22
- 238000013473 artificial intelligence Methods 0.000 description 80
- 238000005516 engineering process Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 21
- 238000012549 training Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000007781 pre-processing Methods 0.000 description 12
- 238000011156 evaluation Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000011960 computer-aided design Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000000740 bleeding effect Effects 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000019771 cognition Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000006748 scratching Methods 0.000 description 1
- 230000002393 scratching effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/08—Testing mechanical properties
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/08—Testing mechanical properties
- G01M11/081—Testing mechanical properties by using a contact-less detection method, i.e. with a camera
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M99/00—Subject matter not provided for in other groups of this subclass
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M99/00—Subject matter not provided for in other groups of this subclass
- G01M99/005—Testing of complete machines, e.g. washing-machines or mobile phones
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/174—Segmentation; Edge detection involving the use of two or more images
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
- G01N2021/8887—Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biochemistry (AREA)
- General Health & Medical Sciences (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Image Analysis (AREA)
- Electrotherapy Devices (AREA)
Abstract
Description
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 객체의 이미지를 이용하여 좀 더 효율적이고 편리하게 객체에 결함이 존재하는지 여부를 판단할 수 있는 전자 장치 및 이의 제어 방법에 관한 것이다. The present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device and a control method thereof that can more efficiently and conveniently determine whether a defect exists in an object using an image of the object .
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.In addition, the present disclosure relates to an artificial intelligence (AI) system that simulates functions such as cognition and judgment of a human brain using a machine learning algorithm and its application.
최근에는 공장 내의 설비와 기계에 ICT(Information and Communications Technologies)기술을 적용하여 제품의 제조 및 가공 과정을 자동화지능화하는 스마트 팩토리(Smart Factory) 관련 기술들이 증가하고 있다. Recently, smart factory-related technologies that automate the manufacturing and processing of products by applying ICT (Information and Communications Technologies) technology to equipment and machinery in factories are increasing.
특히, 스마트 팩토리의 관련 기술들 중 머신 비전(Machine Vision)를 기반으로 한 제품 검사의 자동화와 관련된 기술이 등장하고 있다. 구체적으로, 컴퓨터 기능을 가진 영상 장치인 머신 비전(Machine Vision)를 이용하여, 제품의 형상 또는 표면에 불량이 존재하는지 여부를 자동으로 판단하는 기술이 스마트 팩토리와 관련된 기술로 나타나고 있다. In particular, among technologies related to smart factories, technologies related to automation of product inspection based on machine vision are emerging. Specifically, a technique for automatically determining whether a defect is present on a shape or a surface of a product using a machine vision, which is a computer-equipped imaging device, has emerged as a technology related to a smart factory.
이와 관련하여, 제품의 형상 또는 표면에 발생하는 결함의 패턴이 매우 다양해지고 있으며, 제품에 포함되는 부품의 종류가 다양해짐에 따라 제품 내에서의 결함의 위치나 배경 또한 매우 다양하고 복잡해지고 있다. 또한, 머신 비전 기반의 검사 시스템은 카메라를 이용하여 획득한 이미지를 기반으로 제품의 결함을 판단한다는 점에서 이미지상에 표시된 반사광, 이물질 등을 스크레치, 찍힘, 깨짐 등과 같은 실제 제품의 결함과 구분하여야 한다는 문제도 있다. In this regard, the shape of the product or the pattern of defects occurring on the surface is becoming very diverse, and as the types of parts included in the product are diversified, the location or background of defects in the product is also very diverse and complicated. In addition, the machine vision-based inspection system should distinguish the defects of the product from the actual product defects such as scratches, scratches, cracks, etc., in that the defects of the product are judged based on the image acquired using the camera. There is also a problem.
한편, 근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.Meanwhile, artificial intelligence systems that realize human-level intelligence have been used in various fields. The artificial intelligence system is a system in which a machine learns, judges, and becomes smart unlike a rule-based smart system. As the artificial intelligence system is used, the recognition rate is improved and the user's taste can be more accurately understood, and the existing rule-based smart system is gradually being replaced by a deep learning-based artificial intelligence system.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.Artificial intelligence technology consists of machine learning (e.g. deep learning) and elemental technologies utilizing machine learning.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.Machine learning is an algorithm technology that classifies/learns the characteristics of input data by itself, and element technology is a technology that simulates functions such as cognition and judgment of the human brain by using machine learning algorithms such as deep learning. It consists of technical fields such as understanding, reasoning/prediction, knowledge expression, and motion control.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 오브젝트 인식, 오브젝트 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.The various fields in which artificial intelligence technology is applied are as follows. Linguistic understanding is a technology that recognizes and applies/processes human language/characters, and includes natural language processing, machine translation, conversation system, question and answer, speech recognition/synthesis, and the like. Visual understanding is a technology that recognizes and processes objects as human vision, and includes object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, and image improvement. Inference prediction is a technique for logically inferring and predicting information by determining information, and includes knowledge/probability-based reasoning, optimization prediction, preference-based planning, and recommendation. Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge building (data generation/classification), knowledge management (data utilization), and so on. Motion control is a technique for controlling autonomous driving of a vehicle and movement of a robot, and includes motion control (navigation, collision, driving), operation control (behavior control), and the like.
이와 같이 인공 지능 기술이 적용되는 분야가 다양해지고, 머신 비전 기반의 검사 시스템이 복잡해짐에 따라 인공 지능 기술을 머신 비전 기반의 검사 시스템에 결합하려는 시도가 등장하고 있다. As the fields in which artificial intelligence technology is applied are diversified and the machine vision-based inspection system is complicated, attempts have been made to combine artificial intelligence technology with a machine vision-based inspection system.
그러나, 인공 지능 기술을 결합한 머신 비전 기반의 검사 시스템의 경우, 머신 비전을 학습시키기 위하여 많은 데이터를 필요로 한다. 특히, 제품의 불량을 검출하기 위하여는 정상 제품과 관련된 학습을 필요로 하는데, 제품이 출시되기 전 또는 출시되고 얼마 지나지 않은 시기에는 제품에 대한 데이터를 충분히 확보하기 어려운 문제가 있다.However, in the case of a machine vision based inspection system incorporating artificial intelligence technology, a lot of data is required to learn machine vision. In particular, in order to detect a defect in a product, learning related to a normal product is required, but there is a problem that it is difficult to sufficiently secure data about the product before or shortly after the product is released.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 제품(객체)의 설계 이미지를 이용하여 학습된 학습 모델을 기반으로 좀 더 효율적으로 제품의 불량 여부를 검사할 수 있는 전자 장치 및 그의 제어방법을 제공함에 있다.The present disclosure has been devised to solve the above-mentioned problems, and the purpose of the present disclosure is to provide an electronic device capable of more efficiently checking whether a product is defective based on a learning model learned using a design image of a product (object). It provides an apparatus and a control method thereof.
본 개시의 일 실시 예에 따른 전자 장치는, 카메라; 적어도 하나의 명령(instruction)를 포함하는 메모리; 및 상기 카메라 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함한다. 상기 프로세서는, 상기 적어도 하나의 명령을 실행함으로써, 상기 카메라를 통해 객체를 촬영한 제1 이미지를 획득하고, 상기 획득된 객체 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 상기 객체를 포함하는 제2 이미지를 획득하고, 상기 제1 이미지 및 상기 제2 이미지에 기초하여 상기 객체의 결함 여부를 판단한다. An electronic device according to an embodiment of the present disclosure includes a camera; A memory including at least one instruction; And a processor connected to the camera and the memory to control the electronic device. The processor, by executing the at least one command, obtains a first image of an object captured through the camera, and uses the acquired object first image as input data of the learned first model, without defects. A second image including the object in a state is acquired, and it is determined whether the object is defective based on the first image and the second image.
그리고, 상기 프로세서는, 상기 제1 이미지와 상기 제2 이미지를 비교하여, 상기 제1 이미지에서 상기 객체가 상기 결함이 없는 상태의 객체와 포함된 객체의 이미지와 상기 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단할 수 있다. In addition, the processor compares the first image and the second image, and in the first image, the object is an image of the object without the defect and an image of the object and the object included in the second image. Different regions can be judged between images.
또한, 상기 프로세서는, 상기 제1 이미지에서 상기 판단된 상이한 영역에 대응되는 이미지를 획득하고, 상기 획득된 상이한 영역에 대응되는 이미지를 학습된 제2 모델의 입력데이터로 사용하여 상기 상이한 영역의 특징을 판단하고, 상기 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단할 수 있다. In addition, the processor acquires an image corresponding to the determined different region from the first image, and uses the image corresponding to the obtained different region as input data of the learned second model, thereby characteristic of the different region. And determining whether the object is defective based on the determined characteristics of different regions.
그리고, 상기 프로세서는, 상기 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 획득된 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단할 수 있다. The processor may determine that a defect exists in the object when the obtained image corresponding to the different region is determined as an image of an object having a defect according to the characteristics of the determined different region.
또한, 상기 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일할 수 있다. Also, the position of the object in the first image and the position of the object without defects in the second image may be the same.
그리고, 상기 전자 장치는 디스플레이;를 더 포함할 수 있으며, 상기 프로세서는, 상기 판단된 객체의 결함 여부에 대한 정보를 표시하도록 상기 디스플레이를 제어할 수 있다. In addition, the electronic device may further include a display, and the processor may control the display to display information on whether the determined object is defective.
또한, 상기 프로세서는, 상기 객체에 결함이 존재하는 것으로 판단되면, 상기 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시하도록 상기 디스플레이를 제어할 수 있다. In addition, when it is determined that a defect exists in the object, the processor may control the display to display a region in which the defect exists in the object in a distinctive manner from other regions in the first image.
그리고, 상기 제1 모델은, 결함이 없는 상태 객체의 이미지를 기초로 학습된 모델이고, 상기 결함이 없는 상태의 객체의 이미지는 상기 객체의 설계 이미지를 기초로 학습된 제3 모델에 의해 생성될 수 있다. Further, the first model is a model trained based on an image of a defect-free state object, and an image of an object free of defects is generated by a third model trained based on the design image of the object. Can.
한편, 본 개시의 또 다른 일 실시 예에 따른 전자 장치의 제어 방법은, 상기 카메라를 통해 객체를 촬영한 제1 이미지를 획득하는 단계; 상기 획득된 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 상기 객체를 포함하는 제2 이미지를 획득하는 단계; 및 상기 제1 이미지 및 상기 제2 이미지에 기초하여 상기 객체의 결함 여부를 판단하는 단계;를 포함할 수 있다. Meanwhile, a method of controlling an electronic device according to another embodiment of the present disclosure includes: acquiring a first image photographing an object through the camera; Obtaining a second image including the object in a defect-free state by using the acquired first image as input data of the learned first model; And determining whether the object is defective based on the first image and the second image.
그리고, 상기 결함 여부를 판단하는 단계는, 상기 제1 이미지와 상기 제2 이미지를 비교하여, 상기 제1 이미지에 포함된 객체의 이미지와 상기 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단하는 단계;를 더 포함할 수 있다. And, the determining whether the defect is, compares the first image and the second image to compare different areas between the image of the object included in the first image and the image of the object included in the second image. The determining step; may further include.
또한, 상기 결함 여부를 판단하는 단계는, 상기 제1 이미지에서 상기 판단된 상이한 영역에 대응되는 이미지를 획득하는 단계; 상기 획득된 상이한 영역에 대응되는 이미지를 학습된 제2 모델의 입력데이터로 사용하여 상기 상이한 영역의 특징을 판단하는 단계; 및 상기 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단하는 단계;를 더 포함할 수 있다. In addition, determining whether the defect includes: obtaining an image corresponding to the determined different region from the first image; Determining characteristics of the different regions by using the image corresponding to the obtained different regions as input data of the learned second model; And determining whether the object is defective based on the determined characteristics of the different regions.
그리고, 상기 결함 여부를 판단하는 단계는, 상기 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단하는 단계;를 더 포함할 수 있다. The determining of the defect may include determining that a defect exists in the object when the image corresponding to the different region is determined as an image of an object having a defect according to the characteristics of the determined different region. Step; may further include.
또한, 상기 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일할 수 있다. Also, the position of the object in the first image and the position of the object without defects in the second image may be the same.
그리고, 상기 판단된 객체의 결함 여부에 대한 정보를 디스플레이에 표시하는 단계;를 더 포함할 수 있다. In addition, the method may further include displaying information on whether the determined object is defective on a display.
그리고, 상기 객체에 결함이 존재하는 것으로 판단되면, 상기 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시하는 단계;를 더 포함할 수 있다. And, if it is determined that a defect exists in the object, displaying a region in which the defect is present in the object to be distinguished from other regions in the first image.
여기에서, 상기 제1 모델은, 결함이 없는 상태 객체의 이미지를 기초로 학습된 모델이고, 상기 결함이 없는 상태의 객체의 이미지는, 상기 객체의 설계 이미지를 기초로 학습된 제3 모델에 의해 생성될 수 있다. Here, the first model is a model trained based on an image of a defect-free state object, and the image of an object free of defects is obtained by a third model trained based on the design image of the object. Can be generated.
상술한 바와 같이 학습된 인공 지능 모델을 이용하여 객체에 결함이 존재하는지 여부를 판단함에 따라, 사용자가 객체 각각의 표면을 검사할 필요성이 줄어든다는 점에서 사용자의 편의성이 증대될 수 있다. 또한 객체의 설계 이미지로 학습된 인공 지능 모델을 사용한다는 점에서 사용자는 정상 상태의 제품 이미지를 충분히 확보하여야 한다는 부담감을 줄일 수 있다.As described above, by determining whether an object has a defect using the learned artificial intelligence model, the user's convenience can be increased in that the user's need to inspect the surface of each object is reduced. In addition, in that the artificial intelligence model trained as the design image of the object is used, the user can reduce the burden of securing a sufficient image of the product in a normal state.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 포함하는 머신 비전 기반 시스템을 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 3a는 본 개시의 일 실시 예에 따라 결함이 존재하지 않는 객체의 이미지를 학습하는 인공지능 제1 모델을 설명하기 위한 도면
도 3b는 본 개시의 일 실시 예에 따라 결함이 존재하지 않는 객체의 이미지를 제공하는 인공지능 제1 모델을 설명하기 위한 도면,
도 4는 본 개시의 일 실시 예에 따라 인공지능 제1 모델의 학습 데이터를 생성하는 인공지능 제3 모델을 설명하기 위한 도면,
도 5는 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 상세하게 설명하기 위한 블록도,
도 6은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면,
도 7은 인공지능 모델을 학습하고 이용하기 위한 전자 장치를 설명하기 위한 블록도,
도 8 및 도 9는 본 개시의 일 실시 예에 따른 학습부 및 분석부를 설명하기 위한 블록도, 및
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다. 1 is a view for explaining a machine vision-based system including an electronic device according to an embodiment of the present disclosure,
2 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure;
FIG. 3A is a diagram for describing an artificial intelligence first model for learning an image of an object having no defect according to an embodiment of the present disclosure.
3B is a view for explaining an AI first model that provides an image of an object having no defect according to an embodiment of the present disclosure;
4 is a diagram for explaining an artificial intelligence third model that generates training data of an artificial intelligence first model according to an embodiment of the present disclosure;
5 is a block diagram illustrating in detail a configuration of an electronic device according to various embodiments of the present disclosure;
6 is a diagram for describing an electronic device according to an embodiment of the present disclosure;
7 is a block diagram illustrating an electronic device for learning and using an artificial intelligence model;
8 and 9 are block diagrams illustrating a learning unit and an analysis unit according to an embodiment of the present disclosure, and
10 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present disclosure will be described in detail.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. Terms used in the embodiments of the present disclosure, while considering the functions in the present disclosure, general terms that are currently widely used are selected, but this may vary according to the intention or precedent of a person skilled in the art or the appearance of new technologies. . Also, in certain cases, some terms are arbitrarily selected by the applicant, and in this case, their meanings will be described in detail in the description of the corresponding disclosure. Therefore, the terms used in the present disclosure should be defined based on the meaning of the terms and the contents of the present disclosure, not simply the names of the terms.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the embodiments of the present disclosure can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope of the specific embodiments, it should be understood to include all conversions, equivalents, or substitutes included in the scope of the disclosed ideas and techniques. In the description of the embodiments, when it is determined that the detailed description of the related known technology may obscure the subject matter, the detailed description is omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but components should not be limited by terms. The terms are only used to distinguish one component from other components.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as “comprises” or “consist of” are intended to indicate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, one or more other It should be understood that features or numbers, steps, operations, components, parts, or combinations thereof are not excluded in advance.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.In the present disclosure, "module" or "unit" performs at least one function or operation, and may be implemented in hardware or software, or a combination of hardware and software. In addition, a plurality of "modules" or a plurality of "parts" are integrated into at least one module except for "modules" or "parts" that need to be implemented with specific hardware to be implemented with at least one processor (not shown). Can be.
본 개시에서 "a, b 또는 c 중 적어도 하나"는 a만, b만, c만, a 와 b 모두, a와 c 모두, b와 c 모두, a, b 및 c 모두 또는 이들의 변형을 나타내는 것으로 해석될 수 있다. In the present disclosure, “at least one of a, b, or c” denotes only a, only b, only c, both a and b, both a and c, both b and c, all a, b and c, or variations thereof Can be interpreted as
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present disclosure pertains can easily perform the embodiments. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present disclosure in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.
이하에서는 본 개시의 다양한 실시 예에 따른, 객체의 결함 여부를 판단하는 전자 장치에 대하여 설명하도록 한다. Hereinafter, an electronic device for determining whether an object is defective according to various embodiments of the present disclosure will be described.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 포함하는 머신 비전 기반 시스템을 설명하기 위한 도면이다. 1 is a diagram for describing a machine vision based system including an electronic device according to an embodiment of the present disclosure.
도 1을 참고하면, 머신 비전 기반 시스템(1000)은 전자 장치(100) 및 디스플레이 장치(200)를 포함할 수 있다. Referring to FIG. 1, the machine vision based
전자 장치(100)는 스마트 팩토리 내의 컨베이어 벨트(300)를 통하여 전자 장치(100)를 지나가는 객체(10)를 검사할 수 있다. 구체적으로, 전자 장치(100)는 컨베이어 벨트(300) 상의 객체(10)를 촬영하여 객체(10)에 결함이 존재하는지 판단할 수 있다. The
객체(10)의 결함은 객체(10)가 생산, 제조되는 과정에서 제품의 외관에 발생된 불규칙적인 스크레치, 찍힘, 깨짐 등의 하자를 나타낼 수 있다. Defects of the
여기에서, 객체(10)는, 스마트 팩토리에서 생산, 제조, 가공되는 모든 물품이 될 수 있다. 가령, 객체(10)는, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크톱 PC(desktop personal computer), 랩톱 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다. Here, the
어떤 실시 예들에서, 객체(10)는 가전제품(home appliance)일 수 있다. 가전제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 삼성 One Connect Box™), 게임 콘솔, 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.In some embodiments, the
또한, 어떤 실시 예들에서, 객체(10)는 스마트폰, 태블릿 PC, 가전 제품 등과 같이 완성된 형태의 제품이 아니라, 디스플레이 패널, 배터리, 버튼 등과 같이 완성된 형태의 제품에 포함되는 부품일 수도 있다. In addition, in some embodiments, the
전자 장치(100)는 컨베이어 벨트(300)의 상하좌우 및 정면을 이동하면서 컨베이어 벨트(300) 상에 놓인 객체(10)를 다각도로 촬영할 수 있다. 그리고, 전자 장치(100)는 객체(10)가 컨베이어 벨트(300) 상에서 이동함에 따라, 컨베이어 벨트(300) 상의 객체(10)를 추적하면서 객체(10)의 이미지를 획득할 수 있다. The
이를 위하여, 전자 장치(100)는 컨베이어 벨트(300)상의 공간을 자유자재로 움직일 수 있도록 설계될 수 있다. To this end, the
전자 장치(100)는 전자 장치(100)에 포함된 카메라의 조도, 휘도 및 초점 거리 등 다양한 촬영 조건을 조절하면서 객체(10)의 다양한 이미지를 획득할 수 있다. The
전자 장치(100)는 획득한 객체(10)의 이미지를 이용하여 촬영한 객체(10)에 결함이 존재하는지 여부를 판단할 수 있다. 구체적으로, 전자 장치(100)는 객체(10)와 관련된 이미지를 기초로 학습된 인공 지능 모델을 이용하여 객체(10)에 결함이 존재하는지 여부를 판단할 수 있다. 여기에서 객체(10)와 관련된 이미지라 함은, 불규칙적인 스크레치, 찍힘, 깨짐 등과 같은 결함이 존재하지 않는 상태의 객체(10)의 이미지를 나타낼 수 있다. The
더욱 구체적으로, 전자 장치(100)는 컨베이어 벨트(300) 상의 객체(10)의 이미지를 촬영하고, 이를 학습된 모델에 입력하여 객체(10)의 정상 이미지를 획득하며, 촬영된 이미지와 학습 모델로부터 획득한 이미지를 비교하여 객체(10)의 결함 여부를 판단할 수 있다. More specifically, the
구체적으로, 전자 장치(100)는 촬영된 이미지와 학습 모델로부터 획득한 이미지 간에 서로 상이한 영역이 존재하는지 여부, 상이한 영역이 발생한 원인이 객체(10)에 발생된 결함 때문인지, 아니면 빛 번짐, 이물질 부착 등과 같은 외부 요인에 의한 것인지 판단할 수 있다. Specifically, the
한편, 도 1에는 하나의 전자 장치(100)만이 도시되어 있으나, 반드시 이에 한하는 것은 아니다. 즉, 컨베이어 벨트(300) 상의 하나의 객체를 촬영하는 전자 장치(100)가 컨베이어 벨트(300) 위의 공간에 적어도 하나 이상 존재할 수도 있다. Meanwhile, although only one
전자 장치(100)는 객체(10)의 이미지 및 판단된 결과 정보를 디스플레이 장치(200)에 전송할 수 있다. The
디스플레이 장치(200)는 객체(10)의 촬영된 이미지, 학습 모델로부터 획득된 이미지, 결함 발생 여부 및 결함 위치 등의 정보를 표시할 수 있으며, 이에 따라 머신 비전 시스템(1000)의 관리자는 컨베이어 벨트(300) 상의 객체(10)의 이미지, 결함 존재 여부 및 결함의 위치 등을 알 수 있다. The
도 1에는 디스플레이 장치(200)가 전자 장치(100)와 별도의 장치로 구현되어 있으나, 전자 장치(100)가 디스플레이 장치(200)를 포함할 수 있음은 물론이다. Although the
또한, 도 1에는 전자 장치(100)가 직접 디스플레이 장치(200)에 객체(10)의 이미지 및 결함과 관련된 정보를 전송하는 것으로 서술하였으나, 전자 장치(100)와 디스플레이 장치(200) 사이에 서버(미도시)가 존재하여, 전자 장치(100)는 서버(미도시)에 객체(10)의 이미지 및 결함과 관련된 정보를 전송하고, 디스플레이 장치(200)는 서버(미도시)로부터 객체(10)의 이미지 및 결함과 관련된 정보를 수신할 수도 있다. In addition, in FIG. 1, it has been described that the
본 개시의 다양한 실시 예에 따른 전자 장치(100)를 통하여 머신 비전 기반 시스템은 객체(10)에 결함이 존재하는지 여부를 판단할 수 있다. 이하, 도 2를 참고하여 본 개시의 일 실시 예에 따른 전자 장치(100)를 설명하도록 한다. Through the
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다. 2 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
도 2를 참고하면, 전자 장치(100)는 카메라(110), 메모리(120) 및 프로세서(130)를 포함한다. Referring to FIG. 2, the
카메라(110)는 객체(10)를 다양한 각도에서 촬영할 수 있다. 카메라(110)는 객체(10)의 x, y 및 z 축에서 객체(10)의 상하좌우 및 정면을 촬영할 수 있다. 이때, 카메라(110)는 렌즈의 조도 및 휘도 등과 같은 밝기 조건을 다르게 하거나, 렌즈의 초점 거리를 조절하면서, 한 위치에서의 객체(10)의 다양한 이미지(10)를 촬영할 수 있다. The
카메라(110)는 획득한 객체(10)의 이미지를 프로세서(130)에 전달할 수 있으며, 프로세서(130)는 카메라(110)로부터 수신된 이미지를 기초로 객체(10)에 결함이 존재하는지 판단할 수 있다. The
메모리(120)는 예를 들면, 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.The
외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 포함할 수 있다. 외장 메모리는 다양한 인터페이스를 통하여 전자 장치(100)와 기능적으로 및/또는 물리적으로 연결될 수 있다.The external memory may be a flash drive, for example, compact flash (CF), secure digital (SD), micro secure digital (micro-SD), mini secure digital (mini-SD), extreme digital (xD), It may include a multi-media card (MMC) or a memory stick (memory stick). The external memory may be functionally and/or physically connected to the
메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(120), 프로세서(130) 내 롬, 램 또는 전자 장치(100)에 장착되는 메모리 카드(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.The
메모리(120)는 전자 장치(100)를 제어하기 위한 컴퓨터 실행가능한 적어도 하나의 명령(instruction)을 포함할 수 있다. The
또한, 메모리(120)는 본 개시의 다양한 실시 예에 따른 인공지능 모델들을 저장할 수 있다. Also, the
본 개시에서 설명되는 인공지능 모델은 인공지능 알고리즘 기반으로 학습된 판단 모델로서, 예로, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 학습된 인공지능 모델은 인간의 뇌 구조를 컴퓨터상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 또한, 학습된 인공지능 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 학습된 인공지능 모델의 예에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 등이 있을 수 있으나 이에 한정되지 않는다.The artificial intelligence model described in the present disclosure is a judgment model learned based on an artificial intelligence algorithm, and may be, for example, a model based on a neural network. The learned artificial intelligence model may be designed to simulate a human brain structure on a computer and may include a plurality of network nodes having weights, which simulate neurons of a human neural network. The plurality of network nodes may form a connection relationship so that neurons simulate synaptic activity of neurons that exchange signals through synapses. In addition, the trained artificial intelligence model may include, for example, a neural network model or a deep learning model developed from a neural network model. In the deep learning model, a plurality of network nodes may be located at different depths (or layers) and exchange data according to a convolution connection relationship. Examples of the learned artificial intelligence model may include, but are not limited to, Deep Neural Network (DNN), Recurrent Neural Network (RNN), and Bidirectional Recurrent Deep Neural Network (BRDNN).
메모리(120)에 저장된 인공지능 모델들 중 제1 모델은 카메라(110)가 촬영한 객체(10)의 이미지를 기초로 결함이 존재하지 않는 객체(10)의 이미지를 제공하도록 학습된 모델일 수 있다. The first model among the AI models stored in the
또한, 메모리(120)에 저장된 인공지능 모델들 중 제2 모델은 카메라(110)가 촬영한 객체(10)의 이미지를 기초로 객체(10)에 스크레치, 찍힘 등의 결함이 발생되었는지 판단하는 인공지능 모델일 수 있다. In addition, the second model among the artificial intelligence models stored in the
그리고, 메모리(120)에 저장된 인공지능 모델들 중 제3 모델은 제1 모델의 학습 데이터를 생성하도록 학습된 모델일 수 있다. In addition, the third model among the AI models stored in the
한편, 도 3은 제1 모델을 설명하기 위한 도면으로, 구체적으로 도 3a는 결함이 존재하지 않는 객체(10)의 이미지를 학습하는 제1 모델을 설명하기 위한 도면이고, 도 3b는 결함이 존재하지 않는 객체(10)의 이미지를 제공하는 제1 모델을 설명하기 위한 도면이다. Meanwhile, FIG. 3 is a diagram for explaining a first model, and specifically, FIG. 3A is a diagram for explaining a first model for learning an image of an
도 3a를 참조하면, 제1 모델은 인공지능 알고리즘에 의해 학습된 인공지능 모델로, 결함이 없는 객체(10)의 이미지(220)를 제공하도록 학습된 모델일 수 있다.Referring to FIG. 3A, the first model is an artificial intelligence model trained by an artificial intelligence algorithm, and may be a model trained to provide an
이를 위하여, 제1 모델은 결함이 없는 객체(10)의 복수의 이미지(210)를 제공받아 학습될 수 있다. 이때, 제1 모델은 Autoencoder, VAE((Variational Auto-encoder) GAN(Generative Adversarial Network) 또는 Associate Memory 등과 같은 이미지 복원 알고리즘에 의해 학습된 모델일 수 있다. To this end, the first model may be trained by receiving a plurality of
즉, 제1 모델은 인공지능 기반 이미지 복원 알고리즘에 의하여 결함이 없는 객체(10)의 이미지를 생성한다는 점에서, 도 3b와 같이 일부 결함이 존재하는 객체(10)의 이미지(310)가 입력되더라도, 결함이 없는 객체(10)의 이미지(320)를 생성할 수 있다. That is, the first model generates an image of the
예를 들어, 도 3a와 같이 제1 모델은 결함이 존재하지 않는 핸드폰의 프레임 이미지(210)를 기초로 결함이 존재하지 않는 핸드폰의 프레임 이미지(220)를 생성하도록 학습될 수 있다. 이때, 제1 모델은 복수의 결함이 없는 핸드폰 프레임 이미지를 기초로 학습될 수 있다. For example, as illustrated in FIG. 3A, the first model may be trained to generate a
그리고, 복수의 이미지를 기초로 학습된 제1 모델은, 도 3b와 같이 핸드폰 프레임의 좌측 하단에 일부 스크레치가 발생된 핸드폰 프레임 이미지(310)가 입력되더라도, 결함이 존재하지 않는 핸드폰의 프레임 이미지(320)를 생성할 수 있다. In addition, the first model learned based on the plurality of images, even if some of the scratched cell
한편, 제1 모델의 학습 데이터로 이용되는 결함이 없는 객체(10)의 이미지(210)는 결함이 없는 객체(10)를 촬영하여 획득된 이미지일 수도 있으나, 인공지능 모델인 제3 모델에 의하여 획득된 가상 객체의 이미지일 수도 있다. On the other hand, the
이와 관련하여, 도 4는 제1 모델의 학습 데이터(210)를 생성하는 제3 모델을 설명하기 위한 도면이다. In this regard, FIG. 4 is a diagram for describing a third model that generates
제3 모델은 인공지능 알고리즘을 이용하여 객체(10)의 설계 이미지(410)를 기초로 객체(10)의 이미지(421, 422)를 제공하도록 학습될 수 있다. 여기에서 객체(10)의 설계 이미지는 객체(10)가 생산, 제조되기 전에 생성되는 이미지로 CAD(Computer Aided Design) 이미지, CAE(Computer aided Engineering) 이미지, 3D 프린팅 이미지 등이 될 수 있다. 한편, 객체(10)의 설계 이미지는 반드시 이에 한하는 것은 아니며, 객체(10)를 실제로 촬영한 이미지가 아닌 가상의 이미지라면 본 개시의 설계 이미지가 될 수 있다. The third model may be trained to provide
제3 모델은 객체(10)의 설계 이미지(410)를 기초로 결함이 존재하지 않는 객체(10)의 이미지(421, 422)를 제공할 수 있다. The third model may provide
도 4에 도시된 바와 같이, 객체(10)의 설계 이미지(410)가 주어져 있다고 가정한다. 이때, 설계 이미지(410)는 객체(10)의 일부분에 대한 설계 이미지일 수 있다. 4, it is assumed that the
이때, 생성된 객체(10)의 이미지는 설계 이미지(410)를 기초로 제조된 객체(10)를 촬영한 이미지와 동일한 이미지일 수 있다. 또한 생성된 객체(10)의 이미지는 설계 이미지(410)를 기초로 생성되었다는 점에서, 결함이 없는 객체(10)의 이미지일 수 있다. At this time, the image of the generated
예를 들어, 제3 모델은 휴대폰 프레임(frame)에 존재하는 홀에 대한 CAD 이미지(410)를 기초로 휴대폰 프레임에 존재하는 홀에 대한 복수의 이미지(421, 422)를 생성할 수 있는데, 이때 생성된 이미지(421, 422)는 CAD 이미지(410)에 따라 제조된 휴대폰 프레임의 홀을 촬영한 이미지와 동일한 이미지로, 결함이 존재하지 않는 홀을 촬영한 이미지일 수 있다. For example, the third model may generate a plurality of
한편, 제3 모델은 image-to-image generation 기술, image-to-image synthe sis기술 또는 image-to-image 합성 기술을 이용하여 다양한 변화 요인을 갖는 이미지(421, 422)를 생성할 수 있다. 가령, 제3 모델은 image-to-image generation 기술, image-to-image synthe sis기술 또는 image-to-image 합성 기술을 이용하여 프레임의 색상 또는 재질이 상이한 객체(10)의 이미지(421, 422)를 생성할 수 있다. Meanwhile, the third model may generate
이에 따라, 제1 모델은 제3 모델로부터 생성된 객체(10)의 이미지(421, 422)를 기초로, 결함이 존재하지 않는 객체(10)의 다양한 이미지를 생성하도록 학습될 수 있다. Accordingly, the first model may be trained to generate various images of the
한편, 상술한 인공지능 모델들은 외부의 서버(미도시)에서 학습되어 전자 장치(100)로 제공될 수 있다. 전자 장치(100)는 외부 서버(미도시)로부터 인공지능 모델을 다운로드하여 메모리(120)에 저장할 수 있고, 인공지능 모델이 업데이트(또는 재 학습)되면 업데이트된 인공지능 모델을 외부 서버로부터 수신하여 저장할 수도 있다. 이를 위하여 전자 장치(100)는 외부 서버와 근거리 통신망(LAN, Local Area Network) 및 인터넷망 등을 통해 연결될 수 있다. Meanwhile, the artificial intelligence models described above may be learned from an external server (not shown) and provided to the
일 실시 예에 따르면, 메모리(120)의 전부 또는 일부는 클라우드 서버와 같은 전자 장치(100)의 외부 서버로 구현될 수도 있다. 즉, 상술한 인공지능 모델들의 전부 또는 일부는 외부 서버에 포함될 수도 있다. According to an embodiment, all or part of the
다시 도 2로 돌아와서, 프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어하기 위한 구성이다. 예를 들면, 프로세서(130)는 운영 체제 또는 응용 프로그램을 구동하여 프로세서(130)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(130)는 CPU(central processing unit) 또는 GPU(graphics-processing unit)이거나 둘 다일 수 있다. 프로세서(130)는 적어도 하나의 범용 프로세서(general processor), 디지털 신호 프로세서(digital signal processor), ASIC(Application specific integrated circuit), SoC(system on chip), MICOM(Microcomputer) 등으로 구현될 수 있다.Returning to FIG. 2 again, the
프로세서(130)는 메모리(120)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 동작을 수행할 수 있다.The
프로세서(130)는 카메라(110) 및 메모리(120)와 연결되어 전자 장치(100)를 제어할 수 있다. The
프로세서(130)는 카메라(110)를 통해 객체를 촬영한 제1 이미지를 획득하고, 획득된 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 객체를 포함하는 제2 이미지를 획득할 수 있다. The
이때, 상기 도 3에서 상술한 바와 같이 제1 모델은 결함이 존재하지 않는 상태의 객체(10)의 이미지를 생성하도록 학습된 모델이라는 점에서, 카메라(110)를 통해 촬영된 객체(10)에 결함이 존재하더라도, 제2 이미지는 결함이 없는 상태의 객체의 이미지가 될 수 있다. At this time, as described above in FIG. 3, in that the first model is a model trained to generate an image of the
여기에서, 제2 이미지는 제1 이미지를 기초로 생성된 이미지라는 점에서, 제1 이미지에서의 객체의 위치와 제2 이미지에서의 결함이 없는 객체의 위치는 서로 동일할 수 있다. Here, since the second image is an image generated based on the first image, the location of the object in the first image and the location of the object without defects in the second image may be the same.
프로세서(130)는 제1 이미지 및 제2 이미지에 기초하여 객체의 결함 여부를 판단할 수 있다. The
구체적으로, 프로세서(130)는 제1 이미지와 제2 이미지를 비교하여, 제1 이미지에 포함된 객체의 이미지와 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단할 수 있다. 제1 이미지에서의 객체의 위치와 제2 이미지에서의 결함이 없는 객체의 위치는 서로 동일하다는 점에서, 프로세서(130)는 제1 이미지 및 제2 이미지를 오버랩 하여 서로 제1 이미지 및 제2 이미지 간에 서로 상이한 영역이 존재하는지 판단할 수 있다. Specifically, the
제2 이미지는 결함이 없는 상태의 객체의 이미지라는 점에서, 객체(10)를 촬영한 제1 이미지와 제1 모델로부터 획득된 제2 이미지 간에 서로 상이한 영역이 존재하지 않는 경우, 제1 이미지에 포함된 객체(10)의 이미지는 결함이 존재하지 않는 객체(10)의 이미지가 될 수 있다. Since the second image is an image of an object in a defect-free state, when a different region does not exist between the first image photographing the
반면, 제1 이미지와 제2 이미지 간에 서로 상이한 영역이 존재하는 경우, 서로 상이한 영역은 결함이 존재하는 영역이 될 수도 있지만, 결함이 존재하지 않는 영역이 될 수도 있다. 가령, 제1 이미지와 제2 이미지 간에 상이한 영역은 카메라(110)의 빛 번짐, 객체(10) 또는 카메라(110)에 묻은 이물질이 포함된 영역일 뿐, 객체(10)에 포함된 스크레치, 깨짐 등과 같은 결함이 존재하는 영역이 아닐 수도 있다. On the other hand, when different areas exist between the first image and the second image, different areas may be areas where defects exist, but may be areas where defects do not exist. For example, the different areas between the first image and the second image are light smears of the
이에 따라, 프로세서(130)는 학습된 제2 모델을 이용하여 제1 이미지 및 제2 이미지 간에 서로 상이한 영역의 특징, 즉, 상이한 영역에 결함이 존재하는지 여부를 판단할 수 있다. 여기에서 제2 모델은 입력된 이미지에 포함된 객체(10)에 스크레치, 찍힘 등의 결함이 발생되었는지 판단하도록 학습된 인공지능 모델일 수 있다. Accordingly, the
구체적으로, 프로세서(130)는 제1 이미지에서 상이한 영역에 대응되는 이미지를 획득하고, 획득된 이미지를 학습된 제2 모델의 입력 데이터로 사용하여 상이한 영역의 특징을 판단할 수 있다. 즉, 프로세서(130)는 제2 모델을 이용하여 상이한 영역에 대응되는 이미지가 빛 번짐 또는 이물질 등이 포함된 이미지인지, 스크레치, 깨짐 등과 같은 결함이 존재하는 이미지인지 판단할 수 있다. Specifically, the
그리고, 프로세서(130)는 판단된 상이한 영역의 특징에 기초하여 객체(10)의 결함 여부를 판단할 수 있다. Also, the
예를 들어, 프로세서(130)는 판단된 상이한 영역의 이미지가 빛 번짐 또는 이물질 등 외부 요인에 의한 것이라고 판단한 경우, 상이한 영역에 대응되는 이미지가 결함이 존재하지 않는 객체의 이미지라고 판단할 수 있다. 그러나, 프로세서(130)가 판단된 상이한 영역의 이미지가 객체(10)의 외관의 스크레치, 깨짐 등에 의한 것이라고 판단한 경우, 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지라고 판단할 수 있다. For example, if it is determined that the determined image of the different region is due to external factors such as light bleeding or foreign matter, the
그리고, 프로세서(130)는 판단된 상이한 영역의 특징에 따라 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지라고 판단된 경우, 객체에 결함이 존재하는 것으로 판단할 수 있다. In addition, when it is determined that the image corresponding to the different region is the image of the object having the defect according to the determined characteristics of the different regions, the
즉, 프로세서(130)는 제2 모델을 기초로 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지라고 판단한 경우, 객체에 결함이 존재하는 것으로 판단하고, 객체에 존재하는 결함의 종류(가령, 스크레치, 깨짐 등)를 판단할 수 있다. That is, when the
한편, 도 2의 구성 요소가 전자 장치(100)의 필수 구성 요소인 것은 아니다. 전자 장치(100)는 도 2의 구성 요소보다 적은 구성 요소에 의해 구현될 수도 있으며, 도 2의 구성 요소보다 많은 구성 요소에 의해 구현될 수도 있다. Meanwhile, the components of FIG. 2 are not essential components of the
도 5는 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 상세하게 설명하기 위한 블록도이다. 5 is a block diagram illustrating in detail a configuration of an electronic device according to various embodiments of the present disclosure.
도 5를 참조하면, 전자 장치(100)는 카메라(110), 메모리(120), 프로세서(130), 디스플레이(140), 통신부(150) 및 입력부(160)를 포함할 수 있다. Referring to FIG. 5, the
카메라(110), 메모리(120) 및 프로세서(130)와 관련하여 설명의 편의상 도 4와 중복된 범위 내에서의 설명은 생략하도록 한다. For convenience of description in relation to the
디스플레이(140)는 프로세서(130)의 제어에 따라 다양한 정보를 표시할 수 있다. 디스플레이(140)는 프로세서(130)의 제어에 따라 객체(10)의 이미지 및 객체(10)의 결함 여부에 대한 정보를 표시할 수 있다. The
여기에서, 객체(10)의 이미지는 카메라(110)에 의해 촬영된 객체(10)의 이미지 및 제1 모델에 의해 획득된 객체(10)의 이미지 중 적어도 하나를 포함할 수 있다. Here, the image of the
그리고, 객체(10)의 결함 여부에 대한 정보는 객체(10)에 결함이 존재하는 영역에 대한 정보로, 객체(10)에 결함이 존재하는 영역에 관한 정보, 결함의 종류에 관한 정보 등을 포함할 수 있다. In addition, the information on whether or not the
통신부(150)는 전자 장치(100)가 외부 서버(미도시) 및 디스플레이 장치(200)와 통신을 수행하기 위한 구성요소이다. 통신부(150)를 통하여 전자 장치(100)는 인공지능 모델이 저장된 외부 서버(미도시)로부터 제1 모델 내지 제3 모델을 수신할 수 있다. 또한, 전자 장치(100)는 통신부(150)를 통하여 디스플레이 장치(200)에 객체(10)의 이미지 및 객체(10)의 결함 여부에 관한 정보를 전송할 수 있다. The
이를 위하여, 통신부(140)는 유선 통신 모듈(미도시), 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다. To this end, the
여기에서, 유선 통신 모듈은 유선 이더넷(Ethernet)과 같이 유선 통신 방식에 따라 외부 장치(미도시)와 통신을 수행하기 위한 모듈이다. 그리고, 근거리 무선 통신 모듈이란 블루투스(Bluetooth, BT), BLE(Bluetooth Low Energy), ZigBee 방식 등과 같은 근거리 무선 통신 방식에 따라 근거리에 위치한 외부 장치(미도시)와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 외부 장치(미도시) 및 음성 인식 서버(미도시)와 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 5세대 네트워크(5G Networks) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.Here, the wired communication module is a module for performing communication with an external device (not shown) according to a wired communication method such as wired Ethernet. In addition, the short-range wireless communication module is a module for performing communication with an external device (not shown) located at a short distance according to a short-range wireless communication method such as Bluetooth (Bluetooth, BT), Bluetooth Low Energy (BLE), and ZigBee. In addition, the wireless communication module is a module that is connected to an external network according to wireless communication protocols such as WiFi and IEEE to communicate with an external device (not shown) and a voice recognition server (not shown). In addition, the wireless communication module is based on various mobile communication standards such as 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), and 5G Networks. It may further include a mobile communication module that performs communication by connecting to a mobile communication network.
입력부(160)는 사용자의 입력을 입력 받기 위한 구성요소로, 입력 인터페이스가 이에 해당할 수 있다. 입력부(160)를 통하여, 전자 장치(100)는 카메라(110)의 촬영 조건에 대한 사용자의 입력을 받을 수 있다. 가령, 입력부(160)를 통하여 전자 장치(100)는 카메라(100)의 밝기, 초점 거리, 1분동안의 촬영 횟수 등과 같은 촬영 조건을 입력 받을 수 있다. The
한편, 프로세서(120)는 객체(10)의 이미지 또는 판단된 객체(10)의 결함 여부에 대한 정보를 표시하도록 디스플레이(140)를 제어할 수 있다. Meanwhile, the
이와 관련하여, 도 6은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다. 구체적으로, 도 6은 객체(10)에 결함이 존재하는 것으로 판단된 경우 객체(10)의 결함에 대한 정보를 표시하는 전자 장치를 설명하기 위한 도면이다. In this regard, FIG. 6 is a diagram for describing an electronic device according to an embodiment of the present disclosure. Specifically, FIG. 6 is a diagram for describing an electronic device displaying information on a defect of the
프로세서(120)는, 객체(10)에 결함이 존재하는 것으로 판단된 경우, 카메라(110)가 촬영한 객체(10)의 이미지상에서 객체(10)에 결함이 존재하는 영역이 객체(10)의 다른 영역과 구별되도록 표시할 수 있다. When it is determined that a defect exists in the
가령, 도 6에 도시된 바와 같이, 프로세서(120)는 객체(10)의 촬영 이미지상에서 객체(10)에 결함이 존재하는 영역에 사각형, 원 등과 같은 식별 표시를 표시하도록 디스플레이(140)를 제어할 수 있다. For example, as illustrated in FIG. 6, the
그리고, 프로세서(120)는 객체(10)의 이미지상에서 객체(10)에 결함이 존재하는 영역에 식별 표시를 표시하는 것 이외에도, 결함의 종류를 나타내는 정보를 부가적으로 표시하도록 디스플레이(140)를 제어할 수 있다. 가령, 객체(10)에 스크레치가 존재하는 것으로 판단된 경우, 프로세서(120)는 촬영된 객체(10)의 이미지 상에 결합이 존재하는 영역을 표시하는 것 이외에도, '스크레치','스크레치일 가능성: 80%' 등과 같은 정보를 표시할 수 있다. In addition, the
한편, 도 5의 구성은 일 실시 예에 불과하며 전자 장치(100)의 구현 예에 따라 도 5에 도시된 전자 장치(100)의 구성 요소 중 일부는 생략될 수 있다. 가령, 전자 장치(100)는 디스플레이부(140)를 포함하지 않고, 디스플레이 장치(200)와 연결되어 디스플레이 장치(200)에 촬영된 객체의 이미지 및 객체의 결함 여부에 대한 정보를 전송할 수 있으며, 이를 수신한 디스플레이 장치(200)가 도 6과 같은 객체(10)의 이미지 및 결함이 존재하는 영역에 대한 식별 표시 등을 나타낼 수 있다. Meanwhile, the configuration of FIG. 5 is only an embodiment, and some of the components of the
한편, 전자 장치(100)는 상술한 인식 모델을 학습하고 이용하기 위한 학습부 및 분석부를 포함할 수 있다. Meanwhile, the
도 7은 본 개시의 일 실시 예에 따른, 인공지능 모델을 학습하고 이용하기 위한 전자 장치를 설명하기 위한 블록도이다. 7 is a block diagram illustrating an electronic device for learning and using an artificial intelligence model, according to an embodiment of the present disclosure.
도 7을 참조하면 프로세서(130)는 학습부(131) 및 판단부(132) 중 적어도 하나를 포함할 수 있다. Referring to FIG. 7, the
학습부(131)는 학습 데이터를 이용하여 촬영된 객체의 이미지를 기초로 결함이 존재하지 않는 객체의 이미지를 획득하기 위한 기준을 갖는 인공지능 모델을 생성할 수 있다. 일 예로, 학습부(131)는 결함이 없는 상태의 객체의 이미지를 학습 데이터로 하여, 촬영된 객체의 이미지로부터 결함이 없는 객체의 이미지를 획득하도록 인공지능 제1 모델을 생성, 학습 또는 재 학습시킬 수 있다. The
그리고, 학습부(131)는 학습 데이터를 이용하여 촬영된 객체의 이미지에 포함된 결함의 존재 여부 및 종류를 판단하기 위한 기준을 갖는 인공지능 제2 모델을 생성할 수 있다. 일 예로, 학습부(131)는 결함을 포함한 객체의 다양한 이미지를 학습 데이터로 하여, 객체에 포함된 결함의 존재 여부 및 종류를 판단하도록 제2 모델을 생성, 학습 또는 재 학습시킬 수 있다. In addition, the
또한, 학습부(131)는 제1 모델의 학습 데이터, 즉, 결함이 없는 상태의 객체의 이미지를 획득하기 위하여, 객체의 설계 도면과 같은 가상의 객체 이미지를 학습 데이터로 하여, 결함이 없는 상태의 객체의 이미지를 획득하도록 인공지능 제3 모델을 생성, 학습 또는 재 학습시킬 수 있다.In addition, the
판단부(132)는 소정의 이미지를 학습된 인공지능 제1 모델의 입력 데이터로 사용하여, 결함이 없는 객체(10)의 이미지를 생성할 수 있다. 또 다른 실시 예로, 판단부(132)는 소정의 이미지를 학습된 인공지능 제2 모델의 입력 데이터로 사용하여, 소정의 이미지에 포함된 객체(10)에 결함이 존재하는지 여부 및 결함의 종류를 판단할 수 있다. 여기에서, 소정의 이미지는 카메라(110)에 의해 촬영된 객체(10)의 이미지일 수 있다. The
그리고, 판단부(132)는 객체(10)의 설계 도면과 같은 가상의 이미지를 학습된 인공지능 제3 모델의 입력 데이터로 사용하여, 결함이 없는 객체(10)의 이미지를 생성할 수 있다. In addition, the
학습부(131)의 적어도 일부 및 판단부(132)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치(100)에 탑재될 수 있다. 예를 들어, 학습부(131) 및 판단부(132) 중 적어도 하나는 인공지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(131) 및 판단부(132)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.At least a portion of the
한편, 학습부(131) 및 판단부(132)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 또한, 학습부(131) 및 판단부(132)는 유선 또는 무선으로 통하여, 학습부(131)가 구축한 모델 정보를 판단부(132)로 제공할 수도 있고, 학습부(131)로 입력된 데이터가 추가 학습 데이터로서 학습부(132)로 제공될 수도 있다.Meanwhile, the
도 8 및 도 9는 다양한 실시 예에 따른 학습부(131) 및 판단부(132)의 블록도이다. 8 and 9 are block diagrams of the
도 8을 참조하면, 학습부(131)는 학습 데이터 획득부(131-1) 및 모델 학습부(131-4)를 포함할 수 있다. 또한, 학습부(131)는 학습 데이터 전처리부(131-2), 학습 데이터 선택부(131-3) 및 모델 평가부(131-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.Referring to FIG. 8, the
학습 데이터 획득부(131-1)는 객체(10)의 결함이 없는 상태의 이미지를 획득하기 위한 인공지능 제1 모델에 필요한 학습 데이터를 획득할 수 있다. 이 경우, 제1 모델의 학습 데이터는 결함이 없는 상태의 객체를 촬영한 이미지, 학습된 제3 모델에서 획득된, 결함이 없는 상태의 객체의 가상 이미지, 전자 장치(100)에 의하여 결함 영역이 존재하지 않는다고 판단된, 객체의 이미지가 될 수 있다. The learning data acquiring unit 131-1 may acquire learning data required for the artificial intelligence first model for acquiring an image of the
또한, 학습 데이터 획득부(131-1)는 인공지능 제2 모델을 학습시키기 위하여 결함이 존재하는 객체의 다양한 이미지 및 결함의 종류에 관한 다양한 정보를 획득할 수 있다. 이 경우, 학습 데이터 획득부(131-1)는 결합이 존재하는 객체의 이미지와 결함의 종류에 관한 정보를 서로 매칭한 정보를 획득할 수도 있다. In addition, the training data acquisition unit 131-1 may acquire various images and various kinds of information on the types of defects in order to train the artificial intelligence second model. In this case, the learning data acquiring unit 131-1 may acquire information in which the image of the object in which the combination exists and information on the type of defect match each other.
또 다른 실시 예로, 학습 데이터 획득부(131-1)는 결함이 존재하지 않는 객체(10)의 촬영된 이미지가 아닌, 가상의 이미지를 획득하기 위하여 객체(10)의 설계 도면(예를 들면, CAD 도면, CAE 도면 등)을 획득할 수 있다. In another embodiment, the learning data acquisition unit 131-1 is a design drawing of the object 10 (for example, to obtain a virtual image, not a captured image of the
모델 학습부(131-4)는 학습 데이터를 이용하여, 제1 모델이 결함이 없는 상태의 객체를 구체화한 이미지를 생성하는 기준을 갖도록 학습시킬 수 있다. The model learning unit 131-4 may train the first model to have a criterion for generating an image of an object having no defects, using the training data.
또는, 모델 학습부(131-4)는 학습 데이터를 이용하여, 제2 모델이 객체(10)에 결함이 존재하는지 여부 및 객체의 종류를 판단하는 구체적인 기준을 갖도록 학습시킬 수 있다. Alternatively, the model learning unit 131-4 may train the second model to have a specific criterion for determining whether or not a defect exists in the
그리고, 모델 학습부(131-4)는 학습 데이터를 이용하여, 제3 모델이 결함이 존재하지 않는 가상의 객체 이미지를 생성하는 기준을 갖도록 학습시킬 수 있다. Then, the model learning unit 131-4 may train the third model to have a criterion for generating a virtual object image having no defects using the training data.
모델 학습부(131-4)는 지도 학습(supervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(131-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습하는 비지도 학습(unsupervisedlearning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 예컨대, 모델 학습부(131-4)는 GAN(Generative Adversarial Network) 기술 또는 VAE(Variational Auto-encoder) 기술을 이용하여 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(131-4)는, 예를 들어, 학습에 따른 판단 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(131-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공지능 모델을 학습시킬 수 있다.The model learning unit 131-4 may train the artificial intelligence model through supervised learning. Alternatively, the model learning unit 131-4 may, for example, train an artificial intelligence model through unsupervised learning by self-learning using learning data without much guidance. For example, the model learning unit 131-4 may train an artificial intelligence model using a Generative Adversarial Network (GAN) technology or a VAE (Variational Auto-encoder) technology. In addition, the model learning unit 131-4 may train the artificial intelligence model, for example, through reinforcement learning using feedback on whether a judgment result according to learning is correct. In addition, the model learning unit 131-4 may train the artificial intelligence model using, for example, a learning algorithm including an error back-propagation or a gradient descent method. .
또한, 모델 학습부(131-4)는 어떤 학습 데이터를 이용해야 하는지에 대한 선별 기준을 학습할 수도 있다. In addition, the model learning unit 131-4 may also learn the selection criteria for what training data to use.
모델 학습부(131-4)는 미리 구축된 인공지능 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인공지능 모델을 학습할 인공지능 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 인공지능 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 미리 분류되어 있을 수 있다. The model learning unit 131-4 may determine, as a plurality of pre-built artificial intelligence models, an artificial intelligence model for learning an artificial intelligence model having a high relationship between input learning data and basic learning data. In this case, the basic learning data may be pre-classified for each type of data, and the artificial intelligence model may be pre-built for each type of data. For example, the basic training data is pre-classified by various criteria such as the region where the training data is generated, the time when the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, the type of the object in the training data, and the like. It may be.
인공지능 모델이 학습되면, 모델 학습부(131-4)는 학습된 인공지능 모델을 저장할 수 있다. 예컨대, 모델 학습부(131-4)는 학습된 인공지능 모델을 전자 장치(100)의 메모리(120)에 저장할 수 있다.When the artificial intelligence model is learned, the model learning unit 131-4 may store the learned artificial intelligence model. For example, the model learning unit 131-4 may store the learned artificial intelligence model in the
학습부(131)는 인공지능 모델의 판단 결과를 향상시키거나, 인공지능 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(131-2) 및 학습 데이터 선택부(131-3)을 더 포함할 수도 있다. The
학습 데이터 전처리부(131-2)는 결함이 존재하지 않는 객체의 이미지를 획득하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 또한, 학습 데이터 전처리부(131-2)는 객체에 결함이 존재 유무 및 결함의 종류를 판단하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. The learning data pre-processing unit 131-2 may pre-process the acquired data so that the acquired data can be used for learning to acquire an image of an object having no defect. In addition, the learning data preprocessing unit 131-2 may preprocess the acquired data so that the acquired data can be used for learning to determine whether an object has a defect or not and the type of the defect.
학습 데이터 선택부(131-3)는 학습 데이터 획득부(131-1)에서 획득된 데이터 또는 학습 데이터 전처리부(131-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(131-4)에 제공될 수 있다. The learning data selection unit 131-3 may select data required for learning from data acquired by the learning data acquisition unit 131-1 or data preprocessed by the learning data preprocessing unit 131-2. The selected learning data may be provided to the model learning unit 131-4.
학습 데이터 선택부(131-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(131-3)는 모델 학습부(131-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다. The learning data selection unit 131-3 may select learning data necessary for learning from acquired or preprocessed data according to a preset selection criterion. In addition, the learning data selector 131-3 may select learning data according to a preset selection criterion by learning by the model learning unit 131-4.
학습부(131)는 제1 모델 내지 제3 모델의 판단 결과를 향상시키기 위하여, 모델 평가부(131-5)를 더 포함할 수도 있다. The
모델 평가부(131-5)는 인공지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 판단 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(131-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다. The model evaluation unit 131-5 may input the evaluation data to the artificial intelligence model, and if the determination result output from the evaluation data does not satisfy a predetermined criterion, the model learning unit 131-4 may cause the model learning unit 131-4 to learn again. have. In this case, the evaluation data may be predefined data for evaluating the artificial intelligence model.
예를 들어, 모델 평가부(131-5)는 평가 데이터에 대한 학습된 인공지능 모델의 판단 결과 중에서, 판단 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. For example, the model evaluator 131-5, among the judgment results of the learned artificial intelligence model for the evaluation data, sets a predetermined criterion when the number or rate of evaluation data whose judgment result is not accurate exceeds a preset threshold. It can be evaluated as unsatisfactory.
한편, 학습된 인공지능 모델이 복수 개가 존재하는 경우, 모델 평가부(131-5)는 각각의 학습된 인공지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(131-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공지능 모델로서 결정할 수 있다.On the other hand, when there are a plurality of learned AI models, the model evaluator 131-5 evaluates whether each of the learned AI models satisfies a predetermined criterion, and finalizes the model that satisfies a predetermined criterion. You can decide as a model. In this case, when there are a plurality of models satisfying a predetermined criterion, the model evaluator 131-5 may determine any one or a predetermined number of models preset in order of highest evaluation score as the final artificial intelligence model.
도 9를 참조하면, 일부 실시 예에 따른 판단부(132)는 입력 데이터 획득부(132-1) 및 판단 결과 제공부(132-4)를 포함할 수 있다. Referring to FIG. 9, the
또한 판단부(132)는 입력 데이터 전처리부(132-2), 입력 데이터 선택부(132-3) 및 모델 갱신부(132-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다. Also, the
입력 데이터 획득부(132-1)는 결함이 없는 객체의 이미지를 획득하기 위해 필요한 데이터를 획득할 수 있다. 이때, 획득된 데이터는 카메라(110)가 촬영한 객체(10)의 이미지 또는 객체(10)의 설계 이미지가 될 수 있다. 판단 결과 제공부(132-4)는 입력 데이터 획득부(132-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 제1 모델 또는 제3 모델에 적용하여 결함이 없는 객체의 이미지를 획득할 수 있다. The input data acquisition unit 132-1 may acquire data required to acquire an image of an object without defects. At this time, the obtained data may be an image of the
입력 데이터 획득부(132-1)는 이미지에 포함된 객체에 결함이 존재하는지 여부 및 결함의 종류를 판단하기 위해 필요한 데이터를 획득할 수 있다. 판단 결과 제공부(132-4)는 입력 데이터 획득부(132-1)에서 획득된 입력 데이터를 입력 값으로 학습된 제2 모델에 적용하여 객체의 결함 유무 및 결함의 종류를 판단할 수 있다. The input data acquisition unit 132-1 may acquire data necessary to determine whether a defect is present in the object included in the image and the type of the defect. The determination result providing unit 132-4 may apply the input data obtained from the input data acquisition unit 132-1 to the second model learned as an input value to determine whether an object is defective or not and the type of defect.
판단 결과 제공부(132-4)는 후술할 입력 데이터 전처리부(132-2) 또는 입력 데이터 선택부(132-3)에 의해 선택된 데이터를 입력 값으로 인공지능 모델에 적용하여 판단 결과를 획득할 수 있다.The determination result providing unit 132-4 applies the data selected by the input data preprocessing unit 132-2 or the input data selection unit 132-3, which will be described later, to the artificial intelligence model as input values to obtain a determination result. Can.
일 실시 예로, 판단 결과 제공부(132-4)는 입력 데이터 획득부(132-1)에서 획득한 데이터를 학습된 인공지능 모델에 적용하여 결함이 없는 객체의 이미지를 획득할 수 있다. In one embodiment, the determination result providing unit 132-4 may apply the data acquired by the input data acquisition unit 132-1 to the trained artificial intelligence model to obtain an image of a defect-free object.
판단부(132)는 인공지능 모델의 판단 결과를 향상시키거나, 판단 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(132-2) 및 입력 데이터 선택부(132-3)을 더 포함할 수도 있다. The
입력 데이터 전처리부(132-2)는 입력 데이터 획득부(132-1)에서 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 구체적으로, 입력 데이터 전처리부(132-2)는 결함이 존재하지 않는 객체의 이미지를 획득하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다. 또는 입력 데이터 전처리부(132-2)는 객체의 결함 유무 및 결함의 종류를 판단하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. The input data pre-processing unit 132-2 may pre-process the acquired data so that the data acquired by the input data acquisition unit 132-1 can be used. Specifically, the input data pre-processing unit 132-2 may process the acquired data in a predefined format so that the acquired data can be used to acquire an image of an object without defects. Alternatively, the input data pre-processing unit 132-2 may pre-process the acquired data so that the acquired data can be used to determine whether an object is defective or not and the type of defect.
입력 데이터 선택부(132-3)은 입력 데이터 획득부(132-1)에서 획득된 데이터 또는 입력 데이터 전처리부(132-2)에서 전처리된 데이터 중에서 응답 제공에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 판단 결과 제공부(132-4)에게 제공될 수 있다. 입력 데이터 선택부(132-3)는 응답 제공을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(132-3)는 모델 학습부(131-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다. The input data selection unit 132-3 may select data required for providing a response from data acquired by the input data acquisition unit 132-1 or data pre-processed by the input data pre-processing unit 132-2. The selected data may be provided to the determination result providing unit 132-4. The input data selector 132-3 may select some or all of the obtained or preprocessed data according to a preset selection criterion for providing a response. Also, the input data selector 132-3 may select data according to a preset selection criterion by learning by the model learning unit 131-4.
모델 갱신부(132-5)는 판단 결과 제공부(132-4)에 의해 제공되는 판단 결과에 대한 평가에 기초하여, 인공지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(132-5)는 판단 결과 제공부(132-4)에 의해 제공되는 판단 결과를 모델 학습부(132-4)에게 제공함으로써, 모델 학습부(132-4)가 인공지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다. 특히, 모델 갱신부(132-5)는 사용자 입력에 따른 피드백 정보를 바탕으로 인공지능 모델을 재 학습할 수 있다.The model updating unit 132-5 may control the artificial intelligence model to be updated based on the evaluation of the determination result provided by the determination result providing unit 132-4. For example, the model updating unit 132-5 provides the model learning unit 132-4 with the determination result provided by the determination result providing unit 132-4, so that the model learning unit 132-4 AI models can be asked to further learn or update. In particular, the model update unit 132-5 may retrain the artificial intelligence model based on feedback information according to user input.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다. 10 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
우선, 객체를 촬영한 제1 이미지를 획득한다(S1110). 획득된 객체의 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 객체를 포함하는 제2 이미지를 획득할 수 있다(S1120). First, a first image photographing an object is acquired (S1110). A second image including an object in a defect-free state may be obtained by using the image of the acquired object as input data of the learned first model (S1120).
그리고, 제1 이미지 및 제2 이미지에 기초하여 객체의 결함 여부를 판단할 수 있다(S1130).Then, it may be determined whether the object is defective based on the first image and the second image (S1130 ).
구체적으로, 제1 이미지와 제2 이미지를 비교하여, 제1 이미지에 포함된 객체의 이미지와 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단할 수 있다. Specifically, by comparing the first image and the second image, different regions may be determined between an image of an object included in the first image and an image of an object included in the second image.
그리고, 제1 이미지에서 판단된 상이한 영역에 대응되는 이미지를 획득할 수 있다. In addition, images corresponding to different regions determined in the first image may be acquired.
획득된 상이한 영역에 대응되는 이미지를 학습된 제2 모델의 입력데이터로 사용하여 상이한 영역의 특징을 판단할 수 있다. 예를 들어, 상이한 영역의 특징이 빛 번짐 또는 이물질 부착과 같은 원인에 의한 것인지 또는 객체의 깨짐, 쪼개짐과 같은 객체의 결함에 의한 것인지 판단할 수 있다. The characteristics of different regions may be determined by using the images corresponding to the obtained different regions as input data of the learned second model. For example, it may be determined whether the characteristics of different areas are due to causes such as light bleeding or foreign matter attachment or defects of objects such as object breakage or splitting.
그리고, 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단할 수 있다. In addition, it is possible to determine whether the object is defective based on the determined characteristics of different regions.
구체적으로, 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단할 수 있다. Specifically, when it is determined that the image corresponding to the different region is an image of an object having a defect according to the determined characteristics of the different regions, it may be determined that the defect exists in the object.
이때, 제2 이미지는, 학습된 제1 모델에 의해 제1 이미지를 기초로 획득되었다는 점에서, 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일할 수 있다. At this time, since the second image is obtained based on the first image by the learned first model, the location of the object in the first image and the location of the object in a defect-free state in the second image are the same. can do.
한편, 판단된 객체의 결함 여부에 대한 정보를 디스플레이에 표시할 수도 있다. Meanwhile, information on whether the determined object is defective may be displayed on the display.
이 경우, 객체에 결함이 존재하는 것으로 판단되면, 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시할 수 있다. In this case, when it is determined that a defect exists in the object, an area in which the defect exists in the object may be displayed in the first image so as to be distinguished from other areas.
한편, 본 개시의 실시 예들의 전자 장치는 다음과 같은 효과를 가져올 수 있다. 가령, 객체를 촬영하는 각도 및 방향에 따라 촬영된 이미지 상에서의 객체의 이미지는 다양하다는 점에서, 촬영된 객체의 이미지를 통하여 객체에 결함이 존재하는지 유무 및 결함의 존재를 판단하기는 쉽지 않은데, 본 개시의 일 실시 예들과 같이, 촬영된 객체의 이미지를 통하여 결함이 존재하지 않는 객체의 이미지를 생성하고, 상이한 영역이 존재하는지 판단하며, 상이한 영역에 결함이 존재하는지 여부 및 결함의 종류를 판단하는 전자 장치에 의하면, 사용자는 객체의 이미지를 촬영하면 된다는 점에서 사용자의 편의성이 향상될 수 있다. Meanwhile, the electronic device of the embodiments of the present disclosure may have the following effects. For example, it is not easy to determine whether a defect exists or not and whether a defect exists in the object through the image of the captured object, in that the image of the object on the captured image varies according to the angle and direction in which the object is photographed. As in one embodiment of the present disclosure, an image of an object having no defect is generated through an image of the photographed object, it is determined whether a different area exists, and whether a defect exists in a different area and the type of the defect is determined. According to the electronic device, the user's convenience can be improved in that the user only needs to photograph an image of the object.
또한, 결함이 존재하지 않는 객체의 이미지를 획득하는 인공지능 모델을 학습시키기 위하여 많은 양의, 결함이 존재하지 않는 객체의 이미지가 필요로 한데, 본 개시의 일 실시 예들과 같이, 객체의 설계 이미지를 통하여 결함이 존재하지 않는 객체의 이미지를 생성하는 전자 장치에 의하면, 사용자는 객체의 설계 이미지를 학습 데이터로 제공하면 된다는 점에서 역시 사용자의 편의성이 향상될 수 있다. In addition, in order to train an artificial intelligence model that acquires an image of a non-defective object, a large amount of an image of a non-defective object is required. As in one embodiment of the present disclosure, a design image of an object According to an electronic device that generates an image of an object in which a defect does not exist, the user's convenience can also be improved in that the user only needs to provide the design image of the object as learning data.
이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합으로 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.The various embodiments described above may be implemented in software, hardware, or a combination thereof. According to a hardware implementation, embodiments described in the present disclosure include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs) ), processors, controllers, micro-controllers, microprocessors, and other electrical units for performing other functions. According to the software implementation, embodiments such as procedures and functions described herein may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
본 개시의 다양한 실시 예들에 따른 방법은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장될 수 있는 명령어를 포함하는 소프트웨어로 구현될 수 있다. 상기 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비 일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.The method according to various embodiments of the present disclosure may be implemented by software including instructions that can be stored in a machine-readable storage media. The device is a device that can call a stored command from a storage medium and is operable according to the called command, and may include an electronic device (eg, the electronic device 100) according to the disclosed embodiments. When the instruction is executed by the processor, the processor may perform a function corresponding to the instruction directly or using other components under the control of the processor. Instructions can include code generated or executed by a compiler or interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here,'non-transitory' means that the storage medium does not contain a signal and is tangible, but does not distinguish between data being stored semi-permanently or temporarily on the storage medium.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 애플리케이션 스토어(예: 플레이 스토어™)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 애플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, a method according to various embodiments disclosed in this document may be provided as being included in a computer program product. Computer program products can be traded between sellers and buyers as products. The computer program product may be distributed online in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)) or through an application store (eg Play Store™). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored on a storage medium such as a memory of a manufacturer's server, an application store's server, or a relay server, or may be temporarily generated.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each component (eg, module or program) according to various embodiments may be composed of a singular or a plurality of entities, and some of the aforementioned sub-components may be omitted, or other sub-components may be various. It may be further included in the embodiment. Alternatively or additionally, some components (eg, modules or programs) can be integrated into one entity, performing the same or similar functions performed by each corresponding component before being integrated. According to various embodiments, operations performed by a module, program, or other component may be sequentially, parallelly, repeatedly, or heuristically executed, at least some operations may be executed in a different order, omitted, or other operations may be added. Can.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.Although the preferred embodiments of the present disclosure have been described and described above, the present disclosure is not limited to the specific embodiments described above, and it is usually in the technical field belonging to the present disclosure without departing from the gist of the present disclosure claimed in the claims. Of course, various modifications can be made by a person who has knowledge of, and these modifications should not be individually understood from the technical idea or prospect of the present disclosure.
100: 전자 장치
110: 카메라
120: 메모리
130: 프로세서100: electronic device 110: camera
120: memory 130: processor
Claims (16)
카메라;
적어도 하나의 명령(instruction)를 포함하는 메모리; 및
상기 카메라 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하며,
상기 프로세서는, 상기 적어도 하나의 명령을 실행함으로써,
상기 카메라를 통해 객체를 촬영한 제1 이미지를 획득하고, 상기 획득된 객체 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 상기 객체를 포함하는 제2 이미지를 획득하고, 상기 제1 이미지 및 상기 제2 이미지에 기초하여 상기 객체의 결함 여부를 판단하는, 전자 장치.In the electronic device,
camera;
A memory including at least one instruction; And
And a processor connected to the camera and the memory to control the electronic device.
The processor, by executing the at least one instruction,
Acquiring a first image obtained by photographing an object through the camera, using the acquired object first image as input data of the learned first model, obtaining a second image including the object in a defect-free state, , Determining whether the object is defective based on the first image and the second image.
상기 프로세서는,
상기 제1 이미지와 상기 제2 이미지를 비교하여, 상기 제1 이미지에서 상기 객체가 상기 결함이 없는 상태의 객체와 포함된 객체의 이미지와 상기 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단하는, 전자 장치.According to claim 1,
The processor,
By comparing the first image and the second image, in the first image, the object is different from the image of the object without the defect and the image of the object included and the image of the object included in the second image. Electronic device to judge.
상기 프로세서는,
상기 제1 이미지에서 상기 판단된 상이한 영역에 대응되는 이미지를 획득하고, 상기 획득된 상이한 영역에 대응되는 이미지를 학습된 제2 모델의 입력데이터로 사용하여 상기 상이한 영역의 특징을 판단하고, 상기 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단하는, 전자 장치.According to claim 2,
The processor,
Acquiring an image corresponding to the determined different region from the first image, and using the image corresponding to the obtained different region as input data of the learned second model to determine characteristics of the different region, and determining The electronic device determines whether the object is defective based on characteristics of different regions.
상기 프로세서는,
상기 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 획득된 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단하는, 전자 장치.According to claim 3,
The processor,
When it is determined that the acquired image corresponding to the different region is an image of an object having a defect according to the determined characteristic of the different region, the electronic device determines that a defect exists in the object.
상기 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일한, 전자 장치.According to claim 1,
The position of the object in the first image and the position of the object without defects in the second image are the same as each other.
디스플레이;를 더 포함하고,
상기 프로세서는,
상기 판단된 객체의 결함 여부에 대한 정보를 표시하도록 상기 디스플레이를 제어하는, 전자 장치.According to claim 1,
Display; further comprising,
The processor,
And controlling the display to display information on whether the determined object is defective.
상기 프로세서는,
상기 객체에 결함이 존재하는 것으로 판단되면, 상기 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시하도록 상기 디스플레이를 제어하는, 전자 장치. The method of claim 6,
The processor,
If it is determined that a defect exists in the object, the electronic device controls the display to display a region in which the defect exists in the object from the first image so as to be distinguished from other regions.
상기 제1 모델은,
결함이 없는 상태 객체의 이미지를 기초로 학습된 모델이고,
상기 결함이 없는 상태의 객체의 이미지는,
상기 객체의 설계 이미지를 기초로 학습된 제3 모델에 의해 생성되는, 전자 장치.According to claim 1,
The first model,
It is a model trained based on the image of a state object without defects,
The image of the object without the defect,
And an electronic device generated by a third model trained based on the design image of the object.
상기 카메라를 통해 객체를 촬영한 제1 이미지를 획득하는 단계;
상기 획득된 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 상기 객체를 포함하는 제2 이미지를 획득하는 단계; 및
상기 제1 이미지 및 상기 제2 이미지에 기초하여 상기 객체의 결함 여부를 판단하는 단계;를 포함하는 제어 방법.In the control method of an electronic device including a camera,
Obtaining a first image of an object taken through the camera;
Obtaining a second image including the object in a defect-free state by using the acquired first image as input data of the learned first model; And
And determining whether the object is defective based on the first image and the second image.
상기 결함 여부를 판단하는 단계는
상기 제1 이미지와 상기 제2 이미지를 비교하여, 상기 제1 이미지에 포함된 객체의 이미지와 상기 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단하는 단계;를 더 포함하는 제어 방법.The method of claim 9,
The step of determining whether the defect is
And comparing the first image and the second image to determine different areas between the image of the object included in the first image and the image of the object included in the second image.
상기 결함 여부를 판단하는 단계는,
상기 제1 이미지에서 상기 판단된 상이한 영역에 대응되는 이미지를 획득하는 단계;
상기 획득된 상이한 영역에 대응되는 이미지를 학습된 제2 모델의 입력데이터로 사용하여 상기 상이한 영역의 특징을 판단하는 단계; 및
상기 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단하는 단계;를 더 포함하는 제어 방법.The method of claim 9,
Determining whether the defect,
Obtaining an image corresponding to the determined different region from the first image;
Determining characteristics of the different regions by using the image corresponding to the obtained different regions as input data of the learned second model; And
And determining whether the object is defective based on characteristics of the determined different regions.
상기 결함 여부를 판단하는 단계는,
상기 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단하는 단계;를 더 포함하는 제어 방법.The method of claim 11,
Determining whether the defect,
And determining that a defect exists in the object when the image corresponding to the different region is determined as an image of an object having a defect according to the determined characteristics of the different regions.
상기 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일한, 제어 방법.The method of claim 9,
The position of the object in the first image and the position of an object without defects in the second image are the same as each other.
상기 판단된 객체의 결함 여부에 대한 정보를 디스플레이에 표시하는 단계;를 더 포함하는, 제어 방법.The method of claim 9,
And displaying information on whether the determined object is defective on a display.
상기 객체에 결함이 존재하는 것으로 판단되면, 상기 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시하는 단계;를 더 포함하는 제어 방법. The method of claim 14,
And if it is determined that a defect exists in the object, displaying a region in which the defect exists in the object to be distinguished from other regions in the first image.
상기 제1 모델은,
결함이 없는 상태 객체의 이미지를 기초로 학습된 모델이고,
상기 결함이 없는 상태의 객체의 이미지는,
상기 객체의 설계 이미지를 기초로 학습된 제3 모델에 의해 생성되는, 제어 방법.
The method of claim 9,
The first model,
It is a model trained based on the image of a state object without defects,
The image of the object without the defect,
The control method is generated by a third model trained based on the design image of the object.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005296A KR102601135B1 (en) | 2019-01-15 | 2019-01-15 | Electronic apparatus and controlling method thereof |
PCT/KR2019/013359 WO2020149493A1 (en) | 2019-01-15 | 2019-10-11 | Electronic device and method for controlling same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005296A KR102601135B1 (en) | 2019-01-15 | 2019-01-15 | Electronic apparatus and controlling method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200088682A true KR20200088682A (en) | 2020-07-23 |
KR102601135B1 KR102601135B1 (en) | 2023-11-13 |
Family
ID=71613682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190005296A KR102601135B1 (en) | 2019-01-15 | 2019-01-15 | Electronic apparatus and controlling method thereof |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102601135B1 (en) |
WO (1) | WO2020149493A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102263716B1 (en) * | 2020-01-22 | 2021-06-10 | 라이트비전 주식회사 | AI-based material defect image generation method and defect detection system |
KR20220028347A (en) * | 2020-08-28 | 2022-03-08 | 제노테크주식회사 | Smart factory risk factor detection system and control method thereof |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004354250A (en) * | 2003-05-29 | 2004-12-16 | Nidek Co Ltd | Defect inspection device |
JP2006234656A (en) * | 2005-02-25 | 2006-09-07 | Ricoh Co Ltd | Defect detection device and defect detection method |
JP2017211259A (en) * | 2016-05-25 | 2017-11-30 | 株式会社シーイーシー | Inspection device, inspection method and program |
KR20180004046A (en) * | 2017-12-21 | 2018-01-10 | 동우 화인켐 주식회사 | Apparatus and method for inspection |
JP2018112863A (en) * | 2017-01-11 | 2018-07-19 | 株式会社東芝 | Abnormality detecting device, abnormality detecting method, and abnormality detecting program |
JP2019002788A (en) * | 2017-06-15 | 2019-01-10 | リョーエイ株式会社 | Metal processing surface inspection method, and metal processing surface inspection device |
-
2019
- 2019-01-15 KR KR1020190005296A patent/KR102601135B1/en active IP Right Grant
- 2019-10-11 WO PCT/KR2019/013359 patent/WO2020149493A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004354250A (en) * | 2003-05-29 | 2004-12-16 | Nidek Co Ltd | Defect inspection device |
JP2006234656A (en) * | 2005-02-25 | 2006-09-07 | Ricoh Co Ltd | Defect detection device and defect detection method |
JP2017211259A (en) * | 2016-05-25 | 2017-11-30 | 株式会社シーイーシー | Inspection device, inspection method and program |
JP2018112863A (en) * | 2017-01-11 | 2018-07-19 | 株式会社東芝 | Abnormality detecting device, abnormality detecting method, and abnormality detecting program |
JP2019002788A (en) * | 2017-06-15 | 2019-01-10 | リョーエイ株式会社 | Metal processing surface inspection method, and metal processing surface inspection device |
KR20180004046A (en) * | 2017-12-21 | 2018-01-10 | 동우 화인켐 주식회사 | Apparatus and method for inspection |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102263716B1 (en) * | 2020-01-22 | 2021-06-10 | 라이트비전 주식회사 | AI-based material defect image generation method and defect detection system |
KR20210095014A (en) * | 2020-01-22 | 2021-07-30 | 라이트비전 주식회사 | AI-based material defect detection method and system |
KR20220028347A (en) * | 2020-08-28 | 2022-03-08 | 제노테크주식회사 | Smart factory risk factor detection system and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR102601135B1 (en) | 2023-11-13 |
WO2020149493A1 (en) | 2020-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102425578B1 (en) | Method and apparatus for recognizing an object | |
KR102459221B1 (en) | Electronic apparatus, method for processing image thereof and computer-readable recording medium | |
US11557085B2 (en) | Neural network processing for multi-object 3D modeling | |
KR102651253B1 (en) | An electronic device for determining user's emotions and a control method thereof | |
US11068698B2 (en) | Generating animated three-dimensional models from captured images | |
US11216935B2 (en) | Vision inspection management method and system inspecting based on process data | |
CN111418198B (en) | Electronic device for providing text-related image and method of operating the same | |
JP2019087181A (en) | Device and method for image inspection | |
US11966317B2 (en) | Electronic device and method for controlling same | |
US11468296B2 (en) | Relative position encoding based networks for action recognition | |
US11900722B2 (en) | Electronic apparatus and control method thereof | |
US10733481B2 (en) | Cloud device, terminal device, and method for classifying images | |
KR20200108521A (en) | Electronic apparatus and controlling method thereof | |
US20230036338A1 (en) | Method and apparatus for generating image restoration model, medium and program product | |
KR20190140519A (en) | Electronic apparatus and controlling method thereof | |
KR102601135B1 (en) | Electronic apparatus and controlling method thereof | |
US11430137B2 (en) | Electronic device and control method therefor | |
US10997947B2 (en) | Electronic device and control method thereof | |
JP2023508641A (en) | Data augmentation-based matter analysis model learning device and method | |
KR102562052B1 (en) | Electronic apparatus and contorl method thereof | |
JP7362924B2 (en) | Data augmentation-based spatial analysis model learning device and method | |
CN114038045A (en) | Cross-modal face recognition model construction method and device and electronic equipment | |
CN110120054A (en) | Automatic counting method and device, medium, electronic equipment based on image procossing | |
KR20230138314A (en) | An artificial intelligence apparatus for detecting defective products based on product images and method thereof | |
KR20220107683A (en) | Electronic device and Method for controlling th electronic device thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |