Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Perché Ultralytics elimina NMS come questo cambia l'implementazione

Scopri come Ultralytics consente un'inferenza end-to-end reale e NMS e perché l'eliminazione della post-elaborazione semplifica l'esportazione e l'implementazione edge.

Il 14 gennaio abbiamo lanciato Ultralytics , l'ultima generazione dei nostri modelli di visione artificiale. Con YOLO26, il nostro obiettivo non era solo quello di migliorare la precisione o la velocità, ma anche di ripensare il modo in cui i modelli di rilevamento degli oggetti vengono costruiti e implementati nei sistemi reali.

Con il passaggio della visione artificiale dalla ricerca alla produzione, ci si aspetta sempre più che i modelli funzionino su CPU, dispositivi edge, telecamere, robot e hardware integrato. In questi ambienti, l'affidabilità, la bassa latenza e la facilità di implementazione sono importanti tanto quanto le prestazioni. 

YOLO26 è stato progettato tenendo conto di questa realtà, utilizzando un'architettura end-to-end semplificata che elimina la complessità superflua dalla pipeline di inferenza. Una delle innovazioni più importanti introdotte in YOLO26 è l'eliminazione della soppressione non massima, comunemente nota come NMS. 

Per anni, NMS stato una componente standard dei sistemi di rilevamento degli oggetti, utilizzato come fase di post-elaborazione per eliminare i rilevamenti duplicati. Sebbene efficace, ha anche introdotto ulteriori difficoltà di calcolo e implementazione, in particolare sull'hardware edge.

Con YOLO26 abbiamo adottato un approccio diverso. Ripensando il modo in cui vengono generate e addestrate le previsioni, abbiamo reso possibile un'inferenza end-to-end NMS. Il modello produce direttamente i rilevamenti finali, senza ricorrere a fasi di pulizia esterne o regole artigianali. Ciò rende YOLO26 più veloce, più facile da esportare e più affidabile da implementare su un'ampia gamma di piattaforme hardware.

Fig. 1. Rilevamento di oggetti in un'immagine utilizzando Ultralytics .

In questo articolo vedremo più da vicino perché il rilevamento tradizionale degli oggetti si basava NMS, come questo è diventato un collo di bottiglia nell'implementazione e come YOLO26 elimina la necessità di soluzioni alternative. Cominciamo!

Il rilevamento tradizionale degli oggetti produce rilevamenti duplicati

Prima di approfondire NMS e perché l'abbiamo rimosso in YOLO26, facciamo un passo indietro e vediamo come i modelli tradizionali di rilevamento degli oggetti generano le loro previsioni.

I modelli tradizionali di rilevamento degli oggetti spesso producono più riquadri di delimitazione sovrapposti per lo stesso oggetto. Ciascuno di questi riquadri è accompagnato da un proprio punteggio di affidabilità, anche se tutti si riferiscono allo stesso oggetto nell'immagine.

Ciò accade per diversi motivi. Innanzitutto, il modello effettua previsioni in molte posizioni spaziali e su scale diverse contemporaneamente. Ciò aiuta il modello detect di dimensioni diverse, ma significa anche che posizioni vicine possono identificare lo stesso oggetto in modo indipendente.

In secondo luogo, molti sistemi di rilevamento degli oggetti utilizzano approcci basati su anchor, che generano un gran numero di riquadri candidati attorno a ciascuna posizione. Sebbene ciò aumenti la probabilità di individuare gli oggetti con precisione, aumenta anche il numero di previsioni sovrapposte.

Infine, il rilevamento basato su griglia porta naturalmente alla ridondanza. Quando un oggetto si trova vicino al confine di più celle della griglia, diverse celle possono prevedere un riquadro per quell'oggetto, con conseguente sovrapposizione di più rilevamenti. 

Per questo motivo, l'output grezzo del modello contiene spesso più riquadri per un singolo oggetto. Per rendere utilizzabili i risultati, è necessario filtrare queste previsioni ridondanti in modo che rimanga un solo rilevamento finale.

Comprendere la soppressione non massima

Quando un modello di rilevamento degli oggetti produce più riquadri di delimitazione sovrapposti per lo stesso oggetto, tali risultati devono essere ripuliti prima di poter essere utilizzati. È qui che viene applicata la soppressione non massima.

La soppressione non massima è una fase di post-elaborazione che viene eseguita dopo che il modello ha completato le sue previsioni. Il suo scopo è quello di ridurre i rilevamenti duplicati in modo che ogni oggetto sia rappresentato da un unico riquadro di delimitazione finale.

Fig. 2. Panoramica NMS. Immagine dell'autore.

Il processo funziona confrontando i riquadri di delimitazione in base ai loro punteggi di affidabilità e al loro grado di sovrapposizione. Le previsioni con un'affidabilità molto bassa vengono eliminate per prime. 

Le caselle rimanenti vengono quindi ordinate in base al grado di affidabilità e quella con il punteggio più alto viene selezionata come miglior rilevamento. La casella selezionata viene confrontata con le altre caselle. 

Se un altro riquadro si sovrappone eccessivamente ad esso, tale riquadro viene soppresso e rimosso. La sovrapposizione viene solitamente misurata utilizzando l'Intersection over Union, una metrica che calcola il rapporto tra l'area condivisa da due riquadri e l'area totale coperta da entrambi. Questo processo si ripete fino a quando rimangono solo i rilevamenti più affidabili e non sovrapposti.

Perché NMS l'implementazione

Sebbene la soppressione non massima aiuti a filtrare i rilevamenti duplicati, introduce anche delle sfide che diventano più evidenti quando i modelli passano dalla fase di ricerca a quella di implementazione nel mondo reale.

Uno dei problemi principali è la performance. NMS dopo l'inferenza e richiede il confronto tra i riquadri di delimitazione per decidere quali conservare. 

Questo processo è computazionalmente oneroso e difficile da parallelizzare in modo efficiente. Sui dispositivi edge e sui sistemi CPU, questo lavoro aggiuntivo può comportare una latenza notevole, rendendo più difficile soddisfare i requisiti in tempo reale.

NMS aumenta NMS la complessità dell'implementazione. Poiché non fa parte del modello stesso, deve essere implementato separatamente come codice di post-elaborazione. 

I diversi runtime e piattaforme gestiscono NMS modi diversi, il che spesso comporta la necessità di mantenere implementazioni personalizzate per ogni ambiente di destinazione. Ciò che funziona in una configurazione potrebbe comportarsi in modo leggermente diverso in un'altra, rendendo l'implementazione più fragile e difficile da scalare.

L'ottimizzazione dell'hardware è un'altra sfida. NMS si adatta perfettamente agli acceleratori AI specializzati, progettati per eseguire in modo efficiente le operazioni delle reti neurali. Di conseguenza, anche quando il modello funziona rapidamente su hardware ottimizzato, NMS diventare un collo di bottiglia che limita le prestazioni complessive.

Oltre a questi fattori, NMS su parametri scelti manualmente, come le soglie di confidenza e le soglie di sovrapposizione. Queste impostazioni possono influire in modo significativo sui risultati e spesso devono essere ottimizzate per diversi set di dati, applicazioni o hardware. Ciò rende il comportamento meno prevedibile nei sistemi di produzione e aggiunge un sovraccarico di configurazione aggiuntivo.

Spiegazione dell'inferenza end-to-end per il rilevamento di oggetti

I limiti della soppressione non massima ci hanno portato a ripensare il modo in cui i modelli di rilevamento degli oggetti dovrebbero comportarsi in fase di inferenza. Invece di generare molte previsioni sovrapposte e poi ripulirle, ci siamo posti una domanda più fondamentale. 

E se il modello potesse produrre direttamente i rilevamenti finali? Questa domanda è al centro dell'inferenza end-to-end del rilevamento degli oggetti. In un sistema end-to-end, il modello viene addestrato per gestire l'intero processo di rilevamento dall'inizio alla fine, senza fare affidamento su fasi di pulizia esterne.

Anziché produrre molti riquadri candidati e filtrarli dopo l'inferenza, il modello impara a generare autonomamente un piccolo insieme di previsioni affidabili e non sovrapposte. I rilevamenti duplicati vengono risolti all'interno della rete invece di essere rimossi dalla post-elaborazione.

Le architetture dei modelli più recenti hanno dimostrato che questo approccio era sia possibile che pratico. Con la giusta strategia di addestramento, i modelli potevano imparare ad associare ogni oggetto a una singola previsione invece che a molte previsioni concorrenti, riducendo la ridondanza alla fonte.

Fig. 3. Esempio di rilevamento di oggetti utilizzando Ultralytics .

Affinché ciò funzioni, anche la formazione deve cambiare. Invece di lasciare che molte previsioni competano per lo stesso oggetto, il modello impara a prendere una decisione chiara, producendo rilevamenti meno numerosi ma più affidabili.

Il risultato complessivo è una pipeline di inferenza più semplice. Poiché i duplicati vengono già risolti internamente, non è necessario ricorrere alla soppressione non massima (Non-Maximum Suppression) in fase di inferenza. L'output del modello è già l'insieme finale delle rilevazioni.

Questo design end-to-end semplifica anche l'implementazione. Senza fasi di post-elaborazione o NMS specifiche per piattaforma, il modello esportato è completamente autonomo e si comporta in modo coerente su diversi framework di inferenza e target hardware.

Come spiega Francesco Mattioli, nostro Lead Partnership Engineer, "Un vero apprendimento end-to-end significa che il modello dovrebbe gestire tutto, dai pixel alle previsioni, senza passaggi di post-elaborazione manuali che compromettono la differenziazione e complicano l'implementazione".

Come Ultralytics rimuove NMS

