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à introdotta in precedenza nei modelli YOLOv8. Questo adattamento perfeziona l'architettura del modello, portando a un miglior rapporto accuratezza-velocità nelle attività di object detection. Dati i risultati empirici e le funzionalità derivate, YOLOv5u fornisce 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 di Ultralytics YOLOv5u (ad esempio yolov5su.pt).

Prova sulla piattaforma Ultralytics

Esplora ed esegui i modelli YOLOv5 direttamente sulla piattaforma Ultralytics.

Link to this sectionCaratteristiche principali#

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

  • Rapporto accuratezza-velocità ottimizzato: Velocità e accuratezza spesso vanno in direzioni opposte, ma YOLOv5u sfida questo compromesso. Offre un equilibrio calibrato, garantendo rilevamenti in tempo reale senza compromettere l'accuratezza. Questa funzionalità è particolarmente preziosa per le applicazioni che richiedono risposte rapide, come veicoli autonomi, robotica e analisi video in tempo reale.

  • Varietà di modelli preaddestrati: Comprendendo che attività diverse richiedono 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à assicura che tu non stia usando solo una soluzione valida per tutto, ma un modello specificamente ottimizzato per la tua sfida unica.

Link to this sectionCompiti e modalità supportati#

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

Tipo di modelloPesi pre-addestratiCompitoInferenzaValidazioneAddestramentoEsportazione
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uObject Detection

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 Inferenza, Validazione, Addestramento ed Esportazione. Questo supporto completo garantisce che gli utenti possano sfruttare appieno le capacità dei modelli YOLOv5u in un'ampia gamma di scenari di object detection.

Link to this sectionMetriche di performance#

Performance

Vedi Documentazione 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)
params
(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 della documentazione su Predizione, Addestramento, Validazione ed Esportazione.

Esempio

I modelli PyTorch preaddestrati *.pt così come i file di configurazione *.yaml possono essere passati alla classe YOLO() per creare un'istanza di modello 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 paper 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, fai riferimento al nostro repository GitHub e alla 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}
}

Ti preghiamo di notare che i modelli YOLOv5 sono forniti con licenze AGPL-3.0 ed Enterprise.

Link to this sectionFAQ#

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

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

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

Lo split head Ultralytics senza anchor in YOLOv5u migliora le prestazioni di object detection eliminando la dipendenza da anchor box predefinite. Ciò si traduce in un meccanismo di rilevamento più flessibile e adattabile in grado di gestire varie dimensioni e forme di oggetti con maggiore efficienza. Questo miglioramento contribuisce direttamente a un rapporto equilibrato tra accuratezza e velocità, rendendo YOLOv5u adatto per 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 l'Object Detection. Questi modelli supportano molteplici modalità, tra cui Inferenza, Validazione, Addestramento ed Esportazione. Questa flessibilità consente agli utenti di sfruttare le capacità dei modelli YOLOv5u in base a diversi requisiti operativi. 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 diverse piattaforme?#

Le metriche di prestazione dei modelli YOLOv5u variano a seconda della piattaforma e dell'hardware utilizzato. Ad esempio, il modello YOLOv5nu raggiunge 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 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