YOLOv9 vs YOLOv10#
Il panorama della computer vision in tempo reale ha compiuto enormi progressi, in gran parte grazie a ricercatori che continuano a spingere i limiti del rapporto tra prestazioni ed efficienza. Nell'evoluzione dei modelli di visione all'avanguardia, YOLOv9 e YOLOv10 rappresentano due traguardi fondamentali. Entrambi i modelli, rilasciati all'inizio del 2024, hanno introdotto architetture rivoluzionarie per affrontare problemi di lunga data nelle reti neurali profonde, dai colli di bottiglia informativi alla latenza della post-elaborazione.
Questo confronto tecnico completo esamina le architetture, le metriche di prestazione e gli scenari di distribuzione ideali, aiutandoti a orientarti nella complessità degli ecosistemi moderni di rilevamento di oggetti.
Origini dei modelli e innovazioni architetturali#
Comprendere la genealogia e i fondamenti teorici di questi modelli è fondamentale per scegliere l'architettura giusta per il tuo progetto specifico di visione artificiale.
YOLOv9: padroneggiare il flusso delle informazioni#
Presentato il 21 febbraio 2024, YOLOv9 affronta il problema teorico della perdita di informazioni che si verifica quando i dati attraversano reti neurali profonde.
- Autori: Chien-Yao Wang e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
- Riferimento: Articolo di YOLOv9 su arXiv
- Repository: YOLOv9 su GitHub
YOLOv9 introduce la Rete generalizzata ed efficiente di aggregazione dei livelli (GELAN), che massimizza l'utilizzo dei parametri combinando i punti di forza di CSPNet ed ELAN. Inoltre, utilizza le Informazioni programmabili sul gradiente (PGI), un meccanismo di supervisione ausiliaria che garantisce la conservazione di informazioni spaziali fondamentali nei livelli profondi. Questo rende YOLOv9 particolarmente efficace per le attività che richiedono un'elevata fedeltà delle caratteristiche, come l'analisi di immagini mediche o la sorveglianza a distanza.
YOLOv10: efficienza end-to-end in tempo reale#
Rilasciato poco dopo, il 23 maggio 2024, YOLOv10 ripensa la pipeline di deployment eliminando uno dei colli di bottiglia della latenza più noti nel rilevamento degli oggetti: la soppressione dei non massimi (NMS).
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione: Università Tsinghua
- Riferimento: Articolo di YOLOv10 su arXiv
- Repository: YOLOv10 su GitHub
YOLOv10 utilizza assegnazioni doppie coerenti durante l'addestramento, consentendo un'architettura nativamente priva di NMS. Questo elimina i costi aggiuntivi del post-processing durante l'inferenza, riducendo drasticamente la latenza. Grazie a una progettazione del modello che bilancia in modo olistico efficienza e accuratezza, YOLOv10 raggiunge un equilibrio eccellente: riduce il carico computazionale (FLOPs) mantenendo una precisione competitiva, caratteristica che lo rende molto interessante per le applicazioni di edge computing.
Confronto delle prestazioni e delle metriche#
Confrontando questi due modelli di punta sul dataset standard MS COCO, emergono compromessi distinti tra accuratezza assoluta e latenza di inferenza.
| 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 |
| 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 |
Analisi dei dati#
- Latenza e accuratezza: in genere, i modelli YOLOv10 offrono velocità di inferenza superiori. Per esempio, YOLOv10s raggiunge il 46,3% di mAP in appena 2,49 ms su TensorRT, mentre YOLOv9s richiede 3,54 ms per ottenere un valore di mAP simile, pari al 46,8%.
- Precisione di fascia alta: per gli scenari di ricerca che richiedono la massima accuratezza di rilevamento, YOLOv9e rimane una scelta formidabile, con un impressionante 55,6% di mAP. La sua architettura PGI garantisce un'estrazione affidabile anche delle caratteristiche più sottili.
- Efficienza: YOLOv10 eccelle nell'efficienza in termini di FLOPs. Questo si traduce direttamente in un consumo energetico inferiore, una metrica fondamentale per i dispositivi a batteria che eseguono modelli di IA per la visione.
Se esegui il deployment su CPU o su hardware edge con risorse limitate, come un Raspberry Pi, l'architettura di YOLOv10 priva di NMS offre in genere una pipeline più fluida, eliminando le fasi di post-processing non deterministiche.
I vantaggi di Ultralytics: addestramento ed ecosistema#
Le differenze architetturali sono fondamentali, ma l'ecosistema software circostante incide notevolmente sul successo di un progetto. YOLOv9 e YOLOv10 sono entrambi completamente integrati nell'ecosistema Ultralytics, che offre un'esperienza di sviluppo senza pari.
Semplicità d'uso ed efficienza nell'uso della memoria#
A differenza delle complesse architetture basate su Transformer, che richiedono enormi quantità di memoria, i modelli Ultralytics YOLO sono progettati per un utilizzo ottimale della memoria GPU. Questo consente ai ricercatori di usare dimensioni di batch maggiori su hardware consumer, rendendo accessibile l'IA all'avanguardia.
L'API Python unificata astrae le complessità dell'aumento dei dati e dell'ottimizzazione degli iperparametri. Puoi passare facilmente da un'architettura all'altra modificando semplicemente la stringa del file dei pesi.
from ultralytics import YOLO
# Carica un modello YOLOv10 (puoi passare facilmente a "yolov9c.pt" per YOLOv9)
model = YOLO("yolov10n.pt")
# Addestra il modello sul dataset COCO8
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Valida le prestazioni del modello
metrics = model.val()
# Esporta il modello addestrato in formato ONNX per il deployment
model.export(format="onnx")Che tu debba registrare le metriche in MLflow o esportare in TensorRT per il deployment su hardware ad alta velocità, il pacchetto Python Ultralytics gestisce tutto in modo nativo.
Casi d'uso ideali#
La scelta tra questi modelli dipende dai vincoli del tuo deployment:
- Scegli YOLOv9 se: ti occupi di attività di rilevamento di oggetti di piccole dimensioni, come l'analisi di immagini aeree riprese da droni o il rilevamento di piccoli tumori, per cui la capacità dell'architettura GELAN di conservare le caratteristiche offre la massima fedeltà.
- Scegli YOLOv10 se: il tuo obiettivo principale è l'inferenza in tempo reale su dispositivi edge. L'architettura priva di NMS è perfetta per la robotica autonoma, il monitoraggio del traffico in tempo reale e la sorveglianza intelligente.
Prepararsi al futuro: il passaggio a YOLO26#
Anche se YOLOv8, YOLOv9 e YOLOv10 sono modelli eccellenti, gli sviluppatori che vogliono creare soluzioni IA moderne dovrebbero valutare Ultralytics YOLO26, rilasciato a gennaio 2026.
YOLO26 rappresenta la sintesi definitiva delle generazioni precedenti e combina i migliori aspetti dell'accuratezza di YOLOv9 e dell'efficienza di YOLOv10.
Principali innovazioni di YOLO26#
- Architettura end-to-end priva di NMS: sulla base di YOLOv10, la testa opzionale one-to-one di YOLO26 (
nms=False) salta il post-processing NMS per semplificare il deployment. - Ottimizzatore MuSGD: una soluzione ibrida tra SGD e Muon che porta nella visione artificiale le innovazioni dell'addestramento dei LLM, per una convergenza estremamente stabile e rapida.
- Inferenza su CPU fino al 43% più veloce: ottimizzata specificamente per l'edge computing e per i dispositivi privi di GPU dedicate.
- Rimozione della DFL: la Distribution Focal Loss è stata rimossa per semplificare l'esportazione dei modelli e migliorare la compatibilità con i dispositivi a basso consumo.
- ProgLoss + STAL: queste funzioni di loss migliorate offrono notevoli progressi nel riconoscimento di oggetti di piccole dimensioni, eguagliando o superando le capacità di YOLOv9.
Per chi sta valutando architetture meno recenti, RT-DETR e YOLO11 sono alternative ben documentate nell'ecosistema Ultralytics. Tuttavia, per la massima versatilità in tutte le attività di visione, passare a YOLO26 sulla Ultralytics Platform ti permette di sfruttare il meglio dell'IA open source per la visione.