NonMaxSuppressionV5

NonMaxSuppressionV5 public final class

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

las cajas de poda que tienen una alta intersección sobre unión (IOU) se superponen con las cajas seleccionadas previamente. Se eliminan los cuadros delimitadores con una puntuación inferior a "score_threshold". Los cuadros delimitadores se proporcionan como [y1, x1, y2, x2], donde (y1, x1) y (y2, x2) son las coordenadas de cualquier par diagonal de esquinas de cuadro y las coordenadas se pueden proporcionar como 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, en 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 cajas. El resultado de esta operación es un conjunto de números enteros que se indexan 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 usando la `operación tf.gather`. Por ejemplo: selected_indices = tf.image.non_max_suppression_v2 (boxes, scores, 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 hacer que se poden directamente. Para habilitar este modo Soft-NMS, configure el parámetro `soft_nms_sigma` para que sea mayor que 0.

Clases anidadas

clase NonMaxSuppressionV5.Options Los atributos opcionales para NonMaxSuppressionV5

Métodos públicos

estática <T se extiende Número> NonMaxSuppressionV5 <T>
crear ( Alcance alcance, operando <T> cajas, operando <T> Partituras, operando <Integer> maxOutputSize, operando <T> iouThreshold, operando <T> scoreThreshold, operando <T> softNmsSigma, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación NonMaxSuppressionV5.
estáticas NonMaxSuppressionV5.Options
padToMaxOutputSize (Boolean padToMaxOutputSize)
Salida <Integer>
selectedIndices ()
Un tensor entero 1-D de forma `[M]` que representa los índices seleccionados del tensor de cajas, donde `M <= max_output_size`.
Salida <T>
selectedScores ()
Un tensor flotante 1-D de forma `[M]` que representa las puntuaciones correspondientes para cada cuadro seleccionado, donde `M <= tamaño_de_salida_máx`.
Salida <Integer>
validOutputs ()
Un tensor de enteros 0-D que representa el número de elementos válidos en `selected_indices`, con los elementos válidos que aparecen primero.

Métodos heredados

Métodos públicos

public static NonMaxSuppressionV5 <T> crear ( Alcance alcance, operando <T> cajas, operando <T> puntajes, operando <Integer> maxOutputSize, operando <T> iouThreshold, operando <T> scoreThreshold, operando <T> softNmsSigma, Opciones .. . opciones)

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

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 única puntuación correspondiente a cada casilla (cada fila de casillas).
maxOutputSize Un tensor entero escalar que representa el número máximo de casillas que se seleccionarán mediante supresión no máxima.
iouThreshold Un tensor flotante 0-D que representa el umbral para decidir si las cajas se superponen demasiado con respecto a los pagarés.
scoreThreshold Un tensor flotante 0-D que representa el umbral para decidir cuándo eliminar cajas según la puntuación.
softNmsSigma Un tensor flotante 0-D que representa el parámetro sigma para Soft NMS; véase Bodla et al (véase https://arxiv.org/abs/1704.04503). Cuando `soft_nms_sigma = 0.0` (que es el predeterminado), recurrimos al NMS estándar (duro).
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de NonMaxSuppressionV5

estáticas pública NonMaxSuppressionV5.Options padToMaxOutputSize (booleano padToMaxOutputSize)

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

pública de salida <Integer> selectedIndices ()

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

pública de salida <T> selectedScores ()

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

pública de salida <Integer> validOutputs ()

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