PP-YOLOE+ - YOLOX: Gelişmiş Ankrajsız Nesne Algılama Karşılaştırması
Optimum nesne algılama mimarisini seçmek, doğruluk, çıkarım hızı ve dağıtım karmaşıklığı arasındaki ödünleşimlerin derinlemesine anlaşılmasını gerektirir. Bu kılavuz, Baidu'dan endüstriyel sınıf bir detectör olan PP-YOLOE+ ve Megvii'den yüksek performanslı anchor-free bir model olan YOLOX arasında teknik bir karşılaştırma sunar. Her iki mimari de anchor-free detectörlere doğru kaymada önemli kilometre taşları işaret ederek bilgisayar görüşü mühendisleri için sağlam çözümler sunmaktadır.
PP-YOLOE+: Baidu'dan Endüstriyel Mükemmellik
PP-YOLOE+, PaddlePaddle Yazarları tarafından Baidu'da geliştirilen PP-YOLOE'nin gelişmiş bir versiyonudur. Nisan 2022'de piyasaya sürülen bu sürüm, kapsamlı PaddleDetection paketinin bir parçasıdır. Özellikle endüstriyel uygulamalar için tasarlanan PP-YOLOE+, PaddlePaddle çerçevesinin yeteneklerinden yararlanarak eğitim verimliliği ve çıkarım hassasiyeti arasındaki dengeyi optimize eder.
Teknik Detaylar:
- Yazarlar: PaddlePaddle Yazarları
- Kuruluş:Baidu
- Tarih: 2022-04-02
- Arxiv Bağlantısı:PP-YOLOE: YOLO'nun Gelişmiş Bir Sürümü
- GitHub Bağlantısı:PaddleDetection Deposu
- Belgeler Bağlantısı:PP-YOLOE+ Belgeleri
Mimari ve Temel Özellikler
PP-YOLOE+, çeşitli donanımlarda performansı en üst düzeye çıkarmayı amaçlayan çeşitli mimari yeniliklerle kendini ayırır:
- Ölçeklenebilir Backbone: Residual Ağlarının özellik çıkarma gücünü Cross Stage Partial (CSP) bağlantılarının verimliliğiyle birleştiren bir CSPRepResNet kullanır.
- Görev Hizalama Öğrenimi (TAL): Kritik bir yenilik, en yüksek güvenilirlik puanlarının en doğru sınırlayıcı kutulara karşılık gelmesini sağlayarak sınıflandırma ve yerelleştirme görevlerini dinamik olarak hizalayan özel bir kayıp fonksiyonu olan TAL'ın kullanılmasıdır.
- Verimli Görev Hizalı Başlık (ET-Head): Model, detect başlığı tasarımını basitleştiren, yüksek hassasiyeti korurken hesaplama yükünü azaltan, ankrajsız bir başlık kullanır.
Güçlü ve Zayıf Yönler
PP-YOLOE+, belirli dağıtım senaryoları için güçlü bir araçtır ancak ekosistem kısıtlamalarıyla birlikte gelir.
Güçlü Yönler:
- Son Teknoloji Doğruluğu: Model, COCO veri kümesinde olağanüstü sonuçlar elde eder ve PP-YOLOE+x varyantı 54,7% mAP'ye ulaşarak kusur tespiti gibi yüksek hassasiyetli görevler için uygun hale gelir.
- Çıkarım Verimliliği: PaddlePaddle çerçevesindeki operatör füzyonu gibi optimizasyonlar sayesinde, özellikle daha büyük model boyutları için GPU donanımında rekabetçi hızlar sunar.
Zayıflıklar:
- Framework Bağımlılığı: PaddlePaddle ekosistemine birincil bağımlılık, PyTorch veya TensorFlow üzerinde standartlaşmış ekipler için bir engel olabilir.
- Dağıtımın Karmaşıklığı: Bu modelleri diğer çıkarım motorlarına (ONNX Runtime veya TensorRT gibi) taşımak genellikle, kutudan çıkar çıkmaz tüm özel operatörleri desteklemeyen belirli dönüştürme araçları gerektirir.
PP-YOLOE+ hakkında daha fazla bilgi edinin
YOLOX: Bağlantısız Öncü
YOLOX, 2021'de Megvii'deki araştırmacılar tarafından tanıtıldı. Algılama başlığını ayırması ve bağlantıları kaldırmasıyla anında dikkat çekti; bu, önceki YOLO yinelemelerine kıyasla eğitim hattını önemli ölçüde basitleştiren bir hareketti. YOLOX, akademik araştırma ve pratik endüstriyel uygulama arasındaki boşluğu doldurarak sonraki birçok nesne algılama mimarisini etkiledi.
Teknik Detaylar:
- Yazarlar: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li ve Jian Sun
- Kuruluş:Megvii
- Tarih: 2021-07-18
- Arxiv Bağlantısı:YOLOX: 2021'de YOLO Serisini Aşmak
- GitHub Bağlantısı:YOLOX Deposu
- Belgeler Bağlantısı:YOLOX Belgeleri
Mimari ve Temel Özellikler
YOLOX, YOLO ailesine "anchor'suz yanlısı" bir tasarım felsefesi getirmiştir:
- Ayrıştırılmış Kafa (Decoupled Head): Sınıflandırma ve yerelleştirmeyi birleşik dallarda gerçekleştiren geleneksel YOLO kafalarının aksine, YOLOX bu görevleri ayırır. Bu ayrıştırma, yakınsama hızını ve nihai doğruluğu artırır.
- SimOTA Etiket Ataması: YOLOX, her bir yer doğruluk nesnesi için en iyi pozitif örnekleri otomatik olarak seçen ve karmaşık hiperparametre ayarlama ihtiyacını azaltan dinamik bir etiket atama stratejisi olan SimOTA (Basitleştirilmiş Optimal Taşıma Ataması) kullanır.
- Çapa Olmayan Mekanizma: YOLOX, önceden tanımlanmış çapa kutularını ortadan kaldırarak tasarım parametrelerinin sayısını azaltır ve özellikle aşırı en boy oranlarına sahip olanlar için nesne şekilleri arasında genellemeyi iyileştirir.
Güçlü ve Zayıf Yönler
Güçlü Yönler:
- Uygulama Basitliği: Anchor'ların kaldırılması ve standart PyTorch işlemlerinin kullanılması, kod tabanının araştırma amaçlı anlaşılmasını ve değiştirilmesini nispeten kolaylaştırır.
- Güçlü Temel: Gelişmiş eğitim teknikleri ve mimari değişiklikler üzerine yapılan akademik araştırmalar için mükemmel bir temel görevi görür.
Zayıflıklar:
- Eskiyen Performans: 2021'de devrim niteliğinde olmasına rağmen, ham performans metrikleri (hız/doğruluk dengesi) YOLOv8 ve YOLO11 gibi daha yeni modeller tarafından aşılmıştır.
- Eğitim Kaynak Yoğunluğu: SimOTA gibi gelişmiş atama stratejileri, eğitim aşamasında daha basit statik atama yöntemlerine kıyasla hesaplama yükünü artırabilir.
Eski Sürüm Desteği
YOLOX araştırmalarda hala yaygın olarak kullanılsa da, uzun vadeli destek ve aktif güncellemeler arayan geliştiriciler, üretim ortamları için daha yeni mimarileri daha faydalı bulabilir.
YOLOX hakkında daha fazla bilgi edinin
Teknik Performans Karşılaştırması
PP-YOLOE+ ve YOLOX arasında seçim yaparken, standart kıyaslama testlerindeki performans metrikleri karar verme için en objektif temeli sağlar. Aşağıdaki veriler, COCO doğrulama kümesindeki performanslarını vurgulamaktadır.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
| 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 |
Analiz
- Doğruluk Üstünlüğü: PP-YOLOE+, karşılaştırılabilir model boyutlarında YOLOX'tan sürekli olarak daha iyi performans gösterir. PP-YOLOE+x modeli %54.7 mAP elde eder ve bu, YOLOX-x'in %51.1'ine göre önemli bir gelişmedir.
- Verimlilik: PP-YOLOE+, üstün parametre verimliliği gösterir. Örneğin,
svaryantı, daha az parametre (7.93M'ye karşı 9.0M) ve FLOP kullanırken daha yüksek doğruluk (43.7%'ye karşı 40.5%) elde eder. - Çıkarım Hızı: YOLOX daha küçük boyutlarda rekabetçi kalırken, PP-YOLOE+ GPU donanımında (T4 TensorRT) daha iyi ölçeklenir ve daha yüksek doğruluğa rağmen büyük ve ekstra büyük modelleri için daha yüksek hızlar sunar.
Ultralytics YOLO11: Modern Standart
PP-YOLOE+ ve YOLOX yetenekli dedektörler olsa da, bilgisayar görüşü alanı hızla gelişmektedir. Performans, kullanılabilirlik ve ekosistem desteğinin en uygun karışımını arayan geliştiriciler için Ultralytics YOLO11 en son teknolojiyi temsil etmektedir.
Neden Ultralytics YOLO11'i Seçmelisiniz?
- Kullanım Kolaylığı: Araştırma depoları veya çerçeveye özgü araçlar için gereken genellikle karmaşık kurulumun aksine, YOLO11 kolaylaştırılmış bir Python API ve CLI sunar. Kurulumdan çıkarıma saniyeler içinde geçebilirsiniz.
- İyi Yönetilen Ekosistem: Ultralytics modelleri, sık güncellemeler, kapsamlı dokümantasyon ve MLOps araçlarıyla sorunsuz entegrasyon içeren sağlam bir ekosistem tarafından desteklenmektedir.
- Performans Dengesi: YOLO11, hız ve doğruluk arasında uygun bir denge sağlamak için tasarlanmıştır ve genellikle hem eğitim hem de çıkarım sırasında daha düşük bellek gereksinimleriyle önceki nesillerden daha iyi performans gösterir.
- Çok Yönlülük: PP-YOLOE+ ve YOLOX öncelikli olarak sınırlayıcı kutu algılamaya odaklansa da, YOLO11 tek bir çerçeve içinde yerel olarak örnek segmentasyonu, poz tahmini, yönlendirilmiş sınırlayıcı kutular (OBB) ve sınıflandırmayı destekler.
- Eğitim Verimliliği: Ultralytics modelleri, verimli eğitim için optimize edilmiştir ve yakınsamaya ulaşmak için gereken süreyi ve işlem kaynaklarını azaltmak amacıyla gelişmiş artırmalar ve hazırda bulunan önceden eğitilmiş ağırlıklar kullanır.
Gerçek Dünya Örneği
YOLO11 ile nesne tespiti uygulamak sezgiseldir. Aşağıdaki örnek, önceden eğitilmiş bir modelin nasıl yükleneceğini ve bir görüntüde çıkarımın nasıl gerçekleştirileceğini göstermektedir:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Perform inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Bu basitlik, diğer mimariler için genellikle gerekli olan çok adımlı yapılandırmayla keskin bir tezat oluşturarak, geliştiricilerin kodla uğraşmak yerine iş sorunlarını çözmeye odaklanmasını sağlar.
Sonuç
Hem PP-YOLOE+ hem de YOLOX, bilgisayar görüşü alanına önemli katkılarda bulunmuştur. PP-YOLOE+, yüksek endüstriyel doğruluk gerektiren Baidu PaddlePaddle ekosistemine derinden entegre olanlar için mükemmel bir seçimdir. YOLOX, ankraj içermeyen metodolojileri araştıran araştırmacılar için saygın bir temel olmaya devam etmektedir.
Ancak, yeni projelerin çoğu için Ultralytics YOLO11 en çekici paketi sunar. Son teknoloji performansı, düşük bellek kullanımı ve benzersiz bir geliştirici deneyiminin birleşimi, onu ölçeklenebilir gerçek zamanlı çıkarım çözümleri dağıtmak için üstün bir seçim haline getiriyor.
YOLO11 hakkında daha fazla bilgi edinin