YOLO . YOLO11: un'analisi approfondita del rilevamento di oggetti in tempo reale
Il panorama del rilevamento degli oggetti è in continua evoluzione, con ricercatori e ingegneri che si sforzano di bilanciare le esigenze contrastanti di accuratezza, velocità di inferenza ed efficienza computazionale. Due architetture degne di nota emerse in questo ambito sonoYOLO, sviluppata da Alibaba Group, e YOLO11, una potente iterazione di Ultralytics.
MentreYOLO concetti innovativi nella ricerca dell'architettura neurale (NAS) e nella riparametrizzazione pesante, YOLO11 un approccio raffinato e incentrato sull'utente, focalizzato sulla prontezza alla produzione e sulla versatilità. Questo confronto esplora le sfumature architetturali, le metriche di prestazione e le considerazioni pratiche di implementazione per entrambi i modelli.
Panoramica su DAMO-YOLO
YOLO un rilevatore di oggetti ad alte prestazioni proposto dai ricercatori della DAMO Academy di Alibaba. Si distingue per l'utilizzo della Neural Architecture Search (NAS) per progettare automaticamente backbone efficienti su misura per vincoli specifici.
- Autori: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organizzazione:Alibaba Group
- Data: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
L'architettura integra una rete RepGFPN (Reparameterized Generalized Feature Pyramid Network) specializzata per la fusione delle caratteristiche e una testa leggera denominata "ZeroHead". Una componente chiave della sua strategia di addestramento è "AlignedOTA", un metodo di assegnazione dinamica delle etichette progettato per risolvere i problemi di disallineamento tra le attività di classificazione e regressione. Inoltre, si basa in larga misura sulla distillazione da modelli "insegnanti" più grandi per migliorare le prestazioni delle varianti più piccole.
YOLO11
YOLO11 sull'eredità dellaYOLO Ultralytics YOLO , perfezionando il design della rete CSP (Cross Stage Partial) per massimizzare l'efficienza dei parametri. A differenza dei modelli incentrati sulla ricerca che possono richiedere configurazioni complesse, YOLO11 progettato per un'applicazione immediata nel mondo reale, offrendo un'esperienza "chiavi in mano".
- Autori: Glenn Jocher e Jing Qiu
- Organizzazione:Ultralytics
- Data: 2024-09-27
- Documenti:https://docs.ultralytics.com/models/yolo11/
- GitHub:https://github.com/ultralytics/ultralytics
YOLO11 il design del blocco C3k2 e introduce i moduli C2PSA (Cross Stage Partial with Spatial Attention) per catturare meglio il contesto globale. È completamente integrato Ultralytics e supporta la formazione, la convalida e l'implementazione senza soluzione di continuità su diversi hardware, tra cui CPU, GPU e dispositivi edge.
Confronto Tecnico
La tabella seguente evidenzia le differenze di prestazioni tra i modelli. MentreYOLO ottime prestazioni teoriche, YOLO11 offre YOLO11 un profilo più equilibrato in termini di velocità e precisione in scenari pratici, in particolare se si considera il sovraccarico di esportazione e implementazione.
| Modello | dimensione (pixel) | mAPval 50-95 | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | parametri (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
Architettura e metodologie di formazione
YOLO utilizza MAE-NAS (Masked Autoencoder Neural Architecture Search) per individuare strutture backbone ottimali con specifici vincoli di latenza. Ciò porta alla creazione di modelli teoricamente efficienti, ma difficili da modificare o ottimizzare senza la pipeline NAS originale. Il processo di addestramento è complesso e spesso richiede un approccio in due fasi, in cui viene prima addestrato un modello teacher pesante per distillare le conoscenze nel modello target più piccolo.
YOLO11, al contrario, utilizza un'architettura realizzata manualmente ma altamente ottimizzata che bilancia profondità, ampiezza e risoluzione. La pipeline di addestramento è semplificata, utilizzando aumenti standard e funzioni di perdita che non richiedono modelli di insegnamento ausiliari o fasi di distillazione complesse. Ciò rende YOLO11 più facile da addestrare su set di dati personalizzati senza una profonda competenza nel settore.
Avvertenza: complessità contro usabilità
Mentre l'approccio basato su NASYOLO produce strutture matematicamente ottimali, la Ultralytics privilegia l'usabilità. Un modello come YOLO11 essere addestrato con un singolo CLI . yolo train, mentre gli archivi di ricerca richiedono spesso file di configurazione complessi e una preparazione in più fasi.
Il vantaggio di Ultralytics
La scelta di un modello va oltre mAP semplici mAP ; coinvolge l'intero ciclo di vita di un progetto di machine learning. Ultralytics come YOLO11e l'innovativo YOLO26offrono vantaggi distintivi che semplificano lo sviluppo.
Facilità d'uso ed ecosistema senza pari
Ultralytics è progettato per ridurre gli attriti. L'addestramento di un YOLO11 richiede un codice minimo e Python è coerente in tutte le versioni del modello. Ciò contrasta conYOLO, dove gli utenti spesso navigano in un codice di livello di ricerca che può mancare di una documentazione solida o di una manutenzione a lungo termine.
from ultralytics import YOLO
# Load a YOLO11 model
model = YOLO("yolo11n.pt")
# Train on a custom dataset with a single line
results = model.train(data="coco8.yaml", epochs=100)
Inoltre, la Ultralytics offre un'interfaccia perfettamente integrata per la gestione dei set di dati, l'etichettatura e la formazione cloud, democratizzando efficacemente l'accesso a funzionalità avanzate di visione artificiale.
Versatilità tra le attività
Uno degli argomenti più convincenti a favore dell'adozione del Ultralytics è la sua versatilità. MentreYOLO principalmente un rilevatore di oggetti, YOLO11 un'ampia gamma di attività di visione artificiale all'interno dello stesso codice base:
- Segmentazione delle istanze: mascheramento preciso degli oggetti.
- Stima della posa: rilevamento dei punti chiave per il tracciamento dello scheletro umano.
- Riquadro di delimitazione orientato (OBB): ideale per immagini aeree e oggetti angolati.
- Classificazione: Categorizzazione dell'intera immagine.
Bilanciamento delle prestazioni ed efficienza della memoria
Ultralytics sono rinomati per il loro efficiente utilizzo delle risorse. YOLO11 richiede YOLO11 meno CUDA durante l'addestramento rispetto alle architetture basate su trasformatori o ai complessi modelli derivati dal NAS. Ciò consente agli sviluppatori di addestrare batch più grandi su GPU di livello consumer, accelerando il ciclo di iterazione.
Per l'inferenza, YOLO11 sono ottimizzati per l'esportazione in formati come ONNX, TensorRTe CoreML. Ciò garantisce che l'elevata precisione riscontrata nei benchmark si traduca in prestazioni in tempo reale sui dispositivi edge, dai moduli NVIDIA ai Raspberry Pi.
Prospettive Future: La Potenza di YOLO26
Per gli sviluppatori alla ricerca delle massime prestazioni, Ultralytics introdotto YOLO26. Questo modello di nuova generazione sostituisce YOLO11 innovazioni rivoluzionarie:
- Progettazione end-to-end NMS: YOLO26 elimina la post-elaborazione Non-Maximum Suppression (NMS). Questo approccio end-to-end nativo semplifica le pipeline di implementazione e riduce la varianza della latenza, una caratteristica esplorata per la prima volta in YOLOv10.
- Ottimizzatore MuSGD: ispirato alle innovazioni nella formazione dei modelli linguistici di grandi dimensioni (LLM) (come Kimi K2 di Moonshot AI), YOLO26 utilizza l'ottimizzatore MuSGD per una convergenza più rapida e una maggiore stabilità di formazione.
- Ottimizzazione Edge-First: con la rimozione della Distribution Focal Loss (DFL) e CPU specifiche CPU , YOLO26 raggiunge un'inferenza fino al 43% più veloce sulle CPU, rendendolo la scelta migliore per l'edge computing.
- ProgLoss + STAL: nuove funzioni di perdita migliorano il rilevamento di oggetti di piccole dimensioni, una funzionalità fondamentale per le applicazioni con droni e IoT.
Casi d'uso ideali
- ScegliYOLO : sei un ricercatore che studia l'efficacia del NAS nelle infrastrutture di visione, o se hai un vincolo hardware altamente specifico che richiede un'architettura personalizzata e disponi delle risorse necessarie per gestire una complessa pipeline di distillazione.
- Scegli YOLO11 : hai bisogno di un rilevatore robusto e versatile che offra un equilibrio eccezionale tra velocità e precisione. È ideale per applicazioni commerciali che richiedono tracciamento, facile addestramento su dati personalizzati e ampia compatibilità con le piattaforme.
- Scegli YOLO26 se: hai bisogno delle velocità di inferenza più elevate possibili, in particolare su CPU edge, o devi semplificare il tuo stack di implementazione rimuovendo NMS. È la scelta consigliata per i nuovi progetti che richiedono efficienza e versatilità all'avanguardia.
Conclusione
SiaYOLO YOLO11 contributi significativi al campo della visione artificiale.YOLO il potenziale della ricerca automatizzata di architetture, mentre YOLO11 l'applicazione pratica del deep learning con particolare attenzione all'usabilità e al supporto dell'ecosistema.
Per la maggior parte degli sviluppatori e delle aziende, il Ultralytics , basato su YOLO11 sull'innovativo YOLO26, offre il percorso più diretto verso il valore. Grazie a una documentazione completa, al supporto attivo della community e a strumenti come la Ultralytics , gli utenti possono passare dal concetto alla distribuzione con sicurezza e rapidità.
Per chi fosse interessato ad altre architetture, la Ultralytics fornisce anche confronti con modelli come RT-DETR (Real-Time DEtection TRansformer) e YOLOv9, garantendo una visione completa al momento di selezionare lo strumento più adatto alle proprie esigenze di visione artificiale.