YOLOv9 vs. YOLOv10: un confronto tecnico per il rilevamento di oggetti
La scelta del giusto modello di rilevamento degli oggetti è una decisione cruciale per gli sviluppatori e i ricercatori, che devono bilanciare la necessità di un'elevata precisione con i vincoli dell'inferenza in tempo reale e delle risorse computazionali. Questa guida fornisce un confronto tecnico approfondito tra YOLOv9 e YOLOv10due architetture all'avanguardia che hanno spinto i confini delle prestazioni della computer vision nel 2024.
Mentre YOLOv9 si concentra sulle innovazioni architettoniche per risolvere i colli di bottiglia informativi dell'apprendimento profondo, YOLOv10 introduce un cambiamento di paradigma con un design NMS per una latenza minima. Entrambi i modelli sono completamente integrati nel pacchettoUltralytics Python , consentendo agli utenti di addestrarli, validarli e distribuirli facilmente all'interno di un ecosistema unificato.
Metriche di prestazione e parametri di riferimento
I compromessi delle prestazioni tra questi due modelli sono diversi. YOLOv9 in genere spinge al massimo la precisione media (mAP), in particolare con le sue varianti più grandi, rendendolo adatto a scenari in cui l'accuratezza è fondamentale. Al contrario, YOLOv10 è progettato per l'efficienza, riducendo in modo significativo la latenza dell'inferenza e il numero di parametri, il che è ideale per l'implementazione in ambito edge.
La tabella seguente illustra queste differenze utilizzando il set di datiCOCO . In particolare, YOLOv10n raggiunge velocità incredibili sulle GPU T4, mentre YOLOv9e domina nella precisione del rilevamento.
| 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 |
| 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 |
YOLOv9: risolvere il collo di bottiglia dell'informazione
In uscita a febbraio 2024, YOLOv9 affronta una sfida teorica fondamentale delle reti neurali profonde: la perdita di informazioni quando i dati si propagano attraverso gli strati profondi. Questo modello è stato progettato per garantire che la rete conservi le caratteristiche essenziali necessarie per un rilevamento accurato degli oggetti.
Dettagli tecnici:
- Autori: Chien-Yao Wang, Hong-Yuan Mark Liao
- Organizzazione:Istituto di Scienze dell'Informazione, Academia Sinica
- Data: 2024-02-21
- Arxiv:arXiv:2402.13616
- GitHub:WongKinYiu/yolov9
Architettura: IGP e GELAN
YOLOv9 introduce due concetti innovativi:
- Informazioni programmabili sul gradiente (PGI): Una struttura di supervisione ausiliaria che previene la perdita di informazioni durante l'addestramento. Garantisce la generazione di gradienti affidabili per l'aggiornamento dei pesi della rete, risolvendo i problemi di supervisione profonda riscontrati nelle architetture precedenti.
- Rete di aggregazione a livelli generalizzata efficiente (GELAN): Un'architettura innovativa che massimizza l'efficienza dei parametri. GELAN consente al modello di ottenere una maggiore accuratezza con un minor numero di parametri rispetto ai progetti convenzionali, ottimizzando il modo in cui le caratteristiche vengono aggregate tra i vari livelli.
Punti di forza e debolezze
YOLOv9 eccelle nelle applicazioni critiche per la precisione. La sua capacità di conservare informazioni dettagliate sulle caratteristiche lo rende superiore per il rilevamento di piccoli oggetti o per la navigazione in scene complesse. Tuttavia, questa sofisticazione comporta un compromesso in termini di complessità. Le aggiunte architettoniche come l'IGP servono principalmente per l'addestramento, quindi possono essere rimosse durante l'inferenza, ma le risorse per l'addestramento potrebbero essere più elevate. Inoltre, pur essendo efficiente, la sua latenza è generalmente più alta rispetto ai progetti efficienti specializzati di YOLOv10.
YOLOv10: l'era del rilevamento NMS
YOLOv10sviluppato dai ricercatori dell'Università Tsinghua e rilasciato nel maggio 2024, privilegia la velocità in tempo reale e la distribuibilità end-to-end. La sua caratteristica principale è l'eliminazione della soppressione non massima (NMS), una fase di post-elaborazione che tradizionalmente ha rappresentato un collo di bottiglia per la latenza dell'inferenza.
Dettagli tecnici:
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione:Università Tsinghua
- Data: 2024-05-23
- Arxiv:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
Architettura: Assegnazioni doppie coerenti
L'innovazione principale di YOLOv10 è la doppia assegnazione coerente durante l'addestramento. Il modello impiega una strategia di assegnazione uno-a-molti per una supervisione ricca durante l'addestramento, ma passa a un'assegnazione uno-a-uno per l'inferenza. Questa architettura consente al modello di prevedere direttamente il rettangolo di selezione ottimale per ogni oggetto, rendendo obsoleta la post-elaborazione NMS . Abbinato a un design a blocchi guidato da ranghi, YOLOv10 riduce la ridondanza e l'overhead computazionale (FLOP).
Punti di forza e debolezze
Il vantaggio principale di YOLOv10 è la bassa latenza. Eliminando l'NMS, la latenza di inferenza diventa deterministica e significativamente più bassa, il che è fondamentale per l'elaborazione video in tempo reale. Vanta anche un'eccellente efficienza dei parametri, come si vede nella tabella di confronto, dove i modelli YOLOv10 raggiungono un'accuratezza competitiva con un minor numero di FLOP. Un potenziale punto debole è la sua introduzione relativamente recente rispetto agli ecosistemi consolidati, anche se l'integrazione in Ultralytics lo attenua. Inoltre, è altamente specializzato nel rilevamento, mentre altri modelli dell'ecosistema offrono un più ampio supporto multi-task.
Esportazione end-to-end
Poiché YOLOv10 è NMS, l'esportazione in formati come ONNX o TensorRT è spesso più semplice e produce modelli end-to-end "puri" senza richiedere complessi plugin di post-elaborazione.
Analisi comparativa per gli sviluppatori
Quando si integrano questi modelli nella produzione, entrano in gioco diversi fattori pratici oltre alle metriche grezze.
Facilità d'uso ed ecosistema
Entrambi i modelli traggono enormi vantaggi dall'appartenenza all'ecosistemaUltralytics . Ciò significa che gli sviluppatori possono passare da YOLOv9 a YOLOv10 semplicemente cambiando una stringa del modello, utilizzando le stesse pipeline di addestramento, gli stessi strumenti di validazione e gli stessi formati di distribuzione.
- Efficienza della formazione: I modelli Ultralytics richiedono in genere meno memoria rispetto ai rilevatori basati su trasformatori, consentendo l'addestramento su GPU consumer standard.
- Versatilità: Mentre YOLOv9 e YOLOv10 si concentrano sul rilevamento, l'API Ultralytics supporta altri compiti come la segmentazione delle istanze e la stima della posa attraverso modelli come YOLO11 e YOLOv8, offrendo un kit di strumenti completo per diversi progetti di IA visiva.
Casi d'uso ideali
Scegliete YOLOv9 quando:
- La vostra applicazione richiede la massima precisione possibile (ad esempio, imaging medico, rilevamento di difetti nella produzione).
- Si lavora con oggetti detect da individuare e la conservazione delle informazioni è fondamentale.
- La latenza è una preoccupazione secondaria rispetto alla precisione.
Scegli YOLOv10 quando:
- La velocità è fondamentale. Applicazioni come la guida autonoma, la navigazione robotica o l'analisi video ad alta frequenza traggono vantaggio dal design NMS.
- Distribuzione su dispositivi edge (come NVIDIA Jetson o Raspberry Pi) dove le risorse GPU sono limitate.
- È necessario un tempo di inferenza deterministico senza la variabilità introdotta dall'elaborazione NMS .
Esempio di codice: Esecuzione di entrambi i modelli
Grazie all'API unificata di Ultralytics , il confronto di questi modelli sui propri dati è semplice. Il seguente codice Python dimostra come caricare ed eseguire l'inferenza con entrambe le architetture.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model_v9 = YOLO("yolov9c.pt")
# Load a pre-trained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
# Run inference on an image
results_v9 = model_v9("path/to/image.jpg")
results_v10 = model_v10("path/to/image.jpg")
# Print results
print(f"YOLOv9 Detection: {len(results_v9[0].boxes)}")
print(f"YOLOv10 Detection: {len(results_v10[0].boxes)}")
Conclusione
Sia YOLOv9 che YOLOv10 rappresentano pietre miliari della computer vision. YOLOv9 spinge i limiti teorici della conservazione e dell'accuratezza delle caratteristiche, rendendolo una potenza per la ricerca e per i compiti di precisione. YOLOv10 ridefinisce l'efficienza eliminando il collo di bottiglia dell'NMS , offrendo una soluzione semplificata per le applicazioni in tempo reale.
Per gli utenti che cercano il miglior equilibrio tra accuratezza, velocità e ricchezza di funzioni per più compiti (tra cui la segmentazione e la classificazione), consigliamo di esplorare anche YOLO11. Ultima nata in casa Ultralytics, YOLO11 affina i migliori attributi dei suoi predecessori in un pacchetto robusto e pronto per le aziende, adatto praticamente a qualsiasi applicazione di IA visiva.
Esplora altri modelli
L'ecosistema Ultralytics è vasto. Se i requisiti del vostro progetto sono diversi, considerate queste alternative:
- YOLO11: l'ultimo modello all'avanguardia che offre prestazioni e versatilità superiori in termini di rilevamento, segmentazione, posa, OBB e classificazione.
- YOLOv8: un modello molto popolare e stabile, noto per l'ampia compatibilità e il supporto multi-task.
- RT-DETR: un rilevatore basato su trasformatore che offre un'elevata precisione senza la necessità di un NMS e che rappresenta un'alternativa alle architetture YOLO per casi d'uso specifici.
Sfruttando la piattaforma Ultralytics , potete accedere all'intera suite di modelli, assicurandovi di avere sempre lo strumento giusto per il vostro lavoro.