KR20190140519A - 전자 장치 및 그의 제어방법 - Google Patents
전자 장치 및 그의 제어방법 Download PDFInfo
- Publication number
- KR20190140519A KR20190140519A KR1020180061217A KR20180061217A KR20190140519A KR 20190140519 A KR20190140519 A KR 20190140519A KR 1020180061217 A KR1020180061217 A KR 1020180061217A KR 20180061217 A KR20180061217 A KR 20180061217A KR 20190140519 A KR20190140519 A KR 20190140519A
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- content
- sketch
- image
- artificial intelligence
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 161
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 25
- 238000004891 communication Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 description 38
- 239000003795 chemical substances by application Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000004040 coloring Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- -1 electricity Substances 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000012736 patent blue V Nutrition 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5854—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
전자 장치의 제어방법이 개시된다. 본 전자 장치의 제어방법은, 사용자가 그린 스케치를 입력받는 단계, 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하는 단계, 획득된 적어도 하나의 기계가 생성한 이미지를 표시하는 단계, 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 단계 및 검색된 적어도 하나의 컨텐츠를 제공하는 단계를 포함한다.
Description
본 개시는 전자 장치 및 그의 제어방법에 관한 것으로, 더욱 상세하게는 사용자가 그린 스케치를 이용하여 좀 더 효율적이고 편리하게 컨텐츠 검색을 할 수 있는 전자 장치 및 그의 제어방법에 관한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 오브젝트 인식, 오브젝트 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
한편, 종래에는 디바이스 상에서 컨텐츠를 검색하기 위해서는 파일명 등의 키워드 검색을 통해 검색하거나, 미리보기를 활용하여 직접 눈으로 보고 검색을 해야했다. 혹은 사람이 일일이 태깅을 한 정보로 메타데이터를 만들어 검색을 해야 했다.
그러나 키워드 검색 방식은, 파일의 날짜 혹은 사용자가 지정한 이름으로만 표현이 되어 있어 이미지/사진의 분위기나 색감을 찾기에는 어려움이 있고, 사람이 일일이 정보를 태깅하는 방식은 번거로움이 있었다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 사용자가 그린 스케치를 이용하여 좀 더 효율적이고 편리하게 컨텐츠 검색을 할 수 있는 전자 장치 및 그의 제어방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어방법은, 사용자가 그린 스케치를 입력받는 단계, 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 상기 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하는 단계, 상기 획득한 적어도 하나의 기계가 생성한 이미지를 표시하는 단계, 상기 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 단계 및 상기 검색된 적어도 하나의 컨텐츠를 제공하는 단계를 포함한다.
이 경우, 상기 검색하는 단계는, 상기 전자 장치에 저장된 복수의 컨텐츠 중 상기 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
이 경우, 본 실시 예에 따른 전자 장치의 제어방법은, 상기 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택받기 위한 적어도 하나의 UI 요소를 표시하는 단계를 더 포함하고 상기 획득하는 단계는, 상기 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 스케치를 상기 인공지능 모델에 입력하여 상기 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득할 수 있다.
이 경우, 상기 검색하는 단계는, 상기 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 선택된 이미지에 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
한편, 상기 획득하는 단계는, 상기 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 상기 스케치를 상기 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득할 수 있다.
이 경우, 상기 표시하는 단계는, 상기 획득한 복수의 이미지를 카테고리 별로 표시할 수 있다.
한편, 상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것일 수 있다.
한편, 상기 검색하는 단계는, 인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
이 경우, 본 실시 예에 따른 전자 장치의 제어방법은, 상기 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 상기 컨텐츠 검색을 위한 인공지능 모델을 재 학습시키는 단계를 더 포함할 수 있다.
한편, 상기 사용자가 그린 스케치를 입력받는 단계는, 원격제어장치의 움직임에 대응하는 신호를 수신하고 상기 수신한 신호를 기초로 스케치에 대한 정보를 획득할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치는, 컴퓨터 실행가능 명령어(computer executable instructions)를 저장하는 메모리, 디스플레이 및 상기 컴퓨터 실행가능 명령어를 실행함으로써, 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 사용자가 그린 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하고, 상기 획득한 적어도 하나의 기계가 생성한 이미지를 표시하도록 상기 디스플레이를 제어하고, 상기 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하고, 상기 검색된 적어도 하나의 컨텐츠를 제공하는 프로세서를 포함한다.
이 경우, 상기 프로세서는, 상기 전자 장치에 저장된 복수의 컨텐츠 중 상기 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
이 경우, 상기 프로세서는, 상기 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택받기 위한 적어도 하나의 UI 요소를 표시하도록 상기 디스플레이를 제어하고, 상기 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 스케치를 상기 인공지능 모델에 입력하여 상기 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득할 수 있다.
이 경우, 상기 프로세서는, 상기 선택된 UI 요소에 대응하는 카테고리에 대한 정보 및 상기 선택된 이미지에 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
한편, 상기 프로세서는, 상기 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 상기 스케치를 상기 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득할 수 있다.
이 경우, 상기 프로세서는, 상기 획득한 복수의 이미지를 카테고리 별로 표시하도록 상기 디스플레이를 제어할 수 있다.
한편, 상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것일 수 있다.
한편, 상기 프로세서는, 인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
이 경우, 상기 프로세서는, 상기 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 상기 컨텐츠 검색을 위한 인공지능 모델을 재 학습시킬 수 있다.
한편, 본 개시의 실시 예에 따른 전자 장치는 통신부를 더 포함하며, 상기 프로세서는, 원격제어장치의 움직임에 대응하는 신호를 상기 통신부를 통해 수신하고 상기 수신한 신호를 기초로 스케치에 대한 정보를 획득할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 컨텐츠 제공 방법을 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하기 위한 흐름도,
도 3 내지 도 4는 전자 장치가 스케치를 입력받는 본 개시의 다양한 실시 예를 설명하기 위한 도면,
도 5 내지 도 8은 본 개시의 다양한 실시 예에 따른 전자 장치가 제공하는 UI(User Interface)를 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 10은 본 개시의 일 실시 예에 따른, 인식 모델을 이용하는 네트워크 시스템의 흐름도,
도 11은 본 개시의 일 실시 예에 따른, 인식 모델을 학습하고 이용하기 위한 전자 장치를 설명하기 위한 블록도, 그리고,
도 12 내지 도 13은 본 개시의 다양한 실시 예에 따른 학습부 및 분석부를 설명하기 위한 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하기 위한 흐름도,
도 3 내지 도 4는 전자 장치가 스케치를 입력받는 본 개시의 다양한 실시 예를 설명하기 위한 도면,
도 5 내지 도 8은 본 개시의 다양한 실시 예에 따른 전자 장치가 제공하는 UI(User Interface)를 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 10은 본 개시의 일 실시 예에 따른, 인식 모델을 이용하는 네트워크 시스템의 흐름도,
도 11은 본 개시의 일 실시 예에 따른, 인식 모델을 학습하고 이용하기 위한 전자 장치를 설명하기 위한 블록도, 그리고,
도 12 내지 도 13은 본 개시의 다양한 실시 예에 따른 학습부 및 분석부를 설명하기 위한 블록도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
본 문서에서 사용된 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크톱 PC(desktop personal computer), 랩톱 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전제품(home appliance)일 수 있다. 가전제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 삼성 One Connect Box™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하에서는 본 개시의 다양한 실시 예에 따른, 사용자가 대략적으로 그린 스케치를 기초로 컨텐츠를 검색하는 방법에 대해 설명하도록 한다. 도 1은 본 개시에 따른 컨텐츠 검색 방법의 일 예를 설명하기 위한 도면이다.
도 1을 참고하면, 먼저, 사용자가 대략적으로 그린 스케치가 입력된다. 스케치는 윤곽선(점선) 및 색상(점선 위에 도시됨) 중 적어도 하나로 구성될 수 있다. 그림 파일이 입력되거나, 전자 장치에 사용자가 전자 펜을 이용해 직접 스케치를 그릴 수 있다.
그리고 인공지능 알고리즘을 이용해 학습된 인공지능 모델을 이용하여 사용자가 그린 스케치를 바탕으로 기계가 생성한 이미지(machine-generated image)를 획득한다. 인공지능 모델은 스케치를 구체화한 이미지를 생성하는 기준을 갖도록 학습된 것일 수 있다. 도 1에 도시한 기계가 생성한 이미지에서는, 위로 뾰족한 윤곽선과 그 위의 색(ex. 하늘색)을 지정한 사용자의 스케치를 바탕으로 산과 하늘이 표현되었다.
그리고 기계가 생성한 이미지와 대응되는 컨텐츠가 검색되어 제공된다. 예컨대 도 1에 도시된 바와 같이 기계가 생성한 이미지와 유사한, 하늘과 산이 촬영된 사진 컨텐츠가 검색될 수 있다.
컨텐츠 검색에는, 텍스트 기반 이미지 검색(Text-based Image Retrieval, TBIR) 및 내용기반 이미지 검색(Content-based Image Retrieval, CBIR) 중 적어도 하나가 사용될 수 있다. 텍스트 기반 이미지 검색 방식은 예컨대, 기계가 생성한 이미지로부터 특징을 추출하고 추출된 특징에 대응되는 키워드를 결정하고, 상기 결정된 키워드를 포함하는 파일명, 메타 데이터를 갖는 컨텐츠를 검색하는 방식을 포함할 수 있다. 내용기반 이미지 검색 방식은 예컨대, 이미지의 색상, 질감, 모양 등의 시각적 요소를 수치화하여 비교하는 방식을 포함할 수 있다. 내용기반 이미지 검색 방식은 동영상 컨텐츠 검색에도 적용될 수 있다. 예컨대, 동영상 컨텐츠의 어느 한 장면이 기계가 생성한 이미지와 비교될 수 있고, 또 다른 예로, 동영상 컨텐츠에 대한 대표 이미지(예컨대 동영상 컨텐츠가 영화인 경우 영화 포스터)가 기계가 생성한 이미지와 비교될 수 있다.
컨텐츠 검색에도 인공지능 모델에 의해 학습된 인공지능 모델이 이용될 수 있다. 인공지능 모델에 기계가 생성한 이미지를 입력하여 기계가 생성한 이미지와 대응되는 컨텐츠를 검색할 수 있다.
본 개시의 다양한 실시 예에 따른 컨텐츠 검색 방법은 전자 장치를 통해 구현될 수 있다. 이하, 도 2를 참고하여 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하기 위한 흐름도이다.
도 2를 참조하면 먼저, 전자 장치는 사용자가 그린 스케치를 입력 받는다(S210).
본 개시의 일 실시 예에 따른 전자 장치는 사용자가 외부 장치에서 그린 스케치를 외부 장치로부터 수신할 수 있다. 예컨대, 본 개시의 일 실시 예에 따른 전자 장치는 TV이고, TV는 스마트폰과 같은 외부 장치에서 사용자가 그린 스케치를 수신할 수 있다.
본 개시의 또 다른 실시 예에 따른 전자 장치는 사용자로부터 직접 스케치를 입력 받을 수 있다. 예컨대, 터치 입력 방식, 마우스, 키보드, 조이스틱, 리모컨 등의 장치를 통해 입력 받는 방식 등을 통해 스케치가 입력될 수 있다.
도 3 내지 도 4는 본 개시의 몇몇의 실시 예에 따른 스케치 입력 방식을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)에서 터치 입력 방식을 통해 스케치를 입력하는 예를 도시한 것이다.
도 3을 참고하면, 전자 장치(100)는 터치 스크린을 구비하며, 캔버스 UI(User Interface)를 제공할 수 있다. 캔버스 UI는 다양한 UI 요소를 포함할 수 있다. 예컨대, 캔버스 UI는, 윤곽선 그리기 UI 요소(31), 색 칠하기 UI 요소(33), 지우개 UI 요소(35), 이미지 파일 업로드를 위한 UI 요소(37), 검색 실행을 위한 UI 요소(39)를 포함할 수 있다.
사용자는 전자 장치(100)의 터치 스크린에 손가락 또는 펜(예를 들어, 스타일러스 펜))을 이용하여 스케치를 그릴 수 있다. 예컨대, 윤곽선 그리기 UI 요소(31)가 선택된 이후의 터치는 윤곽선(310)으로 그려질 수 있고, 색 칠하기 UI 요소(33)가 선택된 이후의 터치는 색(330)으로 칠해질 수 있다. 펜, 예컨대 스타일러스 펜으로 스케치를 그리는 경우, 펜에 마련된 버튼으로 윤곽선, 색 칠하기, 지우기 등을 선택할 수도 있다.
스케치를 완성한 후 검색 실행을 위한 UI 요소(39)를 선택하면, 스케치를 기초로 기계가 생성한 이미지가 획득되고, 컨텐츠 검색이 수행될 수 있다.
한편, 이미지 파일 업로드를 위한 UI 요소(37)를 선택하고 전자 장치(100)에 저장된 이미지 파일을 선택하면, 선택된 이미지 파일을 기초로 컨텐츠 검색이 수행될 수 있다. 즉, 사용자가 직접 그리지 않고도 컨텐츠 검색을 수행할 수 있다. 또는, 업로드된 이미지 파일이 컨버스 UI에 표시될 수 있고, 여기에 사용자가 스케치를 추가하거나 지우개 UI 요소(35)로 지우는 등의 추가 수정을 할 수 있고, 추가 수정이 이루어진 이미지를 기초로 컨텐츠 검색이 이루어질 수도 있다.
컨텐츠 검색은 전자 장치(100)에서 수행되거나, 또는 외부 장치(예컨대 서버)에서 수행될 수 있다. 후자의 경우, 전자 장치(100)는 입력된 스케치에 대한 정보 또는 업로드된 이미지 파일을 외부 장치로 전송하여, 외부 장치에서 컨텐츠 검색이 수행될 수 있다.
도 4는 본 개시의 또 다른 실시 예에 따른 전자 장치(100)에서 원격으로 스케치를 입력하는 예를 도시한 것이다.
도 4를 참고하면, 전자 장치(100)는 원격 제어 장치(200)와 통신이 가능하다. 원격 제어 장치(200)는 XYZ 공간 상에서 원격 제어 장치(200)의 움직임을 감지하고, 감지된 3차원 움직임에 관한 신호를 전자 장치(100)로 전송할 수 있다.
이 경우, 원격 제어 장치(200)는 원격 제어 장치(200)의 기 설정된 기준에 대해 절대적으로 이동된 위치를 산출하는 절대 좌표 방식 또는 원격 제어 장치(200)의 현재 위치를 기준으로 보고 상대적으로 이동된 위치를 산출하는 상대 좌표 방식에 기초하는 포인팅 모드를 제공할 수 있다.
원격 제어 장치(200)는 가속도 센서, 자이로 센서, 지자기 센서 중 적어도 하나를 포함할 수 있다. 원격 제어 장치(200)에 포함된 각종 센서는, 하나 또는 둘 이상의 조합을 통하여 원격 제어 장치(200)의 공간상 움직임을 감지할 수 있다.
예를 들어, 가속도 센서는 사용자가 원격 제어 장치(200)를 이동시킬 때 발생하는 가속도의 변화 및 각 가속도의 변화 중 적어도 하나를 감지하고, 자이로(gyro) 센서는 원격 제어 장치(200)의 회전 각속도를 감지할 수 있으며, 지자기 센서는 구의 남북 방향으로 형성되어 있는 자기장(magnetic field)을 감지하여 방위각을 측정할 수 있다.
원격 제어 장치(200)는 BT(Bluetooth), WI-FI(Wireless Fidelity), IR(Infrared), Serial Interface, USB(Universal Serial Bus) 등과 같은 다양한 통신 방식을 통해 전자 장치(100)로 원격 제어 장치(200)의 움직임에 대응하는 신호를 전송할 수 있다.
도 4에 도시한 것처럼 전자 장치(100)는 원격 제어 장치(200)로부터 수신한 신호에 기초하여 스케치를 입력 받을 수 있다.
도 3에서 설명한 것처럼 도 4의 전자 장치(100)도 윤곽선 그리기 UI 요소, 색 칠하기 UI 요소, 지우기 UI 요소, 검색 실행을 위한 UI 요소 등과 같은 UI 요소를 제공할 수 있고, 사용자는 원격 제어 장치(200)를 통해 전자 장치(100)에 제공된 UI 요소를 선택하여 스케치를 그릴 수 있다. 예컨대, 사용자는 원격 제어 장치(200)를 움직이거나 방향 키를 선택하여 전자 장치(100)에 표시된 윤곽선 그리기 UI 요소를 선택한 후, 원격 제어 장치(200)를 움직여서 전자 장치(100)에 윤곽선을 그릴 수 있다. 또는, 원격 제어 장치(200)에서 윤곽선 그리기, 색 칠하기 등을 위한 버튼(물리 버튼 또는 원격 제어 장치(200)에 마련된 터치 스크린을 통해 제공되는 소프트 버튼)이 마련될 수 있고, 사용자는 이러한 원격 제어 장치(200)에 마련된 버튼을 선택한 후 원격 제어 장치(200)를 움직여서 전자 장치(100)에 스케치를 그릴 수 있다.
사용자가 그린 스케치를 입력 받은 전자 장치는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득한다(S220).
상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것일 수 있다.
본 개시의 일 실시 예에 따르면 전자 장치는 전자 장치에 저장된 인공 지능 모델을 이용해서 기계가 생성한 이미지를 획득할 수 있다. 또 다른 실시 예에 따르면, 전자 장치는 외부 서버에 저장된 인공 지능 모델을 이용해서 기계가 생성한 이미지를 획득할 수 있다. 후자의 경우, 전자 장치는 사용자가 그린 스케치에 대한 정보를 외부 서버로 전송하고, 외부 서버로부터 기계가 생성한 이미지를 수신할 수 있다.
그리고 전자 장치는 적어도 하나의 기계가 생성한 이미지를 표시한다(S230). 본 개시의 일 실시 예에 따른 전자 장치는 기계가 생성한 적어도 하나의 이미지를 자체 디스플레이를 통해 표시하거나, 기계가 생성한 적어도 하나의 이미지가 외부 디스플레이 장치에서 표시되도록 기계가 생성한 적어도 하나의 이미지를 외부 디스플레이 장치로 전송할 수 있다.
그리고 전자 장치는 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색한다(S240). 그리고 전자 장치는 상기 검색된 적어도 하나의 컨텐츠를 제공한다(S250).
본 개시의 또 다른 실시 예에 따르면, 기계가 생성한 적어도 하나의 이미지를 표시하고 사용자로부터 이 중 어느 하나의 이미지를 선택 받는 과정은 생략될 수 있다. 즉, 사용자가 그린 스케치를 입력 받으면 이를 기초로 곧바로 기계가 생성한 이미지를 획득하고 기계가 생성한 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
검색 대상이 되는 컨텐츠에는 제한이 없다. 비 제한적인 예로서, 기계가 생성한 이미지와 유사한 사진, 기계가 생성한 이미지와 유사한 장면을 갖는 동영상, 기계가 생성한 이미지와 유사한 얼굴을 갖는 인물에 대한 정보, 기계가 생성한 이미지와 유사한 장소에 대한 정보, 기계가 생성한 이미지를 기초로 인터넷 검색한 결과, 기계가 생성한 이미지와 유사한 포스터를 갖는 드라마, 영화, 애니메이션 등이 검색되어 제공될 수 있다.
검색 대상이 되는 컨텐츠는 전자 장치에 저장된 컨텐츠들일 수 있다. 일 실시 예에 따르면, 사용자는 컨텐츠 검색을 수행할 폴더를 직접 지정할 수 있다. 또 다른 실시 예에 따르면, 검색 대상이 되는 컨텐츠는 전자 장치에 저장되지 않은 외부 소스의 컨텐츠가 될 수 있다. 예컨대 인터넷에서 제공되는 컨텐츠가 검색될 수 있다.
본 개시의 일 실시 예에 따른 전자 장치는 자체적으로 검색을 수행할 수 있다. 본 개시의 또 다른 실시 예에 따른 전자 장치는 기계가 생성한 이미지에 대한 정보를 외부 장치로 전송하여 외부 장치에서 검색이 수행되도록 할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치는 인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 기계가 생성한 이미지에 대응되는 컨텐츠를 검색할 수 있다.
컨텐츠 검색을 위한 인공지능 모델은, 검색되어 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 재 학습될 수 있다. 구체적으로, 사용자가 선택한 컨텐츠에는 가중치가 부여되고 이를 이용해 컨텐츠 검색을 위한 인공지능 모델이 재 학습될 수 있다. 사용자가 어떤 컨텐츠를 선택하였는지에 대한 히스토리 정보가 저장될 수 있다. 컨텐츠 검색을 위한 인공지능 모델은 이러한 히스토리 정보를 기초로 재 학습되므로 사용자에게 특화(또는 개인화)될 수 있으며, 사용하면 할수록 정확도가 높아질 수 있다.
도 5 내지 도 8은 스케치를 기반으로 컨텐츠를 검색하는 기능을 제공하는 본 개시의 다양한 실시 예에 따른 전자 장치(100)에서 제공되는 UI(User Interface)를 설명하기 위한 도면이다.
도 5를 참고하면, 전자 장치(100)가 제공하는 UI는 스케치를 그리는 영역과 기계가 생성한 적어도 하나의 이미지를 표시하는 영역을 포함할 수 있다. 전자 장치(100)는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여 사용자가 그린 스케치(510)를 기초로 기계가 생성한 적어도 하나의 이미지(520)를 표시할 수 있다.
스케치를 그리는 영역에서 그려지는 스케치에 따라 기계가 생성한 적어도 하나의 이미지가 실시간으로 표시될 수 있다. 따라서, 스케치가 수정되면 그 수정 사항이 실시간으로 인공지능 모델에 입력되어, 실시간으로 이미지가 수정되어 표시될 수 있다.
기계가 생성한 적어도 하나의 이미지(520)는 점수가 높은 순서대로(또는 유사도가 높은 순서대로) 나열되어 표시될 수 있다.
기계가 생성한 적어도 하나의 이미지(520) 중 하나를 선택하기 위한 사용자 명령을 수신하면 사용자에 의해 선택된 이미지(521)에는 다른 이미지들과 다른 그래픽 효과가 표시될 수 있다. 예컨대 도 5에 도시된 것처럼 선택된 이미지(521) 주변에 굵은 윤곽선이 표시될 수 있다.
그리고 사용자가 검색 실행을 위한 UI 요소(530)를 선택하면, 선택된 이미지(521)와 대응되는 적어도 하나의 컨텐츠(540)가 검색되어 제공될 수 있다. 검색된 컨텐츠들(540) 중 어느 하나를 사용자가 선택하면 예컨대, 해당 컨텐츠가 확대되어 표시될 수 있다. 사용자가 선택한 컨텐츠가 동영상 컨텐츠인 경우에는 동영상이 재생될 수 있다. 한편, 검색된 컨텐츠들(540) 중 사용자에 의해 선택된 컨텐츠에 대한 정보는 컨텐츠 검색을 위해 이용되는 인공지능 알고리즘을 재 학습시키는데 이용될 수 있다.
도 6은 본 개시의 또 다른 실시 예에 따른 전자 장치가 제공하는 UI를 설명하기 위한 도면이다.
도 6을 참고하면, 전자 장치(100)는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여 사용자가 그린 스케치(610)를 기초로 기계가 생성한 적어도 하나의 이미지(620)를 표시할 수 있다.
이 경우, 인공지능 모델은 카테고리에 따라 다른 기준으로 학습된 것일 수 있다. 따라서, 인공지능 모델은 동일한 스케치가 입력되더라도 카테고리에 따라 다른 이미지를 생성할 수 있다. 예컨대 도 6에 도시한 것처럼, 스케치(610)가 자연 카테고리에 속하는 대상으로 구체화된 이미지들과 스케치(610)가 건물 카테고리에 속하는 대상으로 구체화된 이미지들이 생성될 수 있다.
일 실시 예에 따르면, 어떤 카테고리의 이미지들을 생성할 것인지를 미리 지정할 수 있다. 즉, 전자 장치(100)는 복수의 카테고리에 대한 정보 및 사용자가 그린 스케치를 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득할 수 있다. 이 경우, 복수의 카테고리에 대한 정보는 검색하고자 하는 컨텐츠들을 분류하여 획득한 것일 수 있다. 예컨대, 검색하고자 하는 대상이 전자 장치(100)에 저장된 컨텐츠인 경우, 전자 장치(100)에 저장된 복수의 컨텐츠를 분류하여 획득한 정보를 기초로 복수의 카테고리에 대한 정보가 획득될 수 있다.
예컨대, 전자 장치(100)에 저장된 컨텐츠들의 메타 데이터를 기초로 컨텐츠들을 자연 카테고리, 건물 카테고리로 분류할 수 있고, 이와 같이 분류된 카테고리에 대한 정보와 스케치(610)를 인공지능 모델에 입력하여, 자연 카테고리에 속하는 대상으로 구체화된 이미지들과 건물 카테고리에 속하는 대상으로 구체화된 이미지들을 획득할 수 있다.
그리고 전자 장치(100)는 카테고리 별로 이미지들을 표시할 수 있다. 즉, 도 6에 도시한 예시처럼 자연 카테고리에 속하는 대상으로 형상화된 이미지들과 건물 카테고리에 대상으로 형상화된 이미지들을 구분해서 표시할 수 있다.
기계가 생성한 적어도 하나의 이미지(620) 중 사용자가 어느 하나의 이미지(621)를 선택하고 검색 실행을 위한 UI 요소(630)를 선택하면, 선택된 이미지(621)와 대응되는 적어도 하나의 컨텐츠(640)가 검색되어 제공될 수 있다.
도 7은 본 개시의 또 다른 실시 예에 따른 전자 장치가 제공하는 UI를 설명하기 위한 도면이다.
도 7을 참고하면, 전자 장치(100)는 카테고리를 선택 받기 위한 적어도 하나의 UI 요소(720)를 표시할 수 있다.
카테고리를 선택 받기 위한 적어도 하나의 UI 요소(720)는 검색하고자 하는 컨텐츠들을 분류한 결과를 기초로 표시된 것일 수 있다. 예컨대, 검색하고자 하는 대상이 전자 장치(100)에 저장된 컨텐츠인 경우, 전자 장치(100)에 저장된 복수의 컨텐츠를 분류하여 획득한 정보를 기초로 적어도 하나의 UI 요소(720)가 표시될 수 있다. 예컨대, 전자 장치(100)에 저장된 사진 컨텐츠들이 자연 카테고리, 건물 카테고리, 인물 카테고리로 분류된 경우, 도 7에 도시한 바와 같이 자연 카테고리에 대응하는 UI 요소, 건물 카테고리에 대응하는 UI 요소 및 인물 카테고리에 대응하는 UI 요소가 표시될 수 있다.
전자 장치(100)는 적어도 하나의 UI 요소(720) 중 사용자에 의해 선택된 UI 요소(721)에 대응하는 카테고리에 대한 정보와 스케치(710)를 인공지능 모델에 입력하여 스케치(710)를 상기 선택된 UI 요소(721)에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지(730)를 획득할 수 있다.
기계가 생성한 적어도 하나의 이미지(730) 중 사용자가 어느 하나의 이미지(731)를 선택하고 검색 실행을 위한 UI 요소(740)를 선택하면, 사용자에 의해 선택된 UI 요소(721)에 대응하는 카테고리에 대한 정보 및 선택된 이미지(731)에 대응되는 적어도 하나의 컨텐츠(750)가 검색될 수 있다. 즉, 사용자에 의해 선택된 UI 요소(721)에 대응하는 카테고리 정보가 검색 결과를 필터링하는데 사용될 수 있다. 따라서, 선택된 이미지(731)와 유사한 사진 컨텐츠들 중에서 자연 카테고리에 해당하는 사진 컨텐츠들(750)이 검색되어 제공되는 것이다. 외부 장치(예컨대 서버)에서 컨텐츠가 검색되는 경우, 외부 장치로 카테고리에 대한 정보와 선택된 이미지에 대한 정보가 전송되고, 외부 장치가 카테고리에 대한 정보를 이용하여 상기 선택된 이미지에 대응하는 컨텐츠를 검색할 수 있다.
도 8은 본 개시의 또 다른 실시 예에 따른 전자 장치가 제공하는 UI를 설명하기 위한 도면이다.
도 8을 참고하면, 전자 장치(100)는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여 사용자가 그린 스케치(810)를 기초로 기계가 생성한 이미지(820)를 표시할 수 있다.
그리고 사용자가 검색 실행을 위한 UI 요소(830)를 선택하면, 기계가 생성한 이미지(820)와 대응되는 적어도 하나의 컨텐츠가 검색되어 제공될 수 있다.
이 경우, 다양한 소스의 컨텐츠가 검색될 수 있다. 예컨대, 전자 장치(100)가 인터넷 프로토콜을 사용하여 소비자에게 디지털 텔레비전 서비스를 제공하는 IPTV(Internet Protocol Television)인 경우, VOD(Video on demand) 컨텐츠, 실시간 방송 컨텐츠, 애플리케이션, 인터넷 컨텐츠(예컨대 구글™ 에서 검색한 결과) 등이 검색되어 제공될 수 있다.
일 실시 예에 따르면, 도 8에 도시한 바와 같이 컨텐츠 소스 별로 검색 결과가 제공될 수 있다. VOD(Video on demand) 컨텐츠에 대응하는 UI 요소(841), 실시간 방송 컨텐츠에 대응하는 UI 요소(843), 애플리케이션에 대응하는 UI 요소(845), 인터넷 컨텐츠에 대응하는 UI 요소(847)가 표시될 수 있다. 여기서 예컨대 VOD(Video on demand)컨텐츠에 대응하는 UI 요소(841)가 선택되면, 검색된 VOD들(850)이 제공될 수 있다. 검색된 VOD들(850) 중 어느 하나가 선택되면 선택된 VOD가 재생되거나 또는 VOD결재를 위한 화면이 제공될 수 있다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 블록도이다. 전자 장치(100)는 도 1 내지 도 8을 참고하여 상술한 실시 예들의 동작을 수행할 수 있다.
도 9를 참고하면, 전자 장치(100)는 메모리(110), 디스플레이(120) 및 프로세서(130)를 포함한다. 실시 형태에 따라 도시되지 않았더라도 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
메모리(110)는 예를 들면, 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.
외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 포함할 수 있다. 외장 메모리는 다양한 인터페이스를 통하여 전자 장치(100)와 기능적으로 및/또는 물리적으로 연결될 수 있다.
메모리(110)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(130) 내 롬, 램 또는 전자 장치(100)에 장착되는 메모리 카드(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
메모리(110)는 도 2 내지 도 8을 참고하여 상술한 실시 예들에 따른 전자 장치의 제어방법을 수행하기 위한 컴퓨터 실행가능 명령어(computer executable instructions)를 저장할 수 있다.
메모리(110)는 도 1 내지 도 8을 참고하여 상술한 실시 예들에 따른 인공지능 모델을 저장할 수 있다. 인공지능 모델은 외부의 서버에서 학습되어 전자 장치(100)로 제공될 수 있다. 전자 장치(100)는 외부 서버로부터 인공지능 모델을 다운로드 하여 메모리(110)에 저장할 수 있고, 인공지능 모델이 업데이트(또는 재 학습)되면 업데이트된 인공지능 모델을 외부 서버로부터 수신하여 저장할 수 있다. 전자 장치(100)는 이와 같은 외부 서버에 근거리 통신망(LAN: Local Area Network), 인터넷망 등을 통해 접속될 수 있다.
일 실시 예에 따르면, 메모리(110)는 클라우드 서버와 같은 전자 장치(100) 외부의 서버로 구현될 수도 있다.
디스플레이(120)는 영상을 표시하기 위한 구성이다. 예를 들면, 스케치를 입력 받고 스케치에 대한 검색 결과를 제공하는 UI 화면이 디스플레이(120)에 표시될 수 있다. UI 화면은 텍스트, 이미지, 아이콘, 또는 심볼 등의 UI 요소를 포함할 수 있다.
디스플레이(120)는 예를 들면, 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이(예컨대 AMOLED(active-matrix organic light-emitting diode), PMOLED(passive-matrix OLED)), 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다.
디스플레이(120)는 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
한편, 디스플레이(120)는 전자 장치(100)에서 생략될 수 있다. 이 경우, 전자 장치(100)는 외부 디스플레이 장치로 영상 신호를 전송하여 외부 디스플레이 장치에서 영상이 표시되도록 할 수 있다.
전자 장치(100)는 입력 장치를 포함할 수 있고, 입력 장치 통해 다양한 사용자 입력을 수신할 수 있다. 상기 입력 장치는 예컨대, 버튼, 터치 패널, 모션 입력을 수신할 수 있는 센서 또는 카메라, 음성 입력을 수신할 수 있는 마이크 등을 포함할 수 있다.
또 다른 실시 예에 따르면, 전자 장치(100)는 외부 입력 장치와 연결되어 외부 입력 장치를 통해 다양한 사용자 입력을 수신할 수 있다. 예컨대, 외부 입력 장치는 키보드, 마우스, 스마트 폰, 리모컨 등을 포함할 수 있다. 전자 장치(100)는 외부 입력 장치와 무선 또는 유선으로 연결될 수 있다. 예컨대 전자 장치(100)는 USB 포트 등을 통해 외부 입력 장치와 유선으로 연결될 수 있다. 또 다른 예로, 전자 장치(100)는 적외선 통신(IrDA, infrared Data Association), RFID(Radio Frequency Identification), WiFi(Wireless Fidelity), 와이파이 다이렉트(Wi-Fi Direct), 블루투스(ex. 블루투스 클래식(Bluetooth Classic), 블루투스 저 에너지(Bluetooth Low Energy)), 지그비(Zigbee) 등의 통신 방식을 통해 외부 입력 장치와 무선으로 연결될 수 있다.
전자 장치(100)는 외부 장치와 통신하기 위한 통신부를 포함할 수 있다. 고, 통신부는 무선 통신 또는 유선 통신을 통해서 네트워크에 연결될 수 있다. 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신을 포함할 수 있다. 근거리 통신은, 예를 들면, WiFi 다이렉트(wireless fidelity direct), 블루투스(Bluetooth), NFC(near field communication), 직비(Zigbee) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 통신부를 통해 원격제어장치와 통신할 수 있다. 이 원격제어장치는 모션 입력을 받을 수 있는 장치로서, 전자 장치(100)는 원격제어장치의 움직임에 대응하는 신호를 원격제어장치로부터 수신할 수 있다. 그리고 프로세서(130)는 수신된 신호를 기초로 스케치에 대한 정보를 획득할 수 있다. 즉, 사용자가 원격제어장치를 잡고 허공에 그리는 스케치가 전자 장치(100)에 입력될 수 있다. 이러한 스케치는 디스플레이(120)를 통해 표시될 수 있다.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어하기 위한 구성이다. 예를 들면, 프로세서(130)는 운영 체제 또는 응용 프로그램을 구동하여 프로세서(130)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(130)는 CPU(central processing unit) 또는 GPU(graphics-processing unit)이거나 둘 다일 수 있다. 프로세서(130)는 적어도 하나의 범용 프로세서(general processor), 디지털 신호 프로세서(digital signal processor), ASIC(Application specific integrated circuit), SoC(system on chip), MICOM(Microcomputer) 등으로 구현될 수 있다.
프로세서(130)는 메모리(120)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 동작을 수행할 수 있다. 프로세서(130)는 도 1 내지 도 8에서 설명한 실시 예들에 따른 기능을 전자 장치(100)가 수행할 수 있도록 할 수 있다.
일 예로, 프로세서(130)는 메모리(110)에 저장된 컴퓨터 실행가능 명령어를 실행함으로써 다음의 동작을 수행할 수 있다. 구체적으로 프로세서(130)는 사용자가 그린 스케치에 대한 정보를 획득하고, 스케치를 표시하도록 디스플레이(120)를 제어할 수 있다. 예컨대, 도 3 내지 도 8에 도시한 바와 같이 스케치를 표시하도록 디스플레이(120)를 제어할 수 있다.
그리고 프로세서(130)는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 사용자가 그린 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득할 수 있다.
그리고 프로세서(130)는 상기 획득한 적어도 하나의 기계가 생성한 이미지를 표시하도록 디스플레이(120)를 제어할 수 있다. 예컨대 프로세서(130)는 도 5내지 도 8에 도시한 것처럼 기계가 생성한 이미지를 표시하도록 디스플레이(120)를 제어할 수 있다.
그리고 프로세서(130)는 디스플레이(120)에 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
프로세서(130)는 인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 기계가 생성한 이미지에 대응되는 컨텐츠를 검색할 수 있다.
프로세서(130)는 전자 장치(100)의 메모리(110)에 저장된 컨텐츠 또는 인터넷에서 제공되는 컨텐츠를 검색할 수 있다. 검색 대상이 되는 컨텐츠는 사진, 동영상, 애플리케이션, 뉴스, E-Book, 영화, 애니메이션 등 어떠한 디지털 정보라도 가능하다.
일 실시 예에 따르면, 사용자는 검색 범위를 지정할 수 있다. 예컨대, 프로세서(130)는 사용자로부터 폴더 지정 명령을 수신하고, 폴더 지정 명령에 대응되는 폴더 내의 컨텐츠를 검색할 수 있다. 또 다른 예로, 프로세서(130)는 사용자로부터 컨텐츠 종류 지정 명령을 수신하고, 지정된 컨텐츠 종류에서 컨텐츠를 검색할 수 있다.
프로세서(130)는 검색 대상이 되는 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택 받기 위한 적어도 하나의 UI 요소를 표시하도록 디스플레이(120)를 제어할 수 있다. 예컨대 프로세서(130)는 도 7에 도시한 것과 같은 UI 요소들(720)을 표시하도록 디스플레이(120)를 제어할 수 있다. 그리고 프로세서(130)는 디스플레이(120)에 표시된 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 사용자가 그린 스케치를 인공지능 모델에 입력하여 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득할 수 있다.
이 경우, 프로세서(130)는 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보 및 사용자가 선택한 기계가 생성한 이미지에 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다. 예컨대, 프로세서(130)는 컨텐츠 검색을 위한 인공 지능 모델에 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보 및 사용자가 선택한 기계가 생성한 이미지를 입력하여, 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 속하는 컨텐츠를 검색할 수 있다.
또한, 프로세서(130)는 검색 대상인 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 사용자가 그린 스케치를 인공지능 모델에 입력하여, 복수의 카테고리 각각에 대하여 스케치를 구체화한 복수의 이미지를 획득할 수 있다. 그리고 프로세서(130)는 이와 같이 획득한 복수의 이미지를 카테고리 별로 표시하도록 디스플레이(120)를 제어할 수 있다.
그리고 프로세서(130)는 검색된 적어도 하나의 컨텐츠를 제공할 수 있다. 예컨대 프로세서(130)는 도 5 내지 도 8에 도시한 것처럼 검색한 컨텐츠들을 표시하도록 디스플레이(120)를 제어할 수 있다.
한편, 컨텐츠 검색에 인공지능 모델이 이용된 경우, 프로세서(130)는 검색되어 제공된 적어도 하나의 컨텐츠 중 어느 하나에 대한 사용자의 선택을 바탕으로 컨텐츠 검색에 이용된 인공지능 모델을 재 학습 시킬 수 있다.
상술한 실시 예들의 동작은 여러 대의 장치를 통해 상술한 실시 예가 구현될 수도 있다. 이와 관련하여선 도 10을 참고하여 설명하도록 한다.
도 10은 본 개시의 다양한 실시 예에 다른 인공지능 모델을 이용하는 네트워크 시스템의 흐름도이다.
도 10을 참고하면, 인공지능 모델을 이용하는 네트워크 시스템은 제1 구성 요소(1000), 제2 구성 요소(2000) 및 제3 구성 요소(3000) 중 적어도 두 개를 포함할 수 있다. 예컨대, 제1 구성 요소(1000)는 데스크톱, 스마트폰, 태블릿 PC 등과 같은 전자 장치이고 제2 구성 요소(2000)는 기계가 생성한 이미지를 획득하기 위한 인공지능 모델, 데이터 베이스 등이 저장된 서버이고 제3 구성 요소(3000)는 이미지를 기반으로 컨텐츠를 검색하기 위한 인공지능 모델, 데이터 베이스 등이 저장된 서버일 수 있다. 또는, 제1 구성 요소(1000)는 범용 프로세서이고, 제2 구성 요소(2000) 및 제3 구성 요소(3000)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(1000)는 적어도 하나의 애플리케이션이 될 수 있고, 제2 구성 요소(2000) 및 제3 구성 요소(3000)는 운영 체제(operating system, OS)가 될 수 있다. 즉, 제2 구성 요소(2000) 및 제3 구성 요소(3000)는 제1 구성 요소(1000)보다 더 집적화되거나, 전용화되거나, 딜레이(delay)가 작거나, 성능이 우세하거나 또는 많은 리소스를 가진 구성 요소로서 모델의 생성, 갱신 또는 적용 시에 요구되는 많은 연산을 제1 구성 요소(1000)보다 신속하고 효과적으로 처리 가능한 구성 요소가 될 수 있다.
제1 구성 요소(1000), 제2 구성 요소(2000) 및 제3 구성 요소(3000) 간에 데이터를 송/수신하기 위한 인터페이스가 정의될 수 있다.
일 예로, 모델에 적용할 학습 데이터를 인자 값(또는, 매개 값 또는 전달 값)으로 갖는 API(application program interface)가 정의될 수 있다. API는 어느 하나의 프로토콜(예로, 제1 구성 요소(1000)에서 정의된 프로토콜)에서 다른 프로토콜(예로, 제2 구성 요소(2000)에서 정의된 프로토콜)의 어떤 처리를 위해 호출할 수 있는 서브 루틴 또는 함수의 집합으로 정의될 수 있다. 즉, API를 통하여 어느 하나의 프로토콜에서 다른 프로토콜의 동작이 수행될 수 있는 환경을 제공될 수 있다.
도 10을 참고하면, 먼저, 제1 구성요소(1000)는 스케치를 입력 받을 수 있다(S1110). 제1 구성요소(1000)는 키보드, 터치 스크린, 원격제어장치 등 다양한 입력 장치를 통해 스케치를 입력 받을 수 있다. 또한 제1 구성요소(1000)는 카테고리를 선택받을 수 있다.
그리고 제1 구성요소(1000)는 입력된 스케치에 대한 정보를 제2 구성요소(2000)로 전송할 수 있다(S1120). 또한 제1 구성요소(1000)는 스케치에 대한 정보와 선택된 카테고리에 대한 정보를 제2 구성요소(2000)로 전송할 수 있다.
제2 구성요소(2000)는 스케치를 인공지능 알고리즘에 의해 학습된 인공지능 모델에 입력하여, 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득할 수 있다(S1130). 제2 구성요소(2000)는 인공지능 모델 및 이미지 생성에 필요한 다양한 데이터를 포함한 데이터 베이스를 저장할 수 있다. 제2 구성요소(2000)는 제1 구성요소(1000)로부터 카테고리에 대한 정보를 수신할 경우, 카테고리에 대한 정보에 대응하는 카테고리에 속하는 대상으로 스케치를 구체화한 이미지를 획득할 수 있다.
그리고 제2 구성요소(2000)는 기계가 생성한 적어도 하나의 이미지에 대한 정보를 제1 구성요소(1000)로 전송할 수 있다(S1140). 이 경우, 예컨대, 제2 구성요소(2000)는 기계가 생성한 이미지를 파일 형태로 제1 구성요소(1000)에 전송할 수 있다. 또 다른 예로, 제2 구성요소(2000)는 기계가 생성한 이미지의 저장 주소(예컨대, URL 주소)에 대한 정보를 제1 구성요소(1000)로 전송할 수 있다.
제1 구성요소(1000)는 제2 구성요소(2000)로부터 수신한 적어도 하나의 이미지 중 어느 하나에 대한 사용자 선택을 수신할 수 있다(S1150). 예컨대 제1 구성요소(1000)는 자체적으로 포함한 디스플레이 또는 외부 디스플레이 장치를 통해 제2 구성요소(1000)를 통해 수신한 기계가 생성한 적어도 하나의 이미지를 표시할 수 있다. 사용자는 표시된 적어도 하나의 이미지 중 검색에 사용하고자 할 이미지를 선택할 수 있다.
그리고 제1 구성 요소(1000)는 선택된 이미지에 대한 정보를 제3 구성요소(3000)로 전송할 수 있다(S1160).
제3 구성요소(3000)는 이미지를 인공지능 알고리즘에 의해 학습된 인공지능 모델에 입력하여, 이미지에 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다(S1170). 제3 구성요소(3000)는 인공지능 모델 및 컨텐츠 검색에 필요한 다양한 데이터를 포함한 데이터 베이스를 저장할 수 있다.
그리고 제3 구성요소(3000)는 컨텐츠를 검색한 결과를 제1 구성 요소(1000)로 전송할 수 있다(S1180). 그리고 제1 구성요소(1000)는 수신한 검색 결과를 기초로 컨텐츠를 제공할 수 있다(S1190). 예컨대 제1 구성요소(1000)는 자체적으로 포함한 디스플레이 또는 외부 디스플레이 장치를 통해 검색된 컨텐츠들을 표시할 수 있다. 사용자는 표시된 컨텐츠들 중 원하는 컨텐츠를 선택할 수 있다.
본 개시에서 설명되는 인공지능 모델은 인공지능 알고리즘 기반으로 학습된 판단 모델로서, 예로, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 학습된 인공지능 모델은 인간의 뇌 구조를 컴퓨터상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 또한, 학습된 인공지능 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 학습된 인공지능 모델의 예에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 등이 있을 수 있으나 이에 한정되지 않는다.
일 실시 예에 따르면, 제1 구성요소(1000)는 인공지능 전용 프로그램(또는 인공지능 에이전트, Artificial intelligence agent)인 개인 비서 프로그램을 이용할 수 있다. 이때, 개인 비서 프로그램은 AI(Artificial Intelligence) 기반의 서비스를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서 또는 별도의 AI 전용 프로세서에 의해 실행될 수 있다.
구체적으로, 기설정된 사용자 입력(예를 들어, 개인 비서 챗봇에 대응되는 아이콘 터치, 기설정된 단어를 포함하는 사용자 음성 등)이 입력되거나 제1 구성요소(1000)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러지는 경우, 인공지능 에이전트가 동작(또는 실행)할 수 있다. 그리고 인공지능 에이전트는 사용자가 그린 스케치를 제2 구성요소(2000)로 전송하고 제2 구성요소(2000)로부터 수신된 기계가 생성한 이미지를 제공할 수 있다.
물론, 화면상에 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러지면, 인공지능 에이전트가 동작할 수도 있다. 또는, 인공지능 에이전트는 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼이 선택되기 이전에 기 실행된 상태일 수 있다. 이 경우, 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼이 선택된 이후에는 제1 구성요소(1000)의 인공지능 에이전트가 스케치를 바탕으로 기계가 생성한 이미지를 획득하고 컨텐츠 검색을 수행할 수 있다. 또한, 인공지능 에이전트는 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼이 선택되기 이전에 대기 상태일 수 있다. 여기서, 대기 상태란, 인공지능 에이전트의 동작 시작을 제어하기 위해 미리 정의된 사용자 입력이 수신되는 것을 감지하는 상태이다. 인공지능 에이전트가 대기 상태인 동안 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼이 선택되면, 제1 구성요소(1000)는 인공지능 에이전트를 동작시킬 수 있다.
본 개시의 또 다른 실시 예로, 제1 구성요소(1000)가 직접 인공지능 모델을 이용하여 기계가 생성한 이미지를 획득하고, 이미지를 기반으로 컨텐츠 검색을 수행할 수 있다. 이때, 인공지능 에이전트는 상술한 제2 구성요소(2000) 및 제3 구성요소(3000)의 동작을 수행할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 인공지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도이다.
도 11을 참조하면, 전자 장치(2100)는 학습부(2110) 및 판단부(2120) 중 적어도 하나를 포함할 수 있다. 도 11의 전자 장치(2100)는 도 9의 전자 장치(100), 도 10의 제2 구성요소(2000) 또는 제3 구성요소(3000)에 대응될 수 있다.
학습부(2110)는 학습 데이터를 이용하여 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득하기 위한 기준을 갖는 인공지능 모델을 생성 또는 학습시킬 수 있다. 학습부(2110)는 수집된 학습 데이터를 이용하여 판단 기준을 갖는 인공지능 모델을 생성할 수 있다.
일 예로, 학습부(2110)는 대략적인 스케치를 학습 데이터로 하여, 스케치를 구체화한 이미지를 획득하도록 인공지능 모델을 생성, 학습 또는 재 학습시킬 수 있다. 또는, 학습부(2110)는 이미지를 학습 데이터로서 이용하여, 이미지에 대응되는 컨텐츠를 검색하도록 하기 위한 인공지능 모델을 생성, 학습 또는 재 학습시킬 수 있다.
판단부(2120)는 소정의 데이터를 학습된 인공지능 모델의 입력 데이터로 사용하여, 스케치를 기초로 이미지를 생성할 수 있다. 또는, 판단부(2120)는 이미지에 대응되는 컨텐츠를 검색할 수 있다.
일 예로, 판단부(2120)는 대략적인 스케치를 학습된 인공지능 모델의 입력 데이터로 사용하여 스케치를 구체화한 이미지를 획득할 수 있다. 또 다른 예로, 판단부(2120)는 이미지를 인공지능 모델의 입력 데이터로 사용하여 입력된 이미지와 유사도가 높은 이미지를 검색할 수 있다.
학습부(2110)의 적어도 일부 및 판단부(2120)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 제2 구성요소(2000), 제3 구성요소(3000)에 탑재될 수 있다. 예를 들어, 학습부(2110) 및 판단부(2120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(2110) 및 판단부(2120)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
이 경우, 학습부(2110) 및 판단부(2120)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 또한, 학습부(2110) 및 판단부(2120)는 유선 또는 무선으로 통하여, 학습부(2110)가 구축한 모델 정보를 판단부(2120)로 제공할 수도 있고, 학습부(2110)로 입력된 데이터가 추가 학습 데이터로서 학습부(2110)로 제공될 수도 있다.
도 12 내지 도 13은 다양한 실시예에 따른 학습부(2110) 및 판단부(2120)의 블록도이다.
도 12를 참고하면, 일부 실시 예에 따른 학습부(2110)는 학습 데이터 획득부(2110-1) 및 모델 학습부(2110-4)를 포함할 수 있다. 또한, 학습부(2110)는 학습 데이터 전처리부(2110-2), 학습 데이터 선택부(2110-3) 및 모델 평가부(2110-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(2110-1)는 스케치를 구체화한 이미지를 획득하기 위한 인공지능 모델에 필요한 학습 데이터를 획득할 수 있다. 또는, 학습 데이터 획득부(2110-1)는 이미지와 대응되는 컨텐츠를 검색하기 위한 인공지능 모델에 필요한 학습 데이터를 획득할 수 있다. 본 개시의 실시 예로, 학습 데이터 획득부(2110-1)는 스케치 이미지 또는 기계가 생성한 이미지를 학습 데이터로서 획득할 수 있다. 학습 데이터는 학습부(2110) 또는 학습부(2110)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다.
모델 학습부(2110-4)는 학습 데이터를 이용하여, 인공지능 모델이 스케치를 구체화한 이미지를 생성하는 기준을 갖도록 학습시킬 수 있다. 또는, 모델 학습부(2110-4)는 학습 데이터를 이용하여, 인공지능 모델이 이미지에 대응되는 컨텐츠를 검색하는 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(2110-4)는 지도 학습(supervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(2110-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습하는 비지도 학습(unsupervisedlearning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 예컨대, 모델 학습부(2110-4)는 GAN(Generative Adversarial Network) 기술 또는 VAE(Variational Auto-encoder) 기술을 이용하여 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(2110-4)는, 예를 들어, 학습에 따른 판단 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(2110-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공지능 모델을 학습시킬 수 있다.
또한, 모델 학습부(2110-4)는 어떤 학습 데이터를 이용해야 하는지에 대한 선별 기준을 학습할 수도 있다.
모델 학습부(2110-4)는 미리 구축된 인공지능 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인공지능 모델을 학습할 인공지능 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 인공지능 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 미리 분류되어 있을 수 있다.
인공지능 모델이 학습되면, 모델 학습부(2110-4)는 학습된 인공지능 모델을 저장할 수 있다. 예컨대, 모델 학습부(2110-4)는 학습된 인공지능 모델을 전자 장치(100)의 메모리(110), 제2 구성요소(2000)의 메모리, 또는 제3 구성요소(3000)의 메모리에 저장할 수 있다.
학습부(2110)는 인공지능 모델의 판단 결과를 향상시키거나, 인공지능 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(2110-2) 및 학습 데이터 선택부(2110-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(2110-2)는 스케치를 구체화한 이미지를 획득하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 또한 학습 데이터 전처리부(2110-2)는 이미지에 대응되는 컨텐츠를 검색하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다.
학습 데이터 선택부(2110-3)는 학습 데이터 획득부(2110-1)에서 획득된 데이터 또는 학습 데이터 전처리부(2110-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(2110-4)에 제공될 수 있다. 학습 데이터 선택부(2110-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(2110-3)는 모델 학습부(2110-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(2110)는 인공지능 모델의 판단 결과를 향상시키기 위하여, 모델 평가부(2110-5)를 더 포함할 수도 있다.
모델 평가부(2110-5)는 인공지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 판단 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(2110-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(2110-5)는 평가 데이터에 대한 학습된 인공지능 모델의 판단 결과 중에서, 판단 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인공지능 모델이 복수 개가 존재하는 경우, 모델 평가부(2110-5)는 각각의 학습된 인공지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(2110-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공지능 모델로서 결정할 수 있다.
도 13을 참조하면, 일부 실시 예에 따른 판단부(2120)는 입력 데이터 획득부(2120-1) 및 판단 결과 제공부(2120-4)를 포함할 수 있다.
또한, 판단부(2120)는 입력 데이터 전처리부(2120-2), 입력 데이터 선택부(2120-3) 및 모델 갱신부(2120-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
입력 데이터 획득부(2120-1)는 스케치를 기초로 기계가 생성한 이미지를 획득하기 위해 필요한 데이터를 획득할 수 있다. 판단 결과 제공부(2120-4)는 입력 데이터 획득부(2120-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 모델에 적용하여 스케치를 기초로 기계가 생성한 이미지를 획득할 수 있다.
또는, 입력 데이터 획득부(2120-1)는 이미지에 대응되는 컨텐츠를 검색하기 위해 필요한 데이터를 획득할 수 있다. 판단 결과 제공부(2120-4)는 입력 데이터 획득부(2120-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 모델에 적용하여 이미지에 대응되는 컨텐츠를 검색할 수 있다.
판단 결과 제공부(2120-4)는 후술할 입력 데이터 전처리부(2120-2) 또는 입력 데이터 선택부(2120-3)에 의해 선택된 데이터를 입력 값으로 인공지능 모델에 적용하여 판단 결과를 획득할 수 있다.
일 실시 예로, 판단 결과 제공부(2120-4)는 입력 데이터 획득부(2120-1)에서 획득한 스케치에 대한 정보를 학습된 인공지능 모델 적용하여 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득할 수 있다.
판단부(2120)는 인공지능 모델의 판단 결과를 향상시키거나, 판단 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(2120-2) 및 입력 데이터 선택부(2120-3)를 더 포함할 수도 있다.
입력 데이터 전처리부(2120-2)는 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 입력 데이터 전처리부(2120-2)는 판단 결과 제공부(2120-4)가 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다. 또는, 입력 데이터 전처리부(2120-2)는 이미지에 대응되는 컨텐츠를 검색하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다.
입력 데이터 선택부(2120-3)는 입력 데이터 획득부(2120-1)에서 획득된 데이터 또는 입력 데이터 전처리부(2120-2)에서 전처리된 데이터 중에서 응답 제공에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 판단 결과 제공부(2120-4)에게 제공될 수 있다. 입력 데이터 선택부(2120-3)는 응답 제공을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(2120-3)는 모델 학습부(2110-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(2120-5)는 판단 결과 제공부(2120-4)에 의해 제공되는 판단 결과에 대한 평가에 기초하여, 인공지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(2120-5)는 판단 결과 제공부(2120-4)에 의해 제공되는 판단 결과를 모델 학습부(2110-4)에게 제공함으로써, 모델 학습부(2110-4)가 인공지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다. 특히, 모델 갱신부(2120-5)는 사용자 입력에 따른 피드백 정보를 바탕으로 인공지능 모델을 재 학습할 수 있다.
본 개시의 실시 예들의 컨텐츠 검색 방법은 다음과 같은 효과를 가져올 수 있다. 가령, 사용자마다 그림을 그리는 방법이 천차만별이기 때문에 사용자가 그린 그림 자체를 컨텐츠 검색에 직접 사용하기가 적당하지 않을 수 있고, 그렇다고 검색에 이용할 그림을 사용자가 공을 들여 그리도록 하는 것도 편의성이 떨어지는데, 본 개시의 실시 예들과 같이, 사용자로 하여금 대략적인 스케치만 그리도록 하고, 인공지능 모델을 이용하여 사용자가 그린 스케치를 구체화하여 이미지를 생성하는 방식에 따르면, 사용자는 대략적으로 스케치만 해도 되므로 편의성이 향상될 수 있고, 또한 기계가 생성한 이미지는 특정한 기준에 근거하여 생성된 것이므로 컨텐츠 검색의 일관성을 보장할 수 있게 된다.
이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합으로 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
본 개시의 다양한 실시 예들에 따른 방법은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장될 수 있는 명령어를 포함하는 소프트웨어로 구현될 수 있다. 상기 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비 일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 애플리케이션 스토어(예: 플레이 스토어™)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 애플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치
110: 메모리
120: 디스플레이
130: 프로세서
110: 메모리
120: 디스플레이
130: 프로세서
Claims (20)
- 전자 장치의 제어방법에 있어서,
사용자가 그린 스케치를 입력받는 단계;
인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 상기 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하는 단계;
상기 획득된 적어도 하나의 기계가 생성한 이미지를 표시하는 단계;
상기 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 단계; 및
상기 검색된 적어도 하나의 컨텐츠를 제공하는 단계;를 포함하는 전자 장치의 제어방법. - 제1항에 있어서,
상기 검색하는 단계는,
상기 전자 장치에 저장된 복수의 컨텐츠 중 상기 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치의 제어방법. - 제2항에 있어서,
상기 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택받기 위한 적어도 하나의 UI 요소를 표시하는 단계;를 더 포함하고
상기 획득하는 단계는,
상기 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 스케치를 상기 인공지능 모델에 입력하여 상기 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득하는 전자 장치의 제어방법. - 제3항에 있어서,
상기 검색하는 단계는,
상기 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 선택된 이미지에 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치의 제어방법. - 제2항에 있어서,
상기 획득하는 단계는,
상기 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 상기 스케치를 상기 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득하는 전자 장치의 제어방법. - 제5항에 있어서,
상기 표시하는 단계는,
상기 획득한 복수의 이미지를 카테고리 별로 표시하는 전자 장치의 제어방법. - 제1항에 있어서,
상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것인 전자 장치의 제어방법. - 제1항에 있어서,
상기 검색하는 단계는,
인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치의 제어방법. - 제8항에 있어서,
상기 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 상기 컨텐츠 검색을 위한 인공지능 모델을 재 학습시키는 단계;를 더 포함하는 전자 장치의 제어방법. - 제1항에 있어서,
상기 사용자가 그린 스케치를 입력받는 단계는,
원격제어장치의 움직임에 대응하는 신호를 수신하고 상기 수신된 신호를 기초로 스케치에 대한 정보를 획득하는 전자 장치의 제어방법. - 전자 장치에 있어서,
컴퓨터 실행가능 명령어(computer executable instructions)를 저장하는 메모리;
디스플레이; 및
상기 컴퓨터 실행가능 명령어를 실행함으로써,
인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 사용자가 그린 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하고, 상기 획득된 적어도 하나의 기계가 생성한 이미지를 표시하도록 상기 디스플레이를 제어하고, 상기 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하고, 상기 검색된 적어도 하나의 컨텐츠를 제공하는 프로세서;를 포함하는 전자 장치. - 제11항에 있어서,
상기 프로세서는,
상기 전자 장치에 저장된 복수의 컨텐츠 중 상기 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치. - 제12항에 있어서,
상기 프로세서는,
상기 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택받기 위한 적어도 하나의 UI 요소를 표시하도록 상기 디스플레이를 제어하고, 상기 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 스케치를 상기 인공지능 모델에 입력하여 상기 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득하는 전자 장치. - 제13항에 있어서,
상기 프로세서는,
상기 선택된 UI 요소에 대응하는 카테고리에 대한 정보 및 상기 선택된 이미지에 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치. - 제12항에 있어서,
상기 프로세서는,
상기 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 상기 스케치를 상기 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득하는 전자 장치. - 제15항에 있어서,
상기 프로세서는,
상기 획득한 복수의 이미지를 카테고리 별로 표시하도록 상기 디스플레이를 제어하는 전자 장치. - 제11항에 있어서,
상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것인 전자 장치. - 제11항에 있어서,
상기 프로세서는,
인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치. - 제18항에 있어서,
상기 프로세서는,
상기 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 상기 컨텐츠 검색을 위한 인공지능 모델을 재 학습시키는 전자 장치. - 제11항에 있어서,
통신부;를 더 포함하며,
상기 프로세서는,
원격제어장치의 움직임에 대응하는 신호를 상기 통신부를 통해 수신하고 상기 수신된 신호를 기초로 스케치에 대한 정보를 획득하는 전자 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180061217A KR20190140519A (ko) | 2018-05-29 | 2018-05-29 | 전자 장치 및 그의 제어방법 |
PCT/KR2019/005604 WO2019231130A1 (ko) | 2018-05-29 | 2019-05-10 | 전자 장치 및 그의 제어방법 |
CN201980030966.0A CN112106042A (zh) | 2018-05-29 | 2019-05-10 | 电子设备及其控制方法 |
EP19812106.3A EP3757817A4 (en) | 2018-05-29 | 2019-05-10 | ELECTRONIC DEVICE AND ITS CONTROL PROCESS |
US17/059,000 US20210263963A1 (en) | 2018-05-29 | 2019-05-10 | Electronic device and control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180061217A KR20190140519A (ko) | 2018-05-29 | 2018-05-29 | 전자 장치 및 그의 제어방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190140519A true KR20190140519A (ko) | 2019-12-20 |
Family
ID=68698310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180061217A KR20190140519A (ko) | 2018-05-29 | 2018-05-29 | 전자 장치 및 그의 제어방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210263963A1 (ko) |
EP (1) | EP3757817A4 (ko) |
KR (1) | KR20190140519A (ko) |
CN (1) | CN112106042A (ko) |
WO (1) | WO2019231130A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102390427B1 (ko) * | 2021-07-20 | 2022-04-22 | 이보용 | 도면 작업 시스템 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3675063A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of solid cad features |
JP6590329B1 (ja) * | 2019-06-26 | 2019-10-16 | 株式会社ラディウス・ファイブ | 画像表示システム及びプログラム |
US12050639B2 (en) * | 2019-11-12 | 2024-07-30 | Yahoo Assets Llc | Method and system for sketch based search |
WO2023152828A1 (ja) * | 2022-02-09 | 2023-08-17 | 日本電信電話株式会社 | 学習モデル生成方法、イラスト変換方法、学習モデル生成装置、イラスト変換装置、学習モデル生成プログラム、およびイラスト変換プログラム |
WO2024137088A1 (en) * | 2022-12-19 | 2024-06-27 | Google Llc | Search with machine-learned model-generated queries |
US12086857B2 (en) | 2022-12-19 | 2024-09-10 | Google Llc | Search with machine-learned model-generated queries |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8190623B2 (en) * | 2008-06-05 | 2012-05-29 | Enpulz, L.L.C. | Image search engine using image analysis and categorization |
US9275684B2 (en) * | 2008-09-12 | 2016-03-01 | At&T Intellectual Property I, L.P. | Providing sketch annotations with multimedia programs |
KR101698096B1 (ko) * | 2010-10-08 | 2017-01-19 | 엘지전자 주식회사 | 단말기의 드로잉을 이용한 검색 방법 및 그 단말기 |
KR101326083B1 (ko) * | 2011-11-28 | 2013-11-07 | 건국대학교 산학협력단 | 스케치 질의를 사용하는 콘텐츠 기반 이미지 검색기에서의 질의 이미지 및 검색 대상 영상의 전처리 장치 및 그 방법 |
KR20130059033A (ko) * | 2011-11-28 | 2013-06-05 | 연세대학교 산학협력단 | 스케치를 이용한 멀티미디어 검색 시스템 및 방법 |
US9528847B2 (en) * | 2012-10-15 | 2016-12-27 | Microsoft Technology Licensing, Llc | Pictures from sketches |
US9324102B2 (en) * | 2013-03-14 | 2016-04-26 | Ebay Inc. | System and method to retrieve relevant inventory using sketch-based query |
KR101912794B1 (ko) * | 2013-11-27 | 2018-10-29 | 한화테크윈 주식회사 | 영상 검색 시스템 및 영상 검색 방법 |
KR102285699B1 (ko) * | 2015-01-09 | 2021-08-04 | 삼성전자주식회사 | 이미지를 디스플레이하는 사용자 단말기 및 이의 이미지 디스플레이 방법 |
US10042866B2 (en) * | 2015-06-30 | 2018-08-07 | Adobe Systems Incorporated | Searching untagged images with text-based queries |
CN105808665B (zh) * | 2015-12-17 | 2019-02-22 | 北京航空航天大学 | 一种新的基于手绘草图的图像检索方法 |
CN107515905B (zh) * | 2017-08-02 | 2020-06-26 | 北京邮电大学 | 一种基于草图的交互式图像搜索与融合方法 |
CN107895028B (zh) * | 2017-11-17 | 2019-11-29 | 天津大学 | 采用深度学习的草图检索方法 |
-
2018
- 2018-05-29 KR KR1020180061217A patent/KR20190140519A/ko not_active Application Discontinuation
-
2019
- 2019-05-10 US US17/059,000 patent/US20210263963A1/en active Granted
- 2019-05-10 EP EP19812106.3A patent/EP3757817A4/en not_active Ceased
- 2019-05-10 WO PCT/KR2019/005604 patent/WO2019231130A1/ko unknown
- 2019-05-10 CN CN201980030966.0A patent/CN112106042A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102390427B1 (ko) * | 2021-07-20 | 2022-04-22 | 이보용 | 도면 작업 시스템 |
Also Published As
Publication number | Publication date |
---|---|
EP3757817A4 (en) | 2021-01-13 |
EP3757817A1 (en) | 2020-12-30 |
US20210263963A1 (en) | 2021-08-26 |
WO2019231130A1 (ko) | 2019-12-05 |
CN112106042A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102425578B1 (ko) | 객체를 인식하는 방법 및 장치 | |
US11544524B2 (en) | Electronic device and method of obtaining emotion information | |
US10970605B2 (en) | Electronic apparatus and method of operating the same | |
KR102491546B1 (ko) | 객체를 인식하는 방법 및 장치 | |
US11954150B2 (en) | Electronic device and method for controlling the electronic device thereof | |
US11721333B2 (en) | Electronic apparatus and control method thereof | |
EP3757817A1 (en) | Electronic device and control method therefor | |
KR102643027B1 (ko) | 전자 장치, 그의 제어 방법 | |
US20190042574A1 (en) | Electronic device and method for controlling the electronic device | |
US10970900B2 (en) | Electronic apparatus and controlling method thereof | |
KR102697345B1 (ko) | 감정 정보 획득을 위한 전자 장치 및 방법 | |
US20240095143A1 (en) | Electronic device and method for controlling same | |
KR20190118108A (ko) | 전자 장치 및 그의 제어방법 | |
KR20190105403A (ko) | 전자 장치, 전자 장치와 결합 가능한 외부 디바이스 및 이의 디스플레이 방법 | |
KR20240032779A (ko) | 전자 장치, 그의 제어 방법 | |
US20230290343A1 (en) | Electronic device and control method therefor | |
US11430137B2 (en) | Electronic device and control method therefor | |
US11468270B2 (en) | Electronic device and feedback information acquisition method therefor | |
KR20200094839A (ko) | 사용자 입력에 대한 피드백 정보를 제공하는 전자 장치 및 그 동작 방법 | |
KR102438132B1 (ko) | 전자 장치 및 그의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
E601 | Decision to refuse application | ||
E801 | Decision on dismissal of amendment |