YOLOv7 YOLOv8: Gerçek Zamanlı Nesne Algılamanın Evrimi
Bilgisayar görüşü alanı, hızlı yinelemeler ve mimari atılımlarla tanımlanır. Bu tarihteki en önemli iki dönüm noktası, 2022 ortalarında piyasaya sürülen YOLOv7 ve 2023 başlarında Ultralytics tarafından piyasaya sürülen YOLOv8'dir. Her iki model de piyasaya sürüldüklerinde en son teknolojiyi (SOTA) zorlamış olsa da, model tasarımı ve geliştirici deneyiminde farklı felsefeleri temsil etmektedirler.
YOLOv7, çapa tabanlı detectörler için "bag-of-freebies" yaklaşımının optimizasyonunda bir zirveye işaret etti ve eğitilebilir mimari stratejilerine yoğun bir şekilde odaklandı. Tersine, YOLOv8, kullanım kolaylığını, model dağıtımını ve segmentasyon ve poz tahmini gibi çeşitli görevler için birleşik desteği önceliklendiren çapasız bir mimariye geçiş yaparak kullanıcı merkezli bir ekosistem yaklaşımı sundu.
Performans Karşılaştırması
Aşağıdaki tablo, YOLOv7 ve YOLOv8 modellerinin performans metriklerini göstermektedir. YOLOv8, özellikle parametre sayısı ve FLOPs açısından üstün verimlilik sergilerken, selefinin doğruluğunu (mAP) korumakta veya aşmaktadı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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
YOLOv7: Çapa Tabanlı Güç Merkezi
Temmuz 2022'de piyasaya sürülen YOLOv7, gerçek zamanlı nesne detect hızının ve doğruluğunun sınırlarını zorlamak için tasarlandı. Gradyan yayılım yolunu optimize etmeyi amaçlayan çeşitli mimari yenilikler sundu.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2022-07-06
- Makale:YOLOv7: Eğitilebilir ücretsiz özellikler paketi yeni bir son teknoloji seviyesi belirliyor
- Depo:GitHub
Temel Mimari Özellikler
YOLOv7, Genişletilmiş Verimli Katman Birleştirme Ağı (E-ELAN)'nı tanıttı. Bu mimari, en kısa ve en uzun gradyan yollarını kontrol ederek modelin daha çeşitli özellikler öğrenmesini sağlar ve gradyan akışını bozmadan ağın etkili bir şekilde yakınsamasını garanti eder.
Aynı zamanda, blok derinliğini ve genişliğini eş zamanlı olarak ayarlayan birleştirmeye dayalı model ölçeklendirme kullandı. Etkili olmasına rağmen, bu mimari anchor box'lara dayanır ve özel veri kümeleri için maksimum performans elde etmek amacıyla optimal anchor'ların hesaplanmasını gerektirir. Bu durum, daha yeni anchor-free yaklaşımlara kıyasla eğitim sürecine ek bir karmaşıklık katmanı ekler.
Eğitim Karmaşıklığı
YOLOv7 genellikle belirli bir araştırma odaklı depo yapısı ve eğitim sırasında yardımcı başlıkların manuel yönetimini gerektirir. Kullanıcılar, "bag-of-freebies" (MixUp veya Mosaic gibi) özelliklerinin daha küçük veri kümelerinde doğru şekilde çalışması için hiperparametreleri sıklıkla manuel olarak ayarlamak zorundadır.
YOLOv8: Birleşik Ekosistem ve Çapasız Tasarım
Ultralytics YOLOv8, saf bir araştırma aracından kurumsal düzeyde bir çerçeveye bir paradigma değişimi temsil etti. Veri etiketlemeden dağıtıma kadar tüm makine öğrenimi yaşam döngüsünü kolaylaştırdı.
- Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Kuruluş:Ultralytics
- Tarih: 2023-01-10
- Belgeler:YOLOv8 Belgeleri
YOLOv8 hakkında daha fazla bilgi edinin.
Mimari Yenilikler
YOLOv8, son teknoloji, anchor-free bir modeldir. Önceden tanımlanmış anchor box'lara olan ihtiyacı ortadan kaldırarak, YOLOv8 algılama başlığını basitleştirir ve alışılmadık şekillere veya en boy oranlarına sahip nesneler üzerindeki genelleme yeteneğini geliştirir.
- C2f Modülü: Önceki nesillerdeki C3 modülünün yerini alan C2f modülü (ELAN'dan esinlenilmiştir), gradyan akışını iyileştirmek için üst düzey özellikleri bağlamsal bilgilerle birleştirirken hafifliğini korur.
- Ayrık Başlık: YOLOv8, nesne tespiti, sınıflandırma ve regresyon görevlerini farklı dallara ayırır. Bu ayrım, modelin daha hızlı ve daha doğru yakınsamasını sağlar.
- Görev Çok Yönlülüğü: Esas olarak bir detect modeli olan YOLOv7'nin aksine, YOLOv8 doğal olarak görüntü sınıflandırmayı, poz tahmini, yönlendirilmiş sınırlayıcı kutuları (obb) ve örnek segmentasyonu destekler.
Detaylı Karşılaştırma: Geliştiriciler Neden Ultralytics'i Seçiyor?
YOLOv7 yetenekli bir model olmaya devam etse de, YOLOv8 (ve daha yeni YOLO26) etrafındaki Ultralytics ekosistemi geliştiriciler ve araştırmacılar için belirgin avantajlar sunar.
1. Kullanım Kolaylığı ve Ekosistem
YOLOv7 öncelikli olarak bir araştırma deposu olarak dağıtılır. Onu eğitmek genellikle belirli bir GitHub deposunu klonlamayı, klasörleri katı bir yapıda düzenlemeyi ve karmaşık CLI dizeleri çalıştırmayı gerektirir.
Buna karşılık, Ultralytics modelleri standart bir python paketi olarak mevcuttur (pip install ultralytics). Şunu Ultralytics Platform veri kümesi yönetimi ve eğitim izleme için grafiksel bir arayüz sağlayarak bunu daha da basitleştirir. Bu "sıfırdan kahramana" deneyimi, yapay zeka geliştirme için giriş engelini önemli ölçüde azaltır.
2. Eğitim Verimliliği ve Bellek
Modern yapay zekada en kritik faktörlerden biri kaynak kullanımıdır. Transformer tabanlı modeller genellikle büyük miktarda CUDA belleği gerektirir ve eğitilmesi günler sürer. Ultralytics YOLO modelleri eğitim verimliliği için optimize edilmiştir.
YOLOv8, mozaik artırmayı dinamik olarak kullanır ve hassasiyeti artırmak için son epoch'larda kapatır. Bu durum, optimize edilmiş bir veri yükleyici ile birleştiğinde, kullanıcıların YOLOv7 veya RT-DETR gibi transformer tabanlı alternatiflere kıyasla tüketici sınıfı GPU'larda daha büyük batch boyutları çalıştırmasına olanak tanır.
3. Dağıtım ve Dışa Aktarma
Bir modeli bir PyTorch checkpoint'inden bir üretim cihazına taşımak genellikle hattın en zor kısmıdır. YOLOv8, bunu birleşik bir dışa aktarma modu ile basitleştirir.
Tek bir kod satırı ile geliştiriciler YOLOv8'i şuraya aktarabilir:
- Genel çapraz platform uyumluluğu için ONNX.
- NVIDIA GPU'larda maksimum çıkarım hızı için TensorRT.
- iOS ve macOS uygulamalarına entegrasyon için CoreML.
- Android veya Raspberry Pi üzerinde mobil ve uç dağıtım için TFLite.
Dışa Aktarma Örneği
Bir YOLOv8 modelini dışa aktarmak, python API'si aracılığıyla sorunsuzdur:
from ultralytics import YOLO
model = YOLO("yolov8n.pt")
model.export(format="onnx", opset=12)
Kod Örneği: Birleşik API
Ultralytics python API'si, model mimarileri arasında zahmetsizce geçiş yapmanızı sağlar. Aynı arayüzü kullanarak bir YOLOv8 modeli veya (eski uyumluluk için desteklenen) bir YOLOv7 modeli yükleyebilirsiniz.
from ultralytics import YOLO
# Load the latest YOLOv8 Nano model for efficiency
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
# The API handles dataset downloading and configuration automatically
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a sample image
# Returns a list of Results objects containing boxes, masks, or keypoints
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
# NOTE: You can also load YOLOv7 weights using the same API
# model_v7 = YOLO("yolov7.pt")
İdeal Kullanım Senaryoları
Ne Zaman YOLOv7 Kullanılmalı
- Eski Karşılaştırma: Eğer 2022/2023'ten, özellikle E-ELAN mimarisiyle karşılaştırma yapan akademik makaleleri yeniden üretiyorsanız.
- Belirli Yüksek Çözünürlüklü Girişler:
yolov7-w6varyantlar 1280 piksel girişler için özel olarak ayarlanmıştı, ancak modern Ultralytics modelleri artık P6/1280 çözünürlüklerini doğal olarak işleyebiliyor.
Ne Zaman YOLOv8 Kullanılmalı
- Uç Bilişim: Gibi modeller
yolov8niçin mükemmeldir Raspberry Pi üzerinde çalışmak veya Jetson Nano üzerinde çalışmak için düşük parametre sayıları ve yüksek hızları sayesinde idealdir. - Çok Görevli Uygulamalar: Uygulamanız insanları track etmeyi ve aynı anda pozlarını (iskeletlerini) tanımlamayı gerektiriyorsa, YOLOv8'in yerel poz tahmini ideal seçimdir.
- Endüstriyel Otomasyon: Gecikmenin kritik olduğu yüksek verimli üretim hatları için, TensorRT'ye dışa aktarma kolaylığı YOLOv8'i üstün kılar.
- Hızlı Prototipleme: Ultralytics Platformu, ekiplerin karmaşık altyapıyı yönetmeden veri kümeleri ve modeller üzerinde hızlı bir şekilde yineleme yapmasına olanak tanır.
İleriye Bakış: YOLO26'nın Gücü
YOLOv7 ile karşılaştırma YOLOv8'in güçlü yönlerini vurgulasa da, alan gelişmeye devam etti. Bugün yeni projelere başlayan geliştiriciler için YOLO26 bu evrimin zirvesini temsil etmektedir.
YOLO26, YOLOv8'in kullanım kolaylığı üzerine inşa edilmiş olup, Uçtan Uca NMS-Serbest bir tasarım sunar. Non-Maximum Suppression (NMS) son işlemeyi ortadan kaldırarak, YOLO26 önemli ölçüde daha basit dağıtım mantığı ve karmaşık sahnelerde daha düşük gecikme elde eder. Ayrıca, Büyük Dil Modeli (LLM) eğitim tekniklerinden esinlenerek MuSGD Optimizer'ı içerir ve eğitim sırasında daha da istikrarlı yakınsama sağlar.
Ayrıca, Distribution Focal Loss (DFL) kaldırılmasıyla, YOLO26 CPU çıkarımında %43'e kadar daha hızlıdır, bu da onu GPU'ların bulunmadığı uç yapay zeka uygulamaları için kesin bir seçim haline getirir. Özel görevler için, Pose için Residual Log-Likelihood Estimation (RLE) ve OBB için özel açı kaybı gibi göreve özel iyileştirmeler sunar.
En geleceğe dönük, verimli ve doğru çözüm için YOLO26'yı incelemenizi öneririz.