Ultralytics YOLO27:

Ultralytics YOLOv5#

Genel Bakış#

YOLOv5u, nesne algılama metodolojilerinde bir ilerlemeyi temsil eder. Ultralytics tarafından geliştirilen YOLOv5 modelinin temel mimarisinden türetilen YOLOv5u, daha önce YOLOv8 modellerinde tanıtılan ankorsuz 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. Ampirik sonuçları ve türetilen özellikleri göz önünde bulundurulduğunda YOLOv5u, hem araştırma hem de pratik uygulamalarda sağlam çözümler arayanlar için verimli bir alternatif sunar.

YOLOv5 nesne algılama modeli mimarisi ve performansı

Orijinal YOLOv5 deposuyla eğitilen modeller Ultralytics kütüphanesiyle uyumlu değildir

Ultralytics, YOLOv5 modelinin ankorsuz bir varyantını sunar. ultralytics/yolov5 deposuyla eğitilen modeller ultralytics/ultralytics kütüphanesiyle yüklenemez. YOLOv5'i burada kullanmak için bir Ultralytics YOLOv5u kontrol noktasından yeni bir model eğit; örneğin yolov5su.pt.

Ultralytics Platform'da dene

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

Temel Özellikler#

  • Ankorsuz Ayrık Ultralytics Başlığı: Geleneksel nesne algılama modelleri, nesne konumlarını tahmin etmek için önceden tanımlanmış ankor kutularına dayanır. Ancak YOLOv5u bu yaklaşımı modernleştirir. Ankorsuz ayrık bir Ultralytics başlığı benimseyerek daha esnek ve uyarlanabilir bir algılama mekanizması sağlar ve bunun sonucunda çeşitli senaryolardaki performansı artırır.

  • Optimize Edilmiş Doğruluk-Hız Dengesi: Hız ve doğruluk çoğu zaman zıt yönlerde ilerler. Ancak YOLOv5u bu dengeyi sorgular. Doğruluktan ödün vermeden gerçek zamanlı algılamalar sağlayan, hassas biçimde ayarlanmış bir denge sunar. Bu özellik, otonom araçlar, robotik ve gerçek zamanlı video analizi gibi hızlı yanıt gerektiren uygulamalar için özellikle değerlidir.

  • Çeşitli Önceden Eğitilmiş Modeller: Farklı görevlerin farklı araç setleri gerektirdiğini bilen YOLOv5u, çok sayıda önceden eğitilmiş model sunar. İster Çıkarım, ister Doğrulama ya da Eğitim üzerinde çalışıyor ol, seni bekleyen amacına özel bir model vardır. Bu çeşitlilik, herkese uyan tek bir çözüm kullanmanı değil, benzersiz sorununa özel olarak ince ayarlanmış bir model kullanmanı sağlar.

Desteklenen Görevler ve Modlar#

Çeşitli önceden eğitilmiş ağırlıklara sahip YOLOv5u modelleri, Nesne Algılama görevlerinde üstün performans gösterir. Geliştirmeden dağıtıma kadar çeşitli uygulamalar için uygun olmalarını sağlayan kapsamlı bir mod aralığını desteklerler.

Model TürüÖnceden Eğitilmiş AğırlıklarGörevEğitimDoğrulamaÇıkarımDışa aktarma
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uNesne Tespiti

Bu tablo, YOLOv5u model varyantlarına ayrıntılı bir genel bakış sunarak bunların nesne algılama görevlerindeki uygunluğunu ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli işlem modlarını desteklediğini vurgular. Bu kapsamlı destek, kullanıcıların çok çeşitli nesne algılama senaryolarında YOLOv5u modellerinin yeteneklerinden tam olarak yararlanmasını sağlar.

Performans Metrikleri#

Performans

80 önceden eğitilmiş sınıf içeren COCO üzerinde eğitilmiş bu modellerle ilgili kullanım örnekleri için Algılama Belgeleri sayfasına bak.

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.331.3
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.397.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.2261.3
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1549.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.51002.8

Kullanım Örnekleri#

Bu örnek, basit YOLOv5 eğitim ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında eksiksiz belgeler için Tahmin, Eğitim, Doğrulama ve Dışa Aktarma belge sayfalarına bak.

Örnek

PyTorch önceden eğitilmiş *.pt modelleri ile 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 YOLOv5nu model
model = YOLO("yolov5nu.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 YOLOv5nu model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Atıflar ve Teşekkürler#

Ultralytics YOLOv5 Yayını

Modellerin hızla gelişen yapısı nedeniyle Ultralytics, YOLOv5 için resmi bir araştırma makalesi yayımlamamıştır. Statik belgeler üretmek yerine teknolojiyi ilerletmeye 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 Ultralytics YOLOv5 deposuna aşağıdaki şekilde atıf yap:

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}
}

YOLOv5 modellerinin AGPL-3.0 ve Kurumsal lisanslar kapsamında sunulduğunu lütfen unutma.

SSS#

  • Ultralytics YOLOv5u, gerçek zamanlı nesne algılama görevleri için doğruluk-hız dengesini iyileştiren ankorsuz ve nesne olasılığı içermeyen ayrık başlığı entegre eden, YOLOv5'in gelişmiş bir sürümüdür. Geleneksel YOLOv5'in aksine YOLOv5u, ankorsuz bir algılama mekanizması benimseyerek çeşitli senaryolarda daha esnek ve uyarlanabilir hale gelir. Özellikleri hakkında daha ayrıntılı bilgi için YOLOv5 Genel Bakışı sayfasına başvurabilirsin.

  • YOLOv5u'daki ankorsuz Ultralytics başlığı, önceden tanımlanmış ankor kutularına olan bağımlılığı ortadan kaldırarak nesne algılama performansını iyileştirir. Bunun sonucunda, çeşitli nesne boyutlarını ve şekillerini daha verimli biçimde işleyebilen, daha esnek ve uyarlanabilir bir algılama mekanizması ortaya çıkar. Bu iyileştirme, doğruluk ve hız arasında dengeli bir denge kurulmasına doğrudan katkıda bulunur ve YOLOv5u'yu gerçek zamanlı uygulamalar için uygun hale 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örevler için kullanabilirsin. Bu modeller Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma dahil olmak üzere birden çok modu destekler. Bu esneklik, kullanıcıların YOLOv5u modellerinin yeteneklerinden farklı operasyonel gereksinimler genelinde yararlanmasına olanak tanır. Ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümüne göz at.

  • YOLOv5u modellerinin performans metrikleri, kullanılan platforma ve donanıma bağlı olarak değişir. Örneğin YOLOv5nu modeli, COCO veri kümesinde 34.3 mAP değerine ulaşırken CPU (ONNX) üzerinde 73.6 ms ve A100 TensorRT üzerinde 1.06 ms hız sunar. Farklı YOLOv5u modellerine ilişkin ayrıntılı performans metriklerini, çeşitli cihazlar arasında kapsamlı bir karşılaştırma sunan Performans Metrikleri 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:

    Örnek
    from ultralytics import YOLO
    
    # Load a COCO-pretrained YOLOv5nu model
    model = YOLO("yolov5nu.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