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.
"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."
- 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.
- 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.
- 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.
- 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.
- Data Acquisition: The Arduino hub polls sensors every 250ms and transmits a formatted data packet:
Distance,Crash,Motion. - Analysis: The Android application parses the serial packet while simultaneously running a 30FPS background AI thread to analyze the driver's face.
- 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.
Arduino_Firmware/: C++ source for hardware control and data packetization.Android_App/: Kotlin & XML source for the AI processing engine and interactive dashboard.
Developed as a Final Year Project (FYP) for the BS Information Technology degree.