WO2019177343A1 - 냉장고, 그 제어 방법 및 시스템 - Google Patents

냉장고, 그 제어 방법 및 시스템 Download PDF

Info

Publication number
WO2019177343A1
WO2019177343A1 PCT/KR2019/002851 KR2019002851W WO2019177343A1 WO 2019177343 A1 WO2019177343 A1 WO 2019177343A1 KR 2019002851 W KR2019002851 W KR 2019002851W WO 2019177343 A1 WO2019177343 A1 WO 2019177343A1
Authority
WO
WIPO (PCT)
Prior art keywords
food
image
user
refrigerator
touch
Prior art date
Application number
PCT/KR2019/002851
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 KR1020190023124A external-priority patent/KR102217024B1/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US16/979,586 priority Critical patent/US11425338B2/en
Priority to CN201980025477.6A priority patent/CN111971684A/zh
Priority to EP19766651.4A priority patent/EP3745304A4/en
Publication of WO2019177343A1 publication Critical patent/WO2019177343A1/ko

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25DREFRIGERATORS; COLD ROOMS; ICE-BOXES; COOLING OR FREEZING APPARATUS NOT OTHERWISE PROVIDED FOR
    • F25D29/00Arrangement or mounting of control or safety devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features

Definitions

  • the disclosed invention relates to a refrigerator, a control method and a system thereof, and more particularly, to a refrigerator capable of identifying food stored in the refrigerator, a control method and a system thereof.
  • the refrigerator is a device for long-term storage of the stored items without decay, such as food, drinks, etc., and is usually provided with a refrigerating chamber for cold storage of the storage and a freezing chamber for freezing the storage.
  • the refrigerator repeats the cooling cycle, including compression-condensation-expansion-evaporation of the refrigerant, to maintain the temperature in the storage compartment at the set target temperature.
  • the refrigerator supplies the air cooled by the evaporator provided corresponding to each storage compartment based on the target temperature of each storage compartment (the refrigerator compartment and / or the freezing compartment) into each storage compartment so that the temperature of the storage compartment is maintained at the target temperature.
  • a refrigerator may include a display for displaying a temperature of a storage compartment and an operation mode of the refrigerator.
  • This display provides the user with a graphical user interface, and allows the user to easily obtain information related to the refrigerator and / or food related information using the graphical user interface and the touch panel, and the user intuitively controls commands. Allow input.
  • the refrigerator may display the information of the food stored in the storage room on the display in response to a user input input through the display, and manage the information of each food.
  • the information of the food stored in the storage room was generally input directly by the user. Therefore, whenever the food is stored in the refrigerator or the food is taken out of the refrigerator, the user is inconvenient to change the information of the food stored in the storage compartment.
  • One aspect of the disclosed invention is to provide a refrigerator, a control method and a system thereof, which can automatically identify food stored in the refrigerator.
  • One aspect of the disclosed invention is to provide a refrigerator, a control method and a system thereof capable of identifying food stored in the refrigerator using machine learning.
  • One aspect of the disclosed invention is to provide a refrigerator, a control method and a system thereof that can provide various services to a user based on food identified using machine learning.
  • Refrigerator according to one aspect of the disclosed disease storage room; A camera provided in the storage compartment; A touch sensitive display configured to receive a user's touch input; A communication unit communicating with an external device; The camera is controlled to photograph the inside of the storage room, the image inside the storage room is displayed on the touch-sensitive display, the communication unit is controlled to transmit the image to the external device, and in response to the user's touch input. And a controller configured to receive identification information from the image from the external device through a communication unit and to display the identification information on the touch-sensitive display.
  • the identification information may include identification information of the food identified from the image and location information in the image of the identified food.
  • the controller may determine a food corresponding to the user's touch input based on the location information of the user's touch input and the location information in the image of the identified food, and the food corresponding to the user's touch input. Information may be displayed on the touch-sensitive display.
  • the location information in the image of the identified food may include the location of a plurality of sample images arbitrarily selected from the image.
  • the identification information of the food identified from the image may include identification information of the food identified from the plurality of sample images.
  • the controller may select a sample image having a minimum distance from the user's touch input among the plurality of sample images.
  • the controller may display identification information of the food identified from the selected sample image on the touch-sensitive display.
  • the controller may display a name of a food identified from the selected sample image and the selected sample image and a storage period of the food identified from the selected sample image on the touch-sensitive display.
  • Identification information of the food identified from the selected sample image may include names of at least two foods.
  • the controller may display the at least two pieces of identification information on the touch-sensitive display.
  • the controller may display one piece of identification information selected by the user among the at least two pieces of identification information on the touch-sensitive display.
  • the controller may receive a modification of the identification information identified from the image from the user through the touch-sensitive display, and transmit the modification of the identification information identified from the image to the external device.
  • a control method of a refrigerator includes: photographing the inside of the storage room; Displaying an image inside the storage room on a touch-sensitive display; Transmit the image to an external device; Receive identification information identified from the image from the external device in response to a user's touch input to the touch sensitive display; And displaying the identification information on the touch-sensitive display.
  • the identification information may include identification information of the food identified from the image and location information in the image of the identified food.
  • the displaying of the identification information on the touch-sensitive display may include determining a food corresponding to the touch input of the user based on the location information of the user's touch input and the location information in the image of the identified food; And displaying food information corresponding to the user's touch input on the touch-sensitive display.
  • the location information in the image of the identified food may include the location of a plurality of sample images arbitrarily selected from the image.
  • the identification information of the food identified from the image may include identification information of the food identified from the plurality of sample images.
  • the determining of the food corresponding to the user's touch input may include selecting a sample image having a minimum distance from the user's touch input among the plurality of sample images.
  • Displaying the identification information on the touch-sensitive display may include displaying identification information of a food identified from the selected sample image on the touch-sensitive display.
  • the control method of the refrigerator may further include displaying a name of a food identified from the selected sample image and the selected sample image and a storage period of the food identified from the selected sample image on the touch-sensitive display.
  • the displaying of the identification information on the touch-sensitive display may further include displaying any one of the at least two pieces of identification information selected by the user on the touch-sensitive display.
  • a system includes a refrigerator; And a server device.
  • the refrigerator photographs the inside of the storage compartment, displays an image inside the storage compartment on the touch-sensitive display, transmits the image to the server device, and responds to the user's touch input to the touch-sensitive display from the server device.
  • the identification information identified from the image may be received, and the identification information may be displayed on the touch-sensitive display.
  • the server apparatus receives an image inside the storage compartment from the refrigerator, randomly selects a plurality of sample images from the image, identifies food from each of the plurality of sample images, and stores each of the plurality of sample images. Location information and identification information of the food identified from each of the plurality of sample images may be transmitted to the refrigerator.
  • the refrigerator may determine a food corresponding to the user's touch input based on the location information of the user's touch input and the location information of each of the sample images.
  • the refrigerator may select a sample image having a minimum distance from the user's touch input among the plurality of sample images.
  • the refrigerator may display identification information of the food identified from the selected sample image on the touch-sensitive display.
  • the refrigerator may display a name of the food identified from the selected sample image and the selected sample image and a storage period of the food identified from the selected sample image on the touch-sensitive display.
  • onset food management system includes a server device; And a storage compartment, and a refrigerator configured to transmit an image of the storage compartment to the server device.
  • the server device includes a communication unit; And a processing unit for identifying food from the image received from the refrigerator through the communication unit and transmitting information related to the identified food to the refrigerator through the communication unit.
  • the processor may identify food using different processes from different images.
  • the processor may identify a food region based on the difference between the received image and the reference image, and identify the food from the image of the food region.
  • the processor may identify a food by identifying the character when a character is extracted from the received image.
  • the processor may divide the received image into a plurality of areas according to a change in color of the received image, and identify food from the plurality of areas.
  • the processing unit may include a machine learning identification engine previously, and may identify food from the received image using the food food engine.
  • the refrigerator may display information related to the identified food and receive a correction input for the information related to the identified food from a user.
  • the processor may receive a correction input of the user, and may machine learn the identification engine again using the correction input of the user.
  • the refrigerator identifies the change area from a difference between the first image of the storage compartment at a first time point and the second image of the storage compartment at a second time point, and the server apparatus includes the change area to identify a food of the change area. Can be sent to.
  • a food management method includes: acquiring an image of a storage compartment by photographing an interior of the storage compartment; Identifying food from the image of the storage room using a machine learning identification engine previously; And displaying information related to the identified food. Identifying the food may include identifying food using different processes from different images.
  • Identifying the food comprises: identifying a food region based on the difference between the image and the reference image; And identifying food from the image of the food region.
  • Identifying the food may include identifying food by identifying the text when the text is extracted from the image.
  • Identifying the food comprises: dividing an image of the storage compartment into a plurality of areas according to a change in color of the image; Food can be identified from the plurality of areas.
  • the food management method may further include receiving a correction input for the information related to the identified food from a user.
  • the food management method may further include machine learning the identification engine again using a modified input of the user.
  • the food management method includes identifying a change region from a difference between a first image of the storage compartment at a first time point and a second image of the storage compartment at a second time point; The method may further include identifying a food of the modified region.
  • a refrigerator according to one aspect of the disclosed onset display; storeroom; A camera provided in the storage compartment; And a controller configured to control the camera to photograph the storage compartment, identify food stored in the storage compartment from an image of the storage compartment, and display information related to the identified food on the display device.
  • the controller may identify food using different processes from different images.
  • the control unit may include a machine learning identification engine previously, and may identify food from an image of the storage room using the food food engine.
  • the controller may identify a food region based on a difference between the image of the storage room and the reference image, and identify the food from the image of the food region.
  • the controller may identify food by identifying the character when the character is extracted from the image of the storage room.
  • the controller may divide the image of the storage compartment into a plurality of regions according to a change in the color of the image of the storage compartment, and identify food from the plurality of regions.
  • a refrigerator capable of automatically identifying food stored in the refrigerator, and a control method and system thereof.
  • a refrigerator capable of identifying food stored in the refrigerator using machine learning, a control method and a system thereof.
  • a refrigerator a control method and a system thereof, which can provide various services to a user based on food identified using machine learning.
  • FIG. 1 illustrates a food management system according to one embodiment.
  • FIG. 2 illustrates an exterior of a refrigerator according to one embodiment.
  • FIG 3 illustrates a front surface of a refrigerator according to one embodiment.
  • FIG. 4 illustrates a configuration of a refrigerator according to one embodiment.
  • FIG. 5 illustrates a touch screen display included in the refrigerator according to one embodiment.
  • FIG. 6 illustrates a configuration of a server device according to an embodiment.
  • FIG. 7 illustrates a configuration of an object identification engine included in a server device according to an embodiment.
  • FIG. 8 illustrates data stored in a server device according to an exemplary embodiment.
  • FIG. 9 illustrates an example of a learning engine for identifying an object included in a server device, according to an exemplary embodiment.
  • FIG. 10 illustrates an example of machine learning for object identification of a server apparatus according to an embodiment.
  • FIG. 11 illustrates a configuration of an object identification engine of a server device according to an embodiment.
  • FIG. 15 illustrates another example of an object identification engine of a server apparatus, according to an exemplary embodiment.
  • 16 and 17 illustrate another example in which an object identification engine included in a server device identifies an object.
  • FIG. 18 illustrates an example of a food identification method of a food management system, according to an embodiment.
  • FIG. 19 illustrates an interior image of a storage room photographed by the food identification method illustrated in FIG. 18.
  • FIG. 20 illustrates an example of identifying a food region by the food identification method illustrated in FIG. 18.
  • FIG. 21 illustrates an example of displaying food-related information by the food identification method illustrated in FIG. 18.
  • FIG. 22 illustrates another example of displaying food-related information by the food identification method illustrated in FIG. 18.
  • FIG. 23 is a view illustrating another example of a food identification method of the food management system according to one embodiment.
  • FIG. 24 illustrates an example of receiving a user's touch input by the food identification method illustrated in FIG. 23.
  • FIG. 25 illustrates an example of extracting a sample image by the food identification method illustrated in FIG. 23.
  • FIG. 26 illustrates an example of displaying food related information by the food identification method illustrated in FIG. 23.
  • FIG. 27 illustrates another example of displaying food-related information by the food identification method illustrated in FIG. 23.
  • FIG. 28 illustrates another example of a food identification method of a food management system according to one embodiment.
  • FIG. 29 illustrates an example of identifying additional food regions by the food identification method illustrated in FIG. 28.
  • FIG. 30 illustrates an example of displaying additional food related information by the food identification method illustrated in FIG. 28.
  • 31 is another example of a food identifying method of a food management system according to one embodiment.
  • 32 and 33 illustrate an example of modifying food related information by the food identification method illustrated in FIG. 31.
  • 34 is a view illustrating a method of identifying food by a refrigerator according to one embodiment.
  • FIG. 35 illustrates another example of an identification method in which the food management system individually identifies each of the foods.
  • FIG. 36 illustrates an example of manually inputting food related information by the food identification method illustrated in FIG. 35.
  • FIG. 37 illustrates another example of an identification method of collectively identifying food items by a food management system.
  • FIG. 38 illustrates an example of modifying food related information by the food identification method illustrated in FIG. 37.
  • FIG. 39 illustrates another example of modifying food related information by the food identification method illustrated in FIG. 37.
  • FIG. 40 is a view illustrating an example of a food management method of a food management system according to one embodiment.
  • FIG. 41 illustrates an example of purchasing food by the food management method illustrated in FIG. 40.
  • FIG. 42 is a view illustrating another example of a food management method of the food management system according to one embodiment.
  • 43 is a view illustrating a recipe providing method of a food management system according to one embodiment.
  • 44 and 45 illustrate an example of providing a recipe by the method of providing a recipe illustrated in FIG. 43.
  • FIG. 46 illustrates another example of providing a recipe by the recipe providing method of FIG. 43.
  • 47 is a view illustrating a recipe providing method of a food management system according to one embodiment.
  • FIG. 48 and 49 illustrate an example of providing a recipe by the method of providing a recipe illustrated in FIG. 47.
  • first, second, etc. are used to distinguish one component from another component, and the component is not limited by the terms described above.
  • the identification code is used for convenience of explanation, and the identification code does not describe the order of each step, and each step may be performed differently from the stated order unless the context clearly indicates a specific order. have.
  • FIG. 1 illustrates a food management system according to one embodiment.
  • the food management system 1 includes a refrigerator 100 for storing food and a server 200 for identifying (or recognizing) food stored in the refrigerator 100. And user equipment 300 that provides the user with information related to the identified (or perceived) grief.
  • the refrigerator 100, the server device 200, and the user device 300 included in the food management system 1 may be connected through a communication network NET.
  • the communication network (NET) may include both a wired communication network and a wireless communication network.
  • the wired communication network may include a communication network such as a cable network or a telephone network
  • the wireless communication network may include a communication network for transmitting and receiving signals through radio waves.
  • the wired communication network and the wireless communication network may be connected to each other.
  • the wired communication network may include a wide area network (WAN) such as the Internet
  • the wireless communication network may include an access point (AP) connected to the wide area network (WAN).
  • WAN wide area network
  • AP access point
  • the refrigerator 100 may refrigerate or freeze food.
  • the refrigerator 100 may include a storage compartment for storing food and a cooling device for cooling the storage compartment.
  • the refrigerator 100 may supply cooled air to the storage compartment by using a cooling device to prevent the food stored in the storage compartment from being deteriorated.
  • the refrigerator 100 may provide the user with information related to the pain stored in the storage compartment in response to the user's request. For example, the refrigerator 100 may photograph a storage room in which food is stored and acquire an image inside the storage room. In order to obtain information related to food stored in the storage room, the refrigerator 100 may transmit the captured image of the inside of the storage room to the server device 200 through a communication network NET. In addition, the refrigerator 100 may receive the food-related information (food-related information) stored in the storage room from the server device 200, display the received food-related information or transmit it to the user device 300.
  • the refrigerator 100 may photograph a storage room in which food is stored and acquire an image inside the storage room.
  • the refrigerator 100 may transmit the captured image of the inside of the storage room to the server device 200 through a communication network NET.
  • the refrigerator 100 may receive the food-related information (food-related information) stored in the storage room from the server device 200, display the received food-related information or transmit it to the user device 300.
  • the server device 200 may process data from another device through a network NET, and store or transmit the processed data to another device.
  • the server device 200 may include a communication unit capable of communicating with another device, a processing unit capable of processing data, and a storage medium capable of storing the processed data.
  • the server device 200 may be a server, a client, a workstation, a personal computer, a cloud, a data drive, a data station, or the like. May be called.
  • the server device 200 may include object recognition capable of identifying an object.
  • the server device 200 may include object recognition for identifying an object included in an image using machine learning.
  • the server device 200 may receive an image of the inside of the storage compartment from the refrigerator 100 through the communication network NET, and identify food (ie, food stored in the storage compartment) included in the image of the storage compartment.
  • the server device 200 may store information related to the identified food or transmit information related to the identified food to the refrigerator 100 and / or the user device 300.
  • the information related to the identified food may include an image of the identified food, a name of the identified food, a category of the identified food, a storage period of the identified food, and the like.
  • the user device 300 may process data from another device through a communication network NET, and display the processed data to the user.
  • the user device 300 may be carried by the user, or placed in the home or office of the user, and the user can easily access the user device 300.
  • the user device 300 may be a workstation, a personal computer, a terminal, a portable telephone, a smart phone, a handheld device, or a wearable device. May be variously named.
  • the user device 300 may receive the information related to the food stored in the refrigerator 100 from the refrigerator 100 and / or the server device 200, and display information related to the food stored in the refrigerator 100. For example, the user device 300 may display a name, an image, a category, an expiration date, and the like of the food stored in the refrigerator 100.
  • the food management system 1 may capture an image of a storage room of the refrigerator 100 to obtain an image inside the storage room, and identify a food included in the image of the storage room. In other words, the food management system 1 may identify the food stored in the storage compartment by using the image inside the storage compartment. In addition, the food management system 1 may provide the user with information related to the food stored in the storage compartment based on the identification result.
  • the refrigerator 100 may identify the food using the server device 200 and obtain information related to the stored food. have.
  • FIG. 2 illustrates an exterior of a refrigerator according to one embodiment.
  • 3 illustrates a front surface of a refrigerator according to one embodiment.
  • 4 illustrates a configuration of a refrigerator according to one embodiment.
  • 5 illustrates a touch screen display included in the refrigerator according to one embodiment.
  • the refrigerator 100 may include a main body 101 having an open front surface and a body formed inside the main body 101 and refrigerated and / or frozen.
  • the storage compartment 110 may include a door 120 that opens and closes an open front surface of the main body 101.
  • the main body 101 may form an appearance of the refrigerator 100.
  • the main body 101 may include an inner wound 102 forming the storage compartment 110 and an outer wound 103 coupled to an outer side of the inner wound 102 to form an outer appearance.
  • An insulating material (not shown) may be filled between the inner wound 102 and the outer wound 103 of the main body 101 to prevent cold air from leaking out of the storage compartment 110.
  • the storage compartment 110 may be divided into a plurality of storage compartments 110 by the horizontal barrier rib 110a and the vertical barrier rib 110b.
  • the storage compartment 110 may be divided into an upper storage compartment 111, a lower first storage compartment 112, and a lower second storage compartment 113.
  • the storage compartment 110 may be provided with a shelf 110c on which food can be placed.
  • the storage space inside the storage compartment 110 may be partitioned by the shelf 110c.
  • the upper storage room 111 may be divided into a first storage space 111a, a second storage space 111b, and a third storage space 111c.
  • the storage compartment 110 may be opened or closed by the door 120.
  • the upper storage compartment 111 may be opened and closed by the upper first door 121a and the upper second door 121b
  • the lower first storage compartment 112 may be the lower first. It may be opened and closed by the door 122
  • the lower second storage compartment 113 may be opened and closed by the lower second door 123.
  • the handle 120a may be provided in the door 120 to easily open and close the door 120.
  • the handle 121 may be formed long in the vertical direction along the upper first door 121a and the upper second door 121b and between the lower first door 122 and the lower second door 123. . Thus, when the door 120 is closed, the handle 120a can be seen as being integrally provided.
  • the refrigerator 1 includes a touch screen display 130, a temperature sensor 140, a camera 150, and a cooler as shown in FIG. 4. 160, a communicator 170, a storage 180, and a controller 190.
  • the touch screen display 130 may include a display panel 131 for displaying an image and a touch panel 132 for receiving a touch input.
  • the display panel 131 may convert image data received from the controller 190 into an optical signal that can be viewed by a user.
  • the display panel 131 may include a liquid crystal display (LCD) panel, a light emitting diode (LED) panel, an organic light emitting diode (OLED) panel, a micro light emitting diode (Micro Light Emitting Diode), uLED) panel, plasma display panel (PDP) and the like can be employed.
  • LCD liquid crystal display
  • LED light emitting diode
  • OLED organic light emitting diode
  • uLED micro light emitting diode
  • PDP plasma display panel
  • the display panel 131 is not limited thereto, and the display panel 131 may employ various displays capable of visually displaying an optical image corresponding to the image data.
  • the touch panel 132 may receive a user's touch input and output an electrical signal corresponding to the received touch input to the controller 190.
  • the touch panel 132 detects a user's touch on the touch panel 132 from a change in electrical resistance value or a change in capacitance, and controls an electric signal corresponding to the coordinates of the touch point of the user.
  • the controller 190 may identify the coordinates of the touch point of the user based on the electrical signal received from the touch panel 132.
  • the controller 190 may identify the user input based on the coordinates of the user's touch point.
  • the touch panel 132 may be located in front of the display panel 131.
  • the touch panel 132 may be provided on a surface on which an image is displayed. Therefore, the touch panel 132 may be formed of a transparent material so that the image displayed on the display panel 131 is not distorted.
  • the touch panel 132 may employ a resistive touch panel or a capacitive touch panel. However, the touch panel 132 is not limited thereto, and the touch panel 132 may detect a user's touch or approach, and output various electrical signals corresponding to the detected coordinates of the touch point or the coordinates of the access point. A touch panel can be adopted.
  • the touch screen display 130 may receive a touch input from the user, transmit the touch input to the controller 190, and display an image of the controller 190 in response to the touch input of the user.
  • the touch screen display 130 may interact with the user.
  • the touch screen display 130 may be installed in the door 120 for the user's convenience.
  • the touch screen display 130 may be installed in the upper second door 121b.
  • the touch screen display 130 installed in the upper second door 121b will be described, but the installation position of the touch screen display 130 is not limited to the upper second door 121b.
  • the touch screen display 130 may be viewed by a user such as an upper first door 121a, a lower first door 122, a lower second door 123, and an outer case 103 of the main body 10. It can be installed anywhere.
  • the touch screen display 130 may have a wake up function that is automatically activated when the user approaches within a certain range. For example, when the user approaches within a certain range, the touch screen display 130 may be activated. In other words, the touch screen display 130 may be turned on. In addition, the touch screen display 130 may be deactivated when a predetermined time elapses after the user leaves the predetermined range. In other words, the touch screen display 130 may be in an off state.
  • the temperature sensing unit 140 may be provided in the storage compartment 110 and may include inner temperature sensors 141 for sensing a temperature of the storage compartment 110.
  • the internal temperature sensors 141 are installed in each of the plurality of storage rooms 111, 112, and 112 to sense the temperature of each of the plurality of storage rooms 111, 112, and 113, and control an electrical signal corresponding to the detected temperature. And output to 190.
  • Each of the internal temperature sensors 141 may include a thermistor whose electrical resistance changes with temperature.
  • the camera 150 may be installed in the storage compartment 110 to acquire an internal image of the storage compartment 110.
  • the camera 150 may be installed inside the door 120 and may be photographed from the inside of the door 120 toward the inside of the storage compartment 110. Accordingly, the camera 150 may photograph the inside of the storage compartment 110 in a direction substantially the same as the direction of the user's gaze.
  • the camera 150 may include an imager 151 for capturing an image and converting the image into an electrical signal.
  • the imager 151 may include a plurality of photodiodes for converting an optical signal into an electrical signal, and the plurality of photodiodes may be arranged in two dimensions.
  • the imager 151 may include, for example, a charge-coupled device (CCD) image sensor or a complementary metal-oxide-semiconductor (CMOS) image sensor.
  • CCD charge-coupled device
  • CMOS complementary metal-oxide-semiconductor
  • the camera 150 may include a plurality of imagers 151a, 151b, and 151c to photograph the interior of the storage compartment 110 partitioned by the shelf 110c.
  • the camera 150 includes a first imager 151a for photographing the first storage space 111a of the upper storage room 111 and a second imager 151b for photographing the second storage space 111b.
  • a third imager 151c for photographing the third storage space 111c.
  • the internal image of the storage compartment 110 photographed by the camera 150 may include an image of the food stored in the storage compartment 110.
  • the camera 150 may transmit the captured image to the controller 190.
  • the camera 150 may transmit the internal image of the storage compartment 110 including the image of the food to the controller 190.
  • the cooling unit 160 may supply cold air to the storage compartment 110. Specifically, the cooling unit 160 may maintain the temperature of the storage compartment 110 within a range specified by the user by using evaporation of the refrigerant.
  • the cooling unit 160 includes a compressor 161 for compressing the refrigerant in the gas state, a condenser 162 for converting the compressed gas refrigerant into a liquid state, an expander 163 for reducing the refrigerant in the liquid state, and
  • the vaporizer may include an evaporator 164 converting the refrigerant in a reduced pressure state into a gas state.
  • the cooling unit 160 may cool the air in the storage chamber 110 by using a phenomenon in which the liquid refrigerant absorbs thermal energy of ambient air while converting the state into a gas state.
  • the cooling unit 160 is not limited to including the compressor 161, the condenser 162, the expander 163, and the evaporator 164.
  • the cooling unit 160 may include a Peltier element using the Peltier effect.
  • the Peltier effect means that when a current flows through contact surfaces of different metals, an exothermic phenomenon occurs in one metal and an endothermic phenomenon occurs in another metal.
  • the cooling unit 160 may cool the air in the storage compartment 110 using the Peltier element.
  • the cooling unit 160 may include a magnetic cooling device using a magneto-caloric effect.
  • the magnetocaloric effect means that heat is released when a specific material (magnetic calorie material) is magnetized, and absorbs heat when the specific material (magnetic calorie material) is demagnetized.
  • the cooling unit 160 may cool the air in the storage compartment 110 by using a magnetic cooling device.
  • the communication unit 170 may exchange data with the server device 200 and / or the user device 300.
  • the communicator 170 may transmit an image of the storage room captured by the camera 150 to the server device 200, and receive information related to food included in the image of the storage room from the server device 200. Can be.
  • the communication unit 170 wirelessly communicates data with the server device 200 and / or the user device 300 in a wired communication module 172 and the server device 200 and / or the user device 300. It may include a wireless communication module 171 to send and receive.
  • the wired communication module 172 may be connected to the wired communication network and communicate with the server device 200 and / or the user device 300 through the wired communication network.
  • the wired communication module 172 connects to a wired communication network through Ethernet (Ethernet, IEEE 802.3 technical standard), and receives data from the server device 200 and / or the user device 300 through the wired communication network. Can be.
  • Ethernet Ethernet, IEEE 802.3 technical standard
  • the wireless communication module 171 may wirelessly communicate with a base station or an access point (AP), and may access a wired communication network through a base station or an access point.
  • the wireless communication module 171 may also communicate with a server device 200 and / or a user device 300 connected to a wired communication network via a base station or an access point.
  • the wireless communication module 171 wirelessly communicates with an access point (AP) using Wi-Fi (WiFi TM, IEEE 802.11 technology standard), or CDMA, WCDMA, GSM, Long Term Evolution (LET), WiBro, etc. It can communicate with the base station using.
  • the wireless communication module 171 may also receive data from the server device 200 and / or the user device 300 via a base station or access point.
  • the wireless communication module 171 may communicate directly with the server device 200 and / or the user device 300.
  • the wireless communication module 171 may use the Wi-Fi, Bluetooth (Bluetooth TM, IEEE 802.15.1 technology standard), ZigBee (ZigBee TM, IEEE 802.15.4 technology standard), etc.
  • server device 200 and / or Data may be wirelessly received from the user device 300.
  • the communication unit 170 may exchange data with the server device 200 and / or the user device 300, and control the data received from the server device 200 and / or the user device 300.
  • the storage unit 180 may include a storage medium 181 for storing a program and / or data, and a connection terminal 182 that may be connected to an external storage medium for storing a program and / or data.
  • the program includes a plurality of instructions combined to perform a specific function, and data may be processed and / or processed by the plurality of instructions included in the program.
  • the programs and / or data may include system programs and / or system data directly related to the operation of the refrigerator 100, and application programs and / or application data that provide convenience and fun to the user.
  • the storage medium 181 may store a program and / or data in the form of a file.
  • the storage medium 181 may store a program and / or data in the form of a file such as "* .exe” or "* .jpg” or "* .mpg”.
  • the storage medium 181 can store the content data electrically, magnetically or optically.
  • the storage medium 181 may include a solid state driver (SSD), a hard disc drive (HDD), an optical disc drive (ODD), or the like.
  • SSD solid state driver
  • HDD hard disc drive
  • ODD optical disc drive
  • the storage medium 181 may output a program and / or data to the controller 190 in response to a loading command of the controller 190.
  • connection terminal 182 may be connected to an external storage medium storing a program and / or data.
  • the connection terminal 182 may include a universal serial bus (USB) terminal, and may be connected to an external USB storage medium.
  • USB universal serial bus
  • the external storage medium may store a program and / or data in the form of a file, and may store the program and / or data electrically, magnetically, or optically.
  • the external storage medium may output a program and / or data to the controller 190 through the connection terminal 182 in response to a loading command of the controller 190.
  • the storage unit 180 may store a program and / or data, and output the stored program and / or data to the controller 190.
  • the storage unit 180 may store a program and / or data executed by the controller 190 to perform an operation described below.
  • the controller 190 may include a memory 192 for loading and storing a program and / or data stored in the storage 180, and a user of the touch screen display 130 according to the program and / or data stored in the memory 192. It includes a processor 191 for processing the input data and the communication data of the communication unit 170.
  • the controller 190 may further include not only hardware such as the memory 192 and the processor 191, but also software such as a program and / or data stored in the memory 192 and processed by the processor 191.
  • the memory 192 may store programs and / or data for controlling the components included in the refrigerator 100, and may store temporary data generated while controlling the components included in the refrigerator 100.
  • the memory 192 may store a program and / or data for controlling the operation of the cooling unit 160 based on the sensing result of the temperature sensing unit 140, and the sensing of the temperature sensing unit 140. You can temporarily remember the result.
  • the memory 192 may store a program and / or data for controlling the operation of the touch screen display 130, and may display an image displayed on the touch screen display 130 and a touch input input through the touch screen display 130. User input) can be temporarily stored.
  • the memory 192 may store a program and / or data for controlling the photographing operation of the camera 150 based on the opening and closing of the door 120, and may temporarily store an image photographed by the camera 150. .
  • the memory 192 may store a program and / or data for controlling a communication operation of the communication unit 170, and may temporarily store communication data transmitted and received by the communication unit 170. In addition, the memory 192 may store a program and / or data for the refrigerator 100 to perform an operation described below.
  • the memory 192 is a nonvolatile memory such as read only memory or flash memory for storing data for a long time, and a static random access memory (S-RAM) for temporarily storing data. ), And volatile memory such as D-RAM (Dynamic Random Access Memory).
  • the processor 191 processes the touch input of the touch screen display 130 and / or the communication data of the communication unit 170 according to the program and / or data stored / stored in the memory 192, and the camera 150 and the touch screen.
  • a control signal for controlling the operation of the display 130 and / or the operation of the communication unit 170 may be generated.
  • the processor 191 receives temperature information of the storage compartment 110 from the temperature sensing unit 140, and controls cooling to control an operation of the cooling unit 160 based on the temperature information of the storage compartment 110. You can generate a signal.
  • the processor 191 receives a user's touch input from the touch screen display 130, and displays a display control signal and image data for displaying an image on the touch screen display 130 in response to the user's touch input. 130).
  • the processor 191 generates a shooting control signal so that the camera 150 photographs the interior of the storage room 110 as soon as the open door 120 is closed, and receives an internal image of the storage room 110 from the camera 150. can do.
  • the processor 191 may transmit a communication control signal for controlling the communication unit 170 to transmit the internal image of the storage compartment 110 to the server device 200 in response to the reception of the internal image of the storage compartment 110 from the camera 150. Can be generated.
  • the processor 191 may display the food related information on the touch screen display 130 in response to receiving the information related to the food stored in the storage compartment 110 from the server device 200 through the communication unit 170. Can be generated.
  • the processor 191 may generate a control signal for the refrigerator 100 to perform an operation described below.
  • the processor 191 may include a core for performing logical and arithmetic operations, a register for storing the calculated data, and the like.
  • the controller 190 is based on the temperature of the storage compartment 110 through the temperature sensor 140, the user's touch input through the touch screen display 130 and / or communication data through the communication unit 170 based on the cooling unit ( 160, the touch screen display 130, and the communicator 170 may be controlled.
  • the controller 190 may include a processor and a memory for controlling all of the components included in the refrigerator 100, and the controller 190 may include a plurality of processors and a plurality of memories. Can be.
  • the controller 190 may include a processor and memory for controlling the operation of the temperature sensing unit 140 / cooling unit 160 and a processor and memory for controlling the operation of the touch screen display 130. A processor and a memory for controlling the operation may be provided separately.
  • FIG. 6 illustrates a configuration of a server device according to an embodiment.
  • 7 illustrates a configuration of an object identification engine included in a server device according to an embodiment.
  • 8 illustrates data stored in a server device according to an exemplary embodiment.
  • 9 illustrates an example of a learning engine for identifying an object included in a server device, according to an exemplary embodiment.
  • 10 illustrates an example of machine learning for object identification of a server apparatus according to an embodiment.
  • the server apparatus 200 includes an input / output unit 210, a communication unit 220, a storage unit 230, and a processing unit 240. can do.
  • the input / output unit 210 may include an input device that receives a control command for the server device 200 from a user and / or an administrator, and a display device that displays operation information of the server device 200.
  • the input / output unit 210 may include various buttons or switches, pedals, keyboards, mice, track-balls, various levers, and handles for input of a user and / or an administrator.
  • a graphical user interface i.e., software input device 211, such as a hardware input device 211, such as a stick or the like, or a touch pad for input of a user and / or administrator. It may be.
  • the input / output unit 210 may include a display 212 for displaying the operation of the server device 200.
  • the input / output unit 210 may include a terminal provided separately from the server device 200.
  • the input / output unit 210 may include a fixed terminal including a keyboard, a monitor, or the like, or a portable terminal including a keyboard, a touch pad, a display, a touch screen display, and the like.
  • the communicator 220 may exchange data with the refrigerator 100 and / or the user device 300.
  • the communication unit 220 may receive an image of the inside of the storage room from the refrigerator 100, and transmit information related to food included in the image of the storage room to the refrigerator 100 and / or the user device 300. .
  • the communication unit 220 wirelessly exchanges data with the refrigerator 100 and / or the user device 300 by wired communication module 221 that exchanges data with the refrigerator 100 and / or the user device 300 by wire.
  • the receiving wireless communication module 222 may be included. Configuration and operation of the wired communication module 221 and the wireless communication module 222 may be the same as that of the refrigerator 100.
  • the communication unit 220 may exchange data with the refrigerator 100 and / or the user device 300, and output the data received from the refrigerator 100 and / or the user device 300 to the processor 240. can do.
  • the storage unit 230 may store a program and / or data for processing a request of the refrigerator 100 and / or the user device 300.
  • the storage 230 may use an object identification engine 231 for identifying an object from an image, training data 232 for training the object identification engine 231, and an object identification engine 231. It may include user modification data 233 for retraining the object identification engine 231 according to the modification of.
  • the object identification engine 231 may identify the object from the image using learning by map or learning without guidance. For example, the object identification engine 231 may identify foods included in the image and output food-related information such as names of the identified foods by pre-training or post-training.
  • the object identification engine 231 includes supervised learning that is learned by a manager's guidance, unsupervised learning that is learned without a manager's guidance, and reinforcement learning that is learned by compensation without a manager's guidance. And the like. In the following description, it is assumed that the object identification engine 231 includes supervised learning.
  • the object identification engine 231 may include various learning algorithms for object identification through an image.
  • the object identification engine 231 may include a neural network algorithm, a support vector machine (SVM) algorithm, an adaboost algorithm, a random forest algorithm, and the like. have.
  • SVM support vector machine
  • the object identification engine 231 may be trained in advance by the training data 232. In addition, the object identification engine 231 may be post-trained later by the user modification data 233.
  • the training data 232 may include an image and a name of an object corresponding to the image.
  • the training data 232 may include a file containing an “apple image” and a food name corresponding to “apple”.
  • the user modification data 233 may include an image of the object and the name of the object modified by the user of the refrigerator 100.
  • the user correction data 233 may include a file containing an “apple image” and a food name “apple” modified by a user.
  • the storage unit 230 may include a food database 232a and a user input database 233a.
  • the food database 232a may include training data 232 for training the object identification engine 231.
  • the training data 232 of the food database 232a may be stored in advance by the designer, and initially the object identification engine 231 may be trained by the training data 232 of the food database 232a. .
  • the training data 232 of the food database 232a may include a name of the food and images of the food.
  • the food database 232a may include pineapples and at least one image representing pineapples (pineapple_1.jpg, pineapple_2.jpg), grapes and grapes. It may include at least one image (Grape_1.jpg, Grapge_2.jpg) indicating, and may include an apple and at least one image (Apple_1) indicating the apple.
  • the user input database 233a may include user correction data 233 input or modified by the user.
  • the object identification engine 231 may be retrained by the user modification data 233.
  • the user modification data 233 of the user input database 233a may include images corresponding to the name of the food input by the user and the name of the modified food by the user.
  • the user input database 233a may include an apple input by the user and an image (Apple_2.jpg) corresponding to the modified apple.
  • the storage unit 230 may include a training data generator 231a, The object identification engine learner 231b and the object identification engine generator 231c may be further included.
  • the training data generator 231a may generate training data for retraining the object identification engine 231 using the existing training data 232 and the user modification data 233 input by the user. For example, the training data generator 231a may mix the training data 232 and the user correction data 233, and adjust the ratio between the training data 232 and the user correction data 233.
  • the object identification engine learner 231b may train the object identification engine 231 using training data newly generated by the training data generator 231a. As described below, the object identification engine learning unit 231b inputs a food image into the object identification engine 231 among the training data, and outputs a food name corresponding to the food image and the food output from the object identification engine 231. The names may be compared, and coefficients included in the object identification engine 231 may be adjusted according to the comparison result.
  • the object identification engine generator 231c may generate the object identification engine 231 trained by the object identification engine learner 231b.
  • the storage unit 230 may store a program and / or data, and output the stored program and / or data to the processor 240.
  • the storage 230 may store a program and / or data executed by the processor 240 to perform an operation described below.
  • the storage unit 230 may store training data 232 and user modification data 233 for training the object identification engine 231 learning engine for object identification.
  • the processor 240 may load and store a program and / or data stored in the storage 230 and the refrigerator 100 and / or a user according to the program and / or data stored in the memory 242. It may include a processor 241 for processing data received from the device 300.
  • the processor 240 may further include not only hardware such as the memory 242 and the processor 241, but also software such as programs and / or data stored in the memory 242 and processed by the processor 241.
  • the memory 242 stores programs and / or data for processing data received from the refrigerator 100 and / or the user device 300, and the data received from the refrigerator 100 and / or the user device 300. You can store temporary data that occurs during processing.
  • the memory 242 may store the untrained object identification engine 231, and train the untrained object identification engine 231 using the training data 232 stored in the storage 230. Can store programs and / or data.
  • the memory 242 may store the trained object identification engine 231, and may store a program and / or data for identifying an object of the image from the image data using the trained object identification engine 231.
  • the memory 242 may also store programs and / or data for the server device 200 to perform the operations described below.
  • the memory 242 may include a nonvolatile memory such as a ROM or a flash memory for storing data for a long time, and a volatile memory such as an S-RAM or a D-RAM for temporarily storing the data.
  • a nonvolatile memory such as a ROM or a flash memory for storing data for a long time
  • a volatile memory such as an S-RAM or a D-RAM for temporarily storing the data.
  • the processor 241 processes data received from the refrigerator 100 and / or the user device 300 according to a program and / or data stored / stored in the memory 242, and returns the processed result to the refrigerator 100 and / or.
  • a control signal for transmitting to the user device 300 may be generated.
  • the processor 241 may train the untrained object identification engine 231 stored in the memory 242. Specifically, the processor 241 inputs the training data 232 to the untrained object identification engine 231, compares the output of the object identification engine 231 with the training data 232, and then executes the object identification engine 231. Can be updated (trained).
  • the processor 241 may identify the object from the image using the trained object identification engine 231 stored in the memory 242.
  • the processor 241 inputs a storage interior image transmitted from the refrigerator 100 to the trained object identification engine 231, and displays foods including the storage interior image based on the output of the object identification engine 231. Can be identified.
  • the processor 241 may identify the food items stored in the storage compartment 110 of the refrigerator 100 using the trained object identification engine 231 and output information about the identified food items.
  • the processor 241 may generate a control signal for the server device 200 to perform the operation described below.
  • the processor 241 may include a core for performing logical and arithmetic operations, a register for storing the calculated data, and the like.
  • the processor 240 may train the untrained object identification engine 231, and identify the object from the input image using the trained object identification engine 231.
  • the object identification engine 231 may include a neural network as shown in FIG.
  • the object identification engine 231 may include an input layer into which image data is input, an output layer in which information about the identified object is output, and a hidden layer between the input layer and the output layer. (hidden) may be included.
  • the input layer may include a plurality of input nodes i1 and i2, and image data may be input to each of the plurality of input nodes i1 and i2. For example, luminance values and / or color values of the plurality of pixels included in the image may be input to each of the plurality of input nodes i1 and i2.
  • the hidden layer includes a plurality of hidden nodes h1 and h2, and a plurality of input nodes i1 and i2 to which weights w1, w2, w3 and w4 are applied to each of the hidden nodes h1 and h2.
  • the sum of the output values of) may be input.
  • the processor 240 may calculate a sum of an output value of the first input node i1 to which the first weight w1 is applied and an output value of the second input node i2 to which the second weight w2 is applied. 1 can be input to the hidden node (h1).
  • the processor 240 hides the sum of the output value of the first input node i1 to which the third weight w3 is applied and the output value of the second input node i2 to which the fourth weight w4 is applied to the second hidden value. Can input to node h2.
  • the processor 240 may apply a step function or a sigmoid function to an input value input to the hidden layer. For example, the processor 240 may input an input value of the first hidden node h1 to the sigmoid function, and output an output value of the sigmoid function to the output layer. In addition, the processor 240 inputs the input value of the second hidden node h2 to the sigmoid function and applies the weights w5, w6, w7, and w8 to the output value of the sigmoid function to output the output layer ( output).
  • the output layer includes a plurality of output nodes o1 and o2, and each of the plurality of output nodes o1 and o2 has a plurality of hidden nodes h1, to which weights w5, w6, w7 and w8 are applied.
  • the sum of the output value of h2) can be input.
  • the processor 240 may calculate a sum of an output value of the first hidden node h1 to which the fifth weight w5 is applied and an output value of the second hidden node h2 to which the sixth weight w6 is applied. It can be input to one output node o1.
  • the processor 240 outputs a sum of an output value of the first hidden node h1 to which the seventh weight w7 is applied and an output value of the second hidden node h2 to which the eighth weight w8 is applied to the second output. Can input to node o2.
  • the processor 240 may apply a step function or a sigmoid function to an input value input to an output layer. For example, the processor 240 may input an input value of the first output node o1 to the sigmoid function and output an output value of the sigmoid function. In addition, the processor 240 may input an input value of the second output node o2 to the sigmoid function and output an output value of the sigmoid function.
  • Objects are assigned to each of the plurality of output nodes o1 and o2 included in the output layer, and the output values of the plurality of output nodes o1 and o2 are displayed in the plurality of output nodes o1 and o2. It can represent the probability that the object is assigned to).
  • the processor 240 may identify an object included in the image based on the outputs of the plurality of output nodes o1 and o2.
  • the output of the object identification engine 231 may vary according to the value of the weights w1 to w8 between the layers input, hidden, and output. Accordingly, the processor 240 may set appropriate weights w1 to w8 for accurately identifying the object, and set appropriate weights w1 to w8 of the object identification engine 231 using the training data 232. have. As such, training the object identification engine 231 using the training data 232 is referred to as "learning.”
  • the server device 200 may train the untrained object identification engine 231 as shown in FIG. 10A.
  • the server device 200 obtains training data 232 (1010).
  • the processor 240 may load the training data 232 stored in the storage 230.
  • the training data 232 may include a plurality of images and names of objects corresponding to the plurality of images, respectively.
  • the server device 200 may obtain training data 232 from another device connected to a wide area network (WAN).
  • WAN wide area network
  • the server device 200 inputs the training data 232 to the object identification engine 231 (1020).
  • the processor 240 may determine luminance values and / or RGB values (data of a red subpixel, data of a green subpixel, and blue subpixel) of a plurality of pixels constituting an image of the training data 232. 231). For example, the processor 240 may input RGB values of a plurality of pixels constituting the image of the training data 232 to the input nodes i1 and i2 of the input layer of the neural network.
  • the server device 200 compares the training data 232 with the output of the object identification engine 231 (1030).
  • the processor 240 performs object identification on an image of the training data 232 using the object identification engine 231. For example, the processor 240 may apply the weights w1 to w4 to the outputs of the input nodes i1 and i2 of the input layer of the neural network, thereby applying the hidden nodes h1, of the hidden layer. h2). The processor 240 inputs the inputs of the hidden nodes h1 and h2 to the sigmoid function and applies the weights w5-w8 to the output of the sigmoid function to output nodes of the output layer (ouput) ( o1, o2). Thereafter, the processor 240 may input the inputs of the output nodes o1 and o2 to the sigmoid function and output the output of the sigmoid function.
  • the processor 240 may identify an object included in the image of the training data 232 based on the output of the object identification engine 231. For example, each of the plurality of output nodes o1 and o2 of the neural network may output a probability that an object included in the image matches objects allocated to each of the plurality of output nodes o1 and o2. The processor 240 may identify the object included in the image of the training data 232 based on the probability output from the neural network.
  • the processor 240 may compare the object identified by the output of the object identification engine 231 with the object by the training data 232.
  • the server device 200 updates the object identification engine 231 based on the output of the object identification engine 231 and the training data 232 (1040).
  • the processor 240 may determine whether the object identified by the output of the object identification engine 231 and the object by the training data 232 are the same.
  • the processor 240 updates the object identification engine 231 in an appropriate manner. For example, if the probability output from the neural network for the object by the training data 232 is less than the reference value, the processor 240 may change the weights w1-w8 constituting the neural network.
  • the server device 200 may repeat the acquisition of the training data 232, the input of the training data 232, the evaluation of the output of the object identification engine 231, and the update of the object identification engine 231.
  • the object identification engine 231 is trained to identify an object included in the image of the training data 232.
  • the weights w1-w8 of the neural network are set to identify objects included in the image of the training data 232 by the training operation.
  • server device 200 may identify the object of the image using the trained object identification engine 231 as shown in (b) of FIG. 10.
  • the server device 200 receives an image (1060).
  • the processor 240 may receive an image including an object to be identified from an external device through the communication unit 220.
  • the processor 240 may receive an internal image of the storage compartment 110 from the refrigerator 100 through the communication unit 220.
  • the server device 200 inputs the received image to the object identification engine 231 (S1070).
  • the processor 240 may input luminance values and / or RGB values (data of a red subpixel, data of a green subpixel, and data of a blue subpixel) of a plurality of pixels constituting the image to the object identification engine 231. have. Operation 1070 may be the same as operation 1020.
  • the server device 200 performs object identification (1080).
  • the processor 240 may recognize the object in the received image using the object identification engine 231, and identify the object included in the image of the training data 232 based on the output of the object identification engine 231. have. Operation 1080 may be the same as operation 1030.
  • the server device 200 outputs an object identification result (1090).
  • the processor 240 may control the communicator 220 to transmit information about the object of the received image to another device. For example, the processor 240 may transmit the information related to the food identified from the internal image of the storage compartment 110 to the refrigerator 100 through the communicator 220.
  • the server device 200 may identify the food using a special method in order to identify the food stored in the storage compartment 110 of the refrigerator 100.
  • 11 illustrates a configuration of an object identification engine of a server device according to an embodiment.
  • 12, 13, and 14 illustrate an example in which the object identification engine included in the server device identifies food.
  • the server device 200 may include an area detection engine 251, an area classification engine 252, and an identification engine 253.
  • the area detection engine 251, the area classification engine 252, and the identification engine 253 may be implemented in hardware or software, respectively.
  • the area detection engine 251, the area classification engine 252, and the identification engine 253 may be part of the processor 241 in hardware, or may be part of a program stored in the storage unit 230 in software.
  • the area detection engine 251 acquires an interior image 500 of the storage compartment 110 of the refrigerator 100, and positions foods 501, 502, 503, and 504 in the storage interior image 500.
  • the food regions 510, 520, and 530 may be identified.
  • the area detection engine 251 may identify food areas 510, 520, and 530 in which food is located in various ways.
  • the area detection engine 251 selects the food areas 510, 520, 530 and the background area based on the difference between the internal image of the empty storage compartment 110 and the internal image of the storage compartment 110 in which the food is placed. Can be separated.
  • the area detection engine 251 may receive both a storage room interior image and a reference image (empty storage room interior image) from the refrigerator 100, and the area detection engine 251 may locate a food from a difference between the storage room interior image and the reference image.
  • the food regions 510, 520, and 530 may be separated from the background region serving as the background of the storage compartment 110.
  • the area detection engine 251 may extract an edge from an image of the inside of the storage room, and separate the background area from the food areas 510, 520, and 530 where the food is located based on the image's outline. have.
  • the area detection engine 251 extracts information about a change in color from an image of the inside of the storage room, and the food areas 510 and 520 where the food is located based on a boundary line in which the color rapidly changes within the image inside the storage room. 530 may be separated from the background region.
  • the area detection engine 251 may remove an image of the shelf 110c and / or a reflection image of the food from the food areas 510, 520, and 530 in order to improve the identification rate of the food.
  • the area detection engine 251 may acquire a storage interior image 500 as illustrated in FIG. 12A, and may be obtained from the storage interior image 500 as illustrated in FIG. 12B. As shown, food regions 510, 520, and 530 in which foods 501, 502, 503, and 504 are located may be identified.
  • the region detection engine 251 includes a first food region 510 in which the first food A 501 is located, a second food region 520 in which the second food B 502 is located, and a third food C ( Third food region 530 in which 503 and fourth food D 504 are located together may be identified.
  • the area classification engine 252 may classify the food areas 510, 520, 530 identified by the area detection engine 251. For example, the area classification engine 252 may classify the food areas 510, 520, 530 according to the difficulty (degree of difficulty) for identifying the food from each of the food areas 510, 520, 530. .
  • the area classification engine 252 may include a character identification area in which characters are detected in the food areas 510, 520, and 530, an image identification area in which a single food is detected in the food areas 510, 520, and 530, and In the regions 510, 520, and 530, the food may be classified into an image segmentation area in which a plurality of foods are detected.
  • the area classification engine 252 may classify it into a character identification region. For example, processed foods such as canned food and ham do not have an inherent shape for identifying food, and letters for identifying food are provided in the appearance of the food. Food in the letter identification area can be identified by letter identification.
  • the area classification engine 252 uses the edge extraction and / or color change extraction for the food regions 510, 520, and 530. In operation 530, it may be determined whether a single food item or a plurality of food items are overlapped with each other.
  • the area classification engine 252 locates a plurality of foods overlapping each other in the food area 510, 520, and 530. Can be classified into an image segmentation area.
  • the area classification engine 252 may display an image in which a single food is located in the food areas 510, 520, and 530. You can classify it into a human-eye area
  • the area classification engine 252 may extract the letter “A” from the first food area 510 shown in FIG. 12B using a letter extraction algorithm. Therefore, the area classification engine 252 may classify the first food area 510 as a letter identification area.
  • the area classification engine 252 is unable to extract characters from the second food area 520 shown in FIG. 12 (b), and finds a boundary line in which the color suddenly changes within the second food area 520. Can not. Therefore, the area classification engine 252 may classify the second food area 520 as an image identification area.
  • the area classification engine 252 may find a boundary line in which the color rapidly changes within the third food area 530 illustrated in FIG. 12B. Therefore, the area classification engine 252 may classify the third food area 530 as an image segmentation area.
  • the identification engine 253 uses the different food identification methods (or identification engines) for the food areas 510, 520, 530 classified by the area classification engine 252, and the food areas 510, 520, 530. ) Foods can be identified. Specifically, the identification engine 253 uses the at least one of the letter identification engine 253a, the image identification engine 253b, and the image segmentation engine 253c with respect to the food regions 510, 520, and 530. Food 510, 520, 530 can be identified.
  • the identification engine 253 may use the character identification engine 253a to identify the letter "A" from the first food region 510 as shown in FIG. Food A 501 of the first food region 510 may be identified based on A ′′.
  • the identification engine 253 may identify the food B 502 from the second food region 520 as shown in FIG. 12C using the image identification engine 253b.
  • the image identification engine 253b may identify the food B 502 from the image itself of the second food region 520.
  • the identification engine 253 may segment the images of the foods superimposed on each other using the region division engine 253c.
  • the region segmentation engine 253c may convert the image segmentation region into a color space in which the plurality of foods are distinguished, and then segment the image segmentation region into a plurality of divided food regions based on an appropriate threshold value.
  • the region segmentation engine 253c may group regions having similar colors as the image segment region and divide the region into a plurality of divided food regions.
  • the third food region 530 illustrated in FIG. 12B is divided into the first divided food region 531 and the second divided food region as illustrated in FIG. 12C. 532).
  • the identification engine 253 may perform food identification on each of the first divided food region 531 and the second divided food region 532 using the image identification engine 253c.
  • the identification engine 253 may identify food C 503 from the first divided food region 531, and may identify food D 504 from the second divided food region 532.
  • the area detection engine 251 may identify the food areas 510, 520, and 530 on which foods are located by comparing the image of the empty storage room 110 with the received image.
  • the area classification engine 252 may classify the food areas 510, 520, and 530 based on whether the food areas 510, 520, and 530 include text and / or color boundaries.
  • the identification engine 253 may identify foods using different identification algorithms for the food areas 510, 520, and 530 classified into different groups. For example, the identification engine 253 uses the character identification engine 253a for the food region including the character to identify the food in the food region, and the region segmentation engine 253c for the food region including the color boundary. The food region can be divided by using. In addition, the identification engine 253 may identify the food from the image using the image identification engine 253b.
  • the server device 200 may output a storage room interior image 400 including information about foods 410, 402, 403, and 404 from the storage interior image 400. .
  • the area detection engine 251 may acquire an interior image 400 of the storage compartment, the first food region 410 in which the first food 401 is located from the interior of the storage compartment 400, and the second food 402.
  • the second food region 420 in which is located and the third food region 430 in which the third food 403 and the fourth food 404 are located together may be identified.
  • the region classification engine 252 may classify the first food region 410 from which the text is extracted into the character identification region, and classify the second food region 420 from which the character is not extracted into the image identification region.
  • the third food region 430 including a boundary line in which the image changes rapidly may be classified as an image segmentation region.
  • the character identification engine 253a of the identification engine 253 may identify the first food 401 of the first food region 410 by using character identification, and the image identification engine 253b of the identification engine 253. May identify the second food 402 of the second food region 420 by using the image identification.
  • the region dividing engine 253c of the identification engine 253 may divide the third food region 430 into an image of the third food 403 and an image of the fourth food 404, and the character identification engine 253a.
  • the image identification engine 253b may identify the third food 403 and the fourth food 404 from the image of the third food 403 and the image of the fourth food 404, respectively.
  • the identification engine 253 may tag the first food 401 in the first food region 410, may tag the second food 402 in the second food region 420, and may include the third food region.
  • the third food 403 and the fourth food 404 may be tagged 430.
  • the identification engine 253 may include the first food region 410 tagged with the first food 401, the second food region 420 tagged with the second food 402, and the third food 403 and the third food. 4
  • the food 404 may output a storage room interior image 400 including the third food region 430 tagged therein.
  • the server device 200 may be added to the new storage room interior image 450 by using the storage interior image 400 in which foods 401, 402, 403, and 404 have been identified in advance. Food 461 can be identified.
  • the area detection engine 251 may acquire a new storage interior image 450, and based on the difference between the existing storage interior region 400 and the new storage interior image 450, the fifth food 461 may be located.
  • the fourth food region 460 can be identified.
  • the area classification engine 252 may classify the fourth food area 460 into any one of a character identification area, an image identification area, and an image segmentation area.
  • the identification engine 253 may identify the fifth food 461 of the fourth food area 460 according to the classification (character identification area, image identification area, or image segmentation area) of the fourth food area 460. Can be.
  • the identification engine 253 may tag the fifth food 461 in the fourth food area 460.
  • the food identification engine 253 combines the fourth food region 460 in which the fifth food 461 is tagged with the image 400 of the existing storage compartment, and the new storage compartment in which the fifth food 461 is additionally tagged.
  • the internal image 450 may be output.
  • 15 illustrates another example of an object identification engine of a server apparatus, according to an exemplary embodiment.
  • 16 and 17 illustrate another example in which an object identification engine included in a server device identifies an object.
  • the server device 200 may include an image sampling engine 261 and an image identification engine 262.
  • the image sampling engine 261 and the image identification engine 262 may be implemented in hardware or software, respectively.
  • the image sampling engine 261 and the image identification engine 262 may be part of the processor 241 in hardware, or may be part of a program stored in the storage unit 230 in software.
  • the image sampling engine 261 may acquire a storage interior image 500 photographing the interior of the storage chamber 110 of the refrigerator 100, and extract a plurality of sample images 541 to 546 from the storage interior image 500. Can be.
  • the image sampling engine 261 may extract the sample images 541 to 546 in various ways.
  • the image sampling engine 261 may extract sample images 541 to 546 having an arbitrary size (horizontal length, vertical length) at an arbitrary position (x-axis coordinate, y-axis coordinate).
  • the image sampling engine 261 may include a random function, and selects the x-axis coordinate (x), the y-axis coordinate (y), the horizontal length (h), and the vertical length (v) of the sample image by using the random function. Can be.
  • the image sampling engine 261 may extract an image having the selected coordinates (x, y) and sizes (h, v) from the storage interior image 500.
  • the image sampling engine 261 may select any first coordinates x1 and y1 and an arbitrary first size h1 and v1, and the first coordinates x1.
  • a first sample image 541 having a y1 and a first size h1 and v1 may be extracted from the storage interior image 500.
  • the image sampling engine 261 may include a second sample image 542 having a second coordinate (x2, y2) and a second size (h2, v2), a third coordinate (x3, y3), and a third size (h3).
  • An n th sample image having a size may be extracted.
  • the number of sample images is not limited.
  • the image sampling engine 261 may extract a plurality of sample images having a predetermined size at a predetermined position.
  • the image sampling engine 261 may partition the storage interior image 500 into a predetermined size, and may acquire sample images partitioned from the storage interior image 500.
  • the image sampling engine 261 may acquire sample images having a predetermined size from the storage interior image 500 at predetermined intervals.
  • the image sampling engine 261 may extract a plurality of sample images having a predetermined size at an arbitrary position.
  • the image identification engine 262 may identify foods included in the storage interior image 500 based on the plurality of sample images 541 to 546 extracted by the image sampling engine 261.
  • Each of the plurality of sample images 541 to 546 is provided to the image identification engine 262, and the image identification engine 262 may identify foods included in each of the plurality of sample images 541 to 546.
  • Image identification engine 262 may include, for example, a neural network. Luminance values and / or color values of a plurality of pixels included in the sample image are input to each of the plurality of input nodes i1 and i2 of the neural network, and the plurality of output nodes o1 and o2 are included in the sample image. It is possible to output a numerical value (eg, a probability) indicating which food among the plurality of predetermined foods.
  • a numerical value eg, a probability
  • the image identification engine 262 may output the first identification result and the second identification result based on the numerical value output from the neural network. For example, the image identification engine 262 may select a food having the largest numerical value output from the neural network as the first identification result, and select a food having the second largest numerical value output from the neural network as the second identification result. have.
  • the image identification engine 262 may output identification data including coordinates and sizes indicating a sample image, a first identification result of the sample image, and a second identification result of the sample image.
  • the identification data includes coordinates (x1, y1) and size (h1, v1) of the first sample image 541, a first identification result, a second identification result, and a second sample image.
  • the operation of the food management system 1 including the refrigerator 100, the server device 200, and the user device 300 will be described.
  • FIG. 18 illustrates an example of a food identification method of a food management system, according to an embodiment.
  • FIG. 19 illustrates an interior image of a storage room photographed by the food identification method illustrated in FIG. 18.
  • 20 illustrates an example of identifying a food region by the food identification method illustrated in FIG. 18.
  • FIG. 21 illustrates an example of displaying food-related information by the food identification method illustrated in FIG. 18.
  • FIG. 22 illustrates another example of displaying food-related information by the food identification method illustrated in FIG. 18.
  • the refrigerator 100 acquires an internal image of the storage compartment 110 (1110).
  • the refrigerator 100 may photograph the inside of the storage compartment 110 through the camera 150 and acquire an internal image of the storage compartment 110.
  • the controller 190 may control the camera 150 to photograph the inside of the storage compartment 110 when the closing of the open door 120 is detected.
  • the camera 150 may photograph a plurality of spaces partitioned by the shelf 110c.
  • the first imager 151 of the camera 150 photographs the first storage space 111a of the upper storage room 111
  • the second imager 151 captures the second storage space 111b.
  • the third imager 151 may photograph the third storage space 111c.
  • the controller 190 may acquire an internal image of the storage compartment 110 from the camera 150.
  • the controller 190 may control the camera 150 to photograph the inside of the storage compartment 110 in response to a user input through the touch screen display 130, and the camera 150 may control the storage compartment 110 from the camera 150. An internal image may be acquired.
  • the controller 190 may display an internal image of the storage compartment 110 captured by the camera 150 on the touch screen display 130.
  • the controller 190 may include an internal image 610 of the first storage space 111a, an internal image 620 of the second storage space 111b, and an internal image (of the third storage space 111c). 630 may be displayed on the touch screen display 130, respectively.
  • the refrigerator 100 transmits an internal image of the storage compartment 110 to the server apparatus 200, and the server apparatus 200 receives an internal image of the storage compartment 110 from the refrigerator 100 (1120).
  • the refrigerator 100 may transmit an internal image of the storage room 110 to the server device 200 through a communication network NET.
  • the controller 190 may control the communicator 170 to transmit the internal image of the storage room 110 to the server device 200.
  • the server device 200 may receive an internal image of the storage compartment 110 from the refrigerator 100 through a communication network NET.
  • the processor 240 may acquire an internal image of the storage compartment 110 through the communicator 220.
  • the server device 200 identifies the food included in the internal image of the storage compartment 110 (1130).
  • the server device 200 may identify the food included in the internal image of the storage room 110 using the trained object identification engine 231.
  • the processor 240 may identify the food areas 621, 622, and 623 in which the foods are located in the storage room interior image 620. For example, the processor 240 may display the food regions based on a difference between an internal image 602 of the empty storage compartment 110 and an internal image 620 of the storage compartment 110 in which the food is placed, as shown in FIG. 20. 621, 622, and 623 may be separated from the background region. The processor 240 may identify the first food region 621 in which pineapples are located, the second food region 622 in which canned foods are located, and the third food region 623 in which grapes and apples overlap. have.
  • the processor 240 may classify the food areas 621, 622, and 623. For example, the processor 240 may determine the food areas 621, 622, and 623 as a letter identification area where a letter is detected in the food area, an image identification area where a single food is detected in the food area, and a food area. The food may be classified into an image segmentation area in which a plurality of foods are detected.
  • the processor 240 may classify the first food region 621 in which the pineapple is located as the image identification region, and classify the second food region 622 in which the canned food is located as the character identification region. 3 may be classified as an image segmentation region in which the third food regions 623 overlapping each other are positioned.
  • the processor 240 may identify the pineapple by using an image identification algorithm with respect to the first food region 621, and identify canned food by using a character identification algorithm with respect to the second food region 622. In addition, the processor 240 may separate the grape image and the apple image from the third food region 623, and identify the grape and the apple by using an image identification algorithm for each of the grape image and the apple image. .
  • the processor 240 may include an object identification engine 231 using a neural network.
  • the processor 240 may input luminance values and / or color values of the plurality of pixels included in the image to each of the plurality of input nodes i1 and i2 of the neural network.
  • the processor 240 may apply the weights w1 to w4 to the values of the plurality of input nodes i1 and i2 and output the result to the plurality of hidden nodes h1 and h2.
  • the processor 240 inputs values input to the plurality of hidden nodes h1 and h2 to the sigmoid function, and applies the weights w5-w8 to the output values of the sigmoid function to output the plurality of output nodes.
  • the processor 240 inputs values input to the plurality of output nodes o1 and o2 to the sigmoid function, and the output value of the sigmoid function becomes an output of the neural network.
  • food is allocated to each of the plurality of output nodes o1 and o2
  • an output value of the plurality of output nodes o1 and o2 is an object in which an image is allocated to the plurality of output nodes o1 and o2. It can represent the probability.
  • the processor 240 may identify food based on the outputs of the plurality of output nodes o1 and o2.
  • the processor 240 may collect information (food related information) related to the food identified from the respective food areas 621, 622, and 623.
  • the food-related information may include an image of the food (eg, a location of the food image in the storage compartment image), a name of the food, a category, and a refrigeration (or freezing) storage period.
  • the processor 240 may integrate information related to the food identified from the respective food areas 621, 622, and 623.
  • the server device 200 transmits food related information to the refrigerator 100, and the refrigerator 100 receives food related information from the server device 200 (1140).
  • the server device 200 may transmit food related information to the refrigerator 100 through a communication network NET.
  • the processor 240 may control the communicator 220 to transmit food-related information to the refrigerator 100.
  • the refrigerator 100 may receive food related information from the server device 200 through a communication network NET.
  • the controller 190 may obtain food related information through the communicator 170.
  • the refrigerator 100 displays food related information received from the server device 200 (1150).
  • the controller 190 may display food-related information received from the server device 200 on the touch screen display 130.
  • the controller 190 may further display food-related information 621a, 622a, 623a, and 623b on the internal images 610, 620, and 630 of the storage compartment 110.
  • the controller 190 may include information 621a about pineapples, information 622a about canning, and grapes on the internal images 610, 620, and 630 of the storage compartment 110.
  • Information 623a and information 623b about the apple can be displayed.
  • the controller 190 may display the name of the pineapple, the name of canned food, the name of grapes, and the name of an apple on the internal images 610, 620, and 630 of the storage room 110.
  • the controller 190 may display a list 640 of food information stored in the storage compartment 110. As illustrated in FIG. 22, the controller 190 may display information 641 regarding pineapples, information 642 about canning, information 643 about grapes, and information 644 about apples. have.
  • the controller 190 may display an image of a food (eg, an image of a food region separated from an image of a storage compartment), a name of a food, a category, and a storage date of a refrigerated (or frozen) product on the touch screen display 130. have.
  • the controller 190 may display the image 641a of the pineapple, the name 641b of the pineapple and the storage period 641c of the pineapple included in the internal image of the storage compartment 110. Can be.
  • the server device 200 transmits food related information to the user device 300, and the user device 300 receives food related information from the server device 200 (1160).
  • the user device 300 displays food related information received from the server device 200 (1170).
  • the server device 200 may receive an image of food stored from the refrigerator 100 and identify the food stored in the refrigerator 100 using the object identification engine 231.
  • the refrigerator 100 may display food-related information received from the server device 200.
  • the refrigerator 100 may display information related to food stored in the storage compartment 110 without a user's input.
  • FIG. 23 is a view illustrating another example of a food identification method of the food management system according to one embodiment.
  • FIG. 24 illustrates an example of receiving a user's touch input by the food identification method illustrated in FIG. 23.
  • FIG. 25 illustrates an example of extracting a sample image by the food identification method illustrated in FIG. 23.
  • FIG. 26 illustrates an example of displaying food related information by the food identification method illustrated in FIG. 23.
  • FIG. 27 illustrates another example of displaying food-related information by the food identification method illustrated in FIG. 23.
  • the refrigerator 100 acquires an internal image of the storage compartment 110 (2110).
  • the refrigerator 100 may photograph the inside of the storage compartment 110 through the camera 150 and acquire an internal image of the storage compartment 110.
  • Operation 2110 may be the same as operation 1110 illustrated in FIG. 18.
  • the refrigerator 100 transmits an internal image of the storage compartment 110 to the server apparatus 200, and the server apparatus 200 receives an internal image of the storage compartment 110 from the refrigerator 100 (2120).
  • Operation 2120 may be the same as operation 1120 illustrated in FIG. 18.
  • the server device 200 stores an internal image of the storage room 110 in operation 2130.
  • the processor 240 may store an internal image of the storage compartment 110 received from the refrigerator 100 in the storage 230.
  • the processor 240 may store a predetermined number of internal images.
  • the processor 240 may sort the internal image of the storage compartment 110 according to the order received from the refrigerator 100, and delete the internal image received the longest in response to the new internal image being received.
  • the refrigerator 100 receives a user's touch input from the user (2140).
  • the refrigerator 100 may display an internal image of the storage compartment 110 captured by the camera 150 on the touch screen display 130.
  • the controller 190 displays an internal image 610 of the first storage space 111a, an internal image 620 of the second storage space 111b, and an internal image 630 of the third storage space 111c. To control the touch screen display 130.
  • the user may touch the touch screen display 130 on which the internal image of the storage compartment 110 is displayed.
  • the user may touch the touch screen display 130 at a position corresponding to the image of the food in order to set a storage deadline of the newly received food.
  • the user may touch the inside of the pineapple image or the periphery of the pineapple image of the internal image 620 of the second storage space 111b.
  • the touch screen display 130 may detect touch coordinates of a user's touch input and provide the touch coordinates to the controller 190.
  • the controller 190 may receive touch coordinates of the touch input from the touch screen display 130.
  • the refrigerator 100 receiving the user's touch input transmits a food identification request to the server device 200, and the server device 200 receives a food identification request from the refrigerator 100 (2150).
  • the refrigerator 100 may transmit a food identification request to the server device 200 through a communication network NET.
  • the controller 190 may control the communicator 170 to transmit a food identification request to the server device 200 in response to receiving the user's touch input.
  • the server device 200 may receive a food identification request from the refrigerator 100 through a communication network NET.
  • the processor 240 may receive a food identification request through the communicator 220.
  • the server device 200 identifies the food included in the internal image of the storage compartment 110 (1130).
  • the server device 200 may identify the food included in the internal image of the storage room 110 using the trained object identification engine 231.
  • the processor 240 may extract the plurality of sample images 651 to 657 from the image 620 inside the storage room.
  • the processor 240 may extract sample images 651 to 657 having an arbitrary size (horizontal length, vertical length) at an arbitrary position (x-axis coordinate, y-axis coordinate).
  • the processor 240 selects an x-axis coordinate (x), a y-axis coordinate (y), a horizontal length (h), and a vertical length (v) of the sample image by using a random function, and selects the selected coordinates (x, y) and
  • An image having sizes h and v may be extracted from the storage interior image 620.
  • the processor 240 may include the first sample image 651, the second sample image 652, the third sample image 653, and the n th sample from the interior image 620 of the storage chamber. The image can be extracted.
  • the number of sample images is not limited.
  • the processor 240 may identify foods included in the storage interior image 620 based on the plurality of sample images 651 to 657 using the trained object identification engine 231.
  • the processor 240 may identify foods included in each of the plurality of sample images 651 to 657 using an image identification algorithm using a neural network.
  • an image identification algorithm using a neural network may output a numerical value (for example, probability) indicating which food among foods included in the sample image corresponds to a predetermined food.
  • the processor 240 may select a food having the largest numerical value output from the neural network as the first candidate food, and select a food having the second largest numerical value output from the neural network as the second candidate food.
  • the processor 240 may output pine apple as the first candidate food of the second sample image 652, and output carrots as the second candidate food of the second sample image 652.
  • the processor 240 may output the apple as the first candidate food of the seventh sample image 657 and output the onion as the second candidate food of the seventh sample image 657.
  • the processor 240 may determine the coordinates and sizes of the plurality of sample images 651 to 657, the first candidate food of the plurality of sample images 651 to 657, and the plurality of sample images 651 to 657. Identification data including the second candidate foods may be output.
  • the server device 200 transmits identification data to the refrigerator 100, and the refrigerator 100 receives identification data from the server device 200 (2170).
  • the server device 200 may transmit identification data to the refrigerator 100 through a communication network NET.
  • the processor 240 may control the communicator 220 to transmit identification data to the refrigerator 100.
  • the refrigerator 100 may receive identification data from the server device 200 through a communication network NET.
  • the controller 190 may receive identification data through the communication unit 170.
  • the refrigerator 100 selects a sample image based on the touch coordinates of the user (2180).
  • the refrigerator 100 compares the touch coordinates when the user touches the touch screen display 130 with the center coordinates of the plurality of sample images 651 to 657 and displays a sample image having the center coordinates closest to the user's touch coordinates. You can choose.
  • the controller 190 may obtain touch coordinates of the user's touch input from the touch screen display 130 in operation 2140.
  • the controller 190 may include coordinates and sizes indicating the plurality of sample images 651 to 657, first candidate foods of the plurality of sample images 651 to 657, and a plurality of sample images. Identification data including the second candidate foods 651-657 may be received.
  • the controller 190 may determine the coordinates of the center of the sample images 651 to 657 from the coordinates and the sizes of the sample images 651 to 657. For example, the controller 190 may determine the coordinate x of the center of the sample images 651 to 657 from the sum of the coordinates (x, y) and the half of the size (h, v) of the sample images 651 or 657. + h / 2, y + v / 2) can be determined.
  • the controller 190 may determine the distance between the user's touch input and the center of each of the plurality of sample images 651 to 657. For example, the controller 190 may determine the distance between the touch input of the user and the center of the sample image from the sum of the squares of the differences between the coordinates of the touch input and the center coordinate of the sample image.
  • the controller 190 may identify a sample image having a minimum distance between a center of the plurality of sample images 651 to 657 and a user's touch input.
  • the controller 190 may include a center between the center of the second sample image 652 and the user's touch input P1 among the plurality of sample images 651 to 657. It can be determined that the distance is minimum. The controller 190 may select the second sample image 652 as the image corresponding to the user's touch input P1.
  • the refrigerator 100 displays an identification result of the food selected by the user (2190).
  • the refrigerator 100 may determine a sample image whose center is the minimum distance from the user's touch input. For example, the refrigerator 100 may select the second sample image 652 as an image corresponding to the user's touch input P1.
  • the controller 190 may determine that a sample image having a minimum distance from the user's touch input is an image representing food at a location touched by the user. In addition, the controller 190 may determine that the center of the first candidate food or the second candidate food identified by the user is a food selected by the user based on a sample image having a minimum distance from the user's touch input.
  • the controller 190 may display an identification result of the food selected by the user around the user's touch input.
  • the controller 190 may display food identification information 624 around the user's touch input on the storage interior image 600.
  • the food identification information 624 includes a name area 624a for indicating the name of the food, a name (pineapple) of the first candidate food 624a, and a name (carrot) of the second candidate food 624c. can do.
  • the user may select one of a name (pineapple) of the first candidate food 624a and a name (carrot) of the second candidate food 624c.
  • the name of the food selected by the user may be displayed in the name area 624a.
  • the controller 190 may display “pineapple” in the name area 624a.
  • the controller 190 may collect information about the food based on the name of the food selected by the user. For example, the controller 190 may collect a category of food selected by the user, a storage deadline of the food, and the like. For example, the controller 190 may collect the food category, storage period, etc. of the pineapple.
  • the controller 190 may integrally store a sample image, a name, a category, a storage period, and the like, representing the food selected by the user.
  • the controller 190 may display the list 670 of the food selected by the user on the touch screen display 130. For example, as illustrated in FIG. 27, the controller 190 may display information 671 about pineapple on the touch screen display 130.
  • the controller 190 may include a sample image 671a closest to the user's touch input on the touch screen display 130, a name 671b of the food identified from the second sample image 625, and a second sample image 625.
  • the storage deadline 671c of the identified food item may be displayed.
  • the controller 190 may display the second sample image 652, the “pineapple”, and the storage period of the pineapple on the touch screen display 130.
  • the server device 200 may receive an image of food stored from the refrigerator 100 and identify the food stored in the refrigerator 100 using the object identification engine 231.
  • the refrigerator 100 may display food-related information received from the server device 200.
  • the refrigerator 100 may display information related to food stored in the storage compartment 110 without a user's input.
  • FIG. 28 illustrates another example of a food identification method of a food management system according to one embodiment.
  • FIG. 29 illustrates an example of identifying additional food regions by the food identification method illustrated in FIG. 28.
  • FIG. 30 illustrates an example of displaying additional food related information by the food identification method illustrated in FIG. 28.
  • the refrigerator 100 displays information related to the food stored in the storage compartment 110 at the first time point in operation 1210.
  • the refrigerator 100 may obtain information related to the food stored in the storage compartment 110 at the first time point and display it.
  • the refrigerator 100 may photograph the inside of the storage compartment 110 at a first time point, and acquire an internal image of the storage compartment 110 captured at the first time point.
  • the refrigerator 100 may transmit an internal image of the storage compartment 110 captured at the first time point to the server device 200.
  • the refrigerator 100 acquires a first internal image 710 photographed at a first time point as illustrated in FIG. 29A, and the server device 200 obtains the first internal image 710. Can be sent to.
  • the server device 200 may identify the food from the internal image of the storage room 110 captured at the first time point using the object identification engine 231, and transmit the information related to the identified food to the refrigerator 100.
  • the server device 200 may identify the pineapple, canned food, grapes, and apples from the first internal image 710, and transmit information on the pineapple, canned food, grapes, and apples to the refrigerator 100.
  • the refrigerator 100 may receive information related to food stored in the storage room 110 at a first time point from the server device 200 and display the received food related information.
  • the refrigerator 100 acquires an internal image of the storage compartment 110 at a second time point in operation 1220.
  • the controller 190 may control the camera 150 to photograph the inside of the storage compartment 110 at the second time point, and the camera 150 may photograph a plurality of spaces partitioned by the shelf 110c.
  • the controller 190 may acquire an internal image of the storage compartment 110 captured at the second time point from the camera 150.
  • the refrigerator 100 may acquire the second internal image 720 of the storage compartment 110 photographed at the second time point, as illustrated in FIG. 29B.
  • the refrigerator 100 identifies the additional food region 721 (1230).
  • the controller 190 may identify the additional food area 721 from the difference between the internal image of the storage compartment 110 captured at the first time point and the internal image of the storage compartment 110 captured at the second time point. For example, the controller 190 may identify the additional food region 721 from the difference between the first internal image 710 captured at the first time point and the second internal image 720 captured at the second time point. have.
  • the refrigerator 100 transmits an image of the additional food region 721 to the server device 200, and the server device 200 receives an image of the additional food region 721 from the refrigerator 100 (1240).
  • Operation 1240 may be the same as operation 1120.
  • the server device 200 identifies the food included in the image of the additional food region 721 (1250).
  • the server device 200 may identify the food included in the image of the additional food region 721 using the trained object identification engine 231.
  • Operation 1250 may be the same as operation 1130.
  • the processor 240 may collect information related to the identified food from the additional food region 721.
  • the information about the food may include an image of the food, a name of the food, a category, and a storage deadline for refrigeration (or freezing).
  • the server device 200 transmits the additional food related information to the refrigerator 100, and the refrigerator 100 receives the additional food related information from the server device 200 (1260).
  • Operation 1260 may be the same as operation 1140.
  • the refrigerator 100 displays information related to food stored in the storage compartment 110 at a second time point in operation 1270.
  • the controller 190 may add additional food-related information to the server device 200 to the information related to the food stored in the storage compartment 110 at the first time point, and as a result, the food storage stored in the storage compartment 110 at the second time point. Related information can be obtained.
  • the controller 190 may display the information related to the food stored in the storage room 110 on the touch screen display 130 at the second time point.
  • the controller 190 may include information about a pineapple 730, information about canning 740, information about grapes 750, and information about apples 760.
  • information 770 about grapes identified from the additional food region 721 may be further displayed.
  • controller 190 may identify the same food stored at different times. For example, the controller 190 may identify the pineapple stored at the first time point and the pineapple newly stored at the second time point.
  • the refrigerator 100 newly adds food to the existing food-related information by using a difference between an internal image of the storage compartment 110 previously photographed and an internal image of the newly captured storage compartment 110. You can add relevant information. As a result, the refrigerator 100 may identify the same food stored at different times.
  • 31 is another example of a food identifying method of a food management system according to one embodiment; 32 and 33 illustrate an example of modifying food related information by the food identification method illustrated in FIG. 31.
  • the refrigerator 100 may photograph the inside of the storage compartment 110 and acquire an internal image of the storage compartment 110. In addition, the refrigerator 100 may transmit the captured internal image of the storage compartment 110 to the server device 200.
  • the server device 200 may identify the food from the internal image of the storage room 110 using the object identification engine 231, and transmit the information related to the identified food to the refrigerator 100.
  • the refrigerator 100 may receive information related to food stored in the storage room 110 from the server device 200 and display the received food related information.
  • the refrigerator 100 receives the user's food-related information correction (1320).
  • the user may check the food related information displayed on the touch screen display 130 of the refrigerator 100 and may modify the food related information.
  • the controller 190 may display an information display window 810 displaying information related to the identified food.
  • the information display window 810 may further include a confirmation button 811 for confirming information related to the identified food and a cancel button 812 for correcting information related to the food.
  • the information confirmation screen 810 may display wrong information about the food (incorrectly identifying “apple” as “onion”).
  • the user can touch (press) the cancel button 812 and correct wrong information about the food.
  • the refrigerator 100 may display the food-related information 820 to be modified and display a keyboard 830 for inputting new food-related information, as shown in FIG. 33. have.
  • the user may modify the name of the food from "onion” to "apple” using the keyboard 830.
  • the refrigerator 100 displays the food related information modified by the user (1330).
  • the controller 190 may display the food-related information modified by the user on the touch screen display 130.
  • the refrigerator 100 transmits the food-related information modified by the user to the server device 200, and the server device 200 receives the food-related information modified by the user (1340).
  • the refrigerator 100 may transmit the image indicating the food modified by the user and the food-related information modified by the user to the server device 200 through the communication network NET.
  • the controller 190 may control the communicator 170 to transmit the image of the food and the modified food related information to the server device 200.
  • the server device 200 may receive an image of food and modified food related information from the refrigerator 100 through a communication network NET.
  • the processor 240 may acquire an image of the food and the modified food related information through the communication unit 220.
  • the server device 200 trains the object identification engine 231 again (1350).
  • the processor 240 may store the image of the food received through the communication unit 220 and the modified food related information in the storage 230.
  • the image of the food and the modified food related information may be user modified data 233.
  • the processor 240 may retrain the object identification engine 231 using the user modification data 233. For example, the processor 240 may input an image of the food modified by the user to the object identification engine 231, and compare the output of the object identification engine 231 with the food-related information modified by the user. In addition, the processor 240 may update the object identification engine 231 based on the comparison result.
  • the processor 240 may retrain the object identification engine 231 at various times.
  • the processor 240 may retrain the object identification engine 231 using the user modification data 233 at predetermined intervals.
  • the processor 240 may retrain the object identification engine 231 using the user correction data 233.
  • the processor 240 may retrain the object identification engine 231 using the user modification data 233.
  • the processor 240 may retrain the object identification engine 231 using various data.
  • the processor 240 may retrain the object identification engine 231 using data in which the training data 232 and the user modification data 233 are mixed.
  • the ratio of the training data 232 and the user modification data 233 may be predetermined or set by an administrator or a user.
  • the processor 240 may retrain the object identification engine 231 using only the user modification data 233.
  • the user can modify the information related to the food identified by the server device 200, the server device 200 using the food-related information modified by the user object identification engine 231 Can be retrained.
  • the server device 200 provided separately from the refrigerator 100 identifies food from a food image.
  • the server device 200 is not limited to being separately provided in the refrigerator 100.
  • the server device 200 may be provided integrally with the refrigerator 100.
  • the refrigerator 100 may identify food from the food image.
  • the refrigerator 100 may include the area detection engine 251, the area classification engine 252, and the identification engine 253 illustrated in FIG. 11 described above.
  • 34 is a view illustrating a method of identifying food by a refrigerator according to one embodiment.
  • the refrigerator 100 acquires an internal image of the storage compartment 110 (1410).
  • the refrigerator 100 may photograph the inside of the storage compartment 110 through the camera 150 and acquire an internal image of the storage compartment 110.
  • Operation 1410 may be the same as operation 1110.
  • the refrigerator 100 detects food regions from the internal image of the storage compartment 110 (1420).
  • the controller 190 may identify the food areas where the foods are located in the image inside the storage room. For example, the controller 190 may separate the food regions and the background region based on the difference between the internal image of the empty storage compartment 110 and the internal image of the storage compartment 110 in which the food is placed.
  • the refrigerator 100 classifies the identified food areas (1430).
  • the controller 190 may classify the food regions according to a food identification method or a food identification difficulty. For example, the controller 190 may classify the food areas into a letter identification area where a letter is detected, an image identification area where a single food is detected, and an image segmentation area where a plurality of foods are detected.
  • the refrigerator 100 identifies food in the food area (1440).
  • the controller 190 identifies foods in the classified food area in various ways.
  • the controller 190 may identify food using a character identification algorithm in the character identification area, and identify food using an image identification algorithm in the image identification area.
  • the controller 190 may separate food images included in the image segmentation area, and identify foods using the character identification algorithm or the image identification algorithm on the separated food images.
  • the controller 190 may include an object recognition engine using a neural network.
  • the controller 190 may input luminance values and / or color values of the plurality of pixels included in the image to each of the plurality of input nodes i1 and i2 of the neural network.
  • the controller 190 may apply the weights w1-w4 to the values of the plurality of input nodes i1 and i2 and output the result to the plurality of hidden nodes h1 and h2.
  • the controller 190 inputs values input to the plurality of hidden nodes h1 and h2 to the sigmoid function, and applies the weights w5-w8 to the output values of the sigmoid function to output the plurality of output nodes. Can be output to (o1, o2).
  • the processor 240 inputs values input to the plurality of output nodes o1 and o2 to the sigmoid function, and the output value of the sigmoid function becomes an output of the neural network.
  • food is allocated to each of the plurality of output nodes o1 and o2
  • an output value of the plurality of output nodes o1 and o2 is an object in which an image is allocated to the plurality of output nodes o1 and o2. It can represent the probability.
  • the controller 190 may identify the food based on the outputs of the plurality of output nodes o1 and o2.
  • the refrigerator 100 displays information related to the identified food item (1450).
  • the controller 190 may display the information related to the identified food on the touch screen display 130.
  • the controller 190 may display an image of a food (for example, an image of a food region separated from an image of a storage compartment), a name of a food, a category, and a storage date of a refrigerated (or frozen) food, etc., in the touch screen display 130. Can be marked on.
  • the refrigerated (or frozen) shelf life represents the deadline for the user to safely consume food.
  • the refrigerator 100 may identify the food stored in the storage compartment 110 by itself, and display information related to the food stored in the storage compartment 110. In other words, the refrigerator 100 may display information related to food stored in the storage compartment 110 without a user's input.
  • FIG. 35 illustrates another example of an identification method in which the food management system individually identifies each of the foods.
  • FIG. 36 illustrates an example of manually inputting food related information by the food identification method illustrated in FIG. 35.
  • the refrigerator 100 displays an internal image of the storage compartment 110 (1510).
  • the refrigerator 100 may photograph the inside of the storage compartment 110 through the camera 150 and acquire an internal image of the storage compartment 110.
  • the refrigerator 100 may display on the touch screen display 130 including an internal image of the storage compartment 110 photographed by the camera 150.
  • Operation 1510 may be the same as operation 1110.
  • the refrigerator 100 receives a selection for a food area to be registered from the user (1520).
  • the user may select a food region through the touch screen display 130.
  • the user may select the food region 840 by touching the touch screen display 130 corresponding to the internal image of the storage compartment 110.
  • the controller 190 may display the food region 840 selected by the user to be distinguished from other regions. For example, as shown in FIG. 36, an area other than the food area 840 may be darkly displayed. In addition, the controller 190 may display a food add button 850 for registering a food included in the food area 840 on the touch screen display 130.
  • the refrigerator 100 may register a food included in the food area 840 selected by the user.
  • the refrigerator 100 determines whether the reliability of food identification is greater than the reference value (1530).
  • the reliability of food identification may indicate the reliability of the food identification operation by the refrigerator 100 or the server device 200.
  • Reliability may represent, for example, the ratio of the number of times the identified food is registered without the user's modification to the number of times the overall food identification operation.
  • the reliability may represent a rate at which the refrigerator 100 or the server device 200 succeeds in identifying food.
  • the reference value is a criterion for evaluating the food identification reliability of the refrigerator 100 or the server device 200, and may be set in advance by a designer or post-management by a manager or a user.
  • the refrigerator 100 may calculate the reliability of the food identification based on the result of the previous food identification operation and the correction of the food-related information of the user, and compare the reliability of the food identification with the reference value.
  • the refrigerator 100 automatically registers the food in the selected food region 840 (1540).
  • the refrigerator 100 may identify a food in the food area 840 and automatically register the identified food.
  • the refrigerator 100 transmits an image of the food area 840 selected by the user to the server device 200, and the server device 200 uses the object identification engine 231 to transmit the food area 840.
  • Food can be identified from the image.
  • the refrigerator 100 may receive food information from the server device 200 and register the received food information.
  • the refrigerator 100 may identify the food directly from the image of the food region 840 using the object identification engine 231. In addition, the refrigerator 100 may register the information of the identified food.
  • the refrigerator 100 manually registers the food of the selected food region 840 (1550).
  • the refrigerator 100 may receive food related information of the food area 840 from a user.
  • the refrigerator 100 may display an image of the food region 840 to receive food-related information of the food region 840 and display a keyboard for inputting food-related information.
  • the user may input food-related information such as the name of the food by using the keyboard.
  • the refrigerator 100 may register the information of the input food.
  • the refrigerator 100 displays food related information (1560).
  • the controller 190 may display the registered food related information on the touch screen display 130.
  • the food-related information may include an image of the food (eg, a location of the food image in the storage compartment image), a name of the food, a category, and a storage date of the refrigerated (or frozen) food.
  • the refrigerator 100 may selectively register foods included in the food area selected by the user.
  • the refrigerator 100 may identify the food and register the identified food automatically (using an object identification engine) or manually (according to a user's input) according to the reliability of the food identification.
  • FIG. 37 illustrates another example of an identification method of collectively identifying food items by a food management system.
  • FIG. 38 illustrates an example of modifying food related information by the food identification method illustrated in FIG. 37.
  • FIG. 39 illustrates another example of modifying food related information by the food identification method illustrated in FIG. 37.
  • the refrigerator 100 displays an internal image of the storage compartment 110 in operation 1610.
  • the refrigerator 100 may photograph the inside of the storage compartment 110 through the camera 150 and acquire an internal image of the storage compartment 110.
  • the refrigerator 100 may display on the touch screen display 130 including an internal image of the storage compartment 110 photographed by the camera 150.
  • Operation 1610 may be the same as operation 1110.
  • the refrigerator 100 receives an input for collectively registering foods from the use place (1620).
  • the user may input an input for collectively registering foods.
  • the refrigerator 100 may identify foods included in an internal image of the storage compartment 110.
  • the refrigerator 100 transmits an image of the food region selected by the user to the server apparatus 200, and the server apparatus 200 identifies the food from the image of the food region using the object identification engine 231. can do.
  • the refrigerator 100 may identify the food directly from the image of the food region using the object identification engine 231.
  • the refrigerator 100 displays information related to the identified food (1630).
  • the controller 190 may display the identified food related information on the touch screen display 130.
  • the food-related information may include an image of the food (eg, a location of the food image in the storage compartment image), a name of the food, a category, and a storage date of the refrigerated (or frozen) food.
  • the refrigerator 100 receives modification of food related information of the user (1640).
  • the user may check the food related information displayed on the touch screen display 130 of the refrigerator 100 and may modify the food related information.
  • the refrigerator 100 may display a list including information about pineapples, information about canned food, information about grapes, and information about apples.
  • the refrigerator 100 may display erroneous information about the “apple” (incorrectly identifying “apple” as “onion”).
  • the user can correct wrong information about the "apple”.
  • the user may touch the correction button 860 displayed on the touch screen display 130.
  • the refrigerator 100 may display a food information input screen.
  • the food information input screen may include a keyboard for inputting an image of food to be modified and food related information. The user can change the name of the food from "onion" to "apple” using the keyboard.
  • the refrigerator 100 displays the pineapple information, the canning information, the grape information, and the apple information on the inner image of the storage compartment 110 by overlapping them. can do.
  • the user may touch the correction button 861 displayed on the touch screen display 130.
  • the refrigerator 100 may display a food information input screen.
  • the food information input screen may include a keyboard for inputting an image of food to be modified and food related information. The user can change the name of the food from "onion" to "apple” using the keyboard.
  • the refrigerator 100 displays the food-related information modified by the user (1650).
  • the controller 190 may display the food-related information modified by the user on the touch screen display 130.
  • the refrigerator 100 may collectively register food items stored in the storage compartment 110.
  • the refrigerator 100 may modify food-related information according to a user's input.
  • FIG. 40 is a view illustrating an example of a food management method of a food management system according to one embodiment.
  • FIG. 41 illustrates an example of purchasing food by the food management method illustrated in FIG. 40.
  • the refrigerator 100 stores information related to food stored in the storage compartment 110 (1710).
  • the refrigerator 100 may photograph the inside of the storage compartment 110 and transmit the photographed internal image of the storage compartment 110 to the server device 200.
  • the server device 200 may identify the food from the internal image of the storage room 110 using the object identification engine 231, and transmit the information related to the identified food to the refrigerator 100.
  • the refrigerator 100 may receive information related to food stored in the storage room 110 from the server device 200 and store the received food related information.
  • the food-related information may include an image of the food (eg, a location of the food image in the storage compartment image), a name of the food, a category, and a refrigeration (or freezing) storage period.
  • the refrigerator 100 may photograph the inside of the storage compartment 110, and identify food from the captured interior image of the storage compartment 110.
  • the refrigerator 100 may store information related to the identified food.
  • the refrigerator 100 determines whether the remaining storage period of the food is shorter than the reference period (1720).
  • the controller 190 may calculate a remaining storage time from the date when the food is stored (cold or frozen) and the date the food is stored and the current date from the food-related information, and compare the remaining storage time with the reference time.
  • the reference deadline is a deadline for warning the expiration of the refrigerated (or frozen) shelf life of the food and recommending the ingestion of the food, which may be preset by the designer or post adjusted by the user.
  • the refrigerator 100 determines whether to purchase food with a remaining storage deadline shorter than the reference deadline (1730).
  • the controller 190 may determine whether to purchase food based on a user input.
  • the controller 190 may display a food purchase window 870 for purchasing a food whose residual storage period is shorter than the reference period.
  • the food purchase window 870 displays information related to a food whose remaining storage period is shorter than a reference period, and may include a confirmation button 871 for purchasing a food and a cancel button 872 for canceling a food purchase. .
  • the refrigerator 100 If it is determined that the food is purchased (YES in 1730), the refrigerator 100 requests a food purchase from the online shopping server (1740).
  • the controller 190 may access an online shopping server through a communication network NET.
  • the controller 190 may request the purchase of food from the online shopping server and pay for the food using the payment means set in advance by the user.
  • the remaining storage deadline of the food is not shorter than the reference deadline (NO in 1720) or determined not to purchase the food (NO in 1730), or after the purchase of the food, the refrigerator 100 displays food-related information (1750).
  • the controller 190 may display food related information on the touch screen display 130. For example, when purchasing food, the controller 190 may display information related to the purchased food together.
  • the refrigerator 100 may provide the user with information about the purchase of food based on the food-related information, and purchase the food that is about to expire due to the user's input.
  • FIG. 42 is a view illustrating another example of a food management method of the food management system according to one embodiment.
  • the refrigerator 100 stores information related to food stored in the storage compartment 110 (1810).
  • Operation 1810 may be the same as operation 1710.
  • the refrigerator 100 identifies a user preferred food (1820).
  • the controller 190 may store information related to the stored food when the new food is stored in the storage room 110, and collect information related to the extracted food when the food stored in the storage room 110 is withdrawn.
  • the controller 190 may analyze a purchase pattern for purchasing the same (or similar) food and a consumption pattern for consuming the food based on the information related to the stored food and the information related to the extracted food.
  • the controller 190 may identify the user's preferred food based on the purchase pattern and the consumption pattern of the food.
  • the refrigerator 100 obtains sales information of the user's preferred food (1830).
  • the controller 190 may request sales information of the user's preferred food from the online shopping server through the communication network NET, and receive sales information of the user's preferred food from the online shopping server.
  • the sales information may include price information, discount information, inventory information, and the like of the user's preferred food.
  • the refrigerator 100 determines whether to purchase a user preferred food (1840).
  • the controller 190 may determine whether to purchase food based on a user input. For example, the controller 190 may display the sales information of the user's preferred food on the touch screen display 130 and receive a user input regarding the purchase of the user's preferred food through the touch screen display 130.
  • the refrigerator 100 If it is determined that the food is purchased (Yes of 1840), the refrigerator 100 requests a food purchase from the online shopping server (1850).
  • Operation 1850 may be the same as operation 1740.
  • the refrigerator 100 displays food-related information (1860).
  • the controller 190 may display food related information on the touch screen display 130. For example, when purchasing food, the controller 190 may display information related to the purchased food together.
  • the refrigerator 100 may provide the user with information regarding the purchase of the food based on the storage and withdrawal record of the food, and purchase the user's preferred food according to the user input.
  • FIG. 43 is a view illustrating a recipe providing method of a food management system according to one embodiment.
  • 44 and 45 illustrate an example of providing a recipe by the method of providing a recipe illustrated in FIG. 43.
  • FIG. 46 illustrates another example of providing a recipe by the recipe providing method of FIG. 43.
  • the refrigerator 100 displays information related to the food stored in the storage compartment 110 (1910).
  • Operation 1910 may be the same as operation 1310.
  • the refrigerator 100 receives a recipe request from a user (1920).
  • the user may select at least some of the food-related information displayed on the touch screen display 130 and request a recipe including a food related to the selected information.
  • the controller 190 may display a check box 910 for selecting food-related information together with food-related information.
  • the controller 190 may display a recipe request window 920 for requesting a recipe, as shown in FIG. 45, and the recipe request window 920 may include a request button 921 and a cancel button 922. It may include.
  • the refrigerator 100 may receive a recipe request including the checked food.
  • the controller 190 may display an internal image of the storage room 110 on the touch screen display 130, and receive a recipe request from the user through the touch screen display 130. As illustrated in FIG. 46, when the user touches the food image 911 for a long time, the controller 190 may display a recipe request popup 912. When the user touches the recipe request popup 912, the controller 190 may receive a recipe request including a food of the food image 911.
  • the refrigerator 100 transmits the food related information and the recipe request selected by the user to the server device 200, and the server device 200 receives the food related information and the recipe request from the refrigerator 100 in 1930.
  • the server device 200 searches for a recipe including a food selected by a user (1940).
  • the processor 240 may search for a recipe stored in the storage 230 or request a recipe from other servers through a communication network NET, and obtain a recipe including a food selected by a user.
  • the server device 200 transmits information about the recipe to the refrigerator 100, and the refrigerator 100 receives information about the recipe from the server device 200 (1950).
  • the refrigerator 100 displays a recipe received from the server device 200 (1960).
  • the controller 190 may display a recipe including the food selected by the user on the touch screen display 130.
  • the refrigerator 100 may provide a recipe including a food selected by a user.
  • 47 is a view illustrating a recipe providing method of a food management system according to one embodiment.
  • 48 and 49 illustrate an example of providing a recipe by the method of providing a recipe illustrated in FIG. 47.
  • the refrigerator 100 obtains a cooking image 930 (2010).
  • the refrigerator 100 may obtain a cooking image 930 from a user or by itself.
  • the controller 190 may access the communication network NET through the communication unit 170 in response to a user input, and receive the cooking image 930 from another device connected to the communication network NET.
  • the controller 190 may photograph the inside of the storage compartment 110 using the camera 150, and acquire a cooking image 930 of a dish stored in the storage compartment 110.
  • the refrigerator 100 receives a recipe request from a user in 2020.
  • the user may request a recipe for cooking a dish included in the cooking image 930.
  • the controller 190 may display a cooking image 930 and a recipe request window 940 for requesting a recipe.
  • the recipe request window 940 may include a request button 941 and a cancel button 942.
  • the refrigerator 100 may receive a recipe request of the cooking image 930.
  • the refrigerator 100 transmits the cooking image 930 and the recipe request to the server device 200, and the server device 200 receives the cooking image 930 and the recipe request from the refrigerator 100 in operation 2030.
  • the server device 200 identifies a dish from the cooking image 930 (2040).
  • the processor 240 may identify a dish included in the cooking image 930 using the trained object identification engine 231.
  • the processor 240 may include an object identification engine 231 using a neural network.
  • the processor 240 may input luminance values and / or color values of the plurality of pixels included in the cooking image 930 to the neural network.
  • the processor 240 may identify the cooking of the cooking image 930 based on the output of the neural network.
  • the server device 200 retrieves a recipe for the identified dish (2050).
  • the processor 240 may search for recipes stored in the storage 230 or request recipes from other servers through a network NET, and obtain recipes of the identified dishes.
  • the server device 200 transmits information about the recipe to the refrigerator 100, and the refrigerator 100 receives information about the recipe from the server device 200 (2060).
  • the refrigerator 100 displays the recipe received from the server device 200 (2070).
  • the controller 190 may display a recipe including the food selected by the user on the touch screen display 130.
  • the refrigerator 100 displays insufficient food (2080).
  • the controller 190 compares a list of food items stored in the storage room 110 with a list of ingredients included in a recipe received from the server device 200, and identifies foods not stored in the storage room 110 among the ingredients of the recipe. Can be.
  • the controller 190 may display the food lacking in the recipe material on the touch screen display 130.
  • the controller 190 may display a food lacking in the pasta recipe.
  • the controller 190 may display information 950 related to potatoes, information 960 related to pasta noodles, information 970 related to onions, and information 980 related to tomato paste. 130).
  • the controller 190 may further display a purchase button 990 for purchasing the insufficient food on the touch screen display 130.
  • the controller 190 may request the purchase of food from the online shopping server and pay for the food using the payment means set in advance by the user.
  • the server device 200 may identify a dish from the cooking image 930 received from the refrigerator 100 and search for a recipe of the dish.
  • the refrigerator 100 may receive a recipe for cooking from the server device 200, and may purchase food that is insufficient in the ingredients included in the recipe.
  • the display apparatus 100 may control the local scattering rate of the electro-optical layer 231 to perform local dimming.
  • the disclosed embodiments may be implemented in the form of a recording medium for storing instructions executable by a computer. Instructions may be stored in the form of program code, and when executed by a processor, may generate a program module to perform the operations of the disclosed embodiments.
  • the recording medium may be implemented as a computer-readable recording medium.
  • Computer-readable recording media include all kinds of recording media having stored thereon instructions which can be read by a computer.
  • ROM read only memory
  • RAM random access memory
  • magnetic tape a magnetic tape
  • magnetic disk a magnetic disk
  • flash memory an optical data storage device, and the like.

Abstract

식품 관리 시스템은 서버 장치; 및 저장실을 포함하고, 저장실의 영상을 서버 장치로 전송하는 냉장고를 포함할 수 있다. 서버 장치는, 통신부; 및 통신부를 통하여 냉장고로부터 수신된 영상으로부터 식품을 식별하고 통신부를 통하여 냉장고로 식별된 식품과 관련된 정보를 전송하는 처리부를 포함할 수 있다. 처리부는 서로 다른 영상으로부터 서로 다른 프로세스를 이용하여 식품을 식별할 수 있다.

Description

냉장고, 그 제어 방법 및 시스템
개시된 발명은 냉장고, 그 제어 방법 및 시스템에 관한 것으로, 더욱 상세하게는 냉장고에 저장된 식품을 식별할 수 있는 냉장고, 그 제어 방법 및 시스템에 관한 발명이다.
냉장고는 식품, 음료 등과 같이 저장물을 부패하지 않고 장기간 보관하기 위한 장치로서, 통상 저장물을 냉장 저장하는 냉장실과 저장물을 냉동 저장하는 냉동실이 마련된다.
냉장고는 냉매의 압축 - 응축 - 팽창 - 증발을 포함하는 냉각 사이클을 반복 수행하여 저장실의 온도를 설정된 목표 온도로 유지시킨다. 다시 말해, 냉장고는 각 저장실(냉장실 및/또는 냉동실)의 목표 온도에 기초하여 각 저장실에 대응되어 마련된 증발기에 의해 냉각된 공기를 각 저장실 내로 공급하여 저장실의 온도가 목표 온도로 유지되도록 한다.
최근 냉장고는 저장실의 온도 및 냉장고의 동작 모드를 표시하기 위한 디스플레이를 포함하기도 한다. 이러한 디스플레이는 사용자에게 그래픽 유저 인터페이스를 제공하고, 그래픽 유저 인터페이스와 터치 패널을 이용하여 사용자가 냉장고와 관련된 정보 및/또는 식품과 관련된 정보를 쉽게 획득할 수 있도록 하며, 또한 사용자가 직관적으로 제어 명령을 입력할 수 있도록 한다.
특히 냉장고는 디스플레이를 통하여 입력된 사용자 입력에 응답하여 저장실에 저장된 식품의 정보를 디스플레이를 통하여 표시하고, 각각의 식품의 정보를 관리할 수 있다.
이때 저장실에 저장된 식품의 정보는 사용자가 직접 입력하는 것이 일반적이었다. 그로 인하여, 냉장고로 식품을 보관하거나 냉장고로부터 식품을 꺼낼 때마다 사용자는 저장실에 저장된 식품의 정보를 변경하여야 하는 불편이 있었다.
개시된 발명의 일 측면은 냉장고에 저장된 식품을 자동으로 식별할 수 있는 냉장고, 그 제어 방법 및 시스템을 제공하고자 한다.
개시된 발명의 일 측면은 기계 학습을 이용하여 냉장고에 저장된 식품을 식별할 수 있는 냉장고, 그 제어 방법 및 시스템을 제공하고자 한다.
개시된 발명의 일 측면은 기계 학습을 이용하여 식별된 식품에 기초하여 사용자에게 다양한 서비스를 제공할 수 있는 냉장고, 그 제어 방법 및 시스템을 제공하고자 한다.
개시된 발병의 일 측면에 의한 냉장고는 저장실; 상기 저장실에 마련된 카메라; 사용자의 터치 입력을 수신하는 터치 감지 디스플레이; 외부 장치와 통신하는 통신부; 상기 저장실 내부를 촬영하도록 상기 카메라를 제어하고, 상기 저장실 내부의 영상을 상기 터치 감지 디스플레이에 표시하고, 상기 영상을 상기 외부 장치로 전송하도록 상기 통신부를 제어하고, 상기 사용자의 터치 입력에 응답하여 상기 통신부를 통하여 상기 외부 장치로부터 상기 영상으로부터 식별된 식별 정보를 수신하고, 상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 제어부를 포함할 수 있다. 상기 식별 정보는 상기 영상으로부터 식별된 식품의 식별 정보와 상기 식별된 식품의 상기 영상에서의 위치 정보를 포함할 수 있다. 또한, 상기 제어부는 상기 사용자의 터치 입력의 위치 정보와 상기 식별된 식품의 상기 영상에서의 위치 정보에 기초하여 상기 사용자의 터치 입력에 대응하는 식품을 판단하고, 상기 사용자의 터치 입력에 대응하는 식품의 정보를 상기 터치 감지 디스플레이에 표시할 수 있다.
상기 식별된 식품의 상기 영상에서의 위치 정보는 상기 영상에서 임의로 선택된 복수의 샘플 영상들의 위치를 포함할 수 있다. 또한, 상기 영상으로부터 식별된 식품의 식별 정보는 상기 복수의 샘플 영상들로부터 식별된 식품의 식별 정보를 포함할 수 있다.
상기 제어부는 상기 복수의 샘플 영상들 중에 상기 사용자의 터치 입력으로부터 거리가 최소인 샘플 영상을 선택할 수 있다.
상기 제어부는 상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보를 상기 터치 감지 디스플레이에 표시할 수 있다.
상기 제어부는 상기 터치 감지 디스플레이에 상기 선택된 샘플 영상과 상기 선택된 샘플 영상으로부터 식별된 식품의 명칭과 상기 선택된 샘플 영상으로부터 식별된 식품의 보관 기간을 표시할 수 있다.
상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보는 적어도 2개의 식품의 명칭을 포함할 수 있다. 또한, 상기 제어부는 상기 적어도 2개의 식별 정보를 상기 터치 감지 디스플레이에 표시할 수 있다.
상기 제어부는 상기 적어도 2개의 식별 정보 중에 상기 사용자에 의하여 선택된 어느 하나의 식별 정보를 상기 터치 감지 디스플레이에 표시할 수 있다.
상기 제어부는 상기 터치 감지 디스플레이를 통하여 상기 사용자로부터 상기 영상으로부터 식별된 식별 정보의 수정을 수신하고, 상기 영상으로부터 식별된 식별 정보의 수정을 상기 외부 장치로 전송할 수 있다.
개시된 발병의 일 측면에 의한, 저장실과 상기 저장실에 마련된 카메라를 포함하는, 냉장고의 제어 방법은 상기 저장실 내부를 촬영하고; 상기 저장실 내부의 영상을 터치 감지 디스플레이에 표시하고; 상기 영상을 외부 장치로 전송하고; 상기 터치 감지 디스플레이에의 사용자의 터치 입력에 응답하여 상기 외부 장치로부터 상기 영상으로부터 식별된 식별 정보를 수신하고; 상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것을 포함할 수 있다. 상기 식별 정보는 상기 영상으로부터 식별된 식품의 식별 정보와 상기 식별된 식품의 상기 영상에서의 위치 정보를 포함할 수 있다. 또한, 상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것은 상기 사용자의 터치 입력의 위치 정보와 상기 식별된 식품의 상기 영상에서의 위치 정보에 기초하여 상기 사용자의 터치 입력에 대응하는 식품을 판단하고; 상기 사용자의 터치 입력에 대응하는 식품의 정보를 상기 터치 감지 디스플레이에 표시하는 것을 포함할 수 있다.
상기 식별된 식품의 상기 영상에서의 위치 정보는 상기 영상에서 임의로 선택된 복수의 샘플 영상들의 위치를 포함할 수 있다. 또한, 상기 영상으로부터 식별된 식품의 식별 정보는 상기 복수의 샘플 영상들로부터 식별된 식품의 식별 정보를 포함할 수 있다.
상기 사용자의 터치 입력에 대응하는 식품을 판단하는 것은, 상기 복수의 샘플 영상들 중에 상기 사용자의 터치 입력으로부터 거리가 최소인 샘플 영상을 선택하는 것을 포함할 수 있다.
상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것은, 상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것을 포함할 수 있다.
상기 냉장고의 제어 방법은 상기 터치 감지 디스플레이에 상기 선택된 샘플 영상과 상기 선택된 샘플 영상으로부터 식별된 식품의 명칭과 상기 선택된 샘플 영상으로부터 식별된 식품의 보관 기간을 표시하는 것을 더 포함할 수 있다.
상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보는 적어도 2개의 식품의 명칭을 포함할 수 있다. 상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것은 상기 적어도 2개의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것을 포함할 수 있다.
상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것은 상기 적어도 2개의 식별 정보 중에 상기 사용자에 의하여 선택된 어느 하나의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것을 더 포함할 수 있다.
개시된 발병의 일 측면에 의한 시스템은 냉장고; 및 서버 장치를 포함할 수 있다. 상기 냉장고는 저장실 내부를 촬영하고, 상기 저장실 내부의 영상을 터치 감지 디스플레이에 표시하고, 상기 영상을 상기 서버 장치로 전송하고, 상기 터치 감지 디스플레이에 대한 사용자의 터치 입력에 응답하여 상기 서버 장치로부터 상기 영상으로부터 식별된 식별 정보를 수신하고, 상기 식별 정보를 상기 터치 감지 디스플레이에 표시할 수 있다. 또한, 상기 서버 장치는 상기 냉장고로부터 상기 저장실 내부의 영상을 수신하고, 상기 영상에서 임의로 복수의 샘플 영상들을 선택하고, 상기 복수의 샘플 영상들 각각으로부터 식품을 식별하고, 상기 복수의 샘플 영상 각각의 위치 정보와 상기 복수의 샘플 영상 각각으로부터 식별된 식품의 식별 정보를 상기 냉장고로 전송할 수 있다.
상기 냉장고는 상기 사용자의 터치 입력의 위치 정보와 상기 복수의 샘플 영상 각각의 위치 정보에 기초하여 상기 사용자의 터치 입력에 대응하는 식품을 판단할 수 있다.
상기 냉장고는 상기 복수의 샘플 영상들 중에 상기 사용자의 터치 입력으로부터 거리가 최소인 샘플 영상을 선택할 수 있다.
상기 냉장고는 상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보를 상기 터치 감지 디스플레이에 표시할 수 있다.
상기 냉장고는 상기 터치 감지 디스플레이에 상기 선택된 샘플 영상과 상기 선택된 샘플 영상으로부터 식별된 식품의 명칭과 상기 선택된 샘플 영상으로부터 식별된 식품의 보관 기간을 표시할 수 있다.
개시된 발병의 일 측면에 의한 식품 관리 시스템은 서버 장치; 및 저장실을 포함하고, 상기 저장실의 영상을 상기 서버 장치로 전송하는 냉장고를 포함할 수 있다. 상기 서버 장치는, 통신부; 및 상기 통신부를 통하여 상기 냉장고로부터 수신된 영상으로부터 식품을 식별하고 상기 통신부를 통하여 상기 냉장고로 상기 식별된 식품과 관련된 정보를 전송하는 처리부를 포함할 수 있다. 상기 처리부는 서로 다른 영상으로부터 서로 다른 프로세스를 이용하여 식품을 식별할 수 있다.
상기 처리부는 상기 수신된 영상과 기준 영상 사이의 차이에 기초하여 식품 영역을 식별하고, 상기 식품 영역의 영상으로부터 식품을 식별할 수 있다.
상기 처리부는 상기 수신된 영상으로부터 문자가 추출되면 상기 문자를 식별함으로써 식품을 식별할 수 있다.
상기 처리부는 상기 수신된 영상의 색상의 변화에 따라 상기 수신된 영상을 복수의 영역으로 분할하고, 상기 복수의 영역으로부터 식품을 식별할 수 있다.
상기 처리부는 사전에 기계 학습된 식별 엔진을 포함하고, 상기 식품 식품 엔진을 이용하여 상기 수신된 영상으로부터 식품을 식별할 수 있다.
상기 냉장고는 상기 식별된 식품과 관련된 정보를 표시하고, 사용자로부터 상기 식별된 식품과 관련된 정보에 대한 수정 입력을 수신할 수 있다.
상기 처리부는 상기 사용자의 수정 입력을 수신하고, 상기 사용자의 수정 입력을 이용하여 상기 식별 엔진을 다시 기계 학습할 수 있다.
상기 냉장고는 제1 시점에 상기 저장실의 제1 영상과 제2 시점에 상기 저장실의 제2 영상 사이의 차이로부터 변경 영역을 식별하고, 상기 변경 영역의 식품을 식별하기 위하여 상기 변경 영역을 상기 서버 장치로 전송할 수 있다.
개시된 발병의 일 측면에 의한 식품 관리 방법은 저장실의 내부를 촬영함으로써 상기 저장실의 영상을 획득하고; 사전에 기계 학습된 식별 엔진을 이용하여 상기 저장실의 영상으로부터 식품을 식별하고; 상기 식별된 식품과 관련된 정보를 표시하는 것을 포함할 수 있다. 상기 식품을 식별하는 것은 서로 다른 영상으로부터 서로 다른 프로세스를 이용하여 식품을 식별하는 것을 포함할 수 있다.
상기 식품을 식별하는 것은, 상기 영상과 기준 영상 사이의 차이에 기초하여 식품 영역을 식별하고; 상기 식품 영역의 영상으로부터 식품을 식별하는 것을 포함할 수 있다.
상기 식품을 식별하는 것은, 상기 영상으로부터 문자가 추출되면 상기 문자를 식별함으로써 식품을 식별하는 것을 포함할 수 있다.
상기 식품을 식별하는 것은, 상기 영상의 색상의 변화에 따라 상기 저장실의 영상을 복수의 영역으로 분할하고; 상기 복수의 영역으로부터 식품을 식별할 수 있다.
상기 식품 관리 방법은 사용자로부터 상기 식별된 식품과 관련된 정보에 대한 수정 입력을 수신하는 것을 더 포함할 수 있다.
상기 식품 관리 방법은 상기 사용자의 수정 입력을 이용하여 상기 식별 엔진을 다시 기계 학습하는 것을 더 포함할 수 있다.
상기 식품 관리 방법은 제1 시점에 상기 저장실의 제1 영상과 제2 시점에 상기 저장실의 제2 영상 사이의 차이로부터 변경 영역을 식별하고; 상기 변경 영역의 식품을 식별하는 것을 더 포함할 수 있다.
개시된 발병의 일 측면에 의한 냉장고는 디스플레이; 저장실; 상기 저장실에 마련되는 카메라; 및 상기 저장실을 촬영하도록 상기 카메라를 제어하고, 상기 저장실의 영상으로부터 상기 저장실에 저장된 식품을 식별하고, 상기 식별된 식품과 관련된 정보를 상기 디스플레이 장치에 표시하는 제어부를 포함할 수 있다. 상기 제어부는 서로 다른 영상으로부터 서로 다른 프로세스를 이용하여 식품을 식별할 수 있다.
상기 제어부는 사전에 기계 학습된 식별 엔진을 포함하고, 상기 식품 식품 엔진을 이용하여 상기 저장실의 영상으로부터 식품을 식별할 수 있다.
상기 제어부는 상기 저장실의 영상과 기준 영상 사이의 차이에 기초하여 식품 영역을 식별하고, 상기 식품 영역의 영상으로부터 식품을 식별할 수 있다.
상기 제어부는 상기 저장실의 영상으로부터 문자가 추출되면 상기 문자를 식별함으로써 식품을 식별할 수 있다.
상기 제어부는 상기 저장실의 영상의 색상의 변화에 따라 상기 저장실의 영상을 복수의 영역으로 분할하고, 상기 복수의 영역으로부터 식품을 식별할 수 있다.
개시된 발명의 일 측면에 따르면, 냉장고에 저장된 식품을 자동으로 식별할 수 있는 냉장고, 그 제어 방법 및 시스템을 제공할 수 있다.
개시된 발명의 일 측면에 따르면, 기계 학습을 이용하여 냉장고에 저장된 식품을 식별할 수 있는 냉장고, 그 제어 방법 및 시스템을 제공할 수 있다.
개시된 발명의 일 측면에 따르면, 기계 학습을 이용하여 식별된 식품에 기초하여 사용자에게 다양한 서비스를 제공할 수 있는 냉장고, 그 제어 방법 및 시스템을 제공할 수 있다.
도 1은 일 실시예에 의한 식품 관리 시스템을 도시한다.
도 2은 일 실시예에 의한 냉장고의 외관을 도시한다.
도 3는 일 실시예에 의한 냉장고의 전면을 도시한다.
도 4은 일 실시예에 의한 냉장고의 구성을 도시한다.
도 5는 일 실시예에 의한 냉장고에 포함된 터치 스크린 디스플레이를 도시한다.
도 6은 일 실시예에 의한 서버 장치의 구성을 도시한다.
도 7은 일 실시예에 의한 서버 장치에 포함된 객체 식별 엔진의 구성을 도시한다.
도 8은 일 실시예에 의한 서버 장치에 저장된 데이터를 도시한다.
도 9은 일 실시예에 의한 서버 장치에 포함된 객체 식별을 위한 학습 엔진의 일 예를 도시한다.
도 10은 일 실시예에 의한 서버 장치의 객체 식별을 위한 기계 학습의 일 예를 도시한다.
도 11는 일 실시예에 의한 서버 장치의 객체 식별 엔진의 구성을 도시한다.
도 12, 도 13 및 도 14는 일 실시예에 의한 서버 장치에 포함된 객체 식별 엔진이 객체를 식별하는 일 예를 도시한다.
도 15는 일 실시예에 의한 서버 장치의 객체 식별 엔진의 다른 일 예를 도시한다.
도 16 및 17은 일 실시예에 의한 서버 장치에 포함된 객체 식별 엔진이 객체를 식별하는 다른 일 예를 도시한다.
도 18은 일 실시예에 의한 식품 관리 시스템의 식품 식별 방법의 일 예를 도시한다.
도 19은 도 18에 도시된 식품 식별 방법에 의하여 촬영된 저장실 내부 영상을 도시한다.
도 20는 도 18에 도시된 식품 식별 방법에 의하여 식품 영역을 식별하는 일 예를 도시한다.
도 21은 도 18에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 표시하는 일 예를 도시한다.
도 22는 도 18에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 표시하는 다른 일 예를 도시한다.
도 23은 일 실시예에 의한 식품 관리 시스템의 식품 식별 방법의 다른 일 예를 도시한다.
도 24는 도 23에 도시된 식품 식별 방법에 의하여 사용자의 터치 입력을 수신하는 일 예를 도시한다.
도 25는 도 23에 도시된 식품 식별 방법에 의하여 샘플 영상을 추출하는 일 예를 도시한다.
도 26은 도 23에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 표시하는 일 예를 도시한다.
도 27은 도 23에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 표시하는 다른 일 예를 도시한다.
도 28는 일 실시예에 의한 식품 관리 시스템의 식품 식별 방법의 다른 일 예를 도시한다.
도 29은 도 28에 도시된 식품 식별 방법에 의하여 추가 식품 영역을 식별하는 일 예를 도시한다.
도 30는 도 28에 도시된 식품 식별 방법에 의하여 추가 식품 관련 정보를 표시하는 일 예를 도시한다.
도 31은 일 실시예에 의한 식품 관리 시스템의 식품 식별 방법의 다른 일 예를 도시한다.
도 32 및 도 33은 도 31에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 수정하는 일 예를 도시한다.
도 34은 일 실시예에 의한 냉장고가 식품을 식별하는 방법을 도시한다.
도 35는 일 실시예에 의한 식품 관리 시스템이 식품들 각각을 개별 식별하는 식별 방법의 다른 일 예를 도시한다.
도 36은 도 35에 도시된 식품 식별 방법에 의하여 수동으로 식품 관련 정보를 입력하는 일 예를 도시한다.
도 37는 일 실시예에 의한 식품 관리 시스템이 식품들을 일괄 식별하는 식별 방법의 다른 일 예를 도시한다.
도 38는 도 37에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 수정하는 일 예를 도시한다.
도 39은 도 37에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 수정하는 다른 일 예를 도시한다.
도 40은 일 실시예에 의한 식품 관리 시스템의 식품 관리 방법의 일 예를 도시한다.
도 41은 도 40에 도시된 식품 관리 방법에 의하여 식품을 구매하는 일 예를 도시한다.
도 42은 일 실시예에 의한 식품 관리 시스템의 식품 관리 방법의 다른 일 예를 도시한다.
도 43은 일 실시예에 의한 식품 관리 시스템의 레시피 제공 방법의 일 예를 도시한다.
도 44 및 도 45은 도 43에 도시된 레시피 제공 방법에 의하여 레시피를 제공하는 일 예를 도시한다.
도 46은 도 43에 도시된 레시피 제공 방법에 의하여 레시피를 제공하는 다른 일 예를 도시한다.
도 47은 일 실시예에 의한 식품 관리 시스템의 레시피 제공 방법의 일 예를 도시한다.
도 48 및 도 49는 도 47에 도시된 레시피 제공 방법에 의하여 레시피를 제공하는 일 예를 도시한다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 ‘부, 모듈, 부재, 블록’이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 일 실시예에 의한 식품 관리 시스템을 도시한다.
도 1에 도시된 바와 같이, 식품 관리 시스템(1)은 식품을 저장하는 냉장고(refrigerator) (100)와, 냉장고(100)에 저장된 식품을 식별(또는 인식)하는 서버 장치(computing apparatus) (200)와, 식별(또는 인식)된 식픔과 관련된 정보를 사용자에게 제공하는 사용자 장치(user equipment) (300)를 포함한다.
식품 관리 시스템(1)에 포함된 냉장고(100)와 서버 장치(200)와 사용자 장치(300)는 통신망(NET)을 통하여 연결될 수 있다. 이때, 통신망(NET)은 유선 통신망과 무선 통신망을 모두 포함할 수 있다. 유선 통신망은 케이블망이나 전화망 등의 통신망을 포함하며, 무선 통신망은 전파를 통하여 신호를 송수신하는 통신망을 포함할 수 있다. 유선 통신망과 무선 통신망은 서로 연결될 수 있다. 예를 들어, 유선 통신망은 인터넷 등의 광역 네트워크(WAN)를 포함할 수 있으며, 무선 통신망은 광역 네트워크(WAN)에 연결된 액세스 포인트(AP)를 포함할 수 있다.
냉장고(100)는 식품을 냉장 저장하거나 냉동 저장할 수 있다. 예를 들어, 냉장고(100)는 식품을 수용하는 저장실과 저장실을 냉각시키는 냉각 장치를 구비할 수 있다. 냉장고(100)는 저장실에 저장된 식품이 변질되는 것을 방지하기 위하여 냉각 장치를 이용하여 저장실에 냉각된 공기를 공급할 수 있다.
냉장고(100)는 사용자의 요구에 응답하여 저장실에 저장된 식픔과 관련된 정보를 사용자에게 제공할 수 있다. 예를 들어, 냉장고(100)는 식품이 저장된 저장실을 촬영하고, 저장실 내부의 영상을 획득할 수 있다. 저장실에 저장된 식품과 관련된 정보를 획득하기 위하여 냉장고(100)는 촬영된 저장실 내부의 영상을 통신망(NET)을 통하여 서버 장치(200)로 전송할 수 있다. 또한, 냉장고(100)는 서버 장치(200)로부터 저장실에 저장된 식픔과 관련된 정보(식품 관련 정보)를 수신하고, 수신된 식품 관련 정보를 표시하거나 사용자 장치(300)로 전송할 수 있다.
서버 장치(200)는 다른 장치로부터 통신망(NET)을 통하여 데이터를 처리하고, 처리된 데이터를 저장하거나 다른 장치로 전송할 수 있다. 예를 들어, 서버 장치(200)는 다른 장치와 통신할 수 있는 통신 유닛과, 데이터를 처리할 수 있는 처리 유닛과, 처리된 데이터를 저장할 수 있는 저장 매체를 포함할 수 있다. 이러한 서버 장치(200)는 서버(server), 클라이언트(client), 워크스테이션(workstation), 퍼스널 컴퓨터(personal computer), 클라우드(cloud), 데이터 드라이브(data drive), 데이터 스테이션(data station) 등 다양하게 호칭될 수 있다.
서버 장치(200)는 객체를 식별할 수 있는 객체 인식(Object Recognition)을 포함할 수 있다. 예를 들어, 서버 장치(200)는 기계 학습(machine learning)을 이용하여 영상에 포함된 객체를 식별할 수 있는 객체 인식을 포함할 수 있다.
서버 장치(200)는 냉장고(100)로부터 저장실 내부의 영상을 통신망(NET)을 통하여 수신하고, 저장실 내부의 영상에 포함된 식품(즉 저장실에 저장된 식품)을 식별할 수 있다. 또한, 서버 장치(200)는 식별된 식품과 관련된 정보를 저장하거나, 식별된 식품과 관련된 정보를 냉장고(100) 및/또는 사용자 장치(300)로 전송할 수 있다. 여기서, 식별된 식품과 관련된 정보는 식별된 식품의 영상, 식별된 식품의 명칭, 식별된 식품의 카테고리, 식별된 식품의 저장 기한 등을 포함할 수 있다.
사용자 장치(300)는 다른 장치로부터 통신망(NET)을 통하여 데이터를 처리하고, 처리된 데이터를 사용자에게 표시할 수 있다. 특히, 사용자 장치(300)는 사용자에 의하여 휴대되거나, 사용자의 가정 또는 사무실 등에 배치될 수 있으며, 사용자는 쉽게 사용자 장치(300)에 접근할 수 있다. 이러한 사용자 장치(300)는 워크스테이션(workstation), 퍼스널 컴퓨터(personal computer), 단말기(terminal), 휴대폰(portable telephone), 스마트 폰(smart phone), 휴대 장치(handheld device), 착용 장치(wearable device) 등 다양하게 호칭될 수 있다.
사용자 장치(300)는 냉장고(100) 및/또는 서버 장치(200)로부터 냉장고(100)에 저장된 식품과 관련된 정보를 수신하고, 냉장고(100)에 저장된 식품과 관련된 정보를 표시할 수 있다. 예를 들어, 사용자 장치(300)는 냉장고(100)에 저장된 식품의 명칭, 영상, 카테고리, 저장 기한 등을 표시할 수 있다.
이상에서 설명된 바와 같이 식품 관리 시스템(1)은 냉장고(100)의 저장실을 촬영하여 저장실 내부의 영상을 획득하고, 저장실 내부의 영상에 포함된 식품을 식별할 수 있다. 다시 말해, 식품 관리 시스템(1)은 저장실 내부의 영상을 이용하여 저장실에 저장된 식품을 식별할 수 있다. 또한, 식품 관리 시스템(1)은 식별 결과에 기초하여 저장실에 저장된 식품과 관련된 정보를 사용자에게 제공할 수 있다.
그 결과, 사용자가 냉장고(100)에 저장된 식품과 관련된 정보를 입력하지 아니하여도, 냉장고(100)는 서버 장치(200)를 이용하여 식품을 식별할 수 있으며 저장된 식품과 관련된 정보를 획득할 수 있다.
이하에서는, 식품 관리 시스템(1)에 포함된 냉장고(100)의 구성 및 동작이 설명된다.
도 2은 일 실시예에 의한 냉장고의 외관을 도시한다. 도 3는 일 실시예에 의한 냉장고의 전면을 도시한다. 도 4은 일 실시예에 의한 냉장고의 구성을 도시한다. 도 5는 일 실시예에 의한 냉장고에 포함된 터치 스크린 디스플레이를 도시한다.
도 2, 도 3, 도 4 및 도 5를 참조하면, 냉장고(100)는 전면(前面)이 개방된 본체(101)와, 본체(101) 내부에 형성되며 식품이 냉장 및/또는 냉동 보관되는 저장실(110)과, 본체(101)의 개방된 전면을 개폐하는 도어(120)를 포함할 수 있다.
본체(101)는 냉장고(100)의 외관을 형성할 수 있다. 본체(101)는 저장실(110)을 형성하는 내상(102)과, 내상(102)의 외측에 결합되어 외관을 형성하는 외상(103)을 포함할 수 있다. 본체(101)의 내상(102)과 외상(103) 사이에는 저장실(110)의 냉기 유출을 방지할 수 있는 단열재(미도시)가 충진될 수 있다.
저장실(110)은 수평 격벽(110a)과 수직 격벽(110b)에 의해 복수 개로 구획될 수 있다. 예를 들어, 도 2에 도시된 바와 같이 저장실(110)은 상부 저장실(111)과, 하부 제1 저장실(112)과, 하부 제2 저장실(113)로 구획될 수 있다.
저장실(110)에는 식품을 올려 놓을 수 있는 선반(110c)이 마련될 수 있다. 저장실(110) 내부의 저장 공간은 선반(110c)에 의하여 구획될 수 있다. 예를 들어, 상부 저장실(111)은 제1 저장 공간(111a)과 제2 저장 공간(111b)과 제3 저장 공간(111c)으로 구획될 수 있다.
저장실(110)은 도어(120)에 의하여 개폐될 수 있다. 예를 들어, 도 2에 도시된 바와 같이 상부 저장실(111)은 상부 제1 도어(121a)와 상부 제2 도어(121b)에 의하여 개폐될 수 있고, 하부 제1 저장실(112)은 하부 제1 도어(122)에 의하여 개폐될 수 있으며, 하부 제2 저장실(113)은 하부 제2 도어(123)에 의하여 개폐될 수 있다.
도어(120)를 용이하게 개폐할 수 있도록 도어(120)에는 핸들(120a)이 마련될 수 있다. 핸들(121)은 상부 제1 도어(121a)와 상부 제2 도어(121b)의 사이와 하부 제1 도어(122)와 하부 제2 도어(123)의 사이를 따라 상하방향으로 길게 형성될 수 있다. 그로 인하여, 도어(120)가 폐쇄된 경우, 핸들(120a)은 일체로 마련될 것과 같이 보여질 수 있다.
또한, 냉장고(1)는 도 4에 도시된 바와 같이 터치 스크린 디스플레이(touch screen display) (130), 온도 감지부(temperature sensor) (140), 카메라(camera) (150), 냉각부(cooler) (160), 통신부(communicator) (170), 저장부(storage) (180) 및 제어부(controller) (190)를 포함할 수 있다.
터치 스크린 디스플레이(130)는 영상을 표시하는 디스플레이 패널(131)과, 터치 입력을 수신하는 터치 패널(132)을 포함할 수 있다.
디스플레이 패널(131)은 도 5에 도시된 바와 같이 제어부(190)로부터 수신된 영상 데이터를 사용자가 볼 수 있는 광학적 신호로 변환할 수 있다.
디스플레이 패널(131)은 액정 디스플레이(Liquid Crystal Display, LCD) 패널, 발광 다이오드(Light Emitting Diode, LED) 패널, 유기 발광 다이오드(Organic Light Emitting Diode, OLED) 패널, 마이크로 발광 다이오드(micro Light Emitting Diode, uLED) 패널, 플라즈마 디스플레이 패널(Plasma Display Panel, PDP) 등을 채용할 수 있다. 다만, 디스플레이 패널(131)은 이에 한정되지 않으며, 디스플레이 패널(131)은 영상 데이터에 대응하는 광학적 영상을 시각적으로 표시할 수 있는 다양한 디스플레이를 채용할 수 있다.
터치 패널(132)은 도 5에 도시된 바와 같이 사용자의 터치 입력을 수신하고, 수신된 터치 입력에 대응하는 전기적 신호를 제어부(190)로 출력할 수 있다.
예를 들어, 터치 패널(132)은 전기적 저항값의 변화 또는 정전용량의 변화로부터 터치 패널(132)에 대한 사용자의 터치를 감지하고, 사용자의 터치 지점의 좌표에 대응하는 전기적 신호를 제어부(190)로 출력할 수 있다. 제어부(190)는 터치 패널(132)로부터 수신된 전기적 신호에 기초하여 사용자의 터치 지점의 좌표를 식별할 수 있다. 또한, 제어부(190)는 사용자의 터치 지점의 좌표에 기초하여 사용자 입력을 식별할 수 있다.
터치 패널(132)은 디스플레이 패널(131)의 전면에 위치할 수 있다. 다시 말해, 터치 패널(132)은 영상이 표시되는 면 위에 마련될 수 있다. 그로 인하여, 터치 패널(132)은 디스플레이 패널(131)에 표시되는 영상이 왜곡되지 않도록 투명한 재질로 형성될 수 있다.
이러한 터치 패널(132)은 저항막 방식 터치 패널 또는 정전용량 방식 터치 패널을 채용할 수 있다. 다만, 터치 패널(132)은 이에 한정되지 않으며, 터치 패널(132)은 사용자의 터치 또는 접근을 감지하고, 감지된 터치 지점의 좌표 또는 접근 지점의 좌표에 대응하는 전기적 신호를 출력할 수 있는 다양한 터치 패널을 채용할 수 있다.
이처럼, 터치 스크린 디스플레이(130)는 사용자로부터 터치 입력을 수신하여 제어부(190)로 전달하고, 사용자의 터치 입력에 응답한 제어부(190)의 영상을 표시할 수 있다. 다시 말해, 터치 스크린 디스플레이(130)는 사용자와 상호 작용할 수 있다.
터치 스크린 디스플레이(130)은 사용자의 편의를 위해 도어(120)에 설치될 수 있다. 예를 들어, 도 3에 도시된 바와 같이 터치 스크린 디스플레이(130)는 상부 제2 도어(121b)에 설치될 수 있다. 이하에서는 상부 제2 도어(121b)에 설치된 터치 스크린 디스플레이(130)가 설명되나, 터치 스크린 디스플레이(130)의 설치 위치가 상부 제2 도어(121b)에 한정되는 것은 아니다. 예를 들어, 터치 스크린 디스플레이(130)는 상부 제1 도어(121a), 하부 제1 도어(122), 하부 제2 도어(123) 및 본체(10)의 외상(103) 등 사용자가 볼 수 있는 위치라면 어디든지 설치될 수 있다.
또한, 터치 스크린 디스플레이(130)은 사용자가 일정 범위 이내로 접근할 때 자동으로 활성화되는 웨이크 업(wake up) 기능을 구비할 수 있다. 예를 들어, 사용자가 일정 범위 이내로 접근하면 터치 스크린 디스플레이(130)가 활성화될 수 있다. 다시 말해, 터치 스크린 디스플레이(130)는 온(on)상태가 될 수 있다. 또한, 사용자가 일정 범위 이내에서 벗어난 이후 일정 시간이 경과하면 터치 스크린 디스플레이(130)가 비활성화될 수 있다. 다시 말해, 터치 스크린 디스플레이(130)는 오프(off)상태가 될 수 있다.
온도 감지부(140)는 저장실(110)의 내부에 마련되어, 저장실(110) 내부의 온도를 감지하는 내부 온도 센서들(inner temperature sensors) (141)을 포함할 수 있다.
내부 온도 센서들(141)은 복수의 저장실들(111, 112, 112) 각각에 설치되어 수의 저장실(111, 112, 113) 각각의 온도를 감지하고, 감지된 온도에 대응하는 전기적 신호를 제어부(190)로 출력할 수 있다. 내부 온도 센서들(141) 각각은 온도에 따라 전기적 저항이 변화하는 서미스터(thermistor)를 포함할 수 있다.
카메라(150)는 저장실(110) 내부에 설치되어 저장실(110)의 내부 영상을 획득할 수 있다. 예를 들어, 도 2에 도시된 바와 같이 카메라(150)는 도어(120)의 내측에 설치될 수 있으며, 도어(120)의 내측으로부터 저장실(110) 내부를 향하여 촬영할 수 있다. 따라서, 카메라(150)는 사용자의 시선 방향과 대략 동일한 방향으로 저장실(110) 내부를 촬영할 수 있다.
카메라(150)는 영상을 촬영하여 전기적 신호로 변환하는 이미저(imager) (151)를 포함할 수 있다. 이미저(151)는 광학 신호를 전기적 신호로 변환하는 복수의 광 다이오드들을 포함할 수 있으며, 복수의 광 다이오드들은 2차원으로 배치될 수 있다. 이미저(151)는 예를 들어 CCD (Charge-Coupled Device) 영상 센서 또는 CMOS (Complementary metal-oxide-semiconductor) 영상 센서를 포함할 수 있다.
카메라(150)는 선반(110c)에 의하여 구획된 저장실(110)의 내부를 촬영하기 위하여 복수의 이미저들(151a, 151b, 151c)을 포함할 수 있다. 예를 들어, 카메라(150)는 상부 저장실(111)의 제1 저장 공간(111a)을 촬영하는 제1 이미저(151a)와, 제2 저장 공간(111b)을 촬영하는 제2 이미저(151b)와, 제3 저장 공간(111c)을 촬영하는 제3 이미저(151c)를 포함할 수 있다.
특히, 저장실(110)에 식품에 저장된 경우, 카메라(150)에 의하여 촬영된 저장실(110)의 내부 영상은 저장실(110)에 저장된 식품의 영상을 포함할 수 있다.
카메라(150)는 촬영된 영상을 제어부(190)로 전달할 수 있다. 구체적으로, 카메라(150)는 식품의 영상이 포함된 저장실(110)의 내부 영상을 제어부(190)로 전달할 수 있다.
냉각부(160)는 저장실(110)에 냉기를 공급할 수 있다. 구체적으로, 냉각부(160)는 냉매의 증발을 이용하여 저장실(110)의 온도를 사용자에 의하여 지정된 범위 이내로 유지시킬 수 있다.
냉각부(160)는 기체 상태의 냉매를 압축하는 압축기(161)와, 압축된 기체 상태의 냉매를 액체 상태로 상태 변환시키는 응축기(162)와, 액체 상태의 냉매를 감압하는 팽창기(163)와, 감압된 액체 상태의 냉매를 기체 상태로 상태 변환시키는 증발기(164)를 포함할 수 있다.
냉각부(160)는 액체 상태의 냉매가 기체 상태로 상태 변환하면서 주위 공기의 열 에너지를 흡수하는 현상을 이용하여 저장실(110)의 공기를 냉각시킬 수 있다.
다만, 냉각부(160)가 압축기(161), 응축기(162), 팽창기(163) 및 증발기(164)를 포함하는 것에 한정되는 것은 아니다.
예를 들어, 냉각부(160)는 펠티어 효과(Peltier effect)를 이용한 펠티어 소자를 포함할 수도 있다. 펠티어 효과란 서로 다른 종류의 금속이 접하는 접촉면에 전류를 흐르게 하면 어느 하나의 금속에서는 발열 현상이 발생하고, 다른 하나의 금속에서는 흡열 현상이 발생하는 것을 의미한다. 냉각부(160)는 펠티어 소자를 이용하여 저장실(110)의 공기를 냉각할 수 있다.
다른 예로, 냉각부(160)는 자기 열효과(magneto-caloric effect)를 이용한 자기 냉각 장치를 포함할 수 있다. 자기 열효과란 특정한 물질(자기 열량 물질)이 자화되면 열을 방출하고, 특정한 물질(자기 열량 물질)이 탈자화되면 열을 흡수하는 것을 의미한다. 냉각부(160)는 자기 냉각 장치를 이용하여 저장실(110)의 공기를 냉각할 수 있다.
통신부(170)는 서버 장치(200) 및/또는 사용자 장치(300)와 데이터를 주고받을 수 있다. 예를 들어, 통신부(170)는 카메라(150)에 의하여 촬영된 저장실 내부 영상을 서버 장치(200)로 전송할 수 있으며, 저장실 내부 영상에 포함된 식품과 관련된 정보를 서버 장치(200)로부터 수신할 수 있다.
통신부(170)는 서버 장치(200) 및/또는 사용자 장치(300)과 유선으로 데이터를 주고받는 유선 통신 모듈(172)과, 서버 장치(200) 및/또는 사용자 장치(300)과 무선으로 데이터를 주고받는 무선 통신 모듈(171)을 포함할 수 있다.
유선 통신 모듈(172)은 유선 통신망에 접속하고 유선 통신망을 통하여 서버 장치(200) 및/또는 사용자 장치(300)와 통신할 수 있다. 예를 들어, 유선 통신 모듈(172)은 이더넷(Ethernet, IEEE 802.3 기술 표준)을 통하여 유선 통신망에 접속하고, 유선 통신망을 통하여 서버 장치(200) 및/또는 사용자 장치(300)로부터 데이터를 수신할 수 있다.
무선 통신 모듈(171)은 기지국(base station) 또는 액세스 포인트(AP)와 무선으로 통신할 수 있으며, 기지국 또는 액세스 포인트를 통하여 유선 통신망에 접속할 수 있다. 무선 통신 모듈(171)은 또한 기지국 또는 액세스 포인트를 거쳐 유선 통신망에 접속된 서버 장치(200) 및/또는 사용자 장치(300)과 통신할 수 있다. 예를 들어, 무선 통신 모듈(171)은 와이파이(WiFi™, IEEE 802.11 기술 표준)을 이용하여 액세스 포인트(AP)와 무선으로 통신하거나, CDMA, WCDMA, GSM, LET(Long Term Evolution), 와이브로 등을 이용하여 기지국과 통신할 수 있다. 무선 통신 모듈(171)은 또한 기지국 또는 액세스 포인트를 거쳐 서버 장치(200) 및/또는 사용자 장치(300)로부터 데이터를 수신할 수 있다.
뿐만 아니라, 무선 통신 모듈(171)은 서버 장치(200) 및/또는 사용자 장치(300)과 직접 통신할 수 있다. 예를 들어, 무선 통신 모듈(171)은 와이파이, 블루투스 (Bluetooth™, IEEE 802.15.1 기술 표준), 지그비(ZigBee™, IEEE 802.15.4 기술 표준) 등을 이용하여 서버 장치(200) 및/또는 사용자 장치(300)으로부터 무선으로 데이터를 수신할 수 있다.
이처럼, 통신부(170)는 서버 장치(200) 및/또는 사용자 장치(300)과 데이터를 주고 받을 수 있으며, 서버 장치(200) 및/또는 사용자 장치(300)로부터 수신된 데이터를 제어부(190)로 출력할 수 있다.
저장부(180)는 프로그램 및/또는 데이터를 저장하는 저장 매체(181)와, 프로그램 및/또는 데이터가 저장된 외부 저장 매체와 접속될 수 있는 접속 단자(182)를 포함할 수 있다. 프로그램은 특정한 기능을 수행하기 위하여 조합된 복수의 명령어들을 포함하며, 데이터는 프로그램에 포함된 복수의 명령어들에 의하여 처리 및/또는 가공될 수 있다. 또한, 프로그램 및/또는 데이터는 냉장고(100)의 동작과 직접적으로 관련된 시스템 프로그램 및/또는 시스템 데이터와, 사용자에게 편의 및 재미를 제공하는 어플리케이션 프로그램 및/또는 어플리케이션 데이터를 포함할 수 있다.
저장 매체(181)는 파일의 형태로 프로그램 및/또는 데이터를 저장할 수 있다. 예를 들어, 저장 매체(181)는 "*.exe" 또는 "*.jpg" 또는 "*.mpg" 등의 파일 형태로 프로그램 및/또는 데이터를 저장할 수 있다.
저장 매체(181)는 컨텐츠 데이터를 전기적으로 또는 자기적으로 또는 광학적으로 저장할 수 있다. 예를 들어, 저장 매체(181)는 반도체 소자 드라이브(solid stat driver, SSD) 또는 하드 디스크 드라이브(hard disc drive, HDD) 또는 광 디스크 드라이브(optical disc drive, ODD) 등을 포함할 수 있다.
저장 매체(181)는 제어부(190)의 로딩 명령에 응답하여 프로그램 및/또는 데이터를 제어부(190)로 출력할 수 있다.
접속 단자(182)는 프로그램 및/또는 데이터를 저장하는 외부 저장 매체와 연결될 수 있다. 예를 들어, 접속 단자(182)는 범용 직렬 버스(Universal Serial Bus, USB) 단자를 포함할 수 있으며, 외부 USB 저장 매체와 연결될 수 있다.
외부 저장 매체는 냉장고(100)의 저장 매체(181)와 마찬가지로 파일의 형태로 프로그램 및/또는 데이터를 저장할 수 있으며, 프로그램 및/또는 데이터를 전기적으로 또는 자기적으로 또는 광학적으로 저장할 수 있다. 또한, 외부 저장 매체는 제어부(190)의 로딩 명령에 응답하여 접속 단자(182)를 통하여 프로그램 및/또는 데이터를 제어부(190)로 출력할 수 있다.
이처럼, 저장부(180)는 프로그램 및/또는 데이터를 저장하고, 저장된 프로그램 및/또는 데이터를 제어부(190)로 출력할 수 있다. 다시 말해, 저장부(180)는 제어부(190)가 아래에서 설명되는 동작을 수행하기 위하여 실행되는 프로그램 및/또는 데이터를 저장할 수 있다.
제어부(190)는 저장부(180)에 저장된 프로그램 및/또는 데이터를 로딩하여 기억하는 메모리(192)와, 메모리(192)에 기억된 프로그램 및/또는 데이터에 따라 터치 스크린 디스플레이(130)의 사용자 입력 데이터 및 통신부(170)의 통신 데이터를 처리하는 프로세서(191)를 포함한다. 제어부(190)는 메모리(192)와 프로세서(191) 등의 하드웨어 뿐만 아니라, 메모리(192)에 기억되고 프로세서(191)에서 처리되는 프로그램 및/또는 데이터 등의 소프트웨어를 더 포함할 수 있다.
메모리(192)는 냉장고(100)에 포함된 구성들을 제어하기 위한 프로그램 및/또는 데이터를 기억하고, 냉장고(100)에 포함된 구성들을 제어하기 중에 발생하는 임시 데이터를 기억할 수 있다.
예를 들어, 메모리(192)는 온도 감지부(140)의 감지 결과에 기초하여 냉각부(160)의 동작을 제어하기 위한 프로그램 및/또는 데이터를 기억할 수 있으며, 온도 감지부(140)의 감지 결과를 임시로 기억할 수 있다. 메모리(192)는 터치 스크린 디스플레이(130)의 동작을 제어하기 위한 프로그램 및/또는 데이터를 기억할 수 있으며, 터치 스크린 디스플레이(130)에 표시된 영상과 터치 스크린 디스플레이(130)를 통하여 입력된 터치 입력(사용자 입력)을 임시로 기억할 수 있다. 메모리(192)는 도어(120)의 개폐에 기초하여 카메라(150)의 촬영 동작을 제어하기 위한 프로그램 및/또는 데이터를 기억할 수 있으며, 카메라(150)에 의하여 촬영된 영상을 임시로 기억할 수 있다. 메모리(192)는 통신부(170)의 통신 동작을 제어하기 위한 프로그램 및/또는 데이터를 기억할 수 있으며, 통신부(170)에 의하여 송수신되는 통신 데이터를 임시로 기억할 수 있다. 또한, 메모리(192)는 냉장고(100)가 아래에서 설명되는 동작을 수행하기 위한 프로그램 및/또는 데이터를 기억할 수 있다.
메모리(192)는 데이터를 장기간 저장하기 위한 롬(Read Only Memory), 플래시 메모리(flash memory) 등의 비휘발성 메모리와, 데이터를 일시적으로 기억하기 위한 S-램(Static Random Access Memory, S-RAM), D-램(Dynamic Random Access Memory) 등의 휘발성 메모리를 포함할 수 있다.
프로세서(191)는 메모리(192)에 기억/저장된 프로그램 및/또는 데이터에 따라 터치 스크린 디스플레이(130)의 터치 입력 및/또는 통신부(170)의 통신 데이터를 처리하고, 카메라(150), 터치 스크린 디스플레이(130)의 동작 및/또는 통신부(170)의 동작을 제어하기 위한 제어 신호를 생성할 수 있다.
예를 들어, 프로세서(191)는 온도 감지부(140)로부터 저장실(110)의 온도 정보를 수신하고, 저장실(110)의 온도 정보에 기초하여 냉각부(160)의 동작을 제어하기 위한 냉각 제어 신호를 생성할 수 있다. 프로세서(191)는 터치 스크린 디스플레이(130)로부터 사용자의 터치 입력을 수신하고, 사용자의 터치 입력에 응답하여 터치 스크린 디스플레이(130)에 영상을 표시하기 위한 표시 제어 신호 및 영상 데이터를 터치 스크린 디스플레이(130)에 전달할 수 있다. 프로세서(191)는 개방된 도어(120)가 폐쇄된 즉시 카메라(150)가 저장실(110)의 내부를 촬영하도록 촬영 제어 신호를 생성하고, 카메라(150)로부터 저장실(110)의 내부 영상을 수신할 수 있다. 프로세서(191)는 카메라(150)로부터 저장실(110)의 내부 영상의 수신에 응답하여 저장실(110)의 내부 영상을 서버 장치(200)로 전송하도록 통신부(170)를 제어하기 위한 통신 제어 신호를 생성할 수 있다. 프로세서(191)는 통신부(170)를 통하여 서버 장치(200)로부터 저장실(110)에 저장된 식품과 관련된 정보를 수신하는 것에 응답하여 식품 관련 정보를 터치 스크린 디스플레이(130)에 표시하기 위한 표시 제어 신호를 생성할 수 있다. 또한, 프로세서(191)는 냉장고(100)가 아래에서 설명되는 동작을 수행하기 위한 제어 신호를 생성할 수 있다.
프로세서(191)는 논리 연산 및 산술 연산 등을 수행하는 코어(core)와, 연산된 데이터를 기억하는 레지스터(register) 등을 포함할 수 있다.
이처럼 제어부(190)는 온도 감지부(140)를 통한 저장실(110)의 온도, 터치 스크린 디스플레이(130)를 통한 사용자의 터치 입력 및/또는 통신부(170)를 통한 통신 데이터에 기초하여 냉각부(160), 터치 스크린 디스플레이(130) 및 통신부(170)를 제어할 수 있다.
이상에서 설명된 바와 같이 제어부(190)는 냉장고(100)에 포함된 구성들을 모두 제어하는 프로세서 및 메모리를 포함할 수 있을 뿐만 아니라, 제어부(190)는 복수의 프로세서들과 복수의 메모리들을 포함할 수 있다. 예를 들어, 제어부(190)는 온도 감지부(140)/냉각부(160)의 동작을 제어하는 프로세서 및 메모리와 터치 스크린 디스플레이(130)의 동작을 제어하는 프로세서 및 메모리와 통신부(170)의 동작을 제어하는 프로세서와 메모리를 별도로 구비할 수 있다.
이하에서는, 식품 관리 시스템(1)에 포함된 서버 장치(200)의 구성 및 동작이 설명된다.
도 6은 일 실시예에 의한 서버 장치의 구성을 도시한다. 도 7은 일 실시예에 의한 서버 장치에 포함된 객체 식별 엔진의 구성을 도시한다. 도 8은 일 실시예에 의한 서버 장치에 저장된 데이터를 도시한다. 도 9은 일 실시예에 의한 서버 장치에 포함된 객체 식별을 위한 학습 엔진의 일 예를 도시한다. 도 10은 일 실시예에 의한 서버 장치의 객체 식별을 위한 기계 학습의 일 예를 도시한다.
도 6, 도 7, 도 8, 도 9 및 도 10을 참조하면, 서버 장치(200)는 입출력부(210)와, 통신부(220)와, 저장부(230)와, 처리부(240)를 포함할 수 있다.
입출력부(210)는 사용자 및/또는 관리자로부터 서버 장치(200)에 대한 제어 명령을 수신하는 입력 장치와, 서버 장치(200)의 동작 정보를 표시하는 표시 장치를 포함할 수 있다.
예를 들어, 입출력부(210)는 사용자 및/또는 관리자의 입력을 위한 각종 버튼이나 스위치, 페달(pedal), 키보드, 마우스, 트랙볼(track-ball), 각종 레버(lever), 핸들(handle)이나 스틱(stick) 등과 같은 하드웨어적인 입력 장치(211) 또는 사용자 및/또는 관리자의 입력을 위한 터치 패드(touch pad) 등과 같은 GUI(Graphical User interface), 즉 소프트웨어인 입력 장치(211)를 포함할 수도 있다. 또한, 입출력부(210)는 서버 장치(200)의 동작을 표시하기 위한 디스플레이(212)을 포함할 수 있다.
특히, 입출력부(210)는 서버 장치(200)와 분리되어 마련된 단말기를 포함할 수 있다. 예를 들어, 입출력부(210)는 키보드, 모니터 등을 포함하는 고정형 단말기 또는 키보드, 터치 패드, 디스플레이, 터치 스크린 디스플레이 등을 포함하는 휴대형 단말기를 포함할 수 있다.
통신부(220)는 냉장고(100) 및/또는 사용자 장치(300)와 데이터를 주고받을 수 있다. 예를 들어, 통신부(220)는 냉장고(100)로부터 저장실 내부 영상을 수신할 수 있으며, 저장실 내부 영상에 포함된 식품과 관련된 정보를 냉장고(100) 및/또는 사용자 장치(300)로 전송할 수 있다.
통신부(220)는 냉장고(100) 및/또는 사용자 장치(300)과 유선으로 데이터를 주고받는 유선 통신 모듈(221)과, 냉장고(100) 및/또는 사용자 장치(300)과 무선으로 데이터를 주고받는 무선 통신 모듈(222)을 포함할 수 있다. 유선 통신 모듈(221)과 무선 통신 모듈(222)의 구성 및 동작은 냉장고(100)의 그것과 동일할 수 있다.
이처럼, 통신부(220)는 냉장고(100) 및/또는 사용자 장치(300)과 데이터를 주고 받을 수 있으며, 냉장고(100) 및/또는 사용자 장치(300)로부터 수신된 데이터를 처리부(240)로 출력할 수 있다.
저장부(230)는 냉장고(100) 및/또는 사용자 장치(300)의 요청을 처리하기 위한 프로그램 및/또는 데이터를 저장할 수 있다.
예를 들어, 저장부(230)는 영상으로부터 객체를 식별하기 위한 객체 식별 엔진(231)과, 객체 식별 엔진(231)을 트레이닝하기 위한 트레이닝 데이터(232)와, 객체 식별 엔진(231)을 사용자의 수정에 따라 객체 식별 엔진(231)을 다시 트레이닝하기 위한 사용자 수정 데이터(233)를 포함할 수 있다.
객체 식별 엔진(231)은 지도에 의한 학습 또는 지도 없는 학습을 이용하여 영상으로부터 객체를 식별할 수 있다. 예를 들어, 사전의 트레이닝 또는 사후의 트레이닝에 의하여 객체 식별 엔진(231)은 영상의 포함된 식품을 식별하고, 식별된 식품의 명칭 등 식품 관련 정보를 출력할 수 있다.
객체 식별 엔진(231)은 관리자의 지도에 의하여 학습하는 지도 학습(supervised learning), 관리자의 지도 없이 학습하는 비지도 학습(unsupervised learning), 관리자의 지도 없이 보상에 의하여 학습하는 강화 학습(reinforcement learning) 등을 포함할 수 있다. 이해를 돕기 위하여 이하에서는 객체 식별 엔진(231)은 지도 학습을 포함하는 것을 가정한다.
객체 식별 엔진(231)은 영상을 통한 객체 식별을 위한 다양한 학습 알고리즘을 포함할 수 있다. 예를 들어, 객체 식별 엔진(231)은 뉴럴 네트워크(Neural Network) 알고리즘, 서포트 벡터 머신(Support Vector Machine, SVM) 알고리즘, 에이다부스트(AdaBoost) 알고리즘, 랜덤포레스트(random forest) 알고리즘 등을 포함할 수 있다.
객체 식별 엔진(231)은 트레이닝 데이터(232)에 의하여 사전에 트레이닝될 수 있다. 또한, 객체 식별 엔진(231)은 사용자 수정 데이터(233)에 의하여 사후에 재-트레이닝될 수 있다.
트레이닝 데이터(232)는 영상과, 영상에 대응되는 객체의 명칭을 포함할 수 있다. 예를 들어, 트레이닝 데이터(232)는 "사과의 영상"이 담긴 파일과, 이에 대응되는 "사과"라는 식품 명칭을 포함할 수 있다.
또한, 사용자 수정 데이터(233)는 객체의 영상과, 냉장고(100)의 사용자에 의하여 수정된 객체의 명칭을 포함할 수 있다. 예를 들어, 사용자 수정 데이터(233)는 "사과의 영상"이 담긴 파일과, 사용자에 의하여 수정된 "사과"라는 식품 명칭을 포함할 수 있다.
예를 들어, 도 7 및 도 8에 도시된 바와 같이, 저장부(230)는 식품 데이터 베이스(232a)와, 사용자 입력 데이터 베이스(233a)을 포함할 수 있다.
식품 데이터 베이스(232a)는 객체 식별 엔진(231)을 트레이닝하기 위한 트레이닝 데이터(232)를 포함할 수 있다. 식품 데이터 베이스(232a)의 트레이닝 데이터(232)는 설계자에 의하여 사전에 저장될 수 있으며, 초기에 객체 식별 엔진(231)은 식품 데이터 베이스(232a)의 트레이닝 데이터(232)에 의하여 트레이닝될 수 있다.
식품 데이터 베이스(232a)의 트레이닝 데이터(232)는 식품의 명칭과, 해당 식품의 이미지들을 포함할 수 있다. 예를 들어, 도 8의 (a)에 도시된 바와 같이 식품 데이터 베이스(232a)는 파인애플과, 파인애플을 나타내는 적어도 하나의 이미지(pineapple_1.jpg, pineapple_2.jpg)를 포함할 수 있으며, 포도와 포도를 나타내는 적어도 하나의 이미지(Grape_1.jpg, Grapge_2.jpg)를 포함할 수 있으며, 사과와 사과를 나타내는 적어도 하나의 이미지(Apple_1)를 포함할 수 있다.
사용자 입력 데이터 베이스(233a)는 사용자에 의하여 입력 또는 수정된 사용자 수정 데이터(233)을 포함할 수 있다. 사용자에 의하여 사용자 수정 데이터(233)가 입력되면, 객체 식별 엔진(231)은 사용자 수정 데이터(233)에 의하여 재트레이닝될 수 있다.
사용자 입력 데이터 베이스(233a)의 사용자 수정 데이터(233)는 사용자에 의하여 입력된 식품의 명칭과, 사용자에 의한 수정된 식품의 명칭에 대응하는 이미지들을 포함할 수 있다. 예를 들어, 도 8의 (b)에 도시된 바와 같이 사용자 입력 데이터 베이스(233a)는 사용자에 의하여 입력된 사과와, 수정된 사과에 대응하는 이미지(Apple_2.jpg)를 포함할 수 있다.
사용자 입력 데이터 베이스(233a)의 사용자 수정 데이터(233)를 이용하여 객체 식별 엔진(231)을 재트레이닝하기 위하여 저장부(230)는 객체 식별 엔진(231)은 트레이닝 데이터 생성부(231a)와, 객체 식별 엔진 학습부(231b)와, 객체 식별 엔진 생성부(231c)를 더 포함할 수 있다.
트레이닝 데이터 생성부(231a)는 기존의 트레이닝 데이터(232)와 사용자에 의하여 입력된 사용자 수정 데이터(233)를 이용하여 객체 식별 엔진(231)을 재트레이닝하기 위한 트레이닝 데이터를 생성할 수 있다. 예를 들어, 트레이닝 데이터 생성부(231a)는 트레이닝 데이터(232)와 사용자 수정 데이터(233)를 혼합할 수 있으며, 트레이닝 데이터(232)와 사용자 수정 데이터(233) 사이의 비율을 조절할 수 있다.
객체 식별 엔진 학습부(231b)는 트레이닝 데이터 생성부(231a)에 의하여 새롭게 생성된 트레이닝 데이터를 이용하여 객체 식별 엔진(231)을 트레이닝할 수 있다. 아래에서 설명하는 바와 같이, 객체 식별 엔진 학습부(231b)는 트레이닝 데이터 중에 식품 이미지를 객체 식별 엔진(231)에 입력하고, 식품 이미지에 대응하는 식품 명칭과 객체 식별 엔진(231)로부터 출력된 식품 명칭을 비교하고, 비교 결과에 따라 객체 식별 엔진(231)에 포함된 계수들을 조정할 수 있다.
객체 식별 엔진 생성부(231c)는 객체 식별 엔진 학습부(231b)에 의하여 트레이닝된 객체 식별 엔진(231)을 생성할 수 있다.
이처럼, 저장부(230)는 프로그램 및/또는 데이터를 저장하고, 저장된 프로그램 및/또는 데이터를 처리부(240)로 출력할 수 있다. 다시 말해, 저장부(230)는 처리부(240)가 아래에서 설명되는 동작을 수행하기 위하여 실행되는 프로그램 및/또는 데이터를 저장할 수 있다. 예를 들어, 저장부(230)는 객체 식별을 위한 객체 식별 엔진(231)학습 엔진을 트레이닝하기 위한 트레이닝 데이터(232) 및 사용자 수정 데이터(233)를 저장할 수 있다.
처리부(240)는 저장부(230)에 저장된 프로그램 및/또는 데이터를 로딩하여 기억하는 메모리(242)와, 메모리(242)에 기억된 프로그램 및/또는 데이터에 따라 냉장고(100) 및/또는 사용자 장치(300)로부터 수신된 데이터를 처리하는 프로세서(241)를 포함할 수 있다. 처리부(240)는 메모리(242)와 프로세서(241) 등의 하드웨어 뿐만 아니라, 메모리(242)에 기억되고 프로세서(241)에서 처리되는 프로그램 및/또는 데이터 등의 소프트웨어를 더 포함할 수 있다.
메모리(242)는 냉장고(100) 및/또는 사용자 장치(300)로부터 수신된 데이터를 처리하기 위한 프로그램 및/또는 데이터를 기억하고, 냉장고(100) 및/또는 사용자 장치(300)로부터 수신된 데이터를 처리하는 중에 발생하는 임시 데이터를 기억할 수 있다.
예를 들어, 메모리(242)는 트레이닝되지 아니한 객체 식별 엔진(231)을 기억할 수 있으며, 저장부(230)에 저장된 트레이닝 데이터(232)를 이용하여 트레이닝되지 아니한 객체 식별 엔진(231)을 트레이닝하기 위한 프로그램 및/또는 데이터를 기억할 수 있다. 메모리(242)는 트레이닝된 객체 식별 엔진(231)을 기억할 수 있으며, 트레이닝된 객체 식별 엔진(231)을 이용하여 영상 데이터로부터 영상의 객체를 식별하기 위한 프로그램 및/또는 데이터를 기억할 수 있다. 또한, 메모리(242)는 서버 장치(200)가 아래에서 설명되는 동작을 수행하기 위한 프로그램 및/또는 데이터를 기억할 수 있다.
메모리(242)는 데이터를 장기간 저장하기 위한 롬, 플래시 메모리 등의 비휘발성 메모리와, 데이터를 일시적으로 기억하기 위한 S-램, D-램 등의 휘발성 메모리를 포함할 수 있다.
프로세서(241)는 메모리(242)에 기억/저장된 프로그램 및/또는 데이터에 따라 냉장고(100) 및/또는 사용자 장치(300)로부터 수신된 데이터를 처리하고, 처리된 결과를 냉장고(100) 및/또는 사용자 장치(300)로 전송하기 위한 제어 신호를 생성할 수 있다.
예를 들어, 프로세서(241)는 메모리(242)에 저장된 트레이닝되지 않은 객체 식별 엔진(231)을 트레이닝할 수 있다. 구체적으로, 프로세서(241)는 트레이닝되지 않은 객체 식별 엔진(231)에 트레이닝 데이터(232)를 입력하고, 객체 식별 엔진(231)의 출력과 트레이닝 데이터(232)를 비교하여 객체 식별 엔진(231)을 갱신(트레이닝)할 수 있다.
또한, 프로세서(241)는 메모리(242)에 저장된 트레이닝된 객체 식별 엔진(231)을 이용하여 영상으로부터 객체를 식별할 수 있다. 구체적으로, 프로세서(241)는 트레이닝된 객체 식별 엔진(231)에 냉장고(100)로부터 전송된 저장실 내부 영상을 입력하고, 객체 식별 엔진(231)의 출력에 기초하여 저장실 내부 영상을 포함된 식품들을 식별할 수 있다. 다시 말해, 프로세서(241)는 트레이닝된 객체 식별 엔진(231)을 이용하여 냉장고(100)의 저장실(110)에 저장된 식품들을 식별하고, 식별된 식품들에 관한 정보를 출력할 수 있다. 또한, 프로세서(241)는 서버 장치(200)가 아래에서 설명되는 동작을 수행하기 위한 제어 신호를 생성할 수 있다.
프로세서(241)는 논리 연산 및 산술 연산 등을 수행하는 코어(core)와, 연산된 데이터를 기억하는 레지스터(register) 등을 포함할 수 있다.
이처럼, 처리부(240)는 트레이닝되지 않는 객체 식별 엔진(231)을 트레이닝할 수 있으며, 트레이닝된 객체 식별 엔진(231)을 이용하여 입력 영상으로부터 객체를 식별할 수 있다.
예를 들어, 객체 식별 엔진(231)은 도 9에 도시된 바와 같이 뉴럴 네트워크를 포함할 수 있다. 객체 식별 엔진(231)은 영상 데이터가 입력되는 입력 레이어(input)와, 식별된 객체에 관한 정보가 출력되는 출력 레이어(output)와, 입력 레이어(input)와 출력 레이어(output) 사이의 히든 레이어(hidden)를 포함할 수 있다.
입력 레이어(input)는 복수의 입력 노드들(i1, i2)을 포함하며, 복수 입력 노드(i1, i2) 각각에 영상 데이터가 입력될 수 있다. 예를 들어, 영상에 포함된 복수의 픽셀들의 휘도 값 및/또는 색상 값이 복수의 입력 노드들(i1, i2) 각각에 입력될 수 있다.
히든 레이어(hidden)는 복수의 히든 노드(h1, h2)를 포함하며, 복수의 히든 노드(h1, h2) 각각에는 가중치(w1, w2, w3, w4)가 적용된 복수의 입력 노드(i1, i2)의 출력 값의 합이 입력될 수 있다. 예를 들어, 처리부(240)는 제1 가중치(w1)가 적용된 제1 입력 노드(i1)의 출력 값과 제2 가중치(w2)가 적용된 제2 입력 노드(i2)의 출력 값의 합을 제1 히든 노드(h1)에 입력할 수 있다. 또한, 처리부(240)는 제3 가중치(w3)가 적용된 제1 입력 노드(i1)의 출력 값과 제4 가중치(w4)가 적용된 제2 입력 노드(i2)의 출력 값의 합을 제2 히든 노드(h2)에 입력할 수 있다.
처리부(240)는 히든 레이어(hidden)에 입력된 입력 값에 스텝 함수(step function) 또는 시그모이드 함수(sigmoid function)을 적용할 수 있다. 예를 들어, 처리부(240)는 제1 히든 노드(h1)의 입력 값을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력 값을 출력 레이어(output)으로 출력할 수 있다. 또한, 처리부(240)는 제2 히든 노드(h2)의 입력 값을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력 값에 가중치(w5, w6, w7, w8)를 적용하여 출력 레이어(output)으로 출력할 수 있다.
출력 레이어(output)는 복수의 출력 노드들(o1, o2)을 포함하며, 복수의 출력 노드(o1, o2) 각각에는 가중치(w5, w6, w7, w8)가 적용된 복수의 히든 노드(h1, h2)의 출력 값이 합이 입력될 수 있다. 예를 들어, 처리부(240)는 제5 가중치(w5)가 적용된 제1 히든 노드(h1)의 출력 값과 제6 가중치(w6)가 적용된 제2 히든 노드(h2)의 출력 값의 합을 제1 출력 노드(o1)에 입력할 수 있다. 또한, 처리부(240)는 제7 가중치(w7)가 적용된 제1 히든 노드(h1)의 출력 값과 제8 가중치(w8)가 적용된 제2 히든 노드(h2)의 출력 값의 합을 제2 출력 노드(o2)에 입력할 수 있다.
처리부(240)는 출력 레이어(output)에 입력된 입력 값에 스텝 함수 또는 시그모이드 함수를 적용할 수 있다. 예를 들어, 처리부(240)는 제1 출력 노드(o1)의 입력 값을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력 값을 출력할 수 있다. 또한, 처리부(240)는 제2 출력 노드(o2)의 입력 값을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력 값을 출력할 수 있다.
출력 레이어(output)에 포함된 복수의 출력 노드들(o1, o2) 각각에는 객체들이 할당되며, 복수의 출력 노드들(o1, o2)의 출력 값은 영상 이 복수의 출력 노드들(o1, o2)에 할당된 객체일 확률을 나타낼 수 있다. 처리부(240)는 복수의 출력 노드들(o1, o2)의 출력에 기초하여 영상에 포함된 객체를 식별할 수 있다.
뉴럴 네트워크 알고리즘에 의하면, 레이어들(input, hidden, output) 사이의 가중치(w1~w8)의 값에 따라 객체 식별 엔진(231)의 출력이 달라질 수 있다. 따라서, 처리부(240)는 객체를 정확하게 식별하기 위한 적절한 가중치(w1~w8)를 설정할 수 있으며, 트레이닝 데이터(232)를 이용하여 객체 식별 엔진(231)의 적절한 가중치(w1~w8)를 설정할 수 있다. 이처럼, 트레이닝 데이터(232)를 이용하여 객체 식별 엔진(231)을 트레이닝하는 것을 "학습"이라 한다.
서버 장치(200)는 도 10의 (a)에 도시된 바와 같이 트레이닝되지 않은 객체 식별 엔진(231)을 트레이닝할 수 있다.
서버 장치(200)는 트레이닝 데이터(232)를 획득한다(1010).
처리부(240)는 저장부(230)에 저장된 트레이닝 데이터(232)를 로딩할 수 있다. 트레이닝 데이터(232)는 복수의 영상들과, 복수의 영상들에 각각 대응되는 객체의 명칭을 포함할 수 있다.
또한, 서버 장치(200)는 광역 네트워크(WAN)에 연결된 다른 장치로부터 트레이닝 데이터(232)를 획득할 수 있다.
서버 장치(200)는 트레이닝 데이터(232)를 객체 식별 엔진(231)에 입력한다(1020).
처리부(240)는 트레이닝 데이터(232)의 영상을 구성하는 복수의 픽셀들의 휘도 값 및/또는 RGB 값(적색 서브 픽셀의 데이터, 녹색 서브 픽셀의 데이터 및 청색 서브 픽셀의 데이터)을 객체 식별 엔진(231)에 입력할 수 있다. 예를 들어, 처리부(240)는 뉴럴 네트워크의 입력 레이어(input)의 입력 노드들(i1, i2)에 트레이닝 데이터(232)의 영상을 구성하는 복수의 픽셀들의 RGB 값을 입력할 수 있다.
서버 장치(200)는 트레이닝 데이터(232)와 객체 식별 엔진(231)의 출력을 비교한다(1030).
처리부(240)는 객체 식별 엔진(231)을 이용하여 트레이닝 데이터(232)의 영상에 대한 객체 식별을 수행한다. 예를 들어, 처리부(240)는 뉴럴 네트워크의 입력 레이어(input)의 입력 노드들(i1, i2)의 출력에 가중치(w1-w4)를 적용하여 히든 레이어(hidden)의 히든 노드들(h1, h2)에 입력할 수 있다. 처리부(240)는 히든 노드들(h1, h2)의 입력을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력에 가중치(w5-w8)를 적용하여 출력 레이어(ouput)의 출력 노드들(o1, o2)에 입력할 수 있다. 이후, 처리부(240)는 출력 노드들(o1, o2)의 입력을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력을 출력할 수 있다.
처리부(240)는 객체 식별 엔진(231)의 출력에 기초하여 트레이닝 데이터(232)의 영상에 포함된 객체를 식별할 수 있다. 예를 들어, 뉴럴 네트워크의 복수의 출력 노드들(o1, o2) 각각은 영상에 포함된 객체가 복수의 출력 노드들(o1, o2) 각각에 할당된 객체들과 일치할 확률을 출력할 수 있으며, 처리부(240)는 뉴럴 네트워크로부터 출력되는 확률에 기초하여 트레이닝 데이터(232)의 영상에 포함된 객체를 식별할 수 있다.
또한, 처리부(240)는 객체 식별 엔진(231)의 출력에 의하여 식별된 객체와 트레이닝 데이터(232)에 의한 객체를 비교할 수 있다.
서버 장치(200)는 객체 식별 엔진(231)의 출력과 트레이닝 데이터(232)에 기초하여 객체 식별 엔진(231)을 갱신한다(1040).
처리부(240)는 객체 식별 엔진(231)의 출력에 의하여 식별된 객체와 트레이닝 데이터(232)에 의한 객체가 동일한지를 판단할 수 있다.
객체 식별 엔진(231)의 출력에 의하여 식별된 객체와 트레이닝 데이터(232)에 의한 객체가 동일하지 아니하면, 처리부(240)는 적절한 방법으로 객체 식별 엔진(231)을 갱신한다. 예를 들어, 트레이닝 데이터(232)에 의한 객체에 대한 뉴럴 네트워크로부터 출력된 확률이 기준 값보다 작으면, 처리부(240)는 뉴럴 네트워크를 구성하는 가중치(w1-w8)를 변경할 수 있다.
이후, 서버 장치(200)는 트레이닝 데이터(232)의 획득, 트레이닝 데이터(232)의 입력, 객체 식별 엔진(231)의 출력 평가 및 객체 식별 엔진(231)의 갱신을 반복할 수 있다. 이러한 트레이닝 동작에 의하여, 객체 식별 엔진(231)은 트레이닝 데이터(232)의 영상에 포함된 객체를 식별할 수 있도록 학습된다. 예를 들어, 트레이닝 동작에 의하여 트레이닝 데이터(232)의 영상에 포함된 객체를 식별할 수 있도록 뉴럴 네트워크의 가중치(w1-w8)가 설정된다.
또한, 서버 장치(200)는 도 10의 (b)에 도시된 바와 같이 트레이닝 된 객체 식별 엔진(231)을 이용하여 영상의 객체를 식별할 수 있다.
서버 장치(200)는 영상을 수신한다(1060).
처리부(240)는 통신부(220)를 통하여 외부 장치로부터 식별하고자 하는 객체를 포함하는 영상을 수신할 수 있다. 예를 들어, 처리부(240)는 통신부(220)를 통하여 냉장고(100)로부터 저장실(110)의 내부 영상을 수신할 수 있다.
서버 장치(200)는 수신 영상을 객체 식별 엔진(231)에 입력한다(1070).
처리부(240)는 영상을 구성하는 복수의 픽셀들의 휘도 값 및/또는 RGB 값(적색 서브 픽셀의 데이터, 녹색 서브 픽셀의 데이터 및 청색 서브 픽셀의 데이터)을 객체 식별 엔진(231)에 입력할 수 있다. 동작 1070은 동작 1020와 동일할 수 있다.
서버 장치(200)는 객체 식별을 수행한다(1080).
처리부(240)는 객체 식별 엔진(231)을 이용하여 수신 영상에 대한 객체 식별을 수생하고, 객체 식별 엔진(231)의 출력에 기초하여 트레이닝 데이터(232)의 영상에 포함된 객체를 식별할 수 있다. 동작 1080은 동작 1030과 동일할 수 있다.
서버 장치(200)는 객체 식별 결과를 출력한다(1090).
처리부(240)는 수신 영상의 객체에 관한 정보를 다른 장치로 전송하도록 통신부(220)를 제어할 수 있다. 예를 들어, 처리부(240)는 저장실(110)의 내부 영상으로부터 식별된 식품과 관련된 정보를 통신부(220)를 통하여 냉장고(100)로 전송할 수 있다.
서버 장치(200)는 냉장고(100)의 저장실(110)에 저장된 식품을 식별하기 위하여 특별한 방법을 이용하여 식품을 식별할 수 있다.
도 11는 일 실시예에 의한 서버 장치의 객체 식별 엔진의 구성을 도시한다. 도 12, 도 13 및 도 14는 일 실시예에 의한 서버 장치에 포함된 객체 식별 엔진이 식품을 식별하는 일 예를 도시한다.
도 11에 도시된 바와 같이 서버 장치(200)는 영역 검출 엔진(251)과 영역 분류 엔진(252)와 식별 엔진(253)을 포함할 수 있다. 영역 검출 엔진(251)과 영역 분류 엔진(252)와 식별 엔진(253)은 각각 하드웨어 또는 소프트웨어로 구현될 수 있다. 예를 들어, 영역 검출 엔진(251)과 영역 분류 엔진(252)와 식별 엔진(253)는 하드웨어로써 프로세서(241)의 일부이거나, 소프트웨어로써 저장부(230)에 저장된 프로그램의 일부일 수 있다.
영역 검출 엔진(251)은 냉장고(100)의 저장실(110) 내부를 촬영한 저장실 내부 영상(500)을 획득하고, 저장실 내부 영상(500)에서 식품들(501, 502, 503, 504)이 위치하는 식품 영역들(510, 520, 530)을 식별할 수 있다.
영역 검출 엔진(251)은 다양한 방법으로 식품이 위치하는 식품 영역들(510, 520, 530)을 식별할 수 있다.
예를 들어, 영역 검출 엔진(251)은 빈 저장실(110)의 내부 영상과 식품이 놓여진 저장실(110)의 내부 영상 사이의 차이에 기초하여 식품 영역들(510, 520, 530)과 배경 영역을 분리할 수 있다. 영역 검출 엔진(251)는 냉장고(100)로부터 저장실 내부 영상과 기준 영상(빈 저장실 내부 영상)을 함께 수신할 수 있으며, 영역 검출 엔진(251)은 저장실 내부 영상과 기준 영상의 차이로부터 식품이 위치하는 식품 영역들(510, 520, 530)과 저장실(110)의 배경이 되는 배경 영역을 분리할 수 있다.
다른 예로, 영역 검출 엔진(251)은 저장실 내부 영상으로부터 윤곽선을 추출하고(edge detection), 영상의 윤곽선에 기초하여 식품이 위치하는 식품 영역들(510, 520, 530)과 배경 영역을 분리할 수 있다.
다른 예로, 영역 검출 엔진(251)은 저장실 내부 영상으로부터 색상의 변화에 관한 정보를 추출하고, 저장실 내부 영상 내에서 색상이 급격하게 변화하는 경계선에 기초하여 식품이 위치하는 식품 영역들(510, 520, 530)과 배경 영역을 분리할 수 있다.
또한, 영역 검출 엔진(251)은 식품의 식별률을 향상시키기 위하여 식품 영역들(510, 520, 530)으로부터 선반(110c)의 영상 및/또는 식품의 반사 영상 등을 제거할 수 있다.
예를 들어, 영역 검출 엔진(251)은 도 12의 (a)에 도시된 바와 같은 저장실 내부 영상(500)을 획득할 수 있으며, 저장실 내부 영상(500)으로부터 도 12의 (b)에 도시된 바와 같이 식품들(501, 502, 503, 504)이 위치하는 식품 영역들(510, 520, 530)을 식별할 수 있다. 영역 검출 엔진(251)은 제1 식품 A (501)가 위치하는 제1 식품 영역(510)과, 제2 식품 B (502)가 위치하는 제2 식품 영역(520)과, 제3 식품 C (503)와 제4 식품 D (504)가 함께 위치하는 제3 식품 영역(530)을 식별할 수 있다.
영역 분류 엔진(252)는 영역 검출 엔진(251)에 의하여 식별된 식품 영역들(510, 520, 530)을 분류할 수 있다. 예를 들어, 영역 분류 엔진(252)는 식품 영역들(510, 520, 530) 각각으로부터 식품을 식별하기 위한 난이도(어려운 정도)에 따라 식품 영역들(510, 520, 530)을 분류할 수 있다.
영역 분류 엔진(252)은 식품 영역(510, 520, 530) 내에서 문자가 감지되는 문자 식별 영역과, 식품 영역(510, 520, 530) 내에서 단일의 식품이 감지되는 영상 식별 영역과, 식품 영역(510, 520, 530) 내에서 복수의 식품들이 감지되는 영상 분할 영역으로 분류할 수 있다.
영역 분류 엔진(252)는 문자 추출 알고리즘을 이용하여 식품 영역(510, 520, 530)으로부터 문자가 추출되면 문자 식별 영역으로 분류할 수 있다. 예를 들어, 통조림, 햄 등의 가공 식품은 식품을 식별할 수 있는 고유의 형상을 가지지 아니하며, 식품의 외관에 식품을 식별하기 위한 문자가 마련된다. 문자 식별 영역의 식품은 문자 식별에 의하여 식별될 수 있다.
영역 분류 엔진(252)는 문자 추출 알고리즘을 이용하여 문자가 추출되지 아니하면 식품 영역(510, 520, 530)에 대하여 에지 추출 및/또는 색상의 변화 추출 등을 이용하여 식품 영역(510, 520, 530)에 단일의 식품이 위치하는지 또는 복수의 식품들이 중첩되어 위치하는지를 판단할 수 있다.
특히, 식품 영역(510, 520, 530) 내에서 색상이 급격하게 변화하는 경계선이 발견되는 경우, 영역 분류 엔진(252)는 식품 영역(510, 520, 530) 내에 복수의 식품들이 서로 중첩되어 위치하는 영상 분할 영역으로 분류할 수 있다. 또한, 식품 영역(510, 520, 530) 내에서 색상이 급격하게 변화하는 경계선이 발견되지 아니한 경우, 영역 분류 엔진(252)는 식품 영역(510, 520, 530) 내에 단일의 식품이 위치하는 영상 인시 영역으로 분류할 수 있다.
예를 들어, 영역 분류 엔진(252)는 도 12의 (b)에 도시된 제1 식품 영역(510)으로부터 문자 추출 알고리즘을 이용하여 문자 "A"를 추출할 수 있다. 따라서, 영역 분류 엔진(252)는 제1 식품 영역(510)을 문자 식별 영역으로 분류할 수 있다.
또한, 영역 분류 엔진(252)는 도 12의 (b)에 도시된 제2 식품 영역(520)으로부터 문자를 추출할 수 없으며 제2 식품 영역(520) 내에서 색상이 급격하게 변화하는 경계선을 발견할 수 없다. 따라서, 영역 분류 엔진(252)는 제2 식품 영역(520)을 영상 식별 영역으로 분류할 수 있다.
또한, 영역 분류 엔진(252)는 도 12의 (b)에 도시된 제3 식품 영역(530) 내에서 색상이 급격하게 변환하는 경계선을 발견할 수 있다. 따라서, 영역 분류 엔진(252)는 제3 식품 영역(530)을 영상 분할 영역으로 분류할 수 있다.
식별 엔진(253)은 영역 분류 엔진(252)에 의하여 분류된 식품 영역들(510, 520, 530)에 대하여 서로 다른 식품 식별 방법(또는 식별 엔진)을 이용하여 식품 영역들(510, 520, 530)의 식품을 식별할 수 있다. 구체적으로, 식별 엔진(253)은 식품 영역들(510, 520, 530)에 대하여 문자 식별 엔진(253a), 영상 식별 엔진(253b) 및 영상 분할 엔진(253c) 중 적어도 하나를 이용하여 식품 영역들(510, 520, 530)의 식품을 식별할 수 있다.
예를 들어, 식별 엔진(253)은 문자 식별 엔진(253a)을 이용하여 제1 식품 영역(510)으로부터 도 12의 (c)에 도시된 바와 같이 문자 "A"를 식별할 수 있으며, 문자 "A"에 기초하여 제1 식품 영역(510)의 식품 A (501)을 식별할 수 있다.
또한, 식별 엔진(253)은 영상 식별 엔진(253b)을 이용하여 제2 식품 영역(520)으로부터 도 12의 (c)에 도시된 바와 같이 식품 B (502)를 식별할 수 있다. 구체적으로, 영상 식별 엔진(253b)은 제2 식품 영역(520)의 영상 그 자체로부터 식품 B (502)를 식별할 수 있다.
또한, 식별 엔진(253)은 영역 분할 엔진(253c)을 이용하여 서로 중첩된 식품의 영상을 분할할 수 있다. 예를 들어, 영역 분할 엔진(253c)은 영상 분할 영역을 복수의 식품이 구별되는 색공간으로 변환한 이후 적절한 임계값을 기준으로 복수의 분할된 식품 영역으로 분할 수 있다. 또한, 영역 분할 엔진(253c)은 영상 분할 영역 유사한 색상을 가지는 영역을 그룹화하여 복수의 분할된 식품 영역으로 분할할 수 있다.
영상 분할의 결과, 도 12의 (b)에 도시된 제3 식품 영역(530)은 도 12의 (c)에 도시된 바와 같이 제1 분할된 식품 영역(531)과 제2 분할된 식품 영역(532)으로 분할될 수 있다. 또한, 식별 엔진(253)은 영상 식별 엔진(253c)을 이용하여 제1 분할된 식품 영역(531)과 제2 분할된 식품 영역(532) 각각에 대하여 식품 식별을 수행할 수 있다. 식별 엔진(253)은 제1 분할된 식품 영역(531)으로부터 식품 C (503)를 식별할 수 있으며, 제2 분할된 식품 영역(532)으로부터 식품 D (504)를 식별할 수 있다.
이상에서 설명된 바와 같이, 영역 검출 엔진(251)은 빈 저장실(110)의 영상과 수신 영상을 비교하여, 식품들이 위치하는 식품 영역들(510, 520, 530)을 식별할 수 있다. 영역 분류 엔진(252)는 식품 영역들(510, 520, 530)의 문자 포함 여부 및/또는 색상 경계 포함 여부에 기초하여 식품 영역들(510, 520, 530)을 분류할 수 있다.
식별 엔진(253)은 서로 다른 그룹으로 분류된 식품 영역들(510, 520, 530)에 대하여 서로 다른 식별 알고리즘을 이용하여 식품을 식별할 수 있다. 예를 들어, 식별 엔진(253)은 문자를 포함하는 식품 영역에 대하여 문자 식별 엔진(253a)을 이용하여 식품 영역의 식품을 식별하고, 색상 경계를 포함하는 식품 영역에 대하여 영역 분할 엔진(253c)을 이용하여 식품 영역을 분할할 수 있다. 또한, 식별 엔진(253)은 영상 식별 엔진(253b)을 이용하여 영상으로부터 식품을 식별할 수 있다.
또한, 도 13에 도시된 바와 같이 서버 장치(200)는 저장실 내부 영상(400)으로부터 식품들(410, 402, 403, 404)에 관한 정보를 포함하는 저장실 내부 영상(400)을 출력할 수 있다.
영역 검출 엔진(251)은 저장실 내부 영상(400)을 획득할 수 있으며, 저장실 내부 영역(400)으로부터 제1 식품(401)가 위치하는 제1 식품 영역(410)과, 제2 식품(402)가 위치하는 제2 식품 영역(420)과, 제3 식품(403)와 제4 식품(404)가 함께 위치하는 제3 식품 영역(430)을 식별할 수 있다.
영역 분류 엔진(252)는 문자가 추출되는 제1 식품 영역(410)을 문자 식별 영역으로 분류할 수 있으며, 문자가 추출되지 않는 제2 식품 영역(420)을 영상 식별 영역으로 분류할 수 있으며, 영상이 급격하게 변화하는 경계선을 포함하는 제3 식품 영역(430)을 영상 분할 영역으로 분류할 수 있다.
식별 엔진(253)의 문자 식별 엔진(253a)은 문자 식별을 이용하여 제1 식품 영역(410)의 제1 식품(401)을 식별할 수 있으며, 식별 엔진(253)의 영상 식별 엔진(253b)은 영상 식별을 이용하여 제2 식품 영역(420)의 제2 식품(402)을 식별할 수 있다. 식별 엔진(253)의 영역 분할 엔진(253c)은 제3 식품 영역(430)을 제3 식품(403)의 영상과 제4 식품(404)의 영상을 분할할 수 있으며, 문자 식별 엔진(253a) 및/또는 영상 식별 엔진(253b)은 제3 식품(403)의 영상과 제4 식품(404)의 영상으로부터 각각 제3 식품(403)과 제4 식품(404)를 식별할 수 있다.
식별 엔진(253)은 제1 식품 영역(410)에 제1 식품(401)을 태그할 수 있으며, 제2 식품 영역(420)에 제2 식품(402)을 태그할 수 있으며, 제3 식품 영역(430)에 제3 식품(403) 및 제4 식품(404)를 태그할 수 있다. 또한, 식별 엔진(253)은 제1 식품(401)이 태그된 제1 식품 영역(410)과 제2 식품(402)가 태그된 제2 식품 영역(420)과 제3 식품(403) 및 제4 식품(404)이 태그된 제3 식품 영역(430)을 포함하는 저장실 내부 영상(400)을 출력할 수 있다.
또한, 도 14에 도시된 바와 같이 서버 장치(200)는 사전에 식품들(401, 402, 403, 404)이 식별된 저장실 내부 영상(400)을 이용하여 새로운 저장실 내부 영상(450)에 추가된 식품(461)을 식별할 수 있다.
영역 검출 엔진(251)은 새로운 저장실 내부 영상(450)을 획득할 수 있으며, 기존 저장실 내부 영역(400)과 새로운 저장실 내부 영상(450) 사이의 차이를 기초로 제5 식품(461)이 위치하는 제4 식품 영역(460)을 식별할 수 있다.
영역 분류 엔진(252)은 제4 식품 영역(460)을 문자 식별 영역, 영상 식별 영역 및 영상 분할 영역 중 어느 하나로 분류할 수 있다.
식별 엔진(253)은 제4 식품 영역(460)의 분류(문자 식별 영역인지, 영상 식별 영역인지, 영상 분할 영역인지)에 따라 제4 식품 영역(460)의 제5 식품(461)을 식별할 수 있다.
식별 엔진(253)은 제4 식품 영역(460)에 제5 식품(461)을 태그할 수 있다. 또한, 식품 식별 엔지(253)은 기존 저장실 내부 영상(400)에 제5 식품(461)이 태그된 제4 식품 영역(460)을 조합하여, 제5 식품(461)이 추가로 태그된 새로운 저장실 내부 영상(450)을 출력할 수 있다.
도 15는 일 실시예에 의한 서버 장치의 객체 식별 엔진의 다른 일 예를 도시한다. 도 16 및 17은 일 실시예에 의한 서버 장치에 포함된 객체 식별 엔진이 객체를 식별하는 다른 일 예를 도시한다.
도 15에 도시된 바와 같이, 서버 장치(200)는 영상 샘플링 엔진(261)과 영상 식별 엔진(262)을 포함할 수 있다. 영상 샘플링 엔진(261)과 영상 식별 엔진(262)은 각각 하드웨어 또는 소프트웨어로 구현될 수 있다. 예를 들어, 영상 샘플링 엔진(261)과 영상 식별 엔진(262)은 하드웨어로써 프로세서(241)의 일부이거나, 소프트웨어로써 저장부(230)에 저장된 프로그램의 일부일 수 있다.
영상 샘플링 엔진(261)은 냉장고(100)의 저장실(110) 내부를 촬영한 저장실 내부 영상(500)을 획득하고, 저장실 내부 영상(500)에서 복수의 샘플 영상들(541 내지 546)을 추출할 수 있다.
영상 샘플링 엔진(261)은 다양한 방법으로 샘플 영상들(541 내지 546)을 추출할 수 있다.
영상 샘플링 엔진(261)은 임의의 위치(x축 좌표, y축 좌표)에서 임의의 크기(가로 길이, 세로 길이)를 가지는 샘플 영상들(541 내지 546)을 추출할 수 있다. 영상 샘플링 엔진(261)은 랜덤 함수를 포함할 수 있으며, 랜덤 함수를 이용하여 샘플 영상의 x축 좌표(x), y축 좌표(y), 가로 길이(h) 및 세로 길이(v)를 선택할 수 있다. 영상 샘플링 엔진(261)은 선택된 좌표(x, y)와 크기(h, v)를 가지는 영상을 저장실 내부 영상(500)으로부터 추출할 수 있다.
예를 들어, 도 16에 도시된 바와 같이, 영상 샘플링 엔진(261)은 임의의 제1 좌표(x1, y1)와 임의의 제1 크기(h1, v1)을 선택할 수 있으며, 제1 좌표(x1, y1)과 제1 크기(h1, v1)을 가지는 제1 샘플 영상(541)을 저장실 내부 영상(500)으로부터 추출할 수 있다. 또한, 영상 샘플링 엔진(261)은 제2 좌표(x2, y2)와 제2 크기(h2, v2)을 가지는 제2 샘플 영상(542), 제3 좌표(x3, y3)와 제3 크기(h3, v3)을 가지는 제3 샘플 영상(543), 제4 좌표(x4, y4)와 제4 크기(h4, v4)을 가지는 제4 샘플 영상(542), ... 및 제n 좌표와 제n 크기를 가지는 제n 샘플 영상을 추출할 수 있다. 샘플 영상들의 개수는 제한되지 아니한다.
또한, 영상 샘플링 엔진(261)은 미리 정해진 위치에서 미리 정해진 크기를 가지는 복수의 샘플 영상들을 추출할 수 있다. 예를 들어, 영상 샘플링 엔진(261)은 저장실 내부 영상(500)을 미리 정해진 크기로 구획할 수 있으며, 저장실 내부 영상(500)으로부터 구획된 샘플 영상들을 획득할 수 있다. 다른 예로, 영상 샘플링 엔진(261)은 저장실 내부 영상(500)으로부터 미리 정해진 크기를 가지는 샘플 영상들을 미리 정해진 간격으로 획득할 수 있다.
또한, 영상 샘플링 엔진(261)은 임의의 위치에서 미리 정해진 크기를 가지는 복수의 샘플 영상들을 추출할 수 있다.
영상 식별 엔진(262)은 영상 샘플링 엔진(261)에 의하여 추출된 복수의 샘플 영상들(541 내지 546)에 기초하여 저장실 내부 영상(500)에 포함된 식품들을 식별할 수 있다.
복수의 샘플 영상들(541 내지 546) 각각은 영상 식별 엔진(262)에 제공되며, 영상 식별 엔진(262)은.복수의 샘플 영상들(541 내지 546) 각각에 포함된 식품들을 식별할 수 있다. 영상 식별 엔진(262)은 예를 들어 뉴럴 네트워크를 포함할 수 있다. 뉴럴 네트워크의 복수의 입력 노드들(i1, i2) 각각에 샘플 영상에 포함된 복수의 픽셀들의 휘도 값 및/또는 색상 값이 입력되고, 복수의 출력 노드들(o1, o2)은 샘플 영상에 포함된 식품이 미리 정해진 복수의 식품들 중에 어느 식품에 해당하는지를 나타내는 수치(예를 들어, 확률)을 출력할 수 있다.
영상 식별 엔진(262)은 뉴럴 네트워크로부터 출력된 수치에 기초하여 제1 식별 결과와 제2 식별 결과를 출력할 수 있다. 예를 들어, 영상 식별 엔진(262)은 뉴럴 네트워크로부터 출력된 수치가 가장 큰 식품을 제1 식별 결과로 선택하고, 뉴럴 네트워크로부터 출력된 수치가 2번째로 큰 식품을 제2 식별 결과로 선택할 수 있다.
영상 식별 엔진(262)은 샘플 영상을 나타내는 좌표 및 크기와, 샘플 영상의 제1 식별 결과와, 샘플 영상의 제2 식별 결과를 포함하는 식별 데이터를 출력할 수 있다. 예를 들어, 도 17에 도시된 바와 같이 식별 데이터는 제1 샘플 영상(541)의 좌표(x1, y1)와 크기(h1, v1)와 제1 식별 결과와 제2 식별 결과, 제2 샘플 영상(542)의 좌표(x2, y2)와 크기(h2, v2)와 제1 식별 결과와 제2 식별 결과, 제3 샘플 영상(543)의 좌표(x3, y3)와 크기(h3, v3)와 제1 식별 결과와 제2 식별 결과, ... 및 제n 샘플 영상의 좌표와 크기와 제1 식별 결과와 제2 식별 결과를 포함할 수 있다.
이하에서는 냉장고(100)와 서버 장치(200)와 사용자 장치(300)를 포함하는 식품 관리 시스템(1)의 동작이 설명된다.
도 18은 일 실시예에 의한 식품 관리 시스템의 식품 식별 방법의 일 예를 도시한다. 도 19은 도 18에 도시된 식품 식별 방법에 의하여 촬영된 저장실 내부 영상을 도시한다. 도 20는 도 18에 도시된 식품 식별 방법에 의하여 식품 영역을 식별하는 일 예를 도시한다. 도 21은 도 18에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 표시하는 일 예를 도시한다. 도 22는 도 18에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 표시하는 다른 일 예를 도시한다.
도 18, 도 19, 도 20, 도 21 및 도 22와 함께, 식품 관리 시스템(1)의 식품 식별 방법(1100)이 설명된다.
냉장고(100)는 저장실(110)의 내부 영상을 획득한다(1110).
냉장고(100)는 카메라(150)를 통하여 저장실(110)의 내부를 촬영하고, 저장실(110)의 내부 영상을 획득할 수 있다.
제어부(190)는 개방된 도어(120)의 폐쇄가 감지되면 저장실(110)의 내부를 촬영하도록 카메라(150)를 제어할 수 있다. 카메라(150)는 선반(110c)에 의하여 구획된 복수의 공간을 촬영할 수 있다. 예를 들어, 카메라(150)의 제1 이미저(151)는 상부 저장실(111)의 제1 저장 공간(111a)을 촬영하고, 제2 이미저(151)는 제2 저장 공간(111b)을 촬영하고, 제3 이미저(151)는 제3 저장 공간(111c)을 촬영할 수 있다. 제어부(190)는 카메라(150)로부터 저장실(110)의 내부 영상을 획득할 수 있다.
다른 예로, 제어부(190)는 터치 스크린 디스플레이(130)를 통한 사용자 입력에 응답하여 저장실(110)의 내부를 촬영하도록 카메라(150)를 제어할 수 있으며, 카메라(150)로부터 저장실(110)의 내부 영상을 획득할 수 있다.
또한, 제어부(190)는 도 19에 도시된 바와 같이 카메라(150)에 의하여 촬영된 저장실(110)의 내부 영상을 터치 스크린 디스플레이(130)에 표시할 수 있다. 예를 들어, 제어부(190)는 제1 저장 공간(111a)의 내부 영상(610)과, 제2 저장 공간(111b)의 내부 영상(620)과, 제3 저장 공간(111c)의 내부 영상(630)을 각각 터치 스크린 디스플레이(130)에 표시할 수 있다.
냉장고(100)는 저장실(110)의 내부 영상을 서버 장치(200)로 전송하며, 서버 장치(200)는 냉장고(100)로부터 저장실(110)의 내부 영상을 수신한다(1120).
냉장고(100)는 통신망(NET)을 통하여 저장실(110)의 내부 영상을 서버 장치(200)로 전송할 수 있다. 제어부(190)는 저장실(110)의 내부 영상을 서버 장치(200)로 전송하도록 통신부(170)를 제어할 수 있다.
서버 장치(200)는 통신망(NET)을 통하여 냉장고(100)로부터 저장실(110)의 내부 영상을 수신할 수 있다. 처리부(240)는 통신부(220)를 통하여 저장실(110)의 내부 영상을 획득할 수 있다.
서버 장치(200)는 저장실(110)의 내부 영상에 포함된 식품을 식별한다(1130).
서버 장치(200)는 트레이닝된 객체 식별 엔진(231)을 이용하여 저장실(110)의 내부 영상에 포함된 식품을 식별할 수 있다.
처리부(240)는 저장실 내부 영상(620)에서 식품들이 위치하는 식품 영역들(621, 622, 623)을 식별할 수 있다. 예를 들어, 처리부(240)는 도 20에 도시된 바와 같이 빈 저장실(110)의 내부 영상(602)과 식품이 놓여진 저장실(110)의 내부 영상(620) 사이의 차이에 기초하여 식품 영역들(621, 622, 623)과 배경 영역을 분리할 수 있다. 처리부(240)는 파인애플이 위치하는 제1 식품 영역(621)과, 통조림이 위치하는 제2 식품 영역(622)과, 포도와 사과가 중첩되어 위치하는 제3 식품 영역(623)을 식별할 수 있다.
처리부(240)는 식품 영역들(621, 622, 623)을 분류할 수 있다. 예를 들어, 처리부(240)는 식품 영역들(621, 622, 623)을 식품 영역 내에서 문자가 감지되는 문자 식별 영역과, 식품 영역 내에서 단일의 식품이 감지되는 영상 식별 영역과, 식품 영역 내에서 복수의 식품들이 감지되는 영상 분할 영역으로 분류할 수 있다.
처리부(240)는 파인애플이 위치하는 제1 식품 영역(621)을 영상 식별 영역으로 분류할 수 있으며, 통조림이 위치하는 제2 식품 영역(622)을 문자 식별 영역으로 분류할 수 있으며, 포도와 사과가 중첩되어 위치하는 제3 식품 영역(623)을 영상 분할 영역으로 분류할 수 있다.
처리부(240)는 제1 식품 영역(621)에 대하여 영상 식별 알고리즘을 이용하여 파인애플을 식별할 수 있으며, 제2 식품 영역(622)에 대하여 문자 식별 알고리즘을 이용하여 통조림을 식별할 수 있다. 또한, 처리부(240)는 제3 식품 영역(623)으로부터 포도의 영상과 사과의 영상을 분리하고, 포도의 영상과 사과의 영상 각각에 대하여 영상 식별 알고리즘을 이용하여 포도와 사과를 식별할 수 있다.
예를 들어, 처리부(240)는 뉴럴 네트워크를 이용한 객체 식별 엔진(231)을 포함할 수 있다. 처리부(240)는 뉴럴 네트워크의 복수의 입력 노드들(i1, i2) 각각에 영상에 포함된 복수의 픽셀들의 휘도 값 및/또는 색상 값을 입력할 수 있다. 처리부(240)는 복수의 입력 노드들(i1, i2)의 값에 가중치(w1-w4)에 적용하여 복수의 히든 노드들(h1, h2)에 출력할 수 있다. 처리부(240)는 복수의 히든 노드들(h1, h2)에 입력된 값을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력 값에 가중치(w5-w8)를 적용하여 복수의 출력 노드들(o1, o2)에 출력할 수 있다. 처리부(240)는 복수의 출력 노드들(o1, o2)에 입력된 값을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력 값이 뉴럴 네트워크의 출력이 된다. 이때, 복수의 출력 노드들(o1, o2) 각각에는 식품들이 할당되며, 복수의 출력 노드들(o1, o2)의 출력 값은 영상이 복수의 출력 노드들(o1, o2)에 할당된 객체일 확률을 나타낼 수 있다. 처리부(240)는 복수의 출력 노드들(o1, o2)의 출력에 기초하여 식품을 식별할 수 있다.
처리부(240)는 각각의 식품 영역들(621, 622, 623)로부터 식별된 식품과 관련된 정보(식품 관련 정보)를 수집할 수 있다. 예를 들어, 식품 관련 정보는 식품의 영상(예를 들어, 저장실 내부 영상에서 식품 영상의 위치), 식품의 명칭, 카테고리 및 냉장(또는 냉동) 저장 기한 등을 포함할 수 있다.
또한, 처리부(240)는 각각의 식품 영역들(621, 622, 623)로부터 식별된 식품과 관련된 정보를 통합할 수 있다.
서버 장치(200)는 식품 관련 정보를 냉장고(100)로 전송하고, 냉장고(100)는 서버 장치(200)로부터 식품 관련 정보를 수신한다(1140).
서버 장치(200)는 통신망(NET)을 통하여 식품 관련 정보를 냉장고(100)로 전송할 수 있다. 처리부(240)는 식품 관련 정보를 냉장고(100)로 전송하도록 통신부(220)를 제어할 수 있다.
냉장고(100)는 통신망(NET)을 통하여 서버 장치(200)로부터 식품 관련 정보를 수신할 수 있다. 제어부(190)는 통신부(170)를 통하여 식품 관련 정보를 획득할 수 있다.
냉장고(100)는 서버 장치(200)로부터 수신한 식품 관련 정보를 표시한다(1150).
제어부(190)는 서버 장치(200)로부터 수신된 식품 관련 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다.
예를 들어, 제어부(190)는 저장실(110)의 내부 영상(610, 620, 630) 상에 식품 관련 정보(621a, 622a, 623a, 623b)를 추가로 표시할 수 있다. 도 21에 도시된 바와 같이, 제어부(190)는 저장실(110)의 내부 영상(610, 620, 630) 상에 파인애플에 관한 정보(621a)와, 통조림에 관한 정보(622a)와, 포도에 관한 정보(623a)와, 사과에 관한 정보(623b)를 표시할 수 있다. 예를 들어, 제어부(190)는 저장실(110)의 내부 영상(610, 620, 630) 상에 파인애플의 명칭, 통조림의 명칭, 포도의 명칭, 사과의 명칭을 표시할 수 있다.
다른 예로, 제어부(190)는 저장실(110)에 저장된 식품 정보의 리스트(640)를 표시할 수 있다. 도 22에 도시된 바와 같이 제어부(190)는 파인애플에 관한 정보(641)와, 통조림에 관한 정보(642)와, 포도에 관한 정보(643)와, 사과에 관한 정보(644)를 표시할 수 있다. 제어부(190)는 식품의 영상(예를 들어, 저장실 내부 영상에서 분리된 식품 영역의 영상), 식품의 명칭, 카테고리 및 냉장(또는 냉동) 저장 기한 등을 터치 스크린 디스플레이(130)에 표시할 수 있다. 예를 들어, 도 22에 도시된 바와 같이 제어부(190)는 저장실(110)의 내부 영상에 포함된 파인애플의 영상(641a)과 파인애플의 명칭(641b)과 파인애플의 저장 기한(641c)을 표시할 수 있다.
서버 장치(200)는 식품 관련 정보를 사용자 장치(300)로 전송하고, 사용자 장치(300)는 서버 장치(200)로부터 식품 관련 정보를 수신한다(1160).
사용자 장치(300)는 서버 장치(200)로부터 수신한 식품 관련 정보를 표시한다(1170).
이상에서 설명된 바와 같이, 서버 장치(200)는 냉장고(100)로부터 저장된 식품의 영상을 수신하고, 객체 식별 엔진(231)을 이용하여 냉장고(100)에 저장된 식품을 식별할 수 있다. 또한, 냉장고(100)는 서버 장치(200)로부터 수신된 식품 관련 정보를 표시할 수 있다. 다시 말해, 냉장고(100)는 사용자의 입력 없이 저장실(110)에 저장된 식품과 관련된 정보를 표시할 수 있다.
도 23은 일 실시예에 의한 식품 관리 시스템의 식품 식별 방법의 다른 일 예를 도시한다. 도 24는 도 23에 도시된 식품 식별 방법에 의하여 사용자의 터치 입력을 수신하는 일 예를 도시한다. 도 25는 도 23에 도시된 식품 식별 방법에 의하여 샘플 영상을 추출하는 일 예를 도시한다. 도 26은 도 23에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 표시하는 일 예를 도시한다. 도 27은 도 23에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 표시하는 다른 일 예를 도시한다.
도 23, 도 24, 도 25, 도 26 및 도 27와 함께, 식품 관리 시스템(1)의 식품 식별 방법(2100)이 설명된다.
냉장고(100)는 저장실(110)의 내부 영상을 획득한다(2110).
냉장고(100)는 카메라(150)를 통하여 저장실(110)의 내부를 촬영하고, 저장실(110)의 내부 영상을 획득할 수 있다.
동작 2110은 도 18에 도시된 동작 1110과 동일할 수 있다.
냉장고(100)는 저장실(110)의 내부 영상을 서버 장치(200)로 전송하며, 서버 장치(200)는 냉장고(100)로부터 저장실(110)의 내부 영상을 수신한다(2120).
동작 2120은 도 18에 도시된 동작 1120과 동일할 수 있다.
서버 장치(200)는 저장실(110)의 내부 영상을 저장한다(2130).
처리부(240)는 냉장고(100)로부터 수신된 저장실(110)의 내부 영상을 저장부(230)에 저장할 수 있다. 예를 들어, 처리부(240)는 미리 정해진 개수의 내부 영상을 저장할 수 있다. 처리부(240)는 저장실(110)의 내부 영상을 냉장고(100)로부터 수신된 순서에 따라 정렬하고, 새로운 내부 영상이 수신되는 것에 응답하여 가장 오래 전에 수신된 내부 영상을 삭제할 수 있다.
이후, 냉장고(100)는 사용자로부터 사용자의 터치 입력을 수신한다(2140).
냉장고(100)는 카메라(150)에 의하여 촬영된 저장실(110)의 내부 영상을 터치 스크린 디스플레이(130)에 표시할 수 있다.
제어부(190)는 제1 저장 공간(111a)의 내부 영상(610)과, 제2 저장 공간(111b)의 내부 영상(620)과, 제3 저장 공간(111c)의 내부 영상(630)을 표시하도록 터치 스크린 디스플레이(130)를 제어할 수 있다.
사용자는 저장실(110)의 내부 영상이 표시된 터치 스크린 디스플레이(130)를 터치할 수 있다. 예를 들어, 사용자는, 새롭게 수납한 식품의 보관 기한을 설정하기 위하여, 식품의 영상에 대응하는 위치에서 터치 스크린 디스플레이(130)를 터치할 수 있다. 예를 들어, 사용자는 도 24에 도시된 바와 같이 제2 저장 공간(111b)의 내부 영상(620)의 파인애플 영상의 내부 또는 파인애플 영상의 주변을 터치할 수 있다.
터치 스크린 디스플레이(130)는 사용자의 터치 입력의 터치 좌표를 감지하고, 터치 좌표를 제어부(190)에 제공할 수 있다. 제어부(190)는 터치 스크린 디스플레이(130)로부터 터치 입력의 터치 좌표를 수신할 수 있다.
사용자의 터치 입력을 수신한 냉장고(100)는 서버 장치(200)로 식품 식별 요청을 전송하며, 서버 장치(200)는 냉장고(100)로부터 식품 식별 요청을 수신한다(2150).
냉장고(100)는 통신망(NET)을 통하여 식품 식별 요청을 서버 장치(200)로 전송할 수 있다. 제어부(190)는, 사용자의 터치 입력을 수신한 것에 응답하여, 서버 장치(200)로 식품 식별 요청을 전송하도록 통신부(170)를 제어할 수 있다.
서버 장치(200)는 통신망(NET)을 통하여 냉장고(100)로부터 식품 식별 요청을 수신할 수 있다. 처리부(240)는 통신부(220)를 통하여 식품 식별 요청을 수신할 수 있다.
서버 장치(200)는 저장실(110)의 내부 영상에 포함된 식품을 식별한다(1130).
서버 장치(200)는 트레이닝된 객체 식별 엔진(231)을 이용하여 저장실(110)의 내부 영상에 포함된 식품을 식별할 수 있다.
처리부(240)는 저장실 내부 영상(620)에서 복수의 샘플 영상들(651 내지 657)을 추출할 수 있다. 예를 들어, 처리부(240)는 임의의 위치(x축 좌표, y축 좌표)에서 임의의 크기(가로 길이, 세로 길이)를 가지는 샘플 영상들(651 내지 657)을 추출할 수 있다. 처리부(240)는 랜덤 함수를 이용하여 샘플 영상의 x축 좌표(x), y축 좌표(y), 가로 길이(h) 및 세로 길이(v)를 선택하고, 선택된 좌표(x, y)와 크기(h, v)를 가지는 영상을 저장실 내부 영상(620)으로부터 추출할 수 있다. 도 25에 도시된 바와 같이, 처리부(240)는 저장실 내부 영상(620)으로부터 제1 샘플 영상(651)과 제2 샘플 영상(652)과 제3 샘플 영상(653)과 ... 제n 샘플 영상을 추출할 수 있다. 샘플 영상들의 개수는 제한되지 아니한다.
처리부(240)는 트레이닝된 객체 식별 엔진(231)을 이용하여 복수의 샘플 영상들(651 내지 657)에 기초하여 저장실 내부 영상(620)에 포함된 식품들을 식별할 수 있다. 처리부(240)는 뉴럴 네트워크를 이용한 영상 식별 알고리즘을 이용하여 복수의 샘플 영상들(651 내지 657) 각각에 포함된 식품들을 식별할 수 있다.
예를 들어, 뉴럴 네트워크를 이용한 영상 식별 알고리즘은 샘플 영상에 포함된 식품이 미리 정해진 복수의 식품들 중에 어느 식품에 해당하는지를 나타내는 수치(예를 들어, 확률)을 출력할 수 있다. 처리부(240)는 뉴럴 네트워크로부터 출력된 수치가 가장 큰 식품을 제1 후보 식품으로 선택하고, 뉴럴 네트워크로부터 출력된 수치가 2번째로 큰 식품을 제2 후보 식품으로 선택할 수 있다.
예를 들어, 처리부(240)는 제2 샘플 영상(652)의 제1 후보 식품으로써 파인 애플을 출력하고, 제2 샘플 영상(652)의 제2 후보 식품으로써 당근을 출력할 수 있다. 또한, 처리부(240)는 제7 샘플 영상(657)의 제1 후보 식품으로써 사과를 출력하고, 제7 샘플 영상(657)의 제2 후보 식품으로써 양파를 출력할 수 있다.
처리부(240)는 복수의 샘플 영상들(651 내지 657)을 나타내는 좌표 및 크기와, 복수의 샘플 영상들(651 내지 657)의 제1 후보 식품과, 복수의 샘플 영상들(651 내지 657)의 제2 후보 식품들을 포함하는 식별 데이터를 출력할 수 있다.
서버 장치(200)는 식별 데이터를 냉장고(100)로 전송하고, 냉장고(100)는 서버 장치(200)로부터 식별 데이터를 수신한다(2170).
서버 장치(200)는 통신망(NET)을 통하여 식별 데이터를 냉장고(100)로 전송할 수 있다. 처리부(240)는 식별 데이터를 냉장고(100)로 전송하도록 통신부(220)를 제어할 수 있다.
냉장고(100)는 통신망(NET)을 통하여 서버 장치(200)로부터 식별 데이터를 수신할 수 있다. 제어부(190)는 통신부(170)를 통하여 식별 데이터를 수신할 수 있다.
냉장고(100)는 사용자의 터치 좌표에 기초하여 샘플 영상을 선택한다(2180).
냉장고(100)는 사용자가 터치 스크린 디스플레이(130)를 터치한 터치 좌표와 복수의 샘플 영상들(651 내지 657)의 중심 좌표를 비교하고, 사용자의 터치 좌표와 가장 근접한 중심 좌표를 가지는 샘플 영상을 선택할 수 있다.
제어부(190)는 앞서 동작 2140에서 터치 스크린 디스플레이(130)로부터 사용자의 터치 입력의 터치 좌표를 획득할 수 있다.
또한, 제어부(190)는 앞서 동작 2170에서 복수의 샘플 영상들(651 내지 657)을 나타내는 좌표 및 크기와, 복수의 샘플 영상들(651 내지 657)의 제1 후보 식품과, 복수의 샘플 영상들(651 내지 657)의 제2 후보 식품들을 포함하는 식별 데이터를 수신할 수 있다. 제어부(190)는 샘플 영상들(651 내지 657)의 좌표 및 크기로부터 샘플 영상들(651 내지 657)의 중심의 좌표를 판단할 수 있다. 예를 들어, 제어부(190)은 샘플 영상들(651 냐자 657)의 크기(h, v)의 절반과 좌표(x, y)의 합으로부터 샘플 영상들(651 내지 657)의 중심의 좌표(x+h/2, y+v/2)를 판단할 수 있다.
제어부(190)는 사용자의 터치 입력과 복수의 샘플 영상들(651 내지 657) 각각의 중심 사이의 거리를 판단할 수 있다. 예를 들어, 제어부(190)는 터치 입력의 좌표와 샘플 영상의 중심 좌표 사이의 차이의 제곱의 합으로부터 사용자의 터치 입력과 샘플 영상의 중심 사이의 거리를 판단할 수 있다.
제어부(190)는 복수의 샘플 영상들(651 내지 657)의 중심과 사용자의 터치 입력 사이의 거리가 최소가 되는 샘플 영상을 식별할 수 있다.
예를 들어, 도 24와 도 25에 도시된 바와 같이, 제어부(190)는 복수의 샘플 영상들(651 내지 657) 중에서 제2 샘플 영상(652)의 중심과 사용자의 터치 입력(P1) 사이의 거리가 최소인 것을 판단할 수 있다. 제어부(190)는 사용자의 터치 입력(P1)에 대응하는 영상으로 제2 샘플 영상(652)를 선택할 수 있다.
냉장고(100)는 사용자가 선택된 식품의 식별 결과를 표시한다(2190).
앞서 동작 2180에서 냉장고(100)는 그 중심이 사용자의 터치 입력으로부터 거리가 최소인 샘플 영상을 판단할 수 있다. 예를 들어, 냉장고(100)는 사용자의 터치 입력(P1)에 대응하는 영상으로 제2 샘플 영상(652)를 선택할 수 있다.
제어부(190)는 그 중심이 사용자의 터치 입력으로부터 거리가 최소인 샘플 영상이 사용자가 터치한 위치의 식품을 나타내는 영상인 것으로 판단할 수 있다. 또한, 제어부(190)는 그 중심이 사용자의 터치 입력으로부터 거리가 최소인 샘플 영상에 기초하여 식별된 제1 후보 식품 또는 제2 후보 식품이 사용자가 선택한 식품인 것으로 판단할 수 있다.
제어부(190)는 사용자의 터치 입력의 주변에 사용자가 선택한 식품의 식별 결과를 표시할 수 있다.
예를 들어, 도 26에 도시된 바와 같이 제어부(190)는 저장실 내부 영상(600) 상에 사용자의 터치 입력의 주변에 식품의 식별 정보(624)를 표시할 수 있다. 식품의 식별 정보(624)는 식품의 명칭을 표기하기 위한 명칭 영역(624a)과, 제1 후보 식품(624a)의 명칭(파인애플)과, 제2 후보 식품(624c)의 명칭(당근)을 포함할 수 있다. 사용자는 제1 후보 식품(624a)의 명칭(파인애플)과 제2 후보 식품(624c)의 명칭(당근) 중에 어느 하나를 선택할 수 있다. 사용자에 의하여 선택된 식품의 명칭은 명칭 영역(624a)에 표시될 수 있다. 예를 들어, 도 26에 도시된 바와 같이, 파인애플이 선택되면, 제어부(190)는 명칭 영역(624a)에 "파인애플"을 표시할 수 있다.
제어부(190)는 사용자에 의하여 선택된 식품의 명칭에 기초하여 해당 식품에 관한 정보를 수집할 수 있다. 예를 들어, 제어부(190)는 사용자에 의하여 선택된 식품의 카테고리, 식품의 보관 기한 등을 수집할 수 있다. 예를 들어, 제어부(190)는 파인애플의 식품 카테고리, 보관 기한 등을 수집할 수 있다.
제어부(190)는 사용자에 의하여 선택된 식품을 나타내는 샘플 영상과 명칭과 카테고리와 보관 기한 등을 일체로 저장할 수 있다.
제어부(190)는 터치 스크린 디스플레이(130)에 사용자에 의하여 선택된 식품의 리스트(670)를 표시할 수 있다. 예를 들어, 도 27에 도시된 바와 같이, 제어부(190)는 터치 스크린 디스플레이(130)에 파인애플에 관한 정보(671)를 표시할 수 있다.
제어부(190)는 터치 스크린 디스플레이(130)에 사용자의 터치 입력과 가장 근접한 샘플 영상(671a)과, 제2 샘플 영상(625)로부터 식별된 식품의 명칭(671b)과, 제2 샘플 영상(625)로부터 식별된 식품의 보관 기한(671c)을 표시할 수 있다. 예를 들어, 도 27에 도시된 바와 같이 제어부(190)는 터치 스크린 디스플레이(130)에 제2 샘플 영상(652)와 "파인애플"과 파인애플의 보관 기한을 표시할 수 있다.
이상에서 설명된 바와 같이, 서버 장치(200)는 냉장고(100)로부터 저장된 식품의 영상을 수신하고, 객체 식별 엔진(231)을 이용하여 냉장고(100)에 저장된 식품을 식별할 수 있다. 또한, 냉장고(100)는 서버 장치(200)로부터 수신된 식품 관련 정보를 표시할 수 있다. 다시 말해, 냉장고(100)는 사용자의 입력 없이 저장실(110)에 저장된 식품과 관련된 정보를 표시할 수 있다.
도 28는 일 실시예에 의한 식품 관리 시스템의 식품 식별 방법의 다른 일 예를 도시한다. 도 29은 도 28에 도시된 식품 식별 방법에 의하여 추가 식품 영역을 식별하는 일 예를 도시한다. 도 30는 도 28에 도시된 식품 식별 방법에 의하여 추가 식품 관련 정보를 표시하는 일 예를 도시한다.
도 28, 도 29 및 도 30과 함께, 식품 관리 시스템(1)의 식품 식별 방법(1200)이 설명된다.
냉장고(100)는 제1 시점에 저장실(110)에 저장된 식품과 관련된 정보를 표시한다(1210).
냉장고(100)는 제1 시점에 저장실(110)에 저장된 식품과 관련된 정보를 획득하고, 이를 표시할 수 있다.
냉장고(100)는 제1 시점에 저장실(110)의 내부를 촬영하고, 제1 시점에 촬영된 저장실(110)의 내부 영상을 획득할 수 있다. 또한, 냉장고(100)는 제1 시점에 촬영된 저장실(110)의 내부 영상을 서버 장치(200)로 전송할 수 있다. 예를 들어, 냉장고(100)는 도 29의 (a)에 도시된 바와 같이 제1 시점에 촬영된 제1 내부 영상(710)을 획득하고, 제1 내부 영상(710)을 서버 장치(200)로 전송할 수 있다.
서버 장치(200)는 객체 식별 엔진(231)을 이용하여 제1 시점에 촬영된 저장실(110)의 내부 영상으로부터 식품을 식별하고, 식별된 식품과 관련된 정보를 냉장고(100)로 전송할 수 있다. 예를 들어, 서버 장치(200)는 제1 내부 영상(710)으로부터 파인애플, 통조림, 포도 및 사과를 식별하고, 파인애플, 통조림, 포도 및 사과에 관한 정보를 냉장고(100)로 전송할 수 있다.
냉장고(100)는 서버 장치(200)로부터 제1 시점에 저장실(110)에 저장된 식품과 관련된 정보를 수신하고, 수신된 식품 관련 정보를 표시할 수 있다.
냉장고(100)는 제2 시점에 저장실(110)의 내부 영상을 획득한다(1220).
제어부(190)는 제2 시점에 저장실(110)의 내부를 촬영하도록 카메라(150)를 제어할 수 있으며, 카메라(150)는 선반(110c)에 의하여 구획된 복수의 공간을 촬영할 수 있다. 제어부(190)는 카메라(150)로부터 제2 시점에 촬영된 저장실(110)의 내부 영상을 획득할 수 있다. 예를 들어, 냉장고(100)는 도 29의 (b)에 도시된 바와 같이 제2 시점에 촬영된 저장실(110)의 제2 내부 영상(720)을 획득할 수 있다.
냉장고(100)는 추가 식품 영역(721)을 식별한다(1230).
제어부(190)는 제1 시점에 촬영된 저장실(110)의 내부 영상과 제2 시점에 촬영된 저장실(110)의 내부 영상 사이의 차이로부터 추가 식품 영역(721)을 식별할 수 있다. 예를 들어, 제어부(190)는 제1 시점에 촬영된 제1 내부 영상(710)과 제2 시점에 촬영된 제2 내부 영상(720) 사이의 차이로부터 추가 식품 영역(721)을 식별할 수 있다.
냉장고(100)는 추가 식품 영역(721)의 영상을 서버 장치(200)로 전송하며, 서버 장치(200)는 냉장고(100)로부터 추가 식품 영역(721)의 영상을 수신한다(1240).
동작 1240는 동작 1120과 동일할 수 있다.
서버 장치(200)는 추가 식품 영역(721)의 영상에 포함된 식품을 식별한다(1250).
서버 장치(200)는 트레이닝된 객체 식별 엔진(231)을 이용하여 추가 식품 영역(721)의 영상에 포함된 식품을 식별할 수 있다.
동작 1250은 동작 1130과 동일할 수 있다.
처리부(240)는 추가 식품 영역(721)으로부터 식별된 식품과 관련된 정보를 수집할 수 있다. 예를 들어, 식품의 관한 정보는 식품의 영상, 식품의 명칭, 카테고리 및 냉장(또는 냉동) 저장 기한 등을 포함할 수 있다.
서버 장치(200)는 추가 식품 관련 정보를 냉장고(100)로 전송하고, 냉장고(100)는 서버 장치(200)로부터 추가 식품 관련 정보를 수신한다(1260).
동작 1260는 동작 1140과 동일할 수 있다.
냉장고(100)는 제2 시점에 저장실(110)에 저장된 식품과 관련된 정보를 표시한다(1270).
제어부(190)는 제1 시점에 저장실(110)에 저장된 식품과 관련된 정보에 서버 장치(200)에 추가 식품 관련 정보를 추가할 수 있으며, 그 결과 제2 시점에 저장실(110)에 저장된 식품과 관련된 정보를 획득할 수 있다.
제어부(190)는 제2 시점에 저장실(110)에 저장된 식품과 관련된 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다. 예를 들어, 도 30에 도시된 바와 같이 제어부(190)는 파인애플에 관한 정보(730)와, 통조림에 관한 정보(740)와, 포도에 관한 정보(750)와, 사과에 관한 정보(760)와 함께, 추가 식품 영역(721)으로부터 식별된 포도에 관한 정보(770)를 추가로 표시할 수 있다.
또한, 제어부(190)는 서로 다른 시기에 저장된 동일한 식품을 식별할 수 있다. 예를 들어, 제어부(190)는 제1 시점에 저장된 파인애플과 제2 시점에 새롭게 저장된 파인애플을 식별할 수 있다.
이상에서 설명된 바와 같이, 냉장고(100)는 기존에 촬영된 저장실(110)의 내부 영상과 새롭게 촬영된 저장실(110)의 내부 영상 사이의 차이를 이용하여 기존의 식품 관련 정보에 새롭게 추가된 식품 관련 정보를 추가할 수 있다. 그 결과, 냉장고(100)는 서로 다른 시기에 저장된 동일한 식품을 식별할 수 있다.
도 31은 일 실시예에 의한 식품 관리 시스템의 식품 식별 방법의 다른 일 예를 도시한다. 도 32 및 도 33은 도 31에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 수정하는 일 예를 도시한다.
도 31, 도 32 및 도 33과 함께, 식품 관리 시스템(1)의 식품 식별 방법(1300)이 설명된다.
냉장고(100)에 저장실(110)에 저장된 식품과 관련된 정보를 표시한다(1310).
냉장고(100)는 저장실(110)의 내부를 촬영하고, 저장실(110)의 내부 영상을 획득할 수 있다. 또한, 냉장고(100)는 촬영된 저장실(110)의 내부 영상을 서버 장치(200)로 전송할 수 있다.
서버 장치(200)는 객체 식별 엔진(231)을 이용하여 저장실(110)의 내부 영상으로부터 식품을 식별하고, 식별된 식품과 관련된 정보를 냉장고(100)로 전송할 수 있다.
냉장고(100)는 서버 장치(200)로부터 저장실(110)에 저장된 식품과 관련된 정보를 수신하고, 수신된 식품 관련 정보를 표시할 수 있다.
냉장고(100)는 사용자의 식품 관련 정보 수정을 수신한다(1320).
사용자는 냉장고(100)의 터치 스크린 디스플레이(130)에 표시된 식품 관련 정보를 확인하고, 식품 관련 정보를 수정할 수 있다.
예를 들어, 도 32에 도시된 바와 같이 제어부(190)는 식별된 식품과 관련된 정보를 표시하는 정보 표시 윈도우(810)를 표시할 수 있다. 또한, 정보 표시 윈도우(810)는 식별된 식품과 관련된 정보를 확인하기 위한 확인 버튼(811)과 식품과 관련된 정보를 수정하기 위한 취소 버튼(812)을 더 포함할 수 있다.
정보 확인 스크린(810)에는 식품에 관한 잘못된 정보("사과"를 "양파"로 잘못 식별)가 표시될 수 있다. 사용자는 취소 버튼(812)을 터치(누름)하고, 식품에 관한 잘못된 정보를 수정할 수 있다. 취소 버튼(812)의 터치에 응답하여, 냉장고(100)는 도 33에 도시된 바와 같이 수정될 식품 관련 정보(820)를 표시하고 새로운 식품 관련 정보를 입력하기 위한 키보드(830)를 표시할 수 있다. 사용자는 키보드(830)를 이용하여 식품의 명칭을 "양파"에서 "사과"로 수정할 수 있다.
냉장고(100)는 사용자에 의하여 수정된 식품 관련 정보를 표시한다(1330).
제어부(190)는 사용자에 의하여 수정된 식품 관련 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다.
냉장고(100)는 사용자에 의하여 수정된 식품 관련 정보를 서버 장치(200)로 전송하고, 서버 장치(200)는 사용자에 의하여 수정된 식품 관련 정보를 수신한다(1340).
냉장고(100)는 통신망(NET)을 통하여 사용자에 의하여 수정된 식품을 나타내는 영상과 사용자에 의하여 수정된 식품 관련 정보를 서버 장치(200)로 전송할 수 있다. 제어부(190)는 식품의 영상과 수정된 식품 관련 정보를 서버 장치(200)로 전송하도록 통신부(170)를 제어할 수 있다.
서버 장치(200)는 통신망(NET)을 통하여 냉장고(100)로부터 식품의 영상과 수정된 식품 관련 정보를 수신할 수 있다. 처리부(240)는 통신부(220)를 통하여 식품의 영상과 수정된 식품 관련 정보를 획득할 수 있다.
서버 장치(200)는 객체 식별 엔진(231)을 다시 트레이닝한다(1350).
처리부(240)는 통신부(220)를 통하여 수신된 식품의 영상과 수정된 식품 관련 정보를 저장부(230)에 저장할 수 있다. 식품의 영상과 수정된 식품 관련 정보는 사용자 수정 데이터(233)일 수 있다.
처리부(240)는 사용자 수정 데이터(233)를 이용하여 객체 식별 엔진(231)을 다시 트레이닝할 수 있다. 예를 들어, 처리부(240)는 사용자에 의하여 수정된 식품의 영상을 객체 식별 엔진(231)에 입력하고, 객체 식별 엔진(231)의 출력과 사용자에 의하여 수정된 식품 관련 정보를 비교할 수 있다. 또한, 처리부(240)는 비교 결과에 기초하여 객체 식별 엔진(231)을 갱신할 수 있다.
처리부(240)는 다양한 시점에 객체 식별 엔진(231)을 다시 트레이닝할 수 있다.
예를 들어, 처리부(240)는 미리 정해진 주기마다 사용자 수정 데이터(233)를 이용하여 객체 식별 엔진(231)을 다시 트레이닝할 수 있다.
다른 예로, 처리부(240)는 사용자 수정 데이터(233)의 양(개수)가 기준량(기준 개수)을 초과하면 사용자 수정 데이터(233)를 이용하여 객체 식별 엔진(231)을 다시 트레이닝할 수 있다.
다른 예로, 처리부(240)는 트레이닝 데이터(232)에 대한 사용자 수정 데이터(233)의 비율이 기준값을 초과하면 사용자 수정 데이터(233)를 이용하여 객체 식별 엔진(231)을 다시 트레이닝할 수 있다.
처리부(240)는 다양한 데이터를 이용하여 객체 식별 엔진(231)을 다시 트레이닝할 수 있다.
예를 들어, 처리부(240)는 트레이닝 데이터(232)와 사용자 수정 데이터(233)이 혼합된 데이터를 이용하여 객체 식별 엔진(231)을 다시 트레이닝할 수 있다. 또한, 트레이닝 데이터(232)와 사용자 수정 데이터(233)의 비율은 미리 정해지거나 관리자 또는 사용자에 의하여 설정될 수 있다.
다른 예로, 처리부(240)는 오직 사용자 수정 데이터(233)만을 이용하여 객체 식별 엔진(231)을 다시 트레이닝할 수 있다.
이상에서 설명된 바와 같이, 사용자는 서버 장치(200)에 의하여 식별된 식품과 관련된 정보를 수정할 수 있으며, 서버 장치(200)는 사용자에 의하여 수정된 식품 관련 정보를 이용하여 객체 식별 엔진(231)을 다시 트레이닝할 수 있다.
이상에서는 냉장고(100)와 별도로 마련된 서버 장치(200)가 식품 영상으로부터 식품을 식별하는 것이 설명되었다.
그러나, 서버 장치(200)는 냉장고(100)에 별도로 마련되는 것에 한정되는 것은 아니다. 예를 들어, 서버 장치(200)는 냉장고(100)와 일체로 제공될 수 있다.
냉장고(100)는 식품 영상으로부터 식품을 식별할 수 있다. 예를 들어, 냉장고(100)는 앞서 설명된 도 11에 도시된 영역 검출 엔진(251)과 영역 분류 엔진(252)와 식별 엔진(253)을 포함할 수 있다.
도 34은 일 실시예에 의한 냉장고가 식품을 식별하는 방법을 도시한다.
도 34과 함께, 냉장고(100)의 식품 식별 방법(1400)이 설명된다.
냉장고(100)는 저장실(110)의 내부 영상을 획득한다(1410).
냉장고(100)는 카메라(150)를 통하여 저장실(110)의 내부를 촬영하고, 저장실(110)의 내부 영상을 획득할 수 있다.
동작 1410은 동작 1110과 동일할 수 있다.
냉장고(100)는 저장실(110)의 내부 영상으로부터 식품 영역들을 검출한다(1420).
제어부(190)는 저장실 내부 영상에서 식품들이 위치하는 식품 영역들을 식별할 수 있다. 예를 들어, 제어부(190)는 빈 저장실(110)의 내부 영상과 식품이 놓여진 저장실(110)의 내부 영상 사이의 차이에 기초하여 식품 영역들과 배경 영역을 분리할 수 있다.
냉장고(100)는 식별된 식품 영역들을 분류한다(1430).
제어부(190)는 식품 영역들을 식품 식별 방법 또는 식품 식별 난이도에 따라 분류할 수 있다. 예를 들어, 제어부(190)는 식품 영역들을 문자가 감지되는 문자 식별 영역과, 단일의 식품이 감지되는 영상 식별 영역과, 복수의 식품들이 감지되는 영상 분할 영역으로 분류할 수 있다.
냉장고(100)는 식품 영역의 식품을 식별한다(1440).
제어부(190)는 분류된 식품 영역의 식품을 다양한 방법으로 식별한다.
예를 들어, 제어부(190)는 문자 식별 영역에 대하여 문자 식별 알고리즘을 이용하여 식품을 식별할 수 있으며, 영상 식별 영역에 대하여 영상 식별 알고리즘을 이용하여 식품을 식별할 수 있다. 또한, 제어부(190)는 영상 분할 영역에 포함된 식품 영상들을 분리하고, 분리된 식품 영상들에 대하여 문자 식별 알고리즘 또는 영상 식별 알고리즘을 이용하여 식품을 식별할 수 있다.
예를 들어, 제어부(190)는 뉴럴 네트워크를 이용한 객체 인식 엔진을 포함할 수 있다. 제어부(190)는 뉴럴 네트워크의 복수의 입력 노드들(i1, i2) 각각에 영상에 포함된 복수의 픽셀들의 휘도 값 및/또는 색상 값을 입력할 수 있다. 제어부(190)는 복수의 입력 노드들(i1, i2)의 값에 가중치(w1-w4)에 적용하여 복수의 히든 노드들(h1, h2)에 출력할 수 있다. 제어부(190)는 복수의 히든 노드들(h1, h2)에 입력된 값을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력 값에 가중치(w5-w8)를 적용하여 복수의 출력 노드들(o1, o2)에 출력할 수 있다. 처리부(240)는 복수의 출력 노드들(o1, o2)에 입력된 값을 시그모이드 함수에 입력하고, 시그모이드 함수의 출력 값이 뉴럴 네트워크의 출력이 된다. 이때, 복수의 출력 노드들(o1, o2) 각각에는 식품들이 할당되며, 복수의 출력 노드들(o1, o2)의 출력 값은 영상 이 복수의 출력 노드들(o1, o2)에 할당된 객체일 확률을 나타낼 수 있다. 제어부(190)는 복수의 출력 노드들(o1, o2)의 출력에 기초하여 식품을 식별할 수 있다.
냉장고(100)는 식별된 식품과 관련된 정보를 표시한다(1450).
제어부(190)는 식별된 식품과 관련된 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다. 예를 들어, 제어부(190)는 식품의 영상(예를 들어, 저장실 내부 영상에서 분리된 식품 영역의 영상), 식품의 명칭, 카테고리 및 냉장(또는 냉동) 저장 기한 등을 터치 스크린 디스플레이(130)에 표시할 수 있다. 냉장(또는 냉동) 저장 기한은 사용자가 안전하게 식품을 섭취할 수 있는 기한을 나타낸다.
이상에서 설명된 바와 같이, 냉장고(100)는 스스로 저장실(110)에 저장된 식품을 식별할 수 있으며, 저장실(110)에 저장된 식품과 관련된 정보를 표시할 수 있다. 다시 말해, 냉장고(100)는 사용자의 입력 없이 저장실(110)에 저장된 식품과 관련된 정보를 표시할 수 있다.
도 35는 일 실시예에 의한 식품 관리 시스템이 식품들 각각을 개별 식별하는 식별 방법의 다른 일 예를 도시한다. 도 36은 도 35에 도시된 식품 식별 방법에 의하여 수동으로 식품 관련 정보를 입력하는 일 예를 도시한다.
도 35 및 도 36과 함께, 식품 관리 시스템(1)의 식품 식별 방법(1500)이 설명된다.
냉장고(100)는 저장실(110)의 내부 영상을 표시한다(1510).
냉장고(100)는 카메라(150)를 통하여 저장실(110)의 내부를 촬영하고, 저장실(110)의 내부 영상을 획득할 수 있다. 또한, 냉장고(100)는 카메라(150)를 통하여 촬영한 저장실(110)의 내부 영상을 포함하는 터치 스크린 디스플레이(130)에 표시할 수 있다.
동작 1510은 동작 1110과 동일할 수 있다.
냉장고(100)는 사용자로부터 등록할 식품 영역에 대한 선택을 수신한다(1520).
터치 스크린 디스플레이(130)에 저장실(110)의 내부 영상이 표시되면 사용자는 터치 스크린 디스플레이(130)를 통하여 식품 영역을 선택할 수 있다. 예를 들어, 사용자는 저장실(110)의 내부 영상에 대응되는 터치 스크린 디스플레이(130)를 터치함으로써 식품 영역(840)을 선택할 수 있다.
제어부(190)는 사용자에 의하여 선택된 식품 영역(840)을 다른 영역과 식별되도록 표시할 수 있다. 예를 들어, 도 36에 도시된 바와 같이 식품 영역(840) 이외의 영역을 어둡게 표시할 수 있다. 또한, 제어부(190)는 터치 스크린 디스플레이(130)에 식품 영역(840)에 포함된 식품을 등록하기 위한 식품 추가 버튼(850)을 표시할 수 있다.
사용자의 식품 추가 버튼(850)의 터치에 응답하여, 냉장고(100)는 사용자에 의하여 선택된 식품 영역(840)에 포함된 식품을 등록할 수 있다.
이후, 냉장고(100)는 식품 식별의 신뢰도가 기준값보다 큰지를 판단한다(1530).
식품 식별의 신뢰도는 냉장고(100) 또는 서버 장치(200)에 의한 식품 식별 동작의 신뢰도를 나타낼 수 있다. 신뢰도는 예를 들어 전체 식품 식별 동작의 횟수에 대한 식별된 식품이 사용자의 수정 없이 등록된 횟수의 비율을 나타낼 수 있다. 다시 말해, 신뢰도는 냉장고(100) 또는 서버 장치(200)가 식품 식별을 성공한 비율을 나타낼 수 있다.
기준값은 냉장고(100) 또는 서버 장치(200)의 식품 식별 신뢰도를 평가하기 위한 기준으로써, 설계자에 의하여 사전에 설정되거나 관리자 또는 사용자에 의하여 사후에 설정될 수 있다.
냉장고(100)는 이전의 식품 식별 동작의 결과 및 사용자의 식품 관련 정보 수정에 기초하여 식품 식별의 신뢰도를 산출하고, 식품 식별의 신뢰도와 기준값을 비교할 수 있다.
식품 식별의 신뢰도가 기준값보다 크면(1530의 예), 냉장고(100)는 선택된 식품 영역(840)의 식품을 자동으로 등록한다(1540).
냉장고(100)는 식품 영역(840)의 식품을 식별하고, 식별된 식품을 자동으로 등록할 수 있다.
예를 들어, 냉장고(100)는 사용자에 의하여 선택된 식품 영역(840)의 영상을 서버 장치(200)로 전송하고, 서버 장치(200)는 객체 식별 엔진(231)을 이용하여 식품 영역(840)의 영상으로부터 식품을 식별할 수 있다. 냉장고(100)는 서버 장치(200)로부터 식품의 정보를 수신하고, 수신된 식품의 정보를 등록할 수 있다.
다른 예로, 냉장고(100)는 객체 식별 엔진(231)을 이용하여 식품 영역(840)의 영상으로부터 직접 식품을 식별할 수 있다. 또한, 냉장고(100)는 식별된 식품의 정보를 등록할 수 있다.
식품 식별의 신뢰도가 기준값보다 작거나 같으면(1530의 아니오), 냉장고(100)는 선택된 식품 영역(840)의 식품을 수동으로 등록한다(1550).
냉장고(100)는 사용자로부터 식품 영역(840)의 식품 관련 정보를 입력받을 수 있다.
예를 들어, 냉장고(100)는 식품 영역(840)의 식품 관련 정보를 수신하기 위하여 식품 영역(840)의 영상을 표시하고, 식품 관련 정보를 입력하기 위한 키보드를 표시할 수 있다. 사용자는 키보드를 이용하여 식품의 명칭 등의 식품 관련 정보를 입력할 수 있다. 또한, 냉장고(100)는 입력된 식품의 정보를 등록할 수 있다.
식품이 자동으로 또는 수동으로 등록된 이후, 냉장고(100)는 식품 관련 정보를 표시한다(1560).
제어부(190)는 등록된 식품 관련 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다. 식품 관련 정보는 식품의 영상(예를 들어, 저장실 내부 영상에서 식품 영상의 위치), 식품의 명칭, 카테고리 및 냉장(또는 냉동) 저장 기한 등을 포함할 수 있다.
이상에서 설명된 바와 같이, 냉장고(100)는 사용자에 의하여 선택된 식품 영역에 포함된 식품을 선택적으로 등록할 수 있다. 또한, 냉장고(100)는 식품 식별에 관한 신뢰도에 따라 자동으로(객체 식별 엔진을 이용하여) 또는 수동으로(사용자의 입력에 따라) 식품을 식별하고, 식별된 식품을 등록할 수 있다.
도 37는 일 실시예에 의한 식품 관리 시스템이 식품들을 일괄 식별하는 식별 방법의 다른 일 예를 도시한다. 도 38는 도 37에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 수정하는 일 예를 도시한다. 도 39은 도 37에 도시된 식품 식별 방법에 의하여 식품 관련 정보를 수정하는 다른 일 예를 도시한다.
도 37, 도 38 및 도 39과 함께, 식품 관리 시스템(1)의 식품 식별 방법(1600)이 설명된다.
냉장고(100)는 저장실(110)의 내부 영상을 표시한다(1610).
냉장고(100)는 카메라(150)를 통하여 저장실(110)의 내부를 촬영하고, 저장실(110)의 내부 영상을 획득할 수 있다. 또한, 냉장고(100)는 카메라(150)를 통하여 촬영한 저장실(110)의 내부 영상을 포함하는 터치 스크린 디스플레이(130)에 표시할 수 있다.
동작 1610은 동작 1110과 동일할 수 있다.
냉장고(100)는 사용장로부터 식품을 일괄 등록하기 위한 입력을 수신한다(1620).
터치 스크린 디스플레이(130)에 저장실(110)의 내부 영상이 표시되면 사용자는 식품을 일괄 등록하기 위한 입력을 입력할 수 있다.
식품의 일괄 등록하기 위한 입력에 응답하여, 냉장고(100)는 저장실(110)의 내부 영상에 포함된 식품을 식별할 수 있다.
예를 들어, 냉장고(100)는 사용자에 의하여 선택된 식품 영역의 영상을 서버 장치(200)로 전송하고, 서버 장치(200)는 객체 식별 엔진(231)을 이용하여 식품 영역의 영상으로부터 식품을 식별할 수 있다.
다른 예로, 냉장고(100)는 객체 식별 엔진(231)을 이용하여 식품 영역의 영상으로부터 직접 식품을 식별할 수 있다.
냉장고(100)는 식별된 식품과 관련된 정보를 표시한다(1630).
제어부(190)는 식별된 식품 관련 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다. 식품 관련 정보는 식품의 영상(예를 들어, 저장실 내부 영상에서 식품 영상의 위치), 식품의 명칭, 카테고리 및 냉장(또는 냉동) 저장 기한 등을 포함할 수 있다.
냉장고(100)는 사용자의 식품 관련 정보 수정을 수신한다(1640).
사용자는 냉장고(100)의 터치 스크린 디스플레이(130)에 표시된 식품 관련 정보를 확인하고, 식품 관련 정보를 수정할 수 있다.
예를 들어, 도 38에 도시된 바와 같이 냉장고(100)는 파인애플에 관한 정보와, 통조림에 관한 정보와, 포도에 관한 정보와, 사과에 관한 정보를 포함하는 리스트를 표시할 수 있다. 냉장고(100)는 "사과"에 관한 잘못된 정보("사과"를 "양파"로 잘못 식별)를 표시할 수 있다. 사용자는 "사과"에 관한 잘못된 정보를 수정할 수 있다. 예를 들어, 사용자는 터치 스크린 디스플레이(130)에 표시된 수정 버튼(860)을 터치할 수 있다. 수정 버튼(860)의 터치에 응답하여, 냉장고(100)는 식품 정보 입력 스크린을 표시할 수 있다. 식품 정보 입력 스크린은 수정될 식품의 영상과 식품 관련 정보를 입력하기 위한 키보드를 포함할 수 있다. 사용자는 키보드를 이용하여 식품의 명칭을 "양파"에서 "사과"로 수정할 수 있다.
다른 예로, 도 39에 도시된 바와 같이 냉장고(100)는 저장실(110)의 내부 영상 상에 파인애플에 관한 정보와, 통조림에 관한 정보와, 포도에 관한 정보와, 사과에 관한 정보를 중첩하여 표시할 수 있다. 사용자는 터치 스크린 디스플레이(130)에 표시된 수정 버튼(861)을 터치할 수 있다. 수정 버튼(861)의 터치에 응답하여, 냉장고(100)는 식품 정보 입력 스크린을 표시할 수 있다. 식품 정보 입력 스크린은 수정될 식품의 영상과 식품 관련 정보를 입력하기 위한 키보드를 포함할 수 있다. 사용자는 키보드를 이용하여 식품의 명칭을 "양파"에서 "사과"로 수정할 수 있다.
냉장고(100)는 사용자에 의하여 수정된 식품 관련 정보를 표시한다(1650).
제어부(190)는 사용자에 의하여 수정된 식품 관련 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다.
이상에서 설명된 바와 같이, 냉장고(100)는 저장실(110)에 저장된 식품들을 일괄적으로 등록할 수 있다. 또한, 냉장고(100)는 사용자의 입력에 따라 식품 관련 정보를 수정할 수 있다.
도 40은 일 실시예에 의한 식품 관리 시스템의 식품 관리 방법의 일 예를 도시한다. 도 41은 도 40에 도시된 식품 관리 방법에 의하여 식품을 구매하는 일 예를 도시한다.
도 40 및 도 41와 함께, 식품 관리 시스템(1)의 식품 관리 방법(1700)이 설명된다.
냉장고(100)는 저장실(110)에 저장된 식품과 관련된 정보를 저장한다(1710).
냉장고(100)는 저장실(110)의 내부를 촬영하고, 촬영된 저장실(110)의 내부 영상을 서버 장치(200)로 전송할 수 있다. 서버 장치(200)는 객체 식별 엔진(231)을 이용하여 저장실(110)의 내부 영상으로부터 식품을 식별하고, 식별된 식품과 관련된 정보를 냉장고(100)로 전송할 수 있다. 냉장고(100)는 서버 장치(200)로부터 저장실(110)에 저장된 식품과 관련된 정보를 수신하고, 수신된 식품 관련 정보를 저장할 수 있다. 예를 들어, 식품 관련 정보는 식품의 영상(예를 들어, 저장실 내부 영상에서 식품 영상의 위치), 식품의 명칭, 카테고리 및 냉장(또는 냉동) 저장 기한 등을 포함할 수 있다.
또한, 냉장고(100)는 저장실(110)의 내부를 촬영하고, 촬영된 저장실(110)의 내부 영상으로부터 식품을 식별할 수 있다. 냉장고(100)는 식별된 식품과 관련된 정보를 저장할 수 있다.
냉장고(100)는 식품의 잔여 저장 기한이 기준 기한보다 짧은지를 판단한다(1720).
제어부(190)는 식품 관련 정보로부터 식품의 냉장(또는 냉동) 저장 기한과 식품이 저장된 날짜와 현재의 날짜로부터 잔여 저장 기한을 산출하고, 잔여 저장 기한과 기준 기한을 비교할 수 있다. 기준 기한은 식품의 냉장(또는 냉동) 저장 기한의 만료를 경고하고 식품의 섭취를 추천하기 위한 기한으로, 설계자에 의하여 사전에 설정되거나 사용자에 의하여 사후에 조정될 수 있다.
식품의 잔여 저장 기한이 기준 기한보다 짧으면(1720의 예), 냉장고(100)는 잔여 저장 기한이 기준 기한보다 짧은 식품을 구매할지 판단한다(1730).
제어부(190)는 사용자 입력에 따라 식품을 구매할지 판단할 수 있다.
예를 들어, 도 41에 도시된 바와 같이 제어부(190)는 잔여 저장 기한이 기준 기한보다 짧은 식품을 구매하기 위한 식품 구매 윈도우(870)를 표시할 수 있다. 식품 구매 윈도우(870)는 잔여 저장 기한이 기준 기한보다 짧은 식품과 관련된 정보를 표시하며, 식품을 구매하기 위한 확인 버튼(871)과 식품 구매를 취소하기 위한 취소 버튼(872)을 포함할 수 있다.
식품을 구매하는 것으로 판단되면(1730의 예), 냉장고(100)는 온라인 쇼핑 서버에 식품 구매를 요청한다(1740).
잔여 저장 기한이 기준 기한보다 짧은 식품의 구매를 허용하는 사용자 입력이 수신되면, 제어부(190)는 통신망(NET)을 통하여 온라인 쇼핑 서버에 접속할 수 있다. 또한, 제어부(190)는 온라인 쇼핑 서버에 식품 구매를 요청하고, 사용자에 의하여 사전에 설정된 결재 수단을 이용하여 식품 대금을 지불할 수 있다.
식품의 잔여 저장 기한이 기준 기한보다 짧지 아니하거나(1720의 아니오) 식품을 구매하지 않는 것으로 판단되거나(1730의 아니오) 식품의 구매 이후 냉장고(100)는 식품 관련 정보를 표시한다(1750).
제어부(190)는 식품 관련 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다. 예를 들어, 식품을 구매한 경우 제어부(190)는 구매한 식품과 관련된 정보를 함께 표시할 수 있다.
이상에서 설명된 바와 같이, 냉장고(100)는 식품 관련 정보를 기초로 식품의 구매에 관한 정보를 사용자에게 제공하고, 사용자 입력에 따라 저장 기한의 만료가 임박한 식품을 구매할 수 있다.
도 42은 일 실시예에 의한 식품 관리 시스템의 식품 관리 방법의 다른 일 예를 도시한다.
도 42와 함께, 식품 관리 시스템(1)의 식품 관리 방법(1800)이 설명된다.
냉장고(100)는 저장실(110)에 저장된 식품과 관련된 정보를 저장한다(1810).
동작 1810은 동작 1710과 동일할 수 있다.
냉장고(100)는 사용자 선호 식품을 식별한다(1820).
제어부(190)는 새로운 식품이 저장실(110)에 저장되면 저장된 식품과 관련된 정보를 저장하고, 저장실(110)에 저장된 식품이 인출되면 인출된 식품과 관련된 정보를 수집할 수 있다. 제어부(190)는 저장된 식품과 관련된 정보 및 인출된 식품과 관련된 정보에 기초하여 동일한(또는 유사한) 식품을 구매하는 구매 패턴 및 식품을 소비하는 소비 패턴을 분석할 수 있다. 또한, 제어부(190)는 식품의 구매 패턴 및 소비 패턴을 기초로 사용자의 선호 식품을 식별할 수 있다.
냉장고(100)는 사용자 선호 식품의 판매 정보를 획득한다(1830).
제어부(190)는 통신망(NET)을 통하여 온라인 쇼핑 서버에 사용자 선호 식품의 판매 정보를 요청할 수 있으며, 온라인 쇼핑 서버로부터 사용자 선호 식품의 판매 정보를 수신할 수 있다. 예를 들어, 판매 정보는 사용자 선호 식품의 가격 정보, 할인 정보 및 재고 정보 등을 포함할 수 있다.
냉장고(100)는 사용자 선호 식품을 구매할지 판단한다(1840).
제어부(190)는 사용자 입력에 따라 식품을 구매할지 판단할 수 있다. 예를 들어, 제어부(190)는 사용자 선호 식품의 판매 정보를 터치 스크린 디스플레이(130)에 표시하고, 터치 스크린 디스플레이(130)을 통하여 사용자 선호 식품의 구매에 관한 사용자 입력을 수신할 수 있다.
식품을 구매하는 것으로 판단되면(1840의 예), 냉장고(100)는 온라인 쇼핑 서버에 식품 구매를 요청한다(1850).
동작 1850은 동작 1740과 동일할 수 있다.
사용자 선호 식품을 구매하지 않는 것으로 판단되거나(1850의 아니오) 식품의 구매 이후 냉장고(100)는 식품 관련 정보를 표시한다(1860).
제어부(190)는 식품 관련 정보를 터치 스크린 디스플레이(130)에 표시할 수 있다. 예를 들어, 식품을 구매한 경우 제어부(190)는 구매한 식품과 관련된 정보를 함께 표시할 수 있다.
이상에서 설명된 바와 같이, 냉장고(100)는 식품의 저장 및 인출 기록을 기초로 식품의 구매에 관한 정보를 사용자에게 제공하고, 사용자 입력에 따라 사용자의 선호 식품을 구매할 수 있다.
도 43은 일 실시예에 의한 식품 관리 시스템의 레시피 제공 방법의 일 예를 도시한다. 도 44 및 도 45은 도 43에 도시된 레시피 제공 방법에 의하여 레시피를 제공하는 일 예를 도시한다. 도 46은 도 43에 도시된 레시피 제공 방법에 의하여 레시피를 제공하는 다른 일 예를 도시한다.
도 43, 도 44, 도 45 및 도 46과 함께, 식품 관리 시스템(1)의 레시피 제공 방법(1900)이 설명된다.
냉장고(100)에 저장실(110)에 저장된 식품과 관련된 정보를 표시한다(1910).
동작 1910은 동작 1310과 동일할 수 있다.
냉장고(100)는 사용자로부터 레시피 요청을 수신한다(1920).
사용자는 터치 스크린 디스플레이(130)에 표시된 식품 관련 정보 중에 적어도 일부를 선택하고, 선택된 정보와 관련된 식품을 포함하는 레시피를 요청할 수 있다.
예를 들어, 제어부(190)는 도 44에 도시된 바와 같이 식품 관련 정보와 함께 식품 관련 정보를 선택할 수 있는 체크 박스(910)를 표시할 수 있다. 또한, 제어부(190)는 도 45에 도시된 바와 같이 레시피를 요청할 수 있는 레시피 요청 윈도우(920)를 표시할 수 있으며, 레시피 요청 윈도우(920)는 요청 버튼(921)과 취소 버튼(922)를 포함할 수 있다. 사용자가 식품 관련 정보의 체크 박스(910)를 체크하고 요청 버튼(921)을 터치하면, 냉장고(100)는 체크된 식품을 포함하는 레시피 요청을 수신할 수 있다.
다른 예로, 제어부(190)는 저장실(110)의 내부 영상을 터치 스크린 디스플레이(130) 상에 표시할 수 있으며, 터치 스크린 디스플레이(130)를 통하여 사용자로부터 레시피 요청을 수신할 수 있다. 도 46에 도시된 바와 같이 사용자가 식품 영상(911)을 길게 터치하면 제어부(190)는 레시피 요청 팝업(912)을 표시할 수 있다. 사용자가 레시피 요청 팝업(912)을 터치하면 제어부(190)는 식품 영상(911)의 식품을 포함하는 레시피 요청을 수신할 수 있다.
냉장고(100)는 서버 장치(200)에 사용자에 의하여 선택된 식품 관련 정보와 레시피 요청을 전송하고, 서버 장치(200)는 냉장고(100)로부터 식품 관련 정보와 레시피 요청을 수신한다(1930).
서버 장치(200)는 사용자에 의하여 선택된 식품을 포함하는 레시피를 검색한다(1940).
처리부(240)는 저장부(230)에 저장된 레시피를 검색하거나 통신망(NET)을 통하여 다른 서버들에 레시피를 요청할 수 있으며, 사용자에 의하여 선택된 식품을 포함하는 레시피를 획득할 수 있다.
서버 장치(200)는 레시피에 관한 정보를 냉장고(100)로 전송하고, 냉장고(100)는 서버 장치(200)로부터 레시피에 관한 정보를 수신한다(1950).
냉장고(100)는 서버 장치(200)로부터 수신된 레시피를 표시한다(1960).
제어부(190)는 사용자에 의하여 선택된 식품을 포함하는 레시피를 터치 스크린 디스플레이(130)에 표시할 수 있다.
이상에서 설명된 바와 같이, 냉장고(100)는 사용자에 의하여 선택된 식품을 포함하는 레시피를 제공할 수 있다.
도 47은 일 실시예에 의한 식품 관리 시스템의 레시피 제공 방법의 일 예를 도시한다. 도 48 및 도 49는 도 47에 도시된 레시피 제공 방법에 의하여 레시피를 제공하는 일 예를 도시한다.
도 47, 도 48 및 도 49와 함께, 식품 관리 시스템(1)의 레시피 제공 방법(2000)이 설명된다.
냉장고(100)는 요리 영상(930)을 획득한다(2010).
냉장고(100)는 사용자로부터 또는 자체적으로 요리 영상(930)을 획득할 수 있다.
예를 들어, 제어부(190)는 사용자 입력에 응답하여 통신부(170)를 통하여 통신망(NET)에 접속하고, 통신망(NET)에 연결된 다른 장치로부터 요리 영상(930)을 수신할 수 있다. 또한, 제어부(190)는 카메라(150)를 이용하여 저장실(110) 내부를 촬영하고, 저장실(110)에 저장된 요리의 요리 영상(930)을 획득할 수 있다.
냉장고(100)는 사용자로부터 레시피 요청을 수신한다(2020).
사용자는 요리 영상(930)에 포함된 요리를 조리하기 위한 레시피를 요청할 수 있다.
예를 들어, 제어부(190)는 도 48에 도시된 바와 같이 요리 영상(930)와, 레시피를 요청할 수 있는 레시피 요청 윈도우(940)를 표시할 수 있다. 또한, 레시피 요청 윈도우(940)는 요청 버튼(941)과 취소 버튼(942)를 포함할 수 있다. 사용자가 요청 버튼(941)을 터치하면, 냉장고(100)는 요리 영상(930)의 레시피 요청을 수신할 수 있다.
냉장고(100)는 서버 장치(200)에 요리 영상(930)과 레시피 요청을 전송하고, 서버 장치(200)는 냉장고(100)로부터 요리 영상(930)와 레시피 요청을 수신한다(2030).
서버 장치(200)는 요리 영상(930)으로부터 요리를 식별한다(2040).
처리부(240)는 트레이닝된 객체 식별 엔진(231)을 이용하여 요리 영상(930)에 포함된 요리를 식별할 수 있다.
예를 들어, 처리부(240)는 뉴럴 네트워크를 이용한 객체 식별 엔진(231)을 포함할 수 있다. 처리부(240)는 뉴럴 네트워크에 요리 영상(930)에 포함된 복수의 픽셀들의 휘도 값 및/또는 색상 값을 입력할 수 있다. 또한, 처리부(240)는 뉴럴 네트워크의 출력에 기초하여 요리 영상(930)의 요리를 식별할 수 있다.
서버 장치(200)는 식별된 요리에 대한 레시피를 검색한다(2050).
처리부(240)는 저장부(230)에 저장된 레시피를 검색하거나 통신망(NET)을 통하여 다른 서버들에 레시피를 요청할 수 있으며, 식별된 요리의 레시피를 획득할 수 있다.
서버 장치(200)는 레시피에 관한 정보를 냉장고(100)로 전송하고, 냉장고(100)는 서버 장치(200)로부터 레시피에 관한 정보를 수신한다(2060).
냉장고(100)는 서버 장치(200)로부터 수신된 레시피를 표시한다(2070).
제어부(190)는 사용자에 의하여 선택된 식품을 포함하는 레시피를 터치 스크린 디스플레이(130)에 표시할 수 있다.
냉장고(100)는 부족한 식품을 표시한다(2080).
제어부(190)는 저장실(110)에 저장된 식품의 목록과 서버 장치(200)로부터 수신된 레시피에 포함된 재료의 목록을 비교하고, 레시피의 재료 중에 저장실(110)에 저장되지 아니한 식품을 식별할 수 있다.
제어부(190)는 레시피의 재료 중에 부족한 식품을 터치 스크린 디스플레이(130)에 표시할 수 있다. 예를 들어, 제어부(190)는 파스타의 레시피 중에 부족한 식품을 표시할 수 있다. 제어부(190)는 도 49에 도시된 바와 같이 감자와 관련된 정보(950), 파스타 면과 관련된 정보(960), 양파와 관련된 정보(970) 및 토마토 페이스트와 관련된 정보(980)를 터치 스크린 디스플레이(130)에 표시할 수 있다.
또한, 제어부(190)는 부족한 식품을 구매하기 위한 구매 버튼(990)을 터치 스크린 디스플레이(130)에 더 표시할 수 있다. 사용자에 의하여 구매 버튼(990)이 터치되면 제어부(190)는 온라인 쇼핑 서버에 식품 구매를 요청하고, 사용자에 의하여 사전에 설정된 결재 수단을 이용하여 식품 대금을 지불할 수 있다.
이상에서 설명된 바와 같이 서버 장치(200)는 냉장고(100)로부터 수신된 요리 영상(930)으로부터 요리를 식별하고, 요리의 레시피를 검색할 수 있다. 또한, 냉장고(100)는 서버 장치(200)로부터 요리의 레시피를 수신하고, 레시피에 포함된 재료 중에 부족한 식품을 구매할 수 있다.
이상에서 설명된 바와 같이, 디스플레이 장치(100)는 로컬 디밍을 수행하기 위하여 전기 광학 층(231)의 국부적인 산란율을 제어할 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 게시된 실시예가 속하는 기술분야에서 통상의 지식을 가진 자는 게시된 실시예의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.

Claims (15)

  1. 저장실;
    상기 저장실에 마련된 카메라;
    사용자의 터치 입력을 수신하는 터치 감지 디스플레이;
    외부 장치와 통신하는 통신부;
    상기 저장실 내부를 촬영하도록 상기 카메라를 제어하고, 상기 저장실 내부의 영상을 상기 터치 감지 디스플레이에 표시하고, 상기 영상을 상기 외부 장치로 전송하도록 상기 통신부를 제어하고, 상기 사용자의 터치 입력에 응답하여 상기 통신부를 통하여 상기 외부 장치로부터 상기 영상으로부터 식별된 식별 정보를 수신하고, 상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 제어부를 포함하고,
    상기 식별 정보는 상기 영상으로부터 식별된 식품의 식별 정보와 상기 식별된 식품의 상기 영상에서의 위치 정보를 포함하고,
    상기 제어부는 상기 사용자의 터치 입력의 위치 정보와 상기 식별된 식품의 상기 영상에서의 위치 정보에 기초하여 상기 사용자의 터치 입력에 대응하는 식품을 판단하고, 상기 사용자의 터치 입력에 대응하는 식품의 정보를 상기 터치 감지 디스플레이에 표시하는 냉장고.
  2. 제1항에 있어서,
    상기 식별된 식품의 상기 영상에서의 위치 정보는 상기 영상에서 임의로 선택된 복수의 샘플 영상들의 위치를 포함하고, 상기 영상으로부터 식별된 식품의 식별 정보는 상기 복수의 샘플 영상들로부터 식별된 식품의 식별 정보를 포함하는 냉장고.
  3. 제2항에 있어서,
    상기 제어부는 상기 복수의 샘플 영상들 중에 상기 사용자의 터치 입력으로부터 거리가 최소인 샘플 영상을 선택하는 냉장고.
  4. 제3항에 있어서,
    상기 제어부는 상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 냉장고.
  5. 제4항에 있어서,
    상기 제어부는 상기 터치 감지 디스플레이에 상기 선택된 샘플 영상과 상기 선택된 샘플 영상으로부터 식별된 식품의 명칭과 상기 선택된 샘플 영상으로부터 식별된 식품의 보관 기간을 표시하는 냉장고.
  6. 제3항에 있어서,
    상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보는 적어도 2개의 식품의 명칭을 포함하고,
    상기 제어부는 상기 적어도 2개의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 냉장고.
  7. 제6항에 있어서,
    상기 제어부는 상기 적어도 2개의 식별 정보 중에 상기 사용자에 의하여 선택된 어느 하나의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 냉장고.
  8. 제1항에 있어서,
    상기 제어부는 상기 터치 감지 디스플레이를 통하여 상기 사용자로부터 상기 영상으로부터 식별된 식별 정보의 수정을 수신하고, 상기 영상으로부터 식별된 식별 정보의 수정을 상기 외부 장치로 전송하는 냉장고.
  9. 저장실과 상기 저장실에 마련된 카메라를 포함하는 냉장고의 제어 방법에 있어서,
    상기 저장실 내부를 촬영하고;
    상기 저장실 내부의 영상을 터치 감지 디스플레이에 표시하고;
    상기 영상을 외부 장치로 전송하고;
    상기 터치 감지 디스플레이에의 사용자의 터치 입력에 응답하여 상기 외부 장치로부터 상기 영상으로부터 식별된 식별 정보를 수신하고;
    상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것을 포함하고,
    상기 식별 정보는 상기 영상으로부터 식별된 식품의 식별 정보와 상기 식별된 식품의 상기 영상에서의 위치 정보를 포함하고,
    상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것은,
    상기 사용자의 터치 입력의 위치 정보와 상기 식별된 식품의 상기 영상에서의 위치 정보에 기초하여 상기 사용자의 터치 입력에 대응하는 식품을 판단하고;
    상기 사용자의 터치 입력에 대응하는 식품의 정보를 상기 터치 감지 디스플레이에 표시하는 것을 포함하는 냉장고의 제어 방법.
  10. 제9항에 있어서,
    상기 식별된 식품의 상기 영상에서의 위치 정보는 상기 영상에서 임의로 선택된 복수의 샘플 영상들의 위치를 포함하고, 상기 영상으로부터 식별된 식품의 식별 정보는 상기 복수의 샘플 영상들로부터 식별된 식품의 식별 정보를 포함하는 냉장고의 제어 방법.
  11. 제10항에 있어서,
    상기 사용자의 터치 입력에 대응하는 식품을 판단하는 것은,
    상기 복수의 샘플 영상들 중에 상기 사용자의 터치 입력으로부터 거리가 최소인 샘플 영상을 선택하는 것을 포함하는 냉장고의 제어 방법.
  12. 제11항에 있어서,
    상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것은,
    상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것을 포함하는 냉장고의 제어 방법.
  13. 제12항에 있어서,
    상기 냉장고의 제어 방법은 상기 터치 감지 디스플레이에 상기 선택된 샘플 영상과 상기 선택된 샘플 영상으로부터 식별된 식품의 명칭과 상기 선택된 샘플 영상으로부터 식별된 식품의 보관 기간을 표시하는 것을 더 포함하는 냉장고의 제어 방법.
  14. 제11항에 있어서,
    상기 선택된 샘플 영상으로부터 식별된 식품의 식별 정보는 적어도 2개의 식품의 명칭을 포함하고,
    상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것은 상기 적어도 2개의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것을 포함하는 냉장고의 제어 방법.
  15. 제14항에 있어서,
    상기 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것은 상기 적어도 2개의 식별 정보 중에 상기 사용자에 의하여 선택된 어느 하나의 식별 정보를 상기 터치 감지 디스플레이에 표시하는 것을 더 포함하는 냉장고의 제어 방법.
