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 precedenti versioni di YOLO, YOLOv8 ha introdotto nuove funzionalità e ottimizzazioni che lo rendono una scelta ideale per diverse attività di object detection in un'ampia gamma di applicazioni.

Watch: Ultralytics YOLOv8 Model Overview
Esplora ed esegui i modelli YOLOv8 direttamente su Ultralytics Platform.
Caratteristiche principali di YOLOv8#
- Architetture Backbone e Neck avanzate: YOLOv8 impiega architetture backbone e neck all'avanguardia, che portano a prestazioni migliori nell'feature extraction 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 diversa di modelli, ciascuno specializzato per attività specifiche nella visione artificiale. Questi modelli sono progettati per soddisfare varie esigenze, dal rilevamento di oggetti ad attività più complesse come la segmentazione d'istanza, la classificazione, il rilevamento di pose/punti chiave e il rilevamento di oggetti orientati.
Ogni variante della serie YOLOv8 è ottimizzata per il rispettivo compito, garantendo prestazioni e precisione elevate. Inoltre, questi modelli sono compatibili con varie modalità operative, tra cui Inference, Validation, Training e Export, facilitandone l'utilizzo in diverse fasi di distribuzione e sviluppo.
| 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/Keypoints | ✅ | ✅ | ✅ | ✅ |
| 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 compiti specifici e la compatibilità con varie modalità operative come Inference, Validation, Training e Export. Dimostra la versatilità e la robustezza della serie YOLOv8, rendendoli adatti a una varietà di applicazioni nella visione artificiale.
Metriche di performance#
Vedi Documentazione Rilevamento per esempi di utilizzo con questi modelli addestrati su COCO, che includono 80 classi pre-addestrate.
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 ed Export.
Nota che l'esempio seguente è per i modelli YOLOv8 Detect per il rilevamento di oggetti. Per ulteriori attività supportate, consulta la documentazione Segment, Classify, Pose e OBB.
I modelli PyTorch preaddestrati *.pt così come i file di configurazione *.yaml possono essere passati alla classe YOLO() per creare un'istanza di 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 documento di ricerca formale per YOLOv8 a causa della natura in rapida evoluzione dei modelli. Ci concentriamo sull'avanzamento della tecnologia e sul renderla più facile da usare, piuttosto che sulla produzione di 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}
}Tieni presente che il DOI è in sospeso e verrà aggiunto alla citazione non appena sarà disponibile. I modelli YOLOv8 sono forniti con licenze AGPL-3.0 ed Enterprise.
FAQ#
Cos'è YOLOv8 e in che modo differisce dalle versioni precedenti di YOLO?#
YOLOv8 è progettato per migliorare le prestazioni di rilevamento oggetti in tempo reale con funzionalità avanzate. A differenza delle versioni precedenti, YOLOv8 incorpora una head Ultralytics split senza ancoraggi, architetture 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 Caratteristiche principali.
Come posso usare YOLOv8 per diverse attività di computer vision?#
YOLOv8 supporta un'ampia gamma di attività di computer vision, tra cui il rilevamento di oggetti, la segmentazione di istanze, il rilevamento di pose/keypoint, il rilevamento di oggetti orientati e la classificazione. Ogni variante del modello è ottimizzata per la sua attività specifica e compatibile con varie modalità operative come Inference, Validation, Training ed Export. Fai riferimento alla sezione Attività e modalità supportate per ulteriori informazioni.
Quali sono le metriche di prestazione per i modelli YOLOv8?#
I modelli YOLOv8 raggiungono prestazioni all'avanguardia su vari set di dati di benchmark. Ad esempio, il modello YOLOv8n raggiunge un mAP (mean Average Precision) di 37.3 sul set di dati COCO e una velocità di 0.99 ms su A100 TensorRT. Le metriche di prestazione dettagliate per ogni variante di modello su diverse attività e set di dati si trovano nella sezione Metriche di prestazione.
Come posso addestrare un modello YOLOv8?#
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 pre-addestrato su COCO sul set di dati COCO8 per 100 epoche:
from 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.
Posso testare le prestazioni dei modelli YOLOv8?#
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:
from 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 di prestazione.