YOLOv7 ve YOLOX: Gerçek Zamanlı Dedektörlerin Teknik Bir Analizi
Bilgisayarlı görüdeki evrim, gerçek zamanlı nesne algılamadaki hızlı ilerlemelerle işaretlenmiştir. Bu yolculuktaki iki kritik dönüm noktası YOLOv7 ve YOLOX'tur. Her iki model de hız ve doğruluk sınırlarını zorlasa da, sonuçlarına ulaşmak için farklı mimari felsefeler benimsediler. Bu rehber, bilgisayarlı görü projelerin için doğru mimariyi seçmene yardımcı olacak şekilde, bu iki güçlü model arasında kapsamlı bir teknik karşılaştırma sunar.
Modellere Giriş
Bu modellerin kökenlerini ve temel tasarım tercihlerini anlamak, onları modern makine öğrenimi operasyonlarında etkili bir şekilde devreye almak için çok önemlidir.
YOLOv7 Detayları
CSPNet ve Scaled-YOLOv4 mimarilerini sürdüren araştırmacılar tarafından geliştirilen YOLOv7, çıkarım maliyetini artırmadan doğruluğu maksimize etmek için bir "eğitilebilir ücretsiz özellikler çantası" (trainable bag-of-freebies) yaklaşımı getirdi.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Institute of Information Science, Academia Sinica, Tayvan
- Tarih: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Dokümanlar: Ultralytics YOLOv7 Dokümantasyonu
YOLOv7 hakkında daha fazla bilgi edinin
YOLOX Detayları
YOLOX, paradigmayı tekrar çapasız (anchor-free) algılamaya kaydırarak ve kafa mimarisini büyük ölçüde basitleştirip güçlü performansı koruyarak farklı bir yol izledi.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş: Megvii
- Tarih: 18-07-2021
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Dokümanlar: YOLOX Resmi Dokümanları
YOLOX hakkında daha fazla bilgi edin
Mimari Farklılıklar ve Yenilikler
YOLOv7 ve YOLOX arasındaki temel farklar; özellik çıkarımı, sınırlayıcı kutu tahmini ve etiket atama yaklaşımlarında yatar.
YOLOX: Çapasız Öncü
YOLOX, çapasız (anchor-free) bir tasarıma geçiş yaparak YOLO ailesinde devrim yarattı. Geleneksel çapa tabanlı dedektörler, çapa kutusu kümeleme için oldukça veri seti bağımlı olabilen karmaşık buluşsal ayarlamalara ihtiyaç duyar. Çapa kutularını ortadan kaldıran YOLOX, tasarım parametrelerinin sayısını önemli ölçüde azalttı. Ayrıca YOLOX, sınıflandırma ve yerelleştirme görevlerini ayrı ağ dallarına ayıran bir ayrıştırılmış kafa (decoupled head) kullanır. Bu, bir nesneyi sınıflandırma ile uzamsal koordinatlarını regresyonla belirleme arasındaki doğal çelişkiyi çözer. YOLOX ayrıca, eğitim sırasında pozitif örnekleri dinamik olarak atayan SimOTA gibi gelişmiş etiket atama stratejilerini entegre eder.
YOLOv7: Genişletilmiş Verimli Katman Birleştirme
YOLOv7, çapa tabanlı metodolojilere geri döndü ancak Genişletilmiş Verimli Katman Birleştirme Ağı (E-ELAN)'nı tanıttı. E-ELAN, gradyan yolu uzunluğunu optimize ederek ağın değişen derinliklerde etkili bir şekilde öğrenmesini sağlar. Mimari, çıkarım sırasında evrişimli katmanları birleştirerek hassasiyetten ödün vermeden hızı artıran yeniden parametrelendirme tekniklerine büyük ölçüde güvenir. YOLOv7'nin "ücretsiz özellikler çantası" stratejisi, planlanmış yeniden parametrelendirilmiş evrişimler ve kabadan inceye rehberli etiket atama gibi yenilikleri içerir ve bu da modelin Ortalama Hassasiyetini (mAP) dikkat çekici seviyelere taşır.
YOLOX çapasız kurulumu ile dağıtım hatlarını basitleştirmiş olsa da, modern Ultralytics mimarileri o zamandan beri bu yaklaşımı mükemmelleştirdi ve yeni nesillerde önceden tanımlanmış kutulara olan ihtiyacı tamamen ortadan kaldırdı.
Performans Karşılaştırması
Bu modelleri üretim için değerlendirirken, doğruluk ile hesaplama verimliliğini dengelemek şarttır. Aşağıdaki tablo, en iyi performans gösteren metrikleri kalın yazıyla vurgulayarak ödünleşimleri göstermektedir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Yukarıda görüldüğü gibi, YOLOv7x en yüksek mAP değerine ulaşarak onu karmaşık veri setleri için son derece doğru kılar. Buna karşılık, YOLOX-Nano aşırı kaynak kısıtlamaları için oldukça optimize edilmiştir. Ancak, her iki model de modern mimarilere kıyasla eğitim sırasında nispeten yüksek bellek kullanımı sergiler.
Eğitim Metodolojileri ve Ekosistem
Araştırmacılar ve geliştiriciler için kritik bir faktör, uygulamanın kolaylığıdır. Tarihsel olarak, daha eski YOLO sürümleri yoğun şekilde özelleştirilmiş C++ betikleri veya karmaşık bağımlılık yönetimi gerektiriyordu.
Ultralytics Ekosistem Avantajı
Günümüzde bu mimarileri kullanmanın en etkili yolu, iyi bakılan Ultralytics ekosistemidir. Ultralytics, eğitim, doğrulama ve dağıtımı büyük ölçüde basitleştiren, birleşik ve son derece sezgisel bir Python API sağlar.
- Kullanım Kolaylığı: Sadece birkaç satır kod ile bir eğitim döngüsü başlatabilir, ham PyTorch uygulamalarıyla ilişkili dik öğrenme eğrisini hafifletebilirsin.
- Eğitim Verimliliği: Ultralytics YOLO modelleri, RT-DETR gibi ağır Transformer modellerine kıyasla eğitim sırasında doğal olarak daha az bellek kullanır. Bu, geliştiricilerin tüketici donanımında batch boyutlarını maksimize etmelerini sağlar.
- Çok Yönlülük: Basit sınırlayıcı kutuların ötesinde, ekosistem zahmetsizce Örnek Segmentasyonu ve Poz Tahmini gibi görevlere uzanır.
İşte Ultralytics API'sini kullanarak bir modelin nasıl eğitileceğini gösteren %100 çalıştırılabilir bir örnek:
from ultralytics import YOLO
# Load a pre-trained model
model = YOLO("yolov8n.pt") # Readily available weights for rapid transfer learning
# Train the model efficiently on your custom data
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device="0", # Utilizes optimal CUDA memory management
)
# Export seamlessly to ONNX or TensorRT
model.export(format="onnx")Dışa aktarma hattını standardize ederek, geliştiriciler ağırlıklarını zahmetsizce TensorRT veya ONNX gibi formatlara dönüştürebilir ve hedef donanımda yüksek hızlı çıkarım sağlayabilirler.
İdeal Kullanım Durumları ve Gerçek Dünya Uygulamaları
YOLOX ve YOLOv7 arasında seçim yapmak büyük ölçüde dağıtım hedeflerine bağlıdır:
- Edge AI için YOLOX: YOLOX-Nano ve YOLOX-Tiny varyantları, düşük güç tüketen cihazlarda dağıtım için oldukça uygundur. Bir Raspberry Pi üzerinde akıllı bir güvenlik kamerası kuruyorsan, YOLOX'un basit çapasız evrişimleri uç hızlandırıcılara kolayca uyarlanabilir.
- Yüksek Doğruluklu Analitik için YOLOv7: Yüksek çözünürlüklü uydu görüntülerini işliyorsan veya karmaşık üretim kalite kontrolü süreçleri yürütüyorsan, üst düzey NVIDIA GPU'lar tarafından desteklenen YOLOv7x'in yüksek mAP değeri, en küçük anomalilerin bile tespit edilmesini sağlar.
Gelecek: Ultralytics YOLO26'ya Yükseltme
YOLOv7 ve YOLOX ilk çıktıklarında çığır açıcı olsalar da, bilgisayarlı görü alanı önemli ölçüde ilerledi. Yeni dağıtımlar için geliştiriciler, Ocak 2026'da yayınlanan Ultralytics YOLO26'ya yönelmelidir. Bu son teknoloji model, en iyi mimari teorileri nihai üretime hazır sistemde birleştirir.
Yükseltmenin şiddetle tavsiye edilmesinin nedenleri şunlardır:
- Uçtan Uca NMS-Free Tasarım: YOLO26, post-processing sırasında NMS'yi (Non-Maximum Suppression) yerel olarak ortadan kaldırır. İlk olarak YOLOv10 ile öncülük edilen bu özellik, tutarlı bir şekilde düşük gecikme süresi sağlar ve NMS donanım desteği olmayan cihazlarda dağıtımı basitleştirir.
- DFL Kaldırma: Dağılım Odaklı Kayıp (Distribution Focal Loss) fonksiyonunun kaldırılmasıyla YOLO26, düşük güçlü uç cihazlarla çok daha iyi uyumluluk ve doğrudan ONNX dışa aktarımları sağlar.
- MuSGD Optimize Edici: LLM eğitim yeniliklerinden esinlenen YOLO26, daha hızlı yakınsama ve inanılmaz derecede kararlı eğitim dinamikleri sağlayan hibrit bir MuSGD optimize ediciden yararlanır.
- %43'e Kadar Daha Hızlı CPU Çıkarımı: Gerçek dünya donanımları için yoğun şekilde optimize edilen YOLO26, pahalı GPU altyapısı gerektirmeden standart CPU'larda yüksek performans gösterir.
- ProgLoss + STAL: Bu gelişmiş kayıp fonksiyonları, hava drone denetimleri ve gelişmiş IoT ağları için kritik bir özellik olan küçük nesne tanımayı önemli ölçüde iyileştirir.
Nesne algılama, segmentasyon ve ötesinde en iyi performans dengesini arayan geliştiriciler için, modelleri Ultralytics Platformu üzerinden dağıtmak, benzersiz ve sıfır sürtünmeli bir deneyim sunar.
YOLO26 hakkında daha fazla bilgi edin
Sonuç
Hem YOLOX hem de YOLOv7, açık kaynak vizyon AI'nın gidişatını şekillendiren kritik teknikler tanıttı. YOLOX, çapasız ayrıştırılmış kafaların uygulanabilirliğini kanıtlarken, YOLOv7 gradyan yolu yeniden parametrelendirmenin muazzam gücünü gösterdi. Bugün, Ultralytics ekosisteminden yararlanmak, bu tarihi mimarilerden maksimum potansiyeli çıkarmanı veya bir sonraki bilgisayarlı görü uygulamanı geleceğe hazırlamak için sorunsuz bir şekilde en son teknoloji YOLO26 modeline geçiş yapmanı sağlar.