YOLOv8 - YOLOv9: Nesne Tespiti için Teknik Bir Karşılaştırma
Optimal bilgisayar görüşü modelini seçmek, doğruluk, çıkarım hızı ve hesaplama verimliliği gereksinimlerini dengeleyerek yapay zeka projelerinin başarısını etkileyen çok önemli bir karardır. Bu kapsamlı kılavuz, çok yönlü ve üretime hazır bir model olan Ultralytics YOLOv8'i, yeni gradyanlar aracılığıyla algılama doğruluğunu en üst düzeye çıkarmaya odaklanan bir mimari olan YOLOv9'a karşı karşılaştırmaktadır. Bilinçli bir seçim yapmanıza yardımcı olmak için mimari farklılıklarını, performans metriklerini ve ideal dağıtım senaryolarını analiz ediyoruz.
Ultralytics YOLOv8: Çok Yönlülük ve Kullanım Kolaylığı Standardı
Ultralytics tarafından piyasaya sürülen YOLOv8, sadece bir model değil, pratik yapay zeka için eksiksiz bir çerçeve olarak tasarlanmış, YOLO serisinde büyük bir evrimi temsil ediyor. Kusursuz bir kullanıcı deneyimine, donanım genelinde güçlü performansa ve basit detect ötesinde çok çeşitli görüş görevlerine desteğe öncelik verir.
- Yazarlar: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- Kuruluş:Ultralytics
- Tarih: 2023-01-10
- GitHub:https://github.com/ultralytics/ultralytics
- Belgeler:https://docs.ultralytics.com/models/yolov8/
Mimari ve Ekosistem
YOLOv8, hafif yürütmeyi korurken özellik entegrasyonunu iyileştiren bir anchor-free algılama başlığı ve bir C2f (2 evrişimli Çapraz Aşamalı Kısmi) modülü sunar. Araştırma odaklı modellerin aksine, YOLOv8 dağıtım düşünülerek oluşturulmuştur. Doğal olarak görüntü sınıflandırmayı, örnek segmentasyonunu, poz tahminini ve yönlendirilmiş sınırlayıcı kutu (obb) algılamayı destekler.
YOLOv8'in gerçek gücü, Ultralytics ekosisteminde yatar. Geliştiriciler, eğitim, doğrulama ve dağıtımı standartlaştıran birleşik bir Python API ve CLI'dan yararlanır. Bu "her şey dahil" yaklaşımı, bilgisayarla görme uygulamaları için pazara sunma süresini önemli ölçüde azaltır.
Güçlü Yönler
- Rakipsiz Çok Yönlülük: Tek bir kütüphanede algılama, segmentasyon, sınıflandırma ve poz tahminini yönetir.
- Dağıtıma Hazır: ONNX, OpenVINO, TensorRT ve CoreML için yerel dışa aktarma desteği, uç cihazlara ve bulut sunucularına entegrasyonu basitleştirir.
- Bellek Verimliliği: Transformatör tabanlı mimarilere kıyasla eğitim sırasında daha düşük CUDA bellek kullanımı için optimize edilmiştir, bu da onu standart tüketici GPU'larında erişilebilir kılar.
- Hız-Doğruluk Dengesi: Genellikle CPU ve uç donanımında rakiplerinden daha iyi performans gösteren olağanüstü gerçek zamanlı çıkarım hızları sunar.
- Aktif Destek: Ultralytics'ten büyük bir açık kaynak topluluğu ve sık güncellemelerle desteklenir, bu da en son kitaplıklar ve donanımlarla uyumluluğu sağlar.
YOLOv8 hakkında daha fazla bilgi edinin
YOLOv9: Yüksek Doğruluk için Mimari Yenilik
YOLOv9, derin öğrenmedeki "bilgi darboğazı" sorununu ele almaya odaklanarak piyasaya sürüldü. Derin katmanlardan geçerken veri bilgisini korumayı amaçlayan teorik kavramlar sunar ve öncelikle nesne algılama doğruluğunun üst sınırlarını hedefler.
- Yazarlar: Chien-Yao Wang, Hong-Yuan Mark Liao
- Kuruluş:Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2024-02-21
- Arxiv:https://arxiv.org/abs/2402.13616
- GitHub:https://github.com/WongKinYiu/yolov9
- Belgeler:https://docs.ultralytics.com/models/YOLOv9/
Temel Yenilikler
YOLOv9'un mimarisi iki ana bileşene dayanır: Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Toplama Ağı (GELAN). PGI, derin ağlarda ileri besleme işlemi sırasında kritik girdi bilgilerinin kaybını önlemek için çalışır ve güncellemeler için güvenilir gradyanların oluşturulmasını sağlar. GELAN, parametre verimliliğini optimize etmek için tasarlanmıştır ve modelin saygın bir hesaplama ayak izi ile yüksek doğruluk elde etmesini sağlar.
Güçlü Yönler
- High Accuracy: En büyük varyant olan YOLOv9-E, hassasiyetin çok önemli olduğu senaryolarda COCO veri kümesinde mAP için etkileyici benchmarklar belirler.
- Parametre Verimliliği: GELAN sayesinde, orta boy YOLOv9 modelleri, bazı eski mimarilerden daha az parametreyle rekabetçi doğruluk elde eder.
- Teorik Gelişme: Derin ağ eğitiminde bilgi korunmasıyla ilgili temel sorunları ele alır.
Zayıflıklar
- Sınırlı Çok Yönlülük: Öncelikli olarak nesne algılamaya odaklanmıştır. Yetenekli olmasına rağmen, temel Ultralytics serisinde görülen segmentasyon, poz ve sınıflandırma için yerel, akıcı desteğe sahip değildir.
- Karmaşık Eğitim: PGI için yardımcı dalların tanıtılması, eğitim sürecini, aerodinamik YOLOv8 hattına kıyasla ayarlamayı daha kaynak yoğun ve karmaşık hale getirebilir.
- Çıkarım Hızı: Verimli olmasına rağmen, mimari karmaşıklık, YOLOv8'de kullanılan yüksek düzeyde optimize edilmiş bloklara kıyasla belirli donanımlarda daha yavaş çıkarım sürelerine yol açabilir.
YOLOv9 hakkında daha fazla bilgi edinin
Performans Kafa Kafaya
YOLOv8 ve YOLOv9'u karşılaştırırken, seçim genellikle dağıtım ortamınızın özel kısıtlamalarına bağlıdır. YOLOv8, çıkarım hızı ve dağıtım esnekliğinde baskınken, YOLOv9 algılama metriklerinin tavanını zorlar.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Veriler açık bir ayrımı vurgulamaktadır: YOLOv8, özellikle GPU (TensorRT) ve CPU (ONNX) üzerinde üstün hız sunar, bu da uç nokta yapay zeka uygulamaları için kritik öneme sahiptir. Örneğin, YOLOv8n, T4 GPU'larda YOLOv9t'den önemli ölçüde daha hızlıdır (1,47 ms'ye karşı 2,3 ms). Aksine, YOLOv9e en yüksek mAP'ye ulaşır (%55,6), bu da onu gecikmenin küçük ayrıntıları algılamaktan daha az kritik olduğu sunucu tarafı işleme için uygun hale getirir.
Biliyor muydunuz?
Ultralytics YOLOv8, aşağıdakiler için yerel destekle tasarlanmıştır: hepsi başlıca bilgisayar görüşü görevleri. Nesne algılamadan şuna geçebilirsiniz: örnek segmentasyonu sadece model ağırlık dosyasını değiştirerek (örn, yolov8n.pt için yolov8n-seg.pt), standart YOLOv9 deposunda bulunmayan bir esneklik düzeyi sağlar.
İdeal Kullanım Senaryoları
Şu durumlarda Ultralytics YOLOv8'i Seçin:
- Üretime hazır bir çözüme ihtiyacınız var: Kapsamlı dokümantasyon, topluluk desteği ve önceden oluşturulmuş entegrasyonlar (MLFlow ve TensorBoard gibi), prototipten ürüne giden yolu kolaylaştırır.
- Hız kritik öneme sahiptir: Gerçek zamanlı video analizi, otonom navigasyon veya mobil uygulamalar için YOLOv8'in optimize edilmiş çıkarım hızı belirgin bir avantaj sağlar.
- Birden çok görüntü işleme görevine ihtiyacınız var: Algılamanın yanı sıra poz tahmini veya segmentasyon içeren projeler, en iyi YOLOv8'in birleşik çerçevesi tarafından desteklenir.
- Kaynak kısıtlamaları mevcuttur: YOLOv8 modelleri, Raspberry Pi'lerden NVIDIA Jetson'lara kadar çeşitli donanımlar için yüksek düzeyde optimize edilmiştir ve bu da cihazlarda verimli çalışma sağlar.
Şu durumlarda YOLOv9'u seçin:
- Maksimum doğruluk tek ölçüttür: mAP'deki her bir yüzde kesrinin hız veya kullanılabilirlikten daha önemli olduğu akademik araştırma veya özel inceleme görevleri için.
- Mimari araştırıyorsunuz: PGI ve GELAN kavramları, derin ağlarda gradyan akışını inceleyen araştırmacılar için değerlidir.
Kod Uygulaması
Ultralytics ekosisteminin en büyük avantajlarından biri, her iki modeli de aynı basit API ile desteklemesidir. Bu, kendi özel veri kümelerinizde bunları kolayca karşılaştırmanıza olanak tanır.
İşte sadece birkaç satır kodla bir YOLOv8 modelini nasıl eğitebileceğiniz:
from ultralytics import YOLO
# Load a YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on your data
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Çünkü Ultralytics YOLOv9'u entegre eder, model dizesini aşağıdakiyle değiştirebilirsiniz: yolov9c.pt Yerel YOLOv8 modelleri genellikle dağıtım araçlarıyla daha sıkı entegrasyondan faydalanmasına rağmen, aynı güçlü ardışık düzen içinde YOLOv9 ile denemeler yapabilirsiniz.
Sonuç
Geliştiricilerin ve ticari uygulamaların büyük çoğunluğu için Ultralytics YOLOv8 önerilen seçim olmaya devam ediyor. Hız ve doğruluğun üstün dengesi, olgun ve iyi yönetilen bir ekosistemle birleştiğinde, projelerin geleceğe dönük ve bakımı daha kolay olmasını sağlar. Tek bir çerçeve içinde detect, segment ve poz tahmini işleme yeteneği, benzersiz çok yönlülük sunar.
YOLOv9 heyecan verici mimari teoriler sunsa ve yüksek tepe doğruluğuna ulaşsa da, genellikle çıkarım gecikmesinin bir kısıtlama olmadığı belirli araştırma nişleri veya senaryolar için ayrılmıştır.
Bilgisayar görüşü teknolojisindeki en son yenilikleri arayanlar, YOLOv8 tarafından oluşturulan verimliliği ve performansı daha da geliştiren YOLO11'e göz atmayı unutmayın. Ek olarak, transformatör tabanlı yaklaşımlarla ilgilenen araştırmacılar, farklı mimari ödünleşimler için RT-DETR'yi keşfedebilir.
Model karşılaştırma sayfamızda daha fazla karşılaştırma keşfedin.