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]
. Siq
es 1, entonces se usan los mismos cuadros para todas las clases; de lo contrario, siq
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 longitudmax_size_per_class
*num_classes
, a menos que excedamax_total_size
, en cuyo caso se recorta amax_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 )