YOLOv8 ve YOLOv7: Kapsamlı Bir Teknik Karşılaştırma
Bilgisayarlı görü alanı sürekli gelişiyor ve yeni mimariler, gerçek zamanlı nesne algılamada mümkün olanın sınırlarını zorluyor. Bu derinlemesine incelemede, oldukça etkili iki modeli karşılaştırıyoruz: Ultralytics YOLOv8 ve YOLOv7. Her iki model de geliştirici topluluğunu ve akademik araştırmaları önemli ölçüde etkileyerek karmaşık görsel görevleri çözmek için benzersiz yaklaşımlar sunmuştur.
Bu iki model arasındaki yapısal ve yöntemsel farkları anlamak, dağıtım hatlarını optimize etmek isteyen makine öğrenimi mühendisleri için çok önemlidir. YOLOv7, ham işleme kapasitesi için özel olarak uyarlanmış güçlü bir "bag-of-freebies" yaklaşımı sunarken, Ultralytics YOLOv8 yüksek doğruluğu düşük bellek tüketimi ve çok görevli çok yönlülük ile dengeleyen bütünsel, kullanımı kolay bir ekosistem oluşturmaya odaklanmıştır.
Ultralytics YOLOv8: Çok Yönlü Ekosistem Standardı
2023'ün başlarında Ultralytics tarafından yayınlanan YOLOv8, seleflerinden büyük bir mimari geçişi temsil ediyor. Sadece gerçek zamanlı bir nesne algılayıcıdan daha fazlası olması için sıfırdan tasarlandı; çok çeşitli görüntü görevlerini kutudan çıkar çıkmaz ele alabilen birleşik bir çerçevedir.
- Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Organizasyon: Ultralytics
- Tarih: 2023-01-10
- GitHub: ultralytics/ultralytics
- Dokümantasyon: YOLOv8 Dokümantasyonu
Mimari Yenilikler
YOLOv8, yenilikçi bir anchor-free (çapa gerektirmeyen) algılama başlığı getirdi. Bu, özel veri setinin dağılımına göre çapa kutularını manuel olarak yapılandırma ihtiyacını ortadan kaldırarak eğitim sürecini temelden basitleştirir. Bu tasarım seçimi, modeli oldukça sağlam hale getirir ve farklı ortamlarda genelleştirilmesini kolaylaştırır.
Ek olarak mimari, gradyan akışını iyileştiren ve sinir ağının hesaplama maliyetini önemli ölçüde artırmadan daha zengin özellik temsilleri öğrenmesini sağlayan yapısal bir yükseltme olan C2f modülüne (iki konvolüsyonlu Çapraz Aşamalı Kısmi dar boğaz) sahiptir. Bu, PyTorch gibi standart derin öğrenme çerçeveleri aracılığıyla çıkarım çalıştırırken modeli oldukça verimli hale getirir.
YOLOv8 hakkında daha fazla bilgi edin
Ultralytics YOLO modelleri, zirve eğitim verimliliği için tasarlanmıştır. Genellikle transformer tabanlı mimarilere veya daha ağır CNN'lere kıyasla eğitim sırasında önemli ölçüde daha az CUDA belleği gerektirirler. Bu, geliştirme döngünüzü hızlandırarak tüketici sınıfı donanımlarda daha büyük toplu iş boyutlarıyla eğitim yapmanızı sağlar.
YOLOv7: "Bag-of-Freebies" Yaklaşımı
YOLOv7, 2022'nin ortalarında tanıtıldı ve akademik çevrelerde hızla popüler bir temel model haline geldi. Üst düzey GPU'larda gerçek zamanlı nesne algılamanın sınırlarını zorlamak için mimari yeniden parametrelendirme ve gradyan yolu optimizasyonuna büyük ölçüde odaklandı.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Organizasyon: Institute of Information Science, Academia Sinica, Tayvan
- Tarih: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
Mimari Yenilikler
YOLOv7, modelin daha çeşitli özellikleri sürekli olarak öğrenmesini sağlayan bir Genişletilmiş Verimli Katman Toplama Ağı (E-ELAN) kullanır. Çapa tabanlı bir paradigmaya büyük ölçüde güvenir ve çıkarım maliyetini artırmadan doğruluğu artıran bir dizi optimizasyon yöntemi olan eğitilebilir bir "bag-of-freebies" sunar.
YOLOv7, MS COCO dataset gibi standart akademik kıyaslamalarda mükemmel performans elde etse de, mimarisi sunucu sınıfı hızlandırıcılar için yoğun bir şekilde optimize edilmiştir. Bu modelleri uç cihazlara aktarmak ve dağıtmak, daha modern ve optimize edilmiş çerçevelere kıyasla bazen daha fazla manuel yapılandırma gerektirebilir.
YOLOv7 hakkında daha fazla bilgi edinin
Ayrıntılı Performans Karşılaştırması
Bu modelleri değerlendirirken hız, doğruluk ve model boyutu arasındaki ödünleşim birincil husustur. Aşağıdaki tablo her iki modelin metriklerini vurgular.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (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 |
Verilerde görüldüğü gibi, YOLOv8x en yüksek mutlak doğruluğu (53.9 mAP) sağlarken, nano varyant (YOLOv8n) olağanüstü çıkarım hızları ve inanılmaz derecede hafif bir ayak izi sunar. Bu çeşitlilik, YOLOv8'i kısıtlı donanım ortamlarına çok daha uyumlu hale getirir.
Ultralytics Avantajı: Kullanım Kolaylığı ve Ekosistem
YOLOv7 güçlü ham algılama metrikleri sağlasa da, Ultralytics YOLOv8 geliştirici deneyimi, ekosistem entegrasyonu ve çoklu görev yetenekleri açısından ondan önemli ölçüde daha üstündür.
Eşsiz Çok Yönlülük
YOLOv7 öncelikle bir algılama modelidir ve diğer görevler için deneysel dalları vardır. Buna karşılık YOLOv8, Object Detection, Instance Segmentation, Image Classification, Pose Estimation ve Oriented Bounding Boxes (OBB) özelliklerini yerel olarak destekler. Bu birleşik yaklaşım, bir ekibin tek bir API öğrenebileceği ve bunu tamamen farklı proje gereksinimlerinde uygulayabileceği anlamına gelir.
Optimize Edilmiş Dağıtım ve Entegrasyonlar
Üretim için bir model dışa aktarmak genellikle bir darboğaz olabilir. Ultralytics paketi, geliştiricilerin ONNX, TensorRT ve CoreML gibi formatlara tek satırlık Python koduyla dışa aktarma yapmasına olanak tanır. Bu, karmaşık çapa tabanlı grafikler dışa aktarılırken bazen karşılaşılan operatör destek sorunlarını önler.
Dahası, YOLOv8, MLOps araçlarıyla sorunsuz bir şekilde entegre olur. Deneyleri Weights & Biases ile izliyor veya dağıtımları Hugging Face Spaces üzerinde test ediyor olsanız da, Ultralytics ekosistemi tüm ağır işleri üstlenir.
Kod Örneği: YOLOv8 Eğitimi ve Dışa Aktarımı
Aşağıdaki kod, Ultralytics Python API'sinin basitliğini göstermektedir. Bir modeli başlatmaktan eğitmeye ve uç dağıtım için dışa aktarmaya kadar on satırdan kısa bir sürede ilerleyebilirsiniz.
from ultralytics import YOLO
# Load a pretrained YOLOv8 nano model for fast inference
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
# The API handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export the trained model to ONNX format for deployment
model.export(format="onnx")model.export() işlevini kullanmak, yüksek performanslı çıkarım motorlarına anında bir köprü sağlar ve YOLOv8'i mobil uygulamalara, gömülü sistemlere veya yüksek iş hacimli bulut sunucularına kolayca entegre etmenize olanak tanır.
Gerçek Dünya Kullanım Durumları
İki model arasındaki mimari farklılıklar, ideal dağıtım senaryolarını belirler.
Ne Zaman YOLOv8 Seçilmeli:
- Uç Yapay Zeka ve IoT Cihazları: Ultra hızlı Nano ve Small modellerinin kullanılabilirliği, YOLOv8'i akıllı kameralar veya drone'lar gibi sınırlı hesaplama gücüne sahip donanımlar için mükemmel kılar.
- Çok Görevli Projeler: Hattın, engelleri haritalarken (Segmentasyon) aynı zamanda insan eklemlerini takip etmeyi (Poz Tahmini) gerektiriyorsa, YOLOv8 bunu yerel olarak halleder.
- Hızlı Prototiplemeden Üretime: Kapsamlı Ultralytics dokümantasyonu ve sürtünmesiz Python API, ekiplerin ürünleri daha hızlı pazara sunmasını sağlar.
Ne Zaman YOLOv7 Düşünülmeli:
- Akademik Kıyaslama: Yeniden parametrelendirme tekniklerinin etkilerini inceleyen araştırmacılar, Papers With Code üzerindeki popülaritesinin de gösterdiği gibi, genellikle standart bir temel model olarak YOLOv7'yi kullanırlar.
- Eski Sunucu Hatları: Mevcut ağır hesaplama gerektiren bir hat zaten YOLOv7'nin belirli çapa çıktılarına göre kesin olarak optimize edilmişse, kısa vadede bunu sürdürmek pratik olabilir.
Geleceğe Bakış: Yeni Nesil
YOLOv8 çok yönlü bir güç merkezi olmaya devam etse de, yapay zeka manzarası hızla değişiyor. Yeni projelere başlayan ekipler için, Ultralytics serisindeki en son gelişmeleri keşfetmelerini şiddetle öneririz.
En yeni nesil YOLO26, mevcut görsel yapay zekanın zirvesini temsil eder. Daha basit ve daha hızlı dağıtım için Maksimum Olmayan Bastırma (NMS) sonrası işlemeyi ortadan kaldıran Uçtan Uca NMS-Free Tasarım özelliğine sahiptir. Distribution Focal Loss (DFL) kaldırılarak ve LLM'den ilham alan MuSGD Optimizer eklenerek, YOLO26 daha kararlı bir eğitim ve %43'e kadar daha hızlı CPU çıkarımı sunar. Gelişmiş ProgLoss + STAL kayıp fonksiyonları, küçük nesne tanımayı önemli ölçüde iyileştirerek onu modern uç bilişim ve hava görüntüleri için nihai seçim haline getirir.
Eski sistemlerden geçiş yapan kullanıcılar için, oldukça yetenekli YOLO11 ve klasik YOLOv5 de birleşik Ultralytics ekosistemi içinde tam olarak desteklenmeye devam eder, böylece donanım kısıtlamalarınız ne olursa olsun, dağıtılmaya hazır optimize edilmiş, yüksek performanslı bir model bulunduğundan emin olursunuz.