EfficientDet - YOLOv7 Karşılaştırması: Kapsamlı Teknik Bir Karşılaştırma
Bilgisayar görüşünün hızla gelişen ortamında, doğru nesne algılama mimarisini seçmek proje başarısı için çok önemlidir. Bu analiz, verimliliğe odaklanan ölçeklenebilir bir mimari olan EfficientDet ile GPU donanımında hız ve doğruluk için tasarlanmış gerçek zamanlı bir dedektör olan YOLOv7'yi karşılaştırmaktadır. Her iki model de kendi yayınlandıkları dönemlerde en son teknolojiyi temsil etse de, teknik nüanslarını anlamak geliştiricilerin modern dağıtımlar için bilinçli kararlar almasına yardımcı olur.
Performans Metrikleri ve Analizi
Aşağıdaki tablo, Ortalama Hassasiyet (mAP), farklı donanımlardaki çıkarım hızı ve hesaplama karmaşıklığı (Parametreler ve FLOP'lar) dahil olmak üzere temel performans metriklerinin ayrıntılı bir karşılaştırmasını sunmaktadı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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Temel Çıkarımlar
- Verimlilik - Gecikme Süresi Karşılaştırması: EfficientDet, bileşik ölçeklendirmesi sayesinde dikkat çekici parametre verimliliğine (düşük model boyutu) ulaşır. Ancak, GPU donanımında (T4 TensorRT), YOLOv7 üstün gecikme süresi gösterir. Örneğin, YOLOv7l, yalnızca 6.84ms gecikme süresiyle %51.4 mAP elde ederken, EfficientDet-d5, benzer bir %51.5 mAP için 67.86ms gerektirir.
- Mimari Etki: EfficientDet'te kullanılan derinlemesine ayrılabilir evrişimler, FLOP'ları en aza indirir ancak YOLOv7'deki yoğun evrişimlere kıyasla GPU'larda daha az optimize edilebilir, bu da gözlemlenen hız farklılıklarına yol açar.
EfficientDet'e Genel Bakış
EfficientDet, doğruluğu ve verimliliği aynı anda optimize eden ölçeklenebilir bir mimari önererek 2019'da bir paradigma değişikliği başlattı. EfficientNet backbone üzerine inşa edilmiştir ve BiFPN'yi (Çift Yönlü Özellik Piramidi Ağı) sunar.
EfficientDet Detayları:
Yazarlar: Mingxing Tan, Ruoming Pang ve Quoc V. Le
Kuruluş: Google
Tarih: 2019-11-20
Arşiv: https://arxiv.org/abs/1911.09070
GitHub: https://github.com/google/automl/tree/master/efficientdet
Mimari Öne Çıkanlar
EfficientDet'in temel yeniliği, kolay ve hızlı çok ölçekli özellik kaynaştırmaya olanak tanıyan BiFPN'dir. Geleneksel FPN'lerin aksine, BiFPN farklı girdi özelliklerinin önemini öğrenmek için ağırlıklı özellik kaynaştırması kullanır. Çözünürlüğü, derinliği ve genişliği eşit olarak ölçeklendiren Bileşik Ölçekleme ile birlikte EfficientDet, çeşitli kaynak kısıtlamalarına hitap eden bir model ailesi (D0'dan D7'ye) sunar.
EfficientDet hakkında daha fazla bilgi edinin
YOLOv7'ye Genel Bakış
2022'de piyasaya sürülen YOLOv7, eğitim sürecini ve mimarisini çıkarım hızı için optimize etmeye odaklanarak gerçek zamanlı nesne algılamanın sınırlarını zorladı. Çıkarım maliyetini artırmadan doğruluğu artıran çeşitli "Bedava Hediyeler (Bag-of-Freebies)" sunar.
YOLOv7 Ayrıntıları:
Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
Kuruluş: Institute of Information Science, Academia Sinica, Taiwan
Tarih: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Mimari Öne Çıkanlar
YOLOv7, ağın daha çeşitli özellikleri öğrenmesini sağlamak için en kısa ve en uzun gradyan yollarını kontrol eden E-ELAN (Genişletilmiş Verimli Katman Toplama Ağı)'nı kullanır. Ayrıca, farklı boyutlarda optimum yapıyı korumasını sağlayan, birleştirme tabanlı modeller için model ölçeklendirmesi kullanır. Mimari, düşük FLOP sayılarına rağmen yüksek bellek erişim maliyetlerine sahip işlemleri önleyerek özellikle GPU verimliliği için ayarlanmıştır.
YOLOv7 hakkında daha fazla bilgi edinin
İdeal Kullanım Senaryoları
Bu mimariler arasında seçim yapmak büyük ölçüde dağıtım donanımına ve özel uygulama gereksinimlerine bağlıdır.
Ne Zaman EfficientDet Seçmeli
EfficientDet, bellek bant genişliğinin ve depolamanın kesinlikle sınırlı olduğu CPU ile sınırlı ortamlar veya uç cihazlar için idealdir. Düşük parametre sayısı, onu aşağıdakiler için uygun hale getirir:
- Mobil Uygulamalar: Uygulama boyutunun (APK boyutu) kritik bir kısıtlama olduğu Android/iOS uygulamaları.
- Gömülü Sistemler: CPU üzerinde çalışan Raspberry Pi (eski nesiller) gibi cihazlar.
- Akademik Araştırma: Bileşik ölçekleme ve özellik kaynaştırma tekniklerinin etkilerini incelemek.
Ne Zaman YOLOv7 Seçmeli
YOLOv7, düşük gecikme süresinin olmazsa olmaz olduğu yüksek performanslı GPU ortamlarında mükemmeldir. Aşağıdakiler için tercih edilen seçimdir:
- Gerçek Zamanlı Gözetim: Uç sunucularda birden fazla video akışını aynı anda işleme.
- Otonom Sürüş: Milisaniye gecikmesinin güvenliği etkileyebileceği durumlar.
- Robotik: Dinamik ortamlarda hızlı nesne tespiti ve etkileşim için.
Modern Alternatifler
EfficientDet ve YOLOv7 güçlü olsa da, alan gelişmeye devam ediyor. Yeni projeler için genellikle YOLO11 önerilir. Modern backbone'lerin verimlilik kavramlarını YOLO ailesinin gerçek zamanlı hızıyla birleştirir ve genellikle hem doğruluk hem de dağıtım kolaylığı açısından öncüllerini geride bırakır.
Neden Ultralytics YOLO Modellerini Seçmelisiniz?
EfficientDet ve YOLOv7 bilgisayarlı görüye önemli katkılar sağlamaya devam ederken, YOLOv8 gibi modelleri ve en son teknolojiye sahip YOLO11'i içeren Ultralytics ekosistemi, geliştiriciler ve araştırmacılar için belirgin avantajlar sunar.
Kullanım Kolaylığı ve Ekosistem
Eski modeller genellikle karmaşık kurulum adımları, belirli CUDA sürümleri veya parçalanmış kod tabanları gerektirir. Buna karşılık, Ultralytics birleşik, modern bir kullanıcı deneyimine odaklanır. Basit bir pip install ultralytics, kullanıcılar güçlü bir Python API'sine ve CLI komutları eğitim, doğrulama ve dağıtımı standartlaştıran. Şunu İyi Yönetilen Ekosistem sık güncellemeler, geniş donanım desteği ve gibi araçlarla entegrasyon sağlar Ultralytics HUB sorunsuz MLOps için.
Performans Dengesi ve Bellek Verimliliği
Ultralytics modelleri, optimum bir Performans Dengesi kurmak için tasarlanmıştır. Kenar dağıtımından bulut API'lerine kadar çeşitli senaryolar için uygun hale getiren olağanüstü çıkarım hızlarını korurken en son teknoloji doğruluğu sunarlar. Ayrıca, Ultralytics YOLO modellerini eğitmek için gereken Bellek Gereksinimleri, genellikle transformatör tabanlı mimariler veya eski ConvNet'ler için gerekenden daha düşüktür ve tüketici sınıfı GPU'larda verimli eğitim sağlar.
Çok Yönlülük ve Eğitim Verimliliği
Birçok özel detektörün aksine, Ultralytics modelleri oldukça çok yönlüdür. Tek bir çerçeve şunları destekler:
- Nesne Algılama
- Örnek Segmentasyonu
- Görüntü Sınıflandırması
- Poz Tahmini
- Yönlendirilmiş Nesne Tespiti (OBB)
Bu Çok Yönlülük, Eğitim Verimliliği ile birleştiğinde (optimize edilmiş veri yükleyiciler ve COCO üzerinde kolayca erişilebilen önceden eğitilmiş ağırlıklar sayesinde) yapay zeka çözümleri için pazara sunma süresini önemli ölçüde kısaltır.
Örnek: Modern Bir YOLO Modeli Çalıştırmak
Aşağıda, modern bir Ultralytics modelinin çıkarım için ne kadar kolay kullanılabileceğine dair bir örnek bulunmaktadır; bu, genellikle daha eski mimariler için gereken standart uygulamalarla tam bir zıtlık oluşturur.
from ultralytics import YOLO
# Load the latest YOLO11 model (pre-trained on COCO)
model = YOLO("yolo11n.pt")
# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
result.save() # Save the annotated image to disk
print(f"Detected {len(result.boxes)} objects.")
YOLO11 hakkında daha fazla bilgi edinin
Sonuç
EfficientDet ve YOLOv7, bilgisayar görüşü tarihinde iki farklı felsefeyi temsil etmektedir: biri teorik verimlilik (FLOP'lar/Parametreler) için optimizasyon yaparken, diğeri pratik donanım gecikmesi için optimizasyon yapmaktadır. EfficientDet, parametre kısıtlamalı CPU uygulamaları için güçlü bir referans olmaya devam ederken, YOLOv7 yüksek hızlı GPU iş yüklerine iyi hizmet etmektedir.
Ancak, her iki dünyanın da en iyisini (hız, doğruluk ve sorunsuz bir geliştirme deneyimi) arayan geliştiriciler için YOLO11 gibi Ultralytics modelleri üstün bir seçimdir. Modern bilgisayarlı görü uygulamalarının zorlu taleplerini karşılayan performansı sunarken, eğitim ve dağıtımın karmaşık hattını basitleştirirler.
Diğer Model Karşılaştırmaları
İhtiyaçlarınıza en uygun modeli bulmak için daha teknik karşılaştırmaları inceleyin:
- EfficientDet - YOLOv8 karşılaştırması
- YOLOv7'ye karşı YOLOv8
- EfficientDet - YOLOv5 Karşılaştırması
- YOLOv6 -e karşı YOLOv7
- RT-DETR vs YOLOv7
- YOLOX - EfficientDet Karşılaştırması