YOLOX - YOLOv9 Karşılaştırması: Teknik Bir Karşılaştırma
Nesne algılama için doğru mimariyi seçmek, bilgisayar görüşü projelerinin hızını, doğruluğunu ve dağıtım fizibilitesini etkileyen kritik bir karardır. Bu analiz, 2021'de piyasaya sürülen önemli bir çapa ihtiaycı olmayan model olan YOLOX ile Programlanabilir Gradyan Bilgisi'nden (PGI) yararlanan, 2024'te tanıtılan son teknoloji mimarisi YOLOv9'u karşılaştırır.
YOLOX paradigmayı ankrajsız algılamaya kaydırırken, YOLOv9 derin ağlarda bilgiyi korumak için üstün performans metrikleri sunan yeni mekanizmalar sunar. Bu kılavuz, ihtiyaçlarınız için en iyi modeli seçmenize yardımcı olmak için mimarilerini, kıyaslamalarını ve ideal kullanım durumlarını ayrıntılı olarak açıklar.
YOLOX: Bağlantısız Öncü
YOLOX, algılama başlığını basitleştirerek ve önceden tanımlanmış bağlantı kutularına olan bağımlılığı ortadan kaldırarak araştırma topluluğu ile endüstriyel uygulamalar arasındaki boşluğu kapatmak için piyasaya sürüldü.
Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
Kuruluş:Megvii
Tarih: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Belgeler:YOLOX Belgeleri
Mimari Öne Çıkanlar
YOLOX, sınıflandırma ve regresyon görevlerini ayıran bir ayrık kafa mimarisi sunmuştur. Bu ayrım, modelin daha hızlı yakınsamasını ve daha iyi doğruluk elde etmesini sağlar. Ayrıca, optimal anchor kutusu boyutlarını belirlemek için kümeleme analizine olan ihtiyacı ortadan kaldıran ve modeli çeşitli nesne şekillerine karşı daha sağlam hale getiren bir anchor'suz mekanizma kullanır. Ayrıca, YOLOX, eğitim kararlılığını artırmak için süreci optimal bir taşıma problemi olarak ele alan etiket ataması için SimOTA'yı kullanır.
Güçlü ve Zayıf Yönler
- Güçlü Yönler: Anchor içermeyen tasarım, hiperparametre ayarlama sürecini basitleştirir. Ayrıştırılmış başlık, o dönemin birleştirilmiş başlıklarına kıyasla genellikle lokalizasyon görevleri için daha yüksek hassasiyet sağlar.
- Zayıflıklar: 2021 modeli olarak, daha yeni mimarilerde bulunan modern optimizasyonlardan yoksundur. Gelişmiş veri artırma ve katman toplama tekniklerini kullanan modellere kıyasla, en yüksek performansa ulaşmak için daha fazla eğitim verisi gerektirebilir.
YOLOv9: Programlanabilir Gradyan Bilgisi
YOLOv9, derin sinir ağlarında var olan "bilgi darboğazı" sorununu ele alarak önemli bir sıçramayı temsil eder.
Yazarlar: Chien-Yao Wang, Hong-Yuan Mark Liao
Kuruluş:Institute of Information Science, Academia Sinica
Tarih: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Belgeler:Ultralytics YOLOv9 Belgeleri
Mimari Öne Çıkanlar
YOLOv9, Programlanabilir Gradyan Bilgisi (PGI) ve Genelleştirilmiş Verimli Katman Toplama Ağı (GELAN)'ı tanıtır. PGI, veri derin katmanlardan geçerken önemli girdi bilgilerinin kaybını önler ve model güncellemeleri için güvenilir gradyan üretimi sağlar. GELAN, parametre kullanımını optimize ederek modelin hafif ancak doğru olmasını sağlar. Bu yenilikler, YOLOv9'un hem verimlilik hem de ortalama hassasiyet (mAP) açısından öncekilerden önemli ölçüde daha iyi performans göstermesini sağlar.
Güçlü ve Zayıf Yönler
- Güçlü Yönler: Olağanüstü doğruluk-parametre oranı, bu da onu gerçek zamanlı uygulamalar için oldukça verimli hale getirir. Mimari, önceki yinelemelere göre bilgi akışını daha iyi korur ve bu da küçük nesnelerin daha iyi detect edilmesine yol açar.
- Zayıflıklar: Daha yeni bir mimari olduğundan, eski modellere kıyasla güncellenmiş CUDA sürücüleri ve donanım desteği gerektirebilir.
YOLOv9 hakkında daha fazla bilgi edinin
Performans Karşılaştırması
Aşağıdaki tablo, YOLOX ve YOLOv9'un COCO veri kümesi üzerindeki performansını karşılaştırmaktadır. YOLOv9, GELAN mimarisinin verimliliğini vurgulayarak, daha az parametre ile sürekli olarak daha yüksek mAP puanları göstermektedir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| 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 |
Analiz: YOLOv9, performans yoğunluğunda önemli bir yükseltme sağlar. Örneğin, YOLOv9c, yalnızca 25.3M parametre ile %53.0 mAP'ye ulaşırken, YOLOX-L, daha düşük bir %49.7 mAP skoru elde etmek için 54.2M parametre gerektirir. Bu, YOLOv9'un bu doğruluk katmanı için parametre kullanımı açısından yaklaşık iki kat daha verimli olduğunu gösterir.
Verimlilik Önemlidir
Uç cihazlara dağıtım yaparken, FLOP'lar ve Parametreler mAP kadar önemlidir. YOLOv9'un GELAN mimarisi, mobil dağıtımlarda daha serin çalışan cihazlara ve daha uzun pil ömrüne yol açarak, hesaplama yükünü önemli ölçüde azaltır.
Ultralytics'in Avantajı
YOLOX sağlam bir bağımsız depo olmasına rağmen, Ultralytics Ekosistemi içinde YOLOv9'u kullanmak, geliştiriciler ve araştırmacılar için belirgin avantajlar sunar.
Kullanım Kolaylığı ve Entegrasyon
Ultralytics çatısı, model etkileşimini birleştirir. Basit, sezgisel bir Python API kullanarak YOLOv9'u eğitebilir, doğrulayabilir ve dağıtabilirsiniz. Bu, genellikle ortam değişkenlerinin ve veri kümesi yollarının daha manuel olarak yapılandırılmasını gerektiren YOLOX kod tabanıyla çelişir.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Train the model on a custom dataset with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
İyi Yönetilen Ekosistem
Ultralytics modelleri, sürekli güncellemelerden, hata düzeltmelerinden ve topluluk desteğinden yararlanır. Ultralytics HUB ile entegrasyon, ekiplerin veri kümelerini yönetmesine, deneyleri izlemesine ve modelleri karmaşık dışa aktarma komut dosyaları yazmadan çeşitli formatlara (ONNX, TensorRT, CoreML) dağıtmasına olanak tanıyan sorunsuz MLOps olanağı sağlar.
Performans Dengesi ve Bellek Verimliliği
Ultralytics YOLO modelleri, hız ve doğruluk arasında pratik bir denge için tasarlanmıştır. Ayrıca, eski mimarilere veya ağır transformatör tabanlı modellere kıyasla eğitim sırasında tipik olarak daha düşük bellek gereksinimleri sergilerler. Bu verimlilik, bulut bilişim maliyetlerini azaltır ve eğitimin tüketici sınıfı GPU'larda erişilebilir olmasını sağlar.
Çok Yönlülük
YOLOX öncelikle bir nesne detektörü olsa da, Ultralytics çerçevesi desteklenen modellerinin yeteneklerini genişletir. Kullanıcılar, benzer sözdizimi ve iş akışlarını kullanarak örnek segmentasyonu, poz tahmini ve yönlendirilmiş sınırlayıcı kutu (obb) algılama gibi görevler arasında kolayca geçiş yapabilir; bu, bağımsız araştırma depolarında genellikle bulunmayan bir çok yönlülüktür.
İdeal Kullanım Senaryoları
Ne Zaman YOLOv9 Seçmeli
- Otonom Sistemler: YOLOv9-E'nin yüksek doğruluğu, uzaktaki küçük engelleri detect etmenin güvenlik açısından kritik olduğu otonom araçlar için idealdir.
- Gerçek Zamanlı Analizler: Perakende veya trafik yönetimi için YOLOv9c, yüksek kare hızları ve hassas detect arasında ideal dengeyi sunar.
- Uç Yapay Zeka: GELAN'ın mimari verimliliği, YOLOv9t ve YOLOv9s'yi NVIDIA Jetson veya Raspberry Pi gibi cihazlarda dağıtım için mükemmel kılar.
Ne Zaman YOLOX Seçmeli
- Eski Entegrasyon: Mevcut bir üretim hattı, belirli YOLOX ankrajsız başlık formatı etrafında zaten yoğun bir şekilde tasarlanmışsa.
- Akademik Araştırma: Erken ankrajsız detektörlerde ayrık başlıkların davranışını özel olarak araştıran araştırmacılar, YOLOX'u karşılaştırma için değerli bir temel olarak bulabilirler.
Sonuç
Her iki mimari de bilgisayar görüşü tarihinde yerini almıştır. YOLOX, 2021'de ankraj tabanlı statükoya başarıyla meydan okumuştur. Ancak, YOLOv9 gradyan akışı optimizasyonu ve katman toplama alanındaki yıllarca süren gelişmeleri bir araya getiren modern standardı temsil etmektedir.
Çoğu yeni geliştirme için YOLOv9 önerilen seçimdir. Üstün parametre başına performansı, kullanım kolaylığı, eğitim verimliliği ve Ultralytics ekosistemi tarafından sağlanan sağlam dağıtım seçenekleriyle birleştiğinde, konseptten üretime daha hızlı bir yol sağlar.
Belirli uygulama kısıtlamalarınız için mükemmel uyumu bulmak üzere YOLO11 ve YOLOv8 gibi ekosistemdeki diğer modern seçenekleri keşfedin.