# Fall-Detection Algorithm Using 3-Axis Acceleration: Combination with Simple Threshold and Hidden Markov Model

Authors: Dongha Lim; Chulho Park; Nam Ho Kim; Sang-Hoon Kim; Yun Seop Yu
Journal: Journal of Applied Mathematics
 (2014)

---

## Abstract

Falls are a serious medical and social problem among the elderly. This has led to the development of automatic fall-detection systems. To detect falls, a fall-detection algorithm that combines a simple threshold method and hidden Markov model (HMM) using 3-axis acceleration is proposed. To apply the proposed fall-detection algorithm and detect falls, a wearable fall-detection device has been designed and produced. Several fall-feature parameters of 3-axis acceleration are introduced and applied to a simple threshold method. Possible falls are chosen through the simple threshold and are applied to two types of HMM to distinguish between a fall and an activity of daily living (ADL). The results using the simple threshold, HMM, and combination of the simple method and HMM were compared and analyzed. The combination of the simple threshold method and HMM reduced the complexity of the hardware and the proposed algorithm exhibited higher accuracy than that of the simple threshold method.


---

## Body

## 1. Introduction

In the past decade, the population in the world has been increasingly aging [1]. Korea, for example, is rapidly changing into an “aging society.” The elderly, especially those above the age of 65, are exposed to falls owing to the deterioration of their physical functions [2]. When an elder person falls and becomes unconscious or is unable to move his/her body, he/she may succumb to the injuries that caused the fall [3]. Thus, research and development of a system that can automatically detect falls in the elderly or other patients has been actively studied [4–7].Because of the expansion of the Internet in the 90s, it is now commonly referred to as the Internet of Things (IoT). The pervasive and seamless interaction among objects, sensors, and computing devices is an important concern of the IOT [8]. Smart embedded objects such as a fall-detection sensor with wireless communication [9] will also become an important part of the IoT.The identified fall-detection systems can be classified primarily into two categories: context-aware systems and wearable devices [10–21]. Context-aware systems use devices such as cameras, floor sensors, infrared sensors, microphones, pyroelectric infrared (PIR) sensors, and pressure sensors, deployed in the environment, to detect falls [10–13]. Their principal advantage is that a person is not required to wear any special equipment. Wearable device-based approaches rely on clothing with embedded sensors to detect the motion and location of the body of the subject [14–27]. The advantages of wearable devices are the cost efficiency, ease of installation, setup, and operation of the design.There are two main approaches (algorithms) to detect falls: simple threshold and machine learning methods. In the simple threshold method, threshold values of specific parameters calculated from sensor data such as 3-axial acceleration are used to detect a fall [14–20]. Automatic fall detection using a threshold-based method of single parameters, calculated using acceleration measured by an accelerometer, has a high sensitivity (about 100%); however it has a relatively low specificity [14, 15]. Automatic fall detection using multiple parameter combinations has a relatively high sensitivity (85.7%) and specificity (90.1%) [16]. Automatic fall detection using angular velocities measured using a gyroscope has a high sensitivity (100%) and specificity (97.5%) [18]. Further, automatic fall detection using multiple parameters that are calculated using the acceleration and angular velocities measured by an accelerometer and a gyroscope, respectively, has a high sensitivity (91%) and specificity (92%) [19]. They are simple to implement and their computation effort is minimal. However, they have a problem with the tolerance of individual behavior and are less accurate for detecting falls that occur. In the machine learning method, various types of fall and activity of daily living (ADL) patterns are trained by a learning algorithm and then an event is classified as a fall or ADL by applying it to an evaluation algorithm [21–27]. The machine learning methods include support vector machine (SVM) [21, 22], Gaussian distribution of clustered knowledge [23], decision tree [24], and hidden Markov model (HMM) [25–27]. The machine learning method is more sophisticated and leads to better detection rates with accuracy of over 95%. Unfortunately, it is difficult to implement the machine learning approach due to the heavy computational and resource requirements [4]. The combination of the two approaches for fall detection has not yet been investigated.In this paper, a fall-detection algorithm using 3-axis acceleration is proposed. The fall-feature parameters, calculated from the 3-axis acceleration, are applied to a simple threshold method [20]. Then, the falls that are determined from the simple threshold are applied to the HMM [25–27] to distinguish between falls and ADLs. The results from a simple threshold, HMM, and the combination of the simple method and HMM are compared and analyzed.


## 2. Materials and Methods

A novel fall-detection algorithm using an acceleration sensor node is presented. Because the chest of the subject is near the body’s center of gravity [28], the sensor node is attached with an elastic belt on the chest of the subject. The sensor node, as shown in Figure 1, measures sensor data and sends them to the gateway (portable computer (PC)) using a ZigBee network processor. The software environment used in the experiment was Visual Studio 2008 and fall-detection code was written in the C language on a Windows XP PC.Photograph of the sensor node (80 mm × 50 mm) for fall detection. (a) Front side and (b) back side.
(a)
(b)


### 2.1. Subjects and Testing Activities

Intentional falls were performed by six healthy volunteers: four male and two female subjects whose ages ranged from 20 to 50, height from 160 to 185 cm, and weight from 50 to 85 kg. The falls were performed using a mattress (thickness: 20 cm). Each subject performed 7 types of activity (three types of fall and four types of ADL) as follows:(i)
ADL-a: walking,
(ii)
ADL-b: running,
(iii)
ADL-c: standing jumping,
(iv)
ADL-d: lying down and standing up from a bed,
(v)
Fall-a: falling forward over something,
(vi)
Fall-b: falling laterally by losing balance,
(vii)
Fall-c: sliding and falling backward.A total of 320 ADLs and 240 falls were tested. The total number of each activity for subjects A, B, C, and D (age: 20s) was 15 and for subjects E (age: 50s) and F (age: 40s) was 10. The ADLs used in this study were activities that could cause high impact or abrupt changes in a person’s movement.


### 2.2. Hardware Description

The fall-detection system implemented in this paper consisted of a sensor node with a 3-axis accelerometer ±8 g triaxial accelerometer (BMA150, Bosch) [30] and wireless communication module (CC2530, Texas Instrument) [31], a gateway to collect the information from multiple wireless sensor nodes, and a server to determine falls by applying the parameters from the 3-axis acceleration to the proposed fall-detection algorithm. The sensor was controlled by the ZigBee network processor. The sampling rate was set to 100 Hz, a bandwidth exceeding the characteristic response of human movement. Each triaxial acceleration was statistically calibrated in order to correct any possible axis tilt due to the orientation of the device on the subject or lower back tilt of the subject. To execute the algorithm that detects a fall suffered by an elder person, the gateway monitors the accelerations sent from the sensor nodes and calculates several parameters including the directions, magnitudes, and angles of the elder person’s motion from the sensing data. The algorithm stores the measured data and calculates the parameters.


### 2.3. Fall-Feature Parameters

To detect a fall, five types of parameters are used in the analyses [27]. The fall-feature parameters of sum vector magnitude (SVM) A
SVM, differential SVM (DSVM) A
DSVM of acceleration, angle θ, gravity-weighted SVM (GSVM) A
GSVM, and gravity-weighted DSVM (GDSVM) A
GDSVM are calculated using the following equations [27]:
(1)
A
SVM
(
i
)
=
A
x
2
(
i
)
+
A
y
2
(
i
)
+
A
z
2
(
i
)
,
θ
(
i
)
=
ta
n
-
1
(
A
y
2
(
i
)
+
A
z
2
(
i
)
A
x
(
i
)
)
×
180
π
,
A
DSVM
(
i
)
=
(
(
A
x
(
i
)
-
A
x
(
i
-
1
)
)
2
+
(
A
y
(
i
)
-
A
y
(
i
-
1
)
)
2
h
h
h
h
h
h
+
(
A
z
(
i
)
-
A
z
(
i
-
1
)
)
2
(
A
x
(
i
)
-
A
x
(
i
-
1
)
)
2
+
(
A
y
(
i
)
-
A
y
(
i
-
1
)
)
2
)
1
/
2
,
A
GSVM
(
i
)
=
θ
(
i
)
90
×
A
SVM
(
i
)
,
A
GDSVM
(
i
)
=
θ
(
i
)
90
×
A
DSVM
(
i
)
,
where i denotes the sample number and A
x
(
i
), A
y
(
i
), and A
z
(
i
) denote the x-axial, y-axial, and z-axial accelerations of the ith sample, respectively. The Euler angle θ denotes the tilted angle between the accelerometer y-axis and the vertical direction.


### 2.4. Fall-Detection Algorithm

Figure2 shows the flow diagram for the fall-detection system. Real-time 3-axis accelerations are sent from the sensor handset of the subject to the server through the ZigBee network and then the five types of fall-feature parameters are calculated from the sample data in the learning and evaluating range.Figure 2
Flow diagram for falls detection system.The fall-feature parameters are applied to the simple threshold method to determine whether a parameter is above a certain threshold within a time interval. If any parameter is above a threshold, the sample is determined to be a possible fall indicating a subject fall event or ADL similar to a fall event. The simple threshold algorithm for multiple parameters using double parameters is shown in Algorithm1. The thresholds are determined from the receiver operating characteristics (ROC) curve from which both true positive and false positive rates are calculated for all parameter values. The threshold values are determined when the specificity is best with a sensitivity of 100%. Instead of using all the events, only the fall-feature parameters of the events determined to be possible falls from the simple threshold method are applied to the HMM algorithm [29, 32–34] as shown in Figure 3 and Algorithm 2. First, the learning process of the HMM is performed for four types of ADL and three types of fall; all the values in the model matrices λ
i
=
(
A
i
,
B
i
,
π
i
) of all the single parameters for i activities of four types of ADL and three types of fall are calculated using Baum-Welch learning algorithm [29]. A
i, B
i, π
i, M, and N denote the state transition probability distribution, observation emission probability distribution, initial state distribution, number of invisible states, and number of observation values for i activities, respectively. In this paper, M and N are used as 4 and 8, respectively. Then, based on the leaning database, an activity is evaluated by applying the HMM with the parameter. The likelihood of all the single parameters for the observation sequences is calculated using the HMM evaluation algorithm [29]. Finally the maximum probability among the four types of ADL and three types of fall is determined. If the selected activity with the maximum probability is among the three types of fall, the fall is alarmed; otherwise, it is determined to be an ADL.Algorithm 1:Simple threshold algorithm using double parameters for fall detection.
(1)if the parameter > threshold value of the parameter
then
(2)if  θ > threshold value of  θ
(among 100 samples after satisfying the condition in Line 1)
then
(3)return fall detection
(4)return no fall detectionAlgorithm 2:HMM algorithm for fall detection.
(1) Calculate all the values in model matricesmatricesλ
i = (A
i
,
B
i
,
π
i)* of all single parameters for i activities of four types of
ADL and three types of fall by the Baum-Welch learning algorithm [29]
(2) Calculate all the likelihoods of all single parameters for observation sequences using the evaluation algorithm [29]
(3) Find a maximum probability among four types of ADL and three types of fall
(4)Ifthe activity with the maximum probability is among three types of fall  then fall detection
(5)Else  no fall (ADL) detection
*
A
i
,
B
i, and π
i  denote the state transition probability distribution, observation emission probability distribution, and initial
state distribution fori activities, respectively.Figure 3
Configuration of fall-detection system applying HMM.


## 2.1. Subjects and Testing Activities

Intentional falls were performed by six healthy volunteers: four male and two female subjects whose ages ranged from 20 to 50, height from 160 to 185 cm, and weight from 50 to 85 kg. The falls were performed using a mattress (thickness: 20 cm). Each subject performed 7 types of activity (three types of fall and four types of ADL) as follows:(i)
ADL-a: walking,
(ii)
ADL-b: running,
(iii)
ADL-c: standing jumping,
(iv)
ADL-d: lying down and standing up from a bed,
(v)
Fall-a: falling forward over something,
(vi)
Fall-b: falling laterally by losing balance,
(vii)
Fall-c: sliding and falling backward.A total of 320 ADLs and 240 falls were tested. The total number of each activity for subjects A, B, C, and D (age: 20s) was 15 and for subjects E (age: 50s) and F (age: 40s) was 10. The ADLs used in this study were activities that could cause high impact or abrupt changes in a person’s movement.


## 2.2. Hardware Description

The fall-detection system implemented in this paper consisted of a sensor node with a 3-axis accelerometer ±8 g triaxial accelerometer (BMA150, Bosch) [30] and wireless communication module (CC2530, Texas Instrument) [31], a gateway to collect the information from multiple wireless sensor nodes, and a server to determine falls by applying the parameters from the 3-axis acceleration to the proposed fall-detection algorithm. The sensor was controlled by the ZigBee network processor. The sampling rate was set to 100 Hz, a bandwidth exceeding the characteristic response of human movement. Each triaxial acceleration was statistically calibrated in order to correct any possible axis tilt due to the orientation of the device on the subject or lower back tilt of the subject. To execute the algorithm that detects a fall suffered by an elder person, the gateway monitors the accelerations sent from the sensor nodes and calculates several parameters including the directions, magnitudes, and angles of the elder person’s motion from the sensing data. The algorithm stores the measured data and calculates the parameters.


## 2.3. Fall-Feature Parameters

To detect a fall, five types of parameters are used in the analyses [27]. The fall-feature parameters of sum vector magnitude (SVM) A
SVM, differential SVM (DSVM) A
DSVM of acceleration, angle θ, gravity-weighted SVM (GSVM) A
GSVM, and gravity-weighted DSVM (GDSVM) A
GDSVM are calculated using the following equations [27]:
(1)
A
SVM
(
i
)
=
A
x
2
(
i
)
+
A
y
2
(
i
)
+
A
z
2
(
i
)
,
θ
(
i
)
=
ta
n
-
1
(
A
y
2
(
i
)
+
A
z
2
(
i
)
A
x
(
i
)
)
×
180
π
,
A
DSVM
(
i
)
=
(
(
A
x
(
i
)
-
A
x
(
i
-
1
)
)
2
+
(
A
y
(
i
)
-
A
y
(
i
-
1
)
)
2
h
h
h
h
h
h
+
(
A
z
(
i
)
-
A
z
(
i
-
1
)
)
2
(
A
x
(
i
)
-
A
x
(
i
-
1
)
)
2
+
(
A
y
(
i
)
-
A
y
(
i
-
1
)
)
2
)
1
/
2
,
A
GSVM
(
i
)
=
θ
(
i
)
90
×
A
SVM
(
i
)
,
A
GDSVM
(
i
)
=
θ
(
i
)
90
×
A
DSVM
(
i
)
,
where i denotes the sample number and A
x
(
i
), A
y
(
i
), and A
z
(
i
) denote the x-axial, y-axial, and z-axial accelerations of the ith sample, respectively. The Euler angle θ denotes the tilted angle between the accelerometer y-axis and the vertical direction.


## 2.4. Fall-Detection Algorithm

Figure2 shows the flow diagram for the fall-detection system. Real-time 3-axis accelerations are sent from the sensor handset of the subject to the server through the ZigBee network and then the five types of fall-feature parameters are calculated from the sample data in the learning and evaluating range.Figure 2
Flow diagram for falls detection system.The fall-feature parameters are applied to the simple threshold method to determine whether a parameter is above a certain threshold within a time interval. If any parameter is above a threshold, the sample is determined to be a possible fall indicating a subject fall event or ADL similar to a fall event. The simple threshold algorithm for multiple parameters using double parameters is shown in Algorithm1. The thresholds are determined from the receiver operating characteristics (ROC) curve from which both true positive and false positive rates are calculated for all parameter values. The threshold values are determined when the specificity is best with a sensitivity of 100%. Instead of using all the events, only the fall-feature parameters of the events determined to be possible falls from the simple threshold method are applied to the HMM algorithm [29, 32–34] as shown in Figure 3 and Algorithm 2. First, the learning process of the HMM is performed for four types of ADL and three types of fall; all the values in the model matrices λ
i
=
(
A
i
,
B
i
,
π
i
) of all the single parameters for i activities of four types of ADL and three types of fall are calculated using Baum-Welch learning algorithm [29]. A
i, B
i, π
i, M, and N denote the state transition probability distribution, observation emission probability distribution, initial state distribution, number of invisible states, and number of observation values for i activities, respectively. In this paper, M and N are used as 4 and 8, respectively. Then, based on the leaning database, an activity is evaluated by applying the HMM with the parameter. The likelihood of all the single parameters for the observation sequences is calculated using the HMM evaluation algorithm [29]. Finally the maximum probability among the four types of ADL and three types of fall is determined. If the selected activity with the maximum probability is among the three types of fall, the fall is alarmed; otherwise, it is determined to be an ADL.Algorithm 1:Simple threshold algorithm using double parameters for fall detection.
(1)if the parameter > threshold value of the parameter
then
(2)if  θ > threshold value of  θ
(among 100 samples after satisfying the condition in Line 1)
then
(3)return fall detection
(4)return no fall detectionAlgorithm 2:HMM algorithm for fall detection.
(1) Calculate all the values in model matricesmatricesλ
i = (A
i
,
B
i
,
π
i)* of all single parameters for i activities of four types of
ADL and three types of fall by the Baum-Welch learning algorithm [29]
(2) Calculate all the likelihoods of all single parameters for observation sequences using the evaluation algorithm [29]
(3) Find a maximum probability among four types of ADL and three types of fall
(4)Ifthe activity with the maximum probability is among three types of fall  then fall detection
(5)Else  no fall (ADL) detection
*
A
i
,
B
i, and π
i  denote the state transition probability distribution, observation emission probability distribution, and initial
state distribution fori activities, respectively.Figure 3
Configuration of fall-detection system applying HMM.


## 3. Experimental Results

Figure4 shows the ROC curve of the fall detection obtained from the simple threshold using a single parameter. The single parameter A
GSVM
=
2.5 g has the best fall detection with sensitivity, specificity, and accuracy of 92.92, 81.56, and 88.05%, respectively. The best specificity with 100% sensitivity is 68.13% when θ = 60°. This is chosen as the threshold value.Figure 4
ROC curve of fall detection obtained from the simple threshold using the single fall-feature parameter. The best fall detection is of sensitivity 92.92%, specificity 81.56%, and accuracy 88.05% whenA
GSVM
=
2.5 g.Figures5, 6, 7, and 8 show the ROC curves of the fall detection obtained from the simple threshold using the double parameters of A
SVM and θ, A
DSVM and θ, A
GSVM and θ, and A
GDSVM and θ, respectively, as shown in Algorithm 1. Each best fall detection using double parameters is shown in the captions of Figures 5, 6, 7, and 8. As the false positive rate is decreased, the true positive rate is abruptly decreased. Among them, the best fall detection is of sensitivity 98.75%, specificity 94.38%, and accuracy 96.25% when A
SVM = 2.5 g and θ = 65°, as shown in Figure 5. The best specificity with 100% sensitivity is 91.56% and accuracy is 95.18% when A
GSVM = 2.5 g and θ = 55°. These are chosen as threshold values. Table 1 shows falls and ADLs determined with these threshold values. In this table, the total numbers of each activity for subjects A, B, C, and D and subjects E and F are 15 and 10, respectively. All events of the three types of fall are detected as a fall, but 27 events of ADLs are detected as falls instead of ADLs. Subjects C, D, E, and F especially failed to detect several lying-down events (ADL-4) as ADLs, and subjects E and F of over 40 years old also failed to detect a few running and standing jump events as ADLs. It shows that the simple threshold method has a limitation to detect lying-down events of all subjects and running and jumping events of relatively old subjects.Table 1
Best fall and ADL detection results obtained from the simple threshold method with the double threshold valuesA
SVM
=
2.5 g and θ
=
55
° (sensitivity = 100% and specificity = 91.56% and accuracy = 95.18%).
Subjects(ages)
ADL-a
ADL-b
ADL-c
ADL-d
Fall-a
Fall-b
Fall-c
A (20s)
15
15
15
15
15
15
15
B (20s)
15
15
15
15
15
15
15
C (20s)
15
15
15
11
15
15
15
D (20s)
15
15
15
11
15
15
15
E (40s)
10
10
5
7
10
10
10
F (50s)
10
4
6
9
10
10
10Figure 5
ROC curve of fall detection obtained from the simple threshold using the double fall-feature parameters ofA
SVM and θ. The best fall detection is of sensitivity 98.75%, specificity 94.38%, and accuracy 96.25% when A
SVM = 2.5 g and θ = 65°.Figure 6
ROC curve of fall detection obtained from the simple threshold using the double fall-feature parameters ofA
DSVM and θ. The best fall detection is of sensitivity 98.33%, specificity 90.94%, and accuracy 95.16% when A
DSVM = 1 g and θ = 65°.Figure 7
ROC curve of fall detection obtained from the simple threshold using the double fall-feature parameters ofA
GSVM and θ. The best fall detection is of sensitivity 97.92%, specificity 94.38%, and accuracy 96.4% when A
GSVM = 2 g and θ = 65°.Figure 8
ROC curve of fall detection obtained from the simple threshold using the double fall-feature parameters ofA
GDSVM and θ. The best fall detection is of sensitivity 95.83%, specificity 93.75%, and accuracy 94.94% when A
GDSVM = 1 g and θ = 60°.Table2 shows the falls and ADLs in which the fall events (267 events) chosen from the simple threshold method using double parameters as shown in Table 1 are evaluated by applying the parameter θ to the HMM as shown in Algorithm 2, which is the best of fall and ADL detection results applying 5 types of parameters to HMM as shown in Table 3. Instead of evaluating all 560 events, only the fall events (267 events) chosen from the simple threshold method using double parameters are applied only to the HMM. Computing effort and resources can be saved, compared to applying all the events to the HMM. The sensitivity, specificity, and accuracy obtained from applying the parameter θ to the HMM are 99.17%, 99.69%, and 99.5%, respectively. One lying-down event of subject E (over 40 years old) is detected as a fall instead of an ADL, and one forward fall and one backward fall events of subject F (over 50 years old) are detected as ADLs instead of falls. The experimental results of combining the simple threshold with the HMM are higher than those with the simple threshold method only.Table 2
Best fall and ADL detection results evaluated by applying the parameterθ of the observation samples determined with fall events shown in Table 1 to the HMM algorithm shown in Algorithm  2 (sensitivity = 99.17% and specificity = 99.69% and accuracy = 95.89%).
Subjects(ages)
ADL-a
ADL-b
ADL-c
ADL-d
Fall-a
Fall-b
Fall-c
A (20s)
15
15
15
9
15
15
15
B (20s)
15
15
15
4
15
15
15
C (20s)
15
15
15
15
15
15
15
D (20s)
15
15
15
12
15
15
15
E (40s)
10
10
10
9
10
10
10
F (50s)
10
10
10
10
9
10
9Table 3
Fall detecting results evaluated by combination of the simple threshold method with double parameters and HMM.
θ
A
SVM
A
DSVM
A
GSVM
A
GDSVM
Sensitivity
99.17
97.5
99.6
99.17
99.17
Specificity
99.69
95.63
97.81
96.88
97.5
Accuracy
99.5
96.43
98.57
97.86
98.21


