This Application is a Continuation application of International Application PCT/RU2016/000098, filed on Feb. 24, 2016, which in turn claims priority to Russian Patent Applications No. RU 2015108821, filed Mar. 13, 2015, both of which are incorporated herein by reference in their entirety.
The invention relates to the field of measurements aimed at studying or analyzing movements of human body or parts thereof for diagnostic purposes, in particular for determining of types of human motor activity.
The determination of the type of human motor activity, or recognition/identification of whether a human is standing, walking, running, swimming or moves otherwise at a given instant is important for obtaining diagnostic information, in particular for assessing human health, evaluating physical exertion and activity-related energy expenditure.
Various methods for determining types of human motor activity through the use of accelerometers attached to human body are known.
For example, application JP 2013143996 (published Jul. 25, 2013; IPC A61B5/103, A61B5/55), describes a method for determining types of human motor activity based on recording of signals from a three-component accelerometer attached to the wrist, detecting recorded signal peaks associated with contacts of the feet and the ground and motion of user's arms, and evaluating amplitudes of said peaks. The type of motor activity, such as running or walking, is determined by solving corresponding equations and comparing the results of the calculations with a predetermined threshold value. This method cannot provide a reliable identification of motor activity type, since it leaves out of consideration motion habits, which are individual for each human.
Application US 20130245470 (published Sep. 19, 2013, IPC A61B5/11) describes a method for determining types of human motor activity by means of a three-component accelerometer attached to human breast. Here, the identification of motor activity type is based on the fact that at some moments of running when the runner's feet have no contact with the ground, the acceleration vector recorded by the accelerometer is directed opposite to gravity vector. At those instants, the derivative of acceleration vector magnitude has an opposite sign compared to the case when at least one foot contacts the ground. As a result, the type of movement is determined based on the derivative of acceleration vector magnitude. Said method cannot provide a reliable identification of motor activity type, since it leaves out of consideration the individual motion habits of a particular person, moreover, it is only able to distinguish running from walking.
The method closest to the claimed invention is described in application JP 2012065749 (published on Apr. 4, 2012; IPC, A61B5/103, A43B5/22). Said method provides for the recording of signals generated by a three-component accelerometer attached to human body and calculating the acceleration vector magnitude based thereon. Thereafter, the difference between extrema of acceleration vector magnitude is calculated and the obtained results are used to decide what type of human motor activity was performed. However, this method, like those described above, cannot provide a reliable identification of human motor activity type, since it leaves out of consideration the individual motion habits of a particular person even when he/she performs similar movements.
The technical task that the claimed invention is aimed to solve is to develop a more reliable method and device for identifying different types of motor activity; said purpose being achieved by compiling a set of reference values of amplitude and time parameters of acceleration magnitude for a particular person performing various types of motor activity, hereinafter referred to as patterns, and use them for implementing the method.
The following terms are used to describe the invention.
Human motor activity is a set of motor acts or body movements; it is the main function of human muscular system.
Types of human motor activity include walking, running, squatting, arm swinging, foot swinging, swimming, etc., performed by a person.
A motor act means a repeated movement, such as a separate step in the process of walking or running, a separate squat or arm swing, etc.
A three-component accelerometer is a technical device, which, when attached to a moving object, can generate three electric signals corresponding to the projections of moving object acceleration vector along three orthogonal axes in three-dimensional space.
Acceleration vector magnitude is an absolute value of acceleration recorded by a three-component accelerometer in the form of three signals corresponding to acceleration projections of a moving object along three orthogonal axes in three-dimensional space.
Time array of acceleration vector magnitudes is an array of values of acceleration vector magnitude for a certain (specified) time interval.
Time limits or motor act duration is a time interval from the beginning to the end of a separate motor act; or a time interval between the same phases of periodically repeated motor acts.
An acceleration vector magnitude extremum is a local extremum of acceleration vector magnitude in the time array of its values.
Number of acceleration vector magnitude extrema is the number of local extrema within the time limits or duration of an individual motor act.
A pattern is a set of parameters characterizing a type of human motor activity as a set of motor acts of a certain type, including:
a reference value of the number of extrema per motor act (for example, a step during walking or running, a swing of an arm, etc.);
a reference value of motor act duration, which is represented by minimum and maximum values;
a reference value of difference between adjacent extrema, which is represented by minimum and maximum values of each extremum with respect to the next extremum per one motor act.
A subset of patterns is an array of patterns of the same motor activity type that differ in their reference number of extrema per motor act.
Said sets of parameters (patterns) are formed in advance when customized for various types of motor activity, which can be identified using the method proposed in the claimed invention.
One of the targets of said invention is to develop a method for identifying types of human motor activity, wherein:
signals from a three-component accelerometer, which is attached to human body and is capable of generating signals induced by human motor activity, are registered;
based on said signals from the three-component accelerometer, the magnitude of acceleration vector is calculated, time array of acceleration vector magnitudes is formed, and its extrema are identified;
duration of separate motor acts and the differences between adjacent extrema of acceleration vector magnitude for each motor act are determined by counting, consecutively from one extremum to another, the number of extrema equal to a reference number of extrema in at least one pattern, which is pre-formed for a certain type of motor activity and characterized by a specific reference number of acceleration vector magnitude extrema, a specific reference value of motor act duration, and specific reference values of difference between adjacent extrema of acceleration vector magnitude;
obtained values of motor act duration and difference between adjacent acceleration vector magnitude extrema are compared with reference values of motor act duration and difference between adjacent acceleration vector magnitude extrema from a corresponding pattern;
thereafter, the decision on the type of motor act performed is made if said determined values of motor act duration and difference between adjacent extrema of acceleration vector magnitude fit into preset ranges of said reference values of motor act duration and difference between adjacent extrema of acceleration vector magnitude of at least one pattern.
When analyzing the sequence of signals generated by a three-component accelerometer attached to human body, the inventors have experimentally established that individual motor acts belonging to different types of motor activity are characterized by such informative parameters as:
number of acceleration vector magnitude extrema;
duration of motor act, and
values of difference between adjacent acceleration vector magnitude extrema.
Hence, it was proposed to form a number of patterns characterized by reference values of the number of acceleration vector magnitude extrema, motor act duration, and difference between adjacent acceleration vector magnitude extrema, and compare the corresponding parameters of acceleration vector magnitude registered in the process of implementing the proposed method therewith. Herein, natural deviation of such parameters as motor act duration and difference between adjacent acceleration vector magnitude extrema taken into account, the corresponding reference values are represented as a range of values—minimum and maximum. It should be noted that depending on the specific task, the number of patterns formed both for different and similar types of motor activity may vary, for example, a single pattern can be used if one type of motor activity has to be recognized.
While implementing the proposed method, the acceleration vector magnitude is calculated based on signals generated by a three-component accelerometer, then a time array of acceleration vector magnitude values is formed, and its extrema are identified.
Thereafter, the number of acceleration vector magnitude extrema equal to the reference number of extrema in the first pattern is counted starting from the first extremum, the duration of supposed motor act is measured, and the difference between adjacent extrema is determined. A similar procedure is performed in consecutively from one acceleration vector magnitude extremum to another and repeated for each pattern. The values of motor act duration and difference between adjacent acceleration vector magnitude extrema, thus defined, are each time compared with corresponding reference values of a corresponding pattern.
The above procedure affords opportunity to consecutively analyze each fragment of the array of acceleration vector magnitude values by comparing its parameters with the reference ones, wherein the dimension of each analyzed fragment is determined by the reference number of extrema of the corresponding pattern.
Finally, the decision on the type of motor act performed is made if said determined values of motor act duration and difference between adjacent extrema of acceleration vector magnitude characteristic for the analyzed fragment of acceleration vector magnitudes array fit into preset ranges of said reference values of motor act duration and difference between adjacent extrema of acceleration vector magnitude of the corresponding pattern.
The proposed motor act model, characterized by a number of acceleration vector magnitude extrema, motor act duration measured within this number of extrema, and difference between adjacent extrema and used in combination with the described procedures of isolating fragments of recorded time array of acceleration vector magnitudes and comparing said fragment parameters with the corresponding reference parameters (values), affords possibility to reliably identify the type of motor activity that the performed motor act belongs to and thus determine the type of motor activity in general. Here, the term “reliability” refers to the probability of errors of first and second kind, in other words, the probability of either false identification of the type of performed motor act, or identification uncertainty.
The reliability of identification of motor activity type can be enhanced, if variance of difference between adjacent acceleration vector magnitude extrema is taken into account with respect to corresponding reference values.
Given that human arms are involved in most types of motion, the accelerometer can be attached to person's arm, particularly to the wrist, which makes it possible to identify the majority of human motor activity types. Moreover, wearing such devices on the wrist is traditional and comfortable.
In a particular embodiment, the three-component accelerometer can be substituted with three interconnected acceleration sensors forming three orthogonal acceleration measurement axes.
High-frequency hopping of accelerometer signals characteristic for such application can be eliminated if signals generated by the three-component accelerometer or results of acceleration vector magnitude calculation are soothed before a time array of acceleration vector magnitudes is formed. Such a procedure further enhances the reliability of motor activity type identification and reduces the scope of computations necessary to implement said method.
Patterns, for example, can be formed as follows. Motor activity related signals from a three-component accelerometer attached to human body are recorded while the person performs a series of motor acts of a certain type, for which the pattern is formed. Further on, based on said signals acceleration vector magnitudes are calculated, their time array is formed, and its extrema are identified. Thereafter, the number of acceleration vector magnitude extrema, motor act duration and difference between adjacent extrema are determined for a selected number of motor acts. Finally, a repeating number of extrema, minimum and maximum duration of motor acts featuring the above number of extrema, and minimum and maximum difference between adjacent extrema in motor acts that have the above number of extrema, are taken as reference values for at least one pattern.
If motor acts with a different repeating number of extrema are identified, at least one additional pattern is formed, its reference values also being represented by the repeating number of extrema, minimum and maximum duration of motor acts featuring the above number of extrema, and minimum and maximum difference between adjacent extrema in motor acts characterized by the above number of extrema. The resulting patterns form a subset of patterns for one type of motor activity.
Additionally, to eliminate high-frequency hopping of signals generated by the three-component accelerometer said signals or calculated acceleration vector magnitudes are soothed before a time array of acceleration vector magnitudes is formed.
In general case, pattern formation can be disassociated from a particular person or type of motor activity to be determined by the proposed method. However, pattern forming yields the best results, if the three-component accelerometer is attached to the body of the same person and in the manner, which will be used when implementing the proposed method in future. In this case, patterns reflecting some peculiarities of certain person's motion can be formed.
In particular, the number of motor acts performed by a person during pattern formation ranges from 50 to 300.
Another target of this invention is a device used for determining types of motor activity and comprising a three-component accelerometer providing for its attachment on a human body and capable of generating signals that correspond to vector projections of the acceleration experienced by the accelerometer along three orthogonal space axes, and a computing device connected to the accelerometer outputs.
Said computing device is configured to perform all computations necessary to implement the proposed method. Namely:
accelerometer signal-based calculations of acceleration vector magnitude, formation of a time array of acceleration vector magnitudes, and identification of its extrema;
evaluation of individual motor act duration and difference between adjacent acceleration vector magnitudes for each individual motor act, with the boundaries of the motor acts being determined consecutively from one extremum to another by comparing the number of extrema with their reference number for at least one pattern pre-formed for a certain type of motor activity and characterized by a reference number of acceleration vector magnitude extrema, a reference duration of motor act, and reference values of difference between adjacent acceleration vector magnitude extrema;
comparison of measured motor act duration and difference between adjacent acceleration vector magnitude extrema with corresponding reference values of a certain pattern, and
making a decision on whether a motor act of certain type was preformed, provided that said measured values of motor act duration and difference between adjacent acceleration vector magnitude extrema fit into preset ranges of said reference values of motor act duration and difference between adjacent acceleration vector magnitude extrema of at least one pattern.
In a particular embodiment, said computing device may be configured to make decisions on whether a certain type motor act was performed by additionally taking into consideration the dispersion of difference between adjacent acceleration vector magnitude extrema with respect to corresponding reference values.
Said accelerometer can be designed to be fixed on the wrist.
Three structurally interconnected acceleration sensors forming three orthogonal acceleration measurement axes can be used instead of the accelerometer mentioned above.
In a particular embodiment, the computing device can be connected to accelerometer outputs via cyclic buffers to provide time correlation of signals at accelerometer outputs and their subsequent processing.
The device for determining types of human motor activity can be complemented with a transceiver to provide wireless transmission of data on the type of human motor activity being performed to an external device.
The invention is illustrated by the following graphical materials.
The method proposed by the claimed invention can be implemented, for example, by means of device 1, whose block diagram is shown in
Three-component accelerometer 2 (see
Device 1 can be complemented with transceiver 10 for wireless transmission of data on currently performed human motor activity to an external stand-alone device, for example, to a personal computer or smartphone 11, which accumulate those data. Other options are possible, in which data from smartphone 11 are transferred using certain network technologies, for example the Internet, to an external storage for accumulation and subsequent processing and analysis for the above-mentioned purpose of assessing person's physical condition, bodily energy consumption, etc.
A block diagram, showing basic operations performed by the algorithm for implementing the proposed method is presented in
At first (step 102), acceleration vector magnitude is calculated based on signals xi, yi, zi as:
Ai=√{square root over (xi2+yi2+zi2)},
thus forming a sequence of values Ai.
To eliminate high-frequency hopping of computed values Ai, the above sequence can be smoothed (step 103), for example, by method of exponential weighted moving average. Thereupon, a new array of values Ãi is formed, which is free of a high-frequency component. Various smoothing methods are known, which can be used depending on the frequency spectrum of signals xi, yi, zi generated by accelerometer 2.
Alternatively, the smoothing sequence and calculation of acceleration vector magnitude can be modified as follows: at first, signals xi, yi, zi are smoothed, after which the acceleration vector magnitude is computed.
Based on obtained values Ãi, a time array of acceleration vector magnitudes is formed (step 104) and subsequently analyzed. Said time array is stored in the RW memory of computing device 9.
The values of acceleration vector magnitude Ãi are shown in
In the next step 105 (see
A pattern, as noted above, presents a set of parameters or reference values characterizing a certain type of human motor activity. Thereat, a multitude of patterns related to a certain type of motor activity can be used, each of which, in its turn, can be represented by a subset of patterns for a given type of motor activity. For example, a multitude of patterns S for recognizing walking, running, and jumping can include:
S={SW,SR,SJ},
where: SW is a subset of walking patterns;
SR is a subset of running patterns;
SJ is a subset of jumping patterns.
Besides, each subset SW, SR or SJ may include several patterns. For example, a subset of walking patterns SW comprising W patterns (where W is a natural integer) can be represented as:
SW={SW(1),SW(2), ..., SW(w)},
where: SW(1) is the first walking pattern;
SW(2) is the second walking pattern;
SW(w) is the W-th walking pattern.
The number of local extrema per one motor act of a given type motor activity can be used as a criterion for distinguishing patterns of the same subset.
Finally, each pattern includes a set of the following reference values:
S={E,Tmin,Tmax,h(1)min,h(1)max,...,h(E-1)min,h(E-1)max},
where: E is the number of extrema per one motor act (for example, a walking step, a running step, a jump, an arm swing, etc.);
Tmin is the minimum duration of a motor act;
Tmax is the maximum duration of a motor act;
h(1)min is the minimum difference between the first and second extrema;
h(1)max is the maximum difference between the first and second extrema;
h(E-1)min is the minimum difference between the second-to-last and last extrema;
h(E-1)max is the maximum difference between the second-to-last and last extrema.
Those patterns are pre-formed at the stage of tuning or “teaching” device 1, which will be described below, and are stored as reference values in the memory of said computing device 9.
The time boundaries of individual motor acts are identified consecutively for all available patterns at step 106 (see
Further on, within the time boundaries of motor act defined at step 106, the difference of adjacent extrema is determined (step 108), for example, from h1 to h4 for five extrema, as illustrated by the example in
To form patterns, device 1 is attached to human body in the same manner as it will be used in future to determine motor activity type, for example, on the wrist, as shown in
In pattern forming mode (see
Thereafter, the average duration of a given type motor act is measured (step 207) based on the number of performed motor acts of a given type (step 206). In particular, the plot from
Thereafter, the number of extrema per motor act is identified. As follows from
The above operations are performed in cycles: START (the beginning of cycle) corresponds to the position of a first local minimum (step 208), END indicates the position of the next local minimum spaced from the first local minimum (START position) by approximately the motor act duration (step 209). During the next step (210), the number of extrema within the motor act, motor act duration, and difference between the adjacent extrema within the motor act are determined. Those parameters are stored as initial reference values for the first pattern in a subset of walking patterns. Next, a checkout is performed (step 212) to see if other minima of acceleration vector magnitudes can be found within the approximate duration of a given type motor act. If another local minimum is detected, the cycle reverses to the beginning and the above mentioned process of specifying the number of extrema per given motor act, measuring the motor act duration and finding the difference between adjacent extrema within the motor act is repeated. Here, the beginning of cycle (START) corresponds to the position of the last local minimum related to the previous motor act.
The results are saved as next reference values. The process is repeated until no local minima in the time array of acceleration vector magnitudes is found at step 212.
A pattern subset for a given type of motor activity is finally formed as follows. The parameters stored at step 210 are sorted into groups having the same number of extrema, with the number of such groups being determined by the number of patterns in the subset. Minimum and maximum values of motor act duration Tmin and Tmax respectively, are determined for each group with the number of extrema equal to E, as well as minimum and maximum values of difference between adjacent extrema: h(1)min, h(1)max, . . . , h(E-1)min, h(E-1)max. Those parameters are accepted as reference. For example, for the case illustrated in
A more detailed illustration of how the method proposed by the claimed invention can be implemented is given in
As described above, at first, acceleration vector magnitude is calculated (step 302) based on accelerometer signals xi, yi, zi (step 301) and smoothed (step 303). Further on, a time array of acceleration vector magnitudes is formed (step 304) and local extrema of acceleration vector magnitudes are determined (step 305).
The process of determining types of motor activity consists of cyclic comparisons of the time array of acceleration vector magnitudes with patterns. This process is performed in a manner described above and referenced to
As a result, one, two or no patterns are selected after all of them were examined. Thereafter, the final selection from revealed “candidates” is made or type of motor act is identified, optionally taking into account the deviation of difference between adjacent extrema from the average statistical values of the pattern.
An additional assessment of the deviation of those parameters from the statistical pattern values of may be made to enhance the reliability of motor activity type identification. An example of estimating the dispersion of accelerometer signals xi, yi, zi, is given in
D=(6−5)2+(1,5−1)2+(1−1)2=1,25.
The lower is value D , the more the performed motor act corresponds to the given pattern.
The final steps for determining the type of motor activity are described in
Further on, a checkout is performed to see if any other extrema can be found in the acceleration magnitude array (step 318). If none is detected, the process of determining the type of human motor activity is completed, and relevant counters store the information about the number of motor acts of a particular type identified. This information, taken as a whole, makes it possible to determine the type of human motor activity within a particular time interval.
If the results of step 314 show that no candidate pattern was identified at step 312, next extremum of acceleration magnitude is considered (step 320). Again, a checkout is performed to see if other extrema of acceleration magnitude are present (step 318). If none is detected, the identification of motor activity type is completed. If other extrema are found in acceleration magnitude array, the pattern counter is reset (step 321) and step 307 is undertaken again (see
If necessary, the user can switch to pattern updating mode. This may be required, for example, if device 1 is attached to the other arm or a different place on user's body, or when it changes users. Updating of patterns may be required to identify motor activity types when the user moves is a specific manner.
A block diagram of the operation algorithm of device 1 in pattern updating mode is shown in
Initially, the number of extrema in said fragment of acceleration vector magnitude array is identified (step 402). Thereafter, a checkout is performed (step 403) to see if any other previously formed patterns of the subset have the same number of extrema. If none is detected, a new pattern is formed (step 404) for a given pattern subset. In this case, the reference values include: for reference number of extrema: a new number of extrema; for reference minimum and maximum motor act duration: fragment duration; for minimum and maximum difference between adjacent extrema: corresponding differences between adjacent extrema of a given fragment of acceleration vector magnitude array. This marks the completion of new pattern formation. Its reference values regarding motor act duration range and the range of difference between adjacent extrema will be adjusted in future.
If step 403 establishes that among previously formed patterns of a given subset there exists a pattern with a number of extrema E equal to that found in analyzed fragment of acceleration vector magnitude array, its reference values need updating. At first, the fragment duration, i.e., the duration of motor act (step 405) is evaluated, and then (step 406) the difference between adjacent extrema of acceleration vector magnitudes is calculated. Further on, a checkout is performed (step 407) to see if the calculated motor act duration and difference between adjacent extrema fit into the ranges of reference values: Tmin, Tmax, and also h(1)min, h(1)max, . . . , h(E-1)min, h(E-1)max. If so, the statistical data of the pattern are updated: at step 408. M(xi), M(yi), M(zi). If at least one of the obtained values of motor act duration and difference between adjacent extrema does not fit into the range of corresponding reference value, step 409 is performed to expand said range of values by changing the corresponding value from Tmin, Tmax, or h(1)min, h(1)max, . . . , h(E-1)min, h(E-1)max, after which the statistical data M(xi), M(yi), M(zi) of the pattern are updated. Accelerometer signals (step 410) are used to update the statistical data of the pattern. This marks the end of pattern updating.
The method for determining types of human motor activity in accordance with the claimed invention makes it possible to identify not only walking or running as described in examples above, but other types of movement too, for example, jumping or motionless resting. Identification of such types of motor activity as “vertical arm swing” or “horizontal arm swing” can be used, among other, to determine the type of physical exercise or actions being performed by a person. The proposed method can be used in a variety of applications. Checking the condition of user's body, for example, by monitoring user's motor activity seems the most promising application for this method.
The described device intended for implementing the proposed method can be manufactured as a wristband that identifies types of movement, counts the number of motor acts performed and monitors user's health. The invention can be embodied as a separate gadget or as a system comprising a man-wearable device equipped with acceleration sensors and acceleration signal processing circuit, mobile communication means, and an external database.
Number | Date | Country | Kind |
---|---|---|---|
2015108821 | Mar 2015 | RU | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/RU2016/000098 | Feb 2016 | US |
Child | 15702860 | US |