Avidamente seleciona um subconjunto de caixas delimitadoras em ordem decrescente de pontuação,
podar caixas que têm alta sobreposição de intersecção sobre união (IOU) com as caixas previamente selecionadas. Caixas delimitadoras com pontuação inferior a `score_threshold` são removidas. As caixas delimitadoras são fornecidas como [y1, x1, y2, x2], onde (y1, x1) e (y2, x2) são as coordenadas de qualquer par diagonal de cantos da caixa e as coordenadas podem ser fornecidas como normalizadas (ou seja, situadas em o intervalo [0, 1]) ou absoluto. Observe que este algoritmo é agnóstico em relação a onde a origem está no sistema de coordenadas e, mais geralmente, é invariante para transformações ortogonais e traduções do sistema de coordenadas; assim, a tradução ou reflexos do sistema de coordenadas resulta nas mesmas caixas sendo selecionadas pelo algoritmo. A saída dessa operação é um conjunto de inteiros indexados na coleção de entrada de caixas delimitadoras que representam as caixas selecionadas. As coordenadas da caixa delimitadora correspondentes aos índices selecionados podem então ser obtidas usando a `operação tf.gather`. Por exemplo: selected_indices = tf.image.non_max_suppression_v2 (caixas, pontuações, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather (boxes, selected_indices) Este op também suporta um modo Soft-NMS (com ponderação gaussiana) (cf Bodla et al , https://arxiv.org/abs/1704.04503) em que as caixas reduzem a pontuação de outras caixas sobrepostas em vez de causar diretamente a poda delas. Para habilitar este modo Soft-NMS, defina o parâmetro `soft_nms_sigma` para ser maior que 0.
Classes aninhadas
aula | NonMaxSuppressionV5.Options | Atributos opcionais para NonMaxSuppressionV5 |
Métodos Públicos
static <T extends Number> NonMaxSuppressionV5 <T> | |
static NonMaxSuppressionV5.Options | padToMaxOutputSize (booleano padToMaxOutputSize) |
Saída <Integer> | selectedIndices () Um tensor inteiro 1-D de forma `[M]` representando os índices selecionados do tensor de caixas, onde `M <= max_output_size`. |
Saída <T> | selectedScores () Um tensor flutuante 1-D de forma `[M]` representando as pontuações correspondentes para cada caixa selecionada, onde `M <= max_output_size`. |
Saída <Integer> | validOutputs () Um tensor inteiro 0-D que representa o número de elementos válidos em `selected_indices`, com os elementos válidos aparecendo primeiro. |
Métodos herdados
Métodos Públicos
public static NonMaxSuppressionV5 <T> create ( Scope escopo, Operando <T> caixas, Operando <T> pontuação, Operando <Integer> maxOutputSize, Operando <T> iouThreshold, Operando <T> scoreThreshold, Operando <T> softNmsSigma, Opções .. . opções)
Método de fábrica para criar uma classe envolvendo uma nova operação NonMaxSuppressionV5.
Parâmetros
alcance | escopo atual |
---|---|
caixas | Um tensor flutuante 2-D de formato `[num_boxes, 4]`. |
pontuações | Um tensor flutuante 1-D de forma `[num_boxes]` representando uma única pontuação correspondente a cada caixa (cada linha de caixas). |
maxOutputSize | Um tensor escalar inteiro que representa o número máximo de caixas a serem selecionadas por supressão não máxima. |
iouThreshold | Um tensor flutuante 0-D que representa o limite para decidir se as caixas se sobrepõem demais em relação ao IOU. |
scoreThreshold | Um tensor flutuante 0-D que representa o limite para decidir quando remover as caixas com base na pontuação. |
softNmsSigma | Um tensor flutuante 0-D que representa o parâmetro sigma para Soft NMS; consulte Bodla et al (cf https://arxiv.org/abs/1704.04503). Quando `soft_nms_sigma = 0.0` (que é o padrão), voltamos ao NMS padrão (rígido). |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de NonMaxSuppressionV5
public static NonMaxSuppressionV5.Options padToMaxOutputSize (Boolean padToMaxOutputSize)
Parâmetros
padToMaxOutputSize | Se verdadeiro, a saída `selected_indices` é preenchida para ter o comprimento` max_output_size`. O padrão é falso. |
---|
public Output <Integer> selectedIndices ()
Um tensor inteiro 1-D de forma `[M]` representando os índices selecionados do tensor de caixas, onde `M <= max_output_size`.
public Output <T> selectedScores ()
Um tensor flutuante 1-D de forma `[M]` representando as pontuações correspondentes para cada caixa selecionada, onde `M <= max_output_size`. As pontuações diferem apenas das pontuações de entrada correspondentes ao usar Soft NMS (ou seja, quando `soft_nms_sigma> 0`)
public Output <Integer> validOutputs ()
Um tensor inteiro 0-D que representa o número de elementos válidos em `selected_indices`, com os elementos válidos aparecendo primeiro.