Vai al contenuto

Ultralytics YOLO26

Panoramica

Ultralytics YOLO26 è l'ultima evoluzione della serie YOLO di rilevatori di oggetti in tempo reale, progettata da zero per dispositivi edge e a bassa potenza. Introduce un design semplificato che elimina la complessità non necessaria integrando al contempo innovazioni mirate per offrire una distribuzione più rapida, leggera e accessibile.

Grafici di confronto di Ultralytics YOLO26

Prova Ultralytics

Esplora ed esegui i modelli YOLO26 direttamente sulla Ultralytics .

L'architettura di YOLO26 è guidata da tre principi fondamentali:

  • Semplicità: YOLO26 è un modello end-to-end nativo, che produce previsioni direttamente senza la necessità di una soppressione non massima (NMS). Eliminando questa fase di post-elaborazione, l'inferenza diventa più veloce, leggera e facile da implementare nei sistemi del mondo reale. Questo approccio innovativo è stato introdotto per la prima volta in YOLOv10 da Ao Wang alla Tsinghua University ed è stato ulteriormente sviluppato in YOLO26.
  • Efficienza di implementazione: Il design end-to-end elimina un'intera fase della pipeline, semplificando notevolmente l'integrazione, riducendo la latenza e rendendo l'implementazione più robusta in diversi ambienti.
  • Innovazione nell'addestramento: YOLO26 introduce l'ottimizzatore MuSGD, un ibrido di SGD e Muon — ispirato alle scoperte di Kimi K2 di Moonshot AI nell'addestramento di LLM. Questo ottimizzatore offre una maggiore stabilità e una convergenza più rapida, trasferendo i progressi dell'ottimizzazione dai modelli linguistici alla computer vision.
  • Ottimizzazioni Specifiche per Task: YOLO26 introduce miglioramenti mirati per task specializzati, inclusa la loss di segmentazione semantica e moduli proto multiscala per la Segmentazione, la Stima della Log-Verosimiglianza Residua (RLE) per l'alta precisione nella Posa, e il decoding ottimizzato con angle loss per risolvere i problemi di confine in OBB.

Insieme, queste innovazioni offrono una famiglia di modelli che raggiunge una maggiore accuratezza su piccoli oggetti, fornisce un'implementazione senza interruzioni e funziona fino al 43% più velocemente sulle CPU — rendendo YOLO26 uno dei modelli YOLO più pratici e implementabili fino ad oggi per ambienti con risorse limitate.

Caratteristiche principali

  • Rimozione di DFL
    Il modulo Distribution Focal Loss (DFL), sebbene efficace, spesso complicava l'esportazione e limitava la compatibilità hardware. YOLO26 rimuove completamente DFL, semplificando l'inferenza e ampliando il supporto per dispositivi edge e a bassa potenza.

  • Inferenza End-to-End NMS-Free
    A differenza dei rivelatori tradizionali che si affidano a NMS come fase di post-elaborazione separata, YOLO26 è nativamente end-to-end. Le previsioni vengono generate direttamente, riducendo la latenza e rendendo l'integrazione nei sistemi di produzione più veloce, leggera e affidabile.

  • ProgLoss + STAL
    Funzioni di perdita migliorate aumentano l'accuratezza del detection, con notevoli miglioramenti nel riconoscimento di oggetti piccoli, un requisito fondamentale per IoT, robotica, immagini aeree e altre applicazioni edge.

  • Ottimizzatore MuSGD
    Un nuovo ottimizzatore ibrido che combina SGD con Muon. Ispirato a Kimi K2 di Moonshot AI, MuSGD introduce metodi di ottimizzazione avanzati dall'addestramento LLM nella computer vision, consentendo un addestramento più stabile e una convergenza più rapida.

  • Inferenza CPU fino al 43% più veloce
    Specificamente ottimizzato per l'edge computing, YOLO26 offre un'inferenza CPU significativamente più veloce, garantendo prestazioni in tempo reale su dispositivi senza GPU.

  • Miglioramenti nella Segmentazione di Istanza
    Introduce la loss di segmentazione semantica per migliorare la convergenza del modello e un modulo proto aggiornato che sfrutta le informazioni multiscala per una qualità superiore delle maschere.

  • Stima Precisa della Posa
    Integra la Stima della Log-Verosimiglianza Residua (RLE) per una localizzazione più accurata dei keypoint e ottimizza il processo di decodifica per una maggiore velocità di inferenza.

  • Decodifica OBB Raffinata
    Introduce una loss angolare specializzata per migliorare la precisione di detect per oggetti di forma quadrata e ottimizza la decodifica OBB per risolvere i problemi di discontinuità dei bordi.

Grafici di Confronto End-to-End Ultralytics YOLO26


Attività e modalità supportate

YOLO26 si basa sulla versatile gamma di modelli stabilita dalle precedenti release di Ultralytics YOLO, offrendo un supporto migliorato per diverse attività di visione artificiale:

ModelloNomi dei fileTaskInferenzaValidazioneTrainingEsportazione
YOLO26yolo26n.pt yolo26s.pt yolo26m.pt yolo26l.pt yolo26x.ptRilevamento
YOLO26-segyolo26n-seg.pt yolo26s-seg.pt yolo26m-seg.pt yolo26l-seg.pt yolo26x-seg.ptSegmentazione delle istanze
YOLO26-poseyolo26n-pose.pt yolo26s-pose.pt yolo26m-pose.pt yolo26l-pose.pt yolo26x-pose.ptPosa/Punti chiave
YOLO26-obbyolo26n-obb.pt yolo26s-obb.pt yolo26m-obb.pt yolo26l-obb.pt yolo26x-obb.ptRilevamento orientato
YOLO26-clsyolo26n-cls.pt yolo26s-cls.pt yolo26m-cls.pt yolo26l-cls.pt yolo26x-cls.ptClassificazione

Questo framework unificato garantisce che YOLO26 sia applicabile al rilevamento in tempo reale, alla segmentazione, alla classificazione, alla stima della posa e al rilevamento di oggetti orientati — il tutto con supporto per addestramento, convalida, inferenza ed esportazione.

Varianti solo architettura

yolo26-p2.yaml e yolo26-p6.yaml è possibile aggiungere una testina di rilevamento P2 (per oggetti di piccole dimensioni) o P6 (per oggetti di grandi dimensioni) e vengono fornite esclusivamente in configurazione YAML. Nessuna configurazione specifica per la bilancia yolo26*-p2.pt oppure yolo26*-p6.pt i pesi vengono rilasciati. Istanziare una configurazione ridimensionata da YAML (ad esempio, YOLO("yolo26n-p6.yaml")) e addestrarlo o perfezionarlo secondo necessità.


Metriche di performance

Prestazioni

Vedere la Documentazione sulla Detection per esempi di utilizzo con questi modelli addestrati su COCO, che includono 80 classi pre-addestrate.

Modellodimensione
(pixel)
mAPval
50-95
mAPval
50-95(e2e)
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9

Vedere la Documentazione sulla Segmentazione per esempi di utilizzo con questi modelli addestrati su COCO, che includono 80 classi pre-addestrate.

Modellodimensione
(pixel)
mAPbox
50-95(e2e)
mAPmask
50-95(e2e)
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLO26n-seg64039.633.953.3 ± 0.52.1 ± 0.02.79.1
YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.2
YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.5
YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0139.8
YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8313.5

Vedere la Documentazione sulla Classificazione per esempi di utilizzo con questi modelli addestrati su ImageNet, che includono 1000 classi pre-addestrate.

Modellodimensione
(pixel)
acc
top1
acc
top5
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B) a 224
YOLO26n-cls22471.490.15.0 ± 0.31.1 ± 0.02.80.5
YOLO26s-cls22476.092.97.9 ± 0.21.3 ± 0.06.71.6
YOLO26m-cls22478.194.217.2 ± 0.42.0 ± 0.011.64.9
YOLO26l-cls22479.094.623.2 ± 0.32.8 ± 0.014.16.2
YOLO26x-cls22479.995.041.4 ± 0.93.8 ± 0.029.613.6

