Ultralytics YOLO27:
Get Started

Guida rapida a YOLOv5 🚀#

Inizia il tuo viaggio nel dinamico mondo del rilevamento degli oggetti in tempo reale con Ultralytics YOLOv5! Questa guida è pensata per offrire un punto di partenza completo agli appassionati di IA e ai professionisti che vogliono padroneggiare YOLOv5. Dalla configurazione iniziale alle tecniche di addestramento avanzate, ti accompagniamo in ogni fase. Al termine della guida avrai le conoscenze necessarie per integrare YOLOv5 nei tuoi progetti con sicurezza, usando metodi all'avanguardia di deep learning. Accendiamo i motori e partiamo alla scoperta di YOLOv5!

Installazione#

Preparati al lancio clonando il repository di YOLOv5 e configurando l'ambiente. In questo modo ti assicuri di installare tutti i requisiti necessari. Verifica di avere Python>=3.8.0 e PyTorch>=1.8 pronti per il decollo. Questi strumenti fondamentali sono essenziali per eseguire YOLOv5 in modo efficace.

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

Inferenza con PyTorch Hub#

Scopri la semplicità dell'inferenza di YOLOv5 con PyTorch Hub, che scarica senza complicazioni i modelli dall'ultima release di YOLOv5. Questo metodo sfrutta la potenza di PyTorch per caricare ed eseguire facilmente i modelli, semplificando la generazione di previsioni.

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 un'inferenza versatile su varie origini. Recupera automaticamente i modelli dall'ultima release di YOLOv5 e salva facilmente i risultati. Questo script è ideale per l'uso da riga di comando e per integrare YOLOv5 in sistemi più ampi; supporta input come 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

In conclusione, YOLOv5 non è solo uno strumento all'avanguardia per il rilevamento degli oggetti, ma anche una dimostrazione del potenziale del machine learning nel trasformare il modo in cui interagiamo con il mondo grazie alla comprensione visiva. Mentre avanzi in questa guida e inizi ad applicare YOLOv5 ai tuoi progetti, ricorda che sei in prima linea in una rivoluzione tecnologica e puoi realizzare risultati straordinari nella visione artificiale. Se desideri ulteriori approfondimenti o supporto da altri innovatori, ti invitiamo a visitare il nostro repository GitHub, sede di una vivace community di sviluppatori e ricercatori. Scopri altre risorse come Ultralytics Platform, per gestire dataset e addestrare modelli senza scrivere codice, oppure visita la pagina Soluzioni per trovare applicazioni concrete e ispirazione. Continua a esplorare e innovare, e goditi le meraviglie di YOLOv5. Buon rilevamento! 🌠🔍

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 indipendente, ma non è più il modello più recente. Per i nuovi progetti, YOLO26 nel pacchetto ultralytics è più veloce, più accurato ed esegue l'esportazione end-to-end senza NMS, usando lo stesso flusso di lavoro pip install ultralytics descritto nella guida rapida.

Commenti