İçeriğe geç

YOLOv5 YOLOv9: Gerçek Zamanlı Nesne Algılamanın Evrimi

Gerçek zamanlı nesne algılama alanı son birkaç yılda önemli ölçüde gelişmiştir. YOLOv5 2020 yılında kullanılabilirlik ve endüstriyel uygulamalar için standartları belirlerken, YOLOv9 2024 yılında doğruluk ve verimlilik sınırlarını zorlamak için yeni mimari kavramlar getirmiştir. Bu kılavuz, geliştiricilerin bilgisayar görme projeleri için doğru aracı seçmelerine yardımcı olmak amacıyla ayrıntılı bir teknik karşılaştırma sunmaktadır.

Model Kökenleri ve Teknik Özellikler

Bu modellerin kökenini anlamak, tasarım felsefelerini ve amaçlanan kullanım alanlarını bağlam içine yerleştirmemize yardımcı olur.

YOLOv5: Endüstriyel Standart

Glenn Jocher ve Ultralyticstarafından piyasaya sürülen YOLOv5 , kullanım kolaylığı, dışa aktarılabilirlik ve hıza YOLOv5 . Bu YOLO , PyTorch'da yerel olarak uygulanan ilk YOLO modeli oldu ve böylece büyük bir Python topluluğunun erişimine açıldı.

  • Yazar: Glenn Jocher
  • Kuruluş:Ultralytics
  • Tarih: 2020-06-26
  • Depo:GitHub
  • Odak noktası: Kullanılabilirlik, sağlam dışa aktarım yolları (ONNX, CoreML, TFLite) ve hızlı eğitim.

YOLOv5 hakkında daha fazla bilgi edinin.

YOLOv9: Mimari Yenilik

2024 yılının Şubat ayında Academia Sinica'dan Chien-Yao Wang ve Hong-Yuan Mark Liao tarafından piyasaya sürülen YOLOv9 , derin ağlardaki "bilgi darboğazı" sorununu çözmeye YOLOv9 .

  • Yazarlar: Chien-Yao Wang, Hong-Yuan Mark Liao
  • Kuruluş: Bilgi Bilimi Enstitüsü, Academia Sinica
  • Tarih: 2024-02-21
  • Depo:GitHub
  • Makale:arXiv:2402.13616
  • Odak noktası: Programlanabilir Gradyan Bilgisi (PGI) kullanarak parametre verimliliği ve derin denetim.

YOLOv9 hakkında daha fazla bilgi edinin.

Mimari Farklılıklar

Temel fark, bu modellerin özellik çıkarma ve gradyan akışını nasıl ele aldıklarında yatmaktadır.

YOLOv5 CSPNet (Cross Stage Partial Network) backbone kullanır. Bu tasarım, doğruluğu korurken hesaplamayı azaltmak için gradyan akışını böler, bu da gömülü sistemler için uygun kompakt modeller oluşturmak açısından devrim niteliğinde bir yenilikti. Ankraj tabanlı algılama başlığı, genel amaçlı görevler için yüksek düzeyde optimize edilmiştir ve birçok eski uygulama için rekabetçi bir denge sunar.

YOLOv9 iki önemli yenilik sunar: GELAN (Genelleştirilmiş Verimli Katman Toplama Ağı) ve PGI (Programlanabilir Gradyan Bilgisi). GELAN, parametre kullanımını optimize ederek modelin daha hafif olmasını ve daha karmaşık özellikleri öğrenmesini sağlar. PGI, yardımcı bir denetim dalı sağlayarak verilerin derin katmanlara yayılması sırasında meydana gelen bilgi kaybını giderir ve çok derin mimarilerde bile güvenilir gradyan üretimi sağlar.

Biliyor muydunuz?

YOLOv9 mimari açıdan yenilik YOLOv9 , Ultralytics YOLOv5 ekosistemi, dağıtım açısından rakipsiz olmaya devam ediyor. TensorRT Edge TPU gibi formatlara dışa aktarmayı yerel olarak destekleyerek, eğitimden üretime giden yolu basitleştiriyor.

Performans Analizi

