YOLOv10: Gerçek Zamanlı Uçtan Uca Nesne Algılama
YOLOv10, şu temeller üzerine inşa edilmiştir UltralyticsPython Tsinghua Üniversitesi'ndeki araştırmacılar tarafından geliştirilen paket, gerçek zamanlı nesne tespitine yeni bir yaklaşım getirerek önceki YOLO sürümlerinde bulunan hem işlem sonrası hem de model mimarisi eksikliklerini gideriyor. Maksimum olmayan bastırmayı (NMS) ortadan kaldırarak ve çeşitli model bileşenlerini optimize ederek, YOLOv10 önemli ölçüde azaltılmış hesaplama ek yükü ile en son teknolojiye sahip performansa ulaşır. Kapsamlı deneyler, çoklu model ölçeklerinde üstün doğruluk-gecikme ödünleşimlerini göstermektedir.
Genel Bakış
Gerçek zamanlı nesne tespiti, görüntülerdeki nesne kategorilerini ve konumlarını düşük gecikme süresiyle doğru bir şekilde tahmin etmeyi amaçlamaktadır. YOLO serisi, performans ve verimlilik arasındaki dengesi nedeniyle bu araştırmanın ön saflarında yer almıştır. Ancak, NMS'ye olan bağımlılık ve mimari yetersizlikler optimum performansı engellemiştir. YOLOv10, NMS'siz eğitim için tutarlı ikili atamalar ve bütünsel bir verimlilik-doğruluk odaklı model tasarım stratejisi sunarak bu sorunları ele almaktadır.
Mimarlık
YOLOv10'un mimarisi, önceki YOLO modellerinin güçlü yönlerini temel alırken birkaç önemli yeniliği de beraberinde getirmektedir. Model mimarisi aşağıdaki bileşenlerden oluşmaktadır:
- Omurga: Özellik çıkarma işleminden sorumlu olan YOLOv10'daki omurga, gradyan akışını iyileştirmek ve hesaplama fazlalığını azaltmak için CSPNet'in (Cross Stage Partial Network) geliştirilmiş bir versiyonunu kullanır.
- Neck: The neck is designed to aggregate features from different scales and passes them to the head. It includes PAN (Path Aggregation Network) layers for effective multi-scale feature fusion.
- Birden Çok Kafaya: Zengin denetleyici sinyaller sağlamak ve öğrenme doğruluğunu artırmak için eğitim sırasında nesne başına birden çok tahmin üretir.
- Bire Bir Kafa: NMS ihtiyacını ortadan kaldırmak için çıkarım sırasında nesne başına tek bir en iyi tahmin üretir, böylece gecikmeyi azaltır ve verimliliği artırır.
Temel Özellikler
- NMS'siz Eğitim: NMS ihtiyacını ortadan kaldırmak için tutarlı ikili atamaları kullanır ve çıkarım gecikmesini azaltır.
- Bütünsel Model Tasarımı: Hafif sınıflandırma başlıkları, uzamsal kanal ayrıştırmalı aşağı örnekleme ve sıralama kılavuzlu blok tasarımı dahil olmak üzere çeşitli bileşenlerin hem verimlilik hem de doğruluk perspektiflerinden kapsamlı optimizasyonu.
- Geliştirilmiş Model Yetenekleri: Önemli bir hesaplama maliyeti olmadan performansı artırmak için büyük çekirdekli konvolüsyonlar ve kısmi öz dikkat modülleri içerir.
Model Varyantları
YOLOv10, farklı uygulama ihtiyaçlarını karşılamak için çeşitli model ölçeklerinde gelir:
- YOLOv10-N: Son derece kısıtlı kaynaklara sahip ortamlar için nano versiyon.
- YOLOv10-S: Hız ve doğruluğu dengeleyen küçük versiyon.
- YOLOv10-M: Genel amaçlı kullanım için orta versiyon.
- YOLOv10-B: Daha yüksek doğruluk için genişliği artırılmış dengeli versiyon.
- YOLOv10-L: Artan hesaplama kaynakları pahasına daha yüksek doğruluk için büyük versiyon.
- YOLOv10-X: Maksimum doğruluk ve performans için ekstra büyük versiyon.
Performans
YOLOv10, doğruluk ve verimlilik açısından önceki YOLO sürümlerinden ve diğer son teknoloji modellerden daha iyi performans göstermektedir. Örneğin, YOLOv10-S, COCO veri setinde benzer AP ile RT-DETR-R18'den 1,8 kat daha hızlıdır ve YOLOv10-B, aynı performansla YOLOv9-C'den %46 daha az gecikmeye ve %25 daha az parametreye sahiptir.
Model | Giriş Boyutu | APval | FLOP'lar (G) | Gecikme Süresi (ms) |
---|---|---|---|---|
YOLOv10-N | 640 | 38.5 | 6.7 | 1.84 |
YOLOv10-S | 640 | 46.3 | 21.6 | 2.49 |
YOLOv10-M | 640 | 51.1 | 59.1 | 4.74 |
YOLOv10-B | 640 | 52.5 | 92.0 | 5.74 |
YOLOv10-L | 640 | 53.2 | 120.3 | 7.28 |
YOLOv10-X | 640 | 54.4 | 160.4 | 10.70 |
T4 GPU üzerinde TensorRT FP16 ile ölçülen gecikme süresi.
Metodoloji
NMS'siz Eğitim için Tutarlı İkili Atamalar
YOLOv10, zengin denetim ve verimli uçtan uca dağıtım sağlamak için eğitim sırasında bire-çok ve bire-bir stratejileri birleştirerek ikili etiket atamaları kullanır. Tutarlı eşleştirme metriği, her iki strateji arasındaki denetimi hizalayarak çıkarım sırasında tahminlerin kalitesini artırır.
Bütünsel Verimlilik-Doğruluk Odaklı Model Tasarımı
Verimlilik İyileştirmeleri
- Hafif Sınıflandırma Kafası: Derinlik bazlı ayrılabilir konvolüsyonlar kullanarak sınıflandırma kafasının hesaplama yükünü azaltır.
- Uzamsal-Kanal Ayrıştırmalı Aşağı örnekleme: Bilgi kaybını ve hesaplama maliyetini en aza indirmek için uzamsal azaltma ve kanal modülasyonunu ayırır.
- Sıralama Kılavuzlu Blok Tasarımı: Blok tasarımını içsel kademe fazlalığına göre uyarlayarak optimum parametre kullanımını sağlar.
Doğruluk Geliştirmeleri
- Büyük Çekirdekli Evrişim: Özellik çıkarma kapasitesini artırmak için alıcı alanı genişletir.
- Kısmi Öz Dikkat (PSA): Minimum ek yük ile küresel temsil öğrenimini iyileştirmek için öz dikkat modüllerini içerir.
Deneyler ve Sonuçlar
YOLOv10, COCO gibi standart ölçütler üzerinde kapsamlı bir şekilde test edilmiş ve üstün performans ve verimlilik göstermiştir. Model, farklı varyantlarda son teknoloji ürünü sonuçlar elde ederek önceki sürümlere ve diğer çağdaş dedektörlere kıyasla gecikme ve doğrulukta önemli gelişmeler sergilemektedir.
Karşılaştırmalar
Diğer son teknoloji dedektörlerle karşılaştırıldığında:
- YOLOv10-S / X, benzer doğrulukla RT-DETR-R18 / R101'den 1,8 × / 1,3 × daha hızlıdır
- YOLOv10-B, aynı doğrulukta YOLOv9-C'ye göre %25 daha az parametreye ve %46 daha düşük gecikme süresine sahiptir
- YOLOv10-L / X, 1,8 × / 2,3 × daha az parametre ile YOLOv8-L / X'den 0,3 AP / 0,5 AP daha iyi performans gösterir
İşte YOLOv10 varyantlarının diğer son teknoloji modellerle ayrıntılı bir karşılaştırması:
Model | Paramlar (M) | FLOP'lar (G) | APval (%) | Gecikme Süresi (ms) | Gecikme (İleri) (ms) |
---|---|---|---|---|---|
YOLOv6-3.0-N | 4.7 | 11.4 | 37.0 | 2.69 | 1.76 |
Altın-YOLO-N | 5.6 | 12.1 | 39.6 | 2.92 | 1.82 |
YOLOv8-N | 3.2 | 8.7 | 37.3 | 6.16 | 1.77 |
YOLOv10-N | 2.3 | 6.7 | 39.5 | 1.84 | 1.79 |
YOLOv6-3.0-S | 18.5 | 45.3 | 44.3 | 3.42 | 2.35 |
Altın-YOLO-S | 21.5 | 46.0 | 45.4 | 3.82 | 2.73 |
YOLOv8-S | 11.2 | 28.6 | 44.9 | 7.07 | 2.33 |
YOLOv10-S | 7.2 | 21.6 | 46.8 | 2.49 | 2.39 |
RT-DETR-R18 | 20.0 | 60.0 | 46.5 | 4.58 | 4.49 |
YOLOv6-3.0-M | 34.9 | 85.8 | 49.1 | 5.63 | 4.56 |
Altın-YOLO-M | 41.3 | 87.5 | 49.8 | 6.38 | 5.45 |
YOLOv8-M | 25.9 | 78.9 | 50.6 | 9.50 | 5.09 |
YOLOv10-M | 15.4 | 59.1 | 51.3 | 4.74 | 4.63 |
YOLOv6-3.0-L | 59.6 | 150.7 | 51.8 | 9.02 | 7.90 |
Altın-YOLO-L | 75.1 | 151.7 | 51.8 | 10.65 | 9.78 |
YOLOv8-L | 43.7 | 165.2 | 52.9 | 12.39 | 8.06 |
RT-DETR-R50 | 42.0 | 136.0 | 53.1 | 9.20 | 9.07 |
YOLOv10-L | 24.4 | 120.3 | 53.4 | 7.28 | 7.21 |
YOLOv8-X | 68.2 | 257.8 | 53.9 | 16.86 | 12.83 |
RT-DETR-R101 | 76.0 | 259.0 | 54.3 | 13.71 | 13.58 |
YOLOv10-X | 29.5 | 160.4 | 54.4 | 10.70 | 10.60 |
Kullanım Örnekleri
YOLOv10 ile yeni görüntüleri tahmin etmek için:
Örnek
YOLOv10'u özel bir veri kümesi üzerinde eğitmek için:
Örnek
Desteklenen Görevler ve Modlar
The YOLOv10 models series offers a range of models, each optimized for high-performance Object Detection. These models cater to varying computational needs and accuracy requirements, making them versatile for a wide array of applications.
Model | Dosya adları | Görevler | Çıkarım | Doğrulama | Eğitim | İhracat |
---|---|---|---|---|---|---|
YOLOv10 | yolov10n.pt yolov10s.pt yolov10m.pt yolov10l.pt yolov10x.pt |
Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
Exporting YOLOv10
Due to the new operations introduced with YOLOv10, not all export formats provided by Ultralytics are currently supported. The following table outlines which formats have been successfully converted using Ultralytics for YOLOv10. Feel free to open a pull request if you're able to provide a contribution change for adding export support of additional formats for YOLOv10.
Export Format | Supported |
---|---|
TorchScript | ✅ |
ONNX | ✅ |
OpenVINO | ✅ |
TensorRT | ✅ |
CoreML | ❌ |
TF SavedModel | ❌ |
TF GraphDef | ❌ |
TF Lite | ❌ |
TF Kenar TPU | ❌ |
TF.js | ❌ |
PaddlePaddle | ❌ |
NCNN | ❌ |
Sonuç
YOLOv10, önceki YOLO sürümlerinin eksikliklerini gidererek ve yenilikçi tasarım stratejilerini dahil ederek gerçek zamanlı nesne algılamada yeni bir standart belirliyor. Düşük hesaplama maliyeti ile yüksek doğruluk sunma yeteneği, onu çok çeşitli gerçek dünya uygulamaları için ideal bir seçim haline getirmektedir.
Atıflar ve Teşekkür
Tsinghua Üniversitesi 'nden YOLOv10 yazarlarına kapsamlı araştırmaları ve bu çalışmaya yaptıkları önemli katkılar için teşekkür ederiz. Ultralytics çerçeve:
Ayrıntılı uygulama, mimari yenilikler ve deneysel sonuçlar için lütfen Tsinghua Üniversitesi ekibi tarafından hazırlanan YOLOv10 araştırma makalesine ve GitHub deposuna bakın.