İçeriğe geç

YOLOv5 vs YOLOv8: Gerçek Zamanlı Nesne Tespitinin Evrimi

Nesne tespitinin evrimi, YOLO (You Only Look Once) model ailesi tarafından önemli ölçüde şekillendirilmiştir. Tarafından geliştirilmiştir Ultralyticshem YOLOv5 hem de YOLOv8 bilgisayarla görme tarihinde önemli anları temsil etmektedir. YOLOv5 , basitliği ve hızı nedeniyle dünyanın en sevilen ve yaygın olarak kullanılan algılama mimarisi olarak kendini kanıtlarken, YOLOv8 daha geniş bir yelpazedeki görme görevlerini desteklemek için en son mimari yeniliklerle birleştirilmiş bir çerçeve sundu.

Bu iki güç merkezi arasında seçim yapmak, özel proje kısıtlamalarınıza, donanım kullanılabilirliğinize ve çoklu görev yeteneklerine olan ihtiyacınıza bağlıdır. Bu kılavuz, bilgisayarla görme mühendislerinin ve araştırmacıların doğru kararı vermelerine yardımcı olmak için derin bir teknik analiz sunmaktadır.

YOLOv5: Kanıtlanmış Endüstri Standardı

Yazar Glenn Jocher
Organizasyon:Ultralytics
Tarih: 2020-06-26
GitHubyolov5
Docsyolov5yolov5

2020 yılının ortalarında piyasaya sürülen YOLOv5 , nesne algılamanın erişilebilirliğinde devrim yarattı. YOLO modelinin yerel olarak uygulandığı ilk PyTorchselefleri tarafından kullanılan Darknet çerçevesinden uzaklaştı. Bu değişim, geliştiricilerin özel veri kümelerini eğitmesini, dağıtmasını ve denemesini inanılmaz derecede kolaylaştırdı.

YOLOv5 bir CSPDarknet backbone kullanır ve çapa tabanlı bir dedektördür. Bu, nesne konumlarını tahmin etmek için önceden tanımlanmış bağlantı kutularına dayandığı anlamına gelir. Bu yaklaşım, benzersiz veri kümelerinde optimum performans için bazı hiperparametre ayarlamaları gerektirse de oldukça etkilidir. Mimarisi, çıkarım hızını ve düşük bellek kapasitesini vurgulayarak Raspberry Pi ve NVIDIA Jetson'un ilk nesilleri gibi kaynak kısıtlı donanımlarda dağıtım için favori hale getirir.

YOLOv5'in Temel Güçlü Yönleri

  • Eski Kararlılık: Üretim ortamlarında yıllarca aktif olarak kullanılması, onu mevcut en istikrarlı ve hatasız görüntü modellerinden biri haline getirmiştir.
  • Kenar Optimizasyonu: Özellikle eski CPU'larda ve belirli mobil işlemcilerde, YOLOv5'in daha basit mimarisi bazen daha hızlı çıkarım gecikmesi sunabilir.
  • Geniş Ekosistem: Öğreticiler, üçüncü taraf entegrasyonları ve forum tartışmalarından oluşan devasa bir topluluk, sorun giderme ve geliştirmeyi destekler.

YOLOv5 hakkında daha fazla bilgi edinin

YOLOv8: Çok Görevli Güç Merkezi

Yazarlar Glenn Jocher, Ayush Chaurasia ve Jing Qiu
Organizasyon:Ultralytics
Tarih: 2023-01-10
GitHubultralytics
Docsultralyticsyolov8

YOLOv8 , sadece bir nesne algılayıcı olarak değil, aynı zamanda görüntü segmentasyonu, poz tahmini, sınıflandırma ve yönlendirilmiş sınırlayıcı kutu (OBB) tespiti için kapsamlı bir çerçeve olarak tasarlanmış önemli bir sıçramayı temsil etmektedir.

Mimari olarak YOLOv8 , nesne, sınıflandırma ve regresyon görevlerini ayırarak ayrılmış bir kafa ile çapasız bir tasarıma geçer. Ayrıca, YOLOv5'te bulunan C3 modülünün yerini alan C2f modülünü (2 konvolüsyonlu Çapraz Aşama Kısmi Şişe Boynu) tanıtmaktadır. C2f modülü, gradyan akışını ve özellik füzyonunu geliştirerek modelin hesaplama maliyetinde büyük bir artış olmadan daha karmaşık kalıpları öğrenmesine olanak tanır.

YOLOv8'in Güçlü Yönleri

  • Son Teknoloji Doğruluk: COCO ve özel veri kümelerinde YOLOv5'e kıyasla tutarlı bir şekilde daha yüksek mAP (Ortalama Hassasiyet) puanları elde eder.
  • Çapasız Algılama: Çapa kutularını hesaplama veya ayarlama ihtiyacını ortadan kaldırarak eğitim hattını basitleştirir ve alışılmadık en boy oranlarına sahip nesnelerde genellemeyi iyileştirir.
  • Çok yönlülük: Aynı API'yi kullanarak algılama, segmentasyon ve poz tahmini arasında geçiş yapabilme özelliği, karmaşık projeler için geliştirme süresini önemli ölçüde azaltır.

YOLOv8 hakkında daha fazla bilgi edinin

Teknik Derin Dalış: Mimari ve Performans

YOLOv5 'ten YOLOv8 'e geçiş, performans artışlarını sağlayan birkaç "kaputun altındaki" değişiklikle işaretlenmiştir.

Mimari Değişimler

En dikkat çekici fark algılama kafasıdır. YOLOv5 , sınıflandırma ve lokalizasyonun özellikleri paylaştığı birleşik bir kafa kullanır. YOLOv8 , ağın bir nesnenin ne olduğunu ve nerede olduğunu belirlemek için ağırlıkları bağımsız olarak ayarlamasına olanak tanıyan ayrılmış bir kafa kullanır. Bu genellikle daha iyi yakınsama ve daha yüksek doğruluk sağlar.

Ayrıca, C3 'ten C2f 'ye backbone evrimi, YOLOv8 'in daha zengin gradyan bilgilerini yakalamasını sağlar. Bu durum mimariyi biraz daha karmaşık hale getirse de Ultralytics , eğitim verimliliğinin yüksek kalmasını sağlamak için uygulamayı optimize etmiştir.

Performans Metrikleri

Standart COCO veri seti üzerindeki modeller karşılaştırıldığında, YOLOv8 üstün doğruluk/hesaplama oranları sergilemektedir.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

Resimde görüldüğü gibi, YOLOv8n (Nano) 37,3'lük bir mAP elde ederek 37,4 puan alan daha büyük YOLOv5s (Small) ile neredeyse eşleşiyor, ancak önemli ölçüde daha az FLOP ile. Bu verimlilik, modern Edge AI uygulamaları için kritik öneme sahiptir.

Eğitim Metodolojileri ve Ekosistem

Ultralytics modellerinin tanımlayıcı özelliklerinden biri, geliştirici deneyimine odaklanmasıdır. Her iki model de kapsamlı Ultralytics ekosisteminden yararlanır, ancak bunlara biraz farklı şekilde erişilir.

Kullanım Kolaylığı ve API

YOLOv8 ile birlikte ultralytics Python paketi, birleşik bir CLI ve Python arayüzü. Bu paket bağımlılıkları etkin bir şekilde yönetir ve aşağıdakiler için tutarlı bir API sağlar EĞİTİM, doğrulamave Tahmin. İlginç bir şekilde, modern ultralytics paketi de YOLOv5 modellerini yükleyip çalıştırabilir ve nesiller arasında köprü kurabilir.

from ultralytics import YOLO

# Load a YOLOv8 model (Official)
model_v8 = YOLO("yolov8n.pt")

# Load a YOLOv5 model (Legacy support via Ultralytics package)
model_v5 = YOLO("yolov5nu.pt")

# Training is identical for both
results = model_v8.train(data="coco8.yaml", epochs=100)

Bellek ve Verimlilik

gibi transformatör tabanlı modellerle karşılaştırıldığında RT-DETRhem YOLOv5 hem de YOLOv8 bellek açısından son derece verimlidir. Transformatörler genellikle önemli miktarda CUDA belleği ve yakınsama için daha uzun eğitim süreleri gerektirir. Buna karşılık, Ultralytics YOLO modelleri, tüketici sınıfı GPU'larda ve hatta CPU'larda çalışacak şekilde optimize edilmiştir ve yüksek performanslı yapay zekaya erişimi demokratikleştirir.

Entegre Ekosistem

Her iki model de Ultralytics HUB ile tamamen uyumludur ve sorunsuz veri kümesi yönetimi, model görselleştirme ve gerçek dünya cihazlarına tek tıklamayla dağıtım sağlar.

İdeal Kullanım Senaryoları

Doğru modelin seçilmesi genellikle modelin konuşlandırılacağı özel ortama bağlıdır.

YOLOv5 ne zaman seçilmeli

YOLOv5 , aşağıdakiler için mükemmel bir seçim olmaya devam ediyor:

  • Eski Sistemler: Altyapının halihazırda YOLOv5 mimarisi etrafında inşa edildiği mevcut boru hatlarının güncellenmesi.
  • Belirli Edge Donanımı: Bazı eski NPU (Sinir İşleme Birimi) sürücüleri, özellikle YOLOv5 mimarisi için yüksek düzeyde optimize edilmiş desteğe sahiptir.
  • Ultra Düşük Gecikme Süresi: CPU çıkarımının her milisaniyesinin önemli olduğu senaryolarda, YOLOv5n'nin daha basit birleştirilmiş kafası bazen v8n'ye göre ham hız avantajı sunabilir.

YOLOv8 ne zaman seçilmeli

YOLOv8 için önerilen seçimdir:

  • Yeni Gelişmeler: Bugün bir projeye başlamak, YOLOv8 (veya daha yeni YOLO11) geleceğe dönük daha iyi bir yol sağlar.
  • Karmaşık Görevler: Örnek segmentasyonu (örn. tıbbi hücre analizi) veya kilit nokta tespiti (örn. spor analitiği) gerektiren uygulamalar.
  • Yüksek Doğruluk Gereksinimleri: Otonom araç güvenlik sistemleri veya güvenlik gözetimi gibi bir algılamayı kaçırmanın kritik olduğu senaryolar.

Sonuç

Hem YOLOv5 hem de YOLOv8 , Ultralytics'in açık kaynaklı inovasyona olan bağlılığının bir kanıtıdır. YOLOv5 güvenilir, hızlı ve yaygın olarak desteklenen bir efsane olmaya devam etmektedir. Ancak, YOLOv8 geliştiricilerin beklediği kullanım kolaylığından ödün vermeden daha yüksek doğruluk ve daha fazla çok yönlülük sağlayan mimari ilerlemelerle bu temeli geliştirir.

Yeni projelerin çoğu için, YOLOv8 'deki gelişmelerden yararlanmanızı veya en son sürüme yükseltmenizi öneririz YOLO11Bu konseptleri daha da geliştirerek hız ve hassasiyeti en üst düzeyde dengeliyor.

Diğer Modelleri İnceleyin

Algılama teknolojisindeki en son gelişmeleri keşfetmekle ilgileniyorsanız, bu konuyu incelemeyi düşünebilirsiniz:

  • YOLO11: YOLOv8'e göre daha hızlı işleme ve gelişmiş özellik çıkarma sunan en son evrim.
  • RT-DETR: Gerçek zamanlı uygulamalar için yüksek doğruluk sunan, GPU belleğinin daha az kısıtlayıcı olduğu durumlarda ideal olan transformatör tabanlı bir model.

Yorumlar