Metrikleri karşılaştırdığımızda, YOLOv9 belirli bir parametre sayısı için, özellikle daha büyük model varyantlarında daha yüksekmAPval değerine ulaşır. Ancak YOLOv5 , daha basit mimarisi sayesinde CPU'larda ve eski donanımlarda çıkarım hızı açısından inanılmaz derecede rekabetçi YOLOv5 .

Kıyaslama Metrikleri

Aşağıdaki tablo, bu ödünleşimleri göstermektedir. YOLOv9c, YOLOv5x'i (50,7%) geride bırakarak %53,0 mAP elde ederken, önemli ölçüde daha az parametre kullanmaktadır (25,3 milyon karşı 97,2 milyon). Bu, GELAN mimarisinin verimliliğini göstermektedir. Tersine, daha küçük YOLOv5 (Nano ve Small) son derece düşük gecikme süresi sunarak ultra düşük güç tüketen cihazlar için uygun hale gelmektedir.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLOv5n64028.073.61.121.94.5
YOLOv5s64037.4120.71.927.216.5
YOLOv5m64045.4233.94.0321.249.0
YOLOv5l64049.0408.46.6146.5109.1
YOLOv5x64050.7763.211.8986.7205.7
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Not: Tablo, standart COCO ölçütlerini yansıtmaktadır. Kalın yazılmış değerler, o belirli kategoride en iyi performansı göstermektedir.

Kullanım Kolaylığı ve Ekosistem

Bu noktada, bu ayrım geliştiriciler için en pratik hale gelir.

Ultralytics (YOLOv5)

YOLOv5 , geliştirici deneyimi için YOLOv5 . Ultralytics sorunsuz bir iş akışı sağlar:

  1. Basit API: Birkaç satırlık Python kodu ile modelleri yükleyin ve eğitin.
  2. Entegre Araçlar: Comet ClearML gibi deney izleme araçlarıyla otomatik entegrasyon.
  3. Dağıtım: Tek tıklamayla ONNX, CoreML, TFLite ve OpenVINO tek tıklamayla dışa aktarma.
from ultralytics import YOLO

# Load a pre-trained YOLOv5 model
model = YOLO("yolov5su.pt")

# Train on custom data
model.train(data="coco8.yaml", epochs=100)

# Export to ONNX for deployment
model.export(format="onnx")

YOLOv9

Son derece doğru olmasına rağmen, orijinal YOLOv9 araştırma odaklıdır. Ancak, YOLOv9 artık Ultralytics içinde tam olarakYOLOv9 ve bu yeni mimariye aynı kullanım kolaylığını getirmektedir. Bu, en son mimari iyileştirmelere erişmek için kullanılabilirlikten ödün vermek zorunda olmadığınız anlamına gelir; model adı dizesini değiştirmek yeterlidir.

Eğitim Verimliliği ve Bellek

YOLOv5 entegre YOLOv9 dahil olmak üzere Ultralytics önemli bir avantajı, bellek verimliliğidir.

  • GPU : Ultralytics döngüleri, CUDA kullanımını en aza indirecek şekilde optimize edilmiştir. Bu sayede kullanıcılar, genellikle bellek gereksinimi yüksek olan transformatör tabanlı modellere kıyasla, tüketici sınıfı donanımlarda ( NVIDIA 3060/4090 gibi) daha büyük parti boyutlarında eğitim yapabilirler.
  • Yakınsama: YOLOv5 , minimum hiperparametre ayarlaması gerektiren "kullanıma hazır" özelliği ile YOLOv5 . YOLOv9, PGI yardımcı dalı ile mimarisi daha karmaşık olmasına rağmen istikrarlı bir yakınsama sergiler.

Gerçek Dünya Uygulamaları

Doğru modeli seçmek, dağıtım kısıtlamalarınıza bağlıdır.

YOLOv5 için İdeal Kullanım Alanları

  • Eski Donanımlarda Kenar AI: Her milisaniyenin önemli olduğu eski Raspberry Pi modellerine veya mobil cihazlara dağıtım yapıyorsanız, YOLOv5n (Nano) rakipsizdir.
  • Hızlı Prototipleme: Saatler içinde Kavram Kanıtı (PoC) gerektiren hackathonlar veya girişimler için, YOLOv5 ile ilgili kapsamlı belgeler ve topluluk eğitimleri geliştirme sürecini YOLOv5
  • Mobil Uygulamalar: Yerel desteği iOS CoreML ve Android TFLite için sunduğu yerel destek, onu mobil geliştiriciler için vazgeçilmez bir araçTFLite .

