YOLO11 YOLOv7: un confronto tecnico tra architettura e prestazioni
Con l'accelerazione del settore della visione artificiale, la scelta dell'architettura giusta per il rilevamento degli oggetti diventa fondamentale per il successo. Due dei principali contendenti della YOLO sono YOLO11, sviluppato da Ultralytics, e YOLOv7, un modello basato sulla ricerca dell'Accademia Sinica. Sebbene entrambi i modelli abbiano dato un contributo significativo allo stato dell'arte, soddisfano esigenze diverse in termini di velocità, flessibilità e facilità di implementazione.
Questa guida fornisce un'analisi tecnica approfondita delle loro architetture, delle metriche di prestazione e dei casi d'uso ideali per aiutare sviluppatori e ricercatori a selezionare lo strumento migliore per i loro progetti.
Panoramica e Origini del Modello
Comprendere la genealogia di questi modelli fornisce il contesto per le loro decisioni architetturali.
YOLO11
Pubblicato nel settembre 2024 da Ultralytics, YOLO11 un perfezionamento della filosofia incentrata sulla produzione dell'azienda. È stato progettato per massimizzare l'efficienza su hardware moderni, bilanciando un throughput elevato con una precisione competitiva.
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione:Ultralytics
- Data: settembre 2024
- Punti chiave: facilità d'uso in tempo reale, ampio supporto delle attività (rilevamento, segmentazione, posa, OBB, classificazione) e implementazione semplificata tramite Ultralytics .
YOLOv7
Rilasciato nel luglio 2022, YOLOv7 un importante traguardo accademico introdotto dal team dietro YOLOv4. Ha introdotto diversi "bag-of-freebies" per migliorare la precisione senza aumentare il costo dell'inferenza, concentrandosi fortemente sulle ottimizzazioni architetturali addestrabili.
- Autori: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organizzazione: Institute of Information Science, Academia Sinica
- Data: luglio 2022
- Focus principale: analisi del percorso di gradiente, riparametrizzazione del modello e assegnazione dinamica delle etichette.
Analisi delle prestazioni
Quando si confrontano queste architetture, metriche quali la precisione media (mAP) e la latenza di inferenza sono fondamentali. La tabella sottostante evidenzia come la nuova tecnologia di YOLO11 in un aumento dell'efficienza rispetto alla precedente YOLOv7 .
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Punti chiave
- Efficienza: il modello YOLO11m raggiunge una precisione leggermente superiore (51,5% mAP) rispetto allo standard YOLOv7 51,4%), utilizzando circa il 45% in meno di parametri (20,1 milioni contro 36,9 milioni) e un numero significativamente inferiore di FLOP.
- Velocità: sulle GPU T4, YOLO11 superano costantemente YOLOv7 loro YOLOv7 in termini di latenza di inferenza, un fattore critico per applicazioni in tempo reale come la guida autonoma o l'analisi video.
- Scalabilità: YOLO11 una gamma più ampia di scale di modelli (da Nano a X-Large), facilitando l'implementazione su hardware con risorse limitate come Raspberry Pi o dispositivi mobili.
Differenze Architetturali
Ultralytics YOLO11
YOLO11 sui concetti fondamentali della CSPNet (Cross-Stage Partial Network), ma perfeziona il design dei blocchi per un migliore flusso di gradiente e un'estrazione delle caratteristiche più efficace.
- Backbone perfezionato: utilizza un blocco C3k2 migliorato (un'implementazione più veloce dei colli di bottiglia CSP) che migliora il riutilizzo delle funzionalità riducendo al contempo i calcoli.
- Rilevamento senza anchor: come i suoi immediati predecessori, YOLO11 una testa senza anchor, semplificando il processo di addestramento eliminando la necessità di raggruppare manualmente gli anchor box.
- Teste multi-task: l'architettura è progettata in modo nativo per supportare più attività utilizzando una struttura di testa unificata, consentendo il passaggio senza soluzione di continuità tra il rilevamento di oggetti, la segmentazione di istanze e la stima della posa.
YOLOv7
YOLOv7 "Extended-ELAN" (E-ELAN) per controllare efficacemente i percorsi di gradiente più brevi e più lunghi.
- E-ELAN: un blocco computazionale progettato per consentire alla rete di apprendere caratteristiche più diversificate senza distruggere il percorso del gradiente.
- Riparametrizzazione del modello: utilizza tecniche di riparametrizzazione (RepConv) per unire livelli convoluzionali separati in un unico livello durante l'inferenza, aumentando la velocità senza perdere la precisione dell'addestramento.
- Testa ausiliaria da grossolana a fine: introduce una testa ausiliaria per la supervisione dell'addestramento, che aiuta la supervisione approfondita del modello ma aggiunge complessità alla pipeline di addestramento.
L'evoluzione verso YOLO26
Sebbene YOLO11 miglioramenti significativi, l'ultima versione di YOLO26 spinge ancora più in là i confini. Rilasciato nel gennaio 2026, YOLO26 presenta un design End-to-End NMS, che elimina la necessità di post-elaborazione e accelera CPU fino al 43%. Adotta inoltre l'ottimizzatore MuSGD, ispirato all'addestramento LLM, per una convergenza più rapida.
Addestramento e facilità d'uso
Per gli sviluppatori, l'"esperienza utente" di un modello, ovvero la facilità con cui è possibile addestrarlo, convalidarlo e implementarlo, è spesso importante quanto le metriche grezze.
Il vantaggio dell'ecosistema Ultralytics
YOLO11 completamente integrato nel Python Ultralytics , offrendo un flusso di lavoro "zero-to-hero".
- API unificata: è possibile passare da YOLO11 a YOLOv8o YOLO26 modificando una singola stringa.
- Efficienza della memoria: Ultralytics sono ottimizzati per utilizzare meno CUDA durante l'addestramento rispetto a molti repository di ricerca. Ciò consente di ottenere batch di dimensioni maggiori sulle GPU consumer.
- Esportazione con un clic: esportazione in formati come ONNX, TensorRT, CoreML o TFLite gestita tramite una modalità a comando singolo.
from ultralytics import YOLO
# Load a YOLO11 model (or YOLO26 for best results)
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export to ONNX for deployment
path = model.export(format="onnx")
YOLOv7
YOLOv7 si basa YOLOv7 su un repository autonomo. Sebbene potente, spesso richiede:
- Configurazione manuale di
.yamlfile per gli ancoraggi (se non si utilizza la versione senza ancoraggi). - Script specifici di "distribuzione" per unire i pesi riparametrizzati prima dell'esportazione.
- Argomenti della riga di comando più complessi per la gestione delle teste ausiliarie durante l'addestramento.
Applicazioni nel mondo reale
Quando scegliere YOLO11
YOLO11 la scelta preferita per applicazioni commerciali e industriali in cui affidabilità e manutenzione sono fondamentali.
- Edge AI: la disponibilità dei modelli "Nano" e "Small" rende YOLO11 per telecamere intelligenti e dispositivi IoT che monitorano le linee di produzione.
- Progetti multitasking: se la tua applicazione richiede il tracciamento di oggetti e contemporaneamente la stima di punti chiave (ad esempio, analisi sportive), il framework unificato YOLO11 semplifica il codice di base.
- Prototipazione rapida: la facilità d'uso consente ai team di iterare rapidamente su set di dati personalizzati utilizzando la Ultralytics , riducendo il time-to-market.
Quando scegliere YOLOv7
- Benchmarking accademico: se state replicando i risultati della letteratura 2022-2023 o studiando gli effetti specifici delle architetture E-ELAN.
- Sistemi legacy: per sistemi già profondamente integrati con la struttura di input/output specifica delle YOLO originali in stile Darknet.
Conclusione
Mentre YOLOv7 rimane una pietra miliare rispettata nella storia del rilevamento degli oggetti, YOLO11 offre una soluzione più moderna, efficiente e intuitiva per gli sviluppatori. Con rapporti velocità-precisione superiori, requisiti di memoria inferiori e il supporto del solido Ultralytics , YOLO11 un percorso più chiaro per l'implementazione nel mondo reale.
Per chi è alla ricerca dell'assoluta avanguardia, consigliamo di esplorare YOLO26, che si basa su queste fondamenta con inferenza NMS e ottimizzatori di nuova generazione.
Risorse Aggiuntive
- YOLO11 :Documentazione ufficiale
- YOLOv7 :Il bag-of-freebies addestrabile stabilisce un nuovo standard all'avanguardia
- Ultralytics :Facile da imparare e da implementare
- GitHub:Repository di Ultralytics