İçeriğe geç

YOLOv5

Genel Bakış

YOLOv5u nesne algılama metodolojilerinde bir ilerlemeyi temsil etmektedir. YOLOv5u'nun 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.

Ultralytics YOLOv5

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 operasyonel 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:

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

Atıflar ve Teşekkür

Araştırmanızda YOLOv5 veya YOLOv5u kullanıyorsanız, lütfen Ultralytics YOLOv5 deposuna aşağıdaki şekilde atıfta bulunun:

@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

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

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)
# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

Daha ayrıntılı talimatlar için Kullanım Örnekleri bölümünü ziyaret edin.



Oluşturma 2023-11-12, Güncelleme 2024-07-04
Yazarlar: glenn-jocher (15), Burhan-Q (1)

Yorumlar