YOLOX ve YOLOv8: Yüksek Performanslı Nesne Algılamada Gelişmeler
Hızla gelişen bilgisayar görme alanında, özel uygulamanız için doğru mimariyi seçmek çok önemlidir. Bu kılavuz, 2021'den itibaren yüksek performanslı, ankrajsız bir dedektör olan YOLOX ile Ultralytics YOLOv8, çok yönlülük, hız ve kolay dağıtım için tasarlanmış son teknoloji bir model. Her iki model de bu alana önemli katkılar sağlamış olsa da, mimari farklılıklarını ve ekosistem desteğini anlamak, geliştiricilerin gerçek dünya projeleri için bilinçli kararlar almasına yardımcı olacaktır.
Genel Bakış
YOLOX, çapa içermeyen bir mekanizmaya geçerek ve tahmin başlığını ayırarak YOLO önemli bir değişimi temsil etti. Bu, tasarım sürecini basitleştirdi ve YOLOv3 ve YOLOv5 v5.0) gibi çağdaşlarına kıyasla performansı artırdı. Ancak, YOLOv8 , yıllarca süren topluluk geri bildirimleri ve araştırmalar üzerine inşa edilmiş olup, çapa içermeyen algılama, çoklu görevler için birleşik bir çerçeve ve üstün eğitim verimliliği gibi gelişmiş özellikleri, kapsamlı Ultralytics ile destekleyerek bir araya getirmiştir.
YOLOX
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş:Megvii
- Tarih: 2021-07-18
- Arxiv:YOLOX: 2021'de YOLO Serisini Aşmak
- GitHub:Megvii-BaseDetection/YOLOX
YOLOX hakkında daha fazla bilgi edinin
YOLOv8
- Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Kuruluş:Ultralytics
- Tarih: 2023-01-10
- GitHub:ultralytics/ultralytics
YOLOv8 hakkında daha fazla bilgi edinin.
Mimari Farklılıklar
Temel fark, bu modellerin nesne tahmini ve özellik çıkarma işlemlerini nasıl gerçekleştirdiklerinde yatmaktadır.
YOLOX Mimarisi
YOLOX, "ayrıştırılmış kafa" yapısını tanıttı. Geleneksel YOLO , sınıflandırma ve konum belirleme (sınır kutusu regresyonu) görevlerini tek bir dalda birleştirdi. YOLOX, sınıflandırma ve regresyon görevleri arasındaki çelişkinin performansı sınırladığını savunarak bunları ayırdı. Ayrıca, nesne algılamayı bir nokta regresyon sorunu olarak ele alan, çapa kutuları için sezgisel ayarlamanın karmaşıklığını azaltan çapa içermeyen bir tasarıma geçti. Dinamik etiket ataması için SimOTA'yı kullanarak, hangi tahminlerin gerçek nesnelerle eşleştiğini optimize eder.
YOLOv8 Mimarisi
Ul Ultralytics YOLOv8 , çapa içermeyen kavramı daha daYOLOv8 . backbone, C3 ( YOLOv5) ve ELAN ( YOLOv7) en iyi özelliklerini bir araya getiren bir C2f modülü kullanarak, hafif bir ayak izi korurken gradyan akışını geliştirir. YOLOX gibi, ayrıştırılmış bir başlık kullanır, ancak etiket ataması için SimOTA'dan daha etkili bir şekilde sınıflandırma ve yerelleştirme puanlarını dengeleyen Görev Uyumlu Atayıcıyı (Task-Aligned Assigner) kullanır. En önemlisi, YOLOv8 örnek segmentasyonu, poz tahmini, yönlendirilmiş nesne algılama (OBB) ve sınıflandırmayı yerel olarak destekleyen birleşik bir çerçeve olarak YOLOv8
Performans Dengesi
Ultralytics , hız ve doğruluk arasında uygun bir denge sağlar. YOLOv8 C2f backbone , eski mimarilerde kullanılan CSPDarknet'e kıyasla daha zengin özellik çıkarma ve daha az hesaplama yükü YOLOv8
Performans Metrikleri Karşılaştırması
Aşağıdaki tablo, COCO setindeki standart algılama modellerini karşılaştırmaktadır. YOLOv8 , özellikle TensorRT kullanan modern donanımlarda, benzer veya daha hızlı çıkarım hızlarında YOLOv8 daha yüksekmAPval sağlar.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Not: YOLOX hızları genellikle V100 GPU'larda belirtilirken, YOLOv8 T4 TensorRT10 ve CPU ONNX standartlaştırılmıştır. "params" parametreleri (milyonlarca) ve "FLOPs" kayan nokta işlemlerini (milyarlarca) ifade eder.
Eğitim ve Kullanım Kolaylığı
YOLOX ve Ultralytics birbirinden ayıran en önemli farklardan biri, geliştirici deneyimidir.
Ultralytics Ekosisteminin Avantajı
YOLOv8 , son derece gelişmiş bir Python ve Komut Satırı Arayüzü (CLI) ile YOLOv8 . Geliştiriciler, birkaç dakika içinde kurulumdan özel veri seti üzerinde eğitime geçebilirler. Ekosistem, aşağıdaki gibi araçlarla sorunsuz entegrasyon sağlar Weights & Biases gibi araçlarla ve Ultralytics gibi veri yönetimi araçlarıyla sorunsuz entegrasyon içerir. Ayrıca, Ultralytics , karmaşık yerel ortam kurulumlarına gerek kalmadan web tabanlı model eğitimi ve dağıtımı sağlar.
Buna karşılık, YOLOX daha geleneksel bir araştırma deposudur. Güçlü olmasına rağmen, genellikle eğitim komut dosyalarının ve ortam bağımlılıklarının daha fazla manuel yapılandırmasını gerektirir, bu da yeni başlayanlar veya hızlı yineleme gerektiren ekipler için daha zor hale getirir.
Kod Örneği: YOLOv8 Eğitimi
Ultralytics basitliği, bakımı kolay ve özlü kodlar yazılmasını sağlar.
from ultralytics import YOLO
# Load a model (YOLOv8n)
model = YOLO("yolov8n.pt")
# Train on COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Bellek Gereksinimleri
Verimlilik, Ultralytics temel ilkesidir. YOLOv8 , aşağıdaki gibi transformatör tabanlı modeller de dahil olmak üzere diğer birçok mimariye kıyasla eğitim sırasında daha düşük bellek kullanımı için optimize YOLOv8 RT-DETR. Bu, araştırmacıların tüketici sınıfı GPU'larda (ör. NVIDIA 3060 veya 4070) daha büyük parti boyutlarını eğitmelerine olanak tanıyarak, yüksek performanslı model eğitimine erişimi demokratikleştirir.
Gerçek Dünya Kullanım Durumları
Doğru modeli seçmek genellikle dağıtım ortamına ve belirli görev gereksinimlerine bağlıdır.
YOLOv8'in Üstün Olduğu Alanlar
- Çoklu Görev Uygulamaları: YOLOv8 , segmentasyon ve poz tahminini YOLOv8 desteklediğinden, spor analizi (oyuncuların hareketlerini ve duruşlarını izleme) veya otonom araçlar (şerit segmentasyonu ve nesne algılama) gibi karmaşık uygulamalar için idealdir.
- Edge Dağıtımı: Tek komutla ONNX, TensorRT, CoreML ve TFLite gibi formatlara tek komutla dışa aktarım özelliği ile YOLOv8 , Raspberry Pi ve cep telefonları gibi kenar cihazları için büyük ölçüde optimize YOLOv8 .
- Hızlı Prototipleme: Kullanım kolaylığı ve önceden eğitilmiş ağırlıklar, fikirleri hızlı bir şekilde doğrulaması gereken girişimler ve çevik ekipler için ideal bir seçimdir.
YOLOX'un uygun olduğu yerler
- Eski Araştırma Temelleri: YOLOX, 2021 döneminden itibaren çapa içermeyen mimarileri karşılaştıran akademik makaleler için sağlam bir temel olmaya devam etmektedir.
- Özel Uygulamalar: MegEngine çerçevesine yoğun bir şekilde yatırım yapan kullanıcılar için ( PyTorch da PyTorch ), YOLOX yerel uyumluluk sağlar.
İleriye Bakış: YOLO26'nın Gücü
YOLOv8 sağlam ve yaygın olarak kullanılan bir standart YOLOv8 , Ultralytics yeniliklere Ultralytics . Yeni piyasaya sürülen YOLO26 bir sonraki adımdır.
Performans açısından mutlak üstünlük arayan geliştiriciler için YOLO26, hem YOLOX hem de YOLOv8 göre birkaç önemli avantaj sunar:
- Uçtan Uca NMS: YOLO26, doğal olarak uçtan uca çalışır ve Non-Maximum Suppression (NMS) son işlemine gerek kalmaz. Bu, gecikme değişkenliğini azaltır ve dağıtım süreçlerini basitleştirir.
- Daha Hızlı CPU : Kenar bilgi işlem için optimize edilmiş YOLO26, %43'e kadar daha hızlı CPU sunarak, özel GPU'su olmayan cihazlar için üstün bir performans sağlar.
- MuSGD Optimizer: LLM eğitim yeniliklerinden esinlenen MuSGD optimizer, daha istikrarlı bir eğitim ve daha hızlı yakınsama sağlar.
- Geliştirilmiş Küçük Nesne Algılama: ProgLoss + STAL işlevleri ile YOLO26, hava görüntüleme ve inceleme görevleri için çok önemli olan küçük nesnelerin tanınmasında önemli iyileştirmeler sunar.
YOLO26 hakkında daha fazla bilgi edinin
Sonuç
Hem YOLOX hem de YOLOv8 , nesne algılamanın gelişmesinde önemli roller YOLOv8 . YOLOX, bağlantısız algılama mekanizmalarını başarıyla yaygınlaştırmıştır. Ancak, YOLOv8 modern AI geliştirme için daha kapsamlı, kullanıcı dostu ve çok yönlü bir çözüm sunmaktadır. Ultralytics entegrasyonu, çoklu görme görevlerini desteklemesi ve sorunsuz dağıtım seçenekleri, onu günümüzde çoğu ticari ve araştırma uygulaması için tercih edilen seçenek haline getirmektedir.
En son görsel yapay zeka teknolojisini benimsemeye hazır olanlar için, NMS hız ve verimlilikle uygulamalarınızı geleceğe hazır hale getirmek için YOLO26'yı keşfetmeniz şiddetle tavsiye edilir.