RTDETRv2 ve YOLOX: Gerçek Zamanlı Nesne Algılama için Teknik Karşılaştırma
Bilgisayar görüşü alanındaki hızlı gelişmelerde, hız ve doğruluk arasındaki optimum dengeyi bulma arayışı yenilikleri yönlendirmeye devam ediyor. İki farklı yaklaşım öncü olarak ortaya çıkmıştır: Transformatör tabanlı RTDETRv2 ve ankrajsız CNN tabanlı YOLOX. Bu karşılaştırma, geliştiricilerin özel ihtiyaçları için doğru aracı seçmelerine yardımcı olmak için mimari farklılıklarını, performans metriklerini ve ideal kullanım durumlarını incelemektedir.
Model Genel Bakışları
Teknik detaylara girmeden önce, bu iki etkili modelin kökenlerini ve temel felsefelerini belirleyelim.
RTDETRv2
RTDETRv2 (Gerçek Zamanlı Algılama Dönüştürücü sürüm 2), Transformer mimarilerini gerçek zamanlı uygulamalara getirmede önemli bir adımı temsil eder. Baidu'daki araştırmacılar tarafından geliştirilen bu model, çıkarım gecikmesini artırmadan eğitim kararlılığını ve performansını artıran bir "Bag-of-Freebies" (Bedava Hediyeler Çantası) sunarak orijinal RT-DETR üzerine inşa edilmiştir. Tipik olarak Vision Transformers (ViTs) ile ilişkili yüksek hesaplama maliyetini çözerken, doğruluk açısından geleneksel CNN dedektörlerinden daha iyi performans göstermeyi amaçlar.
- Yazarlar: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang ve Yi Liu
- Kuruluş:Baidu
- Tarih: 2023-04-17 (Orijinal RT-DETR), v2 güncellemeleri takip etti.
- Arxiv:RT-DETRv2: Ücretsiz Ekstralarla Geliştirilmiş Temel Çizgi
- GitHub:RT-DETRv2 Deposu
RTDETRv2 hakkında daha fazla bilgi edinin
YOLOX
YOLOX, 2021'de bağlantısız bir mekanizmaya geçerek ve ayrıştırılmış başlıklar ve SimOTA etiket ataması gibi gelişmiş teknikleri dahil ederek YOLO ailesini yeniden canlandırdı. YOLO serisinin Darknet tarzı backbone özelliğini korurken, mimari değişiklikleri bağlantı tabanlı dedektörlerin birçok sınırlamasını ele aldı ve sonuç olarak uç cihazlarda olağanüstü iyi performans gösteren oldukça verimli ve esnek bir model ortaya çıktı.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş:Megvii
- Tarih: 2021-07-18
- Arxiv:YOLOX: 2021'de YOLO Serisini Aşmak
- GitHub:YOLOX Deposu
YOLOX hakkında daha fazla bilgi edinin
Performans Analizi
RTDETRv2 ve YOLOX arasındaki performans ödünleşimleri farklıdır. RTDETRv2, karmaşık sahneleri ve gizlenmiş nesneleri daha iyi anlamak için transformatörlerin küresel dikkat mekanizmalarından yararlanarak en yüksek doğruluğu (mAP) önceliklendirir. Ancak, bu özellikle GPU bellek kullanımıyla ilgili olarak daha yüksek hesaplama talepleriyle birlikte gelir.
Aksine, YOLOX hız ve verimlilik için optimize edilmiştir. Bağlantısız tasarımı, algılama başlığını basitleştirerek tasarım parametrelerinin sayısını azaltır ve işlem sonrası (NMS) hızını artırır. YOLOX modelleri, özellikle Nano ve Tiny varyantları, donanım kaynaklarının kısıtlı olduğu uç AI dağıtımları için sıklıkla tercih edilir.
Aşağıdaki tablo bu farklılıkları vurgulamaktadır. RTDETRv2 daha yüksek mAP puanları elde etse de, YOLOX-s'nin TensorRT'de daha hızlı çıkarım hızları sağladığına ve bunun da gecikmeye duyarlı uygulamalar için uygunluğunu gösterdiğine dikkat edin.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Mimari Derinlemesine İnceleme
Yapısal farklılıkları anlamak, bu modellerin neden farklı performans gösterdiğini netleştirmeye yardımcı olur.
RTDETRv2: Hibrit Kodlayıcı-Çözücü
RTDETRv2, bir verimli hibrit kodlayıcı sunarak standart DETR modellerinin hesaplama darboğazlarını ele alır. Bu bileşen, ölçek içi etkileşimi (aynı özellik katmanı içinde) ve ölçekler arası füzyonu (katmanlar arasında) ayırarak çok ölçekli özellikleri işler.
- IoU-Farkındalıklı Sorgu Seçimi: RTDETRv2, statik nesne sorguları seçmek yerine, başlatmayı iyileştirerek sınıflandırma puanlarına göre ilk nesne sorguları olarak hizmet etmek üzere sabit sayıda görüntü özelliği seçer.
- Esnek Kod Çözücü: Kod çözücü, çıkarım sırasında sorgu sayılarının dinamik olarak ayarlanmasını destekler ve kullanıcıların yeniden eğitim yapmadan hız ve doğruluk arasında denge kurmasına olanak tanır.
YOLOX: Bağlantısız ve Ayrıştırılmış
YOLOX, YOLOv4 ve YOLOv5'te kullanılan anchor tabanlı paradigmadan uzaklaşır.
- Çapa Olmayan: YOLOX, nesne merkezlerini ve boyutlarını doğrudan tahmin ederek, manuel çapa kutusu tasarımına olan ihtiyacı ortadan kaldırır ve hiperparametre ayarlama karmaşıklığını azaltır.
- Ayrıştırılmış Kafa (Decoupled Head): Sınıflandırma ve regresyon görevlerini ağ kafasının farklı dallarına ayırır. Bu ayrım genellikle daha hızlı yakınsamaya ve daha iyi doğruluğa yol açar.
- SimOTA: Atama sürecini bir Optimal Taşıma problemi olarak gören, global bir optimizasyon maliyetine dayalı olarak pozitif örnekleri dinamik olarak yer doğruluklarına atayan gelişmiş bir etiket atama stratejisidir.
Anchor Tabanlı - Anchorsız Karşılaştırması
Geleneksel detectörler, nesne konumlarını tahmin etmek için önceden tanımlanmış kutular (çapalar) kullanır. YOLOX bu bağımlılığı ortadan kaldırarak mimariyi basitleştirir ve modeli çeşitli nesne şekillerine karşı daha sağlam hale getirir. Bir transformer olan RTDETRv2 ise, çapalar yerine tamamen nesne sorguları kullanır ve ilgili görüntü bölgelerine dinamik olarak katılmayı öğrenir.
Güçlü ve Zayıf Yönler
RTDETRv2
- Güçlü Yönler:
- High Accuracy: COCO benchmarklarında en son teknoloji mAP'ı elde eder.
- Global Bağlam: Transformer dikkat mekanizmaları, uzun menzilli bağımlılıkları etkili bir şekilde yakalar.
- Uyarlanabilirlik: Ayarlanabilir sorgu seçimi, çıkarım zamanında esneklik sağlar.
- Zayıflıklar:
- Kaynak Yoğun: CNN'lere kıyasla eğitim ve çıkarım için önemli miktarda GPU belleği gerektirir.
- Daha Yavaş Eğitim: Transformer'lar genellikle CNN tabanlı mimarilerden daha uzun sürede yakınsar.
YOLOX
- Güçlü Yönler:
- Çıkarım Hızı: Özellikle daha küçük varyantlar (Nano, Tiny, S) olmak üzere son derece hızlıdır.
- Dağıtım Dostu: Daha düşük FLOP'lar ve parametre sayıları nedeniyle uç cihazlarda ve CPU'larda dağıtımı daha kolaydır.
- Sadelik: Bağlantısız tasarım, mühendislik karmaşıklığını azaltır.
- Zayıflıklar:
- Daha Düşük Tepe Doğruluğu: RTDETRv2-x gibi büyük transformatör modellerinin en üst düzey doğruluğuyla eşleşmekte zorlanır.
- Özellik Evrimi: Daha yeni frameworklerde bulunan çok modlu özelliklerin bazılarını içermez.
Ultralytics Avantajı: Neden YOLO11'i Seçmelisiniz?
RTDETRv2 ve YOLOX zorlu modeller olsa da, en son teknolojiye sahip YOLO11 öncülüğünde olan Ultralytics YOLO ekosistemi, genellikle tek tek modellerin faydalarından daha ağır basan kapsamlı bir çözüm sunmaktadır.
- Performans Dengesi: YOLO11, hız ve doğruluk arasında optimum bir denge sağlamak için tasarlanmıştır. Genellikle transformer tabanlı modellerin doğruluğuyla eşleşir veya onu aşarken, YOLO ailesinin çıkarım hızı karakteristiğini korur.
- Kullanım Kolaylığı: Ultralytics, geliştirici deneyimine öncelik verir. Birleşik bir Python API ve CLI ile, modelleri sadece birkaç satır kodla eğitebilir, doğrulayabilir ve dağıtabilirsiniz.
- Bellek Verimliliği: GPU VRAM'i üzerinde ağır olabilen RTDETRv2'nin aksine, YOLO11 hem eğitim hem de çıkarım sırasında oldukça bellek verimlidir. Bu, onu tüketici sınıfı donanıma sahip araştırmacılar ve geliştiriciler için erişilebilir kılar.
- İyi Yönetilen Ekosistem: Ultralytics modelleri, sık güncellemeler, canlı bir topluluk ve kapsamlı dokümantasyon tarafından desteklenmektedir. Ultralytics HUB gibi özellikler, sorunsuz model yönetimini ve bulut eğitimini kolaylaştırır.
- Çeşitlilik: Basit nesne tespitinin ötesinde, YOLO11 yerel olarak örnek segmentasyonunu, poz tahminini, OBB'yi ve sınıflandırmayı desteklerken, YOLOX ve RTDETRv2 öncelikle detect işlemine odaklanmıştır.
- Eğitim Verimliliği: Çeşitli görevler için mevcut önceden eğitilmiş ağırlıklar ve gelişmiş transfer öğrenimi yetenekleriyle YOLO11, yüksek performanslı modelleri eğitmek için gereken süreyi ve enerjiyi önemli ölçüde azaltır.
YOLO11 hakkında daha fazla bilgi edinin
Kod Örneği
Ultralytics, bu gelişmiş modelleri kullanmayı inanılmaz derecede kolaylaştırır. Aşağıda, YOLO11 kullanarak çıkarımın nasıl çalıştırılacağına dair bir örnek verilmiştir ve özellikle Ultralytics, orijinal depoya kıyasla kullanımını önemli ölçüde basitleştirerek RT-DETR'yi de doğrudan desteklemektedir.
from ultralytics import RTDETR, YOLO
# Load the Ultralytics YOLO11 model (Recommended)
model_yolo = YOLO("yolo11n.pt")
# Run inference on an image
results_yolo = model_yolo("path/to/image.jpg")
# Load an RT-DETR model via Ultralytics API
model_rtdetr = RTDETR("rtdetr-l.pt")
# Run inference with RT-DETR
results_rtdetr = model_rtdetr("path/to/image.jpg")
Sonuç
RTDETRv2 ve YOLOX arasındaki seçim nihayetinde özel kısıtlamalarınıza bağlıdır.
- Uygulamanız akademik araştırma veya yüksek hassasiyetli endüstriyel inceleme gibi mutlak en yüksek doğruluğu gerektiriyorsa ve güçlü GPU kaynaklarına erişiminiz varsa RTDETRv2'yi seçin.
- Gecikmenin her milisaniyesinin önemli olduğu Raspberry Pi veya mobil cihazlar gibi kaynak kısıtlı ortamlara dağıtım yapıyorsanız YOLOX'i seçin.
Ancak, gerçek dünya uygulamalarının büyük çoğunluğu için Ultralytics YOLO11 üstün çok yönlü bir seçim olarak ortaya çıkıyor. Modern mimarilerin doğruluk avantajlarını CNN'lerin hızı ve verimliliği ile birleştirir ve bunların hepsi kullanıcı dostu, üretime hazır bir ekosistemde sunulur. İster uçta ister bulutta geliştirme yapıyor olun, YOLO11 başarılı olmak için araçları ve performansı sağlar.
Diğer Karşılaştırmaları İnceleyin
Kararınızı daha iyi bilgilendirmek için, diğer model karşılaştırmalarını keşfetmeyi düşünün:
- YOLO11 - RTDETRv2
- YOLO11 - YOLOX karşılaştırması
- RTDETRv2 ve YOLOv8
- YOLOX - YOLOv8 Karşılaştırması
- YOLOv5 - YOLOX Karşılaştırması