YOLOv5 - PP-YOLOE+: Ayrıntılı Teknik Karşılaştırma
Doğru nesne algılama modelini seçmek, doğruluk, hız ve uygulama kolaylığı arasında bir denge kuran kritik bir karardır. Bu sayfa, iki öne çıkan model arasında derinlemesine bir teknik karşılaştırma sunmaktadır: çok yönlülüğü ve performansıyla bilinen yaygın olarak benimsenen bir endüstri standardı olan Ultralytics YOLOv5 ve Baidu'nun PaddlePaddle ekosisteminden yüksek doğruluklu bir model olan PP-YOLOE+. Bilgisayar görüşü projeleriniz için bilinçli bir seçim yapmanıza yardımcı olmak için mimari farklılıklarını, performans kıyaslamalarını ve ideal kullanım durumlarını keşfedeceğiz.
Ultralytics YOLOv5: Yerleşik Endüstri Standardı
Ultralytics YOLOv5, piyasaya sürülmesinden bu yana bilgisayar görüşü topluluğunda bir ölçüt haline gelmiştir. Olağanüstü hız ve doğruluk dengesiyle kutlanır ve bu da onu çok çeşitli gerçek dünya uygulamaları için oldukça pratik bir seçim haline getirir. PyTorch'taki geliştirilmesi ve onu çevreleyen kapsamlı ekosistem, onu geliştiriciler ve araştırmacılar arasında favori yapmıştır.
Yazar: 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
YOLOv5'in mimarisi, maksimum esneklik ve kullanım kolaylığı için tamamen PyTorch ile oluşturulmuş, verimli tasarımın bir kanıtıdır.
- Backbone: Yüksek özellik çıkarma yeteneklerini korurken hesaplamayı azaltmak için Aşamalar Arası Kısmi (CSP) modüllerini içeren bir Darknet varyantı olan bir CSPDarknet53 backbone kullanır.
- Neck: Farklı backbone seviyelerinden özellikleri etkili bir şekilde birleştirerek çeşitli ölçeklerdeki algılamayı iyileştirmek için özellik toplama amacıyla bir Yol Toplama Ağı (PANet) kullanılır.
- Head: YOLOv5, önceden tanımlanmış bir dizi çapa kutusuna dayalı olarak sınırlayıcı kutuları tahmin eden bir çapa tabanlı algılama başlığı kullanır. Bu yaklaşım hız için oldukça optimize edilmiştir.
- Ölçeklenebilirlik: Çeşitli boyutlarda (n, s, m, l, x) gelir ve kullanıcıların uç cihazlar için hafif modellerden maksimum doğruluk için daha büyük modellere kadar özel ihtiyaçlarına uygun bir model seçmelerine olanak tanır.
Güçlü ve Zayıf Yönler
Güçlü Yönler:
- Olağanüstü Performans Dengesi: YOLOv5, çıkarım hızı ve algılama doğruluğu arasında harika bir denge sunarak birçok gerçek zamanlı çıkarım senaryosu için uygun hale getirir.
- Kullanım Kolaylığı: Kolaylaştırılmış kullanıcı deneyimi, basit Python ve CLI arayüzleri ve kapsamlı belgeleriyle ünlüdür.
- İyi Yönetilen Ekosistem: Aktif geliştirme, geniş ve destekleyici bir topluluk, sık güncellemeler ve kodsuz eğitim için Ultralytics HUB gibi araçlar dahil olmak üzere entegre Ultralytics ekosisteminden yararlanır.
- Eğitim Verimliliği: Verimli eğitim süreçleri, kolayca erişilebilen önceden eğitilmiş ağırlıklar ve genellikle birçok alternatife kıyasla daha düşük bellek gereksinimleri sunar.
- Çok Yönlülük: Nesne tespiti, örnek segmentasyonu ve görüntü sınıflandırması dahil olmak üzere birden fazla görevi destekler.
Zayıflıklar:
- Yüksek doğruluklu olmalarına rağmen, daha yeni modeller COCO gibi kıyaslamalarda mAP puanlarını geçebilir.
- Anchor kutularına olan bağımlılığı, anchor içermeyen yöntemlere kıyasla alışılmadık nesne şekillerine sahip veri kümeleri için daha fazla hiperparametre ayarlaması gerektirebilir.
Kullanım Alanları
YOLOv5'in hızı ve çok yönlülüğü, onu aşağıdakiler için ideal kılar:
- Gerçek Zamanlı Nesne İzleme: Örnek segmentasyonu ve izleme kılavuzumuzda ayrıntılı olarak açıklandığı gibi, gözetim, robotik ve otonom sistemler için mükemmeldir.
- Uç Nokta Cihazı Dağıtımı: Verimli modeller (YOLOv5n, YOLOv5s), Raspberry Pi ve NVIDIA Jetson gibi kaynak kısıtlı cihazlarda etkili bir şekilde çalışır.
- Endüstriyel Otomasyon: Kalite kontrol, kusur tespiti ve geri dönüşüm otomasyonunda kullanılır.
YOLOv5 hakkında daha fazla bilgi edinin
PP-YOLOE+: PaddlePaddle Ekosisteminde Yüksek Doğruluk
Baidu tarafından geliştirilen PP-YOLOE+, PaddlePaddle derin öğrenme çatısı içinde oluşturulmuş, anchor'suz, tek aşamalı bir nesne tespit aracıdır. Verimliliği korurken doğruluğun sınırlarını zorlamayı amaçlayan geliştirmeler sunarak PP-YOLOE modeli üzerine inşa edilmiştir.
Yazarlar: PaddlePaddle Yazarları
Kuruluş: Baidu
Tarih: 2022-04-02
Arşiv: https://arxiv.org/abs/2203.16250
GitHub: https://github.com/PaddlePaddle/PaddleDetection/
Belgeler: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
Mimari ve Temel Özellikler
PP-YOLOE+, performansı en üst düzeye çıkarmak için çeşitli modern tasarım seçenekleri içerir.
- Anchor-Free Tasarım: Önceden tanımlanmış bağlantı kutularına olan ihtiyacı ortadan kaldırır, bu da hattı basitleştirebilir ve hiperparametre ayarlamasını azaltabilir. Sözlüğümüzde bağlantısız dedektörler hakkında daha fazla bilgi keşfedebilirsiniz.
- Backbone: Güçlü özellik gösterimi için tasarlanmış CSPRepResNet gibi verimli bir backbone kullanır.
- Neck: Güçlü özellik kaynaştırması için prensip olarak YOLOv5'e benzer bir Yol Toplama Ağı (PAN) kullanır.
- Head: Sınıflandırma ve regresyon görevlerini ayıran ve genellikle daha iyi doğruluğa yol açan ayrıştırılmış bir başlığa (ET-Head) sahiptir.
- Kayıp Fonksiyonu: Sınıflandırma skorları ve yerelleştirme doğruluğu arasındaki hizalamayı iyileştirmek için Görev Hizalama Öğrenimi (TAL) ve VariFocal Kaybı gibi gelişmiş teknikler kullanır.
Güçlü ve Zayıf Yönler
Güçlü Yönler:
- Yüksek doğruluk potansiyeli, özellikle genellikle liderlik tablolarında üst sıralarda yer alan daha büyük model varyantlarıyla.
- Çapa içermeyen yaklaşım, bazı durumlarda hiperparametre ayarlamasını basitleştirebilir.
- Özellikle TensorRT ile optimize edildiğinde verimli çıkarım hızları.
- PaddlePaddle ekosistemine iyi entegre edilmiştir.
Zayıflıklar:
- Öncelikle PaddlePaddle çerçevesi için optimize edilmiştir, bu da PyTorch'u tercih eden geliştiricilerin çoğunluğu için kullanılabilirliği sınırlayabilir.
- Topluluk ve mevcut kaynaklar, Ultralytics YOLO modellerini çevreleyen kapsamlı ekosisteme kıyasla daha küçüktür.
- Kullanım kolaylığı ve dağıtım basitliğine daha az vurgu yapılır, bu da genellikle daha fazla boilerplate kodu ve çerçeve özgü bilgi gerektirir.
Kullanım Alanları
PP-YOLOE+ şunlar için uygundur:
- Endüstriyel Kalite Kontrolü: Yüksek doğruluk, üretimde yapay zeka alanında ince kusurları tespit etmek için faydalıdır.
- Akıllı Perakende: Envanter yönetimi ve müşteri analizleri gibi uygulamalar, hassasiyetinden faydalanabilir.
- PaddlePaddle Merkezli Projeler: Halihazırda PaddlePaddle çerçevesine yatırım yapmış veya bu çerçeveyi standartlaştırmış geliştiriciler için ideal seçimdir.
PP-YOLOE+ hakkında daha fazla bilgi edinin
Performans ve Kıyaslamalar: YOLOv5 - PP-YOLOE+
Performansı karşılaştırırken, seçim büyük ölçüde hedef donanıma ve birincil hedefe (hız veya doğruluk) bağlıdır.
- Doğruluk (mAP): PP-YOLOE+ modelleri genellikle COCO veri kümesinde benzer boyuttaki YOLOv5 muadillerine kıyasla daha yüksek mAPval puanları elde eder. Doğrulukta her yüzde birlik kesrin önemli olduğu uygulamalar için PP-YOLOE+ güçlü bir rakiptir.
- Çıkarım Hızı: Ultralytics YOLOv5, özellikle CPU'larda üstün hız gösterir. YOLOv5n modeli olağanüstü derecede hızlıdır ve bu da onu çok çeşitli donanımlarda gerçek zamanlı uygulamalar için mükemmel kılar. PP-YOLOE+, TensorRT ile GPU'larda hızlı olsa da, YOLOv5 özellikle uç cihazlarda güçlü bir watt başına performans avantajını korur.
- Verimlilik (Parametreler ve FLOP'lar): YOLOv5 modelleri hafif olacak şekilde tasarlanmıştır. Örneğin, YOLOv5n, PP-YOLOE+s'den önemli ölçüde daha az parametreye ve FLOP'a sahiptir, bu da kaynak kısıtlı ortamlarda dağıtılmasını kolaylaştırı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 |
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 |
Eğitim, Kullanılabilirlik ve Ekosistem
Salt performanstan öte, geliştirici deneyimi kritik bir faktördür. Ultralytics YOLOv5'in gerçekten parladığı yer burasıdır.
-
YOLOv5: Ultralytics ekosistemi, geliştirici verimliliği için tasarlanmıştır. PyTorch tabanlı olması sayesinde, en popüler derin öğrenme iş akışına sorunsuz bir şekilde entegre olur. Kullanım Kolaylığı, yalnızca birkaç satır kodla eğitim, doğrulama ve çıkarım yapılmasına olanak tanıyan basit ve iyi belgelenmiş bir API ile benzersizdir. İyi Yönetilen Ekosistem, sürekli güncellemeler, destek için büyük bir topluluk ve Weights & Biases ve ClearML gibi araçlarla entegrasyonlarla büyük bir avantaj sağlar. Ayrıca, Eğitim Verimliliği temel bir odak noktasıdır; modeller hızlı bir şekilde eğitilir ve daha az bellek gerektirir.
-
PP-YOLOE+: Eğitim, PaddlePaddle çerçevesiyle sınırlıdır. Güçlü olmasına rağmen, bu, ekosistemine aşina olmayan geliştiriciler için bir engel oluşturur. Belgeler ve topluluk desteği iyi olsa da, YOLOv5 için olanlar kadar kapsamlı veya erişilebilir değildir. PyTorch tabanlı bir hatta entegre etmek, ek adımlar ve potansiyel dönüşümler gerektirir ve bu da MLOps yaşam döngüsüne karmaşıklık katar.
Sonuç: Hangi Modeli Seçmelisiniz?
Hem YOLOv5 hem de PP-YOLOE+ mükemmel modellerdir, ancak farklı ihtiyaçlara hizmet ederler.
Ultralytics YOLOv5, projelerin büyük çoğunluğu için önerilen seçimdir. Hız ve doğruluğun olağanüstü dengesi, benzersiz geliştirici dostu bir ekosistemle birleştiğinde, onu en pratik ve verimli seçenek haline getirir. İster yeni bir fikrin prototipini oluşturan bir acemi, ister uç donanıma sağlam bir sistem dağıtan bir uzman olun, YOLOv5'in kullanım kolaylığı, çok yönlülüğü ve güçlü topluluk desteği geliştirme döngünüzü hızlandıracak ve başarıyı sağlayacaktır.
PP-YOLOE+, mutlak en yüksek mAP'ye ulaşmanın birincil hedef olduğu ve geliştirme ekibinin zaten PaddlePaddle çerçevesinde yetkin olduğu senaryolarda öne çıkan özel bir araçtır. Belirli ekosistemi içinde çalışmaya istekli olduğunuz sürece, araştırmalar ve doğruluğun tehlikeye atılamayacağı uygulamalar için güçlü bir modeldir.
Diğer Modelleri İnceleyin
Ultralytics, nesne tespitinde mümkün olanın sınırlarını zorlamaya devam ediyor. Daha da yüksek performans ve özellikler arayanlar için YOLOv8 ve son teknoloji YOLO11 gibi daha yeni modelleri keşfetmenizi öneririz. Bu modeller, YOLOv5'in temeli üzerine inşa edilerek iyileştirilmiş doğruluk, daha fazla desteklenen görev ve daha da yüksek verimlilik sunar. Ana karşılaştırma sayfamızda daha fazla karşılaştırma bulabilirsiniz.