Ultralytics YOLO27:
Torna al glossario di Ultralytics

Non-Maximum Suppression (NMS)

Scopri come la soppressione non massima (NMS) elimina le BBox duplicate nel rilevamento degli oggetti. Scopri come Ultralytics YOLO26 offre una NMS end-to-end nativa.

La soppressione non massima (NMS) è una tecnica di post-elaborazione utilizzata nel rilevamento degli oggetti per perfezionare le predizioni grezze effettuate da un modello. Quando un modello di rilevamento degli oggetti analizza un'immagine, spesso genera più riquadri di delimitazione sovrapposti per un singolo oggetto, ciascuno associato a un punteggio di confidenza. Queste predizioni ridondanti si verificano perché il modello può rilevare la stessa caratteristica a scale o posizioni leggermente diverse. NMS filtra questo output mantenendo solo il riquadro di delimitazione più accurato per ogni oggetto ed eliminando gli altri, assicurando che l'output finale sia pulito, preciso e privo di duplicati.

Come funziona la soppressione non massima#

L'algoritmo NMS opera su un elenco di riquadri di delimitazione candidati e sui relativi punteggi di confidenza. L'obiettivo è selezionare il riquadro migliore per un oggetto e sopprimere (rimuovere) tutti gli altri riquadri che si sovrappongono significativamente a esso, poiché probabilmente sono rilevamenti duplicati dello stesso oggetto. Il processo segue generalmente questi passaggi:

  1. Filtraggio: elimina tutti i riquadri di delimitazione con punteggi di confidenza inferiori a una soglia specifica (ad esempio, 0.25) per rimuovere immediatamente le predizioni deboli.

  2. Ordinamento: ordina i riquadri rimanenti in ordine decrescente in base ai relativi punteggi di confidenza.

  3. Selezione: seleziona il riquadro con il punteggio di confidenza più alto come rilevamento valido.

  4. Confronto: confronta questo riquadro selezionato con tutti gli altri riquadri rimanenti utilizzando l'intersezione sull'unione (IoU), una metrica che misura la sovrapposizione tra due riquadri.

  5. Soppressione: se l'IoU tra il riquadro selezionato e un altro riquadro supera una soglia predefinita (ad esempio, 0.45), il riquadro con il punteggio più basso viene considerato un duplicato e rimosso.

  6. Iterazione: ripeti il processo con il riquadro con il punteggio più alto successivo che non è ancora stato soppresso o selezionato, finché tutti i riquadri non sono stati elaborati.

Applicazioni nel mondo reale#

NMS è essenziale negli scenari in cui la precisione è fondamentale e i rilevamenti duplicati possono confondere i sistemi a valle.

  • Guida autonoma: nei sistemi per auto a guida autonoma, le telecamere rilevano pedoni, altri veicoli e segnali stradali. Un modello potrebbe prevedere tre riquadri leggermente diversi per un singolo pedone. NMS assicura che il sistema di pianificazione del veicolo riceva una sola coordinata per quel pedone, prevenendo frenate irregolari o errori nella pianificazione del percorso causati da ostacoli "fantasma".
  • Gestione dell'inventario al dettaglio: quando si utilizza la visione artificiale per contare i prodotti su uno scaffale, gli articoli sono spesso disposti molto vicini tra loro. Senza NMS, una singola lattina di bibita potrebbe essere conteggiata due volte a causa di predizioni sovrapposte, causando livelli di inventario inaccurati. NMS perfeziona questi rilevamenti per assicurare che il conteggio dell'inventario corrisponda alla realtà.

Implementazione di NMS con PyTorch#

Sebbene molti framework moderni gestiscano internamente NMS, comprenderne l'implementazione aiuta a regolare i parametri. L'esempio seguente mostra come applicare NMS utilizzando la libreria PyTorch:

import torch
import torchvision.ops as ops

# Example bounding boxes: [x1, y1, x2, y2]
boxes = torch.tensor(
    [
        [100, 100, 200, 200],  # Box A
        [105, 105, 195, 195],  # Box B (High overlap with A)
        [300, 300, 400, 400],  # Box C (Distinct object)
    ],
    dtype=torch.float32,
)

# Confidence scores for each box
scores = torch.tensor([0.9, 0.8, 0.95], dtype=torch.float32)

# Apply NMS with an IoU threshold of 0.5
# Boxes with IoU > 0.5 relative to the highest scoring box are suppressed
keep_indices = ops.nms(boxes, scores, iou_threshold=0.5)

print(f"Indices to keep: {keep_indices.tolist()}")
# Output will likely be [2, 0] corresponding to Box C (0.95) and Box A (0.9),
# while Box B (0.8) is suppressed due to overlap with A.

NMS e rilevamento end-to-end#

Tradizionalmente, NMS è stato un passaggio obbligatorio di "pulizia" esterno alla rete neurale principale, che aggiunge latenza di inferenza. Tuttavia, il settore si sta evolvendo verso architetture end-to-end.

  • NMS standard: un processo euristico che richiede la regolazione manuale della soglia IoU. Se la soglia è troppo bassa, gli oggetti validi vicini tra loro potrebbero non essere rilevati (recall basso). Se è troppo alta, rimangono duplicati (precision bassa).
  • Modelli end-to-end: i modelli di nuova generazione come YOLO26 sono progettati nativamente per essere end-to-end. Durante l'addestramento imparano a prevedere esattamente un riquadro per ogni oggetto, integrando di fatto il processo NMS. Questo elimina la necessità di post-elaborazione esterna, garantendo velocità di inferenza superiori e pipeline di distribuzione più semplici sulla Ultralytics Platform.

Concetti correlati#

  • Soft-NMS: una variante in cui i riquadri sovrapposti non vengono rimossi rigidamente, ma i relativi punteggi di confidenza vengono ridotti. Ciò consente di rilevare comunque oggetti parzialmente sovrapposti (come persone in una folla) se i loro punteggi rimangono sufficientemente alti dopo la decrescita.
  • Riquadri di ancoraggio: forme di riquadro predefinite utilizzate da molti rilevatori per stimare le dimensioni degli oggetti. NMS viene applicata alle predizioni finali perfezionate a partire da questi ancoraggi.
  • Intersezione sull'unione (IoU): la formula matematica utilizzata da NMS per determinare il grado di sovrapposizione tra due riquadri, fungendo da soglia decisionale per la soppressione.

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning