İçeriğe geç

YOLOX - YOLOv5 Karşılaştırması: Bağlantısız İnovasyon ve Kanıtlanmış Verimliliği Keşfetmek

Nesne algılama alanındaki hızlı gelişmelerde, doğru mimariyi seçmek proje başarısı için çok önemlidir. Bu karşılaştırma, ankrajsız tasarımıyla bilinen bir akademik güç merkezi olan YOLOX ile hız ve dağıtım kolaylığı için endüstri standardı olan YOLOv5 olmak üzere iki etkili modeli incelemektedir. Her iki model de bilgisayar görüşü alanını şekillendirmiştir, ancak önceliğiniz araştırma sınıfı hassasiyet mi yoksa üretime hazır verimlilik mi olduğuna bağlı olarak farklı ihtiyaçlara hizmet etmektedirler.

Performans Analizi: Hız, Doğruluk ve Verimlilik

YOLOX ve YOLOv5'i değerlendirirken, ayrım genellikle ham doğruluk ve operasyonel verimlilik arasındaki dengeye iner. YOLOX, ayrıştırılmış bir başlık ve bir bağlantısız mekanizma gibi önemli mimari değişiklikler getirerek, piyasaya sürüldüğünde son teknoloji mAP (ortalama Ortalama Hassasiyet) puanları elde etmesini sağladı. Özellikle COCO gibi zorlu kıyaslamalarda, doğruluğun her yüzde puanının önemli olduğu senaryolarda mükemmeldir.

Aksine, Ultralytics YOLOv5, "gerçek dünya" performansı odaklı olarak tasarlanmıştır. Çıkarım hızına ve düşük gecikme süresine öncelik vererek, mobil uygulamalar, gömülü sistemler ve uç AI cihazları için son derece uygundur. YOLOX, belirli büyük modeller için mAP'de hafif bir avantaja sahip olsa da, YOLOv5, kapsamlı Ultralytics ekosisteminden yararlanarak verim (saniye başına kare sayısı) ve dağıtım esnekliğinde sürekli olarak daha iyi performans gösterir.

Aşağıdaki tablo, çeşitli boyutlardaki modellerin ayrıntılı bir yan yana karşılaştırmasını sunmaktadır. YOLOv5'in, özellikle TensorRT ile optimize edildiğinde, önemli ölçüde daha hızlı çıkarım süreleri sunarken rekabetçi doğruluğu nasıl koruduğuna dikkat edin.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
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

YOLOX: Bağlantısız Rakip

YOLOX, YOLO serisi ile bağlantısız detect alanındaki akademik gelişmeler arasındaki boşluğu kapatmak için Megvii'deki araştırmacılar tarafından geliştirildi. Önceden tanımlanmış bağlantı kutularının kısıtlamasını kaldırarak, YOLOX eğitim sürecini basitleştirir ve sezgisel ayarlama ihtiyacını azaltır.

Mimari ve Yenilikler

YOLOX, sınıflandırma ve regresyon görevlerini farklı dallara ayıran bir Ayrık Kafa içerir. Bu tasarım, önceki YOLO sürümlerinin birleşik kafalarıyla zıttır ve bildirildiğine göre yakınsama hızını ve doğruluğunu artırır. Ayrıca, pozitif örnekleri dinamik olarak atayan ve modelin yoğun sahnelerdeki sağlamlığını artıran gelişmiş bir etiket atama stratejisi olan SimOTA'yı kullanır.

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

YOLOX'un temel gücü, özellikle en büyük varyantları (YOLOX-x) ile yüksek doğruluk tavanında ve araştırmacılara hitap eden temiz, anchor içermeyen tasarımında yatmaktadır. Ancak, bu faydalar ödünleşimlerle birlikte gelir. Ayrıştırılmış kafa, genellikle YOLOv5'e kıyasla daha yavaş çıkarımla sonuçlanan hesaplama karmaşıklığı ekler. Ek olarak, araştırma odaklı bir model olarak, Ultralytics ekosisteminde bulunan uyumlu, kullanıcı dostu araçlardan yoksundur ve bu da ticari hatlara entegrasyonu potansiyel olarak karmaşıklaştırır.

İdeal Kullanım Senaryoları

  • Akademik Araştırma: Yeni detect mimarileri ve etiket atama stratejileri ile denemeler yapmak.
  • Yüksek Hassasiyetli Görevler: Çevrimdışı video analizi gibi, mAP'deki %1-2'lik bir kazancın daha yavaş çıkarım maliyetini aştığı senaryolar.
  • Yoğun Nesne Algılama: SimOTA'nın iyi performans gösterdiği, yoğun bir şekilde dağınık nesnelerin bulunduğu ortamlar.

