Meet YOLO26: next-gen vision AI.

Link to this sectionEsplora Ultralytics YOLOv8#

Link to this sectionPanoramica#

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.

Grafici di confronto delle prestazioni di YOLOv8



Watch: Ultralytics YOLOv8 Model Overview
Prova sulla piattaforma Ultralytics

Esplora ed esegui i modelli YOLOv8 direttamente su Ultralytics Platform.

Link to this sectionCaratteristiche 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.

Link to this sectionCompiti e modalità supportati#

La serie YOLOv8 offre una vasta gamma di modelli, ognuno specializzato per compiti specifici nella visione artificiale. Questi modelli sono progettati per soddisfare vari requisiti, dall'object detection a compiti più complessi come l'instance segmentation, il rilevamento di pose/keypoints, l'object detection orientata e la classificazione.

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.

ModelloNomi fileCompitoInferenzaValidazioneAddestramentoEsportazione
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptRilevamento
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptSegmentazione di istanze
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPosa/Keypoints
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptRilevamento orientato
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptClassificazione

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.

Link to this sectionMetriche di performance#

Performance

Vedi Documentazione Rilevamento per esempi di utilizzo con questi modelli addestrati su COCO, che includono 80 classi pre-addestrate.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

Link to this sectionEsempi 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 riguarda i modelli YOLOv8 Detect per il rilevamento di oggetti. Per ulteriori attività supportate, consulta le pagine di documentazione Segment, Classify, OBB e Pose.

Esempio

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")

Link to this sectionCitazioni e riconoscimenti#

Pubblicazione di Ultralytics YOLOv8

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:

Citazione
@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.

Link to this sectionFAQ#

Link to this sectionCos'è 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.

Link to this sectionCome 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.

Link to this sectionQuali 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.

Link to this sectionCome 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:

Esempio
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.

Link to this sectionPosso 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:

Esempio
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.

Commenti