NonMaxSuppression

clase final pública NonMaxSuppression

Selecciona con avidez un subconjunto de cuadros delimitadores en orden descendente de puntuación,

eliminar las cajas que tienen una alta superposición de intersección sobre unión (IOU) con las cajas seleccionadas previamente. Se eliminan los cuadros delimitadores con una puntuación inferior a "score_threshold". Los cuadros delimitadores se suministran como [y1, x1, y2, x2], donde (y1, x1) y (y2, x2) son las coordenadas de cualquier par diagonal de esquinas del cuadro y las coordenadas se pueden proporcionar normalizadas (es decir, situadas en el intervalo [0, 1]) o absoluto. Tenga en cuenta que este algoritmo es independiente de dónde está el origen en el sistema de coordenadas y, de manera más general, es invariante a las transformaciones y traslaciones ortogonales del sistema de coordenadas; por lo tanto, la traducción o las reflexiones del sistema de coordenadas dan como resultado que el algoritmo seleccione las mismas casillas. El resultado de esta operación es un conjunto de números enteros indexados en la colección de entrada de cuadros delimitadores que representan los cuadros seleccionados. Las coordenadas del cuadro delimitador correspondientes a los índices seleccionados se pueden obtener utilizando la "operación tf.gather". Por ejemplo: selected_indices = tf.image.non_max_suppression_v2( boxes, scorings, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) Esta operación también admite un modo Soft-NMS (con ponderación gaussiana) (cf. Bodla et al. , https://arxiv.org/abs/1704.04503) donde los cuadros reducen la puntuación de otros cuadros superpuestos en lugar de provocar directamente su poda. Para habilitar este modo Soft-NMS, configure el parámetro `soft_nms_sigma` para que sea mayor que 0.

Clases anidadas

clase Opciones de NonMaxSuppression Atributos opcionales para NonMaxSuppression

Constantes

Cadena OP_NOMBRE El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Métodos públicos

estático <T extiende TNumber > NonMaxSuppression <T>
crear ( alcance alcance , cuadros de operando <T>, puntuaciones de operando <T>, operando < TInt32 > maxOutputSize, operando <T> iouThreshold, operando <T> scoreThreshold, operando <T> softNmsSigma, opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación NonMaxSuppression.
Opciones estáticas de NonMaxSuppression.
padToMaxOutputSize (padToMaxOutputSize booleano)
Salida < TInt32 >
índices seleccionados ()
Un tensor entero 1-D de forma `[M]` que representa los índices seleccionados del tensor de cajas, donde `M <= max_output_size`.
Salida <T>
puntuaciones seleccionadas ()
Un tensor flotante 1-D de forma `[M]` que representa las puntuaciones correspondientes para cada cuadro seleccionado, donde `M <= max_output_size`.
Salida < TInt32 >
Salidas válidas ()
Un tensor entero 0-D que representa el número de elementos válidos en `selected_indices`, donde los elementos válidos aparecen primero.

Métodos heredados

Constantes

Cadena final estática pública OP_NAME

El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Valor constante: "NonMaxSuppressionV5"

Métodos públicos

public static NonMaxSuppression <T> crear ( alcance , cuadros de operando <T>, puntuaciones de operando <T>, operando <TInt32> maxOutputSize, operando <T> iouThreshold, operando <T> scoreThreshold, operando <T> softNmsSigma, opciones.. . opciones)

Método de fábrica para crear una clase que envuelve una nueva operación NonMaxSuppression.

Parámetros
alcance alcance actual
cajas Un tensor flotante 2-D de forma `[num_boxes, 4]`.
puntuaciones Un tensor flotante 1-D de forma `[num_boxes]` que representa una puntuación única correspondiente a cada cuadro (cada fila de cuadros).
tamaño máximo de salida Un tensor entero escalar que representa el número máximo de cuadros que se seleccionarán mediante supresión no máxima.
iouumbral Un tensor flotante 0-D que representa el umbral para decidir si las cajas se superponen demasiado con respecto al pagaré.
puntuaciónUmbral Un tensor flotante 0-D que representa el umbral para decidir cuándo eliminar cuadros según la puntuación.
suaveNmsSigma Un tensor flotante 0-D que representa el parámetro sigma para Soft NMS; véase Bodla et al (cf. https://arxiv.org/abs/1704.04503). Cuando `soft_nms_sigma=0.0` (que es el valor predeterminado), volvemos al NMS estándar (duro).
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de NonMaxSuppression

público estático NonMaxSuppression.Options padToMaxOutputSize (booleano padToMaxOutputSize)

Parámetros
padToMaxOutputSize Si es verdadero, la salida `selected_indices` se rellena para que tenga una longitud `max_output_size`. El valor predeterminado es falso.

Salida pública < TInt32 > índices seleccionados ()

Un tensor entero 1-D de forma `[M]` que representa los índices seleccionados del tensor de cajas, donde `M <= max_output_size`.

Salida pública <T> puntuaciones seleccionadas ()

Un tensor flotante 1-D de forma `[M]` que representa las puntuaciones correspondientes para cada cuadro seleccionado, donde `M <= max_output_size`. Las puntuaciones solo difieren de las puntuaciones de entrada correspondientes cuando se utiliza Soft NMS (es decir, cuando `soft_nms_sigma>0`)

Salida pública < TInt32 > salidas válidas ()

Un tensor entero 0-D que representa el número de elementos válidos en `selected_indices`, donde los elementos válidos aparecen primero.