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 diverse attività di object detection in una vasta gamma di applicazioni.

Watch: Ultralytics YOLOv8 Model Overview
Esplora ed esegui i modelli YOLOv8 direttamente sulla Ultralytics Platform.
Caratteristiche principali di YOLOv8
- Architetture Backbone e Neck avanzate: YOLOv8 impiega architetture backbone e neck allo stato dell'arte, che portano a prestazioni migliori nell'feature extraction e nell'object detection.
- Head di Ultralytics split senza anchor: YOLOv8 adotta una head di Ultralytics split senza anchor (anchor-free), che contribuisce a una migliore accuratezza e a un processo di rilevamento più efficiente rispetto agli approcci basati su anchor.
- Compromesso accuratezza-velocità ottimizzato: Con un focus sul mantenimento di un equilibrio ottimale tra accuratezza e velocità, YOLOv8 è adatto per attività di object detection in tempo reale in diverse aree applicative.
- Varietà di modelli preaddestrati: YOLOv8 offre una gamma di modelli preaddestrati per soddisfare varie attività e requisiti di prestazioni, rendendo più facile trovare il modello giusto per il tuo caso d'uso specifico.
Attività e modalità supportate
La serie YOLOv8 offre una vasta gamma di modelli, ognuno specializzato in compiti specifici nella computer vision. Questi modelli sono progettati per rispondere a varie esigenze, dall'object detection a compiti più complessi come l'instance segmentation, il rilevamento di pose/keypoints, l'object detection orientato e la classificazione.
Ogni variante della serie YOLOv8 è ottimizzata per il rispettivo compito, garantendo alte prestazioni e accuratezza. Inoltre, questi modelli sono compatibili con varie modalità operative, tra cui Inference, Validation, Training ed Export, facilitandone l'uso in diverse fasi di distribuzione e sviluppo.
| Modello | Nomi file | Attività | Inferenza (Inference) | Validazione | Addestramento | Export |
|---|---|---|---|---|---|---|
| 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-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 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Classificazione | ✅ | ✅ | ✅ | ✅ |
Questa tabella fornisce una panoramica delle varianti dei modelli YOLOv8, evidenziando la loro applicabilità in compiti specifici e la loro compatibilità con varie modalità operative come Inference, Validation, Training ed Export. Mostra la versatilità e la robustezza della serie YOLOv8, rendendoli adatti a una varietà di applicazioni nella computer vision.
Metriche delle prestazioni
Consulta i documenti sul 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 e Export.
Nota che l'esempio qui sotto riguarda i modelli YOLOv8 Detect per il rilevamento di oggetti. Per altre attività supportate, consulta la documentazione di Segment, Classify, OBB e Pose.
PyTorch pretrained *.pt models as well as configuration *.yaml files can be passed to the YOLO() class to create a model instance 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 documento di ricerca formale per YOLOv8 a causa della natura in rapida evoluzione dei modelli. Ci concentriamo sull'avanzamento della tecnologia e sulla semplificazione del suo utilizzo, 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 usando 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}
}Ti preghiamo di notare che il DOI è in sospeso e verrà aggiunto alla citazione non appena sarà disponibile. I modelli YOLOv8 sono forniti con licenze AGPL-3.0 e 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 anchor-free split Ultralytics head, architetture backbone e neck all'avanguardia, e offre un compromesso ottimizzato tra accuratezza e velocità, rendendolo ideale per diverse applicazioni. Per ulteriori dettagli, controlla 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 rilevamento oggetti, segmentazione di istanze, rilevamento pose/keypoint, rilevamento oggetti orientati e classificazione. Ogni variante di modello è ottimizzata per la sua attività specifica e compatibile con varie modalità operative come Inference, Validation, Training e Export. Fai riferimento alla sezione Attività e modalità supportate per maggiori informazioni.
Quali sono le metriche di prestazione per i modelli YOLOv8?
I modelli YOLOv8 raggiungono prestazioni all'avanguardia su vari dataset di benchmark. Ad esempio, il modello YOLOv8n raggiunge una mAP (mean Average Precision) di 37.3 sul dataset 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 dataset si possono trovare nella sezione Metriche di prestazione.
Come posso addestrare un modello YOLOv8?
L'addestramento di un modello YOLOv8 può essere effettuato utilizzando Python o CLI. Di seguito sono riportati esempi per l'addestramento di un modello utilizzando un modello YOLOv8 pre-addestrato su COCO sul dataset 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 accuratezza 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 CLI:
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)Per ulteriori informazioni, consulta la sezione Metriche di prestazione.