The invention relates to methods for computing a real-time estimation of the step length and the speed of a walking or running individual.
Gait speed and step length are important parameters to characterize an individual's daily activities. In sport applications for instance, speed may be used to evaluate athletes and to design personalized training sessions, with a view to improve performance and decrease the risk of injury. In clinical applications, speed is used to evaluate the individual's health, thereby helping doctors diagnose, predict and prevent many diseases such as diabetes, overweight or cardiovascular pathologies.
Global Navigation Satellite System (GNSS) is a basic system widely used to measure an individual's gait speed. GNSS is accurate, and many wearable devices have been designed to embed a GNSS transponder, the measurements of which may be used to compute the individual's gait speed even in real-life conditions. However, there are locations where the GNSS signal is weak or might even be lost due to the lack of satellite coverage, such as indoors, tunnels, near high buildings, narrow valleys. In addition, a GNSS transponder is very power consuming, whereby it is preferable to use it sporadically instead of continuously.
Inertial sensors-based systems are yet another way to measure an individual's gait speed in daily life. While most inertial sensors are used attached to lower limb of the individual's body (such as feet, shanks, thighs), few are used attached to upper limbs (such as trunk and waist).
It is also known to use multiple sensors attached to different parts of the individual's body, the measurements of which are combined to enhance performance of gait speed estimation.
Inertial sensors-based systems estimate gait speed through multiplying gait cadence (i.e. the number of steps per time unit) by step length. Those systems usually compute the cadence by sensing certain moments (e.g. hill-strike, toe-off, mid-swing) during the different gait phases.
In usual inertial sensors-based systems, a step length is computed through geometric modelling of the individual's gait (e.g. based on inverse pendulum movement), double integration of acceleration, or an abstract modelling of the gait based on machine learning.
One main advantage of the inertial-based systems is their possible usage in daily life conditions. Another advantage of the inertial systems is their acceptable accuracy. One main drawback, however, is that those systems need sensor calibration at the beginning of each measurement phase, which requires expertise from the user to wear them on the body. Another drawback is that the location of the sensors on the user's body are often regarded as an inconvenient, especially when a plurality of sensors are required. This might explain their commercial failure.
Only recently were methods introduced to estimate the gait speed of an individual based on wrist-worn inertial sensors.
Most known methods use an abstract modelling, which extracts several features from raw data and then build a regression model to estimate speed. Basic features for the wrist-based speed estimation are energy of the signal, cadence, mean crossing rate, and statistical features like mean, standard deviation, mode, and median of acceleration signal, see e.g. B. Fasel et al., “A wrist sensor and algorithm to determine instantaneous walking cadence and speed in daily life walking,” Med. Biol. Eng. Comput., vol. 55, pp. 1773-1785, 2017. Fasel also proposes intensity of the movement as a feature, which is a multiplication of mean and standard deviation of the wrist acceleration. Fasel yet also proposed the slope of the path (based on pressure sensor) as a feature for speed estimation.
However, even the best methods (including Fasel's) only exploit a little piece of useful information from the physics of hand and body movements. Moreover, the existing methods rely upon a general speed model, which results from an effort to standardize the individual to an average of a large population of humans. While efforts were made to somewhat adapt the general speed model with age, sex, height, and weight parameters, the model remains a standard ignorant of the strategy that each individual might exploit to manage his/her gait speed during physical effort.
It is an object of the present invention to propose a method for accurate and real-time estimation of the step length of a walking or running individual.
Another object of the invention is to propose a personalized method capable of learning the individual's gait and automatically adapt to his/her activity behaviour.
Another object of the invention is to propose a method that might be implemented within a wrist-wearable device, providing easy-to-use measurements for long-term monitoring of physical activities.
Another object of the invention is to propose a low-consumption computing method to increase autonomy of the wrist-wearable device.
It is therefore proposed, in a first aspect a method for computing an estimation of the step length of an individual over a time window, according to claim 1.
It is proposed, in a second aspect, a method for calculating an estimation of the speed of the individual over the time window, according to claim 10.
It is proposed, in a third aspect, a computer program product implemented on a readable memory connected to a calculation unit, said computer program including the instructions for conducting the method for computing the step length and/or the method for computing the speed as disclosed hereinbefore.
It is proposed, in a fourth aspect, a wrist-wearable device including a calculation unit and a readable memory connected to the readable memory, said readable memory being implemented with the computer program mentioned here above.
The above and further objects and advantages of the invention will become apparent from the detailed description of preferred embodiments, considered in conjunction with the accompanying drawings.
On
The smartwatch 3 is configured to monitor activity and infer various parameters of the individual 1 while he/she is moving on foot (i.e. either running or walking) on a path 4, the variations of altitude of which are voluntarily exaggerated on
Indeed, while some portions of the path 4 may be flat (as shown on
The individual 1 is moving:
The smartwatch 3 is equipped with:
The calculation unit 5, readable memory 6, accelerometer 7, barometer 8 and GNSS transponder 9 are embedded in a casing 10 attached to the wrist 2 by means of a strap or bracelet 11.
The readable memory 6 is implemented with a computer program including instructions for conducting a method for computing at least an estimation of the step length over a time window n, noted [an], of the individual 1 along the path 4, and preferably also an estimation of his/her gait speed over time window n, noted {circumflex over (V)}[n].
The computed step length [n] and computed speed {circumflex over (V)}[n] are linked to one another by the following equation:
{circumflex over (V)}[n]=[n]×[n],
where [n] is an estimated cadence of the individual 1 over time window n.
It should be noted that n is an integer where n ∈ [1, . . . N], N being an integer higher than 1. [1, . . . N] represents a time range starting from a first time window n=1 corresponding to the beginning of the computing to a last time window n=N corresponding to the end of the computing. In a preferred embodiment, time windows are 7-second long with 6-second overlap.
The method uses instant acceleration measures provided by the accelerometer 7 and instant atmospheric pressure measures provided by the barometer 8.
The accelerometer 7 is configured to deliver acceleration measures along three perpendicular axes, namely:
For each axis X, Y, Z, z acceleration samples are taken per window, z being an integer higher than 1:
For convenience, in the rest of the description, the following notations will be used:
S
x=(Sxi)i∈[1, . . . z]
S
y=(Syi)i∈[1, . . . z]
S
z=(Szi)i∈[1, . . . z]
Likewise, the barometer 8 is configured to deliver z atmospheric pressure samples per window:
For convenience, in the rest of the description, the following notation will be used: P=(Pi)i∈[1, . . . z].
The proposed method relies on a machine learning approach based upon the hypothesis that the step length may be computed using a function, denoted g, of a set of M gait features F1, F2, . . . , FM (M being an integer):
=g(F1, F2, . . . , Fm).
Six gait features (M=6) are considered here, five of which are computed from the acceleration measures Sx, Sy, Sz delivered by the accelerometer 7, and one of which is computed from the atmospheric pressure measures P delivered by the barometer 8.
F1[n] is an estimated gait cadence of the individual over time window n: F1[n]=[n]. In one preferred embodiment, feature F1[n]=[n] is estimated from a known algorithm proposed by Fasel (op. cit. pp. 1775-1778). More precisely, feature F1[n] over time window n is computed by the steps of:
F2[n] is an estimated slope A of the path 4. It is assumed that the step length SL decreases uphill (where slope A is positive,
where
F3[n] is an estimated energy of the acceleration measures Sy along the Y axis, over time window n. It is assumed there is a neural coupling between the arms and feet movements during gait. Indeed, when the individual increases his step length, the range of arm movement is increased, which leads to an increase in the energy of the acceleration measures Sy along the Y axis (the one aligned with the wrist). In one preferred embodiment, feature F3[n] is computed as the standard deviation of acceleration Sy over time window n:
F
3[n]=std(Sy[n]), that is to say
F
3[n]=std(Syi[n])i∈[1, . . . z].
F4[n] is an estimated mean absolute jerk of wrist acceleration over time window n. During gait periods, especially running, regular impacts are witnessed on the wrist 2 from variations of accelerations, the frequency of which is equal to the step frequency. The mean absolute value of jerk (i.e. the differential of acceleration) provides information about the energy of such impacts. In one preferred embodiment, feature F4[n] is computed as the mean of the differential of the acceleration measures Sy along the Y axis:
F
4[n]=mean(|Syi[n]−Syi−1[n]|)i∈[1, . . . z].
F5[n] is an estimated energy of wrist swing over time window n. It is an estimation of energy of the acceleration measures Sx along X axis and Sz along Z axis. When the step length is increased during walking, the wrist swing increases, thereby increasing its energy. Feature F5[n] of wrist swing is computed through the following equation, which provides the standard deviation of acceleration norm of Sx along the X axis and Sz along the Z axis:
F
5[n]=std(√{square root over (Sx[n]2+Sz[n]2)}), that is to say
F
5[n]=std(√{square root over (Sxi[n]2+Szi[n]2)})i∈[1, . . . z].
F6[n] is an estimated mean of acceleration norm over time window n. During walking, the wrist 2 oscillates around the trunk while the body is moving forward. Feature F6[n], which denotes a degree of the body movement, is computed as follows:
F
6[n]=mean(√{square root over (Sx[n]2+Sy[n]2+Sz[n]2)}), that is to say
F
6[n]=mean(√{square root over (Sxi[n]2+Syi[n]2+Szi[n]2)})i∈[1, . . . z].
The fact that the natures of the movement of wrist 2 during walking and running are different has been taken into consideration. For instant, during walking, the wrist 2 follows a pendulum swing movement that is absent in running.
In order to better fit the model to the type of gait, different combinations of features F1, F2, . . . , F6 are used to implement the method in running and walking, respectively.
More precisely, while F1, F2, F3, F4 are used for computing function g in a running situation, F1, F2, F4, F5, F6 are used for computing said function in a walking situation.
The method for computing the step length includes two procedures, namely:
Personalisation Procedure
Under the personalisation procedure, the GNSS transponder 9 is ON and delivers instant speeds of the smartwatch 3.
The offline training phase 100 is conducted over an initial time window 0 that does not represent the beginning of the running or walking session but a few seconds later. The offline training phase 100 aims at building an initial model to estimate the step length and the speed of the individual, and includes the steps of:
i) Measuring 102 an initial speed V[0] by the GNSS transponder 9 over the initial time window 0.
ii) Computing 104 an initial step cadence [0] from acceleration measures Sx[0], Sy[0], Sz[0] delivered by the accelerometer 7 over the initial time window 0.
Initial step cadence [0] is computed using the steps to compute feature F1[n], wherein n=0 ([0]=F1[0]).
iii) Computing 106 an initial step length SL[0] from the initial speed V[0] and the initial step cadence [0].
The initial step length SL[0] is inferred from the initial speed V[0] and the initial step cadence [0] according to the following equation:
iv) Computing 108 an initial vector of features X[0] from the acceleration measures Sx[0], Sy[0], Sz[0] and the atmospheric pressure P[0] over the initial time window 0.
The initial vector of features X[0] is computed as follows:
For running:
X[0]=[1 F1[0] F2[0] F3[0] F4[0] F22[0]],
For walking:
X[0]=[1 F1[0] F2[0] F4[0] F5[0] F6[0]].
F1[0], F2[0], F3[0], F4[0], F5[0] and F6[0] are computed using the steps to compute F1[n], F2[n], F3[n], F4[n], F5[n] and F6[n], wherein n=0.
v) Computing 110 an initial coefficient vector β[0] from the initial vector of features X[0] and the initial step length S L[0], following a least square method.
The initial coefficient vector β[0] is computed from the initial vector of features X[0] and the initial step length SL[0]:
β[0]=(X[0]T X[0])−1X[0]TSL[0],
where (X[0]TX[0])−1 is called initial dispersion matrix and is also noted D[0] in a simplified notation.
The previous equation may therefore be written as follows:
β[0]=D[0]X[0]TSL[0].
β[0], X[0], D[0], SL[0], V[0] and [0] are referred to as initial parameters.
The online training phase 200 is performed once the offline training phase 100 is over. The online training phase 200 aims at personalizing the initial model built during the offline training phase 100, and comprises the following steps, sporadically repeated for several time windows n:
i) Measuring 202 an instant speed V[n] by the GNSS transponder 9 over time window n.
ii) Computing 204 an instant cadence [n] from the acceleration measures Sx[n], Sy[n], Sz[n] delivered by the accelerometer 7 over time window n.
The instant step cadence [n] is computed using the steps to compute feature F1. As a reminder, F1[n]=[n].
iii) Computing 206 an instant step length SL[n] from the instant speed V[n] and the instant step cadence [n]
iv) Computing 208 an instant vector of features X[n] from the acceleration measures Sx[n], Sy[n], Sz[n] delivered by the accelerometer 7 and atmospheric pressure measures P[n] delivered by the barometer 8 over time window n.
The instant vector of feature X[n] is computed as follows:
For running:
X[n]=[1 F1[n] F2[n] F3[n] F4[n] F2[n]2],
For walking:
X[n]=[1 F1[n] F2[n] F4[n] F5[n] F6[n]].
v) Computing 210 an instant coefficient vector β[n] from the preceding coefficient vector β[n-1] following a recursive least square method.
The instant coefficient vector [n] is computed as follows:
β[n]=β[n-1]+D[n]X[n](SL[n]−X[n]Tβ[n-1]),
where D[n] is a dispersion matrix defined (in theory) by D[n]=(X[n]TX[n])−1. However, to simplify calculation and hence limit memory space, the dispersion matrix D[n] is computed according to the following recursive equation:
D[n]=D[n-1](I−X[n](I+X[n]TD[n-1]X[n])−1X[n]TD[n-1]),
where I denotes the identity matrix.
The recursive computing of equation for computing β[n] starts from β[1]:
β[1]=β[0]+D[1]X[1] (SL[1]−X[1]Tβ[0]),
where D[1] is computed using equation for computing D[n] in which the initial dispersion matrix D[0]=(X[0]TX[0])−1 is injected:
D[1]=D[0](I−X[1](I+X[1]TD[0]X[1])−1X[1]TD[0]).
Estimation Procedure
Under the estimation procedure 300, the GNSS transponder 9 is OFF. The estimation procedure aims at estimating the speed, cadence and step length of the individual using only the inertial sensors.
The estimation procedure 300 includes the following steps, for an arbitrary time window n′, n′ ∈ [1, . . . , N]:
i) Computing 302 an instant vector of features X[n′] from the acceleration measures Sx[n′], Sy[n′], Sz[n′] delivered by the accelerometer 7 and atmospheric pressure measures P[n′] delivered by the barometer 8 over time window n′.
ii) Computing 304 an instant step length [n′] from the instant vector of features X[n′] and the most updated coefficient vector β[n], using the following formula:
[n′]=X[n′]β[n].
iii) Computing 306 an instant cadence [n′] from the acceleration measures Sx[n′], Sy[n′], Sz[n′] delivered by the accelerometer 7 over time window n′.
iv) Computing 308 an instant speed {circumflex over (V)}[n′] from the instant step length [n′] and the instant cadence [n′], using the following formula:
{circumflex over (V)}[n]=[n′]×[n′].
This method provides an acceptable memory consumption cost and is capable of providing real-time computing of the step length [n′] and the speed {circumflex over (V)}[n′] over a time window n′. The use of the disclosed recursive least square method for computing the coefficient vectors provides good results without the need of all previous computed data.
Indeed, the method was tested on thirty healthy active volunteers who participated to a 90 minutes outdoor walking and running on a path having various terrain conditions including flat, uphill and downhill.
This method is inherently user-dependent and hence personalized to each individual. It provides an online learning process where the step length and speed are inferred from instant inputs and from previous computations using a recursive least square model.
The tests conducted on volunteers showed that the error gradually decreases along the path. It proves to have low power consumption, high accuracy, practicality (the method is implemented in a wrist-wearable device) and good ergonomics (no need to calibrate sensors). This method is suitable for a daily use on a long-term basis.
Number | Date | Country | Kind |
---|---|---|---|
18180129.1 | Jun 2018 | EP | regional |