Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Get Started

YOLOv8 vs YOLOv10#

Il rilevamento degli oggetti in tempo reale si è evoluto rapidamente. Per sviluppatori e ricercatori che vogliono integrare nelle proprie pipeline i modelli di computer vision più efficienti e precisi, confrontare le architetture principali è essenziale. Questa guida confronta Ultralytics YOLOv8 e YOLOv10, esaminandone le differenze architetturali, le metriche prestazionali e gli scenari di deployment ideali, per aiutarti a prendere una decisione consapevole per il tuo prossimo progetto di IA.

Panoramica del modello: YOLOv8#

Introdotto come un importante passo avanti nella linea YOLO, YOLOv8 ha stabilito un nuovo standard per un framework unificato e versatile. È stato progettato da zero per supportare numerose attività oltre alle normali bounding box, diventando uno strumento flessibile per la computer vision moderna.

Dettagli di YOLOv8:

Architettura e punti di forza#

YOLOv8 ha introdotto una testa di rilevamento senza anchor e un backbone CSPDarknet rinnovato, migliorando notevolmente sia la precisione sia la latenza di inferenza. Eliminando le anchor box, il modello riduce il numero di previsioni delle box e accelera la soppressione non massima (NMS) durante la post-elaborazione.

Uno dei vantaggi principali di YOLOv8 è la sua versatilità. Mentre molti modelli si concentrano esclusivamente sul rilevamento degli oggetti, YOLOv8 supporta nativamente la segmentazione delle istanze, la classificazione delle immagini, la stima della posa e le bounding box orientate (OBB). Questo lo rende adatto alle pipeline a più fasi che richiedono contemporaneamente diversi tipi di comprensione visiva. Richiede inoltre meno memoria per l'addestramento rispetto alle architetture basate su Transformer come RT-DETR, consentendo ai ricercatori di addestrare modelli di grandi dimensioni su GPU consumer standard.

Panoramica del modello: YOLOv10#

Sviluppato dai ricercatori della Tsinghua University, YOLOv10 si proponeva di affrontare uno dei colli di bottiglia più persistenti della famiglia YOLO: la dipendenza dalla post-elaborazione NMS.

Dettagli su YOLOv10:

Architettura e punti di forza#

L'innovazione principale di YOLOv10 è la strategia assegnazioni duali coerenti, che consente l'addestramento senza NMS e il deployment end-to-end. Eliminando la fase NMS, YOLOv10 riduce la latenza di inferenza, soprattutto sui dispositivi edge, dove le operazioni di post-elaborazione possono essere onerose dal punto di vista computazionale.

Inoltre, YOLOv10 adotta una progettazione olistica del modello, guidata dall'efficienza e dalla precisione, regolando attentamente il sovraccarico computazionale di ogni livello. Il risultato è un modello che richiede meno parametri e FLOP, pur raggiungendo una precisione media (mAP) competitiva. È un'ottima opzione per i casi d'uso che richiedono una latenza minima nelle attività di puro rilevamento.

Rilevamento end-to-end

La rimozione della NMS in YOLOv10 semplifica l'esportazione verso framework come OpenVINO e TensorRT, poiché l'intero modello può essere compilato come un unico grafo senza livelli di post-elaborazione personalizzati.

Scopri di più su YOLOv10

Confronto delle prestazioni e delle metriche#

Nel confronto tra queste due architetture è fondamentale valutare i compromessi tra numero di parametri, FLOPs e precisione. Di seguito trovi il confronto esatto delle metriche di prestazione sul dataset COCO.

Modellodimensione
(pixel)
mAPval
50-95
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

Sebbene in questa tabella YOLOv10 raggiunga un mAP superiore con meno parametri a ogni scala, YOLOv8 offre un ecosistema più maturo e un supporto più ampio alle attività, risultando in generale più affidabile negli ambienti di produzione che richiedono più delle sole bounding box.

Ecosistema e metodologia di addestramento#

Nei flussi di lavoro ML moderni, spesso la vera differenza la fa l'ecosistema che circonda l'architettura. Scegliere un modello Ultralytics come YOLOv8 offre facilità d'uso e un'esperienza di sviluppo coerente.

Con un intuitivo SDK Python, gli sviluppatori possono gestire addestramento, convalida e deployment con il minimo sforzo. L'ecosistema Ultralytics è sottoposto a manutenzione attiva e offre aggiornamenti frequenti, documentazione completa sull'ottimizzazione degli iperparametri e un solido supporto della community su piattaforme come Discord e GitHub.

Esempio di codice: addestramento semplificato#

L'API Python di Ultralytics semplifica l'inizializzazione, l'addestramento e la convalida di entrambi i modelli. Nota che lo stesso flusso di lavoro si applica indipendentemente dall'architettura sottostante.

from ultralytics import YOLO

# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")

# Train the model efficiently with automated learning rate scheduling
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device=0,  # optimized CUDA memory usage
    batch=16,
)

# Validate the model to check mAP metrics
metrics = model.val()
print(f"Validation mAP: {metrics.box.map}")

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

Casi d'uso e consigli#

La scelta tra YOLOv8 e YOLOv10 dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle tue preferenze in termini di ecosistema.

Quando scegliere YOLOv8#

YOLOv8 è un'ottima scelta per:

  • Distribuzione versatile multi-task: progetti che richiedono un modello collaudato per rilevamento, segmentazione, classificazione e stima della posa nell'ecosistema Ultralytics.
  • Sistemi di produzione consolidati: ambienti di produzione esistenti già basati sull’architettura YOLOv8, con pipeline di distribuzione stabili e ben testate.
  • Ampio supporto della community e dell’ecosistema: applicazioni che traggono vantaggio dagli estesi tutorial di YOLOv8, dalle integrazioni di terze parti e dalle risorse della community attiva.

Quando scegliere YOLOv10#

YOLOv10 è consigliato per:

  • Rilevamento in tempo reale senza NMS: applicazioni che traggono vantaggio dal rilevamento end-to-end senza soppressione non massima, riducendo la complessità della distribuzione.
  • Compromesso equilibrato tra velocità e precisione: progetti che richiedono un buon equilibrio tra velocità di inferenza e precisione di rilevamento con modelli di diverse dimensioni.
  • Applicazioni con latenza costante: scenari di distribuzione in cui i tempi di inferenza prevedibili sono fondamentali, ad esempio nella robotica o nei sistemi autonomi.

Quando scegliere Ultralytics (YOLO26)#

Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la combinazione migliore di prestazioni ed esperienza per gli sviluppatori:

  • Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
  • Ambienti senza GPU: Dispositivi privi di accelerazione GPU dedicata, sui quali l’inferenza CPU di YOLO26n, fino al 43% più veloce di YOLO11n, offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: scenari impegnativi come le immagini aeree da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti minuscoli.

Il futuro: fare un passo avanti con YOLO26#

YOLOv8 è un modello versatile e completo, mentre YOLOv10 offre spunti utili sulle architetture senza NMS; tuttavia, il settore è andato avanti. Per ottenere il miglior equilibrio tra velocità, precisione e semplicità di deployment, Ultralytics consiglia YOLO26 per i nuovi progetti.

Rilasciato a gennaio 2026, YOLO26 combina i punti di forza dei suoi predecessori con diverse nuove funzionalità:

  • Design end-to-end senza NMS: basandosi sull'addestramento senza NMS introdotto nei modelli YOLO da YOLOv10, YOLO26 offre un'inferenza opzionale senza NMS (nms=False) per una distribuzione più veloce e semplice.
  • Rimozione della DFL: eliminare la Distribution Focal Loss semplifica l'esportazione del modello verso CoreML e i dispositivi edge.
  • Ottimizzatore MuSGD: ispirato all'addestramento dei modelli linguistici di grandi dimensioni (LLM), questo ibrido di SGD e Muon converge più rapidamente e garantisce un addestramento più stabile.
  • Inferenza CPU più rapida: YOLO26n offre un'inferenza CPU fino al 43% più veloce rispetto a YOLO11n, risultando adatto a Raspberry Pi e alle applicazioni IoT.
  • ProgLoss + STAL: la Progressive Loss e l'assegnazione delle etichette consapevole degli oggetti piccoli (STAL) migliorano il rilevamento degli oggetti piccoli, fondamentale per le immagini aeree e la robotica.

Se stai valutando dei modelli, potrebbe interessarti anche YOLO11, il predecessore diretto di YOLO26, che resta un modello pronto per la produzione e ampiamente usato nelle soluzioni aziendali. Per i nuovi progetti, tuttavia, il percorso consigliato per annotare, addestrare e distribuire l'IA visiva è YOLO26 con Ultralytics Platform.

Commenti