-
0 Comments
Tutorial ini menjelaskan langkah demi langkah cara menginstal dan menjalankan YOLOv8 untuk mendeteksi mata mengantuk menggunakan webcam. Panduan ini ditujukan untuk pemula dan dapat langsung dipraktikkan.
1. Persiapan Awal
Perangkat yang Dibutuhkan
- Laptop atau PC
- Webcam (kamera laptop atau USB)
- Sistem Operasi Windows 10 atau Windows 11
Spesifikasi Minimum
- RAM minimal 8 GB
- Python versi 3.8 sampai 3.11
- GPU tidak wajib (CPU sudah cukup)
2. Install dan Cek Python
2.1 Mengecek Python
Buka Command Prompt (CMD) dengan menekan Windows + R, ketik cmd, lalu tekan Enter.
Jalankan perintah berikut di CMD:
python --version
Jika versi Python muncul, lanjut ke langkah berikutnya. Jika belum terinstall, lakukan instalasi Python.
2.2 Install Python
- Download Python dari website resmi
- Jalankan file installer
- Centang opsi Add Python to PATH
- Klik Install dan tunggu hingga selesai
Setelah selesai, cek kembali Python:
python --version
3. Membuat Folder Project
Buat folder project agar file tersusun rapi, contoh:
D:\YOLO\deteksi-ngantuk
Masuk ke folder tersebut menggunakan CMD:
cd D:\YOLO\deteksi-ngantuk
4. Membuat Virtual Environment
Virtual environment digunakan agar library Python tidak bentrok dengan project lain.
Jalankan perintah berikut:
python -m venv yolo-env
Aktifkan virtual environment:
yolo-env\Scripts\activate
Jika berhasil, CMD akan menampilkan:
(yolo-env)
5. Install YOLOv8 dan Library Pendukung
Jalankan perintah berikut di CMD:
python -m pip install ultralytics opencv-python
Setelah selesai, cek instalasi YOLO:
yolo
Jika muncul daftar perintah YOLO, instalasi berhasil.
6. Download Dataset
Download dataset YOLOv8 dari Roboflow melalui link berikut:
Pilih format YOLOv8 dan ekstrak ke folder:
D:\YOLO\deteksi-ngantuk\dataset
7. Download Model YOLOv8
Download model pretrained YOLOv8n melalui link berikut:
Simpan file ke dalam folder project:
D:\YOLO\deteksi-ngantuk\yolov8n.pt
8. Training Model
Jalankan perintah training berikut:
yolo detect train model=yolov8n.pt data=dataset\data.yaml imgsz=416 epochs=50 batch=4 workers=0
Model hasil training akan tersimpan di:
runs\detect\train\weights\best.pt
9. Uji Model dengan Webcam
Jalankan perintah berikut:
yolo detect predict model=runs\detect\train\weights\best.pt source=0 conf=0.15 show=True
Jika webcam aktif dan mendeteksi mata, berarti model berhasil.
10. Membuat Program Deteksi Mengantuk
Buat file Python baru dengan nama ngantuk_webcam.py
import time
import cv2
from ultralytics import YOLO
MODEL_PATH = r"runs\detect\train\weights\best.pt" # ganti ke last.pt kalau best.pt tidak ada
CLOSED_LABEL = "closed-eyes"
THRESHOLD_SECONDS = 2.0
CONF = 0.4
model = YOLO(MODEL_PATH)
cap = cv2.VideoCapture(0)
closed_since = None
while True:
ret, frame = cap.read()
if not ret:
break
results = model.predict(source=frame, conf=CONF, verbose=False)[0]
names = results.names
detected_closed = False
for box in results.boxes:
label = names[int(box.cls[0])]
if label == CLOSED_LABEL:
detected_closed = True
break
now = time.time()
if detected_closed:
if closed_since is None:
closed_since = now
dur = now - closed_since
if dur >= THRESHOLD_SECONDS:
cv2.putText(frame, f"NGANTUK! ({dur:.1f}s)", (30, 60),
cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 0, 255), 3)
else:
cv2.putText(frame, f"Mata tertutup: {dur:.1f}s", (30, 60),
cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 255, 255), 2)
else:
closed_since = None
cv2.putText(frame, "Normal", (30, 60),
cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 255, 0), 2)
cv2.imshow("Deteksi Ngantuk (q untuk keluar)", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Jalankan program dengan perintah:
python ngantuk_webcam.py
Kesimpulan
Dengan mengikuti tutorial ini, pengguna pemula dapat membangun sistem deteksi mata mengantuk menggunakan YOLOv8 dan webcam. Sistem ini dapat dikembangkan lebih lanjut untuk alarm suara, monitoring pengemudi, atau aplikasi keselamatan lainnya.





