YOLOv8 ve DAMO-YOLO#
Bilgisayarlı görü alanı sürekli gelişiyor; yeni mimariler, uç cihazlarda ve devasa bulut kümelerinde mümkün olanın sınırlarını zorluyor. Bu kapsamlı teknik incelemede, gerçek zamanlı nesne algılamanın öne çıkan iki modelini karşılaştırıyoruz: YOLOv8 ve DAMO-YOLO. Makine öğrenimi mühendisleri; mimarilerini, performans metriklerini ve eğitim yöntemlerini inceleyerek dağıtım iş akışları hakkında bilinçli kararlar verebilir.
Modellerin Geçmişi ve Kökenleri#
Her iki model de yaklaşık aynı dönemde tanıtıldı ancak farklı tasarım felsefelerinden ve araştırma hedeflerinden doğdu.
YOLOv8 Ayrıntıları#
- Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Kuruluş: Ultralytics
- Tarih: 2023-01-10
- GitHub: Ultralytics GitHub Deposu
- Belgeler: YOLOv8 Resmî Belgeleri
DAMO-YOLO Ayrıntıları#
- Yazarlar: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang ve Xiuyu Sun
- Kuruluş: Alibaba Group
- Tarih: 2022-11-23
- Arxiv: DAMO-YOLO Araştırma Makalesi
- GitHub: DAMO-YOLO GitHub Deposu
DAMO-YOLO hakkında daha fazla bilgi edin
Mimari Yenilikler#
YOLOv8: Çok Yönlü, Bağlantı Noktası İçermeyen Tasarım#
Ultralytics YOLOv8, önceki modellerine kıyasla önemli iyileştirmeler sunarak son teknoloji ürünü, son derece güvenilir bir model olarak konumunu sağlamlaştırdı. Daha az kutu tahmini üreten ve çıkarımı hızlandıran, bağlantı noktası içermeyen bir algılama başlığına sahiptir. Mimaride sınıflandırma ve regresyon görevlerini ayıran ayrık bir başlık kullanılır; bu da daha doğru sınırlayıcı kutu tahminleri sağlar.
Ayrıca YOLOv8, özellikle daha küçük veya örtülü hedeflerde nesne sınırlarını hassas biçimde konumlandırma becerisini artırmak için Distribution Focal Loss (DFL) ile CIoU kaybını birlikte uygular. Sadeleştirilmiş omurga, hem GPU hem de CPU çalıştırmaları için yüksek düzeyde optimize edilmiştir.
DAMO-YOLO: Mimari Aramayla Geliştirildi#
DAMO-YOLO farklı bir yaklaşım benimser ve omurgasını otomatik olarak tasarlamak için büyük ölçüde Sinir Mimarisi Araması (NAS) yöntemine dayanır. Alibaba ekibi, özellikle TensorRT hızlandırması altında gecikme ve doğruluk arasında en iyi dengeyi sunan yapıları bulmak için "MAE-NAS"ı tanıttı.
Model, verimli öznitelik birleştirme için RepGFPN (Yeniden Parametreleştirilmiş Genelleştirilmiş Öznitelik Piramit Ağı) kullanır ve algılama başlığının hesaplama yükünü en aza indirmek için "ZeroHead" tasarımından yararlanır. Eğitim sırasında etiket ataması için AlignedOTA kullanır ve hedef öğrenci modeli denetlemek üzere daha büyük bir öğretmen modeli gerektiren karmaşık bilgi damıtma sürecine büyük ölçüde dayanır.
DAMO-YOLO, NAS ve damıtma sayesinde etkileyici gecikme metrikleri sunsa da bu yöntem, YOLOv8'in yüksek düzeyde optimize edilmiş tek aşamalı eğitim iş akışına kıyasla eğitim sırasında önemli ölçüde daha fazla CUDA belleği ve hesaplama süresi gerektirir.
Performans ve Metrikler#
Bilgisayarlı görü modellerini üretime dağıtırken doğruluk (mAP) ile çıkarım hızı arasında denge kurmak kritik öneme sahiptir. Aşağıdaki tabloda her iki modelin farklı boyutlardaki performansı gösteriliyor.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
YOLOv8 olağanüstü bir performans dengesi sunar. YOLOv8n (nano) modeli, DAMO-YOLOt'nin 8.5 milyon parametresine kıyasla yalnızca 3.2 milyon parametre gerektirir; bu da onu mobil cihazlar veya bellek gereksinimlerinin katı olduğu ortamlar için çok daha üstün kılar. Ayrıca YOLOv8, bulut iş yükleri için yüksek doğruluk sunan YOLOv8x modeline kadar ölçeklenen daha geniş bir boyut yelpazesi sunar.
Geliştirici Deneyimi ve Ekosistem#
Kullanım Kolaylığı ve Eğitim Verimliliği#
En önemli farklardan biri kullanıcı deneyimidir. Ultralytics ekosistemi, geliştiricilerin daha hızlı çalışmasını sağlamak üzere tasarlanmıştır. Özel bir YOLOv8 modelini eğitmek çok az bellek kullanır ve birleşik bir Python API'si ya da komut satırı arayüzü üzerinden gerçekleştirilebilir.
Buna karşılık DAMO-YOLO'nun damıtmayla güçlendirilmiş eğitimini yeniden üretmek, genellikle karmaşık yapılandırma dosyalarında gezinmeyi ve çok aşamalı öğretmen-öğrenci deney takibini yönetmeyi gerektirir.
Python kullanarak YOLOv8'i eğitmenin, doğrulamanın ve dışa aktarmanın ne kadar kolay olduğuna dair bir örnek:
from ultralytics import YOLO
# Önceden eğitilmiş bir YOLOv8 nano modelini yükle
model = YOLO("yolov8n.pt")
# Modeli COCO8 veri kümesinde eğit
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")
# Eğitilmiş modeli ONNX biçimine aktar
path = model.export(format="onnx")Görü Görevlerinde Çok Yönlülük#
DAMO-YOLO yalnızca sınırlayıcı kutu tabanlı nesne algılama için geliştirilmiştir. Buna karşılık YOLOv8 mimarisi, birden çok görevi yerel olarak destekler. Geliştiriciler yalnızca model ağırlıklarını değiştirerek temel dağıtım kod tabanını değiştirmeden örnek bölütleme, 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 kullanışlı kılar.
Gerçek Dünya Kullanım Senaryoları#
YOLOv8 Ne Zaman Kullanılmalı#
YOLOv8'in hız, doğruluk ve dağıtım kolaylığı bileşimi, onu şu alanlar 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ştirme.
- Tarım Robotları: Farklı donanımlardaki güçlü performansından yararlanarak ekinleri veya zararlıları gerçek zamanlı olarak belirleme.
- Sağlık Tanısı: Tıbbi görüntülerdeki anormallikleri hızlı ve doğru biçimde haritalamak için örnek bölütleme kullanma.
- Uç Dağıtımlar: OpenVINO ve CoreML gibi dışa aktarma biçimleriyle sorunsuz entegrasyon, YOLOv8'in kısıtlı cihazlarda üstün performans göstermesini sağlar.
DAMO-YOLO Ne Zaman Kullanılmalı#
DAMO-YOLO, özellikle aşağıdaki gibi niş senaryolarda yararlı olabilir:
- Akademik NAS Araştırmaları: Yeniden parametreleştirme veya otomatik mimari tasarımı yöntemlerini inceleyen ekipler için.
- Yalnızca GPU'ya Bağlı İş Akışları: NAS yapılarının TensorRT çalıştırma sınırları için yoğun biçimde optimize edildiği belirli NVIDIA donanımlarında özel olarak çalışan uygulamalar.
Kullanım Alanları ve Öneriler#
YOLOv8 ile DAMO-YOLO arasında seçim yapmak; projene özgü gereksinimlere, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.
YOLOv8'i Ne Zaman Seçmeli?#
YOLOv8 şu durumlarda iyi bir seçenektir:
- Ç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.
DAMO-YOLO'yu Ne Zaman Seçmeli#
DAMO-YOLO şu durumlarda önerilir:
- Yüksek Aktarım Hızlı Video Analitiği: Toplu iş boyutu 1 aktarım hızının temel ölçüt olduğu, sabit NVIDIA GPU altyapısında yüksek FPS'li video akışlarını işleme.
- Endüstriyel Üretim Hatları: Montaj hatlarında gerçek zamanlı kalite denetimi gibi, özel donanımda GPU gecikmesi için katı kısıtların bulunduğu senaryolar.
- Sinir Mimarisi Arama Araştırmaları: Otomatik mimari aramanın (MAE-NAS) ve verimli yeniden parametrelendirilmiş omurgaların tespit performansı üzerindeki etkilerini inceleme.
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.
İleriye Bakış: Daha Yeni Ultralytics Modelleri#
YOLOv8 güvenilir bir iş modeli olmaya devam etse de bilgisayarlı görü alanı hızla ilerliyor. Kullanıcılar daha yeni nesilleri de keşfetmeyi değerlendirmelidir:
YOLO26: En yeni nesil olan Ultralytics YOLO26, köklü bir değişimi temsil ediyor. Maksimum Olmayan Bastırma son işlemesiyle ilişkili gecikme darboğazlarını ortadan kaldıran yerel bir Uçtan Uca NMS'siz Tasarım (nms=False) sunuyor. Yeni MuSGD Optimize Edici (SGD ve Muon'un hibriti) ve özel ProgLoss + STAL kayıp işlevleriyle güçlendirilen YOLO26, son derece kararlı eğitim ve küçük nesneleri tanımada büyük iyileşmeler sağlıyor. Önceki nesillere kıyasla mimari iyileştirmeler, DFL'nin Kaldırılması (daha basit dışa aktarma ve uç/düşük güç tüketimli cihazlarla daha iyi uyumluluk için Distribution Focal Loss'un kaldırılması) sayesinde %43'e Varan Daha Hızlı CPU Çıkarımı sunarak YOLO26'yı modern uç bilişim için kesin tercih hâline getiriyor.
YOLO11: Bir başka mükemmel alternatif olan Ultralytics YOLO11, YOLOv8'e kıyasla küçük mimari iyileştirmeler sunar ve toplulukta yaygın olarak benimsenmiş, sağlam bir model olmaya devam eder.
Modellerini prototip aşamasından üretime taşımaya hazır mısın? Veri kümelerini otomatik olarak etiketlemek, deneyleri izlemek ve modelleri buluta veya uç cihazlara sorunsuzca dağıtmak için Ultralytics Platform kullan.
Sonuç olarak DAMO-YOLO, mimari aramaya ilişkin ilgi çekici akademik bilgiler sunsa da Ultralytics modelleri çok daha olgun, çok yönlü ve geliştirici dostu bir ekosistem sağlar. YOLOv8'in kanıtlanmış kararlılığını sürdürsen de YOLO26'nın son derece hızlı, NMS'siz mimarisine yükseltsen de Ultralytics ürün ailesi, gerçek zamanlı görüntü işleme yapay zekâsı için önde gelen seçenek olmaya devam eder.