Acceleration Feature Extraction of Human Body Based on Wearable Devices

: Wearable devices used for human body monitoring has broad applications in smart home, sports, security and other ﬁelds. Wearable devices provide an extremely convenient way to collect a large amount of human motion data. In this paper, the human body acceleration feature extraction method based on wearable devices is studied. Firstly, Butterworth ﬁlter is used to ﬁlter the data. Then, in order to ensure the extracted feature value more accurately, it is necessary to remove the abnormal data in the source. This paper combines Kalman ﬁlter algorithm with a genetic algorithm and use the genetic algorithm to code the parameters of the Kalman ﬁlter algorithm. We use Standard Deviation (SD), Interval of Peaks (IoP) and Difference between Adjacent Peaks and Troughs (DAPT) to analyze seven kinds of acceleration. At last, SisFall data set, which is a globally available data set for study and experiments, is used for experiments to verify the effectiveness of our method. Based on simulation results, we can conclude that our method can distinguish different activity clearly.


Introduction
In recent years, wearable devices provide great convenience for the collection of human body acceleration data. With the rapid development of pervasive computing, the research of human activity recognition and behavior monitoring have attracted more and more attention [1,2]. The study of human behavior monitoring mainly includes behavior perception, data collection, behavior modeling and behavior analysis [3][4][5][6]. Currently, there are two main forms of human body monitoring: (1) Video based body monitoring. The behavior monitoring method based on video images is used to recognize human activities by observing the image sequence taken by the camera [7][8][9]. However, visual tools such as cameras are usually fixed and are more suitable for indoor use. There are many limitations to the use of video image-based behavior monitoring for behaviors that penetrate indoors and outdoors and in different locations. For example, it is difficult to deploy and can be easily blocked by objects. Its identification and data processing methods rely heavily on the external environment and are highly intrusive to the privacy of human activities.
In addition, if a more accurate identification rate is required, the requirements for data sources are higher. (2) Sensor based body monitoring [10,11]. With the development of micromachines, sensors can sense more and more content with low costs. Wearable devices can be attached to the human body and move with people, thus providing continuous monitoring without interfering with the normal activities of the wearer. Considering this advantage, many researchers are more inclined to use sensors as human body data algorithm. Then, we define Standard Deviation (SD), Interval of Peaks (IoP) and Difference between Adjacent Peaks and Troughs (DAPT) to distinguishing the feature value of different motions. The rest of the paper is organized as follows: Datasets and acceleration feature extraction method are proposed in Section 2. In Section 3, some experiments have been done to verify the analysis results. In Section 4, we make some conclusions.

Methods
In the process of human behavior recognition, firstly, the original data of human body acceleration is obtained from the human body sensor, and then a series of processing is carried out on the original data to generate the behavior feature vector. The processing methods include filtering, smoothing, segmentation, data feature extraction, etc. Then the classifier is used to classify the behavior feature vector. Although the data processing methods of different recognition methods are different, their basic system framework is roughly the same from the macro perspective, and they are operated on the basis of sensor signal sequence.

Datasets
The difference of human body movements, number of sensor nodes and sensor placement produces different data sets. In order to facilitate the algorithm design and analysis, researchers have created some standard data sets for this issue. In this paper, we chose the globally available SisFall dataset for study and experiments. The SisFall dataset used a gyroscope and two acceleration sensors to obtain data from a sample of 4, 505 activities from 38 subjects. As shown in Figure 1, the wearable device is fixed at the waist of the tester, because the waist is easy to wear. The three-axis acceleration sensor can measure the acceleration in three directions, the front direction of the subject is the positive direction of X axis, the gravity direction is the positive direction of Y axis and the right side of the subject is the positive direction of Z axis. The data in SisFall are listed in Table 1 [29].
between Adjacent Peaks and Troughs (DAPT) to distinguishing the featur ferent motions.
The rest of the paper is organized as follows: Datasets and accelerat traction method are proposed in Section 2. In Section 3, some experiments h to verify the analysis results. In Section 4, we make some conclusions.

Methods
In the process of human behavior recognition, firstly, the original d body acceleration is obtained from the human body sensor, and then a serie is carried out on the original data to generate the behavior feature vector. T methods include filtering, smoothing, segmentation, data feature extraction classifier is used to classify the behavior feature vector. Although the d methods of different recognition methods are different, their basic system roughly the same from the macro perspective, and they are operated on the signal sequence.

