İçeriğe geç

YOLOv7 YOLOv8: Gerçek Zamanlı Nesne Algılamanın Evrimi

Bilgisayar görüşü alanı, hızlı yinelemeler ve mimari atılımlarla tanımlanır. Bu tarihteki en önemli iki dönüm noktası, 2022 ortalarında piyasaya sürülen YOLOv7 ve 2023 başlarında Ultralytics tarafından piyasaya sürülen YOLOv8'dir. Her iki model de piyasaya sürüldüklerinde en son teknolojiyi (SOTA) zorlamış olsa da, model tasarımı ve geliştirici deneyiminde farklı felsefeleri temsil etmektedirler.

YOLOv7, çapa tabanlı detectörler için "bag-of-freebies" yaklaşımının optimizasyonunda bir zirveye işaret etti ve eğitilebilir mimari stratejilerine yoğun bir şekilde odaklandı. Tersine, YOLOv8, kullanım kolaylığını, model dağıtımını ve segmentasyon ve poz tahmini gibi çeşitli görevler için birleşik desteği önceliklendiren çapasız bir mimariye geçiş yaparak kullanıcı merkezli bir ekosistem yaklaşımı sundu.

Performans Karşılaştırması

Aşağıdaki tablo, YOLOv7 ve YOLOv8 modellerinin performans metriklerini göstermektedir. YOLOv8, özellikle parametre sayısı ve FLOPs açısından üstün verimlilik sergilerken, selefinin doğruluğunu (mAP) korumakta veya aşmaktadır.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametreler
(M)
FLOP'lar
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

YOLOv7: Çapa Tabanlı Güç Merkezi

Temmuz 2022'de piyasaya sürülen YOLOv7, gerçek zamanlı nesne detect hızının ve doğruluğunun sınırlarını zorlamak için tasarlandı. Gradyan yayılım yolunu optimize etmeyi amaçlayan çeşitli mimari yenilikler sundu.

Temel Mimari Özellikler

YOLOv7, Genişletilmiş Verimli Katman Birleştirme Ağı (E-ELAN)'nı tanıttı. Bu mimari, en kısa ve en uzun gradyan yollarını kontrol ederek modelin daha çeşitli özellikler öğrenmesini sağlar ve gradyan akışını bozmadan ağın etkili bir şekilde yakınsamasını garanti eder.

Aynı zamanda, blok derinliğini ve genişliğini eş zamanlı olarak ayarlayan birleştirmeye dayalı model ölçeklendirme kullandı. Etkili olmasına rağmen, bu mimari anchor box'lara dayanır ve özel veri kümeleri için maksimum performans elde etmek amacıyla optimal anchor'ların hesaplanmasını gerektirir. Bu durum, daha yeni anchor-free yaklaşımlara kıyasla eğitim sürecine ek bir karmaşıklık katmanı ekler.

Eğitim Karmaşıklığı

YOLOv7 genellikle belirli bir araştırma odaklı depo yapısı ve eğitim sırasında yardımcı başlıkların manuel yönetimini gerektirir. Kullanıcılar, "bag-of-freebies" (MixUp veya Mosaic gibi) özelliklerinin daha küçük veri kümelerinde doğru şekilde çalışması için hiperparametreleri sıklıkla manuel olarak ayarlamak zorundadır.

YOLOv8: Birleşik Ekosistem ve Çapasız Tasarım

Ultralytics YOLOv8, saf bir araştırma aracından kurumsal düzeyde bir çerçeveye bir paradigma değişimi temsil etti. Veri etiketlemeden dağıtıma kadar tüm makine öğrenimi yaşam döngüsünü kolaylaştırdı.

YOLOv8 hakkında daha fazla bilgi edinin.

Mimari Yenilikler

YOLOv8, son teknoloji, anchor-free bir modeldir. Önceden tanımlanmış anchor box'lara olan ihtiyacı ortadan kaldırarak, YOLOv8 algılama başlığını basitleştirir ve alışılmadık şekillere veya en boy oranlarına sahip nesneler üzerindeki genelleme yeteneğini geliştirir.

  1. C2f Modülü: Önceki nesillerdeki C3 modülünün yerini alan C2f modülü (ELAN'dan esinlenilmiştir), gradyan akışını iyileştirmek için üst düzey özellikleri bağlamsal bilgilerle birleştirirken hafifliğini korur.
  2. Ayrık Başlık: YOLOv8, nesne tespiti, sınıflandırma ve regresyon görevlerini farklı dallara ayırır. Bu ayrım, modelin daha hızlı ve daha doğru yakınsamasını sağlar.
  3. Görev Çok Yönlülüğü: Esas olarak bir detect modeli olan YOLOv7'nin aksine, YOLOv8 doğal olarak görüntü sınıflandırmayı, poz tahmini, yönlendirilmiş sınırlayıcı kutuları (obb) ve örnek segmentasyonu destekler.

Detaylı Karşılaştırma: Geliştiriciler Neden Ultralytics'i Seçiyor?

YOLOv7 yetenekli bir model olmaya devam etse de, YOLOv8 (ve daha yeni YOLO26) etrafındaki Ultralytics ekosistemi geliştiriciler ve araştırmacılar için belirgin avantajlar sunar.

1. Kullanım Kolaylığı ve Ekosistem

YOLOv7 öncelikli olarak bir araştırma deposu olarak dağıtılır. Onu eğitmek genellikle belirli bir GitHub deposunu klonlamayı, klasörleri katı bir yapıda düzenlemeyi ve karmaşık CLI dizeleri çalıştırmayı gerektirir.

Buna karşılık, Ultralytics modelleri standart bir python paketi olarak mevcuttur (pip install ultralytics). Şunu Ultralytics Platform veri kümesi yönetimi ve eğitim izleme için grafiksel bir arayüz sağlayarak bunu daha da basitleştirir. Bu "sıfırdan kahramana" deneyimi, yapay zeka geliştirme için giriş engelini önemli ölçüde azaltır.

2. Eğitim Verimliliği ve Bellek

Modern yapay zekada en kritik faktörlerden biri kaynak kullanımıdır. Transformer tabanlı modeller genellikle büyük miktarda CUDA belleği gerektirir ve eğitilmesi günler sürer. Ultralytics YOLO modelleri eğitim verimliliği için optimize edilmiştir.

YOLOv8, mozaik artırmayı dinamik olarak kullanır ve hassasiyeti artırmak için son epoch'larda kapatır. Bu durum, optimize edilmiş bir veri yükleyici ile birleştiğinde, kullanıcıların YOLOv7 veya RT-DETR gibi transformer tabanlı alternatiflere kıyasla tüketici sınıfı GPU'larda daha büyük batch boyutları çalıştırmasına olanak tanır.

3. Dağıtım ve Dışa Aktarma

Bir modeli bir PyTorch checkpoint'inden bir üretim cihazına taşımak genellikle hattın en zor kısmıdır. YOLOv8, bunu birleşik bir dışa aktarma modu ile basitleştirir.

Tek bir kod satırı ile geliştiriciler YOLOv8'i şuraya aktarabilir:

  • Genel çapraz platform uyumluluğu için ONNX.
  • NVIDIA GPU'larda maksimum çıkarım hızı için TensorRT.
  • iOS ve macOS uygulamalarına entegrasyon için CoreML.
  • Android veya Raspberry Pi üzerinde mobil ve uç dağıtım için TFLite.

Dışa Aktarma Örneği

Bir YOLOv8 modelini dışa aktarmak, python API'si aracılığıyla sorunsuzdur:

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(format="onnx", opset=12)

Kod Örneği: Birleşik API

Ultralytics python API'si, model mimarileri arasında zahmetsizce geçiş yapmanızı sağlar. Aynı arayüzü kullanarak bir YOLOv8 modeli veya (eski uyumluluk için desteklenen) bir YOLOv7 modeli 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: Eğer 2022/2023'ten, özellikle E-ELAN mimarisiyle karşılaştırma yapan akademik makaleleri yeniden üretiyorsanız.
  • Belirli Yüksek Çözünürlüklü Girişler: yolov7-w6 varyantlar 1280 piksel girişler için özel olarak ayarlanmıştı, ancak modern Ultralytics modelleri artık P6/1280 çözünürlüklerini doğal olarak işleyebiliyor.

Ne Zaman YOLOv8 Kullanılmalı

  • Uç Bilişim: Gibi modeller yolov8n için mükemmeldir Raspberry Pi üzerinde çalışmak veya Jetson Nano üzerinde çalışmak için düşük parametre sayıları ve yüksek hızları sayesinde idealdir.
  • Çok Görevli Uygulamalar: Uygulamanız insanları track etmeyi ve aynı anda pozlarını (iskeletlerini) tanımlamayı gerektiriyorsa, YOLOv8'in yerel poz tahmini ideal seçimdir.
  • Endüstriyel Otomasyon: Gecikmenin kritik olduğu yüksek verimli üretim hatları için, TensorRT'ye dışa aktarma kolaylığı YOLOv8'i üstün kılar.
  • Hızlı Prototipleme: Ultralytics Platformu, ekiplerin karmaşık altyapıyı yönetmeden veri kümeleri ve modeller üzerinde hızlı bir şekilde yineleme yapmasına olanak tanır.

İleriye Bakış: YOLO26'nın Gücü

YOLOv7 ile karşılaştırma YOLOv8'in güçlü yönlerini vurgulasa da, alan gelişmeye devam etti. Bugün yeni projelere başlayan geliştiriciler için YOLO26 bu evrimin zirvesini temsil etmektedir.

YOLO26, YOLOv8'in kullanım kolaylığı üzerine inşa edilmiş olup, Uçtan Uca NMS-Serbest bir tasarım sunar. Non-Maximum Suppression (NMS) son işlemeyi ortadan kaldırarak, YOLO26 önemli ölçüde daha basit dağıtım mantığı ve karmaşık sahnelerde daha düşük gecikme elde eder. Ayrıca, Büyük Dil Modeli (LLM) eğitim tekniklerinden esinlenerek MuSGD Optimizer'ı içerir ve eğitim sırasında daha da istikrarlı yakınsama sağlar.

Ayrıca, Distribution Focal Loss (DFL) kaldırılmasıyla, YOLO26 CPU çıkarımında %43'e kadar daha hızlıdır, bu da onu GPU'ların bulunmadığı uç yapay zeka uygulamaları için kesin bir seçim haline getirir. Özel görevler için, Pose için Residual Log-Likelihood Estimation (RLE) ve OBB için özel açı kaybı gibi göreve özel iyileştirmeler sunar.

En geleceğe dönük, verimli ve doğru çözüm için YOLO26'yı incelemenizi öneririz.


Yorumlar