YOLOv10 ile EfficientDet karşılaştırması#
Nesne tespiti için en uygun sinir ağını seçmek, modern bilgisayarlı görü sistemlerinin başarısını belirleyen kritik bir karardır. Alanı önemli ölçüde etkileyen iki önemli mimari YOLOv10 ve EfficientDet'tir. Her ikisi de hesaplama yükünü en aza indirirken doğruluğu maksimize etmeyi amaçlasali, bu hedeflere ulaşmak için oldukça farklı mimari yaklaşımlar benimserler.
Bu kapsamlı kılavuz; bunların benzersiz tasarımlarını, eğitim metodolojilerini ve dağıtım özelliklerini inceleyerek geliştiricilerin ve makine öğrenimi mühendislerinin görüntü yapay zekası uygulamaları için veriye dayalı kararlar almasına yardımcı olur. Gömülü uç yapay zeka cihazlarından güçlü bulut GPU'larına kadar değişen donanımlarda nasıl performans gösterdiklerini inceleyeceğiz.
YOLOv10: NMS-Free Öncüsü#
Gerçek zamanlı gecikmenin sınırlarını zorlamak için geliştirilen YOLOv10, YOLO ailesindeki en kalıcı dar boğazlardan biri olan Maksimum Olmayan Bastırma (NMS) sorununu ele aldı. Bu işleme sonrasındaki adımı ortadan kaldırarak model, otonom araçlar ve yüksek hız robotikleri için kritik olan son derece öngörülebilir bir gecikme elde eder.
Mimari Yenilikler#
YOLOv10, NMS içermeyen eğitim için tutarlı ikili atamalar sunar. Eğitim sırasında, hem bire-çok hem de bire-bir etiket atamalarından yararlanarak ağın zengin temsiller öğrenmesini sağlarken, çıkarım sırasında nesne başına tek bir en iyi sınırlayıcı kutuyu doğal bir şekilde çıktı olarak verir. Mimari ayrıca sınıflandırma başlığını basitleştiren ve önceki iterasyonlarda bulunan hesaplama yedekliliğini azaltan, verimlilik ve doğruluk odaklı bütünsel bir tasarım içerir.
Model Detayları#
- Yazarlar: Ao Wang, Hui Chen, Lihao Liu ve diğerleri.
- Kuruluş: Tsinghua University
- Tarih: 2024-05-23
- Makale: YOLOv10: Gerçek Zamanlı Uçtan Uca Nesne Tespiti
- GitHub: THU-MIG/yolov10
- Belgeler: YOLOv10 Belgeleri
YOLOv10, NMS adımını kaldırdığı için, sınırlayıcı kutu filtrelemesi için özel çalışma zamanı eklentilerine dayanmadan ONNX formatı ve NVIDIA TensorRT gibi formatlara aktarılması doğası gereği daha kolaydır.
Güçlü Yönler:
- Öngörülebilir Çıkarım: NMS'in kaldırılması, sahnedeki nesne sayısından bağımsız olarak tutarlı çıkarım süreleri sağlar.
- Daha Düşük Bellek Kullanımı: RT-DETR gibi transformer tabanlı modellere kıyasla YOLOv10, hem eğitim hem de çıkarım sırasında çok daha düşük bellek gereksinimlerine sahiptir.
- Mükemmel Hız/Doğruluk Dengesi: Performans metriklerinden ödün vermeden düşük gecikmeli senaryolar için özellikle optimize edilmiştir.
Zayıf Yönler:
- Tek Görev Odaklı: Daha geniş Ultralytics ekosisteminin aksine, orijinal YOLOv10 deposu büyük ölçüde tespiti odaklıdır ve örnek segmentasyonu veya poz tahmini için yerel desteğe sahip değildir.
YOLOv10 hakkında daha fazla bilgi edin
EfficientDet: Ölçeklenebilir ve Dengeli#
Google Brain tarafından tanıtılan EfficientDet, nesne algılamaya sistematik ağ ölçeklendirme merceğinden yaklaşır. EfficientNet görüntü sınıflandırma omurgası üzerine inşa edilmiştir ve yeni bir özellik füzyon mekanizması sunar.
Mimari Yenilikler#
EfficientDet'in özü, kolay ve hızlı çok ölçekli özellik füzyonuna izin veren Bi-directional Feature Pyramid Network (BiFPN)'dir. Yalnızca özellikleri yukarıdan aşağıya toplayan geleneksel FPN'lerin aksine, BiFPN farklı girdi özelliklerinin önemini öğrenmek için çift yönlü ölçekler arası bağlantılar ve eğitilebilir ağırlıklar sunar. Ayrıca EfficientDet, tüm omurga, özellik ağı ve kutu/sınıf tahmin ağları için çözünürlüğü, derinliği ve genişliği tek tip şekilde ölçeklendiren bir bileşik ölçeklendirme yöntemi kullanır.
Model Detayları#
- Yazarlar: Mingxing Tan, Ruoming Pang ve Quoc V. Le
- Kuruluş: Google Brain
- Tarih: 2019-11-20
- Makale: EfficientDet: Ölçeklenebilir ve Verimli Nesne Tespiti
- GitHub: Google AutoML EfficientDet
Güçlü Yönler:
- Yüksek Verimlilik: Mükemmel parametre-doğruluk oranı, daha küçük
-d0ile-d2varyantlarını çok hafif hale getirir. - İlkeli Ölçeklendirme: Bileşik ölçeklendirme, kullanıcıların tam hesaplama bütçelerine uyan bir model boyutunu kolayca seçmelerine olanak tanır.
Zayıf Yönler:
- Eski Çerçeve Entegrasyonu: Orijinal uygulama, modern dağıtım işlem hatlarını karmaşıklaştırabilecek daha eski TensorFlow sürümlerine büyük ölçüde dayanır.
- Daha Yavaş Eğitim: EfficientDet'i sıfırdan eğitmek oldukça yavaştır ve YOLO mimarilerinin hızlı yakınsamasına kıyasla dikkatli hiperparametre ayarı gerektirir.
- Çıkarım Hızı: Parametre açısından verimli olsa da, karmaşık BiFPN işlemleri, son derece optimize edilmiş YOLO modellerine kıyasla standart donanımlarda genellikle daha yavaş gerçek dünya çıkarım hızlarına yol açar.
EfficientDet hakkında daha fazla bilgi edinin
Performans ve Kıyaslamalar#
Bu modellerin gerçek testi, COCO veri seti gibi standart kıyaslamalardaki ampirik performanslarında yatar. Aşağıdaki tablo, parametre sayısındaki, kayan noktalı işlemlerdeki (FLOP) ve NVIDIA T4 GPU'lardaki çıkarım gecikmesindeki kritik farkları gösterir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Yukarıda gösterildiği gibi, YOLOv10 ham çıkarım hızında önemli bir avantaja sahiptir. Örneğin, YOLOv10-S, 2,66ms'lik bir TensorRT gecikmesiyle 46,7 mAP elde ederken, EfficientDet-d3 benzer bir 47,5 mAP elde eder ancak neredeyse 20ms sürer; bu da YOLOv10'u gerçek zamanlı video akışı veya hızlı hareket eden üretim hatları için çok daha üstün kılar.
Kullanım Durumları ve Öneriler#
YOLOv10 ile EfficientDet arasında seçim yapmak, özel proje gereksinimlerine, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.
Ne Zaman YOLOv10 Seçilmeli#
YOLOv10 şunlar için güçlü bir seçimdir:
- NMS'siz Gerçek Zamanlı Tespit: Non-Maximum Suppression (NMS) olmadan uçtan uca tespitten yararlanan ve dağıtım karmaşıklığını azaltan uygulamalar.
- Dengeli Hız-Doğruluk Takasları: Çeşitli model ölçeklerinde çıkarım hızı ile tespit doğruluğu arasında güçlü bir denge gerektiren projeler.
- Tutarlı Gecikme Süresine Sahip Uygulamalar: robotik veya otonom sistemler gibi öngörülebilir çıkarım sürelerinin kritik olduğu dağıtım senaryoları.
Ne Zaman EfficientDet Seçilmeli#
EfficientDet şunlar için önerilir:
- Google Cloud ve TPU İşlem Hatları: EfficientDet'in yerel optimizasyona sahip olduğu Google Cloud Vision API'leri veya TPU altyapısıyla derinlemesine entegre edilmiş sistemler.
- Bileşik Ölçekleme Araştırmaları: Dengeli ağ derinliği, genişliği ve çözünürlük ölçeklemenin etkilerini incelemeye odaklanan akademik kıyaslamalar.
- TFLite ile Mobil Dağıtım: Özellikle Android veya gömülü Linux cihazlar için TensorFlow Lite dışa aktarımı gerektiren projeler.
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 işlem sonrası karmaşıklığı olmadan tutarlı, düşük gecikmeli çıkarım gerektiren uygulamalar.
- Sadece CPU Ortamları: YOLO26'nın %43'e kadar daha hızlı CPU çıkarımının belirleyici bir avantaj sağladığı, özel GPU hızlandırması olmayan cihazlar.
- Küçük Nesne Tespiti: ProgLoss ve STAL'ın çok küçük nesneler üzerindeki doğruluğu önemli ölçüde artırdığı havadan drone görüntüleri veya IoT sensör analizi gibi zorlu senaryolar.
Modern Standart: Ultralytics YOLO26 ile Tanışın#
YOLOv10 çığır açan NMS'siz paradigmayı tanıtırken ve EfficientDet prensipli ölçeklendirmeyi sergilerken, bilgisayarlı görü manzarası gelişmeye devam etti. Bugün yeni projelere başlayan geliştiriciler için Ultralytics YOLO26, tartışmasız en son teknoloji düzeyini temsil eder. Ocak 2026'da yayınlanan bu sürüm, en iyileri Ultralytics Platformu içinde son derece cilalanmış, üretime hazır bir pakette birleştirir.
YOLO26 Neden Rakiplerinden Daha İyi Performans Gösteriyor#
- Uçtan Uca NMS-Free Tasarım: YOLO26, YOLOv10'da öncülük edilen uçtan uca NMS içermeyen mimariyi doğal bir şekilde benimseyerek dağıtımı kolaylaştırır ve çıkarımı hızlandırır.
- %43'e Kadar Daha Hızlı CPU Çıkarımı: Özel hızlandırıcılardan yoksun uç cihazlar için YOLO26, standart CPU'larda verimli bir şekilde çalışacak şekilde özel olarak optimize edilmiştir.
- Gelişmiş MuSGD Optimize Edici: Dil modeli eğitimi yeniliklerinden ilham alan YOLO26, inanılmaz derecede kararlı bir eğitim ve hızlı yakınsama için SGD ve Muon hibritini kullanır ve EfficientDet'e kıyasla eğitim verimliliğini büyük ölçüde artırır.
- ProgLoss + STAL: Bu geliştirilmiş kayıp fonksiyonları, hem YOLOv10 hem de EfficientDet için geleneksel bir zayıf nokta olan küçük nesne tanımasında kayda değer iyileştirmeler sağlar.
- DFL Kaldırma: Dağılım Odaklı Kayıp (Distribution Focal Loss) kaldırılarak YOLO26, OpenVINO ve CoreML dahil olmak üzere neredeyse tüm donanım formatlarına kusursuz bir şekilde aktarılır.
Ayrıca YOLO26 eşsiz bir çok yönlülük sunar. EfficientDet ve YOLOv10 kesinlikle tespit modelleriyken, YOLO26 aynı sezgisel Ultralytics Python paketini kullanarak yönlendirilmiş sınırlayıcı kutuları, görüntü sınıflandırmasını ve örnek bölütlemeyi sorunsuz bir şekilde gerçekleştirir.
Ultralytics ile Kullanım Kolaylığı#
Ultralytics tarafından sağlanan iyi bakımı yapılan ekosistem, sorunsuz bir geliştirici deneyimi sağlar. Bir modeli eğitmek, doğrulamak ve TensorRT entegrasyonuna aktarmak yalnızca birkaç satır kod alır.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model (or upgrade to YOLO26 natively)
model = YOLO("yolov10n.pt")
# Train the model efficiently on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and immediately visualize results
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()
# Export for rapid deployment
model.export(format="engine", quantize=16)Sonuç#
YOLOv10 ve EfficientDet'i karşılaştırırken, seçim büyük ölçüde çerçeve tercihlerine ve hız kısıtlamalarına bağlıdır. EfficientDet, TensorFlow ekosistemi içinde model ölçeklendirmeye yapılandırılmış bir yaklaşım sunar. Ancak YOLOv10, NMS içermeyen mimarisi sayesinde üstün gerçek zamanlı performans, daha düşük bellek kullanımı ve daha basit bir dağıtım yolu sağlar.
Mutlak en iyi performans dengesi, kullanım kolaylığı ve çoklu görev çok yönlülüğü için Ultralytics Platformu yükseltmesi yapmak ve YOLO26'yı kullanmak şiddetle tavsiye edilir. YOLOv10'un NMS'siz yeniliklerini alır, MuSGD optimize edici gibi son teknoloji eğitim tekniklerini uygular ve bunu devasa bir küresel topluluk tarafından desteklenen güçlü, açık kaynaklı bir çerçeveye sarar.