Vedere la Documentazione sulla Stima della Posa per esempi di utilizzo con questi modelli addestrati su COCO, che includono 1 classe pre-addestrata, 'persona'.

Modellodimensione
(pixel)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7

Vedere la Documentazione sulla Detection Orientata per esempi di utilizzo con questi modelli addestrati su DOTAv1, che includono 15 classi pre-addestrate.

Modellodimensione
(pixel)
mAPtest
50-95(e2e)
mAPtest
50(e2e)
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLO26n-obb102452.478.997.7 ± 0.92.8 ± 0.02.514.0
YOLO26s-obb102454.880.9218.0 ± 1.44.9 ± 0.19.855.1
YOLO26m-obb102455.381.0579.2 ± 3.810.2 ± 0.321.2183.3
YOLO26l-obb102456.281.6735.6 ± 3.113.0 ± 0.225.6230.0
YOLO26x-obb102456.781.71485.7 ± 11.530.5 ± 0.957.6516.5

I valori dei parametri e dei FLOPs sono per il modello fuso dopo model.fuse(), che unisce i layer Conv e BatchNorm e rimuove l'head di rilevamento ausiliario one-to-many. I checkpoint pre-addestrati mantengono l'architettura di training completa e potrebbero mostrare conteggi più elevati.


Esempi di utilizzo

Questa sezione fornisce semplici esempi di training e inferenza YOLO26. Per la documentazione completa su queste e altre modalità, consultare le pagine della documentazione Predict, Train, Val ed Export.

