0Pricing
Learn AI with Python · Pelajaran

Deteksi Objek dengan YOLOv8

YOLO ultralytics, model.predict(), kotak pembatas, penyaringan keyakinan, pelatihan khusus.

Deteksi Objek dengan YOLOv8 adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Klasifikasi vs Deteksi

Klasifikasi gambar menyatakan apa yang ada dalam sebuah gambar. Deteksi objek melangkah lebih jauh: menemukan di mana setiap objek berada dengan menggambar kotak pembatas dan label. YOLO adalah detektor waktu nyata yang paling populer.

Apa itu YOLO?

YOLO (Anda Hanya Melihat Sekali) mendeteksi semua objek dalam satu lintasan forward, sehingga cukup cepat untuk video. YOLOv8 dari Ultralytics menyediakan API Python yang bersih untuk inferensi dan pelatihan.

pip install ultralytics

Memuat Model yang Telah Dilatih Sebelumnya

Impor YOLO dan muat checkpoint. yolov8n.pt adalah model nano: sangat kecil dan cepat. Varian yang lebih besar (s, m, l, x) menukar kecepatan dengan akurasi. Bobot diunduh secara otomatis saat pertama kali digunakan.

from ultralytics import YOLO

model = YOLO("yolov8n.pt")

Menjalankan Inferensi

Panggil model.predict (atau cukup model(image)) pada jalur gambar, URL, atau larik. Fungsi ini mengembalikan daftar hasil, satu untuk setiap gambar masukan.

results = model.predict("street.jpg", conf=0.5)

Ambang conf

Parameter conf menetapkan tingkat keyakinan minimum agar suatu deteksi dipertahankan. Naikkan nilainya untuk membuang kotak yang tidak meyakinkan (lebih sedikit positif palsu); turunkan untuk menangkap lebih banyak objek dengan risiko munculnya derau.

results = model.predict("street.jpg", conf=0.25)  # more detections
results = model.predict("street.jpg", conf=0.7)   # only confident ones

Membaca Kotak

Setiap hasil memiliki objek boxes. boxes.xyxy memberikan sudut kotak pembatas sebagai [x1, y1, x2, y2] (koordinat piksel kiri atas dan kanan bawah).

r = results[0]
print(r.boxes.xyxy)  # tensor of [x1, y1, x2, y2] rows

Kelas dan Keyakinan

Bersama kotak, Anda mendapatkan boxes.cls (indeks kelas) dan boxes.conf (skor keyakinan). Petakan indeks ke nama menggunakan model.names.

for box in r.boxes:
    cls_id = int(box.cls)
    conf = float(box.conf)
    name = model.names[cls_id]
    print(name, round(conf, 2))

Memvisualisasikan Hasil

results[0].plot() mengembalikan larik gambar beranotasi dengan kotak dan label yang digambar di atasnya, siap ditampilkan atau disimpan. Ini sangat berguna untuk memeriksa deteksi dengan cepat.

annotated = results[0].plot()

import cv2
cv2.imwrite("output.jpg", annotated)

Mendeteksi dalam Video

Berikan berkas video atau indeks kamera web, lalu YOLO akan memproses setiap bingkai. Dengan stream=True, fungsi ini menghasilkan hasil bingkai demi bingkai, sehingga penggunaan memori tetap rendah untuk video panjang.

for result in model.predict("clip.mp4", stream=True):
    boxes = result.boxes
    # process each frame

Pelatihan Khusus

Untuk mendeteksi kelas objek Anda sendiri, latih model dengan kumpulan data berlabel yang dijelaskan oleh berkas YAML. Panggil model.train dengan konfigurasi data, jumlah epoch, dan ukuran gambar. YOLO melakukan penyesuaian lanjutan pada bobot yang telah dilatih sebelumnya.

model = YOLO("yolov8n.pt")
model.train(
    data="my_dataset.yaml",
    epochs=50,
    imgsz=640
)

YAML Data

YAML kumpulan data mencantumkan folder gambar train/val dan nama kelas. YOLO mengharapkan setiap gambar memiliki berkas label yang sesuai dengan koordinat kotak ternormalisasi untuk setiap objek.

# my_dataset.yaml
# train: images/train
# val: images/val
# names:
#   0: helmet
#   1: vest

Pemeriksaan Singkat

Uji pengetahuan Anda tentang YOLOv8.

Rangkuman: Deteksi Objek dengan YOLOv8

Anda memuat detektor yang telah dilatih sebelumnya dengan YOLO("yolov8n.pt"), menjalankan model.predict(img, conf=0.5), dan membaca deteksi dari results[0].boxes.xyxy, .cls, serta .conf. Anda memvisualisasikan hasil dengan results[0].plot() dan melakukan penyesuaian lanjutan pada kelas khusus melalui model.train dengan YAML data.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Deteksi Objek dengan YOLOv8” gratis?

Ya — teks lengkap “Deteksi Objek dengan YOLOv8” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Deteksi Objek dengan YOLOv8”?

YOLO ultralytics, model.predict(), kotak pembatas, penyaringan keyakinan, pelatihan khusus. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Deteksi Objek dengan YOLOv8” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Tensor PyTorch dan Autograd
  2. Dataset dan DataLoader Khusus
  3. Membangun dan Melatih CNN di PyTorch
  4. Deteksi Objek dengan YOLOv8
← Kembali ke Learn AI with Python