Akbank Derin Öğrenme Bootcamp Projesi – Eylül 2025
Bu proje kapsamında, MRL Eye Dataset kullanılarak sürücülerin göz açıklık/kapalı durumlarını sınıflandıran bir Convolutional Neural Network (CNN) tabanlı model geliştirilmiştir.
Amaç, uyku hali (drowsiness detection) tespiti yaparak sürücü güvenliğine katkıda bulunmaktır.
- Kaynak: MRL Eye Dataset
- Özellikler:
- 84,898 görüntü
- Açık/Kapalı göz sınıfları
- Farklı ışık koşulları, cihazlar ve yansıma seviyeleri
- Ek anotasyonlar: cinsiyet, gözlük durumu, ışık koşulu, sensör ID
---
- Python 3.11
- TensorFlow / Keras
- OpenCV
- scikit-learn
- Matplotlib / Seaborn
- Keras Tuner (Hiperparametre optimizasyonu)
- TensorBoard (Model izleme)
- Görseller yeniden boyutlandırıldı (96x96).
- Normalizasyon yapıldı.
- Train/Validation/Test split oluşturuldu.
- Data Augmentation (rotation, flip, zoom, color jitter) uygulandı.
- CNN tabanlı model:
- Convolutional Layers
- Pooling Layers
- Dropout
- Dense Layers
- Aktivasyon: ReLU, Sigmoid
- Transfer Learning ile performans artırma denemeleri yapıldı.
Keras Tuner kullanılarak aşağıdaki parametreler optimize edildi:
- Filtre sayısı
- Kernel boyutu
- Dense layer boyutları
- Dropout oranı
- Learning rate
En iyi sonuç veren kombinasyon:
- Kernel Size: 5
- Filters: 64
- Dense Units: 64
- Dropout: 0.5
- Learning Rate: 0.001
- Val Accuracy: %96.55
- Accuracy & Loss Grafikleri (overfitting / underfitting kontrolü)
- Confusion Matrix
- Classification Report
- Accuracy Grafiği
Eğitim (mavi) ve validasyon (turuncu) accuracy değerlerin çok yakın ilerliyor.
Validasyon eğrisi eğitimden biraz daha yüksek (bu normal olabilir, dropout ve regularization etkisiyle).
Overfitting yok ✅ Çünkü validasyon accuracy’si eğitim accuracy’sinden kopmamış.
- Loss Grafiği
Eğitim kaybı (mavi) ve validasyon kaybı (turuncu) sürekli azalarak birbirine yakın ilerliyor.
Validasyon kaybı da düzenli şekilde düşüyor.
Underfitting de yok ✅ Çünkü loss yüksek kalmamış, hızlıca düşmüş.
📊 Sonuçlar:
| Class | Precision | Recall | F1-Score |
|---|---|---|---|
| Closed | 0.98 | 0.99 | 0.98 |
| Open | 0.99 | 0.98 | 0.98 |
Modelin karar verirken hangi bölgeleri dikkate aldığı Grad-CAM yöntemi ile görselleştirilmiştir.
Model, açık/kapalı göz tespitinde doğru bölgelere odaklanmaktadır.
- CNN tabanlı model + Transfer Learning ile yüksek doğruluk elde edilmiştir.
- Data Augmentation, modelin genelleme kapasitesini artırmıştır.
- Keras Tuner ile yapılan hiperparametre optimizasyonu, doğruluğu %96.55’e çıkarmıştır.
- Test setinde %98 başarı sağlanarak modelin güvenilirliği kanıtlanmıştır.
-
Gerçek Zamanlı Sistem Entegrasyonu: Modelin mobil cihazlarda veya gömülü sistemlerde çalıştırılarak araç içi kamera sistemlerine entegre edilmesi.
-
Yüz ve Baş Pozu Takibi: Göz kapanma tespiti ile birlikte başın öne düşmesi, esneme gibi diğer uyku belirtilerinin eklenmesi.
-
Multi-modal Analiz: Göz hareketi dışında kalp atış hızı, EEG, direksiyon hareketleri gibi farklı biyometrik/veri kaynaklarının entegre edilmesi.
-
Daha Geniş Veri Setleri: Farklı yaş grupları, etnik kökenler ve çeşitli sürüş koşullarını içeren daha kapsamlı veri setleriyle eğitimin güçlendirilmesi.
-
Gerçek Trafik Senaryoları: Laboratuvar ortamı dışında gerçek araç içi testlerle modelin güvenilirliğinin sınanması.
-
Model Optimizasyonu: Edge AI için daha hafif ve hızlı çalışan CNN/Transformer tabanlı modellerin geliştirilmesi.
-
Alarm & Müdahale Mekanizması: Tespit edilen uyku hali durumunda sesli/ışıklı uyarı sistemlerinin otomatik tetiklenmesi.
🔗 Kaggle Notebook: 🔗 https://www.kaggle.com/code/sedatakda/akbank-bootcamp-project-cnn-drowsiness-detection