Skip to content

Drowsiness and Yawn Detection

Berikut adalah langkah-langkah lengkap pembuatan dan penggunaan aplikasi Driver Monitoring System berdasarkan kode yang kamu buat. Ini fokus pada aplikasi, library, instalasi, dan versi yang direkomendasikan, sehingga cocok dijadikan dokumentasi teknis proyek.

1. Aplikasi yang Digunakan

Aplikasi yang digunakan untuk membuat dan menjalankan sistem:

1. Python

Digunakan sebagai bahasa pemrograman utama untuk sistem Driver Monitoring.

Versi yang Direkomendasikan

Disarankan menggunakan: Python 3.10 atau 3.11
Karena:
Stabil untuk OpenCV dan dlib
Lebih kompatibel dengan PyInstaller
Lebih ringan dibanding Python 3.13
Cek versi: python --version

2. Visual Studio Code atau Pycharm (Opsional)

Digunakan untuk:
Menulis kode
Debugging
Menjalankan program
Fitur:
Syntax highlight
Terminal
Extension Python

3. PyInstaller

Digunakan untuk:
Mengubah Python menjadi .exe
Install:
pip install pyinstaller
Cek versi:
pyinstaller --version
Contoh versi:
PyInstaller 6.19.0

2. Library yang Digunakan

Program menggunakan beberapa library Python.

1. OpenCV

Library utama untuk pengolahan video.
Fungsi:
Mengakses kamera
Menampilkan video
Menggambar teks
Resize frame
Install:
pip install opencv-python
Versi disarankan:
opencv-python 4.9 atau 4.10
Cek versi:
pip show opencv-python

2. dlib

Digunakan untuk:
Deteksi wajah
Deteksi landmark wajah
Fungsi utama:
get_frontal_face_detector()
shape_predictor()
Install:
pip install dlib
Versi disarankan:
dlib 19.24
Catatan:
dlib adalah library paling berat di project ini, usahakan internet anda stabil.

3. NumPy

Digunakan untuk:
Operasi matematika
Matrix calculation
Contoh:
camera_matrix
model_points
Install:
pip install numpy
Versi disarankan:
numpy 1.26

4. SciPy

Digunakan untuk:
Menghitung jarak titik landmark
Digunakan pada:
dist.euclidean()
Install:
pip install scipy
Versi disarankan:
scipy 1.11

5. Pygame

Digunakan untuk:
Alarm suara
Digunakan pada:
pygame.mixer.music.play()
Install:
pip install pygame
Versi disarankan:
pygame 2.5

3. Instalasi Step-by-Step

Step 1 – Install Python

Download:
https://www.python.org/downloads/
Install dengan opsi:
✔ Add Python to PATH

Step 2 – Buat Virtual Environment

Masuk folder project:
cd Driver_Monitoring_training
Buat venv:
python -m venv .venv
Aktifkan:

Windows

.venv\Scripts\activate
Jika aktif akan muncul:
(.venv)

Step 3 – Install Library

Install semua library:
pip install opencv-python
pip install dlib
pip install numpy
pip install scipy
pip install pygame
pip install pyinstaller
Atau sekaligus:
pip install opencv-python dlib numpy scipy pygame pyinstaller

4. Struktur Folder

Struktur project harus seperti ini:
Driver_Monitoring_training/
├── blinkDetect.py
├── alarm.wav
└── models/
└── shape_predictor_68_face_landmarks.dat

5. File yang Dibutuhkan

1. Landmark Model

File:
shape_predictor_68_face_landmarks.dat
Digunakan untuk:
Deteksi mata
Deteksi mulut
Deteksi kepala
Ukuran:
±100MB
Harus berada di:
models/

2. File Alarm

File:
alarm.wav
Digunakan untuk:
Alarm kantuk

6. Menjalankan Program

Aktifkan environment:
.venv\Scripts\activate
Jalankan program:
python blinkDetect.py

7. Proses Aplikasi

Step 1 – Kamera Aktif

Program akan membuka kamera:
cv2.VideoCapture(0)
Jika gagal:
Camera error

Step 2 – Kalibrasi Otomatis

Program akan menampilkan:
Calibration... Keep eyes open & mouth closed
User harus:
✔ Menghadap kamera ✔ Mata terbuka ✔ Mulut tertutup
Durasi:
60 frame (~3 detik)

Step 3 – Monitoring

Sistem mulai mendeteksi:
Mata
Mulut
Kepala

Step 4 – Deteksi Kantuk

Jika:
Mata tertutup lama
Maka:
Alarm berbunyi

Step 5 – Deteksi Menguap

Jika:
Mulut terbuka lama
Maka:
Alarm berbunyi

Step 6 – Deteksi Distraksi

Jika:
Lihat samping
Muncul:
LOOKING SIDEWAYS

Step 7 – Deteksi Menunduk

Jika:
Menunduk
Muncul:
HEAD DOWN

8. Tombol Kontrol

Reset Counter

Tekan:
R
Reset:
Blink
Yawn

Keluar Program

Tekan:
ESC

9. Generate EXE

Install PyInstaller:
pip install pyinstaller
Generate:
pyinstaller --onedir --noconsole blinkDetect.py
Hasil:
dist/blinkDetect/blinkDetect.exe

10. Versi Library (Recommended Stabil)

Disarankan pakai:
Python 3.10
opencv-python 4.10.0
dlib 19.24.2
numpy 1.26.4
scipy 1.11.4
pygame 2.5.2
pyinstaller 6.5+
Install versi fix:
pip install opencv-python==4.10.0
pip install dlib==19.24.2
pip install numpy==1.26.4
pip install scipy==1.11.4
pip install pygame==2.5.2
pip install pyinstaller==6.5

11. Requirement.txt (Best Practice)

Buat file:
requirements.txt
Isi:
opencv-python==4.10.0
dlib==19.24.2
numpy==1.26.4
scipy==1.11.4
pygame==2.5.2
pyinstaller==6.5
Install:
pip install -r requirements.txt
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.