EfficientDet ve YOLOv5: Ölçeklenebilirlik ve Gerçek Zamanlı Performans Arasındaki Denge
Doğru nesne algılama mimarisini seçmek, doğruluk, çıkarım hızı ve dağıtım karmaşıklığı arasındaki dengeleri göz önünde bulundurmayı gerektirir. Bu kılavuz, Google ölçeklenebilir mimarisi EfficientDet ile YOLOv5, Ultralytics yaygın olarak kullanılan gerçek zamanlı algılayıcısı arasında derinlemesine bir teknik karşılaştırma sunar.
EfficientDet, bileşik ölçeklendirmede çığır açan kavramlar getirirken, YOLOv5 , yüksek performanslı bilgisayar görüşünü basitleştirilmiş bir API ve sağlam bir ekosistem aracılığıyla erişilebilir hale getirerek bu alanda YOLOv5 .
Modele Genel Bakış
Google EfficientDet
EfficientDet, EfficientNet backbone temel alır ve çözünürlük, derinlik ve genişliği eşit şekilde ölçekleyen bir bileşik ölçekleme yöntemi uygular. Kolay ve hızlı çok ölçekli özellik füzyonu sağlamak için Çift Yönlü Özellik Piramidi Ağı (BiFPN) özelliğini getirmiştir.
- Yazarlar: Mingxing Tan, Ruoming Pang ve Quoc V. Le
- Kuruluş:Google
- Tarih: 2019-11-20
- Arxiv:EfficientDet: Ölçeklenebilir ve Verimli Nesne Algılama
- GitHub:EfficientDet Deposu
Ultralytics YOLOv5
YOLOv5 gerçek dünyada kullanılabilirlik ve hıza odaklanmaktadır. CSPDarknet backbone kullanır backbone çeşitli donanımlarda eğitim ve dağıtım kolaylığı için tasarlanmıştır. Performans ve verimlilik dengesi nedeniyle en popüler modellerden biri olmaya devam etmektedir.
- Yazar: Glenn Jocher
- Kuruluş:Ultralytics
- Tarih: 2020-06-26
- Belgeler:YOLOv5 Belgeleri
- GitHub:YOLOv5 Deposu
YOLOv5 hakkında daha fazla bilgi edinin.
Teknik Mimari Karşılaştırması
Bu iki modelin mimari felsefesi önemli ölçüde farklılık gösterir ve farklı görevler için uygunluklarını etkiler.
EfficientDet: Bileşik Ölçeklendirme ve BiFPN
EfficientDet'in temel yeniliği BiFPN (Ağırlıklı Çift Yönlü Özellik Piramit Ağı)dır. Özellikleri ayrım yapmadan toplayan standart FPN'lerden farklı olarak, BiFPN farklı girdi özelliklerinin önemini anlamak için öğrenilebilir ağırlıklar kullanır. Bu, ağın birleştirme sırasında daha bilgilendirici özelliklere öncelik vermesini sağlar.
Ek olarak, EfficientDet, backbone, özellik ağı ve tahmin ağının çözünürlüğünü, derinliğini ve genişliğini aynı anda artıran Bileşik Ölçeklendirme kullanır. Bu, kullanıcıların kaynak kısıtlamalarına bağlı olarak bir model ailesi (D0 ila D7) arasından seçim yapmalarını sağlar. Ancak, bu karmaşıklık, bu işlemler için özel destekten yoksun uç cihazlarda daha yüksek gecikmeye neden olabilir.
YOLOv5: CSPDarknet ve PANet
YOLOv5 , Cross Stage Partial ağlarını entegre eden CSPDarknet backboneYOLOv5 . Bu tasarım, temel katmanda özellik haritasını bölerek doğruluğu korurken parametre ve FLOPS sayısını azaltır.
Özellik toplama için YOLOv5 , Path Aggregation Network (PANet) YOLOv5 . Bu yapı, alt katmanlardan üst katmanlara bilgi akışını geliştirerek nesnelerin konumlandırılmasını iyileştirir; bu da doğru sınırlayıcı kutular için çok önemlidir. Başlık, önceden tanımlanmış bağlantı kutularından ofsetleri tahmin eden bağlantı tabanlıdır. Bu mimari, GPU için yüksek düzeyde optimize edilmiştir ve EfficientDet'in karmaşık ölçeklendirme işlemlerine kıyasla daha hızlı çıkarım süreleri sağlar.
Ultralytics Ekosisteminin Avantajı
YOLOv5 seçmek, Ultralytics erişim YOLOv5 ve Ultralytics aracılığıyla veri açıklama, deney izleme ve bulut eğitimi araçlarıyla sorunsuz entegrasyon sağlar. Bu destek yapısı, EfficientDet gibi araştırma odaklı depolarda genellikle bulunmaz.
Performans Metrikleri
Performansı değerlendirirken, hem doğruluk (mAP) hem de hızı (gecikme) dikkate almak çok önemlidir. EfficientDet, daha büyük varyantları (D7) ile daha yüksek doğruluğa ulaşsa da, benzer boyuttaki YOLOv5 kıyasla genellikle önemli bir hız kaybına neden olur.
Aşağıdaki tablo performans farklılıklarını göstermektedir. YOLOv5 önemli ölçüde daha hızlı CPU YOLOv5 ve bu sayede özel hızlandırıcılar olmadan da çok daha pratik bir şekilde kullanılabildiğini fark edin.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Analiz
- Hız ve Doğruluk: EfficientDet-d0, FLOP açısından çok verimlidir, ancak pratikte YOLOv5n ve YOLOv5s, donanım dostu işlemler sayesinde (bazı eski CUDA yavaş olabilen derinlik yönünde ayrılabilir konvolüsyonları önleyerek) standart GPU'larda genellikle daha hızlı çalışır.
- Bellek Verimliliği: YOLOv5 , eğitim sırasında YOLOv5 daha az VRAM gerektirir, bu da tüketici sınıfı donanımlarda daha büyük parti boyutlarına olanak tanır. EfficientDet'in karmaşık bağlantıları bellek yükünü artırabilir.
- Optimizasyon: EfficientDet, mimari için AutoML aramalarına büyük ölçüde dayanır ve bu aramalar değiştirilmesi zor olabilir. YOLOv5 , YAML yapılandırmasında doğrudan derinlik ve genişlik katlarının daha kolay özelleştirilmesine YOLOv5 .
Eğitim ve Kullanılabilirlik
Eğitim Verimliliği
Ultralytics YOLOv5 "kullanıma hazır" özelliği ileYOLOv5 . Depo, Mosaic veri artırma, otomatik bağlantı hesaplama ve hiperparametre evrimini içerir. Bu, kullanıcıların kapsamlı ayarlamalar yapmadan özel veri kümelerinde mükemmel sonuçlar elde edebilecekleri anlamına gelir. EfficientDet uygulamaları genellikle TensorFlow daha fazla manuel kurulumu ve dikkatli öğrenme oranı planlaması gerektirir.
Dağıtım Çok Yönlülüğü
EfficientDet öncelikle bir nesne algılama modeli olsa da, YOLOv5 Ultralytics halefleri daha geniş bir görev yelpazesini destekler. Aynı API yapısını kullanarak sorunsuz bir şekilde örnek segmentasyonuna veya görüntü sınıflandırmasına geçebilirsiniz.
Ayrıca, YOLOv5 dağıtımı, ONNX, TensorRT, CoreML ve TFLite tek tıklamayla dönüştürmeyi destekleyen dışa aktarma modu sayesinde YOLOv5 .
from ultralytics import YOLO
# Load a pretrained YOLOv5 model
model = YOLO("yolov5s.pt")
# Train the model on a custom dataset
model.train(data="coco128.yaml", epochs=100)
# Export to ONNX format for deployment
model.export(format="onnx")
Geleceğe Hazırlık: YOLO26 Örneği
YOLOv5 sağlam bir seçenek YOLOv5 da, bu alanda gelişmeler kaydedilmiştir. En son teknolojiyi arayan geliştiriciler için YOLO26, YOLOv5 mirasını önemli mimari YOLOv5 geliştirmiştir.
YOLO26, uçtan uca NMS tasarım sunarak, Non-Maximum Suppression son işlemine olan ihtiyacı ortadan kaldırır. Bu, gecikmeyi azaltır ve dağıtım sürecini basitleştirir, bu da EfficientDet ve YOLOv5 göre önemli bir avantajdır. Ayrıca YOLO26, LLM eğitiminden esinlenerek geliştirilen MuSGD Optimizer'ı kullanır ve zorlu veri kümelerinde bile daha hızlı yakınsama ve istikrarlı eğitim sağlar.
Projeniz kenar AI içeriyorsa, YOLO26 CPU için özel olarak optimize edilmiştir ve önceki nesillere göre %43'e varan hız artışı sunar.
YOLO26 hakkında daha fazla bilgi edinin
İdeal Kullanım Senaryoları
Ne Zaman EfficientDet Seçmeli
- Araştırma Kısıtlamaları: Birincil hedef, bileşik ölçekleme yasalarını incelemek veya belirli akademik kriterleri yeniden üretmek olduğunda.
- Düşük FLOP Rejimleri: FLOP sayısının tek önemli ölçüt olduğu teorik senaryolarda, bellek erişim maliyetleri veya donanımdaki gerçek gecikme süreleri göz ardı edilir.
Ultralytics YOLOv5 veya YOLO26) Ne Zaman Tercih Edilmeli?
- Gerçek Zamanlı Uygulamalar: Düşük gecikme süresinin vazgeçilmez olduğu otonom sürüş, video analizi ve robotik.
- Kenar Dağıtımı: Bellek verimliliği veTensorRT kritik olduğu Raspberry Pi, NVIDIA veya mobil cihazlarda çalışır.
- Hızlı Geliştirme: Hızlı yineleme döngüleri, kolay veri kümesi yönetimi ve güvenilir önceden eğitilmiş ağırlıklar gerektiren projeler.
- Çeşitli Görevler: Projeniz poz tahmini veya yönlendirilmiş nesne algılama (OBB) gibi özellikleri de içerecek şekilde genişleyebilirse, Ultralytics bunları yerel olarak destekler.
Özet
Hem EfficientDet hem de YOLOv5 bilgisayar görüşüne önemli katkılar YOLOv5 . EfficientDet, sistematik ölçeklendirmenin gücünü gösterirken, YOLOv5 yüksek performanslı algılamayı YOLOv5 . Günümüzün çoğu pratik uygulaması için, YOLOv5 en son teknoloji YOLO26ile temsil edilen Ultralytics , sürekli güncellenen kod tabanı ve gelişen topluluk tarafından desteklenen hız, doğruluk ve kullanım kolaylığı arasında üstün bir denge sunmaktadır.
Model karşılaştırmaları hakkında daha fazla bilgi için, YOLO YOLOv8 EfficientDet veya dönüştürücü tabanlı RT-DETRgibi diğer modellerle nasıl karşılaştırıldığını inceleyin.