YOLOv9 ile PP-YOLOE+ karşılaştırması#
Gerçek zamanlı nesne tespiti manzarası hızla gelişmeye devam ediyor; bilgisayarlı görü mühendislerine uç ve bulut altyapısında yüksek doğruluklu modeller konuşlandırmak için geniş bir seçenek yelpazesi sunuyor. Bu alandaki iki önemli model YOLOv9 ve PP-YOLOE+'tır. Her ikisi de doğruluk ve hız sınırlarını zorlasa da farklı araştırma soykollarından ve yazılım ekosistemlerinden çıkmışlardır.
Bu kapsamlı teknik karşılaştırma; mimarilerini, eğitim metodolojilerini, performans metriklerini ve ideal gerçek dünya uygulamalarını inceliyor. Ayrıca daha geniş Ultralytics ekosisteminin, kullanım kolaylığına, bellek verimliliğine ve çok yönlü konuşlandırmaya öncelik veren geliştiriciler için nasıl önemli avantajlar sağladığını keşfedeceğiz.
Model Kökenleri ve Teknik Özellikler#
Bu modellerin geçmişini anlamak, mimari kararlarını ve çerçeve bağımlılıklarını bağlam içine oturtmana yardımcı olur.
YOLOv9: Bilgi Darboğazını Çözmek#
2024'ün başlarında tanıtılan YOLOv9, derin sinir ağlarında bilgi akarken oluşan veri kayıplarıyla başa çıkar. Parametre verimliliğini maksimize etmek için tasarlanmış son derece optimize edilmiş bir evrişimli sinir ağıdır.
- Yazarlar: Chien-Yao Wang, Hong-Yuan Mark Liao
- Kuruluş: Bilgi Bilimleri Enstitüsü, Academia Sinica, Tayvan
- Tarih: 21 Şubat 2024
- Arxiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- Belgeler: Ultralytics YOLOv9 Belgeleri
YOLOv9 hakkında daha fazla bilgi edin
PP-YOLOE+: Paddle Ekosistemini İlerletmek#
2022 yılında Baidu tarafından yayınlanan PP-YOLOE+, PP-YOLOv2 üzerine yinelemeli bir geliştirmedir. Çapalardan bağımsız (anchor-free) bir paradigma kullanır ve PaddlePaddle çerçevesi içinde yakınsamayı ve doğruluğu iyileştirmek için dinamik bir etiket atama stratejisi sunar.
- Yazarlar: PaddlePaddle Yazarları
- Organizasyon: Baidu
- Tarih: 2 Nisan 2022
- Arxiv: 2203.16250
- GitHub: PaddleDetection
- Belgeler: PP-YOLOE+ Yapılandırması
PP-YOLOE+ hakkında daha fazla bilgi edinin
Mimari Karşılaştırma#
Programlanabilir Gradyan Bilgisi (PGI) ile CSPRepResStage karşılaştırması#
YOLOv9'daki çekirdek yenilik Programlanabilir Gradyan Bilgisi (PGI)'dir. PGI, hayati gradyan bilgilerinin korunmasını ve eğitim sırasında sığ katmanlara doğru bir şekilde yayılmasını sağlayan yardımcı bir denetim çerçevesi olarak hareket eder. Bu, CSPNet ve ELAN'ın güçlü yönlerini birleştirerek hesaplama maliyetini (FLOP'lar) çarpıcı biçimde azaltırken yüksek doğruluk sunan Genelleştirilmiş Verimli Katman Birleştirme Ağı (GELAN) ile eşleştirilmiştir.
CSPRepResStage adı verilen özelleşmiş bir omurgaya dayanır. Konuşlandırma sırasında evrişimli katmanları birleştirerek çıkarımı hızlandırmak için yeniden parametrelendirme tekniklerinden (RepVGG'de görülenlere benzer) yararlanır. Ayrıca, sınıflandırma ve regresyon görevlerini dengelemek için Verimli Görev Uyumlu kafayı (ET-head) kullanır.
PP-YOLOE+ güçlü olsa da, YOLOv9'un GELAN mimarisi genellikle hem eğitim hem de çıkarım sırasında daha küçük bir bellek ayak izi gerektirir, bu da onu uç yapay zeka cihazları için olağanüstü derecede uygun hale getirir.
Performans Karşılaştırması#
Üretim için modelleri değerlendirirken, mAP (ortalama Hassasiyet), çıkarım hızı ve model boyutu arasındaki denge çok önemlidir.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 |
Analiz#
- Parametre Verimliliği: YOLOv9 çok daha yüksek verimlilik sağlar. Örneğin, YOLOv9c yalnızca 25.3M parametre kullanarak %53.0 mAP değerine ulaşırken, PP-YOLOE+l %52.9'luk biraz daha düşük bir mAP değerine ulaşmak için parametrelerin iki katından fazlasına (52.2M) ihtiyaç duyar. Bu durum, YOLOv9 için bellek gereksinimlerini önemli ölçüde düşürür.
- Çıkarım Hızı: YOLOv9 modelleri, gerçek zamanlı çıkarım için çok önemli olan NVIDIA T4 GPU'larda rekabetçi çıkarım hızları sağlayan TensorRT gibi donanım hızlandırıcıları için mükemmel optimizasyon gösterir.
Eğitim Metodolojileri ve Ekosistem#
Bu modeller arasındaki seçim genellikle yazılım ekosistemine bağlıdır.
PP-YOLOE+ ve PaddlePaddle#
PP-YOLOE+, PaddleDetection paketiyle sıkı bir şekilde entegredir. Güçlü olmasına rağmen, kullanıcıların yapılandırma ağırlıklı, komut satırı odaklı bir ortamda gezinmesini gerektirir. PyTorch veya TensorFlow ekosistemlerine derinlemesine adapte olmuş ekipler için PaddlePaddle'a geçiş, önemli ölçüde sürtünme ve daha dik bir öğrenme eğrisi sunar.
Ultralytics Avantajı: Kolaylaştırılmış İş Akışları#
Buna karşılık YOLOv9, son derece cilalanmış Ultralytics ekosistemi içinde çalışır. Geliştiriciler ve araştırmacılar için tasarlanan Ultralytics, olağanüstü bir kullanım kolaylığına öncelik verir. Python API, karmaşık şablon kodlarını tamamen soyutlar.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# Run inference and visualize results
results = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX for production deployment
model.export(format="onnx")Bu iş akışı, Ultralytics modellerinin üstün Eğitim Verimliliğini vurgular. Veri artırma (augmentation), dağıtık eğitim ve Weights & Biases veya MLflow gibi platformlara otomatik günlük kaydı için yerel destek standart olarak gelir.
YOLOv9 olağanüstü performans sunarken, yeni projeler için yeni çıkan Ultralytics YOLO26 modelini değerlendirmenizi şiddetle tavsiye ederiz. YOLO26, konuşlandırmayı büyük ölçüde basitleştiren yerel bir Uçtan Uca NMS İçermeyen Tasarım barındırır. DFL Kaldırma (basitleştirilmiş dışa aktarım ve daha iyi uç/düşük güç cihaz uyumluluğu için Dağılım Odaklı Kayıp kaldırılmıştır) ile uç bilgi işlem için %43'e kadar daha hızlı CPU çıkarımı sunar. MuSGD Optimizer tarafından desteklenerek kararlı eğitim ve hızlı yakınsama sağlar. Ek olarak, ProgLoss + STAL, Nesnelerin İnterneti (IoT), robotik ve hava görüntüleri için kritik olan küçük nesne tanımada belirgin iyileştirmelerle gelişmiş kayıp fonksiyonları sunar.
Çok Yönlülük ve Görev Desteği#
Modern bilgisayarlı görü projeleri nadiren basit sınırlayıcı kutularla (bounding boxes) sınırlı kalır.
PP-YOLOE+, öncelikli olarak standart nesne algılama için tasarlanmıştır. Mimarisini diğer görevlere uyarlamak, kapsamlı özel mühendislik gerektirir.
Buna karşılık Ultralytics çerçevesi, çok görevli bir güç merkezidir. Birleştirilmiş bir API kullanarak geliştiriciler; standart nesne tespitinden karmaşık Örnek Bölütlemeye, son derece doğru Poz Tahminine, hava görüntüleri için Yönlendirilmiş Sınırlayıcı Kutu (OBB) tespiti ve Görüntü Sınıflandırmasına zahmetsizce geçiş yapabilir. Bu benzersiz çok yönlülük, kurumsal ekiplerin neden sürekli olarak YOLOv9, YOLO11 ve YOLO26 gibi Ultralytics modellerini seçtiğinin nedenidir.
İdeal Kullanım Senaryoları ve Uygulamalar#
- Akıllı Şehir Analitiği ve Trafik Yönetimi: YOLOv9'un (ve sonraki YOLO26'nın) yüksek parametre verimliliği ve düşük gecikmesi, trafik akışını ve kentsel güvenliği izlemek üzere kısıtlı uç donanımlarda (NVIDIA Jetson cihazları gibi) konuşlandırma için onları ideal hale getirir.
- Perakende Envanter Sistemleri: Raflardaki yoğun küçük ürün yapılandırmalarını tespit etmek için YOLOv9'un PGI'sı, küçük nesne algılama görevlerinde PP-YOLOE+'dan daha iyi performans göstererek ince taneli mekansal ayrıntıları etkili bir şekilde korur.
- Eski Dağıtımlar: PP-YOLOE+, yalnızca mevcut eski altyapıda Baidu/PaddlePaddle yazılım yığınını kullanması zorunlu olan ekipler için geçerli bir seçenek olmaya devam etmektedir.
Transformer tabanlı mimarileri keşfeden araştırmacılar için Ultralytics, tam olarak aynı kullanımı kolay API içinde RT-DETR'i de yerel olarak destekler; böylece özel konuşlandırma gereksinimleriniz için her zaman en optimal modele erişmenizi sağlar.