YOLO Vision 2026:

YOLOX ve YOLOv10#

Gerçek zamanlı bilgisayarlı görü modellerinin evrimi, önemli mimari sıçramalarla karakterize edilmiştir. Bu yolculuktaki iki kritik dönüm noktası YOLOX ve YOLOv10'dur. 2021'de piyasaya sürülen YOLOX, oldukça etkili bir çapasız (anchor-free) tasarım sunarak akademik araştırmalar ile endüstriyel uygulamalar arasındaki boşluğu başarıyla kapatmıştır. Üç yıl sonra YOLOv10, son işleme sırasında Non-Maximum Suppression (NMS) ihtiyacını ortadan kaldırarak verimlilik ve hız sınırlarını zorlamış ve bu alanda devrim yaratmıştır.

Bu kapsamlı teknik karşılaştırma, her iki modelin mimarilerini, performans metriklerini ve ideal kullanım durumlarını inceleyerek bir sonraki nesne algılama projen için en doğru aracı seçmene yardımcı olacak içgörüler sunar.

Model Kökenleri ve Meta Verileri#

Bu modellerin kökenlerini anlamak, mimari seçimleri ve hedeflenen dağıtım ortamları için bağlam sağlar.

YOLOX Ayrıntıları
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://github.com/Megvii-BaseDetection/YOLOX/tree/main/docs

YOLOX hakkında daha fazla bilgi edinin

YOLOv10 Ayrıntıları
Yazarlar: Ao Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han ve Guiguang Ding
Kurum: Tsinghua University
Tarih: 2024-05-23
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
Dokümanlar: https://docs.ultralytics.com/models/yolov10

YOLOv10 hakkında daha fazla bilgi edin

Mimari Yenilikler#

YOLOX ve YOLOv10 arasındaki temel farklar, sınırlayıcı kutu (bounding box) tahminlerini ve son işlemeyi nasıl ele aldıklarında yatar.

YOLOX: Çapasız (Anchor-Free) Tasarımın Öncüsü#

YOLOX, YOLO ailesini çapasız bir mimariye taşıyarak büyük ses getirdi. Önceden tanımlanmış çapa kutularına (anchor boxes) güvenmek yerine bir nesnenin merkezini tahmin ederek, YOLOX özel veri kümeleri için gereken tasarım parametrelerinin ve buluşsal ayarlamaların sayısını önemli ölçüde azalttı. Ayrıca, sınıflandırma ve regresyon görevlerini ayrı yollara ayıran ayrıştırılmış bir başlık (decoupled head) tanıttı. Bu yaklaşım, bir nesnenin ne olduğunun tanımlanması ile nerede olduğunun belirlenmesi arasındaki çatışmayı çözerek yakınsama hızında ve kesinlikte gözle görülür bir artış sağladı.

YOLOv10: NMS-Free Devrimi#

YOLOX, algılama başlığını basitleştirmiş olsa da gereksiz sınırlayıcı kutu tahminlerini filtrelemek için hala NMS'e güveniyordu. YOLOv10 bu temel darboğazı ele aldı. Eğitim sırasında tutarlı ikili atamalar kullanarak YOLOv10, yerel uçtan uca algılama elde eder. Eğitim sırasında zengin denetleyici sinyaller sağlamak için çoktan çoğa (one-to-many) bir başlık kullanırken, çıkarım sırasında nihai tahminleri doğrudan çıktı vermek için bire bir (one-to-one) bir başlık kullanır. Bu bütünsel verimlilik-doğruluk odaklı tasarım, NMS'i tamamen ortadan kaldırarak gömülü çiplerdeki çıkarım gecikmesini önemli ölçüde azaltır.

NMS'i Kaldırmanın Etkisi

Non-Maximum Suppression, Nöral İşleme Birimleri (NPU) üzerinde hızlandırılması genellikle karmaşık bir işlemdir. YOLOv10, bunu ortadan kaldırarak tüm model grafiğinin özel donanım üzerinde sorunsuz bir şekilde yürütülmesine olanak tanır ve OpenVINO ile TensorRT gibi optimizasyon çatılarıyla uyumluluğu büyük ölçüde artırır.

Performans Metrikleri ve Karşılaştırma#

Modelleri üretim için değerlendirirken, doğruluk ile hesaplama yükünü dengelemek kritiktir. Aşağıdaki tablo, YOLOX ve YOLOv10'un çeşitli ölçekleri arasındaki takasları göstermektedir.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOPs
(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
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Verileri Analiz Etme#

Metrikler, YOLOv10'un nesilsel sıçramasını açıkça göstermektedir. Örneğin, YOLOv10-S, YOLOX-m'in %46.9'luk oranına kıyasla %46.7'lik bir mean Average Precision elde eder, ancak bunu parametrelerin üçte birinden daha azını (7.2M'ye karşılık 25.3M) ve önemli ölçüde daha az FLOP kullanarak yapar. Dahası, üst düzey YOLOv10-X modeli mAP'yi %54.4'e çıkararak, eski YOLOX-x mimarisinden daha hızlı kalırken zorlu doğruluk görevleri için oldukça rekabetçi hale getirir.

Ultralytics Ekosistemi Avantajı#

YOLOX sağlam bir açık kaynak araştırma uygulaması olarak kalsa da, YOLOv10'a geçmek Ultralytics tarafından sağlanan bakımlı ekosisteme anında erişim sağlar. Ultralytics destekli bir model seçmek, basit bir API ve kapsamlı dokümantasyon ile karakterize edilen sorunsuz bir kullanıcı deneyimi sağlar.

Geliştiriciler, çerçevenin bellek gereksinimlerinden büyük ölçüde yararlanır; Ultralytics modellerini eğitmek genellikle RT-DETR gibi ağır transformatör tabanlı alternatiflere göre çok daha az CUDA belleği tüketir. Bu verimli eğitim ayak izi, tüketici sınıfı donanımda daha büyük toplu boyutlara izin vererek veri toplamadan model dağıtımına kadar geçen süreyi hızlandırır. Dahası çerçeve, kullanıcıların minimum kod değişikliğiyle object detection, instance segmentation ve pose estimation arasında sorunsuz geçiş yapmasına olanak tanıyarak eşsiz bir çok yönlülük sunar.

Eğitim ve Çıkarım Örneği#

Birleşik API, fikirleri doğrulamayı inanılmaz derecede hızlı hale getirir. Aşağıdaki kod parçacığı, PyTorch arka ucunu kullanarak bir YOLOv10 modelini ne kadar kolay eğitebileceğini ve dağıtabileceğini göstermektedir:

from ultralytics import YOLO

# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export the model for edge deployment
model.export(format="engine", quantize=16)

Yerleşik dışa aktarma rutinlerinden yararlanarak modelleri TensorRT veya ONNX gibi formatlara dönüştürmek, karmaşık derleme engellerini tamamen atlayarak yalnızca tek bir satır kod gerektirir.

İdeal Kullanım Durumları ve Dağıtım Senaryoları#

Bu mimariler arasında seçim yapmak büyük ölçüde donanım kısıtlamalarına ve belirli alan gereksinimlerine bağlıdır.

Gerçek Zamanlı Video Analitiği#

Otonom sürüş veya gerçek zamanlı trafik izleme gibi ultra düşük gecikme süresi gerektiren uygulamalar için YOLOv10 üstün tercihtir. Uçtan uca NMS-free tasarımı, değişken son işleme gecikmesinin tolere edilemediği güvenlik sistemleri için kritik olan deterministik yürütme sürelerini garanti eder. Modeller, NVIDIA Jetson serisi gibi cihazlarda kolayca yüksek kare hızlarına ulaşır.

Akademik Temeller ve Uç Mikrodenetleyiciler#

YOLOX, araştırmacıların etiket atama stratejilerini denemek için temiz, ayrıştırılmış bir başlık temeli istediği akademik ortamlarda hala değerini korumaktadır. Ayrıca, son derece küçük YOLOX-Nano (1 milyon parametrenin altında), donanım standart evrişim işlemlerini desteklediği sürece belleğin kilobayt cinsinden ölçüldüğü son derece kısıtlı uç mikrodenetleyicilere sığdırılabilir.

Nihai Standart: Ultralytics YOLO26#

YOLOv10, NMS'yi kaldırarak büyük bir sıçrama kaydetmiş olsa da, bilgisayarlı görü alanı hızla ilerlemektedir. Bugün kesinlikle sınıfının en iyisi performansı uygulamayı hedefleyen geliştiriciler için YOLO26 keşfetmenizi şiddetle tavsiye ederiz.

Görüntü AI'daki en son standart olarak piyasaya sürülen YOLO26, öncüllerinin temel fikirlerini alır ve onları güçlendirir. Algılama, bölümleme, poz ve yönlendirilmiş sınırlayıcı kutuları yerel olarak destekleyerek nihai performans dengesini sunar.

İşte YOLO26'nın modern bilgisayarlı görü hatları için önerilen seçenek olmasının nedenleri:

  • Uçtan Uca NMS-Free Tasarım: YOLOv10'un atılımlarını temel alan YOLO26, yerel olarak uçtan ucadır ve son işleme darboğazları olmaksızın daha hızlı, deterministik çıkarım sürelerini garanti eder.
  • 43% Daha Hızlı CPU Çıkarımı: Uç bilişim için özel olarak optimize edilmiştir ve mobil işlemcilerde ve harici GPU'su olmayan cihazlarda olağanüstü performans sağlar.
  • MuSGD Optimizer: Büyük Dil Modeli eğitiminden (özellikle Moonshot AI'ın Kimi K2'sinden) esinlenen YOLO26, inanılmaz derecede kararlı eğitim ve hızlı yakınsama için SGD ve Muon hibritini kullanır.
  • ProgLoss + STAL: Bu gelişmiş kayıp fonksiyonları, hava görüntüleri ve drone navigasyonu gibi zorlu alanlar için kritik olan küçük nesne tanımada kayda değer iyileştirmeler sağlar.
  • DFL Kaldırma: Distribution Focal Loss'u kaldırarak YOLO26, uç ve düşük güçlü cihazlara sorunsuz dışa aktarım için model grafiğini basitleştirir.
  • Göreve Özel İyileştirmeler: Poz tahmini için Residual Log-Likelihood Estimation (RLE) veya OBB için özel açı kaybı kullanıyor olsan da, YOLO26 her büyük görü görevi için hassas bir şekilde ayarlanmıştır.

Boruğ hatlarını mevcut en verimli eğitim ve dağıtım araçlarıyla yükseltmeye hazır geliştiriciler için Ultralytics Platform geçiş yapmak ve YOLO26'dan yararlanmak, yapay zekanın en son noktasında kalmanızı garanti eder. Daha eski ancak kararlı mimarilerle ilgilenen kullanıcılar, kapsamlı topluluk desteği ve kanıtlanmış dayanıklılık için YOLO11 veya YOLOv8 de inceleyebilir.

Yorumlar