YOLO26 elimina la soppressione non massima modificando il modo in cui vengono apprese e prodotte le rilevazioni, anziché affidarsi alla post-elaborazione per ripulirle. Invece di consentire a molte previsioni di competere per lo stesso oggetto, YOLO26 è addestrato per apprendere una chiara relazione uno a uno tra oggetti e risultati.

Ciò è reso possibile in parte dal rilevamento basato su query apprendibili, che aiuta il modello a concentrarsi sulla produzione di una singola previsione affidabile per ciascun oggetto, anziché di molte candidature sovrapposte. Ogni oggetto è associato a una sola previsione, riducendo naturalmente i rilevamenti duplicati.

Questo comportamento viene rafforzato attraverso strategie di corrispondenza coerenti durante l'addestramento, incoraggiando il modello a prendere una decisione sicura per ogni oggetto piuttosto che generare previsioni sovrapposte. Alla fine, il modello produce meno previsioni, ma ognuna di esse rappresenta un rilevamento definitivo. 

Perché la rimozione del DFL ha reso possibile il rilevamento NMS

Un'altra importante innovazione che consente l'inferenza NMS in YOLO26 è la rimozione della Distribution Focal Loss, o DFL. Nei YOLO precedenti, la DFL veniva utilizzata per migliorare la regressione dei bounding box prevedendo una distribuzione delle possibili posizioni dei box piuttosto che un singolo valore. 

Sebbene questo approccio abbia migliorato la precisione della localizzazione, ha anche aggiunto complessità alla pipeline di rilevamento. Tale complessità è diventata un limite nel passaggio a un'inferenza end-to-end vera e propria. 

DFL ha introdotto ulteriori calcoli e intervalli di regressione fissi, che hanno reso più difficile per il modello apprendere assegnazioni di oggetti pulite e uno a uno e hanno aumentato la dipendenza da fasi di post-elaborazione come la soppressione non massima. Con YOLO26, abbiamo rimosso DFL e riprogettato la regressione del riquadro di delimitazione per renderla più semplice e diretta.

Anziché basarsi sui risultati basati sulla distribuzione, il modello impara a prevedere coordinate accurate dei riquadri in modo da supportare un numero minore di rilevamenti, ma più affidabili. Questa modifica contribuisce a ridurre le previsioni sovrapposte alla fonte e allinea la regressione dei riquadri di delimitazione con il design end-to-end e NMS di YOLO26. 

Ultralytics è NMS e facile da implementare

Il design NMS rende YOLO26 un modello realmente end-to-end. Ciò ha un impatto importante sull'esportazione dei modelli

Esportare significa convertire un modello addestrato in un formato che può essere eseguito al di fuori dell'ambiente di addestramento, come ONNX, TensorRT, CoreML o OpenVINO. Nelle pipeline tradizionali, questo processo spesso fallisce perché la soppressione non massima non fa parte del modello stesso. 

Rimuovendo NMS, YOLO26 evita completamente questo problema. Il modello esportato include già tutto il necessario per produrre rilevamenti finali. 

Ciò rende il modello esportato completamente autonomo e più portabile tra i framework di inferenza e gli obiettivi hardware. Lo stesso modello si comporta in modo coerente sia che venga implementato su server, sistemi CPU, dispositivi integrati o acceleratori edge. L'implementazione diventa più semplice perché ciò che esporti è esattamente ciò che esegui.

Questa semplicità è particolarmente importante per le applicazioni edge. Ad esempio, YOLO26 può essere facilmente implementato su dispositivi come i droni per casi d'uso quali il monitoraggio delle colture, l'ispezione dei campi e l'analisi dello stato di salute delle piante, dove le limitate risorse di calcolo e alimentazione rendono impraticabili complesse pipeline di post-elaborazione. Poiché il modello fornisce direttamente i risultati finali del rilevamento, funziona in modo affidabile su hardware leggero senza ulteriori fasi di elaborazione.

Fig. 4. Ultralytics è facile da implementare su dispositivi edge come i droni.

In breve, l'inferenza NMS elimina gli attriti dall'esportazione e dall'implementazione e consente di ottenere sistemi di visione più puliti e affidabili. NMS una soluzione alternativa. YOLO26 non ha più bisogno di soluzioni alternative.

Punti chiave

YOLO26 elimina la soppressione non massima risolvendo il problema alla base dei rilevamenti duplicati, anziché eliminarli a posteriori. Il suo design end-to-end consente al modello di produrre direttamente i rilevamenti finali, rendendo l'esportazione e l'implementazione più semplici e coerenti su diversi hardware. NMS una soluzione utile per i sistemi precedenti, ma YOLO26 non ne ha più bisogno.

Entra a far parte della nostra community e dai un'occhiata al nostro repository GitHub per saperne di più sull'IA. Esplora le nostre pagine dedicate alle soluzioni di IA nell'agricoltura e alla visione artificiale nel settore retail. Scopri le nostre opzioni di licenza e inizia oggi stesso a utilizzare Vision AI! 

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis