Selecciona con avidez 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 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.
Clases anidadas
clase | Opciones combinadas de NonMaxSuppression | Atributos opcionales para CombinedNonMaxSuppression |
Métodos públicos
Opciones estáticas combinadasNonMaxSuppression | clipBoxes (clipBoxes booleanos) |
Supresión estática combinada no máxima | crear ( alcance alcance , cuadros de operando <Float>, puntuaciones de operando <Float>, operando <Integer> maxOutputSizePerClass, operando <Integer> maxTotalSize, operando <Float> iouThreshold, operando <Float> scoreThreshold, opciones... opciones) Método de fábrica para crear una clase que envuelve una nueva operación CombinedNonMaxSuppression. |
Salida <Flotante> | nmsedBoxes () Un tensor float32 [batch_size, max_detections, 4] que contiene los cuadros suprimidos no máximos. |
Salida <Flotante> | clases nmsed () Un tensor float32 [batch_size, max_detections] que contiene las clases para las cajas. |
Salida <Flotante> | nmsedPuntuaciones () Un tensor float32 [batch_size, max_detections] que contiene las puntuaciones de las cajas. |
Opciones estáticas combinadasNonMaxSuppression | padPerClass (padPerClass booleano) |
Salida <Entero> | detecciones válidas () Un tensor [batch_size] int32 que indica el número de detecciones válidas por elemento de lote. |
Métodos heredados
booleano | es igual (Objeto arg0) |
Clase final<?> | obtenerclase () |
En t | código hash () |
vacío final | notificar () |
vacío final | notificar a todos () |
Cadena | Encadenar () |
vacío final | esperar (arg0 largo, int arg1) |
vacío final | espera (largo arg0) |
vacío final | esperar () |
Métodos públicos
público estático CombinedNonMaxSuppression.Options clipBoxes (clipBoxes booleanos)
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. |
---|
creación pública estática CombinedNonMaxSuppression (alcance del alcance , cuadros de operando <Float>, puntuaciones de operando <Float>, operando <Integer> maxOutputSizePerClass, operando <Integer> maxTotalSize, operando <Float> iouThreshold, operando <Float> ScoreThreshold, opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación CombinedNonMaxSuppression.
Parámetros
alcance | alcance actual |
---|---|
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 clase. |
puntuaciones | Un tensor flotante tridimensional con forma `[batch_size, num_boxes, num_classes]` que representa una puntuación única correspondiente a cada cuadro (cada fila de cuadros). |
tamaño máximo de salida por clase | Un tensor entero escalar que representa el número máximo de cajas que se seleccionarán mediante supresión no máxima por clase. |
tamañototalmax | 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 de OOM según la carga de trabajo del sistema. |
iouumbral | Un tensor flotante 0-D que representa el umbral para decidir si las cajas se superponen demasiado con respecto al pagaré. |
puntuaciónUmbral | Un tensor flotante 0-D que representa el umbral para decidir cuándo eliminar cuadros según la puntuación. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de CombinedNonMaxSuppression
Salida pública <Float> nmsedBoxes ()
Un tensor float32 [batch_size, max_detections, 4] que contiene los cuadros suprimidos no máximos.
Salida pública <Float> nmsedClasses ()
Un tensor float32 [batch_size, max_detections] que contiene las clases para las cajas.
Salida pública <Float> nmsedScores ()
Un tensor float32 [batch_size, max_detections] que contiene las puntuaciones de las cajas.
público estático CombinedNonMaxSuppression.Options padPerClass (booleano padPerClass)
Parámetros
padPorClase | Si es falso, los cuadros nmsed de salida, las puntuaciones y las clases se rellenan/recortan a `max_total_size`. Si es verdadero, los cuadros, puntuaciones y clases 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. |
---|
Salida pública <Entero> validDetections ()
Un tensor [batch_size] int32 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.