← Back to projects
MRL Eye Classification.
Drowsiness detection with DenseNet121 + ViT — real-time webcam inference with temporal smoothing, audible alerts, and Arduino hardware buzzer.
Binary drowsiness classifier trained on the MRL Eye Dataset (~84,000 infrared eye images, 4 classes collapsed to open/closed). I trained both DenseNet121 and Vision Transformer (ViT) models; ViT was selected as the team’s final model for superior accuracy.
My contribution
- Model training — DenseNet121 (transfer learning from ImageNet, fine-tuned final classifier layers) and ViT, both achieving >96% validation accuracy on the binary open/closed split
- Real-time inference pipeline — Haar Cascade eye detection → crop → model inference at ~30 FPS on a GTX-class GPU, with temporal smoothing (rolling window of N frames) to suppress false positives
- Alert system — drowsiness triggers screen flash + system beep, plus an Arduino-wired hardware buzzer and LED that fire over serial when eyes stay closed beyond threshold
- 21 supporting scripts — data augmentation, retrain iterations, quantization experiments, and benchmarking utilities
Team context
4-person university team project. I owned the model training, inference pipeline, and hardware integration. A teammate handled the dataset preprocessing; another built the PyQt5 GUI wrapper. The final deployed model (ViT) came from the team’s collective iteration — I trained the candidates, the team evaluated and picked.