Author: Yan Bello Méndez (yan <at> spaceminds.com)
Founder of SpaceMinds. January 6th, 2019

1. Introduction

This post/paper includes a description of the work done as part of the in-company internship of the Master in Artificial Intelligence (UNIR). This work has been carried out as a real project for a start-up company (Psicobótica). The project work, research and modeling/programming activities were performed by Yan Bello Méndez. These developments benefited from the ongoing feedback of executives of Psicobótica. The information presented below follows the timeline (“journey”) through which this project took place.

The following repository: https://github.com/SpaceMinds/FDS has been setup to publish and share the code files developed as part of the project of the development and exploration/experimentation with a Fall Detection System (FDS).

2. Challenge description and initial framing of the problem

The first step in this project has been to select and define a relevant challenge to be addressed. After exploring various options/alternatives of possible challenges we focused/decided to go for an Application/system of a Fall Detection System (FDS), using Artificial Intelligence techniques (i.e. ML: Machine Learning, Deep Learning, etc.). In fact, we will address this challenge by using models such as a binary classifier (Fall, ADL), a multi-class classifier (like Fall_type_1, Fall_type_2, …, Fall_type_N, ADL_type_1, ADL_type_2,…, ADL_type_m), or a forecasting/regression model (i.e. to predict the value of an accelerometer and anticipate a fall event).

An important issue considered in this decision was the availability of data in the public domain to use for training, validating and testing the proposed model. In section 5, we discuss several alternatives that were explored.

3. About the opportunity: why care about falls?

One perspective on the practical application and value proposition of this project relies on a public health issue. Consider for instance, the increasing number and rate of senior/elderly people who live and/or spend a significant part of their days all along by themselves [17]. In Spain for seniors of over 85 years old, about 40,2% of women and 23,9% of men live along [17]. Numerous studies, publications and websites have been reporting this aging challenge around the world. (for example, USA/Canada: [18][19], UK [20]).

In the case of lonely elders, when a fall happens the chances of providing appropriate attention and care depends highly on detecting somehow the incident and being able to communicate or issue an alarm to healthcare services or family/relatives. Although the main motivation is people’s wellness, of course, there are also significant economic considerations. For example, according to The Centers for Disease Control and Prevention [1] the total medical cost of falls in the USA totaled over $50 billion in the US dollars in 2015. Another claim on their website, anticipates that if the fall increase-rate continues to grow at the current pace, by 2030 there could be 7 deadly falls every hour. This should not be just a call-to-action for the medical and healthcare community, but also an opportunity for researchers in the area of Artificial Intelligence to contribute significant value with new models, algorithms and systems to automatically detect fall events.

4. Goals of the project:

In this context, the project was launched with the following goals:

  • To explore and obtain a (public-domain) dataset to model the Fall Detection System.
  • To explore and apply various Artificial Intelligence and Machine Learning techniques, methods, and algorithms to address the challenges of fall detection.
  • To perform the project with an iterative/agile approach to be able to experiment and learn from the use of different AI/ML models.

With these goals in mind, we embarked in a journey of discovery and research, experiment and test, feedback and learn, as well as improve and evolve, as described below.

5. First things first: find a relevant dataset!

A critical aspect of any AI-based system concerns the data to be used, from the availability/accessibility of relevant datasets, to the quality of the data itself included in those datasets, as well as the constraints and biases that could be enforced in our to-be-designed systems as a result of using one or another dataset. Some considerations to take into account regarding the selection of a dataset include:

  • Accessibility (public domain VS. private data)
  • Data should be realistic, meaningful and related to the problem domain
  • Legal, IP/copyrights and GDPR compliance
  • Scope: amount/diversity of participants: people and demographic – age, gender, subjects’ conditions, etc.
  • Amount of data: number of samples, frequency of sampling, etc.
  • Context of data collection: where and how was the data recorded
  • Equipment used for data collection
  • Repeatability/reproducibility of the data collection procedures

Finding a relevant and appropriate dataset can be a time-consuming activity, but its importance in the context of a data-science or AI project cannot be underemphasized. If we want to avoid the “GIGO” (“Garbage In, garbage out”) syndrome in our project – we need to prioritize and be very systematic in the search of an appropriate dataset. Failure to find one and thus falling into the temptation of using the whatever is available or the “first” we find, might put our project at risk at a later stage producing rework and potentially invalidating any findings or insights generated from such invalid data. Taking these consideration into account, we spent a significant amount of time exploring multiple datasets which are described below, reading papers related to this kind of data and research problems such as [2][3][4][7] among others, not just to learn about how those researchers understood and approached the Fall Detection and ADL (Activity of Daily Living) detection challenges, but also to gain detailed understanding on the way and specific conditions under which data was collected, the sensors and equipment used, the demography of participants, among other specific issues of the problem domain. All in all, trying to get as a good foundation as possible for our later AI modeling and system design activities.

After exploring several datasets, we ended up with five finalists for our selection [see table 1] and decided to go forward with the Sisfall dataset referenced below. This decision was especially influenced by the number of subjects included in this dataset, as well as the diversity of FALL/ADL types. Additionally, this dataset includes a few senior subjects among the participants, something that is scarce in most datasets, especially when looking for data about falls.

Dataset Scope/samples Participants/demography Notes
tFall dataset [2]

EduQTech (Education, Quality and Technology) group of the University of Zaragoza, Spain.

7816 ADL samples and 503 fall samples 10 participants: 7 males and 3 females, Age: 20 to 42 years old. Data collected using a Samsung phone in each pocket of the participant. [2]
DLR dataset [5], Institute of Communications and Navigation of the German Aerospace Center, Germany. 1077 ADL samples and 53 FALL samples 16 participants (male and female). Age: 23 to 50 years old. Data collected with Xsens MTx IMU (inertial measurement unit), attached to participants belts. [5]
MobiFall dataset [6] Biomedical Informatics & eHealth Laboratory of the Technological Educational Institute of Crete. 831 ADL samples and 132 FALL samples [2]

(including 4 types of falls and 9 types of ADLs [6])

Age: 22 to 36 years old [2] Data collected using inertial-sensor data from smartphones.
UMAFall_Dataset [7] Departamento de Tecnología Electrónica, Universidad de Málaga (UMA). Spain 746 samples: 322 ADL samples and 208 FALL samples Age: 18 to 68 years old.

Including 71 ADL records from 3 senior subjects: 1 male of 55, 1 female of 67 and 1 male of 68 years old, respectively.

This dataset was featured in previous a MSc Thesis work (TFM) in UMA.
SysFall_Dataset [8] SISTEMIC lab, research group of the Electronics and Telecommunications Department at the Faculty of Engineering, University of Antioquia, Colombia 4500 samples: 643 FALLS* (grouped into 15 types), and 3857 ADLs (of 19 types) 38 participants: 19 females and 19 males. Two age categories: 23 adults subjects (SA) between 19 and 30 years old; and 15 elderly subjects (SE) age from 60 to 75 years old. Data samples were collected in a gym, using 3 sensors. * includes 76 records of fall data of a male subject 60 years old, who is a judo expert/master.

Table 1: Highlighted dataset finalists in our selection.

6. Profile of a fall and ADL (Activities of Daily Living)

One recommended “best” practice when working with data, is to perform some initial data exploration before one embarks on deeper – and potentially cost-intensive – design and modelling activities. An initial data exploration can help improve the framing of the problem and frequently offer initial insights on how to work with the data we have.

One such initial exploration we performed on this that set was simply to read and visualize the different data files for ADL and Falls.

Figure 1. Accelerometer 1 data from sample F13_SA12_R04.

The data visualized above, comes specifically from the file/sample: F13_SA12_R04.txt, which by the way the file name was generated/encoded, means that this is the 4th recording/trial (R04) of the adult subject number 12 (SA12) of a fall type 13th (F13, a “fall forward while seating…”). And each color plot represents X, Y, and Z of the first accelerometer. The image above clearly exposes one of the early observations. That is, that in a fall event, data recorded with the accelerometer will show significant disturbance and peak values around the impact moment of the fall event. This observation has been already documented by other researchers [9]. Additional information resulting from the initial exploration of the dataset meta-files helps understanding the scope, diversity and demography of the data.

Table 2-3: Participants demography and types of activities/events (ADLs and falls).

 

7. Data preparation and working with windows

Once an initial exploration was completed, we then processed the dataset measurement files (data), to extract a relevant windows (described in the section below) from each file which would allow us to perform training, validation and testing. Sampling around the peak values explained in the previous section is a common and valid approach to get relevant data [9]. Inspired by the work of those researchers [9], we worked in a first iteration with one sample per measurement event, constructed as a window of 3 seconds, around the peak-maximum of the Euclidean norm of the triaxial acceleration (defined as NXYZ = ). With this strategy, we obtained about 4.500 samples of the same size. Using this data, we modeled and prepared a threshold-based classifier, and trained/tested a Support Vector Machine (SVM/SVC), a K-nearest neighbor (KNN) and a basic Artificial Neural Network (ANN) models. For these modeling/training activities we used a set of 54 features (see Appendix 2) calculated for each sample vector.

Our experimentation continued in a second iteration, with a data augmentation of the samples by using moving-sliding window strategy (see figure 2) in order to obtain the samples. This second approach was tried out with various configuration parameters, such as window size and step size.

Figure 2. Sliding window strategy for data augmentation.

As described in Figure 2, we finally chosen to work with a sliding window of 1 second of duration (moving from -2 seconds before the peak moment to + 0.05 seconds after that peak), and a step of 50 milliseconds. Considering that the data was recorded a 200Hz, this strategy resulted in having 41 samples per measurement file. Which, once leveled to have the same amount of fall/ADL’s samples, totaled 147.436 samples for both types of events (falls and ADL) See Appendix 1. As in iteration 1, we calculated the set of 54 features that were used for defining and training the models.

In yet a third iteration/round of data processing we augmented even more the number of samples from the dataset. In this case, to generate more data for training an LSTM (Long Short-Term Memory) type of Recurrent Neural Network (RNN). In this last scenario, we used a similar sliding window approach as described above, but this time moving through a 3 seconds interval by stepping in 1 measurement increments (which implied moving the sliding window 5 milliseconds each time). In this case, the data generated increased to over 2 million (2.157.600 samples to be precise), balanced among ADL/Falls. Also, worth noting that for training the LSTM, the vectors used included as features the raw acceleration data for X, Y and Z axis of the recorded by the 1st accelerometer sensor.

8. Exploring various algorithms and approaches for fall detection

A distinctive attribute of a data-scientist’s or AI engineer’s work is that of experimenting with multiple approaches, models and algorithms to get as close as possible to the desired results. This is clear in the field of ADL/fall recognition, where numerous research and applications ([8][9][10][11][12]) using a diversity of approaches, models, system scenarios with their respective conclusions and observations has been published. With a similar spirit of such diversity-driven experimental research, in our project we have tried various models and algorithms. We start our review with the most basic model of all: a threshold-based classifier. Later, we explore also several Machine Learning-based models, including various classifiers and a time series predictor.

8.a) Implementing a threshold-based classifier

In this section, the results of implementing a threshold-based classifier are presented. This kind of models have been studied as a possible approach for fall detection by establishing some relative thresholds, based on the range of values over differente fall or ADL events, that serve as a trigger to identify the event of a fall, once the value of certain sensor measurement goes above (or below) the established threshold. Although threshold-based classifier algorithms are straightforward in terms of implementation and require little data preparation or computing processing, their effectiveness is quite low. To the point that they are not a viable solution by themselves. However, some research [9] has proposed integrating a threshold-based algorithm as a first part (“filter”) of a larger system for fall detection. Figures 3-6 display the distribution of the Euclidean norm of the triaxial (NXYZ) and horizontal accelerations (NHOR = )for the fall and ADLs data.

Figure 3: Max value of Euclidean triaxial acceleration (NXYZ) by type of fall and ADL (Sensor 1)
Figure 4: Max value of Euclidean horizontal acceleration (NHOR) by type of fall and ADL (Sensor 1)
Figure 5: Max value of Euclidean triaxial acceleration (NXYZ) by type of fall and ADL (Sensor 3)
Figure 6: Max value of Euclidean horizontal acceleration (NHOR) by type of fall and ADL (Sensor 3)

As we can see in Figures 3-6 the logic behind these threshold-based classifiers is easy to understand. In fact, in the occurrence of a fall or ADL event, by comparing the sensors’ NXYZ and NHOR, with the known threshold, one could in principle tell apart fall from ADL. However, the challenge or downside of this model relies in the fact that there is significant overlap in the values of this features for ADL and falls. Therefore, in many cases it is not possible to distinguish between falls and “no-falls”. In this case, the dataset is labelled with ADLs also, but even then, it is no possible to effectively classify different types of ADLs.

Table 4: Performance measures of the threshold-based classifier (using Sensor 3)

These results presented confirm the low performance of this type of model, a fact that has been observed and reported in other research [9] for other fall/ADL datasets as well.

8.b) Iteration 1: Models implemented using a fixed window around the NXYZ peak

The following models were developed in the initial iteration 1, using samples defined as a fixed window around the maximum of the Euclidean norm of triaxial acceleration (NXYZ).

8.b.1) Implementing a K-Nearest Neighbor model (KNN)

We defined and fitted a KNN model and experimented with various parameters. We got the best with the number of neighbors: K=5 and K=10. Smaller values like 3-4 or larger such as 12-15 were not as good.

Note: the dataset used for this model included 4.500 samples, 70%-30% (training/validation split)
Table 5: KNN model definition and performance metrics (Confusion Matrix)

In the code published in the project’s GitHub repository, another KNN model was trained with K=10, for which the performance metrics were quite like the ones above.

8.b.2)Implementing a Support Vector Machine (SVM)-like Classifier model

We defined and trained/fitted an SVC model and experimented with various parameters. In general, the criteria to set initial expectations on the performance of the models, was to replicate and achieve similar or better results than the previously published results (see references), if they existed for a similar model and/or dataset. The selection of a SVM-based classifier is also inspired by the good results reported about their use in ADL/Falls Detection Systems in previous works [9].

Note: the dataset used for this model included 4.500 samples, 70%-30% (training/validation split)
Table 6: SVC model definition and performance metrics (Confusion Matrix)

8.b.3) Implementing a simple Neural Network Model with TensorFlow/Keras

We defined and trained/fitted a simple Artificial Neural Network (ANN) model using Keras with TensorFlow backend and experimenting with various parameters (batch size, optimization method, number of epochs, etc.).

Note: the dataset used for this model included 4.500 samples, 70%-30% (training/validation split)
Table 7: ANN model definition and performance metrics (Confusion Matrix)

The training history displayed in Figure 7, shows the usually desired overall “good” tendency of improving accuracy and reducing loss over time or training epochs. However, as this was the results of a basic training session, using the SGD’s default parameters and configuration the performance it’s also “jumpy” as a result of local minimums during the training, which invited us to experiment with adjustments to the model learning rate.

Figure 7: ANN model training performance metrics (Accuracy and Loss evolution)

8.c) Iteration 2: Models implemented using moving-sliding windows

Although the quantitative results of some of the previous models – specifically, the KNN and SVC models – can be considered very good, the fact that we trained those models using a fixed window around NXYZ peak values imply they would require a certain amount of time to have lapsed since the fall (or ADL) has occurred. In a real live-application scenario this could be a drawback as it would be too late to prevent or anticipate the fall. So, in order to address a more “realistic” scenario, where a measurement device (i.e. mobile phone sensor) would be collecting data in real-time, we also prepared the sample data using the sliding window strategy described above and trained the models presented in the following section. As with the previous models, we used the 54 features listed in appendix 2.

8.c.1) Balancing and splitting data for the sliding-window approach

As a result of this sliding-window approach, we generated a significant amount of data (i.e. 147.600 samples for iteration 2 VS. 4.500 for iteration 1). The data has been balanced to account for the same number of samples of falls and ADLs for the training/val./test sets. In this case, as there were more samples of ADL’s than falls we undersampled the ADL’s.

Note: the augmented dataset now includes 147.600 samples (split as 70%-20%-10% for training/validation/test)
Table 8: Augmented dataset balancing between falls and ADLs for training/validation/testing sets

8.c.2) KNN model performance using the sliding-window approach

KNN MODEL DEFINITION (KNeighborsClassifier):

from sklearn.neighbors import KNeighborsClassifier

KNeighborsClassifier(algorithm=’auto’, leaf_size=30, metric=’minkowski’, metric_params=None, n_jobs=1, n_neighbors=15, p=2, weights=’uniform’)

Table 9: Results of the KNN model and performance on the training/validation/testing sets

8.c.3) SVM model performance using the sliding-window approach

SVM/SVC MODEL DEFINITION (LinearSVC):

from sklearn.svm import LinearSVC

clf = LinearSVC(random_state=0, tol=1e-8, dual=False)

Table 10: Results of the KNN model and performance on the training/validation/testing sets

8.c.4) ANN model performance using the sliding-window approach

ARTIFICIAL NEURAL NETWORK MODEL DEFINITION (TensorFlow/Keras/Sequential):

my_model_NN = keras.Sequential([

keras.layers.Dense(32, input_shape = (len(x_columns),)),

keras.layers.Dense(64, activation= tf.nn.sigmoid),

keras.layers.Dense(32, activation= tf.nn.sigmoid),

keras.layers.Dense(2, activation=tf.nn.softmax) ])

history = my_model_NN.fit(x_train, y_train, epochs=250, batch_size=250, validation_data=(x_val, y_val),)

Table 11: Results of the ANN model and performance on the training/validation/testing sets

8.c.5) Comparing results of Iteration 1 and 2 (fixed VS. sliding window samples)

Table 12: Comparing results of KNN/SVM/ANN for Iteration 1-2 on testing sets

8.c.6) Improving the artificial neural network models

In order to improve the performance of the ANN (artificial neural network) model, we experimented with other network architecture, including the use of more and diverse layers, dropout, RELUs, Batch Normalization, etc. Among other reasons, we expect better results as more layers and/or neurons will give the resulting networks higher expressive capabilities. Also, using dropouts and batch normalization will help us avoid falling into overfitting.

Neural Network #1 (using Relu, Dropout, Batchnormalization, optimizer = SGD)

This model was trained during 1.400 epochs with batch_size = 256. Below the first/last 350 epochs.

Table 13: Improving neural network performance with deep learning techniques
Neural Network #2 (using Relu, Dropout, Batchnormalization, SGD with Momentum)

Table 14: Additional experiments with neural networks using deep learning techniques

8.d) Iteration 3: Using RNN/LSTM model with moving-sliding windows

In this third iteration, we tried to improve and enrich the models by implementing a LSTM (Long Short-Term Memory) model which are well-reputed for their capacity to learn time-series patterns [15][16]. In this context, the aspiration would be to create a system that is able to process in real-time a data sample (window) – for example, 1-2 seconds long from the current moment backwards – and to be able with this information to anticipate (forecast) what the next period will look like. If this approach works well, it opens the door to develop a more sophisticated system that could integrate this component (LSTM network), with a classifier such as the ones developed in iteration 1-2, which could then with high reliability/accuracy classify the LSTM prediction. The multi-part system approach for ADL/Falls recognition have been explored in various research works [1][11][12][13][14].

Diagram 1: Overview of the ADL/Fall classification system

8.d.1) Using RNN/LSTM model with moving-sliding windows

The data used in this case was generated by moving the sampling window 1 line/measurement at a time (which is equivalent to a 1/200 sec). The number of samples obtained are: 1.080.598 in total. However, due to computing-processing limitations it was impossible to train the models using such large amount of data. The results below have been obtained using data sets ranges like: Training set: 10.000 to 30.000, Val.: 5.000 to 10.000, Test: 5.000 to 10.000.

Training LSTM Neural Networks

LSTM 1

LSTM 2

In order to train these models, triaxial accelerometer data was scaled (0-1).

Table 15: Training RNN/LSTM Networks
Using the LSTM Neural Network (forecast ahead approach)

LSTM Network definition

Training history (loss)

Using the LSTM to predict next step/point Using the LSTM to predict 500 steps ahead

In order to train these models, triaxial accelerometer data was scaled (0-1).

Table 16: Using the trained RNN/LSTM Network to predict future steps

From these results, we can argue that the trained LSTM model perform well on a “next step” prediction scenario (having seen a window, predicting the next step value), but poorly in longer range prediction (using a forecast-ahead approach). In table 18, an alternative approach is explored/presented (i.e. updating an ongoing sequence with the last LSTM prediction).

Using the LSTM Neural Network (ongoing-updates approach)

LSTM Network definition

