YOLOv5 ve EfficientDet: Gerçek Zamanlı Nesne Algılama Mimarilerini Değerlendirme

Yeni bir bilgisayarlı görü projesine başlarken, doğru sinir ağı mimarisini seçmek alacağın en önemli kararlardan biridir. Bu kılavuz, Ultralytics YOLOv5 ile Google'ın EfficientDet modeli arasında derinlemesine bir teknik karşılaştırma sunar. Mimarilerini, performans metriklerini ve eğitim ekosistemlerini analiz ederek, geliştiricilerin ve araştırmacıların kendi dağıtım ortamları için en iyi nesne algılama modelini belirlemelerine yardımcı olmayı amaçlıyoruz.

EfficientDet, bileşik ölçeklendirme ve özellik birleştirme konularında yeni kavramlar ortaya koyarken, YOLOv5 son derece sezgisel PyTorch uygulaması, akıcı kullanıcı deneyimi ve hız ile doğruluk arasındaki benzersiz dengesi sayesinde yüksek performanslı yapay zekaya erişimi demokratikleştirerek sektörü kökten değiştirdi.

Ultralytics YOLOv5: Erişilebilirlik Konusunda Sektör Standardı

2020 yazında piyasaya sürülen YOLOv5, YOLO soy ağacında çok önemli bir değişimi işaret etti. C tabanlı Darknet çerçevesinden yerel PyTorch'a geçiş yaparak, hızla model oluşturmak, eğitmek ve dağıtmak isteyen geliştiriciler için vazgeçilmez mimari haline geldi.

Mimari Yenilikler

YOLOv5, sorunsuz bir makine öğrenimi yaşam döngüsüne öncelik veren, yüksek düzeyde optimize edilmiş mimarisiyle bilinir. Birden fazla uzamsal ölçekte özellik yayılımını ciddi oranda iyileştiren, Path Aggregation Network (PANet) boyun yapısıyla eşleştirilmiş değiştirilmiş bir CSPDarknet53 omurga yapısı kullanır.

Önemli geliştirmeler şunlardır:

  • Mosaic Veri Artırma: Bu eğitim tekniği, dört farklı eğitim görselini tek bir mozaikte birleştirir. Bu durum, modelin karmaşık uzamsal bağlamlarda nesneleri nasıl tanımlayacağını öğrenmesini sağlar ve küçük hedefleri algılama yeteneğini önemli ölçüde artırır.
  • Otomatik Öğrenilen Çapa Kutuları: Eğitim başlamadan önce YOLOv5, özel eğitim verilerini analiz eder ve k-means kümeleme kullanarak en uygun çapa kutusu boyutlarını otomatik olarak hesaplar.
  • Bellek Verimliliği: Ağır transformer tabanlı modellere kıyasla YOLOv5, hem eğitim hem de çıkarım sırasında önemli ölçüde daha düşük bellek kullanımı sağlar ve tüketici sınıfı donanımlarda sorunsuz çalışmasına olanak tanır.

YOLOv5 hakkında daha fazla bilgi edin

EfficientDet: Ölçeklenebilir Nesne Algılama

2019 yılında Google Research tarafından tanıtılan EfficientDet, bir dizi ölçeklenebilir nesne algılayıcı sunmayı amaçlamıştır. EfficientNet görsel sınıflandırma omurgası üzerine inşa edilmiş olup yeni bir özellik birleştirme mekanizması sunar.

Mimari Yenilikler

EfficientDet'in temel iddiası, ölçeklendirme ve özellik birleştirmeye yönelik sistematik yaklaşımında yatmaktadır:

  • BiFPN (Çift Yönlü Özellik Piramit Ağı): Bilgiyi yalnızca yukarıdan aşağıya ileten geleneksel FPN'lerin aksine BiFPN, farklı girdi özelliklerinin önemini öğrenmek için eğitilebilir ağırlıklar ekleyerek hızlı ve kolay çok ölçekli özellik birleştirmeyi mümkün kılar.
  • Bileşik Ölçeklendirme: EfficientDet; çözünürlüğü, derinliği ve genişliği tüm omurga, özellik ağı ve kutu/sınıf tahmin ağları için ortaklaşa ölçeklendirerek hafif D0 modelinden devasa D7 modeline kadar uzanan bir yelpaze sunar.

EfficientDet hakkında daha fazla bilgi edinin

Çerçeve Farklılıkları

EfficientDet büyük ölçüde TensorFlow ekosistemine ve AutoML kütüphanelerine güvenirken, YOLOv5 yerel olarak PyTorch içinde çalışır ve birçok geliştiricinin daha sezgisel, pythonik ve hata ayıklanabilir bulduğu bir iş akışı sunar.

Performans ve Metrik Karşılaştırması

Bu modelleri karşılaştırırken, performanslarını COCO veri seti gibi standart kıyaslamalar üzerinde değerlendirmek çok önemlidir. Aşağıdaki tablo; boyut, hesaplama gereksinimi (FLOPs) ve çıkarım hızı arasındaki ödünleşimleri vurgulamaktadır.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametre
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0

Dengeli Analiz

YOLOv5 shines in its deployment flexibility and raw hardware acceleration compatibility. Notice the blisteringly fast TensorRT speeds on the T4 GPU. This makes YOLOv5 incredibly well-suited for high-throughput video analytics and real-time inference pipelines. Furthermore, the Ultralytics ecosystem makes exporting to formats like ONNX, CoreML, and TensorRT a one-line command.

EfficientDet, mükemmel parametre verimliliği sunar. Belirli bir parametre sayısı için genellikle yüksek bir ortalama Hassasiyet (mAP) değeri verir. Ancak bu teorik verimlilik, BiFPN katmanının karmaşık yönlendirmesi nedeniyle uç cihaz (edge) GPU'larında her zaman daha hızlı gerçek zamanlı çıkarım sürelerine dönüşmeyebilir; çünkü bu durum hesaplama odaklı olmaktan ziyade bellek bant genişliği sınırlı olabilir.

Ekosistem ve Kullanım Kolaylığı

Ultralytics modelini seçmenin en belirgin avantajı, çevresindeki ekosistemde yatar. YOLOv5, devasa topluluk desteğine sahip, yoğun bir şekilde sürdürülen ve aktif olarak geliştirilen bir deponun parçasıdır.

Ultralytics Platform ile kullanıcılar veri toplamadan dağıtıma sorunsuz bir şekilde geçiş yapabilir. Bu platform; otomatik etiketleme, bulut eğitimi ve model izlemeyi kutudan çıkar çıkmaz destekler. Buna karşılık EfficientDet eğitimi, genellikle eski TensorFlow nesne algılama API'lerinin karmaşıklıklarıyla uğraşmayı gerektirir ve bu da hızlı prototipleme için dik bir öğrenme eğrisi oluşturabilir.

Dahası, YOLOv5'in çok yönlülüğü sınırlayıcı kutuların ötesine uzanır. Sürekli güncellemeler sayesinde Ultralytics çerçevesi; örnek bölümleme ve görsel sınıflandırmayı yerel olarak destekleyerek, birden fazla bilgisayarlı görü görevi için birleşik bir API sunar.

İdeal Kullanım Durumları

  • Şu durumlarda YOLOv5'i seç: Hızlı prototiplemeye, zahmetsiz bir eğitim deneyimine ve yüksek oranda optimize edilmiş uç cihaz dağıtımına ihtiyacın olduğunda. Dronlar, perakende analitiği ve düşük gecikmenin kritik olduğu mobil uygulamalar için idealdir.
  • Şu durumlarda EfficientDet'i seç: Tamamen bir Google Cloud/TensorFlow AutoML ortamında çalışıyorsan ve katı gerçek zamanlı gecikme kısıtlamaları olmaksızın parametre başına maksimum doğruluk gerektiriyorsan.

Yeni Nesil: YOLO26 ile Tanış

YOLOv5 güvenilir bir iş gücü olmaya devam etse de, bilgisayarlı görü dünyası gelişti. 2026'da teknolojinin zirvesini arayan geliştiriciler için YOLO26, Ultralytics serisinin yeni doruk noktasını temsil ediyor.

Önceki modellerinin (örneğin YOLOv8 ve YOLO11) mirası üzerine inşa edilen YOLO26, çığır açan yenilikler sunar:

  • Uçtan Uca NMS'siz Tasarım: YOLO26, Non-Maximum Suppression (NMS) sonrası işleme ihtiyacını yerel olarak ortadan kaldırır. Bu, gecikme varyansını önemli ölçüde azaltır ve dağıtım mimarisini basitleştirir.
  • Up to 43% Faster CPU Inference: Heavily optimized for edge AI, it brings unprecedented speeds to low-power edge devices and standard CPUs without dedicated GPUs.
  • MuSGD Optimize Edici: Büyük Dil Modeli (LLM) eğitim tekniklerinden esinlenen bu SGD ve Muon melezi, son derece kararlı bir eğitim ve hızlı yakınsama sağlar.
  • Gelişmiş Kayıp Fonksiyonları: ProgLoss ve STAL entegrasyonu, yüksek irtifa dron görüntüleri ve robotik için hayati önem taşıyan küçük hedeflerin tanınmasını ciddi şekilde iyileştirir.
  • DFL Kaldırma: Distribution Focal Loss (DFL) kaldırılarak model dışa aktarma süreci basitleştirilmiş ve çeşitli donanım hızlandırıcıları arasındaki uyumluluk daha da artırılmıştır.

Ultralytics ekosistemindeki diğer yeni mimarileri keşfetmek isteyen kullanıcılar, YOLOv10 veya RT-DETR gibi modelleri de karşılaştırabilirler.

Geçiş Yapmak Kolay

Ultralytics Python API, geriye ve ileriye dönük uyumluluk için tasarlanmıştır. YOLOv5'ten YOLO26'ya yükseltme yapmak, kodundaki model ağırlık dizisini değiştirmek kadar basittir!

Kod Örneği: Eğitim ve Çıkarım

Ultralytics ekosisteminin benzersiz kullanım kolaylığını göstermek için, modern bir YOLO modelini kullanarak nasıl eğitim yapabileceğini ve çıkarım çalıştırabileceğini aşağıda bulabilirsin. Bu kod %100 çalışabilirdir ve veri seti indirme, eğitim döngüleri ve doğrulama işlemlerini otomatik olarak halleder.

from ultralytics import YOLO

# Load a modern model (Swap 'yolov5s.pt' for 'yolo26n.pt' to test the newest architecture!)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset for 20 epochs
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)

# Run inference on an image from the web
inference_results = model("https://ultralytics.com/images/bus.jpg")

# Display the image with bounding boxes
inference_results[0].show()

Kullanıcı deneyimine öncelik vererek, sağlam bir ekosistem sürdürerek ve YOLO26 gibi güncellemelerle mümkün olanın sınırlarını sürekli zorlayarak Ultralytics, geliştiricilerin gerçek dünyadaki görsel zeka zorluklarını çözmek için her zaman en iyi araçlara sahip olmalarını sağlar.

Yorumlar