İçeriğe geç

YOLOv8 vs. DAMO-YOLO: Nesne Algılama Modellerinin Kapsamlı Teknik Karşılaştırması

Bilgisayar görüşü alanı, uç cihazlarda ve büyük bulut kümelerinde nelerin mümkün olduğunun sınırlarını zorlayan yeni mimarilerle sürekli gelişiyor. Bu teknik derinlemesine incelemede, iki önde gelen gerçek zamanlı nesne algılama modelini karşılaştırıyoruz: YOLOv8 ve DAMO-YOLO. Mimarlarını, performans metriklerini ve eğitim metodolojilerini inceleyerek, ML mühendisleri dağıtım hatları için bilinçli kararlar alabilir.

Model Arka Planları ve Kökenleri

Her iki model de yaklaşık aynı zamanlarda tanıtıldı ancak farklı tasarım felsefelerinden ve araştırma hedeflerinden kaynaklanmaktadır.

YOLOv8 Detayları

YOLOv8 hakkında daha fazla bilgi edinin.

DAMO-YOLO Detayları

DAMO-YOLO hakkında daha fazla bilgi edinin

Mimari Yenilikler

YOLOv8: Çok Yönlü Çapa İçermeyen Tasarım

Ultralytics YOLOv8, öncüllerine göre önemli iyileştirmeler getirerek, son teknoloji, son derece güvenilir bir model olarak konumunu sağlamlaştırdı. Kutu tahminlerinin sayısını azaltan ve çıkarımı hızlandıran çapa içermeyen bir algılama başlığına sahiptir. Mimari, nesnellik, sınıflandırma ve regresyon görevlerini ayırarak, daha doğru sınırlayıcı kutu tahminlerine yol açan ayrık bir başlık kullanır.

Ayrıca, YOLOv8, CIoU kaybının yanı sıra Distribution Focal Loss (DFL) uygulayarak, modelin nesne sınırlarını hassas bir şekilde yerelleştirme yeteneğini geliştirir, özellikle daha küçük veya örtüşen hedefler için. Akıcı backbone'u hem GPU hem de CPU yürütmesi için yüksek düzeyde optimize edilmiştir.

DAMO-YOLO farklı bir yaklaşım benimser ve backbone'unu otomatik olarak tasarlamak için büyük ölçüde Sinirsel Mimari Arama'ya (NAS) dayanır. Alibaba ekibi, özellikle TensorRT hızlandırması altında optimal gecikme-doğruluk dengeleri sunan yapılar bulmak için "MAE-NAS"i tanıttı.

Model, verimli özellik füzyonu için bir RepGFPN (Yeniden Parametrelendirilmiş Genelleştirilmiş Özellik Piramit Ağı) ve algılama başlığının hesaplama yükünü en aza indirmek için bir "ZeroHead" tasarımı içerir. Eğitim sırasında, etiket ataması için AlignedOTA'dan yararlanır ve hedef öğrenci modelini denetlemek için daha büyük bir öğretmen modeli gerektiren karmaşık bir bilgi damıtma sürecine büyük ölçüde güvenir.

Eğitim Karmaşıklığı

DAMO-YOLO, NAS ve damıtma yoluyla etkileyici gecikme metrikleri elde etse de, bu, YOLOv8'in yüksek düzeyde optimize edilmiş, tek aşamalı eğitim hattına kıyasla, eğitim sırasında önemli ölçüde daha fazla CUDA belleği ve hesaplama süresi gerektirir.

Performans ve Metrikler

Bilgisayar görüşü modellerini üretime dağıtırken, doğruluk (mAP) ile çıkarım hızını dengelemek kritik öneme sahiptir. Aşağıdaki tablo, her iki modelin çeşitli boyutlardaki performansını göstermektedir.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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

YOLOv8 olağanüstü bir performans dengesi sergiler. YOLOv8n (nano) modeli, DAMO-YOLOt'un 8.5 milyonuna kıyasla yalnızca 3.2 milyon parametre gerektirir, bu da onu mobil cihazlar veya katı bellek gereksinimleri olan ortamlar için çok daha üstün kılar. Ayrıca, YOLOv8 daha geniş bir boyut yelpazesi sunar ve yüksek doğrulukta YOLOv8x bulut tabanlı iş yükleri için.