Approach

The main difference in this approach is to use the last prediction of the next step/value in future prediction. In this way the LSTM will be able to incorporate its own predictions into future predictions.

Ongoing prediction of next steps, start step=100 Ongoing prediction of next steps, start step=145

In order to train these models, triaxial accelerometer data was scaled (0-1).

Table 17: Using the trained RNN/LSTM Network to predict future steps (ongoing updates)

9. CONCLUSIONES AND FUTURE LINES OF RESEARCH

Several key conclusions can derive from all the work performed. On one hand, we can emphasize the richness and diversity of results depending on various factors such as algorithms, models, training configurations used, data preparation and sampling techniques, etc. available to address the ADL/Fall detection/classification problem. This is also confirmed from the bibliography studied, where numerous proposed solutions approach the Fall/ADL recognition and classification problem from different perspectives. From our research and experimentations, the best results for detecting a fall event were obtained with a fixed window strategy, using an SVC/SVM classifier. This SVC/SVM model, although not very appropriate for anticipating the fall event (which is in fact, a different but related problem area), can in contrast very reliably confirm if a fall has occurred. Perhaps, being a likely candidate for such a confirmation/recognition-type component in a larger system. In terms of anticipating the fall event – or to that effect, an ADL under study – the best performing model was the LSTM network. This in line with the LSTM networks’ reputation for learning time series and being able to “remember” temporal patterns.

Nevertheless, these are several potential lines of future research and application, from which I could highlight the followings:

  • Integrating various approaches in a single system (for example, as depicted in Figure 1).
  • Obtaining more data that is representative of senior people or being able to simulate how adult-senior subjects would behave.
  • Integrating this FDS in larger and/or more complex healthcare systems and/or social care services.

10. References:

[1] The Centers for Disease Control and Prevention Website: https://www.cdc.gov/homeandrecreationalsafety/falls/adultfalls.html Accessed: October-December 2018.

[2] Igual, R., Medrano, C., & Plaza, I. (2015). A comparison of public datasets for acceleration-based fall detection. Medical engineering & physics37(9), 870-878.

[3] Micucci, D., Mobilio, M., & Napoletano, P. (2017). UniMiB SHAR: A dataset for human activity recognition using acceleration data from smartphones. Applied Sciences7(10), 1101.

[4] Casilari, E., Santoyo-Ramón, J. A., & Cano-García, J. M. (2017). Analysis of public datasets for wearable fall detection systems. Sensors17(7), 1513.

[5] DLR dataset page on the Human Activity Recognition with Inertial Sensors section of the Institute of Communications and Navigation of the German Aerospace Center’s website, Germany. https://www.dlr.de/kn/en/desktopdefault.aspx/tabid-12705/22182_read-50785/

[6] Vavoulas, G., Pediaditis, M., Chatzaki, C., Spanakis, E. G., & Tsiknakis, M. (2014). The mobifall dataset: Fall detection and classification with a smartphone. International Journal of Monitoring and Surveillance Technologies Research (IJMSTR)2(1), 44-56.

[7] Casilari, E., Santoyo-Ramón, J. A., & Cano-García, J. M. (2017). UMAFall: A multisensor dataset for the research on automatic fall detection. Procedia Computer Science110, 32-39. http://webpersonal.uma.es/de/ECASILARI/Fall_ADL_Traces/UMA_FALL_ADL_dataset.html

[8] Sucerquia, A., López, J. D., & Vargas-Bonilla, J. F. (2017). SisFall: A Fall and Movement Dataset. Sensors (Basel, Switzerland)17(1), 198. doi:10.3390/s17010198

[9] Hsieh, C. Y., Liu, K. C., Huang, C. N., Chu, W. C., & Chan, C. T. (2017). Novel hierarchical fall detection algorithm using a multiphase fall model. Sensors17(2), 307.

[10] Khan, S. (2015-04-08). Detecting Falls with X-Factor Hidden Markov Models. nulldoi:10.1016/j.asoc.2017.01.034

[11] Kansiz, A. (2017-06-23). An Energy-Efficient Multi-Tier Architecture for Fall Detection on Smartphones. Sensors, 17(7), 1487.doi:10.3390/s17071487

