YOLOv10 vs. YOLOX: Teknik Bir Karşılaştırma
Bilgisayarla görmenin hızla gelişen ortamında, doğru nesne algılama modelini seçmek performans, verimlilik ve dağıtım kolaylığını dengelemek için çok önemlidir. Bu teknik karşılaştırma, aşağıdakiler arasındaki farkları araştırmaktadır YOLOv10Tsinghua Üniversitesi'nden en yeni gerçek zamanlı uçtan uca dedektör ve Megvii'den oldukça saygın bir çapasız model olan YOLOX.
YOLOX, 2021 yılında çapasız tespit mekanizmalarıyla ilgili önemli yenilikler sunarken, YOLOv10 , NMSeyen çıkarım ve Ultralytics ekosistemiyle daha sıkı entegrasyon sunarak 2024'ün en ileri teknolojisini temsil ediyor.
YOLOv10: Gerçek Zamanlı Uçtan Uca Algılama
YOLOv10 , işlem sonrası verimlilik ile model mimarisi arasındaki boşluğu doldurmayı amaçlamaktadır. NMS eğitim için tutarlı bir ikili atama stratejisi sunarak, çıkarım sırasında Maksimum Olmayan Bastırma (NMS) ihtiyacını ortadan kaldırır ve gecikmeyi önemli ölçüde azaltır.
Teknik Detaylar:
- Yazarlar: Ao Wang, Hui Chen, Lihao Liu, ve diğerleri.
- Organizasyon:Tsinghua Üniversitesi
- Tarih: 2024-05-23
- Arxiv:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
Mimari ve Güçlü Yönler
YOLOv10 , önceki YOLO nesillerinin güçlü yönlerini temel alır, ancak mimariyi hem verimlilik hem de doğruluk için optimize eder. Hafif sınıflandırma başlıkları ve uzamsal kanal ayrıştırmalı alt örnekleme içeren bütünsel bir model tasarımı kullanır.
- NMS'NMS Çıkarım: NMS 'nin kaldırılması, gerçek zamanlı çıkarım uygulamaları için ezber bozan bir özelliktir ve uç cihazlarda öngörülebilir gecikme süresi ve daha düşük CPU ek yükü sağlar.
- Verimlilik-Doğruluk Dengesi: YOLOv10 , öncüllerine ve rakiplerine kıyasla daha düşük parametre sayıları ve FLOP'lar ile son teknoloji performansa ulaşır.
- Ultralytics Entegrasyonu: tarafından tam olarak desteklenmektedir.
ultralyticspaketi, kullanıcıların birleşik bir python APIgibi formatlara sorunsuz dışa aktarma TensorRT ve OpenVINOve kapsamlı dokümantasyon.
Ekosistem Avantajı
YOLOv10'un Ultralytics ekosistemine entegrasyonu, otomatik açıklama, bulut eğitimi ve destek için sağlam bir topluluk gibi gelişmiş özelliklere anında erişim sağlar.
Zayıflıklar
- Daha Yeni Mimari: 2024 sürümü olarak, üçüncü taraf eğitim ekosistemi hızla büyüyor ancak henüz eski modellerin hacmiyle eşleşmeyebilir.
YOLOv10 hakkında daha fazla bilgi edinin
YOLOX: Çapasız Öncü
2021 yılında piyasaya sürülen YOLOX, YOLOv4 ve YOLOv5'in çapa tabanlı yaklaşımlarından farklı olarak çapasız bir mekanizmaya ve ayrık başlıklara geçmiştir. Dinamik etiket atama stratejilerinde önemli bir adım olan etiket ataması için SimOTA'yı (Basitleştirilmiş Optimal Taşıma Ataması) kullanır.
Teknik Detaylar:
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Organizasyon:Megvii
- Tarih: 2021-07-18
- Arxiv:arXiv:2107.08430
- GitHub:Megvii-BaseDetection/YOLOX
Mimari ve Güçlü Yönler
YOLOX, temiz çapasız tasarımı nedeniyle araştırma topluluğunda güçlü bir temel olmaya devam etmektedir.
- Çapasız Mekanizma: YOLOX, önceden tanımlanmış çapa kutularını kaldırarak tasarım karmaşıklığını ve ayar gerektiren hiperparametrelerin sayısını azaltır.
- Ayrılmış Kafa: Sınıflandırma ve lokalizasyon görevlerinin ayrılması, eski birleşik kafa tasarımlarına göre yakınsama hızını ve doğruluğunu artırdı.
- Güçlü Temel: Tespit başlıkları ve atama stratejilerine yönelik akademik araştırmalar için güvenilir bir ölçüt görevi görür.
Zayıflıklar
- Çıkarım Hızı: Zamanına göre verimli olsa da, YOLOX genellikle YOLOv10 gibi yeni modellerin gerisinde kalır ve YOLO11 Özellikle NMS süresi hesaba katıldığında, ham çıkarım hızı açısından.
- Parçalanmış İş Akışı: Ultralytics modellerinin aksine, YOLOX genellikle kendi özel kod tabanı ve ortam kurulumunu gerektirir ve modern çerçevelerde bulunan eğitim, doğrulama ve dağıtım için birleşik arayüzden yoksundur.
- Kaynak Yoğunluğu: Modern verimli mimarilere kıyasla benzer doğruluk seviyeleri için daha yüksek FLOP'lar ve parametre sayıları.
YOLOX hakkında daha fazla bilgi edinin
Performans Analizi
Aşağıdaki karşılaştırma, bu modelleri birbirinden ayıran üç yıl boyunca verimlilik ve doğrulukta kaydedilen önemli gelişmeleri vurgulamaktadır. Metrikler COCO veri setinde model boyutu (parametreler), hesaplama maliyeti (FLOP'lar) ve doğruluğamAP) odaklanmaktadır.
| 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 |
| 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 |
Kritik Gözlemler
- Boyuta Karşı Doğruluk: YOLOv10 daha az parametre ile sürekli olarak daha yüksek mAP sağlar. Örneğin, YOLOv10s sadece 7,2 milyon parametre ile 46,7 mAP elde ederken, YOLOXs 9,0 milyon parametre ile 40,5 mAP elde eder. Bu, YOLOv10'un üstün mimari verimliliğini göstermektedir.
- Hesaplama Verimliliği: YOLOv10 modelleri için FLOP sayısı önemli ölçüde daha düşüktür. YOLOv10x, YOLOXx'un devasa 281,9B FLOP 'una kıyasla 160,4B FLOP 'ta çalışırken, doğrulukta ondan daha iyi performans gösterir (54,4'e karşı 51,1 mAP).
- Çıkarım Hızı: NMS 'nin kaldırılması ve optimize edilmiş mimari, YOLOv10 'un daha düşük gecikme süresi elde etmesini sağlar. T4 TensorRT kıyaslamaları, YOLOv10x'in 12,2 ms'de çalıştığını ve 16,1 ms'deki YOLOXx'ten önemli ölçüde daha hızlı olduğunu göstermektedir.
İdeal Kullanım Senaryoları
YOLOv10: Modern Standart
YOLOv10 , çoğu yeni geliştirme projesi için, özellikle de gerekli olanlar için tercih edilen seçimdir:
- Edge Yapay Zeka Dağıtımı: Düşük bellek alanı ve yüksek verimliliği, Raspberry Pi veya NVIDIA Jetson gibi cihazlar için mükemmeldir.
- Gerçek Zamanlı Uygulamalar: Otonom sürüş, robotik ve video analizi gibi anında geri bildirim gerektiren sistemler, NMS düşük gecikme süresinden yararlanır.
- Hızlı Gelişim: Ultralytics ekosistemi hızlı bir şekilde veri kümesi yönetimi, eğitim ve dağıtım yoluyla
ultralyticspaketi.
YOLOX: Miras ve Araştırma
YOLOX aşağıdakiler için geçerliliğini korumaktadır:
- Akademik Araştırma: Çapasız dedektörlerin veya SimOTA gibi belirli etiket atama stratejilerinin gelişimini inceleyen araştırmacılar genellikle YOLOX'u temel olarak kullanmaktadır.
- Eski Sistemler: YOLOX için optimize edilmiş mevcut üretim hatları, yükseltme maliyetlerinin performans kazanımlarından daha ağır bastığı durumlarda YOLOX'u kullanmaya devam edebilir.
YOLOv10 'u Ultralytics ile Kullanma
YOLOv10 'un en önemli avantajlarından biri kullanım kolaylığıdır. Ultralytics Python API, önceden eğitilmiş ağırlıkların yüklenmesinden özel veriler üzerinde eğitime kadar tüm iş akışını basitleştirir.
Aşağıda, tahminlerin nasıl çalıştırılacağına ve bir YOLOv10 modelinin nasıl eğitileceğine dair bir örnek yer almaktadır:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
# Train the model on a custom dataset (COCO format)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Eğitim Verimliliği
Ultralytics YOLO modelleri, genellikle eski mimarilere veya transformatör tabanlı modellere göre daha az CUDA belleği gerektiren eğitim verimlilikleriyle bilinir. Bu, standart tüketici GPU'larında daha büyük partilerin eğitilmesine olanak tanır.
Sonuç
YOLOX, çapasız tespitin yaygınlaşmasında önemli bir rol oynamıştır, YOLOv10 bilgisayarla görme teknolojisinde bir sonraki sıçramayı temsil ediyor. NMS mimarisi, üstün doğruluk/hesaplama oranı ve güçlü Ultralytics ekosistemine sorunsuz entegrasyonu ile YOLOv10 , hem geliştiriciler hem de araştırmacılar için cazip bir paket sunuyor.
YOLOv10 , son teknoloji ürünü nesne algılamayı kullanmak isteyenler için gerekli hızı ve hassasiyeti sağlar. Poz tahmini veya yönlendirilmiş sınırlayıcı kutular gibi daha geniş yeteneklerle ilgilenen geliştiriciler, çok yönlü YOLO11 veya yaygın olarak benimsenen YOLOv8.