Ultralytics YOLOv5

Genel Bakış

YOLOv5u, nesne tespiti metodolojilerinde bir ilerlemeyi temsil eder. Ultralytics tarafından geliştirilen YOLOv5 modelinin temel mimarisinden köken alan YOLOv5u, daha önce YOLOv8 modellerinde tanıtılan çapasız (anchor-free), nesnellik gerektirmeyen ayrık başlık (split head) özelliğini entegre eder. Bu uyarlama, modelin mimarisini iyileştirerek nesne tespiti görevlerinde doğruluk-hız dengesini geliştirir. Deneysel sonuçlar ve türetilmiş özellikleri göz önüne alındığında YOLOv5u, hem araştırmalarda hem de pratik uygulamalarda sağlam çözümler arayanlar için verimli bir alternatif sunar.

YOLOv5 nesne tespiti model mimarisi ve performansı

[ultralytics/yolov5](https://github.com/ultralytics/yolov5) tarafından eğitilen YOLOv5 modelleri, [ultralytics/ultralytics](https://github.com/ultralytics/ultralytics) kütüphanesi ile uyumlu değildir.

Ultralytics, YOLOv5 modelinin çapasız bir varyantını sağlar. Orijinal YOLOv5 deposu ile eğitilen modeller, Ultralytics kütüphanesi ile kullanılamaz.

Ultralytics Platform'da Dene

YOLOv5 modellerini doğrudan Ultralytics Platform üzerinde keşfet ve çalıştır.

Temel Özellikler

  • Çapasız Ayrık Ultralytics Başlığı: Geleneksel nesne tespiti modelleri, nesne konumlarını tahmin etmek için önceden tanımlanmış çapa kutularına (anchor boxes) güvenir. Ancak YOLOv5u bu yaklaşımı modernize eder. Çapasız ayrık bir Ultralytics başlığı benimseyerek daha esnek ve uyarlanabilir bir tespit mekanizması sağlar, bu da çeşitli senaryolarda performansı artırır.

  • Optimize Edilmiş Doğruluk-Hız Dengesi: Hız ve doğruluk genellikle zıt yönlerde ilerler. Ancak YOLOv5u bu dengeye meydan okur. Doğruluktan ödün vermeden gerçek zamanlı tespitler sağlayan kalibre edilmiş bir denge sunar. Bu özellik, otonom araçlar, robotik ve gerçek zamanlı video analitiği gibi hızlı tepkiler gerektiren uygulamalar için özellikle paha biçilmezdir.

  • Çeşitli Önceden Eğitilmiş Modeller: Farklı görevlerin farklı araç setleri gerektirdiğini anlayan YOLOv5u, çok sayıda önceden eğitilmiş model sunar. Çıkarım (Inference), Doğrulama (Validation) veya Eğitim (Training) odaklı çalışıyor olman, sana özel tasarlanmış bir modelin seni beklediği anlamına gelir. Bu çeşitlilik, sadece herkese uyan tek bir çözüm değil, özel zorluğun için ince ayar yapılmış bir model kullandığından emin olmanı sağlar.

Desteklenen Görevler ve Modlar

Çeşitli önceden eğitilmiş ağırlıklara sahip YOLOv5u modelleri, Nesne Tespiti görevlerinde mükemmeldir. Kapsamlı bir mod yelpazesini desteklemeleri, onları geliştirmeden kuruluma kadar çeşitli uygulamalar için uygun hale getirir.

Model TipiÖnceden Eğitilmiş AğırlıklarGörevÇıkarımDoğrulamaEğitimDışa Aktar (Export)
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uNesne Tespiti

Bu tablo, YOLOv5u model varyantlarına dair ayrıntılı bir genel bakış sunarak nesne tespiti görevlerindeki uygulanabilirliklerini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli operasyonel modlar için sundukları desteği vurgular. Bu kapsamlı destek, kullanıcıların YOLOv5u modellerinin yeteneklerinden çok çeşitli nesne tespiti senaryolarında tam anlamıyla yararlanabilmesini sağlar.

Performans Metrikleri

Performans

See Detection Docs for usage examples with these models trained on COCO, which include 80 pretrained classes.

ModelYAMLboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
A100 TensorRT
(ms)
parametre
(M)
FLOPs
(B)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.37.8
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.4250.7

Kullanım Örnekleri

Bu örnek, basit YOLOv5 eğitim ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export doküman sayfalarına bak.

Örnek

PyTorch önceden eğitilmiş *.pt modellerinin yanı sıra yapılandırma *.yaml dosyaları, Python'da bir model örneği oluşturmak için YOLO() sınıfına aktarılabilir:

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")

Alıntılar 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 ilerletmeye 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 dokümantasyonumuza başvur.

Araştırmanda YOLOv5 veya YOLOv5u kullanıyorsan, lütfen Ultralytics YOLOv5 deposuna şu şekilde atıfta bulun:

Alıntı
@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 AGPL-3.0 ve Enterprise lisansları altında sağlandığını unutma.

SSS

Ultralytics YOLOv5u nedir ve YOLOv5'ten farkı nedir?

Ultralytics YOLOv5u, gerçek zamanlı nesne tespiti görevleri için doğruluk-hız dengesini artıran çapasız, nesnellik gerektirmeyen ayrık başlığı entegre eden gelişmiş bir YOLOv5 sürümüdür. Geleneksel YOLOv5'ten farklı olarak YOLOv5u, çapasız bir tespit mekanizmasını benimser, bu da onu çeşitli senaryolarda daha esnek ve uyarlanabilir kılar. Özellikleri hakkında daha ayrıntılı bilgi için YOLOv5 Genel Bakış bölümüne başvurabilirsin.

Çapasız Ultralytics başlığı, YOLOv5u'da nesne tespiti performansını nasıl artırır?

YOLOv5u'daki çapasız Ultralytics başlığı, önceden tanımlanmış çapa kutularına olan bağımlılığı ortadan kaldırarak nesne tespiti performansını artırır. Bu, çeşitli nesne boyutlarını ve şekillerini daha büyük bir verimlilikle işleyebilen daha esnek ve uyarlanabilir bir tespit mekanizmasıyla sonuçlanır. Bu iyileştirme, doğruluk ve hız arasında dengeli bir takasa doğrudan katkıda bulunarak YOLOv5u'yu gerçek zamanlı uygulamalar için uygun hale getirir. Mimarisi hakkında daha fazla bilgiyi Temel Özellikler bölümünde bulabilirsin.

Önceden eğitilmiş YOLOv5u modellerini farklı görevler ve modlar için kullanabilir miyim?

Evet, önceden eğitilmiş YOLOv5u modellerini Nesne Tespiti gibi çeşitli görevler için kullanabilirsin. 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 YOLOv5u modellerinin yeteneklerinden farklı operasyonel gereksinimler doğrultusunda yararlanmalarına olanak tanır. Ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümünü kontrol et.

YOLOv5u modellerinin performans metrikleri farklı platformlarda nasıl karşılaştırılır?

YOLOv5u modellerinin performans metrikleri, kullanılan platforma ve donanıma bağlı olarak değişir. Örneğin, YOLOv5nu modeli COCO veri setinde 34.3 mAP değerine, CPU (ONNX) üzerinde 73.6 ms ve A100 TensorRT üzerinde 1.06 ms hızına ulaşır. Farklı YOLOv5u modelleri için ayrıntılı performans metrikleri, çeşitli cihazlar arasında kapsamlı bir karşılaştırma sunan Performans Metrikleri bölümünde bulunabilir.

Ultralytics Python API kullanarak nasıl YOLOv5u modeli eğitebilirim?

Önceden eğitilmiş bir model yükleyip veri setinle eğitim komutunu çalıştırarak bir YOLOv5u modeli eğitebilirsin. İş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)

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

Yorumlar