YOLOv7 YOLOv8: Gerçek Zamanlı Nesne Algılamanın Evrimi
Bilgisayar görüşünün manzarası, hızlı yinelemeler ve mimari atılımlarla tanımlanır. Bu tarihin en önemli iki dönüm noktası şunlardır YOLOv7ve YOLOv8'dir. Her iki Ultralytics de piyasaya sürüldüklerinde en son teknolojiyi (SOTA) temsil etseler de, model tasarımı ve geliştirici deneyimi açısından farklı felsefeler sergilemektedirler.
YOLOv7 , eğitilebilir mimari stratejilerine yoğun bir şekilde odaklanarak, çapa tabanlı dedektörler için "bag-of-freebies" yaklaşımının optimizasyonunda bir zirveye YOLOv7 . Buna karşılık, YOLOv8 , kullanıcı odaklı bir ekosistem yaklaşımı YOLOv8 , kullanım kolaylığı, model dağıtımı ve segmentasyon ve poz tahmini gibi çeşitli görevler için birleşik desteği önceliklendiren çapa içermeyen bir mimariye geçiş yaptı.
Performans Karşılaştırması
Aşağıdaki tablo, YOLOv7 YOLOv8 performans ölçütlerini göstermektedir. YOLOv8 , önceki modelin doğruluğunu (mAP) korurken veya aşarken, özellikle parametre sayısı ve FLOP'larda üstün verimlilik YOLOv8 .
| 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 algılama hızı ve doğruluğunun sınırlarını zorlamak için YOLOv7 . Gradyan yayılma yolunu optimize etmeyi amaçlayan birkaç mimari yenilik getirmiştir.
- 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 bag-of-freebies, yeni bir çığır açıyor
- Depo:GitHub
Temel Mimari Özellikler
YOLOv7 , Genişletilmiş Verimli Katman Toplama Ağı (E-ELAN) özelliğini YOLOv7 . Bu mimari, en kısa ve en uzun gradyan yollarını kontrol ederek modelin daha çeşitli özellikleri öğrenmesini sağlar ve gradyan akışını bozmadan ağın etkili bir şekilde yakınsama yapmasını garanti eder.
Ayrıca, blok derinliğini ve genişliğini aynı anda ayarlayan birleştirme tabanlı model ölçeklendirme de kullanmıştır. Etkili olmasına rağmen, bu mimari bağlantı kutularına dayanır ve maksimum performans elde etmek için özel veri kümeleri için en uygun bağlantı noktalarının hesaplanmasını gerektirir. Bu, yeni bağlantı noktası içermeyen yaklaşımlara kıyasla eğitim sürecine bir karmaşıklık katmanı ekler.
Eğitim Karmaşıklığı
YOLOv7 belirli bir araştırma odaklı depo yapısı ve eğitim sırasında yardımcı başlıkların manuel yönetimi gerektirir. Kullanıcılar, daha küçük veri kümelerinde doğru şekilde çalışması için "bag-of-freebies" ( MixUp Mosaic gibi) için hiperparametreleri genellikle manuel olarak ayarlamalıdır.
YOLOv8: Birleşik Ekosistem ve Ankarsız Tasarım
Ultralytics YOLOv8 , saf bir araştırma aracından kurumsal düzeyde bir çerçeveye doğru bir paradigma değişikliğiniYOLOv8 . 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 ürünü, bağlantı noktası içermeyen bir modeldir. Önceden tanımlanmış bağlantı kutularına olan ihtiyacı ortadan kaldırarak, YOLOv8 algılama başlığını YOLOv8 ve alışılmadık şekil veya en boy oranlarına sahip nesneler üzerinde genellemeyi iyileştirir.
- C2f Modülü: Önceki nesillerdeki C3 modülünün yerini alan C2f modülü (ELAN'dan esinlenerek geliştirilmiştir), yüksek düzeyli özellikleri bağlamsal bilgilerle birleştirerek gradyan akışını iyileştirirken hafifliğini korur.
- Ayrıştırılmış Başlık: YOLOv8 , nesne tanımlama, sınıflandırma ve regresyon görevlerini farklı dallara YOLOv8 . Bu ayrıştırma, modelin daha hızlı ve daha doğru bir şekilde yakınsama yapmasını sağlar.
- Görev Çok Yönlülüğü: Öncelikle bir algılama modeli olan YOLOv7 farklı olarak, YOLOv8 görüntü sınıflandırma, poz tahmini, yönlendirilmiş sınırlayıcı kutular (OBB) ve örnek segmentasyonunu YOLOv8 destekler.
Ayrıntılı Karşılaştırma: Geliştiriciler Neden Ultralytics Tercih Ediyor?
YOLOv7 yetenekli bir model YOLOv7 , YOLOv8 ve daha yeni olan YOLO26) çevresindeki Ultralytics , geliştiriciler ve araştırmacılar için belirgin avantajlar sunmaktadır.
1. Kullanım Kolaylığı ve Ekosistem
YOLOv7 öncelikle bir araştırma deposu olarak YOLOv7 . Eğitimi genellikle belirli bir GitHub deposunun klonlanması, klasörlerin katı bir yapıda düzenlenmesi ve karmaşık CLI çalıştırılmasını gerektirir.
Buna karşılık, Ultralytics standart bir Python olarak mevcuttur (pip install ultralytics). Şunu Ultralytics Platform veri kümesi yönetimi ve eğitim izleme için grafiksel bir arayüz sunarak bunu daha da basitleştirir. Bu "sıfırdan kahramana" deneyimi, AI geliştirmeye giriş engelini önemli ölçüde azaltır.
2. Eğitim Verimliliği ve Bellek
Modern yapay zekada en önemli faktörlerden biri kaynak kullanımıdır. Transformer tabanlı modeller genellikle büyük miktarda CUDA gerektirir ve eğitimi günler sürer. Ultralytics YOLO , eğitim verimliliği için optimize edilmiştir.
YOLOv8 , mozaik büyütmeyi dinamik olarak YOLOv8 ve hassasiyeti artırmak için son dönemlerde bunu kapatır. Bu, optimize edilmiş veri yükleyici ile birleştirildiğinde, kullanıcıların YOLOv7 RT-DETR gibi dönüştürücü tabanlı alternatiflere kıyasla tüketici sınıfı GPU'larda daha büyük parti boyutları çalıştırmasına olanak tanır.
3. Dağıtım ve İhracat
Bir modeli PyTorch noktasından üretim cihazına taşımak, genellikle iş akışının en zor kısmıdır. YOLOv8 , birleşik dışa aktarma modu ile bunu YOLOv8 .
Tek bir kod satırı ile geliştiriciler YOLOv8 aktarabilirler:
- ONNX genel çapraz platform uyumluluğu için.
- TensorRTNVIDIA maksimum çıkarım hızı için.
- CoreMLiOS macOS uygulamalarına entegrasyon için.
- TFLiteAndroid Raspberry Pi üzerinde mobil ve uç dağıtım için.
İhracat Örneği
YOLOv8 ini Python aracılığıyla sorunsuz bir şekilde dışa aktarabilirsiniz:
from ultralytics import YOLO
model = YOLO("yolov8n.pt")
model.export(format="onnx", opset=12)
Kod Örneği: Birleşik API
Ultralytics Python , model mimarileri arasında kolayca geçiş yapmanızı sağlar. Aynı arayüzü kullanarak bir YOLOv8 veya bir YOLOv7 (eski sürümlerle uyumluluk için desteklenir) 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: 2022/2023 yıllarına ait, özellikle E-ELAN mimarisiyle karşılaştırma yapan akademik makaleleri yeniden üretiyorsanız.
- Özel Yüksek Çözünürlüklü Girişler:
yolov7-w6Varyantlar özellikle 1280 piksel girişler için ayarlandı, ancak modern Ultralytics artık P6/1280 çözünürlükler yerel olarak.
Ne Zaman YOLOv8 Kullanılmalı
- Kenar Bilişim: Şu modeller gibi
yolov8niçin mükemmeldir Raspberry Pi üzerinde çalışıyor veya Jetson Nano, düşük parametre sayısı ve yüksek hızları nedeniyle. - Çoklu Görev Uygulamaları: Uygulamanız, kişileri takip ederken aynı zamanda pozlarını (iskeletlerini) tanımlamayı gerektiriyorsa, YOLOv8 yerel poz tahmini ideal seçimdir.
- Endüstriyel Otomasyon: Gecikmenin kritik olduğu yüksek verimli üretim hatları için, TensorRT 'e aktarım kolaylığı YOLOv8 kılar.
- Hızlı Prototipleme: Ultralytics , ekiplerin karmaşık altyapıyı yönetmeden veri kümeleri ve modeller üzerinde hızlı bir şekilde yineleme yapmalarını sağlar.
Geleceğe Bakış: YOLO26'nın Gücü
YOLOv7 ile karşılaştırma YOLOv8 güçlü yönlerini YOLOv7 , bu alan gelişmeye devam etmiştir. Bugün yeni projeler başlatan geliştiriciler için YOLO26, bu gelişimin zirvesini temsil etmektedir.
YOLO26, YOLOv8 kullanım kolaylığını temel alır, YOLOv8 uçtan uca NMS bir tasarım sunar. Non-Maximum Suppression (NMS) son işlemlerini ortadan kaldırarak, YOLO26 karmaşık sahnelerde önemli ölçüde daha basit bir dağıtım mantığı ve daha düşük gecikme süresi sağlar. Ayrıca, Büyük Dil Modeli (LLM) eğitim tekniklerinden esinlenilen MuSGD Optimizer özelliği ile eğitim sırasında daha da istikrarlı bir yakınsama sağlar.
Ayrıca, Dağıtım Odak Kaybı (DFL) ortadan kaldırıldığından, YOLO26 CPU çıkarımında %43'e kadar daha hızlıdır, bu da onu GPU'ların kullanılamadığı uç AI uygulamaları için kesin seçim haline getirir. Özel görevler için, Poz için Artık Log-Olasılık Tahmini (RLE) ve OBB için özel açı kaybı gibi göreve özgü iyileştirmeler sunar.
En geleceğe dönük, verimli ve doğru çözüm için YOLO26'yı incelemenizi öneririz.