1 Introduction
Human falls are a major public health risk. About 646,000 fatal falls are known to occur each year, making it the second leading cause of accidental injury deaths, after road traffic injuries. Over 80% of fall-related fatalities occur in low- and middle-income countries, with regions of the Western Pacific and South East Asia accounting for 60% of these deaths.
1 Falls must be detected in a
timely,
accurate,
reliable, and
scalable manner in order to reduce the risk of serious injuries or deaths.
Prior work on fall detection—including monitoring body poses or ambient fluctuations—is either
near-body or
long-distance. The
near-body detection requires the deployment of sensors on the human body. The sensors used for fall detection could be from
special or
general devices. Special or dedicated (e.g., solely for medical alerts) devices are usually specially packaged and worn at specific positions of the body (e.g., belt, necklace, and shoes) for real-time or/and accurate pose estimation, but may incur extra cost or inconvenience. Most people have a fluke mentality and are reluctant to pay extra for emergencies (falls). Due to the lack of users, existing machine learning methods usually use fabricated data (e.g., [
7]) instead of real data for training, making it difficult to guarantee their effectiveness in actual use. On the other hand, general devices like smartphones and watches have high acceptance and incur no additional cost/inconvenience, but their uncontrolled wearing positions (e.g., chest, upper arm, or waist) and angles [
23] (caused by different body shapes or clothing styles) may lead to high-level uncertainties in estimating the body pose. The
long-distance detection, on the other hand, usually requires the deployment of additional infrastructure (e.g., cameras [
36], RF sensors [
31,
32], and microphones [
18]) in their operational environment. Although infrastructure can reduce users’ costs and restrictions, its deployment and maintenance costs limit the deployment and popularity of applications built thereon, and the use of cameras may also raise privacy concerns. More importantly, unpredictable interference/noise may greatly affect the accuracy of pose estimation.
A fall is said to occur when the line of gravity (LoG) falls outside of the base of support (BoS) (tilt angle) that results in the person coming to rest on the floor or another lower level (thus at a lower height). Although this definition is concise, the process of a fall is uncontrollable and is therefore full of unknowns and uncertainties. Accurate pose estimation is essential for the early detection of falls and assessment of their resultant injuries, as well as refined management of fall risks especially for elderly people. In addition, the use of (generic) commodity mobile devices (i.e., smartphones and watches) for accurate pose estimation can help the doctors assess and improve the care of patients with movement disorders, such as those who are stricken with Parkinson’s disease or have undergone intracranial surgery (e.g., cerebral infarction, cerebral hemorrhage, and vestibular schwannoma), cochlear implant surgery, joint replacement, and so on.
It remains a challenge to make commodity mobile devices to achieve the same accuracy as special devices in detecting falls without degrading the user experience, which is conducive to the popularization of applications and the collection of real data. We propose a Pervasive Pose Estimation scheme for fall detection (P\(^2\)Est), which relies on rotation vector sensor and barometer already built into commodity mobile devices (e.g., smartphones/watches), to achieve high accuracy when tilt angle and height changes are measured/sensed. In particular, P\(^2\)Est takes full advantage of the constraints in some states, such as Walking, Stationary, and Unlocking, to update and calibrate the tilt-angle and height measurement data. Each tilt-angle measurement is a sequence of coordinate transformations. P\(^2\)Est captures the bearing of the body when the user unlocks the phone, and then establishes the relationships among Body, Device, and World coordinate systems. To the best of our knowledge, this is the first attempt to relax position restrictions and improve measurement accuracy without training. The height measurement is a continuous calibration of atmospheric pressure differences. Instead of smoothing the actual measured pressure, P\(^2\)Est smoothes the virtual floor pressure to keep the pressure difference between phone and floor stable or unchanged when the subject is walking or the phone is stationary. This is also, to the best of our knowledge, the first time that a single barometer is shown to be able to measure height in a complex environment with decimeter(dm)-level accuracy. This technique will likely have a wide range of applications other than fall detection, such as indoor localization and navigation.
P\(^2\)Est has four salient features: (i) timeliness — it estimates body pose in real time; (ii) accuracy — it measures body tilt including up-down, left-right, and front-back. (iii) reliability — it can distinguish between different types of falls (e.g., trip, slip, and segmented fall), and achieve dm-level accuracy in complex situations (e.g., spiral stairs, indoor/outdoor); (iv) scalability — it uses popular mobile devices like smartphones, and can adapt to different user habits.
In summary, this article makes the following main contributions:
–
Construction of the body coordinate system with unknown device positions;
–
Improvement of the accuracy of the barometer-based height measurement up to the dm-level;
–
Design of tolerance to the step detector’s delays and false positives; and
–
Extensive evaluation of P\(^2\)Est in complex situations and environments.
The rest of this article is organized as follows. After discussing the related work in Section
2, we present the primers used by, and challenges of,
P\(^2\)Est in Section
3. Then, we overview the system design of
P\(^2\)Est in Section
4 and present the coordinate transformation for tilt angle calculation and reference update in Section
5, followed by barometer pressure calibration in Section
6. We experimentally evaluate
P\(^2\)Est in Section
7 and discuss some of the remaining issues in Section
8. The article finally concludes in Section
10.
2 Related Work
A considerable amount of research and development has been done on fall detection, which can be roughly classified as two categories according to the technology used and the monitored object: near-body sensing and long-distance sensing. Since P\(^2\)Est belongs to the former, we will focus on its related work, which can be divided further into two categories according to the sensors used: special and general devices.
These special devices focus on detection accuracy because their estimation uncertainty is low. The sensors can be attached to various parts of the human body [
10], including chest [
19], wrist [
12], waist [
7,
28], thigh [
23], ankle [
35], and foot [
14]. The measurements can be made via accelerometer, gyroscope [
7], and many other motion sensors, as well as wireless sensor networks [
17]. Physical interpretation of the human body, including pose angle [
16], angular velocity [
13], pulse shape [
12], foot pressure [
14] and contextual information [
7], and their correlations with fall patterns [
7] and fall risks [
33], have been statistically and quantitatively investigated further. Machine learning algorithms [
8,
10] like
support vector machine (
SVM), regression tree,
random forest (
RF), and
K-nearest neighbors (
K-NN) can be applied to classify the subtle behaviors and detect fall events.
On the other hand, the general devices prioritize the effectiveness of detection owing to their high estimation uncertainty. Unlike special devices, general devices experience less restrictions regarding placement. The body part where the device is to be attached/placed [
11,
27] has been identified and the effect of sensor placement on detection [
1,
2] has been investigated further. Under high uncertainty, signal vector magnitude [
5,
15,
24,
29], acceleration high-frequency feature [
9], and impact force [
22] are used to detect whether a fall has occurred, vertical velocity [
24], heart rate [
29], and immobility time [
15,
29] are measured to reduce the false-positive rate.
4 Overview of P\(^2\)Est
We first introduce the assumptions we made and their rationality and then describe the basic framework of P\(^2\)Est.
4.1 Assumptions
The design of P\(^2\)Est is based on the following three “rational” assumptions.
A1.
The user places the phone in the pocket of his/her upper body cloth (shirt/jacket). We chose this pocket because (1) the trunk angle indicates the direction of the sternum relative to gravity, which matches well the definition of fall in Section
3.1; (2) to mitigate the measurement errors, the height of the phone should be as close as possible to the user’s height; (3) compared to other positions (e.g., wrist and handbag), the trunk generates less spatial uncertainty.
A2.
When placing the phone in the same pocket, the user will not change the phone’s orientation. P\(^2\)Est does not assume that the user always puts the phone in the same pocket. To reduce the ambiguity in analysis, the user is assumed to maintain his prior habit and not to flip or operate the phone while placing it in the pocket.
A3.
To initialize P\(^2\)Est, the user is asked to place the phone on the floor and keep it still for a few seconds. P\(^2\)Est needs to estimate the measurement error of the accelerometer at rest and measure the floor pressure related to the initial height of the phone. Note that this is a one-time initialization. The floor pressure can be dynamically calibrated according to the basic statistics.
Although these assumptions impose some restrictions on users, they enable us to use general-purpose devices (e.g., commodity smartphones) for an interpretable and reliable analysis, which, in turn, makes users who are in need more willing to participate in data collection. Some patients suffering from movement disorders can monitor their condition at home with mobile phones, which is very important and convenient for follow-up evaluation.
4.2 Framework of P\(^2\)Est
The basic idea of P\(^2\)Est is to accurately detect, in real time, basic states of the subject, and then make full use of the constraints in these states to update and calibrate the measured data in order to finally gain the detailed characterization of a fall. P\(^2\)Est identifies and discriminates other states of interest (e.g., Falling, Standing, and Sitting) based on the constraint and segmentation derived from the following three basic states:
–
Walking is a steady state of movement. The body remains roughly upright, so the height of the phone in pocket remains stable. In Section
6.2, we will discuss how to eliminate the delay and false positives of the step detector.
–
Stationary is a constant steady state. The phone’s height remains unchanged, although the height might be unknown. A new detection method will be presented and detailed in Section
6.1.
–
Unlocking has a certain directionality. When the user awakes or unlocks the phone, the phone is pointing in the same direction as the body.
As shown in Figure
8,
P\(^2\)Est consists of two parts:
tilt-angle measurement and
height measurement.
The core of tilt-angle measurement is a sequence of coordinate transformations. Suppose the states in sampling periods \(r\) and \(s\) are, respectively, Walking and Unlocking, and the body’s orientation has not changed from the \(r\)th sampling period to the \(s\)th sampling period. P\(^2\)Est takes the following steps to calculate the tilt angles:
(1)
determines the bearing of the body based on the phone’s pointing in the \(s\)th sampling period, and constructs a reference Body coordinate system, \(X_{[b]}Y_{[b]}Z_{[b]}\), in the \(r\)th sampling period;
(2)
finds the relative orientation of the body and the phone in the \(r\)th sampling period;
(3)
updates the orientation of the body in the \(t\)th sampling period based on the relative orientation of the body and the phone.
(4)
finds the relative orientation of the body in sampling periods \(r\) and \(t\), and calculates the tilt angles between \(Y_{[b]}\) and those of \(X_{[b]t}\), \(Y_{[b]t},\) and \(Z_{[b]t}\).
To track the body’s rotation, P\(^2\)Est updates \(X_{[b]}Y_{[b]}Z_{[b]}\) by considering the following two conditions:
C1.
The state is Walking in the \(t\)th sampling period. As in the \(r\)th sampling period, the body is also upright in the \(t\)th sampling period. If \(X_{[b]}Y_{[b]}Z_{[b]}\) can be transformed to \(X_{[b]t}Y_{[b]t}Z_{[b]t}\) by horizontal rotation, the phone is in the original pocket. \(X_{[b]}Y_{[b]}Z_{[b]}\) is updated from \(X_{[b]r}Y_{[b]r} Z_{[b]r}\) to \(X_{[b]t}Y_{[b]t}Z_{[b]t}\). Otherwise, it is reset to \(X_{[w]}Y_{[w]}Z_{[w]}\) to wait for the next Unlocking.
C2.
The state is not Walking in the \(t\)th sampling period. If \(X_{[b]}Y_{[b]}Z_{[b]}\) can be transformed to \(X_{[b]t}Y_{[b]t}Z_{[b]t}\) by horizontal rotation and \(X_{[b]}Y_{[b]}Z_{[b]}\) has not been reset, the body is upright. \(X_{[b]}Y_{[b]}Z_{[b]}\) is updated to \(X_{[b]t}Y_{[b]t}Z_{[b]t}\). Otherwise, it remains unchanged.
The update process can continue in the (\(t+1\))-th sampling period. The automatic and continuous updates allow P\(^2\)Est to adapt itself to different user habits.
The key to the height measurement is the prediction and calibration of the floor pressure. When the person is Walking or the phone is Stationary, P\(^2\)Est continuously adjusts the floor pressure to maintain the relative pressure difference. The relative pressure difference directly correlates with the height of the phone. It can be obtained by a short-term measurement even when the height is unknown. Suppose that the states in sampling periods \(u\) and \(v\) are Walking and Unlocking, respectively. If P\(^2\)Est measures the floor pressure in the \(o\)th sampling period, and \(o\) and \(u\) are separated by a short time interval, \(h_{u}\) can be measured very accurately, providing fine-grained calibration in the subsequent Walking. As the floor pressure is continuously adjusted, \(h_{v}\) might not be as accurate as \(h_{u}\), providing coarse-grained calibration.
7 Experimental Evaluation
We prototype and evaluate P\(^2\)Est, including multiple comparative trials. We implemented a prototype of P\(^2\)Est on an Android phone, Google Pixel XL (with Bosch BMI160 inertial measurement unit and Bosch BMP280 barometer). The frequency of the rotation vector sensor was set to 50 Hz (SENSOR_DELAY_GAME). The frequency of all other sensors was set to the lowest frequency (SENSOR_DELAY_NORMAL).
7.1 Down vs. Up Stairs
The absolute value of the pressure changes with altitude, but the pressure difference relative to the building floor should not change in
Walking. The height of the tester is 1.72 m. The phone is placed in the chest pocket with the height of 1.4 m. A tester walked downstairs from the 3rd floor to the 2nd floor, during which the phone was placed on the stair/floor in the middle/last. Then, she/he walked again in the opposite direction. Figure
14 shows that the normalized pressure ratio
\(r_{D/W|i}\) dropped from 0.94 to 0.07 when the state changes from
Walking to
Stationary. When the phone was placed on the floor, the height of the phone is supposed to be 0 m, while the one obtained by
\(r_{D/W|i}\) was
\(0.07\times 1.4\approx 0.1\)m, reaching decimeter accuracy. Figure
15 shows that the measured pressure
\(p_{i}\) went up from 984.29 to 984.96 when going downstairs, and it dropped from 984.90 to 984.47 when going upstairs. As illustrated in Figure
16,
\(\alpha\) adjusted adaptively in different states.
7.2 Ratio vs. Pressure
Change-point detection is often used to detect falls. We compared the change points of the measured pressure
\(p_{i}\) (raw data) and the normalized pressure ratio
\(r_{D/W|i}\) (data processed by
P\(^2\)Est). First, we used offline change-point detection to find three samples at which the data mean changes most significantly. Figure
17 shows that the change points of
\(p_{i}\) and
\(r_{D/W|i}\) when going down the stairs were {164,393,552} and {177,350,552}, respectively. We chose {177,350,552} as the ground truth because
\(r_{D/W|i}\) is not affected by the increase in pressure when going downstairs. In actual detection, the number of change points is unknown, and only partial data is available. Then, we used online change-point detection to evaluate the effectiveness of
P\(^2\)Est.
Cumulative Sum (
CuSum) algorithm [
6] and
Auto-Regressive Moving Average (
ARMA) model [
34] were used to detect outliers in real time. We created a sliding window of 50 samples in which 40 samples overlap. The outliers detected by the CuSum algorithm were the upper and lower CuSums of those samples that have drifted beyond five standard deviations above and below the mean of those samples within the sliding window. As shown in Figure
18, corresponding to the first change point 177, the outliers of
\(p_{i}\) and
\(r_{D/W|i}\) were 143 and 183, respectively. The outliers of
\(p_{i}\) between 394–410 were false positives caused by the pressure rise when going downstairs. We selected the degrees
\(p\) and
\(q\) of the ARMA model by the
Bayesian information criterion (
BIC) and calculated the residual between the predicted value and the true value. Figure
19 shows that the outliers of
\(r_{D/W|i}\) were more concentrated near the ground truth than the outliers of
\(p_{i}\).
7.3 Indoor vs. Outdoor
As shown in Figure
6, atmospheric pressure is affected by temperature. One tester walked from indoor to outdoor, and placed the phone on the ground for 50 seconds, then walked again in the opposite direction. As shown in Figure
20, the normalized pressure ratio
\(r_{D/W|i}\) did not change when the tester walked from indoor to outdoor (or in the opposite direction), but can capture the height change when the phone was placed on the floor. Interestingly, Figure
21 shows that the measured pressure
\(p_{i}\) fluctuated even more when the phone was placed on the ground. It took time for the barometer to sense changes in the temperature.
7.4 Falling vs. Normal States
Three types of fall, i.e., Trip, Slip, and Segmented fall, and three types of normal state, i.e., Sitting (chair) on chair, Sitting (couch) on couch, and Lying (couch) on couch were tested sequentially. The Segmented fall contains two steps: kneeling down to support the floor with both hands, then lying down. The height of mat, chair, and couch were 0.12 m, 0.36 m, and 0.43 m, respectively.
We used offline change point detection to divide the time series of the normalized pressure ratio
\(r_{D/W|i}\) into multiple segments, and calculated the sample mean of each segment. Figure
22 shows that
\(r_{D/W|i}\) can distinguish the three different normal states but not three falls.
\(r_{D/W|i}\) for
Trip,
Slip, and
Segmented were 0.311, 0.346, and 0.438, respectively, while
\(r_{D/W|i}\) for
Sitting (chair),
Sitting (couch), and
Lying (couch) were 0.773, 0.653, and 0.442, respectively. As shown in Figure
23,
\(\theta _{X_{[b]t}Y_{[b]}}\),
\(\theta _{Y_{[b]t}Y_{[b]}},\) and
\(\theta _{Z_{[b]t}Y_{[b]}}\) can distinguish
Trip and
Slip.
Trip and
Segmented were close and different from normal states. As the body leans back in
Sitting (couch),
\(\theta _{Z_{[b]t}Y_{[b]}}\) for
Sitting (chair) and
Sitting (couch) were 0 and
\(-\)0.34, respectively.
7.5 Threshold & Detection
In order to detect falls, an appropriate threshold needs to be set for
\(\theta _{Y_{[b]t}Y_{[b]}}\) and
\(r_{D/W|i}\). To distinguish between different falls, it is also necessary to observe the changes in
\(\theta _{X_{[b]t}Y_{[b]}}\) and
\(\theta _{Z_{[b]t}Y_{[b]}}\). These thresholds can be set by following the Pareto principle [
20]. For instance, the thresholds for
\(\theta _{Y_{[b]t}Y_{[b]}}\) and
\(r_{D/W|i}\) can be
\(0.2\times \frac{\pi }{2}\) and 0.2, respectively. However, in practice, we need to consider more factors, such as the initial tilt angle corresponding to
\(\theta _{Y_{[b]t}Y_{[b]}}=0\) and the absolute height corresponding to
\(r_{D/W|i}=1\).
We first conducted a set of tests for setting the threshold of
\(r_{D/W|i}\). Two states
Falling and
Lying (couch) were considered. Figure
24 shows that if the threshold for
\(r_{D/W|i}\) was set to 0.2, the false positive rate was 0 but the false negative rate was 0.3, possibly because the pocket’s height is lower than the person’s, and the sum of mat height (0.12 m) and chest thickness (around 0.2 m) is around 0.32 m which is close to the couch’s height (0.43 m). Another observation is that the difference between
\(r_{D/W|i}\) in
Lying (couch) and
Falling was quite different in different tests. The reason is that if it was a forward fall, the thickness of the chest was not taken into account.
We then conducted another set of tests to observe the effect of changes in body posture and phone position on
P\(^2\)Est. We changed the body postures (
Crooked and
Upright) and the phone positions (
Jacket pocket,
Belt, and
Trouser pocket) to test the changes of
\(\theta _{P}\) (provided by Android API) and
\(\theta _{Y_{[b]t}Y_{[b]}}\) (calculated by
P\(^2\)Est), both of which are used to measure the inclination of the body when falling. Figure
25 shows that in the
Walking state,
\(\theta _{Y_{[b]t}Y_{[b]}}\) was close to 0 for all cases, while
\(\theta _{P}\) was
\(-\)0.5989,
\(-\)1.3428, 0.1857, and
\(-\)1.2826, respectively. As Device and Body coordinate systems may not be consistent with each other (caused by body posture or mobile phone position), the variables measured in the Device coordinate system (e.g.,
\(\theta _{P}\)) may fail to accurately describe and analyze a fall. The continuous fluctuation of
\(\theta _{P}\) for
Trouser was due to the shaking of the phone while walking. In the
Falling state,
\(\theta _{Y_{[b]t}Y_{[b]}}\) was within [0,
\(\frac{\pi }{2}\)] for all cases, and
\(\theta _{P}\) for
Belt was
\(-\)1.4153. These results indicate that the different positions and postures may not affect the initial value and range of
\(\theta _{Y_{[b]t}Y_{[b]}}\), which is essential for standardized data collection and accurate data analysis. Figure
25 also shows that in the
Falling state,
\(\theta _{Y_{[b]t}Y_{[b]}}\) for
Crooked and
Upright were 0.5278 and 1.5358, respectively. If
\(\theta _{Y_{[b]t}Y_{[b]}}\) is too small, it may lead to false negatives in fall detection.
Overall, after making simple settings, P\(^2\)Est can replace special devices with mobile phones to collect standardized data in complex situations. How to set the thresholds requires further modeling the normal and abnormal behavior of users, which is beyond the scope of this article (and thus part of our future work).
8 Discussion
Some basic principles and algorithms of
P\(^2\)Est can be extended to other applications. If the spatial or map information of a building is available, the pressure calibration can find the absolute, instead of relative, values. Combining height with the body orientation information, which can be obtained from
\(\mathbf {R}_{[b/w]t}\) defined in Equation (
9), it is possible to provide a fine-grained indoor localization/navigation service [
25,
26].
When the phone is not in the pocket (e.g., in hand or in a handbag),
P\(^2\)Est can set a certain amount of time to observe whether the phone is stationary or not, and then provide a manual input option to choose if the user needs emergency service like what Apple Watch does [
29]. Upon detection of a fall,
P\(^2\)Est will prompt the user first, and then call or send a text message, if the user doesn’t respond, to a pre-specified third party, such as the care center, relatives, or friends.
There still exist some minor issues associated with P\(^2\)Est as described in the assumptions. If users flip or operate the phone while placing it in their pocket, the bearing of the body might be ambiguous, since P\(^2\)Est cannot tell whether the body or the device has rotated \(\pi\) through coordinate transformations. This ambiguity could be eliminated via machine learning, which is part of our future work.