PCT/KR2019/002851 2018-03-13 2019-03-12 냉장고, 그 제어 방법 및 시스템 WO2019177343A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/979,586 US11425338B2 (en) 2018-03-13 2019-03-12 Refrigerator, and system and method for controlling same
CN201980025477.6A CN111971684A (zh) 2018-03-13 2019-03-12 冰箱、其控制方法以及系统
EP19766651.4A EP3745304A4 (en) 2018-03-13 2019-03-12 REFRIGERATOR, AND SYSTEM AND ITS CONTROL PROCESS

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2018-0028944 2018-03-13
KR20180028944 2018-03-13
KR10-2019-0023124 2019-02-27
KR1020190023124A KR102217024B1 (ko) 2018-03-13 2019-02-27 냉장고, 그 제어 방법 및 시스템

Publications (1)

Publication Number Publication Date
WO2019177343A1 true WO2019177343A1 (ko) 2019-09-19

Family

ID=67906753

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/002851 WO2019177343A1 (ko) 2018-03-13 2019-03-12 냉장고, 그 제어 방법 및 시스템

Country Status (1)

Country Link
WO (1) WO2019177343A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112535408A (zh) * 2019-09-23 2021-03-23 佛山市顺德区美的电热电器制造有限公司 辅助烹饪方法、装置和计算机存储介质
CN112782994A (zh) * 2020-12-31 2021-05-11 重庆房慧科技有限公司 基于用户数据分析的智能家居控制系统
CN113465265A (zh) * 2020-04-27 2021-10-01 海信集团有限公司 一种智能冰箱及食材检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014206290A (ja) * 2013-04-10 2014-10-30 株式会社東芝 冷蔵庫
KR20140127590A (ko) * 2013-04-25 2014-11-04 엘지전자 주식회사 냉장고 및 그 제어방법
JP2015169412A (ja) * 2014-03-10 2015-09-28 三菱電機株式会社 冷蔵庫及び冷蔵庫を備えたネットワークシステム
KR101756620B1 (ko) * 2017-02-03 2017-07-12 구영모 냉장고의 문자판독 인공지능에 의한 보관식품 유통기한 알림장치와 그 방법
KR20180025041A (ko) * 2016-08-31 2018-03-08 엘지전자 주식회사 냉장고 및 냉장고의 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014206290A (ja) * 2013-04-10 2014-10-30 株式会社東芝 冷蔵庫
KR20140127590A (ko) * 2013-04-25 2014-11-04 엘지전자 주식회사 냉장고 및 그 제어방법
JP2015169412A (ja) * 2014-03-10 2015-09-28 三菱電機株式会社 冷蔵庫及び冷蔵庫を備えたネットワークシステム
KR20180025041A (ko) * 2016-08-31 2018-03-08 엘지전자 주식회사 냉장고 및 냉장고의 제어 방법
KR101756620B1 (ko) * 2017-02-03 2017-07-12 구영모 냉장고의 문자판독 인공지능에 의한 보관식품 유통기한 알림장치와 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112535408A (zh) * 2019-09-23 2021-03-23 佛山市顺德区美的电热电器制造有限公司 辅助烹饪方法、装置和计算机存储介质
CN113465265A (zh) * 2020-04-27 2021-10-01 海信集团有限公司 一种智能冰箱及食材检测方法
CN113465265B (zh) * 2020-04-27 2022-04-01 海信集团有限公司 一种智能冰箱及食材检测方法
CN112782994A (zh) * 2020-12-31 2021-05-11 重庆房慧科技有限公司 基于用户数据分析的智能家居控制系统

