Ultralytics YOLOv8'i Keşfet

Genel Bakış

YOLOv8, 10 Ocak 2023'te Ultralytics tarafından yayınlandı ve doğruluk ile hız açısından en son teknoloji performansı sunuyor. Önceki YOLO sürümlerinin ilerlemeleri üzerine inşa edilen YOLOv8, çok çeşitli uygulamalardaki birçok nesne algılama görevi için onu ideal bir seçenek haline getiren yeni özellikler ve optimizasyonlar getirdi.

YOLOv8 performans karşılaştırma grafikleri



Watch: Ultralytics YOLOv8 Model Overview
Ultralytics Platform'da Dene

YOLOv8 modellerini doğrudan Ultralytics Platform üzerinde keşfet ve çalıştır.

YOLOv8'in Temel Özellikleri

  • Gelişmiş Omurga ve Boyun Mimarileri: YOLOv8, daha iyi özellik çıkarımı ve nesne algılama performansı sağlayan son teknoloji omurga ve boyun mimarilerini kullanır.
  • Çapraz Temelli Olmayan Bölünmüş Ultralytics Başlığı: YOLOv8, çapraz temelli yaklaşımlara kıyasla daha iyi doğruluk ve daha verimli bir algılama sürecine katkıda bulunan, çapraz temelli olmayan (anchor-free) bölünmüş bir Ultralytics başlığını benimser.
  • Optimize Edilmiş Doğruluk-Hız Dengesi: Doğruluk ve hız arasında optimal bir dengeyi korumaya odaklanan YOLOv8, çeşitli uygulama alanlarındaki gerçek zamanlı nesne algılama görevleri için uygundur.
  • Çeşitli Önceden Eğitilmiş Modeller: YOLOv8, çeşitli görevlere ve performans gereksinimlerine hitap eden bir dizi önceden eğitilmiş model sunar, bu da özel kullanım durumun için doğru modeli bulmanı kolaylaştırır.

Desteklenen Görevler ve Modlar

YOLOv8 serisi, bilgisayarlı görüdeki belirli görevler için özelleşmiş çeşitli modeller sunar. Bu modeller, nesne algılamadan örnek bölümleme, poz/anahtar nokta algılama, yönelimli nesne algılama ve sınıflandırma gibi daha karmaşık görevlere kadar çeşitli gereksinimleri karşılamak üzere tasarlanmıştır.

YOLOv8 serisinin her bir varyantı, yüksek performans ve doğruluk sağlayacak şekilde kendi görevi için optimize edilmiştir. Ayrıca, bu modeller Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma dahil olmak üzere çeşitli operasyonel modlarla uyumludur ve dağıtım ile geliştirmenin farklı aşamalarında kullanımlarını kolaylaştırır.

ModelDosya AdlarıGörevÇıkarımDoğrulamaEğitimDışa Aktar (Export)
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptTespit (Detection)
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptInstance Segmentasyon
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPose/Anahtar Noktalar
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptYönlendirilmiş Tespit
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptSınıflandırma

Bu tablo, YOLOv8 model varyantlarına genel bir bakış sunarak, bunların belirli görevlerdeki uygulanabilirliğini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli operasyonel modlarla uyumluluğunu vurgular. YOLOv8 serisinin çok yönlülüğünü ve sağlamlığını sergileyerek, onları bilgisayarlı görü alanındaki çeşitli uygulamalar için uygun hale getirir.

Performans Metrikleri

Performans

See Detection Docs for usage examples with these models trained on COCO, which include 80 pretrained classes.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
parametre
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

YOLOv8 Kullanım Örnekleri

Bu örnek, basit YOLOv8 eğitimi ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export dokümantasyon sayfalarına bak.

Aşağıdaki örneğin nesne algılama için YOLOv8 Detect modellerine yönelik olduğunu unutma. Desteklenen diğer görevler için Segment, Classify, OBB ve Pose dokümantasyonuna bak.

