KR20220061473A - System and smart insole device to estimate weight of user - Google Patents
System and smart insole device to estimate weight of user Download PDFInfo
- Publication number
- KR20220061473A KR20220061473A KR1020200147490A KR20200147490A KR20220061473A KR 20220061473 A KR20220061473 A KR 20220061473A KR 1020200147490 A KR1020200147490 A KR 1020200147490A KR 20200147490 A KR20200147490 A KR 20200147490A KR 20220061473 A KR20220061473 A KR 20220061473A
- Authority
- KR
- South Korea
- Prior art keywords
- weight
- data
- user
- smart insole
- input data
- Prior art date
Links
- 238000003062 neural network model Methods 0.000 claims abstract description 93
- 230000001133 acceleration Effects 0.000 claims abstract description 58
- 238000012549 training Methods 0.000 claims description 73
- 230000005021 gait Effects 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 36
- 230000005484 gravity Effects 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 30
- 238000005070 sampling Methods 0.000 claims description 25
- 238000005259 measurement Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 2
- 210000002683 foot Anatomy 0.000 description 53
- 230000008859 change Effects 0.000 description 28
- 230000000694 effects Effects 0.000 description 16
- 230000037396 body weight Effects 0.000 description 14
- 239000000284 extract Substances 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 210000004744 fore-foot Anatomy 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 201000010099 disease Diseases 0.000 description 6
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 230000037221 weight management Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004580 weight loss Effects 0.000 description 3
- 206010012289 Dementia Diseases 0.000 description 2
- 208000012902 Nervous system disease Diseases 0.000 description 2
- 208000025966 Neurological disease Diseases 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004584 weight gain Effects 0.000 description 2
- 235000019786 weight gain Nutrition 0.000 description 2
- 206010004716 Binge eating Diseases 0.000 description 1
- 208000032841 Bulimia Diseases 0.000 description 1
- 206010017577 Gait disturbance Diseases 0.000 description 1
- 206010028980 Neoplasm Diseases 0.000 description 1
- 208000018737 Parkinson disease Diseases 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 208000022531 anorexia Diseases 0.000 description 1
- 208000014679 binge eating disease Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000019577 caloric intake Nutrition 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 206010061428 decreased appetite Diseases 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 206010012601 diabetes mellitus Diseases 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 208000030172 endocrine system disease Diseases 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A43—FOOTWEAR
- A43B—CHARACTERISTIC FEATURES OF FOOTWEAR; PARTS OF FOOTWEAR
- A43B17/00—Insoles for insertion, e.g. footbeds or inlays, for attachment to the shoe after the upper has been joined
-
- A—HUMAN NECESSITIES
- A43—FOOTWEAR
- A43B—CHARACTERISTIC FEATURES OF FOOTWEAR; PARTS OF FOOTWEAR
- A43B3/00—Footwear characterised by the shape or the use
-
- A—HUMAN NECESSITIES
- A43—FOOTWEAR
- A43B—CHARACTERISTIC FEATURES OF FOOTWEAR; PARTS OF FOOTWEAR
- A43B3/00—Footwear characterised by the shape or the use
- A43B3/34—Footwear characterised by the shape or the use with electrical or electronic arrangements
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L5/00—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L5/00—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
- G01L5/0052—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes measuring forces due to impact
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/02—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06M—COUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
- G06M3/00—Counters with additional facilities
- G06M3/08—Counters with additional facilities for counting the input from several sources; for counting inputs of different amounts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing 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)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Manufacturing & Machinery (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (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
Description
이하, 스마트 인솔 장치를 이용하여 사용자의 체중을 추정하는 기술이 제공된다.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은 일 실시예에 따른 체중 추정 시스템을 도시한다.
도 2는 일 실시예에 따른 체중 추정 방법을 도시한 흐름도이다.
도 3은 일 실시예에 따른 스마트 인솔 장치의 구성을 도시한 블록도이다.
도 4는 일 실시예에 따른 스마트 인솔 장치의 동작 방법을 도시한 흐름도이다.
도 5는 일 실시예에 따른 중력 방향 물리량(physical quantity)를 설명하는 도면이다.
도 6은 일 실시예에 따른 스마트 인솔 장치에 포함된 센서의 구성을 도시한 도면이다.
도 7은 일 실시예에 따른 뒷꿈치 착지 이벤트 및 앞꿈치 이지 이벤트를 설명하는 도면이다.
도 8은 일 실시예에 따른 스마트 인솔 장치에 의해 센싱되는 원시 데이터(raw data)를 도시한다.
도 9 및 도 10은 일 실시예에 따른 뒷꿈치 착지 이벤트 및 앞꿈치 이지 이벤트에 기초한 구간 데이터 추출을 설명하는 도면이다.
도 11은 일 실시예에 따른 체중 추정 서버의 구성을 도시한 블록도이다.
도 12는 일 실시예에 따른 트레이닝 방법을 설명하는 흐름도이다.
도 13은 일 실시예에 따른 뉴럴 네트워크 모델의 트레이닝 및 개선을 설명하는 도면이다.1 illustrates a weight estimation system according to an embodiment.
2 is a flowchart illustrating a weight estimation method according to an exemplary embodiment.
3 is a block diagram illustrating a configuration of a smart insole device according to an embodiment.
4 is a flowchart illustrating a method of operating a smart insole device according to an exemplary embodiment.
5 is a view for explaining a physical quantity in the direction of gravity according to an embodiment.
6 is a diagram illustrating a configuration of a sensor included in a smart insole device according to an embodiment.
7 is a view for explaining a heel landing event and a heel easy event according to an embodiment.
8 illustrates raw data sensed by a smart insole device according to an exemplary embodiment.
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 is a block diagram illustrating a configuration of a weight estimation server according to an exemplary embodiment.
12 is a flowchart illustrating a training method according to an embodiment.
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
스마트 인솔 장치(110)는 신발 내에 장착되는 인솔 형태의 장치로서, 신발을 착용한 사용자의 발의 움직임과 관련된 정보를 수집할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 발의 관성 정보를 측정할 수 있다. 스마트 인솔 장치(110)는 관성 정보로부터 사용자의 보행 속도, 주행 속도, 지면에 대한 운동량, 및 충격량 등과 같은 체중과 상관 관계에 있는 다양한 물리량 데이터를 산출할 수 있다.The
체중 추정 서버(120)는 스마트 인솔 장치(110)에 의해 측정되거나 산출된 데이터를 수신하고, 수신된 데이터를 이용하여 사용자의 체중을 추정할 수 있다. 체중 추정 서버(120)는 추정된 체중을 스마트 인솔 장치(110) 및/또는 모바일 단말(130)로 반환할 수 있다. 체중 추정 서버(120)는 스마트 인솔 장치(110)에 의해 측정 및 산출 가능한 다양한 물리량 데이터로부터 사용자의 체중을 추정하기 위한 뉴럴 네트워크 모델을 저장할 수 있다.The
모바일 단말(130)은 스마트 인솔 장치(110) 및 체중 추정 서버(120) 간의 연결을 중계(relay)하고, 스마트 인솔 장치(110)에 의해 수집된 측정 데이터의 적어도 일부 및/또는 추정된 체중 결과를 저장 및 관리할 수도 있다. 다만, 스마트 인솔 장치(110) 및 체중 추정 서버(120) 간의 연결이 모바일 단말(130)을 통해서만 수립되는 것은 아니고, 모바일 단말(130) 이외의 다른 게이트웨이 장치를 통해 스마트 인솔 장치(110) 및 체중 추정 서버(120) 간에 연결이 수립될 수도 있다.The
도 2는 일 실시예에 따른 체중 추정 방법을 도시한 흐름도이다.2 is a flowchart illustrating a weight estimation method according to an exemplary embodiment.
우선, 단계(210)에서 스마트 인솔 장치(110)는 관성 정보로부터 입력 데이터를 생성할 수 있다. 스마트 인솔 장치(110)는 관성 정보 중 사용자의 체중에 관련된 구간의 구간 데이터를 추출하고, 추출된 구간 데이터로부터 체중과 관련된 물리량 데이터를 산출할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 발이 지면에 착지하는 순간 및 지면으로부터 떨어지는 순간을 캡쳐하고, 해당 순간에서 센싱된 관성 정보를 전처리하여 물리량 데이터를 산출할 수 있다. 체중과 관련된 물리량 데이터는 하기 도 5에서, 체중 관련 구간은 하기 도 7에서 설명한다. 스마트 인솔 장치(110)는 뉴럴 네트워크 모델에 입력될, 구간 데이터 및 물리량 데이터를 포함하는 보행 데이터를, 입력 데이터로서 생성할 수 있다.First, in
그리고, 단계(220)에서 스마트 인솔 장치(110)는 체중 추정 서버(120)로 입력 데이터를 전달할 수 있다. 이 때, 스마트 인솔 장치(110)는 모바일 단말(130)(예를 들어, 스마트 폰 등)을 경유하여 체중 추정 서버(120)로 입력 데이터를 전달할 수 있다. 예를 들어, 스마트 인솔 장치(110)가 모바일 단말(130)로 입력 데이터를 전달하고, 모바일 단말(130)이 스마트 인솔 장치(110)에서 수집된 데이터를 체중 추정 서버(120)로 전달할 수 있다.Then, in
이어서 단계(230)에서 체중 추정 서버(230)는 뉴럴 네트워크 모델을 이용한 체중 추정을 수행할 수 있다. 일 실시예에 따른 체중 추정 서버(120)는 체중을 추정하기 위해 설계된 뉴럴 네트워크 모델을 저장할 수 있다. 뉴럴 네트워크 모델은 입력 데이터로부터 체중을 출력하도록 설계된 모델로서, 앞서 설명한 입력 데이터에 포함되는 체중과 관련된 물리량 데이터(예를 들어, 관성 정보, 운동량, 충격량, 및 가속도 등)와 체중 간의 상관 관계를 학습한 모델일 수 있다. 사용자의 보행 패턴 등과 같은 외부적 요인으로 인해 운동량, 충격량, 및 가속도로부터 체중을 직접 산출하는 다항식과 같은 수학적 모델링이 어려울 수 있다. 체중 추정 서버(230)는, 직접적인 수학적 모델링이 없이도, 상술한 상관 관계에 대해 트레이닝된 뉴럴 네트워크 모델을 이용하여 입력 데이터로부터 사용자의 체중을 추정할 수 있다. 체중 추정은 하기 도 11에서 설명한다.Subsequently, in
그리고 단계(240)에서 체중 추정 서버(120)는 추정된 체중 결과를 전달할 수 있다. 모바일 단말(130)은 체중 추정 서버(120)의 추론 결과를 수신하여 저장하거나 스마트 인솔 장치(110)로 전달할 수 있다. 스마트 인솔 장치(110)의 통신부는 입력 데이터에 뉴럴 네트워크 모델을 적용함으로써 추정된 체중 결과를 체중 추정 서버(120)로부터 수신할 수 있다.And in step 240 , the
이후, 스마트 인솔 장치의 프로세서는 체중 결과를 수신한 후, 체중 결과 및 관성 정보를 이용하여 입력 데이터를 생성할 수 있다. 후술하겠으나, 입력 데이터에 포함되는 운동량 및 충격량을 산출하기 위해서는 사용자의 체중이 주어져야 하는데, 스마트 인솔 장치(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
일 실시예에 따른 체중 추정 시스템(100)은 스마트 인솔 단말에서 사용자의 체중과 관련된 구간의 관성 정보를 정확히 추출함으로써, 체중 추정 서버(120)에서 발생할 수 있는 노이즈 및 계산량을 최소화할 수 있다. 또한, 후술하겠으나, 체중 추정 시스템(100)은 뉴럴 네트워크 모델의 재트레이닝 및 뉴럴 네트워크 모델의 구조 개선을 통해 보다 정확한 체중 추정 결과를 제공할 수 있다.The
일 실시예에 따른 체중 추정 시스템(100)은 미리 정한 기간(예를 들어, 6개월 내지 12개월) 동안 체중이 미리 정한 임계 비율(예를 들어, 10%) 이상 변하는 경우 의학적 이상 상태로 판단할 수 있다. 예를 들어, 미리 정한 임계 비율 이상의 체중 변화는, 노화 현상, 치매, 우울증, 거식증, 종양, 내분비 질환(예를 들어, 당뇨), 및 신경질환(예를 들어, 치매) 등과 같은 다양한 의학적 요인에 의해 유발될 수 있다. 체중 추정 시스템(100)은 사용자가 체중계에 올라가는 의식적인 행동이 없이도, 스마트 인솔 장치(110)가 장착된(mounted) 신발을 착용(wear)한 상태로 보행하기만 하면 체중을 추정해낼 수 있다. 따라서, 체중 추정 시스템(100)은 사용자의 체중이 급격하게 변하는 경우 등과 같은 이상 상태를 누락 없이 모니터링할 수 있다. 체중 추정 시스템(100)은 일상 생활 지속적인 체중 추정을 통해 평상시의 체중 변화량 대비 급격한 체중 변화를 감지할 수 있다. 체중 추정 시스템(100)은 체중 이상 변화율에 관한 경고, 알림 및 가이드를 사용자에게 제공할 수 있다. 체중 추정 시스템(100)은 사용자에게 질병 질환 또는 외부적 요인들에 대한 경각심을 유발하고, 조기 대처가 가능하도록 유도할 수 있다.The
체중 추정 시스템(100)은 체중 관리가 필요한 사용자들에게 외부 활동 및 운동 중 실시간 체중 변화량을 모니터링하여 제공할 수 있다. 체중 추정 시스템(100)은 사용자에게 운동량을 조절 관리할 수 있는 추가적인 지표로서 상술한 바와 같이 실시간으로 변화하는 체중을 제공할 수 있다.The
추가적으로, 체중 추정 시스템(100)은 기존의 실내에 고정되는 체중계와 연동될 수 있다. 체중 추정 시스템(100)은 실내외에서 체중 관리를 제공할 수 있고, 특히 체중 관리가 필수적인 질환, 질병 환자 군의 일상 생활 체중 관리를 제공할 수 있다. 체중 추정 시스템(100)에 의해 모니터링된 실시간 체중 추정 결과는, 재활 및 의료에 있어서 새로운 기초 신체 정보 지표로서 활용될 수 있다.Additionally, the
도 3은 일 실시예에 따른 스마트 인솔 장치의 구성을 도시한 블록도이다. 3 is a block diagram illustrating a configuration of a smart insole device according to an embodiment.
일 실시예에 따른 스마트 인솔 장치(300)는 센서(310), 프로세서(320), 통신부(330), 및 메모리(340)를 포함할 수 있다.The
센서(310)는 사용자의 체중과 관련된 정보를 센싱할 수 있다. 일 실시예에 따른 센서(310)는 압력 센서(311) 및 관성 측정부(IMU, inertial measurement unit)(312)를 포함할 수 있다. 관성 측정부(312)는 사용자의 발의 가속도 및 각속도를 포함하는 관성 정보를 측정할 수 있다. 관성 측정부(312)는 가속도 센서 및 자이로 센서를 포함할 수 있다. 가속도 센서는 3축 방향에 대한 가속도를 감지하고, 자이로 센서는 3축을 기준으로 하는 각속도를 감지할 수 있다. 스마트 인솔 장치(300)는 압력 센서(311) 및 관성 측정부(312)으로부터 복합 센싱 데이터를 획득하고, 관성 정보만을 이용하여 사용자의 체중을 측정할 수 있다. 복합 센싱 데이터는 압력 정보 및 관성 정보를 포함할 수 있다. 압력 센서(311)는 하기 도 6에서 설명하고, 관성 측정부(312)는 하기 도 5에서 설명한다.The
프로세서(320)는 관성 정보로부터 사용자의 체중과 관련된 구간 데이터를 추출할 수 있다. 프로세서(320)는 추출된 구간 데이터로부터 입력 데이터를 생성할 수 있다. 참고로, 사용자의 일측 발에 착용된 신발에 장착된 스마트 인솔 장치의 프로세서(320)는 일측 발에 대한 제1 입력 데이터를 타측 발에 대한 제2 입력 데이터와 함께 페어를 이루는 입력 데이터를 생성할 수도 있다.The
통신부(330)는 뉴럴 네트워크 모델을 저장한 체중 추정 서버에게 뉴럴 네트워크 모델에 입력될 입력 데이터를 전송하면서 체중 추정을 요청할 수 있다. 체중 추정 시스템의 체중 추정 서버는 스마트 인솔 장치(300)로부터의 요청에 응답하여, 입력 데이터로부터 기 트레이닝된 뉴럴 네트워크 모델에 기초하여 사용자의 체중을 추정할 수 있다.The
메모리(340)는 센서(310)에 의해 측정되는 관성 정보 및 압력 정보를 일시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 메모리(340)는 관성 정보 중 사용자의 체중과 관련된 구간 데이터를 저장하는 버퍼를 포함할 수 있다.The
스마트 인솔 장치(300)는 최소 장치 공간 및 적은 전력 소모를 가지며, 손쉬운 제품화가 가능하다. 스마트 인솔 장치(300)는 웨어러블 장치 기반의 체중 관리 서비스를 제공 가능할 수 있다. 스마트 인솔 장치(300)를 포함하는 체중 추정 시스템이 사용자의 보행 및/또는 주행 도중의 체중을 추정해낼 수 있다.The
도 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
그리고 단계(412)에서 스마트 인솔 장치의 프로세서는 관성 정보로부터 사용자의 체중에 관련된 구간 데이터를 추출할 수 있다. 도 7에서 후술하겠으나 체중과 관련된 구간 데이터는 사용자의 발이 지면에 닿는 순간을 포함하는 구간 데이터 및 지면으로부터 떨어지는 순간을 포함하는 구간 데이터일 수 있다. 입력 데이터의 생성은 하기 도 5 내지 도 10에서 설명한다.And in
이어서 단계(413)에서 프로세서는 추출된 구간 데이터에 기초하여 입력 데이터를 생성할 수 있다. 예를 들어, 구간 데이터는 체중과 관련된 구간의 원시 데이터를 포함하는데, 프로세서는 체중과 관련된 구간의 원시 데이터로부터 체중 관련 물리량 데이터(예를 들어, 중력 방향의 가속도, 충격량, 및 운동량 등)를 산출할 수 있다. 프로세서는 산출된 체중 관련 물리량 데이터를 체중과 관련된 구간의 원시 데이터 및 부가 정보와 함께 입력 데이터에 포함시킬 수 있다. 부가 정보(additional information)는 체중과 관련된 보조 정보(auxiliary information)로서, 예를 들어, 사용자의 체중, 이동 속도(예를 들어, 보행 속도 또는 주행 속도), 나이, 성별, 키, 및 이동 시점(예를 들어, 보행 시점 또는 주행 시점) 등과 같은 정보를 포함할 수 있다. 입력 데이터는 하기 도 10에서 상세히 설명한다.Subsequently, in
도 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
일 실시예에 따른 스마트 인솔 장치(500)의 관성 측정부(510)는 3개의 축에 대한 가속도 및 개별 축의 각속도를 측정할 수 있다. 예를 들어, 관성 측정부(510)는 사용자의 발의 길이방향 축(longitudinal axis), 길이방향 축에 수직하는 가로 축(lateral axis), 및 길이방향 축과 가로 축에 수직하는 수직 축(vertical axis)에 대한 가속도를 측정할 수 있다. 관성 측정부(510)는 길이방향 축, 가로 축, 및 수직 축의 각각을 기준으로 총 3개의 각속도를 측정할 수 있다. 스마트 인솔 장치(500)는, 3개의 축에 대한 3개의 가속도 및 3개의 각속도를 이용하여, 앞서 설명한 바와 같이 체중과 상관 관계에 있는 물리량으로서 중력 방향(511)의 가속도를 산출할 수 있다. 스마트 인솔 장치(500)는 해당 시점에서 주어지는 체중(예를 들어, 매 추정시마다 업데이트되는 체중) 및 중력 방향(511)의 가속도를 이용하여 중력 방향(511)에 대한 운동량 및 충격량도 산출할 수 있다. 체중과 상관 관계에 있는 물리량은 사용자의 체중 변화에 영향을 주는 것으로 해석될 수 있다.The
따라서, 체중 추정 시스템은 스마트 인솔 장치(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
도 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
관성 측정부(612)는 사용자의 발에 대한 관성 정보를 측정할 수 있으며, 관성 정보는 도 5에서 설명한 바와 같이 3개 축의 가속도 및 3개 축을 기준으로 하는 각속도를 포함할 수 있다. 관성 정보는 중력 방향에 대한 체중 관련 물리량을 산출하는데 사용될 수 있다. 도 6에서 관성 측정부(612)는 사용자의 발의 아치(arch)가 위치되는 부분에 배치되는 것으로 도시되었으나, 이로 한정하는 것은 아니다.The
압력 센서(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
일 실시예에 따르면 압력 센서(611)에 의해 센싱되는 압력 정보는 체중과 관련된 구간을 판별하기 위한 보조 정보로서 활용될 수 있다. 예를 들어, 압력 센서(611)는 스마트 인솔 장치(600)가 장착된 신발의 밑면이 지면에 닿는 동안 발이 지면에 가하는 압력을 복수의 지점들(611a, 611b, 611c, 611d)에서 센싱할 수 있다. 이 때, 스마트 인솔 장치(600)의 프로세서는, 관성 측정부(612)에 의해 측정된 관성 정보로부터 산출되는 물리량 및 압력 센서(611)에 의해 센싱된 압력 정보에 기초하여 체중과 관련된 유효 구간을 결정할 수 있다. 유효 구간의 결정은 하기 도 9에서 설명한다.According to an embodiment, the pressure information sensed by the
도 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
본 명세서에서 지면(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
일 실시예에 따르면 스마트 인솔 장치는 관성 정보에서 사용자의 정속 보행 상태 동안 추출된 구간 데이터를 이용하여 입력 데이터를 생성할 수 있다. 예를 들어, 스마트 인솔 장치는 사용자가 정속으로 보행하는 동안 수집되는 관성 정보 중에서도 상술한 앞꿈치 이지 시점을 포함하는 구간 및/또는 뒷꿈치 이지 시점을 포함하는 구간을 체중과 관련된 구간으로 결정할 수 있다.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
스마트 인솔 장치는 정속 주행 구간에서의 관성 정보를 저장할 수 있다. 스마트 인솔 장치는 메모리에 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
스마트 인솔 장치에 의해 수집되는 센싱 데이터(891)는 3축에 대한 가속도 및 3축을 기준으로 하는 각속도를 포함하는 관성 정보(810) 및 복수의 지점들에서 센싱되는 압력 정보(820)를 포함할 수 있다. 스마트 인솔 장치는 관성 정보(810) 및 압력 정보(820)에 기초하여 뒷꿈치 착지 이벤트(851) 및 앞꿈치 이지 이벤트(852)를 정확히 추출할 수 있다. 예를 들어, 스마트 인솔 장치는 관성 정보(810)로부터 중력 방향에 대한 발의 가속도를 산출하고, 산출된 가속도를 적분하여 중력 방향에 대한 발의 속도를 산출할 수 있다. 스마트 인솔 장치는 중력 방향에 대한 속도 및 이전에 추정된 사용자의 체중에 기초하여 운동량을 산출할 수 있다. 스마트 인솔 장치는 운동량에 기초하여 뒷꿈치 착지 이벤트(851) 및 앞꿈치 이지 이벤트(852)를 추출할 수 있다. 운동량에 기초한 이벤트 추출은 하기 도 9 및 도 10에서 설명한다. 참고로, 스마트 인솔 장치는 압력 정보에 기초하여 뒷꿈치 착지 구간 및 앞꿈치 이지 구간 중 유효 구간을 결정할 수 있다.The
도 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
예시적으로, 도 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
이 때, 관성 정보만으로는 사용자의 발이 지면에 닿거나 지면으로부터 떨어지기 전에 운동량(900)에서 극대값(952) 및 극소값(951)이 나타날 수도 있다. 따라서 관성 정보만으로는 정확한 이벤트의 검출이 어려운 바, 스마트 인솔 장치는 압력 정보도 함께 이용하여 뒷꿈치 착지 이벤트 및 앞꿈치 착지 이벤트를 검출할 수 있다. 일 실시예에 따르면, 스마트 인솔 장치는 압력 정보에 기초하여 극점들 중에서도 유효한 극점을 결정할 수 있다. 예를 들어, 스마트 인솔 장치는 운동량(900)에 있어서 극소값(951)에 대응하는 극소점이면서 동시에 뒷꿈치 지점의 압력 값이 임계값 이상인 샘플링 포인트를 유효한 뒷꿈치 착지 시점으로 결정할 수 있다. 또한, 스마트 인솔 장치는 운동량(900)에 있어서 극대값(952)에 대응하는 극대점이면서 동시에 앞꿈치 지점의 압력 값이 임계값 이상인 샘플링 포인트를 유효한 앞꿈치 이지 시점으로 결정할 수 있다. 따라서, 스마트 인솔 장치는 뒷꿈치가 실제로 지면에 착지하는 순간 및 앞꿈치가 실제로 지면으로부터 떨어지는 순간을 정확하게 추출할 수 있다.In this case, the
일 실시예에 따르면 스마트 인솔 장치는 각 이벤트 시점을 기준으로 유효한 구간을 추출할 수 있다. 스마트 인솔 장치는 이벤트 시점을 포함하는 구간을 유효한 구간으로 추출할 수 있다. 예를 들어, 스마트 인솔 장치는 뒷꿈치 착지 시점을 중심으로 미리 정한 샘플링 개수를 포함하는 구간을 뒷꿈치 착지 구간(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
일 실시예에 따르면 스마트 인솔 장치는 관성 정보로부터 뒷꿈치 착지 시점(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
구간 데이터는 유효한 구간에 속하는 샘플링 포인트(1001)들 별로 관성 정보의 원시 값들(raw values)을 포함할 수 있다. 예를 들어, 뒷꿈치 착지 데이터는 뒷꿈치 착지 시점(1051)을 기준으로 결정되는 유효 구간 내의 미리 정한 샘플링 개수의 샘플링 포인트(1001)들에 대응하는 관성 원시 값들을 포함할 수 있다. 앞꿈치 이지 데이터는 앞꿈치 이지 시점을 기준으로 결정되는 유효 구간 내의 미리 정한 샘플링 개수의 샘플링 포인트(1001)들에 대응하는 관성 원시 값들을 포함할 수 있다. 임의의 샘플링 포인트(1001)에서의 관성 원시 값은 해당 샘플링 포인트(1001)에서 측정된 3축에 대한 가속도 및 3축을 기준으로 하는 각속도를 포함할 수 있다.The section data may include raw values of inertia information for each
일 실시예에 따르면 스마트 인솔 장치의 프로세서는 뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 중력 방향을 따르는 가속도를 산출할 수 있다. 또한, 스마트 인솔 장치는 구간 데이터의 매 샘플링 포인트(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
입력 데이터는 유효 구간 내 샘플링 포인트(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
속도walking
speed
a값direction of gravity
a value
상술한 표 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
다만, 도 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
통신부(1110)는 스마트 인솔 장치에 의해 측정되는 관성 정보 중 사용자의 체중과 관련된 구간 데이터로부터 생성된 입력 데이터(1101)를 스마트 인솔 장치로부터 수신할 수 있다. 예를 들어, 통신부(1110)는 상용자의 양발에 착용된 스마트 인솔 장치 쌍으로부터 정보를 수집할 수 있다.The
통신부(1110)는 앞서 설명한 바와 같이, 관성 정보에서 사용자의 정속 보행 상태에 대해 생성된 입력 데이터(1101)를 수신할 수 있는데, 예를 들어, 정속 보행 상태 동안의 관성 정보 중 뒷꿈치 착지 시점을 포함하는 구간 및 앞꿈치 이지 시점을 포함하는 구간 중 적어도 하나에 대해 생성된 입력 데이터(1101)를 수신할 수 있다. 통신부(1110)는 뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 산출된, 중력 방향을 따르는 가속도, 사용자의 현재 체중에 따라 산출된 운동량 및 충격량과 함께 구간 데이터를 포함하는 입력 데이터(1101)를 수신할 수 있다. 통신부(1110)는 입력 데이터(1101)와 함께 체중 추정 요청을 수신할 수 있다. 통신부(1110)는 스마트 인솔 장치로부터 주기적으로 입력 데이터(1101)를 수신할 수도 있다. 또한, 통신부(1110)는 후술하는 바와 같이 뉴럴 네트워크 모델(1131)을 이용하여 추정된 체중 결과(1109)를 스마트 인솔 장치로 전달할 수 있다.As described above, the
프로세서(1120)는 입력 데이터(1101)로부터 뉴럴 네트워크 모델(1131)에 기초하여 사용자의 체중 결과(1109)를 추정할 수 있다. 예를 들어, 프로세서(1120)는, 스마트 인솔 장치로부터 입력 데이터(1101)와 함께 체중 추정 요청을 수신하는 경우에 응답하여, 입력 데이터(1101)에 뉴럴 네트워크 모델(1131)에 따른 연산을 적용함으로써 사용자의 체중 결과(1109)를 추정할 수 있다. 프로세서(1120)는 스마트 인솔 장치로부터 수신된 입력 데이터(1101)의 형식을 일부 변경하여 뉴럴 네트워크 모델(1131)에 입력할 수도 있다. 예를 들어, 프로세서(1120)는 입력 데이터(1101)에 사용자의 체중과 관련된 부가 정보를 추가할 수도 있다. The
메모리(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
뉴럴 네트워크 모델(1131)의 폭과 깊이가 충분히 크면 임의의 함수를 구현할 수 있을 만큼의 용량(capacity)을 가질 수 있다. 뉴럴 네트워크 모델(1131)이 적절한 트레이닝 과정을 통해 충분히 많은 트레이닝 데이터를 학습하면, 최적의 인식 성능을 달성할 수 있다. 뉴럴 네트워크 모델(1131)에 포함된 뉴럴 네트워크 모델(1131)의 파라미터(예를 들어, 연결 가중치)는 미리 트레이닝될 수 있다. 예를 들어, 지도식 학습에 있어서 트레이닝 입력 및 트레이닝 출력(예를 들어, 참값(ground truth))의 쌍으로 된 트레이닝 데이터에 기초하여 뉴럴 네트워크 모델(1131)의 파라미터가 업데이트될 수 있다. 트레이닝 도중의 뉴럴 네트워크 모델(1131)은 임시 네크워크로 지칭될 수 있다. 임시 네트워크는 트레이닝 입력을 각 레이어에 전파시켜 임시 출력을 산출할 수 있고, 임시 네트워크의 파라미터는 임시 출력 및 트레이닝 출력 간의 손실이 감소되도록 업데이트될 수 있다. 상술한 트레이닝의 반복에 의해 손실이 목표에 도달하면 트레이닝이 종료될 수 있다. 다만, 설명의 편의를 위해 지도식 학습을 주로 설명하였으나, 이로 한정하는 것은 아니고, 뉴럴 네트워크 모델(1131)은 비지도식으로 학습될 수도 있다.If the width and depth of the
참고로, 설명의 편의를 위하여 도 11에서는 일측 발의 입력 데이터(1101)를 주로 설명하였으나, 이로 한정하는 것은 아니다. 체중 추정 서버(1100)는 스마트 인솔 장치의 쌍으로부터 각각 양측 발에 대한 입력 데이터(1101)를 수신할 수 있고, 양측 발에 대한 입력 데이터(1101)의 쌍을 뉴럴 네트워크 모델(1131)에 적용할 수도 있다. 양측 발에 대한 입력 데이터(1101)는 동일 사용자에 관한 데이터이기 때문이다. 다만, 이로 한정하는 것은 아니고, 양측 발의 입력 데이터(1101)를 페어링하는 동작은 스마트 인솔 장치 또는 체중 추정 서버(1100)에서 수행될 수 있다.For reference, the
또한, 체중 추정 서버(1100)는 이전 체중(예를 들어, 직전 체중) 대비 현재 추정된 체중이 임계 오차 비율 이상 증가한 경우, 현재 추정된 체중을 오류로서 배제할 수 있다. 체중 추정 서버(1100)는 순간적인 또는 일시적인 급격한 체중 변화가 발생되는 구간을 배제함으로써, 사용자의 활동(activity)에 의한 체중 변화만을 모니터링할 수 있다.Also, the
도 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
그리고 단계(1220)에서 스마트 인솔 장치(110)는 보행 동안 데이터를 센싱할 수 있다. 예를 들어, 체중별 모집단에 속하는 대상자는 스마트 인솔 장치(110)가 장착된 신발을 착용한 채로 트레드밀(Treadmill) 상에서 보행을 개시할 수 있다. 트레드밀의 속도는 수집하고자 하는 트레이닝용 속도 그룹에 따라 결정될 수 있다. 스마트 인솔 장치(110)는 일정 속도 별 일정 시간 동안 대상자의 보행에 따른 센싱 데이터(예를 들어, 관성 정보)를 트레이닝 장치(1204)로 전달할 수 있다. 대상자의 보행은 트레드밀 상에서 수행되는 행위일 수 있다. 트레이닝 장치(1204)는 대상자의 체중 별로 구분하여 센싱 데이터 중 보행 구간의 관성 정보를 저장할 수 있다. 이 때, 스마트 인솔 장치(110)는 앞서 도 7 내지 도 10에서 설명한 바와 유사하게 뒷꿈치 착지 이벤트 및 앞꿈치 이지 이벤트를 추출할 수 있다.And in
이어서 단계(1230)에서 스마트 인솔 장치(110)는 전처리를 수행할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 관성 측정부에 의해 측정되는 원시 데이터 외에 중력 방향과 관련된 물리량을 추가로 산출할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 앞서 설명한 바와 유사하게, 각 대상자의 보행 속도 별 매 유효 구간에서 매 샘플링 포인트마다 중력 방향에 대한 가속도 값 및 운동량을 산출하여 저장할 수 있다. 또한, 스마트 인솔 장치(110)는 유효 구간 전체의 충격량을 산출할 수 있다. 트레이닝 장치(1204)는 트레이닝 입력 및 트레이닝 출력의 쌍으로 구성되는 트레이닝 데이터를 생성할 수 있다. 트레이닝 입력은 유효 구간의 관성 정보인 구간 데이터 및 중력 방향과 관련된 물리량을 가지는 입력 데이터를 포함할 수 있다. 트레이닝 출력은 대상자의 실제 체중을 포함할 수 있다. 스마트 인솔 장치(110)는 전처리된 트레이닝 데이터를 전달할 수 있다. Subsequently, in
그리고 단계(1240)에서 트레이닝 장치(1204)는 트레이닝 데이터를 체중 그룹, 속도 범위 별로 구분하여 수집할 수 있다. 트레이닝 데이터는 앞서 설명한 바와 같이 체중 그룹 별, 속도 범위 별 입력 데이터로 구성될 수 있다. 하기 표 2는 예시적인 트레이닝 데이터를 설명한다. 하기 표 2에서 HS 이벤트는 뒷꿈치 착지 이벤트, TO 이벤트는 앞꿈치 이지 이벤트를 나타낼 수 있다.And in
각 TO 이벤트의 가속도, 운동량, 충격량Acceleration, momentum, and impulse for each HS event
Acceleration, momentum, and impulse of each TO event
각 TO 이벤트의 가속도, 운동량, 충격량Acceleration, momentum, and impulse for each HS event
Acceleration, momentum, and impulse of each TO event
각 TO 이벤트의 가속도, 운동량, 충격량Acceleration, momentum, and impulse for each HS event
Acceleration, momentum, and impulse of each TO event
각 TO 이벤트의 가속도, 운동량, 충격량Acceleration, momentum, and impulse for each HS event
Acceleration, momentum, and impulse of each TO event
이어서 단계(1250)에서 트레이닝 장치(1204)는 뉴럴 네트워크 모델을 트레이닝시킬 수 있다. 예를 들어, 트레이닝 장치(1204)는 뉴럴 네트워크 모델에 트레이닝 입력을 입력하여 전파시킴으로써 임시 출력(예를 들어, 임시 체중 결과)을 산출할 수 있다. 트레이닝 장치(1204)는 임시 출력으로부터 손실을 산출할 수 있다. 트레이닝 장치(1204)는 손실이 최소화되도록 역전파(back-propagation)에 기초하여 뉴럴 네트워크 모델의 파라미터(예를 들어, 연결 가중치)를 업데이트할 수 있다. 트레이닝 장치(1204)는 뉴럴 네트워크 모델에 대해 1차 교차 검증(cross validation)하고, 2차 검증을 위해 체중 별 테스트 집단을 추가 확보할 수 있다. 트레이닝 장치(1204)는 테스트 집단에서 입력 데이터를 추출하여 뉴럴 네트워크 모델에 입력함으로써 트레이닝된 뉴럴 네트워크 모델의 성능을 평가할 수 있다.일 실시예에 따른 체중 추정 서버는 상술한 바와 같이 트레이닝된 뉴럴 네트워크 모델을 이용하여 체중 추정을 수행할 수 있다. 또한, 체중 추정 서버는 트레이닝된 뉴럴 네트워크 모델의 성능을 지속적으로 개선할 수도 있다. 체중 추정 서버는 트레이닝 장치(1204)로부터 개선된 뉴럴 네트워크 모델을 제공받거나, 체중 추정 서버가 자체적으로 뉴럴 네트워크 모델을 개선할 수도 있다.Then, in
예를 들어, 단계(1260)에서 스마트 인솔 장치(110)는 추가 트레이닝 데이터를 전달할 수 있다. 트레이닝 장치(1204)는 뉴럴 네트워크 모델에 의해 추정된 체중 및 실제 체중 간의 오차가 임계 값을 초과하는 모집단 데이터를 체중 그룹 별로 추가적으로 수집할 수 있다. 트레이닝 장치(1204) 및/또는 체중 추정 서버의 통신부는 스마트 인솔 장치(110)에서 사용자의 정속 보행 상태에 대해 수집된 모집단 데이터를, 스마트 인솔(110) 장치 및 트레이닝 장치(1204) 및/또는 체중 추정 서버 간의 접속이 수립될 시 수신할 수 있다. 스마트 인솔 장치(110)는 체중 추정과는 별개로 재트레이닝을 위한 위한 데이터를 수집하여 체중 추정 서버 및/또는 트레이닝 장치(1204)로 전송할 수 있다. 예를 들어, 스마트 인솔 장치(110)는 유효 구간이 확보될 때 마다 입력 데이터 및 체중 결과를 체중 추정 서버 및/또는 트레이닝 장치(1204)로 전달할 수 있다. 또한, 추가 트레이닝 데이터의 전달을 이로 한정하는 것은 아니고, 스마트 인솔 장치(110) 및/또는 모바일 단말이 보행 분석 기록을 누적하여 저장하였다가 체중 추정 서버 및/또는 트레이닝 장치(1204)에 접속할 때마다 전송할 수도 있다. 이렇게 전송된 데이터는 후술하는 단계(1270)에서 재트레이닝을 위해 사용될 수 있다.For example, in step 1260 , the
단계(1270)에서 일 실시예에 따른 트레이닝 장치(1204)는 재트레이닝을 수행할 수 있다. 예를 들어, 트레이닝 장치(1204)는 추가적으로 수집된 모집단 데이터에 기초하여 뉴럴 네트워크 모델을 추가적으로 트레이닝시킬 수 있다. 트레이닝 장치(1204)는 오차율 개선을 위해 트레이닝 완료 후 일정 기간(예를 들어, 한달 또는 한 분기 등)이 경과한 후, 상술한 단계들(1210 내지 1250)과 유사하게 재트레이닝을 수행할 수 있다. 이때 트레이닝 장치(1204)는 실제 체중 변화(예를 들어, 감량 등)이 있는 추가 대상자를 선별할 수 있다. 트레이닝 장치(1204)는 추가 대상자의 실제 데이터와 기존 트레이닝된 뉴럴 네트워크 모델에 기초하여 추정된 체중 결과의 오차를 비교할 수 있다. 트레이닝 장치(1204)는 임계 오차를 초과하는 대상자의 데이터를 추가 트레이닝 데이터로서 활용하여 뉴럴 네트워크 모델을 재트레이닝시킬 수 있다. 이 때, 기간 동안 질병이나 질환, 또는 사고 등에 의해 신체적 변경이 발생된 대상자 또는 급격한 체중 감소나 체중 증가를 유발한 외부적 상황(예를 들어, 다이어트, 폭식 등 영향섭취 불균형 등)이 발생한 대상자는 추가 트레이닝 데이터로부터 배제될 수 있다. 외부적 요인은 추가 대상자에 대한 문진을 통해 수집될 수 있다. 트레이닝 장치(1204)는 운동 요인 외의 외부적 요인에 의한 체중 변화를 나타내는 대상자의 데이터를 추가 트레이닝 데이터로부터 배제할 수 있다.In
뉴럴 네트워크 모델의 정확성이 보장되는 환경에서, 스마트 인솔 장치(110) 및/또는 체중 추정 서버는 체중의 급격한 변화(예를 들어, 임계 변화량을 초과하는 체중 변화)를 검출하는 경우, 그 때의 입력 데이터를 트레이닝 데이터로 사용하지는 않고, 사용자에게 이상 체중 변화를 경고할 수 있다. 만약 온라인 문진을 통해 이상 체중 변화에 대한 외부 요인이 특정 가능한 경우, 추후 헬스케어 분야에서 체중 변화와 질병간 상관 관계를 도출하는데 사용될 수도 있다. 다만, 뉴럴 네트워크 모델의 정확성이 보장되기 전의 환경에서는, 트레이닝 장치(1204)가 사용자로부터 추정값 오류에 대한 문진 정보를 수집하고, 뉴럴 네트워크 모델의 오류를 분석할 수 있다.In an environment in which the accuracy of the neural network model is guaranteed, the
또한, 단계(1280)에서는 트레이닝 장치(1204)가 추가 보행 인자를 뉴럴 네트워크 모델에 반영할 수도 있다. 추가 보행 인자의 반영은 하기 도 13에서 설명한다.Also, in
도 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
예시적으로 스마트 인솔 장치에 의해 수집가능한 정보로부터 분석될 수 있는 보행 관련 인자는 아래 표 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.
(Heel to Toe), 3박자 보행Graph of the force generated during walking
(Heel to Toe), three-time gait
각 ground contact timeDuring running, Heel, Mid, Toe
each ground contact time
(계단 오름/내림 등 활동 분석 항목 추가 중)Measurement of time units by posture
(Adding activity analysis items such as going up/down stairs)
일 실시예에 따른 체중 추정 서버는 상술한 보행 관련 인자들 중 체중 변화에 영향을 주는 대상 보행 인자를 선택할 수 있다. 체중 추정 서버는 대상 보행 인자를 추가 입력 변수(1312)로서 포함하는 새로운 입력 데이터의 형식을 정의할 수 있다. 이 때, 체중 추정 서버는 체중 추정을 위한 뉴럴 네트워크 모델(1330)과는 별개로, 각 보행 관련 인자의 체중 관련도를 추정하기 위한 다른 뉴럴 네트워크 모델을 더 포함할 수 있다. 다른 뉴럴 네트워크 모델은 활동량 데이터 및 체중 변화 간의 상관 관계가 학습된 모델일 수 있다. 다른 뉴럴 네트워크 모델에 사용되는 트레이닝 데이터(1310)는, 활동량 데이터 및 유효 구간들의 구간 데이터 등이 페어링된 데이터일 수 있다.체중 추정 서버는 다른 뉴럴 네트워크 모델에 유효 구간들의 구간 데이터, 해당 유효 구간에서의 사용자의 활동량 데이터(예를 들어, 상술한 표 3 내지 표 6의 보행 관련 인자 별로 기록 및/또는 산출된 값)을 입력할 수 있다. 사용자의 활동량(예를 들어, 걸음수, 거리, 속도, stance /swing ratio 등)은 사용자의 체중 변화에 영향을 줄 수 있다. 예시적으로, 체중 추정 서버는 매일 체중 변화가 증가한 날과 감소한 날, 주로 어떤 행동이나 활동을 했는지를 모니터링하면서, 체중 관련도를 계산할 수 있다. 체중 감소에 기여한 활동은 체중 관련도가 더해지고, 체중 증가에 기여한 활동은 체중 관련도가 낮아질 수 있다. 예를 들면, 보행 관련 인자들 중 신경 질환 파킨슨 병을 가지는 환자의 경우 보행 장애가 수반되는데, 이때 해당 환자로부터 보폭이 현저히 좁아지고 속도가 줄어드는 특성, 및 동시에 체중이 감소하는 현상이 관측될 수 있다.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
체중 추정 서버는 보행 관련 인자들 별로 수집된 데이터에 다른 뉴럴 네트워크를 적용함으로써, 해당 보행 관련 인자의 체중 관련도를 추정할 수 있다. 예를 들어, 체중 추정 서버는 하기 표 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.
앞서 설명한 바와 같이, 체중 추정 서버는 보행 인자들 중 임계 점수를 초과하는 대상 보행 인자를 추가 입력 변수(1312)로 선별할 수 있다. 체중 추정 서버는 기존 입력 데이터(1311)에 추가 입력 변수(1312)를 부가한 새로운 입력 데이터를 정의할 수 있다. 표 7에 상술한 예시에서는 임계 점수가 60%일 수 있고, 체중 추정 서버가 주행 시간(run time) 및 보행 시간(walk time)을 추가 입력 변수(1312)로 선별하여 입력 데이터에 추가할 수 있다. 체중 추정 서버는 새로운 입력 데이터를 포함하는 트레이닝 데이터(1310)를 이용하여 뉴럴 네트워크 모델(1330)을 업그레이드할 수 있다.이 때, 체중 추정 서버는 새로 정의된 입력 데이터의 형식을 수신 가능한 새로운 입력 레이어(1331)를 뉴럴 네트워크 모델(1330)의 기존 입력 레이어의 전단에 연결할 수 있다. 새로운 입력 레이어(1331) 외의 다른 레이어들의 파라미터가 기 트레이닝되었으므로, 전체 뉴럴 네트워크 모델(1330)을 트레이닝하는데 소요되는 시간 및 비용이 절감될 수 있다. 업그레이드된 뉴럴 네트워크 모델(1330)의 트레이닝은 도 12에서 상술한 바와 유사하게 수행될 수 있다. 예를 들어, 체중 추정 서버는 뉴럴 네트워크 모델(1330)에 트레이닝 데이터(1310)를 적용하여 임시 출력(1390)을 산출하고, 임시 출력(1390)에 기초하여 산출된 손실이 최소화되도록 뉴럴 네트워크 모델(1330)의 파라미터를 업데이트할 수 있다. 여기서, 체중 추정 서버는 새로운 입력 레이어(1331)와 관련된 파라미터만 업데이트할 수도 있으나, 이로 한정하는 것은 아니고, 전체 네트워크의 파라미터를 업데이트할 수도 있다.As described above, the weight estimation server may select a target gait factor exceeding a threshold score among gait factors as the
또한, 체중 추정 서버는 새로운 입력 데이터가 정의되는 경우에 응답하여, 스마트 인솔 장치에 새로운 입력 데이터의 형식과 관련된 정보를 공유할 수 있다. 예를 들어, 체중 추정 서버는 스마트 인솔 장치에게 추가 입력 변수(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
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 may be 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, a person skilled 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)
사용자의 발의 가속도 및 각속도를 포함하는 관성 정보를 측정하는 관성 측정부(IMU, inertial measurement unit);
상기 관성 정보로부터 상기 사용자의 체중과 관련된 구간 데이터를 추출하고, 상기 추출된 구간 데이터로부터 입력 데이터를 생성하는 프로세서; 및
뉴럴 네트워크 모델을 저장한 체중 추정 서버에게 상기 뉴럴 네트워크 모델에 입력될 상기 입력 데이터를 전송하면서 체중 추정을 요청하는 통신부
를 포함하는 스마트 인솔 장치.
In the smart insole device,
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.
상기 프로세서는,
상기 관성 정보로부터 뒷꿈치 착지 시점을 포함하는 구간의 뒷꿈치 착지 데이터(heel strike data) 및 앞꿈치 이지 시점을 포함하는 구간의 앞꿈치 이지 데이터(toe off data) 중 적어도 하나를 상기 구간 데이터로서 추출하는,
스마트 인솔 장치.
According to claim 1,
The processor is
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.
상기 스마트 인솔 장치가 장착된 신발의 밑면이 지면에 닿는 동안 상기 발이 상기 지면에 가하는 압력을 복수의 지점들에서 센싱하는 압력 센서
를 더 포함하고,
상기 프로세서는,
상기 압력 센서에 의해 상기 복수의 지점들에서 센싱되는 압력 및 상기 관성 정보로부터 산출된 운동량에 기초하여 뒷꿈치 착지 시점 및 앞꿈치 이지 시점 중 적어도 하나를 판별하는,
스마트 인솔 장치.
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.
상기 프로세서는,
뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 중력 방향을 따르는 가속도를 산출하고, 상기 산출된 가속도를 포함하는 입력 데이터를 생성하는,
스마트 인솔 장치.
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.
상기 프로세서는,
상기 관성 정보에서 사용자의 정속 보행 상태 동안 추출된 구간 데이터를 이용하여 상기 입력 데이터를 생성하는,
스마트 인솔 장치.
According to claim 1,
The processor is
Generating the input data by using the section data extracted during the user's constant speed walking state from the inertia information,
Smart insole device.
상기 프로세서는,
상기 관성 정보에 기초하여 지면에 평행한 방향에 대한 상기 사용자의 이동 속도를 계산하고, 미리 결정된 임계 시간을 초과하여 상기 계산된 이동 속도가 유지되는 경우 상기 사용자가 상기 정속 보행 상태인 것으로 결정하는,
스마트 인솔 장치.
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.
상기 프로세서는,
상기 구간 데이터와 함께, 상기 사용자의 현재 체중에 기초하여 산출된 운동량 및 충격량을 포함하는 상기 입력 데이터를 생성하는,
스마트 인솔 장치.
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. 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.
상기 통신부는,
상기 입력 데이터에 상기 뉴럴 네트워크 모델을 적용함으로써 추정된 체중 결과를 상기 체중 추정 서버로부터 수신하고,
상기 프로세서는,
상기 체중 결과를 수신한 후, 상기 체중 결과 및 상기 관성 정보를 이용하여 입력 데이터를 생성하는,
스마트 인솔 장치.
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.
사용자의 발의 가속도 및 각속도를 포함하는 관성 정보를 측정하는 단계;
상기 관성 정보로부터 상기 사용자의 체중과 관련된 구간 데이터를 추출하는 단계;
상기 추출된 구간 데이터로부터 입력 데이터를 생성하는 단계; 및
뉴럴 네트워크 모델을 저장한 체중 추정 서버에게 상기 뉴럴 네트워크 모델에 입력될 상기 입력 데이터를 전송하면서 체중 추정을 요청하는 단계
를 포함하는 방법.
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.
A computer program stored in a computer-readable recording medium in combination with hardware to execute the method of claim 10.
뉴럴 네트워크 모델을 저장하는 메모리;
스마트 인솔 장치에 의해 측정되는 관성 정보 중 사용자의 체중과 관련된 구간 데이터로부터 생성된 입력 데이터를 상기 스마트 인솔 장치로부터 수신하는 통신부; 및
상기 입력 데이터로부터 상기 뉴럴 네트워크 모델에 기초하여 사용자의 체중 결과를 추정하는 프로세서
를 포함하는 체중 추정 서버.
In the weight estimation server,
a memory 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. 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.
상기 통신부는,
뒷꿈치 착지 데이터 및 앞꿈치 이지 데이터 중 적어도 하나로부터 산출된, 중력 방향을 따르는 가속도를 포함하는 상기 입력 데이터를 수신하는,
체중 추정 서버.
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.
상기 통신부는,
상기 관성 정보에서 사용자의 정속 보행 상태에 대해 생성된 상기 입력 데이터를 수신하는,
체중 추정 서버.
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.
상기 통신부는,
상기 구간 데이터 및 상기 사용자의 현재 체중에 따라 산출된 운동량 및 충격량을 포함하는 입력 데이터를 수신하는,
체중 추정 서버.
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.
상기 프로세서는,
상기 입력 데이터에 상기 뉴럴 네트워크 모델에 따른 연산을 적용함으로써 상기 사용자의 체중 결과를 추정하고,
상기 통신부는,
상기 추정된 체중 결과를 상기 스마트 인솔 장치로 전달하는,
체중 추정 서버.
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.
상기 프로세서는,
상기 뉴럴 네트워크 모델에 의해 추정된 체중 및 실제 체중 간의 오차가 임계 값을 초과하는 모집단 데이터를 체중 그룹 별로 추가적으로 수집하고, 상기 추가적으로 수집된 모집단 데이터에 기초하여 상기 뉴럴 네트워크 모델을 추가적으로 트레이닝시키는,
체중 추정 서버.
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. 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.
상기 프로세서는,
복수의 보행 인자들 중 체중 관련도가 임계 점수를 초과하는 대상 보행 인자를 입력 변수로 포함하게 정의된 새로운 입력 데이터를 수신 가능한 새로운 입력 레이어를 상기 뉴럴 네트워크 모델에 추가하는,
체중 추정 서버.
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.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200147490A KR102421699B1 (en) | 2020-11-06 | 2020-11-06 | System and smart insole device to estimate weight of user |
PCT/KR2020/015610 WO2022097795A1 (en) | 2020-11-06 | 2020-11-09 | Smart insole device and system for estimating user's weight |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200147490A KR102421699B1 (en) | 2020-11-06 | 2020-11-06 | System and smart insole device to estimate weight of user |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220061473A true KR20220061473A (en) | 2022-05-13 |
KR102421699B1 KR102421699B1 (en) | 2022-07-18 |
Family
ID=81456770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200147490A KR102421699B1 (en) | 2020-11-06 | 2020-11-06 | System and smart insole device to estimate weight of user |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102421699B1 (en) |
WO (1) | WO2022097795A1 (en) |
Cited By (1)
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 (3)
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 |
KR20190048351A (en) * | 2017-10-31 | 2019-05-09 | 권혁준 | Smart health care system for checking exercise |
WO2020079782A1 (en) * | 2018-10-17 | 2020-04-23 | 日本電気株式会社 | Body weight estimation device, body weight estimation method, and program recording medium |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101124292B1 (en) * | 2009-05-13 | 2012-03-27 | 신동석 | Apparatus for body weight scale of shoe type |
US10446054B2 (en) * | 2015-06-15 | 2019-10-15 | Mark Lamoncha | System and method for tracking the weight and food consumption of a user |
KR20170004589A (en) * | 2015-07-03 | 2017-01-11 | 엘지전자 주식회사 | A insole, a mobile terminal and method for controlling the same |
JP6700533B2 (en) * | 2016-05-26 | 2020-05-27 | 北川工業株式会社 | Weight information output system and program |
KR102614779B1 (en) * | 2018-09-14 | 2023-12-15 | 삼성전자주식회사 | Method and apparatus for assisting walking |
-
2020
- 2020-11-06 KR KR1020200147490A patent/KR102421699B1/en active IP Right Grant
- 2020-11-09 WO PCT/KR2020/015610 patent/WO2022097795A1/en active Application Filing
Patent Citations (3)
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 |
KR20190048351A (en) * | 2017-10-31 | 2019-05-09 | 권혁준 | Smart health care system for checking exercise |
WO2020079782A1 (en) * | 2018-10-17 | 2020-04-23 | 日本電気株式会社 | Body weight estimation device, body weight estimation method, and program recording medium |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024075935A1 (en) * | 2022-10-07 | 2024-04-11 | 삼성전자주식회사 | Electronic device and method for performing fall detection |
Also Published As
Publication number | Publication date |
---|---|
KR102421699B1 (en) | 2022-07-18 |
WO2022097795A1 (en) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3194890B1 (en) | Methods and apparatus for power expenditure and technique determination during bipedal motion | |
US8821417B2 (en) | Method of monitoring human body movement | |
US11948470B2 (en) | Artificial intelligence assistance to change biomechanical loading | |
KR20160031246A (en) | Method and apparatus for gait task recognition | |
EP3496600A1 (en) | System and method for assisting exercising of a subject | |
US20220260442A1 (en) | System and method for multi-sensor combination for indirect sport assessment and classification | |
KR102421699B1 (en) | System and smart insole device to estimate weight of user | |
JP6785917B2 (en) | How to calculate real-time stride length and speed of a running or walking individual | |
JP6127454B2 (en) | Walking age display system | |
US20230389880A1 (en) | Non-obtrusive gait monitoring methods and systems for reducing risk of falling | |
KR102268445B1 (en) | Apparatus for estimation of gait stability based on inertial information and method thereof | |
KR20230016211A (en) | Gait Analysis System | |
EP3649939B1 (en) | Information processing device, information processing system, and information processing method | |
KR20210040671A (en) | Apparatus for estimating displacement center of gravity trajectories and method thereof | |
CN112839569A (en) | Method and system for evaluating human movement | |
WO2022038664A1 (en) | Calculation device, gait measurement system, calculation method, and program recording medium | |
KR101702462B1 (en) | Device and method for measuring body posture | |
KR102322002B1 (en) | Method and apparatus for setting assistant torque | |
WO2022250856A1 (en) | Sensing leg movement for wearable monitoring of energy expenditure | |
KR20230101712A (en) | Method for estimating gait index of user, and wearable device and electronic device performing the same | |
US11035692B2 (en) | Technologies for pedometric sensing in footwear | |
KR20230162354A (en) | Method and apparatus for severity determination of stroke | |
KR20230103949A (en) | Method for estimating gait index of user, and wearable device and electronic device performing the same | |
WO2018152390A1 (en) | Wearable personalized health and training device | |
Deshmukh et al. | Real time feedback system for walking gait analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |