YOLOv5 ve YOLOv9#
Bilgisayarlı görü ve gerçek zamanlı nesne tespiti dünyası son birkaç yılda dikkate değer ilerlemelere sahne oldu. Yerleşik, savaşta test edilmiş modeller ile daha yeni araştırma mimarileri arasında seçim yapmak, makine öğrenimi mühendisleri için yaygın bir zorluktur. Bu kılavuz, YOLO ailesindeki son derece etkili iki model olan YOLOv5 ve YOLOv9 arasında kapsamlı bir teknik karşılaştırma sunmaktadır.
İster kısıtlı uç cihazlara (edge device) dağıtım yapıyor, ister yüksek kaliteli özellik çıkarımı (feature extraction) araştırıyor veya karmaşık nesne tespiti boru hatları (pipeline) kuruyor ol, bu modellerin mimari nüanslarını, performans metriklerini ve ekosistem farklarını anlamak çok önemlidir.
Model Genel Bakışları#
Mimari karşılaştırmalara dalmadan önce, her bir modelin kökenlerini ve temel hedeflerini anlaman faydalı olacaktır.
Ultralytics YOLOv5#
Glenn Jocher tarafından geliştirilen ve 26 Haziran 2020'de Ultralytics tarafından yayınlanan YOLOv5, geliştiricilerin vizyon modelleriyle etkileşim kurma biçiminde bir paradigma değişimine işaret etti. PyTorch çerçevesini tamamen benimseyen YOLOv5, eski Darknet tabanlı modellerin karmaşık derleme adımlarını sezgisel, Python odaklı bir kullanıcı deneyimiyle takas etti.
- Yazar: Glenn Jocher
- Kuruluş: Ultralytics
- Tarih: 2020-06-26
- GitHub: YOLOv5 Deposu
- Dokümantasyon: YOLOv5 Documentation
YOLOv5, Kullanım Kolaylığı ve farklı donanım ortamlarındaki kararlı performansı ile tanınır. Sadece tespiti değil, aynı zamanda görüntü sınıflandırmayı ve örnek segmentasyonunu da destekler.
YOLOv5 hakkında daha fazla bilgi edin
YOLOv9#
Tayvan, Academia Sinica Bilgi Bilimleri Enstitüsü'nden Chien-Yao Wang ve Hong-Yuan Mark Liao tarafından tanıtılan YOLOv9, derin sinir ağlarındaki bilgi darboğazı sorunlarını hafifletmek için mimari teoriye büyük ölçüde odaklanır.
- Yazarlar: Chien-Yao Wang ve Hong-Yuan Mark Liao
- Kuruluş: Bilgi Bilimleri Enstitüsü, Academia Sinica, Tayvan
- Tarih: 2024-02-21
- Arxiv: 2402.13616
- GitHub: YOLOv9 Repository
- Dokümanlar: YOLOv9 Documentation
YOLOv9'un çekirdeği iki temel teorik yeniliğe dayanır: Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Birleştirme Ağı (GELAN). Bu kavramlar, modelin kritik uzamsal özellikleri derin ağ katmanlarında korumasına yardımcı olur.
YOLOv9 hakkında daha fazla bilgi edin
YOLOv5 ve YOLOv9 güçlü olsa da, yeni yayınlanan YOLO26 hız ve hassasiyetin nihai dengesini temsil eder. Baştan sona NMS'siz (Non-Maximum Suppression) bir tasarıma sahip olan ve %43'e kadar daha hızlı CPU çıkarımı (inference) sunan YOLO26, modern uç bilgi işlem ve üretim dağıtımları için şiddetle tavsiye edilir.
Mimari ve Teknik Farklılıklar#
Bu vizyon modellerine arka planda neyin güç verdiğini anlamak, model dağıtımı stratejilerini optimize etmek için hayati önem taşır.
Öznitelik Çıkarımı ve Bilgi Tutma#
YOLOv5, geri yayılım (backpropagation) sırasında doğru gradyan akışını korurken hesaplama yükünü etkili bir şekilde azaltan Cross Stage Partial Network (CSPNet) omurgasını kullanır. Bu tasarım, geleneksel GPU işlemleri için yüksek oranda optimize edilmiştir ve ağır Transformer alternatiflerine kıyasla eğitim sırasında daha düşük bellek gereksinimleri sağlar.
YOLOv9, CSPNet ilkelerini genişleten genel bir mimari olan GELAN'ı sunar. Yardımcı tersine çevrilebilir bir dal olan PGI ile birleşen YOLOv9, derin katmanların kesin amaç fonksiyonları için gerekli olan semantik verileri kaybetmemesini sağlar. Bu, özellikle küçük nesnelerde yüksek doğruluk elde etmesini sağlar, ancak karmaşık yardımcı dallanma bazen derinden kısıtlı uç donanımlara dışa aktarma (export) boru hatlarını karmaşıklaştırabilir.
Bellek Gereksinimleri ve Eğitim Verimliliği#
Eğitim verimliliği söz konusu olduğunda, YOLOv5 inanılmaz derecede güçlü kalmaya devam ediyor. İyi bakılan Ultralytics ekosistemi, YOLOv5 modellerinin önemli ölçüde daha az CUDA belleği tüketmesini sağlayarak araştırmacıların tüketici sınıfı GPU'larda parti boyutlarını (batch size) maksimize etmesine olanak tanır. YOLOv9 mükemmel bir parametre verimliliği (boyutuna göre yüksek doğruluk) elde ederken, optimize edilmiş çerçeveler kullanılmazsa eğitim süreci daha fazla kaynak yoğun olabilir. Neyse ki, YOLOv9'u Ultralytics API'ye entegre etmek, onu YOLOv5'in akıcı kaynak yönetimiyle eşdeğer seviyeye yaklaştırır.
Performans ve Metrikler#
Bu mimarileri objektif bir şekilde değerlendirmek için COCO gibi standart veri setlerindeki performanslarını karşılaştırıyoruz. Aşağıda mAP (Ortalama Ortalama Hassasiyet), çıkarım hızı ve parametre sayıları gibi metriklerin ayrıntılı bir dökümü bulunmaktadır.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.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 |
Tablonun da gösterdiği gibi, YOLOv9 daha yeni yansıtan mimarisini eşdeğer kademelerde daha yüksek ham doğruluk elde eder. Bununla birlikte YOLOv5n, 1.12 ms'lik inanılmaz derecede düşük bir TensorRT gecikmesi koruyarak yüksek hızlı, yerelleştirilmiş uç bilgi işlem uygulamaları için kalıcı gücünü vurgular.
Eğitim Yöntemleri ve Kullanım Kolaylığı#
Bilgisayarlı görü teknolojisinden bugün yararlanmanın gerçek avantajı, araç zincirinin erişilebilirliğinde yatar.
Ultralytics Avantajı#
YOLOv9 gibi modeller için orijinal araştırma depoları temel oluştursa da, genellikle karmaşık bağımlılık matrisleri ve şablon (boilerplate) betikler ile gelirler. Ultralytics Python API bu karmaşıklığı tamamen soyutlar. Ultralytics ekosistemi ile hem YOLOv5 hem de YOLOv9 modellerini aynı, birleşik bir sözdizimi ile eğitebilir, değerlendirebilir ve dışa aktarabilirsin.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")
# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")
# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX
model_v9.export(format="onnx")Bu tekli API yaklaşımı; seçilen modele bağlı olarak yalnızca tespiti değil, poz tahminini ve yönlendirilmiş sınırlayıcı kutuları (OBB) da destekleyerek muazzam bir Çok Yönlülük sağlar. Ek olarak, Comet ML ve Weights & Biases gibi araçlarla sağlam entegrasyonlar doğrudan eğitim döngüsüne yerleştirilmiştir.
İdeal Kullanım Durumları ve Gerçek Dünya Uygulamaları#
Bu mimariler arasında seçim yapmak, büyük ölçüde donanımının kısıtlamalarına ve uygulama alanının gerektirdiği hassasiyete bağlıdır.
YOLOv5 Ne Zaman Seçilmeli#
YOLOv5; kararlılığa, düşük bellek ayak izine ve yüksek dışa aktarım uyumluluğuna öncelik veren dağıtımlarda parlayan, savaşta test edilmiş bir emektardır.
- Mobil Dağıtımlar: Eski akıllı telefonlarda cihaz içi çıkarım için YOLOv5'i TFLite veya CoreML formatına dışa aktarmak inanılmaz derecede sorunsuzdur.
- Eski Uç Donanım: Raspberry Pi veya erken nesil NVIDIA Jetson Nano gibi cihazlar için YOLOv5'in anlaşılır evrişimleri (convolution), akıllı otopark yönetimi gibi uygulamalar için tutarlı kare hızları sağlar.
- Hızlı Prototipleme: Topluluk eğitimlerinin, özel önceden eğitilmiş ağırlıkların ve devasa veri seti uyumluluğunun kapsamlı mevcudiyeti, bunu bir kavram kanıtını (proof-of-concept) doğrulamanın en hızlı yolu haline getirir.
Ne Zaman YOLOv9 Seçilmeli#
YOLOv9, biraz daha fazla hesaplama yükü gerektirse bile, karmaşık detayları yakalamanın ve yanlış negatifleri en aza indirmenin kesinlikle kritik olduğu senaryolar için idealdir.
- Hava ve Uydu Görüntüleri: PGI çerçevesi, küçük nesnelerin kalitesini korumada oldukça yeteneklidir, bu da YOLOv9'u insansız hava aracı (İHA) tabanlı tarımsal izleme için mükemmel kılar.
- Tıbbi Görüntüleme Teşhisi: Yüksek çözünürlüklü taramalarda küçük anomalileri veya lezyonları tespit ederken, GELAN'ın doğru gradyan akışı hatırlama (recall) konusunda gerekli bir avantaj sağlar.
- Üst Düzey Perakende Analitiği: Yoğun raflardaki örtüşen ürünleri takip etmek, YOLOv9'un üstün öznitelik tutma yeteneklerinden önemli ölçüde faydalanır.
Ufuklarını Genişlet#
YOLOv5 ve YOLOv9'u karşılaştırmak, mimarilerin 2020'den 2024'e nasıl evrimleştiğine dair net bir bakış sunarken, yapay zeka alanı her zamankinden daha hızlı hareket ediyor. Performansın mutlak sınırını arayan geliştiriciler için en son YOLO26 modellerini keşfetmeniz şiddetle tavsiye edilir. Geleneksel Non-Maximum Suppression yöntemini yerel bir Baştan Sona NMS'siz Tasarım ile değiştirerek ve gelişmiş MuSGD Optimize Ediciyi kullanarak YOLO26, araştırma düzeyindeki doğruluk ile üretim düzeyindeki hız arasındaki boşluğu kapatır. DFL Kaldırma (basitleştirilmiş dışa aktarım ve daha iyi uç/düşük güçte cihaz uyumluluğu için Dağıtım Odaklı Kayıp fonksiyonunun kaldırılması) sayesinde YOLO26, %43'e kadar daha hızlı CPU çıkarımı elde ederek uç bilgi işlem için ideal hale gelir. Ek olarak ProgLoss + STAL, nesnelerin interneti (IoT), robotik ve hava görüntüleri için kritik olan küçük nesne tanımada belirgin iyileştirmeler içeren gelişmiş kayıp fonksiyonları sağlar.
Bu mimarileri RT-DETR veya son derece yetenekli YOLO11 gibi diğer son teknoloji modellerle karşılaştırmak da ilgini çekebilir. Birleşik Ultralytics çerçevesini kullanmak, hangi modeli seçersen seç geliştirme boru hattının temiz, verimli ve ölçeklenmeye hazır kalmasını sağlar.