KR102601135B1 - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR102601135B1
KR102601135B1 KR1020190005296A KR20190005296A KR102601135B1 KR 102601135 B1 KR102601135 B1 KR 102601135B1 KR 1020190005296 A KR1020190005296 A KR 1020190005296A KR 20190005296 A KR20190005296 A KR 20190005296A KR 102601135 B1 KR102601135 B1 KR 102601135B1
Authority
KR
South Korea
Prior art keywords
image
defect
model
electronic device
learned
Prior art date
Application number
KR1020190005296A
Other languages
English (en)
Other versions
KR20200088682A (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 KR1020190005296A priority Critical patent/KR102601135B1/ko
Priority to PCT/KR2019/013359 priority patent/WO2020149493A1/ko
Publication of KR20200088682A publication Critical patent/KR20200088682A/ko
Application granted granted Critical
Publication of KR102601135B1 publication Critical patent/KR102601135B1/ko

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
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M11/00Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
    • G01M11/08Testing mechanical properties
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M11/00Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
    • G01M11/08Testing mechanical properties
    • G01M11/081Testing mechanical properties by using a contact-less detection method, i.e. with a camera
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M99/00Subject matter not provided for in other groups of this subclass
    • G01M99/005Testing of complete machines, e.g. washing-machines or mobile phones
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8887Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques
    • GPHYSICS
    • 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

Abstract

전자 장치 및 이의 제어 방법이 제공된다. 본 전자 장치는 카메라, 적어도 하나의 명령(instruction)를 포함하는 메모리 및 카메라 및 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서를 포함한다. 프로세서는, 적어도 하나의 명령을 실행함으로써, 카메라를 통해 객체를 촬영한 제1 이미지를 획득하고, 획득된 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 객체를 포함하는 제2 이미지를 획득하고, 제1 이미지 및 제2 이미지에 기초하여 객체의 결함 여부를 판단한다.

Description

전자 장치 및 이의 제어 방법 {ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 객체의 이미지를 이용하여 좀 더 효율적이고 편리하게 객체에 결함이 존재하는지 여부를 판단할 수 있는 전자 장치 및 이의 제어 방법에 관한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
최근에는 공장 내의 설비와 기계에 ICT(Information and Communications Technologies)기술을 적용하여 제품의 제조 및 가공 과정을 자동화지능화하는 스마트 팩토리(Smart Factory) 관련 기술들이 증가하고 있다.
특히, 스마트 팩토리의 관련 기술들 중 머신 비전(Machine Vision)를 기반으로 한 제품 검사의 자동화와 관련된 기술이 등장하고 있다. 구체적으로, 컴퓨터 기능을 가진 영상 장치인 머신 비전(Machine Vision)를 이용하여, 제품의 형상 또는 표면에 불량이 존재하는지 여부를 자동으로 판단하는 기술이 스마트 팩토리와 관련된 기술로 나타나고 있다.
이와 관련하여, 제품의 형상 또는 표면에 발생하는 결함의 패턴이 매우 다양해지고 있으며, 제품에 포함되는 부품의 종류가 다양해짐에 따라 제품 내에서의 결함의 위치나 배경 또한 매우 다양하고 복잡해지고 있다. 또한, 머신 비전 기반의 검사 시스템은 카메라를 이용하여 획득한 이미지를 기반으로 제품의 결함을 판단한다는 점에서 이미지상에 표시된 반사광, 이물질 등을 스크레치, 찍힘, 깨짐 등과 같은 실제 제품의 결함과 구분하여야 한다는 문제도 있다.
한편, 근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 오브젝트 인식, 오브젝트 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
이와 같이 인공 지능 기술이 적용되는 분야가 다양해지고, 머신 비전 기반의 검사 시스템이 복잡해짐에 따라 인공 지능 기술을 머신 비전 기반의 검사 시스템에 결합하려는 시도가 등장하고 있다.
그러나, 인공 지능 기술을 결합한 머신 비전 기반의 검사 시스템의 경우, 머신 비전을 학습시키기 위하여 많은 데이터를 필요로 한다. 특히, 제품의 불량을 검출하기 위하여는 정상 제품과 관련된 학습을 필요로 하는데, 제품이 출시되기 전 또는 출시되고 얼마 지나지 않은 시기에는 제품에 대한 데이터를 충분히 확보하기 어려운 문제가 있다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 제품(객체)의 설계 이미지를 이용하여 학습된 학습 모델을 기반으로 좀 더 효율적으로 제품의 불량 여부를 검사할 수 있는 전자 장치 및 그의 제어방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치는, 카메라; 적어도 하나의 명령(instruction)를 포함하는 메모리; 및 상기 카메라 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함한다. 상기 프로세서는, 상기 적어도 하나의 명령을 실행함으로써, 상기 카메라를 통해 객체를 촬영한 제1 이미지를 획득하고, 상기 획득된 객체 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 상기 객체를 포함하는 제2 이미지를 획득하고, 상기 제1 이미지 및 상기 제2 이미지에 기초하여 상기 객체의 결함 여부를 판단한다.
그리고, 상기 프로세서는, 상기 제1 이미지와 상기 제2 이미지를 비교하여, 상기 제1 이미지에서 상기 객체가 상기 결함이 없는 상태의 객체와 포함된 객체의 이미지와 상기 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단할 수 있다.
또한, 상기 프로세서는, 상기 제1 이미지에서 상기 판단된 상이한 영역에 대응되는 이미지를 획득하고, 상기 획득된 상이한 영역에 대응되는 이미지를 학습된 제2 모델의 입력데이터로 사용하여 상기 상이한 영역의 특징을 판단하고, 상기 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단할 수 있다.
그리고, 상기 프로세서는, 상기 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 획득된 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단할 수 있다.
또한, 상기 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일할 수 있다.
그리고, 상기 전자 장치는 디스플레이;를 더 포함할 수 있으며, 상기 프로세서는, 상기 판단된 객체의 결함 여부에 대한 정보를 표시하도록 상기 디스플레이를 제어할 수 있다.
또한, 상기 프로세서는, 상기 객체에 결함이 존재하는 것으로 판단되면, 상기 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시하도록 상기 디스플레이를 제어할 수 있다.
그리고, 상기 제1 모델은, 결함이 없는 상태 객체의 이미지를 기초로 학습된 모델이고, 상기 결함이 없는 상태의 객체의 이미지는 상기 객체의 설계 이미지를 기초로 학습된 제3 모델에 의해 생성될 수 있다.
한편, 본 개시의 또 다른 일 실시 예에 따른 전자 장치의 제어 방법은, 상기 카메라를 통해 객체를 촬영한 제1 이미지를 획득하는 단계; 상기 획득된 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 상기 객체를 포함하는 제2 이미지를 획득하는 단계; 및 상기 제1 이미지 및 상기 제2 이미지에 기초하여 상기 객체의 결함 여부를 판단하는 단계;를 포함할 수 있다.
그리고, 상기 결함 여부를 판단하는 단계는, 상기 제1 이미지와 상기 제2 이미지를 비교하여, 상기 제1 이미지에 포함된 객체의 이미지와 상기 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단하는 단계;를 더 포함할 수 있다.
또한, 상기 결함 여부를 판단하는 단계는, 상기 제1 이미지에서 상기 판단된 상이한 영역에 대응되는 이미지를 획득하는 단계; 상기 획득된 상이한 영역에 대응되는 이미지를 학습된 제2 모델의 입력데이터로 사용하여 상기 상이한 영역의 특징을 판단하는 단계; 및 상기 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단하는 단계;를 더 포함할 수 있다.
그리고, 상기 결함 여부를 판단하는 단계는, 상기 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단하는 단계;를 더 포함할 수 있다.
또한, 상기 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일할 수 있다.
그리고, 상기 판단된 객체의 결함 여부에 대한 정보를 디스플레이에 표시하는 단계;를 더 포함할 수 있다.
그리고, 상기 객체에 결함이 존재하는 것으로 판단되면, 상기 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시하는 단계;를 더 포함할 수 있다.
여기에서, 상기 제1 모델은, 결함이 없는 상태 객체의 이미지를 기초로 학습된 모델이고, 상기 결함이 없는 상태의 객체의 이미지는, 상기 객체의 설계 이미지를 기초로 학습된 제3 모델에 의해 생성될 수 있다.
상술한 바와 같이 학습된 인공 지능 모델을 이용하여 객체에 결함이 존재하는지 여부를 판단함에 따라, 사용자가 객체 각각의 표면을 검사할 필요성이 줄어든다는 점에서 사용자의 편의성이 증대될 수 있다. 또한 객체의 설계 이미지로 학습된 인공 지능 모델을 사용한다는 점에서 사용자는 정상 상태의 제품 이미지를 충분히 확보하여야 한다는 부담감을 줄일 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 포함하는 머신 비전 기반 시스템을 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 3a는 본 개시의 일 실시 예에 따라 결함이 존재하지 않는 객체의 이미지를 학습하는 인공지능 제1 모델을 설명하기 위한 도면
도 3b는 본 개시의 일 실시 예에 따라 결함이 존재하지 않는 객체의 이미지를 제공하는 인공지능 제1 모델을 설명하기 위한 도면,
도 4는 본 개시의 일 실시 예에 따라 인공지능 제1 모델의 학습 데이터를 생성하는 인공지능 제3 모델을 설명하기 위한 도면,
도 5는 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 상세하게 설명하기 위한 블록도,
도 6은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면,
도 7은 인공지능 모델을 학습하고 이용하기 위한 전자 장치를 설명하기 위한 블록도,
도 8 및 도 9는 본 개시의 일 실시 예에 따른 학습부 및 분석부를 설명하기 위한 블록도, 및
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. 
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 개시에서 "a, b 또는 c 중 적어도 하나"는 a만, b만, c만, a 와 b 모두, a와 c 모두, b와 c 모두, a, b 및 c 모두 또는 이들의 변형을 나타내는 것으로 해석될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 본 개시의 다양한 실시 예에 따른, 객체의 결함 여부를 판단하는 전자 장치에 대하여 설명하도록 한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 포함하는 머신 비전 기반 시스템을 설명하기 위한 도면이다.
도 1을 참고하면, 머신 비전 기반 시스템(1000)은 전자 장치(100) 및 디스플레이 장치(200)를 포함할 수 있다.
전자 장치(100)는 스마트 팩토리 내의 컨베이어 벨트(300)를 통하여 전자 장치(100)를 지나가는 객체(10)를 검사할 수 있다. 구체적으로, 전자 장치(100)는 컨베이어 벨트(300) 상의 객체(10)를 촬영하여 객체(10)에 결함이 존재하는지 판단할 수 있다.
객체(10)의 결함은 객체(10)가 생산, 제조되는 과정에서 제품의 외관에 발생된 불규칙적인 스크레치, 찍힘, 깨짐 등의 하자를 나타낼 수 있다.
여기에서, 객체(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) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 객체(10)는 가전제품(home appliance)일 수 있다. 가전제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 삼성 One Connect Box™), 게임 콘솔, 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
또한, 어떤 실시 예들에서, 객체(10)는 스마트폰, 태블릿 PC, 가전 제품 등과 같이 완성된 형태의 제품이 아니라, 디스플레이 패널, 배터리, 버튼 등과 같이 완성된 형태의 제품에 포함되는 부품일 수도 있다.
전자 장치(100)는 컨베이어 벨트(300)의 상하좌우 및 정면을 이동하면서 컨베이어 벨트(300) 상에 놓인 객체(10)를 다각도로 촬영할 수 있다. 그리고, 전자 장치(100)는 객체(10)가 컨베이어 벨트(300) 상에서 이동함에 따라, 컨베이어 벨트(300) 상의 객체(10)를 추적하면서 객체(10)의 이미지를 획득할 수 있다.
이를 위하여, 전자 장치(100)는 컨베이어 벨트(300)상의 공간을 자유자재로 움직일 수 있도록 설계될 수 있다.
전자 장치(100)는 전자 장치(100)에 포함된 카메라의 조도, 휘도 및 초점 거리 등 다양한 촬영 조건을 조절하면서 객체(10)의 다양한 이미지를 획득할 수 있다.
전자 장치(100)는 획득한 객체(10)의 이미지를 이용하여 촬영한 객체(10)에 결함이 존재하는지 여부를 판단할 수 있다. 구체적으로, 전자 장치(100)는 객체(10)와 관련된 이미지를 기초로 학습된 인공 지능 모델을 이용하여 객체(10)에 결함이 존재하는지 여부를 판단할 수 있다. 여기에서 객체(10)와 관련된 이미지라 함은, 불규칙적인 스크레치, 찍힘, 깨짐 등과 같은 결함이 존재하지 않는 상태의 객체(10)의 이미지를 나타낼 수 있다.
더욱 구체적으로, 전자 장치(100)는 컨베이어 벨트(300) 상의 객체(10)의 이미지를 촬영하고, 이를 학습된 모델에 입력하여 객체(10)의 정상 이미지를 획득하며, 촬영된 이미지와 학습 모델로부터 획득한 이미지를 비교하여 객체(10)의 결함 여부를 판단할 수 있다.
구체적으로, 전자 장치(100)는 촬영된 이미지와 학습 모델로부터 획득한 이미지 간에 서로 상이한 영역이 존재하는지 여부, 상이한 영역이 발생한 원인이 객체(10)에 발생된 결함 때문인지, 아니면 빛 번짐, 이물질 부착 등과 같은 외부 요인에 의한 것인지 판단할 수 있다.
한편, 도 1에는 하나의 전자 장치(100)만이 도시되어 있으나, 반드시 이에 한하는 것은 아니다. 즉, 컨베이어 벨트(300) 상의 하나의 객체를 촬영하는 전자 장치(100)가 컨베이어 벨트(300) 위의 공간에 적어도 하나 이상 존재할 수도 있다.
전자 장치(100)는 객체(10)의 이미지 및 판단된 결과 정보를 디스플레이 장치(200)에 전송할 수 있다.
디스플레이 장치(200)는 객체(10)의 촬영된 이미지, 학습 모델로부터 획득된 이미지, 결함 발생 여부 및 결함 위치 등의 정보를 표시할 수 있으며, 이에 따라 머신 비전 시스템(1000)의 관리자는 컨베이어 벨트(300) 상의 객체(10)의 이미지, 결함 존재 여부 및 결함의 위치 등을 알 수 있다.
도 1에는 디스플레이 장치(200)가 전자 장치(100)와 별도의 장치로 구현되어 있으나, 전자 장치(100)가 디스플레이 장치(200)를 포함할 수 있음은 물론이다.
또한, 도 1에는 전자 장치(100)가 직접 디스플레이 장치(200)에 객체(10)의 이미지 및 결함과 관련된 정보를 전송하는 것으로 서술하였으나, 전자 장치(100)와 디스플레이 장치(200) 사이에 서버(미도시)가 존재하여, 전자 장치(100)는 서버(미도시)에 객체(10)의 이미지 및 결함과 관련된 정보를 전송하고, 디스플레이 장치(200)는 서버(미도시)로부터 객체(10)의 이미지 및 결함과 관련된 정보를 수신할 수도 있다.
본 개시의 다양한 실시 예에 따른 전자 장치(100)를 통하여 머신 비전 기반 시스템은 객체(10)에 결함이 존재하는지 여부를 판단할 수 있다. 이하, 도 2를 참고하여 본 개시의 일 실시 예에 따른 전자 장치(100)를 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2를 참고하면, 전자 장치(100)는 카메라(110), 메모리(120) 및 프로세서(130)를 포함한다.
카메라(110)는 객체(10)를 다양한 각도에서 촬영할 수 있다. 카메라(110)는 객체(10)의 x, y 및 z 축에서 객체(10)의 상하좌우 및 정면을 촬영할 수 있다. 이때, 카메라(110)는 렌즈의 조도 및 휘도 등과 같은 밝기 조건을 다르게 하거나, 렌즈의 초점 거리를 조절하면서, 한 위치에서의 객체(10)의 다양한 이미지(10)를 촬영할 수 있다.
카메라(110)는 획득한 객체(10)의 이미지를 프로세서(130)에 전달할 수 있으며, 프로세서(130)는 카메라(110)로부터 수신된 이미지를 기초로 객체(10)에 결함이 존재하는지 판단할 수 있다.
메모리(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)) 중 적어도 하나를 포함할 수 있다.
외장 메모리는 플래시 드라이브(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)와 기능적으로 및/또는 물리적으로 연결될 수 있다.
메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(120), 프로세서(130) 내 롬, 램 또는 전자 장치(100)에 장착되는 메모리 카드(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
메모리(120)는 전자 장치(100)를 제어하기 위한 컴퓨터 실행가능한 적어도 하나의 명령(instruction)을 포함할 수 있다.
또한, 메모리(120)는 본 개시의 다양한 실시 예에 따른 인공지능 모델들을 저장할 수 있다.
본 개시에서 설명되는 인공지능 모델은 인공지능 알고리즘 기반으로 학습된 판단 모델로서, 예로, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 학습된 인공지능 모델은 인간의 뇌 구조를 컴퓨터상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 또한, 학습된 인공지능 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 학습된 인공지능 모델의 예에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 등이 있을 수 있으나 이에 한정되지 않는다.
메모리(120)에 저장된 인공지능 모델들 중 제1 모델은 카메라(110)가 촬영한 객체(10)의 이미지를 기초로 결함이 존재하지 않는 객체(10)의 이미지를 제공하도록 학습된 모델일 수 있다.
또한, 메모리(120)에 저장된 인공지능 모델들 중 제2 모델은 카메라(110)가 촬영한 객체(10)의 이미지를 기초로 객체(10)에 스크레치, 찍힘 등의 결함이 발생되었는지 판단하는 인공지능 모델일 수 있다.
그리고, 메모리(120)에 저장된 인공지능 모델들 중 제3 모델은 제1 모델의 학습 데이터를 생성하도록 학습된 모델일 수 있다.
한편, 도 3은 제1 모델을 설명하기 위한 도면으로, 구체적으로 도 3a는 결함이 존재하지 않는 객체(10)의 이미지를 학습하는 제1 모델을 설명하기 위한 도면이고, 도 3b는 결함이 존재하지 않는 객체(10)의 이미지를 제공하는 제1 모델을 설명하기 위한 도면이다.
도 3a를 참조하면, 제1 모델은 인공지능 알고리즘에 의해 학습된 인공지능 모델로, 결함이 없는 객체(10)의 이미지(220)를 제공하도록 학습된 모델일 수 있다.
이를 위하여, 제1 모델은 결함이 없는 객체(10)의 복수의 이미지(210)를 제공받아 학습될 수 있다. 이때, 제1 모델은 Autoencoder, VAE((Variational Auto-encoder) GAN(Generative Adversarial Network) 또는 Associate Memory 등과 같은 이미지 복원 알고리즘에 의해 학습된 모델일 수 있다.
즉, 제1 모델은 인공지능 기반 이미지 복원 알고리즘에 의하여 결함이 없는 객체(10)의 이미지를 생성한다는 점에서, 도 3b와 같이 일부 결함이 존재하는 객체(10)의 이미지(310)가 입력되더라도, 결함이 없는 객체(10)의 이미지(320)를 생성할 수 있다.
예를 들어, 도 3a와 같이 제1 모델은 결함이 존재하지 않는 핸드폰의 프레임 이미지(210)를 기초로 결함이 존재하지 않는 핸드폰의 프레임 이미지(220)를 생성하도록 학습될 수 있다. 이때, 제1 모델은 복수의 결함이 없는 핸드폰 프레임 이미지를 기초로 학습될 수 있다.
그리고, 복수의 이미지를 기초로 학습된 제1 모델은, 도 3b와 같이 핸드폰 프레임의 좌측 하단에 일부 스크레치가 발생된 핸드폰 프레임 이미지(310)가 입력되더라도, 결함이 존재하지 않는 핸드폰의 프레임 이미지(320)를 생성할 수 있다.
한편, 제1 모델의 학습 데이터로 이용되는 결함이 없는 객체(10)의 이미지(210)는 결함이 없는 객체(10)를 촬영하여 획득된 이미지일 수도 있으나, 인공지능 모델인 제3 모델에 의하여 획득된 가상 객체의 이미지일 수도 있다.
이와 관련하여, 도 4는 제1 모델의 학습 데이터(210)를 생성하는 제3 모델을 설명하기 위한 도면이다.
제3 모델은 인공지능 알고리즘을 이용하여 객체(10)의 설계 이미지(410)를 기초로 객체(10)의 이미지(421, 422)를 제공하도록 학습될 수 있다. 여기에서 객체(10)의 설계 이미지는 객체(10)가 생산, 제조되기 전에 생성되는 이미지로 CAD(Computer Aided Design) 이미지, CAE(Computer aided Engineering) 이미지, 3D 프린팅 이미지 등이 될 수 있다. 한편, 객체(10)의 설계 이미지는 반드시 이에 한하는 것은 아니며, 객체(10)를 실제로 촬영한 이미지가 아닌 가상의 이미지라면 본 개시의 설계 이미지가 될 수 있다.
제3 모델은 객체(10)의 설계 이미지(410)를 기초로 결함이 존재하지 않는 객체(10)의 이미지(421, 422)를 제공할 수 있다.
도 4에 도시된 바와 같이, 객체(10)의 설계 이미지(410)가 주어져 있다고 가정한다. 이때, 설계 이미지(410)는 객체(10)의 일부분에 대한 설계 이미지일 수 있다.
이때, 생성된 객체(10)의 이미지는 설계 이미지(410)를 기초로 제조된 객체(10)를 촬영한 이미지와 동일한 이미지일 수 있다. 또한 생성된 객체(10)의 이미지는 설계 이미지(410)를 기초로 생성되었다는 점에서, 결함이 없는 객체(10)의 이미지일 수 있다.
예를 들어, 제3 모델은 휴대폰 프레임(frame)에 존재하는 홀에 대한 CAD 이미지(410)를 기초로 휴대폰 프레임에 존재하는 홀에 대한 복수의 이미지(421, 422)를 생성할 수 있는데, 이때 생성된 이미지(421, 422)는 CAD 이미지(410)에 따라 제조된 휴대폰 프레임의 홀을 촬영한 이미지와 동일한 이미지로, 결함이 존재하지 않는 홀을 촬영한 이미지일 수 있다.
한편, 제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)를 생성할 수 있다.
이에 따라, 제1 모델은 제3 모델로부터 생성된 객체(10)의 이미지(421, 422)를 기초로, 결함이 존재하지 않는 객체(10)의 다양한 이미지를 생성하도록 학습될 수 있다.
한편, 상술한 인공지능 모델들은 외부의 서버(미도시)에서 학습되어 전자 장치(100)로 제공될 수 있다. 전자 장치(100)는 외부 서버(미도시)로부터 인공지능 모델을 다운로드하여 메모리(120)에 저장할 수 있고, 인공지능 모델이 업데이트(또는 재 학습)되면 업데이트된 인공지능 모델을 외부 서버로부터 수신하여 저장할 수도 있다. 이를 위하여 전자 장치(100)는 외부 서버와 근거리 통신망(LAN, Local Area Network) 및 인터넷망 등을 통해 연결될 수 있다.
일 실시 예에 따르면, 메모리(120)의 전부 또는 일부는 클라우드 서버와 같은 전자 장치(100)의 외부 서버로 구현될 수도 있다. 즉, 상술한 인공지능 모델들의 전부 또는 일부는 외부 서버에 포함될 수도 있다.
다시 도 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) 등으로 구현될 수 있다.
프로세서(130)는 메모리(120)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 동작을 수행할 수 있다.
프로세서(130)는 카메라(110) 및 메모리(120)와 연결되어 전자 장치(100)를 제어할 수 있다.
프로세서(130)는 카메라(110)를 통해 객체를 촬영한 제1 이미지를 획득하고, 획득된 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 객체를 포함하는 제2 이미지를 획득할 수 있다.
이때, 상기 도 3에서 상술한 바와 같이 제1 모델은 결함이 존재하지 않는 상태의 객체(10)의 이미지를 생성하도록 학습된 모델이라는 점에서, 카메라(110)를 통해 촬영된 객체(10)에 결함이 존재하더라도, 제2 이미지는 결함이 없는 상태의 객체의 이미지가 될 수 있다.
여기에서, 제2 이미지는 제1 이미지를 기초로 생성된 이미지라는 점에서, 제1 이미지에서의 객체의 위치와 제2 이미지에서의 결함이 없는 객체의 위치는 서로 동일할 수 있다.
프로세서(130)는 제1 이미지 및 제2 이미지에 기초하여 객체의 결함 여부를 판단할 수 있다.
구체적으로, 프로세서(130)는 제1 이미지와 제2 이미지를 비교하여, 제1 이미지에 포함된 객체의 이미지와 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단할 수 있다. 제1 이미지에서의 객체의 위치와 제2 이미지에서의 결함이 없는 객체의 위치는 서로 동일하다는 점에서, 프로세서(130)는 제1 이미지 및 제2 이미지를 오버랩 하여 서로 제1 이미지 및 제2 이미지 간에 서로 상이한 영역이 존재하는지 판단할 수 있다.
제2 이미지는 결함이 없는 상태의 객체의 이미지라는 점에서, 객체(10)를 촬영한 제1 이미지와 제1 모델로부터 획득된 제2 이미지 간에 서로 상이한 영역이 존재하지 않는 경우, 제1 이미지에 포함된 객체(10)의 이미지는 결함이 존재하지 않는 객체(10)의 이미지가 될 수 있다.
반면, 제1 이미지와 제2 이미지 간에 서로 상이한 영역이 존재하는 경우, 서로 상이한 영역은 결함이 존재하는 영역이 될 수도 있지만, 결함이 존재하지 않는 영역이 될 수도 있다. 가령, 제1 이미지와 제2 이미지 간에 상이한 영역은 카메라(110)의 빛 번짐, 객체(10) 또는 카메라(110)에 묻은 이물질이 포함된 영역일 뿐, 객체(10)에 포함된 스크레치, 깨짐 등과 같은 결함이 존재하는 영역이 아닐 수도 있다.
이에 따라, 프로세서(130)는 학습된 제2 모델을 이용하여 제1 이미지 및 제2 이미지 간에 서로 상이한 영역의 특징, 즉, 상이한 영역에 결함이 존재하는지 여부를 판단할 수 있다. 여기에서 제2 모델은 입력된 이미지에 포함된 객체(10)에 스크레치, 찍힘 등의 결함이 발생되었는지 판단하도록 학습된 인공지능 모델일 수 있다.
구체적으로, 프로세서(130)는 제1 이미지에서 상이한 영역에 대응되는 이미지를 획득하고, 획득된 이미지를 학습된 제2 모델의 입력 데이터로 사용하여 상이한 영역의 특징을 판단할 수 있다. 즉, 프로세서(130)는 제2 모델을 이용하여 상이한 영역에 대응되는 이미지가 빛 번짐 또는 이물질 등이 포함된 이미지인지, 스크레치, 깨짐 등과 같은 결함이 존재하는 이미지인지 판단할 수 있다.
그리고, 프로세서(130)는 판단된 상이한 영역의 특징에 기초하여 객체(10)의 결함 여부를 판단할 수 있다.
예를 들어, 프로세서(130)는 판단된 상이한 영역의 이미지가 빛 번짐 또는 이물질 등 외부 요인에 의한 것이라고 판단한 경우, 상이한 영역에 대응되는 이미지가 결함이 존재하지 않는 객체의 이미지라고 판단할 수 있다. 그러나, 프로세서(130)가 판단된 상이한 영역의 이미지가 객체(10)의 외관의 스크레치, 깨짐 등에 의한 것이라고 판단한 경우, 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지라고 판단할 수 있다.
그리고, 프로세서(130)는 판단된 상이한 영역의 특징에 따라 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지라고 판단된 경우, 객체에 결함이 존재하는 것으로 판단할 수 있다.
즉, 프로세서(130)는 제2 모델을 기초로 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지라고 판단한 경우, 객체에 결함이 존재하는 것으로 판단하고, 객체에 존재하는 결함의 종류(가령, 스크레치, 깨짐 등)를 판단할 수 있다.
한편, 도 2의 구성 요소가 전자 장치(100)의 필수 구성 요소인 것은 아니다. 전자 장치(100)는 도 2의 구성 요소보다 적은 구성 요소에 의해 구현될 수도 있으며, 도 2의 구성 요소보다 많은 구성 요소에 의해 구현될 수도 있다.
도 5는 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 상세하게 설명하기 위한 블록도이다.
도 5를 참조하면, 전자 장치(100)는 카메라(110), 메모리(120), 프로세서(130), 디스플레이(140), 통신부(150) 및 입력부(160)를 포함할 수 있다.
카메라(110), 메모리(120) 및 프로세서(130)와 관련하여 설명의 편의상 도 4와 중복된 범위 내에서의 설명은 생략하도록 한다.
디스플레이(140)는 프로세서(130)의 제어에 따라 다양한 정보를 표시할 수 있다. 디스플레이(140)는 프로세서(130)의 제어에 따라 객체(10)의 이미지 및 객체(10)의 결함 여부에 대한 정보를 표시할 수 있다.
여기에서, 객체(10)의 이미지는 카메라(110)에 의해 촬영된 객체(10)의 이미지 및 제1 모델에 의해 획득된 객체(10)의 이미지 중 적어도 하나를 포함할 수 있다.
그리고, 객체(10)의 결함 여부에 대한 정보는 객체(10)에 결함이 존재하는 영역에 대한 정보로, 객체(10)에 결함이 존재하는 영역에 관한 정보, 결함의 종류에 관한 정보 등을 포함할 수 있다.
통신부(150)는 전자 장치(100)가 외부 서버(미도시) 및 디스플레이 장치(200)와 통신을 수행하기 위한 구성요소이다. 통신부(150)를 통하여 전자 장치(100)는 인공지능 모델이 저장된 외부 서버(미도시)로부터 제1 모델 내지 제3 모델을 수신할 수 있다. 또한, 전자 장치(100)는 통신부(150)를 통하여 디스플레이 장치(200)에 객체(10)의 이미지 및 객체(10)의 결함 여부에 관한 정보를 전송할 수 있다.
이를 위하여, 통신부(140)는 유선 통신 모듈(미도시), 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다.
여기에서, 유선 통신 모듈은 유선 이더넷(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) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
입력부(160)는 사용자의 입력을 입력 받기 위한 구성요소로, 입력 인터페이스가 이에 해당할 수 있다. 입력부(160)를 통하여, 전자 장치(100)는 카메라(110)의 촬영 조건에 대한 사용자의 입력을 받을 수 있다. 가령, 입력부(160)를 통하여 전자 장치(100)는 카메라(100)의 밝기, 초점 거리, 1분동안의 촬영 횟수 등과 같은 촬영 조건을 입력 받을 수 있다.
한편, 프로세서(120)는 객체(10)의 이미지 또는 판단된 객체(10)의 결함 여부에 대한 정보를 표시하도록 디스플레이(140)를 제어할 수 있다.
이와 관련하여, 도 6은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다. 구체적으로, 도 6은 객체(10)에 결함이 존재하는 것으로 판단된 경우 객체(10)의 결함에 대한 정보를 표시하는 전자 장치를 설명하기 위한 도면이다.
프로세서(120)는, 객체(10)에 결함이 존재하는 것으로 판단된 경우, 카메라(110)가 촬영한 객체(10)의 이미지상에서 객체(10)에 결함이 존재하는 영역이 객체(10)의 다른 영역과 구별되도록 표시할 수 있다.
가령, 도 6에 도시된 바와 같이, 프로세서(120)는 객체(10)의 촬영 이미지상에서 객체(10)에 결함이 존재하는 영역에 사각형, 원 등과 같은 식별 표시를 표시하도록 디스플레이(140)를 제어할 수 있다.
그리고, 프로세서(120)는 객체(10)의 이미지상에서 객체(10)에 결함이 존재하는 영역에 식별 표시를 표시하는 것 이외에도, 결함의 종류를 나타내는 정보를 부가적으로 표시하도록 디스플레이(140)를 제어할 수 있다. 가령, 객체(10)에 스크레치가 존재하는 것으로 판단된 경우, 프로세서(120)는 촬영된 객체(10)의 이미지 상에 결합이 존재하는 영역을 표시하는 것 이외에도, '스크레치','스크레치일 가능성: 80%' 등과 같은 정보를 표시할 수 있다.
한편, 도 5의 구성은 일 실시 예에 불과하며 전자 장치(100)의 구현 예에 따라 도 5에 도시된 전자 장치(100)의 구성 요소 중 일부는 생략될 수 있다. 가령, 전자 장치(100)는 디스플레이부(140)를 포함하지 않고, 디스플레이 장치(200)와 연결되어 디스플레이 장치(200)에 촬영된 객체의 이미지 및 객체의 결함 여부에 대한 정보를 전송할 수 있으며, 이를 수신한 디스플레이 장치(200)가 도 6과 같은 객체(10)의 이미지 및 결함이 존재하는 영역에 대한 식별 표시 등을 나타낼 수 있다.
한편, 전자 장치(100)는 상술한 인식 모델을 학습하고 이용하기 위한 학습부 및 분석부를 포함할 수 있다.
도 7은 본 개시의 일 실시 예에 따른, 인공지능 모델을 학습하고 이용하기 위한 전자 장치를 설명하기 위한 블록도이다.
도 7을 참조하면 프로세서(130)는 학습부(131) 및 판단부(132) 중 적어도 하나를 포함할 수 있다.
학습부(131)는 학습 데이터를 이용하여 촬영된 객체의 이미지를 기초로 결함이 존재하지 않는 객체의 이미지를 획득하기 위한 기준을 갖는 인공지능 모델을 생성할 수 있다. 일 예로, 학습부(131)는 결함이 없는 상태의 객체의 이미지를 학습 데이터로 하여, 촬영된 객체의 이미지로부터 결함이 없는 객체의 이미지를 획득하도록 인공지능 제1 모델을 생성, 학습 또는 재 학습시킬 수 있다.
그리고, 학습부(131)는 학습 데이터를 이용하여 촬영된 객체의 이미지에 포함된 결함의 존재 여부 및 종류를 판단하기 위한 기준을 갖는 인공지능 제2 모델을 생성할 수 있다. 일 예로, 학습부(131)는 결함을 포함한 객체의 다양한 이미지를 학습 데이터로 하여, 객체에 포함된 결함의 존재 여부 및 종류를 판단하도록 제2 모델을 생성, 학습 또는 재 학습시킬 수 있다.
또한, 학습부(131)는 제1 모델의 학습 데이터, 즉, 결함이 없는 상태의 객체의 이미지를 획득하기 위하여, 객체의 설계 도면과 같은 가상의 객체 이미지를 학습 데이터로 하여, 결함이 없는 상태의 객체의 이미지를 획득하도록 인공지능 제3 모델을 생성, 학습 또는 재 학습시킬 수 있다.
판단부(132)는 소정의 이미지를 학습된 인공지능 제1 모델의 입력 데이터로 사용하여, 결함이 없는 객체(10)의 이미지를 생성할 수 있다. 또 다른 실시 예로, 판단부(132)는 소정의 이미지를 학습된 인공지능 제2 모델의 입력 데이터로 사용하여, 소정의 이미지에 포함된 객체(10)에 결함이 존재하는지 여부 및 결함의 종류를 판단할 수 있다. 여기에서, 소정의 이미지는 카메라(110)에 의해 촬영된 객체(10)의 이미지일 수 있다.
그리고, 판단부(132)는 객체(10)의 설계 도면과 같은 가상의 이미지를 학습된 인공지능 제3 모델의 입력 데이터로 사용하여, 결함이 없는 객체(10)의 이미지를 생성할 수 있다.
학습부(131)의 적어도 일부 및 판단부(132)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치(100)에 탑재될 수 있다. 예를 들어, 학습부(131) 및 판단부(132) 중 적어도 하나는 인공지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(131) 및 판단부(132)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
한편, 학습부(131) 및 판단부(132)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 또한, 학습부(131) 및 판단부(132)는 유선 또는 무선으로 통하여, 학습부(131)가 구축한 모델 정보를 판단부(132)로 제공할 수도 있고, 학습부(131)로 입력된 데이터가 추가 학습 데이터로서 학습부(132)로 제공될 수도 있다.
도 8 및 도 9는 다양한 실시 예에 따른 학습부(131) 및 판단부(132)의 블록도이다.
도 8을 참조하면, 학습부(131)는 학습 데이터 획득부(131-1) 및 모델 학습부(131-4)를 포함할 수 있다. 또한, 학습부(131)는 학습 데이터 전처리부(131-2), 학습 데이터 선택부(131-3) 및 모델 평가부(131-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(131-1)는 객체(10)의 결함이 없는 상태의 이미지를 획득하기 위한 인공지능 제1 모델에 필요한 학습 데이터를 획득할 수 있다. 이 경우, 제1 모델의 학습 데이터는 결함이 없는 상태의 객체를 촬영한 이미지, 학습된 제3 모델에서 획득된, 결함이 없는 상태의 객체의 가상 이미지, 전자 장치(100)에 의하여 결함 영역이 존재하지 않는다고 판단된, 객체의 이미지가 될 수 있다.
또한, 학습 데이터 획득부(131-1)는 인공지능 제2 모델을 학습시키기 위하여 결함이 존재하는 객체의 다양한 이미지 및 결함의 종류에 관한 다양한 정보를 획득할 수 있다. 이 경우, 학습 데이터 획득부(131-1)는 결합이 존재하는 객체의 이미지와 결함의 종류에 관한 정보를 서로 매칭한 정보를 획득할 수도 있다.
또 다른 실시 예로, 학습 데이터 획득부(131-1)는 결함이 존재하지 않는 객체(10)의 촬영된 이미지가 아닌, 가상의 이미지를 획득하기 위하여 객체(10)의 설계 도면(예를 들면, CAD 도면, CAE 도면 등)을 획득할 수 있다.
모델 학습부(131-4)는 학습 데이터를 이용하여, 제1 모델이 결함이 없는 상태의 객체를 구체화한 이미지를 생성하는 기준을 갖도록 학습시킬 수 있다.
또는, 모델 학습부(131-4)는 학습 데이터를 이용하여, 제2 모델이 객체(10)에 결함이 존재하는지 여부 및 객체의 종류를 판단하는 구체적인 기준을 갖도록 학습시킬 수 있다.
그리고, 모델 학습부(131-4)는 학습 데이터를 이용하여, 제3 모델이 결함이 존재하지 않는 가상의 객체 이미지를 생성하는 기준을 갖도록 학습시킬 수 있다.
모델 학습부(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)을 포함하는 학습 알고리즘 등을 이용하여 인공지능 모델을 학습시킬 수 있다.
또한, 모델 학습부(131-4)는 어떤 학습 데이터를 이용해야 하는지에 대한 선별 기준을 학습할 수도 있다.
모델 학습부(131-4)는 미리 구축된 인공지능 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인공지능 모델을 학습할 인공지능 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 인공지능 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 미리 분류되어 있을 수 있다.
인공지능 모델이 학습되면, 모델 학습부(131-4)는 학습된 인공지능 모델을 저장할 수 있다. 예컨대, 모델 학습부(131-4)는 학습된 인공지능 모델을 전자 장치(100)의 메모리(120)에 저장할 수 있다.
학습부(131)는 인공지능 모델의 판단 결과를 향상시키거나, 인공지능 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(131-2) 및 학습 데이터 선택부(131-3)을 더 포함할 수도 있다.
학습 데이터 전처리부(131-2)는 결함이 존재하지 않는 객체의 이미지를 획득하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 또한, 학습 데이터 전처리부(131-2)는 객체에 결함이 존재 유무 및 결함의 종류를 판단하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다.
학습 데이터 선택부(131-3)는 학습 데이터 획득부(131-1)에서 획득된 데이터 또는 학습 데이터 전처리부(131-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(131-4)에 제공될 수 있다.
학습 데이터 선택부(131-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(131-3)는 모델 학습부(131-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(131)는 제1 모델 내지 제3 모델의 판단 결과를 향상시키기 위하여, 모델 평가부(131-5)를 더 포함할 수도 있다.
모델 평가부(131-5)는 인공지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 판단 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(131-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(131-5)는 평가 데이터에 대한 학습된 인공지능 모델의 판단 결과 중에서, 판단 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인공지능 모델이 복수 개가 존재하는 경우, 모델 평가부(131-5)는 각각의 학습된 인공지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(131-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공지능 모델로서 결정할 수 있다.
도 9를 참조하면, 일부 실시 예에 따른 판단부(132)는 입력 데이터 획득부(132-1) 및 판단 결과 제공부(132-4)를 포함할 수 있다.
또한 판단부(132)는 입력 데이터 전처리부(132-2), 입력 데이터 선택부(132-3) 및 모델 갱신부(132-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
입력 데이터 획득부(132-1)는 결함이 없는 객체의 이미지를 획득하기 위해 필요한 데이터를 획득할 수 있다. 이때, 획득된 데이터는 카메라(110)가 촬영한 객체(10)의 이미지 또는 객체(10)의 설계 이미지가 될 수 있다. 판단 결과 제공부(132-4)는 입력 데이터 획득부(132-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 제1 모델 또는 제3 모델에 적용하여 결함이 없는 객체의 이미지를 획득할 수 있다.
입력 데이터 획득부(132-1)는 이미지에 포함된 객체에 결함이 존재하는지 여부 및 결함의 종류를 판단하기 위해 필요한 데이터를 획득할 수 있다. 판단 결과 제공부(132-4)는 입력 데이터 획득부(132-1)에서 획득된 입력 데이터를 입력 값으로 학습된 제2 모델에 적용하여 객체의 결함 유무 및 결함의 종류를 판단할 수 있다.
판단 결과 제공부(132-4)는 후술할 입력 데이터 전처리부(132-2) 또는 입력 데이터 선택부(132-3)에 의해 선택된 데이터를 입력 값으로 인공지능 모델에 적용하여 판단 결과를 획득할 수 있다.
일 실시 예로, 판단 결과 제공부(132-4)는 입력 데이터 획득부(132-1)에서 획득한 데이터를 학습된 인공지능 모델에 적용하여 결함이 없는 객체의 이미지를 획득할 수 있다.
판단부(132)는 인공지능 모델의 판단 결과를 향상시키거나, 판단 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(132-2) 및 입력 데이터 선택부(132-3)을 더 포함할 수도 있다.
입력 데이터 전처리부(132-2)는 입력 데이터 획득부(132-1)에서 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 구체적으로, 입력 데이터 전처리부(132-2)는 결함이 존재하지 않는 객체의 이미지를 획득하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다. 또는 입력 데이터 전처리부(132-2)는 객체의 결함 유무 및 결함의 종류를 판단하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다.
입력 데이터 선택부(132-3)은 입력 데이터 획득부(132-1)에서 획득된 데이터 또는 입력 데이터 전처리부(132-2)에서 전처리된 데이터 중에서 응답 제공에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 판단 결과 제공부(132-4)에게 제공될 수 있다. 입력 데이터 선택부(132-3)는 응답 제공을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(132-3)는 모델 학습부(131-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(132-5)는 판단 결과 제공부(132-4)에 의해 제공되는 판단 결과에 대한 평가에 기초하여, 인공지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(132-5)는 판단 결과 제공부(132-4)에 의해 제공되는 판단 결과를 모델 학습부(132-4)에게 제공함으로써, 모델 학습부(132-4)가 인공지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다. 특히, 모델 갱신부(132-5)는 사용자 입력에 따른 피드백 정보를 바탕으로 인공지능 모델을 재 학습할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
우선, 객체를 촬영한 제1 이미지를 획득한다(S1110). 획득된 객체의 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 객체를 포함하는 제2 이미지를 획득할 수 있다(S1120).
그리고, 제1 이미지 및 제2 이미지에 기초하여 객체의 결함 여부를 판단할 수 있다(S1130).
구체적으로, 제1 이미지와 제2 이미지를 비교하여, 제1 이미지에 포함된 객체의 이미지와 제2 이미지에 포함된 객체의 이미지 간에 서로 상이한 영역을 판단할 수 있다.
그리고, 제1 이미지에서 판단된 상이한 영역에 대응되는 이미지를 획득할 수 있다.
획득된 상이한 영역에 대응되는 이미지를 학습된 제2 모델의 입력데이터로 사용하여 상이한 영역의 특징을 판단할 수 있다. 예를 들어, 상이한 영역의 특징이 빛 번짐 또는 이물질 부착과 같은 원인에 의한 것인지 또는 객체의 깨짐, 쪼개짐과 같은 객체의 결함에 의한 것인지 판단할 수 있다.
그리고, 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단할 수 있다.
구체적으로, 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단할 수 있다.
이때, 제2 이미지는, 학습된 제1 모델에 의해 제1 이미지를 기초로 획득되었다는 점에서, 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일할 수 있다.
한편, 판단된 객체의 결함 여부에 대한 정보를 디스플레이에 표시할 수도 있다.
이 경우, 객체에 결함이 존재하는 것으로 판단되면, 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시할 수 있다.
한편, 본 개시의 실시 예들의 전자 장치는 다음과 같은 효과를 가져올 수 있다. 가령, 객체를 촬영하는 각도 및 방향에 따라 촬영된 이미지 상에서의 객체의 이미지는 다양하다는 점에서, 촬영된 객체의 이미지를 통하여 객체에 결함이 존재하는지 유무 및 결함의 존재를 판단하기는 쉽지 않은데, 본 개시의 일 실시 예들과 같이, 촬영된 객체의 이미지를 통하여 결함이 존재하지 않는 객체의 이미지를 생성하고, 상이한 영역이 존재하는지 판단하며, 상이한 영역에 결함이 존재하는지 여부 및 결함의 종류를 판단하는 전자 장치에 의하면, 사용자는 객체의 이미지를 촬영하면 된다는 점에서 사용자의 편의성이 향상될 수 있다.
또한, 결함이 존재하지 않는 객체의 이미지를 획득하는 인공지능 모델을 학습시키기 위하여 많은 양의, 결함이 존재하지 않는 객체의 이미지가 필요로 한데, 본 개시의 일 실시 예들과 같이, 객체의 설계 이미지를 통하여 결함이 존재하지 않는 객체의 이미지를 생성하는 전자 장치에 의하면, 사용자는 객체의 설계 이미지를 학습 데이터로 제공하면 된다는 점에서 역시 사용자의 편의성이 향상될 수 있다.
이상에서 설명된 다양한 실시 예들은 소프트웨어(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) 중 적어도 하나를 이용하여 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
본 개시의 다양한 실시 예들에 따른 방법은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장될 수 있는 명령어를 포함하는 소프트웨어로 구현될 수 있다. 상기 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비 일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 애플리케이션 스토어(예: 플레이 스토어™)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 애플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 카메라
120: 메모리 130: 프로세서

Claims (16)

  1. 전자 장치에 있어서,
    카메라;
    적어도 하나의 명령(instruction)를 포함하는 메모리; 및
    상기 카메라 및 상기 메모리와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하며,
    상기 프로세서는, 상기 적어도 하나의 명령을 실행함으로써,
    상기 카메라를 통해 객체를 촬영한 제1 이미지를 획득하고, 상기 획득된 객체 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 상기 객체를 포함하는 제2 이미지를 획득하고, 상기 제1 이미지 및 상기 제2 이미지에 기초하여 상기 객체의 결함 여부를 판단하고,
    상기 학습된 제1 모델의 학습 데이터는 상기 결함이 없는 상태의 상기 객체를 포함하는 이미지를 출력하도록 학습된 제2 모델에 의해 생성되는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 이미지와 상기 제2 이미지를 비교하여, 상기 제1 이미지와 상기 제2 이미지 간에 서로 상이한 영역을 판단하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 이미지에서 상기 판단된 상이한 영역에 대응되는 이미지를 획득하고, 상기 획득된 상이한 영역에 대응되는 이미지를 학습된 제3 모델의 입력데이터로 사용하여 상기 상이한 영역의 특징을 판단하고, 상기 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단하는, 전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 획득된 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단하는, 전자 장치.
  5. 제1항에 있어서,
    상기 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일한, 전자 장치.
  6. 제1항에 있어서,
    디스플레이;를 더 포함하고,
    상기 프로세서는,
    상기 판단된 객체의 결함 여부에 대한 정보를 표시하도록 상기 디스플레이를 제어하는, 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 객체에 결함이 존재하는 것으로 판단되면, 상기 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시하도록 상기 디스플레이를 제어하는, 전자 장치.
  8. 제1항에 있어서,
    상기 제1 모델은,
    결함이 없는 상태 객체의 이미지를 기초로 학습된 모델이고,
    상기 결함이 없는 상태의 객체의 이미지는,
    상기 객체의 설계 이미지를 기초로 학습된 상기 제2 모델에 의해 생성되는, 전자 장치.
  9. 카메라를 포함하는 전자 장치의 제어 방법에 있어서,
    상기 카메라를 통해 객체를 촬영한 제1 이미지를 획득하는 단계;
    상기 획득된 제1 이미지를 학습된 제1 모델의 입력 데이터로 사용하여 결함이 없는 상태의 상기 객체를 포함하는 제2 이미지를 획득하는 단계; 및
    상기 제1 이미지 및 상기 제2 이미지에 기초하여 상기 객체의 결함 여부를 판단하는 단계;를 포함하고,
    상기 학습된 제1 모델의 학습 데이터는 상기 결함이 없는 상태의 상기 객체를 포함하는 이미지를 출력하도록 학습된 제2 모델에 의해 생성되는 제어 방법.
  10. 제9항에 있어서,
    상기 결함 여부를 판단하는 단계는
    상기 제1 이미지와 상기 제2 이미지를 비교하여, 상기 제1 이미지와 상기 제2 이미지 간에 서로 상이한 영역을 판단하는 단계;를 더 포함하는 제어 방법.
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 결함 여부를 판단하는 단계는,
    상기 제1 이미지에서 상기 판단된 상이한 영역에 대응되는 이미지를 획득하는 단계;
    상기 획득된 상이한 영역에 대응되는 이미지를 학습된 제3 모델의 입력데이터로 사용하여 상기 상이한 영역의 특징을 판단하는 단계; 및
    상기 판단된 상이한 영역의 특징에 기초하여 상기 객체의 결함 여부를 판단하는 단계;를 더 포함하는 제어 방법.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 결함 여부를 판단하는 단계는,
    상기 판단된 상이한 영역의 특징에 따라 상기 상이한 영역에 대응되는 이미지가 결함이 존재하는 객체의 이미지로 판단된 경우, 상기 객체에 결함이 존재하는 것으로 판단하는 단계;를 더 포함하는 제어 방법.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 제1 이미지에서 상기 객체의 위치와 상기 제2 이미지에서 결함이 없는 상태의 객체의 위치는 서로 동일한, 제어 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 판단된 객체의 결함 여부에 대한 정보를 디스플레이에 표시하는 단계;를 더 포함하는, 제어 방법.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서,
    상기 객체에 결함이 존재하는 것으로 판단되면, 상기 제1 이미지에서 상기 객체에 결함이 존재하는 영역을 다른 영역과 구별되도록 표시하는 단계;를 더 포함하는 제어 방법.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제 9항에 있어서,
    상기 제1 모델은,
    결함이 없는 상태 객체의 이미지를 기초로 학습된 모델이고,
    상기 결함이 없는 상태의 객체의 이미지는,
    상기 객체의 설계 이미지를 기초로 학습된 상기 제2 모델에 의해 생성되는, 제어 방법.
KR1020190005296A 2019-01-15 2019-01-15 전자 장치 및 이의 제어 방법 KR102601135B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190005296A KR102601135B1 (ko) 2019-01-15 2019-01-15 전자 장치 및 이의 제어 방법
PCT/KR2019/013359 WO2020149493A1 (ko) 2019-01-15 2019-10-11 전자 장치 및 이의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190005296A KR102601135B1 (ko) 2019-01-15 2019-01-15 전자 장치 및 이의 제어 방법

Publications (2)

Publication Number Publication Date
KR20200088682A KR20200088682A (ko) 2020-07-23
KR102601135B1 true KR102601135B1 (ko) 2023-11-13

Family

ID=71613682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190005296A KR102601135B1 (ko) 2019-01-15 2019-01-15 전자 장치 및 이의 제어 방법

Country Status (2)

Country Link
KR (1) KR102601135B1 (ko)
WO (1) WO2020149493A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102263716B1 (ko) * 2020-01-22 2021-06-10 라이트비전 주식회사 인공지능 기반 재료 결함 이미지 생성 방법 및 결함 검출시스템
KR102416751B1 (ko) * 2020-08-28 2022-07-06 제노테크 주식회사 스마트팩토리 위험요소 탐지시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004354250A (ja) 2003-05-29 2004-12-16 Nidek Co Ltd 欠陥検査装置
JP2006234656A (ja) 2005-02-25 2006-09-07 Ricoh Co Ltd 欠陥検出装置、欠陥検出方法
JP2017211259A (ja) 2016-05-25 2017-11-30 株式会社シーイーシー 検査装置、検査方法、及びプログラム
JP2018112863A (ja) * 2017-01-11 2018-07-19 株式会社東芝 異常検知装置、異常検知方法、および異常検知プログラム
JP2019002788A (ja) 2017-06-15 2019-01-10 リョーエイ株式会社 金属加工面の検査方法、金属加工面の検査装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102058427B1 (ko) * 2017-12-21 2019-12-23 동우 화인켐 주식회사 검사 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004354250A (ja) 2003-05-29 2004-12-16 Nidek Co Ltd 欠陥検査装置
JP2006234656A (ja) 2005-02-25 2006-09-07 Ricoh Co Ltd 欠陥検出装置、欠陥検出方法
JP2017211259A (ja) 2016-05-25 2017-11-30 株式会社シーイーシー 検査装置、検査方法、及びプログラム
JP2018112863A (ja) * 2017-01-11 2018-07-19 株式会社東芝 異常検知装置、異常検知方法、および異常検知プログラム
JP2019002788A (ja) 2017-06-15 2019-01-10 リョーエイ株式会社 金属加工面の検査方法、金属加工面の検査装置

Also Published As

Publication number Publication date
KR20200088682A (ko) 2020-07-23
WO2020149493A1 (ko) 2020-07-23

Similar Documents

Publication Publication Date Title
KR102425578B1 (ko) 객체를 인식하는 방법 및 장치
KR102651253B1 (ko) 사용자 감정 판단을 위한 전자 장치 및 이의 제어 방법
KR102459221B1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
US10372228B2 (en) Method and system for 3D hand skeleton tracking
US11151453B2 (en) Device and method for recommending product
US11068698B2 (en) Generating animated three-dimensional models from captured images
US11741736B2 (en) Determining associations between objects and persons using machine learning models
US20210090327A1 (en) Neural network processing for multi-object 3d modeling
US11699213B2 (en) Image-capturing device and method for controlling same
US20230089380A1 (en) Neural network construction method and apparatus
US11644890B2 (en) Image capturing in extended reality environments
KR102579904B1 (ko) 비전 검사 관리 방법 및 비전 검사 시스템
CN113015984A (zh) 卷积神经网络中的错误校正
US11210827B2 (en) Electronic device providing text-related image and method for operating the same
US20240095143A1 (en) Electronic device and method for controlling same
WO2017165332A1 (en) 2d video analysis for 3d modeling
KR102601135B1 (ko) 전자 장치 및 이의 제어 방법
US11900722B2 (en) Electronic apparatus and control method thereof
KR20200108521A (ko) 전자 장치 및 이의 제어 방법
KR20190140519A (ko) 전자 장치 및 그의 제어방법
US20220366244A1 (en) Modeling Human Behavior in Work Environment Using Neural Networks
US20230036338A1 (en) Method and apparatus for generating image restoration model, medium and program product
US11430137B2 (en) Electronic device and control method therefor
JP2023508641A (ja) データ増強基盤事物分析モデル学習装置及び方法
KR102562052B1 (ko) 전자 장치 및 그 제어 방법

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