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 gran superposición de intersección sobre unión (IOU) con las cajas previamente seleccionadas. Los cuadros delimitadores se proporcionan como [y1, x1, y2, x2], donde (y1, x1) e (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 absoluta. Tenga en cuenta que este algoritmo es independiente de dónde se encuentra el origen en el sistema de coordenadas. También tenga en cuenta que este algoritmo es invariable a las transformaciones y traslaciones ortogonales 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 es el tensor final de cuadros, puntuaciones y clases devuelto después de realizar non_max_suppression.
Clases anidadas
clase | CombinedNonMaxSuppression.Options | Atributos opcionales para CombinedNonMaxSuppression |
Métodos públicos
static CombinedNonMaxSuppression.Options | clipsBoxes (clipBoxes booleanos) |
Supresión no máxima combinada estática | crear ( ámbito de ámbito, Operando <Flotante> cuadros, Operando <Flotante> puntuaciones, 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> | cajas nmsed () Un tensor de [batch_size, max_detections, 4] float32 que contiene las cajas suprimidas no máx. |
Salida <Flotante> | clases nmsed () Un tensor float32 [batch_size, max_detections] que contiene las clases para las cajas. |
Salida <Flotante> | puntuaciones nmsed () Un tensor float32 [batch_size, max_detections] que contiene las puntuaciones de las cajas. |
static CombinedNonMaxSuppression.Options | padPerClass (booleano padPerClass) |
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
Métodos públicos
public static CombinedNonMaxSuppression.Options clipBoxes (Boolean clipBoxes)
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 emita las coordenadas del cuadro tal como están. |
---|
public static CombinedNonMaxSuppression create ( Ámbito de ámbito, Operando <Flotante> cuadros, Operando <Flotante> puntuaciones, 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, 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 clase. |
puntuaciones | Un tensor flotante tridimensional de forma `[tamaño_lote, número_cajas, número_clases]` que representa una sola puntuación correspondiente a cada caja (cada fila de cajas). |
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 generar un error 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 IOU. |
puntuación Umbral | Un tensor flotante 0-D que representa el umbral para decidir cuándo eliminar casillas en función de la puntuación. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de CombinedNonMaxSuppression
Salida pública <Flotante> nmsedBoxes ()
Un tensor de [batch_size, max_detections, 4] float32 que contiene las cajas suprimidas no máx.
salida pública <flotante> nmsedClasses ()
Un tensor float32 [batch_size, max_detections] que contiene las clases para las cajas.
Salida pública <Flotante> nmsedScores ()
Un tensor float32 [batch_size, max_detections] que contiene las puntuaciones de las cajas.
public static CombinedNonMaxSuppression.Options padPerClass (Boolean padPerClass)
Parámetros
padPerClass | Si es falso, los cuadros de salida nmsed, las puntuaciones y las clases se rellenan/recortan a `max_total_size`. Si es verdadero, los cuadros, puntajes y clases de salida nmsed se rellenan para tener 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. |
---|
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 cero rellenos.