KR102683228B1 - A method, device and program for measuring food - Google Patents
A method, device and program for measuring food Download PDFInfo
- Publication number
- KR102683228B1 KR102683228B1 KR1020200139776A KR20200139776A KR102683228B1 KR 102683228 B1 KR102683228 B1 KR 102683228B1 KR 1020200139776 A KR1020200139776 A KR 1020200139776A KR 20200139776 A KR20200139776 A KR 20200139776A KR 102683228 B1 KR102683228 B1 KR 102683228B1
- Authority
- KR
- South Korea
- Prior art keywords
- food
- image
- information
- tableware
- leftover
- Prior art date
Links
- 235000013305 food Nutrition 0.000 title claims abstract description 633
- 238000000034 method Methods 0.000 title claims abstract description 54
- 235000012054 meals Nutrition 0.000 claims description 149
- 235000021190 leftovers Nutrition 0.000 claims description 95
- 235000005686 eating Nutrition 0.000 claims description 91
- 238000004364 calculation method Methods 0.000 claims description 78
- 238000013473 artificial intelligence Methods 0.000 claims description 20
- 238000004458 analytical method Methods 0.000 claims description 16
- 239000000284 extract Substances 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 9
- 238000002360 preparation method Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 description 57
- 235000021186 dishes Nutrition 0.000 description 51
- 238000007726 management method Methods 0.000 description 44
- 238000005259 measurement Methods 0.000 description 29
- 238000011156 evaluation Methods 0.000 description 23
- 235000003715 nutritional status Nutrition 0.000 description 23
- 235000019640 taste Nutrition 0.000 description 18
- 238000000691 measurement method Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 15
- 235000006694 eating habits Nutrition 0.000 description 14
- 238000000605 extraction Methods 0.000 description 13
- 238000012795 verification Methods 0.000 description 13
- 235000016709 nutrition Nutrition 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 241000209094 Oryza Species 0.000 description 11
- 235000013601 eggs Nutrition 0.000 description 11
- 235000007164 Oryza sativa Nutrition 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 235000009566 rice Nutrition 0.000 description 10
- 239000004615 ingredient Substances 0.000 description 9
- 238000010411 cooking Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 235000005911 diet Nutrition 0.000 description 6
- 230000037213 diet Effects 0.000 description 6
- 235000015872 dietary supplement Nutrition 0.000 description 5
- 206010020751 Hypersensitivity Diseases 0.000 description 4
- 230000007815 allergy Effects 0.000 description 4
- 235000019789 appetite Nutrition 0.000 description 4
- 230000036528 appetite Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 239000007788 liquid Substances 0.000 description 4
- 230000037323 metabolic rate Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 208000026935 allergic disease Diseases 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 235000018823 dietary intake Nutrition 0.000 description 3
- 235000012041 food component Nutrition 0.000 description 3
- 239000005417 food ingredient Substances 0.000 description 3
- 239000010794 food waste Substances 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 235000015097 nutrients Nutrition 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 235000014347 soups Nutrition 0.000 description 3
- 235000019155 vitamin A Nutrition 0.000 description 3
- 239000011719 vitamin A Substances 0.000 description 3
- 235000019166 vitamin D Nutrition 0.000 description 3
- 239000011710 vitamin D Substances 0.000 description 3
- 235000013361 beverage Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000003702 image correction Methods 0.000 description 2
- 235000021056 liquid food Nutrition 0.000 description 2
- 230000035764 nutrition Effects 0.000 description 2
- 230000000291 postprandial effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241001474374 Blennius Species 0.000 description 1
- 208000031968 Cadaver Diseases 0.000 description 1
- 208000008589 Obesity Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 235000004251 balanced diet Nutrition 0.000 description 1
- 230000037208 balanced nutrition Effects 0.000 description 1
- 235000019046 balanced nutrition Nutrition 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 235000008429 bread Nutrition 0.000 description 1
- 235000021170 buffet Nutrition 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 235000013365 dairy product Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 235000001916 dieting Nutrition 0.000 description 1
- 230000037228 dieting effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000036449 good health Effects 0.000 description 1
- 235000004280 healthy diet Nutrition 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000010034 metabolic health Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 235000020824 obesity Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 235000021462 rice dishes Nutrition 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 235000012046 side dish Nutrition 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000009967 tasteless effect Effects 0.000 description 1
- 230000036642 wellbeing Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/28—Measuring arrangements characterised by the use of optical techniques for measuring areas
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/02—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
- G01B11/022—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by means of tv-camera scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30128—Food products
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
본 발명은 음식 측정 방법에 관한 것으로, 본 발명은 음식이 담긴 식기에 형성된 복수의 공간에 대한 크기, 깊이 및 용량에 대한 정보와 촬영수단으로부터 촬영된 이미지를 기반으로 음식량을 산출한다.The present invention relates to a method of measuring food. The present invention calculates the amount of food based on information on the size, depth and capacity of a plurality of spaces formed in a dish containing food and images taken from a photographing means.
Description
본 발명은 음식을 측정하는 방법에 관한 것으로, 구체적으로 부피를 이용하여 음식의 양을 측정하는 방법에 관한 것이다.The present invention relates to a method of measuring food, and specifically to a method of measuring the amount of food using volume.
최근 들어, 웰빙(Well-Being), 다이어트(Diet) 등과 같이 건강한 식단을 유지하려는 사람들이 많아 짐에 따라서 음식을 측정하는 기술의 수요가 증가하고 있다.Recently, as the number of people trying to maintain a healthy diet, such as well-being and diet, has increased, the demand for food measurement technology is increasing.
이를 이용하면, 학교, 기업, 군대, 관공서, 병원 등과 같이 복수의 사람들에게 배식을 하는 장소에서도 사람들에게 배식, 급식되는 음식의 양을 측정하여 이를 통해 배식량과 잔반량을 측정함으로써, 수요량과 공급량을 예상하여 효율적인 배식관리를 진행하고, 배식을 받는 사람들의 칼로리를 관리해줄 수 있는 등 많은 장점이 있다.Using this, even in places where food is served to multiple people, such as schools, businesses, military, government offices, hospitals, etc., the amount of food served to people is measured and the amount of food served and the amount of leftover food are measured, thereby measuring demand and supply. There are many advantages, such as efficient distribution management in anticipation of food distribution and the ability to manage the calories of those receiving food.
하지만, 현재 공개된 대부분의 기술들은 카메라를 통해 촬영된 이미지를 단순 이미지 검색하는데 그치고 있기 때문에 그 정확도가 현저하게 떨어지고, 이미지 검색에서 정확도가 떨어지다 보니 칼로리 계산 등과 같은 다음 단계들에서는 더 큰 오차가 발생한다는 문제점이 있다.However, since most of the currently disclosed technologies are limited to simple image search of images captured through cameras, their accuracy is significantly reduced, and as the accuracy in image search is low, larger errors occur in the next steps such as calorie calculation. There is a problem with doing so.
이에, 본 발명자는 단순하게 음식을 이미지로 검색하는데 그치지 않고 정확하게 분석하고 산출할 수 있는 발명을 안출하게 되었다.Accordingly, the present inventor came up with an invention that can accurately analyze and calculate food rather than simply searching for food through images.
상술한 바와 같은 문제점을 해결하기 위한 본 발명은 스테레오 카메라 또는 깊이 측정 장치를 통해 촬영된 이미지의 픽셀별 높이 정보를 이용하여 음식의 부피를 산출하는 음식 측정 방법을 제공할 수 있다.The present invention to solve the problems described above can provide a food measurement method that calculates the volume of food using height information for each pixel of an image captured through a stereo camera or depth measuring device.
또한, 본 발명은 배식식기의 정보를 이용하여 산출된 음식의 부피를 보정하는 음식 측정 방법을 제공할 수 있다.Additionally, the present invention can provide a food measurement method that corrects the volume of food calculated using information on the serving dish.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned can be clearly understood by those skilled in the art from the description below.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 음식 측정 방법은, 분석부가 배식식기(사용자의 배식받은 식기) 이미지를 분석하여, 상기 식기에 수용된 하나 이상의 음식을 인식하는 단계; 산출부가 식기 정보와 상기 식기 이미지 내 음식의 이미지를 이용하여 각 음식의 부피를 산출하는 단계; 및 상기 산출부가 음식 정보와 상기 산출된 각 음식의 부피를 이용하여 각 음식의 무게를 산출하는 단계;를 포함하며, 상기 서버는, 빈식기 이미지와 식기에 형성된 복수의 공간에 대한 크기, 깊이 및 용량을 포함하는 식기 정보, 음식별 부피당 무게를 포함하는 음식 정보가 저장된 데이터베이스를 포함한다.A food measuring method according to an embodiment of the present invention for solving the above-described problem includes the steps of an analysis unit analyzing an image of a serving dish (a dish served to a user), and recognizing one or more foods contained in the dish; A calculation unit calculating the volume of each food using dishware information and the image of the food in the dishware image; and calculating the weight of each food using the food information and the calculated volume of each food, wherein the server determines the size, depth, and It includes a database storing tableware information including capacity and food information including weight per volume for each food.
또한, 상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 음식 측정 서버는, 빈식기 이미지와 식기에 형성된 복수의 공간에 대한 크기, 깊이 및 용량을 포함하는 식기 정보, 음식별 부피당 무게를 포함하는 음식 정보가 저장된 데이터베이스; 배식식기(사용자의 배식받은 식기) 이미지를 분석하여, 상기 식기에 수용된 하나 이상의 음식을 인식하는 분석부; 상기 식기 정보와 상기 식기 이미지 내 음식의 이미지를 이용하여 각 음식의 부피를 산출하고, 상기 음식 정보와 상기 산출된 각 음식의 부피를 이용하여 각 음식의 무게를 산출하는 산출부;를 포함한다.In addition, the food measurement server according to an embodiment of the present invention to solve the above-mentioned problem, dishes information including an image of empty dishes, the size, depth and capacity of a plurality of spaces formed in the dishes, and the weight per volume of each food. A database storing food information, including: An analysis unit that analyzes images of serving dishes (tableware served by the user) and recognizes one or more foods contained in the dishes; and a calculation unit that calculates the volume of each food using the dish information and the food image in the dish image, and calculates the weight of each food using the food information and the calculated volume of each food.
또한, 상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 음식 측정 장치는, 빈식기 이미지와 식기에 형성된 복수의 공간에 대한 크기, 깊이 및 용량을 포함하는 식기 정보, 음식별 부피당 무게를 포함하는 음식 정보가 저장된 데이터베이스; 배식식기(사용자의 배식받은 식기) 이미지를 분석하여, 상기 식기에 수용된 하나 이상의 음식을 인식하는 분석부; 상기 식기 정보와 상기 식기 이미지 내 음식의 이미지를 이용하여 각 음식의 부피를 산출하고, 상기 음식 정보와 상기 산출된 각 음식의 부피를 이용하여 각 음식의 무게를 산출하는 산출부;를 포함한다.In addition, the food measuring device according to an embodiment of the present invention for solving the above-described problem includes an image of empty dishes, dishware information including the size, depth, and capacity of a plurality of spaces formed in the dishes, and weight per volume for each food. A database storing food information, including: An analysis unit that analyzes images of serving dishes (tableware served by the user) and recognizes one or more foods contained in the dishes; and a calculation unit that calculates the volume of each food using the dish information and the food image in the dish image, and calculates the weight of each food using the food information and the calculated volume of each food.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium recording a computer program for executing the method may be further provided.
상기와 같은 본 발명에 따르면, 스테레오 카메라 또는 깊이 측정 장치를 통해 촬영된 이미지의 픽셀별 높이 정보를 이용하여 음식의 부피를 산출하여, 정확한 음식의 부피를 산출할 수 있는 효과가 있다.According to the present invention as described above, there is an effect of calculating the volume of food accurately by calculating the volume of food using height information for each pixel of an image captured through a stereo camera or depth measuring device.
또한, 본 발명은 배식식기 공간들의 크기, 깊이 및 용량에 대한 정보를 통해 산출된 음식의 부피를 보정하여 보다 정확하게 음식의 부피를 산출할 수 있는 효과가 있다.In addition, the present invention has the effect of calculating the volume of food more accurately by correcting the volume of food calculated through information about the size, depth, and capacity of the space for serving dishes.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1은 본 발명의 일 실시예에 따른 음식 측정 방법의 흐름도이다.
도 2A는 본 발명의 일 실시예에 따른 식기의 사시도이다.
도 2B는 뒷면 또는 측면에 식별코드가 부착된 식기의 사시도이다.
도 3은 본 발명의 실시예에 따른 음식이 수용된 식기의 사시도이다.
도 4는 도 3에서 하나의 공간에 두 개의 음식이 적층된 식기의 사시도이다.
도 5는 공간 구분이 되지 않은 식기의 사시도이다.
도 6은 음식의 종류를 판단 정확도를 높이기 위해 고도화된 로컬 모델을 제공하는 방법의 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 음식 측정 방법의 흐름도이다.
도 8은 백그라운드 타겟을 설명하기 위한 테이블의 사시도이다.
도 9는 본 발명의 일 실시예에 따른 식당 운영정보 및 식사주체의 관리정보 제공 방법의 순서도이다.
도 10은 본 발명의 실시예에 따른 음식 측정 서버의 블록도이다.
도 11은 도 10의 관리부의 세부 블록도이다
도 12는 본 발명의 실시예에 따른 음식 측정 장치의 블록도이다.
도 13 내지 도 16은 본 발명의 실시예에 따른 음식 측정 장치의 사시도이다.
도 17은 본 발명의 실시예에 따른 음식 측정 장치의 화면이다.
도 18은 본 발명의 실시예에 따른 음식 측정 서버의 블록도이다.
도 19는 본 발명의 실시예에 따른 사용자 단말의 블록도이다.1 is a flowchart of a food measuring method according to an embodiment of the present invention.
Figure 2A is a perspective view of tableware according to an embodiment of the present invention.
Figure 2B is a perspective view of a tableware with an identification code attached to the back or side.
Figure 3 is a perspective view of a tableware containing food according to an embodiment of the present invention.
Figure 4 is a perspective view of the tableware in Figure 3 with two foods stacked in one space.
Figure 5 is a perspective view of tableware without spatial division.
Figure 6 is a flowchart of a method for providing an advanced local model to increase accuracy in determining the type of food.
Figure 7 is a flow chart of a food measuring method according to another embodiment of the present invention.
Figure 8 is a perspective view of a table for explaining a background target.
Figure 9 is a flowchart of a method of providing restaurant operation information and management information of diners according to an embodiment of the present invention.
Figure 10 is a block diagram of a food measurement server according to an embodiment of the present invention.
Figure 11 is a detailed block diagram of the management unit of Figure 10.
Figure 12 is a block diagram of a food measuring device according to an embodiment of the present invention.
Figures 13 to 16 are perspective views of a food measuring device according to an embodiment of the present invention.
Figure 17 is a screen of a food measuring device according to an embodiment of the present invention.
Figure 18 is a block diagram of a food measurement server according to an embodiment of the present invention.
Figure 19 is a block diagram of a user terminal according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to provide a general understanding of the technical field to which the present invention pertains. It is provided to fully inform the skilled person of the scope of the present invention, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for describing embodiments and is not intended to limit the invention. As used herein, singular forms also include plural forms, unless specifically stated otherwise in the context. As used in the specification, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other elements in addition to the mentioned elements. Like reference numerals refer to like elements throughout the specification, and “and/or” includes each and every combination of one or more of the referenced elements. Although “first”, “second”, etc. are used to describe various components, these components are of course not limited by these terms. These terms are merely used to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may also be a second component within the technical spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those skilled in the art to which the present invention pertains. Additionally, terms defined in commonly used dictionaries are not to be interpreted ideally or excessively unless clearly specifically defined.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.Prior to explanation, the meaning of terms used in this specification will be briefly explained. However, since the explanation of terms is intended to aid understanding of the present specification, it should be noted that if it is not explicitly described as limiting the present invention, it is not used in the sense of limiting the technical idea of the present invention.
도 1 내지 도 5를 참조하여, 본 발명의 일 실시예에 따른 음식 측정 방법에 대해서 설명한다. 본 발명의 일 실시예에 따른 음식 측정 방법은 컴퓨터에 의해 수행되며, 여기서 컴퓨터는 음식 측정 서버(100) 또는 음식 측정 장치(200)를 의미한다. 즉, 촬영은 음식 측정 장치(200)에 의해 수행되지만 다른 단계는 음식 측정 서버(100) 또는 음식 측정 장치(200)에 의해 수행될 수 있다.With reference to Figures 1 to 5, a food measuring method according to an embodiment of the present invention will be described. The food measurement method according to an embodiment of the present invention is performed by a computer, where the computer refers to the food measurement server 100 or the food measurement device 200. That is, filming is performed by the food measurement device 200, but other steps may be performed by the food measurement server 100 or the food measurement device 200.
도 1은 본 발명의 일 실시예에 따른 음식 측정 방법의 흐름도이고, 도 2A는 본 발명의 일 실시예에 따른 식기의 사시도이고, 도 2B는 뒷면 또는 측면에 식별코드가 부착된 식기의 사시도이고, 도 3은 본 발명의 실시예에 따른 음식이 수용된 식기의 사시도이고, 도 4는 도 3에서 하나의 공간에 두 개의 음식이 적층된 식기의 사시도이고, 도 5는 공간 구분이 되지 않은 식기의 사시도이고, 도 6은 음식의 종류를 판단 정확도를 높이기 위해 고도화된 로컬 모델을 제공하는 방법의 순서도이다. Figure 1 is a flow chart of a food measuring method according to an embodiment of the present invention, Figure 2A is a perspective view of a tableware according to an embodiment of the present invention, and Figure 2B is a perspective view of a tableware with an identification code attached to the back or side. , Figure 3 is a perspective view of a tableware containing food according to an embodiment of the present invention, Figure 4 is a perspective view of a tableware with two foods stacked in one space in Figure 3, and Figure 5 is a tableware with no space division. It is a perspective view, and Figure 6 is a flowchart of a method of providing an advanced local model to increase accuracy in determining the type of food.
본 발명의 실시예에 따른 음식 측정 방법은 식당의 배식구 또는 퇴식구에서 수행될 수 있으며, 식당은 카페테리아 또는 뷔페와 같이 셀프 서비스 식당으로, 사용자가 음식을 받기 위해 식기(500)를 이동시키면서 식사하는 곳일 수 있으며, 학교, 회사 또는 군대와 같이 단체에게 식사를 제공하는 장소일 수도 있다. 여기서, 식당은 음식 또는 식기(500)를 받는 배식구와 식사 후에 남은 음식을 버리고 식기(500)을 반납하는 퇴식구를 구비할 수 있지만, 이에 제한되지 않는다.The food measuring method according to an embodiment of the present invention can be performed at the distribution or dispensing port of a restaurant, where the restaurant is a self-service restaurant such as a cafeteria or buffet, and the user eats while moving the utensils 500 to receive food. It may be a place that provides meals to groups such as schools, companies, or the military. Here, the restaurant may have a distribution port for receiving food or utensils 500 and a dispensing port for discarding leftover food and returning the utensils 500 after a meal, but is not limited to this.
다만, 본 발명의 실시예에 따른 음식 측정 방법은 식당, 특히 셀프 서비스 식당에서 수행되는 것으로 제한되지 않으며, 기타 다른 형태의 식당이나 가정에서 수행될 수도 있으며, 각 자리에서 수행될 수도 있다.However, the food measuring method according to an embodiment of the present invention is not limited to being performed in a restaurant, especially a self-service restaurant, and may be performed in other types of restaurants or at home, and may be performed at each location.
또한, 설명의 편의를 위해 공간(510)이 구획된 식판 형상의 식기(500)를 이용하여 설명하지만, 식기(500)의 형상은 이에 제한되지 않는다.In addition, for convenience of explanation, the description will be made using the tableware 500 in the shape of a plate with a space 510 defined therein, but the shape of the tableware 500 is not limited thereto.
도 1을 참조하면, 수신부(110)가 음식 측정 장치(200)의 촬영부(250)를 통해 촬영된 음식이 담긴 식기 이미지를 수신한다(S20단계).Referring to Figure 1, the receiver 110 receives an image of a tableware containing food photographed through the photographing unit 250 of the food measuring device 200 (step S20).
수신부(110)는 수신된 음식이 담긴 식기 이미지를 표준화(normalization)하며, 표준화는 미리 정해진 기준(예컨대, 크기, 밝기, 회전, 기울기 등)에 따라 수신된 음식이 담긴 식기 이미지를 조정 또는 변형하는 것을 의미한다.The receiving unit 110 normalizes the image of the received tableware containing food, and normalization adjusts or transforms the image of the received tableware containing food according to predetermined standards (e.g., size, brightness, rotation, tilt, etc.). means that
촬영부(250)는 이미지 데이터와 깊이 데이터를 획득할 수 있다면, 그 구성에 제한이 없다. 예컨대, 촬영부(250)는 RGB 카메라, 2D 카메라, 3D 카메라, ToF(Time of Flight) 카메라, 라이트 필드 카메라(light field camera), 스테레오 카메라, 이벤트 카메라, 적외선 카메라 중 적어도 하나를 포함할 수 있으며, 이미지 데이터와 깊이 데이터를 측정할 수 있다면 그 구성에 제한이 없다.There are no restrictions on the configuration of the photographing unit 250 as long as it can acquire image data and depth data. For example, the photographing unit 250 may include at least one of an RGB camera, a 2D camera, a 3D camera, a Time of Flight (ToF) camera, a light field camera, a stereo camera, an event camera, and an infrared camera. , there are no restrictions on the configuration as long as image data and depth data can be measured.
한편, 촬영부(250)는 음식 또는 음식이 담긴 식기를 촬영하는 것 이외에 식사 주체를 식별하기 위해 식사 주체의 생체정보를 촬영할 수 있다. 여기서, 식사 주체의 생체정보는 식사 주체의 안면, 홍채 또는 지문일 수 있지만, 이에 제한되지 않는다. 하나의 촬영부(250)에서 음식 또는 음식이 담긴 식기와 식사 주체의 생체정보를 동시에 또는 따로 촬영할 수 있지만, 음식 또는 음식이 담긴 식기를 촬영하기 위한 촬영부(250a)와 식사 주체의 생체정보를 촬영하기 위한 촬영부(250b)가 분리될 수 있다.Meanwhile, in addition to taking pictures of food or dishes containing food, the photographing unit 250 may take pictures of biometric information of the person eating the meal to identify the person eating the meal. Here, the biometric information of the eating subject may be, but is not limited to, the eating subject's face, iris, or fingerprint. One photographing unit 250 can simultaneously or separately photograph food or dishes containing food and the biometric information of the eating subject. However, the photographing unit 250a for photographing food or dishes containing food and the biometric information of the eating subject are The photographing unit 250b for photographing may be separated.
몇몇 실시예에서, 컨베이어 벨트(270)를 따라 이동하는 식기(500)을 촬영하는 경우 음식 측정 장치(200)의 촬영부(250)는 단수의 카메라를 포함하더라도, 이미지 데이터 이외에 깊이 데이터를 획득할 수 있다. 단수의 촬영부(250)를 이용하여 식기(500)가 컨베이어 벨트(270) 상의 제1 위치에 있을 때와 식기(500)이 컨베이어 벨트(270) 상에서 이동하여 제2 위치에 있을 때를 각각 촬영을 한다면, 정지된 식기(500)를 복수의 카메라를 포함하는 촬영부(250)를 이용하여 촬영하는 것과 동일한 효과를 얻을 수 있기 때문이다.In some embodiments, when photographing dishes 500 moving along the conveyor belt 270, the photographing unit 250 of the food measuring device 200 may acquire depth data in addition to image data, even if it includes a single camera. You can. Using a single photographing unit 250, images are taken when the dishes 500 are in the first position on the conveyor belt 270 and when the dishes 500 are moved on the conveyor belt 270 and are in the second position. This is because the same effect as photographing stationary dishes 500 using the photographing unit 250 including a plurality of cameras can be obtained.
카메라는 빛을 인식하는 장치이기 때문에, 빛 반사와 같은 환경의 영향을 많이 받게 된다. 따라서 2개 이상의 카메라를 포함하는 촬영부(250)를 이용하여 촬영을 함으로써 환경의 영향을 최소화시키는 것일 필요하다. 다만, 2개 이상의 카메라를 포함하는 촬영부(250)를 이용하여 촬영을 하더라도 환경의 영향을 받을 수 있기 때문에 이에 대한 보정이 필요하다.Because a camera is a device that recognizes light, it is greatly affected by the environment, such as light reflection. Therefore, it is necessary to minimize the impact of the environment by taking pictures using the photography unit 250 that includes two or more cameras. However, even when taking pictures using the photographing unit 250 that includes two or more cameras, correction for this may be affected by the environment.
따라서, 컴퓨터는 식당의 특성, 환경에 따라 최적화하기 위해서 학습모듈이 촬영되는 이미지들을 통해 현장의 상황을 학습하고, 필터처리, 고정물체 및 레퍼런스 물체(후술하는 백그라운드 타겟)를 기준으로 환경상태를 인지하도록 할 수 있다.Therefore, in order to optimize according to the characteristics and environment of the restaurant, the computer learns the situation in the field through images taken by the learning module, and recognizes the environmental state based on filter processing, fixed objects, and reference objects (background targets described later). You can do it.
한편, 본 발명의 일 실시예에 따른 음식 측정 장치(200)를 이용하여 식기(500)을 촬영하는 경우, 촬영부(250)에 의해 상측에서 식기(500)을 촬영하는 것과 함께 음식 측정 장치(200)는 식기(500)에 대한 식별정보(530) 또는 식사 주체에 대한 식별정보를 감지할 수 있다. 즉, 식기 이미지 수신 단계(S20)와 동시에 또는 별도로 음식 측정 장치(200)를 이용하여 식사 주체를 식별할 수 있다(S21).On the other hand, when photographing the dishes 500 using the food measuring device 200 according to an embodiment of the present invention, the dishes 500 are photographed from the upper side by the photographing unit 250 and the food measuring device ( 200 may detect identification information 530 for the tableware 500 or identification information for the person eating the meal. That is, the person eating can be identified using the food measuring device 200 simultaneously or separately from the tableware image receiving step (S20) (S21).
구체적으로, 도 2B를 참조하면, 식기(500)에 대한 식별정보는 식기(500)에 포함될 수 있으며, 예컨대 QR코드(530, Quick Response Code) 또는 바코드의 형태로 식기(500)에 물리적으로 포함될 수 있으며, 이 이외에도 숫자 또는 문자들의 조합, 도형, 기호의 조합 등 다양한 코드 형태의 식별정보가 식기(500)에 포함될 수도 있다. 이 밖에, 식기(500)에 대한 식별정보는 RFID 칩과 같은 다양한 반도체 장치 등에 기록되어 식기(500)에 포함될 수도 있다. 이를 위해 음식 측정 장치(200)에는 식별정보 감지부(251)가 포함되며, 촬영부(250)가 상측에서 식기(500)을 촬영할 때 동시에 식별정보 감지부(251)도 식기(500)에 대한 식별정보를 감지할 수 있도록 음식 측정 장치(200)에 배치될 수 있다.Specifically, referring to Figure 2B, identification information for the tableware 500 may be included in the tableware 500, and may be physically included in the tableware 500 in the form of, for example, a QR code (530, Quick Response Code) or a barcode. In addition, identification information in the form of various codes, such as combinations of numbers or letters, shapes, and symbols, may be included in the tableware 500. In addition, identification information about the tableware 500 may be recorded in various semiconductor devices such as RFID chips and included in the tableware 500. For this purpose, the food measuring device 200 includes an identification information detection unit 251, and when the photographing unit 250 photographs the tableware 500 from the upper side, the identification information detection unit 251 also detects the tableware 500. It can be placed in the food measuring device 200 to detect identification information.
예컨대, 도 2B와 같이 QR코드(530)가 식기(500)의 뒷면 또는 측면에 위치하는 경우 식별정보 감지부(251)는 촬영부(250)와 마주보도록 하측에 위치하거나 수평 방향에서 QR코드(530)를 인식할 수 있도록 위치할 수 있지만, 식별정보 감지부(251)의 위치는 이에 제한되지 않으며, 촬영부(250)가 식기(500)의 상면을 촬영할 때 동시에 식기(500)의 식별정보를 감지할 수 있다면 다양한 위치에 배치될 수 있다.For example, as shown in Figure 2B, when the QR code 530 is located on the back or side of the tableware 500, the identification information detection unit 251 is located on the lower side facing the photographing unit 250 or detects the QR code ( 530), but the position of the identification information detection unit 251 is not limited to this, and when the photographing unit 250 photographs the upper surface of the tableware 500, the identification information of the tableware 500 is simultaneously captured. If it can be detected, it can be placed in various locations.
몇몇 실시예에서 식기(500)의 식별정보가 식기(500)의 상측에 위치하는 경우, 음식 측정 장치(200)는 별도의 식별정보 감지부(251)를 포함하지 않을 수 있으며, 촬영부(250)를 이용하여 측정되는 식기 이미지를 분석하여 식기(500)의 식별정보를 확인할 수도 있다.In some embodiments, when the identification information of the tableware 500 is located on the upper side of the tableware 500, the food measuring device 200 may not include a separate identification information detection unit 251, and the photographing unit 250 ) can also be used to confirm the identification information of the tableware 500 by analyzing the measured tableware image.
이 밖에, 식사 주체에 대한 식별정보는 인증부(160)에 의해서 감지될 수 있으며, 예컨대 식사 주체에 대한 이미지 촬영을 이용하여 생체정보를 확인하는 안면 인식, 홍채 인식 또는 지문 인식 등의 방식이 적용될 수 있다.In addition, identification information about the person eating can be detected by the authentication unit 160, and for example, methods such as facial recognition, iris recognition, or fingerprint recognition that confirm biometric information by taking images of the person eating can be applied. You can.
또한, 인증부(160)는 식사 주체가 보유하고 있는 RFID칩이 포함된 태그나 QR코드, 바코드, 숫자 또는 문자들의 조합, 도형, 기호의 조합 등 다양한 코드 형태의 식별정보가 포함된 태그를 인식함으로써 식사 주체에 대한 식별정보를 감지할 수도 있다.In addition, the authentication unit 160 recognizes tags containing identification information in the form of various codes, such as tags containing an RFID chip held by the person eating, QR codes, bar codes, combinations of numbers or letters, shapes, and symbols. By doing so, identification information about the person eating can be detected.
본 발명의 실시예에 따른 음식 측정 방법을 이용하는 경우, 측정된 결과를 이용하여 다양한 정보를 산출할 수 있는데, 음식 측정 장치(200)가 식기(500)에 대한 식별정보(530)와 식사 주체에 대한 식별정보 중 어떤 것을 인식할 수 있는지 여부에 따라 산출되는 정보에 차이가 있을 수 있다.When using the food measurement method according to an embodiment of the present invention, various information can be calculated using the measured results. The food measurement device 200 collects the identification information 530 for the tableware 500 and the person eating the meal. There may be differences in the information calculated depending on whether any of the identification information can be recognized.
우선, 배식구에 설치된 음식 측정 장치(200)와 퇴식구에 설치된 음식 측정 장치(200) 모두에서 식기(500)에 대한 식별정보(530)는 인식하지 못하고 식사 주체에 대한 식별정보만을 인식할 수 있는 경우, 본 실시예에 따른 음식 측정 방법을 이용하여 각 식사 주체에 대한 정보와 해당 식사 주체가 포함된 집단에 대한 정보를 산출할 수 있다.First, both the food measuring device 200 installed in the dispensing port and the food measuring device 200 installed in the dispensing port cannot recognize the identification information 530 for the tableware 500 and can only recognize the identification information for the person eating. If so, information about each meal subject and information about the group including the meal subject can be calculated using the food measurement method according to this embodiment.
반대로, 배식구에 설치된 음식 측정 장치(200)와 퇴식구에 설치된 음식 측정 장치(200) 모두에서 식사 주체에 대한 식별정보는 인식하지 못하고 식기(500)에 대한 식별정보(530)만을 인식할 수 있는 경우, 본 실시예에 따른 음식 측정 방법을 이용하여 각 식사 주체에 대한 정보는 산출하지 못하고 해당 식사 주체가 포함된 집단에 대한 정보만을 산출할 수 있다.On the contrary, both the food measuring device 200 installed in the dispensing port and the food measuring device 200 installed in the dispensing port do not recognize the identification information about the person eating, but only the identification information 530 about the tableware 500 can be recognized. If so, information about each meal subject cannot be calculated using the food measurement method according to this embodiment, but only information about the group including the meal subject can be calculated.
이 밖에, 배식구에 설치된 음식 측정 장치(200)에서 식기(500)에 대한 식별정보(530)와 식사 주체에 대한 식별정보를 모두 인식할 수 있고, 퇴식구에 설치된 음식 측정 장치(200)에서 식기(500)에 대한 식별정보(530)는 인식하지 못하고 식사 주체에 대한 식별정보만을 인식할 수 있는 경우, 퇴식구에 설치된 음식 측정 장치(200)에서 식기(500)에 대한 식별정보(530)는 인식하지 못하더라도 배식구에서의 정보를 이용하여 특정 식사 주체가 보유하는 식기(500)에 대한 식별정보(530)가 특정될 수 있기 때문에, 본 실시예에 따른 음식 측정 방법을 이용하여 각 식사 주체에 대한 정보와 해당 식사 주체가 포함된 집단에 대한 정보를 산출할 수 있다.In addition, both the identification information 530 for the tableware 500 and the identification information for the person eating can be recognized in the food measuring device 200 installed in the dispensing port, and the food measuring device 200 installed in the dispensing port can recognize If the identification information 530 for the tableware 500 is not recognized and only the identification information for the person eating can be recognized, the identification information 530 for the tableware 500 is collected from the food measuring device 200 installed in the dispensing port. Even if the food is not recognized, the identification information 530 for the tableware 500 held by a specific meal subject can be specified using the information at the distribution port, so each meal can be measured using the food measurement method according to this embodiment. Information about the subject and information about the group that includes the subject of the meal can be calculated.
한편, 음식 식별 장치(30)가 별도의 인증부(160)을 포함하지 않고, 음식 측정 장치(200)의 입력 장치(미도시)를 통해 식사 주체로부터 식별정보를 입력받을 수도 있다.Meanwhile, the food identification device 30 may not include a separate authentication unit 160 and may receive identification information from the person eating through an input device (not shown) of the food measurement device 200.
따라서 몇몇 실시예에서 수신부(110)가 촬영부(250)를 통해 촬영된 식기 이미지를 수신하는 단계(S520단계)에서, 수신부(110)는 식기 이미지 이외에 식기(500)에 대한 식별정보 및 식사 주체에 대한 식별정보 중 적어도 하나를 함께 수신할 수 있다.Accordingly, in some embodiments, in the step (S520) of the receiving unit 110 receiving the tableware image photographed through the photographing unit 250, the receiving unit 110 receives identification information about the tableware 500 and the person eating the meal in addition to the tableware image. At least one of the identification information for can be received together.
이어서, 도 1을 참조하면, 보정부(150)가 음식이 포함된 식기 이미지 보정을 수행할 수 있다(S25단계).Next, referring to FIG. 1, the correction unit 150 may perform image correction of dishes containing food (step S25).
보다 상세하게는, 보정부(150)가 음식이 담긴 식기 이미지 데이터를 이용하여 노이즈 성분을 제거하고, 식기 이미지의 기울기를 인식하여 수평 상태의 이미지로 보정할 수 있다. 이렇게 보정된 이미지는 후술하는 부피 산출 단계(S50)에서 이용될 수 있다.More specifically, the correction unit 150 may use image data of dishes containing food to remove noise components, recognize the tilt of the dish image, and correct it to a horizontal image. This corrected image can be used in the volume calculation step (S50) described later.
식당에서 식기를 촬영할 때 식기를 특정 위치에 올려놓은 상태에서 흔들림없이 촬영이 될 수도 있지만, 촬영부(250)가 컨베이어 벨트(270) 상에서 이동하는 식기(500)를 촬영하는 경우도 있고, 식사 주체가 식기(500)를 들고 있는 상태에서 음식 측정 장치(200)를 통해 식기(500)가 촬영되는 경우도 있으며, 몇몇 실시예에서 사용자가 식기(500)를 들고 걸어가는 것이 촬영부(250)에 의해 촬영될 수도 있다.When taking pictures of dishes in a restaurant, the pictures may be taken without shaking while the dishes are placed in a specific position. However, in some cases, the photography unit 250 takes pictures of the dishes 500 moving on the conveyor belt 270, and the person eating There are cases where the tableware 500 is photographed through the food measuring device 200 while holding the dishware 500, and in some embodiments, the user walking while holding the dishware 500 is captured in the photographing unit 250. It may also be filmed by
따라서, 식기 이미지가 불명확하게 촬영될 수도 있으며 식기의 각도가 기울어진 상태에서 식기 이미지가 촬영될 수도 있기 때문에, 보정부(150)가 식기 이미지의 흔들림 또는 기울기를 인식하고, 흔들림 또는 기울기가 가장 적은 식기 이미지를 선택하고 식기 이미지를 수평상태의 이미지로 보정하여 음식의 부피를 정확하게 산출할 수 있도록 한다.Therefore, since the tableware image may be photographed unclearly and the tableware image may be photographed at a tilted angle, the correction unit 150 recognizes the shake or tilt of the tableware image and determines whether the tableware image has the least shake or tilt. Select the tableware image and correct the tableware image to a horizontal image to accurately calculate the volume of food.
우선, 보정부(150)는 표준화된 식기 이미지 중 흔들림이 가장 적은 식기 이미지를 선택하기 위해, 표준화된 복수의 식기 이미지를 분석할 수 있으며, 예컨대, 보정부(150)는 각 픽셀 단위로 이미지의 번짐 정도를 확인하고 이를 통해 가장 흔들림이 적고 명확한 식기 이미지를 선택할 수 있다. First, the correction unit 150 may analyze a plurality of standardized tableware images to select the tableware image with the least shaking among the standardized tableware images. For example, the correction unit 150 may analyze the image for each pixel. You can check the degree of blurring and select the clearest tableware image with the least blur.
이어서, 보정부(150)는 식기 이미지에서 식기(500)가 음식에 가려지지 않고 노출된 영역을 대상으로 촬영부(250)에서 복수의 노출된 영역까지의 거리를 산출할 수 있으며, 복수의 노출된 영역까지의 산출된 거리를 이용하여 식기 이미지에서 식기(50)의 기울기를 산출할 수 있다. 이어서, 보정부(150)는 산출된 기울기를 이용하여 촬영된 식기 이미지가 수평이 되도록 보정할 수 있다.Subsequently, the correction unit 150 may calculate the distance from the photographing unit 250 to the plurality of exposed areas in the tableware image, targeting the exposed area of the tableware 500 without being obscured by food, and may calculate the distance from the plurality of exposed areas to the plurality of exposures. The tilt of the tableware 50 can be calculated from the tableware image using the calculated distance to the exposed area. Subsequently, the correction unit 150 may correct the photographed tableware image to be horizontal using the calculated tilt.
구체적으로, 보정부(150)는 깊이 식기 이미지에서 깊이 정보를 이용하여 식기(500) 형상을 추출할 수 있다. 식기 이미지에서 식기(500)과 식기(500) 이외의 배경은 깊이 정보에서 차이가 있으므로, 보정부(150)는 이를 이용하여 식기 이미지에서 식기(500)를 추출할 수 있다.Specifically, the correction unit 150 may extract the shape of the dishware 500 using depth information from the depth dish image. Since there is a difference in depth information between the tableware 500 and the background other than the tableware 500 in the tableware image, the correction unit 150 can extract the tableware 500 from the tableware image using this.
보정부(150)는 식기(500)에서 음식에 가려지지 않고 노출된 영역 중 평평한(flat) 영역을 확인하고, 평평한 영역 중 적어도 3군데 이상의 포인트를 정하고, 정해진 3군데 이상의 포인트의 깊이 정보를 확인한다.The correction unit 150 checks flat areas among the exposed areas of the tableware 500 that are not covered by food, determines at least three points among the flat areas, and checks the depth information of the three or more points. do.
여기서, 3군데 이상의 포인트의 깊이 정보를 확인하는 것은, 3군데 이상의 포인트를 이용하여 가상의 평면을 생성하고 해당 평면의 기울기를 확인하기 위한 것으로, 보정부(150)는 정해진 3군데 이상의 포인트의 깊이 정보를 이용하여 식기(500)의 기울기를 산출하고, 산출된 기울기를 이용하여 촬영된 식기 이미지를 보정할 수 있다.Here, checking the depth information of three or more points is to create a virtual plane using three or more points and check the slope of the plane, and the correction unit 150 determines the depth of three or more points. The tilt of the tableware 500 can be calculated using the information, and the photographed dish image can be corrected using the calculated tilt.
몇몇 실시예에서 평평한 영역 중 적어도 3군데 이상의 포인트를 정한 후, 정해진 3군데 이상의 포인트의 깊이 정보를 확인하는 대신, 정해진 3군데 이상의 포인트에 대하여 각 포인트의 주위 포인트에 대한 평균 깊이 정보를 각 포인트의 깊이 정보로 함으로써, 기울기 산출을 위해 상대적으로 많은 정보를 활용함으로써 산출된 기울기의 정확도를 높일 수 있다.In some embodiments, after determining at least three points in a flat area, instead of checking the depth information of the three or more points, the average depth information about the surrounding points of each point is calculated for the three or more points. By using depth information, the accuracy of the calculated slope can be increased by using relatively more information to calculate the slope.
몇몇 실시예에서 정해진 3군데 이상의 포인트의 깊이 정보를 이용하여 식기(500)의 기울기를 산출하는 과정에서 각 포인트를 연결하는 선에 따른 그래디언트(gradient) 값을 도출할 수 있으며, 이를 통해 식기(500)의 기울기를 산출하고 산출된 기울기를 이용하여 촬영된 식기 이미지를 보정할 수 있다.In some embodiments, in the process of calculating the slope of the tableware 500 using the depth information of three or more points, a gradient value according to the line connecting each point can be derived, and through this, the tableware 500 ) can be calculated and the photographed tableware image can be corrected using the calculated slope.
몇몇 실시예에서 보정부(150)는 식기 이미지에서 식기(50)의 윤곽을 파악하고, 촬영된 식기 이미지에서의 식기(50)의 윤곽과 레퍼런스로 활용하기 위한 기울어지지 않은 식기 이미지에서의 식기(50)의 윤곽을 비교함으로써, 촬영된 식기 이미지에서의 식기(50)의 기울기를 산출할 수 있다. 이어서, 보정부(150)는 산출된 기울기를 이용하여 촬영된 식기 이미지를 보정할 수 있다.In some embodiments, the correction unit 150 determines the outline of the tableware 50 in the tableware image, and determines the outline of the tableware 50 in the photographed tableware image and the tableware in the non-tilted tableware image for use as a reference ( By comparing the outline of the tableware 50, the inclination of the tableware 50 in the photographed tableware image can be calculated. Next, the correction unit 150 may correct the photographed dish image using the calculated tilt.
또한, 수신부(110)를 통해 수신된 2개의 음식이 담긴 식기 이미지 데이터에 현장의 상황(흔들림, 빛 반사 등)에 따라서 노이즈가 발생할 수 있기 때문에 2개의 식기 이미지를 비교하여 노이즈를 제거하도록 할 수 있다.In addition, since noise may occur in the image data of two tableware containing food received through the receiver 110 depending on the situation in the field (shaking, light reflection, etc.), noise can be removed by comparing the two tableware images. there is.
이어서, 도 1을 참조하면, 추출부(120)가 음식이 담긴 식기 이미지 데이터에서 식기(500)의 각 공간(510)에 수용된 음식 이미지 데이터를 추출한다(S530단계).Next, referring to Figure 1, the extraction unit 120 extracts the food image data accommodated in each space 510 of the tableware 500 from the image data of the tableware containing food (step S530).
보다 상세하게는, 식기 이미지에는 식기(500)와 음식의 이미지가 함께 포함되어 있기 때문에, 음식 이미지 데이터를 식기 이미지로부터 추출하는 것을 의미한다. 예컨대, 추출부(120)는 음식과 음식이 아닌 것을 구분할 수 있도록 인공지능 알고리즘을 이용하여 학습된 모델을 이용하여 음식 이미지 데이터를 추출할 수 있다. 여기서, 식기(500)에 복수의 공간(510)이 포함되는 경우, 추출부(120)는 각 공간(510) 마다의 음식 이미지 데이터를 추출할 수 있다.More specifically, since the tableware image includes images of the tableware 500 and food, this means extracting food image data from the tableware image. For example, the extraction unit 120 may extract food image data using a model learned using an artificial intelligence algorithm to distinguish between food and non-food. Here, when the tableware 500 includes a plurality of spaces 510, the extractor 120 may extract food image data for each space 510.
한편, 도 5를 참조하면, 공간 구분이 되지 않은 하나의 식기(500)에 복수 개의 음식이 수용된 것이 도시되는데, 식기(500) 내에 공간이 구분되지 않으므로, 추출부(120)가 복수 개의 음식이 포함된 하나의 전체 음식 이미지(550)로 인식할 수 있다. 이러한 경우 추출부(120)는 하나의 전체 음식 이미지 데이터를 각각의 음식 이미지 데이터로 분리하여 추출하는 과정을 추가적으로 수행하여야 한다.Meanwhile, referring to FIG. 5, it is shown that a plurality of foods are accommodated in one dishware 500 that is not spaced. Since the space within the dishware 500 is not divided, the extraction unit 120 is used to store a plurality of foods. It can be recognized as one whole food image 550 included. In this case, the extraction unit 120 must additionally perform an extraction process to separate the entire food image data into individual food image data.
이어서, 도 1을 참조하면, 판단부(130)가 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단한다(S40단계).Next, referring to Figure 1, the determination unit 130 determines the type of each food through the extracted food image data (step S40).
판단부(130)는 추출된 음식 이미지 데이터를 이용하여 음식 종류를 판단할 수 있다. 예컨대, 판단부(130)는 음식 종류의 인식을 위하여 이미지 기반으로 학습된 모델을 포함할 수 있지만, 음식 종류를 판별하는 방식은 이에 제한되지 않는다.The determination unit 130 may determine the type of food using the extracted food image data. For example, the determination unit 130 may include a model learned based on images to recognize food types, but the method for determining food types is not limited to this.
본 실시예에 따른 음식 측정 방법에서 음식 종류의 인식률을 높이기 위해 인공지능 알고리즘을 이용하여 학습된 모델을 아래의 방식으로 음식 측정 방법을 이용하는 개별 대상에 대하여 최적화할 수 있다. 개별 대상은 예컨대 개별 식당 또는 개별 식사 주체일 수 있지만, 이에 제한되지 않는다.In order to increase the recognition rate of food types in the food measurement method according to this embodiment, the model learned using an artificial intelligence algorithm can be optimized for individual subjects using the food measurement method in the following manner. An individual subject may be, for example, but is not limited to, an individual restaurant or individual dining entity.
우선, 도 6을 참조하면, 수신부(110)는 식당 또는 식사 주체 등 개별 대상으로부터 학습된 모델을 최적화 시키기 위한 최적화 정보를 수신한다(S31단계).First, referring to FIG. 6, the receiver 110 receives optimization information to optimize a model learned from an individual object such as a restaurant or person eating (step S31).
최적화 시키기 위한 대상이 되는 학습된 모델은 마스터 모델로서, 마스터 모델은 음식 측정 장치(200) 또는 사용자 단말(300)로부터 촬영된 이미지 데이터 또는 처리된 결과를 데이터 세트로 하여 음식 종류를 구분하도록 학습이 진행된 모델이다.The learned model that is targeted for optimization is the master model, and the master model is trained to distinguish food types using image data or processed results taken from the food measuring device 200 or the user terminal 300 as a data set. This is an advanced model.
마스터 모델은 음식 측정 방법에 이용되는 모든 촬영된 이미지 데이터 또는 처리된 결과를 데이터 세트로 하여 구축된 것이라서, 특정한 음식 이미지 데이터의 종류를 판단하기 위해, 마스터 모델은 수십, 수백, 수천 가지의 음식 종류 클래스에서 해당 특정한 음식 이미지 데이터가 어떤 음식 종류인지를 파악하게 된다.The master model is built using all captured image data or processed results used in food measurement methods as a data set, so in order to determine the type of specific food image data, the master model uses dozens, hundreds, or thousands of food types. The class determines what type of food the specific food image data is.
마스터 모델을 최적화 하는 것은 특정한 음식 이미지 데이터의 음식 종류를 파악하기 위해 고려해야 하는 음식 종류 클래스의 경우의 수를 줄이는 것이다. 이를 위해, 식당 또는 식사 주체 등 개별 대상에 대한 최적화 정보를 획득할 수 있다.Optimizing the master model is to reduce the number of food type classes that must be considered to identify the food type of specific food image data. To this end, optimization information for individual targets, such as restaurants or diners, can be obtained.
즉, 수신부(110)는 개별 대상에 대하여 최적화 정보를 수신할 수 있다. 최적화 정보로서 예컨대 개별 식당에서 판매하거나 제공하는 메뉴 정보 또는 개별 식사 주체가 자주 섭취하는 음식 종류 등 각 개별 대상에 의해 섭취되거나 개별 대상을 이용하는 식사 주체에 의해 섭취될 확률이 높은 것일 수 있다.That is, the receiving unit 110 can receive optimization information for individual targets. Optimization information may be information that has a high probability of being consumed by each individual object or consumed by a meal subject using the individual object, such as menu information sold or provided by an individual restaurant or types of food frequently consumed by an individual meal subject.
이어서, 도 6을 참조하면, 판단부(130)는 최적화 정보에 기초하여 마스터 모델에서 클래스를 최적화하여 로컬 모델을 산출한다(S32단계).Next, referring to FIG. 6, the determination unit 130 calculates a local model by optimizing a class in the master model based on the optimization information (step S32).
판단부(130)는 최적화 정보에 기초하여 해당 개별 대상과 관련도가 높은 음식 종류 클래스를 선정하고, 마스터 모델에서 고려하는 음식 종류 클래스를 해당 개별 대상과 관련도가 높은 음식 종류 클래스로 축소하는 방식으로 마스터 모델의 클래스를 최적화하여 해당 개별 대상에 대한 로컬 모델을 산출한다. The determination unit 130 selects a food type class that is highly related to the individual object based on the optimization information, and reduces the food type class considered in the master model to a food type class that is highly related to the individual object. By optimizing the classes of the master model, a local model for that individual object is produced.
이어서, 도 6을 참조하면, 판단부(130)는 개별 대상과 관련된 이미지 데이터를 이용하여 학습을 진행하여 로컬 모델을 고도화한다(S33단계).Next, referring to FIG. 6, the determination unit 130 advances the local model by learning using image data related to individual objects (step S33).
판단부(130)는 산출된 로컬 모델을 개별 대상과 관련된 이미지 데이터 또는 개별 대상과 관련하여 처리된 결과를 이용하여 학습을 진행함으로써 로컬 모델을 고도화할 수 있다.The determination unit 130 may advance the local model by learning the calculated local model using image data related to the individual object or results processed in relation to the individual object.
여기서, 개별 대상과 관련된 이미지 데이터는 개별 대상으로 개별 식당 내에서 촬영된 이미지 데이터 또는 개별 식당 내에서 촬영된 이미지 데이터가 처리된 결과이거나, 개별 대상으로 개별 식사 주체에 의해 촬영된 이미지 데이터 또는 개별 식사 주체에 의해 촬영된 이미지 데이터가 처리된 결과일 수 있다.Here, the image data related to an individual object is image data taken within an individual restaurant as an individual object or the result of processing image data taken within an individual restaurant, or image data taken by an individual dining subject as an individual object or an individual meal. It may be the result of processing image data captured by the subject.
한편, 판단부(130)는 산출된 로컬 모델을 개별 대상과 관련된 이미지 데이터 또는 개별 대상과 관련하여 처리된 결과를 이용하여 학습을 진행함으로써 로컬 모델을 고도화하는 과정에서, 판단부(130)는 인공지능 알고리즘을 이용하여 학습을 진행하는 과정에서 학습 모수, 학습 주기 등 다양한 변수를 변경하면서 학습을 진행하고, 진행된 학습 방식 중 정확도가 가장 높은 학습 장식을 이용하여 고도화 과정을 진행할 수 있다.Meanwhile, in the process of advancing the local model by learning the calculated local model using image data related to individual objects or results processed related to individual objects, the judging unit 130 uses artificial intelligence. In the process of learning using an intelligent algorithm, learning is carried out by changing various variables such as learning parameters and learning cycles, and the advancement process can be carried out by using the learning decoration with the highest accuracy among the learning methods.
이어서, 도 6을 참조하면, 판단부(130)는 고도화된 로컬 모델을 제공할 수 있으며, 이를 이용하여 판단부(130)가 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단함으로써, 정확도를 높일 수 있다(S34단계).Next, referring to FIG. 6, the determination unit 130 may provide an advanced local model, and using this, the determination unit 130 determines the type of each food through the extracted food image data, thereby improving accuracy. It can be increased (step S34).
몇몇 실시예에서, 선행되는 단계로, 수신부(110)가 식당에서 제공하는 음식 리스트 정보를 수신하는 단계(S10단계)가 더 포함될 수 있다.In some embodiments, a preceding step may further include the receiving unit 110 receiving food list information provided by the restaurant (step S10).
이 경우, 음식 종류를 판단하는 단계(S40단계)에서 판단부(130)는 추출된 음식 이미지 데이터와 음식 리스트 정보를 매칭하여 각 음식의 종류를 판단할 수도 있다.In this case, in the step of determining the type of food (step S40), the determination unit 130 may determine the type of each food by matching the extracted food image data and food list information.
이와 같이, 판단부(130)가 음식 이미지 데이터를 분석하여 음식의 종류를 자체적으로 판단할 수도 있고, 저장되어 있는 음식 리스트 정보와 매칭하여 음식의 종류를 판단할 수도 있으며, 음식 종류를 판별하는 방식은 이에 제한되지 않는다.In this way, the determination unit 130 may independently determine the type of food by analyzing the food image data, or may determine the type of food by matching it with stored food list information. A method of determining the type of food is not limited to this.
이어서, 도 1을 참조하면, 산출부(140)가 추출된 음식 이미지 데이터의 픽셀별 높이 정보(즉, 3차원 거리 데이터)를 이용하여 각 음식의 부피를 산출한다(S50단계).Next, referring to FIG. 1, the calculation unit 140 calculates the volume of each food using height information (i.e., 3D distance data) for each pixel of the extracted food image data (step S50).
위에서 언급한 바와 같이, 식기 이미지는 깊이 데이터를 획득할 수 있는 촬영부(250)를 통해 촬영되었기 때문에, 음식 이미지 데이터에 깊이 데이터로서 픽셀별 높이 정보(3차원 거리 데이터)가 포함되어 있고, 이를 이용하여 각 음식의 부피를 산출할 수 있게 된다.As mentioned above, since the tableware image was captured through the photographing unit 250 capable of acquiring depth data, the food image data includes height information (3D distance data) for each pixel as depth data. Using this, you can calculate the volume of each food.
여기서, 컴퓨터는 식기 이미지와 식기(500)에 형성된 복수의 공간(510)에 대한 크기, 깊이 및 용량을 포함하는 식기 정보가 저장된 데이터베이스(170)를 포함한다.Here, the computer includes a database 170 in which tableware information including the size, depth, and capacity of the plurality of spaces 510 formed in the tableware 500 and the tableware image are stored.
그리고, 부피 산출 단계(S50단계)는 보정부(150)가 각 음식이 수용된 공간(510)의 크기, 깊이 및 용량을 포함하는 식기 정보를 이용하여 산출된 각 음식의 부피를 보정하는 단계가 더 포함될 수 있다.In addition, the volume calculation step (step S50) is a step in which the correction unit 150 corrects the volume of each food calculated using tableware information including the size, depth, and capacity of the space 510 in which each food is accommodated. may be included.
식기(500)의 종류에 따라서 각 공간(510)의 깊이가 상이하기 때문에 보정부(150)가 식기 정보를 이용하면 음식이 쌓인 정도를 보다 정확하게 판단할 수 있게 된다. 본 실시예에 따른 컴퓨터의 데이터베이스(170)에는 식당에서 이용하는 식기(500)에 대한 데이터가 저장되어 있기 때문에, 본 실시예에 따른 음식 측정 방법을 이용하면 식기 정보를 이용하여 추출된 각 음식의 부피를 보다 정확하게 산출할 수 있다.Since the depth of each space 510 is different depending on the type of tableware 500, the correction unit 150 can more accurately determine the degree of food accumulation by using the tableware information. Since data on the tableware 500 used in a restaurant is stored in the database 170 of the computer according to this embodiment, when the food measurement method according to this embodiment is used, the volume of each food extracted using the tableware information can be calculated more accurately.
예컨대, 산출부(140)는 판단부(130)에 의해 식기(500) 내 특정 공간(510)에 수용된 음식의 종류가 액체인 것으로 판단되는 경우, 액체와 해당 공간(510)이 맞닿는 위치와 해당 공간(510)의 크기, 깊이 및 용량을 포함하는 식기 정보를 이용하여 액체의 부피를 산출할 수 있다.For example, when the determination unit 130 determines that the type of food contained in a specific space 510 within the tableware 500 is liquid, the calculation unit 140 determines the location where the liquid and the space 510 meet. The volume of liquid can be calculated using dish information including the size, depth, and capacity of the space 510.
특정 공간(510)에 '국'과 같은 액체 형태의 음식이 수용되면 필연적으로 '국'과 해당 공간(510)이 일정 높이에서 맞닿는 부분이 생기게 된다. 산출부(140)는 이를 이용하여 식기 이미지에서 액체 형태의 음식과 해당 공간(510)이 맞닿는 위치를 인식하고, 해당 공간(510)의 식기 정보(크기, 깊이, 용량)를 이용하여 음식의 부피를 산출하게 된다.When liquid food such as 'soup' is accommodated in a specific space 510, a portion inevitably occurs where the 'soup' and the space 510 come into contact at a certain height. The calculation unit 140 uses this to recognize the location where liquid food and the corresponding space 510 meet in the dishware image, and uses the dishware information (size, depth, capacity) of the corresponding space 510 to determine the volume of the food. is calculated.
예를 들어, 도 3에 표기된 'A' 영역에 '국'과 공간(510)이 맞닿는 부분이 표시되어 있으며, 산출부(140)는 이미지 데이터 내 A영역과 같은 부분을 통해 액체와 액체가 수용된 공간(510)이 맞닿는 위치를 확인할 수 있게 된다. 그리고 산출부(140)는 식기 정보(예컨대, 용량)를 이용하여 'A' 영역의 높이까지의 부피를 산출함으로써 '국'의 부피를 산출할 수 있다.For example, the part where the 'station' and the space 510 come into contact are shown in the 'A' area shown in Figure 3, and the calculation unit 140 stores the liquid through the same part as the A area in the image data. It is possible to check the location where the spaces 510 meet. Additionally, the calculation unit 140 can calculate the volume of 'soup' by calculating the volume up to the height of area 'A' using dishware information (eg, capacity).
몇몇 실시예에서, 도 5와 같이 공간 구분이 되지 않은 하나의 식기(500)에 대하여 추가 보정을 수행할 수 있다. 산출부(140)는 부피 산출 단계에서 음식 이미지 데이터에서 하나의 식기(500) 내에 구분되지 않는 공간에 복수 개의 음식이 수용된 것으로 판단되는 경우, 추출부(120)에 복수 개 음식 각각의 이미지 데이터를 요청하고, 각 음식의 부피를 산출한다.In some embodiments, additional correction may be performed on one dish 500 that is not spaced as shown in FIG. 5 . If it is determined from the food image data in the volume calculation step that a plurality of foods are accommodated in an undifferentiated space within one dishware 500, the calculation unit 140 provides image data for each of the plurality of foods to the extraction unit 120. Request and calculate the volume of each food.
그리고, 산출부(140)는 추출된 전체 음식 이미지 데이터를 이용하여 전체 음식의 부피를 산출하고, 부피 산출 단계에서 산출된 각 음식의 부피의 총합과 전체 음식 이미지 데이터를 통해 산출된 부피를 비교하여, 각 음식의 부피를 보정할 수 있다.Then, the calculation unit 140 calculates the volume of the entire food using the extracted entire food image data, and compares the total volume of each food calculated in the volume calculation step with the volume calculated through the entire food image data. , the volume of each food can be corrected.
몇몇 실시예에서, 부피 산출 단계(S50단계)는 적층된 음식의 부피를 산출하는 단계(S51단계)를 더 포함할 수 있다.In some embodiments, the volume calculation step (step S50) may further include calculating the volume of the stacked food (step S51).
보다 상세하게는, 식기(500) 내 특정 공간(510)에는 복수의 음식이 적층되어 있을 수 있다. 따라서, 산출부(140)는 식기(500) 내 특정 공간(510)에 서로 다른 음식이 적층된 것으로 인식되는 경우, 상측에 위치한 음식의 이미지 데이터와 산출된 부피 정보, 그리고 해당 공간(510)의 크기, 깊이 및 용량 정보를 이용하여 하측에 위치한 음식의 부피를 산출한다.More specifically, a plurality of foods may be stacked in a specific space 510 within the tableware 500 . Therefore, when the calculation unit 140 recognizes that different foods are stacked in a specific space 510 within the tableware 500, the image data of the food located on the upper side, the calculated volume information, and the corresponding space 510 The size, depth, and volume information are used to calculate the volume of food located below.
도 4는 식기에서 밥이 수용된 공간(510)에 밥 위에 계란 후라이가 적층된 것을 예시한 도면이다. 산출부(140)는 식기 정보와 계란 후라이의 이미지 데이터를 통해 계란 후라이의 크기와 부피를 산출한다.Figure 4 is a diagram illustrating a fried egg layered on rice in the space 510 where the rice is accommodated in the dishware. The calculation unit 140 calculates the size and volume of the fried egg using dishware information and image data of the fried egg.
그리고, 산출부(140)는 계란 후라이의 크기와 부피 정보를 통해서 해당 공간(510)에 수용된 밥의 높이를 예측할 수 있게 되며, 이와 함께 식기 정보를 이용하여 해당 공간(510)에 수용된 밥의 부피를 산출할 수 있게 된다.In addition, the calculation unit 140 can predict the height of the rice accommodated in the space 510 using the size and volume information of the fried egg, and the volume of the rice accommodated in the space 510 using the tableware information. can be calculated.
구체적으로, 하측에 위치한 음식(예컨대, 밥)이 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 면적을 산출하고, 하측에 위치한 음식(예컨대, 밥) 중 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지지 않는 영역의 높이를 이용하여 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 영역의 높이를 산출함으로써, 하측에 위치한 음식(예컨대, 밥)이 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 영역의 부피를 산출할 수 있다.Specifically, the area where the food located on the lower side (e.g., rice) is covered by the food located on the upper side (e.g., a fried egg) is calculated, and the food located on the upper side (e.g., eggs) among the foods located on the lower side (e.g., rice) is calculated. By calculating the height of the area covered by the food located on the upper side (e.g., a fried egg) by using the height of the area that is not covered by the food located on the lower side (e.g., rice), the food located on the upper side (e.g., rice) is calculated. , the volume of the area obscured by the fried egg) can be calculated.
이를 위해, 하측에 위치한 음식(예컨대, 밥)이 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 영역의 높이는, 하측에 위치한 음식(예컨대, 밥)이 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 않는 영역의 높이의 평균으로 설정될 수 있지만, 이에 제한되지 않는다.For this purpose, the height of the area where the food located on the lower side (e.g., rice) is covered by the food located on the upper side (e.g., a fried egg) is the height of the area where the food located on the lower side (e.g., rice) is covered by the food located on the upper side (e.g., a fried egg). ), but is not limited to this.
몇몇 실시예에서, 컴퓨터의 데이터베이스(170)에는 다른 음식의 상측에 적층되는 음식들에 대한 데이터가 미리 저장되어 있을 수 있다 (예를 들어, 계란 후라이, 생선, 김 등). 예컨대, 음식의 상측에 주로 적층되는 음식에 대한 데이터로 부피 데이터 또는 무게 데이터가 포함될 수 있으며, 이를 통해 산출부(140)는 상측에 적층되는 음식의 부피를 빠르게 산출할 수도 있다.In some embodiments, the computer's database 170 may pre-store data on foods stacked on top of other foods (eg, fried eggs, fish, seaweed, etc.). For example, data on food mainly stacked on the top of the food may include volume data or weight data, and through this, the calculation unit 140 may quickly calculate the volume of the food stacked on the top.
한편, 부피 산출 단계(S50단계)는 보정부(150)가 식기 이미지 내에 식기와 함께 촬영된 노이즈 성분을 보정하는 단계(S52단계)를 더 포함할 수 있다. 즉, 보정부(150)가 음식이 담긴 식기 이미지 데이터 내에서 음식이 아니면서 부피를 가지는 노이즈 성분을 검출하고, 각 음식의 부피를 산출하는 단계에서 산출된 음식의 부피에서 검출된 노이즈 성분의 부피를 제외하는 보정을 수정하는 단계를 더 포함할 수 있다.Meanwhile, the volume calculation step (step S50) may further include a step (step S52) in which the correction unit 150 corrects a noise component photographed with the tableware in the tableware image. That is, the correction unit 150 detects a noise component that is not food but has a volume within the image data of the tableware containing food, and the volume of the noise component detected from the volume of the food calculated in the step of calculating the volume of each food. A step of modifying the correction to exclude may be further included.
여기서, 노이즈 성분은 음식이 아니면서 부피를 가지는 것으로, 노이즈 성분의 부피로 인해 음식의 부피가 실제보다 더 크게 산출될 수 있다. 따라서 보정부(150)는 음식의 부피를 정확히 산출하기 위해 촬영된 이미지 내에서 노이즈 성분을 인식하고 산출부(140)에 의해 산출된 음식의 부피에서 해당 노이즈 성분의 부피를 제외시키는 보정을 수행할 수 있다.Here, the noise component is not food but has a volume, and the volume of the noise component may result in the volume of the food being calculated to be larger than it actually is. Therefore, in order to accurately calculate the volume of food, the correction unit 150 recognizes the noise component in the captured image and performs correction to exclude the volume of the noise component from the volume of the food calculated by the calculation unit 140. You can.
예를 들어, 손이나 식기류(예컨대, 수저, 포크, 나이프 등)가 음식이 아니면서 부피를 가지는 노이즈 성분일 수 있으며, 이 밖에 유제품의 뚜껑 등이 이에 해당할 수 있지만, 이에 제한되지 않는다. 예컨대, 컴퓨터의 데이터베이스(170)에는 노이즈 성분에 해당하는 대상에 대한 노이즈 정보가 미리 저장되어 있을 수 있으며, 보정부(150)는 촬영된 이미지 내에서 노이즈 성분을 인식하여 산출부(140)에 의해 산출된 음식의 부피에서 해당 노이즈 성분의 부피를 제외시키는 보정을 수행할 수 있다.For example, hands or utensils (e.g., spoons, forks, knives, etc.) may be volumetric noise components that are not food, and other examples may include, but are not limited to, lids of dairy products. For example, noise information about the object corresponding to the noise component may be stored in advance in the computer's database 170, and the correction unit 150 recognizes the noise component in the captured image and calculates it by the calculation unit 140. Correction can be performed to exclude the volume of the corresponding noise component from the calculated volume of food.
일례로, 노이즈 성분을 보정하는 단계에서 보정부(150)는 사용자의 손에 대한 이미지를 식기 이미지에서 인식하고 산출부(140)에 의해 산출된 음식의 부피값에서 손에 대한 부피값을 제외시키는 보정을 수행할 수 있다. 구체적으로, 사용자가 식기(500)를 들고 있는 상태에서 음식 측정 장치(200)에 의해 식기(500)가 촬영될 수도 있는데, 식기(500)를 들고 있는 손의 이미지 데이터 때문에 음식의 부피 산출에 오류가 발생할 수도 있기 때문에 보정부(150)가 음식이 담긴 식기 이미지 데이터를 통해 산출된 음식의 부피값에서 손과 같은 신체부위에 대한 부피값을 제외시키는 보정을 실시함으로써, 음식의 부피 산출 단계(S50)에서 정확도를 상승시킬 수 있다.For example, in the step of correcting the noise component, the correction unit 150 recognizes the image of the user's hand in the tableware image and excludes the volume value of the hand from the volume value of the food calculated by the calculation unit 140. Correction can be performed. Specifically, the tableware 500 may be photographed by the food measuring device 200 while the user is holding the tableware 500, but there is an error in calculating the volume of the food due to the image data of the hand holding the tableware 500. Since this may occur, the correction unit 150 performs correction to exclude the volume value for body parts such as the hand from the volume value of the food calculated through the image data of the tableware containing the food, thereby performing the food volume calculation step (S50) ) can increase accuracy.
일 실시예로, 보정부(150)는 빈 식기(500)과 수저에 대한 이미지 데이터에 대하여 미리 학습되어 식기 이미지 내에 수저가 포함되어 있는 경우 이를 인식하고 수저의 부피값을 제외하는 보정을 수행할 수 있다.In one embodiment, the correction unit 150 is trained in advance on image data for empty dishes 500 and cutlery, recognizes when a cutlery is included in the tableware image, and performs correction to exclude the volume value of the cutlery. You can.
보다 상세하게는, 보정부(150)는 음식이 담긴 식기 이미지 데이터 내 사용자의 손 또는 식기류의 존재 여부를 검출한다. 그리고, 식기 이미지 내에 사용자의 손 또는 식기류가 포함되어 있는 경우 음식이 담긴 식기 이미지 데이터를 통해 산출된 음식의 부피값에서 사용자의 손 또는 식기류의 부피값을 제외시킨다.More specifically, the correction unit 150 detects the presence of the user's hand or dishes in image data of dishes containing food. Additionally, if the user's hand or tableware is included in the tableware image, the volume value of the user's hand or tableware is excluded from the volume value of the food calculated through the image data of the tableware containing food.
상술한 보정부(150)의 구성과 동작들로 인하여, 본 발명의 실시예에 따른 음식 측정 방법은, 차후 단계들이 수행될 때 정확도를 상승시킬 수 있는 효과를 발휘하게 된다.Due to the configuration and operations of the correction unit 150 described above, the food measuring method according to the embodiment of the present invention has the effect of increasing accuracy when subsequent steps are performed.
이어서, 도 1을 참조하면, 산출부(140)가 S50단계에서 산출된 각 음식의 부피 정보와 음식 정보를 이용하여 각 음식의 무게를 포함하는 식사 정보를 산출한다(S60단계).Next, referring to FIG. 1, the calculation unit 140 calculates meal information including the weight of each food using the volume information and food information of each food calculated in step S50 (step S60).
컴퓨터의 데이터베이스(170)는 음식별 부피당 무게, 각 음식별 무게당 칼로리 정보, 각 음식별 무게당 영양성분 정보를 포함하는 음식 정보가 저장되어 있다.The computer database 170 stores food information including weight per volume of each food, calorie information per weight of each food, and nutritional information per weight of each food.
음식들은 종류에 따라서 부피당 무게가 다르며, 열량(칼로리)도 서로 상이하다. 따라서, 본 발명의 실시예에서는 음식별 부피당 무게를 포함하는 음식 정보가 데이터베이스(170)에 저장되어 있고, 산출부(140)가 이를 이용하여 음식의 부피 정보로부터 음식의 무게를 산출하게 된다.Foods have different weights per volume and different calories depending on the type. Therefore, in an embodiment of the present invention, food information including the weight per volume of each food is stored in the database 170, and the calculation unit 140 uses this to calculate the weight of the food from the volume information of the food.
이를 이용하여, 산출부(140)는 무게 산출 단계(S60단계) 다음에, 각 음식의 산출된 무게 정보를 이용하여 사용자의 배식식기에 수용된 음식의 칼로리를 계산할 수 있으며, 이외에 사용자가 섭취한 영양 성분 정보를 산출할 수 있으며, 음식 또는 음식에 포함된 영양 성분에 기초하여 알러지 주의 사항과 같이 추가적인 특이 정보를 산출할 수 있다.Using this, after the weight calculation step (step S60), the calculation unit 140 can calculate the calories of the food contained in the user's serving dish using the calculated weight information of each food, and in addition to the nutrition consumed by the user. Ingredient information can be calculated, and additional specific information, such as allergy precautions, can be calculated based on the food or the nutritional ingredients contained in the food.
이 밖에, 산출부(140)는 음식의 종류와, 각 음식의 부피 또는 무게를 이용하여 해당 음식에 대한 가격 정보를 산출할 수 있다.In addition, the calculation unit 140 may calculate price information for the food using the type of food and the volume or weight of each food.
산출부(140)는 전술한 식사 정보에 포함하는 정보를 음식 측정 장치(200)의 디스플레이부(210) 또는 사용자 단말(300)의 디스플레이부(310)에 제공할 수 있다. 디스플레이부(210, 310)에 제공되는 화면의 UI는 후술한다.The calculation unit 140 may provide information included in the above-described meal information to the display unit 210 of the food measuring device 200 or the display unit 310 of the user terminal 300. The UI of the screen provided on the display units 210 and 310 will be described later.
예컨대, 산출부(140)는 배식구의 디스플레이부(210/310)에 표시되는 정보와 퇴식구의 디스플레이부(210/310)에서 표시되는 정보를 상이하게 할 수 있다. 예컨대, 배식구의 디스플레이부(210/310)에는 음식 종류에 대한 정보, 칼로리에 대한 정보, 영양 성분 정보, 알러지 정보 및 가격 정보 등이 표시될 수 있고, 퇴식구의 디스플레이부(210/310)에는 위의 정보에 더하여 실제 섭취된 양에 대한 정보가 추가로 표시될 수 있다. 다만, 산출부(140)에 의해 산출되는 식사 정보는 이에 제한되지 않고, 촬영된 정보 또는 데이터베이스(170)에 저장된 정보를 활용하여 다양한 정보가 제한없이 표시될 수 있다.For example, the calculation unit 140 may make the information displayed on the display unit 210/310 of the feeding port different from the information displayed on the display unit 210/310 of the discharging port. For example, the display unit 210/310 of the food distribution unit may display information on food types, calorie information, nutritional information, allergy information, and price information, and the display unit 210/310 of the food distribution unit may display information on food types, calorie information, nutritional information, allergy information, and price information. In addition to the above information, information about the actual amount consumed may be additionally displayed. However, the meal information calculated by the calculation unit 140 is not limited to this, and various information can be displayed without limitation using photographed information or information stored in the database 170.
이에 따라, 식사 주체는 제공되는 가격 정보에 따라 현금, 카드, 계좌이체, QR코드 태깅, RFID 태깅, 안면인식 등의 방식으로 음식 측정 장치(200)의 결제부(240) 또는 사용자 단말(300)을 통해 결제를 진행할 수 있다.Accordingly, the meal subject uses cash, card, bank transfer, QR code tagging, RFID tagging, facial recognition, etc. according to the price information provided to the payment unit 240 or the user terminal 300 of the food measuring device 200. You can proceed with payment through .
일 실시예로, 식당에는 식기(500)의 무게를 측정할 수 있는 무게측정장치(미도시)가 마련되어 있을 수 있지만, 이에 제한되지 않으며, 수신부(110)가 식당에 마련된 무게측정장치(미도시)로부터 측정된 매식식기(500)의 무게정보를 수신하는 단계와, 보정부(150)가 S560단계에서 산출된 각 음식들의 무게와 빈식기의 무게의 총합과, 상기 수신된 무게정보를 매칭하여 각 음식의 무게를 보정하는 단계를 더 포함할 수 있다.In one embodiment, a restaurant may be equipped with a weight measuring device (not shown) that can measure the weight of the tableware 500, but is not limited thereto, and the receiver 110 may be equipped with a weight measuring device (not shown) provided in the restaurant. ), and the correction unit 150 matches the total weight of each food and empty dishes calculated in step S560 with the received weight information. A step of correcting the weight of each food may be further included.
상술한 보정 단계는 선택적으로 채용되어 사용될 수 있으며, 무게를 측정하는 과정에서 사용자의 손이나 각종 요인들에 의해서 무게가 실제와 상이하게 측정될 수 있으므로, 무게정보가 임계치를 초과할 정도로 상이하게 측정되는 경우 보정 단계가 수행되지 않을 수도 있다.The above-mentioned correction step can be selectively adopted and used, and since the weight may be measured differently from the actual due to the user's hand or various factors during the weight measurement process, the weight information is measured differently to the extent that it exceeds the threshold. If so, the calibration step may not be performed.
이하, 도 7 및 도 8을 참조하여, 음식 측정 장치(200)로서 사용자 단말(300)을 이용하는 다른 실시예에 따른 음식 측정 방법을 설명한다. 다만, 본 발명의 일 실시예에 따른 음식 측정 방법과의 차이점을 위주로 설명하며, 동일한 내용에 대하여는 설명을 생략한다. 도 7은 본 발명의 다른 실시예에 따른 음식 측정 방법의 흐름도이고, 도 8은 백그라운드 타겟을 설명하기 위한 테이블의 사시도이다.Hereinafter, with reference to FIGS. 7 and 8 , a food measuring method according to another embodiment using the user terminal 300 as the food measuring device 200 will be described. However, the description will focus on the differences from the food measuring method according to an embodiment of the present invention, and description of the same content will be omitted. Figure 7 is a flowchart of a food measurement method according to another embodiment of the present invention, and Figure 8 is a perspective view of a table for explaining a background target.
본 발명의 다른 실시예에 따른 음식 측정 방법은 컴퓨터에 의해 수행되며, 여기서 컴퓨터는 음식 측정 서버(100) 또는 사용자 단말(300)를 의미한다. 즉, 촬영은 사용자 단말(300)에 의해 수행되지만 다른 단계는 음식 측정 서버(100) 또는 사용자 단말(300)에 의해 수행될 수 있다.The food measurement method according to another embodiment of the present invention is performed by a computer, where the computer refers to the food measurement server 100 or the user terminal 300. That is, shooting is performed by the user terminal 300, but other steps may be performed by the food measurement server 100 or the user terminal 300.
여기서, 사용자 단말(300)은 이동 가능한 휴대용 단말로서, 음식 측정 방법 관련 서비스 애플리케이션이 설치된다. 사용자 단말(300)는 이미지 데이터와 깊이 데이터를 획득할 수 있다. 이를 위해, 사용자 단말(300)은 RGB 카메라, 2D 카메라, 3D 카메라, ToF(Time of Flight) 카메라, 라이트 필드 카메라(light field camera), 스테레오 카메라, 이벤트 카메라, 적외선 카메라 중 적어도 하나를 포함할 수 있다.Here, the user terminal 300 is a movable portable terminal, and a service application related to a food measurement method is installed. The user terminal 300 may acquire image data and depth data. To this end, the user terminal 300 may include at least one of an RGB camera, a 2D camera, a 3D camera, a Time of Flight (ToF) camera, a light field camera, a stereo camera, an event camera, and an infrared camera. there is.
예컨대, 사용자 단말(300)은 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 테블릿(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙 박스(black box) 또는 디지털 카메라(digital camera) 같은 전자 장치 중 하나로서, 음식 측정 서버(100) 또는 음식 측정 장치(200)와 관련된 음식 측정 어플리케이션의 설치 및 실행이 가능한 모든 사용자 장치를 포함할 수 있다.For example, the user terminal 300 may be a computer, an Ultra Mobile PC (UMPC), a workstation, a net-book, a Personal Digital Assistant (PDA), a portable computer, a web tablet, or a wireless phone. (wireless phone), mobile phone, smart phone, e-book, PMP (portable multimedia player), portable game console, navigation device, black box Alternatively, it may be one of electronic devices such as a digital camera, and may include any user device capable of installing and executing a food measurement application related to the food measurement server 100 or the food measurement device 200.
우선, 도 7을 참조하면, 수신부(110)가 사용자 단말(300)의 촬영부(350)를 통해 촬영된 식기 이미지를 수신한다 (S20단계)First, referring to FIG. 7, the receiving unit 110 receives a tableware image photographed through the photographing unit 350 of the user terminal 300 (step S20).
여기서, 사용자 단말(300)에 설치된 서비스 애플리케이션의 촬영 요청에 따라서 음식이 촬영될 수 있으며, 음식 촬영 방법, 각도 등에 대한 가이드가 서비스 애플리케이션을 사용자에게 영상이나 소리로 제공될 수 있다.Here, food may be photographed according to a photographing request from a service application installed on the user terminal 300, and a guide on how to photograph food, angle, etc. may be provided to the user of the service application in the form of video or sound.
일 실시예로, 서비스 애플리케이션은 음식을 서로 다른 각도에서 두 번 이상 촬영하도록 요청할 수 있다. 3D 카메라나 ToF 카메라를 이용하지 않는 경우, 음식을 서로 다른 각도에서 두 번 이상 촬영한다면, 두 장 이상의 음식이 담긴 식기 이미지 데이터를 비교하여 깊이 데이터를 획득할 수 있다. 또한, 깊이 데이터 획득이 목적이 아니라고 하더라도, 2회 이상 촬영되는 경우 차후 산출, 보정 단계에서 그 정확도가 상승하는 효과가 있다.In one embodiment, the service application may request that food be photographed more than once from different angles. When not using a 3D camera or ToF camera, if food is photographed more than once from different angles, depth data can be obtained by comparing image data of two or more dishes containing food. In addition, even if the purpose is not to acquire depth data, if images are taken more than twice, the accuracy increases in the subsequent calculation and correction stages.
이어서, 도 7을 참조하면, 보정부(150)가 식기 이미지 보정을 수행할 수 있다(S25단계).Next, referring to FIG. 7, the correction unit 150 may perform tableware image correction (step S25).
일 실시예로, 식기 이미지 수신 단계(S10단계)는 사용자 단말(300)의 촬영부(350)를 통해 음식이 촬영될 때, 사용자 단말(300)의 자이로센서(미도시)를 통해 측정된 사용자 단말(300)의 기울기 정보가 수신될 수 있다. 보정부(150)는 사용자 단말(300)의 기울기 정보를 이용하여 촬영된 음식이 담긴 식기 이미지 데이터의 기울기를 보정할 수 있다.In one embodiment, the tableware image receiving step (step S10) is performed when food is photographed through the photographing unit 350 of the user terminal 300, and the user measured through the gyro sensor (not shown) of the user terminal 300 Tilt information of the terminal 300 may be received. The correction unit 150 may correct the tilt of image data of dishes containing photographed food using tilt information of the user terminal 300.
본 발명의 실시예에 따르면, 사용자가 사용자 단말(300)을 파지하여 촬영부(350)를 통해 음식을 촬영하는 과정에서, 소정 각도 기울어짐이 발생할 수 있기 때문에, 상술한 단계들을 수행하여 음식이 담긴 식기 이미지 데이터를 수평상태로 보정할 수 있다.According to an embodiment of the present invention, in the process of the user holding the user terminal 300 and photographing food through the photographing unit 350, tilting at a predetermined angle may occur, so the food is captured by performing the above-described steps. The image data of the dishes contained therein can be corrected to a horizontal state.
이어서, 도 7을 참조하면, 추출부(120)가 음식이 담긴 식기 이미지 데이터에서 식기(500)의 공간(510)에 수용된 음식 이미지 데이터를 추출한다(S30단계).Next, referring to FIG. 7, the extraction unit 120 extracts the food image data accommodated in the space 510 of the tableware 500 from the image data of the tableware containing food (step S30).
사용자 단말(300)을 통해 촬영한 식기 이미지에는 음식만 포함되어 있는 것이 아니기 때문에, 정확한 부피 산출을 위해서 본 단계에서 이미지 상에서 음식 이미지 데이터만을 추출해낸다.Since the tableware image captured through the user terminal 300 does not include only food, only food image data is extracted from the image in this step to accurately calculate the volume.
추출부(120)는 배경으로부터 음식을 인식하여 추출하는 기능을 이용하여 정확하게 배경으로부터 음식을 추출하게 되며, 둘 이상의 음식이 포함되어 있는 경우 둘 이상의 음식들의 이미지 데이터를 각각 분리하여 추출하고, 이러한 과정에서 인공지능 알고리즘을 이용하여 학습된 모델이 이용될 수 있다.The extraction unit 120 accurately extracts food from the background using a function to recognize and extract food from the background. If two or more foods are included, the image data of the two or more foods are extracted separately, and this process A model learned using an artificial intelligence algorithm can be used.
이어서, 도 7을 참조하면, 판단부(130)가 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단한다(S40단계).Next, referring to FIG. 7, the determination unit 130 determines the type of each food through the extracted food image data (step S40).
판단부(130)는 인공지능 알고리즘을 이용하여 학습된 모델을 이용하여 추출부(120)가 추출한 각 음식 이미지 데이터의 음식 종류를 판단한다. 몇몇 실시예에서 판단부(130)는 정확도가 유사한 복수의 판단 결과가 나오는 경우 사용자 단말(300)에 복수의 판단 결과를 출력하고 사용자 단말(300)의 서비스 애플리케이션을 통해 사용자로부터 맞는 결과를 입력 또는 선택하도록 할 수 있다.The determination unit 130 determines the food type of each food image data extracted by the extraction unit 120 using a model learned using an artificial intelligence algorithm. In some embodiments, when a plurality of decision results with similar accuracy are output, the determination unit 130 outputs a plurality of decision results to the user terminal 300 and inputs the correct result from the user through a service application of the user terminal 300. You can choose.
이어서, 도 7을 참조하면, 산출부(140)가 추출된 음식 이미지 데이터의 픽셀별 높이 정보(즉, 3차원 거리 데이터)를 이용하여 각 음식의 부피를 산출한다(S50단계).Next, referring to FIG. 7, the calculation unit 140 calculates the volume of each food using height information (i.e., 3D distance data) for each pixel of the extracted food image data (step S50).
부피 산출 단계(S50단계)는 부피 보정 단계(S53)를 포함할 수 있다. 일 실시예로, 부피 보정 단계(S53단계)에서 부피 보정을 위해 백그라운드 타겟이 이용될 수 있다.The volume calculation step (step S50) may include a volume correction step (S53). In one embodiment, a background target may be used for volume correction in the volume correction step (step S53).
부피 보정 단계(S53단계)에서 판단부(130)가 수신된 식기 이미지 내 포함된 백그라운드 타겟을 인식하고, 보정부(150)가 인식된 백그라운드 타겟의 크기 정보, 위치 정보를 기초로 하여 S50단계에서 산출된 각 음식의 부피를 보정할 수 있다.In the volume correction step (step S53), the determination unit 130 recognizes the background target included in the received tableware image, and the correction unit 150 uses the size information and location information of the recognized background target in step S50. The calculated volume of each food can be corrected.
도 8을 참조하면, 보정부(150)는 백그라운드 타겟과 각 음식의 높이 정보를 비교하여 각 음식의 부피 보정을 수행할 수도 있고, 백그라운드 타겟과 각 음식의 크기 정보를 비교하여 각 음식의 부피 보정을 수행할 수도 있다.Referring to Figure 8, the correction unit 150 may perform volume correction of each food by comparing the background target and the height information of each food, and may perform volume correction of each food by comparing the background target and the size information of each food. You can also perform .
여기서, 백그라운드 타겟은 촬영부(350)를 통해 음식과 같이 촬영되거나 별도로 촬영된 것으로, 음식이 수용된 식기(500), 테이블(540), 수저, 사용자의 손가락 등이 이용될 수 있다. 다만, 이에 제한되지 않으며, 백그라운드 타겟은 통상적인 크기를 가진 대상이라면 무엇이든 적용 가능하다. 예를 들어, 백그라운드 타겟은 동전, 지폐, 스마트폰(제품 종류별) 등과 같이 그 크기가 정해져 있는 대상은 무엇이든 적용될 수 있다.Here, the background target is something that is photographed together with the food or photographed separately through the photographing unit 350, and the tableware 500, the table 540, the spoon, the user's finger, etc. containing the food can be used. However, it is not limited to this, and the background target can be applied to any object of normal size. For example, the background target can be applied to any object of a fixed size, such as coins, banknotes, smartphones (by product type), etc.
몇몇 실시예에서, 백그라운드 타겟은 사용자 단말(300)의 촬영부(350)를 통해 별도로 촬영되어 크기 정보가 데이터베이스(170)에 미리 저장되어 있을 수 있다. 이에 따라, 보정부(150)는 백그라운드 타겟의 크기 또는 높이에 기초하여 추출된 음식 이미지 데이터에서 음식의 부피를 높은 정확도로 예측할 수 있다.In some embodiments, the background target may be separately photographed through the photographing unit 350 of the user terminal 300 and size information may be previously stored in the database 170. Accordingly, the correction unit 150 can predict the volume of food with high accuracy from the food image data extracted based on the size or height of the background target.
첫번째 예시로, 서비스 애플리케이션이 사용자에게 촬영부(350)를 통해 사용자의 손을 일정거리에서 촬영하도록 할 수 있다. 또는, 서비스 애플리케이션은 사용자의 손/손가락의 실제 크기를 실측하여 입력하게 할 수도 있다.As a first example, the service application may allow the user to photograph the user's hand from a certain distance through the photographing unit 350. Alternatively, the service application may allow the user to actually measure and input the actual size of the user's hand/finger.
그리고, 수신부(110)는 사용자의 손이 촬영된 이미지를 분석하여 사용자 손의 실제 크기에 대한 정보를 데이터베이스(170)에 저장한다.Then, the receiver 110 analyzes the image of the user's hand and stores information about the actual size of the user's hand in the database 170.
이후에 판단부(130)는 수신된 식기 이미지 내에 사용자의 손이 포함되어 있는 것이 인식되면 사용자의 손을 백그라운드 타겟으로 설정하고, 보정부(150)가 백그라운드 타겟의 위치정보와 크기정보를 기초로 하여 산출부(140)에서 산출한 각 음식의 부피를 보정할 수 있다.Afterwards, when the determination unit 130 recognizes that the user's hand is included in the received tableware image, it sets the user's hand as the background target, and the correction unit 150 sets the user's hand as the background target based on the location information and size information of the background target. Thus, the volume of each food calculated by the calculation unit 140 can be corrected.
두번째 예시로, 서비스 애플리케이션이 사용자에게 촬영부(350)를 통해 집에서 사용하는 식기(500), 테이블(540), 수저 등을 일정거리에서 촬영하도록 할 수 있다. 이때, 테이블(540)은 사용자가 식기(500)를 배치하고 식사를 하는 식탁 또는 밥상 등을 의미할 수 있다.As a second example, the service application may allow the user to photograph dishes 500, tables 540, spoons, etc. used at home from a certain distance through the photographing unit 350. At this time, the table 540 may refer to a dining table or dining table where the user places the tableware 500 and eats.
*구체적으로, 컴퓨터는 사용자 단말(300)의 촬영부(350)를 통해 촬영된 사용자가 집에서 사용하는 식기(500)에 대한 이미지를 분석하여, 해당 식기(500)에 대한 크기, 깊이 및 용량 정보를 포함하는 식기(500) 정보를 데이터베이스(170)에 저장할 수 있다.*Specifically, the computer analyzes the image of the tableware 500 used by the user at home captured through the photographing unit 350 of the user terminal 300, and determines the size, depth, and capacity of the tableware 500. Tableware 500 information including information may be stored in the database 170.
보다 상세하게는, 본 발명의 실시예에 따른 사용자 단말(300)의 촬영부(350)를 통해 촬영된 영상에는 픽셀별 높이 정보가 저장되어 있기 때문에, 산출부(140)는 빈 식기(500)에 대한 이미지 데이터를 수신하게 되면 식기의 이미지 데이터의 픽셀별 높이 정보를 이용하여 식기에 대한 크기, 깊이 및 용량 정보 산출할 수 있게 되며, 이를 시기 정보로 데이터베이스(170)에 저장하는 것을 의미한다.More specifically, since height information for each pixel is stored in the image captured through the photographing unit 350 of the user terminal 300 according to an embodiment of the present invention, the calculating unit 140 stores empty dishes 500 When receiving image data for the tableware, the size, depth and capacity information for the tableware can be calculated using the height information for each pixel of the image data of the tableware, which means storing this in the database 170 as time information.
그리고, 산출부(140)는 음식 이미지의 분석 결과, 음식 중에 상기 식기(500)에 수용된 음식이 존재할 경우, 해당 음식이 수용된 식기(500)의 크기, 깊이 및 용량 정보를 이용하여 산출된 각 음식의 부피 보정을 수행한다.And, as a result of analyzing the food image, if there is food contained in the tableware 500 among the food, the calculation unit 140 calculates each food using the size, depth, and capacity information of the tableware 500 containing the food. Perform volume correction.
위와 같이 해당 식기(500)들의 크기, 깊이 및 용량 정보를 알고 있다면, 보정 단계를 수행하여 보다 정확한 결과를 얻을 수 있게 된다.If the size, depth, and capacity information of the dishes 500 are known as above, a correction step can be performed to obtain more accurate results.
몇몇 실시예에서, 서비스 애플리케이션은 사용자에게 식기(500), 테이블(540), 수저 등의 실제 크기를 실측하여 사용자 단말(300)에 입력하도록 요청할 수 있다(예: 테이블(540)의 가로, 세로 혹은 둘레 길이 정보)In some embodiments, the service application may request the user to measure the actual size of the dishes 500, table 540, spoon, etc. and input it into the user terminal 300 (e.g., the width and height of the table 540). or circumference length information)
세번째 예시로, 음식과 관련되지 않은 백그라운드 타겟을 이용하는 경우를 설명한다. 예컨대, 사용자는 500원 동전을 음식 이미지와 함께 촬영하고, 서비스 애플리케이션을 통해 백그라운드 타겟으로 500원 동전을 함께 촬영하였음을 입력할 수 있다.As a third example, we explain the case of using a background target that is not related to food. For example, a user can capture a 500 won coin along with a food image and input that the 500 won coin was photographed as a background target through a service application.
따라서, 판단부(130)는 수신된 음식이 포함된 식기 이미지 내 포함된 500원 동전(백그라운드 타겟)을 인식하고, 보정부(150)가 500원 동전(백그라운드 타겟)의 크기 정보를 기초로 하여 산출된 각 음식의 부피를 보정하게 된다.Accordingly, the determination unit 130 recognizes the 500 won coin (background target) included in the received image of the tableware containing food, and the correction unit 150 recognizes the 500 won coin (background target) based on the size information of the 500 won coin (background target). The calculated volume of each food is corrected.
이와 같이, 일반적으로 대부분의 사람들이 사용하여 그 크기가 정해져 있는 대상들은 백그라운드 타겟으로 적용 가능하기 때문에 사용자는 손쉽게 주변 대상을 음식과 함께 촬영하여 보정부가 각 음식의 부피를 보정하도록 할 수 있다.In this way, objects that are generally used by most people and have a fixed size can be applied as background targets, so the user can easily photograph surrounding objects together with food and have the correction unit correct the volume of each food.
또한, 위치 정보(음식점, 급식소 등), 날씨 정보(자외선, 음식종류 축소), 사용자의 상태정보(다이어트 중, 운동 중, 투병 중, 투약 중 등), 개인 선호정보, 주변 디바이스 정보를 다양하게 활용하여 부피를 보정함으로써 정확도를 상승시킬 수 있다.In addition, location information (restaurants, cafeterias, etc.), weather information (ultraviolet rays, reduced food selection), user status information (on diet, exercise, fighting illness, medication, etc.), personal preference information, and surrounding device information are provided in various ways. Accuracy can be increased by correcting the volume.
네번째 예시로, 컴퓨터는 복수의 사용자의 사용자 단말(300)를 통해 촬영된 이미지 데이터와 해당 이미지 데이터를 통해 산출된 정보, 해당 이미지가 촬영된 장소와 매칭되는 식당에 대한 정보를 저장하여 빅데이터를 구축할 수 있다.As a fourth example, the computer stores image data taken through the user terminal 300 of a plurality of users, information calculated through the image data, and information about the restaurant matching the place where the image was taken, thereby creating big data. It can be built.
예를 들어, A 사용자가 B 식당에서 C 메뉴를 주문하고, 사용자 단말(300)를 통해 C 메뉴를 촬영하게 되면 C 메뉴에 포함된 음식 종류를 판단하고, 각 음식의 부피를 산출하게 되며, 컴퓨터는 이러한 정보들을 저장하여 데이터베이스(170)에 저장되어 빅데이터로 활용된다.For example, when user A orders menu C at restaurant B and photographs menu C through the user terminal 300, the type of food included in menu C is determined, the volume of each food is calculated, and the computer This information is stored in the database 170 and used as big data.
그리고, 특정 사용자의 사용자 단말(300)을 통해 음식 이미지 데이터가 수신되고 음식 이미지가 촬영된 위치 정보와 판단된 음식의 종류를 컴퓨터 내 데이터베이스(170)의 데이터와 매칭하여 매칭되는 내역의 이전 산출 결과를 검출할 수 있으며, 이를 이용하여 산출된 각 음식의 부피 정보를 보정할 수 있다.Then, food image data is received through the user terminal 300 of a specific user, and the location information where the food image was taken and the determined type of food are matched with data in the database 170 in the computer, resulting in a previous calculation of the matching details. can be detected, and using this, the calculated volume information of each food can be corrected.
예를 들어, D 사용자가 B 식당과 매칭되는 위치에서 음식을 촬영하여 음식 이미지 데이터를 전송하였을 경우, 빅데이터에 위치정보를 매칭하여 D 사용자가 B 식당에 위치한 것이라고 판단하고 주문한 메뉴와 매칭되는 이전 결과 데이터를 조회하여 산출 부피 정보에 대한 보정이 수행될 수 있다.For example, when user D photographs food at a location matching restaurant B and transmits food image data, the location information is matched to big data to determine that user D is located at restaurant B, and the transfer is matched with the menu ordered. Correction of the calculated volume information can be performed by querying the result data.
이와 관련하여, 반대의 경우에도 적용이 가능하다. 보다 상세하게는, 음식에 대한 데이터가 먼저 저장되고, 사용자가 식당에서 계산을 할 때 어떠한 음식을 주문하여 먹었는지 알게 되면 역으로 저장된 데이터를 불러와서 부피, 영양 정보를 기록할 수 있게 된다.In this regard, the opposite case is also applicable. More specifically, data about food is stored first, and when the user knows what food they ordered and ate when paying at a restaurant, the stored data can be retrieved and volume and nutritional information can be recorded.
정리하면, 서비스 애플리케이션은 사용자 단말(300)에 의한 촬영 시, 사용자에게 영상 또는 소리로 백그라운드 타겟을 음식 촬영 전에 촬영하도록 요구하거나, 음식과 함께 촬영하도록 요구할 수 있다. 그리고, 판단부(130)는 수신된 백그라운드 타겟을 인식하고, 보정부(150)가 백그라운드 타겟의 위치정보와 크기정보를 기초로 하여 산출부(140)에서 산출한 각 음식의 부피를 보정할 수 있다.In summary, when taking pictures by the user terminal 300, the service application may request the user to take pictures of the background target with an image or sound before taking pictures of the food or to take pictures together with the food. Then, the determination unit 130 recognizes the received background target, and the correction unit 150 can correct the volume of each food calculated by the calculation unit 140 based on the location information and size information of the background target. there is.
이어서, 도 7을 참조하면, 산출부(140)가 S50단계에서 산출된 각 음식의 부피 정보와 음식 정보를 이용하여 각 음식의 무게를 포함하는 식사 정보를 산출한다(S60단계).Next, referring to FIG. 7, the calculation unit 140 calculates meal information including the weight of each food using the volume information and food information of each food calculated in step S50 (step S60).
전술한 본 발명의 실시예에 따른 음식 측정 방법을 이용하여 컴퓨터가 식당 또는 가정에서 식사하는 각 식사 주체의 배식량(식전 음식량을 의미함), 잔반량을 측정하고 이를 이용하여 식사량을 산출할 수 있다.Using the food measurement method according to the above-described embodiment of the present invention, a computer can measure the amount of food (meaning the amount of food before a meal) and the amount of leftover food for each person eating at a restaurant or at home and use these to calculate the amount of food. there is.
그리고, 컴퓨터가 식당 또는 가정에서 식사하는 식사 주체들의 배식량, 잔반량, 식사량을 이용하여 식당의 운영정보, 식사 주체들의 관리정보를 생성할 수 있으며, 식사 주체의 관리정보로서 예컨대 사용자의 영양상태, 식습관, 편식여부 등이 포함될 수 있다.In addition, the computer can generate restaurant operation information and management information of the diners using the portion size, remaining portions, and meal amount of the diners eating at the restaurant or at home, and as management information of the diners, for example, the nutritional status of the user. , eating habits, picky eating, etc.
이하, 도 9를 참조하여, 본 발명의 일 실시예에 따른 식당 운영정보 및 식사주체의 관리정보 제공 방법을 설명한다. 도 9는 본 발명의 일 실시예에 따른 식당 운영정보 및 식사주체의 관리정보 제공 방법의 순서도이다.Hereinafter, with reference to FIG. 9, a method for providing restaurant operation information and dining entity management information according to an embodiment of the present invention will be described. Figure 9 is a flowchart of a method for providing restaurant operation information and management information of diners according to an embodiment of the present invention.
우선, 도 9을 참조하면, 수신부(110)가 배식구에 마련된 배식구 촬영부(250) 또는 사용자 단말(300)의 촬영부(350)를 통해 촬영된 식전식기 데이터(식전식기 이미지 데이터)를 획득하고, 산출부(140)가 이를 이용하여 식사 주체의 배식량을 산출한다(S110단계). 자세한 설명은 도 1 내지 도 8을 통해 설명한 바와 같으며, 식사 주체에 대한 식별 단계(S120단계)가 같이 수행될 수 있다. 여기서, 식전식기는 식사 전 식사 주체의 식기(500)에 음식이 담긴 상태의 식기(500)를 의미한다.First, referring to FIG. 9, the receiver 110 receives appetizer data (appetizer image data) photographed through the dispensing port photographing unit 250 provided in the dispensing port or the photographing unit 350 of the user terminal 300. Obtained, the calculation unit 140 uses this to calculate the amount of food for the person eating (step S110). The detailed description is the same as that described with reference to FIGS. 1 to 8 , and the identification step (step S120) for the person eating the meal may be performed together. Here, the pre-meal tableware refers to the tableware 500 in which food is placed in the tableware 500 of the person eating before the meal.
*이어서, 도 9을 참조하면, 퇴식구에 마련된 퇴식구 촬영부(250) 또는 사용자 단말(300)의 촬영부(350)를 통해 촬영된 식후식기 데이터(식후식기 이미지 데이터)를 획득하고, 산출부(140)가 이를 이용하여 식사 주체의 잔반량을 산출한다(S120단계). 자세한 설명은 도 1 내지 도 8을 통해 설명한 바와 같으며, 식사 주체에 대한 식별 단계(S120단계)가 같이 수행될 수 있다. 여기서, 식후식기는 식사 후 식사 주체의 식기(500)를 의미한다.* Next, referring to FIG. 9, post-prandial meal data (post-prandial meal image data) photographed through the discharge port photographing unit 250 provided in the discharge port or the photographing unit 350 of the user terminal 300 is obtained, and calculated The unit 140 uses this to calculate the amount of leftover food for the meal subject (step S120). The detailed description is the same as that described with reference to FIGS. 1 to 8 , and the identification step (step S120) for the person eating the meal may be performed together. Here, the post-meal tableware refers to the tableware 500 of the person eating after the meal.
이어서, 도 9을 참조하면, 산출부(140)는 산출된 배식량과 잔반량을 이용하여 해당 식사 주체의 식사량을 산출한다(S130단계).Next, referring to FIG. 9, the calculation unit 140 calculates the meal amount of the person eating the meal using the calculated amount of food served and the amount of leftover food (step S130).
S110 내지 S120단계를 통해서, 컴퓨터는 식사 주체가 식당에서 제공하는 각 음식 메뉴을 배식받은 양과 먹고 남긴 잔반량, 그리고 섭취한 양(식사량)을 산출함으로써, 식사 주체가 밥, 반찬을 얼마나 섭취하였는지, 얼마만큼의 양을 남겼는지 등에 대한 정보를 확보할 수 있게 된다.Through steps S110 to S120, the computer determines how much rice and side dishes the person eating consumed, by calculating the amount of each food menu provided by the restaurant, the amount of leftovers left after eating, and the amount consumed (amount of meal). It is possible to secure information about how much is left.
또한, 본 발명의 실시예에 따른 컴퓨터는 음식량 산출의 정확도를 향상시키기 위해서 아래 동작들을 수행할 수 있다.Additionally, the computer according to the embodiment of the present invention can perform the following operations to improve the accuracy of calculating the amount of food.
일 실시예로, 산출부(140)는 상기 단계들을 통해 산출된 식사 주체의 식사량과 잔반량의 합이 배식량과 일치하는지 검증을 수행하고, 검증 결과에 따라 불일치하는 경우 산출부(140)는 식사량 또는 잔반량의 합이 배식량과 일치하도록 상기 단계들을 통해 산출된 식사량, 잔반량 및 배식량 중 적어도 하나를 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170) 기록한다.In one embodiment, the calculation unit 140 verifies whether the sum of the meal amount and leftover amount of the meal subject calculated through the above steps matches the ration amount, and if there is a discrepancy according to the verification result, the calculation unit 140 At least one of the meal amount, leftover amount, and ration amount calculated through the above steps can be corrected so that the sum of the meal amount or leftover amount matches the ration amount, and the result is recorded in the database 170.
또한, 산출부(140)는 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합과 잔반량의 총합을 합한 것이 배식량의 총합과 일치하는지 검증을 수행하고, 검증 결과에 따라 불일치하는 경우 산출부(140)는 식사량의 총합과 잔반량의 총합을 합한 것이 배식량의 총합과 일치하도록 상기 단계들을 통해 산출된 식사량의 총합, 잔반량의 총합 및 배식량의 총합 중 적어도 하나를 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록한다.In addition, the calculation unit 140 verifies whether the sum of the total amount of meals and the total amount of leftovers calculated through the above steps of the restaurant diners matches the total amount of food served, and if there is a discrepancy according to the verification result, the calculation unit 140 (140) can correct at least one of the total amount of meals, the total amount of leftovers, and the total amount of rations calculated through the above steps so that the sum of the total amount of meals and the total amount of leftovers matches the total amount of rations, The results are recorded in the database 170.
또한, 산출부(140)는 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합과 잔반량의 총합이 배식량의 총합과 일치하는지 검증을 수행하고 데이터베이스(170)에 기록한다. 보다 상세하게는, 산출부(140)는 식당에서 식사하는 식사 주체들의 배식량의 총합과 잔반량의 총합의 차이값이 식사량의 총합과 일치하는지 여부를 검증한다.In addition, the calculation unit 140 verifies whether the total amount of meals and the total amount of leftover food of the people eating at the restaurant calculated through the above steps matches the total amount of food served, and records it in the database 170. More specifically, the calculation unit 140 verifies whether the difference between the total amount of food served by the diners eating at the restaurant and the total amount of leftover food matches the total amount of food.
또한, 산출부(140)는 식당에 준비된 음식량의 총합을 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 비교하여 검증을 수행하고, 검증 결과에 따라 차이가 발생하는 경우 산출부(140)는 식당에 준비된 음식량의 총합이 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 일치하도록 잔반량의 총량, 잔식량의 총량 및 식사량의 총합 중 적어도 하나를 보정할 수 있으며, 예컨대 식사량을 보정할 수 있고, 이에 따른 결과를 데이터베이스(170)에 기록할 수 있다.In addition, the calculation unit 140 performs verification by comparing the total amount of food prepared in the restaurant with the total amount of leftover food generated in the restaurant, the total amount of leftover food generated in the restaurant, and the total amount of meals of the dining subjects of the restaurant. If a difference occurs according to the results, the calculation unit 140 ensures that the total amount of food prepared in the restaurant matches the total amount of leftover food generated in the restaurant, the total amount of leftover food generated in the restaurant, and the total amount of meals of the people eating in the restaurant. At least one of the total amount of leftover food, the total amount of leftover food, and the total amount of meals can be corrected, for example, the amount of meals can be corrected, and the result can be recorded in the database 170.
여기서, 잔반량은 식사 주체에게 배식되어 식사 주체가 먹고 남은 음식의 양이고, 잔식량은 식사 주체에게 배식되지 않고 남은 음식의 양일 수 있고, 잔식량은 상기 단계들을 통해 산출되거나 별도의 방법을 통해 산출될 수 있다.Here, the amount of leftover food is the amount of food left after being distributed to the person eating, and the amount of food remaining may be the amount of food remaining without being distributed to the person eating, and the amount of food remaining is calculated through the above steps or through a separate method. can be calculated.
또한, 데이터베이스(170)에는 식당에서 매회 배식을 위해 준비한 음식량의 총 무게, 잔식량의 총 부피(무게) 및 잔반량의 총 무게 측정 결과가 저장될 수 있으며, 산출부(140)는 준비한 음식량의 총 부피(무게)를 잔반량의 총 부피(무게), 잔식량의 총 부피(무게) 및 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합을 합한 것과 비교하여 검증을 수행하고, 검증 결과에 따라 차이가 발생하는 경우 산출부(140)는 식당에 준비된 음식량의 총합이 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 일치하도록 상기 단계들을 통해 산출된 식사 주체들의 식사량의 총합을 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록할 수 있다.In addition, the database 170 may store the total weight of the food prepared for each meal in the restaurant, the total volume (weight) of the remaining food, and the total weight measurement results of the remaining food, and the calculation unit 140 may store the total weight of the food prepared for each meal in the restaurant. Verification is performed by comparing the total volume (weight) with the total volume (weight) of the remaining food, the total volume (weight) of the remaining food, and the sum of the meal amounts of the restaurant diners calculated through the above steps, and the verification results are If a difference occurs, the calculation unit 140 performs the above steps so that the total amount of food prepared in the restaurant matches the total amount of leftover food generated in the restaurant, the total amount of leftover food generated in the restaurant, and the total amount of meals of the dining subjects of the restaurant. The total amount of meals calculated by the eating subjects can be corrected, and the results can be recorded in the database 170.
이와 같이, 산출부(140)가 각종 정보들을 이용하여 검증을 수행하고, 산출/보정으로 인한 정확도를 기록함으로써 문제점을 파악하고 개선해 나갈 수 있게 된다.In this way, the calculation unit 140 performs verification using various types of information and records the accuracy resulting from calculation/correction, thereby making it possible to identify problems and improve them.
예를 들어, 데이터베이스(170)에는 식당에서 매회 배식을 위해 준비한 음식량의 총 부피(무게)와 잔반량의 총 부피(무게) 측정 결과가 저장될 수 있으며, 산출부(140)는 준비한 음식량의 총 부피(무게)와 잔반량의 총 부피(무게)의 차이값과 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합을 비교하여 검증을 수행하고 데이터베이스(170)에 기록할 수 있다. (예를 들어, 식당에서 준비한 A 메뉴의 총 부피가 200이고 남은 양이 없이 모두 배식되었다면, 식사 주체들에게 배식된 A 메뉴의 부피의 총 합은 200에 근사해야 함)For example, the database 170 may store the results of measuring the total volume (weight) of the amount of food prepared for each meal in a restaurant and the total volume (weight) of the amount of leftover food, and the calculation unit 140 may store the total volume (weight) of the amount of food prepared for each meal in a restaurant. Verification may be performed by comparing the difference between the volume (weight) and the total volume (weight) of the remaining portion and the total amount of meals of the restaurant diners calculated through the above steps, and recorded in the database 170. (For example, if the total volume of Menu A prepared in a restaurant is 200 and all are served without any leftovers, the total volume of Menu A served to diners should be close to 200)
한편, 정확한 식사량 산출을 위해서는 식전과 식후에 촬영이 되어야 하는데, 사용자가 실수로 식후에 촬영을 하지 않는 경우가 발생할 수 있다.Meanwhile, in order to accurately calculate the amount of food, photos must be taken before and after a meal, but there may be cases where the user accidentally does not take photos after a meal.
따라서, 산출부(140)는 식전에 음식이 담긴 식기 이미지 데이터를 수신한 후 미리 설정된 시간이 초과된 상황에서, 식후 식기 이미지 데이터가 촬영 및 수신되지 않을 경우 식후 식기 이미지 데이터의 촬영이 이루어지지 않은 것으로 판단하고, 사용자의 예상 삭사량을 산출한다.Therefore, in a situation where a preset time has elapsed after receiving image data of dishes containing food before a meal, the calculation unit 140 determines that if the image data of dishes containing food after a meal is not captured and received, the image data of dishes containing food after a meal has not been captured. It is determined that this is the case, and the user's expected cutting amount is calculated.
예컨대, 산출부(140)는 사용자가 잔반을 남기지 않은 것으로 보고 사용자의 예상 식사량을 산출할 수도 있으며, 데이터베이스(170)에 저장된 사용자의 평균 식사량, 상태정보(다이어트, 증량 중, 운동 중 등), 배고픔의 정도, 식전 음식 이미지에 포함된 메뉴들에 대한 사용자의 선호도, 메뉴들의 맛 정보 등을 통해 사용자의 예상 식사량을 산출하여 데이터베이스(170)에 저장할 수도 있다.For example, the calculation unit 140 may calculate the user's expected meal amount by considering that the user has left no leftovers, and calculate the user's average meal amount and status information (dieting, increasing weight, exercising, etc.) stored in the database 170, The user's expected meal amount may be calculated based on the degree of hunger, the user's preference for menus included in the pre-meal food image, taste information of the menus, etc. and stored in the database 170.
이어서, 도 9을 참조하면, 컴퓨터의 관리부(180)가 식당에 등록된 식사 주체들의 배식량, 잔반량 및 식사량을 기반으로 식당의 운영정보를 생성한다(S140단계).Next, referring to FIG. 9, the computer management unit 180 generates operation information of the restaurant based on the amount of food served, the amount of leftover food, and the amount of meals of the diners registered in the restaurant (step S140).
이어서, 도 9을 참조하면 컴퓨터의 관리부(180)가 식당에 등록된 식사 주체들의 배식량, 잔반량 및 식사량을 기반으로 각 식사 주체들의 관리정보를 생성한다 (S150단계).Next, referring to FIG. 9, the management unit 180 of the computer generates management information for each meal subject based on the amount of food served, the amount of leftover food, and the meal amount of the meal subjects registered in the restaurant (step S150).
S140단계는 식당 운영에 도움을 주는 운영정보를 생성하는 것을 의미한다.Step S140 refers to generating operational information that helps restaurant operations.
보다 상세하게는 관리부(180)의 배식량 조절모듈(181)은 식당에 배식을 위해 마련한 총 배식 준비량과 배식이 완료된 식사 주체들의 배식량의 총합, 그리고 잔여 식사 주체 인원수에 대한 정보를 이용하여 잔여 식사 주체의 1인당 목표 배식량을 산출하여 식당 관리식당 관리자 장치(미도시)로 제공한다.More specifically, the ration control module 181 of the management unit 180 uses information on the total amount of rations prepared for distribution in the restaurant, the total amount of rations for diners whose meals have been completed, and the number of remaining diners. The target ration per person of the remaining meal subjects is calculated and provided to the restaurant management restaurant manager device (not shown).
이때, 식당 관리자는 식당 내에서 식단을 설계하고 식사 주체들에게 직접 배식을 수행하고 있는 담당자를 의미하며, 식당의 식당 관리자 앞에는 배식할 요리들과 함께 디스플레이 장치(30)와 같은 식당 관리자 디바이스가 설치되어 있을 수 있다.At this time, the restaurant manager refers to the person in charge of designing the menu within the restaurant and directly distributing meals to the diners, and a restaurant manager device such as a display device 30 is installed in front of the restaurant manager of the restaurant along with the dishes to be served. It may be.
따라서, 식당 관리자는 배식량 조절모듈(181)이 식당 관리자 디스플레이로 잔여 식사 주체의 1인당 목표 배식량에 대한 정보를 제공하면, 이를 이용하여 잔여 식사 주체들에 대한 배식량을 조절할 수 있게 된다.Accordingly, when the rationing amount control module 181 provides information on the target rationing amount per person for the remaining diners through the restaurant manager display, the restaurant manager can use this to adjust the rationing amount for the remaining diners.
본 발명의 실시예에서 식당 관리자는 위와 같이 식당 내에서 식사 주체들에게 직접 배식을 수행하는 담당자를 의미할 수도 있고, 식당을 관리하는 관리자, 혹은 식당의 영양사를 의미할 수도 있다.In an embodiment of the present invention, a restaurant manager may refer to a person in charge of directly distributing meals to diners in a restaurant as described above, or may refer to a manager who manages the restaurant, or a nutritionist at the restaurant.
이와 같은 구성을 통해, 잔여 식사 주체 수에 비해서 배식 준비량이 많이 남아있다면, 잔여 식사 주체들에 대한 1인당 목표 배식량을 상승시키고, 음식물 쓰레기를 줄이는 효과를 얻을 수 있다.Through this configuration, if there is a large amount of food preparation remaining compared to the number of remaining diners, the effect of increasing the target ration amount per person for the remaining diners and reducing food waste can be achieved.
또한, 잔여 식사 주체 수에 비하여 배식 준비량이 부족하다면, 잔여 식사 주체들에 대한 1인당 목표 배식량을 감소시켜, 음식이 부족하여 식사를 못하는 인원(식사 주체)이 발생하는 것을 방지하는 효과를 얻을 수 있다.In addition, if the amount of food preparation is insufficient compared to the number of remaining diners, the target ration amount per person for the remaining diners is reduced, which has the effect of preventing the occurrence of people (diners) who cannot eat due to lack of food. You can.
일 실시예로, 운영정보 생성 단계(S140단계)는 배식그룹 관리모듈(183)이 각 배식인원들의 소속을 체킹하고 소속별로 배식량, 잔반량 및 식사량을 저장하고, 이를 이용하여 각 소속별 선호음식, 비선호음식, 잔반량, 영양상태 중 적어도 하나를 포함하는 소속별 정보를 생성하는 단계와, 날씨, 요일과 각 소속별 일정 정보와 상기 소속별 정보를 매칭하여 그에 대한 연관성 정보를 추출하는 단계를 포함할 수 있다.In one embodiment, in the operation information generation step (step S140), the meal group management module 183 checks the affiliation of each meal member, stores the amount of food served, the amount of leftover food, and the amount of meals for each member, and uses this to determine preference for each member. A step of generating information for each affiliation including at least one of food, non-preferred food, amount of leftover food, and nutritional status, and extracting correlation information for each affiliation by matching the information for each affiliation with weather, day of the week, and schedule information for each affiliation. may include.
이때, 배식인원들의 소속이란 회사의 경우 회사, 그룹, 팀 등을 의미할 수 있고, 학교의 경우 학과, 반 등을 의미할 수 있으며, 군대의 경우 군단, 사단, 연대, 대대, 중대, 소대, 분대를 의미할 수 있다.At this time, in the case of a company, the affiliation of the food service members may mean a company, group, team, etc., in the case of a school, it may mean a department, class, etc., and in the case of the military, it may mean a corps, division, regiment, battalion, company, platoon, etc. It can mean a squad.
그리고, 소속별 일정 정보는 회사의 경우 분기, 진행중인 프로젝트, 사업을 의미할 수 있고, 학교의 경우 학기, 시험기간 등을 의미할 수 있으며, 군대의 경우 각종 훈련기간 등을 의미할 수 있다.In addition, schedule information by affiliation may mean quarters, ongoing projects, and projects in the case of a company; semesters, exam periods, etc. in the case of schools; and various training periods, etc. in the case of the military.
따라서, 본 발명의 실시예에 따르면 식사 주체들의 소속에 따라서 선호하는 음식과 비선호하는 음식에 대한 정보를 이용하여 소속별 음식 취향을 파악할 수 있고, 차후 배식 메뉴에 대한 정확한 가이드를 마련할 수 있게 된다.Therefore, according to an embodiment of the present invention, it is possible to identify food tastes by affiliation using information about preferred and non-preferred foods depending on the affiliation of the dining subjects, and to prepare an accurate guide for future food menus. .
또한, 관리자는 소속별로 잔반량과 영양상태에 대해서 파악할 수 있게 된다.In addition, managers can check the amount of leftover food and nutritional status by department.
그리고, 날씨, 요일과 각 소속별 일정 정보를 소속별 정보와 매칭하여 연관성 정보를 추출함으로써, 관리자는 날씨, 요일에 따라서 식사 주체들의 식욕이나 음식 취향 변화를 체크할 수 있게 되고, 군대의 경우 각종 훈련 일정에 따라서 군인들의 식사량 등이 어떻게 변화하는지 파악할 수 있게 된다.In addition, by extracting correlation information by matching the weather, day of the week, and schedule information for each affiliation with the information for each affiliation, the manager can check changes in the appetite or food taste of the eating subjects depending on the weather and day of the week. In the case of the military, various It will be possible to understand how soldiers' meal intake changes according to their training schedule.
관리자는 이와 같은 정보들을 이용하여 군 소속과 훈련 일정에 따라서 배식메뉴와 배식량을 적절히 조절하여, 훈련 일정을 소화하는 군인들에게 적합한 배식을 제공할 수 있게 된다.Using this information, administrators can appropriately adjust food menus and ration amounts according to military affiliation and training schedule, thereby providing appropriate food to soldiers completing the training schedule.
일 실시예로, 운영정보 생성 단계(S140단계)는 식당별로 배식량이 유사한데 반해 잔반량의 차이가 일정량 이상 차이가 발생할 경우, 관리부가 잔반량이 적은 식당이 식재료의 등급과 조리 방법이 우수한 것으로 판단하고, 해당 식당의 식재료 수급정보와 음식의 조리 방법을 다른 식당의 식당 관리자 디바이스로 제공할 수 있다.In one embodiment, in the operation information generation step (step S140), if the amount of food served is similar for each restaurant, but the difference in the amount of leftover food is more than a certain amount, the management determines that the restaurant with less leftover food has the superior grade of ingredients and cooking method. After making the decision, the restaurant's food ingredient supply information and food cooking method can be provided to the restaurant manager device of another restaurant.
예를 들어, 2곳 혹은 그 이상의 식당들에서 음식 메뉴와 배식량이 유사한데 반해, 잔반량에서 큰 차이가 발생하였다면 잔반량이 적은 식당은 식재료의 등급이 높고 조리 방법이 우수하고, 잔반량이 많은 식당은 식재료의 등급이 낮고 조리 방법이 떨어지는 것을 의미할 수 있다.For example, if two or more restaurants have similar food menus and portion sizes, but there is a big difference in the amount of leftovers, the restaurant with less leftovers has higher quality ingredients and excellent cooking methods, and the restaurant with more leftovers This may mean that the food ingredients are of low quality and the cooking method is poor.
따라서, 관리부가 잔반량이 적게 발생한 식당의 식재료 수급정보와 음식의 조리 방법을 다른 식당의 식당 관리자 디바이스로 제공함으로써, 식당의 질을 향상시키는 효과를 발휘하게 된다.Therefore, the management has the effect of improving the quality of the restaurant by providing information on supply and demand of food ingredients and cooking methods of restaurants with small leftovers to restaurant manager devices of other restaurants.
일 실시예로, 관리정보 생성 단계(S150단계)는 식사 주체 관리모듈(185)이 각 식사 주체의 신체정보, 배식량, 잔반량 및 식사량을 이용하여, 각 식사 주체의 선호음식, 비선호음식, 평균 잔반량, 영양상태, 평균 식사량 중 적어도 하나를 포함하는 대상별 정보를 생성하는 단계를 포함한다.In one embodiment, in the management information generation step (step S150), the meal subject management module 185 uses the body information, portion size, leftover amount, and meal amount of each meal subject to select preferred foods, non-preferred foods, and It includes generating target-specific information including at least one of the average amount of leftover food, nutritional status, and average meal amount.
또한, 식사 주체 관리모듈(185)이 상기 대상별 정보를 이용하여 각 식사 주체의 체력관리 정보, 비만위험도를 산출하고, 다이어트 상태로 설정되지 않은 식사 주체의 식사량이 일정시간동안 일정량 이하로 감소되거나, 잔반량이 일정시간동안 일정량 이상으로 증가되는 경우 해당 식사 주체를 주의대상으로 설정하는 단계를 포함한다.In addition, the eating subject management module 185 calculates the physical strength management information and obesity risk of each eating subject using the above-mentioned information for each subject, and the meal amount of the eating subject not set to a diet is reduced below a certain amount for a certain period of time, or If the amount of leftover food increases beyond a certain amount over a certain period of time, it includes the step of setting the subject of the meal as an object of attention.
예를 들어, 대부분의 군인들은 규칙적인 생활과 일정을 소화하기 때문에 꾸준하게 영양상태를 공급받아야 하고, 개인적인 문제가 있지 않다면 대부분의 경우 일정 식사량을 유지하게 된다. 하지만, 개인적인 문제가 발생하여 의욕이 떨어지고 컨디션이 좋지 않은 경우 식사량에서 이것이 나타날 수 있기 때문에 이를 이용하여 개개인의 문제를 조기에 발견할 수 있도록 한다.For example, most soldiers have a regular life and schedule, so they need to receive a steady supply of nutrition, and unless they have personal problems, they will maintain a certain amount of food in most cases. However, if a personal problem occurs and motivation is low and the condition is not good, this may appear in the amount of food eaten, so this can be used to detect individual problems early.
따라서, 식사 주체 관리모듈(185)은 다이어트 상태로 설정되지 않은 식사 주체의 식사량이 일정시간동안 일정량 이하로 감소되는 경우, 해당 식사 주체에게 문제가 발생하여 식욕이 저하된 것으로 판단하고, 해당 식사 주체를 주의대상으로 설정한다.Therefore, when the eating subject's meal amount that is not set to a diet state decreases below a certain amount for a certain period of time, the eating subject management module 185 determines that a problem has occurred in the eating subject and the eating subject's appetite has decreased, and the eating subject's appetite is reduced. Set as an object of caution.
또한, 식사 주체 관리모듈(185)은 다이어트 상태로 설정되지 않은 식사 주체의 잔반량이 일정시간동안 일정량 이상으로 증가되는 경우, 해당 식사 주체가 배식을 하는 음식량은 종전과 비슷한 수준이지만 입맛이 떨어져서 식사량이 줄어 잔반량이 늘어나는 것으로 판단하고, 해당 식사 주체를 주의대상으로 설정한다.In addition, the eating subject management module 185 determines that when the amount of leftover food of a eating subject that is not set to a diet increases to a certain amount or more for a certain period of time, the amount of food served by the eating subject is similar to the previous level, but the eating subject's appetite decreases and the amount of food consumed is reduced. It is determined that the amount of leftover food is increasing due to the decrease, and the subject of the meal is set as an object of caution.
이와 같이 식사 주체 관리모듈(185)이 식사 주체 개개인을 관리하고, 문제가 발생하였다고 의심되는 식사 주체를 주의대상으로 설정함으로써, 군대와 같은 장소에서 관심병사와 같은 인원들에게 사고가 발생하기 전에 위험징후를 조기에 발견하여 관리자가 상담을 하는 등의 대책을 마련할 수 있게 되는 효과가 있다.In this way, the meal subject management module 185 manages each meal subject and sets the meal subject suspected of having a problem as a target of caution, thereby creating a risk of danger before an accident occurs to personnel such as soldiers of interest in places such as the military. This has the effect of detecting signs early and allowing managers to prepare countermeasures such as consultation.
이외에도, 식사 주체 관리모듈(185)은 식사 주체들 각각의 영양상태와 평균 식사량 등의 정보를 포함하는 대상별 정보를 생성하기 때문에, 관리자는 이와 같은 정보를 이용하여 소속별 특징과 상태는 물론 개개인의 특징과 상태를 확인할 수 있게 된다.In addition, since the meal subject management module 185 generates information for each subject including information such as the nutritional status and average meal amount of each meal subject, the manager uses this information to determine the characteristics and status of each affiliation as well as individual You can check the characteristics and status.
일 실시예로, 운영정보 생성 단계(S140단계)는 식사 주체들의 평균 선호음식, 비선호음식, 식사량을 산출하고, 배식메뉴 추천모듈(187)이 이를 이용하여 식당의 하나 이상의 추천메뉴와 배식 준비량을 도출하여 식당 관리자 디바이스로 제공하는 단계를 포함한다.In one embodiment, the operation information generation step (step S140) calculates the average preferred food, non-preferred food, and meal amount of the dining subjects, and the food menu recommendation module 187 uses this to create one or more recommended menus of the restaurant and the meal preparation amount. It includes the step of deriving and providing it to the restaurant manager device.
하루에도 최소 1, 2회 이상씩 배식이 진행되는 식당에서 날마다 식사 주체들의 취향과 영양상태를 고려하여 배식메뉴를 정하는 것은 식당 관리자에게 아주 까다로운 업무이다.In a restaurant where food is served at least once or twice a day, it is a very difficult task for the restaurant manager to determine the food menu taking into account the tastes and nutritional status of the diners every day.
심지어는 영양상태를 고려하면 식사 주체들의 취향(선호음식)과 맞지 않아 많은 잔반(음식물 쓰레기)이 발생하고, 식사 주체들의 취향에 맞추다 보면 영양상태를 맞추는 것이 힘들어진다는 문제점이 있다.Even considering the nutritional status, there is a problem that a lot of leftover food (food waste) is generated because it does not match the tastes (preferred foods) of the diners, and it becomes difficult to match the nutritional status if it is tailored to the tastes of the diners.
따라서, 배식메뉴 추천모듈(187)은 식사 주체들의 평균 선호음식, 비선호음식, 음식메뉴별 식사량을 산출하고 이를 이용하여 추천메뉴와 함께 배식 준비량을 도출하여 제공함으로써, 식당 관리자, 관리자가 식당을 관리하는데 도움이 되도록 하는 효과가 있다.Therefore, the meal menu recommendation module 187 calculates the average preferred food, non-preferred food, and meal amount for each food menu of the diners, and uses this to derive and provide the meal preparation amount along with the recommended menu, allowing restaurant managers and managers to manage the restaurant. It has the effect of helping with management.
또한, 이러한 알고리즘을 구현하기 위해서, 컴퓨터의 데이터베이스(170)에는 음식별 관련도가 저장되어 있다. 예를 들어, A, B, C의 음식이 관련도가 높고 해당 식당의 식사 주체들이 B 음식을 선호할 경우 A와 C 음식 또한 선호할 가능성이 높다고 판단할 수 있다.Additionally, in order to implement this algorithm, the relevance of each food is stored in the computer database 170. For example, if foods A, B, and C are highly related, and diners at the restaurant prefer food B, it can be determined that they are likely to also prefer foods A and C.
이때, 배식메뉴 추천모듈(187)은 아래에서 설명할 음식 메뉴의 선호도 정보, 맛 평가점수를 이용하여 추천메뉴를 도출할 수 있다.At this time, the food menu recommendation module 187 can derive a recommended menu using preference information and taste evaluation scores of the food menu, which will be explained below.
일 실시예로, 관리부(180)의 배식메뉴 평가모듈(189)은 배식량, 잔반량 및 식사량을 기반으로 운영정보 및 관리정보를 생성하되, 배식된 음식들 각각의 배식량 변화량과 잔반량 변화량을 이용하여 각 음식 메뉴의 선호도 및 배식된 음식 자체의 맛 평가점수를 평가하는 것을 특징으로 한다.In one embodiment, the food menu evaluation module 189 of the management unit 180 generates operation information and management information based on the amount of food served, the amount of leftovers, and the amount of meals, and the amount of change in the amount of food served and the amount of change in the amount of leftovers for each of the distributed foods. It is characterized by evaluating the preference of each food menu and the taste evaluation score of the distributed food itself.
컴퓨터의 데이터베이스(170)에는 식당에서 배식하는 음식의 배식량에 대한 기준치가 저장되어 있다. 식사 주체는 배식을 받으면서 음식의 외형이나 냄새 등을 통해 맛이 있어 보이는 경우 배식량을 늘리거나 반대의 경우 배식량을 줄이게 되며, 식사를 하면서 맛이 없는 음식의 경우 해당 음식을 많이 남기게 된다.The computer's database 170 stores standard values for the amount of food served in a restaurant. When receiving food, if the food appears to be tasty through its appearance or smell, the person eating will increase the amount served, or if the opposite is the case, reduce the amount served, and if the food is tasteless while eating, a lot of the food will be left behind.
상술한 구성은 이와 같은 특징을 이용하여 점수를 평가하는 것으로 보다 상세하게는, 아래와 같은 기준들로 인해 판단하게 된다.The above-described configuration evaluates scores using these characteristics, and more specifically, it is judged based on the following criteria.
첫째로, 배식메뉴 평가모듈(189)은 특정 음식의 배식량이 기준치보다 많고 잔반량이 기준치보다 적은 경우, 해당 음식 메뉴의 선호도를 상승시키고, 배식된 해당 음식 자체의 맛 평가점수를 상승시킨다.First, the food menu evaluation module 189 increases the preference of the food menu when the amount of food served is greater than the standard value and the amount of leftover food is less than the standard value, and increases the taste evaluation score of the food itself.
이 경우, 배식자(식사 주체)들이 배식받는 과정에서 음식을 육안으로 보고 본인이 선호하는 음식이기 때문에 해당 음식의 배식량을 증가시켰고, 식사를 진행하면서도 맛이 있다고 판단하여 해당 음식을 모두 섭취하거나 적게 남긴 것이라고 판단하는 것을 의미한다.In this case, during the process of receiving food, the diners (eating subjects) saw the food with their eyes and increased the amount of food served because it was their preferred food. While eating, they judged it to be delicious and consumed all of the food. It means judging that there is little left.
따라서, 배식메뉴 평가모듈(189)이 해당 음식 메뉴에 대한 선호점수를 높게 평가하고, 배식된 해당 음식 자체의 맛 평가점수 또한 높게 평가하여 식재료 선택이나 음식의 조리가 제대로 이루어졌다고 평가하게 된다.Therefore, the food menu evaluation module 189 evaluates the preference score for the corresponding food menu as high, and also evaluates the taste evaluation score of the served food itself as high, thereby evaluating that the selection of ingredients or the cooking of the food was done properly.
둘째로, 배식메뉴 평가모듈(189)은 특정 음식의 배식량이 기준치보다 많고 잔반량이 기준치보다 많은 경우, 해당 음식 메뉴의 선호도를 상승시키고 배식된 해당 음식 자체의 맛 평가점수를 하락시킨다.Second, the food menu evaluation module 189 increases the preference of the food menu and decreases the taste evaluation score of the food itself when the amount of food served is greater than the standard value and the amount of leftover food is more than the standard value.
이 경우, 배식자들이 배식받는 과정에서 음식을 육안으로 보고 본인이 선호하는 음식이기 때문에 해당 음식의 배식량을 증가시켰지만, 식사를 진행하면서 본인이 생각한 맛과 다르거나 맛이 없다고 판단하여 해당 음식을 많이 남겨 잔반량이 기준보다 많은 것이라고 판단하는 것을 의미한다.In this case, during the process of being served, the food was visually seen by the diners and the amount of food was increased because it was the food they preferred. However, as they were eating, they judged that the taste was different from what they expected or that it was not tasty, so they ate the food. This means that it is judged that the remaining balance is more than the standard.
따라서, 배식메뉴 평가모듈(189)이 해당 음식 메뉴에 대한 선호점수는 상승시키되, 배식된 해당 음식 자체의 맛 평가점수는 낮게 평가하여 식재료 선택이나 음식의 조리가 제대로 이루어지지 못하였다고 평가하게 된다.Accordingly, the food menu evaluation module 189 increases the preference score for the corresponding food menu, but evaluates the taste evaluation score of the served food itself as low, thereby evaluating that the selection of ingredients or the cooking of the food was not done properly.
셋째로, 배식메뉴 평가모듈(189)은 특정 음식의 배식량이 기준치보다 적고 잔반량이 기준치보다 적은 경우, 해당 음식 메뉴의 선호도를 하락시키고 배식된 해당 음식 자체의 맛 평가점수를 상승시킨다.Third, the food menu evaluation module 189 lowers the preference of the food menu and increases the taste evaluation score of the food itself when the amount of food served is less than the standard value and the amount of leftover food is less than the standard value.
이 경우, 배식자들이 배식받는 과정에서 음식을 육안으로 보고 본인이 선호하지 않는 음식이기 때문에 해당 음식의 배식량을 감소시켰지만, 식사를 진행하면서 의외로 맛이 있다고 판단하여 해당 음식을 모두 섭취하거나 적게 남긴 것이라고 판단하는 것을 의미한다.In this case, during the process of receiving the food, the food was visually seen by the diners and the food was not preferred, so the amount of food was reduced. However, as the meal progressed, they decided that it was surprisingly tasty, so they either consumed all of the food or left only a small amount. It means judging that it is.
따라서, 배식메뉴 평가모듈(189)이 해당 음식 메뉴에 대한 선호점수를 낮게 평가하되, 배식된 해당 음식 자체의 맛 평가점수는 높게 평가하여 해당 음식은 배식자들이 선호하지는 않지만, 식재료 선택이나 음식의 조리가 제대로 이루어져 배식자들이 만족하였다고 평가하게 된다.Therefore, the food menu evaluation module 189 evaluates the preference score for the corresponding food menu as low, but evaluates the taste evaluation score of the served food itself as high, so that the food is not preferred by the diners, but the selection of ingredients or the food is not preferred. The food was cooked properly and the diners were evaluated as being satisfied.
넷째로, 배식메뉴 평가모듈(189)은 특정 음식의 배식량이 기준치보다 적고 잔반량이 기준치보다 많은 경우, 해당 음식 메뉴의 선호도를 하락시키고 배식된 해당 음식 자체의 맛 평가점수를 하락시킨다.Fourth, the food menu evaluation module 189 lowers the preference of the food menu and the taste evaluation score of the food itself when the amount of food served is less than the standard value and the amount of leftover food is more than the standard value.
이 경우, 배식자들이 배식받는 과정에서 음식을 육안으로 보고 본인이 선호하지 않는 음식이기 때문에 해당 음식의 배식량을 감소시켰고, 식사를 진행하면서도 맛이 없다고 판단하여 해당 음식을 많이 남겨 잔반량이 기준보다 많은 것이라고 판단하는 것을 의미한다.In this case, during the process of being served, the food was seen by the diners with the naked eye, and because it was a food they did not prefer, they reduced the amount of food served, and while eating, they decided that it was not tasty, so they left more of the food so that the leftovers were less than the standard. It means judging that there are many things.
따라서, 배식메뉴 평가모듈(189)이 해당 음식 메뉴에 대한 선호점수를 낮게 평가하고, 배식된 해당 음식 자체의 맛 평가점수 또한 낮게 평가하여 해당 음식은 배식자들이 선호하는 음식도 아니고, 식재료 선택이나 음식의 조리가 제대로 이루어지지 못하였다고 평가하게 된다.Therefore, the food menu evaluation module 189 evaluates the preference score for the corresponding food menu as low, and also evaluates the taste evaluation score of the served food itself as low, so the food is not the food preferred by the diners and the selection of ingredients It is assessed that the food was not cooked properly.
이와 같은 배식메뉴 평가모듈(189)의 구성으로 인하여, 식당 관리자는 각 음식 메뉴들에 대한 식사 주체들의 선호도(선호점수), 음식의 맛 평가점수를 통해 식사 주체들을 위한 배식메뉴와 식자재 등을 준비할 수 있게 됨은 물론 음식 조리 과정에 문제가 있는지 여부에 대해서 확인할 수 있게 된다.Due to this configuration of the food menu evaluation module 189, the restaurant manager prepares food menus and ingredients for diners through the diners' preferences (preference scores) for each food menu and the food taste evaluation score. Not only can you do this, but you can also check whether there are any problems in the food cooking process.
일 실시예로, 관리부(180)의 식사 주체 관리모듈(185)은 식사 주체들의 식사량을 기반으로 각 식사 주체가 섭취한 영양정보를 생성하고, 일정시간 주기로 생성된 영양정보를 기반으로 영양섭취 현황 정보를 도출하여 제공한다.In one embodiment, the meal subject management module 185 of the management unit 180 generates nutritional information consumed by each meal subject based on the meal amount of the meal subjects, and determines nutritional intake status based on the nutritional information generated at regular time intervals. Derive and provide information.
이때, 식사 주체 관리모듈(185)는 도출된 정보를 식사 주체의 단말, 즉 사용자 단말(300), 식사 주체의 보호자의 단말, 식사 주체의 관리자의 단말, 식당 관리자의 단말 등에 제공할 수 있다.At this time, the meal subject management module 185 may provide the derived information to the meal subject's terminal, that is, the user terminal 300, the meal subject's guardian's terminal, the meal subject's manager's terminal, and the restaurant manager's terminal.
일 실시예로, 관리부(180)는 식사 주체들의 식사량, 식습관 정보를 이용하여 영양상태를 개선시키고, 잔반량을 줄이기 위한 프로그램을 수행할 수 있다.In one embodiment, the management unit 180 may perform a program to improve the nutritional status and reduce the amount of leftover food by using the meal amount and eating habits information of the eating subjects.
관리부(180)는 식사 주체의 식사량, 잔반량을 기반으로 각 식사 주체의 영양정보 및 식습관 정보를 파악한다. 그리고, 이를 이용하여 도출된 각 식사 주체의 영양상태 및 잔반량 변화에 따라서 리워드 또는 패널티를 제공한다.The management unit 180 determines the nutritional information and eating habits information of each meal subject based on the meal amount and remaining portion of the meal subject. In addition, rewards or penalties are provided according to changes in the nutritional status and amount of leftovers of each meal subject derived using this.
보다 상세하게는, 관리부(180)는 식사 주체의 음식별 잔반량과 식사량을 기반으로 각 식사 주체가 고른 영양섭취와 올바른 식습관을 가지고 있는 지에 대해서 파악하고, 배식 때마다 이전 기록과 비교하여 영양상태가 개선되었다고 판단되면 해당 식사 주체에게 포상, 포인트와 같은 리워드를 제공하고, 영양상태가 개선되지 않거나 악화되었다고 판단되면 벌과 같은 패널티를 제공하는 것을 의미한다.More specifically, the management unit 180 determines whether each meal subject has balanced nutritional intake and correct eating habits based on the amount of leftover food and meal size for each meal, and compares the nutritional status with the previous record at each meal. If it is determined that the nutritional status has improved, rewards such as rewards and points are provided to the person responsible for the meal, and if it is determined that the nutritional status has not improved or has worsened, a penalty such as a punishment is provided.
또한, 관리부(180)는 배식때마다 각 식사 주체의 잔반량을 저장하고 모니터링하여 특정 식사 주체의 잔반량이 감소되고 있다고 판단되면 해당 식사 주체에게 리워드를 제공하고, 잔반량이 감소되지 않거나 증가하고 있다고 판단되면 해당 식사 주체에게 벌과 같은 패널티를 제공하는 것을 의미한다.In addition, the management unit 180 stores and monitors the amount of leftover food for each person eating each meal, and if it is determined that the amount of leftover food for a specific person is decreasing, it provides a reward to the person eating the meal, and determines that the amount of leftover food is not decreasing or is increasing. This means providing a penalty like a punishment to the person responsible for the meal.
이와 같이 각 식사 주체의 영양정보, 식습관 정보를 파악하고 행동변화에 따라서 리워드 또는 패널티를 제공하기 때문에 자연스럽게 식사 주체가 편식하지 않고 골고루 영양섭취를 하도록 유도하고, 음식물 쓰레기 발생을 감소시킬 수 있는 효과를 발휘하게 된다.In this way, since the nutritional information and eating habits of each person are identified and rewards or penalties are provided according to behavioral changes, the effect is to naturally encourage the person eating to eat a balanced diet without being picky and to reduce the generation of food waste. It comes into play.
예를 들어, 식사 주체가 학생이나 환자와 같이 보호자의 관리가 필요한 경우, 관리부(180)의 식사 주체 관리모듈(185)은 촬영부(250)를 통해 획득된 식사 주체의 식전식기 이미지, 식후식기 이미지를 식사 주체 보호자의 단말로 제공할 수 있다.For example, when the person eating needs to be managed by a guardian, such as a student or a patient, the eating person management module 185 of the management unit 180 may use images of the eating subject's pre-meal tableware and post-meal tableware obtained through the photography unit 250. The image can be provided to the terminal of the guardian of the person eating the meal.
그리고, 식사 주체의 보호자는 애플리케이션을 통해 사진을 확인하여 식사 주체가 제대로 식사를 하고 있는지 여부를 확인할 수 있게 된다.In addition, the guardian of the person eating can check whether the person eating is eating properly by checking the photo through the application.
학생이나 환자의 경우 건강을 위해서 영양상태가 골고루 충분하게 섭취되어야 하기 때문에 지속적인 관리가 필요하고, 보호자에게 해당 학생의 영양상태에 대한 정보를 제공하는 것이 필요하다.In the case of students or patients, continuous management is necessary because they must consume sufficient and balanced nutrition for good health, and it is necessary to provide guardians with information about the student's nutritional status.
따라서, 식사 주체 관리모듈(185)은 학생 또는 환자 각각의 신체정보 또는 건강정보를 주기적으로 입력받아 관리하고, 신체정보와 학교 일정 등을 고려하여 학생별 기초 대사량과 필요한 영양소 등에 대한 정보를 도출한다.Therefore, the meal management module 185 periodically receives and manages the physical information or health information of each student or patient, and derives information on the basic metabolic rate and necessary nutrients for each student by considering the physical information and school schedule, etc. .
그리고, 식사 주체 관리모듈(185)은 학생 또는 환자의 배식메뉴와 식사량 데이터, 기초대사량을 기반으로 영양상태, 식습관을 판단하게 된다.In addition, the meal subject management module 185 determines the nutritional status and eating habits of the student or patient based on the student's or patient's meal menu, meal amount data, and basal metabolic rate.
식사 주체 관리모듈(185)은 이와 같이 확보 및 판단된 정보들을 사용자 단말(300), 식사 주체 보호자 단말로 제공함과 동시에, 각 식사 주체의 영양상태와 식습관을 통해 해당 식사 주체가 집에서 섭취하면 좋은 추천메뉴를 도출하고, 상황에 따라서 영양제를 추천해줄 수 있다.The eating subject management module 185 provides the information secured and determined in this way to the user terminal 300 and the eating subject's guardian terminal, and at the same time determines the nutritional status and eating habits of each eating subject, which is good for the eating subject to consume at home. Recommended menus can be derived and nutritional supplements can be recommended depending on the situation.
예를 들어, A 학생의 식습관과 영양상태 평가 결과 비타민 A, D가 부족할 수 있다고 판단되면, 비타민 A, D를 충분히 섭취할 수 있는 메뉴를 추천메뉴로 도출하고, 비타민 A, D의 결핍 정도가 심각하다고 판단되면 영양제를 추천해주는 것을 의미한다.For example, if it is determined that student A may be deficient in vitamins A and D as a result of the evaluation of his eating habits and nutritional status, a recommended menu that allows sufficient intake of vitamins A and D is derived, and the degree of deficiency of vitamins A and D is determined. This means recommending nutritional supplements if the condition is judged to be serious.
여기서, 식사 주체가 학생 또는 환자가 아니라 하더라도, 분석된 사용자의 영양상태, 식습관, 편식여부 등에 기초하여, 컴퓨터는 사용자의 영양상태가 불균형할 경우 사용자에게 필요한 영양소가 무엇인지, 사용자의 식습관에 맞으면서 사용자의 영양상태를 위한 메뉴를 도출하여 사용자 단말(300)에 정보를 제공할 수도 있고, 각종 영양제에 대한 정보들을 제공함으로써 광고 효과를 발휘할 수도 있다.Here, even if the person eating is not a student or patient, based on the analyzed user's nutritional status, eating habits, picky eating, etc., the computer determines what nutrients the user needs if the user's nutritional status is unbalanced, and if it matches the user's eating habits, A menu for the user's nutritional status can be derived and information provided to the user terminal 300, and advertising effects can be achieved by providing information on various nutritional supplements.
이 밖에, 사용자 단말(300)을 이용하는 경우에 제공할 수 있는 서비스에 대하여 설명한다. 컴퓨터는 음식의 종류별로 사용자가 섭취한 양을 파악할 수 있기 때문에 사용자의 식습관을 분석할 수 있으며, 각 음식에 포함된 영양소에 대한 정보를 이용하여 사용자의 영양 섭취에 대하여 파악할 수 있게 된다.In addition, services that can be provided when using the user terminal 300 will be described. Since the computer can determine the amount consumed by the user for each type of food, it can analyze the user's eating habits, and can use information about the nutrients contained in each food to determine the user's nutritional intake.
또한, 사용자 단말(300)에 설치된 서비스 애플리케이션을 통해 사용자의 신체정보에 대하여 입력받을 수 있고, 이와 같은 신체정보를 이용하여 사용자의 기초 대사량을 산출할 수 있다.In addition, the user's body information can be input through a service application installed on the user terminal 300, and the user's basal metabolic rate can be calculated using this body information.
그리고, 위와 같이 도출된 사용자의 영양상태, 식습관 정보를 이용하여 사용자에게 매칭되는 하나 이상의 음식메뉴를 도출하여 서비스 애플리케이션으로 제공할 수 있고, 다른 음식 주문 애플리케이션과 연동되어 정보를 제공할 수도 있다.In addition, using the user's nutritional status and eating habits information derived as above, one or more food menus matching the user can be derived and provided as a service application, and the information can also be provided in conjunction with other food ordering applications.
이때, 서비스 애플리케이션은 사용자로부터 선호음식, 비선호음식을 직접 입력받을 수 있고, 사용자의 알레르기(Allergy), 질병 등에 대한 정보들을 입력받아 사용자가 먹으면 안되는 음식을 추천메뉴에서 제외할 수 있다.At this time, the service application can directly input preferred and non-preferred foods from the user, and can input information about the user's allergies and diseases to exclude foods that the user should not eat from the recommended menu.
또한, 판단부(130)는 이러한 정보들을 이용하여 휴대용 장치(50)의 촬영부(55)를 통해 촬영된 음식 이미지 내에 사용자가 먹으면 안 되는 음식이 포함되어 있는 경우, 서비스 애플리케이션으로 경고(알림)을 제공하여 사용자가 실수로 해당 음식을 섭취하는 것을 방지할 수 있다.In addition, the determination unit 130 uses this information to send a warning (notification) to the service application if food that the user should not eat is included in the food image captured through the photographing unit 55 of the portable device 50. You can prevent users from accidentally consuming the food.
일 실시예로, 서비스 애플리케이션은 사용자가 사용, 착용하는 웨어러블 기기들과 연동되어 각종 측정 데이터를 수신할 수 있다. 이러한 구성이 포함되는 경우 컴퓨터는 사용자의 기초 대사량, 건강정보 등을 보다 상세하게 확보할 수 있으며, 각종 헬스케어 정보로 활용할 수도 있다.In one embodiment, the service application may receive various measurement data in conjunction with wearable devices used and worn by the user. If this configuration is included, the computer can secure the user's basal metabolic rate and health information in more detail, and can also be used as various healthcare information.
컴퓨터는 사용자 단말(300)을 통해 사용자의 매회 식사때마다의 식전음식량, 식사량, 잔반량에 대한 데이터를 수집하여 데이터베이스(170)에 저장함으로서, 사용자의 영양상태, 식습관 정보 등에 대한 정보를 형성하고, 사용자의 신체정보와 각종 건강, 운동 애플리케이션을 통해 수집되는 사용자의 활동지수, 활동정보, 운동정보 등에 대한 데이터를 수집하여 사용자의 헬스케어 정보를 형성할 수 있다.The computer collects data on the amount of pre-meal, amount of food, and amount of leftover food for each meal of the user through the user terminal 300 and stores it in the database 170 to form information about the user's nutritional status, eating habits, etc. , the user's healthcare information can be formed by collecting data on the user's physical information and the user's activity index, activity information, exercise information, etc. collected through various health and exercise applications.
또한, 이외에도 건강관리 애플리케이션, 의료정보 애플리케이션 등과 연동되어 사용자의 의료정보를 수집함으로써, 사용자의 영양상태, 식습관 정보와 헬스케어 정보, 의료정보로부터 사용자에게 맞춤형 식단, 건강보조식품에 대한 정보를 도출하여 제공할 수도 있고, 이에 관련된 상품들을 서비스 애플리케이션을 통해 직접 판매할 수도 있다.In addition, by collecting the user's medical information in conjunction with health management applications and medical information applications, information on customized diet and health supplements is derived from the user's nutritional status, eating habits, healthcare information, and medical information. You can provide it, or you can sell related products directly through a service application.
예를 들어, 외부 서버(미도시)에서 제공하는 서비스 애플리케이션의 서비스에 가입할 경우, 종합검진을 제공할 수도 있고, 사용자에게 맞춤형 건강보조식품을 제공할 수도 있으며, 주 1회 맞춤형 식단을 배송해 주는 등 다양한 형태의 서비스가 제공될 수 있다.For example, when signing up for the service of a service application provided by an external server (not shown), a comprehensive checkup may be provided, customized health supplements may be provided to the user, and a customized menu may be delivered once a week. Various types of services can be provided, such as giving.
이하, 본 발명의 실시예에 따른 음식 측정 방법을 구현하기 위한 장치 및 서버를 설명한다.Hereinafter, a device and server for implementing a food measurement method according to an embodiment of the present invention will be described.
도 10을 참조하여, 본 발명의 일 실시예에 따른 음식 측정 서버(100)를 설명한다. 도 10은 본 발명의 실시예에 따른 음식 측정 서버의 블록도이고, 도 11은 도 10의 관리부의 세부 블록도이다.With reference to Figure 10, the food measurement server 100 according to an embodiment of the present invention will be described. Figure 10 is a block diagram of a food measurement server according to an embodiment of the present invention, and Figure 11 is a detailed block diagram of the management unit of Figure 10.
도 5를 참조하면, 본 발명의 실시예에 따른 음식 측정 서버(100)는 수신부(110), 추출부(120), 판단부(130), 산출부(140), 보정부(150), 인증부(160), 데이터베이스(170), 통신부(190)를 포함한다.Referring to Figure 5, the food measurement server 100 according to an embodiment of the present invention includes a reception unit 110, an extraction unit 120, a determination unit 130, a calculation unit 140, a correction unit 150, and an authentication unit. It includes a unit 160, a database 170, and a communication unit 190.
다만, 몇몇 실시예에서 서버(10)는 도 5에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수도 있다.However, in some embodiments, the server 10 may include fewer or more components than those shown in FIG. 5 .
수신부(110)는 하나 이상의 촬영부(250)를 통해 촬영된 식기 이미지를 수신한다.The receiving unit 110 receives tableware images photographed through one or more photographing units 250.
추출부(120)는 음식이 담긴 식기 이미지 데이터에서 식기(500)의 각 공간(510)에 수용된 음식 이미지 데이터를 추출한다.The extraction unit 120 extracts food image data accommodated in each space 510 of the tableware 500 from image data of dishes containing food.
판단부(130)는 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단한다.The determination unit 130 determines the type of each food through the extracted food image data.
산출부(140)는 추출된 음식 이미지 데이터의 픽셀별 높이 정보를 이용하여 각 음식의 부피를 산출한다.The calculation unit 140 calculates the volume of each food using height information for each pixel of the extracted food image data.
데이터베이스(170)는 빈식기 이미지와 식기(500)에 형성된 복수의 공간(510)에 대한 크기, 깊이 및 용량을 포함하는 식기 정보와, 음식별 부피당 무게를 포함하는 음식 정보가 저장되어 있다.The database 170 stores empty dishware images, dishware information including the size, depth, and capacity of the plurality of spaces 510 formed in the dishware 500, and food information including the weight per volume of each food.
관리부(180)는 배식량 조절모듈(181), 배식그룹 관리모듈(183), 배식대상 관리모듈(185), 배식메뉴 추천모듈(187) 및 배식메뉴 평가모듈(189)를 포함하고, 각 모듈의 기능은 상술한 바와 같다.The management unit 180 includes a ration amount control module 181, a ration group management module 183, a ration target management module 185, a ration menu recommendation module 187, and a ration menu evaluation module 189, and each module The function is the same as described above.
통신부(190)는 식당에 설치되어 있는 촬영부(250)로부터 촬영된 식기 이미지를 수신할 수 있도록 통신을 수행하며, 서버(10)에서 산출하여 생성된 각종 정보들을 담당자 또는 사용자의 단말로 전송하는 역할을 담당할 수 있다.The communication unit 190 performs communication to receive images of dishes taken from the photography unit 250 installed in the restaurant, and transmits various information calculated and generated by the server 10 to the terminal of the person in charge or user. can play a role.
인증부(160)은 음식 측정 장치(200), 키오스크 장치(30)와 같은 장치로부터 수신된 사용자 정보를 인증하여 사용자를 식별하고, 사용자에 대한 각종 정보를 로딩한다.The authentication unit 160 authenticates user information received from devices such as the food measuring device 200 and the kiosk device 30, identifies the user, and loads various information about the user.
또한, 서버(10)의 산출부(140)를 통해 산출된 배식식기 내 음식들의 무게, 칼로리 등에 대한 정보를 인증부(160)을 통해 인증된 사용자의 단말로 제공하게 된다. 이때, 서버(10) 자체에서 제공하는 서비스 애플리케이션을 통해 정보를 제공할 수 있다.In addition, information on the weight and calories of the food in the serving dish calculated through the calculation unit 140 of the server 10 is provided to the terminal of the authenticated user through the authentication unit 160. At this time, information can be provided through a service application provided by the server 10 itself.
또한, 본 발명의 실시예에 따른 컴퓨터(서버, 장치)는 음식 산출의 정확도를 향상시키기 위해서 아래 동작들을 수행할 수 있다.Additionally, a computer (server, device) according to an embodiment of the present invention can perform the following operations to improve the accuracy of food calculation.
일 실시예로, 산출부(140)는 상기 단계들을 통해 산출된 식사 주체의 식사량과 잔반량의 합이 배식량과 일치하는지 검증을 수행하고, 검증 결과에 따라 불일치하는 경우 산출부(140)는 식사량 또는 잔반량의 합이 배식량과 일치하도록 상기 단계들을 통해 산출된 식사량, 잔반량 및 배식량 중 적어도 하나를 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록한다.In one embodiment, the calculation unit 140 verifies whether the sum of the meal amount and leftover amount of the meal subject calculated through the above steps matches the ration amount, and if there is a discrepancy according to the verification result, the calculation unit 140 At least one of the meal amount, leftover amount, and ration amount calculated through the above steps can be corrected so that the sum of the meal amount or leftover amount matches the ration amount, and the result is recorded in the database 170.
또한, 산출부(140)는 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합과 잔반량의 총합을 합한 것이 배식량의 총합과 일치하는지 검증을 수행하고, 검증 결과에 따라 불일치하는 경우 산출부(140)는 식사량의 총합과 잔반량의 총합을 합한 것이 배식량의 총합과 일치하도록 상기 단계들을 통해 산출된 식사량의 총합, 잔반량의 총합 및 배식량의 총합 중 적어도 하나를 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록한다.In addition, the calculation unit 140 verifies whether the sum of the total amount of meals and the total amount of leftovers calculated through the above steps of the restaurant diners matches the total amount of food served, and if there is a discrepancy according to the verification result, the calculation unit 140 (140) can correct at least one of the total amount of meals, the total amount of leftovers, and the total amount of rations calculated through the above steps so that the sum of the total amount of meals and the total amount of leftovers matches the total amount of rations, The results are recorded in the database 170.
보다 상세하게는, 산출부(140)는 식당에서 식사하는 식사 주체들의 배식량의 총합과 잔반량의 총합의 차이값이 식사량의 총합과 일치하는지 여부를 검증한다.More specifically, the calculation unit 140 verifies whether the difference between the total amount of food served by the diners eating at the restaurant and the total amount of leftover food matches the total amount of food.
또한, 산출부(140)는 식당에 준비된 음식의 총합을 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 비교하여 검증을 수행하고, 검증 결과에 따라 차이가 발생하는 경우 산출부(140)는 식당에 준비된 음식의 총합이 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 일치하도록 잔반량의 총량, 잔식량의 총량 및 식사량의 총합 중 적어도 하나를 보정할 수 있으며, 예컨대 식사량을 보정할 수 있고, 이에 따른 결과를 데이터베이스(170)에 기록할 수 있다.In addition, the calculation unit 140 performs verification by comparing the total amount of food prepared in the restaurant with the total amount of leftover food generated in the restaurant, the total amount of leftover food generated in the restaurant, and the total amount of meals of the dining subjects of the restaurant. If a difference occurs according to the results, the calculation unit 140 ensures that the total amount of food prepared in the restaurant matches the total amount of leftover food generated in the restaurant, the total amount of leftover food generated in the restaurant, and the total amount of meals of the people eating in the restaurant. At least one of the total amount of leftover food, the total amount of leftover food, and the total amount of meals can be corrected, for example, the amount of meals can be corrected, and the result can be recorded in the database 170.
여기서, 잔반량은 식사 주체에게 배식되어 식사 주체가 먹고 남은 음식의 양이고, 잔식량은 식사 주체에게 배식되지 않고 남은 음식의 양일 수 있고, 잔식량은 상기 단계들을 통해 산출되거나 별도의 방법을 통해 산출될 수 있다.Here, the amount of leftover food is the amount of food left after being distributed to the person eating, and the amount of food remaining may be the amount of food remaining without being distributed to the person eating, and the amount of food remaining is calculated through the above steps or through a separate method. can be calculated.
보다 상세하게는, 데이터베이스(170)에는 식당에서 매회 배식을 위해 준비한 음식의 총 부피(무게), 잔식량의 총 부피(무게) 및 잔반량의 총 부피(무게) 측정 결과가 저장될 수 있으며, 산출부(140)는 준비한 음식의 총 부피(무게)를 잔반량의 총 부피(무게), 잔식량의 총 부피(무게) 및 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합을 합한 것과 비교하여 검증을 수행하고, 검증 결과에 따라 차이가 발생하는 경우 산출부(140)는 식당에 준비된 음식의 총합이 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 일치하도록 상기 단계들을 통해 산출된 식사 주체들의 식사량의 총합을 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록할 수 있다. (예를 들어, 식당에서 준비한 A 메뉴의 총 부피가 200이고 남은 양이 없이 모두 배식되었다면, 식사 주체들에게 배식된 A 메뉴의 부피의 총 합은 200에 근사해야 함)More specifically, the database 170 may store the measurement results of the total volume (weight) of food prepared for each meal in a restaurant, the total volume (weight) of remaining food, and the total volume (weight) of remaining food, The calculation unit 140 compares the total volume (weight) of the prepared food with the total volume (weight) of the remaining portions, the total volume (weight) of the remaining portions, and the sum of the meal amounts of the restaurant eaters calculated through the above steps. Verification is performed, and if a difference occurs according to the verification result, the calculation unit 140 determines that the total amount of food prepared in the restaurant is the total amount of leftover food generated in the restaurant, the total amount of leftover food generated in the restaurant, and the meal amount of the people eating at the restaurant. The total amount of meals of the eating subjects calculated through the above steps can be corrected to match the sum of the sum of , and the result can be recorded in the database 170. (For example, if the total volume of Menu A prepared in a restaurant is 200 and all are served without any leftovers, the total volume of Menu A served to diners should be close to 200)
이와 같이, 산출부(140)가 각종 정보들을 이용하여 검증을 수행하고, 산출/보정으로 인한 정확도를 기록함으로써 문제점을 파악하고 개선해 나갈 수 있게 된다.In this way, the calculation unit 140 performs verification using various types of information and records the accuracy resulting from calculation/correction, thereby making it possible to identify problems and improve them.
일 실시예로, 본 발명의 실시예에 따른 산출부(140)의 인공지능 알고리즘은 부피 인식의 검증 및 신뢰성 증가 방안으로 이미지 학습결과를 이용한 부피 인식 정확도 비교 및 보완 작업이 수행될 수 있다. 예를 들어, 서로 다른 양의 빵에 대한 이미지를 입력시키고 부피가 적고 많음에 대하여 판단을 하게 하고 오차나 노이즈가 발생할 경우 재학습시킴으로써 정확도를 상승시킬 수 있다.In one embodiment, the artificial intelligence algorithm of the calculation unit 140 according to an embodiment of the present invention may perform volume recognition accuracy comparison and supplementation using image learning results as a way to verify volume recognition and increase reliability. For example, accuracy can be increased by inputting images of different amounts of bread, making judgments about whether the volume is small or large, and relearning when errors or noise occur.
이상으로 설명한 본 발명의 실시예에 따른 음식 측정 서버(100)는 도 1 내지 도 9을 통해 설명한 음식 측정 방법과 발명의 카테고리만 다를 뿐, 동일한 내용이므로 중복되는 설명, 예시는 생략하도록 한다.The food measurement server 100 according to the embodiment of the present invention described above is different from the food measurement method described through FIGS. 1 to 9 only in the category of the invention, and since the content is the same, overlapping descriptions and examples will be omitted.
이하, 도 12는 본 발명의 실시예에 따른 음식 측정 장치의 블록도이고, 도 13 내지 도 16은 본 발명의 실시예에 따른 음식 측정 장치의 사시도이고, 도 17은 본 발명의 실시예에 따른 음식 측정 장치의 화면이다.Hereinafter, Figure 12 is a block diagram of a food measuring device according to an embodiment of the present invention, Figures 13 to 16 are a perspective view of a food measuring device according to an embodiment of the present invention, and Figure 17 is a block diagram of a food measuring device according to an embodiment of the present invention. This is the screen of the food measuring device.
음식 측정 장치(200)는 배식이 이루어지는 장소에 마련될 수 있으며, 수신부(110), 추출부(120), 판단부(130), 산출부(140), 보정부(150), 인증부(160), 데이터베이스(170), 통신부(190), 디스플레이부(210), 결제부(240), 촬영부(250)를 포함한다. 다만, 몇몇 실시예에서 음식 측정 장치(200)는 도 12에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수도 있다.The food measuring device 200 may be provided at a place where food is distributed, and includes a receiving unit 110, an extraction unit 120, a judgment unit 130, a calculation unit 140, a correction unit 150, and an authentication unit 160. ), database 170, communication unit 190, display unit 210, payment unit 240, and photography unit 250. However, in some embodiments, the food measuring device 200 may include fewer or more components than the components shown in FIG. 12 .
도 13 및 도 14을 참조하면, 음식 측정 장치(200)는 식기(500)이 놓여지는 측정영역(220) 또는 플레이트(230)가 마련되어 있다. 도 13 및 도 14을 참조하면, 촬영부(250)는 측정영역(220) 또는 플레이트(230)에 놓여진 식기(500)을 촬영한다.Referring to Figures 13 and 14, the food measuring device 200 is provided with a measuring area 220 or a plate 230 on which the tableware 500 is placed. Referring to FIGS. 13 and 14 , the photographing unit 250 photographs the tableware 500 placed on the measurement area 220 or the plate 230.
또한, 측정영역(220) 또는 플레이트(230)는 내부에 무게측정장치(미도시)가 형성되어 상면에 놓여진 배식식기의 무게를 측정할 수 있다.In addition, the measurement area 220 or the plate 230 has a weight measuring device (not shown) formed inside it to measure the weight of the food dish placed on the upper surface.
수신부(110)는 하나 이상의 촬영부(250)를 통해 촬영된 식기 이미지를 수신한다. 여기서, 촬영부(250)는 식기(500)의 상측에서 식기(500)의 상면을 촬영할 수 있도록 위치하며, 식별정보 감지부(251)가 존재하는 경우, 식별정보 감지부(251)는 촬영부(250)에 의한 식기(500)의 촬영과 동시에 식기(500)의 식별정보를 상측, 하측 또는 측면에서 감지할 수 있도록 위치할 수 있다.The receiving unit 110 receives tableware images photographed through one or more photographing units 250. Here, the photographing unit 250 is positioned to photograph the upper surface of the tableware 500 from the upper side of the tableware 500, and when the identification information detection unit 251 is present, the identification information detection unit 251 is the photographing unit. Simultaneously with the photographing of the tableware 500 by 250, the identification information of the tableware 500 may be positioned so that it can be sensed from the top, bottom, or side.
추출부(120)는 음식이 담긴 식기 이미지 데이터에서 식기(500)의 각 공간(510)에 수용된 음식 이미지 데이터를 추출한다.The extraction unit 120 extracts food image data accommodated in each space 510 of the tableware 500 from image data of dishes containing food.
판단부(130)는 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단한다.The determination unit 130 determines the type of each food through the extracted food image data.
산출부(140)는 추출된 음식 이미지 데이터의 픽셀별 높이 정보를 이용하여 각 음식의 부피를 산출한다.The calculation unit 140 calculates the volume of each food using height information for each pixel of the extracted food image data.
데이터베이스(170)는 빈식기 이미지와 식기(500)에 형성된 복수의 공간(510)에 대한 크기, 깊이 및 용량을 포함하는 식기 정보와, 음식별 부피당 무게를 포함하는 음식 정보가 저장되어 있다.The database 170 stores empty dishware images, dishware information including the size, depth, and capacity of the plurality of spaces 510 formed in the dishware 500, and food information including the weight per volume of each food.
통신부(190)는 식당에 설치되어 있는 촬영부(250)로부터 촬영된 식기 이미지를 수신할 수 있도록 통신을 수행하며, 서버(10)에서 산출하여 생성된 각종 정보들을 담당자 또는 사용자의 단말로 전송하는 역할을 담당할 수 있다.The communication unit 190 performs communication to receive images of dishes taken from the photography unit 250 installed in the restaurant, and transmits various information calculated and generated by the server 10 to the terminal of the person in charge or user. can play a role.
인증부(160)은 음식 측정 장치(200), 키오스크 장치와 같은 장치로부터 수신된 사용자 정보를 인증하여 사용자를 식별하고, 사용자에 대한 각종 정보를 로딩한다.The authentication unit 160 authenticates user information received from devices such as the food measuring device 200 and a kiosk device to identify the user and loads various information about the user.
서버(10)의 산출부(140)를 통해 산출된 배식식기 내 음식들의 무게, 칼로리 등에 대한 정보를 인증부(160)을 통해 인증된 사용자의 단말로 제공하게 된다. 이때, 서버(10) 자체에서 제공하는 서비스 애플리케이션을 통해 정보를 제공할 수 있다.Information on the weight and calories of the food in the serving dish calculated through the calculation unit 140 of the server 10 is provided to the terminal of the authenticated user through the authentication unit 160. At this time, information can be provided through a service application provided by the server 10 itself.
음식 측정 장치(200)는 디스플레이(240)를 포함하여, 사용자를 인증할 수 있는 사용자 인증정보를 입력받을 수도 있고, 디스플레이를 통해 촬영된 이미지를 표출할 수도 있다.The food measuring device 200 includes a display 240, and may receive user authentication information that can authenticate the user, and may display a captured image through the display.
또한, 도 13과 같은 형태의 음식 측정 장치(200)가 마련되어 있는 경우 사용자가 측정영역(220)에 식기(500)을 위치시키면 측정영역(220) 내에 마련된 촬영부(250)가 식기를 촬영하여 식기 이미지, 식후식기 이미지를 획득할 수 있다. 그리고, 음식 측정 장치(200) 자체에 결제부(240)가 구비되어 사용자가 음식 측정과 결제를 동시에 진행할 수도 있다.In addition, when the food measuring device 200 of the type shown in FIG. 13 is provided, when the user places the dishes 500 in the measurement area 220, the photographing unit 250 provided in the measurement area 220 photographs the dishes and You can obtain tableware images and post-meal tableware images. In addition, the food measuring device 200 itself is provided with a payment unit 240 so that the user can measure food and make payments at the same time.
몇몇 실시예에서 도 14(C)를 참조하면 음식 측정 장치(200)는 플레이트(230)를 포함하지 않을 수 있으며, 식사 주체가 식기(500)을 들고 있는 상태에서 촬영부(250)에 의한 촬영과 식별정보 감지부(251)에 의한 감지가 이루어질 수 있다.In some embodiments, referring to FIG. 14 (C), the food measuring device 200 may not include the plate 230, and the food measurement device 200 may be photographed by the photographing unit 250 while the eating subject is holding the tableware 500. Detection may be performed by the identification information detection unit 251.
몇몇 실시예에서 도 15를 참조하면, 컨베이어 벨트(270)가 설치된 퇴식구에 음식 측정 장치(200)가 설치될 수 있다. 컨베이어 벨트(270)에 의해 식기(500)이 이동하는 과정에서 식기(500)의 상측에서 촬영부(250)가 식기(500)을 촬영할 수 있다.In some embodiments, referring to Figure 15, the food measuring device 200 may be installed in the discharge port where the conveyor belt 270 is installed. While the dishes 500 are moved by the conveyor belt 270, the photographing unit 250 may photograph the dishes 500 from the upper side of the dishes 500.
몇몇 실시예에서 음식 측정 장치(200)는 촬영부(250), 식별정보 감지부(251) 및 인증부(160)을 포함할 수 있으며, 촬영부(250)가 상대적으로 가장 높은 영역에 위치하고, 인증부(160)이 촬영부(250)와 식별정보 감지부(251) 사이에 위치하고, 식별정보 감지부(251)가 상대적으로 가장 낮은 영역에 위치할 수 있다. 음식 측정 장치(200)가 이러한 구조를 가지고 있기 때문에, 식사 주체가 음식 측정 장치(200) 앞에 멈춰서는 것만으로, 촬영부(250), 식별정보 감지부(251) 및 인증부(160)이 식사 주체 및 식기(500)으로부터 필요한 정보를 얻을 수 있으며, 이를 통해 식사 주체의 불편을 감소시킬 수 있다.In some embodiments, the food measuring device 200 may include an imaging unit 250, an identification information detection unit 251, and an authentication unit 160, and the imaging unit 250 is located in a relatively highest area, The authentication unit 160 may be located between the photographing unit 250 and the identification information detection unit 251, and the identification information detection unit 251 may be located in a relatively lowest area. Since the food measuring device 200 has this structure, just by the eating subject stopping in front of the food measuring device 200, the photographing unit 250, the identification information detecting unit 251, and the authentication unit 160 can eat. Necessary information can be obtained from the main body and the utensil 500, and through this, the inconvenience of the main meal can be reduced.
촬영부(250)가 가장 높은 영역에 위치하는 것은 위에서 식기(500)을 촬영하기 위한 목적이다. 인증부(160)이 식사 주체의 안면을 인식한다고 하면, 식사 주체가 식기(500)을 들었을 때, 식기(500)은 식사 주체의 안면보다 아래에 위치하기 때문에, 인증부(160)은 식별정보 감지부(251)보다 상대적으로 위에 위치할 수 있다. 여기서, 식기(500)의 식별정보(530)는 식기(500)의 측면에 위치하여, 식사 주체가 식기(50)를 들고 서 있는 경우 식별정보 감지부(251)에 의해 인식될 수 있다.The purpose of positioning the photographing unit 250 at the highest area is to photograph the dishes 500 from above. Assuming that the authentication unit 160 recognizes the face of the eating subject, when the eating subject picks up the tableware 500, the tableware 500 is located below the dining subject's face, so the authentication unit 160 provides identification information. It may be located relatively above the sensing unit 251. Here, the identification information 530 of the tableware 500 is located on the side of the tableware 500 and can be recognized by the identification information detection unit 251 when the person eating is standing holding the tableware 50.
한편, 식별정보 감지부(251) 및 인증부(160)은 항상 작동하는 것은 아니고, 촬영부(250)에 의해 식기(500)이 촬영되어 인식되는 경우에만 작동을 할 수 있으며, 이를 통해 촬영부(250)에 의한 식기(500) 인식은 일종의 인에이블러가 되어 식별정보 감지부(251) 및 인증부(160)을 효과적으로 작동시킬 수 있다.Meanwhile, the identification information detection unit 251 and the authentication unit 160 do not always operate, and can operate only when the tableware 500 is photographed and recognized by the photographing unit 250, through which the photographing unit 250 Recognition of the tableware 500 by 250 serves as a kind of enabler and can effectively operate the identification information detection unit 251 and the authentication unit 160.
도 16을 참조하면, 음식 측정 장치(200)는 테이블에 세워놓거나 벽에 걸어놓을 수 있다. 음식 측정 장치(200)의 전면에는 디스플레이부(210)가 위치하고, 음식 측정 장치(200)의 전면에 음식 또는 음식이 담긴 식기를 촬영하기 위한 촬영부(250a)와 식사 주체의 생체정보를 촬영하기 위한 촬영부(250b)가 위치한다.Referring to Figure 16, the food measuring device 200 can be placed on a table or hung on a wall. A display unit 210 is located in the front of the food measuring device 200, and a photographing unit 250a for photographing food or dishes containing food is located in front of the food measuring device 200 and a photographing portion 250a for photographing biometric information of the eating subject. An imaging unit 250b is located for.
음식 측정 장치(200)는 상부가 전방을 향하여 기울어져 틸팅될 수 있으며, 음식 또는 음식이 담긴 식기를 촬영하기 위한 촬영부(250a)는 음식 측정 장치(200)의 틸팅된 영역에 위치하여 하방에 있는 식기(500)를 촬영할 수 있다. 식사 주체의 생체정보를 촬영하기 위한 촬영부(250b)는 틸팅된 영역에 있지 않은 것으로 도시되었지만, 틸팅된 영역에 위치하더라도 무방한다.The food measuring device 200 may be tilted with the upper part inclined toward the front, and the photographing unit 250a for photographing food or dishes containing food is located in the tilted area of the food measuring device 200 and is positioned below. You can take a picture of the tableware (500). Although the photographing unit 250b for photographing biometric information of the person eating is shown not to be in the tilted area, it may be located in the tilted area.
그리고 식사 주체가 음식 측정 장치(200) 또는 사용자 단말(300)로 음식이 담긴 식기(500)를 촬영하면, 도 17의 화면이 디스플레이부(210/310)에 표시될 수 있다.And when the person eating photographs the tableware 500 containing food using the food measuring device 200 or the user terminal 300, the screen of FIG. 17 may be displayed on the display unit 210/310.
예컨대, 촬영부(250/350)에 의해 촬영된 음식이 담긴 식기 이미지가 표시될 수 있으며, 음식 종류와 이에 따른 칼로리에 대한 정보가 표시될 수 있다. 그리고 음료수 등이 컵에 담긴 경우, 해당 컵에서 음료수의 높이가 표시될 수 있다. 이와 함께, 음식을 섭취하는 경우의 칼로리를 소비하기 위해서 해야 하는 운동과 운동 시간에 대한 정보도 함께 표시될 수 있다. 이 밖에, 섭취 예정인 음식의 영양정보와 가격정보도 함께 표시될 수 있다. 이 밖에 도 18 및 도 19는 각각 도 10 및 도 12와 비교하여 음식 측정 장치(200)의 역할을 사용자 단말(300)이 수행하는 것에 차이만 있으므로, 자세한 설명은 생략한다.For example, an image of a tableware containing food captured by the photographing unit 250/350 may be displayed, and information about the type of food and the corresponding calories may be displayed. And when a beverage, etc. is placed in a cup, the height of the beverage in the cup may be displayed. In addition, information about the exercise and exercise time required to consume calories from food can also be displayed. In addition, nutritional information and price information of the food to be consumed can also be displayed. In addition, FIGS. 18 and 19 differ only in that the user terminal 300 performs the role of the food measuring device 200 compared to FIGS. 10 and 12, respectively, and detailed descriptions are omitted.
이상으로 설명한 본 발명의 실시예에 따른 음식 측정 음식 측정 장치(200) 구성들의 세부적인 내용은 도 1 내지 도 9을 통해 설명한 음식 측정 방법과 발명의 카테고리만 다를 뿐, 동일한 내용이므로 중복되는 설명, 예시는 생략하도록 한다.The detailed contents of the food measuring device 200 according to the embodiment of the present invention described above are different from the food measuring method described through FIGS. 1 to 9 only in the category of the invention, and since the content is the same, redundant description, Examples are omitted.
이상에서 전술한 본 발명의 일 실시예에 따른 음식 측정 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The food measuring method according to an embodiment of the present invention described above may be implemented as a program (or application) and stored in a medium to be executed in combination with a server, which is hardware.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-mentioned program is C, C++, JAVA, machine language, etc. that the processor (CPU) of the computer can read through the device interface of the computer in order for the computer to read the program and execute the methods implemented as a program. It may include code coded in a computer language. These codes may include functional codes related to functions that define the necessary functions for executing the methods, and include control codes related to execution procedures necessary for the computer's processor to execute the functions according to predetermined procedures. can do. In addition, these codes may further include memory reference-related codes that indicate at which location (address address) in the computer's internal or external memory additional information or media required for the computer's processor to execute the above functions should be referenced. there is. In addition, if the computer's processor needs to communicate with any other remote computer or server in order to execute the above functions, the code uses the computer's communication module to determine how to communicate with any other remote computer or server. It may further include communication-related codes regarding whether communication should be performed and what information or media should be transmitted and received during communication.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as a register, cache, or memory. Specifically, examples of the storage medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., but are not limited thereto. That is, the program may be stored in various recording media on various servers that the computer can access or on various recording media on the user's computer. Additionally, the medium may be distributed to computer systems connected to a network, and computer-readable codes may be stored in a distributed manner.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of the method or algorithm described in connection with embodiments of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. The software module may be RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Above, embodiments of the present invention have been described with reference to the attached drawings, but those skilled in the art will understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features. You will be able to understand it. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.
Claims (14)
식후의 식기를 촬영하여 제1 이미지를 획득하는 촬영부;
상기 제1 이미지를 인공지능 기반으로 분석하고, 상기 분석한 결과를 기반으로 잔반 종류를 판단하는 판단부;
상기 잔반 종류 별 잔반량을 산출하는 산출부;
특정 식사 장소의 식사 주체들에 대한 상기 잔반 종류 및 상기 잔반량을 기반으로 상기 식사 주체들의 음식 메뉴별 선호도를 평가하고, 상기 선호도를 평가한 결과를 기반으로 상기 식사 주체들을 위한 추천 메뉴 및 배식 준비량을 도출하는 배식메뉴 추천부; 및
음식별 관련도가 저장된 저장부를 포함하고,
상기 선호도를 평가한 결과를 기반으로, 상기 식사 주체들이 선호하는 제1 음식 메뉴를 판단하고, 상기 음식별 관련도를 이용하여 상기 제1 음식 메뉴를 기반으로 상기 식사 주체들이 선호할 가능성이 높은 제2 음식 메뉴를 선택하는 것을 특징으로 하는,
인공지능 기반의 잔반 분석 장치.
An artificial intelligence-based leftover analysis device,
a photographing unit that acquires a first image by photographing dishes after a meal;
a determination unit that analyzes the first image based on artificial intelligence and determines the type of leftover food based on the analysis result;
a calculation unit that calculates the amount of leftover food for each type of leftover food;
Evaluate the preferences of the diners for each food menu based on the type of leftovers and the amount of leftovers for the diners at a specific meal location, and prepare recommended menus and meals for the diners based on the results of evaluating the preferences. Meal menu recommendation unit that derives quantity; and
Includes a storage unit where the relevance of each food is stored,
Based on the results of evaluating the preference, the first food menu preferred by the dining subjects is determined, and the degree of relevance for each food is used to determine a food menu that the dining subjects are likely to prefer based on the first food menu. Featuring a choice of 2 food menus,
Artificial intelligence-based leftover analysis device.
상기 장치는,
상기 산출된 잔반량의 변화량을 기반으로 각 음식 메뉴의 선호도를 평가하는 것을 특징으로 하는,
인공지능 기반의 잔반 분석 장치.
According to paragraph 1,
The device is,
Characterized in evaluating the preference of each food menu based on the amount of change in the calculated amount of leftover food,
Artificial intelligence-based leftover analysis device.
상기 장치는,
미리 학습된 인공지능 모델을 이용하여 상기 제1 이미지에서 음식과 음식이 아닌 것을 구분하여 상기 제1 이미지에서 음식 이미지를 추출하는 것을 특징으로 하는,
인공지능 기반의 잔반 분석 장치.
According to paragraph 1,
The device is,
Characterized in extracting a food image from the first image by distinguishing between food and non-food in the first image using a pre-trained artificial intelligence model,
Artificial intelligence-based leftover analysis device.
상기 촬영부는 이미지 데이터 및 깊이 데이터를 획득하고,
상기 장치는,
상기 제1 이미지에서 음식에 가려지지 않고 노출된 복수의 영역까지의 거리를 산출하고,
상기 산출된 거리를 기반으로 상기 제1 이미지 내 식기 이미지의 기울기를 산출하고,
상기 산출한 기울기를 기반으로 상기 제1 이미지 내 식기 이미지가 수평이 되도록 보정하는 것을 특징으로 하는,
인공지능 기반의 잔반 분석 장치.
According to paragraph 1,
The photographing unit acquires image data and depth data,
The device is,
Calculate the distance from the first image to a plurality of areas exposed without being obscured by food,
Calculate the slope of the dish image in the first image based on the calculated distance,
Characterized in correcting the tableware image in the first image to be horizontal based on the calculated tilt,
Artificial intelligence-based leftover analysis device.
상기 장치는,
상기 제1 이미지 상의 식기 이미지에서 음식에 가려지지 않고 노출된 영역 중 평평한(flat)한 영역을 확인하고,
상기 확인한 평평한 영역 중 3개 이상의 포인트를 결정하고, 상기 결정한 3개 이상의 포인트에 대한 깊이 데이터를 확인하는 것을 특징으로 하는,
인공지능 기반의 잔반 분석 장치.
According to paragraph 4,
The device is,
Confirming a flat area among the exposed areas that are not covered by food in the tableware image in the first image,
Characterized by determining three or more points among the confirmed flat areas and checking depth data for the three or more determined points,
Artificial intelligence-based leftover analysis device.
상기 장치는,
상기 식사 주체의 단말을 통해 상기 식후의 식기가 촬영된 제2 이미지가 수신되는 경우, 상기 단말의 자이로센서를 통해 측정된 상기 단말에 기울기 정보를 수신하고, 상기 수신된 기울기 정보를 기반으로 상기 제2 이미지 내 식기 이미지의 기울기를 보정하는 것을 특징으로 하는,
인공지능 기반의 잔반 분석 장치.
According to paragraph 1,
The device is,
When a second image of the tableware after the meal is received through the terminal of the person eating, tilt information measured through the gyro sensor of the terminal is received, and based on the received tilt information, the second image is received. 2 Characterized in correcting the tilt of the tableware image in the image,
Artificial intelligence-based leftover analysis device.
상기 장치는,
인공지능 알고리즘을 이용하여 학습된 모델을 이용하며,
상기 특정 식사 장소에서 제공하는 메뉴 정보를 최적화 정보로 수신하고,
음식 종류에 대한 판단 정확도를 높이기 위해, 상기 최적화 정보에 기초하여 상기 모델을 학습시켜 음식 종류 클래스의 수가 상기 특정 식사 장소에 최적화되어 축소된 로컬 모델을 생성하여 제공하는 것을 특징으로 하는,
인공지능 기반의 잔반 분석 장치.
According to paragraph 1,
The device is,
It uses a model learned using an artificial intelligence algorithm,
Receive menu information provided by the specific dining location as optimization information,
In order to increase the accuracy of judgment about the type of food, the model is trained based on the optimization information to generate and provide a reduced local model in which the number of food type classes is optimized for the specific dining location.
Artificial intelligence-based leftover analysis device.
상기 장치는,
상기 식기에 복수의 공간이 포함되어 있는 경우, 각 공간마다 음식 이미지를 추출하고,
상기 식기에 공간이 구분되어 있지 않은 경우, 상기 식기 내 전체 음식 이미지를 추출하고, 상기 전체 음식 이미지에서 각각의 음식 이미지를 분리하여 추출하는 것을 특징으로 하는,
인공지능 기반의 잔반 분석 장치.
According to paragraph 1,
The device is,
If the tableware includes a plurality of spaces, extract a food image for each space,
When the space in the tableware is not separated, the entire food image in the tableware is extracted, and each food image is separately extracted from the entire food image,
Artificial intelligence-based leftover analysis device.
식후의 식기가 촬영된 제1 이미지를 수신하는 단계;
상기 제1 이미지를 인공지능 기반으로 분석하고, 상기 분석한 결과를 기반으로 잔반 종류를 판단하는 단계;
상기 잔반 종류 별 잔반량을 산출하는 단계;
특정 식사 장소의 식사 주체들에 대한 상기 잔반 종류 및 상기 잔반량을 기반으로 상기 식사 주체들의 음식 메뉴별 선호도를 평가하는 단계;
상기 선호도를 평가한 결과를 기반으로 상기 식사 주체들을 위한 추천 메뉴 및 배식 준비량을 도출하는 단계;
상기 선호도를 평가한 결과를 기반으로, 상기 식사 주체들이 선호하는 제1 음식 메뉴를 판단하고, 상기 장치에 저장된 음식별 관련도를 이용하여 상기 제1 음식 메뉴를 기반으로 상기 식사 주체들이 선호할 가능성이 높은 제2 음식 메뉴를 선택하는 단계를 포함하는,
인공지능 기반의 잔반 분석 방법.
A method performed by a leftover analysis device,
Receiving a first image of dishes after a meal;
Analyzing the first image based on artificial intelligence and determining the type of leftover food based on the analysis result;
Calculating the amount of leftover food for each type of leftover food;
Evaluating preferences for each food menu of the diners at a specific dining location based on the type and amount of leftover food for the diners;
Deriving recommended menus and meal preparation amounts for the dining subjects based on the results of evaluating the preferences;
Based on the results of evaluating the preference, the first food menu preferred by the eating subjects is determined, and the possibility that the eating subjects prefer based on the first food menu using the relevance of each food stored in the device comprising selecting this elevated second food menu,
Artificial intelligence-based leftover analysis method.
A program combined with a hardware computer and stored in a medium to execute the method of claim 9.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190133499 | 2019-10-25 | ||
KR1020190133499 | 2019-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210049704A KR20210049704A (en) | 2021-05-06 |
KR102683228B1 true KR102683228B1 (en) | 2024-07-09 |
Family
ID=75915916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200139776A KR102683228B1 (en) | 2019-10-25 | 2020-10-26 | A method, device and program for measuring food |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102683228B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102452139B1 (en) * | 2022-02-15 | 2022-10-11 | 주식회사 사공사파운드 | Food residue pattern analysis system using ai image analysis technology |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012212249A (en) * | 2011-03-30 | 2012-11-01 | Fujitsu Ltd | Meal image analysis method, meal image analysis program and meal image analysis device |
KR101375018B1 (en) * | 2012-11-22 | 2014-03-17 | 경일대학교산학협력단 | Apparatus and method for presenting information of food using image acquisition |
US20150168365A1 (en) | 2013-12-18 | 2015-06-18 | Robert A. Connor | Caloric Intake Measuring System using Spectroscopic and 3D Imaging Analysis |
US20160140870A1 (en) | 2013-05-23 | 2016-05-19 | Medibotics Llc | Hand-Held Spectroscopic Sensor with Light-Projected Fiducial Marker for Analyzing Food Composition and Quantity |
JP2018528545A (en) * | 2015-09-09 | 2018-09-27 | フィットリー インコーポレイテッドFitly Inc. | System and method for nutrition analysis using food image recognition |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100524572B1 (en) | 2004-01-30 | 2005-10-31 | 주식회사 카스 | Meal Scale for diet |
-
2020
- 2020-10-26 KR KR1020200139776A patent/KR102683228B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012212249A (en) * | 2011-03-30 | 2012-11-01 | Fujitsu Ltd | Meal image analysis method, meal image analysis program and meal image analysis device |
KR101375018B1 (en) * | 2012-11-22 | 2014-03-17 | 경일대학교산학협력단 | Apparatus and method for presenting information of food using image acquisition |
US20160140870A1 (en) | 2013-05-23 | 2016-05-19 | Medibotics Llc | Hand-Held Spectroscopic Sensor with Light-Projected Fiducial Marker for Analyzing Food Composition and Quantity |
US20150168365A1 (en) | 2013-12-18 | 2015-06-18 | Robert A. Connor | Caloric Intake Measuring System using Spectroscopic and 3D Imaging Analysis |
JP2018528545A (en) * | 2015-09-09 | 2018-09-27 | フィットリー インコーポレイテッドFitly Inc. | System and method for nutrition analysis using food image recognition |
Also Published As
Publication number | Publication date |
---|---|
KR20210049704A (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7159331B2 (en) | School lunch management system and its operation method | |
US9314206B2 (en) | Diet and calories measurements and control | |
US9659225B2 (en) | Restaurant-specific food logging from images | |
US20120096405A1 (en) | Apparatus and method for diet management | |
KR102606359B1 (en) | Cafeteria management system | |
WO2012094569A2 (en) | Health monitoring system | |
US11823042B2 (en) | System for measuring food weight | |
KR102487925B1 (en) | Method, server and program for providing information on the operation and management information of the group feeding | |
EP3964793A1 (en) | Food measurement method, device, and program | |
TW201901598A (en) | Dietary information suggestion system and its dietary information suggestion method | |
US20220222844A1 (en) | Method, device, and program for measuring food | |
KR20200126576A (en) | A method, server, device and program for measuring amount of food | |
Chung et al. | Tele-dietetics with food images as dietary intake record in nutrition assessment | |
US11562338B2 (en) | Automated point of sale systems and methods | |
KR102683228B1 (en) | A method, device and program for measuring food | |
KR102326540B1 (en) | Methods for management of nutrition and disease using food images | |
KR102488997B1 (en) | A method, server, device and program for measuring amount of food using potable device | |
Akpa et al. | Smartphone-based food weight and calorie estimation method for effective food journaling | |
EP2787459A1 (en) | Method of monitoring nutritional intake by image processing | |
KR102473282B1 (en) | System and method for providing nutritional information based on image analysis using artificial intelligence | |
KR20190104980A (en) | Management system of cafeteria and operation method thereof | |
CN111951928A (en) | Method of controlling calorie intake, mobile terminal and computer storage medium | |
CN115439908A (en) | Face recognition self-service weighing consumption system | |
JP2018147414A (en) | Meal identification system and program therefor | |
KR102473072B1 (en) | System and method for measuring tableware size and providing nutritional information using artificial intelligence-based image recognition and augmented reality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |