YOLO11 vs. YOLOv7: un confronto tecnico dettagliato
La scelta del giusto modello di rilevamento degli oggetti è una decisione cruciale che influisce sulla velocità, sulla precisione e sulla scalabilità delle applicazioni di computer vision. Questa guida fornisce un confronto tecnico approfondito tra Ultralytics YOLO11 e YOLOv7due importanti pietre miliari della linea YOLO (You Only Look Once). Mentre YOLOv7 ha rappresentato un importante balzo in avanti nel 2022, YOLO11 , recentemente rilasciato, introduce raffinatezze architettoniche che ridefiniscono lo stato dell'arte delle prestazioni per lo sviluppo dell'IA moderna.
Ultralytics YOLO11: il nuovo standard per l'IA di visione
Rilasciato alla fine del 2024, Ultralytics YOLO11 si basa sulle solide fondamenta dei suoi predecessori per offrire efficienza e versatilità senza pari. È stato progettato per gestire un'ampia gamma di attività di computer vision all'interno di un'unica struttura unificata.
- Autori: Glenn Jocher, Jing Qiu
- Organizzazione:Ultralytics
- Data: 2024-09-27
- GitHub:https://github.com/ultralytics/ultralytics
- Documenti:https://docs.ultralytics.com/models/yolo11/
Architettura e Innovazioni
YOLO11 introduce un'architettura perfezionata con il blocco C3k2 e i meccanismi C2PSA (Cross-Stage Partial with Spatial Attention). Questi miglioramenti consentono al modello di estrarre caratteristiche con una maggiore granularità, pur mantenendo un numero di parametri inferiore rispetto alle generazioni precedenti. L'architettura è ottimizzata per la velocità, garantendo che anche le varianti più grandi del modello mantengano le capacità di inferenza in tempo reale su hardware standard.
Una caratteristica distintiva di YOLO11 è il suo supporto nativo per molteplici compiti oltre al rilevamento degli oggetti, tra cui la segmentazione dell'istanza, la stima della posa, il rilevamento della bounding box orientata (OBB) e la classificazione dell'immagine.
Integrazione dell'ecosistema Ultralytics
YOLO11 è completamente integrato nell'ecosistema Ultralytics , fornendo agli sviluppatori un accesso continuo agli strumenti per la gestione dei dati, la formazione dei modelli e la distribuzione. Questa integrazione riduce significativamente la complessità delle pipeline MLOps, consentendo ai team di passare più rapidamente dal prototipo alla produzione.
YOLOv7: un punto di riferimento per un allenamento efficiente
YOLOv7, rilasciato a metà del 2022, si è concentrato molto sull'ottimizzazione del processo di addestramento per ottenere un'elevata precisione senza aumentare i costi di inferenza. Ha introdotto diversi concetti nuovi che hanno influenzato la ricerca successiva nel campo.
- 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
- Documenti:https://docs.ultralytics.com/models/yolov7/
Architettura e Innovazioni
Il cuore di YOLOv7 è la rete E-ELAN (Extended Efficient Layer Aggregation Network), che migliora la capacità di apprendimento del modello senza distruggere il percorso originale del gradiente. Gli autori hanno anche introdotto il "bag-of-freebies addestrabile", un insieme di strategie di ottimizzazione - come la ri-parametrizzazione del modello e le teste di rilevamentoausiliarie - cheaumentano l'accuratezza durante l'addestramento ma vengono eliminate durante l'inferenza.
Sebbene YOLOv7 abbia stabilito parametri di riferimento impressionanti al momento del suo rilascio, si tratta principalmente di un'architettura per il rilevamento di oggetti. Adattarla ad altri compiti, come la segmentazione o la stima della posa, richiede spesso rami o fork specifici della base di codice, in contrasto con l'approccio unificato dei modelli più recenti.
Architettura dell'eredità
YOLOv7 si basa su metodi di rilevamento basati su ancore e su complesse teste ausiliarie. Pur essendo efficaci, queste scelte architettoniche possono rendere più difficile la personalizzazione e l'ottimizzazione del modello per l'impiego sui bordi rispetto ai design semplificati e privi di ancore presenti nei moderni modelli Ultralytics .
Analisi delle prestazioni: Velocità, precisione ed efficienza
Quando si confrontano le metriche tecniche, i progressi dell'architettura di YOLO11 diventano evidenti. Il nuovo modello raggiunge un'accuratezza paragonabile o superiore con un numero significativamente inferiore di parametri e una maggiore velocità di inferenza.
| 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 dei parametri: YOLO11 offre una drastica riduzione delle dimensioni del modello. Ad esempio, YOLO11l supera l'accuratezza di YOLOv7x (53,4% vs 53,1% mAP) pur utilizzando quasi il 65% di parametri in meno (25,3M vs 71,3M). Questa riduzione è fondamentale per la distribuzione dei modelli su dispositivi con memoria e storage limitati.
- Velocità di inferenza: le ottimizzazioni architetturali di YOLO11 si traducono direttamente in velocità. Su una GPU T4 che utilizza TensorRTYOLO11l è quasi due volte più veloce di YOLOv7x. Per le applicazioni CPU, il leggero YOLO11n offre velocità incredibili (56,1 ms), consentendo l'individuazione in tempo reale su hardware edge dove le varianti di YOLOv7 avrebbero difficoltà.
- Requisiti di calcolo: Il numero di FLOP (Floating Point Operations) è significativamente inferiore per i modelli YOLO11 . Questo minor carico di calcolo si traduce in un minor consumo energetico e in una minore generazione di calore, rendendo YOLO11 particolarmente adatto ai dispositivi di intelligenza artificiale alimentati a batteria.
Ecosistema ed esperienza degli sviluppatori
Al di là delle metriche grezze, l'esperienza degli sviluppatori è un fattore di differenziazione importante. I modelliYOLO di Ultralytics sono rinomati per la loro facilità d'uso e per il loro solido ecosistema.
Flusso di lavoro ottimizzato
YOLOv7 richiede tipicamente la clonazione di un repository e l'interazione con complessi script di shell per la formazione e il test. Al contrario, YOLO11 è distribuito tramite un pacchetto Python standard (ultralytics). Ciò consente agli sviluppatori di integrare nel proprio software funzionalità avanzate di visione artificiale con poche righe di codice.
from ultralytics import YOLO
# Load a model (YOLO11n recommended for speed)
model = YOLO("yolo11n.pt")
# Train the model with a single command
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Versatilità ed efficienza dell'allenamento
YOLO11 supporta un'ampia gamma di compiti già pronti. Se i requisiti di un progetto passano dai semplici riquadri di delimitazione a segmentazione delle istanze oppure stima della posagli sviluppatori possono semplicemente cambiare il file di peso del modello (ad es, yolo11n-seg.pt) senza modificare l'intera base di codice o la pipeline. YOLOv7 richiede generalmente la ricerca e la configurazione di fork specifici per questi compiti.
Inoltre, YOLO11 beneficia dell'efficienza dell'addestramento. I modelli utilizzano tecniche di ottimizzazione moderne e sono dotati di pesi pre-addestrati di alta qualità, che spesso convergono più rapidamente rispetto alle architetture più vecchie. Questa efficienza si estende ai requisiti di memoria; i modelli Ultralytics sono ottimizzati per ridurre al minimo l'utilizzo della memoria CUDA durante l'addestramento, evitando i comuni errori di Out-Of-Memory (OOM) che affliggono i rilevatori più vecchi o basati su Transformer.
Documentazione e supporto
Ultralytics dispone di un'ampia documentazione e di una vivace comunità. Gli utenti beneficiano di aggiornamenti frequenti, correzioni di bug e un percorso chiaro per il supporto aziendale. Al contrario, il repository di YOLOv7 , pur essendo storicamente significativo, viene mantenuto meno attivamente, il che può comportare dei rischi per le implementazioni di produzione a lungo termine.
Applicazioni nel mondo reale
- Analisi del commercio al dettaglio: L'elevata precisione e la velocità di YOLO11 consentono di tracciare in tempo reale il comportamento dei clienti e di monitorare l'inventario su hardware standard del negozio.
- Robotica autonoma: La bassa latenza di YOLO11n lo rende ideale per la navigazione e l'evitamento degli ostacoli nei droni e nei robot, dove ogni millisecondo conta.
- Immagini sanitarie: Grazie al supporto nativo per la segmentazione, YOLO11 può essere rapidamente adattato per identificare e delineare con grande precisione le anomalie nelle scansioni mediche.
- Ispezione industriale: La capacità di gestire OBB (Oriented Bounding Boxes) rende YOLO11 superiore per il rilevamento di parti ruotate o di testo sulle linee di assemblaggio, una funzione non disponibile in modo nativo in YOLOv7 standard.
Conclusione
Anche se YOLOv7 rimane un modello capace e una testimonianza dei rapidi progressi della computer vision nel 2022, Ultralytics YOLO11 rappresenta la scelta definitiva per lo sviluppo dell'IA moderna. Offre un equilibrio superiore di prestazioni, efficienza e usabilità.
Per gli sviluppatori e i ricercatori, il passaggio a YOLO11 offre vantaggi immediati: tempi di inferenza più rapidi, costi hardware ridotti e un flusso di lavoro unificato per diverse attività di visione. Sostenuto dall'attivo ecosistema Ultralytics , YOLO11 non è solo un modello, ma una soluzione completa per l'implementazione della computer vision all'avanguardia nel mondo reale.
Ulteriori esplorazioni
Esplorate altri confronti per trovare il modello migliore per le vostre esigenze specifiche: