A Posture Recognition Method Based on Indoor Positioning Technology

Posture recognition has been widely applied in fields such as physical training, environmental awareness, human-computer-interaction, surveillance system and elderly health care. The traditional methods consist of two main variations: machine vision methods and acceleration sensor methods. The former has the disadvantages of privacy invasion, high cost and complex implementation processes, while the latter has low recognition rate for still postures. A new body posture recognition scheme based on indoor positioning technology is presented in this paper. A single deployed indoor positioning system is constructed by installing wearable receiving tags at key points of the human body. The distance measurement method with ultra-wide band (UWB) radio is applied to position the key points of human body. Posture recognition is implemented by positioning. In the posture recognition algorithm, least square estimation (LSE) method and the improved extended Kalman filtering (iEKF) algorithm are respectively adopted to suppress the noise of the distances measurement and to improve the accuracy of positioning and recognition. The comparison of simulation results with the two methods shows that the improved extended Kalman filtering algorithm is more effective in error performance.


Introduction
Human posture recognition is an attractive and challenging topic due to its wide range of applications, e.g., smart home environments for the monitoring of physical activity levels, assessment of recovery phases of living independently, and detection of accidental falls in elderly people [1]. Among these applications, the most important one is the elderly health care due to the population aging in the 21st century. According to the US population report, the aged population (over 65 years old) reached more than 50 million in 2017 [2], which represented 15.41% of the US population. China had an aged population of 158 million (10.64% of its total population) in 2017, and it will become one of the most aging countries in the world [3]. Meanwhile, the empty nest ratio of the elderly is rapidly increasing for various reasons. Therefore, health care for the elderly has become a major concern. Posture recognition is one of the key supporting technologies for health care of the elderly.
Traditional human posture detection methods can mainly be divided into two categories: computer vision [3][4][5][6][7][8][9][10][11][12] and acceleration sensor data analysis [13][14][15][16]. Methods based on acceleration sensors have the disadvantage of complex data processing steps, but their invasion of privacy is is designed based on UWB. The positioning system consists of two parts: a positioning umbrella and receiving tags, as is shown in Figure 1. To facilitate attachment on clothes, the receiving tags are designed to be miniature and hidden. The positioning umbrella is the key component of positioning system. It is made up of core and arms, as shown in Figure 1. The core of the positioning umbrella is composed of a CPU and other control circuit modules such as a communication module, alarm executor module, and location estimation module. The arm of the positioning umbrella connects the UWB radio sender to the central processing unit (CPU), so the senders can work synchronously under the control of the CPU. The UWB module mainly functions as a time of flight (TOF) device for distance measurement. There are several arms in a positioning umbrella system. However, positioning in two-dimensional surface needs at least three arms, and positioning in three-dimensional space requires at least four non-coplanar arms. The more and longer the arms are, the higher the positioning accuracy is [27]. Due to space limitations, the length of arms cannot be infinite. Arms in the system are limited to not more than 1 meter. Meanwhile, the number of arms is limited to eight. Thus, the design can be easy to install and use. As is shown in Figure 1a, the distribution of seven positioning umbrella arms in space can provide position service for any UWB receiving tags in 3-dimensional space.
Powered by a button battery, the receiving tags attached to coats and caps are designed to be very small. In order to ensure low energy consumption, the positioning algorithm should be concise and effective. Positioning algorithms with large computation burdens or long operation time (e.g., particle filters or unscented Kalman filter) do not meet the requirement. In order to make effective use of resources, tags attached to clothes, as is shown in Figure 1b, should be recovered and replaced.