## 4. Conclusions

To detect falls, the fall-detection algorithm combining a simple threshold method and an HMM with 3-axis acceleration was proposed. To apply the proposed fall-detection algorithm and detect falls, a wearable fall-detection device was designed and produced. The several fall-feature parameters of the 3-axis acceleration were introduced and applied to the simple threshold method. Possible falls were chosen through the simple threshold and then applied to the HMM to solve the problems such as deviation of interpersonal falling behavioral patterns and similar fall actions. The double parametersA
SVM = 2.5 g and θ = 65° showed the best fall detection with sensitivity, specificity, and accuracy of 98.75%, 94.38%, and 96.25%, respectively. The best fall detection combining the simple threshold and HMM was of sensitivity 99.17%, specificity 99.69%, and accuracy 99.5% when the threshold values for the simple threshold method were A
SVM = 2.5 g and θ = 55° and the parameter θ was applied to the HMM. These results are higher than those with the simple threshold method using double parameters. Applying only the fall events determined from the simple threshold method to the HMM reduced the computing effort and resources, compared to those of using all the events applied to the HMM. Because the proposed algorithms are simple, they can be implemented into an embedded system such as an 8051-based microcontroller with 128 Kbyte ROM. In the future, if the proposed algorithms are implemented to the embedded system, its performance will be tested in a real time.One limitation of this study is that the fall-detection algorithm was tested on subjects in the age group 20–50, falling under simulated conditions. Further research is required to test the performance of the proposed algorithm for detecting actual falls suffered by the elderly.



---

*Source: 896030-2014-09-17.xml*