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 suministran 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 |
Métodos públicos
estáticas CombinedNonMaxSuppression.Options | Clipboxes (Clipboxes booleanas) |
estática CombinedNonMaxSuppression | crear ( Alcance alcance, operando <> cajas de flotador, operando <> Float puntajes, operando <Integer> maxOutputSizePerClass, operando <Integer> maxTotalSize, operando <Float> iouThreshold, operando <Float> scoreThreshold, Opciones ... Opciones) Método de fábrica para crear una clase que envuelva una nueva operación CombinedNonMaxSuppression. |
Salida <Float> | nmsedBoxes () Un tensor de [batch_size, max_detections, 4] float32 que contiene los cuadros no máximos suprimidos. |
Salida <Float> | nmsedClasses () Un tensor float32 [batch_size, max_detections] que contiene las clases de las cajas. |
Salida <Float> | nmsedScores () Un tensor float32 de [batch_size, max_detections] que contiene las puntuaciones de las cajas. |
estáticas CombinedNonMaxSuppression.Options | padPerClass (Boolean padPerClass) |
Salida <Integer> | validDetections () Un tensor int32 de [batch_size] que indica el número de detecciones válidas por artículo de lote. |
Métodos heredados
Métodos públicos
estáticas pública CombinedNonMaxSuppression.Options Clipboxes (Clipboxes booleanas)
Parámetros
clipBoxes | 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. |
---|
public static CombinedNonMaxSuppression crear ( Alcance alcance, operando <> cajas de flotador, operando <> Float puntajes, operando <Integer> maxOutputSizePerClass, operando <Integer> maxTotalSize, operando <Float> iouThreshold, operando <Float> 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, se utilizan las mismas casillas para todas las clases; de lo contrario, si` q` es igual al número de clases, se utilizan casillas específicas de la clase. |
puntuaciones | Un tensor flotante 3-D 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 int32 que representa el número máximo de cajas retenidas en todas las clases. Tenga en cuenta que establecer este valor en un número grande puede provocar un error OOM según la carga de trabajo del sistema. |
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 Salida <> Float nmsedBoxes ()
Un tensor de [batch_size, max_detections, 4] float32 que contiene los cuadros no máximos suprimidos.
pública Salida <> Float nmsedClasses ()
Un tensor float32 [batch_size, max_detections] que contiene las clases de las cajas.
pública Salida <> Float 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 la 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. |
---|
pública de salida <Integer> 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 entradas num_detections [i] en nms_boxes [i], nms_scores [i] y nms_class [i]. El resto de las entradas son rellenos de ceros.