Position Arrangement of Receiving Tags
The Microsoft Kinect technology collects more than 10 key joints of the human body to achieve posture recognition tasks. Similarly, we construct a human body model with 14 segments and 15 joints, as shown in Figure 2. The system applies 14 receiving tags attached to clothes (e.g., coats trousers and caps) in key joints of human body. By this method, we can easily detect human posture, for instance, we can determine it walking or standing by monitoring the position of receiving tags on knee joints. Also we can decide it falling down or sitting by detecting the position of head tag. For some complex postures such as picking up a cell phone, we need to analyze the combination of tags on hand joint, elbow joint and shoulder. We have named each receive tag and its corresponding position in Table 1. In the next two section (Section 2.3 and 2.4), the posture recognition method will be discussed based on these 14 receiving tags and their position arrangements. There are several arms in a positioning umbrella system. However, positioning in two-dimensional surface needs at least three arms, and positioning in three-dimensional space requires at least four non-coplanar arms. The more and longer the arms are, the higher the positioning accuracy is [27]. Due to space limitations, the length of arms cannot be infinite. Arms in the system are limited to not more than 1 meter. Meanwhile, the number of arms is limited to eight. Thus, the design can be easy to install and use. As is shown in Figure 1a, the distribution of seven positioning umbrella arms in space can provide position service for any UWB receiving tags in 3-dimensional space.
Powered by a button battery, the receiving tags attached to coats and caps are designed to be very small. In order to ensure low energy consumption, the positioning algorithm should be concise and effective. Positioning algorithms with large computation burdens or long operation time (e.g., particle filters or unscented Kalman filter) do not meet the requirement. In order to make effective use of resources, tags attached to clothes, as is shown in Figure 1b, should be recovered and replaced.

Position Arrangement of Receiving Tags
The Microsoft Kinect technology collects more than 10 key joints of the human body to achieve posture recognition tasks. Similarly, we construct a human body model with 14 segments and 15 joints, as shown in Figure 2. The system applies 14 receiving tags attached to clothes (e.g., coats trousers and caps) in key joints of human body. By this method, we can easily detect human posture, for instance, we can determine it walking or standing by monitoring the position of receiving tags on knee joints. Also we can decide it falling down or sitting by detecting the position of head tag. For some complex postures such as picking up a cell phone, we need to analyze the combination of tags on hand joint, elbow joint and shoulder. We have named each receive tag and its corresponding position in Table 1. In the next two section (Sections 2.3 and 2.4), the posture recognition method will be discussed based on these 14 receiving tags and their position arrangements.

Structure Vector of Human Body
Feature vectors and classifiers are always constructed to implement pattern recognition. Because receiving tags attached to clothes may differ in position for different persons, it is difficult to express the posture characteristics by the absolute position of receiving tags. Therefore, we introduce structure vectors to reproduce the postures of the human body. Due to the different characteristics of the human body, the structure vectors are constructed by the receiving tags which are attached to different positions of clothes to represent trunk, limbs and motion information. Since motion information is represented by a combination of receiving tags, behavior features can be obtained by calculating the vector modulus and vector angle. Compared to the method with one tag, the combination is a more effective method for posture recognition.
By analyzing the characteristics of human body, the vector by connecting receiving tags attached to the key joints is called structure vector. Suppose the position of the receiving tag attached to the left elbow is , and position of the receiving tag on the left hand is ) , , ( , the vector AB can be expressed as Equation (1): Other body structure vectors are similarly constructed. The combination of 14 key joints of Figure  2 in pairs results in 91 structure vectors, among which some vectors are useless to represent human postures. According to the structure characteristics of human body, the vector acquired by two adjacent joints contains the most abundant information. We choose 10 groups of structure vectors that are most capable of expressing changes in body posture, as shown in Table 2.

Structure Vector of Human Body
Feature vectors and classifiers are always constructed to implement pattern recognition. Because receiving tags attached to clothes may differ in position for different persons, it is difficult to express the posture characteristics by the absolute position of receiving tags. Therefore, we introduce structure vectors to reproduce the postures of the human body. Due to the different characteristics of the human body, the structure vectors are constructed by the receiving tags which are attached to different positions of clothes to represent trunk, limbs and motion information. Since motion information is represented by a combination of receiving tags, behavior features can be obtained by calculating the vector modulus and vector angle. Compared to the method with one tag, the combination is a more effective method for posture recognition.
By analyzing the characteristics of human body, the vector by connecting receiving tags attached to the key joints is called structure vector. Suppose the position of the receiving tag attached to the left elbow is A(x 1 , y 1 , z 1 ), and position of the receiving tag on the left hand is B(x 2 , y 2 , z 2 ), the vector → AB can be expressed as Equation (1): Other body structure vectors are similarly constructed. The combination of 14 key joints of Figure 2 in pairs results in 91 structure vectors, among which some vectors are useless to represent human postures. According to the structure characteristics of human body, the vector acquired by two adjacent joints contains the most abundant information. We choose 10 groups of structure vectors that are most capable of expressing changes in body posture, as shown in Table 2.

Vector Angle Setting
Besides structure vectors, angle relations between some vectors can effectively reflect the motion information. Figure 3 shows an example for the process of falling down. The angle of I lhip-to-heart and I lhip-to-lknee is dynamically changing, and the posture angle θ is changing synchronously. Meanwhile, angles can eliminate the structure vector differences originated from shapes and positions of various people.

Vector Angle Setting
Besides structure vectors, angle relations between some vectors can effectively reflect the motion information.  = ，is defined as a ⋅ and a are respectively expressed as Equation (3) and Equation (4): According to the rule, we select 10 groups of vector angles containing best information that reflects the change of posture, as shown in Table 3. The angle of the two structure vectors, a = (x 1 , y 1 , z 1 ) and b = (x 2 , y 2 , z 2 ), is defined as Equation (2): If |a| = 0 or |b| = 0, then a, b = 0, where a · b and |a| are respectively expressed as Equations (3) and (4): Now, we make the naming rule of vector angles. The angle of vector I relbow−to−rhand and vector I rshulder−to−relbow is defined as θ rshoulder−relbow−rhand . According to the rule, we select 10 groups of vector angles containing best information that reflects the change of posture, as shown in Table 3. Table 3. Posture angles of human body.

Positioning Principles
According to TOF distance measurement principles of UWB, the angles and length of arms in positioning umbrella are known, and the UWB signal transmitting node at the endpoint of each umbrella arm functions as a base station (or an anchor node). The i-th (i∈{1, . . . M}) anchor has its position labeled as P(x i m , y i m , z i m ). The anchor position is obtained once the umbrella is constructed. However, the positions of receiving tags are unknown. They will change with body motion. Since receiving tags move with human posture, their positions need to be estimated. Assuming that the position of the j-th (j∈{1, . . . N}) tag is P(x j n , y j n , z j n ), the distance between the j-th tag and the i-th anchor node can be described in Equation (5), where v is the measurement noise which conforms to Gaussian distribution ( v ∼ N(0, R)), R represents variance of v, and x j n , y j n and z j n are three unknown position parameters. The resolution needs a set of equations with more than four equations similar to Equation (5), as shown in the equation set (6).
Since there are seven arms in the positioning umbrella in Figure 2, the equation set (6) has seven equations. Linear processing of equation set (6) can be made before the three unknown parameters, and x j n , y j n and z j n are resolved by least squares estimation. Once the positions of receiving tags are solved, the structure vectors and angles can also be estimated.

Improved and Extended Kalman Filtering Algorithm
In Equation (5), UWB distance measurement is affected by noise v, which has great influence on positioning accuracy. Therefore, an effective algorithm to suppress the measurement noise must be introduced. Since the algorithm needs to be transplanted to a microprocessor, the data processing methods in the receiving tags can't be too complicated for saving energy. Therefore, concise and effective methods such as least square algorithms and extended Kalman filtering algorithms are adopted in our application.
The position of each receiving tag is constructed as , which is called the state variable. Then state equation of these dynamic receiving tags can be represented as the following equation: where Φ refers to state-driven matrix, Γ stands for noised-driven matrix, and W is white noise with mean value of 0 and the variance of Q (W∼ N(0, Q)). The observation equation is defined in the following form: where Then, extended Kalman filter is adopted to process the distance measurement noise. The detailed processing steps are described as follows: (1) State Prediction:X j n (k + 1|k) = ΦX j n (k|k) (9) (2) Covariance Prediction: (3) Kalman Gain Calculation: The Jacobian matrix derived from Equation (11) is shown in Equation (12): The initial filtering value X(0) = E{X(0)}, and the initial variance matrix P(0) = var{X(0)}. In the filter, e is the Kalman gain, which is calculated from historical data and the latest observation. Too much historical data will lead to cumulative errors. In order to avoid the accumulation of errors, many algorithms such as those described in [28,29] are improved through variable forgetting factors, but it is difficult for them to confirm the values. Therefore, we introduce the rectangular window function to improve the Kalman filter in this paper, as shown in the following form: where f (Y j i (l)) = a 0 + a 1 x + · · · + a k x k , and N is the length of window function with its range 10 ≤ N ≤ 30. Another key improvement for the extended Kalman filter is that the polynomial fitting for the N latest observation Y j i is employed. The fitting equation is shown in the following form: Equation (15) is easy to solve with the coefficient matrix A in Equation (16). Introduction of the window function in the improved algorithm aims at dropping historical data. The smoothed distance obtained by least square polynomial fitting with the latest N observation can help to reduce cumulative errors, and finally to improve the performance of Kalman filter.

Experiment
A sketch map of indoor environment is drawn in Figure 4a. The indoor playground is a square with a width of 10 m and length of 10 m. The positioning umbrella is suspended from the ceiling. It is suspended 5 m above the ground. There are seven arms with the length of 1 m. Among the seven arms, six are deployed in the x-y plane, and one is deployed in the z-direction. When the character moves under the umbrella, we capture the position of the receiving tag of the left foot (other parts are also possible) and draw the trajectory in Figure 4b, which shows the motion curve of the left foot when walking in a straight line at a constant speed. Human motion data for the simulation experiment is obtained from the Unreal Engine 4.0, which is a virtual reality software released in the USA. In this paper, we employ the engine to generate human posture data which are the positions of 14 tags when the character is walking. Equation (15) is easy to solve with the coefficient matrix A in Equation (16). Introduction of the window function in the improved algorithm aims at dropping historical data. The smoothed distance obtained by least square polynomial fitting with the latest N observation can help to reduce cumulative errors, and finally to improve the performance of Kalman filter.

Experiment
A sketch map of indoor environment is drawn in Figure 4a. The indoor playground is a square with a width of 10 meters and length of 10 meters. The positioning umbrella is suspended from the ceiling. It is suspended 5 meters above the ground. There are seven arms with the length of 1 meter. Among the seven arms, six are deployed in the x-y plane, and one is deployed in the z-direction. When the character moves under the umbrella, we capture the position of the receiving tag of the left foot (other parts are also possible) and draw the trajectory in Figure 4b, which shows the motion curve of the left foot when walking in a straight line at a constant speed. Human motion data for the simulation experiment is obtained from the Unreal Engine 4.0, which is a virtual reality software released in the USA. In this paper, we employ the engine to generate human posture data which are the positions of 14 tags when the character is walking.  In the simulation experiment, the character walks several meters in a straight line at a constant speed. We set the sampling frequency as 119 fps, which means the positions of 14 receiving tags, such as head, shoulders, hands, knees, feet, and so on, should be recorded 119 times per second. Due to the high sampling frequency, we can see the details in the curve from Figure 4b. Then we employ our improved Kalman filtering (iEKF) algorithm. In Figure 4b, "Real" refers to data generated by Unreal Engine 4.0, "LSE" stands for results of least squares estimation (LSE) which is widely used in the field of indoor positioning technology, and "iEKF" represents the results of the improved extended Kalman filtering algorithm in Section 3.2.

Results Analysis and Discussion
While in Figure 4b, it is not obvious to decide which method is better. Both algorithms show good tracking effect in three-dimensional trajectories. For further comparison of the performances of two algorithms, we define deviation using Equation (17). Also the mean deviation of each algorithm is defined as Equation (18)  In the simulation experiment, the character walks several meters in a straight line at a constant speed. We set the sampling frequency as 119 fps, which means the positions of 14 receiving tags, such as head, shoulders, hands, knees, feet, and so on, should be recorded 119 times per second. Due to the high sampling frequency, we can see the details in the curve from Figure 4b. Then we employ our improved Kalman filtering (iEKF) algorithm. In Figure 4b, "Real" refers to data generated by Unreal Engine 4.0, "LSE" stands for results of least squares estimation (LSE) which is widely used in the field of indoor positioning technology, and "iEKF" represents the results of the improved extended Kalman filtering algorithm in Section 3.2.

Results Analysis and Discussion
While in Figure 4b, it is not obvious to decide which method is better. Both algorithms show good tracking effect in three-dimensional trajectories. For further comparison of the performances of two algorithms, we define deviation using Equation (17). Also the mean deviation of each algorithm is defined as Equation (18), where X real are the positions, structure vectors or angles, and X estimate are the estimations by iEKF and LSE methods. The following sections discuss the results of the experiment.
For further comparison, the mean deviation is an effective metric. The algorithm designed in Section 3 computes the positions of the tags, the vector norms and posture angles by applying iEKF or LSE method. We select two items, respectively, from Tables 1-3. The results of mean deviation are given in Table 4 for the LSE and iEKF methods, respectively. We can conclude that the iEKF is more effective because all the deviations are smaller than with the LSE method.  11.83 cm 7.24 cm I heart-to-lshoulder 0.32 cm 0.20 cm I lshoulder-to-lelbow 0.22 cm 0.14 cm θ head-heart-lshoulder 0.0075 rad 0.0046 rad θ heart-lshoulder-lelbow 0.0104 rad 0.0073 rad (a) Positioning comparison As described in Section 2.1, we choose 14 receiving tags attached on clothes corresponding to joints of the human body. The positions of the 14 key joints are easily obtained by our methods. In Figure 5, there are two groups of detection results. The first group are the 14 key joints which are detected by the indoor position system, and the others are detected by Microsoft Kinect technology [30].
For further comparison, the mean deviation is an effective metric. The algorithm designed in Section 3 computes the positions of the tags, the vector norms and posture angles by applying iEKF or LSE method. We select two items, respectively, from Table 1, Table 2 and Table 3. The results of mean deviation are given in Table 4 for the LSE and iEKF methods, respectively. We can conclude that the iEKF is more effective because all the deviations are smaller than with the LSE method. As described in Section 2.1, we choose 14 receiving tags attached on clothes corresponding to joints of the human body. The positions of the 14 key joints are easily obtained by our methods. In Figure 5, there are two groups of detection results. The first group are the 14 key joints which are detected by the indoor position system, and the others are detected by Microsoft Kinect technology [30]. The disadvantage of Kinect detection results is that they may be sheltered by something or some joints are missed. Moreover, Kinect cannot output the positions of the 14 key joints. However, these disadvantages are overcome by the indoor position system. The joints are missed only when receiving tags are out of power or broken in the proposal system. Unlike the Kinect method, the receiving tags can calculate the positions. The disadvantage of Kinect detection results is that they may be sheltered by something or some joints are missed. Moreover, Kinect cannot output the positions of the 14 key joints. However, these disadvantages are overcome by the indoor position system. The joints are missed only when receiving tags are out of power or broken in the proposal system. Unlike the Kinect method, the receiving tags can calculate the positions.
The positions of 14 joints of human body can be estimated by the iEKF and LSE methods. Taking the head tag for example, Figure 6 shows the deviation of estimation X estimate from real value X real obtained by the two algorithms for head tag. It reveals that iEKF has less deviation and better performance than the LSE method. The mean deviation by the iEKF method is 7.16 cm, lower than the LSE method one of 11.70 cm, so iEKF displays better position accuracy than the LSE method.
The positions of 14 joints of human body can be estimated by the iEKF and LSE methods. Taking the head tag for example, Figure 6 shows the deviation of estimation estimate X from real value real X obtained by the two algorithms for head tag. It reveals that iEKF has less deviation and better performance than the LSE method. The mean deviation by the iEKF method is 7.16 cm, lower than the LSE method one of 11.70 cm, so iEKF displays better position accuracy than the LSE method.  Figure 7 shows that the norm of the vector fluctuates between 30.5 cm and 32.5 cm, which is due to the body tilting from left to right when the character is walking. The estimation values of both LSE and iEKF fluctuate near the true value. Figure 8 reveals that iEKF has a smaller deviation and is closer to the true value. The mean deviation between the real value and iEKF is 0.20 cm, which is lower than that of LSE method with 0.32 cm. Thus iEKF has better accuracy.

(b) Struction vector comparison
We now perform further analysis to examine the deviation of structure vectors for body postures. Taking vector I heart-to-lshoulder for example, in Figure 7, the red solid line represents the real value of distance between head and left shoulder, the green dotted line refers to the norm of vector I heart-to-lshoulder estimated by the LSE method, and the blue dashed line represents the norm estimated by iEKF. Figure 7 shows that the norm of the vector fluctuates between 30.5 cm and 32.5 cm, which is due to the body tilting from left to right when the character is walking. The estimation values of both LSE and iEKF fluctuate near the true value. Figure 8 reveals that iEKF has a smaller deviation and is closer to the true value. The mean deviation between the real value and iEKF is 0.20 cm, which is lower than that of LSE method with 0.32 cm. Thus iEKF has better accuracy. the head tag for example, Figure 6 shows the deviation of estimation estimate X from real value real X obtained by the two algorithms for head tag. It reveals that iEKF has less deviation and better performance than the LSE method. The mean deviation by the iEKF method is 7.16 cm, lower than the LSE method one of 11.70 cm, so iEKF displays better position accuracy than the LSE method.  Figure 7 shows that the norm of the vector fluctuates between 30.5 cm and 32.5 cm, which is due to the body tilting from left to right when the character is walking. The estimation values of both LSE and iEKF fluctuate near the true value. Figure 8 reveals that iEKF has a smaller deviation and is closer to the true value. The mean deviation between the real value and iEKF is 0.20 cm, which is lower than that of LSE method with 0.32 cm. Thus iEKF has better accuracy.  The positions of 14 joints of human body can be estimated by the iEKF and LSE methods. Taking the head tag for example, Figure 6 shows the deviation of estimation estimate X from real value real X obtained by the two algorithms for head tag. It reveals that iEKF has less deviation and better performance than the LSE method. The mean deviation by the iEKF method is 7.16 cm, lower than the LSE method one of 11.70 cm, so iEKF displays better position accuracy than the LSE method.  Figure 7 shows that the norm of the vector fluctuates between 30.5 cm and 32.5 cm, which is due to the body tilting from left to right when the character is walking. The estimation values of both LSE and iEKF fluctuate near the true value. Figure 8 reveals that iEKF has a smaller deviation and is closer to the true value. The mean deviation between the real value and iEKF is 0.20 cm, which is lower than that of LSE method with 0.32 cm. Thus iEKF has better accuracy.  Vector angle reflects well the postures of the human body. Posture angles analysis play an important role in human posture recognition. Vector angle θ heart-lshoulder-lelbow is made up by vector I lshoulder-to-lelbow and vector I heart-to-lshoulder . The angle usually happens under such a condition when people pick up a phone or take a glass of water to drink. In Figure 9, the red solid line, green dotted line and blue dashed line respectively represent the real angle, estimation by LSE and estimation by iEKF,. Also the estimation values of both LSE and iEKF fluctuate near the true value. However, Figure 10 indicates that the deviations of iEKF are lower than those of LSE. The mean deviation estimated by LSE is 0.0104 rad, and the deviation by iEKF is 0.0073 rad which is lower than the LSE method. The iEKF still has obvious advantages in the comparison of vector angles. people pick up a phone or take a glass of water to drink. In Figure 9, the red solid line, green dotted line and blue dashed line respectively represent the real angle, estimation by LSE and estimation by iEKF,. Also the estimation values of both LSE and iEKF fluctuate near the true value. However, Figure 10 indicates that the deviations of iEKF are lower than those of LSE. The mean deviation estimated by LSE is 0.0104 rad, and the deviation by iEKF is 0.0073 rad which is lower than the LSE method. The iEKF still has obvious advantages in the comparison of vector angles.  . The results are shown in Figure 11. From the figure, we can draw the conclusion that optimal performance is achieved when N is between 20 and 25. When N is equal to 23, the deviation is lowest. This doesn't mean that it's globally optimal when N is 23.
The optimum N will float slightly for other vectors. Therefore, the ideal choice is 28 N 18 ≤ ≤ according to the simulation results.
Value/cm people pick up a phone or take a glass of water to drink. In Figure 9, the red solid line, green dotted line and blue dashed line respectively represent the real angle, estimation by LSE and estimation by iEKF,. Also the estimation values of both LSE and iEKF fluctuate near the true value. However, Figure 10 indicates that the deviations of iEKF are lower than those of LSE. The mean deviation estimated by LSE is 0.0104 rad, and the deviation by iEKF is 0.0073 rad which is lower than the LSE method. The iEKF still has obvious advantages in the comparison of vector angles.  . The results are shown in Figure 11. From the figure, we can draw the conclusion that optimal performance is achieved when N is between 20 and 25. When N is equal to 23, the deviation is lowest. This doesn't mean that it's globally optimal when N is 23.
The optimum N will float slightly for other vectors. Therefore, the ideal choice is 28 N 18 ≤ ≤ according to the simulation results.
Value/cm (d) Influence discussion for window length N We refer to the improvement of iEKF in Section 3.2. Now we discuss the influence of the length of N for the window function. When N is set from 0 to 40, we carry out the experiments and calculate the mean deviation of vector I lshoulder-to-lelbow . The results are shown in Figure 11. From the figure, we can draw the conclusion that optimal performance is achieved when N is between 20 and 25. When N is equal to 23, the deviation is lowest. This doesn't mean that it's globally optimal when N is 23. The optimum N will float slightly for other vectors. Therefore, the ideal choice is 18 ≤ N ≤ 28 according to the simulation results. The outputs of the experiment will be two import products: one is the indoor position umbrella which can provide location services, and the other is the specific clothes with receiving tags which can recognize the postures of the human body. In the near future, we need to carry out the following three tasks before we can convert the experimental results into products: 1) We have done basic posture recognition work for a single person. In order to improve algorithm robustness, multi-person postures need to be tested.
2) The experiment is only at the stage of algorithm simulation. Nonetheless, our system hardware is completed, and testing work of transplanted algorithms will be done in the following stage.
3) The final target is to deliver this wearable device to the elderly. More and more postures will be tested such as walking, sitting, sleeping, crawling, calling, falling down, and so on. Evaluating the weaknesses of the entire system and optimizing tasks need to be tested many times.

