YOLOv7 ve YOLOX#
Bilgisayarlı görü alanının gelişimi, gerçek zamanlı nesne algılamadaki hızlı ilerlemelerle şekillendi. Bu yolculuktaki iki önemli dönüm noktası YOLOv7 ve YOLOX'tir. Her iki model de hız ve doğruluk sınırlarını zorlarken, sonuçlarına ulaşmak için farklı mimari felsefeler benimsedi. Bu kılavuz, bu iki güçlü model arasında kapsamlı bir teknik karşılaştırma sunarak bilgisayarlı görü projelerin için doğru mimariyi seçmene yardımcı olur.
Modellere Giriş#
Bu modellerin kökenlerini ve temel tasarım tercihlerini anlamak, onları modern makine öğrenimi operasyonlarında etkili bir şekilde kullanıma almak için kritik öneme sahiptir.
YOLOv7 Ayrıntıları#
CSPNet ve Scaled-YOLOv4 mimarilerinin bakımını yapan araştırmacılar tarafından geliştirilen YOLOv7, çıkarım maliyetini artırmadan doğruluğu en üst düzeye çıkarmak için "trainable bag-of-freebies" yaklaşımını ortaya koydu.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Belgeler: Ultralytics YOLOv7 Belgeleri
YOLOv7 hakkında daha fazla bilgi edin
YOLOX Ayrıntıları#
YOLOX ise farklı bir yol izleyerek paradigmayı anchor-free algılamaya geri taşıdı ve güçlü performansı korurken head mimarisini büyük ölçüde sadeleştirdi.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş: Megvii
- Tarih: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Belgeler: YOLOX Resmi Belgeleri
YOLOX hakkında daha fazla bilgi edin
Mimari Farklar ve Yenilikler#
YOLOv7 ile YOLOX arasındaki temel farklar, özellik çıkarma, sınırlayıcı kutu tahmini ve etiket atama yaklaşımlarında yatar.
YOLOX: Çapasız Öncü#
YOLOX, anchor-free tasarıma geçiş yaparak YOLO ailesinde devrim yarattı. Geleneksel anchor tabanlı algılayıcılar, anchor kutularının kümelenmesi için veri kümesine büyük ölçüde bağlı olabilen karmaşık sezgisel ayarlamalar gerektirir. YOLOX, anchor kutularını ortadan kaldırarak tasarım parametrelerinin sayısını önemli ölçüde azalttı. Ayrıca YOLOX, sınıflandırma ve konumlandırma görevlerini ayrı ağ dallarına ayıran ayrıştırılmış bir head kullanır. Bu, bir nesneyi sınıflandırma ile nesnenin uzamsal koordinatlarını geriletme arasındaki doğuştan gelen çelişkiyi çözer. YOLOX ayrıca eğitim sırasında pozitif örnekleri dinamik olarak tahsis eden SimOTA gibi gelişmiş etiket atama stratejilerini de entegre eder.
YOLOv7: Genişletilmiş Verimli Katman Birleştirme#
YOLOv7, anchor tabanlı yöntemlere geri döndü ancak Genişletilmiş Verimli Katman Birleştirme Ağı (E-ELAN) yaklaşımını ortaya koydu. E-ELAN, gradyan yolunun uzunluğunu optimize ederek ağın farklı derinliklerde etkili bir şekilde öğrenmesini sağlar. Mimari, yeniden parametreleştirme tekniklerine büyük ölçüde dayanır ve hassasiyetten ödün vermeden hızı artırmak için çıkarım sırasında evrişim katmanlarını birleştirir. YOLOv7'nin "bag-of-freebies" stratejisi, planlı yeniden parametreleştirilmiş evrişimler ve coarse-to-fine lead guided label assignment gibi yenilikler içerir; bunlar modelin Ortalama Ortalama Hassasiyetini dikkate değer seviyelere taşır.
YOLOX, anchor-free kurulumu sayesinde dağıtım işlem hatlarını sadeleştirmiş olsa da modern Ultralytics mimarileri bu yaklaşımı daha da geliştirerek yeni nesillerde önceden tanımlanmış kutu gereksinimini tamamen ortadan kaldırdı.
Performans Karşılaştırması#
Bu modelleri üretimde değerlendirirken doğruluk ile hesaplama verimliliğini dengelemek önemlidir. Aşağıdaki tablo, en iyi performans gösteren metrikleri kalın vurgulayarak ödünleşimleri gösterir.
| 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 karmaşık veri kümeleri için olağanüstü doğruluk sunar. Buna karşılık YOLOX-Nano, son derece kısıtlı kaynaklar için büyük ölçüde 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 Yöntemleri ve Ekosistem#
Araştırmacılar ve geliştiriciler için kritik bir faktör uygulama kolaylığıdır. Geçmişte eski YOLO sürümleri, büyük ölçüde özelleştirilmiş C++ betikleri veya karmaşık bağımlılık yönetimi gerektiriyordu.
Ultralytics Ekosisteminin Avantajı#
Günümüzde bu mimarilerden yararlanmanın en etkili yolu, bakımı iyi yapılan Ultralytics ekosistemidir. Ultralytics, eğitim, doğrulama ve dağıtımı büyük ölçüde kolaylaştıran birleşik ve son derece sezgisel bir Python API sunar.
- Kullanım Kolaylığı: Yalnızca birkaç satır kodla bir eğitim döngüsü başlatabilir ve ham PyTorch uygulamalarıyla ilişkili dik öğrenme eğrisini azaltabilirsin.
- 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 sayede geliştiriciler tüketici donanımında batch boyutlarını en üst düzeye çıkarabilir.
- Çok Yönlülük: Ekosistem, basit sınırlayıcı kutuların ötesinde Örnek Bölütleme ve Poz Tahmini gibi görevlere zahmetsizce genişler.
Aşağıda, Ultralytics API'sini kullanarak bir modelin nasıl eğitileceğini gösteren %100 çalıştırılabilir bir örnek yer alıyor:
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 işlem hattını standartlaştıran geliştiriciler, ağırlıklarını TensorRT veya ONNX gibi biçimlere zahmetsizce aktarabilir ve hedef donanımda yüksek hızlı çıkarım sağlayabilir.
İdeal Kullanım Alanları ve Gerçek Dünya Uygulamaları#
YOLOX ile 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üçlü cihazlarda dağıtım için son derece uygundur. Raspberry Pi üzerinde akıllı bir güvenlik kamerası geliştiriyorsan YOLOX'in basit anchor-free evrişimleri edge hızlandırıcılara kolayca uyarlanır.
- Yüksek Aslına Uygunlukta Analiz için YOLOv7: Yüksek çözünürlüklü uydu görüntülerini işliyorsan veya karmaşık üretim kalite kontrolü gerçekleştiriyorsan, üst düzey NVIDIA GPU'larla desteklenen YOLOv7x'in yüksek mAP değeri en küçük anomalilerin bile algılanmasını sağlar.
Gelecek: Ultralytics YOLO26'ya Yükseltme#
YOLOv7 ve YOLOX ortaya çıktıkları dönemde çığır açmış olsalar da bilgisayarlı görü alanı önemli ölçüde ilerledi. Yeni dağıtımlar için geliştiriciler, Ocak 2026'da yayımlanan Ultralytics YOLO26 modelini değerlendirmelidir. Bu son teknoloji model, en iyi mimari teorileri üretime hazır nihai bir sistemde birleştirir.
Yükseltmenin neden şiddetle önerildiği aşağıda açıklanıyor:
- Uçtan Uca NMS'siz Tasarım: YOLO26, son işleme sırasında Maksimum Olmayan Bastırmayı (NMS) doğal olarak ortadan kaldırır. İlk olarak YOLOv10 ile öncülüğü yapılan bu yaklaşım, sürekli düşük gecikme sağlar ve NMS donanım desteği bulunmayan cihazlarda dağıtımı kolaylaştırır.
- DFL'nin Kaldırılması: YOLO26, Distribution Focal Loss'u kaldırarak düşük güçlü edge cihazlarla çok daha iyi uyumluluk ve basit ONNX dışa aktarımları sağlar.
- MuSGD Optimizer: LLM eğitimindeki yeniliklerden ilham alan YOLO26, daha hızlı yakınsama ve son derece kararlı eğitim dinamikleri sağlayan hibrit bir MuSGD optimizer kullanır.
- %43'e Kadar Daha Hızlı CPU Çıkarımı: Gerçek dünya donanımları için yoğun biçimde optimize edilen YOLO26, pahalı GPU altyapısı gerektirmeden standart CPU'larda üstün performans gösterir.
- ProgLoss + STAL: Bu gelişmiş loss işlevleri, havadan drone denetimleri ve gelişmiş IoT ağları için kritik bir özellik olan küçük nesne tanımayı büyük ölçüde iyileştirir.
Nesne algılama, bölütleme ve daha fazlasında en iyi performans dengesini arayan geliştiriciler için modelleri Ultralytics Platformu üzerinden dağıtmak, benzersiz ve sürtünmesiz bir deneyim sunar.
Sonuç#
Hem YOLOX hem de YOLOv7, açık kaynaklı görsel yapay zekânın yönünü şekillendiren önemli teknikler ortaya koydu. YOLOX, anchor-free ayrıştırılmış head'lerin uygulanabilirliğini kanıtlarken YOLOv7, gradyan yolu yeniden parametreleştirmenin muazzam gücünü gösterdi. Günümüzde Ultralytics ekosisteminden yararlanmak, bu tarihî mimarilerin potansiyelini en üst düzeye çıkarmanı veya bir sonraki bilgisayarlı görü uygulamanı geleceğe hazırlamak için en gelişmiş YOLO26 modeline sorunsuzca geçiş yapmanı sağlar.