DAMO-YOLO ve YOLOv10#
Bilgisayarlı görü alanı, gerçek zamanlı nesne algılama mimarilerinde hızlı bir gelişime tanık oldu. DAMO-YOLO ile YOLOv10 modellerini karşılaştırdığımızda model tasarımında iki farklı felsefe görüyoruz: otomatik mimari araması ve uçtan uca, NMS'siz optimizasyon. Her iki model de doğruluk ve hızın sınırlarını zorlasa da temel yapıları ve ideal kullanım alanları önemli ölçüde farklıdır.
DAMO-YOLO: Ölçekli Sinir Ağı Mimarisi Araması#
Alibaba Group tarafından geliştirilen DAMO-YOLO, yapısal verimlilik için otomatik keşiften yararlanmaya odaklanan güçlü bir algılayıcı olarak ortaya çıktı.
- Yazarlar: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang ve Xiuyu Sun
- Tarih: 23 Kasım 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Mimari Öne Çıkanlar#
DAMO-YOLO, performans ile gecikme süresini dengelemek için büyük ölçüde Sinir Ağı Mimarisi Araması'na (NAS) dayanır. MAE-NAS adı verilen omurgası, en uygun katman derinliğini ve genişliğini bulmak için katı hesaplama bütçeleri altında maksimum entropi kılavuzluğundaki bir aramayı kullanır.
Model, ölçekler arasında özellik birleştirmeyi sağlamak için verimli bir RepGFPN (Yeniden Parametreleştirilmiş Genelleştirilmiş Özellik Piramit Ağı) kullanır. Bu ağır boyun tasarımı, karmaşık uzamsal hiyerarşileri çıkarmada özellikle başarılıdır ve bu sayede hava görüntülerini analiz etme gibi senaryolarda kullanışlıdır. Ayrıca DAMO-YOLO, son tahmin katmanlarının karmaşıklığını büyük ölçüde azaltan sadeleştirilmiş bir algılama başlığı olan ZeroHead'i kullanıma sunar ve eğitim sırasında güçlü bir damıtma iyileştirme sürecinden yararlanır.
DAMO-YOLO sıklıkla çok aşamalı bir bilgi damıtma süreci kullanır. Daha küçük "öğrenci" modele rehberlik etmesi için daha ağır bir "öğretmen" modelin eğitilmesini gerektirir; bu sayede daha yüksek mAP (ortalama Hassasiyet) elde edilir, ancak gereken GPU hesaplama süresi önemli ölçüde artar.
DAMO-YOLO hakkında daha fazla bilgi edin
YOLOv10: Uçtan Uca Nesne Algılamanın Öncüsü#
Bir buçuk yıl sonra yayımlanan YOLOv10, çıkarım sırasında Maksimum Olmayan Bastırma (NMS) gereksinimini tamamen ortadan kaldırarak bir paradigma değişimi getirdi.
- Yazarlar: Ao Wang, Hui Chen, Lihao Liu ve diğerleri
- Kuruluş: Tsinghua Üniversitesi
- Tarih: 23 Mayıs 2024
- Arxiv: 2405.14458
- Belgeler: Ultralytics YOLOv10
Mimari Öne Çıkanlar#
YOLOv10'un öne çıkan özelliği, NMS'siz eğitim için kullandığı tutarlı çift atama yöntemidir. Geleneksel algılayıcılar tek bir nesne için birden fazla örtüşen sınırlayıcı kutu tahmin eder ve yinelenen kutuları filtrelemek için NMS gerektirir. Bu son işleme adımı, özellikle uç cihazlarda darboğaz oluşturur. YOLOv10, modelin her nesne için doğal olarak tek ve doğru bir sınırlayıcı kutu tahmin etmesine olanak tanıyarak bu sorunu çözer.
Yazarlar ayrıca verimlilik ve doğruluğu bütüncül biçimde ele alan model tasarımına odaklandı. Mevcut mimarilerdeki hesaplama fazlalığını dikkatle analiz ederek omurgayı ve başlığı, FLOPs ve parametre sayısını azaltacak şekilde optimize ettiler. Bu hafif tasarım, YOLOv10'un TensorRT veya OpenVINO gibi biçimlere aktarıldığında olağanüstü çıkarım gecikme süreleri sunmasını sağlar.
YOLOv10 hakkında daha fazla bilgi edin
Performans ve Kıyaslamalar#
Aşağıdaki tablo, COCO veri kümesindeki ham performans ölçütlerini gösterir. Her sütundaki en iyi genel değerler kalın olarak vurgulanmıştır.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
DAMO-YOLO doğruluk bakımından iyi bir performans sergilese de YOLOv10 benzer ölçeklerde daha yüksek doğruluk ve önemli ölçüde daha küçük model ağırlıkları sunar. Örneğin YOLOv10s, parametre sayısının yarısından azını kullanırken (7.2M ve 16.3M) DAMO-YOLOs'tan (46.0%) biraz daha yüksek mAP (46.3%) elde eder. Daha düşük bellek gereksinimleri, YOLOv10'u gömülü sistemler için son derece çok yönlü bir seçenek hâline getirir.
Eğitim Verimliliği ve Kullanılabilirlik#
Akademik araştırmadan üretime geçerken kullanım kolaylığı büyük önem taşır. DAMO-YOLO'nun çok aşamalı damıtma süreci ve karmaşık NAS yapılandırmaları, mühendislik ekipleri için zorlu bir öğrenme süreci yaratabilir.
Buna karşılık YOLOv10, Ultralytics Python SDK ile tamamen entegre olmasından büyük ölçüde yararlanır. Özel bir model eğitmek için çok az başlangıç kodu gerekir. Ultralytics; veri artırma, hiperparametre ayarlama ve deney takibini otomatik olarak yönetir.
from ultralytics import YOLO
# Önceden eğitilmiş bir YOLOv10 nano modeli yükle
model = YOLO("yolov10n.pt")
# Yerleşik doğrulamayla özel bir veri kümesinde eğit
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Bir görüntü üzerinde sorunsuzca çıkarım yap
prediction = model("path/to/image.jpg")
prediction[0].show()Ultralytics ekosistemini kullanmak, geliştiricilerin eski çerçevelerin gerektirdiği karmaşık ortam kurulumlarını atlayıp yalnızca birkaç satır kodla prototipten tamamen dışa aktarılmış bir ONNX modeline geçmesini sağlar.
Gerçek Dünya Kullanım Senaryoları#
- Akıllı Perakende (DAMO-YOLO): DAMO-YOLO'nun doğruluğu, GPU'ların bol olduğu ve gerçek zamanlı NMS darboğazlarının yönetilebilir düzeyde kaldığı, müşteri davranışını analiz eden yüksek yoğunluklu sunucu ortamlarına uygundur.
- Otonom Araçlar (YOLOv10): NMS'siz mimari, otonom sürüş güvenlik sistemleri için kritik olan deterministik ve öngörülebilir gecikme süresini garanti eder.
- Endüstriyel Otomasyon (YOLOv10): Hızlı hareket eden montaj hatlarındaki kusurları algılamak, büyük VRAM tüketmeden gerçek zamanlı çıkarım hızını en üst düzeye çıkaran modeller gerektirir; bu da YOLOv10'u uçta dağıtım için öne çıkan bir aday yapar.
Kullanım Alanları ve Öneriler#
DAMO-YOLO ile YOLOv10 arasındaki seçim, projene özgü gereksinimlere, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.
DAMO-YOLO'yu Ne Zaman Seçmeli#
DAMO-YOLO şu durumlar için güçlü bir seçenektir:
- 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.
YOLOv10'u Ne Zaman Seçmeli?#
YOLOv10 şu durumlarda önerilir:
- NMS Olmadan Gerçek Zamanlı Algılama: Maksimum Olmayan Bastırma olmadan uçtan uca algılamadan yararlanan ve dağıtım karmaşıklığını azaltan uygulamalar.
- Hız ve Doğruluk Arasında Dengeli Ödünleşimler: Çeşitli model ölçeklerinde çıkarım hızı ile algılama doğruluğu arasında güçlü bir denge gerektiren projeler.
- Tutarlı Gecikme Gerektiren Uygulamalar: Robotik veya otonom sistemler gibi öngörülebilir çıkarım sürelerinin kritik olduğu dağıtım senaryoları.
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.
Yeni Nesil: Ultralytics YOLO26 ile Tanış#
YOLOv10, NMS'siz algılamanın temelini atmış olsa da teknoloji hızla gelişti. Modern uygulamalar için Ultralytics YOLO26 modeli, önceki nesillerin en iyi özelliklerini alıp üretime uygun hâle getirerek benzersiz performans ve kullanılabilirlik sunar.
YOLO26, uç cihazlardaki dağıtım hatlarını basitleştirmek için NMS son işlemesini atlayan yerel uçtan uca bir moda (nms=False) sahiptir. Ayrıca Dağılımsal Odak Kaybı'nın (DFL) kaldırılması, düşük güç tüketimli uç yapay zekâ donanımlarıyla uyumluluğu önemli ölçüde artırmıştır.
Eğitim tarafında YOLO26, Büyük Dil Modeli (LLM) eğitim tekniklerinden esinlenen hibrit bir MuSGD Optimize Edici sunar. Bu, daha kararlı eğitim ve daha hızlı yakınsama sağlar. ProgLoss + STAL kayıp fonksiyonlarıyla birlikte YOLO26, yaban hayatını koruma ve drone operasyonları için kritik olan küçük nesneleri tanıma konusunda kayda değer iyileşmeler gösterir.
En önemlisi, YOLO26 yalnızca bir nesne algılayıcı değildir. Örnek Segmentasyonu, Artık Log-Olabilirlik Tahmini (RLE) kullanan Poz Tahmini ve Yönlendirilmiş Sınırlayıcı Kutular (OBB) için özel açı kayıpları da dâhil olmak üzere, farklı görevlerde göreve özgü iyileştirmeler sunar. Önceki modellere kıyasla CPU çıkarımını %43'e kadar hızlandırmasıyla çevik mühendislik ekipleri için kesin tercihtir.
YOLO26 modellerinin merkezi yönetimi, açıklama ekleme ve bulut üzerinde eğitimi için Ultralytics Platformu, bilgisayarlı görü yaşam döngüsünün tamamını kolaylaştıran sezgisel bir arayüz sunar.
Diğer yeni gelişmeleri incelemek isteyen geliştiriciler, farklı mimari çözümler gerektiren senaryolar için Ultralytics YOLO11 veya Transformer tabanlı RT-DETR çerçevesini de değerlendirebilir.