Ultralytics YOLO27:
Get Started

Scopri 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 la scelta ideale per diverse attività di rilevamento degli oggetti in un'ampia gamma di applicazioni.

Grafici di confronto delle prestazioni di YOLOv8



Guarda: Panoramica del modello Ultralytics YOLOv8
Prova sulla Ultralytics Platform

Esplora ed esegui i modelli YOLOv8 direttamente sulla piattaforma Ultralytics.

Caratteristiche principali di YOLOv8#

  • Architetture avanzate di backbone e neck: YOLOv8 utilizza architetture di backbone e neck all'avanguardia, con conseguenti miglioramenti nelle prestazioni di estrazione delle caratteristiche e rilevamento degli oggetti.
  • Head Ultralytics split senza anchor: YOLOv8 adotta una head Ultralytics split senza anchor, che contribuisce a una maggiore precisione e a un processo di rilevamento più efficiente rispetto agli approcci basati su anchor.
  • Compromesso ottimizzato tra precisione e velocità: Puntando a mantenere un equilibrio ottimale tra precisione e velocità, YOLOv8 è adatto alle attività di rilevamento degli oggetti in tempo reale in diversi ambiti applicativi.
  • Varietà di modelli pretrained: YOLOv8 offre una gamma 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 requisiti diversi, dal rilevamento degli oggetti ad attività più complesse come la segmentazione delle istanze, la classificazione, il rilevamento della posa/dei keypoint e il rilevamento degli oggetti orientati.

Ogni variante della serie YOLOv8 è ottimizzata per la relativa attività, garantendo prestazioni e precisione 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.

ModelloNomi dei fileAttivitàAddestramentoValidazioneInferenzaEsporta
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-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptClassificazione✅✅✅✅
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPose/Keypoint✅✅✅✅
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptRilevamento 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, che la rendono adatta a numerose applicazioni di computer vision.

Metriche di prestazione#

Prestazioni

Consulta la documentazione sul rilevamento per esempi d'uso di questi modelli addestrati su COCO, che includono 80 classi preaddestrate.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
A100 TensorRT
(ms)
parametri
(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.1
YOLOv8x64053.9479.13.5368.2257.8

Esempi di utilizzo di YOLOv8#

Questo esempio presenta semplici procedure di addestramento e inferenza con YOLOv8. Per la documentazione completa su queste e altre modalità, consulta le pagine della documentazione Predict, Train, Val ed Export.

Nota: l'esempio seguente riguarda i modelli YOLOv8 Detect per il rilevamento degli oggetti. Per le altre attività supportate, consulta la documentazione Segment, Classify, Pose e OBB.

Esempio

I modelli *.pt preaddestrati con PyTorch e i file di configurazione *.yaml possono essere passati alla classe YOLO() per creare un'istanza del modello in Python:

from ultralytics import YOLO

# Carica un modello YOLOv8n pretrained su COCO
model = YOLO("yolov8n.pt")

# Visualizza le informazioni sul modello (facoltativo)
model.info()

# Addestra il modello sul dataset di esempio COCO8 per 100 epoche
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Esegui l'inferenza con il modello YOLOv8n sull'immagine 'bus.jpg'
results = model("path/to/bus.jpg")

Citazioni e ringraziamenti#

Pubblicazione di Ultralytics YOLOv8

Ultralytics non ha pubblicato un articolo di ricerca formale su YOLOv8, data la rapida evoluzione dei modelli. Ci concentriamo sul progresso della tecnologia e sulla facilità d'uso, anziché produrre documentazione statica. Per informazioni aggiornate sull'architettura, le funzionalità e l'utilizzo di YOLO, consulta il nostro repository GitHub e la documentazione.

Se utilizzi il modello YOLOv8 o qualsiasi altro software di questo repository nel tuo lavoro, citalo usando 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}
}

Il DOI è in attesa e verrà aggiunto alla citazione non appena sarà disponibile. I modelli YOLOv8 sono distribuiti con licenza AGPL-3.0 e Enterprise.

Domande frequenti#

  • 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 head Ultralytics split senza anchor, architetture di backbone e neck all'avanguardia e un compromesso ottimizzato tra precisione e velocità, che lo rende ideale per diverse applicazioni. Per maggiori dettagli, consulta le sezioni Panoramica e Caratteristiche principali.

  • YOLOv8 supporta un'ampia gamma di attività di computer vision, tra cui il rilevamento degli oggetti, la segmentazione delle istanze, la classificazione, il rilevamento della posa/dei keypoint e il rilevamento degli oggetti orientati. Ogni variante del modello è ottimizzata per la propria attività specifica ed è compatibile con diverse modalità operative, come Inferenza, Validazione, Addestramento ed Esportazione. Per maggiori 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 un mAP (precisione media) di 37.3 sul dataset COCO e una velocità di 0.99 ms su A100 TensorRT. Nella sezione Metriche di prestazione trovi metriche dettagliate per ogni variante del modello su diverse attività e dataset.

  • Puoi addestrare un modello YOLOv8 usando Python oppure CLI. Di seguito trovi esempi di addestramento per 100 epoche sul dataset COCO8, con un modello YOLOv8 pretrained su COCO:

    Esempio
    from ultralytics import YOLO
    
    # Carica un modello YOLOv8n pretrained su COCO
    model = YOLO("yolov8n.pt")
    
    # Addestra il modello sul dataset di esempio COCO8 per 100 epoche
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Per maggiori dettagli, consulta la documentazione sull'addestramento.

  • Sì, puoi eseguire benchmark dei modelli YOLOv8 per valutarne velocità e precisione in diversi formati di esportazione. Puoi usare PyTorch, ONNX, TensorRT e altri strumenti per i benchmark. Di seguito trovi comandi di esempio per eseguire benchmark con Python e CLI:

    Esempio
    from ultralytics.utils.benchmarks import benchmark
    
    # Esegui il benchmark su GPU
    benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)

    Per ulteriori informazioni, consulta la sezione Metriche di prestazione.

Commenti