YOLOv5 ve YOLOv9: Gerçek Zamanlı Nesne Algılamanın Evrimi
Gerçek zamanlı nesne algılama alanı son birkaç yılda önemli ölçüde gelişti. YOLOv5 2020'de kullanılabilirlik ve endüstriyel benimseme için standardı belirlerken, YOLOv9 2024'te doğruluk ve verimlilik sınırlarını zorlamak için yeni mimari konseptler tanıttı. Bu kılavuz, geliştiricilerin bilgisayar görüşü projeleri için doğru aracı seçmelerine yardımcı olmak amacıyla ayrıntılı bir teknik karşılaştırma sunmaktadır.
Model Kökenleri ve Teknik Özellikler
Bu modellerin kökenini anlamak, tasarım felsefelerini ve hedeflenen kullanım senaryolarını bağlamsallaştırmaya yardımcı olur.
YOLOv5: Endüstriyel Standart
Haziran 2020'de Glenn Jocher ve Ultralytics tarafından piyasaya sürülen YOLOv5, kullanım kolaylığı, dışa aktarılabilirlik ve hıza öncelik verdi. PyTorch içinde yerel olarak uygulanan ilk YOLO modeli oldu ve böylece geniş bir Python geliştirici topluluğuna erişilebilir hale geldi.
- Yazar: Glenn Jocher
- Kuruluş:Ultralytics
- Tarih: 2020-06-26
- Depo:GitHub
- Odak Noktası: Kullanılabilirlik, sağlam dışa aktarım yolları (ONNX, CoreML, TFLite) ve hızlı eğitim.
YOLOv5 hakkında daha fazla bilgi edinin.
YOLOv9: Mimari Yenilik
Academia Sinica'dan Chien-Yao Wang ve Hong-Yuan Mark Liao tarafından Şubat 2024'te piyasaya sürülen YOLOv9, derin ağlardaki "bilgi darboğazı" sorununu çözmeye odaklandı.
- Yazarlar: Chien-Yao Wang, Hong-Yuan Mark Liao
- Kuruluş: Bilgi Bilimi Enstitüsü, Academia Sinica
- Tarih: 2024-02-21
- Depo:GitHub
- Makale:arXiv:2402.13616
- Odak Noktası: Parametre verimliliği ve Programlanabilir Gradyan Bilgisi (PGI) kullanarak derin denetim.
YOLOv9 hakkında daha fazla bilgi edinin.
Mimari Farklılıklar
Temel fark, bu modellerin özellik çıkarımı ve gradyan akışını nasıl ele aldıklarında yatmaktadır.
YOLOv5, bir CSPNet (Cross Stage Partial Network) backbone kullanır. Bu tasarım, doğruluğu korurken hesaplamayı azaltmak için gradyan akışını böler; bu, gömülü sistemler için uygun kompakt modeller oluşturmada devrim niteliğindeydi. Çapa tabanlı algılama başlığı, genel amaçlı görevler için yüksek düzeyde optimize edilmiştir ve birçok eski uygulama için rekabetçi kalmayı sağlayan bir denge sunar.
YOLOv9 iki temel yenilik sunar: GELAN (Generalized Efficient Layer Aggregation Network) ve PGI (Programmable Gradient Information). GELAN, parametre kullanımını optimize ederek modelin daha hafif olmasını ve daha karmaşık özellikler öğrenmesini sağlar. PGI, veriler derin katmanlar boyunca yayılırken bilgi kaybını, yardımcı bir denetim dalı sağlayarak ele alır ve çok derin mimarilerde bile güvenilir gradyan üretimi sağlar.
Biliyor muydunuz?
YOLOv9 mimari yenilikler sunsa da, Ultralytics YOLOv5 ekosistemi dağıtım için rakipsiz kalmaya devam etmektedir. TensorRT ve Edge TPU gibi formatlara yerel olarak dışa aktarımı destekleyerek eğitimden üretime giden yolu basitleştirir.
Performans Analizi
Metrikleri karşılaştırırken, YOLOv9 genellikle belirli bir parametre sayısı için, özellikle daha büyük model varyantlarında daha yüksek mAPval elde eder. Ancak, YOLOv5 daha basit mimarisi nedeniyle CPU'larda ve eski donanımlarda çıkarım hızında inanılmaz derecede rekabetçi kalmaktadır.
Kıyaslama Metrikleri
Aşağıdaki tablo, ödünleşimleri vurgulamaktadır. YOLOv9c, 53.0% mAP elde ederek YOLOv5x (50.7%)'i geride bırakırken önemli ölçüde daha az parametre (25.3M'ye karşı 97.2M) kullanır. Bu, GELAN mimarisinin verimliliğini göstermektedir. Tersine, daha küçük YOLOv5 varyantları (Nano ve Small) son derece düşük gecikme sunarak onları ultra düşük güçlü cihazlar için uygun hale getirir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 86.7 | 205.7 |
| 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 |
Not: Tablo, standart COCO doğrulama metriklerini yansıtmaktadır. Kalın değerler, o belirli kategorideki en iyi performansı gösterir.
Kullanım Kolaylığı ve Ekosistem
İşte bu nokta, geliştiriciler için ayrımın en pratik hale geldiği yerdir.
Ultralytics Deneyimi (YOLOv5)
YOLOv5, geliştirici deneyimi için tasarlanmıştır. Ultralytics ekosistemi sorunsuz bir iş akışı sağlar:
- Basit API: Birkaç satır Python koduyla modelleri yükleyin ve eğitin.
- Entegre Araçlar: Comet ve ClearML gibi deney izleme araçlarıyla otomatik entegrasyon.
- Dağıtım: ONNX, CoreML, TFLite ve OpenVINO'ya tek tıklamayla dışa aktarım.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model
model = YOLO("yolov5su.pt")
# Train on custom data
model.train(data="coco8.yaml", epochs=100)
# Export to ONNX for deployment
model.export(format="onnx")
YOLOv9 Uygulaması
Yüksek doğrulukta olmasına rağmen, orijinal YOLOv9 deposu araştırma odaklıdır. Ancak, YOLOv9 artık Ultralytics paketi içinde tam olarak desteklenmektedir, bu da bu yeni mimariye aynı kullanım kolaylığını getirmektedir. Bu, en son mimari iyileştirmelere erişmek için kullanılabilirlikten ödün vermek zorunda kalmayacağınız anlamına gelir; sadece model adı dizesini değiştirebilirsiniz.
Eğitim Verimliliği ve Bellek
YOLOv5 ve entegre YOLOv9 dahil olmak üzere Ultralytics modellerinin kritik bir avantajı, bellek verimliliğidir.
- GPU Belleği: Ultralytics eğitim döngüleri, CUDA belleği kullanımını en aza indirecek şekilde optimize edilmiştir. Bu, kullanıcıların genellikle bellek açısından açgözlü olan dönüştürücü tabanlı modellere kıyasla tüketici sınıfı donanımlarda (NVIDIA RTX 3060/4090 gibi) daha büyük toplu iş boyutları eğitmesine olanak tanır.
- Yakınsama: YOLOv5, minimal hiperparametre ayarlaması gerektiren "kutudan çıkar çıkmaz eğitilebilir" özelliğiyle ünlüdür. YOLOv9, PGI yardımcı dalı ile mimarisi daha karmaşık olmasına rağmen istikrarlı yakınsama gösterir.
Gerçek Dünya Uygulamaları
Doğru modeli seçmek, dağıtım kısıtlamalarınıza bağlıdır.
YOLOv5 için İdeal Kullanım Alanları
- Eski Donanımda Uç Yapay Zeka: Her milisaniyelik çıkarım gecikmesinin önemli olduğu eski Raspberry Pi modellerine veya mobil cihazlara dağıtım yapıyorsanız, YOLOv5n (Nano) rakipsizdir.
- Hızlı Prototipleme: Saatler içinde bir Konsept Kanıtı (PoC) ihtiyacı olan hackathon'lar veya startup'lar için, YOLOv5'in geniş dokümantasyonu ve topluluk eğitimleri geliştirmeyi hızlandırır.
- Mobil Uygulamalar: iOS CoreML ve Android TFLite için yerel desteği, onu mobil geliştiriciler için vazgeçilmez kılar.
YOLOv9 için İdeal Kullanım Durumları
- Yüksek Hassasiyetli Denetim: Üretim kalite kontrolünde, küçük kusurları detect etmenin kritik olduğu durumlarda, GELAN'ın üstün özellik çıkarımı YOLOv9'u daha iyi bir seçenek haline getirir.
- Tıbbi Görüntüleme: Ham hızdan ziyade doğruluğun öncelikli olduğu tümör detect etme gibi görevler için, YOLOv9e gerekli mAP artışını sağlar.
- Karmaşık Sahneler: Yüksek tıkanıklık veya dağınıklık içeren ortamlar, modelin derin katmanlar aracılığıyla kritik bilgileri korumasına yardımcı olan programlanabilir gradyanlardan faydalanır.
Gelecek: YOLO26 ile Tanışmak
YOLOv5 güvenilir bir iş gücü ve YOLOv9 yüksek doğruluk sunarken, alan tekrar ilerledi. 2026'da başlayacak yeni projeler için, Ultralytics YOLO26 performans ve verimliliğin zirvesini temsil ediyor.
Neden YOLO26'ya yükseltmelisiniz?
- Yerel Olarak Uçtan Uca: NMS son işlem gerektiren YOLOv5 ve v9'un aksine, YOLO26 NMS içermez ve dağıtım hatlarını basitleştirir.
- MuSGD Optimizatörü: LLM eğitiminden ilham alan bu optimizatör, daha hızlı ve daha kararlı eğitim sağlar.
- Çok Yönlülük: Kutudan çıktığı gibi Detection, Segmentation, Pose, OBB ve Sınıflandırmayı destekler.
YOLO26 hakkında daha fazla bilgi edinin
Halihazırda YOLOv5 kullanan kullanıcılar için, YOLO26'ya geçiş önemli hız artışları (yüzde 43'e kadar daha hızlı CPU çıkarımı) ve ProgLoss + STAL aracılığıyla geliştirilmiş küçük nesne detect etme imkanı sunarak, hem uç hem de bulut dağıtımları için önerilen yol haline gelir.
Sonuç
Her iki mimarinin de yeri var. YOLOv5, "sadece çalışsın" çözümü arayan geliştiriciler için mükemmel, basitliğin ve geniş cihaz uyumluluğunun kralı olmaya devam ediyor. YOLOv9, programlanabilir gradyanları ile verimli derin öğrenmenin geleceğine bir bakış sunarak, son teknoloji doğruluk sağlıyor.
Ancak, Ultralytics ekosistemini kullanmak, kilitlenmediğinizi garanti eder. YOLOv5, YOLOv9 ve en yeni YOLO26'yı tamamen aynı API'yi kullanarak eğitebilirsiniz; bu da onları kendi verileriniz üzerinde karşılaştırmanıza ve belirli uygulamanız için en iyi olanı seçmenize olanak tanır.
Karşılaştırma Özeti
| Özellik | YOLOv5 | YOLOv9 |
|---|---|---|
| Birincil Odak | Hız, Kullanım Kolaylığı, Dağıtım | Doğruluk, Parametre Verimliliği |
| Mimari | CSPNet backbone, Çapa Tabanlı | GELAN backbone, PGI, Çapa Tabanlı |
| Ekosistem | Yerel Ultralytics Desteği | Ultralytics'e Entegre |
| En Uygun Olduğu Alan | Mobil, Uç, Eski Sistemler | Yüksek Doğruluklu Araştırma, Karmaşık Sahneler |
| Çıkarım | Son Derece Hızlı (CPU/GPU) | Yüksek Doğruluk / Daha Yavaş |
Ultralytics ailesindeki diğer modelleri keşfedin:
- YOLO11 - YOLO26'nın sağlam öncülü.
- YOLOv8 - detect etme, segmentation ve poz için birleşik bir çerçeve.
- RT-DETR - Gerçek zamanlı Transformer tabanlı detect etme.