tensorflow:: ops:: NonMaxSuppressionV5
#include <image_ops.h>Selecciona de forma voraz un subconjunto de cuadros delimitadores en orden descendente de puntuación.
Resumen
Se eliminan las cajas que tienen una superposición de intersección sobre unión (IOU) alta con las cajas seleccionadas previamente. Se eliminan las cajas delimitadoras con una puntuación menor que score_threshold . Las cajas delimitadoras se proporcionan como [y1, x1, y2, x2], donde (y1, x1) y (y2, x2) son las coordenadas de cualquier par diagonal de esquinas de la caja y las coordenadas se pueden proporcionar como normalizadas (es decir, que se encuentran en el intervalo [0, 1]) o absolutas. Tenga en cuenta que este algoritmo es independiente de dónde se encuentra el origen en el sistema de coordenadas y, más generalmente, es invariante a las transformaciones ortogonales y las traslaciones del sistema de coordenadas; por lo tanto, las traslaciones o reflexiones del sistema de coordenadas dan como resultado que el algoritmo seleccione las mismas cajas. La salida de esta operación es un conjunto de enteros que indexan la colección de entrada de cajas delimitadoras que representan las cajas seleccionadas. Las coordenadas de la caja delimitadora correspondientes a los índices seleccionados se pueden obtener luego usando la tf.gather operation . 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 boxes reduce la puntuación de otros boxes superpuestos en lugar de hacer que se poden directamente. Para habilitar este modo Soft-NMS, establezca el parámetro soft_nms_sigma en un valor mayor que 0.
Argumentos:
- ámbito: Un objeto de ámbito
- cajas: Un tensor flotante 2D de forma
[num_boxes, 4]. - puntuaciones: Un tensor flotante unidimensional de forma
[num_boxes]que representa una única puntuación correspondiente a cada cuadro (cada fila de cuadros). - max_output_size: Un tensor entero escalar que representa el número máximo de cuadros que se seleccionarán mediante la supresión sin valor máximo.
- iou_threshold: Un tensor flotante de 0 dimensiones que representa el umbral para decidir si las cajas se superponen demasiado con respecto a IOU.
- score_threshold: Un tensor flotante de 0 dimensiones que representa el umbral para decidir cuándo eliminar cuadros en función de la puntuación.
- soft_nms_sigma: Un tensor flotante de 0 dimensiones 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), se recurre al NMS estándar (duro).
Atributos opcionales (ver Attrs ):
- pad_to_max_output_size: Si es verdadero, la salida
selected_indicesse rellena hasta alcanzar una longitudmax_output_size. Por defecto es falso.
Devoluciones:
-
Outputselected_indices: Un tensor entero unidimensional de forma[M]que representa los índices seleccionados del tensor boxes, dondeM <= max_output_size. -
Outputselected_scores: Un tensor flotante unidimensional 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). -
Outputvalid_outputs: Un tensor entero de 0 dimensiones 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:: ops:: NonMaxSuppressionV5:: Attrs | 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
resultados_válidos
::tensorflow::Output valid_outputs
Funciones públicas
NonMaxSuppressionV5
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
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
Tamaño máximo de salida de la almohadilla
Attrs PadToMaxOutputSize( bool x )