YOLOv10 contro YOLOv7: Un confronto tecnico dettagliato
Scegliere il modello di object detection giusto è fondamentale per i progetti di computer vision, in quanto influisce su performance, velocità e utilizzo delle risorse. Questa pagina fornisce un confronto tecnico tra YOLOv10 e YOLOv7, due modelli significativi nella famiglia You Only Look Once (YOLO), per aiutarti a selezionare la soluzione più adatta alle tue esigenze. Approfondiremo le loro architetture, le metriche di performance e i casi d'uso ideali.
YOLOv10
YOLOv10, introdotto a maggio 2024 dai ricercatori della Tsinghua University, rappresenta un significativo progresso nel rilevamento di oggetti in tempo reale. La sua principale innovazione è il raggiungimento del rilevamento di oggetti end-to-end eliminando la necessità di Non-Maximum Suppression (NMS) durante l'inferenza. Questa svolta riduce l'overhead computazionale e diminuisce la latenza di inferenza, rendendo l'implementazione più efficiente.
Dettagli tecnici:
- Autori: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organizzazione: Tsinghua University
- Data: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- Documentazione: https://docs.ultralytics.com/models/yolov10/
Architettura e caratteristiche principali
YOLOv10 introduce diverse innovazioni architetturali volte a ottimizzare il compromesso tra velocità e precisione:
- Addestramento senza NMS: Utilizzando assegnazioni duali coerenti per l'assegnazione delle etichette, YOLOv10 evita predizioni ridondanti ed elimina la necessità della fase di post-elaborazione NMS. Ciò semplifica la pipeline di implementazione e rende il modello veramente end-to-end.
- Progettazione guidata dall'efficienza-accuratezza olistica: L'architettura del modello è stata ottimizzata in modo olistico sia per l'efficienza che per le prestazioni. Ciò include l'introduzione di un head di classificazione leggero e l'utilizzo del downsampling disaccoppiato spazio-canale per ridurre la ridondanza computazionale migliorando al contempo la capacità del modello.
- Approccio Anchor-Free: Come altri modelli YOLO moderni, adotta un design di rilevatore anchor-free, che semplifica l'head di rilevamento e migliora la generalizzazione.
- Integrazione perfetta con Ultralytics: YOLOv10 è completamente integrato nell'ecosistema Ultralytics, beneficiando di un'esperienza utente semplificata con una semplice API Python e potenti comandi CLI. Ciò rende l'addestramento, la convalida e l'implementazione eccezionalmente semplici.
Punti di forza
- Efficienza all'avanguardia: Il design NMS-free e le ottimizzazioni architetturali portano a velocità di inferenza più elevate e a una latenza significativamente inferiore, il che è fondamentale per le applicazioni in tempo reale.
- Accuratezza Competitiva: YOLOv10 mantiene un'elevata accuratezza riducendo drasticamente le dimensioni del modello e i costi computazionali rispetto ai suoi predecessori.
- Distribuzione semplificata: L'eliminazione di NMS crea una vera pipeline di rilevamento end-to-end, rendendone più semplice la distribuzione, specialmente su dispositivi edge.
- Eccellente scalabilità: Offre una gamma di modelli da Nano (N) a Extra-large (X), soddisfacendo diverse esigenze di prestazioni, dall'hardware edge con risorse limitate ai potenti server cloud.
Punti deboli
- Modello più recente: Essendo una versione recente, il supporto della community e il numero di integrazioni di terze parti potrebbero essere meno estesi rispetto ai modelli più consolidati come YOLOv7 o Ultralytics YOLOv8.
YOLOv7
YOLOv7, rilasciato a luglio 2022, ha rapidamente stabilito un nuovo standard per il rilevamento di oggetti grazie al suo notevole equilibrio tra velocità e precisione. Sviluppato da ricercatori dell'Institute of Information Science, Academia Sinica, ha introdotto diversi miglioramenti architetturali e strategie di addestramento note come "trainable bag-of-freebies" per aumentare le prestazioni senza incrementare i costi di inferenza.
Dettagli tecnici:
- Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica, Taiwan
- Data: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Documentazione: https://docs.ultralytics.com/models/yolov7/
Architettura e caratteristiche principali
L'architettura di YOLOv7 incorpora diversi miglioramenti chiave che hanno spinto i confini del rilevamento di oggetti in tempo reale al momento della sua uscita:
- Extended Efficient Layer Aggregation Networks (E-ELAN): Questa struttura di rete avanzata migliora la capacità del modello di apprendere feature diversificate mantenendo un flusso di gradiente efficiente, portando a una migliore accuratezza e una convergenza più rapida.
- Scalabilità del Modello per Modelli Basati sulla Concatenazione: YOLOv7 ha introdotto metodi di scalabilità composita che regolano in modo intelligente la profondità e la larghezza del modello per ottimizzare le prestazioni in base a diversi budget computazionali.
- Bag-of-Freebies addestrabile: Sfrutta tecniche di addestramento avanzate, come l'uso di un head ausiliario con guida coarse-to-fine, per migliorare l'accuratezza senza aggiungere alcun overhead durante l'inferenza.
Punti di forza
- mAP elevata: Offre un'eccellente accuratezza nel rilevamento degli oggetti, il che lo rende una scelta valida per applicazioni in cui la precisione è fondamentale.
- Inferenza veloce: Offre velocità di inferenza competitive adatte a molte attività in tempo reale, specialmente su hardware GPU.
- Consolidato: Essendo disponibile da più tempo, YOLOv7 beneficia di una base di utenti più ampia, più tutorial e una più ampia adozione in vari progetti.
Punti deboli
- Dipendenza da NMS: A differenza di YOLOv10, YOLOv7 si basa sulla fase di post-elaborazione NMS, che aumenta la latenza di inferenza complessiva e complica la pipeline di implementazione.
- Meno efficiente: Rispetto a YOLOv10, i modelli YOLOv7 generalmente hanno più parametri e FLOPs più elevati per un livello di accuratezza simile, rendendoli meno efficienti.
Confronto delle prestazioni: YOLOv10 vs YOLOv7
Nel confrontare le prestazioni, YOLOv10 dimostra un chiaro vantaggio in termini di efficienza. Il confronto più diretto è tra YOLOv10-M e YOLOv7-L. Come mostrato nella tabella seguente, YOLOv10-M raggiunge un mAPval quasi identico del 51,3% rispetto al 51,4% di YOLOv7-L. Tuttavia, YOLOv10-M è significativamente più efficiente: è più veloce (5,48 ms contro 6,84 ms su TensorRT), ha meno della metà dei parametri (15,4 M contro 36,9 M) e richiede molte meno risorse computazionali (59,1 B FLOP contro 104,7 B FLOP). Ciò evidenzia il design architettonico superiore di YOLOv10, che offre un'accuratezza comparabile con una efficienza molto maggiore.
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 |
Conclusione
Sia YOLOv10 che YOLOv7 sono modelli potenti per il rilevamento di oggetti, ma YOLOv10 rappresenta il passo successivo nell'efficienza del rilevamento in tempo reale. La sua architettura senza NMS fornisce una vera soluzione end-to-end più veloce, leggera e facile da implementare senza sacrificare la precisione. Per i nuovi progetti, specialmente quelli destinati all'edge AI o che richiedono una latenza minima, YOLOv10 è la scelta consigliata.
Sebbene YOLOv7 sia ancora un modello valido, la sua dipendenza da NMS e un'architettura meno efficiente lo rendono più adatto a progetti legacy o scenari in cui le sue ampie risorse della comunità sono una considerazione primaria. Per gli sviluppatori che cercano le migliori prestazioni, facilità d'uso e un ecosistema completo, i modelli Ultralytics come YOLOv10 offrono un'esperienza superiore. L'integrazione con Ultralytics HUB semplifica ulteriormente l'addestramento e la distribuzione, rendendo la computer vision avanzata più accessibile che mai.
Esplora altri modelli
Per ulteriori approfondimenti, considera questi altri modelli all'avanguardia disponibili nella documentazione di Ultralytics:
- Ultralytics YOLOv8: Un modello altamente versatile che eccelle in molteplici attività di visione artificiale, tra cui il rilevamento, la segmentazione e la stima della posa.
- YOLOv9: Introduce innovazioni come il Programmable Gradient Information (PGI) per affrontare la perdita di informazioni nelle reti profonde.
- YOLO11: L'ultimo modello ufficiale di Ultralytics, che offre prestazioni all'avanguardia, supporto multi-task e una facilità d'uso senza pari.