Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Get Started

YOLO26 vs YOLOv10#

Le applicazioni di visione artificiale richiedono modelli sempre più veloci, precisi ed efficienti. Questa guida confronta due influenti architetture di rilevamento degli oggetti in tempo reale, YOLO26 e YOLOv10, esaminandone architetture, metriche delle prestazioni e capacità di distribuzione per aiutare sviluppatori e ricercatori a scegliere il modello giusto per le proprie applicazioni di visione.

L'evoluzione delle architetture senza NMS#

Per anni, la famiglia YOLO (You Only Look Once) si è affidata alla soppressione dei non massimi (NMS) per filtrare i riquadri di delimitazione ridondanti durante la post-elaborazione. Pur essendo efficace, la NMS aggiunge latenza all’inferenza e complica la distribuzione su dispositivi edge come il Raspberry Pi o le unità di elaborazione neurale specializzate (NPU).

YOLOv10 ha introdotto nella famiglia YOLO un design end-to-end senza NMS. Ultralytics YOLO26 ha perfezionato questo approccio per gli ambienti di produzione come testa one-to-one opzionale e lo ha esteso a una gamma più ampia di attività.

Il collo di bottiglia della post-elaborazione

La rimozione di NMS elimina il passaggio di post-elaborazione dinamico e dipendente dai dati che tradizionalmente ostacolava l'ottimizzazione dei modelli di computer vision su acceleratori hardware come TensorRT e OpenVINO.

YOLOv10: rilevamento in tempo reale senza NMS#

Sviluppato dai ricercatori dell'Università Tsinghua, YOLOv10 ha introdotto una strategia di assegnazione duale coerente per eliminare la necessità di NMS. Grazie a una progettazione del modello che considera globalmente efficienza e accuratezza, ha ridotto la ridondanza computazionale mantenendo un elevato valore di mAP (precisione media).

Punti di forza:

  • Architettura senza NMS: Il primo design senza NMS della serie YOLO, che riduce la latenza nelle applicazioni in tempo reale.
  • Efficienza: Offre un buon compromesso tra numero di parametri e velocità di inferenza rispetto ai modelli delle generazioni precedenti.

Punti deboli:

  • Supporto limitato alle attività: Si concentra principalmente sul rilevamento standard degli oggetti e non offre supporto nativo immediato per attività avanzate come la segmentazione o la stima della posa.
  • Orientamento accademico: La base di codice è più orientata alla ricerca che alla distribuzione in produzione aziendale.

Scopri di più su YOLOv10

YOLO26: il nuovo standard per edge e cloud#

Rilasciato come successore di YOLO11, YOLO26 sviluppa il concetto senza NMS con una head one-to-one opzionale (nms=False). Si integra con Ultralytics Platform, che fornisce strumenti di annotazione, addestramento e distribuzione lungo tutta la pipeline di machine learning.

YOLO26 introduce diverse modifiche architetturali:

  • Rimozione della DFL: La Distribution Focal Loss è stata rimossa. Questo semplifica il processo di esportazione del modello e migliora la compatibilità con dispositivi edge e a basso consumo.
  • Inferenza CPU fino al 43% più veloce: Grazie alla rimozione della DFL e alle ottimizzazioni strutturali, YOLO26n è fino al 43% più veloce sulla CPU di YOLO11n, il che lo rende ideale per le distribuzioni IoT e mobili.
  • Ottimizzatore MuSGD: Ispirato alle tecniche di addestramento dei modelli linguistici di grandi dimensioni (LLM), come Kimi K2 di Moonshot AI, YOLO26 usa una combinazione di SGD e Muon. Questo porta maggiore stabilità nell’addestramento e una convergenza più rapida nella visione artificiale.
  • ProgLoss + STAL: La loss progressiva e l’assegnazione delle etichette consapevole degli oggetti piccoli (STAL) migliorano il riconoscimento degli oggetti piccoli, una caratteristica importante per le immagini aeree e il monitoraggio della sicurezza con droni.
  • Miglioramenti specifici per attività: YOLO26 supporta anche segmentazione, segmentazione semantica, stima della profondità, classificazione, stima della posa e OBB. Aggiunge una loss di segmentazione semantica e un modulo proto multiscala per la segmentazione, la stima residua della log-verosimiglianza (RLE) per la stima della posa e una loss angolare specializzata per i riquadri di delimitazione orientati (OBB).

Analisi delle prestazioni e metriche#

La tabella seguente confronta le prestazioni di rilevamento su COCO dei modelli YOLO26 e YOLOv10. YOLO26 è più preciso a ogni dimensione, da +2,4 mAP per i modelli n a +3,1 per i modelli x, mentre YOLOv10 usa meno parametri e FLOPs alla scala x (29,5M contro 55,7M di parametri, 160,4B contro 194,4B FLOPs).

