Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático, así como redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.
La función .image.nonMaxSuppressionWithScore() se utiliza para ejecutar la supresión no máxima de los cuadros de limitación sobre la base de iou, es decir, la intersección sobre la unión. Además, esta operación también favorece un modo Soft-NMS en el que los recuadros disminuyen la puntuación establecida de diferentes recuadros que se cruzan, admitiendo así varias áreas de la imagen además de puntuaciones altas. Para habilitar el modo Soft-NMS mencionado anteriormente, debemos configurar el parámetro softNmsSigma para que sea mayor que cero.
Sintaxis:
tf.image.nonMaxSuppressionWithScore(boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?)
Parámetros:
- boxes: El tensor 2d indicado, que es de configuración [numBoxes, 4]. Y todo acceso es [y1, x1, y2, x2], permitiendo que (y1, x1) e (y2, x2) sean los bordes de la caja restrictiva. Puede ser de tipo tf.Tensor2D, TypedArray o Array.
- puntuaciones: El tensor 1d indicado, siempre que las puntuaciones de las cajas tengan la configuración [numBoxes]. Es de tipo tf.Tensor2D, TypedArray o Array.
- maxOutputSize: Es el recuento máximo de las cajas indicadas que se van a recoger. Es de tipo número.
- iouThreshold: Es el flotador indicado que significa el umbral para decidir si las casillas indicadas se cruzan demasiado con referencia al pagaré. Debe estar en medio de [0, 1]. El valor predeterminado es 0,5, es decir, el 50 por ciento de la caja se cruza. Es opcional y es de tipo número.
- scoreThreshold: Es el umbral establecido para decidir en qué momento se deben eliminar las casillas en función de la puntuación establecida. El valor predeterminado es -inf, es decir, se permiten todas las puntuaciones. Es opcional y es de tipo número.
- softNmsSigma: Es un parámetro opcional de tipo número. Es el flotador indicado que significa el parámetro sigma a favor de Soft NMS . Además, si sigma es cero, entonces regresa a nonMaxSuppression .
Valor devuelto: Devuelve {[nombre: string]: tf.Tensor}.
Ejemplo 1: En este ejemplo, usaremos un tensor 2d, puntajes y parámetros maxOutputSize.
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Calling image.nonMaxSuppressionWithScore() method const output = tf.image.nonMaxSuppressionWithScore( tf.tensor2d([1, 2, 3, 4, 2, 4, 6, 7], [2, 4]), [1, 1], 4 ); // Printing output console.log(output);
Producción:
{ "selectedIndices": { "kept": false, "isDisposedInternal": false, "shape": [ 2 ], "dtype": "int32", "size": 2, "strides": [], "dataId": { "id": 74 }, "id": 74, "rankType": "1", "scopeId": 35 }, "selectedScores": { "kept": false, "isDisposedInternal": false, "shape": [ 2 ], "dtype": "float32", "size": 2, "strides": [], "dataId": { "id": 75 }, "id": 75, "rankType": "1", "scopeId": 35 } }
Ejemplo 2: En este ejemplo, usaremos una array de flotantes, iouThreshold, scoreThreshold, así como softNmsSigma.
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Defining an array of floats const arr = [[11.1, 2.3, 7.3, 6.4], [3, 6]] // Calling image.nonMaxSuppressionWithScore() method const res = tf.image.nonMaxSuppressionWithScore( arr, [2.1, 0], 100, 0.5, 1, 0.5); // Printing output console.log(res);
Producción:
{ "selectedIndices": { "kept": false, "isDisposedInternal": false, "shape": [ 1 ], "dtype": "int32", "size": 1, "strides": [], "dataId": { "id": 84 }, "id": 84, "rankType": "1", "scopeId": 42 }, "selectedScores": { "kept": false, "isDisposedInternal": false, "shape": [ 1 ], "dtype": "float32", "size": 1, "strides": [], "dataId": { "id": 85 }, "id": 85, "rankType": "1", "scopeId": 42 } }
Referencia: https://js.tensorflow.org/api/latest/#image.nonMaxSuppressionWithScore
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA