Automated Fall Detection is an essential tool for assisting the elderly in their daily lives. By capturing fall activity, it enables timely notifications to relevant individuals or caregivers. This GitHub repository contains the necessary code and resources for implementing an automated fall detection system.
Description
The fall detection system in this repository utilizes a method described in the research paper titled "Privacy Preserving Automatic Fall Detection for Elderly Using RGBD Cameras." The system focuses on analyzing the deformation of joint structures during falls, which differs significantly from regular daily activities. To achieve this, key points of the human skeleton are extracted using the OpenPifPaf model. By tracking these key points and comparing them with pre-defined vectors, the system detects and identifies falls accurately.
by openpifpaf
Features
The fall detection algorithm in this repository utilizes a set of calculations to determine the likelihood of a fall event. The process involves calculating eight angles based on selected vectors, which are obtained from key points of the human skeleton. The angles are calculated in the following way:
These angles are then used to derive several features that contribute to fall detection:
- costMean: This feature represents the average of the eight calculated angles.
- divisonCost: Each angle is divided by its corresponding angle from the previous frame, and the resulting angles are summed together.
- differenceMean: The absolute difference between each angle of the previous and current frames is taken, and the mean of these differences is calculated. This value is then multiplied by the current frames per second (fps), providing an approximation of the derivative.
- differenceSum: Similar to differenceMean, this feature calculates the sum of the absolute differences between each angle of the previous and current frames.
- meanDifference: The means of the eight angles from the previous and current frames are calculated, and the absolute difference between these means is determined.
By analyzing these features, the fall detection system can accurately identify and classify fall events.
Note: When analyzing falls, we focus on the last six frames (equivalent to one second) as falling is a sequential activity. The cost is determined by calculating the weighted mean of these frames.
To test, run the following code:
python3 fall_detection.py --video video_name -m method_name --save/--no--save
@article{
title={Privacy Preserving Automatic Fall Detection for Elderly Using RGBD Cameras},
authors={Zhang, C., Tian, Y., Capezuti, E.},
year={2012},
doi={https://doi.org/10.1007/978-3-642-31522-0_95},
}