YOLOv10 ve YOLOX: Çapasız ve NMS'siz Nesne Tespitinin Evrimi
Bilgisayarlı görü alanı, gerçek zamanlı nesne tespiti mimarilerindeki hızlı ilerlemelerle yönlendiriliyor. Bu ayrıntılı teknik karşılaştırma, verimlilik ve tasarım paradigmalarının sınırlarını zorlayan iki etkili modeli inceliyor: YOLOv10 ve YOLOX. Mimari farklılıklarını, performans metriklerini ve eğitim metodolojilerini inceleyerek, sen ve diğer araştırmacılar sağlam görü sistemleri dağıtmak için bilinçli kararlar verebilirsin.
Model Geçmişleri ve Kökenleri
Bu derin öğrenme modellerinin kökenlerini anlamak, mimari hedefleri ve hedeflenen kullanım durumları hakkında değerli bir bağlam sağlar.
YOLOv10: Gerçek Uçtan Uca Tespit için NMS'yi Ortadan Kaldırmak
Uzun süredir devam eden gecikme darboğazlarını çözmek için geliştirilen YOLOv10, YOLO ailesine yerel bir uçtan uca yaklaşım getirdi.
- Yazarlar: Ao Wang, Hui Chen, Lihao Liu ve diğerleri.
- Kuruluş: Tsinghua University
- Tarih: 23 Mayıs 2024
- ArXiv: 2405.14458
- GitHub: THU-MIG/yolov10
- Dokümanlar: Ultralytics YOLOv10 Dokümantasyonu
YOLOv10 hakkında daha fazla bilgi edinin
YOLOX: Araştırma ve Endüstri Arasındaki Boşluğu Kapatmak
YOLOX, geleneksel YOLO tasarımının çapasız bir versiyonu olarak ortaya çıktı ve özellikle endüstriyel topluluklarda dağıtımı kolaylaştırmayı hedefleyen, rekabetçi performansa sahip daha basit bir metodoloji sundu.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş: Megvii
- Tarih: 18 Temmuz 2021
- ArXiv: 2107.08430
- GitHub: Megvii-BaseDetection/YOLOX
- Dokümantasyon: YOLOX Resmi Dokümantasyonu
YOLOX hakkında daha fazla bilgi edin
Mimari Öne Çıkanlar ve Yenilikler
Her iki çerçeve de geleneksel çapa tabanlı dedektörlerden ayrılıyor, ancak nesne tespiti hattındaki farklı sorunları çözüyorlar.
YOLOX Mimarisi
YOLOX, 2021'de ekosisteme birkaç önemli güncelleme getirdi. Birincil katkısı, çapasız dedektör tasarımına geçişti. YOLOX, önceden tanımlanmış çapa kutularını ortadan kaldırarak, farklı veri kümeleri için gereken tasarım parametrelerini ve sezgisel ayarlamaları büyük ölçüde azalttı.
Ayrıca YOLOX, sınıflandırma ve regresyon görevlerini ayıran bir ayrıştırılmış başlık (decoupled head) kullanır. Bu, iki hedef arasındaki çatışmayı çözerek eğitim sırasında yakınsamayı önemli ölçüde hızlandırdı. Ayrıca, gelişmiş etiket ataması için SimOTA kullanarak, COCO veri kümesinde yaygın olan kalabalık sahnelerin ve örtüşmelerin yönetimini iyileştirir.
YOLOX'un öncülük ettiği gibi çapasız tasarımlar, model ayarlama karmaşıklığını önemli ölçüde düşürür. Artık en uygun çapa kutusu boyutlarını tanımlamak için özel veri kümeleri üzerinde k-means kümelemesi yapmana gerek kalmaz, bu da değerli hazırlık süresinden tasarruf sağlar.
YOLOv10 Mimarisi
YOLOX, tespit başlığını iyileştirse de, çıkarım sırasında hala gecikme değişkenliğine neden olan NMS'ye (Non-Maximum Suppression) güveniyordu. YOLOv10, NMS'siz eğitim için tutarlı bir ikili atama stratejisi getirerek bu kusuru özellikle hedef aldı. Eğitim sırasında hem bire-çok hem de bire-bir etiket atamalarını kullanır, ancak çıkarım sırasında bire-çok başlığını tamamen devre dışı bırakarak NMS son işleme gerek kalmadan temiz tahminler üretir.
YOLOv10 ayrıca bütünsel bir verimlilik-doğruluk odaklı model tasarımına sahiptir. Hafif sınıflandırma başlıkları ve uzamsal-kanal ayrıştırılmış örnekleme yöntemini birleştirerek, doğruluktan ödün vermeden parametre sayısını ve FLOP değerlerini büyük ölçüde azaltır.
Performans Karşılaştırması
Bu modelleri NVIDIA T4 GPU gibi donanımlar üzerinde değerlendirmek, ölçeğe bağlı olarak belirgin avantajları ortaya koyar. Aşağıda kapsamlı karşılaştırma tablosu yer almaktadır.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.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 |
Yukarıda görüldüğü gibi, YOLOv10 olağanüstü iyi ölçeklenir. YOLOv10x varyantı en yüksek doğruluğu (54.4 mAP) elde ederken, YOLOv10n varyantı TensorRT entegrasyonu ile en hızlı çıkarımı sağlar. Buna karşılık, eski YOLOX nano modeli, yoğun kısıtlamalı ortamlar için en küçük toplam kaplama alanına sahiptir.
Eğitim Metodolojileri ve Kaynak Gereksinimleri
Üretim için modeller uygularken, eğitim ekosistemi ve kaynak talepleri, ham çıkarım hızı kadar kritiktir.
YOLOX genellikle yönetilmesi zahmetli olabilen eski ortam yapılandırmalarına güvenir. Ayrıca, eski kod tabanı çoklu GPU dağıtılmış eğitim veya karma hassasiyetli optimizasyon elde etmek için daha fazla ortak kod gerektirir.
Buna karşılık YOLOv10, modern PyTorch iş akışlarıyla sorunsuz bir şekilde entegre olur, ancak geliştirici deneyimini gerçekten dönüştüren Ultralytics ekosistemidir. Ultralytics modelleri, RT-DETR gibi transformer tabanlı mimarilere kıyasla eğitim sırasında önemli ölçüde daha düşük CUDA bellek kullanımıyla karakterize edilir.
Kod Örneği: Optimize Edilmiş Eğitim
Birleşik Ultralytics API'sini kullanarak, en son teknoloji modelleri sadece birkaç satır Python kodu ile sorunsuz bir şekilde eğitebilirsin. Bu, C++ operatörlerinin manuel olarak derlenmesini veya karmaşık yapılandırma dosyalarını gerektirmez.
from ultralytics import YOLO
# Initialize a pre-trained YOLOv10 model
model = YOLO("yolov10s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model's performance
metrics = model.val()
# Export the optimized model to ONNX format
model.export(format="onnx")Bu basit sözdizimi, otomatik karma hassasiyet, otomatik veri artırma ve Weights & Biases gibi araçlarla kutudan çıktığı gibi entegrasyona anında erişim sağlar.
Kullanım Durumları ve Öneriler
YOLOv10 ile YOLOX arasında seçim yapmak, özel proje gereksinimlerine, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.
Ne Zaman YOLOv10 Seçilmeli
YOLOv10 şunlar için güçlü bir seçimdir:
- NMS-Free Gerçek Zamanlı Algılama: Non-Maximum Suppression olmadan uçtan uca algılamadan faydalanan, dağıtım karmaşıklığını azaltan uygulamalar.
- Dengeli Hız-Doğruluk Takasları: Çeşitli model ölçeklerinde çıkarım hızı ile algılama doğruluğu arasında güçlü bir denge gerektiren projeler.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
YOLOX ne zaman seçilmeli?
YOLOX şunlar için önerilir:
- Çapasız Algılama Araştırması: Yeni algılama başlıkları veya kayıp işlevleri denemek için YOLOX'un temiz, çapasız mimarisini temel olarak kullanan akademik araştırma.
- Ultra Hafif Uç Cihazlar: YOLOX-Nano varyantının son derece küçük ayak izinin (0.91M parametre) kritik olduğu mikrodenetleyicilerde veya eski mobil donanımlarda dağıtım yapılması.
- SimOTA Etiket Atama Çalışmaları: Optimum taşıma tabanlı etiket atama stratejilerini ve bunların eğitim yakınsaması üzerindeki etkisini araştıran araştırma projeleri.
Ne Zaman Ultralytics (YOLO26) Seçilmeli
Çoğu yeni proje için Ultralytics YOLO26 performans ve geliştirici deneyiminin en iyi kombinasyonunu sunar:
- NMS-Free Uç Dağıtımı: Non-Maximum Suppression işlem sonrası zorluğu olmadan tutarlı, düşük gecikmeli çıkarım gerektiren uygulamalar.
- Sadece CPU Ortamları: Özel GPU hızlandırması olmayan, YOLO26'nın %43'e kadar daha hızlı CPU çıkarımının belirleyici bir avantaj sağladığı cihazlar.
- Küçük Nesne Algılama: ProgLoss ve STAL'ın küçük nesneler üzerindeki doğruluğu önemli ölçüde artırdığı hava drone görüntüleri veya IoT sensör analizi gibi zorlu senaryolar.
Görü Yapay Zekasının Geleceği: YOLO26 ile Tanış
YOLOv10 ve YOLOX önemli kilometre taşlarını temsil etse de, bilgisayarlı görü alanı durmaksızın ilerlemeye devam ediyor. Bugün yeni projelere başlayan geliştiriciler için Ultralytics YOLO26 kesin önerimizdir.
Ocak 2026'da yayınlanan Ultralytics YOLO26, YOLOv10'un öncülük ettiği uçtan uca NMS'siz tasarımın temel atılımı üzerine inşa edilmiş olup, onu daha fazla kararlılık ve hız için geliştirir.
YOLO26, birkaç büyük sıçrama ile öne çıkıyor:
- %43'e Kadar Daha Hızlı CPU Çıkarımı: Distribution Focal Loss (DFL) değerini stratejik olarak kaldırarak, YOLO26 GPU'suz uç cihazlarda çok daha üstün performans elde eder.
- MuSGD Optimizer: LLM eğitim kararlılığından esinlenen bu yeni SGD ve Muon melezi, daha hızlı yakınsama ve son derece kararlı eğitim süreçleri sağlar.
- ProgLoss + STAL: Bu gelişmiş kayıp fonksiyonları, hava görüntüleri ve IoT sensörleri için kritik bir faktör olan küçük nesne tanımada kayda değer iyileştirmeler sağlar.
- Benzersiz Çok Yönlülük: Sadece bir nesne dedektörü olan YOLOX'un aksine, YOLO26 Örnek Segmentasyonu, Poz Tahmini, Görüntü Sınıflandırma ve OBB Tespiti işlemlerini tek ve birleşik bir kütüphane içinde yerel olarak destekler.
YOLO26 hakkında daha fazla bilgi edin
Üretime giden en basit yol için, veri kümelerini etiketlemek, bulutta YOLO26 modellerini eğitmek ve sıfır kurulum gereksinimiyle herhangi bir uç cihazda dağıtmak için Ultralytics Platformunu kullanabilirsin.
Gerçek Dünya Uygulamaları
Doğru modeli seçmek, çeşitli endüstrilerdeki gerçek dünya dağıtımlarının başarısını belirler.
Yüksek Hızlı Video Analitiği
Akıllı şehir trafik yönetimi gibi yoğun video akışlarını işlemek için YOLOv10, NMS'siz son işleme özelliği sayesinde önemli bir avantaj sağlar. NMS darboğazını ortadan kaldırmak, tutarlı düşük gecikme süresi sağlayarak BoT-SORT gibi takip algoritmalarıyla eşleştirmek için ideal hale getirir.
Eski Uç Dağıtımı
Saf evrişimli paradigmalar için optimize edilmiş eski akademik kurulumlar veya eski Android uygulamaları için, daha eski PyTorch ortamlarını korumanın kabul edilebilir bir ödünleşim olduğu YOLOX-Tiny gibi daha küçük modeller hala özel kullanım durumları bulabilir.
Modern Uç ve IoT Cihazları
Robotik, dronlar ve perakende raf analizi gibi yeni nesil donanım dağıtımları için YOLO26 nihai çözümdür. Drastik şekilde azaltılmış CPU gecikmesi ve üstün küçük nesne tespiti, onu otonom navigasyon ve ayrıntılı envanter yönetimi için benzersiz şekilde nitelikli kılar.
Derin öğrenme araç setini genişletmek için ek karşılaştırmalara ulaşmak adına, bu modellerin esnek YOLO11 veya transformer destekli RT-DETR gibi alternatiflere karşı nasıl performans gösterdiğini de keşfedebilirsin.