Datasets
The difference of human body movements, number of sensor nodes an ment produces different data sets. In order to facilitate the algorithm desig researchers have created some standard data sets for this issue. In this pa the globally available SisFall dataset for study and experiments. The SisFa a gyroscope and two acceleration sensors to obtain data from a sample of 4 from 38 subjects. As shown in Figure 1, the wearable device is fixed at th tester, because the waist is easy to wear. The three-axis acceleration senso the acceleration in three directions, the front direction of the subject is the tion of X axis, the gravity direction is the positive direction of Y axis and th the subject is the positive direction of Z axis. The data in SisFall are listed i    Sit→get up slowly in a half-high chair 5 12 D08 Sit→get up quickly in a half-high chair 5 12 D09 Sit→get up slowly in a low chair 5 12 D10 Sit→get up quickly in a low chair 5 12 D11 Jump up 5 12

Pre-Processing
The pre-processing of data is very important to the performance of the acceleration feature extraction method. The pre-processing must be simple and efficient. In order to remove the high frequency noise superimposed on the source data, we use the Butterworth filter to pre-processing the source data.
The system function G(z) of the Butterworth filter can be calculated by Equation (1): The cut-off frequency is calculated by Equation (2): where R p is the maximum allowable attenuation of the passband, A s is the minimum attenuation required for the stopband, and F p is the value after the precorrection of the passband cutoff frequency. Then, according to the value of the filter order, the normalized system function Gan(s) is calculated in Equation (3): When Ω = 0, let |Gan(s)| = 1 to determine the value of d 0 , and when a 0 = 1, let d 0 = a 0 = 1.
At last, let s = s/F c , and convert it into a system function Ga(s) of a low pass filter: The process of filtering with Butterworth filters is the process of solving Equation (5): In Equation (5), a k and b m are the system array of numerator and denominator of system function G(z), sequence x(n) is the signal sequence before filtering, and sequence y(n) is the signal sequence after filtering. When a 0 = 1, x(n) and y(n) have the same length. The above equation is simplified as Equation (6): When k < 0, x(k) = 0, y(k) = 0, the value of the sequence y(n) can be obtained after iteration. Parameter settings of Butterworth filter is shown in Table 2 [29,30].

KGA Algorithm
As the Butterworth filter cannot remove all noise points, to further smooth the source data, we combine the genetic algorithm with the Kalman filtering algorithm. By using the genetic algorithm to encode the parameters in the Kalman filter, we proposed KGA algorithm. This method consists of three steps: initialization stage, the optimization stage and the result output stage, and its flow is shown in Figure 2.

KGA Algorithm
As the Butterworth filter cannot remove all noise points, to further smooth the source data, we combine the genetic algorithm with the Kalman filtering algorithm. By using the genetic algorithm to encode the parameters in the Kalman filter, we proposed KGA algorithm. This method consists of three steps: initialization stage, the optimization stage and the result output stage, and its flow is shown in Figure 2. (1) Initial stage  In the initial operation of Kalman filtering algorithm, the parameters of Kalman filtering algorithm are generated in a random manner, which allows the subsequent genetic algorithm to encode the initial values. The calculation process of the Kalman filter algorithm [31] is as follows: First of all, we introduce a linear stochastic differential equation, as shown in Equation (7): where, Y(k) is the system state at time k, U(k) is the control quantity of system at k time, M, N is the system parameter value and ϕ(k) represents process noise. The system measurement value G(k) at k time can be calculated by Equation (8): where, I is the measurement system parameter, θ(k) is the measurement noise. Let the covariance of ϕ(k) and θ(k) be Q and R.
Suppose that the current system state is k, according to system model, the current system state can be predicted from the state of the system at the last moment, according to Equation (9), where, Y(k|k − 1) is the predicted result using the previous state and Y(k − 1|k − 1) is the optimal result of the previous state. U(k) is the control quantity of the current state which can be set to zero if there is no control quantity. The covariance C corresponding to Y(k|k − 1) should also be updated after updating the system results, as shown in Equation (10): and M is the transformation matrix of M.
Equations (9) and (10) are predicted values of the current system. The optimal estimates of the current state can be derived by combining the predicted values with the measured values of the current state: where, Kg(k) is the Kalman gain, as shown in Equation (12): Finally, the covariance value needs to be updated so that the Kalman filter will keep running until the end of the system process. The updated equation is shown in Equation (13): where, E is the unit matrix.
The prediction results of initial stage are taken as the input values of fitness function in the next stage.

Optimization Stage
In this stage, genetic algorithm is used to optimize each parameter of Kalman filtering algorithm, each individual in the population contains all the parameters of Kalman filtering algorithm. In this paper, the fitness value is represented by the difference between the source data and the output value of initial Kalman filter. The process of genetic algorithm [14] is as follows: Energies 2021, 14, 924 7 of 17 (a) Selection operation. Select the best individuals from all the generated populations or generate new populations for inheritance, then evaluate them primarily by the fitness F i of each population. Make selection by method of roulette, so that the selection probability P i of each population individual can be expressed as: (b) Crossover operation. Randomly select two population individuals for exchange and combination. Suppose the two populations are x and y respectively, and their crossing at i position can be expressed as: where, rand() is a random number between 0 and 1. (c) Mutation operation. One individual population is selected randomly from all the generated populations for mutation operation. The variation of individual x at i position can be expressed as: If rand() > 0.5 If rand() = 0.5 or rand() < 0.5 where, x max and x min represent the upper and lower bounds of an individual separately, s and S is the current hereditary algebra and the total hereditary algebra. The genetic algorithm calculates the new fitness value after mutation operation. If the genetic algebra reached the setting values, the optimization result of Kalman filter can be got. Otherwise, the algorithm will continue the previous loop operation.

Feature Extraction
Feature extraction is very important in human behavior monitoring. Its goal is to extract parameters that can identify human behavior. Generally speaking, two methods have been proposed to extract features from time series data: statistical method and structural method. Statistical methods use quantitative features of data to extract features, while structural methods consider the relationship between data [29,30,32].
The feature values used in human behavior monitoring methods are extracted from accelerometers, gyroscopes, pressure sensors and so on, which are widely used in human behavior monitoring methods. However, it is still a problem that how to select the characteristic value to ensure the most convenient data processing and achieve the optimal recognition effect for the specific human activity to be monitored. This paper only considers the acceleration changes of a certain action. First of all, the acceleration amplitude was used to describe different body motion. Since accelerations are vectors, their superposition value at a certain moment can be calculated by Equation (18): where, acc x , acc y , acc z represents the acceleration value in the x axis, y axis, and z axis directions respectively. Taking D01 for example, as shown in Figure 3, the horizontal ordinate indicates time and the vertical ordinate indicates the acceleration value.  Other repetitive motion such as walking and running are all regular exercis graphical form of their acceleration data is similar to Figure 3. The difference lie intensity of exercise, stride size and stepping frequency. So, we propose Standard tion (SD), Interval of Peaks (IoP) and Difference between Adjacent Peaks and T (DAPT) to distinguishing the feature value of different motions.
(1) Standard Deviation The degree of dispersion of the dataset can be expressed by the standard de When human moves, the acceleration will increase accordingly, and the corresp standard deviation will also have different values due to different types of motion fore, using the standard deviation can clearly distinguish the static state of the body from the motion state. We can calculate standard deviation by Equation (19) Among them, is the number of data, and is the mean value of all the da (2) Interval of Peaks Since the human body's stride frequency changes with different activities, going up and down stairs. Therefore, the interval between two adjacent peaks is u distinguishing the kind of motion. As shown in Equation (20): is the time when a certain wave peak appears, is the time when t Other repetitive motion such as walking and running are all regular exercises. The graphical form of their acceleration data is similar to Figure 3. The difference lies in the intensity of exercise, stride size and stepping frequency. So, we propose Standard Deviation (SD), Interval of Peaks (IoP) and Difference between Adjacent Peaks and Troughs (DAPT) to distinguishing the feature value of different motions.

Standard Deviation
The degree of dispersion of the dataset can be expressed by the standard deviation. When human moves, the acceleration will increase accordingly, and the corresponding standard deviation will also have different values due to different types of motion. Therefore, using the standard deviation can clearly distinguish the static state of the human body from the motion state. We can calculate standard deviation by Equation (19): Among them, N is the number of data, and µ is the mean value of all the data.

Interval of Peaks
Since the human body's stride frequency changes with different activities, such as going up and down stairs. Therefore, the interval between two adjacent peaks is used for distinguishing the kind of motion. As shown in Equation (20): where, T t−k is the time when a certain wave peak appears, T t is the time when the next wave peak adjacent to the previous peak and k is the number of sampling points of adjacent peaks.

