Ultralytics YOLOv5
Genel Bakış
YOLOv5u, nesne tespiti metodolojilerinde bir ilerlemeyi temsil eder. Ultralytics tarafından geliştirilen temel YOLOv5 modelinin mimarisinden türetilen YOLOv5u, YOLOv8 modellerinde daha önce tanıtılan çapasız (anchor-free), nesnellikten arındırılmış (objectness-free) ayrık baş (split head) özelliğini entegre eder. Bu adaptasyon, modelin mimarisini geliştirerek nesne tespiti görevlerinde daha iyi bir doğruluk-hız dengesi sağlar. Ampirik 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.

Ultralytics, YOLOv5 modelinin çapasız bir varyantını sunar. ultralytics/yolov5 deposuyla eğitilen modeller, ultralytics/ultralytics kütüphanesi ile yüklenemez. YOLOv5'i burada kullanmak için bir Ultralytics YOLOv5u kontrol noktasından (örneğin yolov5su.pt) yeni bir model eğitmelisin.
YOLOv5 modellerini doğrudan Ultralytics Platform üzerinde keşfet ve çalıştır.
Temel Özellikler
-
Çapasız Ayrık Ultralytics Başlığı (Anchor-free Split Ultralytics Head): Geleneksel nesne tespiti modelleri, nesne konumlarını tahmin etmek için önceden tanımlanmış çapa kutularına (anchor boxes) dayanır. Ancak YOLOv5u bu yaklaşımı modernleştirir. Çapasız ayrık bir Ultralytics başlığı benimseyerek, daha esnek ve uyarlanabilir bir tespit mekanizması sağlar ve sonuç olarak çeşitli senaryolarda performansı artırır.
-
Optimize Edilmiş Doğruluk-Hız Dengesi: Hız ve doğruluk genellikle zıt yönlerde çalışır. 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ı yanıt 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. İster Çıkarım (Inference), ister Doğrulama (Validation), ister Eğitim (Training) üzerine odaklanıyor ol, seni bekleyen özel bir model vardır. Bu çeşitlilik, tek bir genel çözüm yerine, benzersiz zorluğun için özel olarak ince ayar yapılmış bir model kullanmanı sağlar.
Desteklenen Görevler ve Modlar
Çeşitli önceden eğitilmiş ağırlıklara sahip YOLOv5u modelleri, Nesne Tespiti görevlerinde mükemmeldir. Geliştirmeden dağıtıma kadar çeşitli uygulamalar için uygun hale getiren kapsamlı mod aralığını desteklerler.
| Model Tipi | Önceden Eğitilmiş Ağırlıklar | Görev | Çıkarım | Doğrulama | Eğitim | Export (Dışa Aktarma) |
|---|---|---|---|---|---|---|
| YOLOv5u | yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u | Nesne Tespiti | ✅ | ✅ | ✅ | ✅ |
Bu tablo, nesne tespiti görevlerindeki uygulanabilirliklerini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli operasyonel modlar için desteğini vurgulayarak YOLOv5u model varyantlarına ayrıntılı bir genel bakış sunar. Bu kapsamlı destek, kullanıcıların YOLOv5u modellerinin yeteneklerinden çok çeşitli nesne tespiti senaryolarında tam olarak yararlanabilmelerini sağlar.
Performans Metrikleri
See Detection Docs for usage examples with these models trained on COCO, which include 80 pretrained classes.
| Model | YAML | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız A100 TensorRT (ms) | parametreler (M) | FLOPs (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 sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export doküman sayfalarına bak.
PyTorch ile ö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 geçirilebilir:
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, modellerin hızla gelişen doğası nedeniyle YOLOv5 için resmi bir araştırma makalesi yayınlamamıştır. Statik dokümantasyon oluşturmak 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:
@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 ve nesnellikten arındırılmış ayrık başlığı entegre eden YOLOv5'in gelişmiş bir sürümüdür. Geleneksel YOLOv5'in aksine, YOLOv5u çapasız bir tespit mekanizması benimseyerek çeşitli senaryolarda daha esnek ve uyarlanabilir olmasını sağ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'daki 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 yüksek verimlilikle işleyebilen, daha esnek ve uyarlanabilir bir tespit mekanizmasıyla sonuçlanır. Bu geliş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 öğrenebilirsin.
Ö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 genelinde yararlanmalarını sağlar. Ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümüne göz at.
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, CPU (ONNX) üzerinde 73.6 ms ve A100 TensorRT üzerinde 1.06 ms hız ile COCO veri kümesinde 34.3 mAP elde eder. 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'sini kullanarak nasıl YOLOv5u modeli eğitebilirim?
Önceden eğitilmiş bir model yükleyip eğitim komutunu veri kümenle çalıştırarak bir YOLOv5u modeli eğitebilirsin. İşte hızlı bir ö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 detaylı talimatlar için Kullanım Örnekleri bölümünü ziyaret et.