Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Deteksi Objek Real-Time dengan YOLOv8 dan OpenCV

1 min read .
Deteksi Objek Real-Time dengan YOLOv8 dan OpenCV

YOLO (You Only Look Once) adalah salah satu algoritma paling populer untuk deteksi objek. Versi terbarunya, YOLOv8, hadir dengan performa yang lebih cepat dan akurat. Pada artikel ini, kita akan mencoba menggunakan YOLOv8 bersama OpenCV untuk melakukan deteksi objek secara real-time lewat webcam.

Prasyarat

Pastikan Anda sudah menyiapkan:

  • Python 3.8+
  • Library ultralytics (untuk YOLOv8)
  • Library opencv-python (untuk akses webcam)

Install dengan pip:

pip install ultralytics opencv-python

Contoh Kode

Berikut contoh kode Python sederhana untuk melakukan deteksi objek dari webcam:

from ultralytics import YOLO
import cv2

# Load model YOLOv8 nano (ringan dan cepat)
model = YOLO("yolov8n.pt")

# Buka webcam (0 = kamera default)
cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()
    if not ret:
        break

    # Jalankan deteksi
    results = model(frame)

    for result in results:
        # Ambil bounding box, class, dan confidence
        boxes = result.boxes
        class_ids = boxes.cls
        confidences = boxes.conf

        # Visualisasikan hasil
        annotated_frame = result.plot()
        cv2.imshow("YOLOv8 Inference", annotated_frame)

    # Tekan 'q' untuk keluar
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

Penjelasan Singkat

  1. Load model YOLO("yolov8n.pt") memuat model YOLOv8 versi nano (paling ringan, cocok untuk real-time). Anda juga bisa coba yolov8s.pt, yolov8m.pt, hingga yolov8l.pt untuk akurasi lebih tinggi.

  2. Buka webcam cv2.VideoCapture(0) mengakses kamera default. Jika ada lebih dari satu kamera, ganti 0 dengan ID kamera lain.

  3. Proses deteksi results = model(frame) langsung mengembalikan objek deteksi lengkap (bounding box, confidence, class ID).

  4. Tampilkan hasil result.plot() membuat frame dengan anotasi kotak deteksi, lalu ditampilkan dengan cv2.imshow.

Kesimpulan

Dengan sedikit kode saja, kita sudah bisa membangun sistem deteksi objek real-time menggunakan YOLOv8 + OpenCV. Kombinasi ini sangat fleksibel: bisa dipakai untuk kamera live, file video, atau kumpulan gambar.

🚀 Selanjutnya, Anda bisa mengembangkannya untuk:

  • Menyimpan hasil deteksi ke file
  • Menjalankan deteksi pada video yang sudah direkam
  • Membuat sistem pengawasan atau analisis otomatis

Lihat Juga

chevron-up