System
A system that analyzes refrigerator contents to generate optimal menus and provide store information for missing ingredients addresses inefficiencies in meal planning, enhancing ingredient management and reducing waste.
Patent Information
- Application Number
- JP2024137243
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-16
- Publication Date
- 2026-02-27
AI Technical Summary
Planning daily meals at home is time-consuming and inefficient, often leading to food waste and difficulty in identifying and acquiring missing ingredients.
A system that acquires images of the refrigerator contents, analyzes them to identify ingredients, generates optimal menus, detects missing ingredients, and provides information on nearby stores for purchase, transmitting this data to a user terminal.
Efficiently manages refrigerator ingredients, reduces meal planning effort, and allows users to quickly identify and acquire missing ingredients, thereby minimizing waste.
Smart Images

Figure 2026034122000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In today's world, many people, both men and women, cook at home, but planning their daily meals takes a lot of time and effort. This often results in people throwing away food in their refrigerators or buying more than they need. It also creates the hassle of efficiently searching stores to buy ingredients they are running low on. To solve these problems, there is a need for a system that can easily manage the ingredients in a refrigerator, automatically suggest optimal meals, and efficiently purchase missing ingredients from nearby stores. [Means for solving the problem]
[0005] To solve the above problems, the present invention provides the following means: a system including means for acquiring images of the inside of a refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, and means for providing information on nearby stores where the detected missing ingredients can be purchased. Furthermore, by including means for transmitting the identified ingredients and menu to a user terminal and means for transmitting information on nearby stores to the user terminal, the system allows users to shop efficiently and significantly reduces the effort required for creating menus.
[0006] The "means for acquiring images of the inside of the refrigerator" refers to a device or system such as a camera or sensor for photographing the inside of the refrigerator and acquiring the image data.
[0007] The "means for analyzing the captured image to identify ingredients" refers to software or algorithms for analyzing the captured image data and identifying each ingredient contained in the image.
[0008] The "means for generating an optimal menu based on the identified ingredients" is a system or algorithm that uses the identified ingredient information to automatically generate an optimal menu from an available recipe database.
[0009] The "means for detecting missing ingredients required for the generated menu" is software or an algorithm for comparing the identified ingredients with all ingredients required for the generated menu and identifying any missing ingredients.
[0010] "Means for providing information on nearby stores where the detected missing ingredients can be purchased" refers to a system or database for providing the user with information on nearby stores based on the user's current location in order to purchase the missing ingredients.
[0011] "Means for transmitting identified ingredients and menu items to a user terminal" refers to a system that uses communication means and protocols to transmit identified ingredient information and generated menu information to a user terminal.
[0012] The "means for transmitting information about nearby stores to the user terminal" is a system that uses communication means and protocols for transmitting information about nearby stores that carry the detected missing ingredients to the user terminal. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0014] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0015] First, the terms used in the following description will be explained.
[0016] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0017] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0018] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0019] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0020] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0021] [First embodiment]
[0022] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0023] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0024] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0025] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0026] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0027] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0028] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0029] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0031] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0032] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0033] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0034] The system of this invention supports efficient ingredient management and cooking planning by recording ingredients in the refrigerator with photographs, proposing menus based on that information, and providing store information on ingredients that may be in short supply. This system is composed of three main components: the user, the terminal, and the server.
[0035] Program processing explanation
[0036] 1. The user takes a photo of the ingredients in the refrigerator
[0037] The user launches a dedicated cooking app installed on a smartphone or tablet, which includes a function to take photos of the inside of the refrigerator.
[0038] Users open the refrigerator door and use the camera to take a picture of the food inside, and the image is displayed in real time on the app, allowing users to check the quality of the shot.
[0039] Once the photo is taken, the app will save the image and move on to the next step.
[0040] 2. The device sends the image to the server
[0041] The saved images are sent from the device to a server using a secure communication method over the Internet.
[0042] The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[0043] 3. The server analyzes the image and recognizes the ingredients
[0044] The server analyzes the received images and runs image recognition algorithms that use machine learning models and other image processing techniques to identify individual ingredients within the images.
[0045] For example, the server identifies ingredients such as "tomato," "cheese," "lettuce," and "bacon" and registers their names in a list.
[0046] 4. The server generates an optimal menu based on the identified ingredients.
[0047] The server generates an optimal menu based on the identified list of ingredients and matches it with a recipe database, using algorithms to evaluate ingredient combinations and available recipes.
[0048] As a result, the server will suggest specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[0049] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0050] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, for example, detecting that an "egg" is missing for an omelet.
[0051] The server uses location information services to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the eggs that are in short supply can be purchased.
[0052] 6. The server sends the results to the user device
[0053] The server then compiles the final results, including the generated menu, a list of ingredients that are missing, and information on stores where the food can be purchased. This information is then sent to the user's terminal via the Internet.
[0054] Specific protocols are used for transmission to ensure accuracy and security of the data.
[0055] 7. The device displays the information to the user
[0056] Once the data is received, the device app interprets it and displays it in a user interface, allowing the user to plan their cooking accordingly.
[0057] Specifically, it displays detailed recipes for a tomato and lettuce salad and how to make a bacon and cheese omelet, and also provides information on nearby stores where you can purchase the eggs you are running low on.
[0058] Specific examples
[0059] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[0060] The device saves the captured image and sends it to a server, which analyzes the image and identifies each ingredient.
[0061] The server searches a recipe database based on the identified ingredients and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet." It also detects when "eggs" are in short supply and collects information on nearby convenience stores and supermarkets.
[0062] The final result is a generated menu, a list of missing ingredients, and information on where they can be purchased, all of which are sent to the user's device. The user can then review this information and proceed with meal preparation efficiently.
[0063] The processing flow will be explained below.
[0064] Step 1:
[0065] The user launches a cooking app and takes a photo of the inside of the refrigerator. The user uses the app's camera function to take a photo of the inside of the refrigerator and saves the image.
[0066] Step 2:
[0067] The device prepares the captured image file and sends it to the server over the Internet using a secure protocol (e.g., HTTPS).
[0068] Step 3:
[0069] The server analyzes the received image data and applies an image analysis algorithm (such as a machine learning model) to identify the objects in the image as ingredients. For example, it recognizes "tomato," "cheese," "lettuce," and "bacon."
[0070] Step 4:
[0071] The server generates a list of recognized ingredients, searches the recipe database based on the list, and extracts recipes that use the identified ingredients from the recipe database.
[0072] Step 5:
[0073] The server then suggests an appropriate menu based on the extracted recipe. For example, it might select "tomato and lettuce salad" or "bacon and cheese omelet." Based on the selected menu, it identifies any missing ingredients.
[0074] Step 6:
[0075] The server detects the shortage of ingredients (e.g., eggs) and collects information about nearby stores based on the user's location. Using location information services, it creates a list of stores that carry the ingredients.
[0076] Step 7:
[0077] The server compiles the listed store information and sends it to the user's terminal along with the generated menu and a list of ingredients that are in short supply. The transmission is done using a secure communication method.
[0078] Step 8:
[0079] The device analyzes the data received from the server and displays it on the app's user interface. The user can use the displayed menu, missing ingredients, and information on nearby stores to efficiently shop and prepare meals.
[0080] Specific examples
[0081] 1. The user launches the app and takes a photo of the inside of the refrigerator.
[0082] 2. The device sends the image to the server.
[0083] 3. The server analyzes the image and recognizes "tomato," "cheese," "lettuce," and "bacon."
[0084] 4. The server searches for recipes based on the ingredients list and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet."
[0085] 5. The server detects the missing "eggs."
[0086] 6. The server uses location information to collect information about nearby supermarkets and convenience stores.
[0087] 7. The server sends the final result to the user terminal.
[0088] 8. The terminal displays the information, and the user confirms it and makes a purchase.
[0089] Example 1
[0090] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0091] In modern households, efficiently managing ingredients in the refrigerator and planning daily meals while reducing waste are major challenges. Conventional methods require manually checking ingredients and planning meals, which takes time and effort and is prone to food waste. It is also difficult to identify ingredients that are in short supply and quickly find a supplier. To address these challenges, the present invention provides a system that automatically manages ingredients in the refrigerator and provides efficient meal planning suggestions and purchasing information for ingredients that are in short supply.
[0092] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0093] In this invention, the server includes a means for acquiring images of the contents of the refrigerator, a means for analyzing the acquired images to identify ingredients, a means for generating an optimal menu based on the identified ingredients, a means for detecting ingredients needed for the generated menu that are in short supply, a means for providing information on nearby stores where the detected ingredients can be purchased, and a means for transmitting data including the menu generated based on the identified ingredients to a user terminal. This allows the user to efficiently manage ingredients in the refrigerator and quickly decide on a menu while reducing waste. It also allows the user to quickly identify ingredients that are in short supply and make a purchasing plan based on information on nearby stores.
[0094] The "means for acquiring images of the inside of the refrigerator" refers to a means for taking a photograph of the food items placed inside the refrigerator using a camera or smartphone and acquiring the image data.
[0095] "Means for analyzing the acquired image and identifying ingredients" refers to algorithms or software that analyze the acquired image data, identify the ingredients shown inside, and identify each ingredient.
[0096] "Means for generating optimal menus based on identified ingredients" refers to algorithms or programs for searching for optimal recipes from a database based on identified ingredient information and proposing menus.
[0097] "Means for detecting missing ingredients for the generated menu" refers to algorithms or software for comparing ingredients required for the generated menu with ingredients already present in the refrigerator and identifying missing ingredients.
[0098] The "means for providing information on nearby stores where the detected shortage of ingredients can be purchased" refers to a service or program for collecting and providing information on the nearest stores where the detected shortage of ingredients can be purchased.
[0099] "Means for transmitting data including a menu generated based on identified ingredients to a user terminal" refers to communication means or protocols for transmitting identified ingredient information and menu information generated based on it to a terminal such as a user's smartphone or tablet.
[0100] This invention relates to a system that records the ingredients in a refrigerator with photos, suggests menus based on that information, and provides store information on ingredients that are in short supply. This system is composed of three main components: a user, a terminal, and a server.
[0101] System Overview
[0102] 1. The user takes a photo of the ingredients in the refrigerator
[0103] The user uses a dedicated cooking app installed on a smartphone or tablet. This app includes a function to take photos of the inside of the refrigerator. Specifically, this app is called a "recipe support app."
[0104] When a user launches the app and taps the "Fridge Photo" button, the camera screen opens. The user opens the refrigerator door and uses the camera to take a photo of the food inside. The camera image is displayed in real time on the app, allowing the user to check the quality of the photo. Once the photo is taken, the app saves the image and proceeds to the next step.
[0105] 2. The device sends the image to the server
[0106] The saved image is sent from the device to the server. The user taps the "Send Image" button in the app to send the image to the server. A secure communication method (e.g., SSL / TLS) over the Internet is used for transmission.
[0107] The image data is sent using an HTTP POST request. The server receives the request and begins processing the image.
[0108] 3. The server analyzes the image and recognizes the ingredients
[0109] The server then runs image recognition algorithms using machine learning models and other image processing techniques to analyze the received images, using machine learning frameworks such as Tensorflow® and PyTorch.
[0110] The server identifies each ingredient in the image and registers its name in a textual list, such as "tomato," "cheese," "lettuce," and "bacon."
[0111] 4. The server generates an optimal menu based on the identified ingredients.
[0112] The server generates optimal menus based on the identified list of ingredients by matching them with a recipe database stored in a MySQL® database, using algorithms that evaluate ingredient combinations and available recipes.
[0113] The server generates menu items such as "tomato and lettuce salad" or "bacon and cheese omelet" based on the identified ingredients, taking into account the user's past preference data.
[0114] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0115] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, e.g., it detects that an omelet needs "eggs."
[0116] The server uses Google (registered trademark) Maps API to collect information on nearby stores based on the user's current location, and then identifies stores where the missing ingredients can be purchased and creates a list.
[0117] 6. The server sends the results to the user device
[0118] The server then sends the final results, including the generated menu, a list of missing ingredients, and information about stores where the food can be purchased, to the user's device. Data is sent in JSON format via a RESTful API. SSL / TLS protocol is used to ensure data accuracy and security.
[0119] 7. The device displays the information to the user
[0120] Upon receiving the transmitted data, the device app interprets it and displays it in a user interface. The device app provides a rich UI using HTML5 and CSS3, and is designed to be easy for users to operate.
[0121] In the app's "Today's Menu" section, users can find detailed recipes for a tomato and lettuce salad or a bacon and cheese omelet, and a map will show them nearby stores where they can buy eggs if they're running low.
[0122] Specific examples
[0123] A user launches a cooking app and takes a photo of the inside of a refrigerator, which contains tomatoes, cheese, lettuce, and bacon.
[0124] The device saves the captured image and sends it to the server. Specifically, when the user taps the "Send Image" button, an HTTP POST request is sent to the server.
[0125] The server analyzes the received image, recognizes "tomato," "cheese," "lettuce," and "bacon," and then compares it with a recipe database to generate "tomato and lettuce salad" or "bacon and cheese omelette."
[0126] The server detects a shortage of the required "eggs" and uses the Google Maps API to gather information about nearby supermarkets where eggs can be purchased.
[0127] The final results are sent to the user's device in JSON format, and the user can check detailed recipes and store information where the food can be purchased within the app.
[0128] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0129] Step 1: User takes a photo of the ingredients in the refrigerator
[0130] Input: Ingredients in the refrigerator
[0131] Specific operation: The user launches a dedicated cooking application installed on a smartphone or tablet. This application includes a function for taking photos of the inside of the refrigerator using the camera. The user taps the "Photo in the refrigerator" button to open the camera screen. While checking the camera image displayed in real time, the user takes a photo of the ingredients in the refrigerator. Once the photo is taken, the application saves the image.
[0132] Output: Image file of the saved ingredients
[0133] Step 2: The device sends the image to the server
[0134] Input: Image file of saved ingredients
[0135] Specific operation: When the user taps the "Send Image" button, the device sends the saved image file to the server. A secure communication method (e.g., SSL / TLS) over the Internet is used for transmission. Specifically, the image data is sent to the server as an HTTP POST request.
[0136] Output: Image files of ingredients transferred to the server
[0137] Step 3: The server analyzes the image and recognizes the ingredients
[0138] Input: Image files of ingredients transferred to the server
[0139] How it works: The server uses machine learning models and image processing algorithms to analyze the received image data. This analysis is performed using machine learning frameworks such as TensorFlow and PyTorch. The image recognition algorithm identifies each ingredient in the image and registers their name in a textual list.
[0140] Output: List of identified ingredients (e.g. "tomato", "cheese", "lettuce", "bacon")
[0141] Step 4: The server generates an optimal menu based on the identified ingredients.
[0142] Input: Identified ingredient list
[0143] How it works: The server compares the identified ingredient list with a recipe database stored in a MySQL database. It uses an algorithm to evaluate ingredient combinations and available recipes. The server generates an optimal menu, taking into account past user preference data.
[0144] Output: Generated menu list (e.g., "Tomato and lettuce salad" or "Bacon and cheese omelette")
[0145] Step 5: The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0146] Input: Generated menu list
[0147] Specific operation: The server compares all ingredients required for the generated menu with the list of ingredients already identified and identifies any missing ingredients. For example, it detects that "eggs" required for a "bacon and cheese omelet" are missing. The server uses the Google Maps API to collect information about nearby stores based on the user's current location. This allows it to identify stores where the missing ingredients can be purchased.
[0148] Output: List of ingredients in short supply and nearby store information
[0149] Step 6: The server sends the results to the user device
[0150] Input: Generated menu list, list of ingredients needed, nearby store information
[0151] Specific operation: The server compiles the final results: the generated menu, a list of missing ingredients, and information on stores where the food can be purchased. This information is sent to the user's device in JSON format via a RESTful API. The SSL / TLS protocol is used to ensure the accuracy and security of the data.
[0152] Output: Menu, list of ingredients in short supply, and store information sent to the user's terminal
[0153] Step 7: The device displays the information to the user
[0154] Input: Submitted menu, list of ingredients needed, store information
[0155] How it works: The user device interprets the received data and displays it in the user interface of a dedicated cooking application. A rich UI using HTML5 and CSS3 is provided, and users can check detailed recipes and cooking instructions in the "Today's Menu" section, as well as information on nearby stores where they can purchase missing ingredients.
[0156] Output: Menu information, missing ingredients information, store information displayed to the user
[0157] (Application example 1)
[0158] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0159] Conventional food management systems record ingredients in the refrigerator and suggest menus, but the process of purchasing missing ingredients is complicated, taking up time and effort for users. Furthermore, there is no way to immediately purchase missing ingredients, so users have to go shopping. This makes it difficult for users to efficiently manage ingredients and plan cooking.
[0160] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0161] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for providing the detected missing ingredients as a purchasing source, and means for arranging delivery of the detected missing ingredients, thereby enabling the user to simplify the purchasing procedure for missing ingredients and arrange for the missing ingredients to be delivered immediately.
[0162] "Means for acquiring images of the inside of the refrigerator" refers to a device or software for taking a photograph of the inside of the refrigerator using a smartphone or other camera and acquiring the image data.
[0163] The "means for analyzing the acquired image and identifying ingredients" refers to a system or algorithm that uses image analysis technology to analyze the captured image of the inside of the refrigerator and recognize the ingredients that appear in the image.
[0164] The "means for generating an optimal menu based on identified ingredients" refers to a system or algorithm that uses a recipe database stored on a server to suggest an appropriate menu of dishes based on identified ingredients.
[0165] The "means for detecting missing ingredients for the generated menu" is a system that lists all ingredients required for the proposed menu and automatically detects ingredients that are not in the refrigerator.
[0166] The "means for providing information on nearby stores as a place to purchase the detected missing ingredients" is a system that searches for and provides information on nearby stores based on the user's current location in order to purchase the missing ingredients.
[0167] The "means for arranging delivery of detected missing ingredients" is a system or program that automatically arranges for delivery of the missing ingredients from a nearby store to the user's home.
[0168] The "means for transmitting to the user terminal" is a communication system for transmitting the ingredient information analyzed by the server and the proposed menu information to the user's smartphone or tablet via the Internet.
[0169] This invention provides a system that records the ingredients in a refrigerator with photos, suggests menus based on that information, and arranges for delivery of any ingredients that are missing. This system is composed of three main components: the user, the terminal, and the server.
[0170] 1. Program processing explanation
[0171] The user takes a photo of the ingredients in the refrigerator. They launch a dedicated cooking app installed on their smartphone or tablet and use the function to take a photo of the ingredients in the refrigerator. The captured image is saved on the device and sent to the server.
[0172] The device sends the captured image to the server using a secure communication method over the Internet, such as an HTTP POST request.
[0173] The server analyzes the image and uses image recognition algorithms (e.g., TensorFlow or YOLO) to recognize ingredients, such as "tomato," "cheese," "lettuce," and "bacon."
[0174] The server uses an algorithm that matches the identified ingredients with a recipe database to generate an optimal menu, resulting in specific suggestions such as "tomato and lettuce salad" or "bacon and cheese omelette."
[0175] The server detects missing ingredients for the generated menu, then uses a location information service to collect information about nearby restaurants based on the user's current location, and then uses a delivery service (an example API would be a general delivery service API) to arrange for the delivery of the missing ingredients.
[0176] 2. Hardware and Software
[0177] Hardware: Smartphones, tablets, and devices with communication capabilities.
[0178] Software: A dedicated application to take pictures of the inside of the refrigerator, image recognition algorithms used on the server (TensorFlow, YOLO, etc.), a recipe database, and APIs for location services and delivery services.
[0179] 3. Specific usage examples
[0180] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[0181] The device saves the captured image and sends it to the server.
[0182] The server analyzes the image and identifies each ingredient, such as "tomato," "cheese," "lettuce," and "bacon."
[0183] The server compares the identified ingredients with a recipe database and suggests dishes such as "tomato and lettuce salad" or "bacon and cheese omelet." It also detects missing ingredients such as "eggs."
[0184] The server collects information about nearby stores for the missing eggs and arranges for the eggs to be delivered through a delivery service.
[0185] 4. Examples of prompts
[0186] A user takes a photo of the contents of their refrigerator using a smartphone app and sends it to a server. The server uses TensorFlow to analyze the image and create an ingredient list. Next, the server should compare it with a recipe database to suggest the optimal meal. Furthermore, the server should list the ingredients needed and those missing, and explain the steps to order the missing ingredients using the API of a popular delivery service.
[0187] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0188] Step 1:
[0189] The user takes a photo of the ingredients in the refrigerator.
[0190] Input: An image of the inside of a refrigerator taken by a smartphone or tablet camera.
[0191] How it works: The user launches the dedicated application and presses the "Take a photo of the refrigerator" button to take a photo.
[0192] Output: The captured image of the food in the refrigerator is saved on the device.
[0193] Step 2:
[0194] The device sends the captured image to the server.
[0195] Input: Stored images of food items in the refrigerator.
[0196] How it works: The device sends the captured image to a server over the Internet using protocols such as HTTP POST requests.
[0197] Output: Image of the inside of the refrigerator sent to the server.
[0198] Step 3:
[0199] The server analyzes the image and recognizes the ingredients.
[0200] Input: An image of the inside of a refrigerator sent to the server.
[0201] How it works: The server analyzes the received image using an image recognition algorithm (e.g., TensorFlow or YOLO). As a result, it identifies each individual ingredient in the image.
[0202] Output: A list of identified ingredients (e.g. "tomato", "cheese", "lettuce", and "bacon" are added to the list).
[0203] Step 4:
[0204] The server generates an optimal menu based on the identified ingredients.
[0205] Input: A list of identified ingredients.
[0206] How it works: The server compares the recipe database and suggests the best recipes based on the input ingredients list. It uses algorithms to evaluate ingredient combinations and cooking methods to generate an appropriate menu.
[0207] Output: Suggested meal (e.g., "Tomato and lettuce salad", "Bacon and cheese omelette").
[0208] Step 5:
[0209] The server detects missing ingredients needed for the generated menu.
[0210] Input: A list of proposed meals and identified ingredients.
[0211] Action: The server compares these lists to find ingredients needed for the proposed meal that are not present in the identified ingredient list.
[0212] Output: A list of ingredients that are in short supply (e.g., "Eggs" is added to the list as being in short supply).
[0213] Step 6:
[0214] The server provides information on nearby stores where to purchase ingredients that are in short supply and arranges delivery.
[0215] Input: A list of ingredients that are in short supply and the user's current location.
[0216] How it works: The server uses location services to find nearby restaurants based on the user's current location, and also uses the delivery service's API to order the missing ingredients and arrange for delivery to the user's home.
[0217] Output: Information on where to purchase the missing ingredients and delivery arrangements.
[0218] Step 7:
[0219] The server sends the results to the user terminal.
[0220] Input: Suggested menu, missing ingredient list, supplier and delivery arrangement information.
[0221] How it works: All results are sent to the user's device via the Internet.
[0222] Output: The results displayed on the user's device (menu, missing ingredients, purchasing and delivery information).
[0223] Step 8:
[0224] The terminal displays the information to the user.
[0225] Input: The final result data sent from the server.
[0226] How it works: A dedicated application analyzes the final results and displays them in a user interface, where users can view menu details, where to purchase missing ingredients, and delivery information.
[0227] Output: Specific cooking plans and purchasing information presented to the user.
[0228] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0229] The system of the present invention records the ingredients in the refrigerator with photos, suggests menus based on that information, and provides store information for ingredients that are missing. Furthermore, the system incorporates an emotion engine that recognizes the user's emotions, allowing it to adjust menus and select recommended recipes based on the user's emotional state.
[0230] Program processing explanation
[0231] 1. The user takes a photo of the ingredients in the refrigerator
[0232] The user launches a dedicated cooking app installed on a smartphone or tablet, which includes a function to take a photo of the inside of the refrigerator.
[0233] Users open the refrigerator door and use the camera to take a picture of the food inside, and the image is displayed in real time on the app, allowing users to check the quality of the shot.
[0234] Once the photo is taken, the app will save the image and move on to the next step.
[0235] 2. The device sends the image to the server
[0236] The saved image is sent from the device to the server using a secure communication method over the Internet (e.g., HTTPS).
[0237] The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[0238] 3. The server analyzes the image and recognizes the ingredients
[0239] The server analyzes the received image data and runs image recognition algorithms that use machine learning models and other image processing techniques to identify individual ingredients within the image.
[0240] For example, the server identifies ingredients such as "tomato," "cheese," "lettuce," and "bacon" and registers their names in a list.
[0241] 4. The server generates an optimal menu based on the identified ingredients.
[0242] The server generates an optimal menu based on the identified list of ingredients and matches it with a recipe database, using algorithms to evaluate ingredient combinations and available recipes.
[0243] As a result, the server will suggest specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[0244] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0245] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, for example, detecting that an "egg" is missing for an omelet.
[0246] The server uses location information services to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the eggs are available.
[0247] 6. The server recognizes the user's emotions
[0248] The app is equipped with an emotion engine that recognizes the user's emotions. It reads the user's facial expressions through the camera within the app and performs emotion analysis.
[0249] This emotional data is sent to the server, which then adjusts the menu and recipe suggestions based on the user's emotional state.
[0250] 7. The server sends the results to the user device.
[0251] The server then compiles the final results, including the generated menu, a list of ingredients that are missing, and adjustment information based on the store where the food is available and the user's emotional state. This information is then sent to the user's device via the Internet.
[0252] Specific protocols are used for transmission to ensure accuracy and security of the data.
[0253] 8. The device displays information to the user
[0254] Once the data is received, the device app interprets it and displays it in a user interface, allowing the user to plan their cooking accordingly.
[0255] Specifically, the app displays recipe details for a tomato and lettuce salad, instructions for making a bacon and cheese omelet, and information on nearby stores where you can purchase eggs if you are running low. It also displays suggested recipes and warnings based on the user's emotional state.
[0256] Specific examples
[0257] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[0258] The device saves the captured image and sends it to a server, which analyzes the image and identifies each ingredient.
[0259] The server searches a recipe database based on the identified ingredients and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet." It also detects when "eggs" are in short supply and collects information on nearby supermarkets and convenience stores.
[0260] In addition, the server recognizes the user's emotions and makes adjustments based on their emotional state, such as suggesting quick and easy recipes if they are in a "high stress" state.
[0261] The final result is sent to the device as information including the generated menu, a list of missing ingredients, store availability information, and emotion-based adjustments, allowing the user to review this information and efficiently prepare meals.
[0262] The processing flow will be explained below.
[0263] Step 1:
[0264] The user launches a cooking app and takes a photo of the inside of the refrigerator. The user uses the app's camera function to take a photo of the inside of the refrigerator and saves the image.
[0265] Step 2:
[0266] The device prepares the captured image file and sends it to the server over the Internet using a secure protocol (e.g., HTTPS).
[0267] Step 3:
[0268] The server analyzes the received image data and applies an image analysis algorithm (such as a machine learning model) to identify the objects in the image as ingredients. For example, it recognizes "tomato," "cheese," "lettuce," and "bacon."
[0269] Step 4:
[0270] The server generates a list of recognized ingredients, searches the recipe database based on the list, and extracts recipes that use the identified ingredients from the recipe database.
[0271] Step 5:
[0272] The server then suggests an appropriate menu based on the extracted recipe. For example, it might select "tomato and lettuce salad" or "bacon and cheese omelet." Based on the selected menu, it identifies any missing ingredients.
[0273] Step 6:
[0274] The server detects the shortage of ingredients (e.g., eggs) and collects information about nearby stores based on the user's location. Using location information services, it creates a list of stores that carry the ingredients.
[0275] Step 7:
[0276] The server recognizes the user's emotional state. It uses an emotion engine to analyze the user's facial expression data and identify emotions such as "high stress" or "relaxed." It then generates data based on the user's emotions.
[0277] Step 8:
[0278] The server adjusts recipes and menus based on the user's emotional data. For example, if the user is in a "high stress" state, it will prioritize recipes that are quick and easy to prepare.
[0279] Step 9:
[0280] The server sends the adjusted menu, a list of ingredients that are in short supply, and information about stores where the ingredients can be purchased to the user terminal using a secure communication method.
[0281] Step 10:
[0282] The device analyzes the data received from the server and displays it on the app's user interface. The user can use the displayed menu, missing ingredients, and information on nearby stores to efficiently shop and prepare meals.
[0283] Specific examples
[0284] 1. The user launches the app and takes a photo of the inside of the refrigerator.
[0285] 2. The device sends the image to the server.
[0286] 3. The server analyzes the image and recognizes "tomato," "cheese," "lettuce," and "bacon."
[0287] 4. The server searches for recipes based on the ingredients list and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet."
[0288] 5. The server detects the missing "eggs."
[0289] 6. The server uses location information to collect information about nearby supermarkets and convenience stores.
[0290] 7. The server uses the emotion engine to recognize the user's emotional state.
[0291] 8. The server adjusts the recipe based on the user's emotional state.
[0292] 9. The server sends the final result to the user terminal.
[0293] 10. The terminal displays the information, and the user confirms it and makes a purchase.
[0294] Example 2
[0295] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0296] Conventional menu suggestion systems based on ingredients in the refrigerator can identify ingredients and generate menus, but they are inadequate when ingredients necessary for the actual menu are lacking. Furthermore, they often make suggestions without considering the user's emotional state. This results in a decrease in user satisfaction and a loss of system usability. Another problem is that complicated recipes are suggested when the user is feeling stressed.
[0297] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0298] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, means for providing information on nearby stores where the detected missing ingredients can be purchased, means for analyzing the user's emotions and adjusting the menu based on the user's emotional state, and means for transmitting the generated menu, the list of ingredients that are missing, store information, and adjustment information based on the user's emotional state to a user terminal. This not only enables the user to make the most of the ingredients they have and quickly obtain the necessary ingredients, but also enables the server to suggest an appropriate menu based on the user's emotional state.
[0299] The "means for acquiring images of the inside of the refrigerator" refers to the camera and application functions that allow the user to take pictures of the inside of the refrigerator and acquire the image data.
[0300] The "means for analyzing the acquired image to identify ingredients" refers to an image recognition algorithm and associated machine learning model for analyzing the acquired image data and identifying the ingredients contained therein.
[0301] The "means for generating optimal menus" is an algorithm that suggests optimal dish combinations that utilize the identified ingredients.
[0302] The "means for detecting missing ingredients" is a process for comparing all ingredients required for the generated menu with ingredients that have already been identified, and identifying any missing ingredients.
[0303] The "means for providing nearby store information" refers to a location information service and database access means for identifying nearby stores where the missing ingredients can be purchased and providing the user with that information.
[0304] The "means for analyzing the user's emotions" is an emotion recognition engine that reads the user's facial expressions through a camera and analyzes their emotional state based on that data.
[0305] The "means for adjusting menus based on emotional state" is an algorithm for adjusting suggested menus and recipes based on the analyzed emotional data of the user.
[0306] "Means for sending to the user terminal" refers to the communication means and protocol for sending the information generated by the server to the user's smartphone or tablet.
[0307] The system of the present invention records the ingredients in the refrigerator with photos, suggests menus based on that information, and provides store information for ingredients that are missing. Furthermore, the system incorporates an emotion engine that recognizes the user's emotions, allowing it to adjust menus and select recommended recipes based on the user's emotional state.
[0308] This system is operated primarily through a dedicated application installed on the user's smartphone or tablet and a server connected via the Internet. Details of each piece of hardware and software are described below.
[0309] First, the user launches a dedicated cooking app installed on a smartphone or tablet. This app includes a function for taking photos of the inside of the refrigerator. The user opens the refrigerator door and uses the camera to take a photo of the ingredients inside. The camera image is displayed in real time in the app, allowing the user to check the quality of the photo. Once the photo is taken, the app saves the image and proceeds to the next step. The saved image is sent from the device to the server. A secure communication method using the Internet (e.g., HTTPS) is used for transmission. The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[0310] The server then analyzes the image and recognizes the ingredients. The server runs an image recognition algorithm to analyze the received image data. This algorithm uses machine learning models (such as TensorFlow or PyTorch) and other image processing techniques to identify individual ingredients in the image. For example, the server might identify ingredients such as "tomato," "cheese," "lettuce," and "bacon" and register their names in a list.
[0311] The server then generates an optimal menu based on the identified ingredients. The server generates the optimal menu based on the list of identified ingredients by matching it with a recipe database. This is done using algorithms to evaluate ingredient combinations and available recipes. As a result, the server suggests specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[0312] Furthermore, the server detects any missing ingredients required for the generated menu and collects information about nearby stores. The server compares all ingredients required for the generated menu with the ingredients already identified to identify any missing ingredients. For example, it detects that there are missing "eggs" for an omelet. The server uses location services (e.g., Google Maps API) to collect information about nearby stores based on the user's current location. This identifies stores where the missing "eggs" can be purchased and creates a list.
[0313] The emotion engine is also an important element of the system. The app is equipped with an emotion engine that recognizes the user's emotions. It reads the user's facial expressions through the camera within the app and performs emotion analysis. This emotion data is sent to the server, which then adjusts the menu and recipe suggestions based on the user's emotional state. For example, if the user is feeling stressed, the app can suggest simple and easy recipes.
[0314] Finally, the server sends the generated menu, a list of ingredients that are in short supply, information on stores where ingredients can be purchased, and adjustment information based on the user's emotional state to the user's device. This information is displayed to the user through a user interface, allowing the user to plan meals and efficiently procure ingredients.
[0315] Specific examples
[0316] A specific example of how this works is shown below. A user launches a cooking app and takes a photo of the contents of their refrigerator. For example, the refrigerator contains tomatoes, cheese, lettuce, and bacon. The device saves the image and sends it to the server. The server analyzes the image and identifies each ingredient. Based on the identified ingredients, the server searches a recipe database and suggests options such as a tomato and lettuce salad or a bacon and cheese omelet. The server also detects any missing eggs and collects information about nearby supermarkets and convenience stores. The server then recognizes the user's emotions and makes adjustments based on their emotional state. For example, if the user is in a "high stress" state, it suggests a quick and easy recipe. The final result is sent to the device as information including the generated menu, a list of missing ingredients, information about available stores, and adjustments based on the user's emotions. The user can review this information and efficiently proceed with meal preparation.
[0317] Prompt Sentence Examples
[0318] I want to plan a meal based on the ingredients in my refrigerator. I have tomatoes, lettuce, cheese, and bacon in my refrigerator. I'd like to have a meal suggestion based on these ingredients. I'd also like to know where to buy ingredients if I'm running low on them.
[0319] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0320] Step 1:
[0321] The user takes a photo of the food in the refrigerator.
[0322] Input: User initiates a photo of the inside of the refrigerator.
[0323] What happens: The user launches a dedicated cooking app installed on their smartphone or tablet, opens the refrigerator door, and takes a photo of the ingredients inside. The image from the camera is displayed in real time on the app, allowing the user to check the quality of the photo.
[0324] Output: The image of the inside of the refrigerator is saved on the device.
[0325] Specific operation: The user taps the "Shoot" button in the app, points the camera at the refrigerator, and presses the "Shutter" button. The captured image is saved on the device.
[0326] Step 2:
[0327] The device sends the image to the server.
[0328] Input: A stored image of the inside of a refrigerator.
[0329] What happens: The device retrieves the stored image and sends it to the server using a secure connection over the Internet (e.g., HTTPS). The image data is sent via an HTTP POST request.
[0330] Output: The image data is sent to the server.
[0331] What happens: The app initiates a background connection to the server, attaches the image data to an HTTP POST request, and sends it to the server's API endpoint.
[0332] Step 3:
[0333] The server analyzes the image and recognizes the ingredients.
[0334] Input: Image data of the inside of the refrigerator sent to the server.
[0335] What it does: The server runs machine learning models and image recognition algorithms to analyze the received image data and identify individual ingredients. For example, it uses Python libraries and machine learning models for image analysis (e.g., TensorFlow and PyTorch).
[0336] Output: A list of parsed ingredients. For example, "tomato," "cheese," "lettuce," and "bacon" are registered in the list.
[0337] What it does: The server runs an image analysis algorithm to detect and label ingredients in the image, then stores them in a database.
[0338] Step 4:
[0339] The server generates an optimal menu based on the identified ingredients.
[0340] Input: A list of parsed ingredients.
[0341] What happens: The server generates an optimal menu based on the identified ingredients list and a recipe database, using algorithms that evaluate ingredient combinations and available recipes.
[0342] Output: A list of generated dishes. For example, "Tomato and lettuce salad" or "Bacon and cheese omelette" are generated.
[0343] Specific operation: The server sends the ingredient list as a query to the recipe database, retrieves candidate recipes, and selects the optimal menu.
[0344] Step 5:
[0345] The server detects the shortage of ingredients required for the generated menu and collects information on nearby stores.
[0346] Input: A list of generated meals and a list of ingredients already identified.
[0347] What happens: The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients. For missing ingredients, the server collects nearby restaurant information based on the user's current location (e.g., Google Maps API).
[0348] Output: A list of ingredients that are in short supply and a list of nearby stores where they can be purchased. For example, if there is a shortage of eggs, information on nearby supermarkets and convenience stores where they can be purchased will be provided.
[0349] Specific operation: The server makes a list of ingredients that are in short supply, and uses location information services to obtain and list information about the nearest stores.
[0350] Step 6:
[0351] The server recognizes the user's emotions.
[0352] Input: User facial expression data from the app.
[0353] What it does: The app captures the user's facial expressions through the camera, and the emotion recognition engine analyzes the data. This emotion data is sent to a server, which analyzes the user's emotional state (e.g., Microsoft® Azure® Emotion API).
[0354] Output: User's emotional state data. For example, the emotional state is "high stress."
[0355] What it does: The app captures the user's facial expressions, and the emotion recognition engine analyzes the facial expression data to identify their emotional state, which is then sent to the server.
[0356] Step 7:
[0357] The server sends the result to the user terminal.
[0358] Input: Generated menu, missing ingredient list, available store information, and emotional state data.
[0359] What happens: The server compiles the final results and sends them to the user's smartphone or tablet over the internet using a secure protocol (e.g. HTTPS).
[0360] Output: Sending the final result data to the user's terminal.
[0361] Specific operation: The server compiles all information as JSON format data and sends it to the user's device via an HTTP POST request.
[0362] Step 8:
[0363] The terminal displays the information to the user.
[0364] Input: The final result data sent from the server.
[0365] What happens: The device app interprets the received data and displays it in a user interface, allowing the user to plan a meal based on this information.
[0366] Output: Recipe details, purchasing information for missing ingredients, and emotion-based adjustment information.
[0367] What it does: The app parses the JSON data and displays it as a layout on the screen. For example, it displays details of a tomato and lettuce salad recipe, information about nearby stores where you can buy the eggs you are running low on, and recipes and notes based on the user's emotional state.
[0368] Through the above processing steps, the system of the present invention realizes the user's ingredient utilization, menu suggestions, and even adjustments based on the user's emotional state.
[0369] (Application example 2)
[0370] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0371] Conventional food management systems are limited to recording ingredients in the refrigerator and proposing menus, which means they cannot flexibly suggest meals according to the user's emotional state.Furthermore, they are limited to providing information on where to purchase ingredients when they are in short supply, and do not allow for delivery services.
[0372] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0373] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, means for providing information on nearby stores where the detected missing ingredients can be purchased, means for analyzing an image of the user's facial expression to identify the user's emotional state, means for adjusting the menu based on the identified emotional state, and means for providing the missing ingredients via a delivery service. This allows for flexible menu suggestions based on the user's emotional state, and also enables the purchase of missing ingredients via a delivery service.
[0374] "Means for capturing images inside the refrigerator" refers to a device or method for electronically capturing images of food items inside the refrigerator.
[0375] The "means for analyzing the acquired image and identifying ingredients" refers to an algorithm or program for identifying ingredients contained in the acquired image data based on the acquired image data.
[0376] "Means for generating optimal menus based on identified ingredients" refers to a system or method for using recognized ingredient information to suggest optimal dishes or meal menus.
[0377] "Means for detecting ingredients that are missing from the generated menu" refers to a function or method for identifying ingredients that are missing from the user's refrigerator based on the generated menu.
[0378] "Means for providing information on nearby stores where the detected missing ingredients can be purchased" refers to a system or method for providing information on nearby stores or sales locations where the detected missing ingredients can be purchased based on the user's location information.
[0379] "Means for analyzing a user's facial expression image to identify their emotional state" refers to algorithms or techniques for analyzing an image of a user's face and determining their emotional state.
[0380] A "means for adjusting a menu based on an identified emotional state" refers to a program or approach for suggesting or modifying an appropriate menu in line with a user's emotional state.
[0381] "Means for providing missing ingredients through a delivery service" refers to a system or process for delivering missing ingredients needed by a user through an affiliated delivery service.
[0382] The system of the present invention captures images of the inside of a refrigerator, analyzes the images to identify ingredients, and generates an optimal menu. It also detects ingredients that are missing from the generated menu and provides information on nearby stores where the detected missing ingredients can be purchased. It also has a function to analyze the user's emotions and adjust the menu based on their emotional state.
[0383] Hardware and software used
[0384] server:
[0385] Image analysis: YOLOv5 (pre-annotated food classification model)
[0386] Emotion analysis: FER (Facial Emotion Recognition) library
[0387] Menu Generation: Custom Algorithms Using Python
[0388] Location services: External API (e.g. Google Maps API)
[0389] User device:
[0390] Photo function: Use the camera function of your smartphone or tablet
[0391] Application: A dedicated cooking support app (Flask backend, React Native frontend)
[0392] Specific operation of the system
[0393] 1. Image acquisition and transmission:
[0394] The user uses the camera function of the device to take a picture of the food in the refrigerator. The taken image is sent to the server via the application. The transmission is via the Internet using a secure communication method (HTTPS).
[0395] 2. Image analysis and ingredient identification:
[0396] The server analyzes the received image and identifies the ingredients using YOLOv5. A list of recognized ingredients is generated and used to generate dish suggestions.
[0397] 3. Menu Generation:
[0398] Based on the list of ingredients, the server suggests the best dishes from an existing recipe database, using a custom Python algorithm to generate the menu.
[0399] 4. Detecting missing ingredients and providing store information:
[0400] The server compares all ingredients needed for the generated menu with ingredients already recognized and identifies any missing ingredients. The server uses location information services to collect and provide information about nearby stores based on the user's current location.
[0401] 5. Sentiment Analysis and Menu Adjustment:
[0402] The application captures the user's facial expressions with a camera and performs emotion analysis. It uses the FER library to identify the user's emotional state and sends this information to the server, which then adjusts the menu and recipe suggestions based on this emotional information.
[0403] Specific examples
[0404] The user takes a photo of the contents of the refrigerator and sends it through the application. The server analyzes the image and recognizes "tomato," "lettuce," "cheese," and "bacon." Based on these ingredients, the server suggests "tomato and lettuce salad" or "bacon and cheese omelet." It also identifies "eggs" that are in short supply and provides information about nearby supermarkets and convenience stores.
[0405] Furthermore, the app analyzes the user's facial expressions and suggests quick and easy meals if it determines that the user is in a "high stress" state. The app displays this information, allowing the user to efficiently prepare meals.
[0406] Prompt Sentence Examples
[0407] User: I took a photo of the inside of the refrigerator and sent it.
[0408] System: Recognizing ingredients... Recognized ingredients are "tomato, cheese, lettuce, bacon".
[0409] User: Analyze my emotional state.
[0410] System: Recognizing emotion...Current emotion is "High Stress."
[0411] System: Because stress levels are high, we suggest simple and easy recipes. Try "Tomato and Lettuce Salad" or "Bacon and Cheese Omelette." If you're running low on eggs, you can buy them at your local supermarket.
[0412] User: Order the ingredients you need for delivery.
[0413] System: Preparing delivery service... Your order is ready. Please confirm your delivery address.
[0414] In this way, it is possible to provide food suggestions and delivery services tailored to the user's situation.
[0415] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0416] Step 1:
[0417] The user takes a picture of the inside of the refrigerator
[0418] Input: The user takes a picture of the inside of the refrigerator using the device's camera function.
[0419] Specific operation: The user launches the dedicated app and uses the camera to take a photo of the food in the refrigerator. The captured image is saved in the app.
[0420] Output: Captured image data
[0421] Step 2:
[0422] The device sends the image to the server
[0423] Input: Saved image data
[0424] Specific operation: The device sends the captured image to the server via the Internet. The HTTPS protocol is used for transmission.
[0425] Output: Image data sent to the server
[0426] Step 3:
[0427] The server analyzes the image and identifies the ingredients.
[0428] Input: Image data sent to the server
[0429] Specific operation: The server analyzes the image using the YOLOv5 model and identifies the ingredients in the image. A list of identified ingredients is generated.
[0430] Output: List of ingredients
[0431] Step 4:
[0432] The server generates a menu based on the identified ingredients.
[0433] Input: List of ingredients
[0434] How it works: The server uses a Python algorithm to generate the optimal menu based on the ingredients available. It searches for available recipes from the recipe database.
[0435] Output: Suggested menu
[0436] Step 5:
[0437] The server detects missing ingredients for the generated menu and collects store information
[0438] Input: Generated menu, list of recognized ingredients
[0439] Specific operation: The server matches the ingredients required for the menu with the recognized ingredients and identifies any missing ingredients. It uses location services to collect information about nearby stores based on the user's current location.
[0440] Output: List of ingredients in short supply, information on nearby stores
[0441] Step 6:
[0442] The server recognizes the user's emotions and sends information
[0443] Input: User facial expression image
[0444] Specific operation: The user takes a picture of their facial expression with the device camera and sends it to the server. The server uses the FER library to analyze the facial image and identify the emotional state.
[0445] Output: User's emotional state
[0446] Step 7:
[0447] The server adjusts the menu based on the emotional state and sends the information to the user's terminal.
[0448] Input: User's emotional state, suggested menu, list of ingredients missing, nearby store information
[0449] Specific operation: The server adjusts the menu based on the user's emotional state and sends the final information (suggested menu, list of ingredients in short supply, information on nearby stores, and adjustments based on emotions) to the user's terminal via the Internet.
[0450] Output: Final information including adjusted menu, store information, etc.
[0451] Step 8:
[0452] The terminal displays the information to the user
[0453] Input: Final information sent from the server (adjusted menu, list of missing ingredients, store information, etc.)
[0454] Specific operation: The app on the user's device analyzes the received information and displays it on the user interface. The user then plans to prepare a meal based on this information.
[0455] Output: The final information shown to the user (adjusted menu, missing ingredients list, store information, etc.)
[0456] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0457] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0458] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0459] [Second embodiment]
[0460] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0461] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0462] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0463] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0464] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0465] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0466] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0467] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0468] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0469] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0470] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0471] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0472] The system of this invention supports efficient ingredient management and cooking planning by recording ingredients in the refrigerator with photographs, proposing menus based on that information, and providing store information on ingredients that may be in short supply. This system is composed of three main components: the user, the terminal, and the server.
[0473] Program processing explanation
[0474] 1. The user takes a photo of the ingredients in the refrigerator
[0475] The user launches a dedicated cooking app installed on a smartphone or tablet, which includes a function to take photos of the inside of the refrigerator.
[0476] Users open the refrigerator door and use the camera to take a picture of the food inside, and the image is displayed in real time on the app, allowing users to check the quality of the shot.
[0477] Once the photo is taken, the app will save the image and move on to the next step.
[0478] 2. The device sends the image to the server
[0479] The saved images are sent from the device to a server using a secure communication method over the Internet.
[0480] The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[0481] 3. The server analyzes the image and recognizes the ingredients
[0482] The server analyzes the received images and runs image recognition algorithms that use machine learning models and other image processing techniques to identify individual ingredients within the images.
[0483] For example, the server identifies ingredients such as "tomato," "cheese," "lettuce," and "bacon" and registers their names in a list.
[0484] 4. The server generates an optimal menu based on the identified ingredients.
[0485] The server generates an optimal menu based on the identified list of ingredients and matches it with a recipe database, using algorithms to evaluate ingredient combinations and available recipes.
[0486] As a result, the server will suggest specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[0487] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0488] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, for example, detecting that an "egg" is missing for an omelet.
[0489] The server uses location information services to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the eggs that are in short supply can be purchased.
[0490] 6. The server sends the results to the user device
[0491] The server then compiles the final results, including the generated menu, a list of ingredients that are missing, and information on stores where the food can be purchased. This information is then sent to the user's terminal via the Internet.
[0492] Specific protocols are used for transmission to ensure accuracy and security of the data.
[0493] 7. The device displays the information to the user
[0494] Once the data is received, the device app interprets it and displays it in a user interface, allowing the user to plan their cooking accordingly.
[0495] Specifically, it displays detailed recipes for a tomato and lettuce salad and how to make a bacon and cheese omelet, and also provides information on nearby stores where you can purchase the eggs you are running low on.
[0496] Specific examples
[0497] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[0498] The device saves the captured image and sends it to a server, which analyzes the image and identifies each ingredient.
[0499] The server searches a recipe database based on the identified ingredients and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet." It also detects when "eggs" are in short supply and collects information on nearby convenience stores and supermarkets.
[0500] The final result is a generated menu, a list of missing ingredients, and information on where they can be purchased, all of which are sent to the user's device. The user can then review this information and proceed with meal preparation efficiently.
[0501] The processing flow will be explained below.
[0502] Step 1:
[0503] The user launches a cooking app and takes a photo of the inside of the refrigerator. The user uses the app's camera function to take a photo of the inside of the refrigerator and saves the image.
[0504] Step 2:
[0505] The device prepares the captured image file and sends it to the server over the Internet using a secure protocol (e.g., HTTPS).
[0506] Step 3:
[0507] The server analyzes the received image data and applies an image analysis algorithm (such as a machine learning model) to identify the objects in the image as ingredients. For example, it recognizes "tomato," "cheese," "lettuce," and "bacon."
[0508] Step 4:
[0509] The server generates a list of recognized ingredients, searches the recipe database based on the list, and extracts recipes that use the identified ingredients from the recipe database.
[0510] Step 5:
[0511] The server then suggests an appropriate menu based on the extracted recipe. For example, it might select "tomato and lettuce salad" or "bacon and cheese omelet." Based on the selected menu, it identifies any missing ingredients.
[0512] Step 6:
[0513] The server detects the shortage of ingredients (e.g., eggs) and collects information about nearby stores based on the user's location. Using location information services, it creates a list of stores that carry the ingredients.
[0514] Step 7:
[0515] The server compiles the listed store information and sends it to the user's terminal along with the generated menu and a list of ingredients that are in short supply. The transmission is done using a secure communication method.
[0516] Step 8:
[0517] The device analyzes the data received from the server and displays it on the app's user interface. The user can use the displayed menu, missing ingredients, and information on nearby stores to efficiently shop and prepare meals.
[0518] Specific examples
[0519] 1. The user launches the app and takes a photo of the inside of the refrigerator.
[0520] 2. The device sends the image to the server.
[0521] 3. The server analyzes the image and recognizes "tomato," "cheese," "lettuce," and "bacon."
[0522] 4. The server searches for recipes based on the ingredients list and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet."
[0523] 5. The server detects the missing "eggs."
[0524] 6. The server uses location information to collect information about nearby supermarkets and convenience stores.
[0525] 7. The server sends the final result to the user terminal.
[0526] 8. The terminal displays the information, and the user confirms it and makes a purchase.
[0527] Example 1
[0528] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0529] In modern households, efficiently managing ingredients in the refrigerator and planning daily meals while reducing waste are major challenges. Conventional methods require manually checking ingredients and planning meals, which takes time and effort and is prone to food waste. It is also difficult to identify ingredients that are in short supply and quickly find a supplier. To address these challenges, the present invention provides a system that automatically manages ingredients in the refrigerator and provides efficient meal planning suggestions and purchasing information for ingredients that are in short supply.
[0530] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0531] In this invention, the server includes a means for acquiring images of the contents of the refrigerator, a means for analyzing the acquired images to identify ingredients, a means for generating an optimal menu based on the identified ingredients, a means for detecting ingredients needed for the generated menu that are in short supply, a means for providing information on nearby stores where the detected ingredients can be purchased, and a means for transmitting data including the menu generated based on the identified ingredients to a user terminal. This allows the user to efficiently manage ingredients in the refrigerator and quickly decide on a menu while reducing waste. It also allows the user to quickly identify ingredients that are in short supply and make a purchasing plan based on information on nearby stores.
[0532] The "means for acquiring images of the inside of the refrigerator" refers to a means for taking a photograph of the food items placed inside the refrigerator using a camera or smartphone and acquiring the image data.
[0533] "Means for analyzing the acquired image and identifying ingredients" refers to algorithms or software that analyze the acquired image data, identify the ingredients shown inside, and identify each ingredient.
[0534] "Means for generating optimal menus based on identified ingredients" refers to algorithms or programs for searching for optimal recipes from a database based on identified ingredient information and proposing menus.
[0535] "Means for detecting missing ingredients for the generated menu" refers to algorithms or software for comparing ingredients required for the generated menu with ingredients already present in the refrigerator and identifying missing ingredients.
[0536] The "means for providing information on nearby stores where the detected shortage of ingredients can be purchased" refers to a service or program for collecting and providing information on the nearest stores where the detected shortage of ingredients can be purchased.
[0537] "Means for transmitting data including a menu generated based on identified ingredients to a user terminal" refers to communication means or protocols for transmitting identified ingredient information and menu information generated based on it to a terminal such as a user's smartphone or tablet.
[0538] This invention relates to a system that records the ingredients in a refrigerator with photos, suggests menus based on that information, and provides store information on ingredients that are in short supply. This system is composed of three main components: a user, a terminal, and a server.
[0539] System Overview
[0540] 1. The user takes a photo of the ingredients in the refrigerator
[0541] The user uses a dedicated cooking app installed on a smartphone or tablet. This app includes a function to take photos of the inside of the refrigerator. Specifically, this app is called a "recipe support app."
[0542] When a user launches the app and taps the "Fridge Photo" button, the camera screen opens. The user opens the refrigerator door and uses the camera to take a photo of the food inside. The camera image is displayed in real time on the app, allowing the user to check the quality of the photo. Once the photo is taken, the app saves the image and proceeds to the next step.
[0543] 2. The device sends the image to the server
[0544] The saved image is sent from the device to the server. The user taps the "Send Image" button in the app to send the image to the server. A secure communication method (e.g., SSL / TLS) over the Internet is used for transmission.
[0545] The image data is sent using an HTTP POST request. The server receives the request and begins processing the image.
[0546] 3. The server analyzes the image and recognizes the ingredients
[0547] The server then runs image recognition algorithms using machine learning models and other image processing techniques to analyze the received images, using machine learning frameworks such as TensorFlow and PyTorch.
[0548] The server identifies each ingredient in the image and registers its name in a textual list, such as "tomato," "cheese," "lettuce," and "bacon."
[0549] 4. The server generates an optimal menu based on the identified ingredients.
[0550] The server generates optimal menus based on the identified list of ingredients and compares them with a recipe database stored in a MySQL database, using algorithms that evaluate ingredient combinations and available recipes.
[0551] The server generates menu items such as "tomato and lettuce salad" or "bacon and cheese omelet" based on the identified ingredients, taking into account the user's past preference data.
[0552] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0553] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, e.g., it detects that an omelet needs "eggs."
[0554] The server uses the Google Maps API to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the missing ingredients can be purchased.
[0555] 6. The server sends the results to the user device
[0556] The server then sends the final results, including the generated menu, a list of missing ingredients, and information about stores where the food can be purchased, to the user's device. Data is sent in JSON format via a RESTful API. SSL / TLS protocol is used to ensure data accuracy and security.
[0557] 7. The device displays the information to the user
[0558] Upon receiving the transmitted data, the device app interprets it and displays it in a user interface. The device app provides a rich UI using HTML5 and CSS3, and is designed to be easy for users to operate.
[0559] In the app's "Today's Menu" section, users can find detailed recipes for a tomato and lettuce salad or a bacon and cheese omelet, and a map will show them nearby stores where they can buy eggs if they're running low.
[0560] Specific examples
[0561] A user launches a cooking app and takes a photo of the inside of a refrigerator, which contains tomatoes, cheese, lettuce, and bacon.
[0562] The device saves the captured image and sends it to the server. Specifically, when the user taps the "Send Image" button, an HTTP POST request is sent to the server.
[0563] The server analyzes the received image, recognizes "tomato," "cheese," "lettuce," and "bacon," and then compares it with a recipe database to generate "tomato and lettuce salad" or "bacon and cheese omelette."
[0564] The server detects a shortage of the required "eggs" and uses the Google Maps API to gather information about nearby supermarkets where eggs can be purchased.
[0565] The final results are sent to the user's device in JSON format, and the user can check detailed recipes and store information where the food can be purchased within the app.
[0566] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0567] Step 1: User takes a photo of the ingredients in the refrigerator
[0568] Input: Ingredients in the refrigerator
[0569] Specific operation: The user launches a dedicated cooking application installed on a smartphone or tablet. This application includes a function for taking photos of the inside of the refrigerator using the camera. The user taps the "Photo in the refrigerator" button to open the camera screen. While checking the camera image displayed in real time, the user takes a photo of the ingredients in the refrigerator. Once the photo is taken, the application saves the image.
[0570] Output: Image file of the saved ingredients
[0571] Step 2: The device sends the image to the server
[0572] Input: Image file of saved ingredients
[0573] Specific operation: When the user taps the "Send Image" button, the device sends the saved image file to the server. A secure communication method (e.g., SSL / TLS) over the Internet is used for transmission. Specifically, the image data is sent to the server as an HTTP POST request.
[0574] Output: Image files of ingredients transferred to the server
[0575] Step 3: The server analyzes the image and recognizes the ingredients
[0576] Input: Image files of ingredients transferred to the server
[0577] How it works: The server uses machine learning models and image processing algorithms to analyze the received image data. This analysis is performed using machine learning frameworks such as TensorFlow and PyTorch. The image recognition algorithm identifies each ingredient in the image and registers their name in a textual list.
[0578] Output: List of identified ingredients (e.g. "tomato", "cheese", "lettuce", "bacon")
[0579] Step 4: The server generates an optimal menu based on the identified ingredients.
[0580] Input: Identified ingredient list
[0581] How it works: The server compares the identified ingredient list with a recipe database stored in a MySQL database. It uses an algorithm to evaluate ingredient combinations and available recipes. The server generates an optimal menu, taking into account past user preference data.
[0582] Output: Generated menu list (e.g., "Tomato and lettuce salad" or "Bacon and cheese omelette")
[0583] Step 5: The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0584] Input: Generated menu list
[0585] Specific operation: The server compares all ingredients required for the generated menu with the list of ingredients already identified and identifies any missing ingredients. For example, it detects that "eggs" required for a "bacon and cheese omelet" are missing. The server uses the Google Maps API to collect information about nearby stores based on the user's current location. This allows it to identify stores where the missing ingredients can be purchased.
[0586] Output: List of ingredients in short supply and nearby store information
[0587] Step 6: The server sends the results to the user device
[0588] Input: Generated menu list, list of ingredients needed, nearby store information
[0589] Specific operation: The server compiles the final results: the generated menu, a list of missing ingredients, and information on stores where the food can be purchased. This information is sent to the user's device in JSON format via a RESTful API. The SSL / TLS protocol is used to ensure the accuracy and security of the data.
[0590] Output: Menu, list of ingredients in short supply, and store information sent to the user's terminal
[0591] Step 7: The device displays the information to the user
[0592] Input: Submitted menu, list of ingredients needed, store information
[0593] How it works: The user device interprets the received data and displays it in the user interface of a dedicated cooking application. A rich UI using HTML5 and CSS3 is provided, and users can check detailed recipes and cooking instructions in the "Today's Menu" section, as well as information on nearby stores where they can purchase missing ingredients.
[0594] Output: Menu information, missing ingredients information, store information displayed to the user
[0595] (Application example 1)
[0596] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0597] Conventional food management systems record ingredients in the refrigerator and suggest menus, but the process of purchasing missing ingredients is complicated, taking up time and effort for users. Furthermore, there is no way to immediately purchase missing ingredients, so users have to go shopping. This makes it difficult for users to efficiently manage ingredients and plan cooking.
[0598] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0599] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for providing the detected missing ingredients as a purchasing source, and means for arranging delivery of the detected missing ingredients, thereby enabling the user to simplify the purchasing procedure for missing ingredients and arrange for the missing ingredients to be delivered immediately.
[0600] "Means for acquiring images of the inside of the refrigerator" refers to a device or software for taking a photograph of the inside of the refrigerator using a smartphone or other camera and acquiring the image data.
[0601] The "means for analyzing the acquired image and identifying ingredients" refers to a system or algorithm that uses image analysis technology to analyze the captured image of the inside of the refrigerator and recognize the ingredients that appear in the image.
[0602] The "means for generating an optimal menu based on identified ingredients" refers to a system or algorithm that uses a recipe database stored on a server to suggest an appropriate menu of dishes based on identified ingredients.
[0603] The "means for detecting missing ingredients for the generated menu" is a system that lists all ingredients required for the proposed menu and automatically detects ingredients that are not in the refrigerator.
[0604] The "means for providing information on nearby stores as a place to purchase the detected missing ingredients" is a system that searches for and provides information on nearby stores based on the user's current location in order to purchase the missing ingredients.
[0605] The "means for arranging delivery of detected missing ingredients" is a system or program that automatically arranges for delivery of the missing ingredients from a nearby store to the user's home.
[0606] The "means for transmitting to the user terminal" is a communication system for transmitting the ingredient information analyzed by the server and the proposed menu information to the user's smartphone or tablet via the Internet.
[0607] This invention provides a system that records the ingredients in a refrigerator with photos, suggests menus based on that information, and arranges for delivery of any ingredients that are missing. This system is composed of three main components: the user, the terminal, and the server.
[0608] 1. Program processing explanation
[0609] The user takes a photo of the ingredients in the refrigerator. They launch a dedicated cooking app installed on their smartphone or tablet and use the function to take a photo of the ingredients in the refrigerator. The captured image is saved on the device and sent to the server.
[0610] The device sends the captured image to the server using a secure communication method over the Internet, such as an HTTP POST request.
[0611] The server analyzes the image and uses image recognition algorithms (e.g., TensorFlow or YOLO) to recognize ingredients, such as "tomato," "cheese," "lettuce," and "bacon."
[0612] The server uses an algorithm that matches the identified ingredients with a recipe database to generate an optimal menu, resulting in specific suggestions such as "tomato and lettuce salad" or "bacon and cheese omelette."
[0613] The server detects missing ingredients for the generated menu, then uses a location information service to collect information about nearby restaurants based on the user's current location, and then uses a delivery service (an example API would be a general delivery service API) to arrange for the delivery of the missing ingredients.
[0614] 2. Hardware and Software
[0615] Hardware: Smartphones, tablets, and devices with communication capabilities.
[0616] Software: A dedicated application to take pictures of the inside of the refrigerator, image recognition algorithms used on the server (TensorFlow, YOLO, etc.), a recipe database, and APIs for location services and delivery services.
[0617] 3. Specific usage examples
[0618] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[0619] The device saves the captured image and sends it to the server.
[0620] The server analyzes the image and identifies each ingredient, such as "tomato," "cheese," "lettuce," and "bacon."
[0621] The server compares the identified ingredients with a recipe database and suggests dishes such as "tomato and lettuce salad" or "bacon and cheese omelet." It also detects missing ingredients such as "eggs."
[0622] The server collects information about nearby stores for the missing eggs and arranges for the eggs to be delivered through a delivery service.
[0623] 4. Examples of prompts
[0624] A user takes a photo of the contents of their refrigerator using a smartphone app and sends it to a server. The server uses TensorFlow to analyze the image and create an ingredient list. Next, the server should compare it with a recipe database to suggest the optimal meal. Furthermore, the server should list the ingredients needed and those missing, and explain the steps to order the missing ingredients using the API of a popular delivery service.
[0625] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0626] Step 1:
[0627] The user takes a photo of the ingredients in the refrigerator.
[0628] Input: An image of the inside of a refrigerator taken by a smartphone or tablet camera.
[0629] How it works: The user launches the dedicated application and presses the "Take a photo of the refrigerator" button to take a photo.
[0630] Output: The captured image of the food in the refrigerator is saved on the device.
[0631] Step 2:
[0632] The device sends the captured image to the server.
[0633] Input: Stored images of food items in the refrigerator.
[0634] How it works: The device sends the captured image to a server over the Internet using protocols such as HTTP POST requests.
[0635] Output: Image of the inside of the refrigerator sent to the server.
[0636] Step 3:
[0637] The server analyzes the image and recognizes the ingredients.
[0638] Input: An image of the inside of a refrigerator sent to the server.
[0639] How it works: The server analyzes the received image using an image recognition algorithm (e.g., TensorFlow or YOLO). As a result, it identifies each individual ingredient in the image.
[0640] Output: A list of identified ingredients (e.g. "tomato", "cheese", "lettuce", and "bacon" are added to the list).
[0641] Step 4:
[0642] The server generates an optimal menu based on the identified ingredients.
[0643] Input: A list of identified ingredients.
[0644] How it works: The server compares the recipe database and suggests the best recipes based on the input ingredients list. It uses algorithms to evaluate ingredient combinations and cooking methods to generate an appropriate menu.
[0645] Output: Suggested meal (e.g., "Tomato and lettuce salad", "Bacon and cheese omelette").
[0646] Step 5:
[0647] The server detects missing ingredients needed for the generated menu.
[0648] Input: A list of proposed meals and identified ingredients.
[0649] Action: The server compares these lists to find ingredients needed for the proposed meal that are not present in the identified ingredient list.
[0650] Output: A list of ingredients that are in short supply (e.g., "Eggs" is added to the list as being in short supply).
[0651] Step 6:
[0652] The server provides information on nearby stores where to purchase ingredients that are in short supply and arranges delivery.
[0653] Input: A list of ingredients that are in short supply and the user's current location.
[0654] How it works: The server uses location services to find nearby restaurants based on the user's current location, and also uses the delivery service's API to order the missing ingredients and arrange for delivery to the user's home.
[0655] Output: Information on where to purchase the missing ingredients and delivery arrangements.
[0656] Step 7:
[0657] The server sends the results to the user terminal.
[0658] Input: Suggested menu, missing ingredient list, supplier and delivery arrangement information.
[0659] How it works: All results are sent to the user's device via the Internet.
[0660] Output: The results displayed on the user's device (menu, missing ingredients, purchasing and delivery information).
[0661] Step 8:
[0662] The terminal displays the information to the user.
[0663] Input: The final result data sent from the server.
[0664] How it works: A dedicated application analyzes the final results and displays them in a user interface, where users can view menu details, where to purchase missing ingredients, and delivery information.
[0665] Output: Specific cooking plans and purchasing information presented to the user.
[0666] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0667] The system of the present invention records the ingredients in the refrigerator with photos, suggests menus based on that information, and provides store information for ingredients that are missing. Furthermore, the system incorporates an emotion engine that recognizes the user's emotions, allowing it to adjust menus and select recommended recipes based on the user's emotional state.
[0668] Program processing explanation
[0669] 1. The user takes a photo of the ingredients in the refrigerator
[0670] The user launches a dedicated cooking app installed on a smartphone or tablet, which includes a function to take a photo of the inside of the refrigerator.
[0671] Users open the refrigerator door and use the camera to take a picture of the food inside, and the image is displayed in real time on the app, allowing users to check the quality of the shot.
[0672] Once the photo is taken, the app will save the image and move on to the next step.
[0673] 2. The device sends the image to the server
[0674] The saved image is sent from the device to the server using a secure communication method over the Internet (e.g., HTTPS).
[0675] The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[0676] 3. The server analyzes the image and recognizes the ingredients
[0677] The server analyzes the received image data and runs image recognition algorithms that use machine learning models and other image processing techniques to identify individual ingredients within the image.
[0678] For example, the server identifies ingredients such as "tomato," "cheese," "lettuce," and "bacon" and registers their names in a list.
[0679] 4. The server generates an optimal menu based on the identified ingredients.
[0680] The server generates an optimal menu based on the identified list of ingredients and matches it with a recipe database, using algorithms to evaluate ingredient combinations and available recipes.
[0681] As a result, the server will suggest specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[0682] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0683] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, for example, detecting that an "egg" is missing for an omelet.
[0684] The server uses location information services to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the eggs are available.
[0685] 6. The server recognizes the user's emotions
[0686] The app is equipped with an emotion engine that recognizes the user's emotions. It reads the user's facial expressions through the camera within the app and performs emotion analysis.
[0687] This emotional data is sent to the server, which then adjusts the menu and recipe suggestions based on the user's emotional state.
[0688] 7. The server sends the results to the user device.
[0689] The server then compiles the final results, including the generated menu, a list of ingredients that are missing, and adjustment information based on the store where the food is available and the user's emotional state. This information is then sent to the user's device via the Internet.
[0690] Specific protocols are used for transmission to ensure accuracy and security of the data.
[0691] 8. The device displays information to the user
[0692] Once the data is received, the device app interprets it and displays it in a user interface, allowing the user to plan their cooking accordingly.
[0693] Specifically, the app displays recipe details for a tomato and lettuce salad, instructions for making a bacon and cheese omelet, and information on nearby stores where you can purchase eggs if you are running low. It also displays suggested recipes and warnings based on the user's emotional state.
[0694] Specific examples
[0695] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[0696] The device saves the captured image and sends it to a server, which analyzes the image and identifies each ingredient.
[0697] The server searches a recipe database based on the identified ingredients and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet." It also detects when "eggs" are in short supply and collects information on nearby supermarkets and convenience stores.
[0698] In addition, the server recognizes the user's emotions and makes adjustments based on their emotional state, such as suggesting quick and easy recipes if they are in a "high stress" state.
[0699] The final result is sent to the device as information including the generated menu, a list of missing ingredients, store availability information, and emotion-based adjustments, allowing the user to review this information and efficiently prepare meals.
[0700] The processing flow will be explained below.
[0701] Step 1:
[0702] The user launches a cooking app and takes a photo of the inside of the refrigerator. The user uses the app's camera function to take a photo of the inside of the refrigerator and saves the image.
[0703] Step 2:
[0704] The device prepares the captured image file and sends it to the server over the Internet using a secure protocol (e.g., HTTPS).
[0705] Step 3:
[0706] The server analyzes the received image data and applies an image analysis algorithm (such as a machine learning model) to identify the objects in the image as ingredients. For example, it recognizes "tomato," "cheese," "lettuce," and "bacon."
[0707] Step 4:
[0708] The server generates a list of recognized ingredients, searches the recipe database based on the list, and extracts recipes that use the identified ingredients from the recipe database.
[0709] Step 5:
[0710] The server then suggests an appropriate menu based on the extracted recipe. For example, it might select "tomato and lettuce salad" or "bacon and cheese omelet." Based on the selected menu, it identifies any missing ingredients.
[0711] Step 6:
[0712] The server detects the shortage of ingredients (e.g., eggs) and collects information about nearby stores based on the user's location. Using location information services, it creates a list of stores that carry the ingredients.
[0713] Step 7:
[0714] The server recognizes the user's emotional state. It uses an emotion engine to analyze the user's facial expression data and identify emotions such as "high stress" or "relaxed." It then generates data based on the user's emotions.
[0715] Step 8:
[0716] The server adjusts recipes and menus based on the user's emotional data. For example, if the user is in a "high stress" state, it will prioritize recipes that are quick and easy to prepare.
[0717] Step 9:
[0718] The server sends the adjusted menu, a list of ingredients that are in short supply, and information about stores where the ingredients can be purchased to the user terminal using a secure communication method.
[0719] Step 10:
[0720] The device analyzes the data received from the server and displays it on the app's user interface. The user can use the displayed menu, missing ingredients, and information on nearby stores to efficiently shop and prepare meals.
[0721] Specific examples
[0722] 1. The user launches the app and takes a photo of the inside of the refrigerator.
[0723] 2. The device sends the image to the server.
[0724] 3. The server analyzes the image and recognizes "tomato," "cheese," "lettuce," and "bacon."
[0725] 4. The server searches for recipes based on the ingredients list and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet."
[0726] 5. The server detects the missing "eggs."
[0727] 6. The server uses location information to collect information about nearby supermarkets and convenience stores.
[0728] 7. The server uses the emotion engine to recognize the user's emotional state.
[0729] 8. The server adjusts the recipe based on the user's emotional state.
[0730] 9. The server sends the final result to the user terminal.
[0731] 10. The terminal displays the information, and the user confirms it and makes a purchase.
[0732] Example 2
[0733] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0734] Conventional menu suggestion systems based on ingredients in the refrigerator can identify ingredients and generate menus, but they are inadequate when ingredients necessary for the actual menu are lacking. Furthermore, they often make suggestions without considering the user's emotional state. This results in a decrease in user satisfaction and a loss of system usability. Another problem is that complicated recipes are suggested when the user is feeling stressed.
[0735] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0736] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, means for providing information on nearby stores where the detected missing ingredients can be purchased, means for analyzing the user's emotions and adjusting the menu based on the user's emotional state, and means for transmitting the generated menu, the list of ingredients that are missing, store information, and adjustment information based on the user's emotional state to a user terminal. This not only enables the user to make the most of the ingredients they have and quickly obtain the necessary ingredients, but also enables the server to suggest an appropriate menu based on the user's emotional state.
[0737] The "means for acquiring images of the inside of the refrigerator" refers to the camera and application functions that allow the user to take pictures of the inside of the refrigerator and acquire the image data.
[0738] The "means for analyzing the acquired image to identify ingredients" refers to an image recognition algorithm and associated machine learning model for analyzing the acquired image data and identifying the ingredients contained therein.
[0739] The "means for generating optimal menus" is an algorithm that suggests optimal dish combinations that utilize the identified ingredients.
[0740] The "means for detecting missing ingredients" is a process for comparing all ingredients required for the generated menu with ingredients that have already been identified, and identifying any missing ingredients.
[0741] The "means for providing nearby store information" refers to a location information service and database access means for identifying nearby stores where the missing ingredients can be purchased and providing the user with that information.
[0742] The "means for analyzing the user's emotions" is an emotion recognition engine that reads the user's facial expressions through a camera and analyzes their emotional state based on that data.
[0743] The "means for adjusting menus based on emotional state" is an algorithm for adjusting suggested menus and recipes based on the analyzed emotional data of the user.
[0744] "Means for sending to the user terminal" refers to the communication means and protocol for sending the information generated by the server to the user's smartphone or tablet.
[0745] The system of the present invention records the ingredients in the refrigerator with photos, suggests menus based on that information, and provides store information for ingredients that are missing. Furthermore, the system incorporates an emotion engine that recognizes the user's emotions, allowing it to adjust menus and select recommended recipes based on the user's emotional state.
[0746] This system is operated primarily through a dedicated application installed on the user's smartphone or tablet and a server connected via the Internet. Details of each piece of hardware and software are described below.
[0747] First, the user launches a dedicated cooking app installed on a smartphone or tablet. This app includes a function for taking photos of the inside of the refrigerator. The user opens the refrigerator door and uses the camera to take a photo of the ingredients inside. The camera image is displayed in real time in the app, allowing the user to check the quality of the photo. Once the photo is taken, the app saves the image and proceeds to the next step. The saved image is sent from the device to the server. A secure communication method using the Internet (e.g., HTTPS) is used for transmission. The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[0748] The server then analyzes the image and recognizes the ingredients. The server runs an image recognition algorithm to analyze the received image data. This algorithm uses machine learning models (such as TensorFlow or PyTorch) and other image processing techniques to identify individual ingredients in the image. For example, the server might identify ingredients such as "tomato," "cheese," "lettuce," and "bacon" and register their names in a list.
[0749] The server then generates an optimal menu based on the identified ingredients. The server generates the optimal menu based on the list of identified ingredients by matching it with a recipe database. This is done using algorithms to evaluate ingredient combinations and available recipes. As a result, the server suggests specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[0750] Furthermore, the server detects any missing ingredients required for the generated menu and collects information about nearby stores. The server compares all ingredients required for the generated menu with the ingredients already identified to identify any missing ingredients. For example, it detects that there are missing "eggs" for an omelet. The server uses location services (e.g., Google Maps API) to collect information about nearby stores based on the user's current location. This identifies stores where the missing "eggs" can be purchased and creates a list.
[0751] The emotion engine is also an important element of the system. The app is equipped with an emotion engine that recognizes the user's emotions. It reads the user's facial expressions through the camera within the app and performs emotion analysis. This emotion data is sent to the server, which then adjusts the menu and recipe suggestions based on the user's emotional state. For example, if the user is feeling stressed, the app can suggest simple and easy recipes.
[0752] Finally, the server sends the generated menu, a list of ingredients that are in short supply, information on stores where ingredients can be purchased, and adjustment information based on the user's emotional state to the user's device. This information is displayed to the user through a user interface, allowing the user to plan meals and efficiently procure ingredients.
[0753] Specific examples
[0754] A specific example of how this works is shown below. A user launches a cooking app and takes a photo of the contents of their refrigerator. For example, the refrigerator contains tomatoes, cheese, lettuce, and bacon. The device saves the image and sends it to the server. The server analyzes the image and identifies each ingredient. Based on the identified ingredients, the server searches a recipe database and suggests options such as a tomato and lettuce salad or a bacon and cheese omelet. The server also detects any missing eggs and collects information about nearby supermarkets and convenience stores. The server then recognizes the user's emotions and makes adjustments based on their emotional state. For example, if the user is in a "high stress" state, it suggests a quick and easy recipe. The final result is sent to the device as information including the generated menu, a list of missing ingredients, information about available stores, and adjustments based on the user's emotions. The user can review this information and efficiently proceed with meal preparation.
[0755] Prompt Sentence Examples
[0756] I want to plan a meal based on the ingredients in my refrigerator. I have tomatoes, lettuce, cheese, and bacon in my refrigerator. I'd like to have a meal suggestion based on these ingredients. I'd also like to know where to buy ingredients if I'm running low on them.
[0757] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0758] Step 1:
[0759] The user takes a photo of the food in the refrigerator.
[0760] Input: User initiates a photo of the inside of the refrigerator.
[0761] What happens: The user launches a dedicated cooking app installed on their smartphone or tablet, opens the refrigerator door, and takes a photo of the ingredients inside. The image from the camera is displayed in real time on the app, allowing the user to check the quality of the photo.
[0762] Output: The image of the inside of the refrigerator is saved on the device.
[0763] Specific operation: The user taps the "Shoot" button in the app, points the camera at the refrigerator, and presses the "Shutter" button. The captured image is saved on the device.
[0764] Step 2:
[0765] The device sends the image to the server.
[0766] Input: A stored image of the inside of a refrigerator.
[0767] What happens: The device retrieves the stored image and sends it to the server using a secure connection over the Internet (e.g., HTTPS). The image data is sent via an HTTP POST request.
[0768] Output: The image data is sent to the server.
[0769] What happens: The app initiates a background connection to the server, attaches the image data to an HTTP POST request, and sends it to the server's API endpoint.
[0770] Step 3:
[0771] The server analyzes the image and recognizes the ingredients.
[0772] Input: Image data of the inside of the refrigerator sent to the server.
[0773] What it does: The server runs machine learning models and image recognition algorithms to analyze the received image data and identify individual ingredients. For example, it uses Python libraries and machine learning models for image analysis (e.g., TensorFlow and PyTorch).
[0774] Output: A list of parsed ingredients. For example, "tomato," "cheese," "lettuce," and "bacon" are registered in the list.
[0775] What it does: The server runs an image analysis algorithm to detect and label ingredients in the image, then stores them in a database.
[0776] Step 4:
[0777] The server generates an optimal menu based on the identified ingredients.
[0778] Input: A list of parsed ingredients.
[0779] What happens: The server generates an optimal menu based on the identified ingredients list and a recipe database, using algorithms that evaluate ingredient combinations and available recipes.
[0780] Output: A list of generated dishes. For example, "Tomato and lettuce salad" or "Bacon and cheese omelette" are generated.
[0781] Specific operation: The server sends the ingredient list as a query to the recipe database, retrieves candidate recipes, and selects the optimal menu.
[0782] Step 5:
[0783] The server detects the shortage of ingredients required for the generated menu and collects information on nearby stores.
[0784] Input: A list of generated meals and a list of ingredients already identified.
[0785] What happens: The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients. For missing ingredients, the server collects nearby restaurant information based on the user's current location (e.g., Google Maps API).
[0786] Output: A list of ingredients that are in short supply and a list of nearby stores where they can be purchased. For example, if there is a shortage of eggs, information on nearby supermarkets and convenience stores where they can be purchased will be provided.
[0787] Specific operation: The server makes a list of ingredients that are in short supply, and uses location information services to obtain and list information about the nearest stores.
[0788] Step 6:
[0789] The server recognizes the user's emotions.
[0790] Input: User facial expression data from the app.
[0791] What it does: The app captures the user's facial expressions through the camera, and the emotion recognition engine analyzes the data. This emotion data is sent to a server, which analyzes the user's emotional state (e.g., Microsoft Azure's Emotion API).
[0792] Output: User's emotional state data. For example, the emotional state is "high stress."
[0793] What it does: The app captures the user's facial expressions, and the emotion recognition engine analyzes the facial expression data to identify their emotional state, which is then sent to the server.
[0794] Step 7:
[0795] The server sends the result to the user terminal.
[0796] Input: Generated menu, missing ingredient list, available store information, and emotional state data.
[0797] What happens: The server compiles the final results and sends them to the user's smartphone or tablet over the internet using a secure protocol (e.g. HTTPS).
[0798] Output: Sending the final result data to the user's terminal.
[0799] Specific operation: The server compiles all information as JSON format data and sends it to the user's device via an HTTP POST request.
[0800] Step 8:
[0801] The terminal displays the information to the user.
[0802] Input: The final result data sent from the server.
[0803] What happens: The device app interprets the received data and displays it in a user interface, allowing the user to plan a meal based on this information.
[0804] Output: Recipe details, purchasing information for missing ingredients, and emotion-based adjustment information.
[0805] What it does: The app parses the JSON data and displays it as a layout on the screen. For example, it displays details of a tomato and lettuce salad recipe, information about nearby stores where you can buy the eggs you are running low on, and recipes and notes based on the user's emotional state.
[0806] Through the above processing steps, the system of the present invention realizes the user's ingredient utilization, menu suggestions, and even adjustments based on the user's emotional state.
[0807] (Application example 2)
[0808] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0809] Conventional food management systems are limited to recording ingredients in the refrigerator and proposing menus, which means they cannot flexibly suggest meals according to the user's emotional state.Furthermore, they are limited to providing information on where to purchase ingredients when they are in short supply, and do not allow for delivery services.
[0810] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0811] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, means for providing information on nearby stores where the detected missing ingredients can be purchased, means for analyzing an image of the user's facial expression to identify the user's emotional state, means for adjusting the menu based on the identified emotional state, and means for providing the missing ingredients via a delivery service. This allows for flexible menu suggestions based on the user's emotional state, and also enables the purchase of missing ingredients via a delivery service.
[0812] "Means for capturing images inside the refrigerator" refers to a device or method for electronically capturing images of food items inside the refrigerator.
[0813] The "means for analyzing the acquired image and identifying ingredients" refers to an algorithm or program for identifying ingredients contained in the acquired image data based on the acquired image data.
[0814] "Means for generating optimal menus based on identified ingredients" refers to a system or method for using recognized ingredient information to suggest optimal dishes or meal menus.
[0815] "Means for detecting ingredients that are missing from the generated menu" refers to a function or method for identifying ingredients that are missing from the user's refrigerator based on the generated menu.
[0816] "Means for providing information on nearby stores where the detected missing ingredients can be purchased" refers to a system or method for providing information on nearby stores or sales locations where the detected missing ingredients can be purchased based on the user's location information.
[0817] "Means for analyzing a user's facial expression image to identify their emotional state" refers to algorithms or techniques for analyzing an image of a user's face and determining their emotional state.
[0818] A "means for adjusting a menu based on an identified emotional state" refers to a program or approach for suggesting or modifying an appropriate menu in line with a user's emotional state.
[0819] "Means for providing missing ingredients through a delivery service" refers to a system or process for delivering missing ingredients needed by a user through an affiliated delivery service.
[0820] The system of the present invention captures images of the inside of a refrigerator, analyzes the images to identify ingredients, and generates an optimal menu. It also detects ingredients that are missing from the generated menu and provides information on nearby stores where the detected missing ingredients can be purchased. It also has a function to analyze the user's emotions and adjust the menu based on their emotional state.
[0821] Hardware and software used
[0822] server:
[0823] Image analysis: YOLOv5 (pre-annotated food classification model)
[0824] Emotion analysis: FER (Facial Emotion Recognition) library
[0825] Menu Generation: Custom Algorithms Using Python
[0826] Location services: External API (e.g. Google Maps API)
[0827] User device:
[0828] Photo function: Use the camera function of your smartphone or tablet
[0829] Application: A dedicated cooking support app (Flask backend, React Native frontend)
[0830] Specific operation of the system
[0831] 1. Image acquisition and transmission:
[0832] The user uses the camera function of the device to take a picture of the food in the refrigerator. The taken image is sent to the server via the application. The transmission is via the Internet using a secure communication method (HTTPS).
[0833] 2. Image analysis and ingredient identification:
[0834] The server analyzes the received image and identifies the ingredients using YOLOv5. A list of recognized ingredients is generated and used to generate dish suggestions.
[0835] 3. Menu Generation:
[0836] Based on the list of ingredients, the server suggests the best dishes from an existing recipe database, using a custom Python algorithm to generate the menu.
[0837] 4. Detecting missing ingredients and providing store information:
[0838] The server compares all ingredients needed for the generated menu with ingredients already recognized and identifies any missing ingredients. The server uses location information services to collect and provide information about nearby stores based on the user's current location.
[0839] 5. Sentiment Analysis and Menu Adjustment:
[0840] The application captures the user's facial expressions with a camera and performs emotion analysis. It uses the FER library to identify the user's emotional state and sends this information to the server, which then adjusts the menu and recipe suggestions based on this emotional information.
[0841] Specific examples
[0842] The user takes a photo of the contents of the refrigerator and sends it through the application. The server analyzes the image and recognizes "tomato," "lettuce," "cheese," and "bacon." Based on these ingredients, the server suggests "tomato and lettuce salad" or "bacon and cheese omelet." It also identifies "eggs" that are in short supply and provides information about nearby supermarkets and convenience stores.
[0843] Furthermore, the app analyzes the user's facial expressions and suggests quick and easy meals if it determines that the user is in a "high stress" state. The app displays this information, allowing the user to efficiently prepare meals.
[0844] Prompt Sentence Examples
[0845] User: I took a photo of the inside of the refrigerator and sent it.
[0846] System: Recognizing ingredients... Recognized ingredients are "tomato, cheese, lettuce, bacon".
[0847] User: Analyze my emotional state.
[0848] System: Recognizing emotion...Current emotion is "High Stress."
[0849] System: Because stress levels are high, we suggest simple and easy recipes. Try "Tomato and Lettuce Salad" or "Bacon and Cheese Omelette." If you're running low on eggs, you can buy them at your local supermarket.
[0850] User: Order the ingredients you need for delivery.
[0851] System: Preparing delivery service... Your order is ready. Please confirm your delivery address.
[0852] In this way, it is possible to provide food suggestions and delivery services tailored to the user's situation.
[0853] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0854] Step 1:
[0855] The user takes a picture of the inside of the refrigerator
[0856] Input: The user takes a picture of the inside of the refrigerator using the device's camera function.
[0857] Specific operation: The user launches the dedicated app and uses the camera to take a photo of the food in the refrigerator. The captured image is saved in the app.
[0858] Output: Captured image data
[0859] Step 2:
[0860] The device sends the image to the server
[0861] Input: Saved image data
[0862] Specific operation: The device sends the captured image to the server via the Internet. The HTTPS protocol is used for transmission.
[0863] Output: Image data sent to the server
[0864] Step 3:
[0865] The server analyzes the image and identifies the ingredients.
[0866] Input: Image data sent to the server
[0867] Specific operation: The server analyzes the image using the YOLOv5 model and identifies the ingredients in the image. A list of identified ingredients is generated.
[0868] Output: List of ingredients
[0869] Step 4:
[0870] The server generates a menu based on the identified ingredients.
[0871] Input: List of ingredients
[0872] How it works: The server uses a Python algorithm to generate the optimal menu based on the ingredients available. It searches for available recipes from the recipe database.
[0873] Output: Suggested menu
[0874] Step 5:
[0875] The server detects missing ingredients for the generated menu and collects store information
[0876] Input: Generated menu, list of recognized ingredients
[0877] Specific operation: The server matches the ingredients required for the menu with the recognized ingredients and identifies any missing ingredients. It uses location services to collect information about nearby stores based on the user's current location.
[0878] Output: List of ingredients in short supply, information on nearby stores
[0879] Step 6:
[0880] The server recognizes the user's emotions and sends information
[0881] Input: User facial expression image
[0882] Specific operation: The user takes a picture of their facial expression with the device camera and sends it to the server. The server uses the FER library to analyze the facial image and identify the emotional state.
[0883] Output: User's emotional state
[0884] Step 7:
[0885] The server adjusts the menu based on the emotional state and sends the information to the user's terminal.
[0886] Input: User's emotional state, suggested menu, list of ingredients missing, nearby store information
[0887] Specific operation: The server adjusts the menu based on the user's emotional state and sends the final information (suggested menu, list of ingredients in short supply, information on nearby stores, and adjustments based on emotions) to the user's terminal via the Internet.
[0888] Output: Final information including adjusted menu, store information, etc.
[0889] Step 8:
[0890] The terminal displays the information to the user
[0891] Input: Final information sent from the server (adjusted menu, list of missing ingredients, store information, etc.)
[0892] Specific operation: The app on the user's device analyzes the received information and displays it on the user interface. The user then plans to prepare a meal based on this information.
[0893] Output: The final information shown to the user (adjusted menu, missing ingredients list, store information, etc.)
[0894] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0895] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0896] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0897] [Third embodiment]
[0898] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0899] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0900] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0901] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0902] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0903] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0904] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0905] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0906] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0907] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0908] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0909] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0910] The system of this invention supports efficient ingredient management and cooking planning by recording ingredients in the refrigerator with photographs, proposing menus based on that information, and providing store information on ingredients that may be in short supply. This system is composed of three main components: the user, the terminal, and the server.
[0911] Program processing explanation
[0912] 1. The user takes a photo of the ingredients in the refrigerator
[0913] The user launches a dedicated cooking app installed on a smartphone or tablet, which includes a function to take photos of the inside of the refrigerator.
[0914] Users open the refrigerator door and use the camera to take a picture of the food inside, and the image is displayed in real time on the app, allowing users to check the quality of the shot.
[0915] Once the photo is taken, the app will save the image and move on to the next step.
[0916] 2. The device sends the image to the server
[0917] The saved images are sent from the device to a server using a secure communication method over the Internet.
[0918] The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[0919] 3. The server analyzes the image and recognizes the ingredients
[0920] The server analyzes the received images and runs image recognition algorithms that use machine learning models and other image processing techniques to identify individual ingredients within the images.
[0921] For example, the server identifies ingredients such as "tomato," "cheese," "lettuce," and "bacon" and registers their names in a list.
[0922] 4. The server generates an optimal menu based on the identified ingredients.
[0923] The server generates an optimal menu based on the identified list of ingredients and matches it with a recipe database, using algorithms to evaluate ingredient combinations and available recipes.
[0924] As a result, the server will suggest specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[0925] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0926] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, for example, detecting that an "egg" is missing for an omelet.
[0927] The server uses location information services to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the eggs that are in short supply can be purchased.
[0928] 6. The server sends the results to the user device
[0929] The server then compiles the final results, including the generated menu, a list of ingredients that are missing, and information on stores where the food can be purchased. This information is then sent to the user's terminal via the Internet.
[0930] Specific protocols are used for transmission to ensure accuracy and security of the data.
[0931] 7. The device displays the information to the user
[0932] Once the data is received, the device app interprets it and displays it in a user interface, allowing the user to plan their cooking accordingly.
[0933] Specifically, it displays detailed recipes for a tomato and lettuce salad and how to make a bacon and cheese omelet, and also provides information on nearby stores where you can purchase the eggs you are running low on.
[0934] Specific examples
[0935] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[0936] The device saves the captured image and sends it to a server, which analyzes the image and identifies each ingredient.
[0937] The server searches a recipe database based on the identified ingredients and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet." It also detects when "eggs" are in short supply and collects information on nearby convenience stores and supermarkets.
[0938] The final result is a generated menu, a list of missing ingredients, and information on where they can be purchased, all of which are sent to the user's device. The user can then review this information and proceed with meal preparation efficiently.
[0939] The processing flow will be explained below.
[0940] Step 1:
[0941] The user launches a cooking app and takes a photo of the inside of the refrigerator. The user uses the app's camera function to take a photo of the inside of the refrigerator and saves the image.
[0942] Step 2:
[0943] The device prepares the captured image file and sends it to the server over the Internet using a secure protocol (e.g., HTTPS).
[0944] Step 3:
[0945] The server analyzes the received image data and applies an image analysis algorithm (such as a machine learning model) to identify the objects in the image as ingredients. For example, it recognizes "tomato," "cheese," "lettuce," and "bacon."
[0946] Step 4:
[0947] The server generates a list of recognized ingredients, searches the recipe database based on the list, and extracts recipes that use the identified ingredients from the recipe database.
[0948] Step 5:
[0949] The server then suggests an appropriate menu based on the extracted recipe. For example, it might select "tomato and lettuce salad" or "bacon and cheese omelet." Based on the selected menu, it identifies any missing ingredients.
[0950] Step 6:
[0951] The server detects the shortage of ingredients (e.g., eggs) and collects information about nearby stores based on the user's location. Using location information services, it creates a list of stores that carry the ingredients.
[0952] Step 7:
[0953] The server compiles the listed store information and sends it to the user's terminal along with the generated menu and a list of ingredients that are in short supply. The transmission is done using a secure communication method.
[0954] Step 8:
[0955] The device analyzes the data received from the server and displays it on the app's user interface. The user can use the displayed menu, missing ingredients, and information on nearby stores to efficiently shop and prepare meals.
[0956] Specific examples
[0957] 1. The user launches the app and takes a photo of the inside of the refrigerator.
[0958] 2. The device sends the image to the server.
[0959] 3. The server analyzes the image and recognizes "tomato," "cheese," "lettuce," and "bacon."
[0960] 4. The server searches for recipes based on the ingredients list and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet."
[0961] 5. The server detects the missing "eggs."
[0962] 6. The server uses location information to collect information about nearby supermarkets and convenience stores.
[0963] 7. The server sends the final result to the user terminal.
[0964] 8. The terminal displays the information, and the user confirms it and makes a purchase.
[0965] Example 1
[0966] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0967] In modern households, efficiently managing ingredients in the refrigerator and planning daily meals while reducing waste are major challenges. Conventional methods require manually checking ingredients and planning meals, which takes time and effort and is prone to food waste. It is also difficult to identify ingredients that are in short supply and quickly find a supplier. To address these challenges, the present invention provides a system that automatically manages ingredients in the refrigerator and provides efficient meal planning suggestions and purchasing information for ingredients that are in short supply.
[0968] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0969] In this invention, the server includes a means for acquiring images of the contents of the refrigerator, a means for analyzing the acquired images to identify ingredients, a means for generating an optimal menu based on the identified ingredients, a means for detecting ingredients needed for the generated menu that are in short supply, a means for providing information on nearby stores where the detected ingredients can be purchased, and a means for transmitting data including the menu generated based on the identified ingredients to a user terminal. This allows the user to efficiently manage ingredients in the refrigerator and quickly decide on a menu while reducing waste. It also allows the user to quickly identify ingredients that are in short supply and make a purchasing plan based on information on nearby stores.
[0970] The "means for acquiring images of the inside of the refrigerator" refers to a means for taking a photograph of the food items placed inside the refrigerator using a camera or smartphone and acquiring the image data.
[0971] "Means for analyzing the acquired image and identifying ingredients" refers to algorithms or software that analyze the acquired image data, identify the ingredients shown inside, and identify each ingredient.
[0972] "Means for generating optimal menus based on identified ingredients" refers to algorithms or programs for searching for optimal recipes from a database based on identified ingredient information and proposing menus.
[0973] "Means for detecting missing ingredients for the generated menu" refers to algorithms or software for comparing ingredients required for the generated menu with ingredients already present in the refrigerator and identifying missing ingredients.
[0974] The "means for providing information on nearby stores where the detected shortage of ingredients can be purchased" refers to a service or program for collecting and providing information on the nearest stores where the detected shortage of ingredients can be purchased.
[0975] "Means for transmitting data including a menu generated based on identified ingredients to a user terminal" refers to communication means or protocols for transmitting identified ingredient information and menu information generated based on it to a terminal such as a user's smartphone or tablet.
[0976] This invention relates to a system that records the ingredients in a refrigerator with photos, suggests menus based on that information, and provides store information on ingredients that are in short supply. This system is composed of three main components: a user, a terminal, and a server.
[0977] System Overview
[0978] 1. The user takes a photo of the ingredients in the refrigerator
[0979] The user uses a dedicated cooking app installed on a smartphone or tablet. This app includes a function to take photos of the inside of the refrigerator. Specifically, this app is called a "recipe support app."
[0980] When a user launches the app and taps the "Fridge Photo" button, the camera screen opens. The user opens the refrigerator door and uses the camera to take a photo of the food inside. The camera image is displayed in real time on the app, allowing the user to check the quality of the photo. Once the photo is taken, the app saves the image and proceeds to the next step.
[0981] 2. The device sends the image to the server
[0982] The saved image is sent from the device to the server. The user taps the "Send Image" button in the app to send the image to the server. A secure communication method (e.g., SSL / TLS) over the Internet is used for transmission.
[0983] The image data is sent using an HTTP POST request. The server receives the request and begins processing the image.
[0984] 3. The server analyzes the image and recognizes the ingredients
[0985] The server then runs image recognition algorithms using machine learning models and other image processing techniques to analyze the received images, using machine learning frameworks such as TensorFlow and PyTorch.
[0986] The server identifies each ingredient in the image and registers its name in a textual list, such as "tomato," "cheese," "lettuce," and "bacon."
[0987] 4. The server generates an optimal menu based on the identified ingredients.
[0988] The server generates optimal menus based on the identified list of ingredients and compares them with a recipe database stored in a MySQL database, using algorithms that evaluate ingredient combinations and available recipes.
[0989] The server generates menu items such as "tomato and lettuce salad" or "bacon and cheese omelet" based on the identified ingredients, taking into account the user's past preference data.
[0990] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[0991] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, e.g., it detects that an omelet needs "eggs."
[0992] The server uses the Google Maps API to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the missing ingredients can be purchased.
[0993] 6. The server sends the results to the user device
[0994] The server then sends the final results, including the generated menu, a list of missing ingredients, and information about stores where the food can be purchased, to the user's device. Data is sent in JSON format via a RESTful API. SSL / TLS protocol is used to ensure data accuracy and security.
[0995] 7. The device displays the information to the user
[0996] Upon receiving the transmitted data, the device app interprets it and displays it in a user interface. The device app provides a rich UI using HTML5 and CSS3, and is designed to be easy for users to operate.
[0997] In the app's "Today's Menu" section, users can find detailed recipes for a tomato and lettuce salad or a bacon and cheese omelet, and a map will show them nearby stores where they can buy eggs if they're running low.
[0998] Specific examples
[0999] A user launches a cooking app and takes a photo of the inside of a refrigerator, which contains tomatoes, cheese, lettuce, and bacon.
[1000] The device saves the captured image and sends it to the server. Specifically, when the user taps the "Send Image" button, an HTTP POST request is sent to the server.
[1001] The server analyzes the received image, recognizes "tomato," "cheese," "lettuce," and "bacon," and then compares it with a recipe database to generate "tomato and lettuce salad" or "bacon and cheese omelette."
[1002] The server detects a shortage of the required "eggs" and uses the Google Maps API to gather information about nearby supermarkets where eggs can be purchased.
[1003] The final results are sent to the user's device in JSON format, and the user can check detailed recipes and store information where the food can be purchased within the app.
[1004] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1005] Step 1: User takes a photo of the ingredients in the refrigerator
[1006] Input: Ingredients in the refrigerator
[1007] Specific operation: The user launches a dedicated cooking application installed on a smartphone or tablet. This application includes a function for taking photos of the inside of the refrigerator using the camera. The user taps the "Photo in the refrigerator" button to open the camera screen. While checking the camera image displayed in real time, the user takes a photo of the ingredients in the refrigerator. Once the photo is taken, the application saves the image.
[1008] Output: Image file of the saved ingredients
[1009] Step 2: The device sends the image to the server
[1010] Input: Image file of saved ingredients
[1011] Specific operation: When the user taps the "Send Image" button, the device sends the saved image file to the server. A secure communication method (e.g., SSL / TLS) over the Internet is used for transmission. Specifically, the image data is sent to the server as an HTTP POST request.
[1012] Output: Image files of ingredients transferred to the server
[1013] Step 3: The server analyzes the image and recognizes the ingredients
[1014] Input: Image files of ingredients transferred to the server
[1015] How it works: The server uses machine learning models and image processing algorithms to analyze the received image data. This analysis is performed using machine learning frameworks such as TensorFlow and PyTorch. The image recognition algorithm identifies each ingredient in the image and registers their name in a textual list.
[1016] Output: List of identified ingredients (e.g. "tomato", "cheese", "lettuce", "bacon")
[1017] Step 4: The server generates an optimal menu based on the identified ingredients.
[1018] Input: Identified ingredient list
[1019] How it works: The server compares the identified ingredient list with a recipe database stored in a MySQL database. It uses an algorithm to evaluate ingredient combinations and available recipes. The server generates an optimal menu, taking into account past user preference data.
[1020] Output: Generated menu list (e.g., "Tomato and lettuce salad" or "Bacon and cheese omelette")
[1021] Step 5: The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[1022] Input: Generated menu list
[1023] Specific operation: The server compares all ingredients required for the generated menu with the list of ingredients already identified and identifies any missing ingredients. For example, it detects that "eggs" required for a "bacon and cheese omelet" are missing. The server uses the Google Maps API to collect information about nearby stores based on the user's current location. This allows it to identify stores where the missing ingredients can be purchased.
[1024] Output: List of ingredients in short supply and nearby store information
[1025] Step 6: The server sends the results to the user device
[1026] Input: Generated menu list, list of ingredients needed, nearby store information
[1027] Specific operation: The server compiles the final results: the generated menu, a list of missing ingredients, and information on stores where the food can be purchased. This information is sent to the user's device in JSON format via a RESTful API. The SSL / TLS protocol is used to ensure the accuracy and security of the data.
[1028] Output: Menu, list of ingredients in short supply, and store information sent to the user's terminal
[1029] Step 7: The device displays the information to the user
[1030] Input: Submitted menu, list of ingredients needed, store information
[1031] How it works: The user device interprets the received data and displays it in the user interface of a dedicated cooking application. A rich UI using HTML5 and CSS3 is provided, and users can check detailed recipes and cooking instructions in the "Today's Menu" section, as well as information on nearby stores where they can purchase missing ingredients.
[1032] Output: Menu information, missing ingredients information, store information displayed to the user
[1033] (Application example 1)
[1034] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1035] Conventional food management systems record ingredients in the refrigerator and suggest menus, but the process of purchasing missing ingredients is complicated, taking up time and effort for users. Furthermore, there is no way to immediately purchase missing ingredients, so users have to go shopping. This makes it difficult for users to efficiently manage ingredients and plan cooking.
[1036] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1037] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for providing the detected missing ingredients as a purchasing source, and means for arranging delivery of the detected missing ingredients, thereby enabling the user to simplify the purchasing procedure for missing ingredients and arrange for the missing ingredients to be delivered immediately.
[1038] "Means for acquiring images of the inside of the refrigerator" refers to a device or software for taking a photograph of the inside of the refrigerator using a smartphone or other camera and acquiring the image data.
[1039] The "means for analyzing the acquired image and identifying ingredients" refers to a system or algorithm that uses image analysis technology to analyze the captured image of the inside of the refrigerator and recognize the ingredients that appear in the image.
[1040] The "means for generating an optimal menu based on identified ingredients" refers to a system or algorithm that uses a recipe database stored on a server to suggest an appropriate menu of dishes based on identified ingredients.
[1041] The "means for detecting missing ingredients for the generated menu" is a system that lists all ingredients required for the proposed menu and automatically detects ingredients that are not in the refrigerator.
[1042] The "means for providing information on nearby stores as a place to purchase the detected missing ingredients" is a system that searches for and provides information on nearby stores based on the user's current location in order to purchase the missing ingredients.
[1043] The "means for arranging delivery of detected missing ingredients" is a system or program that automatically arranges for delivery of the missing ingredients from a nearby store to the user's home.
[1044] The "means for transmitting to the user terminal" is a communication system for transmitting the ingredient information analyzed by the server and the proposed menu information to the user's smartphone or tablet via the Internet.
[1045] This invention provides a system that records the ingredients in a refrigerator with photos, suggests menus based on that information, and arranges for delivery of any ingredients that are missing. This system is composed of three main components: the user, the terminal, and the server.
[1046] 1. Program processing explanation
[1047] The user takes a photo of the ingredients in the refrigerator. They launch a dedicated cooking app installed on their smartphone or tablet and use the function to take a photo of the ingredients in the refrigerator. The captured image is saved on the device and sent to the server.
[1048] The device sends the captured image to the server using a secure communication method over the Internet, such as an HTTP POST request.
[1049] The server analyzes the image and uses image recognition algorithms (e.g., TensorFlow or YOLO) to recognize ingredients, such as "tomato," "cheese," "lettuce," and "bacon."
[1050] The server uses an algorithm that matches the identified ingredients with a recipe database to generate an optimal menu, resulting in specific suggestions such as "tomato and lettuce salad" or "bacon and cheese omelette."
[1051] The server detects missing ingredients for the generated menu, then uses a location information service to collect information about nearby restaurants based on the user's current location, and then uses a delivery service (an example API would be a general delivery service API) to arrange for the delivery of the missing ingredients.
[1052] 2. Hardware and Software
[1053] Hardware: Smartphones, tablets, and devices with communication capabilities.
[1054] Software: A dedicated application to take pictures of the inside of the refrigerator, image recognition algorithms used on the server (TensorFlow, YOLO, etc.), a recipe database, and APIs for location services and delivery services.
[1055] 3. Specific usage examples
[1056] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[1057] The device saves the captured image and sends it to the server.
[1058] The server analyzes the image and identifies each ingredient, such as "tomato," "cheese," "lettuce," and "bacon."
[1059] The server compares the identified ingredients with a recipe database and suggests dishes such as "tomato and lettuce salad" or "bacon and cheese omelet." It also detects missing ingredients such as "eggs."
[1060] The server collects information about nearby stores for the missing eggs and arranges for the eggs to be delivered through a delivery service.
[1061] 4. Examples of prompts
[1062] A user takes a photo of the contents of their refrigerator using a smartphone app and sends it to a server. The server uses TensorFlow to analyze the image and create an ingredient list. Next, the server should compare it with a recipe database to suggest the optimal meal. Furthermore, the server should list the ingredients needed and those missing, and explain the steps to order the missing ingredients using the API of a popular delivery service.
[1063] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1064] Step 1:
[1065] The user takes a photo of the ingredients in the refrigerator.
[1066] Input: An image of the inside of a refrigerator taken by a smartphone or tablet camera.
[1067] How it works: The user launches the dedicated application and presses the "Take a photo of the refrigerator" button to take a photo.
[1068] Output: The captured image of the food in the refrigerator is saved on the device.
[1069] Step 2:
[1070] The device sends the captured image to the server.
[1071] Input: Stored images of food items in the refrigerator.
[1072] How it works: The device sends the captured image to a server over the Internet using protocols such as HTTP POST requests.
[1073] Output: Image of the inside of the refrigerator sent to the server.
[1074] Step 3:
[1075] The server analyzes the image and recognizes the ingredients.
[1076] Input: An image of the inside of a refrigerator sent to the server.
[1077] How it works: The server analyzes the received image using an image recognition algorithm (e.g., TensorFlow or YOLO). As a result, it identifies each individual ingredient in the image.
[1078] Output: A list of identified ingredients (e.g. "tomato", "cheese", "lettuce", and "bacon" are added to the list).
[1079] Step 4:
[1080] The server generates an optimal menu based on the identified ingredients.
[1081] Input: A list of identified ingredients.
[1082] How it works: The server compares the recipe database and suggests the best recipes based on the input ingredients list. It uses algorithms to evaluate ingredient combinations and cooking methods to generate an appropriate menu.
[1083] Output: Suggested meal (e.g., "Tomato and lettuce salad", "Bacon and cheese omelette").
[1084] Step 5:
[1085] The server detects missing ingredients needed for the generated menu.
[1086] Input: A list of proposed meals and identified ingredients.
[1087] Action: The server compares these lists to find ingredients needed for the proposed meal that are not present in the identified ingredient list.
[1088] Output: A list of ingredients that are in short supply (e.g., "Eggs" is added to the list as being in short supply).
[1089] Step 6:
[1090] The server provides information on nearby stores where to purchase ingredients that are in short supply and arranges delivery.
[1091] Input: A list of ingredients that are in short supply and the user's current location.
[1092] How it works: The server uses location services to find nearby restaurants based on the user's current location, and also uses the delivery service's API to order the missing ingredients and arrange for delivery to the user's home.
[1093] Output: Information on where to purchase the missing ingredients and delivery arrangements.
[1094] Step 7:
[1095] The server sends the results to the user terminal.
[1096] Input: Suggested menu, missing ingredient list, supplier and delivery arrangement information.
[1097] How it works: All results are sent to the user's device via the Internet.
[1098] Output: The results displayed on the user's device (menu, missing ingredients, purchasing and delivery information).
[1099] Step 8:
[1100] The terminal displays the information to the user.
[1101] Input: The final result data sent from the server.
[1102] How it works: A dedicated application analyzes the final results and displays them in a user interface, where users can view menu details, where to purchase missing ingredients, and delivery information.
[1103] Output: Specific cooking plans and purchasing information presented to the user.
[1104] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1105] The system of the present invention records the ingredients in the refrigerator with photos, suggests menus based on that information, and provides store information for ingredients that are missing. Furthermore, the system incorporates an emotion engine that recognizes the user's emotions, allowing it to adjust menus and select recommended recipes based on the user's emotional state.
[1106] Program processing explanation
[1107] 1. The user takes a photo of the ingredients in the refrigerator
[1108] The user launches a dedicated cooking app installed on a smartphone or tablet, which includes a function to take a photo of the inside of the refrigerator.
[1109] Users open the refrigerator door and use the camera to take a picture of the food inside, and the image is displayed in real time on the app, allowing users to check the quality of the shot.
[1110] Once the photo is taken, the app will save the image and move on to the next step.
[1111] 2. The device sends the image to the server
[1112] The saved image is sent from the device to the server using a secure communication method over the Internet (e.g., HTTPS).
[1113] The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[1114] 3. The server analyzes the image and recognizes the ingredients
[1115] The server analyzes the received image data and runs image recognition algorithms that use machine learning models and other image processing techniques to identify individual ingredients within the image.
[1116] For example, the server identifies ingredients such as "tomato," "cheese," "lettuce," and "bacon" and registers their names in a list.
[1117] 4. The server generates an optimal menu based on the identified ingredients.
[1118] The server generates an optimal menu based on the identified list of ingredients and matches it with a recipe database, using algorithms to evaluate ingredient combinations and available recipes.
[1119] As a result, the server will suggest specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[1120] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[1121] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, for example, detecting that an "egg" is missing for an omelet.
[1122] The server uses location information services to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the eggs are available.
[1123] 6. The server recognizes the user's emotions
[1124] The app is equipped with an emotion engine that recognizes the user's emotions. It reads the user's facial expressions through the camera within the app and performs emotion analysis.
[1125] This emotional data is sent to the server, which then adjusts the menu and recipe suggestions based on the user's emotional state.
[1126] 7. The server sends the results to the user device.
[1127] The server then compiles the final results, including the generated menu, a list of ingredients that are missing, and adjustment information based on the store where the food is available and the user's emotional state. This information is then sent to the user's device via the Internet.
[1128] Specific protocols are used for transmission to ensure accuracy and security of the data.
[1129] 8. The device displays information to the user
[1130] Once the data is received, the device app interprets it and displays it in a user interface, allowing the user to plan their cooking accordingly.
[1131] Specifically, the app displays recipe details for a tomato and lettuce salad, instructions for making a bacon and cheese omelet, and information on nearby stores where you can purchase eggs if you are running low. It also displays suggested recipes and warnings based on the user's emotional state.
[1132] Specific examples
[1133] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[1134] The device saves the captured image and sends it to a server, which analyzes the image and identifies each ingredient.
[1135] The server searches a recipe database based on the identified ingredients and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet." It also detects when "eggs" are in short supply and collects information on nearby supermarkets and convenience stores.
[1136] In addition, the server recognizes the user's emotions and makes adjustments based on their emotional state, such as suggesting quick and easy recipes if they are in a "high stress" state.
[1137] The final result is sent to the device as information including the generated menu, a list of missing ingredients, store availability information, and emotion-based adjustments, allowing the user to review this information and efficiently prepare meals.
[1138] The processing flow will be explained below.
[1139] Step 1:
[1140] The user launches a cooking app and takes a photo of the inside of the refrigerator. The user uses the app's camera function to take a photo of the inside of the refrigerator and saves the image.
[1141] Step 2:
[1142] The device prepares the captured image file and sends it to the server over the Internet using a secure protocol (e.g., HTTPS).
[1143] Step 3:
[1144] The server analyzes the received image data and applies an image analysis algorithm (such as a machine learning model) to identify the objects in the image as ingredients. For example, it recognizes "tomato," "cheese," "lettuce," and "bacon."
[1145] Step 4:
[1146] The server generates a list of recognized ingredients, searches the recipe database based on the list, and extracts recipes that use the identified ingredients from the recipe database.
[1147] Step 5:
[1148] The server then suggests an appropriate menu based on the extracted recipe. For example, it might select "tomato and lettuce salad" or "bacon and cheese omelet." Based on the selected menu, it identifies any missing ingredients.
[1149] Step 6:
[1150] The server detects the shortage of ingredients (e.g., eggs) and collects information about nearby stores based on the user's location. Using location information services, it creates a list of stores that carry the ingredients.
[1151] Step 7:
[1152] The server recognizes the user's emotional state. It uses an emotion engine to analyze the user's facial expression data and identify emotions such as "high stress" or "relaxed." It then generates data based on the user's emotions.
[1153] Step 8:
[1154] The server adjusts recipes and menus based on the user's emotional data. For example, if the user is in a "high stress" state, it will prioritize recipes that are quick and easy to prepare.
[1155] Step 9:
[1156] The server sends the adjusted menu, a list of ingredients that are in short supply, and information about stores where the ingredients can be purchased to the user terminal using a secure communication method.
[1157] Step 10:
[1158] The device analyzes the data received from the server and displays it on the app's user interface. The user can use the displayed menu, missing ingredients, and information on nearby stores to efficiently shop and prepare meals.
[1159] Specific examples
[1160] 1. The user launches the app and takes a photo of the inside of the refrigerator.
[1161] 2. The device sends the image to the server.
[1162] 3. The server analyzes the image and recognizes "tomato," "cheese," "lettuce," and "bacon."
[1163] 4. The server searches for recipes based on the ingredients list and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet."
[1164] 5. The server detects the missing "eggs."
[1165] 6. The server uses location information to collect information about nearby supermarkets and convenience stores.
[1166] 7. The server uses the emotion engine to recognize the user's emotional state.
[1167] 8. The server adjusts the recipe based on the user's emotional state.
[1168] 9. The server sends the final result to the user terminal.
[1169] 10. The terminal displays the information, and the user confirms it and makes a purchase.
[1170] Example 2
[1171] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1172] Conventional menu suggestion systems based on ingredients in the refrigerator can identify ingredients and generate menus, but they are inadequate when ingredients necessary for the actual menu are lacking. Furthermore, they often make suggestions without considering the user's emotional state. This results in a decrease in user satisfaction and a loss of system usability. Another problem is that complicated recipes are suggested when the user is feeling stressed.
[1173] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1174] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, means for providing information on nearby stores where the detected missing ingredients can be purchased, means for analyzing the user's emotions and adjusting the menu based on the user's emotional state, and means for transmitting the generated menu, the list of ingredients that are missing, store information, and adjustment information based on the user's emotional state to a user terminal. This not only enables the user to make the most of the ingredients they have and quickly obtain the necessary ingredients, but also enables the server to suggest an appropriate menu based on the user's emotional state.
[1175] The "means for acquiring images of the inside of the refrigerator" refers to the camera and application functions that allow the user to take pictures of the inside of the refrigerator and acquire the image data.
[1176] The "means for analyzing the acquired image to identify ingredients" refers to an image recognition algorithm and associated machine learning model for analyzing the acquired image data and identifying the ingredients contained therein.
[1177] The "means for generating optimal menus" is an algorithm that suggests optimal dish combinations that utilize the identified ingredients.
[1178] The "means for detecting missing ingredients" is a process for comparing all ingredients required for the generated menu with ingredients that have already been identified, and identifying any missing ingredients.
[1179] The "means for providing nearby store information" refers to a location information service and database access means for identifying nearby stores where the missing ingredients can be purchased and providing the user with that information.
[1180] The "means for analyzing the user's emotions" is an emotion recognition engine that reads the user's facial expressions through a camera and analyzes their emotional state based on that data.
[1181] The "means for adjusting menus based on emotional state" is an algorithm for adjusting suggested menus and recipes based on the analyzed emotional data of the user.
[1182] "Means for sending to the user terminal" refers to the communication means and protocol for sending the information generated by the server to the user's smartphone or tablet.
[1183] The system of the present invention records the ingredients in the refrigerator with photos, suggests menus based on that information, and provides store information for ingredients that are missing. Furthermore, the system incorporates an emotion engine that recognizes the user's emotions, allowing it to adjust menus and select recommended recipes based on the user's emotional state.
[1184] This system is operated primarily through a dedicated application installed on the user's smartphone or tablet and a server connected via the Internet. Details of each piece of hardware and software are described below.
[1185] First, the user launches a dedicated cooking app installed on a smartphone or tablet. This app includes a function for taking photos of the inside of the refrigerator. The user opens the refrigerator door and uses the camera to take a photo of the ingredients inside. The camera image is displayed in real time in the app, allowing the user to check the quality of the photo. Once the photo is taken, the app saves the image and proceeds to the next step. The saved image is sent from the device to the server. A secure communication method using the Internet (e.g., HTTPS) is used for transmission. The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[1186] The server then analyzes the image and recognizes the ingredients. The server runs an image recognition algorithm to analyze the received image data. This algorithm uses machine learning models (such as TensorFlow or PyTorch) and other image processing techniques to identify individual ingredients in the image. For example, the server might identify ingredients such as "tomato," "cheese," "lettuce," and "bacon" and register their names in a list.
[1187] The server then generates an optimal menu based on the identified ingredients. The server generates the optimal menu based on the list of identified ingredients by matching it with a recipe database. This is done using algorithms to evaluate ingredient combinations and available recipes. As a result, the server suggests specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[1188] Furthermore, the server detects any missing ingredients required for the generated menu and collects information about nearby stores. The server compares all ingredients required for the generated menu with the ingredients already identified to identify any missing ingredients. For example, it detects that there are missing "eggs" for an omelet. The server uses location services (e.g., Google Maps API) to collect information about nearby stores based on the user's current location. This identifies stores where the missing "eggs" can be purchased and creates a list.
[1189] The emotion engine is also an important element of the system. The app is equipped with an emotion engine that recognizes the user's emotions. It reads the user's facial expressions through the camera within the app and performs emotion analysis. This emotion data is sent to the server, which then adjusts the menu and recipe suggestions based on the user's emotional state. For example, if the user is feeling stressed, the app can suggest simple and easy recipes.
[1190] Finally, the server sends the generated menu, a list of ingredients that are in short supply, information on stores where ingredients can be purchased, and adjustment information based on the user's emotional state to the user's device. This information is displayed to the user through a user interface, allowing the user to plan meals and efficiently procure ingredients.
[1191] Specific examples
[1192] A specific example of how this works is shown below. A user launches a cooking app and takes a photo of the contents of their refrigerator. For example, the refrigerator contains tomatoes, cheese, lettuce, and bacon. The device saves the image and sends it to the server. The server analyzes the image and identifies each ingredient. Based on the identified ingredients, the server searches a recipe database and suggests options such as a tomato and lettuce salad or a bacon and cheese omelet. The server also detects any missing eggs and collects information about nearby supermarkets and convenience stores. The server then recognizes the user's emotions and makes adjustments based on their emotional state. For example, if the user is in a "high stress" state, it suggests a quick and easy recipe. The final result is sent to the device as information including the generated menu, a list of missing ingredients, information about available stores, and adjustments based on the user's emotions. The user can review this information and efficiently proceed with meal preparation.
[1193] Prompt Sentence Examples
[1194] I want to plan a meal based on the ingredients in my refrigerator. I have tomatoes, lettuce, cheese, and bacon in my refrigerator. I'd like to have a meal suggestion based on these ingredients. I'd also like to know where to buy ingredients if I'm running low on them.
[1195] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1196] Step 1:
[1197] The user takes a photo of the food in the refrigerator.
[1198] Input: User initiates a photo of the inside of the refrigerator.
[1199] What happens: The user launches a dedicated cooking app installed on their smartphone or tablet, opens the refrigerator door, and takes a photo of the ingredients inside. The image from the camera is displayed in real time on the app, allowing the user to check the quality of the photo.
[1200] Output: The image of the inside of the refrigerator is saved on the device.
[1201] Specific operation: The user taps the "Shoot" button in the app, points the camera at the refrigerator, and presses the "Shutter" button. The captured image is saved on the device.
[1202] Step 2:
[1203] The device sends the image to the server.
[1204] Input: A stored image of the inside of a refrigerator.
[1205] What happens: The device retrieves the stored image and sends it to the server using a secure connection over the Internet (e.g., HTTPS). The image data is sent via an HTTP POST request.
[1206] Output: The image data is sent to the server.
[1207] What happens: The app initiates a background connection to the server, attaches the image data to an HTTP POST request, and sends it to the server's API endpoint.
[1208] Step 3:
[1209] The server analyzes the image and recognizes the ingredients.
[1210] Input: Image data of the inside of the refrigerator sent to the server.
[1211] What it does: The server runs machine learning models and image recognition algorithms to analyze the received image data and identify individual ingredients. For example, it uses Python libraries and machine learning models for image analysis (e.g., TensorFlow and PyTorch).
[1212] Output: A list of parsed ingredients. For example, "tomato," "cheese," "lettuce," and "bacon" are registered in the list.
[1213] What it does: The server runs an image analysis algorithm to detect and label ingredients in the image, then stores them in a database.
[1214] Step 4:
[1215] The server generates an optimal menu based on the identified ingredients.
[1216] Input: A list of parsed ingredients.
[1217] What happens: The server generates an optimal menu based on the identified ingredients list and a recipe database, using algorithms that evaluate ingredient combinations and available recipes.
[1218] Output: A list of generated dishes. For example, "Tomato and lettuce salad" or "Bacon and cheese omelette" are generated.
[1219] Specific operation: The server sends the ingredient list as a query to the recipe database, retrieves candidate recipes, and selects the optimal menu.
[1220] Step 5:
[1221] The server detects the shortage of ingredients required for the generated menu and collects information on nearby stores.
[1222] Input: A list of generated meals and a list of ingredients already identified.
[1223] What happens: The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients. For missing ingredients, the server collects nearby restaurant information based on the user's current location (e.g., Google Maps API).
[1224] Output: A list of ingredients that are in short supply and a list of nearby stores where they can be purchased. For example, if there is a shortage of eggs, information on nearby supermarkets and convenience stores where they can be purchased will be provided.
[1225] Specific operation: The server makes a list of ingredients that are in short supply, and uses location information services to obtain and list information about the nearest stores.
[1226] Step 6:
[1227] The server recognizes the user's emotions.
[1228] Input: User facial expression data from the app.
[1229] What it does: The app captures the user's facial expressions through the camera, and the emotion recognition engine analyzes the data. This emotion data is sent to a server, which analyzes the user's emotional state (e.g., Microsoft Azure's Emotion API).
[1230] Output: User's emotional state data. For example, the emotional state is "high stress."
[1231] What it does: The app captures the user's facial expressions, and the emotion recognition engine analyzes the facial expression data to identify their emotional state, which is then sent to the server.
[1232] Step 7:
[1233] The server sends the result to the user terminal.
[1234] Input: Generated menu, missing ingredient list, available store information, and emotional state data.
[1235] What happens: The server compiles the final results and sends them to the user's smartphone or tablet over the internet using a secure protocol (e.g. HTTPS).
[1236] Output: Sending the final result data to the user's terminal.
[1237] Specific operation: The server compiles all information as JSON format data and sends it to the user's device via an HTTP POST request.
[1238] Step 8:
[1239] The terminal displays the information to the user.
[1240] Input: The final result data sent from the server.
[1241] What happens: The device app interprets the received data and displays it in a user interface, allowing the user to plan a meal based on this information.
[1242] Output: Recipe details, purchasing information for missing ingredients, and emotion-based adjustment information.
[1243] What it does: The app parses the JSON data and displays it as a layout on the screen. For example, it displays details of a tomato and lettuce salad recipe, information about nearby stores where you can buy the eggs you are running low on, and recipes and notes based on the user's emotional state.
[1244] Through the above processing steps, the system of the present invention realizes the user's ingredient utilization, menu suggestions, and even adjustments based on the user's emotional state.
[1245] (Application example 2)
[1246] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1247] Conventional food management systems are limited to recording ingredients in the refrigerator and proposing menus, which means they cannot flexibly suggest meals according to the user's emotional state.Furthermore, they are limited to providing information on where to purchase ingredients when they are in short supply, and do not allow for delivery services.
[1248] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1249] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, means for providing information on nearby stores where the detected missing ingredients can be purchased, means for analyzing an image of the user's facial expression to identify the user's emotional state, means for adjusting the menu based on the identified emotional state, and means for providing the missing ingredients via a delivery service. This allows for flexible menu suggestions based on the user's emotional state, and also enables the purchase of missing ingredients via a delivery service.
[1250] "Means for capturing images inside the refrigerator" refers to a device or method for electronically capturing images of food items inside the refrigerator.
[1251] The "means for analyzing the acquired image and identifying ingredients" refers to an algorithm or program for identifying ingredients contained in the acquired image data based on the acquired image data.
[1252] "Means for generating optimal menus based on identified ingredients" refers to a system or method for using recognized ingredient information to suggest optimal dishes or meal menus.
[1253] "Means for detecting ingredients that are missing from the generated menu" refers to a function or method for identifying ingredients that are missing from the user's refrigerator based on the generated menu.
[1254] "Means for providing information on nearby stores where the detected missing ingredients can be purchased" refers to a system or method for providing information on nearby stores or sales locations where the detected missing ingredients can be purchased based on the user's location information.
[1255] "Means for analyzing a user's facial expression image to identify their emotional state" refers to algorithms or techniques for analyzing an image of a user's face and determining their emotional state.
[1256] A "means for adjusting a menu based on an identified emotional state" refers to a program or approach for suggesting or modifying an appropriate menu in line with a user's emotional state.
[1257] "Means for providing missing ingredients through a delivery service" refers to a system or process for delivering missing ingredients needed by a user through an affiliated delivery service.
[1258] The system of the present invention captures images of the inside of a refrigerator, analyzes the images to identify ingredients, and generates an optimal menu. It also detects ingredients that are missing from the generated menu and provides information on nearby stores where the detected missing ingredients can be purchased. It also has a function to analyze the user's emotions and adjust the menu based on their emotional state.
[1259] Hardware and software used
[1260] server:
[1261] Image analysis: YOLOv5 (pre-annotated food classification model)
[1262] Emotion analysis: FER (Facial Emotion Recognition) library
[1263] Menu Generation: Custom Algorithms Using Python
[1264] Location services: External API (e.g. Google Maps API)
[1265] User device:
[1266] Photo function: Use the camera function of your smartphone or tablet
[1267] Application: A dedicated cooking support app (Flask backend, React Native frontend)
[1268] Specific operation of the system
[1269] 1. Image acquisition and transmission:
[1270] The user uses the camera function of the device to take a picture of the food in the refrigerator. The taken image is sent to the server via the application. The transmission is via the Internet using a secure communication method (HTTPS).
[1271] 2. Image analysis and ingredient identification:
[1272] The server analyzes the received image and identifies the ingredients using YOLOv5. A list of recognized ingredients is generated and used to generate dish suggestions.
[1273] 3. Menu Generation:
[1274] Based on the list of ingredients, the server suggests the best dishes from an existing recipe database, using a custom Python algorithm to generate the menu.
[1275] 4. Detecting missing ingredients and providing store information:
[1276] The server compares all ingredients needed for the generated menu with ingredients already recognized and identifies any missing ingredients. The server uses location information services to collect and provide information about nearby stores based on the user's current location.
[1277] 5. Sentiment Analysis and Menu Adjustment:
[1278] The application captures the user's facial expressions with a camera and performs emotion analysis. It uses the FER library to identify the user's emotional state and sends this information to the server, which then adjusts the menu and recipe suggestions based on this emotional information.
[1279] Specific examples
[1280] The user takes a photo of the contents of the refrigerator and sends it through the application. The server analyzes the image and recognizes "tomato," "lettuce," "cheese," and "bacon." Based on these ingredients, the server suggests "tomato and lettuce salad" or "bacon and cheese omelet." It also identifies "eggs" that are in short supply and provides information about nearby supermarkets and convenience stores.
[1281] Furthermore, the app analyzes the user's facial expressions and suggests quick and easy meals if it determines that the user is in a "high stress" state. The app displays this information, allowing the user to efficiently prepare meals.
[1282] Prompt Sentence Examples
[1283] User: I took a photo of the inside of the refrigerator and sent it.
[1284] System: Recognizing ingredients... Recognized ingredients are "tomato, cheese, lettuce, bacon".
[1285] User: Analyze my emotional state.
[1286] System: Recognizing emotion...Current emotion is "High Stress."
[1287] System: Because stress levels are high, we suggest simple and easy recipes. Try "Tomato and Lettuce Salad" or "Bacon and Cheese Omelette." If you're running low on eggs, you can buy them at your local supermarket.
[1288] User: Order the ingredients you need for delivery.
[1289] System: Preparing delivery service... Your order is ready. Please confirm your delivery address.
[1290] In this way, it is possible to provide food suggestions and delivery services tailored to the user's situation.
[1291] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1292] Step 1:
[1293] The user takes a picture of the inside of the refrigerator
[1294] Input: The user takes a picture of the inside of the refrigerator using the device's camera function.
[1295] Specific operation: The user launches the dedicated app and uses the camera to take a photo of the food in the refrigerator. The captured image is saved in the app.
[1296] Output: Captured image data
[1297] Step 2:
[1298] The device sends the image to the server
[1299] Input: Saved image data
[1300] Specific operation: The device sends the captured image to the server via the Internet. The HTTPS protocol is used for transmission.
[1301] Output: Image data sent to the server
[1302] Step 3:
[1303] The server analyzes the image and identifies the ingredients.
[1304] Input: Image data sent to the server
[1305] Specific operation: The server analyzes the image using the YOLOv5 model and identifies the ingredients in the image. A list of identified ingredients is generated.
[1306] Output: List of ingredients
[1307] Step 4:
[1308] The server generates a menu based on the identified ingredients.
[1309] Input: List of ingredients
[1310] How it works: The server uses a Python algorithm to generate the optimal menu based on the ingredients available. It searches for available recipes from the recipe database.
[1311] Output: Suggested menu
[1312] Step 5:
[1313] The server detects missing ingredients for the generated menu and collects store information
[1314] Input: Generated menu, list of recognized ingredients
[1315] Specific operation: The server matches the ingredients required for the menu with the recognized ingredients and identifies any missing ingredients. It uses location services to collect information about nearby stores based on the user's current location.
[1316] Output: List of ingredients in short supply, information on nearby stores
[1317] Step 6:
[1318] The server recognizes the user's emotions and sends information
[1319] Input: User facial expression image
[1320] Specific operation: The user takes a picture of their facial expression with the device camera and sends it to the server. The server uses the FER library to analyze the facial image and identify the emotional state.
[1321] Output: User's emotional state
[1322] Step 7:
[1323] The server adjusts the menu based on the emotional state and sends the information to the user's terminal.
[1324] Input: User's emotional state, suggested menu, list of ingredients missing, nearby store information
[1325] Specific operation: The server adjusts the menu based on the user's emotional state and sends the final information (suggested menu, list of ingredients in short supply, information on nearby stores, and adjustments based on emotions) to the user's terminal via the Internet.
[1326] Output: Final information including adjusted menu, store information, etc.
[1327] Step 8:
[1328] The terminal displays the information to the user
[1329] Input: Final information sent from the server (adjusted menu, list of missing ingredients, store information, etc.)
[1330] Specific operation: The app on the user's device analyzes the received information and displays it on the user interface. The user then plans to prepare a meal based on this information.
[1331] Output: The final information shown to the user (adjusted menu, missing ingredients list, store information, etc.)
[1332] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1333] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1334] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1335] [Fourth embodiment]
[1336] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1337] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1338] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1339] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1340] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1341] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1342] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1343] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1344] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1345] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1346] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1347] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1348] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1349] The system of this invention supports efficient ingredient management and cooking planning by recording ingredients in the refrigerator with photographs, proposing menus based on that information, and providing store information on ingredients that may be in short supply. This system is composed of three main components: the user, the terminal, and the server.
[1350] Program processing explanation
[1351] 1. The user takes a photo of the ingredients in the refrigerator
[1352] The user launches a dedicated cooking app installed on a smartphone or tablet, which includes a function to take photos of the inside of the refrigerator.
[1353] Users open the refrigerator door and use the camera to take a picture of the food inside, and the image is displayed in real time on the app, allowing users to check the quality of the shot.
[1354] Once the photo is taken, the app will save the image and move on to the next step.
[1355] 2. The device sends the image to the server
[1356] The saved images are sent from the device to a server using a secure communication method over the Internet.
[1357] The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[1358] 3. The server analyzes the image and recognizes the ingredients
[1359] The server analyzes the received images and runs image recognition algorithms that use machine learning models and other image processing techniques to identify individual ingredients within the images.
[1360] For example, the server identifies ingredients such as "tomato," "cheese," "lettuce," and "bacon" and registers their names in a list.
[1361] 4. The server generates an optimal menu based on the identified ingredients.
[1362] The server generates an optimal menu based on the identified list of ingredients and matches it with a recipe database, using algorithms to evaluate ingredient combinations and available recipes.
[1363] As a result, the server will suggest specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[1364] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[1365] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, for example, detecting that an "egg" is missing for an omelet.
[1366] The server uses location information services to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the eggs that are in short supply can be purchased.
[1367] 6. The server sends the results to the user device
[1368] The server then compiles the final results, including the generated menu, a list of ingredients that are missing, and information on stores where the food can be purchased. This information is then sent to the user's terminal via the Internet.
[1369] Specific protocols are used for transmission to ensure accuracy and security of the data.
[1370] 7. The device displays the information to the user
[1371] Once the data is received, the device app interprets it and displays it in a user interface, allowing the user to plan their cooking accordingly.
[1372] Specifically, it displays detailed recipes for a tomato and lettuce salad and how to make a bacon and cheese omelet, and also provides information on nearby stores where you can purchase the eggs you are running low on.
[1373] Specific examples
[1374] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[1375] The device saves the captured image and sends it to a server, which analyzes the image and identifies each ingredient.
[1376] The server searches a recipe database based on the identified ingredients and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet." It also detects when "eggs" are in short supply and collects information on nearby convenience stores and supermarkets.
[1377] The final result is a generated menu, a list of missing ingredients, and information on where they can be purchased, all of which are sent to the user's device. The user can then review this information and proceed with meal preparation efficiently.
[1378] The processing flow will be explained below.
[1379] Step 1:
[1380] The user launches a cooking app and takes a photo of the inside of the refrigerator. The user uses the app's camera function to take a photo of the inside of the refrigerator and saves the image.
[1381] Step 2:
[1382] The device prepares the captured image file and sends it to the server over the Internet using a secure protocol (e.g., HTTPS).
[1383] Step 3:
[1384] The server analyzes the received image data and applies an image analysis algorithm (such as a machine learning model) to identify the objects in the image as ingredients. For example, it recognizes "tomato," "cheese," "lettuce," and "bacon."
[1385] Step 4:
[1386] The server generates a list of recognized ingredients, searches the recipe database based on the list, and extracts recipes that use the identified ingredients from the recipe database.
[1387] Step 5:
[1388] The server then suggests an appropriate menu based on the extracted recipe. For example, it might select "tomato and lettuce salad" or "bacon and cheese omelet." Based on the selected menu, it identifies any missing ingredients.
[1389] Step 6:
[1390] The server detects the shortage of ingredients (e.g., eggs) and collects information about nearby stores based on the user's location. Using location information services, it creates a list of stores that carry the ingredients.
[1391] Step 7:
[1392] The server compiles the listed store information and sends it to the user's terminal along with the generated menu and a list of ingredients that are in short supply. The transmission is done using a secure communication method.
[1393] Step 8:
[1394] The device analyzes the data received from the server and displays it on the app's user interface. The user can use the displayed menu, missing ingredients, and information on nearby stores to efficiently shop and prepare meals.
[1395] Specific examples
[1396] 1. The user launches the app and takes a photo of the inside of the refrigerator.
[1397] 2. The device sends the image to the server.
[1398] 3. The server analyzes the image and recognizes "tomato," "cheese," "lettuce," and "bacon."
[1399] 4. The server searches for recipes based on the ingredients list and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet."
[1400] 5. The server detects the missing "eggs."
[1401] 6. The server uses location information to collect information about nearby supermarkets and convenience stores.
[1402] 7. The server sends the final result to the user terminal.
[1403] 8. The terminal displays the information, and the user confirms it and makes a purchase.
[1404] Example 1
[1405] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1406] In modern households, efficiently managing ingredients in the refrigerator and planning daily meals while reducing waste are major challenges. Conventional methods require manually checking ingredients and planning meals, which takes time and effort and is prone to food waste. It is also difficult to identify ingredients that are in short supply and quickly find a supplier. To address these challenges, the present invention provides a system that automatically manages ingredients in the refrigerator and provides efficient meal planning suggestions and purchasing information for ingredients that are in short supply.
[1407] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1408] In this invention, the server includes a means for acquiring images of the contents of the refrigerator, a means for analyzing the acquired images to identify ingredients, a means for generating an optimal menu based on the identified ingredients, a means for detecting ingredients needed for the generated menu that are in short supply, a means for providing information on nearby stores where the detected ingredients can be purchased, and a means for transmitting data including the menu generated based on the identified ingredients to a user terminal. This allows the user to efficiently manage ingredients in the refrigerator and quickly decide on a menu while reducing waste. It also allows the user to quickly identify ingredients that are in short supply and make a purchasing plan based on information on nearby stores.
[1409] The "means for acquiring images of the inside of the refrigerator" refers to a means for taking a photograph of the food items placed inside the refrigerator using a camera or smartphone and acquiring the image data.
[1410] "Means for analyzing the acquired image and identifying ingredients" refers to algorithms or software that analyze the acquired image data, identify the ingredients shown inside, and identify each ingredient.
[1411] "Means for generating optimal menus based on identified ingredients" refers to algorithms or programs for searching for optimal recipes from a database based on identified ingredient information and proposing menus.
[1412] "Means for detecting missing ingredients for the generated menu" refers to algorithms or software for comparing ingredients required for the generated menu with ingredients already present in the refrigerator and identifying missing ingredients.
[1413] The "means for providing information on nearby stores where the detected shortage of ingredients can be purchased" refers to a service or program for collecting and providing information on the nearest stores where the detected shortage of ingredients can be purchased.
[1414] "Means for transmitting data including a menu generated based on identified ingredients to a user terminal" refers to communication means or protocols for transmitting identified ingredient information and menu information generated based on it to a terminal such as a user's smartphone or tablet.
[1415] This invention relates to a system that records the ingredients in a refrigerator with photos, suggests menus based on that information, and provides store information on ingredients that are in short supply. This system is composed of three main components: a user, a terminal, and a server.
[1416] System Overview
[1417] 1. The user takes a photo of the ingredients in the refrigerator
[1418] The user uses a dedicated cooking app installed on a smartphone or tablet. This app includes a function to take photos of the inside of the refrigerator. Specifically, this app is called a "recipe support app."
[1419] When a user launches the app and taps the "Fridge Photo" button, the camera screen opens. The user opens the refrigerator door and uses the camera to take a photo of the food inside. The camera image is displayed in real time on the app, allowing the user to check the quality of the photo. Once the photo is taken, the app saves the image and proceeds to the next step.
[1420] 2. The device sends the image to the server
[1421] The saved image is sent from the device to the server. The user taps the "Send Image" button in the app to send the image to the server. A secure communication method (e.g., SSL / TLS) over the Internet is used for transmission.
[1422] The image data is sent using an HTTP POST request. The server receives the request and begins processing the image.
[1423] 3. The server analyzes the image and recognizes the ingredients
[1424] The server then runs image recognition algorithms using machine learning models and other image processing techniques to analyze the received images, using machine learning frameworks such as TensorFlow and PyTorch.
[1425] The server identifies each ingredient in the image and registers its name in a textual list, such as "tomato," "cheese," "lettuce," and "bacon."
[1426] 4. The server generates an optimal menu based on the identified ingredients.
[1427] The server generates optimal menus based on the identified list of ingredients and compares them with a recipe database stored in a MySQL database, using algorithms that evaluate ingredient combinations and available recipes.
[1428] The server generates menu items such as "tomato and lettuce salad" or "bacon and cheese omelet" based on the identified ingredients, taking into account the user's past preference data.
[1429] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[1430] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, e.g., it detects that an omelet needs "eggs."
[1431] The server uses the Google Maps API to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the missing ingredients can be purchased.
[1432] 6. The server sends the results to the user device
[1433] The server then sends the final results, including the generated menu, a list of missing ingredients, and information about stores where the food can be purchased, to the user's device. Data is sent in JSON format via a RESTful API. SSL / TLS protocol is used to ensure data accuracy and security.
[1434] 7. The device displays the information to the user
[1435] Upon receiving the transmitted data, the device app interprets it and displays it in a user interface. The device app provides a rich UI using HTML5 and CSS3, and is designed to be easy for users to operate.
[1436] In the app's "Today's Menu" section, users can find detailed recipes for a tomato and lettuce salad or a bacon and cheese omelet, and a map will show them nearby stores where they can buy eggs if they're running low.
[1437] Specific examples
[1438] A user launches a cooking app and takes a photo of the inside of a refrigerator, which contains tomatoes, cheese, lettuce, and bacon.
[1439] The device saves the captured image and sends it to the server. Specifically, when the user taps the "Send Image" button, an HTTP POST request is sent to the server.
[1440] The server analyzes the received image, recognizes "tomato," "cheese," "lettuce," and "bacon," and then compares it with a recipe database to generate "tomato and lettuce salad" or "bacon and cheese omelette."
[1441] The server detects a shortage of the required "eggs" and uses the Google Maps API to gather information about nearby supermarkets where eggs can be purchased.
[1442] The final results are sent to the user's device in JSON format, and the user can check detailed recipes and store information where the food can be purchased within the app.
[1443] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1444] Step 1: User takes a photo of the ingredients in the refrigerator
[1445] Input: Ingredients in the refrigerator
[1446] Specific operation: The user launches a dedicated cooking application installed on a smartphone or tablet. This application includes a function for taking photos of the inside of the refrigerator using the camera. The user taps the "Photo in the refrigerator" button to open the camera screen. While checking the camera image displayed in real time, the user takes a photo of the ingredients in the refrigerator. Once the photo is taken, the application saves the image.
[1447] Output: Image file of the saved ingredients
[1448] Step 2: The device sends the image to the server
[1449] Input: Image file of saved ingredients
[1450] Specific operation: When the user taps the "Send Image" button, the device sends the saved image file to the server. A secure communication method (e.g., SSL / TLS) over the Internet is used for transmission. Specifically, the image data is sent to the server as an HTTP POST request.
[1451] Output: Image files of ingredients transferred to the server
[1452] Step 3: The server analyzes the image and recognizes the ingredients
[1453] Input: Image files of ingredients transferred to the server
[1454] How it works: The server uses machine learning models and image processing algorithms to analyze the received image data. This analysis is performed using machine learning frameworks such as TensorFlow and PyTorch. The image recognition algorithm identifies each ingredient in the image and registers their name in a textual list.
[1455] Output: List of identified ingredients (e.g. "tomato", "cheese", "lettuce", "bacon")
[1456] Step 4: The server generates an optimal menu based on the identified ingredients.
[1457] Input: Identified ingredient list
[1458] How it works: The server compares the identified ingredient list with a recipe database stored in a MySQL database. It uses an algorithm to evaluate ingredient combinations and available recipes. The server generates an optimal menu, taking into account past user preference data.
[1459] Output: Generated menu list (e.g., "Tomato and lettuce salad" or "Bacon and cheese omelette")
[1460] Step 5: The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[1461] Input: Generated menu list
[1462] Specific operation: The server compares all ingredients required for the generated menu with the list of ingredients already identified and identifies any missing ingredients. For example, it detects that "eggs" required for a "bacon and cheese omelet" are missing. The server uses the Google Maps API to collect information about nearby stores based on the user's current location. This allows it to identify stores where the missing ingredients can be purchased.
[1463] Output: List of ingredients in short supply and nearby store information
[1464] Step 6: The server sends the results to the user device
[1465] Input: Generated menu list, list of ingredients needed, nearby store information
[1466] Specific operation: The server compiles the final results: the generated menu, a list of missing ingredients, and information on stores where the food can be purchased. This information is sent to the user's device in JSON format via a RESTful API. The SSL / TLS protocol is used to ensure the accuracy and security of the data.
[1467] Output: Menu, list of ingredients in short supply, and store information sent to the user's terminal
[1468] Step 7: The device displays the information to the user
[1469] Input: Submitted menu, list of ingredients needed, store information
[1470] How it works: The user device interprets the received data and displays it in the user interface of a dedicated cooking application. A rich UI using HTML5 and CSS3 is provided, and users can check detailed recipes and cooking instructions in the "Today's Menu" section, as well as information on nearby stores where they can purchase missing ingredients.
[1471] Output: Menu information, missing ingredients information, store information displayed to the user
[1472] (Application example 1)
[1473] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1474] Conventional food management systems record ingredients in the refrigerator and suggest menus, but the process of purchasing missing ingredients is complicated, taking up time and effort for users. Furthermore, there is no way to immediately purchase missing ingredients, so users have to go shopping. This makes it difficult for users to efficiently manage ingredients and plan cooking.
[1475] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1476] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for providing the detected missing ingredients as a purchasing source, and means for arranging delivery of the detected missing ingredients, thereby enabling the user to simplify the purchasing procedure for missing ingredients and arrange for the missing ingredients to be delivered immediately.
[1477] "Means for acquiring images of the inside of the refrigerator" refers to a device or software for taking a photograph of the inside of the refrigerator using a smartphone or other camera and acquiring the image data.
[1478] The "means for analyzing the acquired image and identifying ingredients" refers to a system or algorithm that uses image analysis technology to analyze the captured image of the inside of the refrigerator and recognize the ingredients that appear in the image.
[1479] The "means for generating an optimal menu based on identified ingredients" refers to a system or algorithm that uses a recipe database stored on a server to suggest an appropriate menu of dishes based on identified ingredients.
[1480] The "means for detecting missing ingredients for the generated menu" is a system that lists all ingredients required for the proposed menu and automatically detects ingredients that are not in the refrigerator.
[1481] The "means for providing information on nearby stores as a place to purchase the detected missing ingredients" is a system that searches for and provides information on nearby stores based on the user's current location in order to purchase the missing ingredients.
[1482] The "means for arranging delivery of detected missing ingredients" is a system or program that automatically arranges for delivery of the missing ingredients from a nearby store to the user's home.
[1483] The "means for transmitting to the user terminal" is a communication system for transmitting the ingredient information analyzed by the server and the proposed menu information to the user's smartphone or tablet via the Internet.
[1484] This invention provides a system that records the ingredients in a refrigerator with photos, suggests menus based on that information, and arranges for delivery of any ingredients that are missing. This system is composed of three main components: the user, the terminal, and the server.
[1485] 1. Program processing explanation
[1486] The user takes a photo of the ingredients in the refrigerator. They launch a dedicated cooking app installed on their smartphone or tablet and use the function to take a photo of the ingredients in the refrigerator. The captured image is saved on the device and sent to the server.
[1487] The device sends the captured image to the server using a secure communication method over the Internet, such as an HTTP POST request.
[1488] The server analyzes the image and uses image recognition algorithms (e.g., TensorFlow or YOLO) to recognize ingredients, such as "tomato," "cheese," "lettuce," and "bacon."
[1489] The server uses an algorithm that matches the identified ingredients with a recipe database to generate an optimal menu, resulting in specific suggestions such as "tomato and lettuce salad" or "bacon and cheese omelette."
[1490] The server detects missing ingredients for the generated menu, then uses a location information service to collect information about nearby restaurants based on the user's current location, and then uses a delivery service (an example API would be a general delivery service API) to arrange for the delivery of the missing ingredients.
[1491] 2. Hardware and Software
[1492] Hardware: Smartphones, tablets, and devices with communication capabilities.
[1493] Software: A dedicated application to take pictures of the inside of the refrigerator, image recognition algorithms used on the server (TensorFlow, YOLO, etc.), a recipe database, and APIs for location services and delivery services.
[1494] 3. Specific usage examples
[1495] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[1496] The device saves the captured image and sends it to the server.
[1497] The server analyzes the image and identifies each ingredient, such as "tomato," "cheese," "lettuce," and "bacon."
[1498] The server compares the identified ingredients with a recipe database and suggests dishes such as "tomato and lettuce salad" or "bacon and cheese omelet." It also detects missing ingredients such as "eggs."
[1499] The server collects information about nearby stores for the missing eggs and arranges for the eggs to be delivered through a delivery service.
[1500] 4. Examples of prompts
[1501] A user takes a photo of the contents of their refrigerator using a smartphone app and sends it to a server. The server uses TensorFlow to analyze the image and create an ingredient list. Next, the server should compare it with a recipe database to suggest the optimal meal. Furthermore, the server should list the ingredients needed and those missing, and explain the steps to order the missing ingredients using the API of a popular delivery service.
[1502] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1503] Step 1:
[1504] The user takes a photo of the ingredients in the refrigerator.
[1505] Input: An image of the inside of a refrigerator taken by a smartphone or tablet camera.
[1506] How it works: The user launches the dedicated application and presses the "Take a photo of the refrigerator" button to take a photo.
[1507] Output: The captured image of the food in the refrigerator is saved on the device.
[1508] Step 2:
[1509] The device sends the captured image to the server.
[1510] Input: Stored images of food items in the refrigerator.
[1511] How it works: The device sends the captured image to a server over the Internet using protocols such as HTTP POST requests.
[1512] Output: Image of the inside of the refrigerator sent to the server.
[1513] Step 3:
[1514] The server analyzes the image and recognizes the ingredients.
[1515] Input: An image of the inside of a refrigerator sent to the server.
[1516] How it works: The server analyzes the received image using an image recognition algorithm (e.g., TensorFlow or YOLO). As a result, it identifies each individual ingredient in the image.
[1517] Output: A list of identified ingredients (e.g. "tomato", "cheese", "lettuce", and "bacon" are added to the list).
[1518] Step 4:
[1519] The server generates an optimal menu based on the identified ingredients.
[1520] Input: A list of identified ingredients.
[1521] How it works: The server compares the recipe database and suggests the best recipes based on the input ingredients list. It uses algorithms to evaluate ingredient combinations and cooking methods to generate an appropriate menu.
[1522] Output: Suggested meal (e.g., "Tomato and lettuce salad", "Bacon and cheese omelette").
[1523] Step 5:
[1524] The server detects missing ingredients needed for the generated menu.
[1525] Input: A list of proposed meals and identified ingredients.
[1526] Action: The server compares these lists to find ingredients needed for the proposed meal that are not present in the identified ingredient list.
[1527] Output: A list of ingredients that are in short supply (e.g., "Eggs" is added to the list as being in short supply).
[1528] Step 6:
[1529] The server provides information on nearby stores where to purchase ingredients that are in short supply and arranges delivery.
[1530] Input: A list of ingredients that are in short supply and the user's current location.
[1531] How it works: The server uses location services to find nearby restaurants based on the user's current location, and also uses the delivery service's API to order the missing ingredients and arrange for delivery to the user's home.
[1532] Output: Information on where to purchase the missing ingredients and delivery arrangements.
[1533] Step 7:
[1534] The server sends the results to the user terminal.
[1535] Input: Suggested menu, missing ingredient list, supplier and delivery arrangement information.
[1536] How it works: All results are sent to the user's device via the Internet.
[1537] Output: The results displayed on the user's device (menu, missing ingredients, purchasing and delivery information).
[1538] Step 8:
[1539] The terminal displays the information to the user.
[1540] Input: The final result data sent from the server.
[1541] How it works: A dedicated application analyzes the final results and displays them in a user interface, where users can view menu details, where to purchase missing ingredients, and delivery information.
[1542] Output: Specific cooking plans and purchasing information presented to the user.
[1543] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1544] The system of the present invention records the ingredients in the refrigerator with photos, suggests menus based on that information, and provides store information for ingredients that are missing. Furthermore, the system incorporates an emotion engine that recognizes the user's emotions, allowing it to adjust menus and select recommended recipes based on the user's emotional state.
[1545] Program processing explanation
[1546] 1. The user takes a photo of the ingredients in the refrigerator
[1547] The user launches a dedicated cooking app installed on a smartphone or tablet, which includes a function to take a photo of the inside of the refrigerator.
[1548] Users open the refrigerator door and use the camera to take a picture of the food inside, and the image is displayed in real time on the app, allowing users to check the quality of the shot.
[1549] Once the photo is taken, the app will save the image and move on to the next step.
[1550] 2. The device sends the image to the server
[1551] The saved image is sent from the device to the server using a secure communication method over the Internet (e.g., HTTPS).
[1552] The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[1553] 3. The server analyzes the image and recognizes the ingredients
[1554] The server analyzes the received image data and runs image recognition algorithms that use machine learning models and other image processing techniques to identify individual ingredients within the image.
[1555] For example, the server identifies ingredients such as "tomato," "cheese," "lettuce," and "bacon" and registers their names in a list.
[1556] 4. The server generates an optimal menu based on the identified ingredients.
[1557] The server generates an optimal menu based on the identified list of ingredients and matches it with a recipe database, using algorithms to evaluate ingredient combinations and available recipes.
[1558] As a result, the server will suggest specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[1559] 5. The server detects missing ingredients for the generated menu and collects information about nearby restaurants.
[1560] The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients, for example, detecting that an "egg" is missing for an omelet.
[1561] The server uses location information services to collect information about nearby stores based on the user's current location, and then identifies and creates a list of stores where the eggs are available.
[1562] 6. The server recognizes the user's emotions
[1563] The app is equipped with an emotion engine that recognizes the user's emotions. It reads the user's facial expressions through the camera within the app and performs emotion analysis.
[1564] This emotional data is sent to the server, which then adjusts the menu and recipe suggestions based on the user's emotional state.
[1565] 7. The server sends the results to the user device.
[1566] The server then compiles the final results, including the generated menu, a list of ingredients that are missing, and adjustment information based on the store where the food is available and the user's emotional state. This information is then sent to the user's device via the Internet.
[1567] Specific protocols are used for transmission to ensure accuracy and security of the data.
[1568] 8. The device displays information to the user
[1569] Once the data is received, the device app interprets it and displays it in a user interface, allowing the user to plan their cooking accordingly.
[1570] Specifically, the app displays recipe details for a tomato and lettuce salad, instructions for making a bacon and cheese omelet, and information on nearby stores where you can purchase eggs if you are running low. It also displays suggested recipes and warnings based on the user's emotional state.
[1571] Specific examples
[1572] The user launches a cooking app and takes a photo of the contents of the refrigerator, which may include tomatoes, cheese, lettuce, and bacon.
[1573] The device saves the captured image and sends it to a server, which analyzes the image and identifies each ingredient.
[1574] The server searches a recipe database based on the identified ingredients and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet." It also detects when "eggs" are in short supply and collects information on nearby supermarkets and convenience stores.
[1575] In addition, the server recognizes the user's emotions and makes adjustments based on their emotional state, such as suggesting quick and easy recipes if they are in a "high stress" state.
[1576] The final result is sent to the device as information including the generated menu, a list of missing ingredients, store availability information, and emotion-based adjustments, allowing the user to review this information and efficiently prepare meals.
[1577] The processing flow will be explained below.
[1578] Step 1:
[1579] The user launches a cooking app and takes a photo of the inside of the refrigerator. The user uses the app's camera function to take a photo of the inside of the refrigerator and saves the image.
[1580] Step 2:
[1581] The device prepares the captured image file and sends it to the server over the Internet using a secure protocol (e.g., HTTPS).
[1582] Step 3:
[1583] The server analyzes the received image data and applies an image analysis algorithm (such as a machine learning model) to identify the objects in the image as ingredients. For example, it recognizes "tomato," "cheese," "lettuce," and "bacon."
[1584] Step 4:
[1585] The server generates a list of recognized ingredients, searches the recipe database based on the list, and extracts recipes that use the identified ingredients from the recipe database.
[1586] Step 5:
[1587] The server then suggests an appropriate menu based on the extracted recipe. For example, it might select "tomato and lettuce salad" or "bacon and cheese omelet." Based on the selected menu, it identifies any missing ingredients.
[1588] Step 6:
[1589] The server detects the shortage of ingredients (e.g., eggs) and collects information about nearby stores based on the user's location. Using location information services, it creates a list of stores that carry the ingredients.
[1590] Step 7:
[1591] The server recognizes the user's emotional state. It uses an emotion engine to analyze the user's facial expression data and identify emotions such as "high stress" or "relaxed." It then generates data based on the user's emotions.
[1592] Step 8:
[1593] The server adjusts recipes and menus based on the user's emotional data. For example, if the user is in a "high stress" state, it will prioritize recipes that are quick and easy to prepare.
[1594] Step 9:
[1595] The server sends the adjusted menu, a list of ingredients that are in short supply, and information about stores where the ingredients can be purchased to the user terminal using a secure communication method.
[1596] Step 10:
[1597] The device analyzes the data received from the server and displays it on the app's user interface. The user can use the displayed menu, missing ingredients, and information on nearby stores to efficiently shop and prepare meals.
[1598] Specific examples
[1599] 1. The user launches the app and takes a photo of the inside of the refrigerator.
[1600] 2. The device sends the image to the server.
[1601] 3. The server analyzes the image and recognizes "tomato," "cheese," "lettuce," and "bacon."
[1602] 4. The server searches for recipes based on the ingredients list and suggests dishes like "tomato and lettuce salad" or "bacon and cheese omelet."
[1603] 5. The server detects the missing "eggs."
[1604] 6. The server uses location information to collect information about nearby supermarkets and convenience stores.
[1605] 7. The server uses the emotion engine to recognize the user's emotional state.
[1606] 8. The server adjusts the recipe based on the user's emotional state.
[1607] 9. The server sends the final result to the user terminal.
[1608] 10. The terminal displays the information, and the user confirms it and makes a purchase.
[1609] Example 2
[1610] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1611] Conventional menu suggestion systems based on ingredients in the refrigerator can identify ingredients and generate menus, but they are inadequate when ingredients necessary for the actual menu are lacking. Furthermore, they often make suggestions without considering the user's emotional state. This results in a decrease in user satisfaction and a loss of system usability. Another problem is that complicated recipes are suggested when the user is feeling stressed.
[1612] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1613] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, means for providing information on nearby stores where the detected missing ingredients can be purchased, means for analyzing the user's emotions and adjusting the menu based on the user's emotional state, and means for transmitting the generated menu, the list of ingredients that are missing, store information, and adjustment information based on the user's emotional state to a user terminal. This not only enables the user to make the most of the ingredients they have and quickly obtain the necessary ingredients, but also enables the server to suggest an appropriate menu based on the user's emotional state.
[1614] The "means for acquiring images of the inside of the refrigerator" refers to the camera and application functions that allow the user to take pictures of the inside of the refrigerator and acquire the image data.
[1615] The "means for analyzing the acquired image to identify ingredients" refers to an image recognition algorithm and associated machine learning model for analyzing the acquired image data and identifying the ingredients contained therein.
[1616] The "means for generating optimal menus" is an algorithm that suggests optimal dish combinations that utilize the identified ingredients.
[1617] The "means for detecting missing ingredients" is a process for comparing all ingredients required for the generated menu with ingredients that have already been identified, and identifying any missing ingredients.
[1618] The "means for providing nearby store information" refers to a location information service and database access means for identifying nearby stores where the missing ingredients can be purchased and providing the user with that information.
[1619] The "means for analyzing the user's emotions" is an emotion recognition engine that reads the user's facial expressions through a camera and analyzes their emotional state based on that data.
[1620] The "means for adjusting menus based on emotional state" is an algorithm for adjusting suggested menus and recipes based on the analyzed emotional data of the user.
[1621] "Means for sending to the user terminal" refers to the communication means and protocol for sending the information generated by the server to the user's smartphone or tablet.
[1622] The system of the present invention records the ingredients in the refrigerator with photos, suggests menus based on that information, and provides store information for ingredients that are missing. Furthermore, the system incorporates an emotion engine that recognizes the user's emotions, allowing it to adjust menus and select recommended recipes based on the user's emotional state.
[1623] This system is operated primarily through a dedicated application installed on the user's smartphone or tablet and a server connected via the Internet. Details of each piece of hardware and software are described below.
[1624] First, the user launches a dedicated cooking app installed on a smartphone or tablet. This app includes a function for taking photos of the inside of the refrigerator. The user opens the refrigerator door and uses the camera to take a photo of the ingredients inside. The camera image is displayed in real time in the app, allowing the user to check the quality of the photo. Once the photo is taken, the app saves the image and proceeds to the next step. The saved image is sent from the device to the server. A secure communication method using the Internet (e.g., HTTPS) is used for transmission. The image data is sent, for example, using an HTTP POST request. The server receives the request and begins processing the image.
[1625] The server then analyzes the image and recognizes the ingredients. The server runs an image recognition algorithm to analyze the received image data. This algorithm uses machine learning models (such as TensorFlow or PyTorch) and other image processing techniques to identify individual ingredients in the image. For example, the server might identify ingredients such as "tomato," "cheese," "lettuce," and "bacon" and register their names in a list.
[1626] The server then generates an optimal menu based on the identified ingredients. The server generates the optimal menu based on the list of identified ingredients by matching it with a recipe database. This is done using algorithms to evaluate ingredient combinations and available recipes. As a result, the server suggests specific menu items such as "tomato and lettuce salad" or "bacon and cheese omelet."
[1627] Furthermore, the server detects any missing ingredients required for the generated menu and collects information about nearby stores. The server compares all ingredients required for the generated menu with the ingredients already identified to identify any missing ingredients. For example, it detects that there are missing "eggs" for an omelet. The server uses location services (e.g., Google Maps API) to collect information about nearby stores based on the user's current location. This identifies stores where the missing "eggs" can be purchased and creates a list.
[1628] The emotion engine is also an important element of the system. The app is equipped with an emotion engine that recognizes the user's emotions. It reads the user's facial expressions through the camera within the app and performs emotion analysis. This emotion data is sent to the server, which then adjusts the menu and recipe suggestions based on the user's emotional state. For example, if the user is feeling stressed, the app can suggest simple and easy recipes.
[1629] Finally, the server sends the generated menu, a list of ingredients that are in short supply, information on stores where ingredients can be purchased, and adjustment information based on the user's emotional state to the user's device. This information is displayed to the user through a user interface, allowing the user to plan meals and efficiently procure ingredients.
[1630] Specific examples
[1631] A specific example of how this works is shown below. A user launches a cooking app and takes a photo of the contents of their refrigerator. For example, the refrigerator contains tomatoes, cheese, lettuce, and bacon. The device saves the image and sends it to the server. The server analyzes the image and identifies each ingredient. Based on the identified ingredients, the server searches a recipe database and suggests options such as a tomato and lettuce salad or a bacon and cheese omelet. The server also detects any missing eggs and collects information about nearby supermarkets and convenience stores. The server then recognizes the user's emotions and makes adjustments based on their emotional state. For example, if the user is in a "high stress" state, it suggests a quick and easy recipe. The final result is sent to the device as information including the generated menu, a list of missing ingredients, information about available stores, and adjustments based on the user's emotions. The user can review this information and efficiently proceed with meal preparation.
[1632] Prompt Sentence Examples
[1633] I want to plan a meal based on the ingredients in my refrigerator. I have tomatoes, lettuce, cheese, and bacon in my refrigerator. I'd like to have a meal suggestion based on these ingredients. I'd also like to know where to buy ingredients if I'm running low on them.
[1634] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1635] Step 1:
[1636] The user takes a photo of the food in the refrigerator.
[1637] Input: User initiates a photo of the inside of the refrigerator.
[1638] What happens: The user launches a dedicated cooking app installed on their smartphone or tablet, opens the refrigerator door, and takes a photo of the ingredients inside. The image from the camera is displayed in real time on the app, allowing the user to check the quality of the photo.
[1639] Output: The image of the inside of the refrigerator is saved on the device.
[1640] Specific operation: The user taps the "Shoot" button in the app, points the camera at the refrigerator, and presses the "Shutter" button. The captured image is saved on the device.
[1641] Step 2:
[1642] The device sends the image to the server.
[1643] Input: A stored image of the inside of a refrigerator.
[1644] What happens: The device retrieves the stored image and sends it to the server using a secure connection over the Internet (e.g., HTTPS). The image data is sent via an HTTP POST request.
[1645] Output: The image data is sent to the server.
[1646] What happens: The app initiates a background connection to the server, attaches the image data to an HTTP POST request, and sends it to the server's API endpoint.
[1647] Step 3:
[1648] The server analyzes the image and recognizes the ingredients.
[1649] Input: Image data of the inside of the refrigerator sent to the server.
[1650] What it does: The server runs machine learning models and image recognition algorithms to analyze the received image data and identify individual ingredients. For example, it uses Python libraries and machine learning models for image analysis (e.g., TensorFlow and PyTorch).
[1651] Output: A list of parsed ingredients. For example, "tomato," "cheese," "lettuce," and "bacon" are registered in the list.
[1652] What it does: The server runs an image analysis algorithm to detect and label ingredients in the image, then stores them in a database.
[1653] Step 4:
[1654] The server generates an optimal menu based on the identified ingredients.
[1655] Input: A list of parsed ingredients.
[1656] What happens: The server generates an optimal menu based on the identified ingredients list and a recipe database, using algorithms that evaluate ingredient combinations and available recipes.
[1657] Output: A list of generated dishes. For example, "Tomato and lettuce salad" or "Bacon and cheese omelette" are generated.
[1658] Specific operation: The server sends the ingredient list as a query to the recipe database, retrieves candidate recipes, and selects the optimal menu.
[1659] Step 5:
[1660] The server detects the shortage of ingredients required for the generated menu and collects information on nearby stores.
[1661] Input: A list of generated meals and a list of ingredients already identified.
[1662] What happens: The server compares all ingredients needed for the generated menu with the ingredients already identified and identifies any missing ingredients. For missing ingredients, the server collects nearby restaurant information based on the user's current location (e.g., Google Maps API).
[1663] Output: A list of ingredients that are in short supply and a list of nearby stores where they can be purchased. For example, if there is a shortage of eggs, information on nearby supermarkets and convenience stores where they can be purchased will be provided.
[1664] Specific operation: The server makes a list of ingredients that are in short supply, and uses location information services to obtain and list information about the nearest stores.
[1665] Step 6:
[1666] The server recognizes the user's emotions.
[1667] Input: User facial expression data from the app.
[1668] What it does: The app captures the user's facial expressions through the camera, and the emotion recognition engine analyzes the data. This emotion data is sent to a server, which analyzes the user's emotional state (e.g., Microsoft Azure's Emotion API).
[1669] Output: User's emotional state data. For example, the emotional state is "high stress."
[1670] What it does: The app captures the user's facial expressions, and the emotion recognition engine analyzes the facial expression data to identify their emotional state, which is then sent to the server.
[1671] Step 7:
[1672] The server sends the result to the user terminal.
[1673] Input: Generated menu, missing ingredient list, available store information, and emotional state data.
[1674] What happens: The server compiles the final results and sends them to the user's smartphone or tablet over the internet using a secure protocol (e.g. HTTPS).
[1675] Output: Sending the final result data to the user's terminal.
[1676] Specific operation: The server compiles all information as JSON format data and sends it to the user's device via an HTTP POST request.
[1677] Step 8:
[1678] The terminal displays the information to the user.
[1679] Input: The final result data sent from the server.
[1680] What happens: The device app interprets the received data and displays it in a user interface, allowing the user to plan a meal based on this information.
[1681] Output: Recipe details, purchasing information for missing ingredients, and emotion-based adjustment information.
[1682] What it does: The app parses the JSON data and displays it as a layout on the screen. For example, it displays details of a tomato and lettuce salad recipe, information about nearby stores where you can buy the eggs you are running low on, and recipes and notes based on the user's emotional state.
[1683] Through the above processing steps, the system of the present invention realizes the user's ingredient utilization, menu suggestions, and even adjustments based on the user's emotional state.
[1684] (Application example 2)
[1685] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1686] Conventional food management systems are limited to recording ingredients in the refrigerator and proposing menus, which means they cannot flexibly suggest meals according to the user's emotional state.Furthermore, they are limited to providing information on where to purchase ingredients when they are in short supply, and do not allow for delivery services.
[1687] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1688] In this invention, the server includes means for acquiring images of the inside of the refrigerator, means for analyzing the acquired images to identify ingredients, means for generating an optimal menu based on the identified ingredients, means for detecting ingredients that are missing from the generated menu, means for providing information on nearby stores where the detected missing ingredients can be purchased, means for analyzing an image of the user's facial expression to identify the user's emotional state, means for adjusting the menu based on the identified emotional state, and means for providing the missing ingredients via a delivery service. This allows for flexible menu suggestions based on the user's emotional state, and also enables the purchase of missing ingredients via a delivery service.
[1689] "Means for capturing images inside the refrigerator" refers to a device or method for electronically capturing images of food items inside the refrigerator.
[1690] The "means for analyzing the acquired image and identifying ingredients" refers to an algorithm or program for identifying ingredients contained in the acquired image data based on the acquired image data.
[1691] "Means for generating optimal menus based on identified ingredients" refers to a system or method for using recognized ingredient information to suggest optimal dishes or meal menus.
[1692] "Means for detecting ingredients that are missing from the generated menu" refers to a function or method for identifying ingredients that are missing from the user's refrigerator based on the generated menu.
[1693] "Means for providing information on nearby stores where the detected missing ingredients can be purchased" refers to a system or method for providing information on nearby stores or sales locations where the detected missing ingredients can be purchased based on the user's location information.
[1694] "Means for analyzing a user's facial expression image to identify their emotional state" refers to algorithms or techniques for analyzing an image of a user's face and determining their emotional state.
[1695] A "means for adjusting a menu based on an identified emotional state" refers to a program or approach for suggesting or modifying an appropriate menu in line with a user's emotional state.
[1696] "Means for providing missing ingredients through a delivery service" refers to a system or process for delivering missing ingredients needed by a user through an affiliated delivery service.
[1697] The system of the present invention captures images of the inside of a refrigerator, analyzes the images to identify ingredients, and generates an optimal menu. It also detects ingredients that are missing from the generated menu and provides information on nearby stores where the detected missing ingredients can be purchased. It also has a function to analyze the user's emotions and adjust the menu based on their emotional state.
[1698] Hardware and software used
[1699] server:
[1700] Image analysis: YOLOv5 (pre-annotated food classification model)
[1701] Emotion analysis: FER (Facial Emotion Recognition) library
[1702] Menu Generation: Custom Algorithms Using Python
[1703] Location services: External API (e.g. Google Maps API)
[1704] User device:
[1705] Photo function: Use the camera function of your smartphone or tablet
[1706] Application: A dedicated cooking support app (Flask backend, React Native frontend)
[1707] Specific operation of the system
[1708] 1. Image acquisition and transmission:
[1709] The user uses the camera function of the device to take a picture of the food in the refrigerator. The taken image is sent to the server via the application. The transmission is via the Internet using a secure communication method (HTTPS).
[1710] 2. Image analysis and ingredient identification:
[1711] The server analyzes the received image and identifies the ingredients using YOLOv5. A list of recognized ingredients is generated and used to generate dish suggestions.
[1712] 3. Menu Generation:
[1713] Based on the list of ingredients, the server suggests the best dishes from an existing recipe database, using a custom Python algorithm to generate the menu.
[1714] 4. Detecting missing ingredients and providing store information:
[1715] The server compares all ingredients needed for the generated menu with ingredients already recognized and identifies any missing ingredients. The server uses location information services to collect and provide information about nearby stores based on the user's current location.
[1716] 5. Sentiment Analysis and Menu Adjustment:
[1717] The application captures the user's facial expressions with a camera and performs emotion analysis. It uses the FER library to identify the user's emotional state and sends this information to the server, which then adjusts the menu and recipe suggestions based on this emotional information.
[1718] Specific examples
[1719] The user takes a photo of the contents of the refrigerator and sends it through the application. The server analyzes the image and recognizes "tomato," "lettuce," "cheese," and "bacon." Based on these ingredients, the server suggests "tomato and lettuce salad" or "bacon and cheese omelet." It also identifies "eggs" that are in short supply and provides information about nearby supermarkets and convenience stores.
[1720] Furthermore, the app analyzes the user's facial expressions and suggests quick and easy meals if it determines that the user is in a "high stress" state. The app displays this information, allowing the user to efficiently prepare meals.
[1721] Prompt Sentence Examples
[1722] User: I took a photo of the inside of the refrigerator and sent it.
[1723] System: Recognizing ingredients... Recognized ingredients are "tomato, cheese, lettuce, bacon".
[1724] User: Analyze my emotional state.
[1725] System: Recognizing emotion...Current emotion is "High Stress."
[1726] System: Because stress levels are high, we suggest simple and easy recipes. Try "Tomato and Lettuce Salad" or "Bacon and Cheese Omelette." If you're running low on eggs, you can buy them at your local supermarket.
[1727] User: Order the ingredients you need for delivery.
[1728] System: Preparing delivery service... Your order is ready. Please confirm your delivery address.
[1729] In this way, it is possible to provide food suggestions and delivery services tailored to the user's situation.
[1730] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1731] Step 1:
[1732] The user takes a picture of the inside of the refrigerator
[1733] Input: The user takes a picture of the inside of the refrigerator using the device's camera function.
[1734] Specific operation: The user launches the dedicated app and uses the camera to take a photo of the food in the refrigerator. The captured image is saved in the app.
[1735] Output: Captured image data
[1736] Step 2:
[1737] The device sends the image to the server
[1738] Input: Saved image data
[1739] Specific operation: The device sends the captured image to the server via the Internet. The HTTPS protocol is used for transmission.
[1740] Output: Image data sent to the server
[1741] Step 3:
[1742] The server analyzes the image and identifies the ingredients.
[1743] Input: Image data sent to the server
[1744] Specific operation: The server analyzes the image using the YOLOv5 model and identifies the ingredients in the image. A list of identified ingredients is generated.
[1745] Output: List of ingredients
[1746] Step 4:
[1747] The server generates a menu based on the identified ingredients.
[1748] Input: List of ingredients
[1749] How it works: The server uses a Python algorithm to generate the optimal menu based on the ingredients available. It searches for available recipes from the recipe database.
[1750] Output: Suggested menu
[1751] Step 5:
[1752] The server detects missing ingredients for the generated menu and collects store information
[1753] Input: Generated menu, list of recognized ingredients
[1754] Specific operation: The server matches the ingredients required for the menu with the recognized ingredients and identifies any missing ingredients. It uses location services to collect information about nearby stores based on the user's current location.
[1755] Output: List of ingredients in short supply, information on nearby stores
[1756] Step 6:
[1757] The server recognizes the user's emotions and sends information
[1758] Input: User facial expression image
[1759] Specific operation: The user takes a picture of their facial expression with the device camera and sends it to the server. The server uses the FER library to analyze the facial image and identify the emotional state.
[1760] Output: User's emotional state
[1761] Step 7:
[1762] The server adjusts the menu based on the emotional state and sends the information to the user's terminal.
[1763] Input: User's emotional state, suggested menu, list of ingredients missing, nearby store information
[1764] Specific operation: The server adjusts the menu based on the user's emotional state and sends the final information (suggested menu, list of ingredients in short supply, information on nearby stores, and adjustments based on emotions) to the user's terminal via the Internet.
[1765] Output: Final information including adjusted menu, store information, etc.
[1766] Step 8:
[1767] The terminal displays the information to the user
[1768] Input: Final information sent from the server (adjusted menu, list of missing ingredients, store information, etc.)
[1769] Specific operation: The app on the user's device analyzes the received information and displays it on the user interface. The user then plans to prepare a meal based on this information.
[1770] Output: The final information shown to the user (adjusted menu, missing ingredients list, store information, etc.)
[1771] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1772] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1773] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1774] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1775] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1776] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1777] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1778] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1779] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1780] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on mult...
Claims
1. A means for acquiring an image of the inside of a refrigerator; means for analyzing the acquired image to identify the food material; means for generating an optimal menu based on the identified ingredients; A means for detecting missing ingredients required for the generated menu; The system includes a means for providing information on nearby stores where the detected shortage of ingredients can be purchased.
2. 10. The system of claim 1, The system further includes means for transmitting the identified ingredients and menu to a user terminal.
3. 10. The system of claim 1, The system further includes means for transmitting nearby store information to the user terminal.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A