tensoreflusso:: ops:: NonMaxSuppressionV5
#include <image_ops.h>
Seleziona avidamente un sottoinsieme di riquadri di delimitazione in ordine decrescente di punteggio.
Riepilogo
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' tf.gather operation
. 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, impostare il parametro soft_nms_sigma
su un valore maggiore di 0.
Argomenti:
- scope: un oggetto Scope
- boxs: un tensore float 2-D 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). - max_output_size: un tensore intero scalare che rappresenta il numero massimo di caselle da selezionare mediante la soppressione non massima.
- iou_threshold: un tensore float 0-D che rappresenta la soglia per decidere se le scatole si sovrappongono troppo rispetto a IOU.
- score_threshold: un tensore float 0-D che rappresenta la soglia per decidere quando rimuovere le caselle in base al punteggio.
- soft_nms_sigma: 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).
Attributi facoltativi (vedi Attrs
):
- pad_to_max_output_size: se vero, l'output
selected_indices
viene riempito per avere lunghezzamax_output_size
. Il valore predefinito è falso.
Resi:
-
Output
: un tensore intero 1-D di forma[M]
che rappresenta gli indici selezionati dal tensore delle caselle, doveM <= max_output_size
. -
Output
: un tensore float 1-D di forma[M]
che rappresenta i punteggi corrispondenti per ciascuna casella selezionata, doveM <= max_output_size
. I punteggi differiscono dai punteggi di input corrispondenti solo quando si utilizza Soft NMS (ovvero quandosoft_nms_sigma>0
) -
Output
valid_outputs: un tensore intero 0-D che rappresenta il numero di elementi validiselected_indices
, con gli elementi validi che appaiono per primi.
Costruttori e distruttori | |
---|---|
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma) | |
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma, const NonMaxSuppressionV5::Attrs & attrs) |
Attributi pubblici | |
---|---|
operation | |
selected_indices | |
selected_scores | |
valid_outputs |
Funzioni pubbliche statiche | |
---|---|
PadToMaxOutputSize (bool x) |
Strutture | |
---|---|
tensorflow:: ops:: NonMaxSuppressionV5:: Attrs | Setter di attributi facoltativi per NonMaxSuppressionV5 . |
Attributi pubblici
operazione
Operation operation
indici_selezionati
::tensorflow::Output selected_indices
punteggi_selezionati
::tensorflow::Output selected_scores
output_validi
::tensorflow::Output valid_outputs
Funzioni pubbliche
NonMaxSuppressionV5
NonMaxSuppressionV5( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, ::tensorflow::Input soft_nms_sigma )
NonMaxSuppressionV5
NonMaxSuppressionV5( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, ::tensorflow::Input soft_nms_sigma, const NonMaxSuppressionV5::Attrs & attrs )
Funzioni pubbliche statiche
PadToMaxOutputSize
Attrs PadToMaxOutputSize( bool x )