Soppressione non massimaNMS)
Scoprite la soppressione non massimaNMS) per il rilevamento degli oggetti. Scoprite come affina i risultati, migliora l'accuratezza e alimenta applicazioni AI come YOLO.
La soppressione non massimaleNMS) è una tecnica di post-elaborazione fondamentale utilizzata in
visione artificiale per affinare i risultati degli algoritmi di
algoritmi di rilevamento degli oggetti. Quando un modello analizza
un'immagine, spesso predice più riquadri di
per un singolo oggetto, ognuno con una probabilità distinta.
probabilità distinta. NMS filtra queste previsioni ridondanti per garantire che ogni oggetto unico sia identificato esattamente una volta.
una sola volta, conservando solo il riquadro più accurato e scartando gli altri. Questo processo è essenziale per ottenere un'elevata
precisione nelle applicazioni reali, evitando che i sistemi
di rilevare duplicati "fantasma" dello stesso obiettivo.
Meccanismi di soppressione
L'algoritmo NMS funziona come un filtro che ripulisce l'output grezzo di un modello di NMS learning.
modello di apprendimento profondo. Si basa molto su due parametri chiave
metriche chiave: il punteggio di confidenza, che indica la certezza
che il modello sia sicuro che una casella contenga un oggetto, e il punteggio di
Intersezione su Unione (IoU), che misura la
misura la sovrapposizione spaziale tra due caselle.
L'algoritmo greedy standard per gli NMS segue in genere
questi passi:
-
Soglia: Tutte le caselle candidate con un punteggio di confidenza inferiore a una soglia specifica vengono
immediatamente scartate per eliminare le previsioni deboli.
-
Ordinamento: Le caselle rimanenti vengono ordinate in ordine decrescente in base ai punteggi di fiducia.
- Selezione: La casella con il punteggio più alto viene selezionata come rilevamento valido.
-
Soppressione: L'algoritmo confronta la casella selezionata con tutte le altre rimanenti. Se l'IoU
tra il riquadro selezionato e un altro riquadro supera un limite definito (ad esempio, 0,5), il riquadro con punteggio inferiore viene soppresso (eliminato) perché si presume che rappresenti lo stesso oggetto.
(eliminato) perché si presume che rappresenti lo stesso oggetto.
-
Iterazione: Questo processo si ripete per la casella successiva con il punteggio più alto, fino a quando tutti i candidati non sono stati
elaborati.
Le varianti avanzate, come NMS, decadono i punteggi di rilevamento delle caselle
di scatole sovrapposte piuttosto che eliminarle del tutto, il che può essere vantaggioso in scene affollate in cui gli oggetti si
naturalmente si occludono l'un l'altro.
Applicazioni nel mondo reale
LNMS è onnipresente nei sistemi che si basano su
intelligenza artificiale per interpretare
dati visivi. Il suo ruolo è particolarmente critico negli ambienti critici per la sicurezza e ad alta precisione.
-
L'intelligenza artificiale nel settore automobilistico: Negli stack di percezione delle
di percezione delle auto a guida autonoma, il rilevamento accurato degli altri veicoli e dei pedoni non è negoziabile.
Senza NMS, un sistema di percezione del veicolo potrebbe detect un singolo pedone come tre o quattro persone distinte, a causa della sovrapposizione delle previsioni.
sovrapposizione delle previsioni. Questo potrebbe confondere gli
algoritmi di pianificazione del movimento, con conseguenti frenate o sterzate errate.
o sterzate errate. NMS garantisce una rappresentazione pulita e univoca degli ostacoli, come si vede in tecnologie come
NVIDIA DRIVE.
-
Analisi delle immagini mediche:
Quando si utilizza l'IA per identificare tumori o lesioni nelle radiografie e nelle risonanze magnetiche, la precisione è fondamentale.
L'intelligenza artificiale nei sistemi sanitari utilizza NMS per garantire che
una singola anomalia non faccia scattare più avvisi, aiutando i radiologi a concentrarsi su risultati distinti. Il rilevamento affidabile
rilevamento affidabile riduce i falsi positivi, snellendo il flusso di lavoro diagnostico descritto nella ricerca sull'imaging
ricerca sull'imaging medico.
NMS in Ultralytics YOLO
Nella Ultralytics YOLO11NMS è integrato direttamente nella pipeline di predizione.
direttamente nella pipeline di predizione. Gli utenti possono facilmente regolare i parametri di NMS , come la soglia IoU , per bilanciare
tra la rimozione dei duplicati e la separazione di oggetti molto distanziati.
Il seguente frammento di codice dimostra come eseguire l'inferenza e personalizzare le impostazioni NMS utilizzando il metodo
ultralytics pacchetto:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
# 'iou=0.5' sets the NMS threshold; boxes with >50% overlap are suppressed
# 'conf=0.25' filters out boxes with low confidence before NMS runs
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)
# Display the number of detected objects after NMS
print(f"Objects detected: {len(results[0].boxes)}")
Confronto con concetti correlati
È importante distinguere l NMS da altri termini presenti nelle pipeline di rilevamento.
-
NMS vs. scatole di ancoraggio: Le ancore sono forme
forme predefinite utilizzate come punti di partenza per le previsioni durante l' elaborazione del modello. L NMS è una fase di
fase di post-elaborazione che avviene dopo che il modello ha emesso le sue previsioni finali.
-
NMS vs. soglia di fiducia: A
soglia di confidenza filtra le caselle solo in base ai punteggi di probabilità individuali. NMS filtra le caselle in base alla
relazione (sovrapposizione) con altre caselle.
-
NMS vs. rilevamento end-to-end: L NMS tradizionale aggiunge
latenza dell'inferenza perché si tratta di un processo
processo sequenziale. Le architetture più recenti, come YOLO26, si stanno
si stanno orientando verso progetti nativamente end-to-end. Questi modelli mirano a produrre l'insieme finale di oggetti unici direttamente dalla rete neurale.
dalla rete neurale, rendendo potenzialmente obsoleti gli algoritmi NMS esterni nelle future generazioni di modelli di NMS automatico.
modelli di apprendimento automatico.
Per gli sviluppatori che desiderano distribuire questi modelli in modo efficiente, la comprensione dell'impatto NMS sull'inferenza NMS tempo NMS è fondamentale.
inferenza in tempo reale è fondamentale. Strumenti come
TensorRT spesso includono plugin NMS ottimizzati per accelerare questa
questa fase durante la distribuzione del modello.