YOLOv10 vs YOLO11#
Il panorama della visione artificiale è in continua evoluzione e le nuove architetture ampliano i confini di ciò che è possibile nell'elaborazione in tempo reale. Per gli sviluppatori e i ricercatori che si muovono in questo settore in rapida evoluzione, è fondamentale comprendere le differenze tra i modelli più avanzati. Questo confronto dettagliato esamina le differenze tecniche, i compromessi prestazionali e i casi d'uso ideali di YOLOv10 e Ultralytics YOLO11, due framework per il rilevamento degli oggetti dalle notevoli capacità.
Entrambi i modelli ottengono risultati notevoli sui dataset di benchmark, ma le rispettive filosofie di progettazione e integrazioni nell'ecosistema differiscono significativamente. Esaminandone le architetture, possiamo individuare la soluzione più adatta ai tuoi vincoli di distribuzione e agli obiettivi del progetto.
YOLOv10: pioniere del rilevamento end-to-end senza NMS#
Rilasciato nella primavera del 2024, YOLOv10 ha introdotto un nuovo approccio alla pipeline tradizionale di rilevamento degli oggetti, affrontando direttamente la latenza aggiuntiva associata alla post-elaborazione.
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione: Università Tsinghua
- Data: 23 maggio 2024
- Articolo di ricerca: arXiv:2405.14458
- Codice sorgente: THU-MIG/yolov10 su GitHub
- Documentazione: Documentazione di YOLOv10
L'innovazione più rilevante di YOLOv10 è la strategia di assegnazione doppia coerente, che consente l'addestramento senza NMS. I rilevatori di oggetti tradizionali si affidano molto alla soppressione non massima (NMS) per filtrare le previsioni ridondanti dei riquadri di delimitazione. Eliminando questo passaggio, YOLOv10 ottiene un rilevamento davvero end-to-end, riduce la latenza dell'inferenza e semplifica la distribuzione su acceleratori hardware come le unità di elaborazione neurale (NPUs), sulle quali le operazioni NMS personalizzate sono notoriamente difficili da ottimizzare.
YOLO11: versatilità e prestazioni basate sull'ecosistema#
Lanciato più avanti nello stesso anno, YOLO11 rappresenta il continuo perfezionamento della famiglia di modelli Ultralytics e punta a un equilibrio ottimale tra velocità, precisione ed esperienza di sviluppo.
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione: Ultralytics
- Data: 27 settembre 2024
- Codice sorgente: Ultralytics su GitHub
- Integrazione della piattaforma: Piattaforma Ultralytics
YOLO11 è progettato per l'uso in produzione. Pur eccellendo nel rilevamento standard dei riquadri di delimitazione, il suo vero punto di forza risiede nella versatilità. A differenza di YOLOv10, incentrato principalmente sul rilevamento degli oggetti, YOLO11 supporta nativamente le attività di segmentazione di istanze, stima della posa, classificazione delle immagini e rilevamento con riquadri di delimitazione orientati (OBB) grazie a un'architettura unificata. Vanta requisiti di memoria notevolmente ridotti durante l'addestramento, rendendolo molto accessibile ai team che lavorano con GPU di fascia consumer rispetto ad architetture basate su Transformer più pesanti.
Confronto delle prestazioni e delle metriche#
Per confrontare direttamente questi modelli, è essenziale esaminare le prestazioni delle diverse varianti di dimensioni sui benchmark standard, come il dataset COCO.
La tabella seguente evidenzia le differenze prestazionali. YOLO11 spesso supera YOLOv10 in mAP nella maggior parte delle categorie di dimensioni, mantenendo velocità d'inferenza TensorRT molto competitive.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
Per riprodurre localmente queste elevate velocità d'inferenza, esporta i modelli in formati ottimizzati come OpenVINO per le CPU Intel o TensorRT per le GPU NVIDIA.
Approfondimento sull’architettura#
Metodologia ed efficienza dell'addestramento#
L'architettura di YOLOv10 punta a ridurre la ridondanza computazionale. Ottimizzando il backbone e il neck con una strategia olistica basata sull'efficienza e sulla precisione, gli autori della Tsinghua University sono riusciti a ridurre significativamente il numero di parametri nei modelli di fascia media (come YOLOv10m) rispetto alle versioni precedenti.
Tuttavia, l'efficienza dell'addestramento è un tratto distintivo dei modelli Ultralytics. YOLO11 utilizza il pacchetto Python ultralytics altamente perfezionato, che semplifica la complessa ottimizzazione degli iperparametri. Questo framework gestisce automaticamente, fin da subito, le tecniche avanzate di aumento dei dati, la pianificazione del tasso di apprendimento e l'addestramento distribuito multi-GPU. L'architettura di YOLO11 presenta inoltre un eccellente flusso del gradiente, con conseguente convergenza più rapida e minore utilizzo della VRAM durante l'addestramento.
Facilità d'uso e vantaggio dell'ecosistema#
Un fattore determinante per l'adozione aziendale è un ecosistema ben mantenuto. I repository di ricerca, pur essendo innovativi, spesso diventano inattivi dopo la pubblicazione iniziale dell'articolo. L'ecosistema Ultralytics, che supporta YOLO11, offre un'esperienza di sviluppo fluida e completa.
Integrandosi perfettamente con strumenti come Weights & Biases per il monitoraggio degli esperimenti e Roboflow per la gestione dei dataset, YOLO11 accelera il passaggio dal prototipo alla produzione. La facilità d'uso emerge dall'API semplificata, che consente agli sviluppatori di addestrare ed esportare modelli con poche righe di codice.
from ultralytics import YOLO
# Inizializza il modello YOLO11 small
model = YOLO("yolo11s.pt")
# Addestra il modello in modo efficiente con una gestione della memoria ottimizzata
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="0")
# Esporta in formato ONNX per una maggiore flessibilità di distribuzione
model.export(format="onnx")Casi d'uso e consigli#
La scelta tra YOLOv10 e YOLO11 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 distribuzione in cui i tempi di inferenza prevedibili sono fondamentali, ad esempio nella robotica o nei sistemi autonomi.
Quando scegliere YOLO11#
YOLO11 è consigliato per:
- Deployment edge in produzione: applicazioni commerciali su dispositivi come Raspberry Pi o NVIDIA Jetson, per cui affidabilità e manutenzione attiva sono fondamentali.
- Applicazioni di visione multi-task: progetti che richiedono rilevamento, segmentazione, stima della posa e OBB all'interno di un unico framework unificato.
- Prototipazione e deployment rapidi: team che devono passare rapidamente dalla raccolta dei dati alla produzione usando la API Python di Ultralytics, semplice e intuitiva.
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 con sola CPU: dispositivi senza accelerazione GPU dedicata, sui quali l'inferenza su CPU di YOLO26, fino al 43% più veloce, offre un vantaggio decisivo.
- Rilevamento di oggetti di piccole dimensioni: scenari complessi come le immagini aeree acquisite da droni o l'analisi dei sensori IoT, in cui ProgLoss e STAL migliorano notevolmente la precisione sugli oggetti molto piccoli.
Esplorare altre architetture#
YOLOv10 e YOLO11 sono entrambi ottime scelte, ma il tuo caso d'uso specifico potrebbe trarre vantaggio da altre architetture disponibili nella documentazione. Per il ragionamento basato su sequenze, i modelli Transformer come RT-DETR offrono un'elevata precisione, anche se in genere richiedono più memoria. Se invece hai bisogno di funzionalità zero-shot per identificare nuove classi senza riaddestramento, YOLO-World offre un approccio a vocabolario aperto basato su prompt in linguaggio naturale.
La nuova generazione: YOLO26#
Per i team che puntano al massimo livello di avanguardia, il nuovo Ultralytics YOLO26 combina le caratteristiche migliori di entrambi i modelli descritti sopra. Rilasciato a gennaio 2026, YOLO26 è la scelta migliore per gli scenari di distribuzione moderni.
Basandosi sulle fondamenta dei predecessori, YOLO26 integra nativamente un design end-to-end opzionale senza NMS (nms=False), eliminando di fatto i colli di bottiglia della post-elaborazione affrontati per la prima volta da YOLOv10, ma all'interno del robusto framework Ultralytics. Inoltre, YOLO26 include la rimozione di DFL (Distribution Focal Loss), che semplifica notevolmente i grafi di esportazione del modello e migliora la compatibilità con i dispositivi edge e IoT a basso consumo.
La stabilità dell'addestramento ha compiuto un salto generazionale con l'introduzione dell'ottimizzatore MuSGD, un approccio ibrido ispirato alle metodologie di addestramento degli LLM che garantisce una convergenza incredibilmente rapida. Insieme a funzioni di perdita avanzate come ProgLoss + STAL, YOLO26 migliora notevolmente il riconoscimento degli oggetti piccoli. Per la distribuzione sui dispositivi edge standard, questi perfezionamenti architetturali consentono un'inferenza su CPU fino al 43% più veloce, rendendo YOLO26 una scelta senza pari per tutte le attività di visione artificiale.