Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Inizia

Guida rapida a YOLOv5 🚀#

Questa guida è un punto di partenza per il rilevamento degli oggetti in tempo reale con Ultralytics YOLOv5. Illustra l'installazione, l'inferenza con PyTorch Hub e detect.py e l'addestramento, così puoi applicare questo modello di deep learning ai tuoi progetti.

Installazione#

Clona il repository YOLOv5 e installa i requisiti in un ambiente con Python>=3.8.0 e PyTorch>=1.8.

git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies

Inferenza con PyTorch Hub#

Esegui l'inferenza YOLOv5 tramite PyTorch Hub, che scarica automaticamente i modelli dall'ultima release di YOLOv5. Questo metodo usa PyTorch per caricare ed eseguire il modello, consentendoti di ottenere previsioni con facilità.

import torch

# Caricamento del modello
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # Può essere 'yolov5n' - 'yolov5x6' oppure 'custom'

# Inferenza sulle immagini
img = "https://ultralytics.com/images/zidane.jpg"  # Può essere un file, Path, PIL, OpenCV, numpy oppure un elenco di immagini

# Esegui l'inferenza
results = model(img)

# Visualizza i risultati
results.print()  # or .show(), .save(), .crop(), .pandas(), ecc.

Inferenza con detect.py#

Usa detect.py per eseguire l'inferenza su un'ampia gamma di sorgenti. Recupera automaticamente i modelli dall'ultima release di YOLOv5 e salva i risultati in runs/detect. Questo script è ideale per l'uso da riga di comando e per integrare YOLOv5 in sistemi più ampi; supporta immagini, video, directory, webcam e persino stream live.

python detect.py --weights yolov5s.pt --source 0                              # webcam
python detect.py --weights yolov5s.pt --source image.jpg                      # image
python detect.py --weights yolov5s.pt --source video.mp4                      # video
python detect.py --weights yolov5s.pt --source screen                         # screenshot
python detect.py --weights yolov5s.pt --source path/                          # directory
python detect.py --weights yolov5s.pt --source list.txt                       # list of images
python detect.py --weights yolov5s.pt --source list.streams                   # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg'                   # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream

Addestramento#

Replica i benchmark del dataset COCO di YOLOv5 seguendo le istruzioni di training riportate di seguito. I modelli e i dataset necessari (come coco128.yaml o il dataset completo coco.yaml) vengono scaricati direttamente dall'ultima release di YOLOv5. In genere, il training di YOLOv5n/s/m/l/x su una GPU V100 dovrebbe richiedere rispettivamente 1/2/4/6/8 giorni (tieni presente che le configurazioni di training multi-GPU sono più veloci). Massimizza le prestazioni usando il valore più alto possibile di --batch-size oppure usa --batch-size -1 per la funzionalità AutoBatch di YOLOv5, che individua automaticamente la dimensione del batch ottimale. Le dimensioni del batch riportate di seguito sono ideali per le GPU V100 da 16 GB. Consulta il riepilogo dell'architettura per i dettagli sui file di configurazione del modello (*.yaml).

# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128

# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64

# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40

# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24

# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
YOLOv5 training curves for COCO dataset

Quando applichi YOLOv5 ai tuoi progetti di computer vision, il repository GitHub è il posto giusto per fare domande e condividere risultati con altri sviluppatori e ricercatori. Puoi anche usare Ultralytics Platform per gestire dataset e addestrare modelli senza codice, oppure consultare la pagina Soluzioni per applicazioni concrete.

Domande frequenti#

  • Non per l'inferenza. PyTorch Hub scarica il codice e i pesi al bisogno con torch.hub.load("ultralytics/yolov5", "yolov5s"). Per eseguire gli script train.py, val.py, detect.py e export.py è necessario clonare il repository.

  • yolov5s.pt offre il miglior equilibrio tra velocità e accuratezza per la maggior parte dei progetti. Usa yolov5n.pt per i dispositivi edge, yolov5m.pt o yolov5x.pt quando l'accuratezza è più importante della velocità e le varianti P6, come yolov5s6.pt, per il training a 1280 pixel. Consulta la tabella dei checkpoint preaddestrati per l'elenco completo.

  • Inserisci le immagini e le etichette in formato YOLO in cartelle parallele images/ e labels/, descrivile in un dataset.yaml ed esegui python train.py --data dataset.yaml --weights yolov5s.pt. Il tutorial Addestramento con dati personalizzati illustra ogni passaggio.

  • YOLOv5 è stabile e continua a essere pienamente supportato nel repository autonomo, ma non è più il modello più recente. Per i nuovi progetti, YOLO26 nel pacchetto ultralytics è più veloce, più accurato ed esporta end-to-end senza NMS, usando lo stesso flusso di lavoro pip install ultralytics descritto nella Guida rapida.

Commenti

Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.