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

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

Info

Publication number
WO2023249225A1
WO2023249225A1 PCT/KR2023/005192 KR2023005192W WO2023249225A1 WO 2023249225 A1 WO2023249225 A1 WO 2023249225A1 KR 2023005192 W KR2023005192 W KR 2023005192W WO 2023249225 A1 WO2023249225 A1 WO 2023249225A1
Authority
WO
WIPO (PCT)
Prior art keywords
cooking step
cooking
neural network
information
electronic device
Prior art date
Application number
PCT/KR2023/005192
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
Priority claimed from KR1020220126501A external-priority patent/KR20240000337A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/222,768 priority Critical patent/US20230418244A1/en
Publication of WO2023249225A1 publication Critical patent/WO2023249225A1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J36/00Parts, details or accessories of cooking-vessels
    • A47J36/32Time-controlled igniting mechanisms or alarm devices
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24CDOMESTIC STOVES OR RANGES ; DETAILS OF DOMESTIC STOVES OR RANGES, OF GENERAL APPLICATION
    • F24C15/00Details
    • F24C15/10Tops, e.g. hot plates; Rings
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24CDOMESTIC STOVES OR RANGES ; DETAILS OF DOMESTIC STOVES OR RANGES, OF GENERAL APPLICATION
    • F24C7/00Stoves or ranges heated by electric energy
    • F24C7/08Arrangement or mounting of control or safety devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B6/00Heating by electric, magnetic or electromagnetic fields
    • H05B6/02Induction heating
    • H05B6/06Control, e.g. of temperature, of power

Definitions

  • This disclosure relates to an electronic device and a method of controlling the electronic device, and specifically to an electronic device that can operate based on sensing information and a method of controlling the same.
  • related technology has a limitation in that it cannot automatically control the cooktop by taking into account cases where the recipe of the cooking menu changes depending on the type of cooking utensil selected by the user or the user's cooking history.
  • the related technology has a limitation in that it does not consider a method of selectively loading or selectively using only the neural network models required for each cooking step among the neural network models required to perform appropriate cooking based on the current cooking situation. .
  • an electronic device includes at least one sensor; A memory for storing a plurality of neural network models; And when a user input for selecting a cooking menu is received, information about a recipe corresponding to the selected cooking menu is obtained, and a first cooking step among a plurality of cooking steps included in the information about the recipe and the first cooking step Identifying at least one cooking step to be performed later, based on information about the recipe and resources of the electronic device, a first cooking step among the plurality of neural network models and at least one cooking step to be performed after the first cooking step Loading at least one first neural network model corresponding to a cooking step, acquiring sensing data corresponding to the first cooking step through the at least one sensor, and transmitting the obtained sensing data to the at least one first neural network Enter into the model to obtain context information representing the cooking situation included in the sensing data, control the operation of the electronic device based on the information about the recipe and the context information, and change the neural network model based on the context information.
  • At least one processor that detects
  • the neural network model change event is an event in which a cooking situation of performing a second cooking step different from the first cooking step is detected, and the at least one processor is configured to detect a plurality of items included in the information about the recipe based on the context information. Identifying a second cooking step among the cooking steps and at least one cooking step to be performed after the second cooking step, and a second cooking step among the plurality of neural network models based on information about the recipe and resources of the electronic device. At least one second neural network model corresponding to the step and at least one cooking step to be performed after the second cooking step is loaded.
  • At least one processor determines whether to change the information about the recipe based on the context information and the information about the recipe, and when it is determined that the information about the recipe is changed, provides information about the changed recipe. Obtaining, based on the context information, identifying a third cooking step and at least one cooking step to be performed after the third cooking step among the plurality of cooking steps included in the information about the changed recipe, and adding the changed recipe to the changed recipe. Based on the information and the resources of the electronic device, at least one third neural network model corresponding to the third cooking step and at least one cooking step to be performed after the third cooking step among the plurality of neural network models is loaded.
  • the at least one processor determines whether an intermediate cooking step exists between the first cooking step and the second cooking step, and the intermediate cooking step exists between the first cooking step and the second cooking step. Otherwise, it is determined that the information about the recipe is not changed, and if the intermediate cooking step exists between the first cooking step and the second cooking step, between the first cooking step and the second cooking step Determine whether the intermediate cooking step is a cooking step related to a cooking step after the second cooking step, and whether the intermediate cooking step between the first cooking step and the second cooking step is a cooking step after the second cooking step. If it is determined that the cooking step is related to the step, it is determined that the information about the recipe is changed.
  • the neural network model change event is an event that detects a new cooking utensil not included in the information about the recipe, and the at least one processor detects a new cooking utensil not included in the information about the recipe based on the context information.
  • change information about the recipe based on the new cooking utensil load the plurality of neural network models and at least one fourth neural network model based on the information about the changed recipe and resources of the electronic device, At this time, the at least one neural network model corresponds to the fourth cooking step and at least one cooking step to be performed after the fourth cooking step.
  • the at least one processor identifies a first cooking step included in the information about the recipe, and provides information about the probability that one or more cooking steps after the first cooking step will be performed based on the information about the recipe. and identify the at least one cooking step among the cooking steps after the first cooking step, based on information about the probability that the one or more cooking steps after the first cooking step will be performed.
  • the information about the recipe includes a knowledge graph representing a recipe corresponding to the selected cooking menu, and the knowledge graph includes a plurality of nodes representing a plurality of cooking steps for completing the cooking menu according to the recipe. (node) and a plurality of edges representing a sequential relationship between a plurality of cooking steps, wherein the at least one processor is configured to process a node representing the first cooking step and one or more cooking steps after the first cooking step. Information about the probability that a cooking step after the first cooking step will be performed is obtained based on the distance between nodes representing the steps.
  • the at least one processor identifies resources required to execute each of the plurality of first neural network models, and uses the resources of the electronic device and the plurality of first neural network models. 1
  • the number of neural network models to be loaded simultaneously among the plurality of first neural network models is determined based on the resources required to execute each neural network model, and each first neural network model among the plurality of first neural network models is the first neural network model. It corresponds to a cooking step and at least one cooking step to be performed after the first cooking step, and the plurality of first neural network models are included in the plurality of neural network models.
  • the at least one processor determines weights of the plurality of first neural network models based on information about the probability that a cooking step after the first cooking step will be performed, and executes the plurality of first neural network models according to the determined weights. Each model is loaded sequentially, and the sensing data is input to the sequentially loaded plurality of first neural network models to obtain context information indicating the cooking situation included in the sensing data.
  • the at least one sensor further includes an illuminance sensor for sensing an illuminance value around the electronic device, and the at least one processor selects at least one of the type of the at least one sensor and the illuminance value obtained from the illuminance sensor.
  • a method of controlling an electronic device includes, upon receiving a user input for selecting a cooking menu, obtaining information about a recipe corresponding to the selected cooking menu; Identifying a first cooking step and at least one cooking step to be performed after the first cooking step among a plurality of cooking steps included in the information about the recipe; Based on the information about the recipe and the resources of the electronic device, at least one first neural network model corresponding to a first cooking step and at least one cooking step to be performed after the first cooking step among the plurality of neural network models loading step; Obtaining sensing data corresponding to the first cooking step through at least one sensor; Inputting the acquired sensing data into the at least one first neural network model to obtain context information indicating a cooking situation included in the sensing data; controlling the operation of the electronic device based on the information about the recipe and the context information; Detecting a neural network model change event based on the context information; and, when the neural network model change event is detected, loading at least one second neural network model among the plurality of neural
  • the neural network model change event is an event in which a cooking situation of performing a second cooking step different from the first cooking step is detected, and the step of loading the at least one second neural network model includes changing the recipe based on the context information. Identifying a second cooking step among a plurality of cooking steps included in the information about and at least one cooking step to be performed after the second cooking step; and at least one second neural network model corresponding to a second cooking step and at least one cooking step to be performed after the second cooking step among the plurality of neural network models based on the information about the recipe and the resources of the electronic device. Includes; loading.
  • Loading the at least one second neural network model may include determining whether to change information about the recipe based on the context information and information about the recipe; If it is determined that the information about the recipe has changed, obtaining information about the changed recipe; Identifying a third cooking step and at least one cooking step to be performed after the third cooking step among a plurality of cooking steps included in the information about the changed recipe based on the context information; At least one third neural network model corresponding to a third cooking step and at least one cooking step to be performed after the third cooking step among the plurality of neural network models based on the information about the changed recipe and the resources of the electronic device Includes; loading.
  • the step of determining whether to change the information about the recipe may include determining whether an intermediate cooking step exists between the first cooking step and the second cooking step; determining that the information about the recipe is not changed if the intermediate cooking step does not exist between the first cooking step and the second cooking step; If the intermediate cooking step exists between the first cooking step and the second cooking step, then the intermediate cooking step between the first cooking step and the second cooking step is related to a cooking step subsequent to the second cooking step.
  • the neural network model change event is an event that detects a new cooking utensil that is not included in the information about the recipe, and the step of loading the at least one second neural network model includes changing the information about the recipe based on the context information.
  • a new cooking utensil that is not included is detected, changing information about the recipe based on the new cooking utensil;
  • loading the plurality of neural network models and at least one fourth neural network model based on the information about the changed recipe and the resources of the electronic device wherein the at least one neural network model includes a fourth cooking step and It corresponds to at least one cooking step to be performed after the fourth cooking step.
  • FIG. 1 is a diagram illustrating the appearance of an electronic device according to one or more embodiments of the present disclosure
  • 2A is a block diagram including the configuration of an electronic device, according to one or more embodiments of the present disclosure
  • 2B is a diagram illustrating a heating unit according to one or more embodiments of the present disclosure
  • FIG. 2C illustrates a display, according to one or more embodiments of the present disclosure
  • 2D is a block diagram including the configuration of an electronic device, according to one or more embodiments of the present disclosure.
  • FIG. 3 is a flowchart illustrating a method of controlling an electronic device and loading a neural network model according to information about a recipe and context information, according to one or more embodiments of the present disclosure
  • FIG. 4A is a diagram for explaining information about a recipe in the form of a knowledge graph, according to one or more embodiments of the present disclosure
  • FIG. 4B is a diagram for explaining information about a neural network model included in information about a recipe, according to one or more embodiments of the present disclosure
  • FIG. 5 is a flow diagram illustrating a method for identifying cooking steps, according to one or more embodiments of the present disclosure
  • FIG. 6 is a flowchart illustrating a method of loading a first neural network model, according to one or more embodiments of the present disclosure
  • FIG. 7A is a diagram illustrating an embodiment of simultaneously loading a plurality of neural network models according to one or more embodiments of the present disclosure
  • FIG. 7B is a diagram illustrating an embodiment of sequentially loading a plurality of neural network models according to one or more embodiments of the present disclosure
  • FIG. 8 is a flowchart illustrating a method of loading a second neural network model according to a neural network model change event, according to one or more embodiments of the present disclosure
  • FIG. 9 is a flowchart illustrating an embodiment of changing information about a recipe according to one or more embodiments of the present disclosure.
  • 10 to 14 are diagrams for explaining an embodiment of dynamically loading a neural network model according to a neural network model change event according to one or more embodiments of the present disclosure
  • 15 is a flowchart illustrating an example of controlling the operation of an electronic device based on context information, according to one or more embodiments of the present disclosure
  • 16 is a diagram illustrating a control system including an electronic device and a user terminal, according to one or more embodiments of the present disclosure
  • 17 and 18 are diagrams illustrating a UI screen of a user terminal for controlling an electronic device according to one or more embodiments of the present disclosure.
  • Figure 19 is a sequence diagram for explaining a control method of a system that performs a cooking operation based on context information, according to one or more embodiments of the present disclosure.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
  • expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • a component e.g., a first component
  • another component e.g., a second component
  • any component may be directly connected to the other component or may be connected through another component (e.g., a third component).
  • a component e.g., a first component
  • another component e.g., a second component
  • no other component e.g., a third component
  • the expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ,” can be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
  • the term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware.
  • the expression “a device configured to” may mean that the device is “capable of” working with other devices or components.
  • the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored on a memory device.
  • a 'module' or 'unit' performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented with at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
  • FIG. 1 is a diagram illustrating an electronic device 100 according to one or more embodiments of the present disclosure.
  • the electronic device 100 may be implemented as a kitchen appliance including a heating unit, such as a cooktop, a gas stove, an electric stove, or an oven. Additionally, the electronic device 100 may further include, in addition to the heating unit, a hood located on top of the heating unit to exhaust smoke or odor to the outside.
  • a heating unit such as a cooktop, a gas stove, an electric stove, or an oven.
  • the electronic device 100 may further include, in addition to the heating unit, a hood located on top of the heating unit to exhaust smoke or odor to the outside.
  • the electronic device 100 may obtain information about the recipe of the selected cooking menu.
  • 'information about the recipe' may include information indicating each step of the recipe for completing a cooking menu, and may include information about a plurality of cooking steps.
  • the electronic device 100 may obtain context information using at least one sensor.
  • the electronic device 100 may obtain context information about the current cooking situation by inputting sensing data collected through a camera or microphone installed on the hood into a neural network model.
  • context information is a general term for information representing a cooking situation included in sensing data, including the type or state of the food ingredient included in the sensing data (e.g., image data, audio data), the type of cooking vessel, The surrounding environment of the electronic device 100 (eg, surrounding brightness, etc.), user behavior, or information on the heating unit may be included.
  • the electronic device 100 may control the operation of the electronic device 100 to perform a selected cooking menu according to the acquired recipe information and context information. For example, the electronic device 100 may control the heating temperature, heating time, and operation status (on/off) of the heating unit according to information about the recipe or context information. The electronic device 100 can automatically perform these operations without user input.
  • the electronic device 100 may load at least one neural network model.
  • the electronic device 100 has resource constraints to simultaneously load all of the plurality of neural network models required to execute the selected cooking menu.
  • the processing speed of the electronic device 100 may be significantly reduced.
  • the electronic device 100 may select each of a plurality of neural network models based on at least one of information about the recipe, resource information of the electronic device 100, and context information indicating the cooking situation. You can selectively load only the neural network models needed during the cooking stage. As a result, the electronic device 100 can significantly reduce resources for loading and processing the neural network model. That is, even in the electronic device 100, which does not have a sufficiently large memory capacity or processing power to load one or more neural network models simultaneously, the cooking situation is identified and identified in real time using a neural network model on-device. It is possible to perform control corresponding to the cooking situation.
  • the electronic device 100 being implemented as a kitchen appliance including a heating unit is only an example, and may be implemented as a hood, a user terminal (e.g., a smart phone), or a server. I can understand.
  • the electronic device 100 may be a device that can remotely control a heating unit of an external device connected to the electronic device 100.
  • the electronic device 100 may be implemented as a portable terminal such as a smart phone or tablet PC, a home appliance such as a TV or refrigerator, and a server.
  • the electronic device 100 according to one or more embodiments may be The operation of the external device can be controlled through a communication connection with the external device including the heating unit.
  • the electronic device 100 capable of operating based on information about a recipe and context information indicating a cooking situation according to one or more embodiments of the present disclosure will be described in more detail with reference to the drawings.
  • FIG. 2A is a block diagram including the configuration of an electronic device, according to one or more embodiments of the present disclosure.
  • the electronic device 100 includes at least one sensor 110, a memory 120, a heating unit 130, a communication interface 140, an input interface 150, and an output unit 160. and at least one processor 170.
  • the electronic device 100 is described as being implemented as a kitchen appliance including a cooktop and a hood, but this is only an example, and some components may be deleted or added depending on the implementation example of the electronic device 100. Of course it can be done.
  • At least one sensor 110 may detect various information inside and outside the electronic device 100.
  • at least one sensor 110 according to the present disclosure may include a camera 111, a microphone 113, an illuminance sensor 115, etc., as shown in FIG. 2A.
  • the camera 111 can acquire images (image data) of the inside and outside of the electronic device 100 through an image sensor.
  • the camera 111 may be located on the heating unit 130 of the electronic device 100, a counter located around the electronic device 100, or a hood on top of the heating unit 130 to capture images of the user.
  • a plurality of units may be provided to photograph each area among the plurality of areas.
  • the image acquired through the camera 111 may be a top-view image or an image taken at an angle close to the top-view image.
  • at least one model among the plurality of neural network models may be learned based on a top view image or an image taken at an angle close to the top view image.
  • the microphone 113 can acquire audio (audio data).
  • the microphone 113 may be located in the heating unit 130 or the hood, but this is only one embodiment, and may be electrically connected to the electronic device 100 and located in an area in the kitchen. there is. In one or more embodiments, multiple microphones 113 may be provided to collect audio occurring in multiple areas.
  • the illuminance sensor 115 may acquire illuminance data indicating the illuminance of the environment surrounding the electronic device 100.
  • At least one sensor 110 is described as including a plurality of sensors, but this is only an example and may include only the camera 111, microphone 113, and illuminance sensor 115. there is.
  • at least one sensor 110 may further include various types of sensors such as a temperature sensor, a humidity sensor, an infrared sensor, a bio sensor, etc.
  • At least one processor 170 acquires sensing data through at least one sensor 110 and inputs the sensing data into at least one neural network model among a plurality of neural network models.
  • Context information can be obtained. For example, when the sensing data is image data acquired through the camera 111, at least one processor 170 inputs the image data into an object recognition model to provide information about the ingredients included in the image and the cooking utensil. You can obtain information about it, etc. Additionally, at least one processor 170 may input image data into an action recognition model to obtain information about the user's action included in the image.
  • At least one processor 170 inputs the sound data into the sound recognition model to obtain information about the type of sound included in the audio data. You can. For example, sound data may be associated with cooking situations such as sautéing an item or chopping vegetables.
  • the memory 120 may store at least one instruction for controlling the electronic device 100. Additionally, an operating system (O/S) for driving the electronic device 100 may be stored in the memory 120. Additionally, the memory 120 may store various software programs or applications for operating the electronic device 100 according to various embodiments of the present disclosure. Additionally, the memory 120 may include a semiconductor memory 120 such as flash memory 120 or a magnetic storage medium such as a hard disk.
  • O/S operating system
  • the memory 120 may include a semiconductor memory 120 such as flash memory 120 or a magnetic storage medium such as a hard disk.
  • the memory 120 may store various software modules for operating the electronic device 100 according to various embodiments of the present disclosure, and at least one processor 170 may be stored in the memory 120.
  • the operation of the electronic device 100 can be controlled by executing various stored software modules.
  • the memory 120 is accessed by a processor, and reading/writing/modifying/deleting/updating data can be performed by the processor.
  • Memory 120 may include non-volatile memory and volatile memory.
  • non-volatile memory refers to memory that can retain stored information even when power supply is interrupted
  • volatile memory refers to memory that requires a continuous power supply to maintain stored information.
  • Loading according to the present disclosure may refer to an operation of loading and storing data stored in non-volatile memory in volatile memory.
  • the volatile memory according to the present disclosure may not only be implemented as a separate component from the at least one processor 170, but may also be implemented as a component of the at least one processor 170.
  • the memory 120 may store data for a plurality of neural network models according to the present disclosure.
  • data for a plurality of neural network models may be stored in the non-volatile memory of the memory 120.
  • the memory 120 may store data on a plurality of neural network models received from an external server.
  • one neural network model may correspond to one cooking step, but this is only an example, and a plurality of neural network models may correspond.
  • the plurality of neural network models may be named a neural network model set or a neural network model group.
  • the memory 120 does not store a plurality of neural network models, but requests at least one neural network model corresponding to the cooking step identified by the electronic device 100 from an external server (memory 120). 120) (e.g., volatile memory).
  • the memory 120 may store information about recipes, sensing data, and context information. Additionally, the memory 120 may store user data according to the present disclosure, information about weights assigned to a neural network model, and information about the probability that cooking steps will be performed after a specific cooking step.
  • various information necessary within the scope of achieving the purpose of the present disclosure may be stored in the memory 120, and the information stored in the memory 120 may be updated as it is received from a server or external device or input by the user. It may be possible.
  • the heating unit 130 refers to a component that can heat one or more items (eg, ingredients) used in food or a cooking menu.
  • the heating unit 130 may generate heat by supplying power, and the heat source at this time may be a radiant heater or an induction heater.
  • the heating unit 130 can generate heat by supplying gas.
  • Operating the heating unit 130 or determining the heating temperature and heating time of the heating unit 130 may be performed based on user input, but in particular, in various embodiments of the present disclosure, at least one processor 170 It can be done. In one or more embodiments, the heating unit 130 may operate automatically without user input.
  • the heating unit 130 may include a plurality of heaters 131, 132, and 133, as shown in FIG. 2B.
  • the cooking zone is an area that provides heat to the cooking utensil, and the plurality of cooking zones may operate in different ways.
  • the first and second burners 131 and 132 may operate as a radiant heater
  • the third burner 133 may operate as an induction heater.
  • the sizes of the plurality of craters may also be different.
  • at least one processor 170 may individually control the temperature, operating time, operating mode, etc. of the plurality of cooking utensils 131, 132, and 133.
  • each of the plurality of burners 131, 132, and 133 may control the operating temperature in a plurality of stages (eg, first to ninth stages).
  • the heating unit 130 may include an oven or microwave oven.
  • at least one sensor 110 may be located in an oven or microwave oven to obtain sensing data about the state of food.
  • the communication interface 140 includes circuitry and can perform communication with an external device (server or user terminal). Specifically, at least one processor 170 may receive various data or information from an external device connected through the communication interface 140, and may also transmit various data or information to the external device.
  • an external device server or user terminal
  • processor 170 may receive various data or information from an external device connected through the communication interface 140, and may also transmit various data or information to the external device.
  • the communication interface 140 may include at least one of a WiFi module, a Bluetooth module, a wireless communication module, an NFC module, and a UWB module (Ultra Wide Band).
  • the wireless communication module can perform communication according to various communication standards such as IEEE, Zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), and 5G (5th Generation).
  • At least one processor 170 receives data about a plurality of neural network models, information about recipes, sensing data, context information, etc. from an external device through the communication interface 140. can receive.
  • at least one processor 170 may receive user data, information about weights assigned to the neural network model, and information about the probability that cooking steps will be performed after a specific cooking step, etc. through the communication interface 140. .
  • the at least one processor 170 when information related to the user's past cooking behavior or cooking history is obtained, the at least one processor 170 generates user data based on the information related to the user's past cooking behavior, and transmits the generated user data to an external device.
  • the communication interface 140 can be controlled to transmit.
  • Past cooking actions or cooking history may refer to actions performed by the user within a preset time interval, or may refer to actions of cooking the same menu that the user is currently cooking in the past.
  • the input interface 150 includes a circuit, and at least one processor 170 may receive a user input for controlling the operation of the electronic device 100 through the input interface 150.
  • the input interface 150 may be implemented as a touch screen included in a display.
  • the input interface 150 may be configured as a signal receiver for receiving user input from an external device.
  • the input interface 150 may include a camera or microphone.
  • At least one processor 170 may receive a user input for selecting a cooking menu through the input interface 150. Additionally, at least one processor 170 may receive user input for directly creating or changing recipe information through the input interface 150, and may create or change recipe information based on the received user input. Additionally, in one or more embodiments, when the electronic device 100 is implemented as a kitchen appliance including a heating unit 130, such as a cooktop, gas stove, or electric stove, At least one processor 170 may receive a user input for controlling the heating unit 130 according to the present disclosure. For example, at least one processor 170 may control the heating unit 130 based on context information, but may also control the heating unit 130 based on user input. For example, user input for controlling the heating unit 130 may be implemented in the form of a physical button, a touch button, or a control valve.
  • the electronic device 100 may also receive user input through the camera 111 or the microphone 113.
  • the electronic device 100 may receive user motion captured through the camera 111 as user input and may use a microphone.
  • the user's voice acquired through (113) can be received as a user input.
  • the output unit 160 includes a circuit, and at least one processor 170 can output various functions that the electronic device 100 can perform through the output unit 160. Additionally, the output unit 160 may include at least one of a display 161, a speaker 163, and an indicator 165.
  • the display 161 may output image data under the control of at least one processor 170.
  • the display 161 may be located at the bottom of the heating unit 130 including a plurality of cooking surfaces 131, 132, and 133, as shown in FIG. 2C, and displays information about the current operating state of the electronic device 100. Information can be printed.
  • the display 161 may display a user interface (User Interface) stored in the memory 120.
  • the display 161 may be implemented as a Liquid Crystal Display Panel (LCD), Organic Light Emitting Diodes (OLED), etc., and in some cases, the display 161 may also be implemented as a flexible display, a transparent display, etc.
  • the display according to the present disclosure is not limited to a specific type.
  • the speaker 163 may output audio data under the control of a processor, and the indicator 165 may light up under the control of at least one processor 170.
  • At least one processor 170 sends a guidance message indicating the control status of the electronic device 100 or a guidance message for urging user action through the output unit 160.
  • the cooking situation included in the context information is “a situation where garlic, onion, mushrooms, bacon, tomatoes, and sauce are put in a pan”
  • at least one processor 170 heats the heating unit 130 over medium heat for 4 minutes. You can control the operation, and you can also provide a guidance message to guide you to put noodles in the pan after 4 minutes.
  • the cooking situation included in the context information is “a situation where a steak is placed in a pan”
  • at least one processor 170 may output a guidance message to urge the user to flip the steak every 30 seconds. there is.
  • the guidance message may be output in audible form through the speaker 163, but this is only one embodiment, and may be transmitted in a visual form through the display 161 or indicator 165. there is.
  • the electronic device 100 when the electronic device 100 is connected to an external user terminal, the electronic device 100 may transmit a guidance message to the user terminal.
  • the user terminal may provide the received guidance message.
  • the electronic device 100 may provide a guidance message through at least one of the display 161, the speaker 163, and the indicator 165 according to user settings.
  • At least one processor 170 may control operations in one or more embodiments of the electronic device 100 according to at least one instruction stored in the memory.
  • the at least one processor may include at least one of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), and a Neural Processing Unit (NPU).
  • a general-purpose processor e.g., CPU
  • an artificial intelligence processor e.g., GPU
  • the artificial intelligence processor among the at least one processor 170 inputs sensing data acquired through at least one sensor 110 into at least one first neural network model and includes it in the sensing data. It can be used to obtain context information indicating the cooking situation. Also, a general-purpose processor among the at least one processor 170 may be used for other operations other than acquiring context information. However, this is only an example, and of course, one processor can control the operation of the electronic device 100.
  • At least one processor 170 when a user input for selecting a cooking menu is received, at least one processor 170 obtains information about a recipe corresponding to the selected cooking menu. In addition, at least one processor 170 identifies a first cooking step and at least one cooking step to be performed after the first cooking step among a plurality of cooking steps included in the information about the recipe. And, the at least one processor 170 corresponds to the first cooking step and at least one cooking step to be performed after the first cooking step among the plurality of neural network models based on information about the recipe and the resources of the electronic device 100. Load at least one first neural network model.
  • At least one processor 170 acquires sensing data through at least one sensor, and inputs the obtained sensing data into at least one first neural network model to obtain context information indicating the cooking situation included in the sensing data. do. And, at least one processor 170 controls the operation of the electronic device based on information about the recipe and context information. Then, at least one processor 170 detects a neural network model change event based on the context information and loads at least one second neural network model determined based on the context information and resource information of the electronic device among the plurality of neural network models. .
  • At least one processor 170 may identify a first cooking step included in information about a recipe. In addition, at least one processor 170 may obtain information about the probability that cooking steps after the first cooking step will be performed based on information about the recipe. In addition, at least one processor 170 may identify at least one cooking step among the cooking steps after the first cooking step, based on information about the probability that the cooking steps after the first cooking step will be performed.
  • information about a recipe may include a knowledge graph representing the recipe.
  • the knowledge graph may include a plurality of nodes representing a plurality of cooking steps for completing a cooking menu according to a recipe and a plurality of edges representing a sequential relationship between the plurality of cooking steps. You can.
  • the at least one processor 170 calculates the probability that the cooking step after the first cooking step will be performed based on the distance between the node representing the first cooking step and the nodes representing the cooking steps after the first cooking step. Information can be obtained.
  • At least one processor 170 is configured to configure each of the plurality of first neural network models. You can identify the resources needed to run. At least one processor 170 may determine the number of neural network models to be loaded simultaneously among the plurality of first neural network models based on the resources of the electronic device and the resources required to execute each of the plurality of first neural network models.
  • At least one processor 170 may determine weights of the plurality of first neural network models based on the probability that a cooking step after the first cooking step will be performed. Additionally, at least one processor 170 may sequentially load a plurality of first neural network models according to the determined weights. In addition, at least one processor 170 may input the sensing data into a plurality of sequentially loaded first neural network models to obtain context information indicating the cooking situation included in the sensing data.
  • the at least one processor 170 selects a first cooking step and a first cooking step among a plurality of neural network models based on at least one of the type of the at least one sensor 110 and the illuminance value obtained from the illuminance sensor 115. At least one first neural network model corresponding to at least one cooking step to be performed later may be loaded.
  • At least one processor 170 may determine the recipe for the recipe based on the context information. Among the plurality of cooking steps included in the information, a second cooking step and at least one cooking step to be performed after the second cooking step can be identified. And, the at least one processor 170 corresponds to the second cooking step and at least one cooking step to be performed after the second cooking step among the plurality of neural network models based on information about the recipe and resources of the electronic device 100. At least one second neural network model may be loaded.
  • At least one processor 170 may determine whether to change information about the recipe based on context information and information about the recipe. If it is determined that information about the recipe is changed, at least one processor 170 may obtain information about the changed recipe. At least one processor 170 may identify a second cooking step and at least one cooking step to be performed after the second cooking step among a plurality of cooking steps included in the information about the changed recipe based on the context information. And, the at least one processor 170 performs the second cooking step and at least one cooking step to be performed after the second cooking step among the plurality of neural network models based on information about the changed recipe and the resources of the electronic device 100. At least one corresponding second neural network model may be loaded.
  • At least one processor 170 may determine whether a cooking step exists between the first cooking step and the second cooking step. If there is no cooking step between the first cooking step and the second cooking step, at least one processor 170 may determine that information about the recipe is not changed. If there is a cooking step between the first cooking step and the second cooking step, at least one processor 170 may determine whether the cooking step between the first cooking step and the second cooking step is related to a cooking step after the second cooking step. You can determine whether it is in the cooking stage or not. If it is determined that the cooking step between the first cooking step and the second cooking step is related to the cooking step after the second cooking step, at least one processor 170 may determine that information about the recipe is changed.
  • the neural network model change event is an event of detecting a new cookware that is not included in the information about the recipe
  • at least One processor 170 may change information about the recipe based on new cooking utensils. And, at least one processor 170 corresponds to a second cooking step and at least one cooking step to be performed after the second cooking step among the plurality of neural network models based on information about the changed recipe and resources of the electronic device. At least one second neural network model may be loaded.
  • the heating unit 130 is described as being provided inside the electronic device 100, but this is only an example. If the electronic device 100 is implemented as a hood or a user terminal, FIG. 2D As shown, it may not include the heating unit 130. In one or more embodiments, the electronic device 100 may be connected in communication with another electronic device including the heating unit 130 to control the other electronic device including the heating unit 130.
  • FIG. 3 is a flowchart illustrating a method of controlling an electronic device and loading a neural network model according to information about a recipe and context information, according to one or more embodiments of the present disclosure.
  • the electronic device 100 receives a user input for selecting a cooking menu (S310).
  • the electronic device 100 may receive a user input for selecting a cooking menu through the input interface 150 (eg, a touch screen, etc.).
  • a cooking menu can specify the cooking item being cooked.
  • the electronic device 100 may receive a user input for selecting a cooking menu through an external device (eg, a user terminal) connected to the electronic device 100.
  • an external device eg, a user terminal
  • the external device may receive user input through the execution screen of the application.
  • the external device may transmit a user input for selecting a cooking menu to the electronic device 100.
  • the electronic device 100 may receive user input for selecting a cooking menu by taking pictures through the camera 113 through an identification code (e.g., bar code, QR code, etc.) included in the food ingredient. .
  • an identification code e.g., bar code, QR code, etc.
  • the electronic device 100 may obtain information about the cooking menu selected by the user through a user input that photographs a QR code located on the packaging of food ingredients.
  • the electronic device 100 may obtain information about a cooking menu corresponding to an identification code captured by the user terminal. Specifically, when the user terminal captures the identification code, the user terminal can obtain information about the cooking menu corresponding to the identification code.
  • the user terminal may transmit information about the acquired cooking menu to the electronic device 100, and the electronic device 100 may obtain information about the cooking menu from the user terminal.
  • the electronic device 100 obtains information about the recipe corresponding to the selected cooking menu (S320).
  • the electronic device 100 may obtain information about the recipe corresponding to the selected cooking menu by searching for a recipe corresponding to the selected cooking menu in a pre-built recipe database.
  • the recipe database may not only be stored in the electronic device 100 but also may be stored in an external device.
  • Information about the recipe includes information indicating each step of the recipe to complete the cooking menu.
  • information about a recipe may include information about a plurality of cooking steps.
  • Information about the recipe may be implemented in the form of a knowledge graph representing the recipe.
  • a 'knowledge graph' refers to a data structure that includes a plurality of nodes and a plurality of edges connecting the plurality of nodes.
  • a plurality of 'nodes' may represent one of a plurality of cooking steps to complete a cooking menu according to a recipe, and a plurality of 'trunks' may represent a sequential relationship between cooking steps corresponding to a plurality of nodes. there is.
  • the 'distance between nodes' can be determined based on how many other nodes are included in the minimum path connecting two nodes. For example, if the first node and the second node are directly connected, the distance between the first node and the second node is 0, and if the first node is connected to the second node through the third node, the distance between the first node and the second node is 0. The distance between can be 1
  • the plurality of nodes may include information about objects related to each cooking step and information representing actions toward the objects.
  • the information about the object may include information about the cooktop, cooking utensils, ingredients, etc., or other cooking information known to those skilled in the art
  • the information representing the action on the object may include the user's cooking action and the cooking action. It may include information about the time to perform or other action information known to those skilled in the art. Meanwhile, information about the recipe will be described in detail later with reference to FIGS. 4A and 4B.
  • the electronic device 100 may identify the first cooking step and at least one cooking step to be performed after the first cooking step (S330).
  • the 'first cooking step' may refer to the first cooking step among a plurality of cooking steps, but this is only an example and may refer to any plurality of cooking steps.
  • 'At least one cooking step to be performed after the first cooking step' does not mean only the cooking step that is likely to be performed immediately after the first cooking step, but a plurality of cooking steps that are likely to be performed after the first cooking step. can be identified among the
  • the electronic device 100 may identify at least one cooking step among the cooking steps after the first cooking step based on information about the probability that the cooking step after the first cooking step will be performed. In one or more embodiments, the electronic device 100 may identify at least one cooking step in which the probability that the cooking step after the first cooking step will be performed is greater than or equal to a threshold value. This will be explained in detail later with reference to FIG. 5 .
  • the electronic device 100 may load at least one first neural network model (S340).
  • the electronic device 100 includes a first cooking step and at least one cooking step to be performed after the first cooking step among a plurality of neural network models based on information about the recipe and resources of the electronic device 100. At least one first neural network model corresponding to can be loaded.
  • the electronic device 100 may identify at least one first neural network model corresponding to the identified first cooking step and at least one cooking step to be performed after the first cooking step.
  • the electronic device 100 may determine the number of neural network models to be loaded simultaneously based on the resources of the electronic device 100 and the resources of the plurality of first neural network models. Additionally, the electronic device 100 may determine whether the sum of resources of the plurality of first neural network models is less than the resources of the electronic device. If the sum of resources of the plurality of first neural network models is less than the resources of the electronic device, the electronic device 100 may load the plurality of first neural network models simultaneously.
  • the electronic device 100 may sequentially load the plurality of first neural network models according to the weights of the plurality of first neural network models.
  • the weights of the plurality of first neural network models may be determined based on information about the probability that at least one cooking step will be performed after the first cooking step.
  • the electronic device 100 performs the first cooking step and after the first cooking step among the plurality of neural network models based on at least one of the type of the at least one sensor 110 and the illuminance value obtained from the illuminance sensor 115. At least one first neural network model corresponding to at least one cooking step to be performed may be loaded. A method by which the electronic device 100 loads at least one first neural network model will be described in more detail with reference to FIGS. 6 to 7B.
  • the electronic device 100 inputs the sensing data into at least one neural network model to obtain context information indicating the cooking situation included in the sensing data (S350).
  • Context information includes information representing the cooking situation included in the sensing data.
  • the sensing data includes an image
  • the context information may include information about the user's action included in the image and information about the object included in the image.
  • information about the user's actions included in the image may indicate the user's actions, such as whether the user is cutting ingredients, whether the user is putting ingredients into a cooking utensil, or whether the user is frying ingredients. .
  • information about the user's behavior may consist of the user's behavior (verb) and the object (noun) that is the target of the user's behavior
  • the behavior recognition model provides information about the user's behavior in the form of (verb+noun).
  • the action recognition model can output information about the user's actions, such as " ⁇ putting ⁇ ⁇ pasta ⁇ into ⁇ pot ⁇ ", putting ⁇ pasta ⁇ into ⁇ pan ⁇ and ⁇ frying ⁇ ".
  • an action recognition model may be trained to classify information about a user's actions based on images tagged in the form (verb+noun).
  • the action recognition model may have input data It can be learned to classify information about the user's actions based on learning data, which is video data and the output data is information about actions in the form of (verb+noun).
  • information about the objects included in the image may include information about the ingredients included in the image (e.g. garlic, onions, mushrooms, noodles, etc.), information about changes in the state of the ingredients included in the image, or dishes included in the image.
  • Information about utensils e.g. pots, coating pans, stainless steel pans, cast iron pans, ladles, etc.
  • an object recognition model may output information about the type (noun) of the recognized object.
  • the object recognition model may output information about the recognized object, including information about the type (noun) of the recognized object and the state change (verb) of the object.
  • an object recognition model may output information about objects such as “ ⁇ onion ⁇ ⁇ became transparent ⁇ ” or “ ⁇ water ⁇ ⁇ boiled ⁇ .”
  • the context information may include information about the type of sound included in the sound signal.
  • information about the type of sound can be information about sounds that indicate the progress of cooking (e.g. water boiling, the sound of a pressure cooker, etc.) or sounds that indicate the user's cooking action (e.g. flipping a steak in a pan). It may include information about sounds (e.g. sounds or the sound of cutting vegetables, etc.).
  • the final context information can be obtained by combining context information output by inputting a plurality of sensing data through each neural network model. For example, information about the object “water” is obtained through an object recognition model, and information about the progress of cooking “boiling sound” is obtained through a sound recognition model.
  • the electronic device 100 combines first context information output through an object recognition model and second context information output through a sound recognition model to provide final context information such as “state of water breaking”. can be obtained.
  • the context information may include information about the surrounding environment of the electronic device 100 (eg, surrounding brightness, etc.).
  • the electronic device 100 may obtain information about the surrounding environment of the electronic device 100 by inputting the acquired image into a neural network model.
  • the context information may include information about the heating unit.
  • the electronic device 100 may input an image of the heating unit 130 into a neural network model to obtain information about the heating unit where the cooking utensil is located. For example, as shown in FIG. 2B, when there is a heating unit 130 including three cooking zones, the electronic device 100 inputs an image taken of the heating unit 130 into a neural network model for cooking. It can be identified that the crater where the mechanism is located is the second crater 132. In one or more embodiments, the electronic device 100 may analyze pixels of an image of the heating unit 130 to identify that the cooking utensil is located as the second cooking utensil 132. Additionally, the electronic device 100 can control the operating temperature and operating time of the second cooking utensil 132, where the cooking utensil is located, among the heating units 130.
  • the electronic device 100 monitors the at least one currently loaded neural network model. Cooking steps after the corresponding cooking steps can be identified, and neural network models corresponding to the subsequent cooking steps can be loaded. In one or more embodiments, when the cooking steps corresponding to the currently loaded at least one neural network model are the first cooking step and the second cooking step, and the context information is not detected for a threshold time, the electronic device 100 The neural network model corresponding to the 3rd cooking step and the 4th cooking step can be loaded. At this time, the critical time may be preset, but this is only an example and may be set based on the cooking time of the corresponding cooking step.
  • the electronic device 100 controls the operation of the electronic device 100 based on information about the recipe and context information (S360). In one or more embodiments, the electronic device 100 identifies which cooking stage of the recipe the current cooking situation is based on the information and context information about the recipe, or identifies information about the current state of the food ingredient, and identifies the heating unit ( 130) can be controlled. This will be explained in detail later with reference to FIG. 15.
  • the electronic device 100 determines whether a neural network model change event has been detected (S370).
  • the electronic device 100 may determine whether a neural network model change event has been detected based on the acquired context information.
  • the neural network model change event may be at least one of an event in which a cooking situation performing a second cooking step different from the first cooking step is detected and an event in which a new cooking utensil that is not included in the information about the recipe is detected. .
  • the neural network model change event will be described in more detail with reference to FIGS. 8 to 14.
  • the electronic device 100 loads at least one second neural network model (S380). This will be explained later with reference to the drawings.
  • FIG. 4A is a diagram illustrating information about a recipe in the form of a knowledge graph, according to one or more embodiments of the present disclosure.
  • FIG. 4A is a diagram illustrating recipe information when the cooking menu selected according to user input is “tomato spaghetti.”
  • Information about the recipe may include objects related to each cooking step and information representing actions on those objects, such as a node representing the “boil water” step and a node representing the “boil noodles for 7 minutes” step connected thereto. .
  • a larger number of nodes and edges may be included in the recipe information.
  • each node is explained as containing information in the form of natural language such as "boil water,” “boil noodles for 7 minutes,” and “add garlic, onion, and mushrooms to the pan,” but this is only an example.
  • Information about ⁇ object ⁇ in particular, cooking utensils and ingredients can be stored separately
  • information about ⁇ action ⁇ can be stored separately.
  • the node corresponding to “boil water” is stored in the form ⁇ water ⁇ , ⁇ boil ⁇
  • the node corresponding to “boil noodles for 7 minutes” is stored in the form ⁇ noodles ⁇ , ⁇ boil for 7 minutes ⁇
  • the node corresponding to “boil noodles for 7 minutes” is stored in the form “boil in a pan.”
  • Nodes corresponding to "put garlic, onion, mushroom” can be stored in the form ⁇ pan ⁇ , ⁇ garlic, onion, mushroom ⁇ , and ⁇ put ⁇ .
  • information about a neural network model required for each of a plurality of cooking steps may be stored in the information about the recipe.
  • the information about the neural network model may store various types of information, such as the type of neural network model, input/output data of the neural network model, necessary resources of the neural network model, etc.
  • FIG. 4B is a diagram for explaining information about a neural network model included in information about a recipe, according to an embodiment of the present disclosure.
  • the neural network model required to identify performance of the first cooking step is the first object recognition model.
  • the neural network models required to identify performance of the second cooking step include a third object recognition model, a second action recognition model, and a first May include a sound recognition model.
  • metadata of each neural network model may include information about input/output data of the neural network model.
  • the first object recognition model may include ⁇ image ⁇ as input data and ⁇ whether the object is a fan ⁇ as output data.
  • the metadata of each neural network model may further include information about resources required for loading the neural network model, the version of the neural network model, etc.
  • information about recipes may be updated based on user data related to the user's past cooking behavior.
  • the electronic device 100 may acquire user data related to the user's past cooking behavior and store it in the memory of the electronic device 100 or in the memory of a user terminal where an application for controlling the electronic device 100 is installed. You can.
  • the electronic device 100 may determine whether to perform a cooking action according to a plurality of cooking steps included in the selected cooking menu while performing the selected cooking menu. For example, the electronic device 100 may determine whether some of the cooking steps among the plurality of cooking steps have been omitted or whether the ingredients, cooking utensils, cooking methods, etc. of some of the cooking steps among the plurality of cooking steps have been changed. If it is determined that cooking is not performed according to the plurality of cooking steps, for example, some cooking steps among the plurality of cooking steps are omitted or the ingredients, cooking utensils, cooking methods, etc. of some of the main cooking steps of the plurality of cooking steps are changed. If it is determined that this is the case, the electronic device 100 may obtain information related to the changed cooking behavior as user data.
  • ingredients 1, 2, and 3 are required as ingredient information for the selected dish menu A, but if the ingredients currently detected through the camera 111 (or ingredients stored in the refrigerator) are ingredients 1, 2, and 4, the electronic The device 100 can determine whether ingredient 4 can replace ingredient 3.
  • the electronic device 100 may search for information about the recipe of dish menu A containing ingredient 4 through a search server, and send information about the searched recipe to the electronic device 100 or the electronic device 100. It can be provided as a user terminal that controls. However, if it is determined that ingredient 4 cannot replace ingredient 3, the electronic device 100 may change the cooking step including ingredient 3 among the plurality of cooking steps.
  • the electronic device 100 may store identification information about the user (e.g., ID information) and information about the skipped cooking step. You can. And, when performing the selected cooking menu A, if the number of times the cooking step containing ingredient 3 is omitted is more than the threshold number, the electronic device 100 selects ingredient 3 in the information about the recipe of cooking menu A as user data. You can save information about recipes that omit the cooking steps included.
  • the electronic device 100 may identify at least one cooking step among a plurality of cooking steps based on user data related to the user's past cooking behavior. In one or more embodiments, the electronic device 100 adds or deletes some nodes in the information about the recipe based on user data, or changes the contents of some nodes, so that the plurality of cooking steps included in the information about the recipe are changed. Some things can be changed.
  • the electronic device 100 may A node representing the step “Add garlic, onion, mushrooms, bacon, tomatoes, and sauce to the pan” and a node representing the "Saute for 4 minutes” step that follows the "Add garlic, onion, mushrooms, bacon, tomatoes, and sauce to the pan” step. You can update information about the recipe by deleting it.
  • the electronic device 100 stores the recipe before the update. If, in the information for It can be updated to add a node representing the “Add Parmesan Cheese” step after the node representing the “Fry for 2 minutes” step.
  • FIG. 5 is a flowchart illustrating a method of identifying a first cooking step and at least one cooking step to be performed after the first cooking step, according to one or more embodiments of the present disclosure.
  • the electronic device 100 may identify the first cooking step included in the information about the recipe (S510). In one or more embodiments, the electronic device 100 may identify the first cooking step among a plurality of cooking steps included in information about the recipe as the first cooking step. In one or more embodiments, the electronic device 100 may identify a first cooking step among a plurality of cooking steps based on previously acquired context information. The method for identifying cooking steps based on context information will be described in detail later.
  • the electronic device 100 may obtain information about the probability that a cooking step after the first cooking step will be performed (S520). In one or more embodiments, the electronic device 100 provides a probability that cooking steps will be performed after the first cooking step based on the distance between the node representing the first cooking step and the nodes representing cooking steps after the first cooking step. You can obtain information about.
  • the electronic device 100 may The probability that the second cooking step will be performed after the step can be determined to be 50%. Additionally, when the third node representing the third cooking step is not connected to the first node but is connected to the second node, the electronic device 100 increases the probability that the third cooking step will be performed after the first cooking step by 25%. can be decided. For example, the electronic device 100 may obtain information about the probability that cooking steps will be performed after the first cooking step based on the distance between nodes included in information about the recipe.
  • a second node representing a second cooking step is connected to a first node representing a first cooking step in the information about the recipe, and a third node representing a third cooking step is also connected to the first node.
  • the electronic device 100 determines the probability that the second cooking step will be performed after the first cooking step and the probability that the third cooking step will be performed after the first cooking step to be the same, so that the probability that the second cooking step will be performed after the first cooking step is equal.
  • Information about the probability that cooking steps will be performed can be obtained. For example, the electronic device 100 may determine the probability that the second cooking step will be performed after the first cooking step as 50%, and the probability that the third cooking step will be performed after the first cooking step may be determined as 50%. .
  • the electronic device 100 may identify at least one cooking step among the cooking steps after the first cooking step based on the obtained probability (S530). In one or more embodiments, the electronic device 100 may select at least a cooking step whose probability of being performed after the first cooking step is greater than or equal to a preset threshold (for example, 20%) among cooking steps that can be performed after the first cooking step. It can be identified as a single cooking step.
  • a preset threshold for example, 20%
  • the electronic device 100 includes at least one cooking step, the second cooking step and the third cooking step, which are cooking steps greater than or equal to a preset threshold (for example, 20%). It can be identified as:
  • the electronic device 100 may identify a preset number of cooking steps among cooking steps that can be performed after the first cooking step in order of high probability of being performed after the first cooking step, thereby performing at least one cooking step. You can also identify steps. For example, the probability that the second cooking step will be performed after the first cooking step is determined to be 50%, the probability that the third cooking step will be performed after the first cooking step is determined to be 25%, and the probability that the third cooking step will be performed after the first cooking step is determined to be 50%. When the probability that the fourth cooking step will be performed is determined to be 12.5%, the electronic device 100 performs a preset number (for example, two) of the second cooking step and the third cooking step in order of probability. Identifiable by at least one cooking step.
  • FIG. 6 is a flowchart illustrating a method of loading a first neural network model according to one or more embodiments of the present disclosure.
  • the electronic device 100 may identify at least one first neural network model corresponding to the identified first cooking step and at least one cooking step to be performed after the first cooking step (S610). .
  • the electronic device 100 includes at least one cooking step corresponding to the first cooking step and at least one cooking step to be performed after the first cooking step based on information about the neural network model required for each cooking step included in the information about the recipe.
  • One first neural network model can be identified.
  • the information about the recipe includes "neural network model a corresponding to the first cooking step, neural network model b, c corresponding to the second cooking step, neural network model c, d, f corresponding to the third cooking step".
  • the electronic device 100 includes at least one As the first neural network model, neural network models a, b, c, d, and f can be identified.
  • the electronic device 100 may perform the first cooking step and the first cooking step based on the metadata of the information about the recipe and the neural network model. At least one first neural network model corresponding to at least one cooking step to be performed after the first cooking step may be identified. In one or more embodiments, the electronic device 100 compares information about ingredients for each cooking step, cooking utensils, and user behavior included in the information about the recipe, and information about input/output data included in the metadata of the neural network model. Thus, at least one first neural network model can be identified.
  • the electronic device 100 can recognize a first object recognition model that can identify “pan,” a second object recognition model that can identify “onions, mushrooms, and garlic,” and a “putting action.”
  • the first action recognition model can be identified as a neural network model corresponding to the first cooking step.
  • the electronic device 100 may identify at least one first neural network model corresponding to the first cooking step and at least one cooking step to be performed after the first cooking step.
  • the electronic device 100 may determine whether the number of identified first neural network models is plural (S620). For example, determine whether a plurality of first neural network models exist by determining whether there are a plurality of neural network models that can be loaded for the first cooking step and at least one cooking step to be performed after the first cooking step. You can judge.
  • the electronic device 100 determines the number of neural network models to be loaded simultaneously based on the resources of the electronic device 100 and the resources of the plurality of first neural network models. (S630).
  • the resources of the electronic device 100 are information about resources currently available to the electronic device 100, including the amount of memory currently available to the electronic device 100 and the current electronic device 100. It may mean processing capacity (CPU utilization rate, NPU or GPU utilization rate, etc.). Additionally, the resources of the first neural network model may be information about resources required for loading the first neural network model.
  • the resources of the electronic device 100 may mean the total resources currently available to the electronic device 100, but this is only an embodiment and the available resources are determined by taking other tasks into consideration. It may refer to a resource of a critical ratio (e.g., 80%) among all available resources.
  • a critical ratio e.g., 80%
  • the electronic device 100 may load the plurality of first neural network models simultaneously (S650). The method of simultaneously loading a plurality of first neural network models will be described in more detail with reference to FIG. 7A.
  • the neural network model corresponding to the first cooking step 710 is neural network model a
  • the neural network model corresponding to the second cooking step 720 is neural network models b and c
  • the third cooking step The neural network model corresponding to (730) may be neural network model c, d, and f.
  • the electronic device 100 may identify the first cooking step (T1) and identify the second cooking step as the first cooking step and at least one cooking step after the first cooking step (T1). T2). Additionally, the electronic device 100 may identify neural network models a, b, and c as a plurality of first neural network models corresponding to the first cooking step and the second cooking step. In one or more embodiments, if the sum of the resources of the neural network models a, b, and c is less than the resources of the electronic device 100, the electronic device 100 may load the neural network models a, b, and c simultaneously (T3).
  • the electronic device 100 may determine the weights of the plurality of first neural network models. There is (S660). In particular, the electronic device 100 may determine weights for the plurality of first neural network models based on information about the probability that at least one cooking step will be performed after the first cooking step obtained in step S420 of FIG. 4 .
  • the electronic device 100 may sequentially load a plurality of first neural network models according to weights (S670). The method of sequentially loading a plurality of first neural network models will be described in more detail with reference to FIG. 7B.
  • the neural network model corresponding to the first cooking step 710 is neural network model a
  • the neural network model corresponding to the second cooking step 720 is neural network models b and c
  • the neural network model corresponding to (730) may be neural network model c, d, and f.
  • the electronic device 100 may identify the first cooking step (T1) and identify the second cooking step as the first cooking step and at least one cooking step after the first cooking step (T1). T2). Additionally, the electronic device 100 may identify neural network models a, b, and c as a plurality of first neural network models corresponding to the first cooking step and the second cooking step.
  • the electronic device 100 may provide information about the probability that the second cooking step will be performed after the first cooking step. Based on this, the weights of neural network models a, b, and c can be determined. For example, the electronic device 100 may determine the weight of neural network model a to be 1 and the weights of neural network models b and c to be 0.33 based on information about the probability that the second cooking step will be performed.
  • the electronic device 100 may sequentially load neural network models a, b, and c according to the weight of the neural network model (T3).
  • the electronic device 100 may load the neural network model in the order a-a-a-b-c, as shown in FIG. 7B.
  • the electronic device 100 may obtain context information by inputting sensing data obtained from at least one sensor to the sequentially loaded neural network model a number of times corresponding to the weight.
  • loading a neural network model as a-a-a-b-c means using neural network models b and c once for every three times neural network model a is used.
  • the electronic device 100 loads the neural network model a, inputs the first sensing data to the loaded neural network model a to obtain first context information, and obtains the first context information from the loaded neural network model a.
  • Obtain second context information by inputting second sensing data into a obtain third context information by inputting third sensing data into loaded neural network model a, load neural network model b, and load neural network model b.
  • Fourth sensing data may be input to obtain fourth context information
  • neural network model c may be loaded
  • fifth sensing data may be input into the loaded neural network model c to obtain fifth context information.
  • the electronic device 100 may acquire sensing data from at least one sensor 110 at a certain period and input it into a neural network model, but this is only one embodiment, and the cooking step in which an operation time exists In the case of (e.g., stir-fry for 3 minutes, etc.), the electronic device 100 acquires sensing data from at least one sensor 110 at a characteristic point in the cooking step (e.g., the beginning, middle, last, etc.) This can be input into the neural network model.
  • a characteristic point in the cooking step e.g., the beginning, middle, last, etc.
  • the electronic device 100 may obtain sensing data by requesting sensing data from a sensor corresponding to the neural network model.
  • neural network model a is an object recognition model
  • neural network model b is a sound recognition model
  • neural network model c is an action recognition model
  • the electronic device 100 adds Image data can be requested from the corresponding camera 111.
  • the electronic device 100 may request audio data from the microphone 113 corresponding to neural network model b. there is.
  • the electronic device 100 may simultaneously load at least two of the plurality of first neural network models based on the resources of the electronic device 100 and the resources of the plurality of neural network models. For example, if the resources of the neural network models b and c corresponding to the second cooking step shown in FIG. 7B are less than the resources of the electronic device 100, the electronic device 100 operates the neural network models in the order a-a-a-(b,c). It can be loaded. For example, the electronic device 100 may load neural network model a three times and load neural networks b and c once simultaneously.
  • the electronic device 100 may load one first neural network model (S680).
  • the resource for loading the neural network model is not large enough.
  • the electronic device 100 can also identify cooking situations in real time using a neural network model as an on-device and perform control corresponding to the identified cooking situations.
  • the electronic device 100 performs the first cooking step and after the first cooking step among the plurality of neural network models based on at least one of the type of the at least one sensor 110 and the illuminance value obtained from the illuminance sensor 115. At least one first neural network model corresponding to at least one cooking step to be performed may be loaded.
  • the electronic device 100 compares information about the type of at least one sensor 110 included in the electronic device 100 and metadata (particularly, input data) of a plurality of neural network models to determine a plurality of sensors 110.
  • the neural network models at least one first neural network model corresponding to the first cooking step and at least one cooking step to be performed after the first cooking step may be loaded.
  • the electronic device 100 uses metadata (particularly, input data) of a plurality of neural network models.
  • the plurality of neural network models only the object recognition model or action recognition model may be loaded, and the sound recognition model may not be loaded.
  • the electronic device 100 when loading the first neural network model, compares information about the type of at least one sensor 110 and metadata of a plurality of neural network models to determine at least one first neural network model.
  • the model can be identified, but this is only an example.
  • downloading a plurality of neural network models only some of the neural network models among the plurality of neural network models can be stored depending on the type of at least one sensor 110.
  • the electronic device 100 when the electronic device 100 is not equipped with a microphone 113 and is equipped with only a camera 111, the electronic device 100 recognizes an object among the plurality of neural network models when downloading a plurality of neural network models. You can download and save only the model or action recognition model.
  • the electronic device 100 compares information about the performance of at least one sensor 110 included in the electronic device 100 and metadata (particularly, input data) of a plurality of neural network models to determine a plurality of Among the neural network models, at least one first neural network model corresponding to the first cooking step and at least one cooking step to be performed after the first cooking step may be loaded.
  • the camera 111 in the electronic device 100 is a camera that captures HD images
  • the electronic device 100 inputs an HD image from among the plurality of neural network models based on the metadata of the plurality of neural network models. Only the object recognition model or action recognition model that can obtain context information may be loaded, and the object recognition model or action recognition model that can obtain context information by inputting a Full HD image may not be loaded.
  • the electronic device 100 compares the illuminance value obtained from the illuminance sensor 115 and the metadata of the plurality of neural network models, based on the first cooking step and the first cooking step among the plurality of neural network models. At least one first neural network model corresponding to at least one cooking step to be performed may be loaded. Specifically, in a bright environment where the illuminance value obtained from the illuminance sensor 115 is equal to or greater than a threshold, the electronic device 100 loads at least one first neural network model with first performance by referring to metadata of a plurality of neural network models. can do.
  • the electronic device 100 In a dark environment where the illuminance value obtained from the illuminance sensor 115 is less than the threshold, the electronic device 100 refers to the metadata of the plurality of neural network models and selects at least one first neural network model having a second performance better than the first performance. can be loaded.
  • the electronic device 100 may identify and load a neural network model corresponding to the changed cooking value among a plurality of neural network models.
  • the electronic device 100 determines whether a neural network model change event has been detected (S370). In one or more embodiments, while acquiring context information, the electronic device 100 may determine whether a neural network model change event has been detected based on the acquired context information. In one or more embodiments, the neural network model change event is an event for changing the neural network model, wherein a cooking situation performing a second cooking step different from the first cooking step is detected and a new cooking not included in the information about the recipe. It may be at least one of the events that detect the device.
  • FIG. 8 is a flowchart illustrating a method of loading a second neural network model according to a neural network model change event, according to one or more embodiments of the present disclosure.
  • the electronic device 100 may acquire context information (S810). That is, the electronic device 100 may obtain context information output from at least one first neural network model. In one or more embodiments, the electronic device 100 may obtain and monitor context information output from at least one first neural network model in real time.
  • the electronic device 100 may detect whether the second cooking step is performed based on the context information (S820).
  • the second cooking step may refer to a cooking step that may be performed after the first cooking step.
  • the electronic device 100 may detect whether the second cooking step is performed by identifying a second cooking step that matches the acquired context information among a plurality of cooking steps included in the information about the recipe. For example, if context information of “the act of frying onions” is acquired while monitoring the context information output by the neural network model, the electronic device 100 selects the “second” of the plurality of cooking steps as shown in FIG. 4A. It can be detected that a “cooking step” is performed.
  • the electronic device 100 may determine whether to change information about the recipe (S840).
  • changing information about a recipe may mean deleting or changing at least one node among a plurality of nodes included in a graph representing information about a recipe, or adding a new node. Whether the electronic device 100 changes information about the recipe will be described with reference to FIG. 9 .
  • the electronic device 100 may determine whether a cooking step exists between the first cooking step and the second cooking step (S910). For example, the electronic device 100 may determine whether the cooking step immediately following the first cooking step is executed.
  • the electronic device 100 determines the cooking step between the first cooking step and the second cooking step and the cooking step after the second cooking step. It can be determined whether it is related to the step (S920). In one or more embodiments, the electronic device 100 may determine whether the ingredients and cooking utensils included in the cooking step between the first cooking step and the second cooking step are used in the cooking step after the second cooking step. .
  • the electronic device 100 It may be determined that the cooking step between the first cooking step and the second cooking step is related to the cooking step after the second cooking step.
  • the electronic device 100 may change information about the recipe (S930) ). For example, the electronic device 100 identifies a cooking step related to an omitted cooking step (i.e., a cooking step between the first cooking step and the second cooking step) among the cooking steps after the second cooking step, and You can delete or change the node corresponding to the cooking step.
  • a cooking step related to an omitted cooking step i.e., a cooking step between the first cooking step and the second cooking step
  • the electronic device 100 may store the recipe Among the plurality of cooking steps included in the information about, the "fry-fry onion” cooking step related to "onions" can be deleted.
  • the electronic device 100 may maintain information about the recipe (S940).
  • the electronic device 100 may determine whether a new cooking utensil has been detected based on context information (S830) ). In one or more embodiments, the electronic device 100 may determine whether a new cooking utensil that is not included in the information about the recipe has been detected based on context information acquired through an object recognition model.
  • the electronic device 100 may determine whether a new cooking utensil has been detected based on context information obtained through an object recognition model for detecting a cooking utensil. For example, if the cooking utensil included in the information about the recipe is “pot” and the information about the cooking utensil acquired through an object recognition model for recognizing the cooking utensil is “pan”, the electronic device 100 uses the context Based on the information, it can be determined that a new cooking utensil has been detected.
  • the electronic device 100 may load another object recognition model for recognizing a new cooking utensil, and may determine whether a new cooking utensil has been detected through another object recognition model. For example, in a situation where the cooking utensil included in the information about the recipe is a “pot,” after loading the object recognition model for recognizing the “pot,” the electronic device 100 loads an object recognition model for recognizing the “pot.” Context information can be obtained through.
  • the electronic device 100 loads an object recognition model for recognizing other cooking utensils, and recognizes new cooking utensils through the other loaded object recognition models. It can be sensed.
  • the object recognition model for recognizing other cooking utensils can be an object recognition model that can recognize cooking utensils with a higher concept of "pot” (i.e., cooking utensils that resemble food ingredients) or a type of cooking utensil different from "pot” (i.e., cooking utensils that resemble food ingredients).
  • it may be an object recognition model that can recognize (fans, gourds, etc.).
  • the electronic device 100 After detecting whether the second cooking step is performed, if it is determined to change the information about the recipe (S840-Y) or if a new cooking utensil is detected (S830-Y), the electronic device 100 You can change information about the recipe (S850).
  • the electronic device 100 as described above, is configured to perform an omitted cooking step among the cooking steps after the second cooking step (i.e., between the first cooking step and the second cooking step). Cooking steps related to the cooking step) can be identified, and nodes corresponding to the identified cooking steps can be deleted or changed.
  • the electronic device 100 may request an external server to retrieve a recipe including the newly detected cooking utensil (or ingredient), It may contain information about recipes including cooking utensils (or ingredients) newly detected from an external server. For example, if a cooking utensil “pan” that is not included in the information about the recipe is detected after the user selects the cooking menu “boiling ramen”, the electronic device 100 provides recipe information about “boiling ramen using a pan”. You can change information about the recipe by receiving it from an external server.
  • the electronic device 100 may identify the second cooking step and at least one cooking step after the second cooking step (S860). In one or more embodiments, the electronic device 100 may identify the second cooking step and at least one cooking step after the second cooking step based on information about the recipe (or information about the changed recipe) and context information. there is. For example, when a new cooking utensil is changed, the electronic device 100 may identify a second cooking step including the newly changed cooking utensil, and perform at least one cooking step among the cooking steps after the second cooking step. can be identified. Since this has been described in detail in step S330 of FIG. 3 and FIG. 5, redundant description will be omitted.
  • the electronic device 100 may be configured to perform at least one step after the second cooking step that is not the second cooking step. Only cooking stages can be identified. For example, if the “boil water” cooking step is identified in step S820, the electronic device 100 identifies the “boil water” cooking step and subsequent cooking steps since “boiling water” has not been completed. can do. However, if the cooking step "Add garlic and onion to the pan” is identified in step S820, the electronic device 100 determines that the cooking step after "Add garlic and onion to the pan" has been completed. can be identified.
  • the electronic device 100 may load at least one second neural network model corresponding to the second cooking step and at least one cooking step after the second cooking step (S870).
  • the electronic device 100 may select a second cooking step and at least one dish to be performed after the second cooking step among a plurality of neural network models based on information about the recipe and resources of the electronic device 100.
  • At least one second neural network model corresponding to the step may be loaded. Since this has been described in detail in step S340 of FIG. 3 and FIGS. 6 to 7B, redundant description will be omitted.
  • FIG. 10 is a diagram illustrating a first embodiment of an event in which a cooking situation in which a second cooking step different from the first cooking step is detected is detected, according to one or more embodiments of the present disclosure.
  • information about the recipe of the cooking menu selected by the user includes the first to fifth cooking steps (1010 to 1050).
  • the neural network model for identifying performance of the first cooking step 1010 is neural network model a
  • the neural network model for identifying performance of the second cooking step 1020 is neural network Models b and c
  • the neural network model for identifying the performance of the third cooking step 1030 is the neural network model c
  • d, f the neural network model for identifying the performance of the fourth cooking step 1040
  • the neural network model for identifying the performance of the fifth cooking step 1050 is the neural network model h,i.
  • the neural network model for identifying the performance of the first cooking step is a, but this is only an example and may further include a_1 or a_2 depending on the performance and type of the neural network model.
  • T1 to T8 shown in FIGS. 10 to 14 do not mean a specific point in time, but rather a sequence of operations.
  • the electronic device 100 can identify the first cooking step 1010 (T1). For example, the electronic device 100 may identify the first cooking step 1010, which is the first cooking step. Additionally, the electronic device 100 may identify the second cooking step 1020 as at least one neural network model after the first cooking step 1010 based on information about the recipe. For example, the electronic device 100 may identify the first cooking step and the second cooking step 1010 and 1020 (T2).
  • the electronic device 100 may load at least one neural network model corresponding to the first and second cooking steps 1010 and 1020. For example, the electronic device 100 may sequentially load the neural network model based on the weight of the neural network model. That is, the electronic device 100 may sequentially load the neural network model in the order a-a-a-b-c (T3). For example, in the above-described embodiment, sequential loading of the neural network model a-a-a-b-c was described, but this is only one embodiment. As described above, the sum of the resources of the neural network model a, b, and c is the electronic device 100. ), of course, the electronic device 100 can simultaneously load neural network models a, b, and c. However, for convenience of explanation, FIGS. 10 to 14 will be described assuming only sequential loading, excluding simultaneous loading.
  • the electronic device 100 may detect “doing BB”, which is a cooking situation corresponding to the second cooking step 1020, while monitoring the context information (T4).
  • the electronic device 100 may identify the second cooking step 1020 corresponding to “doing BB” and the third cooking step 1030, which is a cooking step after the second cooking step 1020 (T5).
  • the electronic device 100 may sequentially load models b, c, d, f, which are neural network models corresponding to the second and third cooking steps 1020 and 1030, in the order b-c-b-c-d-f (T6).
  • FIG. 11 is a diagram illustrating a second embodiment of an event in which a cooking situation in which a second cooking step different from the first cooking step is detected is detected, according to one or more embodiments of the present disclosure.
  • Information about the recipe of the cooking menu selected by the user includes the first to fifth cooking steps (1010 to 1050), as described in FIG. 10.
  • the electronic device 100 can identify the first cooking step 1010 (T1). That is, the electronic device 100 can identify the first cooking step 1010, which is the first cooking step. Also, the electronic device 100 may identify the second cooking step and the third cooking step 1020 and 1030 as at least one neural network model after the first cooking step 1010 based on information about the recipe. For example, the electronic device 100 may identify the first to third cooking stages 1010 to 1030 (T2).
  • the electronic device 100 may sequentially load neural network models a, b, c, d, f corresponding to the first to third cooking steps 1010 to 1030 in the order a-a-a-b-c-b-c-d-f (T3).
  • the electronic device 100 performs a third cooking step (1030) based on context information acquired while sequentially loading neural network models a, b, c, d, and f corresponding to the first to third cooking steps (1010 to 1030). ) can be detected (T4), which is a cooking situation corresponding to "doing CC".
  • T4 a cooking situation corresponding to "doing CC"
  • the electronic device 100 may determine whether to change information about the recipe because the second cooking step 1020 was omitted and the third cooking step 1030 was performed. However, if the electronic device 100 determines that the second cooking step 1020 is not related to subsequent cooking steps, the electronic device 100 may maintain information about the recipe without changing the information about the recipe.
  • the electronic device 100 may identify the third cooking step 1030 corresponding to “doing CC” and the fourth cooking step 1040, which is a cooking step after the third cooking step 1030 (T5).
  • the electronic device 100 may sequentially load the c,d,f,g models, which are neural network models corresponding to the third and fourth cooking steps 1030 and 1040, in the order c-d-f-c-d-f-g (T6).
  • FIG. 12 is a diagram illustrating a third embodiment of an event in which a cooking situation in which a second cooking step different from the first cooking step is detected is detected, according to one or more embodiments of the present disclosure.
  • Information about the recipe of the cooking menu selected by the user includes the first to fifth cooking steps (1010 to 1050), as described in FIGS. 10 and 11.
  • the electronic device 100 can identify the first cooking step 1010 (T1). That is, the electronic device 100 can identify the first cooking step 1010, which is the initial cooking step. Additionally, the electronic device 100 may identify the second to fourth cooking steps 1020 to 1040 as at least one neural network model after the first cooking step 1010 based on information about the recipe. For example, the electronic device 100 may identify the first to fourth cooking stages 1010 to 1040 (T2).
  • the electronic device 100 may sequentially load neural network models a, b, c, d, f, g corresponding to the first to fourth cooking steps 1010 to 1040 in the order a-a-a-b-c-b-c-d-f-g (T3).
  • the electronic device 100 may detect “doing DD”, which is a cooking situation corresponding to the fourth cooking step 1040, while monitoring the context information (T4). At this time, since the electronic device 100 omitted the second and third cooking steps 1020 and 1030 and performed the fourth cooking step 1040, it can determine whether to change information about the recipe.
  • the electronic device 100 may change information about the recipe. (T5). For example, the electronic device 100 changes the fifth cooking step 1050 to the 5' cooking step 1060, and sets the neural network model corresponding to the 5' cooking step 1060 to h' and i'. You can judge.
  • the electronic device 100 may identify the fourth cooking step 1040 corresponding to “Do DD” and the 5th cooking step 1060, which is a cooking step after the fourth cooking step 1040 (T6).
  • the electronic device 100 sequentially loads the f,g,h',i' models, which are neural network models corresponding to the fourth and fifth cooking steps (1040, 1060), in the order of f-g-f-g-h'-i'. Yes (T7).
  • FIG. 13 is a diagram illustrating an example in which a new cooking utensil is detected, according to one or more embodiments of the present disclosure.
  • Information about the recipe of the cooking menu selected by the user includes the first to fifth cooking steps 1010 to 1050, as described in FIGS. 10 to 12.
  • the electronic device 100 can identify the first cooking step 1010 (T1). That is, the electronic device 100 can identify the first cooking step 1010, which is the initial cooking step. Additionally, the electronic device 100 may identify the second cooking step 1020 as at least one neural network model after the first cooking step 1010 based on information about the recipe. For example, the electronic device 100 may identify the first cooking step and the second cooking step 1010 and 1020 (T2).
  • the electronic device 100 may sequentially load neural network models a, b, and c corresponding to the first and second cooking steps 1010 and 1020 in the order a-a-a-b-c (T3).
  • the neural network model a may be an object recognition model capable of recognizing cooking utensils.
  • the electronic device 100 may detect a new cooking utensil while monitoring context information (T4). In one or more embodiments, the electronic device 100 may detect a new cooking utensil that is not included in the context information through the neural network model a.
  • the electronic device 100 can change information about the recipe (T5). For example, the electronic device 100 changes the third cooking step 1030 associated with a new cooking utensil to a 3' cooking step 1070 and changes the fourth cooking step 1040 to a 4' cooking step 1080. ) can be changed to .
  • the electronic device 100 may determine the neural network model corresponding to the 3' cooking step 1070 as c', d', and f', and correspond to the 4' cooking step 1080.
  • the neural network model can be judged as f' and g.
  • the electronic device 100 may detect “Doing CC” corresponding to the third’ cooking step 1070 while monitoring the context information (T6).
  • the electronic device 100 may identify the 3' cooking step 1070 corresponding to "CC'ing" and the 4' cooking step 1080, which is a cooking step after the 3' cooking step 1070 ( T7).
  • the electronic device 100 uses neural network models c', d', f', and g models corresponding to the third' cooking step and the fourth' cooking step (1070, 1080) to c'-d-'f'-c. You can load sequentially in the order of '-d-'f'-g (T8).
  • FIG. 14 is a diagram illustrating an embodiment of reducing the number of neural network models loaded according to context information after loading neural network models corresponding to all cooking steps, according to one or more embodiments of the present disclosure.
  • Information about the recipe of the cooking menu selected by the user includes first to third cooking steps (1410 to 1430).
  • the neural network model for identifying performance of the first cooking step 1410 is neural network model a
  • the neural network model for identifying performance of the second cooking step 1420 is neural network model b, c
  • the third The neural network model for identifying the performance of the cooking step 1430 is the neural network model c, d, f.
  • the electronic device 100 can identify all cooking steps 1410 to 1430 (T1). That is, the electronic device 100 may initially identify all cooking steps 1410 to 1430 without identifying separate cooking steps.
  • the electronic device 100 may sequentially load a plurality of neural network models based on the weights of the neural network models corresponding to all cooking steps 1410 to 1430. For example, the electronic device 100 may sequentially load the neural network model in the order a-a-a-a-b-c-b-c-d-f (T2).
  • the electronic device 100 may detect “doing BB”, which is a cooking situation corresponding to the second cooking step 1420, while monitoring the context information (T3).
  • the electronic device 100 may identify cooking steps after the second cooking step 1420 corresponding to “Doing BB” and sequentially load a plurality of neural network models corresponding to the identified cooking steps. For example, the electronic device 100 may sequentially load the neural network model in the order b-c-b-c-d-f (T4).
  • the electronic device 100 may detect “doing CC”, which is a cooking situation corresponding to the third cooking step 1430, while monitoring the context information (T5).
  • the electronic device 100 may sequentially load a plurality of neural network models corresponding to the third cooking step 1430 corresponding to “Doing CC.” For example, the electronic device 100 may sequentially load the neural network model in the order d-f (T6).
  • the electronic device 100 can obtain context information using the neural network model as quickly and efficiently as possible within the on-device environment. .
  • FIG. 15 is a flowchart illustrating an example of controlling the operation of an electronic device based on context information, according to one or more embodiments of the present disclosure.
  • the electronic device 100 acquires context information (S1510).
  • the context information may be information about a cooking situation acquired by at least one neural network model, as described in step S350 of FIG. 3. For example, if the selected dish is “fried rice dish,” the electronic device 100 may acquire that the cooking utensil is a “stainless steel pen” or “coating pen” by a neural network model, and the heating port where the cooking utensil is located is “ You can obtain “3rd Fireball (133)”.
  • the electronic device 100 may search the knowledge graph included in the information about the recipe based on the context information (S1520). For example, the electronic device 100 may search for a node corresponding to a cooking step including context information among the knowledge graph included in information about the recipe. For example, if context information about the “stainless steel pen located in the third heating port 133” is obtained, the electronic device 100 may set the cooking step “ ⁇ stainless steel pen ⁇ ” that includes the information about the “stainless steel pen” to ⁇ medium-high heat.
  • the electronic device 100 displays the cooking step “ ⁇ coating pen ⁇ ” that includes the information about the “coating pen”.
  • the electronic device 100 can control the heating unit 130 based on the search result (1530).
  • the electronic device 100 may identify the cooking utensil where the cooking utensil is located based on context information. Then, the electronic device 100 identifies an operation stage (e.g., one of the first to ninth stages) of the heating unit 130 corresponding to the heat generation intensity corresponding to the searched node, and the operation time corresponding to the searched node. The operating time of the heating unit 130 can be identified to correspond to . Additionally, the electronic device 100 may control the identified cooking utensil to operate in the identified operation step during the identified operation time.
  • an operation stage e.g., one of the first to ninth stages
  • the electronic device 100 when context information about the “stainless steel pen located in the third heating port 133” is acquired, the electronic device 100 creates the 3 The burner 133 can be controlled to operate at the “sixth level” corresponding to medium-high heat for 5 minutes.
  • the electronic device 100 places ⁇ rice and vegetables ⁇ into the searched node “ ⁇ stainless steel pen ⁇ over ⁇ medium heat. Based on “stir-frying ⁇ ”, the third cooking pot 133 can be controlled to operate in the “fifth stage” corresponding to medium heat.
  • the electronic device 100 when context information about the “coating pen located in the third heating port 133” is obtained, the electronic device 100 performs a process based on the searched node “ ⁇ preheat ⁇ coating pen ⁇ for 30 seconds with high heat ⁇ ”. Thus, the third fire bowl 133 can be controlled to operate at the “eighth stage” corresponding to high heat for 30 seconds.
  • the electronic device 100 places ⁇ rice, vegetables ⁇ into the searched node “ ⁇ coating pen ⁇ .” Based on “stir-fry with fire ⁇ ”, the third cooking pot 133 can be controlled to operate in the “eighth stage” corresponding to high heat.
  • the electronic device 100 selects the searched node “the onion is transparent.” By determining that “stir-frying until browning” has been completed, the heating unit 130 can be controlled to stop the operation of the heating unit 130 or lower its temperature.
  • the electronic device 100 may actively control the heating unit 130 according to the acquired context information.
  • the electronic device 100 can identify and control the positions of the cooking utensils where the plurality of cooking utensils is performed. For example, when context information that first cooking is performed on the first cooking utensil 131 and second cooking is performed on the second cooking utensil 132 is obtained, the electronic device 100 may use the context information and recipe information based on the context information. As a result, the first fire bowl 131 and the second fire bowl 132 can be controlled to operate differently.
  • the electronic device 100 may control the operation of the heating unit 130 as well as the operation of other components (eg, a camera) according to context information. For example, when a cooking step (e.g., cutting vegetables) that requires sensing of a person's motion is identified according to the context information, the electronic device 100 determines the shooting position of the camera 111 to indicate where the person is located in the heating unit 130. You can control it to change to an area (for example, a shelf area).
  • a cooking step e.g., cutting vegetables
  • the electronic device 100 determines the shooting position of the camera 111 to indicate where the person is located in the heating unit 130. You can control it to change to an area (for example, a shelf area).
  • the electronic device 100 may automatically output a guidance message regarding the operation of the electronic device 100 before and after performing the operation of the electronic device 100. For example, before the electronic device 100 preheats the stainless steel pen over medium-high heat for 5 minutes, the electronic device 100 outputs the message “I will preheat the stainless steel pen over medium-high heat for 5 minutes” through the display or through the speaker. Alternatively, it can be transmitted to an external terminal device. In addition, after the electronic device 100 preheats the stainless steel pen over medium-high heat for 5 minutes, the electronic device 100 outputs the information message “The stainless steel pen has been preheated over medium-high heat for 5 minutes” through the display or through a speaker. Alternatively, it can be transmitted to an external terminal device.
  • the electronic device 100 may not automatically control the operation of the electronic device 100 according to user settings, but may only output a guidance message containing information about the operation of the electronic device 100. .
  • the electronic device 100 does not automatically control the operation of the electronic device 100 and only outputs a guidance message containing information about the operation of the electronic device 100. You can.
  • the electronic device 100 has been described as controlling the operation of the electronic device 100 based on context information and information about the recipe, but this is only one embodiment, and the electronic device 100 The operation of the electronic device 100 can be controlled based on context information.
  • the electronic device 100 may control the heating unit 130 to stop operation regardless of the information about the recipe.
  • the electronic device 100 was described as controlling the operation of the electronic device 100 or dynamically loading the neural network model according to context information acquired through the neural network model, but this may be only an embodiment. Additionally, the electronic device 100 may operate in conjunction with an external user terminal.
  • FIG. 16 is a diagram illustrating a control system including an electronic device and a user terminal, according to one or more embodiments of the present disclosure.
  • the control system 10 may include an electronic device 100 and a user terminal 1600.
  • the user terminal 1600 may include a user command for selecting a cooking menu, a user command for controlling the operation of the electronic device 100, and a current cooking state through an application for controlling the electronic device 100. User commands, etc. to check can be received.
  • the user terminal 1600 may control the operation of the electronic device 100 according to the received user command.
  • the user terminal 1600 may transmit information about the selected cooking menu to the electronic device 100.
  • the electronic device 100 may obtain information about the recipe based on the received information about the selected cooking menu.
  • the user terminal 1600 may transmit information about the recipe of the selected dish menu together with information about the selected dish menu.
  • the user terminal 1600 may transmit information for controlling the operation of the electronic device 100 to the electronic device 100. For example, when the icon 1710 corresponding to the electronic device 100 is selected while the UI screen as shown in FIG. 17 is displayed, the user terminal 1600 performs a function to control the operation of the electronic device 100. The control screen can be displayed.
  • the user terminal 1600 may transmit information corresponding to the selected command to the electronic device 100. For example, when a user command to stop the operation of the heating unit 130 is input, the user terminal 1600 may transmit information containing the information “stop the operation of the heating unit 130” to the electronic device 100. there is.
  • the user terminal 1600 may transmit a signal requesting information about the current cooking state to the electronic device 100.
  • the user terminal 1600 displays a UI screen (as shown in FIG. 18) based on the information about the current cooking state received from the electronic device 100. 1810) can be displayed.
  • the UI screen 1810 may include information about the current cooking stage and information about the control status and cooking status of the plurality of cooking utensils 131 to 133.
  • the electronic device 100 transmits the current cooking state to the user terminal 1600.
  • the electronic device 100 may transmit information about the current cooking state to the user terminal 1600 at a preset cycle.
  • the electronic device 100 may transmit information about the current cooking state to the user terminal 1600 when a cooking step end event or a cooking end event occurs.
  • the user can easily control the electronic device 100 or check information about the cooking status remotely. .
  • a plurality of neural network models are stored in the electronic device 100, but this is only one embodiment, and at least some neural network models may be stored in the server 10, and the electronic device ( 100) may receive a neural network model from the server 10 and obtain context information.
  • Figure 19 is a sequence diagram for explaining a control method of a system that performs a cooking operation based on context information, according to one or more embodiments of the present disclosure.
  • the user terminal 200 may receive a user input for selecting a cooking menu (S1905).
  • the user input for selecting a cooking menu may be a user input in which the user directly enters text for the cooking menu or selects an icon, but this is only one embodiment, and identification information of the cooking menu (e.g., It may be a user input that takes a picture (QR code, barcode, etc.).
  • the user terminal 200 may transmit information about the cooking menu to the electronic device 100 (S1910).
  • the electronic device 100 may obtain information about the recipe corresponding to the selected cooking menu (S1915). In one or more embodiments, the electronic device 100 may obtain information about a recipe pre-stored in the memory 120, but this is only one embodiment and may receive information about the recipe from an external recipe server. You can.
  • the electronic device 100 can identify the cooking step (S1920). In one or more embodiments, the electronic device 100 may identify the first cooking step and at least one cooking step to be performed after the first cooking step, as described in FIGS. 3 to 5 .
  • the electronic device 100 may search the neural network model stored in the electronic device 100 (S1925). Specifically, the electronic device 100 configures at least one of the plurality of pre-stored neural network models based on information about the first cooking step and at least one cooking step to be performed after the first cooking step, corresponding to the identified cooking steps. You can search for neural network models. At this time, the information about the first cooking step and at least one cooking step to be performed after the first cooking step includes information about ⁇ food ingredients ⁇ , ⁇ cooking utensils ⁇ , and ⁇ action ⁇ included in the nodes corresponding to each cooking step. It can be included.
  • the electronic device 100 sends the server 10 to the cooking step.
  • Information can be transmitted (S1930).
  • the electronic device 100 may transmit information about the first cooking step and at least one cooking step to be performed after the first cooking step to the server 10.
  • the electronic device 100 may currently transmit identification information about the electronic device 100, resource information, and surrounding environment information (eg, illuminance value).
  • the server 10 may search for a neural network model based on the received information (S1940).
  • the server 10 may provide information about ⁇ ingredients ⁇ cooking utensil ⁇ action ⁇ included in the node corresponding to the first cooking step and at least one cooking step to be performed after the first cooking step.
  • At least one neural network model that can output matching output data can be searched.
  • the server 10 may retrieve at least one neural network model with resources or capabilities corresponding to the electronic autonomy 100 based on the identification information, resource information, and surrounding environment information of the electronic device 100. You can.
  • the server 10 may transmit information about the searched neural network model to the electronic device 100 (S1945).
  • the electronic device 100 may load the neural network model (S1950) ). In one or more embodiments, the electronic device 100 may load at least one of at least one neural network model retrieved from the electronic device 100 and at least one neural network model received from the server 10. In one or more embodiments, the electronic device 100 may simultaneously load or sequentially load at least one neural network model, as described in FIG. 6 .
  • the electronic device 100 may acquire context information (S1955).
  • the electronic device 100 may acquire context information about the current cooking situation by inputting sensing data into at least one loaded neural network model.
  • the electronic device 100 may transmit context information to the user terminal 200 (1960), and the user terminal 200 may display the context information (S1965).
  • the user terminal 200 may display context information through the UI 1810 as shown in FIG. 18.
  • the electronic device 100 may control the operation of the electronic device 100 based on context information (S1970). For example, the electronic device 100 may control the operation of the electronic device 100 based on context information, as described in FIG. 15 .
  • Functions related to artificial intelligence according to the present disclosure are operated through the processor and memory of the electronic device 100.
  • the processor may consist of one or multiple processors.
  • one or more processors may include at least one of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), and a Neural Processing Unit (NPU), but are not limited to the examples of processors described above.
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • NPU Neural Processing Unit
  • CPU is a general-purpose processor that can perform not only general calculations but also artificial intelligence calculations, and can efficiently execute complex programs through a multi-layer cache structure. CPUs are advantageous for serial processing, which allows organic connection between previous and next calculation results through sequential calculations.
  • the general-purpose processor is not limited to the above-described examples, except where specified as the above-described CPU.
  • GPU is a processor for large-scale operations such as floating-point operations used in graphics processing, and can perform large-scale operations in parallel by integrating a large number of cores.
  • GPUs may be more advantageous than CPUs in parallel processing methods such as convolution operations.
  • the GPU can be used as a co-processor to supplement the functions of the CPU.
  • the processor for mass computation is not limited to the above-described example, except for the case specified as the above-described GPU.
  • NPU is a processor specialized in artificial intelligence calculations using artificial neural networks, and each layer that makes up the artificial neural network can be implemented in hardware (e.g., silicon). At this time, the NPU is designed specifically according to the company's requirements, so it has a lower degree of freedom than a CPU or GPU, but can efficiently process artificial intelligence calculations requested by the company. Meanwhile, as a processor specialized for artificial intelligence calculations, NPU can be implemented in various forms such as TPU (Tensor Processing Unit), IPU (Intelligence Processing Unit), and VPU (Vision processing unit).
  • the artificial intelligence processor is not limited to the examples described above, except where specified as the NPU described above.
  • one or more processors may be implemented as a System on Chip (SoC).
  • SoC System on Chip
  • the SoC may further include memory and a network interface such as a bus for data communication between the processor and memory.
  • the electronic device uses some of the processors to perform artificial intelligence-related operations (for example, learning of an artificial intelligence model). or operations related to inference) can be performed.
  • an electronic device can perform operations related to artificial intelligence using at least one of a plurality of processors, a GPU, NPU, VPU, TPU, or hardware accelerator specialized for artificial intelligence operations such as convolution operation, matrix multiplication operation, etc. there is.
  • this is only an example, and of course, calculations related to artificial intelligence can be processed using general-purpose processors such as CPUs.
  • electronic devices can perform calculations on functions related to artificial intelligence using multiple cores (eg, dual core, quad core, etc.) included in one processor.
  • electronic devices can perform artificial intelligence operations such as convolution operations and matrix multiplication operations in parallel using multi-cores included in the processor.
  • One or more processors control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory.
  • Predefined operation rules or artificial intelligence models are characterized by being created through learning.
  • being created through learning means that a predefined operation rule or artificial intelligence model with desired characteristics is created by applying a learning algorithm to a large number of learning data.
  • This learning may be performed on the device itself that performs the artificial intelligence according to the present disclosure, or may be performed through a separate server/system.
  • An artificial intelligence model may be composed of multiple neural network layers. At least one layer has at least one weight value, and the operation of the layer is performed using the operation result of the previous layer and at least one defined operation.
  • Examples of neural networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), and Deep Neural Network (BRDNN).
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Restricted Boltzmann Machine
  • BBM Restricted Boltzmann Machine
  • BBN Deep Belief Network
  • BBN Deep Belief Network
  • BBN Bidirectional Recurrent Deep Neural Network
  • BDN Deep Neural Network
  • BDN Deep Neural Network
  • a learning algorithm is a method of training a target device (eg, a robot) using a large number of learning data so that the target device can make decisions or make predictions on its own.
  • Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified. Except, it is not limited to the examples described above.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
  • a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
  • at least a portion of the computer program product e.g., a downloadable app
  • a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
  • Methods according to various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage media that can be read by a machine (e.g., a computer).
  • the device stores information stored from the storage medium.
  • a device capable of calling a command and operating according to the called command may include an electronic device (eg, a TV) according to the disclosed embodiments.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as .
  • a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
  • the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor.
  • Instructions may contain code generated or executed by a compiler or interpreter.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Mechanical Engineering (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Food Science & Technology (AREA)
  • Strategic Management (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Electromagnetism (AREA)
  • Electric Stoves And Ranges (AREA)

Abstract

전자 장치는 요리 메뉴를 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득할 수 있는 적어도 하나의 프로세서를 포함한다. 적어도하나의 프로세서는 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별할 수 있다.. 적어도 하나의 프로세서는 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다. 적어도 하나의 프로세서는 센싱 데이터를 적어도 하나의 제1 신경망 모델에 입력하여 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득할 수 있으며, 레시피에 대한 정보 및 컨텍스트 정보에 기초하여 전자 장치의 동작을 제어할 수 있다. 적어도 하나의 프로세서는 신경망 모델 변경 이벤트에 기초하여적어도 하나의 제2 신경망 모델을 로딩할 수 있다.

Description

전자 장치 및 전자 장치의 제어 방법
본 개시는 전자 장치 및 전자 장치의 제어 방법에 관한 것으로서, 구체적으로는 센싱 정보에 기초하여 동작할 수 있는 전자 장치 및 이의 제어 방법에 관한 것이다.
근래에는 전기 쿡탑(cooktop) 또는 전기 레인지(electric stove) 등의 사용이 증가하고 있으며, 특히 최근 인공 지능(artificial intelligence, AI) 관련 기술과 IoT(Internet of Things) 관련 기술의 발전에 따라 쿡탑과 같은 장치들을 자동으로 제어하는 기술에 대한 발전 또한 가속화되고 있다.
관련 기술로서, 쿡탑에 대한 이미지를 이용하여 쿡탑을 자동으로 제어하는 기술은 존재하지만, 관련 기술에 대해서는 요리 상황을 나타내는 다양한 정보들을 종합적으로 고려함으로써 레시피의 각 단계에 필요한 제어를 효과적으로 수행하지는 못한다는 한계가 지적되고 있다.
예를 들어, 관련 기술의 경우에는 사용자가 선택한 요리 기구의 종류나 사용자의 요리 이력 등에 따라 요리 메뉴의 레시피가 변경되는 경우를 고려하여 쿡탑을 자동으로 제어하지는 못한다는 한계가 있다.
또한, 관련 기술의 경우에는 현재 요리 상황에 기초하여 적절한 요리를 수행하기 위해 필요한 신경망 모델들 중에서 각각의 요리 단계에서 필요한 신경망 모델만을 선택적으로 로딩하거나 선택적으로 이용하는 방법에 대해서는 고려하고 있지 않는다는 한계가 있다.
본 개시의 일 실시예에 따른, 전자 장치는, 적어도 하나의 센서; 복수의 신경망 모델을 저장하는 메모리; 및 요리 메뉴를 선택하는 사용자 입력이 수신되면, 상기 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득하고, 상기 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하며, 상기 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩하고, 상기 적어도 하나의 센서를 통해 상기 제1 요리 단계에 대응되는 센싱 데이터를 획득하며, 상기 획득된 센싱 데이터를 상기 적어도 하나의 제1 신경망 모델에 입력하여 상기 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득하며, 상기 레시피에 대한 정보 및 상기 컨텍스트 정보에 기초하여 상기 전자 장치의 동작을 제어하고, 상기 컨텍스트 정보에 기초하여 신경망 모델 변경 이벤트를 감지하고, 상기 신경망 모델 변경 이벤트가 감지되면, 상기 컨텍스트 정보 및 상기 전자 장치의 리소스 정보에 기초하여 상기 복수의 신경망 모델 중 적어도 하나의 제2 신경망 모델을 로딩하는 적어도 하나의 프로세서;를 포함한다.
상기 신경망 모델 변경 이벤트는 상기 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트이며, 상기 적어도 하나의 프로세서는, 상기 컨텍스트 정보에 기초하여 상기 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하며, 상기 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩한다.
적어도 하나의 프로세서는, 상기 컨텍스트 정보 및 상기 레시피에 대한 정보에 기초하여 상기 레시피에 대한 정보를 변경할지 여부를 결정하고, 상기 레시피에 대한 정보가 변경되는 것으로 판단되면, 상기 변경된 레시피에 대한 정보를 획득하며, 상기 컨텍스트 정보에 기초하여 상기 변경된 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제3 요리 단계 및 상기 제3 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하고, 상기 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제3 요리 단계 및 상기 제3 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제3 신경망 모델을 로딩한다.
상기 적어도 하나의 프로세서는, 상기 제1 요리 단계와 상기 제2 요리 단계 사이에 중간 요리 단계가 존재하는지 여부를 판단하고, 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 존재하지 않으면, 상기 레시피에 대한 정보가 변경되지 않는 것으로 결정하고, 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 존재하면, 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 상기 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계인지 여부를 판단하고, 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 상기 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계라고 판단되면, 상기 레시피에 대한 정보가 변경되는 것으로 결정한다.
상기 신경망 모델 변경 이벤트는 상기 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구를 감지하는 이벤트이며, 상기 적어도 하나의 프로세서는, 상기 컨텍스트 정보에 기초하여 상기 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구가 감지되면, 상기 새로운 조리 기구에 기초하여 상기 레시피에 대한 정보를 변경하고, 상기 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 적어도 하나의 제4 신경망 모델을 로딩하며, 이때, 상기 적어도 하나의 신경망 모델은 제4 요리 단계 및 상기 제4 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응된다.
상기 적어도 하나의 프로세서는, 상기 레시피에 대한 정보에 포함된 제1 요리 단계를 식별하고, 상기 레시피에 대한 정보에 기초하여 상기 제1 요리 단계 이후의 하나 이상의 요리 단계들이 수행될 확률에 대한 정보를 획득하고, 상기 제1 요리 단계 이후의 상기 하나 이상의 요리 단계들이 수행될 확률에 대한 정보에 기초하여, 상기 제1 요리 단계 이후의 요리 단계들 중 상기 적어도 하나의 요리 단계를 식별한다.
상기 레시피에 대한 정보는 상기 선택된 요리 메뉴에 대응되는 레시피를 나타내는 지식 그래프(knowledge graph)를 포함하고, 상기 지식 그래프는 상기 레시피에 따라 상기 요리 메뉴를 완성하기 위한 복수의 요리 단계를 나타내는 복수의 노드(node) 및 복수의 요리 단계 사이의 선후 관계를 나타내는 복수의 간선(edge)를 포함하며, 상기 적어도 하나의 프로세서는, 상기 제1 요리 단계를 나타내는 노드와 상기 제1 요리 단계 이후의 하나 이상의 요리 단계들을 나타내는 노드들 사이의 거리에 기초하여 상기 제1 요리 단계 이후의 요리 단계가 수행될 확률에 대한 정보를 획득한다.
상기 적어도 하나의 프로세서는, 상기 적어도 하나의 제1 신경망 모델의 개수가 복수 개인 경우, 상기 복수의 제1 신경망 모델 각각을 실행하기 위해 필요한 리소스를 식별하며, 상기 전자 장치의 리소스 및 상기 복수의 제1 신경망 모델 각각을 실행하기 위해 필요한 리소스에 기초하여 상기 복수의 제1 신경망 모델 중 동시에 로딩할 신경망 모델의 개수를 결정하며, 상기 복수의 제1 신경망 모델 중 각각의 제1 신경망 모델은 상기 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되며, 상기 복수의 제1 신경망 모델은 상기 복수의 신경망 모델에 포함된다.
상기 적어도 하나의 프로세서는, 상기 제1 요리 단계 이후의 요리 단계가 수행될 확률에 대한 정보에 기초하여 상기 복수의 제1 신경망 모델의 가중치를 결정하고, 상기 결정된 가중치에 따라 상기 복수의 제1 신경망 모델 각각을 순차적으로 로딩하며 상기 센싱 데이터를 상기 순차적으로 로딩된 복수의 제1 신경망 모델에 입력하여 상기 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득한다.
상기 적어도 하나의 센서는, 상기 전자 장치 주변의 조도값을 센싱하기 위한 조도 센서를 더 포함하며, 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 센서의 유형 및 상기 조도 센서로부터 획득된 조도값 중에 적어도 하나에 기초하여 상기 복수의 신경망 모델 중 상기 적어도 하나의 제1 신경망 모델을 로딩하며, 이때, 상기 적어도 하나의 신경망 모델은 상기 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응된다.
본 개시의 일 실시예에 따른, 전자 장치의 제어 방법은, 요리 메뉴를 선택하는 사용자 입력이 수신되면, 상기 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득하는 단계; 상기 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하는 단계; 상기 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩하는 단계; 적어도 하나의 센서를 통해 상기 제1 요리 단계에 대응되는 센싱 데이터를 획득하는 단계; 상기 획득된 센싱 데이터를 상기 적어도 하나의 제1 신경망 모델에 입력하여 상기 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득하는 단계; 상기 레시피에 대한 정보 및 상기 컨텍스트 정보에 기초하여 상기 전자 장치의 동작을 제어하는 단계; 상기 컨텍스트 정보에 기초하여 신경망 모델 변경 이벤트를 감지하는 단계; 및 상기 신경망 모델 변경 이벤트가 감지되면, 상기 컨텍스트 정보 및 상기 전자 장치의 리소스 정보에 기초하여 상기 복수의 신경망 모델 중 적어도 하나의 제2 신경망 모델을 로딩하는 단계;를 포함한다.
상기 신경망 모델 변경 이벤트는 상기 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트이며, 상기 적어도 하나의 제2 신경망 모델을 로딩하는 단계는, 상기 컨텍스트 정보에 기초하여 상기 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하는 단계; 및 상기 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩하는 단계;를 포함한다.
상기 적어도 하나의 제2 신경망 모델을 로딩하는 단계는, 상기 컨텍스트 정보 및 상기 레시피에 대한 정보에 기초하여 상기 레시피에 대한 정보를 변경할지 여부를 결정하는 단계; 상기 레시피에 대한 정보가 변경되는 것으로 판단되면, 상기 변경된 레시피에 대한 정보를 획득하는 단계; 상기 컨텍스트 정보에 기초하여 상기 변경된 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제3 요리 단계 및 상기 제3 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하는 단계; 상기 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제3 요리 단계 및 상기 제3 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제3 신경망 모델을 로딩하는 단계;를 포함한다.
상기 레시피에 대한 정보를 변경할지 여부를 결정하는 단계는, 상기 제1 요리 단계와 상기 제2 요리 단계 사이에 중간 요리 단계가 존재하는지 여부를 판단하는 단계; 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 존재하지 않으면, 상기 레시피에 대한 정보가 변경되지 않는 것으로 결정하는 단계; 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 존재하면, 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 상기 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계인지 여부를 판단하는 단계; 및 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 상기 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계라고 판단되면, 상기 레시피에 대한 정보가 변경되는 것으로 결정하는 단계;를 포함한다.
상기 신경망 모델 변경 이벤트는 상기 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구를 감지하는 이벤트이며, 상기 적어도 하나의 제2 신경망 모델을 로딩하는 단계는, 상기 컨텍스트 정보에 기초하여 상기 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구가 감지되면, 상기 새로운 조리 기구에 기초하여 상기 레시피에 대한 정보를 변경하는 단계; 및 상기 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 적어도 하나의 제4 신경망 모델을 로딩하는 단계;를 포함하며 이때, 상기 적어도 하나의 신경망 모델은 제4 요리 단계 및 상기 제4 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응된다.
본 발명의 특정 실시예의 상기 및 다른 측면, 특징 및 이점은 첨부된 도면과 함께 다음의 설명으로부터 더욱 명백해질 것이다.
도 1은 본 개시의 하나 이상의 실시예에 따른, 전자 장치의 외관을 도시한 도면,
도 2a는 본 개시의 하나 이상의 실시예에 따른, 전자 장치의 구성을 포함하는 블록도,
도 2b는 본 개시의 하나 이상의 실시예에 따른, 발열부를 도시한 도면,
도 2c는 본 개시의 하나 이상의 실시예에 따른, 디스플레이를 도시한 도면,
도 2d는 본 개시의 하나 이상의 실시예에 따른, 전자 장치의 구성을 포함하는 블록도,
도 3은 본 개시의 하나 이상의 실시예에 따른, 레시피에 대한 정보 및 컨텍스트 정보에 따라, 전자 장치를 제어하고 신경망 모델을 로딩하는 방법을 설명하기 위한 흐름도,
도 4a는 본 개시의 하나 이상의 실시예에 따른, 지식 그래프 형태의 레시피에 대한 정보를 설명하기 위한 도면,
도 4b는 본 개시의 하나 이상의 실시예에 따른, 레시피에 대한 정보에 포함된 신경망 모델에 대한 정보를 설명하기 위한 도면,
도 5는 본 개시의 하나 이상의 실시예에 따른, 요리 단계를 식별하는 방법을 설명하기 위한 흐름도,
도 6은 본 개시의 하나 이상의실시예에 따른, 제1 신경망 모델을 로딩하는 방법을 설명하기 위한 흐름도,
도 7a은 본 개시의 하나 이상의 실시예에 따른, 복수의 신경망 모델을 동시에 로딩하는 실시예를 설명하기 위한 도면,
도 7b은 본 개시의 하나 이상의 실시예에 따른, 복수의 신경망 모델을 순차적으로 로딩하는 실시예를 설명하기 위한 도면,
도 8는 본 개시의 하나 이상의 실시예에 따른, 신경망 모델 변경 이벤트에 따라 제2 신경망 모델을 로딩하는 방법을 설명하기 위한 흐름도,
도 9은 본 개시의 하나 이상의 실시예에 따른, 레시피에 대한 정보를 변경하는 실시예를 설명하기 위한 흐름도,
도 10 내지 도 14는 본 개시의 하나 이상의 실시예에 따른, 신경망 모델 변경 이벤트에 따라 신경망 모델을 동적으로 로딩하는 실시예를 설명하기 위한 도면,
도 15는 본 개시의 하나 이상의 실시예에 따른, 컨텍스트 정보에 기초하여 전자 장치의 동작을 제어하는 실시예를 설명하기 위한 흐름도,
도 16은 본 개시의 하나 이상의 실시예에 따른, 전자 장치 및 사용자 단말을 포함하는 제어 시스템을 도시한 도면,
도 17 및 도 18은 본 개시의 하나 이상의 실시예에 따른, 전자 장치를 제어하기 위한 사용자 단말의 UI 화면을 도시한 도면들, 그리고,
도 19는 본 개시의 하나 이상의 실시예에 따른, 컨텍스트 정보에 기초하여 요리 동작을 수행하는 시스템의 제어 방법을 설명하기 위한 시퀀스도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(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 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((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)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 하나 이상의 실시예에 따른, 전자 장치(100)를 도시한 도면이다. 도 1에 도시된 바와 같이, 전자 장치(100)는 쿡탑(cooktop), 가스 레인지(gas stove) 또는 전기 레인지(electric stove), 오븐 등과 같이, 발열부를 포함하는 주방 기기로 구현될 수 있다. 또한, 전자 장치(100)는 발열부 이외에 발열부 상단에 위치하여 연기나 냄새를 외부로 배출하기 위한 후드를 더 포함할 수 있다.
예를 들어, 전자 장치(100)는 요리 메뉴를 선택하는 사용자 입력이 수신되면, 선택된 요리 메뉴의 레시피에 대한 정보를 획득할 수 있다. 하나 이상의 실시예에서, '레시피에 대한 정보' 는 요리 메뉴를 완성하기 위한 레시피의 각 단계를 나타내는 정보를 포함할 수 있으며, 복수의 요리 단계에 대한 정보를 포함할 수 있다.
그리고, 전자 장치(100)는 적어도 하나의 센서를 이용하여 컨텍스트 정보를 획득할 수 있다. 예를 들어, 전자 장치(100)는 도 1에 도시된 바와 같이, 후드에 설치된 카메라 또는 마이크를 통해 수집된 센싱 데이터를 신경망 모델에 입력하여 현재 요리 상황에 대한 컨텍스트 정보를 획득할 수 있다. 하나 이상의 실시예에서, 컨텍스트 정보는 센싱 데이터에 포함된 요리 상황을 나타내는 정보를 총칭하는 용어로서, 센싱 데이터(예로, 이미지 데이터, 오디오 데이터)에 포함된 식재료의 유형 또는 상태, 조리 용기의 유형, 전자 장치(100)의 주변 환경(예로, 주변 밝기 등), 사용자 행위 또는 발열부에 대한 정보 등이 포함될 수 있다.
전자 장치(100)는 획득된 레시피에 대한 정보 및 컨텍스트 정보에 따라 선택된 요리 메뉴를 수행하기 위하여 전자 장치(100) 의 동작을 제어할 수 있다. 예를 들어, 전자 장치(100)는 레시피에 대한 정보 또는 컨텍스트 정보에 따라 발열부의 발열 온도, 발열 시간 및 동작 여부(on/off) 등을 제어할 수 있다. 전자 장치(100)는 사용자의 입력없이 이러한 동작을 자동을 수행할 수 있다.
하나 이상의 실시예에서, 컨텍스트 정보를 획득하기 위하여, 전자 장치(100)는 적어도 하나의 신경망 모델을 로딩할 수 있다. 다만, 온 디바이스(on-device) 환경 상 전자 장치(100)는 선택된 요리 메뉴를 수행하기 위하여 필요한 복수의 신경망 모델 모두를 동시에 로딩하기에는 리소스의 제약이 존재한다. 뿐만 아니라, 선택된 요리 메뉴를 수행하기 위하여 필요한 복수의 신경망 모델 모두를 동시에 로딩할 경우, 전자 장치(100)의 처리 속도가 현저하게 감소될 수 있다.
따라서, 본 개시의 하나 이상의 실시예에 따르면, 전자 장치(100)는 레시피에 대한 정보, 전자 장치(100)의 리소스 정보 및 요리 상황을 나타내는 컨텍스트 정보 중 적어도 하나에 기초하여 복수의 신경망 모델 중 각각의 요리 단계에서 필요한 신경망 모델만을 선택적으로 로딩할 수 있다. 이에 의해, 전자 장치(100)는 신경망 모델의 로딩과 처리를 위한 리소스를 현저하게 감소시킬 수 있게 된다. 즉, 하나 이상의 신경망 모델을 모두 동시에 로딩하기 위한 메모리 용량이나 프로세싱 능력이 충분히 크지 않은 전자 장치(100)에서도, 온 디바이스(on-device)로 신경망 모델을 이용하여 요리 상황을 실시간으로 식별하고 식별된 요리 상황에 대응되는 제어를 수행할 수 있게 된다.
그러나, 본 기술분야의 당업자라면 전자 장치(100)가 발열부를 포함하는 주방 기기로 구현되는 것은 일 실시예에 불과할 뿐, 후드, 사용자 단말(예로, 스마트 폰) 또는 서버 등으로 구현될 수 있음을 이해할 수 있다. 예를 들어, 전자 장치(100)는 전자 장치(100)에 연결된 외부 장치의 발열부를 원격으로 제어할 수 있는 장치일 수도 있다. 예를 들어, 전자 장치(100)는 스마트 폰 또는 태블릿 PC 등과 같은 휴대용 단말이나, TV 또는 냉장고 등과 같은 가전 제품, 그리고 서버 등으로 구현될 수도 있으며, 하나 이상의 실시예에 따른 전자 장치(100)는 발열부를 포함하는 외부 장치와의 통신 연결을 통해 외부 장치의 동작을 제어할 수 있다.
이하에서는 도면을 참조하여 본 개시의 하나 이상의 실시예에 따른, 레시피에 대한 정보와 요리 상황을 나타내는 컨텍스트 정보에 기초하여 동작할 수 있는 전자 장치(100)에 대해 더욱 상세히 설명하기로 한다.
도 2a는 본 개시의 하나 이상의 실시예에 따른, 전자 장치의 구성을 포함하는 블록도이다. 도 2a에 도시된 바와 같이, 전자 장치(100)는 적어도 하나의 센서(110), 메모리(120), 발열부(130), 통신 인터페이스(140), 입력 인터페이스(150), 출력부(160) 및 적어도 하나의 프로세서(170)를 포함할 수 있다. 한편, 도 2a에서 전자 장치(100)는 쿡탑 및 후드를 포함하는 주방 기기로 구현되는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)의 구현 예에 따라 일부 구성이 삭제되거나 추가될 수 있음은 물론이다.
적어도 하나의 센서(110)는 전자 장치(100) 내부 및 외부의 다양한 정보를 감지할 수 있다. 하나 이상의 실시예에서, 본 개시에 따른 적어도 하나의 센서(110)는 도 2a에 도시된 바와 같이, 카메라(111), 마이크(113) 및 조도 센서(115) 등을 포함할 수 있다.
카메라(111)는 이미지 센서를 통해 전자 장치(100) 내부 및 외부에 대한 이미지(이미지 데이터)를 획득할 수 있다. 예를 들어, 카메라(111)는 전자 장치(100)의 발열부(130) 및 전자 장치(100) 주변에 위치하는 조리대나 사용자를 촬영할 수 있도록 발열부(130) 상단의 후드에 위치할 수 있으며, 복수의 영역 중 각각의 영역을 촬영하기 위하여 복수 개가 구비될 수 있다. 카메라(111)를 통해 획득된 이미지는 탑 뷰(top-view) 이미지 또는 탑 뷰 이미지에 가까운 각도로 촬영된 이미지일 수 있다. 그리고, 복수의 신경망 모델 중 적어도 하나의 모델은 탑 뷰 이미지 또는 탑 뷰 이미지에 가까운 각도로 촬영된 이미지에 기초하여 학습될 수 있다.
마이크(113)는 오디오(오디오 데이터)를 획득할 수 있다. 하나 이상의 실시예에서, 마이크(113)는 발열부(130) 또는 후드에 위치할 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)와 전기적으로 연결되어 주방 내의 일 영역에 위치할 수 있다. 하나 이상의 실시예에서, 복수의 마이크(113)가 복수의 영역에서 발생하는 오디오를 수집하기 위하여 구비될 수 있다.
조도 센서(115)는 전자 장치(100) 주변 환경의 조도를 나타내는 조도 데이터를 획득할 수 있다.
한편, 도 2a에서는 적어도 하나의 센서(110)가 복수의 센서를 포함하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 카메라(111), 마이크(113), 조도 센서(115) 만을 포함할 수 있다. 뿐만 아니라, 적어도 하나의 센서(110) 는 온도 센서, 습도 센서, 적외선 센서, 바이오 센서 등과 같은 다양한 종류의 센서를 더 포함할 수도 있다.
본 개시에 따른 하나 이상의 실시 예에 있어서, 적어도 하나의 프로세서(170)는 적어도 하나의 센서(110)를 통해 센싱 데이터를 획득하고, 센싱 데이터를 복수의 신경망 모델 중 적어도 하나의 신경망 모델에 입력하여 본 개시에 따른 컨텍스트 정보를 획득할 수 있다. 예를 들어, 센싱 데이터가 카메라(111)를 통해 획득한 이미지 데이터인 경우, 적어도 하나의 프로세서(170)는 이미지 데이터를 오브젝트 인식 모델에 입력하여, 이미지에 포함된 식재료에 대한 정보 및 요리 기구에 대한 정보 등을 획득할 수 있다. 또한, 적어도 하나의 프로세서(170)는 이미지 데이터를 행위 인식 모델에 입력하여, 이미지에 포함된 사용자의 행위에 대한 정보를 획득할 수도 있다. 또한, 센싱 데이터가 마이크(113)를 통해 획득한 오디오 데이터인 경우, 적어도 하나의 프로세서(170)는 사운드 데이터를 소리 인식 모델에 입력하여, 오디오 데이터에 포함된 소리의 유형에 대한 정보를 획득할 수 있다. 예를 들어, 사운드 데이터는 아이템을 볶거나 야채를 자르는 것과 같은 요리 상황과 연관될 수 있다.
메모리(120)는 전자 장치(100)를 제어하기 위한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 그리고, 메모리(120)에는 전자 장치(100)를 구동시키기 위한 O/S(Operating System)가 저장될 수 있다. 또한, 메모리(120)에는 본 개시의 다양한 실시 예들에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수도 있다. 그리고, 메모리(120)는 플래시 메모리(120)(Flash Memory) 등과 같은 반도체 메모리(120)나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
하나 이상의 실시예에서, 메모리(120)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 소프트웨어 모듈이 저장될 수 있으며, 적어도 하나의 프로세서(170)는 메모리(120)에 저장된 각종 소프트웨어 모듈을 실행하여 전자 장치(100)의 동작을 제어할 수 있다. 예를 들어, 메모리(120)는 프로세서에 의해 액세스되며, 프로세서에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
본 개시에 따른 메모리(120)는 비휘발성 메모리 및 휘발성 메모리를 포함할 수 있다. 하나 이상의 실시예에서, 비휘발성 메모리는 전력 공급이 중단되더라도 저장된 정보를 유지할 수 있는 메모리를 말하며, 휘발성 메모리는 저장된 정보를 유지하기 위해서는 지속적인 전력 공급이 필요한 메모리를 말한다. 본 개시에 따른 로딩이란 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미할 수 있다. 본 개시에 따른 휘발성 메모리는 적어도 하나의 프로세서(170)와 구별되는 별개의 구성으로 구현될 수 있을 뿐만 아니라, 적어도 하나의 프로세서(170)의 일 구성요소로서 구현될 수도 있다.
또한, 메모리(120)에는 본 개시에 따른 복수의 신경망 모델에 대한 데이터를 저장할 수 있다. 특히, 메모리(120) 중 비휘발성 메모리에 복수의 신경망 모델에 대한 데이터가 저장될 수 있다. 또한, 메모리(120)는 외부 서버로부터 수신된 복수의 신경망 모델에 대한 데이터를 저장할 수 있다. 한편, 하나의 요리 단계에는 하나의 신경망 모델이 대응될 수 있으나, 이는 일 실시예에 불과할 뿐, 복수의 신경망 모델이 대응될 수 있다. 이때, 복수의 신경망 모델이 요리 단계에 대응될 경우, 복수의 신경망 모델은 신경망 모델 세트(set) 또는 신경망 모델 그룹(group)으로 명명될 수 있다.
한편, 또 다른 실시예에 따르면, 메모리(120)는 복수의 신경망 모델을 저장하지 않고, 전자 장치(100)에 의해 식별된 요리 단계에 대응되는 적어도 하나의 신경망 모델을 외부 서버로부터 요청하여 메모리(120)(예로, 휘발성 메모리)에 저장될 수 있다.
또한, 메모리(120)는 레시피에 대한 정보, 센싱 데이터 및 컨텍스트 정보 등이 저장될 수 있다. 또한, 메모리(120)에는 본 개시에 따른 사용자 데이터, 신경망 모델에 할당되는 가중치에 대한 정보 및 특정 요리 단계 이후에 요리 단계들이 수행될 확률에 대한 정보 등이 저장될 수 있다.
그 밖에도 본 개시의 목적을 달성하기 위한 범위 내에서 필요한 다양한 정보가 메모리(120)에 저장될 수 있으며, 메모리(120)에 저장된 정보는 서버 또는 외부 장치로부터 수신되거나 사용자에 의해 입력됨에 따라 갱신될 수도 있다.
발열부(130)는 음식물 또는 요리 메뉴에 이용되는 하나 이상의 아이템(예로, 재료)을 가열할 수 있는 구성을 말한다. 예를 들어, 전자 장치(100)가 전기 레인지로 구현되는 경우 발열부(130)는 전력의 공급에 의해 발열할 수 있으며 이 때의 열원은 래디언트 히터 또는 인덕션 히터 등일 수 있다. 전자 장치(100)가 가스 레인지로 구현되는 경우, 발열부(130)는 가스의 공급에 의해 발열할 수 있다. 발열부(130)를 동작시키거나 발열부(130)의 발열 온도 및 발열 시간은 사용자 입력에 기초하여 수행될 수도 있으나, 특히 본 개시의 다양할 실시 예에 있어서는 적어도 하나의 프로세서(170)에 의해 수행될 수 있다. 하나 이상의 실시예에서, 발열부(130)는 사용자 입력없이 자동으로 동작할 수 있다.
하나 이상의 실시예에서, 발열부(130)는 도 2b에 도시된 바와 같이, 복수의 화구(131,132,133)를 포함할 수 있다. 하나 이상의 실시예에서, 화구는 요리 기구에 열을 제공하는 영역으로서, 복수의 화구는 상이한 방식으로 동작할 수 있다. 예를 들어, 제1 및 제2 화구(131,132)는 래디언트 히터 방식으로 동작할 수 있으며, 제3 화구(133)는 인덕션 히터 방식으로 동작할 수 있다. 또한, 복수의 화구의 크기 역시 상이할 수 있다. 하나 이상의 실시예에서, 적어도 하나의 프로세서(170)는 복수의 화구(131,132,133)의 온도, 동작 시간, 동작 모드 등을 개별적으로 제어할 수 있다. 예를 들어, 복수의 화구(131,132,133) 각각은 복수의 단계(예로, 제1 단계 내지 제 9 단계)로 동작 온도를 각각 제어할 수 있다.
또한, 발열부(130)는 오븐 또는 전자레인지를 포함할 수 있다. 하나 이상의 실시예에서, 적어도 하나의 센서(110)는 음식물의 상태에 대한 센싱 데이터를 획득하기 위하여, 오븐 또는 전자레인지 내에 위치할 수 있다.
통신 인터페이스(140)는 회로를 포함하며, 외부 장치(서버 또는 사용자 단말)와의 통신을 수행할 수 있다. 구체적으로, 적어도 하나의 프로세서(170)는 통신 인터페이스(140)를 통해 연결된 외부 장치로부터 각종 데이터 또는 정보를 수신할 수 있으며, 외부 장치로 각종 데이터 또는 정보를 전송할 수도 있다.
통신 인터페이스(140)는 WiFi 모듈, Bluetooth 모듈, 무선 통신 모듈, NFC 모듈 및 UWB 모듈(Ultra Wide Band) 중 적어도 하나를 포함할 수 있다. 이때, 무선 통신 모듈은 IEEE, Zigbee, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 5G(5th Generation) 등과 같은 다양한 통신 규격에 따라 통신을 수행할 수 있다.
특히, 본 개시에 따른 하나 이상의 실시 예에 있어서, 적어도 하나의 프로세서(170)는 통신 인터페이스(140)를 통해 외부 장치로부터 복수의 신경망 모델에 대한 데이터, 레시피에 대한 정보, 센싱 데이터 및 컨텍스트 정보 등을 수신할 수 있다. 또한, 적어도 하나의 프로세서(170)는 통신 인터페이스(140)를 통해 사용자 데이터, 신경망 모델에 할당되는 가중치에 대한 정보 및 특정 요리 단계 이후에 요리 단계들이 수행될 확률에 대한 정보 등을 수신할 수도 있다. 또한, 적어도 하나의 프로세서(170)는 사용자의 과거 요리 행위 또는 요리 히스토리에 관련된 정보가 획득되면, 사용자의 과거 요리 행위에 관련된 정보에 기초하여 사용자 데이터를 생성하고, 생성된 사용자 데이터를 외부 장치로 전송하도록 통신 인터페이스(140)를 제어할 수 있다. 과거 요리 행위 또는 요리 히스토리는 기설정된 시간 구간 내에 사용자에 의해 수행된 행위를 의미하거나 사용자가 현재 요리하고 있는 같은 메뉴를 과거에 요리한 행위를 의미할 수 있다.
입력 인터페이스(150)는 회로를 포함하며, 적어도 하나의 프로세서(170)는 입력 인터페이스(150)를 통해 전자 장치(100)의 동작을 제어하기 위한 사용자 입력을 수신할 수 있다.예를 들어 입력 인터페이스(150)는 터치 스크린으로서 디스플레이에 포함된 형태로 구현될 수 있다. 하나 이상의 실시예에서, 입력 인터페이스(150)는 외부 장치로부터 사용자 입력을 수신하기 위한 신호 수신부 등과 같은 구성으로 이루어 질 수도 있다. 한편, 입력 인터페이스(150)는 카메라 또는 마이크를 포함할 수도 있다.
특히, 본 개시에 따른 하나 이상의 실시 예에 있어서, 적어도 하나의 프로세서(170)는 입력 인터페이스(150)를 통해 요리 메뉴를 선택하는 사용자 입력을 수신할 수 있다. 또한, 적어도 하나의 프로세서(170)는 입력 인터페이스(150)를 통해 사용자가 직접 레시피 정보를 생성 또는 변경하기 위한 사용자 입력을 수신하고, 수신된 사용자 입력에 기초하여 레시피 정보를 생성 또는 변경할 수도 있다. 또한, 하나 이상의 실시예에서, 전자 장치(100)가 쿡탑(cooktop), 가스 레인지(gas stove) 또는 전기 레인지(electric stove) 등과 같이, 발열부(130)를 포함하는 주방 기기로 구현되는 경우, 적어도 하나의 프로세서(170)는 본 개시에 따른 발열부(130)를 제어하기 위한 사용자 입력을 수신할 수 있다. 예를 들어, 적어도 하나의 프로세서(170)는 컨텍스트 정보에 기초하여 발열부(130)를 제어할 수 있지만, 사용자 입력에 기초하여 발열부(130)를 제어할 수도 있다. 예를 들어, 발열부(130)를 제어하기 위한 사용자 입력은 물리 버튼, 터치 버튼 또는 제어 밸브의 형태로 구현될 수 있다.
하나 이상의 실시예에서, 상술한 입력 인터페이스(150) 이외에도 전자 장치(100)는 카메라(111) 또는 마이크(113)를 통해 사용자 입력을 수신할 수도 있다. 예를 들어, 전자 장치(100)가 모션 인식 또는 음성 인식을 통해 사용자 입력을 수신하는 경우, 전자 장치(100)는 카메라(111)를 통해 촬영된 사용자 모션을 사용자 입력으로 수신할 수 있으며, 마이크(113)를 통해 획득된 사용자 음성을 사용자 입력으로 수신할 수 있다.
출력부(160)는 회로를 포함하며, 적어도 하나의 프로세서(170)는 출력부(160)를 통해 전자 장치(100)가 수행할 수 있는 다양한 기능을 출력할 수 있다. 그리고, 출력부(160)는 디스플레이(161), 스피커(163) 및 인디케이터(165) 중 적어도 하나를 포함할 수 있다.
하나 이상의 실시예에서, 디스플레이(161)는 적어도 하나의 프로세서(170)의 제어에 의하여 영상 데이터를 출력할 수 있다. 예를 들어, 디스플레이(161)는 도 2c에 도시된 바와 같이, 복수의 화구(131,132,133)를 포함하는 발열부(130)의 하단에 위치할 수 있으며, 현재 전자 장치(100)의 동작 상태에 대한 정보를 출력할 수 있다.
본 개시의 하나 이상의 실시 예에 따른 디스플레이(161)는 메모리(120)에 저장된 사용자 인터페이스(User Interface)를 표시할 수도 있다. 디스플레이(161)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes) 등으로 구현될 수 있으며, 또한 디스플레이(161)는 경우에 따라 플렉서블 디스플레이, 투명 디스플레이 등으로 구현되는 것도 가능하다. 다만, 본 개시에 따른 디스플레이가 특정한 종류에 한정되는 것은 아니다. 스피커(163)는 프로세서의 제어에 의하여 오디오 데이터를 출력할 수 있으며, 인디케이터(165)는 적어도 하나의 프로세서(170)의 제어에 의하여 점등될 수 있다.
, 본 개시에 따른 하나 이상의 실시 예에 있어서, 적어도 하나의 프로세서(170)는 출력부(160)를 통해 전자 장치(100)의 제어 상황을 나타내는 안내 메시지 또는 사용자의 행동을 촉구하기 위한 안내 메시지를 출력할 수 있다. 예를 들어, 컨텍스트 정보에 포함된 요리 상황이 "팬에 마늘, 양파, 버섯, 베이컨, 토마토, 소스를 넣은 상황"이면, 적어도 하나의 프로세서(170)는 발열부(130)가 4분간 중불로 동작하도록 제어할 수 있으며, 4분 후 팬에 면을 넣도록 안내하기 위한 안내 메시지를 제공할 수도 있다. 또 다른 예를 들어, 컨텍스트 정보에 포함된 요리 상황이 "스테이크를 팬에 넣은 상황"이면, 적어도 하나의 프로세서(170)는 30초마다 사용자에게 스테이크를 뒤집는 것을 촉구하기 위한 안내 메시지를 출력할 수 있다.
하나 이상의 실시예에서, 안내 메시지는 스피커(163)를 통해 청각적인 형태로 출력될 수 있으나, 이는 일 실시예에 불과할 뿐, 디스플레이(161) 또는 인디케이터(165)를 통해 시각적인 형태로 전송될 수 있다. 하나 이상의 실시예에서, 전자 장치(100)가 외부 사용자 단말과 연결된 경우, 전자 장치(100)는 안내 메시지를 사용자 단말로 전송할 수 있다. 사용자 단말은 수신된 안내 메시지를 제공할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 사용자 설정에 따라 안내 메시지를 디스플레이(161), 스피커(163) 및 인디케이터(165) 중 적어도 하나로 제공할 수 있음은 물론이다.
적어도 하나의 프로세서(170)는 메모리에 저장된 적어도 하나의 인스트럭션에 따라 전자 장치(100)의 하나 이상의 실시예에서 동작을 제어할 수 있다. 예를 들어, 적어도 하나의 프로세서는 CPU(Central Processing Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit) 중 적어도 하나를 포함할 수 있다. 본 개시의 하나 이상의 실시예에 따르면, 적어도 하나의 프로세서(170) 중 범용 프로세서(예로, CPU)는 일반 연산을 수행할 수 있으며, 적어도 하나의 프로세서(170) 중 인공지능용 프로세서(예로, GPU, NPU 등)는 인공지능 연산을 수행할 수 있다. 본 개시의 하나 이상의 실시예로, 적어도 하나의 프로세서(170) 중 인공지능용 프로세서는 적어도 하나의 센서(110)를 통해 획득된 센싱 데이터를 적어도 하나의 제1 신경망 모델에 입력하여 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득하는 동작에 이용될 수 있다. 그리고, 적어도 하나의 프로세서(170) 중 범용 프로세서는 컨텍스트 정보를 획득하는 동작 이외에 나머지 동작에 이용될 수 있다. 그러나, 이는 일 실시예에 불과할 뿐, 하나의 프로세서가 전자 장치(100)의 동작을 제어할 수 있음은 물론이다.
하나 이상의 실시예에서, 요리 메뉴를 선택하는 사용자 입력이 수신되면, 적어도 하나의 프로세서(170)는 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득한다. 그리고, 적어도 하나의 프로세서(170)는 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별한다. 그리고, 적어도 하나의 프로세서(170)는 레시피에 대한 정보 및 전자 장치(100)의 리소스에 기초하여 복수의 신경망 모델 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩한다. 그리고, 적어도 하나의 프로세서(170)는 적어도 하나의 센서를 통해 센싱 데이터를 획득하고, 획득된 센싱 데이터를 적어도 하나의 제1 신경망 모델에 입력하여 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득한다. 그리고, 적어도 하나의 프로세서(170)는 레시피에 대한 정보 및 컨텍스트 정보에 기초하여 전자 장치의 동작을 제어한다. 그리고, 적어도 하나의 프로세서(170)는 컨텍스트 정보에 기초하여 신경망 모델 변경 이벤트을 감지하고, 복수의 신경망 모델 중 컨텍스트 정보 및 전자 장치의 리소스 정보에 기초하여 판단된 적어도 하나의 제2 신경망 모델을 로딩한다.
하나 이상의 실시예에서, 적어도 하나의 프로세서(170)는 레시피에 대한 정보에 포함된 제1 요리 단계를 식별할 수 있다. 그리고, 적어도 하나의 프로세서(170)는 레시피에 대한 정보에 기초하여 제1 요리 단계 이후의 요리 단계들이 수행될 확률에 대한 정보를 획득할 수 있다. 그리고, 적어도 하나의 프로세서(170)는 제1 요리 단계 이후의 요리 단계들이 수행될 확률에 대한 정보에 기초하여, 제1 요리 단계 이후의 요리 단계들 중 적어도 하나의 요리 단계를 식별할 수 있다.
하나 이상의 실시예에서, 레시피에 대한 정보는 상기 레시피를 나타내는 지식 그래프(knowledge graph)를 포함할 수 있다. 하나 이상의 실시예에서, 지식 그래프는 레시피에 따라 요리 메뉴를 완성하기 위한 복수의 요리 단계를 나타내는 복수의 노드(node) 및 복수의 요리 단계 사이의 선후 관계를 나타내는 복수의 간선(edge)를 포함할 수 있다. 그리고, 적어도 하나의 프로세서(170)는 제1 요리 단계를 나타내는 노드와 제1 요리 단계 이후의 요리 단계들을 나타내는 노드들 사이의 거리에 기초하여 제1 요리 단계 이후의 요리 단계가 수행될 확률에 대한 정보를 획득할 수 있다.
적어도 하나의 제1 신경망 모델의 개수가 복수 개인 경우(예를 들어, 복수의 신경망 모델이 복수의 제1 신경망 모델을 포함하는 경우), 적어도 하나의 프로세서(170)는 복수의 제1 신경망 모델 각각을 실행하기 위해 필요한 리소스를 식별할 수 있다. 적어도 하나의 프로세서(170)는 전자 장치의 리소스 및 복수의 제1 신경망 모델 각각을 실행하기 위해 필요한 리소스에 기초하여 복수의 제1 신경망 모델 중 동시에 로딩할 신경망 모델의 개수를 결정할 수 있다.
예를 들어, 적어도 하나의 프로세서(170)는 제1 요리 단계 이후의 요리 단계가 수행될 확률에 기초하여 복수의 제1 신경망 모델의 가중치를 결정할 수 있다. 그리고, 적어도 하나의 프로세서(170)는 결정된 가중치에 따라 복수의 제1 신경망 모델을 순차적으로 로딩할 수 있다. 그리고, 적어도 하나의 프로세서(170)는 센싱 데이터를 순차적으로 로딩된 복수의 제1 신경망 모델에 입력하여 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득할 수 있다.
또한, 적어도 하나의 프로세서(170)는 적어도 하나의 센서(110)의 유형 및 조도 센서(115)로부터 획득된 조도값 중에 적어도 하나에 기초하여 복수의 신경망 모델 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다.
하나 이상의 실시예에서, 신경망 모델 변경 이벤트가 상기 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트인 경우, 적어도 하나의 프로세서(170)는 컨텍스트 정보에 기초하여 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별할 수 있다. 그리고, 적어도 하나의 프로세서(170)는 레시피에 대한 정보 및 전자 장치(100)의 리소스에 기초하여 복수의 신경망 모델 중 제2 요리 단계 및 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩할 수 있다.
하나 이상의 실시예에서, 적어도 하나의 프로세서(170)는 컨텍스트 정보 및 상기 레시피에 대한 정보에 기초하여 상기 레시피에 대한 정보를 변경할지 여부를 결정할 수 있다. 레시피에 대한 정보가 변경되는 것으로 판단되면, 적어도 하나의 프로세서(170)는 변경된 레시피에 대한 정보를 획득할 수 있다. 적어도 하나의 프로세서(170)는 컨텍스트 정보에 기초하여 변경된 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제2 요리 단계 및 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별할 수 있다. 그리고, 적어도 하나의 프로세서(170)는 변경된 레시피에 대한 정보 및 전자 장치(100)의 리소스에 기초하여 복수의 신경망 모델 중 제2 요리 단계 및 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩할 수 있다.
또한, 적어도 하나의 프로세서(170)는 제1 요리 단계와 상기 제2 요리 단계 사이에 요리 단계가 존재하는지 여부를 판단할 수 있다. 제1 요리 단계 및 제2 요리 단계 사이에 요리 단계가 존재하지 않으면, 적어도 하나의 프로세서(170)는 레시피에 대한 정보가 변경되지 않는 것으로 결정할 수 있다. 제1 요리 단계 및 상기 제2 요리 단계 사이에 요리 단계가 존재하면, 적어도 하나의 프로세서(170)는 제1 요리 단계 및 제2 요리 단계 사이에 요리 단계가 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계인지 여부를 판단할 수 있다. 제1 요리 단계 및 제2 요리 단계 사이에 요리 단계가 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계라고 판단되면, 적어도 하나의 프로세서(170)는 레시피에 대한 정보가 변경되는 것으로 결정할 수 있다.
하나 이상의 실시예에서, 신경망 모델 변경 이벤트가 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구를 감지하는 이벤트인 경우, 컨텍스트 정보에 기초하여 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구가 감지되면, 적어도 하나의 프로세서(170)는 새로운 조리 기구에 기초하여 상기 레시피에 대한 정보를 변경할 수 있다. 그리고, 적어도 하나의 프로세서(170)는 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 복수의 신경망 모델 중 제2 요리 단계 및 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩할 수 있다.
한편, 도 2a에서는 발열부(130)가 전자 장치(100) 내부에 구비되는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)가 후드나 사용자 단말 등으로 구현되는 경우, 도 2d에 도시된 바와 같이, 발열부(130)를 포함하지 않을 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 발열부(130)를 포함하는 타 전자 장치와 통신 연결되어 발열부(130)를 포함하는 타 전자 장치를 제어할 수 있다.
도 3은 본 개시의 하나 이상의 실시예에 따른, 레시피에 대한 정보 및 컨텍스트 정보에 따라, 전자 장치를 제어하고 신경망 모델을 로딩하는 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 요리 메뉴를 선택하기 위한 사용자 입력을 수신한다(S310). 일 실시예로, 전자 장치(100)는 입력 인터페이스(150)(예로, 터치 스크린 등)를 통해 요리 메뉴를 선택하기 위한 사용자 입력을 수신될 수 있다. 요리 메뉴는 요리되는 요리 아이템을 구체화할 수 있다.
하나 이상의 실시예로, 전자 장치(100)는 전자 장치(100)와 연결된 외부 기기(예로, 사용자 단말)를 통해 요리 메뉴를 선택하기 위한 사용자 입력을 수신할 수 있다. 예를 들어, 외부 기기에서 전자 장치(100)를 제어하기 위한 애플리케이션이 실행된 경우, 외부 기기는 애플리케이션의 실행 화면을 통해 입력된 사용자 입력을 수신할 수 있다. 외부 기기는 전자 장치(100)로 요리 메뉴를 선택하기 위한 사용자 입력을 전송할 수 있다.
하나 이상의 실시예로, 전자 장치(100)는 식재료에 포함된 식별 코드(예로, 바코드, QR 코드 등)를 통해 카메라(113)를 통해 촬영하여 요리 메뉴를 선택하기 위한 사용자 입력을 수신할 수 있다. 예로, 식재료의 포장지에 위치한 QR 코드를 촬영하는 사용자 입력을 통해 전자 장치(100)는 사용자가 선택한 요리 메뉴에 대한 정보를 획득할 수 있다. 또 하나 이상의 실시예에 의하면, 전자 장치(100)는 사용자 단말이 촬영한 식별 코드에 대응되는 요리 메뉴에 대한 정보를 획득할 수 있다. 구체적으로, 사용자 단말이 식별 코드를 촬영한 경우, 사용자 단말은 식별 코드에 대응되는 요리 메뉴에 대한 정보를 획득할 수 있다. 사용자 단말은 획득된 요리 메뉴에 대한 정보를 전자 장치(100)로 전송할 수 있으며, 전자 장치(100)는 사용자 단말로부터 요리 메뉴에 대한 정보를 획득할 수 있다.
전자 장치(100)는 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득한다(S320). 하나 이상의 실시예로, 전자 장치(100)는 기 구축된 레시피 데이터베이스에서 선택된 요리 메뉴에 대응되는 레시피를 검색함으로써 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득할 수 있다. 레시피 데이터베이스는 전자 장치(100)에 저장될 수 있을 뿐만 아니라 외부 장치에 저장될 수도 있다.
'레시피에 대한 정보' 는 요리 메뉴를 완성하기 위한 레시피의 각 단계를 나타내는 정보를 포함한다. 예를 들어, 레시피에 대한 정보는 복수의 요리 단계에 대한 정보를 포함할 수 있다.
레시피에 대한 정보는 레시피를 나타내는 지식 그래프(knowledge graph)의 형태로 구현될 수 있다. 하나 이상의 실시예에서, '지식 그래프'는 복수의 노드(node) 및 복수의 노드 사이를 연결하는 복수의 간선(edge)을 포함하는 자료 구조를 말한다. 복수의 '노드'는 레시피에 따라 요리 메뉴를 완성하기 위한 복수의 요리 단계 중 하나의 단계를 나타낼 수 있으며, 복수의 '간선'은 복수의 노드에 대응되는 요리 단계들 사이의 선후 관계를 나타낼 수 있다.
또한, '노드들 사이의 거리'란 두 개의 노드를 연결하는 최소 경로에 몇 개의 다른 노드가 포함되었는지에 따라 결정될 수 있다. 예를 들어, 제1 노드와 제2 노드가 직접 연결된 경우 제1 노드와 제2 노드 사이의 거리는 0이고, 제1 노드가 제3 노드를 거쳐 제2 노드와 연결된 경우 제1 노드와 제2 노드 사이의 거리는 1일 수 있다
또한, 복수의 노드는 각각의 요리 단계에 관련된 오브젝트에 대한 정보와 오브젝트에 대한 행위를 나타내는 정보 등을 포함할 수 있다. 하나 이상의 실시예에서, 오브젝트에 대한 정보는 쿡탑, 요리 기구, 식재료 등에 대한 정보 또는 당업자에게 알려진 다른 요리 정보 등을 포함할 수 있으며, 오브젝트에 대한 행위를 나타내는 정보는 사용자의 요리 행위와 그 요리 행위를 수행하는 시간에 대한 정보 또는 당업자에게 알려진 다른 행위 정보 등을 포함할 수 있다. 한편, 레시피에 대한 정보는 도 4a 및 도 4b를 참조하여 추후에 상세히 설명하기로 한다.
전자 장치(100)는 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별할 수 있다(S330). 하나 이상의 실시예에서, '제1 요리 단계'는 복수의 요리 단계 중 첫번째 요리 단계를 의미할 수 있으나, 이는 일 실시예에 불과할 뿐, 임의의 복수의 요리 단계를 의미할 수 있다. 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계'는 제1 요리 단계 바로 다음에 수행될 가능성이 있는 요리 단계만을 의미하는 것은 아니며, 제1 요리 단계 이후에 수행될 가능성이 있는 복수의 요리 단계 중에서 식별될 수 있다.
예를 들어, 전자 장치(100)는 제1 요리 단계 이후의 요리 단계가 수행될 확률에 대한 정보에 기초하여 제1 요리 단계 이후의 요리 단계들 중 적어도 하나의 요리 단계를 식별할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 제1 요리 단계 이후의 요리 단계가 수행될 확률이 임계값 이상인 요리 단계들을 적어도 하나의 요리 단계를 식별할 수 있다. 이에 대해서는 도 5를 참조하여 추후에 상세히 설명하기로 한다.
전자 장치(100)는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다(S340). 하나 이상의 실시예에서, 전자 장치(100)는 레시피에 대한 정보 및 전자 장치(100)의 리소스에 기초하여 복수의 신경망 모델 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 식별된 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 식별할 수 있다. 제1 신경망 모델이 복수 개인 경우, 전자 장치(100)는 전자 장치(100)의 리소스 및 복수의 제1 신경망 모델의 리소스에 기초하여 동시에 로딩할 신경망 모델의 개수를 결정할 수 있다. 그리고, 전자 장치(100)는 복수의 제1 신경망 모델의 리소스 합이 전자 장치의 리소스 미만인지 여부를 판단할 수 있다. 복수의 제1 신경망 모델의 리소스 합이 전자 장치의 리소스 미만이면, 전자 장치(100)는 복수의 제1 신경망 모델을 동시에 로딩할 수 있다. 복수의 제1 신경망 모델의 리소스 합이 전자 장치의 리소스 이상이면, 전자 장치(100)는 복수의 제1 신경망 모델의 가중치에 따라 복수의 제1 신경망 모델을 순차적으로 로딩할 수 있다. 하나 이상의 실시예에서, 복수의 제1 신경망 모델의 가중치는 제1 요리 단계 이후에 적어도 하나의 요리 단계가 수행될 확률에 대한 정보에 기초하여 결정될 수 있다.
또한, 전자 장치(100)는 적어도 하나의 센서(110)의 유형 및 조도 센서(115)로부터 획득된 조도값 중에 적어도 하나에 기초하여 복수의 신경망 모델 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다. 전자 장치(100)가 적어도 하나의 제1 신경망 모델을 로딩하는 방법에 대해서는 도 6 내지 도 7b를 참조하여 더욱 상세히 설명하기로 한다.
전자 장치(100)는 센싱 데이터를 적어도 하나의 신경망 모델에 입력하여 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득한다(S350). '컨텍스트 정보' 는 센싱 데이터에 포함된 요리 상황을 나타내는 정보를 포함한다. 하나 이상의 실시예에서, 센싱 데이터가 이미지를 포함하는 경우, 컨텍스트 정보는 이미지에 포함된 사용자의 행위에 대한 정보 및 이미지에 포함된 오브젝트에 대한 정보 등을 포함할 수 있다. 예를 들어, 이미지에 포함된 사용자의 행위에 대한 정보는 사용자가 식재료를 썰고 있는지 여부, 사용자가 식재료를 요리 기구에 넣고 있는지 여부 또는 사용자가 식재료를 볶고 있는지 여부 등과 같은 사용자의 행위를 나타낼 수 있다. 특히, 사용자의 행위에 대한 정보는 사용자의 행위(verb)와 사용자의 행위의 대상이 되는 오브젝트(noun)으로 구성될 수 있으며, 행위 인식 모델은 (verb+noun) 형태로 사용자의 행위에 대한 정보를 출력할 수 있다. 예를 들어, 행위 인식 모델은 "{파스타}를 {냄비}에 {넣는} 행위", {파스타}를 {팬}에 넣어서 {볶는} 행위" 등의 사용자의 행위에 대한 정보를 출력할 수 있다. 하나 이상의 실시예에서, 행위 인식 모델은 (verb+noun) 형태로 태깅해 놓은 영상에 기초하여 사용자의 행위에 대한 정보를 분류하도록 학습될 수 있다. 예를 들어, 행위 인식 모델은 입력 데이터가 영상 데이터이며 출력 데이터가 (verb+noun) 형태의 행위에 대한 정보인 학습 데이터에 기초하여 사용자의 행위에 대한 정보를 분류하도록 학습될 수 있다.
그리고, 이미지에 포함된 오브젝트에 대한 정보는 이미지에 포함된 식재료(예: 마늘, 양파, 버섯, 면 등)들에 대한 정보, 이미지에 포함된 식재료의 상태 변화에 대한 정보 또는 이미지에 포함된 요리 기구(예: 냄비, 코팅 팬, 스테인리스 팬, 주물 팬, 국자 등)에 대한 정보 등을 포함할 수 있다. 예를 들어, 오브젝트 인식 모델은 인식된 오브젝트의 유형(noun)에 대한 정보를 출력할 수 있다. 하나 이상의 실시예에서, 오브젝트 인식 모델은 인식되 오브젝트의 유형(noun) 및 오브젝트의 상태 변화(verb)에 대한 정보를 포함하는 오브젝트에 대한 정보를 출력할 수 있다. 예를 들어, 오브젝트 인식 모델은 "{양파}가 {투명해짐}" 또는 "{물}이 {끓음}"이라는 오브젝트에 대한 정보를 출력할 수 있다.
그리고, 센싱 데이터가 오디오 신호를 포함하는 경우, 컨텍스트 정보는 사운드 신호에 포함된 소리의 유형에 대한 정보를 포함할 수 있다. 예를 들어, 소리의 유형에 대한 정보는 요리의 진행 상태를 나타내는 소리(예: 물 끓는 소리, 압력솥의 소리 등)에 대한 정보 또는 사용자의 요리 행위를 나타내는 소리(예: 팬에 있는 스테이크를 뒤집는 소리 또는 야채 써는 소리 등)에 대한 정보를 포함할 수 있다.
또한, 컨텍스트 정보는 복수의 센싱 데이터를 각각의 신경망 모델에 의해 입력하여 출력된 컨텍스트 정보들의 결합을 통해 최종 컨텍스트 정보를 획득할 수 있다. 예를 들어, 오브젝트 인식 모델을 통해 "물"이라는 오브젝트에 대한 정보를 획득하고, 소리 인식 모델을 통해 "끓는 소리"라는 요리의 진행 상태에 대한 정보를 획득한다. 하나 이상의 실시예에서, 전자 장치(100)는 오브젝트 인식 모델을 통해 출력한 제1 컨텍스트 정보와 소리 인식 모델을 통해 출력한 제2 컨텍스트 정보의 결합을 통해 "물이 끊는 상태"와 같은 최종 컨텍스트 정보를 획득할 수 있다.
또한, 컨텍스트 정보는 전자 장치(100)의 주변 환경(예로, 주변 밝기 등)에 대한 정보를 포함할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 획득된 이미지를 신경망 모델에 입력하여 전자 장치(100)의 주변 환경에 대한 정보를 획득할 수 있다.
또한, 컨텍스트 정보는 발열부에 대한 정보를 포함할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 발열부(130)를 촬영한 이미지를 신경망 모델에 입력하여 조리 기구가 위치하는 발열부에 대한 정보를 획득할 수 있다. 예를 들어, 도 2b에 도시된 바와 같이, 3개의 화구를 포함하는 발열부(130)가 존재하는 경우, 전자 장치(100)는 발열부(130)를 촬영한 이미지를 신경망 모델에 입력하여 조리 기구가 위치하는 화구가 제2 화구(132)임을 식별할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 발열부(130)를 촬영한 이미지의 픽셀을 분석하여 조리 기구가 위치하는 화구가 제2 화구(132)임을 식별할 수 있음은 물론이다. 그리고, 전자 장치(100)는 발열부(130) 중 조리 기구가 위치한 제2 화구(132)의 동작 온도 및 동작 시간을 제어할 수 있다.
로딩된 적어도 하나의 신경망 모델을 통해 컨텍스트 정보를 모니터링하는 동안 임계 시간 동안 로딩된 적어도 하나의 신경망 모델을 통해 컨텍스트 정보가 감지되지 않은 경우, 전자 장치(100)는 현재 로딩된 적어도 하나의 신경망 모델에 대응되는 요리 단계들 이후의 요리 단계를 식별하고, 이후의 요리 단계들에 대응되는 신경망 모델을 로딩할 수 있다. 하나 이상의 실시예에서, 현재 로딩된 적어도 하나의 신경망 모델에 대응되는 요리 단계들이 제1 요리 단계 및 제2 요리 단계인 경우, 임계 시간 동안 컨텍스트 정보가 감지되지 않을 경우, 전자 장치(100)는 제3 요리 단계 및 제4 요리 단계에 대응되는 신경망 모델을 로딩할 수 있다. 이때, 임계 시간은 기설정될 수 있으나, 이는 일 실시예에 불과할 뿐, 대응되는 요리 단계의 요리 시간에 기초하여 설정될 수 있다.
전자 장치(100)는 레시피에 대한 정보 및 컨텍스트 정보에 기초하여 전자 장치(100)의 동작을 제어한다(S360). 하나 이상의 실시예에서, 전자 장치(100)는 레시피에 대한 정보 및 컨텍스트 정보에 기초하여 현재 요리 상황이 레시피의 어느 요리 단계인지 여부를 식별하거나, 현재 식재료의 상태에 대한 정보를 식별하여 발열부(130)를 제어할 수 있다. 이에 대해서는 도 15를 참조하여 추후에 상세히 설명하기로 한다.
또한, 전자 장치(100)는 신경망 모델 변경 이벤트가 감지되었는지 여부를 판단한다(S370). 하나 이상의 실시예에서, 컨텍스트 정보를 획득하는 동안 전자 장치(100)는 획득된 컨텍스트 정보에 기초하여 신경망 모델 변경 이벤트가 감지되었는지 여부를 판단할 수 있다. 예를 들어, 신경망 모델 변경 이벤트는 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트 및 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구를 감지하는 이벤트 중 적어도 하나일 수 있다. 신경망 모델 변경 이벤트에 대해서는 도 8 내지 도 14를 참조하여 더욱 상세히 설명하기로 한다.
그리고, 신경망 모델 변경 이벤트가 감지되면(S370-Y), 전자 장치(100)는 적어도 하나의 제2 신경망 모델을 로딩한다(S380). 이에 대해서는 추후 도면을 참조하여 설명하기로 한다.
도 4a는 본 개시의 하나 이상의 실시예에 따른, 지식 그래프 형태의 레시피에 대한 정보를 설명하기 위한 도면이다. 예를 들어, 도 4a는 사용자 입력에 따라 선택된 요리 메뉴가 "토마토 스파게티"인 경우의 레시피 정보를 예시적으로 나타내는 도면이다. 레시피에 대한 정보는 "물 끓이기" 단계를 나타내는 노드, 그에 연결된 "7분간 면 삶기" 단계를 나타내는 노드 등과 같이, 각각의 요리 단계에 관련된 오브젝트와 그 오브젝트에 대한 행위를 나타내는 정보를 포함할 수 있다. 도 4a에 도시된 노드들과 간선들 외에도 더 많은 수의 노드와 간선이 레시피 정보에 포함될 수 있음은 물론이다.
도 4a에서는 각각의 노드가 "물 끓이기", "7분간 면 삶기", "팬에 마늘, 양파, 버섯 넣기" 등의 자연어 형태의 정보가 포함되는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, {오브젝트}에 대한 정보(특히, 조리 기구와 식재료를 나누어 저장할 수 있음.)와 {행위}에 대한 정보를 나누어 저장할 수 있다. 예로 "물 끓이기"에 대응되는 노드는 {물},{끓이기} 형태로 저장되며, "7분간 면 삶기"에 대응되는 노드는 {면},{7분 삶기} 형태로 저장되며, "팬에 마늘, 양파, 버섯 넣"에 대응되는 노드는 {팬}, {마늘, 양파, 버섯},{넣기} 형태로 저장될 수 있다.
본 개시의 하나 이상의 실시예에 따르면, 레시피에 대한 정보에는 복수의 요리 단계 각각에 필요한 신경망 모델에 대한 정보를 저장할 수 있다. 하나 이상의 실시예에서, 신경망 모델에 대한 정보는 신경망 모델의 유형, 신경망 모델의 입/출력 데이터, 신경망 모델의 필요 리소스 등과 같은 다양한 정보가 저장될 수 있다. 도 4b는 본 개시의 일 실시예에 따른, 레시피에 대한 정보에 포함된 신경망 모델에 대한 정보를 설명하기 위한 도면이다.
도 4b에 도시된 바와 같이, 제1 요리 단계(410)(즉, 팬에 마늘, 양파, 버섯 넣기 단계)의 경우, 제1 요리 단계의 수행을 식별하기 위해 필요한 신경망 모델이 제1 오브젝트 인식 모델, 제2 오브젝트 인식 모델 및 제1 행위 인식 모델을 포함할 수 있다. 제2 요리 단계(420)(즉, 양파가 투명해질 때까지 볶기 단계)의 경우, 제2 요리 단계의 수행을 식별하기 위해 필요한 신경망 모델이 제3 오브젝트 인식 모델, 제2 행위 인식 모델 및 제1 소리 인식 모델을 포함할 수 있다.
하나 이상의 실시예에서, 각각의 신경망 모델의 메타 데이터에는 신경망 모델의 입/출력 데이터에 대한 정보를 포함할 수 있다. 예로, 제1 오브젝트 인식 모델은 입력 데이터로 {이미지}, 출력 데이터로 {팬인지 여부}를 포함할 수 있다.
뿐만 아니라, 도 4a에는 도시되지 않았으나, 각각의 신경망 모델의 메타 데이터에는 신경망 모델이 로딩되기 위해 필요한 리소스, 신경망 모델의 버전 등에 대한 정보가 더 포함될 수 있음은 물론이다.
또한, 레시피에 대한 정보는 사용자의 과거 요리 행위와 관련된 사용자 데이터에 기초하여 업데이트될 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 사용자의 과거 요리 행위에 관련된 사용자 데이터를 획득하고, 전자 장치(100)의 메모리 또는 전자 장치(100)를 제어하는 애플리케이션이 설치된 사용자 단말의 메모리에 저장할 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 선택된 요리 메뉴를 수행하는 동안 선택된 요리 메뉴에 포함된 복수의 요리 단계에 따라 요리 행위를 수행하는지 여부를 판단할 수 있다. 예를 들어, 전자 장치(100)는 복수의 요리 단계 중 일부 요리 단계가 생략되었는지, 복수의 요리 단계 중 일부 요리 단계의 식재료, 조리 기구, 조리 방법 등이 변경되었는지 여부를 판단할 수 있다. 복수의 요리 단계에 따라 요리를 수행하지 않는 것으로 판단된 경우, 예를 들어, 복수의 요리 단계 중 일부 요리 단계가 생략되거나 복수의 요리 단계 주 일부 요리 단계의 식재료, 조리 기구, 조리 방법 등이 변경된 것으로 판단된 경우, 전자 장치(100)는 변경된 요리 행위와 관련된 정보를 사용자 데이터로 획득할 수 있다.
또한, 선택된 요리 메뉴 A에 대한 식재료 정보로서, 식재료 1,2,3이 필요하나, 현재 카메라(111)를 통해 감지된 식재료(또는 냉장고에 저장된 식재료)가 식재료 1,2,4인 경우, 전자 장치(100)는 식재료 4가 식재료 3을 대체할 수 있는지 여부에 대해서 판단할 수 있다. 예를 들어, 전자 장치(100)는 식재료 4가 포함된 요리 메뉴 A의 레시피에 대한 정보를 검색 서버를 통해 검색할 수 있으며, 검색된 레시피에 대한 정보를 전자 장치(100) 또는 전자 장치(100)를 제어하는 사용자 단말로 제공할 수 있다. 다만, 식재료 4가 식재료 3을 대체할 수 없다고 판단되면, 전자 장치(100)는 복수의 요리 단계 중 식재료 3이 포함된 요리 단계를 변경할 수 있다. 또한, 사용자가 식재료 3이 포함된 요리 단계를 생략하여 선택된 요리 메뉴 A를 수행한 경우, 전자 장치(100)는 사용자에 대한 식별 정보(예로, ID 정보)와 생략된 요리 단계에 대한 정보를 저장할 수 있다. 그리고, 선택된 요리 메뉴 A를 수행할 때, 식재료 3이 포함된 요리 단계를 생략하는 횟수가 임계 횟수 이상일 경우, 전자 장치(100)는 사용자 데이터로서, 요리 메뉴 A의 레시피에 대한 정보에서 식재료 3이 포함된 요리 단계를 생략하는 레시피에 대한 정보를 저장할 수 있다.
전자 장치(100)는 사용자의 과거 요리 행위에 관련된 사용자 데이터에 기초하여, 복수의 요리 단계 중 적어도 하나의 요리 단계를 식별할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 사용자 데이터에 기초하여 레시피에 대한 정보에 일부 노드를 추가 또는 삭제하거나, 일부 노드의 내용을 변경함으로써, 레시피에 대한 정보에 포함된 복수의 요리 단계의 일부를 변경할 수 있다.
예를 들어,사용자가 "토마토 스파게티"를 요리하는 동안, 팬에 마늘, 양파, 버섯, 베이컨, 토마토, 소스를 한꺼번에 넣지 않는다는 정보가 사용자 데이터로서 획득되어 저장되면, 전자 장치(100)는 "팬에 마늘, 양파, 버섯, 베이컨, 토마토, 소스 넣기" 단계를 나타내는 노드 및 "팬에 마늘, 양파, 버섯, 베이컨, 토마토, 소스 넣기" 단계 다음에 수행되는 "4분간 볶기" 단계를 나타내는 노드를 삭제함으로써 레시피에 대한 정보를 업데이트할 수 있다.
또한, 사용자가 "토마토 스파게티"를 요리하는 동안, 팬에 면을 넣은 후 마지막으로 2분간 볶고, 파마산 치즈 가루를 넣는다는 정보가 사용자 데이터로서 획득되어 저장되면, 전자 장치(100)는 업데이트 전 레시피에 대한 정보에서 "팬에 면 넣기" 단계를 나타내는 노드 다음의 노드가 "1분간 볶기" 단계를 나타내는 경우, "1분간 볶기" 단계에 대응되는 노드가 "2분간 볶기" 단계를 나타내도록 업데이트할 수 있으며, "2분간 볶기" 단계를 나타내는 노드 다음에 "파마산 치즈 가루 넣기" 단계를 나타내는 노드를 추가하도록 업데이트할 수 있다.
도 5는 본 개시의 하나 이상의 실시예에 따른, 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하는 방법을 설명하기 위한 흐름도이다.
우선, 전자 장치(100)는 레시피에 대한 정보에 포함된 제1 요리 단계를 식별할 수 있다(S510). 하나 이상의 실시예에서, 전자 장치(100)는 레시피에 대한 정보에 포함된 복수의 요리 단계 중 첫 번째 요리 단계를 제1 요리 단계로 식별할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 기 획득된 컨텍스트 정보에 기초하여 복수의 요리 단계 중 제1 요리 단계를 식별할 수 있다. 컨텍스트 정보에 따라 요리 단계를 식별하는 방법에 대해서는 추후 상세히 설명하기로 한다.
전자 장치(100)는 제1 요리 단계 이후의 요리 단계가 수행될 확률에 대한 정보를 획득할 수 있다(S520). 하나 이상의 실시예에서, 전자 장치(100)는 제1 요리 단계를 나타내는 노드와 제1 요리 단계 이후의 요리 단계들을 나타내는 노드들 사이의 거리에 기초하여 제1 요리 단계 이후에 요리 단계들이 수행될 확률에 대한 정보를 획득할 수 있다.
하나 이상의 실시예에서, 도 4a의 예시와 같이, 레시피에 대한 정보에서 제1 요리 단계를 나타내는 제1 노드에 제2 요리 단계를 나타내는 제2 노드가 연결된 경우, 전자 장치(100)는 제1 요리 단계 이후에 제2 요리 단계가 수행될 확률을 50%로 결정할 수 있다. 또한, 제3 요리 단계를 나타내는 제3 노드가 제1 노드에는 연결되어 있지 않으며 제2 노드에는 연결된 경우, 전자 장치(100)는 제1 요리 단계 이후에 제3 요리 단계가 수행될 확률을 25%로 결정할 수 있다. 예를 들어, 전자 장치(100)는 레시피에 대한 정보에 포함된 노드들 사이의 거리에 기초하여 제1 요리 단계 이후에 요리 단계들이 수행될 확률에 대한 정보를 획득할 수 있다.
하나 이상의 실시예에서, 레시피에 대한 정보에서 제1 요리 단계를 나타내는 제1 노드에 제2 요리 단계를 나타내는 제2 노드가 연결되어 있고, 제3 요리 단계를 나타내는 제3 노드 또한 제1 노드에 연결되어 있는 경우, 전자 장치(100)는 제1 요리 단계 이후에 제2 요리 단계가 수행될 확률과 제1 요리 단계 이후에 제3 요리 단계가 수행될 확률을 동일하게 결정함으로써 제1 요리 단계 이후에 요리 단계들이 수행될 확률에 대한 정보를 획득할 수 있다. 예로, 전자 장치(100)는 제1 요리 단계 이후에 제2 요리 단계가 수행될 확률을 50%로 결정하고, 제1 요리 단계 이후에 제3 요리 단계가 수행될 확률을 50%로 결정할 수 있다.
전자 장치(100)는 획득된 확률에 기초하여 제1 요리 단계 이후의 요리 단계들 중 적어도 하나의 요리 단계를 식별할 수 있다(S530). 하나 이상의 실시예에서, 전자 장치(100)는 제1 요리 단계 이후에 수행될 수 있는 요리 단계들 중 제1 요리 단계 이후에 수행될 확률이 기 설정된 임계 값(예로 20%) 이상인 요리 단계를 적어도 하나의 요리 단계로 식별할 수 있다.
예로, 제1 요리 단계 이후에 제2 요리 단계가 수행될 확률이 50%로 결정되고, 제1 요리 단계 이후에 제3 요리 단계가 수행될 확률이 25%로 결정되고, 제1 요리 단계 이후에 제4 요리 단계가 수행될 확률이 12.5%로 결정된 경우, 전자 장치(100)는 기설정된 임계값(예로, 20%) 이상인 요리 단계인 제2 요리 단계와 제3 요리 단계를 적어도 하나의 요리 단계로 식별할 수 있다.
또는, 전자 장치(100)는 제1 요리 단계 이후에 수행될 수 있는 요리 단계들 중 제1 요리 단계 이후에 수행될 확률이 높은 순으로 기 설정된 개수만큼의 요리 단계를 식별함으로써, 적어도 하나의 요리 단계를 식별할 수도 있다. 예로, 제1 요리 단계 이후에 제2 요리 단계가 수행될 확률이 50%로 결정되고, 제1 요리 단계 이후에 제3 요리 단계가 수행될 확률이 25%로 결정되고, 제1 요리 단계 이후에 제4 요리 단계가 수행될 확률이 12.5%로 결정된 경우, 전자 장치(100)는 확률이 높은 순으로 기설정된 개수(예로, 2개)만큼의 요리 단계인 제2 요리 단계와 제3 요리 단계를 적어도 하나의 요리 단계로 식별할 수 있다.
도 6은 본 개시의 하나 이상의 실시예에 따른, 제1 신경망 모델을 로딩하는 방법을 설명하기 위한 흐름도이다.
하나 이상의 실시예에서, 전자 장치(100)는 식별된 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 식별할 수 있다(S610).
구체적으로, 전자 장치(100)는 레시피에 대한 정보에 포함된 각 요리 단계별 필요한 신경망 모델에 대한 정보에 기초하여 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 식별할 수 있다. 예를 들어, 레시피에 대한 정보에 "제1 요리 단계에 대응되는 신경망 모델 a, 제2 요리 단계에 대응되는 신경망 모델 b,c, 제3 요리 단계에 대응되는 신경망 모델 c,d,f"라는 신경망 모델에 대한 정보가 포함된 경우, 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계로서 제1 요리 단계 내지 제3 요리 단계가 식별되면, 전자 장치(100)는 적어도 하나의 제1 신경망 모델로서, 신경망 모델 a,b,c,d,f를 식별할 수 있다.
하나 이상의 실시예에서, 레시피에 대한 정보에 각 요리 단계별 필요한 신경망 모델에 대한 정보가 저장되지 않은 경우, 전자 장치(100)는 레시피에 대한 정보 및 신경망 모델의 메타 데이터에 기초하여 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 식별할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 레시피에 대한 정보에 포함된 요리 단계별 식재료, 조리기구, 사용자의 행위에 대한 정보 및 신경망 모델의 메타 데이터에 포함된 입/출력 데이터에 대한 정보를 비교하여 적어도 하나의 제1 신경망 모델을 식별할 수 있다. 예로, 레시피에 대한 정보에 포함된 제1 요리 단계의 조리기구가 "팬"이고 식재료가 "마늘?"양파?"버섯"이며 사용자의 행위가 "넣기"인 경우, 전자 장치(100)는 복수의 신경망 모델의 입/출력 데이터에 기초하여 전자 장치(100)에 저장된 복수의 신경망 모델 중 제1 요리 단계의 조리기구, 식재료, 사용자의 행위를 식별할 수 있는 적어도 하나의 신경망 모델을 식별할 수 있다. 예를 들어, 전자 장치(100)는 "팬"을 식별할 수 있는 제1 오브젝트 인식 모델, "양파, 버섯,마늘"을 식별할 수 있는 제2 오브젝트 인식 모델 및 "넣는 행위"를 인식할 수 있는 제1 행위 인식 모델을 제1 요리 단계에 대응되는 신경망 모델로 식별할 수 있다. 상술한 바와 같은 방식으로, 전자 장치(100)는 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 식별할 수 있다.
전자 장치(100)는 식별된 제1 신경망 모델의 개수가 복수 개인지 여부를 판단할 수 있다(S620). 예를 들어, 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 위해 로딩될 수 있는 복수의 신경망 모델이 존재하는지 여부를 판단하여 복수의 제1 신경망 모델이 존재하는지 여부를 판단할 수 있다.
제1 신경망 모델의 개수가 복수 개인 경우(S620-Y), 전자 장치(100)는 전자 장치(100)의 리소스 및 복수의 제1 신경망 모델의 리소스에 기초하여 동시에 로딩할 신경망 모델의 개수를 결정할 수 있다(S630). 하나 이상의 실시예에서, 전자 장치(100)의 리소스라 함은 현재 전자 장치(100)가 가용할 수 있는 리소스에 대한 정보로서, 현재 전자 장치(100)의 가용 메모리량, 현재 전자 장치(100)의 프로세싱 능력(CPU 이용률, NPU 또는 GPU 이용률 등) 등을 의미할 수 있다. 또한, 제1 신경망 모델의 리소스는 제1 신경망 모델이 로딩되기 위해 필요한 리소스에 대한 정보일 수 있다. 한편, 본 개시의 일 실시예에 따라, 전자 장치(100)의 리소스는 현재 전자 장치(100)가 가용 가능한 전체 리소스를 의미할 수 있으나, 이는 일 실시예에 불과할 뿐, 다른 태스크를 고려하여 가용 가능한 전체 리소스 중 임계 비율(예로, 80%)의 리소스를 의미할 수 있다.
구체적으로, 복수의 제1 신경망 모델의 리소스 합이 전자 장치(100)의 리소스 미만인 경우인지 여부를 판단할 수 있다(S640).
복수의 제1 신경망 모델의 리소스 합이 전자 장치(100)의 리소스 미만인 경우(S640-Y), 전자 장치(100)는 복수의 제1 신경망 모델을 동시에 로딩할 수 있다(S650). 복수의 제1 신경망 모델을 동시에 로딩하는 방법에 대해서는 도 7a를 참조하여 더욱 상세히 설명하기로 한다.
도 7a에 도시된 바와 같이, 제1 요리 단계(710)에 대응되는 신경망 모델이 신경망 모델a이고, 제2 요리 단계(720)에 대응되는 신경망 모델이 신경망 모델b, c이고, 제3 요리 단계(730)에 대응되는 신경망 모델이 신경망 모델c,d,f일 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 제1 요리 단계를 식별하고(T1), 제1 요리 단계와 제1 요리 단계 이후의 적어도 하나의 요리 단계로 제2 요리 단계를 식별할 수 있다(T2). 그리고, 전자 장치(100)는 제1 요리 단계 및 제2 요리 단계에 대응되는 복수의 제1 신경망 모델로서 신경망 모델 a, b, c를 식별할 수 있다. 하나 이상의 실시예에서, 신경망 모델 a, b, c의 리소스 합이 전자 장치(100)의 리소스 미만이면, 전자 장치(100)는 신경망 모델 a, b, c를 동시에 로딩할 수 있다(T3).
다시 도 6에 대해 설명하면, 복수의 제1 신경망 모델의 리소스 합이 전자 장치(100)의 리소스 이상인 경우(S640-Y), 전자 장치(100)는 복수의 제1 신경망 모델의 가중치를 결정할 수 있다(S660). 특히, 전자 장치(100)는 도4의 S420 단계에서 획득한 제1 요리 단계 이후에 적어도 하나의 요리 단계가 수행될 확률에 대한 정보에 기초하여 복수의 제1 신경망 모델에 가중치를 결정할 수 있다.
전자 장치(100)는 가중치에 따라 복수의 제1 신경망 모델을 순차적으로 로딩할 수 있다(S670). 복수의 제1 신경망 모델을 순차적으로 로딩하는 방법에 대해서는 도 7b를 참조하여 더욱 상세히 설명하기로 한다.
도 7b에 도시된 바와 같이, 제1 요리 단계(710)에 대응되는 신경망 모델이 신경망 모델a이고, 제2 요리 단계(720)에 대응되는 신경망 모델이 신경망 모델b, c이고, 제3 요리 단계(730)에 대응되는 신경망 모델이 신경망 모델c,d,f일 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 제1 요리 단계를 식별하고(T1), 제1 요리 단계와 제1 요리 단계 이후의 적어도 하나의 요리 단계로 제2 요리 단계를 식별할 수 있다(T2). 그리고, 전자 장치(100)는 제1 요리 단계 및 제2 요리 단계에 대응되는 복수의 제1 신경망 모델로서 신경망 모델 a, b, c를 식별할 수 있다. 하나 이상의 실시예에서, 신경망 모델 a, b, c의 리소스 합이 전자 장치(100)의 리소스 이상이면, 전자 장치(100)는 제1 요리 단계 이후에 제2 요리 단계가 수행될 확률에 대한 정보에 기초하여 신경망 모델 a, b, c의 가중치를 결정할 수 있다. 예로, 전자 장치(100)는 제2 요리 단계가 수행될 확률에 대한 정보에 기초하여 신경망 모델 a의 가중치를 1로 결정하고, 신경망 모델 b, c의 가중치를 0.33으로 결정할 수 있다.
신경망 모델의 가중치가 결정된 후, 전자 장치(100)는 신경망 모델의 가중치에 따라 신경망 모델 a, b, c를 순차적으로 로딩할 수 있다(T3). 특히, 전자 장치(100)는 도 7b에 도시된 바와 같이, 신경망 모델을 a-a-a-b-c 순으로 로딩할 수 있다. 신경망 모델이 순차적으로 로딩되는 경우, 전자 장치(100)는 순차적으로 로딩된 신경망 모델에 적어도 하나의 센서로부터 획득된 센싱 데이터를 가중치에 대응되는 횟수로 입력하여 컨텍스트 정보를 획득할 수 있다. 즉, 신경망 모델을 a-a-a-b-c로 로딩하는 것은 신경망 모델 a를 3회 이용할 때마다 신경망 모델b,c를 1회 이용한다는 것을 의미한다. 예로, 신경망 모델을 a-a-a-b-c 순으로 로딩하는 경우, 전자 장치(100)는 신경망 모델 a를 로딩하고, 로딩된 신경망 모델 a에 제1 센싱 데이터를 입력하여 제1 컨텍스트 정보를 획득하고, 로딩된 신경망 모델 a에 제2 센싱 데이터를 입력하여 제2 컨텍스트 정보를 획득하고, 로딩된 신경망 모델 a에 제3 센싱 데이터를 입력하여 제3 컨텍스트 정보를 획득하고, 신경망 모델 b를 로딩하고, 로딩된 신경망 모델 b에 제4 센싱 데이터를 입력하여 제4 컨텍스트 정보를 획득하고, 신경망 모델 c를 로딩하고, 로딩된 신경망 모델 c에 제5 센싱 데이터를 입력하여 제5 컨텍스트 정보를 획득할 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 일정 주기로 적어도 하나의 센서(110)로부터 센싱 데이터를 획득하여 신경망 모델에 입력할 수 있으나, 이는 일 실시예에 불과할 뿐, 동작 시간이 존재하는 요리 단계(예를 들어, 3분간 볶기 등)의 경우, 전자 장치(100)는 요리 단계의 특징 시점(예로, 처음 시점, 중간 시점, 마지막 시점 등)에 적어도 하나의 센서(110)로부터 센싱 데이터를 획득하여 신경망 모델에 입력할 수 있다.
또한, 전자 장치(100)는 신경망 모델을 로딩할 때, 신경망 모델에 대응되는 센서로부터 센싱 데이터를 요청하여 센싱 데이터를 획득할 수 있다. 예를 들어, 신경망 모델 a가 오브젝트 인식 모델이고, 신경망 모델 b가 소리 인식 모델이며, 신경망 모델 c가 행위 인식 모델일 때, 전자 장치(100)는 신경망 모델 a를 로딩할 때, 오브젝트 인식 모델에 대응되는 카메라(111)로부터 이미지 데이터를 요청할 수 있다. 또한, 신경망 모델 a에 의해 오브젝트 인식 동작이 수행되는 동안 혹은 신경망 모델 a에 의해 오브젝트 인식 동작이 수행되기 전에, 전자 장치(100)는 신경망 모델 b에 대응되는 마이크(113)로부터 오디오 데이터를 요청할 수 있다.
한편, 상술한 실시예에서는 복수의 제1 신경망 모델이 순차적으로 로딩할 때, 복수의 제1 신경망 모델이 각각 로딩되는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 복수의 제1 신경망 모델을 순차적으로 로딩할 때, 전자 장치(100)는 전자 장치(100)의 리소스 및 복수의 신경망 모델의 리소스에 기초하여 복수의 제1 신경망 모델 중 적어도 두개를 동시에 로딩할 수 있다. 예로, 도 7b에 도시된 제2 요리 단계에 대응되는 신경망 모델 b,c의 리소스가 전자 장치(100)의 리소스 미만인 경우, 전자 장치(100)는 신경망 모델을 a-a-a-(b,c) 순으로 로딩할 수 있다. 예를 들어, 전자 장치(100)는 신경망 모델 a를 3회 로딩하고, 신경망 b,c를 동시에 1회 로딩할 수 있다.
다시 도 6에 대해 설명하면, 제1 신경망 모델이 한 개라고 판단되면(S620-N), 전자 장치(100)는 하나의 제1 신경망 모델을 로딩할 수 있다(S680).
도 6에 도시된 바와 같이, 전자 장치(100)의 리소스 및 적어도 하나의 제1 신경망 모델의 리소스에 기초하여 적어도 하나의 제1 신경망 모델을 로딩함으로써, 신경망 모델의 로딩을 위한 리소스가 충분히 크지 않은 전자 장치(100)에서도, 온 디바이스(on-device)로 신경망 모델을 이용하여 요리 상황을 실시간으로 식별하고 식별된 요리 상황에 대응되는 제어를 수행할 수 있게 된다.
또한, 전자 장치(100)는 적어도 하나의 센서(110)의 유형 및 조도 센서(115)로부터 획득된 조도값 중에 적어도 하나에 기초하여 복수의 신경망 모델 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 전자 장치(100)가 구비하는 적어도 하나의 센서(110)의 유형에 대한 정보 및 복수의 신경망 모델의 메타 데이터(특히, 입력 데이터)를 비교하여 복수의 신경망 모델 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다. 예를 들어, 전자 장치(100)에 마이크(113)가 구비되지 않고, 카메라(111)만 구비된 경우, 전자 장치(100)는 복수의 신경망 모델의 메타 데이터(특히, 입력 데이터)에 기초하여 복수의 신경망 모델 중 오브젝트 인식 모델이나 행위 인식 모델만 로딩하고, 소리 인식 모델은 로딩하지 않을 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 제1 신경망 모델을 로딩할 때, 적어도 하나의 센서(110)의 유형에 대한 정보 및 복수의 신경망 모델의 메타 데이터를 비교하여 적어도 하나의 제1 신경망 모델을 식별할 수 있으나, 이는 일 실시예에 불과할 뿐, 복수의 신경망 모델을 다운로드할 때, 적어도 하나의 센서(110)의 유형에 따라 복수의 신경망 모델 중 일부 신경망 모델만을 저장할 수 있다. 예를 들어, 전자 장치(100)에 마이크(113)가 구비되지 않고, 카메라(111)만 구비된 경우, 전자 장치(100)는 복수의 신경망 모델을 다운로드할 때, 복수의 신경망 모델 중 오브젝트 인식 모델이나 행위 인식 모델만을 다운로드하여 저장할 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 전자 장치(100)가 구비하는 적어도 하나의 센서(110)의 성능에 대한 정보 및 복수의 신경망 모델의 메타 데이터(특히, 입력 데이터)를 비교하여 복수의 신경망 모델 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다. 예를 들어, 전자 장치(100)에 카메라(111)가 HD 이미지를 촬영하는 카메라인 경우, 전자 장치(100)는 복수의 신경망 모델의 메타 데이터에 기초하여 복수의 신경망 모델 중 HD 이미지를 입력하여 컨텍스트 정보를 획득할 수 있는 오브젝트 인식 모델이나 행위 인식 모델만 로딩하고, Full HD 이미지를 입력하여 컨텍스트 정보를 획득할 수 있는 오브젝트 인식 모델이나 행위 인식 모델은 로딩하지 않을 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 조도 센서(115)로부터 획득된 조도값 및 복수의 신경망 모델의 메타 데이터를 비교하여 기초하여 복수의 신경망 모델 중 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다. 구체적으로, 조도 센서(115)로부터 획득된 조도값이 임계값 이상인 밝은 환경에서는 전자 장치(100)는 복수의 신경망 모델의 메타 데이터를 참조하여 제1 성능을 가지는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다. 조도 센서(115)로부터 획득된 조도값이 임계값 미만인 어두운 환경에서는 전자 장치(100)는 복수의 신경망 모델의 메타 데이터를 참조하여 제1 성능보다 좋은 제2 성능을 가지는 적어도 하나의 제1 신경망 모델을 로딩할 수 있다.
한편, 상술한 실시예에서는 신경망 모델을 로딩할 때, 조도값에 따라 로딩될 적어도 하나의 신경망 모델을 식별하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 요리를 수행하는 동안 조도값이 변경된 경우, 전자 장치(100)는 복수의 신경망 모델 중 변경된 조리값에 대응되는 신경망 모델을 식별하여 로딩할 수 있다.
또한, 전자 장치(100)는 신경망 모델 변경 이벤트가 감지되었는지 여부를 판단한다(S370). 하나 이상의 실시예에서, 컨텍스트 정보를 획득하는 동안 전자 장치(100)는 획득된 컨텍스트 정보에 기초하여 신경망 모델 변경 이벤트가 감지되었는지 여부를 판단할 수 있다. 하나 이상의 실시예에서, 신경망 모델 변경 이벤트는 신경망 모델을 변경하기 위한 이벤트로서, 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트 및 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구를 감지하는 이벤트 중 적어도 하나일 수 있다.
도 8는 본 개시의 하나 이상의 실시예에 따른, 신경망 모델 변경 이벤트에 따라 제2 신경망 모델을 로딩하는 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 컨텍스트 정보를 획득할 수 있다(S810). 즉, 전자 장치(100)는 적어도 하나의 제1 신경망 모델로부터 출력되는 컨텍스트 정보를 획득할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 적어도 하나의 제1 신경망 모델로부터 출력되는 컨텍스트 정보를 실시간으로 획득하여 모니터링할 수 있다.
그리고, 전자 장치(100)는 컨텍스트 정보에 기초하여 제2 요리 단계가 수행되는지 여부를 감지할 수 있다(S820). 하나 이상의 실시예에서, 제2 요리 단계는 제1 요리 단계 이후에 수행될 수 있는 요리 단계를 의미할 수 있다. 예를 들어, 전자 장치(100)는 레시피에 대한 정보에 포함된 복수의 요리 단계 중 획득된 컨텍스트 정보와 매칭되는 제2 요리 단계를 식별하여 제2 요리 단계가 수행되는지 여부를 감지할 수 있다. 예를 들어, 신경망 모델에 의해 출력된 컨텍스트 정보를 모니터링하는 동안 "양파를 볶는 행위"라는 컨텍스트 정보가 획득되면, 전자 장치(100)는 도 4a에 도시된 바와 같은 복수의 요리 단계 중 "제2 요리 단계"가 수행됨을 감지할 수 있다.
제2 요리 단계가 수행되는 것으로 감지되면(S820-Y), 전자 장치(100)는 레시피에 대한 정보를 변경할지 여부에 대해 판단할 수 있다(S840). 하나 이상의 실시예에서, 레시피에 대한 정보를 변경하는 것은 레시피에 대한 정보를 나타내는 그래프에 포함된 복수의 노드 중 적어도 하나의 노드를 삭제하거나 변경하거나 새로운 노드를 추가하는 것을 의미할 수 있다. 전자 장치(100)가 레시피에 대한 정보를 변경할지 여부에 대해서는 도 9를 참조하여 설명하기로 한다.
도 9를 살펴보면, 전자 장치(100)는 제1 요리 단계와 제2 요리 단계 사이에 요리 단계가 존재하는지 여부를 판단할 수 있다(S910). 예를 들어, 전자 장치(100)는 제1 요리 단계 바로 다음의 요리 단계가 실행되는지 여부를 판단할 수 있다.
제1 요리 단계와 제2 요리 단계 사이에 요리 단계가 존재하는 경우(S910-Y), 전자 장치(100)는 제1 요리 단계와 제2 요리 단계 사이에 요리 단계가 제2 요리 단계 이후의 요리 단계와 관련이 있는지 여부를 판단할 수 있다(S920). 하나 이상의 실시예에서, 전자 장치(100)는 제1 요리 단계와 제2 요리 단계 사이에 요리 단계에 포함된 식재료, 조리 기구가 제2 요리 단계 이후의 요리 단계에 이용되는지 여부를 판단할 수 있다. 예로, 제1 요리 단계와 제2 요리 단계 사이에 요리 단계에 포함된 식재료가 "양파"이고, 제2 요리 단계 이후의 요리 단계에서 "양파 볶기"가 포함된 경우, 전자 장치(100)는 제1 요리 단계와 제2 요리 단계 사이에 요리 단계가 제2 요리 단계 이후의 요리 단계와 관련이 있다고 판단할 수 있다.
제1 요리 단계와 제2 요리 단계 사이에 요리 단계가 제2 요리 단계 이후의 요리 단계와 관련이 있다고 판단되면(S920-Y), 전자 장치(100)는 레시피에 대한 정보를 변경할 수 있다(S930). 예를 들어, 전자 장치(100)는 제2 요리 단계 이후의 요리 단계 중 생략된 요리 단계(즉, 제1 요리 단계와 제2 요리 단계 사이에 요리 단계)와 관련된 요리 단계를 식별하고, 식별된 요리 단계에 대응되는 노드를 삭제하거나 변경할 수 있다. 예로, 제1 요리 단계와 제2 요리 단계 사이에 요리 단계에 포함된 식재료가 "양파"이고, 제2 요리 단계 이후의 요리 단계에서 "양파 볶기"가 포함된 경우, 전자 장치(100)는 레시피에 대한 정보에 포함된 복수의 요리 단계 중 "양파"와 관련된 "양파 볶기" 요리 단계를 삭제할 수 있다.
다만, 제1 요리 단계와 제2 요리 단계 사이에 요리 단계가 존재하지 않는 경우(S910-N) 또는 제1 요리 단계와 제2 요리 단계 사이에 요리 단계가 제2 요리 단계 이후의 요리 단계와 관련이 없다고 판단된 경우(920-N), 전자 장치(100)는 레시피에 대한 정보를 유지할 수 있다(S940).
다시 도 8에 대해 설명하면, 제2 요리 단계가 수행되지 않는 것으로 감지되면(S820-N), 전자 장치(100)는 컨텍스트 정보에 기초하여 새로운 조리 기구가 감지되었는지 여부를 판단할 수 있다(S830). 하나 이상의 실시예에서, 전자 장치(100)는 오브젝트 인식 모델을 통해 획득된 컨텍스트 정보에 기초하여 레시피에 대한 정보에 포함되어 있지 않은 새로운 조리 기구가 감지되었는지 여부를 판단할 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 조리 기구를 감지하기 위한 오브젝트 인식 모델을 통해 획득된 컨텍스트 정보에 기초하여 새로운 조리 기구가 감지되었는지 여부를 판단할 수 있다. 예로, 레시피에 대한 정보에 포함된 조리 기구가 "냄비"인 상황에서 조리 기구를 인식하기 위한 오브젝트 인식 모델을 통해 획득된 조리 기구에 대한 정보가 "팬"인 경우, 전자 장치(100)는 컨텍스트 정보에 기초하여 새로운 조리 기구가 감지되었음을 판단할 수 있다.
하나 이상의 실시예에서, 레시피에 대한 정보에 포함된 조리 기구를 인식하기 위한 오브젝트 인식 모델이 로딩되는 동안 임계 시간동안 컨텍스트 정보를 통해 레시피에 대한 정보에 포함된 조리 기구가 인식되지 않은 경우, 전자 장치(100)는 새로운 조리 기구를 인식하기 위한 다른 오브젝트 인식 모델을 로딩할 수 있으며, 다른 오브젝트 인식 모델을 통해 새로운 조리 기구가 감지되었는지 여부를 판단할 수 있다. 예로, 레시피에 대한 정보에 포함된 조리 기구가 "냄비"인 상황에서 "냄비"를 인식하기 위한 오브젝트 인식 모델을 로딩된 후, 전자 장치(100)는 "냄비"를 인식하기 위한 오브젝트 인식 모델을 통해 컨텍스트 정보를 획득할 수 있다. 컨텍스트 정보를 획득하는 동안 임계 시간 동안 "냄비"가 인식되지 않는 경우, 전자 장치(100)는 다른 조리 기구를 인식하기 위한 오브젝트 인식 모델을 로딩하고, 로딩된 다른 오브젝트 인식 모델을 통해 새로운 조리 기구를 감지할 수 있다. 이때, 다른 조리 기구를 인식하기 위한 오브젝트 인식 모델은 "냄비"의 상위 개념의 조리 기구(즉, 식재료를 닮는 조리 기구)를 인식할 수 있는 오브젝트 인식 모델 또는 "냄비"와 다른 유형의 조리 기구(예로, 팬, 바가지 등)를 인식할 수 있는 오브젝트 인식 모델일 수 있다.
한편, 상술한 실시예에서는 레시피 정보에 포함되지 않은 새로운 조리 기구가 감지되는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 레시피 정보에 포함되어 있지 않은 새로운 식재료가 감지된 경우 역시 본 개시의 기술적 사상이 적용될 수 있다.
도 8에서 언급한 바와 같이, 제2 요리 단계가 수행되는지 감지된 후 레시피에 대한 정보를 변경하는 것으로 판단되거나(S840-Y) 새로운 조리 기구가 감지되면(S830-Y), 전자 장치(100)는 레시피에 대한 정보를 변경할 수 있다(S850). 하나 이상의 실시예에서, 전자 장치(100)는 앞서 설명한 바와 같이, 전자 장치(100)는 제2 요리 단계 이후의 요리 단계 중 생략된 요리 단계(즉, 제1 요리 단계와 제2 요리 단계 사이에 요리 단계)와 관련된 요리 단계를 식별하고, 식별된 요리 단계에 대응되는 노드를 삭제하거나 변경할 수 있다. 하나 이상의 실시예에서, 새로운 조리 기구(또는 식재료)가 감지된 경우, 전자 장치(100)는 새롭게 감지된 조리 기구(또는 식재료)를 포함하는 레시피를 검색하기 위한 요청을 외부 서버로 요청할 수 있으며, 외부 서버로부터 새롭게 감지된 조리 기구(또는 식재료)를 포함하는 레시피에 대한 정보를 포함할 수 있다. 예로, 사용자 "라면 끓이기"라는 요리 메뉴를 선택한 후 레시피에 대한 정보에 포함되지 않은 조리 기구인 "팬"이 감지된 경우, 전자 장치(100)는 "팬을 이용하여 라면 끓이기"에 대한 레시피 정보에서 외부 서버로부터 수신하여 레시피에 대한 정보를 변경할 수 있다.
전자 장치(100)는 제2 요리 단계 및 제2 요리 단계 이후의 적어도 하나의 요리 단계를 식별할 수 있다(S860). 하나 이상의 실시예에서, 전자 장치(100)는 레시피에 대한 정보(또는 변경된 레시피에 대한 정보) 및 컨텍스트 정보에 기초하여 제2 요리 단계 및 제2 요리 단계 이후의 적어도 하나의 요리 단계를 식별할 수 있다. 예를 들어, 새로운 조리 기구가 변경된 경우, 전자 장치(100)는 새롭게 변경된 조리 기구가 포함된 제2 요리 단계를 식별할 수 있으며, 제2 요리 단계 이후의 요리 단계들 중 적어도 하나의 요리 단계를 식별할 수 있다. 이에 대해서는 도 3의 S330 단계 및 도 5에서 상세히 설명하였으므로, 중복되는 설명은 생략하기로 한다.
하나 이상의 실시예에서, S820 단계에서 감지한 제2 요리 단계에 대한 정보가 제2 요리 단계를 완료하는 정보인 경우, 전자 장치(100)는 제2 요리 단계가 아닌 제2 요리 단계 이후의 적어도 하나의 요리 단계만을 식별할 수 있다. 예를 들어, S820 단계에서 "물을 끓이기" 요리 단계가 식별되면, 전자 장치(100)는 "물을 끓이기"가 완료되지 않았으므로, "물을 끓이기" 요리 단계와 그 이 후의 요리 단계를 식별할 수 있다. 그러나, S820 단계에서 "팬에 마늘, 양파 넣기" 요리 단계가 식별되면, 전자 장치(100)는 "팬에 마늘, 양파 넣기"가 완료되었으므로, "팬에 마늘, 양파 넣기" 이후의 요리 단계를 식별할 수 있다.
전자 장치(100)는 제2 요리 단계 및 제2 요리 단계 이후의 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩할 수 있다(S870). 하나 이상의 실시예에서, 전자 장치(100)는 레시피에 대한 정보 및 전자 장치(100)의 리소스에 기초하여 복수의 신경망 모델 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩할 수 있다. 이에 대해서는 도 3의 S340 단계 및 도 6 내지 도 7b에서 상세히 설명하였으므로, 중복되는 설명은 생략하기로 한다.
이하에서는 도 10 내지 도 14를 참조하여 신경망 모델 변경 이벤트에 따라 신경망 모델을 동적으로 로딩하는 실시예를 설명하기로 한다.
도 10은 본 개시의 하나 이상의 실시예에 따른, 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트에 대한 제1 실시예를 설명하기 위한 도면이다. 우선, 사용자가 선택한 요리 메뉴의 레시피에 대한 정보는 제1 요리 단계 내지 제5요리 단계(1010 내지 1050)를 포함한다. 특히, 본 개시의 하나 이상의 실시예에 따르면, 제1 요리 단계(1010)의 수행을 식별하기 위한 신경망 모델은 신경망 모델 a이며, 제2 요리 단계(1020)의 수행을 식별하기 위한 신경망 모델은 신경망 모델 b,c 이며, 제3 요리 단계(1030)의 수행을 식별하기 위한 신경망 모델은 신경망 모델 c,d,f이며, 제4 요리 단계(1040)의 수행을 식별하기 위한 신경망 모델은 신경망 모델 f,g이며, 제5 요리 단계(1050)의 수행을 식별하기 위한 신경망 모델은 신경망 모델 h,i이다. 이때, 제1 요리 단계의 수행을 식별하기 위한 신경망 모델이 a라고 설명하였으나, 이는 일 실시예에 불과할 뿐, 신경망 모델의 성능과 유형에 따라 a_1 또는 a_2를 더 포함할 수 있다. 한편, 도 10 내지 도 14에 개시된 T1 내지 T8은 특정 시점을 의미하는 것이 아니라 동작의 순서를 의미하는 것이다.
우선, 전자 장치(100)는 제1 요리 단계(1010)를 식별할 수 있다(T1). 예를 들어, 전자 장치(100)는 최초 요리 단계인 제1 요리 단계(1010)를 식별할 수 있다. 그리고, 전자 장치(100)는 레시피에 대한 정보에 기초하여 제1 요리 단계(1010) 이후의 적어도 하나의 신경망 모델로서 제2 요리 단계(1020)를 식별할 수 있다. 예를 들어, 전자 장치(100)는 제1 요리 단계 및 제2 요리 단계(1010,1020)를 식별할 수 있다(T2).
전자 장치(100)는 제1 및 제2 요리 단계(1010,1020)에 대응되는 적어도 하나의 신경망 모델을 로딩할 수 있다. 예를 들어, 전자 장치(100)는 신경망 모델의 가중치에 기초하여 신경망 모델을 순차적으로 로딩할 수 있다. 즉, 전자 장치(100)는 신경망 모델을 a-a-a-b-c 순으로 순차 로딩할 수 있다(T3). 예를 들어, 상술한 실시예에서는 신경망 모델 a-a-a-b-c 순으로 순차 로딩하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 상술한 바와 같이, 신경망 모델 a,b,c의 리소스의 합이 전자 장치(100)의 리소스 미만인 경우, 전자 장치(100)는 신경망 모델 a,b,c,를 동시 로딩할 수 있음은 물론이다. 다만, 설명의 편의를 위하여, 도 10 내지 도 14에서는 동시 로딩을 제외한 순차 로딩만을 가정하여 설명하기로 한다.
전자 장치(100)는 컨텍스트 정보를 모니터링하는 동안 제2 요리 단계(1020)에 대응되는 요리 상황인 "BB 하기"를 감지할 수 있다(T4).
전자 장치(100)는 "BB 하기"에 대응되는 제2 요리 단계(1020) 및 제2 요리 단계(1020) 이후의 요리 단계인 제3 요리 단계(1030)를 식별할 수 있다(T5).
전자 장치(100)는 제2 요리 단계 및 제3 요리 단계(1020,1030)에 대응되는 신경망 모델인 b,c,d,f 모델을 b-c-b-c-d-f 순으로 순차 로딩할 수 있다(T6).
도 11은 본 개시의 하나 이상의 실시예에 따른, 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트에 대한 제2 실시예를 설명하기 위한 도면이다. 사용자가 선택한 요리 메뉴의 레시피에 대한 정보는 도 10에서 설명한 바와 같이, 제1 요리 단계 내지 제5요리 단계(1010 내지 1050)를 포함한다.
우선, 전자 장치(100)는 제1 요리 단계(1010)를 식별할 수 있다(T1). 즉, 전자 장치(100)는 최초 요리 단계인 제1 요리 단계(1010)를 식별할 수 있다. 그리고, 전자 장치(100)는 레시피에 대한 정보에 기초하여 제1 요리 단계(1010) 이후의 적어도 하나의 신경망 모델로서 제2 요리 단계 및 제3 요리 단계(1020,1030)를 식별할 수 있다. 예를 들어, 전자 장치(100)는 제1 요리 단계 내지 제3 요리 단계(1010 내지1030)를 식별할 수 있다(T2).
전자 장치(100)는 제1 내지 제3 요리 단계(1010 내지 1030)에 대응되는 신경망 모델 a,b,c,d,f를 a-a-a-b-c-b-c-d-f 순으로 순차 로딩할 수 있다(T3).
전자 장치(100)는 제1 내지 제3 요리 단계(1010 내지 1030)에 대응되는 신경망 모델 a,b,c,d,f을 순차로딩하는 동안 획득된 컨텍스트 정보에 기초하여 제3 요리 단계(1030)에 대응되는 요리 상황인 "CC 하기"를 감지할 수 있다(T4). 하나 이상의 실시예에서, 전자 장치(100)는 제2 요리 단계(1020)를 생략하고 제3 요리 단계(1030)를 수행하였으므로, 레시피에 대한 정보를 변경할지 여부를 판단할 수 있다. 다만, 전자 장치(100)는 제2 요리 단계(1020)가 이후의 요리 단계와 관련이 없다고 판단되면, 레시피에 대한 정보를 변경하지 않고 레시피에 대한 정보를 유지할 수 있다.
전자 장치(100)는 "CC 하기"에 대응되는 제3요리 단계(1030) 및 제3 요리 단계(1030) 이후의 요리 단계인 제4 요리 단계(1040)를 식별할 수 있다(T5).
전자 장치(100)는 제3 요리 단계 및 제4 요리 단계(1030,1040)에 대응되는 신경망 모델인 c,d,f,g 모델을 c-d-f-c-d-f-g 순으로 순차 로딩할 수 있다(T6).
도 12은 본 개시의 하나 이상의 실시예에 따른, 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트에 대한 제3 실시예를 설명하기 위한 도면이다. 사용자가 선택한 요리 메뉴의 레시피에 대한 정보는 도 10및 도 11에서 설명한 바와 같이, 제1 요리 단계 내지 제5요리 단계(1010 내지 1050)를 포함한다.
우선, 전자 장치(100)는 제1 요리 단계(1010)를 식별할 수 있다(T1). 즉, 전자 장치(100)는 최초 요리 단계인 제1 요리 단계(1010)를 식별할 수 있다. 그리고, 전자 장치(100)는 레시피에 대한 정보에 기초하여 제1 요리 단계(1010) 이후의 적어도 하나의 신경망 모델로서 제2 요리 단계 내지 제4 요리 단계(1020 내지 1040)를 식별할 수 있다. 예를 들어, 전자 장치(100)는 제1 요리 단계 내지 제4 요리 단계(1010 내지 1040)를 식별할 수 있다(T2).
전자 장치(100)는 제1 내지 제4 요리 단계(1010 내지 1040)에 대응되는 신경망 모델 a,b,c,d,f,g를 a-a-a-b-c-b-c-d-f-g 순으로 순차 로딩할 수 있다(T3).
전자 장치(100)는 컨텍스트 정보를 모니터링하는 동안 제4 요리 단계(1040)에 대응되는 요리 상황인 "DD 하기"를 감지할 수 있다(T4). 이때, 전자 장치(100)는 제2 요리 단계 및 제3 요리 단계(1020,1030)를 생략하고 제4 요리 단계(1040)를 수행하였으므로, 레시피에 대한 정보를 변경할지 여부를 판단할 수 있다.
제2 요리 단계 및 제3 요리 단계(1020,1030) 중 적어도 하나가 이후의 요리 단계인 제5 요리 단계(1050)와 관련된 것으로 판단되면, 전자 장치(100)는 레시피에 대한 정보를 변경할 수 있다(T5). 예를 들어, 전자 장치(100)는 제5 요리 단계(1050)을 제5' 요리 단계(1060)로 변경하고, 제5' 요리 단계(1060)에 대응되는 신경망 모델을 h', i'로 판단할 수 있다.
전자 장치(100)는 "DD 하기"에 대응되는 제4요리 단계(1040) 및 제4 요리 단계(1040) 이후의 요리 단계인 제5' 요리 단계(1060)를 식별할 수 있다(T6).
전자 장치(100)는 제4 요리 단계 및 제5' 요리 단계(1040,1060)에 대응되는 신경망 모델인 f,g,h',i' 모델을 f-g-f-g-h'-i' 순으로 순차 로딩할 수 있다(T7).
도 13은 본 개시의 하나 이상의 실시예에 따른, 새로운 조리 기구가 감지되는 실시예를 설명하기 위한 도면이다. 사용자가 선택한 요리 메뉴의 레시피에 대한 정보는 도 10 내지 도 12에서 설명한 바와 같이, 제1 요리 단계 내지 제5요리 단계(1010 내지 1050)를 포함한다.
우선, 전자 장치(100)는 제1 요리 단계(1010)를 식별할 수 있다(T1). 즉, 전자 장치(100)는 최초 요리 단계인 제1 요리 단계(1010)를 식별할 수 있다. 그리고, 전자 장치(100)는 레시피에 대한 정보에 기초하여 제1 요리 단계(1010) 이후의 적어도 하나의 신경망 모델로서 제2 요리 단계(1020)를 식별할 수 있다. 예를 들어, 전자 장치(100)는 제1 요리 단계 및 제2 요리 단계(1010,1020)를 식별할 수 있다(T2).
전자 장치(100)는 제1 및 제2 요리 단계(1010,1020)에 대응되는 신경망 모델 a,b,c를 a-a-a-b-c 순으로 순차 로딩할 수 있다(T3). 이때, 신경망 모델 a는 조리 기구를 인식할 수 있는 오브젝트 인식 모델일 수 있다.
전자 장치(100)는 컨텍스트 정보를 모니터링하는 동안 새로운 조리 기구를 감지할 수 있다(T4). 하나 이상의 실시예에서, 전자 장치(100)는 신경망 모델 a를 통해 컨텍스트 정보에 포함되지 않은 새로운 조리 기구를 감지할 수 있다.
전자 장치(100)는 레시피에 대한 정보를 변경할 수 있다(T5). 예를 들어, 전자 장치(100)는 새로운 조리 기구와 관련된 제3 요리 단계(1030)를 제3' 요리 단계(1070)로 변경하고, 제4 요리 단계(1040)를 제4' 요리 단계(1080)로 변경할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 제3' 요리 단계(1070)에 대응되는 신경망 모델을 c',d',f'로 판단할 수 있으며, 제4' 요리 단계(1080)에 대응되는 신경망 모델을 f', g로 판단할 수 있다.
전자 장치(100)는 컨텍스트 정보를 모니터링하는 동안 제3' 요리 단계(1070)에 대응되는 "CC' 하기"를 감지할 수 있다(T6)
전자 장치(100)는 "CC' 하기"에 대응되는 제3' 요리 단계(1070) 및 제3' 요리 단계(1070) 이후의 요리 단계인 제4' 요리 단계(1080)를 식별할 수 있다(T7).
전자 장치(100)는 제3' 요리 단계 및 제4' 요리 단계(1070,1080)에 대응되는 신경망 모델인 c', d', f', g 모델을 c'-d-'f'- c'-d-'f'-g 순으로 순차 로딩할 수 있다(T8).
도 14는 본 개시의 하나 이상의 실시예에 따른, 전체 요리 단계에 대응되는 신경망 모델들을 로딩한 후 컨텍스트 정보에 따라 로딩되는 신경망 모델의 개수를 감소시키는 실시예를 설명하기 위한 도면이다. 사용자가 선택한 요리 메뉴의 레시피에 대한 정보는 제1 요리 단계 내지 제3요리 단계(1410 내지 1430)를 포함한다. 예를 들어, 제1 요리 단계(1410) 의 수행을 식별하기 위한신경망 모델은 신경망 모델 a이며, 제2 요리 단계(1420) 의 수행을 식별하기 위한신경망 모델은 신경망 모델 b,c 이며, 제3 요리 단계(1430) 의 수행을 식별하기 위한 신경망 모델은 신경망 모델 c,d,f이다.
우선, 전자 장치(100)는 전체 요리 단계(1410 내지 1430)를 식별할 수 있다(T1). 즉, 전자 장치(100)는 별도의 요리 단계를 식별하지 않고, 최초에 전체 요리 단계(1410내지 1430)를 식별할 수 있다.
그리고, 전자 장치(100)는 전체 요리 단계(1410 내지 1430)에 대응되는 신경망 모델의 가중치에 기초하여 복수의 신경망 모델을 순차적으로 로딩할 수 있다. 예를 들어, 전자 장치(100)는 신경망 모델을 a-a-a-a-b-c-b-c-d-f순으로 순차 로딩할 수 있다(T2).
전자 장치(100)는 컨텍스트 정보를 모니터링하는 동안 제2 요리 단계(1420)에 대응되는 요리 상황인 "BB 하기"를 감지할 수 있다(T3).
전자 장치(100)는 "BB 하기"에 대응되는 제2 요리 단계(1420) 이후의 요리 단계를 식별하고, 식별된 요리 단계들에 대응되는 복수의 신경망 모델을 순차 로딩할 수 있다. 예를 들어, 전자 장치(100)는 신경망 모델을 b-c-b-c-d-f순으로 순차 로딩할 수 있다(T4).
전자 장치(100)는 컨텍스트 정보를 모니터링하는 동안 제3 요리 단계(1430)에 대응되는 요리 상황인 "CC 하기"를 감지할 수 있다(T5).
전자 장치(100)는 "CC 하기"에 대응되는 제3 요리 단계(1430) 에 대응되는 복수의 신경망 모델을 순차 로딩할 수 있다. 예를 들어, 전자 장치(100)는 신경망 모델을 d-f순으로 순차 로딩할 수 있다(T6).
도 10 내지 도 14에서 설명한 바와 같이, 컨텍스트 정보에 따라 신경망 모델을 동적으로 로딩함으로써, 전자 장치(100)는 온 디바이스 환경 내에서 최대한 빠르고 효율적으로 신경망 모델을 이용하여 컨텍스트 정보를 획득할 수 있게 된다.
도 15는 본 개시의 하나 이상의 실시예에 따른, 컨텍스트 정보에 기초하여 전자 장치의 동작을 제어하는 실시예를 설명하기 위한 흐름도이다.
우선, 전자 장치(100)는 컨텍스트 정보를 획득한다(S1510). 하나 이상의 실시예에서, 컨텍스트 정보는 도 3의 S350 단계에서 설명한 바와 같이, 적어도 하나의 신경망 모델에 의해 획득되는 요리 상황에 대한 정보일 수 있다. 예를 들어, 선택된 요리가 "볶음밥 요리"인 경우, 전자 장치(100)는 신경망 모델에 의해 조리기구가 "스테인리스 펜" 또는 "코팅 펜"임을 획득할 수 있으며, 조리기구가 위치하는 발열구가 "제3 화구(133)"임을 획득할 수 있다.
전자 장치(100)는 컨텍스트 정보에 기초하여 레시피에 대한 정보에 포함된 지식 그래프를 검색할 수 있다(S1520). 예로, 전자 장치(100)는 레시피에 대한 정보에 포함된 지식 그래프 중 컨텍스트 정보를 포함하는 조리 단계에 대응되는 노드를 검색할 수 있다. 예로, "제3 발열구(133)에 위치한 스테인리스 펜"에 대한 컨텍스트 정보가 획득되면, 전자 장치(100)는 "스테인리스 펜"에 대한 정보가 포함된 조리 단계인 "{스테인리스 펜}을 {중강불로 5분간 예열}하기" 및 "{스테인리스 펜}에 {밥, 야채}를 {중불로 볶기}"에 대응되는 노드를 검색할 수 있다. 하나 이상의 실시예에서, "제3 발열구(133)에 위치한 코팅 펜"에 대한 컨텍스트 정보가 획득되면, 전자 장치(100)는 "코팅 펜"에 대한 정보가 포함된 조리 단계인 "{코팅 펜}을 {강불로 30초간 예열}하기" 및 "{코팅 펜}에 {밥, 야채}를 {강불로 볶기}"에 대응되는 노드를 검색할 수 있다.
따라서, 전자 장치(100)는 검색 결과에 기초하여 발열부(130)를 제어할 수 있다(1530). 하나 이상의 실시예에서, 전자 장치(100)는 컨텍스트 정보에 기초하여 조리 기구가 위치하는 화구를 식별할 수 있다. 그리고, 전자 장치(100)는 검색된 노드에 대응되는 발열 세기에 대응되는 발열부(130)의 동작 단계(예로, 제1 단계 내지 제9 단계 중 하나)를 식별하며, 검색된 노드에 대응되는 동작 시간에 대응되도록 발열부(130)의 동작 시간을 식별할 수 있다. 그리고, 전자 장치(100)는 식별된 동작 시간 동안 식별된 동작 단계로 동작하도록 식별된 화구를 제어할 수 있다.
예로, "제3 발열구(133)에 위치한 스테인리스 펜"에 대한 컨텍스트 정보가 획득되면, 전자 장치(100)는 검색된 노드인 "{스테인리스 펜}을 {중강불로 5분간 예열}하기"에 기초하여 제3 화구(133)를 중강불에 대응되는 "제6 단계"로 5분간 동작하도록 제어할 수 있다. 또한, "제3 발열구(133)에 위치한 스테인리스 펜에 밥과 야채 넣기"에 대한 컨텍스트 정보가 획득되면, 전자 장치(100)는 검색된 노드인 "{스테인리스 펜}에 {밥, 야채}를 {중불로 볶기}"에 기초하여 제3 화구(133)를 중불에 대응되는 "제5단계"로 동작하도록 제어할 수 있다. 또 다른 예로, "제3 발열구(133)에 위치한 코팅 펜"에 대한 컨텍스트 정보가 획득되면, 전자 장치(100)는 검색된 노드인 "{코팅 펜}을 {강불로 30초간 예열}하기"에 기초하여 제3 화구(133)를 강불에 대응되는 "제8 단계"로 30초간 동작하도록 제어할 수 있다. 또한, "제3 발열구(133)에 위치한 코팅 펜에 밥과 야채 넣기"에 대한 컨텍스트 정보가 획득되면, 전자 장치(100)는 검색된 노드인 "{코팅 펜}에 {밥, 야채}를 {강불로 볶기}"에 기초하여 제3 화구(133)를 강불에 대응되는 "제8 단계"로 동작하도록 제어할 수 있다.
또는, "양파가 투명해지도록 볶기"라는 요리 단계를 수행하는 동안 오브젝트 인식 모델을 통해 "양파의 색이 투명해짐"이라는 컨텍스트 정보가 획득되면, 전자 장치(100)는 검색된 노드인 "양파가 투명해지도록 볶기"가 완료되었음을 판단하여 발열부(130)의 동작을 멈추거나 온도를 낮추도록 발열부(130)를 제어할 수 있다.
예를 들어, 전자 장치(100)는 획득된 컨텍스트 정보에 따라 능동적으로 발열부(130)를 제어할 수 있다.
또한, 복수의 화구(131 내지 133) 중 적어도 두개에 복수의 요리가 수행되는 경우, 전자 장치(100)는 복수의 요리가 수행되는 화구의 위치를 식별하여 제어할 수 있다. 예로, 제1 요리가 제1 화구(131)에서 수행되며, 제2 요리가 제2 화구(132)에 수행되는 컨텍스트 정보가 획득되면, 전자 장치(100)는 컨텍스트 정보 및 레시피에 대한 정보에 기초하여 제1 화구(131) 및 제2 화구(132)를 상이하게 동작하도록 제어할 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 컨텍스트 정보에 따라 발열부(130)의 동작을 제어할 뿐만 아니라 다른 구성(예로, 카메라)의 동작을 제어할 수 있다. 예로, 컨텍스트 정보에 따라 사람의 동작에 대한 센싱이 필요한 요리 단계(예로, 야채 썰기)가 식별되면, 전자 장치(100)는 카메라(111)의 촬영 위치를 발열부(130)에서 사람이 위치하는 영역(예로, 선반 영역)로 변경하도록 제어할 수 있다.
또한, 전자 장치(100)는 자동으로 전자 장치(100)의 동작을 수행하기 전 및 후에 전자 장치(100)의 동작에 대한 안내 메시지를 출력할 수 있다. 예로, 전자 장치(100)가 스테인리스 펜을 5분간 중강불로 예열하기 전에, 전자 장치(100)는 "스테인리스 펜을 중강불로 5분간 예열하겠습니다"라는 안내 메시지를 디스플레이를 통해 출력하거나, 스피커를 통해 출력하거나, 외부 단말 장치로 전송할 수 있다. 또한, 전자 장치(100)가 스테인리스 펜을 5분간 중강불로 예열한 후, 전자 장치(100)는 "스테인리스 펜을 중강불로 5분간 예열하였습니다"라는 안내 메시지를 디스플레이를 통해 출력하거나, 스피커를 통해 출력하거나, 외부 단말 장치로 전송할 수 있다.
하나 이상의 실시예에서, 전자 장치(100)는 사용자 설정에 따라 전자 장치(100)의 동작을 자동으로 제어하지 않고, 전자 장치(100)의 동작에 대한 정보를 포함하는 안내 메시지만 출력할 수 있다. 예로, 애플리케이션을 통해 자동 제어 기능이 오프되면, 전자 장치(100)는 전자 장치(100)의 동작을 자동으로 제어하지 않고, 전자 장치(100)의 동작에 대한 정보를 포함하는 안내 메시지만 출력할 수 있다.
하나 이상의 실시예에서,전자 장치(100)가 컨텍스트 정보 및 레시피에 대한 정보에 기초하여 전자 장치(100)의 동작을 제어하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)는 컨텍스트 정보에 기초하여 전자 장치(100)의 동작을 제어할 수 있다.
예를 들어, 오브젝트 인식 모델을 통해 "물이 끓어 넘침"이라는 컨텍스트 정보가 감지되면, 전자 장치(100)는 레시피에 대한 정보와 무관하게 발열부(130)의 동작을 멈추도록 제어할 수 있다.
한편, 상술한 실시예에서는 전자 장치(100)가 신경망 모델을 통해 획득된 컨텍스트 정보에 따라 전자 장치(100)의 동작을 제어하거나 신경망 모델을 동적으로 로딩하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)는 외부의 사용자 단말과 연동하여 동작할 수 있다.
도 16은 본 개시의 하나 이상의 실시예에 따른, 전자 장치 및 사용자 단말을 포함하는 제어 시스템을 도시한 도면이다. 도 16에 도시된 바와 같이, 제어 시스템(10)은 전자 장치(100) 및 사용자 단말(1600)을 포함할 수 있다.
하나 이상의 실시예에서, 사용자 단말(1600)은 전자 장치(100)를 제어하기 위한 애플리케이션을 통해 요리 메뉴를 선택하기 위한 사용자 명령, 전자 장치(100)의 동작을 제어하기 위한 사용자 명령, 현재 요리 상태를 확인하기 위한 사용자 명령 등을 수신할 수 있다.
사용자 단말(1600)은 수신된 사용자 명령에 따라 전자 장치(100)의 동작을 제어할 수 있다.
구체적으로, 요리 메뉴를 선택하기 위한 사용자 명령이 입력되면, 사용자 단말(1600)은 전자 장치(100)로 선택된 요리 메뉴에 대한 정보를 전송할 수 있다. 전자 장치(100)는 수신된 선택된 요리 메뉴에 대한 정보에 기초하여 레시피에 대한 정보를 획득할 수 있다. 하나 이상의 실시예에서, 사용자 단말(1600)은 선택된 요리 메뉴에 대한 정보와 함께 선택된 요리 메뉴의 레시피에 대한 정보를 함께 전송할 수 있다.
또한, 전자 장치(100)의 동작을 제어하기 위한 사용자 명령이 입력되면, 사용자 단말(1600)는 전자 장치(100)의 동작을 제어하기 위한 정보를 전자 장치(100)로 전송할 수 있다. 예를 들어, 도 17에 도시된 바와 같은 UI 화면이 표시된 상태에서 전자 장치(100)에 대응되는 아이콘(1710)이 선택되면, 사용자 단말(1600)은 전자 장치(100)의 동작을 제어하기 위한 제어 화면을 표시할 수 있다. 제어 화면을 통해 전자 장치(100)를 제어하기 위한 사용자 명령이 입력되면, 사용자 단말(1600)은 선택된 명령에 대응되는 정보를 전자 장치(100)로 전송할 수 있다. 예로, 발열부(130)의 동작을 중지시키기 위한 사용자 명령이 입력되면, 사용자 단말(1600)은 "발열부(130)의 동작 중지"라는 정보가 포함된 정보를 전자 장치(100)로 전송할 수 있다.
또한, 전자 장치(100)의 현재 요리 상태를 확인하기 위한 사용자 명령이 입력되면, 사용자 단말(1600)은 전자 장치(100)로 현재 요리 상태에 대한 정보를 요청하는 신호를 전송할 수 있다. 전자 장치(100)로부터 현재 요리 상태에 대한 정보가 수신되면, 사용자 단말(1600)은 전자 장치(100)로부터 수신된 현재 요리 상태에 대한 정보에 기초하여 도 18에 도시된 바와 같은, UI 화면(1810)을 표시할 수 있다. 예를 들어, UI 화면(1810)에는 현재 요리 단계에 대한 정보 및 복수의 화구(131 내지 133)의 제어 상태 및 요리 상태에 대한 정보를 포함할 수 있다.
한편, 상술한 실시예에서는 사용자 단말(1600)이 전자 장치(100)로 현재 요리 상태에 대한 정보를 요청하는 신호를 전송한 경우, 전자 장치(100)가 사용자 단말(1600)로 현재 요리 상태에 대한 정보를 전송하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)는 기설정된 주기로 현재 요리 상태에 대한 정보를 사용자 단말(1600)로 전송할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 요리 단계의 종료 이벤트 또는 요리 종료 이벤트가 발생되면 현재 요리 상태에 대한 정보를 사용자 단말(1600)로 전송할 수 있다.
상술한 바와 같이, 사용자 단말(1600)를 통해 전자 장치(100)를 제어하거나 현재 요리 상태를 확인함으로써, 사용자는 원격에서 전자 장치(100)를 손쉽게 제어하거나 요리 상태에 대한 정보를 확인할 수 있게 된다.
한편, 상술한 실시예에서는 복수의 신경망 모델이 전자 장치(100)에 저장된 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 적어도 일부의 신경망 모델이 서버(10)에 저장될 수 있으며, 전자 장치(100)는 서버(10)로부터 신경망 모델을 수신하여 컨텍스트 정보를 획득할 수 있다.
도 19는 본 개시의 하나 이상의 실시예에 따른, 컨텍스트 정보에 기초하여 요리 동작을 수행하는 시스템의 제어 방법을 설명하기 위한 시퀀스도이다.
우선, 사용자 단말(200)은 요리 메뉴를 선택하는 사용자 입력을 수신할 수 있다(S1905). 하나 이상의 실시예에서, 요리 메뉴를 선택하는 사용자 입력은 사용자가 직접 요리 메뉴에 대한 텍스트를 입력하거나 아이콘을 선택하는 사용자 입력일 수 있으나, 이는 일 실시예에 불과할 뿐, 요리 메뉴의 식별 정보(예로, QR 코드, 바코드 등)를 촬영하는 사용자 입력일 수 있다.
사용자 단말(200)은 요리 메뉴에 대한 정보를 전자 장치(100)로 전송할 수 있다(S1910).
전자 장치(100)는 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득할 수 있다(S1915). 하나 이상의 실시예에서, 전자 장치(100)는 메모리(120)에 기저장된 레시피에 대한 정보를 획득할 수 있으나, 이는 일 실시예에 불과할 뿐, 외부의 레피시 서버로부터 레시피에 대한 정보를 수신할 수 있다.
전자 장치(100)는 요리 단계를 식별할 수 있다(S1920). 하나 이상의 실시예에서, 전자 장치(100)는 도 3 내지 도 5에서 설명한 바와 같이, 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별할 수 있다.
전자 장치(100)는 전자 장치(100)에 저장된 신경망 모델을 검색할 수 있다(S1925). 구체적으로, 전자 장치(100)는 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대한 정보에 기초하여 기 저장된 복수의 신경망 모델 중 식별된 요리 단계들에 대응되는 적어도 하나의 신경망 모델을 검색할 수 있다. 이때, 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대한 정보는 각 요리 단계에 대응되는 노드에 포함된 {식재료},{조리기구},{행위}에 대한 정보를 포함할 수 있다.
제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계의 수행을 식별하기 위한 신경망 모델이 검색되지 않으면(S1925-N), 전자 장치(100)는 서버(10)로 요리 단계에 대한 정보를 전송할 수 있다(S1930). 구체적으로, 전자 장치(100)는 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대한 정보를 서버(10)로 전송할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 현재 전자 장치(100)에 대한 식별 정보, 리소스 정보 및 주변 환경 정보(예로, 조도 값) 등을 함께 전송할 수 있다.
서버(10)는 수신된 정보에 기초하여 신경망 모델을 검색할 수 있다(S1940). 하나 이상의 실시예에서, 서버(10)는 제1 요리 단계 및 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 노드에 포함된 {식재료}{조리기구}{행위}에 대한 정보와 매칭되는 출력 데이터를 출력할 수 있는 적어도 하나의 신경망 모델을 검색할 수 있다. 하나 이상의 실시예에서, 서버(10)는 전자 장치(100)의 식별 정보, 리소스 정보 및 주변 환경 정보에 기초하여 전자 자치(100)에 대응되는 리소스 또는 성능을 가진 적어도 하나의 신경망 모델을 검색할 수 있다.
서버(10)는 검색된 신경망 모델에 대한 정보를 전자 장치(100)로 전송할 수 있다(S1945).
전자 장치(100)에 의해 신경망 모델이 검색되거나(S1925-Y) 서버(10)로부터 검색된 신경망 모델에 대한 정보가 수신되면(S1945), 전자 장치(100)는 신경망 모델을 로딩할 수 있다(S1950). 하나 이상의 실시예에서, 전자 장치(100)는 전자 장치(100)로부터 검색된 적어도 하나의 신경망 모델 및 서버(10)로부터 수신된 적어도 하나의 신경망 모델 중 적어도 하나를 로딩할 수 있다. 하나 이상의 실시예에서, 전자 장치(100)는 도 6에서 설명한 바와 같이, 적어도 하나의 신경망 모델을 동시 로딩하거나 순차 로딩할 수 있다.
전자 장치(100)는 컨텍스트 정보를 획득할 수 있다(S1955). 예를 들어, 전자 장치(100)는 로딩된 적어도 하나의 신경망 모델에 센싱 데이터를 입력하여 현재 요리 상황에 대한 컨텍스트 정보를 획득할 수 있다.
전자 장치(100)는 컨텍스트 정보를 사용자 단말(200)로 전송할 수 있으며(1960), 사용자 단말(200)은 컨텍스트 정보를 디스플레이할 수 있다(S1965). 예로, 사용자 단말(200)은 도 18에 도시된 바와 같은 UI(1810)를 통해 컨텍스트 정보를 디스플레이할 수 있다.
또한, 전자 장치(100)는 컨텍스트 정보에 기초하여 전자 장치(100)의 동작을 제어할 수 있다(S1970). 예를 들어, 전자 장치(100)는 도 15에서 설명한 바와 같이, 컨텍스트 정보에 기초하여 전자 장치(100)의 동작을 제어할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 전자 장치(100)의 프로세서와 메모리를 통해 동작된다.
프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 하나 이상의 실시예에서, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit) 중 적어도 하나를 포함할 수 있으나 전술한 프로세서의 예시에 한정되지 않는다.
CPU는 일반 연산뿐만 아니라 인공지능 연산을 수행할 수 있는 범용 프로세서로서, 다계층 캐시(Cache) 구조를 통해 복잡한 프로그램을 효율적으로 실행할 수 있다. CPU는 순차적인 계산을 통해 이전 계산 결과와 다음 계산 결과의 유기적인 연계가 가능하도록 하는 직렬 처리 방식에 유리하다. 범용 프로세서는 전술한 CPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
GPU는 그래픽 처리에 이용되는 부동 소수점 연산 등과 같은 대량 연산을 위한 프로세서로서, 코어를 대량으로 집적하여 대규모 연산을 병렬로 수행할 수 있다. 특히, GPU는 CPU에 비해 컨볼루션(Convolution) 연산 등과 같은 병렬 처리 방식에 유리할 수 있다. 또한, GPU는 CPU의 기능을 보완하기 위한 보조 프로세서(co-processor)로 이용될 수 있다. 대량 연산을 위한 프로세서는 전술한 GPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
NPU는 인공 신경망을 이용한 인공지능 연산에 특화된 프로세서로서, 인공 신경망을 구성하는 각 레이어를 하드웨어(예로, 실리콘)로 구현할 수 있다. 이때, NPU는 업체의 요구 사양에 따라 특화되어 설계되므로, CPU나 GPU에 비해 자유도가 낮으나, 업체가 요구하기 위한 인공지능 연산을 효율적으로 처리할 수 있다. 한편, 인공지능 연산에 특화된 프로세서로, NPU는 TPU(Tensor Processing Unit), IPU(Intelligence Processing Unit), VPU(Vision processing unit) 등과 같은 다양한 형태로 구현 될 수 있다. 인공 지능 프로세서는 전술한 NPU로 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
또한, 하나 또는 복수의 프로세서는 SoC(System on Chip)으로 구현될 수 있다. 이때, SoC에는 하나 또는 복수의 프로세서 이외에 메모리, 및 프로세서와 메모리 사이의 데이터 통신을 위한 버스(Bus)등과 같은 네트워크 인터페이스를 더 포함할 수 있다.
전자 장치에 포함된 SoC(System on Chip)에 복수의 프로세서가 포함된 경우, 전자 장치는 복수의 프로세서 중 일부 프로세서를 이용하여 인공지능과 관련된 연산(예를 들어, 인공지능 모델의 학습(learning)이나 추론(inference)에 관련된 연산)을 수행할 수 있다. 예를 들어, 전자 장치는 복수의 프로세서 중 컨볼루션 연산, 행렬 곱 연산 등과 같은 인공지능 연산에 특화된 GPU, NPU, VPU, TPU, 하드웨어 가속기 중 적어도 하나를 이용하여 인공지능과 관련된 연산을 수행할 수 있다. 다만, 이는 일 실시예에 불과할 뿐, CPU 등과 범용 프로세서를 이용하여 인공지능과 관련된 연산을 처리할 수 있음은 물론이다.
또한, 전자 장치는 하나의 프로세서에 포함된 멀티 코어(예를 들어, 듀얼 코어, 쿼드 코어 등)를 이용하여 인공지능과 관련된 기능에 대한 연산을 수행할 수 있다. 특히, 전자 장치는 프로세서에 포함된 멀티 코어를 이용하여 병렬적으로 컨볼루션 연산, 행렬 곱 연산 등과 같은 인공 지능 연산을 수행할 수 있다.
하나 또는 복수의 프로세서는, 메모리에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 적어도 하나의 레이어는 적어도 하나의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 적어도 하나의 정의된 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks), Transformer가 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
한편, 본 개시의 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 개시의 다양한 실시 예에 따른 방법은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: TV)를 포함할 수 있다.
한편, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    적어도 하나의 센서;
    복수의 신경망 모델을 저장하는 메모리; 및
    요리 메뉴를 선택하는 사용자 입력이 수신되면, 상기 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득하고,
    상기 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하며,
    상기 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩하고,
    상기 적어도 하나의 센서를 통해 상기 제1 요리 단계에 대응되는 센싱 데이터를 획득하며,
    상기 획득된 센싱 데이터를 상기 적어도 하나의 제1 신경망 모델에 입력하여 상기 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득하며,
    상기 레시피에 대한 정보 및 상기 컨텍스트 정보에 기초하여 상기 전자 장치의 동작을 제어하고,
    상기 컨텍스트 정보에 기초하여 신경망 모델 변경 이벤트를 감지하고,
    상기 신경망 모델 변경 이벤트가 감지되면, 상기 컨텍스트 정보 및 상기 전자 장치의 리소스 정보에 기초하여 상기 복수의 신경망 모델 중 적어도 하나의 제2 신경망 모델을 로딩하는 적어도 하나의 프로세서;를 포함하는 전자 장치.
  2. 제1 항에 있어서,
    상기 신경망 모델 변경 이벤트는 상기 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트이며,
    상기 적어도 하나의 프로세서는,
    상기 컨텍스트 정보에 기초하여 상기 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하며,
    상기 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩하는 전자 장치.
  3. 제2 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 컨텍스트 정보 및 상기 레시피에 대한 정보에 기초하여 상기 레시피에 대한 정보를 변경할지 여부를 결정하고,
    상기 레시피에 대한 정보가 변경되는 것으로 판단되면, 상기 변경된 레시피에 대한 정보를 획득하며,
    상기 컨텍스트 정보에 기초하여 상기 변경된 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제3 요리 단계 및 상기 제3 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하고,
    상기 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제3 요리 단계 및 상기 제3 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제3 신경망 모델을 로딩하는 전자 장치.
  4. 제3 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 요리 단계와 상기 제2 요리 단계 사이에 중간 요리 단계가 존재하는지 여부를 판단하고,
    상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 존재하지 않으면, 상기 레시피에 대한 정보가 변경되지 않는 것으로 결정하고,
    상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 존재하면, 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 상기 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계인지 여부를 판단하고,
    상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 상기 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계라고 판단되면, 상기 레시피에 대한 정보가 변경되는 것으로 결정하는 전자 장치.
  5. 제1 항에 있어서,
    상기 신경망 모델 변경 이벤트는 상기 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구를 감지하는 이벤트이며,
    상기 적어도 하나의 프로세서는,
    상기 컨텍스트 정보에 기초하여 상기 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구가 감지되면, 상기 새로운 조리 기구에 기초하여 상기 레시피에 대한 정보를 변경하고,
    상기 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 적어도 하나의 제4 신경망 모델을 로딩하며, 이때, 상기 적어도 하나의 신경망 모델은 제4 요리 단계 및 상기 제4 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 전자 장치.
  6. 제1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 레시피에 대한 정보에 포함된 제1 요리 단계를 식별하고,
    상기 레시피에 대한 정보에 기초하여 상기 제1 요리 단계 이후의 하나 이상의 요리 단계들이 수행될 확률에 대한 정보를 획득하고,
    상기 제1 요리 단계 이후의 상기 하나 이상의 요리 단계들이 수행될 확률에 대한 정보에 기초하여, 상기 제1 요리 단계 이후의 요리 단계들 중 상기 적어도 하나의 요리 단계를 식별하는 전자 장치.
  7. 제6 항에 있어서,
    상기 레시피에 대한 정보는 상기 선택된 요리 메뉴에 대응되는 레시피를 나타내는 지식 그래프(knowledge graph)를 포함하고,
    상기 지식 그래프는 상기 레시피에 따라 상기 요리 메뉴를 완성하기 위한 복수의 요리 단계를 나타내는 복수의 노드(node) 및 복수의 요리 단계 사이의 선후 관계를 나타내는 복수의 간선(edge)를 포함하며,
    상기 적어도 하나의 프로세서는,
    상기 제1 요리 단계를 나타내는 노드와 상기 제1 요리 단계 이후의 하나 이상의 요리 단계들을 나타내는 노드들 사이의 거리에 기초하여 상기 제1 요리 단계 이후의 요리 단계가 수행될 확률에 대한 정보를 획득하는 전자 장치.
  8. 제1 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 제1 신경망 모델의 개수가 복수 개인 경우,
    상기 복수의 제1 신경망 모델 각각을 실행하기 위해 필요한 리소스를 식별하며,
    상기 전자 장치의 리소스 및 상기 복수의 제1 신경망 모델 각각을 실행하기 위해 필요한 리소스에 기초하여 상기 복수의 제1 신경망 모델 중 동시에 로딩할 신경망 모델의 개수를 결정하며,
    상기 복수의 제1 신경망 모델 중 각각의 제1 신경망 모델은 상기 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되며,
    상기 복수의 제1 신경망 모델은 상기 복수의 신경망 모델에 포함되는 전자 장치.
  9. 제6 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 요리 단계 이후의 요리 단계가 수행될 확률에 대한 정보에 기초하여 상기 복수의 제1 신경망 모델의 가중치를 결정하고,
    상기 결정된 가중치에 따라 상기 복수의 제1 신경망 모델 각각을 순차적으로 로딩하며
    상기 센싱 데이터를 상기 순차적으로 로딩된 복수의 제1 신경망 모델에 입력하여 상기 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득하는 전자 장치.
  10. 제1 항에 있어서,
    상기 적어도 하나의 센서는, 상기 전자 장치 주변의 조도값을 센싱하기 위한 조도 센서를 더 포함하며,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 센서의 유형 및 상기 조도 센서로부터 획득된 조도값 중에 적어도 하나에 기초하여 상기 복수의 신경망 모델 중 상기 적어도 하나의 제1 신경망 모델을 로딩하며, 이때, 상기 적어도 하나의 신경망 모델은 상기 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    요리 메뉴를 선택하는 사용자 입력이 수신되면, 상기 선택된 요리 메뉴에 대응되는 레시피에 대한 정보를 획득하는 단계;
    상기 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하는 단계;
    상기 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제1 요리 단계 및 상기 제1 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제1 신경망 모델을 로딩하는 단계;
    적어도 하나의 센서를 통해 상기 제1 요리 단계에 대응되는 센싱 데이터를 획득하는 단계;
    상기 획득된 센싱 데이터를 상기 적어도 하나의 제1 신경망 모델에 입력하여 상기 센싱 데이터에 포함된 요리 상황을 나타내는 컨텍스트 정보를 획득하는 단계;
    상기 레시피에 대한 정보 및 상기 컨텍스트 정보에 기초하여 상기 전자 장치의 동작을 제어하는 단계;
    상기 컨텍스트 정보에 기초하여 신경망 모델 변경 이벤트를 감지하는 단계; 및
    상기 신경망 모델 변경 이벤트가 감지되면, 상기 컨텍스트 정보 및 상기 전자 장치의 리소스 정보에 기초하여 상기 복수의 신경망 모델 중 적어도 하나의 제2 신경망 모델을 로딩하는 단계;를 포함하는 제어 방법.
  12. 제11 항에 있어서,
    상기 신경망 모델 변경 이벤트는 상기 제1 요리 단계와 상이한 제2 요리 단계를 수행하는 요리 상황이 감지되는 이벤트이며,
    상기 적어도 하나의 제2 신경망 모델을 로딩하는 단계는,
    상기 컨텍스트 정보에 기초하여 상기 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하는 단계; 및
    상기 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제2 요리 단계 및 상기 제2 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제2 신경망 모델을 로딩하는 단계;를 포함하는 제어 방법.
  13. 제12 항에 있어서,
    상기 적어도 하나의 제2 신경망 모델을 로딩하는 단계는,
    상기 컨텍스트 정보 및 상기 레시피에 대한 정보에 기초하여 상기 레시피에 대한 정보를 변경할지 여부를 결정하는 단계;
    상기 레시피에 대한 정보가 변경되는 것으로 판단되면, 상기 변경된 레시피에 대한 정보를 획득하는 단계;
    상기 컨텍스트 정보에 기초하여 상기 변경된 레시피에 대한 정보에 포함된 복수의 요리 단계 중 제3 요리 단계 및 상기 제3 요리 단계 이후에 수행될 적어도 하나의 요리 단계를 식별하는 단계;
    상기 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 중 제3 요리 단계 및 상기 제3 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 적어도 하나의 제3 신경망 모델을 로딩하는 단계;를 포함하는 제어 방법.
  14. 제13 항에 있어서,
    상기 레시피에 대한 정보를 변경할지 여부를 결정하는 단계는,
    상기 제1 요리 단계와 상기 제2 요리 단계 사이에 중간 요리 단계가 존재하는지 여부를 판단하는 단계;
    상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 존재하지 않으면, 상기 레시피에 대한 정보가 변경되지 않는 것으로 결정하는 단계;
    상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 존재하면, 상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 상기 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계인지 여부를 판단하는 단계; 및
    상기 제1 요리 단계 및 상기 제2 요리 단계 사이에 상기 중간 요리 단계가 상기 제2 요리 단계 이후의 요리 단계와 관련된 요리 단계라고 판단되면, 상기 레시피에 대한 정보가 변경되는 것으로 결정하는 단계;를 포함하는 제어 방법.
  15. 제11 항에 있어서,
    상기 신경망 모델 변경 이벤트는 상기 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구를 감지하는 이벤트이며,
    상기 적어도 하나의 제2 신경망 모델을 로딩하는 단계는,
    상기 컨텍스트 정보에 기초하여 상기 레시피에 대한 정보에 포함되지 않는 새로운 조리 기구가 감지되면, 상기 새로운 조리 기구에 기초하여 상기 레시피에 대한 정보를 변경하는 단계; 및
    상기 변경된 레시피에 대한 정보 및 상기 전자 장치의 리소스에 기초하여 상기 복수의 신경망 모델 적어도 하나의 제4 신경망 모델을 로딩하는 단계;를 포함하며
    이때, 상기 적어도 하나의 신경망 모델은 제4 요리 단계 및 상기 제4 요리 단계 이후에 수행될 적어도 하나의 요리 단계에 대응되는 제어 방법.
PCT/KR2023/005192 2022-06-23 2023-04-17 전자 장치 및 전자 장치의 제어 방법 WO2023249225A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/222,768 US20230418244A1 (en) 2022-06-23 2023-07-17 Electronic device and controlling method of electronic device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0077160 2022-06-23
KR20220077160 2022-06-23
KR1020220126501A KR20240000337A (ko) 2022-06-23 2022-10-04 전자 장치 및 전자 장치의 제어 방법
KR10-2022-0126501 2022-10-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/222,768 Continuation US20230418244A1 (en) 2022-06-23 2023-07-17 Electronic device and controlling method of electronic device

Publications (1)

Publication Number Publication Date
WO2023249225A1 true WO2023249225A1 (ko) 2023-12-28

Family

ID=89380049

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/005192 WO2023249225A1 (ko) 2022-06-23 2023-04-17 전자 장치 및 전자 장치의 제어 방법

Country Status (1)

Country Link
WO (1) WO2023249225A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210056173A (ko) * 2019-11-08 2021-05-18 엘지전자 주식회사 인공지능 조리 기기
KR20210074648A (ko) * 2019-12-12 2021-06-22 엘지전자 주식회사 조리장치 및 조리장치 제어방법
KR102327845B1 (ko) * 2021-07-23 2021-11-17 곽태영 사용자 맞춤형 레시피에 따라 소분된 식재료를 제공하기 위한 서비스 방법 및 시스템
US20220047109A1 (en) * 2020-08-14 2022-02-17 June Life, Inc. System and method for targeted heating element control
KR102400018B1 (ko) * 2017-09-29 2022-05-19 삼성전자주식회사 자동 조리 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400018B1 (ko) * 2017-09-29 2022-05-19 삼성전자주식회사 자동 조리 장치 및 방법
KR20210056173A (ko) * 2019-11-08 2021-05-18 엘지전자 주식회사 인공지능 조리 기기
KR20210074648A (ko) * 2019-12-12 2021-06-22 엘지전자 주식회사 조리장치 및 조리장치 제어방법
US20220047109A1 (en) * 2020-08-14 2022-02-17 June Life, Inc. System and method for targeted heating element control
KR102327845B1 (ko) * 2021-07-23 2021-11-17 곽태영 사용자 맞춤형 레시피에 따라 소분된 식재료를 제공하기 위한 서비스 방법 및 시스템

Similar Documents

Publication Publication Date Title
AU2018246843B2 (en) Data learning server and method for generating and using learning model thereof
EP3230655A1 (en) Cooking appliance and method for controlling the same
WO2018182357A1 (en) Data learning server and method for generating and using learning model thereof
WO2016122188A1 (en) Cooking appliance and method for controlling the same
WO2021091030A1 (en) Artificial intelligence cooking device
WO2019198865A1 (ko) 냉장고 및 냉장고의 사용자 인터페이스 표시 방법, 사용자 단말 및 사용자 단말의 기능 수행 방법
EP3775733A1 (en) Refrigerator and method of controlling thereof
WO2013151375A1 (en) System and method of providing control information to device regarding product
WO2018084576A1 (en) Electronic device and controlling method thereof
WO2017135742A1 (ko) 식재료 관리 시스템 및 식재료 관리 방법, 식재료를 이용한 레시피 제공 방법 및 이를 실행하는 서버, 식재료를 이용한 창작 레시피 생성방법
WO2021230577A1 (ko) 조리 기기, 조리 기기의 제어 방법 및 조리 시스템
WO2020166995A1 (en) Apparatus and method for managing schedule in electronic device
WO2021049751A1 (ko) 인공 지능을 이용한 조리 기기 제어 방법 및 그 시스템
WO2017039125A1 (en) Electronic device and operating method of the same
WO2017142266A1 (en) Electronic device including light emitting device and operating method thereof
EP3701770A1 (en) Microwave, display device and cooking system including the same
EP3523709A1 (en) Electronic device and controlling method thereof
WO2023249225A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2019135619A1 (ko) 조리 과정에 대한 타임라인을 결정할 수 있는 전자 장치
EP3292461A1 (en) Electronic device and operating method of the same
WO2023132562A1 (ko) 레시피 가이드 장치 및 방법
CN111344735A (zh) 图片编辑方法、移动终端以及可读储存介质
WO2020180131A1 (ko) 레시피 제공 시스템 및 방법
WO2024090773A1 (ko) 조리 기기 및 그의 동작 방법
WO2019061528A1 (zh) 动态壁纸的变化方法、装置及计算机可读存储介质

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

Country of ref document: EP

Kind code of ref document: A1