KR102615747B1 - Method, device and system for providing food calorie estimation and user customized body change information visualization service using artificial intelligence model - Google Patents

Method, device and system for providing food calorie estimation and user customized body change information visualization service using artificial intelligence model Download PDF

Info

Publication number
KR102615747B1
KR102615747B1 KR1020230095830A KR20230095830A KR102615747B1 KR 102615747 B1 KR102615747 B1 KR 102615747B1 KR 1020230095830 A KR1020230095830 A KR 1020230095830A KR 20230095830 A KR20230095830 A KR 20230095830A KR 102615747 B1 KR102615747 B1 KR 102615747B1
Authority
KR
South Korea
Prior art keywords
user
value
food
artificial intelligence
weight
Prior art date
Application number
KR1020230095830A
Other languages
Korean (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 주식회사 쏘렐라
Priority to KR1020230095830A priority Critical patent/KR102615747B1/en
Application granted granted Critical
Publication of KR102615747B1 publication Critical patent/KR102615747B1/en

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/60ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6801Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
    • A61B5/6802Sensor mounted on worn items
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient ; user input means
    • A61B5/742Details of notification to user or communication with user or patient ; user input means using visual displays
    • A61B5/743Displaying an image simultaneously with additional graphical information, e.g. symbols, charts, function plots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/20ICT specially adapted for the handling or processing of patient-related medical or healthcare data for electronic clinical trials or questionnaires
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Biomedical Technology (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Veterinary Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Nutrition Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

일실시예에 따르면, 장치에 의해 수행되는, 인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법에 있어서, 제1 사용자 단말의 카메라를 이용하여 제1 사용자가 먹고자 하는 제1 음식에 대한 촬영이 수행되면, 상기 제1 사용자 단말로부터 상기 제1 음식을 촬영하여 생성된 제1 이미지를 수신하는 단계; 상기 제1 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계; 이미지 분석으로 음식의 종류 및 양을 인식하도록 학습된 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계; 상기 제1 입력 신호를 통해 음식의 종류가 상기 제1 음식으로 인식되고 음식의 양이 제1 중량으로 인식되면, 상기 제1 인공지능 모델로부터 상기 제1 음식 및 상기 제1 중량을 나타내는 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호를 기초로, 상기 제1 사용자가 상기 제1 중량의 상기 제1 음식을 먹는 것으로 분석하는 단계; 상기 제1 음식의 단위중량 당 칼로리가 제1 수치로 확인되면, 상기 제1 수치 및 상기 제1 중량을 곱한 값으로 제2 수치를 산출하는 단계; 및 상기 제1 사용자가 상기 제1 음식을 먹은 것으로 확인되면, 상기 제1 사용자의 섭취 칼로리를 상기 제2 수치로 추정하는 단계를 포함하는, 인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법이 제공된다.According to one embodiment, in a method of estimating food calories using an artificial intelligence model and providing a user-customized body change information visualization service performed by a device, the camera of the first user terminal is used to determine what the first user wants to eat. When photographing the first food is performed, receiving a first image generated by photographing the first food from the first user terminal; generating a first input signal by encoding the first image; Inputting the first input signal to a first artificial intelligence model learned to recognize the type and amount of food through image analysis; When the type of food is recognized as the first food and the amount of food is recognized as the first weight through the first input signal, a first output indicating the first food and the first weight is generated from the first artificial intelligence model. acquiring a signal; Analyzing that the first user eats the first food of the first weight based on the first output signal; When the calories per unit weight of the first food are confirmed to be a first value, calculating a second value by multiplying the first value and the first weight; And when it is confirmed that the first user has eaten the first food, estimating the calorie intake of the first user to the second value, estimating calories in food using an artificial intelligence model and customizing the body of the user. A method for providing a change information visualization service is provided.

Description

인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법, 장치 및 시스템 {METHOD, DEVICE AND SYSTEM FOR PROVIDING FOOD CALORIE ESTIMATION AND USER CUSTOMIZED BODY CHANGE INFORMATION VISUALIZATION SERVICE USING ARTIFICIAL INTELLIGENCE MODEL}Method, device and system for estimating food calories and providing user-customized body change information visualization service using an artificial intelligence model {METHOD, DEVICE AND SYSTEM FOR PROVIDING FOOD CALORIE ESTIMATION AND USER CUSTOMIZED BODY CHANGE INFORMATION VISUALIZATION SERVICE USING ARTIFICIAL INTELLIGENCE MODEL}

아래 실시예들은 인공지능 모델을 활용하여 음식의 칼로리를 추정하고 사용자 맞춤형 신체 변화 정보 시각화 서비스를 제공하기 위한 기술에 관한 것이다.The following embodiments relate to technology for estimating the calories of food using an artificial intelligence model and providing a user-customized body change information visualization service.

현대 사회가 점차 서구화 및 산업화됨에 따라 과체중이나 비만으로 고통받는 사람들이 점차 증가하고 있다. 이러한 과체중이나 비만은 개인에게 있어서도 성인병 등 각종 질환의 원인이 되는 심각한 문제지만, 사회적으로도 그에 따른 엄청난 사회적 비용을 발생시키므로 현대의 심각한 사회 문제 중 하나가 되고 있다.As modern society becomes increasingly westernized and industrialized, the number of people suffering from overweight or obesity is gradually increasing. Overweight or obesity is a serious problem for individuals that causes various diseases such as adult diseases, but it also causes enormous social costs to society, making it one of the serious social problems of modern times.

따라서, 이와 같은 과체중이나 비만을 해결하기 위해 다이어트가 현대인들에게는 필수라고 할 만큼 광범위하게 실시되고 있다. 또한, 최근에는 사람들의 아름다움에 대한 욕구가 증가됨에 따라 다이어트가 과체중이나 비만 해결 방법 뿐만 아니라 아름다운 몸매와 건강을 유지하기 위한 수단으로 각광받고 있다.Therefore, in order to solve overweight or obesity, dieting is widely practiced to the extent that it is considered essential for modern people. Additionally, recently, as people's desire for beauty has increased, diet has been in the spotlight not only as a solution to overweight or obesity, but also as a means to maintain a beautiful body and health.

이러한 다이어트를 위해서는 자신이 섭취하는 칼로리와 소모되는 칼로리를 인지하는 것이 필수적이다.For this type of diet, it is essential to be aware of the calories you consume and the calories you burn.

종래의 칼로리 관리기는 자신이 섭취하는 음식의 정보를 사용자가 직접 일일이 입력해야만 섭취 칼로리가 등록이 되고, 자신이 수행한 운동의 정보를 사용자가 직접 일일이 입력해야만 소모 칼로리가 등록이 되어, 사용자가 칼로리를 관리하는데 어려움이 있다.In a conventional calorie manager, calories consumed are registered only when the user manually enters information about the food they consume, and calories burned are registered only when the user manually enters information about the exercise they performed. There are difficulties in managing.

따라서, 섭취 칼로리 및 소모 칼로리를 추정하여 칼로리를 관리하는 사용자의 편의성을 증대시킬 수 있는 기술에 대한 연구개발이 요구되고 있다.Therefore, there is a need for research and development on technology that can increase user convenience in managing calories by estimating calories consumed and calories consumed.

한국등록특허 제10-2247695호Korean Patent No. 10-2247695 한국등록특허 제10-1741502호Korean Patent No. 10-1741502 한국등록특허 제10-1562364호Korean Patent No. 10-1562364 한국공개특허 제10-2018-0005016호Korean Patent Publication No. 10-2018-0005016

일실시예에 따르면, 인공지능 모델을 활용하여 음식의 칼로리를 추정하고 사용자 맞춤형 신체 변화 정보 시각화 서비스를 제공하기 위한 것을 그 목적으로 한다.According to one embodiment, the purpose is to estimate the calories of food using an artificial intelligence model and provide a user-customized body change information visualization service.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.The object of the present invention is not limited to the object mentioned above, and other objects not mentioned can be clearly understood from the description below.

일실시예에 따르면, 장치에 의해 수행되는, 인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법에 있어서, 제1 사용자 단말의 카메라를 이용하여 제1 사용자가 먹고자 하는 제1 음식에 대한 촬영이 수행되면, 상기 제1 사용자 단말로부터 상기 제1 음식을 촬영하여 생성된 제1 이미지를 수신하는 단계; 상기 제1 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계; 이미지 분석으로 음식의 종류 및 양을 인식하도록 학습된 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계; 상기 제1 입력 신호를 통해 음식의 종류가 상기 제1 음식으로 인식되고 음식의 양이 제1 중량으로 인식되면, 상기 제1 인공지능 모델로부터 상기 제1 음식 및 상기 제1 중량을 나타내는 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호를 기초로, 상기 제1 사용자가 상기 제1 중량의 상기 제1 음식을 먹는 것으로 분석하는 단계; 상기 제1 음식의 단위중량 당 칼로리가 제1 수치로 확인되면, 상기 제1 수치 및 상기 제1 중량을 곱한 값으로 제2 수치를 산출하는 단계; 및 상기 제1 사용자가 상기 제1 음식을 먹은 것으로 확인되면, 상기 제1 사용자의 섭취 칼로리를 상기 제2 수치로 추정하는 단계를 포함하는, 인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법이 제공된다.According to one embodiment, in a method of estimating food calories using an artificial intelligence model and providing a user-customized body change information visualization service performed by a device, the camera of the first user terminal is used to determine what the first user wants to eat. When photographing the first food is performed, receiving a first image generated by photographing the first food from the first user terminal; generating a first input signal by encoding the first image; Inputting the first input signal to a first artificial intelligence model learned to recognize the type and amount of food through image analysis; When the type of food is recognized as the first food and the amount of food is recognized as the first weight through the first input signal, a first output indicating the first food and the first weight is generated from the first artificial intelligence model. acquiring a signal; Analyzing that the first user eats the first food of the first weight based on the first output signal; When the calories per unit weight of the first food are confirmed to be a first value, calculating a second value by multiplying the first value and the first weight; And when it is confirmed that the first user has eaten the first food, estimating the calorie intake of the first user to the second value, estimating calories in food using an artificial intelligence model and customizing the body of the user. A method for providing a change information visualization service is provided.

상기 인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법은, 상기 제1 사용자의 신체에 착용된 제1 웨어러블 기기로부터 미리 설정된 기간마다 상기 제1 사용자의 생체 정보 및 상기 제1 사용자의 활동 정보를 수신하는 단계; 상기 제1 사용자의 생체 정보를 기초로, 상기 제1 사용자가 운동을 하고 있는지 여부를 판단하는 단계; 제1 시점에 수신된 상기 제1 사용자의 생체 정보를 기초로, 상기 제1 시점부터 상기 제1 사용자가 운동을 하고 있는 상태로 판단된 경우, 상기 제1 시점에 수신된 상기 제1 사용자의 활동 정보를 인코딩 하여 제2 입력 신호를 생성하는 단계; 활동 정보의 분석으로 운동의 종류를 인식하도록 학습된 제2 인공지능 모델에 상기 제2 입력 신호를 입력하는 단계; 상기 제2 입력 신호를 통해 운동의 종류가 제1 운동으로 인식되면, 상기 제2 인공지능 모델로부터 상기 제1 운동을 나타내는 제2 출력 신호를 획득하는 단계; 상기 제2 출력 신호를 기초로, 상기 제1 사용자가 상기 제1 운동을 하고 있는 것으로 분석하는 단계; 상기 제1 시점 이후인 제2 시점에 수신된 상기 제1 사용자의 생체 정보를 기초로, 상기 제2 시점에 상기 제1 사용자가 운동을 하고 있지 않은 상태로 판단된 경우, 상기 제1 시점부터 상기 제2 시점까지 제1 기간으로 설정하는 단계; 상기 제1 운동의 단위시간 당 칼로리가 제3 수치로 확인되면, 상기 제3 수치 및 상기 제1 기간의 길이를 곱한 값으로 제4 수치를 산출하는 단계; 및 상기 제1 사용자가 상기 제1 기간 동안 상기 제1 운동을 수행한 결과, 상기 제1 사용자의 소모 칼로리를 상기 제4 수치로 추정하는 단계를 더 포함할 수 있다.The method of providing food calorie estimation and user-customized body change information visualization service using the artificial intelligence model includes biometric information of the first user and the Receiving activity information of a first user; determining whether the first user is exercising based on the biometric information of the first user; If it is determined that the first user is exercising from the first time based on the biometric information of the first user received at the first time, the activity of the first user received at the first time Encoding information to generate a second input signal; Inputting the second input signal to a second artificial intelligence model learned to recognize the type of exercise through analysis of activity information; When the type of exercise is recognized as a first exercise through the second input signal, obtaining a second output signal representing the first exercise from the second artificial intelligence model; Analyzing that the first user is performing the first exercise based on the second output signal; If it is determined that the first user is not exercising at the second time based on the biometric information of the first user received at the second time after the first time, setting a first period until a second time point; When the calories per unit time of the first exercise are confirmed to be a third value, calculating a fourth value by multiplying the third value and the length of the first period; And it may further include estimating calories consumed by the first user as the fourth value as a result of the first user performing the first exercise during the first period.

인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법은, 미리 정해진 기준 기간 동안 상기 제1 사용자의 섭취 칼로리를 취합하여, 상기 제1 사용자의 총 칼로리 섭취량을 산출하는 단계; 상기 기준 기간 동안 상기 제1 사용자의 소모 칼로리를 취합하여, 상기 제1 사용자의 활동 대사량을 산출하는 단계; 상기 제1 사용자의 성별, 나이, 체중 및 키를 기반으로, 상기 제1 사용자의 기초 대사량을 산출하는 단계; 상기 제1 사용자의 총 칼로리 섭취량, 상기 제1 사용자의 활동 대사량 및 상기 제1 사용자의 기초 대사량을 매칭하여 매칭 정보를 생성하는 단계; 상기 매칭 정보를 인코딩 하여 제3 입력 신호를 생성하는 단계; 총 칼로리 섭취량, 활동 대사량 및 기초 대사량의 분석으로 신체 변화를 파악하도록 학습된 제3 인공지능 모델에 상기 제3 입력 신호를 입력하는 단계; 상기 제3 입력 신호를 통해 상기 제1 사용자의 신체 변화가 파악되면, 상기 제3 인공지능 모델로부터 상기 제1 사용자의 신체 변화를 나타내는 제3 출력 신호를 획득하는 단계; 상기 제3 출력 신호를 기초로, 상기 기준 기간 동안 상기 제1 사용자의 신체 변화를 분석하는 단계; 상기 제1 사용자의 신체 변화를 분석한 결과를 기반으로, 상기 제1 사용자의 신체 변화량을 추정하는 단계; 상기 제1 사용자의 신체 변화량을 이용하여 제1 그래프를 생성하고, 미리 설정된 제1 사용자의 목표치를 이용하여 제2 그래프를 생성하고, 상기 제1 사용자의 신체 변화량 및 상기 제1 사용자의 목표치 간의 차이를 이용하여 제3 그래프를 생성하는 단계; 및 상기 제1 그래프, 상기 제2 그래프 및 상기 제3 그래프를 기반으로, 상기 제1 사용자의 신체 변화와 목표 달성 현황을 시각화한 신체 변화 정보를 생성하는 단계를 더 포함할 수 있다.A method of estimating food calories using an artificial intelligence model and providing a user-customized body change information visualization service includes collecting the calorie intake of the first user during a predetermined reference period and calculating the total calorie intake of the first user. ; calculating the active metabolic rate of the first user by collecting calories consumed by the first user during the reference period; calculating the basal metabolic rate of the first user based on the gender, age, weight, and height of the first user; Generating matching information by matching the total calorie intake of the first user, the active metabolic rate of the first user, and the basal metabolic rate of the first user; Generating a third input signal by encoding the matching information; Inputting the third input signal to a third artificial intelligence model learned to identify body changes through analysis of total calorie intake, active metabolic rate, and basal metabolic rate; When the physical change of the first user is identified through the third input signal, obtaining a third output signal representing the physical change of the first user from the third artificial intelligence model; analyzing changes in the body of the first user during the reference period based on the third output signal; estimating the amount of change in the body of the first user based on a result of analyzing the change in the body of the first user; A first graph is generated using the amount of change in the body of the first user, a second graph is generated using a preset target value of the first user, and the difference between the amount of change in the body of the first user and the target value of the first user is generated. Generating a third graph using; And based on the first graph, the second graph, and the third graph, it may further include generating body change information visualizing the first user's body change and goal achievement status.

일실시예에 따르면, 인공지능 모델을 활용하여 섭취 칼로리 및 소모 칼로리를 추정함으로써, 칼로리 관리를 자동화하여 사용자 편의성이 증대될 수 있는 효과가 있다.According to one embodiment, by estimating calories consumed and calories consumed using an artificial intelligence model, user convenience can be increased by automating calorie management.

한편, 실시예들에 따른 효과들은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.Meanwhile, the effects according to the embodiments are not limited to those mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below.

도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 일실시예에 따른 인공지능 모델을 활용하여 사용자의 섭취 칼로리를 추정하는 과정을 설명하기 위한 순서도이다.
도 3은 일실시예에 따른 인공지능 모델을 활용하여 사용자의 소모 칼로리를 추정하는 과정을 설명하기 위한 순서도이다.
도 4는 일실시예에 따른 인공지능 모델을 활용하여 사용자의 신체 변화와 목표 달성 현황을 시각화한 신체 변화 정보를 생성하는 과정을 설명하기 위한 순서도이다.
도 5는 일실시예에 따른 실제 먹은 양을 확인하여 사용자의 섭취 칼로리를 추정하는 과정을 설명하기 위한 순서도이다.
도 6은 일실시예에 따른 운동 강도에 따라 구간을 구분하여 사용자의 소모 칼로리를 추정하는 과정을 설명하기 위한 순서도이다.
도 7은 일실시예에 따른 장치의 구성의 예시도이다.
1 is a diagram schematically showing the configuration of a system according to an embodiment.
Figure 2 is a flowchart illustrating a process for estimating a user's calorie intake using an artificial intelligence model according to an embodiment.
Figure 3 is a flow chart to explain the process of estimating the user's calories consumed using an artificial intelligence model according to an embodiment.
Figure 4 is a flowchart for explaining the process of generating body change information visualizing the user's body change and goal achievement status using an artificial intelligence model according to an embodiment.
Figure 5 is a flowchart illustrating a process for estimating a user's calorie intake by confirming the actual amount eaten according to an embodiment.
Figure 6 is a flow chart to explain the process of estimating the user's calories consumed by dividing sections according to exercise intensity according to an embodiment.
Figure 7 is an exemplary diagram of the configuration of a device according to an embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the attached drawings. However, various changes can be made to the embodiments, so the scope of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents, or substitutes for the embodiments are included in the scope of rights.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified and implemented in various forms. Accordingly, the embodiments are not limited to the specific disclosed form, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but these terms should be interpreted only for the purpose of distinguishing one component from another component. For example, a first component may be named a second component, and similarly, the second component may also be named a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected” to another component, it should be understood that it may be directly connected or connected to the other component, but that other components may exist in between.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are for descriptive purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by a person of ordinary skill in the technical field to which the embodiments belong. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and unless explicitly defined in the present application, should not be interpreted in an ideal or excessively formal sense. No.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, when describing with reference to the accompanying drawings, identical components will be assigned the same reference numerals regardless of the reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiments, if it is determined that detailed descriptions of related known technologies may unnecessarily obscure the gist of the embodiments, the detailed descriptions are omitted.

실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.Embodiments may be implemented in various types of products such as personal computers, laptop computers, tablet computers, smart phones, televisions, smart home appliances, intelligent vehicles, kiosks, and wearable devices.

실시예에서 인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙(Rule) 기반의 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 판매자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반의 스마트 시스템은 점차 심층 학습(Deep Learning) 기반 인공지능 시스템으로 대체되고 있다.In an embodiment, an artificial intelligence (AI) system is a computer system that implements human-level intelligence, and unlike existing rule-based smart systems, it is a system in which machines learn and make decisions on their own. As artificial intelligence systems are used, recognition rates improve and sellers' tastes can be more accurately understood, and existing rule-based smart systems are gradually being replaced by deep learning-based artificial intelligence systems.

인공지능 기술은 기계 학습 및 기계 학습을 활용한 요소기술들로 구성된다. 기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 심층 학습 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.Artificial intelligence technology consists of machine learning and element technologies using machine learning. Machine learning is an algorithmic technology that classifies/learns the characteristics of input data on its own, and elemental technology is a technology that mimics the functions of the human brain such as cognition and judgment by utilizing machine learning algorithms such as deep learning, including linguistic understanding and visual It consists of technical areas such as understanding, reasoning/prediction, knowledge expression, and motion control.

인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.The various fields where artificial intelligence technology is applied are as follows. Linguistic understanding is a technology that recognizes and applies/processes human language/characters and includes natural language processing, machine translation, conversation systems, question and answer, and voice recognition/synthesis. Visual understanding is a technology that recognizes and processes objects like human vision, and includes object recognition, object tracking, image search, person recognition, scene understanding, spatial understanding, and image improvement. Inferential prediction is a technology that judges information to make logical inferences and predictions, and includes knowledge/probability-based reasoning, optimization prediction, preference-based planning, and recommendations. Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction (data creation/classification) and knowledge management (data utilization). Motion control is a technology that controls the autonomous driving of vehicles and the movement of robots, and includes motion control (navigation, collision, driving), operation control (behavior control), etc.

일반적으로 기계 학습 알고리즘을 실생활에 적용하기 위해서는 기계 학습의 기본 방법론의 특성상 Trial and Error 방식으로 학습을 수행하게 된다. 특히, 심층 학습의 경우 수십만 번의 반복 실행을 필요로 한다. 이를 실제 물리적인 외부 환경에서 실행하기는 불가능하여 대신 실제 물리적인 외부 환경을 컴퓨터상에서 가상으로 구현하여 시뮬레이션을 통해 학습을 수행한다.Generally, in order to apply machine learning algorithms to real life, learning is performed using a trial and error method due to the nature of the basic methodology of machine learning. In particular, deep learning requires hundreds of thousands of iterations. It is impossible to execute this in an actual physical external environment, so instead, the actual physical external environment is virtually implemented on a computer and learning is performed through simulation.

도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.1 is a diagram schematically showing the configuration of a system according to an embodiment.

도 1을 참조하면, 일실시예에 따른 시스템은 통신망을 통해 서로 통신 가능한 복수의 사용자 단말(100) 및 장치(200)를 포함할 수 있다.Referring to FIG. 1, a system according to an embodiment may include a plurality of user terminals 100 and devices 200 that can communicate with each other through a communication network.

먼저, 통신망은 유선 및 무선 등과 같이 그 통신 양태를 가리지 않고 구성될 수 있으며, 서버와 서버 간의 통신과 서버와 단말 간의 통신이 수행되도록 다양한 형태로 구현될 수 있다.First, a communication network can be configured regardless of the communication mode, such as wired or wireless, and can be implemented in various forms to enable communication between servers and between servers and terminals.

복수의 사용자 단말(100) 각각은 통신 기능을 갖춘 연산 장치로 구현될 수 있으며, 예를 들면, 휴대전화기, 데스크톱 PC, 랩탑 PC, 태블릿 PC, 스마트폰 등으로 구현될 수 있으나, 이에 제한되지는 않으며, 외부 서버와 연결될 수 있는 다양한 형태의 통신 장치로 구현될 수도 있다.Each of the plurality of user terminals 100 may be implemented as a computing device with a communication function, and may be implemented as, for example, a mobile phone, a desktop PC, a laptop PC, a tablet PC, a smartphone, etc., but is not limited thereto. It can also be implemented as various types of communication devices that can be connected to external servers.

복수의 사용자 단말(100)은 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스를 제공받고자 하는 사용자들이 사용하는 단말로, 제1 사용자가 사용하는 제1 사용자 단말(110), 제2 사용자가 사용하는 제2 사용자 단말(120) 등을 포함할 수 있다.The plurality of user terminals 100 are terminals used by users who wish to estimate food calories and receive customized body change information visualization services. The first user terminal 110 is used by the first user, and the second user terminal 110 is used by the second user. It may include a second user terminal 120, etc.

복수의 사용자 단말(100) 각각은 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 복수의 사용자 단말(100)은 장치(200)와 유무선으로 통신하도록 구성될 수 있다.Each of the plurality of user terminals 100 may be configured to perform all or part of the calculation function, storage/reference function, input/output function, and control function of a typical computer. A plurality of user terminals 100 may be configured to communicate with the device 200 in a wired or wireless manner.

복수의 사용자 단말(100) 각각은 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 운영하는 웹 페이지에 접속되거나, 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 개발·배포한 애플리케이션이 설치될 수 있다. 복수의 사용자 단말(100) 각각은 웹 페이지 또는 애플리케이션을 통해 장치(200)와 연동될 수 있다.Each of the plurality of user terminals 100 is connected to a web page operated by a person or organization providing services using the device 200, or is developed and distributed by a person or organization providing services using the device 200. An application can be installed. Each of the plurality of user terminals 100 may be linked to the device 200 through a web page or application.

복수의 사용자 단말(100) 각각은 장치(200)에서 제공하는 웹 페이지, 애플리케이션을 등을 통해 장치(200)에 접속할 수 있다.Each of the plurality of user terminals 100 may access the device 200 through a web page or application provided by the device 200.

이하에서는 설명의 편의상, 제1 사용자 단말(110)의 동작을 위주로 설명하지만, 제2 사용자 단말(120) 등의 다른 사용자 단말에서 제1 사용자 단말(110)의 동작을 대신 수행할 수 있는 것은 물론이다.Hereinafter, for convenience of explanation, the operation of the first user terminal 110 will be mainly described, but of course, other user terminals such as the second user terminal 120 can perform the operation of the first user terminal 110 instead. am.

장치(200)는 장치(200)를 이용하여 서비스를 제공하는 자 내지 단체가 보유한 자체 서버일수도 있고, 클라우드 서버일 수도 있고, 분산된 노드(node)들의 p2p(peer-to-peer) 집합일 수도 있다. 장치(200)는 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 장치(200)는 추론 기능을 수행하는 적어도 하나 이상의 인공지능 모델을 구비할 수 있다.The device 200 may be its own server owned by a person or organization that provides services using the device 200, a cloud server, or a p2p (peer-to-peer) set of distributed nodes. It may be possible. The device 200 may be configured to perform all or part of the calculation function, storage/reference function, input/output function, and control function of a typical computer. The device 200 may be equipped with at least one artificial intelligence model that performs an inference function.

장치(200)는 복수의 사용자 단말(100)과 유무선으로 통신하도록 구성될 수 있으며, 복수의 사용자 단말(100) 각각의 동작을 제어하고, 복수의 사용자 단말(100) 각각의 화면에 어느 정보를 표시할 것인지에 대해 제어할 수 있다.The device 200 may be configured to communicate wired or wirelessly with a plurality of user terminals 100, control the operation of each of the plurality of user terminals 100, and display certain information on the screen of each of the plurality of user terminals 100. You can control whether to display it or not.

장치(200)는 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스를 제공하는 서버로 구현되어, 음식의 칼로리 추정과 신체 변화 정보 제공을 위한 플랫폼을 제공할 수 있다.The device 200 is implemented as a server that provides food calorie estimation and user-customized body change information visualization services, and can provide a platform for food calorie estimation and body change information provision.

한편, 설명의 편의를 위해 도 1에서는 복수의 사용자 단말(100) 중 제1 사용자 단말(110) 및 제2 사용자 단말(120)만을 도시하였으나, 단말들의 수는 실시예에 따라 얼마든지 달라질 수 있다. 장치(200)의 처리 용량이 허용하는 한, 단말들의 수는 특별한 제한이 없다.Meanwhile, for convenience of explanation, only the first user terminal 110 and the second user terminal 120 are shown in FIG. 1 among the plurality of user terminals 100, but the number of terminals may vary depending on the embodiment. . As long as the processing capacity of the device 200 allows, the number of terminals is not particularly limited.

일실시예에 따르면, 장치(200)는 인공지능을 활용하여 이미지 분석으로 음식의 종류 및 양을 인식하고, 이를 통해, 사용자의 섭취 칼로리를 추정할 수 있다. 이와 관련된 자세한 설명은 도 2를 참조하여 후술하기로 한다.According to one embodiment, the device 200 uses artificial intelligence to recognize the type and amount of food through image analysis and, through this, can estimate the user's calorie intake. A detailed description regarding this will be provided later with reference to FIG. 2 .

또한, 장치(200)는 인공지능을 활용하여 활동 정보의 분석으로 운동의 종류를 인식하고, 이를 통해, 사용자의 소모 칼로리를 추정할 수 있다. 이와 관련된 자세한 설명은 도 3을 참조하여 후술하기로 한다.Additionally, the device 200 utilizes artificial intelligence to recognize the type of exercise through analysis of activity information and, through this, can estimate the user's calories consumed. A detailed description regarding this will be provided later with reference to FIG. 3 .

또한, 장치(200)는 인공지능을 활용하여 총 칼로리 섭취량, 활동 대사량 및 기초 대사량의 분석으로 신체 변화를 파악하고, 이를 통해, 사용자의 신체 변화와 목표 달성 현황을 시각화한 신체 변화 정보를 생성할 수 있다. 이와 관련된 자세한 설명은 도 4를 참조하여 후술하기로 한다.In addition, the device 200 uses artificial intelligence to identify physical changes through analysis of total calorie intake, active metabolic rate, and basal metabolic rate, and through this, generates physical change information visualizing the user's physical changes and goal achievement status. You can. A detailed description regarding this will be provided later with reference to FIG. 4 .

본 발명에서, 인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력 등을 모방하고, 이를 컴퓨터로 구현하는 기술을 의미하고, 기계 학습, 심볼릭 로직(Symbolic Logic) 등의 개념을 포함할 수 있다. 기계 학습(Machine Learning, ML)은 입력 데이터들의 특징을 스스로 분류 또는 학습하는 알고리즘 기술이다. 인공지능의 기술은 기계 학습의 알고리즘으로써 입력 데이터를 분석하고, 그 분석의 결과를 학습하며, 그 학습의 결과에 기초하여 판단이나 예측을 할 수 있다. 또한, 기계 학습의 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술들 역시 인공지능의 범주로 이해될 수 있다. 예를 들어, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야가 포함될 수 있다.In the present invention, artificial intelligence (AI) refers to technology that imitates human learning ability, reasoning ability, perception ability, etc. and implements this with a computer, and includes concepts such as machine learning and symbolic logic. may include. Machine Learning (ML) is an algorithmic technology that classifies or learns the characteristics of input data on its own. Artificial intelligence technology is a machine learning algorithm that analyzes input data, learns the results of the analysis, and makes judgments or predictions based on the results of the learning. Additionally, technologies that mimic the functions of the human brain, such as cognition and judgment, using machine learning algorithms can also be understood as the category of artificial intelligence. For example, technical fields such as verbal understanding, visual understanding, reasoning/prediction, knowledge representation, and motion control may be included.

기계 학습은 데이터를 처리한 경험을 이용해 신경망 모델을 훈련시키는 처리를 의미할 수 있다. 기계 학습을 통해 컴퓨터 소프트웨어는 스스로 데이터 처리 능력을 향상시키는 것을 의미할 수 있다. 신경망 모델은 데이터 사이의 상관 관계를 모델링하여 구축된 것으로서, 그 상관 관계는 복수의 파라미터에 의해 표현될 수 있다. 신경망 모델은 주어진 데이터로부터 특징들을 추출하고 분석하여 데이터 간의 상관 관계를 도출하는데, 이러한 과정을 반복하여 신경망 모델의 파라미터를 최적화해 나가는 것이 기계 학습이라고 할 수 있다. 예를 들어, 신경망 모델은 입출력 쌍으로 주어지는 데이터에 대하여, 입력과 출력 사이의 매핑(상관 관계)을 학습할 수 있다. 또는, 신경망 모델은 입력 데이터만 주어지는 경우에도 주어진 데이터 사이의 규칙성을 도출하여 그 관계를 학습할 수도 있다.Machine learning can refer to the process of training a neural network model using experience processing data. Machine learning can mean that computer software improves its own data processing capabilities. A neural network model is built by modeling the correlation between data, and the correlation can be expressed by a plurality of parameters. A neural network model extracts and analyzes features from given data to derive correlations between data. Repeating this process to optimize the parameters of the neural network model can be called machine learning. For example, a neural network model can learn the mapping (correlation) between input and output for data given as input-output pairs. Alternatively, a neural network model may learn the relationships by deriving regularities between given data even when only input data is given.

인공지능 학습모델 또는 신경망 모델은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하여, 서로 간의 연결 관계를 가질 수 있다. 인공지능 학습모델에서 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 인공지능 학습모델은, 예를 들어, 인공 신경망 모델(Artificial Neural Network), 컨볼루션 신경망 모델(Convolution Neural Network: CNN) 등일 수 있다. 일 실시예로서, 인공지능 학습모델은, 지도학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 등의 방식에 따라 기계 학습될 수 있다. 기계 학습을 수행하기 위한 기계 학습 알고리즘에는, 의사결정트리(Decision Tree), 베이지안 망(Bayesian Network), 서포트 벡터 머신(Support Vector Machine), 인공 신경망(Artificial Neural Network), 에이다부스트(Ada-boost), 퍼셉트론(Perceptron), 유전자 프로그래밍(Genetic Programming), 군집화(Clustering) 등이 사용될 수 있다.An artificial intelligence learning model or neural network model may be designed to implement the human brain structure on a computer, and may include a plurality of network nodes with weights that simulate neurons of a human neural network. A plurality of network nodes may have a connection relationship with each other by simulating the synaptic activity of neurons in which neurons exchange signals through synapses. In an artificial intelligence learning model, multiple network nodes are located in layers of different depths and can exchange data according to convolutional connection relationships. The artificial intelligence learning model may be, for example, an artificial neural network model (Artificial Neural Network), a convolution neural network (CNN) model, etc. As an example, an artificial intelligence learning model may be machine-learned according to methods such as supervised learning, unsupervised learning, and reinforcement learning. Machine learning algorithms for performing machine learning include Decision Tree, Bayesian Network, Support Vector Machine, Artificial Neural Network, and Ada-boost. , Perceptron, Genetic Programming, Clustering, etc. can be used.

이중, CNN은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러 개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. CNN은 또한 표준 역전달을 통해 훈련될 수 있다. CNN은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.Among them, CNN is a type of multilayer perceptrons designed to use minimal preprocessing. CNN consists of one or several convolution layers and general artificial neural network layers on top of them, and additionally utilizes weights and pooling layers. Thanks to this structure, CNN can fully utilize input data with a two-dimensional structure. Compared to other deep learning structures, CNN shows good performance in both video and audio fields. CNNs can also be trained via standard back propagation. CNNs have the advantage of being easier to train and using fewer parameters than other feedforward artificial neural network techniques.

컨볼루션 네트워크는 묶인 파라미터들을 가지는 노드들의 집합들을 포함하는 신경 네트워크들이다. 사용 가능한 트레이닝 데이터의 크기 증가와 연산 능력의 가용성이, 구분적 선형 단위 및 드롭아웃 트레이닝과 같은 알고리즘 발전과 결합되어, 많은 컴퓨터 비전 작업들이 크게 개선되었다. 오늘날 많은 작업에 사용할 수 있는 데이터 세트들과 같은 엄청난 양의 데이터 세트에서는 초과 맞춤(outfitting)이 중요하지 않으며, 네트워크의 크기를 늘리면 테스트 정확도가 향상된다. 컴퓨팅 리소스들의 최적 사용은 제한 요소가 된다. 이를 위해, 심층 신경 네트워크들의 분산된, 확장 가능한 구현예가 사용될 수 있다.Convolutional networks are neural networks that contain sets of nodes with bound parameters. The increasing size of available training data and the availability of computational power, combined with algorithmic advances such as piecewise linear unit and dropout training, have led to significant improvements in many computer vision tasks. For extremely large data sets, such as those available for many tasks today, overfitting is not critical, and increasing the size of the network improves test accuracy. Optimal use of computing resources becomes a limiting factor. For this purpose, distributed, scalable implementations of deep neural networks can be used.

도 2는 일실시예에 따른 인공지능 모델을 활용하여 사용자의 섭취 칼로리를 추정하는 과정을 설명하기 위한 순서도이다.Figure 2 is a flowchart illustrating a process for estimating a user's calorie intake using an artificial intelligence model according to an embodiment.

도 2를 참조하면, 먼저, S201 단계에서, 장치(200)는 제1 사용자 단말(110)로부터 제1 음식을 촬영하여 생성된 제1 이미지를 수신할 수 있다.Referring to FIG. 2 , first, in step S201, the device 200 may receive a first image generated by photographing the first food from the first user terminal 110.

구체적으로, 제1 사용자 단말(110)은 제1 사용자 단말(110)에 구비된 카메라를 이용하여 제1 사용자가 먹고자 하는 제1 음식에 대한 촬영을 수행하여 제1 이미지를 생성할 수 있으며, 장치(200)는 제1 사용자 단말(110)의 카메라를 이용하여 제1 사용자가 먹고자 하는 제1 음식에 대한 촬영이 수행되면, 제1 사용자 단말(110)로부터 제1 음식을 촬영하여 생성된 제1 이미지를 수신할 수 있다.Specifically, the first user terminal 110 may generate a first image by photographing the first food that the first user wants to eat using a camera provided in the first user terminal 110, and the device (200) When the first food that the first user wants to eat is photographed using the camera of the first user terminal 110, the first food generated by photographing the first food from the first user terminal 110 Images can be received.

S202 단계에서, 장치(200)는 제1 이미지를 인코딩 하여 제1 입력 신호를 생성할 수 있다.In step S202, the device 200 may generate a first input signal by encoding the first image.

구체적으로, 장치(200)는 제1 이미지의 픽셀을 색 정보로 인코딩 하여 제1 입력 신호를 생성할 수 있다. 색 정보는 RGB 색상 정보, 명도 정보, 채도 정보를 포함할 수 있으나, 이에 국한하지 않는다. 장치(200)는 색 정보를 수치화된 값으로 환산할 수 있으며, 이 값을 포함한 데이터 시트 형태로 이미지를 인코딩할 수 있다.Specifically, the device 200 may generate a first input signal by encoding pixels of the first image into color information. Color information may include, but is not limited to, RGB color information, brightness information, and saturation information. The device 200 can convert color information into a numerical value and encode an image in the form of a data sheet including this value.

S203 단계에서, 장치(200)는 제1 입력 신호를 미리 학습된 제1 인공지능 모델에 입력할 수 있다. 여기서, 제1 인공지능 모델은 이미지 분석으로 음식의 종류 및 양을 인식하도록 학습된 상태일 수 있다.In step S203, the device 200 may input the first input signal to the first artificial intelligence model learned in advance. Here, the first artificial intelligence model may be trained to recognize the type and amount of food through image analysis.

제1 인공지능 모델은 이미지를 인코딩 하여 생성된 입력 신호를 입력 받은 후, 입력 신호를 통해 이미지 내에서 음식의 종류 및 양을 인식하여, 인식된 음식의 종류 및 양을 나타내는 출력 신호를 출력하는 알고리즘일 수 있다.The first artificial intelligence model is an algorithm that receives an input signal generated by encoding an image, recognizes the type and amount of food in the image through the input signal, and outputs an output signal indicating the type and amount of the recognized food. It can be.

일실시예에 따른 제1 인공지능 모델은 컨볼루션 신경망으로 구현되어, 컨볼루션 신경망은 특징 추출 신경망과 분류 신경망으로 구성되어 있으며, 특징 추출 신경망은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다. 컨볼루션 계층은 컨볼루션 연산, 컨볼루션 필터 및 활성함수를 포함하고 있다. 컨볼루션 필터의 계산은 대상 입력의 행렬 크기에 따라 조절되나 일반적으로 9X9 행렬을 사용한다. 활성 함수는 일반적으로 ReLU 함수, 시그모이드 함수, 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 풀링 계층은 입력의 행렬 크기를 줄이는 역할을 하는 계층으로, 특정 영역의 픽셀을 묶어 대표값을 추출하는 방식을 사용한다. 풀링 계층의 연산에는 일반적으로 평균값이나 최대값을 많이 사용하나 이에 한정하지 않는다. 해당 연산은 정방 행렬을 사용하여 진행되는데, 일반적으로 9X9 행렬을 사용한다. 컨볼루션 계층과 풀링 계층은 해당 입력이 차이를 유지한 상태에서 충분히 작아질 때까지 번갈아 반복 진행된다.The first artificial intelligence model according to one embodiment is implemented as a convolutional neural network, and the convolutional neural network consists of a feature extraction neural network and a classification neural network, and the feature extraction neural network sequentially stacks the input signal into a convolutional layer and a pooling layer. do. The convolution layer contains convolution operations, convolution filters, and activation functions. The calculation of the convolution filter is adjusted according to the matrix size of the target input, but a 9X9 matrix is generally used. The activation function generally uses, but is not limited to, the ReLU function, sigmoid function, and tanh function. The pooling layer is a layer that reduces the size of the input matrix and uses a method of extracting representative values by grouping pixels in a specific area. The calculation of the pooling layer generally uses average or maximum values, but is not limited to these. The operation is performed using a square matrix, and a 9X9 matrix is generally used. The convolution layer and the pooling layer are alternately repeated until the input becomes sufficiently small while maintaining the difference.

일실시예에 따르면, 분류 신경망은 은닉층과 출력층을 가지고 있다. 제1 인공지능 모델로 구현된 컨볼루션 신경망에서는 일반적으로 은닉층이 3개 이상 존재하며, 각 은닉층의 노드는 100개로 지정하나 경우에 따라 그 이상으로 정할 수 있다. 은닉층의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 컨볼루션 신경망의 출력층 노드는 총 2개이며, 2개의 출력층 노드를 통해 음식의 종류에 대한 출력값과 음식의 양에 대한 출력값을 각각 출력할 수 있다.According to one embodiment, a classification neural network has a hidden layer and an output layer. In the convolutional neural network implemented as the first artificial intelligence model, there are generally three or more hidden layers, and the number of nodes in each hidden layer is set to 100, but in some cases, it can be set to more. The activation function of the hidden layer uses the ReLU function, sigmoid function, and tanh function, but is not limited to these. There are a total of two output layer nodes in the convolutional neural network, and the output values for the type of food and the output value for the amount of food can be output through the two output layer nodes, respectively.

S204 단계에서, 장치(200)는 제1 입력 신호를 통해 음식의 종류가 제1 음식으로 인식되고 음식의 양이 제1 중량으로 인식되면, 제1 인공지능 모델로부터 제1 음식 및 제1 중량을 나타내는 제1 출력 신호를 획득할 수 있다.In step S204, when the type of food is recognized as the first food and the amount of food is recognized as the first weight through the first input signal, the device 200 selects the first food and the first weight from the first artificial intelligence model. A first output signal representing the signal can be obtained.

예를 들어, 장치(200)는 제1 인공지능 모델에 제1 입력 신호를 입력하고, 제1 입력 신호를 통해 음식의 종류가 햄버거로 인식되고 음식의 양이 500g으로 인식되면, 제1 인공지능 모델로부터 햄버거 및 500g을 나타내는 제1 출력 신호를 획득할 수 있다.For example, the device 200 inputs a first input signal to the first artificial intelligence model, and when the type of food is recognized as a hamburger and the amount of food is recognized as 500g through the first input signal, the first artificial intelligence model A first output signal representing hamburger and 500g may be obtained from the model.

즉, 제1 인공지능 모델은 이미지의 인코딩에 의해 생성된 제1 입력 신호를 입력으로 하고, 음식의 종류 및 양을 나타내는 정보를 출력으로 할 수 있다.That is, the first artificial intelligence model may use the first input signal generated by encoding an image as input, and information indicating the type and amount of food as output.

일실시예에 따른 인코딩은 이미지의 픽셀 별 색 정보를 수치화된 데이터 시트 형태로 저장하는 방식으로 이뤄질 수 있는데, 색 정보는 하나의 픽셀이 가지고 있는 RGB 색상, 명도 정보, 채도 정보를 포함할 수 있으나, 이에 국한하지 않는다.Encoding according to one embodiment may be accomplished by storing color information for each pixel of an image in the form of a numerical data sheet. The color information may include RGB color, brightness information, and saturation information contained in one pixel. , but is not limited to this.

일실시예에 따르면, 제1 인공지능 모델은 특징 추출 신경망과 분류 신경망으로 구성될 수 있으며, 특징 추출 신경망은 음식을 촬영한 이미지에서 음식과 배경을 분리하는 작업을 수행할 수 있으며, 분류 신경망은 이미지에 있는 음식의 종류가 어느 종류인지 파악하고, 이미지 내에 있는 음식의 양이 어느 정도인지 파악하는 작업을 수행하도록 할 수 있다.According to one embodiment, the first artificial intelligence model may be composed of a feature extraction neural network and a classification neural network. The feature extraction neural network may perform the task of separating food and background in an image of food, and the classification neural network may perform the task of separating food and background from an image of food. You can perform the task of determining what type of food is in an image and how much food is in the image.

특징 추출 신경망이 음식과 배경을 구분하는 방법은, 이미지를 인코딩한 입력 신호의 데이터 시트로부터 색 정보의 각 값들의 변화가 한 픽셀을 포함하는 8개의 픽셀 중 6개 이상에서 30% 이상의 변화가 생긴 것으로 감지되는 픽셀들의 묶음을 음식과 배경의 경계로 삼을 수 있으나, 이에 국한하지 않는다. The method by which a feature extraction neural network distinguishes between food and background is based on the data sheet of the input signal encoding the image, where the change in each value of color information is more than 30% in 6 or more of the 8 pixels including one pixel. A group of pixels that are detected as objects can be used as the boundary between food and background, but are not limited to this.

특징 추출 신경망은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다. 컨볼루션 계층은 컨볼루션 연산, 컨볼루션 필터 및 활성함수를 포함하고 있다. 컨볼루션 필터의 계산은 대상 입력의 행렬 크기에 따라 조절되나 일반적으로 9X9 행렬을 사용한다. 활성 함수는 일반적으로 ReLU 함수, 시그모이드 함수, 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 풀링 계층은 입력의 행렬 크기를 줄이는 역할을 하는 계층으로, 특정 영역의 픽셀을 묶어 대표값을 추출하는 방식을 사용한다. 풀링 계층의 연산에는 일반적으로 평균값이나 최대값을 많이 사용하나 이에 한정하지 않는다. 해당 연산은 정방 행렬을 사용하여 진행되는데, 일반적으로 9X9 행렬을 사용한다. 컨볼루션 계층과 풀링 계층은 해당 입력이 차이를 유지한 상태에서 충분히 작아질 때까지 번갈아 반복 진행된다.The feature extraction neural network sequentially stacks the input signal into a convolutional layer and a pooling layer. The convolution layer contains convolution operations, convolution filters, and activation functions. The calculation of the convolution filter is adjusted according to the matrix size of the target input, but a 9X9 matrix is generally used. The activation function generally uses, but is not limited to, the ReLU function, sigmoid function, and tanh function. The pooling layer is a layer that reduces the size of the input matrix and uses a method of extracting representative values by grouping pixels in a specific area. The calculation of the pooling layer generally uses average or maximum values, but is not limited to these. The operation is performed using a square matrix, and a 9X9 matrix is generally used. The convolution layer and the pooling layer are alternately repeated until the input becomes sufficiently small while maintaining the difference.

분류 신경망은 특징 추출 신경망을 통해 배경으로부터 구분된 음식의 형태를 확인하고, 미리 정의된 음식별 대표 음식과 유사한지 여부를 확인하여 이미지에 있는 음식이 어느 종류의 음식인지 파악할 수 있다. 이때, 음식의 비교를 위해 데이터베이스에 저장된 정보들을 활용할 수 있다.The classification neural network can identify the type of food in the image by checking the shape of the food distinguished from the background through a feature extraction neural network and checking whether it is similar to a predefined representative food for each food. At this time, information stored in the database can be used to compare foods.

분류 신경망은 음식의 종류를 파악하는 작업을 우선으로 하며, 파악된 음식의 형태 및 크기에 따라 음식의 양까지 파악할 수 있다.The classification neural network prioritizes the task of identifying the type of food, and can even determine the amount of food depending on the shape and size of the identified food.

분류 신경망은 은닉층과 출력층을 가지고 있으며, 일반적으로 은닉층이 5개 이상 존재하며, 각 은닉층의 노드는 80개로 지정하나 경우에 따라 그 이상으로 정할 수 있다. 은닉층의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 분류 신경망의 출력층 노드는 총 2개로 할 수 있다.A classification neural network has a hidden layer and an output layer. Generally, there are more than 5 hidden layers, and each hidden layer has 80 nodes, but in some cases, it can be set to more. The activation function of the hidden layer uses the ReLU function, sigmoid function, and tanh function, but is not limited to these. There can be a total of two output layer nodes in the classification neural network.

분류 신경망의 출력은 음식의 종류에 대한 출력값과 음식의 양에 대한 출력값으로, 음식의 종류가 어느 종류인지 지시하고, 음식의 양이 어느 정도인지 지시할 수 있다. 예를 들어, 출력값이 (1, 300)인 경우, 음식의 종류가 햄버거이고, 음식의 양이 300g인 것을 지시하고, 출력값이 (2, 500)인 경우, 음식의 종류가 피자이고, 음식의 양이 500g인 것을 지시할 수 있다.The output of the classification neural network is an output value for the type of food and an output value for the amount of food, which can indicate the type of food and the amount of food. For example, if the output value is (1, 300), the type of food is hamburger and the amount of food is 300g, and if the output value is (2, 500), the type of food is pizza and the amount of food is 300g. You can indicate that the amount is 500g.

일실시예에 따르면, 제1 인공지능 모델은 사용자가 제1 인공지능 모델을 통한 출력의 문제점 발견 시 사용자에 의해 입력된 수정 정답에 의해 생성되는 제1 학습 신호를 전달받아 학습할 수 있다. 제1 인공지능 모델을 통한 출력의 문제점은 음식의 종류를 다른 음식으로 지시하는 출력값을 출력한 경우이거나, 음식의 양을 다른 양으로 지시하는 출력값을 출력한 경우를 의미할 수 있다.According to one embodiment, the first artificial intelligence model may learn by receiving the first learning signal generated by the corrected answer input by the user when the user discovers a problem in the output through the first artificial intelligence model. The problem with output through the first artificial intelligence model may be that an output value indicating a different type of food is output, or an output value indicating a different amount of food is output.

일실시예에 따른 제1 학습 신호는 정답과 출력값의 오차를 바탕으로 만들어지며, 경우에 따라 델타를 이용하는 SGD나 배치 방식 혹은 역전파 알고리즘을 따르는 방식을 사용할 수 있다. 제1 인공지능 모델은 제1 학습 신호에 의해 기존의 가중치를 수정해 학습을 수행하며, 경우에 따라 모멘텀을 사용할 수 있다. 오차의 계산에는 비용함수가 사용될 수 있는데, 비용함수로 Cross entropy 함수를 사용할 수 있다.The first learning signal according to one embodiment is created based on the error between the correct answer and the output value, and in some cases, SGD using delta, a batch method, or a method following a backpropagation algorithm may be used. The first artificial intelligence model performs learning by modifying the existing weights using the first learning signal, and may use momentum in some cases. A cost function can be used to calculate the error, and the Cross entropy function can be used as the cost function.

제1 인공지능 모델의 학습이 이루어지는 학습 장치는 학습된 제1 인공지능 모델을 활용하여 이미지 분석으로 음식의 종류 및 양을 인식하는 장치(200)와 동일한 장치일 수 있고, 별개의 장치일 수도 있다. 이하에서는 제1 인공지능 모델이 학습되는 과정을 설명한다.The learning device in which learning of the first artificial intelligence model is performed may be the same device as the device 200 that recognizes the type and amount of food through image analysis using the learned first artificial intelligence model, or may be a separate device. . Below, the process by which the first artificial intelligence model is learned is explained.

제1 인공지능 모델은 트레이닝 샘플들이 입력되는 입력 레이어와 트레이닝 출력들을 출력하는 출력 레이어를 포함하고, 트레이닝 출력들과 제1 레이블들 사이의 차이에 기초하여 학습될 수 있다. 여기서, 제1 레이블들은 음식의 종류별 대표 이미지와 각 음식의 중량별 대표 이미지에 기초하여 정의될 수 있다. 제1 인공지능 모델은 복수의 노드들의 그룹으로 연결되어 있고, 연결된 노드들 사이의 가중치들과 노드들을 활성화시키는 활성화 함수에 의해 정의된다. The first artificial intelligence model includes an input layer through which training samples are input and an output layer through which training outputs are output, and may be learned based on the difference between the training outputs and the first labels. Here, the first labels may be defined based on representative images for each type of food and representative images for each weight of each food. The first artificial intelligence model is connected to a group of multiple nodes, and is defined by weights between connected nodes and an activation function that activates the nodes.

학습 장치는 GD(Gradient Decent) 기법 또는 SGD(Stochastic Gradient Descent) 기법을 이용하여 제1 인공지능 모델을 학습시킬 수 있다. 학습 장치는 제1 인공지능 모델의 출력들 및 레이블들 의해 설계된 손실 함수를 이용할 수 있다.The learning device may learn the first artificial intelligence model using the Gradient Descent (GD) technique or the Stochastic Gradient Descent (SGD) technique. The learning device may use a loss function designed by the outputs and labels of the first artificial intelligence model.

학습 장치는 미리 정의된 손실 함수(loss function)을 이용하여 트레이닝 에러를 계산할 수 있다. 손실 함수는 레이블, 출력 및 파라미터를 입력 변수로 미리 정의될 수 있고, 여기서 파라미터는 제1 인공지능 모델 내 가중치들에 의해 설정될 수 있다. 예를 들어, 손실 함수는 MSE(Mean Square Error) 형태, 엔트로피(entropy) 형태 등으로 설계될 수 있는데, 손실 함수가 설계되는 실시예에는 다양한 기법 또는 방식이 채용될 수 있다.The learning device can calculate the training error using a predefined loss function. The loss function may be predefined with a label, output, and parameter as input variables, where the parameter may be set by weights in the first artificial intelligence model. For example, the loss function may be designed in the form of MSE (Mean Square Error), entropy, etc., and various techniques or methods may be employed in embodiments in which the loss function is designed.

학습 장치는 역전파(backpropagation) 기법을 이용하여 트레이닝 에러에 영향을 주는 가중치들을 찾아낼 수 있다. 여기서, 가중치들은 제1 인공지능 모델 내 노드들 사이의 관계들이다. 학습 장치는 역전파 기법을 통해 찾아낸 가중치들을 최적화시키기 위해 레이블들 및 출력들을 이용한 SGD 기법을 이용할 수 있다. 예를 들어, 학습 장치는 레이블들, 출력들 및 가중치들에 기초하여 정의된 손실 함수의 가중치들을 SGD 기법을 이용하여 갱신할 수 있다.The learning device can find weights that affect the training error using a backpropagation technique. Here, the weights are relationships between nodes in the first artificial intelligence model. The learning device can use the SGD technique using labels and outputs to optimize the weights found through the backpropagation technique. For example, the learning device can update the weights of the loss function defined based on the labels, outputs, and weights using the SGD technique.

일실시예에 따르면, 학습 장치는 데이터베이스로부터 레이블드 트레이닝 음식 이미지들을 획득할 수 있다. 학습 장치는 음식의 종류별로 설정된 음식 이미지들과 각 음식이 중량별로 설정된 음식 이미지들에 각각 미리 레이블링된 정보를 획득할 수 있는데, 음식 이미지들은 미리 분류된 음식의 종류 및 양에 따라 레이블링될 수 있다.According to one embodiment, the learning device may acquire labeled training food images from a database. The learning device can acquire pre-labeled information on food images set by type of food and food images set by weight of each food, and the food images can be labeled according to the type and amount of pre-classified food. .

일실시예에 따르면, 학습 장치는 1000개의 레이블드 트레이닝 음식 이미지들을 획득할 수 있으며, 레이블드 트레이닝 음식 이미지들에 기초하여 제1 트레이닝 음식 벡터들을 생성할 수 있다. 제1 트레이닝 음식 벡터들을 추출하는데는 다양한 방식이 채용될 수 있다.According to one embodiment, the learning device can acquire 1000 labeled training food images and generate first training food vectors based on the labeled training food images. Various methods can be employed to extract the first training food vectors.

일실시예에 따르면, 학습 장치는 제1 트레이닝 음식 벡터들을 제1 인공지능 모델에 적용하여 제1 트레이닝 출력들을 획득할 수 있다. 학습 장치는 제1 트레이닝 출력들과 제1 레이블들에 기초하여 제1 인공지능 모델을 학습시킬 수 있다. 학습 장치는 제1 트레이닝 출력들에 대응하는 트레이닝 에러들을 계산하고, 그 트레이닝 에러들을 최소화하기 위해 제1 인공지능 모델 내 노드들의 연결 관계를 최적화하여 제1 인공지능 모델을 학습시킬 수 있다. 이를 통해, 제1 인공지능 모델은 이미지 내에 있는 음식의 종류와 음식의 양을 인식할 수 있다.According to one embodiment, the learning device may obtain first training outputs by applying the first training food vectors to the first artificial intelligence model. The learning device may learn the first artificial intelligence model based on the first training outputs and first labels. The learning device may learn the first artificial intelligence model by calculating training errors corresponding to the first training outputs and optimizing the connection relationship of nodes in the first artificial intelligence model to minimize the training errors. Through this, the first artificial intelligence model can recognize the type and amount of food in the image.

S205 단계에서, 장치(200)는 제1 출력 신호를 기초로, 제1 사용자가 제1 중량의 제1 음식을 먹는 것으로 분석할 수 있다.In step S205, the device 200 may analyze that the first user eats the first food of the first weight based on the first output signal.

즉, 장치(200)는 제1 음식 및 제1 중량을 나타내는 제1 출력 신호가 획득되면, 제1 출력 신호를 기초로, 제1 음식 및 제1 중량을 확인하고, 이를 통해, 제1 사용자가 제1 중량의 제1 음식을 먹는 것으로 분석할 수 있다.That is, when the first output signal representing the first food and the first weight is obtained, the device 200 confirms the first food and the first weight based on the first output signal, and through this, the first user It can be analyzed as eating the first food of the first weight.

장치(200)는 제1 사용자가 제1 중량의 제1 음식을 먹기 위해 제1 음식을 촬영한 것을 알려주는 알림 메시지를 제1 사용자 단말(110)로 전송할 수 있다. 이때, 장치(200)는 알림 메시지 확인을 통해 제1 음식 및 제1 중량 중 적어도 하나에 대한 수정 요청이 수신되면, 수정 요청된 내용을 통해 제1 학습 신호를 생성하고, 제1 인공지능 모델에 제1 학습 신호를 입력하여, 제1 학습 신호를 통해 제1 인공지능 모델이 학습되어 갱신되도록 처리할 수 있다.The device 200 may transmit a notification message to the first user terminal 110 notifying that the first user has photographed the first food in order to eat the first food of the first weight. At this time, when a request for modification of at least one of the first food and the first weight is received through confirmation of the notification message, the device 200 generates a first learning signal through the contents of the modification request and sends the first artificial intelligence model to the first artificial intelligence model. By inputting the first learning signal, the first artificial intelligence model can be learned and updated through the first learning signal.

S206 단계에서, 장치(200)는 제1 음식의 단위중량 당 칼로리를 제1 수치로 확인할 수 있다. 이때, 장치(200)는 제1 음식 정보를 기초로, 제1 음식의 단위중량 당 섭취 칼로리가 얼마인지 확인하여, 확인된 칼로리를 제1 수치로 설정할 수 있다. 여기서, 제1 음식 정보는 데이터베이스 또는 외부 서버를 통해 획득될 수 있다.In step S206, the device 200 may check the calories per unit weight of the first food as a first value. At this time, the device 200 may check how many calories are consumed per unit weight of the first food based on the first food information and set the confirmed calories as the first value. Here, the first food information may be obtained through a database or an external server.

S207 단계에서, 장치(200)는 제1 음식의 단위중량 당 칼로리가 제1 수치로 확인되면, 제1 수치 및 제1 중량을 곱한 값으로 제2 수치를 산출할 수 있다.In step S207, when the calories per unit weight of the first food are confirmed to be a first value, the device 200 may calculate a second value by multiplying the first value and the first weight.

예를 들어, 제1 음식의 단위중량 당 칼로리가 1g 당 2칼로리로 설정되어 있고, 제1 중량이 300g으로 확인된 경우, 장치(200)는 (2 X 300)을 통해 산출된 600칼로리를 제2 수치로 산출할 수 있다.For example, if the calories per unit weight of the first food are set to 2 calories per 1g and the first weight is confirmed to be 300g, the device 200 provides 600 calories calculated through (2 2 It can be calculated as a number.

S208 단계에서, 장치(200)는 제1 사용자가 제1 음식을 먹은 것으로 확인되면, 제1 사용자의 섭취 칼로리를 제2 수치로 추정할 수 있다.In step S208, if it is confirmed that the first user ate the first food, the device 200 may estimate the first user's calorie intake as a second value.

구체적으로, 제1 사용자는 제1 사용자 단말(110)을 통해 제1 음식에 대한 촬영을 수행한 후 촬영한 제1 음식을 먹은 경우, 제1 사용자 단말(110)의 화면에 표시된 제1 음식의 식사 완료 버튼이 선택되면, 장치(200)는 제1 사용자 단말(110)로부터 제1 음식의 식사 완료 처리 요청을 수신할 수 있고, 제1 음식의 식사 완료 처리 요청이 수신되면, 제1 사용자가 제1 음식을 먹은 것으로 확인할 수 있고, 제1 사용자가 제1 음식을 먹은 것으로 확인되면, 제1 사용자의 섭취 칼로리를 제2 수치로 추정하고, 제1 사용자의 섭취 칼로리 내역에 제2 수치를 추가하여 등록할 수 있다.Specifically, when the first user captures the first food through the first user terminal 110 and then eats the captured first food, the first food displayed on the screen of the first user terminal 110 When the meal completion button is selected, the device 200 may receive a meal completion processing request for the first food from the first user terminal 110, and when the meal completion processing request for the first food is received, the first user It can be confirmed that the first food has been eaten, and if it is confirmed that the first user has eaten the first food, the calorie intake of the first user is estimated as a second value, and the second value is added to the calorie intake history of the first user. You can register by doing this.

도 3은 일실시예에 따른 인공지능 모델을 활용하여 사용자의 소모 칼로리를 추정하는 과정을 설명하기 위한 순서도이다.Figure 3 is a flow chart to explain the process of estimating the user's calories consumed using an artificial intelligence model according to an embodiment.

도 3을 참조하면, 먼저, S301 단계에서, 장치(200)는 제1 사용자의 신체에 착용된 제1 웨어러블 기기로부터 미리 설정된 기간마다 제1 사용자의 생체 정보 및 제1 사용자의 활동 정보를 수신할 수 있다.Referring to FIG. 3, first, in step S301, the device 200 receives the first user's biometric information and the first user's activity information every preset period from the first wearable device worn on the first user's body. You can.

일실시예에 따르면, 복수의 웨어러블 기기와 장치(200)는 직접적으로 연결될 수 있고, 복수의 웨어러블 기기 각각이 복수의 사용자 단말(100)과 연결되고 복수의 사용자 단말(100)이 장치(200)와 연결되어, 복수의 웨어러블 기기와 장치(200)는 복수의 사용자 단말(100)을 통해 간접적으로 연결될 수도 있다. 이를 위해, 복수의 웨어러블 기기는 복수의 사용자 단말(100)과 대응 관계를 가질 수 있다. 예를 들어, 제1 웨어러블 기기는 제1 사용자 단말(110)과 연결되어 있는 상태에서, 제1 사용자 단말(110)은 장치(200)와 연결될 수 있다.According to one embodiment, a plurality of wearable devices and the device 200 may be directly connected, each of the plurality of wearable devices is connected to a plurality of user terminals 100, and the plurality of user terminals 100 are connected to the device 200. In connection with, a plurality of wearable devices and devices 200 may be indirectly connected through a plurality of user terminals 100. To this end, a plurality of wearable devices may have a corresponding relationship with a plurality of user terminals 100. For example, while the first wearable device is connected to the first user terminal 110, the first user terminal 110 may be connected to the device 200.

복수의 웨어러블 기기 각각은 안경, 시계, 반지 등과 같은 액세서리 형태나, 의복, 속옷과 같은 의류 형태로 구현될 수 있으나, 이에 제한되지 않으면, 실시예에 따라 다양한 형태의 기기로 구현될 수도 있다.Each of the plurality of wearable devices may be implemented in the form of accessories such as glasses, watches, rings, etc., or in the form of clothing such as clothes and underwear, but is not limited thereto, and may be implemented in various forms of devices depending on the embodiment.

복수의 웨어러블 기기 각각은 사용자의 생체 정보를 생성하기 위해, 각종 센서가 탑재될 수 있다. 이때, 센서는 심박수 센서, 혈압 센서, 심전도 센서, 온도 센서 등을 포함할 수 있으며, 이외에도, 사용자의 생체 신호를 측정하기 위한 다양한 센서가 포함될 수 있다.Each of the plurality of wearable devices may be equipped with various sensors to generate biometric information of the user. At this time, the sensor may include a heart rate sensor, a blood pressure sensor, an electrocardiogram sensor, a temperature sensor, etc. In addition, various sensors for measuring the user's biological signals may be included.

예를 들어, 제1 웨어러블 기기는 제1 사용자의 신체에 착용된 상태에서, 심박수, 혈압, 심전도, 체온 등을 측정하여, 측정 결과를 기반으로 제1 사용자의 생체 정보를 생성할 수 있다. 여기서, 제1 사용자의 생체 정보는 심박수 측정값, 혈압 측정값, 심전도 측정값 및 체온 측정값 중 적어도 하나를 포함할 수 있다.For example, the first wearable device may measure heart rate, blood pressure, electrocardiogram, body temperature, etc. while worn on the first user's body, and generate biometric information of the first user based on the measurement results. Here, the biometric information of the first user may include at least one of a heart rate measurement, a blood pressure measurement, an electrocardiogram measurement, and a body temperature measurement.

복수의 웨어러블 기기 각각은 사용자의 활동 정보를 생성하기 위해, 각종 센서가 탑재될 수 있다. 이때, 센서는 가속도 센서, 자이로 센서, 기울기 센서, GPS 센서 등을 포함할 수 있으며, 이외에도, 사용자의 활동 신호를 측정하기 위한 다양한 센서가 포함될 수 있다.Each of the plurality of wearable devices may be equipped with various sensors to generate user activity information. At this time, the sensor may include an acceleration sensor, a gyro sensor, a tilt sensor, a GPS sensor, etc. In addition, various sensors for measuring the user's activity signals may be included.

예를 들어, 제1 웨어러블 기기는 제1 사용자의 신체에 착용된 상태에서, 속도, 회전, 기울기, 위치 등을 측정하여, 측정 결과를 기반으로 제1 사용자의 활동 정보를 생성할 수 있다. 여기서, 제1 사용자의 활동 정보는 속도 측정값, 회전 측정값, 기울기 측정값 및 위치 측정값 중 적어도 하나를 포함할 수 있다.For example, the first wearable device may measure speed, rotation, tilt, position, etc. while worn on the first user's body, and generate activity information of the first user based on the measurement results. Here, the first user's activity information may include at least one of a speed measurement value, a rotation measurement value, a tilt measurement value, and a location measurement value.

즉, 제1 웨어러블 기기는 제1 사용자의 신체에 착용된 상태에서, 미리 설정된 기간마다 제1 사용자의 생체 정보 및 제1 사용자의 활동 정보를 각각 생성하면, 장치(200)는 제1 웨어러블 기기로부터 미리 설정된 기간마다 미리 설정된 기간마다 제1 사용자의 생체 정보 및 제1 사용자의 활동 정보를 수신할 수 있다.That is, when the first wearable device is worn on the first user's body and generates the first user's biometric information and the first user's activity information at preset periods, the device 200 generates The first user's biometric information and the first user's activity information may be received at preset intervals.

예를 들어, 제1 웨어러블 기기에서 10초에 1번씩 제1 사용자의 생체 정보 및 제1 사용자의 활동 정보를 각각 생성하는 경우, 장치(200)는 10초에 1번씩 제1 사용자의 생체 정보 및 제1 사용자의 활동 정보를 수신할 수 있다.For example, when the first wearable device generates the first user's biometric information and the first user's activity information once every 10 seconds, the device 200 generates the first user's biometric information and the first user's activity information once every 10 seconds. Activity information of the first user may be received.

S302 단계에서, 장치(200)는 제1 사용자의 생체 정보를 기초로, 제1 사용자가 운동을 하고 있는지 여부를 판단할 수 있다.In step S302, the device 200 may determine whether the first user is exercising based on the first user's biometric information.

즉, 장치(200)는 제1 웨어러블 기기로부터 미리 설정된 기간마다 제1 사용자의 생체 정보를 수신하고 있어, 제1 사용자의 생체 정보가 수신될 때마다, 수신된 제1 사용자의 생체 정보를 기초로, 제1 사용자가 운동을 하고 있는지 여부를 판단할 수 있다.That is, the device 200 receives the first user's biometric information from the first wearable device every preset period, and each time the first user's biometric information is received, based on the received biometric information of the first user. , it can be determined whether the first user is exercising.

구체적으로, 장치(200)는 제1 사용자의 생체 정보를 기초로, 제1 사용자의 심박수 측정값, 혈압 측정값, 심전도 측정값 및 체온 측정값 중 적어도 하나를 확인하고, 확인된 측정값을 기준으로 제1 사용자가 운동을 하고 있는지 여부를 판단할 수 있다.Specifically, the device 200 verifies at least one of the heart rate measurement value, blood pressure measurement value, electrocardiogram measurement value, and body temperature measurement value of the first user based on the biometric information of the first user, and uses the confirmed measurement value as a standard. It is possible to determine whether the first user is exercising.

예를 들어, 장치(200)는 제1 사용자의 심박수 측정값이 기준값 보다 높은 것으로 확인되면, 제1 사용자가 운동을 하고 있는 상태로 판단하고, 제1 사용자의 심박수 측정값이 기준값 보다 낮은 것으로 확인되면, 제1 사용자가 운동을 하고 있지 않은 상태로 판단할 수 있다.For example, when the device 200 determines that the first user's heart rate measurement value is higher than the reference value, the device 200 determines that the first user is exercising, and determines that the first user's heart rate measurement value is lower than the reference value. If so, it can be determined that the first user is not exercising.

S303 단계에서, 장치(200)는 제1 사용자가 운동을 하고 있는지 여부를 판단한 결과, 제1 사용자가 운동을 하고 있는 상태인지 여부를 확인할 수 있다.In step S303, the device 200 may check whether the first user is exercising as a result of determining whether the first user is exercising.

S303 단계에서 제1 사용자가 운동을 하고 있지 않은 상태로 확인되면, S301 단계로 되돌아가, 제1 사용자의 생체 정보 및 제1 사용자의 활동 정보를 수신하는 과정부터 다시 수행될 수 있다.If it is confirmed in step S303 that the first user is not exercising, the process may return to step S301 and begin again with the process of receiving the first user's biometric information and the first user's activity information.

S303 단계에서 제1 사용자가 운동을 하고 있는 상태로 확인되면, S304 단계에서, 장치(200)는 제1 시점에 수신된 제1 사용자의 생체 정보를 기초로, 제1 시점부터 제1 사용자가 운동을 하고 있는 상태로 판단된 경우, 제1 시점에 수신된 제1 사용자의 활동 정보를 인코딩 하여 제2 입력 신호를 생성할 수 있다.If it is confirmed that the first user is exercising in step S303, in step S304, the device 200 determines whether the first user is exercising from the first time based on the biometric information of the first user received at the first time. If it is determined that the user is in a state of doing , the second input signal can be generated by encoding the activity information of the first user received at the first time.

즉, 장치(200)는 제1 시점에 수신된 제1 사용자의 생체 정보를 기초로, 제1 사용자가 운동을 하고 있는지 여부를 판단한 결과, 제1 사용자가 운동을 하고 있는 상태로 판단되면, 제1 시점부터 제1 사용자가 운동을 하고 있는 상태로 판단할 수 있고, 제1 시점에 수신된 제1 사용자의 활동 정보를 인코딩 하여 제2 입력 신호를 생성할 수 있다.That is, the device 200 determines whether the first user is exercising based on the biometric information of the first user received at the first time. If it is determined that the first user is exercising, the device 200 determines whether the first user is exercising. From point 1, it can be determined that the first user is exercising, and the activity information of the first user received at the first point in time can be encoded to generate a second input signal.

구체적으로, 장치(200)는 활동 정보를 인공지능 모델의 입력으로 사용하기 위해, 활동 정보에 대해 통상의 정보 처리를 수행하여, 제2 입력 신호를 생성할 수 있다. Specifically, in order to use the activity information as input to an artificial intelligence model, the device 200 may perform normal information processing on the activity information and generate a second input signal.

S305 단계에서, 장치(200)는 미리 학습된 제2 인공지능 모델에 제2 입력 신호를 입력할 수 있다. 여기서, 제2 인공지능 모델은 활동 정보의 분석으로 운동의 종류를 인식하도록 학습된 상태일 수 있다.In step S305, the device 200 may input a second input signal to a pre-trained second artificial intelligence model. Here, the second artificial intelligence model may be trained to recognize the type of exercise through analysis of activity information.

제2 인공지능 모델은 활동 정보를 인코딩 하여 생성된 입력 신호를 입력 받은 후, 입력 신호를 통해 운동의 종류를 인식하여, 인식된 운동의 종류를 나타내는 출력 신호를 출력하는 알고리즘일 수 있다.The second artificial intelligence model may be an algorithm that receives an input signal generated by encoding activity information, recognizes the type of exercise through the input signal, and outputs an output signal indicating the recognized type of exercise.

즉, 제2 인공지능 모델은 활동 정보를 고려하여, 사용자가 무슨 운동을 하고 있는지 여부를 분석하고, 분석된 운동의 종류를 나타내는 출력 신호를 출력할 수 있다.In other words, the second artificial intelligence model can consider the activity information, analyze what type of exercise the user is doing, and output an output signal indicating the type of analyzed exercise.

S306 단계에서, 장치(200)는 제2 입력 신호를 통해 운동의 종류가 제1 운동으로 인식되면, 제2 인공지능 모델로부터 제1 운동을 나타내는 제2 출력 신호를 획득할 수 있다. 이때, 제2 출력 신호는 제1 운동을 나타내는 정보를 포함할 수 있다.In step S306, if the type of exercise is recognized as the first exercise through the second input signal, the device 200 may obtain a second output signal representing the first exercise from the second artificial intelligence model. At this time, the second output signal may include information representing the first movement.

예를 들어, 장치(200)는 제2 인공지능 모델에 제2 입력 신호를 입력하고, 제2 입력 신호를 통해 운동의 종류가 제1 운동으로 인식되면, 제2 인공지능 모델로부터 제1 운동을 나타내는 제2 출력 신호를 획득할 수 있고, 제2 입력 신호를 통해 운동의 종류가 제2 운동으로 인식되면, 제2 인공지능 모델로부터 제2 운동을 나타내는 제2 출력 신호를 획득할 수 있다.For example, the device 200 inputs a second input signal to the second artificial intelligence model, and when the type of exercise is recognized as the first exercise through the second input signal, the device 200 performs the first exercise from the second artificial intelligence model. A second output signal indicating the second exercise can be obtained, and if the type of exercise is recognized as the second exercise through the second input signal, a second output signal indicating the second exercise can be obtained from the second artificial intelligence model.

즉, 제2 인공지능 모델은 입력 신호를 통해 운동의 종류를 인식하고, 인식된 운동의 종류를 나타내는 정보를 출력으로 할 수 있다. 이를 위해, 제2 인공지능 모델은 데이터베이스에 저장되어 있는 운동별로 구분된 운동 정보에 기초하여, 사용자의 활동이 어느 종류의 운동인 것인지 분석하도록 미리 학습된 상태일 수 있다.In other words, the second artificial intelligence model can recognize the type of exercise through the input signal and output information indicating the type of recognized exercise. To this end, the second artificial intelligence model may be pre-trained to analyze what type of exercise the user's activity is based on exercise information classified by exercise stored in the database.

제2 인공지능 모델의 학습이 이루어지는 학습 장치는 학습된 제2 인공지능 모델을 활용하여 활동 정보의 분석으로 운동의 종류를 인식하는 장치(200)와 동일한 장치일 수 있고, 별개의 장치일 수도 있다. 이하에서는 제2 인공지능 모델이 학습되는 과정을 설명한다.The learning device in which learning of the second artificial intelligence model is performed may be the same device as the device 200 that recognizes the type of exercise through analysis of activity information using the learned second artificial intelligence model, or may be a separate device. . Below, the process by which the second artificial intelligence model is learned is explained.

먼저, 학습 장치는 활동 정보를 기초로 입력을 생성할 수 있다. First, the learning device can generate input based on activity information.

구체적으로, 학습 장치는 활동 정보에 대해 전처리하는 과정을 수행할 수 있다. 전처리가 수행된 활동 정보를 제2 인공지능 모델의 입력으로 그대로 사용하거나, 불필요한 정보를 제거하는 통상의 처리를 거쳐 입력을 생성할 수 있다.Specifically, the learning device may perform a preprocessing process on activity information. The pre-processed activity information can be used as input to the second artificial intelligence model, or the input can be generated through normal processing to remove unnecessary information.

다음으로, 학습 장치는 제2 인공지능 모델에 입력을 적용할 수 있다. 제2 인공지능 모델은 강화 학습(reinforcement learning)에 따라 학습되는 인공 신경망일 수 있다. 제2 인공지능 모델은 강화 학습을 통해 추상적 추론을 출력하는데 적합한 Q-Network, DQN(Depp Q-Network), 또는 관계형 네트워크(relation network, RL) 구조일 수 있다.Next, the learning device can apply input to the second artificial intelligence model. The second artificial intelligence model may be an artificial neural network learned according to reinforcement learning. The second artificial intelligence model may be a Q-Network, DQN (Depp Q-Network), or relational network (RL) structure suitable for outputting abstract inference through reinforcement learning.

강화 학습에 따라 학습되는 제2 인공지능 모델은 다양한 보상에 평가를 반영하여 갱신 및 최적화될 수 있다.The second artificial intelligence model learned according to reinforcement learning can be updated and optimized by reflecting the evaluation of various rewards.

예를 들어, 제1 보상은 사용자의 속도 측정값과 운동별 기준 속도를 비교하여 차이가 가장 작은 운동을 사용자가 하고 있는 운동으로 분석하면 보상값이 높아질 수 있고, 제2 보상은 사용자의 회전 측정값과 운동별 기준 회전을 비교하여 차이가 가장 작은 운동을 사용자가 하고 있는 운동으로 분석하면 보상값이 높아질 수 있고, 제3 보상은 사용자의 기울기 측정값과 운동별 기준 기울기를 비교하여 차이가 가장 작은 운동을 사용자가 하고 있는 운동으로 분석하면 보상값이 높아질 수 있고, 제4 보상은 사용자의 위치 측정값과 운동별 기준 위치를 비교하여 차이가 가장 작은 운동을 사용자가 하고 있는 운동으로 분석하면 보상값이 높아질 수 있다. 이때, 속도 측정값, 회전 측정값, 기울기 측정값 및 위치 측정값은 활동 정보를 통해 확인될 수 있고, 운동별 기준 속도, 기준 회전, 기준 기울기 및 기준 위치는 운동별로 구분된 운동 정보를 통해 확인될 수 있다.For example, the first compensation can increase the compensation value by comparing the user's speed measurement value with the reference speed for each exercise and analyzing the exercise with the smallest difference as the exercise the user is doing, and the second compensation is the user's rotation measurement. The compensation value can be increased by analyzing the exercise with the smallest difference as the exercise the user is doing by comparing the value with the reference rotation for each exercise, and the third compensation can be used to compare the user's tilt measurement value with the reference rotation for each exercise and have the smallest difference. If a small exercise is analyzed as the exercise the user is doing, the compensation value can be increased, and the fourth compensation is compensated by comparing the user's position measurement value with the reference position for each exercise and analyzing the exercise with the smallest difference as the exercise the user is doing. The value may increase. At this time, the speed measurement value, rotation measurement value, tilt measurement value, and position measurement value can be confirmed through activity information, and the reference speed, reference rotation, reference tilt, and reference position for each exercise can be confirmed through exercise information divided by exercise. It can be.

다음으로, 학습 장치는 제2 인공지능 모델로부터 출력을 획득할 수 있다. 이때, 제2 인공지능 모델의 출력은, 사용자가 하고 있는 운동의 종류를 나타내는 정보일 수 있다. 즉, 제2 인공지능 모델은 활동 정보의 분석으로 사용자가 하고 있는 운동의 종류를 인식하고, 인식된 운동의 종류에 대한 정보를 출력할 수 있다.Next, the learning device can obtain an output from the second artificial intelligence model. At this time, the output of the second artificial intelligence model may be information indicating the type of exercise the user is doing. In other words, the second artificial intelligence model can recognize the type of exercise the user is doing through analysis of activity information and output information about the type of exercise recognized.

다음으로, 학습 장치는 제2 인공지능 모델의 출력을 평가하여 보상을 지급할 수 있다.Next, the learning device can evaluate the output of the second artificial intelligence model and pay a reward.

예를 들어, 학습 장치는 사용자의 속도 측정값과 운동별 기준 속도를 비교하여 차이가 가장 작은 운동을 사용자가 하고 있는 운동으로 분석하면 제1 보상을 많이 수여하고, 사용자의 회전 측정값과 운동별 기준 회전을 비교하여 차이가 가장 작은 운동을 사용자가 하고 있는 운동으로 분석하면 제2 보상을 많이 수여하고, 사용자의 기울기 측정값과 운동별 기준 기울기를 비교하여 차이가 가장 작은 운동을 사용자가 하고 있는 운동으로 분석하면 제3 보상을 많이 수여하고, 사용자의 위치 측정값과 운동별 기준 위치를 비교하여 차이가 가장 작은 운동을 사용자가 하고 있는 운동으로 분석하면 제4 보상을 많이 수여할 수 있다.For example, the learning device compares the user's speed measurement value and the reference speed for each exercise, and analyzes the exercise with the smallest difference as the exercise the user is doing. If the learning device analyzes the exercise being performed by the user, it awards a large amount of the first reward, and the user's rotation measurement value and the reference speed for each exercise are analyzed. If the reference rotation is compared and the exercise with the smallest difference is analyzed as the exercise the user is doing, a large amount of secondary compensation is awarded, and the user's tilt measurement value is compared with the reference inclination for each exercise to determine whether the user is doing the exercise with the smallest difference. If analyzed as exercise, more third rewards can be awarded, and if the user's position measurement value is compared with the reference position for each exercise and the exercise with the smallest difference is analyzed as the exercise the user is doing, more fourth rewards can be awarded.

다음으로, 학습 장치는 평가를 기초로 제2 인공지능 모델을 갱신할 수 있다.Next, the learning device may update the second artificial intelligence model based on the evaluation.

구체적으로, 학습 장치는 제2 인공지능 모델이 사용자가 하고 있는 운동의 종류를 인식하는 환경(environment)에서, 보상값(reward)들의 합의 기대값(expectation)이 최대화되도록, 특정한 상태(state)들에서 취할 행동(action)들을 결정하는 정책(policy)을 최적화하는 과정을 통해 제2 인공지능 모델을 갱신할 수 있다.Specifically, the learning device sets certain states so that the expected value of the sum of rewards is maximized in an environment where the second artificial intelligence model recognizes the type of exercise the user is doing. The second artificial intelligence model can be updated through the process of optimizing the policy that determines the actions to be taken.

예를 들어, 학습 장치는 제1 사용자의 활동 정보를 기초로 제1 사용자가 하고 있는 운동의 종류가 제1 운동으로 분석한 결과에 대해 문제가 없는 경우, 제1 사용자가 하고 있는 운동의 종류가 제1 운동으로 분석한 결과에 대해 문제가 없음을 나타내는 제2 학습 신호를 생성하고, 제2 학습 신호를 제2 인공지능 모델에 적용하여, 제1 사용자의 활동과 유사한 활동을 하는 제2 사용자에 대한 운동의 종류를 분석할 때, 제2 사용자가 하고 있는 운동의 종류를 제1 운동으로 분석하도록, 제2 인공지능 모델을 학습시키는 과정을 통해, 제2 인공지능 모델을 갱신할 수 있다.For example, if there is no problem with the result of analyzing the type of exercise the first user is doing as the first exercise based on the activity information of the first user, the learning device determines the type of exercise the first user is doing. A second learning signal is generated indicating that there is no problem with the results analyzed by the first exercise, and the second learning signal is applied to the second artificial intelligence model to detect a second user who performs activities similar to those of the first user. When analyzing the type of exercise, the second artificial intelligence model can be updated through the process of training the second artificial intelligence model to analyze the type of exercise the second user is doing as the first exercise.

한편, 정책을 최적화하는 과정은 보상들의 합의 기대값의 최대값 또는 Q-함수의 최대값을 추정하거나, Q-함수의 손실 함수(loss function)의 최소값을 추정하는 과정을 통해 이루어질 수 있다. 손실함수의 최소값의 추정은 확률적 경사하강법(stochastic gradient descent, SGD) 등을 통해 이루어질 수 있다. 정책을 최적화하는 과정은 이에 제한되는 것은 아니며, 강화 학습에서 사용하는 다양한 최적화 알고리즘들이 이용될 수 있다.Meanwhile, the process of optimizing the policy can be accomplished through estimating the maximum value of the expected sum of rewards or the maximum value of the Q-function, or estimating the minimum value of the loss function of the Q-function. Estimation of the minimum value of the loss function can be done through stochastic gradient descent (SGD), etc. The process of optimizing the policy is not limited to this, and various optimization algorithms used in reinforcement learning can be used.

학습 장치는 상술한 제2 인공지능 모델의 학습 과정을 반복함으로써, 제2 인공지능 모델을 점진적으로 갱신시킬 수 있다. 이를 통해, 학습 장치는 사용자가 하고 있는 운동의 종류를 인식하여 출력하는 제2 인공지능 모델을 학습시킬 수 있다.The learning device can gradually update the second artificial intelligence model by repeating the learning process of the second artificial intelligence model described above. Through this, the learning device can learn a second artificial intelligence model that recognizes and outputs the type of exercise the user is doing.

즉, 학습 장치는 사용자가 하고 있는 운동의 종류를 분석할 때, 제1 보상 내지 제4 보상 등을 통한 강화 학습을 반영하여, 분석 기준을 조정함으로써, 제2 인공지능 모델을 학습시킬 수 있다.That is, when the learning device analyzes the type of exercise the user is doing, it can learn the second artificial intelligence model by reflecting reinforcement learning through the first to fourth rewards, etc. and adjusting the analysis standard.

S307 단계에서, 장치(200)는 제2 출력 신호를 기초로, 제1 사용자가 제1 운동을 하고 있는 것으로 분석할 수 있다.In step S307, the device 200 may analyze that the first user is doing the first exercise based on the second output signal.

즉, 장치(200)는 제1 운동을 나타내는 제2 출력 신호가 획득되면, 제2 출력 신호를 기초로, 제1 사용자가 하고 있는 운동의 종류를 제1 운동으로 확인하고, 이를 통해, 제1 사용자가 제1 운동을 하고 있는 것으로 분석할 수 있다.That is, when the second output signal representing the first exercise is obtained, the device 200 determines the type of exercise the first user is doing as the first exercise based on the second output signal, and through this, the first exercise It can be analyzed that the user is doing the first exercise.

S308 단계에서, 장치(200)는 제1 웨어러블 기기로부터 미리 설정된 기간마다 제1 사용자의 생체 정보 및 제1 사용자의 활동 정보를 수신할 수 있다.In step S308, the device 200 may receive biometric information of the first user and activity information of the first user every preset period from the first wearable device.

S309 단계에서, 장치(200)는 제1 사용자의 생체 정보를 기초로, 제1 사용자가 운동을 하고 있는지 여부를 판단할 수 있다.In step S309, the device 200 may determine whether the first user is exercising based on the first user's biometric information.

S310 단계에서, 장치(200)는 제1 사용자가 운동을 하고 있는지 여부를 판단한 결과, 제1 사용자가 운동을 하고 있는 상태인지 여부를 확인할 수 있다.In step S310, the device 200 may check whether the first user is exercising as a result of determining whether the first user is exercising.

S310 단계에서 제1 사용자가 운동을 하고 있는 상태로 확인되면, S301 단계로 되돌아가, 제1 사용자의 생체 정보 및 제1 사용자의 활동 정보를 수신하는 과정부터 다시 수행될 수 있다.If it is confirmed that the first user is exercising in step S310, the process returns to step S301 and the process of receiving the first user's biometric information and the first user's activity information may be performed again.

S310 단계에서 제1 사용자가 운동을 하고 있지 않은 상태로 확인되면, S311 단계에서, 장치(200)는 제2 시점에 수신된 제1 사용자의 생체 정보를 기초로, 제2 시점에 제1 사용자가 운동을 하고 있지 않은 상태로 판단된 경우, 제1 시점부터 제2 시점까지 제1 기간으로 설정할 수 있다. 여기서, 제2 시점은 제1 시점 이후의 시점이다.If it is confirmed in step S310 that the first user is not exercising, in step S311, the device 200 determines that the first user is not exercising at the second time, based on the biometric information of the first user received at the second time. If it is determined that the user is not exercising, the first period can be set from the first time point to the second time point. Here, the second time point is a time point after the first time point.

예를 들어, 제1 시점이 4시3분10초이고, 제2 시점이 4시5분20초인 경우, 장치(200)는 제1 시점과 제2 시점 간의 차이인 2분10초를 제1 기간으로 설정할 수 있다.For example, if the first time point is 4:03:10 and the second time point is 4:05:20, the device 200 uses the difference between the first time point and the second time point, 2 minutes 10 seconds, as the first time point. It can be set by period.

S312 단계에서, 장치(200)는 제1 운동의 단위시간 당 칼로리를 제3 수치로 확인할 수 있다. 이때, 장치(200)는 제1 운동 정보를 기초로, 제1 운동의 단위시간 당 소모 칼로리가 얼마인지 확인하여, 확인된 칼로리를 제3 수치로 설정할 수 있다. 여기서, 제1 운동 정보는 데이터베이스 또는 외부 서버를 통해 획득될 수 있다.In step S312, the device 200 may check the calories per unit time of the first exercise as a third value. At this time, the device 200 may check how many calories are consumed per unit time of the first exercise based on the first exercise information and set the confirmed calories as the third value. Here, the first exercise information may be obtained through a database or an external server.

S313 단계에서, 장치(200)는 제3 수치 및 제1 기간의 길이를 곱한 값으로 제4 수치를 산출할 수 있다.In step S313, the device 200 may calculate the fourth numerical value by multiplying the third numerical value by the length of the first period.

예를 들어, 제1 운동의 단위시간 당 칼로리가 1초 당 2칼로리로 설정되어 있고, 제1 기간의 길이가 3분으로 확인된 경우, 장치(200)는 3분을 180초로 변환한 후, (2 X 180)을 통해 산출된 360칼로리를 제4 수치로 산출할 수 있다.For example, if the calories per unit time of the first exercise are set to 2 calories per second and the length of the first period is confirmed to be 3 minutes, the device 200 converts 3 minutes into 180 seconds, and then 360 calories calculated through (2

S314 단계에서, 장치(200)는 제1 사용자가 제1 기간 동안 제1 운동을 수행한 결과, 제1 사용자의 소모 칼로리를 제4 수치로 추정할 수 있다.In step S314, the device 200 may estimate the calories consumed by the first user as a fourth value as a result of the first user performing the first exercise during the first period.

구체적으로, 제1 사용자가 운동을 하고 있지 않은 상태에서 제1 시점에 제1 사용자가 운동을 하고 있는 상태로 확인되고, 제1 사용자가 운동을 하고 있는 상태에서 제2 시점에 제1 사용자가 운동을 하고 있지 않은 상태로 확인되면, 장치(200)는 제1 시점부터 제2 시점까지 제1 사용자가 운동을 한 것으로 파악하여, 제1 사용자가 제1 기간 동안 운동을 수행한 것으로 분석하고, 제1 사용자의 소모 칼로리를 제4 수치로 추정하고, 제1 사용자의 소모 칼로리 내역에 제4 수치를 추가하여 등록할 수 있다.Specifically, it is confirmed that the first user is exercising at a first time while the first user is not exercising, and the first user is exercising at a second time while the first user is exercising. If it is determined that the first user is not exercising, the device 200 determines that the first user exercised from the first time to the second time, analyzes that the first user performed the exercise during the first period, and determines that the first user has exercised during the first period. The calorie consumption of the first user may be estimated as a fourth value, and the fourth value may be added and registered in the calorie consumption history of the first user.

도 4는 일실시예에 따른 인공지능 모델을 활용하여 사용자의 신체 변화와 목표 달성 현황을 시각화한 신체 변화 정보를 생성하는 과정을 설명하기 위한 순서도이다.Figure 4 is a flowchart for explaining the process of generating body change information visualizing the user's body change and goal achievement status using an artificial intelligence model according to an embodiment.

도 4를 참조하면, 먼저, S401 단계에서, 장치(200)는 기준 기간 동안 제1 사용자의 섭취 칼로리를 취합하여, 제1 사용자의 총 칼로리 섭취량을 산출할 수 있다. 여기서, 기준 기간은 실시예에 따라 상이하게 설정될 수 있다.Referring to FIG. 4, first, in step S401, the device 200 may calculate the total calorie intake of the first user by collecting the calories consumed by the first user during the reference period. Here, the reference period may be set differently depending on the embodiment.

예를 들어, 장치(200)는 제1 사용자의 섭취 칼로리 내역을 기반으로, 하루 동안 제1 사용자의 섭취 칼로리로 추가된 내역을 취합하여, 제1 사용자의 총 칼로리 섭취량을 산출할 수 있다.For example, the device 200 may calculate the total calorie intake of the first user by collecting details added to the calorie intake of the first user during the day, based on the calorie intake details of the first user.

S402 단계에서, 장치(200)는 기준 기간 동안 제1 사용자의 소모 칼로리를 취합하여, 제1 사용자의 활동 대사량을 산출할 수 있다.In step S402, the device 200 may calculate the active metabolic rate of the first user by collecting the calories consumed by the first user during the reference period.

예를 들어, 장치(200)는 제1 사용자의 소모 칼로리 내역을 기반으로, 하루 동안 제1 사용자의 소모 칼로리로 추가된 내역을 취합하여, 제1 사용자의 활동 대사량을 산출할 수 있다.For example, the device 200 may calculate the active metabolic rate of the first user by collecting details added to the calories consumed by the first user during the day, based on the details of calories consumed by the first user.

S403 단계에서, 장치(200)는 제1 사용자의 성별, 나이, 체중 및 키를 기반으로, 제1 사용자의 기초 대사량을 산출할 수 있다. 이때, 장치(200)는 제1 사용자 정보를 기초로, 제1 사용자의 성별, 나이, 체중 및 키를 확인하여, 제1 사용자의 기초 대사량을 산출할 수 있다. 여기서, 제1 사용자 정보는 데이터베이스 또는 제1 사용자 단말(110)을 통해 획득될 수 있다.In step S403, the device 200 may calculate the basal metabolic rate of the first user based on the first user's gender, age, weight, and height. At this time, the device 200 may check the gender, age, weight, and height of the first user based on the first user information and calculate the basal metabolic rate of the first user. Here, the first user information may be obtained through a database or the first user terminal 110.

장치(200)는 제1 사용자의 기초 대사량을 산출할 때, 해리스 베네딕트 방정식, 미핀 세이트젤 방정식 등 공지된 다양한 방식을 통해, 제1 사용자의 기초 대사량을 산출할 수 있다.When calculating the basal metabolic rate of the first user, the device 200 may calculate the basal metabolic rate of the first user through various known methods, such as the Harris Benedict equation and the Miffin Sategel equation.

S404 단계에서, 장치(200)는 제1 사용자의 총 칼로리 섭취량, 제1 사용자의 활동 대사량 및 제1 사용자의 기초 대사량을 매칭하여 매칭 정보를 생성할 수 있다.In step S404, the device 200 may generate matching information by matching the first user's total calorie intake, the first user's active metabolic rate, and the first user's basal metabolic rate.

S405 단계에서, 장치(200)는 매칭 정보를 인코딩 하여 제3 입력 신호를 생성할 수 있다.In step S405, the device 200 may generate a third input signal by encoding matching information.

구체적으로, 장치(200)는 매칭 정보를 인공지능 모델의 입력으로 사용하기 위해, 매칭 정보에 대해 통상의 정보 처리를 수행하여, 제3 입력 신호를 생성할 수 있다. Specifically, in order to use the matching information as input to an artificial intelligence model, the device 200 may perform normal information processing on the matching information and generate a third input signal.

S406 단계에서, 장치(200)는 미리 학습된 제3 인공지능 모델에 제3 입력 신호를 입력할 수 있다. 여기서, 제3 인공지능 모델은 총 칼로리 섭취량, 활동 대사량 및 기초 대사량의 분석으로 신체 변화를 파악하도록 학습된 상태일 수 있다.In step S406, the device 200 may input a third input signal to a pre-trained third artificial intelligence model. Here, the third artificial intelligence model may be trained to identify physical changes through analysis of total calorie intake, active metabolic rate, and basal metabolic rate.

제3 인공지능 모델은 총 칼로리 섭취량, 활동 대사량 및 기초 대사량을 매칭한 매칭 정보를 인코딩 하여 생성된 입력 신호를 입력 받은 후, 입력 신호를 통해 사용자의 신체 변화를 분석하여, 분석한 결과를 나타내는 출력 신호를 출력하는 알고리즘일 수 있다.The third artificial intelligence model receives an input signal generated by encoding matching information matching total calorie intake, active metabolic rate, and basal metabolic rate, then analyzes the user's body changes through the input signal, and outputs the analysis result. It may be an algorithm that outputs a signal.

즉, 제3 인공지능 모델은 총 칼로리 섭취량, 활동 대사량 및 기초 대사량을 고려하여, 사용자의 신체가 어떻게 변화할 것인지 예측하여 분석하고, 분석된 결과를 나타내는 출력 신호를 출력할 수 있다.In other words, the third artificial intelligence model can predict and analyze how the user's body will change by considering total calorie intake, active metabolic rate, and basal metabolic rate, and output an output signal representing the analyzed result.

S407 단계에서, 장치(200)는 제3 입력 신호를 통해 제1 사용자의 신체 변화가 파악되면, 제3 인공지능 모델로부터 제1 사용자의 신체 변화를 나타내는 제3 출력 신호를 획득할 수 있다.In step S407, when the change in the first user's body is identified through the third input signal, the device 200 may obtain a third output signal representing the change in the first user's body from the third artificial intelligence model.

예를 들어, 장치(200)는 제3 인공지능 모델에 제3 입력 신호를 입력하고, 제3 입력 신호를 통해 제1 사용자의 신체 변화가 체중 감소로 분석되면, 제3 인공지능 모델로부터 체중 감소를 나타내는 제3 출력 신호를 획득할 수 있고, 제3 입력 신호를 통해 제1 사용자의 신체 변화가 근육량 증가로 분석되면, 제3 인공지능 모델로부터 근육량 증가를 나타내는 제3 출력 신호를 획득할 수 있다. 이때, 제3 출력 신호는 제1 사용자의 신체 변화가 체중 감소로 분석된 경우, 체중이 얼마나 감소될 것인지를 나타내는 정보를 포함할 수 있고, 제1 사용자의 신체 변화가 근육량 증가로 분석된 경우, 근육량이 얼마나 증가할 것인지를 나타내는 정보를 포함할 수 있다.For example, the device 200 inputs a third input signal to the third artificial intelligence model, and when the change in the first user's body is analyzed as weight loss through the third input signal, the device 200 determines the weight loss from the third artificial intelligence model. A third output signal indicating an increase in muscle mass can be obtained, and if the physical change of the first user is analyzed as an increase in muscle mass through the third input signal, a third output signal indicating an increase in muscle mass can be obtained from the third artificial intelligence model. . At this time, the third output signal may include information indicating how much the body weight will be reduced when the first user's physical change is analyzed as a weight loss, and when the first user's physical change is analyzed as an increase in muscle mass, the third output signal may include information indicating how much the body weight will be reduced. It may contain information indicating how much muscle mass will be increased.

즉, 제3 인공지능 모델은 입력 신호를 통해 사용자의 신체 변화를 파악하고, 파악된 신체 변화를 나타내는 출력 신호를 출력할 수 있다. 이를 위해, 제3 인공지능 모델은 데이터베이스에 저장되어 있는 상황별로 구분된 신체 변화 정보에 기초하여, 사용자의 신체가 어떻게 변화한 것인지 분석하도록 미리 학습된 상태일 수 있다.In other words, the third artificial intelligence model can identify changes in the user's body through input signals and output an output signal representing the identified body changes. To this end, the third artificial intelligence model may be pre-trained to analyze how the user's body has changed based on body change information classified by situation stored in the database.

제3 인공지능 모델의 학습이 이루어지는 학습 장치는 학습된 제3 인공지능 모델을 활용하여 총 칼로리 섭취량, 활동 대사량 및 기초 대사량의 분석으로 신체 변화를 파악하는 장치(200)와 동일한 장치일 수 있고, 별개의 장치일 수도 있다. 이하에서는 제3 인공지능 모델이 학습되는 과정을 설명한다.The learning device in which learning of the third artificial intelligence model is performed may be the same device as the device 200 that determines physical changes by analyzing total calorie intake, active metabolic rate, and basal metabolic rate using the learned third artificial intelligence model, It may be a separate device. Below, the process by which the third artificial intelligence model is learned is explained.

먼저, 학습 장치는 총 칼로리 섭취량, 활동 대사량 및 기초 대사량을 매칭한 매칭 정보를 기초로 입력을 생성할 수 있다. First, the learning device can generate input based on matching information that matches total calorie intake, active metabolic rate, and basal metabolic rate.

구체적으로, 학습 장치는 총 칼로리 섭취량, 활동 대사량 및 기초 대사량을 매칭한 매칭 정보에 대해 전처리하는 과정을 수행할 수 있다. 전처리가 수행된 매칭 정보를 제3 인공지능 모델의 입력으로 그대로 사용하거나, 불필요한 정보를 제거하는 통상의 처리를 거쳐 입력을 생성할 수 있다.Specifically, the learning device may perform a preprocessing process on matching information that matches total calorie intake, active metabolic rate, and basal metabolic rate. The pre-processed matching information can be used as input to the third artificial intelligence model, or the input can be generated through normal processing to remove unnecessary information.

다음으로, 학습 장치는 제3 인공지능 모델에 입력을 적용할 수 있다. 제3 인공지능 모델은 강화 학습(reinforcement learning)에 따라 학습되는 인공 신경망일 수 있다. 제3 인공지능 모델은 강화 학습을 통해 추상적 추론을 출력하는데 적합한 Q-Network, DQN(Depp Q-Network), 또는 관계형 네트워크(relation network, RL) 구조일 수 있다.Next, the learning device can apply input to a third artificial intelligence model. The third artificial intelligence model may be an artificial neural network learned according to reinforcement learning. The third artificial intelligence model may be a Q-Network, DQN (Depp Q-Network), or relational network (RL) structure suitable for outputting abstract inference through reinforcement learning.

강화 학습에 따라 학습되는 제3 인공지능 모델은 다양한 보상에 평가를 반영하여 갱신 및 최적화될 수 있다.The third artificial intelligence model learned according to reinforcement learning can be updated and optimized by reflecting the evaluation of various rewards.

예를 들어, 제5 보상은 총 칼로리 섭취량이 활동 대사량 및 기초 대사량을 더한 값 보다 많을수록 체중이 더 많이 증가한 것으로 분석하면 보상값이 높아질 수 있고, 제6 보상은 총 칼로리 섭취량이 활동 대사량 및 기초 대사량을 더한 값 보다 적을수록 체중이 더 많이 감소한 것으로 분석하면 보상값이 높아질 수 있고, 제7 보상은 활동 대사량을 기초 대사량으로 나누어 산출된 활동 비율이 기준 비율 보다 높을수록 근육량이 더 많이 증가한 것으로 분석하면 보상값이 높아질 수 있고, 제8 보상은 활동 대사량을 기초 대사량으로 나누어 산출된 활동 비율이 기준 비율 보다 낮을수록 근육량이 더 많이 감소한 것으로 분석하면 보상값이 높아질 수 있다.For example, for the 5th compensation, if the total calorie intake is greater than the sum of the active metabolic rate and basal metabolic rate, the compensation value can be increased if the analysis shows that the weight has increased more, and for the 6th compensation, the compensation value can be higher if the total calorie intake is greater than the combined active metabolic rate and basal metabolic rate. If the value is less than the added value, the compensation value can be higher if analyzed as a greater weight loss, and the seventh compensation is analyzed as a greater increase in muscle mass if the activity ratio calculated by dividing the active metabolic rate by the basal metabolic rate is higher than the reference rate. The compensation value may be higher, and the eighth compensation may be higher if the activity rate calculated by dividing the active metabolic rate by the basal metabolic rate is analyzed as a lower decrease in muscle mass than the reference rate.

다음으로, 학습 장치는 제3 인공지능 모델로부터 출력을 획득할 수 있다. 이때, 제3 인공지능 모델의 출력은, 사용자의 신체 변화를 나타내는 정보일 수 있다. 즉, 제3 인공지능 모델은 총 칼로리 섭취량, 활동 대사량 및 기초 대사량을 매칭한 매칭 정보의 분석으로 사용자의 신체 변화를 파악하고, 파악된 신체 변화에 대한 정보를 출력할 수 있다. 이때, 신체 변화에 대한 정보는 현상 유지, 체중 감소, 체중 증가, 근육량 감소 및 근육량 증가 중 어느 하나를 포함할 수 있고, 체중 감소인 경우, 체중이 얼마나 감소될 것인지 나타내는 정보를 포함하고, 체중 증가인 경우, 체중이 얼마나 증가될 것인지 나타내는 정보를 포함하고, 근육량 감소인 경우, 근육량이 얼마나 감소될 것인지 나타내는 정보를 포함하고, 근육량 증가인 경우, 근육량이 얼마나 증가될 것인지 나타내는 정보를 포함할 수 있다.Next, the learning device can obtain the output from the third artificial intelligence model. At this time, the output of the third artificial intelligence model may be information indicating changes in the user's body. In other words, the third artificial intelligence model can identify changes in the user's body by analyzing matching information that matches total calorie intake, active metabolic rate, and basal metabolic rate, and output information about the identified physical changes. At this time, the information about the physical change may include any one of maintaining the status quo, weight loss, weight gain, muscle mass loss, and muscle mass increase. In the case of weight loss, it includes information indicating how much the weight will be reduced, and weight increase. In the case of a decrease in muscle mass, it includes information indicating how much the body weight will increase, in the case of a decrease in muscle mass, it includes information indicating how much the muscle mass will be decreased, and in the case of an increase in muscle mass, it may include information indicating how much the muscle mass will increase. .

다음으로, 학습 장치는 제3 인공지능 모델의 출력을 평가하여 보상을 지급할 수 있다.Next, the learning device can evaluate the output of the third artificial intelligence model and pay compensation.

예를 들어, 학습 장치는 총 칼로리 섭취량이 활동 대사량 및 기초 대사량을 더한 값 보다 많을수록 체중이 더 많이 증가한 것으로 분석하면 제5 보상을 많이 수여하고, 총 칼로리 섭취량이 활동 대사량 및 기초 대사량을 더한 값 보다 적을수록 체중이 더 많이 감소한 것으로 분석하면 제6 보상을 많이 수여하고, 활동 대사량을 기초 대사량으로 나누어 산출된 활동 비율이 기준 비율 보다 높을수록 근육량이 더 많이 증가한 것으로 분석하면 제7 보상을 많이 수여하고, 활동 대사량을 기초 대사량으로 나누어 산출된 활동 비율이 기준 비율 보다 낮을수록 근육량이 더 많이 감소한 것으로 분석하면 제8 보상을 많이 수여할 수 있다.For example, if the learning device analyzes that the total calorie intake is greater than the sum of active metabolic rate and basal metabolic rate, the greater the weight gain, it awards the fifth reward more, and if the total calorie intake is greater than the sum of active metabolic rate and basal metabolic rate, the learning device awards the fifth reward more. If it is analyzed that the lower the weight, the greater the weight loss, the 6th reward is awarded more, and if the activity ratio calculated by dividing the active metabolic rate by the basal metabolic rate is analyzed to be higher than the standard rate, the 7th reward is awarded more. , if the activity rate calculated by dividing the active metabolic rate by the basal metabolic rate is analyzed to be lower than the standard rate, the greater the decrease in muscle mass, the 8th compensation can be awarded more.

다음으로, 학습 장치는 평가를 기초로 제3 인공지능 모델을 갱신할 수 있다.Next, the learning device may update the third artificial intelligence model based on the evaluation.

구체적으로, 학습 장치는 제3 인공지능 모델이 사용자의 신체 변화를 분석하는 환경(environment)에서, 보상값(reward)들의 합의 기대값(expectation)이 최대화되도록, 특정한 상태(state)들에서 취할 행동(action)들을 결정하는 정책(policy)을 최적화하는 과정을 통해 제3 인공지능 모델을 갱신할 수 있다.Specifically, the learning device determines actions to be taken in specific states so that the expected value of the sum of rewards is maximized in an environment where a third artificial intelligence model analyzes changes in the user's body. The third artificial intelligence model can be updated through the process of optimizing the policy that determines actions.

예를 들어, 학습 장치는 제1 사용자의 총 칼로리 섭취량, 제1 사용자의 활동 대사량 및 제1 사용자의 기초 대사량을 매칭한 매칭 정보를 기초로 제1 사용자의 신체 변화를 분석한 결과에 대해 문제가 없는 경우, 제1 사용자의 신체 변화를 분석한 결과에 대해 문제가 없음을 나타내는 제3 학습 신호를 생성하고, 제3 학습 신호를 제3 인공지능 모델에 적용하여, 제1 사용자와 유사한 칼로리 섭취량, 활동 대사량 및 기초 대사량을 가지고 있는 제2 사용자에 대한 신체 변화를 분석할 때, 제2 사용자의 신체 변화를 제1 사용자의 신체 변화와 유사하게 분석하도록, 제3 인공지능 모델을 학습시키는 과정을 통해, 제3 인공지능 모델을 갱신할 수 있다.For example, the learning device has a problem with the results of analyzing the physical changes of the first user based on matching information that matches the first user's total calorie intake, the first user's active metabolic rate, and the first user's basal metabolic rate. If there is none, a third learning signal is generated indicating that there is no problem with the results of analyzing the first user's body changes, and the third learning signal is applied to the third artificial intelligence model to obtain a calorie intake similar to that of the first user; When analyzing the physical changes of a second user who has an active metabolic rate and basal metabolic rate, through the process of learning a third artificial intelligence model to analyze the physical changes of the second user similarly to the physical changes of the first user. , the third artificial intelligence model can be updated.

한편, 정책을 최적화하는 과정은 보상들의 합의 기대값의 최대값 또는 Q-함수의 최대값을 추정하거나, Q-함수의 손실 함수(loss function)의 최소값을 추정하는 과정을 통해 이루어질 수 있다. 손실함수의 최소값의 추정은 확률적 경사하강법(stochastic gradient descent, SGD) 등을 통해 이루어질 수 있다. 정책을 최적화하는 과정은 이에 제한되는 것은 아니며, 강화 학습에서 사용하는 다양한 최적화 알고리즘들이 이용될 수 있다.Meanwhile, the process of optimizing the policy can be accomplished through estimating the maximum expected value of the sum of rewards or the maximum value of the Q-function, or estimating the minimum value of the loss function of the Q-function. Estimation of the minimum value of the loss function can be done through stochastic gradient descent (SGD), etc. The process of optimizing the policy is not limited to this, and various optimization algorithms used in reinforcement learning can be used.

학습 장치는 상술한 제3 인공지능 모델의 학습 과정을 반복함으로써, 제3 인공지능 모델을 점진적으로 갱신시킬 수 있다. 이를 통해, 학습 장치는 사용자의 신체 변화를 분석하여 출력하는 제3 인공지능 모델을 학습시킬 수 있다.The learning device can gradually update the third artificial intelligence model by repeating the learning process of the third artificial intelligence model described above. Through this, the learning device can learn a third artificial intelligence model that analyzes and outputs changes in the user's body.

즉, 학습 장치는 사용자의 신체 변화를 분석할 때, 제5 보상 내지 제8 보상 등을 통한 강화 학습을 반영하여, 분석 기준을 조정함으로써, 제3 인공지능 모델을 학습시킬 수 있다.That is, when analyzing changes in the user's body, the learning device can learn a third artificial intelligence model by reflecting reinforcement learning through the fifth to eighth rewards, etc. and adjusting the analysis standard.

S408 단계에서, 장치(200)는 제3 출력 신호를 기초로, 기준 기간 동안 제1 사용자의 신체 변화를 분석할 수 있다.In step S408, the device 200 may analyze changes in the first user's body during the reference period based on the third output signal.

즉, 장치(200)는 제1 사용자의 신체 변화를 나타내는 제3 출력 신호가 획득되면, 제3 출력 신호를 기초로, 제1 사용자의 신체 변화가 어떻게 얼마나 많이 변화하였는지 확인하고, 이를 통해, 기준 기간 동안 제1 사용자의 신체 변화를 분석할 수 있다.That is, when the third output signal representing the change in the body of the first user is obtained, the device 200 determines how and how much the change in the body of the first user has changed based on the third output signal, and through this, sets the standard Changes in the first user's body can be analyzed during the period.

예를 들어, 장치(200)는 제3 출력 신호를 기초로, 기준 기간 동안 제1 사용자의 신체 변화를 현상 유지, 체중 감소, 체중 증가, 근육량 감소 및 근육량 증가 중 어느 하나로 확인할 수 있고, 체중 감소인 경우, 기준 기간 동안 체중이 얼마나 감소되었는지 확인하고, 체중 증가인 경우, 기준 기간 동안 체중이 얼마나 증가되었는지 확인하고, 근육량 감소인 경우, 기준 기간 동안 근육량이 얼마나 감소되었는지 확인하고, 근육량 증가인 경우, 기준 기간 동안 근육량이 얼마나 증가되었는지 확인할 수 있다.For example, based on the third output signal, the device 200 may determine the physical change of the first user during the reference period as one of maintaining status quo, weight loss, weight gain, muscle mass decrease, and muscle mass increase, and weight loss. If , check how much weight was lost during the baseline period. If weight gain, check how much weight was gained during the baseline period. If muscle mass was decreased, check how much muscle mass was lost during the baseline period. If muscle mass was increased, check how much muscle mass was lost during the baseline period. , you can check how much muscle mass has increased during the standard period.

S409 단계에서, 장치(200)는 제1 사용자의 신체 변화를 분석한 결과를 기반으로, 제1 사용자의 신체 변화량을 추정할 수 있다.In step S409, the device 200 may estimate the amount of change in the first user's body based on the result of analyzing the change in the first user's body.

예를 들어, 장치(200)는 제1 사용자의 신체 변화가 현상 유지로 확인되면, 제1 사용자의 신체 변화량을 0으로 추정할 수 있고, 제1 사용자의 신체 변화가 1kg 체중 감소로 확인되면, 제1 사용자의 신체 변화량을 체중 1kg 감소로 추정할 수 있고, 제1 사용자의 신체 변화가 1kg 체중 증가로 확인되면, 제1 사용자의 신체 변화량을 체중 1kg 증가로 추정할 수 있고, 제1 사용자의 신체 변화가 1kg 근육량 감소로 확인되면, 제1 사용자의 신체 변화량을 근육량 1kg 감소로 추정할 수 있고, 제1 사용자의 신체 변화가 1kg 근육량 증가로 확인되면, 제1 사용자의 신체 변화량을 근육량 1kg 증가로 추정할 수 있다.For example, if the physical change of the first user is confirmed to be the status quo, the device 200 may estimate the amount of physical change of the first user as 0, and if the physical change of the first user is confirmed to be 1 kg weight loss, the device 200 may estimate the amount of physical change of the first user as 0. The amount of physical change of the first user can be estimated as a weight loss of 1kg, and if the first user's physical change is confirmed to be a 1kg weight increase, the amount of physical change of the first user can be estimated as a 1kg weight increase, and the first user's physical change can be estimated as a 1kg weight increase. If the physical change is confirmed to be a 1kg decrease in muscle mass, the first user's physical change can be estimated as a 1kg decrease in muscle mass, and if the first user's physical change is confirmed to be a 1kg increase in muscle mass, the first user's physical change can be estimated to be a 1kg increase in muscle mass. It can be estimated as

S410 단계에서, 장치(200)는 제1 사용자의 신체 변화량을 이용하여 제1 그래프를 생성할 수 있다.In step S410, the device 200 may generate a first graph using the amount of change in the first user's body.

예를 들어, 제1 사용자의 체중이 60kg으로 설정되어 있는 경우, 제1 사용자의 신체 변화량이 1kg 감소로 확인되면, 장치(200)는 60kg에서 59kg로 변화하는 제1 그래프를 생성할 수 있다.For example, if the first user's body weight is set to 60 kg and the amount of change in the first user's body is confirmed to be reduced by 1 kg, the device 200 may generate a first graph showing the change from 60 kg to 59 kg.

S411 단계에서, 장치(200)는 제1 사용자의 목표치를 이용하여 제2 그래프를 생성할 수 있다.In step S411, the device 200 may generate a second graph using the first user's target value.

예를 들어, 제1 사용자의 목표치가 체중 55kg로 설정되어 있는 경우, 장치(200)는 55kg를 기준선으로 제2 그래프를 생성할 수 있다.For example, if the first user's target weight is set to 55kg, the device 200 may generate a second graph using 55kg as the baseline.

S412 단계에서, 장치(200)는 제1 사용자의 신체 변화량 및 제1 사용자의 목표치 간의 차이를 이용하여 제3 그래프를 생성할 수 있다.In step S412, the device 200 may generate a third graph using the difference between the amount of change in the first user's body and the first user's target value.

예를 들어, 제1 사용자의 체중이 60kg에서 59kg 변화하고 제1 사용자의 목표치가 체중 55kg로 설정되어 있는 경우, 장치(200)는 제1 사용자의 체중과 목표치 간의 차이가 5kg에서 4kg로 변화하는 제3 그래프를 생성할 수 있다.For example, if the first user's weight changes from 60 kg to 59 kg and the first user's target value is set to a weight of 55 kg, the device 200 changes the difference between the first user's weight and the target value from 5 kg to 4 kg. A third graph can be created.

S413 단계에서, 장치(200)는 제1 그래프, 제2 그래프 및 제3 그래프를 기반으로, 제1 사용자의 신체 변화와 목표 달성 현황을 시각화한 신체 변화 정보를 생성할 수 있다. 이때, 장치(200)는 제1 그래프, 제2 그래프 및 제3 그래프를 개별적으로 표시한 신체 변화 정보를 생성할 수 있고, 제1 그래프, 제2 그래프 및 제3 그래프를 하나로 통합하여 표시한 신체 변화 정보를 생성할 수도 있다.In step S413, the device 200 may generate body change information visualizing the first user's body change and goal achievement status based on the first graph, second graph, and third graph. At this time, the device 200 may generate body change information that displays the first graph, second graph, and third graph individually, and displays the body by integrating the first graph, second graph, and third graph into one. Change information can also be generated.

장치(200)는 신체 변화 정보를 생성하면, 생성된 신체 변화 정보를 제1 사용자 단말(110)로 전송할 수 있다.When the device 200 generates body change information, it may transmit the generated body change information to the first user terminal 110 .

도 5는 일실시예에 따른 실제 먹은 양을 확인하여 사용자의 섭취 칼로리를 추정하는 과정을 설명하기 위한 순서도이다.Figure 5 is a flowchart illustrating a process for estimating a user's calorie intake by confirming the actual amount eaten according to an embodiment.

도 5를 참조하면, 먼저, S501 단계에서, 장치(200)는 제1 사용자 단말(110)로부터 남아있는 제1 음식을 촬영하여 생성된 제2 이미지를 수신할 수 있다.Referring to FIG. 5 , first, in step S501, the device 200 may receive a second image generated by photographing the remaining first food from the first user terminal 110.

구체적으로, 제1 사용자 단말(110)은 제1 사용자 단말(110)에 구비된 카메라를 이용하여 제1 사용자가 제1 음식을 먹은 이후에 남아있는 제1 음식에 대한 촬영을 수행하여 제2 이미지를 생성할 수 있으며, 장치(200)는 제1 사용자 단말(110)의 카메라를 이용하여 제1 사용자가 제1 음식을 먹은 이후에 남아있는 제1 음식에 대한 촬영이 수행되면, 제1 사용자 단말(110)로부터 남아있는 제1 음식을 촬영하여 생성된 제2 이미지를 수신할 수 있다.Specifically, the first user terminal 110 uses a camera provided in the first user terminal 110 to photograph the first food remaining after the first user eats the first food to create a second image. Can be generated, and when the device 200 uses the camera of the first user terminal 110 to photograph the first food remaining after the first user eats the first food, the first user terminal 110 A second image generated by photographing the remaining first food may be received from 110 .

S502 단계에서, 장치(200)는 제2 이미지를 인코딩 하여 제1-1 입력 신호를 생성할 수 있다.In step S502, the device 200 may generate a 1-1 input signal by encoding the second image.

S503 단계에서, 장치(200)는 제1-1 입력 신호를 미리 학습된 제1 인공지능 모델에 입력할 수 있다.In step S503, the device 200 may input the 1-1 input signal to the first artificial intelligence model learned in advance.

S504 단계에서, 장치(200)는 제1-1 입력 신호를 통해 음식의 종류가 제1 음식으로 인식되고 음식의 양이 제2 중량으로 인식되면, 제1 인공지능 모델로부터 제1 음식 및 제2 중량을 나타내는 제1-1 출력 신호를 획득할 수 있다.In step S504, when the type of food is recognized as the first food and the amount of food is recognized as the second weight through the 1-1 input signal, the device 200 selects the first food and the second food from the first artificial intelligence model. A 1-1 output signal representing the weight can be obtained.

S505 단계에서, 장치(200)는 제1-1 출력 신호를 기초로, 제1 사용자가 제2 중량의 제1 음식을 남긴 것으로 분석할 수 있다.In step S505, the device 200 may analyze that the first user left the first food of the second weight based on the 1-1 output signal.

S506 단계에서, 장치(200)는 제1 중량에서 제2 중량을 차감하여 제3 중량을 산출할 수 있다.In step S506, the device 200 may calculate the third weight by subtracting the second weight from the first weight.

즉, 장치(200)는 먹기 전 제1 음식의 중량인 제1 중량에서, 먹은 후 남긴 제1 음식의 중량인 제2 중량을 차감하여, 제1 사용자가 실제 먹은 음식의 중량인 제3 중량을 산출할 수 있다.That is, the device 200 subtracts the second weight, which is the weight of the first food left after eating, from the first weight, which is the weight of the first food before eating, and calculates the third weight, which is the weight of the food actually eaten by the first user. It can be calculated.

S507 단계에서, 장치(200)는 제1 수치 및 제3 중량을 곱한 값으로 제5 수치를 산출할 수 있다.In step S507, the device 200 may calculate the fifth value by multiplying the first value and the third weight.

S508 단계에서, 장치(200)는 제1 사용자의 섭취 칼로리를 제5 수치로 추정할 수 있다.In step S508, the device 200 may estimate the first user's calorie intake as a fifth value.

즉, 장치(200)는 제1 사용자가 실제 먹은 음식의 중량을 확인하여, 제1 사용자의 섭취 칼로리를 제2 수치가 아닌 제5 수치로 추정할 수 있다.That is, the device 200 may check the weight of food actually eaten by the first user and estimate the first user's calorie intake as the fifth value rather than the second value.

도 6은 일실시예에 따른 운동 강도에 따라 구간을 구분하여 사용자의 소모 칼로리를 추정하는 과정을 설명하기 위한 순서도이다.Figure 6 is a flow chart to explain the process of estimating the user's calories consumed by dividing sections according to exercise intensity according to an embodiment.

도 6을 참조하면, S601 단계에서, 장치(200)는 제1 사용자의 생체 정보가 심박수를 측정한 측정값인 경우, 제1 웨어러블 기기로부터 제1 기간 동안 제1 사용자의 심박수 측정값에 대한 모니터링 결과를 수신할 수 있다. 이를 위해, 제1 웨어러블 기기는 제1 기간 동안 제1 사용자의 심박수를 계속 측정하여 모니터링할 수 있으며, 제1 기간 동안 제1 사용자의 심박수 측정값에 대한 모니터링 결과를 생성할 수 있다.Referring to FIG. 6, in step S601, when the biometric information of the first user is a heart rate measurement value, the device 200 monitors the heart rate measurement value of the first user for a first period from the first wearable device. You can receive the results. To this end, the first wearable device may continuously measure and monitor the heart rate of the first user during the first period and generate monitoring results for the heart rate measurement value of the first user during the first period.

S602 단계에서, 장치(200)는 모니터링 결과를 기초로, 제1 기간 중에서 제1 사용자의 심박수 측정값이 제1 기준치 보다 낮은 구간을 제1 구간으로 분류할 수 있다. 여기서, 제1 기준치는 사용자가 휴식을 하고 있는지 또는 운동을 하고 있는지를 구분하기 위해 설정될 수 있으며, 실시예에 따라 상이하게 설정될 수 있다. 즉, 제1 기준치 보다 심박수 측정값이 낮은 경우 사용자가 휴식을 하고 있는 것으로 분석되고, 제1 기준치 보다 심박수 측정값이 높은 경우 사용자가 운동을 하고 있는 것으로 분석될 수 있다.In step S602, based on the monitoring result, the device 200 may classify a section in the first period in which the measured heart rate value of the first user is lower than the first reference value as the first section. Here, the first reference value may be set to distinguish whether the user is resting or exercising, and may be set differently depending on the embodiment. That is, if the heart rate measurement value is lower than the first reference value, it may be analyzed that the user is resting, and if the heart rate measurement value is higher than the first reference value, it may be analyzed as the user exercising.

S603 단계에서, 장치(200)는 모니터링 결과를 기초로, 제1 기간 중에서 제1 사용자의 심박수 측정값이 제1 기준치 보다 높지만 제2 기준치 보다 낮은 구간을 제2 구간으로 분류할 수 있다. 여기서, 제2 기준치는 사용자가 저강도 운동을 하고 있는지 또는 고강도 운동을 하고 있는지를 구분하기 위해 설정될 수 있으며, 실시예에 따라 상이하게 설정될 수 있다. 즉, 제2 기준치 보다 심박수 측정값이 낮은 경우 사용자가 저강도 운동을 하고 있는 것으로 분석되고, 제2 기준치 보다 심박수 측정값이 높은 경우 사용자가 고강도 운동을 하고 있는 것으로 분석될 수 있다.In step S603, based on the monitoring results, the device 200 may classify a section in the first period in which the measured heart rate value of the first user is higher than the first reference value but lower than the second reference value as a second section. Here, the second reference value may be set to distinguish whether the user is engaging in low-intensity exercise or high-intensity exercise, and may be set differently depending on the embodiment. That is, if the heart rate measurement value is lower than the second reference value, it may be analyzed that the user is engaging in low-intensity exercise, and if the heart rate measurement value is higher than the second reference value, the user may be analyzed as engaging in high-intensity exercise.

S604 단계에서, 장치(200)는 모니터링 결과를 기초로, 제1 기간 중에서 제1 사용자의 심박수 측정값이 제2 기준치 보다 높은 구간을 제3 구간으로 분류할 수 있다.In step S604, based on the monitoring result, the device 200 may classify a section in the first period in which the measured heart rate value of the first user is higher than the second reference value as a third section.

S605 단계에서, 장치(200)는 제1 구간을 제1 운동의 휴식 구간으로 설정할 수 있다.In step S605, the device 200 may set the first section as a rest section of the first exercise.

S606 단계에서, 장치(200)는 제2 구간을 제1 운동의 저강도 운동 구간으로 설정할 수 있다.In step S606, the device 200 may set the second section as the low-intensity exercise section of the first exercise.

S607 단계에서, 장치(200)는 제3 구간을 제1 운동의 고강도 운동 구간으로 설정할 수 있다.In step S607, the device 200 may set the third section as the high-intensity exercise section of the first exercise.

S608 단계에서, 장치(200)는 제1 가중치, 제3 수치 및 제1 구간의 길이를 곱한 값으로 제6 수치를 산출할 수 있다. 여기서, 제1 가중치는 실시예에 따라 상이하게 설정될 수 있으며, 예를 들면, 1 보다 작은 수로 설정될 수 있다.In step S608, the device 200 may calculate the sixth value by multiplying the first weight, the third value, and the length of the first section. Here, the first weight may be set differently depending on the embodiment, and for example, may be set to a number less than 1.

예를 들어, 제1 가중치가 0.9로 설정되어 있고, 제3 수치가 1초 당 2칼로리로 설정되어 있고, 제1 구간의 길이가 50초로 확인된 경우, 장치(200)는 (0.9 X 2 X 50)을 통해 산출된 90칼로리를 제6 수치로 산출할 수 있다.For example, if the first weight is set to 0.9, the third value is set to 2 calories per second, and the length of the first section is confirmed to be 50 seconds, device 200 determines (0.9 50), the 90 calories calculated can be calculated as the sixth number.

S609 단계에서, 장치(200)는 제2 가중치, 제3 수치 및 제2 구간의 길이를 곱한 값으로 제7 수치를 산출할 수 있다. 여기서, 제2 가중치는 제1 가중치 보다 높은 값으로 설정되어, 실시예에 따라 상이하게 설정될 수 있으며, 예를 들면, 1로 설정될 수 있다.In step S609, the device 200 may calculate the seventh numerical value by multiplying the second weight, the third numerical value, and the length of the second section. Here, the second weight is set to a higher value than the first weight and may be set differently depending on the embodiment, for example, may be set to 1.

예를 들어, 제2 가중치가 1로 설정되어 있고, 제3 수치가 1초 당 2칼로리로 설정되어 있고, 제2 구간의 길이가 50초로 확인된 경우, 장치(200)는 (1 X 2 X 50)을 통해 산출된 100칼로리를 제7 수치로 산출할 수 있다.For example, if the second weight is set to 1, the third value is set to 2 calories per second, and the length of the second section is confirmed to be 50 seconds, device 200 determines (1 50), 100 calories can be calculated as the 7th number.

S610 단계에서, 장치(200)는 제3 가중치, 제3 수치 및 제3 구간의 길이를 곱한 값으로 제8 수치를 산출할 수 있다. 여기서, 제3 가중치는 제2 가중치 보다 높은 값으로 설정되어, 실시예에 따라 상이하게 설정될 수 있으며, 예를 들면, 1 보다 큰 수로 설정될 수 있다.In step S610, the device 200 may calculate the eighth numerical value by multiplying the third weight, the third numerical value, and the length of the third section. Here, the third weight is set to a higher value than the second weight and may be set differently depending on the embodiment, for example, may be set to a number greater than 1.

예를 들어, 제3 가중치가 1.1로 설정되어 있고, 제3 수치가 1초 당 2칼로리로 설정되어 있고, 제3 구간의 길이가 50초로 확인된 경우, 장치(200)는 (1.1 X 2 X 50)을 통해 산출된 110칼로리를 제8 수치로 산출할 수 있다.For example, if the third weight is set to 1.1, the third value is set to 2 calories per second, and the length of the third section is confirmed to be 50 seconds, the device 200 calculates (1.1 50), 110 calories can be calculated as the 8th number.

S611 단계에서, 장치(200)는 제6 수치, 제7 수치 및 제8 수치를 합산하여 제9 수치를 산출할 수 있다.In step S611, the device 200 may calculate the ninth numerical value by adding the sixth numerical value, the seventh numerical value, and the eighth numerical value.

S612 단계에서, 장치(200)는 제1 기간 동안 제1 사용자의 소모 칼로리를 제9 수치로 추정할 수 있다.In step S612, the device 200 may estimate the calories consumed by the first user during the first period as a ninth value.

즉, 장치(200)는 제1 사용자의 운동 강도에 따라 휴식 구간, 저강도 운동 구간 및 고강도 운동 구간을 구분하고 각 구간의 길이를 확인하여, 제1 기간 동안 제1 사용자의 소모 칼로리를 제4 수치가 아닌 제9 수치로 추정할 수 있다.That is, the device 200 divides the rest section, low-intensity exercise section, and high-intensity exercise section according to the exercise intensity of the first user, checks the length of each section, and calculates the calories consumed by the first user during the first period into the fourth section. It can be estimated using the 9th figure, not the numerical value.

도 7은 일실시예에 따른 장치의 구성의 예시도이다.Figure 7 is an exemplary diagram of the configuration of a device according to an embodiment.

일실시예에 따른 장치(200)는 프로세서(210) 및 메모리(220)를 포함한다. 프로세서(210)는 도 1 내지 도 6을 참조하여 전술된 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 6을 참조하여 전술된 적어도 하나의 방법을 수행할 수 있다. 장치(200)를 이용하는 자 또는 단체는 도 1 내지 도 6을 참조하여 전술된 방법들 일부 또는 전부와 관련된 서비스를 제공할 수 있다.Device 200 according to one embodiment includes a processor 210 and memory 220. The processor 210 may include at least one device described above with reference to FIGS. 1 to 6 or may perform at least one method described above with reference to FIGS. 1 to 6 . A person or organization using the device 200 may provide services related to some or all of the methods described above with reference to FIGS. 1 to 6 .

메모리(220)는 전술된 방법들과 관련된 정보를 저장하거나 후술되는 방법들이 구현된 프로그램을 저장할 수 있다. 메모리(220)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.The memory 220 may store information related to the methods described above or store a program in which methods described later are implemented. Memory 220 may be volatile memory or non-volatile memory.

프로세서(210)는 프로그램을 실행하고, 장치(200)를 제어할 수 있다. 프로세서(210)에 의하여 실행되는 프로그램의 코드는 메모리(220)에 저장될 수 있다. 장치(200)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 유무선 통신을 통해 데이터를 교환할 수 있다.The processor 210 can execute programs and control the device 200. The code of the program executed by the processor 210 may be stored in the memory 220. The device 200 is connected to an external device (eg, a personal computer or a network) through an input/output device (not shown) and can exchange data through wired or wireless communication.

장치(200)는 인공지능 모델을 학습시키거나, 학습된 인공지능 모델을 이용하는데 사용될 수 있다. 메모리(220)는 학습 중인 또는 학습된 인공지능 모델을 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 인공지능 모델 알고리즘을 학습시키거나 실행시킬 수 있다. 인공지능 모델을 학습시키는 학습 장치와 학습된 인공지능 모델을 이용하는 장치(200)는 동일할 수도 있고 개별적일 수도 있다.The device 200 may be used to learn an artificial intelligence model or use a learned artificial intelligence model. Memory 220 may include a learning or learned artificial intelligence model. The processor 210 may learn or execute the artificial intelligence model algorithm stored in the memory 220. The learning device that trains the artificial intelligence model and the device 200 that uses the learned artificial intelligence model may be the same or may be separate.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, and a field programmable gate (FPGA). It may be implemented using one or more general-purpose or special-purpose computers, such as an array, programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. A processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed over networked computer systems and thus stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with limited drawings as described above, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the following claims.

Claims (3)

장치에 의해 수행되는, 인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법에 있어서,
제1 사용자 단말의 카메라를 이용하여 제1 사용자가 먹고자 하는 제1 음식에 대한 촬영이 수행되면, 상기 제1 사용자 단말로부터 상기 제1 음식을 촬영하여 생성된 제1 이미지를 수신하는 단계;
상기 제1 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계;
이미지 분석으로 음식의 종류 및 양을 인식하도록 학습된 제1 인공지능 모델에 상기 제1 입력 신호를 입력하는 단계;
상기 제1 입력 신호를 통해 음식의 종류가 상기 제1 음식으로 인식되고 음식의 양이 제1 중량으로 인식되면, 상기 제1 인공지능 모델로부터 상기 제1 음식 및 상기 제1 중량을 나타내는 제1 출력 신호를 획득하는 단계;
상기 제1 출력 신호를 기초로, 상기 제1 사용자가 상기 제1 중량의 상기 제1 음식을 먹는 것으로 분석하는 단계;
상기 제1 음식의 단위중량 당 칼로리가 제1 수치로 확인되면, 상기 제1 수치 및 상기 제1 중량을 곱한 값으로 제2 수치를 산출하는 단계; 및
상기 제1 사용자가 상기 제1 음식을 먹은 것으로 확인되면, 상기 제1 사용자의 섭취 칼로리를 상기 제2 수치로 추정하는 단계를 포함하고,
상기 제1 사용자의 신체에 착용된 제1 웨어러블 기기로부터 미리 설정된 기간마다 상기 제1 사용자의 생체 정보 및 상기 제1 사용자의 활동 정보를 수신하는 단계;
상기 제1 사용자의 생체 정보를 기초로, 상기 제1 사용자가 운동을 하고 있는지 여부를 판단하는 단계;
제1 시점에 수신된 상기 제1 사용자의 생체 정보를 기초로, 상기 제1 시점부터 상기 제1 사용자가 운동을 하고 있는 상태로 판단된 경우, 상기 제1 시점에 수신된 상기 제1 사용자의 활동 정보를 인코딩 하여 제2 입력 신호를 생성하는 단계;
활동 정보의 분석으로 운동의 종류를 인식하도록 학습된 제2 인공지능 모델에 상기 제2 입력 신호를 입력하는 단계;
상기 제2 입력 신호를 통해 운동의 종류가 제1 운동으로 인식되면, 상기 제2 인공지능 모델로부터 상기 제1 운동을 나타내는 제2 출력 신호를 획득하는 단계;
상기 제2 출력 신호를 기초로, 상기 제1 사용자가 상기 제1 운동을 하고 있는 것으로 분석하는 단계;
상기 제1 시점 이후인 제2 시점에 수신된 상기 제1 사용자의 생체 정보를 기초로, 상기 제2 시점에 상기 제1 사용자가 운동을 하고 있지 않은 상태로 판단된 경우, 상기 제1 시점부터 상기 제2 시점까지 제1 기간으로 설정하는 단계;
상기 제1 운동의 단위시간 당 칼로리가 제3 수치로 확인되면, 상기 제3 수치 및 상기 제1 기간의 길이를 곱한 값으로 제4 수치를 산출하는 단계; 및
상기 제1 사용자가 상기 제1 기간 동안 상기 제1 운동을 수행한 결과, 상기 제1 사용자의 소모 칼로리를 상기 제4 수치로 추정하는 단계를 더 포함하고,
미리 정해진 기준 기간 동안 상기 제1 사용자의 섭취 칼로리를 취합하여, 상기 제1 사용자의 총 칼로리 섭취량을 산출하는 단계;
상기 기준 기간 동안 상기 제1 사용자의 소모 칼로리를 취합하여, 상기 제1 사용자의 활동 대사량을 산출하는 단계;
상기 제1 사용자의 성별, 나이, 체중 및 키를 기반으로, 상기 제1 사용자의 기초 대사량을 산출하는 단계;
상기 제1 사용자의 총 칼로리 섭취량, 상기 제1 사용자의 활동 대사량 및 상기 제1 사용자의 기초 대사량을 매칭하여 매칭 정보를 생성하는 단계;
상기 매칭 정보를 인코딩 하여 제3 입력 신호를 생성하는 단계;
총 칼로리 섭취량, 활동 대사량 및 기초 대사량의 분석으로 신체 변화를 파악하도록 학습된 제3 인공지능 모델에 상기 제3 입력 신호를 입력하는 단계;
상기 제3 입력 신호를 통해 상기 제1 사용자의 신체 변화가 파악되면, 상기 제3 인공지능 모델로부터 상기 제1 사용자의 신체 변화를 나타내는 제3 출력 신호를 획득하는 단계;
상기 제3 출력 신호를 기초로, 상기 기준 기간 동안 상기 제1 사용자의 신체 변화를 분석하는 단계;
상기 제1 사용자의 신체 변화를 분석한 결과를 기반으로, 상기 제1 사용자의 신체 변화량을 추정하는 단계;
상기 제1 사용자의 신체 변화량을 이용하여 제1 그래프를 생성하고, 미리 설정된 제1 사용자의 목표치를 이용하여 제2 그래프를 생성하고, 상기 제1 사용자의 신체 변화량 및 상기 제1 사용자의 목표치 간의 차이를 이용하여 제3 그래프를 생성하는 단계; 및
상기 제1 그래프, 상기 제2 그래프 및 상기 제3 그래프를 기반으로, 상기 제1 사용자의 신체 변화와 목표 달성 현황을 시각화한 신체 변화 정보를 생성하는 단계를 더 포함하고,
상기 제1 사용자의 섭취 칼로리를 상기 제2 수치로 추정하는 단계는,
상기 제1 사용자 단말의 카메라를 이용하여 상기 제1 사용자가 상기 제1 음식을 먹은 이후에 남아있는 상기 제1 음식에 대한 촬영이 수행되면, 상기 제1 사용자 단말로부터 남아있는 상기 제1 음식을 촬영하여 생성된 제2 이미지를 수신하는 단계;
상기 제2 이미지를 인코딩 하여 제1-1 입력 신호를 생성하는 단계;
상기 제1 인공지능 모델에 상기 제1-1 입력 신호를 입력하는 단계;
상기 제1-1 입력 신호를 통해 음식의 종류가 상기 제1 음식으로 인식되고 음식의 양이 제2 중량으로 인식되면, 상기 제1 인공지능 모델로부터 상기 제1 음식 및 상기 제2 중량을 나타내는 제1-1 출력 신호를 획득하는 단계;
상기 제1-1 출력 신호를 기초로, 상기 제1 사용자가 상기 제2 중량의 상기 제1 음식을 남긴 것으로 분석하는 단계;
상기 제1 중량에서 상기 제2 중량을 차감하여 제3 중량을 산출하는 단계;
상기 제1 수치 및 상기 제3 중량을 곱한 값으로 제5 수치를 산출하는 단계; 및
상기 제1 사용자의 섭취 칼로리를 상기 제5 수치로 추정하는 단계를 포함하고,
상기 제1 사용자의 소모 칼로리를 상기 제4 수치로 추정하는 단계는,
상기 제1 사용자의 생체 정보가 심박수를 측정한 측정값인 경우, 상기 제1 웨어러블 기기로부터 상기 제1 기간 동안 상기 제1 사용자의 심박수 측정값에 대한 모니터링 결과를 수신하는 단계;
상기 모니터링 결과를 기초로, 상기 제1 기간 중에서 상기 제1 사용자의 심박수 측정값이 미리 설정된 제1 기준치 보다 낮은 구간을 제1 구간으로 분류하고, 상기 제1 기간 중에서 상기 제1 사용자의 심박수 측정값이 상기 제1 기준치 보다 높지만 미리 설정된 제2 기준치 보다 낮은 구간을 제2 구간으로 분류하고, 상기 제1 기간 중에서 상기 제1 사용자의 심박수 측정값이 상기 제2 기준치 보다 높은 구간을 제3 구간으로 분류하는 단계;
상기 제1 구간을 상기 제1 운동의 휴식 구간으로 설정하고, 상기 제2 구간을 상기 제1 운동의 저강도 운동 구간으로 설정하고, 상기 제3 구간을 상기 제1 운동의 고강도 운동 구간으로 설정하는 단계;
미리 설정된 제1 가중치, 상기 제3 수치 및 상기 제1 구간의 길이를 곱한 값으로 제6 수치를 산출하는 단계;
상기 제1 구간 동안 상기 제1 사용자의 소모 칼로리를 상기 제6 수치로 추정하는 단계;
상기 제1 가중치 보다 높은 값으로 설정된 제2 가중치, 상기 제3 수치 및 상기 제2 구간의 길이를 곱한 값으로 제7 수치를 산출하는 단계;
상기 제2 구간 동안 상기 제1 사용자의 소모 칼로리를 상기 제7 수치로 추정하는 단계;
상기 제2 가중치 보다 높은 값으로 설정된 제3 가중치, 상기 제3 수치 및 상기 제3 구간의 길이를 곱한 값으로 제8 수치를 산출하는 단계;
상기 제3 구간 동안 상기 제1 사용자의 소모 칼로리를 상기 제8 수치로 추정하는 단계;
상기 제6 수치, 상기 제7 수치 및 상기 제8 수치를 합산하여 제9 수치를 산출하는 단계; 및
상기 제1 기간 동안 상기 제1 사용자의 소모 칼로리를 상기 제9 수치로 추정하는 단계를 포함하는,
인공지능 모델을 활용한 음식의 칼로리 추정 및 사용자 맞춤형 신체 변화 정보 시각화 서비스 제공 방법.
In a method of estimating food calories using an artificial intelligence model and providing a user-customized body change information visualization service performed by a device,
When the first food that the first user wants to eat is photographed using the camera of the first user terminal, receiving a first image generated by photographing the first food from the first user terminal;
generating a first input signal by encoding the first image;
Inputting the first input signal to a first artificial intelligence model learned to recognize the type and amount of food through image analysis;
When the type of food is recognized as the first food and the amount of food is recognized as the first weight through the first input signal, a first output indicating the first food and the first weight is generated from the first artificial intelligence model. acquiring a signal;
Analyzing that the first user eats the first food of the first weight based on the first output signal;
When the calories per unit weight of the first food are confirmed to be a first value, calculating a second value by multiplying the first value and the first weight; and
When it is confirmed that the first user has eaten the first food, estimating the calorie intake of the first user to the second value,
Receiving biometric information of the first user and activity information of the first user every preset period from a first wearable device worn on the body of the first user;
determining whether the first user is exercising based on the biometric information of the first user;
If it is determined that the first user is exercising from the first time based on the biometric information of the first user received at the first time, the activity of the first user received at the first time Encoding information to generate a second input signal;
Inputting the second input signal to a second artificial intelligence model learned to recognize the type of exercise through analysis of activity information;
When the type of exercise is recognized as a first exercise through the second input signal, obtaining a second output signal representing the first exercise from the second artificial intelligence model;
Analyzing that the first user is performing the first exercise based on the second output signal;
If it is determined that the first user is not exercising at the second time based on the biometric information of the first user received at the second time after the first time, setting a first period until a second time point;
When the calories per unit time of the first exercise are confirmed to be a third value, calculating a fourth value by multiplying the third value and the length of the first period; and
As a result of the first user performing the first exercise during the first period, estimating the calories burned by the first user as the fourth value,
calculating the total calorie intake of the first user by collecting the calorie intake of the first user during a predetermined reference period;
calculating the active metabolic rate of the first user by collecting calories consumed by the first user during the reference period;
calculating the basal metabolic rate of the first user based on the gender, age, weight, and height of the first user;
Generating matching information by matching the total calorie intake of the first user, the active metabolic rate of the first user, and the basal metabolic rate of the first user;
Generating a third input signal by encoding the matching information;
Inputting the third input signal to a third artificial intelligence model learned to identify body changes through analysis of total calorie intake, active metabolic rate, and basal metabolic rate;
When the physical change of the first user is identified through the third input signal, obtaining a third output signal representing the physical change of the first user from the third artificial intelligence model;
analyzing changes in the body of the first user during the reference period based on the third output signal;
estimating the amount of change in the body of the first user based on a result of analyzing the change in the body of the first user;
A first graph is generated using the amount of change in the body of the first user, a second graph is generated using a preset target value of the first user, and the difference between the amount of change in the body of the first user and the target value of the first user is generated. Generating a third graph using; and
Based on the first graph, the second graph, and the third graph, it further includes generating body change information visualizing the body change and goal achievement status of the first user,
The step of estimating the calorie intake of the first user to the second value is,
When the first food remaining after the first user eats the first food is photographed using the camera of the first user terminal, the first food remaining from the first user terminal is photographed. receiving a second image generated by:
Generating a 1-1 input signal by encoding the second image;
Inputting the 1-1 input signal to the first artificial intelligence model;
When the type of food is recognized as the first food and the amount of food is recognized as the second weight through the 1-1 input signal, a device representing the first food and the second weight is derived from the first artificial intelligence model. Obtaining a 1-1 output signal;
Analyzing that the first user left the first food of the second weight based on the 1-1 output signal;
calculating a third weight by subtracting the second weight from the first weight;
calculating a fifth value by multiplying the first value and the third weight; and
A step of estimating the calorie intake of the first user to the fifth value,
The step of estimating the calories consumed by the first user to the fourth value is,
If the biometric information of the first user is a heart rate measurement value, receiving a monitoring result of the heart rate measurement value of the first user during the first period from the first wearable device;
Based on the monitoring result, a section in which the heart rate measurement value of the first user is lower than a preset first reference value in the first period is classified as a first section, and the heart rate measurement value of the first user in the first period is classified as a first section. A section that is higher than the first reference value but lower than a preset second reference value is classified as a second section, and a section in which the heart rate measurement value of the first user is higher than the second reference value in the first period is classified as a third section. steps;
Setting the first section as a rest section of the first exercise, setting the second section as a low-intensity exercise section of the first exercise, and setting the third section as a high-intensity exercise section of the first exercise. step;
calculating a sixth value by multiplying a preset first weight, the third value, and the length of the first section;
estimating calories consumed by the first user during the first section to the sixth value;
calculating a seventh value as a value obtained by multiplying a second weight set to a higher value than the first weight, the third value, and the length of the second section;
estimating calories consumed by the first user during the second section to the seventh value;
calculating an eighth numerical value as a value obtained by multiplying a third weight set to a value higher than the second weight, the third numerical value, and the length of the third section;
estimating calories consumed by the first user during the third section to the eighth value;
calculating a ninth numerical value by adding up the sixth numerical value, the seventh numerical value, and the eighth numerical value; and
Comprising: estimating calories consumed by the first user during the first period to the ninth value,
Method for estimating food calories and providing customized body change information visualization service using an artificial intelligence model.
삭제delete 삭제delete
KR1020230095830A 2023-07-24 2023-07-24 Method, device and system for providing food calorie estimation and user customized body change information visualization service using artificial intelligence model KR102615747B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230095830A KR102615747B1 (en) 2023-07-24 2023-07-24 Method, device and system for providing food calorie estimation and user customized body change information visualization service using artificial intelligence model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230095830A KR102615747B1 (en) 2023-07-24 2023-07-24 Method, device and system for providing food calorie estimation and user customized body change information visualization service using artificial intelligence model

Publications (1)

Publication Number Publication Date
KR102615747B1 true KR102615747B1 (en) 2023-12-19

Family

ID=89385478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230095830A KR102615747B1 (en) 2023-07-24 2023-07-24 Method, device and system for providing food calorie estimation and user customized body change information visualization service using artificial intelligence model

Country Status (1)

Country Link
KR (1) KR102615747B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101562364B1 (en) 2014-12-29 2015-10-23 재단법인 아산사회복지재단 Automatic calorie caculation method using food image and feeding behavior managing system using thereof
KR101741502B1 (en) 2016-03-15 2017-06-15 아주대학교산학협력단 Apparatus and Method for Estimation of Calory Consumption
KR20180005016A (en) 2016-07-05 2018-01-15 동서대학교산학협력단 Intake calorie measurement system based on smart pad
KR102247695B1 (en) 2018-06-04 2021-05-03 서울대학교산학협력단 Food diary device using mobile
KR102431226B1 (en) * 2022-03-23 2022-08-11 주식회사 인졀미 Method and apparatus for providing personalized nutrition management service based on artificial intelligence
KR20220158477A (en) * 2021-05-24 2022-12-01 엘지전자 주식회사 Server and client of providing dietary management service and method implementing thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101562364B1 (en) 2014-12-29 2015-10-23 재단법인 아산사회복지재단 Automatic calorie caculation method using food image and feeding behavior managing system using thereof
KR101741502B1 (en) 2016-03-15 2017-06-15 아주대학교산학협력단 Apparatus and Method for Estimation of Calory Consumption
KR20180005016A (en) 2016-07-05 2018-01-15 동서대학교산학협력단 Intake calorie measurement system based on smart pad
KR102247695B1 (en) 2018-06-04 2021-05-03 서울대학교산학협력단 Food diary device using mobile
KR20220158477A (en) * 2021-05-24 2022-12-01 엘지전자 주식회사 Server and client of providing dietary management service and method implementing thereof
KR102431226B1 (en) * 2022-03-23 2022-08-11 주식회사 인졀미 Method and apparatus for providing personalized nutrition management service based on artificial intelligence

Similar Documents

Publication Publication Date Title
Li et al. Blood pressure prediction via recurrent models with contextual layer
US10610109B2 (en) Emotion representative image to derive health rating
KR102506472B1 (en) Method, device and system for providing hyper-personalized customized food purchase recommendation service based on artificial intelligence
KR102553041B1 (en) Method, device and system for providing matching platform service between user and interior supplier based on artificial intelligence model
KR102533442B1 (en) Product planning and marketing strategy derivation method, device and system for online sales based on artificial intelligence model
KR102470326B1 (en) Method, device and system for analyzing and monitoring growth status of livestock to improve breeding effect
KR102494380B1 (en) Method, apparatus and system for providing baby health diagnosis solution by using diaperstool image
KR102564996B1 (en) Method, device and system for providing user customized health functional food curation service based on artificial intelligence
Mezzadri et al. Hold-out strategy for selecting learning models: application to categorization subjected to presentation orders
KR102601446B1 (en) Method, device and system for providing sales product matching platform service based on influencer using artificial intelligence model
KR102530527B1 (en) Method, device and system for providing restaurant recommendation service based on health information
KR102447046B1 (en) Method, device and system for designing clinical trial protocol based on artificial intelligence
KR102615747B1 (en) Method, device and system for providing food calorie estimation and user customized body change information visualization service using artificial intelligence model
KR102615445B1 (en) Method, apparatus and system for providing nutritional information based on fecal image analysis
KR102474974B1 (en) Method, device and system for analyzing brand based on artificial intelligence
KR102615749B1 (en) Method, device and system for providing diet management service and mental health care service using it and automated processing of user customized diet management consulting information creation using artificial intelligence model
Huang A mental disorder prediction model with the ability of deep information expression using convolution neural networks technology
KR102563687B1 (en) Method, device and system for providing hearing aid management platform service for hearing aid user and guardian
KR102636461B1 (en) Automated labeling method, device, and system for learning artificial intelligence models
KR102636797B1 (en) Method, device and system for providing solution for this analizing user psychological state through analysis of hashtag based note topic and note content using artificial intelligence
KR102505380B1 (en) Method, device and system for providing service to present preemptive behavioral therapy and identify past anxiety inducing situation of user using artificial intelligence
KR102669470B1 (en) Method, device and system for inventory management and demand forecasting for food material distribution processing
KR102475813B1 (en) Method for driving simulation of smart factory based on artificial intelligence
KR102603914B1 (en) Method, apparatus and system for providing of yoga exercise guide and curriculum using user-costomized anatomy based on image analysis
KR102593868B1 (en) Methods and systems for providing nail and toenail care information and operating expert matching platform services

Legal Events

Date Code Title Description
GRNT Written decision to grant