YOLOv5 vs YOLOv10: Gerçek Zamanlı Nesne Algılamanın Evrimi
Nesne algılama dünyası, You Only Look OnceYOLO) serisi tarafından önemli ölçüde şekillendirilmiştir. YOLO , başlangıcından bu yana hız ve doğruluğu dengeleyerek bilgisayarlı görü geliştiricilerinin başvurduğu mimari haline geldi. Bu karşılaştırma, bu tarihin iki önemli anını incelemektedir: Ultralytics YOLOv5güvenilirlik ve çok yönlülük için endüstri standardı ve YOLOv10Tsinghua Üniversitesi'nin yakın zamanda yayınladığı ve gelişmiş verimlilik için NMS'siz algılama sunan bir akademik yayın.
Modele Genel Bakış
Ultralytics YOLOv5
Haziran 2020'de Glenn Jocher ve Ultralytics, YOLOv5 yapay zeka modellerinin dağıtım şeklini temelden değiştirdi. Kullanılabilirliğe, çeşitli formatlaraCoreML, ONNX, TFLite) dışa aktarmaya ve uç donanımlarda sağlam performansa öncelik verdi. "Sadece çalışır" felsefesi ve kapsamlı topluluk desteği sayesinde dünya çapında en popüler ve yaygın olarak kullanılan vizyon modellerinden biri olmaya devam etmektedir.
Anahtar Yazarlar: Glenn Jocher
Organizasyon:Ultralytics
Yayınlanma Tarihi: 2020-06-26
GitHub:yolov5
YOLOv5 hakkında daha fazla bilgi edinin
YOLOv10
Tsinghua Üniversitesi'nden araştırmacılar tarafından Mayıs 2024'te piyasaya sürülen YOLOv10 , önceki sürümlerde bulunan işlem sonrası darboğazları ortadan kaldırmayı amaçlamaktadır. NMS eğitim için tutarlı ikili atamalar sunarak, çıkarım işlem hattını optimize eder, gecikmeyi ve hesaplama ek yükünü azaltır.
Anahtar Yazarlar: Ao Wang, Hui Chen ve diğerleri
Organizasyon: Tsinghua Üniversitesi
Yayınlanma Tarihi: 2024-05-23
arXiv:YOLOv10: Gerçek Zamanlı Uçtan Uca Nesne Algılama
YOLOv10 hakkında daha fazla bilgi edinin
Son Yenilikler
Bu güçlü mimarileri karşılaştırırken, yeni projelere başlayan geliştiriciler de şunları değerlendirmelidir YOLO11. Her ikisinin de güçlü yönlerini temel alarak son teknoloji doğruluk, gelişmiş özellik çıkarma ve poz tahmini ve yönlendirilmiş nesne algılama gibi çeşitli görevler için yerel destek sunar.
Mimari ve Teknik İnovasyon
YOLOv5 ve YOLOv10 arasındaki mimari farklılıklar, olgun, çapa tabanlı güvenilirlikten son teknoloji, çapasız verimliliğe geçişi vurgulamaktadır.
YOLOv5: Çapa Tabanlı Standart
YOLOv5 , doğruluğu korurken FLOPS 'u en aza indirmek için model derinliğini ve genişliğini dengeleyen bir CSPNet (Cross Stage Partial Network) backbone kullanır. Modelin nesne boyutlarını tahmin etmesine yardımcı olan önceden tanımlanmışşekiller olan bağlantı kutularınadayanır.
- Backbone: CSP-Darknet53 gradyan akışına odaklanmıştır.
- Baş: Çapa tabanlı tahmin ile birleştirilmiş baş.
- İşlem sonrası: Yinelenen tespitleri filtrelemek için Maksimum Olmayan Bastırma (NMS) gerektirir.
YOLOv10: NMS Verimlilik
YOLOv10 , verimlilik ve doğruluk odaklı bütünsel bir tasarım sunar. Öne çıkan özelliği, tutarlı ikili atamalar kullanan NMS eğitim stratejisidir. Bu, modelin çıkarım sırasında nesne başına tam olarak bir sınırlayıcı kutu tahmin etmesine olanak tanıyarak gecikmeye neden olan NMS adımını tamamen ortadan kaldırır.
- Backbone: Büyük çekirdekli konvolüsyonlar ve kısmi öz dikkat ile geliştirilmiştir.
- Head: Bire-çok ve bire-bir etiket atamalarını birleştiren birleşik head.
- Optimizasyon: Fazlalığı azaltmak için sıralama güdümlü blok tasarımı.
Performans Analizi
Aşağıdaki tabloda COCO veri setindeki performans metrikleri karşılaştırılmaktadır. YOLOv5 , özellikle Nano varyantı için CPU hızında rekabetçi kalırken, YOLOv10 parametreler ve doğrulukmAP) açısından üstün verimlilik göstermektedir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
Metrik Dağılım
- Doğruluk (mAP): YOLOv10 , Ortalama Hassasiyet ortalamasında önemli bir sıçrama göstermektedir. Örneğin, YOLOv10n, YOLOv5n'in 28,0 mAP 'sine kıyasla 39,5 mAP elde ederek zor nesneleri tespit etme konusunda çok daha yetenekli hale geliyor.
- Verimlilik: YOLOv10 bu sonuçlara daha az parametre ile ulaşarak (Nano model için 2,3M'ye karşılık 2,6M) optimize edilmiş mimari tasarımının faydalarını ortaya koymaktadır.
- Çıkarım Hızı: YOLOv5n, eski Raspberry Pi üniteleri gibi GPU GPU uç cihazlar için kritik olan CPU'larda(73,6 ms) inanılmaz derecede hızlı kalır. Bununla birlikte, GPU donanımındaTensorRT), YOLOv10 daha yüksek doğruluğuna rağmen rekabetçi hızları korur.
Güçlü ve Zayıf Yönler
Ultralytics YOLOv5
- Eşsiz Ekosistem: Yıllar süren geliştirme çalışmalarıyla desteklenen bu sistem, en büyük aktif topluluklardan birine sahiptir. Sorunlar hızlı bir şekilde çözülür ve kaynaklar bol miktarda bulunur.
- Çok yönlülük: Algılamanın ötesinde, görüntü segmentasyonunu ve sınıflandırmayı yerel olarak destekler.
- Kullanım Kolaylığı: API basitlik için tasarlanmıştır. PyTorch Hub 'dan bir model yüklemek tek bir kod satırı alır.
- Dağıtım: Dışa aktarma formatları için kapsamlı destek, cep telefonlarından bulut sunucularına kadar her şeyde çalışmasını sağlar.
YOLOv10
- Düşük Gecikme Süresi: NMS 'nin kaldırılması, her milisaniyenin önemli olduğu gerçek zamanlı uygulamalar için hayati önem taşıyan işlem sonrası süreyi önemli ölçüde azaltır.
- Parametre Verimliliği: Parametre başına daha yüksek doğruluk sağlar, bu da onu sınırlı depolama veya belleğe sahip cihazlar için güçlü bir aday haline getirir.
- Odak noktası: Güçlü olmasına rağmen, Ultralytics YOLO serisinde (v8, 11) bulunan yerel çoklu görev genişliğinden (poz tahmini gibi) yoksun, öncelikle nesne algılama için uzmanlaşmıştır.
Bellek Gereksinimleri
Her iki model de hafif olacak şekilde tasarlanmıştır. Eğitim sırasında büyük miktarda CUDA belleği tüketen büyük transformatör modellerinin aksine, Ultralytics YOLO modelleri bellek verimliliği için optimize edilmiştir ve mütevazı VRAM'e sahip tüketici sınıfı GPU'larda eğitilmelerine olanak tanır.
Gerçek Dünya Kullanım Durumları
YOLOv5 Ne Zaman Seçilmeli
YOLOv5 , kararlılık ve geniş platform desteği gerektiren üretim sistemleri için pragmatik bir seçimdir.
- Endüstriyel Otomasyon: Güvenilirliğin çok önemli olduğu kalite kontrol için üretimde yaygın olarak kullanılır.
- Mobil Uygulamalar: iOS CoreML) ve Android TFLite) ile kanıtlanmış uyumluluğu, onu cihaz içi uygulama entegrasyonu için ideal hale getirir.
- Hızlı Prototip Oluşturma: Eğitimlerin ve dokümantasyonun çokluğu, geliştiricilerin konseptten POC'ye saatler içinde geçmesini sağlar.
YOLOv10 Ne Zaman Seçilmeli
YOLOv10 , en yüksek doğruluk-verimlilik oranı gerektiren senaryolar için mükemmeldir.
- Yüksek Hızlı Robotik: NMS mimari, otonom robotların kontrol döngüleri için çok önemli olan gecikme varyansını azaltır.
- Akademik Araştırma: En son uçtan uca tespit paradigmalarına karşı kıyaslama yapmak isteyen araştırmacılar YOLOv10'un mimarisini yeni ve etkili bulacaklardır.
- Uzaktan Gözetim: Düşük parametre sayısına sahip yüksek mAP , sınırlı bant genişliği veya depolama ile çalışan güvenlik sistemlerine uygundur.
Eğitim ve Kullanım Kolaylığı
Ultralytics , kolaylaştırılmış bir geliştirici deneyimine öncelik verir. İster klasik YOLOv5 deposunu ister modern ultralytics paketi için yeni modeller, süreç sezgiseldir.
YOLOv5 Kullanma
YOLOv5 , anında çıkarım için PyTorch Hub aracılığıyla kolayca yüklenebilir.
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference on an image
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
# Display results
results.show()
YOLOv10 Kullanma
YOLOv10 , aşağıdakiler kullanılarak entegre edilebilir ultralytics Python paketi, aynı güçlü API'den yararlanır.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on COCO data
model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
model.predict("https://ultralytics.com/images/bus.jpg", save=True)
Sonuç
Her iki mimari de bilgisayarla görme alanında kilometre taşlarını temsil etmektedir. YOLOv5 sağlam, çok yönlü ve büyük bir ekosistem tarafından desteklenen sektörün güvenilir beygiri olmaya devam ediyor. Çeşitli dağıtım ihtiyaçları için güvenli, "başvurulacak" bir seçimdir. YOLOv10NMS tasarımıyla verimliliğin sınırlarını zorlayarak, kısıtlı donanımda doğruluğu en üst düzeye çıkarması gereken ve özellikle algılama görevlerine odaklanan kullanıcılar için cazip bir yükseltme sunar.
Ultralytics 'in ekosistem olgunluğunu son teknoloji doğruluk ve hız ile birleştirerek her iki dünyanın da mutlak en iyisini arayan geliştiriciler için şunları keşfetmenizi öneririz YOLO11. Bu gelişmeleri, her türlü görüntü görevi için hazır, tek ve güçlü bir çerçevede birleştirir.
Daha fazla karşılaştırma keşfetmek için YOLOv5 vs YOLOv8 veya YOLOv10 vs YOLO11'e göz atın.