Vai al contenuto

YOLOv5

Panoramica

YOLOv5u rappresenta un progresso nelle metodologie di rilevamento degli oggetti. Partendo dall'architettura di base del modello YOLOv5 modello sviluppato da Ultralytics, YOLOv5u integra la testa divisa, priva di ancoraggi e di oggetti, una caratteristica introdotta precedentemente nei modelli YOLOv8 modelli. Questo adattamento perfeziona l'architettura del modello, consentendo di migliorare il compromesso accuratezza-velocità nelle attività di rilevamento degli oggetti. Visti i risultati empirici e le caratteristiche derivate, YOLOv5u rappresenta un'alternativa efficiente per chi cerca soluzioni robuste sia nella ricerca che nelle applicazioni pratiche.

Ultralytics YOLOv5

Caratteristiche principali

  • Split Ultralytics Head senza ancore: i modelli tradizionali di rilevamento degli oggetti si basano su caselle di ancoraggio predefinite per prevedere la posizione degli oggetti. Tuttavia, YOLOv5u modernizza questo approccio. Adottando una testa Ultralytics divisa senza ancore, garantisce un meccanismo di rilevamento più flessibile e adattivo, migliorando di conseguenza le prestazioni in diversi scenari.

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

  • Varietà di modelli pre-addestrati: Consapevole del fatto che compiti diversi richiedono strumenti diversi, YOLOv5u offre una pletora di modelli pre-addestrati. Che tu voglia concentrarti sull'inferenza, sulla convalida o sulla formazione, c'è un modello su misura che ti aspetta. Questa varietà ti assicura che non stai usando una soluzione unica, ma un modello specificamente messo a punto per la tua sfida unica.

Attività e modalità supportate

I modelli YOLOv5u, con diversi pesi pre-addestrati, eccellono nelle attività di rilevamento degli oggetti. Supportano una gamma completa di modalità, che li rende adatti a diverse applicazioni, dallo sviluppo alla distribuzione.

Tipo di modello Pesi pre-addestrati Compito Inferenza Convalida Formazione Esportazione
YOLOv5u yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u Rilevamento degli oggetti ✅ ✅ ✅ ✅

Questa tabella fornisce una panoramica dettagliata delle varianti del modello YOLOv5u, evidenziando la loro applicabilità nelle attività di rilevamento degli oggetti e il supporto per diverse modalità operative come Inferenza, Convalida, Formazione ed Esportazione. Questo supporto completo garantisce agli utenti di sfruttare appieno le capacità dei modelli YOLOv5u in un'ampia gamma di scenari di rilevamento di oggetti.

Metriche di prestazione

Prestazioni

Per gli esempi di utilizzo di questi modelli addestrati su COCO, che includono 80 classi pre-addestrate, consulta i Detection Docs.

Modello YAML dimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
A100 TensorRT
(ms)
params
(M)
FLOP
(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 7.8
yolov5s6u.pt yolov5s6.yaml 1280 48.6 422.6 2.34 15.3 24.6
yolov5m6u.pt yolov5m6.yaml 1280 53.6 810.9 4.36 41.2 65.7
yolov5l6u.pt yolov5l6.yaml 1280 55.7 1470.9 5.47 86.1 137.4
yolov5x6u.pt yolov5x6.yaml 1280 56.8 2436.5 8.98 155.4 250.7

Esempi di utilizzo

Questo esempio fornisce semplici esempi di formazione e inferenza su YOLOv5 . Per una documentazione completa su queste e altre modalità, consulta le pagine dei documenti Predict, Train, Val ed Export.

Esempio

PyTorch preaddestrato *.pt modelli e configurazione *.yaml possono essere passati ai file 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')

CLI sono disponibili comandi per eseguire direttamente i modelli:

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

Citazioni e ringraziamenti

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

@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 con le licenze AGPL-3.0 e le licenze Enterprise.



Creato 2023-11-12, Aggiornato 2024-04-17
Autori: glenn-jocher (9)

Commenti