Conclusions
The paper provided an overview of a posture recognition method for elderly care. The technologies available can be divided into two categories: vision-based recognition and sensor-based recognition. To avoid invasion of privacy, sensor-based recognition is a better choice. We proposed a sensor-based scheme for posture recognition with the indoor positioning system and receiving tags. The positioning umbrella with seven arms can provide location services. Meanwhile, the receiving tags are pasted on the surface of special clothes to measure the distance from umbrella by UWB radio. In this solution, we carried out simulation experiments to verify the usability of the scheme. The LSE method and iEKF algorithm are introduced to estimate the positions of receiving tags. We also present posture recognition algorithms with structure vectors and posture angles which combined a couple of tags. Experimental results reveal that iEKF algorithm offers more accuracy than the LSE method, e.g., by calculating the coordinates of the head tag, the mean deviation of iEKF is 7.16 cm, lower than that of LSE (11.70 cm). In the improved extend Kalman filter, the influence of parameter N for window function has also been discussed, and the suggestion of reasonable range of N is given.
It has to be pointed out that there are also some disadvantages in our solution. We can achieve good posture recognition performance, but many tags are needed to keep working, and their energy is an important concern. In future work, we will transplant the algorithm to the processor, and focus on the further improvement of wearable technologies coupled with different kinds of postures, such as walking, sitting, sleeping, and so on. The test of the robustness and stability of the system also need to be carried out. We believe the prospect of applications for elderly care is vast.  (e) Future work The outputs of the experiment will be two import products: one is the indoor position umbrella which can provide location services, and the other is the specific clothes with receiving tags which can recognize the postures of the human body. In the near future, we need to carry out the following three tasks before we can convert the experimental results into products: (1) We have done basic posture recognition work for a single person. In order to improve algorithm robustness, multi-person postures need to be tested. (2) The experiment is only at the stage of algorithm simulation. Nonetheless, our system hardware is completed, and testing work of transplanted algorithms will be done in the following stage. (3) The final target is to deliver this wearable device to the elderly. More and more postures will be tested such as walking, sitting, sleeping, crawling, calling, falling down, and so on. Evaluating the weaknesses of the entire system and optimizing tasks need to be tested many times.

