Skip to content

anhtngc/Fall-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fall Detection Using YOLOv9 on Raspberry Pi 5

1️⃣ Abstract:

This project aims to develop a real-time fall detection system using a deep learning model. It is based on a previously published study that achieved an mAP@0.5 of 98.1% using the YOLOv9 model. However, we have re-trained and fine-tuned the model by adjusting parameters and using an updated dataset, achieving an improved final training accuracy of 99.1%.

Following this, the system is developed on an embedded platform using the Raspberry Pi 5 combined with a USB Webcam to ensure flexibility, low cost, and ease of practical deployment.

This solution is designed for deployment in various environments such as homes with elderly or children, unsupervised areas, construction sites, and hazardous zones, aiming to enhance safety and minimize risks caused by falls.
image

Key Features:

  • YOLOv9-based deep learning model for fall detection
  • Fine-tuned and optimized model for higher training accuracy
  • Post Training Quantization by ONNX/ONNX Runtime (convert float32 to int8)
  • Raspberry Pi 5 embedded deployment with USB Webcam
  • Low latency for fast response Suitable for elderly, children, construction, hazardous zones.

2️⃣ Technologies Used:

Python Jupyter Notebook Streamlit OpenCV TensorFlow PyTorch Raspberry Pi Kaggle Google Colab Matplotlib Pandas NumPy

3️⃣ Dataset:

This project reuses three widely adopted open-source dataset for fall detection, comprising a total of 23,980 images:

Source Training Validation Testing
Roboflow 6,493 2,150 2,150
Kaggle 291 97 97
CAUCAFall 3,812 1,285 1,286
Addictional 3,809 1,255 1,255
Total 14,405 4,787 4,788

While the original study simplified the task into a single-class binary classification (FallDown only), our approach restructures it into a two-class problem: FallDown and Not_Fallen.

To enhance the model's ability to distinguish between dangerous falls and normal daily activities, we added around 6,000 Not_Fallen images from the CAUCAFall dataset. Each frame is labeled accordingly (class 0 for FallDown, class 1 for Not_Fallen). This design reduces overfitting, improves overall accuracy, and minimizes false positives in real-world deployments such as homes, hospitals, and construction sites. Our new labeled datasets: click here image

4️⃣ Results:

  1. Fall detection results: image
    Achieved high detection performance with a final mAP@0.5 of 99% after re-training and optimizing the YOLOv9 model (50 epochs).
    image
    Detection performance on the test set:
    Class Image Instance Precision Recall mAP50 mAP50-95
    All 4788 4807 0.983 0.979 0.991 0.881
    Falldown 3488 3490 0.97 0.968 0.988 0.847
    Not Fallen 1303 1317 0.997 0.991 0.994 0.915
  2. Deployment on Raspberry Pi 5:
    Comparison of inference performance before and after quantization.
    Test case Model FPS Latency CPU usage Memory Inference time
    1 YOLOv9_FP32_640x640 0.5s 1.92s 147% 5.9% 508.52s
    YOLOv9_INT8_256x256 4.82s 0.194s 357% 2.7% 58.87s
    2 YOLOv9_FP32_640x640 0.45s 1.99s 146.8% 5.5% 551.84s
    YOLOv9_INT8_256x256 4.63s 0.194s 351% 2.8% 63.96s
    3 YOLOv9_FP32_640x640 0.49s 1.92s 144.7% 5.7% 388.75s
    YOLOv9_INT8_256x256 5.02s 0.186s 361.9% 2.7% 46.58s

    image

    Achievement:

    Authored and presented a scientific paper at the RIVF 2025 International Conference (Scopus indexed), contributing to the development of Computing and Communication Technologies.

    References:

    Roboflow Fall Detection Computer Vision Project
    Kaggle Fall Detection Dataset
    Dataset for human fall recognition in an uncontrolled environment
    FD-YOLO: A YOLO Network Optimized for Fall Detection

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •