YOLOv5 - YOLOX: Mimari Değişimler ve Performans Metrikleri
Nesne tespiti alanı hızla gelişti ve çeşitli mimariler çıkarım hızı ve algılama doğruluğu arasında en uygun denge için yarışıyor. Bu yolculuktaki iki önemli kilometre taşı, Ultralytics tarafından geliştirilen YOLOv5 ve Megvii'den araştırmaya odaklı bir model olan YOLOX'tir. Her iki model de "You Only Look Once" soyundan gelmesine rağmen, mimari felsefelerinde (özellikle anchor tabanlı ve anchor içermeyen algılama mekanizmalarıyla ilgili olarak) önemli ölçüde farklılık gösterir.
Bu karşılaştırma, geliştiricilerin ve araştırmacıların bilgisayarlı görü projeleri için doğru aracı seçmelerine yardımcı olmak amacıyla her iki modelin teknik özelliklerini, mimari farklılıklarını ve performans metriklerini incelemektedir.
Ultralytics YOLOv5: Mühendislik Standardı
2020'de yayınlanan YOLOv5, pratik nesne algılama için hızla endüstri standardı haline geldi. Öncelikle akademik araştırma projeleri olan önceki sürümlerinin aksine, YOLOv5 kullanılabilirlik, dağıtım kolaylığı ve gerçek dünya performansı odaklı olarak tasarlanmıştır. Daha geniş bir kitlenin özel modelleri eğitmesini ve dağıtmasını sağlayan, PyTorch tabanlı akıcı bir iş akışı sunmuştur.
- Yazarlar: Glenn Jocher
- Kuruluş:Ultralytics
- Tarih: 2020-06-26
- GitHub:https://github.com/ultralytics/yolov5
- Belgeler:https://docs.ultralytics.com/models/yolov5/
YOLOv5, nesne konumlarını tahmin etmek için önceden tanımlanmış bağlantı kutularını kullanan bağlantı tabanlı bir mimari kullanır. Optimum yakınsamayı sağlamak için eğitimden önce bağlantı şekillerini özel veri kümelerine uyacak şekilde geliştiren bir "AutoAnchor" özelliği entegre eder. Model, hızlı özellik çıkarma ve toplama için optimize edilmiş bir CSPNet omurgasına ve bir PANet boynuna sahiptir. Temel gücü, olağanüstü çıkarım hızı ve düşük bellek ayak izinde yatmaktadır, bu da onu uç bilişim ve mobil uygulamalar için ideal hale getirmektedir.
YOLOv5 hakkında daha fazla bilgi edinin
YOLOX: Bağlantısız Rakip
Megvii tarafından 2021'de piyasaya sürülen YOLOX, bağlantısız bir tasarım benimseyerek YOLO ailesinin sınırlarını zorlamayı amaçladı. Bu yaklaşım, önceden tanımlanmış bağlantı kutularına olan ihtiyacı ortadan kaldırır ve bunun yerine nesne merkezlerini ve boyutlarını doğrudan tahmin eder. Bu değişim, tasarım sürecini basitleştirmeyi ve çeşitli nesne şekillerinde genelleştirmeyi geliştirmeyi amaçlıyordu.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş:Megvii
- Tarih: 2021-07-18
- Arxiv:https://arxiv.org/abs/2107.08430
- GitHub:https://github.com/Megvii-BaseDetection/YOLOX
- Belgeler:https://yolox.readthedocs.io/en/latest/
YOLOX, sınıflandırma ve regresyon görevlerini farklı dallara ayıran bir ayrık kafa mimarisi sunar. Bu, teorik olarak modelin bir nesnenin ne olduğuna karşı nerede olduğuna dair farklı özellik temsilleri öğrenmesini sağlar. Ek olarak, eğitim sırasında pozitif örnekleri dinamik olarak atamak için SimOTA (Basitleştirilmiş Optimal Taşıma Ataması) olarak bilinen gelişmiş bir etiket atama stratejisi kullanır. Bu yenilikler yüksek doğruluğa katkıda bulunsa da, genellikle artan hesaplama karmaşıklığı ile birlikte gelir.
YOLOX hakkında daha fazla bilgi edinin
En Son Teknolojiyi mi Arıyorsunuz?
YOLOv5 ve YOLOX bilgisayarla görme tarihinde önemli adımları temsil ederken, alan hızla ilerliyor. YOLO11Ultralytics'in en yeni modeli, algılama, segmentasyon, poz tahmini ve daha fazlasını destekleyen rafine bir mimariye sahip olarak her ikisine kıyasla üstün doğruluk ve hız sunar.
Performans Analizi: Hız - Doğruluk Karşılaştırması
YOLOv5 ve YOLOX'u karşılaştırırken, ödünleşme genellikle çıkarım gecikmesi ve mutlak hassasiyet üzerinde yoğunlaşır. YOLOv5, özellikle TensorRT ve ONNX Runtime kullanılarak donanım hızlandırıcılarında hız için titizlikle optimize edilmiştir. Aşağıdaki verilerde gösterildiği gibi, YOLOv5 modelleri eşdeğer model boyutlarında önemli ölçüde daha düşük gecikme süresi (daha yüksek hız) 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
Temel Çıkarımlar
- Çıkarım Hızı: YOLOv5 hız konusunda belirleyici bir avantaja sahiptir. Örneğin, YOLOv5n yalnızca 1.12 ms'lik bir TensorRT gecikmesi elde ederek, NVIDIA Jetson gibi uç cihazlarda yüksek FPS video işleme için son derece uygundur. Buna karşılık, en küçük YOLOX modelleri CPU için karşılaştırılabilir kıyaslama verilerinden yoksundur ve GPU gecikmeleri benzer doğruluk seviyeleri için genellikle daha yüksektir.
- Doğruluk (mAP): YOLOX, özellikle daha büyük varyantlarıyla (YOLOX-x 51.1'e karşı YOLOv5x 50.7) COCO veri kümesinde biraz daha yüksek mAP puanları elde etme eğilimindedir. Bu, ankraj içermeyen tasarımına ve ayrıştırılmış başlığına bağlanır, bu da nesne varyasyonlarını daha iyi işleyebilir. Ancak, bu marjinal kazanç genellikle önemli ölçüde daha yüksek hesaplama yükü (FLOP'lar) pahasına gelir.
- Verimlilik: YOLOv5 modelleri genellikle belirli bir çıkarım hızı için daha az FLOP gerektirir. YOLOv5'in birleşik başlık tasarımı, hem CPU'larda hem de GPU'larda daha hızlı yürütme sağlayarak donanım dostudur.
Mimari Derinlemesine İnceleme
Temel fark, her modelin detect sorununa nasıl yaklaştığında yatmaktadır.
YOLOv5 (Anchor-Based): YOLOv5, önceden tanımlanmış bir anchor kutusu kümesi kullanır. Eğitim sırasında model, bu kutuları nesnelere uyacak şekilde ayarlamayı öğrenir. Bu yöntem, nesnenin boyutu ile ızgara hücresi boyutu arasındaki korelasyona dayanır.
- Artıları: Kararlı eğitim, yerleşik metodoloji, standart veri kümelerinde mükemmel performans.
- Dezavantajları: Egzotik veri kümelerinde çapa kutuları için hiperparametre ayarlaması gerektirir (ancak YOLOv5'in AutoAnchor'ı bunu hafifletir).
YOLOX (Bağlantısız): YOLOX, nesne algılamayı bir nokta regresyonu problemi olarak ele alır. Izgara hücresinin merkezinden nesnenin sınırlarına olan mesafeyi tahmin eder.
- Artıları: Tasarım parametrelerinin sayısını azaltır (ayarlanacak çapa yok), düzensiz en boy oranlarında daha iyi genelleme potansiyeli.
- Dezavantajları: Eğitim sırasında yakınsama süresi daha uzun olabilir ve ayrıştırılmış başlık, çıkarım gecikmesini artıran katmanlar ekler.
Kullanıcı Deneyimi ve Ekosistem
Ultralytics YOLOv5'in en belirleyici özelliklerinden biri, sağlam ekosistemidir. YOLOX güçlü bir akademik temel sağlarken, YOLOv5 geliştiriciler için tasarlanmış, ürüne hazır bir çerçeve sunar.
Kullanım Kolaylığı
YOLOv5, "baştan sona" sadeliği ile ünlüdür. Veri notasyonundan model eğitimine ve dağıtımına kadar, Ultralytics ekosistemi her adımı kolaylaştırır. Model birkaç satır kodla yüklenebilir ve TFLite, CoreML ve ONNX gibi formatlara otomatik dışa aktarmayı destekler.
import torch
# Load a pretrained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")
# Print results
results.print()
Çok Yönlülük ve Bakım
Ultralytics modelleri sadece algılama ile ilgili değildir. Çerçeve, görüntü sınıflandırmayı ve örnek segmentasyonunu destekleyerek birden çok görev için birleşik bir API sunar. Bu çok yönlülük, öncelikle algılamaya odaklanan YOLOX gibi araştırmaya özgü depolarda genellikle bulunmaz. Ayrıca, Ultralytics tarafından yapılan aktif bakım, PyTorch ve CUDA'nın en son sürümleriyle uyumluluğu sağlayarak zaman içinde "kod çürümesini" azaltır.
İdeal Kullanım Senaryoları
Şu durumlarda Ultralytics YOLOv5'i seçin:
- Uç cihazlarda (Raspberry Pi, cep telefonları) gerçek zamanlı performansa ihtiyacınız var.
- Dağıtım kolaylığına öncelik veriyor ve TensorRT, CoreML veya TFLite'a dışa aktarma için yerleşik desteğe ihtiyacınız var.
- Aktif topluluk desteği olan kararlı, iyi belgelenmiş bir çerçeveyi tercih edersiniz.
- Uygulamanız, düşük gecikme süresinin kritik olduğu güvenlik gözetimi veya otonom navigasyonu içeriyor.
Şu durumlarda YOLOX'u seçin:
- Özellikle bağlantısız mimariler üzerine akademik araştırma yapıyorsunuz.
- Yarışma veya kıyaslama için, çıkarım hızından bağımsız olarak mutlak maksimum mAP'ye ihtiyacınız var.
- Çapa tabanlı yöntemlerin açıkça başarısız olduğu (örneğin, aşırı en boy oranları) ve AutoAnchor'ın sorunu çözemediği özel bir veri kümeniz var.
Sonuç
Hem YOLOv5 hem de YOLOX, bilgisayar görüşü tarihinde yerlerini almıştır. YOLOX, YOLO ailesinde ankrajsız (anchor-free) algılayıcıların uygulanabilirliğini göstererek, akademik araştırma için güçlü bir temel sunmuştur. Ancak, pratik uygulamaların büyük çoğunluğu için Ultralytics YOLOv5, benzersiz hızı, verimliliği ve geliştirici dostu ekosistemi nedeniyle üstün bir seçim olmaya devam etmektedir.
Bugün yeni projelere başlayanlar için YOLO11'i keşfetmenizi şiddetle tavsiye ederiz. YOLOv5'in güçlü yönleri olan kullanım kolaylığı ve hız üzerine inşa edilirken, hem YOLOv5'i hem de YOLOX'i doğruluk ve çok yönlülük açısından aşan modern mimari gelişmeleri entegre eder.
Diğer Model Karşılaştırmaları
Ultralytics modellerinin alandaki diğer mimarilere kıyasla nasıl bir performans sergilediğini inceleyin:
- YOLOv5 - YOLOv8 Karşılaştırması
- YOLO11 - YOLOX karşılaştırması
- RT-DETR - YOLOv5 Karşılaştırması
- YOLOv8 - YOLOX karşılaştırması
- YOLOv10 - YOLOX Karşılaştırması