YOLOX - YOLOv6-3.0 Karşılaştırması: Teknik Bir Karşılaştırma
Doğru nesne algılama mimarisini seçmek, performans, hız ve hesaplama verimliliğini dengelemeyi amaçlayan geliştiriciler ve araştırmacılar için kritik bir karardır. Bu kapsamlı karşılaştırma, Megvii'den yüksek performanslı, ankraj içermeyen bir detectör olan YOLOX ile Meituan tarafından geliştirilen endüstriyel sınıf bir çerçeve olan YOLOv6-3.0 arasındaki teknik farklılıkları incelemektedir. Mimari yapılarını, kıyaslamalarını ve eğitim metodolojilerini analiz ederek, belirli bilgisayar görüşü uygulamalarınız için en iyi modele yönlendirmeyi amaçlıyoruz.
YOLOX: Araştırma ve Endüstriyi Birleştirme
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/
2021'de yayınlanan YOLOX, ankrajsız bir mekanizma benimseyerek ve daha önce akademik araştırmalar için ayrılmış gelişmiş algılama tekniklerini entegre ederek YOLO soyunda önemli bir değişimi temsil etti. Önceden tanımlanmış ankraj kutularına olan bağımlılığı ortadan kaldırarak YOLOX, eğitim sürecini basitleştirdi ve çeşitli nesne şekillerinde genellemeyi geliştirdi.
Mimari ve Temel Özellikler
YOLOX, "ayrılmış head" mimarisiyle kendini farklı kılar. Sınıflandırma ve yerelleştirme görevlerini tek bir dalda birleştiren geleneksel YOLO modellerinin aksine, YOLOX bunları ayırır, bu da yakınsama hızını ve doğruluğunu önemli ölçüde artırır. ground truth nesnelerine pozitif örnekleri dinamik olarak atayan ve eğitim kararsızlığını azaltan bir SimOTA (Basitleştirilmiş Optimal Transport Ataması) etiket atama stratejisi kullanır.
Anchorsız Tasarım
YOLOX, önceki YOLO sürümlerinde yaygın bir adım olan manuel anchor kutusu kümelemesi ihtiyacını ortadan kaldırır. Bu, eğitimde yer alan sezgisel hiperparametrelerin ve tasarım seçimlerinin sayısını azaltır ve modeli kapsamlı ayarlama olmadan çeşitli veri kümelerine karşı daha sağlam hale getirir.
Güçlü ve Zayıf Yönler
Güçlü Yönler:
- Yüksek Hassasiyet: Ayrık başlık ve gelişmiş etiket atama, YOLOX'un özellikle COCO veri kümesinde rekabetçi ortalama Ortalama Hassasiyet (mAP) skorları elde etmesini sağlar.
- Araştırma Esnekliği: Basitleştirilmiş tasarımı, yeni detect başlıkları veya atama stratejileri ile deney yapan araştırmacılar için mükemmel bir temel oluşturur.
- Küçük Nesne Tespiti: Anchor'suz yaklaşım, bazen katı anchor tabanlı sistemlere kıyasla küçük nesnelerde daha iyi performans sunabilir.
Zayıflıklar:
- Çıkarım Gecikmesi: Doğru olmasına rağmen, ayrıştırılmış başlık hafif bir hesaplama yükü getirir ve bu da genellikle YOLOv6 gibi tam olarak optimize edilmiş endüstriyel modellere kıyasla daha yavaş çıkarım hızlarına neden olur.
- Ekosistem Olgunluğu: Kod açık kaynaklı olmasına rağmen, üçüncü taraf araçların, dağıtım kılavuzlarının ve topluluk desteğinin ekosistemi Ultralytics YOLOv8 veya YOLOv5'inkinden daha küçüktür.
İdeal Kullanım Senaryoları
YOLOX, özellikle akademik araştırma ve doğruluğun ham çıkarım hızına göre öncelikli olduğu senaryolar için çok uygundur.
- Tıbbi Görüntüleme: Hassasiyetin çok önemli olduğu tıbbi görüntü analizinde karmaşık yapıların analizi.
- Kusur Algılama: Kaçırılan algılamaların maliyetli olduğu üretimde ince anormallikleri belirleme.
- Akademik Deney: Yeni bilgisayar görüşü algoritmaları geliştirmek için temiz, ankrajsız bir temel çizgi olarak hizmet eder.
YOLOX hakkında daha fazla bilgi edinin
YOLOv6-3.0: Endüstriyel Hız için Tasarlandı
Yazarlar: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu ve Xiangxiang Chu
Kuruluş:Meituan
Tarih: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHub:https://github.com/meituan/YOLOv6
Belgeler:https://docs.ultralytics.com/models/yolov6/
YOLOv6-3.0, gerçek dünya endüstriyel uygulamaları için tasarlanmış amaca yönelik bir nesne algılayıcısıdır. "Tam Ölçekli Yeniden Yükleme" olarak bilinen "3.0" güncellemesi, NVIDIA GPU'lar gibi donanımlarda verimi en üst düzeye çıkarmak için önemli mimari iyileştirmeler getirmiştir.
Mimari ve Temel Özellikler
YOLOv6-3.0'ın özü, yeniden parametrelendirmenin yoğun şekilde kullanılmasıdır. Model, ağın eğitim sırasında karmaşık, çok dallı yapılara sahip olmasına, ancak çıkarım sırasında basit, tek yollu yapılara çökmesine olanak tanıyan bir EfficientRep backbone ve Rep-PAN boynu kullanır. Bu "RepVGG tarzı" yaklaşım, karmaşık dallanmanın çalışma zamanı gecikme cezası olmadan yüksek özellik çıkarma yeteneği sağlar.
Ek olarak, YOLOv6-3.0, eğitimi stabilize etmek ve yakınsamayı hızlandırmak için anchor tabanlı ve anchorsız paradigmaların faydalarını birleştiren Anchor-Aided Training (AAT) kullanır.
Güçlü ve Zayıf Yönler
Güçlü Yönler:
- Olağanüstü Hız: TensorRT için optimize edilmiştir, YOLOv6-3.0 son derece düşük gecikme süresi sağlar ve bu da onu yüksek fps uygulamaları için ideal hale getirir.
- Dağıtıma Hazır: Model nicemleme gibi özellikler, uç cihazlarda ve sunucularda daha kolay dağıtımı kolaylaştırır.
- Verimlilik: Yeniden parametrelendirme tekniği, FLOP'lar ile doğruluk arasında mükemmel bir denge sağlar.
Zayıflıklar:
- Eğitim Kaynak Yoğunluğu: Karmaşık eğitim zamanı mimarisi (yeniden parametrelendirmeden önce), daha basit modellere kıyasla önemli miktarda GPU belleği gerektirebilir.
- Sınırlı Görev Kapsamı: YOLOv6 öncelikli olarak algılamaya odaklanmıştır. Ultralytics ürünlerinde bulunan aynı sorunsuz API içinde poz tahmini veya Yönlendirilmiş Sınırlayıcı Kutular (OBB) gibi diğer görevler için yerel, entegre desteğe sahip değildir.
İdeal Kullanım Senaryoları
YOLOv6-3.0, gerçek zamanlı çıkarım hızının katı bir gereklilik olduğu ortamlarda parlar.
- Otonom Robotik: Robotların dinamik ortamlarda anında gezinmesini ve tepki vermesini sağlar.
- Üretim Hattı Denetimi: Verimin tehlikeye atılamayacağı üretim bantlarında yüksek hızlı kalite denetimi.
- Video Analitiği: Güvenlik alarm sistemleri için birden fazla video akışını aynı anda işleme.
YOLOv6 hakkında daha fazla bilgi edinin
Performans Kafa Kafaya
COCO veri kümesi üzerindeki performans metriklerini karşılaştırmak, farklı tasarım felsefelerini ortaya koymaktadır. YOLOX, saygın doğruluğa sahip basitleştirilmiş bir mimari sunarken, YOLOv6-3.0 yapısal optimizasyon yoluyla çıkarım hızının sınırlarını zorlamaktadı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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Veriler, YOLOv6-3.0n'nin GPU donanımında (1,17 ms'ye karşı YOLOXs 2,56 ms) önemli ölçüde daha hızlı olduğunu ve aynı zamanda güçlü bir mAP'yi koruduğunu vurgulamaktadır. Her megabaytın önemli olduğu kaynak kısıtlı cihazlar için, YOLOXnano, doğruluğu daha düşük olmasına rağmen 1M'nin altında parametrelerle ilginç bir seçenek olmaya devam etmektedir. Daha üst düzeyde, YOLOv6-3.0l, YOLOXx'i hem doğruluk (52,8'e karşı 51,1 mAP) hem de verimlilik açısından geride bırakarak yaklaşık %40 daha az parametre kullanır.
Eğitim Metodolojileri ve Ekosistem
Bu modelleri eğitme kullanıcı deneyimi önemli ölçüde farklılık gösterir.
YOLOX, önceden eğitilmiş ağırlıklar olmadan sonuçlarını elde etmek için veri artırma gibi güçlü tekniklere güvenir. Eğitim hattı araştırma odaklıdır ve PyTorch konfigürasyonlarına aşina olanlar için esneklik sunar.
YOLOv6-3.0, daha büyük bir öğretmen modelinin eğitim sırasında öğrenci modeline rehberlik ettiği ve çıkarım maliyetini artırmadan daha küçük modellerin doğruluğunu artırdığı self-distillation (kendinden damıtma) kullanır. Bu metodoloji güçlüdür ancak eğitim kurulumuna karmaşıklık katar.
Ancak, kolaylaştırılmış bir iş akışına öncelik veren geliştiriciler genellikle Ultralytics ekosistemini üstün bulmaktadır. Bağımsız araştırma modellerinde sıklıkla bulunan parçalı araçların aksine, Ultralytics birleşik bir platform sağlar.
- Kullanım Kolaylığı: Basit bir Python API, yalnızca birkaç satır kodla eğitim, doğrulama ve çıkarım yapılmasına olanak tanır.
- İyi Yönetilen Ekosistem: Sık güncellemeler, PyTorch, CUDA ve ONNX ve OpenVINO gibi dışa aktarma formatlarının en son sürümleriyle uyumluluğu sağlar.
- Eğitim Verimliliği: Ultralytics modelleri, verimli bellek kullanımı için optimize edilmiştir ve genellikle karşılaştırılabilir transformatör tabanlı mimarilerden daha hızlı ve daha az GPU belleğiyle eğitim yapar.
Ultralytics Kullanım Kolaylığı
Ultralytics ile son teknoloji bir modeli eğitmek şu kadar basittir:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Sonuç: Ultralytics Avantajı
YOLOX araştırma için uygun yenilikçi bir ankrajsız tasarım sunarken ve YOLOv6-3.0 belirli endüstriyel donanımlar için etkileyici hız sağlarken, Ultralytics YOLO11 mevcut bilgisayarla görme teknolojisinin zirvesini temsil ediyor.
YOLO11 ve yerleşik YOLOv8, hem CPU hem de GPU'da olağanüstü çıkarım hızlarıyla son teknoloji mAP skorları elde ederek üstün bir performans dengesi sağlar. Rakiplerin aksine, öncelikle algılama ile sınırlı olan Ultralytics modelleri, benzersiz bir çok yönlülük sunar ve yerel olarak şunları destekler:
Aktif geliştirme, kapsamlı dokümantasyon ve gelişen bir topluluk tarafından desteklenen, geleceğe dönük bir çözüm arayan geliştiriciler için Ultralytics, projeleri konseptten üretime taşımak için önerilen seçim olmaya devam ediyor.
Daha fazla karşılaştırma keşfetmek için YOLOv5 - YOLOv6 veya YOLO11 - RT-DETR karşılaştırmalarını okumayı düşünebilirsiniz.