Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚗 SafeDrive: AI-Powered ADAS

Smart Driver Assistance & Fatigue Detection

SafeDrive is an integrated safety system that combines IoT sensors with AI Computer Vision to monitor road hazards and driver drowsiness in real-time.


📜 Project Thesis

"Developing an integrated, low-cost Driver Assistance System (ADAS) that mitigates road accidents by simultaneously monitoring external vehicle surroundings and internal driver physiological states (drowsiness) using a fusion of IoT sensors and on-device Computer Vision."


🌟 Key Features

🧠 Intelligent Driver Monitoring (Internal)

  • AI Drowsiness Detection: Powered by a Convolutional Neural Network (CNN) via Google ML Kit to analyze facial landmarks and eye-open probability.
  • Temporal Microsleep Logic: Implements a custom time-series algorithm to distinguish between natural blinking and dangerous drowsiness (Alert triggers at >1.5s closure).
  • Voice UI: Hands-free emergency audio warnings via the Android Text-to-Speech (TTS) engine.

🛣️ Environment Awareness (External)

  • Forward Collision Warning: Real-time distance acquisition via HC-SR04 Ultrasonic Sensors.
  • Pedestrian Alert System: Blind-spot human detection using HC-SR501 PIR Motion Sensors.
  • Impact & Crash Sensing: Calibrated SW-420 Vibration Sensors for immediate post-accident detection and status reporting.

🛠️ Technical Architecture

Software Engineering

  • Language: Kotlin (Android SDK)
  • Computer Vision: Google ML Kit Face Detection API
  • Camera Pipeline: Jetpack CameraX for high-performance frame analysis.
  • Serial Protocol: Custom USB Serial (OTG) communication for real-time Hardware-to-Mobile data synchronization.

Hardware Engineering

  • Controller: Arduino Uno
  • Optimization: Implemented "Ghost Powering" logic (utilizing Analog pins as Digital 5V/GND sources) to drive a complex sensor suite without external breadboards or power hubs.
  • Baud Rate: Synchronized at 9600 baud for low-latency serial communication.

🚀 System Logic & Data Fusion

  1. Data Acquisition: The Arduino hub polls sensors every 250ms and transmits a formatted data packet: Distance,Crash,Motion.
  2. Analysis: The Android application parses the serial packet while simultaneously running a 30FPS background AI thread to analyze the driver's face.
  3. Smart Decision Engine: The system evaluates all inputs. If any safety threshold is breached (Distance < 20cm, Crash = 1, or Eyes Closed > 1.5s), the app triggers a prioritized audio-visual alert.

📂 Project Structure

  • Arduino_Firmware/: C++ source for hardware control and data packetization.
  • Android_App/: Kotlin & XML source for the AI processing engine and interactive dashboard.

🎓 Academic Context

Developed as a Final Year Project (FYP) for the BS Information Technology degree.

For any-Query

LinkedIn Profile | Email


About

A smart Driver Assistance System (ADAS) using Arduino sensors and Android-based AI Drowsiness Detection.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages