NonMaxSuppression

classe finale pubblica NonMaxSuppression

Seleziona avidamente un sottoinsieme di riquadri di delimitazione in ordine decrescente di punteggio,

eliminando le caselle che hanno un'elevata sovrapposizione di intersezione su unione (IOU) con le caselle precedentemente selezionate. I riquadri di delimitazione con punteggio inferiore a "score_threshold" vengono rimossi. I riquadri di delimitazione vengono forniti come [y1, x1, y2, x2], dove (y1, x1) e (y2, x2) sono le coordinate di qualsiasi coppia diagonale di angoli del riquadro e le coordinate possono essere fornite come normalizzate (ovvero, giacenti in l'intervallo [0, 1]) o assoluto. Si noti che questo algoritmo è indipendente dalla posizione dell'origine nel sistema di coordinate e più in generale è invariante rispetto alle trasformazioni ortogonali e alle traslazioni del sistema di coordinate; quindi la traslazione o le riflessioni del sistema di coordinate comportano la selezione delle stesse caselle da parte dell'algoritmo. L'output di questa operazione è un insieme di numeri interi indicizzati nella raccolta di input di riquadri di delimitazione che rappresentano i riquadri selezionati. Le coordinate del riquadro di delimitazione corrispondenti agli indici selezionati possono quindi essere ottenute utilizzando l'operazione tf.gather. Ad esempio:selected_indices = tf.image.non_max_suppression_v2(boxes, scores, max_output_size, iou_threshold, score_threshold)selected_boxes = tf.gather(boxes,selected_indices) Questa operazione supporta anche una modalità Soft-NMS (con ponderazione gaussiana) (cfr Bodla et al , https://arxiv.org/abs/1704.04503) dove i riquadri riducono il punteggio di altri riquadri sovrapposti invece di provocarne direttamente la potatura. Per abilitare questa modalità Soft-NMS, imposta il parametro "soft_nms_sigma" su un valore maggiore di 0.

Classi nidificate

classe NonMaxSuppression.Options Attributi facoltativi per NonMaxSuppression

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

statico <T estende TNumber > NonMaxSuppression <T>
create ( ambito ambito , caselle operando <T>, punteggi operando <T>, operando < TInt32 > maxOutputSize, operando <T> iouThreshold, operando <T> scoreThreshold, operando <T> softNmsSigma, Opzioni... opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione NonMaxSuppression.
NonMaxSuppression.Options statiche
padToMaxOutputSize (padToMaxOutputSize booleano)
Uscita < TInt32 >
indici selezionati ()
Un tensore intero 1-D di forma "[M]" che rappresenta gli indici selezionati dal tensore delle caselle, dove "M <= max_output_size".
Uscita <T>
punteggi selezionati ()
Un tensore float 1-D di forma "[M]" che rappresenta i punteggi corrispondenti per ciascuna casella selezionata, dove "M <= max_output_size".
Uscita < TInt32 >
output validi ()
Un tensore intero 0-D che rappresenta il numero di elementi validi in "indice_selezionato", con gli elementi validi che appaiono per primi.

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "NonMaxSuppressionV5"

Metodi pubblici

public static NonMaxSuppression <T> create ( ambito ambito , caselle operando <T>, punteggi operando <T>, operando < TInt32 > maxOutputSize, operando <T> iouThreshold, operando <T> scoreThreshold, operando <T> softNmsSigma, Opzioni.. . opzioni)

Metodo factory per creare una classe che racchiude una nuova operazione NonMaxSuppression.

Parametri
scopo ambito attuale
scatole Un tensore float 2D di forma "[num_boxes, 4]".
punteggi Un tensore float 1-D di forma "[num_boxes]" che rappresenta un singolo punteggio corrispondente a ciascuna casella (ogni riga di caselle).
dimensioneuscitamax Un tensore intero scalare che rappresenta il numero massimo di caselle da selezionare mediante la soppressione non massima.
iouSoglia Un tensore float 0-D che rappresenta la soglia per decidere se le scatole si sovrappongono troppo rispetto all'IOU.
punteggioSoglia Un tensore float 0-D che rappresenta la soglia per decidere quando rimuovere le caselle in base al punteggio.
softNmsSigma Un tensore float 0-D che rappresenta il parametro sigma per Soft NMS; vedere Bodla et al (cfr https://arxiv.org/abs/1704.04503). Quando `soft_nms_sigma=0.0` (che è l'impostazione predefinita), torniamo all'NMS standard (hard).
opzioni trasporta valori di attributi opzionali
ritorna
  • una nuova istanza di NonMaxSuppression

pubblico statico NonMaxSuppression.Options padToMaxOutputSize (booleano padToMaxOutputSize)

Parametri
padToMaxOutputSize Se vero, l'output "selected_indices" viene riempito per avere la lunghezza "max_output_size". Il valore predefinito è falso.

output pubblico < TInt32 > selectIndices ()

Un tensore intero 1-D di forma "[M]" che rappresenta gli indici selezionati dal tensore delle caselle, dove "M <= max_output_size".

Output pubblico <T> selezionatiScores ()

Un tensore float 1-D di forma "[M]" che rappresenta i punteggi corrispondenti per ciascuna casella selezionata, dove "M <= max_output_size". I punteggi differiscono dai punteggi di input corrispondenti solo quando si utilizza Soft NMS (ovvero quando `soft_nms_sigma>0`)

output pubblico < TInt32 > validOutputs ()

Un tensore intero 0-D che rappresenta il numero di elementi validi in "indice_selezionato", con gli elementi validi che appaiono per primi.