Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLOv5#

Link to this sectionPanoramica#

YOLOv5u rappresenta un progresso nelle metodologie di object detection. Originato dall'architettura fondamentale del modello YOLOv5 sviluppato da Ultralytics, YOLOv5u integra lo split head senza anchor e senza objectness, una funzionalità precedentemente introdotta nei modelli YOLOv8. Questo adattamento perfeziona l'architettura del modello, portando a un miglior compromesso precisione-velocità nelle attività di object detection. Dati i risultati empirici e le sue caratteristiche derivate, YOLOv5u offre un'alternativa efficiente per chi cerca soluzioni robuste sia nella ricerca che nelle applicazioni pratiche.

Architettura e prestazioni del modello di object detection YOLOv5

I modelli addestrati con il repository originale YOLOv5 non sono compatibili con la libreria Ultralytics

Ultralytics fornisce una variante senza anchor del modello YOLOv5. I modelli addestrati con il repository ultralytics/yolov5 non possono essere caricati con la libreria ultralytics/ultralytics. Per usare YOLOv5 qui, addestra un nuovo modello partendo da un checkpoint Ultralytics YOLOv5u (es. yolov5su.pt).

Prova su Ultralytics Platform

Esplora ed esegui i modelli YOLOv5 direttamente su Ultralytics Platform.

Link to this sectionCaratteristiche principali#

  • Split Ultralytics Head senza anchor: I modelli tradizionali di object detection si affidano ad anchor box predefiniti per prevedere le posizioni degli oggetti. Tuttavia, YOLOv5u modernizza questo approccio. Adottando uno split Ultralytics head senza anchor, garantisce un meccanismo di rilevamento più flessibile e adattivo, migliorando di conseguenza le prestazioni in diversi scenari.

  • Compromesso ottimizzato tra precisione e velocità: Velocità e precisione spesso tirano in direzioni opposte. Ma YOLOv5u sfida questo compromesso. Offre un equilibrio calibrato, garantendo rilevamenti in tempo reale senza compromettere la precisione. Questa funzionalità è particolarmente preziosa per applicazioni che richiedono risposte rapide, come veicoli autonomi, robotica e analisi video in tempo reale.

  • Varietà di modelli preaddestrati: Sapendo che attività diverse richiedono set di strumenti diversi, YOLOv5u fornisce una pletora di modelli preaddestrati. Che tu ti stia concentrando su Inferenza, Validazione o Addestramento, c'è un modello su misura che ti aspetta. Questa varietà ti assicura di non utilizzare solo una soluzione valida per tutto, ma un modello specificamente ottimizzato per la tua sfida unica.

Link to this sectionAttività e modalità supportate#

I modelli YOLOv5u, con vari pesi preaddestrati, eccellono nelle attività di Object Detection. Supportano una gamma completa di modalità, rendendoli adatti a diverse applicazioni, dallo sviluppo al deployment.

Tipo di modelloPesi preaddestratiAttivitàInferenzaValidazioneAddestramentoEsporta
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uRilevamento oggetti

Questa tabella fornisce una panoramica dettagliata delle varianti del modello YOLOv5u, evidenziando la loro applicabilità nelle attività di object detection e il supporto per varie modalità operative come Inference, Validation, Training e Export. Questo supporto completo assicura che gli utenti possano sfruttare appieno le capacità dei modelli YOLOv5u in una vasta gamma di scenari di object detection.

Link to this sectionMetriche di prestazione#

Prestazioni

Consulta la Documentazione sul Rilevamento per esempi di utilizzo con questi modelli addestrati su COCO, che includono 80 classi pre-addestrate.

ModelloYAMLdimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
A100 TensorRT
(ms)
parametri
(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

Link to this sectionEsempi di utilizzo#

Questo esempio fornisce semplici esempi di addestramento e inferenza YOLOv5. Per la documentazione completa su queste e altre modalità vedi le pagine di documentazione Predict, Train, Val e Export.

Esempio

PyTorch pretrained *.pt models as well as configuration *.yaml files can be passed to the YOLO() class to create a model instance 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")

Link to this sectionCitazioni e riconoscimenti#

Pubblicazione Ultralytics YOLOv5

Ultralytics non ha pubblicato un articolo di ricerca formale per YOLOv5 a causa della natura in rapida evoluzione dei modelli. Ci concentriamo sull'avanzamento della tecnologia e sul renderla più facile da usare, piuttosto che produrre documentazione statica. Per le informazioni più aggiornate sull'architettura, le funzionalità e l'utilizzo di YOLO, consulta il nostro repository GitHub e la documentazione.

Se utilizzi YOLOv5 o YOLOv5u nella tua ricerca, cita il repository Ultralytics YOLOv5 come segue:

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

Tieni presente che i modelli YOLOv5 sono forniti sotto licenze AGPL-3.0 ed Enterprise.

Link to this sectionFAQ#

Link to this sectionCos'è Ultralytics YOLOv5u e in cosa differisce da YOLOv5?#

Ultralytics YOLOv5u è una versione avanzata di YOLOv5, che integra lo split head senza anchor e senza objectness che migliora il compromesso precisione-velocità per le attività di object detection in tempo reale. A differenza del tradizionale YOLOv5, YOLOv5u adotta un meccanismo di rilevamento senza anchor, rendendolo più flessibile e adattivo in diversi scenari. Per informazioni più dettagliate sulle sue caratteristiche, puoi fare riferimento alla Panoramica di YOLOv5.

Link to this sectionIn che modo lo split Ultralytics head senza anchor migliora le prestazioni di object detection in YOLOv5u?#

Lo split Ultralytics head senza anchor in YOLOv5u migliora le prestazioni di object detection eliminando la dipendenza da anchor box predefiniti. Ciò si traduce in un meccanismo di rilevamento più flessibile e adattivo in grado di gestire varie dimensioni e forme degli oggetti con maggiore efficienza. Questo miglioramento contribuisce direttamente a un compromesso equilibrato tra precisione e velocità, rendendo YOLOv5u adatto ad applicazioni in tempo reale. Scopri di più sulla sua architettura nella sezione Caratteristiche principali.

Link to this sectionPosso utilizzare modelli YOLOv5u preaddestrati per diverse attività e modalità?#

Sì, puoi utilizzare modelli YOLOv5u preaddestrati per varie attività come Object Detection. Questi modelli supportano molteplici modalità, tra cui Inference, Validation, Training e Export. Questa flessibilità consente agli utenti di sfruttare le capacità dei modelli YOLOv5u in base a diverse esigenze operative. Per una panoramica dettagliata, controlla la sezione Attività e modalità supportate.

Link to this sectionCome si confrontano le metriche di prestazione dei modelli YOLOv5u su piattaforme diverse?#

Le metriche di prestazione dei modelli YOLOv5u variano a seconda della piattaforma e dell'hardware utilizzati. Ad esempio, il modello YOLOv5nu ottiene un mAP di 34.3 sul dataset COCO con una velocità di 73.6 ms su CPU (ONNX) e 1.06 ms su A100 TensorRT. Le metriche di prestazione dettagliate per i diversi modelli YOLOv5u possono essere trovate nella sezione Metriche di prestazione, che fornisce un confronto completo tra vari dispositivi.

Link to this sectionCome posso addestrare un modello YOLOv5u utilizzando l'API Python di Ultralytics?#

Puoi addestrare un modello YOLOv5u caricando un modello preaddestrato ed eseguendo il comando di addestramento con il tuo dataset. Ecco un rapido esempio:

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

Per istruzioni più dettagliate, visita la sezione Esempi di Utilizzo.

Commenti