WO2019231130A1 - 전자 장치 및 그의 제어방법 - Google Patents

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

Info

Publication number
WO2019231130A1
WO2019231130A1 PCT/KR2019/005604 KR2019005604W WO2019231130A1 WO 2019231130 A1 WO2019231130 A1 WO 2019231130A1 KR 2019005604 W KR2019005604 W KR 2019005604W WO 2019231130 A1 WO2019231130 A1 WO 2019231130A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
sketch
image
content
user
Prior art date
Application number
PCT/KR2019/005604
Other languages
English (en)
French (fr)
Inventor
조은애
김진현
박기훈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP19812106.3A priority Critical patent/EP3757817A4/en
Priority to CN201980030966.0A priority patent/CN112106042A/zh
Priority to US17/059,000 priority patent/US20210263963A1/en
Publication of WO2019231130A1 publication Critical patent/WO2019231130A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device and a control method thereof capable of searching contents more efficiently and conveniently using a sketch drawn by a user.
  • the present disclosure relates to an artificial intelligence (AI) system and its application for simulating functions such as recognition and judgment of the human brain using a machine learning algorithm.
  • AI artificial intelligence
  • Artificial intelligence systems that implement human-level intelligence have been used in various fields.
  • Artificial intelligence systems unlike conventional rule-based smart systems, are machines that learn and judge themselves and become smart. As the artificial intelligence system is used, the recognition rate is improved and the user's taste can be understood more accurately, and the existing rule-based smart system is gradually replaced by the deep learning-based artificial intelligence system.
  • Machine learning e.g. deep learning
  • machine learning e.g., deep learning
  • Machine learning is an algorithm technology that classifies / learns characteristics of input data by itself
  • element technology is a technology that simulates the functions of human brain cognition and judgment by using machine learning algorithms such as deep learning. It consists of technical areas such as understanding, reasoning / prediction, knowledge representation, and motion control.
  • Linguistic understanding is a technology for recognizing and applying / processing human language / characters and includes natural language processing, machine translation, dialogue system, question and answer, speech recognition / synthesis, and the like.
  • Visual understanding is a technology for recognizing and processing objects as human vision, and includes object recognition, object tracking, image search, person recognition, scene understanding, spatial understanding, image enhancement, and the like.
  • Inference Prediction is a technique for judging, logically inferring, and predicting information. It includes knowledge / probability-based inference, optimization prediction, preference-based planning, and recommendation.
  • Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction (data generation / classification) and knowledge management (data utilization).
  • Motion control is a technology for controlling autonomous driving of a vehicle and movement of a robot, and includes motion control (navigation, collision, driving), operation control (action control), and the like.
  • a search by keyword search such as a file name or a preview should be performed by using a preview. Or they had to create metadata and search for information tagged by humans.
  • the keyword search method is expressed only by the date of the file or the name specified by the user, it is difficult to find the mood or color of the image / photo, and the method of tagging information is cumbersome.
  • the present disclosure has been made to solve the above-described problem, and an object of the present disclosure is to provide an electronic device and a control method thereof capable of searching contents more efficiently and conveniently using a sketch drawn by a user.
  • a method of controlling an electronic device may include: receiving a sketch drawn by a user, using an artificial intelligence model learned by an artificial intelligence algorithm, and an image generated by a machine based on the sketch -obtaining at least one generated image, displaying at least one machine-generated image, receiving a user command to select one of the displayed at least one machine-generated image, Retrieving at least one content corresponding to the selected image according to a user command and providing the retrieved at least one content.
  • the searching may include searching for at least one content corresponding to the selected image among a plurality of contents stored in the electronic device.
  • control method of the electronic device may further include displaying at least one UI element for selecting a category based on the information obtained by classifying the plurality of contents.
  • the information about the category corresponding to the UI element selected by the user among the at least one UI element and the sketch are input to the artificial intelligence model to embody the sketch to an object belonging to the category corresponding to the selected UI element.
  • At least one image may be acquired.
  • the searching may include searching for information on a category corresponding to the selected UI element and at least one content corresponding to the selected image.
  • the acquiring may include inputting information on the plurality of categories and the sketches obtained by classifying the plurality of contents into the artificial intelligence model to embody the sketches for each of the plurality of categories. Can be obtained.
  • the displaying may include displaying the obtained plurality of images for each category.
  • the artificial intelligence model may be learned by a GAN (Generative Adversarial Network) or VAE (Variational Auto-encoder).
  • GAN Geneative Adversarial Network
  • VAE Vehicle Auto-encoder
  • the searching may include searching for at least one content corresponding to the image selected according to the user command by using an artificial intelligence model for searching for content learned by an artificial intelligence algorithm.
  • control method of the electronic device may further include re-learning the artificial intelligence model for searching for the content based on the content selected by the user among the at least one provided content.
  • the signal corresponding to the movement of the remote control device may be received and information on the sketch may be obtained based on the received signal.
  • the electronic device executes a memory model for storing computer executable instructions, a display, and an AI model learned by an artificial intelligence algorithm by executing the computer executable instructions.
  • a memory model for storing computer executable instructions, a display, and an AI model learned by an artificial intelligence algorithm by executing the computer executable instructions.
  • a processor configured to receive a user command for selecting one of the images generated by one machine, retrieve at least one content corresponding to the selected image according to the user command, and provide the retrieved at least one content.
  • the processor may search for at least one content corresponding to the selected image among a plurality of contents stored in the electronic device.
  • the processor controls the display to display at least one UI element for selecting a category based on the information obtained by classifying the plurality of contents, and by the user among the at least one UI element.
  • Information about a category corresponding to the selected UI element and the sketch may be input to the artificial intelligence model to obtain at least one image embodying the sketch as an object belonging to a category corresponding to the selected UI element.
  • the processor may search for information on a category corresponding to the selected UI element and at least one content corresponding to the selected image.
  • the processor is configured to input information about the plurality of categories obtained by classifying the plurality of contents and the sketches to the artificial intelligence model to obtain a plurality of images incorporating the sketch for each of the plurality of categories. can do.
  • the processor may control the display to display the obtained plurality of images for each category.
  • the artificial intelligence model may be learned by a GAN (Generative Adversarial Network) or VAE (Variational Auto-encoder).
  • GAN Geneative Adversarial Network
  • VAE Vehicle Auto-encoder
  • the processor may search for at least one content corresponding to the image selected according to the user command by using an artificial intelligence model for content search learned by an artificial intelligence algorithm.
  • the processor may retrain the artificial intelligence model for searching for the content based on the content selected by the user among the at least one provided content.
  • the electronic device further includes a communication unit, wherein the processor receives a signal corresponding to a movement of a remote control device through the communication unit and provides information on a sketch based on the received signal. Can be obtained.
  • FIG. 1 is a view for explaining a content providing method according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart illustrating a control method of an electronic device according to an embodiment of the present disclosure
  • 3 to 4 are diagrams for describing various embodiments of the present disclosure in which an electronic device receives a sketch
  • FIGS. 5 to 8 are diagrams for describing a user interface (UI) provided by an electronic device according to various embodiments of the present disclosure
  • FIG. 9 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 10 is a flowchart of a network system using a recognition model according to an embodiment of the present disclosure
  • FIG. 11 is a block diagram illustrating an electronic device for learning and using a recognition model, according to an embodiment of the present disclosure
  • 12 to 13 are block diagrams illustrating a learner and an analyzer according to various embodiments of the present disclosure.
  • expressions such as “A or B,” “at least one of A or / and B,” or “one or more of A or / and B,” and the like may include all possible combinations of items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B,” includes (1) at least one A, (2) at least one B, Or (3) both of cases including at least one A and at least one B.
  • first,” “second,” “first,” or “second,” and the like may modify various components in any order and / or importance, and may define a component. It is used to distinguish it from other components and does not limit the components.
  • the first user device and the second user device may represent different user devices regardless of the order or importance.
  • the first component may be called a second component, and similarly, the second component may be renamed to the first component.
  • module As used herein, the terms “module”, “unit”, “part”, and the like are used to refer to a component that performs at least one function or operation, and the components are implemented in hardware or software. Or a combination of hardware and software. In addition, a plurality of “modules”, “units”, “parts”, etc. are integrated into at least one module or chip, except that each needs to be implemented with a particular specific hardware, and is at least one processor. It can be implemented as.
  • One component (such as a first component) is "(functionally or communicatively) coupled with / to" to another component (such as a second component) or " When referred to as “connected to”, it should be understood that any component may be directly connected to the other component or may be connected through another component (eg, a third component).
  • a component e.g., a first component
  • another component e.g., a second component
  • the expression “configured to” as used in this document is, for example, “having the capacity to” depending on the context, for example, “suitable for,” “. It may be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
  • the term “configured to” may not necessarily mean only “specifically designed to” in hardware. Instead, in some situations, the expression “device configured to” may mean that the device “can” along with other devices or components.
  • the phrase “processor configured (or configured to) perform A, B, and C” may be implemented by executing a dedicated processor (eg, an embedded processor) to perform its operation, or one or more software programs stored in a memory device. It may mean a general-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
  • An electronic device may include, for example, a smartphone, a tablet personal computer, a mobile phone, a video phone, an e-book reader, Desktop personal computer (PC), laptop personal computer (PC), netbook computer, workstation, server, personal digital assistant, portable multimedia player, MP3 player, mobile medical It may include at least one of a device, a camera, or a wearable device.
  • a wearable device may be an accessory type (eg, a watch, ring, bracelet, anklet, necklace, glasses, contact lens, or head-mounted-device (HMD)), a fabric, or a clothing integrated type (eg, it may include at least one of an electronic garment, a body attachment type (eg, a skin pad or a tattoo), or a living implantable type (eg, an implantable circuit).
  • HMD head-mounted-device
  • the electronic device may be a home appliance.
  • Home appliances are, for example, televisions, digital video disk (DVD) players, audio, refrigerators, air conditioners, vacuum cleaners, ovens, microwaves, washing machines, air purifiers, set-top boxes, home automation controls Panel (home automation control panel), security control panel, TV box (e.g. Samsung HomeSync TM, Samsung One Connect Box TM, Apple TV TM, or Google TV TM), game console (e.g. Xbox TM, PlayStation TM), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.
  • DVD digital video disk
  • audio e.g. Samsung HomeSync TM, Samsung One Connect Box TM, Apple TV TM, or Google TV TM
  • game console e.g. Xbox TM, PlayStation TM
  • an electronic dictionary e.g., an electronic key, a camcorder, or an electronic picture frame.
  • the electronic device may include various medical devices (eg, various portable medical measuring devices (such as blood glucose meters, heart rate monitors, blood pressure monitors, or body temperature meters), magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), Such as computed tomography (CT), imaging equipment, or ultrasound), navigation devices, global navigation satellite systems (GNSS), event data recorders (EDRs), flight data recorders (FDRs), and automotive infotainment ) Devices, ship's electronic equipment (e.g.
  • Point of sales point of sales, or Internet of things (e.g. light bulbs, sensors, electricity or gas meters, sprinkler devices, fire alarms, thermostats, street lights, It may include at least one of (toaster), exercise equipment, hot water tank, heater, boiler.
  • things e.g. light bulbs, sensors, electricity or gas meters, sprinkler devices, fire alarms, thermostats, street lights, It may include at least one of (toaster), exercise equipment, hot water tank, heater, boiler.
  • an electronic device may be a furniture or part of a building / structure, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (eg, Water, electricity, gas, or radio wave measuring instrument).
  • the electronic device may be one or a combination of the aforementioned various devices.
  • An electronic device according to an embodiment may be a flexible electronic device.
  • the electronic device according to an embodiment of the present disclosure is not limited to the above-described devices, and may include a new electronic device according to technology development.
  • FIG. 1 is a view for explaining an example of a content search method according to the present disclosure.
  • the sketch may consist of at least one of a contour (dotted line) and a color (shown above the dotted line).
  • Picture files can be entered, or the user can draw sketches directly with the electronic pen on the electronic device.
  • the machine-generated image is acquired based on the sketch drawn by the user using the AI model trained using the AI algorithm.
  • the AI model may be trained to have a criterion for generating an image incorporating a sketch.
  • mountains and sky are represented based on a user's sketches that specify sharp outlines and colors (ex. Sky blue) above.
  • the content corresponding to the machine-generated image is searched for and provided. For example, as shown in FIG. 1, photographic content photographed of a sky and a mountain, similar to a machine-generated image, may be searched.
  • the text-based image retrieval method may include a method of extracting a feature from a machine-generated image, determining a keyword corresponding to the extracted feature, and searching a content having a file name and metadata including the determined keyword.
  • the content-based image retrieval method may include, for example, a method of quantifying and comparing visual elements such as color, texture, and shape of an image. Content-based image retrieval can be applied to video content retrieval.
  • any scene of the video content may be compared with an image generated by the machine, and as another example, a representative image (eg, a movie poster if the video content is a movie) for the video content may be compared with an image generated by the machine. have.
  • a representative image eg, a movie poster if the video content is a movie
  • the AI model learned by the AI model may also be used for content retrieval.
  • a machine-generated image may be input to an artificial intelligence model to retrieve content corresponding to the machine-generated image.
  • the content retrieval method according to various embodiments of the present disclosure may be implemented through an electronic device.
  • a control method of an electronic device according to an embodiment of the present disclosure will be described with reference to FIG. 2.
  • FIG. 2 is a flowchart illustrating a control method of an electronic device according to an embodiment of the present disclosure.
  • an electronic device receives a sketch drawn by a user (S210).
  • An electronic device may receive a sketch drawn by a user from an external device from an external device.
  • the electronic device may be a TV, and the TV may receive a sketch drawn by a user in an external device such as a smartphone.
  • An electronic device may receive a sketch directly from a user.
  • a sketch may be input through a touch input method, a mouse, a keyboard, a joystick, a remote controller, or the like.
  • 3 to 4 are diagrams for describing a sketch input method according to some embodiments of the present disclosure.
  • FIG 3 illustrates an example of inputting a sketch through a touch input method in the electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may include a touch screen and provide a canvas user interface (UI).
  • the canvas UI may include various UI elements.
  • the canvas UI includes an outline drawing UI element 31, a coloring UI element 33, an eraser UI element 35, a UI element 37 for uploading an image file, and a UI element 39 for executing a search. It may include.
  • the user may draw a sketch using a finger or a pen (eg, a stylus pen) on the touch screen of the electronic device 100.
  • a touch after the outline drawing UI element 31 is selected may be drawn by the outline 310
  • a touch after the color fill UI element 33 is selected may be painted by the color 330.
  • the buttons provided on the pen may select contours, coloring, erasing, and the like.
  • a machine-generated image may be obtained based on the sketch, and the content search may be performed.
  • a content search may be performed based on the selected image file. That is, the content search can be performed without the user directly drawing.
  • the uploaded image file can be displayed in the Converse UI, where the user can make additional modifications, such as adding a sketch or erasing with the eraser UI element 35, and searching for content based on the image where the further modification has been made. This may be done.
  • the content search may be performed in the electronic device 100 or may be performed in an external device (eg, a server). In the latter case, the electronic device 100 may transmit the information on the input sketch or the uploaded image file to the external device so that the content search may be performed on the external device.
  • an external device eg, a server
  • FIG. 4 illustrates an example of inputting a sketch remotely by the electronic device 100 according to another exemplary embodiment of the present disclosure.
  • the electronic device 100 may communicate with the remote control device 200.
  • the remote control apparatus 200 may detect a movement of the remote control apparatus 200 in the XYZ space and transmit a signal regarding the detected three-dimensional movement to the electronic device 100.
  • the remote control apparatus 200 is relatively moved based on the absolute coordinate method or the current position of the remote control apparatus 200 that calculates the position which is absolutely moved relative to the preset reference of the remote control apparatus 200. It is possible to provide a pointing mode based on the relative coordinate method of calculating the calculated position.
  • the remote control apparatus 200 may include at least one of an acceleration sensor, a gyro sensor, and a geomagnetic sensor. Various sensors included in the remote control apparatus 200 may detect a spatial movement of the remote control apparatus 200 through one or more combinations thereof.
  • the acceleration sensor detects at least one of the change in acceleration and the change in each acceleration that occur when the user moves the remote control device 200, and the gyro sensor rotates the remote control device 200.
  • the angular velocity can be detected, and the geomagnetic sensor can measure the azimuth angle by detecting a magnetic field formed in the north-south direction of the sphere.
  • the remote control device 200 is a remote control device to the electronic device 100 through various communication methods such as Bluetooth (BT), Wireless Fidelity (WI-FI), IR (Infrared), Serial Interface, Universal Serial Bus (USB), and the like. A signal corresponding to the movement of 200 may be transmitted.
  • BT Bluetooth
  • WI-FI Wireless Fidelity
  • IR Infrared
  • USB Universal Serial Bus
  • the electronic device 100 may receive a sketch based on a signal received from the remote control device 200.
  • the electronic device 100 of FIG. 4 may also provide UI elements such as an outline drawing UI element, a coloring UI element, a clearing UI element, a UI element for executing a search, and the like.
  • a sketch may be drawn by selecting a UI element provided to the electronic device 100 through the 200.
  • the user moves the remote control device 200 or selects a direction key to select an outline drawing UI element displayed on the electronic device 100, and then moves the remote control device 200 to draw an outline on the electronic device 100.
  • a button (a physical button or a soft button provided through a touch screen provided on the remote control apparatus 200) may be provided for contour drawing, coloring, etc. in the remote control apparatus 200, and the user may use the remote control.
  • the remote control device 200 may be moved to draw a sketch on the electronic device 100.
  • the electronic device that receives the sketch drawn by the user acquires at least one machine-generated image based on the sketch using the artificial intelligence model learned by the artificial intelligence algorithm (S220).
  • the artificial intelligence model may be learned by a GAN (Generative Adversarial Network) or VAE (Variational Auto-encoder).
  • GAN Geneative Adversarial Network
  • VAE Vehicle Auto-encoder
  • the electronic device may acquire an image generated by a machine using an artificial intelligence model stored in the electronic device.
  • the electronic device may acquire an image generated by the machine using an artificial intelligence model stored in an external server.
  • the electronic device may transmit information about the sketch drawn by the user to an external server, and receive an image generated by the machine from the external server.
  • the electronic device displays an image generated by at least one machine (S230).
  • An electronic device displays at least one image generated by a machine through its own display, or at least one image generated by the machine such that at least one image generated by the machine is displayed on an external display device. May be transmitted to an external display device.
  • the electronic device receives a user command for selecting one of the images generated by the at least one machine, and searches for at least one content corresponding to the selected image according to the user command (S240).
  • the electronic device provides the searched at least one content in operation S250.
  • the process of displaying at least one image generated by the machine and selecting one of the images from the user may be omitted. That is, upon receiving the sketch drawn by the user, a machine-generated image may be immediately acquired and at least one content corresponding to the machine-generated image may be retrieved based on the sketch drawn by the user.
  • Non-limiting examples include photographs similar to machine-generated images, videos with scenes similar to machine-generated images, information about people with faces similar to machine-generated images, and places similar to machine-generated images.
  • searching the Internet based on the information on the image generated by the machine, a drama, a movie, an animation, etc. having a poster similar to the image generated by the machine may be searched and provided.
  • Contents to be searched may be contents stored in the electronic device.
  • the user may directly designate a folder for performing a content search.
  • the content to be searched may be content of an external source that is not stored in the electronic device. For example, content provided from the Internet may be searched.
  • An electronic device may perform a search by itself.
  • An electronic device may transmit information about an image generated by a machine to an external device to perform a search on the external device.
  • An electronic device may search for a content corresponding to an image generated by the machine by using an artificial intelligence model for searching for a content learned by an artificial intelligence algorithm.
  • the artificial intelligence model for content search may be relearned based on content selected by a user from among at least one content provided.
  • the content selected by the user is weighted, and the artificial intelligence model for content search may be retrained using the weighted content.
  • History information on what content the user has selected may be stored.
  • the artificial intelligence model for content retrieval can be specialized (or personalized) to the user because it is re-learned based on this history information, and the more it is used, the higher the accuracy can be.
  • 5 to 8 are diagrams for describing a user interface (UI) provided by the electronic device 100 according to various embodiments of the present disclosure providing a function of searching for content based on a sketch.
  • UI user interface
  • the UI provided by the electronic device 100 may include an area for drawing a sketch and an area for displaying at least one image generated by a machine.
  • the electronic device 100 may display at least one image 520 generated by the machine based on the sketch 510 drawn by the user using an AI model learned by an AI algorithm.
  • At least one image generated by the machine may be displayed in real time according to the sketch drawn in the sketch drawing area. Therefore, when the sketch is modified, the modifications are input to the AI model in real time, and the image may be modified and displayed in real time.
  • the at least one machine-generated image 520 may be displayed in order of high score (or high similarity).
  • the image 521 selected by the user may display different graphic effects than the other images. For example, as shown in FIG. 5, a thick outline may be displayed around the selected image 521.
  • At least one content 540 corresponding to the selected image 521 may be searched and provided.
  • the user selects any one of the found contents 540 for example, the corresponding contents may be enlarged and displayed. If the content selected by the user is video content, the video may be played. Meanwhile, information about the content selected by the user among the searched contents 540 may be used to relearn an artificial intelligence algorithm used for content search.
  • FIG. 6 is a diagram for describing a UI provided by an electronic device, according to another exemplary embodiment.
  • the electronic device 100 may display at least one image 620 generated by a machine based on a sketch 610 drawn by a user using an artificial intelligence model learned by an artificial intelligence algorithm. have.
  • the artificial intelligence model may be trained on different criteria according to categories. Therefore, the AI model may generate different images according to categories even when the same sketch is input. For example, as illustrated in FIG. 6, images in which the sketch 610 is embodied as an object belonging to a natural category and images in which the sketch 610 is embodied as an object belonging to a building category may be generated.
  • the electronic device 100 may input information about the plurality of categories and sketches drawn by the user to the artificial intelligence model to obtain a plurality of images incorporating the sketch for each of the plurality of categories.
  • the information on the plurality of categories may be obtained by classifying contents to be searched. For example, when the object to be searched is contents stored in the electronic device 100, information on a plurality of categories may be obtained based on information obtained by classifying a plurality of contents stored in the electronic device 100.
  • the contents may be classified into a natural category and a building category based on metadata of the contents stored in the electronic device 100.
  • the information on the classified categories and the sketch 610 may be input to the artificial intelligence model. Images embodied in the object belonging to the natural category and images embodied in the object belonging to the building category can be obtained.
  • the electronic device 100 may display images for each category. That is, as illustrated in FIG. 6, images shaped as objects belonging to the natural category and images shaped as objects in the building category may be displayed separately.
  • At least one content corresponding to the selected image 621 may be retrieved and provided.
  • FIG. 7 is a diagram for describing a UI provided by an electronic device, according to another exemplary embodiment.
  • the electronic device 100 may display at least one UI element 720 for selecting a category.
  • At least one UI element 720 for selecting a category may be displayed based on a result of classifying contents to be searched. For example, when the object to be searched is contents stored in the electronic device 100, at least one UI element 720 may be displayed based on information obtained by classifying a plurality of contents stored in the electronic device 100. . For example, when the photo contents stored in the electronic device 100 are classified into a natural category, a building category, and a person category, as illustrated in FIG. 7, a UI element corresponding to a natural category, a UI element corresponding to a building category, and a person category are illustrated. The UI element corresponding to may be displayed.
  • the electronic device 100 inputs information on the category corresponding to the UI element 721 selected by the user among the at least one UI element 720 and the sketch 710 into the artificial intelligence model to input the sketch 710 to the artificial intelligence model.
  • At least one image 730 embodied as an object belonging to a category corresponding to the UI element 721 may be obtained.
  • the category corresponding to the UI element 721 selected by the user Information about and at least one content 750 corresponding to the selected image 731 may be retrieved. That is, category information corresponding to the UI element 721 selected by the user may be used to filter the search results. Accordingly, among the photo contents similar to the selected image 731, the photo contents 750 corresponding to the natural category are searched and provided.
  • an external device eg, a server
  • information about a category and information about a selected image are transmitted to the external device, and the external device searches for content corresponding to the selected image using the information about the category. Can be.
  • FIG. 8 is a diagram for describing a UI provided by an electronic device, according to another exemplary embodiment.
  • the electronic device 100 may display an image 820 generated by a machine based on a sketch 810 drawn by a user using an artificial intelligence model learned by an artificial intelligence algorithm.
  • At least one content corresponding to the image 820 generated by the machine may be searched and provided.
  • IPTV Internet Protocol Television
  • VOD video on demand
  • real-time broadcast content e.g., Google TM
  • Google TM Internet content
  • a search result may be provided for each content source.
  • UI elements 841 corresponding to video on demand (VOD) content UI elements 843 corresponding to real-time broadcast content, UI elements 845 corresponding to applications, and UI elements 847 corresponding to Internet content are displayed.
  • VOD video on demand
  • UI elements 843 corresponding to real-time broadcast content
  • UI elements 845 corresponding to applications
  • UI elements 847 corresponding to Internet content
  • retrieved VODs 850 may be provided. If any one of the searched VODs 850 is selected, the selected VOD may be played or a screen for VOD payment may be provided.
  • FIG. 9 is a block diagram illustrating a configuration of an electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may perform operations of the above-described embodiments with reference to FIGS. 1 to 8.
  • the electronic device 100 includes a memory 110, a display 120, and a processor 130. Although not shown in accordance with the embodiment, appropriate hardware / software configurations that are obvious to those skilled in the art may be further included in the electronic device 100.
  • the memory 110 may include, for example, an internal memory or an external memory.
  • the internal memory may be, for example, volatile memory (for example, dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.), non-volatile memory (for example, OTPROM (one). time programmable ROM (PROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (such as NAND flash or NOR flash), hard drives, Or it may include at least one of a solid state drive (SSD).
  • volatile memory for example, dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.
  • non-volatile memory for example, OTPROM (one).
  • the external memory may be a flash drive such as compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (Mini-SD), extreme digital (XD), It may include a multi-media card (MMC) or a memory stick.
  • the external memory may be functionally and / or physically connected to the electronic device 100 through various interfaces.
  • the memory 110 is accessed by the processor 130 and read / write / modify / delete / update of data by the processor 130.
  • the term memory may include a memory 110, a ROM in the processor 130, a RAM, or a memory card (eg, a micro SD card or a memory stick) mounted in the electronic device 100.
  • the memory 110 may store computer executable instructions for performing the control method of the electronic device according to the above-described embodiments with reference to FIGS. 2 to 8.
  • the memory 110 may store the artificial intelligence model according to the above-described embodiments with reference to FIGS. 1 to 8.
  • the AI model may be learned by an external server and provided to the electronic device 100.
  • the electronic device 100 may download the AI model from the external server and store the AI model in the memory 110.
  • the electronic device 100 may receive and store the updated AI model from the external server.
  • the electronic device 100 may be connected to such an external server through a local area network (LAN) or an internet network.
  • LAN local area network
  • internet network an internet network
  • the memory 110 may be implemented as a server external to the electronic device 100 such as a cloud server.
  • the display 120 is a configuration for displaying an image.
  • a UI screen that receives a sketch and provides a search result for the sketch may be displayed on the display 120.
  • the UI screen may include UI elements such as text, images, icons, or symbols.
  • Display 120 may be, for example, a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic light-emitting diode (OLED) display (eg, AMOLED). (active-matrix organic light-emitting diodes), passive-matrix OLEDs (PMOLED), or microelectromechanical systems (MEMS) displays, or electronic paper displays.
  • LCD liquid crystal display
  • LED light-emitting diode
  • OLED organic light-emitting diode
  • AMOLED organic light-emitting diode
  • PMOLED passive-matrix OLEDs
  • MEMS microelectromechanical systems
  • the display 120 may include a touch screen, and may receive, for example, a touch, gesture, proximity, or hovering input using an electronic pen or a part of a user's body.
  • the display 120 may be omitted from the electronic device 100.
  • the electronic device 100 may transmit an image signal to the external display device to display the image on the external display device.
  • the electronic device 100 may include an input device and may receive various user inputs through the input device.
  • the input device may include, for example, a button, a touch panel, a sensor or a camera capable of receiving a motion input, a microphone capable of receiving a voice input, and the like.
  • the electronic device 100 may be connected to an external input device to receive various user inputs through the external input device.
  • the external input device may include a keyboard, a mouse, a smart phone, a remote controller, and the like.
  • the electronic device 100 may be connected to the external input device by wireless or wired.
  • the electronic device 100 may be wired to an external input device through a USB port.
  • the electronic device 100 may include infrared data association (IrDA), radio frequency identification (RFID), wireless fidelity (WiFi), Wi-Fi Direct, and Bluetooth (ex.Bluetooth Classic). It can be connected wirelessly to an external input device through communication methods such as Classic, Bluetooth Low Energy, and Zigbee.
  • the electronic device 100 may include a communication unit for communicating with an external device.
  • the communication unit may be connected to a network through wireless communication or wired communication.
  • Wireless communication is, for example, a cellular communication protocol, for example, long-term evolution (LTE), LTE Advance (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), UMTS (universal).
  • LTE long-term evolution
  • LTE-A LTE Advance
  • CDMA code division multiple access
  • WCDMA wideband CDMA
  • WCDMA wideband CDMA
  • UMTS universal
  • At least one of a mobile telecommunications system (WBro), a wireless broadband (WiBro), a global system for mobile communications (GSM), and the like may be used.
  • wireless communication may include, for example, near field communication.
  • the short range communication may include, for example, at least one of a WiFi fidelity direct, a Bluetooth, a near field communication, and a Zigbee.
  • the wired communication may include, for example, at least one of a universal serial bus (USB), a high definition multimedia interface (HDMI), a reduced standard232 (RS-232), a plain old telephone service (POTS), and the like.
  • the network may include a telecommunications network, for example, at least one of a computer network (for example, a LAN or a WAN), the Internet, and a telephone network.
  • the electronic device 100 may communicate with a remote control device through a communication unit.
  • the remote control device is a device that can receive a motion input
  • the electronic device 100 may receive a signal corresponding to the movement of the remote control device from the remote control device.
  • the processor 130 may obtain information about the sketch based on the received signal. That is, a sketch drawn by the user in the air by holding the remote control device may be input to the electronic device 100. Such a sketch may be displayed through the display 120.
  • the processor 130 is a component for controlling the overall operation of the electronic device 100.
  • the processor 130 may drive an operating system or an application program to control a plurality of hardware or software components connected to the processor 130, and may perform various data processing and operations.
  • the processor 130 may be a central processing unit (CPU) or graphics-processing unit (GPU) or both.
  • the processor 130 may be implemented as at least one general processor, a digital signal processor, an application specific integrated circuit (ASIC), a system on chip (SoC), a microcomputer (MICOM), or the like.
  • the processor 130 may perform an operation of the electronic device 100 according to various embodiments of the present disclosure by executing computer executable instructions stored in the memory 120.
  • the processor 130 may enable the electronic device 100 to perform a function according to the embodiments described with reference to FIGS. 1 to 8.
  • the processor 130 may perform the following operations by executing computer executable instructions stored in the memory 110.
  • the processor 130 may control the display 120 to obtain information about the sketch drawn by the user and display the sketch.
  • the display 120 may be controlled to display a sketch.
  • the processor 130 may obtain at least one machine-generated image based on a sketch drawn by the user, using an AI model learned by an AI algorithm.
  • the processor 130 may control the display 120 to display the acquired image generated by the at least one machine.
  • the processor 130 may control the display 120 to display a machine-generated image as shown in FIGS. 5-8.
  • the processor 130 may receive a user command for selecting one of at least one machine-generated image displayed on the display 120, and search for at least one content corresponding to the selected image according to the user command. have.
  • the processor 130 may search for content corresponding to the image generated by the machine by using an AI model for searching for content learned by an AI algorithm.
  • the processor 130 may search for content stored in the memory 110 of the electronic device 100 or content provided from the Internet.
  • the content to be searched can be any digital information such as photographs, videos, applications, news, e-books, movies, and animations.
  • the user may specify a search range.
  • the processor 130 may receive a folder designation command from a user and search for content in a folder corresponding to the folder designation command.
  • the processor 130 may receive a content type designation command from a user and search for content in the designated content type.
  • the processor 130 may control the display 120 to display at least one UI element for selecting a category based on information obtained by classifying a plurality of contents to be searched. For example, the processor 130 may control the display 120 to display the UI elements 720 as shown in FIG. 7. The processor 130 inputs information on a category corresponding to the UI element selected by the user among the at least one UI element displayed on the display 120 and a sketch drawn by the user to the AI model, and inputs the sketch to the selected UI element. At least one image embodied as an object belonging to a corresponding category may be acquired.
  • the processor 130 may search for information on the category corresponding to the UI element selected by the user and at least one content corresponding to the image generated by the machine selected by the user. For example, the processor 130 inputs information on a category corresponding to a UI element selected by the user and an image generated by the machine selected by the user to the artificial intelligence model for content search, and corresponds to the UI element selected by the user. Search for content belonging to a category.
  • the processor 130 inputs information on a plurality of categories obtained by classifying a plurality of contents to be searched and sketches drawn by a user to an artificial intelligence model, and displays a plurality of images in which sketches are specified for each of the plurality of categories. Can be obtained.
  • the processor 130 may control the display 120 to display the plurality of images thus obtained for each category.
  • the processor 130 may provide at least one searched content.
  • the processor 130 may control the display 120 to display the searched contents as shown in FIGS. 5 to 8.
  • the processor 130 may relearn the artificial intelligence model used for the content search based on the user's selection of at least one of the searched and provided contents. .
  • FIG. 10 is a flowchart of a network system using an artificial intelligence model according to various embodiments of the present disclosure.
  • a network system using an artificial intelligence model may include at least two of the first component 1000, the second component 2000, and the third component 3000.
  • the first component 1000 is an electronic device such as a desktop, a smartphone, a tablet PC, etc.
  • the second component 2000 is a server storing an artificial intelligence model, a database, etc. for acquiring an image generated by a machine.
  • the third component 3000 may be a server that stores an artificial intelligence model, a database, and the like, for searching for content based on an image.
  • the first component 1000 may be a general purpose processor, and the second component 2000 and the third component 3000 may be artificial intelligence dedicated processors.
  • the first component 1000 may be at least one application, and the second component 2000 and the third component 3000 may be operating systems (OSs). That is, the second component 2000 and the third component 3000 may be more integrated, dedicated, or have a smaller delay, superior performance, or more resources than the first component 1000.
  • OSs operating systems
  • a component capable of processing many operations required when generating, updating, or applying a model may be faster and more efficient than the first component 1000.
  • An interface for transmitting / receiving data between the first component 1000, the second component 2000, and the third component 3000 may be defined.
  • an application program interface having training data to be applied to the model as an argument value (or, a parameter value or a transfer value) may be defined.
  • the API is a subroutine that can be called for any processing of one protocol (eg, the protocol defined in the first component 1000) to another protocol (eg, the protocol defined in the second component 2000). Or as a set of functions. That is, an API may provide an environment in which an operation of another protocol may be performed in one protocol.
  • the first component 1000 may receive a sketch (S1110).
  • the first component 1000 may receive sketches through various input devices such as a keyboard, a touch screen, and a remote control device.
  • the first component 1000 may receive a category selection.
  • the first component 1000 may transmit information about the input sketch to the second component 2000.
  • the first component 1000 may transmit information on the sketch and information on the selected category to the second component 2000.
  • the second component 2000 may input the sketch to the AI model learned by the AI algorithm to obtain at least one image generated by the machine based on the sketch (S1130).
  • the second component 2000 may store a database including various types of data necessary for generating an AI model and an image.
  • the second component 2000 may acquire an image in which the sketch is embodied as an object belonging to the category corresponding to the information on the category.
  • the second component 2000 may transmit information about at least one image generated by the machine to the first component 1000.
  • the second component 2000 may transmit the image generated by the machine to the first component 1000 in the form of a file.
  • the second component 2000 may transmit information about a storage address (eg, a URL address) of the machine-generated image to the first component 1000.
  • the first component 1000 may receive a user selection for any one of at least one image received from the second component 2000 (S1150). For example, the first component 1000 may display at least one image generated by the machine received through the second component 1000 through a display included in itself or an external display device. The user may select an image to be used for searching among at least one displayed image.
  • the first component 1000 may transmit information about the selected image to the third component 3000.
  • the third component 3000 may input an image into an AI model learned by an AI algorithm, and search for at least one content corresponding to the image (S1170).
  • the third component 3000 may store a database including the AI model and various data required for content search.
  • the third component 3000 may transmit the search result of the content to the first component 1000.
  • the first component 1000 may provide content based on the received search result. For example, the first component 1000 may display contents searched through a display included in itself or an external display device. The user may select desired content among the displayed contents.
  • the artificial intelligence model described in the present disclosure is a decision model trained based on an artificial intelligence algorithm, and may be, for example, a model based on a neural network.
  • the learned AI model can be designed to simulate a human brain structure on a computer and can include a plurality of weighted network nodes that simulate neurons in a human neural network. The plurality of network nodes may form a connection relationship so that neurons simulate the synaptic activity of neurons that send and receive signals through synapses.
  • the learned AI model may include, for example, a neural network model or a deep learning model developed from the neural network model. In the deep learning model, a plurality of network nodes may be located at different depths (or layers) and exchange data according to a convolutional connection relationship. Examples of the learned AI model may include, but are not limited to, a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), and a Bidirectional Recurrent Deep Neural Network (BRDNN).
  • DNN Deep Neural Network
  • RNN Recurrent
  • the first component 1000 may use a personal assistant program which is an artificial intelligence dedicated program (or artificial intelligence agent).
  • the personal assistant program is a dedicated program for providing an AI-based service and may be executed by an existing general purpose processor or a separate AI dedicated processor.
  • a predetermined user input for example, an icon touch corresponding to a personal assistant chatbot, a user voice including a preset word, etc.
  • a button provided in the first component 1000 for example, When the button for executing the AI agent is pressed, the AI agent may operate (or execute).
  • the AI agent may transmit the sketch drawn by the user to the second component 2000 and provide an image generated by the machine received from the second component 2000.
  • the AI agent may operate.
  • the AI agent may be in a previously executed state before a preset user input is detected or a button provided in the first component 1000 is selected.
  • the AI agent of the first component 1000 acquires an image generated by the machine based on the sketch, and the content You can perform a search.
  • the AI agent may be in a standby state before a preset user input is detected or a button provided in the first component 1000 is selected.
  • the standby state is a state in which a predefined user input is received to control the start of the operation of the artificial intelligence agent.
  • the first component 1000 may operate the AI agent.
  • the first component 1000 may directly acquire an image generated by a machine using an artificial intelligence model, and perform content search based on the image.
  • the artificial intelligence agent may perform operations of the second component 2000 and the third component 3000 described above.
  • FIG. 11 is a block diagram illustrating a configuration of an electronic device for learning and using an artificial intelligence model according to an embodiment of the present disclosure.
  • the electronic device 2100 may include at least one of the learner 2110 and the determiner 2120.
  • the electronic device 2100 of FIG. 11 may correspond to the electronic device 100 of FIG. 9, the second component 2000, or the third component 3000 of FIG. 10.
  • the learner 2110 may generate or learn an artificial intelligence model having a criterion for acquiring at least one image generated by a machine based on the sketch using the training data.
  • the learner 2110 may generate an artificial intelligence model having determination criteria using the collected training data.
  • the learner 2110 may generate, learn, or relearn an artificial intelligence model to acquire an image incorporating the sketch using the rough sketch as learning data.
  • the learner 2110 may generate, learn, or relearn an artificial intelligence model for searching for content corresponding to the image by using the image as learning data.
  • the determination unit 2120 may generate an image based on the sketch using the predetermined data as input data of the learned AI model. Alternatively, the determination unit 2120 may search for content corresponding to the image.
  • the determination unit 2120 may obtain an image incorporating the sketch using the rough sketch as input data of the learned AI model. As another example, the determination unit 2120 may search for an image having a high similarity with the input image by using the image as input data of the artificial intelligence model.
  • At least a part of the learner 2110 and at least a part of the determiner 2120 may be implemented as a software module or manufactured in the form of at least one hardware chip and mounted on the second component 2000 and the third component 3000. Can be.
  • at least one of the learner 2110 and the determiner 2120 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general purpose processor (eg, a CPU or an application). It may be manufactured as a part of a processor or a graphics dedicated processor (eg, a GPU) and mounted on various electronic devices.
  • AI artificial intelligence
  • a graphics dedicated processor eg, a GPU
  • the dedicated hardware chip for artificial intelligence is a dedicated processor specialized in probability calculation, and has a higher parallel processing performance than a conventional general processor, so that a computational task in an artificial intelligence field such as machine learning can be processed quickly.
  • the software module may be a computer readable non-transitory readable recording medium. transitory computer readable media).
  • the software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the software modules may be provided by an operating system (OS), and others may be provided by a predetermined application.
  • the learner 2110 and the determiner 2120 may be mounted on one electronic device or may be mounted on separate electronic devices, respectively.
  • the learner 2110 and the determiner 2120 may provide model information constructed by the learner 2110 to the determiner 2120 through a wired or wireless connection, or may be input to the learner 2110.
  • the data may be provided to the learner 2110 as additional learning data.
  • 12 to 13 are block diagrams of the learner 2110 and the determiner 2120, according to various embodiments.
  • the learner 2110 may include a training data acquirer 2110-1 and a model learner 2110-4.
  • the learner 2110 may further include at least one of a learning data preprocessor 2110-2, a learning data selector 2110-3, and a model evaluator 2110-5.
  • the training data acquisition unit 2110-1 may acquire training data necessary for an artificial intelligence model for acquiring an image incorporating a sketch. Alternatively, the training data acquisition unit 2110-1 may acquire training data necessary for an artificial intelligence model for searching for a content corresponding to an image. In an embodiment of the present disclosure, the training data acquisition unit 2110-1 may acquire a sketch image or an image generated by a machine as training data. The training data may be data collected or tested by the learner 2110 or the manufacturer of the learner 2110.
  • the model learner 2110-4 may train the artificial intelligence model to have a criterion for generating an image incorporating the sketch using the training data. Alternatively, the model learner 2110-4 may train the artificial intelligence model to have a criterion for searching for the content corresponding to the image by using the training data. For example, the model learner 2110-4 may train the artificial intelligence model through supervised learning. Alternatively, the model learner 2110-4 may train the artificial intelligence model through, for example, unsupervised learning using self-learning training data without any guidance. For example, the model learner 2110-4 may train an artificial intelligence model by using a GAN (Generative Adversarial Network) technology or a VAE (Variational Auto-encoder) technology.
  • GAN Generic Adversarial Network
  • VAE Very Auto-encoder
  • model learner 2110-4 may train the artificial intelligence model, for example, through reinforcement learning using feedback on whether the determination result according to learning is correct.
  • model learner 2110-4 may train the AI model using, for example, a learning algorithm including an error back-propagation method or a gradient descent method. .
  • model learner 2110-4 may learn a selection criterion about what training data to use.
  • the model learner 2110-4 may determine the AI model to learn the AI model having a high correlation between the input training data and the basic training data.
  • the basic training data may be previously classified according to the type of data, and the artificial intelligence model may be pre-built for each type of data.
  • the basic training data is pre-classified by various criteria such as the region where the training data is generated, the time at which the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, and the types of objects in the training data. It may be.
  • the model learner 2110-4 may store the learned AI model.
  • the model learner 2110-4 may store the learned AI model in the memory 110 of the electronic device 100, the memory of the second component 2000, or the memory of the third component 3000. Can be.
  • the learning unit 2110 may include a training data preprocessor 2110-2 and a training data selection unit 2110-3 in order to improve the determination result of the artificial intelligence model or to save resources or time necessary for generating the artificial intelligence model. ) May be further included.
  • the training data preprocessor 2110-2 may preprocess the acquired data so that the acquired data may be used for learning to acquire an image incorporating the sketch. In addition, the training data preprocessor 2110-2 may preprocess the acquired data so that the data acquired for the training for searching the content corresponding to the image may be used.
  • the training data selection unit 2110-3 may select data necessary for learning from data acquired by the training data acquisition unit 2110-1 or data preprocessed by the training data preprocessor 2110-2.
  • the selected training data may be provided to the model learner 2110-4.
  • the training data selector 2110-3 may select the training data necessary for learning from the acquired or preprocessed data according to a predetermined selection criterion.
  • the training data selector 2110-3 may select the training data according to a predetermined selection criterion by learning by the model learner 2110-4.
  • the learner 2110 may further include a model evaluator 2110-5 to improve the determination result of the artificial intelligence model.
  • the model evaluator 2110-5 may input the evaluation data into the artificial intelligence model, and if the determination result output from the evaluation data does not satisfy a predetermined criterion, may cause the model learner 2110-4 to relearn. have.
  • the evaluation data may be predefined data for evaluating the artificial intelligence model.
  • the model evaluator 2110-5 may determine a predetermined criterion when the number or ratio of the evaluation data in which the determination result is not accurate among the determination results of the learned AI model for the evaluation data exceeds a preset threshold. It can be evaluated as not satisfied.
  • the model evaluator 2110-5 evaluates whether each learned AI model satisfies a predetermined criterion, and determines a model that satisfies the predetermined criterion for the final AI. Can be determined as a model. In this case, when there are a plurality of models satisfying a predetermined criterion, the model evaluator 2110-5 may determine any one or a predetermined number of models that are preset in the order of the highest evaluation score as the final artificial intelligence model.
  • the determination unit 2120 may include an input data acquisition unit 2120-1 and a determination result providing unit 2120-4.
  • the determination unit 2120 may further include at least one of an input data preprocessor 2120-2, an input data selector 2120-3, and a model updater 2120-5.
  • the input data acquirer 2120-1 may acquire data necessary for obtaining an image generated by the machine based on the sketch.
  • the determination result providing unit 2120-4 may obtain the machine-generated image based on the sketch by applying the input data acquired by the input data obtaining unit 2120-1 to the AI model learned as an input value. .
  • the input data acquisition unit 2120-1 may acquire data necessary for searching for content corresponding to the image.
  • the determination result providing unit 2120-4 may search the content corresponding to the image by applying the input data acquired by the input data obtaining unit 2120-1 to the AI model learned as an input value.
  • the determination result providing unit 2120-4 may apply the data selected by the input data preprocessor 2120-2 or the input data selection unit 2120-3 to be described later as an input value to the artificial intelligence model to obtain a determination result. Can be.
  • the determination result providing unit 2120-4 may apply at least one image generated by the machine based on the sketch by applying the learned AI model to information about the sketch obtained by the input data obtaining unit 2120-1. Can be obtained.
  • the determination unit 2120 may further include an input data preprocessor 2120-2 and an input data selector 2120-3 to improve the determination result of the artificial intelligence model or to save resources or time for providing the determination result. It may further include.
  • the input data preprocessor 2120-2 may preprocess the acquired data so that the obtained data may be used to obtain at least one image generated by the machine based on the sketch.
  • the input data preprocessor 2120-2 predefines the acquired data so that the determination result providing unit 2120-4 can use the acquired data to obtain at least one image generated by the machine based on the sketch. In the formatted format.
  • the input data preprocessor 2120-2 may preprocess the acquired data so that the obtained data may be used to search for a content corresponding to the image.
  • the input data selector 2120-3 may select data necessary for providing a response from data acquired by the input data acquirer 2120-1 or data preprocessed by the input data preprocessor 2120-2. The selected data may be provided to the determination result providing unit 2120-4. The input data selector 2120-3 may select some or all of the acquired or preprocessed data according to preset selection criteria for providing a response. Also, the input data selector 2120-3 may select data according to a predetermined selection criterion by learning by the model learner 2110-4.
  • the model updater 2120-5 may control the artificial intelligence model to be updated based on the evaluation of the determination result provided by the determination result provider 2120-4. For example, the model updater 2120-5 may provide the model learner 2110-4 with the decision result provided by the determination result provider 2120-4 so that the model learner 2110-4 provides the result. You can request that the AI model be further trained or updated. In particular, the model updater 2120-5 may relearn the artificial intelligence model based on feedback information according to a user input.
  • Content search method of the embodiments of the present disclosure can bring the following effects. For example, because each user draws a picture differently, it may not be suitable to use the picture drawn by the user directly for content search, but it is also inconvenient for the user to draw a picture for the search. As in the embodiments of the present disclosure, according to the method of allowing the user to draw only an approximate sketch, and using the artificial intelligence model to create an image by embodying a sketch drawn by the user, the user may only sketch roughly. In addition, the machine-generated images are generated based on specific criteria, thereby ensuring consistency of content retrieval.
  • the various embodiments described above may be implemented in software, hardware, or a combination thereof.
  • the embodiments described in the present disclosure may include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and field programmable gate arrays (FPGAs). ), Processors, controllers, micro-controllers, microprocessors, and other electrical units for performing other functions.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • Processors controllers, micro-controllers, microprocessors, and other electrical units for performing other functions.
  • embodiments such as the procedures and functions described herein may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • the method according to various embodiments of the present disclosure may be implemented in software including instructions that may be stored in a machine-readable storage medium.
  • the device may be a device capable of calling a stored command from a storage medium and operating in accordance with the called command, and may include an electronic device (eg, the electronic device 100) according to the disclosed embodiments.
  • the processor may perform a function corresponding to the instruction directly or by using other components under the control of the processor.
  • the instructions can include code generated or executed by a compiler or interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' means that the storage medium does not include a signal and is tangible, but does not distinguish that the data is stored semi-permanently or temporarily on the storage medium.
  • a method according to various embodiments of the present disclosure may be included in a computer program product.
  • the computer program product may be traded between the seller and the buyer as a product.
  • the computer program product may be distributed online in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)) or through an application store (eg Play Store TM).
  • a device-readable storage medium eg compact disc read only memory (CD-ROM)
  • an application store eg Play Store TM
  • at least a portion of the computer program product may be stored at least temporarily or temporarily created in a storage medium such as a server of a manufacturer, a server of an application store, or a relay server.
  • Each component eg, a module or a program
  • some components eg, modules or programs
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, repeatedly, or heuristically, or at least some of the operations may be executed in a different order, omitted, or another operation may be added. Can be.

