Edge Impulse logo
Blog Post

Don’t Fall for This One

TinyML, Embedded Devices, Machine LearningA client/server device to detect and analyze worker falls with machine learning at the edge.

Nick Bild

September 6, 2022

    Falls in the workplace are a major issue. A 2014 report published by the U.S. Bureau of Labor Statistics revealed that 261,930 workers missed one or more days of work that year due to injuries from a fall. Sadly, 798 of those workers died as a result of their fall. These accidents are especially prevalent in construction, but also happen across a wide range of industries, including building maintenance, healthcare support, and transportation. The fact of the matter is that certain vocations do carry a substantial amount of risk with them, and while certain safety measures can offer help, not all falls can be prevented. Where prevention is not possible, the next best thing is early detection of the fall so that help can be dispatched without delay, which may prevent the worst of outcomes from occurring.

    Exactly how to provide that early warning signal is not clear, however, and no broad, industry wide standards have been put in place to date. With the current state of embedded computing and machine learning being quite advanced, it should be possible to build a fall detection device that is as simple to use as putting on an article of clothing, and the cost could be sufficiently low to allow large-scale deployments for at-risk workers. Recognizing the opportunity to effect a positive change in this space, machine learning enthusiast Roni Bandini set out to design a prototype fall detector that could serve as a blueprint for creating safer, smarter workplaces in the near future.

    The simple client hardware design

    Bandini reasoned that a fall should be able to be detected by evaluating the change in a person’s coordinates in 3D space over time. An accelerometer can measure these changes with a high degree of precision, but interpreting those measurements is not a straightforward matter. His idea was to feed accelerometer data into a machine learning model, and let it predict when a fall is likely to have occurred. To cut down on the complexity of building this model, Edge Impulse Studio was leveraged by Bandini.

    Assembling the hardware for the device was a breeze — an Arduino Nano BLE 33 Sense was selected because it has an nRF52840 processor operating at 64 MHz and 256 KB of SRAM to run inferences on Edge Impulse models, and it also comes standard with an onboard accelerometer. Since this was an all-in-one solution, all that was left to do was to supply power via a rechargeable battery. To make the device more practical for real world use, Bandini 3D-printed a case so that it can be worn on a belt.

    Designing a 3D-printed case

    Naturally, the fall detections need to be transmitted to a remote server so that others can act on that information, so a Raspberry Pi was set up to act in this capacity. Both the Nano BLE 33 Sense and the Raspberry Pi support Bluetooth communications, so that method was chosen to handle wireless transmissions. In addition to providing actionable, real-time information, this setup also provides the capability to generate historical reports on worker falls.

    For the prototype, just a few minutes of accelerometer data was collected. This data belonged to one of two classes, standing or falling. After collection, it was uploaded to Edge Impulse, where it was automatically labeled based on the file names. An impulse was created to classify the data, starting with a preprocessing step that runs a spectral analysis to extract the most important features from the data. The features were then fed into a neural network classifier that predicts if the accelerometer data is representative of a person standing up or falling down.

    Uploading the training data to Edge Impulse

    After training the model and verifying that the results were acceptable using Edge Impulse’s validation tools, Bandini was ready to deploy the classification pipeline to the physical Arduino hardware. The Nano BLE 33 Sense is fully supported by Edge Impulse, so he had the option to download a ready-for-use firmware image that could be flashed to the board or to instead select an Arduino library, which would enable custom code to be added alongside the machine learning pipeline.

    Between the simple-to-use, inexpensive hardware, and the Edge Impulse machine learning platform, this device that has real potential to transform workplaces for the better and even save lives could be constructed in an afternoon. With a bit more training data to fine-tune the model, we hope to see devices similar to Bandini’s transforming entire industries for the better. Run (but don’t trip) over to the project documentation where you can learn just how easy it can be to leverage machine learning for your own needs.

    Want to see Edge Impulse in action? Schedule a demo today. 


    Are you interested in bringing machine learning intelligence to your devices? We're happy to help.

    Subscribe to our newsletter