Si noti che l'esempio seguente è per i modelli YOLO26 Detect per il rilevamento di oggetti. Per ulteriori attività supportate, consultare la documentazione 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 YOLO26n model
model = YOLO("yolo26n.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 YOLO26n 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 YOLO26n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo26n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLO26n model and run inference on the 'bus.jpg' image
yolo predict model=yolo26n.pt source=path/to/bus.jpg

Architettura a doppia testa

YOLO26 presenta un'architettura a doppia testa che offre flessibilità per diversi scenari di implementazione:

  • Testa uno a uno (impostazione predefinita): Produce predizioni end-to-end senza NMS, generando (N, 300, 6) con un massimo di 300 rilevamenti per immagine. Questa testa è ottimizzata per un'inferenza veloce e un'implementazione semplificata.
  • Testa uno-a-molti: Genera output YOLO tradizionali che richiedono post-elaborazione NMS, producendo (N, nc + 4, 8400) dove nc è il numero di classi. Questo approccio raggiunge in genere una precisione leggermente superiore a scapito di un'elaborazione aggiuntiva.

È possibile passare da una testa all'altra durante l'esportazione, la previsione o la convalida:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Use one-to-one head (default, no NMS required)
results = model.predict("image.jpg")  # inference
metrics = model.val(data="coco.yaml")  # validation
model.export(format="onnx")  # export

# Use one-to-many head (requires NMS)
results = model.predict("image.jpg", end2end=False)  # inference
metrics = model.val(data="coco.yaml", end2end=False)  # validation
model.export(format="onnx", end2end=False)  # export
# Use one-to-one head (default, no NMS required)
yolo predict model=yolo26n.pt source=image.jpg
yolo val model=yolo26n.pt data=coco.yaml
yolo export model=yolo26n.pt format=onnx

# Use one-to-many head (requires NMS)
yolo predict model=yolo26n.pt source=image.jpg end2end=False
yolo val model=yolo26n.pt data=coco.yaml end2end=False
yolo export model=yolo26n.pt format=onnx end2end=False

La scelta dipende dai requisiti di implementazione: utilizzare la testa uno-a-uno per ottenere la massima velocità e semplicità, oppure la testa uno-a-molti quando la precisione è la priorità assoluta.

YOLOE-26: Segmentazione di Istanza a Vocabolario Aperto

YOLOE-26 integra l'architettura ad alte prestazioni YOLO26 con le capacità di vocabolario aperto della serie YOLOE. Consente il rilevamento e la segmentazione in tempo reale di qualsiasi classe di oggetti utilizzando prompt testuali, prompt visivi o una modalità senza prompt per l'inferenza zero-shot, rimuovendo efficacemente i vincoli del training a categoria fissa.

Sfruttando il design NMS-free e end-to-end di YOLO26, YOLOE-26 offre un'inferenza open-world rapida. Ciò lo rende una soluzione potente per applicazioni edge in ambienti dinamici, dove gli oggetti di interesse rappresentano un vocabolario ampio e in evoluzione.

Prestazioni

Vedere la documentazione YOLOE per esempi di utilizzo con questi modelli addestrati sui dataset Objects365v1, GQA e Flickr30k.

Modellodimensione
(pixel)
Tipo di PromptmAPminival
50-95(e2e)
mAPminival
50-95
mAPrmAPcmAPfparametri
(M)
FLOPs
(B)
YOLOE-26n-seg640Testuale/Visivo23.7 / 20.924.7 / 21.920.5 / 17.624.1 / 22.326.1 / 22.44.86.0
YOLOE-26s-seg640Testuale/Visivo29.9 / 27.130.8 / 28.623.9 / 25.129.6 / 27.833.0 / 29.913.121.7
YOLOE-26m-seg640Testuale/Visivo35.4 / 31.335.4 / 33.931.1 / 33.434.7 / 34.036.9 / 33.827.970.1
YOLOE-26l-seg640Testuale/Visivo36.8 / 33.737.8 / 36.335.1 / 37.637.6 / 36.238.5 / 36.132.388.3
YOLOE-26x-seg640Testuale/Visivo39.5 / 36.240.6 / 38.537.4 / 35.340.9 / 38.841.0 / 38.869.9196.7

Vedere la documentazione YOLOE per esempi di utilizzo con questi modelli addestrati sui dataset Objects365v1, GQA e Flickr30k.

Modellodimensione
(pixel)
mAPminival
50-95(e2e)
mAPminival
50(e2e)
parametri
(M)
FLOPs
(B)
YOLOE-26n-seg-pf64016.622.76.515.8
YOLOE-26s-seg-pf64021.428.616.235.5
YOLOE-26m-seg-pf64025.733.636.2122.1
YOLOE-26l-seg-pf64027.235.440.6140.4
YOLOE-26x-seg-pf64029.938.786.3314.4

Esempio di utilizzo

YOLOE-26 supporta il prompting sia testuale che visivo. L'utilizzo dei prompt è semplice: basta passarli attraverso il predict method come mostrato di seguito:

Esempio

I prompt testuali consentono di specificare le classi che si desidera detectare tramite descrizioni testuali. Il seguente codice mostra come utilizzare YOLOE-26 per detectare persone e autobus in un'immagine:

from ultralytics import YOLO

# Initialize model
model = YOLO("yoloe-26l-seg.pt")  # or select yoloe-26s/m-seg.pt for different sizes

# Set text prompt to detect person and bus. You only need to do this once after you load the model.
model.set_classes(["person", "bus"])

# Run detection on the given image
results = model.predict("path/to/image.jpg")

# Show results
results[0].show()

I prompt visivi ti consentono di guidare il modello mostrandogli esempi visivi delle classi target, anziché descriverle nel testo.

import numpy as np

from ultralytics import YOLO
from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor

# Initialize model
model = YOLO("yoloe-26l-seg.pt")

# Define visual prompts using bounding boxes and their corresponding class IDs.
# Each box highlights an example of the object you want the model to detect.
visual_prompts = dict(
    bboxes=np.array(
        [
            [221.52, 405.8, 344.98, 857.54],  # Box enclosing person
            [120, 425, 160, 445],  # Box enclosing glasses
        ],
    ),
    cls=np.array(
        [
            0,  # ID to be assigned for person
            1,  # ID to be assigned for glasses
        ]
    ),
)

# Run inference on an image, using the provided visual prompts as guidance
results = model.predict(
    "ultralytics/assets/bus.jpg",
    visual_prompts=visual_prompts,
    predictor=YOLOEVPSegPredictor,
)

# Show results
results[0].show()

YOLOE-26 include varianti senza prompt che dispongono di un vocabolario integrato. Questi modelli non richiedono alcun prompt e funzionano come i modelli YOLO tradizionali. Invece di affidarsi a etichette fornite dall'utente o esempi visivi, detectano oggetti da un elenco predefinito di 4.585 classi basato sul set di tag utilizzato dal Recognize Anything Model Plus (RAM++).

from ultralytics import YOLO

# Initialize model
model = YOLO("yoloe-26l-seg-pf.pt")

# Run prediction. No prompts required.
results = model.predict("path/to/image.jpg")

# Show results
results[0].show()

Per un'analisi approfondita delle tecniche di prompting, dell'addestramento da zero e degli esempi di utilizzo completi, visita la documentazione di YOLOE.

Citazioni e ringraziamenti

Pubblicazione Ultralytics YOLO26

Ultralytics non ha pubblicato un articolo di ricerca formale per YOLO26 a causa della rapida evoluzione dei modelli. Ci concentriamo invece sulla fornitura di modelli all'avanguardia e sulla loro facilità d'uso. Per gli ultimi aggiornamenti sulle funzionalità, le architetture e l'utilizzo di YOLO, visita il nostro repository GitHub e la documentazione.

Se utilizzi YOLO26 o altro software Ultralytics nel tuo lavoro, cita il progetto come:

@software{yolo26_ultralytics,
  author = {Glenn Jocher and Jing Qiu},
  title = {Ultralytics YOLO26},
  version = {26.0.0},
  year = {2026},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

DOI in sospeso. YOLO26 è disponibile con licenze AGPL-3.0 ed Enterprise.


FAQ

Quali sono i principali miglioramenti di YOLO26 rispetto a YOLO11?

  • Rimozione DFL: Semplifica l'esportazione ed espande la compatibilità edge
  • Inferenza End-to-End NMS-Free: Elimina NMS per una distribuzione più rapida e semplice
  • ProgLoss + STAL: Aumenta la precisione, specialmente su piccoli oggetti
  • Ottimizzatore MuSGD: Combina SGD e Muon (ispirato al Kimi K2 di Moonshot) per un addestramento più stabile ed efficiente.
  • Inferenza su CPU fino al 43% più veloce: Importanti miglioramenti delle prestazioni per i dispositivi solo CPU

Quali attività supporta YOLO26?

YOLO26 è una famiglia di modelli unificata, che fornisce supporto end-to-end per molteplici attività di visione artificiale:

Ogni variante di dimensione (n, s, m, l, x) supporta tutte le attività, oltre alle versioni a vocabolario aperto tramite YOLOE-26.

Perché YOLO26 è ottimizzato per la distribuzione edge?

YOLO26 offre prestazioni edge all'avanguardia con:

  • Inferenza su CPU fino al 43% più veloce
  • Dimensione del modello e ingombro di memoria ridotti
  • Architettura semplificata per la compatibilità (senza DFL, senza NMS)
  • Formati di esportazione flessibili tra cui TensorRT, ONNX, CoreML, TFLite e OpenVINO

Come iniziare con YOLO26?

I modelli YOLO26 sono stati rilasciati il 14 gennaio 2026 e sono disponibili per il download. Installa o aggiorna il ultralytics pacchetto e carica un modello:

from ultralytics import YOLO

# Load a pretrained YOLO26 nano model
model = YOLO("yolo26n.pt")

# Run inference on an image
results = model("image.jpg")

Consulta la sezione Esempi di utilizzo per le istruzioni di addestramento, validazione ed esportazione.



📅 Creato 7 mesi fa ✏️ Aggiornato 10 giorni fa
glenn-jocherLaughing-qraimbekovmY-T-Gfcakyonlmycrosspderrenger

Commenti