KR20190053675A - 전자 장치 및 그 동작 방법 - Google Patents

전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20190053675A
KR20190053675A KR1020170149793A KR20170149793A KR20190053675A KR 20190053675 A KR20190053675 A KR 20190053675A KR 1020170149793 A KR1020170149793 A KR 1020170149793A KR 20170149793 A KR20170149793 A KR 20170149793A KR 20190053675 A KR20190053675 A KR 20190053675A
Authority
KR
South Korea
Prior art keywords
applications
application
electronic device
objects
display
Prior art date
Application number
KR1020170149793A
Other languages
English (en)
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 KR1020170149793A priority Critical patent/KR20190053675A/ko
Priority to PCT/KR2018/013633 priority patent/WO2019093819A1/ko
Priority to CN201880072830.1A priority patent/CN111344671A/zh
Priority to EP18877107.5A priority patent/EP3690644B1/en
Priority to US16/762,741 priority patent/US20200334055A1/en
Publication of KR20190053675A publication Critical patent/KR20190053675A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다.
일 실시예에 따른 전자 장치는, 디스플레이, 하나 이상의 인스트럭션을 저장하는 메모리, 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는 하나 이상의 인스트럭션을 실행함으로써, 이미지로부터 하나 이상의 오브젝트를 인식하고, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고, 결정된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.

Description

