YOLOv10 vs YOLO11#
Il panorama della visione artificiale è in continua evoluzione, con nuove architetture che ampliano costantemente i limiti dell'elaborazione in tempo reale. Per gli sviluppatori e i ricercatori che si muovono in questo settore dinamico, comprendere le differenze tra i modelli all'avanguardia è fondamentale. Questo confronto dettagliato analizza le differenze tecniche, i compromessi in termini di prestazioni e i casi d'uso ideali di YOLOv10 e Ultralytics YOLO11, due framework altamente capaci per il rilevamento degli oggetti.
Sebbene entrambi i modelli raggiungano risultati notevoli sui dataset di riferimento, le filosofie progettuali alla base e le integrazioni con l'ecosistema differiscono significativamente. Esaminandone le architetture, possiamo identificare quale soluzione si allinea meglio ai tuoi vincoli di distribuzione e agli obiettivi del progetto.
YOLOv10: pionieristico 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 il sovraccarico di latenza associato al post-processing.
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione: Tsinghua University
- Data: 23 maggio 2024
- Articolo di ricerca: arXiv:2405.14458
- Codice sorgente: THU-MIG/yolov10 su GitHub
- Documentazione: Documentazione di YOLOv10
L'innovazione più significativa di YOLOv10 è la sua strategia di assegnazione duale coerente, che consente l'addestramento senza NMS. I rilevatori di oggetti tradizionali dipendono fortemente dalla Soppressione non massima (NMS) per filtrare le previsioni ridondanti dei riquadri delimitatori. Rimuovendo questo passaggio, YOLOv10 realizza un rilevamento realmente end-to-end, riducendo la latenza dell'inferenza e semplificando la distribuzione su acceleratori hardware come le Unità di elaborazione neurale (NPUs), sui quali le operazioni NMS personalizzate sono notoriamente difficili da ottimizzare.
YOLO11: versatilità e prestazioni guidate dall'ecosistema#
Lanciato più avanti nello stesso anno, YOLO11 rappresenta il perfezionamento continuo della famiglia di modelli Ultralytics, concentrandosi su un equilibrio ottimale tra velocità, accuratezza ed esperienza degli sviluppatori.
- 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 la produzione. Sebbene eccella nel rilevamento standard dei riquadri delimitatori, la sua vera forza risiede nella sua versatilità. A differenza di YOLOv10, principalmente focalizzato sul rilevamento degli oggetti, YOLO11 supporta nativamente la segmentazione delle istanze, la stima della posa, la classificazione delle immagini e le attività con riquadri delimitatori orientati (OBB) utilizzando un'architettura unificata. Richiede una quantità di memoria straordinariamente ridotta durante l'addestramento, risultando così altamente accessibile per i team che lavorano con [GPU](https://ultralytics-translation-4.invalid di livello consumer, rispetto alle architetture più pesanti basate su Transformer.
Confronto di prestazioni e metriche#
Nel confrontare questi modelli fianco a fianco, è essenziale osservare come si comportano nelle diverse varianti di scala su benchmark standard come il dataset COCO.
La tabella seguente evidenzia le differenze nelle prestazioni. YOLO11 supera spesso YOLOv10 in termini di mAP nella maggior parte delle categorie di dimensioni, mantenendo al contempo velocità di inferenza TensorRT altamente competitive.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 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.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Per riprodurre localmente queste elevate velocità di inferenza, assicurati di esportare i tuoi 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 pone l'accento sulla riduzione della ridondanza computazionale. Ottimizzando la progettazione del backbone e del neck attraverso una strategia globale orientata all'efficienza e all'accuratezza, gli autori della Tsinghua University sono riusciti a ridurre significativamente il numero di parametri nei modelli di fascia media, come YOLOv10m, rispetto alle iterazioni precedenti.
Tuttavia, l'efficienza dell'addestramento è una caratteristica distintiva fondamentale dei modelli Ultralytics. YOLO11 utilizza il pacchetto Python altamente perfezionato ultralytics, che astrae la complessità dell'ottimizzazione degli iperparametri. Questo framework gestisce automaticamente, fin dall'installazione, le tecniche avanzate di aumento dei dati, la programmazione del learning rate e l'addestramento distribuito su più GPU. L'architettura di YOLO11 presenta inoltre un eccellente flusso del gradiente, con conseguente convergenza più rapida e minore utilizzo della VRAM durante la fase di addestramento.
Semplicità d'uso e vantaggio dell'ecosistema#
Un fattore cruciale per l'adozione in ambito enterprise è un ecosistema ben mantenuto. I repository di ricerca, sebbene innovativi, spesso diventano inattivi dopo la pubblicazione iniziale dell'articolo. L'ecosistema Ultralytics, che supporta YOLO11, offre un'esperienza per sviluppatori fluida ed end-to-end.
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 semplicità d'uso è evidente nell'API ottimizzata, che consente agli sviluppatori di addestrare ed esportare modelli con poche righe di codice.
from ultralytics import YOLO
# Initialize the YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model efficiently with optimized memory handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="0")
# Export to ONNX format for deployment flexibility
model.export(format="onnx")Casi d'uso e raccomandazioni#
La scelta tra YOLOv10 e YOLO11 dipende dai requisiti specifici del progetto, dai vincoli di distribuzione e dalle preferenze relative all'ecosistema.
Quando scegliere YOLOv10#
YOLOv10 è una scelta ottimale 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 accuratezza: progetti che richiedono un equilibrio efficace tra velocità di inferenza e accuratezza del rilevamento su diverse dimensioni del modello.
- Applicazioni a latenza coerente: scenari di distribuzione in cui sono fondamentali tempi di inferenza prevedibili, come la robotica o i sistemi autonomi.
Quando scegliere YOLO11#
YOLO11 è consigliato per:
- Distribuzione edge in produzione: applicazioni commerciali su dispositivi come Raspberry Pi o NVIDIA Jetson, dove 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 distribuzione rapide: team che devono passare rapidamente dalla raccolta dei dati alla produzione utilizzando la semplificata API Python di Ultralytics.
Quando scegliere Ultralytics (YOLO26)#
Per la maggior parte dei nuovi progetti, Ultralytics YOLO26 offre la migliore combinazione di prestazioni ed esperienza per gli sviluppatori:
- Deployment edge senza NMS: applicazioni che richiedono un'inferenza coerente e a bassa latenza senza la complessità della post-elaborazione con Soppressione non massima.
- Ambienti esclusivamente CPU: dispositivi privi di accelerazione GPU dedicata, dove l'inferenza su CPU fino al 43% più veloce di YOLO26 offre un vantaggio decisivo.
- Rilevamento di oggetti piccoli: scenari complessi come le immagini aeree riprese da droni o l'analisi di sensori IoT, in cui ProgLoss e STAL migliorano significativamente l'accuratezza sugli oggetti di piccole dimensioni.
Esplorazione di altre architetture#
Sebbene YOLOv10 e YOLO11 siano scelte eccellenti, 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 accuratezza, anche se in genere richiedono più memoria. Al contrario, se hai bisogno di funzionalità zero-shot per identificare nuove classi senza riaddestrare il modello, YOLO-World offre un approccio a vocabolario aperto guidato da prompt in linguaggio naturale.
La prossima generazione: YOLO26#
Per i team che cercano il massimo stato dell'arte, il recentemente rilasciato Ultralytics YOLO26 combina le migliori caratteristiche di entrambi i modelli discussi sopra. Rilasciato a gennaio 2026, YOLO26 è la raccomandazione definitiva per gli scenari di distribuzione moderni.
Basandosi sulle fondamenta dei suoi predecessori, YOLO26 integra nativamente un design end-to-end senza NMS, eliminando efficacemente i colli di bottiglia del post-processing affrontati per la prima volta da YOLOv10, ma all'interno del solido framework Ultralytics. Inoltre, YOLO26 include la rimozione del DFL (perdita focale della distribuzione), che semplifica drasticamente i grafi di esportazione del modello e migliora la compatibilità con dispositivi edge e IoT a basso consumo.
Anche 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 estremamente rapida. In combinazione con funzioni di perdita avanzate come ProgLoss + STAL, YOLO26 offre miglioramenti significativi nel riconoscimento degli oggetti di piccole dimensioni. Per la distribuzione su dispositivi edge standard, questi perfezionamenti architetturali si traducono in un'inferenza su CPU fino al 43% più veloce, rendendo YOLO26 una scelta senza pari per tutte le attività di visione artificiale.