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 ve YOLOv10 karşılaştırıldığında, model tasarımında iki farklı yaklaşım gözlemliyoruz: otomatik mimari arama ve uçtan uca NMS'siz optimizasyon. Her ikisi de doğruluk ve hız sınırlarını zorlasa da temel yapıları ve ideal kullanım alanları önemli ölçüde farklılık gösterir.
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 ve gecikmeyi dengelemek için büyük ölçüde Sinirsel Mimari Arama (NAS)'ya güvenir. MAE-NAS olarak adlandırılan omurgası, optimum katman derinliğini ve genişliğini bulmak için katı hesaplama bütçeleri altında maksimum entropi kılavuzluğunda arama kullanır.
Model, ölçekler arasındaki özellik birleştirmeyi ele almak için verimli bir RepGFPN (Yeniden Parametreleştirilmiş Genelleştirilmiş Özellik Piramidi Ağı) kullanır. Bu ağır boyun tasarımı, karmaşık uzamsal hiyerarşileri çıkarmada özellikle başarılıdır ve bu nedenle hava görüntüsü analizi gibi senaryolarda kullanışlıdır. Ayrıca DAMO-YOLO, son tahmin katmanlarının karmaşıklığını büyük ölçüde azaltan akıcı bir algılama başlığı olan ZeroHead'i sunar ve eğitim sırasında güçlü bir damıtma iyileştirme sürecinden yararlanır.
DAMO-YOLO çoğunlukla çok aşamalı bir bilgi damıtma süreci kullanır. Daha küçük olan "öğrenci" modele rehberlik etmesi için daha ağır bir "öğretmen" modelinin eğitilmesini gerektirir. Bu süreç daha yüksek mAP (Ortalama Hassasiyet) elde eder, ancak gereken GPU hesaplama süresini önemli ölçüde artırır.
DAMO-YOLO hakkında daha fazla bilgi edin
YOLOv10: Uçtan Uca Nesne Tespitinde Öncü#
Bir buçuk yıl sonra yayımlanan YOLOv10, çıkarım sırasında Non-Maximum Suppression (NMS) gereksinimini tamamen ortadan kaldırarak bir paradigma değişimi sundu.
- 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 tutarlı ikili atamalar kullanmasıdır. Geleneksel algılayıcılar tek bir nesne için birden fazla örtüşen sınırlayıcı kutu tahmin eder ve yinelenenleri 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 etmesini sağlayarak bu sorunu çözer.
Yazarlar ayrıca bütünsel ve verimlilik-doğruluk odaklı bir model tasarımına odaklandı. Mevcut mimarilerdeki hesaplama gereksizliğini dikkatle analiz ederek, FLOPs ve parametre sayısını azaltmak için omurgayı ve başlığı optimize ettiler. Bu hafif tasarım, YOLOv10'un TensorRT veya OpenVINO gibi biçimlere aktarıldığında olağanüstü çıkarım gecikmesi sunmasını sağlar.
YOLOv10 hakkında daha fazla bilgi edin
Performans ve Karşılaştırmalı Testler#
Aşağıdaki tablo, COCO veri kümesi üzerindeki ham performans ölçümlerini 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 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
DAMO-YOLO doğruluk açısından başarılı olsa da YOLOv10 sürekli olarak daha düşük gecikme ve önemli ölçüde daha küçük model ağırlıkları sunar. Örneğin YOLOv10s, parametrelerin yarısından daha azını kullanırken DAMO-YOLOs'un %46,0 değerine kıyasla biraz daha yüksek bir mAP (%46,7) elde eder (7,2M ve 16,3M). Daha düşük bellek gereksinimleri, YOLOv10'u gömülü sistemler için son derece çok yönlü bir seçenek haline 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 öğrenme eğrileri oluşturabilir.
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 gereken kalıp kod miktarı minimumdur. Ultralytics; veri artırma, hiperparametre ayarlama ve deney takibini otomatik olarak yönetir.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()Ultralytics ekosistemini kullanarak geliştiriciler, eski çerçevelerin gerektirdiği karmaşık ortam kurulumlarını atlayıp yalnızca birkaç satır kodla prototipten tamamen aktarılmış bir ONNX modeline geçebilir.
Gerçek Dünya Kullanım Örnekleri#
- 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ı için uygundur.
- Otonom Araçlar (YOLOv10): NMS'siz mimari, otonom sürüş güvenlik sistemleri için kritik olan belirlenebilir ve öngörülebilir gecikmeyi garanti eder.
- Endüstriyel Otomasyon (YOLOv10): Hızlı hareket eden montaj hatlarındaki kusurları tespit etmek, çok fazla 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 önde gelen bir aday yapar.
Kullanım Alanları ve Öneriler#
DAMO-YOLO ve YOLOv10 arasında seçim yapmak, özel proje gereksinimlerine, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.
DAMO-YOLO Ne Zaman Seçilmeli?#
DAMO-YOLO şu durumlar için güçlü bir seçenektir:
- Yüksek İş Hacimli Video Analitiği: Batch-1 iş hacminin 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ım üzerinde katı GPU gecikme kısıtlarının bulunduğu senaryolar.
- Sinir Ağı Mimarisi Araması Araştırmaları: Otomatik mimari aramasının (MAE-NAS) ve verimli yeniden parametrelendirilmiş omurgaların algılama performansı üzerindeki etkilerini inceleme.
YOLOv10 Ne Zaman Seçilmeli?#
YOLOv10 şu durumlar için önerilir:
- NMS'siz 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.
- Dengeli Hız-Doğruluk Dengesi: Ç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 (YOLO26) Ne Zaman Seçilmeli?#
Yeni projelerin çoğu için Ultralytics YOLO26, performans ve geliştirici deneyiminin en iyi birleşimini sunar:
- NMS'siz Uç Dağıtımı: Maksimum Olmayan Bastırma son işleme karmaşıklığı olmadan tutarlı ve düşük gecikmeli çıkarım gerektiren uygulamalar.
- Yalnızca CPU Kullanılan Ortamlar: Özel GPU hızlandırması olmayan ve YOLO26'nın %43'e varan daha hızlı CPU çıkarımının belirleyici bir avantaj sağladığı cihazlar.
- Küçük Nesne Algılama: ProgLoss ve STAL'ın küçük nesnelerde doğruluğu önemli ölçüde artırdığı hava 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 üretim için geliştirerek eşsiz performans ve kullanılabilirlik sunar.
YOLO26, uç cihazlarda daha basit dağıtım hatları için NMS son işlemeyi ortadan kaldıran, yerel olarak uçtan uca bir tasarıma sahiptir. Ayrıca, Dağılım Odak Kaybı (DFL)'nın kaldırılması, düşük güç tüketen uç yapay zeka donanımı ile uyumluluğu büyük ölçüde iyileştirmiştir.
Eğitim tarafında YOLO26, Large Language Model (LLM) eğitim tekniklerinden esinlenen hibrit bir MuSGD Optimizer sunar. Bu, daha kararlı eğitim ve daha hızlı yakınsama sağlar. ProgLoss + STAL kayıp işlevleriyle birlikte YOLO26, yaban hayatı koruma ve drone operasyonları için kritik bir özellik olan küçük nesne tanımada dikkate değer iyileştirmeler sergiler.
Önemli olarak YOLO26 yalnızca bir nesne algılayıcı değildir. Instance Segmentation, Residual Log-Likelihood Estimation (RLE) kullanan Pose Estimation ve Oriented Bounding Boxes (OBB) için özel açı kayıpları dahil olmak üzere, görev özelinde kapsamlı iyileştirmeler sunar ve bunları yerel olarak destekler. Önceki sürümlere kıyasla %43'e varan daha hızlı CPU çıkarımıyla çevik mühendislik ekipleri için kesin tercihtir.
YOLO26 modellerinin merkezi yönetimi, etiketlenmesi ve bulutta eğitimi için Ultralytics Platform, tüm bilgisayarlı görü yaşam döngüsünü kolaylaştıran sezgisel bir arayüz sunar.
Diğer yeni gelişmeleri keşfetmek isteyen geliştiriciler, farklı mimari çözümler gerektiren senaryolar için Ultralytics YOLO11 veya Transformer tabanlı RT-DETR çerçevesini de değerlendirebilir.