YOLOv5 ve RTDETRv2#
Bilgisayarlı görü alanı son birkaç yılda önemli ölçüde genişledi ve geliştiricilere karmaşık görsel görevleri çözmek için çok çeşitli mimariler sundu. En popüler yaklaşımlar arasında Evrişimli Sinir Ağları (CNN'ler) ve Algılama Transformer'ları (DETR'ler) bulunuyor.
Bu kılavuz, bu kategorilerdeki iki önemli model arasında ayrıntılı bir teknik karşılaştırma sunuyor: son derece verimli ve yaygın olarak benimsenen, CNN tabanlı bir model olan Ultralytics YOLOv5 ile son teknoloji ürünü, Transformer tabanlı bir gerçek zamanlı nesne algılayıcı olan RTDETRv2.
Ultralytics YOLOv5: Verimlilikte Sektör Standardı#
Yayımlanmasından bu yana Ultralytics YOLOv5, dünya çapında binlerce ticari uygulamaya ve araştırma projesine güç vererek yapay zekâ topluluğunun temel taşlarından biri hâline geldi. Tamamen PyTorch çerçevesi üzerine kurulan model, gerçek zamanlı performanstan ödün vermeden sezgisel bir geliştirici deneyimine öncelik verdi.
Temel Özellikler:
- Yazar: Glenn Jocher
- Kuruluş: Ultralytics
- Tarih: 2020-06-26
- Bağlantılar: GitHub Deposu
Mimari ve Güçlü Yönler#
YOLOv5, bellek kullanımını son derece düşük tutarken özellik çıkarma verimliliğini en üst düzeye çıkarmak için tasarlanmış, kolaylaştırılmış bir CNN mimarisinden yararlanıyor. Güçlü bir çok ölçekli özellik birleştirme bileşimi oluşturmak için CSPDarknet omurgası ve PANet boyun yapısı kullanıyor.
YOLOv5'in başlıca avantajlarından biri Performans Dengesi. Hız ve doğruluk arasında olağanüstü bir denge kurarak model dağıtımı için NVIDIA Jetson cihazlar ve akıllı telefonlar gibi kaynakları kısıtlı donanımlarda ideal bir seçenek hâline geliyor.
Ayrıca YOLOv5, benzersiz bir Çok Yönlülük sunuyor. Yalnızca sınırlayıcı kutu tahminleriyle kısıtlı modellere kıyasla YOLOv5, görüntü sınıflandırmayı ve örnek segmentasyonunu yerel olarak destekleyerek farklı görsel görevler için birleşik bir çerçeve sağlıyor. Eğitim verimliliği de dikkat çekici; eğitim sırasında Transformer tabanlı mimarilere kıyasla çok daha az CUDA belleği gerektiriyor.
Zayıf Yönler#
Daha eski bir CNN çerçevesine dayanması nedeniyle YOLOv5, yinelenen sınırlayıcı kutuları ortadan kaldırmak için son işlemede Maksimum Olmayan Bastırma (NMS) kullanır. Ultralytics çerçevesinde son derece optimize edilmiş olsa da NMS, özel uç NPU'larda zaman zaman gecikme darboğazlarına yol açabilir.
RTDETRv2: Baidu'nun Gerçek Zamanlı Transformer'ları#
RTDETRv2 (Gerçek Zamanlı Algılama Transformer'ı v2), gerçek zamanlı nesne algılamada Transformer mimarilerinin uygulanmasında önemli bir sıçramayı temsil ediyor ve standart DETR'ları tarihsel olarak zorlayan hesaplama verimsizliklerini gideriyor.
Temel Özellikler:
- Yazarlar: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang ve Yi Liu
- Kurum: 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 önceki modelini geliştiriyor. Transformer'ın öz dikkat mekanizması modele görüntü bağlamını bütünsel olarak anlama olanağı vererek nesnelerin ciddi biçimde örtüştüğü karmaşık sahnelerde olağanüstü performans göstermesini sağlıyor.
RTDETRv2'nin belirleyici özelliklerinden biri uçtan uca, NMS'siz tasarımıdır. Çapa kutularına veya NMS son işlemesine ihtiyaç duymadan nesne sorgularını doğrudan tahmin ederek çıkarım işlem hattını basitleştirir. Bu mimari, COCO gibi kıyaslama veri kümelerinde etkileyici bir mAP (ortalama hassasiyet) değerine ulaşır.
Zayıf Yönler#
Gerçek zamanlı yeteneklerine rağmen RTDETRv2'nin bellek gereksinimleri, YOLO modellerinden belirgin ölçüde yüksektir. Transformer'lardaki dikkat mekanizmaları, dizi uzunluğuna göre ikinci dereceden ölçeklenir; bu durum büyük GPU kümeleri kullanılmadığında yüksek çözünürlüklü eğitim sırasında bellek yetersiz hatalarına yol açabilir. Ayrıca Ultralytics ekosisteminin kullanıma hazır çok yönlülüğünden yoksundur ve temel olarak 2B nesne algılamaya odaklanıp segmentasyon veya poz tahmini için yerel destek sunmaz.
RTDETRv2 hakkında daha fazla bilgi edin
Performans Karşılaştırma Tablosu#
Bu mimarileri nesnel biçimde değerlendirmek için performans ölçütlerini derledik. Kalın vurgulanan değerler, test edilen ölçekler arasında en verimli veya en yüksek performanslı ölçütleri gösteriyor.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
RTDETRv2-x en yüksek mutlak mAP değerine ulaşırken YOLOv5n'in yaklaşık 40 katı parametre gerektiriyor. Kısıtlı donanımlarda çalışan yüksek hızlı uygulamalarda Ultralytics modelleri tutarlı biçimde en iyi hesaplama verimliliğini sunuyor.
Ultralytics Ekosisteminin Avantajı#
Bir modeli araştırma not defterinden üretim ortamına taşırken, modeli çevreleyen yazılım, sinir ağı mimarisi kadar önemlidir. Ultralytics tarafından sunulan İyi Bakımı Yapılan Ekosistem, geliştirme yaşam döngüsünü önemli ölçüde hızlandırır.
Eşsiz Kullanım Kolaylığı#
Ultralytics modelleri, son derece akıcı bir kullanıcı deneyimine öncelik verir. Özel bir model eğitmek, doğrulama çalıştırmak veya TensorRT ya da ONNX gibi donanıma özgü biçimlere dışa aktarmak istiyor ol, Ultralytics Python API bunu yalnızca birkaç satır kodla yapmanı sağlar.
Aşağıda, bir Ultralytics modeliyle eğitim ve çıkarım çalıştırmanın ne kadar kolay olduğunu gösteren pratik bir kod örneği yer alıyor:
from ultralytics import YOLO
# Modeli başlat (ağırlıklar otomatik olarak indirilir)
model = YOLO("yolov5su.pt") # YOLOv5u: ultralytics paketi için anchorsız YOLOv5 ağırlıkları
# Modeli COCO8 veri kümesinde eğit
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Çevrimiçi bir görüntü üzerinde çıkarım yap
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Sonuç görüntüsünü sınırlayıcı kutularla görüntüle
inference_results[0].show()Bu basit ve birleşik API, Weights & Biases ve Comet gibi araçlarla deney takibi entegrasyonlarını yerel olarak destekler; böylece geliştiriciler karmaşık tekrarlayan kodlar yazmadan ölçümleri kolayca kaydedebilir.
Kullanım Alanları ve Öneriler#
YOLOv5 ile RT-DETR arasındaki seçim, projenin özel gereksinimlerine, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.
YOLOv5'i Ne Zaman Seçmeli?#
YOLOv5 şu durumlar için güçlü bir seçenektir:
- Üretimde Kendini Kanıtlamış Sistemler: YOLOv5'in uzun süreli istikrar geçmişine, kapsamlı belgelerine ve geniş topluluk desteğine değer verilen mevcut dağıtımlar.
- Kaynakları Kısıtlı Eğitim: YOLOv5'in verimli eğitim işlem hattının ve daha düşük bellek gereksinimlerinin avantaj sağladığı, GPU kaynaklarının sınırlı olduğu ortamlar.
- Kapsamlı Dışa Aktarma Biçimi Desteği: ONNX, TensorRT, CoreML ve LiteRT dâhil birçok biçimde dağıtım gerektiren projeler.
RT-DETR Ne Zaman Seçilmeli?#
RT-DETR şu durumlarda önerilir:
- Transformer Tabanlı Tespit Araştırmaları: NMS kullanmadan uçtan uca nesne tespiti için dikkat mekanizmalarını ve Transformer mimarilerini inceleyen projeler.
- Gecikme Esnekliğinin Olduğu Yüksek Doğruluk Gerektiren Senaryolar: Tespit doğruluğunun en önemli öncelik olduğu ve biraz daha yüksek çıkarım gecikmesinin kabul edilebildiği uygulamalar.
- Büyük Nesne Tespiti: Transformer'ların genel dikkat mekanizmasının doğal bir avantaj sağladığı, çoğunlukla orta ve büyük nesneler içeren sahneler.
Ultralytics'i (YOLO26) Ne Zaman Seçmeli#
Yeni projelerin çoğu için Ultralytics YOLO26, performans ve geliştirici deneyiminin en iyi bileşimini sunar:
- NMS Olmadan Uç Dağıtımı: Maksimum Olmayan Bastırma son işleminin karmaşıklığı olmadan tutarlı ve düşük gecikmeli çıkarım gerektiren uygulamalar.
- Yalnızca CPU Kullanılan Ortamlar: YOLO26'nın CPU'da %43'e varan daha hızlı çıkarımının belirleyici bir avantaj sağladığı, özel GPU hızlandırması bulunmayan cihazlar.
- Küçük Nesne Algılama: ProgLoss ve STAL'ın çok küçük nesnelerde doğruluğu önemli ölçüde artırdığı havadan 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üntü işleme projesine başlıyorsan, Ultralytics modellerinin en yeni nesillerini incelemen önemle tavsiye edilir.
YOLOv5 son derece güvenilir olmaya devam ederken YOLO11, Yönlendirilmiş Sınırlayıcı Kutu (OBB) algılama dâhil olmak üzere gelişmiş doğruluk ve genişletilmiş görev seçenekleri sunar.
Daha da önemlisi, en yeni teknolojiye sahip YOLO26 her iki dünyanın da en iyi yönlerini bir araya getirir. YOLO26, CNN verimliliğini korurken son işleme yükünü ortadan kaldıran Uçtan Uca NMS'siz Tasarımı (ilk kez YOLOv10 ile kullanıma sunulmuştur) uygular. YOLO26 ayrıca daha hızlı yakınsama için LLM eğitimindeki yeniliklerden esinlenen MuSGD İyileştiricisini sunar. Dışa aktarımı kolaylaştırmak ve uç/düşük güçlü cihazlarla uyumluluğu artırmak amacıyla Distribution Focal Loss'un kaldırıldığı DFL'nin Kaldırılması sayesinde YOLO26, CPU'da %43'e Varan Hızlı Çıkarım sunarak uç yapay zekâ için en iyi seçenek hâline gelir. Ayrıca ProgLoss + STAL, IoT, robotik ve hava görüntüleri için kritik öneme sahip küçük nesne tanımada kayda değer iyileşmeler sağlayan gelişmiş kayıp fonksiyonları sunar.
Sonuç#
YOLOv5 ile RTDETRv2 arasındaki seçim büyük ölçüde dağıtım kısıtlamalarına bağlıdır. RTDETRv2, güçlü Transformer dikkat mekanizmalarından yararlanarak mAP sınırlarını zorlarken bellek ve hesaplama yükü açısından ciddi maliyet getirir.
Buna karşılık Ultralytics YOLOv5, bulut sunucularından mikrodenetleyicilere kadar her yerde sorunsuz çalışan, kendini kanıtlamış, yüksek düzeyde optimize edilmiş ve çok yönlü bir çözüm sunar. Sorunsuz 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 geçmek, modern görüntü işleme yapay zekâsı uygulamaları açısından kesin ve en ileri çözümü sunar.