Guida rapida di YOLOv5 🚀
Intraprendi il tuo viaggio nel regno dinamico del rilevamento di oggetti in tempo reale con Ultralytics YOLOv5! Questa guida è realizzata per servire come punto di partenza completo per gli appassionati di IA e i professionisti che mirano a padroneggiare YOLOv5. Dalla configurazione iniziale alle tecniche di training avanzate, ti abbiamo coperto. Alla fine di questa guida, avrai le conoscenze per implementare YOLOv5 nei tuoi progetti con sicurezza utilizzando metodi di deep learning all'avanguardia. Accendiamo i motori e lanciamoci in YOLOv5!
Installa
Preparati al lancio clonando il repository YOLOv5 e predisponendo l'ambiente. Ciò garantisce che tutti i requisiti necessari siano installati. Verifica di avere Python>=3.8.0 e PyTorch>=1.8 pronti al 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 dependencies
Inferenza con PyTorch Hub
Sperimenta la semplicità dell'inferenza di YOLOv5 PyTorch Hub, dove i modelli vengono scaricati senza problemi dall'ultima release di YOLOv5. Questo metodo sfrutta la potenza di PyTorch per un facile caricamento ed esecuzione del modello, rendendo semplice ottenere previsioni.
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
Harness detect.py
per versatile inferenza su varie fonti. Recupera automaticamente models dall'ultima versione di YOLOv5 release e salva i risultati con facilità. Questo script è ideale per l'uso da riga di comando e per l'integrazione di 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 stream
Training
Replica YOLOv5 Dataset COCO benchmark seguendo le istruzioni per l'addestramento sotto. Il necessario models e datasets (come coco128.yaml
o la versione completa coco.yaml
) vengono estratti direttamente dall'ultima versione di YOLOv5 release. Addestramento di YOLOv5n/s/m/l/x su una V100 GPU dovrebbe richiedere in genere rispettivamente 1/2/4/6/8 giorni (si noti che Addestramento multi-GPU le configurazioni funzionano più velocemente). Massimizza le prestazioni utilizzando il più alto possibile --batch-size
oppure usa --batch-size -1
per YOLOv5 AutoBatch funzionalità che trova automaticamente l'elemento ottimale dimensione del batch. Le seguenti dimensioni batch sono ideali per le GPU V100-16GB. Consulta la nostra guida alla configurazione per 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
In conclusione, YOLOv5 non è solo uno strumento all'avanguardia per il rilevamento di oggetti, ma anche una testimonianza della potenza del machine learning nel trasformare il modo in cui interagiamo con il mondo attraverso la 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, in grado di realizzare imprese straordinarie nella computer vision. Se hai bisogno di ulteriori approfondimenti o supporto da altri visionari, sei invitato al nostro repository GitHub, sede di una fiorente comunità di sviluppatori e ricercatori. Esplora ulteriori risorse come Ultralytics HUB per la gestione dei set di dati e l'addestramento dei modelli senza codice, oppure consulta la nostra pagina Solutions per applicazioni reali e ispirazione. Continua a esplorare, continua a innovare e goditi le meraviglie di YOLOv5. Buona rilevazione! 🌠🔍