Esplora Ultralytics YOLOv8#
Panoramica#
YOLOv8 è stato rilasciato da Ultralytics il 10 gennaio 2023, offrendo prestazioni all'avanguardia in termini di accuratezza e velocità. Basandosi sui progressi delle versioni precedenti di YOLO, YOLOv8 ha introdotto nuove funzionalità e ottimizzazioni che lo rendono una scelta ideale per le attività di rilevamento degli oggetti in un'ampia gamma di applicazioni.

Watch: Ultralytics YOLOv8 Model Overview
Esplora ed esegui i modelli YOLOv8 direttamente su Ultralytics Platform.
Funzionalità principali di YOLOv8#
- Architetture avanzate di backbone e neck: YOLOv8 utilizza architetture di backbone e neck all'avanguardia, con conseguenti prestazioni migliori nell'estrazione delle caratteristiche e nel rilevamento degli oggetti.
- Testa Ultralytics split senza ancoraggi: YOLOv8 adotta una testa Ultralytics split senza ancoraggi, che contribuisce a una maggiore accuratezza e a un processo di rilevamento più efficiente rispetto agli approcci basati sugli ancoraggi.
- Compromesso accuratezza-velocità ottimizzato: Ponendo l'accento sul mantenimento di un equilibrio ottimale tra accuratezza e velocità, YOLOv8 è adatto alle attività di rilevamento degli oggetti in tempo reale in diversi ambiti applicativi.
- Ampia varietà di modelli pretrained: YOLOv8 offre una serie di modelli pretrained per soddisfare diverse attività e requisiti prestazionali, semplificando la scelta del modello più adatto al tuo caso d'uso specifico.
Attività e modalità supportate#
La serie YOLOv8 offre un'ampia gamma di modelli, ciascuno specializzato in attività specifiche di computer vision. Questi modelli sono progettati per soddisfare diversi requisiti, dal rilevamento degli oggetti ad attività più complesse come la segmentazione delle istanze, la classificazione, il rilevamento della posa/dei keypoint e il rilevamento di oggetti orientati.
Ogni variante della serie YOLOv8 è ottimizzata per la propria attività, garantendo prestazioni e accuratezza elevate. Inoltre, questi modelli sono compatibili con diverse modalità operative, tra cui Inferenza, Validazione, Addestramento ed Esportazione, facilitandone l'uso nelle diverse fasi di sviluppo e distribuzione.
| Modello | Nomi dei file | Attività | Addestramento | Convalida | Inferenza | Esportazione |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | Rilevamento | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | Segmentazione delle istanze | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Classificazione | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | Posa/Keypoint | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | Rilevamento orientato | ✅ | ✅ | ✅ | ✅ |
Questa tabella offre una panoramica delle varianti del modello YOLOv8, evidenziandone l'applicabilità ad attività specifiche e la compatibilità con diverse modalità operative, come Inferenza, Validazione, Addestramento ed Esportazione. Mostra la versatilità e la robustezza della serie YOLOv8, rendendola adatta a numerose applicazioni di computer vision.
Metriche delle prestazioni#
Consulta la documentazione sul rilevamento per esempi di utilizzo con questi modelli addestrati su COCO, che includono 80 classi pretrained.
Esempi di utilizzo di YOLOv8#
Questo esempio fornisce semplici esempi di addestramento e inferenza di YOLOv8. Per la documentazione completa su queste e altre modalità, consulta le pagine della documentazione Predict, Train, Val ed Export.
L'esempio seguente riguarda i modelli YOLOv8 Detect per il rilevamento degli oggetti. Per ulteriori attività supportate, consulta la documentazione di Segment, Classify, Pose e OBB.
I modelli *.pt preaddestrati con PyTorch, così come i file di configurazione *.yaml, possono essere passati alla classe YOLO() per creare un'istanza del modello in Python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.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 YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Citazioni e ringraziamenti#
Ultralytics non ha pubblicato un articolo di ricerca formale su YOLOv8 a causa della rapida evoluzione dei modelli. Ci concentriamo sul progresso della tecnologia e sulla sua maggiore facilità d'uso, anziché produrre documentazione statica. Per informazioni sempre aggiornate sull'architettura, sulle funzionalità e sull'utilizzo di YOLO, consulta il nostro repository GitHub e la nostra documentazione.
Se utilizzi il modello YOLOv8 o qualsiasi altro software di questo repository nel tuo lavoro, citalo utilizzando il formato seguente:
@software{yolov8_ultralytics,
author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
title = {Ultralytics YOLOv8},
version = {8.0.0},
year = {2023},
url = {https://github.com/ultralytics/ultralytics},
orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
license = {AGPL-3.0}
}Tieni presente che il DOI è in attesa e verrà aggiunto alla citazione non appena sarà disponibile. I modelli YOLOv8 sono forniti con licenze AGPL-3.0 ed Enterprise.
FAQ#
YOLOv8 è progettato per migliorare le prestazioni del rilevamento degli oggetti in tempo reale grazie a funzionalità avanzate. A differenza delle versioni precedenti, YOLOv8 integra una testa Ultralytics split senza ancoraggi, architetture di backbone e neck all'avanguardia e offre un compromesso ottimizzato tra accuratezza e velocità, rendendolo ideale per diverse applicazioni. Per ulteriori dettagli, consulta le sezioni Panoramica e Funzionalità principali.
YOLOv8 supporta un'ampia gamma di attività di computer vision, tra cui il rilevamento degli oggetti, la segmentazione delle istanze, il rilevamento della posa/dei keypoint, il rilevamento di oggetti orientati e la classificazione. Ogni variante del modello è ottimizzata per la propria attività specifica ed è compatibile con diverse modalità operative, come Inferenza, Validazione, Addestramento ed Esportazione. Per ulteriori informazioni, consulta la sezione Attività e modalità supportate.
I modelli YOLOv8 raggiungono prestazioni all'avanguardia su diversi dataset di benchmark. Ad esempio, il modello YOLOv8n raggiunge una mAP (precisione media media) di 37,3 sul dataset COCO e una velocità di 0,99 ms su A100 TensorRT. Metriche dettagliate delle prestazioni per ogni variante del modello, su diverse attività e dataset, sono disponibili nella sezione Metriche delle prestazioni.
L'addestramento di un modello YOLOv8 può essere eseguito utilizzando Python o CLI. Di seguito sono riportati esempi di addestramento di un modello YOLOv8 pretrained su COCO utilizzando il dataset COCO8 per 100 epoche:
Esempiofrom ultralytics import YOLO # Load a COCO-pretrained YOLOv8n model model = YOLO("yolov8n.pt") # Train the model on the COCO8 example dataset for 100 epochs results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Per ulteriori dettagli, consulta la documentazione sull'addestramento.
Sì, puoi eseguire benchmark sui modelli YOLOv8 per valutarne velocità e accuratezza in diversi formati di esportazione. Per i benchmark puoi utilizzare PyTorch, ONNX, TensorRT e altri strumenti. Di seguito sono riportati comandi di esempio per eseguire benchmark con Python e CLI:
Esempiofrom ultralytics.utils.benchmarks import benchmark # Benchmark on GPU benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)Per ulteriori informazioni, consulta la sezione Metriche delle prestazioni.