system
A system using barcode readers and image analysis identifies refrigerator contents to suggest cooking procedures, addressing the challenge of efficiently using ingredients and enhancing culinary creativity.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-11
- Publication Date
- 2026-04-23
AI Technical Summary
Modern households face challenges in efficiently utilizing refrigerator contents to create diverse dishes while minimizing waste, as existing technologies lack means for quickly and easily identifying which ingredients can be used for specific recipes.
A system that identifies food types using barcode readers or image analysis, analyzes food information to find corresponding cooking procedures, and displays these procedures to users, enabling efficient ingredient utilization and diverse dish creation.
Enables users to reduce cooking effort and enhance culinary experience by intuitively presenting cooking procedures based on available ingredients, allowing for creative meal preparation.
Smart Images

Figure 2026069132000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, the method including: receiving a user utterance; adding the user utterance to a prompt including an instruction sentence related to an explanation 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] In modern households, it is an important issue to efficiently utilize various foods existing in the refrigerator and create diverse dishes while reducing waste. However, there is a problem in that the means for quickly and easily knowing which ingredients can be used to make which dishes are limited.
Means for Solving the Problems
[0005] The present invention provides a system that identifies the types of foods by identification means, analyzes the food information transmitted to the server to search for corresponding cooking procedures, and further displays the searched cooking procedure information to the user, thereby efficiently utilizing the ingredients in the refrigerator and realizing an environment in which diverse dishes can be easily created.
[0006] "Identification means" refers to technologies for identifying and managing the type of food, such as using barcode readers or image analysis technology.
[0007] "Food information" refers to a collection of data representing the types and quantities of food stored in a refrigerator, which allows for the identification of specific ingredients needed for cooking.
[0008] "Analysis" refers to a series of computational processes that use transmitted food information to decipher that information and identify appropriate cooking procedures.
[0009] "Cooking instructions" refer to a series of instructions and content that constitute a recipe or cooking method corresponding to specific food information.
[0010] "Display" refers to the act of outputting the searched cooking procedure information to the user's device in a visually verifiable format.
[0011] "Exploration" refers to the process of searching and selecting the optimal cooking procedure based on food information, using databases and algorithms.
[0012] A "system" is a general term for the hardware and software used to perform a series of operations, from food identification to displaying cooking instructions. [Brief explanation of the drawing]
[0013] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5]It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. <0……000078> [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example ② when an emotion engine is combined.
Modes for Carrying Out the Invention
[0014] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described according to the accompanying drawings.
[0015] First, the terms used in the following description will be explained.
[0016] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0017] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0018] In the following embodiments, the numbered storage is one or more non-volatile storage devices that store various programs, various parameters, and the like. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, and the like.
[0019] In the following embodiments, the numbered communication I / F (Interface) is an interface including a communication processor, an antenna, and the like. 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), or Bluetooth (registered trademark), and the like.
[0020] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0021] [First Embodiment]
[0022] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0023] As shown in Figure 1, the 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 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0025] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0026] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0028] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0029] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0031] The storage 32 stores the data generation model 58 and the 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 processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0033] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0034] The system of the present invention begins with the user scanning the barcode or direct image of food items in the refrigerator using a camera or scanner on a terminal held by the user. The user scans the food items selected from the refrigerator using this terminal, and the terminal interprets the scans through an identification means and collects food information. This food information is then transmitted to a server.
[0035] The server analyzes the received food information and compares it with a variety of recipe information stored in the database. The server searches for multiple cooking procedures using the food in question and selects the optimal recipe based on pre-set conditions, such as cooking time, available ingredients, and difficulty level of the dish.
[0036] The selected recipe information is sent back to the terminal, which displays it to the user in a visualized format. This allows the user to intuitively understand the cooking procedure using the specified ingredients. The recipe display provides detailed information, including all necessary cooking steps, to assist the user in cooking.
[0037] As a concrete example, consider a scenario where a user scans for "tomatoes," "eggs," and "bacon." Based on this food information, the server searches its database for cooking instructions such as "bacon and tomato egg stir-fry" and selects the most relevant one. This information is then immediately sent to the terminal and presented to the user as a recipe detailing the necessary ingredients and steps. This process allows the user to efficiently utilize the limited ingredients in their refrigerator and try a variety of dishes.
[0038] With this system in operation, users can reduce the effort involved in daily cooking while gaining a creative and enriching culinary experience.
[0039] The following describes the processing flow.
[0040] Step 1:
[0041] The terminal activates its camera or scanner in response to user input. The user scans the food items inside the refrigerator, and the terminal recognizes the food information using a barcode reader or image processing.
[0042] Step 2:
[0043] The terminal formats the acquired food information and sends it to the server. This data includes food identification information.
[0044] Step 3:
[0045] The server receives food information sent from the terminal and identifies the type of food by analyzing barcodes and image data. The server then retrieves the corresponding data for that food from the database.
[0046] Step 4:
[0047] The server searches the database for recipes based on the identified food information. It selects the most suitable recipe by considering factors such as available ingredients, preparation time, and difficulty of cooking.
[0048] Step 5:
[0049] The server sends the selected recipe information to the terminal. The information sent includes the recipe name, required ingredients, cooking instructions, and estimated preparation time.
[0050] Step 6:
[0051] The terminal receives recipe information sent from the server and displays it to the user. The user can then refer to the displayed information and follow the suggested recipe to cook.
[0052] (Example 1)
[0053] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0054] In daily life, efficiently carrying out manufacturing activities using limited resources is difficult for many people. Furthermore, existing technologies cannot provide sufficiently optimized manufacturing procedures, and it is difficult to improve these procedures by incorporating user feedback. Therefore, there is a need to efficiently identify item information, provide optimal procedures, and improve the user experience.
[0055] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0056] In this invention, the server includes means for identifying the type of article using identification means, means for analyzing article information transmitted to a data processing device and searching for a corresponding manufacturing procedure, and means for displaying the searched manufacturing procedure information to the user. This allows the user to efficiently utilize the articles they have on hand and easily perform optimized manufacturing activities. Furthermore, by means for optimizing the procedure information obtained from the database based on usage conditions and means for generating and storing evaluation information from the user, continuous system improvement and increased user satisfaction can be achieved.
[0057] "Identification means" refers to a method or technique for identifying the type or characteristics of an article.
[0058] A "data processing device" refers to a system that receives information, analyzes and processes it, and then transmits the relevant data.
[0059] "Item information" refers to data about items obtained through scanning or code reading.
[0060] A "manufacturing procedure" refers to a series of processes or steps involved in carrying out a manufacturing activity using a particular item.
[0061] "Users" refer to individuals or entities that operate the system or receive information.
[0062] A "database" refers to a system for systematically storing and managing information and data.
[0063] "Evaluation information" refers to data related to feedback and evaluations provided by users.
[0064] "Optimizing" refers to maximizing or improving the performance of a procedure or system based on specific conditions.
[0065] The system of this invention aims to identify the type of item using a terminal that the user uses on a daily basis and to provide the optimal manufacturing procedure. The system consists of three main elements: a terminal, a server, and a database.
[0066] The user scans items using the camera and scanner built into the device. Specifically, the camera captures images of items in real time, and the scanner reads identification codes to obtain item information. The device uses image processing libraries such as OpenCV and barcode scanning libraries such as ZXing to identify the type and characteristics of the items.
[0067] Identified item information is sent from the terminal to the server. The server analyzes the received item information and compares it with the database. The server uses SQL to search for manufacturing procedures in the database and selects the most appropriate procedure based on pre-configured conditions. This database uses a database management system such as MySQL® or PostgreSQL to store information about product type, manufacturing process, and required resources.
[0068] The manufacturing procedure information selected by the server is sent back to the terminal. The terminal visually presents the procedure information to the user through a user interface to help them understand the procedure. The terminal uses React Native and Flutter® to build its GUI, making it intuitive for users to operate.
[0069] Users can use this system to efficiently utilize their available resources, conduct optimized manufacturing activities, and contribute to the continuous improvement of the system by providing feedback. This feedback is collected at the terminal and sent back to the server to help optimize manufacturing procedures.
[0070] As a concrete example, let's look at an example of a prompt message: "Please tell me what I can make with the ingredients I have in my refrigerator. The ingredients are 'tomatoes,' 'eggs,' and 'bacon.'" By entering such a prompt message, the user can receive the optimal cooking procedure provided by the system.
[0071] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0072] Step 1:
[0073] The user scans an object using the device's camera or scanner. During this process, the user positions the object within the camera's field of view, maintaining an appropriate distance and focusing. The input is either an image of the object captured by the camera or an identification code read by the scanner. The output is data containing the feature information necessary for identification extracted from this input data. At this stage, the image is preprocessed using an image processing library, and the code data is obtained using an identification code reading library.
[0074] Step 2:
[0075] The terminal analyzes the acquired identification information. The input is the feature information and identification code obtained in step 1. The terminal uses image analysis and code recognition techniques to identify the type and characteristics of the item. As output, item type data (e.g., category, name) is generated. In this process, OpenCV and ZXing are used to structure the item information.
[0076] Step 3:
[0077] The terminal sends the analyzed item information to the server. The input is the item type data generated in step 2. The server receives this information and prepares to compare it with the database. The output is the item information formatted into a data format for processing by the server. During this process, the information is converted to JSON format and transferred to the server via a secure communication channel.
[0078] Step 4:
[0079] The server analyzes the received item information and searches for relevant manufacturing procedures. The input is the item information sent in step 3. The server searches the database using SQL and extracts procedure information related to the item. The output is a list of manufacturing procedures that best meet the criteria. The server also applies condition filtering (e.g., within a specific time frame or difficulty level).
[0080] Step 5:
[0081] The server sends the selected manufacturing procedure information back to the terminal. The input is the list of manufacturing procedures generated in step 4. The output is the procedure information, formatted in a user-friendly format, delivered to the terminal. This information is prepared in JSON format and transmitted via secure communication.
[0082] Step 6:
[0083] The terminal displays the received manufacturing procedure information on the user interface. The input is the procedure information received in step 5. The terminal uses a visualization tool to display the procedure in a sequential manner. The output is a manufacturing procedure display on a GUI that is intuitive for the user to operate. The user can check the steps on the screen and proceed with the manufacturing activity smoothly.
[0084] Step 7:
[0085] Users can provide feedback after the manufacturing process. Input is user evaluation information (e.g., star rating, comments). The terminal collects this feedback and sends it to the server. Output is evaluation data based on the user experience. This data is used for continuous improvement of the system.
[0086] (Application Example 1)
[0087] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0088] Cooking at home presents challenges in making the most of the limited ingredients available in the refrigerator, and it's also difficult to efficiently replenish any missing ingredients. For beginner cooks and busy people in particular, choosing the right recipe and sourcing the necessary ingredients can be a significant burden.
[0089] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0090] In this invention, the server includes means for identifying the type of food using identification means, means for analyzing food information transmitted to the server and searching for a corresponding cooking procedure, means for displaying the searched cooking procedure information to the user, and means for connecting to an external service for purchasing any missing ingredients based on the displayed cooking procedure. This makes it possible to efficiently utilize the ingredients in the refrigerator and quickly procure any missing ingredients to prepare a meal.
[0091] "Identification means" refers to technical means used to identify the type of food.
[0092] "Food information" refers to data including the types and quantities of food in the refrigerator, which is sent to the server for analysis.
[0093] A "server" is a computer system that receives food information, analyzes it, and searches for appropriate cooking procedures.
[0094] "Cooking instructions" refer to information that describes the methods and processes for preparing a meal using selected food items.
[0095] "External services" refer to online or offline purchasing services used when acquiring necessary materials.
[0096] "Image analysis technology" is a technique that uses cameras or similar devices to analyze images of food and recognize its type and characteristics.
[0097] "Barcode information" refers to barcode data attached to food products, and is used to identify those products.
[0098] The following are the embodiments for carrying out the invention.
[0099] This system primarily consists of smartphones, servers, databases, and integration with external services. Users can scan food items in their refrigerators using an application installed on their smartphones. This scanning utilizes the smartphone's camera, and food identification is performed using image analysis technology powered by OpenCV. If the food items have barcodes, the barcode information can also be used to identify the type of food item.
[0100] The food information obtained from the scan is transmitted to a server via the network. The server, which runs on the Django framework, analyzes the received food information. The analyzed information is cross-referenced with a database to search for appropriate cooking procedures. In this process, the generative AI model, which is the core of this invention, is used to generate multiple recipe candidates.
[0101] The cooking procedure information sent from the server is returned to the smartphone, where the user can visually confirm it. The application presents the recipe in an intuitive and easy-to-understand format through its user interface. Furthermore, if any ingredients are missing based on the displayed cooking procedure, the application integrates with external services (e.g., online stores) to provide an option to purchase the ingredients directly.
[0102] For example, if a user scans "tomatoes" and "cheese" in their refrigerator, the application will suggest recipes such as "tomato and cheese salad." Furthermore, if any necessary ingredients are missing, they can be instantly ordered through an online store. In this case, the generative AI model uses prompts like the following to select the optimal recipe.
[0103] Example prompt: "Please suggest a dinner recipe using tomatoes and cheese I have in the refrigerator. Please also make it possible to order any missing ingredients via delivery."
[0104] In this way, users can make the most of the ingredients they have and easily obtain additional ingredients as needed, making everyday cooking more efficient and creative.
[0105] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0106] Step 1:
[0107] The user scans food items in the refrigerator using their smartphone camera. The input is an image of the food, and the output is identified food information. OpenCV is used to analyze the image and process the data to identify the type and quantity of food. Specifically, the user points the camera at the food on their smartphone screen, and the app automatically takes an image and starts the analysis.
[0108] Step 2:
[0109] The device sends identified food information to the server. The input is the food information obtained in step 1, and the output is the completion of sending the information to the server. Data processing is performed to packetize the data over the network and send it to the server's API. Specifically, the smartphone uses Wi-Fi or mobile data to send the information to the cloud server.
[0110] Step 3:
[0111] The server analyzes the food information it receives and searches for corresponding cooking procedures by referring to a database. The input is food information, and the output is a list of candidate recipes. A generative AI model is run using Python and Django to process the data and obtain multiple recipe candidates related to the food. Specifically, the server searches the database and selects the optimal recipe.
[0112] Step 4:
[0113] The server sends the retrieved cooking procedure information to the terminal. The input is the cooking procedure information, and the output is the completion of the delivery of the recipe information to the terminal. Data is structured via Django, and data calculations are performed to send it to the client. Specifically, the server packets the recipe information in JSON format or similar and sends it to the smartphone.
[0114] Step 5:
[0115] The device displays cooking procedure information received by the terminal in a visual format for the user. The input is recipe information from the server, and the output is a user-viewable recipe display. The information is rendered to fit the smartphone display and the data is processed to provide it in an easy-to-read format for the user. Specifically, the app uses a GUI to display the information in list format or step-by-step, making it easy for the user to understand.
[0116] Step 6:
[0117] Based on the cooking instructions displayed to the user, the app connects to an external service to purchase any missing ingredients. The input is information about the missing ingredients, and the output is a confirmation of the purchase process. An API is used to connect with the external purchasing service and perform data calculations to initiate the purchase process. Specifically, the app presents the user with purchase options, allowing them to directly order the necessary ingredients.
[0118] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0119] The system of the present invention begins with the user scanning food items in a refrigerator using a terminal they possess. The user acquires the barcode or image of the food items using a camera or scanner. The terminal is also equipped with an emotion engine that recognizes the user's emotions in real time. The terminal collects this information, identifies the details of the food items using identification means, and transmits this information to a server.
[0120] The server searches for available cooking procedures by analyzing food information, taking into account the user's emotional state detected by the emotion engine. For example, if the server determines that the user is tired, it can prioritize searching for simpler and less time-consuming recipes. Conversely, if the user is in a positive and adventurous emotional state, it can suggest slightly more challenging new recipes.
[0121] The explored recipes are sent to the device and presented to the user with visual or audio guidance. Here, a customized presentation based on an emotion engine is used, designed to enhance the user's psychological satisfaction. For example, the emotion engine selects visually pleasing color tones and adjusts the tone and volume of the presentation to the user's preferences.
[0122] As a concrete example, consider a scenario where a user scans for "zucchini," "chicken," and "tomato sauce." The emotion engine recognizes the user's desire to "relax" from their facial expressions and tone of voice. Based on this, the server suggests "easy zucchini and chicken stir-fry," and the terminal explains the procedure in a soft voice that promotes relaxation.
[0123] This system enables users to enjoy a more efficient and emotionally satisfying cooking experience. This approach, utilizing an emotion engine, personalizes the entire cooking process and provides support tailored to each individual's emotional state.
[0124] The following describes the processing flow.
[0125] Step 1:
[0126] The user uses the device's camera or scanner to scan barcodes or images of food items in the refrigerator. The device then retrieves the entered image or barcode information. In addition, the device's emotion engine collects emotional data from the user's facial expressions and voice.
[0127] Step 2:
[0128] The terminal uses recognition means to analyze food information and identify the type and quantity of those foods. This food information and emotional data are sent to the server. The emotional data includes information about the user's mental state.
[0129] Step 3:
[0130] The server analyzes the received food information and searches the database to identify available cooking procedures. The server also analyzes emotional data to determine the user's emotional state (e.g., fatigue, relaxation, excitement).
[0131] Step 4:
[0132] The server customizes the cooking procedure according to the user's emotional state. Specifically, if the user is tired, it selects a simple and quick recipe, while if they are excited, it presents a more challenging recipe.
[0133] Step 5:
[0134] The server sends the selected recipe to the terminal. The terminal then presents the received recipe information to the user, and the screen's color scheme and the tone of the voice guidance are adjusted based on emotional data.
[0135] Step 6:
[0136] The user begins cooking based on the information presented on the device. The device continuously operates an emotion engine, and can flexibly modify the cooking process and guidance if the user's emotions change.
[0137] (Example 2)
[0138] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0139] Conventional work suggestion systems have struggled to provide customized work procedures that take into account the user's emotional state. As a result, they have been unable to provide optimal support in response to the fatigue and motivational changes the user faces, and have therefore failed to increase the overall user satisfaction.
[0140] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0141] In this invention, the server includes means for identifying the type of item using identification means, means for analyzing item information transmitted to an information processing device and searching for a corresponding work procedure, and means for customizing work recommendations based on generated emotional information and presenting them to the user. This makes it possible to provide personalized work suggestions that take into account the user's emotional state.
[0142] "Identification means" refers to a device or method used to identify the type of article.
[0143] An "information processing device" is a device or system that analyzes transmitted data and generates specific work procedures or suggestions.
[0144] "Item information" refers to detailed data related to an item, which is necessary for identification and the generation of work procedures.
[0145] "Work procedure" refers to the detailed description of specific operations or methods generated based on item information.
[0146] "Generated emotional information" refers to data that recognizes and records the user's emotional state in real time.
[0147] "Customization" is the process of adjusting operations and procedures according to the individual user's needs and circumstances.
[0148] "Presenting to the user" means displaying or communicating generated information or procedures in a way that is easy for the user to understand.
[0149] The present invention aims to effectively manage and utilize items in a refrigerator using a user's personal device. The user acquires barcodes or images of items using hardware such as the device's camera or scanner. This information is analyzed by an identification means and used to identify the items.
[0150] The terminal is equipped with an emotion engine that recognizes the user's emotions in real time, analyzing the user's facial expressions and tone of voice. Once emotion information is generated, this and item information are sent to an information processing device. This information processing device, or server, generates appropriate work procedures based on the received data. Several generative AI models and database analysis methods are used for information processing. The server customizes these work procedures to provide content that is tailored to the user's emotional state.
[0151] Finally, the customized work procedure is sent to the terminal and presented to the user visually or audibly. For example, if the user scans "zucchini," "chicken," and "tomato sauce," and the emotion engine recognizes the emotion of "wanting to relax," the server will suggest "easy zucchini and chicken stir-fry," and the terminal will guide the user through the procedure in soft voice. Examples of prompts include "Tell me what ingredients I can use for tonight's dinner from the refrigerator" or "Please come up with a simple recipe."
[0152] This system allows users to utilize items in a more efficient and emotionally satisfying way. The emotion-driven approach personalizes the entire work process and provides a more comfortable user experience.
[0153] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0154] Step 1:
[0155] The user scans items inside the refrigerator using the terminal's camera or scanner. The input here is the barcode or image of the item. The terminal analyzes this using identification means and outputs information about the type of item. In this process, it recognizes barcodes and features through image analysis and identifies the corresponding item.
[0156] Step 2:
[0157] The device uses an emotion engine to recognize the user's emotional state in real time. Input includes the user's facial expressions and tone of voice, which are used to generate emotional data. The emotion engine analyzes audio and image data to output emotional states such as "I want to relax" or "I want to be adventurous." Specifically, it utilizes facial recognition and voice analysis technologies.
[0158] Step 3:
[0159] The terminal sends item information and emotion information to the server. The input is the information obtained in the previous step. After the data is sent, the server receives this information and begins analysis in the database. Based on the item information, the server searches for available work procedures and outputs the optimal procedure, taking the emotion information into consideration.
[0160] Step 4:
[0161] The server customizes the suggested work procedures using a generative AI model. Inputs include an item database and sentiment information, which are used to transform work procedures and generate recommendations tailored to the sentiment. The generative AI model learns user preferences based on past data and adjusts recipes and methods as needed.
[0162] Step 5:
[0163] Customized work procedures are sent to the terminal. The input in this case is a customized procedure generated on the server. The terminal receives this and outputs it to the user as visual and audio instructions. Specifically, the terminal uses recorded audio guides and videos to clearly present the work procedures to the user.
[0164] Step 6:
[0165] The user follows the provided work procedures and uses prompts to complete the task. Input consists of instructions from the terminal, which are executed by the user. The output is the result of the task to the user's satisfaction. Specific actions include cooking based on a provided recipe.
[0166] (Application Example 2)
[0167] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0168] The goal is to provide a system that improves the user's cooking experience by efficiently managing food in the refrigerator and suggesting cooking procedures tailored to the user's mood. Furthermore, it is required to reduce the hassle of shopping by automatically suggesting delivery orders when necessary ingredients are lacking.
[0169] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0170] In this invention, the server includes means for identifying the classification of food using identification means, means for analyzing food data transmitted to the server and searching for the corresponding cooking process, and means for presenting the searched cooking process information to the user. This enables personalized cooking suggestions that respond to the user's emotions.
[0171] "Identification means" refers to technologies for classifying food products, such as image analysis or barcode information, to identify the type of food product.
[0172] A "server" is a computer system that analyzes collected food data and searches for corresponding cooking processes.
[0173] "Food data" refers to information about the food inside the refrigerator, obtained through barcodes and image data.
[0174] A "cooking process" is a set of cooking procedures proposed based on analyzed food data.
[0175] "Presenting to the user" means providing the user with the explored cooking process information visually or audibly.
[0176] "Emotional data" refers to information about a user's emotional state, and is collected in real time.
[0177] "Recipe search" is the process of searching for the optimal cooking procedure on a server based on food data and emotional data.
[0178] "Delivery information" is generated when necessary ingredients are in short supply, and delivery is suggested to the user.
[0179] In the "Mode for Carrying Out the Invention," the system that realizes this application example mainly consists of a user's terminal and a server.
[0180] The user's device should ideally be a mobile information device such as a smartphone, which can acquire food data (barcodes and images) inside the refrigerator using its camera or scanner. The device also includes an emotion engine, which collects the user's emotional data in real time.
[0181] The server is equipped with advanced data analysis capabilities, using the Google® Cloud Vision API to identify food data and the Azure® Cognitive Services Emotion API to analyze emotional data. This allows the server to overlay food information and emotional information based on the collected data to search for the optimal cooking process.
[0182] Once a cooking step is identified, the information is presented to the user visually or audibly. Visually appealing colors and audio tones are selected according to the user's emotional state, thereby enhancing the user's psychological satisfaction.
[0183] For example, if a user scans for "tomatoes," "chicken," and "pasta," and the server recognizes that the user's mood is "I want to cook for fun," the server will suggest a new recipe for "Italian pasta" and generate delivery information if any ingredients are missing. This allows the user to efficiently obtain any missing ingredients while enjoying a fun cooking experience.
[0184] An example of a prompt to input into a generative AI model might be, "Please tell me a new recipe that suits my mood today. I have 'tomato,' 'chicken,' and 'pasta.'"
[0185] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0186] Step 1:
[0187] The device scans the food items in the user's refrigerator using its camera or scanner. The input is the barcode or image of the food items, which the device acquires and processes as food data. The output is pre-processed food data for identification. The device stores this data in temporary memory.
[0188] Step 2:
[0189] The device uses an emotion engine to capture the user's emotions in real time. The input is the user's face and voice tone, which is analyzed to generate emotion data. The output is the analyzed emotion data. The device also stores this data in temporary memory.
[0190] Step 3:
[0191] The terminal sends the acquired food data and emotion data to the server. The input is the food data and emotion data saved in the previous step. The output is the completion of the data transfer to the server. The terminal sends the data to the server via the network.
[0192] Step 4:
[0193] The server uses the Google Cloud Vision API to identify food data and determine the type of food. The input is the transferred food data, and the output is a list of identified foods. The server uses a machine learning model for identification.
[0194] Step 5:
[0195] The server analyzes emotion data using the Azure Cognitive Services Emotion API. The input is the transmitted emotion data, and the output is an evaluation of the emotional state as a result of the analysis. The server acquires and records the emotional state as numerical data.
[0196] Step 6:
[0197] The server searches for the optimal cooking process based on a food list and emotional assessment. The input is the identified food list and emotional assessment. The output is the explored cooking process. The server uses a database to select the best option from past recipe data.
[0198] Step 7:
[0199] The server sends the discovered cooking steps to the user's terminal. The input is the cooking steps, and the output is the display of step information on the user's terminal. The server securely transfers the data, and the terminal receives it.
[0200] Step 8:
[0201] The terminal guides the user through the cooking process visually or audibly. Input is cooking process information received from the server. Output is visual or audible instructions to the user. The terminal provides information in a tone that matches the user's emotions.
[0202] Step 9:
[0203] The server generates delivery information and proposes it to the user's terminal if any ingredients are missing. The input is a list of necessary ingredients based on the cooking process, and the output is delivery options. The server calls an external service to create the delivery information.
[0204] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0205] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0206] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0207] [Second Embodiment]
[0208] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0209] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0210] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0211] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0212] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0213] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0214] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0215] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0216] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0217] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0218] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0219] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0220] The system of the present invention begins with the user scanning the barcode or direct image of food items in the refrigerator using a camera or scanner on a terminal held by the user. The user scans the food items selected from the refrigerator using this terminal, and the terminal interprets the scans through an identification means and collects food information. This food information is then transmitted to a server.
[0221] The server analyzes the received food information and compares it with a variety of recipe information stored in the database. The server searches for multiple cooking procedures using the food in question and selects the optimal recipe based on pre-set conditions, such as cooking time, available ingredients, and difficulty level of the dish.
[0222] The selected recipe information is sent back to the terminal, which displays it to the user in a visualized format. This allows the user to intuitively understand the cooking procedure using the specified ingredients. The recipe display provides detailed information, including all necessary cooking steps, to assist the user in cooking.
[0223] As a concrete example, consider a scenario where a user scans for "tomatoes," "eggs," and "bacon." Based on this food information, the server searches its database for cooking instructions such as "bacon and tomato egg stir-fry" and selects the most relevant one. This information is then immediately sent to the terminal and presented to the user as a recipe detailing the necessary ingredients and steps. This process allows the user to efficiently utilize the limited ingredients in their refrigerator and try a variety of dishes.
[0224] With this system in operation, users can reduce the effort involved in daily cooking while gaining a creative and enriching culinary experience.
[0225] The following describes the processing flow.
[0226] Step 1:
[0227] The terminal activates its camera or scanner in response to user input. The user scans the food items inside the refrigerator, and the terminal recognizes the food information using a barcode reader or image processing.
[0228] Step 2:
[0229] The terminal formats the acquired food information and sends it to the server. This data includes food identification information.
[0230] Step 3:
[0231] The server receives food information sent from the terminal and identifies the type of food by analyzing barcodes and image data. The server then retrieves the corresponding data for that food from the database.
[0232] Step 4:
[0233] The server searches the database for recipes based on the identified food information. It selects the most suitable recipe by considering factors such as available ingredients, preparation time, and difficulty of cooking.
[0234] Step 5:
[0235] The server sends the selected recipe information to the terminal. The information sent includes the recipe name, required ingredients, cooking instructions, and estimated preparation time.
[0236] Step 6:
[0237] The terminal receives recipe information sent from the server and displays it to the user. The user can then refer to the displayed information and follow the suggested recipe to cook.
[0238] (Example 1)
[0239] Next, we will describe Example 1. 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."
[0240] In daily life, efficiently carrying out manufacturing activities using limited resources is difficult for many people. Furthermore, existing technologies cannot provide sufficiently optimized manufacturing procedures, and it is difficult to improve these procedures by incorporating user feedback. Therefore, there is a need to efficiently identify item information, provide optimal procedures, and improve the user experience.
[0241] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0242] In this invention, the server includes means for identifying the type of article using identification means, means for analyzing article information transmitted to a data processing device and searching for a corresponding manufacturing procedure, and means for displaying the searched manufacturing procedure information to the user. This allows the user to efficiently utilize the articles they have on hand and easily perform optimized manufacturing activities. Furthermore, by means for optimizing the procedure information obtained from the database based on usage conditions and means for generating and storing evaluation information from the user, continuous system improvement and increased user satisfaction can be achieved.
[0243] "Identification means" refers to a method or technique for identifying the type or characteristics of an article.
[0244] A "data processing device" refers to a system that receives information, analyzes and processes it, and then transmits the relevant data.
[0245] "Item information" refers to data about items obtained through scanning or code reading.
[0246] A "manufacturing procedure" refers to a series of processes or steps involved in carrying out a manufacturing activity using a particular item.
[0247] "Users" refer to individuals or entities that operate the system or receive information.
[0248] A "database" refers to a system for systematically storing and managing information and data.
[0249] "Evaluation information" refers to data related to feedback and evaluations provided by users.
[0250] "Optimizing" refers to maximizing or improving the performance of a procedure or system based on specific conditions.
[0251] The system of this invention aims to identify the type of item using a terminal that the user uses on a daily basis and to provide the optimal manufacturing procedure. The system consists of three main elements: a terminal, a server, and a database.
[0252] The user scans items using the camera and scanner built into the device. Specifically, the camera captures images of items in real time, and the scanner reads identification codes to obtain item information. The device uses image processing libraries such as OpenCV and barcode scanning libraries such as ZXing to identify the type and characteristics of the items.
[0253] Identified item information is sent from the terminal to the server. The server analyzes the received item information and compares it with the database. The server uses SQL to search for manufacturing procedures in the database and selects the most appropriate procedure based on pre-configured conditions. This database uses a database management system such as MySQL or PostgreSQL to store information about product type, manufacturing process, and required resources.
[0254] The manufacturing procedure information selected by the server is sent back to the terminal. The terminal visually presents the procedure information to the user through a user interface to help them understand the procedure. The terminal uses React Native and Flutter to build a GUI that is intuitive for the user to operate.
[0255] Users can use this system to efficiently utilize their available resources, conduct optimized manufacturing activities, and contribute to the continuous improvement of the system by providing feedback. This feedback is collected at the terminal and sent back to the server to help optimize manufacturing procedures.
[0256] As a concrete example, let's look at an example of a prompt message: "Please tell me what I can make with the ingredients I have in my refrigerator. The ingredients are 'tomatoes,' 'eggs,' and 'bacon.'" By entering such a prompt message, the user can receive the optimal cooking procedure provided by the system.
[0257] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0258] Step 1:
[0259] The user scans an object using the device's camera or scanner. During this process, the user positions the object within the camera's field of view, maintaining an appropriate distance and focusing. The input is either an image of the object captured by the camera or an identification code read by the scanner. The output is data containing the feature information necessary for identification extracted from this input data. At this stage, the image is preprocessed using an image processing library, and the code data is obtained using an identification code reading library.
[0260] Step 2:
[0261] The terminal analyzes the acquired identification information. The input is the feature information and identification code obtained in step 1. The terminal uses image analysis and code recognition techniques to identify the type and characteristics of the item. As output, item type data (e.g., category, name) is generated. In this process, OpenCV and ZXing are used to structure the item information.
[0262] Step 3:
[0263] The terminal sends the analyzed item information to the server. The input is the item type data generated in step 2. The server receives this information and prepares to compare it with the database. The output is the item information formatted into a data format for processing by the server. During this process, the information is converted to JSON format and transferred to the server via a secure communication channel.
[0264] Step 4:
[0265] The server analyzes the received item information and searches for relevant manufacturing procedures. The input is the item information sent in step 3. The server searches the database using SQL and extracts procedure information related to the item. The output is a list of manufacturing procedures that best meet the criteria. The server also applies condition filtering (e.g., within a specific time frame or difficulty level).
[0266] Step 5:
[0267] The server sends the selected manufacturing procedure information back to the terminal. The input is the list of manufacturing procedures generated in step 4. The output is the procedure information, formatted in a user-friendly format, delivered to the terminal. This information is prepared in JSON format and transmitted via secure communication.
[0268] Step 6:
[0269] The terminal displays the received manufacturing procedure information on the user interface. The input is the procedure information received in step 5. The terminal uses a visualization tool to display the procedure in a sequential manner. The output is a manufacturing procedure display on a GUI that is intuitive for the user to operate. The user can check the steps on the screen and proceed with the manufacturing activity smoothly.
[0270] Step 7:
[0271] Users can provide feedback after the manufacturing process. Input is user evaluation information (e.g., star rating, comments). The terminal collects this feedback and sends it to the server. Output is evaluation data based on the user experience. This data is used for continuous improvement of the system.
[0272] (Application Example 1)
[0273] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0274] Cooking at home presents challenges in making the most of the limited ingredients available in the refrigerator, and it's also difficult to efficiently replenish any missing ingredients. For beginner cooks and busy people in particular, choosing the right recipe and sourcing the necessary ingredients can be a significant burden.
[0275] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0276] In this invention, the server includes means for identifying the type of food using identification means, means for analyzing food information transmitted to the server and searching for a corresponding cooking procedure, means for displaying the searched cooking procedure information to the user, and means for connecting to an external service for purchasing any missing ingredients based on the displayed cooking procedure. This makes it possible to efficiently utilize the ingredients in the refrigerator and quickly procure any missing ingredients to prepare a meal.
[0277] "Identification means" refers to technical means used to identify the type of food.
[0278] "Food information" refers to data including the types and quantities of food in the refrigerator, which is sent to the server for analysis.
[0279] A "server" is a computer system that receives food information, analyzes it, and searches for appropriate cooking procedures.
[0280] "Cooking instructions" refer to information that describes the methods and processes for preparing a meal using selected food items.
[0281] "External services" refer to online or offline purchasing services used when acquiring necessary materials.
[0282] "Image analysis technology" refers to technology for analyzing images of food using a camera or similar device and recognizing its type and characteristics.
[0283] "Barcode information" refers to barcode data attached to food and is information used for food identification.
[0284] The embodiments for implementing the invention are as follows.
[0285] This system is mainly composed of the cooperation of a smartphone, a server, a database, and external services. Users can use the application installed on the smartphone to scan the food in the refrigerator. The smartphone camera is used for this scan, and food identification is performed by image analysis technology utilizing OpenCV. When the food has a barcode, it is also possible to identify the type of food using the barcode information.
[0286] The food information obtained as a result of the scan is transmitted to the server via the network. The server operates using the Django framework and analyzes the received food information. The analyzed information is collated in the database, and appropriate cooking procedures are searched for. In this process, the generative AI model, which is the core of the present invention, is used to generate multiple recipe candidates.
[0287] The cooking procedure information transmitted from the server is returned to the smartphone again, and the user can visually confirm it. At this time, the application presents the recipe in an intuitive and easy-to-understand form through the user interface. Furthermore, if there are missing ingredients based on the displayed cooking procedure, the application cooperates with external services (such as an online store) and provides an option to directly purchase the ingredients.
[0288] For example, if a user scans "tomatoes" and "cheese" in their refrigerator, the application will suggest recipes such as "tomato and cheese salad." Furthermore, if any necessary ingredients are missing, they can be instantly ordered through an online store. In this case, the generative AI model uses prompts like the following to select the optimal recipe.
[0289] Example prompt: "Please suggest a dinner recipe using tomatoes and cheese I have in the refrigerator. Please also make it possible to order any missing ingredients via delivery."
[0290] In this way, users can make the most of the ingredients they have and easily obtain additional ingredients as needed, making everyday cooking more efficient and creative.
[0291] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0292] Step 1:
[0293] The user scans food items in the refrigerator using their smartphone camera. The input is an image of the food, and the output is identified food information. OpenCV is used to analyze the image and process the data to identify the type and quantity of food. Specifically, the user points the camera at the food on their smartphone screen, and the app automatically takes an image and starts the analysis.
[0294] Step 2:
[0295] The device sends identified food information to the server. The input is the food information obtained in step 1, and the output is the completion of sending the information to the server. Data processing is performed to packetize the data over the network and send it to the server's API. Specifically, the smartphone uses Wi-Fi or mobile data to send the information to the cloud server.
[0296] Step 3:
[0297] The server analyzes the food information it receives and searches for corresponding cooking procedures by referring to a database. The input is food information, and the output is a list of candidate recipes. A generative AI model is run using Python and Django to process the data and obtain multiple recipe candidates related to the food. Specifically, the server searches the database and selects the optimal recipe.
[0298] Step 4:
[0299] The server sends the retrieved cooking procedure information to the terminal. The input is the cooking procedure information, and the output is the completion of the delivery of the recipe information to the terminal. Data is structured via Django, and data calculations are performed to send it to the client. Specifically, the server packets the recipe information in JSON format or similar and sends it to the smartphone.
[0300] Step 5:
[0301] The device displays cooking procedure information received by the terminal in a visual format for the user. The input is recipe information from the server, and the output is a user-viewable recipe display. The information is rendered to fit the smartphone display and the data is processed to provide it in an easy-to-read format for the user. Specifically, the app uses a GUI to display the information in list format or step-by-step, making it easy for the user to understand.
[0302] Step 6:
[0303] Based on the cooking instructions displayed to the user, the app connects to an external service to purchase any missing ingredients. The input is information about the missing ingredients, and the output is a confirmation of the purchase process. An API is used to connect with the external purchasing service and perform data calculations to initiate the purchase process. Specifically, the app presents the user with purchase options, allowing them to directly order the necessary ingredients.
[0304] Furthermore, an emotion engine for estimating the user's emotions may be combined. That is, the specific processing unit 290 may estimate the user's emotions using the emotion identification model 59 and perform specific processing using the user's emotions.
[0305] The system of the present invention begins with the user's terminal scanning the food in the refrigerator. The user uses a camera or scanner to obtain the barcode or image of the food. In addition, the terminal is equipped with an emotion engine that recognizes the user's emotions in real time. The terminal collects this information, identifies the details of the food using the identification means, and transmits the information to the server.
[0306] The server explores available cooking procedures by analyzing the food information. At this time, the emotional state of the user detected by the emotion engine is taken into consideration. For example, if the user is judged to be tired, the server can preferentially search for easier and less time-consuming recipes. Also, when the user is in a good mood and adventurous emotional state, it is possible to propose slightly challenging new recipes.
[0307] [[ID=!2]]The explored recipes are transmitted to the terminal and presented to the user visually or with voice guidance. Here, a customized presentation based on the emotion engine is performed, which is designed to enhance the user's psychological satisfaction. For example, the emotion engine selects a visually pleasing color tone, or adjusts the tone and volume of the presentation according to the user's preferences.
[0308] As a specific example, consider the case where the user scans "zucchini", "chicken", and "tomato sauce". The emotion engine recognizes the emotion of "wanting to relax" from the user's expression and voice tone. Based on this, the server proposes "easy stir-fried zucchini and chicken", and the terminal explains the procedure in a soft voice that promotes a sense of relaxation.
[0309] This system enables users to enjoy a more efficient and emotionally satisfying cooking experience. This approach, utilizing an emotion engine, personalizes the entire cooking process and provides support tailored to each individual's emotional state.
[0310] The following describes the processing flow.
[0311] Step 1:
[0312] The user uses the device's camera or scanner to scan barcodes or images of food items in the refrigerator. The device then retrieves the entered image or barcode information. In addition, the device's emotion engine collects emotional data from the user's facial expressions and voice.
[0313] Step 2:
[0314] The terminal uses recognition means to analyze food information and identify the type and quantity of those foods. This food information and emotional data are sent to the server. The emotional data includes information about the user's mental state.
[0315] Step 3:
[0316] The server analyzes the received food information and searches the database to identify available cooking procedures. The server also analyzes emotional data to determine the user's emotional state (e.g., fatigue, relaxation, excitement).
[0317] Step 4:
[0318] The server customizes the cooking procedure according to the user's emotional state. Specifically, if the user is tired, it selects a simple and quick recipe, while if they are excited, it presents a more challenging recipe.
[0319] Step 5:
[0320] The server sends the selected recipe to the terminal. The terminal then presents the received recipe information to the user, and the screen's color scheme and the tone of the voice guidance are adjusted based on emotional data.
[0321] Step 6:
[0322] The user begins cooking based on the information presented on the device. The device continuously operates an emotion engine, and can flexibly modify the cooking process and guidance if the user's emotions change.
[0323] (Example 2)
[0324] Next, we will describe Example 2. 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".
[0325] Conventional work suggestion systems have struggled to provide customized work procedures that take into account the user's emotional state. As a result, they have been unable to provide optimal support in response to the fatigue and motivational changes the user faces, and have therefore failed to increase the overall user satisfaction.
[0326] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0327] In this invention, the server includes means for identifying the type of item using identification means, means for analyzing item information transmitted to an information processing device and searching for a corresponding work procedure, and means for customizing work recommendations based on generated emotional information and presenting them to the user. This makes it possible to provide personalized work suggestions that take into account the user's emotional state.
[0328] "Identification means" refers to a device or method used to identify the type of article.
[0329] An "information processing device" is a device or system that analyzes transmitted data and generates specific work procedures or suggestions.
[0330] "Item information" refers to detailed data related to an item, which is necessary for identification and the generation of work procedures.
[0331] "Work procedure" refers to the detailed description of specific operations or methods generated based on item information.
[0332] "Generated emotional information" refers to data that recognizes and records the user's emotional state in real time.
[0333] "Customization" is the process of adjusting operations and procedures according to the individual user's needs and circumstances.
[0334] "Presenting to the user" means displaying or communicating generated information or procedures in a way that is easy for the user to understand.
[0335] The present invention aims to effectively manage and utilize items in a refrigerator using a user's personal device. The user acquires barcodes or images of items using hardware such as the device's camera or scanner. This information is analyzed by an identification means and used to identify the items.
[0336] The terminal is equipped with an emotion engine that recognizes the user's emotions in real time, analyzing the user's facial expressions and tone of voice. Once emotion information is generated, this and item information are sent to an information processing device. This information processing device, or server, generates appropriate work procedures based on the received data. Several generative AI models and database analysis methods are used for information processing. The server customizes these work procedures to provide content that is tailored to the user's emotional state.
[0337] Finally, the customized work procedure is sent to the terminal and presented to the user visually or audibly. For example, if the user scans "zucchini," "chicken," and "tomato sauce," and the emotion engine recognizes the emotion of "wanting to relax," the server will suggest "easy zucchini and chicken stir-fry," and the terminal will guide the user through the procedure in soft voice. Examples of prompts include "Tell me what ingredients I can use for tonight's dinner from the refrigerator" or "Please come up with a simple recipe."
[0338] This system allows users to utilize items in a more efficient and emotionally satisfying way. The emotion-driven approach personalizes the entire work process and provides a more comfortable user experience.
[0339] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0340] Step 1:
[0341] The user scans items inside the refrigerator using the terminal's camera or scanner. The input here is the barcode or image of the item. The terminal analyzes this using identification means and outputs information about the type of item. In this process, it recognizes barcodes and features through image analysis and identifies the corresponding item.
[0342] Step 2:
[0343] The device uses an emotion engine to recognize the user's emotional state in real time. Input includes the user's facial expressions and tone of voice, which are used to generate emotional data. The emotion engine analyzes audio and image data to output emotional states such as "I want to relax" or "I want to be adventurous." Specifically, it utilizes facial recognition and voice analysis technologies.
[0344] Step 3:
[0345] The terminal sends item information and emotion information to the server. The input is the information obtained in the previous step. After the data is sent, the server receives this information and begins analysis in the database. Based on the item information, the server searches for available work procedures and outputs the optimal procedure, taking the emotion information into consideration.
[0346] Step 4:
[0347] The server customizes the suggested work procedures using a generative AI model. Inputs include an item database and sentiment information, which are used to transform work procedures and generate recommendations tailored to the sentiment. The generative AI model learns user preferences based on past data and adjusts recipes and methods as needed.
[0348] Step 5:
[0349] Customized work procedures are sent to the terminal. The input in this case is a customized procedure generated on the server. The terminal receives this and outputs it to the user as visual and audio instructions. Specifically, the terminal uses recorded audio guides and videos to clearly present the work procedures to the user.
[0350] Step 6:
[0351] The user follows the provided work procedures and uses prompts to complete the task. Input consists of instructions from the terminal, which are executed by the user. The output is the result of the task to the user's satisfaction. Specific actions include cooking based on a provided recipe.
[0352] (Application Example 2)
[0353] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0354] The goal is to provide a system that improves the user's cooking experience by efficiently managing food in the refrigerator and suggesting cooking procedures tailored to the user's mood. Furthermore, it is required to reduce the hassle of shopping by automatically suggesting delivery orders when necessary ingredients are lacking.
[0355] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0356] In this invention, the server includes means for identifying the classification of food using identification means, means for analyzing food data transmitted to the server and searching for the corresponding cooking process, and means for presenting the searched cooking process information to the user. This enables personalized cooking suggestions that respond to the user's emotions.
[0357] "Identification means" refers to technologies for classifying food products, such as image analysis or barcode information, to identify the type of food product.
[0358] A "server" is a computer system that analyzes collected food data and searches for corresponding cooking processes.
[0359] "Food data" refers to information about the food inside the refrigerator, obtained through barcodes and image data.
[0360] A "cooking process" is a set of cooking procedures proposed based on analyzed food data.
[0361] "Presenting to the user" means providing the user with the explored cooking process information visually or audibly.
[0362] "Emotional data" refers to information about a user's emotional state, and is collected in real time.
[0363] "Recipe search" is the process of searching for the optimal cooking procedure on a server based on food data and emotional data.
[0364] "Delivery information" is generated when necessary ingredients are in short supply, and delivery is suggested to the user.
[0365] In the "Mode for Carrying Out the Invention," the system that realizes this application example mainly consists of a user's terminal and a server.
[0366] The user's device should ideally be a mobile information device such as a smartphone, which can acquire food data (barcodes and images) inside the refrigerator using its camera or scanner. The device also includes an emotion engine, which collects the user's emotional data in real time.
[0367] The server is equipped with advanced data analysis capabilities, using the Google Cloud Vision API to identify food data and the Azure Cognitive Services Emotion API to analyze emotional data. This allows the server to overlay food information and emotional information based on the collected data to explore the optimal cooking process.
[0368] Once a cooking step is identified, the information is presented to the user visually or audibly. Visually appealing colors and audio tones are selected according to the user's emotional state, thereby enhancing the user's psychological satisfaction.
[0369] For example, if a user scans for "tomatoes," "chicken," and "pasta," and the server recognizes that the user's mood is "I want to cook for fun," the server will suggest a new recipe for "Italian pasta" and generate delivery information if any ingredients are missing. This allows the user to efficiently obtain any missing ingredients while enjoying a fun cooking experience.
[0370] An example of a prompt to input into a generative AI model might be, "Please tell me a new recipe that suits my mood today. I have 'tomato,' 'chicken,' and 'pasta.'"
[0371] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0372] Step 1:
[0373] The device scans the food items in the user's refrigerator using its camera or scanner. The input is the barcode or image of the food items, which the device acquires and processes as food data. The output is pre-processed food data for identification. The device stores this data in temporary memory.
[0374] Step 2:
[0375] The device uses an emotion engine to capture the user's emotions in real time. The input is the user's face and voice tone, which is analyzed to generate emotion data. The output is the analyzed emotion data. The device also stores this data in temporary memory.
[0376] Step 3:
[0377] The terminal sends the acquired food data and emotion data to the server. The input is the food data and emotion data saved in the previous step. The output is the completion of the data transfer to the server. The terminal sends the data to the server via the network.
[0378] Step 4:
[0379] The server uses the Google Cloud Vision API to identify food data and determine the type of food. The input is the transferred food data, and the output is a list of identified foods. The server uses a machine learning model for identification.
[0380] Step 5:
[0381] The server analyzes emotion data using the Azure Cognitive Services Emotion API. The input is the transmitted emotion data, and the output is an evaluation of the emotional state as a result of the analysis. The server acquires and records the emotional state as numerical data.
[0382] Step 6:
[0383] The server searches for the optimal cooking process based on a food list and emotional assessment. The input is the identified food list and emotional assessment. The output is the explored cooking process. The server uses a database to select the best option from past recipe data.
[0384] Step 7:
[0385] The server sends the discovered cooking steps to the user's terminal. The input is the cooking steps, and the output is the display of step information on the user's terminal. The server securely transfers the data, and the terminal receives it.
[0386] Step 8:
[0387] The terminal guides the user through the cooking process visually or audibly. Input is cooking process information received from the server. Output is visual or audible instructions to the user. The terminal provides information in a tone that matches the user's emotions.
[0388] Step 9:
[0389] The server generates delivery information and proposes it to the user's terminal if any ingredients are missing. The input is a list of necessary ingredients based on the cooking process, and the output is delivery options. The server calls an external service to create the delivery information.
[0390] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0391] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0392] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0393] [Third Embodiment]
[0394] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0395] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0396] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0397] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0398] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0399] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0400] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0401] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0402] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0403] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0404] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0405] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0406] The system of the present invention begins with the user scanning the barcode or direct image of food items in the refrigerator using a camera or scanner on a terminal held by the user. The user scans the food items selected from the refrigerator using this terminal, and the terminal interprets the scans through an identification means and collects food information. This food information is then transmitted to a server.
[0407] The server analyzes the received food information and compares it with a variety of recipe information stored in the database. The server searches for multiple cooking procedures using the food in question and selects the optimal recipe based on pre-set conditions, such as cooking time, available ingredients, and difficulty level of the dish.
[0408] The selected recipe information is sent back to the terminal, which displays it to the user in a visualized format. This allows the user to intuitively understand the cooking procedure using the specified ingredients. The recipe display provides detailed information, including all necessary cooking steps, to assist the user in cooking.
[0409] As a concrete example, consider a scenario where a user scans for "tomatoes," "eggs," and "bacon." Based on this food information, the server searches its database for cooking instructions such as "bacon and tomato egg stir-fry" and selects the most relevant one. This information is then immediately sent to the terminal and presented to the user as a recipe detailing the necessary ingredients and steps. This process allows the user to efficiently utilize the limited ingredients in their refrigerator and try a variety of dishes.
[0410] With this system in operation, users can reduce the effort involved in daily cooking while gaining a creative and enriching culinary experience.
[0411] The following describes the processing flow.
[0412] Step 1:
[0413] The terminal activates its camera or scanner in response to user input. The user scans the food items inside the refrigerator, and the terminal recognizes the food information using a barcode reader or image processing.
[0414] Step 2:
[0415] The terminal formats the acquired food information and sends it to the server. This data includes food identification information.
[0416] Step 3:
[0417] The server receives food information sent from the terminal and identifies the type of food by analyzing barcodes and image data. The server then retrieves the corresponding data for that food from the database.
[0418] Step 4:
[0419] The server searches the database for recipes based on the identified food information. It selects the most suitable recipe by considering factors such as available ingredients, preparation time, and difficulty of cooking.
[0420] Step 5:
[0421] The server sends the selected recipe information to the terminal. The information sent includes the recipe name, required ingredients, cooking instructions, and estimated preparation time.
[0422] Step 6:
[0423] The terminal receives recipe information sent from the server and displays it to the user. The user can then refer to the displayed information and follow the suggested recipe to cook.
[0424] (Example 1)
[0425] Next, we will describe Example 1. 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."
[0426] In daily life, efficiently carrying out manufacturing activities using limited resources is difficult for many people. Furthermore, existing technologies cannot provide sufficiently optimized manufacturing procedures, and it is difficult to improve these procedures by incorporating user feedback. Therefore, there is a need to efficiently identify item information, provide optimal procedures, and improve the user experience.
[0427] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0428] In this invention, the server includes means for identifying the type of article using identification means, means for analyzing article information transmitted to a data processing device and searching for a corresponding manufacturing procedure, and means for displaying the searched manufacturing procedure information to the user. This allows the user to efficiently utilize the articles they have on hand and easily perform optimized manufacturing activities. Furthermore, by means for optimizing the procedure information obtained from the database based on usage conditions and means for generating and storing evaluation information from the user, continuous system improvement and increased user satisfaction can be achieved.
[0429] "Identification means" refers to a method or technique for identifying the type or characteristics of an article.
[0430] A "data processing device" refers to a system that receives information, analyzes and processes it, and then transmits the relevant data.
[0431] "Item information" refers to data about items obtained through scanning or code reading.
[0432] A "manufacturing procedure" refers to a series of processes or steps involved in carrying out a manufacturing activity using a particular item.
[0433] "Users" refer to individuals or entities that operate the system or receive information.
[0434] A "database" refers to a system for systematically storing and managing information and data.
[0435] "Evaluation information" refers to data related to feedback and evaluations provided by users.
[0436] "Optimizing" refers to maximizing or improving the performance of a procedure or system based on specific conditions.
[0437] The system of this invention aims to identify the type of item using a terminal that the user uses on a daily basis and to provide the optimal manufacturing procedure. The system consists of three main elements: a terminal, a server, and a database.
[0438] The user scans items using the camera and scanner built into the device. Specifically, the camera captures images of items in real time, and the scanner reads identification codes to obtain item information. The device uses image processing libraries such as OpenCV and barcode scanning libraries such as ZXing to identify the type and characteristics of the items.
[0439] Identified item information is sent from the terminal to the server. The server analyzes the received item information and compares it with the database. The server uses SQL to search for manufacturing procedures in the database and selects the most appropriate procedure based on pre-configured conditions. This database uses a database management system such as MySQL or PostgreSQL to store information about product type, manufacturing process, and required resources.
[0440] The manufacturing procedure information selected by the server is sent back to the terminal. The terminal visually presents the procedure information to the user through a user interface to help them understand the procedure. The terminal uses React Native and Flutter to build a GUI that is intuitive for the user to operate.
[0441] Users can use this system to efficiently utilize their available resources, conduct optimized manufacturing activities, and contribute to the continuous improvement of the system by providing feedback. This feedback is collected at the terminal and sent back to the server to help optimize manufacturing procedures.
[0442] As a concrete example, let's look at an example of a prompt message: "Please tell me what I can make with the ingredients I have in my refrigerator. The ingredients are 'tomatoes,' 'eggs,' and 'bacon.'" By entering such a prompt message, the user can receive the optimal cooking procedure provided by the system.
[0443] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0444] Step 1:
[0445] The user scans an object using the device's camera or scanner. During this process, the user positions the object within the camera's field of view, maintaining an appropriate distance and focusing. The input is either an image of the object captured by the camera or an identification code read by the scanner. The output is data containing the feature information necessary for identification extracted from this input data. At this stage, the image is preprocessed using an image processing library, and the code data is obtained using an identification code reading library.
[0446] Step 2:
[0447] The terminal analyzes the acquired identification information. The input is the feature information and identification code obtained in step 1. The terminal uses image analysis and code recognition techniques to identify the type and characteristics of the item. As output, item type data (e.g., category, name) is generated. In this process, OpenCV and ZXing are used to structure the item information.
[0448] Step 3:
[0449] The terminal sends the analyzed item information to the server. The input is the item type data generated in step 2. The server receives this information and prepares to compare it with the database. The output is the item information formatted into a data format for processing by the server. During this process, the information is converted to JSON format and transferred to the server via a secure communication channel.
[0450] Step 4:
[0451] The server analyzes the received item information and searches for relevant manufacturing procedures. The input is the item information sent in step 3. The server searches the database using SQL and extracts procedure information related to the item. The output is a list of manufacturing procedures that best meet the criteria. The server also applies condition filtering (e.g., within a specific time frame or difficulty level).
[0452] Step 5:
[0453] The server sends the selected manufacturing procedure information back to the terminal. The input is the list of manufacturing procedures generated in step 4. The output is the procedure information, formatted in a user-friendly format, delivered to the terminal. This information is prepared in JSON format and transmitted via secure communication.
[0454] Step 6:
[0455] The terminal displays the received manufacturing procedure information on the user interface. The input is the procedure information received in step 5. The terminal uses a visualization tool to display the procedure in a sequential manner. The output is a manufacturing procedure display on a GUI that is intuitive for the user to operate. The user can check the steps on the screen and proceed with the manufacturing activity smoothly.
[0456] Step 7:
[0457] Users can provide feedback after the manufacturing process. Input is user evaluation information (e.g., star rating, comments). The terminal collects this feedback and sends it to the server. Output is evaluation data based on the user experience. This data is used for continuous improvement of the system.
[0458] (Application Example 1)
[0459] Next, we will explain Application Example 1. In the following explanation, 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."
[0460] Cooking at home presents challenges in making the most of the limited ingredients available in the refrigerator, and it's also difficult to efficiently replenish any missing ingredients. For beginner cooks and busy people in particular, choosing the right recipe and sourcing the necessary ingredients can be a significant burden.
[0461] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0462] In this invention, the server includes means for identifying the type of food using identification means, means for analyzing food information transmitted to the server and searching for a corresponding cooking procedure, means for displaying the searched cooking procedure information to the user, and means for connecting to an external service for purchasing any missing ingredients based on the displayed cooking procedure. This makes it possible to efficiently utilize the ingredients in the refrigerator and quickly procure any missing ingredients to prepare a meal.
[0463] "Identification means" refers to technical means used to identify the type of food.
[0464] "Food information" refers to data including the types and quantities of food in the refrigerator, which is sent to the server for analysis.
[0465] A "server" is a computer system that receives food information, analyzes it, and searches for appropriate cooking procedures.
[0466] "Cooking instructions" refer to information that describes the methods and processes for preparing a meal using selected food items.
[0467] "External services" refer to online or offline purchasing services used when acquiring necessary materials.
[0468] "Image analysis technology" is a technique that uses cameras or similar devices to analyze images of food and recognize its type and characteristics.
[0469] "Barcode information" refers to barcode data attached to food products, and is used to identify those products.
[0470] The following are the embodiments for carrying out the invention.
[0471] This system primarily consists of smartphones, servers, databases, and integration with external services. Users can scan food items in their refrigerators using an application installed on their smartphones. This scanning utilizes the smartphone's camera, and food identification is performed using image analysis technology powered by OpenCV. If the food items have barcodes, the barcode information can also be used to identify the type of food item.
[0472] The food information obtained from the scan is transmitted to a server via the network. The server, which runs on the Django framework, analyzes the received food information. The analyzed information is cross-referenced with a database to search for appropriate cooking procedures. In this process, the generative AI model, which is the core of this invention, is used to generate multiple recipe candidates.
[0473] The cooking procedure information sent from the server is returned to the smartphone, where the user can visually confirm it. The application presents the recipe in an intuitive and easy-to-understand format through its user interface. Furthermore, if any ingredients are missing based on the displayed cooking procedure, the application integrates with external services (e.g., online stores) to provide an option to purchase the ingredients directly.
[0474] For example, if a user scans "tomatoes" and "cheese" in their refrigerator, the application will suggest recipes such as "tomato and cheese salad." Furthermore, if any necessary ingredients are missing, they can be instantly ordered through an online store. In this case, the generative AI model uses prompts like the following to select the optimal recipe.
[0475] Example prompt: "Please suggest a dinner recipe using tomatoes and cheese I have in the refrigerator. Please also make it possible to order any missing ingredients via delivery."
[0476] In this way, users can make the most of the ingredients they have and easily obtain additional ingredients as needed, making everyday cooking more efficient and creative.
[0477] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0478] Step 1:
[0479] The user scans food items in the refrigerator using their smartphone camera. The input is an image of the food, and the output is identified food information. OpenCV is used to analyze the image and process the data to identify the type and quantity of food. Specifically, the user points the camera at the food on their smartphone screen, and the app automatically takes an image and starts the analysis.
[0480] Step 2:
[0481] The device sends identified food information to the server. The input is the food information obtained in step 1, and the output is the completion of sending the information to the server. Data processing is performed to packetize the data over the network and send it to the server's API. Specifically, the smartphone uses Wi-Fi or mobile data to send the information to the cloud server.
[0482] Step 3:
[0483] The server analyzes the food information it receives and searches for corresponding cooking procedures by referring to a database. The input is food information, and the output is a list of candidate recipes. A generative AI model is run using Python and Django to process the data and obtain multiple recipe candidates related to the food. Specifically, the server searches the database and selects the optimal recipe.
[0484] Step 4:
[0485] The server sends the retrieved cooking procedure information to the terminal. The input is the cooking procedure information, and the output is the completion of the delivery of the recipe information to the terminal. Data is structured via Django, and data calculations are performed to send it to the client. Specifically, the server packets the recipe information in JSON format or similar and sends it to the smartphone.
[0486] Step 5:
[0487] The device displays cooking procedure information received by the terminal in a visual format for the user. The input is recipe information from the server, and the output is a user-viewable recipe display. The information is rendered to fit the smartphone display and the data is processed to provide it in an easy-to-read format for the user. Specifically, the app uses a GUI to display the information in list format or step-by-step, making it easy for the user to understand.
[0488] Step 6:
[0489] Based on the cooking instructions displayed to the user, the app connects to an external service to purchase any missing ingredients. The input is information about the missing ingredients, and the output is a confirmation of the purchase process. An API is used to connect with the external purchasing service and perform data calculations to initiate the purchase process. Specifically, the app presents the user with purchase options, allowing them to directly order the necessary ingredients.
[0490] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0491] The system of the present invention begins with the user scanning food items in a refrigerator using a terminal they possess. The user acquires the barcode or image of the food items using a camera or scanner. The terminal is also equipped with an emotion engine that recognizes the user's emotions in real time. The terminal collects this information, identifies the details of the food items using identification means, and transmits this information to a server.
[0492] The server searches for available cooking procedures by analyzing food information, taking into account the user's emotional state detected by the emotion engine. For example, if the server determines that the user is tired, it can prioritize searching for simpler and less time-consuming recipes. Conversely, if the user is in a positive and adventurous emotional state, it can suggest slightly more challenging new recipes.
[0493] The explored recipes are sent to the device and presented to the user with visual or audio guidance. Here, a customized presentation based on an emotion engine is used, designed to enhance the user's psychological satisfaction. For example, the emotion engine selects visually pleasing color tones and adjusts the tone and volume of the presentation to the user's preferences.
[0494] As a concrete example, consider a scenario where a user scans for "zucchini," "chicken," and "tomato sauce." The emotion engine recognizes the user's desire to "relax" from their facial expressions and tone of voice. Based on this, the server suggests "easy zucchini and chicken stir-fry," and the terminal explains the procedure in a soft voice that promotes relaxation.
[0495] This system enables users to enjoy a more efficient and emotionally satisfying cooking experience. This approach, utilizing an emotion engine, personalizes the entire cooking process and provides support tailored to each individual's emotional state.
[0496] The following describes the processing flow.
[0497] Step 1:
[0498] The user uses the device's camera or scanner to scan barcodes or images of food items in the refrigerator. The device then retrieves the entered image or barcode information. In addition, the device's emotion engine collects emotional data from the user's facial expressions and voice.
[0499] Step 2:
[0500] The terminal uses recognition means to analyze food information and identify the type and quantity of those foods. This food information and emotional data are sent to the server. The emotional data includes information about the user's mental state.
[0501] Step 3:
[0502] The server analyzes the received food information and searches the database to identify available cooking procedures. The server also analyzes emotional data to determine the user's emotional state (e.g., fatigue, relaxation, excitement).
[0503] Step 4:
[0504] The server customizes the cooking procedure according to the user's emotional state. Specifically, if the user is tired, it selects a simple and quick recipe, while if they are excited, it presents a more challenging recipe.
[0505] Step 5:
[0506] The server sends the selected recipe to the terminal. The terminal then presents the received recipe information to the user, and the screen's color scheme and the tone of the voice guidance are adjusted based on emotional data.
[0507] Step 6:
[0508] The user begins cooking based on the information presented on the device. The device continuously operates an emotion engine, and can flexibly modify the cooking process and guidance if the user's emotions change.
[0509] (Example 2)
[0510] Next, we will describe Example 2. 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."
[0511] Conventional work suggestion systems have struggled to provide customized work procedures that take into account the user's emotional state. As a result, they have been unable to provide optimal support in response to the fatigue and motivational changes the user faces, and have therefore failed to increase the overall user satisfaction.
[0512] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0513] In this invention, the server includes means for identifying the type of item using identification means, means for analyzing item information transmitted to an information processing device and searching for a corresponding work procedure, and means for customizing work recommendations based on generated emotional information and presenting them to the user. This makes it possible to provide personalized work suggestions that take into account the user's emotional state.
[0514] "Identification means" refers to a device or method used to identify the type of article.
[0515] An "information processing device" is a device or system that analyzes transmitted data and generates specific work procedures or suggestions.
[0516] "Item information" refers to detailed data related to an item, which is necessary for identification and the generation of work procedures.
[0517] "Work procedure" refers to the detailed description of specific operations or methods generated based on item information.
[0518] "Generated emotional information" refers to data that recognizes and records the user's emotional state in real time.
[0519] "Customization" is the process of adjusting operations and procedures according to the individual user's needs and circumstances.
[0520] "Presenting to the user" means displaying or communicating generated information or procedures in a way that is easy for the user to understand.
[0521] The present invention aims to effectively manage and utilize items in a refrigerator using a user's personal device. The user acquires barcodes or images of items using hardware such as the device's camera or scanner. This information is analyzed by an identification means and used to identify the items.
[0522] The terminal is equipped with an emotion engine that recognizes the user's emotions in real time, analyzing the user's facial expressions and tone of voice. Once emotion information is generated, this and item information are sent to an information processing device. This information processing device, or server, generates appropriate work procedures based on the received data. Several generative AI models and database analysis methods are used for information processing. The server customizes these work procedures to provide content that is tailored to the user's emotional state.
[0523] Finally, the customized work procedure is sent to the terminal and presented to the user visually or audibly. For example, if the user scans "zucchini," "chicken," and "tomato sauce," and the emotion engine recognizes the emotion of "wanting to relax," the server will suggest "easy zucchini and chicken stir-fry," and the terminal will guide the user through the procedure in soft voice. Examples of prompts include "Tell me what ingredients I can use for tonight's dinner from the refrigerator" or "Please come up with a simple recipe."
[0524] This system allows users to utilize items in a more efficient and emotionally satisfying way. The emotion-driven approach personalizes the entire work process and provides a more comfortable user experience.
[0525] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0526] Step 1:
[0527] The user scans items inside the refrigerator using the terminal's camera or scanner. The input here is the barcode or image of the item. The terminal analyzes this using identification means and outputs information about the type of item. In this process, it recognizes barcodes and features through image analysis and identifies the corresponding item.
[0528] Step 2:
[0529] The device uses an emotion engine to recognize the user's emotional state in real time. Input includes the user's facial expressions and tone of voice, which are used to generate emotional data. The emotion engine analyzes audio and image data to output emotional states such as "I want to relax" or "I want to be adventurous." Specifically, it utilizes facial recognition and voice analysis technologies.
[0530] Step 3:
[0531] The terminal sends item information and emotion information to the server. The input is the information obtained in the previous step. After the data is sent, the server receives this information and begins analysis in the database. Based on the item information, the server searches for available work procedures and outputs the optimal procedure, taking the emotion information into consideration.
[0532] Step 4:
[0533] The server customizes the suggested work procedures using a generative AI model. Inputs include an item database and sentiment information, which are used to transform work procedures and generate recommendations tailored to the sentiment. The generative AI model learns user preferences based on past data and adjusts recipes and methods as needed.
[0534] Step 5:
[0535] Customized work procedures are sent to the terminal. The input in this case is a customized procedure generated on the server. The terminal receives this and outputs it to the user as visual and audio instructions. Specifically, the terminal uses recorded audio guides and videos to clearly present the work procedures to the user.
[0536] Step 6:
[0537] The user follows the provided work procedures and uses prompts to complete the task. Input consists of instructions from the terminal, which are executed by the user. The output is the result of the task to the user's satisfaction. Specific actions include cooking based on a provided recipe.
[0538] (Application Example 2)
[0539] Next, we will explain application example 2. In the following explanation, 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."
[0540] The goal is to provide a system that improves the user's cooking experience by efficiently managing food in the refrigerator and suggesting cooking procedures tailored to the user's mood. Furthermore, it is required to reduce the hassle of shopping by automatically suggesting delivery orders when necessary ingredients are lacking.
[0541] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0542] In this invention, the server includes means for identifying the classification of food using identification means, means for analyzing food data transmitted to the server and searching for the corresponding cooking process, and means for presenting the searched cooking process information to the user. This enables personalized cooking suggestions that respond to the user's emotions.
[0543] "Identification means" refers to technologies for classifying food products, such as image analysis or barcode information, to identify the type of food product.
[0544] A "server" is a computer system that analyzes collected food data and searches for corresponding cooking processes.
[0545] "Food data" refers to information about the food inside the refrigerator, obtained through barcodes and image data.
[0546] A "cooking process" is a set of cooking procedures proposed based on analyzed food data.
[0547] "Presenting to the user" means providing the user with the explored cooking process information visually or audibly.
[0548] "Emotional data" refers to information about a user's emotional state, and is collected in real time.
[0549] "Recipe search" is the process of searching for the optimal cooking procedure on a server based on food data and emotional data.
[0550] "Delivery information" is generated when necessary ingredients are in short supply, and delivery is suggested to the user.
[0551] In the "Mode for Carrying Out the Invention," the system that realizes this application example mainly consists of a user's terminal and a server.
[0552] The user's device should ideally be a mobile information device such as a smartphone, which can acquire food data (barcodes and images) inside the refrigerator using its camera or scanner. The device also includes an emotion engine, which collects the user's emotional data in real time.
[0553] The server is equipped with advanced data analysis capabilities, using the Google Cloud Vision API to identify food data and the Azure Cognitive Services Emotion API to analyze emotional data. This allows the server to overlay food information and emotional information based on the collected data to explore the optimal cooking process.
[0554] Once a cooking step is identified, the information is presented to the user visually or audibly. Visually appealing colors and audio tones are selected according to the user's emotional state, thereby enhancing the user's psychological satisfaction.
[0555] For example, if a user scans for "tomatoes," "chicken," and "pasta," and the server recognizes that the user's mood is "I want to cook for fun," the server will suggest a new recipe for "Italian pasta" and generate delivery information if any ingredients are missing. This allows the user to efficiently obtain any missing ingredients while enjoying a fun cooking experience.
[0556] An example of a prompt to input into a generative AI model might be, "Please tell me a new recipe that suits my mood today. I have 'tomato,' 'chicken,' and 'pasta.'"
[0557] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0558] Step 1:
[0559] The device scans the food items in the user's refrigerator using its camera or scanner. The input is the barcode or image of the food items, which the device acquires and processes as food data. The output is pre-processed food data for identification. The device stores this data in temporary memory.
[0560] Step 2:
[0561] The device uses an emotion engine to capture the user's emotions in real time. The input is the user's face and voice tone, which is analyzed to generate emotion data. The output is the analyzed emotion data. The device also stores this data in temporary memory.
[0562] Step 3:
[0563] The terminal sends the acquired food data and emotion data to the server. The input is the food data and emotion data saved in the previous step. The output is the completion of the data transfer to the server. The terminal sends the data to the server via the network.
[0564] Step 4:
[0565] The server uses the Google Cloud Vision API to identify food data and determine the type of food. The input is the transferred food data, and the output is a list of identified foods. The server uses a machine learning model for identification.
[0566] Step 5:
[0567] The server analyzes emotion data using the Azure Cognitive Services Emotion API. The input is the transmitted emotion data, and the output is an evaluation of the emotional state as a result of the analysis. The server acquires and records the emotional state as numerical data.
[0568] Step 6:
[0569] The server searches for the optimal cooking process based on a food list and emotional assessment. The input is the identified food list and emotional assessment. The output is the explored cooking process. The server uses a database to select the best option from past recipe data.
[0570] Step 7:
[0571] The server sends the discovered cooking steps to the user's terminal. The input is the cooking steps, and the output is the display of step information on the user's terminal. The server securely transfers the data, and the terminal receives it.
[0572] Step 8:
[0573] The terminal guides the user through the cooking process visually or audibly. Input is cooking process information received from the server. Output is visual or audible instructions to the user. The terminal provides information in a tone that matches the user's emotions.
[0574] Step 9:
[0575] The server generates delivery information and proposes it to the user's terminal if any ingredients are missing. The input is a list of necessary ingredients based on the cooking process, and the output is delivery options. The server calls an external service to create the delivery information.
[0576] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0577] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0578] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0579] [Fourth Embodiment]
[0580] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0581] As shown in Figure 7, the 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.
[0582] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0583] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0584] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0585] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0586] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0587] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0588] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0589] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0590] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0591] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0592] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0593] The system of the present invention begins with the user scanning the barcode or direct image of food items in the refrigerator using a camera or scanner on a terminal held by the user. The user scans the food items selected from the refrigerator using this terminal, and the terminal interprets the scans through an identification means and collects food information. This food information is then transmitted to a server.
[0594] The server analyzes the received food information and compares it with a variety of recipe information stored in the database. The server searches for multiple cooking procedures using the food in question and selects the optimal recipe based on pre-set conditions, such as cooking time, available ingredients, and difficulty level of the dish.
[0595] The selected recipe information is sent back to the terminal, which displays it to the user in a visualized format. This allows the user to intuitively understand the cooking procedure using the specified ingredients. The recipe display provides detailed information, including all necessary cooking steps, to assist the user in cooking.
[0596] As a concrete example, consider a scenario where a user scans for "tomatoes," "eggs," and "bacon." Based on this food information, the server searches its database for cooking instructions such as "bacon and tomato egg stir-fry" and selects the most relevant one. This information is then immediately sent to the terminal and presented to the user as a recipe detailing the necessary ingredients and steps. This process allows the user to efficiently utilize the limited ingredients in their refrigerator and try a variety of dishes.
[0597] With this system in operation, users can reduce the effort involved in daily cooking while gaining a creative and enriching culinary experience.
[0598] The following describes the processing flow.
[0599] Step 1:
[0600] The terminal activates its camera or scanner in response to user input. The user scans the food items inside the refrigerator, and the terminal recognizes the food information using a barcode reader or image processing.
[0601] Step 2:
[0602] The terminal formats the acquired food information and sends it to the server. This data includes food identification information.
[0603] Step 3:
[0604] The server receives food information sent from the terminal and identifies the type of food by analyzing barcodes and image data. The server then retrieves the corresponding data for that food from the database.
[0605] Step 4:
[0606] The server searches the database for recipes based on the identified food information. It selects the most suitable recipe by considering factors such as available ingredients, preparation time, and difficulty of cooking.
[0607] Step 5:
[0608] The server sends the selected recipe information to the terminal. The information sent includes the recipe name, required ingredients, cooking instructions, and estimated preparation time.
[0609] Step 6:
[0610] The terminal receives recipe information sent from the server and displays it to the user. The user can then refer to the displayed information and follow the suggested recipe to cook.
[0611] (Example 1)
[0612] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0613] In daily life, efficiently carrying out manufacturing activities using limited resources is difficult for many people. Furthermore, existing technologies cannot provide sufficiently optimized manufacturing procedures, and it is difficult to improve these procedures by incorporating user feedback. Therefore, there is a need to efficiently identify item information, provide optimal procedures, and improve the user experience.
[0614] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0615] In this invention, the server includes means for identifying the type of article using identification means, means for analyzing article information transmitted to a data processing device and searching for a corresponding manufacturing procedure, and means for displaying the searched manufacturing procedure information to the user. This allows the user to efficiently utilize the articles they have on hand and easily perform optimized manufacturing activities. Furthermore, by means for optimizing the procedure information obtained from the database based on usage conditions and means for generating and storing evaluation information from the user, continuous system improvement and increased user satisfaction can be achieved.
[0616] "Identification means" refers to a method or technique for identifying the type or characteristics of an article.
[0617] A "data processing device" refers to a system that receives information, analyzes and processes it, and then transmits the relevant data.
[0618] "Item information" refers to data about items obtained through scanning or code reading.
[0619] A "manufacturing procedure" refers to a series of processes or steps involved in carrying out a manufacturing activity using a particular item.
[0620] "Users" refer to individuals or entities that operate the system or receive information.
[0621] A "database" refers to a system for systematically storing and managing information and data.
[0622] "Evaluation information" refers to data related to feedback and evaluations provided by users.
[0623] "Optimizing" refers to maximizing or improving the performance of a procedure or system based on specific conditions.
[0624] The system of this invention aims to identify the type of item using a terminal that the user uses on a daily basis and to provide the optimal manufacturing procedure. The system consists of three main elements: a terminal, a server, and a database.
[0625] The user scans items using the camera and scanner built into the device. Specifically, the camera captures images of items in real time, and the scanner reads identification codes to obtain item information. The device uses image processing libraries such as OpenCV and barcode scanning libraries such as ZXing to identify the type and characteristics of the items.
[0626] Identified item information is sent from the terminal to the server. The server analyzes the received item information and compares it with the database. The server uses SQL to search for manufacturing procedures in the database and selects the most appropriate procedure based on pre-configured conditions. This database uses a database management system such as MySQL or PostgreSQL to store information about product type, manufacturing process, and required resources.
[0627] The manufacturing procedure information selected by the server is sent back to the terminal. The terminal visually presents the procedure information to the user through a user interface to help them understand the procedure. The terminal uses React Native and Flutter to build a GUI that is intuitive for the user to operate.
[0628] Users can use this system to efficiently utilize their available resources, conduct optimized manufacturing activities, and contribute to the continuous improvement of the system by providing feedback. This feedback is collected at the terminal and sent back to the server to help optimize manufacturing procedures.
[0629] As a concrete example, let's look at an example of a prompt message: "Please tell me what I can make with the ingredients I have in my refrigerator. The ingredients are 'tomatoes,' 'eggs,' and 'bacon.'" By entering such a prompt message, the user can receive the optimal cooking procedure provided by the system.
[0630] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0631] Step 1:
[0632] The user scans an object using the device's camera or scanner. During this process, the user positions the object within the camera's field of view, maintaining an appropriate distance and focusing. The input is either an image of the object captured by the camera or an identification code read by the scanner. The output is data containing the feature information necessary for identification extracted from this input data. At this stage, the image is preprocessed using an image processing library, and the code data is obtained using an identification code reading library.
[0633] Step 2:
[0634] The terminal analyzes the acquired identification information. The input is the feature information and identification code obtained in step 1. The terminal uses image analysis and code recognition techniques to identify the type and characteristics of the item. As output, item type data (e.g., category, name) is generated. In this process, OpenCV and ZXing are used to structure the item information.
[0635] Step 3:
[0636] The terminal sends the analyzed item information to the server. The input is the item type data generated in step 2. The server receives this information and prepares to compare it with the database. The output is the item information formatted into a data format for processing by the server. During this process, the information is converted to JSON format and transferred to the server via a secure communication channel.
[0637] Step 4:
[0638] The server analyzes the received item information and searches for relevant manufacturing procedures. The input is the item information sent in step 3. The server searches the database using SQL and extracts procedure information related to the item. The output is a list of manufacturing procedures that best meet the criteria. The server also applies condition filtering (e.g., within a specific time frame or difficulty level).
[0639] Step 5:
[0640] The server sends the selected manufacturing procedure information back to the terminal. The input is the list of manufacturing procedures generated in step 4. The output is the procedure information, formatted in a user-friendly format, delivered to the terminal. This information is prepared in JSON format and transmitted via secure communication.
[0641] Step 6:
[0642] The terminal displays the received manufacturing procedure information on the user interface. The input is the procedure information received in step 5. The terminal uses a visualization tool to display the procedure in a sequential manner. The output is a manufacturing procedure display on a GUI that is intuitive for the user to operate. The user can check the steps on the screen and proceed with the manufacturing activity smoothly.
[0643] Step 7:
[0644] Users can provide feedback after the manufacturing process. Input is user evaluation information (e.g., star rating, comments). The terminal collects this feedback and sends it to the server. Output is evaluation data based on the user experience. This data is used for continuous improvement of the system.
[0645] (Application Example 1)
[0646] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0647] Cooking at home presents challenges in making the most of the limited ingredients available in the refrigerator, and it's also difficult to efficiently replenish any missing ingredients. For beginner cooks and busy people in particular, choosing the right recipe and sourcing the necessary ingredients can be a significant burden.
[0648] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0649] In this invention, the server includes means for identifying the type of food using identification means, means for analyzing food information transmitted to the server and searching for a corresponding cooking procedure, means for displaying the searched cooking procedure information to the user, and means for connecting to an external service for purchasing any missing ingredients based on the displayed cooking procedure. This makes it possible to efficiently utilize the ingredients in the refrigerator and quickly procure any missing ingredients to prepare a meal.
[0650] "Identification means" refers to technical means used to identify the type of food.
[0651] "Food information" refers to data including the types and quantities of food in the refrigerator, which is sent to the server for analysis.
[0652] A "server" is a computer system that receives food information, analyzes it, and searches for appropriate cooking procedures.
[0653] "Cooking instructions" refer to information that describes the methods and processes for preparing a meal using selected food items.
[0654] "External services" refer to online or offline purchasing services used when acquiring necessary materials.
[0655] "Image analysis technology" is a technique that uses cameras or similar devices to analyze images of food and recognize its type and characteristics.
[0656] "Barcode information" refers to barcode data attached to food products, and is used to identify those products.
[0657] The following are the embodiments for carrying out the invention.
[0658] This system primarily consists of smartphones, servers, databases, and integration with external services. Users can scan food items in their refrigerators using an application installed on their smartphones. This scanning utilizes the smartphone's camera, and food identification is performed using image analysis technology powered by OpenCV. If the food items have barcodes, the barcode information can also be used to identify the type of food item.
[0659] The food information obtained from the scan is transmitted to a server via the network. The server, which runs on the Django framework, analyzes the received food information. The analyzed information is cross-referenced with a database to search for appropriate cooking procedures. In this process, the generative AI model, which is the core of this invention, is used to generate multiple recipe candidates.
[0660] The cooking procedure information sent from the server is returned to the smartphone, where the user can visually confirm it. The application presents the recipe in an intuitive and easy-to-understand format through its user interface. Furthermore, if any ingredients are missing based on the displayed cooking procedure, the application integrates with external services (e.g., online stores) to provide an option to purchase the ingredients directly.
[0661] For example, if a user scans "tomatoes" and "cheese" in their refrigerator, the application will suggest recipes such as "tomato and cheese salad." Furthermore, if any necessary ingredients are missing, they can be instantly ordered through an online store. In this case, the generative AI model uses prompts like the following to select the optimal recipe.
[0662] Example prompt: "Please suggest a dinner recipe using tomatoes and cheese I have in the refrigerator. Please also make it possible to order any missing ingredients via delivery."
[0663] In this way, users can make the most of the ingredients they have and easily obtain additional ingredients as needed, making everyday cooking more efficient and creative.
[0664] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0665] Step 1:
[0666] The user scans food items in the refrigerator using their smartphone camera. The input is an image of the food, and the output is identified food information. OpenCV is used to analyze the image and process the data to identify the type and quantity of food. Specifically, the user points the camera at the food on their smartphone screen, and the app automatically takes an image and starts the analysis.
[0667] Step 2:
[0668] The device sends identified food information to the server. The input is the food information obtained in step 1, and the output is the completion of sending the information to the server. Data processing is performed to packetize the data over the network and send it to the server's API. Specifically, the smartphone uses Wi-Fi or mobile data to send the information to the cloud server.
[0669] Step 3:
[0670] The server analyzes the food information it receives and searches for corresponding cooking procedures by referring to a database. The input is food information, and the output is a list of candidate recipes. A generative AI model is run using Python and Django to process the data and obtain multiple recipe candidates related to the food. Specifically, the server searches the database and selects the optimal recipe.
[0671] Step 4:
[0672] The server sends the retrieved cooking procedure information to the terminal. The input is the cooking procedure information, and the output is the completion of the delivery of the recipe information to the terminal. Data is structured via Django, and data calculations are performed to send it to the client. Specifically, the server packets the recipe information in JSON format or similar and sends it to the smartphone.
[0673] Step 5:
[0674] The device displays cooking procedure information received by the terminal in a visual format for the user. The input is recipe information from the server, and the output is a user-viewable recipe display. The information is rendered to fit the smartphone display and the data is processed to provide it in an easy-to-read format for the user. Specifically, the app uses a GUI to display the information in list format or step-by-step, making it easy for the user to understand.
[0675] Step 6:
[0676] Based on the cooking instructions displayed to the user, the app connects to an external service to purchase any missing ingredients. The input is information about the missing ingredients, and the output is a confirmation of the purchase process. An API is used to connect with the external purchasing service and perform data calculations to initiate the purchase process. Specifically, the app presents the user with purchase options, allowing them to directly order the necessary ingredients.
[0677] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0678] The system of the present invention begins with the user scanning food items in a refrigerator using a terminal they possess. The user acquires the barcode or image of the food items using a camera or scanner. The terminal is also equipped with an emotion engine that recognizes the user's emotions in real time. The terminal collects this information, identifies the details of the food items using identification means, and transmits this information to a server.
[0679] The server searches for available cooking procedures by analyzing food information, taking into account the user's emotional state detected by the emotion engine. For example, if the server determines that the user is tired, it can prioritize searching for simpler and less time-consuming recipes. Conversely, if the user is in a positive and adventurous emotional state, it can suggest slightly more challenging new recipes.
[0680] The explored recipes are sent to the device and presented to the user with visual or audio guidance. Here, a customized presentation based on an emotion engine is used, designed to enhance the user's psychological satisfaction. For example, the emotion engine selects visually pleasing color tones and adjusts the tone and volume of the presentation to the user's preferences.
[0681] As a concrete example, consider a scenario where a user scans for "zucchini," "chicken," and "tomato sauce." The emotion engine recognizes the user's desire to "relax" from their facial expressions and tone of voice. Based on this, the server suggests "easy zucchini and chicken stir-fry," and the terminal explains the procedure in a soft voice that promotes relaxation.
[0682] This system enables users to enjoy a more efficient and emotionally satisfying cooking experience. This approach, utilizing an emotion engine, personalizes the entire cooking process and provides support tailored to each individual's emotional state.
[0683] The following describes the processing flow.
[0684] Step 1:
[0685] The user uses the device's camera or scanner to scan barcodes or images of food items in the refrigerator. The device then retrieves the entered image or barcode information. In addition, the device's emotion engine collects emotional data from the user's facial expressions and voice.
[0686] Step 2:
[0687] The terminal uses recognition means to analyze food information and identify the type and quantity of those foods. This food information and emotional data are sent to the server. The emotional data includes information about the user's mental state.
[0688] Step 3:
[0689] The server analyzes the received food information and searches the database to identify available cooking procedures. The server also analyzes emotional data to determine the user's emotional state (e.g., fatigue, relaxation, excitement).
[0690] Step 4:
[0691] The server customizes the cooking procedure according to the user's emotional state. Specifically, if the user is tired, it selects a simple and quick recipe, while if they are excited, it presents a more challenging recipe.
[0692] Step 5:
[0693] The server sends the selected recipe to the terminal. The terminal then presents the received recipe information to the user, and the screen's color scheme and the tone of the voice guidance are adjusted based on emotional data.
[0694] Step 6:
[0695] The user begins cooking based on the information presented on the device. The device continuously operates an emotion engine, and can flexibly modify the cooking process and guidance if the user's emotions change.
[0696] (Example 2)
[0697] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0698] Conventional work suggestion systems have struggled to provide customized work procedures that take into account the user's emotional state. As a result, they have been unable to provide optimal support in response to the fatigue and motivational changes the user faces, and have therefore failed to increase the overall user satisfaction.
[0699] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0700] In this invention, the server includes means for identifying the type of item using identification means, means for analyzing item information transmitted to an information processing device and searching for a corresponding work procedure, and means for customizing work recommendations based on generated emotional information and presenting them to the user. This makes it possible to provide personalized work suggestions that take into account the user's emotional state.
[0701] "Identification means" refers to a device or method used to identify the type of article.
[0702] An "information processing device" is a device or system that analyzes transmitted data and generates specific work procedures or suggestions.
[0703] "Item information" refers to detailed data related to an item, which is necessary for identification and the generation of work procedures.
[0704] "Work procedure" refers to the detailed description of specific operations or methods generated based on item information.
[0705] "Generated emotional information" refers to data that recognizes and records the user's emotional state in real time.
[0706] "Customization" is the process of adjusting operations and procedures according to the individual user's needs and circumstances.
[0707] "Presenting to the user" means displaying or communicating generated information or procedures in a way that is easy for the user to understand.
[0708] The present invention aims to effectively manage and utilize items in a refrigerator using a user's personal device. The user acquires barcodes or images of items using hardware such as the device's camera or scanner. This information is analyzed by an identification means and used to identify the items.
[0709] The terminal is equipped with an emotion engine that recognizes the user's emotions in real time, analyzing the user's facial expressions and tone of voice. Once emotion information is generated, this and item information are sent to an information processing device. This information processing device, or server, generates appropriate work procedures based on the received data. Several generative AI models and database analysis methods are used for information processing. The server customizes these work procedures to provide content that is tailored to the user's emotional state.
[0710] Finally, the customized work procedure is sent to the terminal and presented to the user visually or audibly. For example, if the user scans "zucchini," "chicken," and "tomato sauce," and the emotion engine recognizes the emotion of "wanting to relax," the server will suggest "easy zucchini and chicken stir-fry," and the terminal will guide the user through the procedure in soft voice. Examples of prompts include "Tell me what ingredients I can use for tonight's dinner from the refrigerator" or "Please come up with a simple recipe."
[0711] This system allows users to utilize items in a more efficient and emotionally satisfying way. The emotion-driven approach personalizes the entire work process and provides a more comfortable user experience.
[0712] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0713] Step 1:
[0714] The user scans items inside the refrigerator using the terminal's camera or scanner. The input here is the barcode or image of the item. The terminal analyzes this using identification means and outputs information about the type of item. In this process, it recognizes barcodes and features through image analysis and identifies the corresponding item.
[0715] Step 2:
[0716] The device uses an emotion engine to recognize the user's emotional state in real time. Input includes the user's facial expressions and tone of voice, which are used to generate emotional data. The emotion engine analyzes audio and image data to output emotional states such as "I want to relax" or "I want to be adventurous." Specifically, it utilizes facial recognition and voice analysis technologies.
[0717] Step 3:
[0718] The terminal sends item information and emotion information to the server. The input is the information obtained in the previous step. After the data is sent, the server receives this information and begins analysis in the database. Based on the item information, the server searches for available work procedures and outputs the optimal procedure, taking the emotion information into consideration.
[0719] Step 4:
[0720] The server customizes the suggested work procedures using a generative AI model. Inputs include an item database and sentiment information, which are used to transform work procedures and generate recommendations tailored to the sentiment. The generative AI model learns user preferences based on past data and adjusts recipes and methods as needed.
[0721] Step 5:
[0722] Customized work procedures are sent to the terminal. The input in this case is a customized procedure generated on the server. The terminal receives this and outputs it to the user as visual and audio instructions. Specifically, the terminal uses recorded audio guides and videos to clearly present the work procedures to the user.
[0723] Step 6:
[0724] The user follows the provided work procedures and uses prompts to complete the task. Input consists of instructions from the terminal, which are executed by the user. The output is the result of the task to the user's satisfaction. Specific actions include cooking based on a provided recipe.
[0725] (Application Example 2)
[0726] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0727] The goal is to provide a system that improves the user's cooking experience by efficiently managing food in the refrigerator and suggesting cooking procedures tailored to the user's mood. Furthermore, it is required to reduce the hassle of shopping by automatically suggesting delivery orders when necessary ingredients are lacking.
[0728] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0729] In this invention, the server includes means for identifying the classification of food using identification means, means for analyzing food data transmitted to the server and searching for the corresponding cooking process, and means for presenting the searched cooking process information to the user. This enables personalized cooking suggestions that respond to the user's emotions.
[0730] "Identification means" refers to technologies for classifying food products, such as image analysis or barcode information, to identify the type of food product.
[0731] A "server" is a computer system that analyzes collected food data and searches for corresponding cooking processes.
[0732] "Food data" refers to information about the food inside the refrigerator, obtained through barcodes and image data.
[0733] A "cooking process" is a set of cooking procedures proposed based on analyzed food data.
[0734] "Presenting to the user" means providing the user with the explored cooking process information visually or audibly.
[0735] "Emotional data" refers to information about a user's emotional state, and is collected in real time.
[0736] "Recipe search" is the process of searching for the optimal cooking procedure on a server based on food data and emotional data.
[0737] "Delivery information" is generated when necessary ingredients are in short supply, and delivery is suggested to the user.
[0738] In the "Mode for Carrying Out the Invention," the system that realizes this application example mainly consists of a user's terminal and a server.
[0739] The user's device should ideally be a mobile information device such as a smartphone, which can acquire food data (barcodes and images) inside the refrigerator using its camera or scanner. The device also includes an emotion engine, which collects the user's emotional data in real time.
[0740] The server is equipped with advanced data analysis capabilities, using the Google Cloud Vision API to identify food data and the Azure Cognitive Services Emotion API to analyze emotional data. This allows the server to overlay food information and emotional information based on the collected data to explore the optimal cooking process.
[0741] Once a cooking step is identified, the information is presented to the user visually or audibly. Visually appealing colors and audio tones are selected according to the user's emotional state, thereby enhancing the user's psychological satisfaction.
[0742] For example, if a user scans for "tomatoes," "chicken," and "pasta," and the server recognizes that the user's mood is "I want to cook for fun," the server will suggest a new recipe for "Italian pasta" and generate delivery information if any ingredients are missing. This allows the user to efficiently obtain any missing ingredients while enjoying a fun cooking experience.
[0743] An example of a prompt to input into a generative AI model might be, "Please tell me a new recipe that suits my mood today. I have 'tomato,' 'chicken,' and 'pasta.'"
[0744] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0745] Step 1:
[0746] The device scans the food items in the user's refrigerator using its camera or scanner. The input is the barcode or image of the food items, which the device acquires and processes as food data. The output is pre-processed food data for identification. The device stores this data in temporary memory.
[0747] Step 2:
[0748] The device uses an emotion engine to capture the user's emotions in real time. The input is the user's face and voice tone, which is analyzed to generate emotion data. The output is the analyzed emotion data. The device also stores this data in temporary memory.
[0749] Step 3:
[0750] The terminal sends the acquired food data and emotion data to the server. The input is the food data and emotion data saved in the previous step. The output is the completion of the data transfer to the server. The terminal sends the data to the server via the network.
[0751] Step 4:
[0752] The server uses the Google Cloud Vision API to identify food data and determine the type of food. The input is the transferred food data, and the output is a list of identified foods. The server uses a machine learning model for identification.
[0753] Step 5:
[0754] The server analyzes emotion data using the Azure Cognitive Services Emotion API. The input is the transmitted emotion data, and the output is an evaluation of the emotional state as a result of the analysis. The server acquires and records the emotional state as numerical data.
[0755] Step 6:
[0756] The server searches for the optimal cooking process based on a food list and emotional assessment. The input is the identified food list and emotional assessment. The output is the explored cooking process. The server uses a database to select the best option from past recipe data.
[0757] Step 7:
[0758] The server sends the discovered cooking steps to the user's terminal. The input is the cooking steps, and the output is the display of step information on the user's terminal. The server securely transfers the data, and the terminal receives it.
[0759] Step 8:
[0760] The terminal guides the user through the cooking process visually or audibly. Input is cooking process information received from the server. Output is visual or audible instructions to the user. The terminal provides information in a tone that matches the user's emotions.
[0761] Step 9:
[0762] The server generates delivery information and proposes it to the user's terminal if any ingredients are missing. The input is a list of necessary ingredients based on the cooking process, and the output is delivery options. The server calls an external service to create the delivery information.
[0763] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0764] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0765] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[0766] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0767] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0768] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0769] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0770] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0771] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0772] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0773] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[0774] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[0775] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0776] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[0777] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0778] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0779] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0780] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0781] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0782] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0783] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted as being incorporated by reference.
[0784] The following is further disclosed regarding the embodiments described above.
[0785] (Claim 1)
[0786] A means for identifying the type of food by an identification means,
[0787] A means for analyzing food information sent to a server and searching for corresponding cooking procedures,
[0788] A means for displaying the searched cooking procedure information to the user,
[0789] A system that includes this.
[0790] (Claim 2)
[0791] The system according to claim 1, which recognizes food using image analysis technology.
[0792] (Claim 3)
[0793] The system according to claim 1, which identifies food using barcode information.
[0794] "Example 1"
[0795] (Claim 1)
[0796] A means for identifying the type of article by an identification means,
[0797] A means for analyzing item information transmitted to a data processing device and searching for the corresponding manufacturing procedure,
[0798] A means for displaying the searched manufacturing procedure information to the user,
[0799] A means for optimizing procedural information obtained from a database based on usage conditions,
[0800] A means of generating and storing user evaluation information,
[0801] A system that includes this.
[0802] (Claim 2)
[0803] The system according to claim 1, which recognizes an article using image analysis technology.
[0804] (Claim 3)
[0805] The system according to claim 1, which identifies an article using identification code information.
[0806] "Application Example 1"
[0807] (Claim 1)
[0808] A means for identifying the type of food by an identification means,
[0809] A means for analyzing food information sent to a server and searching for corresponding cooking procedures,
[0810] A means for displaying the searched cooking procedure information to the user,
[0811] A means of connecting to an external service to purchase any missing ingredients based on the displayed cooking procedure,
[0812] A system that includes this.
[0813] (Claim 2)
[0814] The system according to claim 1, which recognizes food using image analysis technology.
[0815] (Claim 3)
[0816] The system according to claim 1, which identifies food using barcode information.
[0817] "Example 2 of combining an emotion engine"
[0818] (Claim 1)
[0819] A means for identifying the type of article by an identification means,
[0820] A means for analyzing item information transmitted to an information processing device and searching for the corresponding work procedure,
[0821] A means of customizing and presenting work recommendations to the user based on generated emotional information,
[0822] A means of presenting the searched work procedure information,
[0823] A system that includes this.
[0824] (Claim 2)
[0825] The system according to claim 1, which recognizes an article using image analysis technology.
[0826] (Claim 3)
[0827] The system according to claim 1, which identifies articles using code information.
[0828] "Application example 2 when combining with an emotional engine"
[0829] (Claim 1)
[0830] A means for identifying the classification of food by an identification means,
[0831] A means for analyzing food data sent to a server and searching for the corresponding cooking process,
[0832] A means of presenting the searched cooking process information to the user,
[0833] A means to detect user sentiment data and reflect it in recipe search,
[0834] A means of generating delivery information for ingredients that are in short supply,
[0835] A system that includes this.
[0836] (Claim 2)
[0837] The system according to claim 1, which uses image analysis technology to recognize food and analyzes the user's emotional information.
[0838] (Claim 3)
[0839] The system according to claim 1, which identifies food products using barcode information and provides the necessary items as delivery options. [Explanation of Symbols]
[0840] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for identifying the type of food by an identification means, A means for analyzing food information sent to a server and searching for corresponding cooking procedures, A means for displaying the searched cooking procedure information to the user, A system that includes this.
2. The system according to claim 1, which recognizes food using image analysis technology.
3. The system according to claim 1, which identifies food using barcode information.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A