Ultralytics YOLOv5#
Genel Bakış#
YOLOv5u, nesne algılama yöntemlerinde bir ilerlemeyi temsil eder. Ultralytics tarafından geliştirilen YOLOv5 modelinin temel mimarisinden yola çıkan YOLOv5u, daha önce YOLOv8 modellerinde sunulan çapasız ve nesne olasılığı içermeyen ayrık başlığı entegre eder. Bu uyarlama, modelin mimarisini iyileştirerek nesne algılama görevlerinde doğruluk-hız dengesini geliştirir. Deneysel sonuçlar ve türetilen özellikler göz önüne alındığında YOLOv5u, hem araştırma hem de pratik uygulamalarda güçlü çözümler arayanlara verimli bir alternatif sunar.

Ultralytics, YOLOv5 modelinin çapasız bir sürümünü sunar. ultralytics/yolov5 deposuyla eğitilen modeller, ultralytics/ultralytics kitaplığıyla yüklenemez. Burada YOLOv5'i kullanmak için yeni bir modeli Ultralytics YOLOv5u kontrol noktasından (ör. yolov5su.pt) eğit.
YOLOv5 modellerini doğrudan Ultralytics Platform üzerinde keşfet ve çalıştır.
Temel Özellikler#
-
Çapasız Ayrık Ultralytics Başlığı: 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ı modernleştirir. Çapasız ayrık Ultralytics başlığını benimseyerek daha esnek ve uyarlanabilir bir algılama mekanizması sunar ve böylece farklı senaryolardaki performansı artırır.
-
Optimize Edilmiş Doğruluk-Hız Dengesi: Hız ve doğruluk çoğu zaman birbirini olumsuz etkiler. Ancak YOLOv5u bu dengeyi sorgular. Doğruluktan ödün vermeden gerçek zamanlı algılama sağlayan dengeli bir yaklaşım sunar. Bu özellik, özellikle otonom araçlar, robotik ve gerçek zamanlı video analizi gibi hızlı yanıt gerektiren uygulamalar için çok değerlidir.
-
Çeşitli Önceden Eğitilmiş Modeller: Farklı görevlerin farklı araçlar gerektirdiğini göz önünde bulunduran YOLOv5u, çok sayıda önceden eğitilmiş model sunar. Çıkarım, Doğrulama veya Eğitim üzerinde çalışıyor olman fark etmez; sana özel bir model hazır. Bu çeşitlilik, herkese uyan tek bir çözümü kullanmak yerine, benzersiz ihtiyacına göre ince ayarlanmış bir model kullanmanı sağlar.
Desteklenen Görevler ve Modlar#
YOLOv5u modelleri, çeşitli önceden eğitilmiş ağırlıklarıyla Nesne Algılama görevlerinde üstün performans gösterir. Geliştirmeden dağıtıma kadar farklı uygulamalara uygun olmalarını sağlayan kapsamlı bir mod yelpazesini destekler.
| Model Türü | Önceden Eğitilmiş Ağırlıklar | Görev | Eğitim | Doğrulama | Çıkarım | Dışa aktar |
|---|---|---|---|---|---|---|
| YOLOv5u | yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
Bu tablo, YOLOv5u model çeşitlerine ilişkin ayrıntılı bir genel bakış sunar; modellerin nesne algılama görevlerindeki kullanım uygunluğunu ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli çalışma modlarını desteklemesini öne çıkarır. Bu kapsamlı destek, kullanıcıların YOLOv5u modellerinin yeteneklerinden çok çeşitli nesne algılama senaryolarında tam anlamıyla yararlanmasını sağlar.
Performans Metrikleri#
80 önceden eğitilmiş sınıf içeren ve COCO üzerinde eğitilmiş bu modellerin kullanım örnekleri için Algılama Belgeleri sayfasına bak.
| Model | YAML | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız A100 TensorRT (ms) | parametre (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 | 31.3 |
| yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 97.6 |
| yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 261.3 |
| yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 549.4 |
| yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.5 | 1002.8 |
Kullanım Örnekleri#
Bu örnekte basit YOLOv5 eğitim ve çıkarım örnekleri sunulmaktadır. Bunlar ve diğer modlar hakkında eksiksiz belgeler için Tahmin, Eğitim, Doğrulama ve Dışa Aktarma doküman sayfalarına bak.
PyTorch önceden eğitilmiş *.pt modelleri ve 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
# COCO ile önceden eğitilmiş bir YOLOv5nu modelini yükle
model = YOLO("yolov5nu.pt")
# Model bilgilerini görüntüle (isteğe bağlı)
model.info()
# Modeli COCO8 örnek veri kümesinde 100 dönem boyunca eğit
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 'bus.jpg' görüntüsünde YOLOv5nu modeliyle çıkarım yap
results = model("path/to/bus.jpg")Atıflar ve Teşekkürler#
Modellerin hızla gelişen yapısı nedeniyle Ultralytics, YOLOv5 için resmî bir araştırma makalesi yayımlamadı. Statik belgeler üretmek yerine teknolojiyi geliştirmeye ve kullanımı kolaylaştırmaya odaklanıyoruz. YOLO mimarisi, özellikleri ve kullanımı hakkında en güncel bilgiler için GitHub depomuza ve belgelerimize başvur.
Araştırmanda YOLOv5 veya YOLOv5u kullanıyorsan lütfen Ultralytics YOLOv5 deposunu aşağıdaki gibi kaynak göster:
@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}
}YOLOv5 modellerinin AGPL-3.0 ve Kurumsal lisansları kapsamında sunulduğunu lütfen unutma.
Sık Sorulan Sorular#
Ultralytics YOLOv5u, gerçek zamanlı nesne algılama görevlerinde doğruluk-hız dengesini iyileştiren, çapasız ve nesne olasılığı içermeyen ayrık başlığı entegre eden gelişmiş bir YOLOv5 sürümüdür. Geleneksel YOLOv5'ten farklı olarak YOLOv5u, çapasız bir algılama mekanizması kullanır; 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ış sayfasına başvurabilirsin.
YOLOv5u'daki çapasız Ultralytics başlığı, önceden tanımlanmış çapa kutularına olan bağımlılığı ortadan kaldırarak nesne algılama performansını iyileştirir. Böylece farklı boyut ve şekillerdeki nesneleri daha verimli biçimde algılayabilen, daha esnek ve uyarlanabilir bir mekanizma ortaya çıkar. Bu iyileştirme, doğruluk ve hız arasında dengeli bir ödünleşime doğrudan katkıda bulunarak YOLOv5u'yu gerçek zamanlı uygulamalar için uygun hâle getirir. Mimarisi hakkında daha fazla bilgiyi Temel Özellikler bölümünde bulabilirsin.
Evet, önceden eğitilmiş YOLOv5u modellerini Nesne Algılama gibi çeşitli görevlerde kullanabilirsin. Bu modeller Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma dâhil olmak üzere birden fazla modu destekler. Bu esneklik, kullanıcıların YOLOv5u modellerinin yeteneklerinden farklı çalışma gereksinimlerinde yararlanması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 ölçümleri kullanılan platforma ve donanıma göre değişir. Örneğin YOLOv5nu modeli, COCO veri kümesinde 34.3 mAP değerine ulaşırken CPU (ONNX) üzerinde 73.6 ms, A100 TensorRT üzerinde ise 1.06 ms hız sunar. Farklı YOLOv5u modellerinin ayrıntılı performans ölçümlerini, çeşitli cihazlarda kapsamlı bir karşılaştırma sunan Performans Ölçümleri bölümünde bulabilirsin.
Önceden eğitilmiş bir modeli yükleyip veri kümenle eğitim komutunu çalıştırarak YOLOv5u modelini eğitebilirsin. İşte kısa bir örnek:
Örnekfrom ultralytics import YOLO # COCO ile önceden eğitilmiş bir YOLOv5nu modelini yükle model = YOLO("yolov5nu.pt") # Model bilgilerini görüntüle (isteğe bağlı) model.info() # Modeli COCO8 örnek veri kümesinde 100 dönem boyunca eğit results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Daha ayrıntılı yönergeler için Kullanım Örnekleri bölümünü ziyaret et.