Vision-Based Driver Drowsiness Monitoring System Using YOLO

GitHub Repo

Driver drowsiness remains a critical factor in road accidents, accounting for thousands of fatalities and injuries each year. This project presents a comprehensive evaluation of real-time, non-intrusive drowsiness detection methods using computer vision techniques, specifically leveraging YOLO (You Only Look Once) object detection architectures.

🧠 Project Overview

We explored both deep learning-based and classical approaches for detecting drowsy behavior:

  • YOLO-based eye state classification using fine-tuned models across seven variants (v5s, v9c, v9t, v10n, v10l, v11n, v11l)
  • Eye Aspect Ratio (EAR)-based method using Dlib’s facial landmarks

Each method was tested on a publicly available, labeled dataset featuring diverse lighting, eyewear, gender, and ethnicity conditions.


The complete system architecture of the Drowsiness Detection System

πŸ“‚ Dataset

We used the UTARLDD dataset for training and evaluation:
πŸ”— UTARLDD Dataset

  • Classes: awake, drowsy
  • Collected in diverse real-world driving scenarios
  • Includes variability in illumination, skin tone, gender, and eyewear

πŸ“Š Performance Evaluation

The following table summarizes the key performance metrics for each model variant. Precision, Recall, and mAP (mean Average Precision) are standard metrics for evaluating object detection models. The Avg. Epoch Time indicates the average time taken to train the model for a single epoch.

YOLO VariantPrecisionRecallmAP@0.5mAP@0.5–0.95Avg. Epoch Time
YOLOv5s0.9200.9040.9620.761N/A
YOLOv9c0.9340.9780.9860.8001000.013
YOLOv9t0.9540.9410.9740.792452.890
YOLOv10n0.9330.9350.9670.778315.413
YOLOv10l0.9110.9470.9630.7701083.836
YOLOv11n0.9540.9410.9810.795273.718
YOLOv11l0.9090.9750.9770.789886.343

βœ… Best Accuracy: YOLOv9c
βš–οΈ Best Efficiency Trade-off: YOLOv11n (ideal for embedded deployment)


πŸ“Œ Conclusion

This project highlights the trade-offs between accuracy, speed, and resource requirements across multiple YOLO variants. While YOLOv9c offers the best raw accuracy, YOLOv11n is a top choice for real-time applications on edge devices. EAR-based methods, though efficient, should be used cautiously due to their limitations in real-world settings.

These insights are applicable in:

  • Autonomous Driving Systems
  • Driver Monitoring Solutions
  • Industrial Safety Monitoring

πŸ”§ Technologies Used

  • Python
  • YOLOv5–YOLOv11 (Ultralytics & official variants)
  • OpenCV
  • Dlib & imutils
  • PyTorch