İçeriğe geç

YOLO YOLOX: Ankarsız Nesne Algılama Konusuna Derinlemesine Bir Bakış

Gerçek zamanlı nesne algılamanın evrimi, karmaşık bağlantı noktası tabanlı sistemlerden, basitleştirilmiş bağlantı noktası içermeyen mimarilere doğru bir geçişle şekillenmiştir. Bu yolculuktaki iki önemli dönüm noktası, Alibaba Group tarafından geliştirilen YOLO ve Megvii tarafından oluşturulan YOLOX'tur. Her iki model de geleneksel tasarım paradigmalarına meydan okuyarak, özellik çıkarma, etiket atama ve eğitim verimliliği konusunda benzersiz yaklaşımlar sunmaktadır.

Bu ayrıntılı karşılaştırma, mimari yeniliklerini, performans ölçütlerini ve ideal kullanım örneklerini inceleyerek, bilgisayar görme ihtiyaçlarınıza en uygun modeli seçmenize yardımcı olur. Her ikisi de tarihsel öneme sahip olmakla birlikte, Ultralytics gibi modern çözümlerin bu gelişmeleri nasıl daha sağlam, üretime hazır bir ekosistemde bir araya getirdiğini de inceleyeceğiz.

DAMO-YOLO'ya Genel Bakış

YOLO (Distillation-Enhanced Neural Architecture Search-based YOLO), Neural Architecture Search (NAS) ile gelişmiş eğitim tekniklerini birleştiren yüksek performanslı bir yaklaşımı temsil eder. backbone boyun yapılarının tasarımını otomatikleştirerek hız ve doğruluk sınırlarını zorlamak için tasarlanmıştır.

YOLO'nun Temel Özellikleri

  1. MAE-NAS Backbone: Manuel olarak tasarlanmış omurgalardan farklı olarak,YOLO , Sinir Mimarisi Arama çerçevesi içinde Maskelenmiş Otomatik Kodlayıcı (MAE) yaklaşımınıYOLO . Bu, minimum hesaplama yüküyle uzamsal özellikleri çıkarmak için yüksek düzeyde optimize edilmiş bir yapı sağlar.
  2. Verimli RepGFPN: Model, Yeniden Parametreleştirilmiş Genelleştirilmiş Özellik Piramidi Ağı (RepGFPN) kullanır. Bu, farklı ölçekler arasında özellik birleştirmeyi iyileştirir ve bu, farklı boyutlardaki nesneleri algılamak için çok önemlidir. Aynı zamanda, dağıtım sırasında yeniden parametreleştirme yoluyla çıkarım gecikmesini düşük tutar.
  3. ZeroHead: Algılama kafası önemli ölçüde basitleştirilmiştir ("ZeroHead"), bu da son sınırlayıcı kutu regresyonu ve sınıflandırma için gereken parametre sayısını azaltır.
  4. AlignedOTA: Aligned One-to-Many Assignment adlı dinamik etiket atama stratejisi, eğitim sırasında pozitif örneklerin daha doğru bir şekilde atanmasını sağlayarak kalabalık sahnelerdeki belirsizlikleri giderir.

Damıtma İyileştirmesi

YOLO belirleyici özelliklerinden biri, bilgi damıtmaya büyük ölçüde dayanmasıdır. Daha büyük bir "öğretmen" modeli, daha küçük "öğrenci" modelinin eğitimini yönlendirir. Bu, doğruluğu artırırken, standart "bag-of-freebies" eğitim yöntemlerine kıyasla eğitim sürecini önemli ölçüde karmaşıklaştırır.

YOLOX Genel Bakış

YOLOX, çapa içermeyen mekanizmaları ana YOLO getiren önemli bir sürümdü. Tahmin başlıklarını ayırarak ve çapa kutularını kaldırarak, tasarım sürecini basitleştirdi ve özellikle çapa ayarlamasının karmaşıklığına alışkın geliştiriciler için performansı artırdı.

YOLOX'un Temel Özellikleri

  1. Ankrajsız Tasarım: YOLOX, önceden tanımlanmış ankraj kutularından sapmaları değil, nesne merkezlerini doğrudan tahmin ederek, özel veri kümeleri için en uygun ankraj şekillerini belirlemek için kümeleme analizi (K-means gibi) ihtiyacını ortadan kaldırır.
  2. Ayrıştırılmış Başlık: YOLOX, sınıflandırma ve konum belirleme görevlerini ağ başlığının farklı dallarına ayırır. Bu ayrım, bir nesneyi sınıflandırmak için gereken özellikler ile nesnenin kesin sınırlarını belirlemek için gereken özellikler arasındaki çelişkiyi ortadan kaldırır.
  3. SimOTA: Sınıflandırma ve regresyon kalitesini dengeleyerek, küresel optimizasyon maliyetine dayalı olarak pozitif örnekleri dinamik olarak atayan basitleştirilmiş Optimal Transport Assignment stratejisi.
  4. Güçlü Veri Artırma: YOLOX, bazı yapılandırmalarda önceden eğitilmiş omurgalar olmadan etkili bir şekilde eğitim yapabilmesi için çok önemli olan Mosaic ve MixUp yoğun bir şekilde kullanır.

YOLOX hakkında daha fazla bilgi edinin

Teknik Karşılaştırma: Performans ve Hız

Bu iki mimariyi karşılaştırdığımızda,YOLO , büyük ölçüde daha sonra piyasaya sürülmüş olması ve NAS teknolojilerini içermesi nedeniyle, doğruluk-gecikme dengesi açısındanYOLO YOLOX'tan daha iyi performans gösterir. Ancak YOLOX, mimari basitliği ve kod okunabilirliği nedeniyle hala en çok tercih edilen mimari olmaya devam etmektedir.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

Mimarlık ve Eğitim Karmaşıklığı

YOLOX, "temiz" uygulamasıyla övgü topluyor. Araştırma amaçlı olarak kolayca değiştirilebilen saf bir PyTorch tabanıdır. Eğitim süreci basittir ve standart hiperparametre ayarlaması gerektirir.

YOLO ise tam tersine, önemli bir karmaşıklık getiriyor. Neural Architecture Search (NAS) bağımlılığı, backbone ResNet veya CSPDarknet gibi sabit bir standart yapı backbone geliyor. Ayrıca, damıtma süreci, hafif öğrenci modelini denetlemek için önce ağır bir öğretmen modelinin eğitilmesini gerektiriyor. Bu, eğitim için gereken hesaplama kaynaklarını iki katına çıkarıyor ve sınırlı GPU sahip kullanıcıların, makaledeki sonuçları özel veri kümelerinde çoğaltmasını zorlaştırıyor.

Ultralytics : Araştırma Modellerinin Ötesinde

YOLO YOLOX değerli akademik bilgiler sunarken, modern kurumsal gelişim için ham metriklerden daha fazlası gerekir. Geliştiriciler istikrar, kullanım kolaylığı ve eksiksiz bir ekosisteme ihtiyaç duyar. İşte bu noktada Ultralytics üstün bir seçenek olarak öne çıkar.

Eşsiz Kullanım Kolaylığı ve Ekosistem

YOLO eğitmek genellikle karmaşık yapılandırma dosyaları ve çok aşamalı damıtma süreçlerini içerir. Buna karşın, Ultralytics ve Python "sıfırdan kahramana" bir deneyim sunar. CLI Python kullanıyor olsanız da, eğitim çalıştırmasını başlatmak sadece birkaç saniye sürer.

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train on a dataset with a single command
results = model.train(data="coco8.yaml", epochs=100)

Ultralytics aktif olarak sürdürülmekte olup, PyTorch, CUDA ve Apple Metal'in en son sürümleriyle uyumluluğu garanti altına alınmaktadır. Yayınlandıktan sonra genellikle atıl kalmaya başlayan araştırma depolarının aksine, Ultralytics sık sık güncellenmekte, hatalar düzeltilmekte ve performans optimizasyonları yapılmaktadır.

Performans Dengesi ve Çok Yönlülük

YOLO26, verimliliğin zirvesini temsil eder. Uçtan uca NMS Tasarım özelliğine sahiptir; bu, ilk kez YOLOv10tarafından ilk kez ortaya konulan çığır açıcı bir yeniliktir. Non-Maximum Suppression (NMS) son işlemlerini ortadan kaldırarak, YOLO26 çıkarım gecikme varyansını azaltır ve dağıtım mantığını basitleştirir, böylece hem YOLOX hem deYOLO'da bulunan önemli bir sorunu çözer.