전자 장치 및 그 동작 방법{Electronic apparatus and operating method thereof}
개시된 다양한 실시예들은 전자 장치 및 그 동작 방법에 관한 것으로서, 보다 상세하게는, 사용자가 원하는 어플리케이션들의 구성을 자동으로 인식하여 표시하는 방법에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
개시된 다양한 실시예들은, 이미지로부터 인식된 오브젝트에 대응하는 추천 어플리케이션을 제공함으로써, 사용자가 원하는 어플리케이션을 보다 빠르고 편리하게 제공하는 전자 장치 및 그 동작 방법을 제공하기 위한 것이다.
일 실시예에 따른 전자 장치는, 디스플레이, 하나 이상의 인스트럭션을 저장하는 메모리, 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는 하나 이상의 인스트럭션을 실행함으로써, 이미지로부터 하나 이상의 오브젝트를 인식하고, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고, 결정된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트와의 유사도에 따라, 하나 이상의 오브젝트에 각각 대응하는 복수의 추천 어플리케이션을 결정하고, 복수의 추천 어플리케이션으로부터 하나 이상의 어플리케이션을 선택하는 외부 입력에 응답하여, 선택된 하나 이상의 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써,이미지에 기초하여 하나 이상의 추천 어플리케이션을 디스플레이에 배치하기 위한 배치 기준을 설정하고, 설정된 배치 기준에 기초하여 하나 이상의 추천 어플리케이션을 디스플레이에 배치할 수 있다.
일 실시예에 따른 학습 모델은, 하나 이상의 뉴럴 네트워크에 하나 이상의 오브젝트가 입력된 것에 응답하여, 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성 (attribute)을 추출하고, 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습함으로써 결정될 수 있다.
일 실시예에 따른 추천 어플리케이션의 속성은, 어플리케이션의 종류, 크기, 색상, 형태 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 인식된 하나 이상의 오브젝트를 학습 모델에 입력하기 위한 전처리(pre-processing) 동작을 수행하고, 전처리 동작은 크롭(crop) 동작 및 워핑(warping) 동작 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 이미지는, 사용자가 원하는 어플리케이션들의 구성을 그리는 외부 입력을 수신함으로써 생성된 이미지, 또는 사용자가 원하는 어플리케이션들의 구성이 포함된 이미지를 촬영함으로써 획득된 사진을 포함할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 인식된 하나 이상의 객체에 각각 대응하는 하나 이상의 추천 어플리케이션을 어플리케이션 DB로부터 선택하고, 어플리케이션 DB는 전자 장치에 설치된 어플리케이션들 및 외부 서버에 저장된 어플리케이션들의 리스트를 포함할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 선택된 하나 이상의 추천 어플리케이션이 전자 장치에 설치되지 않은 어플리케이션이라고 판단됨에 따라, 외부 서버로부터 선택된 하나 이상의 추천 어플리케이션을 수신하여 설치하고, 설치된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 하나 이상의 오브젝트로부터 텍스트 정보를 인식하고, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션에 텍스트 정보를 업데이트하고, 텍스트 정보가 업데이트된 하나 이상의 추천 어플리케이션을 디스플레이에 표시할 수 있다.
일 실시예에 따른 전자 장치의 동작 방법은, 이미지로부터 하나 이상의 오브젝트를 인식하는 단계, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하는 단계, 및 결정된 하나 이상의 추천 어플리케이션이 동작하도록 전자 장치의 디스플레이에 표시하는 단계를 포함할 수 있다.
도 1은 일 실시예에 따른 전자 장치를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3은 다른 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 4는 일 실시예에 따른 이미지의 예시를 나타내는 도면이다.
도 5a 및 도 5b는 일 실시예에 따라 이미지로부터 인식된 하나 이상의 오브젝트에 대한 전처리 동작을 수행하는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 전자 장치가 이미지로부터 인식된 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하는 과정을 설명하기 위한 도면이다.
도 7은 일 실시예에 따라 오브젝트에 대응하는 추천 어플리케이션을 결정하는 방법을 학습하는 뉴럴 네트워크(neural network)를 설명하기 위한 도면이다.
도 8a 및 도 8b는 일 실시예에 따라 복수의 추천 어플리케이션 중에서 디스플레이에 표시할 어플리케이션을 선택하는 과정을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 전자 장치가 외부 서버로부터 추천 어플리케이션을 수신하여 설치하는 예시를 나타내는 도면이다.
도 10은 일 실시예에 따른 전자 장치가 이미지로부터 인식된 텍스트 정보를 추천 어플리케이션에 업데이트하는 예시를 나타내는 도면이다.
도 11은 일 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 12는 일 실시예에 따른 프로세서의 구성을 나타내는 블록도이다.
도 13은 일 실시예에 따른 데이터 학습부의 구성을 나타내는 블록도이다.
도 14는 일 실시예에 따른 데이터 인식부의 구성을 나타내는 블록도이다.
도 15는 일 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에서 사용되는 용어는, 본 개시에서 언급되는 기능을 고려하여 현재 사용되는 일반적인 용어로 기재되었으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 다양한 다른 용어를 의미할 수 있다. 따라서 본 개시에서 사용되는 용어는 용어의 명칭만으로 해석되어서는 안되며, 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 해석되어야 한다.
또한, 본 개시에서 사용된 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것이며, 본 개시를 한정하려는 의도로 사용되는 것이 아니다. 단수의 표현은 문맥상 명백하게 단수를 뜻하지 않는 한, 복수의 의미를 포함한다. 또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본 명세서, 특히, 특허 청구 범위에서 사용된 “상기” 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 본 개시에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해질 수 있다. 기재된 단계들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 전자 장치가 복수의 어플리케이션을 디스플레이에 표시하는 예시를 나타내는 도면이다.
도 1을 참조하면, 전자 장치(100)는 디스플레이(230)를 포함하는 가전 기기일 수 있으나, 이에 한정되지 않는다. 예를 들어, 전자 장치(100)는, 휴대폰, 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 태블릿 PC, 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등과 같은 다양한 장치로 구현될 수 있다. 또한, 전자 장치(100)는 고정형 또는 이동형일 수 있으며, 디지털 방송 수신이 가능한 디지털 방송 수신기일 수 있다.
본 명세서의 실시예에서 “사용자”라는 용어는 전자 장치(100)의 기능 또는 동작을 제어하는 사람을 의미하며, 시청자, 관리자 또는 설치 기사를 포함할 수 있다.
일 실시예에 따른 전자 장치(100)는, 디스플레이(230)에 하나 이상의 어플리케이션이 동작하도록 표시할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 전자 장치(100)는 디스플레이(230)에 캘린더 어플리케이션, 날씨 어플리케이션, 및 메모패드 어플리케이션 등을 표시할 수 있으며, 사용자가 필요에 따라 디스플레이(230)에 표시된 어플리케이션을 사용할 수 있도록 한다. 이때, 어플리케이션(application)은 어플리케이션, 위젯(widget), 및 사용자 인터페이스의 스타일을 나타내는 테마(theme)를 포함하는 의미로 사용될 수 있으나, 이에 한정되지 않는다. 사용자는 전자 장치(100)에 설치하여 사용할 수 있는 복수의 어플리케이션 중에서 원하는 어플리케이션들을 선택할 수 있으며, 전자 장치(100)는 사용자에 의해 선택된 어플리케이션들을 디스플레이(230)에 표시할 수 있다. 또한, 사용자는, 사용자의 선호도에 기초하여, 디스플레이(230)에 표시된 하나 이상의 어플리케이션의 위치 및 크기 중 적어도 하나를 변경할 수 있다.
하나 이상의 어플리케이션을 디스플레이(230)에 표시함으로써 사용자가 해당 어플리케이션들을 사용할 수 있도록 하는 전자 장치(100)의 종류가 증가함에 따라, 사용자가 원하는 어플리케이션들의 구성을 용이하게 인식하고, 인식된 결과에 기초하여 사용자가 원하는 어플리케이션들을 사용자가 원하는 형태로 제공할 수 있는 방법이 필요하다.
도 2는 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 2에 도시된 전자 장치(100a)는 도 1에 도시된 전자 장치(100)의 일 실시예일 수 있다. 도 2를 참조하면, 일 실시예에 따른 전자 장치(100a)는 메모리(210), 프로세서(220), 및 디스플레이(230)를 포함할 수 있다. 그러나, 전자 장치(100a)는, 도시된 구성요소보다 많은 구성요소에 의해 구현될 수 있으며, 전술한 예에 한정되지 않는다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
일 실시예에 따른 메모리(210)는, 프로세서(220)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(100a)로 입력되거나 전자 장치(100a)로부터 출력되는 데이터를 저장할 수 있다.
메모리(210)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
일 실시예에 따른 메모리(210)는, 이미지로부터 하나 이상의 오브젝트를 인식하고, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고, 결정된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시하는 하나 이상의 인스트럭션(instruction)을 포함하는 모듈을 포함할 수 있다.
프로세서(220)는 전자 장치(100a)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(220)는, 메모리(210)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 디스플레이(230)를 제어할 수 있으며, 도 1 내지 도 16에 기재된 전자 장치(100a)의 기능을 수행할 수 있다.
일 실시예에 따른 프로세서(220)는, 이미지로부터 하나 이상의 오브젝트(object)를 인식한다.
이미지는, 사용자가 원하는 어플리케이션들의 구성을 나타내는 이미지로서, 사용자가 원하는 어플리케이션들의 구성을 그리는 외부 입력을 수신함으로써 생성된 이미지, 또는 상기 사용자가 원하는 어플리케이션들의 구성이 포함된 이미지를 촬영함으로써 획득된 사진을 포함할 수 있으나, 이에 한정되지 않는다.
이미지로부터 인식되는 하나 이상의 오브젝트는, 각 어플리케이션에 대응될 수 있으며, 사용자가 원하는 어플리케이션의 속성을 나타낼 수 있다. 예를 들어, 사용자는, 노란색 바탕 화면에 선(line)이 표시되지 않은 메모 어플리케이션, 24시간 단위로 해야 할 일을 체크할 수 있는 일정 관리 어플리케이션을 원할 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 프로세서(220)는, 이미지를 분석하여, 이미지에 포함된 소정의 영역을 구분하는 경계선, 이미지 내에서 색이 변화하는 정도, 이미지에 포함된 소정의 영역을 나타내는 형태 등에 기초하여, 하나 이상의 오브젝트를 인식할 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 프로세서(220)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정한다.
뉴럴 네트워크는, 인공지능(Artificial Intelligence)에 기초하여 뉴럴 네트워크에 입력된 소정의 이미지로부터 객체를 인식하는 방법을 학습하는 알고리즘의 집합일 수 있다. 예를 들어, 뉴럴 네트워크는, 소정의 이미지를 입력 값으로 하는 지도 학습(supervised learning), 별다른 지도 없이 이미지로부터 객체를 인식하기 위해 필요한 데이터의 종류를 스스로 학습함으로써, 이미지로부터 객체를 인식하기 위한 패턴을 발견하는 비지도 학습(unsupervised learning)에 기초하여, 이미지로부터 객체를 인식하는 방법을 학습할 수 있다. 또한, 예를 들어, 뉴럴 네트워크는, 학습에 따라 객체를 인식한 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 이용하여, 이미지로부터 객체를 인식하는 방법을 학습할 수 있다.
예를 들어, 프로세서(220)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트와의 유사도에 따라, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 프로세서(220)는, 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성(attribute)을 추출하고, 추출된 추천 어플리케이션의 속성에 기초하여, 하나 이상의 추천 어플리케이션을 결정할 수 있다. 추천 어플리케이션의 속성은, 어플리케이션의 종류, 크기, 색상, 및 형태 중 적어도 하나를 포함할 수 있다. 예를 들어, 이미지로부터 인식된 제1 오브젝트가 파란색 배경화면과 오늘의 날씨를 나타내는 아이콘을 포함할 때, 프로세서(220)는, 날씨 어플리케이션, 파란색 배경화면, 및 날씨를 나타내는 아이콘 등을 추천 어플리케이션의 속성으로 추출할 수 있다. 프로세서(220)는 날씨 어플리케이션 파란색 배경, 및 날씨를 나타내는 아이콘 중 적어도 하나를 포함하는 추천 어플리케이션의 속성에 기초하여, 추천 어플리케이션을 결정할 수 있다.
일 실시예에 따른 프로세서(220)는, 어플리케이션 DB(데이터베이스, database)로부터 제1 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 선택할 수 있다. 어플리케이션 DB는, 전자 장치(100a)에 설치된 어플리케이션들 및 외부 서버에 저장된 어플리케이션들의 리스트를 포함할 수 있다. 외부 서버에 저장된 어플리케이션들은, 전자 장치(100a)에 설치되지 않은 어플리케이션들을 의미할 수 있으며, 전자 장치(100a)는 외부 서버로부터 해당 어플리케이션들을 수신하여 설치할 수 있다. 예를 들어, 전자 장치(100a)는, 어플리케이션 스토어(application store)를 통하여, 전자 장치(100a)에 설치되지 않은 어플리케이션들을 외부 서버로부터 수신하여 설치할 수 있으나, 이에 한정되지 않는다.
일 실시예에 따른 프로세서(220)는, 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이(230)에 표시한다.
프로세서(220)는, 이미지에 기초하여 하나 이상의 추천 어플리케이션을 디스플레이(230)에 배치하기 위한 배치 기준을 설정할 수 있다. 예를 들어, 프로세서(220)는, 이미지로부터 인식된 하나 이상의 오브젝트로부터, 각 오브젝트의 크기, 위치, 및 투명도 중 적어도 하나를 판단할 수 있다. 또한, 프로세서(220)는, 각 오브젝트의 크기, 위치, 및 투명도 중 적어도 하나에 기초하여 각 오브젝트에 대응하는 추천 어플리케이션을 디스플레이(230)에 배치할 수 있다.
예를 들어, 이미지로부터 제1 오브젝트 및 제2 오브젝트가 인식될 때, 제1 오브젝트는 이미지의 상단에 위치하며 이미지의 2/3에 해당하는 크기이고, 제2 오브젝트는 이미지의 하단에 위치하며 이미지의 1/3에 해당하는 크기일 수 있다. 이때, 프로세서(220)는, 제1 오브젝트 및 제2 오브젝트에 각각 대응하는 추천 어플리케이션을 배치하기 위한 배치 기준으로서, 추천 어플리케이션의 크기 및 위치를 설정할 수 있다. 이에 따라, 프로세서(220)는, 제1 오브젝트에 대응하는 추천 어플리케이션을 디스플레이(230) 크기의 2/3에 해당하는 크기로 디스플레이(230)의 상단에 배치할 수 있으며, 제2 오브젝트에 대응하는 추천 어플리케이션을 디스플레이(230) 크기의 1/3에 해당하는 크기로 디스플레이(230)의 하단에 배치할 수 있다.
또한, 일 실시예에 따른 프로세서(220)는, 이미지로부터 인식된 하나 이상의 오브젝트로부터 텍스트 정보를 인식할 수 있다. 예를 들어, 이미지는, 사용자에 의해 그려진 2017년 10월 달력을 포함하고, 사용자와 관련된 이벤트를 나타내는 텍스트 정보가 달력에 기입되어 있을 수 있다. 이때, 프로세서(220)는, 2017년 10월 달력을 하나의 오브젝트로 인식하고, 인식된 오브젝트로부터 이벤트를 나타내는 텍스트 정보를 인식할 수 있다. 또한, 프로세서(220)는, 인식된 오브젝트(예를 들어, 2017년 10월 달력)에 대응하는 추천 어플리케이션(예를 들어, A 캘린더 어플리케이션)에 인식된 텍스트 정보를 업데이트할 수 있다. 예를 들어, 이미지에 포함된 2017년 10월 달력에서, 10월 17일에 대응하는 영역에 “생일”이 기입되어 있을 때, 프로세서(220)는, 추천 어플리케이션인 A 캘린더 어플리케이션의 10월 17일에 생일 이벤트를 추가할 수 있다. 또한, 프로세서(220)는, 생일 이벤트가 추가된 A 캘린더 어플리케이션을 디스플레이(230)에 표시할 수 있다.
이에 따라, 일 실시예에 따른 프로세서(220)는, 사용자가 원하는 어플리케이션들의 구성을 보다 용이하게 판단하고, 사용자가 원하는 어플리케이션들에 대응하는 추천 어플리케이션들을 사용자가 원하는 형태로 제공할 수 있다.
일 실시예에 따른 디스플레이(230)는, 이미지로부터 인식된 하나 이상의 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 표시할 수 있다. 또한, 디스플레이(230)는, 하나 이상의 오브젝트로부터 추출된 추천 어플리케이션의 속성에 기초하여, 하나 이상의 추천 어플리케이션을 표시할 수 있다. 따라서, 디스플레이(230)에 표시되는 추천 어플리케이션의 개수는, 이미지로부터 인식된 오브젝트의 개수에 따라 달라질 수 있으며, 디스플레이(230)에 표시되는 추천 어플리케이션의 크기 및 위치는, 이미지로부터 인식된 오브젝트의 크기 및 위치에 따라 달라질 수 있다.
디스플레이(230)가 터치 스크린으로 구현되는 경우, 디스플레이(230)는 출력 장치 이외에 입력 장치로 사용될 수 있다. 예를 들어, 디스플레이(230)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기 영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고, 전자 장치(100a)의 구현 형태에 따라, 전자 장치(100a)는 디스플레이(230)를 2개 이상 포함할 수 있다.
도 3은 다른 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3에 도시된 바와 같이, 전자 장치(100b)는, 메모리(210), 프로세서(220), 및 디스플레이(230) 이외에, 튜너부(140), 통신부(150), 감지부(160), 입/출력부(170), 비디오 처리부(180), 오디오 처리부(115), 오디오 출력부(125), 및 사용자 입력부(190)를 더 포함할 수 있다.
메모리(210), 프로세서(220), 및 디스플레이(230)에 대하여, 도 2에서 설명한 내용과 동일한 내용은 도 3에서 생략한다.
튜너부(140)는 유선 또는 무선으로 수신되는 방송 신호를 증폭(amplification), 혼합(mixing), 공진(resonance)등을 통하여 많은 전파 성분 중에서 전자 장치(100b)에서 수신하고자 하는 채널의 주파수만을 튜닝(tuning)시켜 선택할 수 있다. 방송 신호는 오디오(audio), 비디오(video) 및 부가 정보(예를 들어, EPG(Electronic Program Guide))를 포함한다.
튜너부(140)를 통해 수신된 방송 신호는 디코딩(decoding, 예를 들어, 오디오 디코딩, 비디오 디코딩 또는 부가 정보 디코딩)되어 오디오, 비디오 및/또는 부가 정보로 분리된다. 분리된 오디오, 비디오 및/또는 부가 정보는 프로세서(220)의 제어에 의해 메모리(210)에 저장될 수 있다.
전자 장치(100b)의 튜너부(140)는 하나이거나 복수일 수 있다. 튜너부(140)는 전자 장치(100b)와 일체형(all-in-one)으로 구현되거나 또는 전자 장치(100b)와 전기적으로 연결되는 튜너부를 가지는 별개의 장치(예를 들어, 셋탑박스(set-top box, 도시되지 아니함), 입/출력부(170)에 연결되는 튜너부(도시되지 아니함))로 구현될 수 있다.
통신부(150)는 프로세서(220)의 제어에 의해 전자 장치(100b)를 외부 장치(예를 들어, 오디오 장치 등)와 연결할 수 있다. 프로세서(220)는 통신부(150)를 통해 연결된 외부 장치로 컨텐트를 송/수신, 외부 장치에서부터 어플리케이션(application)을 다운로드하거나 또는 웹 브라우징을 할 수 있다.
통신부(150)는 전자 장치(100b)의 성능 및 구조에 대응하여 무선 랜(151), 블루투스(152), 및 유선 이더넷(Ethernet, 153) 중 하나를 포함할 수 있다. 또한, 통신부(150)는 무선랜(151), 블루투스(152), 및 유선 이더넷(Ethernet, 153)의 조합을 포함할 수 있다. 통신부(150)는 프로세서(220)의 제어에 의해 제어 장치(101)의 제어 신호를 수신할 수 있다. 제어 신호는 블루투스 타입, RF 신호 타입 또는 와이파이 타입으로 구현될 수 있다.
통신부(150)는 블루투스 외에 다른 근거리 통신(예를 들어, NFC(near field communication, 도시되지 아니함), BLE(bluetooth low energy, 도시되지 아니함)를 더 포함할 수 있다.
일 실시예에 따른 통신부(150)는, 외부 서버로부터 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 수신할 수 있다. 또한, 통신부(150)는, 하나 이상의 오브젝트를 인식하는데 사용되는 이미지를 외부 장치로부터 수신할 수 있다.
감지부(160)는 사용자의 음성, 사용자의 영상, 또는 사용자의 인터랙션을 감지하며, 마이크(161), 카메라부(162), 및 광 수신부(163)를 포함할 수 있다.
마이크(161)는 사용자의 발화(utterance)된 음성을 수신한다. 마이크(161)는 수신된 음성을 전기 신호로 변환하여 프로세서(220)로 출력할 수 있다.
카메라부(162)는 카메라 인식 범위에서 제스처를 포함하는 사용자의 모션에 대응되는 영상(예를 들어, 연속되는 프레임)을 수신할 수 있다. 예를 들어, 카메라부(162)는, 사용자가 원하는 어플리케이션들의 구성을 포함하는 이미지를 촬영할 수 있다. 예를 들어, 카메라부(162)는, 사용자가 원하는 어플리케이션들의 구성을 그린 그림의 사진을 촬영하고, 촬영된 사진을 저장할 수 있으며, 프로세서(220)는 카메라부(162)에 의해 촬영된 사진으로부터 인식된 하나 이상의 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 제공할 수 있다.
광 수신부(163)는, 전자 장치(100b)가 제어 장치에 의해 제어될 때, 제어 장치로부터 수신되는 광 신호(제어 신호를 포함)를 수신한다. 광 수신부(163)는 제어 장치로부터 사용자 입력(예를 들어, 터치, 눌림, 터치 제스처, 음성, 또는 모션)에 대응되는 광 신호를 수신할 수 있다. 수신된 광 신호로부터 프로세서(220)의 제어에 의해 제어 신호가 추출될 수 있다.
일 실시예에 따른 광 수신부(163)는, 전자 장치(100b)가 제어 장치에 의해 제어될 때, 사용자가 원하는 어플리케이션들의 구성을 나타내는 이미지를 그리는 외부 입력을 수신할 수 있다.
입/출력부(170)는 프로세서(220)의 제어에 의해 전자 장치(100b)의 외부에서부터 비디오(예를 들어, 동영상 등), 오디오(예를 들어, 음성, 음악 등) 및 부가 정보(예를 들어, EPG 등) 등을 수신한다. 입/출력부(170)는 HDMI 포트(High-Definition Multimedia Interface port, 171), 컴포넌트 잭(component jack, 172), PC 포트(PC port, 173), 및 USB 포트(USB port, 174) 중 하나를 포함할 수 있다. 입/출력부(170)는 HDMI 포트(171), 컴포넌트 잭(172), PC 포트(173), 및 USB 포트(174)의 조합을 포함할 수 있다.
일 실시예에 따른 메모리(210)는, 프로세서(220)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(100b)로 입력되거나 전자 장치(100b)로부터 출력되는 데이터를 저장할 수 있다.
메모리(210)에 저장된 프로그램들은 그 기능에 따라 복수의 모듈들로 분류할 수 있는데, 예를 들어, 학습 모듈(211) 등으로 분류될 수 있다.
학습 모듈(211)은, 하나 이상의 뉴럴 네트워크에 하나 이상의 오브젝트가 입력된 것에 응답하여 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성을 추출하는 방법 및 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습하여 결정되는 학습 모델을 포함할 수 있다. 학습 모델은 외부 서버로부터 수신될 수 있으며, 수신된 학습 모델은 학습 모듈(211)에 저장될 수 있다.
프로세서(220)는 전자 장치(100b)의 전반적인 동작 및 전자 장치(100b)의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 프로세서(220)는 사용자의 입력이 있거나 기설정되어 저장된 조건을 만족하는 경우, 메모리(210)에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다.
일 실시예에 따른 프로세서(220)는, 메모리(210)에 저장된 하나 이상의 인스트럭션을 수행함으로써, 이미지로부터 하나 이상의 오브젝트를 인식하고, 나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고, 결정된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
비디오 처리부(180)는, 디스플레이(230)에 의해 표시될 영상 데이터를 처리하며, 영상 데이터에 대한 디코딩, 렌더링, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 및 해상도 변환 등과 같은 다양한 영상 처리 동작을 수행할 수 있다.
디스플레이(230)는 프로세서(220)의 제어에 의해 튜너부(140)를 통해 수신된 방송 신호에 포함된 비디오를 화면에 표시할 수 있다. 또한, 디스플레이(230)는 통신부(150) 또는 입/출력부(170)를 통해 입력되는 컨텐트(예를 들어, 동영상)를 표시할 수 있다. 디스플레이(230)는 프로세서(220)의 제어에 의해 메모리(210)에 저장된 영상을 출력할 수 있다.
오디오 처리부(115)는 오디오 데이터에 대한 처리를 수행한다. 오디오 처리부(115)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
오디오 출력부(125)는 프로세서(220)의 제어에 의해 튜너부(140)를 통해 수신된 방송 신호에 포함된 오디오, 통신부(150) 또는 입/출력부(170)를 통해 입력되는 오디오, 메모리(210)에 저장된 오디오를 출력할 수 있다. 오디오 출력부(125)는 스피커(126), 헤드폰 출력 단자(127) 또는 S/PDIF(Sony/Philips Digital Interface: 출력 단자(128) 중 적어도 하나를 포함할 수 있다.
사용자 입력부(190)는, 사용자가 전자 장치(100b)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(190)는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드, 조그 휠, 조그 스위치 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 사용자 입력부(190)는, 전술한 제어 장치의 구성요소일 수 있고, 전자 장치(100b)의 구성요소일 수 있다.
일 실시예에 따른 사용자 입력부(190)는, 사용자가 원하는 어플리케이션들의 구성을 그리는 입력을 수신할 수 있다. 예를 들어, 사용자 입력부(190)가 터치스크린 또는 터치패드(touchpad)로 구현되는 경우, 사용자의 손가락 또는 전자 펜 등을 이용하여 그리는 입력을 수신할 수 있다. 또한, 사용자 입력부(190)는, 이미지로부터 인식된 오브젝트에 대응하는 복수의 추천 어플리케이션이 결정될 때, 디스플레이(230)에 표시할 추천 어플리케이션을 선택하는 입력을 수신할 수 있다.
한편, 도 2 및 도 3에 도시된 전자 장치(100a 및 100b)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 전자 장치(100a 및 100b)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 예를 들어, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분화되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
도 4는 일 실시예에 따른 이미지의 다양한 예시를 나타내는 도면이다.
일 실시예에 따른 전자 장치(100)는, 이미지로부터 하나 이상의 오브젝트를 인식할 수 있다. 이미지는, 사용자가 원하는 어플리케이션들의 구성을 나타내는 이미지로서, 사용자에 의해 그려진 그림 또는 촬영된 사진을 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 전자 장치(100)는, 터치스크린 또는 터치패드로 구현된 디스플레이(230)를 통하여, 사용자가 원하는 어플리케이션들의 구성을 나타내는 그림을 그리는 외부 입력을 수신할 수 있으며, 수신된 외부 입력에 대응하는 그림을 생성함으로써, 이미지를 획득할 수 있다. 또한, 전자 장치(100)는, 카메라부(162)를 이용하여 사용자가 원하는 어플리케이션들의 구성을 나타내는 그림을 촬영한 사진을 이미지로서 획득할 수 있다. 또한, 전자 장치(100)는, 카메라부(162)를 이용하여 외부 장치의 디스플레이에 표시된 어플리케이션을 촬영한 사진, 또는 외부 장치의 디스플레이에 표시된 어플리케이션을 캡쳐한 화면을 이미지로서 획득할 수 있다. 실시예에 따라, 전자 장치(100)는, 외부 장치로부터 이미지를 수신할 수 있다. 예를 들어, 전자 장치(100)는, 사용자의 다른 장치에 의해 생성된 이미지를 무선 통신을 이용하여 수신할 수 있다. 이에 따라, 전자 장치(100)는, 다양한 형태의 이미지를 획득할 수 있으며, 획득된 이미지로부터 하나 이상의 오브젝트를 인식할 수 있다.
도 4를 참조하면, 이미지는, 사용자에 의해 그려진 그림을 카메라부(162)를 이용하여 촬영한 사진(401), 외부 장치의 디스플레이에 표시된 어플리케이션을 나타내는 이미지(402), 및 터치 스크린으로 구현된 디스플레이(230)를 통해 사용자에 의해 그려진 그림(403)을 포함할 수 있다. 예를 들어, 도 4에 도시된 사진(401)은, 사용자에 의해 그려진 그림의 사진을 촬영하여 획득된 것으로서, 사진(401)은 사용자가 원하는 어플리케이션들의 구성을 포함할 수 있다.
또한, 사용자는 다른 장치에 표시된 어플리케이션과 동일한 어플리케이션을 사용하고자 할 수 있다. 이때, 추천 어플리케이션을 결정하는데 사용되는 이미지는, 도 4에 도시된 이미지(402)와 같이, 사용자가 원하는 어플리케이션이 표시된 화면을 캡쳐한 이미지, 또는 원하는 어플리케이션이 표시된 화면의 사진을 촬영하여 획득한 이미지를 포함할 수 있으나, 이에 한정되지 않는다.
또한, 전자 장치(100)의 디스플레이(230)가 터치스크린으로 구현되는 경우, 전자 장치(100)는 터치 스크린으로 구현된 디스플레이(230)를 통해 원하는 어플리케이션들의 구성을 그리는 외부 입력을 수신할 수 있으며, 수신된 외부 입력에 대응하는 그림을 생성할 수 있다. 예를 들어, 사용자는 도 4에 도시된 이미지(403)와 같이, 할 일 리스트를 표시하는 어플리케이션과 음악 재생 어플리케이션을 전자 장치(100)의 디스플레이에 표시하고자 할 수 있다. 이에 따라, 사용자는, 터치스크린으로 구현된 디스플레이(230)를 이용하여, 도 4에 도시된 이미지(403)와 같은 그림을 그릴 수 있으며, 사용자에 의해 그려진 그림은 하나의 이미지로 저장될 수 있다.
도 5a 및 도 5b는 일 실시예에 따라 이미지로부터 인식된 하나 이상의 오브젝트에 대한 전처리 동작을 수행하는 과정을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(100)는, 이미지로부터 하나 이상의 오브젝트를 인식할 수 있으며, 인식된 하나 이상의 오브젝트를 하나 이상의 뉴럴 네트워크에 입력하기 위한 전처리 동작을 수행할 수 있다.
예를 들어, 도 5a를 참조하면, 이미지(500)는, 사용자가 원하는 어플리케이션들의 구성을 포함하는 이미지로서, 사용자에 의해 그려진 그림일 수 있다. 이미지(500)는, 이미지(500)의 상단에 캘린더 어플리케이션을 나타내는 제1 오브젝트(501), 이미지의 우측 하단에 메모 어플리케이션을 나타내는 제2 오브젝트(502), 및 이미지(500)의 좌측 하단에 날씨 어플리케이션을 나타내는 제3 오브젝트(503)를 포함할 수 있다.
일 실시예에 따른 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 이미지로부터 인식된 제1 오브젝트 내지 제3 오브젝트(501, 502, 503)에 각각 대응하는 추천 어플리케이션을 결정할 수 있다. 이때, 전자 장치(100)는, 제1 오브젝트 내지 제3 오브젝트(501, 502, 503)를 학습 모델에 입력하기 위한 전처리 동작을 수행할 수 있다. 또한, 학습 모델이 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성을 추출하고, 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습하기 위하여, 전처리 동작이 수행될 수 있다. 예를 들어, 학습 모델은, 하나 이상의 오브젝트가 하나 이상의 뉴럴 네트워크에 입력된 것에 응답하여, 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성을 추출하고, 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습함으로써 결정될 수 있다. 이때, 하나 이상의 뉴럴 네트워크에 입력되는 하나 이상의 오브젝트는, 전처리 동작이 수행된 오브젝트일 수 있다.
예를 들어, 도 5a에 도시된 바와 같이, 전자 장치(100)는, 이미지에 포함된 제1 오브젝트 내지 제3 오브젝트(501, 502, 503)에 대하여, 크롭(crop) 동작을 수행할 수 있다. 전자 장치(100)는, 크롭 동작이 수행된 제1 오브젝트 내지 제3 오브젝트(511, 512, 513)가 학습 모델에 입력된 것에 응답하여, 제1 오브젝트 내지 제3 오브젝트(511, 512, 513) 각각에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다.
제1 오브젝트 내지 제3 오브젝트(501, 502, 503)를 크롭하는 방법은, 실시예에 따라 달라질 수 있다. 예를 들어, 전자 장치(100)는, 이미지(500)에서 색의 변화를 분석하는 동작, 이미지(500)에서 소정의 영역을 나타내는 경계선을 감지하는 동작, 이미지(500)에 포함된 소정의 영역의 형태를 추출하는 동작 중 적어도 하나를 이용하여, 제1 오브젝트 내지 제3 오브젝트(501, 502, 503)를 크롭할 수 있다.
또한, 도 5b를 참조하면, 이미지(520)가 사용자에 의해 촬영된 사진일 때, 촬영 각도 및 촬영 환경 등에 따라 사진으로부터 인식되는 하나 이상의 오브젝트의 형태가 달라질 수 있다. 예를 들어, 도 5b에 도시된 바와 같이, 이미지(520)가 기울어진 상태로 촬영된 사진일 때, 이미지(520)로부터 인식되는 복수의 오브젝트(531, 532, 533)는 왜곡된 형태를 가질 수 있다. 이때, 전자 장치(100)는, 왜곡된 형태를 갖는 복수의 오브젝트(531, 532, 533)에 대하여 워핑(warping) 동작을 수행함으로써, 왜곡된 형태를 보정할 수 있다. 워핑 동작은, 소정의 규칙에 따라 이미지의 형태를 변환하는 동작을 의미할 수 있으며, 실시예에 따라 다양한 워핑 알고리즘이 사용될 수 있다.
일 실시예에 따른 전자 장치(100)는, 왜곡된 형태를 갖는 복수의 오브젝트(531, 532, 533)에 대하여 워핑(warping) 동작을 수행함으로써, 형태가 보정된 복수의 오브젝트(541, 542, 543)를 획득할 수 있다. 또한, 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 형태가 보정된 복수의 오브젝트(541, 542, 543) 각각에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다.
도 6은 일 실시예에 따른 전자 장치가 이미지로부터 인식된 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하는 과정을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 이미지로부터 인식된 하나 이상의 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 예를 들어, 도 6을 참조하면, 전자 장치(100)는, 이미지로부터 캘린더 어플리케이션을 나타내는 제1 오브젝트(601), 메모 어플리케이션을 나타내는 제2 오브젝트(602), 및 날씨 어플리케이션을 나타내는 제3 오브젝트(603)를 인식할 수 있다. 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델(610)을 이용하여, 제1 오브젝트 내지 제3 오브젝트(601, 602, 603) 각각에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 전술한 바와 같이, 학습 모델(610)에 입력되는 제1 오브젝트 내지 제3 오브젝트(601, 602, 603)에 대하여, 크롭 동작 및 워핑 동작 중 적어도 하나를 포함하는 전처리 동작이 수행될 수 있다.
일 실시예에 따른 전자 장치(100)는, 제1 오브젝트 내지 제3 오브젝트(601, 602, 603)와의 유사도에 따라, 제1 오브젝트 내지 제3 오브젝트(601, 602, 603) 각각에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 전자 장치(100)는, 제1 오브젝트 내지 제3 오브젝트(601, 602, 603)로부터 추천 어플리케이션의 속성을 추출할 수 있으며, 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정할 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 전자 장치(100)는, 제1 오브젝트(601)에 대응하는 추천 어플리케이션의 속성으로서, 어플리케이션의 종류(예를 들어, 캘린더 어플리케이션), 어플리케이션의 형태(예를 들어, 격자 형태의 월 달력), 및 어플리케이션의 색상(예를 들어, 흰색 바탕과 검은색 글자) 중 적어도 하나를 추출할 수 있다. 또한, 전자 장치(100)는, 제2 오브젝트(602)에 대응하는 추천 어플리케이션의 속성으로서, 어플리케이션의 종류(예를 들어, 메모 어플리케이션), 및 어플리케이션의 색상(노란색 바탕화면)을 추출할 수 있으며, 제3 오브젝트(603)에 대응하는 추천 어플리케이션의 속성으로서, 어플리케이션의 종류(예를 들어, 날씨 어플리케이션), 어플리케이션의 형태(오늘의 날씨를 나타내는 그림), 및 어플리케이션의 색상(예를 들어, 파란색 바탕 화면)을 추출할 수 있다.
일 실시예에 따른 전자 장치(100)는, 추출된 추천 어플리케이션의 속성에 기초하여, 하나 이상의 추천 어플리케이션을 결정할 수 있다. 예를 들어, 전자 장치(100)는, 추출된 추천 어플리케이션의 속성에 기초하여, 어플리케이션 DB로부터 하나 이상의 추천 어플리케이션을 선택할 수 있다. 전술한 바와 같이, 어플리케이션 DB는, 전자 장치(100)에 설치된 어플리케이션들 및 전자 장치(100)에 설치되지 않은 어플리케이션들의 리스트를 포함할 수 있다. 전자 장치(100)는, 어플리케이션 스토어를 통하여, 전자 장치(100)에 설치되지 않은 어플리케이션들을 외부 서버로부터 수신하여 설치할 수 있다.
일 실시예에 따른 전자 장치(100)는, 추출된 추천 어플리케이션의 속성과 매칭되는 정도에 따라, 어플리케이션 DB로부터 선택된 복수의 어플리케이션의 점수를 계산할 수 있다. 예를 들어, 추출된 추천 어플리케이션의 속성과 매칭되는 정도가 높을수록, 계산된 점수가 높을 수 있다. 전자 장치(100)는, 계산된 점수가 높은 어플리케이션일수록 우선적으로 추천할 수 있다. 이에 따라, 전자 장치(100)는, 점수가 높은 순서에 따라, 기설정된 개수의 어플리케이션을 복수의 추천 어플리케이션으로 결정할 수 있으며, 복수의 추천 어플리케이션을 디스플레이(230)에 표시함으로써, 사용자가 복수의 추천 어플리케이션 중에서 하나를 선택하도록 할 수 있다.
예를 들어, 전자 장치(100)는, 제1 오브젝트(601)로부터 추출된 추천 어플리케이션의 속성(예를 들어, 캘린더 어플리케이션, 흰색 바탕화면과 검은색 글자, 격자 형태의 월 달력)에 기초하여, A 캘린더 어플리케이션(621) 및 B 캘린더 어플리케이션(622)를 제1 오브젝트(601)에 대응하는 추천 어플리케이션으로 결정할 수 있다. 또한, 전자 장치(100)는, 제2 오브젝트(602)로부터 추출된 추천 어플리케이션의 속성(예를 들어, 메모 어플리케이션, 노란색 바탕화면)에 기초하여, C 메모 어플리케이션(631) 및 D 메모 어플리케이션(632)를 제2 오브젝트(602)에 대응하는 추천 어플리케이션으로 결정할 수 있으며, 제3 오브젝트(603)로부터 추출된 추천 어플리케이션의 속성(예를 들어, 날씨 어플리케이션, 오늘의 날씨를 나타내는 그림, 파란색 바탕화면)에 기초하여, E 날씨 어플리케이션(641) 및 F 날씨 어플리케이션(642)를 제3 오브젝트(603)에 대응하는 추천 어플리케이션으로 결정할 수 있다.
일 실시예에 따른 전자 장치(100)는, 제1 오브젝트 내지 제3 오브젝트(601, 602, 603)에 각각 대응하는 추천 어플리케이션들을 디스플레이(230)에 표시할 수 있으며, 각 오브젝트에 대응하는 추천 어플리케이션들 중에서 사용자가 원하는 어플리케이션을 선택하도록 할 수 있다. 이에 따라, 전자 장치(100)는, 사용자가 원하는 조건을 만족하는 어플리케이션을 보다 정확하고 용이하게 추천할 수 있다.
도 7은 일 실시예에 따라 오브젝트에 대응하는 추천 어플리케이션을 결정하는 방법을 학습하는 뉴럴 네트워크(neural network)의 예시를 나타내는 도면이다.
도 7을 참조하면, 하나 이상의 뉴럴 네트워크(700)는, 복수의 학습 오브젝트(701 내지 705)를 입력 값으로 하여, 학습 오브젝트에 대응하는 추천 어플리케이션을 결정하는 방법을 학습할 수 있다. 복수의 학습 오브젝트(701 내지 705)는, 사용자가 원하는 어플리케이션들의 구성을 나타내는 이미지로부터 추출될 수 있으며, 사용자에 의해 그려진 그림 또는 촬영된 사진 형태일 수 있다. 예를 들어, 복수의 오브젝트(701 내지 705)는, 도 7에 도시된 제1 오브젝트(701)와 같이, 사용자에 의해 종이에 그려진 그림으로부터 추출된 오브젝트일 수 있으며, 제2 오브젝트(702) 및 제5 오브젝트(705)와 같이, 소정의 그림 편집 소프트웨어를 이용하여 생성된 오브젝트일 수 있다. 또한, 복수의 오브젝트(701 내지 705)는, 제3 오브젝트(703)와 같이 다른 장치의 디스플레이에 표시된 어플리케이션을 캡쳐하여 생성된 오브젝트일 수 있으며, 제4 오브젝트(704)와 같이 터치스크린으로 구현된 전자 장치(100)의 디스플레이로부터 그리는 입력을 수신함으로써 생성된 오브젝트일 수 있으나, 이에 한정되지 않는다.
하나 이상의 뉴럴 네트워크(700)는, 복수의 학습 오브젝트(701 내지 705)로부터 추천 어플리케이션의 속성을 추출하는 방법을 학습할 수 있다. 예를 들어, 추천 어플리케이션의 속성은, 어플리케이션의 종류, 크기, 색상, 및 형태 중 적어도 하나를 포함할 수 있으며, 추출된 추천 어플리케이션의 속성은 키워드로 나타낼 수 있으나, 이에 한정되지 않는다. 또한, 하나 이상의 뉴럴 네트워크(700)는, 추출된 추천 어플리케이션의 속성에 기초하여, 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습할 수 있으며, 학습된 결과에 기초하여 학습 모델(710)이 생성될 수 있다.
일 실시예에 따르면, 하나 이상의 뉴럴 네트워크(700)를 이용하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습하는 동작은, 사전에 수행될 수 있다. 또한, 하나 이상의 뉴럴 네트워크(700)에 입력되는 학습 오브젝트가 추가됨에 따라, 학습 모델(710)이 업데이트될 수 있다.
또한, 하나 이상의 뉴럴 네트워크(700)를 이용하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습하는 동작은, 전자 장치(100)에서 수행될 수 있으며, 실시예에 따라 외부 서버에서 수행될 수 있다. 예를 들어, 하나 이상의 뉴럴 네트워크(700)를 이용하여 오브젝트에 대응하는 객체를 인식하는 방법을 학습하는 동작은, 상대적으로 복잡한 연산량을 필요로 할 수 있다. 이에 따라, 외부 서버가 학습하는 동작을 수행하고, 전자 장치(100)는 외부 서버로부터 학습 모델(710)을 수신함으로서, 전자 장치(100)에서 수행되어야 하는 연산량을 줄일 수 있다. 전자 장치(100)는, 학습 모델(710)을 외부 서버로부터 사전에 수신하여 메모리에 저장하고, 저장된 학습 모델(710)을 이용하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다.
도 8a 및 도 8b는 일 실시예에 따라 복수의 추천 어플리케이션 중에서 디스플레이에 표시할 어플리케이션을 선택하는 과정을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(100)는, 이미지로부터 추출된 하나 이상의 오브젝트에 각각 대응하는 복수의 추천 어플리케이션을 결정할 수 있으며, 사용자가 복수의 추천 어플리케이션 중에서 하나의 추천 어플리케이션을 선택하도록 할 수 있다.
예를 들어, 도 8을 참조하면, 전자 장치(100)는, 이미지로부터 인식된 제1 오브젝트(601)로부터 제1 오브젝트(601)로부터 추출된 추천 어플리케이션의 속성(예를 들어, 캘린더 어플리케이션, 흰색 바탕화면과 검은색 글자, 격자 형태의 월 달력)에 기초하여, A 캘린더 어플리케이션(801) 및 B 캘린더 어플리케이션(802)를 제1 오브젝트(601)에 대응하는 추천 어플리케이션으로 결정할 수 있다. 또한, 전자 장치(100)는, 제2 오브젝트(602)로부터 추출된 추천 어플리케이션의 속성(예를 들어, 메모 어플리케이션, 노란색 바탕화면)에 기초하여, C 메모 어플리케이션(811) 및 D 메모 어플리케이션(812)를 제2 오브젝트(602)에 대응하는 추천 어플리케이션으로 결정할 수 있으며, 제3 오브젝트(603)로부터 추출된 추천 어플리케이션의 속성(예를 들어, 날씨 어플리케이션, 오늘의 날씨를 나타내는 그림, 파란색 바탕화면)에 기초하여, E 날씨 어플리케이션(821) 및 F 날씨 어플리케이션(822)를 제3 오브젝트(603)에 대응하는 추천 어플리케이션으로 결정할 수 있다.
일 실시예에 따른 전자 장치(100)는, A 캘린더 어플리케이션(801) 및 B 캘린더 어플리케이션(802), C 메모 어플리케이션(811), D 메모 어플리케이션(812), E 날씨 어플리케이션(821), 및 F 날씨 어플리케이션(822)를 디스플레이(230)에 표시할 수 있으며, 사용자로부터 표시된 추천 어플리케이션 중 일부를 선택하는 입력을 수신할 수 있다. 예를 들어, 도 8a에 도시된 바와 같이, 사용자로부터 B 캘린더 어플리케이션(802), C 메모 어플리케이션(811), 및 E 날씨 어플리케이션(821)을 선택하는 입력이 수신됨에 따라, 전자 장치(100)는 디스플레이(230)에 선택된 어플리케이션들을 표시할 수 있다.
일 실시예에 따른 전자 장치(100)는, 복수의 추천 어플리케이션 중에서 선택된 추천 어플리케이션을 디스플레이(230)에 표시할 때, 이미지에 기초하여 추천 어플리케이션을 배치하기 위한 배치 기준을 설정할 수 있으며, 설정된 배치 기준에 기초하여, 선택된 추천 어플리케이션을 디스플레이(230)에 배치할 수 있다. 예를 들어, 도 8b를 참조하면, 전자 장치(100)는, 이미지(830)에 기초하여, 캘린더 어플리케이션을 나타내는 제1 오브젝트(831), 날씨 어플리케이션을 나타내는 제2 오브젝트(832), 및 메모 어플리케이션을 나타내는 제3 오브젝트(833)의 위치 및 크기 중 적어도 하나를 인식할 수 있다. 또한, 전자 장치(100)는, 제1 오브젝트(831)에 대응하는 B 캘린더 어플리케이션(802), 제2 오브젝트(832)에 대응하는 C 메모 어플리케이션(842), 및 제3 오브젝트(833)에 대응하는 F 날씨 어플리케이션(821)을 디스플레이(230)에 배치하기 위한 배치 기준을 설정할 수 있다. 예를 들어, 전자 장치(100)는, B 캘린더 어플리케이션(802)을 디스플레이(230) 크기의 2/3에 대응하는 크기로 상단에 배치하고, C 메모 어플리케이션(842)을 디스플레이(230) 크기의 1/3에 대응하는 크기로 좌측 하단에 배치하고, F 날씨 어플리케이션(821)을 디스플레이(230) 크기의 1/3에 대응하는 크기로 우측 하단에 배치하도록 설정할 수 있다. 또한, 전자 장치(100)는, 설정된 배치 기준에 따라, B 캘린더 어플리케이션(802), C 메모 어플리케이션(812), 및 F 날씨 어플리케이션(821)을 디스플레이(230)에 배치할 수 있다.
도 9는 일 실시예에 따른 전자 장치가 외부 서버로부터 추천 어플리케이션을 수신하여 설치하는 예시를 나타내는 도면이다.
일 실시예에 따른 전자 장치(100)는, 복수의 추천 어플리케이션 중에서 선택된 어플리케이션이 전자 장치(100)에 설치되지 않은 경우, 외부 서버로부터 선택된 어플리케이션을 수신하여 설치할 수 있다.
예를 들어, 도 9를 참조하면, 전자 장치(100)는, C 메모 어플리케이션(910) 및 D 메모 어플리케이션(902)을 추천 어플리케이션으로 결정할 수 있으며, 사용자로부터 C 메모 어플리케이션(910)을 선택하는 입력을 수신할 수 있다. C 메모 어플리케이션(910)이 전자 장치(100)에 설치되지 않은 어플리케이션일 때, 전자 장치(100)는, C 메모 어플리케이션(901)을 어플리케이션 스토어에서 다운받을 것인지 선택하도록 하는 메시지(910)를 표시할 수 있다. C 메모 어플리케이션(910)을 다운받을 것을 선택하는 사용자 입력이 수신됨에 따라, 전자 장치(100)는 어플리케이션 스토어에 액세스할 수 있으며, C 메모 어플리케이션(910)을 수신하여 설치할 수 있다. 또한, 전자 장치(100)는, 이미지에 기초하여 C 메모 어플리케이션(910)을 디스플레이(230)에 배치하기 위한 배치 기준을 설정하고, 설정된 배치 기준에 기초하여 C 메모 어플리케이션(910)을 디스플레이(230)에 배치할 수 있다. 이에 따라, 전자 장치(100)는, 추천 어플리케이션이 전자 장치(100)에 설치되지 않은 경우에도, 사용자가 원하는 조건을 만족하는 추천 어플리케이션을 보다 편리하게 제공할 수 있다.
도 10은 일 실시예에 따른 전자 장치가 이미지로부터 인식된 텍스트 정보를 추천 어플리케이션에 업데이트하는 예시를 나타내는 도면이다.
일 실시예에 따른 전자 장치(100)는, 오브젝트로부터 텍스트 정보를 인식하고, 오브젝트에 대응하는 추천 어플리케이션에 텍스트 정보를 업데이트할 수 있다.
예를 들어, 도 10을 참조하면, 오브젝트(1001)는, 2017년 11월 달력이 그려진 그림일 수 있으며, 달력에 소정의 이벤트(예를 들어, 생일, 회식)를 나타내는 텍스트 정보가 기입되어 있을 수 있다. 전자 장치(100)는, 오브젝트(1001)로부터 텍스트 정보를 인식할 수 있으며, 오브젝트(1001)에 대응하는 추천 어플리케이션에 인식된 텍스트 정보를 업데이트할 수 있다. 실시예에 따라, 오브젝트(1001)에 대응하는 복수의 추천 어플리케이션이 결정된 경우, 전자 장치(100)는, 복수의 추천 어플리케이션 중에서 디스플레이(230)에 표시할 추천 어플리케이션을 선택하는 외부 입력을 수신할 수 있으며, 선택된 추천 어플리케이션에 인식된 텍스트 정보를 업데이트할 수 있다. 예를 들어, 도 10에 도시된 바와 같이, 전자 장치(100)는, 오브젝트(1001)로부터 11월 16일에 기입된 “생일”과 11월 29일에 기입된 “회식”을 텍스트 정보로 인식할 수 있다. 또한, 전자 장치(100)는, 오브젝트(1001)에 대응하는 추천 어플리케이션으로서 K 캘린더 어플리케이션(1010)을 결정하고, 인식된 텍스트 정보(“생일”, 및 “회식”)을 K 캘린더 어플리케이션(1010)의 2017년 11월 달력에 업데이트할 수 있다. 이에 따라, 전자 장치(100)는, 2017년 11월의 달력을 나타내는 K 캘린더 어플리케이션(1010)을 디스플레이(230)에 표시할 수 있으며, 표시된 K 캘린더 어플리케이션(1010)에서, 11월 16일에 대응하는 영역에 “생일”을 표시하고, 11월 29일에 대응하는 영역에 “회식”을 표시할 수 있다.
실시예에 따라, 오브젝트(1001)에서 11월 16일에 대응하는 영역에 녹색 하이라이트, 11월 29일에 대응하는 영역에 빨간색 하이라이트가 표시되어 있을 수 있다. 이때, 전자 장치(100)는 디스플레이(230)에 표시된 K 캘린더 어플리케이션(1010)에서, 11월 16일 및 11월 29일에 대응하는 영역에 각각 녹색 하이라이트 및 빨간색 하이라이트를 표시할 수 있다. K 캘린더 어플리케이션(1010)에서 녹색 하이라이트 및 빨간색 하이라이트를 제공하지 않을 때, 전자 장치(100)는 하이라이트를 다른 색으로 표시하거나, 하이라이트를 다른 형태로 표시할 수 있으나, 이에 한정되지 않는다.
도 11은 일 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
S1100 단계에서, 전자 장치(100)는, 이미지로부터 하나 이상의 오브젝트를 인식한다.
이미지로부터 인식되는 하나 이상의 오브젝트는, 각 어플리케이션에 대응될 수 있으며, 사용자가 원하는 어플리케이션의 속성을 나타낼 수 있다. 일 실시예에 따른 전자 장치(100)는, 이미지를 분석하여, 이미지에 포함된 소정의 영역을 구분하는 경계선, 이미지 내에서 색이 변화하는 정도, 이미지에 포함된 소정의 영역을 나타내는 형태 등에 기초하여, 하나 이상의 오브젝트를 인식할 수 있으나, 이에 한정되지 않는다.
S1110 단계에서, 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정한다.
예를 들어, 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트와의 유사도에 따라, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 또한, 전자 장치(100)는, 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성(attribute)을 추출하고, 추출된 추천 어플리케이션의 속성에 기초하여, 하나 이상의 추천 어플리케이션을 결정할 수 있다. 추천 어플리케이션의 속성은, 어플리케이션의 종류, 크기, 색상, 및 형태 중 적어도 하나를 포함할 수 있다.
또한, 일 실시예에 따른 전자 장치(100)는, 어플리케이션 DB로부터 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 선택할 수 있다. 어플리케이션 DB는, 전자 장치(100)에 설치된 어플리케이션들 및 외부 서버에 저장된 어플리케이션들의 리스트를 포함할 수 있다. 외부 서버에 저장된 어플리케이션들은, 전자 장치(100a)에 설치되지 않은 어플리케이션들을 의미할 수 있으며, 전자 장치(100a)는 외부 서버로부터 해당 어플리케이션들을 수신하여 설치할 수 있다. 예를 들어, 전자 장치(100a)는, 어플리케이션 스토어(application store)를 통하여, 전자 장치(100a)에 설치되지 않은 어플리케이션들을 외부 서버로부터 수신하여 설치할 수 있으나, 이에 한정되지 않는다.
S1120 단계에서, 전자 장치(100)는, 하나 이상의 추천 어플리케이션이 동작하도록 전자 장치(1000의 디스플레이(230)에 표시한다.
일 실시예에 따른 전자 장치(100)는, 이미지에 기초하여 하나 이상의 추천 어플리케이션을 디스플레이(230)에 배치하기 위한 배치 기준을 설정할 수 있다. 예를 들어, 전자 장치(100)는 이미지로부터 인식된 하나 이상의 오브젝트로부터, 각 오브젝트의 크기, 위치, 및 투명도 중 적어도 하나를 판단할 수 있다. 또한, 전자 장치(100)는, 각 오브젝트의 크기, 위치, 및 투명도 중 적어도 하나에 기초하여 각 오브젝트에 대응하는 추천 어플리케이션을 디스플레이(230)에 배치할 수 있다.
도 12는 일 실시예에 따른 프로세서의 구성을 나타내는 블록도이다.
도 12를 참조하면, 일 실시예에 따른 프로세서(220)는 데이터 학습부(1210) 및 데이터 인식부(1220)를 포함할 수 있다.
데이터 학습부(1210)는 이미지로부터 인식된 오브젝트에 대응하는 추천 어플리케이션을 결정하기 위한 기준을 학습할 수 있다. 데이터 학습부(1210)는 오브젝트에 대응하는 추천 어플리케이션을 결정하기 위해 오브젝트의 어떤 정보를 이용하는지에 관한 기준을 학습할 수 있다. 또한, 데이터 학습부(1210)는 오브젝트의 정보를 이용하여 추천 어플리케이션을 어떻게 결정하는지에 관한 기준을 학습할 수 있다. 또한, 데이터 학습부(1210)는, 이미지로부터 인식된 오브젝트로부터 추천 어플리케이션의 속성을 추출하기 위한 기준을 학습할 수 있으며, 추출된 추천 어플리케이션의 속성에 기초하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 기준을 학습할 수 있다.
데이터 학습부(1210)는 학습에 이용될 오브젝트를 획득하고, 획득된 오브젝트를 후술할 데이터 인식 모델에 적용함으로써, 오브젝트에 대응하는 추천 어플리케이션을 결정하기 위한 기준을 학습할 수 있다.
데이터 인식부(1220)는 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하고, 결정된 결과를 출력할 수 있다. 데이터 인식부(1220)는 학습된 데이터 인식 모델을 이용하여, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 데이터 인식부(1220)는 학습에 의한 기 설정된 기준에 따라 오브젝트를 획득하고, 획득된 오브젝트를 입력 값으로 하여 데이터 인식 모델을 이용할 수 있다. 또한, 데이터 인식부(1220)는 데이터 인식 모델을 이용함으로써, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 또한, 오브젝트를 입력 값으로 하여 데이터 인식 모델에 의해 출력된 결과 값은, 데이터 인식 모델을 업데이트하는데 이용될 수 있다.
데이터 학습부(1210) 및 데이터 인식부(1220) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1210) 및 데이터 인식부(1220) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1210) 및 데이터 인식부(1220)는 하나의 장치에 탑재될 수도 있으며, 또는 별개의 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1210) 및 데이터 인식부(1220) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1210) 및 데이터 인식부(1220)는 유선 또는 무선으로 통하여, 데이터 학습부(1210)가 구축한 모델 정보를 데이터 인식부(1220)로 제공할 수도 있고, 데이터 인식부(1220)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1210)로 제공될 수도 있다.
한편, 데이터 학습부(1210) 및 데이터 인식부(1220) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1210) 및 데이터 인식부(1220) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 13은 일 실시예에 따른 데이터 학습부의 구성을 나타내는 블록도이다.
도 13을 참조하면, 일 실시예에 따른 데이터 학습부(1210)는 데이터 획득부(1211), 전처리부(1212), 학습 데이터 선택부(1213), 모델 학습부(1214) 및 모델 평가부(1215)를 포함할 수 있다.
데이터 획득부(1211)는 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 학습을 위해 필요한 데이터를 획득할 수 있다. 데이터 획득부(1211)는 소셜 네트워크 서버(social network server), 클라우드 서버(cloud server) 또는 콘텐트 제공 서버 등의 외부 서버로부터 데이터를 획득할 수 있다.
데이터 획득부(1211)는, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 학습을 위해 필요한 오브젝트를 획득할 수 있다. 예를 들어, 데이터 획득부(1211)는, 네트워크를 통해 전자 장치(100)에 연결된 적어도 하나의 외부 장치로부터 오브젝트를 획득할 수 있으며, 사용자에 의해 그려진 그림 또는 촬영된 사진으로부터 하나 이상의 오브젝트를 추출하여 이미지를 획득할 있다.
전처리부(1212)는, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하는 학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1212)는 후술할 모델 학습부(1214)가 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하는 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다. 예를 들어, 전처리부(1212)는, 획득된 오브젝트에 대하여 크롭 동작 및 워핑 동작 중 적어도 하나를 포함하는 전처리 동작을 수행함으로써, 획득된 오브젝트를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1213)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1214)에 제공될 수 있다. 학습 데이터 선택부(1213)는 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1213)는 후술할 모델 학습부(1214)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(1214)는, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위하여, 어떤 학습 데이터를 이용해야 하는지에 대한 기준을 학습할 수 있다. 예를 들어, 모델 학습부(1214)는, 오브젝트로부터 추천 어플리케이션의 속성을 추출하기 위한 기준을 학습할 수 있으며, 추천 어플리케이션의 종류, 색상, 크기, 및 형태 중 적어도 하나를 학습할 수 있다.
또한, 모델 학습부(1214)는, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위해 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1214)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1214)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1214)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1214)는, 예를 들어, 별다른 지도 없이 사용자의 상태를 판단하기 위해 필요한 데이터의 종류를 스스로 학습함으로써, 사용자의 상태를 판단하기 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1214)는, 예를 들어, 학습에 따라 사용자의 상태를 판단한 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1214)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1214)는 학습된 데이터 인식 모델을 데이터 인식부(1220)를 포함하는 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1214)는 학습된 데이터 인식 모델을 후술할 데이터 인식부(1220)를 포함하는 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1214)는 학습된 데이터 인식 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리는, 예를 들면, 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1215)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1214)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1215)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1215)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1215)는 각각의 학습된 데이터 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1215)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
한편, 데이터 학습부(1210) 내의 데이터 획득부(1211), 전처리부(1212), 학습 데이터 선택부(1213), 모델 학습부(1214) 및 모델 평가부(1215) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1211), 전처리부(1212), 학습 데이터 선택부(1213), 모델 학습부(1214) 및 모델 평가부(1215) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1211), 전처리부(1212), 학습 데이터 선택부(1213), 모델 학습부(1214) 및 모델 평가부(1215)는 하나의 장치에 탑재될 수도 있으며, 또는 별개의 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1211), 전처리부(1212), 학습 데이터 선택부(1213), 모델 학습부(1214) 및 모델 평가부(1215) 중 일부는 전자 장치(100)에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1211), 전처리부(1212), 학습 데이터 선택부(1213), 모델 학습부(1214) 및 모델 평가부(1215) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1211), 전처리부(1212), 학습 데이터 선택부(1213), 모델 학습부(1214) 및 모델 평가부(1215) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 14는 일 실시예에 따른 데이터 인식부의 구성을 나타내는 블록도이다.
도 14를 참조하면, 일 실시예에 따른 데이터 인식부(1220)는 데이터 획득부(1221), 전처리부(1222), 인식 데이터 선택부(1223), 인식 결과 제공부(1224) 및 모델 갱신부(1225)를 포함할 수 있다.
데이터 획득부(1221)는 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위해 필요한 데이터를 획득할 수 있으며, 전처리부(1222)는 획득된 데이터가 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하는데 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1222)는, 후술할 인식 결과 제공부(1224)가 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1223)는 전처리된 데이터 중에서 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위해 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1224)에게 제공될 수 있다. 인식 데이터 선택부(1223)는 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다.
인식 결과 제공부(1224)는, 선택된 데이터를 데이터 인식 모델에 적용하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 인식 결과 제공부(1224)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(1224)는 인식 데이터 선택부(1223)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.
인식 결과 제공부(1224)는, 결정된 하나 이상의 추천 어플리케이션을 나타내는 식별 정보를 제공할 수 있다. 예를 들어, 인식 결과 제공부(1224)는, 결정된 하나 이상의 추천 어플리케이션의 종류, 크기, 및 위치 정보 등을 제공할 수 있다.
모델 갱신부(1225)는, 인식 결과 제공부(1224)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1225)는 인식 결과 제공부(1224)에 의해 제공되는 인식 결과를 모델 학습부(1014)에게 제공함으로써, 모델 학습부(1014)가 데이터 인식 모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(1220) 내의 데이터 획득부(1221), 전처리부(1222), 인식 데이터 선택부(1223), 인식 결과 제공부(1224) 및 모델 갱신부(1225) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치(100)에 탑재될 수 있다. 예를 들어, 데이터 획득부(1221), 전처리부(1222), 인식 데이터 선택부(1223), 인식 결과 제공부(1224) 및 모델 갱신부(1225) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1221), 전처리부(1222), 인식 데이터 선택부(1223), 인식 결과 제공부(1224) 및 모델 갱신부(1225)는 하나의 장치에 탑재될 수도 있으며, 또는 별개의 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1221), 전처리부(1222), 인식 데이터 선택부(1223), 인식 결과 제공부(1224) 및 모델 갱신부(1225) 중 일부는 전자 장치(100)에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1221), 전처리부(1222), 인식 데이터 선택부(1223), 인식 결과 제공부(1224) 및 모델 갱신부(1225) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1221), 전처리부(1222), 인식 데이터 선택부(1223), 인식 결과 제공부(1224) 및 모델 갱신부(1225) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 15는 일 실시예에 따른 서버의 구성을 나타내는 블록도이다.
도 15를 참조하면, 일 실시예에 따른 서버(2000)는, DB(2100), 통신부(2200), 및 프로세서(2300)를 포함할 수 있다.
DB(2100)는 사용자가 원하는 어플리케이션들의 구성을 나타내는 이미지로부터 인식된 하나 이상의 오브젝트를 저장할 수 있다.
통신부(2200)는 전자 장치(100)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다.
프로세서(2300)는 통상적으로 서버(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(2300)는, 서버(2000)의 DB(2100)에 저장된 프로그램들을 실행함으로써, DB(2100) 및 통신부(2200) 등을 전반적으로 제어할 수 있다. 프로세서(2300)는 DB(2100)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 13에서의 전자 장치(100)의 동작의 일부를 수행할 수 있다.
프로세서(2300)는, 도 1 내지 도 14에서 전자 장치(100)가 수행하는 기능인, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하는 기능을 수행할 수 있다.
도 16은 일 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 16을 참조하면, 서버(2000)는, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 기준을 학습할 수 있다. 서버(2000)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 데이터 인식 모델에 적용함으로써, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 기준을 학습할 수 있다.
이 경우, 서버(2000)의 모델 학습부(2104)는 도 14에 도시된 데이터 학습부(1210)의 기능을 수행할 수 있다. 서버(2000)의 모델 학습부(2104)는 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위하여 어떤 데이터를 이용할 것인지에 관한 기준을 학습할 수 있다. 또한, 서버(2000)의 모델 학습부(2104)는 데이터를 이용하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 어떻게 결정할 것인지에 관한 기준을 학습할 수 있다. 모델 학습부(2104)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 데이터 인식 모델에 적용함으로써, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 기준을 학습할 수 있다.
또한, 전자 장치(100)의 인식 결과 제공부(1224)는, 인식 데이터 선택부(1023)에 의해 선택된 데이터를 서버(2000)에 의해 생성된 데이터 인식 모델에 적용하여, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 예를 들어, 인식 결과 제공부(1024)는, 인식 데이터 선택부(1023)에 의해 선택된 데이터를 서버(2000)에게 전송하고, 서버(2000)가 인식 데이터 선택부(1023)에 의해 선택된 데이터를 인식 모델에 적용하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 것을 요청할 수 있다.
또는, 전자 장치(100)의 인식 결과 제공부(1224)는 서버(2000)에 의해 생성된 인식 모델을 서버(2000)로부터 수신하고, 수신된 인식 모델을 이용하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 이 경우, 전자 장치(100)의 인식 결과 제공부(1224)는, 인식 데이터 선택부(1223)에 의해 선택된 데이터를 서버(2000)로부터 수신된 데이터 인식 모델에 적용하여, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다.
또한, 전자 장치(100) 및 서버(2000)는 데이터 인식 모델의 학습 및 데이터 인식을 위한 작업을 효과적으로 분배하여 수행할 수 있으며, 이를 통하여, 사용자의 의도에 부합하는 서비스를 제공하기 위하여 데이터 처리를 효율적으로 수행하고, 사용자의 프라이버시를 효과적으로 보호할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 디스플레이;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서;를 포함하고,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    이미지로부터 하나 이상의 오브젝트를 인식하고,
    하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 상기 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고,
    상기 결정된 하나 이상의 추천 어플리케이션이 동작하도록 상기 디스플레이에 표시하는, 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 상기 하나 이상의 오브젝트와의 유사도에 따라, 상기 하나 이상의 오브젝트에 각각 대응하는 복수의 추천 어플리케이션을 결정하고,
    상기 복수의 추천 어플리케이션으로부터 하나 이상의 어플리케이션을 선택하는 외부 입력에 응답하여, 상기 선택된 하나 이상의 어플리케이션이 동작하도록 상기 디스플레이에 표시하는, 전자 장치.
  3. 제 1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 이미지에 기초하여 상기 하나 이상의 추천 어플리케이션을 상기 디스플레이에 배치하기 위한 배치 기준을 설정하고,
    상기 설정된 배치 기준에 기초하여, 상기 하나 이상의 추천 어플리케이션을 상기 디스플레이에 배치하는, 전자 장치.
  4. 제 1항에 있어서, 상기 학습 모델은,
    상기 하나 이상의 뉴럴 네트워크에 상기 하나 이상의 오브젝트가 입력된 것에 응답하여, 상기 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성 (attribute)을 추출하고, 상기 추출된 추천 어플리케이션의 속성에 기초하여 상기 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습함으로써 결정되는, 전자 장치.
  5. 제 4항에 있어서,
    상기 추천 어플리케이션의 속성은, 어플리케이션의 종류, 크기, 색상, 및 형태 중 적어도 하나를 포함하는, 전자 장치.
  6. 제 1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 인식된 하나 이상의 오브젝트를 상기 학습 모델에 입력하기 위한 전처리(pre-processing) 동작을 수행하고,
    상기 전처리 동작은, 크롭(crop) 동작 및 워핑(warping) 동작 중 적어도 하나를 포함하는, 전자 장치.
  7. 제 1항에 있어서,
    상기 이미지는, 사용자가 원하는 어플리케이션들의 구성을 그리는 외부 입력을 수신함으로써 생성된 이미지, 또는 상기 사용자가 원하는 어플리케이션들의 구성이 포함된 이미지를 촬영함으로써 획득된 사진을 포함하는, 전자 장치.
  8. 제 1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 인식된 하나 이상의 객체에 각각 대응하는 하나 이상의 추천 어플리케이션을 어플리케이션 DB(database)로부터 선택하고,
    상기 어플리케이션 DB는, 상기 전자 장치에 설치된 어플리케이션들 및 외부 서버에 저장된 어플리케이션들의 리스트를 포함하는, 전자 장치.
  9. 제 8항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 선택된 하나 이상의 추천 어플리케이션이 상기 전자 장치에 설치되지 않은 어플리케이션이라고 판단됨에 따라, 상기 외부 서버로부터 상기 선택된 하나 이상의 추천 어플리케이션을 수신하여 설치하고,
    상기 설치된 하나 이상의 추천 어플리케이션이 동작하도록 상기 디스플레이에 표시하는, 전자 장치.
  10. 제 1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 하나 이상의 오브젝트로부터 텍스트 정보를 인식하고,
    상기 하나 이상의 오브젝트에 각각 대응하는 상기 하나 이상의 추천 어플리케이션에 상기 텍스트 정보를 업데이트하고,
    상기 텍스트 정보가 업데이트된 상기 하나 이상의 추천 어플리케이션을 상기 디스플레이에 표시하는, 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    이미지로부터 하나 이상의 오브젝트를 인식하는 단계;
    하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 상기 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하는 단계; 및
    상기 결정된 하나 이상의 추천 어플리케이션이 동작하도록 상기 전자 장치의 디스플레이에 표시하는 단계;
    를 포함하는, 전자 장치의 동작 방법.
  12. 제 11항에 있어서,
    상기 추천 어플리케이션을 결정하는 단계는, 상기 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 상기 하나 이상의 오브젝트와의 유사도에 따라, 상기 하나 이상의 오브젝트에 각각 대응하는 복수의 추천 어플리케이션을 결정하는 단계를 포함하고,
    상기 표시하는 단계는, 상기 복수의 추천 어플리케이션으로부터 하나 이상의 어플리케이션을 선택하는 외부 입력에 응답하여, 상기 선택된 하나 이상의 어플리케이션이 동작하도록 상기 전자 장치의 디스플레이에 표시하는 단계를 포함하는, 전자 장치의 동작 방법.
  13. 제 11항에 있어서, 상기 표시하는 단계는,
    상기 이미지에 기초하여 상기 하나 이상의 추천 어플리케이션을 상기 전자 장치의 디스플레이에 배치하기 위한 배치 기준을 설정하는 단계; 및
    상기 설정된 배치 기준에 기초하여, 상기 하나 이상의 추천 어플리케이션을 상기 전자 장치의 디스플레이에 배치하는 단계;
    를 포함하는, 전자 장치의 동작 방법.
  14. 제 11항에 있어서, 상기 학습 모델은,
    상기 하나 이상의 뉴럴 네트워크에 상기 하나 이상의 오브젝트가 입력된 것에 응답하여, 상기 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성 (attribute)을 추출하고,
    상기 추출된 추천 어플리케이션의 속성에 기초하여 상기 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습함으로써 결정되는, 전자 장치의 동작 방법.
  15. 제 14항에 있어서,
    상기 추천 어플리케이션의 속성은, 어플리케이션의 종류, 크기, 색상, 및 형태 중 적어도 하나를 포함하는, 전자 장치.
  16. 제 11항에 있어서,
    상기 인식된 하나 이상의 오브젝트를 상기 학습 모델에 입력하기 위한 전처리(pre-processing) 동작을 수행하고,
    상기 전처리 동작은, 크롭(crop) 동작 및 워핑(warping) 동작 중 적어도 하나를 포함하는, 전자 장치의 동작 방법.
  17. 제 11항에 있어서,
    상기 하나 이상의 추천 어플리케이션을 선택하는 단계는, 상기 인식된 하나 이상의 객체에 각각 대응하는 하나 이상의 추천 어플리케이션을 어플리케이션 DB로부터 선택하는 단계를 포함하고,
    상기 어플리케이션 DB는, 상기 전자 장치에 설치된 어플리케이션들 및 외부 서버에 저장된 어플리케이션들의 리스트를 포함하는, 전자 장치의 동작 방법.
  18. 제 17항에 있어서, 상기 동작 방법은,
    상기 선택된 하나 이상의 추천 어플리케이션이 상기 전자 장치에 설치되지 않은 어플리케이션이라고 판단됨에 따라, 상기 외부 서버로부터 상기 선택된 하나 이상의 추천 어플리케이션을 수신하여 설치하는 단계를 더 포함하고,
    상기 표시하는 단계는, 상기 설치된 하나 이상의 추천 어플리케이션이 동작하도록 상기 전자 장치의 디스플레이에 표시하는 단계를 포함하는, 전자 장치의 동작 방법.
  19. 제 11항에 있어서, 상기 동작 방법은,
    상기 하나 이상의 오브젝트로부터 텍스트 정보를 인식하는 단계; 및
    상기 하나 이상의 오브젝트에 각각 대응하는 상기 하나 이상의 추천 어플리케이션에 상기 텍스트 정보를 업데이트하는 단계;를 더 포함하고,
    상기 배치하는 단계는, 상기 텍스트 정보가 업데이트된 상기 하나 이상의 추천 어플리케이션을 상기 전자 장치의 디스플레이에 표시하는 단계를 포함하는, 전자 장치의 동작 방법.
  20. 제 11항에 기재된 전자 장치의 동작 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020170149793A 2017-11-10 2017-11-10 전자 장치 및 그 동작 방법 KR20190053675A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170149793A KR20190053675A (ko) 2017-11-10 2017-11-10 전자 장치 및 그 동작 방법
PCT/KR2018/013633 WO2019093819A1 (ko) 2017-11-10 2018-11-09 전자 장치 및 그 동작 방법
CN201880072830.1A CN111344671A (zh) 2017-11-10 2018-11-09 电子设备及其操作方法
EP18877107.5A EP3690644B1 (en) 2017-11-10 2018-11-09 Electronic device and operation method therefor
US16/762,741 US20200334055A1 (en) 2017-11-10 2018-11-09 Electronic device and operation method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170149793A KR20190053675A (ko) 2017-11-10 2017-11-10 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20190053675A true KR20190053675A (ko) 2019-05-20

Family

ID=66439024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170149793A KR20190053675A (ko) 2017-11-10 2017-11-10 전자 장치 및 그 동작 방법

Country Status (5)

Country Link
US (1) US20200334055A1 (ko)
EP (1) EP3690644B1 (ko)
KR (1) KR20190053675A (ko)
CN (1) CN111344671A (ko)
WO (1) WO2019093819A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213673B1 (ko) * 2020-09-28 2021-02-08 (주)대우루컴즈 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터
WO2022163948A1 (ko) * 2021-01-28 2022-08-04 삼성전자 주식회사 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치
KR102446649B1 (ko) * 2022-07-12 2022-09-22 신은철 인공지능 모델 기반 추천 템플릿을 이용한 어플리케이션 제작 방법 및 장치
WO2023022344A1 (ko) * 2021-08-20 2023-02-23 삼성전자주식회사 전자 장치 및 그 제어 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7391504B2 (ja) * 2018-11-30 2023-12-05 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US11068129B2 (en) * 2019-08-20 2021-07-20 Lenovo (Singapore) Pte. Ltd. Method and device for augmenting a communal display device
KR20210082977A (ko) * 2019-12-26 2021-07-06 삼성전자주식회사 컴퓨팅 장치 및 그 동작 방법
CN115857737A (zh) * 2021-09-24 2023-03-28 荣耀终端有限公司 信息推荐方法及电子设备
CN116055074A (zh) * 2021-10-27 2023-05-02 北京字节跳动网络技术有限公司 管理推荐策略的方法和装置
CN116126197A (zh) * 2021-11-12 2023-05-16 荣耀终端有限公司 应用程序推荐方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6650761B1 (en) * 1999-05-19 2003-11-18 Digimarc Corporation Watermarked business cards and methods
US6922680B2 (en) * 2002-03-19 2005-07-26 Koninklijke Philips Electronics N.V. Method and apparatus for recommending an item of interest using a radial basis function to fuse a plurality of recommendation scores
US7496548B1 (en) * 2005-09-26 2009-02-24 Quintura, Inc. Neural network for electronic search applications
US8196055B2 (en) * 2006-01-30 2012-06-05 Microsoft Corporation Controlling application windows in an operating system
JP2011107808A (ja) * 2009-11-13 2011-06-02 Victor Co Of Japan Ltd コンテンツ推薦装置、コンテンツ推薦方法、及びコンテンツ推薦プログラム
US9081412B2 (en) * 2010-07-31 2015-07-14 Hewlett-Packard Development Company, L.P. System and method for using paper as an interface to computer applications
CN102567661B (zh) * 2010-12-31 2014-03-26 北京奇虎科技有限公司 基于机器学习的程序识别方法及装置
CN102298533B (zh) * 2011-09-20 2015-05-13 宇龙计算机通信科技(深圳)有限公司 激活应用程序的方法及终端设备
US20130159234A1 (en) * 2011-12-19 2013-06-20 Bo Xing Context activity tracking for recommending activities through mobile electronic terminals
US8345017B1 (en) * 2012-03-04 2013-01-01 Lg Electronics Inc. Touch input gesture based command
TWI470549B (zh) * 2012-04-20 2015-01-21 Insyde Software Corp A method of using an image recognition guide to install an application, and an electronic device
US9021020B1 (en) * 2012-12-06 2015-04-28 Amazon Technologies, Inc. Application recognition based on media analysis
JP6346727B2 (ja) * 2013-02-21 2018-06-20 富士通株式会社 情報処理装置、アプリ配列変更方法及びアプリ配列変更プログラム
US9924102B2 (en) * 2013-03-14 2018-03-20 Qualcomm Incorporated Image-based application launcher
US9501762B2 (en) * 2013-04-23 2016-11-22 Dropbox, Inc. Application recommendation using automatically synchronized shared folders
KR20140127527A (ko) * 2013-04-25 2014-11-04 삼성전자주식회사 디스플레이장치 및 디스플레이장치를 이용한 추천정보 제공 방법
KR102049789B1 (ko) * 2013-04-25 2019-11-28 삼성전자 주식회사 휴대단말기의 정보 전송장치 및 방법
KR102203885B1 (ko) * 2013-04-26 2021-01-15 삼성전자주식회사 사용자 단말 장치 및 그 제어 방법
CN103324728B (zh) * 2013-06-26 2017-08-18 百度在线网络技术(北京)有限公司 移动终端的应用程序查找方法和装置
US9021429B1 (en) * 2013-10-16 2015-04-28 Sybase Inc. Recommending applications to portable electronic devices
US9569536B2 (en) * 2013-12-17 2017-02-14 Microsoft Technology Licensing, Llc Identifying similar applications
US9547683B2 (en) * 2014-05-30 2017-01-17 Apple Inc. Application suggestion features
WO2015190289A1 (ja) * 2014-06-09 2015-12-17 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
KR20160009900A (ko) * 2014-07-17 2016-01-27 주식회사 인프라웨어 단말의 영상인식장치를 통한 어플리케이션 추천 방법 및 장치
CN105989510A (zh) * 2015-02-06 2016-10-05 展讯通信(上海)有限公司 一种基于神经网络的在线商品推荐系统、装置及移动终端
US20170061482A1 (en) * 2015-08-24 2017-03-02 TCL Research America Inc. Focal-point based recommendation method and system
CN106844019A (zh) * 2015-12-04 2017-06-13 阿里巴巴集团控股有限公司 应用程序控制方法、应用程序跳转关联配置方法及装置
CN105677392A (zh) * 2015-12-29 2016-06-15 小米科技有限责任公司 应用程序的推荐方法和装置
CN105760736B (zh) * 2016-02-19 2018-09-07 北京奇虎科技有限公司 应用程序解锁的方法及解锁装置
WO2017168125A1 (en) * 2016-03-31 2017-10-05 Queen Mary University Of London Sketch based search methods
US10733754B2 (en) * 2017-01-18 2020-08-04 Oracle International Corporation Generating a graphical user interface model from an image
CN107045444A (zh) * 2017-04-18 2017-08-15 广东小天才科技有限公司 一种应用程序推荐方法及装置
US10891485B2 (en) * 2017-05-16 2021-01-12 Google Llc Image archival based on image categories
US10536580B2 (en) * 2017-06-01 2020-01-14 Adobe Inc. Recommendations based on feature usage in applications
CN107179831B (zh) * 2017-06-30 2019-05-03 Oppo广东移动通信有限公司 启动应用的方法、装置、存储介质及终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213673B1 (ko) * 2020-09-28 2021-02-08 (주)대우루컴즈 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터
WO2022163948A1 (ko) * 2021-01-28 2022-08-04 삼성전자 주식회사 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치
US11792269B2 (en) 2021-01-28 2023-10-17 Samsung Electronics Co., Ltd. Method for generating application for controlling external electronic device and electronic apparatus for supporting the same
WO2023022344A1 (ko) * 2021-08-20 2023-02-23 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102446649B1 (ko) * 2022-07-12 2022-09-22 신은철 인공지능 모델 기반 추천 템플릿을 이용한 어플리케이션 제작 방법 및 장치

Also Published As

Publication number Publication date
EP3690644B1 (en) 2023-08-02
EP3690644A1 (en) 2020-08-05
EP3690644A4 (en) 2020-12-16
CN111344671A (zh) 2020-06-26
WO2019093819A1 (ko) 2019-05-16
US20200334055A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
KR20190053675A (ko) 전자 장치 및 그 동작 방법
US11042728B2 (en) Electronic apparatus for recognition of a user and operation method thereof
US11470385B2 (en) Method and apparatus for filtering video
KR102428920B1 (ko) 전자 장치 및 그 동작 방법
US10970605B2 (en) Electronic apparatus and method of operating the same
US9721156B2 (en) Gift card recognition using a camera
KR102606287B1 (ko) 애플리케이션의 번역 정보를 제공하는 디바이스 및 방법
KR20180055708A (ko) 이미지를 처리하는 전자 장치 및 방법
KR102420567B1 (ko) 음성 인식 장치 및 방법
US20160224591A1 (en) Method and Device for Searching for Image
KR102037419B1 (ko) 영상 표시 장치 및 그 동작 방법
US11934953B2 (en) Image detection apparatus and operation method thereof
US11895375B2 (en) Display device and operation method thereof
KR20180132493A (ko) 스와이프 입력에 기초하여 입력 문자를 판단하는 시스템 및 방법
KR20180109499A (ko) 사용자의 음성 입력에 대한 답변을 제공하는 방법 및 장치
US20200202068A1 (en) Computing apparatus and information input method of the computing apparatus
KR20200084413A (ko) 컴퓨팅 장치 및 그 동작 방법
KR20190062030A (ko) 영상 표시 장치 및 그 동작 방법
KR20190032051A (ko) 디바이스 사용 문의에 대한 응답을 제공하는 디바이스 및 방법
KR102567003B1 (ko) 전자 장치 및 그 동작방법
KR102464907B1 (ko) 전자 장치 및 그 동작 방법
US20210004702A1 (en) System and method for generating information for interaction with a user
US20190251355A1 (en) Method and electronic device for generating text comment about content
KR20190031829A (ko) 전자 장치 및 그 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right