YOLOv10 vs. YOLO11: alla frontiera del rilevamento di oggetti in tempo reale
La scelta del giusto modello di computer vision è fondamentale per il successo di qualsiasi progetto di IA, in quanto bilancia i compromessi tra velocità, precisione e facilità di implementazione. Questa guida fornisce un confronto tecnico dettagliato tra YOLOv10, una versione accademica incentrata sull'addestramento NMS, e Ultralytics YOLO11, l'ultima evoluzione della rinomata serie YOLO , progettata per garantire prestazioni e versatilità di livello aziendale.
Mentre YOLOv10 introduce interessanti concetti architettonici per ridurre la latenza, YOLO11 perfeziona lo stato dell'arte con un'accuratezza superiore, un supporto più ampio e un robusto ecosistema che semplifica il flusso di lavoro dall'annotazione dei dati alla distribuzione dei modelli.
YOLOv10: lo specialista NMS
YOLOv10 è nato dalla ricerca accademica con un obiettivo specifico: ottimizzare la pipeline di inferenza eliminando la necessità della soppressione non massimaNMS). Questo approccio mira a ridurre la latenza in specifici scenari edge.
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione:Università Tsinghua
- Data: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- Documenti:Documentazione diYOLOv10
Architettura e innovazione
La caratteristica distintiva di YOLOv10 è la sua strategia di assegnazione duale coerente per l'addestramento NMS. I modelli YOLO tradizionali spesso prevedono più riquadri di delimitazione per un singolo oggetto, richiedendo una post-elaborazione NMS per filtrare i duplicati. YOLOv10 modifica la perdita di addestramento per incoraggiare il modello a produrre direttamente un singolo riquadro migliore per ogni oggetto. Inoltre, impiega una progettazione olistica del modello orientata all'efficienza e alla precisione, utilizzando teste di classificazione leggere per ridurre i FLOP e il numero di parametri.
Punti di forza e debolezze
Punti di forza:
- InferenzaNMS: Eliminando la fase NMS , il modello riduce la latenza di post-elaborazione, il che può essere vantaggioso su hardware con potenza di CPU limitata per le operazioni non matriciali.
- Efficienza dei parametri: L'architettura è stata progettata per essere leggera, ottenendo una buona precisione con un numero relativamente basso di parametri.
Punti deboli:
- Versatilità limitata: YOLOv10 si concentra quasi esclusivamente sul rilevamento degli oggetti. Manca il supporto nativo per compiti complessi come la segmentazione dell'istanza o la stima della posa, limitando la sua utilità in applicazioni di IA con molte sfaccettature.
- Supporto incentrato sulla ricerca: Essendo un progetto accademico, potrebbe non offrire lo stesso livello di manutenzione a lungo termine, frequenza di aggiornamento o integrazione con gli strumenti di distribuzione dei modelli supportati dalle aziende.
Caso d'uso ideale
YOLOv10 è particolarmente indicato per applicazioni altamente specializzate e a task singolo, in cui l'eliminazione del passaggio NMS è fondamentale per rispettare i budget di latenza più severi su hardware embedded specifici.
Ultralytics YOLO11: l'apice della versatilità e delle prestazioni
Ultralytics YOLO11 rappresenta la punta di diamante dell'IA visiva, basandosi sull'eredità di YOLOv8 e YOLOv5. È stato progettato non solo come modello, ma come soluzione completa per le sfide dell'IA nel mondo reale.
- Autori: Glenn Jocher, Jing Qiu
- Organizzazione:Ultralytics
- Data: 2024-09-27
- GitHub:ultralytics
- Documenti:DocumentazioneYOLO11
Architettura ed ecosistema
YOLO11 perfeziona il meccanismo di rilevamento anchor-free con un'architettura backbone e neck migliorata, incorporando i moduli C3k2 e C2PSA che migliorano l'efficienza dell'estrazione delle caratteristiche. A differenza dei suoi concorrenti, YOLO11 è un concentrato di potenza multi-task. Un unico framework supporta il rilevamento, la segmentazione, la classificazione, la stima della posa e gli Oriented Bounding Box (OBB), consentendo agli sviluppatori di consolidare il proprio stack di intelligenza artificiale.
Inoltre, YOLO11 è supportato dall'ecosistemaUltralytics . Questo garantisce una perfetta integrazione con gli strumenti per la gestione dei dati, una facile esportazione dei modelli in formati quali ONNX e TensorRTe un solido supporto da parte della comunità.
Vantaggi principali
- Equilibrio delle prestazioni superiore: YOLO11 raggiunge costantemente un livello di mAP pur mantenendo velocità di inferenza eccezionali, spesso superando le alternative NMS in termini di throughput nel mondo reale su GPU.
- Versatilità senza pari: Che si tratti di track giocatori nello sport, segment immagini mediche o detect oggetti ruotati in viste aeree, YOLO11 gestisce tutto con un'unica APIPython .
- Facilità d'uso: l'interfaccia di Ultralytics è rinomata per la sua semplicità. L'addestramento di un modello all'avanguardia richiede solo poche righe di codice, democratizzando l'accesso all'IA avanzata.
- Efficienza dell'addestramento: Le routine di addestramento ottimizzate e i pesi preaddestrati di alta qualità consentono una convergenza più rapida, risparmiando tempo e risorse di calcolo.
- Requisiti di memoria ridotti: Rispetto alle architetture basate su trasformatori come RT-DETRYOLO11 è significativamente più efficiente in termini di memoria durante l'addestramento, il che lo rende accessibile su una gamma più ampia di hardware.
Benefici per l'ecosistema
L'utilizzo di YOLO11 garantisce l'accesso a una suite di integrazioni, tra cui MLFlow per il tracciamento degli esperimenti e OpenVINO per l'inferenza ottimizzata su hardware Intel , per garantire che il vostro progetto passi senza problemi dal prototipo alla produzione.
Confronto delle prestazioni: Velocità, precisione ed efficienza
Quando si confrontano YOLOv10 e YOLO11, è essenziale guardare oltre il conteggio dei parametri ed esaminare le metriche delle prestazioni reali. Mentre YOLOv10 riduce la complessità teorica eliminando l'NMS, YOLO11 dimostra una velocità di inferenza superiore su configurazioni hardware standard come la GPU T4 con TensorRT.
I dati rivelano che YOLO11 offre un miglior compromesso per la maggior parte delle applicazioni. Ad esempio, YOLO11n raggiunge la stessa precisione (39,5 mAP) di YOLOv10n, ma con un'architettura più robusta supportata dall'API Ultralytics . Con l'aumentare delle dimensioni del modello, i vantaggi di YOLO11 in termini di accuratezza diventano più pronunciati, con YOLO11x che raggiunge 54,7 mAP, stabilendo un livello elevato di precisione di rilevamento.
| 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 |
Analisi
- Velocità: YOLO11 offre un'inferenza più veloce sulle GPUTensorRT) per quasi tutte le dimensioni del modello. Ad esempio, YOLO11l viene eseguito a 6,2 ms rispetto agli 8,33 ms di YOLOv10l, il che rappresenta un vantaggio significativo in termini di throughput per l'analisi video in tempo reale.
- Precisione: YOLO11 supera costantemente YOLOv10 in mAP, garantendo un minor numero di falsi negativi e una migliore localizzazione, fondamentale per le attività critiche per la sicurezza come la navigazione autonoma o il rilevamento di difetti.
- Calcolo: Mentre YOLOv10 riduce al minimo i parametri, YOLO11 ottimizza il grafico di calcolo effettivo per offrire tempi di esecuzione più rapidi, dimostrando che il solo numero di parametri non determina la velocità.
Applicazione nel mondo reale ed esempio di codice
Il vero test di un modello è la facilità con cui si integra in un flusso di lavoro di produzione. YOLO11 eccelle in questo senso grazie alla sua semplice interfaccia Python . Di seguito è riportato un esempio di come caricare un modello YOLO11 pre-addestrato ed eseguire l'inferenza su un'immagine.
from ultralytics import YOLO
# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Questo semplice snippet consente di accedere a prestazioni all'avanguardia. La stessa API consente di passare senza problemi all'addestramento su set di dati personalizzati, alla convalida delle prestazioni del modello o al tracciamento di oggetti nei flussi video.
Conclusione: Il verdetto
Mentre YOLOv10 offre uno sguardo innovativo alle architetture NMS ed è una scelta rispettabile per la ricerca accademica o per scenari edge altamente vincolati, Ultralytics YOLO11 si distingue come la scelta migliore per la stragrande maggioranza degli sviluppatori e delle aziende.
La combinazione di maggiore accuratezza, velocità di inferenza nel mondo reale e versatilità senza pari fa di YOLO11 la soluzione definitiva per la computer vision moderna. Grazie al supporto dell'ecosistema Ultralytics , gli sviluppatori non ottengono solo un modello, ma un partner a lungo termine nel loro viaggio nell'IA, garantendo che le loro applicazioni rimangano robuste, scalabili e all'avanguardia.
Per chi volesse approfondire, il confronto con altri modelli come YOLOv9 o RT-DETR possono fornire un ulteriore contesto sul panorama in evoluzione del rilevamento degli oggetti.