Guida rapida a YOLOv5 🚀#
Imbarcati nel tuo viaggio nel regno dinamico del rilevamento di oggetti in tempo reale con Ultralytics YOLOv5! Questa guida è creata per fungere da punto di partenza completo per appassionati di IA e professionisti che mirano a padroneggiare YOLOv5. Dalla configurazione iniziale alle tecniche di training avanzate, ti copriamo le spalle. Entro la fine di questa guida, avrai le conoscenze per implementare con sicurezza YOLOv5 nei tuoi progetti utilizzando metodi di deep learning all'avanguardia. Accendiamo i motori e voliamo in YOLOv5!
Installa#
Preparati al lancio clonando il repository YOLOv5 e configurando l'ambiente. Questo assicura che tutti i requisiti necessari siano installati. Controlla di avere Python>=3.8.0 e PyTorch>=1.8 pronti per il decollo. Questi strumenti fondamentali sono cruciali per eseguire YOLOv5 in modo efficace.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesInferenza con PyTorch Hub#
Sperimenta la semplicità dell'inferenza con PyTorch Hub di YOLOv5, dove i modelli vengono scaricati senza problemi dall'ultima release di YOLOv5. Questo metodo sfrutta la potenza di PyTorch per facilitare il caricamento e l'esecuzione dei modelli, rendendo immediato l'ottenimento delle predizioni.
import torch
# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Can be 'yolov5n' - 'yolov5x6', or 'custom'
# Inference on images
img = "https://ultralytics.com/images/zidane.jpg" # Can be a file, Path, PIL, OpenCV, numpy, or list of images
# Run inference
results = model(img)
# Display results
results.print() # Other options: .show(), .save(), .crop(), .pandas(), etc. Explore these in the Predict mode documentation.Inferenza con detect.py#
Sfrutta detect.py per un'versatile inferenza su varie fonti. Recupera automaticamente i modelli dall'ultima release di YOLOv5 e salva i risultati con facilità. Questo script è ideale per l'uso da riga di comando e per integrare YOLOv5 in sistemi più grandi, supportando input come immagini, video, directory, webcam e persino streaming 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 streamAddestramento#
Replica i benchmark del dataset COCO di YOLOv5 seguendo le istruzioni di training qui sotto. I modelli e i dataset necessari (come coco128.yaml o il completo coco.yaml) vengono prelevati direttamente dall'ultima release di YOLOv5. L'addestramento di YOLOv5n/s/m/l/x su una GPU V100 richiede tipicamente 1/2/4/6/8 giorni rispettivamente (nota che le configurazioni di training multi-GPU funzionano più velocemente). Massimizza le prestazioni usando il più alto --batch-size possibile oppure usa --batch-size -1 per la funzione AutoBatch di YOLOv5, che trova automaticamente la dimensione del batch ottimale. Le seguenti dimensioni di batch sono ideali per le GPU V100-16GB. Fai riferimento alla nostra guida alla configurazione per i dettagli sui file di configurazione dei modelli (*.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
Per concludere, YOLOv5 non è solo uno strumento all'avanguardia per il rilevamento di oggetti, ma anche una testimonianza del potere del machine learning nel trasformare il modo in cui interagiamo con il mondo attraverso la comprensione visiva. Man mano che procedi in questa guida e inizi ad applicare YOLOv5 ai tuoi progetti, ricorda che sei in prima linea in una rivoluzione tecnologica, capace di ottenere risultati straordinari nella computer vision. Se hai bisogno di ulteriori approfondimenti o supporto da parte di altri visionari, sei invitato nel nostro repository GitHub, casa di una fiorente comunità di sviluppatori e ricercatori. Esplora ulteriori risorse come la Piattaforma Ultralytics per la gestione dei dataset e l'addestramento dei modelli senza codice, o dai un'occhiata alla nostra pagina Soluzioni per applicazioni reali e ispirazione. Continua a esplorare, continua a innovare e goditi le meraviglie di YOLOv5. Buona rilevazione! 🌠🔍