YOLOX hakkında daha fazla bilgi edinin

YOLOv5: Üretim Standardı

2020'de piyasaya sürülmesinden bu yana Ultralytics YOLOv5 dünya çapında geliştiriciler için tercih edilen bir model haline gelmiştir. Makine öğrenimi operasyonlarının (MLOps) tüm yaşam döngüsünü kolaylaştırmak için tasarlanmış bir platform tarafından desteklenen bu model, performans ve pratiklik arasında olağanüstü bir denge kuruyor.

Mimari ve Ekosistem

YOLOv5, verimli özellik çıkarımı için optimize edilmiş bir CSPNet backbone ve bir yol toplama ağı (PANet) neck kullanır. Başlangıçta PyTorch'ta ankraj tabanlı yaklaşımı popülerleştirmiş olsa da, en büyük varlığı çevreleyen ekosistemdir. Kullanıcılar, ONNX, CoreML ve TFLite gibi formatlara otomatik dışa aktarmadan ve model eğitimi ve yönetimi için Ultralytics HUB ile sorunsuz entegrasyondan yararlanır.

Biliyor muydunuz?

YOLOv5 sadece sınırlayıcı kutularla sınırlı değildir. Örnek segmentasyonu ve görüntü sınıflandırması dahil olmak üzere birden fazla görevi destekleyerek, karmaşık vizyon işlem hatları için çok yönlü bir araçtır.

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

Kullanım Kolaylığı, YOLOv5'in ayırt edici özelliğidir. Basit bir Python API ile geliştiriciler, önceden eğitilmiş ağırlıkları yükleyebilir ve yalnızca birkaç satır kodla çıkarım çalıştırabilir. Model, hız için yüksek düzeyde optimize edilmiştir ve hem CPU'larda hem de GPU'larda YOLOX'e kıyasla sürekli olarak daha düşük gecikme süresi sunar. Ayrıca, eğitim sırasında daha düşük bellek gereksinimlerine sahiptir, bu da onu standart donanımda erişilebilir kılar. Sabitlenmiş tasarımının özel veri kümeleri için çapa evrimi gerektirmesine rağmen (YOLOv5 tarafından otomatik olarak işlenir), güvenilirliği ve iyi yönetilen ekosistemi onu üretim için üstün kılar.

İdeal Kullanım Senaryoları

  • Gerçek Zamanlı Uygulamalar: Düşük gecikmenin kritik olduğu video gözetimi, otonom sürüş ve robotik.
  • Uç Nokta Dağıtımı: Verimli mimarisi sayesinde Raspberry Pi, NVIDIA Jetson veya mobil cihazlarda çalıştırma.
  • Ticari Ürünler: Uzun vadeli desteğin ve entegrasyon kolaylığının gerekli olduğu hızlı prototipleme ve dağıtım.
  • Çoklu Görevli Görüntü: Tek bir çerçeve içinde detect, segmentasyon ve sınıflandırma gerektiren projeler.

YOLOv5 hakkında daha fazla bilgi edinin

Kod Örneği: Ultralytics ile YOLOv5 Çalıştırma

Ultralytics Python paketi, YOLOv5 modellerini kullanmayı inanılmaz derecede kolaylaştırır. Aşağıda, önceden eğitilmiş bir model kullanarak çıkarım çalıştırma örneği verilmiştir.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (Nano version for speed)
model = YOLO("yolov5nu.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

Sonuç: Doğru Seçimi Yapmak

Her iki model de bilgisayar görüşünde önemli başarıları temsil ediyor, ancak farklı kitlelere hitap ediyor. YOLOX, daha parçalı bir araç setinde gezinmekte rahat olan, ankrajsız algılamanın sınırlarını zorlayan araştırmacılar için zorlu bir seçimdir.

Ancak, geliştiricilerin, mühendislerin ve işletmelerin büyük çoğunluğu için Ultralytics YOLOv5 üstün bir seçenek olmaya devam ediyor. Rakipsiz hız, çok yönlülük ve sağlam, aktif bir ekosistemin kazanan kombinasyonu, konseptten dağıtıma minimum zorlukla geçebilmenizi sağlar. Ayrıca, Ultralytics çerçevesini benimsemek, anchor-free tasarımın en iyilerini Ultralytics'in kendine özgü verimliliğiyle birleştiren YOLO11 gibi yeni nesil modellere net bir yükseltme yolu sağlar.

Diğer Model Karşılaştırmaları

Belirli ihtiyaçlarınıza en uygun olanı bulmak için bu modellerin diğer mimarilere karşı nasıl bir performans sergilediğini inceleyin:


Yorumlar