EfficientDet ve YOLOX: Nesne Algılamada Mimari Değişiklikler
Bilgisayar görüşünün evrimi, yeni mimarilerin hız ve doğruluk arasındaki dengeyi yeniden tanımladığı önemli anlarla işaretlenmiştir. Bu dönüm noktalarından ikisi EfficientDet ve YOLOX'tur. EfficientDet, bileşik ölçeklendirme yoluyla ölçeklenebilir verimlilik kavramını getirirken, YOLOX, çapa içermeyen tasarımıyla akademik araştırma ve endüstriyel uygulama arasındaki boşluğu doldurmuştur.
Bu kılavuz, projeniz için doğru aracı seçmenize yardımcı olmak amacıyla, bu iki etkili modelin mimarilerini, performans ölçütlerini ve ideal kullanım örneklerini analiz ederek kapsamlı bir teknik karşılaştırma sunar. Ayrıca, Ultralytics gibi modern çözümlerin bu temeller üzerine nasıl inşa edildiğini ve yeni nesil performans sunduğunu inceliyoruz.
Performans Kıyaslama Analizi
Bu mimariler arasındaki farkları anlamak için, COCO gibi standart benchmarklarda performanslarını incelemek gerekir. Aşağıdaki tablo, farklı model boyutlarının CPU GPU doğruluk (mAP) ve çıkarım hızı ile nasıl ilişkili olduğunu göstermektedir.
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
EfficientDet: Ölçeklenebilir Verimlilik
Google ekibi tarafından geliştirilen EfficientDet, model ölçeklendirmeye sistematik bir yaklaşım sunar. Mobil cihazlardan üst düzey hızlandırıcılara kadar çok çeşitli kaynak kısıtlamalarında verimliliği optimize etmek için tasarlanmıştır.
- Yazarlar: Mingxing Tan, Ruoming Pang ve Quoc V. Le
- Kuruluş:Google
- Tarih: Kasım 2019
- Arxiv:EfficientDet: Ölçeklenebilir ve Verimli Nesne Algılama
- GitHub:google/automl/efficientdet
EfficientDet hakkında daha fazla bilgi edinin
Temel Mimari Özellikler
EfficientDet, ağ derinliğini, genişliğini ve çözünürlüğünü eşit şekilde ölçeklendirmek için bileşik ölçeklendirme kullanan EfficientNet backbone üzerine inşa edilmiştir. Önemli bir yenilik, kolay ve hızlı çok ölçekli özellik füzyonu sağlayan BiFPN (Çift Yönlü Özellik Piramit Ağı) idi. Geleneksel FPN'lerden farklı olarak, BiFPN farklı giriş özelliklerine öğrenilebilir ağırlıklar getirerek füzyon sırasında belirli özellik haritalarının önemini vurgulamaktadır.
İdeal Kullanım Senaryoları
EfficientDet, mobil uygulamalar veya pille çalışan cihazlar gibi model boyutu ve FLOP'ların birincil kısıtlamalar olduğu senaryolarda mükemmeldir. Mimarisi, gecikmenin parametre verimliliğinden daha az önemli olduğu statik görüntü işleme için özellikle uygundur. Ancak, karmaşık özellik füzyon katmanları bazen YOLO gibi daha basit mimarilere kıyasla GPU'larda daha yavaş çıkarım hızlarına neden olabilir.
Bileşik Ölçeklendirme
EfficientDet'in temel felsefesi, bir modelin ölçeklendirilmesinin keyfi olmaması gerektiğidir. Derinlik, genişlik ve çözünürlüğü aynı anda dengeleyerek, EfficientDet tek bir boyutta ölçeklendirilen modellere göre daha az parametre ile daha iyi doğruluk elde eder.
YOLOX: Anchor-Free İnovasyonu
YOLOX, öncüllerinin (YOLOv4 ve YOLOv5 gibi) çapa tabanlı tasarımlarından önemli bir ayrılık gösterdi. Megvii tarafından geliştirilen bu tasarım, YOLO çapa içermeyen mekanizmayı yeniden getirerek eğitim sürecini basitleştirdi ve performansı artırdı.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş:Megvii
- Tarih: Temmuz 2021
- Arxiv:YOLOX: 2021'de YOLO Serisini Aşmak
- GitHub:Megvii-BaseDetection/YOLOX
YOLOX hakkında daha fazla bilgi edinin
Temel Mimari Özellikler
YOLOX, sınıflandırma ve regresyon görevlerini farklı dallara ayıran Decoupled Head özelliğini içerir. Bu tasarım seçimi, sınıflandırma güvenilirliği ve konumlandırma doğruluğu arasındaki çelişkiyi çözerek daha hızlı yakınsama sağlar. Ayrıca YOLOX, dinamik etiket ataması için SimOTA (Simplified Optimal Transport Assignment) kullanır. Bu özellik, çeşitli hiperparametrelere karşı dayanıklıdır ve algılama doğruluğunu artırır.
İdeal Kullanım Senaryoları
YOLOX, hız ve doğruluk dengesi gereken genel amaçlı nesne algılama görevlerinde oldukça etkilidir. Temiz kod yapısı ve çapa tabanlı algılayıcılara kıyasla daha basit tasarımı nedeniyle araştırma temelinde yaygın olarak kullanılmaktadır. Dinamik ortamlarda iyi performans gösterir, bu da onu video analizi ve temel otonom sistemler için uygun hale getirir.
Ultralytics : Eski Mimarilerin Ötesinde
EfficientDet ve YOLOX önemli referans noktaları olmaya devam etse de, bu alan hızla gelişmiştir. Modern geliştirme, yalnızca iyi performans gösteren değil, aynı zamanda entegrasyonu, eğitimi ve dağıtımı kolay araçlar gerektirir. Ultralytics işte bu noktada öne çıkmaktadır.
YOLO11 gibi modeller YOLO11 ve son teknoloji ürünü YOLO26 gibi modeller, bu eski mimarilere göre önemli avantajlar sunmaktadır:
- Kullanım Kolaylığı: Ultralytics , birleşik, "sıfırdan kahramana" Python Ultralytics . Sadece birkaç satır kodla bir modeli eğitebilir, doğrulayabilir ve dağıtım için dışa aktarabilirsiniz. Bu, eski araştırma modellerinin karmaşık yapılandırma dosyaları ve parçalanmış depolarıyla keskin bir tezat oluşturur.
- Performans Dengesi: Ultralytics , hız ve doğruluk arasında optimum dengeyi sağlayacak şekilde tasarlanmıştır. Standart ölçütlerde önceki modellerden sürekli olarak daha iyi performans gösterirken, daha düşük gecikme süresini korurlar.
- Bellek Verimliliği: Transformatör tabanlı modeller veya eski ağır mimarilerin aksine, Ultralytics YOLO eğitim sırasında önemli ölçüde daha az CUDA gerektirir. Bu, tüketici sınıfı GPU'larda daha büyük parti boyutlarına olanak tanıyarak yüksek performanslı yapay zekaya erişimi demokratikleştirir.
- İyi Bakımlı Ekosistem: Sık güncellemeler, aktif topluluk desteği ve kapsamlı belgelerle Ultralytics , projelerinizin geleceğe hazır olmasını Ultralytics . Ultralytics , veri kümesi yönetimini ve model eğitimini daha da basitleştirir.
Öne Çıkanlar: YOLO26
En son teknolojiyi arayan geliştiriciler için YOLO26, verimlilik ve performansın zirvesini temsil eder.
- Uçtan uca NMS: Non-Maximum Suppression (NMS) özelliğini ortadan kaldırarak, YOLO26 dağıtım süreçlerini basitleştirir ve çıkarım gecikme değişkenliğini azaltır.
- Kenar Optimizasyonu: Dağıtım Odak Kaybı (DFL) giderme gibi özellikler, YOLO26'yı CPU %43'e kadar daha hızlı hale getirir ve kenar AI uygulamaları için idealdir.
- Çok yönlülük: Algılama ötesinde, YOLO26 segmentasyon, poz tahmini ve OBB'yi yerel olarak destekleyerek çeşitli görme görevleri için kapsamlı bir araç seti sunar.
YOLO26 hakkında daha fazla bilgi edinin
Karşılaştırma Özeti
| Özellik | EfficientDet | YOLOX | Ultralytics YOLO26 |
|---|---|---|---|
| Mimari | BiFPN + Verimli Ağ | Ankarsız, Ayrılmış Kafa | Uçtan uca, NMS |
| Odak | Parametre Verimliliği | Araştırma ve Genel Algılama | Gerçek Zamanlı Hız ve Kenar Dağıtımı |
| Kullanım Kolaylığı | Orta (TensorFlow ) | İyi (PyTorch) | Mükemmel (Birleştirilmiş API) |
| Dağıtım | Karmaşık (NMS ) | Karmaşık (NMS ) | Basit (NMS) |
| Görevler | Algılama | Algılama | Algılama, Seg, Poz, OBB, Sınıflandırma |
Kod Örneği: Ultralytics ile Eğitim
Ultralytics ının basitliği, hızlı yinelemeyi mümkün kılar. Eski çerçevelerin karmaşık kurulumlarına kıyasla, en son teknolojiye sahip bir modeli ne kadar kolay bir şekilde eğitmeye başlayabileceğinizi aşağıda görebilirsiniz:
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (recommended for transfer learning)
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Endüstriyel otomasyon veya akıllı şehir gözetimi üzerinde çalışıyor olsanız da, Ultralytics gibi modern ve desteklenen bir çerçeve seçmek, kodlarla uğraşmak için daha az zaman harcayıp gerçek dünyadaki sorunları çözmek için daha fazla zaman harcamanızı Ultralytics .
Daha Fazla Okuma
Nesne algılama alanına ilişkin anlayışınızı derinleştirmek için diğer karşılaştırmaları inceleyin: