¿Cómo hacer reconocimiento de imágenes con los Notebooks?

¿Cómo hacer reconocimiento de imágenes con los Notebooks?

GluonCV es un conjunto de herramientas de aprendizaje profundo de código abierto para la visión artificial. GluonCV ofrece implementaciones de algoritmos de Deep Learning listas para usar en este entorno, permitiendo:

Soporta:

  • Clasificación de imágenes.

  • Detección de objetos.

  • Segmentación semántica (asociar cada píxel de una imagen con una etiqueta categórica).

  • Segmentación de instancias.

GluonCV depende de MXNet y funciona con Python 2.7 o superior.

En este ejemplo, veremos cómo podemos utilizar GluonCV desde el notebook de la plataforma para el reconocimiento de objetos de imagen, con imágenes que se proporcionan a la plataforma como parámetros.

  • Empecemos creando un Notebook y, en su primer apartado, instalamos GluonCV y MXNet:

  • Ahora importamos los modelos preentrenados que utilizaremos:

  • Y cargamos un modelo de entrada SSD con imágenes, en un conjunto de datos VOC Pascal con ResNet-50 V1 como modelo base:

Especificando pretrained=True tendremos el modelo descargado (Puedes encontrar más modelos entrenados).

  • Para probar que funciona, utilizaré una de las imágenes de ejemplo de GluonCV.

Primero descargo la imagen, luego la preproceso, redimensionándola a 512x512 píxeles.

La función devuelve dos resultados: Primero, un NDArray con la forma (batch_size, RGB_channels, height, width) que podemos pasar al modelo; segundo, un array con la imagen en formato numpy, para poder visualizarla.

  • Y finalmente realizamos la inferencia y la visualización:

La función devuelve todas las cajas contenedoras detectadas con sus IDs de clase y confianza de predicción.

  • Ahora ampliaremos el cuaderno para proporcionarle, como parámetro, la imagen sobre la que queremos que se haga el reconocimiento. Para ello, creamos un nuevo apartado para pasar la URL como parámetro.

Primero creo un z.input para almacenar el parámetro:

Entonces uso esta imagen: