Ultralytics YOLOv5
Genel Bakış
YOLOv5u nesne algılama metodolojilerinde bir ilerlemeyi temsil etmektedir. Temel mimarisinden kaynaklanan YOLOv5 tarafından geliştirilen YOLOv5u modeli, daha önce Ultralytics adresinde tanıtılan bir özellik olan çapasız, nesnesiz bölünmüş kafayı entegre eder. YOLOv8 modelleri. Bu uyarlama, modelin mimarisini geliştirerek nesne algılama görevlerinde doğruluk-hız dengesini iyileştirir. Deneysel sonuçlar ve türetilen özellikler göz önüne alındığında, YOLOv5u hem araştırma hem de pratik uygulamalarda sağlam çözümler arayanlar için verimli bir alternatif sunmaktadır.
Temel Özellikler
-
Çapasız Split Ultralytics Head: Geleneksel nesne algılama modelleri, nesne konumlarını tahmin etmek için önceden tanımlanmış çapa kutularına dayanır. Ancak YOLOv5u bu yaklaşımı modernize eder. Çapasız bölünmüş bir Ultralytics kafası benimseyerek, daha esnek ve uyarlanabilir bir algılama mekanizması sağlar ve sonuç olarak çeşitli senaryolarda performansı artırır.
-
Optimize Edilmiş Doğruluk-Hız Ödünleşimi: Hız ve doğruluk genellikle zıt yönlere çekilir. Ancak YOLOv5u bu değiş tokuşa meydan okur. Kalibre edilmiş bir denge sunarak doğruluktan ödün vermeden gerçek zamanlı tespitler sağlar. Bu özellik özellikle otonom araçlar, robotik ve gerçek zamanlı video analitiği gibi hızlı yanıt gerektiren uygulamalar için çok değerlidir.
-
Önceden Eğitilmiş Model Çeşitliliği: Farklı görevlerin farklı araç setleri gerektirdiğini anlayan YOLOv5u, çok sayıda önceden eğitilmiş model sunar. İster Çıkarım, Doğrulama veya Eğitim'e odaklanıyor olun, size özel bir model sizi bekliyor. Bu çeşitlilik, yalnızca herkese uyan tek bir çözüm değil, aynı zamanda benzersiz zorluğunuz için özel olarak ince ayarlanmış bir model kullanmanızı sağlar.
Desteklenen Görevler ve Modlar
Önceden eğitilmiş çeşitli ağırlıklara sahip YOLOv5u modelleri, Nesne Algılama görevlerinde mükemmeldir. Kapsamlı bir mod yelpazesini desteklerler, bu da onları geliştirmeden dağıtıma kadar çeşitli uygulamalar için uygun hale getirir.
Model Tipi | Önceden Eğitilmiş Ağırlıklar | Görev | Çıkarım | Doğrulama | Eğitim | İhracat |
---|---|---|---|---|---|---|
YOLOv5u | yolov5nu , yolov5su , yolov5mu , yolov5lu , yolov5xu , yolov5n6u , yolov5s6u , yolov5m6u , yolov5l6u , yolov5x6u |
Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
Bu tablo, YOLOv5u model varyantlarına ayrıntılı bir genel bakış sunmakta, nesne algılama görevlerinde uygulanabilirliklerini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli çalışma modları için desteklerini vurgulamaktadır. Bu kapsamlı destek, kullanıcıların çok çeşitli nesne algılama senaryolarında YOLOv5u modellerinin yeteneklerinden tam olarak yararlanabilmesini sağlar.
Performans Ölçütleri
Performans
Önceden eğitilmiş 80 sınıf içeren COCO üzerinde eğitilen bu modellerle kullanım örnekleri için Algılama Dokümanları 'na bakın.
Model | YAML | boyut (piksel) |
mAPval 50-95 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOP'lar (B) |
---|---|---|---|---|---|---|---|
yolov5nu.pt | yolov5n.yaml | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
yolov5su.pt | yolov5s.yaml | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
yolov5mu.pt | yolov5m.yaml | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
yolov5lu.pt | yolov5l.yaml | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
yolov5xu.pt | yolov5x.yaml | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
yolov5n6u.pt | yolov5n6.yaml | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 |
yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
Kullanım Örnekleri
Bu örnek basit YOLOv5 eğitim ve çıkarım örnekleri sağlar. Bu ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export docs sayfalarına bakın.
Örnek
PyTorch ön eğitimli *.pt
modellerin yanı sıra yapılandırma *.yaml
dosyalar şu dosyalara aktarılabilir YOLO()
sınıfında bir model örneği oluşturmak için python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv5n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI komutları modelleri doğrudan çalıştırmak için kullanılabilir:
Atıflar ve Teşekkür
Ultralytics YOLOv5 Yayın
Ultralytics modellerin hızla gelişen doğası nedeniyle YOLOv5 için resmi bir araştırma makalesi yayınlamamıştır. Statik dokümantasyon üretmek yerine teknolojiyi geliştirmeye ve kullanımını kolaylaştırmaya odaklanıyoruz. YOLO mimarisi, özellikleri ve kullanımı hakkında en güncel bilgiler için lütfen GitHub depomuza ve belgelerimize bakın.
Araştırmanızda YOLOv5 veya YOLOv5u kullanıyorsanız, lütfen Ultralytics YOLOv5 deposuna aşağıdaki şekilde atıfta bulunun:
Lütfen YOLOv5 modellerinin aşağıdakiler altında sağlandığını unutmayın AGPL-3.0 ve Kurumsal lisanslar.
SSS
Ultralytics YOLOv5u nedir ve YOLOv5 adresinden farkı nedir?
Ultralytics YOLOv5u, gerçek zamanlı nesne algılama görevleri için doğruluk-hız dengesini artıran çapasız, nesnellik içermeyen bölünmüş kafayı entegre eden YOLOv5'un gelişmiş bir sürümüdür. Geleneksel YOLOv5'dan farklı olarak YOLOv5u, çapasız bir algılama mekanizması benimseyerek çeşitli senaryolarda daha esnek ve uyarlanabilir hale getirir. Özellikleri hakkında daha ayrıntılı bilgi için YOLOv5 Genel Bakış bölümüne bakabilirsiniz.
Çapasız Ultralytics kafası YOLOv5u'da nesne algılama performansını nasıl artırıyor?
YOLOv5u'daki çapasız Ultralytics başlığı, önceden tanımlanmış çapa kutularına bağımlılığı ortadan kaldırarak nesne algılama performansını artırır. Bu, çeşitli nesne boyutlarını ve şekillerini daha verimli bir şekilde ele alabilen daha esnek ve uyarlanabilir bir algılama mekanizması ile sonuçlanır. Bu iyileştirme, doğruluk ve hız arasında dengeli bir değiş tokuşa doğrudan katkıda bulunarak YOLOv5u'yu gerçek zamanlı uygulamalar için uygun hale getirir. Temel Özellikler bölümünde mimarisi hakkında daha fazla bilgi edinin.
Farklı görevler ve modlar için önceden eğitilmiş YOLOv5u modellerini kullanabilir miyim?
Evet, Nesne Algılama gibi çeşitli görevler için önceden eğitilmiş YOLOv5u modellerini kullanabilirsiniz. Bu modeller Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma dahil olmak üzere birden fazla modu destekler. Bu esneklik, kullanıcıların farklı operasyonel gereksinimlerde YOLOv5u modellerinin yeteneklerinden yararlanmasına olanak tanır. Ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümüne bakın.
YOLOv5u modellerinin performans ölçümleri farklı platformlarda nasıl karşılaştırılıyor?
YOLOv5u modellerinin performans metrikleri kullanılan platform ve donanıma bağlı olarak değişmektedir. Örneğin, YOLOv5nu modeli CPU (ONNX) üzerinde 73,6 ms ve A100 TensorRT üzerinde 1,06 ms hız ile COCO veri kümesi üzerinde 34,3 mAP elde etmiştir. Farklı YOLOv5u modelleri için ayrıntılı performans ölçümleri, çeşitli cihazlar arasında kapsamlı bir karşılaştırma sağlayan Performans Ölçümleri bölümünde bulunabilir.
Ultralytics Python API'sini kullanarak bir YOLOv5u modelini nasıl eğitebilirim?
Önceden eğitilmiş bir modeli yükleyerek ve veri setinizle eğitim komutunu çalıştırarak bir YOLOv5u modelini eğitebilirsiniz. İşte hızlı bir örnek:
Örnek
Daha ayrıntılı talimatlar için Kullanım Örnekleri bölümünü ziyaret edin.