Reasons for the project
The number of elderly people living alone has been continuously growing worldwide. This independence comes with the risk of not receiving prompt attention if an accident occurs. According to <>, a third of the people over 65 years old suffer on average one fall per year, and this number grows with age and previous falls, where about one third develop fear of falling again. Not receiving attention in the first hour of the accident increases the risk of death and chronic affections. This issue has been widely addressed with systems that detect falls in elderly people, and generate a prompt alert that can reduce the consequences related to medical response time.
Many approaches have been followed to implement fall detection systems. Two main approaches can be identified: wearable devices and ambient-based. Despite the ambient-based systems are very accurate, these solutions are intrusive and do not solve the problem for independent adults, who are confined to closed spaces. On the other hand, wearable devices offer portability as they can be used regardless of the user location. Available wearable devices include smartphone apps and self-developed systems. In both cases, the preferred sensor is the triaxial accelerometer because of its low cost and small size. Smartphones are economically affordable, however they can be not "installed" in a position on the body that can make precise measurements of the accelerations the body is subject to. As a matter of fact, precise acceleration measurements is a fundamental prerequisite for a reliable fall detection.
The aim of this project is to built a wearable fall detection system that is
- completely open-source
- small
- cheap
- with low energy consumption
- capable to send alerts regardless of user location
Project components
The wearable device will have the following features
- based on Arduino Nano 33 IoT
- fall detection algorithm will be implemented using a neural network. To feed the neural network with accurate data, a sliding-window peak-detection algorithm will be implemented
- connection with the home WiFi network, to send notifications when a fall event occurs when at home
- connection with a smartphone, to leverage an app to route notifications to the rescuers in case of a fall event happening away from home
The technologies that will be used for this project are
- TensorFlow, to model and optimize the neural network that detects fall events
- Bluetooth Low Energy, to connect wearable to a smartphone
- Twilio REST API, to send SMS to the caregiver using the home WiFi network
Project plan
This project involves the following steps
- Building the wearable device
- Modelling, training and tuning the neural network that will classify accelerometer readings as "activity of day life" or "fall"
- Sensing the world (collect accelerometer reading and provide data to the trained neural network)
- Implementing alarm notifications through smartphone app and Twilio REST API
Challenges
This project presents many technical challenges. The most important, in my opinion, are
- run the neural network in the limited hardware resources of the Arduino Nano platform. 32Kb of RAM are definitely a very limited amount of memory to run a classification algorithm
- implement an accurate neural network that correctly discriminates between "falls" and "activities of daily life" using the
- make the wearable device as energy-wise as possible to make the battery last longer
Personal goals
From my perspective, this challenge will be a good opportunity to learn the basics of Machine learning and neural networks with TensorFlow
Source code | Next post | |
---|---|---|
https://github.com/ambrogio-galbusera/ace2.git | ACE - Blog #2 - Building the wearable |