İçeriğe geç

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

Nesne tespiti alanı, You Only Look Once (YOLO) serisi tarafından önemli ölçüde şekillendirilmiştir. YOLO, başlangıcından bu yana hızı ve doğruluğu dengeleyerek bilgisayar görüşü geliştiricileri için başvurulan mimari haline gelmiştir. Bu karşılaştırma, bu tarihteki iki önemli anı incelemektedir: güvenilirlik ve çok yönlülük için endüstri standardı olan Ultralytics YOLOv5 ve gelişmiş verimlilik için NMS'siz algılama sunan Tsinghua Üniversitesi'nden yakın zamanda yayınlanan akademik bir çalışma olan YOLOv10.

Modele Genel Bakış

Ultralytics YOLOv5

Haziran 2020'de Glenn Jocher ve Ultralytics tarafından piyasaya sürülen YOLOv5, yapay zeka modellerinin nasıl dağıtıldığını temelden değiştirmiştir. Kullanılabilirliğe, çeşitli formatlara (CoreML, ONNX, TFLite) aktarmaya ve uç donanımında sağlam performansa öncelik vermiştir. "Sadece çalışıyor" 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.

Ana Yazarlar: Glenn Jocher
Kuruluş:Ultralytics
Yayın Tarihi: 2020-06-26
GitHub:ultralytics/yolov5

YOLOv5 hakkında daha fazla bilgi edinin

YOLOv10

Mayıs 2024'te Tsinghua Üniversitesi'nden araştırmacılar tarafından piyasaya sürülen YOLOv10, önceki sürümlerde bulunan işlem sonrası darboğazları ortadan kaldırmayı amaçlamaktadır. NMS'siz eğitim için tutarlı çift atamalar sunarak, çıkarım hattını optimize ederek gecikmeyi ve hesaplama yükünü azaltır.

Ana Yazarlar: Ao Wang, Hui Chen, ve ark.
Kuruluş: Tsinghua Üniversitesi
Yayın Tarihi: 2024-05-23
arXiv:YOLOv10: Gerçek Zamanlı Uçtan Uca Nesne Algılama

YOLOv10 hakkında daha fazla bilgi edinin

En Son Yenilik

Bu güçlü mimarileri karşılaştırırken, yeni projelere başlayan geliştiriciler YOLO11'i de değerlendirmelidir. Her ikisinin de güçlü yönleri üzerine inşa edilmiş olup, son teknoloji ürünü doğruluk, geliştirilmiş özellik çıkarımı 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, en son teknoloji ürünü, çapa içermeyen verimliliğe geçişi vurgulamaktadır.

YOLOv5: Anchor Tabanlı Standart

YOLOv5, doğruluğu korurken FLOPS'ları en aza indirmek için model derinliğini ve genişliğini dengeleyen bir CSPNet (Çapraz Aşamalı Kısmi Ağ) omurgası kullanır. Modelin nesne boyutlarını tahmin etmesine yardımcı olan önceden tanımlanmış şekiller olan bağlantı kutularına güvenir.

  • Backbone: Gradyan akışına odaklanan CSP-Darknet53.
  • Head: Anchor tabanlı tahmine sahip eşlenmiş head.
  • Post-processing: Yinelenen detect'leri filtrelemek için Non-Maximum Suppression (NMS) gerektirir.

YOLOv10: NMS'siz Verimlilik

YOLOv10, bütünsel bir verimlilik-doğruluk odaklı tasarım sunar. En dikkat çekici özelliği, tutarlı ikili atamalar kullanan NMS'siz eğitim stratejisidir. Bu, modelin çıkarım sırasında nesne başına tam olarak bir sınırlayıcı kutu tahmin etmesini sağlayarak gecikmeye neden olan NMS adımını tamamen ortadan kaldırır.

  • Backbone: Geniş çekirdekli evrişimler ve kısmi kendi kendine 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ıra kılavuzlu blok tasarımı.

Performans Analizi

