YOLOX - YOLOv10 Karşılaştırması: Teknik Bir Karşılaştırma
Nesne tespiti alanı, yüksek doğruluğu gerçek zamanlı çıkarım hızlarıyla dengeleyen modellere duyulan ihtiyaçla yönlendirilen hızlı bir evrim geçirdi. YOLOX ve YOLOv10 bu zaman çizelgesinde iki önemli kilometre taşını temsil etmektedir. 2021'de piyasaya sürülen YOLOX, ankrajsız bir mimari sunarak YOLO ailesini yeniden canlandırırken, 2024'te piyasaya sürülen YOLOv10, Non-Maximum Suppression (NMS) ihtiyacını ortadan kaldırarak ve çıkarım gecikmesini önemli ölçüde azaltarak yeni bir standart belirlemektedir.
Bu kapsamlı analiz, geliştiricilerin ve araştırmacıların bilgisayarlı görü uygulamaları için en iyi aracı seçmelerine yardımcı olmak amacıyla her iki modelin mimari yeniliklerini, performans metriklerini ve ideal kullanım durumlarını incelemektedir.
YOLOX: Bağlantısız Öncü
YOLOX, 2021'de Megvii tarafından tanıtıldı ve önceki YOLO sürümlerine hakim olan bağlantı tabanlı tasarımlardan bir uzaklaşmayı işaret etti. Bir bağlantısız mekanizma benimseyerek ve ayrıştırılmış başlıklar ve SimOTA gibi gelişmiş teknikleri entegre ederek, YOLOX rekabetçi performans elde etti ve araştırma çerçeveleri ile endüstriyel uygulamalar arasındaki boşluğu kapattı.
Teknik Detaylar:
Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
Kuruluş:Megvii
Tarih: 2021-07-18
Arşiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Belgeler:https://yolox.readthedocs.io/en/latest/
Mimari ve Temel Özellikler
YOLOX, genellemeyi iyileştirmek ve eğitim hattını basitleştirmek için tasarlanmış çeşitli temel mimari değişiklikler uygulayarak YOLOv4 ve YOLOv5 gibi öncüllerinden ayrıldı.
- Çapa Olmayan Mekanizma: YOLOX, önceden tanımlanmış çapa kutularını kaldırarak manuel çapa ayarlama ihtiyacını ortadan kaldırır, bu da modeli çeşitli nesne şekillerine karşı daha sağlam hale getirir ve tasarım parametrelerinin sayısını azaltır.
- Ayrıştırılmış Kafa (Decoupled Head): Sınıflandırma ve yerelleştirme için özellikleri paylaşan birleşik kafaların aksine, YOLOX bir ayrıştırılmış kafa kullanır. Bu ayrım, her görevin parametrelerini bağımsız olarak optimize etmesini sağlayarak daha hızlı yakınsamaya ve daha iyi genel doğruluğa yol açar.
- SimOTA Etiket Ataması: YOLOX, atama problemini optimal bir taşıma görevi olarak ele alan dinamik bir etiket atama stratejisi olan SimOTA'yı (Basitleştirilmiş Optimal Taşıma Ataması) tanıttı. Bu yöntem, farklı nesne ölçeklerine etkili bir şekilde uyum sağlar ve eğitim kararlılığını artırır.
- Güçlü Artırmalar: Eğitim hattı, yayınlandığı sırada son teknoloji sonuçlar elde etmek için çok önemli olan MixUp ve Mozaik veri artırmayı içerir.
Güçlü ve Zayıf Yönler
Güçlü Yönler:
- Yüksek Doğruluk: YOLOX, özellikle YOLOX-x gibi daha büyük varyantlarıyla COCO veri kümesinde güçlü mAP skorları sunar.
- Basitleştirilmiş Tasarım: Bağlantısız yaklaşım, sezgisel hiperparametreleri azaltarak model yapılandırmasını basitleştirir.
- Eski Destek: Yerleşik bir model olarak, çeşitli akademik ve endüstriyel ortamlarda yaygın olarak test edilmiştir.
Zayıflıklar:
- Daha Yüksek Gecikme: Modern detector'lere kıyasla YOLOX, ultra düşük gecikmeli uygulamalar için bir darboğaz olabilecek NMS işlem sonrası işlemeye dayanır.
- Hesaplama Maliyeti: Benzer doğruluğu elde etmek için genellikle daha yeni modellerden daha fazla FLOPs ve parametre gerektirir.
- Entegrasyon: Açık kaynaklı olmasına rağmen, Ultralytics ekosisteminde bulunan sorunsuz entegrasyondan yoksundur ve bu da dağıtım hatları için daha fazla çaba gerektirebilir.
YOLOX hakkında daha fazla bilgi edinin
YOLOv10: Gerçek Zamanlı Uçtan Uca Algılama
Mayıs 2024'te Tsinghua Üniversitesi'nden araştırmacılar tarafından piyasaya sürülen YOLOv10, gerçek zamanlı nesne algılamada bir paradigma değişimini temsil etmektedir. Non-Maximum Suppression (NMS) ihtiyacını ortadan kaldırarak ve model bileşenlerini verimlilik için optimize ederek YOLOv10, önemli ölçüde daha düşük hesaplama yüküyle üstün hız ve doğruluk elde etmektedir.
Teknik Detaylar:
Yazarlar: Ao Wang, Hui Chen, Lihao Liu, ve diğerleri.
Kuruluş: Tsinghua University
Tarih: 2024-05-23
Arşiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Belgeler:https://docs.ultralytics.com/models/yolov10/
Mimari ve İnovasyon
YOLOv10, hem mimariyi hem de işlem sonrası hattını ele alarak bütünsel verimlilik-doğruluk odaklı model tasarımına odaklanır.
- NMS'siz Eğitim: En çığır açan özellik, tutarlı ikili atamaların kullanılmasıdır. Bu strateji, modelin zengin denetleyici sinyallerle eğitilmesine olanak tanırken, çıkarım sırasında bire bir eşleşmeyi sağlar. Bu, dağıtımda yaygın bir gecikme darboğazı olan NMS ihtiyacını ortadan kaldırır.
- Bütünsel Model Tasarımı: YOLOv10, hafif sınıflandırma başlıkları, uzamsal-kanal ayrıştırılmış aşağı örnekleme ve sıra güdümlü blok tasarımı kullanır. Bu optimizasyonlar, performanstan ödün vermeden hesaplama yedekliliğini ve bellek kullanımını azaltır.
- Geniş Çekirdekli Evrişim: Mimari, alıcı alanı genişletmek ve küçük nesnelerin tespitini iyileştirmek için geniş çekirdekli derinlemesine ayrılabilir evrişimleri seçici olarak kullanır.
Güçlü Yönler ve Faydalar
Güçlü Yönler:
- Son Teknoloji Verimliliği: YOLOv10, hız ve doğruluk arasında benzersiz bir denge sunar. NMS'siz tasarım, uçtan uca gecikmeyi önemli ölçüde azaltır.
- Parametre Verimliliği: Önceki nesillere kıyasla daha az parametreyle daha yüksek doğruluk elde ederek Raspberry Pi gibi Edge AI cihazları için idealdir.
- Ultralytics Entegrasyonu: Ultralytics ekosisteminin bir parçası olmak, kullanımının kolay, iyi belgelenmiş olmasını ve ONNX ve TensorRT gibi çeşitli dışa aktarma formatlarını desteklemesini sağlar.
YOLOv10 hakkında daha fazla bilgi edinin
Performans Analizi
Aşağıdaki tablo, YOLOX ve YOLOv10'un COCO kıyaslama veri kümesi üzerindeki performansını karşılaştırmaktadır. Metrikler, daha yeni model için verimlilikte önemli iyileştirmeler olduğunu vurgulamaktadır.
| 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 |
| 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 |
Analiz: Veriler, YOLOv10'un verimlilikteki üstünlüğünü açıkça göstermektedir. Örneğin, YOLOv10-s, daha az parametre (7.2M'ye karşı 9.0M) kullanırken, YOLOX-s (%40.5) ile karşılaştırıldığında önemli ölçüde daha yüksek bir mAP olan %46.7 mAP'ye ulaşır. Özellikle, YOLOv10-x, önemli ölçüde daha hızlı (12.2ms'ye karşı 16.1ms) ve neredeyse yarı yarıya daha az parametre (56.9M'ye karşı 99.1M) gerektirirken, doğrulukta YOLOX-x'i (%54.4'e karşı %51.1) geride bırakıyor. Bu verimlilik, YOLOv10'u gerçek zamanlı sistemler için çok daha iyi bir seçim haline getiriyor.
Verimlilik İçgörüsü
YOLOv10'un NMS işlem sonrası aşamasını ortadan kaldırması, çıkarım sürelerinin daha kararlı ve öngörülebilir olduğu anlamına gelir; bu, otonom araçlar ve endüstriyel robotik gibi güvenlik açısından kritik uygulamalar için kritik bir faktördür.
Eğitim Metodolojileri ve Ekosistem
YOLOX artık standart olan gelişmiş artırma tekniklerini tanıtırken, YOLOv10 olgun ve kullanıcı dostu Ultralytics eğitim hattından yararlanır.
- Kullanım Kolaylığı: Ultralytics modelleri, kolaylaştırılmış Python API ile ünlüdür. Bir YOLOv10 modelini eğitmek yalnızca birkaç satır kod gerektirirken, YOLOX'u kullanmak genellikle daha karmaşık yapılandırma dosyaları ve bağımlılık yönetimi içerir.
- İyi Yönetilen Ekosistem: YOLOv10, Ultralytics çerçevesine tamamen entegre edilmiştir. Bu, kullanıcılara otomatik hiperparametre ayarlama, Ultralytics Explorer aracılığıyla sorunsuz veri kümesi yönetimi ve çeşitli dağıtım seçenekleri gibi özelliklere erişim sağlar.
- Bellek Verimliliği: Ultralytics optimizasyonları, YOLOv10 gibi modellerin eski mimarilere veya ağır transformatör modellerine kıyasla eğitim sırasında daha az CUDA belleği tüketmesini sağlayarak tüketici GPU'larında daha büyük yığın boyutlarına olanak tanır.
Kod Örneği: YOLOv10 Kullanımı
Aşağıdaki örnek, geliştiricilerin önceden eğitilmiş bir YOLOv10 modelini ne kadar kolay yükleyebileceğini ve Ultralytics kitaplığını kullanarak bir görüntü üzerinde çıkarım çalıştırabileceğini göstermektedir.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
İdeal Kullanım Senaryoları
Her iki modelin de yeri vardır, ancak YOLOv10'un modern mimarisi onu daha geniş bir çağdaş uygulama yelpazesi için uygun hale getirir.
- Uç Yapay Zeka ve IoT: YOLOv10'un düşük parametre sayısı ve yüksek hızı, NVIDIA Jetson veya akıllı kameralar gibi sınırlı işlem gücüne sahip cihazlarda dağıtım için mükemmeldir.
- Yüksek Hızlı Üretim: Endüstriyel incelemede, konveyör bantlarının hızla hareket ettiği durumlarda, YOLOv10'un NMS'siz çıkarımı, nesne detection'ının darboğazlar olmadan üretim hatlarına ayak uydurmasını sağlar.
- Gözetim ve Güvenlik: Aynı anda birden fazla video akışını analiz etmek için, YOLOv10'un hesaplama verimliliği, YOLOX'e kıyasla sunucu başına daha yüksek akış yoğunluğuna olanak tanır.
- Araştırma Temelleri: YOLOX, anchor-free detectörlerin evrimini ve optimal taşıma atama yöntemlerini inceleyen araştırmacılar için değerli bir temel olmaya devam ediyor.
Sonuç
YOLOX ankrajsız algılamayı popülerleştirmede çok önemli bir rol oynarken, YOLOv10 modern geliştirme için üstün bir seçim olarak öne çıkıyor. Kapsamlı Ultralytics ekosistemiyle birleşen yenilikçi NMS'siz mimarisi, hem daha hızlı hem de daha doğru olan güçlü bir çözüm sunar.
En iyi performans dengesini, kullanım kolaylığını ve uzun vadeli desteği arayan geliştiriciler için YOLOv10 şiddetle tavsiye edilir. Ek olarak, poz tahmini veya örnek segmentasyonu gibi görevlerde daha da fazla çok yönlülüğe ihtiyaç duyanlar için, sağlam YOLO11 modeli, aynı kullanıcı dostu çerçeve içinde mükemmel bir alternatif görevi görür.
Ultralytics modellerini seçerek, projelerinizin en son araştırmalar, aktif topluluk desteği ve üretime hazır güvenilirlik temelinde inşa edilmesini sağlarsınız.