WO2019093819A1 - 전자 장치 및 그 동작 방법 - Google Patents
전자 장치 및 그 동작 방법 Download PDFInfo
- Publication number
- WO2019093819A1 WO2019093819A1 PCT/KR2018/013633 KR2018013633W WO2019093819A1 WO 2019093819 A1 WO2019093819 A1 WO 2019093819A1 KR 2018013633 W KR2018013633 W KR 2018013633W WO 2019093819 A1 WO2019093819 A1 WO 2019093819A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- applications
- electronic device
- application
- objects
- display
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 45
- 238000013528 artificial neural network Methods 0.000 claims abstract description 43
- 238000007781 pre-processing Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 10
- 238000011017 operating method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 20
- 238000011156 evaluation Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/044—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive 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
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Definitions
- Various embodiments disclosed herein relate to an electronic device and method of operation thereof, and more particularly, to a method for automatically recognizing and displaying a configuration of a desired application by a user.
- AI Artificial intelligence
- AI is a computer system that implements human-level intelligence. Unlike existing Rule-based smart systems, AI is a system in which machines learn, judge and become smart. Artificial intelligence systems are increasingly recognized and improving their understanding of user preferences as they are used, and existing rule-based smart systems are gradually being replaced by deep-run-based artificial intelligence systems.
- Artificial intelligence technology consists of element technologies that utilize deep learning and machine learning.
- Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself.
- Element technology is a technology that simulates functions such as recognition and judgment of human brain using machine learning algorithms such as deep learning. Understanding, reasoning / prediction, knowledge representation, and motion control.
- Linguistic understanding is a technology for recognizing, applying, and processing human language / characters, including natural language processing, machine translation, dialogue system, query response, speech recognition / synthesis, and the like.
- Visual understanding is a technology for recognizing and processing objects as human vision, including object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, and image enhancement.
- Inference prediction is a technique for judging and logically inferring and predicting information, including knowledge / probability based reasoning, optimization prediction, preference base planning, and recommendation.
- Knowledge representation is a technology for automating human experience information into knowledge data, including knowledge building (data generation / classification) and knowledge management (data utilization).
- the motion control is a technique for controlling the autonomous travel of the vehicle and the motion of the robot, and includes motion control (navigation, collision, traveling), operation control (behavior control), and the like.
- Various embodiments disclosed are intended to provide an electronic device and a method of operating it that provide a user with a desired application more quickly and conveniently by providing a recommendation application corresponding to an object recognized from an image.
- an electronic device includes a display, a memory for storing one or more instructions, and a processor for executing one or more instructions stored in the memory, the processor executing one or more instructions To determine one or more recommended applications corresponding to each of the one or more objects using the learning model using one or more neural networks and to display the determined one or more recommended applications on the display to operate .
- the electronic device and its operation method according to an embodiment of the present disclosure can effectively perform a task for learning and data recognition of a data recognition model and can perform the same. In order to provide a service corresponding to a user's intention, And effectively protects the privacy of the user.
- 1 is a view for explaining an electronic device according to an embodiment.
- FIG. 2 is a block diagram showing a configuration of an electronic device according to an embodiment.
- FIG. 3 is a block diagram showing a configuration of an electronic device according to another embodiment.
- FIG. 4 is a diagram illustrating an example of an image according to an embodiment.
- 5 and 6 are views for explaining a process of performing a preprocessing operation on one or more objects recognized from an image according to an embodiment.
- FIG. 7 is a diagram for explaining a process in which an electronic device according to an embodiment determines one or more recommended applications corresponding to one or more objects recognized from an image, respectively.
- FIG. 8 is a diagram for explaining a neural network that learns a method of determining a recommendation application corresponding to an object according to an embodiment.
- 9 and 10 are views for explaining a process of selecting an application to be displayed on a display from among a plurality of recommended applications according to an embodiment.
- FIG. 11 is a diagram showing an example in which an electronic device according to an embodiment receives and installs a recommendation application from an external server.
- FIG. 12 is an illustration showing an example in which an electronic device according to an embodiment updates text information recognized from an image to a recommendation application.
- FIG. 13 is a flowchart showing an operation method of an electronic device according to an embodiment.
- FIG. 14 is a block diagram illustrating a configuration of a processor according to an embodiment.
- 15 is a block diagram showing a configuration of a data learning unit according to an embodiment.
- 16 is a block diagram showing a configuration of a data recognition unit according to an embodiment.
- 17 is a block diagram showing a configuration of a server according to an embodiment.
- FIG. 18 is a diagram showing an example in which an electronic device and a server according to an embodiment learn and recognize data by interlocking with each other.
- An electronic device includes a display, a memory storing one or more instructions, and a processor executing one or more instructions stored in the memory, wherein the processor executes one or more instructions to recognize one or more objects from the image Determine one or more recommended applications respectively corresponding to one or more objects using the learning model using one or more neural networks, and display the determined one or more recommended applications on the display to operate.
- a processor in accordance with one embodiment determines a plurality of recommendation applications corresponding to one or more objects, respectively, according to the degree of similarity with one or more objects, using a learning model using one or more neural networks by executing one or more instructions
- the selected one or more applications may be displayed on the display to operate.
- a processor in accordance with one embodiment may be configured to execute one or more instructions to set placement criteria for placing one or more recommended applications on the display based on the images and to place one or more recommended applications on the display based on the set placement criteria .
- the learning model may be configured to extract an attribute of a recommendation application from one or more objects in response to input of one or more objects in one or more neural networks, Can be determined by learning how to determine a recommended application.
- the attribute of the recommendation application may include at least one of the type, size, color, and type of the application.
- a processor performs a pre-processing operation to input one or more recognized objects to a learning model by executing one or more instructions, and the preprocessing operation includes a crop operation and a warping ≪ / RTI > operation).
- An image according to an embodiment may include an image generated by receiving an external input drawing a configuration of a desired application by a user or a photograph obtained by photographing an image including a configuration of applications desired by the user.
- the processor selects one or more recommended applications corresponding to the recognized one or more objects from the application DB by executing one or more instructions
- the application DB includes applications installed in the electronic device and applications stored in the external server Lt; / RTI >
- the processor receives and installs one or more recommended applications selected from an external server in accordance with the execution of one or more instructions so that the selected one or more recommended applications are determined not to be installed in the electronic device, It can be displayed on the display so that the recommendation application will work.
- a processor in accordance with one embodiment is configured to recognize textual information from one or more objects by executing one or more instructions, to update textual information in one or more recommended applications each corresponding to one or more objects, Suggested applications can be displayed on the display.
- a method of operating an electronic device includes the steps of: recognizing one or more objects from an image; determining one or more recommended applications each corresponding to one or more objects using a learning model using one or more neural networks; And displaying the determined one or more recommended applications on a display of the electronic device to operate.
- Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented with various numbers of hardware and / or software configurations that perform particular functions.
- the functional blocks of the present disclosure may be implemented by one or more microprocessors, or by circuit configurations for a given function.
- the functional blocks of the present disclosure may be implemented in various programming or scripting languages.
- the functional blocks may be implemented with algorithms running on one or more processors.
- the present disclosure may employ conventional techniques for electronic configuration, signal processing, and / or data processing, and the like. Terms such as " mechanism, " " element, " " means, " and " configuration " and the like are widely used and are not limited to mechanical and physical configurations.
- connection lines or connection members between the components shown in the figures are merely illustrative of functional connections and / or physical or circuit connections. In practical devices, connections between components can be represented by various functional connections, physical connections, or circuit connections that can be replaced or added.
- FIG. 1 is a diagram showing an example in which an electronic device according to an embodiment displays a plurality of applications on a display.
- the electronic device 100 may be, but is not limited to, a home appliance including a display 230.
- the electronic device 100 may be a mobile phone, a tablet PC, a digital camera, a camcorder, a laptop computer, a tablet PC, a desktop, an electronic book terminal, a digital broadcast terminal, a PDA (personal digital assistant) A portable multimedia player), a navigation device, an MP3 player, a wearable device, and the like.
- the electronic device 100 may be a fixed or mobile type, and may be a digital broadcasting receiver capable of receiving digital broadcasting.
- " means a person who controls the function or operation of the electronic device 100 and may include a viewer, an administrator or a installer.
- the electronic device 100 may display one or more applications on the display 230 to operate.
- the electronic device 100 may display a calendar application, a weather application, a memo pad application, and the like on the display 230, Make the displayed application available.
- the application may be used in the meaning including an application, a widget, and a theme representing the style of the user interface, but is not limited thereto.
- a user can select desired applications from a plurality of applications that can be installed and used in the electronic device 100 and the electronic device 100 can display the applications selected by the user on the display 230.
- the user may also change at least one of the location and size of one or more applications displayed on the display 230 based on the user's preferences.
- FIG. 2 is a block diagram showing a configuration of an electronic device according to an embodiment.
- the electronic device 100a shown in FIG. 2 may be one embodiment of the electronic device 100 shown in FIG. Referring to Figure 2, an electronic device 100a according to one embodiment may include a memory 210, a processor 220, and a display 230. However, the electronic device 100a can be implemented by more elements than the illustrated elements, and is not limited to the above-described examples.
- the memory 210 may store a program for processing and control of the processor 220 and may store data input to or output from the electronic device 100a.
- the memory 210 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory), a 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) , An optical disc, and the like.
- a flash memory type e.g., a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory), a 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) , An optical disc, and the like.
- the memory 210 may recognize one or more objects from an image, determine one or more recommended applications each corresponding to one or more objects using a learning model using one or more neural networks, And a module including one or more instructions to display on the display such that the recommendation application is operative.
- the processor 220 controls the overall operation of the electronic device 100a.
- the processor 220 may control the display 230 by executing one or more instructions stored in the memory 210 and may perform functions of the electronic device 100a described in Figures 1-18 .
- the processor 220 recognizes one or more objects from an image.
- An image is an image representing a configuration of applications desired by a user and is a picture obtained by receiving an external input for drawing a configuration of applications desired by a user or a picture obtained by shooting an image including a configuration of applications desired by the user But are not limited thereto.
- One or more objects recognized from the image may correspond to each application and may represent attributes of the application desired by the user.
- a user may desire, but is not limited to, a memo application that does not display a line on the yellow desktop, or a calendar application that can check what to do every 24 hours.
- the processor 220 analyzes an image, determines a boundary line dividing a predetermined region included in the image, a degree of change in color in the image, a shape representing a predetermined region included in the image, and the like , One or more objects may be recognized, but are not limited thereto.
- the processor 220 determines one or more recommended applications, each corresponding to one or more objects, using a learning model using one or more neural networks.
- the neural network may be a set of algorithms that learn how to recognize an object from a given image input to a neural network based on artificial intelligence.
- a neural network may be classified into a supervised learning method using a predetermined image as an input value, a pattern for recognizing an object from an image by learning the kind of data necessary for recognizing the object from the image without any special map, Based on unsupervised learning that finds objects in the image.
- a neural network can learn a method of recognizing an object from an image using reinforcement learning that uses feedback on whether the result of recognizing the object according to learning is correct.
- the processor 220 may determine one or more recommended applications, each corresponding to one or more objects, based on the degree of similarity with one or more objects, using a learning model using one or more neural networks.
- the processor 220 may extract the attribute of the recommendation application from one or more objects and determine one or more recommendation applications based on the extracted attribute of the recommendation application.
- the attributes of the recommendation application may include at least one of the type, size, color, and type of the application. For example, when the first object recognized from the image includes a blue background and an icon representing the weather of the day, the processor 220 may generate a weather application, a blue background, and an icon representing the weather, Attribute.
- the processor 220 may determine a recommendation application based on an attribute of the recommendation application that includes at least one of a weather application blue background and an icon representing the weather.
- the processor 220 may select one or more recommended applications corresponding to the first object from an application DB (database).
- the application DB may include a list of applications installed in the electronic device 100a and applications stored in the external server.
- Applications stored in the external server may mean applications not installed in the electronic device 100a, and the electronic device 100a may receive and install the applications from an external server.
- the electronic device 100a can receive and install applications not installed in the electronic device 100a through an application store from an external server, but the present invention is not limited thereto.
- the processor 220 displays on the display 230 one or more recommended applications to operate.
- the processor 220 may set a placement criterion for placing one or more recommendation applications on the display 230 based on the images. For example, the processor 220 may determine, from one or more objects recognized from the image, at least one of the size, location, and transparency of each object. In addition, the processor 220 may place a recommendation application corresponding to each object on the display 230 based on at least one of the size, position, and transparency of each object.
- the processor 220 can set the size and position of the recommendation application as a placement reference for arranging the recommendation applications corresponding to the first object and the second object, respectively. Accordingly, the processor 220 may arrange a recommendation application corresponding to the first object at the top of the display 230 in a size corresponding to two-thirds of the size of the display 230, The recommendation application can be arranged at the lower end of the display 230 in a size corresponding to 1/3 of the size of the display 230. [
- the processor 220 may recognize textual information from one or more objects recognized from the image.
- the image may include the October 2017 calendar drawn by the user, and textual information indicating an event associated with the user may be written to the calendar.
- the processor 220 recognizes the calendar in October 2017 as one object, and recognizes the text information indicating the event from the recognized object.
- the processor 220 may also update the recognized textual information in a referral application (e.g., an A calendar application) corresponding to the recognized object (e.g., the October 2017 calendar).
- a referral application e.g., an A calendar application
- the processor 220 determines that the recommended application, A calendar application, You can add a birthday event to.
- the processor 220 may display on the display 230 an A calendar application to which a birthday event has been added.
- the processor 220 can more easily determine the configuration of the applications desired by the user, and can provide the recommended applications corresponding to the applications desired by the user in a form desired by the user.
- Display 230 may display one or more recommendation applications corresponding to one or more objects recognized from the image. Display 230 may also display one or more recommendation applications based on attributes of a referral application extracted from one or more objects. Accordingly, the number of recommended applications displayed on the display 230 may vary depending on the number of objects recognized from the image, and the size and location of the recommended application displayed on the display 230 may vary depending on the size of the object recognized from the image And location.
- the display 230 may be used as an input device in addition to the output device.
- the display 230 may be a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, A display, a 3D display, and an electrophoretic display.
- the electronic device 100a may include two or more displays 230.
- FIG. 3 is a block diagram showing a configuration of an electronic device according to another embodiment.
- the electronic device 100b includes a tuner unit 140, a communication unit 150, a sensing unit 160, a mouth, A video processing unit 180, an audio processing unit 115, an audio output unit 125, and a user input unit 190, as shown in FIG.
- the tuner unit 140 tunes only a frequency of a channel to be received by the electronic device 100b among many radio wave components through amplification, mixing, and resonance of a broadcast signal received by wire or wireless, (tuning).
- the broadcast signal includes audio, video and additional information (for example, EPG (Electronic Program Guide)).
- the broadcast signal received through the tuner unit 140 is decoded (for example, audio decoding, video decoding, or side information decoding) and separated into audio, video and / or additional information.
- the separated audio, video and / or additional information may be stored in the memory 210 under the control of the processor 220.
- the tuner section 140 of the electronic device 100b may be one or more.
- the tuner unit 140 may be a separate device (e.g., a set-top box) having an all-in-one with the electronic device 100b or having a tuner part electrically connected to the electronic device 100b. a top box (not shown), and a tuner unit (not shown) connected to the input / output unit 170).
- the communication unit 150 can connect the electronic device 100b with an external device (e.g., an audio device or the like) under the control of the processor 220.
- the processor 220 can transmit / receive content to an external device connected through the communication unit 150, download an application from an external device, or perform web browsing.
- the communication unit 150 may include one of a wireless LAN 151, a Bluetooth 152, and a wired Ethernet (Ethernet) 153 according to the performance and structure of the electronic device 100b.
- the communication unit 150 may include a combination of a wireless LAN 151, a Bluetooth 152, and a wired Ethernet (Ethernet) 153.
- the communication unit 150 can receive the control signal of the control device 101 under the control of the processor 220.
- the control signal may be implemented as a Bluetooth type, an RF signal type, or a WiFi type.
- the communication unit 150 may further include a near field communication (for example, NFC (near field communication), not shown), BLE (bluetooth low energy, not shown) in addition to Bluetooth.
- a near field communication for example, NFC (near field communication), not shown
- BLE bluetooth low energy, not shown
- the communication unit 150 may receive a learning model using one or more neural networks from an external server. Also, the communication unit 150 can receive an image used for recognizing one or more objects from an external apparatus.
- the sensing unit 160 may include a microphone 161, a camera unit 162, and a light receiving unit 163 for sensing a user's voice, a user's image, or a user's interaction.
- the microphone 161 receives the utterance voice of the user.
- the microphone 161 converts the received voice into an electric signal and outputs it to the processor 220.
- the camera unit 162 can receive an image (e.g., a continuous frame) corresponding to the motion of the user including the gesture in the camera recognition range.
- the camera section 162 can photograph an image including a configuration of applications desired by the user.
- the camera unit 162 may photograph a picture of a picture of a configuration of applications desired by the user, and may store the photographed picture, and the processor 220 may extract a picture of the picture taken by the camera unit 162
- One or more recommendation applications corresponding to the recognized one or more objects may be provided.
- the light receiving section 163 receives an optical signal (including a control signal) received from the control device when the electronic device 100b is controlled by the control device.
- the light receiving unit 163 can receive an optical signal corresponding to a user input (e.g., touch, press, touch gesture, voice, or motion) from the control apparatus.
- the control signal can be extracted from the received optical signal under the control of the processor 220.
- the light receiver 163 may receive an external input that draws an image representing the configuration of the applications desired by the user when the electronic device 100b is controlled by the controller.
- the input / output unit 170 is connected to the input / output unit 170 from the outside of the electronic device 100b under the control of the processor 220, such as video (e.g., moving picture), audio (e.g., For example, EPG, etc.).
- the input / output unit 170 includes one of a high-definition multimedia interface port 171, a component jack 172, a PC port 173, and a USB port 174 . ≪ / RTI >
- the input / output unit 170 may include a combination of an HDMI port 171, a component jack 172, a PC port 173, and a USB port 174.
- the memory 210 may store a program for processing and control of the processor 220 and may store data input to or output from the electronic device 100b.
- the programs stored in the memory 210 may be classified into a plurality of modules according to their functions, for example, a learning module 211 or the like.
- Learning module 211 may determine one or more recommended applications based on the method of extracting attributes of a referral application from one or more objects in response to input of one or more objects into one or more neural networks, And learning models determined by learning methods.
- the learning model may be received from an external server and the received learning model may be stored in the learning module 211.
- the processor 220 controls the overall operation of the electronic device 100b and the signal flow between the internal components of the electronic device 100b and performs the function of processing the data.
- the processor 220 may execute an operating system (OS) and various applications stored in the memory 210 when the user has an input or predefined conditions.
- OS operating system
- the processor 220 in accordance with one embodiment may recognize one or more objects from an image by performing one or more instructions stored in the memory 210 and use one or more objects Determine the corresponding one or more recommended applications, and display the determined one or more recommended applications on the display to operate.
- the video processing unit 180 processes the image data to be displayed by the display 230 and performs various image processing operations such as decoding, rendering, scaling, noise filtering, frame rate conversion, and resolution conversion on the image data .
- the display 230 may display a video included in the broadcast signal received through the tuner unit 140 on the screen under the control of the processor 220.
- the display 230 may display content (for example, moving image) input through the communication unit 150 or the input / output unit 170.
- the display 230 can output an image stored in the memory 210 under the control of the processor 220.
- the audio processing unit 115 performs processing on the audio data.
- various processes such as decoding and amplification of audio data, noise filtering, and the like may be performed.
- the audio output unit 125 may include audio included in the broadcast signal received through the tuner unit 140 under control of the processor 220, audio input through the communication unit 150 or the input / output unit 170, And outputs audio stored in the storage unit 210.
- the audio output unit 125 may include at least one of a speaker 126, a headphone output terminal 127, and a Sony / Philips Digital Interface (S / PDIF) 128.
- the user input unit 190 means means for the user to input data for controlling the electronic device 100b.
- the user input unit 190 may include a key pad, a dome switch, a touch pad, a jog wheel, a jog switch, and the like, but the present invention is not limited thereto.
- the user input unit 190 may be a component of the above-described control device, and may be a component of the electronic device 100b.
- the user input unit 190 may receive input that draws the configuration of the applications desired by the user. For example, when the user input unit 190 is implemented as a touch screen or a touchpad, the input unit 190 may receive an input using a user's finger or an electronic pen. The user input 190 may also receive an input to select a recommendation application to display on the display 230 when a plurality of recommendation applications corresponding to the recognized object from the image are determined.
- the block diagrams of the electronic devices 100a and 100b shown in Figures 2 and 3 are block diagrams for one embodiment.
- Each component of the block diagram may be integrated, added, or omitted according to the specifications of the actual implementation of electronic devices 100a and 100b.
- two or more components may be combined into one component, or one component may be divided into two or more components.
- the functions performed in each block are intended to illustrate embodiments, and the specific operation or apparatus does not limit the scope of the present invention.
- FIG. 4 is a diagram illustrating various examples of images according to one embodiment.
- the electronic device 100 may recognize one or more objects from an image.
- the image may include, but is not limited to, a picture drawn by a user or a photographed image as an image representing the configuration of applications desired by the user.
- the electronic device 100 may receive an external input through a display 230 implemented with a touch screen or a touch pad, which draws a picture representing the configuration of the applications desired by the user, By generating a corresponding picture, an image can be obtained. Also, the electronic device 100 can acquire, as an image, a photograph of a picture showing a configuration of applications desired by the user using the camera unit 162.
- the electronic device 100 can acquire, as an image, a photograph captured by a user of the external device using the camera unit 162, or a captured image of an application displayed on a display of the external device.
- the electronic device 100 may receive an image from an external device.
- the electronic device 100 may receive an image generated by another user's device using wireless communication. Accordingly, the electronic device 100 can acquire various types of images and recognize one or more objects from the acquired images.
- the image includes a photograph 401 taken by the camera unit 162, an image 402 representing the application displayed on the display of the external device, And may include a picture 403 drawn by the user via the display 230.
- FIG. 4 the photograph 401 shown in FIG. 4 is obtained by photographing a picture drawn by a user, and the photograph 401 may include a configuration of applications desired by the user.
- the image used to determine the recommended application may be an image captured by capturing a screen on which an application desired by the user is captured, an image obtained by photographing a screen on which a desired application is displayed, But is not limited thereto.
- the electronic device 100 can receive external inputs that draw the configuration of desired applications via the display 230 implemented with a touch screen , A picture corresponding to the received external input can be generated.
- the user may wish to display an application for displaying a task list and a music playback application on the display of the electronic device 100, such as the image 403 shown in Fig. Accordingly, the user can draw a picture such as the image 403 shown in FIG. 4 using the display 230 implemented with the touch screen, and the picture drawn by the user can be stored as one image .
- 5 and 6 are views for explaining a process of performing a preprocessing operation on one or more objects recognized from an image according to an embodiment.
- the electronic device 100 may recognize one or more objects from an image and perform a preprocessing operation to input the recognized one or more objects to one or more neural networks.
- an image 500 may be a picture drawn by a user as an image containing a configuration of applications desired by the user.
- the image 500 includes a first object 501 representing the calendar application at the top of the image 500, a second object 502 representing the memo application at the bottom right of the image, And a third object 503 representing an application.
- the electronic device 100 may determine a recommendation application corresponding to the first object 501 to the third object 503 recognized from the image using a learning model using one or more neural networks . At this time, the electronic device 100 may perform a preprocessing operation for inputting the first object to the third object 501, 502, 503 to the learning model. A preprocessing operation may also be performed to learn how the learning model extracts the attributes of the referral application from one or more objects and determines one or more referral applications based on the attributes of the extracted referral application.
- the learning model may be configured to extract attributes of a referral application from one or more objects in response to one or more objects being entered into one or more neural networks and to determine one or more referral applications based on the extracted attributes of the referral application Can be determined by learning how to do it.
- one or more objects input to one or more neural networks may be objects for which a preprocessing operation has been performed.
- the electronic device 100 may perform a crop operation on first to third objects 501, 502, and 503 included in the image .
- the electronic device 100 has the first object to the third object 511, 512, 513 in response to the input of the first object to the third object 511, 512, 513, It is possible to determine one or more recommended applications corresponding to each of them.
- the method of cropping the first to third objects 501, 502, 503 may vary according to the embodiment.
- the electronic device 100 may be configured to perform operations such as analyzing a change in color in the image 500, detecting a boundary line indicating an area in the image 500,
- the first object to the third object 501, 502, 503 can be cropped by using at least one of the operations of extracting the shape of the first object and the shape of the second object.
- the shape of one or more objects recognized from the photograph may vary depending on the photographing angle, the photographing environment, and the like.
- a plurality of objects 531, 532, and 533 recognized from the image 520 have a distorted shape when the image 520 is photographed in an inclined state, for example, .
- the electronic device 100 can correct a distorted shape by performing a warping operation on a plurality of objects 531, 532, and 533 having a distorted shape.
- the warping operation may mean an operation of transforming the shape of the image according to a predetermined rule, and various warping algorithms may be used according to the embodiment.
- the electronic device 100 performs warping on a plurality of objects 531, 532, and 533 having a distorted shape to generate a plurality of objects 541, 542, 543).
- the electronic device 100 may also determine one or more recommended applications corresponding to each of the plurality of shape corrected objects 541, 542, 543 using a learning model using one or more neural networks.
- FIG. 7 is a diagram for explaining a process in which an electronic device according to an embodiment determines one or more recommended applications corresponding to one or more objects recognized from an image, respectively.
- the electronic device 100 may determine one or more recommended applications corresponding to one or more objects recognized from the image using a learning model using one or more neural networks.
- the electronic device 100 includes a first object 601 representing a calendar application from the image, a second object 602 representing a memo application, and a third object representing a weather application 603).
- the electronic device 100 can determine one or more recommended applications corresponding to each of the first to third objects 601, 602, and 603 using the learning model 610 using one or more neural networks.
- the preprocessing operation including at least one of the cropping operation and the warping operation may be performed on the first object to the third object 601, 602, 603 input to the learning model 610.
- the electronic device 100 is configured to have one of the first to third objects 601, 602, and 603 corresponding to the first to third objects 601, 602, and 603 according to the degree of similarity to the first to third objects 601, 602, It is possible to determine the recommended application.
- the electronic device 100 can extract the attribute of the recommendation application from the first object to the third object 601, 602, 603, and can determine one or more recommended applications based on the extracted attribute of the recommendation application.
- the electronic device 100 may store the type of the application (for example, a calendar application), the type of the application (for example, a grid calendar month calendar), and an application color (e.g., a white background and a black letter). Also, the electronic device 100 can extract the type of application (for example, a memo application) and the color of the application (yellow wallpaper) as attributes of the recommendation application corresponding to the second object 602 (For example, a weather application), an application type (a picture showing today's weather), and a color of an application (for example, blue Desktop) can be extracted.
- a calendar application for example, a calendar application
- the type of the application for example, For example, a grid calendar month calendar
- an application color e.g., a white background and a black letter.
- the electronic device 100 can extract the type of application (for example, a memo application) and the color of the application (yellow wallpaper) as attributes of the recommendation application corresponding to the second object 602 (For example, a weather application), an application type
- the electronic device 100 can determine one or more recommended applications based on the extracted properties of the recommended application. For example, the electronic device 100 can select one or more recommended applications from the application DB based on the extracted properties of the recommended application.
- the application DB may include a list of applications installed in the electronic device 100 and a list of applications not installed in the electronic device 100.
- the electronic device 100 can receive and install applications not installed in the electronic device 100 from an external server through the application store.
- the electronic device 100 can calculate the score of a plurality of applications selected from the application DB according to the degree of matching with the attribute of the extracted recommended application. For example, the higher the degree of matching with the attributes of the extracted recommendation application, the higher the calculated score.
- the electronic device 100 can preferentially recommend an application with a higher calculated score. Accordingly, the electronic device 100 can determine a predetermined number of applications as a plurality of recommended applications according to the order of the highest score, and by displaying a plurality of recommended applications on the display 230, It is possible to select one of the applications.
- the A calendar application 621 and the B calendar application 622 can be determined as a recommendation application corresponding to the first object 601.
- the electronic memo application 631 and the D memo application program 632 are displayed on the basis of the attribute of the recommendation application extracted from the second object 602 (for example, a memo application, a yellow background) (For example, a weather application, a picture representing today's weather, a blue desktop) extracted from the third object 603, and the attribute of the recommendation application extracted from the third object 603 can be determined as a recommendation application corresponding to the second object 602.
- a weather application a picture representing today's weather, a blue desktop
- the E weather application 641 and the F weather application 642 can be determined as a recommendation application corresponding to the third object 603.
- the electronic device 100 may display recommendation applications corresponding to the first to third objects 601, 602, and 603 on the display 230, The user can select an application desired by the user. Thus, the electronic device 100 can more accurately and easily recommend an application satisfying a condition desired by the user.
- FIG. 8 is a diagram illustrating an example of a neural network that learns a method for determining a recommendation application corresponding to an object according to an embodiment.
- one or more neural networks 700 can learn how to determine a recommendation application corresponding to a learning object, using a plurality of learning objects 701 to 705 as input values.
- the plurality of learning objects 701 to 705 can be extracted from an image representing the configuration of applications desired by the user, and can be in the form of a picture drawn by a user or a photographed picture.
- the plurality of objects 701 to 705 may be an object extracted from a drawing drawn on paper by a user, such as the first object 701 shown in Fig. 8, and the second object 702 and Or may be an object generated using a predetermined picture editing software, such as a fifth object 705.
- the plurality of objects 701 to 705 may be an object generated by capturing an application displayed on a display of another device such as a third object 703 and may be an object generated by touch- But is not limited to, an object generated by receiving an input drawn from a display of the electronic device 100.
- the one or more neural networks 700 can learn how to extract the attributes of the recommendation application from the plurality of learning objects 701 to 705.
- the attribute of the recommendation application may include at least one of the type, size, color, and type of the application, and the attribute of the extracted recommendation application may be represented by a keyword, but the present invention is not limited thereto.
- the one or more neural networks 700 may learn how to determine one or more recommended applications based on the extracted properties of the recommended applications, and a learning model 710 may be generated based on the learned results have.
- the operation of learning how to determine one or more recommended applications corresponding to an object using one or more neural networks 700 may be performed in advance. Also, as learning objects input into one or more neural networks 700 are added, the learning model 710 may be updated.
- the operation of learning how to determine one or more recommended applications corresponding to an object using the one or more neural networks 700 may be performed in the electronic device 100 and may be performed in an external server .
- the external server performs the learning operation, and the electronic device 100 receives the learning model 710 from the external server, thereby reducing the amount of computation to be performed in the electronic device 100.
- the electronic device 100 may receive the learning model 710 from an external server in advance and store the learning model 710 in the memory and use the stored learning model 710 to determine one or more recommended applications corresponding to the object.
- 9 and 10 are views for explaining a process of selecting an application to be displayed on a display from among a plurality of recommended applications according to an embodiment.
- the electronic device 100 can determine a plurality of recommendation applications respectively corresponding to one or more objects extracted from an image and allow the user to select one recommendation application from a plurality of recommendation applications.
- the electronic device 100 may determine the attributes of a referral application (e.g., a calendar application, a white-collar application, etc.) extracted from a first object 601.
- the calendar application 801 and the B calendar application 802 can be determined as a recommendation application corresponding to the first object 601 based on the desktop calendar, the black letter, and the grid calendar month calendar.
- the electronic memo application 811 and the D memo application 812 based on the attribute of the recommended application extracted from the second object 602 (e.g., a memo application, a yellow background) (For example, a weather application, a picture representing today's weather, a blue desktop) extracted from the third object 603, and the attribute of the recommendation application extracted from the third object 603 can be determined as a recommendation application corresponding to the second object 602.
- a weather application a picture representing today's weather, a blue desktop
- the E weather application 821 and the F weather application 822 can be determined as a recommendation application corresponding to the third object 603.
- the electronic device 100 includes an A calendar application 801 and a B calendar application 802, a C memo application 811, a D memo application 812, an E weather application 821,
- the application 822 may be displayed on the display 230 and may receive input to select some of the recommended applications displayed by the user. 9, as input is received from the user to select the B calendar application 802, the C memo application 811, and the E weather application 821, the electronic device 100 will And may display the selected applications on the display 230.
- the electronic device 100 can set a placement criterion for placing a recommendation application based on an image when displaying a recommendation application selected from a plurality of recommendation applications on the display 230, The selected recommendation application can be placed on the display 230.
- an electronic device 100 may include a first object 831 representing a calendar application, a second object 832 representing a weather application, And the position and the size of the third object 833 indicating the second object 830.
- the electronic device 100 also corresponds to the B calendar application 802 corresponding to the first object 831, the C note application 842 corresponding to the second object 832, and the third object 833
- a placement criterion for placing the F weather application 821 on the display 230 can be set.
- the electronic device 100 may place the B calendar application 802 at the top with a size corresponding to two-thirds of the size of the display 230 and the C note application 842 with the size of the display 230 And the F weather application 821 may be arranged at the lower right of the display 230 in a size corresponding to 1/3 of the size of the display 230. [ The electronic device 100 may also place the B calendar application 802, the C memo application 812, and the F weather application 821 on the display 230, in accordance with the set placement criteria.
- FIG. 11 is a diagram showing an example in which an electronic device according to an embodiment receives and installs a recommendation application from an external server.
- the electronic device 100 can receive and install an application selected from an external server when an application selected from a plurality of recommended applications is not installed in the electronic device 100.
- electronic device 100 may determine a C memo application 910 and a D memo application 902 as a recommendation application and may input an input for selecting a C memo application 910 from a user Lt; / RTI >
- the electronic device 100 displays a message 910 to select whether to download the C memo application 901 from the application store .
- the electronic device 100 can access the application store and receive and install the C note application 910.
- the electronic device 100 also sets a placement criterion for placing the C memo application 910 on the display 230 based on the image and displays the C memo application 910 on the display 230 ). ≪ / RTI > Accordingly, even when the recommendation application is not installed in the electronic device 100, the electronic device 100 can more conveniently provide the recommendation application satisfying the user's desired condition.
- FIG. 12 is an illustration showing an example in which an electronic device according to an embodiment updates text information recognized from an image to a recommendation application.
- the electronic device 100 can recognize text information from an object and update text information to a recommendation application corresponding to the object.
- an object 1001 may be a picture in which a calendar is drawn in November 2017, and text information indicating a predetermined event (for example, a birthday, a party) is written in the calendar .
- the electronic device 100 can recognize the text information from the object 1001 and can update the recognized text information in the recommendation application corresponding to the object 1001.
- the electronic device 100 can receive an external input for selecting a recommended application to be displayed on the display 230 among a plurality of recommendation applications And can update the recognized text information in the selected recommendation application. For example, as shown in Fig.
- the electronic device 100 recognizes "birthday” written on November 16 and "dinner” written on November 29 as text information from the object 1001 can do.
- the electronic device 100 also determines the K calendar application 1010 as a recommendation application corresponding to the object 1001 and sends the recognized text information ("birthday” and "party") to the K calendar application 1010, To the November 2017 calendar. Accordingly, the electronic device 100 may display on the display 230 a K calendar application 1010 that represents the calendar of November 2017, and in the displayed K calendar application 1010, Birthday " in the region corresponding to November 29, and " dinner " can be displayed in the region corresponding to November 29.
- a green highlight may be displayed in the area corresponding to November 16, and a red highlight may be displayed in the area corresponding to November 29.
- the electronic device 100 may display green highlights and red highlights in areas corresponding to November 16 and November 29, respectively, in the K calendar application 1010 displayed on the display 230.
- the K calendar application 1010 does not provide a green highlight and a red highlight
- the electronic device 100 may display the highlight in a different color or display the highlight in another form, but the present invention is not limited thereto.
- FIG. 13 is a flowchart showing an operation method of an electronic device according to an embodiment.
- step S1100 the electronic device 100 recognizes one or more objects from the image.
- One or more objects recognized from the image may correspond to each application and may represent attributes of the application desired by the user.
- the electronic device 100 analyzes an image to detect a boundary line that separates a predetermined area included in the image, a degree of color change in the image, a shape representing a predetermined area included in the image, To recognize one or more objects, but is not limited thereto.
- step S1110 the electronic device 100 determines one or more recommended applications corresponding to one or more objects, respectively, using a learning model using one or more neural networks.
- the electronic device 100 may determine one or more recommended applications, each corresponding to one or more objects, based on a degree of similarity with one or more objects, using a learning model using one or more neural networks.
- the electronic device 100 can also extract the attribute of the recommendation application from one or more objects and determine one or more recommendation applications based on the extracted attribute of the recommendation application.
- the attributes of the recommendation application may include at least one of the type, size, color, and type of the application.
- the electronic device 100 can select one or more recommended applications corresponding to the object from the application DB.
- the application DB may include a list of applications installed in the electronic device 100 and applications stored in the external server.
- Applications stored in the external server may mean applications not installed in the electronic device 100a, and the electronic device 100a may receive and install the applications from an external server.
- the electronic device 100a can receive and install applications not installed in the electronic device 100a through an application store from an external server, but the present invention is not limited thereto.
- step S1120 the electronic device 100 displays on the display 230 of the electronic device 1000 for one or more recommended applications to operate.
- the electronic device 100 may set a placement criterion for placing one or more recommendation applications on the display 230 based on the images. For example, the electronic device 100 may determine at least one of the size, position, and transparency of each object from one or more objects recognized from the image. In addition, the electronic device 100 may place a recommendation application corresponding to each object on the display 230 based on at least one of the size, position, and transparency of each object.
- FIG. 14 is a block diagram illustrating a configuration of a processor according to an embodiment.
- a processor 220 may include a data learning unit 1210 and a data recognizing unit 1220.
- the data learning unit 1210 may learn a criterion for determining a recommendation application corresponding to an object recognized from the image.
- the data learning unit 1210 can learn a criterion on which information of an object is used to determine a recommendation application corresponding to the object. Further, the data learning unit 1210 can learn a criterion on how to determine a recommendation application using the information of the object. Further, the data learning unit 1210 can learn a criterion for extracting the attribute of the recommendation application from the object recognized from the image, and determine one or more recommendation applications corresponding to the object based on the extracted attribute of the recommendation application Can be learned.
- the data learning unit 1210 can acquire an object to be used for learning and apply the obtained object to a data recognition model to be described later to learn a criterion for determining a recommendation application corresponding to the object.
- the data recognition unit 1220 can determine one or more recommended applications corresponding to the object, and output the determined result.
- the data recognition unit 1220 can determine one or more recommended applications corresponding to the object using the learned data recognition model.
- the data recognizing unit 1220 can acquire an object according to a preset reference by learning and use the data recognition model with the obtained object as an input value.
- the data recognition unit 1220 can determine one or more recommended applications corresponding to the object by using the data recognition model.
- the result value output by the data recognition model with the object as an input value can be used to update the data recognition model.
- At least one of the data learning unit 1210 and the data recognizing unit 1220 may be manufactured in the form of at least one hardware chip and mounted on the electronic device.
- at least one of the data learning unit 1210 and the data recognizing unit 1220 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be a conventional general-purpose processor Or application processor) or a graphics-only processor (e.g., a GPU), and may be mounted on various electronic devices as described above.
- AI artificial intelligence
- GPU graphics-only processor
- the data learning unit 1210 and the data recognizing unit 1220 may be mounted on one device or may be mounted on separate devices, respectively.
- one of the data learning unit 1210 and the data recognizing unit 1220 may be included in the electronic device 100, and the other may be included in the server.
- the data learning unit 1210 and the data recognition unit 1220 may provide the model information constructed by the data learning unit 1210 to the data recognition unit 1220 via a wire or wireless communication, 1220 may be provided to the data learning unit 1210 as additional learning data.
- At least one of the data learning unit 1210 and the data recognition unit 1220 may be implemented as a software module.
- the software module may be a computer-readable, And may be stored in non-transitory computer readable media.
- the at least one software module may be provided by an operating system (OS) or by a predetermined application.
- OS operating system
- OS Operating System
- some of the at least one software module may be provided by an Operating System (OS)
- OS Operating System
- 15 is a block diagram showing a configuration of a data learning unit according to an embodiment.
- a data learning unit 1210 includes a data acquisition unit 1211, a preprocessing unit 1212, a learning data selection unit 1213, a model learning unit 1214, 1215).
- the data acquisition unit 1211 may acquire data necessary for learning to determine one or more recommended applications corresponding to the object.
- the data acquisition unit 1211 may acquire data from an external server such as a social network server, a cloud server, or a content providing server.
- the data acquisition unit 1211 can acquire an object necessary for learning to determine one or more recommended applications corresponding to the object.
- the data acquisition unit 1211 may acquire an object from at least one external device connected to the electronic device 100 via a network, and may extract one or more objects from a picture drawn by the user or a photographed picture Thereby obtaining an image.
- the preprocessing unit 1212 can preprocess acquired data so that it can be used for learning to determine one or more recommended applications corresponding to the object.
- the preprocessing unit 1212 can process the acquired data into a predetermined format so that the model learning unit 1214, which will be described later, can use the acquired data for learning to determine one or more recommended applications corresponding to the object.
- the preprocessing unit 1212 can process the obtained object into a predetermined format by performing a preprocessing operation including at least one of a cropping operation and a warping operation on the obtained object.
- the learning data selection unit 1213 can select data necessary for learning from the preprocessed data.
- the selected data may be provided to the model learning unit 1214.
- the learning data selection unit 1213 can select data necessary for learning from the preprocessed data according to a predetermined criterion for determining one or more recommended applications corresponding to the object.
- the learning data selection unit 1213 can also select data according to a predetermined reference by learning by the model learning unit 1214, which will be described later.
- the model learning unit 1214 can learn a criterion on which learning data should be used in order to determine one or more recommended applications corresponding to the object. For example, the model learning unit 1214 can learn a criterion for extracting the attribute of the recommendation application from the object, and can learn at least one of the type, color, size, and type of the recommendation application.
- the model learning unit 1214 can learn a data recognition model used for determining one or more recommended applications corresponding to the object, using learning data.
- the data recognition model may be a pre-built model.
- the data recognition model may be a pre-built model that receives basic learning data (e.g., a sample image, etc.).
- the data recognition model can be constructed considering the application field of the recognition model, the purpose of learning, or the computer performance of the device.
- the data recognition model may be, for example, a model based on a neural network.
- models such as Deep Neural Network (DNN), Recurrent Neural Network (RNN), and Bidirectional Recurrent Deep Neural Network (BRDNN) may be used as a data recognition model, but the present invention is not limited thereto.
- the model learning unit 1214 can determine a data recognition model to learn a data recognition model having a large relation between input learning data and basic learning data if there are a plurality of data recognition models that are built in advance have.
- the basic learning data may be pre-classified according to the type of data, and the data recognition model may be pre-built for each data type.
- the basic learning data may be pre-classified by various criteria such as an area where the learning data is generated, a time at which the learning data is generated, a size of the learning data, a genre of the learning data, a creator of the learning data, .
- model learning unit 1214 can learn a data recognition model using, for example, a learning algorithm including an error back-propagation method or a gradient descent method.
- the model learning unit 1214 can learn a data recognition model through, for example, supervised learning using learning data as an input value. In addition, the model learning unit 1214 learns, for example, the type of data necessary for judging the state of the user without any further guidance, thereby learning unsupervised learning ), The data recognition model can be learned. In addition, the model learning unit 1214 can learn the data recognition model through reinforcement learning using, for example, feedback as to whether the result of determining the state of the user according to learning is correct.
- the model learning unit 1214 can store the learned data recognition model.
- the model learning unit 1214 can store the learned data recognition model in the memory of the apparatus including the data recognition unit 1220.
- the model learning unit 1214 may store the learned data recognition model in the memory of the apparatus including the data recognition unit 1220 to be described later.
- the model learning unit 1214 may store the learned data recognition model in the memory of the server connected to the electronic device 100 via a wired or wireless network.
- the memory in which the learned data recognition model is stored may also store instructions or data associated with, for example, at least one other component of the device.
- the memory may also store software and / or programs.
- the program may include, for example, a kernel, a middleware, an application programming interface (API), and / or an application program (or " application ").
- the model evaluation unit 1215 inputs the evaluation data to the data recognition model and can cause the model learning unit 1214 to learn again if the recognition result output from the evaluation data does not satisfy the predetermined criterion.
- the evaluation data may be predetermined data for evaluating the data recognition model.
- the model evaluation unit 1215 does not satisfy the predetermined criterion It can be evaluated as not successful. For example, when a predetermined criterion is defined as a ratio of 2%, and the learned data recognition model outputs an incorrect recognition result for evaluation data exceeding 20 out of a total of 1000 evaluation data, It is possible to evaluate that the data recognition model is not suitable.
- the model evaluation unit 1215 evaluates whether each of the learned data recognition models satisfies a predetermined criterion, and evaluates the model satisfying the predetermined criterion as a final data recognition model You can decide. In this case, when there are a plurality of models satisfying the predetermined criterion, the model evaluating unit 1215 can determine any one or a predetermined number of models preset in descending order of the evaluation score as a final data recognition model.
- At least one of the data acquisition unit 1211, the preprocessing unit 1212, the learning data selection unit 1213, the model learning unit 1214, and the model evaluation unit 1215 in the data learning unit 1210 includes at least one And can be mounted on an electronic device.
- at least one of the data acquisition unit 1211, the preprocessor 1212, the learning data selection unit 1213, the model learning unit 1214, and the model evaluation unit 1215 may be an artificial intelligence (AI) Or may be implemented as part of a conventional general-purpose processor (e.g., a CPU or an application processor) or a graphics-only processor (e.g., a GPU) and mounted on the various electronic devices described above.
- AI artificial intelligence
- a conventional general-purpose processor e.g., a CPU or an application processor
- a graphics-only processor e.g., a GPU
- the data acquisition unit 1211, the preprocessing unit 1212, the learning data selection unit 1213, the model learning unit 1214, and the model evaluation unit 1215 may be mounted on one device, Respectively.
- some of the data acquisition unit 1211, the preprocessing unit 1212, the learning data selection unit 1213, the model learning unit 1214, and the model evaluation unit 1215 are included in the electronic device 100, Some of the rest can be included in the server.
- At least one of the data acquisition unit 1211, the preprocessor 1212, the learning data selection unit 1213, the model learning unit 1214, and the model evaluation unit 1215 may be implemented as a software module.
- At least one of the data acquisition unit 1211, the preprocessing unit 1212, the learning data selection unit 1213, the model learning unit 1214 and the model evaluation unit 1215 is a software module (or a program including an instruction) Module), the software module may be stored in a computer-readable, readable non-transitory computer readable media.
- the at least one software module may be provided by an operating system (OS) or by a predetermined application.
- OS operating system
- OS Operating System
- some of the software module may be provided by an Operating System (OS)
- some of the software modules may be provided by a predetermined application.
- 16 is a block diagram showing a configuration of a data recognition unit according to an embodiment.
- the data recognition unit 1220 includes a data acquisition unit 1221, a preprocessing unit 1222, a recognition data selection unit 1223, a recognition result providing unit 1224, 1225 < / RTI >
- the data acquisition unit 1221 may acquire data necessary for determining one or more recommended applications corresponding to the object, and the preprocessing unit 1222 may acquire data necessary for determining one or more recommended applications corresponding to the object
- the acquired data can be preprocessed.
- the preprocessing unit 1222 can process the acquired data into a predetermined format so that the recognition result providing unit 1224, which will be described later, can use the acquired data to determine one or more recommended applications corresponding to the object.
- the recognition data selection unit 1223 can select data necessary for determining one or more recommended applications corresponding to the object among the preprocessed data.
- the selected data may be provided to the recognition result provider 1224.
- the recognition data selection unit 1223 can select some or all of the preprocessed data according to a predetermined criterion for determining one or more recommended applications corresponding to the object.
- the recognition result providing unit 1224 can apply the selected data to the data recognition model to determine one or more recommended applications corresponding to the object.
- the recognition result providing unit 1224 can provide the recognition result according to the data recognition purpose.
- the recognition result providing unit 1224 can apply the selected data to the data recognition model by using the data selected by the recognition data selecting unit 1223 as an input value.
- the recognition result can be determined by the data recognition model.
- the recognition result providing unit 1224 may provide identification information indicating the determined one or more recommended applications.
- the recognition result providing unit 1224 may provide the type, size, and location information of the determined one or more recommended applications.
- the model updating unit 1225 can update the data recognition model based on the evaluation of the recognition result provided by the recognition result providing unit 1224.
- the model updating unit 1225 may provide the model learning unit 1014 with the recognition result provided by the recognition result providing unit 1224 so that the model learning unit 1014 can update the data recognition model have.
- At least one of the data acquisition unit 1221, the preprocessing unit 1222, the recognition data selection unit 1223, the recognition result providing unit 1224 and the model updating unit 1225 in the data recognizing unit 1220 is a It can be manufactured in the form of a single hardware chip and mounted on the electronic device 100.
- at least one of the data acquisition unit 1221, the preprocessor 1222, the recognition data selection unit 1223, the recognition result providing unit 1224, and the model updating unit 1225 may be an artificial intelligence Or may be mounted on a variety of electronic devices as described above and manufactured as part of a conventional general purpose processor (e.g., a CPU or an application processor) or a graphics dedicated processor (e.g., a GPU).
- a conventional general purpose processor e.g., a CPU or an application processor
- a graphics dedicated processor e.g., a GPU
- the data acquisition unit 1221, the preprocessing unit 1222, the recognition data selection unit 1223, the recognition result providing unit 1224, and the model updating unit 1225 may be installed in one apparatus, Devices, respectively.
- some of the data acquisition unit 1221, the preprocessing unit 1222, the recognition data selection unit 1223, the recognition result providing unit 1224, and the model updating unit 1225 are included in the electronic device 100 , And the rest may be included in the server.
- At least one of the data acquisition unit 1221, the preprocessing unit 1222, the recognition data selection unit 1223, the recognition result providing unit 1224, and the model updating unit 1225 may be implemented as a software module.
- At least one of the data acquisition unit 1221, the preprocessing unit 1222, the recognition data selection unit 1223, the recognition result providing unit 1224 and the model updating unit 1225 may be a software module (or an instruction) Program modules), the software modules may be stored in a computer-readable, readable non-transitory computer readable media.
- the at least one software module may be provided by an operating system (OS) or by a predetermined application.
- OS operating system
- OS Operating System
- some of the software module may be provided by a predetermined application.
- 17 is a block diagram showing a configuration of a server according to an embodiment.
- a server 2000 may include a DB 2100, a communication unit 2200, and a processor 2300.
- DB 2100 may store one or more objects recognized from an image representing the configuration of applications desired by the user.
- the communication unit 2200 may include one or more components for communicating with the electronic device 100.
- the processor 2300 typically controls the overall operation of the server 2000.
- the processor 2300 can entirely control the DB 2100 and the communication unit 2200 by executing programs stored in the DB 2100 of the server 2000.
- the processor 2300 may perform some of the operations of the electronic device 100 in Figures 1-15 by executing programs stored in the DB 2100.
- Processor 2300 may perform the function of determining one or more recommended applications corresponding to an object, which is a function performed by electronic device 100 in FIGS. 1-16.
- FIG. 18 is a diagram showing an example in which an electronic device and a server according to an embodiment learn and recognize data by interlocking with each other.
- the server 2000 may learn a criterion for determining one or more recommended applications corresponding to an object.
- the server 2000 can learn the criteria for determining one or more recommended applications corresponding to an object by acquiring data to be used for learning and applying the acquired data to a data recognition model.
- the model learning unit 2104 of the server 2000 can perform the function of the data learning unit 1210 shown in Fig.
- the model learning unit 2104 of the server 2000 can learn the criteria as to which data to use to determine one or more recommended applications corresponding to the object.
- the model learning unit 2104 of the server 2000 can learn a criterion on how to determine one or more recommended applications corresponding to an object using data.
- the model learning unit 2104 can acquire data to be used for learning and apply the acquired data to the data recognition model, thereby learning a criterion for determining one or more recommended applications corresponding to the object.
- the recognition result providing unit 1224 of the electronic device 100 may apply the data selected by the recognition data selecting unit 1023 to the data recognition model generated by the server 2000 so that one or more A recommendation application can be determined.
- the recognition result providing unit 1024 transmits the data selected by the recognition data selecting unit 1023 to the server 2000, and the server 2000 transmits the data selected by the recognition data selecting unit 1023 To the recognition model to determine one or more recommended applications corresponding to the object.
- the recognition result providing unit 1224 of the electronic device 100 may receive the recognition model generated by the server 2000 from the server 2000 and may use one or more recommended applications corresponding to the object Can be determined. In this case, the recognition result providing unit 1224 of the electronic device 100 applies the data selected by the recognition data selecting unit 1223 to the data recognition model received from the server 2000, A recommendation application can be determined.
- the electronic device 100 and the server 2000 can effectively perform a task for learning and data recognition of a data recognition model, and can perform data processing in order to provide a service corresponding to a user's intention. Efficiently, and effectively protects user's privacy.
- Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
- the computer-readable medium may include both computer storage media and communication media.
- Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.
- " part " may be a hardware component such as a processor or a circuit, and / or a software component executed by a hardware component such as a processor.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 개시의 실시예에 따른 전자 장치는, 디스플레이, 하나 이상의 인스트럭션을 저장하는 메모리, 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는 하나 이상의 인스트럭션을 실행함으로써, 이미지로부터 하나 이상의 오브젝트를 인식하고, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고, 결정된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
Description
개시된 다양한 실시예들은 전자 장치 및 그 동작 방법에 관한 것으로서, 보다 상세하게는, 사용자가 원하는 어플리케이션들의 구성을 자동으로 인식하여 표시하는 방법에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
개시된 다양한 실시예들은, 이미지로부터 인식된 오브젝트에 대응하는 추천 어플리케이션을 제공함으로써, 사용자가 원하는 어플리케이션을 보다 빠르고 편리하게 제공하는 전자 장치 및 그 동작 방법을 제공하기 위한 것이다.
전술한 기술적 과제를 달성하기 위해서, 일 실시예에 따른 전자 장치는, 디스플레이, 하나 이상의 인스트럭션을 저장하는 메모리, 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는 하나 이상의 인스트럭션을 실행함으로써, 이미지로부터 하나 이상의 오브젝트를 인식하고, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고, 결정된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
본 개시의 실시예에 따른 전자 장치 및 그 동작 방법은 데이터 인식 모델의 학습 및 데이터 인식을 위한 작업을 효과적으로 분배하여 수행할 수 있으며, 이를 통하여, 사용자의 의도에 부합하는 서비스를 제공하기 위하여 데이터 처리를 효율적으로 수행하고, 사용자의 프라이버시를 효과적으로 보호할 수 있다.
도 1은 일 실시예에 따른 전자 장치를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3은 다른 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 4는 일 실시예에 따른 이미지의 예시를 나타내는 도면이다.
도 5 및 도 6은 일 실시예에 따라 이미지로부터 인식된 하나 이상의 오브젝트에 대한 전처리 동작을 수행하는 과정을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 전자 장치가 이미지로부터 인식된 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하는 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따라 오브젝트에 대응하는 추천 어플리케이션을 결정하는 방법을 학습하는 뉴럴 네트워크(neural network)를 설명하기 위한 도면이다.
도 9 및 도 10은 일 실시예에 따라 복수의 추천 어플리케이션 중에서 디스플레이에 표시할 어플리케이션을 선택하는 과정을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 전자 장치가 외부 서버로부터 추천 어플리케이션을 수신하여 설치하는 예시를 나타내는 도면이다.
도 12는 일 실시예에 따른 전자 장치가 이미지로부터 인식된 텍스트 정보를 추천 어플리케이션에 업데이트하는 예시를 나타내는 도면이다.
도 13은 일 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
도 14는 일 실시예에 따른 프로세서의 구성을 나타내는 블록도이다.
도 15는 일 실시예에 따른 데이터 학습부의 구성을 나타내는 블록도이다.
도 16은 일 실시예에 따른 데이터 인식부의 구성을 나타내는 블록도이다.
도 17은 일 실시예에 따른 서버의 구성을 나타내는 블록도이다.
도 18은 일 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
일 실시예에 따른 전자 장치는, 디스플레이, 하나 이상의 인스트럭션을 저장하는 메모리, 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 프로세서는 하나 이상의 인스트럭션을 실행함으로써, 이미지로부터 하나 이상의 오브젝트를 인식하고, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고, 결정된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트와의 유사도에 따라, 하나 이상의 오브젝트에 각각 대응하는 복수의 추천 어플리케이션을 결정하고, 복수의 추천 어플리케이션으로부터 하나 이상의 어플리케이션을 선택하는 외부 입력에 응답하여, 선택된 하나 이상의 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써,이미지에 기초하여 하나 이상의 추천 어플리케이션을 디스플레이에 배치하기 위한 배치 기준을 설정하고, 설정된 배치 기준에 기초하여 하나 이상의 추천 어플리케이션을 디스플레이에 배치할 수 있다.
일 실시예에 따른 학습 모델은, 하나 이상의 뉴럴 네트워크에 하나 이상의 오브젝트가 입력된 것에 응답하여, 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성 (attribute)을 추출하고, 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습함으로써 결정될 수 있다.
일 실시예에 따른 추천 어플리케이션의 속성은, 어플리케이션의 종류, 크기, 색상, 형태 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 인식된 하나 이상의 오브젝트를 학습 모델에 입력하기 위한 전처리(pre-processing) 동작을 수행하고, 전처리 동작은 크롭(crop) 동작 및 워핑(warping) 동작 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 이미지는, 사용자가 원하는 어플리케이션들의 구성을 그리는 외부 입력을 수신함으로써 생성된 이미지, 또는 사용자가 원하는 어플리케이션들의 구성이 포함된 이미지를 촬영함으로써 획득된 사진을 포함할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 인식된 하나 이상의 객체에 각각 대응하는 하나 이상의 추천 어플리케이션을 어플리케이션 DB로부터 선택하고, 어플리케이션 DB는 전자 장치에 설치된 어플리케이션들 및 외부 서버에 저장된 어플리케이션들의 리스트를 포함할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 선택된 하나 이상의 추천 어플리케이션이 전자 장치에 설치되지 않은 어플리케이션이라고 판단됨에 따라, 외부 서버로부터 선택된 하나 이상의 추천 어플리케이션을 수신하여 설치하고, 설치된 하나 이상의 추천 어플리케이션이 동작하도록 디스플레이에 표시할 수 있다.
일 실시예에 따른 프로세서는, 하나 이상의 인스트럭션을 실행함으로써, 하나 이상의 오브젝트로부터 텍스트 정보를 인식하고, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션에 텍스트 정보를 업데이트하고, 텍스트 정보가 업데이트된 하나 이상의 추천 어플리케이션을 디스플레이에 표시할 수 있다.
일 실시예에 따른 전자 장치의 동작 방법은, 이미지로부터 하나 이상의 오브젝트를 인식하는 단계, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하는 단계, 및 결정된 하나 이상의 추천 어플리케이션이 동작하도록 전자 장치의 디스플레이에 표시하는 단계를 포함할 수 있다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에서 사용되는 용어는, 본 개시에서 언급되는 기능을 고려하여 현재 사용되는 일반적인 용어로 기재되었으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 다양한 다른 용어를 의미할 수 있다. 따라서 본 개시에서 사용되는 용어는 용어의 명칭만으로 해석되어서는 안되며, 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 해석되어야 한다.
또한, 본 개시에서 사용된 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것이며, 본 개시를 한정하려는 의도로 사용되는 것이 아니다. 단수의 표현은 문맥상 명백하게 단수를 뜻하지 않는 한, 복수의 의미를 포함한다. 또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본 명세서, 특히, 특허 청구 범위에서 사용된 “상기” 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 본 개시에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해질 수 있다. 기재된 단계들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 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 내지 도 18에 기재된 전자 장치(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)와 같은 그림을 그릴 수 있으며, 사용자에 의해 그려진 그림은 하나의 이미지로 저장될 수 있다.
도 5 및 도 6은 일 실시예에 따라 이미지로부터 인식된 하나 이상의 오브젝트에 대한 전처리 동작을 수행하는 과정을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(100)는, 이미지로부터 하나 이상의 오브젝트를 인식할 수 있으며, 인식된 하나 이상의 오브젝트를 하나 이상의 뉴럴 네트워크에 입력하기 위한 전처리 동작을 수행할 수 있다.
예를 들어, 도 5를 참조하면, 이미지(500)는, 사용자가 원하는 어플리케이션들의 구성을 포함하는 이미지로서, 사용자에 의해 그려진 그림일 수 있다. 이미지(500)는, 이미지(500)의 상단에 캘린더 어플리케이션을 나타내는 제1 오브젝트(501), 이미지의 우측 하단에 메모 어플리케이션을 나타내는 제2 오브젝트(502), 및 이미지(500)의 좌측 하단에 날씨 어플리케이션을 나타내는 제3 오브젝트(503)를 포함할 수 있다.
일 실시예에 따른 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 이미지로부터 인식된 제1 오브젝트 내지 제3 오브젝트(501, 502, 503)에 각각 대응하는 추천 어플리케이션을 결정할 수 있다. 이때, 전자 장치(100)는, 제1 오브젝트 내지 제3 오브젝트(501, 502, 503)를 학습 모델에 입력하기 위한 전처리 동작을 수행할 수 있다. 또한, 학습 모델이 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성을 추출하고, 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습하기 위하여, 전처리 동작이 수행될 수 있다. 예를 들어, 학습 모델은, 하나 이상의 오브젝트가 하나 이상의 뉴럴 네트워크에 입력된 것에 응답하여, 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성을 추출하고, 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습함으로써 결정될 수 있다. 이때, 하나 이상의 뉴럴 네트워크에 입력되는 하나 이상의 오브젝트는, 전처리 동작이 수행된 오브젝트일 수 있다.
예를 들어, 도 5에 도시된 바와 같이, 전자 장치(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)를 크롭할 수 있다.
또한, 도 6을 참조하면, 이미지(520)가 사용자에 의해 촬영된 사진일 때, 촬영 각도 및 촬영 환경 등에 따라 사진으로부터 인식되는 하나 이상의 오브젝트의 형태가 달라질 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 이미지(520)가 기울어진 상태로 촬영된 사진일 때, 이미지(520)로부터 인식되는 복수의 오브젝트(531, 532, 533)는 왜곡된 형태를 가질 수 있다. 이때, 전자 장치(100)는, 왜곡된 형태를 갖는 복수의 오브젝트(531, 532, 533)에 대하여 워핑(warping) 동작을 수행함으로써, 왜곡된 형태를 보정할 수 있다. 워핑 동작은, 소정의 규칙에 따라 이미지의 형태를 변환하는 동작을 의미할 수 있으며, 실시예에 따라 다양한 워핑 알고리즘이 사용될 수 있다.
일 실시예에 따른 전자 장치(100)는, 왜곡된 형태를 갖는 복수의 오브젝트(531, 532, 533)에 대하여 워핑(warping) 동작을 수행함으로써, 형태가 보정된 복수의 오브젝트(541, 542, 543)를 획득할 수 있다. 또한, 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 형태가 보정된 복수의 오브젝트(541, 542, 543) 각각에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다.
도 7은 일 실시예에 따른 전자 장치가 이미지로부터 인식된 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하는 과정을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(100)는, 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 이미지로부터 인식된 하나 이상의 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다. 예를 들어, 도 7을 참조하면, 전자 장치(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)로부터 추천 어플리케이션의 속성을 추출할 수 있으며, 추출된 추천 어플리케이션의 속성에 기초하여 하나 이상의 추천 어플리케이션을 결정할 수 있다.
예를 들어, 도 7에 도시된 바와 같이, 전자 장치(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)는, 사용자가 원하는 조건을 만족하는 어플리케이션을 보다 정확하고 용이하게 추천할 수 있다.
도 8은 일 실시예에 따라 오브젝트에 대응하는 추천 어플리케이션을 결정하는 방법을 학습하는 뉴럴 네트워크(neural network)의 예시를 나타내는 도면이다.
도 8을 참조하면, 하나 이상의 뉴럴 네트워크(700)는, 복수의 학습 오브젝트(701 내지 705)를 입력 값으로 하여, 학습 오브젝트에 대응하는 추천 어플리케이션을 결정하는 방법을 학습할 수 있다. 복수의 학습 오브젝트(701 내지 705)는, 사용자가 원하는 어플리케이션들의 구성을 나타내는 이미지로부터 추출될 수 있으며, 사용자에 의해 그려진 그림 또는 촬영된 사진 형태일 수 있다. 예를 들어, 복수의 오브젝트(701 내지 705)는, 도 8에 도시된 제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)을 이용하여 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정할 수 있다.
도 9 및 도 10은 일 실시예에 따라 복수의 추천 어플리케이션 중에서 디스플레이에 표시할 어플리케이션을 선택하는 과정을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(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)에 표시할 수 있으며, 사용자로부터 표시된 추천 어플리케이션 중 일부를 선택하는 입력을 수신할 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 사용자로부터 B 캘린더 어플리케이션(802), C 메모 어플리케이션(811), 및 E 날씨 어플리케이션(821)을 선택하는 입력이 수신됨에 따라, 전자 장치(100)는 디스플레이(230)에 선택된 어플리케이션들을 표시할 수 있다.
일 실시예에 따른 전자 장치(100)는, 복수의 추천 어플리케이션 중에서 선택된 추천 어플리케이션을 디스플레이(230)에 표시할 때, 이미지에 기초하여 추천 어플리케이션을 배치하기 위한 배치 기준을 설정할 수 있으며, 설정된 배치 기준에 기초하여, 선택된 추천 어플리케이션을 디스플레이(230)에 배치할 수 있다. 예를 들어, 도 10을 참조하면, 전자 장치(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)에 배치할 수 있다.
도 11은 일 실시예에 따른 전자 장치가 외부 서버로부터 추천 어플리케이션을 수신하여 설치하는 예시를 나타내는 도면이다.
일 실시예에 따른 전자 장치(100)는, 복수의 추천 어플리케이션 중에서 선택된 어플리케이션이 전자 장치(100)에 설치되지 않은 경우, 외부 서버로부터 선택된 어플리케이션을 수신하여 설치할 수 있다.
예를 들어, 도 11를 참조하면, 전자 장치(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)에 설치되지 않은 경우에도, 사용자가 원하는 조건을 만족하는 추천 어플리케이션을 보다 편리하게 제공할 수 있다.
도 12는 일 실시예에 따른 전자 장치가 이미지로부터 인식된 텍스트 정보를 추천 어플리케이션에 업데이트하는 예시를 나타내는 도면이다.
일 실시예에 따른 전자 장치(100)는, 오브젝트로부터 텍스트 정보를 인식하고, 오브젝트에 대응하는 추천 어플리케이션에 텍스트 정보를 업데이트할 수 있다.
예를 들어, 도 12을 참조하면, 오브젝트(1001)는, 2017년 11월 달력이 그려진 그림일 수 있으며, 달력에 소정의 이벤트(예를 들어, 생일, 회식)를 나타내는 텍스트 정보가 기입되어 있을 수 있다. 전자 장치(100)는, 오브젝트(1001)로부터 텍스트 정보를 인식할 수 있으며, 오브젝트(1001)에 대응하는 추천 어플리케이션에 인식된 텍스트 정보를 업데이트할 수 있다. 실시예에 따라, 오브젝트(1001)에 대응하는 복수의 추천 어플리케이션이 결정된 경우, 전자 장치(100)는, 복수의 추천 어플리케이션 중에서 디스플레이(230)에 표시할 추천 어플리케이션을 선택하는 외부 입력을 수신할 수 있으며, 선택된 추천 어플리케이션에 인식된 텍스트 정보를 업데이트할 수 있다. 예를 들어, 도 12에 도시된 바와 같이, 전자 장치(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)는 하이라이트를 다른 색으로 표시하거나, 하이라이트를 다른 형태로 표시할 수 있으나, 이에 한정되지 않는다.
도 13은 일 실시예에 따른 전자 장치의 동작 방법을 나타내는 흐름도이다.
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)에 배치할 수 있다.
도 14는 일 실시예에 따른 프로세서의 구성을 나타내는 블록도이다.
도 14를 참조하면, 일 실시예에 따른 프로세서(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)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 15는 일 실시예에 따른 데이터 학습부의 구성을 나타내는 블록도이다.
도 15를 참조하면, 일 실시예에 따른 데이터 학습부(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)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 16은 일 실시예에 따른 데이터 인식부의 구성을 나타내는 블록도이다.
도 16을 참조하면, 일 실시예에 따른 데이터 인식부(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)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 17은 일 실시예에 따른 서버의 구성을 나타내는 블록도이다.
도 17를 참조하면, 일 실시예에 따른 서버(2000)는, DB(2100), 통신부(2200), 및 프로세서(2300)를 포함할 수 있다.
DB(2100)는 사용자가 원하는 어플리케이션들의 구성을 나타내는 이미지로부터 인식된 하나 이상의 오브젝트를 저장할 수 있다.
통신부(2200)는 전자 장치(100)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다.
프로세서(2300)는 통상적으로 서버(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(2300)는, 서버(2000)의 DB(2100)에 저장된 프로그램들을 실행함으로써, DB(2100) 및 통신부(2200) 등을 전반적으로 제어할 수 있다. 프로세서(2300)는 DB(2100)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 15에서의 전자 장치(100)의 동작의 일부를 수행할 수 있다.
프로세서(2300)는, 도 1 내지 도 16에서 전자 장치(100)가 수행하는 기능인, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하는 기능을 수행할 수 있다.
도 18은 일 실시예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 18을 참조하면, 서버(2000)는, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 기준을 학습할 수 있다. 서버(2000)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 데이터 인식 모델에 적용함으로써, 오브젝트에 대응하는 하나 이상의 추천 어플리케이션을 결정하기 위한 기준을 학습할 수 있다.
이 경우, 서버(2000)의 모델 학습부(2104)는 도 16에 도시된 데이터 학습부(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 (15)
- 디스플레이;하나 이상의 인스트럭션을 저장하는 메모리; 및상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서;를 포함하고,상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,이미지로부터 하나 이상의 오브젝트를 인식하고,하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 상기 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하고,상기 결정된 하나 이상의 추천 어플리케이션이 동작하도록 상기 디스플레이에 표시하는, 전자 장치.
- 제 1항에 있어서,상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,상기 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 상기 하나 이상의 오브젝트와의 유사도에 따라, 상기 하나 이상의 오브젝트에 각각 대응하는 복수의 추천 어플리케이션을 결정하고,상기 복수의 추천 어플리케이션으로부터 하나 이상의 어플리케이션을 선택하는 외부 입력에 응답하여, 상기 선택된 하나 이상의 어플리케이션이 동작하도록 상기 디스플레이에 표시하는, 전자 장치.
- 제 1항에 있어서,상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,상기 이미지에 기초하여 상기 하나 이상의 추천 어플리케이션을 상기 디스플레이에 배치하기 위한 배치 기준을 설정하고,상기 설정된 배치 기준에 기초하여, 상기 하나 이상의 추천 어플리케이션을 상기 디스플레이에 배치하는, 전자 장치.
- 제 1항에 있어서, 상기 학습 모델은,상기 하나 이상의 뉴럴 네트워크에 상기 하나 이상의 오브젝트가 입력된 것에 응답하여, 상기 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성 (attribute)을 추출하고, 상기 추출된 추천 어플리케이션의 속성에 기초하여 상기 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습함으로써 결정되는, 전자 장치.
- 제 4항에 있어서,상기 추천 어플리케이션의 속성은, 어플리케이션의 종류, 크기, 색상, 및 형태 중 적어도 하나를 포함하는, 전자 장치.
- 제 1항에 있어서,상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,상기 인식된 하나 이상의 오브젝트를 상기 학습 모델에 입력하기 위한 전처리(pre-processing) 동작을 수행하고,상기 전처리 동작은, 크롭(crop) 동작 및 워핑(warping) 동작 중 적어도 하나를 포함하는, 전자 장치.
- 제 1항에 있어서,상기 이미지는, 사용자가 원하는 어플리케이션들의 구성을 그리는 외부 입력을 수신함으로써 생성된 이미지, 또는 상기 사용자가 원하는 어플리케이션들의 구성이 포함된 이미지를 촬영함으로써 획득된 사진을 포함하는, 전자 장치.
- 제 1항에 있어서,상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,상기 인식된 하나 이상의 객체에 각각 대응하는 하나 이상의 추천 어플리케이션을 어플리케이션 DB(database)로부터 선택하고,상기 어플리케이션 DB는, 상기 전자 장치에 설치된 어플리케이션들 및 외부 서버에 저장된 어플리케이션들의 리스트를 포함하는, 전자 장치.
- 제 8항에 있어서,상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,상기 선택된 하나 이상의 추천 어플리케이션이 상기 전자 장치에 설치되지 않은 어플리케이션이라고 판단됨에 따라, 상기 외부 서버로부터 상기 선택된 하나 이상의 추천 어플리케이션을 수신하여 설치하고,상기 설치된 하나 이상의 추천 어플리케이션이 동작하도록 상기 디스플레이에 표시하는, 전자 장치.
- 제 1항에 있어서,상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,상기 하나 이상의 오브젝트로부터 텍스트 정보를 인식하고,상기 하나 이상의 오브젝트에 각각 대응하는 상기 하나 이상의 추천 어플리케이션에 상기 텍스트 정보를 업데이트하고,상기 텍스트 정보가 업데이트된 상기 하나 이상의 추천 어플리케이션을 상기 디스플레이에 표시하는, 전자 장치.
- 전자 장치의 동작 방법에 있어서,이미지로부터 하나 이상의 오브젝트를 인식하는 단계;하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 상기 하나 이상의 오브젝트에 각각 대응하는 하나 이상의 추천 어플리케이션을 결정하는 단계; 및상기 결정된 하나 이상의 추천 어플리케이션이 동작하도록 상기 전자 장치의 디스플레이에 표시하는 단계;를 포함하는, 전자 장치의 동작 방법.
- 제 11항에 있어서,상기 추천 어플리케이션을 결정하는 단계는, 상기 하나 이상의 뉴럴 네트워크를 이용한 학습 모델을 이용하여, 상기 하나 이상의 오브젝트와의 유사도에 따라, 상기 하나 이상의 오브젝트에 각각 대응하는 복수의 추천 어플리케이션을 결정하는 단계를 포함하고,상기 표시하는 단계는, 상기 복수의 추천 어플리케이션으로부터 하나 이상의 어플리케이션을 선택하는 외부 입력에 응답하여, 상기 선택된 하나 이상의 어플리케이션이 동작하도록 상기 전자 장치의 디스플레이에 표시하는 단계를 포함하는, 전자 장치의 동작 방법.
- 제 11항에 있어서, 상기 표시하는 단계는,상기 이미지에 기초하여 상기 하나 이상의 추천 어플리케이션을 상기 전자 장치의 디스플레이에 배치하기 위한 배치 기준을 설정하는 단계; 및상기 설정된 배치 기준에 기초하여, 상기 하나 이상의 추천 어플리케이션을 상기 전자 장치의 디스플레이에 배치하는 단계;를 포함하는, 전자 장치의 동작 방법.
- 제 11항에 있어서, 상기 학습 모델은,상기 하나 이상의 뉴럴 네트워크에 상기 하나 이상의 오브젝트가 입력된 것에 응답하여, 상기 하나 이상의 오브젝트로부터 추천 어플리케이션의 속성 (attribute)을 추출하고,상기 추출된 추천 어플리케이션의 속성에 기초하여 상기 하나 이상의 추천 어플리케이션을 결정하는 방법을 학습함으로써 결정되는, 전자 장치의 동작 방법.
- 제 11항에 기재된 전자 장치의 동작 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/762,741 US20200334055A1 (en) | 2017-11-10 | 2018-11-09 | Electronic device and operation method therefor |
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 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170149793A KR20190053675A (ko) | 2017-11-10 | 2017-11-10 | 전자 장치 및 그 동작 방법 |
KR10-2017-0149793 | 2017-11-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019093819A1 true WO2019093819A1 (ko) | 2019-05-16 |
Family
ID=66439024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/013633 WO2019093819A1 (ko) | 2017-11-10 | 2018-11-09 | 전자 장치 및 그 동작 방법 |
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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3843024A1 (en) * | 2019-12-26 | 2021-06-30 | Samsung Electronics Co., Ltd. | Computing device and operation method thereof |
Families Citing this family (9)
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 |
KR102213673B1 (ko) * | 2020-09-28 | 2021-02-08 | (주)대우루컴즈 | 인공지능 기반 코어파킹을 이용한 전력절감 컴퓨터 |
KR20220108967A (ko) * | 2021-01-28 | 2022-08-04 | 삼성전자주식회사 | 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치 |
KR20230028028A (ko) * | 2021-08-20 | 2023-02-28 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN115857737B (zh) * | 2021-09-24 | 2024-09-24 | 荣耀终端有限公司 | 信息推荐方法及电子设备 |
CN116055074B (zh) * | 2021-10-27 | 2024-10-01 | 北京字节跳动网络技术有限公司 | 管理推荐策略的方法和装置 |
CN116126197B (zh) * | 2021-11-12 | 2024-06-14 | 荣耀终端有限公司 | 应用程序推荐方法 |
KR102446649B1 (ko) * | 2022-07-12 | 2022-09-22 | 신은철 | 인공지능 모델 기반 추천 템플릿을 이용한 어플리케이션 제작 방법 및 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050004812A (ko) * | 2002-03-19 | 2005-01-12 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 복수의 추천 스코어들을 사용하는 추천 시스템 |
JP2011107808A (ja) * | 2009-11-13 | 2011-06-02 | Victor Co Of Japan Ltd | コンテンツ推薦装置、コンテンツ推薦方法、及びコンテンツ推薦プログラム |
US7979370B1 (en) * | 2005-09-26 | 2011-07-12 | Dranias Development Llc | Neural network for electronic search applications |
KR20140127527A (ko) * | 2013-04-25 | 2014-11-04 | 삼성전자주식회사 | 디스플레이장치 및 디스플레이장치를 이용한 추천정보 제공 방법 |
WO2017168125A1 (en) * | 2016-03-31 | 2017-10-05 | Queen Mary University Of London | Sketch based search methods |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6650761B1 (en) * | 1999-05-19 | 2003-11-18 | Digimarc Corporation | Watermarked business cards and methods |
US8196055B2 (en) * | 2006-01-30 | 2012-06-05 | Microsoft Corporation | Controlling application windows in an operating system |
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 |
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 |
US10324588B2 (en) * | 2014-06-09 | 2019-06-18 | Sony Corporation | Organizing application icon based on user history information |
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 | 北京奇虎科技有限公司 | 应用程序解锁的方法及解锁装置 |
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广东移动通信有限公司 | 启动应用的方法、装置、存储介质及终端 |
-
2017
- 2017-11-10 KR KR1020170149793A patent/KR20190053675A/ko active IP Right Grant
-
2018
- 2018-11-09 EP EP18877107.5A patent/EP3690644B1/en active Active
- 2018-11-09 US US16/762,741 patent/US20200334055A1/en not_active Abandoned
- 2018-11-09 CN CN201880072830.1A patent/CN111344671A/zh active Pending
- 2018-11-09 WO PCT/KR2018/013633 patent/WO2019093819A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050004812A (ko) * | 2002-03-19 | 2005-01-12 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 복수의 추천 스코어들을 사용하는 추천 시스템 |
US7979370B1 (en) * | 2005-09-26 | 2011-07-12 | Dranias Development Llc | Neural network for electronic search applications |
JP2011107808A (ja) * | 2009-11-13 | 2011-06-02 | Victor Co Of Japan Ltd | コンテンツ推薦装置、コンテンツ推薦方法、及びコンテンツ推薦プログラム |
KR20140127527A (ko) * | 2013-04-25 | 2014-11-04 | 삼성전자주식회사 | 디스플레이장치 및 디스플레이장치를 이용한 추천정보 제공 방법 |
WO2017168125A1 (en) * | 2016-03-31 | 2017-10-05 | Queen Mary University Of London | Sketch based search methods |
Non-Patent Citations (1)
Title |
---|
See also references of EP3690644A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3843024A1 (en) * | 2019-12-26 | 2021-06-30 | Samsung Electronics Co., Ltd. | Computing device and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN111344671A (zh) | 2020-06-26 |
US20200334055A1 (en) | 2020-10-22 |
EP3690644A4 (en) | 2020-12-16 |
EP3690644A1 (en) | 2020-08-05 |
EP3690644B1 (en) | 2023-08-02 |
KR20190053675A (ko) | 2019-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019093819A1 (ko) | 전자 장치 및 그 동작 방법 | |
WO2018117704A1 (en) | Electronic apparatus and operation method thereof | |
WO2018117428A1 (en) | Method and apparatus for filtering video | |
WO2020080773A1 (en) | System and method for providing content based on knowledge graph | |
WO2018128362A1 (en) | Electronic apparatus and method of operating the same | |
WO2020045927A1 (en) | Electronic device and method for generating short cut of quick command | |
WO2016126007A1 (en) | Method and device for searching for image | |
WO2020145596A1 (ko) | 추천 컨텐츠 리스트 제공 방법 및 그에 따른 전자 장치 | |
WO2019031714A1 (ko) | 객체를 인식하는 방법 및 장치 | |
EP3545436A1 (en) | Electronic apparatus and method of operating the same | |
WO2019124963A1 (ko) | 음성 인식 장치 및 방법 | |
EP3539056A1 (en) | Electronic apparatus and operation method thereof | |
WO2019027141A1 (en) | ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE OPERATION OF A VEHICLE | |
WO2019059505A1 (ko) | 객체를 인식하는 방법 및 장치 | |
WO2019088692A1 (ko) | 영상 표시 장치 및 그 동작 방법 | |
WO2021006482A1 (en) | Apparatus and method for generating image | |
EP3669537A1 (en) | Electronic device providing text-related image and method for operating the same | |
WO2021261836A1 (en) | Image detection apparatus and operation method thereof | |
WO2019050137A1 (en) | SYSTEM AND METHOD FOR DETERMINING INPUT CHARACTERS BASED ON SCAN INPUT | |
WO2020130262A1 (ko) | 컴퓨팅 장치 및 그 동작 방법 | |
WO2021029643A1 (en) | System and method for modifying speech recognition result | |
WO2019203418A1 (ko) | 음성 인식을 수행하는 전자 장치 및 전자 장치의 동작 방법 | |
WO2019054792A1 (ko) | 컨텐트를 제공하는 방법 및 단말기 | |
WO2019107674A1 (en) | Computing apparatus and information input method of the computing apparatus | |
WO2020209661A1 (en) | Electronic device for generating natural language response and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18877107 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2018877107 Country of ref document: EP Effective date: 20200427 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |