Contenuti del Corso
Fondamenti di Computer Vision
Fondamenti di Computer Vision
Soppressione Non Massima (NMS)
I modelli di rilevamento oggetti spesso prevedono più riquadri di delimitazione sovrapposti per lo stesso oggetto. Questo accade perché i modelli analizzano un'immagine a diverse scale e posizioni, generando previsioni ridondanti. La Non-Max Suppression (NMS) è una fase cruciale di post-elaborazione che perfeziona queste rilevazioni selezionando i riquadri di delimitazione più rilevanti ed eliminando quelli superflui.
Perché si verificano più riquadri sovrapposti
I rilevatori di oggetti prevedono più riquadri di delimitazione per un singolo oggetto a causa di:
Anchor boxes: alcuni modelli, come Faster R-CNN e YOLO, utilizzano anchor boxes predefiniti di diverse dimensioni, portando a più rilevamenti dello stesso oggetto;
Approcci a finestra mobile: alcuni metodi di rilevamento analizzano un'immagine in piccole regioni, causando rilevamenti ripetuti di un oggetto in aree sovrapposte;
Punteggi di confidenza elevati: il modello assegna punteggi di confidenza a ciascuna previsione e previsioni simili con alta confidenza possono sovrapporsi in modo significativo.
Se questi riquadri ridondanti non vengono filtrati, possono influire negativamente sulle prestazioni del rilevamento oggetti aumentando la complessità computazionale e rendendo inaffidabile il conteggio degli oggetti.
Come funziona la Non-Max Suppression
La NMS viene applicata per rimuovere rilevamenti duplicati mantenendo il riquadro di delimitazione più affidabile. Segue questi passaggi:
Ordinamento per punteggio: disporre tutti i riquadri di delimitazione previsti in ordine decrescente in base ai loro punteggi di confidenza;
Selezione del miglior riquadro: scegliere il riquadro con il punteggio più alto e aggiungerlo all'elenco finale delle rilevazioni;
Calcolo dell'IoU: calcolare l'Intersection Over Union (IoU) tra il riquadro selezionato e tutti i rimanenti;
Soglia: sopprimere (rimuovere) i riquadri che hanno un IoU superiore a una soglia impostata (ad esempio, 0.5) poiché probabilmente rappresentano lo stesso oggetto;
Ripetizione: continuare questo processo per il riquadro con il punteggio successivo più alto fino a quando tutti i riquadri sono stati processati.
Soft-NMS: Un'alternativa più intelligente
NMS standard rimuove tutte le bounding box sovrapposte che superano una certa soglia di IoU, il che a volte può eliminare rilevamenti utili. Soft-NMS migliora questo processo riducendo i punteggi di confidenza delle box sovrapposte invece di eliminarle completamente. Questo metodo consente una soppressione più graduale e può migliorare le prestazioni di rilevamento in scenari con oggetti densi.
Differenze principali tra NMS standard e Soft-NMS:
NMS standard: rimuove le box sovrapposte sopra la soglia di IoU;
Soft-NMS: riduce i punteggi di confidenza delle box sovrapposte invece di eliminarle, risultando più flessibile nel rilevamento di oggetti parzialmente occlusi.
Bilanciare accuratezza e velocità in NMS
La scelta della soglia di IoU è fondamentale:
Soglie più alte (ad es. 0.6 - 0.7): filtraggio più aggressivo, mantiene solo le box con maggiore confidenza ma può perdere alcuni rilevamenti validi;
Soglie più basse (ad es. 0.3 - 0.4): mantiene più box sovrapposte, utile in scene affollate ma può aumentare i falsi positivi.
L'utilizzo di implementazioni ottimizzate, come le funzioni NMS integrate in TensorFlow o OpenCV, può velocizzare l'elaborazione per applicazioni in tempo reale.
Non-Max Suppression è una tecnica fondamentale nel rilevamento oggetti per rimuovere bounding box ridondanti e migliorare l'accuratezza del modello. NMS standard elimina in modo efficiente i rilevamenti duplicati, mentre Soft-NMS affina il processo regolando i punteggi di confidenza invece di rimuoverli completamente. Ottimizzando le soglie di IoU, è possibile trovare il giusto equilibrio tra accuratezza del rilevamento ed efficienza computazionale.
1. Qual è lo scopo principale della Non-Max Suppression (NMS) nel rilevamento degli oggetti?
2. Come determina la NMS standard quali riquadri di delimitazione sopprimere?
3. Qual è la differenza principale tra la NMS standard e la Soft-NMS?
Grazie per i tuoi commenti!