YOLOX ve YOLOv8#
Bilgisayarlı görü alanı son birkaç yılda gerçek zamanlı nesne tespitinde dikkat çekici gelişmelere sahne oldu. Araştırmacılar ve mühendisler doğruluk ile hızın sınırlarını sürekli zorlarken mevcut modeller arasından seçim yapmak zorlaşabiliyor. Bu kapsamlı rehber, etkili iki mimari olan YOLOX ve Ultralytics YOLOv8 arasında ayrıntılı bir teknik karşılaştırma sunuyor.
Geliştiriciler, mimarilerini, eğitim yöntemlerini ve dağıtım olanaklarını inceleyerek yapay zekâ projeleri için en uygun çerçeveyi seçerken bilinçli kararlar verebilir.
YOLOX: Araştırma ile Sektör Arasında Köprü Kuruyor#
YOLOX, akademik araştırma ile endüstriyel uygulama arasındaki boşluğu başarıyla kapatan önemli bir model olarak öne çıktı. Çapasız tasarıma geri dönüşü temsil eden model, önceki çapa tabanlı tespit modellerinin gerektirdiği tasarım parametrelerinin ve sezgisel ayarların sayısını önemli ölçüde azalttı.
Model Ayrıntıları:
- Yazar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş: Megvii
- Tarih: 2021-07-18
- Arxiv: YOLOX: 2021'de YOLO Serisini Geride Bırakmak
- GitHub: Megvii-BaseDetection/YOLOX
- Belgeler: YOLOX Belgeleri
Mimari Öne Çıkanlar#
YOLOX, kendisini önceki modellerinden ayıran bazı önemli değişiklikler içerir. Bunların en dikkat çekeni, sınıflandırma ve sınırlayıcı kutu regresyonu görevlerini ayrı yollara ayıran ayrıştırılmış başlıktır. Bu mimari tercih, regresyon için gereken uzamsal hizalama ile sınıflandırmanın gerektirdiği öteleme değişmezliği arasındaki doğal çelişkiyi çözer ve eğitim sırasında daha hızlı yakınsama sağlar.
Ayrıca YOLOX, SimOTA etiket atama stratejisini kullanır. Bu dinamik atama yöntemi, gerçek değer nesnelerinin tahminlerle eşleştirilmesini optimal taşıma problemi olarak formüle ederek eğitim süresini etkili biçimde azaltır ve ortalama hassasiyeti (mAP) artırır. Model ayrıca MixUp ve Mosaic gibi güçlü veri artırma tekniklerinden yararlanır; ancak öğrenilen özellikleri kararlı hale getirmek için son dönemlerde bu teknikleri kapatır.
YOLOX hakkında daha fazla bilgi edin
YOLOv8: Çok Yönlü Ekosistemin Standardı#
Süregelen araştırmaların yıllar içinde biriktirdiği bilgi üzerine inşa edilen Ultralytics YOLOv8, en ileri bilgisayarlı görü modellerinde önemli bir evrimi temsil eder. Model, yalnızca bir nesne tespit aracı değil; son derece erişilebilir bir API ile çok çeşitli görsel tanıma sorunlarını çözebilen kapsamlı, çok görevli bir çerçeve olarak sıfırdan tasarlanmıştır.
Model Ayrıntıları:
- Yazar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Kuruluş: Ultralytics
- Tarih: 2023-01-10
- GitHub: ultralytics/ultralytics
- Belgeler: YOLOv8 Belgeleri
Mimari Gelişmeler#
YOLOv8, C3 modülünü daha verimli C2f modülüyle değiştirerek gradyan akışını ve özellik çıkarımını iyileştiren, parametre sayısını ise fazla artırmayan sadeleştirilmiş bir mimari sunar. YOLOX gibi YOLOv8 de anchor-free tasarım ve ayrık bir başlık kullanır; ancak Distribution Focal Loss (DFL) ve CIoU kaybını hesaba katarak kayıp hesaplamasını iyileştirir. Bunun sonucunda özellikle küçük veya üst üste binen nesneler için çok daha sıkı sınırlayıcı kutu tahminleri elde edilir.
YOLOv8'in en büyük güçlü yanlarından biri, Ultralytics ekosistemiyle derin entegrasyonudur. Birleşik Python API'sini ya da Ultralytics Platform görsel arayüzünü kullanıyor ol, eğitimden dağıtıma geçiş sorunsuzdur ve ONNX'ten TensorRT'ye kadar çeşitli biçimler yerel olarak desteklenir.
Standart nesne algılamanın yanı sıra YOLOv8, örnek segmentasyonunu, görüntü sınıflandırmasını, poz tahminini ve yönlendirilmiş sınırlayıcı kutuları (OBB) yerel olarak destekler. Bu çoklu görev esnekliği, birden fazla model türünün yönetilmesi gereken karmaşık üretim ortamlarında YOLOv8'i oldukça cazip bir seçenek hâline getirir.
Performans ve Metrik Karşılaştırması#
Bu modelleri karşılaştırırken geliştiriciler; kesinlik, çıkarım gecikmesi ve hesaplama yükü arasındaki ödünleşimleri göz önünde bulundurmalıdır. Aşağıdaki tablo, her iki model ailesinin kıyaslama sonuçlarını gösterir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (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.1 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
YOLOv8, benzer parametre boyutlarında üstün mAP değerleri sunarken GPU hızını da sürekli olarak yüksek tutar. Ayrıca Ultralytics modelleri, eğitim sırasında daha az bellek gerektirmeleriyle bilinir. Bu, özellikle kaynak yoğun RT-DETR gibi Transformer mimarileriyle karşılaştırıldığında, tüketici donanımında toplu iş boyutlarını artırmak için önemli bir avantajdır; bu mimariler çok daha fazla CUDA belleği kullanır.
Geliştirme ve Dağıtım Deneyimi#
Eski araştırma kod tabanlarıyla çalışırken genellikle karmaşık ortamları yapılandırmak ve çıkarım için özel standart kodlar yazmak gerekir. Buna karşılık Ultralytics API'si bu işlemi yalnızca birkaç satır Python koduna indirger.
from ultralytics import YOLO
# YOLOv8 küçük modeli başlat
model = YOLO("yolov8s.pt")
# Özel bir veri kümesinde modeli zahmetsizce eğit
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Modelin doğruluğunu doğrula
metrics = model.val()
# Bir test görüntüsünde çıkarım çalıştır
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()Bu birleşik arayüz, bakımı iyi yapılan Ultralytics ekosisteminin ayırt edici özelliklerinden biridir; geliştiricilerin ortam sorunlarını ayıklamaya daha az, bilgisayarlı görü çözümlerini geliştirmeye daha fazla zaman ayırmasını sağlar.
Kullanım Alanları ve Öneriler#
YOLOX ve YOLOv8 arasında seçim yapmak, projene özgü gereksinimlere, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.
YOLOX Ne Zaman Seçilmeli#
YOLOX şu durumlarda iyi bir tercihtir:
- Çapasız Algılama Araştırmaları: Yeni algılama başlıklarını veya kayıp fonksiyonlarını denemek için YOLOX'in yalın, çapasız mimarisini temel alan akademik araştırmalar.
- Ultra Hafif Uç Cihazlar: YOLOX-Nano sürümünün son derece küçük boyutunun (0.91M parametre) kritik olduğu mikrodenetleyicilere veya eski mobil donanımlara dağıtım.
- SimOTA Etiket Atama Çalışmaları: Optimal taşıma tabanlı etiket atama stratejilerini ve bunların eğitim yakınsaması üzerindeki etkilerini inceleyen araştırma projeleri.
YOLOv8'i Ne Zaman Seçmeli?#
YOLOv8 şu durumlarda önerilir:
- Çok Yönlü, Çok Görevli Dağıtım: Ultralytics ekosisteminde algılama, segmentasyon, sınıflandırma ve poz tahmini için kendini kanıtlamış bir model gerektiren projeler.
- Yerleşik Üretim Sistemleri: YOLOv8 mimarisi üzerine kurulmuş, kararlı ve iyi test edilmiş dağıtım işlem hatlarına sahip mevcut üretim ortamları.
- Geniş Topluluk ve Ekosistem Desteği: YOLOv8'in kapsamlı eğitim içeriklerinden, üçüncü taraf entegrasyonlarından ve etkin topluluk kaynaklarından yararlanan uygulamalar.
Ultralytics'i (YOLO26) Ne Zaman Seçmeli#
Yeni projelerin çoğu için Ultralytics YOLO26, performans ve geliştirici deneyiminin en iyi bileşimini sunar:
- NMS Olmadan Uç Dağıtımı: Maksimum Olmayan Bastırma son işleminin karmaşıklığı olmadan tutarlı ve düşük gecikmeli çıkarım gerektiren uygulamalar.
- Yalnızca CPU Kullanılan Ortamlar: YOLO26'nın CPU'da %43'e varan daha hızlı çıkarımının belirleyici bir avantaj sağladığı, özel GPU hızlandırması bulunmayan cihazlar.
- Küçük Nesne Algılama: ProgLoss ve STAL'ın çok küçük nesnelerde doğruluğu önemli ölçüde artırdığı havadan drone görüntüleri veya IoT sensör analizi gibi zorlu senaryolar.
Geleceğe Bakış: YOLO26 Mimarisi#
YOLOv8 olağanüstü bir denge ve kullanılabilirlik sunsa da yapay zekânın sınırları hızla ilerlemeye devam ediyor. Ocak 2026'da yayımlanan YOLO26, önceki nesillerin temel fikirlerini alıp durmaksızın optimize ederek modern uç ve bulut dağıtımı için kesin standart hâline geliyor.
YOLO26, uçtan uca NMS içermeyen bir tasarım sunar: isteğe bağlı bire bir başlığı (nms=False), sezgisel maksimum olmayan bastırma son işleme adımını atlar. Bu atılım, çeşitli dağıtım hedeflerinde kararlı ve belirlenimci gecikme sağlar. Ayrıca Distribution Focal Loss (DFL) modülünü bilinçli olarak kaldıran YOLO26, CPU çıkarımını %43'e kadar hızlandırır ve gömülü sistemler ile mobil uygulamalar için en iyi seçenek hâline gelir.
YOLO26'da eğitim kararlılığı da yakınsamayı hızlandıran SGD ve Muon hibriti yeni MuSGD optimize edicisinin entegrasyonuyla baştan aşağı yenileniyor. Yeni ProgLoss + STAL kayıp fonksiyonlarıyla birlikte YOLO26, küçük nesneleri tanımada belirgin iyileştirmeler sunuyor. Bu özellik, drone haritalama ve güvenlik alarm sistemleri için kritik önem taşıyor.
Sonuç ve Öneriler#
Eski çerçeveleri modern çözümlerle karşılaştırdığında izlenen yön açıkça görülüyor. YOLOX, anchor-free yöntemlere geçişte önemli bir basamak olsa da entegre ve çok görevli bir ekosisteme sahip olmaması, hızlı tempolu üretim ortamlarındaki kullanımını kısıtlıyor.
Sorunsuz bir deneyime, çok yönlü görev desteğine ve güçlü topluluk desteğine öncelik veren geliştiriciler için YOLOv8 oldukça sağlam bir seçenek olmaya devam ediyor. Ancak uç bilişim performansını en üst düzeye çıkarmak, NMS darboğazlarını ortadan kaldırmak ve en yeni eğitim yenilikleriyle mümkün olan en yüksek doğruluğa ulaşmak isteyenler için YOLO26, yeni bilgisayarlı görü projelerinde açık ara en çok önerilen modeldir.
Ultralytics paketindeki diğer modelleri incelemek istiyorsan YOLO11'in performans özelliklerine göz atabilir veya ilk olarak YOLOv10'da sınanan öncü NMS içermeyen konseptleri okuyabilirsin.