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.nonMaxSuppressionWithScoreAsync() se utiliza para ejecutar de forma asincrónica 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.nonMaxSuppressionWithScoreAsync(boxes, scores, maxOutputSize, iouThreshold?, scoreThreshold?, softNmsSigma?)
Parámetros: Este método acepta los siguientes 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 vuelve a no MaxSuppression.
Valor de retorno: Devuelve la promesa de {[nombre: string]: tf.Tensor}.
Ejemplo 1: uso de un tensor 2d, puntajes y parámetros maxOutputSize.
Javascript
// Importing the tensorflow.js library const tf = require("@tensorflow/tfjs") // Calling image.nonMaxSuppressionWithScoreAsync() method const output = tf.image.nonMaxSuppressionWithScoreAsync( tf.tensor2d([1, 2, 3, 4, 2, 4, 6, 7], [2, 4]), [1, 1], 4); // Printing output console.log(output.then((result) => console.log(result)));
Producción:
{ selectedIndices: Tensor { kept: false, isDisposedInternal: false, shape: [ 2 ], dtype: 'int32', size: 2, strides: [], dataId: { id: 2 }, id: 2, rankType: '1' }, selectedScores: Tensor { kept: false, isDisposedInternal: false, shape: [ 2 ], dtype: 'float32', size: 2, strides: [], dataId: { id: 3 }, id: 3, rankType: '1' } }
Ejemplo 2: Usar una array de flotantes, iouThreshold, scoreThreshold, así como softNmsSigma.
Javascript
// Importing the tensorflow.js library const tf = require("@tensorflow/tfjs") // Defining an array of floats const arr = [[11.1, 2.3, 7.3, 6.4], [3, 6]] // Calling image.nonMaxSuppressionWithScoreAsync() method const output = tf.image.nonMaxSuppressionWithScoreAsync( arr, [2.1, 0], 100, 0.5, 1, 0.5); // Printing output console.log(output.then((result) => console.log(result)));
Producción:
{ selectedIndices: Tensor { kept: false, isDisposedInternal: false, shape: [ 1 ], dtype: 'int32', size: 1, strides: [], dataId: { id: 2 }, id: 2, rankType: '1' }, selectedScores: Tensor { kept: false, isDisposedInternal: false, shape: [ 1 ], dtype: 'float32', size: 1, strides: [], dataId: { id: 3 }, id: 3, rankType: '1' } }
Referencia: https://js.tensorflow.org/api/latest/#image.nonMaxSuppressionWithScoreAsync
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA