YOLO Vision 2026:

Ultralytics YOLOv5#

Panoramica#

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

YOLOv5 object detection model architecture and performance

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

Ultralytics fornisce una anchor-free variant of YOLOv5 model. 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 da un checkpoint di Ultralytics YOLOv5u (ad es. yolov5su.pt).

Prova sulla piattaforma Ultralytics

Esplora ed esegui i modelli YOLOv5 direttamente su Ultralytics Platform.

Caratteristiche 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.

  • Compromesso ottimizzato tra accuratezza e velocità: Velocità e accuratezza spesso vanno in direzioni opposte. Ma YOLOv5u sfida questo compromesso. Offre un bilanciamento calibrato, garantendo rilevamenti in tempo reale senza compromettere l'accuratezza. Questa funzionalità è particolarmente preziosa per le applicazioni che richiedono risposte rapide, come autonomous vehicles, robotics 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.

Compiti e modalità supportati#

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

Tipo di modelloPesi pre-addestratiCompitoAddestramentoValidazioneInferenzaEsportazione
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uRilevamento di oggetti

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

Metriche di performance#

Performance

Vedi la Documentazione sul rilevamento per esempi d'uso con questi modelli addestrati su COCO, che includono 80 classi preaddestrate.

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

Esempi di Utilizzo#

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

Esempio

I modelli preaddestrati in PyTorch *.pt così come i file di configurazione *.yaml possono essere passati alla classe YOLO() per creare un'istanza del 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")

Citazioni 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'andare avanti con la tecnologia e nel renderla più semplice 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 GitHub repository e alla documentation.

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

Nota che i modelli YOLOv5 sono forniti con le licenze AGPL-3.0 ed Enterprise.

FAQ#

  • Ultralytics YOLOv5u è una versione avanzata di YOLOv5 che integra la split head anchor-free e priva di objectness, migliorando il compromesso tra accuracy e velocità per le attività di object detection in tempo reale. A differenza del YOLOv5 tradizionale, YOLOv5u adotta un meccanismo di rilevamento anchor-free, rendendolo più flessibile e adattabile in diversi scenari. Per informazioni più dettagliate sulle sue funzionalità, puoi fare riferimento alla YOLOv5 Overview.

  • La head anchor-free di Ultralytics 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 compromesso equilibrato tra accuratezza e velocità, rendendo YOLOv5u adatto per applicazioni in tempo reale. Scopri di più sulla sua architettura nella sezione Key Features.

  • Sì, puoi usare i modelli YOLOv5u pre-addestrati per varie attività come Object Detection. Questi modelli supportano più 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 Supported Tasks and Modes.

  • 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 i diversi modelli YOLOv5u sono reperibili nella sezione Performance Metrics, che offre un confronto completo tra vari dispositivi.

  • 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 Usage Examples.

Commenti