Vai al contenuto

YOLO11 . YOLOv8: L'evoluzione del rilevamento di oggetti in tempo reale

L'evoluzione dell'architettura YOLO You Only Look Once) ha costantemente ridefinito i confini della visione artificiale. YOLO11, rilasciata alla fine del 2024, si basa sulle solide fondamenta gettate da YOLOv8 per offrire maggiore efficienza e precisione. Questa analisi esplora i cambiamenti architetturali, le metriche di prestazione e le considerazioni pratiche di implementazione per entrambi i modelli, guidando gli sviluppatori verso la scelta ottimale per le loro applicazioni specifiche.

Panoramica delle metriche di prestazione

La tabella seguente evidenzia i miglioramenti delle prestazioni di YOLO11 YOLOv8 modelli di varie dimensioni. YOLO11 offre YOLO11 una precisione media (mAP) più elevata, pur mantenendo velocità di inferenza competitive, in particolare quando ottimizzato per CPU .

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

Panoramica Architetturale

Entrambi i modelli derivano dalla Ultralytics di progettazione incentrata sull'utente, che privilegia la facilità d'uso senza sacrificare la potenza. Tuttavia, le migliorie architetturali in YOLO11 maggiori capacità di estrazione delle caratteristiche con un minor numero di parametri.

YOLO11: Efficienza raffinata

Autori: Glenn Jocher, Jing Qiu
Organizzazione:Ultralytics
Data: 27/09/2024
GitHub:ultralytics
Documentazione:YOLO11

YOLO11 un'architettura backbone e neck aggiornata che migliora l'integrazione delle funzionalità. Ottimizzando i blocchi Cross Stage Partial (CSP), YOLO11 una significativa riduzione dei FLOP (Floating Point Operations per Second) aumentando al contempo mAP. Questa efficienza lo rende particolarmente adatto ad ambienti con limitazioni come i dispositivi di edge computing.

Scopri di più su YOLO11

YOLOv8: lo standard affidabile

Autori: Glenn Jocher, Ayush Chaurasia, Jing Qiu
Organizzazione:Ultralytics
Data: 10/01/2023
GitHub:ultralytics
Documentazione:YOLOv8

YOLOv8 un modello robusto e altamente versatile. Ha introdotto per primo la testa di rilevamento senza ancoraggio nella Ultralytics , semplificando il processo di addestramento ed eliminando la necessità di calcoli manuali dell'ancoraggio. track sua comprovata track in diversi settori, dall'agricoltura alla produzione, lo rende una scelta sicura e affidabile per i sistemi legacy.

Scopri di più su YOLOv8

Compatibilità architetturale

Sia YOLO11 YOLOv8 supportati in modo nativo dal ultralytics Python . Passare da uno all'altro è spesso semplice come cambiare la stringa del nome del modello (ad esempio, da yolov8n.pt a yolo11n.pt) nel tuo codice, conservando il tuo esistente configurazione del set di dati e percorsi formativi.

Vantaggi principali dei modelli Ultralytics

Indipendentemente dalla versione specifica, la scelta di un Ultralytics offre vantaggi distintivi rispetto ad altri framework.

  1. Ecosistema ben mantenuto: entrambi i modelli beneficiano di uno sviluppo attivo e del supporto della comunità. Gli aggiornamenti regolari garantiscono la compatibilità con le ultime versioni di PyTorch e CUDA, riducendo al minimo il debito tecnico.
  2. Requisiti di memoria: Ultralytics i propri modelli in modo che siano efficienti dal punto di vista della memoria. Rispetto ai rilevatori basati su trasformatori di grandi dimensioni, YOLO richiedono una quantità significativamente inferiore GPU (VRAM) durante l'addestramento, rendendoli accessibili agli sviluppatori che utilizzano hardware di livello consumer.
  3. Versatilità: oltre ai semplici bounding box, entrambe le architetture supportano la segmentazione delle istanze, la stima della posa, OBB (Oriented Bounding Box) e la classificazione.
  4. Efficienza dell'addestramento: i pesi pre-addestrati sono prontamente disponibili, consentendo un apprendimento trasferibile che riduce drasticamente i tempi di addestramento e il consumo energetico.

Casi d'uso reali

La scelta tra YOLO11 YOLOv8 dipende YOLOv8 dai vincoli specifici dell'ambiente di implementazione.

Dove YOLO11 eccelle

YOLO11 la scelta migliore per le applicazioni edge sensibili alla latenza. Il numero ridotto di parametri e i FLOP inferiori si traducono in un'inferenza più veloce su CPU e processori mobili.

  • Smart Retail: per l'analisi in tempo reale del comportamento dei clienti sui server dei negozi senza GPU dedicate.
  • Immagini riprese da droni: elaborazione di riprese aeree ad alta risoluzione in cui ogni millisecondo di durata della batteria è fondamentale. Il miglioramento del rilevamento di oggetti di piccole dimensioni è fondamentale in questo caso.
  • App mobili: distribuzione tramite CoreML o TFLite su Android iOS Android offre il vantaggio di un'architettura più leggera.

Dove YOLOv8 forte

YOLOv8 ideale per flussi di lavoro consolidati in cui la coerenza è fondamentale.

  • Automazione industriale: nelle fabbriche già standardizzate su YOLOv8 il controllo qualità, continuare con v8 evita la necessità di una nuova convalida dell'intera pipeline.
  • Ricerca accademica: in quanto base di riferimento altamente citata, YOLOv8 un eccellente punto di riferimento per il confronto tra le nuove architetture innovative.

Facilità d'uso e implementazione

Una delle caratteristiche distintive Ultralytics è l'API unificata. Gli sviluppatori possono addestrare, convalidare e implementare entrambi i modelli utilizzando una sintassi identica.

from ultralytics import YOLO

# Load a model (switch 'yolo11n.pt' to 'yolov8n.pt' to use v8)
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a local image
results = model("path/to/image.jpg")

# Export to ONNX for deployment
path = model.export(format="onnx")

Questa semplicità si estende all'interfaccia della riga di comando (CLI), consentendo una prototipazione rapida senza scrivere una sola riga di Python.

# Train YOLO11n
yolo train model=yolo11n.pt data=coco8.yaml epochs=50 imgsz=640

# Train YOLOv8n
yolo train model=yolov8n.pt data=coco8.yaml epochs=50 imgsz=640

Conclusione

Entrambi YOLO11 e YOLOv8 rappresentano il massimo della tecnologia di rilevamento degli oggetti in tempo reale. YOLOv8 rimane uno strumento affidabile e versatile, perfetto per applicazioni generiche. Tuttavia, YOLO11 spinge ulteriormente i limiti con un'efficienza ottimizzata, rendendolo il punto di partenza consigliato per i nuovi progetti, in particolare quelli che mirano ai dispositivi edge o che richiedono il massimo rapporto possibile tra precisione e potenza di calcolo.

Agli sviluppatori che cercano prestazioni all'avanguardia e un'architettura NMS, consigliamo anche di provare il nuovo YOLO26. Questo prodotto combina le migliori caratteristiche delle generazioni precedenti con un design end-to-end che semplifica ulteriormente l'implementazione.

Esplora altri modelli

  • YOLO26: l'ultimo modello all'avanguardia con rilevamento end-to-end NMS e CPU più veloce del 43%.
  • RT-DETR: un modello basato su trasformatori che offre un'elevata precisione, ideale quando la velocità di inferenza è secondaria rispetto alla precisione.
  • SAM : Meta's Segment Anything Model, perfetto per attività di segmentazione zero-shot in cui i dati di addestramento sono scarsi.

Commenti