A smart catering implementation method, device and medium for self-service dishes
Through image processing and feature recognition technology, automatic identification and settlement of dishes in buffet restaurants is achieved, which solves the problems of slow and poor accuracy of traditional manual settlement, improves settlement efficiency and healthy diet analysis capabilities, and improves consumers' dining experience.
Patent Information
- Application Number
- CN202411595674.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-11-11
AI Technical Summary
The manual settlement speed of traditional buffet restaurants is slow and have poor accuracy, which leads to long waiting times and prone to missed accounts and missed accounts, which increases the difficulty of reconciliation and management and reduces work efficiency. At the same time, traditional buffet restaurants are difficult to meet consumers' needs for healthy diets.
By collecting dishes images, extracting dishes outlines, determining whether there is a occlusion relationship between different dishes, performing area segmentation, identifying dishes characteristics, performing automatic settlement, and analyzing nutritional intake based on dish composition information, and evaluating users' health goals.
It improves settlement speed and accuracy, reduces the waiting time for customers in line, improves the dining experience, reduces the risk of wrong or missed accounts, improves work efficiency, and meets consumers' needs for a healthy diet.
Smart Images

Figure CN119151730B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of data processing for management purposes, and specifically to a smart catering implementation method, device and medium for self-service dishes. Background Art
[0002] With the rapid development of the catering industry and the increasing diversification of consumer demand, buffet restaurants, as a flexible and convenient way of dining, have been favored by consumers. However, traditional buffet restaurants usually use manual methods for settlement, but manual cashiering is slow and inaccurate, especially during peak dining hours, and it is difficult to meet the settlement needs of a large number of customers, resulting in long waiting times and affecting the dining experience. Secondly, manual settlement is prone to errors and omissions, which increases the difficulty of reconciliation and management and reduces work efficiency. In addition, while providing a rich selection of dishes, buffet restaurants often neglect to provide users with personalized nutritional analysis and health advice, making it difficult to meet consumers' growing demand for healthy diets. Summary of the invention
[0003] In order to solve the above problems, this application proposes a smart catering implementation method for self-service dishes, including:
[0004] For multiple dishes placed on the self-service checkout counter, collect dish images corresponding to the dishes, extract dish outlines corresponding to each dish from the dish images, and determine whether there is an occlusion relationship between different dishes based on the dish outlines; wherein the dish images are obtained by taking a bird's-eye view with a camera;
[0005] If yes, performing regional segmentation on the dish outline to determine the characteristic region to which each dish belongs in the dish image according to the dish outline obtained after segmentation;
[0006] Inputting the feature image corresponding to the feature area of each dish into a preset feature recognition model, and outputting the dish features corresponding to each dish through the feature recognition model; wherein the dish features include the sub-dish features constituting the dish;
[0007] Matching the dish characteristics with the preset buffet dishes to determine the dish type to which the dish belongs and the dish composition information corresponding to the dish type;
[0008] According to the dish type, the dish is settled, and according to the dish composition information, multiple dishes that the user currently needs to settle are analyzed to obtain the corresponding intake of each nutrient component in different dishes;
[0009] The health goal submitted by the user is obtained, the intake is evaluated according to the health goal, a corresponding evaluation result is obtained, and the evaluation result and the intake are fed back to the user.
[0010] In one implementation of the present application, determining whether there is an occlusion relationship between different dishes according to the dish outlines specifically includes:
[0011] Identifying contour points in the dish contour and determining whether there are concave points in the contour points;
[0012] If yes, select a number of target positioning points from the dish outline, and generate a corresponding target positioning area according to the target positioning points;
[0013] Determine the center of the circle corresponding to the target positioning area, and match the center of the circle with the outline of the dish to determine whether the center of the circle is within the outline of the dish;
[0014] When the center of the circle is not located within the outline of the dish, it is determined that an occlusion relationship exists between the different dishes.
[0015] In one implementation of the present application, the dish outline is segmented into regions, specifically including:
[0016] According to the dish area formed by the dish outline, determining the regional centers of the unobstructed areas corresponding to different dishes respectively;
[0017] For the adjacent unobstructed area in the dish area, select any contour point from the dish contour corresponding to the unobstructed area as the initial point;
[0018] Taking the initial point as the starting point, traversing the contour points in the dish contour corresponding to the unobstructed area in a preset direction, connecting the contour points and the area center in the unobstructed area, and generating corresponding first connecting lines and second connecting lines;
[0019] The first connecting line and the second connecting line are compared to determine the length relationship between the first connecting line and the second connecting line, and according to the change of the length relationship, corresponding segmentation points are selected from the contour points to perform regional segmentation on the dish contour.
[0020] In one implementation of the present application, according to the change of the length relationship, corresponding segmentation points are selected from the contour points to perform regional segmentation on the dish contour, specifically including:
[0021] When the contour point is the initial point, the first connecting line is formed by the center of the region corresponding to the unobstructed region where the initial point is located, and the second connecting line is formed by the center of the region corresponding to the adjacent unobstructed region of the initial point, and the length relationship is that the first connecting line is smaller than the second connecting line;
[0022] When traversing the contour points in the dish contour corresponding to the unobstructed area in a preset direction, when the length relationship is that the first connecting line is equal to the second connecting line, determining the contour point as a first segmentation point;
[0023] Continue traversing the contour points until the length relationship changes from the first connecting line being not less than the second connecting line to the first connecting line being less than the second connecting line, and determine the corresponding contour point as the second segmentation point;
[0024] The dish outline is segmented into regions according to the first segmentation point and the second segmentation point.
[0025] In one implementation of the present application, the dish feature is matched with the preset buffet dishes to determine the dish type to which the dish belongs and the dish composition information corresponding to the dish type, specifically including:
[0026] Matching the sub-dish features corresponding to each dish with the preset dish features corresponding to the preset buffet dishes to determine the matching degree between the sub-dish features and different dish types;
[0027] According to the importance of the sub-dish feature in the dish, the sub-dish feature is assigned a corresponding feature weight, and the matching degree is weighted summed according to the feature weight to obtain the comprehensive matching degree between the dish feature corresponding to each dish and the preset buffet dish;
[0028] According to the comprehensive matching degree, the dish type to which the dish belongs and the dish composition information corresponding to the dish type are determined.
[0029] In one implementation of the present application, based on the dish composition information, multiple dishes that the user currently needs to settle are analyzed to obtain the corresponding intake of each nutrient component in different dishes, specifically including:
[0030] The dish composition information includes the nutritional components corresponding to each sub-dish;
[0031] Determine the nutritional components corresponding to the sub-dishes of each dish type and the nutritional content corresponding to the nutritional components in the preset measurement units according to the preset dish library;
[0032] Determine the dish quantities corresponding to the multiple dishes that the user currently needs to settle, and calculate the corresponding intake of each nutrient component in different dishes based on the dish quantities and the nutrient content.
[0033] In one implementation of the present application, the intake is evaluated according to the health goal to obtain a corresponding evaluation result, which specifically includes:
[0034] According to the health goal, determining the target intake of each nutrient component;
[0035] The intake is compared with the target intake to determine whether the intake meets the target intake, and a corresponding evaluation result is obtained; wherein the evaluation result includes meeting the target, failing to meet the target, and exceeding the target.
[0036] In one implementation of the present application, after feeding back the evaluation result and the intake amount to the user, the method further includes:
[0037] In the case where the evaluation result is the exceeding of the standard, determining whether the user has a joint exercise plan;
[0038] If so, determining the corresponding exercise level of the user according to the first difference between the target intake and the intake, converting the exercise level into a corresponding exercise equipment power load, and adjusting the linkage exercise plan according to the exercise equipment power load;
[0039] In the case where the assessment result is that the target is not reached, determining the target nutrient component that does not reach the target intake, and a second difference between the intake of the target nutrient component and its corresponding target intake;
[0040] Select a designated dish whose corresponding intake amount can reach the second difference from the dish library, and push the designated dish to the user.
[0041] The embodiment of the present application provides a smart catering implementation device for self-service dishes, the device comprising:
[0042] at least one processor;
[0043] and, a memory communicatively coupled to the at least one processor;
[0044] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute a smart catering implementation method for self-service dishes as described in any one of the above items.
[0045] The embodiment of the present application provides a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured as follows:
[0046] A smart catering implementation method for buffet dishes as described in any of the above items.
[0047] The smart catering implementation method for self-service dishes proposed in this application can bring the following beneficial effects:
[0048] By collecting images of dishes and using image processing and feature recognition technology to automatically identify dish types and dish composition information, the settlement speed and accuracy are greatly improved. Compared with the traditional manual cashier method, automated processing can significantly reduce customer waiting time and improve the dining experience. At the same time, it avoids problems such as wrong accounts and missed accounts that may occur in manual settlement, reduces the difficulty of reconciliation and management, and improves work efficiency. The nutritional intake of the dishes selected by the user is further analyzed based on the dish composition information, and evaluated according to the health goals submitted by the user. It not only meets the consumer's demand for healthy diet, but also provides personalized nutritional analysis and health suggestions to help users match meals scientifically. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0050] Figure 1 A flowchart of a smart catering implementation method for self-service dishes provided in an embodiment of the present application;
[0051] Figure 2 A schematic diagram of a dish area provided in an embodiment of the present application;
[0052] Figure 3 A schematic diagram of the structure of a smart catering implementation device for self-service dishes provided in an embodiment of the present application. DETAILED DESCRIPTION
[0053] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0054] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0055] like Figure 1 As shown, the embodiment of the present application provides a smart catering implementation method for self-service dishes, including:
[0056] S101: For multiple dishes placed on the self-service checkout counter, collect dish images corresponding to the dishes, extract the dish contours corresponding to each dish from the dish images, and determine whether there is an occlusion relationship between different dishes based on the dish contours; wherein the dish images are obtained by taking pictures from a bird's-eye view with a camera.
[0057] A cafeteria is a dining mode that allows customers to choose their own food and serve themselves. Unlike traditional restaurant services, in a cafeteria, customers can choose food according to their personal tastes and needs. For small and medium-sized cafeterias, there are multiple self-service checkout counters. When settling the dishes, users can place the selected self-service dishes on the self-service checkout counter. The self-service checkout head uses a camera on the top to capture the dish image, and uses image recognition technology to identify and process the dish information, thereby realizing the self-service settlement function of the dishes. In general, when dishes are placed on the self-service checkout counter, they may be partially or completely blocked due to factors such as the user's operating habits, the shape, size or placement of the dishes. In this way, when the camera collects the dish image, it will mistakenly identify multiple dishes as a whole, or identify non-existent dishes, resulting in inaccurate settlement amount. Therefore, when performing self-service settlement of dishes, it is necessary to extract the dish contours corresponding to each dish to determine whether there is an occlusion relationship between different dishes, so as to improve the recognition accuracy of the dishes. It should be noted that the dish contour here does not refer to the specific contour of each dish, but the contour of the container used to hold the dishes.
[0058] The occlusion of dishes may be caused by the overlap of the edges of the plates. Therefore, when judging whether there is an occlusion relationship between dishes, it can also be judged based on whether there are abnormal points on the plate contour. Usually, small and medium-sized buffet restaurants choose to use plates of uniform shapes to serve dishes, including elliptical, circular, square and other shapes. Taking elliptical dishes as an example, for dishes without occlusion relationships, the corresponding dish contours are elliptical. If there is occlusion between any two dishes, there will be certain concave points in the extracted dish contours. Therefore, the contour points in the dish contours can be identified, and whether there is an occlusion relationship between the dishes can be judged by determining whether there are concave points in the contour points. However, for two closely placed dishes, the dish contours they constitute will also have concave points at the edge contact points. Therefore, this situation needs to be further excluded. Therefore, when there are concave points in the contour points, several target positioning points are selected from the dish contour. The target positioning points here refer to any contour points on the dish contour. Three target positioning points need to be selected. In this way, the corresponding target positioning area is generated according to the target positioning points. The target positioning area is a circular area. After determining the center of the circle corresponding to the target positioning area, the center of the circle is matched with the outline of the dish to determine whether the center of the circle is within the outline of the dish. If the center of the circle is not within the outline of the dish, it means that the area may be blocked by other dishes. At this time, it can be determined that there is an occlusion relationship between different dishes.
[0059] S102: If yes, perform regional segmentation on the dish outline to determine the characteristic region to which each dish belongs in the dish image according to the dish outline obtained after segmentation.
[0060] When there is an occlusion relationship between different dishes, if the dish image is directly recognized, it is easy to mistakenly regard multiple dishes mixed together as one type of dish, or regard a dish as another dish, resulting in an error in the settlement amount. Therefore, it is necessary to segment the dish contour so that each dish contour obtained after segmentation corresponds to a dish, so as to locate the characteristic area of each dish in the dish image, which can effectively improve the accuracy of the dish recognition result.
[0061] In one embodiment, based on the dish area formed by the dish outline, the center of the area corresponding to the unobstructed area of different dishes is determined respectively. Figure 2 A schematic diagram of a dish area is shown, where the unblocked area refers to the area where the non-overlapping dishes are located, including area A and area B. and They are the regional centers of area A and area B respectively. When multiple dishes have an occlusion relationship, they need to be segmented one by one. Since the regional segmentation needs to be performed between adjacent unobstructed areas, for multiple occluded dishes, two adjacent unobstructed areas can be selected for regional segmentation in turn. For example, there is occlusion between dish A and dish B, and there is occlusion between dish B and dish C. When performing regional segmentation, dish A and dish B are segmented first, and then dish B and dish C are segmented. Of course, if there is an occlusion relationship between dish A and dish C, dish A and dish C also need to be segmented at the end.
[0062] For the adjacent unobstructed area in the dish area, select any contour point from the dish contour corresponding to the unobstructed area as the initial point, take the initial point as the starting point, and traverse the contour points in the dish contour corresponding to the unobstructed area in a preset direction. The preset direction here usually refers to the clockwise direction. Connect the contour point and the area center in the unobstructed area to generate the corresponding first and second lines. Figure 2 As shown, when located at the initial point, the first connecting line is composed of the initial point and the center of the area corresponding to the unobstructed area where the initial point is located, that is, , the second line is composed of the initial point and the center of the area corresponding to the adjacent unobstructed area of the initial point, that is When the contour points are not traversed, the lengths of the first and second lines are compared. At this time, the first line is obviously smaller than the second line. In the process of continuing to traverse the contour points in a clockwise direction, the lengths of the first and second lines change in real time. Therefore, according to the change in the length relationship between the first and second lines, when the length relationship changes, the segmentation point can be selected to perform regional segmentation on the dish contour.
[0063] Specifically, when traversing the contour points in a clockwise direction, when the length relationship between the first and second lines changes from a less than relationship to an equal relationship, it means that the contour point is located in a concave position on the dish contour, and the contour point is used as the first segmentation point. However, the regional segmentation of the dish contour requires two points, so it is necessary to continue traversing the contour points in a clockwise direction. At this time, the first and second lines will always maintain the length relationship that the first line is greater than the second line, that is, Greater than , until the first connecting line is smaller than the second connecting line, it means that the contour point has reached the second concave position, and the second segmentation point is determined. In this way, according to the first segmentation point and the second segmentation point determined in sequence, the regional segmentation of the dish contour can be achieved, and the characteristic region corresponding to each dish can be obtained.
[0064] S103: Input the feature image corresponding to the feature area of each dish into a preset feature recognition model, and output the dish features corresponding to each dish through the feature recognition model; wherein the dish features include the sub-dish features that constitute the dish.
[0065] After completing the segmentation of the feature area corresponding to each dish, if you want to realize the self-service settlement of the dishes, you need to identify the dishes in each feature area to clarify the dish type corresponding to each dish and the corresponding price, dish composition information, etc. First, the feature image corresponding to the feature area is preprocessed, such as image cropping, normalization, data enhancement, etc., to improve the image quality and the recognition accuracy of the model. Then, based on the preprocessed feature image, the feature image is input into the preset feature recognition model. The feature recognition model can use CNN as the basic architecture, combined with other network layers such as recurrent neural networks to capture the spatial and temporal features in the image, so as to output the dish features corresponding to each dish. It should be noted that since a dish is cooked from multiple sub-dishes, the dish features finally identified also include the features of each sub-dish that makes up the dish, including the type of ingredients, the shape of ingredients, color features, texture features, etc.
[0066] S104: Match the characteristics of the dish with the preset buffet dishes to determine the dish type to which the dish belongs and the dish composition information corresponding to the dish type.
[0067] After identifying the dish features corresponding to the dish that needs to be settled, it is necessary to match the above-mentioned dish features with the preset self-service dishes in the dish library to determine the dish type corresponding to each dish and the dish composition information corresponding to the dish type. Among them, the dish type is used to realize the self-service settlement of the dish. After the dish type is clarified, the total amount of the dish that the current user needs to pay is automatically calculated according to the dish amount of each dish type; the dish composition information refers to the nutritional components corresponding to each sub-dish, which is used to analyze the nutritional component intake corresponding to each dish, assist users in planning health goals, and develop scientific and healthy dining habits.
[0068] Specifically, the dish library stores dish features corresponding to different dishes, and the sub-dish features corresponding to each dish are matched with the preset dish features corresponding to the preset self-service dishes to determine the matching degree between the sub-dish features and different dish types. This process can be achieved by calculating the cosine similarity between different dish features. Different sub-dishes have different importance in different dishes. Some sub-dishes are used as main dishes, while in another dish they are only used as side dishes. Therefore, judging the dish type only based on the matching degree may ignore the influence of the amount of ingredients on the recognition result. It is also necessary to assign corresponding feature weights to the sub-dish features according to the importance of the dishes in the dishes, and perform weighted summation of the matching degree according to the feature weights to obtain the comprehensive matching degree between the dish features corresponding to each dish and the preset self-service dishes. According to the comprehensive matching degree, the preset self-service dish with the highest matching degree is selected as the dish type to which the dish belongs. At the same time, it is also necessary to obtain the dish composition information corresponding to the dish type according to the dish library, such as energy, protein, fat, dietary fiber, etc.
[0069] S105: Settle the dishes according to the dish types, and analyze the multiple dishes that the user currently needs to settle according to the dish composition information to obtain the corresponding intake of each nutrient component in different dishes.
[0070] Automatic settlement of dishes can be achieved according to the type of dishes, which saves labor costs and effectively improves the accuracy of settlement results. In addition, if the user has certain health goals, such as maintaining weight, gaining muscle, losing fat, etc., the settlement counter will automatically analyze the dishes that the current user is settling based on the composition information of the dishes while automatically settling the dishes, and obtain the corresponding intake of each nutrient in different dishes. By calculating the intake of different nutrients, it is possible to evaluate whether the dishes selected by the current user meet health goals, thereby helping users to perform corresponding nutrient analysis, prompting the corresponding recommended intake, and realizing an intelligent dining experience.
[0071] Specifically, according to the preset dish library, determine the nutritional components corresponding to the sub-dishes of each dish type, as well as the nutritional content corresponding to the nutritional components under the preset measurement unit. The preset measurement unit here refers to the weighing unit used to measure the amount of dishes, which can be a specific value such as 100g, 200g, or a portion unit such as half a portion or one portion. Determine the dish quantities corresponding to the multiple dishes that the user currently needs to settle, and calculate the intake corresponding to each nutrient in different dishes based on the proportional relationship between the dish quantity and the preset measurement unit and the nutritional content.
[0072] S106: Obtain the health goal submitted by the user, evaluate the intake according to the health goal, obtain the corresponding evaluation result, and feed back the evaluation result and intake to the user.
[0073] Users can submit their current health goals or nutrient intake through the application on their mobile terminals. In this way, the server can determine the target intake of each nutrient based on the health goals, and then evaluate whether the selected dishes meet the health goals by comparing the actual intake of the dishes with the target intake, and obtain the corresponding evaluation results. According to whether the difference between the intake and the target intake meets a certain difference range, the evaluation results can be divided into three types: meeting the standard, not meeting the standard, and exceeding the standard.
[0074] After evaluating the nutritional components of the user's dietary intake, if it is found that the intake exceeds the standard or does not meet the standard, different strategies can be adopted to help users adjust their eating and exercise habits to achieve a healthier nutritional balance. If the evaluation result is exceeded, it means that the dishes selected by the current user have exceeded the health goals set by the user. At this time, it is necessary to check whether the user has set or participated in the linkage exercise plan. This plan may be set by the user himself, or it may be automatically associated through fitness applications, health management systems, etc. If there is a linkage exercise plan, the nutrients that exceed the standard intake can be consumed in time by adjusting the linkage exercise plan, so as to ensure that the user's nutrient intake is stable within the floating range allowed by his health goals. At this time, it is necessary to determine the corresponding exercise level of the user based on the first difference between the target intake and the intake. Exercise level is a quantifiable indicator, such as the number of steps, running time, calorie consumption, etc. If the user does not execute the exercise plan through the corresponding sports equipment, the corresponding exercise amount can be adjusted in time according to the exercise level. If the user achieves equivalent exercise through sports equipment, the exercise magnitude needs to be converted into the corresponding power load of the sports equipment. In this way, the linkage exercise plan can be adjusted according to the power load of the sports equipment, which may include increasing exercise time, increasing exercise intensity or changing exercise type.
[0075] If the evaluation result is not up to standard, it means that the dish selected by the user has some nutrients that are not in sufficient intake. At this time, it is necessary to determine these target nutrients and the second difference between the intake of the target nutrients and its corresponding target intake. According to the second difference, select the designated dishes from the dish library that can supplement the corresponding nutrients and the intake can reach the second difference. The selected designated dishes are pushed to the user in the form of a recommendation list, recipe or shopping list, etc., to provide users with personalized dietary suggestions and achieve a healthier nutritional balance.
[0076] The above are embodiments of the method proposed in this application. Based on the same idea, some embodiments of this application also provide devices and non-volatile computer storage media corresponding to the above methods.
[0077] Figure 3This is a schematic diagram of a smart catering device for self-service dishes provided in an embodiment of the present application. Figure 3 As shown, including:
[0078] at least one processor; and,
[0079] at least one processor is communicatively connected to a memory; wherein,
[0080] The memory stores instructions that can be executed by at least one processor, and the instructions are executed by at least one processor so that the at least one processor can execute a smart catering implementation method for buffet dishes as described in any of the above items.
[0081] An embodiment of the present application provides a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured as: a smart catering implementation method for self-service dishes as described in any one of the above items.
[0082] Each embodiment in this application is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0083] The devices and media provided in the embodiments of the present application correspond one-to-one to the methods. Therefore, the devices and media also have similar beneficial technical effects as the corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the devices and media will not be repeated here.
[0084] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0085] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0086] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0087] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0088] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0089] Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0090] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0091] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0092] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims
1. A smart catering implementation method for self-service dishes, characterized in that: The method comprises: For multiple dishes placed on the self-service checkout counter, collect dish images corresponding to the dishes, extract dish outlines corresponding to each dish from the dish images, and determine whether there is an occlusion relationship between different dishes based on the dish outlines; wherein the dish images are obtained by taking a bird's-eye view with a camera; If yes, performing regional segmentation on the dish outline to determine the characteristic region to which each dish belongs in the dish image according to the dish outline obtained after segmentation; Inputting the feature image corresponding to the feature area of each dish into a preset feature recognition model, and outputting the dish features corresponding to each dish through the feature recognition model; wherein the dish features include the sub-dish features constituting the dish; Matching the dish characteristics with the preset buffet dishes to determine the dish type to which the dish belongs and the dish composition information corresponding to the dish type; According to the dish type, the dish is settled, and according to the dish composition information, multiple dishes that the user currently needs to settle are analyzed to obtain the corresponding intake of each nutrient component in different dishes; Acquire the health goal submitted by the user, evaluate the intake according to the health goal, obtain a corresponding evaluation result, and feed back the evaluation result and the intake to the user; Determining whether there is an occlusion relationship between different dishes according to the dish outlines specifically includes: Identifying contour points in the dish contour and determining whether there are concave points in the contour points; If yes, select a number of target positioning points from the dish outline, and generate a corresponding target positioning area according to the target positioning points; Determine the center of the circle corresponding to the target positioning area, and match the center of the circle with the outline of the dish to determine whether the center of the circle is within the outline of the dish; When the center of the circle is not within the outline of the dish, determining that there is an occlusion relationship between the different dishes; Performing regional segmentation on the outline of the dish specifically includes: According to the dish area formed by the dish outline, determining the regional centers of the unobstructed areas corresponding to different dishes respectively; For the adjacent unobstructed area in the dish area, select any contour point from the dish contour corresponding to the unobstructed area as the initial point; Taking the initial point as the starting point, traversing the contour points in the dish contour corresponding to the unobstructed area in a preset direction, connecting the contour points and the area center in the unobstructed area, and generating corresponding first connecting lines and second connecting lines; Comparing the first connecting line with the second connecting line to determine the length relationship between the first connecting line and the second connecting line, and selecting corresponding segmentation points from the contour points to perform regional segmentation on the dish contour according to a change in the length relationship; According to the change of the length relationship, selecting corresponding segmentation points from the contour points to perform regional segmentation on the dish contour specifically includes: When the contour point is the initial point, the first connecting line is formed by the center of the area corresponding to the unobstructed area where the initial point is located, and the second connecting line is formed by the center of the area corresponding to the adjacent unobstructed area of the initial point, and the length relationship is that the first connecting line is smaller than the second connecting line; When traversing the contour points in the dish contour corresponding to the unobstructed area in a preset direction, when the length relationship is that the first connecting line is equal to the second connecting line, determining the contour point as a first segmentation point; Continue traversing the contour points until the length relationship changes from the first connecting line being not less than the second connecting line to the first connecting line being less than the second connecting line, and determine the corresponding contour point as the second segmentation point; The dish outline is segmented into regions according to the first segmentation point and the second segmentation point.
2. A smart catering implementation method for self-service dishes according to claim 1, characterized in that: Matching the dish feature with the preset buffet dishes to determine the dish type to which the dish belongs and the dish composition information corresponding to the dish type specifically includes: Matching the sub-dish features corresponding to each dish with the preset dish features corresponding to the preset buffet dishes to determine the matching degree between the sub-dish features and different dish types; According to the importance of the sub-dish feature in the dish, the sub-dish feature is assigned a corresponding feature weight, and the matching degree is weighted summed according to the feature weight to obtain the comprehensive matching degree between the dish feature corresponding to each dish and the preset buffet dish; According to the comprehensive matching degree, the dish type to which the dish belongs and the dish composition information corresponding to the dish type are determined.
3. A smart catering implementation method for self-service dishes according to claim 1, characterized in that: According to the dish composition information, multiple dishes that the user currently needs to settle are analyzed to obtain the corresponding intake of each nutrient component in different dishes, specifically including: The dish composition information includes the nutritional components corresponding to each sub-dish; Determine the nutritional components corresponding to the sub-dishes of each dish type and the nutritional content corresponding to the nutritional components in the preset measurement units according to the preset dish library; Determine the dish quantities corresponding to the multiple dishes that the user currently needs to settle, and calculate the corresponding intake of each nutrient component in different dishes based on the dish quantities and the nutrient content.
4. A smart catering implementation method for self-service dishes according to claim 1, characterized in that: The intake is evaluated according to the health goal to obtain corresponding evaluation results, including: According to the health goal, determining the target intake of each nutrient component; The intake is compared with the target intake to determine whether the intake meets the target intake, and a corresponding evaluation result is obtained; wherein the evaluation result includes meeting the target, failing to meet the target, and exceeding the target.
5. A smart catering implementation method for self-service dishes according to claim 4, characterized in that: After feeding back the evaluation result and the intake amount to the user, the method further includes: In the case where the evaluation result is the exceeding of the standard, determining whether the user has a joint exercise plan; If so, determining the corresponding exercise level of the user according to the first difference between the target intake and the intake, converting the exercise level into a corresponding exercise equipment power load, and adjusting the linkage exercise plan according to the exercise equipment power load; In the case where the assessment result is that the target is not reached, determining the target nutrient component that does not reach the target intake, and a second difference between the intake of the target nutrient component and its corresponding target intake; Select a designated dish whose corresponding intake amount can reach the second difference from the dish library, and push the designated dish to the user.
6. A smart catering device for self-service dishes, characterized in that: The device comprises: at least one processor; and, a memory communicatively coupled to the at least one processor; In which, the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute a smart catering implementation method for buffet dishes as described in any one of claims 1-5.
7. A non-volatile computer storage medium storing computer executable instructions, characterized in that: The computer executable instructions are configured to: A smart catering implementation method for buffet dishes as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Self-selection restaurant automatic charging method
CN107122730A
Diet nutrition analysis method based on face recognition self-service meal ordering system
CN112017756A
Automatic settlement method and system for cafeteria
CN112101928A