YOLOv10 vs YOLOv7: avanzamento dell'architettura di rilevamento degli oggetti in tempo reale
L'evoluzione della famiglia YOLO (You Only Look Once) ha costantemente spinto i confini della computer vision, bilanciando velocità e precisione per le applicazioni in tempo reale. Questo confronto esplora i cambiamenti architettonici e le differenze di prestazioni tra YOLOv10, un modello all'avanguardia rilasciato dai ricercatori dell'Università Tsinghua, e YOLOv7un modello molto influente sviluppato dall'Academia Sinica. Sebbene entrambi i modelli abbiano apportato contributi significativi al campo del rilevamento degli oggetti, utilizzano strategie diverse per raggiungere i loro obiettivi di prestazione.
Evoluzione delle architetture dei modelli
Il passaggio da YOLOv7 a YOLOv10 segna un cambiamento paradigmatico nel modo in cui le reti neurali gestiscono la post-elaborazione e l'integrazione delle caratteristiche.
YOLOv10: la rivoluzione NMS
YOLOv10rilasciato il 23 maggio 2024 da Ao Wang, Hui Chen e altri dell'Università Tsinghua, introduce un'innovativa strategia di addestramento NMS. Tradizionalmente, i rilevatori di oggetti si affidano alla Non-Maximum Suppression (NMS) per filtrare i bounding box duplicati, che può creare un collo di bottiglia nella latenza dell'inferenza.
YOLOv10 utilizza le assegnazioni doppie coerenti per l'addestramento NMS, consentendo al modello di prevedere direttamente le istanze di oggetti unici. In combinazione con una progettazione olistica del modello orientata all'efficienza e alla precisione, ottimizza vari componenti, tra cui la testa di classificazione leggera e il downsampling disaccoppiato per canale spaziale, per ridurre la ridondanza computazionale.
YOLOv7: Ottimizzato per una borsa dei regali addestrabile
YOLOv7rilasciato il 6 luglio 2022 da Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao dell'Academia Sinica, si concentra sull'ottimizzazione del processo di addestramento senza aumentare i costi di inferenza. Ha introdotto la Extended Efficient Layer Aggregation Network (E-ELAN), che migliora la capacità di apprendimento della rete controllando il percorso del gradiente.
YOLOv7 sfrutta molto i "Bag-of-Freebies" - metodi che migliorano l'accuratezza durante l'addestramento senza impattare sulla velocità di inferenza - e le tecniche di scalatura del modello che compongono i parametri in modo efficiente. Pur essendo molto efficace, la sua dipendenza dalla tradizionale post-elaborazione NMS significa che la sua latenza end-to-end è spesso superiore a quella delle più recenti architetture NMS.
Confronto delle prestazioni tecniche
Quando si valutano questi modelli, emergono schemi distinti per quanto riguarda l'efficienza e la capacità di rilevamento grezzo. YOLOv10 offre generalmente un'efficienza superiore, ottenendo una mAP (Mean Average Precision) simile o migliore con un numero significativamente inferiore di parametri e tempi di inferenza più rapidi rispetto a YOLOv7.
La tabella seguente illustra le metriche chiave del set di datiCOCO .
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Approfondimento sull'efficienza
I dati evidenziano un vantaggio critico per YOLOv10 in ambienti con risorse limitate. YOLOv10m raggiunge un'accuratezza quasi identica (51,3% mAP) a YOLOv7l (51,4% mAP), ma lo fa con meno della metà dei parametri (15,4M contro 36,9M) e con FLOP significativamente inferiori (59,1B contro 104,7B).
Latenza e velocità di trasmissione
L'eliminazione del passaggio NMS da parte di YOLOv10 riduce drasticamente la varianza di latenza spesso riscontrata nelle scene affollate. In applicazioni come i veicoli autonomi o la sorveglianza dei droni, dove ogni millisecondo conta, il tempo di inferenza prevedibile di YOLOv10 offre un vantaggio fondamentale per la sicurezza. YOLOv7 rimane competitivo in termini di throughput sulle GPU di fascia alta, ma consuma più memoria e calcolo per ottenere risultati comparabili.
Casi d'uso e applicazioni
Le differenze architettoniche determinano gli scenari di implementazione ideali per ciascun modello.
Scenari ideali per YOLOv10
- Edge AI: grazie al basso numero di parametri e di FLOP, YOLOv10 è perfetto per dispositivi come Raspberry Pi o NVIDIA Jetson.
- Analisi video in tempo reale: L'elevata velocità di inferenza supporta l'elaborazione ad alto FPS per la gestione del traffico e l'analisi della vendita al dettaglio.
- Robotica: Una minore latenza si traduce in tempi di reazione più rapidi per le attività di navigazione e manipolazione dei robot.
Scenari ideali per YOLOv7
- Sistemi legacy: I progetti già integrati con la base di codice di YOLOv7 possono trovarla abbastanza stabile da poterla mantenere senza un immediato refactoring.
- Rilevamento per scopi generici: Per le implementazioni lato server in cui la VRAM è abbondante, i modelli più grandi di YOLOv7 forniscono ancora solide capacità di rilevamento, anche se sono meno efficienti rispetto alle alternative più recenti come YOLO11.
Il vantaggio di Ultralytics
Sebbene entrambi i modelli siano potenti, l'utilizzo dell'ecosistemaUltralytics offre vantaggi distinti a sviluppatori e ricercatori. Il framework Ultralytics standardizza l'interfaccia per l'addestramento, la convalida e l'implementazione, facilitando notevolmente il passaggio da un modello all'altro e il benchmark delle prestazioni.
Facilità d'uso ed efficienza formativa
Uno degli ostacoli principali del deep learning è la complessità delle pipeline di addestramento. I modelli Ultralytics , tra cui YOLOv10 e YOLO11utilizzano un'API Python semplificata che gestisce automaticamente l'aumento dei dati, la regolazione degli iperparametri e l'esportazione.
- API semplice: Addestrare un modello in poche righe di codice.
- Efficienza della memoria: Le ottimizzazioni di Ultralytics spesso comportano un minore utilizzo della memoria CUDA durante l'addestramento rispetto alle implementazioni grezze.
- Pesi pre-addestrati: Accesso a modelli pre-addestrati di alta qualità su ImageNet e COCO accelera l'apprendimento per trasferimento.
Versatilità tra i compiti
I moderni modelli Ultralytics vanno oltre il semplice rilevamento dei riquadri di delimitazione. Supportano la segmentazione delle istanze, la stima della posa, il rilevamento di oggetti orientati (OBB) e la classificazione all'interno dello stesso framework. Questa versatilità è un vantaggio fondamentale rispetto ai vecchi repository standalone.
Esempio di codice: Esecuzione di YOLOv10 con Ultralytics
L'esempio seguente dimostra la semplicità di utilizzo dell'API di Ultralytics per caricare un modello YOLOv10 pre-trainato ed eseguire l'inferenza. Questa facilità d'uso contrasta con la configurazione più manuale spesso richiesta per le architetture più vecchie, come YOLOv7.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Conclusione e raccomandazioni
Per i nuovi progetti, YOLOv10 o il più avanzato YOLO11 sono le scelte consigliate. L'architettura NMS di YOLOv10 offre un equilibrio superiore tra velocità e precisione, rendendolo altamente adattabile alle moderne esigenze di edge computing. Risolve i colli di bottiglia della latenza delle generazioni precedenti, riducendo al contempo l'ingombro computazionale.
Anche se YOLOv7 rimane una pietra miliare nella storia della computer vision, la sua architettura è meno efficiente rispetto agli standard odierni. Gli sviluppatori che cercano le migliori prestazioni, la manutenzione a lungo termine e la facilità di implementazione troveranno nell'ecosistemaUltralytics , coni suoi continui aggiornamenti e l'ampio supporto di strumenti, l'ambiente più produttivo per la creazione di soluzioni di IA di visione.
Per saperne di più
- Confronto YOLOv10 vs YOLOv8
- Confronto YOLOv10 vs YOLOv9
- YOLO11: l'ultima novità in fatto di rilevamento in tempo reale
- Guida all'esportazione dei modelli in TensorRT