Landscapes

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

Abstract

전자 장치의 제어방법이 개시된다. 본 전자 장치의 제어방법은, 사용자가 그린 스케치를 입력받는 단계, 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하는 단계, 획득된 적어도 하나의 기계가 생성한 이미지를 표시하는 단계, 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 단계 및 검색된 적어도 하나의 컨텐츠를 제공하는 단계를 포함한다.

Description

전자 장치 및 그의 제어방법
본 개시는 전자 장치 및 그의 제어방법에 관한 것으로, 더욱 상세하게는 사용자가 그린 스케치를 이용하여 좀 더 효율적이고 편리하게 컨텐츠 검색을 할 수 있는 전자 장치 및 그의 제어방법에 관한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 오브젝트 인식, 오브젝트 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
한편, 종래에는 디바이스 상에서 컨텐츠를 검색하기 위해서는 파일명 등의 키워드 검색을 통해 검색하거나, 미리보기를 활용하여 직접 눈으로 보고 검색을 해야했다. 혹은 사람이 일일이 태깅을 한 정보로 메타데이터를 만들어 검색을 해야 했다.
그러나 키워드 검색 방식은, 파일의 날짜 혹은 사용자가 지정한 이름으로만 표현이 되어 있어 이미지/사진의 분위기나 색감을 찾기에는 어려움이 있고, 사람이 일일이 정보를 태깅하는 방식은 번거로움이 있었다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 사용자가 그린 스케치를 이용하여 좀 더 효율적이고 편리하게 컨텐츠 검색을 할 수 있는 전자 장치 및 그의 제어방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어방법은, 사용자가 그린 스케치를 입력받는 단계, 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 상기 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하는 단계, 상기 획득한 적어도 하나의 기계가 생성한 이미지를 표시하는 단계, 상기 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 단계 및 상기 검색된 적어도 하나의 컨텐츠를 제공하는 단계를 포함한다.
이 경우, 상기 검색하는 단계는, 상기 전자 장치에 저장된 복수의 컨텐츠 중 상기 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
이 경우, 본 실시 예에 따른 전자 장치의 제어방법은, 상기 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택받기 위한 적어도 하나의 UI 요소를 표시하는 단계를 더 포함하고 상기 획득하는 단계는, 상기 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 스케치를 상기 인공지능 모델에 입력하여 상기 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득할 수 있다.
이 경우, 상기 검색하는 단계는, 상기 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 선택된 이미지에 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
한편, 상기 획득하는 단계는, 상기 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 상기 스케치를 상기 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득할 수 있다.
이 경우, 상기 표시하는 단계는, 상기 획득한 복수의 이미지를 카테고리 별로 표시할 수 있다.
한편, 상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것일 수 있다.
한편, 상기 검색하는 단계는, 인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
이 경우, 본 실시 예에 따른 전자 장치의 제어방법은, 상기 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 상기 컨텐츠 검색을 위한 인공지능 모델을 재 학습시키는 단계를 더 포함할 수 있다.
한편, 상기 사용자가 그린 스케치를 입력받는 단계는, 원격제어장치의 움직임에 대응하는 신호를 수신하고 상기 수신한 신호를 기초로 스케치에 대한 정보를 획득할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치는, 컴퓨터 실행가능 명령어(computer executable instructions)를 저장하는 메모리, 디스플레이 및 상기 컴퓨터 실행가능 명령어를 실행함으로써, 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 사용자가 그린 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하고, 상기 획득한 적어도 하나의 기계가 생성한 이미지를 표시하도록 상기 디스플레이를 제어하고, 상기 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하고, 상기 검색된 적어도 하나의 컨텐츠를 제공하는 프로세서를 포함한다.
이 경우, 상기 프로세서는, 상기 전자 장치에 저장된 복수의 컨텐츠 중 상기 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
이 경우, 상기 프로세서는, 상기 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택받기 위한 적어도 하나의 UI 요소를 표시하도록 상기 디스플레이를 제어하고, 상기 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 스케치를 상기 인공지능 모델에 입력하여 상기 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득할 수 있다.
이 경우, 상기 프로세서는, 상기 선택된 UI 요소에 대응하는 카테고리에 대한 정보 및 상기 선택된 이미지에 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
한편, 상기 프로세서는, 상기 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 상기 스케치를 상기 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득할 수 있다.
이 경우, 상기 프로세서는, 상기 획득한 복수의 이미지를 카테고리 별로 표시하도록 상기 디스플레이를 제어할 수 있다.
한편, 상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것일 수 있다.
한편, 상기 프로세서는, 인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
이 경우, 상기 프로세서는, 상기 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 상기 컨텐츠 검색을 위한 인공지능 모델을 재 학습시킬 수 있다.
한편, 본 개시의 실시 예에 따른 전자 장치는 통신부를 더 포함하며, 상기 프로세서는, 원격제어장치의 움직임에 대응하는 신호를 상기 통신부를 통해 수신하고 상기 수신한 신호를 기초로 스케치에 대한 정보를 획득할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 컨텐츠 제공 방법을 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하기 위한 흐름도,
도 3 내지 도 4는 전자 장치가 스케치를 입력받는 본 개시의 다양한 실시 예를 설명하기 위한 도면,
도 5 내지 도 8은 본 개시의 다양한 실시 예에 따른 전자 장치가 제공하는 UI(User Interface)를 설명하기 위한 도면,
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 10은 본 개시의 일 실시 예에 따른, 인식 모델을 이용하는 네트워크 시스템의 흐름도,
도 11은 본 개시의 일 실시 예에 따른, 인식 모델을 학습하고 이용하기 위한 전자 장치를 설명하기 위한 블록도, 그리고,
도 12 내지 도 13은 본 개시의 다양한 실시 예에 따른 학습부 및 분석부를 설명하기 위한 블록도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
본 문서에서 사용된 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크톱 PC(desktop personal computer), 랩톱 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전제품(home appliance)일 수 있다. 가전제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 삼성 One Connect Box™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하에서는 본 개시의 다양한 실시 예에 따른, 사용자가 대략적으로 그린 스케치를 기초로 컨텐츠를 검색하는 방법에 대해 설명하도록 한다. 도 1은 본 개시에 따른 컨텐츠 검색 방법의 일 예를 설명하기 위한 도면이다.
도 1을 참고하면, 먼저, 사용자가 대략적으로 그린 스케치가 입력된다. 스케치는 윤곽선(점선) 및 색상(점선 위에 도시됨) 중 적어도 하나로 구성될 수 있다. 그림 파일이 입력되거나, 전자 장치에 사용자가 전자 펜을 이용해 직접 스케치를 그릴 수 있다.
그리고 인공지능 알고리즘을 이용해 학습된 인공지능 모델을 이용하여 사용자가 그린 스케치를 바탕으로 기계가 생성한 이미지(machine-generated image)를 획득한다. 인공지능 모델은 스케치를 구체화한 이미지를 생성하는 기준을 갖도록 학습된 것일 수 있다. 도 1에 도시한 기계가 생성한 이미지에서는, 위로 뾰족한 윤곽선과 그 위의 색(ex. 하늘색)을 지정한 사용자의 스케치를 바탕으로 산과 하늘이 표현되었다.
그리고 기계가 생성한 이미지와 대응되는 컨텐츠가 검색되어 제공된다. 예컨대 도 1에 도시된 바와 같이 기계가 생성한 이미지와 유사한, 하늘과 산이 촬영된 사진 컨텐츠가 검색될 수 있다.
컨텐츠 검색에는, 텍스트 기반 이미지 검색(Text-based Image Retrieval, TBIR) 및 내용기반 이미지 검색(Content-based Image Retrieval, CBIR) 중 적어도 하나가 사용될 수 있다. 텍스트 기반 이미지 검색 방식은 예컨대, 기계가 생성한 이미지로부터 특징을 추출하고 추출된 특징에 대응되는 키워드를 결정하고, 상기 결정된 키워드를 포함하는 파일명, 메타 데이터를 갖는 컨텐츠를 검색하는 방식을 포함할 수 있다. 내용기반 이미지 검색 방식은 예컨대, 이미지의 색상, 질감, 모양 등의 시각적 요소를 수치화하여 비교하는 방식을 포함할 수 있다. 내용기반 이미지 검색 방식은 동영상 컨텐츠 검색에도 적용될 수 있다. 예컨대, 동영상 컨텐츠의 어느 한 장면이 기계가 생성한 이미지와 비교될 수 있고, 또 다른 예로, 동영상 컨텐츠에 대한 대표 이미지(예컨대 동영상 컨텐츠가 영화인 경우 영화 포스터)가 기계가 생성한 이미지와 비교될 수 있다.
컨텐츠 검색에도 인공지능 모델에 의해 학습된 인공지능 모델이 이용될 수 있다. 인공지능 모델에 기계가 생성한 이미지를 입력하여 기계가 생성한 이미지와 대응되는 컨텐츠를 검색할 수 있다.
본 개시의 다양한 실시 예에 따른 컨텐츠 검색 방법은 전자 장치를 통해 구현될 수 있다. 이하, 도 2를 참고하여 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하기 위한 흐름도이다.
도 2를 참조하면 먼저, 전자 장치는 사용자가 그린 스케치를 입력 받는다(S210).
본 개시의 일 실시 예에 따른 전자 장치는 사용자가 외부 장치에서 그린 스케치를 외부 장치로부터 수신할 수 있다. 예컨대, 본 개시의 일 실시 예에 따른 전자 장치는 TV이고, TV는 스마트폰과 같은 외부 장치에서 사용자가 그린 스케치를 수신할 수 있다.
본 개시의 또 다른 실시 예에 따른 전자 장치는 사용자로부터 직접 스케치를 입력 받을 수 있다. 예컨대, 터치 입력 방식, 마우스, 키보드, 조이스틱, 리모컨 등의 장치를 통해 입력 받는 방식 등을 통해 스케치가 입력될 수 있다.
도 3 내지 도 4는 본 개시의 몇몇의 실시 예에 따른 스케치 입력 방식을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)에서 터치 입력 방식을 통해 스케치를 입력하는 예를 도시한 것이다.
도 3을 참고하면, 전자 장치(100)는 터치 스크린을 구비하며, 캔버스 UI(User Interface)를 제공할 수 있다. 캔버스 UI는 다양한 UI 요소를 포함할 수 있다. 예컨대, 캔버스 UI는, 윤곽선 그리기 UI 요소(31), 색 칠하기 UI 요소(33), 지우개 UI 요소(35), 이미지 파일 업로드를 위한 UI 요소(37), 검색 실행을 위한 UI 요소(39)를 포함할 수 있다.
사용자는 전자 장치(100)의 터치 스크린에 손가락 또는 펜(예를 들어, 스타일러스 펜))을 이용하여 스케치를 그릴 수 있다. 예컨대, 윤곽선 그리기 UI 요소(31)가 선택된 이후의 터치는 윤곽선(310)으로 그려질 수 있고, 색 칠하기 UI 요소(33)가 선택된 이후의 터치는 색(330)으로 칠해질 수 있다. 펜, 예컨대 스타일러스 펜으로 스케치를 그리는 경우, 펜에 마련된 버튼으로 윤곽선, 색 칠하기, 지우기 등을 선택할 수도 있다.
스케치를 완성한 후 검색 실행을 위한 UI 요소(39)를 선택하면, 스케치를 기초로 기계가 생성한 이미지가 획득되고, 컨텐츠 검색이 수행될 수 있다.
한편, 이미지 파일 업로드를 위한 UI 요소(37)를 선택하고 전자 장치(100)에 저장된 이미지 파일을 선택하면, 선택된 이미지 파일을 기초로 컨텐츠 검색이 수행될 수 있다. 즉, 사용자가 직접 그리지 않고도 컨텐츠 검색을 수행할 수 있다. 또는, 업로드된 이미지 파일이 컨버스 UI에 표시될 수 있고, 여기에 사용자가 스케치를 추가하거나 지우개 UI 요소(35)로 지우는 등의 추가 수정을 할 수 있고, 추가 수정이 이루어진 이미지를 기초로 컨텐츠 검색이 이루어질 수도 있다.
컨텐츠 검색은 전자 장치(100)에서 수행되거나, 또는 외부 장치(예컨대 서버)에서 수행될 수 있다. 후자의 경우, 전자 장치(100)는 입력된 스케치에 대한 정보 또는 업로드된 이미지 파일을 외부 장치로 전송하여, 외부 장치에서 컨텐츠 검색이 수행될 수 있다.
도 4는 본 개시의 또 다른 실시 예에 따른 전자 장치(100)에서 원격으로 스케치를 입력하는 예를 도시한 것이다.
도 4를 참고하면, 전자 장치(100)는 원격 제어 장치(200)와 통신이 가능하다. 원격 제어 장치(200)는 XYZ 공간 상에서 원격 제어 장치(200)의 움직임을 감지하고, 감지된 3차원 움직임에 관한 신호를 전자 장치(100)로 전송할 수 있다.
이 경우, 원격 제어 장치(200)는 원격 제어 장치(200)의 기 설정된 기준에 대해 절대적으로 이동된 위치를 산출하는 절대 좌표 방식 또는 원격 제어 장치(200)의 현재 위치를 기준으로 보고 상대적으로 이동된 위치를 산출하는 상대 좌표 방식에 기초하는 포인팅 모드를 제공할 수 있다.
원격 제어 장치(200)는 가속도 센서, 자이로 센서, 지자기 센서 중 적어도 하나를 포함할 수 있다. 원격 제어 장치(200)에 포함된 각종 센서는, 하나 또는 둘 이상의 조합을 통하여 원격 제어 장치(200)의 공간상 움직임을 감지할 수 있다.
예를 들어, 가속도 센서는 사용자가 원격 제어 장치(200)를 이동시킬 때 발생하는 가속도의 변화 및 각 가속도의 변화 중 적어도 하나를 감지하고, 자이로(gyro) 센서는 원격 제어 장치(200)의 회전 각속도를 감지할 수 있으며, 지자기 센서는 구의 남북 방향으로 형성되어 있는 자기장(magnetic field)을 감지하여 방위각을 측정할 수 있다.
원격 제어 장치(200)는 BT(Bluetooth), WI-FI(Wireless Fidelity), IR(Infrared), Serial Interface, USB(Universal Serial Bus) 등과 같은 다양한 통신 방식을 통해 전자 장치(100)로 원격 제어 장치(200)의 움직임에 대응하는 신호를 전송할 수 있다.
도 4에 도시한 것처럼 전자 장치(100)는 원격 제어 장치(200)로부터 수신한 신호에 기초하여 스케치를 입력 받을 수 있다.
도 3에서 설명한 것처럼 도 4의 전자 장치(100)도 윤곽선 그리기 UI 요소, 색 칠하기 UI 요소, 지우기 UI 요소, 검색 실행을 위한 UI 요소 등과 같은 UI 요소를 제공할 수 있고, 사용자는 원격 제어 장치(200)를 통해 전자 장치(100)에 제공된 UI 요소를 선택하여 스케치를 그릴 수 있다. 예컨대, 사용자는 원격 제어 장치(200)를 움직이거나 방향 키를 선택하여 전자 장치(100)에 표시된 윤곽선 그리기 UI 요소를 선택한 후, 원격 제어 장치(200)를 움직여서 전자 장치(100)에 윤곽선을 그릴 수 있다. 또는, 원격 제어 장치(200)에서 윤곽선 그리기, 색 칠하기 등을 위한 버튼(물리 버튼 또는 원격 제어 장치(200)에 마련된 터치 스크린을 통해 제공되는 소프트 버튼)이 마련될 수 있고, 사용자는 이러한 원격 제어 장치(200)에 마련된 버튼을 선택한 후 원격 제어 장치(200)를 움직여서 전자 장치(100)에 스케치를 그릴 수 있다.
사용자가 그린 스케치를 입력 받은 전자 장치는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득한다(S220).
상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것일 수 있다.
본 개시의 일 실시 예에 따르면 전자 장치는 전자 장치에 저장된 인공 지능 모델을 이용해서 기계가 생성한 이미지를 획득할 수 있다. 또 다른 실시 예에 따르면, 전자 장치는 외부 서버에 저장된 인공 지능 모델을 이용해서 기계가 생성한 이미지를 획득할 수 있다. 후자의 경우, 전자 장치는 사용자가 그린 스케치에 대한 정보를 외부 서버로 전송하고, 외부 서버로부터 기계가 생성한 이미지를 수신할 수 있다.
그리고 전자 장치는 적어도 하나의 기계가 생성한 이미지를 표시한다(S230). 본 개시의 일 실시 예에 따른 전자 장치는 기계가 생성한 적어도 하나의 이미지를 자체 디스플레이를 통해 표시하거나, 기계가 생성한 적어도 하나의 이미지가 외부 디스플레이 장치에서 표시되도록 기계가 생성한 적어도 하나의 이미지를 외부 디스플레이 장치로 전송할 수 있다.
그리고 전자 장치는 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색한다(S240). 그리고 전자 장치는 상기 검색된 적어도 하나의 컨텐츠를 제공한다(S250).
본 개시의 또 다른 실시 예에 따르면, 기계가 생성한 적어도 하나의 이미지를 표시하고 사용자로부터 이 중 어느 하나의 이미지를 선택 받는 과정은 생략될 수 있다. 즉, 사용자가 그린 스케치를 입력 받으면 이를 기초로 곧바로 기계가 생성한 이미지를 획득하고 기계가 생성한 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
검색 대상이 되는 컨텐츠에는 제한이 없다. 비 제한적인 예로서, 기계가 생성한 이미지와 유사한 사진, 기계가 생성한 이미지와 유사한 장면을 갖는 동영상, 기계가 생성한 이미지와 유사한 얼굴을 갖는 인물에 대한 정보, 기계가 생성한 이미지와 유사한 장소에 대한 정보, 기계가 생성한 이미지를 기초로 인터넷 검색한 결과, 기계가 생성한 이미지와 유사한 포스터를 갖는 드라마, 영화, 애니메이션 등이 검색되어 제공될 수 있다.
검색 대상이 되는 컨텐츠는 전자 장치에 저장된 컨텐츠들일 수 있다. 일 실시 예에 따르면, 사용자는 컨텐츠 검색을 수행할 폴더를 직접 지정할 수 있다. 또 다른 실시 예에 따르면, 검색 대상이 되는 컨텐츠는 전자 장치에 저장되지 않은 외부 소스의 컨텐츠가 될 수 있다. 예컨대 인터넷에서 제공되는 컨텐츠가 검색될 수 있다.
본 개시의 일 실시 예에 따른 전자 장치는 자체적으로 검색을 수행할 수 있다. 본 개시의 또 다른 실시 예에 따른 전자 장치는 기계가 생성한 이미지에 대한 정보를 외부 장치로 전송하여 외부 장치에서 검색이 수행되도록 할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치는 인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 기계가 생성한 이미지에 대응되는 컨텐츠를 검색할 수 있다.
컨텐츠 검색을 위한 인공지능 모델은, 검색되어 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 재 학습될 수 있다. 구체적으로, 사용자가 선택한 컨텐츠에는 가중치가 부여되고 이를 이용해 컨텐츠 검색을 위한 인공지능 모델이 재 학습될 수 있다. 사용자가 어떤 컨텐츠를 선택하였는지에 대한 히스토리 정보가 저장될 수 있다. 컨텐츠 검색을 위한 인공지능 모델은 이러한 히스토리 정보를 기초로 재 학습되므로 사용자에게 특화(또는 개인화)될 수 있으며, 사용하면 할수록 정확도가 높아질 수 있다.
도 5 내지 도 8은 스케치를 기반으로 컨텐츠를 검색하는 기능을 제공하는 본 개시의 다양한 실시 예에 따른 전자 장치(100)에서 제공되는 UI(User Interface)를 설명하기 위한 도면이다.
도 5를 참고하면, 전자 장치(100)가 제공하는 UI는 스케치를 그리는 영역과 기계가 생성한 적어도 하나의 이미지를 표시하는 영역을 포함할 수 있다. 전자 장치(100)는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여 사용자가 그린 스케치(510)를 기초로 기계가 생성한 적어도 하나의 이미지(520)를 표시할 수 있다.
스케치를 그리는 영역에서 그려지는 스케치에 따라 기계가 생성한 적어도 하나의 이미지가 실시간으로 표시될 수 있다. 따라서, 스케치가 수정되면 그 수정 사항이 실시간으로 인공지능 모델에 입력되어, 실시간으로 이미지가 수정되어 표시될 수 있다.
기계가 생성한 적어도 하나의 이미지(520)는 점수가 높은 순서대로(또는 유사도가 높은 순서대로) 나열되어 표시될 수 있다.
기계가 생성한 적어도 하나의 이미지(520) 중 하나를 선택하기 위한 사용자 명령을 수신하면 사용자에 의해 선택된 이미지(521)에는 다른 이미지들과 다른 그래픽 효과가 표시될 수 있다. 예컨대 도 5에 도시된 것처럼 선택된 이미지(521) 주변에 굵은 윤곽선이 표시될 수 있다.
그리고 사용자가 검색 실행을 위한 UI 요소(530)를 선택하면, 선택된 이미지(521)와 대응되는 적어도 하나의 컨텐츠(540)가 검색되어 제공될 수 있다. 검색된 컨텐츠들(540) 중 어느 하나를 사용자가 선택하면 예컨대, 해당 컨텐츠가 확대되어 표시될 수 있다. 사용자가 선택한 컨텐츠가 동영상 컨텐츠인 경우에는 동영상이 재생될 수 있다. 한편, 검색된 컨텐츠들(540) 중 사용자에 의해 선택된 컨텐츠에 대한 정보는 컨텐츠 검색을 위해 이용되는 인공지능 알고리즘을 재 학습시키는데 이용될 수 있다.
도 6은 본 개시의 또 다른 실시 예에 따른 전자 장치가 제공하는 UI를 설명하기 위한 도면이다.
도 6을 참고하면, 전자 장치(100)는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여 사용자가 그린 스케치(610)를 기초로 기계가 생성한 적어도 하나의 이미지(620)를 표시할 수 있다.
이 경우, 인공지능 모델은 카테고리에 따라 다른 기준으로 학습된 것일 수 있다. 따라서, 인공지능 모델은 동일한 스케치가 입력되더라도 카테고리에 따라 다른 이미지를 생성할 수 있다. 예컨대 도 6에 도시한 것처럼, 스케치(610)가 자연 카테고리에 속하는 대상으로 구체화된 이미지들과 스케치(610)가 건물 카테고리에 속하는 대상으로 구체화된 이미지들이 생성될 수 있다.
일 실시 예에 따르면, 어떤 카테고리의 이미지들을 생성할 것인지를 미리 지정할 수 있다. 즉, 전자 장치(100)는 복수의 카테고리에 대한 정보 및 사용자가 그린 스케치를 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득할 수 있다. 이 경우, 복수의 카테고리에 대한 정보는 검색하고자 하는 컨텐츠들을 분류하여 획득한 것일 수 있다. 예컨대, 검색하고자 하는 대상이 전자 장치(100)에 저장된 컨텐츠인 경우, 전자 장치(100)에 저장된 복수의 컨텐츠를 분류하여 획득한 정보를 기초로 복수의 카테고리에 대한 정보가 획득될 수 있다.
예컨대, 전자 장치(100)에 저장된 컨텐츠들의 메타 데이터를 기초로 컨텐츠들을 자연 카테고리, 건물 카테고리로 분류할 수 있고, 이와 같이 분류된 카테고리에 대한 정보와 스케치(610)를 인공지능 모델에 입력하여, 자연 카테고리에 속하는 대상으로 구체화된 이미지들과 건물 카테고리에 속하는 대상으로 구체화된 이미지들을 획득할 수 있다.
그리고 전자 장치(100)는 카테고리 별로 이미지들을 표시할 수 있다. 즉, 도 6에 도시한 예시처럼 자연 카테고리에 속하는 대상으로 형상화된 이미지들과 건물 카테고리에 대상으로 형상화된 이미지들을 구분해서 표시할 수 있다.
기계가 생성한 적어도 하나의 이미지(620) 중 사용자가 어느 하나의 이미지(621)를 선택하고 검색 실행을 위한 UI 요소(630)를 선택하면, 선택된 이미지(621)와 대응되는 적어도 하나의 컨텐츠(640)가 검색되어 제공될 수 있다.
도 7은 본 개시의 또 다른 실시 예에 따른 전자 장치가 제공하는 UI를 설명하기 위한 도면이다.
도 7을 참고하면, 전자 장치(100)는 카테고리를 선택 받기 위한 적어도 하나의 UI 요소(720)를 표시할 수 있다.
카테고리를 선택 받기 위한 적어도 하나의 UI 요소(720)는 검색하고자 하는 컨텐츠들을 분류한 결과를 기초로 표시된 것일 수 있다. 예컨대, 검색하고자 하는 대상이 전자 장치(100)에 저장된 컨텐츠인 경우, 전자 장치(100)에 저장된 복수의 컨텐츠를 분류하여 획득한 정보를 기초로 적어도 하나의 UI 요소(720)가 표시될 수 있다. 예컨대, 전자 장치(100)에 저장된 사진 컨텐츠들이 자연 카테고리, 건물 카테고리, 인물 카테고리로 분류된 경우, 도 7에 도시한 바와 같이 자연 카테고리에 대응하는 UI 요소, 건물 카테고리에 대응하는 UI 요소 및 인물 카테고리에 대응하는 UI 요소가 표시될 수 있다.
전자 장치(100)는 적어도 하나의 UI 요소(720) 중 사용자에 의해 선택된 UI 요소(721)에 대응하는 카테고리에 대한 정보와 스케치(710)를 인공지능 모델에 입력하여 스케치(710)를 상기 선택된 UI 요소(721)에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지(730)를 획득할 수 있다.
기계가 생성한 적어도 하나의 이미지(730) 중 사용자가 어느 하나의 이미지(731)를 선택하고 검색 실행을 위한 UI 요소(740)를 선택하면, 사용자에 의해 선택된 UI 요소(721)에 대응하는 카테고리에 대한 정보 및 선택된 이미지(731)에 대응되는 적어도 하나의 컨텐츠(750)가 검색될 수 있다. 즉, 사용자에 의해 선택된 UI 요소(721)에 대응하는 카테고리 정보가 검색 결과를 필터링하는데 사용될 수 있다. 따라서, 선택된 이미지(731)와 유사한 사진 컨텐츠들 중에서 자연 카테고리에 해당하는 사진 컨텐츠들(750)이 검색되어 제공되는 것이다. 외부 장치(예컨대 서버)에서 컨텐츠가 검색되는 경우, 외부 장치로 카테고리에 대한 정보와 선택된 이미지에 대한 정보가 전송되고, 외부 장치가 카테고리에 대한 정보를 이용하여 상기 선택된 이미지에 대응하는 컨텐츠를 검색할 수 있다.
도 8은 본 개시의 또 다른 실시 예에 따른 전자 장치가 제공하는 UI를 설명하기 위한 도면이다.
도 8을 참고하면, 전자 장치(100)는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여 사용자가 그린 스케치(810)를 기초로 기계가 생성한 이미지(820)를 표시할 수 있다.
그리고 사용자가 검색 실행을 위한 UI 요소(830)를 선택하면, 기계가 생성한 이미지(820)와 대응되는 적어도 하나의 컨텐츠가 검색되어 제공될 수 있다.
이 경우, 다양한 소스의 컨텐츠가 검색될 수 있다. 예컨대, 전자 장치(100)가 인터넷 프로토콜을 사용하여 소비자에게 디지털 텔레비전 서비스를 제공하는 IPTV(Internet Protocol Television)인 경우, VOD(Video on demand) 컨텐츠, 실시간 방송 컨텐츠, 애플리케이션, 인터넷 컨텐츠(예컨대 구글™ 에서 검색한 결과) 등이 검색되어 제공될 수 있다.
일 실시 예에 따르면, 도 8에 도시한 바와 같이 컨텐츠 소스 별로 검색 결과가 제공될 수 있다. VOD(Video on demand) 컨텐츠에 대응하는 UI 요소(841), 실시간 방송 컨텐츠에 대응하는 UI 요소(843), 애플리케이션에 대응하는 UI 요소(845), 인터넷 컨텐츠에 대응하는 UI 요소(847)가 표시될 수 있다. 여기서 예컨대 VOD(Video on demand)컨텐츠에 대응하는 UI 요소(841)가 선택되면, 검색된 VOD들(850)이 제공될 수 있다. 검색된 VOD들(850) 중 어느 하나가 선택되면 선택된 VOD가 재생되거나 또는 VOD결재를 위한 화면이 제공될 수 있다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 블록도이다. 전자 장치(100)는 도 1 내지 도 8을 참고하여 상술한 실시 예들의 동작을 수행할 수 있다.
도 9를 참고하면, 전자 장치(100)는 메모리(110), 디스플레이(120) 및 프로세서(130)를 포함한다. 실시 형태에 따라 도시되지 않았더라도 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
메모리(110)는 예를 들면, 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.
외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 포함할 수 있다. 외장 메모리는 다양한 인터페이스를 통하여 전자 장치(100)와 기능적으로 및/또는 물리적으로 연결될 수 있다.
메모리(110)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(130) 내 롬, 램 또는 전자 장치(100)에 장착되는 메모리 카드(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
메모리(110)는 도 2 내지 도 8을 참고하여 상술한 실시 예들에 따른 전자 장치의 제어방법을 수행하기 위한 컴퓨터 실행가능 명령어(computer executable instructions)를 저장할 수 있다.
메모리(110)는 도 1 내지 도 8을 참고하여 상술한 실시 예들에 따른 인공지능 모델을 저장할 수 있다. 인공지능 모델은 외부의 서버에서 학습되어 전자 장치(100)로 제공될 수 있다. 전자 장치(100)는 외부 서버로부터 인공지능 모델을 다운로드 하여 메모리(110)에 저장할 수 있고, 인공지능 모델이 업데이트(또는 재 학습)되면 업데이트된 인공지능 모델을 외부 서버로부터 수신하여 저장할 수 있다. 전자 장치(100)는 이와 같은 외부 서버에 근거리 통신망(LAN: Local Area Network), 인터넷망 등을 통해 접속될 수 있다.
일 실시 예에 따르면, 메모리(110)는 클라우드 서버와 같은 전자 장치(100) 외부의 서버로 구현될 수도 있다.
디스플레이(120)는 영상을 표시하기 위한 구성이다. 예를 들면, 스케치를 입력 받고 스케치에 대한 검색 결과를 제공하는 UI 화면이 디스플레이(120)에 표시될 수 있다. UI 화면은 텍스트, 이미지, 아이콘, 또는 심볼 등의 UI 요소를 포함할 수 있다.
디스플레이(120)는 예를 들면, 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이(예컨대 AMOLED(active-matrix organic light-emitting diode), PMOLED(passive-matrix OLED)), 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다.
디스플레이(120)는 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
한편, 디스플레이(120)는 전자 장치(100)에서 생략될 수 있다. 이 경우, 전자 장치(100)는 외부 디스플레이 장치로 영상 신호를 전송하여 외부 디스플레이 장치에서 영상이 표시되도록 할 수 있다.
전자 장치(100)는 입력 장치를 포함할 수 있고, 입력 장치 통해 다양한 사용자 입력을 수신할 수 있다. 상기 입력 장치는 예컨대, 버튼, 터치 패널, 모션 입력을 수신할 수 있는 센서 또는 카메라, 음성 입력을 수신할 수 있는 마이크 등을 포함할 수 있다.
또 다른 실시 예에 따르면, 전자 장치(100)는 외부 입력 장치와 연결되어 외부 입력 장치를 통해 다양한 사용자 입력을 수신할 수 있다. 예컨대, 외부 입력 장치는 키보드, 마우스, 스마트 폰, 리모컨 등을 포함할 수 있다. 전자 장치(100)는 외부 입력 장치와 무선 또는 유선으로 연결될 수 있다. 예컨대 전자 장치(100)는 USB 포트 등을 통해 외부 입력 장치와 유선으로 연결될 수 있다. 또 다른 예로, 전자 장치(100)는 적외선 통신(IrDA, infrared Data Association), RFID(Radio Frequency Identification), WiFi(Wireless Fidelity), 와이파이 다이렉트(Wi-Fi Direct), 블루투스(ex. 블루투스 클래식(Bluetooth Classic), 블루투스 저 에너지(Bluetooth Low Energy)), 지그비(Zigbee) 등의 통신 방식을 통해 외부 입력 장치와 무선으로 연결될 수 있다.
전자 장치(100)는 외부 장치와 통신하기 위한 통신부를 포함할 수 있다. 고, 통신부는 무선 통신 또는 유선 통신을 통해서 네트워크에 연결될 수 있다. 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신을 포함할 수 있다. 근거리 통신은, 예를 들면, WiFi 다이렉트(wireless fidelity direct), 블루투스(Bluetooth), NFC(near field communication), 직비(Zigbee) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 통신부를 통해 원격제어장치와 통신할 수 있다. 이 원격제어장치는 모션 입력을 받을 수 있는 장치로서, 전자 장치(100)는 원격제어장치의 움직임에 대응하는 신호를 원격제어장치로부터 수신할 수 있다. 그리고 프로세서(130)는 수신된 신호를 기초로 스케치에 대한 정보를 획득할 수 있다. 즉, 사용자가 원격제어장치를 잡고 허공에 그리는 스케치가 전자 장치(100)에 입력될 수 있다. 이러한 스케치는 디스플레이(120)를 통해 표시될 수 있다.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어하기 위한 구성이다. 예를 들면, 프로세서(130)는 운영 체제 또는 응용 프로그램을 구동하여 프로세서(130)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(130)는 CPU(central processing unit) 또는 GPU(graphics-processing unit)이거나 둘 다일 수 있다. 프로세서(130)는 적어도 하나의 범용 프로세서(general processor), 디지털 신호 프로세서(digital signal processor), ASIC(Application specific integrated circuit), SoC(system on chip), MICOM(Microcomputer) 등으로 구현될 수 있다.
프로세서(130)는 메모리(120)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 동작을 수행할 수 있다. 프로세서(130)는 도 1 내지 도 8에서 설명한 실시 예들에 따른 기능을 전자 장치(100)가 수행할 수 있도록 할 수 있다.
일 예로, 프로세서(130)는 메모리(110)에 저장된 컴퓨터 실행가능 명령어를 실행함으로써 다음의 동작을 수행할 수 있다. 구체적으로 프로세서(130)는 사용자가 그린 스케치에 대한 정보를 획득하고, 스케치를 표시하도록 디스플레이(120)를 제어할 수 있다. 예컨대, 도 3 내지 도 8에 도시한 바와 같이 스케치를 표시하도록 디스플레이(120)를 제어할 수 있다.
그리고 프로세서(130)는 인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 사용자가 그린 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득할 수 있다.
그리고 프로세서(130)는 상기 획득한 적어도 하나의 기계가 생성한 이미지를 표시하도록 디스플레이(120)를 제어할 수 있다. 예컨대 프로세서(130)는 도 5내지 도 8에 도시한 것처럼 기계가 생성한 이미지를 표시하도록 디스플레이(120)를 제어할 수 있다.
그리고 프로세서(130)는 디스플레이(120)에 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다.
프로세서(130)는 인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 기계가 생성한 이미지에 대응되는 컨텐츠를 검색할 수 있다.
프로세서(130)는 전자 장치(100)의 메모리(110)에 저장된 컨텐츠 또는 인터넷에서 제공되는 컨텐츠를 검색할 수 있다. 검색 대상이 되는 컨텐츠는 사진, 동영상, 애플리케이션, 뉴스, E-Book, 영화, 애니메이션 등 어떠한 디지털 정보라도 가능하다.
일 실시 예에 따르면, 사용자는 검색 범위를 지정할 수 있다. 예컨대, 프로세서(130)는 사용자로부터 폴더 지정 명령을 수신하고, 폴더 지정 명령에 대응되는 폴더 내의 컨텐츠를 검색할 수 있다. 또 다른 예로, 프로세서(130)는 사용자로부터 컨텐츠 종류 지정 명령을 수신하고, 지정된 컨텐츠 종류에서 컨텐츠를 검색할 수 있다.
프로세서(130)는 검색 대상이 되는 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택 받기 위한 적어도 하나의 UI 요소를 표시하도록 디스플레이(120)를 제어할 수 있다. 예컨대 프로세서(130)는 도 7에 도시한 것과 같은 UI 요소들(720)을 표시하도록 디스플레이(120)를 제어할 수 있다. 그리고 프로세서(130)는 디스플레이(120)에 표시된 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 사용자가 그린 스케치를 인공지능 모델에 입력하여 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득할 수 있다.
이 경우, 프로세서(130)는 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보 및 사용자가 선택한 기계가 생성한 이미지에 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다. 예컨대, 프로세서(130)는 컨텐츠 검색을 위한 인공 지능 모델에 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보 및 사용자가 선택한 기계가 생성한 이미지를 입력하여, 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 속하는 컨텐츠를 검색할 수 있다.
또한, 프로세서(130)는 검색 대상인 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 사용자가 그린 스케치를 인공지능 모델에 입력하여, 복수의 카테고리 각각에 대하여 스케치를 구체화한 복수의 이미지를 획득할 수 있다. 그리고 프로세서(130)는 이와 같이 획득한 복수의 이미지를 카테고리 별로 표시하도록 디스플레이(120)를 제어할 수 있다.
그리고 프로세서(130)는 검색된 적어도 하나의 컨텐츠를 제공할 수 있다. 예컨대 프로세서(130)는 도 5 내지 도 8에 도시한 것처럼 검색한 컨텐츠들을 표시하도록 디스플레이(120)를 제어할 수 있다.
한편, 컨텐츠 검색에 인공지능 모델이 이용된 경우, 프로세서(130)는 검색되어 제공된 적어도 하나의 컨텐츠 중 어느 하나에 대한 사용자의 선택을 바탕으로 컨텐츠 검색에 이용된 인공지능 모델을 재 학습 시킬 수 있다.
상술한 실시 예들의 동작은 여러 대의 장치를 통해 상술한 실시 예가 구현될 수도 있다. 이와 관련하여선 도 10을 참고하여 설명하도록 한다.
도 10은 본 개시의 다양한 실시 예에 다른 인공지능 모델을 이용하는 네트워크 시스템의 흐름도이다.
도 10을 참고하면, 인공지능 모델을 이용하는 네트워크 시스템은 제1 구성 요소(1000), 제2 구성 요소(2000) 및 제3 구성 요소(3000) 중 적어도 두 개를 포함할 수 있다. 예컨대, 제1 구성 요소(1000)는 데스크톱, 스마트폰, 태블릿 PC 등과 같은 전자 장치이고 제2 구성 요소(2000)는 기계가 생성한 이미지를 획득하기 위한 인공지능 모델, 데이터 베이스 등이 저장된 서버이고 제3 구성 요소(3000)는 이미지를 기반으로 컨텐츠를 검색하기 위한 인공지능 모델, 데이터 베이스 등이 저장된 서버일 수 있다. 또는, 제1 구성 요소(1000)는 범용 프로세서이고, 제2 구성 요소(2000) 및 제3 구성 요소(3000)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(1000)는 적어도 하나의 애플리케이션이 될 수 있고, 제2 구성 요소(2000) 및 제3 구성 요소(3000)는 운영 체제(operating system, OS)가 될 수 있다. 즉, 제2 구성 요소(2000) 및 제3 구성 요소(3000)는 제1 구성 요소(1000)보다 더 집적화되거나, 전용화되거나, 딜레이(delay)가 작거나, 성능이 우세하거나 또는 많은 리소스를 가진 구성 요소로서 모델의 생성, 갱신 또는 적용 시에 요구되는 많은 연산을 제1 구성 요소(1000)보다 신속하고 효과적으로 처리 가능한 구성 요소가 될 수 있다.
제1 구성 요소(1000), 제2 구성 요소(2000) 및 제3 구성 요소(3000) 간에 데이터를 송/수신하기 위한 인터페이스가 정의될 수 있다.
일 예로, 모델에 적용할 학습 데이터를 인자 값(또는, 매개 값 또는 전달 값)으로 갖는 API(application program interface)가 정의될 수 있다. API는 어느 하나의 프로토콜(예로, 제1 구성 요소(1000)에서 정의된 프로토콜)에서 다른 프로토콜(예로, 제2 구성 요소(2000)에서 정의된 프로토콜)의 어떤 처리를 위해 호출할 수 있는 서브 루틴 또는 함수의 집합으로 정의될 수 있다. 즉, API를 통하여 어느 하나의 프로토콜에서 다른 프로토콜의 동작이 수행될 수 있는 환경을 제공될 수 있다.
도 10을 참고하면, 먼저, 제1 구성요소(1000)는 스케치를 입력 받을 수 있다(S1110). 제1 구성요소(1000)는 키보드, 터치 스크린, 원격제어장치 등 다양한 입력 장치를 통해 스케치를 입력 받을 수 있다. 또한 제1 구성요소(1000)는 카테고리를 선택받을 수 있다.
그리고 제1 구성요소(1000)는 입력된 스케치에 대한 정보를 제2 구성요소(2000)로 전송할 수 있다(S1120). 또한 제1 구성요소(1000)는 스케치에 대한 정보와 선택된 카테고리에 대한 정보를 제2 구성요소(2000)로 전송할 수 있다.
제2 구성요소(2000)는 스케치를 인공지능 알고리즘에 의해 학습된 인공지능 모델에 입력하여, 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득할 수 있다(S1130). 제2 구성요소(2000)는 인공지능 모델 및 이미지 생성에 필요한 다양한 데이터를 포함한 데이터 베이스를 저장할 수 있다. 제2 구성요소(2000)는 제1 구성요소(1000)로부터 카테고리에 대한 정보를 수신할 경우, 카테고리에 대한 정보에 대응하는 카테고리에 속하는 대상으로 스케치를 구체화한 이미지를 획득할 수 있다.
그리고 제2 구성요소(2000)는 기계가 생성한 적어도 하나의 이미지에 대한 정보를 제1 구성요소(1000)로 전송할 수 있다(S1140). 이 경우, 예컨대, 제2 구성요소(2000)는 기계가 생성한 이미지를 파일 형태로 제1 구성요소(1000)에 전송할 수 있다. 또 다른 예로, 제2 구성요소(2000)는 기계가 생성한 이미지의 저장 주소(예컨대, URL 주소)에 대한 정보를 제1 구성요소(1000)로 전송할 수 있다.
제1 구성요소(1000)는 제2 구성요소(2000)로부터 수신한 적어도 하나의 이미지 중 어느 하나에 대한 사용자 선택을 수신할 수 있다(S1150). 예컨대 제1 구성요소(1000)는 자체적으로 포함한 디스플레이 또는 외부 디스플레이 장치를 통해 제2 구성요소(1000)를 통해 수신한 기계가 생성한 적어도 하나의 이미지를 표시할 수 있다. 사용자는 표시된 적어도 하나의 이미지 중 검색에 사용하고자 할 이미지를 선택할 수 있다.
그리고 제1 구성 요소(1000)는 선택된 이미지에 대한 정보를 제3 구성요소(3000)로 전송할 수 있다(S1160).
제3 구성요소(3000)는 이미지를 인공지능 알고리즘에 의해 학습된 인공지능 모델에 입력하여, 이미지에 대응되는 적어도 하나의 컨텐츠를 검색할 수 있다(S1170). 제3 구성요소(3000)는 인공지능 모델 및 컨텐츠 검색에 필요한 다양한 데이터를 포함한 데이터 베이스를 저장할 수 있다.
그리고 제3 구성요소(3000)는 컨텐츠를 검색한 결과를 제1 구성 요소(1000)로 전송할 수 있다(S1180). 그리고 제1 구성요소(1000)는 수신한 검색 결과를 기초로 컨텐츠를 제공할 수 있다(S1190). 예컨대 제1 구성요소(1000)는 자체적으로 포함한 디스플레이 또는 외부 디스플레이 장치를 통해 검색된 컨텐츠들을 표시할 수 있다. 사용자는 표시된 컨텐츠들 중 원하는 컨텐츠를 선택할 수 있다.
본 개시에서 설명되는 인공지능 모델은 인공지능 알고리즘 기반으로 학습된 판단 모델로서, 예로, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 학습된 인공지능 모델은 인간의 뇌 구조를 컴퓨터상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 또한, 학습된 인공지능 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 학습된 인공지능 모델의 예에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 등이 있을 수 있으나 이에 한정되지 않는다.
일 실시 예에 따르면, 제1 구성요소(1000)는 인공지능 전용 프로그램(또는 인공지능 에이전트, Artificial intelligence agent)인 개인 비서 프로그램을 이용할 수 있다. 이때, 개인 비서 프로그램은 AI(Artificial Intelligence) 기반의 서비스를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서 또는 별도의 AI 전용 프로세서에 의해 실행될 수 있다.
구체적으로, 기설정된 사용자 입력(예를 들어, 개인 비서 챗봇에 대응되는 아이콘 터치, 기설정된 단어를 포함하는 사용자 음성 등)이 입력되거나 제1 구성요소(1000)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러지는 경우, 인공지능 에이전트가 동작(또는 실행)할 수 있다. 그리고 인공지능 에이전트는 사용자가 그린 스케치를 제2 구성요소(2000)로 전송하고 제2 구성요소(2000)로부터 수신된 기계가 생성한 이미지를 제공할 수 있다.
물론, 화면상에 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러지면, 인공지능 에이전트가 동작할 수도 있다. 또는, 인공지능 에이전트는 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼이 선택되기 이전에 기 실행된 상태일 수 있다. 이 경우, 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼이 선택된 이후에는 제1 구성요소(1000)의 인공지능 에이전트가 스케치를 바탕으로 기계가 생성한 이미지를 획득하고 컨텐츠 검색을 수행할 수 있다. 또한, 인공지능 에이전트는 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼이 선택되기 이전에 대기 상태일 수 있다. 여기서, 대기 상태란, 인공지능 에이전트의 동작 시작을 제어하기 위해 미리 정의된 사용자 입력이 수신되는 것을 감지하는 상태이다. 인공지능 에이전트가 대기 상태인 동안 기설정된 사용자 입력이 감지되거나 제1 구성요소(1000)에 구비된 버튼이 선택되면, 제1 구성요소(1000)는 인공지능 에이전트를 동작시킬 수 있다.
본 개시의 또 다른 실시 예로, 제1 구성요소(1000)가 직접 인공지능 모델을 이용하여 기계가 생성한 이미지를 획득하고, 이미지를 기반으로 컨텐츠 검색을 수행할 수 있다. 이때, 인공지능 에이전트는 상술한 제2 구성요소(2000) 및 제3 구성요소(3000)의 동작을 수행할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 인공지능 모델을 학습하고 이용하기 위한 전자 장치의 구성을 나타내는 블록도이다.
도 11을 참조하면, 전자 장치(2100)는 학습부(2110) 및 판단부(2120) 중 적어도 하나를 포함할 수 있다. 도 11의 전자 장치(2100)는 도 9의 전자 장치(100), 도 10의 제2 구성요소(2000) 또는 제3 구성요소(3000)에 대응될 수 있다.
학습부(2110)는 학습 데이터를 이용하여 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득하기 위한 기준을 갖는 인공지능 모델을 생성 또는 학습시킬 수 있다. 학습부(2110)는 수집된 학습 데이터를 이용하여 판단 기준을 갖는 인공지능 모델을 생성할 수 있다.
일 예로, 학습부(2110)는 대략적인 스케치를 학습 데이터로 하여, 스케치를 구체화한 이미지를 획득하도록 인공지능 모델을 생성, 학습 또는 재 학습시킬 수 있다. 또는, 학습부(2110)는 이미지를 학습 데이터로서 이용하여, 이미지에 대응되는 컨텐츠를 검색하도록 하기 위한 인공지능 모델을 생성, 학습 또는 재 학습시킬 수 있다.
판단부(2120)는 소정의 데이터를 학습된 인공지능 모델의 입력 데이터로 사용하여, 스케치를 기초로 이미지를 생성할 수 있다. 또는, 판단부(2120)는 이미지에 대응되는 컨텐츠를 검색할 수 있다.
일 예로, 판단부(2120)는 대략적인 스케치를 학습된 인공지능 모델의 입력 데이터로 사용하여 스케치를 구체화한 이미지를 획득할 수 있다. 또 다른 예로, 판단부(2120)는 이미지를 인공지능 모델의 입력 데이터로 사용하여 입력된 이미지와 유사도가 높은 이미지를 검색할 수 있다.
학습부(2110)의 적어도 일부 및 판단부(2120)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 제2 구성요소(2000), 제3 구성요소(3000)에 탑재될 수 있다. 예를 들어, 학습부(2110) 및 판단부(2120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 각종 전자 장치에 탑재될 수도 있다. 이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(2110) 및 판단부(2120)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
이 경우, 학습부(2110) 및 판단부(2120)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 또한, 학습부(2110) 및 판단부(2120)는 유선 또는 무선으로 통하여, 학습부(2110)가 구축한 모델 정보를 판단부(2120)로 제공할 수도 있고, 학습부(2110)로 입력된 데이터가 추가 학습 데이터로서 학습부(2110)로 제공될 수도 있다.
도 12 내지 도 13은 다양한 실시예에 따른 학습부(2110) 및 판단부(2120)의 블록도이다.
도 12를 참고하면, 일부 실시 예에 따른 학습부(2110)는 학습 데이터 획득부(2110-1) 및 모델 학습부(2110-4)를 포함할 수 있다. 또한, 학습부(2110)는 학습 데이터 전처리부(2110-2), 학습 데이터 선택부(2110-3) 및 모델 평가부(2110-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(2110-1)는 스케치를 구체화한 이미지를 획득하기 위한 인공지능 모델에 필요한 학습 데이터를 획득할 수 있다. 또는, 학습 데이터 획득부(2110-1)는 이미지와 대응되는 컨텐츠를 검색하기 위한 인공지능 모델에 필요한 학습 데이터를 획득할 수 있다. 본 개시의 실시 예로, 학습 데이터 획득부(2110-1)는 스케치 이미지 또는 기계가 생성한 이미지를 학습 데이터로서 획득할 수 있다. 학습 데이터는 학습부(2110) 또는 학습부(2110)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다.
모델 학습부(2110-4)는 학습 데이터를 이용하여, 인공지능 모델이 스케치를 구체화한 이미지를 생성하는 기준을 갖도록 학습시킬 수 있다. 또는, 모델 학습부(2110-4)는 학습 데이터를 이용하여, 인공지능 모델이 이미지에 대응되는 컨텐츠를 검색하는 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(2110-4)는 지도 학습(supervised learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또는, 모델 학습부(2110-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습하는 비지도 학습(unsupervisedlearning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 예컨대, 모델 학습부(2110-4)는 GAN(Generative Adversarial Network) 기술 또는 VAE(Variational Auto-encoder) 기술을 이용하여 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(2110-4)는, 예를 들어, 학습에 따른 판단 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인공지능 모델을 학습시킬 수 있다. 또한, 모델 학습부(2110-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인공지능 모델을 학습시킬 수 있다.
또한, 모델 학습부(2110-4)는 어떤 학습 데이터를 이용해야 하는지에 대한 선별 기준을 학습할 수도 있다.
모델 학습부(2110-4)는 미리 구축된 인공지능 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인공지능 모델을 학습할 인공지능 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 인공지능 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 미리 분류되어 있을 수 있다.
인공지능 모델이 학습되면, 모델 학습부(2110-4)는 학습된 인공지능 모델을 저장할 수 있다. 예컨대, 모델 학습부(2110-4)는 학습된 인공지능 모델을 전자 장치(100)의 메모리(110), 제2 구성요소(2000)의 메모리, 또는 제3 구성요소(3000)의 메모리에 저장할 수 있다.
학습부(2110)는 인공지능 모델의 판단 결과를 향상시키거나, 인공지능 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(2110-2) 및 학습 데이터 선택부(2110-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(2110-2)는 스케치를 구체화한 이미지를 획득하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 또한 학습 데이터 전처리부(2110-2)는 이미지에 대응되는 컨텐츠를 검색하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다.
학습 데이터 선택부(2110-3)는 학습 데이터 획득부(2110-1)에서 획득된 데이터 또는 학습 데이터 전처리부(2110-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(2110-4)에 제공될 수 있다. 학습 데이터 선택부(2110-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(2110-3)는 모델 학습부(2110-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(2110)는 인공지능 모델의 판단 결과를 향상시키기 위하여, 모델 평가부(2110-5)를 더 포함할 수도 있다.
모델 평가부(2110-5)는 인공지능 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 판단 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(2110-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인공지능 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(2110-5)는 평가 데이터에 대한 학습된 인공지능 모델의 판단 결과 중에서, 판단 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인공지능 모델이 복수 개가 존재하는 경우, 모델 평가부(2110-5)는 각각의 학습된 인공지능 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인공지능 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(2110-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인공지능 모델로서 결정할 수 있다.
도 13을 참조하면, 일부 실시 예에 따른 판단부(2120)는 입력 데이터 획득부(2120-1) 및 판단 결과 제공부(2120-4)를 포함할 수 있다.
또한, 판단부(2120)는 입력 데이터 전처리부(2120-2), 입력 데이터 선택부(2120-3) 및 모델 갱신부(2120-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
입력 데이터 획득부(2120-1)는 스케치를 기초로 기계가 생성한 이미지를 획득하기 위해 필요한 데이터를 획득할 수 있다. 판단 결과 제공부(2120-4)는 입력 데이터 획득부(2120-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 모델에 적용하여 스케치를 기초로 기계가 생성한 이미지를 획득할 수 있다.
또는, 입력 데이터 획득부(2120-1)는 이미지에 대응되는 컨텐츠를 검색하기 위해 필요한 데이터를 획득할 수 있다. 판단 결과 제공부(2120-4)는 입력 데이터 획득부(2120-1)에서 획득된 입력 데이터를 입력 값으로 학습된 인공지능 모델에 적용하여 이미지에 대응되는 컨텐츠를 검색할 수 있다.
판단 결과 제공부(2120-4)는 후술할 입력 데이터 전처리부(2120-2) 또는 입력 데이터 선택부(2120-3)에 의해 선택된 데이터를 입력 값으로 인공지능 모델에 적용하여 판단 결과를 획득할 수 있다.
일 실시 예로, 판단 결과 제공부(2120-4)는 입력 데이터 획득부(2120-1)에서 획득한 스케치에 대한 정보를 학습된 인공지능 모델 적용하여 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득할 수 있다.
판단부(2120)는 인공지능 모델의 판단 결과를 향상시키거나, 판단 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 입력 데이터 전처리부(2120-2) 및 입력 데이터 선택부(2120-3)를 더 포함할 수도 있다.
입력 데이터 전처리부(2120-2)는 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 입력 데이터 전처리부(2120-2)는 판단 결과 제공부(2120-4)가 스케치를 기초로 기계가 생성한 적어도 하나의 이미지를 획득하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다. 또는, 입력 데이터 전처리부(2120-2)는 이미지에 대응되는 컨텐츠를 검색하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다.
입력 데이터 선택부(2120-3)는 입력 데이터 획득부(2120-1)에서 획득된 데이터 또는 입력 데이터 전처리부(2120-2)에서 전처리된 데이터 중에서 응답 제공에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 판단 결과 제공부(2120-4)에게 제공될 수 있다. 입력 데이터 선택부(2120-3)는 응답 제공을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 입력 데이터 선택부(2120-3)는 모델 학습부(2110-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(2120-5)는 판단 결과 제공부(2120-4)에 의해 제공되는 판단 결과에 대한 평가에 기초하여, 인공지능 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(2120-5)는 판단 결과 제공부(2120-4)에 의해 제공되는 판단 결과를 모델 학습부(2110-4)에게 제공함으로써, 모델 학습부(2110-4)가 인공지능 모델을 추가 학습 또는 갱신하도록 요청할 수 있다. 특히, 모델 갱신부(2120-5)는 사용자 입력에 따른 피드백 정보를 바탕으로 인공지능 모델을 재 학습할 수 있다.
본 개시의 실시 예들의 컨텐츠 검색 방법은 다음과 같은 효과를 가져올 수 있다. 가령, 사용자마다 그림을 그리는 방법이 천차만별이기 때문에 사용자가 그린 그림 자체를 컨텐츠 검색에 직접 사용하기가 적당하지 않을 수 있고, 그렇다고 검색에 이용할 그림을 사용자가 공을 들여 그리도록 하는 것도 편의성이 떨어지는데, 본 개시의 실시 예들과 같이, 사용자로 하여금 대략적인 스케치만 그리도록 하고, 인공지능 모델을 이용하여 사용자가 그린 스케치를 구체화하여 이미지를 생성하는 방식에 따르면, 사용자는 대략적으로 스케치만 해도 되므로 편의성이 향상될 수 있고, 또한 기계가 생성한 이미지는 특정한 기준에 근거하여 생성된 것이므로 컨텐츠 검색의 일관성을 보장할 수 있게 된다.
이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합으로 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
본 개시의 다양한 실시 예들에 따른 방법은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장될 수 있는 명령어를 포함하는 소프트웨어로 구현될 수 있다. 상기 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비 일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 애플리케이션 스토어(예: 플레이 스토어™)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 애플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (15)

  1. 전자 장치의 제어방법에 있어서,
    사용자가 그린 스케치를 입력받는 단계;
    인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 상기 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하는 단계;
    상기 획득된 적어도 하나의 기계가 생성한 이미지를 표시하는 단계;
    상기 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 단계; 및
    상기 검색된 적어도 하나의 컨텐츠를 제공하는 단계;를 포함하는 전자 장치의 제어방법.
  2. 제1항에 있어서,
    상기 검색하는 단계는,
    상기 전자 장치에 저장된 복수의 컨텐츠 중 상기 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치의 제어방법.
  3. 제2항에 있어서,
    상기 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택받기 위한 적어도 하나의 UI 요소를 표시하는 단계;를 더 포함하고
    상기 획득하는 단계는,
    상기 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 스케치를 상기 인공지능 모델에 입력하여 상기 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득하는 전자 장치의 제어방법.
  4. 제3항에 있어서,
    상기 검색하는 단계는,
    상기 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 선택된 이미지에 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치의 제어방법.
  5. 제2항에 있어서,
    상기 획득하는 단계는,
    상기 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 상기 스케치를 상기 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득하는 전자 장치의 제어방법.
  6. 제5항에 있어서,
    상기 표시하는 단계는,
    상기 획득한 복수의 이미지를 카테고리 별로 표시하는 전자 장치의 제어방법.
  7. 제1항에 있어서,
    상기 인공지능 모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-encoder)에 의해 학습된 것인 전자 장치의 제어방법.
  8. 제1항에 있어서,
    상기 검색하는 단계는,
    인공지능 알고리즘에 의해 학습된 컨텐츠 검색을 위한 인공지능 모델을 이용해서 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치의 제어방법.
  9. 제8항에 있어서,
    상기 제공된 적어도 하나의 컨텐츠 중에서 사용자가 선택한 컨텐츠를 바탕으로 상기 컨텐츠 검색을 위한 인공지능 모델을 재 학습시키는 단계;를 더 포함하는 전자 장치의 제어방법.
  10. 제1항에 있어서,
    상기 사용자가 그린 스케치를 입력받는 단계는,
    원격제어장치의 움직임에 대응하는 신호를 수신하고 상기 수신된 신호를 기초로 스케치에 대한 정보를 획득하는 전자 장치의 제어방법.
  11. 전자 장치에 있어서,
    컴퓨터 실행가능 명령어(computer executable instructions)를 저장하는 메모리;
    디스플레이; 및
    상기 컴퓨터 실행가능 명령어를 실행함으로써,
    인공지능 알고리즘에 의해 학습된 인공지능 모델을 이용하여, 사용자가 그린 스케치를 기초로 기계가 생성한 이미지(machine-generated image)를 적어도 하나 획득하고, 상기 획득된 적어도 하나의 기계가 생성한 이미지를 표시하도록 상기 디스플레이를 제어하고, 상기 표시된 적어도 하나의 기계가 생성한 이미지 중 하나를 선택하기 위한 사용자 명령을 수신하고, 상기 사용자 명령에 따라 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하고, 상기 검색된 적어도 하나의 컨텐츠를 제공하는 프로세서;를 포함하는 전자 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 전자 장치에 저장된 복수의 컨텐츠 중 상기 선택된 이미지와 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 복수의 컨텐츠를 분류하여 획득한 정보를 기초로, 카테고리를 선택받기 위한 적어도 하나의 UI 요소를 표시하도록 상기 디스플레이를 제어하고, 상기 적어도 하나의 UI 요소 중 사용자에 의해 선택된 UI 요소에 대응하는 카테고리에 대한 정보와 상기 스케치를 상기 인공지능 모델에 입력하여 상기 스케치를 상기 선택된 UI 요소에 대응하는 카테고리에 속하는 대상으로 구체화한 적어도 하나의 이미지를 획득하는 전자 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 선택된 UI 요소에 대응하는 카테고리에 대한 정보 및 상기 선택된 이미지에 대응되는 적어도 하나의 컨텐츠를 검색하는 전자 장치.
  15. 제12항에 있어서,
    상기 프로세서는,
    상기 복수의 컨텐츠를 분류하여 획득한 복수의 카테고리에 대한 정보 및 상기 스케치를 상기 인공지능 모델에 입력하여, 상기 복수의 카테고리 각각에 대하여 상기 스케치를 구체화한 복수의 이미지를 획득하는 전자 장치.
PCT/KR2019/005604 2018-05-29 2019-05-10 전자 장치 및 그의 제어방법 WO2019231130A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19812106.3A EP3757817A4 (en) 2018-05-29 2019-05-10 ELECTRONIC DEVICE AND ITS CONTROL PROCESS
CN201980030966.0A CN112106042A (zh) 2018-05-29 2019-05-10 电子设备及其控制方法
US17/059,000 US20210263963A1 (en) 2018-05-29 2019-05-10 Electronic device and control method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0061217 2018-05-29
KR1020180061217A KR20190140519A (ko) 2018-05-29 2018-05-29 전자 장치 및 그의 제어방법

Publications (1)

Publication Number Publication Date
WO2019231130A1 true WO2019231130A1 (ko) 2019-12-05

Family

ID=68698310

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/005604 WO2019231130A1 (ko) 2018-05-29 2019-05-10 전자 장치 및 그의 제어방법

Country Status (5)

Country Link
US (1) US20210263963A1 (ko)
EP (1) EP3757817A4 (ko)
KR (1) KR20190140519A (ko)
CN (1) CN112106042A (ko)
WO (1) WO2019231130A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3675062A1 (en) 2018-12-29 2020-07-01 Dassault Systèmes Learning a neural network for inference of solid cad features
EP3675063A1 (en) * 2018-12-29 2020-07-01 Dassault Systèmes Forming a dataset for inference of solid cad features
JP6590329B1 (ja) * 2019-06-26 2019-10-16 株式会社ラディウス・ファイブ 画像表示システム及びプログラム
US20210141825A1 (en) * 2019-11-12 2021-05-13 Oath Inc. Method and system for sketch based search
KR102390427B1 (ko) * 2021-07-20 2022-04-22 이보용 도면 작업 시스템
WO2023152828A1 (ja) * 2022-02-09 2023-08-17 日本電信電話株式会社 学習モデル生成方法、イラスト変換方法、学習モデル生成装置、イラスト変換装置、学習モデル生成プログラム、およびイラスト変換プログラム
CN114757816A (zh) * 2022-03-29 2022-07-15 佛山市太火红鸟科技有限公司 基于草图的图片转换方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120036649A (ko) * 2010-10-08 2012-04-18 엘지전자 주식회사 단말기의 드로잉을 이용한 검색 방법 및 그 단말기
KR20130059033A (ko) * 2011-11-28 2013-06-05 연세대학교 산학협력단 스케치를 이용한 멀티미디어 검색 시스템 및 방법
KR20130059058A (ko) * 2011-11-28 2013-06-05 건국대학교 산학협력단 스케치 질의를 사용하는 콘텐츠 기반 이미지 검색기에서의 질의 이미지 및 검색 대상 영상의 전처리 장치 및 그 방법
KR20150061390A (ko) * 2013-11-27 2015-06-04 삼성테크윈 주식회사 영상 검색 시스템 및 영상 검색 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190623B2 (en) * 2008-06-05 2012-05-29 Enpulz, L.L.C. Image search engine using image analysis and categorization
US9275684B2 (en) * 2008-09-12 2016-03-01 At&T Intellectual Property I, L.P. Providing sketch annotations with multimedia programs
US9528847B2 (en) * 2012-10-15 2016-12-27 Microsoft Technology Licensing, Llc Pictures from sketches
US9324102B2 (en) * 2013-03-14 2016-04-26 Ebay Inc. System and method to retrieve relevant inventory using sketch-based query
KR102285699B1 (ko) * 2015-01-09 2021-08-04 삼성전자주식회사 이미지를 디스플레이하는 사용자 단말기 및 이의 이미지 디스플레이 방법
US10042866B2 (en) * 2015-06-30 2018-08-07 Adobe Systems Incorporated Searching untagged images with text-based queries
CN105808665B (zh) * 2015-12-17 2019-02-22 北京航空航天大学 一种新的基于手绘草图的图像检索方法
CN107895028B (zh) * 2017-11-17 2019-11-29 天津大学 采用深度学习的草图检索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120036649A (ko) * 2010-10-08 2012-04-18 엘지전자 주식회사 단말기의 드로잉을 이용한 검색 방법 및 그 단말기
KR20130059033A (ko) * 2011-11-28 2013-06-05 연세대학교 산학협력단 스케치를 이용한 멀티미디어 검색 시스템 및 방법
KR20130059058A (ko) * 2011-11-28 2013-06-05 건국대학교 산학협력단 스케치 질의를 사용하는 콘텐츠 기반 이미지 검색기에서의 질의 이미지 및 검색 대상 영상의 전처리 장치 및 그 방법
KR20150061390A (ko) * 2013-11-27 2015-06-04 삼성테크윈 주식회사 영상 검색 시스템 및 영상 검색 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MO, YEONG-IL ET AL.: "A Study on Increasing the Efficiency of Image Search Using Image Attribute in the area of Content-based Image Retrieval", TRANSACTIONS OF THE KOREA SOCIETY FOR SIMULATION, vol. 18, no. 2, June 2009 (2009-06-01), pages 39 - 48, XP055734416 *

Also Published As

Publication number Publication date
EP3757817A1 (en) 2020-12-30
EP3757817A4 (en) 2021-01-13
KR20190140519A (ko) 2019-12-20
US20210263963A1 (en) 2021-08-26
CN112106042A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
WO2019231130A1 (ko) 전자 장치 및 그의 제어방법
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
WO2020067633A1 (en) Electronic device and method of obtaining emotion information
US10970605B2 (en) Electronic apparatus and method of operating the same
WO2019182346A1 (ko) 인공지능 모델을 이용하여 사용자 음성을 변조하기 위한 전자 장치 및 이의 제어 방법
WO2019203488A1 (en) Electronic device and method for controlling the electronic device thereof
WO2018117704A1 (en) Electronic apparatus and operation method thereof
WO2019146942A1 (ko) 전자 장치 및 그의 제어방법
WO2019177344A1 (en) Electronic apparatus and controlling method thereof
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2019083275A1 (ko) 관련 이미지를 검색하기 위한 전자 장치 및 이의 제어 방법
WO2018135881A1 (en) Vision intelligence management for electronic devices
WO2016126007A1 (en) Method and device for searching for image
WO2020085796A1 (en) Electronic device and method for controlling electronic device thereof
WO2019027258A1 (en) ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE ELECTRONIC DEVICE
EP3820369A1 (en) Electronic device and method of obtaining emotion information
WO2019132410A1 (en) Electronic device and control method thereof
EP3539056A1 (en) Electronic apparatus and operation method thereof
WO2019135534A1 (ko) 전자 장치 및 그의 제어 방법
WO2019172642A1 (ko) 심장 박동을 측정하기 위한 전자 장치 및 방법
WO2020096255A1 (en) Electronic apparatus and control method thereof
EP3698258A1 (en) Electronic apparatus and controlling method thereof
WO2018124500A1 (ko) 객체의 인식 결과를 제공하는 방법 및 전자 장치
WO2019164144A1 (ko) 전자 장치 및 이의 자연어 생성 방법
WO2019190171A1 (ko) 전자 장치 및 그 제어 방법

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: 19812106

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019812106

Country of ref document: EP

Effective date: 20200923

NENP Non-entry into the national phase

Ref country code: DE