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

YOLOv10 vs YOLO26#

Il rilevamento di oggetti in tempo reale è passato da architetture complesse, dipendenti dalla post-elaborazione, a modelli end-to-end più snelli. Questo confronto tecnico esamina due tappe fondamentali di questa evoluzione: YOLOv10, il modello accademico che ha introdotto l’addestramento senza NMS nella famiglia YOLO, e Ultralytics YOLO26, una famiglia di modelli multi-task pensata per la produzione. Esaminandone le architetture, le metodologie di addestramento e le capacità di distribuzione nel mondo reale, gli sviluppatori possono prendere decisioni consapevoli per creare la loro prossima applicazione di IA per la visione.

YOLOv10: rilevamento in tempo reale senza NMS#

Rilasciato a maggio 2024, YOLOv10 ha affrontato uno dei colli di bottiglia più persistenti nel rilevamento di oggetti in tempo reale: Non-Maximum Suppression (NMS). I rilevatori di oggetti tradizionali dipendevano fortemente dalla NMS per filtrare i riquadri di delimitazione ridondanti, aggiungendo una latenza variabile durante l’inferenza e complicando la distribuzione edge.

Il team della Tsinghua University ha introdotto una strategia di assegnazione duale coerente per l’addestramento senza NMS. Questo ha permesso al modello di prevedere con precisione i riquadri di delimitazione senza richiedere un passaggio di filtraggio successivo, migliorando direttamente la latenza di inferenza e abbassando la soglia per la distribuzione sugli acceleratori hardware. Pur essendo efficiente per il rilevamento standard, il modello si concentra sulla previsione dei riquadri di delimitazione e non supporta nativamente attività come la segmentazione delle istanze o la stima della posa.

Scopri di più su YOLOv10

YOLO26: il nuovo standard per l'IA visiva su edge e cloud#

Basato sui concetti senza NMS introdotti da YOLOv10, YOLO26 è l’attuale famiglia di modelli Ultralytics consigliata. Progettato per la ricerca e la distribuzione in produzione, offre una progettazione end-to-end senza NMS grazie a una testa one-to-one opzionale (nms=False) che salta la post-elaborazione NMS, semplificando la distribuzione su tutto l’hardware supportato.

YOLO26 introduce anche diverse modifiche architetturali. La rimozione della Distribution Focal Loss (DFL) semplifica il processo di esportazione del modello e migliora la compatibilità con i dispositivi edge AI a basso consumo. Grazie a queste modifiche strutturali, YOLO26n raggiunge un’inferenza su CPU fino al 43% più veloce rispetto a YOLO11n, rendendo YOLO26 un’ottima scelta per le applicazioni IoT e di robotica in cui potrebbe non essere disponibile l’accelerazione GPU.

La stabilità dell'addestramento e la velocità di convergenza migliorano anche grazie a MuSGD Optimizer, un ibrido di SGD e Muon ispirato alle tecniche di addestramento degli LLM. In combinazione con ProgLoss + STAL, che abbina una loss progressiva a un'assegnazione delle etichette consapevole degli oggetti piccoli, YOLO26 migliora il riconoscimento degli oggetti di piccole dimensioni. Introduce inoltre miglioramenti specifici per le attività, tra cui la prototipazione multiscala per la segmentazione, la stima del log-verosimiglianza residuo (RLE) per la stima della posa e una loss angolare specializzata per risolvere i problemi ai bordi nel rilevamento di bounding box orientati (OBB).

Implementazione aziendale

Per i team che desiderano scalare i propri flussi di lavoro di computer vision, Ultralytics Platform supporta direttamente YOLO26 e offre annotazione dei dati, addestramento nel cloud e deployment con un solo clic senza richiedere un'infrastruttura MLOps estesa.

Confronto delle prestazioni tecniche#

Per valutare questi modelli, è fondamentale considerare l'equilibrio tra accuratezza, dimensioni del modello e velocità di inferenza. La tabella seguente mette a confronto le prestazioni di entrambe le famiglie di modelli a diverse scale, valutandole sul dataset COCO standard.