Örnek

PyTorch önceden eğitilmiş *.pt modellerinin yanı sıra yapılandırma *.yaml dosyaları, Python'da bir model örneği oluşturmak için YOLO() sınıfına aktarılabilir:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Alıntılar ve Teşekkür

Ultralytics YOLOv8 Yayını

Ultralytics, modellerin hızla gelişen doğası nedeniyle YOLOv8 için resmi bir araştırma makalesi yayınlamamıştır. Statik dokümantasyon üretmek yerine teknolojiyi ilerletmeye ve kullanımını kolaylaştırmaya odaklanıyoruz. YOLO mimarisi, özellikleri ve kullanımıyla ilgili en güncel bilgiler için lütfen GitHub depomuza ve dokümantasyonumuza başvur.

Çalışmanda YOLOv8 modelini veya bu depodaki herhangi bir yazılımı kullanıyorsan, lütfen aşağıdaki formatı kullanarak atıfta bulun:

Alıntı
@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

DOI numarasının beklendiğini ve mevcut olduğunda atıfa ekleneceğini lütfen unutma. YOLOv8 modelleri AGPL-3.0 ve Enterprise lisansları altında sunulmaktadır.

SSS

YOLOv8 nedir ve önceki YOLO sürümlerinden farkı nedir?

YOLOv8, gelişmiş özelliklerle gerçek zamanlı nesne algılama performansını iyileştirmek için tasarlanmıştır. Önceki sürümlerden farklı olarak YOLOv8, çapa içermeyen (anchor-free) bölünmüş Ultralytics başlığı, son teknoloji backbone ve boyun (neck) mimarilerini içerir ve optimize edilmiş doğruluk-hız dengesi sunarak çeşitli uygulamalar için ideal hale gelir. Daha fazla ayrıntı için Overview ve Key Features bölümlerine göz at.

YOLOv8'i farklı bilgisayarlı görü görevleri için nasıl kullanabilirim?

YOLOv8; nesne algılama, örnek segmentasyonu, poz/anahtar nokta algılama, yönelimli nesne algılama ve sınıflandırma dahil olmak üzere çok çeşitli bilgisayarlı görü görevlerini destekler. Her model varyantı kendi özel görevi için optimize edilmiştir ve Inference, Validation, Training ve Export gibi çeşitli operasyonel modlarla uyumludur. Daha fazla bilgi için Supported Tasks and Modes bölümüne başvur.

YOLOv8 modelleri için performans metrikleri nelerdir?

YOLOv8 modelleri, çeşitli karşılaştırmalı değerlendirme veri kümelerinde son teknoloji performans elde eder. Örneğin YOLOv8n modeli, COCO veri kümesinde 37.3 mAP (ortalama Hassasiyet) ve A100 TensorRT üzerinde 0.99 ms hız elde eder. Her model varyantı için farklı görevler ve veri kümeleri üzerindeki ayrıntılı performans metrikleri Performance Metrics bölümünde bulunabilir.

YOLOv8 modelini nasıl eğitirim?

YOLOv8 modelini eğitmek Python veya CLI kullanılarak yapılabilir. Aşağıda, COCO ön eğitimli bir YOLOv8 modelini COCO8 veri kümesinde 100 epoch boyunca eğitmek için örnekler bulunmaktadır:

Örnek
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Daha fazla ayrıntı için Training dokümantasyonunu ziyaret et.

YOLOv8 modellerini performans açısından kıyaslayabilir miyim?

Evet, YOLOv8 modelleri çeşitli dışa aktarma formatlarında hız ve doğruluk açısından kıyaslanabilir. Kıyaslama için PyTorch, ONNX, TensorRT ve daha fazlasını kullanabilirsin. Aşağıda Python ve CLI kullanarak kıyaslama için örnek komutlar bulunmaktadır:

Örnek
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

Ek bilgi için Performance Metrics bölümüne göz at.

Yorumlar