EfficientDet - YOLOv5 Karşılaştırması: Ayrıntılı Teknik Bir Karşılaştırma
Nesne tespiti alanı, doğruluğu hesaplama verimliliğiyle dengeleme ihtiyacından kaynaklanan sürekli bir ihtiyaçla hızla gelişmiştir. Bu alanı önemli ölçüde etkileyen iki mimari, Google Brain ekibi tarafından geliştirilen EfficientDet ve Ultralytics tarafından oluşturulan YOLOv5'tir. Her iki model de görüntülerdeki nesneleri verimli bir şekilde algılamayı amaçlarken, soruna temelde farklı tasarım felsefeleri ve mimari stratejileriyle yaklaşır.
Bu kılavuz, geliştiricilerin, araştırmacıların ve mühendislerin belirli bilgisayarla görme uygulamaları için doğru aracı seçmelerine yardımcı olmak amacıyla derinlemesine bir teknik karşılaştırmayı sunar.
EfficientDet: Ölçeklenebilir ve Verimli
2019'un sonlarında piyasaya sürülen EfficientDet, aynı anda hem doğruluğu hem de verimliliği optimize etme araştırma hedefinden ortaya çıkmıştır. Nesne algılama için "Bileşik Ölçeklendirme" kavramını tanıtmıştır; bu, backbone ağının çözünürlüğünü, derinliğini ve genişliğini düzgün bir şekilde ölçeklendiren bir yöntemdir.
- Yazarlar: Mingxing Tan, Ruoming Pang ve Quoc V. Le
- Kuruluş:Google Brain
- Tarih: 20 Kasım 2019
- Arxiv:EfficientDet: Ölçeklenebilir ve Verimli Nesne Algılama
Mimari Öne Çıkanlar
EfficientDet, EfficientNet backbone üzerine inşa edilmiştir ve BiFPN (Çift Yönlü Özellik Piramidi Ağı) adı verilen yeni bir özellik birleştirme ağı sunar. Bilgi akışını yukarıdan aşağıya bir şekilde sınırlayan geleneksel Özellik Piramidi Ağlarından (FPN) farklı olarak BiFPN, farklı çözünürlük katmanları arasında karmaşık, çift yönlü bilgi akışına izin verir.
Model ayrıca, kullanıcıların kaynak kısıtlamalarına bağlı olarak bir model ailesinden (D0'dan D7'ye) seçim yapmasına olanak tanıyan Bileşik Ölçeklendirme'yi de kullanır. Bu, daha fazla işlem gücüne sahipseniz, daha iyi doğruluk elde etmek için model boyutunu doğrusal olarak artırabilmenizi sağlar.
Güçlü ve Zayıf Yönler
EfficientDet'in temel gücü, teorik verimliliğinde yatmaktadır. Dikkat çekici derecede düşük FLOP'larla (Kayan Noktalı İşlemler) yüksek mAP puanları elde eder. Bu, parametre verimliliğinin temel bir metrik olduğu akademik araştırmalar için onu ilginç bir aday yapar.
Ancak, EfficientDet pratik bir dezavantajdan muzdariptir: çıkarım gecikmesi. BiFPN'deki karmaşık bağlantılar ve derinlemesine ayrılabilir evrişimlerin yoğun kullanımı (matematiksel olarak verimli olmasına rağmen), standart evrişimlere kıyasla genellikle GPU donanımında tam olarak optimize edilmemiştir. Sonuç olarak, daha düşük FLOP'lara rağmen, EfficientDet, GPU'larda teorik hesaplama maliyetleri daha yüksek olan modellere göre daha yavaş çalışabilir.
EfficientDet hakkında daha fazla bilgi edinin
Ultralytics YOLOv5: Gerçek Dünya Performansı ve Kullanılabilirliği
Ultralytics YOLOv5, 2020'de piyasaya sürüldüğünde bir paradigma değişikliğini temsil ediyordu. Önceki sürümlerinden farklı olarak, yerel olarak PyTorch içinde uygulanan ilk YOLO modeliydi ve bu da onu büyük bir geliştirici ekosistemine erişilebilir kılıyordu. Ham performansın yanı sıra "dağıtım kolaylığına" öncelik verdi.
- Yazar: Glenn Jocher
- Kuruluş:Ultralytics
- Tarih: 26 Haziran 2020
- GitHub:ultralytics/yolov5
Mimari Öne Çıkanlar
YOLOv5, gradyan akışını optimize eden ve hesaplamayı azaltan bir CSPDarknet omurgası kullanır. Eğitim sırasında Mozaik Artırma kullanımına öncülük etmiştir—dört görüntüyü birbirine yapıştıran bir teknik—modelin küçük nesneleri algılama yeteneğini geliştirir ve büyük mini yığın boyutlarına olan ihtiyacı azaltır.
Mimari, hız için tasarlanmıştır. Standart evrişimler ve aerodinamik bir başlık yapısı kullanarak YOLOv5, modern GPU'ların paralel işleme yeteneklerini en üst düzeye çıkarır ve sonuç olarak olağanüstü düşük çıkarım gecikmesi elde edilir.
Ultralytics Ekosisteminin Avantajı
YOLOv5'in en önemli avantajlarından biri, çevreleyen ekosistemdir. Ultralytics, otomatik-anchor oluşturma, hiperparametre evrimi ve ONNX, TensorRT, CoreML ve TFLite'a yerel dışa aktarım desteği dahil olmak üzere kusursuz bir iş akışı sağlar. Bu "her şey dahil" yaklaşımı, konseptten üretime geçiş süresini önemli ölçüde azaltır.
Güçlü ve Zayıf Yönler
YOLOv5, gerçek zamanlı çıkarım ve kullanım kolaylığı konusunda üstündür. Basit API'si ve sağlam belgeleri, geliştiricilerin kendi verileri üzerinde dakikalar içinde özel modeller eğitmelerine olanak tanır. Uç yapay zeka ve bulut dağıtımları için ideal olan bir şekilde hız ve doğruluğu dengeler. YOLO11 gibi daha yeni modeller o zamandan beri doğruluğu aşmış olsa da, YOLOv5 güvenilir, endüstri standardı bir iş beygiri olmaya devam ediyor.
YOLOv5 hakkında daha fazla bilgi edinin
Performans Metrikleri: Hız - Doğruluk Karşılaştırması
Aşağıdaki tablo, EfficientDet ve YOLOv5'in COCO val2017 veri kümesi üzerindeki performansını karşılaştırmaktadır. Temel çıkarım, teorik maliyet (FLOPs) ve gerçek hız (Gecikme) arasındaki ayrımdır.
| 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 |
Gösterildiği gibi, YOLOv5, GPU gecikmesinde üstündür. Örneğin, YOLOv5s (37.4 mAP)'de çalışır 1.92 ms bir T4 GPU'da, oysa EfficientDet-d0 (34.6 mAP) alır 3.92 ms—bu da YOLOv5'i yaklaşık olarak 2 kat daha hızlı daha yüksek doğruluk sağlarken. Bu eşitsizlik daha büyük modellerle daha da artar; YOLOv5l (49.0 mAP) neredeyse 5 kat daha hızlı karşılaştırılabilir olandan EfficientDet-d4 (49.7 mAP).
Aksine, EfficientDet, düşük FLOP'ların genellikle performansa daha iyi dönüştüğü yalnızca CPU ortamlarında parlar; bu, daha küçük D0 varyantları için ONNX CPU hızlarında görülür.
İdeal Kullanım Senaryoları
Bu modeller arasında seçim yapmak, özel kısıtlamalarınıza bağlıdır:
Ne zaman EfficientDet seçmeli
- Akademik Kıyaslama: Birincil amaç parametre verimliliğini veya mimari ölçeklendirme yasalarını göstermek olduğunda.
- Katı CPU Kısıtlamaları: Dağıtımın kesinlikle FLOP'ların mutlak darboğaz olduğu eski CPU donanımıyla sınırlı olması durumunda, en küçük EfficientDet varyantları (D0-D1) rekabetçi performans sunar.
- Araştırma: BiFPN gibi özellik piramidi ağı varyasyonlarını incelemek için.
Ne zaman Ultralytics YOLOv5 seçmeli
- Gerçek Zamanlı Uygulamalar: Düşük gecikmenin olmazsa olmaz olduğu otonom araçlar, robotik ve video gözetimi için vazgeçilmezdir.
- Üretim Dağıtımı: İyi yönetilen ekosistem ve TensorRT ve OpenVINO gibi motorlara kolay dışa aktarım, YOLOv5'i ticari ürünler için üstün kılar.
- Eğitim Verimliliği: YOLOv5 modelleri genellikle EfficientDet veya Transformatör tabanlı modeller gibi karmaşık mimarilerden daha hızlı eğitilir ve daha az bellek gerektirir, bu da bulut işlem maliyetlerini azaltır.
- Çeşitlilik: Basit sınırlayıcı kutuların ötesinde, Ultralytics çerçevesi segmentasyon ve sınıflandırma görevlerine sorunsuz geçişi sağlar.
Kod Örneği: Ultralytics'in Basitliği
Ultralytics modellerinin belirleyici özelliklerinden biri Kullanım Kolaylığıdır. EfficientDet'i uygulamak genellikle karmaşık TensorFlow yapılandırmaları veya belirli depo klonları gerektirirken, YOLOv5, PyTorch Hub aracılığıyla yalnızca birkaç satır Python koduyla yüklenebilir ve çalıştırılabilir.
import torch
# Load the YOLOv5s model from the official Ultralytics repository
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image (URL or local path)
img = "https://ultralytics.com/images/zidane.jpg"
# Perform inference
results = model(img)
# Display results
results.print() # Print predictions to console
results.show() # Show image with bounding boxes
Sonuç ve Gelecek Beklentileri
EfficientDet bileşik ölçeklendirmenin ve verimli özellik birleştirmenin değerini kanıtlayarak bilgisayar görüşünde önemli bir kilometre taşı oluştururken, YOLOv5 yüksek performanslı nesne tespitini erişilebilir, hızlı ve dağıtılabilir hale getirerek sektörde devrim yarattı.
Bugün yeni bir projeye başlayan geliştiriciler için, Ultralytics soyundaki en son gelişmelere bakmanızı öneririz. YOLO11, YOLOv5'in güçlü temeli üzerine inşa edilmiştir ve şunları sunar:
- Daha da yüksek Doğruluk ve Hız.
- Poz Tahmini, Örnek Bölütleme ve OBB için yerel destek.
- Birleşik bir python paketi
ultralyticstüm MLOps yaşam döngüsünü basitleştiren.
Ultralytics modellerinin diğer mimarilerle nasıl karşılaştırıldığı hakkında daha fazla bilgi için YOLOv8 ve RT-DETR ile olan karşılaştırmalarımızı inceleyin.