KR102254138B1 - 객체 인식을 위한 전자 장치 및 그 제어 방법 - Google Patents

객체 인식을 위한 전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR102254138B1
KR102254138B1 KR1020190122580A KR20190122580A KR102254138B1 KR 102254138 B1 KR102254138 B1 KR 102254138B1 KR 1020190122580 A KR1020190122580 A KR 1020190122580A KR 20190122580 A KR20190122580 A KR 20190122580A KR 102254138 B1 KR102254138 B1 KR 102254138B1
Authority
KR
South Korea
Prior art keywords
artificial intelligence
information
electronic device
processor
area
Prior art date
Application number
KR1020190122580A
Other languages
English (en)
Other versions
KR20200139073A (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 CN202080040876.2A priority Critical patent/CN113906438A/zh
Priority to EP20817658.6A priority patent/EP3915048A4/en
Priority to PCT/KR2020/006968 priority patent/WO2020246753A1/en
Priority to US16/890,337 priority patent/US11151357B2/en
Publication of KR20200139073A publication Critical patent/KR20200139073A/ko
Application granted granted Critical
Publication of KR102254138B1 publication Critical patent/KR102254138B1/ko
Priority to US17/493,930 priority patent/US11719544B2/en
Priority to US18/227,345 priority patent/US20230366682A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06K9/00624
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Image Analysis (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는, 센서, 카메라, 메모리, 센서, 카메라, 및 프로세서를 포함하고, 메모리는, 객체를 인식하도록 학습된 복수의 인공지능 모델(Artificial Intelligence Model) 및 맵에 대한 정보를 저장하고, 제1 프로세서는, 센서로부터 수신된 센싱 데이터에 기초하여 맵에 포함되는 복수의 구역 중 전자 장치가 위치하는 구역을 판단하여 판단된 구역에 대한 구역 정보를 제2 프로세서로 전송하고, 제2 프로세서는, 구역 정보에 기초하여 복수의 인공지능 모델 중 적어도 하나의 인공지능 모델을 휘발성 메모리에 로드하고, 카메라를 통해 획득된 이미지를 로드된 인공지능 모델에 입력하여 객체를 식별하도록 한다.

Description

객체 인식을 위한 전자 장치 및 그 제어 방법 { ELECTRONIC APPARATUS FOR OBJECT RECOGNITION AND CONTROLLING METHOD THEREOF }
본 개시는 객체를 인식하는 전자 장치에 관한 것이다. 보다 상세하게는, 전자 장치의 위치에 대응되는 인공지능 모델을 이용하여 객체 인식을 수행하는 전자 장치에 관한 것이다.
객체 인식 기술에 인공지능 모델이 사용되기 시작하면서, 최근 전자 장치들의 객체 인식 능력이 매우 크게 향상되었다.
다만, 더 많은 객체를 더 정확하게 인식하기 위하여 더 발전된 형태의 인공지능 모델들을 이용할수록, 메모리 및 연산 소모량이 매우 커졌다.
그 결과, 메모리, 연산 능력 및 통신 능력에 한계가 있는 사용자 장치의 객체 인식 능력을 단순히 인공지능 모델 자체의 기능 향상만으로 해결하기에는 한계가 있었다.
본 개시의 목적은, 상황에 적합한 인공지능 모델만을 선별적으로 이용하여 효율성 높은 객체 인식을 수행하는 전자 장치를 제공함에 있다.
보다 구체적으로는, 다양한 종류의 객체를 인식할 수 있으면서도, 제한된 연산 능력에 비해 비교적 빠른 객체 인식이 가능한 전자 장치를 제공함에 본 개시의 목적이 있다.
본 개시의 일 실시 예에 따른 전자 장치는, 센서, 카메라, 객체를 식별하도록 학습된 복수의 인공지능 모델(Artificial Intelligence Model) 및 맵에 대한 정보를 저장하는 스토리지, 상기 센서, 상기 카메라 및 상기 스토리지와 연결되어 상기 전자 장치를 제어하는 제1 프로세서, 상기 제1 프로세서, 상기 카메라 및 상기 스토리지와 연결되어 객체 인식을 위한 기능을 수행하는 제2 프로세서를 포함하고, 상기 제1 프로세서는, 상기 센서로부터 수신된 센싱 데이터에 기초하여 상기 맵에 포함되는 복수의 구역 중 상기 전자 장치가 위치하는 구역을 판단하여, 상기 판단된 구역에 대한 구역 정보를 상기 제2 프로세서로 전달하고, 상기 제2 프로세서는, 적어도 하나의 인공지능 모델을 로드하기 위한 휘발성 메모리를 포함하며, 상기 제1 프로세서로부터 전달받은 구역 정보에 기초하여, 상기 스토리지에 저장된 복수의 인공지능 모델 중 적어도 하나의 인공지능 모델을 상기 휘발성 메모리에 로드하고, 상기 카메라를 통해 획득된 이미지를 상기 로드된 인공지능 모델에 입력하여 객체를 식별하도록 한다.
본 개시의 일 실시 예에 따른 전자 장치는, 카메라, 센서, 객체를 식별하도록 학습된 복수의 인공지능 모델(Artificial Intelligence Model) 및 맵에 대한 정보를 저장하는 스토리지, 상기 센서, 상기 카메라 및 상기 스토리지와 연결되어 상기 전자 장치를 제어하는 프로세서를 포함하고, 상기 프로세서는, 적어도 하나의 인공지능 모델을 로드하기 위한 휘발성 메모리를 포함하며, 상기 센서로부터 수신된 센싱 데이터에 기초하여 상기 맵에 포함되는 복수의 구역 중 상기 전자 장치가 위치하는 구역을 판단하고, 상기 스토리지에 저장된 복수의 인공지능 모델 중 상기 판단된 구역에 대응되는 인공지능 모델을 상기 휘발성 메모리에 로드하고, 상기 카메라를 통해 획득된 이미지를 상기 로드된 인공지능 모델에 입력하여 객체를 식별하도록 한다.
본 개시의 일 실시 예에 따라 객체 인식 모델을 이용하는 전자 장치의 제어 방법은, 전자 장치의 스토리지에 저장된 맵에 대한 정보를 기반으로 맵에 포함된 복수의 구역을 식별하고, 센서로부터 수신된 센싱 데이터에 기초하여 상기 복수의 구역 중 상기 전자 장치가 위치하는 구역을 판단하고, 상기 스토리지에 저장된 복수의 인공지능 모델 중 상기 판단된 구역에 대응되는 인공지능 모델을 휘발성 메모리에 로드하고, 카메라를 통해 획득된 이미지를 상기 로드된 인공지능 모델에 입력하여 객체를 식별한다.
본 개시에 따른 전자 장치 및 전자 장치의 제어 방법은, 다양한 종류의 객체를 인식하기 위한 인공지능 모델을 모두 이용하면서도, 빠른 속도로 객체를 정확하게 인식할 수 있다는 효과가 있다.
구체적으로, 본 개시에 따른 전자 장치 및 제어 방법은, 전자 장치가 위치하는 구역에 적합한 인공지능 모델만을 선별적으로 로드하여 객체 인식에 이용하므로, 비교적 적은 양의 연산만을 수행하여 짧은 시간 내에 많은 종류의 객체를 인식할 수 있다는 장점이 있다.
본 개시의 일부 실시 예에 따른 전자 장치 및 전자 장치의 제어 방법은, 객체 인식 속도를 빠르게 유지하거나 또는 더 향상시키기 위해, 상황에 따라 구역별인공지능 모델을 업데이트할 수 있다는 장점도 있다.
본 개시의 일부 실시 예에 따른 전자 장치는, 서버와의 통신과 무관하게 자체 저장된 인공지능 모델들만으로 광범위한 종류의 객체 인식이 가능하면서도, 제한된 연산 능력에 비해 비교적 빠른 속도의 객체 인식이 가능하다는 장점이 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치가 구역별로(ex. 거실, 주방) 다른 인공지능 모델을 이용하여 객체를 식별하는 예를 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 3a 및 도 3b는 전자 장치가 복수의 구역 중 전자 장치가 위치한 구역을 판단하는 실시 예들을 설명하기 위한 도면들,
도 4는 전자 장치의 스토리지에 저장된 복수의 인공지능 모델의 예를 설명하기 위한 표,
도 5는 전자 장치가 컨볼루션 레이어(Convolutional Layer) 및 풀리-커넥티드 레이어(Fully-connected Layer)로 구성된 복수의 인공지능 모델 중 판단된 구역에 대응되는 인공지능 모델을 선택적으로 로드하는 구체적인 예를 설명하기 위한 도면,
도 6a는 전자 장치가 라이다 센서를 통해 1차원 맵을 생성하는 예를 설명하기 위한 도면,
도 6b는 전자 장치가 벽이나 문 등을 인식한 결과를 이용하여 1차원 맵을 복수의 구역으로 구분하는 예를 설명하기 위한 도면,
도 6c는 전자 장치가 구분된 구역 각각에서 객체를 인식하여 구분된 복수의 구역 각각의 용도를 식별하는 예를 설명하기 위한 도면,
도 6d는 전자 장치가 외부 장치와의 통신을 통해 구분된 복수의 구역 각각의 용도를 식별하는 예를 설명하기 위한 도면,
도 7a 내지 도 7c는 전자 장치가 복수의 구역 각각에 위치하는 객체를 이용하여 복수의 구역 각각에 대응되는 인공지능 모델을 획득하는 예를 설명하기 위한 도면들,
도 8a 내지 도 8c는 복수의 구역 중 일 구역에 위치하던 객체가 더 이상 해당 구역에 위치하지 않는 것으로 식별된 경우, 전자 장치가 해당 구역에 대응되는 인공지능 모델을 업데이트하는 예를 설명하기 위한 도면들,
도 9a 내지 도 9c는 복수의 구역 중 일 구역에 새로운 객체가 추가된 것으로 식별된 경우, 전자 장치가 해당 구역에 대응되는 인공지능 모델을 업데이트하는 예를 설명하기 위한 도면들,
도 10은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 11은 서버 장치 및 외부 단말 장치를 포함하는 외부 장치들과의 통신을 기반으로 객체 인식을 수행하는 전자 장치의 다양한 실시 예를 설명하기 위한 도면,
도 12a 및 도 12b는 하나의 프로세서를 포함하는 전자 장치의 구성을 설명하기 위한 블록도들,
도 13은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 순서도,
도 14는 본 개시에 따른 전자 장치의 제어 방법이 맵에 대한 정보를 생성하고, 복수의 구역 각각에 존재하는 객체를 식별하여 복수의 구역 각각에 대응되는 인공지능 모델을 획득하는 실시 예를 설명하기 위한 순서도, 그리고
도 15는 본 개시에 따른 전자 장치의 제어 방법이 복수의 구역 각각에 존재하는 객체를 식별한 결과에 따라 복수의 구역 각각에 대응되는 인공지능 모델을 업데이트하는 일 예를 설명하기 위한 알고리즘이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치가 구역별로(ex. 거실) 다른 인공지능 모델을 이용하여 객체를 식별하는 예를 설명하기 위한 도면이다.
도 1은 본 개시의 일 실시 예에 따라 로봇 청소기로 구현된 전자 장치(10)의 객체 인식 과정을 도시한 것이다. 도 1은, TV, 소파, 침대, 옷장, 옷, 이물질, 의자, 싱크대, 에어컨 등 다양한 객체를 인식하기 위한 복수의 인공지능 모델이 전자 장치(10)의 비휘발성 메모리 내지는 스토리지 내에 저장되어 있는 상황을 가정한다.
도 1을 참조하면, 로봇 청소기인 전자 장치(10)는 맵(1)상의 구역들(1-1, 1-2, 1-3)을 돌아다니면서 다양한 객체에 대한 이미지를 촬영하고, 촬영된 이미지를 복수의 인공지능 모델에 입력하여 이미지 내 객체를 인식할 수 있다.
이 경우, 전자 장치(10)가 스토리지 등 비휘발성 메모리 내에 저장된 복수의 인공지능 모델을 프로세서의 휘발성 메모리상에 로드하여 객체 인식을 수행하기에는 전자 장치(10)의 휘발성 메모리의 용량 내지는 연산 속도가 부족할 수 있다.
따라서, 전자 장치(10)는 맵(1)상의 구역들 중 전자 장치(10)가 위치한 구역을 판단하고, 저장된 복수의 인공지능 모델 중 전자 장치(10)가 위치한 구역에 대응되는 인공지능 모델만을 휘발성 메모리에 로드하여 촬영된 객체의 이미지 속 객체를 인식할 수 있다.
이를 위해, 전자 장치(10)에는 저장된 복수의 인공지능 모델 각각이 서로 다른 구역과 관련하여 기저장되어 있을 수 있다.
일 예로, 도 1에서 표(2)를 참조하면, 거실 모델(2-1)은 일반적으로 거실에 주로 위치하는 에어컨, TV 등을 인식할 수 있다. 반면, 거실 모델(2-1)은 일반적으로 거실에 위치하지 않는 냉장고, 침대 등은 인식할 수 없다.
또한, 표(2)를 참조하면, 침실 모델(2-2)은 에어컨, TV, 침대 등을 인식할 수 있는 반면 냉장고는 인식할 수 없다.
따라서, 전자 장치(10)가 거실(1-1)에 위치하는 경우, 전자 장치(10)는 저장된 복수의 인공지능 모델들 중 에어컨, TV 등을 인식하기 위한 거실 모델(2-1)만을 선택적으로 프로세서의 휘발성 메모리에 로드하고, 로드된 거실 모델(2-1)을 이용하여 거실(1-1)에서 촬영된 이미지 속 객체에 대한 인식을 수행할 수 있다.
반면, 전자 장치(10)가 침실(1-2)에 위치하는 경우, 전자 장치(10)는 저장된 복수의 인공지능 모델들 중 에어컨, TV, 침대 등을 인식하기 위한 침실 모델(2-2)만을 선택적으로 프로세서의 휘발성 메모리에 로드하고, 로드된 침실 모델(2-2)을 이용하여 침실(1-2)에서 촬영된 이미지 속 객체에 대한 인식을 수행할 수 있다.
이하에서는, 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 구성 및 동작을 보다 상세하게 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 전자 장치(100)는 센서(110), 카메라(120), 스토리지(130). 제1 프로세서(140-1) 및 제2 프로세서(140-2)를 포함할 수 있다. 전자 장치(100)는 이동 수단을 구비한 이동 로봇이거나 이동 기기에 연결 및 부착될 수 있는 보조 기기일 수 있다. 전자 장치(100)는 다양한 형태의 웨어러블 디바이스로 구현될 수도 있다. 그 밖에, 전자 장치(100)는 스마트폰, 태블릿 PC, 노트북 PC 등 다양한 단말 장치로 구현될 수도 있다.
센서(110)는 전자 장치(100)의 위치를 판단하기 위한 구성으로, 라이다(LIDAR. Light Detection And Ranging) 센서, 초음파 센서 등으로 구현될 수 있으나 이에 한정되는 것은 아니다.
카메라(120)는 전자 장치(100)의 주변에 대한 하나 이상의 이미지를 획득하기 위한 구성이다. 카메라(120)는 RGB 카메라, 3D 카메라 등으로 구현될 수 있다.
스토리지(130)는 전자 장치(100)의 기능과 관련된 다양한 정보를 가변적으로 저장하기 위한 구성이다. 스토리지(130)는 하드 디스크, SSD(Solid state drive), 플래시 메모리(ex. NOR 또는 NAND형 플래시 메모리 등) 등의 비휘발성 메모리로 구현될 수 있다.
스토리지(130)에는, 맵에 대한 정보(131)가 저장될 수 있다. 맵은 전자 장치(100)가 운행되는 공간(place)의 물리적인 지형을 나타내는 데이터를 의미할 수 있으며, 스토리지(130)상에 이미지의 형태로 저장될 수 있으나 이에 한정되지 않는다.
맵에 대한 정보는, 맵 자체에 대한 정보, 즉 전자 장치(100)가 운행되는 공간의 지형 정보를 포함할 수 있으며, 이외에도 맵에 포함된 복수의 구역 각각의 구역 정보, 맵과 관련된 부가 정보 등을 더 포함할 수 있다.
지형 정보는 공간(place)의 구조(모양/크기)에 대한 정보, 공간에 포함되는 복수의 구역 각각의 구조(모양/크기)에 대한 정보, 복수의 구역 각각의 공간 내 위치에 대한 정보 등을 포함할 수 있다.
구역 정보는, 복수의 구역 각각을 식별하기 위한 정보를 의미할 수 있다. 구역 정보는, 복수의 구역 각각을 지칭하는 식별 명칭, 식별 번호 등으로 구성될 수 있다. 또한, 구역 정보는, 복수의 구역 각각의 용도에 대한 정보를 포함할 수 있으며, 일 예로, 구역 정보에 의해 복수의 구역은 각각 거실, 화장실, 침실 등으로 정의될 수도 있다.
부가 정보는, 맵이 나타내는 공간의 용도(집, 회사, 헬스장 등), 위치, 명칭, 사용자 등에 대한 정보, 복수의 구역 각각에서 카메라(120)를 통해 획득된 이미지에 대한 데이터 등을 포함할 수 있다.
스토리지(130)에는, 하나 이상의 인공지능 모델이 저장될 수 있다. 구체적으로, 본 개시에 따른 스토리지(130)에는, 객체를 식별하도록 학습된 복수의 인공지능 모델(132)이 저장될 수 있다. 예를 들어, 입력된 이미지에 포함된 객체를 식별하도록 학습된 인공지능 모델이 복수 개 저장될 수 있다.
객체를 식별한다는 것은, 객체의 명칭, 종류 등 객체에 대한 정보를 획득하는 것으로 이해될 수 있다. 이 경우, 객체에 대한 정보는, 해당 객체를 식별한 복수의 인공지능 모델이 출력하는 식별된 객체에 대한 정보일 수 있다.
제1 프로세서(140-1)는, 센서(110) 및 스토리지(130)와 연결되어 전자 장치(100)를 제어할 수 있다. 제1 프로세서(140-1)는 메인 프로세서로서 제2 프로세서(140-2)와 연결되어 제2 프로세서(140-2)를 제어할 수도 있다.
제2 프로세서(140-2)는 카메라(120), 스토리지(130) 및 제1 프로세서(140-1)와 연결되어 객체 인식을 위한 기능을 수행할 수 있다.
도 2를 참조하면, 제1 프로세서(140-1)는 맵에 포함되는 복수의 구역 중 전자 장치(100)가 위치한 구역을 판단할 수 있다(S110). 구체적으로, 제1 프로세서(140-1)는 복수의 구역으로 구분된 맵에 대한 정보를 이용하여 맵에 포함되는 복수의 구역을 식별하고, 센서(110)를 통해 획득된 센싱 데이터를 이용하여 맵상 복수의 구역 중 전자 장치(100)가 위치한 구역을 판단할 수 있다.
제1 프로세서(140-1)는 판단된 구역에 대한 구역 정보를 제1 프로세서(140-1)와 연결된 제2 프로세서(140-2)로 전달할 수 있다(S120). 이때, 제1 프로세서(140-1)는 구역 정보를 전기적 신호 또는 데이터 형태로 제2 프로세서(140-2)로 전달할 수 있다.
제2 프로세서(140-2)는 제1 프로세서(140-1)로부터 전달받은 구역 정보에 기초하여, 스토리지(130)에 저장된 복수의 인공지능 모델(모델 1, 모델 2, ...) 중 적어도 하나의 인공지능 모델을 휘발성 메모리(145)에 로드할 수 있다(S130). 구체적으로, 제2 프로세서(140-2)는 복수의 인공지능 모델 중 판단된 구역에 대응되는 인공지능 모델을 로드할 수 있다.
이 경우, 제2 프로세서(140-2)는 스토리지(130)에 저장된 복수의 인공지능 모델 및 복수의 구역 간의 로지컬 맵핑 정보를 이용하여, 판단된 구역에 맵핑된 인공지능 모델을 식별 및 로드할 수 있다.
로지컬 맵핑 정보는, 복수의 구역 각각에 하나 이상의 인공지능 모델을 맵핑 시키기 위한 정보이다. 로지컬 맵핑 정보는, 복수의 구역 각각을 나타내는 정보로부터 복수의 인공지능 모델 중 적어도 하나를 나타내는 정보를 출력하기 위한 매개 변수에 대한 정보를 포함할 수 있다. 로지컬 맵핑 정보는, 각 구역에 대응되는 인공지능 모델이 스토리지(130)에 저장된 어드레스에 대한 정보를 포함할 수도 있다.
로지컬 맵핑 정보는, 사용자에 의해 기설정될 수도 있고, 후술할 도 7a 내지 도 7c의 실시 예에 따라 복수의 구역 각각에 대응되는(맵핑되는) 인공지능 모델을 획득한 제1 프로세서(140-1)에 의해 생성 및 저장될 수도 있다. 또한, 후술할 도 8a 내지 8c, 9a 내지 9c의 실시 예에 따라 복수의 구역 각각에 대응되는 인공지능 모델이 업데이트된 결과, 로지컬 맵핑 정보 역시 업데이트될 수 있다.
한편, 제1 프로세서(140-1)가 판단된 구역에 대한 로지컬 맵핑 정보를 이용하여 판단된 구역에 대응되는 인공지능 모델을 식별하고, 식별된 인공지능 모델에 대한 정보를 제2 프로세서(140-2)로 전달하면, 제2 프로세서(140-2)가 해당 인공지능 모델을 로드할 수도 있다.
제2 프로세서(140-2)는 로드된 인공지능 모델에 카메라(120)를 통해 획득된 이미지를 입력하여 객체를 식별하도록 할 수 있다(S140). 이 경우 제2 프로세서(140)는, 로드된 모델의 출력을 이용하여 카메라(120)를 통해 획득된 이미지에 포함된 객체를 식별할 수 있다.
이렇듯, 제2 프로세서(140-2)는 스토리지(130)에 저장된 복수의 인공지능 모델 중 판단된 구역에 대응되는 인공지능 모델만을 휘발성 메모리(145)에 로드하여 객체 인식에 이용하므로, 제2 프로세서(140-2)의 연산 능력 안에서 비교적 정확하고 빠른 객체 인식을 수행할 수 있다.
관련하여, 전자 장치(100)가 위치하는 구역이 변경된 경우, 제2 프로세서(140-2)는 위치 변경 전에 휘발성 메모리(145)에 로드된 인공지능 모델을 휘발성 메모리(145)에서 삭제하는 한편, 변경된 구역에 대응되는 다른 인공지능 모델을 로드하여 객체 인식을 수행할 수 있다. 즉, 제2 프로세서(140-2)는, 전자 장치(100)가 위치한 구역마다 필요한 인공지능 모델만을 최소한으로 로드하여 사용할 수 있다.
한편, 제1 프로세서(140-1) 및 제2 프로세서(140-2)가 하나의 프로세서로 구현되어 동작을 수행하는 것도 가능하다.
구체적으로, 도 2를 참조하면, 제1 프로세서(140-1) 및 제2 프로세서(140-2)를 포함하는 프로세서(141)는, 맵상 복수의 구역 중 전자 장치(100)가 위치하는 구역을 판단하고, 구역 정보에 기초하여 복수의 인공지능 모델(132) 중 적어도 하나의 모델을 로드하며, 로드된 모델을 이용하여 카메라(120)를 통해 획득된 이미지 내 객체를 식별할 수 있다.
도 3a 및 도 3b는 전자 장치가 복수의 구역 중 전자 장치가 위치한 구역을 판단하는 예를 설명하기 위한 도면들이다.
제1 프로세서(140-1)는 스토리지(130)에 저장된 맵에 대한 정보 및 센싱 데이터를 이용하여 전자 장치(100)가 위치하는 구역을 판단할 수 있다.
구체적인 예로, 센서(110)가 라이다 센서인 경우, 제1 프로세서(140-1)는 센서(110)로부터 수신된 센싱 데이터와 스토리지(130)에 저장된 맵에 대한 정보를 비교하여 전자 장치(100)가 위치하는 구역을 판단할 수 있다.
이때, 센싱 데이터는, 전자 장치(100)의 주변의 구조에 대한 정보를 포함할 수 있다. 주변의 구조에 대한 정보는, 주변에 존재하는 구조물 또는 사물의 모양/크기에 대한 정보를 포함할 수 있다.
이 경우, 제1 프로세서(140-1)는 센싱 데이터에 포함된 전자 장치(100)의 주변의 구조(모양/크기)에 대한 정보를 맵에 대한 정보에 포함된 맵상 복수의 구역 각각의 구조(모양/크기)에 대한 정보와 비교하여, 맵상 복수의 구역 중 전자 장치(100)가 위치하는 구역을 판단할 수 있다.
도 3a를 참조하면, 로봇 청소기로 구현된 전자 장치(100)는 라이다 센서로 구현된 센서(110)로부터 수신된 센싱 데이터를 이용하여, 주변의 구조물이나 사물 내 각 지점들과의 거리에 기반한 주변 구조(301)를 식별할 수 있다. 그리고, 전자 장치(100)는 식별된 주변 구조(301)와 일치하는 지점을 맵(300)에서 식별하여 맵(300)상 전자 장치(100)의 위치를 판단할 수 있다. 그리고, 전자 장치(100)는 판단된 위치 및 복수의 구역들(300-10, 20, 30, 40) 각각의 맵(300)상 위치를 이용하여, 전자 장치(100)가 복수의 구역들(300-10, 20, 30, 40) 중 주방(300-30)에 위치하고 있음을 판단할 수 있다.
한편, 제1 프로세서(140-1)는 카메라(120)를 통해 획득된 주변 이미지에 대한 데이터를 이용하여, 전자 장치(100)가 복수의 구역 중 어떤 구역에 위치하는지 판단할 수도 있다.
예를 들어, 맵에 대한 정보가 복수의 구역 각각의 3D 이미지에 대한 데이터를 포함하는 경우, 제1 프로세서(140-1)는 맵에 대한 정보에 포함된 복수의 구역 각각의 이미지를 3D 카메라로 구현된 카메라(120)를 통해 획득된 3D 이미지와 비교한 결과를 이용하여, 전자 장치(100)가 위치한 구역을 판단할 수도 있다.
도 3b를 참조하면, 로봇 청소기로 구현된 전자 장치(100)는 카메라(120)를 통해 획득된 이미지(302)를 스토리지(130)에 저장된 복수의 구역들(300-10, 20, 30, 40) 각각의 내부 이미지들과 비교하여, 전자 장치(100)가 침실(300-20)에 위치하고 있음을 판단할 수 있다.
또는, 제1 프로세서(140-1)는 전자 장치(100)가 위치한 구역에서 카메라(120)를 통해 획득된 이미지로부터 하나 이상의 객체를 식별하여 전자 장치(100)가 위치한 구역을 판단할 수도 있다.
구체적인 예로, 제1 프로세서(140-1)는 전자 장치(100)가 위치한 구역에서 카메라(120)를 통해 촬영된 이미지를 저장된 복수의 인공지능 모델 중 적어도 하나에 입력하여 이미지 속 객체를 식별할 수 있다. 만약, 식별된 객체가 소파 및 TV인 경우, 제1 프로세서(140-1)는 구역별로 하나 이상의 객체가 기설정된 정보를 이용하여 소파 및 TV가 '거실'에 대응됨을 식별할 수 있다. 그리고, 제1 프로세서(140-1)는 전자 장치(100)가 위치한 구역이 '거실'임을 판단할 수 있다.
또한, 제1 프로세서(140-1)는 관성 센서, 가속도 센서 등을 포함하는 센서(110)를 이용하여, 맵(300)상에서 전자 장치(100)가 위치하는 지점을 판단하고, 맵상의 복수의 구역 중 판단된 지점을 포함하는 구역을 전자 장치(100)가 위치하는 구역으로 판단할 수도 있다.
한편, 제1 프로세서(140-1)가 전자 장치(100)가 위치한 구역을 판단하는 과정은 상술한 실시 예들에만 한정되는 것이 아니고, 이밖에도 다양한 방식이 가능하다.
도 4는 전자 장치(100)의 스토리지(130)에 저장된 복수의 인공지능 모델의 예를 설명하기 위한 표이다.
도 4를 참조하면, 스토리지(130)에는 에어컨을 식별하도록 학습된 에어컨 모델(401), 냉장고를 식별하도록 학습된 냉장고 모델(402) 등 각각 하나의 객체를 식별하도록 학습된 인공지능 모델이 하나 이상 저장될 수 있다.
한편, 스토리지(130)에는 복수의 객체를 식별하도록 학습된 인공지능 모델이하나 이상 저장될 수도 있다. 도 4를 참조하면, 스토리지(130)에 저장된 복수의 인공지능 모델 중 침실 모델(410)은, 에어컨, TV, 침대, 의자, 컵, 유리병 등을 식별할 수 있는 모델이다. 도 4를 참조하면, 스토리지(130)에 저장된 복수의 인공지능 모델 중 주방 모델(430)은, 에어컨, 냉장고, 의자, 컵, 유리병, 접시 등을 식별할 수 있는 모델이다.
관련하여, 제1 프로세서(140-1)가 전자 장치(100)가 침실에 위치한 것으로 판단한 경우, 제2 프로세서(140-2)는 휘발성 메모리(145)에 침실 모델(310)을 로드할 수 있다. 반면, 제1 프로세서(140-1)가 전자 장치(100)가 주방에 위치한 것으로 판단한 경우, 제2 프로세서(140-2)는 휘발성 메모리(145)에 주방 모델(330)을 로드할 수 있다.
한편, 비록 도 4에는 '집'과 관련된 객체를 식별하도록 학습된 인공지능 모델들(401, 402, ...) 및 '집' 안의 복수의 구역 각각에 대응되도록 저장된 인공지능 모델들(410, 420, 430, 440, ...)만이 도시되었으나, 집 외의 다양한 공간(도서관, 박물관, 광장, 운동장 등)에 포함된 하나 이상의 객체를 식별하기 위한 인공지능 모델 및 집 외의 공간에 포함된 복수의 구역 각각에 대응되도록 저장된 복수의 인공지능 모델이 스토리지(130)에 저장될 수도 있다.
스토리지(130)에 저장된 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고는 전술한 예에 한정되지 않는다.
인공지능 모델은, 다양한 개념, 조건, 관계 내지는 합의된 지식이 컴퓨터가 처리할 수 있는 형태로 표현된 온톨로지 기반의 데이터 구조로 구성될 수도 있다.
스토리지(130)에 저장된 인공지능 모델은, 다양한 학습 알고리즘을 통해 전자 장치(100) 또는 별도의 서버/시스템을 통해 학습된 것일 수 있다. 학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)를 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
한편, 인공지능 모델의 형태/종류가 상술한 예들에만 한정되는 것은 아니다.
스토리지(130)에 저장된 복수의 인공지능 모델 각각은, 컨볼루션 레이어(Convolutional Layer) 및 컨볼루션 레이어를 통해 추출된 특징 정보에 기초하여 적어도 하나의 객체를 식별하도록 학습된 풀리-커넥티드 레이어(Fully-connected Layer)를 포함할 수 있다.
이 경우, 컨볼루션 레이어는 스토리지(130)에 저장된 복수의 인공지능 모델에 공통된 레이어이고, 풀리-커넥티드 레이어는 복수의 인공지능 모델 각각에 개별적으로 마련되는 레이어일 수 있다.
이때, 복수의 인공지능 모델 각각을 구성하는 풀리-커넥티드 레이어 각각은, 컨볼루션 레이어로부터 출력된 특징 정보로부터 적어도 하나의 객체를 식별하도록 학습된 레이어일 수 있다. 이 경우, 풀리-커넥티드 레이어 각각은, 적어도 하나의 객체가 해당 이미지에 포함될 확률 값을 객체 별로 출력할 수도 있다.
전자 장치(100)가 컨볼루션 레이어 및 풀리-커넥티드 레이어를 포함하는 인공지능 모델을 이용하여 객체 인식을 수행하는 구체적인 예로, 제2 프로세서(140-2)는 컨볼루션 레이어에 카메라(120)를 통해 획득된 이미지를 입력할 수 있다. 그리고, 컨볼루션 레이어를 통해 출력된 특징 정보가 풀리-커넥티드 레이어에 입력되면, 제2 프로세서(140-2)는 풀리-커넥티드 레이어를 통해 출력되는 데이터를 이용하여 기설정된 객체가 이미지에 포함되는 확률을 획득할 수 있다.
그리고, 제1 프로세서(140-1) 또는 제2 프로세서(140-2)는, 획득된 확률을 임계 값과 비교하여, 획득된 확률이 임계 값보다 큰 경우 입력된 이미지에 기설정된 객체가 포함되어 있다고 식별할 수 있다.
도 5는 전자 장치가 컨볼루션 레이어(Convolutional Layer) 및 풀리-커넥티드 레이어(Fully-connected Layer)로 구성된 복수의 인공지능 모델 중 판단된 구역에 대응되는 인공지능 모델을 선택적으로 로드하는 구체적인 예를 설명하기 위한 도면이다.
도 5는, 스토리지(130)상에 도 4를 통해 도시 및 설명된 복수의 인공지능 모델이 저장된 상황을 가정한다. 도 4를 참조하면, 스토리지(130)에 저장된 복수의 인공지능 모델은 침실 모델(410), 거실 모델(420), 주방 모델(430) 등을 포함한다.
도 5를 참조하면, 스토리지(130)에 저장된 복수의 인공지능 모델(500)은 이미지에 대한 데이터가 입력되면 특징 정보를 추출하는 컨볼루션 레이어(501) 및 추출된 특징 정보가 입력되면 하나 이상의 객체를 식별하도록 학습된 풀리-커넥티드 레이어(502)로 구성될 수 있다.
도 5를 참조하면, 풀리-커넥티드 레이어(502)는 복수의 상호 독립된 풀리-커넥티드 레이어들(510, 520, 530, ...)로 구분될 수 있다. 복수의 상호 독립된 풀리-커넥티드 레이어들(510, 520, 530, ...)은, 추출된 특징 정보가 입력되면 서로 다른 하나 이상의 객체를 식별하도록 학습된 레이어들일 수 있다.
이때, 도 4의 침실 모델(410)은 도 5의 컨볼루션 레이어(501) 및 풀리-커넥티드 레이어(510)를 포함하고, 도 4의 거실 모델(420)은 도 5의 컨볼루션 레이어(501) 및 풀리-커넥티드 레이어(520)로 구성되며, 도 4의 주방 모델(430)은 도 5의 컨볼루션 레이어(501) 및 풀리-커넥티드 레이어(530)로 구성될 수 있다.
즉, 도 4의 복수의 인공지능 모델들(410, 420, 430, ...)은 컨볼루션 레이어(501)를 공통으로 이용하면서, 서로 다른 객체를 식별하도록 학습된 풀리-커넥티드 레이어들(510, 520, 530, ...)을 통해 서로 구분될 수 있다.
제2 프로세서(140-2)는, 판단된 구역에 대응되는 인공지능 모델의 컨볼루션 레이어 및 풀리-커넥티드 레이어를 휘발성 메모리(145)에 로드할 수 있다.
예로, 전자 장치(100)가 '침실'에 위치하는 것으로 판단된 경우, 제2 프로세서(140-2)는 침실 모델(410)을 이용하기 위해, 컨볼루션 레이어(501) 및 풀리-커넥티드 레이어(510)를 휘발성 메모리(145)에 로드할 수 있다.
관련하여, 복수의 인공지능 모델이, 복수의 구역 중 제1 구역에 대응되는 제1 모델 및 복수의 구역 중 제2 구역에 대응되는 제2 모델을 포함하는 경우를 가정할 수 있다.
여기서, 제2 프로세서(140-2)는, 전자 장치(100)가 제1 구역에 위치하는 경우, 컨볼루션 레이어 및 제1 모델에 대응되는 풀리-커넥티드 레이어를 휘발성 메모리(145)에 로드하고, 전자 장치(100)가 제2 구역에 위치하는 경우, 컨볼루션 레이어 및 제2 모델에 대응되는 풀리-커넥티드 레이어를 휘발성 메모리(145)에 로드할 수 있다.
예로, 전자 장치(100)가 '침실'에 위치하는 것으로 판단된 경우, 제2 프로세서(140-2)는 컨볼루션 레이어(501) 및 풀리-커넥티드 레이어(510)를 로드할 수 있다. 여기서, 전자 장치(100)의 위치가 '거실'로 변경된 것으로 판단된 경우, 프로세서(140)는 컨볼루션 레이어(501)를 로드된 상태로 유지하되 풀리-커넥티드 레이어(510)는 휘발성 메모리(145)에서 제거하고 새로운 풀리-커넥티드 레이어(520)를 로드할 수 있다.
한편, 스토리지(130)에 저장된 맵에 대한 정보는, 제1 프로세서(140-1)에 의해 생성/업데이트될 수 있다.
도 6a 내지 도 6d는 전자 장치가 맵에 대한 정보를 생성하는 다양한 예를 설명하기 위한 도면들이다.
제1 프로세서(140-1)는, 센서(110)로부터 수신되는 센싱 데이터에 기초하여 전자 장치(100)가 위치하는 공간(place)의 구조에 대한 정보를 획득할 수 있다.
도 6a를 참조하면, 제1 프로세서(140-1)는 전자 장치(100)가 해당 공간 내에서 이동하도록 전자 장치(100)의 이동 수단을 제어할 수 있다. 그리고, 전자 장치(100)가 이동하는 동안, 제1 프로세서(140-1)는 라이다 센서인 센서(110)를 통해 수신된 센싱 데이터를 이용하여 해당 공간의 구조에 대한 정보를 획득할 수 있다.
이 경우, 제1 프로세서(140-1)는, 라이다 센서인 센서(110)를 통해 수신된 센싱 데이터를 이용하여 전자 장치(100)의 주변의 구조물 및 사물 내 지점들과의 거리를 식별하고, 식별된 거리에 따라 주변의 구조(모양/크기)에 대한 정보를 획득할 수 있다.
또한, 전자 장치(100)가 이동하는 동안, 제1 프로세서(140-1)는 3D 카메라로 구현된 카메라(120)를 통해 촬영된 이미지에 대한 데이터를 획득할 수도 있다. 그리고, 제1 프로세서(140-1)는 획득된 이미지를 이용하여 해당 공간의 구조(모양/크기)에 대한 정보를 획득할 수 있다.
도 6a를 참조하면, 제1 프로세서(140-1)는 획득된 구조에 대한 정보를 이용하여, 해당 공간의 일부 또는 전체를 특정 방향에서 바라본 것과 같은 1차원 맵(600)에 해당하는 이미지 데이터를 획득할 수 있다.
제1 프로세서(140-1)는, 획득된 구조에 대한 정보에 기초하여, 전자 장치(100)가 위치한 공간을 복수의 구역으로 구분할 수 있다.
이 경우, 제1 프로세서(140-1)는, 다양한 알고리즘을 이용하여 맵상에서 복수의 구역을 구분할 수 있다. 예로, 제1 프로세서(140-1)는 라이다 센서인 센서(110)를 통해 획득된 센싱 데이터 및/또는 카메라(120)를 통해 획득된 이미지를 통해, 바닥에 구분선 내지는 턱이 있는 지점, 이동 가능한 폭이 좁아지는 지점, 벽이 있는 지점, 벽이 끝나는 지점, 문이 있는 지점 등을 식별할 수 있다. 그리고, 제1 프로세서(140-1)는 식별된 지점을 구역 간의 경계로 하여 맵상의 각 구역을 구분할 수 있다.
도 6b에서, 제1 프로세서(140-1)는 센서(110)에 포함된 라이다 센서를 통해 획득된 센싱 데이터 및/또는 카메라(120)를 통해 획득된 이미지(ex. 3D 이미지)를 통해 1차원 맵(600)상에서 전자 장치(100)의 위치를 판단할 수 있다.
그리고, 제1 프로세서(140-1)는, 라이다 센서를 통해 획득된 센싱 데이터를 이용하여 '벽이 끝나는 지점'을 식별할 수 있다. 또한, 제1 프로세서(140-1)는, 제2 프로세서(140-2)가 카메라(120)를 통해 획득된 이미지(ex. RGB 이미지)(650)를 스토리지(130)에 저장된 복수의 인공지능 모델 중 적어도 하나에 입력하여, 이미지(650)상에 포함된 '벽이 끝나는 지점'(651), '문'(652) 등을 식별하도록 제어할 수 있다.
그리고, 제1 프로세서(140-1)는 상술한 지점들(651, 652) 및 벽의 구조를 이용하여 1차원 맵(600)상에서 현재 전자 장치(100)가 위치한 지점을 포함하는 하나의 독립된 구역(600-20)을 구분/정의할 수 있다. 그리고, 제1 프로세서(140-1)는 이밖에도 다양한 알고리즘을 이용하여 나머지 구역들(600-10, 30, 40)을 1차원 맵(600)상에서 각각 구분할 수 있다.
다만, 전자 장치(100)가 위치하는 공간을 복수의 구역으로 구분하는 실시 예는 상술한 실시 예들에만 한정되는 것은 아니며, 그밖에 공지된 전자 장치들의 다양한 실시 예를 이용할 수 있다.
제1 프로세서(140-1)는 구분된 복수의 구역 각각의 구조에 대한 정보를 포함하는 맵에 대한 정보를 생성하여, 생성된 맵에 대한 정보를 스토리지(130)에 저장할 수 있다.
한편, 제1 프로세서(140-1)는 구분된 각 구역의 내부 이미지 및 구분된 각 구역의 특성에 대한 정보를 포함하는 맵에 대한 정보를 생성/저장할 수도 있다. 구분된 각 구역의 특성은 각 구역의 용도, 크기 등에 해당할 수 있다.
제1 프로세서(140-1)는 전자 장치(100)가 구분된 복수의 구역 각각에 위치하는 동안 카메라(120)를 통해 획득된 복수의 구역 각각의 내부 이미지를 맵에 대한 정보에 추가할 수 있다.
예로, 제1 프로세서(140)는 전자 장치(100)가 복수의 구역상의 다양한 지점들 각각에 위치하는 때마다 카메라(120)를 통해 획득되는 다각도의 이미지들을 획득하고, 획득된 다각도의 이미지들을 맵에 대한 정보로 저장할 수 있다.
한편, 제2 프로세서(140-2)는 전자 장치(100)가 구분된 복수의 구역 각각에 위치하는 동안 카메라(120)를 통해 획득된 이미지를 스토리지(130)에 저장된 복수의 인공지능 모델 중 적어도 하나에 입력하여 복수의 구역 각각에 위치하는 객체를 식별할 수 있다. 그리고, 제1 프로세서(140-1)는 복수의 구역 각각에 위치하는 것으로 식별된 객체에 대한 정보를 복수의 구역 각각에 존재하는 객체에 대한 정보로 획득하여 스토리지(130)에 저장할 수도 있다.
복수의 구역 각각에 존재하는 객체에 대한 정보는, 복수의 인공지능 모델 중 적어도 하나의 출력과 관련된 정보일 수 있다. 즉, 객체에 대한 정보는, 스토리지(130)에 저장된 복수의 인공지능 모델 중 적어도 하나의 인공지능 모델이 복수의 구역 각각에서 획득된 이미지를 입력받아 객체를 식별하고, 식별된 객체에 대한 정보를 출력한 결과(예를 들면, 식별된 객체의 명칭, 크기, 종류 등)를 포함할 수 있다. 객체에 대한 정보는, 객체가 사람인 경우 사람의 신원에 대한 정보를 포함할 수도 있다.
한편, 객체에 대한 정보는 복수의 구역 별로 기저장되어 있을 수 있는바, 이때 복수의 구역 각각에 존재하는 객체에 대한 정보는, 적어도 하나의 객체를 식별하기 위한 복수의 인공지능 모델이 출력하는 정보와 매칭되도록 저장/관리될 수 있다. 복수의 구역 각각에 존재하는 객체에 대한 정보는, 각각의 인공지능 모델의 검색/처리의 편의를 위해 이름, 종류(가전, 가구, 운동 기구 등) 등의 카테고리로 분류되어 관리될 수 있다.
제1 프로세서(140-1)는 복수의 구역 각각에 존재하는 객체에 대한 정보를 이용하여 복수의 구역 각각의 용도를 식별할 수 있다.
도 6c를 참조하면, 제1 프로세서(140-1)는, 전자 장치(100)가 구역(600-10)에 위치하는 동안 해당 구역(600-10)에서 카메라(120)를 통해 획득된 하나 이상의 이미지를 스토리지(130)에 저장된 하나 이상의 인공지능 모델에 입력하도록 제2 프로세서(140-2)를 제어할 수 있다.
그 결과, 제1 프로세서(140-1) 및 제2 프로세서(140-2)는 구역(600-10)상에 TV(661) 및 소파(662)가 위치한다는 것을 식별할 수 있다. 그리고, 제1 프로세서(140-1)는, '거실', '주방', '침실' 등 하나 이상의 구역 각각에 대해 하나 이상의 객체가 대응되도록 기설정된 구역별 객체 정보를 이용하여, TV(661) 및 소파(662)에 대응되는 구역이 '거실'임을 식별할 수 있다. 그리고, 제1 프로세서(140-1)는 구역(600-10)의 용도가 '거실'임을 식별할 수 있다.
그리고, 제1 프로세서(140-1)는 나머지 구역들(600-20, 30, 40) 각각에서 식별된 객체들을 이용하여 나머지 구역들(600-20, 30, 40)의 용도가 각각 '침실', '주방', '화장실'이라는 점을 식별할 수 있다.
한편, 제1 프로세서(140-1)는 전자 장치(100)에 수신된 사용자 입력에 따라 각 구역을 구분하거나 또는 각 구역에 대한 정보를 획득할 수도 있다.
예를 들어, 라이다 센서인 센서(110)의 센싱 데이터를 통해 생성된 1차원 맵에 해당하는 이미지가 전자 장치(100)의 디스플레이상에 표시된 상태에서, 제1 프로세서(140-1)는 디스플레이된 1차원 맵의 이미지에 포함된 적어도 일부 영역에 대한 사용자의 터치 입력에 따라 1차원 맵에 해당하는 이미지를 복수의 구역으로 구분할 수 있다.
또한, 복수의 구역으로 구분된 1차원 맵에 해당하는 이미지가 전자 장치(100)의 디스플레이상에 표시된 상태에서, 제1 프로세서(140-1)는, 구분된 복수의 구역 중 적어도 하나를 선택하는 사용자의 터치 입력 및 선택된 구역의 용도를 선택/입력하는 사용자의 터치 입력에 따라 구분된 복수의 구역 중 적어도 하나의 구역의 용도를 식별할 수도 있다.
한편, 각 구역을 구분하거나 또는 각 구역에 대한 정보(ex. 용도)를 정의하기 위한 사용자 입력은, 전자 장치(100)에 직접 수신되는 것이 아니라 스마트폰, PC 등 외부 장치를 통해 간접적으로 수신될 수도 있다. 이 경우, 외부 장치를 통해 수신된 사용자 입력에 대한 정보는 외부 장치로부터 전자 장치(100)로 수신 될 수 있다.
예로, 도 6d는 외부 장치를 통해 수신된 사용자 입력에 따라 전자 장치가 1차원 맵상의 복수의 구역의 용도를 식별하는 경우를 설명하기 위한 도면이다.
도 6d를 참조하면, 로봇 청소기인 전자 장치(100)는 도 6a 및 도 6b와 같은 과정을 거친 뒤, 복수의 구역으로 구분된 1차원 맵(600)에 대한 정보를 외부 장치(200)로 전송할 수 있다.
이 경우, 도 6d를 참조하면, 외부 장치(200)는 화면상의 제1 영역(201)에 수신된 1차원 맵(600)을 디스플레이할 수 있다.
이때, 도 6d와 같이, 1차원 맵(600)상에서 구분된 복수의 구역들(600-10, 20, 30, 40) 중 구역(600-10)의 일부 영역(671)에 대한 사용자(670)의 터치가 입력되면, 외부 장치(200)는 구역(600-10)이 선택된 것으로 식별할 수 있다. 이 경우, 외부 장치(200)는 선택된 구역(600-10)이 포함된 영역의 색깔을 어둡게 조정하는 등 해당 구역(600-10)이 선택되었음을 시각적으로 나타낼 수 있다.
그리고, 외부 장치(200)는 선택된 구역(600-10)의 용도를 입력받기 위한 Graphic User Interface(GUI)를 화면상의 제2 영역(202)에 디스플레이할 수 있다.
도 6d를 참조하면, 제2 영역(202)상의 GUI는 사용자가 구역(600-10)의 용도로 선택할 수 있는 복수의 메뉴 항목들(681)을 포함할 수 있다. 또한, 제2 영역(202)상의 GUI는 사용자가 구역(600-10)의 용도를 직접 입력할 수 있는 항목(682)도 포함할 수 있다. 해당 항목(682)에 대한 사용자의 터치가 입력되면, 사용자가 텍스트를 입력하기 위한 자판이 외부 장치(200)의 화면상에 디스플레이될 수 있다.
그리고, 외부 장치(200)는 선택된 구역(600-10)에 대한 정보 및 GUI에 의해 선택/입력된 용도에 대한 정보를 전자 장치(100)로 전송할 수 있다.
그리고, 전자 장치(100)는 수신된 정보를 통해 1차원 맵(600)상의 구분된 복수의 구역 중 선택된 구역(600-10)의 용도를 식별할 수 있다.
한편, 도 6d를 통해 도시 및 설명한 화면의 구성, 사용자 입력을 수신하는 형태(터치) 등은 한가지 예일뿐 이밖에도 일반적으로 알려진 다양한 기술적 방식이 가능하다. 그리고, 도 6d를 통해서는 이미 1차원 맵(600)이 복수의 구역으로 구분된 상태에서 사용자 입력을 수신하는 실시 예만을 도시하였으나, 1차원 맵(600)을 복수의 구역으로 구분하기 위한 사용자 입력을 외부 장치를 통해 수신하는 실시 예도 물론 가능하다.
한편, 전자 장치는 도 6b 및/또는 도 6c의 과정을 통해 구분된 복수의 구역에 각각 대응되는 복수의 인공지능 모델을 새롭게 정의/획득할 수 있다. 이를 위해, 전자 장치는 스토리지에 기저장된, 복수의 객체를 식별하도록 학습된 인공지능 모델을 이용할 수 있다.
구체적으로, 스토리지(130)에 복수의 객체를 식별하도록 학습된 인공지능 모델이 저장된 상태에서, 제2 프로세서(140-2)는 전자 장치(100)가 복수의 구역 각각에 위치하는 동안 카메라(120)를 통해 획득된 이미지를 저장된 인공지능 모델에 입력하여 복수의 구역 각각에 존재하는 객체를 식별할 수 있다. 본 과정은, 전자 장치가 위치하는 공간 내의 객체를 식별하는 도 6c의 과정과 별도로 수행될 수도 있지만, 도 6c의 과정과 함께 수행될 수도 있다.
그리고, 제2 프로세서(140-2)는 식별된 객체에 대한 정보를 제1 프로세서(140-1)로 전달할 수 있다. 이 경우, 제1 프로세서(140-1)는, 제2 프로세서(140-2)부터 전달받은 식별된 객체에 대한 정보에 기초하여, 저장된 인공지능 모델로부터 복수의 구역 각각에 대응되는 인공지능 모델을 획득할 수 있다.
도 7a 내지 도 7c는 전자 장치가 복수의 구역 각각에서 식별된 객체를 이용하여 복수의 구역 각각에 대응되는 인공지능 모델을 획득하는 예를 설명하기 위한 도면들이다.
도 7a는 복수의 구역 각각에서 식별된 객체에 대한 정보가, 복수의 구역 각각에 존재하는 객체에 대한 정보로서 스토리지(130)에 저장된 것을 간략하게 도시한 표이다.
도 7a를 참조하면, 침실(51)에는 에어컨(11), TV(13), 침대(21), 의자(23) 등이 존재하고, 거실(52)에는 에어컨(11), TV(13), 소파(22) 등이 존재한다.
도 7b는, 복수의 구역에 각각 대응되는 복수의 인공지능 모델이 획득되기 전에, 스토리지(130)에 저장된 인공지능 모델(700)의 데이터 구조를 나타내기 위한 도면이다.
도 7b를 참조하면, 인공지능 모델(700)은 컨볼루션 레이어(701) 및 컨볼루션 레이어(701)로부터 추출된 특징 정보를 이용하여 복수의 객체를 식별하기 위한 풀리-커넥티드 레이어(702)로 구성된다.
도 7b에서 노드(711)는 입력된 이미지상에 에어컨이 포함될 확률을, 노드(712)는 입력된 이미지상에 냉장고가 포함될 확률을, 노드(713)은 입력된 이미지상에 TV가 포함될 확률을, 노드(721)는 입력된 이미지상에 침대가 포함될 확률을, 노드(722)는 입력된 이미지상에 소파가 포함될 확률을, 노드(723)은 입력된 이미지상에 의자가 포함될 확률을 출력한다. 그밖에 노드(731), 노드(732), 노드(733)은 각각 컵, 유리병, 접시에 대한 노드이다.
제1 프로세서(140-1)는, 스토리지(130)에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보 중 제1 구역에 존재하는 객체에 대한 정보에 기초하여, 제1 구역에 제1 객체가 존재하는 것으로 식별할 수 있다.
이 경우, 제1 프로세서(140-1)는 스토리지(130)에 저장된 인공지능 모델의 풀리-커넥티드 레이어 중 제1 객체를 식별하도록 학습된 풀리-커넥티드 레이어의 일부를 식별할 수 있다.
그리고, 제1 프로세서(140-1)는 식별된 풀리-커넥티드 레이어의 일부 및 스토리지(130)에 저장된 인공지능 모델의 컨볼루션 레이어를 포함하는 제1 모델을 획득(정의)하여 스토리지(130)에 저장할 수 있다. 이 경우, 제1 프로세서(140-1)는 제1 모델과 제1 구역을 연관(대응)시키는 로지컬 매핑 정보를 생성하여 스토리지(130)에 저장할 수 있다.
제1 프로세서(140-1)는, 스토리지(130)에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보 중 제2 구역에 존재하는 객체에 대한 정보에 기초하여, 제2 구역에 제2 객체가 존재하는 것으로 식별할 수 있다.
이 경우, 제1 프로세서(140-1)는, 스토리지(130)에 저장된 인공지능 모델의 풀리-커넥티드 레이어 중 제2 객체를 식별하도록 학습된 풀리-커넥티드 레이어의 다른 일부를 식별할 수 있다.
그리고, 제1 프로세서(140-1)는 식별된 풀리-커넥티드 레이어의 다른 일부 및 스토리지(130)에 저장된 인공지능 모델의 컨볼루션 레이어를 포함하는 제2 모델을 획득(정의)하여 스토리지(130)에 저장할 수 있다. 이 경우, 제1 프로세서(140-1)는 제2 모델과 제2 구역을 연관(대응)시키는 로지컬 매핑 정보를 생성하여 스토리지(130)에 저장할 수 있다.
일 예로, 제1 프로세서(140-1)는 도 7a의 정보를 이용하여, '침실'(51)에는 에어컨(11), TV(13), 침대(21), 의자(23) 등이 존재한다는 것을 식별할 수 있다.
이 경우, 제1 프로세서(140-1)는, 도 7b에 도시된 풀리-커넥티드 레이어(702) 중 에어컨(11), TV(13), 침대(21), 의자(23)와 관련된 노드들(711, 713, 721, 723) 및 해당 노드들(711, 713, 721, 723)의 출력을 생성하기 위한 추론 과정에 이용되는 부분을 포함하는 새로운 풀리-커넥티드 레이어(751')를 정의할 수 있다.
여기서, 풀리-커넥티드 레이어(751')는, 풀리-커넥티드 레이어(702) 중 냉장고에 대한 노드(712)의 출력을 생성하기 위한 추론 과정과는 관련이 있지만 에어컨(11) 및 TV(13)에 대한 노드들(711, 713)의 출력을 생성하기 위한 추론 과정과는 무관한 부분은 포함하지 않을 수 있다.
그리고, 도 7c를 참조하면, 제1 프로세서(140-1)는 컨볼루션 레이어(701) 및 풀리-커넥티드 레이어(751')를 포함하는 새로운 침실 모델(751)을 획득할 수 있다.
일 예로, 제1 프로세서(140-1)는 도 7a의 정보를 이용하여, '거실'(52)에는 에어컨(11), TV(13), 소파(22) 등이 존재한다는 것을 식별할 수 있다.
이 경우, 제1 프로세서(140-1)는 도 7b에 도시된 풀리-커넥티드 레이어(702) 중 에어컨(11), TV(13), 소파(22)와 관련된 노드들(711, 713, 722) 및 해당 노드들(711, 713, 722)의 출력을 생성하기 위한 추론 과정에 이용되는 부분을 포함하는 새로운 풀리-커넥티드 레이어(752')를 정의/획득할 수 있다.
여기서, 풀리-커넥티드 레이어(752')는, 풀리-커넥티드 레이어(702) 중 침대(21)에 대한 노드(721)의 출력을 생성하기 위한 추론 과정과는 관련이 있지만 소파(22)에 대한 노드(722)의 출력을 생성하기 위한 추론 과정과는 무관한 부분은 포함하지 않을 수 있다.
그리고, 도 7c를 참조하면, 제1 프로세서(140-1)는 컨볼루션 레이어(701) 및 풀리-커넥티드 레이어(752')를 포함하는 거실 모델(752)을 획득할 수 있다.
그리고, 제1 프로세서(140-1)는 획득된 인공지능 모델을 각 구역에 대응되는 인공지능 모델로 스토리지(130)에 저장할 수 있다.
이때, 제1 프로세서(140-1)는 풀리-커넥티드 레이어(702) 중 침실 모델(751)에 포함되는 풀리-커넥티드 레이어(751')를 침실(51)과 매핑시키는 로지컬 매핑 정보를 스토리지(130)에 저장할 수 있다. 또한, 제1 프로세서(140-1)는 풀리-커넥티드 레이어(702) 중 거실 모델(752)에 포함되는 풀리-커넥티드 레이어(752')를 거실(52)과 매핑시키는 로지컬 매핑 정보를 스토리지(130)에 저장할 수도 있다.
이 후, 예를 들어 전자 장치(100)가 침실(51)에 위치하는 것으로 판단되면, 제2 프로세서(140-2)는 제1 프로세서(140-1)의 제어에 따라, 스토리지(130)에 저장된 인공지능 모델(700) 중 침실 모델(751)만을 휘발성 메모리(145)에 로드할 수 있다. 구체적으로, 제2 프로세서(140-2)는 침실(51)에 대한 로지컬 매핑 정보에 매핑되는 풀리-커넥티드 레이어(751')를 컨볼루션 레이어(701)와 함께 로드할 수 있다.
반면, 예를 들어 전자 장치(100)가 거실(52)에 위치하는 것으로 판단되면, 제2 프로세서(140-2)는 제1 프로세서(140-1)의 제어에 따라, 스토리지(130)에 저장된 인공지능 모델(700) 중 거실 모델(752)만을 휘발성 메모리(145)에 로드할 수 있다. 구체적으로, 제2 프로세서(140-2)는 거실(52)에 대한 로지컬 매핑 정보에 매핑되는 풀리-커넥티드 레이어(752')를 컨볼루션 레이어(701)와 함께 로드할 수 있다.
한편, 맵에 대한 정보를 생성하면서 전자 장치(100)가 위치하는 공간에 존재하는 객체를 식별하는 도 6c의 과정 외에도, 제1 프로세서(140-1)는 복수의 구역 각각에 존재하는 객체를 식별하는 스캐닝을 수행할 수 있다. 이 경우, 제1 프로세서(140-1)는 복수의 구역상에서 이동하도록 전자 장치(100)의 이동 수단을 제어하는 한편, 복수의 구역 각각에서 카메라(120)를 통해 획득된 이미지로부터 복수의 구역 각각에 존재하는 객체를 식별하도록 제2 프로세서(140-2)를 제어할 수 있다.
이 경우, 제1 프로세서(140-1)는 수신된 사용자 명령에 따라 스캐닝을 수행하거나, 사용자 명령과 무관하게 기설정된 주기에 따라 상술한 스캐닝을 수행할 수 있다.
또한, 제1 프로세서(140)는 복수의 구역을 포함하는 공간에 사용자가 없는 때에만 상술한 스캐닝을 수행할 수도 있다. 이 경우, 제1 프로세서(140-1)는 수신된 사용자의 입력을 통해 사용자가 해당 공간에 없음을 식별할 수 있다. 또는, 제1 프로세서(140-1)는 복수의 구역에서 카메라(120)를 통해 획득된 이미지를 통해 사용자의 존재 여부를 인식하도록 제2 프로세서(140-2)를 제어하고, 제2 프로세서(140-2)가 로드한 인공지능 모델의 출력에 따라 사용자가 해당 공간에 없음을 식별할 수 있다. 이 경우, 인공지능 모델은, 입력된 이미지에 사용자가 포함되어 있는지 여부를 식별하도록 학습된 인공지능 모델일 수 있다.
전자 장치(100)는 복수의 구역에 대한 스캐닝 결과에 따라 복수의 구역 각각에 대응되는 인공지능 모델을 업데이트할 수 있다.
구체적으로, 제2 프로세서(140-2)는, 전자 장치(100)가 복수의 구역 중 하나의 구역에 위치하는 동안 카메라(120)를 통해 획득된 이미지를 휘발성 메모리(145)에 로드된 복수의 인공지능 모델 중 적어도 하나에 입력하여 해당 구역에 존재하는 객체를 식별하고, 식별된 객체에 대한 정보를 제1 프로세서로 전달할 수 있다. 이 경우, 복수의 인공지능 모델은 휘발성 메모리(145)에 동시에 로드되지 않고, 하나 또는 두 개씩 순차적으로 로드될 수 있다.
그리고, 제1 프로세서(140-1)는, 제2 프로세서(140-2)부터 전달받은 식별된 객체에 대한 정보에 기초하여 해당 구역에 대응되는 인공지능 모델을 업데이트할 수 있다.
일 예로, 스토리지(130)에 복수의 구역 각각에 존재하는 객체에 대한 정보가 저장된 상태에서, 제1 프로세서(140-1)는, 스토리지(130)에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보에 기초하여, 복수의 구역 중 하나의 구역에 존재하는 적어도 하나의 객체를 판단하고, 제2 프로세서(140-2)로부터 전달받은 해당 구역에서 식별된 객체에 대한 정보에 기초하여, 판단된 객체 중 해당 구역에서 식별되지 않은 객체를 판단할 수 있다.
그리고, 제1 프로세서(140-1)는 복수의 인공지능 모델 중 해당 구역에 대응되는 인공지능 모델에서, 식별되지 않은 객체를 식별하도록 학습된 부분을 삭제하여, 해당 구역에 대응되는 인공지능 모델을 업데이트할 수 있다.
관련하여, 도 8a 내지 도 8c는, 복수의 구역 중 일 구역에 존재하던 객체가 더 이상 해당 구역에 존재하지 않는 것으로 식별된 경우, 전자 장치(100)가 해당 구역에 대응되는 인공지능 모델을 업데이트하는 예를 설명하기 위한 도면들이다.
도 8a 내지 도 8c는, 스토리지(130)에 도 7a와 같이 복수의 구역 각각에 존재하는 객체에 대한 정보가 저장된 상황을 가정한다. 스토리지(130)에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보는 기설정된 정보일 수도 있고, 도 6c의 과정을 통해 복수의 구역 각각에서 식별된 객체에 대한 정보일 수도 있다. 또한, 도 8a 내지 도 8c는, 복수의 구역에 각각 대응되는 복수의 인공지능 모델이 도 7c와 같이 구성되어 스토리지(130)에 저장된 상황을 가정한다.
도 8a를 참조하면, 로봇 청소기로 구현된 전자 장치(100)의 제1 프로세서(140-1)는 전자 장치(100)가 맵(800)이 나타내는 공간 상의 복수의 구역(800-10, 20, 30, 40)을 이동하도록 전자 장치(100)의 이동 수단을 제어할 수 있다.
그리고, 전자 장치(100)가 복수의 구역(800-10, 20, 30, 40) 각각에 위치하는 동안, 제2 프로세서(140-2)는 스토리지(130)에 저장된 복수의 인공지능 모델 중 적어도 하나를 로드하고, 로드된 인공지능 모델에 카메라(120)를 통해 획득된 이미지를 입력하여, 복수의 구역 각각에 위치하는 객체를 식별할 수 있다.
이를 위해, 제1 프로세서(140-1)는 복수의 구역(800-10, 20, 30, 40)을 모두 한 번 이상 거치도록 전자 장치(100)의 이동을 제어할 수 있다.
이때, 도 8a를 참조하면, 전자 장치(100)는 '거실'(800-10)에서 '에어컨'(11) 및 'TV'(13)를 식별할 수 있다. 다만, 도 8a를 참조하면, 기존에 '거실'(800-10)에 존재하던 '소파'(22)는 더이상 '거실'(800-10)에 존재하지 않으므로, 전자 장치(100)는 '거실'(800-10)에서 '소파'(22)를 더이상 식별하지 못할 수 있다.
이렇듯, '소파'(22)가 더이상 '거실'(800-10)에서 식별되지 않는 경우, 구체적으로는 '소파'(22)가 임계 시간(ex. 이틀, 일주일 등 다양하게 기설정될 수 있음) 동안 '거실'(800-10)에서 식별되지 않는 경우, 제1 프로세서(140-1)는 스토리지(130)에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보 중 '거실'(52)에 존재하는 객체에 대한 정보를 업데이트할 수 있다.
그 결과, 도 8b를 참조하면, 스토리지(130)에 저장된 '거실'(52)에 존재하는 객체에 대한 정보는, 더이상 '소파'(22)를 포함하지 않도록 업데이트되었다.
이 경우, 도 8c를 참조하면, 제1 프로세서(140-1)는 '거실'(52)에 대응되는 인공지능 모델(752)에서, 풀리-커넥티드 레이어(702) 중 '소파'(22)를 식별하도록 학습된 부분을 삭제한 인공지능 모델(852)를 획득할 수 있다.
이때, '소파'(22)를 식별하도록 학습된 부분은, 풀리-커넥티드 레이어(702) 중 '소파'(22)에 대한 노드(722)의 출력을 생성하기 위한 추론 과정에 이용되는 부분을 의미할 수 있다. 다만, 제1 프로세서(140-1)는, 비록 노드(722)의 출력을 생성하기 위한 추론 과정에 이용되는 부분이라고 할 지라도, '에어컨'(11) 및 'TV'(13)에 대한 노드들(711, 713)의 출력을 생성하기 위한 추론 과정에도 이용되는 부분이라면, 해당 부분은 삭제하지 않을 수 있다.
그리고, 제1 프로세서(140-1)는 '거실'(52)에 대응되는 인공지능 모델을 획득된 인공지능 모델(852)로 업데이트하여 스토리지(130)에 저장할 수 있다.
한편, 스토리지(130)에, 복수의 구역 각각에 존재하는 객체에 대한 정보가 저장된 상태에서, 제1 프로세서(140-1)는, 스토리지(130)에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보에 기초하여, 복수의 구역 중 하나의 구역에 존재하는 적어도 하나의 객체를 판단하고, 제2 프로세서(140-2)부터 전달받은 해당 구역에서 식별된 객체에 대한 정보에 기초하여, 해당 구역에서 식별된 객체 중 판단된 객체에 포함되지 않는 객체를 판단할 수 있다.
그리고, 제1 프로세서(140-1)는, 판단된 객체에 포함되지 않는 객체를 식별하도록 학습된 풀리-커넥티드 레이어를 복수의 인공지능 모델 중 해당 구역에 대응되는 인공지능 모델에 추가하여, 해당 구역에 대응되는 인공지능 모델을 업데이트할 수 있다.
관련하여, 도 9a 내지 도 9c는 복수의 구역 중 일 구역에 새로운 객체가 추가된 것으로 식별된 경우, 해당 구역에 대응되는 인공지능 모델을 업데이트하는 예를 설명하기 위한 도면들이다.
도 9a 내지 도 9c의 실시 예는, 스토리지(130)에 도 8b의 우측 표와 같이 '거실'(52)에 존재하는 객체에 대한 정보가 저장된 상황을 가정한다. 또한, '거실'(52)에 대응되는 인공지능 모델이 도 8c의 거실 모델(852)로 저장된 상황을 가정한다.
도 9a를 참조하면, 전자 장치(100)는 '거실'(800-10)에서 '에어컨'(11) 및 'TV'(13)를 식별할 수 있다. 또한, 도 9a를 참조하면, 기존에 '거실'(800-10)에 존재하지 않던 '의자'(23)가 이제는 '거실'(800-10)에 존재하게 되었으므로, 전자 장치(100)는 '거실'(800-10)에서 '의자'(23)도 식별할 수 있다.
이렇듯, 기존에 '거실'(800-10)에 존재하지 않던 '의자'(23)가 새롭게 식별되는 경우, 제1 프로세서(140-1)는 스토리지(130)에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보 중 '거실'(52)에 존재하는 객체에 대한 정보를 업데이트할 수 있다.
그 결과, 도 9b를 참조하면, 스토리지(130)에 저장된 '거실'(52)에 존재하는 객체에 대한 정보는, '에어컨'(11) 및 'TV'(12) 외에 '의자'(23)도 포함하도록 업데이트되었다.
이 경우, 도 9c를 참조하면, 제1 프로세서(140-1)는 '거실'(52)에 대응되는 인공지능 모델(852)에, 풀리-커넥티드 레이어(702) 중 '의자'(23)를 식별하도록 학습된 부분(ex: 노드(723)을 포함)을 추가하여 인공지능 모델(952)를 획득할 수 있다. '의자'(23)를 식별하도록 학습된 부분은, 풀리-커넥티드 레이어(702) 중 '의자'(23)에 대한 노드(723)의 출력을 생성하기 위한 추론 과정에 이용되는 부분을 의미할 수 있다.
한편, 비록 도 7b에서는 '침대'(21), '의자'(22) 및 '소파'(23)의 노드들이 모두 하나의 독립된 풀리-커넥티드 레이어 내에 속한 것처럼 도시되었으나, 도 7b와 달리, '의자'를 식별하기 위한 노드가 별도의 독립된 풀리-커넥티드 레이어에 포함될 수도 있다. 이 경우, '의자'(23)를 식별하도록 학습된 부분은, '의자'(23)를 식별하기 위한 노드를 포함하는 독립된 풀리-커넥티드 레이어일 수도 있다.
그리고, 제1 프로세서(140-1)는 '거실'(52)에 대응되는 인공지능 모델을 획득된 인공지능 모델(952)로 업데이트하여 스토리지(130)에 저장할 수 있다.
한편, 전자 장치(100)가 복수의 구역 중 일 구역에 위치한 상태에서, 제2 프로세서(140-2)가 해당 구역에 대응되는 인공지능 모델을 휘발성 메모리(145)에 로드했음에도 해당 구역의 객체가 식별되지 않는 경우, 제2 프로세서(140-2)는 복수의 인공지능 모델 중 다른 인공지능 모델을 순차적으로 로드하여 해당 객체를 식별할 수 있다.
만약, 다른 인공지능 모델을 통해 해당 객체가 식별된 경우, 제1 프로세서(140-1)는 식별된 객체에 대한 정보를 이용하여, 복수의 구역 각각에 존재하는 객체에 대한 정보 중 해당 구역에 존재하는 객체에 대한 정보를 변경할 수 있다. 또한, 제1 프로세서(140-1)는 변경된 객체에 대한 정보를 이용하여, 해당 구역에 대응되는 인공지능 모델을 업데이트할 수 있다. 구체적인 예로, 식별된 객체를 인식하도록 학습된 풀리-커넥티드 레이어를 해당 구역에 대응되는 인공지능 모델에 추가할 수 있다.
한편, 복수의 구역 각각에 존재하는 객체에 대한 정보는, 전자 장치(100)로 수신된 사용자 입력 또는 외부 장치로부터 전자 장치(100)로 수신된 데이터에 의해 생성/업데이트되어 스토리지(130)에 저장될 수도 있다. 이 경우 역시, 제1 프로세서(140-1)는 생성/업데이트된 '복수의 구역 각각에 존재하는 객체에 대한 정보'를 이용하여 복수의 구역 각각에 대응되는 인공지능 모델을 업데이트할 수 있다.
한편, 복수의 구역 각각에 대응되는 인공지능 모델을 획득하거나 업데이트하는 상술한 실시 예들은, 복수의 구역 각각에 존재하는 '고정형 객체'에 대한 정보의 변화를 기반으로만 수행될 수 있다.
여기서, 고정형 객체는 침대, 소파, TV 등 인간의 실생활 과정에서 이동이 거의 없는 객체를 의미하고, 반면 비고정형 객체는 컵, 접시, 공, 장난감 등 인간의 실생활에서 이동이 잦은 객체를 의미할 수 있다.
관련하여, 제2 프로세서(140-2)는 전자 장치(100)가 복수의 구역 중 어느 구역에 위치하더라도 비고정형 객체를 식별하도록 학습된 인공지능 모델은 항상 휘발성 메모리(145)에 로드할 수 있다. 이 경우, 복수의 구역에 각각 대응되도록 스토리지(130)에 저장된 복수의 인공지능 모델은, 고정형 객체를 식별하도록 학습된 인공지능 모델들일 수 있다.
도 10은 본 개시에 따라 제1 프로세서(140-1) 및 제2 프로세서(140-2)를 포함하는 전자 장치의 상세한 구성을 설명하기 위한 블록도이다.
도 10을 참조하면, 전자 장치(100)는 센서(110), 카메라(120), 스토리지(130), 제1 프로세서(140-1), 제2 프로세서(140-2) 외에도 제1 메모리(150-1), 제2 메모리(150-2), 통신부(160), 사용자 입력부(170), 출력부(180), 구동 제어부(190) 중 적어도 하나를 더 포함할 수 있다.
센서(110)는 라이다(LIDAR. Light Detection And Ranging) 센서, 초음파 센서 등으로 구현될 수 있으며, 센서(110)가 라이다 센서로 구현된 경우, 센서(110)의 감지 결과에 따라 생성된 센싱 데이터는, 주변에 존재하는 구조물 또는 사물의 적어도 일부분과 전자 장치(100) 간의 거리에 대한 정보를 포함할 수 있다. 상술한 거리에 대한 정보는, 전자 장치(100)의 주변에 존재하는 구조물/사물의 구조(모양/크기)에 대한 정보를 형성할 수 있다.
카메라(120)는 RGB 카메라, 3D 카메라 등으로 구현될 수 있다. 3D 카메라는, TOF(Time Of Flight) 센서 및 적외선 라이트를 포함하는 TOF 카메라로 구현될 수 있다. 3D 카메라는 IR 스테레오 센서를 포함할 수 있다. 카메라(120)는 CCD(Carge-Coupled Device), CMOS(Complementary Metal-Oxide Semiconductor) 등의 센서를 포함할 수 있으나, 이에 한정되는 것은 아니다. 카메라(120)가 CCD를 포함하는 경우, CCD는 RGB(Red/Green/Blue) CCD, IR(Infrared) CCD 등으로 구현될 수 있다.
스토리지(130)에 저장된 맵에 대한 정보는, 복수의 구역 각각의 용도에 관한 정보를 포함할 수도 있다. 복수의 구역 각각의 용도는, 예를 들어 복수의 구역을 포함하는 맵이 '집'의 맵에 해당하는 경우, '거실', '침실', '주방', '화장실' 등에 해당할 수 있다.
스토리지(130)에는, 복수의 인공지능 모델 및 맵에 대한 정보 외에, 맵상 복수의 구역 각각에 존재하는 객체에 대한 정보가 저장될 수 있다.
복수의 구역 각각에 존재하는 객체에 대한 정보는, 복수의 구역 각각에 존재하는 객체의 명칭, 종류 등을 포함할 수 있다. 객체에 대한 정보는, 객체가 사람인 경우 사람의 신원에 대한 정보를 포함할 수도 있다. 복수의 구역 각각에 존재하는 객체에 대한 정보는, 복수의 구역 각각에서 카메라(120)를 통해 획득된 이미지로부터 적어도 하나의 객체를 식별하기 위한 복수의 인공지능 모델이 출력하는 정보와 매칭되도록 저장/관리될 수 있다.
복수의 구역 각각에 존재하는 객체에 대한 정보는, 기설정된 것이거나 또는 복수의 구역 각각에서 객체 인식을 수행한 전자 장치(100)에 의해 획득된 것일 수 있다.
제1 프로세서(140-1)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 등일 수 있다.
제1 프로세서(140-1)는 제1 프로세서(140-1)와 연결된 제1 메모리(150-1) 또는 스토리지(130)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 전자 장치(100)에 포함된 다양한 구성들을 제어할 수 있다.
이를 위해, 제1 메모리(150-1)에는 전자 장치(100)에 포함된 다양한 구성을 제어하기 위한 정보 내지는 인스트럭션이 저장되어 있을 수 있다.
제1 메모리(150-1)는 ROM, RAM(ex. DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(Double data rate SDRAM)) 등을 포함할 수 있으며, 하나의 칩(1001) 내에 제1 프로세서(140-1)와 함께 구현될 수도 있다.
제2 프로세서(140-2) 역시 하나 이상의 프로세서로 구현될 수 있다. 제2 프로세서(140-2)는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서로 구현될 수 있으며, 적어도 하나의 인공지능 모델을 로드하기 위한 휘발성 메모리(145)를 포함할 수 있다. 휘발성 메모리(145)는 하나 이상의 SRAM으로 구현될 수 있다.
제2 메모리(150-2)에는 제2 프로세서(140-2)가 객체 인식을 위해 수행하는 기능을 제어하기 위한 정보 내지는 인스트럭션이 저장되어 있을 수 있다. 제2 메모리(150-2) 역시 ROM, RAM(ex. DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(Double data rate SDRAM)) 등을 포함할 수 있으며, 하나의 칩(1002) 내에 제2 프로세서(140-1)와 함께 구현될 수도 있다.
통신부(160)는, 전자 장치(100)가 적어도 하나의 외부 장치와 통신을 수행하여 신호/데이터를 주고받기 위한 구성이다. 이를 위해 통신부(160)는 회로를 포함할 수 있다.
통신부(160)는 무선 통신 모듈, 유선 통신 모듈 등을 포함할 수 있다.
무선 통신 모듈은 외부 서버 또는 외부 장치로부터 컨텐츠를 수신하기 위하여 와이파이 (WIFI) 통신 모듈, 블루투스(bluetooth)모듈, 적외선 통신(IrDA, infrared data association)모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈 중 적어도 하나를 포함을 포함할 수 있다.
유선 통신 모듈은 썬더볼트 포트, USB 포트 등의 유선 포트로 구현될 수 있다.
제1 프로세서(140-1)는 통신부(160)를 통해 외부로부터 수신되는 데이터를 이용하여 맵에 대한 정보를 생성/업데이트할 수 있다.
제1 프로세서(140-1) 및/또는 제2 프로세서(140-2)는 통신부(160)를 통해 외부로부터 수신되는 데이터를 이용하여 복수의 구역 각각에 대응되는 인공지능 모델을 생성/업데이트할 수 있다.
제1 프로세서(140-1)는, 통신부(160)를 통해 외부로부터 제어 신호가 수신되면, 복수의 구역 중 적어도 하나의 구역에 위치한 객체에 대한 인식을 시작/종료하도록 제2 프로세서(140-2)를 제어할 수 있다. 이때, 제어 신호는 전자 장치(100)를 제어하기 위한 리모컨 또는 전자 장치(100)에 대한 원격 제어 애플리케이션이 저장된 스마트폰 등으로부터 수신된 것일 수 있다.
스토리지(130)에 저장된 복수의 인공지능 모델 중 적어도 일부는, 서버 장치 등의 외부 장치로부터 통신부(160)를 통해 전자 장치(100)로 수신된 데이터에 포함되어 있던 인공지능 모델일 수 있다.
관련하여, 제2 프로세서(140-2)가 스토리지(130)에 저장된 복수의 인공지능 모델을 모두 이용했음에도 카메라(120)를 통해 획득된 이미지에 포함된 객체를 인식할 수 없는 경우, 제1 프로세서(140-1)는 획득된 이미지에 대한 데이터를 통신부(160)를 통해 서버 장치로 전송할 수 있다.
이때, 서버 장치로부터 통신부(160)를 통해, 획득된 이미지에 포함된 객체를 인식한 결과에 대한 데이터가 전자 장치(100)로 수신될 수 있다.
더하여, 제1 프로세서(140-1)는 인식된 객체를 식별하도록 학습된 인공지능 모델에 대한 데이터를 통신부(160)를 통해 외부 장치로부터 수신하고, 수신된 인공지능 모델을 스토리지(130)에 저장할 수 있다.
한편, 전자 장치(100)의 위치를 알려주는 데이터가 외부 장치로부터 통신부(160)를 통해 수신되면, 제1 프로세서(140-1)는 수신된 데이터를 이용하여 전자 장치(100)가 위치한 구역이 어느 구역인지를 판단할 수도 있다.
사용자 입력부(170)를 통해 수신된 사용자 입력에 따라, 제1 프로세서(140-1)는 맵에 대한 정보 및/또는 복수의 구역 각각에 존재하는 객체에 대한 정보의 적어도 일부를 업데이트할 수 있다. 또한, 제1 프로세서(140-1)는 사용자 입력에 따라 수신된 데이터를 이용하여 맵에 대한 정보를 생성할 수도 있다.
사용자 입력부(170)를 통해 수신된 사용자 입력에 따라, 제1 프로세서(140-1)는 복수의 구역 중 적어도 하나의 구역으로 이동하도록 전자 장치(100)의 이동 수단을 제어하고, 객체 인식을 시작/종료하도록 제2 프로세서(140-2)를 제어할 수 있다.
한편, 전자 장치(100)의 위치를 알려주는 사용자 입력이 사용자 입력부(170)를 통해 수신되면, 제1 프로세서(140-1)는 수신된 사용자 입력을 이용하여 전자 장치(100)가 위치한 구역이 어느 구역인지를 판단할 수도 있다.
사용자 입력부(170)는 하나 이상의 버튼, 키보드, 마우스 등을 포함할 수 있다. 또한, 사용자 입력부(170)는 디스플레이(도시되지 않음)와 함께 구현된 터치 패널 또는 별도의 터치 패드(도시되지 않음)를 포함할 수 있다.
사용자 입력부(170)는 사용자의 명령 또는 정보를 음성으로 입력 받기 위해 마이크를 포함할 수도 있고, 사용자의 명령 또는 정보를 모션 형태로 인식하기 위하여 카메라(120)와 함께 구현될 수도 있다.
출력부(180)는 전자 장치(100)가 획득한 정보를 사용자에게 제공하기 위한 구성이다.
예를 들어, 출력부(180)는 객체 인식 결과를 시각적/청각적으로 사용자에게 제공하기 위해, 디스플레이(도시되지 않음), 스피커(도시되지 않음), 오디오 단자 등을 포함할 수 있다.
구동 제어부(190)는 전자 장치(100)의 이동 수단을 제어하기 위한 구성으로, 전자 장치(100)의 이동 수단에 동력을 제공하는 Actuator를 포함할 수 있다. 제1 프로세서(140-1)는 구동 제어부(190)를 통해 전자 장치(100)의 이동 수단을 제어하여 전자 장치(100)를 이동시킬 수 있다.
한편, 전자 장치(100)는 이밖에 도 10을 통해 도시되지 않은 다양한 구성을 추가로 더 포함할 수도 있다.
한편, 상술한 실시 예들은 복수의 인공지능 모델이 스토리지(130)에 저장된 경우를 전제로 하나, 복수의 인공지능 모델이 외부의 서버 장치에 저장된 경우에도 전자 장치를 통한 구역 별 객체 인식이 가능하다.
또한, 전자 장치는 스마트폰, 태블릿 PC 등으로 구현된 외부 단말 장치와의 통신을 통해 구역 별 객체 인식을 수행할 수도 있다.
관련하여, 도 11은 서버 장치 및 외부 단말 장치를 포함하는 외부 장치들과의 통신을 기반으로 객체 인식을 수행하는 전자 장치의 다양한 실시 예를 설명하기 위한 도면이다.
도 11을 참조하면, 로봇 청소기인 전자 장치(100)는 스마트폰인 외부 장치들(200-1, 2) 및 서버 장치(300)와 통신을 수행할 수 있다. 이 경우, 전자 장치(100)는 공유기 등으로 구성된 중계 장치(400)를 통해 외부 장치들(200-1, 200-2, 300)과 통신을 수행할 수도 있다.
전자 장치(100)는 스마트폰인 외부 장치(200-1) 또는 외부 장치(200-2)로부터 수신된 제어 신호에 따라 복수의 구역에 존재하는 객체의 인식을 수행할 수 있다. 또한, 전자 장치(100)는 인식된 객체에 대한 정보를 외부 장치(200-1) 및/또는 외부 장치(200-2)로 전송할 수 있다.
한편, 도 11은 각각 적어도 하나의 객체를 인식하도록 학습된 복수의 인공지능 모델이 전자 장치(100)의 스토리지(130)가 아니라 서버 장치(300)에 저장된 상황을 가정한다.
이 경우, 서버 장치(300)로부터 통신부(160)를 통해 서버 장치(300)에 저장된 복수의 인공지능 모델에 대한 정보(ex. 복수의 인공지능 모델 각각이 인식할 수 있는 객체에 대한 정보)가 전자 장치(100)로 수신될 수 있다.
그리고, 제1 프로세서(140-1)는 서버 장치(300)에 저장된 복수의 인공지능 모델 중 전자 장치(100)가 위치하는 것으로 판단된 구역에 대응되는 인공지능 모델을 선택할 수 있다.
그리고, 제1 프로세서(140-1)는, 선택된 인공지능 모델에 대한 정보를 서버 장치(300)로 전송하도록 통신부(160)를 제어할 수 있다.
이때, 통신부(160)를 통해 서버 장치(300)로부터 선택된 인공지능 모델에 대한 데이터가 수신되면, 제1 프로세서(140-1)는 휘발성 메모리(145)에 선택된 인공지능 모델(데이터)을 로드하도록 제2 프로세서(140-2)를 제어할 수 있다. 그리고, 제2 프로세서(140-2)는 로드된 인공지능 모델에 카메라(120)를 통해 획득된 이미지를 입력하여 객체 인식을 수행할 수 있다.
이 경우, 제1 프로세서(140-1)는 수신된 인공지능 모델에 대한 데이터를 스토리지(130)에 저장할 수도 있다.
한편, 상술한 실시 예들과 달리, 전자 장치(100)는 하나의 프로세서를 포함할 수도 있다.
도 12a 내지 도 12b는 하나의 프로세서를 포함하는 전자 장치의 구성을 설명하기 위한 블록도들이다.
도 12a를 참조하면, 전자 장치(100)는 센서(110'), 카메라(120'), 스토리지(130') 외에 센서(110'), 카메라(120') 및 스토리지(130')와 연결되어 전자 장치(100)를 제어하는 프로세서(140')를 포함할 수 있다.
프로세서(140')는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서, NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서 등으로 구현될 수 있으며, 적어도 하나의 인공지능 모델을 로드하기 위한 휘발성 메모리를 포함할 수 있다.
프로세서(140')는 상술한 다양한 실시 예들에 있어 제1 프로세서(140-1) 또는 제2 프로세서(140-2)가 수행하는 동작들을 수행할 수 있다.
구체적으로, 프로세서(140')는 스토리지(130')에 저장된 맵에 대한 정보를 기반으로 맵에 포함된 복수의 구역을 식별하고, 센서(110')로부터 수신된 센싱 데이터에 기초하여 복수의 구역 중 전자 장치(100)가 위치하는 구역을 판단하고, 스토리지(130)에 저장된 복수의 인공지능 모델 중 판단된 구역에 대응되는 인공지능 모델을 휘발성 메모리에 로드할 수 있다. 그리고, 프로세서(140')는 카메라(120')를 통해 획득된 이미지를 로드된 인공지능 모델에 입력하여 객체를 식별하도록 할 수 있다.
도 12b를 참조하면, 프로세서(140')를 포함하는 전자 장치(100)는, 도 10과 마찬가지로, 프로세서(140')와 연결된 메모리(150'), 통신부(160'), 사용자 입력부(170'), 출력부(180'), 구동 제어부(190') 등을 더 포함할 수 있다.
메모리(150')는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 다양한 데이터를 저장하기 위한 구성이다. 메모리(150')는 전자 장치(100)의 하나 이상의 구성요소와 관련된 적어도 하나의 명령어(instruction)를 포함할 수도 있다.
메모리(150')는 ROM, RAM(ex. DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(Double data rate SDRAM)) 등을 포함할 수 있으며, 하나의 칩(1201) 내에서 프로세서(140')와 연결되도록 구현될 수도 있다.
이하 도 13 내지 도 15를 통해서는, 본 개시에 따른 전자 장치의 제어 방법을 설명한다.
도 13은 본 개시의 일 실시 예에 따라 객체 인식 모델을 이용하는 전자 장치의 제어 방법을 설명하기 위한 순서도이다.
도 13을 참조하면, 본 제어 방법은, 전자 장치의 스토리지에 저장된 맵에 대한 정보를 기반으로 맵에 포함된 복수의 구역을 식별할 수 있다(S1310). 맵에 대한 정보는, 특정 공간의 구조에 대한 정보, 맵에 포함되는 복수의 구역 각각의 구조에 대한 정보, 복수의 구역 각각의 맵상 위치에 대한 정보, 복수의 구역 각각의 용도에 대한 정보 등을 포함할 수 있다.
그리고, 센서로부터 수신된 센싱 데이터에 기초하여 복수의 구역 중 전자 장치가 위치하는 구역을 판단할 수 있다(S1320).
이 경우, 스토리지에 저장된 맵에 대한 정보 및 센서를 통해 수신된 센싱 데이터를 이용하여 전자 장치가 위치하는 구역을 판단할 수 있다. 구체적인 예로, 센서가 라이다 센서인 경우, 센서로부터 수신된 센싱 데이터와 스토리지에 저장된 맵에 대한 정보를 비교하여 전자 장치가 위치하는 구역을 판단할 수 있다.
이때, 센싱 데이터에 포함된 전자 장치의 주변의 구조(모양/크기)에 대한 정보를 맵에 대한 정보에 포함된 맵상 복수의 구역 각각의 구조(모양/크기)에 대한 정보와 비교하여, 맵상 복수의 구역 중 전자 장치가 위치하는 구역을 판단할 수 있다.
한편, 카메라를 통해 획득된 주변 이미지에 대한 데이터를 이용하여, 전자 장치가 복수의 구역 중 어떤 구역에 위치하는지 판단할 수도 있다. 예를 들어, 맵에 대한 정보가 복수의 구역 각각의 3D 이미지에 대한 데이터를 포함하는 경우, 맵에 대한 정보에 포함된 복수의 구역 각각의 이미지를 3D 카메라로 구현된 카메라를 통해 획득된 3D 이미지와 비교한 결과를 이용하여, 전자 장치가 위치한 구역을 판단할 수도 있다.
또는, 전자 장치가 위치한 구역에서 카메라를 통해 획득된 이미지로부터 하나 이상의 객체를 식별하여 전자 장치가 위치한 구역을 판단할 수도 있다.
구체적인 예로, 전자 장치가 위치한 구역에서 카메라를 통해 촬영된 이미지를 저장된 복수의 인공지능 모델 중 적어도 하나에 입력하여 이미지 속 객체를 식별할 수 있다. 만약, 식별된 객체가 침대인 경우, 구역별로 하나 이상의 객체가 기설정된 정보를 이용하여 침대가 '침실'에 대응됨을 식별할 수 있다. 그리고, 전자 장치가 위치한 구역이 '침실'임을 판단할 수 있다.
또한, 관성 센서, 가속도 센서 등을 이용하여, 맵상에서 전자 장치가 위치하는 지점을 판단하고, 맵상의 복수의 구역 중 판단된 지점을 포함하는 구역을 전자 장치가 위치하는 구역으로 판단할 수도 있다.
한편, 전자 장치가 위치한 구역을 판단하는 과정은 상술한 실시 예들에만 한정되는 것이 아니고, 이밖에도 다양한 방식이 가능하다.
본 제어 방법은, 스토리지에 저장된 복수의 인공지능 모델 중 판단된 구역에 대응되는 인공지능 모델을 휘발성 메모리에 로드할 수 있다(S1330).
복수의 인공지능 모델 각각은, 컨볼루션 레이어(Convolutional Layer) 및 컨볼루션 레이어로부터 추출된 특징 정보에 기초하여 객체를 식별하도록 학습된 풀리-커넥티드 레이어(Fully-connected Layer)를 포함할 수 있다. 이때, 컨볼루션 레이어는, 복수의 인공지능 모델에 공통된 레이어이고, 풀리-커넥티드 레이어는, 복수의 인공지능 모델 각각에 개별적으로 마련되는 레이어일 수 있다.
여기서, 전자 장치가 제1 구역에 위치하는 경우, 컨볼루션 레이어 및 복수의 인공지능 모델 중 제1 모델에 대응되는 풀리-커넥티드 레이어를 휘발성 메모리에 로드하고, 전자 장치가 제2 구역에 위치하는 경우, 컨볼루션 레이어 및 복수의 인공지능 모델 중 제2 모델에 대응되는 풀리-커넥티드 레이어를 휘발성 메모리에 로드할 수 있다.
이때, 제1 모델은 복수의 구역 중 제1 구역에 대응되고, 제2 모델은 복수의 구역 중 제2 구역에 대응될 수 있다. 이 경우, 제1 구역에 제1 모델이 매핑되도록 하는 로지컬 매핑 정보 및 제2 구역에 제2 모델이 매핑되도록 하는 로지컬 매핑 정보가 스토리지에 저장되어 있을 수 있고, 본 제어 방법은, 스토리지에 저장된 로지컬 매핑 정보를 이용하여 각 구역에 대응되는 인공지능 모델을 로드할 수 있다.
그리고, 카메라를 통해 획득된 이미지를 로드된 인공지능 모델에 입력하여 객체를 식별할 수 있다(S1340). 구체적으로, 로드된 인공지능 모델이 출력하는 객체에 대한 정보를 획득할 수 있는바, 객체에 대한 정보는 객체의 명칭, 종류 등 인공지능 모델의 속성에 따라 달라질 수 있다.
한편, 본 제어 방법은 전자 장치가 위치하는 공간의 맵에 대한 정보를 생성하여 스토리지에 저장할 수도 있다. 또한, 본 제어 방법은, 맵에 포함되는 복수의 구역 각각에 대응되는 인공지능 모델을 새롭게 획득/정의할 수도 있다.
도 14는 본 개시에 따른 전자 장치의 제어 방법이 맵에 대한 정보를 생성하고, 복수의 구역 각각에 존재하는 객체를 식별하여 복수의 구역 각각에 대응되는 인공지능 모델을 획득하는 실시 예를 설명하기 위한 순서도이다.
도 14를 참조하면, 본 제어 방법은, 센서로부터 수신되는 센싱 데이터에 기초하여 전자 장치가 위치하는 공간(place)의 구조에 대한 정보를 획득할 수 있다(S1410).
일 예로, 라이다 센서로 구현된 센서로부터 수신된 센싱 데이터를 이용하여 전자 장치가 위치하는 공간의 구조(모양/크기)에 대한 정보를 획득할 수 있다.
그리고, 획득된 구조에 대한 정보에 기초하여, 전자 장치가 위치하는 공간을 복수의 구역으로 구분할 수 있다(S1420).
이 경우, 제1 다양한 알고리즘을 이용하여 맵상에서 복수의 구역을 구분할 수 있다. 예로, 라이다 센서인 센서를 통해 획득된 센싱 데이터 및/또는 카메라를 통해 획득된 이미지를 통해, 바닥에 구분선 내지는 턱이 있는 지점, 이동 가능한 폭이 좁아지는 지점, 벽이 있는 지점, 벽이 끝나는 지점, 문이 있는 지점 등을 식별할 수 있다. 그리고, 식별된 지점을 구역 간의 경계로 하여 맵상의 각 구역을 구분할 수 있다. 다만, 이밖에도 다양한 방식이 가능하다.
그리고, 구분된 복수의 구역 각각의 구조에 대한 정보를 포함하는 맵에 대한 정보를 생성하여, 생성된 맵에 대한 정보를 스토리지에 저장할 수 있다(S1430).
그리고, 전자 장치의 스토리지에 복수의 객체를 식별하도록 학습된 인공지능 모델이 저장된 상태에서, 본 제어 방법은, 전자 장치가 복수의 구역 각각에 위치하는 동안 카메라를 통해 획득된 이미지를 저장된 인공지능 모델에 입력하여 복수의 구역 각각에 존재하는 객체를 식별할 수 있다(S1440).
이때, 저장된 인공지능 모델은, 컨볼루션 레이어(Convolutional Layer) 및 컨볼루션 레이어로부터 추출된 특징 정보에 기초하여 복수의 객체를 식별하도록 학습된 풀리-커넥티드 레이어(Fully-connected Layer)를 포함할 수 있다.
그리고, 복수의 구역 중 제1 구역에서 제1 객체를 식별하고, 복수의 구역 중 제2 구역에서 제2 객체를 식별할 수 있다.
그리고, 식별된 객체에 대한 정보에 기초하여 저장된 인공지능 모델로부터 복수의 구역 각각에 대응되는 인공지능 모델을 획득할 수 있다(S1450).
구체적으로, 복수의 구역 중 제1 구역에 존재하는 객체에 대한 정보에 기초하여 제1 구역에 복수의 객체 중 제1 객체가 존재하는 것으로 식별되면, 저장된 인공지능 모델의 컨볼루션 레이어 및 저장된 인공지능 모델의 풀리-커넥티드 레이어 중 제1 객체를 식별하도록 학습된 부분을 포함하는 제1 모델을 획득할 수 있다.
또한, 복수의 구역 중 제2 구역에 존재하는 객체에 대한 정보에 기초하여 제2 구역에 복수의 객체 중 제2 객체가 존재하는 것으로 식별되면, 저장된 인공지능 모델의 컨볼루션 레이어 및 저장된 인공지능 모델의 풀리-커넥티드 레이어 중 제2 객체를 식별하도록 학습된 다른 부분을 포함하는 제2 모델을 획득할 수 있다.
한편, 본 제어 방법은, 기설정된 주기 또는 사용자 입력 등에 따라 복수의 구역 각각에 존재하는 객체를 식별하고, 식별된 객체에 대한 정보를 이용하여 복수의 구역 각각에 대응되는 인공지능 모델을 업데이트할 수 있다.
구체적으로, 전자 장치가 복수의 구역 중 하나의 구역에 위치하는 동안 카메라를 통해 획득된 이미지를 휘발성 메모리에 로드된 복수의 인공지능 모델에 입력하여 해당 구역에 존재하는 객체를 식별할 수 있다. 이 경우, 휘발성 메모리에 복수의 인공지능 모델 중 적어도 하나를 순차적으로 로드하면서, 로드된 인공지능 모델에 해당 구역에서 획득된 이미지를 입력할 수 있다. 그리고, 식별된 객체에 대한 정보에 기초하여, 해당 구역에 대응되는 인공지능 모델을 업데이트할 수 있다.
일 예로, 전자 장치의 스토리지에 복수의 구역 각각에 존재하는 객체에 대한 정보가 저장된 상태에서, 본 제어 방법은, 스토리지에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보에 기초하여, 복수의 구역 중 일 구역에 존재하는 적어도 하나의 객체를 판단할 수 있다.
이 경우, 해당 구역에서 식별된 객체에 대한 정보에 기초하여, 판단된 객체 중 해당 구역에서 식별되지 않은 객체를 판단할 수 있다. 이때, 복수의 인공지능 모델 중 해당 구역에 대응되는 인공지능 모델에서, 앞서 식별되지 않은 것으로 판단된 객체를 식별하도록 학습된 부분을 삭제할 수 있다.
다른 예로, 전자 장치의 스토리지에 복수의 구역 각각에 존재하는 객체에 대한 정보가 저장된 상태에서, 본 제어 방법은, 스토리지에 저장된 복수의 구역 각각에 존재하는 객체에 대한 정보에 기초하여, 복수의 구역 중 일 구역에 존재하는 적어도 하나의 객체를 판단할 수 있다.
이 경우, 해당 구역에서 식별된 객체에 대한 정보에 기초하여, 해당 구역에서 식별된 객체 중 판단된 객체에 포함되지 않는 객체를 판단할 수 있다. 이때, 판단된 객체에 포함되지 않는 객체를 식별하도록 학습된 풀리-커넥티드 레이어를 복수의 인공지능 모델 중 해당 구역에 대응되는 인공지능 모델에 추가할 수 있다.
관련하여, 도 15는 본 개시에 따른 전자 장치의 제어 방법이 복수의 구역 각각에 존재하는 객체를 식별한 결과에 따라 복수의 구역 각각에 대응되는 인공지능 모델을 업데이트하는 일 예를 설명하기 위한 알고리즘이다.
도 15를 참조하면, 본 제어 방법은, 복수의 구역 중 일 구역에서 카메라를 통해 획득된 이미지를 복수의 인공지능 모델 중 적어도 하나에 입력하여 객체를 식별할 수 있다(S1510).
그리고, 해당 구역에 대해 기저장된 객체에 대한 정보를 식별된 객체에 대한 정보와 비교할 수 있다(S1520).
만약, 식별된 객체에 대한 정보가 기저장된 객체에 대한 정보와 일치하는 경우(S1530 - Y), 해당 구역에 대응되도록 저장되어 있는 인공지능 모델을 업데이트하지 않는다.
만약, 식별된 객체에 대한 정보가 기저장된 객체에 대한 정보와 일치하지 않고(S1530 - N), 식별된 객체에 대한 정보에 기저장된 객체에 대한 정보 외에 새롭게 추가된 객체에 대한 정보가 포함되어 있는 경우라면(S1540 - Y), 해당 구역에 대응되도록 저장된 인공지능 모델이 추가된 객체도 식별할 수 있도록, 해당 구역에 대응되는 인공지능 모델을 업데이트할 수 있다(S1550).
예로, 해당 구역에서 식별된 객체는 TV 및 소파인 반면, 해당 구역에 대해 기저장된 객체는 TV인 경우, 해당 구역에 대응되는 인공지능 모델이 TV 외에 소파도 식별할 수 있도록 해당 인공지능 모델을 업데이트할 수 있다. 이 경우, 해당 인공지능 모델에 포함된 풀리-커넥티드 레이어에 소파를 식별하도록 학습된 별도의 풀리-커넥티드 레이어를 추가할 수 있다.
한편, 식별된 객체에 대한 정보가 기저장된 객체에 대한 정보와 일치하지 않고(S1530 - N), 기저장된 객체에 대한 정보 중 식별된 객체에 대한 정보에 포함되지 않는 객체가 있는 경우(S1540 - N)에도, 해당 구역에 대응되는 인공지능 모델을 업데이트할 필요가 있다. 즉, 기존에 해당 구역에 존재하던 객체가 더이상 해당 구역에 존재하지 않게 되었으므로, 해당 구역에 대응되는 인공지능 모델에서, 해당 구역에 더이상 존재하지 않는 객체를 식별하도록 학습된 부분은 제거할 수 있다(S1560).
예로, 해당 구역에서 식별된 객체는 TV 및 소파인 반면, 해당 구역에 대해 기저장된 객체는 TV, 소파 및 의자인 경우, 해당 구역에 대응되는 인공지능 모델에서 의자를 식별하도록 학습된 부분은 삭제할 수 있다. 구체적으로, 해당 인공지능 모델의 풀리-커넥티드 레이어 중, 의자가 존재할 확률을 나타내는 노드의 출력을 생성하기 위한 추론 과정에 이용되는 부분을 삭제할 수 있다. 다만, 설령 의자가 존재할 확률을 나타내는 노드의 출력을 생성하기 위한 추론 과정과 관련된 부분이라고 하더라도, TV 또는 소파가 존재할 확률을 나타내는 노드의 출력을 생성하기 위한 추론 과정과 관련된 부분이라면 삭제하지 않을 수 있다.
이상 도 13 내지 도 15를 통해 설명된 전자 장치의 제어 방법은, 도 2 및 도 11을 통해 도시 및 설명된 전자 장치(100) 또는 도 12a 및 도 12b를 통해 도시 및 설명된 전자 장치(100)를 통해 구현될 수 있다.
이상 도 13 내지 도 15를 통해 설명된 전자 장치의 제어 방법은, 전자 장치(100) 및 하나 이상의 외부 장치를 포함하는 시스템을 통해 구현될 수도 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 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) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치(100)에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 센서
120: 카메라 130: 스토리지
140', 140-1, 140-2: 프로세서 150-1, 150-2: 메모리
160: 통신부 170: 사용자 입력부
180: 출력부 190: 구동 제어부

Claims (20)

  1. 전자 장치에 있어서,
    센서;
    카메라;
    객체를 식별하도록 학습된 복수의 인공지능 모델(Artificial Intelligence Model) 및 맵에 대한 정보를 저장하는 스토리지;
    상기 센서 및 상기 스토리지와 연결되어 상기 전자 장치를 제어하는 제1 프로세서; 및
    상기 제1 프로세서, 상기 카메라 및 상기 스토리지와 연결되어 객체 인식을 위한 기능을 수행하는 제2 프로세서;를 포함하고,
    상기 제1 프로세서는,
    상기 센서로부터 수신된 센싱 데이터를 기반으로 상기 맵에 포함되는 복수의 구역 중 상기 전자 장치가 위치하는 구역을 판단하여, 상기 판단된 구역에 대한 구역 정보를 상기 제2 프로세서로 전달하고,
    상기 제2 프로세서는, 적어도 하나의 인공지능 모델을 로드하기 위한 휘발성 메모리를 포함하며,
    상기 제1 프로세서로부터 전달받은 구역 정보에 기초하여, 상기 스토리지에 저장된 복수의 인공지능 모델 중 적어도 하나의 인공지능 모델을 상기 휘발성 메모리에 로드하고,
    상기 카메라를 통해 획득된 이미지를 상기 로드된 인공지능 모델에 입력하여 객체를 식별하도록 하는, 전자 장치.
  2. 제1항에 있어서,
    상기 복수의 인공지능 모델 각각은,
    컨볼루션 레이어(Convolutional Layer) 및 상기 컨볼루션 레이어로부터 추출된 특징 정보에 기초하여 객체를 식별하도록 학습된 풀리-커넥티드 레이어(Fully-connected Layer)를 포함하고,
    상기 컨볼루션 레이어는, 상기 복수의 인공지능 모델에 공통된 레이어이고,
    상기 풀리-커넥티드 레이어는, 상기 복수의 인공지능 모델 각각에 개별적으로 마련되는 레이어이고,
    상기 제2 프로세서는,
    상기 판단된 구역에 대응되는 인공지능 모델의 컨볼루션 레이어 및 풀리-커넥티드 레이어를 상기 휘발성 메모리에 로드하는, 전자 장치.
  3. 제2항에 있어서,
    상기 복수의 인공지능 모델은, 상기 복수의 구역 중 제1 구역에 대응되는 제1 모델 및 상기 복수의 구역 중 제2 구역에 대응되는 제2 모델을 포함하고,
    상기 제2 프로세서는,
    상기 전자 장치가 상기 제1 구역에 위치하는 경우, 상기 컨볼루션 레이어 및 상기 제1 모델에 대응되는 풀리-커넥티드 레이어를 상기 휘발성 메모리에 로드하고, 상기 전자 장치가 상기 제2 구역에 위치하는 경우, 상기 컨볼루션 레이어 및 상기 제2 모델에 대응되는 풀리-커넥티드 레이어를 상기 휘발성 메모리에 로드하는, 전자 장치.
  4. 제1항에 있어서,
    상기 맵에 대한 정보는, 상기 복수의 구역 각각의 구조에 대한 정보를 포함하고,
    상기 제1 프로세서는,
    상기 구조에 대한 정보를 상기 센서로부터 수신되는 센싱 데이터와 비교하여 상기 복수의 구역 중 상기 전자 장치가 위치하는 구역을 판단하는, 전자 장치.
  5. 제1항에 있어서,
    상기 제1 프로세서는,
    상기 센서로부터 수신되는 센싱 데이터에 기초하여 상기 전자 장치가 위치하는 공간(place)의 구조에 대한 정보를 획득하고, 상기 획득된 구조에 대한 정보에 기초하여 상기 공간을 상기 복수의 구역으로 구분하고, 상기 구분된 복수의 구역 각각의 구조에 대한 정보를 포함하는 상기 맵에 대한 정보를 생성하여 상기 생성된 맵에 대한 정보를 상기 스토리지에 저장하는, 전자 장치.
  6. 제5항에 있어서,
    상기 스토리지는, 복수의 객체를 식별하도록 학습된 인공지능 모델을 저장하고,
    상기 제2 프로세서는,
    상기 전자 장치가 상기 복수의 구역 각각에 위치하는 동안 상기 카메라를 통해 획득된 이미지를 상기 저장된 인공지능 모델에 입력하여 상기 복수의 구역 각각에 존재하는 객체를 식별하고, 상기 식별된 객체에 대한 정보를 상기 제1 프로세서로 전달하며,
    상기 제1 프로세서는,
    상기 제2 프로세서부터 전달받은 상기 식별된 객체에 대한 정보에 기초하여 상기 저장된 인공지능 모델로부터 상기 복수의 구역 각각에 대응되는 인공지능 모델을 획득하는, 전자 장치.
  7. 제6항에 있어서,
    상기 저장된 인공지능 모델은,
    컨볼루션 레이어(Convolutional Layer) 및 상기 컨볼루션 레이어로부터 추출된 특징 정보에 기초하여 복수의 객체를 식별하도록 학습된 풀리-커넥티드 레이어(Fully-connected Layer)를 포함하고,
    상기 제1 프로세서는,
    상기 복수의 구역 중 제1 구역에 존재하는 객체에 대한 정보에 기초하여 상기 제1 구역에 상기 복수의 객체 중 제1 객체가 존재하는 것으로 식별되면, 상기 컨볼루션 레이어 및 상기 풀리-커넥티드 레이어 중 상기 제1 객체를 식별하도록 학습된 상기 풀리-커넥티드 레이어의 일부를 포함하는 제1 모델을 획득하고,
    상기 복수의 구역 중 제2 구역에 존재하는 객체에 대한 정보에 기초하여 상기 제2 구역에 상기 복수의 객체 중 제2 객체가 존재하는 것으로 식별되면, 상기 컨볼루션 레이어 및 상기 풀리-커넥티드 레이어 중 상기 제2 객체를 식별하도록 학습된 상기 풀리-커넥티드 레이어의 다른 일부를 포함하는 제2 모델을 획득하는, 전자 장치.
  8. 제1항에 있어서,
    상기 제2 프로세서는,
    상기 전자 장치가 상기 복수의 구역 중 하나의 구역에 위치하는 동안 상기 카메라를 통해 획득된 이미지를 상기 휘발성 메모리에 로드된 상기 복수의 인공지능 모델에 입력하여 상기 구역에 존재하는 객체를 식별하고, 상기 식별된 객체에 대한 정보를 상기 제1 프로세서로 전달하고,
    상기 제1 프로세서는,
    상기 제2 프로세서부터 전달받은 상기 식별된 객체에 대한 정보에 기초하여 상기 구역에 대응되는 인공지능 모델을 업데이트하는, 전자 장치.
  9. 제8항에 있어서,
    상기 스토리지는, 상기 복수의 구역 각각에 존재하는 객체에 대한 정보를 저장하고,
    상기 제1 프로세서는,
    상기 스토리지에 저장된 상기 복수의 구역 각각에 존재하는 객체에 대한 정보에 기초하여, 상기 복수의 구역 중 상기 구역에 존재하는 적어도 하나의 객체를 판단하고,
    상기 제2 프로세서부터 전달받은 상기 식별된 객체에 대한 정보에 기초하여, 상기 판단된 객체 중 상기 구역에서 식별되지 않은 객체를 판단하고,
    상기 복수의 인공지능 모델 중 상기 구역에 대응되는 인공지능 모델에서 상기 식별되지 않은 객체를 식별하도록 학습된 부분을 삭제하여, 상기 구역에 대응되는 인공지능 모델을 업데이트하는, 전자 장치.
  10. 제8항에 있어서,
    상기 스토리지는, 상기 복수의 구역 각각에 존재하는 객체에 대한 정보를 저장하고,
    상기 제1 프로세서는,
    상기 스토리지에 저장된 상기 복수의 구역 각각에 존재하는 객체에 대한 정보에 기초하여, 상기 복수의 구역 중 상기 구역에 존재하는 적어도 하나의 객체를 판단하고,
    상기 제2 프로세서부터 전달받은 상기 식별된 객체에 대한 정보에 기초하여, 상기 구역에서 식별된 객체 중 상기 판단된 객체에 포함되지 않는 객체를 판단하고,
    상기 판단된 객체에 포함되지 않는 객체를 식별하도록 학습된 부분을 상기 복수의 인공지능 모델 중 상기 구역에 대응되는 인공지능 모델에 추가하여, 상기 구역에 대응되는 인공지능 모델을 업데이트하는, 전자 장치.
  11. 전자 장치에 있어서,
    카메라;
    센서;
    객체를 식별하도록 학습된 복수의 인공지능 모델(Artificial Intelligence Model) 및 맵에 대한 정보를 저장하는 스토리지; 및
    상기 센서, 상기 카메라 및 상기 스토리지와 연결되어 상기 전자 장치를 제어하는 프로세서;를 포함하고,
    상기 프로세서는, 적어도 하나의 인공지능 모델을 로드하기 위한 휘발성 메모리를 포함하며,
    상기 센서로부터 수신된 센싱 데이터에 기초하여 상기 맵에 포함되는 복수의 구역 중 상기 전자 장치가 위치하는 구역을 판단하고,
    상기 판단된 구역에 기초하여, 상기 스토리지에 저장된 복수의 인공지능 모델 중 적어도 하나의 인공지능 모델을 상기 휘발성 메모리에 로드하고,
    상기 카메라를 통해 획득된 이미지를 상기 로드된 인공지능 모델에 입력하여 객체를 식별하도록 하는, 전자 장치.
  12. 객체 인식 모델을 이용하는 전자 장치의 제어 방법에 있어서,
    상기 전자 장치의 스토리지에 저장된 맵에 대한 정보를 기반으로 상기 맵에 포함된 복수의 구역을 식별하는 단계;
    센서로부터 수신된 센싱 데이터에 기초하여 상기 복수의 구역 중 상기 전자 장치가 위치하는 구역을 판단하는 단계;
    상기 스토리지에 저장된 복수의 인공지능 모델 중 상기 판단된 구역에 대응되는 인공지능 모델을 휘발성 메모리에 로드하는 단계; 및
    카메라를 통해 획득된 이미지를 상기 로드된 인공지능 모델에 입력하여 객체를 식별하는 단계;를 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 복수의 인공지능 모델 각각은,
    컨볼루션 레이어(Convolutional Layer) 및 상기 컨볼루션 레이어로부터 추출된 특징 정보에 기초하여 객체를 식별하도록 학습된 풀리-커넥티드 레이어(Fully-connected Layer)를 포함하고,
    상기 컨볼루션 레이어는, 상기 복수의 인공지능 모델에 공통된 레이어이고,
    상기 풀리-커넥티드 레이어는, 상기 복수의 인공지능 모델 각각에 개별적으로 마련되는 레이어이고,
    상기 휘발성 메모리에 로드하는 단계는,
    상기 전자 장치가 제1 구역에 위치하는 경우, 상기 컨볼루션 레이어 및 상기 복수의 인공지능 모델 중 제1 모델에 대응되는 풀리-커넥티드 레이어를 상기 휘발성 메모리에 로드하고, 상기 전자 장치가 제2 구역에 위치하는 경우, 상기 컨볼루션 레이어 및 상기 복수의 인공지능 모델 중 제2 모델에 대응되는 풀리-커넥티드 레이어를 상기 휘발성 메모리에 로드하는, 제어 방법.
  14. 제12항에 있어서,
    상기 맵에 대한 정보는, 상기 복수의 구역 각각의 구조에 대한 정보를 포함하고,
    상기 전자 장치가 위치하는 구역을 판단하는 단계는,
    상기 구조에 대한 정보를 상기 센서로부터 수신되는 센싱 데이터와 비교하여 상기 복수의 구역 중 상기 전자 장치가 위치하는 구역을 판단하는, 제어 방법.
  15. 제12항에 있어서,
    상기 센서로부터 수신되는 센싱 데이터에 기초하여 상기 전자 장치가 위치하는 공간(place)의 구조에 대한 정보를 획득하는 단계;
    상기 획득된 구조에 대한 정보에 기초하여 상기 공간을 상기 복수의 구역으로 구분하는 단계; 및
    상기 구분된 복수의 구역 각각의 구조에 대한 정보를 포함하는 상기 맵에 대한 정보를 생성하여 상기 생성된 맵에 대한 정보를 상기 스토리지에 저장하는 단계;를 더 포함하는, 제어 방법.
  16. 제15항에 있어서,
    상기 스토리지는, 복수의 객체를 식별하도록 학습된 인공지능 모델을 저장하고,
    상기 전자 장치가 상기 복수의 구역 각각에 위치하는 동안 상기 카메라를 통해 획득된 이미지를 상기 저장된 인공지능 모델에 입력하여 상기 복수의 구역 각각에 존재하는 객체를 식별하는 단계; 및
    상기 식별된 객체에 대한 정보에 기초하여 상기 저장된 인공지능 모델로부터 상기 복수의 구역 각각에 대응되는 인공지능 모델을 획득하는 단계;를 더 포함하는, 제어 방법.
  17. 제16항에 있어서,
    상기 저장된 인공지능 모델은,
    컨볼루션 레이어(Convolutional Layer) 및 상기 컨볼루션 레이어로부터 추출된 특징 정보에 기초하여 복수의 객체를 식별하도록 학습된 풀리-커넥티드 레이어(Fully-connected Layer)를 포함하고,
    상기 인공지능 모델을 획득하는 단계는,
    상기 복수의 구역 중 제1 구역에 존재하는 객체에 대한 정보에 기초하여 상기 제1 구역에 상기 복수의 객체 중 제1 객체가 존재하는 것으로 식별되면, 상기 컨볼루션 레이어 및 상기 풀리-커넥티드 레이어 중 상기 제1 객체를 식별하도록 학습된 상기 풀리-커넥티드 레이어의 일부를 포함하는 제1 모델을 획득하고,
    상기 복수의 구역 중 제2 구역에 존재하는 객체에 대한 정보에 기초하여 상기 제2 구역에 상기 복수의 객체 중 제2 객체가 존재하는 것으로 식별되면, 상기 컨볼루션 레이어 및 상기 풀리-커넥티드 레이어 중 상기 제2 객체를 식별하도록 학습된 상기 풀리-커넥티드 레이어의 다른 일부를 포함하는 제2 모델을 획득하는, 제어 방법.
  18. 제12항에 있어서,
    상기 전자 장치가 상기 복수의 구역 중 하나의 구역에 위치하는 동안 상기 카메라를 통해 획득된 이미지를 상기 휘발성 메모리에 로드된 상기 복수의 인공지능 모델에 입력하여 상기 구역에 존재하는 객체를 식별하는 단계; 및
    상기 식별된 객체에 대한 정보에 기초하여, 상기 구역에 대응되는 인공지능 모델을 업데이트하는 단계;를 더 포함하는, 제어 방법.
  19. 제18항에 있어서,
    상기 스토리지는, 상기 복수의 구역 각각에 존재하는 객체에 대한 정보를 저장하고,
    상기 인공지능 모델을 업데이트하는 단계는,
    상기 스토리지에 저장된 상기 복수의 구역 각각에 존재하는 객체에 대한 정보에 기초하여, 상기 복수의 구역 중 상기 구역에 존재하는 적어도 하나의 객체를 판단하고,
    상기 식별된 객체에 대한 정보에 기초하여, 상기 판단된 객체 중 상기 구역에서 식별되지 않은 객체를 판단하고,
    상기 복수의 인공지능 모델 중 상기 구역에 대응되는 인공지능 모델에서 상기 식별되지 않은 객체를 식별하도록 학습된 부분을 삭제하는, 제어 방법.
  20. 제18항에 있어서,
    상기 스토리지는, 상기 복수의 구역 각각에 존재하는 객체에 대한 정보를 저장하고,
    상기 인공지능 모델을 업데이트하는 단계는,
    상기 스토리지에 저장된 상기 복수의 구역 각각에 존재하는 객체에 대한 정보에 기초하여, 상기 복수의 구역 중 상기 구역에 존재하는 적어도 하나의 객체를 판단하고,
    상기 식별된 객체에 대한 정보에 기초하여, 상기 구역에서 식별된 객체 중 상기 판단된 객체에 포함되지 않는 객체를 판단하고,
    상기 판단된 객체에 포함되지 않는 객체를 식별하도록 학습된 부분을 상기 복수의 인공지능 모델 중 상기 구역에 대응되는 인공지능 모델에 추가하는, 제어 방법.
KR1020190122580A 2019-06-03 2019-10-02 객체 인식을 위한 전자 장치 및 그 제어 방법 KR102254138B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202080040876.2A CN113906438A (zh) 2019-06-03 2020-05-29 用于对象标识的电子设备及其控制方法
EP20817658.6A EP3915048A4 (en) 2019-06-03 2020-05-29 ELECTRONIC OBJECT RECOGNITION APPARATUS AND METHOD FOR OPERATING IT
PCT/KR2020/006968 WO2020246753A1 (en) 2019-06-03 2020-05-29 Electronic apparatus for object recognition and control method thereof
US16/890,337 US11151357B2 (en) 2019-06-03 2020-06-02 Electronic apparatus for object recognition and control method thereof
US17/493,930 US11719544B2 (en) 2019-06-03 2021-10-05 Electronic apparatus for object recognition and control method thereof
US18/227,345 US20230366682A1 (en) 2019-06-03 2023-07-28 Electronic apparatus for object recognition and control method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20190065519 2019-06-03
KR1020190065519 2019-06-03
KR20190099904 2019-08-14
KR1020190099904 2019-08-14

Publications (2)

Publication Number Publication Date
KR20200139073A KR20200139073A (ko) 2020-12-11
KR102254138B1 true KR102254138B1 (ko) 2021-05-21

Family

ID=73786347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190122580A KR102254138B1 (ko) 2019-06-03 2019-10-02 객체 인식을 위한 전자 장치 및 그 제어 방법

Country Status (1)

Country Link
KR (1) KR102254138B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11651621B2 (en) 2019-10-23 2023-05-16 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device
US11697203B2 (en) 2019-10-04 2023-07-11 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180074508A1 (en) 2016-09-14 2018-03-15 Irobot Corporation Systems and methods for configurable operation of a robot based on area classification

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102530045B1 (ko) * 2016-12-23 2023-05-09 삼성전자주식회사 전자 장치 및 그 동작 방법
KR102048992B1 (ko) * 2017-07-21 2019-11-27 엘지전자 주식회사 인공지능 청소기 및 그 제어방법
KR102463175B1 (ko) * 2017-09-04 2022-11-04 삼성전자주식회사 객체 인식 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180074508A1 (en) 2016-09-14 2018-03-15 Irobot Corporation Systems and methods for configurable operation of a robot based on area classification

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11697203B2 (en) 2019-10-04 2023-07-11 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
US11651621B2 (en) 2019-10-23 2023-05-16 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device

Also Published As

Publication number Publication date
KR20200139073A (ko) 2020-12-11

Similar Documents

Publication Publication Date Title
US11719544B2 (en) Electronic apparatus for object recognition and control method thereof
KR102254138B1 (ko) 객체 인식을 위한 전자 장치 및 그 제어 방법
US11784845B2 (en) System and method for disambiguation of Internet-of-Things devices
US20240045440A1 (en) Electronic apparatus and control method therof
US11963647B2 (en) Pollution source determination robot cleaner and operating method thereof
US11900722B2 (en) Electronic apparatus and control method thereof
US20240095143A1 (en) Electronic device and method for controlling same
US20230421446A1 (en) Systems and methods for creating virtual devices
US20210065000A1 (en) Electronic apparatus for applying personalized artificial intelligence model to another model
KR20240049534A (ko) 사용자 설정가능 인터랙티브 영역 모니터링 장치 및 방법
US20170269906A1 (en) Technologies for physical programming
KR20200080387A (ko) 디스플레이 장치 및 그 제어 방법
KR102254157B1 (ko) 와핑된 이미지를 통해 바닥 객체를 식별하는 전자 장치 및 그 제어 방법
US10776952B2 (en) Image-recording and target-counting device
US11651621B2 (en) Electronic device and method for controlling the electronic device
US20230031145A1 (en) Accidental voice trigger avoidance using thermal data
KR102198337B1 (ko) 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 매체.
KR20210079823A (ko) 전자 장치 및 이의 제어 방법
KR20230106297A (ko) 전자 장치 및 그 제어 방법
US20230082407A1 (en) Electronic device and control method of electronic device
US20230305097A1 (en) Systems and methods for associating rf signals with an individual
US20220004805A1 (en) Electronic device for recognizing object and operating method thereof
US20230216985A1 (en) Method and home appliance device for generating time-lapse video
US20230276140A1 (en) Electronic device and method for controlling same
CN116458166A (zh) 电子设备以及用于该控制电子设备的方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right