YOLOv7 - YOLOX Karşılaştırması: Detaylı Teknik Bir İnceleme
Bilgisayar görüşünün hızla gelişen ortamında, YOLO (You Only Look Once) model ailesi, gerçek zamanlı nesne algılama için sürekli olarak standardı belirlemiştir. Bu tarihteki iki önemli kilometre taşı YOLOv7 ve YOLOX'tir. Her iki model de hızı ve doğruluğu dengelemeyi amaçlasa da, mimari felsefelerinde (özellikle ankraj tabanlı ve ankraj içermeyen metodolojilerle ilgili olarak) önemli ölçüde farklılık gösterirler.
Bu kılavuz, araştırmacıların ve mühendislerin belirli bilgisayarla görme uygulamaları için doğru aracı seçmelerine yardımcı olmak amacıyla derinlemesine bir teknik karşılaştırmayı sunar. Mimarilerini, kıyaslama performansını analiz edeceğiz ve Ultralytics YOLO11 gibi modern alternatiflerin neden genellikle üstün bir geliştirici deneyimi sağladığını keşfedeceğiz.
Performans Metrikleri: Hız ve Doğruluk
Nesne dedektörlerini değerlendirirken, çıkarım gecikmesi ve Ortalama Ortalama Hassasiyet (mAP) arasındaki denge çok önemlidir. Aşağıdaki tablo, COCO veri kümesi üzerinde YOLOv7 ve YOLOX varyantları arasında doğrudan bir karşılaştırma sunmaktadı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 |
Sonuçların Analizi
Veriler, dağıtım kısıtlamalarına bağlı olarak her model ailesi için farklı avantajları vurgulamaktadır. YOLOv7, yüksek performanslı grupta olağanüstü verimlilik gösterir. Örneğin, YOLOv7l, yalnızca 36,9M parametre ile %51,4 mAP elde ederek, önemli ölçüde daha az işlem kaynağı kullanırken YOLOXx'i (%51,1 mAP, 99,1M parametre) geride bırakır. Bu, GPU verimliliğinin kritik olduğu ancak belleğin kısıtlı olduğu senaryolar için YOLOv7'yi güçlü bir aday yapar.
Aksine, YOLOX hafif kategorisinde parlıyor. YOLOX-Nano modeli (0.91M parametre), en küçük standart YOLO modellerinin bile çok ağır olabileceği ultra düşük güçlü uç cihazlar için uygulanabilir bir çözüm sunar. Ölçeklenebilir derinlik-genişlik çarpanları, çok çeşitli donanım profillerinde ince ayar yapılmasına olanak tanır.
YOLOv7: Optimize Edilmiş Bedava Hediyeler (Bag-of-Freebies)
Temmuz 2022'de piyasaya sürülen YOLOv7, çıkarım maliyetlerine yol açmadan eğitim sürecini optimize etmek için tasarlanmış çeşitli mimari yenilikler sunmuştur.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2022-07-06
- Makale:Arxiv Bağlantısı
- GitHub:YOLOv7 Deposu
YOLOv7 hakkında daha fazla bilgi edinin
Mimari Öne Çıkanlar
YOLOv7, eğitim sırasında doğruluğu artıran ancak çıkarım sırasında kaldırılan veya birleştirilen optimizasyon yöntemleri olan "eğitilebilir bedava hediyeler çantasına" odaklanır. Temel özellikler şunlardır:
- E-ELAN (Genişletilmiş Verimli Katman Toplama Ağı): En kısa ve en uzun gradyan yollarını kontrol ederek modelin çeşitli özellikleri öğrenme yeteneğini geliştiren geliştirilmiş bir backbone yapısıdır.
- Model Ölçeklendirme: YOLOv7, derinliği veya genişliği basitçe ölçeklendirmek yerine, ölçek büyütme sırasında optimum yapıyı koruyarak, birleştirmeye dayalı modeller için bileşik bir ölçeklendirme yöntemi kullanır.
- Yardımcı Başlık Kaba-dan-İnceye: Denetimi desteklemek için eğitim sırasında yardımcı bir kayıp başlığı kullanılır ve daha sonra çıkarım için ana başlığa yeniden parametrelendirilir.
Yeniden Parametreleme
YOLOv7, farklı eğitim modüllerinin çıkarım için tek bir evrişim katmanında matematiksel olarak birleştirildiği planlı yeniden parametrelendirme kullanır. Bu, eğitim sırasında kazanılan özellik öğrenme yeteneğinden ödün vermeden çıkarım gecikmesini önemli ölçüde azaltır.
YOLOX: Bağlantısız Evrim
2021'de piyasaya sürülen YOLOX, semantik segmentasyon yaklaşımlarına benzer şekilde, bağlantı kutularından bağlantısız bir mekanizmaya geçerek YOLO paradigmasında bir değişimi temsil etti.
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş: Megvii
- Tarih: 2021-07-18
- Makale:Arxiv Bağlantısı
- GitHub:YOLOX Deposu
YOLOX Karşılaştırması hakkında daha fazla bilgi edinin
Mimari Öne Çıkanlar
YOLOX, önceki YOLOv4 ve YOLOv5 gibi sürümlerde yaygın bir sorun olan manuel bağlantı kutusu ayarlama ihtiyacını ortadan kaldırarak detect işlem hattını basitleştirdi.
- Çapa Olmayan Mekanizma: YOLOX, nesnelerin merkezini doğrudan tahmin ederek, çapalarla ilişkili karmaşık hiperparametreleri ortadan kaldırır ve çeşitli veri kümelerinde genellemeyi iyileştirir.
- Ayrıştırılmış Kafa (Decoupled Head): Sınıflandırma ve yerelleştirmeyi tek bir kafada birleştiren önceki YOLO sürümlerinin aksine, YOLOX bunları ayırır. Bu, daha hızlı yakınsamaya ve daha iyi doğruluğa yol açar.
- SimOTA: Sınıflandırma ve regresyon kayıplarını etkili bir şekilde dengeleyerek, pozitif örnekleri dinamik olarak en düşük maliyetle yer doğruluğuna atayan gelişmiş bir etiket atama stratejisidir.
Neden Ultralytics Modelleri Tercih Edilen Seçimdir
YOLOv7 ve YOLOX mimaride farklılık gösterse de, her ikisi de modern Ultralytics YOLO modelleri tarafından kullanılabilirlik ve ekosistem desteği açısından aşılmıştır. Sağlam, geleceğe dönük bir çözüm arayan geliştiriciler için YOLO11'e geçiş belirgin avantajlar sunar.
1. Birleşik Ekosistem ve Kullanım Kolaylığı
YOLOv7 ve YOLOX genellikle belirli GitHub depolarını klonlamayı, karmaşık bağımlılık gereksinimlerini yönetmeyi ve veriler için farklı formatlar kullanmayı gerektirir. Buna karşılık Ultralytics, tüm görevleri birleştiren, pip ile kurulabilen bir paket sunar.
from ultralytics import YOLO
# Load a model (YOLO11n recommended for speed)
model = YOLO("yolo11n.pt")
# Train on a custom dataset with a single line
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
2. Üstün Performans Dengesi
Kıyaslamalarda gösterildiği gibi, modern Ultralytics modelleri hız ve doğruluk arasında daha iyi bir denge sağlar. YOLO11, hem YOLOX'un (bağlantısız tasarım) hem de YOLOv7'nin (gradyan yolu optimizasyonu) gelişmelerinden öğrenen optimize edilmiş, bağlantısız bir mimari kullanır. Bu, yalnızca CPU çıkarımında daha hızlı olmakla kalmayıp aynı zamanda eğitim sırasında daha az CUDA belleği gerektiren ve daha geniş bir donanım yelpazesine erişilebilir olmasını sağlayan modellerle sonuçlanır.
3. Görevler Arası Çok Yönlülük
YOLOv7 ve YOLOX öncelikle nesne tespiti için tasarlanmıştır. Ultralytics modelleri, API'yi değiştirmeden bu özelliği yerel olarak bir dizi bilgisayarlı görü görevine genişletir:
- Örnek Bölütleme: Piksel düzeyinde nesne anlama.
- Poz Tahmini: İnsan vücutları üzerindeki anahtar noktaları algılama.
- Yönlendirilmiş Nesne Algılama (OBB): Döndürülmüş nesneleri algılama (örn. hava görüntüleri).
- Sınıflandırma: Bir görüntünün tamamına bir sınıf etiketi atama.
4. Sorunsuz Dağıtım ve MLOps
Bir modeli araştırmadan üretime taşımak eski çerçevelerle zordur. Ultralytics ekosistemi, model dağıtımını basitleştiren ONNX, TensorRT, CoreML ve OpenVINO için yerleşik dışa aktarma modları içerir. Ayrıca, Ultralytics HUB ile entegrasyonlar, web tabanlı veri seti yönetimi, uzaktan eğitim ve uç cihazlara tek tıklamayla dağıtım sağlar.
YOLO11 hakkında daha fazla bilgi edinin
Sonuç
Hem YOLOv7 hem de YOLOX, bilgisayar görüşü alanına önemli katkılarda bulunmuştur. YOLOv7, "bedava hediyeler çantası" yaklaşımının verimliliğini en üst düzeye çıkararak mimariyi GPU cihazlarında en yüksek performans için optimize etti. YOLOX, ankrajsız (anchor-free) algılamanın uygulanabilirliğini başarıyla göstererek, boru hattını basitleştirdi ve genellemeyi geliştirdi.
Ancak, modern geliştirme iş akışları için Ultralytics YOLO11 üstün bir seçim olarak öne çıkıyor. Seleflerinin mimari güçlü yönlerini benzersiz bir Python API, daha düşük bellek gereksinimleri ve kapsamlı bir görüntü işleme görevleri yelpazesi için destek ile birleştirir. İster bir uç cihaza ister bir bulut sunucusuna dağıtım yapıyor olun, Ultralytics ekosisteminin aktif topluluğu ve kapsamlı belgeleri, üretime daha sorunsuz bir yol sağlar.
Diğer Modelleri İnceleyin
Daha fazla teknik karşılaştırma yapmak isterseniz, şu kaynakları inceleyebilirsiniz:
- YOLOv7 - YOLOv8: Performanstaki nesilsel sıçramaya bir bakış.
- RT-DETR - YOLOv7 Karşılaştırması: Transformer'ları CNN'lerle Karşılaştırmak.
- YOLO11 - YOLOv10'a Karşı: Gerçek zamanlı algılamadaki en son gelişmeler.