NonMaxSuppression

NonMaxSuppression classe final pública

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 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 números 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

classe NonMaxSuppression.Options Atributos opcionais para NonMaxSuppression

Constantes

Fragmento OP_NAME O nome desta operação, conforme conhecido pelo motor principal TensorFlow

Métodos Públicos

estática <T estende TNumber > NonMaxSuppression <T>
criar ( Scope escopo, Operando <T> caixas, Operando <T> pontuação, Operando < TInt32 > maxOutputSize, Operando <T> iouThreshold, Operando <T> scoreThreshold, Operando <T> softNmsSigma, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação NonMaxSuppression.
estáticos NonMaxSuppression.Options
padToMaxOutputSize (booleano padToMaxOutputSize)
Output < TInt32 >
selectedIndices ()
Um tensor inteiro 1-D de forma `[M]` representando os índices selecionados do tensor de caixas, onde `M <= max_output_size`.
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`.
Output < TInt32 >
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

Constantes

nome_op final String public static

O nome desta operação, conforme conhecido pelo motor principal TensorFlow

Valor constante: "NonMaxSuppressionV5"

Métodos Públicos

public static NonMaxSuppression <T> create ( Scope escopo, Operando <T> caixas, Operando <T> pontuação, Operando < TInt32 > 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 NonMaxSuppression.

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 NonMaxSuppression

public static NonMaxSuppression.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.

pública Output < TInt32 > selectedIndices ()

Um tensor inteiro 1-D de forma `[M]` representando os índices selecionados do tensor de caixas, onde `M <= max_output_size`.

pública 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`)

pública Output < TInt32 > 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.