YOLOv5 ve RTDETRv2: Nesne Tespiti için CNN ve Transformer Mimarilerinin Değerlendirilmesi

Bilgisayarlı görü alanı son birkaç yılda önemli ölçüde genişleyerek geliştiricilere karmaşık görsel görevlerin üstesinden gelmeleri için çok çeşitli mimariler sundu. En popüler paradigmalar arasında Evrişimli Sinir Ağları (CNN'ler) ve Tespit Transformer'ları (DETR'ler) yer alıyor.

Bu kılavuz, bu kategorilerdeki iki kritik model arasında derinlemesine teknik bir karşılaştırma sunuyor: oldukça verimli ve yaygın olarak benimsenen CNN tabanlı bir model olan Ultralytics YOLOv5 ve en son teknoloji ürünü transformer tabanlı gerçek zamanlı nesne tespit edici RTDETRv2.

Ultralytics YOLOv5: Verimlilikte Endüstri Standardı

Piyasaya sürüldüğünden bu yana Ultralytics YOLOv5, dünya çapında binlerce ticari uygulamaya ve araştırma projesine güç vererek yapay zeka topluluğunun temel taşı haline geldi. Tamamen PyTorch çerçevesi üzerine inşa edilmiş olup, gerçek zamanlı performanstan ödün vermeden sezgisel bir geliştirici deneyimini önceliklendirdi.

Temel Özellikler:

Mimari ve Güçlü Yönler

YOLOv5, son derece düşük bellek ayak izini korurken özellik çıkarımı verimliliğini en üst düzeye çıkarmak için tasarlanmış modern bir CNN mimarisi kullanır. Çok ölçekli özellik füzyonu için güçlü bir kombinasyon oluşturan bir CSPDarknet omurgası ve bir PANet boyun yapısı kullanır.

One of the primary advantages of YOLOv5 is its Performance Balance. It strikes an exceptional trade-off between speed and accuracy, making it an ideal choice for model deployment on resource-constrained hardware like NVIDIA Jetson devices and smartphones.

Ayrıca YOLOv5 benzersiz bir Çok Yönlülük sunar. Sadece sınırlayıcı kutu tahminleriyle sınırlı modellerin aksine, YOLOv5 yerel olarak görüntü sınıflandırmayı ve örnek segmentasyonunu destekleyerek çeşitli görsel görevler için birleşik bir çerçeve sağlar. Eğitim verimliliği de dikkat çekicidir ve transformer tabanlı mimarilere kıyasla eğitim sırasında önemli ölçüde daha az CUDA belleği gerektirir.

Zayıf Yönler

Daha eski bir CNN çerçevesine dayandığı için, YOLOv5 doğal olarak yinelemeli sınırlayıcı kutuları ortadan kaldırmak için işlem sonrası sırasında Non-Maximum Suppression (NMS) yöntemine güvenir. Ultralytics çerçevesi içinde oldukça optimize edilmiş olsa da, NMS bazen özel uç NPU'larda gecikme darboğazlarına neden olabilir.

YOLOv5 hakkında daha fazla bilgi edin

RTDETRv2: Baidu'dan Gerçek Zamanlı Transformer'lar

RTDETRv2 (Gerçek Zamanlı Tespit Transformer'ı v2), standart DETR'leri tarihsel olarak rahatsız eden hesaplama verimsizliklerini ele alarak transformer mimarilerinin gerçek zamanlı nesne tespitine uygulanmasında önemli bir sıçramayı temsil eder.

Temel Özellikler:

  • Yazarlar: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang ve Yi Liu
  • Organizasyon: Baidu
  • Tarih: 2024-07-24
  • Bağlantılar: Arxiv Makalesi, GitHub Deposu

Mimari ve Güçlü Yönler

RTDETRv2, görüntüleri işlemek için hibrit bir kodlayıcı ve esnek bir kod çözücü tasarımı kullanarak selefinin üzerine inşa edilmiştir. Transformer'ın öz-dikkat (self-attention) mekanizması, modele görüntü bağlamının küresel bir anlayışını kazandırır ve ciddi nesne tıkanıklığına sahip karmaşık sahnelerde olağanüstü iyi performans göstermesini sağlar.

A defining feature of RTDETRv2 is its end-to-end, NMS-free design. By predicting object queries directly without requiring anchor boxes or NMS post-processing, it simplifies the inference pipeline. This architecture achieves an impressive mAP (mean Average Precision) on benchmark datasets like COCO.

Zayıf Yönler

Gerçek zamanlı yeteneklerine rağmen RTDETRv2, YOLO modellerine kıyasla belirgin şekilde daha yüksek bellek gereksinimlerine sahiptir. Transformer'lardaki dikkat mekanizmaları, dizi uzunluğu ile karesel olarak ölçeklenir; bu da devasa GPU kümeleri kullanılmadığı sürece yüksek çözünürlüklü eğitim sırasında bellek hatasına yol açabilir. Ek olarak, Ultralytics ekosisteminin kullanıma hazır çok yönlülüğünden yoksundur ve öncelikle segmentasyon veya poz tahmini için yerel destek olmadan yalnızca 2D nesne tespiti konusuna odaklanır.

RTDETR hakkında daha fazla bilgi edin

Performans Karşılaştırma Tablosu

Bu mimarileri objektif olarak değerlendirmek için performans metriklerini derledik. Kalın harflerle vurgulanan değerler, test edilen ölçeklerde en verimli veya en yüksek performanslı metrikleri temsil eder.

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
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259
Performans Bağlamı

RTDETRv2-x en yüksek mutlak mAP değerine ulaşsa da, YOLOv5n'in yaklaşık 30 katı parametre gerektirir. Sınırlı donanımda çalışan yüksek hızlı uygulamalar için Ultralytics modelleri sürekli olarak en iyi hesaplama verimliliğini sunar.

Ultralytics Ekosistem Avantajı

Bir modeli araştırma not defterinden üretim ortamına taşırken, modelin çevresindeki yazılım da sinir ağı mimarisi kadar önemlidir. Ultralytics tarafından sağlanan İyi Bakılan Ekosistem, geliştirme yaşam döngüsünü çarpıcı biçimde hızlandırır.

Eşsiz Kullanım Kolaylığı

Ultralytics modelleri inanılmaz derecede akıcı bir kullanıcı deneyimine öncelik verir. İster özel bir model eğitmek, ister doğrulama yapmak veya TensorRT ya da ONNX gibi donanıma özel formatlara dışa aktarmak iste, Ultralytics Python API bunu sadece birkaç satır kodla başarmanı sağlar.

İşte bir Ultralytics modeliyle eğitim yapmanın ve çıkarım çalıştırmanın ne kadar basit olduğunu gösteren pratik bir kod örneği:

from ultralytics import YOLO

# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")

# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")

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

This simple, unified API natively supports experiment tracking integrations with tools like Weights & Biases and Comet, allowing developers to log metrics seamlessly without writing complex boilerplate code.

Kullanım Durumları ve Öneriler

YOLOv5 ile RT-DETR arasında seçim yapmak, özel proje gereksinimlerine, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.

Ne Zaman YOLOv5 Seçilmeli

YOLOv5 şunlar için güçlü bir seçimdir:

  • Kanıtlanmış Üretim Sistemleri: YOLOv5'in uzun istikrar geçmişine, kapsamlı dokümantasyonuna ve devasa topluluk desteğine değer verilen mevcut dağıtımlar.
  • Kaynak Kısıtlı Eğitim: YOLOv5'in verimli eğitim hattının ve daha düşük bellek gereksinimlerinin avantajlı olduğu, sınırlı GPU kaynağına sahip ortamlar.
  • Kapsamlı Dışa Aktarma Formatı Desteği: ONNX, TensorRT, CoreML ve TFLite dahil olmak üzere birçok formatta dağıtım gerektiren projeler.

Ne Zaman RT-DETR Seçilmeli?

RT-DETR şunlar için önerilir:

  • Transformer Tabanlı Algılama Araştırmaları: NMS gerektirmeyen uçtan uca nesne algılama için dikkat mekanizmalarını ve transformer mimarilerini araştıran projeler.
  • Esnek Gecikmeli Yüksek Doğruluklu Senaryolar: Algılama doğruluğunun en önemli öncelik olduğu ve biraz daha yüksek çıkarım gecikmesinin kabul edilebilir olduğu uygulamalar.
  • Büyük Nesne Algılama: Transformer'ların küresel dikkat mekanizmasının doğal bir avantaj sağladığı, ağırlıklı olarak orta-büyük ölçekli nesnelerin bulunduğu sahneler.

Ne Zaman Ultralytics (YOLO26) Seçilmeli

Çoğu yeni proje için Ultralytics YOLO26 performans ve geliştirici deneyiminin en iyi kombinasyonunu sunar:

  • NMS-Free Uç Dağıtımı: Non-Maximum Suppression işlem sonrası zorluğu olmadan tutarlı, düşük gecikmeli çıkarım gerektiren uygulamalar.
  • Sadece CPU Ortamları: Özel GPU hızlandırması olmayan, YOLO26'nın %43'e kadar daha hızlı CPU çıkarımının belirleyici bir avantaj sağladığı cihazlar.
  • Küçük Nesne Algılama: ProgLoss ve STAL'ın küçük nesneler üzerindeki doğruluğu önemli ölçüde artırdığı hava drone görüntüleri veya IoT sensör analizi gibi zorlu senaryolar.

Geleceğe Bakış: YOLO11 ve YOLO26

Bugün yeni bir görü projesine başlıyorsan, Ultralytics modellerinin en son nesillerini keşfetmen şiddetle tavsiye edilir.

YOLOv5 inanılmaz derecede güvenilir olmaya devam etse de, YOLO11 iyileştirilmiş doğruluk ve Yönelimli Sınırlayıcı Kutu (OBB) tespiti dahil olmak üzere genişletilmiş bir görev seti sunar.

Daha da önemlisi, en son teknoloji ürünü YOLO26 her iki dünyanın en iyilerini birleştirir. CNN verimliliğini korurken işlem sonrası yükünü ortadan kaldıran Uçtan Uca NMS'siz Tasarımı (ilk olarak YOLOv10'da öncü olmuştur) uygular. YOLO26 ayrıca, daha hızlı yakınsama için LLM eğitim yeniliklerinden esinlenen MuSGD Optimize Edici'yi de tanıtır. DFL Kaldırma (basitleştirilmiş dışa aktarma ve daha iyi uç/düşük güç cihaz uyumluluğu için Dağıtım Odak Kaybı kaldırılmıştır) ile YOLO26, %43'e kadar Daha Hızlı CPU Çıkarımı sunarak onu uç yapay zeka için kesinlikle en iyi seçenek haline getirir. Ek olarak, ProgLoss + STAL, nesnelerin interneti (IoT), robotik ve hava görüntüsü için kritik olan küçük nesne tanımada kayda değer iyileştirmelerle geliştirilmiş kayıp fonksiyonları sağlar.

Sonuç

YOLOv5 ile RTDETRv2 arasında seçim yapmak büyük ölçüde dağıtım kısıtlamalarına bağlıdır. RTDETRv2, güçlü transformer dikkat mekanizmalarını kullanarak mAP'nin sınırlarını zorlar ancak bellek ve hesaplama yükü açısından ağır bir maliyet getirir.

Buna karşılık Ultralytics YOLOv5, bulut sunucularından mikrodenetleyicilere kadar her yerde sorunsuz çalışan, kanıtlanmış, oldukça optimize edilmiş ve çok yönlü bir çözüm sunar. Kesintisiz dağıtım araçlarıyla birlikte mümkün olan en yüksek doğruluğu arayan ekipler için, Ultralytics ekosistemi içinde YOLO26'ya yükseltme yapmak, modern görü yapay zekası uygulamaları için kesin en son teknoloji çözümü sağlar.

Yorumlar