YOLOv9 vs YOLO11#
La rapida evoluzione della computer vision ha ampliato costantemente i limiti del possibile nel rilevamento di oggetti in tempo reale. Nel confronto tra le architetture più avanzate, YOLOv9 e Ultralytics YOLO11 rappresentano importanti passi avanti, ciascuno pensato per 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 visione artificiale generalista con efficienza, versatilità e facilità d'uso senza pari.
Questo confronto tecnico completo analizza le architetture, le metriche di prestazione, i requisiti di memoria e gli scenari di distribuzione ideali per aiutarti a scegliere il modello ottimale per il tuo prossimo progetto di AI.
YOLOv9 e YOLO11 sono ottimi modelli, ma il nuovo YOLO26 rappresenta il prossimo grande passo avanti. Include 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. Consigliamo vivamente YOLO26 per tutti i nuovi progetti di produzione.
Specifiche tecniche e autori#
Comprendere il lignaggio di questi modelli fornisce un contesto essenziale per le loro scelte architetturali e le dipendenze dai framework.
YOLOv9#
YOLOv9 ha introdotto una forte impronta accademica nello studio dei colli di bottiglia informativi del deep learning, dando priorità alla massima fedeltà delle caratteristiche tramite 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, puntando a un equilibrio tra accuratezza di alto livello, velocità di distribuzione nel mondo reale e versatilità multitasking.
- 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 efficiente di aggregazione dei livelli (GELAN). Man mano che le reti neurali diventano più profonde, spesso si verificano colli di bottiglia informativi che causano la perdita di dettagli importanti durante il processo feed-forward. PGI risolve il problema fornendo aggiornamenti affidabili del gradiente che conservano le informazioni spaziali dettagliate, mentre GELAN massimizza l'efficienza dei parametri. Questo rende YOLOv9 particolarmente adatto alle attività che richiedono un'elevata fedeltà delle caratteristiche, anche se durante la post-elaborazione si affida alla tradizionale soppressione dei non massimi (NMS), che può aumentare la latenza sui dispositivi edge.
Efficienza semplificata in YOLO11#
YOLO11 si basa su anni di ricerca fondamentale per offrire un'architettura altamente ottimizzata. Migliora le versioni precedenti riducendo il carico computazionale e massimizzando al contempo l'estrazione delle caratteristiche. YOLO11 continua a usare la post-elaborazione NMS standard, ma le sue teste di rilevamento perfezionate raggiungono un equilibrio eccezionale tra latenza e precisione. Inoltre, rispetto ai pesanti modelli Transformer, spesso più lenti da addestrare e bisognosi di enormi quantità di memoria CUDA, YOLO11 consuma intrinsecamente meno memoria sia durante l'addestramento del modello sia durante l'inferenza.
Confronto delle metriche di prestazione#
Nel confronto tra questi modelli sullo standard dataset COCO, entrambi dimostrano capacità eccezionali, ma emergono compromessi tra il numero assoluto di parametri e la velocità operativa.
Di seguito trovi un'analisi dettagliata delle metriche di prestazione 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.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| 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 |
Analisi dei risultati#
- Velocità ed efficienza hardware: YOLO11 supera costantemente YOLOv9 in termini di velocità d'inferenza. Ad esempio, YOLO11n raggiunge l'impressionante tempo di 1,5 ms su una GPU NVIDIA T4 con TensorRT, risultando molto adatto alle pipeline con requisiti rigorosi di tempo reale.
- Requisiti computazionali: in generale, i modelli YOLO11 richiedono meno FLOPs (ad esempio, 68.1B per YOLO11m contro 76.8B per YOLOv9m), con un conseguente minor consumo energetico sui dispositivi edge a batteria come Raspberry Pi o sui dispositivi mobili.
- Accuratezza comparabile: sebbene YOLOv9e superi leggermente YOLO11x in termini di mAP assoluto (55.6 contro 54.7), YOLO11 raggiunge la sua accuratezza massima con una latenza nettamente inferiore (11.3 ms contro 16.77 ms), offrendo un equilibrio delle prestazioni più vantaggioso per le distribuzioni nel mondo reale.
Ecosistema e facilità d’uso#
Le metriche grezze sono importanti, ma spesso è l'ecosistema del framework a determinare il successo di un progetto. È qui che il vantaggio Ultralytics si distingue davvero.
Il repository originale di YOLOv9 è altamente specializzato e offre un'implementazione di ricerca all'avanguardia. La Ultralytics Platform e il relativo pacchetto open source, tuttavia, offrono un'esperienza utente semplificata, un'API semplice e una documentazione completa che riducono notevolmente il time-to-market.
Versatilità multitasking#
YOLOv9 si concentra soprattutto sul rilevamento di box di delimitazione. YOLO11, invece, è una soluzione unificata e versatile per il multitasking, con supporto nativo per:
- Segmentazione di istanze
- Stima della posa
- Box di delimitazione orientati (OBB)
- Classificazione delle immagini
Distribuzione senza interruzioni#
L'ecosistema Ultralytics consente agli sviluppatori di esportare i modelli senza interruzioni in diversi formati con una sola riga di codice Python. Che tu scelga ONNX, OpenVINO, LiteRT o CoreML, passare dall'addestramento alla produzione è semplice.
from ultralytics import YOLO
# Carica un modello YOLO11 altamente efficiente
model = YOLO("yolo11n.pt")
# Addestra rapidamente su un dataset personalizzato con un ingombro di memoria minimo
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Esporta il modello addestrato in OpenVINO per accelerare la CPU Intel
model.export(format="openvino")Casi d'uso ideali#
Quando usare YOLOv9#
YOLOv9 è uno strumento eccellente per gli ambienti orientati alla ricerca o gli scenari che privilegiano una fedeltà delle caratteristiche estrema, in cui la latenza hardware non è il vincolo principale. L'architettura GELAN può rivelarsi molto vantaggiosa nell'analisi di immagini mediche, dove è fondamentale rilevare le variazioni di pixel più piccole.
Perché YOLO11 è la scelta migliore#
Per sviluppatori, ingegneri e team di produzione, YOLO11 è vivamente consigliato. Eccelle negli ambienti che richiedono una distribuzione veloce e scalabile:
- Analisi per il retail intelligente: traccia prodotti e clienti senza interruzioni utilizzando processori Intel standard.
- Droni autonomi: le architetture con pochi FLOPs preservano la durata della batteria e garantiscono al tempo stesso un rilevamento affidabile degli oggetti piccoli.
- Progetti dinamici: flussi di lavoro che possono iniziare con il rilevamento e poi evolversi fino a richiedere la stima della posa o la segmentazione.
Uno sguardo al futuro: la prossima evoluzione#
YOLO11 rappresenta lo stato dell'arte per la sua generazione, ma il panorama della computer vision continua a evolversi. Chi vuole esplorare i confini dell'AI dovrebbe considerare anche YOLO26.
Introducendo un design end-to-end senza NMS, sperimentato per la prima volta in YOLOv10, YOLO26 include l'ottimizzatore MuSGD (una soluzione ibrida che combina SGD e Muon) per una stabilità dell'addestramento senza precedenti. L'eliminazione della Distribution Focal Loss (DFL) semplifica l'esportazione, mentre i meccanismi di perdita avanzati come ProgLoss e STAL portano l'inferenza su CPU fino al 43% più veloce. Per i progetti moderni, offre la combinazione ideale di innovazione accademica e affidabilità pronta per la produzione. Inoltre, grazie all'API Ultralytics unificata, i team che passano da sistemi precedenti come Ultralytics YOLOv8 possono migrare a YOLO26 o YOLO11 senza difficoltà.