YOLOv9 - EfficientDet: Kapsamlı Teknik Karşılaştırma
Doğru nesne algılama modelini seçmek, bilgisayar görüşü geliştirmede çok önemli bir karardır ve uygulamanızın hızını, doğruluğunu ve kaynak verimliliğini doğrudan etkiler. Bu kılavuz, Ultralytics YOLOv9 ve EfficientDet arasında derinlemesine bir teknik karşılaştırma sunarak, mimari yeniliklerini, performans metriklerini ve modern dağıtım senaryolarına uygunluğunu analiz etmektedir.
Performans Analizi
Nesne tespitinin evrimi hızlı olmuştur ve daha yeni mimariler, önceki modellerinden önemli ölçüde daha iyi performans göstermiştir. Aşağıdaki tablo, YOLOv9'daki çıkarım hızı ve parametre verimliliği ile ilgili gelişmeleri vurgulayarak temel metriklerin doğrudan 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) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 |
Önemli Çıkarımlar:
- Hız Üstünlüğü: YOLOv9 modelleri, GPU donanımında çok daha üstün çıkarım hızları gösterir. Örneğin, YOLOv9c (%53,0 mAP), karşılaştırılabilir doğruluktaki EfficientDet-d6'dan (%52,6 mAP) 12 kat daha hızlıdır.
- Parametre Verimliliği: YOLOv9'un mimarisi, daha az parametreyle daha yüksek doğruluk elde etmesini sağlar. YOLOv9s, yalnızca 7.1M parametre ile %46.8 mAP elde ederken, EfficientDet benzer bir %47.5 doğruluk düzeyine ulaşmak için daha büyük D3 varyantını (12.0M parametre) gerektirir.
- Son Teknoloji Doğruluğu: En büyük model olan YOLOv9e, 55,6% mAP ile yüksek bir çıta belirleyerek, en ağır EfficientDet-d7 modelini geride bırakırken gecikme süresinin çok küçük bir bölümünü korur.
YOLOv9: Yeni Bir Programlanabilir Gradyan Bilgisi Çağı
2024'ün başlarında tanıtılan YOLOv9, YOLO serisinde önemli bir sıçramayı temsil ediyor. Chien-Yao Wang ve Hong-Yuan Mark Liao tarafından geliştirilen bu ürün, özellik iletimi sırasında bilgi kaybıyla ilgili derin öğrenmedeki temel sorunları ele alıyor.
Teknik Detaylar:
- Yazarlar: Chien-Yao Wang, Hong-Yuan Mark Liao
- Kuruluş:Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2024-02-21
- Arxiv:YOLOv9: Programlanabilir Gradyan Bilgisi Kullanarak Ne Öğrenmek İstediğinizi Öğrenme
- GitHub:WongKinYiu/yolov9
- Belgeler:Ultralytics YOLOv9 Dökümantasyonu
Mimari Yenilikler
YOLOv9, "bilgi darboğazı" sorununu ele almak için iki temel konsept sunar:
- Programlanabilir Gradyan Bilgisi (PGI): Ağ ağırlıklarını güncellemek için güvenilir gradyanlar üreten, modelin derin katmanlar boyunca kritik bilgileri korumasını sağlayan yardımcı bir denetim çerçevesi.
- Genelleştirilmiş Verimli Katman Toplama Ağı (GELAN): CSPNet ve ELAN'ın güçlü yönlerini birleştiren yeni bir hafif mimari. Doğruluktan ödün vermeden daha yüksek parametre verimliliği ve daha hızlı çıkarım hızları sağlayarak gradyan yolu planlamasına öncelik verir.
Biliyor muydunuz?
GELAN mimarisi, yalnızca üst düzey GPU'lar için değil, aynı zamanda hesaplama kaynaklarının sınırlı olduğu uç cihazlar için de çıkarımı optimize ederek donanımdan bağımsız olacak şekilde tasarlanmıştır.
Güçlü Yönler ve Kullanım Durumları
- Performans Dengesi: YOLOv9, hız ve doğruluk arasında olağanüstü bir denge sunarak otonom sürüş ve video analitiği gibi gerçek zamanlı çıkarım uygulamaları için idealdir.
- Ultralytics Ekosistemi: Ultralytics ile entegrasyon, eğitimi, doğrulamayı ve dağıtımı basitleştiren kolaylaştırılmış bir Python API'si ve CLI sağlar.
- Eğitim Verimliliği: Verimli mimarisi sayesinde YOLOv9, genellikle transformatör tabanlı alternatiflere kıyasla eğitim sırasında daha az bellek gerektirir ve tüketici sınıfı GPU'larda daha kolay özel eğitim olanağı sağlar.
Kod Örneği: Ultralytics ile YOLOv9 Kullanımı
Ultralytics paketini kullanarak YOLOv9'da kolayca çıkarım yapabilir veya eğitim gerçekleştirebilirsiniz.
from ultralytics import YOLO
# Load a pre-trained YOLOv9c model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
# Train the model on a custom dataset (e.g., COCO8)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
YOLOv9 hakkında daha fazla bilgi edinin
EfficientDet: Ölçeklenebilir Mimaride Öncü
Google Research tarafından 2019'un sonlarında yayınlanan EfficientDet, nesne dedektörlerini ölçeklendirmenin sistematik bir yolunu tanıtan çığır açan bir modeldi. Geniş bir kaynak kısıtlaması yelpazesinde verimliliği optimize etmeye odaklanır.
Teknik Detaylar:
- Yazarlar: Mingxing Tan, Ruoming Pang, Quoc V. Le
- Kuruluş:Google Research
- Tarih: 2019-11-20
- Arxiv:EfficientDet: Ölçeklenebilir ve Verimli Nesne Algılama
- GitHub:google/automl/efficientdet
Mimari Öne Çıkanlar
EfficientDet, EfficientNet backbone üzerine inşa edilmiştir ve çeşitli temel özellikler sunar:
- Çift Yönlü Özellik Piramidi Ağı (BiFPN): Geleneksel FPN'lerden farklı olarak BiFPN, farklı girdi özelliklerine öğrenilebilir ağırlıklar ekleyerek kolay çok ölçekli özellik birleştirmesine olanak tanır.
- Bileşik Ölçeklendirme: Bu yöntem, backbone, ö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çeklendirerek, farklı kaynak bütçelerine göre uyarlanmış bir model ailesine (D0'dan D7'ye) olanak tanır.
Güçlü ve Zayıf Yönler
- Ölçeklenebilirlik: D0-D7 aile yapısı, kullanıcıların belirli FLOP bütçelerine uyan bir model seçmelerine olanak tanır.
- Tarihsel Önemi: 2020'de verimlilik standardını belirledi ve sinirsel mimari araması alanındaki sonraki araştırmaları büyük ölçüde etkiledi.
- Eski Performans: Zamanı için verimli olmasına rağmen, EfficientDet artık GPU'lardaki gecikme süresi açısından YOLOv9 gibi modern detectörlerin gerisinde kalıyor. FLOP açısından verimli olmasına rağmen, derinlemesine ayrılabilir evrişimlerin yoğun kullanımı, genellikle YOLO mimarilerinde kullanılan optimize edilmiş yoğun evrişimlere kıyasla NVIDIA T4 gibi donanımlarda daha yavaş çıkarıma neden olur.
EfficientDet hakkında daha fazla bilgi edinin
Detaylı Karşılaştırmalı Analiz
YOLOv9 ve EfficientDet arasında seçim yaparken, ham mAP'nin ötesinde çeşitli faktörler devreye girer. İşte pratik geliştirme ortamlarında nasıl karşılaştırıldıklarına dair bir döküm.
Hız ve Gecikme
En belirgin fark çıkarım hızında yatmaktadır. YOLOv9 , GPU'larda devasa paralelleştirme için optimize edilmiş GELAN mimarisini kullanır. Buna karşılık, EfficientDet'in karmaşık özellik füzyonuna (BiFPN) ve derinlemesine ayrılabilir konvolüsyonlara dayanması, hızlandırıcılarda bellek erişimi darboğazları yaratabilir. Performans tablosunda görüldüğü gibi, YOLOv9 modelleri sürekli olarak 2 ila 10 kat daha hızlıdır TensorRT benzer doğruluktaki EfficientDet muadillerinden daha yüksektir.
Ekosistem ve Kullanım Kolaylığı
Ultralytics ekosistemi, YOLOv9 için önemli bir avantaj sağlar. EfficientDet bir TensorFlow ortamı ve genellikle karmaşık kurulum komut dosyaları gerektirirken, YOLOv9 şunları destekleyen kullanıcı dostu bir pakete entegre edilmiştir:
- Tek satırda kurulum:
pip install ultralytics - Geniş Dışa Aktarım Desteği: Şuraya sorunsuz dışa aktarım: ONNX, TensorRT, CoreML, OpenVINO ve daha fazlası aracılığıyla
model.export()fonksiyonu. - Aktif Bakım: Sık güncellemeler, topluluk desteği ve nesne takibi ve dağıtım gibi görevlerle ilgili kapsamlı kılavuzlar.
Dağıtım Esnekliği
Ultralytics ile eğitilmiş YOLOv9 modelleri, TFLite veya Edge TPU gibi formatlar kullanılarak uç cihazlara kolayca dağıtılabilir. Daha fazla ayrıntı için TFLite entegrasyon kılavuzumuza göz atın.
Eğitim Verimliliği ve Bellek
Modern bilgisayar görüşü modellerini eğitmek kaynak yoğun olabilir. Ultralytics YOLO modelleri, GPU belleğini verimli kullanmasıyla ünlüdür. Bu, geliştiricilerin eski mimarilere veya ağır transformatör tabanlı modellere kıyasla tüketici donanımında daha büyük yığın boyutlarını eğitmelerine olanak tanır. Ayrıca, Ultralytics, sıfırdan EfficientDet'i eğitmekten çok daha hızlı yakınsayan transfer öğrenmeyi sağlayan, kullanıma hazır, önceden eğitilmiş ağırlıklar sunar.
Çok Yönlülük
EfficientDet kesinlikle bir nesne algılayıcı olsa da, YOLOv9'un (ve daha geniş Ultralytics YOLO ailesinin) arkasındaki mimari ilkeler birden çok göreve uzanır. Ultralytics çerçevesi şunları destekler:
Bu çok yönlülük, geliştiricilerin çeşitli bilgisayar görüşü zorlukları için tek bir birleşik API kullanmalarını sağlar.
Sonuç
Yeni projelerin çoğu için YOLOv9 üstün bir seçimdir. Gerçek zamanlı uygulamalar için uygun hale getiren önemli ölçüde daha hızlı çıkarım hızlarıyla en son teknoloji doğruluğu sunar. Ultralytics ekosistemine entegrasyonu, veri hazırlığından model dağıtımına kadar sorunsuz bir geliştirme deneyimi sağlar.
EfficientDet, bileşik ölçeklendirme ve özellik birleştirmeyi anlamak için değerli bir referans olmaya devam ediyor, ancak genellikle modern donanımlarda watt başına performans ve gecikme ölçümlerinde yetersiz kalıyor.
Bilgisayar görüşü teknolojisindeki en son gelişmeleri arayan geliştiriciler, daha da yüksek verimlilik ve performans sunmak için bu gelişmeleri temel alan YOLO11'i de keşfetmelidir.
Diğer Modelleri İnceleyin
Daha fazla karşılaştırma yapmak isterseniz, bu ilgili modellere göz atmayı düşünebilirsiniz:
- YOLO11 - YOLOv9: En son neslin YOLOv9'u nasıl geliştirdiğini görün.
- RT-DETR: Gerçek zamanlı senaryolar için yüksek doğruluk sunan, dönüştürücü tabanlı bir dedektör.
- YOLOv8: Detect, segmentasyon ve poz tahminini destekleyen oldukça çok yönlü bir model ailesi.