YOLOv9 vs YOLO11#
La rapida evoluzione della computer vision ha continuato a spingere i confini di ciò che è possibile fare nel rilevamento degli oggetti in tempo reale. Nel confronto tra le architetture principali, YOLOv9 e Ultralytics YOLO11 si distinguono come enormi passi avanti, ciascuno al servizio di esigenze tecniche specifiche. YOLOv9 ha introdotto nuovi metodi per preservare il flusso del gradiente durante l'addestramento di reti profonde, mentre YOLO11 ha rivoluzionato l'ecosistema della computer vision general-purpose con efficienza, versatilità e facilità d'uso senza pari.
Questo confronto tecnico completo analizza le loro architetture, le metriche prestazionali, i requisiti di memoria e gli scenari di distribuzione ideali per aiutarti a selezionare il modello ottimale per il tuo prossimo progetto di AI.
Sebbene YOLOv9 e YOLO11 siano modelli eccellenti, il nuovo YOLO26 rappresenta il prossimo passo avanti. Offre un design end-to-end senza NMS per semplificare la distribuzione, un'inferenza su CPU fino al 43% più veloce e l'innovativo ottimizzatore MuSGD per una convergenza rapida. Per tutti i nuovi progetti di produzione, YOLO26 è altamente consigliato.
Specifiche tecniche e autori#
Comprendere la genealogia di questi modelli fornisce un contesto essenziale per le loro scelte architetturali e dipendenze dai framework.
YOLOv9#
YOLOv9 ha posto una forte enfasi accademica sui colli di bottiglia informativi del deep learning, dando massima priorità alla fedeltà delle feature attraverso blocchi di rete personalizzati.
- Autori: Chien-Yao Wang e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica
- Data: 21 febbraio 2024
- Arxiv: https://arxiv.org/abs/2402.13616
- GitHub: https://github.com/WongKinYiu/yolov9
Ultralytics YOLO11#
YOLO11 è stato progettato da zero per gli ambienti di produzione, con un'attenzione all'equilibrio tra accuratezza di alto livello, velocità di distribuzione nel mondo reale e versatilità multitask.
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione: Ultralytics
- Data: 27 settembre 2024
- GitHub: https://github.com/ultralytics/ultralytics
Innovazioni architetturali#
Informazioni programmabili sul gradiente in YOLOv9#
YOLOv9 introduce il concetto di Informazioni programmabili sul gradiente (PGI) insieme alla Rete generalizzata di aggregazione efficiente dei layer (GELAN). Quando le reti neurali diventano più profonde, spesso soffrono di colli di bottiglia informativi, in cui i dettagli fondamentali vengono persi durante il processo feed-forward. PGI affronta questo problema fornendo aggiornamenti affidabili del gradiente che conservano le informazioni spaziali a grana fine, mentre GELAN massimizza l'efficienza dei parametri. Questo rende YOLOv9 particolarmente adatto alle attività che richiedono un'elevata fedeltà delle feature, sebbene si basi sulla Soppressione non massima (NMS) standard durante il post-processing, che può introdurre latenza sui dispositivi edge.
Efficienza ottimizzata in YOLO11#
YOLO11 si basa su anni di ricerca fondamentale per offrire un'architettura altamente ottimizzata. Migliora le iterazioni precedenti riducendo il sovraccarico computazionale e massimizzando al contempo l'estrazione delle feature. A differenza delle pipeline NMS tradizionali, che creano un collo di bottiglia per le prestazioni della CPU, YOLO11 utilizza head di rilevamento ottimizzate che raggiungono un equilibrio straordinario tra latenza e precisione. Inoltre, YOLO11 vanta un utilizzo intrinsecamente inferiore della memoria sia durante l'addestramento del modello sia durante l'inferenza rispetto ai modelli Transformer di grandi dimensioni, che spesso sono più lenti da addestrare e richiedono enormi quantità di memoria CUDA.
Confronto delle metriche prestazionali#
Confrontando questi modelli sul dataset COCO standard, entrambi mostrano capacità straordinarie, ma emergono compromessi tra il numero grezzo di parametri e la velocità operativa.
Di seguito trovi una suddivisione dettagliata delle metriche prestazionali di YOLO.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 dei risultati#
- Velocità ed efficienza hardware: YOLO11 supera costantemente YOLOv9 in termini di velocità di inferenza. Ad esempio, YOLO11n raggiunge l'incredibile risultato di 1,5 ms su una GPU NVIDIA T4 utilizzando TensorRT, risultando estremamente adatto alle pipeline rigorosamente in tempo reale.
- Requisiti computazionali: i modelli YOLO11 richiedono generalmente meno FLOPs (ad esempio, 68,0B per YOLO11m rispetto a 76,3B per YOLOv9m), con conseguente minore consumo energetico sui dispositivi edge alimentati a batteria, come un Raspberry Pi, o sull'hardware mobile.
- Parità di accuratezza: sebbene YOLOv9e superi leggermente YOLO11x in termini di mAP assoluta (55,6 rispetto a 54,7), YOLO11 raggiunge la sua accuratezza massima con una latenza significativamente inferiore (11,3 ms rispetto a 16,77 ms), dimostrando un equilibrio prestazionale più favorevole per le distribuzioni nel mondo reale.
Ecosistema e facilità d'uso#
Sebbene le metriche grezze siano importanti, spesso è l'ecosistema dei framework a determinare il successo di un progetto. È qui che il vantaggio di Ultralytics si esprime davvero al meglio.
Il repository originale di YOLOv9 è altamente specializzato e offre un'implementazione di ricerca all'avanguardia. Tuttavia, la piattaforma Ultralytics e il relativo pacchetto open source offrono un'esperienza utente ottimizzata, un'API semplice e una documentazione completa che riducono drasticamente il time-to-market.
Versatilità multi-task#
YOLOv9 si concentra prevalentemente sul rilevamento dei riquadri di delimitazione. Al contrario, YOLO11 è una soluzione multitask unificata che supporta nativamente:
- Segmentazione delle istanze
- Stima della posa
- Riquadri di delimitazione orientati (OBB)
- Classificazione delle immagini
Distribuzione senza interruzioni#
L'utilizzo dell'ecosistema Ultralytics consente agli sviluppatori di esportare i modelli senza difficoltà in numerosi formati con una sola riga di codice Python. Che tu scelga come destinazione ONNX, OpenVINO, TFLite o CoreML, il passaggio dall'addestramento alla produzione è semplice.
from ultralytics import YOLO
# Load a highly efficient YOLO11 model
model = YOLO("yolo11n.pt")
# Train rapidly on a custom dataset with minimal memory footprint
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the trained model to OpenVINO for Intel CPU acceleration
model.export(format="openvino")Casi d'uso ideali#
Quando utilizzare YOLOv9#
YOLOv9 è uno strumento fantastico per gli ambienti incentrati sulla ricerca o per gli scenari che danno priorità a un'estrema fedeltà delle feature, in cui la latenza hardware non rappresenta il vincolo principale. La sua architettura GELAN può essere particolarmente vantaggiosa nell'analisi delle immagini mediche, dove è fondamentale rilevare le più piccole variazioni dei pixel.
Perché YOLO11 è la scelta superiore#
Per sviluppatori, ingegneri e team di produzione, YOLO11 è altamente consigliato. Eccelle negli ambienti che richiedono una distribuzione rapida e scalabile:
- Analisi per il retail intelligente: tracciamento di prodotti e clienti in modo fluido utilizzando i processori Intel standard.
- Droni autonomi: architetture con pochi FLOP preservano la durata della batteria offrendo al contempo un solido rilevamento degli oggetti piccoli.
- Progetti dinamici: flussi di lavoro che possono iniziare con il rilevamento, ma evolversi successivamente fino a richiedere la stima della posa o la segmentazione.
Uno sguardo al futuro: la prossima evoluzione#
Sebbene YOLO11 rappresenti lo stato dell'arte per la sua generazione, il panorama della computer vision continua ad avanzare. Gli utenti che esplorano i confini dell'AI dovrebbero prendere in considerazione anche YOLO26.
Introducendo un design end-to-end senza NMS, esplorato per la prima volta in YOLOv10, YOLO26 presenta l'ottimizzatore MuSGD (un ibrido di SGD e Muon) per una stabilità di addestramento senza precedenti. Grazie alla rimozione della Distribution Focal Loss (DFL) per semplificare l'esportazione e a meccanismi di loss avanzati come ProgLoss e STAL, YOLO26 raggiunge un'inferenza su CPU fino al 43% più veloce. Per i progetti moderni, offre la combinazione definitiva di innovazione accademica e affidabilità pronta per la produzione. Inoltre, i team che eseguono l'upgrade da sistemi legacy come Ultralytics YOLOv8 troveranno il passaggio a YOLO26 o YOLO11 completamente fluido grazie all'API unificata di Ultralytics.