Model Karşılaştırması: Nesne Algılama için YOLOv7 ve YOLOv8
Bilgisayar görüşünün hızla gelişen ortamında, "You Only Look Once" (YOLO) model ailesi, gerçek zamanlı nesne algılama için sürekli olarak standardı belirlemiştir. Bu soy ağacındaki iki önemli kilometre taşı YOLOv7 ve Ultralytics YOLOv8'dir. Her iki model de piyasaya sürüldüklerinde doğruluk ve hız sınırlarını zorlamış olsalar da, farklı tasarım felsefelerini ve ekosistem olgunluklarını temsil etmektedirler.
Bu kılavuz, geliştiricilerin ve araştırmacıların akademik araştırmadan üretime yönelik dağıtıma kadar özel ihtiyaçları için doğru aracı seçmelerine yardımcı olmak amacıyla ayrıntılı bir teknik karşılaştırmayı sunar.
Performans Metrikleri Karşılaştırması
Aşağıdaki tablo, temel YOLOv7 ve YOLOv8 modelleri arasındaki performans metriklerinin doğrudan bir karşılaştırmasını sunmaktadır. YOLOv8, özellikle uç AI uygulamaları için kritik olan daha küçük model varyantlarında çıkarım hızı ve uygun bir parametre sayısında önemli bir avantaj göstermektedir.
| 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: "Ücretsiz Avantajlar Paketi" Evrimi
Temmuz 2022'de piyasaya sürülen YOLOv7, öncelikle YOLOv4 ve YOLOR'un yazarları tarafından geliştirilmiştir. Çıkarım maliyetlerini artırmadan eğitim sürecini optimize etmeyi amaçlayan çeşitli mimari yenilikler sunmuştur; bu kavram "eğitilebilir bedava hediyeler" olarak adlandırılmaktadır.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2022-07-06
- Bağlantılar:Arxiv Makalesi | GitHub Deposu
Temel Mimari Özellikler
YOLOv7, Genişletilmiş Verimli Katman Toplama Ağı'nı (E-ELAN) tanıttı. Bu mimari, ağın daha çeşitli özellikleri öğrenmesini sağlamak için en kısa ve en uzun gradyan yollarını kontrol eder. Ayrıca, mimarinin derinliğini ve genişliğini aynı anda değiştiren model ölçekleme tekniklerini kullanarak farklı boyutlarda optimum performans sağlar.
Piyasaya sürüldüğünde etkileyici kıyaslama sonuçlarına sahip olmasına rağmen, YOLOv7 öncelikle nesne tespiti üzerine odaklanır ve daha yeni çerçevelere kıyasla diğer görevler için daha az entegre desteğe sahiptir.
YOLOv7 hakkında daha fazla bilgi edinin
Ultralytics YOLOv8: Birleştirilmiş Çerçeve ve Modern Mimari
2023'in başlarında Ultralytics tarafından piyasaya sürülen YOLOv8, YOLO mimarisinde büyük bir revizyonu temsil ediyordu. Yalnızca bir model olarak değil, detect, nesne segment, poz tahmini ve sınıflandırmayı sorunsuz bir şekilde gerçekleştirebilen birleşik bir çerçeve olarak tasarlandı.
- Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Kuruluş: Ultralytics
- Tarih: 2023-01-10
- Bağlantılar:Ultralytics Belgeleri | GitHub Deposu
Mimari Yenilikler
YOLOv8, önceki sürümlerde (YOLOv7 dahil) kullanılan anchor tabanlı algılamadan bir anchor-free detector mekanizmasına geçmiştir. Bu değişiklik, anchor kutularını hesaplama ihtiyacını ortadan kaldırarak eğitim sürecini basitleştirir ve modeli nesne şekli ve boyutundaki değişikliklere karşı daha sağlam hale getirir.
Backbone, YOLOv5'in C3 modüllerinin yerini alan C2f modüllerini (iki evrişimli Çapraz Aşamalı Kısmi Darboğaz) kullanmak üzere yükseltildi. Bu değişiklik, gradyan akışını iyileştirir ve modelin daha zengin özellik bilgilerini yakalarken hafif kalmasını sağlar.
YOLOv8 hakkında daha fazla bilgi edinin
Detaylı Teknik Karşılaştırma
Anchor Tabanlı - Anchorsız Karşılaştırması
En belirleyici farklardan biri, algılama başlığıdır. YOLOv7, modelin nesnelerle eşleştirmeye çalıştığı önceden tanımlanmış şekiller olan çapa kutularına güvenir. Etkili olmasına rağmen, bu özel veri kümeleri için hiperparametre ayarlaması gerektirir.
Buna karşılık, YOLOv8, bir nesnenin merkezini doğrudan tahmin eden, ankraj içermeyen bir yaklaşım kullanır. Bu, kutu tahminlerinin sayısını azaltır, Non-Maximum Suppression'ı (NMS) hızlandırır ve modeli manuel ankraj yapılandırması olmadan çeşitli veriler üzerinde eğitilmeyi kolaylaştırır.
Eğitim Verimliliği ve Bellek Kullanımı
Ultralytics modelleri, mühendislik verimlilikleriyle ünlüdür. YOLOv8, eğitimin son aşamalarında Mozaik artırmayı devre dışı bırakan akıllı bir veri artırma stratejisi kullanır. Bu teknik, eğitim kaybını dengeler ve hassasiyeti artırır.
Bellek Verimliliği
Ultralytics YOLOv8'in transformatörler (örn. RT-DETR) gibi karmaşık mimarilere göre önemli bir avantajı, daha düşük CUDA bellek gereksinimidir. Bu, kullanıcıların tüketici sınıfı GPU'larda daha büyük toplu boyutları eğitmesine olanak tanıyarak, en son model eğitimine erişimi demokratikleştirir.
Ekosistem ve Kullanım Kolaylığı
YOLOv7 güçlü bir araştırma deposu olsa da, Ultralytics YOLOv8 cilalı bir ürün deneyimi sunar. Ultralytics ekosistemi şunları sağlar:
- Akıcı API: Tüm görevler için tutarlı bir Python arayüzü.
- Dağıtım: Dışa Aktarma modu aracılığıyla ONNX, TensorRT, CoreML ve TFLite gibi formatlara tek tıklamayla dışa aktarma.
- Topluluk Desteği: Aktif bir Discord topluluğu ve sık güncellemeler, en son PyTorch sürümleriyle uyumluluğu sağlar.
Kod Karşılaştırması
Çıkarım çalıştırmak için gereken kod karşılaştırıldığında kullanılabilirlik farkı açıkça görülmektedir. Ultralytics, düşük kodlu bir yaklaşıma öncelik vererek geliştiricilerin vizyon yapay zekasını minimum ek yükle uygulamalara entegre etmelerine olanak tanır.
Python ile YOLOv8 çalıştırma
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
for result in results:
result.show()
CLI Uygulaması
YOLOv8 ayrıca doğrudan komut satırından da çalıştırılabilir; bu özellik, ardışık düzen entegrasyonunu ve hızlı testleri kolaylaştırır.
# Detect objects in an image using the nano model
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/zidane.jpg' imgsz=640
İdeal Kullanım Senaryoları
Ne Zaman YOLOv7 Kullanılmalı
YOLOv7, 2022/2023 standartlarına göre kıyaslama yapan veya özellikle Darknet tarzı mimari etrafında oluşturulmuş eski sistemleri koruyan araştırmacılar için uygun bir seçenek olmaya devam ediyor. "Bedava fırsatlar çantası" yaklaşımı, sinir ağı optimizasyon stratejilerini inceleyenler için ilginç bilgiler sunar.
Ne Zaman YOLOv8 Kullanılmalı
YOLOv8, aşağıdakiler dahil olmak üzere yeni projelerin büyük çoğunluğu için önerilen seçimdir:
- Gerçek Zamanlı Uygulamalar: YOLOv8n (nano) modeli inanılmaz hızlar (CPU'da yaklaşık 80ms) sunarak mobil uygulamalar ve gömülü sistemler için mükemmeldir.
- Çoklu Görev İşlem Hatları: Algılamanın yanı sıra poz tahmini veya segmentasyon gerektiren projeler tek bir API kullanabilir.
- Ticari Dağıtım: Sağlam dışa aktarma uyumluluğu, PyTorch'ta eğitilen modellerin TensorRT veya OpenVINO kullanılarak üretim ortamlarına verimli bir şekilde dağıtılabilmesini sağlar.
Sonuç
YOLOv7, eğitilebilir parametreleri optimize ederek bilgisayar görüşü alanına önemli katkılarda bulunsa da, Ultralytics YOLOv8 pratik yapay zeka geliştirme için modern standardı temsil ediyor.
YOLOv8'in hız ve doğruluk açısından üstün dengesi, ankrajsız bir tasarım ve kapsamlı Ultralytics destek ekosistemi ile birleştiğinde, onu yeni başlayanlar için daha erişilebilir ve uzmanlar için daha güçlü hale getirir. Ölçeklenebilir, sürdürülebilir ve yüksek performanslı vizyon uygulamaları oluşturmak isteyen geliştiriciler için YOLOv8 ve YOLO11 gibi halefleri en çekici yolu sunar.
Daha Fazla Okuma
Nesne algılamadaki en son gelişmeleri keşfetmek isteyenler için, bu ilgili modelleri incelemeyi düşünün:
- YOLO11: Ultralytics'in en son yinelemesi, mimariyi daha da yüksek verimlilik için iyileştiriyor.
- YOLOv6: Endüstriyel uygulamalara odaklanan başka bir anchor-free model.
- YOLOv9: Derin ağ eğitimi için Programlanabilir Gradyan Bilgisine (PGI) odaklanır.