YOLOv8 ve YOLOv7#
Bilgisayarlı görü alanı sürekli gelişiyor ve yeni mimariler gerçek zamanlı nesne tespitinde mümkün olanın sınırlarını zorluyor. Bu kapsamlı incelemede, etkisi büyük iki modeli karşılaştırıyoruz: Ultralytics YOLOv8 ve YOLOv7. Her iki model de karmaşık görsel görevleri çözmek için özgün yaklaşımlar sunarak geliştirici topluluğunu ve akademik araştırmaları önemli ölçüde etkiledi.
Bu iki model arasındaki yapısal ve yöntemsel farkları anlamak, dağıtım işlem hatlarını iyileştirmek isteyen makine öğrenimi mühendisleri için kritik önem taşıyor. YOLOv7 ham iş hacmine yönelik güçlü bir "ücretsiz avantajlar" yaklaşımı sunarken, Ultralytics YOLOv8 yüksek doğruluğu düşük bellek tüketimi ve çok görevli çok yönlülükle dengeleyen bütünsel, 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 mimari açıdan büyük bir değişimi temsil ediyor. Yalnızca gerçek zamanlı bir nesne algılayıcısı olmanın ötesinde, kutudan çıktığı hâliyle çok çeşitli görsel görevleri yerine getirebilen birleşik bir çerçeve olarak baştan tasarlandı.
- 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 ve çapasız bir algılama başlığı sundu. Bu yaklaşım, özel veri kümenin dağılımına göre çapa kutularını elle yapılandırma gereksinimini ortadan kaldırarak eğitim sürecini temelden basitleştiriyor. Bu tasarım tercihi, modeli farklı ortamlara karşı son derece dayanıklı ve kolay genellenebilir hâle getiriyor.
Ayrıca mimari, 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 yenilik olan C2f modülünü (iki evrişimli Cross-Stage Partial darboğazı) içeriyor. Bu özellik, PyTorch gibi standart derin öğrenme çerçeveleri üzerinden çıkarım yaparken modeli son derece verimli kılıyor.
Ultralytics YOLO modelleri, eğitim verimliliğini en üst düzeye çıkarmak için tasarlanmıştır. Eğitim sırasında genellikle Transformer tabanlı mimarilere veya daha ağır CNN'lere kıyasla çok daha az CUDA belleği gerektirirler. Böylece tüketici sınıfı donanımlarda daha büyük toplu iş boyutlarıyla eğitim yapabilir ve geliştirme döngünü hızlandırabilirsin.
YOLOv7: "Ücretsiz Avantajlar" Yaklaşımı#
YOLOv7 2022'nin ortalarında tanıtıldı ve akademik çevrelerde kısa sürede 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 yoğun biçimde odaklandı.
- Yazarlar: Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao
- Kuruluş: Academia Sinica, Tayvan, Bilgi Bilimleri Enstitüsü
- 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 Toplama Ağı (E-ELAN) kullanıyor. Büyük ölçüde çapa tabanlı bir yaklaşıma dayanıyor ve çıkarım maliyetini artırmadan doğruluğu iyileştiren bir dizi optimizasyon yöntemi olan eğitilebilir "ücretsiz avantajlar" sunuyor.
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 elle 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 ölçüttür. Aşağıdaki tabloda her iki modelin metrikleri özetleniyor.
| 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.1 |
| 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, mutlak doğrulukta en yüksek değere (53.9 mAP) ulaşıyor; nano varyantı (YOLOv8n) ise olağanüstü çıkarım hızı ve son derece hafif boyut sunuyor. Bu çeşitlilik, YOLOv8'i kısıtlı donanım ortamlarına çok daha uyarlanabilir kılıyor.
Ultralytics'in Avantajı: Kullanım Kolaylığı ve Ekosistem#
YOLOv7 ham algılama metriklerinde güçlü olsa da Ultralytics YOLOv8, geliştirici deneyimi, ekosistem entegrasyonu ve çoklu görev yetenekleri bakımından onu önemli ölçüde geride bırakıyor.
Eşsiz Çok Yönlülük#
YOLOv7 öncelikle bir algılama modelidir ve diğer görevler için deneysel dallara sahiptir. Buna karşılık YOLOv8, yerel olarak Nesne Tespiti, Örnek Segmentasyonu, Görüntü Sınıflandırma, Poz Tahmini ve Yönlendirilmiş Sınırlayıcı Kutuları (OBB) destekler. Bu birleşik yaklaşım, ekibin tek bir API öğrenip bunu birbirinden tamamen farklı proje gereksinimlerinde kullanabilmesini sağlar.
Kolaylaştırılmış Dağıtım ve Entegrasyonlar#
Bir modeli üretimde kullanmak üzere 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 aktarım yapmasını sağlar. Böylece karmaşık çapa tabanlı grafikleri dışa aktarırken bazen karşılaşılan operatör desteği sorunları önlenir.
Ayrıca YOLOv8, MLOps araçlarıyla sorunsuz biçimde bütünleşir. İster Weights & Biases ile deneyleri izle ister Hugging Face Spaces üzerinde dağıtımları test et; Ultralytics ekosistemi zorlu işleri senin yerine halleder.
Kod Örneği: YOLOv8'i Eğitme ve Dışa Aktarma#
Aşağıdaki kod, Ultralytics Python API'sinin ne kadar kolay kullanıldığını gösteriyor. Modeli başlatmaktan eğitmeye ve uç dağıtım için dışa aktarmaya on satırdan kısa sürede geçebilirsin.
from ultralytics import YOLO
# Hızlı çıkarım için önceden eğitilmiş nano YOLOv8 modelini yükle
model = YOLO("yolov8n.pt")
# Modeli COCO8 veri kümesinde eğit
# API, veri yükleme, artırma ve günlük kaydı işlemlerini otomatik olarak yönetir
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Bir test görüntüsü üzerinde çıkarım yap
predictions = model("https://ultralytics.com/images/bus.jpg")
# Eğitilmiş modeli dağıtım için ONNX biçiminde dışa aktar
model.export(format="onnx")model.export() fonksiyonunu kullanmak, yüksek performanslı çıkarım motorlarına doğrudan geçiş olanağı sağlar ve YOLOv8'i mobil uygulamalara, gömülü sistemlere veya yüksek iş hacimli bulut sunucularına kolayca entegre etmene imkân verir.
Gerçek Dünya Kullanım Senaryoları#
İki model arasındaki mimari farklar, ideal dağıtım senaryolarını belirler.
YOLOv8'i Ne Zaman Seçmeli:
- Uç Yapay Zekâ ve IoT Cihazları: Son derece hızlı Nano ve Small modelleri sayesinde YOLOv8, akıllı kameralar veya dronlar gibi işlem gücü kısıtlı donanımlar için idealdir.
- Çok Görevli Projeler: İşlem hattının engellerin haritasını çıkarırken (Segmentasyon) aynı anda insan eklemlerini izlemesi (Poz Tahmini) gerekiyorsa YOLOv8 bu görevleri yerel olarak yerine getirir.
- Hızlı Prototiplemeden Üretime: Kapsamlı Ultralytics belgeleri ve sorunsuz Python API'si, ekiplerin ürünleri daha hızlı pazara sunmasına yardımcı olur.
YOLOv7'yi Ne Zaman Değerlendirmeli:
- Akademik Kıyaslama: Yeniden parametreleştirme tekniklerinin etkilerini inceleyen araştırmacılar, Hugging Face Papers üzerindeki popülerliğinin de gösterdiği gibi, standart bir temel model olarak çoğu zaman YOLOv7'yi kullanır.
- Eski Sunucu İşlem Hatları: Mevcut ve yüksek işlem gücü gerektiren bir işlem hattı, YOLOv7'nin belirli çapa çıktılarına göre zaten sıkı biçimde optimize edilmişse kısa vadede bu yapıyı korumak pratik olabilir.
İleriye Bakış: Yeni Nesil#
YOLOv8 çok yönlü bir güç merkezi olmayı sürdürse de yapay zekâ dünyası hızla değişiyor. Yeni projelere başlayan ekiplerin Ultralytics ürün ailesindeki en yeni gelişmeleri incelemesini önemle öneriyoruz.
En yeni nesil YOLO26, günümüz görüntü yapay zekâsının zirvesini temsil eder. Daha basit ve hızlı dağıtım için Maksimum Olmayan Bastırma son işlemini atlayan bir Uçtan Uca NMS'siz Tasarım seçeneği (nms=False) sunar. Distribution Focal Loss'un (DFL) kaldırılması ve LLM'den ilham alan MuSGD Optimizer'ın kullanıma sunulmasıyla YOLO26, daha kararlı eğitim ve CPU çıkarımında %43'e kadar hız artışı sağlar. Gelişmiş ProgLoss + STAL kayıp fonksiyonları, küçük nesne tanımayı önemli ölçüde iyileştirerek YOLO26'yı modern uç bilişim ve hava görüntüleri için ideal seçenek hâline getirir.
Eski sistemlerden geçiş yapan kullanıcılar için güçlü YOLO11 ve klasik YOLOv5 modelleri de birleşik Ultralytics ekosisteminde tam olarak desteklenmeye devam ediyor. Böylece donanım kısıtlamaların ne olursa olsun dağıtıma hazır, verimli ve yüksek performanslı bir model bulabilirsin.