YOLOv8 YOLOv7: Mimari Gelişim ve Performans Analizi
Hızla gelişen bilgisayar görme alanında, "You Only Look Once" (YOLO) model ailesi, gerçek zamanlı nesne algılama için sürekli olarak standartları belirlemiştir. Bu karşılaştırma, teknik nüansları incelemektedir. Ultralytics YOLOv8 ile araştırma odaklı YOLOv7arasındaki teknik nüansları incelemektedir. Her iki model de yapay zeka tarihinde önemli kilometre taşları olsa da, farklı geliştirme aşamaları ve dağıtım ihtiyaçlarına hitap etmektedir.
En sorunsuz deneyimi arayan geliştiriciler için Ultralytics birleşik bir arayüz sunar. Ancak, YOLOv7 birleştirme tabanlı yaklaşımından YOLOv8 bağlantısız tasarımına yapılan mimari geçişi anlamak, belirli bilgisayar görme görevleriniz için doğru aracı seçmek açısından çok önemlidir.
Performans Metrikleri Karşılaştırması
Aşağıdaki tablo performans ödünleşimlerini göstermektedir. YOLOv8 genel olarak hız ve doğruluk arasında üstün bir denge sunar, özellikle de Ultralytics eğitim ve dağıtımdaki verimliliği göz önüne alındığında.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Ultralytics YOLOv8: Modern Standart
YOLOv8 , çapa içermeyen algılama başlığı ve ayrıştırılmış mimariyi benimseyerek YOLO önemli bir dönüşüm YOLOv8 . Bu tasarım seçimi, manuel çapa kutusu hesaplama ihtiyacını ortadan kaldırarak eğitim sürecini basitleştirir ve modeli çeşitli veri kümelerinde daha sağlam hale getirir.
YOLOv8 :
- Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Kuruluş:Ultralytics
- Tarih: 2023-01-10
- GitHub:Ultralytics Deposu
Mimari ve İnovasyon
YOLOv8 , önceki sürümlerde kullanılan C3 modülünün yerine C2f modülünü (iki konvolüsyonlu Çapraz Aşamalı Kısmi Darboğaz) YOLOv8 . C2f modülü, gradyan akışını iyileştirir ve modelin hafif özelliklerini korurken daha karmaşık özellik temsillerini öğrenmesini sağlar.
YOLOv8 en önemli gücü YOLOv8 doğal çok yönlülüğüdür. Farklı görevler için ayrı dallar gerektiren eski depolardan farklı olarak, YOLOv8 tek bir çerçeve içinde nesne algılama, örnek segmentasyonu, poz tahmini, sınıflandırma ve Yönlendirilmiş Sınırlayıcı Kutular (OBB) YOLOv8 .
YOLOv8 hakkında daha fazla bilgi edinin.
YOLOv7: Bir Araştırma Dönüm Noktası
2022 ortasında piyasaya sürülen YOLOv7 , "Trainable bag-of-freebies" aracılığıyla mimari optimizasyona büyük YOLOv7 . O dönemde çapa tabanlı dedektörlerle mümkün olanın sınırlarını zorladı.
YOLOv7 Detayları:
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2022-07-06
- Arxiv:YOLOv7: Eğitilebilir ücretsiz ekstralar, yeniState-of-the-art belirliyor
- GitHub:WongKinYiu/yolov7
Mimari Yaklaşım
YOLOv7 , E-ELAN (Genişletilmiş Verimli Katman Birleştirme Ağı) mimarisini YOLOv7 . Bu tasarım, ağın daha etkili bir şekilde öğrenmesini sağlamak için en kısa ve en uzun gradyan yollarını kontrol etmeye odaklanır. Yüksek doğrulukta olmasına rağmen, mimari karmaşıktır ve özel verilerde optimum performans için özel ayarlamalar gerektirebilen bağlantı kutularına dayanır.
YOLOv7 hakkında daha fazla bilgi edinin.
Teknik Karşılaştırma ve Kullanım Örnekleri
1. Kullanım Kolaylığı ve Ekosistem
En önemli fark, ekosistemdir. YOLOv8 aracılığıyla dağıtılır ultralytics pip paketi, "sıfırdan kahramana" bir deneyim sunuyor. Geliştiriciler erişebilir önceden eğitilmiş modeller ve dakikalar içinde eğitime başlayın.
Buna karşılık, YOLOv7 öncelikle bir araştırma YOLOv7 . Güçlü olmasına rağmen, standartlaştırılmış API, TensorBoard gibi araçlarla sorunsuz entegrasyon ve Ultralytics kapsamlı belgelere sahip değildir.
2. Eğitim Verimliliği ve Bellek
Ultralytics , eğitim verimlilikleriyle ünlüdür. YOLOv8 , CUDA kullanımını YOLOv8 ve genellikle Transformer tabanlı modellere veya eski YOLOv7 kıyasla daha büyük parti boyutlarına olanak tanır. Bu verimlilik, daha düşük bulut bilişim maliyetleri ve daha hızlı yineleme süreleri anlamına gelir.
Entegre İhracat
Dağıtımda en büyük sorunlardan biri modellerin dönüştürülmesidir. YOLOv8 , tek satırlık bir komutla bunu YOLOv8 ONNX, TensorRT, CoreML ve TFLite dışa aktarmak için tek satırlık bir komutla basitleştirir ve modelinizin herhangi bir uç cihazda çalışmasını sağlar.
3. İdeal Kullanım Örnekleri
- Bakımı kolay, birden fazla bilgisayar görme görevini ( izleme ve segmentasyon gibi) destekleyen ve Raspberry Pi gibi uç cihazlara kolayca dağıtılabilen, üretime hazır bir çözüme ihtiyacınız varsa YOLOv8 seçin.
- Eski çapa tabanlı mimarileri karşılaştıran akademik araştırma yapıyorsanız veya 2022 benchmark sonuçlarını yeniden üretmeniz gerekiyorsa YOLOv7 seçin.
Gelecek: YOLO26
YOLOv8 YOLOv7 mükemmel modeller YOLOv7 da, bu alan hızla gelişmektedir. Ultralytics tüm yeni projeler için önerilen model olan YOLO26'yı piyasaya sürdü.
YOLO26, uçtan uca NMS bir tasarım sunarak, Non-Maximum Suppression son işlemine olan ihtiyacı ortadan kaldırır. Bu, önemli ölçüde daha basit dağıtım süreçleri ve daha düşük gecikme süresi ile sonuçlanır. Ayrıca YOLO26, Distribution Focal Loss (DFL) özelliğini kaldırır ve LLM eğitiminden esinlenerek SGD Muon'un birleşiminden oluşan MuSGD Optimizer'ıkullanarak istikrarlı bir eğitim ve daha hızlı yakınsama sağlar.
ProgLoss ve STAL (Soft-Target Anchor Loss) ile YOLO26, %43'e kadar daha hızlı CPU sunarak, uç bilgi işlem ve gerçek zamanlı analiz için en iyi seçimdir.
YOLO26 hakkında daha fazla bilgi edinin
Kod Örnekleri
Ultralytics , iş akışını birleştirir. En son teknolojiye sahip YOLOv8 eğitebilir veya hatta minimum kodla eski yapılandırmaları yükleyebilirsiniz.
from ultralytics import YOLO
# Load the recommended model (YOLO26 or YOLOv8)
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
# The unified API handles data augmentation and memory management automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for deployment
model.export(format="onnx")
Diğer mimarilerle ilgilenen araştırmacılar için Ultralytics ayrıca şunları da kapsamaktadır YOLOv5, YOLOv9ve YOLO11ile her senaryo için en iyi araçlara sahip olmanızı sağlar.