Modellodimensione
(pixel)
mAPval50-95Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
parametri
(M)
FLOPs
(B)
YOLO26n64040.938.91.72.45.5
YOLO26s64048.687.22.59.520.9
YOLO26m64053.1220.04.720.468.4
YOLO26l64055.0286.26.224.886.8
YOLO26x64057.5525.811.855.7194.4
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

I vantaggi di Ultralytics: efficienza di addestramento e memoria#

Quando distribuisci modelli in produzione, i requisiti di memoria e l’efficienza dell’addestramento sono importanti quanto la velocità di inferenza. I modelli Ultralytics, in particolare YOLO26, sono ottimizzati per ridurre l’uso della memoria CUDA durante l’addestramento. Questo consente agli sviluppatori di usare dimensioni dei batch maggiori sulle GPU di fascia consumer, riducendo i tempi e i costi computazionali dell’addestramento. Al contrario, i pesanti modelli Transformer come RT-DETR richiedono spesso hardware costoso e di fascia alta per un addestramento efficace.

Integrazione continua ed ecosistema

Un vantaggio importante di YOLO26 è l’integrazione con l’ecosistema Ultralytics, gestito con cura, che copre il flusso di lavoro dall’annotazione dei dati al tracciamento degli esperimenti.

Implementazione pratica: esempio di codice#

Con l’API Python di Ultralytics, passare da un modello meno recente come YOLOv8 a YOLO26 richiede di modificare una sola riga di codice.

Ecco un esempio che addestra il modello YOLO26, esegue inferenze e lo esporta:

from ultralytics import YOLO

# 1. Load the YOLO26 nano model
model = YOLO("yolo26n.pt")

# 2. Train the model on the COCO8 dataset efficiently
# optimizer='auto' selects MuSGD for longer training runs; memory management is automatic
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device="cpu",  # Easily switch to 0 for GPU
)

# 3. Perform NMS-free inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg", nms=False)

# 4. Display the results to screen
predictions[0].show()

# 5. Export to ONNX for simplified edge deployment
export_path = model.export(format="onnx")
print(f"Model exported successfully to {export_path}")

Casi d'uso e consigli#

La scelta tra YOLO26 e YOLOv10 dipende dai requisiti specifici del tuo progetto, dai vincoli di distribuzione e dalle preferenze per l'ecosistema.

Quando scegliere YOLO26#

YOLO26 è un'ottima scelta per:

  • Distribuzione edge senza NMS: applicazioni che richiedono inferenza costante a bassa latenza senza la complessità della post-elaborazione con soppressione non massima.
  • Ambienti senza GPU: Dispositivi privi di accelerazione GPU dedicata, sui quali l’inferenza CPU di YOLO26n, fino al 43% più veloce di YOLO11n, offre un vantaggio decisivo.
  • Rilevamento di oggetti piccoli: Scenari complessi come le immagini aeree riprese da droni o l’analisi dei sensori IoT, in cui ProgLoss e STAL migliorano la precisione sugli oggetti piccoli.

Quando scegliere YOLOv10#

YOLOv10 è consigliato per:

  • Rilevamento in tempo reale senza NMS: applicazioni che traggono vantaggio dal rilevamento end-to-end senza soppressione non massima, riducendo la complessità della distribuzione.
  • Compromesso equilibrato tra velocità e precisione: progetti che richiedono un buon equilibrio tra velocità di inferenza e precisione di rilevamento con modelli di diverse dimensioni.
  • Applicazioni con latenza costante: scenari di distribuzione in cui i tempi di inferenza prevedibili sono fondamentali, ad esempio nella robotica o nei sistemi autonomi.

Conclusione#

YOLOv10 ha dato un contributo importante alla comunità di ricerca introducendo il rilevamento YOLO senza NMS, e YOLO26 porta questo approccio in produzione. Con un’inferenza CPU fino al 43% più veloce (YOLO26n rispetto a YOLO11n), l’ottimizzatore MuSGD e il supporto per sette attività di visione, YOLO26 è la scelta consigliata sia per l’edge computing sia per le distribuzioni cloud su larga scala.

Per i team che puntano su una community attiva, una documentazione completa e un’esperienza di sviluppo fluida, l’ecosistema Ultralytics è un’ottima scelta. Per scenari specifici, puoi valutare anche YOLO-World per il rilevamento zero-shot con vocabolario aperto. Per la maggior parte dei casi d’uso reali, YOLO26 è la scelta consigliata.

Commenti