Ultralytics YOLOv10 YOLOv5: Gerçek Zamanlı Nesne Algılamanın Evrimi
Doğru nesne algılama modelini seçmek, mimari verimlilik, dağıtım kısıtlamaları ve topluluk desteği arasında denge kurmayı gerektirir. Bu kapsamlı karşılaştırma, YOLOv10, uçtan uca algılamada akademik bir atılım olan, ve YOLOv5, bilgisayar görüşünde kullanım kolaylığını yeniden tanımlayan efsanevi endüstri standardı.
Her iki model de YOLO önemli bir sıçrama temsil ediyor. YOLOv5 , kullanıcı deneyimi ve güvenilirlik açısından altın standardı YOLOv5 , YOLOv10 , çıkarım boru hattından maksimum olmayan bastırma (NMS) özelliğini kaldırarak gecikme sınırlarını YOLOv10 . En son hız ve uçtan uca mimariyi arayan geliştiriciler için, yeni piyasaya sürülen Ultralytics , bu temeller üzerine, uç cihazlar için üstün optimizasyon özelliği ekliyor.
Performans Metrikleri Karşılaştırması
Aşağıdaki tablo, iki mimari arasındaki performans farklarını göstermektedir. YOLOv10 daha yüksek doğruluk (mAP) sunar ve NMS ortadan kaldırırken, YOLOv5 geniş dağıtım desteği ve olgunluğu nedeniyle oldukça rekabetçi bir seçenek YOLOv5 .
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
YOLOv10: Uçtan Uca Yenilikçi
YOLOv10 , son işlem sırasında Non-Maximum Suppression (NMS) ihtiyacını ortadan kaldırarak bir paradigma değişikliği YOLOv10 . Bu, gerçek anlamda uçtan uca dağıtım yapılmasına olanak tanıyarak, çıkarım gecikmesini ve karmaşıklığı azaltıyor.
Temel Mimari Özellikler
- NMS Eğitim: NMS eğitim için tutarlı çift atamalar kullanır ve modelin farklı sınırlayıcı kutuları doğrudan tahmin etmesini sağlar.
- Bütünsel Verimlilik Tasarımı: Hesaplama fazlalığını azaltmak için çeşitli bileşenleri ( backbone boyun gibi) optimize eder.
- Uzamsal Kanal Ayrıştırmalı Aşağı Örnekleme: Özellik haritasının ölçeğinin küçültülmesi sırasında bilgi saklama özelliğini iyileştirir.
- Sıra Kılavuzlu Blok Tasarımı: İçsel sıra analizine dayalı olarak yinelemeleri azaltmak için blok aşamalarını uyarlar.
Yazarlar: Ao Wang, Hui Chen, Lihao Liu, et al.
Kuruluş:Tsinghua Üniversitesi
Tarih: 2024-05-23
Bağlantılar:Arxiv | GitHub
Uçtan Uca Gecikme
NMS kaldırarak, YOLOv10 çıkarım varyasyonunu YOLOv10 azaltır. Standart YOLO , NMS algılanan nesnelerin sayısıyla orantılıdır ve kalabalık sahnelerde gecikme artışlarına neden olabilir. YOLOv10 tutarlı çıktı süresi, onu sıkı zamanlama bütçelerine sahip gerçek zamanlı sistemler için ideal hale getirir.
YOLOv10 hakkında daha fazla bilgi edinin.
YOLOv5: Endüstri Standardı
2020 Ultralytics tarafından piyasaya sürülen YOLOv5 , sadece mimarisiyle değil, erişilebilirliğiyle de bu alanda YOLOv5 . Sorunsuz bir "kullanıma hazır" deneyim, sağlam dışa aktarılabilirlik ve devasa bir destek ekosistemine öncelik verdi.
Temel Güçlü Yönler
- Olgun Ekosistem: Kapsamlı belgeler, öğreticiler ve topluluk desteği, sorun gidermeyi kolaylaştırır.
- Geniş Uyumluluk: TFLite, CoreML, ONNX ve TensorRT için dışa aktarım desteği, iOS uç TPU'lara kadar neredeyse tüm donanımlarda dağıtımı TensorRT .
- Çok yönlülük: Algılama ile birlikte örnek segmentasyonu ve görüntü sınıflandırması için yerel destek.
- Eğitim Kararlılığı: Hiperparametre değişikliklerine karşı dayanıklı olması ve çeşitli özel veri kümelerinde güvenilir bir şekilde yakınsama sağlamasıyla bilinir.
Yazar: Glenn Jocher
Kuruluş:Ultralytics
Tarih: 2020-06-26
Bağlantılar:GitHub | Dokümanlar
YOLOv5 hakkında daha fazla bilgi edinin.
Detaylı Karşılaştırma
Mimari ve Eğitim
YOLOv10 , Transformer benzeri optimizasyonları ve gelişmiş kanal bazında farklılık özelliklerini YOLOv10 daha az parametre ile yüksek doğruluk elde eder. "Tutarlı çift atama" stratejisi, eğitim sırasında bire bir eşleştirmeyi öğrenmesini sağlayarak NMS ortadan kaldırır.
YOLOv5 , hız ve doğruluk dengesi için optimize edilmiş, PANet backbone klasik bir CSPDarknet backbone YOLOv5 . Benzersiz veri kümelerinde optimum performans için dikkatli bir şekilde ayarlanması gereken çapa tabanlı algılama kullanır, ancak otomatik çapa geliştirme özelliği çoğu kullanıcı için bunu otomatik olarak halleder.
Kullanım Durumları ve Gerçek Dünya Uygulamaları
YOLOv10 için ideal senaryolar:
- Yüksek Yoğunluklu Kalabalıklar: NMS , birçok kutunun üst üste binmesi nedeniyle NMS işlemeyi yavaşlattığı durumlar.
- Düşük Gecikmeli Robotik: Kontrol döngüleri için tutarlı çıkarım süresinin kritik olduğu durumlar.
- Akademik Araştırma: Uçtan uca algılama mekanizmaları ve etiket atama stratejilerini incelemek için.
YOLOv5 için ideal senaryolar:
- Mobil Dağıtım: TFLite CoreML kullanan Android iOS için kanıtlanmış boru hatları.
- Endüstriyel Denetim: Uzun vadeli kararlılık ve tekrarlanabilirliğin en son teknoloji mAP daha önemli olduğu durumlar.
- Başlangıç Projeleri: Bilgisayar görme öğrenen öğrenciler için en kolay giriş noktası.
Kullanım Kolaylığı ve Ekosistem
YOLOv5 , Ultralytics entegrasyonu ile YOLOv5 . Kullanıcılar, Comet ile eğitim çalışmalarını görselleştirebilir, track ve modelleri sorunsuz bir şekilde uygulayabilir. Ultralytics , veri kümesi yönetimi ve model eğitimi için kod gerektirmeyen bir arayüz sunarak bunu daha da basitleştirir.
YOLOv10 , Ultralytics Python entegre YOLOv10 tanıdık bir sözdizimi sunsa da, esas olarak akademik bir katkıdır. Sonuç olarak, Ultralytics gibi temel Ultralytics aynı sıklıkta güncelleme veya bakım almayabilir. YOLO11 veya en son teknoloji YOLO26 gibi temel Ultralytics modelleriyle aynı sıklıkta güncelleme veya bakım almayabilir.
Kod Örnekleri
Her iki model de birleşik Ultralytics 'sini paylaşır, bu da karşılaştırmalı değerlendirme için modeller arasında geçiş yapmayı kolaylaştırır.
from ultralytics import YOLO
# Load a pretrained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
# Train YOLOv10 on a custom dataset
model_v10.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a pretrained YOLOv5 model (via the v8/v11/26 compatible loader)
model_v5 = YOLO("yolov5nu.pt")
# Train YOLOv5 using the modern Ultralytics engine
model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
Sonuç: Hangisini Seçmelisiniz?
Özellikle kalabalık sahnelerde en son teknolojiye sahip doğruluk ve gecikme tutarlılığı önceliğinizse, YOLOv10 mükemmel bir seçimdir. Mimari yenilikleri, NMS algılamanın geleceğine dair bir fikir vermektedir.
Ancak, kapsamlı dağıtım kılavuzları, geniş donanım desteği ve maksimum kararlılık sunan, savaşta test edilmiş bir çözüm arıyorsanız, YOLOv5 güçlü bir seçenek olmaya devam ediyor.
Her iki dünyanın da en iyisini isteyen geliştiriciler için —uçtan uca NMS çıkarım, üstün doğruluk ve Ultralytics tam desteği — kesinlikle şunu keşfetmenizi öneririz YOLO26'yi incelemenizi şiddetle tavsiye ederiz. YOLO26, YOLOv10 tarafından öncülüğünü yaptığı NMS tasarımı içerir, YOLOv10 MuSGD optimizörü ve optimize edilmiş kayıp fonksiyonları ile CPU %43'e kadar hızlandırır.
Daha Fazla Model Keşfedin
- YOLO11: Önceki SOTA nesli, tüm görevlerde mükemmel çok yönlülük sunar.
- RT-DETR: NMS de ortadan kaldıran, transformatör tabanlı bir gerçek zamanlı dedektör.
- YOLO26: Ultralytics en yeni ve en gelişmiş modeli, uçtan uca işleme ve kenar optimizasyonu özelliklerine sahiptir.