KR20210049704A - 음식 측정 방법, 장치, 및 프로그램 - Google Patents

음식 측정 방법, 장치, 및 프로그램 Download PDF

Info

Publication number
KR20210049704A
KR20210049704A KR1020200139776A KR20200139776A KR20210049704A KR 20210049704 A KR20210049704 A KR 20210049704A KR 1020200139776 A KR1020200139776 A KR 1020200139776A KR 20200139776 A KR20200139776 A KR 20200139776A KR 20210049704 A KR20210049704 A KR 20210049704A
Authority
KR
South Korea
Prior art keywords
food
tableware
volume
information
image data
Prior art date
Application number
KR1020200139776A
Other languages
English (en)
Other versions
KR102683228B1 (ko
Inventor
김대훈
Original Assignee
주식회사 누비랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 누비랩 filed Critical 주식회사 누비랩
Publication of KR20210049704A publication Critical patent/KR20210049704A/ko
Application granted granted Critical
Publication of KR102683228B1 publication Critical patent/KR102683228B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/28Measuring arrangements characterised by the use of optical techniques for measuring areas
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/022Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by means of tv-camera scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30128Food products

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

본 발명은 음식 측정 방법에 관한 것으로, 본 발명은 음식이 담긴 식기에 형성된 복수의 공간에 대한 크기, 깊이 및 용량에 대한 정보와 촬영수단으로부터 촬영된 이미지를 기반으로 음식량을 산출한다.

Description

음식 측정 방법, 장치, 및 프로그램{A method, device and program for measuring food}
본 발명은 음식을 측정하는 방법에 관한 것으로, 구체적으로 부피를 이용하여 음식의 양을 측정하는 방법에 관한 것이다.
최근 들어, 웰빙(Well-Being), 다이어트(Diet) 등과 같이 건강한 식단을 유지하려는 사람들이 많아 짐에 따라서 음식을 측정하는 기술의 수요가 증가하고 있다.
이를 이용하면, 학교, 기업, 군대, 관공서, 병원 등과 같이 복수의 사람들에게 배식을 하는 장소에서도 사람들에게 배식, 급식되는 음식의 양을 측정하여 이를 통해 배식량과 잔반량을 측정함으로써, 수요량과 공급량을 예상하여 효율적인 배식관리를 진행하고, 배식을 받는 사람들의 칼로리를 관리해줄 수 있는 등 많은 장점이 있다.
하지만, 현재 공개된 대부분의 기술들은 카메라를 통해 촬영된 이미지를 단순 이미지 검색하는데 그치고 있기 때문에 그 정확도가 현저하게 떨어지고, 이미지 검색에서 정확도가 떨어지다 보니 칼로리 계산 등과 같은 다음 단계들에서는 더 큰 오차가 발생한다는 문제점이 있다.
이에, 본 발명자는 단순하게 음식을 이미지로 검색하는데 그치지 않고 정확하게 분석하고 산출할 수 있는 발명을 안출하게 되었다.
대한민국 공개특허공보 제10-2005-0083210호(2005.08.26)
상술한 바와 같은 문제점을 해결하기 위한 본 발명은 스테레오 카메라 또는 깊이 측정 장치를 통해 촬영된 이미지의 픽셀별 높이 정보를 이용하여 음식의 부피를 산출하는 음식 측정 방법을 제공할 수 있다.
또한, 본 발명은 배식식기의 정보를 이용하여 산출된 음식의 부피를 보정하는 음식 측정 방법을 제공할 수 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 음식 측정 방법은, 분석부가 배식식기(사용자의 배식받은 식기) 이미지를 분석하여, 상기 식기에 수용된 하나 이상의 음식을 인식하는 단계; 산출부가 식기 정보와 상기 식기 이미지 내 음식의 이미지를 이용하여 각 음식의 부피를 산출하는 단계; 및 상기 산출부가 음식 정보와 상기 산출된 각 음식의 부피를 이용하여 각 음식의 무게를 산출하는 단계;를 포함하며, 상기 서버는, 빈식기 이미지와 식기에 형성된 복수의 공간에 대한 크기, 깊이 및 용량을 포함하는 식기 정보, 음식별 부피당 무게를 포함하는 음식 정보가 저장된 데이터베이스를 포함한다.
또한, 상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 음식 측정 서버는, 빈식기 이미지와 식기에 형성된 복수의 공간에 대한 크기, 깊이 및 용량을 포함하는 식기 정보, 음식별 부피당 무게를 포함하는 음식 정보가 저장된 데이터베이스; 배식식기(사용자의 배식받은 식기) 이미지를 분석하여, 상기 식기에 수용된 하나 이상의 음식을 인식하는 분석부; 상기 식기 정보와 상기 식기 이미지 내 음식의 이미지를 이용하여 각 음식의 부피를 산출하고, 상기 음식 정보와 상기 산출된 각 음식의 부피를 이용하여 각 음식의 무게를 산출하는 산출부;를 포함한다.
또한, 상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 음식 측정 장치는, 빈식기 이미지와 식기에 형성된 복수의 공간에 대한 크기, 깊이 및 용량을 포함하는 식기 정보, 음식별 부피당 무게를 포함하는 음식 정보가 저장된 데이터베이스; 배식식기(사용자의 배식받은 식기) 이미지를 분석하여, 상기 식기에 수용된 하나 이상의 음식을 인식하는 분석부; 상기 식기 정보와 상기 식기 이미지 내 음식의 이미지를 이용하여 각 음식의 부피를 산출하고, 상기 음식 정보와 상기 산출된 각 음식의 부피를 이용하여 각 음식의 무게를 산출하는 산출부;를 포함한다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
상기와 같은 본 발명에 따르면, 스테레오 카메라 또는 깊이 측정 장치를 통해 촬영된 이미지의 픽셀별 높이 정보를 이용하여 음식의 부피를 산출하여, 정확한 음식의 부피를 산출할 수 있는 효과가 있다.
또한, 본 발명은 배식식기 공간들의 크기, 깊이 및 용량에 대한 정보를 통해 산출된 음식의 부피를 보정하여 보다 정확하게 음식의 부피를 산출할 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 음식 측정 방법의 흐름도이다.
도 2A는 본 발명의 일 실시예에 따른 식기의 사시도이다.
도 2B는 뒷면 또는 측면에 식별코드가 부착된 식기의 사시도이다.
도 3은 본 발명의 실시예에 따른 음식이 수용된 식기의 사시도이다.
도 4는 도 3에서 하나의 공간에 두 개의 음식이 적층된 식기의 사시도이다.
도 5는 공간 구분이 되지 않은 식기의 사시도이다.
도 6은 음식의 종류를 판단 정확도를 높이기 위해 고도화된 로컬 모델을 제공하는 방법의 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 음식 측정 방법의 흐름도이다.
도 8은 백그라운드 타겟을 설명하기 위한 테이블의 사시도이다.
도 9는 본 발명의 일 실시예에 따른 식당 운영정보 및 식사주체의 관리정보 제공 방법의 순서도이다.
도 10은 본 발명의 실시예에 따른 음식 측정 서버의 블록도이다.
도 11은 도 10의 관리부의 세부 블록도이다
도 12는 본 발명의 실시예에 따른 음식 측정 장치의 블록도이다.
도 13 내지 도 16은 본 발명의 실시예에 따른 음식 측정 장치의 사시도이다.
도 17은 본 발명의 실시예에 따른 음식 측정 장치의 화면이다.
도 18은 본 발명의 실시예에 따른 음식 측정 서버의 블록도이다.
도 19는 본 발명의 실시예에 따른 사용자 단말의 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
도 1 내지 도 5를 참조하여, 본 발명의 일 실시예에 따른 음식 측정 방법에 대해서 설명한다. 본 발명의 일 실시예에 따른 음식 측정 방법은 컴퓨터에 의해 수행되며, 여기서 컴퓨터는 음식 측정 서버(100) 또는 음식 측정 장치(200)를 의미한다. 즉, 촬영은 음식 측정 장치(200)에 의해 수행되지만 다른 단계는 음식 측정 서버(100) 또는 음식 측정 장치(200)에 의해 수행될 수 있다.
도 1은 본 발명의 일 실시예에 따른 음식 측정 방법의 흐름도이고, 도 2A는 본 발명의 일 실시예에 따른 식기의 사시도이고, 도 2B는 뒷면 또는 측면에 식별코드가 부착된 식기의 사시도이고, 도 3은 본 발명의 실시예에 따른 음식이 수용된 식기의 사시도이고, 도 4는 도 3에서 하나의 공간에 두 개의 음식이 적층된 식기의 사시도이고, 도 5는 공간 구분이 되지 않은 식기의 사시도이고, 도 6은 음식의 종류를 판단 정확도를 높이기 위해 고도화된 로컬 모델을 제공하는 방법의 순서도이다.
본 발명의 실시예에 따른 음식 측정 방법은 식당의 배식구 또는 퇴식구에서 수행될 수 있으며, 식당은 카페테리아 또는 뷔페와 같이 셀프 서비스 식당으로, 사용자가 음식을 받기 위해 식기(500)를 이동시키면서 식사하는 곳일 수 있으며, 학교, 회사 또는 군대와 같이 단체에게 식사를 제공하는 장소일 수도 있다. 여기서, 식당은 음식 또는 식기(500)를 받는 배식구와 식사 후에 남은 음식을 버리고 식기(500)을 반납하는 퇴식구를 구비할 수 있지만, 이에 제한되지 않는다.
다만, 본 발명의 실시예에 따른 음식 측정 방법은 식당, 특히 셀프 서비스 식당에서 수행되는 것으로 제한되지 않으며, 기타 다른 형태의 식당이나 가정에서 수행될 수도 있으며, 각 자리에서 수행될 수도 있다.
또한, 설명의 편의를 위해 공간(510)이 구획된 식판 형상의 식기(500)를 이용하여 설명하지만, 식기(500)의 형상은 이에 제한되지 않는다.
도 1을 참조하면, 수신부(110)가 음식 측정 장치(200)의 촬영부(250)를 통해 촬영된 음식이 담긴 식기 이미지를 수신한다(S20단계).
수신부(110)는 수신된 음식이 담긴 식기 이미지를 표준화(normalization)하며, 표준화는 미리 정해진 기준(예컨대, 크기, 밝기, 회전, 기울기 등)에 따라 수신된 음식이 담긴 식기 이미지를 조정 또는 변형하는 것을 의미한다.
촬영부(250)는 이미지 데이터와 깊이 데이터를 획득할 수 있다면, 그 구성에 제한이 없다. 예컨대, 촬영부(250)는 RGB 카메라, 2D 카메라, 3D 카메라, ToF(Time of Flight) 카메라, 라이트 필드 카메라(light field camera), 스테레오 카메라, 이벤트 카메라, 적외선 카메라 중 적어도 하나를 포함할 수 있으며, 이미지 데이터와 깊이 데이터를 측정할 수 있다면 그 구성에 제한이 없다.
한편, 촬영부(250)는 음식 또는 음식이 담긴 식기를 촬영하는 것 이외에 식사 주체를 식별하기 위해 식사 주체의 생체정보를 촬영할 수 있다. 여기서, 식사 주체의 생체정보는 식사 주체의 안면, 홍채 또는 지문일 수 있지만, 이에 제한되지 않는다. 하나의 촬영부(250)에서 음식 또는 음식이 담긴 식기와 식사 주체의 생체정보를 동시에 또는 따로 촬영할 수 있지만, 음식 또는 음식이 담긴 식기를 촬영하기 위한 촬영부(250a)와 식사 주체의 생체정보를 촬영하기 위한 촬영부(250b)가 분리될 수 있다.
몇몇 실시예에서, 컨베이어 벨트(270)를 따라 이동하는 식기(500)을 촬영하는 경우 음식 측정 장치(200)의 촬영부(250)는 단수의 카메라를 포함하더라도, 이미지 데이터 이외에 깊이 데이터를 획득할 수 있다. 단수의 촬영부(250)를 이용하여 식기(500)가 컨베이어 벨트(270) 상의 제1 위치에 있을 때와 식기(500)이 컨베이어 벨트(270) 상에서 이동하여 제2 위치에 있을 때를 각각 촬영을 한다면, 정지된 식기(500)를 복수의 카메라를 포함하는 촬영부(250)를 이용하여 촬영하는 것과 동일한 효과를 얻을 수 있기 때문이다.
카메라는 빛을 인식하는 장치이기 때문에, 빛 반사와 같은 환경의 영향을 많이 받게 된다. 따라서 2개 이상의 카메라를 포함하는 촬영부(250)를 이용하여 촬영을 함으로써 환경의 영향을 최소화시키는 것일 필요하다. 다만, 2개 이상의 카메라를 포함하는 촬영부(250)를 이용하여 촬영을 하더라도 환경의 영향을 받을 수 있기 때문에 이에 대한 보정이 필요하다.
따라서, 컴퓨터는 식당의 특성, 환경에 따라 최적화하기 위해서 학습모듈이 촬영되는 이미지들을 통해 현장의 상황을 학습하고, 필터처리, 고정물체 및 레퍼런스 물체(후술하는 백그라운드 타겟)를 기준으로 환경상태를 인지하도록 할 수 있다.
한편, 본 발명의 일 실시예에 따른 음식 측정 장치(200)를 이용하여 식기(500)을 촬영하는 경우, 촬영부(250)에 의해 상측에서 식기(500)을 촬영하는 것과 함께 음식 측정 장치(200)는 식기(500)에 대한 식별정보(530) 또는 식사 주체에 대한 식별정보를 감지할 수 있다. 즉, 식기 이미지 수신 단계(S20)와 동시에 또는 별도로 음식 측정 장치(200)를 이용하여 식사 주체를 식별할 수 있다(S21).
구체적으로, 도 2B를 참조하면, 식기(500)에 대한 식별정보는 식기(500)에 포함될 수 있으며, 예컨대 QR코드(530, Quick Response Code) 또는 바코드의 형태로 식기(500)에 물리적으로 포함될 수 있으며, 이 이외에도 숫자 또는 문자들의 조합, 도형, 기호의 조합 등 다양한 코드 형태의 식별정보가 식기(500)에 포함될 수도 있다. 이 밖에, 식기(500)에 대한 식별정보는 RFID 칩과 같은 다양한 반도체 장치 등에 기록되어 식기(500)에 포함될 수도 있다. 이를 위해 음식 측정 장치(200)에는 식별정보 감지부(251)가 포함되며, 촬영부(250)가 상측에서 식기(500)을 촬영할 때 동시에 식별정보 감지부(251)도 식기(500)에 대한 식별정보를 감지할 수 있도록 음식 측정 장치(200)에 배치될 수 있다.
예컨대, 도 2B와 같이 QR코드(530)가 식기(500)의 뒷면 또는 측면에 위치하는 경우 식별정보 감지부(251)는 촬영부(250)와 마주보도록 하측에 위치하거나 수평 방향에서 QR코드(530)를 인식할 수 있도록 위치할 수 있지만, 식별정보 감지부(251)의 위치는 이에 제한되지 않으며, 촬영부(250)가 식기(500)의 상면을 촬영할 때 동시에 식기(500)의 식별정보를 감지할 수 있다면 다양한 위치에 배치될 수 있다.
몇몇 실시예에서 식기(500)의 식별정보가 식기(500)의 상측에 위치하는 경우, 음식 측정 장치(200)는 별도의 식별정보 감지부(251)를 포함하지 않을 수 있으며, 촬영부(250)를 이용하여 측정되는 식기 이미지를 분석하여 식기(500)의 식별정보를 확인할 수도 있다.
이 밖에, 식사 주체에 대한 식별정보는 인증부(160)에 의해서 감지될 수 있으며, 예컨대 식사 주체에 대한 이미지 촬영을 이용하여 생체정보를 확인하는 안면 인식, 홍채 인식 또는 지문 인식 등의 방식이 적용될 수 있다.
또한, 인증부(160)는 식사 주체가 보유하고 있는 RFID칩이 포함된 태그나 QR코드, 바코드, 숫자 또는 문자들의 조합, 도형, 기호의 조합 등 다양한 코드 형태의 식별정보가 포함된 태그를 인식함으로써 식사 주체에 대한 식별정보를 감지할 수도 있다.
본 발명의 실시예에 따른 음식 측정 방법을 이용하는 경우, 측정된 결과를 이용하여 다양한 정보를 산출할 수 있는데, 음식 측정 장치(200)가 식기(500)에 대한 식별정보(530)와 식사 주체에 대한 식별정보 중 어떤 것을 인식할 수 있는지 여부에 따라 산출되는 정보에 차이가 있을 수 있다.
우선, 배식구에 설치된 음식 측정 장치(200)와 퇴식구에 설치된 음식 측정 장치(200) 모두에서 식기(500)에 대한 식별정보(530)는 인식하지 못하고 식사 주체에 대한 식별정보만을 인식할 수 있는 경우, 본 실시예에 따른 음식 측정 방법을 이용하여 각 식사 주체에 대한 정보와 해당 식사 주체가 포함된 집단에 대한 정보를 산출할 수 있다.
반대로, 배식구에 설치된 음식 측정 장치(200)와 퇴식구에 설치된 음식 측정 장치(200) 모두에서 식사 주체에 대한 식별정보는 인식하지 못하고 식기(500)에 대한 식별정보(530)만을 인식할 수 있는 경우, 본 실시예에 따른 음식 측정 방법을 이용하여 각 식사 주체에 대한 정보는 산출하지 못하고 해당 식사 주체가 포함된 집단에 대한 정보만을 산출할 수 있다.
이 밖에, 배식구에 설치된 음식 측정 장치(200)에서 식기(500)에 대한 식별정보(530)와 식사 주체에 대한 식별정보를 모두 인식할 수 있고, 퇴식구에 설치된 음식 측정 장치(200)에서 식기(500)에 대한 식별정보(530)는 인식하지 못하고 식사 주체에 대한 식별정보만을 인식할 수 있는 경우, 퇴식구에 설치된 음식 측정 장치(200)에서 식기(500)에 대한 식별정보(530)는 인식하지 못하더라도 배식구에서의 정보를 이용하여 특정 식사 주체가 보유하는 식기(500)에 대한 식별정보(530)가 특정될 수 있기 때문에, 본 실시예에 따른 음식 측정 방법을 이용하여 각 식사 주체에 대한 정보와 해당 식사 주체가 포함된 집단에 대한 정보를 산출할 수 있다.
한편, 음식 식별 장치(30)가 별도의 인증부(160)을 포함하지 않고, 음식 측정 장치(200)의 입력 장치(미도시)를 통해 식사 주체로부터 식별정보를 입력받을 수도 있다.
따라서 몇몇 실시예에서 수신부(110)가 촬영부(250)를 통해 촬영된 식기 이미지를 수신하는 단계(S520단계)에서, 수신부(110)는 식기 이미지 이외에 식기(500)에 대한 식별정보 및 식사 주체에 대한 식별정보 중 적어도 하나를 함께 수신할 수 있다.
이어서, 도 1을 참조하면, 보정부(150)가 음식이 포함된 식기 이미지 보정을 수행할 수 있다(S25단계).
보다 상세하게는, 보정부(150)가 음식이 담긴 식기 이미지 데이터를 이용하여 노이즈 성분을 제거하고, 식기 이미지의 기울기를 인식하여 수평 상태의 이미지로 보정할 수 있다. 이렇게 보정된 이미지는 후술하는 부피 산출 단계(S50)에서 이용될 수 있다.
식당에서 식기를 촬영할 때 식기를 특정 위치에 올려놓은 상태에서 흔들림없이 촬영이 될 수도 있지만, 촬영부(250)가 컨베이어 벨트(270) 상에서 이동하는 식기(500)를 촬영하는 경우도 있고, 식사 주체가 식기(500)를 들고 있는 상태에서 음식 측정 장치(200)를 통해 식기(500)가 촬영되는 경우도 있으며, 몇몇 실시예에서 사용자가 식기(500)를 들고 걸어가는 것이 촬영부(250)에 의해 촬영될 수도 있다.
따라서, 식기 이미지가 불명확하게 촬영될 수도 있으며 식기의 각도가 기울어진 상태에서 식기 이미지가 촬영될 수도 있기 때문에, 보정부(150)가 식기 이미지의 흔들림 또는 기울기를 인식하고, 흔들림 또는 기울기가 가장 적은 식기 이미지를 선택하고 식기 이미지를 수평상태의 이미지로 보정하여 음식의 부피를 정확하게 산출할 수 있도록 한다.
우선, 보정부(150)는 표준화된 식기 이미지 중 흔들림이 가장 적은 식기 이미지를 선택하기 위해, 표준화된 복수의 식기 이미지를 분석할 수 있으며, 예컨대, 보정부(150)는 각 픽셀 단위로 이미지의 번짐 정도를 확인하고 이를 통해 가장 흔들림이 적고 명확한 식기 이미지를 선택할 수 있다.
이어서, 보정부(150)는 식기 이미지에서 식기(500)가 음식에 가려지지 않고 노출된 영역을 대상으로 촬영부(250)에서 복수의 노출된 영역까지의 거리를 산출할 수 있으며, 복수의 노출된 영역까지의 산출된 거리를 이용하여 식기 이미지에서 식기(50)의 기울기를 산출할 수 있다. 이어서, 보정부(150)는 산출된 기울기를 이용하여 촬영된 식기 이미지가 수평이 되도록 보정할 수 있다.
구체적으로, 보정부(150)는 깊이 식기 이미지에서 깊이 정보를 이용하여 식기(500) 형상을 추출할 수 있다. 식기 이미지에서 식기(500)과 식기(500) 이외의 배경은 깊이 정보에서 차이가 있으므로, 보정부(150)는 이를 이용하여 식기 이미지에서 식기(500)를 추출할 수 있다.
보정부(150)는 식기(500)에서 음식에 가려지지 않고 노출된 영역 중 평평한(flat) 영역을 확인하고, 평평한 영역 중 적어도 3군데 이상의 포인트를 정하고, 정해진 3군데 이상의 포인트의 깊이 정보를 확인한다.
여기서, 3군데 이상의 포인트의 깊이 정보를 확인하는 것은, 3군데 이상의 포인트를 이용하여 가상의 평면을 생성하고 해당 평면의 기울기를 확인하기 위한 것으로, 보정부(150)는 정해진 3군데 이상의 포인트의 깊이 정보를 이용하여 식기(500)의 기울기를 산출하고, 산출된 기울기를 이용하여 촬영된 식기 이미지를 보정할 수 있다.
몇몇 실시예에서 평평한 영역 중 적어도 3군데 이상의 포인트를 정한 후, 정해진 3군데 이상의 포인트의 깊이 정보를 확인하는 대신, 정해진 3군데 이상의 포인트에 대하여 각 포인트의 주위 포인트에 대한 평균 깊이 정보를 각 포인트의 깊이 정보로 함으로써, 기울기 산출을 위해 상대적으로 많은 정보를 활용함으로써 산출된 기울기의 정확도를 높일 수 있다.
몇몇 실시예에서 정해진 3군데 이상의 포인트의 깊이 정보를 이용하여 식기(500)의 기울기를 산출하는 과정에서 각 포인트를 연결하는 선에 따른 그래디언트(gradient) 값을 도출할 수 있으며, 이를 통해 식기(500)의 기울기를 산출하고 산출된 기울기를 이용하여 촬영된 식기 이미지를 보정할 수 있다.
몇몇 실시예에서 보정부(150)는 식기 이미지에서 식기(50)의 윤곽을 파악하고, 촬영된 식기 이미지에서의 식기(50)의 윤곽과 레퍼런스로 활용하기 위한 기울어지지 않은 식기 이미지에서의 식기(50)의 윤곽을 비교함으로써, 촬영된 식기 이미지에서의 식기(50)의 기울기를 산출할 수 있다. 이어서, 보정부(150)는 산출된 기울기를 이용하여 촬영된 식기 이미지를 보정할 수 있다.
또한, 수신부(110)를 통해 수신된 2개의 음식이 담긴 식기 이미지 데이터에 현장의 상황(흔들림, 빛 반사 등)에 따라서 노이즈가 발생할 수 있기 때문에 2개의 식기 이미지를 비교하여 노이즈를 제거하도록 할 수 있다.
이어서, 도 1을 참조하면, 추출부(120)가 음식이 담긴 식기 이미지 데이터에서 식기(500)의 각 공간(510)에 수용된 음식 이미지 데이터를 추출한다(S530단계).
보다 상세하게는, 식기 이미지에는 식기(500)와 음식의 이미지가 함께 포함되어 있기 때문에, 음식 이미지 데이터를 식기 이미지로부터 추출하는 것을 의미한다. 예컨대, 추출부(120)는 음식과 음식이 아닌 것을 구분할 수 있도록 인공지능 알고리즘을 이용하여 학습된 모델을 이용하여 음식 이미지 데이터를 추출할 수 있다. 여기서, 식기(500)에 복수의 공간(510)이 포함되는 경우, 추출부(120)는 각 공간(510) 마다의 음식 이미지 데이터를 추출할 수 있다.
한편, 도 5를 참조하면, 공간 구분이 되지 않은 하나의 식기(500)에 복수 개의 음식이 수용된 것이 도시되는데, 식기(500) 내에 공간이 구분되지 않으므로, 추출부(120)가 복수 개의 음식이 포함된 하나의 전체 음식 이미지(550)로 인식할 수 있다. 이러한 경우 추출부(120)는 하나의 전체 음식 이미지 데이터를 각각의 음식 이미지 데이터로 분리하여 추출하는 과정을 추가적으로 수행하여야 한다.
이어서, 도 1을 참조하면, 판단부(130)가 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단한다(S40단계).
판단부(130)는 추출된 음식 이미지 데이터를 이용하여 음식 종류를 판단할 수 있다. 예컨대, 판단부(130)는 음식 종류의 인식을 위하여 이미지 기반으로 학습된 모델을 포함할 수 있지만, 음식 종류를 판별하는 방식은 이에 제한되지 않는다.
본 실시예에 따른 음식 측정 방법에서 음식 종류의 인식률을 높이기 위해 인공지능 알고리즘을 이용하여 학습된 모델을 아래의 방식으로 음식 측정 방법을 이용하는 개별 대상에 대하여 최적화할 수 있다. 개별 대상은 예컨대 개별 식당 또는 개별 식사 주체일 수 있지만, 이에 제한되지 않는다.
우선, 도 6을 참조하면, 수신부(110)는 식당 또는 식사 주체 등 개별 대상으로부터 학습된 모델을 최적화 시키기 위한 최적화 정보를 수신한다(S31단계).
최적화 시키기 위한 대상이 되는 학습된 모델은 마스터 모델로서, 마스터 모델은 음식 측정 장치(200) 또는 사용자 단말(300)로부터 촬영된 이미지 데이터 또는 처리된 결과를 데이터 세트로 하여 음식 종류를 구분하도록 학습이 진행된 모델이다.
마스터 모델은 음식 측정 방법에 이용되는 모든 촬영된 이미지 데이터 또는 처리된 결과를 데이터 세트로 하여 구축된 것이라서, 특정한 음식 이미지 데이터의 종류를 판단하기 위해, 마스터 모델은 수십, 수백, 수천 가지의 음식 종류 클래스에서 해당 특정한 음식 이미지 데이터가 어떤 음식 종류인지를 파악하게 된다.
마스터 모델을 최적화 하는 것은 특정한 음식 이미지 데이터의 음식 종류를 파악하기 위해 고려해야 하는 음식 종류 클래스의 경우의 수를 줄이는 것이다. 이를 위해, 식당 또는 식사 주체 등 개별 대상에 대한 최적화 정보를 획득할 수 있다.
즉, 수신부(110)는 개별 대상에 대하여 최적화 정보를 수신할 수 있다. 최적화 정보로서 예컨대 개별 식당에서 판매하거나 제공하는 메뉴 정보 또는 개별 식사 주체가 자주 섭취하는 음식 종류 등 각 개별 대상에 의해 섭취되거나 개별 대상을 이용하는 식사 주체에 의해 섭취될 확률이 높은 것일 수 있다.
이어서, 도 6을 참조하면, 판단부(130)는 최적화 정보에 기초하여 마스터 모델에서 클래스를 최적화하여 로컬 모델을 산출한다(S32단계).
판단부(130)는 최적화 정보에 기초하여 해당 개별 대상과 관련도가 높은 음식 종류 클래스를 선정하고, 마스터 모델에서 고려하는 음식 종류 클래스를 해당 개별 대상과 관련도가 높은 음식 종류 클래스로 축소하는 방식으로 마스터 모델의 클래스를 최적화하여 해당 개별 대상에 대한 로컬 모델을 산출한다.
이어서, 도 6을 참조하면, 판단부(130)는 개별 대상과 관련된 이미지 데이터를 이용하여 학습을 진행하여 로컬 모델을 고도화한다(S33단계).
판단부(130)는 산출된 로컬 모델을 개별 대상과 관련된 이미지 데이터 또는 개별 대상과 관련하여 처리된 결과를 이용하여 학습을 진행함으로써 로컬 모델을 고도화할 수 있다.
여기서, 개별 대상과 관련된 이미지 데이터는 개별 대상으로 개별 식당 내에서 촬영된 이미지 데이터 또는 개별 식당 내에서 촬영된 이미지 데이터가 처리된 결과이거나, 개별 대상으로 개별 식사 주체에 의해 촬영된 이미지 데이터 또는 개별 식사 주체에 의해 촬영된 이미지 데이터가 처리된 결과일 수 있다.
한편, 판단부(130)는 산출된 로컬 모델을 개별 대상과 관련된 이미지 데이터 또는 개별 대상과 관련하여 처리된 결과를 이용하여 학습을 진행함으로써 로컬 모델을 고도화하는 과정에서, 판단부(130)는 인공지능 알고리즘을 이용하여 학습을 진행하는 과정에서 학습 모수, 학습 주기 등 다양한 변수를 변경하면서 학습을 진행하고, 진행된 학습 방식 중 정확도가 가장 높은 학습 장식을 이용하여 고도화 과정을 진행할 수 있다.
이어서, 도 6을 참조하면, 판단부(130)는 고도화된 로컬 모델을 제공할 수 있으며, 이를 이용하여 판단부(130)가 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단함으로써, 정확도를 높일 수 있다(S34단계).
몇몇 실시예에서, 선행되는 단계로, 수신부(110)가 식당에서 제공하는 음식 리스트 정보를 수신하는 단계(S10단계)가 더 포함될 수 있다.
이 경우, 음식 종류를 판단하는 단계(S40단계)에서 판단부(130)는 추출된 음식 이미지 데이터와 음식 리스트 정보를 매칭하여 각 음식의 종류를 판단할 수도 있다.
이와 같이, 판단부(130)가 음식 이미지 데이터를 분석하여 음식의 종류를 자체적으로 판단할 수도 있고, 저장되어 있는 음식 리스트 정보와 매칭하여 음식의 종류를 판단할 수도 있으며, 음식 종류를 판별하는 방식은 이에 제한되지 않는다.
이어서, 도 1을 참조하면, 산출부(140)가 추출된 음식 이미지 데이터의 픽셀별 높이 정보(즉, 3차원 거리 데이터)를 이용하여 각 음식의 부피를 산출한다(S50단계).
위에서 언급한 바와 같이, 식기 이미지는 깊이 데이터를 획득할 수 있는 촬영부(250)를 통해 촬영되었기 때문에, 음식 이미지 데이터에 깊이 데이터로서 픽셀별 높이 정보(3차원 거리 데이터)가 포함되어 있고, 이를 이용하여 각 음식의 부피를 산출할 수 있게 된다.
여기서, 컴퓨터는 식기 이미지와 식기(500)에 형성된 복수의 공간(510)에 대한 크기, 깊이 및 용량을 포함하는 식기 정보가 저장된 데이터베이스(170)를 포함한다.
그리고, 부피 산출 단계(S50단계)는 보정부(150)가 각 음식이 수용된 공간(510)의 크기, 깊이 및 용량을 포함하는 식기 정보를 이용하여 산출된 각 음식의 부피를 보정하는 단계가 더 포함될 수 있다.
식기(500)의 종류에 따라서 각 공간(510)의 깊이가 상이하기 때문에 보정부(150)가 식기 정보를 이용하면 음식이 쌓인 정도를 보다 정확하게 판단할 수 있게 된다. 본 실시예에 따른 컴퓨터의 데이터베이스(170)에는 식당에서 이용하는 식기(500)에 대한 데이터가 저장되어 있기 때문에, 본 실시예에 따른 음식 측정 방법을 이용하면 식기 정보를 이용하여 추출된 각 음식의 부피를 보다 정확하게 산출할 수 있다.
예컨대, 산출부(140)는 판단부(130)에 의해 식기(500) 내 특정 공간(510)에 수용된 음식의 종류가 액체인 것으로 판단되는 경우, 액체와 해당 공간(510)이 맞닿는 위치와 해당 공간(510)의 크기, 깊이 및 용량을 포함하는 식기 정보를 이용하여 액체의 부피를 산출할 수 있다.
특정 공간(510)에 '국'과 같은 액체 형태의 음식이 수용되면 필연적으로 '국'과 해당 공간(510)이 일정 높이에서 맞닿는 부분이 생기게 된다. 산출부(140)는 이를 이용하여 식기 이미지에서 액체 형태의 음식과 해당 공간(510)이 맞닿는 위치를 인식하고, 해당 공간(510)의 식기 정보(크기, 깊이, 용량)를 이용하여 음식의 부피를 산출하게 된다.
예를 들어, 도 3에 표기된 'A' 영역에 '국'과 공간(510)이 맞닿는 부분이 표시되어 있으며, 산출부(140)는 이미지 데이터 내 A영역과 같은 부분을 통해 액체와 액체가 수용된 공간(510)이 맞닿는 위치를 확인할 수 있게 된다. 그리고 산출부(140)는 식기 정보(예컨대, 용량)를 이용하여 'A' 영역의 높이까지의 부피를 산출함으로써 '국'의 부피를 산출할 수 있다.
몇몇 실시예에서, 도 5와 같이 공간 구분이 되지 않은 하나의 식기(500)에 대하여 추가 보정을 수행할 수 있다. 산출부(140)는 부피 산출 단계에서 음식 이미지 데이터에서 하나의 식기(500) 내에 구분되지 않는 공간에 복수 개의 음식이 수용된 것으로 판단되는 경우, 추출부(120)에 복수 개 음식 각각의 이미지 데이터를 요청하고, 각 음식의 부피를 산출한다.
그리고, 산출부(140)는 추출된 전체 음식 이미지 데이터를 이용하여 전체 음식의 부피를 산출하고, 부피 산출 단계에서 산출된 각 음식의 부피의 총합과 전체 음식 이미지 데이터를 통해 산출된 부피를 비교하여, 각 음식의 부피를 보정할 수 있다.
몇몇 실시예에서, 부피 산출 단계(S50단계)는 적층된 음식의 부피를 산출하는 단계(S51단계)를 더 포함할 수 있다.
보다 상세하게는, 식기(500) 내 특정 공간(510)에는 복수의 음식이 적층되어 있을 수 있다. 따라서, 산출부(140)는 식기(500) 내 특정 공간(510)에 서로 다른 음식이 적층된 것으로 인식되는 경우, 상측에 위치한 음식의 이미지 데이터와 산출된 부피 정보, 그리고 해당 공간(510)의 크기, 깊이 및 용량 정보를 이용하여 하측에 위치한 음식의 부피를 산출한다.
도 4는 식기에서 밥이 수용된 공간(510)에 밥 위에 계란 후라이가 적층된 것을 예시한 도면이다. 산출부(140)는 식기 정보와 계란 후라이의 이미지 데이터를 통해 계란 후라이의 크기와 부피를 산출한다.
그리고, 산출부(140)는 계란 후라이의 크기와 부피 정보를 통해서 해당 공간(510)에 수용된 밥의 높이를 예측할 수 있게 되며, 이와 함께 식기 정보를 이용하여 해당 공간(510)에 수용된 밥의 부피를 산출할 수 있게 된다.
구체적으로, 하측에 위치한 음식(예컨대, 밥)이 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 면적을 산출하고, 하측에 위치한 음식(예컨대, 밥) 중 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지지 않는 영역의 높이를 이용하여 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 영역의 높이를 산출함으로써, 하측에 위치한 음식(예컨대, 밥)이 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 영역의 부피를 산출할 수 있다.
이를 위해, 하측에 위치한 음식(예컨대, 밥)이 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 영역의 높이는, 하측에 위치한 음식(예컨대, 밥)이 상측에 위치한 음식(예컨대, 계란 후라이)에 의해 가려지는 않는 영역의 높이의 평균으로 설정될 수 있지만, 이에 제한되지 않는다.
몇몇 실시예에서, 컴퓨터의 데이터베이스(170)에는 다른 음식의 상측에 적층되는 음식들에 대한 데이터가 미리 저장되어 있을 수 있다 (예를 들어, 계란 후라이, 생선, 김 등). 예컨대, 음식의 상측에 주로 적층되는 음식에 대한 데이터로 부피 데이터 또는 무게 데이터가 포함될 수 있으며, 이를 통해 산출부(140)는 상측에 적층되는 음식의 부피를 빠르게 산출할 수도 있다.
한편, 부피 산출 단계(S50단계)는 보정부(150)가 식기 이미지 내에 식기와 함께 촬영된 노이즈 성분을 보정하는 단계(S52단계)를 더 포함할 수 있다. 즉, 보정부(150)가 음식이 담긴 식기 이미지 데이터 내에서 음식이 아니면서 부피를 가지는 노이즈 성분을 검출하고, 각 음식의 부피를 산출하는 단계에서 산출된 음식의 부피에서 검출된 노이즈 성분의 부피를 제외하는 보정을 수정하는 단계를 더 포함할 수 있다.
여기서, 노이즈 성분은 음식이 아니면서 부피를 가지는 것으로, 노이즈 성분의 부피로 인해 음식의 부피가 실제보다 더 크게 산출될 수 있다. 따라서 보정부(150)는 음식의 부피를 정확히 산출하기 위해 촬영된 이미지 내에서 노이즈 성분을 인식하고 산출부(140)에 의해 산출된 음식의 부피에서 해당 노이즈 성분의 부피를 제외시키는 보정을 수행할 수 있다.
예를 들어, 손이나 식기류(예컨대, 수저, 포크, 나이프 등)가 음식이 아니면서 부피를 가지는 노이즈 성분일 수 있으며, 이 밖에 유제품의 뚜껑 등이 이에 해당할 수 있지만, 이에 제한되지 않는다. 예컨대, 컴퓨터의 데이터베이스(170)에는 노이즈 성분에 해당하는 대상에 대한 노이즈 정보가 미리 저장되어 있을 수 있으며, 보정부(150)는 촬영된 이미지 내에서 노이즈 성분을 인식하여 산출부(140)에 의해 산출된 음식의 부피에서 해당 노이즈 성분의 부피를 제외시키는 보정을 수행할 수 있다.
일례로, 노이즈 성분을 보정하는 단계에서 보정부(150)는 사용자의 손에 대한 이미지를 식기 이미지에서 인식하고 산출부(140)에 의해 산출된 음식의 부피값에서 손에 대한 부피값을 제외시키는 보정을 수행할 수 있다. 구체적으로, 사용자가 식기(500)를 들고 있는 상태에서 음식 측정 장치(200)에 의해 식기(500)가 촬영될 수도 있는데, 식기(500)를 들고 있는 손의 이미지 데이터 때문에 음식의 부피 산출에 오류가 발생할 수도 있기 때문에 보정부(150)가 음식이 담긴 식기 이미지 데이터를 통해 산출된 음식의 부피값에서 손과 같은 신체부위에 대한 부피값을 제외시키는 보정을 실시함으로써, 음식의 부피 산출 단계(S50)에서 정확도를 상승시킬 수 있다.
일 실시예로, 보정부(150)는 빈 식기(500)과 수저에 대한 이미지 데이터에 대하여 미리 학습되어 식기 이미지 내에 수저가 포함되어 있는 경우 이를 인식하고 수저의 부피값을 제외하는 보정을 수행할 수 있다.
보다 상세하게는, 보정부(150)는 음식이 담긴 식기 이미지 데이터 내 사용자의 손 또는 식기류의 존재 여부를 검출한다. 그리고, 식기 이미지 내에 사용자의 손 또는 식기류가 포함되어 있는 경우 음식이 담긴 식기 이미지 데이터를 통해 산출된 음식의 부피값에서 사용자의 손 또는 식기류의 부피값을 제외시킨다.
상술한 보정부(150)의 구성과 동작들로 인하여, 본 발명의 실시예에 따른 음식 측정 방법은, 차후 단계들이 수행될 때 정확도를 상승시킬 수 있는 효과를 발휘하게 된다.
이어서, 도 1을 참조하면, 산출부(140)가 S50단계에서 산출된 각 음식의 부피 정보와 음식 정보를 이용하여 각 음식의 무게를 포함하는 식사 정보를 산출한다(S60단계).
컴퓨터의 데이터베이스(170)는 음식별 부피당 무게, 각 음식별 무게당 칼로리 정보, 각 음식별 무게당 영양성분 정보를 포함하는 음식 정보가 저장되어 있다.
음식들은 종류에 따라서 부피당 무게가 다르며, 열량(칼로리)도 서로 상이하다. 따라서, 본 발명의 실시예에서는 음식별 부피당 무게를 포함하는 음식 정보가 데이터베이스(170)에 저장되어 있고, 산출부(140)가 이를 이용하여 음식의 부피 정보로부터 음식의 무게를 산출하게 된다.
이를 이용하여, 산출부(140)는 무게 산출 단계(S60단계) 다음에, 각 음식의 산출된 무게 정보를 이용하여 사용자의 배식식기에 수용된 음식의 칼로리를 계산할 수 있으며, 이외에 사용자가 섭취한 영양 성분 정보를 산출할 수 있으며, 음식 또는 음식에 포함된 영양 성분에 기초하여 알러지 주의 사항과 같이 추가적인 특이 정보를 산출할 수 있다.
이 밖에, 산출부(140)는 음식의 종류와, 각 음식의 부피 또는 무게를 이용하여 해당 음식에 대한 가격 정보를 산출할 수 있다.
산출부(140)는 전술한 식사 정보에 포함하는 정보를 음식 측정 장치(200)의 디스플레이부(210) 또는 사용자 단말(300)의 디스플레이부(310)에 제공할 수 있다. 디스플레이부(210, 310)에 제공되는 화면의 UI는 후술한다.
예컨대, 산출부(140)는 배식구의 디스플레이부(210/310)에 표시되는 정보와 퇴식구의 디스플레이부(210/310)에서 표시되는 정보를 상이하게 할 수 있다. 예컨대, 배식구의 디스플레이부(210/310)에는 음식 종류에 대한 정보, 칼로리에 대한 정보, 영양 성분 정보, 알러지 정보 및 가격 정보 등이 표시될 수 있고, 퇴식구의 디스플레이부(210/310)에는 위의 정보에 더하여 실제 섭취된 양에 대한 정보가 추가로 표시될 수 있다. 다만, 산출부(140)에 의해 산출되는 식사 정보는 이에 제한되지 않고, 촬영된 정보 또는 데이터베이스(170)에 저장된 정보를 활용하여 다양한 정보가 제한없이 표시될 수 있다.
이에 따라, 식사 주체는 제공되는 가격 정보에 따라 현금, 카드, 계좌이체, QR코드 태깅, RFID 태깅, 안면인식 등의 방식으로 음식 측정 장치(200)의 결제부(240) 또는 사용자 단말(300)을 통해 결제를 진행할 수 있다.
일 실시예로, 식당에는 식기(500)의 무게를 측정할 수 있는 무게측정장치(미도시)가 마련되어 있을 수 있지만, 이에 제한되지 않으며, 수신부(110)가 식당에 마련된 무게측정장치(미도시)로부터 측정된 매식식기(500)의 무게정보를 수신하는 단계와, 보정부(150)가 S560단계에서 산출된 각 음식들의 무게와 빈식기의 무게의 총합과, 상기 수신된 무게정보를 매칭하여 각 음식의 무게를 보정하는 단계를 더 포함할 수 있다.
상술한 보정 단계는 선택적으로 채용되어 사용될 수 있으며, 무게를 측정하는 과정에서 사용자의 손이나 각종 요인들에 의해서 무게가 실제와 상이하게 측정될 수 있으므로, 무게정보가 임계치를 초과할 정도로 상이하게 측정되는 경우 보정 단계가 수행되지 않을 수도 있다.
이하, 도 7 및 도 8을 참조하여, 음식 측정 장치(200)로서 사용자 단말(300)을 이용하는 다른 실시예에 따른 음식 측정 방법을 설명한다. 다만, 본 발명의 일 실시예에 따른 음식 측정 방법과의 차이점을 위주로 설명하며, 동일한 내용에 대하여는 설명을 생략한다. 도 7은 본 발명의 다른 실시예에 따른 음식 측정 방법의 흐름도이고, 도 8은 백그라운드 타겟을 설명하기 위한 테이블의 사시도이다.
본 발명의 다른 실시예에 따른 음식 측정 방법은 컴퓨터에 의해 수행되며, 여기서 컴퓨터는 음식 측정 서버(100) 또는 사용자 단말(300)를 의미한다. 즉, 촬영은 사용자 단말(300)에 의해 수행되지만 다른 단계는 음식 측정 서버(100) 또는 사용자 단말(300)에 의해 수행될 수 있다.
여기서, 사용자 단말(300)은 이동 가능한 휴대용 단말로서, 음식 측정 방법 관련 서비스 애플리케이션이 설치된다. 사용자 단말(300)는 이미지 데이터와 깊이 데이터를 획득할 수 있다. 이를 위해, 사용자 단말(300)은 RGB 카메라, 2D 카메라, 3D 카메라, ToF(Time of Flight) 카메라, 라이트 필드 카메라(light field camera), 스테레오 카메라, 이벤트 카메라, 적외선 카메라 중 적어도 하나를 포함할 수 있다.
예컨대, 사용자 단말(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)와 관련된 음식 측정 어플리케이션의 설치 및 실행이 가능한 모든 사용자 장치를 포함할 수 있다.
우선, 도 7을 참조하면, 수신부(110)가 사용자 단말(300)의 촬영부(350)를 통해 촬영된 식기 이미지를 수신한다 (S20단계)
여기서, 사용자 단말(300)에 설치된 서비스 애플리케이션의 촬영 요청에 따라서 음식이 촬영될 수 있으며, 음식 촬영 방법, 각도 등에 대한 가이드가 서비스 애플리케이션을 사용자에게 영상이나 소리로 제공될 수 있다.
일 실시예로, 서비스 애플리케이션은 음식을 서로 다른 각도에서 두 번 이상 촬영하도록 요청할 수 있다. 3D 카메라나 ToF 카메라를 이용하지 않는 경우, 음식을 서로 다른 각도에서 두 번 이상 촬영한다면, 두 장 이상의 음식이 담긴 식기 이미지 데이터를 비교하여 깊이 데이터를 획득할 수 있다. 또한, 깊이 데이터 획득이 목적이 아니라고 하더라도, 2회 이상 촬영되는 경우 차후 산출, 보정 단계에서 그 정확도가 상승하는 효과가 있다.
이어서, 도 7을 참조하면, 보정부(150)가 식기 이미지 보정을 수행할 수 있다(S25단계).
일 실시예로, 식기 이미지 수신 단계(S10단계)는 사용자 단말(300)의 촬영부(350)를 통해 음식이 촬영될 때, 사용자 단말(300)의 자이로센서(미도시)를 통해 측정된 사용자 단말(300)의 기울기 정보가 수신될 수 있다. 보정부(150)는 사용자 단말(300)의 기울기 정보를 이용하여 촬영된 음식이 담긴 식기 이미지 데이터의 기울기를 보정할 수 있다.
본 발명의 실시예에 따르면, 사용자가 사용자 단말(300)을 파지하여 촬영부(350)를 통해 음식을 촬영하는 과정에서, 소정 각도 기울어짐이 발생할 수 있기 때문에, 상술한 단계들을 수행하여 음식이 담긴 식기 이미지 데이터를 수평상태로 보정할 수 있다.
이어서, 도 7을 참조하면, 추출부(120)가 음식이 담긴 식기 이미지 데이터에서 식기(500)의 공간(510)에 수용된 음식 이미지 데이터를 추출한다(S30단계).
사용자 단말(300)을 통해 촬영한 식기 이미지에는 음식만 포함되어 있는 것이 아니기 때문에, 정확한 부피 산출을 위해서 본 단계에서 이미지 상에서 음식 이미지 데이터만을 추출해낸다.
추출부(120)는 배경으로부터 음식을 인식하여 추출하는 기능을 이용하여 정확하게 배경으로부터 음식을 추출하게 되며, 둘 이상의 음식이 포함되어 있는 경우 둘 이상의 음식들의 이미지 데이터를 각각 분리하여 추출하고, 이러한 과정에서 인공지능 알고리즘을 이용하여 학습된 모델이 이용될 수 있다.
이어서, 도 7을 참조하면, 판단부(130)가 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단한다(S40단계).
판단부(130)는 인공지능 알고리즘을 이용하여 학습된 모델을 이용하여 추출부(120)가 추출한 각 음식 이미지 데이터의 음식 종류를 판단한다. 몇몇 실시예에서 판단부(130)는 정확도가 유사한 복수의 판단 결과가 나오는 경우 사용자 단말(300)에 복수의 판단 결과를 출력하고 사용자 단말(300)의 서비스 애플리케이션을 통해 사용자로부터 맞는 결과를 입력 또는 선택하도록 할 수 있다.
이어서, 도 7을 참조하면, 산출부(140)가 추출된 음식 이미지 데이터의 픽셀별 높이 정보(즉, 3차원 거리 데이터)를 이용하여 각 음식의 부피를 산출한다(S50단계).
부피 산출 단계(S50단계)는 부피 보정 단계(S53)를 포함할 수 있다. 일 실시예로, 부피 보정 단계(S53단계)에서 부피 보정을 위해 백그라운드 타겟이 이용될 수 있다.
부피 보정 단계(S53단계)에서 판단부(130)가 수신된 식기 이미지 내 포함된 백그라운드 타겟을 인식하고, 보정부(150)가 인식된 백그라운드 타겟의 크기 정보, 위치 정보를 기초로 하여 S50단계에서 산출된 각 음식의 부피를 보정할 수 있다.
도 8을 참조하면, 보정부(150)는 백그라운드 타겟과 각 음식의 높이 정보를 비교하여 각 음식의 부피 보정을 수행할 수도 있고, 백그라운드 타겟과 각 음식의 크기 정보를 비교하여 각 음식의 부피 보정을 수행할 수도 있다.
여기서, 백그라운드 타겟은 촬영부(350)를 통해 음식과 같이 촬영되거나 별도로 촬영된 것으로, 음식이 수용된 식기(500), 테이블(540), 수저, 사용자의 손가락 등이 이용될 수 있다. 다만, 이에 제한되지 않으며, 백그라운드 타겟은 통상적인 크기를 가진 대상이라면 무엇이든 적용 가능하다. 예를 들어, 백그라운드 타겟은 동전, 지폐, 스마트폰(제품 종류별) 등과 같이 그 크기가 정해져 있는 대상은 무엇이든 적용될 수 있다.
몇몇 실시예에서, 백그라운드 타겟은 사용자 단말(300)의 촬영부(350)를 통해 별도로 촬영되어 크기 정보가 데이터베이스(170)에 미리 저장되어 있을 수 있다. 이에 따라, 보정부(150)는 백그라운드 타겟의 크기 또는 높이에 기초하여 추출된 음식 이미지 데이터에서 음식의 부피를 높은 정확도로 예측할 수 있다.
첫번째 예시로, 서비스 애플리케이션이 사용자에게 촬영부(350)를 통해 사용자의 손을 일정거리에서 촬영하도록 할 수 있다. 또는, 서비스 애플리케이션은 사용자의 손/손가락의 실제 크기를 실측하여 입력하게 할 수도 있다.
그리고, 수신부(110)는 사용자의 손이 촬영된 이미지를 분석하여 사용자 손의 실제 크기에 대한 정보를 데이터베이스(170)에 저장한다.
이후에 판단부(130)는 수신된 식기 이미지 내에 사용자의 손이 포함되어 있는 것이 인식되면 사용자의 손을 백그라운드 타겟으로 설정하고, 보정부(150)가 백그라운드 타겟의 위치정보와 크기정보를 기초로 하여 산출부(140)에서 산출한 각 음식의 부피를 보정할 수 있다.
두번째 예시로, 서비스 애플리케이션이 사용자에게 촬영부(350)를 통해 집에서 사용하는 식기(500), 테이블(540), 수저 등을 일정거리에서 촬영하도록 할 수 있다. 이때, 테이블(540)은 사용자가 식기(500)를 배치하고 식사를 하는 식탁 또는 밥상 등을 의미할 수 있다.
*구체적으로, 컴퓨터는 사용자 단말(300)의 촬영부(350)를 통해 촬영된 사용자가 집에서 사용하는 식기(500)에 대한 이미지를 분석하여, 해당 식기(500)에 대한 크기, 깊이 및 용량 정보를 포함하는 식기(500) 정보를 데이터베이스(170)에 저장할 수 있다.
보다 상세하게는, 본 발명의 실시예에 따른 사용자 단말(300)의 촬영부(350)를 통해 촬영된 영상에는 픽셀별 높이 정보가 저장되어 있기 때문에, 산출부(140)는 빈 식기(500)에 대한 이미지 데이터를 수신하게 되면 식기의 이미지 데이터의 픽셀별 높이 정보를 이용하여 식기에 대한 크기, 깊이 및 용량 정보 산출할 수 있게 되며, 이를 시기 정보로 데이터베이스(170)에 저장하는 것을 의미한다.
그리고, 산출부(140)는 음식 이미지의 분석 결과, 음식 중에 상기 식기(500)에 수용된 음식이 존재할 경우, 해당 음식이 수용된 식기(500)의 크기, 깊이 및 용량 정보를 이용하여 산출된 각 음식의 부피 보정을 수행한다.
위와 같이 해당 식기(500)들의 크기, 깊이 및 용량 정보를 알고 있다면, 보정 단계를 수행하여 보다 정확한 결과를 얻을 수 있게 된다.
몇몇 실시예에서, 서비스 애플리케이션은 사용자에게 식기(500), 테이블(540), 수저 등의 실제 크기를 실측하여 사용자 단말(300)에 입력하도록 요청할 수 있다(예: 테이블(540)의 가로, 세로 혹은 둘레 길이 정보)
세번째 예시로, 음식과 관련되지 않은 백그라운드 타겟을 이용하는 경우를 설명한다. 예컨대, 사용자는 500원 동전을 음식 이미지와 함께 촬영하고, 서비스 애플리케이션을 통해 백그라운드 타겟으로 500원 동전을 함께 촬영하였음을 입력할 수 있다.
따라서, 판단부(130)는 수신된 음식이 포함된 식기 이미지 내 포함된 500원 동전(백그라운드 타겟)을 인식하고, 보정부(150)가 500원 동전(백그라운드 타겟)의 크기 정보를 기초로 하여 산출된 각 음식의 부피를 보정하게 된다.
이와 같이, 일반적으로 대부분의 사람들이 사용하여 그 크기가 정해져 있는 대상들은 백그라운드 타겟으로 적용 가능하기 때문에 사용자는 손쉽게 주변 대상을 음식과 함께 촬영하여 보정부가 각 음식의 부피를 보정하도록 할 수 있다.
또한, 위치 정보(음식점, 급식소 등), 날씨 정보(자외선, 음식종류 축소), 사용자의 상태정보(다이어트 중, 운동 중, 투병 중, 투약 중 등), 개인 선호정보, 주변 디바이스 정보를 다양하게 활용하여 부피를 보정함으로써 정확도를 상승시킬 수 있다.
네번째 예시로, 컴퓨터는 복수의 사용자의 사용자 단말(300)를 통해 촬영된 이미지 데이터와 해당 이미지 데이터를 통해 산출된 정보, 해당 이미지가 촬영된 장소와 매칭되는 식당에 대한 정보를 저장하여 빅데이터를 구축할 수 있다.
예를 들어, A 사용자가 B 식당에서 C 메뉴를 주문하고, 사용자 단말(300)를 통해 C 메뉴를 촬영하게 되면 C 메뉴에 포함된 음식 종류를 판단하고, 각 음식의 부피를 산출하게 되며, 컴퓨터는 이러한 정보들을 저장하여 데이터베이스(170)에 저장되어 빅데이터로 활용된다.
그리고, 특정 사용자의 사용자 단말(300)을 통해 음식 이미지 데이터가 수신되고 음식 이미지가 촬영된 위치 정보와 판단된 음식의 종류를 컴퓨터 내 데이터베이스(170)의 데이터와 매칭하여 매칭되는 내역의 이전 산출 결과를 검출할 수 있으며, 이를 이용하여 산출된 각 음식의 부피 정보를 보정할 수 있다.
예를 들어, D 사용자가 B 식당과 매칭되는 위치에서 음식을 촬영하여 음식 이미지 데이터를 전송하였을 경우, 빅데이터에 위치정보를 매칭하여 D 사용자가 B 식당에 위치한 것이라고 판단하고 주문한 메뉴와 매칭되는 이전 결과 데이터를 조회하여 산출 부피 정보에 대한 보정이 수행될 수 있다.
이와 관련하여, 반대의 경우에도 적용이 가능하다. 보다 상세하게는, 음식에 대한 데이터가 먼저 저장되고, 사용자가 식당에서 계산을 할 때 어떠한 음식을 주문하여 먹었는지 알게 되면 역으로 저장된 데이터를 불러와서 부피, 영양 정보를 기록할 수 있게 된다.
정리하면, 서비스 애플리케이션은 사용자 단말(300)에 의한 촬영 시, 사용자에게 영상 또는 소리로 백그라운드 타겟을 음식 촬영 전에 촬영하도록 요구하거나, 음식과 함께 촬영하도록 요구할 수 있다. 그리고, 판단부(130)는 수신된 백그라운드 타겟을 인식하고, 보정부(150)가 백그라운드 타겟의 위치정보와 크기정보를 기초로 하여 산출부(140)에서 산출한 각 음식의 부피를 보정할 수 있다.
이어서, 도 7을 참조하면, 산출부(140)가 S50단계에서 산출된 각 음식의 부피 정보와 음식 정보를 이용하여 각 음식의 무게를 포함하는 식사 정보를 산출한다(S60단계).
전술한 본 발명의 실시예에 따른 음식 측정 방법을 이용하여 컴퓨터가 식당 또는 가정에서 식사하는 각 식사 주체의 배식량(식전 음식량을 의미함), 잔반량을 측정하고 이를 이용하여 식사량을 산출할 수 있다.
그리고, 컴퓨터가 식당 또는 가정에서 식사하는 식사 주체들의 배식량, 잔반량, 식사량을 이용하여 식당의 운영정보, 식사 주체들의 관리정보를 생성할 수 있으며, 식사 주체의 관리정보로서 예컨대 사용자의 영양상태, 식습관, 편식여부 등이 포함될 수 있다.
이하, 도 9를 참조하여, 본 발명의 일 실시예에 따른 식당 운영정보 및 식사주체의 관리정보 제공 방법을 설명한다. 도 9는 본 발명의 일 실시예에 따른 식당 운영정보 및 식사주체의 관리정보 제공 방법의 순서도이다.
우선, 도 9을 참조하면, 수신부(110)가 배식구에 마련된 배식구 촬영부(250) 또는 사용자 단말(300)의 촬영부(350)를 통해 촬영된 식전식기 데이터(식전식기 이미지 데이터)를 획득하고, 산출부(140)가 이를 이용하여 식사 주체의 배식량을 산출한다(S110단계). 자세한 설명은 도 1 내지 도 8을 통해 설명한 바와 같으며, 식사 주체에 대한 식별 단계(S120단계)가 같이 수행될 수 있다. 여기서, 식전식기는 식사 전 식사 주체의 식기(500)에 음식이 담긴 상태의 식기(500)를 의미한다.
*이어서, 도 9을 참조하면, 퇴식구에 마련된 퇴식구 촬영부(250) 또는 사용자 단말(300)의 촬영부(350)를 통해 촬영된 식후식기 데이터(식후식기 이미지 데이터)를 획득하고, 산출부(140)가 이를 이용하여 식사 주체의 잔반량을 산출한다(S120단계). 자세한 설명은 도 1 내지 도 8을 통해 설명한 바와 같으며, 식사 주체에 대한 식별 단계(S120단계)가 같이 수행될 수 있다. 여기서, 식후식기는 식사 후 식사 주체의 식기(500)를 의미한다.
이어서, 도 9을 참조하면, 산출부(140)는 산출된 배식량과 잔반량을 이용하여 해당 식사 주체의 식사량을 산출한다(S130단계).
S110 내지 S120단계를 통해서, 컴퓨터는 식사 주체가 식당에서 제공하는 각 음식 메뉴을 배식받은 양과 먹고 남긴 잔반량, 그리고 섭취한 양(식사량)을 산출함으로써, 식사 주체가 밥, 반찬을 얼마나 섭취하였는지, 얼마만큼의 양을 남겼는지 등에 대한 정보를 확보할 수 있게 된다.
또한, 본 발명의 실시예에 따른 컴퓨터는 음식량 산출의 정확도를 향상시키기 위해서 아래 동작들을 수행할 수 있다.
일 실시예로, 산출부(140)는 상기 단계들을 통해 산출된 식사 주체의 식사량과 잔반량의 합이 배식량과 일치하는지 검증을 수행하고, 검증 결과에 따라 불일치하는 경우 산출부(140)는 식사량 또는 잔반량의 합이 배식량과 일치하도록 상기 단계들을 통해 산출된 식사량, 잔반량 및 배식량 중 적어도 하나를 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170) 기록한다.
또한, 산출부(140)는 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합과 잔반량의 총합을 합한 것이 배식량의 총합과 일치하는지 검증을 수행하고, 검증 결과에 따라 불일치하는 경우 산출부(140)는 식사량의 총합과 잔반량의 총합을 합한 것이 배식량의 총합과 일치하도록 상기 단계들을 통해 산출된 식사량의 총합, 잔반량의 총합 및 배식량의 총합 중 적어도 하나를 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록한다.
또한, 산출부(140)는 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합과 잔반량의 총합이 배식량의 총합과 일치하는지 검증을 수행하고 데이터베이스(170)에 기록한다. 보다 상세하게는, 산출부(140)는 식당에서 식사하는 식사 주체들의 배식량의 총합과 잔반량의 총합의 차이값이 식사량의 총합과 일치하는지 여부를 검증한다.
또한, 산출부(140)는 식당에 준비된 음식량의 총합을 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 비교하여 검증을 수행하고, 검증 결과에 따라 차이가 발생하는 경우 산출부(140)는 식당에 준비된 음식량의 총합이 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 일치하도록 잔반량의 총량, 잔식량의 총량 및 식사량의 총합 중 적어도 하나를 보정할 수 있으며, 예컨대 식사량을 보정할 수 있고, 이에 따른 결과를 데이터베이스(170)에 기록할 수 있다.
여기서, 잔반량은 식사 주체에게 배식되어 식사 주체가 먹고 남은 음식의 양이고, 잔식량은 식사 주체에게 배식되지 않고 남은 음식의 양일 수 있고, 잔식량은 상기 단계들을 통해 산출되거나 별도의 방법을 통해 산출될 수 있다.
또한, 데이터베이스(170)에는 식당에서 매회 배식을 위해 준비한 음식량의 총 무게, 잔식량의 총 부피(무게) 및 잔반량의 총 무게 측정 결과가 저장될 수 있으며, 산출부(140)는 준비한 음식량의 총 부피(무게)를 잔반량의 총 부피(무게), 잔식량의 총 부피(무게) 및 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합을 합한 것과 비교하여 검증을 수행하고, 검증 결과에 따라 차이가 발생하는 경우 산출부(140)는 식당에 준비된 음식량의 총합이 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 일치하도록 상기 단계들을 통해 산출된 식사 주체들의 식사량의 총합을 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록할 수 있다.
이와 같이, 산출부(140)가 각종 정보들을 이용하여 검증을 수행하고, 산출/보정으로 인한 정확도를 기록함으로써 문제점을 파악하고 개선해 나갈 수 있게 된다.
예를 들어, 데이터베이스(170)에는 식당에서 매회 배식을 위해 준비한 음식량의 총 부피(무게)와 잔반량의 총 부피(무게) 측정 결과가 저장될 수 있으며, 산출부(140)는 준비한 음식량의 총 부피(무게)와 잔반량의 총 부피(무게)의 차이값과 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합을 비교하여 검증을 수행하고 데이터베이스(170)에 기록할 수 있다. (예를 들어, 식당에서 준비한 A 메뉴의 총 부피가 200이고 남은 양이 없이 모두 배식되었다면, 식사 주체들에게 배식된 A 메뉴의 부피의 총 합은 200에 근사해야 함)
한편, 정확한 식사량 산출을 위해서는 식전과 식후에 촬영이 되어야 하는데, 사용자가 실수로 식후에 촬영을 하지 않는 경우가 발생할 수 있다.
따라서, 산출부(140)는 식전에 음식이 담긴 식기 이미지 데이터를 수신한 후 미리 설정된 시간이 초과된 상황에서, 식후 식기 이미지 데이터가 촬영 및 수신되지 않을 경우 식후 식기 이미지 데이터의 촬영이 이루어지지 않은 것으로 판단하고, 사용자의 예상 삭사량을 산출한다.
예컨대, 산출부(140)는 사용자가 잔반을 남기지 않은 것으로 보고 사용자의 예상 식사량을 산출할 수도 있으며, 데이터베이스(170)에 저장된 사용자의 평균 식사량, 상태정보(다이어트, 증량 중, 운동 중 등), 배고픔의 정도, 식전 음식 이미지에 포함된 메뉴들에 대한 사용자의 선호도, 메뉴들의 맛 정보 등을 통해 사용자의 예상 식사량을 산출하여 데이터베이스(170)에 저장할 수도 있다.
이어서, 도 9을 참조하면, 컴퓨터의 관리부(180)가 식당에 등록된 식사 주체들의 배식량, 잔반량 및 식사량을 기반으로 식당의 운영정보를 생성한다(S140단계).
이어서, 도 9을 참조하면 컴퓨터의 관리부(180)가 식당에 등록된 식사 주체들의 배식량, 잔반량 및 식사량을 기반으로 각 식사 주체들의 관리정보를 생성한다 (S150단계).
S140단계는 식당 운영에 도움을 주는 운영정보를 생성하는 것을 의미한다.
보다 상세하게는 관리부(180)의 배식량 조절모듈(181)은 식당에 배식을 위해 마련한 총 배식 준비량과 배식이 완료된 식사 주체들의 배식량의 총합, 그리고 잔여 식사 주체 인원수에 대한 정보를 이용하여 잔여 식사 주체의 1인당 목표 배식량을 산출하여 식당 관리식당 관리자 장치(미도시)로 제공한다.
이때, 식당 관리자는 식당 내에서 식단을 설계하고 식사 주체들에게 직접 배식을 수행하고 있는 담당자를 의미하며, 식당의 식당 관리자 앞에는 배식할 요리들과 함께 디스플레이 장치(30)와 같은 식당 관리자 디바이스가 설치되어 있을 수 있다.
따라서, 식당 관리자는 배식량 조절모듈(181)이 식당 관리자 디스플레이로 잔여 식사 주체의 1인당 목표 배식량에 대한 정보를 제공하면, 이를 이용하여 잔여 식사 주체들에 대한 배식량을 조절할 수 있게 된다.
본 발명의 실시예에서 식당 관리자는 위와 같이 식당 내에서 식사 주체들에게 직접 배식을 수행하는 담당자를 의미할 수도 있고, 식당을 관리하는 관리자, 혹은 식당의 영양사를 의미할 수도 있다.
이와 같은 구성을 통해, 잔여 식사 주체 수에 비해서 배식 준비량이 많이 남아있다면, 잔여 식사 주체들에 대한 1인당 목표 배식량을 상승시키고, 음식물 쓰레기를 줄이는 효과를 얻을 수 있다.
또한, 잔여 식사 주체 수에 비하여 배식 준비량이 부족하다면, 잔여 식사 주체들에 대한 1인당 목표 배식량을 감소시켜, 음식이 부족하여 식사를 못하는 인원(식사 주체)이 발생하는 것을 방지하는 효과를 얻을 수 있다.
일 실시예로, 운영정보 생성 단계(S140단계)는 배식그룹 관리모듈(183)이 각 배식인원들의 소속을 체킹하고 소속별로 배식량, 잔반량 및 식사량을 저장하고, 이를 이용하여 각 소속별 선호음식, 비선호음식, 잔반량, 영양상태 중 적어도 하나를 포함하는 소속별 정보를 생성하는 단계와, 날씨, 요일과 각 소속별 일정 정보와 상기 소속별 정보를 매칭하여 그에 대한 연관성 정보를 추출하는 단계를 포함할 수 있다.
이때, 배식인원들의 소속이란 회사의 경우 회사, 그룹, 팀 등을 의미할 수 있고, 학교의 경우 학과, 반 등을 의미할 수 있으며, 군대의 경우 군단, 사단, 연대, 대대, 중대, 소대, 분대를 의미할 수 있다.
그리고, 소속별 일정 정보는 회사의 경우 분기, 진행중인 프로젝트, 사업을 의미할 수 있고, 학교의 경우 학기, 시험기간 등을 의미할 수 있으며, 군대의 경우 각종 훈련기간 등을 의미할 수 있다.
따라서, 본 발명의 실시예에 따르면 식사 주체들의 소속에 따라서 선호하는 음식과 비선호하는 음식에 대한 정보를 이용하여 소속별 음식 취향을 파악할 수 있고, 차후 배식 메뉴에 대한 정확한 가이드를 마련할 수 있게 된다.
또한, 관리자는 소속별로 잔반량과 영양상태에 대해서 파악할 수 있게 된다.
그리고, 날씨, 요일과 각 소속별 일정 정보를 소속별 정보와 매칭하여 연관성 정보를 추출함으로써, 관리자는 날씨, 요일에 따라서 식사 주체들의 식욕이나 음식 취향 변화를 체크할 수 있게 되고, 군대의 경우 각종 훈련 일정에 따라서 군인들의 식사량 등이 어떻게 변화하는지 파악할 수 있게 된다.
관리자는 이와 같은 정보들을 이용하여 군 소속과 훈련 일정에 따라서 배식메뉴와 배식량을 적절히 조절하여, 훈련 일정을 소화하는 군인들에게 적합한 배식을 제공할 수 있게 된다.
일 실시예로, 운영정보 생성 단계(S140단계)는 식당별로 배식량이 유사한데 반해 잔반량의 차이가 일정량 이상 차이가 발생할 경우, 관리부가 잔반량이 적은 식당이 식재료의 등급과 조리 방법이 우수한 것으로 판단하고, 해당 식당의 식재료 수급정보와 음식의 조리 방법을 다른 식당의 식당 관리자 디바이스로 제공할 수 있다.
예를 들어, 2곳 혹은 그 이상의 식당들에서 음식 메뉴와 배식량이 유사한데 반해, 잔반량에서 큰 차이가 발생하였다면 잔반량이 적은 식당은 식재료의 등급이 높고 조리 방법이 우수하고, 잔반량이 많은 식당은 식재료의 등급이 낮고 조리 방법이 떨어지는 것을 의미할 수 있다.
따라서, 관리부가 잔반량이 적게 발생한 식당의 식재료 수급정보와 음식의 조리 방법을 다른 식당의 식당 관리자 디바이스로 제공함으로써, 식당의 질을 향상시키는 효과를 발휘하게 된다.
일 실시예로, 관리정보 생성 단계(S150단계)는 식사 주체 관리모듈(185)이 각 식사 주체의 신체정보, 배식량, 잔반량 및 식사량을 이용하여, 각 식사 주체의 선호음식, 비선호음식, 평균 잔반량, 영양상태, 평균 식사량 중 적어도 하나를 포함하는 대상별 정보를 생성하는 단계를 포함한다.
또한, 식사 주체 관리모듈(185)이 상기 대상별 정보를 이용하여 각 식사 주체의 체력관리 정보, 비만위험도를 산출하고, 다이어트 상태로 설정되지 않은 식사 주체의 식사량이 일정시간동안 일정량 이하로 감소되거나, 잔반량이 일정시간동안 일정량 이상으로 증가되는 경우 해당 식사 주체를 주의대상으로 설정하는 단계를 포함한다.
예를 들어, 대부분의 군인들은 규칙적인 생활과 일정을 소화하기 때문에 꾸준하게 영양상태를 공급받아야 하고, 개인적인 문제가 있지 않다면 대부분의 경우 일정 식사량을 유지하게 된다. 하지만, 개인적인 문제가 발생하여 의욕이 떨어지고 컨디션이 좋지 않은 경우 식사량에서 이것이 나타날 수 있기 때문에 이를 이용하여 개개인의 문제를 조기에 발견할 수 있도록 한다.
따라서, 식사 주체 관리모듈(185)은 다이어트 상태로 설정되지 않은 식사 주체의 식사량이 일정시간동안 일정량 이하로 감소되는 경우, 해당 식사 주체에게 문제가 발생하여 식욕이 저하된 것으로 판단하고, 해당 식사 주체를 주의대상으로 설정한다.
또한, 식사 주체 관리모듈(185)은 다이어트 상태로 설정되지 않은 식사 주체의 잔반량이 일정시간동안 일정량 이상으로 증가되는 경우, 해당 식사 주체가 배식을 하는 음식량은 종전과 비슷한 수준이지만 입맛이 떨어져서 식사량이 줄어 잔반량이 늘어나는 것으로 판단하고, 해당 식사 주체를 주의대상으로 설정한다.
이와 같이 식사 주체 관리모듈(185)이 식사 주체 개개인을 관리하고, 문제가 발생하였다고 의심되는 식사 주체를 주의대상으로 설정함으로써, 군대와 같은 장소에서 관심병사와 같은 인원들에게 사고가 발생하기 전에 위험징후를 조기에 발견하여 관리자가 상담을 하는 등의 대책을 마련할 수 있게 되는 효과가 있다.
이외에도, 식사 주체 관리모듈(185)은 식사 주체들 각각의 영양상태와 평균 식사량 등의 정보를 포함하는 대상별 정보를 생성하기 때문에, 관리자는 이와 같은 정보를 이용하여 소속별 특징과 상태는 물론 개개인의 특징과 상태를 확인할 수 있게 된다.
일 실시예로, 운영정보 생성 단계(S140단계)는 식사 주체들의 평균 선호음식, 비선호음식, 식사량을 산출하고, 배식메뉴 추천모듈(187)이 이를 이용하여 식당의 하나 이상의 추천메뉴와 배식 준비량을 도출하여 식당 관리자 디바이스로 제공하는 단계를 포함한다.
하루에도 최소 1, 2회 이상씩 배식이 진행되는 식당에서 날마다 식사 주체들의 취향과 영양상태를 고려하여 배식메뉴를 정하는 것은 식당 관리자에게 아주 까다로운 업무이다.
심지어는 영양상태를 고려하면 식사 주체들의 취향(선호음식)과 맞지 않아 많은 잔반(음식물 쓰레기)이 발생하고, 식사 주체들의 취향에 맞추다 보면 영양상태를 맞추는 것이 힘들어진다는 문제점이 있다.
따라서, 배식메뉴 추천모듈(187)은 식사 주체들의 평균 선호음식, 비선호음식, 음식메뉴별 식사량을 산출하고 이를 이용하여 추천메뉴와 함께 배식 준비량을 도출하여 제공함으로써, 식당 관리자, 관리자가 식당을 관리하는데 도움이 되도록 하는 효과가 있다.
또한, 이러한 알고리즘을 구현하기 위해서, 컴퓨터의 데이터베이스(170)에는 음식별 관련도가 저장되어 있다. 예를 들어, A, B, C의 음식이 관련도가 높고 해당 식당의 식사 주체들이 B 음식을 선호할 경우 A와 C 음식 또한 선호할 가능성이 높다고 판단할 수 있다.
이때, 배식메뉴 추천모듈(187)은 아래에서 설명할 음식 메뉴의 선호도 정보, 맛 평가점수를 이용하여 추천메뉴를 도출할 수 있다.
일 실시예로, 관리부(180)의 배식메뉴 평가모듈(189)은 배식량, 잔반량 및 식사량을 기반으로 운영정보 및 관리정보를 생성하되, 배식된 음식들 각각의 배식량 변화량과 잔반량 변화량을 이용하여 각 음식 메뉴의 선호도 및 배식된 음식 자체의 맛 평가점수를 평가하는 것을 특징으로 한다.
컴퓨터의 데이터베이스(170)에는 식당에서 배식하는 음식의 배식량에 대한 기준치가 저장되어 있다. 식사 주체는 배식을 받으면서 음식의 외형이나 냄새 등을 통해 맛이 있어 보이는 경우 배식량을 늘리거나 반대의 경우 배식량을 줄이게 되며, 식사를 하면서 맛이 없는 음식의 경우 해당 음식을 많이 남기게 된다.
상술한 구성은 이와 같은 특징을 이용하여 점수를 평가하는 것으로 보다 상세하게는, 아래와 같은 기준들로 인해 판단하게 된다.
첫째로, 배식메뉴 평가모듈(189)은 특정 음식의 배식량이 기준치보다 많고 잔반량이 기준치보다 적은 경우, 해당 음식 메뉴의 선호도를 상승시키고, 배식된 해당 음식 자체의 맛 평가점수를 상승시킨다.
이 경우, 배식자(식사 주체)들이 배식받는 과정에서 음식을 육안으로 보고 본인이 선호하는 음식이기 때문에 해당 음식의 배식량을 증가시켰고, 식사를 진행하면서도 맛이 있다고 판단하여 해당 음식을 모두 섭취하거나 적게 남긴 것이라고 판단하는 것을 의미한다.
따라서, 배식메뉴 평가모듈(189)이 해당 음식 메뉴에 대한 선호점수를 높게 평가하고, 배식된 해당 음식 자체의 맛 평가점수 또한 높게 평가하여 식재료 선택이나 음식의 조리가 제대로 이루어졌다고 평가하게 된다.
둘째로, 배식메뉴 평가모듈(189)은 특정 음식의 배식량이 기준치보다 많고 잔반량이 기준치보다 많은 경우, 해당 음식 메뉴의 선호도를 상승시키고 배식된 해당 음식 자체의 맛 평가점수를 하락시킨다.
이 경우, 배식자들이 배식받는 과정에서 음식을 육안으로 보고 본인이 선호하는 음식이기 때문에 해당 음식의 배식량을 증가시켰지만, 식사를 진행하면서 본인이 생각한 맛과 다르거나 맛이 없다고 판단하여 해당 음식을 많이 남겨 잔반량이 기준보다 많은 것이라고 판단하는 것을 의미한다.
따라서, 배식메뉴 평가모듈(189)이 해당 음식 메뉴에 대한 선호점수는 상승시키되, 배식된 해당 음식 자체의 맛 평가점수는 낮게 평가하여 식재료 선택이나 음식의 조리가 제대로 이루어지지 못하였다고 평가하게 된다.
셋째로, 배식메뉴 평가모듈(189)은 특정 음식의 배식량이 기준치보다 적고 잔반량이 기준치보다 적은 경우, 해당 음식 메뉴의 선호도를 하락시키고 배식된 해당 음식 자체의 맛 평가점수를 상승시킨다.
이 경우, 배식자들이 배식받는 과정에서 음식을 육안으로 보고 본인이 선호하지 않는 음식이기 때문에 해당 음식의 배식량을 감소시켰지만, 식사를 진행하면서 의외로 맛이 있다고 판단하여 해당 음식을 모두 섭취하거나 적게 남긴 것이라고 판단하는 것을 의미한다.
따라서, 배식메뉴 평가모듈(189)이 해당 음식 메뉴에 대한 선호점수를 낮게 평가하되, 배식된 해당 음식 자체의 맛 평가점수는 높게 평가하여 해당 음식은 배식자들이 선호하지는 않지만, 식재료 선택이나 음식의 조리가 제대로 이루어져 배식자들이 만족하였다고 평가하게 된다.
넷째로, 배식메뉴 평가모듈(189)은 특정 음식의 배식량이 기준치보다 적고 잔반량이 기준치보다 많은 경우, 해당 음식 메뉴의 선호도를 하락시키고 배식된 해당 음식 자체의 맛 평가점수를 하락시킨다.
이 경우, 배식자들이 배식받는 과정에서 음식을 육안으로 보고 본인이 선호하지 않는 음식이기 때문에 해당 음식의 배식량을 감소시켰고, 식사를 진행하면서도 맛이 없다고 판단하여 해당 음식을 많이 남겨 잔반량이 기준보다 많은 것이라고 판단하는 것을 의미한다.
따라서, 배식메뉴 평가모듈(189)이 해당 음식 메뉴에 대한 선호점수를 낮게 평가하고, 배식된 해당 음식 자체의 맛 평가점수 또한 낮게 평가하여 해당 음식은 배식자들이 선호하는 음식도 아니고, 식재료 선택이나 음식의 조리가 제대로 이루어지지 못하였다고 평가하게 된다.
이와 같은 배식메뉴 평가모듈(189)의 구성으로 인하여, 식당 관리자는 각 음식 메뉴들에 대한 식사 주체들의 선호도(선호점수), 음식의 맛 평가점수를 통해 식사 주체들을 위한 배식메뉴와 식자재 등을 준비할 수 있게 됨은 물론 음식 조리 과정에 문제가 있는지 여부에 대해서 확인할 수 있게 된다.
일 실시예로, 관리부(180)의 식사 주체 관리모듈(185)은 식사 주체들의 식사량을 기반으로 각 식사 주체가 섭취한 영양정보를 생성하고, 일정시간 주기로 생성된 영양정보를 기반으로 영양섭취 현황 정보를 도출하여 제공한다.
이때, 식사 주체 관리모듈(185)는 도출된 정보를 식사 주체의 단말, 즉 사용자 단말(300), 식사 주체의 보호자의 단말, 식사 주체의 관리자의 단말, 식당 관리자의 단말 등에 제공할 수 있다.
일 실시예로, 관리부(180)는 식사 주체들의 식사량, 식습관 정보를 이용하여 영양상태를 개선시키고, 잔반량을 줄이기 위한 프로그램을 수행할 수 있다.
관리부(180)는 식사 주체의 식사량, 잔반량을 기반으로 각 식사 주체의 영양정보 및 식습관 정보를 파악한다. 그리고, 이를 이용하여 도출된 각 식사 주체의 영양상태 및 잔반량 변화에 따라서 리워드 또는 패널티를 제공한다.
보다 상세하게는, 관리부(180)는 식사 주체의 음식별 잔반량과 식사량을 기반으로 각 식사 주체가 고른 영양섭취와 올바른 식습관을 가지고 있는 지에 대해서 파악하고, 배식 때마다 이전 기록과 비교하여 영양상태가 개선되었다고 판단되면 해당 식사 주체에게 포상, 포인트와 같은 리워드를 제공하고, 영양상태가 개선되지 않거나 악화되었다고 판단되면 벌과 같은 패널티를 제공하는 것을 의미한다.
또한, 관리부(180)는 배식때마다 각 식사 주체의 잔반량을 저장하고 모니터링하여 특정 식사 주체의 잔반량이 감소되고 있다고 판단되면 해당 식사 주체에게 리워드를 제공하고, 잔반량이 감소되지 않거나 증가하고 있다고 판단되면 해당 식사 주체에게 벌과 같은 패널티를 제공하는 것을 의미한다.
이와 같이 각 식사 주체의 영양정보, 식습관 정보를 파악하고 행동변화에 따라서 리워드 또는 패널티를 제공하기 때문에 자연스럽게 식사 주체가 편식하지 않고 골고루 영양섭취를 하도록 유도하고, 음식물 쓰레기 발생을 감소시킬 수 있는 효과를 발휘하게 된다.
예를 들어, 식사 주체가 학생이나 환자와 같이 보호자의 관리가 필요한 경우, 관리부(180)의 식사 주체 관리모듈(185)은 촬영부(250)를 통해 획득된 식사 주체의 식전식기 이미지, 식후식기 이미지를 식사 주체 보호자의 단말로 제공할 수 있다.
그리고, 식사 주체의 보호자는 애플리케이션을 통해 사진을 확인하여 식사 주체가 제대로 식사를 하고 있는지 여부를 확인할 수 있게 된다.
학생이나 환자의 경우 건강을 위해서 영양상태가 골고루 충분하게 섭취되어야 하기 때문에 지속적인 관리가 필요하고, 보호자에게 해당 학생의 영양상태에 대한 정보를 제공하는 것이 필요하다.
따라서, 식사 주체 관리모듈(185)은 학생 또는 환자 각각의 신체정보 또는 건강정보를 주기적으로 입력받아 관리하고, 신체정보와 학교 일정 등을 고려하여 학생별 기초 대사량과 필요한 영양소 등에 대한 정보를 도출한다.
그리고, 식사 주체 관리모듈(185)은 학생 또는 환자의 배식메뉴와 식사량 데이터, 기초대사량을 기반으로 영양상태, 식습관을 판단하게 된다.
식사 주체 관리모듈(185)은 이와 같이 확보 및 판단된 정보들을 사용자 단말(300), 식사 주체 보호자 단말로 제공함과 동시에, 각 식사 주체의 영양상태와 식습관을 통해 해당 식사 주체가 집에서 섭취하면 좋은 추천메뉴를 도출하고, 상황에 따라서 영양제를 추천해줄 수 있다.
예를 들어, A 학생의 식습관과 영양상태 평가 결과 비타민 A, D가 부족할 수 있다고 판단되면, 비타민 A, D를 충분히 섭취할 수 있는 메뉴를 추천메뉴로 도출하고, 비타민 A, D의 결핍 정도가 심각하다고 판단되면 영양제를 추천해주는 것을 의미한다.
여기서, 식사 주체가 학생 또는 환자가 아니라 하더라도, 분석된 사용자의 영양상태, 식습관, 편식여부 등에 기초하여, 컴퓨터는 사용자의 영양상태가 불균형할 경우 사용자에게 필요한 영양소가 무엇인지, 사용자의 식습관에 맞으면서 사용자의 영양상태를 위한 메뉴를 도출하여 사용자 단말(300)에 정보를 제공할 수도 있고, 각종 영양제에 대한 정보들을 제공함으로써 광고 효과를 발휘할 수도 있다.
이 밖에, 사용자 단말(300)을 이용하는 경우에 제공할 수 있는 서비스에 대하여 설명한다. 컴퓨터는 음식의 종류별로 사용자가 섭취한 양을 파악할 수 있기 때문에 사용자의 식습관을 분석할 수 있으며, 각 음식에 포함된 영양소에 대한 정보를 이용하여 사용자의 영양 섭취에 대하여 파악할 수 있게 된다.
또한, 사용자 단말(300)에 설치된 서비스 애플리케이션을 통해 사용자의 신체정보에 대하여 입력받을 수 있고, 이와 같은 신체정보를 이용하여 사용자의 기초 대사량을 산출할 수 있다.
그리고, 위와 같이 도출된 사용자의 영양상태, 식습관 정보를 이용하여 사용자에게 매칭되는 하나 이상의 음식메뉴를 도출하여 서비스 애플리케이션으로 제공할 수 있고, 다른 음식 주문 애플리케이션과 연동되어 정보를 제공할 수도 있다.
이때, 서비스 애플리케이션은 사용자로부터 선호음식, 비선호음식을 직접 입력받을 수 있고, 사용자의 알레르기(Allergy), 질병 등에 대한 정보들을 입력받아 사용자가 먹으면 안되는 음식을 추천메뉴에서 제외할 수 있다.
또한, 판단부(130)는 이러한 정보들을 이용하여 휴대용 장치(50)의 촬영부(55)를 통해 촬영된 음식 이미지 내에 사용자가 먹으면 안 되는 음식이 포함되어 있는 경우, 서비스 애플리케이션으로 경고(알림)을 제공하여 사용자가 실수로 해당 음식을 섭취하는 것을 방지할 수 있다.
일 실시예로, 서비스 애플리케이션은 사용자가 사용, 착용하는 웨어러블 기기들과 연동되어 각종 측정 데이터를 수신할 수 있다. 이러한 구성이 포함되는 경우 컴퓨터는 사용자의 기초 대사량, 건강정보 등을 보다 상세하게 확보할 수 있으며, 각종 헬스케어 정보로 활용할 수도 있다.
컴퓨터는 사용자 단말(300)을 통해 사용자의 매회 식사때마다의 식전음식량, 식사량, 잔반량에 대한 데이터를 수집하여 데이터베이스(170)에 저장함으로서, 사용자의 영양상태, 식습관 정보 등에 대한 정보를 형성하고, 사용자의 신체정보와 각종 건강, 운동 애플리케이션을 통해 수집되는 사용자의 활동지수, 활동정보, 운동정보 등에 대한 데이터를 수집하여 사용자의 헬스케어 정보를 형성할 수 있다.
또한, 이외에도 건강관리 애플리케이션, 의료정보 애플리케이션 등과 연동되어 사용자의 의료정보를 수집함으로써, 사용자의 영양상태, 식습관 정보와 헬스케어 정보, 의료정보로부터 사용자에게 맞춤형 식단, 건강보조식품에 대한 정보를 도출하여 제공할 수도 있고, 이에 관련된 상품들을 서비스 애플리케이션을 통해 직접 판매할 수도 있다.
예를 들어, 외부 서버(미도시)에서 제공하는 서비스 애플리케이션의 서비스에 가입할 경우, 종합검진을 제공할 수도 있고, 사용자에게 맞춤형 건강보조식품을 제공할 수도 있으며, 주 1회 맞춤형 식단을 배송해 주는 등 다양한 형태의 서비스가 제공될 수 있다.
이하, 본 발명의 실시예에 따른 음식 측정 방법을 구현하기 위한 장치 및 서버를 설명한다.
도 10을 참조하여, 본 발명의 일 실시예에 따른 음식 측정 서버(100)를 설명한다. 도 10은 본 발명의 실시예에 따른 음식 측정 서버의 블록도이고, 도 11은 도 10의 관리부의 세부 블록도이다.
도 5를 참조하면, 본 발명의 실시예에 따른 음식 측정 서버(100)는 수신부(110), 추출부(120), 판단부(130), 산출부(140), 보정부(150), 인증부(160), 데이터베이스(170), 통신부(190)를 포함한다.
다만, 몇몇 실시예에서 서버(10)는 도 5에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수도 있다.
수신부(110)는 하나 이상의 촬영부(250)를 통해 촬영된 식기 이미지를 수신한다.
추출부(120)는 음식이 담긴 식기 이미지 데이터에서 식기(500)의 각 공간(510)에 수용된 음식 이미지 데이터를 추출한다.
판단부(130)는 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단한다.
산출부(140)는 추출된 음식 이미지 데이터의 픽셀별 높이 정보를 이용하여 각 음식의 부피를 산출한다.
데이터베이스(170)는 빈식기 이미지와 식기(500)에 형성된 복수의 공간(510)에 대한 크기, 깊이 및 용량을 포함하는 식기 정보와, 음식별 부피당 무게를 포함하는 음식 정보가 저장되어 있다.
관리부(180)는 배식량 조절모듈(181), 배식그룹 관리모듈(183), 배식대상 관리모듈(185), 배식메뉴 추천모듈(187) 및 배식메뉴 평가모듈(189)를 포함하고, 각 모듈의 기능은 상술한 바와 같다.
통신부(190)는 식당에 설치되어 있는 촬영부(250)로부터 촬영된 식기 이미지를 수신할 수 있도록 통신을 수행하며, 서버(10)에서 산출하여 생성된 각종 정보들을 담당자 또는 사용자의 단말로 전송하는 역할을 담당할 수 있다.
인증부(160)은 음식 측정 장치(200), 키오스크 장치(30)와 같은 장치로부터 수신된 사용자 정보를 인증하여 사용자를 식별하고, 사용자에 대한 각종 정보를 로딩한다.
또한, 서버(10)의 산출부(140)를 통해 산출된 배식식기 내 음식들의 무게, 칼로리 등에 대한 정보를 인증부(160)을 통해 인증된 사용자의 단말로 제공하게 된다. 이때, 서버(10) 자체에서 제공하는 서비스 애플리케이션을 통해 정보를 제공할 수 있다.
또한, 본 발명의 실시예에 따른 컴퓨터(서버, 장치)는 음식 산출의 정확도를 향상시키기 위해서 아래 동작들을 수행할 수 있다.
일 실시예로, 산출부(140)는 상기 단계들을 통해 산출된 식사 주체의 식사량과 잔반량의 합이 배식량과 일치하는지 검증을 수행하고, 검증 결과에 따라 불일치하는 경우 산출부(140)는 식사량 또는 잔반량의 합이 배식량과 일치하도록 상기 단계들을 통해 산출된 식사량, 잔반량 및 배식량 중 적어도 하나를 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록한다.
또한, 산출부(140)는 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합과 잔반량의 총합을 합한 것이 배식량의 총합과 일치하는지 검증을 수행하고, 검증 결과에 따라 불일치하는 경우 산출부(140)는 식사량의 총합과 잔반량의 총합을 합한 것이 배식량의 총합과 일치하도록 상기 단계들을 통해 산출된 식사량의 총합, 잔반량의 총합 및 배식량의 총합 중 적어도 하나를 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록한다.
보다 상세하게는, 산출부(140)는 식당에서 식사하는 식사 주체들의 배식량의 총합과 잔반량의 총합의 차이값이 식사량의 총합과 일치하는지 여부를 검증한다.
또한, 산출부(140)는 식당에 준비된 음식의 총합을 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 비교하여 검증을 수행하고, 검증 결과에 따라 차이가 발생하는 경우 산출부(140)는 식당에 준비된 음식의 총합이 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 일치하도록 잔반량의 총량, 잔식량의 총량 및 식사량의 총합 중 적어도 하나를 보정할 수 있으며, 예컨대 식사량을 보정할 수 있고, 이에 따른 결과를 데이터베이스(170)에 기록할 수 있다.
여기서, 잔반량은 식사 주체에게 배식되어 식사 주체가 먹고 남은 음식의 양이고, 잔식량은 식사 주체에게 배식되지 않고 남은 음식의 양일 수 있고, 잔식량은 상기 단계들을 통해 산출되거나 별도의 방법을 통해 산출될 수 있다.
보다 상세하게는, 데이터베이스(170)에는 식당에서 매회 배식을 위해 준비한 음식의 총 부피(무게), 잔식량의 총 부피(무게) 및 잔반량의 총 부피(무게) 측정 결과가 저장될 수 있으며, 산출부(140)는 준비한 음식의 총 부피(무게)를 잔반량의 총 부피(무게), 잔식량의 총 부피(무게) 및 상기 단계들을 통해 산출된 식당 식사 주체들의 식사량의 총합을 합한 것과 비교하여 검증을 수행하고, 검증 결과에 따라 차이가 발생하는 경우 산출부(140)는 식당에 준비된 음식의 총합이 식당에서 발생한 잔반량의 총량, 식당에서 발생한 잔식량의 총량 및 해당 식당 식사 주체들의 식사량의 총합을 합한 것과 일치하도록 상기 단계들을 통해 산출된 식사 주체들의 식사량의 총합을 보정할 수 있으며, 이에 따른 결과를 데이터베이스(170)에 기록할 수 있다. (예를 들어, 식당에서 준비한 A 메뉴의 총 부피가 200이고 남은 양이 없이 모두 배식되었다면, 식사 주체들에게 배식된 A 메뉴의 부피의 총 합은 200에 근사해야 함)
이와 같이, 산출부(140)가 각종 정보들을 이용하여 검증을 수행하고, 산출/보정으로 인한 정확도를 기록함으로써 문제점을 파악하고 개선해 나갈 수 있게 된다.
일 실시예로, 본 발명의 실시예에 따른 산출부(140)의 인공지능 알고리즘은 부피 인식의 검증 및 신뢰성 증가 방안으로 이미지 학습결과를 이용한 부피 인식 정확도 비교 및 보완 작업이 수행될 수 있다. 예를 들어, 서로 다른 양의 빵에 대한 이미지를 입력시키고 부피가 적고 많음에 대하여 판단을 하게 하고 오차나 노이즈가 발생할 경우 재학습시킴으로써 정확도를 상승시킬 수 있다.
이상으로 설명한 본 발명의 실시예에 따른 음식 측정 서버(100)는 도 1 내지 도 9을 통해 설명한 음식 측정 방법과 발명의 카테고리만 다를 뿐, 동일한 내용이므로 중복되는 설명, 예시는 생략하도록 한다.
이하, 도 12는 본 발명의 실시예에 따른 음식 측정 장치의 블록도이고, 도 13 내지 도 16은 본 발명의 실시예에 따른 음식 측정 장치의 사시도이고, 도 17은 본 발명의 실시예에 따른 음식 측정 장치의 화면이다.
음식 측정 장치(200)는 배식이 이루어지는 장소에 마련될 수 있으며, 수신부(110), 추출부(120), 판단부(130), 산출부(140), 보정부(150), 인증부(160), 데이터베이스(170), 통신부(190), 디스플레이부(210), 결제부(240), 촬영부(250)를 포함한다. 다만, 몇몇 실시예에서 음식 측정 장치(200)는 도 12에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수도 있다.
도 13 및 도 14을 참조하면, 음식 측정 장치(200)는 식기(500)이 놓여지는 측정영역(220) 또는 플레이트(230)가 마련되어 있다. 도 13 및 도 14을 참조하면, 촬영부(250)는 측정영역(220) 또는 플레이트(230)에 놓여진 식기(500)을 촬영한다.
또한, 측정영역(220) 또는 플레이트(230)는 내부에 무게측정장치(미도시)가 형성되어 상면에 놓여진 배식식기의 무게를 측정할 수 있다.
수신부(110)는 하나 이상의 촬영부(250)를 통해 촬영된 식기 이미지를 수신한다. 여기서, 촬영부(250)는 식기(500)의 상측에서 식기(500)의 상면을 촬영할 수 있도록 위치하며, 식별정보 감지부(251)가 존재하는 경우, 식별정보 감지부(251)는 촬영부(250)에 의한 식기(500)의 촬영과 동시에 식기(500)의 식별정보를 상측, 하측 또는 측면에서 감지할 수 있도록 위치할 수 있다.
추출부(120)는 음식이 담긴 식기 이미지 데이터에서 식기(500)의 각 공간(510)에 수용된 음식 이미지 데이터를 추출한다.
판단부(130)는 추출된 음식 이미지 데이터를 통해 각 음식의 종류를 판단한다.
산출부(140)는 추출된 음식 이미지 데이터의 픽셀별 높이 정보를 이용하여 각 음식의 부피를 산출한다.
데이터베이스(170)는 빈식기 이미지와 식기(500)에 형성된 복수의 공간(510)에 대한 크기, 깊이 및 용량을 포함하는 식기 정보와, 음식별 부피당 무게를 포함하는 음식 정보가 저장되어 있다.
통신부(190)는 식당에 설치되어 있는 촬영부(250)로부터 촬영된 식기 이미지를 수신할 수 있도록 통신을 수행하며, 서버(10)에서 산출하여 생성된 각종 정보들을 담당자 또는 사용자의 단말로 전송하는 역할을 담당할 수 있다.
인증부(160)은 음식 측정 장치(200), 키오스크 장치와 같은 장치로부터 수신된 사용자 정보를 인증하여 사용자를 식별하고, 사용자에 대한 각종 정보를 로딩한다.
서버(10)의 산출부(140)를 통해 산출된 배식식기 내 음식들의 무게, 칼로리 등에 대한 정보를 인증부(160)을 통해 인증된 사용자의 단말로 제공하게 된다. 이때, 서버(10) 자체에서 제공하는 서비스 애플리케이션을 통해 정보를 제공할 수 있다.
음식 측정 장치(200)는 디스플레이(240)를 포함하여, 사용자를 인증할 수 있는 사용자 인증정보를 입력받을 수도 있고, 디스플레이를 통해 촬영된 이미지를 표출할 수도 있다.
또한, 도 13과 같은 형태의 음식 측정 장치(200)가 마련되어 있는 경우 사용자가 측정영역(220)에 식기(500)을 위치시키면 측정영역(220) 내에 마련된 촬영부(250)가 식기를 촬영하여 식기 이미지, 식후식기 이미지를 획득할 수 있다. 그리고, 음식 측정 장치(200) 자체에 결제부(240)가 구비되어 사용자가 음식 측정과 결제를 동시에 진행할 수도 있다.
몇몇 실시예에서 도 14(C)를 참조하면 음식 측정 장치(200)는 플레이트(230)를 포함하지 않을 수 있으며, 식사 주체가 식기(500)을 들고 있는 상태에서 촬영부(250)에 의한 촬영과 식별정보 감지부(251)에 의한 감지가 이루어질 수 있다.
몇몇 실시예에서 도 15를 참조하면, 컨베이어 벨트(270)가 설치된 퇴식구에 음식 측정 장치(200)가 설치될 수 있다. 컨베이어 벨트(270)에 의해 식기(500)이 이동하는 과정에서 식기(500)의 상측에서 촬영부(250)가 식기(500)을 촬영할 수 있다.
몇몇 실시예에서 음식 측정 장치(200)는 촬영부(250), 식별정보 감지부(251) 및 인증부(160)을 포함할 수 있으며, 촬영부(250)가 상대적으로 가장 높은 영역에 위치하고, 인증부(160)이 촬영부(250)와 식별정보 감지부(251) 사이에 위치하고, 식별정보 감지부(251)가 상대적으로 가장 낮은 영역에 위치할 수 있다. 음식 측정 장치(200)가 이러한 구조를 가지고 있기 때문에, 식사 주체가 음식 측정 장치(200) 앞에 멈춰서는 것만으로, 촬영부(250), 식별정보 감지부(251) 및 인증부(160)이 식사 주체 및 식기(500)으로부터 필요한 정보를 얻을 수 있으며, 이를 통해 식사 주체의 불편을 감소시킬 수 있다.
촬영부(250)가 가장 높은 영역에 위치하는 것은 위에서 식기(500)을 촬영하기 위한 목적이다. 인증부(160)이 식사 주체의 안면을 인식한다고 하면, 식사 주체가 식기(500)을 들었을 때, 식기(500)은 식사 주체의 안면보다 아래에 위치하기 때문에, 인증부(160)은 식별정보 감지부(251)보다 상대적으로 위에 위치할 수 있다. 여기서, 식기(500)의 식별정보(530)는 식기(500)의 측면에 위치하여, 식사 주체가 식기(50)를 들고 서 있는 경우 식별정보 감지부(251)에 의해 인식될 수 있다.
한편, 식별정보 감지부(251) 및 인증부(160)은 항상 작동하는 것은 아니고, 촬영부(250)에 의해 식기(500)이 촬영되어 인식되는 경우에만 작동을 할 수 있으며, 이를 통해 촬영부(250)에 의한 식기(500) 인식은 일종의 인에이블러가 되어 식별정보 감지부(251) 및 인증부(160)을 효과적으로 작동시킬 수 있다.
도 16을 참조하면, 음식 측정 장치(200)는 테이블에 세워놓거나 벽에 걸어놓을 수 있다. 음식 측정 장치(200)의 전면에는 디스플레이부(210)가 위치하고, 음식 측정 장치(200)의 전면에 음식 또는 음식이 담긴 식기를 촬영하기 위한 촬영부(250a)와 식사 주체의 생체정보를 촬영하기 위한 촬영부(250b)가 위치한다.
음식 측정 장치(200)는 상부가 전방을 향하여 기울어져 틸팅될 수 있으며, 음식 또는 음식이 담긴 식기를 촬영하기 위한 촬영부(250a)는 음식 측정 장치(200)의 틸팅된 영역에 위치하여 하방에 있는 식기(500)를 촬영할 수 있다. 식사 주체의 생체정보를 촬영하기 위한 촬영부(250b)는 틸팅된 영역에 있지 않은 것으로 도시되었지만, 틸팅된 영역에 위치하더라도 무방한다.
그리고 식사 주체가 음식 측정 장치(200) 또는 사용자 단말(300)로 음식이 담긴 식기(500)를 촬영하면, 도 17의 화면이 디스플레이부(210/310)에 표시될 수 있다.
예컨대, 촬영부(250/350)에 의해 촬영된 음식이 담긴 식기 이미지가 표시될 수 있으며, 음식 종류와 이에 따른 칼로리에 대한 정보가 표시될 수 있다. 그리고 음료수 등이 컵에 담긴 경우, 해당 컵에서 음료수의 높이가 표시될 수 있다. 이와 함께, 음식을 섭취하는 경우의 칼로리를 소비하기 위해서 해야 하는 운동과 운동 시간에 대한 정보도 함께 표시될 수 있다. 이 밖에, 섭취 예정인 음식의 영양정보와 가격정보도 함께 표시될 수 있다. 이 밖에 도 18 및 도 19는 각각 도 10 및 도 12와 비교하여 음식 측정 장치(200)의 역할을 사용자 단말(300)이 수행하는 것에 차이만 있으므로, 자세한 설명은 생략한다.
이상으로 설명한 본 발명의 실시예에 따른 음식 측정 음식 측정 장치(200) 구성들의 세부적인 내용은 도 1 내지 도 9을 통해 설명한 음식 측정 방법과 발명의 카테고리만 다를 뿐, 동일한 내용이므로 중복되는 설명, 예시는 생략하도록 한다.
이상에서 전술한 본 발명의 일 실시예에 따른 음식 측정 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (14)

  1. 컴퓨터에 의해 수행되는 음식 측정 방법에 있어서,
    음식이 담긴 식기에 대한 촬영 및 측정 후에, 수신부가 음식이 담긴 식기 이미지 데이터와 상기 음식이 담긴 식기에 대한 깊이 데이터를 수신하는 단계;
    보정부가 상기 음식이 담긴 식기의 기울기를 산출하고 산출된 기울기에 따라 상기 음식이 담긴 식기 이미지 데이터와 상기 음식이 담긴 식기에 대한 깊이 데이터를 보정하는 단계;
    추출부가 보정된 상기 음식이 담긴 식기 이미지 데이터에서 식기에 수용된 음식 이미지 데이터를 추출하는 단계;
    판단부가 상기 추출된 음식 이미지 데이터를 통해 음식의 종류를 판단하는 단계; 및
    산출부가 보정된 상기 음식이 담긴 식기에 대한 깊이 데이터를 이용하여 음식의 부피를 산출하는 단계
    를 포함하는 음식 측정 방법.
  2. 제1항에 있어서,
    상기 보정부가 상기 음식이 담긴 식기의 기울기를 산출하는 것은,
    상기 보정부가 상기 음식이 담긴 식기 이미지 데이터를 분석하여 상기 음식이 담긴 식기의 기울기를 산출하거나, 상기 음식이 담긴 식기 상의 복수의 포인트에 대한 깊이 데이터를 이용하여 상기 음식이 담긴 식기의 기울기를 산출하거나, 상기 음식이 담긴 식기와 같이 촬영 및 측정된 참조대상의 기울기에 기초하여 상기 음식이 담긴 식기의 기울기를 산출하거나, 촬영 및 측정장치의 기울기에 기초하여 상기 음식이 담긴 식기의 기울기를 산출하는 것인, 음식 측정 방법.
  3. 제1항에 있어서,
    상기 보정 단계에서,
    상기 보정부가 산출된 기울기에 따라 상기 음식이 담긴 식기 이미지 데이터를 보정하는 것은, 상기 보정부가 상기 음식이 담긴 식기 이미지 데이터 내의 상기 식기가 수평한 상태가 되도록 산출된 기울기에 따라 상기 음식이 담긴 식기 이미지 데이터를 수평 상태의 이미지 데이터로 보정하는 것인 음식 측정 방법.
  4. 제1항에 있어서,
    상기 부피를 산출하는 단계에서,
    상기 보정부가 산출된 기울기에 따라 상기 음식이 담긴 식기에 대한 깊이 데이터를 보정하는 것은, 상기 보정부가 상기 음식이 담긴 식기에 대한 깊이 데이터를 통해 산출되는 식기가 수평한 상태가 되도록 산출된 기울기에 따라 상기 음식이 담긴 식기에 대한 깊이 데이터를 보정하는 것인, 음식 측정 방법.
  5. 제1항에 있어서,
    음식의 부피를 산출하는 단계에서,
    상기 보정부가 상기 음식이 담긴 식기 이미지 데이터 내에서 음식이 아니면서 부피를 가지는 노이즈 성분을 검출하고, 산출된 음식의 부피에서 검출된 노이즈 성분의 부피를 제외하는 보정을 수행하는 것인, 음식 측정 방법.
  6. 제1항에 있어서,
    상기 컴퓨터는,
    빈 식기 이미지 데이터와 상기 식기에 형성된 적어도 하나의 공간에 대한 크기, 깊이 및 용량 중 적어도 하나를 포함하는 식기 데이터가 저장된 데이터베이스를 포함하며,
    상기 부피 산출 단계는,
    상기 보정부가 음식이 수용된 공간의 크기, 깊이 및 용량 중 적어도 하나를 포함하는 상기 식기 데이터를 이용하여 산출된 음식의 부피를 보정하는 단계;를 더 포함하는, 음식 측정 방법.
  7. 제6항에 있어서,
    상기 데이터베이스는,
    음식별 부피당 무게를 포함하는 음식 데이터가 저장되어 있으며,
    상기 부피 산출 단계 이후, 상기 산출부가 상기 산출된 음식의 부피 데이터와 상기 음식 데이터를 이용하여 음식의 무게를 산출하는 단계를 더 포함하는, 음식 측정 방법.
  8. 제1항에 있어서,
    상기 컴퓨터는,
    음식 메뉴 데이터, 식당 위치 데이터, 날짜 데이터 및 시간 데이터 중 적어도 하나를 포함하는 판별 참조 정보가 저장된 데이터베이스를 포함하며,
    를 더 포함하며,
    상기 판단 단계는,
    상기 판단부가 상기 추출된 음식 이미지 데이터와 상기 음식 관련 정보를 매칭하여 음식 리스트 후보군을 도출한 후 각 음식의 종류를 판단하는 것을 특징으로 하는, 음식 측정 방법.
  9. 제1항에 있어서,
    상기 각 음식의 부피를 산출 단계는,
    상기 식기 내 서로 다른 음식이 적층된 경우, 상기 산출부가 상측에 위치한 음식에 의해 하측에 위치한 음식이 가려지는 영역의 부피를 산출하는 것을 포함하는, 음식 측정 방법.
  10. 제8항에 있어서,
    상기 산출부가 상측에 위치한 음식에 의해 하측에 위치한 음식이 가려지는 영역의 부피를 산출하는 것은,
    상기 산출부가 상측에 위치한 음식에 의해 하측에 위치한 음식이 가려지는 영역의 면적을 산출하고,
    상기 산출부가 하측에 위치한 음식 중 상측에 위치한 음식에 의해 가려지지 않는 영역의 높이를 이용하여, 상측에 위치한 음식에 의해 가려지는 영역의 높이를 산출하고,
    상기 산출부가 산출된 면적과 높이를 이용하여 상측에 위치한 음식에 의해 하측에 위치한 음식이 가려지는 영역의 부피를 산출하는 것인, 음식 측정 방법.
  11. 제1항에 있어서,
    상기 부피 산출 단계는,
    상기 식기 내 특정 공간에 수용된 음식이 액체인 것으로 판단되는 경우, 액체와 해당 공간이 맞닿는 위치와 해당 공간의 크기, 깊이 및 용량 정보를 통해 액체의 부피를 산출하는 단계;를 더 포함하는, 음식 측정 방법.
  12. 음식이 담긴 식기에 대한 촬영 및 측정 후에, 음식이 담긴 식기 이미지 데이터와 상기 음식이 담긴 식기에 대한 깊이 데이터를 수신하는 수신부;
    상기 음식이 담긴 식기의 기울기를 산출하고 산출된 기울기에 따라 상기 음식이 담긴 식기 이미지 데이터와 상기 음식이 담긴 식기에 대한 깊이 데이터를 보정하는 보정부;
    보정된 상기 음식이 담긴 식기 이미지 데이터에서 식기에 수용된 음식 이미지 데이터를 추출하는 추출부;
    상기 추출된 음식 이미지 데이터를 통해 음식의 종류를 판단하는 판단부; 및
    상기 보정된 상기 음식이 담긴 식기에 대한 깊이 데이터를 이용하여 음식의 부피를 산출하는 산출부
    를 포함하는 음식 측정 서버.
  13. 음식이 담긴 식기에 대한 촬영 및 측정 후에, 음식이 담긴 식기 이미지 데이터와 상기 음식이 담긴 식기에 대한 깊이 데이터를 수신하는 수신부;
    상기 음식이 담긴 식기의 기울기를 산출하고 산출된 기울기에 따라 상기 음식이 담긴 식기 이미지 데이터와 상기 음식이 담긴 식기에 대한 깊이 데이터를 보정하는 보정부;
    보정된 상기 음식이 담긴 식기 이미지 데이터에서 식기에 수용된 음식 이미지 데이터를 추출하는 추출부;
    상기 추출된 음식 이미지 데이터를 통해 음식의 종류를 판단하는 판단부; 및
    상기 보정된 상기 음식이 담긴 식기에 대한 깊이 데이터를 이용하여 음식의 부피를 산출하는 산출부
    를 포함하는 음식 측정 장치.
  14. 하드웨어인 컴퓨터와 결합되어, 제1항 내지 제11항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 프로그램.
KR1020200139776A 2019-10-25 2020-10-26 음식 측정 방법, 장치, 및 프로그램 KR102683228B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190133499 2019-10-25
KR20190133499 2019-10-25

Publications (2)

Publication Number Publication Date
KR20210049704A true KR20210049704A (ko) 2021-05-06
KR102683228B1 KR102683228B1 (ko) 2024-07-09

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102452139B1 (ko) * 2022-02-15 2022-10-11 주식회사 사공사파운드 Ai 이미지 분석 기술을 활용한 잔여 음식물 패턴분석 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050083210A (ko) 2004-01-30 2005-08-26 주식회사 카스 식사량 계량 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050083210A (ko) 2004-01-30 2005-08-26 주식회사 카스 식사량 계량 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102452139B1 (ko) * 2022-02-15 2022-10-11 주식회사 사공사파운드 Ai 이미지 분석 기술을 활용한 잔여 음식물 패턴분석 시스템

Similar Documents

Publication Publication Date Title
JP7159331B2 (ja) 給食管理システム及びその運営方法
US9314206B2 (en) Diet and calories measurements and control
US9659225B2 (en) Restaurant-specific food logging from images
AU2013101802A4 (en) Systems and methods for user-specific modulation of nutrient intake
KR102606359B1 (ko) 급식관리 시스템
WO2012094569A2 (en) Health monitoring system
US20130273509A1 (en) Method of Monitoring Nutritional Intake by Image Processing
JP2015510646A5 (ko)
US11823042B2 (en) System for measuring food weight
KR102487925B1 (ko) 음식량 측정을 이용한 배식소의 운영정보와 배식대상의 관리정보 제공 방법, 서버 및 프로그램
EP3964793A1 (en) Food measurement method, device, and program
CN109509117A (zh) 一种菜品推荐方法、装置及系统
TW201901598A (zh) 飲食資訊建議系統及其飲食資訊建議方法
KR20200126576A (ko) 음식량 측정 방법, 장치, 서버 및 프로그램
CN112002388A (zh) 饮食推荐方法及装置
KR102326540B1 (ko) 음식 영상을 이용한 영양관리 및 질병관리 방법
KR102488997B1 (ko) 휴대용 장치를 이용한 음식량 측정 방법, 서버 및 프로그램
US20220222844A1 (en) Method, device, and program for measuring food
US11562338B2 (en) Automated point of sale systems and methods
EP2787459A1 (en) Method of monitoring nutritional intake by image processing
KR102683228B1 (ko) 음식 측정 방법, 장치, 및 프로그램
KR20210049704A (ko) 음식 측정 방법, 장치, 및 프로그램
CN115439908A (zh) 人脸识别自助称重消费系统
CN114581265B (zh) 一种就餐人员食用喜好分析系统及方法
KR102473072B1 (ko) 인공지능 기반의 영상 인식 및 증강현실을 이용한 식기 크기 측정 및 영양정보 제공 시스템 및 방법

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