Geliştirici Deneyimi ve Ekosistem

Kullanım Kolaylığı ve Eğitim Verimliliği

En büyük ayırt edici faktörlerden biri kullanıcı deneyimidir. Ultralytics ekosistemi, geliştirici hızını artırmak için tasarlanmıştır. Özel bir YOLOv8 modelini eğitmek çok düşük bellek kullanımı gerektirir ve birleşik bir Python API'si veya komut satırı arayüzü aracılığıyla yürütülebilir.

Tersine, DAMO-YOLO'nun damıtma ile geliştirilmiş eğitimini yeniden üretmek genellikle karmaşık yapılandırma dosyalarında gezinmeyi ve çok aşamalı öğretmen-öğrenci deney takibini yönetmeyi gerektirir.

İşte YOLOv8'i Python kullanarak eğitmek, doğrulamak ve dışa aktarmanın ne kadar basit olduğunun bir örneği:

from ultralytics import YOLO

# Load a pre-trained YOLOv8 nano model
model = YOLO("yolov8n.pt")

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

# Export the trained model to ONNX format
path = model.export(format="onnx")

Görüntüleme Görevlerinde Çok Yönlülük

DAMO-YOLO, kesinlikle sınırlayıcı kutu nesne algılama için tasarlanmıştır. Buna karşılık, YOLOv8 mimarisi doğal olarak birden çok görevi destekler. Sadece model ağırlıklarını değiştirerek, geliştiriciler temel dağıtım kod tabanlarını değiştirmeden Örnek Segmentasyon, Görüntü Sınıflandırma ve Poz Tahmini gerçekleştirebilir. Bu çok yönlülük, Ultralytics modellerini karmaşık uygulamalar için çok daha pratik hale getirir.

Gerçek Dünya Kullanım Durumları

Ne Zaman YOLOv8 Kullanılmalı

YOLOv8'in hız, doğruluk ve dağıtım kolaylığı kombinasyonu onu aşağıdakiler için ideal kılar:

  • Akıllı Perakende Analitiği: Müşteri davranışlarını izlemek veya envanter kontrollerini otomatikleştirmek için nesne takibi gerçekleştirmek.
  • Tarım Robotları: Çeşitli donanımlardaki güçlü performansından yararlanarak mahsulleri veya zararlıları gerçek zamanlı olarak tespit etmek için.
  • Sağlık Teşhisleri: Tıbbi görüntülerdeki anormallikleri hızlı ve doğru bir şekilde haritalamak için örnek segmentasyon kullanma.
  • Uç Cihaz Dağıtımları: OpenVINO ve CoreML gibi dışa aktarım formatlarıyla sorunsuz entegrasyonu, YOLOv8'in kısıtlı cihazlarda öne çıkmasını sağlar.

DAMO-YOLO Ne Zaman Kullanılmalı

DAMO-YOLO, özellikle niş senaryolarda faydalı olabilir:

  • Akademik NAS Araştırmaları: Yeniden parametrelendirme veya otomatik mimari tasarım metodolojilerini inceleyen ekipler için.
  • Kesinlikle GPU Sınırlı İş Akışları: NAS yapılarının TensorRT yürütme sınırları için yoğun bir şekilde optimize edildiği, yalnızca belirli NVIDIA donanımlarında çalışan uygulamalar.

Kullanım Durumları ve Öneriler

YOLOv8 ve DAMO-YOLO arasında seçim yapmak, projenizin özel gereksinimlerine, dağıtım kısıtlamalarına ve ekosistem tercihlerinize bağlıdır.

YOLOv8 Ne Zaman Tercih Edilmeli?