[12] Ordóñez, F. J., & Roggen, D. (2016). Deep convolutional and LSTM recurrent neural networks for multimodal wearable activity recognition. Sensors16(1), 115.

[13] Sucerquia, A., López, J. D., & Vargas-Bonilla, J. F. (2018). Real-life/real-time elderly fall detection with a triaxial accelerometer. Sensors18(4), 1101.

[14] Santoyo-Ramón, J. A., Casilari, E., & Cano-García, J. M. (2018). Analysis of a smartphone-based architecture with multiple mobility sensors for fall detection with supervised learning. Sensors18(4), 1155.

[15] O’Shea, T. J., Clancy, T. C., & McGwier, R. W. (2016). Recurrent neural radio anomaly detection. arXiv preprint arXiv:1611.00301.

[16] Malhotra, P., Vig, L., Shroff, G., & Agarwal, P. (2015, April). Long short term memory networks for anomaly detection in time series. In Proceedings (p. 89). Presses universitaires de Louvain.

[17] Abellán García, A., Ayala García, A., & Pérez Díaz, J. (2018). Una panorámica de la población mayor, 2018.

[18] Website of Merck Manual in the US and Canada; and the MSD Manual outside of North America: https://www.msdmanuals.com/professional/geriatrics/social-issues-in-the-elderly/the-elderly-living-alone#v1135050 Accessed: December 2018.

[19] Ortman, J. M., Velkoff, V. A., & Hogan, H. (2014). An aging nation: the older population in the United States (pp. 25-1140). United States Census Bureau, Economics and Statistics Administration, US Department of Commerce.

[20] Age UK website (citing several other sources) https://www.ageuk.org.uk/ Accessed: December 2018.

11. Appendices

Appendix 1. Data augmentation using a sliding window strategy

Appendix 2. Calculated (engineered) features for training

Appendix 3. Description of the contents of the GitHub repository

BioBot – Fall Detection System (FDS) Repository:

For the code developed we used this dataset: SisFall: A Fall and Movement Dataset. Created by: A. Sucerquia, J.D. López, J.F. Vargas-Bonilla SISTEMIC, Faculty of Engineering, Universidad de Antiquia UDEA. Detailed information about this dataset can be found in this website: http://sistemic.udea.edu.co/en/investigacion/proyectos/english-falls/. Reference paper: Sucerquia A, López JD, Vargas-Bonilla JF. SisFall: A Fall and Movement Dataset. Sensors (Basel). 2017;17(1):198. Published 2017 Jan 20. doi:10.3390/s17010198

This repository https://github.com/SpaceMinds/FDS has been setup to publish/ share the code files developed as part of the project of the development and exploration/experimentation with a Fall Detection System (FDS).
  • Deliverable_01: Data preparation and Threshold-based Classifier
  • Deliverable_02: Implementing a K-Nearest Neightbors (KNN) Classifier model
  • Deliverable_03: Implementing a Support Vector Machine (SVM)-like Classifier model
  • Deliverable_04: Implementing a simple Neural Network Model with TensorFlow
  • Deliverable_05: Preparing a balanced dataset using moving windows
  • Deliverable_06: Implementing several models (KNN, SVC, NN/TF-Keras) using a balanced dataset and moving Windows
  • Deliverable_07: Preparing a balanced dataset with moving windows for LSTM RNN Models
  • Deliverable_08: Implementing LSTM RNN Models

Files included in this deliverables’ baseline:

  • BioBot_FDS_01_Prepare_Data_Threshold_Classifier (14/10/2018)
  • BioBot_FDS_02_KNN_Model (14/11/2018)
  • BioBot_FDS_03_SVM_Model (14/11/2018)
  • BioBot_FDS_04_Simple_NN_TF Model (14/11/2018)
  • BioBot_FDS_05_Prepare_Moving_Windows_Ds (18/11/2018)
  • BioBot_FDS_YB_06_Models_Using_Balanced_Ds_Moving_Window (20/11/2018)
  • BioBot_FDS_YB_07_DATA_PREP_4_LSTM (01/12/2018)
  • BioBot_FDS_YB_08_IMPLEMENTING_LSTM (04/12/2018)

These models/algorithms and Python codes has been developed by Yan Bello, as part of the Master in Artificial Intelligence (UNIR).