YOLOv7 YOLOv9: evoluzione del rilevamento di oggetti in tempo reale
Il panorama della visione artificiale ha assistito a una rapida evoluzione, con la famiglia YOLO You Only Look Once) che ha costantemente guidato la carica nel rilevamento di oggetti in tempo reale. Due pietre miliari significative in questa linea sono YOLOv7, rilasciato nel luglio 2022, e YOLOv9, rilasciato nel febbraio 2024. Sebbene entrambe le architetture siano state sviluppate dai ricercatori dell'Istituto di Scienze dell'Informazione dell'Accademia Sinica, rappresentano generazioni distinte di ottimizzazione del deep learning.
Questa guida offre un confronto tecnico tra questi due potenti modelli, analizzandone le innovazioni architetturali, le metriche prestazionali e i casi d'uso ideali all'interno Ultralytics .
Innovazioni Architetturali
La differenza fondamentale tra questi modelli risiede nel modo in cui gestiscono la propagazione delle caratteristiche e il flusso del gradiente attraverso le reti profonde.
YOLOv7: Il sacco dei regali
Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao, YOLOv7 ha introdotto l'E-ELAN (Extended Efficient Layer Aggregation Network). Questa architettura consente alla rete di apprendere caratteristiche più diversificate controllando i percorsi di gradiente più brevi e più lunghi.
YOLOv7 famoso per il suo "Bag-of-Freebies", una raccolta di metodi di addestramento che migliorano la precisione senza aumentare il costo dell'inferenza. Questi includono tecniche di riparametrizzazione e supervisione ausiliaria, che aiutano il modello ad apprendere rappresentazioni migliori durante l'addestramento, ma vengono unite o rimosse durante l'esportazione del modello per una distribuzione più rapida.
YOLOv9: Informazioni di gradiente programmabili
YOLOv9, sviluppato da Chien-Yao Wang e Hong-Yuan Mark Liao, affronta il problema del "colli di bottiglia informativi" insito nelle reti profonde. Man mano che i dati passano attraverso livelli successivi, le informazioni di input spesso vanno perse. YOLOv9 due concetti rivoluzionari descritti in dettaglio nel loro articolo su Arxiv:
- GELAN (Generalized Efficient Layer Aggregation Network): un'architettura che combina i punti di forza di CSPNet ed ELAN per massimizzare l'efficienza dei parametri.
- PGI (Programmable Gradient Information): un framework di supervisione ausiliario che genera gradienti affidabili per l'aggiornamento dei pesi della rete, garantendo che il modello conservi le informazioni cruciali in tutta la profondità della rete.
Analisi delle prestazioni
Quando si sceglie tra diverse architetture, gli sviluppatori devono trovare un equilibrio tra precisione media (mAP), velocità di inferenza e costo computazionale (FLOP). La tabella sottostante evidenzia le differenze di prestazioni sul COCO .
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
Punti chiave
- Efficienza: YOLOv9m raggiunge la stessa precisione (51,4% mAP) di YOLOv7l, ma con quasi il 45% di parametri in meno (20,0 milioni contro 36,9 milioni) e FLOP significativamente inferiori.
- Velocità: per applicazioni in tempo reale in cui ogni millisecondo è importante, YOLOv9t offre velocità incredibili (2,3 ms su T4 TensorRT) adatte ai dispositivi edge.
- Precisione:YOLOv9e supera i limiti della precisione di rilevamento, raggiungendo mAP del 55,6% e risultando quindi superiore per le attività che richiedono un'elevata precisione.
Il vantaggio dell'ecosistema Ultralytics
Indipendentemente dalla scelta YOLOv7 YOLOv9, l'utilizzo tramite il Python Ultralytics offre un'esperienza unificata e semplificata.
Facilità d'uso e formazione
Ultralytics i complessi cicli di addestramento presenti nelle PyTorch grezze. Gli sviluppatori possono passare da un'architettura all'altra modificando un singolo argomento stringa, semplificando la regolazione degli iperparametri e la sperimentazione.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model (or substitute with "yolov7.pt")
model = YOLO("yolov9c.pt")
# Train on the COCO8 dataset with efficient memory management
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate performance
metrics = model.val()
Gestione della memoria e delle risorse
Un vantaggio significativo Ultralytics è l'utilizzo ottimizzato della memoria. A differenza di molti modelli basati su Transformer (come le varianti DETR) o dei vecchi rilevatori a due stadi,YOLO Ultralytics sono progettati per ridurre al minimo i picchi CUDA . Ciò consente ai ricercatori di utilizzare batch di dimensioni maggiori su GPU di livello consumer, democratizzando l'accesso alla formazione di modelli di fascia alta.
Gestione integrata dei set di dati
Ultralytics automaticamente il download e la formattazione dei set di dati. È possibile iniziare immediatamente l'addestramento con set di dati standard come COCO8 o Objects365 senza dover scrivere complessi programmi di caricamento dati.
Applicazioni nel mondo reale
Quando scegliere YOLOv7
YOLOv7 una scelta affidabile per i sistemi in cui la compatibilità con le versioni precedenti è fondamentale.
- Pipeline consolidate: i progetti già integrati con le pipeline di esportazione C++ dell'era 2022 potrebbero trovare più facile continuare a utilizzare YOLOv7.
- Rilevamento generico: per l'analisi video standard in cui il numero minimo assoluto di parametri non è il vincolo principale, YOLOv7 offrire prestazioni eccellenti.
Quando scegliere YOLOv9
YOLOv9 generalmente consigliato per le nuove implementazioni grazie alla sua superiore efficienza dei parametri.
- Edge Computing: la leggerezza di GELAN rende YOLOv9 per sistemi integrati e applicazioni mobili in cui lo spazio di archiviazione e la potenza di calcolo sono limitati.
- Imaging medico: l'architettura PGI aiuta a preservare le informazioni dettagliate, fondamentali per rilevare piccole anomalie nelle scansioni mediche.
- Sorveglianza aerea: il miglioramento delle funzionalità di conservazione dei dati aiuta a rilevare piccoli oggetti come veicoli o bestiame dalle immagini riprese dai droni ad alta quota.
La prossima generazione: YOLO26
Sebbene YOLOv7 YOLOv9 modelli eccellenti, il campo dell'IA sta evolvendo verso una semplicità e una velocità ancora maggiori. Entra in scena YOLO26, l'ultima versione di Ultralytics nel gennaio 2026.
YOLO26 rappresenta un cambiamento di paradigma con il suo design End-to-End NMS. Rimuovendo la Non-Maximum Suppression (NMS), YOLO26 elimina un importante collo di bottiglia nelle pipeline di inferenza, semplificando l'implementazione su TensorRT e ONNX.
- Ottimizzatore MuSGD: ispirato alle innovazioni nella formazione LLM (come Kimi K2 di Moonshot AI), YOLO26 utilizza l'ottimizzatore MuSGD per una convergenza più rapida e una maggiore stabilità.
- Ottimizzazione edge: con la rimozione della Distribution Focal Loss (DFL) e funzioni di perdita ottimizzate come ProgLoss + STAL, YOLO26 funziona fino al 43% più velocemente sulle CPU, rendendolo la scelta ideale per l'edge AI.
- Versatilità: a differenza dei modelli precedenti che potevano essere specifici per il rilevamento, YOLO26 supporta in modo nativo la stima della posa, la segmentazione e gli Oriented Bounding Boxes (OBB).
Conclusione
Sia YOLOv7 YOLOv9 contribuito in modo significativo al progresso della visione artificiale. YOLOv7 standard elevati in termini di velocità e precisione nel 2022, mentre YOLOv9 innovazioni architetturali per migliorare il flusso di gradiente e l'efficienza dei parametri nel 2024.
Per gli sviluppatori di oggi, la scelta ricade solitamente su YOLOv9 per la sua efficienza o all'avanguardistico YOLO26 per la sua architettura NMS e CPU . Supportato dalla solida Ultralytics , passare da un modello all'altro per trovare quello perfetto per le vostre specifiche esigenze, che si tratti di monitoraggio delle smart city o di robotica agricola, non è mai stato così facile.