WO2022097795A1 - Smart insole device and system for estimating user's weight - Google Patents

Smart insole device and system for estimating user's weight Download PDF

Info

Publication number
WO2022097795A1
WO2022097795A1 PCT/KR2020/015610 KR2020015610W WO2022097795A1 WO 2022097795 A1 WO2022097795 A1 WO 2022097795A1 KR 2020015610 W KR2020015610 W KR 2020015610W WO 2022097795 A1 WO2022097795 A1 WO 2022097795A1
Authority
WO
WIPO (PCT)
Prior art keywords
weight
data
user
smart insole
input data
Prior art date
Application number
PCT/KR2020/015610
Other languages
French (fr)
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 주식회사 길온
Publication of WO2022097795A1 publication Critical patent/WO2022097795A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A43FOOTWEAR
    • A43BCHARACTERISTIC FEATURES OF FOOTWEAR; PARTS OF FOOTWEAR
    • A43B17/00Insoles for insertion, e.g. footbeds or inlays, for attachment to the shoe after the upper has been joined
    • AHUMAN NECESSITIES
    • A43FOOTWEAR
    • A43BCHARACTERISTIC FEATURES OF FOOTWEAR; PARTS OF FOOTWEAR
    • A43B3/00Footwear characterised by the shape or the use
    • AHUMAN NECESSITIES
    • A43FOOTWEAR
    • A43BCHARACTERISTIC FEATURES OF FOOTWEAR; PARTS OF FOOTWEAR
    • A43B3/00Footwear characterised by the shape or the use
    • A43B3/34Footwear characterised by the shape or the use with electrical or electronic arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L5/00Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L5/00Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
    • G01L5/0052Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes measuring forces due to impact
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/02Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06MCOUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
    • G06M3/00Counters with additional facilities
    • G06M3/08Counters with additional facilities for counting the input from several sources; for counting inputs of different amounts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Primary Health Care (AREA)
  • Manufacturing & Machinery (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Footwear And Its Accessory, Manufacturing Method And Apparatuses (AREA)

Abstract

A weight estimation system according to one embodiment may measure inertia information including acceleration and angular velocities of a user's foot, extract section data related to the user's weight from the inertia information, generate input data from the extracted section data, and estimate a weight result by inputting the input data into a neural network model stored in a weight estimation server.

Description

사용자의 체중을 추정하는 스마트 인솔 장치 및 시스템Smart guide device and system for estimating user's weight
이하, 스마트 인솔 장치를 이용하여 사용자의 체중을 추정하는 기술이 제공된다.Hereinafter, a technique for estimating a user's weight using a smart insole device is provided.
기존의 체중 측정 방식은 고정된 장소에서 물리적 로드셀을 장착한 체중계를 이용하는 방식, 또는 압력 및 하중을 감지하는 센서를 신발 하부에 장착하여 체중을 측정하는 방식 등이 있다. 다만, 상술한 방식들은 많은 압력센서를 장착한 전문 측정 장비를 이용하므로 고가의 비용 또는 큰 폼 팩터를 요구하여 실질적으로 제품화가 불가능하였다.Existing weight measurement methods include a method of using a scale equipped with a physical load cell in a fixed place, or a method of measuring weight by mounting a sensor that detects pressure and load on the lower part of a shoe. However, since the above-described methods use professional measuring equipment equipped with many pressure sensors, they require high cost or a large form factor, making it practically impossible to commercialize them.
사용자의 활동, 예를 들어, 보행 중에도 체중을 추정하는 기술이 요구된다.There is a need for a technique for estimating a user's weight even during an activity, for example, walking.
체중 추정 시스템은 스마트 인솔 단말에서 사용자의 체중과 연관된 구간의 관성 정보를 추출할 수 있다.The weight estimation system may extract inertia information of a section related to the user's weight from the smart insole terminal.
체중 추정 시스템은 체중 변화와 관련된 보행 관련 인자를 지속적으로 업데이트함으로써 뉴럴 네트워크 모델의 재트레이닝 및 뉴럴 네트워크 모델의 구조를 개선할 수 있다.The weight estimation system can improve the structure of the neural network model and the retraining of the neural network model by continuously updating the gait-related factors related to the weight change.
체중 추정 시스템은 사용자의 체중의 급격한 변화를 모니터링할 수 있다.The weight estimation system may monitor a sudden change in the user's weight.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical tasks are not limited to the above-described technical tasks, and other technical tasks may exist.
일 실시예에 따른 스마트 인솔 장치는, 사용자의 발의 가속도 및 각속도를 포함하는 관성 정보를 측정하는 관성 측정부(IMU, inertial measurement unit); 상기 관성 정보로부터 상기 사용자의 체중과 관련된 구간 데이터를 추출하고, 상기 추출된 구간 데이터로부터 입력 데이터 를 생성하는 프로세서; 및 뉴럴 네트워크 모델을 저장한 체중 추정 서버에게 상기 뉴럴 네트워크 모델에 입력될 상기 입력 데이터를 전송하면서 체중 추정을 요청하는 통신부를 포함할 수 있다.A smart insole device according to an embodiment includes an inertial measurement unit (IMU) that measures inertial information including acceleration and angular velocity of a user's foot; a processor for extracting section data related to the weight of the user from the inertia information and generating input data from the extracted section data; and a communication unit for requesting weight estimation while transmitting the input data to be input to the neural network model to the weight estimation server storing the neural network model.
상기 프로세서는, 상기 관성 정보로부터 뒷꿈치 착지 시점을 포함하는 구간의 뒷꿈치 착지 데이터(heel strike data) 및 앞꿈치 이지 시점을 포함하는 구간의 앞꿈치 이지 데이터(toe off data) 중 적어도 하나를 상기 구간 데이터로서 추출할 수 있다.The processor extracts, from the inertia information, at least one of heel strike data of a section including a heel landing time and toe off data of a section including a heel easy time point from the inertia information as the section data can do.
스마트 인솔 장치는 상기 스마트 인솔 장치가 장착된 신발의 밑면이 지면에 닿는 동안 상기 발이 상기 지면에 가하는 압력을 복수의 지점들에서 센싱하는 압력 센서를 더 포함하고, 상기 프로세서는, 상기 압력 센서에 의해 상기 복수의 지점들에서 센싱되는 압력 및 상기 관성 정보로부터 산출된 운동량에 기초하여 상기 뒷꿈치 착지 시점 및 상기 앞꿈치 이지 시점 중 적어도 하나를 판별할 수 있다.The smart insole device further includes a pressure sensor for sensing the pressure applied to the ground by the foot at a plurality of points while the bottom of the shoe equipped with the smart insole device touches the ground, and the processor is configured by the pressure sensor. At least one of the heel landing time and the heel easy time may be determined based on the momentum calculated from the pressure sensed at the plurality of points and the inertia information.
상기 프로세서는, 상기 뒷꿈치 착지 데이터 및 상기 앞꿈치 이지 데이터 중 적어도 하나로부터 중력 방향을 따르는 가속도를 산출하고, 상기 산출된 가속도를 포함하는 입력 데이터를 생성할 수 있다.The processor may calculate an acceleration along a gravity direction from at least one of the heel landing data and the heel easy data, and generate input data including the calculated acceleration.
상기 프로세서는, 상기 관성 정보에서 사용자의 정속 보행 상태 동안 추출된 구간 데이터를 이용하여 상기 입력 데이터를 생성할 수 있다.The processor may generate the input data by using section data extracted from the inertia information during the user's constant speed walking state.
상기 프로세서는, 상기 관성 정보에 기초하여 지면에 평행한 방향에 대한 상기 사용자의 이동 속도를 계산하고, 미리 결정된 임계 시간을 초과하여 상기 계산된 이동 속도가 유지되는 경우 상기 사용자가 상기 정속 보행 상태인 것으로 결정할 수 있다.The processor calculates the movement speed of the user in a direction parallel to the ground based on the inertia information, and when the calculated movement speed is maintained over a predetermined threshold time, the user is in the constant-speed walking state it can be decided that
상기 프로세서는, 상기 구간 데이터와 함께, 상기 사용자의 현재 체중에 기초하여 산출된 운동량 및 충격량을 포함하는 상기 입력 데이터를 생성할 수 있다.The processor may generate the input data including an amount of exercise and an amount of impulse calculated based on the current weight of the user, together with the section data.
상기 프로세서는, 상기 구간 데이터의 매 샘플링 포인트마다 중력 방향의 가속도 및 운동량을 산출하고, 상기 구간 데이터의 구간 내 운동량들의 합인 충격량을 산출할 수 있다.The processor may calculate an acceleration and momentum in the direction of gravity for every sampling point of the section data, and calculate an impact amount that is a sum of momentum amounts within a section of the section data.
상기 통신부는, 상기 입력 데이터에 상기 뉴럴 네트워크 모델을 적용함으로써 추정된 체중 결과를 상기 체중 추정 서버로부터 수신하고, 상기 프로세서는, 상기 체중 결과를 수신한 후, 상기 체중 결과 및 상기 관성 정보를 이용하여 입력 데이터를 생성할 수 있다.The communication unit receives a weight result estimated by applying the neural network model to the input data from the weight estimation server, and the processor, after receiving the weight result, uses the weight result and the inertia information You can create input data.
일 실시예에 따른 스마트 인솔 장치의 동작 방법은, 사용자의 발의 가속도 및 각속도를 포함하는 관성 정보를 측정하는 단계; 상기 관성 정보로부터 상기 사용자의 체중과 관련된 구간 데이터를 추출하는 단계; 상기 추출된 구간 데이터로부터 입력 데이터를 생성하는 단계; 및 뉴럴 네트워크 모델을 저장한 체중 추정 서버에게 상기 뉴럴 네트워크 모델에 입력될 상기 입력 데이터를 전송하면서 체중 추정을 요청하는 단계를 포함할 수 있다.A method of operating a smart insole device according to an embodiment includes measuring inertial information including acceleration and angular velocity of a user's foot; extracting section data related to the weight of the user from the inertia information; generating input data from the extracted section data; and requesting weight estimation while transmitting the input data to be input to the neural network model to a weight estimation server storing the neural network model.
일 실시예에 따른 체중 추정 서버는, 뉴럴 네트워크 모델을 저장하는 메모리; 스마트 인솔 장치에 의해 측정되는 관성 정보 중 사용자의 체중과 관련된 구간 데이터로부터 생성된 입력 데이터를 상기 스마트 인솔 장치로부터 수신하는 통신부; 및 상기 입력 데이터로부터 상기 뉴럴 네트워크 모델에 기초하여 사용자의 체중 결과를 추정하는 프로세서를 포함할 수 있다.A weight estimation server according to an embodiment includes: a memory for storing a neural network model; a communication unit configured to receive input data generated from section data related to a user's weight among inertia information measured by the smart insole device from the smart insole device; and a processor for estimating a weight result of the user based on the neural network model from the input data.
상기 통신부는, 상기 관성 정보 중 뒷꿈치 착지 시점을 포함하는 구간 및 앞꿈치 이지 시점을 포함하는 구간 중 적어도 하나에 대해 생성된 상기 입력 데이터를 수신할 수 있다.The communication unit may receive the input data generated for at least one of a section including a heel landing time point and a section including a heel easy time point among the inertia information.
상기 통신부는, 뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 산출된, 중력 방향을 따르는 가속도를 포함하는 상기 입력 데이터를 수신할 수 있다.The communication unit may receive the input data including the acceleration along the direction of gravity, calculated from at least one of heel landing data and heel easy data.
상기 통신부는, 상기 관성 정보에서 사용자의 정속 보행 상태에 대해 생성된 상기 입력 데이터를 수신할 수 있다.The communication unit may receive the input data generated for the user's constant speed walking state from the inertia information.
상기 통신부는, 상기 구간 데이터 및 상기 사용자의 현재 체중에 따라 산출된 운동량 및 충격량을 포함하는 입력 데이터를 수신할 수 있다.The communication unit may receive input data including the amount of exercise and impact calculated according to the section data and the current weight of the user.
상기 프로세서는, 상기 입력 데이터에 상기 뉴럴 네트워크 모델에 따른 연산을 적용함으로써 상기 사용자의 체중 결과를 추정하고, 상기 통신부는, 상기 추정된 체중 결과를 상기 스마트 인솔 장치로 전달할 수 있다.The processor may estimate the weight result of the user by applying an operation according to the neural network model to the input data, and the communication unit may transmit the estimated weight result to the smart insole device.
상기 프로세서는, 상기 뉴럴 네트워크 모델에 의해 추정된 체중 및 실제 체중 간의 오차가 임계 값을 초과하는 모집단 데이터를 체중 그룹 별로 추가적으로 수집하고, 상기 추가적으로 수집된 모집단 데이터에 기초하여 상기 뉴럴 네트워크 모델을 추가적으로 트레이닝시킬 수 있다.The processor additionally collects population data in which an error between the weight estimated by the neural network model and the actual weight exceeds a threshold value for each weight group, and further trains the neural network model based on the additionally collected population data can do it
상기 통신부는, 상기 스마트 인솔 장치에서 상기 사용자의 정속 보행 상태에 대해 수집된 상기 모집단 데이터를, 상기 스마트 인솔 장치 및 상기 체중 추정 서버 간의 접속이 수립될 시 수신할 수 있다.The communication unit may receive the population data collected on the user's constant speed walking state in the smart insole device when a connection between the smart insole device and the weight estimation server is established.
상기 프로세서는, 복수의 보행 인자들 중 체중 관련도가 임계 점수를 초과하는 대상 보행 인자를 입력 변수로 포함하게 정의된 새로운 입력 데이터를 수신 가능한 새로운 입력 레이어를 상기 뉴럴 네트워크 모델에 추가할 수 있다.The processor may add a new input layer capable of receiving new input data defined to include, as an input variable, a target gait factor whose weight relevance exceeds a threshold score among a plurality of gait factors to the neural network model.
체중 추정 시스템은 스마트 인솔 단말에서 사용자의 체중과 연관된 구간의 관성 정보를 정확히 추출함으로써, 체중 추정 서버에서 발생할 수 있는 노이즈 및 계산량을 최소화할 수 있다.The weight estimation system can minimize noise and calculations that may occur in the weight estimation server by accurately extracting inertia information of a section related to the user's weight from the smart insole terminal.
체중 추정 시스템은 뉴럴 네트워크 모델의 재트레이닝 및 뉴럴 네트워크 모델의 구조 개선을 통해 보다 정확한 체중 추정 결과를 제공할 수 있다.The weight estimation system may provide a more accurate weight estimation result by retraining the neural network model and improving the structure of the neural network model.
체중 추정 시스템은 사용자의 체중이 급격하게 변하는 경우 등과 같은 이상 상태를 누락 없이 모니터링할 수 있다.The weight estimation system may monitor an abnormal condition such as a case in which a user's weight changes rapidly without omission.
도 1은 일 실시예에 따른 체중 추정 시스템을 도시한다.1 illustrates a weight estimation system according to an embodiment.
도 2는 일 실시예에 따른 체중 추정 방법을 도시한 흐름도이다.2 is a flowchart illustrating a weight estimation method according to an exemplary embodiment.
도 3은 일 실시예에 따른 스마트 인솔 장치의 구성을 도시한 블록도이다.3 is a block diagram illustrating a configuration of a smart insole device according to an embodiment.
도 4는 일 실시예에 따른 스마트 인솔 장치의 동작 방법을 도시한 흐름도이다.4 is a flowchart illustrating a method of operating a smart insole device according to an embodiment.
도 5는 일 실시예에 따른 중력 방향 물리량(physical quantity)를 설명하는 도면이다.5 is a view for explaining a physical quantity in the direction of gravity according to an embodiment.
도 6은 일 실시예에 따른 스마트 인솔 장치에 포함된 센서의 구성을 도시한 도면이다.6 is a diagram illustrating a configuration of a sensor included in a smart insole device according to an embodiment.
도 7은 일 실시예에 따른 뒷꿈치 착지 이벤트 및 앞꿈치 이지 이벤트를 설명하는 도면이다.7 is a view for explaining a heel landing event and a heel easy event according to an embodiment.
도 8은 일 실시예에 따른 스마트 인솔 장치에 의해 센싱되는 원시 데이터(raw data)를 도시한다.8 illustrates raw data sensed by a smart insole device according to an exemplary embodiment.
도 9 및 도 10은 일 실시예에 따른 뒷꿈치 착지 이벤트 및 앞꿈치 이지 이벤트에 기초한 구간 데이터 추출을 설명하는 도면이다.9 and 10 are diagrams for explaining section data extraction based on the heel landing event and the heel easy event according to an embodiment.
도 11은 일 실시예에 따른 체중 추정 서버의 구성을 도시한 블록도이다.11 is a block diagram illustrating a configuration of a weight estimation server according to an embodiment.
도 12는 일 실시예에 따른 트레이닝 방법을 설명하는 흐름도이다.12 is a flowchart illustrating a training method according to an embodiment.
도 13은 일 실시예에 따른 뉴럴 네트워크 모델의 트레이닝 및 개선을 설명하는 도면이다.13 is a diagram for explaining training and improvement of a neural network model according to an embodiment.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be changed and implemented in various forms. Accordingly, the actual implementation form is not limited to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit described in the embodiments.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various elements, these terms should be interpreted only for the purpose of distinguishing one element from another. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected to” another component, it may be directly connected or connected to the other component, but it should be understood that another component may exist in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same components are assigned the same reference numerals regardless of the reference numerals, and overlapping descriptions thereof will be omitted.
도 1은 일 실시예에 따른 체중 추정 시스템을 도시한다.1 illustrates a weight estimation system according to an embodiment.
일 실시예에 따른 체중 추정 시스템(100)은 스마트 인솔 장치(110), 체중 추정 서버(120), 및 모바일 단말(130)을 포함할 수 있다. 체중 추정 시스템(100)은 스마트 인솔 장치(110)에 의해 수집된 정보로부터 체중 추정 서버(120)의 뉴럴 네트워크 모델을 이용하여 사용자의 체중을 추정할 수 있다.The weight estimation system 100 according to an embodiment may include a smart guide device 110 , a weight estimation server 120 , and a mobile terminal 130 . The weight estimation system 100 may estimate the user's weight using the neural network model of the weight estimation server 120 from information collected by the smart insole device 110 .
스마트 인솔 장치(110)는 신발 내에 장착되는 인솔 형태의 장치로서, 신발을 착용한 사용자의 발의 움직임과 관련된 정보를 수집할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 발의 관성 정보를 측정할 수 있다. 스마트 인솔 장치(110)는 관성 정보로부터 사용자의 보행 속도, 주행 속도, 지면에 대한 운동량, 및 충격량 등과 같은 체중과 상관 관계에 있는 다양한 물리량 데이터를 산출할 수 있다.The smart insole device 110 is a device in the form of an insole mounted in a shoe, and may collect information related to the movement of a user's foot while wearing the shoe. For example, the smart insole device 110 may measure inertia information of the foot. The smart insole device 110 may calculate various physical quantity data correlated with body weight, such as a user's walking speed, driving speed, amount of exercise on the ground, and amount of impact, from the inertia information.
체중 추정 서버(120)는 스마트 인솔 장치(110)에 의해 측정되거나 산출된 데이터를 수신하고, 수신된 데이터를 이용하여 사용자의 체중을 추정할 수 있다. 체중 추정 서버(120)는 추정된 체중을 스마트 인솔 장치(110) 및/또는 모바일 단말(130)로 반환할 수 있다. 체중 추정 서버(120)는 스마트 인솔 장치(110)에 의해 측정 및 산출 가능한 다양한 물리량 데이터로부터 사용자의 체중을 추정하기 위한 뉴럴 네트워크 모델을 저장할 수 있다.The weight estimation server 120 may receive data measured or calculated by the smart insole device 110 , and estimate the user's weight using the received data. The weight estimation server 120 may return the estimated weight to the smart insole device 110 and/or the mobile terminal 130 . The weight estimation server 120 may store a neural network model for estimating the user's weight from various physical quantity data that can be measured and calculated by the smart insole device 110 .
모바일 단말(130)은 스마트 인솔 장치(110) 및 체중 추정 서버(120) 간의 연결을 중계(relay)하고, 스마트 인솔 장치(110)에 의해 수집된 측정 데이터의 적어도 일부 및/또는 추정된 체중 결과를 저장 및 관리할 수도 있다. 다만, 스마트 인솔 장치(110) 및 체중 추정 서버(120) 간의 연결이 모바일 단말(130)을 통해서만 수립되는 것은 아니고, 모바일 단말(130) 이외의 다른 게이트웨이 장치를 통해 스마트 인솔 장치(110) 및 체중 추정 서버(120) 간에 연결이 수립될 수도 있다.The mobile terminal 130 relays the connection between the smart insole device 110 and the weight estimation server 120 , and at least a portion of the measurement data collected by the smart insole device 110 and/or the estimated weight result can also be stored and managed. However, the connection between the smart insole device 110 and the weight estimation server 120 is not established only through the mobile terminal 130 , but the smart insole device 110 and the weight are established through a gateway device other than the mobile terminal 130 . A connection may be established between the estimation servers 120 .
도 2는 일 실시예에 따른 체중 추정 방법을 도시한 흐름도이다.2 is a flowchart illustrating a weight estimation method according to an exemplary embodiment.
우선, 단계(210)에서 스마트 인솔 장치(110)는 관성 정보로부터 입력 데이터를 생성할 수 있다. 스마트 인솔 장치(110)는 관성 정보 중 사용자의 체중에 관련된 구간의 구간 데이터를 추출하고, 추출된 구간 데이터로부터 체중과 관련된 물리량 데이터를 산출할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 발이 지면에 착지하는 순간 및 지면으로부터 떨어지는 순간을 캡쳐하고, 해당 순간에서 센싱된 관성 정보를 전처리하여 물리량 데이터를 산출할 수 있다. 체중과 관련된 물리량 데이터는 하기 도 5에서, 체중 관련 구간은 하기 도 7에서 설명한다. 스마트 인솔 장치(110)는 뉴럴 네트워크 모델에 입력될, 구간 데이터 및 물리량 데이터를 포함하는 보행 데이터를, 입력 데이터로서 생성할 수 있다.First, in step 210 , the smart insole device 110 may generate input data from inertia information. The smart insole device 110 may extract section data of a section related to the user's weight from among the inertia information, and calculate weight-related physical quantity data from the extracted section data. For example, the smart insole device 110 may capture the moment the foot lands on the ground and the moment the foot falls off the ground, and pre-process the inertia information sensed at the moment to calculate the physical quantity data. The physical quantity data related to body weight will be described in FIG. 5, and the weight related section will be described in FIG. 7 below. The smart insol device 110 may generate gait data including section data and physical quantity data to be input to the neural network model as input data.
그리고, 단계(220)에서 스마트 인솔 장치(110)는 체중 추정 서버(120)로 입력 데이터를 전달할 수 있다. 이 때, 스마트 인솔 장치(110)는 모바일 단말(130)(예를 들어, 스마트 폰 등)을 경유하여 체중 추정 서버(120)로 입력 데이터를 전달할 수 있다. 예를 들어, 스마트 인솔 장치(110)가 모바일 단말(130)로 입력 데이터를 전달하고, 모바일 단말(130)이 스마트 인솔 장치(110)에서 수집된 데이터를 체중 추정 서버(120)로 전달할 수 있다.Then, in step 220 , the smart insol device 110 may transmit input data to the weight estimation server 120 . In this case, the smart insole device 110 may transmit input data to the weight estimation server 120 via the mobile terminal 130 (eg, a smart phone, etc.). For example, the smart insole device 110 may transmit input data to the mobile terminal 130 , and the mobile terminal 130 may transmit data collected from the smart insole device 110 to the weight estimation server 120 . .
이어서 단계(230)에서 체중 추정 서버(230)는 뉴럴 네트워크 모델을 이용한 체중 추정을 수행할 수 있다. 일 실시예에 따른 체중 추정 서버(120)는 체중을 추정하기 위해 설계된 뉴럴 네트워크 모델을 저장할 수 있다. 뉴럴 네트워크 모델은 입력 데이터로부터 체중을 출력하도록 설계된 모델로서, 앞서 설명한 입력 데이터에 포함되는 체중과 관련된 물리량 데이터(예를 들어, 관성 정보, 운동량, 충격량, 및 가속도 등)와 체중 간의 상관 관계를 학습한 모델일 수 있다. 사용자의 보행 패턴 등과 같은 외부적 요인으로 인해 운동량, 충격량, 및 가속도로부터 체중을 직접 산출하는 다항식과 같은 수학적 모델링이 어려울 수 있다. 체중 추정 서버(230)는, 직접적인 수학적 모델링이 없이도, 상술한 상관 관계에 대해 트레이닝된 뉴럴 네트워크 모델을 이용하여 입력 데이터로부터 사용자의 체중을 추정할 수 있다. 체중 추정은 하기 도 11에서 설명한다.Subsequently, in step 230 , the weight estimation server 230 may perform weight estimation using the neural network model. The weight estimation server 120 according to an embodiment may store a neural network model designed to estimate weight. The neural network model is a model designed to output weight from input data, and learns the correlation between weight-related physical quantity data (eg, inertia information, momentum, impulse, and acceleration, etc.) and weight included in the previously described input data. It can be one model. Due to external factors such as a user's gait pattern, mathematical modeling such as polynomials for directly calculating weight from momentum, impulse, and acceleration may be difficult. The weight estimation server 230 may estimate the user's weight from the input data using the neural network model trained for the above-described correlation without direct mathematical modeling. Weight estimation will be described with reference to FIG. 11 below.
그리고 단계(240)에서 체중 추정 서버(120)는 추정된 체중 결과를 전달할 수 있다. 모바일 단말(130)은 체중 추정 서버(120)의 추론 결과를 수신하여 저장하거나 스마트 인솔 장치(110)로 전달할 수 있다. 스마트 인솔 장치(110)의 통신부는 입력 데이터에 뉴럴 네트워크 모델을 적용함으로써 추정된 체중 결과를 체중 추정 서버(120)로부터 수신할 수 있다.And in step 240 , the weight estimation server 120 may transmit the estimated weight result. The mobile terminal 130 may receive and store the inference result of the weight estimation server 120 , or may transmit it to the smart insole device 110 . The communication unit of the smart insole device 110 may receive a weight result estimated by applying a neural network model to input data from the weight estimation server 120 .
이후, 스마트 인솔 장치의 프로세서는 체중 결과를 수신한 후, 체중 결과 및 관성 정보를 이용하여 입력 데이터를 생성할 수 있다. 후술하겠으나, 입력 데이터에 포함되는 운동량 및 충격량을 산출하기 위해서는 사용자의 체중이 주어져야 하는데, 스마트 인솔 장치(110)는 매번 추정되는 체중 결과로 이 체중을 업데이트할 수 있다.Thereafter, after receiving the weight result, the processor of the smart insole device may generate input data using the weight result and inertia information. As will be described later, the user's weight must be given in order to calculate the amount of exercise and impulse included in the input data, and the smart insole device 110 may update the weight with the estimated weight result each time.
일 실시예에 따른 체중 추정 시스템(100)은 스마트 인솔 단말에서 사용자의 체중과 관련된 구간의 관성 정보를 정확히 추출함으로써, 체중 추정 서버(120)에서 발생할 수 있는 노이즈 및 계산량을 최소화할 수 있다. 또한, 후술하겠으나, 체중 추정 시스템(100)은 뉴럴 네트워크 모델의 재트레이닝 및 뉴럴 네트워크 모델의 구조 개선을 통해 보다 정확한 체중 추정 결과를 제공할 수 있다.The weight estimation system 100 according to an embodiment can minimize noise and calculation amount that may occur in the weight estimation server 120 by accurately extracting inertia information of a section related to the user's weight from the smart insol terminal. Also, as will be described later, the weight estimation system 100 may provide a more accurate weight estimation result by retraining the neural network model and improving the structure of the neural network model.
일 실시예에 따른 체중 추정 시스템(100)은 미리 정한 기간(예를 들어, 6개월 내지 12개월) 동안 체중이 미리 정한 임계 비율(예를 들어, 10%) 이상 변하는 경우 의학적 이상 상태로 판단할 수 있다. 예를 들어, 미리 정한 임계 비율 이상의 체중 변화는, 노화 현상, 치매, 우울증, 거식증, 종양, 내분비 질환(예를 들어, 당뇨), 및 신경질환(예를 들어, 치매) 등과 같은 다양한 의학적 요인에 의해 유발될 수 있다. 체중 추정 시스템(100)은 사용자가 체중계에 올라가는 의식적인 행동이 없이도, 스마트 인솔 장치(110)가 장착된(mounted) 신발을 착용(wear)한 상태로 보행하기만 하면 체중을 추정해낼 수 있다. 따라서, 체중 추정 시스템(100)은 사용자의 체중이 급격하게 변하는 경우 등과 같은 이상 상태를 누락 없이 모니터링할 수 있다. 체중 추정 시스템(100)은 일상 생활 지속적인 체중 추정을 통해 평상시의 체중 변화량 대비 급격한 체중 변화를 감지할 수 있다. 체중 추정 시스템(100)은 체중 이상 변화율에 관한 경고, 알림 및 가이드를 사용자에게 제공할 수 있다. 체중 추정 시스템(100)은 사용자에게 질병 질환 또는 외부적 요인들에 대한 경각심을 유발하고, 조기 대처가 가능하도록 유도할 수 있다.The weight estimation system 100 according to an embodiment may determine a medical abnormality when the weight changes more than a predetermined threshold ratio (eg, 10%) for a predetermined period (eg, 6 months to 12 months). can For example, a change in body weight above a predetermined threshold rate is related to various medical factors such as aging, dementia, depression, anorexia, tumors, endocrine diseases (eg diabetes), and neurological diseases (eg dementia). can be caused by The weight estimation system 100 may estimate the weight by simply walking while wearing the shoes in which the smart insole device 110 is mounted, without a conscious action of the user climbing on the scale. Accordingly, the weight estimation system 100 may monitor an abnormal state such as a case in which the user's weight is rapidly changed without omission. The weight estimation system 100 may detect an abrupt change in body weight compared to the normal weight change through continuous weight estimation in daily life. The weight estimation system 100 may provide a warning, a notification, and a guide regarding the weight abnormality change rate to the user. The weight estimation system 100 may induce a user to be alert to a disease or an external factor, and may induce an early response.
체중 추정 시스템(100)은 체중 관리가 필요한 사용자들에게 외부 활동 및 운동 중 실시간 체중 변화량을 모니터링하여 제공할 수 있다. 체중 추정 시스템(100)은 사용자에게 운동량을 조절 관리할 수 있는 추가적인 지표로서 상술한 바와 같이 실시간으로 변화하는 체중을 제공할 수 있다.The weight estimation system 100 may monitor and provide real-time weight changes during external activities and exercise to users who need weight management. The weight estimation system 100 may provide the user with a weight that changes in real time as described above as an additional indicator for controlling and managing the amount of exercise.
추가적으로, 체중 추정 시스템(100)은 기존의 실내에 고정되는 체중계와 연동될 수 있다. 체중 추정 시스템(100)은 실내외에서 체중 관리를 제공할 수 있고, 특히 체중 관리가 필수적인 질환, 질병 환자 군의 일상 생활 체중 관리를 제공할 수 있다. 체중 추정 시스템(100)에 의해 모니터링된 실시간 체중 추정 결과는, 재활 및 의료에 있어서 새로운 기초 신체 정보 지표로서 활용될 수 있다.Additionally, the weight estimation system 100 may be linked with a body scale that is fixed in an existing room. The weight estimation system 100 may provide weight management indoors and outdoors, and in particular, may provide daily life weight management for a group of patients with diseases or diseases in which weight management is essential. The real-time weight estimation result monitored by the weight estimation system 100 may be utilized as a new basic body information index in rehabilitation and medical care.
도 3은 일 실시예에 따른 스마트 인솔 장치의 구성을 도시한 블록도이다. 3 is a block diagram illustrating a configuration of a smart insole device according to an embodiment.
일 실시예에 따른 스마트 인솔 장치(300)는 센서(310), 프로세서(320), 통신부(330), 및 메모리(340)를 포함할 수 있다.The smart insole device 300 according to an embodiment may include a sensor 310 , a processor 320 , a communication unit 330 , and a memory 340 .
센서(310)는 사용자의 체중과 관련된 정보를 센싱할 수 있다. 일 실시예에 따른 센서(310)는 압력 센서(311) 및 관성 측정부(IMU, inertial measurement unit)(312)를 포함할 수 있다. 관성 측정부(312)는 사용자의 발의 가속도 및 각속도를 포함하는 관성 정보를 측정할 수 있다. 관성 측정부(312)는 가속도 센서 및 자이로 센서를 포함할 수 있다. 가속도 센서는 3축 방향에 대한 가속도를 감지하고, 자이로 센서는 3축을 기준으로 하는 각속도를 감지할 수 있다. 스마트 인솔 장치(300)는 압력 센서(311) 및 관성 측정부(312)으로부터 복합 센싱 데이터를 획득하고, 관성 정보만을 이용하여 사용자의 체중을 측정할 수 있다. 복합 센싱 데이터는 압력 정보 및 관성 정보를 포함할 수 있다. 압력 센서(311)는 하기 도 6에서 설명하고, 관성 측정부(312)는 하기 도 5에서 설명한다.The sensor 310 may sense information related to the user's weight. The sensor 310 according to an embodiment may include a pressure sensor 311 and an inertial measurement unit (IMU) 312 . The inertia measurement unit 312 may measure inertia information including acceleration and angular velocity of the user's foot. The inertial measurement unit 312 may include an acceleration sensor and a gyro sensor. The acceleration sensor may detect acceleration in three directions, and the gyro sensor may detect angular velocity based on three axes. The smart insole device 300 may obtain complex sensing data from the pressure sensor 311 and the inertia measurement unit 312 and measure the user's weight using only the inertia information. The complex sensing data may include pressure information and inertia information. The pressure sensor 311 will be described with reference to FIG. 6 , and the inertia measuring unit 312 will be described with reference to FIG. 5 .
프로세서(320)는 관성 정보로부터 사용자의 체중과 관련된 구간 데이터를 추출할 수 있다. 프로세서(320)는 추출된 구간 데이터로부터 입력 데이터를 생성할 수 있다. 참고로, 사용자의 일측 발에 착용된 신발에 장착된 스마트 인솔 장치의 프로세서(320)는 일측 발에 대한 제1 입력 데이터를 타측 발에 대한 제2 입력 데이터와 함께 페어를 이루는 입력 데이터를 생성할 수도 있다.The processor 320 may extract section data related to the user's weight from the inertia information. The processor 320 may generate input data from the extracted section data. For reference, the processor 320 of the smart insole device mounted on a shoe worn on one foot of the user generates input data that pairs the first input data for one foot with the second input data for the other foot. may be
통신부(330)는 뉴럴 네트워크 모델을 저장한 체중 추정 서버에게 뉴럴 네트워크 모델에 입력될 입력 데이터를 전송하면서 체중 추정을 요청할 수 있다. 체중 추정 시스템의 체중 추정 서버는 스마트 인솔 장치(300)로부터의 요청에 응답하여, 입력 데이터로부터 기 트레이닝된 뉴럴 네트워크 모델에 기초하여 사용자의 체중을 추정할 수 있다.The communication unit 330 may request weight estimation while transmitting input data to be input to the neural network model to the weight estimation server storing the neural network model. The weight estimation server of the weight estimation system may estimate the user's weight based on a neural network model previously trained from input data in response to a request from the smart guide device 300 .
메모리(340)는 센서(310)에 의해 측정되는 관성 정보 및 압력 정보를 일시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 메모리(340)는 관성 정보 중 사용자의 체중과 관련된 구간 데이터를 저장하는 버퍼를 포함할 수 있다.The memory 340 may temporarily or semi-permanently store inertial information and pressure information measured by the sensor 310 . For example, the memory 340 may include a buffer for storing section data related to the user's weight among the inertia information.
스마트 인솔 장치(300)는 최소 장치 공간 및 적은 전력 소모를 가지며, 손쉬운 제품화가 가능하다. 스마트 인솔 장치(300)는 웨어러블 장치 기반의 체중 관리 서비스를 제공 가능할 수 있다. 스마트 인솔 장치(300)를 포함하는 체중 추정 시스템이 사용자의 보행 및/또는 주행 도중의 체중을 추정해낼 수 있다.The smart insole device 300 has a minimum device space and low power consumption, and can be easily commercialized. The smart insole device 300 may provide a wearable device-based weight management service. A weight estimation system including the smart insole device 300 may estimate the user's weight while walking and/or driving.
도 4는 일 실시예에 따른 스마트 인솔 장치의 동작 방법을 도시한 흐름도이다.4 is a flowchart illustrating a method of operating a smart insole device according to an embodiment.
우선, 단계(411)에서 스마트 인솔 장치의 센서는 관성 정보를 측정할 수 있다. 예를 들어, 관성 측정부는 사용자의 일측 발에 대한 관성 정보로서, 3개 축에 대한 가속도 및 3개 축을 기준으로 하는 각속도를 측정할 수 있다. 관성 측정부에 의해 측정된 관성 정보는 관성 원시 데이터(inertial raw data)라고도 나타낼 수 있다.First, in step 411 , the sensor of the smart insole device may measure inertial information. For example, the inertia measurement unit may measure an acceleration with respect to three axes and an angular velocity based on the three axes as inertia information for one foot of the user. The inertial information measured by the inertial measurement unit may also be referred to as inertial raw data.
그리고 단계(412)에서 스마트 인솔 장치의 프로세서는 관성 정보로부터 사용자의 체중에 관련된 구간 데이터를 추출할 수 있다. 도 7에서 후술하겠으나 체중과 관련된 구간 데이터는 사용자의 발이 지면에 닿는 순간을 포함하는 구간 데이터 및 지면으로부터 떨어지는 순간을 포함하는 구간 데이터일 수 있다. 입력 데이터의 생성은 하기 도 5 내지 도 10에서 설명한다.And in step 412, the processor of the smart insole device may extract section data related to the user's weight from the inertia information. As will be described later with reference to FIG. 7 , the weight-related section data may be section data including the moment the user's foot touches the ground and section data including the moment the user's foot falls off the ground. The generation of input data will be described with reference to FIGS. 5 to 10 below.
이어서 단계(413)에서 프로세서는 추출된 구간 데이터에 기초하여 입력 데이터를 생성할 수 있다. 예를 들어, 구간 데이터는 체중과 관련된 구간의 원시 데이터를 포함하는데, 프로세서는 체중과 관련된 구간의 원시 데이터로부터 체중 관련 물리량 데이터(예를 들어, 중력 방향의 가속도, 충격량, 및 운동량 등)를 산출할 수 있다. 프로세서는 산출된 체중 관련 물리량 데이터를 체중과 관련된 구간의 원시 데이터 및 부가 정보와 함께 입력 데이터에 포함시킬 수 있다. 부가 정보(additional information)는 체중과 관련된 보조 정보(auxiliary information)로서, 예를 들어, 사용자의 체중, 이동 속도(예를 들어, 보행 속도 또는 주행 속도), 나이, 성별, 키, 및 이동 시점(예를 들어, 보행 시점 또는 주행 시점) 등과 같은 정보를 포함할 수 있다. 입력 데이터는 하기 도 10에서 상세히 설명한다.Subsequently, in step 413 , the processor may generate input data based on the extracted section data. For example, the section data includes raw data of a section related to weight, and the processor calculates weight-related physical quantity data (eg, acceleration in the direction of gravity, impulse, and momentum, etc.) from the raw data of the section related to weight. can do. The processor may include the calculated weight-related physical quantity data together with the raw data and additional information of the weight-related section in the input data. Additional information is auxiliary information related to weight, for example, the user's weight, movement speed (eg, walking speed or running speed), age, gender, height, and movement time ( For example, information such as a walking time or a driving time) may be included. The input data will be described in detail with reference to FIG. 10 below.
도 5는 일 실시예에 따른 중력 방향 물리량(physical quantity)을 설명하는 도면이다.5 is a view for explaining a physical quantity in the direction of gravity according to an embodiment.
이론적으로는 F=ma에서 힘 F와 가속도 a를 알면 질량 m이 산출될 수 있다. 다만, 사용자의 보행 중에는 사용자의 보행 패턴 및 그 외 다양한 외부 요인으로 인해 다양한 방향으로 힘이 가해지므로, 전체 질량에 가해지는 힘이 정확히 측정되기 어렵다. 또한, 전체 질량에 가해지는 힘을 정확히 측정하기 위해서는, 스마트 인솔 장치(500)보다 정교하고 고가이면서 보다 큰 부피의 장비가 요구될 수 있다. 지구 상에서는 사용자가 중력계에 속하는 바, 중력 방향(511)으로는 항상 사용자의 전체 질량에 의한 힘이 가해진다. 신발을 착용한 사용자가 보행 또는 주행하는 동안에는 사용자의 발 부위에 있어서 중력 방향(511)으로 항상 사용자의 전체 질량과 관련된 힘이 발생할 수 있다. 다시 말해, 신발을 착용한 사용자가 보행하는 동안 이 힘에 의해 중력 방향(511)에 대한 운동량의 변화량으로서, 충격량이 발생할 수 있다. 충격량은 시간에 걸쳐 힘이 적분된 것이므로, 운동량, 충격량, 및 가속도(예를 들어, 중력 방향(511)의 가속도) 등의 물리량은 사용자의 전체 질량과 상관 관계에 있다. 지구의 중력계 내에서 사용자의 체중은 질량에 중력 가속도가 곱해진 값이므로, 체중도 운동량, 충격량, 및 가속도 등의 물리량과 상관 관계에 있다.Theoretically, knowing the force F and the acceleration a at F = ma, the mass m can be calculated. However, since the force is applied in various directions during the user's walking due to the user's gait pattern and other various external factors, it is difficult to accurately measure the force applied to the total mass. In addition, in order to accurately measure the force applied to the total mass, more sophisticated and expensive equipment than the smart insole device 500 may be required. Since the user belongs to the gravimeter on the Earth, a force by the user's total mass is always applied in the direction of gravity 511 . While the user wearing the shoes walks or runs, a force related to the user's total mass may always be generated in the direction of gravity 511 in the user's foot portion. In other words, as the amount of change in the amount of momentum in the direction of gravity 511 by this force while the user wearing the shoes walks, an impact amount may be generated. Since the impulse is the integration of a force over time, physical quantities such as momentum, impulse, and acceleration (eg, acceleration in the direction of gravity 511 ) are correlated with the user's total mass. Since the user's body weight is a value obtained by multiplying the mass by the gravitational acceleration in the Earth's gravimeter, the body weight also has a correlation with physical quantities such as momentum, impulse, and acceleration.
일 실시예에 따른 스마트 인솔 장치(500)의 관성 측정부(510)는 3개의 축에 대한 가속도 및 개별 축의 각속도를 측정할 수 있다. 예를 들어, 관성 측정부(510)는 사용자의 발의 길이방향 축(longitudinal axis), 길이방향 축에 수직하는 가로 축(lateral axis), 및 길이방향 축과 가로 축에 수직하는 수직 축(vertical axis)에 대한 가속도를 측정할 수 있다. 관성 측정부(510)는 길이방향 축, 가로 축, 및 수직 축의 각각을 기준으로 총 3개의 각속도를 측정할 수 있다. 스마트 인솔 장치(500)는, 3개의 축에 대한 3개의 가속도 및 3개의 각속도를 이용하여, 앞서 설명한 바와 같이 체중과 상관 관계에 있는 물리량으로서 중력 방향(511)의 가속도를 산출할 수 있다. 스마트 인솔 장치(500)는 해당 시점에서 주어지는 체중(예를 들어, 매 추정시마다 업데이트되는 체중) 및 중력 방향(511)의 가속도를 이용하여 중력 방향(511)에 대한 운동량 및 충격량도 산출할 수 있다. 체중과 상관 관계에 있는 물리량은 사용자의 체중 변화에 영향을 주는 것으로 해석될 수 있다.The inertia measurement unit 510 of the smart insole device 500 according to an exemplary embodiment may measure acceleration with respect to three axes and angular velocities of individual axes. For example, the inertia measurement unit 510 may include a longitudinal axis of the user's foot, a lateral axis perpendicular to the longitudinal axis, and a vertical axis perpendicular to the longitudinal axis and the lateral axis. ) can be measured. The inertia measuring unit 510 may measure a total of three angular velocities based on each of the longitudinal axis, the horizontal axis, and the vertical axis. The smart insole device 500 may calculate the acceleration in the direction of gravity 511 as a physical quantity correlated with body weight as described above by using three accelerations and three angular velocities with respect to three axes. The smart insol device 500 may also calculate the momentum and impulse in the direction of gravity 511 by using the weight given at the time (eg, weight updated at every estimation) and the acceleration in the direction of gravity 511 . . A physical quantity that is correlated with body weight may be interpreted as affecting a change in the user's weight.
따라서, 체중 추정 시스템은 스마트 인솔 장치(500)에 의해 이전의 체중 대비 현재 구간에서 수집 및/또는 산출되는 물리량에 대응하여 변화된 현재 구간의 체중을 추정할 수 있다. 체중 추정 시스템은 스마트 인솔 장치(500)에 의해 수집 및/또는 산출되는 정보를 이용하여 사용자의 체중을 사용자의 지면(590) 상에서의 보행 중에도 추정할 수 있다.Accordingly, the weight estimation system may estimate the weight of the current section changed in response to the physical quantity collected and/or calculated in the current section compared to the previous weight by the smart insole device 500 . The weight estimation system may estimate the user's weight while walking on the user's ground 590 using information collected and/or calculated by the smart insole device 500 .
도 6은 일 실시예에 따른 스마트 인솔 장치에 포함된 센서의 구성을 도시한 도면이다.6 is a diagram illustrating a configuration of a sensor included in a smart insole device according to an embodiment.
일 실시예에 따른 스마트 인솔 장치(600)는 앞서 설명한 바와 같이 압력 센서(611) 및 관성 측정부를 포함할 수 있다. 스마트 인솔 장치(600)는 신발(690) 내에 장착될 수 있다.The smart insole device 600 according to an embodiment may include a pressure sensor 611 and an inertia measurement unit as described above. The smart insole device 600 may be mounted in the shoe 690 .
관성 측정부(612)는 사용자의 발에 대한 관성 정보를 측정할 수 있으며, 관성 정보는 도 5에서 설명한 바와 같이 3개 축의 가속도 및 3개 축을 기준으로 하는 각속도를 포함할 수 있다. 관성 정보는 중력 방향에 대한 체중 관련 물리량을 산출하는데 사용될 수 있다. 도 6에서 관성 측정부(612)는 사용자의 발의 아치(arch)가 위치되는 부분에 배치되는 것으로 도시되었으나, 이로 한정하는 것은 아니다.The inertia measurement unit 612 may measure inertia information about the user's foot, and the inertia information may include acceleration of three axes and angular velocity based on three axes, as described with reference to FIG. 5 . The inertia information can be used to calculate a weight-related physical quantity with respect to the direction of gravity. In FIG. 6 , the inertia measuring unit 612 is illustrated as being disposed at a portion where an arch of the user's foot is positioned, but the present invention is not limited thereto.
압력 센서(611)는 복수의 지점들(611a, 611b, 611c, 611d)의 압력을 센싱할 수 있다. 예를 들어, 압력 센서(611)는 스마트 인솔 장치가 장착된 신발의 밑면이 지면에 닿는 동안 발이 지면에 가하는 압력을 복수의 지점들(611a, 611b, 611c, 611d)에서 센싱할 수 있다. 일 실시예에 따른 압력 센서(611)는 복수의 지점들(611a, 611b, 611c, 611d)에 배치되는 힘 감지 저항기들(FSRs, force sensitive resistors)을 포함할 수 있다. 압력 센서(611)는 각 지점에서의 저항 변화에 기초하여 해당 지점에 가해지는 힘을 감지할 수 있다. 각 지점에 가해지는 힘이 증가하면 해당 지점의 저항 값이 감소하고, 힘이 감소하면 저항 값이 증가할 수 있는 바, 힘 감지 저항기는 해당 지점의 저항 값에 대응하는 힘의 세기를 지시하는 압력 값을 출력할 수 있다. 예를 들어, 압력 센서(611)는 사용자의 발바닥에서 앞꿈치 지점(611a), 내측 지점(611b)(예를 들어, 아치 안쪽 부분), 외측 지점(611c)(예를 들어, 아치 바깥 부분), 및 발꿈치 지점(611d)의 압력을 센싱할 수 있다. 이 경우, 힘 감지 저항기들이 앞꿈치 지점(611a), 내측 지점(611b), 외측 지점(611c), 및 발꿈치 지점(611d)에 배치될 수 있다. 다만, 이는 이해를 돕기 위한 예시로서 압력 센서(611)의 구현 방식은 설계에 따라 달라질 수 있다.The pressure sensor 611 may sense pressures of a plurality of points 611a, 611b, 611c, and 611d. For example, the pressure sensor 611 may sense the pressure applied by the foot to the ground at a plurality of points 611a, 611b, 611c, and 611d while the bottom of the shoe equipped with the smart insole device touches the ground. The pressure sensor 611 according to an embodiment may include force sensitive resistors (FSRs) disposed at a plurality of points 611a, 611b, 611c, and 611d. The pressure sensor 611 may detect a force applied to a corresponding point based on a change in resistance at each point. When the force applied to each point increases, the resistance value at that point decreases, and when the force decreases, the resistance value may increase. The force sensing resistor is a pressure indicating the strength of the force corresponding to the resistance value at the point value can be printed. For example, the pressure sensor 611 may include a forefoot point 611a, a medial point 611b (eg, an arch medial part), a lateral point 611c (eg, an arch external part) on the sole of the user's foot; And it is possible to sense the pressure of the heel point (611d). In this case, force sensing resistors may be disposed at the heel point 611a, the medial point 611b, the lateral point 611c, and the heel point 611d. However, this is an example for better understanding, and the implementation method of the pressure sensor 611 may vary depending on the design.
일 실시예에 따르면 압력 센서(611)에 의해 센싱되는 압력 정보는 체중과 관련된 구간을 판별하기 위한 보조 정보로서 활용될 수 있다. 예를 들어, 압력 센서(611)는 스마트 인솔 장치(600)가 장착된 신발의 밑면이 지면에 닿는 동안 발이 지면에 가하는 압력을 복수의 지점들(611a, 611b, 611c, 611d)에서 센싱할 수 있다. 이 때, 스마트 인솔 장치(600)의 프로세서는, 관성 측정부(612)에 의해 측정된 관성 정보로부터 산출되는 물리량 및 압력 센서(611)에 의해 센싱된 압력 정보에 기초하여 체중과 관련된 유효 구간을 결정할 수 있다. 유효 구간의 결정은 하기 도 9에서 설명한다.According to an embodiment, the pressure information sensed by the pressure sensor 611 may be used as auxiliary information for determining a section related to weight. For example, the pressure sensor 611 may sense the pressure applied to the ground by the foot at a plurality of points 611a, 611b, 611c, and 611d while the bottom of the shoe equipped with the smart insole device 600 touches the ground. there is. At this time, the processor of the smart insole device 600 determines an effective section related to the weight based on the physical quantity calculated from the inertia information measured by the inertia measurement unit 612 and the pressure information sensed by the pressure sensor 611 . can decide Determination of the effective interval will be described with reference to FIG. 9 below.
도 7은 일 실시예에 따른 뒷꿈치 착지 이벤트 및 앞꿈치 이지 이벤트를 설명하는 도면이다.7 is a view for explaining a heel landing event and a heel easy event according to an embodiment.
만약, 보행 동안 모든 구간의 센싱 데이터를 체중 추정에 이용할 경우, 환경 노이즈(예를 들어, 중력 방향과 관계가 적은 전방 방향 에너지, 착용자 별 보행 시 관절각에 의한 보행 기동 패턴 등)를 제거하기 위해 불필요하게 너무 많은 필터링 기법이 적용되어야 한다. 더 나아가, 많은 필터링 기법들에도 불구하고 충격량 추출이 부정확할 수 있다. 체중과 관련된, 보행시 중력 방향으로의 에너지가 가장 높은 시간 구간은, 사용자의 발이 지면(790)에 닿는 순간을 포함하는 구간 및 발이 지면(790)으로부터 떨어지는 순간을 포함하는 구간이다. 서로 체중이 다른 사용자들이 동일 속도로 보행 또는 주행하는 경우, 발이 지면(790)에 닿는 순간 및 발이 지면(790)으로부터 떨어지는 순간에서의 충격량과 반발력은 사용자의 체중 별로 다르게 나타난다. 따라서, 스마트 인솔 장치는 보행 동안 수집되는 모든 구간의 데이터 대신, 발이 지면(790)에 닿은 순간 및 발이 지면(790)으로부터 떨어지는 순간과 관련된 구간의 데이터만을 추출하여 입력 데이터를 생성하는데 사용할 수 있다.If the sensing data of all sections during walking is used for weight estimation, in order to remove environmental noise (for example, forward energy with little relation to the direction of gravity, gait maneuver pattern due to joint angle when walking by each wearer) Too many filtering techniques must be applied unnecessarily. Furthermore, impulse extraction can be inaccurate despite many filtering techniques. The time section in which the energy in the direction of gravity is highest when walking, related to the body weight, is a section including a moment when the user's foot touches the ground 790 and a section including a moment when the user's foot falls from the ground 790 . When users with different body weights walk or run at the same speed, the amount of impact and the repulsion force at the moment the foot touches the ground 790 and the moment the foot falls from the ground 790 appear differently for each user's weight. Therefore, the smart insole device may extract only the data of the section related to the moment the foot touches the ground 790 and the moment the foot falls from the ground 790, instead of data of all sections collected during walking, and can be used to generate input data.
본 명세서에서 지면(790)에 발이 닿은 시점을 뒷꿈치 착지 시점(heel strike time point), 지면(790)으로부터 발을 떼는 시점을 이지 시점(toe off time point)이라고 나타낼 수 있다. 앞꿈치 이지 이벤트(720)(TO event, toe off event)는 사용자의 발의 앞꿈치가 지면(790)으로부터 떨어지는 이벤트를 나타내고 뒷꿈치 착지 이벤트(710)(HS event, heel strike event)는 사용자의 발의 뒷꿈치가 지면(790)에 착지하는 이벤트를 나타낼 수 있다. 앞꿈치 이지 구간은 앞꿈치 이지 이벤트(720)가 발생한 시점을 포함하는 구간이고, 뒷꿈치 착지 구간은 뒷꿈치 착지 이벤트(710)가 발생한 시점을 포함하는 구간을 나타낼 수 있다. 앞꿈치 이지 이벤트(720)에서는 주로 지면(790) 반발력에 의한 영향이 나타나고, 뒷꿈치 착지 이벤트(710)에서는 주로 지면(790) 충격량에 의한 영향이 나타날 수 있다. 스마트 인솔 장치는 관성 측정부 및 압력 센서를 이용하여 착지 시점 및 이지 시점을 정확히 추출할 수 있는데, 하기 도 9에서 설명한다.In the present specification, a time point at which the foot touches the ground 790 may be referred to as a heel strike time point, and a time point at which the foot is released from the ground 790 may be referred to as a toe off time point. The heel easy event 720 (TO event, toe off event) indicates an event in which the forefoot of the user's foot falls from the ground 790 and the heel landing event 710 (HS event, heel strike event) is the heel of the user's foot on the ground. A landing event at 790 may be indicated. The heel easy section may represent a section including a time point at which the heel easy event 720 occurs, and the heel landing section may represent a section including a time point at which the heel landing event 710 occurs. In the heel easy event 720, the effect mainly due to the ground 790 repulsion force appears, and in the heel landing event 710, the effect mainly by the ground 790 impact amount may appear. The smart insole device can accurately extract a landing time and an easy time by using an inertia measurement unit and a pressure sensor, which will be described with reference to FIG. 9 below.
일 실시예에 따르면 스마트 인솔 장치는 관성 정보에서 사용자의 정속 보행 상태 동안 추출된 구간 데이터를 이용하여 입력 데이터를 생성할 수 있다. 예를 들어, 스마트 인솔 장치는 사용자가 정속으로 보행하는 동안 수집되는 관성 정보 중에서도 상술한 앞꿈치 이지 시점을 포함하는 구간 및/또는 뒷꿈치 이지 시점을 포함하는 구간을 체중과 관련된 구간으로 결정할 수 있다.According to an embodiment, the smart insole device may generate input data by using section data extracted from the inertia information during the user's constant speed walking state. For example, the smart insole device may determine, among inertia information collected while the user walks at a constant speed, a section including the above-described heel easy time and/or a section including the heel easy time point as the weight-related section.
예를 들어, 스마트 인솔 장치는 실시간 체중 추정을 위해 사용자가 신발을 착용하고 보행하는 동안, 사용자의 정속 주행 상태 여부를 실시간으로 판별할 수 있다. 예를 들어, 스마트 인솔 장치의 프로세서는, 관성 정보에 기초하여 지면(790)에 평행한 방향에 대한 사용자의 이동 속도를 계산할 수 있다. 프로세서는 미리 결정된 임계 시간을 초과하여 계산된 이동 속도가 유지되는 경우 사용자가 정속 보행 상태인 것으로 결정할 수 있다. 스마트 인솔 장치의 프로세서는 임의의 기준 시점에서 기준 속도를 결정하고, 해당 기준 시점 이후 임계 시간을 초과하여 기준 속도 대비 미리 결정된 속도 증감 범위 내에서만 속도가 변화하는 경우, 정속 보행 상태인 것으로 결정할 수 있다. 예시적으로, 임계 시간이 5분, 기준 시점에서의 기준 속도가 5km/h, 미리 결정된 속도 증감 범위는 ±0.2km/h인 경우, 스마트 인솔 장치는 5분을 초과하는 동안 사용자의 보행 속도가 4.8km/h부터 5.2km/h 사이 내에서만 변화하는 경우, 사용자가 정속 보행 상태인 것으로 결정할 수 있다. 기준 시점은 보행 동안 미리 정한 주기마다 반복되는 시점일 수 있는데, 이로 한정하는 것은 아니다.For example, the smart insole device may determine in real time whether the user is in a constant speed driving state while the user is walking while wearing shoes for real-time weight estimation. For example, the processor of the smart insole device may calculate a movement speed of the user in a direction parallel to the ground 790 based on the inertia information. The processor may determine that the user is in a constant speed walking state when the calculated moving speed is maintained over a predetermined threshold time. The processor of the smart insole device determines the reference speed at an arbitrary reference point, and when the speed changes only within a predetermined speed increase/decrease range compared to the reference speed after the reference point exceeds the threshold time, it can be determined to be in a constant speed walking state. . Illustratively, if the threshold time is 5 minutes, the reference speed at the reference point is 5 km/h, and the predetermined speed increase/decrease range is ±0.2 km/h, the smart insole device increases the user's walking speed for more than 5 minutes When it changes only within the range of 4.8 km/h to 5.2 km/h, it may be determined that the user is in a constant speed walking state. The reference time point may be a time point repeated every predetermined period during walking, but is not limited thereto.
스마트 인솔 장치는 정속 주행 구간에서의 관성 정보를 저장할 수 있다. 스마트 인솔 장치는 메모리에 n차 원형 버퍼(circular buffer)를 생성하고, 보행 상태 동안의 관성 정보를 원형 버퍼에 저장할 수 있다. 스마트 인솔 장치는 체중 관련된 구간 중에서도 압력 센서에 의해 센싱된 압력 정보에 기초하여 입력 데이터의 생성에 사용되는 유효 구간을 결정할 수 있는데, 이는 하기 도 9에서 설명한다.The smart insole device may store inertia information in the constant speed driving section. The smart insole device may create an n-th circular buffer in the memory and store inertia information during the walking state in the circular buffer. The smart insole device may determine an effective section used to generate input data based on pressure information sensed by a pressure sensor among weight-related sections, which will be described with reference to FIG. 9 below.
도 8은 일 실시예에 따른 스마트 인솔 장치에 의해 센싱되는 원시 데이터(raw data)를 도시한다.8 illustrates raw data sensed by a smart insole device according to an exemplary embodiment.
사용자의 일측 발에 대응하는 스마트 인솔 장치는 타측 발에 대응하는 다른 스마트 인솔 장치와 쌍(pair)을 이룰 수 있다. 쌍을 이루는 스마트 인솔 장치는 각각 독립적으로 동작하거나, 서로 동기화하여 동작할 수 있다. 도 8에서는 도 7과 같은 보행 동안 좌측 발에 착용된 스마트 인솔 장치에 의해 수집된 센싱 데이터(891) 및 우측 발에 착용된 스마트 인솔 장치에 의해 수집된 센싱 데이터(892)를 도시한다.The smart insole device corresponding to one foot of the user may be paired with another smart insole device corresponding to the other foot. The paired smart insole devices may operate independently of each other or may operate in synchronization with each other. 8 shows sensing data 891 collected by the smart insole device worn on the left foot and sensing data 892 collected by the smart insole device worn on the right foot during walking as shown in FIG. 7 .
스마트 인솔 장치에 의해 수집되는 센싱 데이터(891)는 3축에 대한 가속도 및 3축을 기준으로 하는 각속도를 포함하는 관성 정보(810) 및 복수의 지점들에서 센싱되는 압력 정보(820)를 포함할 수 있다. 스마트 인솔 장치는 관성 정보(810) 및 압력 정보(820)에 기초하여 뒷꿈치 착지 이벤트(851) 및 앞꿈치 이지 이벤트(852)를 정확히 추출할 수 있다. 예를 들어, 스마트 인솔 장치는 관성 정보(810)로부터 중력 방향에 대한 발의 가속도를 산출하고, 산출된 가속도를 적분하여 중력 방향에 대한 발의 속도를 산출할 수 있다. 스마트 인솔 장치는 중력 방향에 대한 속도 및 이전에 추정된 사용자의 체중에 기초하여 운동량을 산출할 수 있다. 스마트 인솔 장치는 운동량에 기초하여 뒷꿈치 착지 이벤트(851) 및 앞꿈치 이지 이벤트(852)를 추출할 수 있다. 운동량에 기초한 이벤트 추출은 하기 도 9 및 도 10에서 설명한다. 참고로, 스마트 인솔 장치는 압력 정보에 기초하여 뒷꿈치 착지 구간 및 앞꿈치 이지 구간 중 유효 구간을 결정할 수 있다.The sensing data 891 collected by the smart insole device may include inertial information 810 including acceleration for 3 axes and angular velocity based on 3 axes and pressure information 820 sensed at a plurality of points. there is. The smart insole device may accurately extract the heel landing event 851 and the heel easy event 852 based on the inertia information 810 and the pressure information 820 . For example, the smart insole device may calculate the acceleration of the foot in the direction of gravity from the inertia information 810 , and integrate the calculated acceleration to calculate the speed of the foot in the direction of gravity. The smart insole device may calculate the amount of exercise based on the speed with respect to the direction of gravity and the weight of the user previously estimated. The smart insole device may extract a heel landing event 851 and a heel easy event 852 based on the amount of exercise. Event extraction based on the amount of exercise will be described with reference to FIGS. 9 and 10 below. For reference, the smart insole device may determine an effective section among the heel landing section and the heel easy section based on the pressure information.
도 9 및 도 10은 일 실시예에 따른 뒷꿈치 착지 이벤트 및 앞꿈치 이지 이벤트에 기초한 구간 데이터 추출을 설명하는 도면이다.9 and 10 are diagrams for explaining section data extraction based on the heel landing event and the heel easy event according to an embodiment.
일 실시예에 따른 스마트 인솔 장치는 압력 센서에 의해 복수의 지점들에서 센싱되는 압력 및 관성 정보로부터 산출된 운동량(900)에 기초하여 뒷꿈치 착지 시점 및 앞꿈치 이지 시점 중 적어도 하나를 판별할 수 있다.The smart insole device according to an embodiment may determine at least one of a heel landing time and a heel easy time based on the momentum 900 calculated from pressure and inertia information sensed at a plurality of points by the pressure sensor.
예시적으로, 도 9에 도시된 바와 같이, 스마트 인솔 장치는 일측 발에 대해 산출된 시간 흐름에 따른 운동량(900)을 샘플링 포인트 별로 산출할 수 있다. 스마트 인솔 장치는 운동량(900)에 있어서 극점(local extremum point)인 샘플링 포인트를 이벤트 시점으로 결정할 수 있다. 예를 들어, 스마트 인솔 장치는 운동량(900)에 있어서 극소점(local minimum point)을 뒷꿈지 착지 시점, 극대점(local maximum point)을 앞꿈치 착지 시점으로 결정할 수 있다. 도 9에 도시된 바와 같이 뒷꿈치가 지면에 닿게 되면 발에서 관성 측정부가 배치된 지점의 속도가 순간적으로 감소하므로 운동량(900)이 최소가 되고, 앞꿈치가 지면을 박차고 출발하게 되면 발에서 관성 측정부가 배치된 지점의 속도가 순간적으로 증가하므로 운동량(900)이 최대가 될 수 있다. 참고로, 앞서 설명한 바와 같이, 관성 측정부는 앞꿈치 지점과 뒷꿈치 지점의 사이인 발의 아치 부분에 배치될 수 있다.For example, as shown in FIG. 9 , the smart insole device may calculate the amount of exercise 900 over time calculated for one foot for each sampling point. The smart insole device may determine a sampling point that is a local extremum point in the momentum 900 as an event time point. For example, the smart insole device may determine a local minimum point as a heel landing time and a local maximum point as a heel landing time in the momentum 900 . As shown in FIG. 9, when the heel touches the ground, the speed of the point where the inertia measuring unit is disposed on the foot is momentarily reduced, so the momentum 900 is minimized, and when the heel starts kicking the ground, inertia is measured at the foot Since the speed of the point at which the auxiliary is disposed increases instantaneously, the momentum 900 may be maximized. For reference, as described above, the inertia measuring unit may be disposed in the arch portion of the foot between the forefoot point and the heel point.
이 때, 관성 정보만으로는 사용자의 발이 지면에 닿거나 지면으로부터 떨어지기 전에 운동량(900)에서 극대값(952) 및 극소값(951)이 나타날 수도 있다. 따라서 관성 정보만으로는 정확한 이벤트의 검출이 어려운 바, 스마트 인솔 장치는 압력 정보도 함께 이용하여 뒷꿈치 착지 이벤트 및 앞꿈치 착지 이벤트를 검출할 수 있다. 일 실시예에 따르면, 스마트 인솔 장치는 압력 정보에 기초하여 극점들 중에서도 유효한 극점을 결정할 수 있다. 예를 들어, 스마트 인솔 장치는 운동량(900)에 있어서 극소값(951)에 대응하는 극소점이면서 동시에 뒷꿈치 지점의 압력 값이 임계값 이상인 샘플링 포인트를 유효한 뒷꿈치 착지 시점으로 결정할 수 있다. 또한, 스마트 인솔 장치는 운동량(900)에 있어서 극대값(952)에 대응하는 극대점이면서 동시에 앞꿈치 지점의 압력 값이 임계값 이상인 샘플링 포인트를 유효한 앞꿈치 이지 시점으로 결정할 수 있다. 따라서, 스마트 인솔 장치는 뒷꿈치가 실제로 지면에 착지하는 순간 및 앞꿈치가 실제로 지면으로부터 떨어지는 순간을 정확하게 추출할 수 있다.In this case, the maximum value 952 and the minimum value 951 may appear in the momentum 900 before the user's foot touches the ground or leaves the ground only with inertia information. Therefore, since it is difficult to accurately detect an event using only inertia information, the smart insole device can detect a heel landing event and a heel landing event using pressure information as well. According to an embodiment, the smart insole device may determine an effective pole among the poles based on the pressure information. For example, the smart insole device may determine a sampling point corresponding to the minimum value 951 in the momentum 900 and at the same time a sampling point in which the pressure value of the heel point is equal to or greater than the threshold value as a valid heel landing time. In addition, the smart insole device may determine a sampling point corresponding to the maximum value 952 in the momentum 900 as well as a sampling point in which the pressure value of the forefoot point is equal to or greater than the threshold value as an effective forefoot easy time. Accordingly, the smart insole device can accurately extract the moment the heel actually lands on the ground and the moment the forefoot actually leaves the ground.
일 실시예에 따르면 스마트 인솔 장치는 각 이벤트 시점을 기준으로 유효한 구간을 추출할 수 있다. 스마트 인솔 장치는 이벤트 시점을 포함하는 구간을 유효한 구간으로 추출할 수 있다. 예를 들어, 스마트 인솔 장치는 뒷꿈치 착지 시점을 중심으로 미리 정한 샘플링 개수를 포함하는 구간을 뒷꿈치 착지 구간(910)으로 결정할 수 있다. 스마트 인솔 장치는 앞꿈치 이지 시점을 중심으로 미리 정한 샘플링 개수를 포함하는 구간을 앞꿈치 이지 구간(920)으로 결정할 수 있다. 도 9에서 뒷꿈치 착지 구간(910)은 t0부터 t0+∝까지의 구간, 앞꿈치 이지 구간(920)은 t1부터 t1+∝까지의 구간으로 도시된다.According to an embodiment, the smart insol device may extract a valid section based on each event time point. The smart insol device may extract a section including the event time point as a valid section. For example, the smart insole device may determine a section including a predetermined number of sampling centered on the heel landing time point as the heel landing section 910 . The smart insole device may determine a section including a predetermined number of sampling centered on the forefoot easy time point as the forefoot easy section 920 . 9, the heel landing section 910 is shown as a section from t0 to t0+∝, and the heel easy section 920 is shown as a section from t1 to t1+∝.
일 실시예에 따르면 스마트 인솔 장치는 관성 정보로부터 뒷꿈치 착지 시점(1051)을 포함하는 구간의 뒷꿈치 착지 데이터(heel strike data) 및 앞꿈치 이지 시점을 포함하는 구간의 앞꿈치 이지 데이터(toe off data) 중 적어도 하나를 구간 데이터로서 추출할 수 있다. 도 10은 도 9에 도시된 뒷꿈치 착지 구간을 확대한 도면으로서, 예시적으로 뒷꿈치 착지 데이터를 설명한다. 스마트 인솔 장치는 샘플링레이트로 관성 정보를 샘플링할 수 있다. 참고로, 도 10에서 예시적으로 샘플링레이트가 200Hz로 도시되었으나, 이로 한정하는 것은 아니다. According to an embodiment, the smart insole device includes at least one of the heel strike data of the section including the heel landing time 1051 and the toe off data of the section including the heel easy time from the inertia information. One can be extracted as interval data. Figure 10 is an enlarged view of the heel landing section shown in Figure 9, illustratively describes the heel landing data. The smart insole device may sample the inertia information at a sampling rate. For reference, although the sampling rate is illustrated as 200 Hz by way of example in FIG. 10 , the present invention is not limited thereto.
구간 데이터는 유효한 구간에 속하는 샘플링 포인트(1001)들 별로 관성 정보의 원시 값들(raw values)을 포함할 수 있다. 예를 들어, 뒷꿈치 착지 데이터는 뒷꿈치 착지 시점(1051)을 기준으로 결정되는 유효 구간 내의 미리 정한 샘플링 개수의 샘플링 포인트(1001)들에 대응하는 관성 원시 값들을 포함할 수 있다. 앞꿈치 이지 데이터는 앞꿈치 이지 시점을 기준으로 결정되는 유효 구간 내의 미리 정한 샘플링 개수의 샘플링 포인트(1001)들에 대응하는 관성 원시 값들을 포함할 수 있다. 임의의 샘플링 포인트(1001)에서의 관성 원시 값은 해당 샘플링 포인트(1001)에서 측정된 3축에 대한 가속도 및 3축을 기준으로 하는 각속도를 포함할 수 있다.The section data may include raw values of inertia information for each sampling point 1001 belonging to a valid section. For example, the heel landing data may include inertia raw values corresponding to a predetermined number of sampling points 1001 within an effective period determined based on the heel landing time 1051 . The heel easy data may include inertia raw values corresponding to a predetermined number of sampling points 1001 within an effective period determined based on the forefoot easy time. An inertia raw value at an arbitrary sampling point 1001 may include an acceleration with respect to three axes and an angular velocity based on the three axes measured at the corresponding sampling point 1001 .
일 실시예에 따르면 스마트 인솔 장치의 프로세서는 뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 중력 방향을 따르는 가속도를 산출할 수 있다. 또한, 스마트 인솔 장치는 구간 데이터의 매 샘플링 포인트(1001)마다 중력 방향의 가속도 및 운동량을 산출하고, 구간 데이터의 구간 내 운동량들의 합인 충격량을 산출할 수 있다. 스마트 인솔 장치는 구간 데이터와 함께, 중력 방향에 대해 산출된 가속도, 사용자의 현재 체중에 기초하여 산출된 운동량 및 충격량을 포함하는 입력 데이터를 생성할 수 있다.According to an embodiment, the processor of the smart insole device may calculate the acceleration along the direction of gravity from at least one of the heel landing data and the heel easy data. In addition, the smart insol device may calculate the acceleration and momentum in the direction of gravity for every sampling point 1001 of the section data, and calculate the amount of impact that is the sum of the momentums within the section of the section data. The smart insole device may generate input data including an acceleration calculated with respect to a direction of gravity, an amount of exercise and an amount of impact calculated based on the user's current weight, along with the section data.
입력 데이터는 유효 구간 내 샘플링 포인트(1001) 별 원시 가속도 값(raw acceleration value) 및 원시 각속도 값(raw angular velocity value)을 포함하는 구간 데이터와 함께, 구간 데이터로부터 산출된 중력 방향에 대한 가속도, 중력 방향에 대한 운동량 및 중력 방향에 대한 충격량을 포함할 수 있다. 충격량은 해당 유효한 구간 동안의 운동량 변화에 대응할 수 있다. 입력 데이터는 예시적으로 하기 표 1과 같이 표현될 수 있다.The input data includes section data including raw acceleration values and raw angular velocity values for each sampling point 1001 within the effective section, along with acceleration and gravity with respect to the direction of gravity calculated from section data. It can include momentum with respect to direction and impulse with respect to direction of gravity. The impulse may correspond to a change in momentum during the corresponding effective period. The input data may be exemplarily represented as shown in Table 1 below.
Figure PCTKR2020015610-appb-img-000001
Figure PCTKR2020015610-appb-img-000001
상술한 표 1에서, N은 유효 구간 내 샘플링 개수로서 1이상의 정수일 수 있다. ax1 내지 axN은 샘플링 포인트(1001) 별 x축에 대한 가속도, ay1 내지 ayN은 y축에 대한 가속도, az1 내지 azN은 z축에 대한 가속도, wr1 내지 wrN은 롤링 각속도, wp1 내지 wpN은 피치 각속도, 및 wy1 내지 wyN은 요우잉 각속도를 나타낼 수 있다. ag1 내지 agN은 유효 구간 내 원시 데이터로부터 산출된 샘플링 포인트(1001) 별 중력 방향에 대한 가속도를 나타낼 수 있다. P1 내지 PN은 샘플링 포인트(1001) 별 운동량을 나타낼 수 있다. 운동량은 앞서 설명한 바와 같이, 가속도가 적분된 속도 및 체중에 기초하여 산출될 수 있다. I는 유효 구간 내 운동량의 변화량으로서, 예시적으로 P1 내지 PN의 총합에 대응할 수 있다.In Table 1 above, N may be an integer greater than or equal to 1 as the number of samplings within the effective interval. ax1 to axN are accelerations along the x-axis for each sampling point 1001, ay1 to ayN are accelerations to the y-axis, az1 to azN are accelerations to the z-axis, wr1 to wrN are rolling angular velocities, wp1 to wpN are pitch angular velocities, and wy1 to wyN may represent a yaw angular velocity. ag1 to agN may represent accelerations with respect to the direction of gravity for each sampling point 1001 calculated from raw data within an effective period. P1 to PN may represent momentum for each sampling point 1001 . As described above, the momentum may be calculated based on the speed and the body weight at which the acceleration is integrated. I is the amount of change in the amount of exercise within the effective period, and may exemplarily correspond to the sum of P1 to PN.
다만, 입력 데이터를 이로 한정하는 것은 아니고, 이외에도 키, 나이, 성별, 일시(예를 들어, 날짜 및 시간 등) 등의 부가 정보가 입력 데이터에 추가적으로 포함될 수도 있다. 트레이닝을 위해 사용되는 데이터에서 속도는 트레드밀의 속도일 수도 있다.However, the input data is not limited thereto, and additional information such as height, age, gender, date and time (eg, date and time, etc.) may be additionally included in the input data. In the data used for training, the speed may be the speed of the treadmill.
다만, 도 9 및 도 10에서는 설명의 편의를 위해 일측 발에서의 운동량 산출 및 이벤트 검출을 설명하지만, 이로 한정하는 것은 아니고, 운동량 산출 및 뒷꿈치 착지 이벤트와 앞꿈치 이지 이벤트의 추출은 양발에 대해 수행될 수 있다. 입력 데이터는 양발에 대해 생성되어 체중 추정 서버로 전달될 수 있다.However, in FIGS. 9 and 10 , the calculation of the momentum and the detection of the event in one foot are described for convenience of explanation, but it is not limited thereto. can Input data may be generated for both feet and transmitted to a weight estimation server.
도 11은 일 실시예에 따른 체중 추정 서버의 구성을 도시한 블록도이다.11 is a block diagram illustrating a configuration of a weight estimation server according to an embodiment.
일 실시예에 따른 체중 추정 서버(1100)는 스마트 인솔 장치로부터 수신되는 입력 데이터(1101)를 이용하여 체중 결과(1109)를 추정할 수 있다. 체중 추정 서버(1100)는 통신부(1110), 프로세서(1120), 및 메모리(1130)를 포함할 수 있다.The weight estimation server 1100 according to an embodiment may estimate the weight result 1109 by using the input data 1101 received from the smart insole device. The weight estimation server 1100 may include a communication unit 1110 , a processor 1120 , and a memory 1130 .
통신부(1110)는 스마트 인솔 장치에 의해 측정되는 관성 정보 중 사용자의 체중과 관련된 구간 데이터로부터 생성된 입력 데이터(1101)를 스마트 인솔 장치로부터 수신할 수 있다. 예를 들어, 통신부(1110)는 상용자의 양발에 착용된 스마트 인솔 장치 쌍으로부터 정보를 수집할 수 있다.The communication unit 1110 may receive input data 1101 generated from section data related to the user's weight among inertia information measured by the smart insole device from the smart insole device. For example, the communication unit 1110 may collect information from a pair of smart insole devices worn on both feet of the user.
통신부(1110)는 앞서 설명한 바와 같이, 관성 정보에서 사용자의 정속 보행 상태에 대해 생성된 입력 데이터(1101)를 수신할 수 있는데, 예를 들어, 정속 보행 상태 동안의 관성 정보 중 뒷꿈치 착지 시점을 포함하는 구간 및 앞꿈치 이지 시점을 포함하는 구간 중 적어도 하나에 대해 생성된 입력 데이터(1101)를 수신할 수 있다. 통신부(1110)는 뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 산출된, 중력 방향을 따르는 가속도, 사용자의 현재 체중에 따라 산출된 운동량 및 충격량과 함께 구간 데이터를 포함하는 입력 데이터(1101)를 수신할 수 있다. 통신부(1110)는 입력 데이터(1101)와 함께 체중 추정 요청을 수신할 수 있다. 통신부(1110)는 스마트 인솔 장치로부터 주기적으로 입력 데이터(1101)를 수신할 수도 있다. 또한, 통신부(1110)는 후술하는 바와 같이 뉴럴 네트워크 모델(1131)을 이용하여 추정된 체중 결과(1109)를 스마트 인솔 장치로 전달할 수 있다.As described above, the communication unit 1110 may receive the input data 1101 generated for the user's constant speed gait state from the inertia information, for example, including a heel landing time among inertia information during the constant speed gait state. It is possible to receive the input data 1101 generated for at least one of the section and the section including the forefoot easy time. The communication unit 1110 receives the input data 1101 including section data along with the acceleration along the direction of gravity calculated from at least one of the heel landing data and the heel easy data, and the momentum and impulse calculated according to the user's current weight. can do. The communication unit 1110 may receive a weight estimation request together with the input data 1101 . The communication unit 1110 may periodically receive input data 1101 from the smart insole device. Also, the communication unit 1110 may transmit the weight result 1109 estimated using the neural network model 1131 to the smart insole device, as will be described later.
프로세서(1120)는 입력 데이터(1101)로부터 뉴럴 네트워크 모델(1131)에 기초하여 사용자의 체중 결과(1109)를 추정할 수 있다. 예를 들어, 프로세서(1120)는, 스마트 인솔 장치로부터 입력 데이터(1101)와 함께 체중 추정 요청을 수신하는 경우에 응답하여, 입력 데이터(1101)에 뉴럴 네트워크 모델(1131)에 따른 연산을 적용함으로써 사용자의 체중 결과(1109)를 추정할 수 있다. 프로세서(1120)는 스마트 인솔 장치로부터 수신된 입력 데이터(1101)의 형식을 일부 변경하여 뉴럴 네트워크 모델(1131)에 입력할 수도 있다. 예를 들어, 프로세서(1120)는 입력 데이터(1101)에 사용자의 체중과 관련된 부가 정보를 추가할 수도 있다. The processor 1120 may estimate the weight result 1109 of the user based on the neural network model 1131 from the input data 1101 . For example, in response to receiving a weight estimation request together with the input data 1101 from the smart insole device, the processor 1120 applies an operation according to the neural network model 1131 to the input data 1101 by A weight result 1109 of the user may be estimated. The processor 1120 may partially change the format of the input data 1101 received from the smart insole device and input it to the neural network model 1131 . For example, the processor 1120 may add additional information related to the user's weight to the input data 1101 .
메모리(1130)는 뉴럴 네트워크 모델(1131)을 저장할 수 있다. 뉴럴 네트워크 모델(1131)은 복수의 입력 데이터(1101)로부터 체중을 추정하도록 설계된 기계 학습 구조의 모델일 수 있다. 뉴럴 네트워크 모델(1131)은 딥 뉴럴 네트워크(DNN, deep neural network)의 예시에 해당할 수 있다. DNN은 완전 연결 네트워크(fully connected network), 딥 컨볼루셔널 네트워크(deep convolutional network) 및 리커런트 뉴럴 네트워크(recurrent neural network) 등을 포함할 수 있다. 뉴럴 네트워크 모델(1131)은 딥 러닝에 기반하여 비선형적 관계에 있는 입력 데이터(1101) 및 출력 데이터를 서로 매핑함으로써 다양한 작업(예를 들어, 체중 추정 등)을 수행할 수 있다. 딥 러닝은 빅 데이터 세트로부터 기계 학습 기법으로 지도식(supervised) 또는 비지도식(unsupervised) 학습을 통해 입력 데이터(1101) 및 출력 데이터를 서로 매핑할 수 있다. 도 11을 참조하면, 뉴럴 네트워크 모델(1131)은 입력 레이어, 히든 레이어 및 출력 레이어를 포함한다. 입력 레이어, 히든 레이어 및 출력 레이어는 각각 복수의 인공 노드들을 포함한다. 각 레이어에 포함된 각각의 인공 노드에는 이전 레이어로부터 전달되는 가중된 입력들(weighted inputs)이 입력될 수 있다. 각 노드는 가중된 입력들에 활성 함수(activation function)를 적용한 값을 출력할 수 있다. 가중된 입력은 이전 레이어에 포함된 인공 노드들의 출력에 가중치(weight)가 곱해진 것이다. 가중치(예를 들어, 연결선의 연결 가중치)는 뉴럴 네트워크 모델(1131)의 파라미터로 지칭될 수 있다. 활성 함수는 시그모이드(sigmoid), 하이퍼볼릭 탄젠트(hyperbolic tangent; tanh) 및 렐루(rectified linear unit; ReLU)를 포함할 수 있고, 활성 함수에 의해 뉴럴 네트워크 모델(1131)에 비선형성이 형성될 수 있다. 일 실시예에 따르면 뉴럴 네트워크 모델(1131)은 입력 데이터(1101)가 주어지면 히든 레이어를 거쳐 출력 레이어에서 결과 값을 출력할 수 있다. 예를 들어, 도 11에 도시된 뉴럴 네트워크 모델(1131)은 출력 레이어에서 체중 결과(1109)를 출력할 수 있다.The memory 1130 may store the neural network model 1131 . The neural network model 1131 may be a model of a machine learning structure designed to estimate weight from a plurality of input data 1101 . The neural network model 1131 may correspond to an example of a deep neural network (DNN). The DNN may include a fully connected network, a deep convolutional network, and a recurrent neural network. The neural network model 1131 may perform various tasks (eg, weight estimation, etc.) by mapping input data 1101 and output data in a non-linear relationship to each other based on deep learning. Deep learning is a machine learning technique from a big data set, and can map input data 1101 and output data to each other through supervised or unsupervised learning. Referring to FIG. 11 , the neural network model 1131 includes an input layer, a hidden layer, and an output layer. The input layer, the hidden layer, and the output layer each include a plurality of artificial nodes. Weighted inputs transmitted from the previous layer may be input to each artificial node included in each layer. Each node may output a value obtained by applying an activation function to the weighted inputs. The weighted input is a weight multiplied by the outputs of artificial nodes included in the previous layer. A weight (eg, a connection weight of a connection line) may be referred to as a parameter of the neural network model 1131 . The activation function may include a sigmoid, a hyperbolic tangent (tanh), and a rectified linear unit (ReLU), in which nonlinearity is formed in the neural network model 1131 by the activation function. can According to an embodiment, when input data 1101 is given, the neural network model 1131 may output a result value from an output layer through a hidden layer. For example, the neural network model 1131 shown in FIG. 11 may output the weight result 1109 from the output layer.
뉴럴 네트워크 모델(1131)의 폭과 깊이가 충분히 크면 임의의 함수를 구현할 수 있을 만큼의 용량(capacity)을 가질 수 있다. 뉴럴 네트워크 모델(1131)이 적절한 트레이닝 과정을 통해 충분히 많은 트레이닝 데이터를 학습하면, 최적의 인식 성능을 달성할 수 있다. 뉴럴 네트워크 모델(1131)에 포함된 뉴럴 네트워크 모델(1131)의 파라미터(예를 들어, 연결 가중치)는 미리 트레이닝될 수 있다. 예를 들어, 지도식 학습에 있어서 트레이닝 입력 및 트레이닝 출력(예를 들어, 참값(ground truth))의 쌍으로 된 트레이닝 데이터에 기초하여 뉴럴 네트워크 모델(1131)의 파라미터가 업데이트될 수 있다. 트레이닝 도중의 뉴럴 네트워크 모델(1131)은 임시 네크워크로 지칭될 수 있다. 임시 네트워크는 트레이닝 입력을 각 레이어에 전파시켜 임시 출력을 산출할 수 있고, 임시 네트워크의 파라미터는 임시 출력 및 트레이닝 출력 간의 손실이 감소되도록 업데이트될 수 있다. 상술한 트레이닝의 반복에 의해 손실이 목표에 도달하면 트레이닝이 종료될 수 있다. 다만, 설명의 편의를 위해 지도식 학습을 주로 설명하였으나, 이로 한정하는 것은 아니고, 뉴럴 네트워크 모델(1131)은 비지도식으로 학습될 수도 있다.If the width and depth of the neural network model 1131 are sufficiently large, the neural network model 1131 may have enough capacity to implement an arbitrary function. When the neural network model 1131 learns enough training data through an appropriate training process, an optimal recognition performance may be achieved. Parameters (eg, connection weights) of the neural network model 1131 included in the neural network model 1131 may be trained in advance. For example, in supervised learning, a parameter of the neural network model 1131 may be updated based on paired training data of a training input and a training output (eg, a ground truth). The neural network model 1131 during training may be referred to as an ad hoc network. The temporary network may propagate the training input to each layer to produce a temporary output, and parameters of the temporary network may be updated to reduce the loss between the temporary output and the training output. When the loss reaches the target by repetition of the above-described training, the training may be terminated. However, although supervised learning has been mainly described for convenience of explanation, the present invention is not limited thereto, and the neural network model 1131 may be learned unsupervised.
참고로, 설명의 편의를 위하여 도 11에서는 일측 발의 입력 데이터(1101)를 주로 설명하였으나, 이로 한정하는 것은 아니다. 체중 추정 서버(1100)는 스마트 인솔 장치의 쌍으로부터 각각 양측 발에 대한 입력 데이터(1101)를 수신할 수 있고, 양측 발에 대한 입력 데이터(1101)의 쌍을 뉴럴 네트워크 모델(1131)에 적용할 수도 있다. 양측 발에 대한 입력 데이터(1101)는 동일 사용자에 관한 데이터이기 때문이다. 다만, 이로 한정하는 것은 아니고, 양측 발의 입력 데이터(1101)를 페어링하는 동작은 스마트 인솔 장치 또는 체중 추정 서버(1100)에서 수행될 수 있다.For reference, the input data 1101 of one foot has been mainly described in FIG. 11 for convenience of explanation, but the present invention is not limited thereto. The weight estimation server 1100 may receive input data 1101 for both feet from a pair of smart insole devices, respectively, and apply the pair of input data 1101 for both feet to the neural network model 1131 . may be This is because the input data 1101 for both feet is data about the same user. However, the present invention is not limited thereto, and the operation of pairing the input data 1101 of both feet may be performed by the smart insole device or the weight estimation server 1100 .
또한, 체중 추정 서버(1100)는 이전 체중(예를 들어, 직전 체중) 대비 현재 추정된 체중이 임계 오차 비율 이상 증가한 경우, 현재 추정된 체중을 오류로서 배제할 수 있다. 체중 추정 서버(1100)는 순간적인 또는 일시적인 급격한 체중 변화가 발생되는 구간을 배제함으로써, 사용자의 활동(activity)에 의한 체중 변화만을 모니터링할 수 있다.Also, the weight estimation server 1100 may exclude the currently estimated weight as an error when the currently estimated weight with respect to the previous weight (eg, the previous weight) increases by more than a threshold error ratio. The weight estimation server 1100 may monitor only the weight change due to the user's activity by excluding a section in which an instantaneous or temporary rapid weight change occurs.
도 12는 일 실시예에 따른 트레이닝 방법을 설명하는 흐름도이다.12 is a flowchart illustrating a training method according to an embodiment.
앞서 도 11에서는 뉴럴 네트워크 모델의 트레이닝을 간략히 설명하였는데, 도 12는 트레이닝의 구체적인 흐름을 설명한다.Previously, training of the neural network model was briefly described in FIG. 11 , and FIG. 12 describes a specific flow of training.
우선, 단계(1210)에서 체중 별 모집단이 확보될 수 있다. 예를 들어, 트레이닝 장치(1204)는 체중 별 모집단을 구축할 수 있다. 트레이닝 장치(1204)는 각 대상자 별 체중을 기록할 수 있고, 모집단의 체중 그룹 별로 분류할 수 있다. 예를 들어, 트레이닝 장치(1204)는 65kg인 대상자는 60kg대 체중 그룹으로 분류할 수 있다. 트레이닝 장치(1204)는 컴퓨팅 장치로서, 예를 들어, PC(personal computer)일 수 있으나 이로 한정하는 것은 아니고, 체중 추정 서버일 수도 있다. 이 때, 스마트 인솔 장치(110) 및 트레이닝 장치(1204)는 서로 유선으로 연결될 수 있고, 트레이닝 장치(1204)는 실시간으로 센싱 데이터를 스마트 인솔 장치(110)로부터 수집하게 구성될 수 있다.First, in step 1210, a population by weight may be secured. For example, the training device 1204 may build a population by weight. The training device 1204 may record the weight of each subject, and may classify the weight group by weight group of the population. For example, the training device 1204 may classify a 65 kg subject into a 60 kg weight group. The training device 1204 is a computing device, and may be, for example, a personal computer (PC), but is not limited thereto, and may be a weight estimation server. In this case, the smart insole device 110 and the training device 1204 may be connected to each other by wire, and the training device 1204 may be configured to collect sensing data from the smart insole device 110 in real time.
그리고 단계(1220)에서 스마트 인솔 장치(110)는 보행 동안 데이터를 센싱할 수 있다. 예를 들어, 체중별 모집단에 속하는 대상자는 스마트 인솔 장치(110)가 장착된 신발을 착용한 채로 트레드밀(Treadmill) 상에서 보행을 개시할 수 있다. 트레드밀의 속도는 수집하고자 하는 트레이닝용 속도 그룹에 따라 결정될 수 있다. 스마트 인솔 장치(110)는 일정 속도 별 일정 시간 동안 대상자의 보행에 따른 센싱 데이터(예를 들어, 관성 정보)를 트레이닝 장치(1204)로 전달할 수 있다. 대상자의 보행은 트레드밀 상에서 수행되는 행위일 수 있다. 트레이닝 장치(1204)는 대상자의 체중 별로 구분하여 센싱 데이터 중 보행 구간의 관성 정보를 저장할 수 있다. 이 때, 스마트 인솔 장치(110)는 앞서 도 7 내지 도 10에서 설명한 바와 유사하게 뒷꿈치 착지 이벤트 및 앞꿈치 이지 이벤트를 추출할 수 있다.And in step 1220 , the smart insole device 110 may sense data while walking. For example, a subject belonging to the population by weight may start walking on a treadmill while wearing shoes equipped with the smart insole device 110 . The speed of the treadmill may be determined according to the training speed group to be collected. The smart insole device 110 may transmit sensing data (eg, inertia information) according to the subject's walking for a certain time at a certain speed to the training apparatus 1204 . The subject's gait may be an action performed on a treadmill. The training apparatus 1204 may store inertia information of a walking section among sensing data by classifying it by weight of a subject. At this time, the smart insole device 110 may extract the heel landing event and the heel easy event similar to those described above with reference to FIGS. 7 to 10 .
이어서 단계(1230)에서 스마트 인솔 장치(110)는 전처리를 수행할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 관성 측정부에 의해 측정되는 원시 데이터 외에 중력 방향과 관련된 물리량을 추가로 산출할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 앞서 설명한 바와 유사하게, 각 대상자의 보행 속도 별 매 유효 구간에서 매 샘플링 포인트마다 중력 방향에 대한 가속도 값 및 운동량을 산출하여 저장할 수 있다. 또한, 스마트 인솔 장치(110)는 유효 구간 전체의 충격량을 산출할 수 있다. 트레이닝 장치(1204)는 트레이닝 입력 및 트레이닝 출력의 쌍으로 구성되는 트레이닝 데이터를 생성할 수 있다. 트레이닝 입력은 유효 구간의 관성 정보인 구간 데이터 및 중력 방향과 관련된 물리량을 가지는 입력 데이터를 포함할 수 있다. 트레이닝 출력은 대상자의 실제 체중을 포함할 수 있다. 스마트 인솔 장치(110)는 전처리된 트레이닝 데이터를 전달할 수 있다. Subsequently, in step 1230 , the smart insole device 110 may perform pre-processing. For example, the smart insole device 110 may additionally calculate a physical quantity related to the direction of gravity in addition to the raw data measured by the inertia measurement unit. For example, the smart insol device 110 may calculate and store the acceleration value and momentum in the direction of gravity at every sampling point in each valid section for each walking speed of each subject, similar to the above-described description. Also, the smart insole device 110 may calculate the amount of impact for the entire effective section. The training device 1204 may generate training data consisting of pairs of a training input and a training output. The training input may include section data that is inertia information of an effective section and input data having a physical quantity related to a direction of gravity. The training output may include the actual weight of the subject. The smart insole device 110 may deliver pre-processed training data.
그리고 단계(1240)에서 트레이닝 장치(1204)는 트레이닝 데이터를 체중 그룹, 속도 범위 별로 구분하여 수집할 수 있다. 트레이닝 데이터는 앞서 설명한 바와 같이 체중 그룹 별, 속도 범위 별 입력 데이터로 구성될 수 있다. 하기 표 2는 예시적인 트레이닝 데이터를 설명한다. 하기 표 2에서 HS 이벤트는 뒷꿈치 착지 이벤트, TO 이벤트는 앞꿈치 이지 이벤트를 나타낼 수 있다.And in step 1240, the training device 1204 may collect the training data by dividing the training data by weight group and speed range. As described above, the training data may be composed of input data for each weight group and each speed range. Table 2 below describes exemplary training data. In Table 2 below, the HS event may represent a heel landing event, and the TO event may represent a heel easy event.
Figure PCTKR2020015610-appb-img-000002
Figure PCTKR2020015610-appb-img-000002
이어서 단계(1250)에서 트레이닝 장치(1204)는 뉴럴 네트워크 모델을 트레이닝시킬 수 있다. 예를 들어, 트레이닝 장치(1204)는 뉴럴 네트워크 모델에 트레이닝 입력을 입력하여 전파시킴으로써 임시 출력(예를 들어, 임시 체중 결과)을 산출할 수 있다. 트레이닝 장치(1204)는 임시 출력으로부터 손실을 산출할 수 있다. 트레이닝 장치(1204)는 손실이 최소화되도록 역전파(back-propagation)에 기초하여 뉴럴 네트워크 모델의 파라미터(예를 들어, 연결 가중치)를 업데이트할 수 있다. 트레이닝 장치(1204)는 뉴럴 네트워크 모델에 대해 1차 교차 검증(cross validation)하고, 2차 검증을 위해 체중 별 테스트 집단을 추가 확보할 수 있다. 트레이닝 장치(1204)는 테스트 집단에서 입력 데이터를 추출하여 뉴럴 네트워크 모델에 입력함으로써 트레이닝된 뉴럴 네트워크 모델의 성능을 평가할 수 있다.Then, in step 1250, the training device 1204 may train the neural network model. For example, the training device 1204 may generate a temporary output (eg, a temporary weight result) by inputting and propagating a training input to the neural network model. The training device 1204 may calculate a loss from the temporary output. The training apparatus 1204 may update a parameter (eg, a connection weight) of the neural network model based on back-propagation so that the loss is minimized. The training device 1204 may perform primary cross validation on the neural network model and additionally secure a test group for each weight for secondary validation. The training apparatus 1204 may evaluate the performance of the trained neural network model by extracting input data from the test group and inputting it to the neural network model.
일 실시예에 따른 체중 추정 서버는 상술한 바와 같이 트레이닝된 뉴럴 네트워크 모델을 이용하여 체중 추정을 수행할 수 있다. 또한, 체중 추정 서버는 트레이닝된 뉴럴 네트워크 모델의 성능을 지속적으로 개선할 수도 있다. 체중 추정 서버는 트레이닝 장치(1204)로부터 개선된 뉴럴 네트워크 모델을 제공받거나, 체중 추정 서버가 자체적으로 뉴럴 네트워크 모델을 개선할 수도 있다.The weight estimation server according to an embodiment may perform weight estimation using the neural network model trained as described above. In addition, the weight estimation server may continuously improve the performance of the trained neural network model. The weight estimation server may receive an improved neural network model from the training device 1204 , or the weight estimation server may improve the neural network model itself.
예를 들어, 단계(1260)에서 스마트 인솔 장치(110)는 추가 트레이닝 데이터를 전달할 수 있다. 트레이닝 장치(1204)는 뉴럴 네트워크 모델에 의해 추정된 체중 및 실제 체중 간의 오차가 임계 값을 초과하는 모집단 데이터를 체중 그룹 별로 추가적으로 수집할 수 있다. 트레이닝 장치(1204) 및/또는 체중 추정 서버의 통신부는 스마트 인솔 장치(110)에서 사용자의 정속 보행 상태에 대해 수집된 모집단 데이터를, 스마트 인솔(110) 장치 및 트레이닝 장치(1204) 및/또는 체중 추정 서버 간의 접속이 수립될 시 수신할 수 있다. 스마트 인솔 장치(110)는 체중 추정과는 별개로 재트레이닝을 위한 위한 데이터를 수집하여 체중 추정 서버 및/또는 트레이닝 장치(1204)로 전송할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 유효 구간이 확보될 때 마다 입력 데이터 및 체중 결과를 체중 추정 서버 및/또는 트레이닝 장치(1204)로 전달할 수 있다. 또한, 추가 트레이닝 데이터의 전달을 이로 한정하는 것은 아니고, 스마트 인솔 장치(110) 및/또는 모바일 단말이 보행 분석 기록을 누적하여 저장하였다가 체중 추정 서버 및/또는 트레이닝 장치(1204)에 접속할 때마다 전송할 수도 있다. 이렇게 전송된 데이터는 후술하는 단계(1270)에서 재트레이닝을 위해 사용될 수 있다.For example, in step 1260 , the smart insole device 110 may transmit additional training data. The training apparatus 1204 may additionally collect population data in which an error between the weight estimated by the neural network model and the actual weight exceeds a threshold value for each weight group. The training device 1204 and/or the communication unit of the weight estimation server transmits the population data collected about the user's constant speed gait state in the smart insole device 110 to the smart insole 110 device and the training device 1204 and/or the body weight. It can be received when a connection between the estimation servers is established. The smart insole device 110 may collect data for retraining separately from weight estimation and transmit it to the weight estimation server and/or the training device 1204 . For example, the smart insole device 110 may transmit the input data and the weight result to the weight estimation server and/or the training device 1204 whenever an effective period is secured. In addition, the transmission of additional training data is not limited thereto, and whenever the smart insol device 110 and/or the mobile terminal accumulates and stores the gait analysis record and accesses the weight estimation server and/or the training device 1204 , can also be transmitted. The transmitted data may be used for retraining in step 1270 to be described later.
단계(1270)에서 일 실시예에 따른 트레이닝 장치(1204)는 재트레이닝을 수행할 수 있다. 예를 들어, 트레이닝 장치(1204)는 추가적으로 수집된 모집단 데이터에 기초하여 뉴럴 네트워크 모델을 추가적으로 트레이닝시킬 수 있다. 트레이닝 장치(1204)는 오차율 개선을 위해 트레이닝 완료 후 일정 기간(예를 들어, 한달 또는 한 분기 등)이 경과한 후, 상술한 단계들(1210 내지 1250)과 유사하게 재트레이닝을 수행할 수 있다. 이때 트레이닝 장치(1204)는 실제 체중 변화(예를 들어, 감량 등)이 있는 추가 대상자를 선별할 수 있다. 트레이닝 장치(1204)는 추가 대상자의 실제 데이터와 기존 트레이닝된 뉴럴 네트워크 모델에 기초하여 추정된 체중 결과의 오차를 비교할 수 있다. 트레이닝 장치(1204)는 임계 오차를 초과하는 대상자의 데이터를 추가 트레이닝 데이터로서 활용하여 뉴럴 네트워크 모델을 재트레이닝시킬 수 있다. 이 때, 기간 동안 질병이나 질환, 또는 사고 등에 의해 신체적 변경이 발생된 대상자 또는 급격한 체중 감소나 체중 증가를 유발한 외부적 상황(예를 들어, 다이어트, 폭식 등 영향섭취 불균형 등)이 발생한 대상자는 추가 트레이닝 데이터로부터 배제될 수 있다. 외부적 요인은 추가 대상자에 대한 문진을 통해 수집될 수 있다. 트레이닝 장치(1204)는 운동 요인 외의 외부적 요인에 의한 체중 변화를 나타내는 대상자의 데이터를 추가 트레이닝 데이터로부터 배제할 수 있다.In operation 1270 , the training apparatus 1204 according to an embodiment may perform retraining. For example, the training device 1204 may further train the neural network model based on the additionally collected population data. The training device 1204 may perform retraining similarly to the above-described steps 1210 to 1250 after a certain period (eg, a month or a quarter, etc.) has elapsed after completion of training in order to improve the error rate. . In this case, the training device 1204 may select an additional subject having an actual weight change (eg, weight loss, etc.). The training device 1204 may compare the error of the weight result estimated based on the actual data of the additional subject and the existing trained neural network model. The training device 1204 may retrain the neural network model by using the subject's data exceeding the threshold error as additional training data. At this time, subjects who have undergone physical changes due to disease, disease, or accident during the period, or subjects who have experienced external circumstances that have caused rapid weight loss or weight gain (e.g., diet, binge eating, etc.) may be excluded from further training data. External factors may be collected through interviewing additional subjects. The training apparatus 1204 may exclude data of a subject indicating a change in weight due to an external factor other than the exercise factor from the additional training data.
뉴럴 네트워크 모델의 정확성이 보장되는 환경에서, 스마트 인솔 장치(110) 및/또는 체중 추정 서버는 체중의 급격한 변화(예를 들어, 임계 변화량을 초과하는 체중 변화)를 검출하는 경우, 그 때의 입력 데이터를 트레이닝 데이터로 사용하지는 않고, 사용자에게 이상 체중 변화를 경고할 수 있다. 만약 온라인 문진을 통해 이상 체중 변화에 대한 외부 요인이 특정 가능한 경우, 추후 헬스케어 분야에서 체중 변화와 질병간 상관 관계를 도출하는데 사용될 수도 있다. 다만, 뉴럴 네트워크 모델의 정확성이 보장되기 전의 환경에서는, 트레이닝 장치(1204)가 사용자로부터 추정값 오류에 대한 문진 정보를 수집하고, 뉴럴 네트워크 모델의 오류를 분석할 수 있다.In an environment in which the accuracy of the neural network model is guaranteed, the smart guide device 110 and/or the weight estimation server detects an abrupt change in body weight (eg, a change in weight exceeding a threshold change amount), input at that time Rather than using the data as training data, the user may be alerted of an abnormal weight change. If external factors for abnormal weight change can be specified through online questionnaire, it can be used to derive a correlation between weight change and disease in the future healthcare field. However, in an environment before the accuracy of the neural network model is guaranteed, the training apparatus 1204 may collect questionnaire information about the estimation error from the user and analyze the error of the neural network model.
또한, 단계(1280)에서는 트레이닝 장치(1204)가 추가 보행 인자를 뉴럴 네트워크 모델에 반영할 수도 있다. 추가 보행 인자의 반영은 하기 도 13에서 설명한다.Also, in step 1280 , the training device 1204 may reflect the additional gait factor to the neural network model. The reflection of additional gait factors is described below in FIG. 13 .
도 13은 일 실시예에 따른 뉴럴 네트워크 모델의 트레이닝 및 개선을 설명하는 도면이다.13 is a diagram for explaining training and improvement of a neural network model according to an embodiment.
일 실시예에 따른 체중 추정 서버는 복수의 보행 인자들 중 체중 관련도가 임계 점수를 초과하는 대상 보행 인자를 입력 변수로 포함하게 정의된 새로운 입력 데이터를 수신 가능한 새로운 입력 레이어(1331)를 뉴럴 네트워크 모델(1330)에 추가할 수 있다.The weight estimation server according to an embodiment includes a new input layer 1331 capable of receiving new input data defined to include, as an input variable, a target gait factor whose weight relevance exceeds a threshold score among a plurality of gait factors in a neural network. can be added to model 1330 .
예시적으로 스마트 인솔 장치에 의해 수집가능한 정보로부터 분석될 수 있는 보행 관련 인자는 아래 표 3 내지 표 6과 같다.Illustratively, gait-related factors that can be analyzed from information collectible by the smart insole device are shown in Tables 3 to 6 below.
Figure PCTKR2020015610-appb-img-000003
Figure PCTKR2020015610-appb-img-000003
Figure PCTKR2020015610-appb-img-000004
Figure PCTKR2020015610-appb-img-000004
Figure PCTKR2020015610-appb-img-000005
Figure PCTKR2020015610-appb-img-000005
Figure PCTKR2020015610-appb-img-000006
Figure PCTKR2020015610-appb-img-000006
일 실시예에 따른 체중 추정 서버는 상술한 보행 관련 인자들 중 체중 변화에 영향을 주는 대상 보행 인자를 선택할 수 있다. 체중 추정 서버는 대상 보행 인자를 추가 입력 변수(1312)로서 포함하는 새로운 입력 데이터의 형식을 정의할 수 있다. 이 때, 체중 추정 서버는 체중 추정을 위한 뉴럴 네트워크 모델(1330)과는 별개로, 각 보행 관련 인자의 체중 관련도를 추정하기 위한 다른 뉴럴 네트워크 모델을 더 포함할 수 있다. 다른 뉴럴 네트워크 모델은 활동량 데이터 및 체중 변화 간의 상관 관계가 학습된 모델일 수 있다. 다른 뉴럴 네트워크 모델에 사용되는 트레이닝 데이터(1310)는, 활동량 데이터 및 유효 구간들의 구간 데이터 등이 페어링된 데이터일 수 있다.The weight estimation server according to an embodiment may select a target gait factor that affects weight change from among the gait-related factors described above. The weight estimation server may define a format of new input data including the target gait factor as an additional input variable 1312 . In this case, the weight estimation server may further include another neural network model for estimating the weight relevance of each gait-related factor separately from the neural network model 1330 for weight estimation. Another neural network model may be a model in which a correlation between activity amount data and weight change is learned. The training data 1310 used in another neural network model may be data in which activity amount data and period data of valid periods are paired.
체중 추정 서버는 다른 뉴럴 네트워크 모델에 유효 구간들의 구간 데이터, 해당 유효 구간에서의 사용자의 활동량 데이터(예를 들어, 상술한 표 3 내지 표 6의 보행 관련 인자 별로 기록 및/또는 산출된 값)을 입력할 수 있다. 사용자의 활동량(예를 들어, 걸음수, 거리, 속도, stance /swing ratio 등)은 사용자의 체중 변화에 영향을 줄 수 있다. 예시적으로, 체중 추정 서버는 매일 체중 변화가 증가한 날과 감소한 날, 주로 어떤 행동이나 활동을 했는지를 모니터링하면서, 체중 관련도를 계산할 수 있다. 체중 감소에 기여한 활동은 체중 관련도가 더해지고, 체중 증가에 기여한 활동은 체중 관련도가 낮아질 수 있다. 예를 들면, 보행 관련 인자들 중 신경 질환 파킨슨 병을 가지는 환자의 경우 보행 장애가 수반되는데, 이때 해당 환자로부터 보폭이 현저히 좁아지고 속도가 줄어드는 특성, 및 동시에 체중이 감소하는 현상이 관측될 수 있다.The weight estimating server transmits section data of valid sections and user activity data (for example, values recorded and/or calculated for each gait-related factor in Tables 3 to 6 described above) in the valid section to another neural network model. can be entered. A user's activity amount (eg, number of steps, distance, speed, stance/swing ratio, etc.) may affect the user's weight change. For example, the weight estimation server may calculate the weight relevance while monitoring the day on which the change in weight increases and the day on which the change in weight is decreased, mainly on the day of the daily weight change, monitoring what kind of action or activity is performed. Activities that contributed to weight loss may have increased weight relevance, and activities that contributed to weight gain may have lower weight relevance. For example, among walking-related factors, a patient with a neurological disease Parkinson's disease is accompanied by a gait disorder, and in this case, a characteristic of a significantly narrower stride and a reduced speed, and a decrease in weight at the same time may be observed from the patient.
체중 추정 서버는 보행 관련 인자들 별로 수집된 데이터에 다른 뉴럴 네트워크를 적용함으로써, 해당 보행 관련 인자의 체중 관련도를 추정할 수 있다. 예를 들어, 체중 추정 서버는 하기 표 7과 같이 보행 관련 인자들 별로 체중 관련도를 추정할 수 있다. 따라서, 체중 추정 서버는 보행 관련 인자들이 체중에 미치는 영향을 정량화할 수 있다.The weight estimation server may estimate the weight relevance of the gait-related factor by applying a different neural network to the data collected for each gait-related factor. For example, the weight estimation server may estimate the weight relevance for each gait related factor as shown in Table 7 below. Accordingly, the weight estimation server may quantify the effect of the gait-related factors on the body weight.
Figure PCTKR2020015610-appb-img-000007
Figure PCTKR2020015610-appb-img-000007
앞서 설명한 바와 같이, 체중 추정 서버는 보행 인자들 중 임계 점수를 초과하는 대상 보행 인자를 추가 입력 변수(1312)로 선별할 수 있다. 체중 추정 서버는 기존 입력 데이터(1311)에 추가 입력 변수(1312)를 부가한 새로운 입력 데이터를 정의할 수 있다. 표 7에 상술한 예시에서는 임계 점수가 60%일 수 있고, 체중 추정 서버가 주행 시간(run time) 및 보행 시간(walk time)을 추가 입력 변수(1312)로 선별하여 입력 데이터에 추가할 수 있다. 체중 추정 서버는 새로운 입력 데이터를 포함하는 트레이닝 데이터(1310)를 이용하여 뉴럴 네트워크 모델(1330)을 업그레이드할 수 있다.As described above, the weight estimation server may select a target gait factor exceeding a threshold score among gait factors as the additional input variable 1312 . The weight estimation server may define new input data obtained by adding an additional input variable 1312 to the existing input data 1311 . In the example described above in Table 7, the threshold score may be 60%, and the weight estimation server may select run time and walk time as additional input variables 1312 and add them to the input data. . The weight estimation server may upgrade the neural network model 1330 by using the training data 1310 including new input data.
이 때, 체중 추정 서버는 새로 정의된 입력 데이터의 형식을 수신 가능한 새로운 입력 레이어(1331)를 뉴럴 네트워크 모델(1330)의 기존 입력 레이어의 전단에 연결할 수 있다. 새로운 입력 레이어(1331) 외의 다른 레이어들의 파라미터가 기 트레이닝되었으므로, 전체 뉴럴 네트워크 모델(1330)을 트레이닝하는데 소요되는 시간 및 비용이 절감될 수 있다. 업그레이드된 뉴럴 네트워크 모델(1330)의 트레이닝은 도 12에서 상술한 바와 유사하게 수행될 수 있다. 예를 들어, 체중 추정 서버는 뉴럴 네트워크 모델(1330)에 트레이닝 데이터(1310)를 적용하여 임시 출력(1390)을 산출하고, 임시 출력(1390)에 기초하여 산출된 손실이 최소화되도록 뉴럴 네트워크 모델(1330)의 파라미터를 업데이트할 수 있다. 여기서, 체중 추정 서버는 새로운 입력 레이어(1331)와 관련된 파라미터만 업데이트할 수도 있으나, 이로 한정하는 것은 아니고, 전체 네트워크의 파라미터를 업데이트할 수도 있다.In this case, the weight estimation server may connect the new input layer 1331 capable of receiving the newly defined input data format to the front end of the existing input layer of the neural network model 1330 . Since parameters of layers other than the new input layer 1331 have been previously trained, the time and cost required to train the entire neural network model 1330 may be reduced. Training of the upgraded neural network model 1330 may be performed similarly to that described above with reference to FIG. 12 . For example, the weight estimation server applies the training data 1310 to the neural network model 1330 to calculate a temporary output 1390, and the neural network model ( 1330) may be updated. Here, the weight estimation server may update only parameters related to the new input layer 1331, but is not limited thereto, and may update parameters of the entire network.
또한, 체중 추정 서버는 새로운 입력 데이터가 정의되는 경우에 응답하여, 스마트 인솔 장치에 새로운 입력 데이터의 형식과 관련된 정보를 공유할 수 있다. 예를 들어, 체중 추정 서버는 스마트 인솔 장치에게 추가 입력 변수(1312)를 추가적으로 수집하여 입력 데이터를 생성하라고 요청할 수도 있다.Also, in response to a case in which new input data is defined, the weight estimation server may share information related to the format of the new input data to the smart insole device. For example, the weight estimation server may request the smart insole device to additionally collect additional input variables 1312 to generate input data.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 by a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, the apparatus, 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, a field programmable gate (FPGA) array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using a general purpose computer or special purpose computer. The processing device may execute an operating system (OS) and a software application running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in a computer-readable recording medium.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination, and the program instructions recorded on the medium are specially designed and configured for the embodiment, or are known and available to those skilled in the art of computer software. may be Examples of the computer-readable recording medium 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 floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or a plurality of software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those of ordinary skill in the art may apply various technical modifications and variations based thereon. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

  1. 스마트 인솔 장치에 있어서,In the smart insole device,
    사용자의 발의 가속도 및 각속도를 포함하는 관성 정보를 측정하는 관성 측정부(IMU, inertial measurement unit);an inertial measurement unit (IMU) for measuring inertial information including acceleration and angular velocity of a user's foot;
    상기 관성 정보로부터 상기 사용자의 체중과 관련된 구간 데이터를 추출하고, 상기 추출된 구간 데이터로부터 입력 데이터를 생성하는 프로세서; 및a processor for extracting section data related to the weight of the user from the inertia information and generating input data from the extracted section data; and
    뉴럴 네트워크 모델을 저장한 체중 추정 서버에게 상기 뉴럴 네트워크 모델에 입력될 상기 입력 데이터를 전송하면서 체중 추정을 요청하는 통신부A communication unit for requesting weight estimation while transmitting the input data to be input to the neural network model to a weight estimation server storing the neural network model
    를 포함하는 스마트 인솔 장치.A smart insole device comprising a.
  2. 제1항에 있어서,According to claim 1,
    상기 프로세서는,The processor is
    상기 관성 정보로부터 뒷꿈치 착지 시점을 포함하는 구간의 뒷꿈치 착지 데이터(heel strike data) 및 앞꿈치 이지 시점을 포함하는 구간의 앞꿈치 이지 데이터(toe off data) 중 적어도 하나를 상기 구간 데이터로서 추출하는,Extracting at least one of the heel strike data of the section including the heel landing time and the toe off data of the section including the heel easy time from the inertia information as the section data,
    스마트 인솔 장치.Smart insole device.
  3. 제1항에 있어서,According to claim 1,
    상기 스마트 인솔 장치가 장착된 신발의 밑면이 지면에 닿는 동안 상기 발이 상기 지면에 가하는 압력을 복수의 지점들에서 센싱하는 압력 센서A pressure sensor that senses the pressure applied by the foot to the ground at a plurality of points while the bottom of the shoe equipped with the smart insole device touches the ground
    를 더 포함하고,further comprising,
    상기 프로세서는,The processor is
    상기 압력 센서에 의해 상기 복수의 지점들에서 센싱되는 압력 및 상기 관성 정보로부터 산출된 운동량에 기초하여 뒷꿈치 착지 시점 및 앞꿈치 이지 시점 중 적어도 하나를 판별하는,Determining at least one of the heel landing time and the heel easy time based on the momentum calculated from the pressure and the inertia information sensed at the plurality of points by the pressure sensor,
    스마트 인솔 장치.Smart insole device.
  4. 제1항에 있어서,According to claim 1,
    상기 프로세서는,The processor is
    뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 중력 방향을 따르는 가속도를 산출하고, 상기 산출된 가속도를 포함하는 입력 데이터를 생성하는,Calculating an acceleration along the direction of gravity from at least one of the heel landing data and the heel easy data, and generating input data including the calculated acceleration,
    스마트 인솔 장치.Smart insole device.
  5. 제1항에 있어서,According to claim 1,
    상기 프로세서는,The processor is
    상기 관성 정보에서 사용자의 정속 보행 상태 동안 추출된 구간 데이터를 이용하여 상기 입력 데이터를 생성하는,Generating the input data using the section data extracted during the user's constant speed walking state from the inertia information,
    스마트 인솔 장치.Smart insole device.
  6. 제5항에 있어서,6. The method of claim 5,
    상기 프로세서는,The processor is
    상기 관성 정보에 기초하여 지면에 평행한 방향에 대한 상기 사용자의 이동 속도를 계산하고, 미리 결정된 임계 시간을 초과하여 상기 계산된 이동 속도가 유지되는 경우 상기 사용자가 상기 정속 보행 상태인 것으로 결정하는,Calculating the moving speed of the user in a direction parallel to the ground based on the inertia information, and determining that the user is in the constant speed walking state when the calculated moving speed is maintained over a predetermined threshold time,
    스마트 인솔 장치.Smart insole device.
  7. 제1항에 있어서,According to claim 1,
    상기 프로세서는,The processor is
    상기 구간 데이터와 함께, 상기 사용자의 현재 체중에 기초하여 산출된 운동량 및 충격량을 포함하는 상기 입력 데이터를 생성하는,generating the input data including the amount of exercise and the amount of impulse calculated based on the current weight of the user along with the section data,
    스마트 인솔 장치.Smart insole device.
  8. 제7항에 있어서,8. The method of claim 7,
    상기 프로세서는,The processor is
    상기 구간 데이터의 매 샘플링 포인트마다 중력 방향의 가속도 및 운동량을 산출하고, 상기 구간 데이터의 구간 내 운동량들의 합인 충격량을 산출하는,Calculating the acceleration and momentum in the direction of gravity for every sampling point of the section data, and calculating the amount of impulse that is the sum of the momentum within the section of the section data,
    스마트 인솔 장치.Smart insole device.
  9. 제1항에 있어서,According to claim 1,
    상기 통신부는,The communication unit,
    상기 입력 데이터에 상기 뉴럴 네트워크 모델을 적용함으로써 추정된 체중 결과를 상기 체중 추정 서버로부터 수신하고,receiving a weight result estimated by applying the neural network model to the input data from the weight estimation server;
    상기 프로세서는,The processor is
    상기 체중 결과를 수신한 후, 상기 체중 결과 및 상기 관성 정보를 이용하여 입력 데이터를 생성하는,After receiving the weight result, input data is generated using the weight result and the inertia information;
    스마트 인솔 장치.Smart insole device.
  10. 스마트 인솔 장치의 동작 방법에 있어서,In the method of operating a smart insole device,
    사용자의 발의 가속도 및 각속도를 포함하는 관성 정보를 측정하는 단계;measuring inertial information including acceleration and angular velocity of the user's foot;
    상기 관성 정보로부터 상기 사용자의 체중과 관련된 구간 데이터를 추출하는 단계;extracting section data related to the weight of the user from the inertia information;
    상기 추출된 구간 데이터로부터 입력 데이터를 생성하는 단계; 및generating input data from the extracted section data; and
    뉴럴 네트워크 모델을 저장한 체중 추정 서버에게 상기 뉴럴 네트워크 모델에 입력될 상기 입력 데이터를 전송하면서 체중 추정을 요청하는 단계requesting weight estimation while transmitting the input data to be input to the neural network model to a weight estimation server storing the neural network model;
    를 포함하는 방법.How to include.
  11. 하드웨어와 결합되어 제10항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium in combination with hardware to execute the method of claim 10.
  12. 체중 추정 서버에 있어서,In the weight estimation server,
    뉴럴 네트워크 모델을 저장하는 메모리;a memory for storing the neural network model;
    스마트 인솔 장치에 의해 측정되는 관성 정보 중 사용자의 체중과 관련된 구간 데이터로부터 생성된 입력 데이터를 상기 스마트 인솔 장치로부터 수신하는 통신부; 및a communication unit configured to receive input data generated from section data related to a user's weight among inertia information measured by the smart insole device from the smart insole device; and
    상기 입력 데이터로부터 상기 뉴럴 네트워크 모델에 기초하여 사용자의 체중 결과를 추정하는 프로세서A processor for estimating a weight result of a user based on the neural network model from the input data
    를 포함하는 체중 추정 서버.A weight estimation server comprising a.
  13. 제12항에 있어서,13. The method of claim 12,
    상기 통신부는,The communication unit,
    상기 관성 정보 중 뒷꿈치 착지 시점을 포함하는 구간 및 앞꿈치 이지 시점을 포함하는 구간 중 적어도 하나에 대해 생성된 상기 입력 데이터를 수신하는,Receiving the input data generated for at least one of a section including a heel landing time and a section including a heel easy time of the inertia information,
    체중 추정 서버.Weight Estimation Server.
  14. 제12항에 있어서,13. The method of claim 12,
    상기 통신부는,The communication unit,
    뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 산출된, 중력 방향을 따르는 가속도를 포함하는 상기 입력 데이터를 수신하는,Receiving the input data including the acceleration along the direction of gravity, calculated from at least one of heel landing data and heel easy data,
    체중 추정 서버.Weight Estimation Server.
  15. 제12항에 있어서,13. The method of claim 12,
    상기 통신부는,The communication unit,
    상기 관성 정보에서 사용자의 정속 보행 상태에 대해 생성된 상기 입력 데이터를 수신하는,Receiving the input data generated for the user's constant speed walking state from the inertia information,
    체중 추정 서버.Weight Estimation Server.
  16. 제12항에 있어서,13. The method of claim 12,
    상기 통신부는,The communication unit,
    상기 구간 데이터 및 상기 사용자의 현재 체중에 따라 산출된 운동량 및 충격량을 포함하는 입력 데이터를 수신하는,receiving input data including an amount of exercise and an amount of impulse calculated according to the section data and the current weight of the user;
    체중 추정 서버.Weight Estimation Server.
  17. 제12항에 있어서,13. The method of claim 12,
    상기 프로세서는,The processor is
    상기 입력 데이터에 상기 뉴럴 네트워크 모델에 따른 연산을 적용함으로써 상기 사용자의 체중 결과를 추정하고,estimating the weight result of the user by applying an operation according to the neural network model to the input data;
    상기 통신부는,The communication unit,
    상기 추정된 체중 결과를 상기 스마트 인솔 장치로 전달하는,transmitting the estimated weight result to the smart insole device,
    체중 추정 서버.Weight Estimation Server.
  18. 제12항에 있어서,13. The method of claim 12,
    상기 프로세서는,The processor is
    상기 뉴럴 네트워크 모델에 의해 추정된 체중 및 실제 체중 간의 오차가 임계 값을 초과하는 모집단 데이터를 체중 그룹 별로 추가적으로 수집하고, 상기 추가적으로 수집된 모집단 데이터에 기초하여 상기 뉴럴 네트워크 모델을 추가적으로 트레이닝시키는,additionally collecting population data in which the error between the weight estimated by the neural network model and the actual weight exceeds a threshold value for each weight group, and additionally training the neural network model based on the additionally collected population data;
    체중 추정 서버.Weight Estimation Server.
  19. 제18항에 있어서,19. The method of claim 18,
    상기 통신부는,The communication unit,
    상기 스마트 인솔 장치에서 상기 사용자의 정속 보행 상태에 대해 수집된 상기 모집단 데이터를, 상기 스마트 인솔 장치 및 상기 체중 추정 서버 간의 접속이 수립될 시 수신하는,receiving the population data collected on the user's constant speed walking state in the smart insole device when a connection between the smart insole device and the weight estimation server is established;
    체중 추정 서버.Weight Estimation Server.
  20. 제12항에 있어서,13. The method of claim 12,
    상기 프로세서는,The processor is
    복수의 보행 인자들 중 체중 관련도가 임계 점수를 초과하는 대상 보행 인자를 입력 변수로 포함하게 정의된 새로운 입력 데이터를 수신 가능한 새로운 입력 레이어를 상기 뉴럴 네트워크 모델에 추가하는,adding, to the neural network model, a new input layer capable of receiving new input data defined to include, as an input variable, a target gait factor whose weight relevance exceeds a threshold score among a plurality of gait factors;
    체중 추정 서버.Weight Estimation Server.
PCT/KR2020/015610 2020-11-06 2020-11-09 Smart insole device and system for estimating user's weight WO2022097795A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0147490 2020-11-06
KR1020200147490A KR102421699B1 (en) 2020-11-06 2020-11-06 System and smart insole device to estimate weight of user

Publications (1)

Publication Number Publication Date
WO2022097795A1 true WO2022097795A1 (en) 2022-05-12

Family

ID=81456770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/015610 WO2022097795A1 (en) 2020-11-06 2020-11-09 Smart insole device and system for estimating user's weight

Country Status (2)

Country Link
KR (1) KR102421699B1 (en)
WO (1) WO2022097795A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024075935A1 (en) * 2022-10-07 2024-04-11 삼성전자주식회사 Electronic device and method for performing fall detection

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100122617A (en) * 2009-05-13 2010-11-23 신동석 Apparatus for body weight scale of shoe type
KR20170004589A (en) * 2015-07-03 2017-01-11 엘지전자 주식회사 A insole, a mobile terminal and method for controlling the same
JP2017211304A (en) * 2016-05-26 2017-11-30 北川工業株式会社 Weight information output system and program
KR20190048351A (en) * 2017-10-31 2019-05-09 권혁준 Smart health care system for checking exercise
US20200043364A1 (en) * 2015-06-15 2020-02-06 Mark Lamoncha System and method for tracking the weight of a user
KR20200034030A (en) * 2018-09-14 2020-03-31 삼성전자주식회사 Method and apparatus for assisting walking

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207325A (en) * 2016-05-17 2017-11-24 日本電信電話株式会社 Body weight estimation system and body weight estimation method
JP6981557B2 (en) * 2018-10-17 2021-12-15 日本電気株式会社 Weight Estimators, Weight Estimators, and Programs

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100122617A (en) * 2009-05-13 2010-11-23 신동석 Apparatus for body weight scale of shoe type
US20200043364A1 (en) * 2015-06-15 2020-02-06 Mark Lamoncha System and method for tracking the weight of a user
KR20170004589A (en) * 2015-07-03 2017-01-11 엘지전자 주식회사 A insole, a mobile terminal and method for controlling the same
JP2017211304A (en) * 2016-05-26 2017-11-30 北川工業株式会社 Weight information output system and program
KR20190048351A (en) * 2017-10-31 2019-05-09 권혁준 Smart health care system for checking exercise
KR20200034030A (en) * 2018-09-14 2020-03-31 삼성전자주식회사 Method and apparatus for assisting walking

Also Published As

Publication number Publication date
KR102421699B1 (en) 2022-07-18
KR20220061473A (en) 2022-05-13

Similar Documents

Publication Publication Date Title
Xu et al. Smart insole: A wearable system for gait analysis
KR102292683B1 (en) Method and apparatus for gait task recognition
US7753861B1 (en) Chest strap having human activity monitoring device
CN203149575U (en) Interactive upper limb rehabilitation device based on microsensor
CN109480857B (en) Device and method for detecting frozen gait of Parkinson disease patient
CN102567638A (en) Interactive upper limb rehabilitation system based on micro-sensor
Majumder et al. A multi-sensor approach for fall risk prediction and prevention in elderly
WO2022097795A1 (en) Smart insole device and system for estimating user's weight
Chang et al. An environmental-adaptive fall detection system on mobile device
CN113576467A (en) Wearable real-time gait detection system integrating plantar pressure sensor and IMU
CN110946585A (en) Fall detection system and method based on data fusion and BP neural network
KR101978836B1 (en) Method for monitoring biological data using wearable sensing device and computer program for the same
JP6785917B2 (en) How to calculate real-time stride length and speed of a running or walking individual
US8363891B1 (en) System and method for predicting a force applied to a surface by a body during a movement
Bajpai et al. A novel instrumented outsole for real-time foot kinematic measurements: validation across different speeds and simulated foot landing
Aqueveque et al. Validation of a portable system for spatial-temporal gait parameters based on a single inertial measurement unit and a mobile application
CN117158955A (en) User safety intelligent monitoring method based on wearable monitoring equipment
US20230389880A1 (en) Non-obtrusive gait monitoring methods and systems for reducing risk of falling
EP2889853A1 (en) A method for optimizing running performance for an individual
KR102268445B1 (en) Apparatus for estimation of gait stability based on inertial information and method thereof
CN114224325A (en) Gait analysis system and method for calculating joint moment and angle by using inertial sensor
Mazumder et al. Development of an adaptive gait characterizer
Hellmers et al. Evaluation of power-based stair climb performance via inertial measurement units
EP4115803A1 (en) Fall risk determination system and method
KR20210040671A (en) Apparatus for estimating displacement center of gravity trajectories and method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20960895

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20960895

Country of ref document: EP

Kind code of ref document: A1