Conclusions
The paper provided an overview of a posture recognition method for elderly care. The technologies available can be divided into two categories: vision-based recognition and sensor-based recognition. To avoid invasion of privacy, sensor-based recognition is a better choice. We proposed a sensor-based scheme for posture recognition with the indoor positioning system and receiving tags. The positioning umbrella with seven arms can provide location services. Meanwhile, the receiving tags are pasted on the surface of special clothes to measure the distance from umbrella by UWB radio. In this solution, we carried out simulation experiments to verify the usability of the scheme. The LSE method and iEKF algorithm are introduced to estimate the positions of receiving tags. We also present posture recognition algorithms with structure vectors and posture angles which combined a couple of tags. Experimental results reveal that iEKF algorithm offers more accuracy than the LSE method, e.g., by calculating the coordinates of the head tag, the mean deviation of iEKF is 7.16 cm, lower than that of LSE (11.70 cm). In the improved extend Kalman filter, the influence of parameter N for window function has also been discussed, and the suggestion of reasonable range of N is given.
It has to be pointed out that there are also some disadvantages in our solution. We can achieve good posture recognition performance, but many tags are needed to keep working, and their energy is an important concern. In future work, we will transplant the algorithm to the processor, and focus on the further improvement of wearable technologies coupled with different kinds of postures, such as walking, sitting, sleeping, and so on. The test of the robustness and stability of the system also need to be carried out. We believe the prospect of applications for elderly care is vast.