YOLOv9 için İdeal Kullanım Örnekleri

  • Yüksek Hassasiyetli Denetim: Küçük kusurları tespit etmenin kritik öneme sahip olduğu üretim kalite kontrolünde, GELAN'ın üstün özellik çıkarma özelliği YOLOv9 daha iyi YOLOv9 seçim haline getirir.
  • Tıbbi Görüntüleme: Hızdan çok doğruluğun öncelikli olduğu tümör tespiti gibi görevlerde YOLOv9e, gerekli mAP sağlar.
  • Karmaşık Sahneler: Yüksek örtme veya dağınıklık içeren ortamlar, modelin derin katmanlar aracılığıyla kritik bilgileri korumasına yardımcı olan programlanabilir gradyanlardan yararlanır.

Gelecek: YOLO26 ile Tanışmak

YOLOv5 güvenilir bir iş gücü ve YOLOv9 yüksek doğruluk YOLOv9 , bu alan yine ilerleme kaydetmiştir. 2026'da başlayacak yeni projeler için Ultralytics , performans ve verimlilik açısından zirveyi temsil etmektedir.

Neden YOLO26'ya yükseltmelisiniz?

  • Yerel olarak uçtan uca: NMS gerektiren YOLOv5 v9'dan farklı olarak, YOLO26 NMS gerektirmez ve dağıtım süreçlerini basitleştirir.
  • MuSGD Optimizer: LLM eğitiminden esinlenerek geliştirilen bu optimizer, daha hızlı ve daha istikrarlı bir eğitim sağlar.
  • Çok yönlülük: Algılama, Segmentasyon, Poz, OBB ve Sınıflandırma özelliklerini kullanıma hazır olarak destekler.

YOLO26 hakkında daha fazla bilgi edinin

Şu anda YOLOv5 kullanan kullanıcılar için, YOLO26'ya geçiş önemli hız artışları ( CPU %43'e varan hız artışı) ve ProgLoss + STAL aracılığıyla iyileştirilmiş küçük nesne algılama sunarak, hem uç hem de bulut dağıtımları için önerilen yol haline getiriyor.

Sonuç

Her iki mimari de kendine göre avantajları vardır. YOLOv5 basitlik ve geniş cihaz uyumluluğu konusunda liderliğini sürdürür ve "sadece çalışır" bir çözüme ihtiyaç duyan geliştiriciler için mükemmeldir. YOLOv9 , programlanabilir gradyanları ile verimli derin öğrenmenin geleceğine bir bakış sunarak en son teknolojiye sahip doğruluk sağlar.

Ancak, Ultralytics kullanarak, herhangi bir kısıtlamaya maruz kalmazsınız. YOLOv5, YOLOv9 ve en son teknoloji YOLO26'yı tamamen aynı API kullanarak eğitebilir, kendi verileriniz üzerinde karşılaştırma yapabilir ve belirli uygulamanız için en uygun olanı seçebilirsiniz.

Karşılaştırma Özeti

ÖzellikYOLOv5YOLOv9
Birincil OdakHız, Kullanım Kolaylığı, DağıtımDoğruluk, Parametre Verimliliği
MimariCSPNet Backbone, Ankraj TabanlıGELAN Backbone, PGI, Çapa Tabanlı
EkosistemYerel UltralyticsUltralytics'e entegre edildi
En Uygun Olduğu AlanMobil, Kenar, Eski SistemlerYüksek Doğruluklu Araştırma, Karmaşık Sahneler
ÇıkarımSon derece hızlı (GPU)Yüksek Doğruluk / Daha Yavaş

Ultralytics ailesindeki diğer modelleri keşfedin:

  • YOLO11 - YOLO26'nın sağlam öncülü.
  • YOLOv8 - Algılama, segmentasyon ve poz için birleşik bir çerçeve.
  • RT-DETR - Gerçek zamanlı Transformatör tabanlı algılama.

Yorumlar