EfficientDet vs. YOLOv5: Detaylı Teknik Karşılaştırma
Nesne algılama alanı, doğruluk ile hesaplama verimliliğini sürekli olarak dengeleme ihtiyacından hareketle hızla gelişmiştir. Bu alanı önemli ölçüde etkileyen iki mimari, Google Brain ekibi tarafından geliştirilen EfficientDet ve YOLOv5Ultralytics tarafından oluşturulmuştur. Her iki model de görüntülerdeki nesneleri verimli bir şekilde detect etmeyi amaçlasa da, soruna temelde farklı tasarım felsefeleri ve mimari stratejilerle yaklaşmaktadır.
Bu kılavuz, geliştiricilerin, araştırmacıların ve mühendislerin kendi özel bilgisayarla görme uygulamaları için doğru aracı seçmelerine yardımcı olmak için derinlemesine bir teknik karşılaştırma sağlar.
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 çıktı. backbone ağının çözünürlüğünü, derinliğini ve genişliğini eşit olarak ölçeklendiren bir yöntem olan "Bileşik Ölçeklendirme" kavramını nesne tespitine tanıttı.
- Yazarlar: Mingxing Tan, Ruoming Pang ve Quoc V. Le
- Organizasyon:Google Brain
- Tarih 20 Kasım 2019
- Arxiv:EfficientDet: Ölçeklenebilir ve Verimli Nesne Algılama
Mimaride Öne Çıkanlar
EfficientDet, EfficientNet backbone üzerine inşa edilmiştir ve BiFPN (Çift Yönlü Özellik Piramidi Ağı) adı verilen yeni bir özellik füzyon ağı sunar. Bilgi akışını yukarıdan aşağıya bir şekilde sınırlayan geleneksel Özellik Piramidi Ağlarının (FPN) aksine 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 ailesi (D0 ila D7) arasından seçim yapmalarına olanak tanıyan Bileşik Ölçeklendirme özelliğini de kullanır. Bu sayede, daha fazla işlem yapabiliyorsanız, daha iyi doğruluk elde etmek için model boyutunu doğrusal olarak artırabilirsiniz.
Güçlü ve Zayıf Yönler
EfficientDet'in birincil gücü teorik verimliliğinde yatmaktadır. Yüksek başarı sağlar mAP oldukça düşük FLOP 'lar (Kayan Nokta İşlemleri) ile puanlar. Bu da onu parametre verimliliğinin önemli bir ölçüt olduğu akademik araştırmalar için ilginç bir aday haline getirmektedir.
Bununla birlikte, EfficientDet pratik bir dezavantajdan muzdariptir: çıkarım gecikmesi. BiFPN'deki karmaşık bağlantılar ve derinlemesine ayrılabilir konvolüsyonların yoğun kullanımı - matematiksel olarak verimli olsa da - standart konvolüsyonlara kıyasla GPU donanımında genellikle tam olarak optimize edilmemiştir. Sonuç olarak, daha düşük FLOP'lara rağmen EfficientDet, GPU'larda daha yüksek teorik hesaplama maliyetlerine sahip modellerden daha yavaş çalışabilir.
EfficientDet hakkında daha fazla bilgi edinin
Ultralytics YOLOv5: Gerçek Dünya Performansı ve Kullanılabilirlik
Ultralytics YOLOv5 , 2020'de piyasaya sürüldüğünde bir paradigma değişikliğini temsil ediyordu. Öncekilerden farklı olarak, yerel olarak uygulanan ilk YOLO modeliydi. PyTorchBöylece devasa bir geliştirici ekosistemi için erişilebilir hale geldi. Ham performansın yanı sıra "dağıtım kolaylığına" öncelik verdi.
- Yazar: Glenn Jocher
- Organizasyon:Ultralytics
- Tarih 26 Haziran 2020
- GitHub:yolov5
Mimaride Öne Çıkanlar
YOLOv5 , gradyan akışını optimize eden ve hesaplamayı azaltan bir CSPDarknet backbone kullanır. Eğitim sırasında Mozaik Büy ütme (dört görüntüyü birbirine ekleyen bir teknik) kullanımına öncülük ederek modelin küçük nesneleri detect etme yeteneğini geliştirmiş ve büyük mini parti boyutlarına olan ihtiyacı azaltmıştır.
Mimari hız için tasarlanmıştır. Standart konvolüsyonlar ve aerodinamik bir kafa yapısı kullanan YOLOv5 , modern GPU'ların paralel işleme yeteneklerini en üst düzeye çıkararak son derece düşük çıkarım gecikmesi sağlar.
Ultralytics Ekosistem Avantajı
YOLOv5'in en önemli avantajlarından biri, çevresindeki ekosistemdir. Ultralytics , otomatik çapa oluşturma, hiperparametre evrimi ve yerel dışa aktarma desteği dahil olmak üzere sorunsuz bir iş akışı sağlar. ONNX, TensorRT, CoreML ve TFLite. Bu "piller dahil" yaklaşım, konseptten üretime kadar geçen süreyi büyük ölçüde kısaltı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 dokümantasyonu, geliştiricilerin kendi verileri üzerinde özel modelleri dakikalar içinde eğitmelerine olanak tanır. Uç yapay zeka ve bulut dağıtımları için en uygun şekilde hız ve doğruluğu dengeler. gibi yeni modeller olsa da YOLO11 o zamandan beri doğrulukta onu aşmış olsa da, YOLOv5 güvenilir, endüstri standardı bir iş gücü olmaya devam ediyor.
YOLOv5 hakkında daha fazla bilgi edinin
Performans Ölçütleri: Hız ve Doğruluk
Aşağıdaki tabloda EfficientDet ve YOLOv5 'in COCO val2017 veri kümesi üzerindeki performansı karşılaştırılmaktadır. Temel çıkarım, teorik maliyet (FLOP'lar) 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 |
Resimde görüldüğü gibi, YOLOv5 GPU gecikme süresine hükmediyor. Örneğin, YOLOv5s (37,4 mAP) hızında çalışır 1,92 ms T4 GPU üzerinde, oysa EfficientDet-d0 (34,6 mAP) alır 3,92 msYOLOv5 kabaca yapmak 2 kat daha hızlı daha yüksek doğruluk sağlarken. Bu eşitsizlik daha büyük modellerde daha da artar; YOLOv5l (49.0 mAP) neredeyse 5 kat daha hızlı karşılaştırılabilir EfficientDet-d4 (49,7 mAP).
Buna karşılık EfficientDet, daha küçük D0 varyantları için ONNX CPU hızlarında görüldüğü gibi, düşük FLOP'ların genellikle performansa daha iyi dönüştüğü CPUCPU ortamlarında parlar.
İdeal Kullanım Senaryoları
Bu modeller arasında seçim yapmak sizin özel kısıtlamalarınıza bağlıdır:
EfficientDet ne zaman seçilmeli
- Akademik Kıyaslama: Birincil amaç parametre verimliliğini veya mimari ölçeklendirme yasalarını göstermek olduğunda.
- Sıkı CPU Kısıtlamaları: Dağıtım, FLOP'ların mutlak darboğaz olduğu eski CPU donanımıyla sınırlıysa, en küçük EfficientDet varyantları (D0-D1) rekabetçi performans sunar.
- Araştırma: BiFPN gibi özellik piramidi ağ varyasyonlarını incelemek için.
Ultralytics YOLOv5 ne zaman seçilmeli
- Gerçek Zamanlı Uygulamalar: Düşük gecikme süresinin tartışılmaz olduğu otonom araçlar, robotik ve video gözetimi için gereklidir.
- Üretim Dağıtımı: Bakımlı ekosistem ve TensorRT ve OpenVINO gibi motorlara kolay aktarım, YOLOv5 'i ticari ürünler için üstün kılmaktadır.
- Eğitim Verimliliği: YOLOv5 modelleri genellikle EfficientDet veya Transformer tabanlı modeller gibi karmaşık mimarilere göre daha hızlı eğitilir ve daha az bellek gerektirir, bu da bulut işlem maliyetlerini azaltır.
- Çok yönlülük: Ultralytics çerçevesi, basit sınırlayıcı kutuların ötesinde segmentasyon ve sınıflandırma görevlerine sorunsuz geçiş sağlar.
Kod Örneği: Ultralytics'in Basitliği
Ultralytics modellerinin tanımlayıcı özelliklerinden biri de 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 kodu ile 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 Geleceğe Bakış
EfficientDet, bileşik ölçekleme ve verimli özellik füzyonunun değerini kanıtlayarak bilgisayarla görme alanında önemli bir kilometre taşına işaret ederken, YOLOv5 yüksek performanslı nesne algılamayı 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 serisindeki en son gelişmelere bakmanızı öneririz. YOLO11YOLOv5'in güçlü temelleri üzerine inşa edilmiştir:
- Daha da yüksek Doğruluk ve Hız.
- Şunlar için yerel destek Poz Tahmini, Örnek Segmentasyonuve OBB.
- Birleşik bir python paketi
ultralyticstüm MLOps yaşam döngüsünü basitleştirir.
Ultralytics modellerinin diğer mimarilerle nasıl karşılaştırıldığı hakkında daha fazla bilgi için karşılaştırmalarımızı inceleyin YOLOv8 ve RT-DETR.