YOLOX vs. YOLOv10: Teknik Bir Karşılaştırma
Nesne algılama alanı, yüksek doğruluk ile gerçek zamanlı çıkarım hızlarını dengeleyen modellere duyulan ihtiyaç nedeniyle hızlı bir gelişim göstermiştir. YOLOX ve YOLOv10 bu zaman çizelgesinde iki önemli kilometre taşını temsil etmektedir. 2021'de piyasaya sürülen YOLOX, çapasız bir mimari sunarak YOLO ailesini yeniden canlandırırken, 2024'te piyasaya sürülen YOLOv10, Maksimum Olmayan BastırmaNMS) ihtiyacını ortadan kaldırarak yeni bir standart belirledi ve çıkarım gecikmesini önemli ölçüde azalttı.
Bu kapsamlı analiz, her iki model için mimari yenilikleri, performans ölçümlerini ve ideal kullanım durumlarını araştırarak geliştiricilerin ve araştırmacıların bilgisayarla görme uygulamaları için en iyi aracı seçmelerine yardımcı olur.
YOLOX: Çapasız Öncü
YOLOX, 2021 yılında Megvii tarafından tanıtıldı ve önceki YOLO sürümlerine hakim olan çapa tabanlı tasarımlardan uzaklaşmaya işaret etti. Çapasız bir mekanizma benimseyerek ve ayrık başlıklar ve SimOTA gibi gelişmiş teknikleri entegre ederek YOLOX, rekabetçi bir performans elde etti ve araştırma çerçeveleri ile endüstriyel uygulamalar arasındaki boşluğu doldurdu.
Teknik Ayrıntılar:
Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
Organization:Megvii
Date: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
Docs:https://yolox.readthedocs.io/en/latest/
Mimari ve Temel Özellikler
YOLOX, YOLOv4 gibi öncüllerinden farklılaştı ve YOLOv5 Genelleştirmeyi iyileştirmek ve eğitim hattını basitleştirmek için tasarlanmış birkaç önemli mimari değişikliği uygulayarak.
- Çapasız Mekanizma: Önceden tanımlanmış çapa kutularını kaldırarak, YOLOX manuel çapa ayarlama ihtiyacını ortadan kaldırır, modeli çeşitli nesne şekillerine karşı daha sağlam hale getirir ve tasarım parametrelerinin sayısını azaltır.
- Ayrılmış Kafa: Sınıflandırma ve lokalizasyon için özellikleri paylaşan birleşik kafaların aksine, YOLOX ayrılmış bir kafa kullanır. Bu ayrım, her görevin parametrelerini bağımsız olarak optimize etmesini sağlayarak daha hızlı yakınsama ve daha iyi genel doğruluk sağlar.
- 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ı, piyasaya sürüldüğü sırada en son teknolojiye sahip sonuçlara ulaşmak için çok önemli olan MixUp ve Mosaic veri artırımını içermektedir.
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 setinde güçlü mAP skorları sunar.
- Basitleştirilmiş Tasarım: Çapası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 bir şekilde test edilmiştir.
Zayıflıklar:
- Daha Yüksek Gecikme Süresi: Modern dedektörlerle karşılaştırıldığında YOLOX, ultra düşük gecikmeli uygulamalar için bir darboğaz olabilen NMS son işlemine dayanır.
- Hesaplama Maliyeti: Benzer doğruluğa ulaşmak için genellikle daha yeni modellerden daha fazla FLOP ve parametre gerektirir.
- Entegrasyon: Açık kaynaklı olmasına rağmen, Ultralytics ekosisteminde bulunan sorunsuz entegrasyondan yoksundur ve dağıtım boru hatları için potansiyel olarak daha fazla çaba gerektirir.
YOLOX hakkında daha fazla bilgi edinin
YOLOv10: Gerçek Zamanlı Uçtan Uca Algılama
Tsinghua Üniversitesi'nden araştırmacılar tarafından Mayıs 2024'te piyasaya sürülen YOLOv10 , gerçek zamanlı nesne algılamada bir paradigma değişimini temsil ediyor. Maksimum Olmayan BastırmaNMS) ihtiyacını ortadan kaldırarak ve model bileşenlerini verimlilik için optimize ederek, YOLOv10 önemli ölçüde daha düşük hesaplama ek yükü ile üstün hız ve doğruluk elde eder.
Teknik Ayrıntılar:
Yazarlar: Ao Wang, Hui Chen, Lihao Liu, vd.
Organizasyon: Tsinghua Üniversitesi
Tarih: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docs:ultralytics
Mimarlık ve İnovasyon
YOLOv10 , hem mimariyi hem de işlem sonrası boru hattını ele alarak bütünsel verimlilik-doğruluk odaklı model tasarımına odaklanmaktadı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ğitilmesini sağlarken çıkarım sırasında bire bir eşleşmeyi mümkün kı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ırmalı alt örnekleme ve sıralama güdümlü blok tasarımı kullanır. Bu optimizasyonlar, performanstan ödün vermeden hesaplama fazlalığını ve bellek kullanımını azaltır.
- Büyük Çekirdekli Konvolüsyon: Mimari, alıcı alanı genişletmek için seçici olarak büyük çekirdekli derinlik-bilge konvolüsyonları kullanır ve küçük nesnelerin algılanmasını geliştirir.
Güçlü Yönler ve Avantajlar
Güçlü Yönler:
- Son Teknoloji Verimlilik: YOLOv10 , hız ve doğruluk arasında eşsiz bir denge sunar. NMS tasarım uçtan uca gecikmeyi önemli ölçüde azaltır.
- Parametre Verimliliği: Önceki nesillere kıyasla daha az parametre ile 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 olmasını, iyi belgelenmesini ve aşağıdakiler gibi çeşitli dışa aktarma formatlarını desteklemesini sağlar ONNX ve TensorRT.
YOLOv10 hakkında daha fazla bilgi edinin
Performans Analizi
Aşağıdaki tabloda YOLOX ve YOLOv10 'un COCO kıyaslama veri seti üzerindeki performansı karşılaştırılmaktadır. Metrikler, yeni modelin verimliliğindeki önemli gelişmeleri 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 daha az parametre kullanırken (7,2M'ye karşı 9,0M) YOLOX-s 'ye (%40,5) kıyasla %46,7 gibi önemli ölçüde daha yüksek bir mAP elde etmektedir. Özellikle, YOLOv10 doğrulukta YOLOX-x 'i geçerken (%54,4'e karşı %51,1) önemli ölçüde daha hızlıdır (12,2ms'ye karşı 16,1ms) ve neredeyse yarı yarıya parametre gerektirir (56,9M'ye karşı 99,1M). Bu verimlilik, YOLOv10 'u gerçek zamanlı sistemler için çok daha iyi bir seçim haline getirmektedir.
Verimlilik İçgörüsü
YOLOv10'un NMS post-processing'i ortadan kaldırması, otonom araçlar ve endüstriyel robotik gibi güvenlik açısından kritik uygulamalar için kritik bir faktör olan çıkarım sürelerinin daha istikrarlı ve öngörülebilir olduğu anlamına gelir.
Eğitim Metodolojileri ve Ekosistem
YOLOX artık standart olan gelişmiş büyütme tekniklerini sunarken, YOLOv10 olgun ve kullanıcı dostu Ultralytics eğitim hattından faydalanmaktadır.
- Kullanım Kolaylığı: Ultralytics modelleri, kolaylaştırılmış Python API'leri 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 Korunmuş Ekosistem: YOLOv10 , Ultralytics çerçevesine tamamen entegre edilmiştir. Bu, kullanıcılara otomatik hiperparametre ayarı, 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 eğitim sırasında eski mimarilere veya ağır dönüştürücü modellere kıyasla daha az CUDA belleği tüketmesini sağlayarak tüketici GPU'larında daha büyük parti boyutlarına izin verir.
Kod Örneği: YOLOv10 Kullanımı
Aşağıdaki örnek, geliştiricilerin önceden eğitilmiş bir YOLOv10 modelini nasıl kolayca yükleyebileceklerini ve Ultralytics kütüphanesini kullanarak bir görüntü üzerinde çıkarım yapabileceklerini 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 kendine göre bir yeri var, ancak YOLOv10'un modern mimarisi onu daha geniş bir yelpazedeki çağdaş uygulamalar için uygun hale getiriyor.
- Edge AI ve IoT: YOLOv10'un düşük parametre sayısı ve yüksek hızı, onu NVIDIA Jetson veya akıllı kameralar gibi sınırlı işlemciye sahip cihazlara dağıtmak için mükemmel hale getirir.
- Yüksek Hızlı Üretim: Konveyör bantlarının hızla hareket ettiği endüstriyel denetimde, YOLOv10 'un NMS çıkarımı, nesne algılamanın darboğazlar olmadan üretim hatlarına ayak uydurmasını sağlar.
- Gözetim ve Güvenlik: Birden fazla video akışını aynı anda analiz etmek için YOLOv10 'un hesaplama verimliliği, YOLOX'a kıyasla sunucu başına daha yüksek akış yoğunluğuna izin verir.
- Araştırma Temelleri: YOLOX, çapasız dedektörlerin ve optimum taşıma atama yöntemlerinin gelişimini inceleyen araştırmacılar için değerli bir temel olmaya devam etmektedir.
Sonuç
YOLOX, çapasız tespitin yaygınlaşmasında önemli bir rol oynamıştır, YOLOv10 modern geliştirme için üstün bir seçim olarak öne çıkıyor. Yenilikçi NMS mimarisi, kapsamlı Ultralytics ekosistemi ile birleştiğinde, 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. Ayrıca, poz tahmini veya örnek segmentasyonu gibi görevler arasında daha 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 olarak hizmet vermektedir.
Ultralytics modellerini seçerek, projelerinizin en son araştırmalar, aktif topluluk desteği ve üretime hazır güvenilirlik temeli üzerine inşa edilmesini sağlarsınız.