Inspiration
The inspiration behind our fall detection code stems from the critical need to protect individuals, particularly elders who are more likely to fall and have medical conditions such as Parkinson's disease, heart disease, thyroid issues, nerve problems, and conditions affecting the feet or blood vessels. People living alone are at a heightened risk of serious injuries if they experience a fall and are not promptly assisted. To address this, we have developed an alert system utilizing computer vision to detect falls. Upon detection, the system sends an SMS alert to a designated emergency contact and triggers an alarm sound, ensuring immediate assistance is on the way.
What it does
FallGuard detects when an individual falls in real time using a live camera feed. This will trigger an alert system, consisting of an alarm sound and an SMS message sent to the individual’s emergency contact.
How we built it
Our project’s main objective is fall detection, we used computer vision and pose estimation to monitor and identify potential falls using a webcam (as a demo example for CCTV it would use in the real application setting). The code leverages MediaPipe to extract and analyze pose coordinates (key points) from video frames, visualizing these key points and drawing a bounding box around the detected body. The fall detection algorithm calculates the dimensions of this bounding box and, if the width significantly exceeds the height AND certain pose keypoints exceed a predefined threshold, it identifies a possible fall. Upon detection, the code highlights the area with a red colored and rounded rectangle, plays an alert sound, and sends a notification via Twilio's API. The video feed with these visual cues is displayed in real-time using OpenCV, with the program stopping upon receiving a quit signal (q), which is sent when the patient is safe.
Challenges we ran into
We initially encountered several challenges with our webcam live feed. The feed was lagging, and the key points were not being accurately detected. Additionally, our initial lines incorrectly connected the key points with each other, which gave an unprofessional appearance. Minor errors in the code also caused some trouble. For example, incorrect configurations in the camera settings led to lag, and inaccuracies in keypoint detection were due to insufficient calibration and tuning of the detection algorithm. Furthermore, minor syntax errors and logic bugs in our code caused additional headaches. However, through diligent troubleshooting and collaborative efforts, we were able to overcome these challenges.
Accomplishments that we're proud of
We are incredibly proud of our accomplishments in this project, especially considering it was the first hackathon for our entire team. Despite having no prior practical experience with computer vision or coding a project of this complexity, we successfully developed a system capable of detecting key points of a person. Moreover, our system can track a person walking across a camera in real time, distinguishing various parts of their body, such as their face (even a smile), limbs, overall movement, and, of course, when an individual falls. For most of us, it was our first time using GitHub to collaboratively code. This achievement demonstrates our rapid learning and effective teamwork in applying various new technologies.
What we learned
Having completed this project, we now realize that although a problem may seem extremely challenging at first, thinking through it and working slowly by trial and error makes the solution more attainable. This project helped us expand the functions of our code even further. We enhanced our skills in Python using media pipe and various other libraries.
What's next for Fall Guardian
The next steps for our project include integrating multiple camera feeds to create a comprehensive CCTV-like system that covers different angles and rooms for more accurate fall detection. We also plan to develop a mobile application to allow users to receive alerts, manage emergency contacts, and monitor fall detection status in real time. Additionally, we aim to create a smartwatch application to enhance fall detection accuracy by providing extra data points and improving the notification of emergency contacts. These enhancements will significantly improve the functionality, coverage, and user experience of our fall detection system.

Log in or sign up for Devpost to join the conversation.