YOLOv8 ve YOLOv7#
Bilgisayarlı görü alanı sürekli gelişiyor; yeni mimariler, gerçek zamanlı nesne tespitinde mümkün olanların sınırlarını zorluyor. Bu derinlemesine incelemede, son derece etkili iki modeli karşılaştırıyoruz: Ultralytics YOLOv8 ve YOLOv7. Her iki model de karmaşık görsel görevleri çözmeye yönelik benzersiz yaklaşımlar sunarak geliştirici topluluğunu ve akademik araştırmaları önemli ölçüde etkiledi.
Bu iki model arasındaki yapısal ve metodolojik farkları anlamak, dağıtım süreçlerini optimize etmek isteyen makine öğrenimi mühendisleri için kritik öneme sahiptir. YOLOv7, ham işlem hacmine göre uyarlanmış güçlü bir "bag-of-freebies" yaklaşımı sunarken, Ultralytics YOLOv8 yüksek doğruluğu düşük bellek tüketimi ve çoklu görev esnekliğiyle dengeleyen, bütünsel ve kullanımı kolay bir ekosistem oluşturmaya odaklandı.
Ultralytics YOLOv8: Çok Yönlü Ekosistem Standardı#
2023'ün başlarında Ultralytics tarafından yayımlanan YOLOv8, önceki sürümlerinden önemli bir mimari sapmayı temsil eder. Yalnızca gerçek zamanlı bir nesne tespit modeli olmaktan öteye geçecek şekilde tasarlandı; çok çeşitli görü görevlerini kutudan çıktığı hâliyle gerçekleştirebilen birleşik bir çerçevedir.
- Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Kuruluş: Ultralytics
- Tarih: 2023-01-10
- GitHub: ultralytics/ultralytics
- Belgeler: YOLOv8 Belgeleri
Mimari Yenilikler#
YOLOv8, yenilikçi bir anchorsız tespit başlığı sunar. Bu yaklaşım, özel veri kümenin dağılımına göre anchor kutularını manuel olarak yapılandırma gereğini ortadan kaldırarak eğitim sürecini temelden basitleştirir. Bu tasarım tercihi, modeli son derece sağlam hâle getirir ve farklı ortamlara genellenmesini kolaylaştırır.
Buna ek olarak mimaride, gradyan akışını iyileştiren ve hesaplama maliyetini ciddi ölçüde artırmadan sinir ağının daha zengin özellik temsilleri öğrenmesini sağlayan yapısal bir yükseltme olan C2f modülü (iki evrişimli Aşamalar Arası Kısmi Darboğaz) bulunur. Bu, modeli PyTorch gibi standart derin öğrenme çerçeveleriyle çıkarım gerçekleştirirken son derece verimli kılar.
Ultralytics YOLO modelleri, en yüksek eğitim verimliliği için tasarlanmıştır. Eğitim sırasında genellikle Transformer tabanlı mimarilere veya daha ağır CNN'lere kıyasla önemli ölçüde daha az CUDA belleği gerektirirler. Bu sayede tüketici sınıfı donanımlarda daha büyük batch boyutlarıyla eğitim yapabilir ve geliştirme döngünü hızlandırabilirsin.
YOLOv7: "Bag-of-Freebies" Yaklaşımı#
YOLOv7, 2022'nin ortalarında tanıtıldı ve akademik çevrelerde hızla popüler bir temel model hâline geldi. Üst düzey GPU'larda gerçek zamanlı nesne tespitinin sınırlarını zorlamak için mimari yeniden parametreleştirmeye ve gradyan yolu optimizasyonuna büyük ölçüde odaklandı.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Institute of Information Science, Academia Sinica, Taiwan
- Tarih: 2022-07-06
- Arxiv: 2207.02696
- GitHub: WongKinYiu/yolov7
Mimari Yenilikler#
YOLOv7, modelin daha çeşitli özellikleri sürekli olarak öğrenmesini sağlayan Genişletilmiş Verimli Katman Birleştirme Ağı (E-ELAN) kullanır. Büyük ölçüde anchor tabanlı bir paradigmayı temel alır ve çıkarım maliyetini artırmadan doğruluğu iyileştiren bir dizi optimizasyon yönteminden oluşan, eğitilebilir bir "bag-of-freebies" yaklaşımı sunar.
YOLOv7, MS COCO veri kümesi gibi standart akademik kıyaslamalarda mükemmel performans gösterse de mimarisi sunucu sınıfı hızlandırıcılar için yoğun biçimde optimize edilmiştir. Bu modelleri uç cihazlara aktarmak ve dağıtmak, daha modern ve yalın çerçevelere kıyasla bazen daha fazla manuel yapılandırma gerektirebilir.
YOLOv7 hakkında daha fazla bilgi edin
Ayrıntılı Performans Karşılaştırması#
Bu modelleri değerlendirirken hız, doğruluk ve model boyutu arasındaki denge temel husustur. Aşağıdaki tablo her iki modelin metriklerini öne çıkarır.
| 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üğü üzere YOLOv8x en yüksek mutlak doğruluğa (53.9 mAP) ulaşırken nano varyantı (YOLOv8n), olağanüstü çıkarım hızları ve son derece küçük boyutuyla öne çıkar. Bu çeşitlilik, YOLOv8'i kısıtlı donanım ortamlarına çok daha uyarlanabilir hâle getirir.
Ultralytics Avantajı: Kullanım Kolaylığı ve Ekosistem#
YOLOv7 güçlü ham tespit metrikleri sunsa da Ultralytics YOLOv8, geliştirici deneyimi, ekosistem entegrasyonu ve çoklu görev yetenekleri açısından onu belirgin biçimde geride bırakır.
Eşsiz Çok Yönlülük#
YOLOv7, diğer görevler için deneysel dalları bulunan, öncelikli olarak bir tespit modelidir. Buna karşılık YOLOv8, yerel olarak Nesne Tespiti, Örnek Bölütleme, Görüntü Sınıflandırma, Poz Tahmini ve Yönlendirilmiş Sınırlayıcı Kutular (OBB) görevlerini destekler. Bu birleşik yaklaşım, bir ekibin tek bir API öğrenip bunu tamamen farklı proje gereksinimlerinde kullanabilmesi anlamına gelir.
Yalınlaştırılmış Dağıtım ve Entegrasyonlar#
Bir modeli üretim için dışa aktarmak çoğu zaman darboğaz oluşturabilir. Ultralytics paketi, geliştiricilerin tek satır Python koduyla ONNX, TensorRT ve CoreML gibi biçimlere dışa aktarmasına olanak tanır. Bu, karmaşık anchor tabanlı grafikleri dışa aktarırken zaman zaman karşılaşılan operatör desteği sorunlarını önler.
Ayrıca YOLOv8, MLOps araçlarıyla sorunsuz biçimde entegre olur. İster deneylerini Weights & Biases ile takip ediyor ister dağıtımlarını Hugging Face Spaces üzerinde test ediyor ol, Ultralytics ekosistemi ağır işlerin üstesinden gelir.
Kod Örneği: YOLOv8'i Eğitme ve Dışa Aktarma#
Aşağıdaki kod, Ultralytics Python API'sinin ne kadar basit olduğunu gösterir. Modeli başlatmaktan eğitmeye ve uç dağıtım için dışa aktarmaya, on satırdan kısa bir kodla geçebilirsin.
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şlem hacimli bulut sunucularına kolayca entegre etmene olanak tanır.
Gerçek Dünya Kullanım Örnekleri#
İki model arasındaki mimari farklar, ideal dağıtım senaryolarını belirler.
YOLOv8'i Ne Zaman Seçmelisin:
- Uç Yapay Zekâ ve IoT Cihazları: Ultra hızlı Nano ve Small modellerinin bulunması, YOLOv8'i akıllı kameralar veya dronlar gibi hesaplama kapasitesi sınırlı donanımlar için ideal hâle getirir.
- Çoklu Görev Projeleri: İşlem hattın insan eklemlerini izlemeyi (Poz Tahmini) ve aynı anda engelleri haritalamayı (Bölütleme) gerektiriyorsa YOLOv8 bunları yerel olarak gerçekleştirir.
- Hızlı Prototiplemeden Üretime: Kapsamlı Ultralytics belgeleri ve sorunsuz Python API'si, ekiplerin ürünleri daha hızlı pazara sunmasını sağlar.
YOLOv7'yi Ne Zaman Değerlendirmelisin:
- Akademik Kıyaslama: Yeniden parametreleştirme tekniklerinin etkilerini inceleyen araştırmacılar, Papers With Code üzerindeki popülerliğinin de gösterdiği gibi YOLOv7'yi çoğunlukla standart bir temel model olarak kullanır.
- Eski Sunucu İşlem Hatları: Mevcut, yoğun hesaplama gerektiren bir işlem hattı YOLOv7'nin belirli anchor çıktıları etrafında zaten sıkı biçimde optimize edilmişse, kısa vadede bunu korumak pratik olabilir.
İleriye Bakış: Yeni Nesil#
YOLOv8 çok yönlü ve güçlü bir model olmaya devam etse de yapay zekâ dünyası hızla ilerliyor. Yeni projelere başlayan ekiplerin Ultralytics ürün ailesindeki en son gelişmeleri incelemesini önemle tavsiye ediyoruz.
En yeni nesil olan YOLO26, günümüz görü yapay zekâsının zirvesini temsil eder. Daha basit ve hızlı dağıtım için Maksimum Olmayan Bastırma sonrası işlemesini ortadan kaldıran Uçtan Uca NMS'siz Tasarım özelliğine sahiptir. Dağılım Odaklı Kayıp (DFL) kaldırılması ve LLM'den ilham alan MuSGD Optimizasyonunun sunulmasıyla YOLO26, daha kararlı eğitim ve CPU çıkarımında %43'e kadar daha yüksek hız sunar. Gelişmiş ProgLoss + STAL kayıp işlevleri, küçük nesne tanımayı büyük ölçüde iyileştirerek onu modern uç bilişim ve hava görüntüleri için en iyi seçenek hâline getirir.
Eski sistemlerden geçiş yapan kullanıcılar için son derece yetenekli YOLO11 ve klasik YOLOv5 de birleşik Ultralytics ekosistemi içinde tam olarak desteklenmeye devam eder. Böylece donanım kısıtların ne olursa olsun kullanıma hazır, yalın ve yüksek performanslı bir model bulabilirsin.