YOLOv5 - YOLOX: Teknik Bir Karşılaştırma
Doğru nesne algılama modelini seçmek, doğruluk, hız ve dağıtım karmaşıklığını dengeleyen kritik bir karardır. Bu sayfa, YOLO ailesindeki iki etkili model arasında ayrıntılı bir teknik karşılaştırma sunmaktadır: Ultralytics YOLOv5 ve YOLOX. Her iki model de gerçek zamanlı performans sunarken, temelde farklı tasarım felsefeleri üzerine inşa edilmiştir. YOLOv5, olağanüstü kullanım kolaylığı ve verimliliği ile bilinen, yüksek düzeyde optimize edilmiş, ankraj tabanlı bir modeldir, YOLOX ise doğruluğun sınırlarını zorlamak için ankrajsız bir yaklaşım sunar. Projenizin ihtiyaçlarına en uygun modeli belirlemenize yardımcı olmak için mimarilerini, performans metriklerini ve ideal kullanım durumlarını inceleyeceğiz.
Ultralytics YOLOv5: Yerleşik Endüstri Standardı
Teknik Detaylar:
- Yazarlar: Glenn Jocher
- Kuruluş: Ultralytics
- Tarih: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Belgeler: https://docs.ultralytics.com/models/yolov5/
Mimari ve Temel Özellikler
Ultralytics YOLOv5, hız, doğruluk ve kullanıcı dostu olma özelliklerinin olağanüstü birleşimi sayesinde bir endüstri ölçütü haline gelmiştir. Tamamen PyTorch ile oluşturulmuş olan YOLOv5, bir CSPDarknet53 backbone, özellik toplama için bir PANet boynu ve verimli bir anchor tabanlı algılama başlığı ile sağlam bir mimariye sahiptir. Temel güçlü yönlerinden biri, küçük ve hızlı YOLOv5n'den büyük ve doğru YOLOv5x'e kadar bir dizi model sunan ölçeklenebilirliğidir. Bu esneklik, geliştiricilerin özel hesaplama ve performans gereksinimleri için mükemmel modeli seçmelerini sağlar.
Güçlü Yönler
- Olağanüstü Hız ve Verimlilik: YOLOv5, hızlı çıkarım için son derece optimize edilmiştir ve bu da onu CPU'lardan GPU'lara ve uç cihazlara kadar çeşitli donanımlarda gerçek zamanlı sistemler için en iyi seçenek haline getirir.
- Kullanım Kolaylığı: Kolaylaştırılmış kullanıcı deneyimi ile tanınan YOLOv5, kapsamlı dokümantasyon ve çok sayıda eğitim ile tamamlanan basit bir Python API'si ve CLI sunar.
- İyi Yönetilen Ekosistem: Bir Ultralytics modeli olarak YOLOv5, olgun ve aktif bir ekosistemden yararlanır. Bu, sürekli geliştirme, büyük ve destekleyici bir topluluk, sık güncellemeler ve kodsuz eğitim ve dağıtım için Ultralytics HUB gibi araçlarla sorunsuz entegrasyonu içerir.
- Eğitim Verimliliği: Model, COCO gibi veri kümelerinde kolayca erişilebilen önceden eğitilmiş ağırlıklarla verimli bir eğitim süreci sunarak eğitim süresini ve işlem maliyetini önemli ölçüde azaltır.
- Çok Yönlülük: YOLOv5, yalnızca nesne algılama ile sınırlı değildir; aynı zamanda örnek segmentasyonu ve görüntü sınıflandırmayı da destekleyerek çeşitli bilgisayarla görme görevleri için çok yönlü bir araçtır.
- Daha Düşük Bellek Kullanımı: Daha karmaşık mimarilerle karşılaştırıldığında, YOLOv5 genellikle hem eğitim hem de çıkarım için daha az bellek gerektirir, bu da sınırlı donanım kaynaklarına sahip kullanıcılar için onu daha erişilebilir kılar.
Zayıflıklar
- Anchor Tabanlı Algılama: Önceden tanımlanmış anchor kutularına dayanması, anchor'suz algılayıcılara kıyasla, alışılmadık şekilli veya ölçekli nesneler içeren veri kümelerinde optimum performans elde etmek için bazen dikkatli ayarlamalar gerektirebilir.
- Doğruluk Dengesi: Harika bir denge sunmasına rağmen, daha küçük YOLOv5 modelleri hıza öncelik verir; bu da YOLOX veya YOLOv9 gibi daha yeni, daha karmaşık mimarilere kıyasla biraz daha düşük doğruluğa neden olabilir.
Kullanım Alanları
YOLOv5, hız ve verimliliğin kritik olduğu uygulamalarda öne çıkar:
- Gerçek Zamanlı Güvenlik: Hırsızlık önleme ve anomali tespitini mümkün kılar.
- Edge Computing: Raspberry Pi ve NVIDIA Jetson gibi kaynak kısıtlı cihazlarda verimli dağıtım.
- Endüstriyel Otomasyon: Üretimde kalite kontrolünü iyileştirme, örneğin geri dönüşüm verimliliğini artırma gibi.
YOLOv5 hakkında daha fazla bilgi edinin
YOLOX: Ankrajsız ve Yüksek Performanslı Alternatif
Teknik Detaylar:
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş: Megvii
- Tarih: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- Belgeler: https://yolox.readthedocs.io/en/latest/
Mimari ve Temel Özellikler
Megvii araştırmacıları tarafından 2021'de tanıtılan YOLOX, nesne algılamaya ankrajsız bir yaklaşım sunar. Bu tasarım seçimi, önceden tanımlanmış ankraj kutularına olan ihtiyacı ortadan kaldırarak algılama hattını basitleştirmeyi ve genelleştirmeyi geliştirmeyi amaçlar. Temel mimari yenilikler arasında, sınıflandırma ve yerelleştirme görevlerini farklı dallara ayıran bir ayrık kafa ve modelin daha iyi temsiller öğrenmesine yardımcı olan dinamik bir etiket atama tekniği olan SimOTA gibi gelişmiş eğitim stratejilerinin kullanımı yer almaktadır.
Güçlü Yönler
- Anchor-Free (Çapa Kutusu Olmayan) Algılama: Çapa kutularıyla ilişkili karmaşıklığı ve ön varsayımları ortadan kaldırarak algılama hattını basitleştirir ve bu da çeşitli en boy oranlarına sahip nesnelerde daha iyi performansa yol açabilir.
- Yüksek Doğruluk: Özellikle daha büyük modelleriyle rekabetçi bir doğruluk elde eder. Ayrıştırılmış başlık ve gelişmiş SimOTA etiket atama stratejisi, güçlü mAP puanlarına önemli katkıda bulunur.
Zayıflıklar
- Karmaşıklık: Ankrajsız (anchor-free) tasarım bir yönü basitleştirse de, ayrıştırılmış başlıkların (decoupled heads) ve SimOTA gibi gelişmiş stratejilerin tanıtılması, uygulama karmaşıklığını artırabilir ve eğitim sürecini daha az sezgisel hale getirebilir.
- Harici Ekosistem: YOLOX, Ultralytics paketinin bir parçası değildir, bu da Ultralytics HUB gibi güçlü araçlarla sorunsuz entegrasyondan yoksun olduğu anlamına gelir. Bu, daha dik bir öğrenme eğrisine ve eğitim, dağıtım ve MLOps için daha fazla manuel çabaya neden olabilir.
- CPU Hızı: CPU üzerindeki çıkarım hızı, özellikle daha büyük YOLOX varyantları için YOLOv5 gibi yüksek düzeyde optimize edilmiş modellerin gerisinde kalabilir ve bu da onu belirli gerçek zamanlı CPU ile sınırlı uygulamalar için daha az ideal hale getirir.
Kullanım Alanları
YOLOX, doğruluğu en üst düzeye çıkarmanın en önemli öncelik olduğu uygulamalar için çok uygundur:
- Otonom Sürüş: Yüksek hassasiyetin güvenlik açısından çok önemli olduğu otonom araçlardaki algılama görevleri için uygundur.
- Gelişmiş Robotik: Robotların navigasyon ve etkileşim için hassas nesne tespiti gerektirdiği karmaşık ortamlar için idealdir.
- Araştırma: Anchor-free metodolojileri ve nesne algılama araştırmalarındaki gelişmiş eğitim tekniklerini keşfetmek için güçlü bir temel oluşturur.
YOLOX hakkında daha fazla bilgi edinin
Performans ve Hız Karşılaştırması
YOLOv5 ve YOLOX'u karşılaştırırken, hız, doğruluk ve model boyutu arasındaki denge noktaları belirginleşir. YOLOv5, özellikle CPU'da ve TensorRT gibi optimize edilmiş formatlara aktarıldığında çok hızlı çıkarım hızları sunarak olağanüstü verimlilik için tasarlanmıştır. Bu, onu çok çeşitli donanımlarda gerçek zamanlı performans gerektiren uygulamalar için zorlu bir seçim haline getirir. Öte yandan YOLOX, daha yüksek doğruluk için zorlar ve en büyük modeli olan YOLOX-x, YOLOv5x'ten biraz daha yüksek bir mAP elde eder. Ancak, bu doğruluk kazanımı genellikle artan hesaplama maliyeti ve daha yavaş çıkarım süreleri ile birlikte gelir.
Aşağıdaki tablo, hem YOLOv5 hem de YOLOX için çeşitli model boyutlarının COCO val2017 veri kümesi üzerinde yapılan karşılaştırmalı bir değerlendirmesini sunmaktadır.
Model | boyut (piksel) |
mAPval 50-95 |
Hız CPU ONNX (ms) |
Hız T4 TensorRT10 (ms) |
parametreler (M) |
FLOP'lar (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 |
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 |
Sonuç ve Öneri
Hem YOLOv5 hem de YOLOX güçlü nesne algılama modelleridir, ancak farklı önceliklere hitap ederler.
Ultralytics YOLOv5, gerçek dünya uygulamalarının büyük çoğunluğu için üstün bir seçim olmaya devam ediyor. Temel avantajları rakipsiz kullanım kolaylığı, olağanüstü çıkarım hızı ve sağlam, iyi yönetilen bir ekosistemdir. Kavramdan üretime hızlı ve verimli bir şekilde geçmek isteyen geliştiriciler ve ekipler için YOLOv5'in akıcı iş akışı, kapsamlı dokümantasyonu ve Ultralytics HUB gibi araçlarla entegrasyonu paha biçilmezdir. Yüksek kaliteli bulut sunucularından kaynak kısıtlı uç cihazlara kadar her şeyde dağıtım için ideal hale getiren mükemmel bir hız ve doğruluk dengesi sağlar.
YOLOX, ankraj içermeyen mimarilerin potansiyelini gösteren güçlü bir akademik ve araştırma modelidir. Mutlak en yüksek mAP'ye ulaşmanın birincil hedef olduğu ve geliştirme ekibinin artan karmaşıklık ve entegre bir ekosistemin eksikliği ile başa çıkmaya hazır olduğu projeler için uygun bir seçimdir.
Çoğu geliştirici, araştırmacı ve işletme için bir Ultralytics modeliyle başlamanızı öneririz. Birden çok görevi (nesne tespiti, segmentasyon, poz vb.) destekleyen ve YOLOv8 ve YOLO11 gibi daha yeni modellere açık bir yükseltme yolu sunan birleşik, aktif olarak geliştirilen bir çerçevenin faydaları, uzun vadede önemli bir avantaj sağlar. Ultralytics ekosistemi, geliştirmeyi hızlandırmak ve başarılı olmak için ihtiyaç duyduğunuz desteğe ve araçlara sahip olmanızı sağlamak üzere tasarlanmıştır.
Diğer Model Karşılaştırmaları
Bu modelleri YOLO ailesindeki ve ötesindeki diğer modellerle karşılaştırmakla ilgileniyorsanız, şu sayfalara göz atın:
- YOLOv5 - YOLOv9 Karşılaştırması
- YOLOv8 - YOLOX karşılaştırması
- YOLOv10 - YOLOX Karşılaştırması
- RT-DETR - YOLOX Karşılaştırması
- EfficientDet - YOLOX karşılaştırması