YOLOv10 ve EfficientDet#
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 öne çıkan mimari YOLOv10 ve EfficientDet'tir. Her ikisi de hesaplama yükünü en aza indirirken doğruluğu en üst düzeye çıkarmayı amaçlasa da bu hedeflere ulaşmak için oldukça farklı mimari yaklaşımlar benimser.
Bu kapsamlı kılavuz, benzersiz tasarımlarını, eğitim metodolojilerini ve dağıtım özelliklerini ele alarak geliştiricilerin ve makine öğrenimi mühendislerinin görsel yapay zekâ uygulamaları için veriye dayalı kararlar almasına yardımcı olur. Gömülü uç yapay zekâ cihazlarından güçlü bulut GPU'larına kadar çeşitli donanımlarda nasıl performans gösterdiklerini inceleyeceğiz.
YOLOv10: NMS'siz Öncü#
Gerçek zamanlı gecikmenin sınırlarını zorlamak için geliştirilen YOLOv10, YOLO ailesindeki en kalıcı darboğazlardan biri olan Maksimum Olmayan Bastırma (NMS) sorununu ele aldı. Bu son işleme adımını ortadan kaldıran model, otonom araçlar ve yüksek hızlı robotik için kritik olan son derece öngörülebilir bir gecikme elde eder.
Mimari Yenilikler#
YOLOv10, NMS'siz eğitim için tutarlı çift atamalar sunar. Eğitim sırasında hem çoktan-bire hem de birden-bire etiket atamalarından yararlanarak ağın zengin temsiller öğrenmesini sağlarken çıkarım sırasında her nesne için yerel olarak en iyi tek sınırlayıcı kutuyu üretir. Mimari ayrıca bütünsel, verimlilik-doğruluk odaklı bir tasarım içerir; sınıflandırma başlığını sadeleştirir ve önceki yinelemelerde bulunan hesaplama fazlalığını azaltır.
Model Ayrıntıları#
- Yazarlar: Ao Wang, Hui Chen, Lihao Liu ve diğerleri
- Kuruluş: Tsinghua Üniversitesi
- 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 filtreleme amacıyla özel çalışma zamanı eklentilerine güvenmeden ONNX biçimi ve NVIDIA TensorRT gibi biçimlere aktarılması doğal olarak daha kolaydır.
Güçlü Yönler:
- Öngörülebilir Çıkarım: NMS'nin 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ı modellerle karşılaştırıldığında YOLOv10, hem eğitim hem de çıkarım sırasında önemli ölçüde daha düşük bellek gereksinimlerine sahiptir.
- Mükemmel Hız/Doğruluk Dengesi: Performans metriklerinden ödün vermeden düşük gecikmeli senaryolar için özel olarak optimize edilmiştir.
Zayıf Yönler:
- Tek Göreve Odaklanma: Daha kapsamlı Ultralytics ekosisteminin aksine, özgün YOLOv10 deposu büyük ölçüde tespite odaklanır; örnek bölütleme veya poz tahmini için yerel destek sunmaz.
YOLOv10 hakkında daha fazla bilgi edin
EfficientDet: Ölçeklenebilir ve Dengeli#
Google Brain tarafından tanıtılan EfficientDet, nesne tespitine sistematik ağ ölçeklendirme perspektifinden yaklaşır. EfficientNet görüntü sınıflandırma omurgası üzerine kuruludur ve yeni bir özellik birleştirme mekanizması sunar.
Mimari Yenilikler#
EfficientDet'in temelinde, çok ölçekli özelliklerin kolay ve hızlı biçimde birleştirilmesini sağlayan Çift Yönlü Özellik Piramidi Ağı (BiFPN) bulunur. Özellikleri yalnızca yukarıdan aşağıya toplayan geleneksel FPN'lerin aksine BiFPN, farklı giriş ö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ının çözünürlüğünü, derinliğini ve genişliğini eşit şekilde ölçeklendiren bileşik bir ölçeklendirme yöntemi kullanır.
Model Ayrıntıları#
- 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: Parametre-doğruluk oranı mükemmeldir; bu da daha küçük
-d0ile-d2varyantlarını son derece hafif hâle getirir. - İlkeli Ölçeklendirme: Bileşik ölçeklendirme, kullanıcıların tam hesaplama bütçelerine uygun bir model boyutunu kolayca seçmesine olanak tanır.
Zayıf Yönler:
- Eski Çerçeve Entegrasyonu: Özgün uygulama büyük ölçüde eski TensorFlow sürümlerine dayanır; bu da modern dağıtım işlem hatlarını karmaşıklaştırabilir.
- Daha Yavaş Eğitim: EfficientDet'i sıfırdan eğitmek, YOLO mimarilerinin hızlı yakınsamasına kıyasla kötü şöhret derecesinde yavaştır ve dikkatli hiperparametre ayarı gerektirir.
- Çıkarım Hızı: Parametre açısından verimli olsa da karmaşık BiFPN işlemleri, yüksek düzeyde optimize edilmiş YOLO modellerine kıyasla standart donanımlarda gerçek dünya çıkarım hızlarının genellikle daha düşük olmasına neden olur.
EfficientDet hakkında daha fazla bilgi edin
Performans ve Karşılaştırmalı Testler#
Bu modellerin gerçek sınavı, COCO veri kümesi gibi standart kıyaslamalardaki ampirik performanslarında yatar. Aşağıdaki tablo, NVIDIA T4 GPU'larındaki parametre sayısı, kayan noktalı işlemler (FLOPs) ve çıkarım gecikmesindeki kritik farkları gösterir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (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 üstünlüğü korur. Örneğin YOLOv10-S, yalnızca 2.66 ms TensorRT gecikmesiyle 46.7 mAP elde ederken EfficientDet-d3 benzer şekilde 47.5 mAP elde eder ancak yaklaşık 20 ms sürer; bu da YOLOv10'u gerçek zamanlı video akışı veya hızlı hareket eden üretim işlem hatları için açık ara üstün kılar.
Kullanım Alanları ve Öneriler#
YOLOv10 ile EfficientDet arasındaki seçim, özel proje gereksinimlerine, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.
YOLOv10 Ne Zaman Seçilmeli?#
YOLOv10 şu durumlar için güçlü bir tercihtir:
- 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ı.
EfficientDet Ne Zaman Seçilmeli?#
EfficientDet şu durumlarda önerilir:
- Google Cloud ve TPU İş Akışları: EfficientDet'in yerel optimizasyona sahip olduğu, Google Cloud Vision API'leriyle veya TPU altyapısıyla derinlemesine entegre sistemler.
- Bileşik Ölçekleme Araştırması: Dengeli ağ derinliği, genişliği ve çözünürlük ölçeklemesinin etkilerini incelemeye odaklanan akademik kıyaslamalar.
- TFLite ile Mobil Dağıtım: Android veya gömülü Linux cihazları için özel olarak TensorFlow Lite dışa aktarması gerektiren projeler.
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.
Modern Standart: Ultralytics YOLO26 Sahneye Çıkıyor#
YOLOv10 çığır açan NMS'siz paradigmayı tanıtırken EfficientDet ilkeli ölçeklendirmeyi ortaya koydu; ancak bilgisayarlı görü dünyası gelişmeye devam etti. Günümüzde yeni projelere başlayan geliştiriciler için Ultralytics YOLO26, tartışmasız son teknoloji ürünü temsil eder. Ocak 2026'da piyasaya sürülen bu model, Ultralytics Platformu içinde tüm dünyaların en iyi özelliklerini son derece iyi işlenmiş, üretime hazır bir pakette birleştirir.
YOLO26 Neden Rakiplerinden Daha İyi Performans Gösteriyor?#
- Uçtan Uca NMS'siz Tasarım: YOLO26, YOLOv10'un öncülük ettiği uçtan uca NMS'siz mimariyi yerel olarak benimser; dağıtımı basitleştirir ve çıkarımı hızlandırır.
- %43'e Kadar Daha Hızlı CPU Çıkarımı: Özel hızlandırıcılara sahip olmayan uç cihazlar için YOLO26, standart CPU'larda verimli çalışacak şekilde özel olarak optimize edilmiştir.
- Gelişmiş MuSGD Optimize Edicisi: LLM eğitimi yeniliklerinden ilham alan YOLO26, son derece kararlı eğitim ve hızlı yakınsama için SGD ile Muon'un birleşimini kullanır ve eğitim verimliliğini EfficientDet'e kıyasla büyük ölçüde artırır.
- ProgLoss + STAL: Bu geliştirilmiş kayıp işlevleri, hem YOLOv10 hem de EfficientDet için geleneksel bir zayıf nokta olan küçük nesne tanımada dikkate değer artışlar sağlar.
- DFL'nin Kaldırılması: Dağılımsal Odak Kayıbı'nı kaldıran YOLO26, OpenVINO ve CoreML dâhil olmak üzere neredeyse tüm donanım biçimlerine sorunsuz şekilde aktarılır.
Ayrıca YOLO26 eşsiz bir çok yönlülük sunar. EfficientDet ve YOLOv10 yalnızca tespit modelleriyken YOLO26, aynı sezgisel Ultralytics Python paketi ile yönlendirilmiş sınırlayıcı kutuları, görüntü sınıflandırmayı ve örnek bölütlemeyi sorunsuz şekilde destekler.
Ultralytics ile Kullanım Kolaylığı#
Ultralytics tarafından sunulan 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 ile EfficientDet karşılaştırıldığında seçim büyük ölçüde çerçeve tercihlerinize ve hız kısıtlamalarınıza bağlıdır. EfficientDet, TensorFlow ekosistemi içinde model ölçeklendirmeye yapılandırılmış bir yaklaşım sunar. Bununla birlikte YOLOv10, NMS'siz mimarisi sayesinde daha üstün gerçek zamanlı performans, daha düşük bellek kullanımı ve daha kolay bir dağıtım yolu sağlar.
Mutlak olarak en iyi performans dengesi, kullanım kolaylığı ve çok görevli çok yönlülük için Ultralytics Platformu'na geçmen ve YOLO26 kullanman şiddetle önerilir. YOLOv10'un NMS'siz yeniliklerini alır, MuSGD optimize edicisi gibi son teknoloji eğitim tekniklerini uygular ve bunları dünya çapında büyük bir topluluk tarafından desteklenen güçlü, açık kaynaklı bir çerçevede bir araya getirir.