Ejemplo interactivo de reconocimiento de imágenes

Aprenda a cargar y preprocesar datos, importar una red, realizar transferencia del aprendizaje y probar la red utilizando Deep Learning.

Para comenzar:

  1. Descargue el código.
  2. Abra el código en MATLAB.
  3. Siga los pasos a continuación.

¿No tiene acceso?

Duración:
15-30 minutos
Nivel:
Básico/Intermedio

¿Necesita un repaso? Pruebe un tutorial interactivo gratuito.

Paso 1

Cargue y preprocese los datos

Dado que puede utilizar conjuntos de datos de gran tamaño con Deep Learning, es importante gestionar los datos adecuadamente; no obstante, el conjunto de datos de este ejemplo es pequeño, con fines de demostración.

  • Importe los datos con imageDatastore. La función imageDatastore etiqueta automáticamente las imágenes basándose en los nombres de las carpetas.
  • Para entrenar el modelo, divida los datos en dos categorías: “entrenamiento”, para entrenar el modelo, y “prueba”, para probar cómo funciona el modelo con datos nuevos (resérvelos para el paso 4, Pruebe la red).
  • Visualice imágenes aleatorias del conjunto de datos para observar cómo aparecen los datos.
  • Haga clic en Run Section para ejecutar la sección de código.

Recuerde:

  • El elemento imageDatastore sirve como repositorio de datos a lo largo de estos pasos y para cualquier proyecto futuro de Deep Learning con imágenes.
  • Las apps basadas en imágenes pueden acelerar significativamente tareas de preprocesamiento comunes, tales como recortar, etiquetar y registrar imágenes.
Recuerde

Paso 2

Importe la red

El ejemplo utiliza GoogLeNet para importar un modelo de Deep Learning y modificarlo para transferencia del aprendizaje, pero también puede importar modelos y arquitecturas de TensorFlow, PyTorch y ONNX.

  • Importe el modelo y asegúrese de que los datos estén preparados.
  • Utilice la app Deep Network Designer para modificar el modelo de manera interactiva para una tarea nueva. Para el preprocesamiento, asegúrese de que las imágenes tienen el tamaño correcto esperado para el modelo de Deep Learning.
  • Pruebe con imágenes de muestra para ver lo que predice el modelo. Pueden producirse predicciones incorrectas si el modelo no se ha entrenado para reconocer los datos (consulte el paso 3, Realice transferencia del aprendizaje)
  • Haga clic en Run Section para ejecutar la sección de código.

Recuerde:

  • Utilice diversos modelos previamente entrenados como punto de partida para la transferencia del aprendizaje.
  • Los datos deben tener el tamaño correcto o el modelo generará un error.

Paso 3

Realice transferencia del aprendizaje

En este paso, debe modificar el modelo para que funcione con sus datos específicos. Entrenar los modelos puede requerir mucho tiempo, en función del hardware y el tamaño del conjunto de datos.

  • Prepare el modelo reemplazando la capa final totalmente conectada por una capa nueva totalmente conectada basándose en el número de categorías que tenga. En este ejemplo se utilizan 4 categorías.
  • Reemplace la capa de clasificación final para adaptarla a su tarea específica.
  • Para entrenar el modelo, haga clic en Run Section. Asegúrese de haber ejecutado el código en los pasos 1 y 2. El entrenamiento dura 60 segundos aproximadamente.

Recuerde:

  • Modifique el modelo y personalice Deep Learning para su tarea específica.
  • Utilice la app Deep Network Designer para simplificar el proceso de transferencia del aprendizaje.

Paso 4

Pruebe la red

En el último paso, debe verificar que el modelo funciona con datos nuevos. Debe clasificar los datos de prueba (reservados en el paso 1, Cargue y preprocese los datos) y calcular la precisión de la clasificación.

  • Ejecute el comando de clasificación para probar todas las imágenes del conjunto de prueba y comprobar la precisión, que en este caso es del 90%.
  • Seleccione imágenes del conjunto de prueba para visualizarlas con las etiquetas correspondientes.

Recuerde:

  • Utilice un modelo flexible que funcione con circunstancias o datos nuevos, no solo con los datos aprendidos durante el entrenamiento.
  • Para soluciones de IA más avanzadas, utilice técnicas de IA explicable para descubrir por qué un modelo predice una determinada categoría.

También puede seguir las explicaciones del vídeo a continuación:

Duración del vídeo 4:13

Consulte los enlaces a continuación para aprender más tareas de reconocimiento de imágenes o explorar Deep Learning con aplicaciones relacionadas.

Johanna Pingel

Comuníquese con Johanna, experta en Deep Learning de MathWorks