Main Content

Clasificar una imagen con una red preentrenada

Este ejemplo muestra cómo clasificar una imagen usando una red neuronal convolucional profunda preentrenada, GoogLeNet.

GoogLeNet se ha entrenado con más de un millón de imágenes y puede clasificarlas en 1000 categorías de objetos (como teclado, taza de café, lápiz y muchos animales). La red ha aprendido representaciones ricas en características para una amplia gama de imágenes. La red toma una imagen como entrada y, a continuación, emite una etiqueta para el objeto de la imagen junto con las probabilidades de cada una de las categorías de objetos.

Cargar una red preentrenada

Cargue la red preentrenada GoogLeNet. También puede cargar una red preentrenada diferente para clasificar imágenes. Este paso requiere el paquete de soporte Deep Learning Toolbox™ Model for GoogLeNet Network. Si no ha instalado los paquetes de soporte requeridos, el software proporciona un enlace de descarga.

net = googlenet;

Leer una imagen y cambiar su tamaño

El tamaño de la imagen que desea clasificar debe coincidir con el tamaño de entrada de la red. El tamaño de entrada de la red GoogLeNet es la propiedad InputSize de la capa de entrada de imagen.

Lea la imagen que desea clasificar y cambie su tamaño para que coincida con el tamaño de entrada de la red. Si cambia el tamaño, también se modificará ligeramente la relación de aspecto de la imagen.

I = imread("peppers.png");
inputSize = net.Layers(1).InputSize;
I = imresize(I,inputSize(1:2));

Clasificar y mostrar una imagen

Clasifique y muestre la imagen con la etiqueta predicha.

label = classify(net,I);
figure
imshow(I)
title(string(label))

Figure contains an axes object. The axes object with title bell pepper contains an object of type image.

Para obtener un ejemplo más detallado de cómo mostrar también las predicciones más relevantes y las probabilidades asociadas a ellas, consulte Clasificar una imagen con GoogLeNet.

En los siguientes pasos de deep learning, podrá usar la red preentrenada para otras tareas. Resuelva nuevos problemas de clasificación en los datos de imagen mediante la transferencia del aprendizaje o la extracción de características. Para ver ejemplos, consulte Empezar a usar deep learning rápidamente con la transferencia del aprendizaje y Entrenar clasificadores utilizando características extraídas de redes preentrenadas. Para probar otras redes preentrenadas, consulte Redes neuronales profundas preentrenadas.

Referencias

  1. Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke y Andrew Rabinovich. "Going deeper with convolutions". Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 1-9. 2015.

  2. BVLC GoogLeNet Model. https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet

Consulte también

| |

Temas relacionados