tensorflow::ops::NonMaxSuppressionV5
#include <image_ops.h>Seleziona avidamente un sottoinsieme di bounding box in ordine decrescente di punteggio.
Riepilogo
Eliminazione dei riquadri che presentano un'elevata sovrapposizione di intersezione-su-unione (IOU) con i riquadri precedentemente selezionati. Vengono rimossi i riquadri di delimitazione con punteggio inferiore a score_threshold . I riquadri di delimitazione vengono forniti come [y1, x1, y2, x2], dove (y1, x1) e (y2, x2) sono le coordinate di una qualsiasi coppia diagonale di angoli del riquadro e le coordinate possono essere fornite normalizzate (ovvero, comprese nell'intervallo [0, 1]) o assolute. Si noti che questo algoritmo è indipendente dalla posizione dell'origine nel sistema di coordinate e, più in generale, è invariante rispetto a trasformazioni ortogonali e traslazioni del sistema di coordinate; pertanto, traslazioni o riflessioni del sistema di coordinate portano alla selezione degli stessi riquadri da parte dell'algoritmo. L'output di questa operazione è un insieme di numeri interi che indicizzano la collezione di input dei riquadri di delimitazione che rappresentano i riquadri selezionati. Le coordinate dei riquadri 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( boxs, 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 ) in cui le box riducono il punteggio di altre box sovrapposte invece di causarne direttamente la potatura. Per abilitare questa modalità Soft-NMS, impostare il parametro soft_nms_sigma su un valore maggiore di 0.
Argomentazioni:
- ambito: un oggetto Scope
- scatole: un tensore float 2D di forma
[num_boxes, 4]. - punteggi: Un tensore float 1D di forma
[num_boxes]che rappresenta un singolo punteggio corrispondente a ciascuna casella (ogni riga di caselle). - max_output_size: Un tensore scalare intero che rappresenta il numero massimo di riquadri da selezionare tramite soppressione non massima.
- iou_threshold: Un tensore float 0-D che rappresenta la soglia per decidere se le caselle si sovrappongono troppo rispetto all'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 è il valore predefinito), si ricorre a NMS standard (hard).
Attributi opzionali (vedere Attrs ):
- pad_to_max_output_size: Se true, l'output
selected_indicesviene riempito con caratteri di riempimento fino a raggiungere la lunghezzamax_output_size. Il valore predefinito è false.
Resi:
-
Outputselected_indices: un tensore di interi 1D di forma[M]che rappresenta gli indici selezionati dal tensore delle caselle, doveM <= max_output_size. -
Outputselected_scores: un tensore float 1D di forma[M]che rappresenta i punteggi corrispondenti per ogni 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). -
Outputvalid_outputs: un tensore di interi a 0 dimensioni che rappresenta il numero di elementi validi inselected_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 statiche pubbliche | |
|---|---|
PadToMaxOutputSize (bool x) | |
Strutture | |
|---|---|
| tensorflow:: ops:: NonMaxSuppressionV5:: Attrs | Impostazioni opzionali degli attributi 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 statiche pubbliche
PadToMaxOutputSize
Attrs PadToMaxOutputSize( bool x )