flujo tensor:: operaciones:: Supresión combinada no máxima

#include <image_ops.h>

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

Resumen

Esta operación realiza non_max_suppression en las entradas por lote, en todas las clases. Elimina las cajas que tienen una alta superposición de intersección sobre unión (IOU) con las cajas seleccionadas previamente. 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. Tenga en cuenta también que este algoritmo es invariante para transformaciones ortogonales y traslaciones 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 son los cuadros, puntuaciones y clases finales del tensor devueltos después de realizar non_max_suppression.

Argumentos:

  • alcance: un objeto de alcance
  • cajas: un tensor flotante 4-D de forma [batch_size, num_boxes, q, 4] . Si q es 1, entonces se usan los mismos cuadros para todas las clases; de lo contrario, si q es igual al número de clases, se usan cuadros específicos de cada clase.
  • puntuaciones: un tensor flotante tridimensional de forma [batch_size, num_boxes, num_classes] que representa una puntuación única correspondiente a cada cuadro (cada fila de cuadros).
  • max_output_size_per_class: un tensor entero escalar que representa el número máximo de cuadros que se seleccionarán mediante supresión no máxima por clase
  • max_total_size: un escalar que representa el número máximo de cuadros retenidos en todas las clases.
  • 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.

Atributos opcionales (ver Attrs ):

  • pad_per_class: si es falso, los cuadros, puntuaciones y clases de nmsed de salida se rellenan/recortan a max_total_size . Si es verdadero, los cuadros, puntuaciones y clases de nmsed de salida se rellenan para que tengan una longitud max_size_per_class * num_classes , a menos que exceda max_total_size , en cuyo caso se recorta a max_total_size . El valor predeterminado es falso.
  • clip_boxes: si es verdadero, suponga que las coordenadas del cuadro están entre [0, 1] y recorte los cuadros de salida si caen más allá de [0, 1]. Si es falso, no recorte y genere las coordenadas del cuadro tal como están.

Devoluciones:

  • Output nmsed_boxes: un tensor float32 [batch_size, max_detections, 4] que contiene los cuadros suprimidos no máximos.
  • Output nmsed_scores: un tensor float32 [batch_size, max_detections] que contiene las puntuaciones de las cajas.
  • Output nmsed_classes: un tensor float32 [batch_size, max_detections] que contiene las clases para las cajas.
  • Output valid_detections: un tensor int32 [batch_size] que indica el número de detecciones válidas por elemento de lote. Solo las entradas principales de num_detections[i] en nms_boxes[i], nms_scores[i] y nms_class[i] son ​​válidas. El resto de las entradas son rellenos de ceros.

Constructores y destructores

CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold)
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs)

Atributos públicos

nmsed_boxes
nmsed_classes
nmsed_scores
operation
valid_detections

Funciones estáticas públicas

ClipBoxes (bool x)
PadPerClass (bool x)

estructuras

tensorflow:: operaciones:: CombinedNonMaxSuppression:: Atributos

Configuradores de atributos opcionales para CombinedNonMaxSuppression .

Atributos públicos

cajas_nmsed

::tensorflow::Output nmsed_boxes

clases_nmsed

::tensorflow::Output nmsed_classes

puntuaciones_nmsed

::tensorflow::Output nmsed_scores

operación

Operation operation

detecciones_válidas

::tensorflow::Output valid_detections

Funciones públicas

Supresión combinada no máxima

 CombinedNonMaxSuppression(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size_per_class,
  ::tensorflow::Input max_total_size,
  ::tensorflow::Input iou_threshold,
  ::tensorflow::Input score_threshold
)

Supresión combinada no máxima

 CombinedNonMaxSuppression(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size_per_class,
  ::tensorflow::Input max_total_size,
  ::tensorflow::Input iou_threshold,
  ::tensorflow::Input score_threshold,
  const CombinedNonMaxSuppression::Attrs & attrs
)

Funciones estáticas públicas

ClipBoxes

Attrs ClipBoxes(
  bool x
)

PadPorClase

Attrs PadPerClass(
  bool x
)