Ayrıca, YOLO26 sadece sunucu sınıfı GPU'ların ötesinde donanımlar için optimize edilmiştir. CPU %43'e varan hız artışı sunarak, pil ömrü ve termal kısıtlamaların kritik olduğu uç cihazlar, Raspberry Pi'ler ve mobil uygulamalar için ideal bir adaydır.

YOLOX veYOLO öncelikle nesne algılayıcılarıYOLO da, Ultralytics çok çeşitli görevler için yerel destek sağlar:

YOLO26 hakkında daha fazla bilgi edinin

Gerçek Dünya Uygulamaları

Doğru modeli seçmek, büyük ölçüde dağıtım ortamınızın özel kısıtlamalarına bağlıdır.

YOLO için İdeal Kullanım Örnekleri

  • Yüksek Verimli Sunucular: Optimize edilmiş RepGFPN yapısı, TensorRT özel donanımlarda ( NVIDIA veya A100 gibi) çok yüksek FPS sağlar, bu da onu büyük video arşivlerini işlemek için uygun hale getirir.
  • Kalabalık Sahneleri: AlignedOTA etiket ataması, yoğun kalabalıkta insan sayma veya çiftlik hayvanlarını izleme gibi nesne örtülmesinin yüksek olduğu senaryolarda yardımcı olur.

YOLOX için İdeal Kullanım Örnekleri

  • Akademik Araştırma: Temiz kod tabanı, NAS'ın ek yükü olmadan yeni kayıp fonksiyonlarını veya backbone test etmek isteyen araştırmacılar için mükemmel bir temel oluşturur.
  • Eski Mobil Destek: YOLOX-Nano ve Tiny varyantları, eski mobil Android larda tarihsel olarak iyi desteklenen derinlik açısından ayrılabilir konvolüsyonları kullanır. NCNN.

Ultralytics neden modern standarttır?

Hemen hemen tüm yeni ticari ve endüstriyel projeler için YOLO26 önerilen çözümdür.

  • Edge Computing & IoT: Dağıtım Odak Kaybı (DFL) ve yeni ProgLoss + STAL işlevlerinin kaldırılması, YOLO26'yı düşük güçlü cihazlarda olağanüstü derecede kararlı hale getirir. CPU çok değerli olduğu robotik ve drone navigasyonunda mükemmeldir.
  • Hızlı Geliştirme Döngüleri: Ultralytics ile entegrasyon, ekiplerin verileri etiketlemesine, modelleri eğitmesine ve ONNX veya CoreML gibi formatlara tek bir iş CoreML dağıtmasına olanak tanıyarak pazara sunma süresini önemli ölçüde kısaltır.
  • Karmaşık Görevler: Bir paketin detect (OBB) detect veya bir işçinin duruşunu (Pose) analiz etmeniz gerekse de, YOLO26 bu karmaşık görevleri tek bir bellek verimli çerçeve içinde gerçekleştirir. Bu,YOLO yalnızca tespit amaçlı özel yapısından farklıdır.

Sonuç

HemYOLO YOLOX, nesne algılama tarihinde önemli roller oynadı ve çapa içermeyen tasarımların en gelişmiş sonuçları elde edebileceğini kanıtladı. Ancak bu alan hızla gelişiyor.

Ultralytics , MuSGD Optimizer'ın (LLM eğitiminden esinlenerek) kararlılığını ve NMS mimarinin basitliğini bir araya getirerek bu derslerden yararlanır. Doğruluk, hız ve kullanım kolaylığı arasında en iyi dengeyi arayan geliştiriciler için YOLO26, gelişen bir topluluk ve kapsamlı belgelerle desteklenen, geleceğe dönük bir çözüm sunar.

Ultralytics diğer mimarilerle Ultralytics hakkında daha fazla bilgi için, EfficientDet ile karşılaştırmalarımızı inceleyin. YOLOv6ve RT-DETRile yaptığımız karşılaştırmaları inceleyin.


Yorumlar