Confronto tra modelli: YOLOv8 e YOLOv7 per il rilevamento di oggetti
La selezione del modello di object detection giusto è fondamentale per ottenere performance ottimali nelle attività di computer vision. Questa pagina offre un confronto tecnico tra Ultralytics YOLOv8 e YOLOv7, due modelli significativi nel settore. Analizzeremo le loro sfumature architetturali, i benchmark di performance e le applicazioni ideali per guidare il tuo processo di selezione del modello, evidenziando i vantaggi offerti dall'ecosistema Ultralytics. Mentre entrambi i modelli hanno fatto progredire lo stato dell'arte, YOLOv8 emerge come la scelta superiore per le applicazioni moderne grazie alle sue performance migliorate, alla versatilità e all'eccezionale facilità d'uso.
YOLOv8: Efficienza e adattabilità all'avanguardia
Ultralytics YOLOv8, rilasciato nel 2023, è l'ultimo modello di punta di Ultralytics. Si basa sui successi dei suoi predecessori, introducendo un nuovo livello di prestazioni, flessibilità ed efficienza. In quanto modello all'avanguardia, YOLOv8 è progettato per eccellere in un'ampia gamma di attività di computer vision.
Autori: Glenn Jocher, Ayush Chaurasia e Jing Qiu
Organizzazione: Ultralytics
Data: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
Documenti: https://docs.ultralytics.com/models/yolov8/
Architettura e Design
YOLOv8 presenta un'architettura perfezionata, potente e facile da usare. I principali miglioramenti architetturali includono un nuovo detection head anchor-free e un backbone più efficiente. Il design anchor-free riduce il numero di previsioni di box, il che semplifica le fasi di post-elaborazione come la Non-Maximum Suppression (NMS) e accelera la velocità di inferenza. Ciò rende YOLOv8 più adattabile a varie forme e dimensioni di oggetti senza la necessità di una regolazione manuale degli anchor.
Punti di forza
- Prestazioni all'avanguardia: YOLOv8 offre un equilibrio eccezionale tra accuratezza e velocità, superando i modelli precedenti su tutte le scale. I suoi modelli più piccoli sono più veloci e precisi rispetto alle varianti YOLOv7 comparabili, mentre i suoi modelli più grandi stabiliscono nuovi standard di precisione.
- Versatilità senza pari: A differenza di YOLOv7, che è principalmente un rilevatore di oggetti, YOLOv8 è un framework unificato che supporta molteplici attività out-of-the-box: rilevamento di oggetti, segmentazione di istanze, stima della posa, classificazione delle immagini e rilevamento di oggetti orientati (OBB).
- Facilità d'uso: Ultralytics dà priorità a un'esperienza di sviluppo semplificata. YOLOv8 è dotato di una semplice API Python e di una CLI, di una documentazione completa e di un'integrazione perfetta con strumenti come Ultralytics HUB per l'addestramento e la distribuzione senza codice.
- Ecosistema ben mantenuto: Come modello ufficiale Ultralytics, YOLOv8 beneficia di sviluppo attivo, aggiornamenti frequenti e una forte comunità open source. Ciò garantisce affidabilità, accesso alle funzionalità più recenti e un ampio supporto.
- Efficienza di addestramento e memoria: I modelli YOLOv8 sono progettati per un addestramento efficiente, che spesso richiede meno memoria CUDA rispetto ad altre architetture come i transformer. I pesi pre-addestrati immediatamente disponibili su set di dati come COCO consentono una convergenza più rapida sui dati personalizzati.
Punti deboli
- Essendo un modello altamente avanzato, le varianti YOLOv8 più grandi richiedono notevoli risorse computazionali per l'addestramento, sebbene rimangano altamente efficienti per il loro livello di prestazioni.
Casi d'uso ideali
Le prestazioni superiori e la versatilità di YOLOv8 lo rendono la scelta ideale per un'ampia gamma di applicazioni, dai dispositivi edge ai server cloud.
- Automazione industriale in tempo reale: Alimentazione del controllo qualità e del monitoraggio dei processi nella produzione con rilevamento accurato e ad alta velocità.
- Soluzioni AI avanzate: Abilitazione di applicazioni complesse in agricoltura per il monitoraggio delle colture e in sanità per l'analisi di immagini mediche.
- Sistemi autonomi: Fornire una percezione robusta per veicoli autonomi e robotica.
YOLOv7: Un benchmark nel rilevamento in tempo reale
YOLOv7 è stato introdotto nel 2022 come un significativo passo avanti nel rilevamento di oggetti in tempo reale, stabilendo un nuovo stato dell'arte al momento della sua uscita. Si è concentrato sull'ottimizzazione dei processi di addestramento per migliorare la precisione senza aumentare i costi di inferenza.
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 Design
YOLOv7 ha introdotto diverse innovazioni architetturali, tra cui la Extended Efficient Layer Aggregation Network (E-ELAN) nel suo backbone per migliorare l'efficienza dell'apprendimento. Il suo contributo più notevole è stato il concetto di "trainable bag-of-freebies", che sono strategie di addestramento che migliorano l'accuratezza del modello senza aumentare l'overhead di inferenza. Questi includono tecniche come gli head ausiliari e l'assegnazione di etichette coarse-to-fine.
Punti di forza
- Alte prestazioni al momento del rilascio: YOLOv7 offriva un'eccellente combinazione di velocità e accuratezza, superando altri rilevatori disponibili all'epoca.
- Addestramento efficiente: Il concetto di "bag-of-freebies" gli ha permesso di raggiungere un'elevata accuratezza con routine di addestramento ottimizzate.
- Benchmark consolidato: È un modello molto apprezzato, ampiamente testato su dataset standard come MS COCO.
Punti deboli
- Versatilità Limitata: YOLOv7 è principalmente un rilevatore di oggetti. Estenderlo ad altre attività come la segmentazione o la stima della posa richiede implementazioni separate, spesso guidate dalla community, a differenza dell'approccio integrato di YOLOv8.
- Complessità Architetturale: Le tecniche di training e i componenti architetturali possono essere più complessi da comprendere e modificare rispetto al design semplificato di YOLOv8.
- Superato da modelli più recenti: Pur essendo stato potente, YOLOv7 è stato superato in termini di velocità e accuratezza da YOLOv8. L'ecosistema Ultralytics offre anche un'esperienza più completa e facile da usare.
Casi d'uso ideali
YOLOv7 rimane un modello valido per le applicazioni in cui è stato integrato prima del rilascio di alternative più recenti.
- Sistemi di sicurezza in tempo reale: Adatto per applicazioni come la prevenzione dei furti dove una rilevazione rapida e accurata è fondamentale.
- Progetti legacy: Un'opzione valida per mantenere o estendere i sistemi esistenti basati sull'architettura YOLOv7.
Prestazioni e benchmark: YOLOv8 vs. YOLOv7
Il confronto delle prestazioni illustra chiaramente i progressi compiuti con YOLOv8. In generale, i modelli YOLOv8 offrono un miglior compromesso tra accuratezza e velocità.
Modello | dimensione (pixel) |
mAPval 50-95 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Dai dati emergono diverse informazioni chiave:
- Accuratezza superiore: Il modello più grande, YOLOv8x, raggiunge un mAP di 53,9, superando il mAP di 53,1 del modello YOLOv7x.
- Velocità senza pari: I modelli YOLOv8 sono significativamente più veloci, specialmente su CPU. Il modello YOLOv8n vanta un tempo di inferenza di soli 80,4 ms su CPU con ONNX, una metrica non disponibile per YOLOv7 ma dimostrabilmente più veloce nella pratica. Su GPU, YOLOv8n raggiunge un incredibile 1,47 ms con TensorRT, superando di gran lunga l'efficienza di YOLOv7.
- Maggiore efficienza: I modelli YOLOv8 hanno meno parametri e FLOP per prestazioni comparabili o migliori. Ad esempio, YOLOv8l raggiunge quasi la stessa mAP di YOLOv7x (52,9 contro 53,1) ma con un numero di parametri significativamente inferiore (43,7 milioni contro 71,3 milioni) e FLOP (165,2 miliardi contro 189,9 miliardi).
Conclusione: Perché Ultralytics YOLOv8 è la scelta preferita
Sebbene YOLOv7 fosse un modello formidabile, YOLOv8 è chiaramente la scelta vincente per nuovi progetti e sviluppo. La sua architettura superiore, le prestazioni all'avanguardia e l'incredibile versatilità lo rendono lo strumento più potente e facile da usare disponibile per il rilevamento di oggetti e altre attività di computer vision.
L'ecosistema integrato Ultralytics offre un vantaggio significativo, fornendo un'esperienza fluida dall'addestramento all'implementazione. Per gli sviluppatori e i ricercatori che cercano un modello robusto, ben supportato e ad alte prestazioni, YOLOv8 è la scelta definitiva.
Esplora altri modelli
Per chi fosse interessato ad approfondire, Ultralytics offre una vasta gamma di modelli e confronti. Si consiglia di esaminare:
- YOLOv8 vs. YOLOv5: Confronta YOLOv8 con un altro modello ampiamente adottato ed efficiente.
- YOLOv8 vs. RT-DETR: Scopri come YOLOv8 si confronta con le architetture basate su transformer.
- YOLO11 vs. YOLOv8: Esplora i progressi nell'ultimo modello Ultralytics, YOLO11.