Ultralytics YOLO11
Panoramica
YOLO11 è l'ultima iterazione della serie Ultralytics YOLO di rilevatori di oggetti in tempo reale, che ridefinisce ciò che è possibile con accuratezza, velocità ed efficienza all'avanguardia. Basandosi sugli impressionanti progressi delle precedenti versioni di YOLO, YOLO11 introduce miglioramenti significativi nell'architettura e nei metodi di addestramento, rendendolo una scelta versatile per un'ampia gamma di attività di computer vision.
Ultralytics YOLO11 🚀 Podcast generato da NotebookLM
Guarda: Come utilizzare Ultralytics YOLO11 per il rilevamento e il tracciamento di oggetti | Come effettuare il benchmark | YOLO11 RILASCIATO🚀
Caratteristiche principali
- Estrazione di feature migliorata: YOLO11 impiega un'architettura backbone e neck migliorata, che aumenta le capacità di estrazione di feature per un rilevamento di oggetti più preciso e prestazioni di attività complesse.
- Ottimizzato per Efficienza e Velocità: YOLO11 introduce design architetturali perfezionati e pipeline di training ottimizzate, offrendo velocità di elaborazione più elevate e mantenendo un equilibrio ottimale tra precisione e prestazioni.
- Maggiore precisione con meno parametri: Grazie ai progressi nella progettazione del modello, YOLO11m raggiunge una precisione media media (mAP) più elevata sul set di dati COCO, utilizzando il 22% in meno di parametri rispetto a YOLOv8m, il che lo rende efficiente dal punto di vista computazionale senza compromettere la precisione.
- Adattabilità tra ambienti: YOLO11 può essere implementato senza problemi in vari ambienti, inclusi dispositivi edge, piattaforme cloud e sistemi che supportano GPU NVIDIA, garantendo la massima flessibilità.
- Ampia gamma di attività supportate: Che si tratti di rilevamento oggetti, segmentazione di istanze, classificazione di immagini, stima della posa o rilevamento di oggetti orientati (OBB), YOLO11 è progettato per soddisfare una serie diversificata di sfide di computer vision.
Attività e modalità supportate
YOLO11 si basa sulla versatile gamma di modelli introdotta in YOLOv8, offrendo un supporto avanzato per diverse attività di computer vision:
Modello | Nomi dei file | Task | Inferenza | Validazione | Training | Esportazione |
---|---|---|---|---|---|---|
YOLO11 | yolo11n.pt yolo11s.pt yolo11m.pt yolo11l.pt yolo11x.pt |
Rilevamento | ✅ | ✅ | ✅ | ✅ |
YOLO11-seg | yolo11n-seg.pt yolo11s-seg.pt yolo11m-seg.pt yolo11l-seg.pt yolo11x-seg.pt |
Segmentazione delle istanze | ✅ | ✅ | ✅ | ✅ |
YOLO11-pose | yolo11n-pose.pt yolo11s-pose.pt yolo11m-pose.pt yolo11l-pose.pt yolo11x-pose.pt |
Posa/Punti chiave | ✅ | ✅ | ✅ | ✅ |
YOLO11-obb | yolo11n-obb.pt yolo11s-obb.pt yolo11m-obb.pt yolo11l-obb.pt yolo11x-obb.pt |
Rilevamento orientato | ✅ | ✅ | ✅ | ✅ |
YOLO11-cls | yolo11n-cls.pt yolo11s-cls.pt yolo11m-cls.pt yolo11l-cls.pt yolo11x-cls.pt |
Classificazione | ✅ | ✅ | ✅ | ✅ |
Questa tabella fornisce una panoramica delle varianti del modello YOLO11, mostrando la loro applicabilità in attività specifiche e la compatibilità con modalità operative come Inferenza, Validazione, Addestramento ed Esportazione. Questa flessibilità rende YOLO11 adatto a un'ampia gamma di applicazioni nella visione artificiale, dal rilevamento in tempo reale a complesse attività di segmentazione.
Metriche di performance
Prestazioni
Vedere Documentazione sul rilevamento per esempi di utilizzo con questi modelli addestrati su COCO, che includono 80 classi pre-addestrate.
Modello | dimensione (pixel) |
mAPval 50-95 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.9 |
Consulta la documentazione sulla segmentazione per esempi di utilizzo con questi modelli addestrati su COCO, che include 80 classi pre-addestrate.
Modello | dimensione (pixel) |
mAPbox 50-95 |
mAPmask 50-95 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-seg | 640 | 38.9 | 32.0 | 65.9 ± 1.1 | 1.8 ± 0.0 | 2.9 | 10.4 |
YOLO11s-seg | 640 | 46.6 | 37.8 | 117.6 ± 4.9 | 2.9 ± 0.0 | 10.1 | 35.5 |
YOLO11m-seg | 640 | 51.5 | 41.5 | 281.6 ± 1.2 | 6.3 ± 0.1 | 22.4 | 123.3 |
YOLO11l-seg | 640 | 53.4 | 42.9 | 344.2 ± 3.2 | 7.8 ± 0.2 | 27.6 | 142.2 |
YOLO11x-seg | 640 | 54.7 | 43.8 | 664.5 ± 3.2 | 15.8 ± 0.7 | 62.1 | 319.0 |
Consulta la documentazione sulla classificazione per esempi di utilizzo con questi modelli addestrati su ImageNet, che include 1000 classi pre-addestrate.
Modello | dimensione (pixel) |
acc top1 |
acc top5 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (B) a 224 |
---|---|---|---|---|---|---|---|
YOLO11n-cls | 224 | 70.0 | 89.4 | 5.0 ± 0.3 | 1.1 ± 0.0 | 1.6 | 0.5 |
YOLO11s-cls | 224 | 75.4 | 92.7 | 7.9 ± 0.2 | 1.3 ± 0.0 | 5.5 | 1.6 |
YOLO11m-cls | 224 | 77.3 | 93.9 | 17.2 ± 0.4 | 2.0 ± 0.0 | 10.4 | 5.0 |
YOLO11l-cls | 224 | 78.3 | 94.3 | 23.2 ± 0.3 | 2.8 ± 0.0 | 12.9 | 6.2 |
YOLO11x-cls | 224 | 79.5 | 94.9 | 41.4 ± 0.9 | 3.8 ± 0.0 | 28.4 | 13.7 |
Consulta la documentazione sulla stima della posa per esempi di utilizzo con questi modelli addestrati su COCO, che include 1 classe pre-addestrata, 'persona'.
Modello | dimensione (pixel) |
mAPpose 50-95 |
mAPpose 50 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.6 |
YOLO11s-pose | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.2 |
YOLO11m-pose | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.7 |
YOLO11l-pose | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.2 | 90.7 |
YOLO11x-pose | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 203.3 |
Consulta la documentazione sul rilevamento orientato per esempi di utilizzo con questi modelli addestrati su DOTAv1, che include 15 classi pre-addestrate.
Modello | dimensione (pixel) |
mAPtest 50 |
Velocità CPU ONNX (ms) |
Velocità T4 TensorRT10 (ms) |
parametri (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n-obb | 1024 | 78.4 | 117.6 ± 0.8 | 4.4 ± 0.0 | 2.7 | 17.2 |
YOLO11s-obb | 1024 | 79.5 | 219.4 ± 4.0 | 5.1 ± 0.0 | 9.7 | 57.5 |
YOLO11m-obb | 1024 | 80.9 | 562,8 ± 2,9 | 10.1 ± 0.4 | 20.9 | 183.5 |
YOLO11l-obb | 1024 | 81.0 | 712.5 ± 5.0 | 13.5 ± 0.6 | 26.2 | 232.0 |
YOLO11x-obb | 1024 | 81.3 | 1408.6 ± 7.7 | 28.6 ± 1.0 | 58.8 | 520.2 |
Esempi di utilizzo
Questa sezione fornisce semplici esempi di addestramento e inferenza YOLO11. Per la documentazione completa su queste e altre modalità, consulta le pagine della documentazione Predict, Train, Val ed Export.
Si noti che l'esempio seguente è per i modelli YOLO11 Detect per il rilevamento di oggetti. Per ulteriori attività supportate, consultare i documenti Segment, Classify, OBB e Pose.
Esempio
PyTorch pre-addestrato *.pt
modelli, così come la configurazione *.yaml
file possono essere passati alla YOLO()
classe per creare un'istanza del modello in Python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLO11n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Sono disponibili comandi CLI per eseguire direttamente i modelli:
# Load a COCO-pretrained YOLO11n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLO11n model and run inference on the 'bus.jpg' image
yolo predict model=yolo11n.pt source=path/to/bus.jpg
Citazioni e riconoscimenti
Pubblicazione Ultralytics YOLO11
Ultralytics non ha pubblicato un documento di ricerca formale per YOLO11 a causa della rapida evoluzione dei modelli. Ci concentriamo sul progresso della tecnologia e sul renderla più facile da usare, piuttosto che sulla produzione di documentazione statica. Per le informazioni più aggiornate sull'architettura, le caratteristiche e l'utilizzo di YOLO, fare riferimento al nostro repository GitHub e alla documentazione.
Se utilizzi YOLO11 o qualsiasi altro software da questo repository nel tuo lavoro, citalo utilizzando il seguente formato:
@software{yolo11_ultralytics,
author = {Glenn Jocher and Jing Qiu},
title = {Ultralytics YOLO11},
version = {11.0.0},
year = {2024},
url = {https://github.com/ultralytics/ultralytics},
orcid = {0000-0001-5950-6979, 0000-0003-3783-7069},
license = {AGPL-3.0}
}
Si prega di notare che il DOI è in sospeso e verrà aggiunto alla citazione non appena sarà disponibile. I modelli YOLO11 sono forniti con licenze AGPL-3.0 ed Enterprise.
FAQ
Quali sono i principali miglioramenti in Ultralytics YOLO11 rispetto alle versioni precedenti?
Ultralytics YOLO11 introduce diversi progressi significativi rispetto ai suoi predecessori. I miglioramenti chiave includono:
- Estrazione di Feature Migliorata: YOLO11 impiega un'architettura backbone e neck migliorata, potenziando le capacità di estrazione di feature per un rilevamento di oggetti più preciso.
- Efficienza e Velocità Ottimizzate: Design architetturali perfezionati e pipeline di training ottimizzate offrono velocità di elaborazione più elevate, mantenendo al contempo un equilibrio tra precisione e prestazioni.
- Maggiore precisione con meno parametri: YOLO11m raggiunge una media di precisione media (mAP) più elevata sul set di dati COCO con il 22% in meno di parametri rispetto a YOLOv8m, il che lo rende efficiente dal punto di vista computazionale senza compromettere la precisione.
- Adattabilità tra ambienti: YOLO11 può essere implementato in vari ambienti, inclusi dispositivi edge, piattaforme cloud e sistemi che supportano GPU NVIDIA.
- Ampia gamma di attività supportate: YOLO11 supporta diverse attività di computer vision come il rilevamento di oggetti, la segmentazione di istanze, la classificazione di immagini, la stima della posa e il rilevamento di oggetti orientati (OBB).
Come posso addestrare un modello YOLO11 per il rilevamento di oggetti?
L'addestramento di un modello YOLO11 per l'object detection può essere eseguito utilizzando comandi Python o CLI. Di seguito sono riportati esempi per entrambi i metodi:
Esempio
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a COCO-pretrained YOLO11n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640
Per istruzioni più dettagliate, fare riferimento alla documentazione Addestramento.
Quali task possono eseguire i modelli YOLO11?
I modelli YOLO11 sono versatili e supportano un'ampia gamma di attività di computer vision, tra cui:
- Rilevamento di Oggetti: Identificazione e localizzazione di oggetti all'interno di un'immagine.
- Segmentazione di istanza: Rilevamento di oggetti e delineazione dei loro confini.
- Classificazione delle immagini: Categorizzazione delle immagini in classi predefinite.
- Stima della posa: Rilevamento e tracciamento dei punti chiave sui corpi umani.
- Object Detection Orientato (OBB): Rilevamento di oggetti con rotazione per una maggiore precisione.
Per maggiori informazioni su ciascuna attività, consulta la documentazione relativa a Rilevamento, Segmentazione delle istanze, Classificazione, Stima della posa e Rilevamento orientato.
In che modo YOLO11 raggiunge una maggiore accuratezza con meno parametri?
YOLO11 raggiunge una maggiore accuratezza con un minor numero di parametri grazie ai progressi nella progettazione del modello e nelle tecniche di ottimizzazione. L'architettura migliorata consente un'estrazione e un'elaborazione efficiente delle caratteristiche, con conseguente maggiore precisione media (mAP) su set di dati come COCO, utilizzando il 22% di parametri in meno rispetto a YOLOv8m. Questo rende YOLO11 computazionalmente efficiente senza compromettere l'accuratezza, rendendolo adatto per l'implementazione su dispositivi con risorse limitate.
YOLO11 può essere implementato su dispositivi edge?
Sì, YOLO11 è progettato per l'adattabilità in vari ambienti, inclusi i dispositivi edge. La sua architettura ottimizzata e le efficienti capacità di elaborazione lo rendono adatto per la distribuzione su dispositivi edge, piattaforme cloud e sistemi che supportano GPU NVIDIA. Questa flessibilità garantisce che YOLO11 possa essere utilizzato in diverse applicazioni, dal rilevamento in tempo reale su dispositivi mobili a complesse attività di segmentazione in ambienti cloud. Per maggiori dettagli sulle opzioni di implementazione, fare riferimento alla documentazione di Esportazione.