YOLOv7 ve YOLOX#
Bilgisayarlı görüdeki evrim, gerçek zamanlı nesne tespitindeki hızlı gelişmelerle damgalandı. Bu yolculuktaki iki önemli dönüm noktası YOLOv7 ve YOLOX'tur. Her iki model de hız ve doğruluk sınırlarını zorlarken, sonuçlara ulaşmak için farklı mimari felsefeler benimsediler. 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 etkin bir şekilde devreye alman 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 en üst düzeye çıkarmak için "eğitilebilir bedava özellikler torbası" (trainable bag-of-freebies) yaklaşımını tanıttı.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Organization: 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 Documentation
YOLOv7 hakkında daha fazla bilgi edinin
YOLOX Detayları#
YOLOX, paradigmayı tekrar çapasız (anchor-free) tespite kaydırarak, sağlam performansı korurken baş (head) mimarisini büyük ölçüde basitleştirerek farklı bir yol izledi.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Organization: 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 edinin
Mimari Farklılıklar ve Yenilikler#
YOLOv7 ve YOLOX arasındaki temel farklar, özellik çıkarma, sınırlayıcı kutu (bounding box) tahmini ve etiket atama yaklaşımlarında yatar.
YOLOX: Çapa İçermeyen Öncü#
YOLOX, anchor-free (çapasız) tasarıma geçiş yaparak YOLO ailesinde devrim yarattı. Geleneksel çapa tabanlı dedektörler, çapa kutusu kümelemesi için veri setine son derece bağımlı olabilen karmaşık sezgisel ayarlamalar gerektirir. YOLOX, çapa kutularını ortadan kaldırarak tasarım parametrelerinin sayısını önemli ölçüde azalttı. Dahası YOLOX, sınıflandırma ve yerelleştirme görevlerini farklı ağ dallarına ayıran ayrıştırılmış bir başlık (decoupled head) kullanır. Bu, bir nesneyi sınıflandırmak ile mekansal koordinatlarını regresyona tabi tutmak arasındaki doğal çelişkiyi çözer. YOLOX ayrıca, eğitim sırasında pozitif örnekleri dinamik olarak tahsis eden 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ğı'nı (E-ELAN) tanıttı. E-ELAN, gradyan yolu uzunluğunu optimize ederek ağın farklı derinliklerde etkili bir şekilde öğrenmesini sağlar. Mimari, çıkarım sırasında evrişimsel katmanları birleştirerek hassasiyetten ödün vermeden hızı artıran yeniden parametrelendirme tekniklerine büyük ölçüde dayanır. YOLOv7'nin "bedava özellikler torbası" stratejisi, modelin Ortalama Hassasiyetini (mAP) dikkat çekici seviyelere taşıyan planlanmış yeniden parametrelendirilmiş evrişimler ve kabadan inceye rehberli etiket atama gibi yenilikleri içerir.
YOLOX, çapasız kurulumuyla dağıtım süreçlerini basitleştirirken, 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 esastır. Aşağıdaki tablo, en iyi performans gösteren metrikleri kalın harflerle vurgulayarak ödünleşimleri göstermektedir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (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 setleri için son derece doğru sonuçlar verir. Buna karşılık, YOLOX-Nano aşırı kaynak kısıtlamaları için oldukça optimize edilmiştir. Ancak her iki model de eğitim sırasında modern mimarilere kıyasla 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 büyük ölçüde özelleştirilmiş C++ betikleri veya karmaşık bağımlılık yönetimi gerektiriyordu.
Ultralytics Ekosistemi 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, son derece sezgisel bir Python API sağlar.
- Kullanım Kolaylığı: Sadece birkaç satır kodla 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 düşük bellek kullanır. Bu, geliştiricilerin tüketici donanımında batch boyutlarını maksimize etmesine olanak tanır.
- Çok Yönlülük: Basit sınırlayıcı kutuların ötesinde ekosistem, Instance Segmentation ve Pose Estimation gibi görevlere zahmetsizce 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")Geliştiriciler, dışa aktarma boru hattını standartlaştırarak ağırlıklarını TensorRT veya ONNX gibi formatlara zahmetsizce dönüştürebilir ve hedef donanımda yüksek hızlı çıkarım sağlayabilir.
İ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 Yapay Zeka için YOLOX: YOLOX-Nano ve YOLOX-Tiny varyantları, düşük güç tüketen cihazlarda devreye alma için son derece uygundur. Bir Raspberry Pi üzerinde akıllı bir güvenlik kamerası inşa ediyorsan, YOLOX'un basit çapasız konvolüsyonları uç hızlandırıcılara kolayca uyarlanır.
- Yüksek Doğruluklu Analitik için YOLOv7: Yüksek çözünürlüklü uydu görüntüleri işliyor veya karmaşık üretim kalite kontrolü gerçekleştiriyorsan, üst düzey NVIDIA GPU'lar tarafından desteklenen YOLOv7x'in yüksek mAP değeri, en küçük anormalliklerin bile tespit edilmesini sağlar.
Gelecek: Ultralytics YOLO26'ya Yükseltme#
YOLOv7 ve YOLOX ortaya çı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 göz atmalıdır. Bu son teknoloji model, en iyi mimari teorileri nihai üretime hazır sistemde birleştirir.
İşte yükseltmenin neden şiddetle tavsiye edildiği:
- Uçtan Uca NMS İçermeyen Tasarım: YOLO26, son işlem sırasında Non-Maximum Suppression (NMS) gereksinimini yerel olarak ortadan kaldırır. İlk olarak YOLOv10 içinde öncülük edilen bu yaklaşım, tutarlı bir şekilde düşük gecikme süresi sağlayarak NMS donanım desteğinden yoksun cihazlarda dağıtımı basitleştirir.
- DFL Kaldırma: Dağılım Odaklı Kaybı (Distribution Focal Loss) kaldırarak, YOLO26 düşük güçlü kenar cihazlarıyla çok daha iyi uyumluluk ve doğrudan ONNX dışa aktarımları sağlar.
- MuSGD Optimize Edici: LLM eğitim yeniliklerinden esinlenen YOLO26, hibrit bir MuSGD optimize ediciden yararlanarak daha hızlı yakınsama ve inanılmaz derecede kararlı eğitim dinamikleri sağlar.
- %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ına ihtiyaç duymadan standart CPU'larda yüksek performans gösterir.
- ProgLoss + STAL: Bu gelişmiş kayıp fonksiyonları, 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 tespiti, segmentasyon ve ötesinde en iyi performans dengesini arayan geliştiriciler için modelleri Ultralytics Platform aracılığıyla dağıtmak, benzersiz ve sürtünmesiz bir deneyim sunar.
YOLO26 hakkında daha fazla bilgi edin
Sonuç#
Hem YOLOX hem de YOLOv7, açık kaynaklı vizyon yapay zekasının seyrini şekillendiren çok önemli teknikler tanıttı. YOLOX çapasız ayrıştırılmış başlıkların uygulanabilirliğini kanıtlarken, YOLOv7 gradyan yolu yeniden parametrelendirmesinin muazzam gücünü gösterdi. Günümüzde Ultralytics ekosisteminden yararlanmak, bu tarihi mimarilerden maksimum potansiyeli çıkarabilmeni veya bir sonraki bilgisayarlı görü uygulamanı geleceğe hazırlamak için son teknoloji YOLO26 modeline sorunsuz bir şekilde geçiş yapabilmeni sağlar.