METHOD FOR DETECTING GAIT EVENTS BASED ON ACCELERATION
20220346670 · 2022-11-03
Inventors
Cpc classification
A61B5/6801
HUMAN NECESSITIES
A61B5/7282
HUMAN NECESSITIES
A61B2562/0219
HUMAN NECESSITIES
International classification
Abstract
A method for detecting gait events based on acceleration, comprising the following steps: obtaining a three-axis acceleration energy signal and a three-axis acceleration signal, and filtering and smoothing the three-axis acceleration energy signal and the three-axis acceleration signal; using a peak detection and a zero-crossing detection to screen points of local maximum and exceeding the peak threshold from processed vertical acceleration signal to form a point set ZC2; for any point ZC.sub.k in the point set ZC2, searching for the maximum value of the AP acceleration within a preset search window centered on the abscissa of the point ZC.sub.k. By only analyzing three-axis acceleration data for gait event recognition, the utilization of hardware resources is improved, the number of sensors is reduced, the accuracy of gait event detection is improved, and the consumption of computing resources is reduced.
Claims
1. A method for detecting gait events based on acceleration, comprising the following steps: S1, obtaining a three-axis acceleration energy signal and a three-axis acceleration signal, and filtering and smoothing the three-axis acceleration energy signal and the three-axis acceleration signal, a three-axis acceleration includes an anteroposterior acceleration, a vertical acceleration and a medio-lateral acceleration; S2, using a peak detection and a zero-crossing detection to screen points of local maximum and exceeding the peak threshold from processed vertical acceleration signal to form a point set ZC2; and S3, for any point ZC.sub.k in the point set ZC2, searching for the maximum value of the AP acceleration within a preset search window centered on the abscissa of the point ZC.sub.k, then a time corresponding to this value is the time when a heel strike, and a time corresponding to the nearest wave trough to the right of a value is the time when a toe off.
2. The method for detecting gait events based on acceleration according to claim 1, wherein filtering and smoothing the three-axis acceleration energy signal comprise: using three Gaussian filters with different standard deviation σ to filter a three-axis acceleration energy signal e(i), then get three filtered signals e.sub.σ1 (i), e.sub.σ2(i), e.sub.σ3(i); and σ1<σ2<σ3; multiplying the three filtered signals eσ1 (i), e.sub.σ2(i), and e.sub.σ3(i) to obtain an output signal p.sub.e(i); and subtracting the filtered signal e.sub.σ3(i) of the output signal p.sub.e(i) to obtain a signal s.sub.e(i).
3. The method for detecting gait events based on acceleration according to claim 1, comprising values of σ1, σ2, and σ3 that are determined by steptime, and a value range of steptime is from Tmin to Tmax.
4. The method for detecting gait events based on acceleration according to claim 1, wherein: σ.sub.1=Tmin/4, σ.sub.2=(Tmin+Tmax)/4, σ.sub.3=Tmax/4.
5. The method for detecting gait events based on acceleration according to claim 1, comprising filtering and smoothing the three-axis acceleration signal: using two σ different Gaussian filters to filter the vertical acceleration y(i) in the three-axis acceleration signal to obtain signals y.sub.σ4(i) and y.sub.σ5(i); σ.sub.4<σ.sub.5; and calculating a signal S.sub.y(i), s.sub.y(i)=y.sub.σ4 (i)y.sub.σ5(i).
6. The method for detecting gait events based on acceleration according to claim 1, comprising using the peak detection and the zero-crossing detection to screen the points of local maximum and exceeding the peak threshold from processed vertical acceleration signal to form a point set ZC2: performing the peak detection and the zero-crossing detection on the signal S.sub.y(i) to obtain a peak point set PK.sub.sy and a zero-crossing point set ZC; eliminating a zero-crossing point in the set ZC with an ordinate from positive to negative, and get a set ZC1; and setting the peak threshold and filtering the zero-crossing points in the set ZC1: If an abscissa difference between a zero-crossing point ZC.sub.k in the set ZC1 and a nearest peak point on the right is less than a preset value and an amplitude of the nearest peak point is greater than the peak threshold, the zero-crossing point ZC.sub.k is extracted to form a set ZC2.
7. The method for detecting gait events based on acceleration according to claim 1, wherein the peak threshold value is L times a maximum peak point amplitude of the signal s.sub.e(i) obtained after filtering and smoothing the three-axis acceleration energy signal, and the value range of L is from 0.45 to 0.65.
8. A device to detect gait events based on acceleration, wherein: signal acquisition and preprocessing module, obtaining the three-axis acceleration energy signal and the three-axis acceleration signal, and filter and smooth the three-axis acceleration energy signal and the three-axis acceleration signal, a three-axis acceleration includes the forward and backward acceleration, the vertical acceleration and the lateral acceleration; filter module, using the peak detection and the zero-crossing detection to screen points that are locally largest and exceed the peak threshold in the processed a vertical acceleration signal to form the point set ZC2; and positioning module, for any point ZC.sub.k in the point set ZC2, search for the maximum value of the anteroposterior acceleration within a preset search window centered on the abscissa of the point ZC.sub.k, then the time corresponding to this value is the time HS, and the time corresponding to the nearest wave trough to the right of the value is the TO.
9. An electronic device, wherein: a memory used to store computer software programs; and a processor used to read and execute the computer software program stored in the memory to realize the detecting gait events based on acceleration method of claim 1.
10. A non-volatile computer-readable storage medium, wherein the storage medium stores a computer software programmer for implementing the detecting gait events based on acceleration method of claim 1.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0033]
[0034]
[0035]
[0036]
[0037]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0038] The disclosure will be further described in detail below with reference to the embodiments and drawings. The exemplary embodiments of the present disclosure and the description thereof are only used to explain the present disclosure, not as a limitation of the present disclosure.
[0039] Basic calculation principles of running dynamic parameters:
[0040]
GCT=Tor-HSr
VVI=½gt2,t=½(HS1-Tor)
[0041] Since a Tsample interval of two consecutive acceleration sensors is very short, the movement in this time period can be regarded as uniformly accelerated motion when calculating the step, from the initial moment, the initial velocity is v.sub.σ, and the velocity after the ith sampling is vi=aAP×Tsample+vi-1, then the movement distance si=½(vi+vi-1) in the ith sampling interval Tsample, so it can be derived:
Step=Σ.sub.i=1 .sup.(HSl-HSr)T.sub.samplesS.sub.i
[0042] The time interval between two consecutive HS is the step time (seconds):
steptime=HS(i)−HS(i−1)
[0043] Step frequency is the number of steps taken in one minute (60 seconds):
step_fre=60/steptime
[0044] Average step time of n steps (steptime.sub.average):
[0045] Average n step frequency (step_fre.sub.average):
step_fre.sub.average=60/steptime.sub.average
Embodiment 1
[0046] The present embodiment provides the method for detecting a gait event based on acceleration. Define the identification criteria of HS and TO: in the AP acceleration signal, the relevant maximum peak is the time when the HS event occurs, and the local minimum peak in a small neighborhood after the HS event occurs is the time when the TO event occurs.
[0047] However, there are many local maximums and local minimums in the AP acceleration signal. As shown in
[0048] S1: acquiring a three-axis acceleration energy signal e(i) and a three-axis acceleration signal at time i, and perform filtering and smoothing processing on the three-axis acceleration energy signal and the three-axis acceleration signal;
[0049] the three-axis acceleration including the AP acceleration x(i), the VT acceleration y(i), and the ML acceleration z(i); the sampling times of x(i), y(i), and z(i) are the same, and the abscissa is uniform, the three-axis acceleration energy signal in this example refers to the amplitude of the vector sum of the three-axis acceleration measured by the sensor, because the individual step lengths are different, the e(i) signal is filtered and smoothed by 3 Gaussian filters with different parameters to obtain 3 filtered signals e.sub.σ1 (i), e.sub.σ2(i), e.sub.σ3(i);
[0050] the values of the Gaussian filter parameters σ1, σ2, and σ3 are determined by the predetermined steptime range. The larger the σ, the stronger the smoothing effect produced by the Gaussian filter. The value range of steptime steptime is from Tmin toTmax, Tmin is the minimum value of steptime, and Tmax is the maximum value of steptime. The values of a of the three Gaussian filters are as follows: σ.sub.1=Tmin/4, σ.sub.2=(Tmin+Tmax)/4, σ.sub.3=Tmax/4;
[0051] in order to retain most of the energy of the energy signal, suppress noise as much as possible, multiplying the three filtered signals e.sub.σ1(i), e.sub.σ2(i), and e.sub.σ3(i) to obtain an output signal p.sub.e(i), and then subtracting the filtered signal e.sub.σ3(i) from the output signal p.sub.e(i) to obtain the signal s.sub.e(i), which contains a lot of energy and is very close to HS.
[0052] S2, using two different a Gaussian filters to filter the vertical acceleration y(i) in the three-axis acceleration signal to obtain the signals y.sub.σ4(i) and y.sub.σ5(i); in this embodiment, σ.sub.4=50 ms, σ.sub.5=100 ms;
[0053] comparing y.sub.σ4(i) with the anteroposterior acceleration signal z(i), it is found from experience that the HS event occurs between the local maximum value of y.sub.σ4(i) and the previous local minimum value, the signal curves of y.sub.σ4(i) and y.sub.σ5(i) intersect at a point between the local maximum and the local minimum, using zero-crossing detection and subtracting the two signals to get S.sub.y(i), S.sub.y(i)=y.sub.σ4(i)−y.sub.σ5(i), to find the abscissa of the intersection of the two signals of y.sub.σ4(i) and y.sub.σ5(i),and then finding the intersection of S.sub.y(i) and the y-axis.
[0054] S3, using the peak detection and the zero-crossing detection to screen points of local maximum and exceeding the peak threshold from processed vertical acceleration signal to form a point set ZC2;
[0055] performing the peak detection and the zero-crossing detection on the signal S.sub.y(i) to obtain the peak point set PK.sub.sy and the zero-crossing point set ZC;
[0056] eliminating the zero-crossing points with the ordinate from positive to negative in the set ZC, and get the set ZC1;
[0057] filtering out the small amplitude peaks caused by noise, the peak threshold is set to be L times the maximum peak point amplitude of the signal s.sub.e(i). The value of L is determined based on experience. The general value range is from 0.45 to 0.65. In this embodiment, the peak threshold is 0.51 times the amplitude of the maximum peak point, and the corresponding amplitude is 0.13;
[0058] detecting the abscissa difference between the zero-crossing point ZC.sub.k in the set ZC1 and the nearest peak point on the right in S.sub.y(i), if the abscissa difference between the zero-crossing point ZC.sub.k in the set ZC1 and the nearest peak point pi on the right side |pi-ZC.sub.k|<TH and the amplitude of the peak point pi is greater than the peak threshold, then the zero-crossing point ZC.sub.k is extracted to form a set ZC2;
[0059] what needs to be explained is that TH is a preset threshold to determine a search range to ensure the completeness and accuracy of the gait event detection results. There are many zero-crossing points in the signal S.sub.y(i), and the value of TH is related to the average value of the distance between adjacent zero-crossing points. For example, TH can be ⅓ of the average value of the distance.
[0060] S4, for any point ZC.sub.k in the point set ZC2, searching for the maximum value of the AP acceleration within the preset search window centered on the abscissa of the point ZC.sub.k, then the time corresponding to this value is the heel strike (HS) time. The moment corresponding to the right nearest wave trough is the TO moment;
[0061] the preset search window range here is (ZC.sub.k-TH, ZC.sub.k+TH);
[0062] locating the time of the HS and TO events, the following methods can be used to derive and calculate the running parameters: [0063] 1. Judging algorithm for left and right feet:
[0064] taking an abscissa of the first m (m is odd) peak points of the X axis to form an array [t1, t2, t3 . . . tm], and taking the abscissas of all the peak points of the Y axis to form an array [T1, T2, T3 . . . Tn], build m new arrays based on the above two arrays:
[0065] [T1-t1, T2-t1, T3-t1 . . . Tn-t1],
[0066] [T1-t2, T2-t2, T3-t2 . . . Tn-t2],
[0067] [T1-tm, T2-tm, T3-tm . . . Tn-tm];
[0068] taking an absolute value of all the elements of m arrays, and find a serial number of the smallest number in each array, according to the parity classification of the serial number, the number of odd serial numbers and the number of even serial numbers are counted, if the number of odd numbers is greater than the number of even numbers, the peak point with the odd number on the Y axis corresponds to the HSr; if the number of odd numbers is less than the number of even numbers, the peak point with an even number on the Y axis corresponds to the HSr; [0069] 2. Grounding contact balance algorithm;
[0070] the purpose of bottom-bottom balance detection is to detecting the stress on the feet of the runner and avoiding injury to the legs during running;
[0071] in an array composed of 2K consecutive ground contact times, the algorithm for ground contact balance is: the sum of odd numbered ground contact times divided by the sum of all ground contact times:
Embodiment 2
[0072] The embodiment of objective provides a method for detecting gait events based on acceleration, as shown in
[0073] signal acquisition and preprocessing module, which is used to acquire the three-axis acceleration energy signal and the three-axis acceleration signal, and perform filtering and smoothing processing on the three-axis acceleration energy signal and the three-axis acceleration signal; the three-axis acceleration includes the AP acceleration, the VT acceleration and the ML acceleration;
[0074] filter module, using the peak detection and the zero-crossing detection to screen points of local maximum and exceeding the peak threshold from processed vertical acceleration signal to form a point set ZC2;
[0075] positioning module, for any point ZC.sub.k in the point set ZC2, searching for the maximum value of the forward and backward acceleration within a preset search window centered on the abscissa of the point ZC.sub.k, then the time corresponding to this value is the time HS, and the time corresponding to the nearest wave trough to the right of the value is the TO.
Embodiment 3
[0076] The embodiment of the disclosure provides an electronic device including the memory and the processor; the memory's inner store including a computer software program; a processor reads and executes the computer software program stored in the memory to realize an acceleration-based gait Event detection method, realizing an acceleration-based gait event detection method, comprising the following steps:
[0077] S1, obtaining the three-axis acceleration energy signal and the three-axis acceleration signal, and filtering and smoothing the three-axis acceleration energy signal and the three-axis acceleration signal, the three-axis acceleration includes the anteroposterior (AP) acceleration, the vertical (VT) acceleration and the medio-lateral (ML) acceleration;
[0078] S2, using the two Gaussian filters with different a to filter the vertical acceleration y(i) in the three-axis acceleration signal to obtain signals y.sub.σ4(i) and y.sub.σ5(i);
[0079] S3, using the peak detection and the zero-crossing detection to screen points of local maximum and exceeding the peak threshold from processed vertical acceleration signal to form a point set ZC2;
[0080] S4, for any point ZC.sub.k in the point set ZC2, searching for the maximum value of the AP acceleration within the preset search window centered on the abscissa of the point ZC.sub.k, then the time corresponding to this value is the HS time, the moment corresponding to the right nearest wave trough is the TO;
[0081] what should be noted is that, in the foregoing embodiments, the description of each embodiment has its own focus, and for parts that are not described in detail in an embodiment, reference may be made to related descriptions of other embodiments.
[0082] People who skilled in the art should understand that the embodiments of the present disclosure can be provided as a method, a system, or a computer program product, therefore, the objection may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware, moreover, the objection may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to a disk storage, a CD-ROM, an optical storage, etc.) containing computer-usable program codes.
[0083] The disclosure is described with reference to flowcharts and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each process and/or block in the flowchart and/or block diagram, and the combination of processes and/or blocks in the flowchart and/or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing equipment to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing equipment are generated for A device that implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
[0084] The computer program instructions can also be stored in a computer-readable memory that can boot a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device. The device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
[0085] The computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment. The instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.
[0086] Although the preferred embodiments of the objection have been described, those skilled in the art can make additional changes and modifications to these embodiments once they learn the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present disclosure.
[0087] Obviously, people who skilled in the art can make various changes and modifications to the present disclosure without departing from the spirit and scope of the present disclosure. In this way, if these modifications and variations of the present disclosure fall within the scope of the claims of the present disclosure and equivalent technologies, the present disclosure is also intended to include these modifications and variations.