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

Watch: Ultralytics YOLOv8 Model Overview
Esplora ed esegui i modelli YOLOv8 direttamente su Ultralytics Platform.
Caratteristiche principali di YOLOv8#
- Architetture avanzate di backbone e neck: YOLOv8 impiega architetture di backbone e neck all'avanguardia, che garantiscono prestazioni migliori nell'estrazione delle caratteristiche e nell'object detection.
- Ultralytics Head split senza ancoraggi: YOLOv8 adotta una Ultralytics head split senza ancoraggi, che contribuisce a una migliore precisione e a un processo di rilevamento più efficiente rispetto agli approcci basati su ancoraggi.
- Compromesso ottimizzato tra precisione e velocità: Con un focus sul mantenimento di un equilibrio ottimale tra precisione e velocità, YOLOv8 è adatto per attività di object detection in tempo reale in diversi settori applicativi.
- Varietà di modelli preaddestrati: YOLOv8 offre una gamma di modelli preaddestrati per soddisfare varie attività e requisiti di prestazioni, rendendo più semplice trovare il modello giusto per il tuo caso d'uso specifico.
Compiti e modalità supportati#
La serie YOLOv8 offre una gamma diversificata di modelli, ciascuno specializzato per attività specifiche nella computer vision. Questi modelli sono progettati per soddisfare varie esigenze, dall'object detection a compiti più complessi come l'instance segmentation, la classificazione, il rilevamento di pose/keypoints e l'object detection orientata.
Ogni variante della serie YOLOv8 è ottimizzata per la rispettiva attività, garantendo elevate prestazioni e precisione. Inoltre, questi modelli sono compatibili con varie modalità operative tra cui Inference, Validation, Training e Export, facilitandone l'uso nelle diverse fasi di sviluppo e deployment.
| Modello | Nomi file | Compito | Addestramento | Validazione | 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 di 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/Punti chiave | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | Rilevamento orientato | ✅ | ✅ | ✅ | ✅ |
Questa tabella fornisce una panoramica delle varianti dei modelli YOLOv8, evidenziandone l'applicabilità in attività specifiche e la compatibilità con varie modalità operative come Inference, Validation, Training e Export. Mostra la versatilità e la robustezza della serie YOLOv8, rendendoli adatti a una varietà di applicazioni nella computer vision.
Metriche di performance#
Vedi la Documentazione sul rilevamento per esempi d'uso con questi modelli addestrati su COCO, che includono 80 classi preaddestrate.
Esempi di utilizzo di YOLOv8#
Questo esempio fornisce semplici esempi di addestramento e inferenza con YOLOv8. Per la documentazione completa su queste e altre modalità, consulta le pagine di documentazione Predict, Train, Val e Export.
Nota che l'esempio seguente è per i modelli YOLOv8 Detect per l'object detection. Per ulteriori attività supportate, consulta la documentazione di Segment, Classify, Pose e OBB.
I modelli preaddestrati in PyTorch *.pt 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 riconoscimenti#
Ultralytics non ha pubblicato un articolo di ricerca formale per YOLOv8 a causa della natura in rapida evoluzione dei modelli. Ci concentriamo sul far avanzare la tecnologia e renderla più semplice da usare, piuttosto che produrre documentazione statica. Per le informazioni più aggiornate sull'architettura, le funzionalità e l'utilizzo di YOLO, fai riferimento al nostro repository GitHub e alla documentazione.
Se utilizzi il modello YOLOv8 o qualsiasi altro software di questo repository nel tuo lavoro, ti preghiamo di citarlo utilizzando il seguente formato:
@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}
}Si prega di notare che il DOI è in fase di definizione e verrà aggiunto alla citazione non appena disponibile. I modelli YOLOv8 sono forniti con licenze AGPL-3.0 e Enterprise.
FAQ#
YOLOv8 è progettato per migliorare le prestazioni di object detection in tempo reale con funzionalità avanzate. A differenza delle versioni precedenti, YOLOv8 incorpora una testa Ultralytics divisa senza ancoraggi (anchor-free split Ultralytics head), architetture di backbone e neck all'avanguardia e offre un compromesso ottimizzato tra precisione e velocità, rendendolo ideale per svariate applicazioni. Per maggiori dettagli, controlla le sezioni Overview e Key Features.
YOLOv8 supporta un'ampia gamma di attività di computer vision, tra cui object detection, instance segmentation, rilevamento di pose/keypoints, object detection orientata e classificazione. Ciascuna variante di modello è ottimizzata per la sua specifica attività e compatibile con varie modalità operative come Inference, Validation, Training e Export. Fai riferimento alla sezione Supported Tasks and Modes per ulteriori informazioni.
I modelli YOLOv8 raggiungono prestazioni all'avanguardia su vari dataset di benchmark. Ad esempio, il modello YOLOv8n raggiunge un mAP (mean Average Precision) di 37.3 sul dataset COCO e una velocità di 0.99 ms su A100 TensorRT. Metriche di performance dettagliate per ciascuna variante di modello su diversi task e dataset possono essere trovate nella sezione Performance Metrics.
L'addestramento di un modello YOLOv8 può essere eseguito utilizzando Python o la CLI. Di seguito sono riportati esempi per l'addestramento di un modello utilizzando un modello YOLOv8 preaddestrato su COCO sul 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, visita la documentazione Training.
Sì, i modelli YOLOv8 possono essere testati per le prestazioni in termini di velocità e precisione su vari formati di esportazione. Puoi utilizzare PyTorch, ONNX, TensorRT e altro per il benchmarking. Di seguito sono riportati esempi di comandi per il benchmarking utilizzando Python e la 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 Performance Metrics.