Difference between Adjacent Peaks and Troughs
The amplitude of human body acceleration changes with different motions. The requirement of real-time is also very high. When extracting feature points, real-time requirements are very important. Therefore, this method will synthesize the extreme points of Sacc. So, we regard the peak and trough value as critical parameters. In the actual data processing process, when a new sampled value is received, it is compared with the previous one. If the turning point doesn't appear, it continues to observe. If there appears a turning point, then this point is the extreme point. We consider the range between adjacent peaks and troughs of Sacc t as the extreme point, which can be calculated in Equation (21): Among them, Sacc t is the value of a certain wave peak or trough, Sacc t−k is the value of the adjacent wave trough and peak, and k is the time between adjacent peak and trough.

Analysis of Filtering Algorithms
In order to verify the validity of KGA, we compared KGA with the Kalman filtering algorithm. These two methods are implemented on the SisFall dataset that shown in Figure 4. The source data range from −5 g to 5 g, and the fluctuation is very large. . So, we regard the peak and trough value as critical parameters. In the actual data processing process, when a new sampled value is received, it is compared with the previous one. If the turning point doesn't appear, it continues to observe. If there appears a turning point, then this point is the extreme point. We consider the range between adjacent peaks and troughs of as the extreme point, which can be calculated in Equation (21): Among them, is the value of a certain wave peak or trough, is the value of the adjacent wave trough and peak, and is the time between adjacent peak and trough.

Analysis of Filtering Algorithms
In order to verify the validity of KGA, we compared KGA with the Kalman filtering algorithm. These two methods are implemented on the SisFall dataset that shown in Figure 4. The source data range from −5 g to 5 g, and the fluctuation is very large. We first use Butterworth filter to deal with the data in Figure 3, and the result is shown in Figure 5. As can be seen from the Figure 5, after the Butterworth filter, the high-frequency data We first use Butterworth filter to deal with the data in Figure 3, and the result is shown in Figure 5. . So, we regard the peak and trough value as critical parameters. In the actual data processing process, when a new sampled value is received, it is compared with the previous one. If the turning point doesn't appear, it continues to observe. If there appears a turning point, then this point is the extreme point. We consider the range between adjacent peaks and troughs of as the extreme point, which can be calculated in Equation (21): Among them, is the value of a certain wave peak or trough, is the value of the adjacent wave trough and peak, and is the time between adjacent peak and trough.

Analysis of Filtering Algorithms
In order to verify the validity of KGA, we compared KGA with the Kalman filtering algorithm. These two methods are implemented on the SisFall dataset that shown in Figure 4. The source data range from −5 g to 5 g, and the fluctuation is very large. We first use Butterworth filter to deal with the data in Figure 3, and the result is shown in Figure 5. As can be seen from the Figure 5, after the Butterworth filter, the high-frequency data has been removed and the low-pass filtered data become flat. The data range from −2 g to 2 g, and the data distribution is more concentrated. As can be seen from the Figure 5, after the Butterworth filter, the high-frequency data has been removed and the low-pass filtered data become flat. The data range from −2 g to 2 g, and the data distribution is more concentrated.
If the Kalman filtering algorithm is not optimized with genetic algorithm, the result of its operation is shown in Figure 6. While the result of the GA algorithm is decoded, and the optimal parameter value obtained is added to the Kalman filtering algorithm formula, the filtering result of this algorithm is shown in Figure 7. If the Kalman filtering algorithm is not optimized with genetic algorithm, the result of its operation is shown in Figure 6. While the result of the GA algorithm is decoded, and the optimal parameter value obtained is added to the Kalman filtering algorithm formula, the filtering result of this algorithm is shown in Figure 7.  As can be seen from the Figure 7, after the low-pass filtered data is processed again, the data range of the two is changed from [−2 g, 2 g] to [−1 g, 0.5 g], the data distribution is more compact, and the acceleration values in the three directions are more distinct. However, the data in Figure 6 fluctuates significantly more and contains more outliers, while the data in Figure 7 is smoother.

Analysis of Running Activity
The simulation takes SisFall as dataset. Figures 8 and 9 are the comparison of jogging and fast running. We randomly select an object from the data set and analyze its motion parameters. As can be seen in Figures 8 and 9, the , , waveforms produced by jogging and fast running are very similar. Since running is a cyclical exercise, the of both of them have regular small peaks and the values are similar. Possible reasons are as follows: the difference between the speeds of jogging and fast running is not obvious enough; wearable device is not firmly worn. However, by analyzing the standard deviation of these two waveforms, it can be seen that the produced by fast running is significantly greater than that produced by slow running. In addition, due to that human body runs faster than jogging, correspondingly, the stepping frequency of fast running is higher than that of jogging, the produced by fast running activities is less than that by jogging activities. If the Kalman filtering algorithm is not optimized with genetic algorithm, the result of its operation is shown in Figure 6. While the result of the GA algorithm is decoded, and the optimal parameter value obtained is added to the Kalman filtering algorithm formula, the filtering result of this algorithm is shown in Figure 7.  As can be seen from the Figure 7, after the low-pass filtered data is processed again, the data range of the two is changed from [−2 g, 2 g] to [−1 g, 0.5 g], the data distribution is more compact, and the acceleration values in the three directions are more distinct. However, the data in Figure 6 fluctuates significantly more and contains more outliers, while the data in Figure 7 is smoother.

Analysis of Running Activity
The simulation takes SisFall as dataset. Figures 8 and 9 are the comparison of jogging and fast running. We randomly select an object from the data set and analyze its motion parameters. As can be seen in Figures 8 and 9, the , , waveforms produced by jogging and fast running are very similar. Since running is a cyclical exercise, the of both of them have regular small peaks and the values are similar. Possible reasons are as follows: the difference between the speeds of jogging and fast running is not obvious enough; wearable device is not firmly worn. However, by analyzing the standard deviation of these two waveforms, it can be seen that the produced by fast running is significantly greater than that produced by slow running. In addition, due to that human body runs faster than jogging, correspondingly, the stepping frequency of fast running is higher than that of jogging, the produced by fast running activities is less than that by jogging activities. As can be seen from the Figure 7, after the low-pass filtered data is processed again, the data range of the two is changed from [−2 g, 2 g] to [−1 g, 0.5 g], the data distribution is more compact, and the acceleration values in the three directions are more distinct. However, the data in Figure 6 fluctuates significantly more and contains more outliers, while the data in Figure 7 is smoother.

Analysis of Running Activity
The simulation takes SisFall as dataset. Figures 8 and 9 are the comparison of jogging and fast running. We randomly select an object from the data set and analyze its motion parameters. As can be seen in Figures 8 and 9, the Sacc, SD, DAPT waveforms produced by jogging and fast running are very similar. Since running is a cyclical exercise, the Sacc of both of them have regular small peaks and the values are similar. Possible reasons are as follows: the difference between the speeds of jogging and fast running is not obvious enough; wearable device is not firmly worn. However, by analyzing the standard deviation of these two waveforms, it can be seen that the SD produced by fast running is significantly greater than that produced by slow running. In addition, due to that human body runs faster than jogging, correspondingly, the stepping frequency of fast running is higher than that of jogging, the IoP produced by fast running activities is less than that by jogging activities.

Analysis of Going up and down Stairs
Going up and down the stairs is a repetitive motion. Figures 10 and 11 are the comparison of slow up and down stairs and fast up and down stairs. By analyzing Figures 10 and 11, the Sacc generated by slow up and down stairs are significantly lower than that by the fast up and down stairs. It can be seen from the Figure 10 that the value of SD generated by slowly going up and down stairs does not exceed 0.1 g, while the SD generated by going up and down the stairs quickly is slightly larger, not exceeding 0.3 g. At the same time, the DAPT of former is also smaller than that of latter. Similar to walking activities, since the human body is slower when going up and down stairs at a slow speed, correspondingly, the stepping frequency of this activity is lower, in terms of data, the IoP is larger.

Analysis of Going Up and Down Stairs
Going up and down the stairs is a repetitive motion. Figures 10 and 11 are the comparison of slow up and down stairs and fast up and down stairs. By analyzing Figures 10  and 11, the generated by slow up and down stairs are significantly lower than that by the fast up and down stairs. It can be seen from the Figure 10 that the value of generated by slowly going up and down stairs does not exceed 0.1 g, while the generated by going up and down the stairs quickly is slightly larger, not exceeding 0.3 g. At the same time, the of former is also smaller than that of latter. Similar to walking activities, since the human body is slower when going up and down stairs at a slow speed, correspondingly, the stepping frequency of this activity is lower, in terms of data, the is larger.

Analysis of Sit-Up Activity
This experiment takes D07 and D08 in Table 1 as examples to analyze the sit-up type activities, as shown in Figure 12. It can be seen from the Figure 13 that their have large fluctuations, but due to the different speeds, the of former has a smaller value. At the same time, there are two large fluctuations in the standard deviation of these two

Analysis of Sit-Up Activity
This experiment takes D07 and D08 in Table 1 as examples to analyze the sit-up type activities, as shown in Figure 12. It can be seen from the Figure 13 that their Sacc have large fluctuations, but due to the different speeds, the Sacc of former has a smaller value. At the same time, there are two large fluctuations in the standard deviation of these two activities.
Corresponding to the two movements of the human body, "sit down" and "get up", since the slow activity is relatively stable. In terms of data, the SD of former is much smaller than that of latter. The difference reached 10 times the order of magnitude. This is because when the human body quickly sits down and rises quickly from a half-height chair, the motion range is larger, the action is more violent, and the corresponding acceleration is greater, and DAPT is also greater.     Figure 14 is the analysis of jump movement. it can be found that the , , and waveforms produced by the jumping motion are very similar to the sit-up motion. Both have large peaks and flat areas, especially the peak interval values are very similar. However, there are obvious differences in certain characteristics between the two actions of sit-up and jumping: although the two are both highly volatile activities, the and are different, because the former has a smoother speed and a smaller acceleration change. Correspondingly, the generated by sit-up activity is smaller than that  Figure 14 is the analysis of jump movement. it can be found that the Sacc, SD, IoP and DAPT waveforms produced by the jumping motion are very similar to the sit-up motion. Both have large peaks and flat areas, especially the peak interval values are very similar. However, there are obvious differences in certain characteristics between the two actions of sit-up and jumping: although the two are both highly volatile activities, the SD and DAPT are different, because the former has a smoother speed and a smaller acceleration change. Correspondingly, the SD generated by sit-up activity is smaller than that by jumping activity. At the same time, the DAPT of the former is smaller, with a value around 0.5 g, while the latter produces a value around 1 g. by jumping activity. At the same time, the of the former is smaller, with a value around 0.5 g, while the latter produces a value around 1 g.

Comparison of Feature Values of Different Motions
In order to intuitively represent Sacc, SD, DAPT and IoP of different motions, Figures 8-14 are the results of feature extraction of an object in the SisFall. To further verify the effectiveness of the extracted feature values, we extract Sacc, SD, DAPT and IoP for all objects in the dataset, and their average peak values are shown in Table 3. It can be seen that the peaks of different feature values can be obviously distinguished.

Comparison of Different Methods
Based on the previously extracted Sacc, SD, DAPT and IoP, and the deep neural network classifier method proposed in literature [33], we classified D01-D11. As shown in Figure 15, we compare our method with literature [5,7]. These three methods are run on SisFall. It can be seen that the method of [5] is slightly better than our method in the identification of D07. However, the recognition effects of our method are better than the other two methods in most cases.

Comparison of Different Methods
Based on the previously extracted Sacc, SD, DAPT and IoP, and the deep neural network classifier method proposed in literature [33], we classified D01-D11. As shown in Figure 15, we compare our method with literature [5,7]. These three methods are run on SisFall. It can be seen that the method of [5] is slightly better than our method in the identification of D07. However, the recognition effects of our method are better than the other two methods in most cases.

Conclusions
Wearable device is a promising method for collecting acceleration data of human body, that can be used for behavior recognition. This paper focused on investigating the feature extraction method based on wearable devices with single acceleration sensor. We associate Kalman filter algorithm with genetic algorithm for data pre-processing, which greatly reduces the amount of calculation. Then, we propose SD, IoP and DAPT as acceleration feature values that can be extracted from processed data sets. The experiments indicate that the source data filtered by KGA algorithm is more compact and the acceler-

Conclusions
Wearable device is a promising method for collecting acceleration data of human body, that can be used for behavior recognition. This paper focused on investigating the feature extraction method based on wearable devices with single acceleration sensor. We associate Kalman filter algorithm with genetic algorithm for data pre-processing, which greatly reduces the amount of calculation. Then, we propose SD, IoP and DAPT as acceleration feature values that can be extracted from processed data sets. The experiments indicate that the source data filtered by KGA algorithm is more compact and the acceleration values in the three directions are more distinct. SD, DAPT and IoP are very obvious for the discrimination of seven different movements.