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

Bilgisayarlı görü alanı, son birkaç yılda dikkate değer ilerlemelere tanıklık etti ve YOLO (You Only Look Once) model ailesi, gerçek zamanlı nesne algılamada öncü rol oynadı. Bilgisayarlı görü projelerin için doğru mimariyi seçmek, mevcut seçeneklerin derinlemesine anlaşılmasını gerektirir. Bu kapsamlı teknik karşılaştırmada, iki önemli mimari olan YOLOv7 ve YOLOv10 arasındaki temel farkları keşfedeceğiz.

Modellere Giriş

Bu modellerin her ikisi de yapay zeka tarihinde önemli dönüm noktalarını temsil etse de, nesne algılama zorluklarını çözmek için temelden farklı yaklaşımlar sergiliyorlar.

YOLOv7: Bag-of-Freebies Öncüsü

6 Temmuz 2022'de Institute of Information Science, Academia Sinica araştırmacıları Chien-Yao Wang, Alexey Bochkovskiy ve Hong-Yuan Mark Liao tarafından yayınlanan YOLOv7, sinir ağlarının nasıl optimize edileceği konusunda bir paradigma değişimi getirdi. Akademik makalelerinde detaylandırılan ve resmi GitHub depolarında barındırılan orijinal araştırma, büyük ölçüde mimari yeniden parametrelendirmeye ve eğitilebilir bir "bag-of-freebies" (ücretsiz araçlar çantası) konseptine odaklandı.

YOLOv7, orijinal gradyan yolunu bozmadan ağın çeşitli özellikleri öğrenmesini sağlamak için genişletilmiş verimli katman toplama ağından (E-ELAN) yararlanır. Bu, onu akademik araştırma kıyaslamaları ve standart üst düzey GPU'lara büyük ölçüde bağımlı sistemler için sağlam bir seçim haline getirir.

YOLOv7 hakkında daha fazla bilgi edinin

YOLOv10: Gerçek Zamanlı Uçtan Uca Algılama

Tsinghua Üniversitesi'nden Ao Wang ve ekibi tarafından geliştirilen YOLOv10, 23 Mayıs 2024'te yayınlandı. Arxiv yayınında ve Tsinghua GitHub deposunda detaylandırıldığı gibi, bu model nesne algılamadaki uzun süredir devam eden bir darboğazı ortadan kaldırıyor: Non-Maximum Suppression (NMS).

YOLOv10, NMS'siz eğitim için tutarlı ikili atamalar getirerek işlem sonrası hattını kökten değiştirdi. Bütünsel bir verimlilik-doğruluk odaklı model tasarım stratejisi uygulayarak, YOLOv10 hesaplama fazlalığını azaltır. Bu, aşırı düşük gecikme süresi gerektiren uç cihazlar için özel olarak tasarlanmış bir mimariyle sonuçlanır.

YOLOv10 hakkında daha fazla bilgi edinin

NMS-Free Mimari

YOLOv10'da Non-Maximum Suppression (NMS) kaldırılarak, tüm modelin tek bir hesaplama grafiği olarak dışa aktarılması sağlanır. Bu, TensorRT veya OpenVINO gibi çalışma zamanları kullanılarak yapılan dağıtımı büyük ölçüde basitleştirir.

Performans ve Metrik Karşılaştırması

Model performansını analiz ederken, hassasiyet, hız ve hesaplama ağırlığı arasındaki ödünleşimleri değerlendirmek kritiktir. Aşağıdaki tablo, bu modellerin farklı boyutlarının birbirlerine göre nasıl konumlandığını göstermektedir.

Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametre
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

Ödünleşimlerin Analizi

Yukarıdaki metrikler keskin bir nesil farkını ortaya koyuyor. YOLOv7x, 53.1%'lik çok güçlü bir mAPval sunarken 71.3M parametre ve 189.9B FLOP gerektirir. Buna karşılık YOLOv10l, parametrelerin yarısından azını (29.5M) ve önemli ölçüde daha az FLOP'u (120.3B) gerektirirken bu doğruluğu (53.3% mAP) aşar. Dahası, yüksek düzeyde optimize edilmiş YOLOv10n, 1.56ms gibi şaşırtıcı bir çıkarım hızı sağlayarak gerçek zamanlı video analitiği ve mobil uygulamalar için ideal hale gelir.

Gerçek Dünya Kullanım Durumları

Bu modeller arasındaki mimari farklılıklar, optimal kullanım durumlarını belirler.

YOLOv7 Ne Zaman Kullanılmalı?

Zengin özellik gösterimi nedeniyle, YOLOv7 oldukça karmaşık ortamlarda öne çıkar. Yoğun kentsel alanlardaki trafik akışını izlemek, uydu görüntülerini analiz etmek veya ağır üretim otomasyonundaki kusurları tanımlamak gibi kullanım durumları, onun sağlam yapısal yeniden parametrelendirmesinden yararlanır. Ayrıca, belirli PyTorch 1.12 hatlarına derinlemesine entegre edilmiş eski ortamlarda da oldukça tercih edilir.

YOLOv10 Ne Zaman Kullanılmalı?

YOLOv10'un NMS içermeyen hafif tasarımı, kısıtlı ortamlarda parlar. NVIDIA Jetson Nano veya Raspberry Pi gibi uç bilgi işlem cihazları için şiddetle tavsiye edilir. Düşük gecikmeli performansı, onu spor analitiği, otonom drone navigasyonu ve konveyör bantlarında yüksek hızlı robotik ayıklama gibi hızlı hareket eden uygulamalar için mükemmel kılar.

Ultralytics Ekosistem Avantajı

Her iki modelin de güçlü akademik kökleri olsa da, gerçek potansiyelleri birleşik Ultralytics Platform içinde kullanıldıklarında açığa çıkar. Sıfırdan bilgisayarlı görü modelleri geliştirmek oldukça zordur, ancak Ultralytics ekosistemi makine öğrenimi mühendisleri için benzersiz bir deneyim sunar.

  • Kullanım Kolaylığı: Ultralytics Python API'si birleşik bir arayüz sağlar. Sadece birkaç satır kodla modelleri eğitebilir, doğrulayabilir ve dışa aktarabilir, tipik akademik depolarla ilişkili karmaşık bağımlılık kabuslarından kaçınabilirsin.
  • İyi Korunan Ekosistem: Ultralytics, temel kodun aktif olarak geliştirilmesini garanti eder. Kullanıcılar, günlük kaydı için Weights & Biases veya hızlı web demoları için Hugging Face gibi popüler ML araçlarıyla sorunsuz entegrasyonlardan faydalanır.
  • Bellek Gereksinimleri: Transformer tabanlı nesne dedektörleri, eğitim sırasında genellikle muazzam miktarda CUDA belleği tüketir. Buna karşılık, Ultralytics YOLO modelleri çok daha az bellek gerektirir, bu da tüketici sınıfı donanımlarda çok daha büyük yığın boyutlarına izin verir.
  • Versatility: The Ultralytics pipeline is not restricted to standard bounding boxes. It seamlessly supports pose estimation, instance segmentation, and oriented bounding boxes across supported model families like YOLO11 and YOLOv8.

Kolaylaştırılmış Eğitim Örneği

Ultralytics ile bir eğitim hattı çalıştırmak oldukça basittir. YOLOv7'nin tarihsel sağlamlığından veya YOLOv10'un NMS'siz hızından yararlanıyor olman fark etmeksizin, sözdizimi tutarlı kalır:

from ultralytics import YOLO

# Load the preferred model (e.g., YOLOv10 Nano)
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run an inference prediction on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export to an edge-friendly format like ONNX
model.export(format="onnx")

Kullanım Durumları ve Öneriler

YOLOv7 ve YOLOv10 arasında seçim yapmak, proje gereksinimlerine, dağıtım kısıtlamalarına ve ekosistem tercihlerine bağlıdır.

Ne Zaman YOLOv7 Seçilmeli

YOLOv7 şunlar için güçlü bir seçimdir:

  • Akademik Kıyaslama: 2022 dönemi en iyi sonuçlarını yeniden üretmek veya E-ELAN ve trainable bag-of-freebies tekniklerinin etkilerini incelemek.
  • Yeniden Parametrelendirme Araştırması: Planlanmış yeniden parametrelendirilmiş konvolüsyonları ve bileşik model ölçeklendirme stratejilerini araştırmak.
  • Mevcut Özel Hatlar: Kolayca yeniden düzenlenemeyen, YOLOv7'nin özel mimarisi üzerine kurulu yoğun özelleştirilmiş hatlara sahip projeler.

Ne Zaman YOLOv10 Seçilmeli

YOLOv10 aşağıdakiler için önerilir:

  • NMS-Free Gerçek Zamanlı Algılama: Non-Maximum Suppression olmadan uçtan uca algılamadan faydalanan, dağıtım karmaşıklığını azaltan uygulamalar.
  • Dengeli Hız-Doğruluk Takasları: Çeşitli model ölçeklerinde çıkarım hızı ile algılama doğruluğu arasında güçlü bir denge gerektiren projeler.
  • Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.

Ne Zaman Ultralytics (YOLO26) Seçilmeli

Çoğu yeni proje için Ultralytics YOLO26 performans ve geliştirici deneyiminin en iyi kombinasyonunu sunar:

  • NMS-Free Uç Dağıtımı: Non-Maximum Suppression işlem sonrası zorluğu olmadan tutarlı, düşük gecikmeli çıkarım gerektiren uygulamalar.
  • Sadece CPU Ortamları: Özel GPU hızlandırması olmayan, YOLO26'nın %43'e kadar daha hızlı CPU çıkarımının belirleyici bir avantaj sağladığı cihazlar.
  • Küçük Nesne Algılama: ProgLoss ve STAL'ın küçük nesneler üzerindeki doğruluğu önemli ölçüde artırdığı hava drone görüntüleri veya IoT sensör analizi gibi zorlu senaryolar.

Gelecek: YOLO26 ile Tanışın

YOLOv7 ve YOLOv10 etkileyici kilometre taşları olsa da, yapay zekanın sınırı her zaman ilerlemektedir. Ocak 2026'da piyasaya sürülen Ultralytics YOLO26, tüm uç ve bulut dağıtım senaryolarında verimlilik ve doğruluk için tartışmasız yeni standarttır.

Bugün yeni bir bilgisayarlı görü projesine başlıyorsan, önerilen mimari YOLO26'dır. Birçok çığır açan yeniliği bünyesinde barındırarak seleflerinin mirası üzerine inşa edilmiştir:

  • Uçtan Uca NMS-Free Tasarım: YOLOv10'dan ilham alan YOLO26, belirleyici gerçek zamanlı robotik için ultra düşük gecikmeli çıkarımı güvence altına alarak NMS sonrası işlemini yerel olarak ortadan kaldırır.
  • 43%'e Kadar Daha Hızlı CPU Çıkarımı: Distribution Focal Loss (DFL) modülünü stratejik olarak kaldırarak, YOLO26 GPU olmayan uç bilgi işlem donanımlarında yürütmeyi önemli ölçüde hızlandırır ve onu IoT cihazları için bir güç merkezi haline getirir.
  • MuSGD Optimize Edici: Yakın zamandaki büyük dil modeli eğitim yeniliklerinden ilham alan YOLO26, SGD ve Muon'un bir hibritini bünyesine katarak, eğitim yollarını stabilize eder ve daha hızlı yakınsamayı garanti eder.
  • ProgLoss + STAL: Bu gelişmiş kayıp fonksiyonları, küçük nesne tanımada kayda değer iyileştirmeler sağlayarak eski YOLO nesillerindeki tarihsel bir zayıflığı aşar.
  • Benzersiz Çok Yönlülük: YOLO26, poz takibi için Residual Log-Likelihood Estimation (RLE) ve hava görüntülerinde hassas OBB algılama için özel açı kayıpları gibi yerel, göreve özel optimizasyonlar sunar.

Hız, doğruluk ve dağıtım basitliğinin nihai dengesini arayan mühendisler için, eski modellerden YOLO26'ya geçiş, anında ve ölçülebilir bir rekabet avantajı sağlar.

Yorumlar