flujo tensor:: operaciones:: NoMaxSuppressionV5
#include <image_ops.h>
Selecciona con avidez un subconjunto de cuadros delimitadores en orden descendente de puntuación.
Resumen
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 tf.gather operation
. 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.
Argumentos:
- alcance: un objeto de alcance
- 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). - max_output_size: tensor entero escalar que representa el número máximo de cuadros que se seleccionarán mediante supresión no máxima.
- iou_threshold: tensor flotante 0-D que representa el umbral para decidir si las cajas se superponen demasiado con respecto al pagaré.
- score_threshold: tensor flotante 0-D que representa el umbral para decidir cuándo eliminar cuadros según la puntuación.
- soft_nms_sigma: un tensor flotante 0-D que representa el parámetro sigma para Soft NMS; ver 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).
Atributos opcionales (ver Attrs
):
- pad_to_max_output_size: si es verdadero, la salida
selected_indices
se rellena para que tenga una longitudmax_output_size
. El valor predeterminado es falso.
Devoluciones:
-
Output
de índices_seleccionados: un tensor entero 1-D de forma[M]
que representa los índices seleccionados del tensor de cajas, dondeM <= max_output_size
. -
Output
de puntuaciones_seleccionadas: un tensor flotante 1-D de forma[M]
que representa las puntuaciones correspondientes para cada cuadro seleccionado, dondeM <= max_output_size
. Las puntuaciones solo difieren de las puntuaciones de entrada correspondientes cuando se utiliza Soft NMS (es decir, cuandosoft_nms_sigma>0
) -
Output
valid_outputs: un tensor entero 0-D que representa el número de elementos válidos enselected_indices
, donde los elementos válidos aparecen primero.
Constructores y destructores | |
---|---|
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) |
Atributos públicos | |
---|---|
operation | |
selected_indices | |
selected_scores | |
valid_outputs |
Funciones estáticas públicas | |
---|---|
PadToMaxOutputSize (bool x) |
estructuras | |
---|---|
tensorflow:: operaciones:: NonMaxSuppressionV5:: Atributos | Configuradores de atributos opcionales para NonMaxSuppressionV5 . |
Atributos públicos
operación
Operation operation
índices_seleccionados
::tensorflow::Output selected_indices
puntuaciones_seleccionadas
::tensorflow::Output selected_scores
salidas_válidas
::tensorflow::Output valid_outputs
Funciones públicas
NoMaxSuppressionV5
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 )
NoMaxSuppressionV5
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 )
Funciones estáticas públicas
PadToMaxOutputSize
Attrs PadToMaxOutputSize( bool x )