YOLOv8 şunlar için güçlü bir seçenektir:

  • Çok Yönlü Çok Görevli Dağıtım: Ultralytics ekosistemi içinde detect, segment, sınıflandırma ve poz tahmini için kanıtlanmış bir model gerektiren projeler.
  • Yerleşik Üretim Sistemleri: YOLOv8 mimarisi üzerine kurulu, kararlı ve iyi test edilmiş dağıtım hatlarına sahip mevcut üretim ortamları.
  • Geniş Topluluk ve Ekosistem Desteği: YOLOv8'in kapsamlı eğitimlerinden, üçüncü taraf entegrasyonlarından ve aktif topluluk kaynaklarından faydalanan uygulamalar.

Ne Zaman DAMO-YOLO Seçmeli

DAMO-YOLO, aşağıdaki durumlar için önerilir:

  • Yüksek Verimli Video Analizi: Batch-1 veriminin birincil metrik olduğu sabit NVIDIA GPU altyapısında yüksek FPS video akışlarını işleme.
  • Endüstriyel Üretim Hatları: Montaj hatlarında gerçek zamanlı kalite denetimi gibi özel donanımlarda katı GPU gecikme kısıtlamaları olan senaryolar.
  • Sinirsel Mimari Arama Araştırması: Otomatik mimari aramanın (MAE-NAS) ve verimli yeniden parametrelendirilmiş backboneların algılama performansı üzerindeki etkilerini inceleme.

Ultralytics (YOLO26) Ne Zaman 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 (NMS) son işlem karmaşıklığı olmadan tutarlı, düşük gecikmeli çıkarım gerektiren uygulamalar.
  • Yalnızca CPU Ortamları: Özel GPU hızlandırması olmayan cihazlarda, YOLO26'nın %43'e kadar daha hızlı CPU çıkarımı belirleyici bir avantaj sağlar.
  • 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.

İleriye Bakış: Daha Yeni Ultralytics Modelleri

YOLOv8 son derece güvenilir bir iş gücü olmaya devam etse de, bilgisayar görüşü alanı hızla ilerlemektedir. Kullanıcılar ayrıca daha yeni nesilleri keşfetmeyi de düşünmelidir:

YOLO26: En son nesil olan Ultralytics YOLO26, bir paradigma değişimi temsil etmektedir. Yerel olarak Uçtan Uca NMS-Serbest Tasarım sunar ve Non-Maximum Suppression (NMS) sonrası işlemle ilişkili gecikme darboğazlarını tamamen ortadan kaldırır. Yeni MuSGD Optimizer (SGD ve Muon'un bir hibriti) ve özel ProgLoss + STAL kayıp fonksiyonları ile desteklenen YOLO26, oldukça kararlı eğitim ve büyük ölçüde geliştirilmiş küçük nesne tanıma başarır. DFL Kaldırma (basitleştirilmiş dışa aktarım ve daha iyi uç/düşük güç cihaz uyumluluğu için Dağıtım Odaklı Kayıp kaldırıldı) ile mimari ayarlamalar, önceki nesillere kıyasla %43'e kadar Daha Hızlı CPU Çıkarımı sağlar ve bu da onu modern uç bilişim için kesin bir seçim haline getirir.

YOLO11: Başka bir mükemmel alternatif olan Ultralytics YOLO11, YOLOv8'e göre artımlı mimari iyileştirmeler sunar ve toplulukta sağlam, yaygın olarak benimsenmiş bir model olmaya devam etmektedir.

İş Akışınızı Kolaylaştırın

Modellerinizi prototipten üretime taşımaya hazır mısınız? Veri kümelerini otomatik olarak etiketlemek, deneyleri takip etmek ve modelleri buluta veya uç cihazlara sorunsuz bir şekilde dağıtmak için Ultralytics Platformu'nu kullanın.

Sonuç olarak, DAMO-YOLO mimari arama konusunda ilginç akademik içgörüler sunsa da, Ultralytics modelleri önemli ölçüde daha olgun, çok yönlü ve geliştirici dostu bir ekosistem sunar. YOLOv8'in kanıtlanmış kararlılığına bağlı kalırsanız veya YOLO26'nın ışık hızında, NMS-serbest mimarisine yükseltme yaparsanız yapın, Ultralytics paketi, gerçek zamanlı görüş yapay zekası için önde gelen tercih olmaya devam etmektedir.


Yorumlar