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.


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

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 previsioni 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 YOLO tradizionali che richiedono 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.
names = ["person", "bus"]
model.set_classes(names, model.get_text_pe(names))

# 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 3 mesi fa ✏️ Aggiornato 0 giorni fa
glenn-jocherY-T-GLaughing-qraimbekovmfcakyonlmycrosspderrenger

Commenti