YOLOv10 - YOLOv9 Karşılaştırması: Kapsamlı Bir Teknik Karşılaştırma
Nesne tespiti alanı hızla gelişti ve YOLO (You Only Look Once) mimarisinin ardışık yinelemeleri hız ve doğruluk sınırlarını zorladı. Bu alana yapılan en önemli son katkılardan ikisi YOLOv10 ve YOLOv9'dur. Her iki model de COCO veri kümesinde son teknoloji performansı elde ederken, tasarım felsefeleri ve mimari hedefleri açısından önemli ölçüde farklılık gösterir.
YOLOv10, non-maximum suppression (NMS) ihtiyacını ortadan kaldırarak düşük gecikmeye ve uçtan uca verimliliğe öncelik verirken, YOLOv9 Programlanabilir Gradyan Bilgisi (PGI) aracılığıyla bilgi tutmayı ve doğruluğu en üst düzeye çıkarmaya odaklanır. Bu kılavuz, geliştiricilerin ve araştırmacıların bilgisayar görüşü uygulamaları için en uygun modeli seçmelerine yardımcı olmak için ayrıntılı bir teknik karşılaştırma sunar.
YOLOv10: Uçtan Uca Gerçek Zamanlı Algılayıcı
Mayıs 2024'te Tsinghua Üniversitesi'ndeki araştırmacılar tarafından piyasaya sürülen YOLOv10, YOLO soyunda bir paradigma değişimini temsil etmektedir. Temel yeniliği, geleneksel olarak çıkarım gecikmesi için bir darboğaz olan Non-Maximum Suppression (NMS) işlem sonrası adımının kaldırılmasıdır.
Teknik Detaylar:
- Yazarlar: Ao Wang, Hui Chen, Lihao Liu, ve diğerleri.
- Kuruluş:Tsinghua Üniversitesi
- Tarih: 2024-05-23
- Arxiv:Gerçek Zamanlı Uçtan Uca Nesne Tespiti
- GitHub:THU-MIG/yolov10
Mimari ve Temel Yenilikler
YOLOv10, verimliliğini Tutarlı İkili Atamalar ve Bütünsel Verimlilik-Doğruluk Odaklı Model Tasarımı kombinasyonu sayesinde elde eder.
- NMS'siz Eğitim: Geleneksel YOLO modelleri, yinelenen sınırlayıcı kutuları filtrelemek için NMS'ye güvenir. YOLOv10, model eğitimi sırasında ikili bir atama stratejisi kullanır. Bire çok dalı, öğrenme için zengin denetleyici sinyaller sağlarken, bire bir dalı, modelin çıkarım sırasında nesne başına tek bir en iyi tahmin oluşturmasını sağlar. Bu, modelin NMS olmadan dağıtılmasına olanak tanıyarak çıkarım gecikmesini önemli ölçüde azaltır.
- Model Optimizasyonu: Mimari, hafif sınıflandırma başlıkları, uzamsal-kanal ayrıştırmalı alt örnekleme ve sıra kılavuzlu blok tasarımı içerir. Bu özellikler, hesaplama yedekliliğini ve bellek kullanımını azaltarak modeli sınırlı kaynaklara sahip donanımlarda oldukça verimli hale getirir.
Verimlilik Avantajı
YOLOv10'da NMS'nin kaldırılması, özellikle uç dağıtım için faydalıdır. CPU kaynaklarının kıt olduğu cihazlarda, binlerce aday kutuyu sıralama ve filtreleme hesaplama maliyetinden kaçınmak, önemli hızlanmalara neden olabilir.
YOLOv10 hakkında daha fazla bilgi edinin
YOLOv9: Bilgi Tutmayı Ustalaşma
Chien-Yao Wang ve Hong-Yuan Mark Liao tarafından Şubat 2024'te tanıtılan YOLOv9, derin sinir ağlarında var olan "bilgi darboğazı" sorununu hedeflemektedir. Veriler ardışık katmanlardan (özellik çıkarımı) geçerken, önemli bilgiler kaybolabilir ve bu da özellikle küçük veya algılanması zor nesneler için doğruluğun düşmesine neden olabilir.
Teknik Detaylar:
- Yazarlar: Chien-Yao Wang, Hong-Yuan Mark Liao
- Kuruluş:Institute of Information Science, Academia Sinica
- Tarih: 2024-02-21
- Arxiv:Programlanabilir Gradyan Bilgisi Kullanarak Ne Öğrenmek İstediğinizi Öğrenme
- GitHub:WongKinYiu/yolov9
Mimari ve Temel Yenilikler
YOLOv9, ağın mümkün olduğunca çok girdi bilgisini korumasını ve kullanmasını sağlamak için yeni konseptler sunar.
- Programlanabilir Gradyan Bilgisi (PGI): PGI, ağ ağırlıklarını güncellemek için güvenilir gradyanlar üreten yardımcı bir denetim çerçevesi sağlar. Bu, derin katmanların eksiksiz girdi bilgisi almasını sağlayarak kaybolan gradyan sorununu azaltır ve yakınsamayı iyileştirir.
- Genelleştirilmiş Verimli Katman Toplama Ağı (GELAN): Bu yeni mimari, önceki sürümlerde kullanılan geleneksel ELAN'ın yerini alır. GELAN, parametre kullanımını ve hesaplama verimliliğini (FLOP'lar) optimize ederek YOLOv9'un öncülleriyle karşılaştırılabilir bir model boyutuyla daha yüksek doğruluk elde etmesini sağlar.
Derin Öğrenme İncelemesi
YOLOv9'un bilgi tutmaya odaklanması, backbone'daki alt örnekleme işlemleri sırasında özellik ayrıntılarının kaybolabileceği karmaşık sahnelerde nesneleri algılamada onu son derece güçlü kılar.
YOLOv9 hakkında daha fazla bilgi edinin
Performans Metrikleri: Hız - Doğruluk Karşılaştırması
Bu iki model arasındaki seçim genellikle ham çıkarım hızı ve detect hassasiyeti arasında bir ödünleşime iner. Aşağıdaki tablo, çeşitli model ölçeklerindeki performans farklılıklarını vurgulamaktadır.
Analiz:
- Gecikme: YOLOv10, özellikle daha küçük model boyutlarında (N ve S) gecikme konusunda YOLOv9'dan sürekli olarak daha iyi performans gösterir. Örneğin, YOLOv10n, TensorRT'de 1.56 ms'lik bir çıkarım hızına ulaşarak, karşılaştırılabilir modellerden önemli ölçüde daha hızlıdır.
- Doğruluk: YOLOv9, spektrumun üst ucunda doğruluk konusunda üstün. YOLOv9e modeli, dikkate değer bir %55.6 mAP'ye ulaşarak, hassasiyetin çok önemli olduğu uygulamalar için onu üstün bir seçim haline getiriyor.
- Verimlilik: YOLOv10, parametre başına mükemmel doğruluk sunar. YOLOv10b, YOLOv9c'den daha düşük gecikme süresiyle %52.7 mAP elde ederek bütünsel tasarımının etkinliğini gösterir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
İdeal Kullanım Senaryoları
Her modelin güçlü yönlerini anlamak, özel proje hedefleriniz için doğru aracı seçmeye yardımcı olur.
Ne Zaman YOLOv10 Seçmeli
- Uç Yapay Zeka Dağıtımı: NVIDIA Jetson veya Raspberry Pi gibi cihazlarda çalışan uygulamalar, CPU yükünü azaltan NMS'siz tasarımdan yararlanır.
- Yüksek Frekanslı Video Analizi: Trafik izleme veya spor analitiği gibi yüksek FPS video akışlarının işlenmesini gerektiren senaryolar.
- Gerçek Zamanlı Robotik: Navigasyon ve engelden kaçınma için düşük gecikmeli geri bildirim döngülerine dayanan otonom sistemler.
Ne Zaman YOLOv9 Seçmeli
- Yüksek Hassasiyetli İnceleme: Bir kusuru kaçırmanın (yanlış negatif) maliyetli olduğu endüstriyel kalite kontrolü.
- Küçük Nesne Tespiti: Nesnelerin küçük ve özellik açısından zayıf olduğu uydu görüntü analizi veya tıbbi görüntüleme içeren uygulamalar.
- Karmaşık Sahneler: Nesneleri ayırt etmek için maksimum bilgi tutmanın gerekli olduğu yüksek tıkanıklık veya karmaşıklık içeren ortamlar.
Ultralytics ile Kullanım
Bu modelleri kullanmanın en önemli avantajlarından biri, Ultralytics ekosistemine entegrasyonlarıdır. Hem YOLOv10 hem de YOLOv9, aynı birleşik Python API ve Komut Satırı Arayüzü (CLI) aracılığıyla kullanılabilir ve eğitimden dağıtıma kadar iş akışını basitleştirir.
Python Örneği
Aşağıdaki kod, her iki modelle de nasıl çıkarım yükleneceğini ve çalıştırılacağını göstermektedir: ultralytics paketi.
from ultralytics import YOLO
# Load a YOLOv10 model (NMS-free, high speed)
model_v10 = YOLO("yolov10n.pt")
# Load a YOLOv9 model (High accuracy)
model_v9 = YOLO("yolov9c.pt")
# Run inference on an image
# The API remains consistent regardless of the underlying architecture
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v9 = model_v9("https://ultralytics.com/images/bus.jpg")
# Print results
for r in results_v10:
print(f"YOLOv10 Detections: {r.boxes.shape[0]}")
for r in results_v9:
print(f"YOLOv9 Detections: {r.boxes.shape[0]}")
Ultralytics'in Avantajı
Bilgisayar görüşü projeleriniz için Ultralytics'i seçmek, yalnızca model mimarisinin ötesinde çeşitli avantajlar sunar:
- Kullanım Kolaylığı: Kullanıcı dostu API, sadece ağırlık dosyası adını değiştirerek YOLOv9, YOLOv10 ve YOLO11 gibi diğer modeller arasında geçiş yapmanızı sağlar.
- Performans Dengesi: Ultralytics uygulamaları, hızı ve doğruluğu dengeleyerek gerçek dünya performansı için optimize edilmiştir.
- Eğitim Verimliliği: Çerçeve, otomatik karma duyarlılık (AMP) ve çoklu GPU eğitimi gibi özellikleri destekleyerek kendi veri kümelerinizde özel modelleri eğitmenizi kolaylaştırır.
- Bellek Gereksinimleri: Ultralytics modelleri, transformatör tabanlı alternatiflere kıyasla genellikle daha düşük bellek kullanımı sergiler ve tüketici sınıfı GPU'larda eğitimi kolaylaştırır.
Sonuç
Hem YOLOv10 hem de YOLOv9, nesne algılamada önemli kilometre taşlarını temsil etmektedir. YOLOv10, yenilikçi NMS'siz mimarisi sayesinde hız ve verimliliğe öncelik veren uygulamalar için açık bir kazanan. Tersine, YOLOv9 mümkün olan en yüksek doğruluğu ve bilgi tutmayı talep eden senaryolar için sağlam bir seçim olmaya devam etmektedir.
En son ve en çok yönlü çözümü arayan geliştiriciler için, YOLO11'i de keşfetmenizi öneririz. YOLO11, bu öncüllerin güçlü yönleri üzerine inşa edilerek detect, segment ve poz tahmini görevleri için hız, doğruluk ve özelliklerin iyileştirilmiş bir dengesini sunar.
Diğer Modelleri İnceleyin
- Ultralytics YOLO11 - En son teknoloji modeli.
- Ultralytics YOLOv8 - Çeşitli görme görevleri için çok yönlü ve olgun bir model.
- RT-DETR - Yüksek doğruluklu uygulamalar için transformer tabanlı bir detectör.