Selecciona codiciosamente un subconjunto de cuadros delimitadores en orden descendente de puntuación,
Esta operación realiza non_max_suppression en las entradas por lote, en todas las clases. Elimina las cajas que tienen una gran superposición de intersección sobre unión (IOU) con las cajas seleccionadas previamente. 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. También tenga en cuenta que este algoritmo es invariante a las 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 cajas. El resultado de esta operación son los cuadros finales, puntajes y tensor de clases devueltos después de realizar non_max_suppression.
Clases anidadas
clase | CombinedNonMaxSuppression.Options | Los atributos opcionales para CombinedNonMaxSuppression |
Constantes
Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow |
Métodos públicos
estáticas CombinedNonMaxSuppression.Options | Clipboxes (Clipboxes booleanas) |
estática CombinedNonMaxSuppression | crear ( Alcance alcance, operando < TFloat32 > cajas, operando < TFloat32 > puntajes, operando < TInt32 > maxOutputSizePerClass, operando < TInt32 > maxTotalSize, operando < TFloat32 > iouThreshold, operando < TFloat32 > scoreThreshold, Opciones ... Opciones) Método de fábrica para crear una clase que envuelva una nueva operación CombinedNonMaxSuppression. |
Salida < TFloat32 > | nmsedBoxes () Un tensor de [batch_size, max_detections, 4] float32 que contiene los cuadros no máximos suprimidos. |
Salida < TFloat32 > | nmsedClasses () Un tensor float32 de [batch_size, max_detections] que contiene las clases de las cajas. |
Salida < TFloat32 > | nmsedScores () Un tensor float32 de [batch_size, max_detections] que contiene las puntuaciones de las cajas. |
estáticas CombinedNonMaxSuppression.Options | padPerClass (Boolean padPerClass) |
Salida < TInt32 > | validDetections () Un tensor int32 de [batch_size] que indica el número de detecciones válidas por artículo de lote. |
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
estáticas pública CombinedNonMaxSuppression.Options Clipboxes (Clipboxes booleanas)
Parámetros
clipBoxes | Si es verdadero, asuma 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. |
---|
public static CombinedNonMaxSuppression crear ( Alcance alcance, operando < TFloat32 > cajas, operando < TFloat32 > puntajes, operando < TInt32 > maxOutputSizePerClass, operando < TInt32 > maxTotalSize, operando < TFloat32 > iouThreshold, operando < TFloat32 > scoreThreshold, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación CombinedNonMaxSuppression.
Parámetros
alcance | alcance actual |
---|---|
cajas | Un tensor flotante 4-D de forma `[tamaño_de_lote, núm_cajas, q, 4]`. Si `q` es 1, entonces se usan las mismas casillas para todas las clases; de lo contrario, si` q` es igual al número de clases, se usan casillas específicas de la clase. |
puntuaciones | Un tensor flotante tridimensional de forma '[tamaño_de_lote, núm_cajas, núm_clases] `que representa una única puntuación correspondiente a cada casilla (cada fila de casillas). |
maxOutputSizePerClass | Un tensor entero escalar que representa el número máximo de casillas que se seleccionarán mediante supresión no máxima por clase. |
maxTotalSize | Un escalar que representa el número máximo de cajas retenidas en todas las clases. |
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. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de CombinedNonMaxSuppression
pública de salida < TFloat32 > nmsedBoxes ()
Un tensor de [batch_size, max_detections, 4] float32 que contiene los cuadros no máximos suprimidos.
pública de salida < TFloat32 > nmsedClasses ()
Un tensor float32 de [batch_size, max_detections] que contiene las clases de las cajas.
pública de salida < TFloat32 > nmsedScores ()
Un tensor float32 de [batch_size, max_detections] que contiene las puntuaciones de las cajas.
public static CombinedNonMaxSuppression.Options padPerClass (booleano padPerClass)
Parámetros
padPerClass | Si es falso, las casillas, las puntuaciones y las clases con nombres de salida se rellenan / recortan a `max_total_size`. Si es verdadero, las casillas, las puntuaciones y las clases indicadas en la salida se rellenan para que tengan una longitud de `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. |
---|
pública de salida < TInt32 > validDetections ()
Un tensor int32 de [batch_size] que indica el número de detecciones válidas por artículo de lote. Solo son válidas las primeras num_detections [i] entradas en nms_boxes [i], nms_scores [i] y nms_class [i]. El resto de las entradas son rellenos de ceros.