0Pricing
Learn AI with Python · Ders

YOLOv8 ile Nesne Tespiti

ultralytics YOLO, model.predict(), sınırlayıcı kutular, güven skoruna göre filtreleme, özel eğitim.

YOLOv8 ile Nesne Tespiti, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Sınıflandırma ve Tespit

Görüntü sınıflandırması, bir görüntüde ne olduğunu söyler. Nesne tespiti ise bir adım ileri gider: her nesnenin nerede olduğunu bulur ve sınırlayıcı kutular ile etiketler çizer. YOLO, gerçek zamanlı en popüler tespit edicidir.

YOLO nedir?

YOLO (You Only Look Once), tüm nesneleri tek bir ileri geçişte tespit eder; bu da onu video için yeterince hızlı kılar. Ultralytics tarafından geliştirilen YOLOv8, çıkarım ve eğitim için kullanımı kolay bir Python API'si sunar.

pip install ultralytics

Önceden Eğitilmiş Modeli Yükleme

YOLO modülünü içe aktarın ve bir kontrol noktası yükleyin. yolov8n.pt, küçük ve hızlı nano modelidir. Daha büyük türevler (s, m, l, x) hız karşılığında doğruluk sunar. Ağırlıklar ilk kullanımda otomatik olarak indirilir.

from ultralytics import YOLO

model = YOLO("yolov8n.pt")

Çıkarım Çalıştırma

Bir görüntü yolu, URL veya dizi üzerinde model.predict (ya da yalnızca model(image)) çağırın. Bu işlem, her giriş görüntüsü için bir tane olmak üzere bir Sonuçlar listesi döndürür.

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

conf Eşiği

conf parametresi, bir tespitin korunması için gereken minimum güven düzeyini belirler. Belirsiz kutuları elemek için bu değeri yükseltin; böylece daha az yanlış pozitif elde edersiniz. Daha fazla nesne yakalamak için değeri düşürebilirsiniz, ancak gürültü oluşma riski artar.

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

Kutuları Okuma

Her sonuçta bir boxes nesnesi bulunur. boxes.xyxy, sınırlayıcı kutunun köşelerini [x1, y1, x2, y2] biçiminde verir; bunlar sol üst ve sağ alt piksel koordinatlarıdır.

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

Sınıflar ve Güven Düzeyi

Kutuların yanında boxes.cls (sınıf dizinleri) ve boxes.conf (güven skorları) değerlerini de alırsınız. Dizinleri adlara model.names ile eşleyin.

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

Sonuçları Görselleştirme

results[0].plot(), üzerine kutular ve etiketler çizilmiş, görüntülemeye veya kaydetmeye hazır açıklamalı bir görüntü dizisi döndürür. Tespitleri hızlıca denetlemek için çok kullanışlıdır.

annotated = results[0].plot()

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

Videoda Tespit Yapma

Bir video dosyası veya web kamerası dizini aktarın; YOLO her kareyi işler. stream=True ile sonuçları kare kare üretir ve uzun videolarda bellek kullanımını düşük tutar.

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

Özel Eğitim

Kendi nesne sınıflarınızı tespit etmek için, etiketlenmiş bir veri kümesi üzerinde eğitim yapın. Veri yapılandırmasını, dönem sayısını ve görüntü boyutunu içeren model.train çağrısını yapın. YOLO, önceden eğitilmiş ağırlıklara ince ayar uygular.

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

Veri YAML'ı

Veri kümesi YAML'ı, eğitim/doğrulama görüntü klasörlerini ve sınıf adlarını listeler. YOLO, her görüntünün nesne başına normalleştirilmiş kutu koordinatlarını içeren eşleşen bir etiket dosyasına sahip olmasını bekler.

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

Hızlı Kontrol

YOLOv8 bilginizi sınayın.

Özet: YOLOv8 ile Nesne Tespiti

YOLO("yolov8n.pt") ile önceden eğitilmiş bir tespit edici yüklediniz, model.predict(img, conf=0.5) çalıştırdınız ve tespitleri results[0].boxes.xyxy, .cls ve .conf üzerinden okudunuz. Sonuçları results[0].plot() ile görselleştirdiniz ve bir veri YAML'ı ile model.train aracılığıyla özel sınıflara ince ayar uyguladınız.

Sıkça Sorulan Sorular

“YOLOv8 ile Nesne Tespiti” dersi ücretsiz mi?

Evet — “YOLOv8 ile Nesne Tespiti” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“YOLOv8 ile Nesne Tespiti” dersinde ne öğreneceğim?

ultralytics YOLO, model.predict(), sınırlayıcı kutular, güven skoruna göre filtreleme, özel eğitim. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“YOLOv8 ile Nesne Tespiti” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. PyTorch Tensörleri ve Autograd
  2. Özel Veri Kümeleri ve DataLoaders
  3. PyTorch ile CNN Oluşturma ve Eğitme
  4. YOLOv8 ile Nesne Tespiti
← Learn AI with Python Sayfasına Dön