YOLOv7 vs YOLOX: Gerçek Zamanlı Nesne Algılama Mimarilerine Derinlemesine Bir Bakış
Bilgisayar görüşünün hızla gelişen dünyasında, doğru nesne algılama modelini seçmek başarı için kritik öneme sahiptir. Bu yolculuktaki iki önemli kilometre taşı YOLOv7 ve YOLOX'tur. Her iki mimari de piyasaya sürüldüklerinde hız ve doğruluk sınırlarını zorlarken, algılama sorununu çözmek için temelden farklı yaklaşımlar benimsediler. Bu kılavuz, geliştiricilerin, araştırmacıların ve mühendislerin kendi özel kullanım durumları için bilinçli kararlar vermelerine yardımcı olmak amacıyla ayrıntılı bir teknik karşılaştırma sunmaktadır.
Modele Genel Bakış ve Kökenleri
Bu modellerin soy ağacını anlamak, mimari kararları için bağlam sağlar.
YOLOv7: Ücretsiz Hediyelerle Dolu Güç Merkezi
Temmuz 2022'de piyasaya sürülen YOLOv7, zamanının en hızlı ve en doğru gerçek zamanlı nesne algılayıcısı olarak tasarlanmıştır. Çıkarım maliyetini artırmadan doğruluğu artırmak için E-ELAN (Genişletilmiş Verimli Katman Birleştirme Ağları) gibi mimari optimizasyonlara ve eğitilebilir bir "bedelsizler paketi"ne yoğunlaştı.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş:Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2022-07-06
- Arxiv:2207.02696
- GitHub:WongKinYiu/yolov7
YOLOv7 hakkında daha fazla bilgi edinin.
YOLOX: Bağlantısız Evrim
Megvii tarafından 2021'de piyasaya sürülen YOLOX, önceki YOLO sürümlerine (YOLOv3 ve YOLOv5 gibi) hakim olan çapa tabanlı mekanizmadan uzaklaşarak önemli bir değişim temsil etti. Ayrık bir kafa ve çapa içermeyen bir tasarım entegre ederek YOLOX, eğitim sürecini basitleştirdi ve performansı artırarak araştırma ile endüstriyel uygulama arasındaki boşluğu doldurdu.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş:Megvii
- Tarih: 2021-07-18
- Arxiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
Teknik Performans Karşılaştırması
Aşağıdaki tablo, COCO veri kümesi üzerindeki karşılaştırılabilir modellerin performans metriklerini vurgulamaktadır.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (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 |
Mimari Temel Farklılıklar
Çapa Mekanizmaları:
- YOLOv7: Çapa tabanlı bir yaklaşım kullanır. Hiperparametre ayarlamasına duyarlı olabilen ancak MS COCO gibi standart veri kümelerinde genellikle sağlam performans gösteren önceden tanımlanmış çapa kutuları gerektirir.
- YOLOX: Çapa içermeyen bir tasarım benimsemiştir. Bu, çapa kutularını kümeleme (K-means gibi) ihtiyacını ortadan kaldırır ve tasarım parametrelerinin sayısını azaltarak model yapılandırmasını basitleştirir.
Ağ Tasarımı:
- YOLOv7: Gradyan yollarını çeşitli özellikleri etkili bir şekilde öğrenmeye yönlendiren E-ELAN mimarisini barındırır. Ayrıca, eğitim doğruluğundan ödün vermeden hızı artırmak için çıkarım sırasında katmanları birleştirmek amacıyla "planlı yeniden parametrelendirme" kullanır.
- YOLOX: Sınıflandırma ve regresyon görevlerini ayıran Ayrık Kafa kullanır. Bu genellikle daha hızlı yakınsamaya ve daha iyi doğruluğa yol açar, ancak birleşik bir kafaya kıyasla parametre sayısını biraz artırabilir.
Etiket Ataması:
- YOLOv7: Kabadan inceye doğru yönlendirilmiş bir etiket atama stratejisi kullanır.
- YOLOX: Atama sorununu optimal bir taşıma görevi olarak ele alan ve eğitim kararlılığını artıran dinamik bir etiket atama stratejisi olan SimOTA (Basitleştirilmiş Optimal Taşıma Ataması) tanıttı.
Modern Standart: YOLO26
YOLOv7 ve YOLOX devrim niteliğinde olsa da, alan ilerlemiştir. Ocak 2026'da piyasaya sürülen yeni YOLO26, her iki dünyanın da en iyilerini birleştirir. YOLOX'un çapa içermeyen felsefesine benzer ancak daha da geliştirilmiş, yerel uçtan uca NMS içermeyen bir tasarıma sahiptir ve %43'e kadar daha hızlı CPU çıkarımı için Dağıtım Odak Kaybını (DFL) kaldırır.
Eğitim ve Ekosistem
Geliştirici deneyimi genellikle ham performans metrikleri kadar önemlidir. İşte Ultralytics ekosistemi burada önemli ölçüde farklılaşır.
Kullanım Kolaylığı ve Entegrasyon
YOLOX'u eğitmek genellikle Megvii kod tabanında gezinmeyi gerektirir; bu, sağlam olsa da, üst düzey API'lere alışkın kullanıcılar için daha dik bir öğrenme eğrisi sunabilir. Tersine, YOLOv7'yi Ultralytics aracılığıyla çalıştırmak sorunsuz bir deneyim sunar.
Ultralytics python API'si iş akışını birleştirir. Model adı dizesini değiştirerek YOLOv7, YOLOv10 veya hatta YOLO11 arasında geçiş yapabilirsiniz. Bu esneklik, hızlı prototipleme ve kıyaslama için hayati öneme sahiptir.
Kod Örneği: Tutarlı Arayüz
Ultralytics paketi kullanarak bir YOLOv7 modelini nasıl eğitebileceğinizi burada bulabilirsiniz. Aynı kod yapısı YOLO26 gibi daha yeni modeller için de geçerlidir.
from ultralytics import YOLO
# Load a YOLOv7 model (or swap to "yolo26n.pt" for the latest)
model = YOLO("yolov7.pt")
# Train on a custom dataset
# Ultralytics automatically handles data augmentation and logging
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Bellek ve Verimlilik
Ultralytics modelleri, verimli kaynak kullanımlarıyla tanınır.
- Eğitim Verimliliği: Ultralytics çatısı altındaki YOLOv7, ham uygulamalara veya RT-DETR gibi transformatör tabanlı modellere kıyasla daha az CUDA belleği kullanacak şekilde optimize edilmiştir, bu da tüketici donanımında daha büyük batch boyutlarına olanak tanır.
- Dağıtım: Modelleri üretim formatlarına aktarmak tek komutluk bir işlemdir. Hedef ister ONNX, TensorRT, veya CoreML, Ultralytics
exportmodu, graf dönüştürme karmaşıklığını yönetir.
İdeal Kullanım Senaryoları
Bu modeller arasında seçim yapmak genellikle dağıtım ortamınızın özel kısıtlamalarına bağlıdır.
YOLOv7 Ne Zaman Tercih Edilmeli?
YOLOv7, en yüksek doğruluğun gerekli olduğu yüksek performanslı GPU ortamları için güçlü bir aday olmaya devam etmektedir.
- Üst Düzey Gözetim: Uzaktaki küçük nesneleri detect etmenin kritik olduğu güvenlik alarm sistemleri için idealdir.
- Endüstriyel Denetim: Sağlam özellik çıkarımı, montaj hatlarında kusur detect etme gibi karmaşık üretim görevleri için uygun hale getirir.
- GPU Hızlandırmalı Uç Cihazlar: NVIDIA Jetson Orin serisi gibi cihazlar, YOLOv7'nin yeniden parametrelendirilmiş mimarisini etkili bir şekilde kullanabilir.
Ne Zaman YOLOX Seçmeli
YOLOX, genellikle araştırma ortamlarında veya belirli eski uç senaryolarında tercih edilir.
- Akademik Araştırma: Çapa-serbest tasarım ve temiz kod tabanı, YOLOX'u yeni detect başlıkları veya atama stratejileri deneyen araştırmacılar için mükemmel bir temel haline getirir.
- Mobil Dağıtım (Nano/Tiny): YOLOX-Nano ve Tiny varyantları, YOLOv6 Lite serisinin verimlilik hedeflerine benzer şekilde, mobil CPU'lar için yüksek düzeyde optimize edilmiştir.
- Eski Kod Tabanları: Halihazırda MegEngine'e veya belirli PyTorch çatallarına derinlemesine entegre olmuş ekipler, YOLOX'u sürdürmeyi daha kolay bulabilir.
Gelecek: YOLO26'ya Geçiş
YOLOv7 ve YOLOX kendi amaçlarına hizmet etse de, YOLO26 bir sonraki büyük adımı temsil etmektedir. Her iki öncülünün de sınırlamalarını ele alır:
- NMS-Serbest: YOLOv7'nin (NMS gerektiren) ve YOLOX'un (çapaları basitleştiren ancak yine de NMS kullanan) aksine, YOLO26 doğal olarak uçtan uca bir tasarım kullanır. Bu, işlem sonrası gecikme darboğazını tamamen ortadan kaldırır.
- MuSGD Optimizatörü: LLM eğitiminden esinlenen bu optimizatör, bilgisayar görüşü görevleri için eğitimi stabilize ederek eski YOLO versiyonlarında kullanılan standart SGD'yi geride bırakır.
- Görev Çok Yönlülüğü: YOLOX öncelikli olarak detect'e odaklanırken, YOLO26 Örnek Segmentasyon, Poz Tahmini ve Yönlendirilmiş Sınırlayıcı Kutular (OBB) genelinde son teknoloji performans sunar.
Sonuç
Hem YOLOv7 hem de YOLOX, nesne detect etme alanındaki gelişmelere önemli katkılarda bulunmuştur. YOLOv7, E-ELAN gibi zekice mimariler aracılığıyla çapa tabanlı yöntemlerin doğrulukta hala baskın olabileceğini kanıtladı. YOLOX, YOLO ailesinde çapa-serbest detect'i popülerleştirerek mevcut durumu başarıyla sorguladı.
Bugün yeni projelere başlayan geliştiriciler için Ultralytics ekosisteminden yararlanmak en stratejik seçimdir. Eski karşılaştırmalar için YOLOv7'ye erişim sağlarken, YOLO26'nın üstün hızına ve doğruluğuna doğrudan bir yol sunar. Modelleri değiştirme kolaylığı, kapsamlı belgeleme ve topluluk desteğiyle birleşerek bilgisayar görüşü projelerinizin geleceğe hazır olmasını sağlar.