Aşağıdaki tablo, COCO veri kümesi üzerindeki performans metriklerini karşılaştırmaktadır. YOLOv5 özellikle Nano varyantı için CPU hızında rekabetçi kalırken, YOLOv10 parametreler ve doğruluk (mAP) açısından üstün verimlilik göstermektedir.

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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Metrik Dökümü

  • Doğruluk (mAP): YOLOv10, ortalama Ortalama Hassasiyette önemli bir artış gösterir. Örneğin, YOLOv10n, YOLOv5n'nin 28.0 mAP'sine kıyasla 39.5 mAP elde ederek zor nesneleri detect etmekte çok daha yetenekli hale gelir.
  • Verimlilik: YOLOv10, bu sonuçları daha az parametreyle (Nano modeli için 2.3M'ye karşı 2.6M) elde ederek optimize edilmiş mimari tasarımının faydalarını sergiler.
  • Çıkarım Hızı: YOLOv5n, CPU'larda (73.6ms) inanılmaz derecede hızlı kalır; bu, eski Raspberry Pi birimleri gibi GPU olmayan uç cihazlar için kritiktir. Ancak, GPU donanımında (TensorRT), YOLOv10 daha yüksek doğruluğuna rağmen rekabetçi hızları korur.

Güçlü ve Zayıf Yönler

Ultralytics YOLOv5

  • Rakipsiz Ekosistem: Yıllarca süren geliştirme ile desteklenmektedir ve en büyük aktif topluluklardan birine sahiptir. Sorunlar hızla çözülür ve kaynaklar boldur.
  • Çeşitlilik: Detect işleminin ötesinde, yerel olarak görüntü segmentasyonunu ve sınıflandırmayı 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üresini önemli ölçüde azaltır.
  • Parametre Verimliliği: Parametre başına daha yüksek doğruluk sağlayarak, sınırlı depolama veya belleğe sahip cihazlar için güçlü bir adaydır.
  • Odak: Güçlü olmasına rağmen, öncelikle nesne tespiti için uzmanlaşmıştır ve Ultralytics YOLO serisinde (v8, 11) bulunan yerel çoklu görev genişliğinden (poz tahmini gibi) yoksundur.

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 transformer modellerinin aksine, Ultralytics YOLO modelleri bellek verimliliği için optimize edilmiştir ve bu da onların mütevazı VRAM'e sahip tüketici sınıfı GPU'larda eğitilmelerine olanak tanır.

Gerçek Dünya Kullanım Durumları

Ne Zaman YOLOv5 Seçmeli

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 üzerinde uygulama entegrasyonu için ideal hale getirir.
  • Hızlı Prototipleme: Çok sayıda eğitim ve dokümantasyon, geliştiricilerin saatler içinde kavramdan POC'ye geçmesini sağlar.

Ne Zaman YOLOv10 Seçmeli

YOLOv10, en yüksek doğruluk-verimlilik oranını gerektiren senaryolar için mükemmeldir.

  • Yüksek Hızlı Robotik: NMS'siz 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 detect paradigmalarına karşı kıyaslama yapmak isteyen araştırmacılar, YOLOv10'un mimarisini yeni ve etkili bulacaklardır.
  • Uzaktan Gözetleme: Düşük parametre sayısıyla yüksek mAP, sınırlı bant genişliği veya depolama alanında çalışan güvenlik sistemleri için uygundur.

Eğitim ve Kullanım Kolaylığı

Ultralytics, kolaylaştırılmış bir geliştirici deneyimine öncelik verir. İster klasik YOLOv5 deposunu ister modern olanı kullanın, ultralytics paketi ile daha yeni modeller için süreç sezgiseldir.

YOLOv5 Kullanma

YOLOv5, anında çıkarım için PyTorch Hub aracılığıyla yüklenmesiyle ünlüdür.

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, şunlar kullanılarak entegre edilebilir: ultralytics Aynı güçlü API'den yararlanan Python paketi.

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 bilgisayar görüşünde kilometre taşlarını temsil etmektedir. YOLOv5 endüstrinin güvenilir yük beygiri olmaya devam etmektedir - sağlam, çok yönlü ve büyük bir ekosistem tarafından desteklenmektedir. Çeşitli dağıtım ihtiyaçları için güvenli, "gidilecek" seçimdir. YOLOv10, NMS'siz tasarımıyla verimliliğin sınırlarını zorlamakta ve özellikle kısıtlı donanımda doğruluğu en üst düzeye çıkarması gereken algılama görevlerine odaklanan kullanıcılar için cazip bir yükseltme sunmaktadır.

Her iki dünyanın da mutlak en iyisini (Ultralytics'in ekosistem olgunluğunu, son teknoloji ürünü doğruluk ve hızla birleştiren) arayan geliştiriciler için, YOLO11'i keşfetmenizi öneririz. Bu gelişmelerin hepsini, herhangi bir görme 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 - YOLOv8 veya YOLOv10 - YOLO11 karşılaştırmalarına göz atın.


Yorumlar