Similar Documents

Publication Publication Date Title
WO2020096235A2 (ko) 식품 관리 시스템, 서버 장치 및 냉장고
WO2019177343A1 (ko) 냉장고, 그 제어 방법 및 시스템
WO2018088794A2 (ko) 디바이스가 이미지를 보정하는 방법 및 그 디바이스
EP3161398A1 (en) Refrigerator and controlling method thereof
WO2017111234A1 (en) Method for electronic device to control object and electronic device
WO2016208984A1 (ko) 복수의 디바이스에 대한 원격제어를 수행할 수 있는 이동 단말기
WO2016017945A1 (en) Mobile device and method of pairing the same with electronic device
WO2016036015A1 (en) Refrigerator and controlling method thereof
WO2016048102A1 (en) Image display method performed by device including switchable mirror and the device
WO2011105768A2 (ko) 단말기를 구비하는 냉장고 및 그 제어방법
WO2015133699A1 (ko) 객체 식별 장치, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
WO2018012801A1 (en) Cartridge assembly, cartridge unit, food forming module, and cooking apparatus
WO2021137345A1 (ko) 인공 지능 냉장고 및 그의 동작 방법
WO2018128317A1 (ko) 냉장고 및 이의 정보 표시 방법
EP3198376A1 (en) Image display method performed by device including switchable mirror and the device
WO2015111840A1 (ko) 프레임 클러스터링을 이용한 광고 삽입 장치 및 방법
EP2909549A1 (en) Refrigerator and control method for the same
WO2017018602A1 (ko) 이동단말기 및 그 제어방법
WO2021132851A1 (ko) 전자 장치, 두피 케어 시스템 및 그들의 제어 방법
WO2019225961A1 (en) Electronic device for outputting response to speech input by using application and operation method thereof
WO2018012805A1 (en) User equipment, cooking apparatus, and cooking system
WO2021125453A1 (ko) 인공 지능 냉장고
WO2016013774A1 (en) Goods purchase apparatus and goods purchase system having the same
WO2019135621A1 (ko) 영상 재생 장치 및 그의 제어 방법
WO2016204496A1 (en) System and method of providing information of peripheral device

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019766651

Country of ref document: EP

Effective date: 20200828

NENP Non-entry into the national phase

Ref country code: DE