Modellodimensione
(pixel)
mAPval50-95Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
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
YOLO26n64040.938.91.72.45.5
YOLO26s64048.687.22.59.520.9
YOLO26m64053.1220.04.720.468.4
YOLO26l64055.0286.26.224.886.8
YOLO26x64057.5525.811.855.7194.4

YOLO26 raggiunge valori più elevati di mAP (precisione media) a ogni fascia di dimensioni, mantenendo velocità TensorRT su T4 comparabili. Anche la rimozione di DFL in YOLO26 contribuisce alle sue prestazioni CPU ONNX; nella tabella non sono riportate le velocità CPU ONNX di YOLOv10.

Metodologie di training ed ecosistema#

Un modello è utile solo quanto l'ecosistema che lo supporta. YOLOv10 offriva un'implementazione accademica solida basata su PyTorch e sul pacchetto Ultralytics, ma supporta solo il rilevamento degli oggetti.

YOLO26, invece, è completamente integrato nell'ecosistema Ultralytics, sottoposto a manutenzione attiva. Essendo un modello basato su CNN, richiede meno memoria durante l'addestramento rispetto ai modelli basati su Transformer come RT-DETR, quindi puoi addestrarlo su hardware di fascia consumer. L'API unificata gestisce automaticamente l'aumento dei dati e la registrazione dei log; l'ottimizzazione degli iperparametri è disponibile tramite model.tune().

Esempio di codice: addestramento di YOLO26#

Per addestrare ed esportare YOLO26 bastano poche righe di codice Python:

from ultralytics import YOLO

# Carica il modello YOLO26 small altamente ottimizzato
model = YOLO("yolo26s.pt")

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

# Esporta la head one-to-one senza NMS in TensorRT
model.export(format="engine", nms=False)

Applicazioni e casi d'uso nel mondo reale#

La scelta dell'architettura giusta dipende in larga misura dai vincoli di deployment.

Elaborazione edge ad alta velocità#

Per le applicazioni distribuite su CPU, piattaforme robotiche o dispositivi mobili meno recenti, l'inferenza CPU più veloce di YOLO26 lo rende la scelta migliore. La sua architettura senza DFL e la testa opzionale senza NMS si esportano senza problemi in formati come OpenVINO e TensorRT, ideali per l'analisi video in tempo reale nelle infrastrutture delle smart city.

Visione avanzata multi-task#

YOLOv10 è limitato al rilevamento delle bounding box, quindi per i progetti che richiedono altre attività è preferibile usare YOLO26. Oltre al rilevamento, YOLO26 supporta la segmentazione di istanze, la segmentazione semantica, la stima della profondità, la classificazione, la stima della posa e le bounding box orientate, con teste e loss specifiche per attività che si adattano a casi d'uso dall'imaging medico all'analisi sportiva.

Alternative

Se il tuo progetto richiede il rilevamento a vocabolario aperto, valuta YOLOE o YOLO-World. Per le pipeline esistenti, YOLO11 resta un'alternativa pienamente supportata all'interno del framework Ultralytics.

Casi d'uso e consigli#

La scelta tra YOLOv10 e YOLO26 dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle preferenze per l'ecosistema.

Quando scegliere YOLOv10#

YOLOv10 è una scelta valida 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 deployment in cui sono essenziali tempi d'inferenza prevedibili, come la robotica o i sistemi autonomi.

Quando scegliere YOLO26#

YOLO26 è consigliato per:

  • Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
  • Ambienti solo CPU: dispositivi senza accelerazione GPU dedicata, sui quali YOLO26n è fino al 43% più veloce di YOLO11n su CPU.
  • 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.

Conclusione#

Il passaggio da YOLOv10 a YOLO26 segna l'evoluzione da una prova di concetto accademica a modelli pronti per la produzione. Adottando il design senza NMS introdotto da YOLOv10 e aggiungendo l'ottimizzatore MuSGD, ProgLoss e un'esportazione semplificata verso dispositivi edge, YOLO26 offre una precisione maggiore a ogni dimensione del modello e supporta molte più attività. Per gli sviluppatori che cercano il miglior equilibrio tra velocità, precisione e facilità d'uso, YOLO26 è la scelta consigliata.

Collaboratori

Commenti